diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 5f5ed47af29..ac97a3f372f 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -1,13 +1,21 @@ name: Static Analysis on: [push, pull_request] + +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}} + cancel-in-progress: true + jobs: python-linting: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - name: set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v2 with: python-version: 3.8 @@ -18,3 +26,6 @@ jobs: - name: Run flake8 to verify PEP8-compliance of Python code run: flake8 + + - name: Run flake8 to verify PEP8-compliance of Easyconfigs + run: flake8 --select F,W605 --filename '*.eb' diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 252a6a166b0..82cf7cacef9 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -1,22 +1,24 @@ name: easyconfigs unit tests on: [push, pull_request] + +permissions: + contents: read # to fetch code (actions/checkout) + +concurrency: + group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}} + cancel-in-progress: true + jobs: test-suite: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: - python: [2.7, 3.5, 3.6, 3.7] - modules_tool: [Lmod-6.6.3, Lmod-7.8.22, Lmod-8.1.14] + python: [3.6, '3.11'] + modules_tool: [Lmod-7.8.22, Lmod-8.6.8] module_syntax: [Lua, Tcl] - # exclude some configurations: only test Tcl module syntax with Lmod 7.x and Python 2.7 & 3.5 + # exclude some configurations: only test Tcl module syntax with Lmod 8.x and Python 3.6 exclude: - - modules_tool: Lmod-6.6.3 - module_syntax: Tcl - - modules_tool: Lmod-8.1.14 - module_syntax: Tcl - - python: 3.6 - module_syntax: Tcl - - python: 3.7 + - modules_tool: Lmod-7.8.22 module_syntax: Tcl fail-fast: false steps: @@ -32,7 +34,7 @@ jobs: key: eb-sourcepath - name: set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: ${{matrix.python}} architecture: x64 @@ -121,7 +123,8 @@ jobs: eb --show-system-info # run test suite - python -O -m test.easyconfigs.suite + # if tests failed, print error message that is picked up by boegelbot to determine end of test output + python -O -m test.easyconfigs.suite || (echo "ERROR: Not all tests were successful" && exit 1) unset PYTHONPATH @@ -144,24 +147,20 @@ jobs: eb --search '^foss-2019b.eb' | tee eb_search_foss.out grep '/foss-2019b.eb$' eb_search_foss.out - # make sure CVS easyconfigs are included in installation (cfr. issue #10325) - echo "Searching for CVS easyconfigs..." - eb --search '^CVS-' | grep '/CVS-' - # try installing M4 with system toolchain (requires ConfigureMake easyblock + easyconfig) # use /tmp/sources because that has cached downloads (see cache step above) eb --prefix /tmp/$USER/$GITHUB_SHA --sourcepath /tmp/sources M4-1.4.18.eb test-sdist: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: - python: [2.7, 3.6, 3.7] + python: [3.6, '3.11'] steps: - uses: actions/checkout@v2 - name: set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: ${{matrix.python}} @@ -181,12 +180,3 @@ jobs: else echo "No .git folders found in source tarball: OK" fi - - # CVS easyconfigs must be included in source tarball, - # see https://github.com/easybuilders/easybuild-easyconfigs/issues/10325 - cvs_easyconfigs=$(find . -name 'CVS-*.eb') - if [ -z "$cvs_easyconfigs" ]; then - echo "CVS easyconfigs not found" && false - else - echo "Found CVS easyconfigs: $cvs_easyconfigs" - fi diff --git a/.gitignore b/.gitignore index 32e6a7345c4..c2974194435 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,17 @@ .pydevproject .project LICENSE_HEADER +*.eb.bak_* *.pyc *.pyo *.nja +*.out build/ dist/ *egg-info/ +.venv/ *.swp *.ropeproject/ eb-*.log /MANIFEST +/easybuild/easyconfigs/.eb-path-index diff --git a/README.rst b/README.rst index cb4636846ac..b1a8f61b44b 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,10 @@ -.. image:: https://github.com/easybuilders/easybuild-easyconfigs/workflows/easyconfigs%20unit%20tests/badge.svg - -.. image:: https://easybuilders.github.io/easybuild/images/easybuild_logo_small.png +.. image:: https://github.com/easybuilders/easybuild/raw/develop/logo/png/easybuild_logo_2022_horizontal_dark_bg_transparent.png :align: center + :height: 400px + +.. image:: https://github.com/easybuilders/easybuild-easyconfigs/workflows/easyconfigs%20unit%20tests/badge.svg -`EasyBuild `_ is a software build +`EasyBuild `_ is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. @@ -13,7 +14,7 @@ Easyconfig files are used to specify which software to build, which version of the software (and its dependencies), which build parameters to use (e.g., which compiler toolchain to use), etc. -The EasyBuild documentation is available at http://easybuild.readthedocs.org/. +The EasyBuild documentation is available at http://docs.easybuild.io/. The easybuild-easyconfigs package is hosted on GitHub, along with an issue tracker for bug reports and feature requests, see diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 7dfcc97840b..af2e74ae887 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -3,8 +3,1892 @@ 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 12,607 easyconfig files, for 2,388 different software packages, -incl. 36 different (compiler) toolchains. +The latest version of easybuild-easyconfig provides 20,670 easyconfig files, for 3,670 different software packages, +incl. 41 different (compiler) toolchains. + + +v4.9.4 (22 September 2024) +-------------------------- + +update/bugfix release + +- added example easyconfig files for 14 new software packages: + - Biotite (#21026), chopper (#21418), CLUMPP (#21329), cramino (#21382), dub (#21378), ESM3 (#21026), GOMC (#21008), + MOKIT (#21352), nanoQC (#21371), phasius (#21389), PyBullet (#21356), rnamotif (#21336), versioningit (#21424), + xskillscore (#21351) +- added additional easyconfigs for various supported software packages, including: + - awscli 2.17.54, BiG-SCAPE-1.1.9, ccache 4.10.2, CLHEP 2.4.7.1, CREST 3.0.2, decona 1.4-2024073, dftd4 3.7.0, + GATE 9.4, Gdk-Pixbuf 2.42.11, Geant4 11.2.2, Geant4-data 11.2, Ghostscript 10.03.1, GitPython 3.1.43, + GObject-Introspection 1.80.1, HarfBuzz 9.0.0, ImageMagick 7.1.1-38, JasPer 4.2.4, joypy 0.2.6, Julia 1.10.4, + LDC 1.39.0, Leptonica 1.84.1, Markdown 3.7, MPICH 4.2.2, NanoComp 1.24.0, nanoget 1.19.3, nanomath 1.4.0, + NanoPlot 1.43.0, Pango 1.54.0, PCAngsd 1.2, Pillow 10.4.0, python-isal 1.7.0, pocl 6.0, PROJ 9.4.1, protobuf 28.0, + protobuf-python 5.28.0, R-tesseract 5.2.1, RepeatMasker 4.1.7-p1, RHEIA 1.1.11, RMBlast 2.14.1, + scikit-build-core 0.10.6, sleuth 0.30.1, SNAP-ESA 10.0.0, tesseract 5.3.4, Triton 2.1.0, TurboVNC 3.1.2, + VirtualGL 3.1.1, zlib-ng 2.2.1 +- minor enhancements, including: + - enable support for Apache ORC to Arrow v14.0.1 and v16.1.0 (#21056) + - use proper dependency for tensorboard in easyconfigs for TensorFlow v2.15.1 (#21337) +- various bug fixes, including: + - account for crates for easyconfigs using Cargo-based easyblock when determining checksums for patches in easyconfigs test suite (#21419) + - avoid missing symbol in mclust extension of R-4.0.3 w/ foss/2020b (#21429) + - fix build of librosa 0.10.1 in some environments by removing "python -m build" for soxr extension (#21434) + - fix repeated sanity check runs in manta easyconfigs (#21435) + - fix test_easyconfig_locations when easyconfigs index is present (#21394) + - use proper dependency for libnsl in git-annex (#21441) + - avoid writing into ~/.stack directory during build for git-annex (#21452) +- other changes: + - remove exts_default_options from TensorFlow 2.3.1 (#21290) + + +v4.9.3 (14 September 2024) +-------------------------- + +update/bugfix release + +- added easyconfigs for foss/2024a (#21100) and intel/2024a (#21101) common toolchains +- new toolchain: gmpflf/2024.06 (#20882) +- added example easyconfig files for 107 new software packages: + - absl-py (#21039), accelerate (#21107), affogato (#20636), APOST3D (#21133), bayesian-optimization (#21301), + BayesOpt (#21261), BGEN-enkre (#15752), bitsandbytes (#21248), bliss (#21206), cfgrib (#21113), CLANS (#21099), + colorize (#20964), CORSIKA (#20693), COSTA (#20989), coxeter (#21254), Critic2 (#20833), crypt4gh (#20870), + dblatex (#21207), dictys (#21166), DL_POLY_Classic_GUI (#20819), EGA-QuickView (#20870, #20888), EMMAX (#21174), + empanada-dl (#20454), empanada-napari (#20454), ESIpy (#21006), fastfilters (#21003), fish (#21345, #21381), + flash-attention (#21083), Flax (#21039), fonttools (#21363), fsm-lite (#20503), GDMA (#21171), GeoDict (#20650), + GPflow (#21172), gtk-doc (#21207), Gubbins (#20413), Gymnasium (#20420), HERRO (#21252), IEntropy (#20808), + ilastik-napari (#21003), IMAGE (#20994), junos-eznc (#21166), jupyter-collaboration (#20741), + jupyter-vscode-proxy (#20876), langchain-mistralai (#20759), langchain-openai (#20711), LRBinner (#21310), + lrcalc (#21339), MAGIC (#20900), mallard-ducktype (#21127), MATES (#21229), MBX (#21155), mcqd (#21283), + MeshLab (#20806), meteogrid (#20921), micro-sam (#20636), miniprot (#21157), napari-denoiseg (#20934), + NECAT (#21359), nellie (#21267), NextPolish (#21265), nifty (#20636), ome-types (#21256), openai-python (#20711), + OpenForceField-Toolkit (#20852), orjson (#20880), PEcAn (#21227), PretextMap (#20790), PyBEL (#20953), + pyMBE (#21034), pystencils (#20889), python-blosc (#20636), python-elf (#20636), rankwidth (#20788), Rasqal (#21207), + Redland (#21227), Regenie (#15752), rMATS-long (#20916), Sagemath (#21365), scCustomize (#20907), SCENICplus (#21085), + scFEA (#20777), sdsl-lite (#20503), SharedMeatAxe (#21303), Single-cell-python-bundle (#20116), SIRIUS (#20989), + sirocco (#21304), SKA2 (#20411), SpFFT (#20989), spla (#11607), Stable-Baselines3 (#20884), submitit (#21103), + SVDSS2 (#20855), tdlib (#21305), torch-em (#20636), Umpire (#20989), Uni-Core (#21182), vigra (#20636), + Visit (#20981), weblogo (#20800), wradlib (#21110), xtb-IFF (#20783), yell (#20964), yelp-tools (#21127), + yelp-xsl (#21127), z5py (#20636), Zoltan (#21324) +- added additional easyconfigs for various supported software packages, including: + - AGAT 1.4.0, ASE 3.23.0, Abseil 20240722.0, Albumentations 1.4.0, AlphaPulldown 2.0.0b4, AlphaPulldown 2.0.0b4, + AmberTools 26.3, Arrow 16.1.0, alsa-lib 1.2.11, archspec 0.2.4, attr 2.5.2, BayesTraits 4.1.2, BeautifulSoup 4.12.3, + Biopython 1.84, Boost.MPI 1.83.0, bcl-convert 4.2.7-2, beagle-lib 4.0.1, biom-format 2.1.16, byacc 2.0.20240109, + CDO 2.3.0, CFITSIO 4.4.1, CUDA-Samples 12.2, CUDA 12.5.0 + 12.6.0, CUTLASS 3.4.0, Catch2 2.13.10, CellOracle 0.18.0, + Clang 18.1.8, Coreutils 9.5, chewBBACA 3.3.9, code-server 4.90.2, connected-components-3d 3.14.1, cooler 0.10.2, + cryptography 42.0.8, cutadapt 4.9, cyvcf2 0.31.1, dorado 0.7.3, dtcmp 1.1.5, ESMF 8.6.1, EvidentialGene 2023.07.15, + Extrae 4.2.0, ecBuild 3.8.5, elfutils 0.191, FFmpeg 7.0.2, FLAC 1.4.3, FUSE 3.16.2, Flask 3.0.3, Flye 2.9.4, + FriBidi 1.0.15, ffnvcodec 12.2.72.0, flatbuffers-python 24.3.25, flatbuffers 24.3.25, fmt 10.2.1, fpylll 0.6.1, + GCC 14.2.0, GDAL 3.9.0, GEOS 3.12.1, GHC 9.10.1, GLM 1.0.1, GLib 2.80.4, GLibmm 2.72.1 + 2.75.0 + 2.77.0 + 2.78.1, + GPAW 24.6.0, GetOrganelle 1.7.7.1, Guile 2.0.14 + 3.0.10, Gurobi 11.0.2, gap 4.13.0, genomepy 0.16.1, gensim 4.3.2, + gffutils 0.13, gh 2.52.0, git-annex 10.20240731, gmpy2 2.2.0, googletest 1.15.2, graph-tool 2.59, HDBSCAN 0.8.38.post1, + HOMER 4.11.1, HTSeq 2.0.7, HiCMatrix 17.2, Highway 1.2.0, Hypre 2.31.0, hatchling 1.24.2, histolab 0.7.0, + hypothesis 6.103.1, IQ-TREE 2.3.5, ImageMagick 7.1.1-34, Imath 3.1.11, IsoQuant 3.5.0, igraph 0.10.12, imageio 2.34.1, + imbalanced-learn 0.12.3, inferCNV 1.21.0, intervaltree 0.1, JsonCpp 1.9.5, Julia 1.10.4, jax 0.4.25, json-fortran 8.5.2, + Kent_tools 468, LLVM 18.1.8, LittleCMS 2.16, libdrm 2.4.122, libdwarf 0.10.1, libedit 20240517, libgeotiff 1.7.3, + libgit2 1.8.1, libopus 1.5.2, libsigc++ 3.6.0, libspatialindex 2.0.0, libunistring 1.2, libunwind 1.8.1, libwebp 1.4.0, + libxslt 1.1.42, libzip 1.10.1, lwgrp 1.0.6, lxml 5.3.0, MCR R2024a, MPICH 4.2.1, MUMPS 5.7.2, MariaDB 11.6.0, + Maven 3.9.7, Mercurial 6.8.1, Mesa 24.1.3, Miniconda3 23.10.0-1, MultiQC 1.22.3, makedepend 1.0.9, matplotlib 3.9.2, + maturin 1.6.0, medaka 1.12.1, meshio 5.3.5, meson-python 0.16.0, mm-common 1.0.6, NanoCaller 3.6.0, Normaliz 3.10.3, + n2v 0.3.3, nano 8.1, ncbi-vdb 3.1.1, nettle 3.10, nsync 1.29.2, numexpr 2.9.0, ORCA 6.0.0, OpenEXR 3.2.4, OpenFOAM 12, + OpenFOAM v2406, OpenJPEG 2.5.2, Optax 0.2.2, Optuna 3.6.1, PaStiX 6.3.2, Perl-bundle-CPAN 5.38.2, Pillow-SIMD 10.4.0, + Pint 0.24, Platypus-Opt 1.2.0, PostgreSQL 16.4, PyAEDT 0.9.9, PyCharm 2024.1.6, PyRosetta 4.release-384, + PyWavelets 1.7.0, PyYAML 6.0.2, Pygments 2.18.0, Pylint 3.2.5, Pyomo 6.7.3, Python-bundle-PyPI 2024.06, packmol 20.14.4, + pagmo 2.19.0, parallel 20240722, pixman 0.43.4, pod5-file-format 0.3.10, poetry 1.8.3, popt 1.19, pretty-yaml 24.7.0, + primecount 7.14, psycopg 3.2.1, pyGenomeTracks 3.9, pybind11 2.12.0, pycocotools 2.0.7, pydantic 2.7.4, pygmo 2.19.5, + pyperf 2.7.0, pyseer 1.3.12, pysteps 1.10.0, QuantumESPRESSO 7.3.1, Qwt 6.3.0, R-bundle-CRAN 2024.06, R 4.4.1, + RDKit 2024.03.3, RapidJSON 1.1.0-20240409, Ray-project 2.9.1, ReFrame 4.6.2, Rust 1.79.0, redis-py 5.0.9, + regionmask 0.12.1, rjags 4-15, rpmrebuild 2.18, SDL2 2.30.6, SHAP 0.43.0, SIP 6.8.3, SRA-Toolkit 3.1.1, + STAR 2.7.11b_alpha_2024-02-09, STRUMPACK 7.1.0, SVDSS2 2.0.0-alpha.3, Safetensors 0.4.3, Salmon 1.10.3, + SciPy-bundle 2024.05, SeqKit 2.8.2, SingleM 0.16.0, Sphinx-RTD-Theme 2.0.0, Stack 3.1.1, SuiteSparse 7.7.0, + SuperLU 6.0.1, SuperLU_DIST 8.2.1, scArches 0.6.1, scib-metrics 0.5.1, scvi-tools 1.1.2, sdsl-lite 2.0.3, + setuptools-rust 1.9.0, sirocco 2.1.0, slepc4py 3.20.2, smafa 0.8.0, snpEff 5.2c, spaCy 3.7.4, spektral 1.2.0, + spglib-python 2.5.0, spglib 2.5.0, TELEMAC-MASCARET 8p5r0, Tk 8.6.14, Tkinter 3.12.3, Trycycler 0.5.5, tiktoken 0.7.0, + timm 1.0.8, UCX-CUDA 1.16.0, unixODBC 2.3.12, utf8proc 2.9.0, VSEARCH 2.28.1, virtualenv 20.26.2, WRF 4.5.1, + Wayland 1.23.0, X11 20240607, XGBoost 2.1.1, XML-LibXML 2.0210, x264 20240513, x265 3.6, xarray 2024.5.0, xtb-IFF 1.1, + xtb 6.7.1, xtensor 0.24.7, yelp-xsl 42.1 +- minor enhancements, including: + - add internal CUDA header patch for PSM2 v12.0.1 (#20804) + - add patch for JupyterHub support to recent tensorboard easyconfigs (#20823) + - make sure that recent ImageMagick versions pick up the right pkgconf + improve sanity check for ImageMagick (#20900) + - also install utilities for recent versions of FUSE 3.x (#20918) + - add RISC-V support to x264 v20231019 (#20968) + - add RISC-v support to recent LAME easyconfigs by removing workaround for finding libncurses (#20970) + - enable PIC in recent x265 easyconfigs to solve compilation errors on RISC-V (#20971) + - add extensions to R-bundle-CRAN: missmDA (#21167, #21183). insight (#21260), performance + datwizard + bayestestR (#21272, #21285) + - add Qt support to VTK 9.3.0 (#21221) + - add `helper_scripts` to `$PATH` in easyconfig for ProteinMPNN v1.0.1-20230627 (#21289) + - also build & install the plugins with OpenFOAM v2406 (#21332) +- various bug fixes, including: + - fix easyconfigs for recent versions of QuantumESPRESSO (#20070) + - add wrapper for Julia with linking safeguards and delegate environment setup to JuliaPackage (#20103) + - fix typo in description of SuiteSparse v7.7.0 (#20567) + - add 'pic' flag to IML (#20789) + - add patch to recent SciPy-bundle easyconfigs to fix build error with numpy with some Fortran compilers (#20817) + - rename unpacked sources for components of EasyBuild v4.9.2, to ensure that '`--install-latest-eb-release`' works with older EasyBuild versions (#20818) + - fix build of OpenBLAS 0.3.24 on A64FX (#20820) + - remove maturin build dependency from langchain-antropic (#20825) + - add GMP and MPFR as dependencies to OpenFOAM v2306 and v2312 (#20841) + - add patch to SciPy-bundle 2024.05 that fixes numpy test failures on RISC-V (#20847) + - skip unreliable memory leak test in PyTorch 2.1.2 (#20874) + - use PyYAML 6.0.1 instead of 6.0 for recent ReFrame versions to fix problem with Cython 3.x (#20879) + - use PyPI source tarball and gfbf/2023a toolchain for pyBigWig (#20881) + - add fix for failing test on zen4 to Highway 1.0.4 (#20942) + - add patch to fix implicit function declaration in OpenMPI 4.1.4 (#20949) + - only use libxsmm as dependency for CP2K 2023.1 w/ `foss/2023a` on x86_64 (#20951) + - copy missing `rsem_perl_utils.pm` in DETONATE, since it's required by `rsem-eval-calculate-score` command (#20956) + - set `$SATSUMA2_PATH` so Satsuma2 can locate executables (#20957) + - disable auto-vectorizer (`-ftree-vectorize`) for OpenFOAM v10 + v11 when using toolchain that with GCC >= 11 (#20958) + - disable test step for WIEN2k 23.2 because files required by it can no longer be downloaded (#20969) + - add patch to fix Qt6 issues with ParaView v5.12.0, e.g. representation selection (#21002) + - update homepage in phonopy easyconfigs (#21014) + - make libunwind dependency architecture specific in Extrae 4.2.0 easyconfig (#21017) + - add `OPENSSL_ENABLE_SHA1_SIGNATURES` for building `ansys-pythonnet` (#21028) + - fix download URLs for old Intel software (2018-2023) by using `IRC_NAS` instead of `irc_nas` (#21108) + - update source and homepage URLs in Szip easyconfigs (#21129) + - rename source URL in HDF v4.2.16-2 easyconfig (#21130) + - consistently fix homeage + source URL for `HDF` + `h4toh5` (#21134) + - ensure that recent BioPerl easyconfigs use `Bundle` easyblock (#21136) + - fix checksum checks for easyconfigs using a `Bundle`-like easyblock in easyconfigs test suite (#21143) + - add pkgconf build dependency to scikit-misc v0.3.1 (#21144) + - explicitly disable use of MySQL in recent GDAL easyconfigs (#21156) + - fix easyconfig tensorflow-probability v0.20.0 to pass `pip check` (#21172) + - stop RStudio-Server 2023.09 from installing R packages (+ move to `foss/2023a` toolchain) (#21175) + - remove `Time::HiRes` from `Perl-bundle-CPAN` since there's newer version in `Perl` (#21198) + - fix build of STAR 2.7.11a + 2.7.11b on non-x86 architectures by avoiding use of `-maxv2` + add missing `xxd` build dependency (#21200) + - add missing cairo dependency for python-igraph v0.10.6 (#21211) + - add patch for xtb 6.7.0 to fix build failure due to changes in tblite (#21255) + - add patch for HDF5 v1.14.3 to suppress fp exceptions (#21280) + - update easyconfig for dorado 0.7.3 to properly use provided OpenSSL dependency, and not install external libraries into its own lib directory (#21297) + - use proper Python dependency for OTF2 (#21325) + - use source tarballs from GitHub for recent libdap easyconfigs (#21334) + - remove Highway build dependency in Brunsli easyconfigs, since it's not actually required at all (#21366) + - add alternative checksum for bold 1.3.0 extension in R-bundle-CRAN (#21370) +- other changes: + - archive outdated example easyconfigs for Fujitsu toolchain (#20781) + - upgrade rpmrebuild build dependency to version 2.18 in bcl-convert 4.2.7 easyconfig (#20861) + - use proper dependency for Safetensors in easyconfig for Transformers v4.39.3 (#20864) + - remove CMake Arrow flag as there is no Arrow dependency in recent GDAL easyconfigs (#20905) + - whitelist `ConfigureMakePythonPackage` for `sanity_check_paths` CI check (#20963) + - rename `gubbins-2.4.0.eb` to `Gubbins-2.4.0.eb` (#20995) + - make pytest v7.4.2 independent of Python-bundle-PyPI (#21004) + - reorganize Flax/JAX stack in 2023a: move `jax` + `Optax` to `gfbf/2023a` toolchain + use standalone `Flax` + `absl-py` as dependencies (#21038) + - use stand-alone absl-py as dependency for jax w/ `gfbf/2023a` (#21039) + - remove Cython dependency from Python-bundle-PyPI 2024.06 + add standalone easyconfig for Cython 3.0.10 (#21233) + - add Cython build dependency for SciPy-bundle v2024.05 (#21235) + - use top-level parameters for `use_pip` & co instead of `exts_default_options` for `PythonBundle` easyconfigs (#21292) + + +v4.9.2 (12 June 2024) +--------------------- + +update/bugfix release + +- added easyconfigs for foss/2024.05 toolchain (candidate for foss/2024a) (#20646) +- added example easyconfig files for 82 new software packages: + - AEDT (#20357), amdahl (#20346), AMGX (#20255), assembly-stats (#20281), Bio-FeatureIO (#20461), + bitshuffle (#20661), Cassiopeia (#20289), CCCL (#20255), charm-gems (#20327), CheckM2 (#20399), + chromVARmotifs (#20402), cmph (#20278), COMEBin (#20717), Compass (#20500), ctffind5 (#20669), currentNe (#20791), + CVX (#20231), deepfold (#20247), dotNET-Core (#20256), EasyMocap (#20446), ensmallen (#20485), EVcouplings (#20744), + Faiss (#19669), FDMNES (#20321), gnupg-bundle (#20406), grpcio (#20191), hatch-jupyter-builder (#20606), + hevea (#20597), HiGHS (#20186), hmmcopy_utils (#20472), HOMER (#20590), ICON (#20573), jiter (#20746), + LangChain (#20746), langchain-anthropic (#20746), libabigail (#20539), libbraiding (#20655), libhomfly (#20482), + libsupermesh (#20470), LIBSVM-MATLAB (#20752), Lightning (#19964), lil-aretomo (#20696), makefun (#20619), + MetalWalls (#20403), MICOM (#20186), ml-collections (#20247), ml_dtypes (#20707), mlpack (#20485), MOFA2 (#20538), + mumott (#20719), nvitop (#20512), ocamlbuild (#20552), optiSLang (#20320), orthAgogue (#20278), pdf2docx (#20416), + planarity (#20753), plantri (#20467), plmc (#20744), PortAudio (#20307), premailer (#20348), ProteinMPNN (#20705), + PRRTE (#20698), PSM2 (#20496), PyAEDT (#20357), pybind11-stubgen (#20518), PyEXR (#19983), pyGAM (#20385), + PyHMMER (#20544), pyseer (#20502), PyVista (#20649), qmflows (#20384), SciTools-Iris (#20767), SCReadCounts (#20455), + SDL2_gfx (#20466), subunit (#20412), TF-COMB (#20666), tiktoken (#20336), TorchIO (#20648), t-SNE-CUDA (#19669), + VAMPIRE-ASM (#20368), wfdb (#20521), WGDgc (#20367) +- added additional easyconfigs for various supported software packages, including: + - 4ti2 1.6.10, AFNI 24.0.02, Autoconf 2.72, Autotools 20231222, adjustText 1.1.1, aiohttp 3.9.5, alevin-fry 0.9.0, + alsa-lib 1.2.9, atropos 1.1.32, autopep8 2.2.0, BCFtools 1.19, BLIS 1.0, BWA 0.7.18, Boost 1.85.0, bcrypt 4.1.3, + binutils 2.42, bokeh 3.4.1, CGAL 5.6.1, CREST 3.0.1, CellRanger-ARC 2.0.2, CellRanger 8.0.1, CellRank 2.0.2, + Clang 17.0.6, CoCoALib 0.99850, Cython 3.0.10, cURL 8.7.1, cffi 1.16.0, code-server 4.89.1, + configurable-http-proxy 4.6.1, coverage 7.4.4, cpio 2.15, cppyy 3.1.2, cysignals 1.11.4, Doxygen 1.11.0, + dask-labextension 7.0.0, dask 2024.5.1, deal.II 9.5.2, dorado 0.5.3, dotNET-Core 8.0.203, E-ANTIC 2.0.2, + ECL 24.5.10, ESPResSo 4.2.2, eclib 20240408, expat 2.6.2, FLTK 1.3.9, FMM3D 1.0.4, FlexiBLAS 3.4.4, f90wrap 0.2.13, + fgbio 2.2.1, fontconfig 2.15.0, freetype-py 2.4.0, GAMESS-US 20220930-R2 + 20230930-R2, GCC 13.3.0 + 14.1.0, + GDB 14.2, GDRCopy 2.4.1, GOATOOLS 1.4.5, GTDB-Tk 2.4.0, Giza 1.4.1, gc 8.2.6, gcloud 472.0.0, gemmi 0.6.5, + gettext 0.22.5, giac 1.9.0-99, git 2.45.1, gmsh 4.12.2, gsutil 5.29, HDDM 0.9.9, HTSlib 1.19.1, HyPhy 2.5.60, + h5py 3.11.0, hwloc 2.10.0, ICU 75.1, IOR 4.0.0, imagecodecs 2024.1.1, imgaug 0.4.1, ipympl 0.9.4, + Jupyter-bundle 20240522, JupyterHub 4.1.5, JupyterLab 4.2.0, JupyterNotebook 7.2.0, jupyter-matlab-proxy 0.12.2, + jupyter-resource-usage 1.0.2, jupyter-rsession-proxy 2.2.0, jupyter-server-proxy 4.1.2, jupyter-server 2.14.0, + Kalign 3.4.0, KrakenUniq 1.0.4, kallisto 0.50.1, LAPACK 3.12.0, libarchive 3.7.4, libde265 1.0.15, libdeflate 1.20, + libdwarf 0.9.2, libfabric 1.21.0, libffi 3.4.5, libgcrypt 1.10.3, libgpg-error 1.48, libheif 1.17.6, libidn2 2.3.7, + libnsl 2.0.1, libpciaccess 0.18.1, libpng 1.6.43, libuv 1.48.0, libxml2 2.12.7, line_profiler 4.1.2, MATSim 15.0, + MDTraj 1.9.9, Mako 1.3.5, Meson 1.4.0, MetaMorpheus 1.0.5, Molpro 2024.1.0, MuJoCo 3.1.4, matlab-proxy 0.18.1, + mold 2.31.0, mpmath 1.3.0, NASM 2.16.03, NanoPlot 1.42.0, Nextflow 24.04.2, Ninja 1.12.1, nanoget 1.19.1, + napari 0.4.19.post1, nauty 2.8.8, ncurses 6.5, nghttp2 1.58.0, nghttp3 1.3.0, nglview 3.1.2, ngtcp2 1.2.0, + nodejs 20.13.1, numactl 2.0.18, nvtop 3.1.0, OCaml 5.1.1, OSU-Micro-Benchmarks 7.4, OpenBLAS 0.3.27, OpenMPI 5.0.3, + PARI-GP 2.15.5, PCRE2 10.43, PMIx 5.0.2, Perl 5.38.2, PhyML 3.3.20220408, PnetCDF 1.13.0, PyAMG 5.1.0, + PyQtGraph 0.13.7, PyTorch-Geometric 2.5.0, PyTorch-bundle 2.1.2, PycURL 7.45.3, Pysam 0.22.0, Python 3.12.3, + p11-kit 0.25.3, p4est 2.8.6, parallel 20240322, pauvre 0.2.3, petsc4py 3.20.3, pkgconf 2.2.0, plc 3.10, polars 0.20.2, + poppler 24.04.0, psutil 5.9.8, py3Dmol 2.1.0, pybedtools 0.9.1, pygame 2.5.2, pyiron 0.5.1, pyro-ppl 1.9.0, + python-mujoco 3.1.4, ROOT 6.30.06, RPostgreSQL 0.7-6, RStudio-Server 2023.12.1+402, Rtree 1.2.0, Rust 1.78.0, + SAMtools 1.19.2, SCOTCH 7.0.4, SDL2_image 2.8.2, SDL2_mixer 2.8.0, SDL2_ttf 2.22.0, SQLite 3.45.3, SWIG 4.2.1, + SentencePiece 0.2.0, Seurat 5.1.0, SeuratDisk 20231104, SimNIBS 4.0.1, Singular 4.4.0, Spack 0.21.2, Squidpy 1.4.1, + SymEngine-python 0.11.0, SymEngine 0.11.2, sbt 1.6.2, scikit-build-core 0.9.3, scikit-learn 1.4.2, TOBIAS 0.16.1, + Tcl 8.6.14, TensorFlow 2.15.1, Transformers 4.39.3, texlive 20230313, tmux 3.4, tokenizers 0.15.2, 0.2.5.20231120, + tornado 6.4, UCC 1.3.0, UCX 1.16.0, util-linux 2.40, VSCode 1.88.1, Valgrind 3.23.0, VisPy 0.14.1, wget 1.24.5, + XZ 5.4.5, xorg-macros 1.20.1, xprop 1.2.7, xtb 6.7.0, xxd 9.1.0307, yaml-cpp 0.8.0, zarr 2.17.1, zfp 1.0.1, + zlib-ng 2.1.6, zlib 1.3.1, zstd 1.5.6 +- minor enhancements, including: + - add missing (optional) dependency pyproject-metadata to scikit-build-core (#20391) + - add hatch-requirements-txt extension to hatchling easyconfigs (#20389) + - install pkg-config files for ncurses 6.4 when using GCCcore toolchain (#20405) + - use regular 'configure' instead of wrapper script for recent UCX easyconfigs (#20428) + - add RISC-V support to UCX 1.15.0 (#20429), UCC 1.2.0 (#20432), BLIS 0.9.0 (#20468), PAPI 7.1.0 (20659) + - add extensions to R-bundle-CRAN v2023.12: cmna (#20445), rhandsontable (#20614), XBRL (#20506) + - add checksum for RISC-V version to easyconfig for Java 21.0.2 (#20495) + - remove 'TORCHVISION_INCLUDE' from PyTorch-bundle easyconfigs, now handled by custom easyblock for torchvision (#20504) + - add dependencies required for GUI in Cellpose 2.2.2 easyconfigs (#20620) + - add 'build_info_msg' about kernel modules to GDRCopy (#20641) + - build both static and shared libs for Brotli 1.1.0 (#20757) +- various bug fixes, including: + - add missing dependencies for funannotate (#17690) + - fix path to SuiteSparse include/lib in easyconfig for CVXopt v1.3.1 (#20232) + - fix Highway 1.0.3 on some systems by disabling 'AVX3_DL' (#20298) + - replace incorrect scikit-bio 0.5.9 with scikit-bio 0.6.0 as dependency for scCODA (#20300) + - add alternate checksum to OpenMolcas v23.06 (#20301) + - change arrow-R dependency of Bioconductor v3.18 to v14.0.1 (which depends on required matching Arrow v14.0.1) (#20324) + - fix hardcoded '/bin/mv' path in Rhdf5lib extension included in R-bundle-Bioconductor v3.16 + v3.18 (#20378) + - remove dependency on HDF5 in recent Bioconductor easyconfigs (#20379) + - make sure that libjpeg-turbo libraries are installed in 'lib' subdirectory (#20386) + - add patch for Libint 2.7.2 to fix compiler error with glibc >= 2.34 (#20396) + - use 'bash' rather than 'sh' to run PLINK-2.00a3.7 tests (#20404) + - add patch to fix 'UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY' error in OpenMPI 4.1.5 (#20422) + - add patch to increase compatibility with AVX512 platforms for bwa-mem2 v2.2.1 (#20434) + - add patch for GROMACS 2024.1 to fix filesystem race in tests (#20439) + - demote poetry to build dependency for nanocompore (#20453) + - add patch to fix CVE-2024-27322 in R v3.6.x (#20464), v4.0.x (#20463), and v4.1.x + v4.2.x + v4.3.x (#20462) + - disable test that fetches from the web for torchtext extension in PyTorch-bundle v2.1.2 (#20484) + - fix sanity check paths for JupyterLab 4.0.5 (#20514) + - fix detection of CC/CXX compilers for 'wmake' in OpenFOAM v2306 + v2312 (#20517) + - use the included gmxapi for GROMACS 2024.1 (#20522) + - add new checksum for signal_1.8-0 to R-bundle-CRAN-2023.12 (#20527) + - fix test in Cwd extension of Perl-bundle-CPAN 5.36.1 (#20536) + - fix patch name in easyconfig for Perl-bundle-CPAN 5.36.1 + add also use it for Perl-bundle-CPAN 5.38.0 (#20540) + - fix cwd_enoent test in Perl (#20541) + - move dependency on BeasutifulSoup in IPython v8.14.0 to jupyter-server (#20547) + - remove dependency on BeasutifulSoup from IPython v8.17.2 (#20548) + - add alternative checksum for source tarball of MONAI 1.3.0 (#20618) + - add cpio as build dependency to recent BLAST+ versions (#20674) + - add --disable-htmlpages to recent FFmpeg easyconfigs (#20686) + - remove duplicate crates from easyconfig for timm-0.9.7 (#20687) + - add missing HDF5 dependency in recent Armadillo easyconfigs (>= 11.4.3) (#20710) + - add patches for failing LAPACK tests and RISC-V test segfaults to OpenBLAS 0.3.27 (#20745) + - move all easyconfigs for libavif to GCCcore toolchain + fix dependencies (#20747) + - make sure mummerplot can use gnuplot if available for recent MUMmer (#20749) + - prevent configure script of recent BLAST+ versions from prepending system paths to $PATH (#20751) + - fix fastparquet v2023.4.0 using CargoPythonBundle easyblock (#20775) + - remove --with-64 from configopts for recent BLAST+ versions (#20784) + - add patch to fix build of pdsh 2.34 with Slurm 23.x (#20795) +- other changes: + - move 'build' from extensions to dependencies in easyconfig for napari 0.4.18 (#20433) + - update version of fsspec extension in easyconfig for Squidpy 1.4.1 to be compatible with s3fs provided via PyTorch-bundle (#20477) + - add commented out PSM2 dependency, relevant for x86_64 systems with OmniPath, to recent libfabric easyconfigs (#20501, #20585, #20794) + - replace SQLAlchemy extension with regular dependency in easyconfig for Optuna v3.5.0 (#20510) + - replace SQLAlchemy extension in JupyterHub v4.0.2 easyconfig with regular dependency (#20511) + - bump Cython to v3.0.8 in Cartopy v0.22.0 easyconfig for foss/2023a toolchain, to avoid dependency version conflict with sckit-learn v1.4.2, which requires Cython >= v3.0.8 (#20525) + - change dependency on hatchling of BeautifulSoup v4.12.2 to a build dependency (#20546) + - bump async-timeout to 4.0.3 in aiohttp 3.8.5 (#20553) + - stick to gfbf/2023a as toolchain for ipympl v0.9.3 (#20586) + - rename tornado-timeouts.patch to tornado-6.1_increase-default-timeouts.patch + add missing authorship (#20587) + - remove easyconfigs for CellBender v0.3.1, since this version has been redacted due to a serious bug (#20722) + + +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) +------------------------- + +feature release + +- added easyconfigs for foss/2023b (#19449) and intel/2023b (#19450) common toolchains +- added example easyconfig files for 77 new software packages: + - AICSImageIO (#19315), ANTIC (#19203), BiasAdjustCXX (#19341), BOPTEST (#19295), BRiAl (#19208), castor (#19176), + CellBender (#19296), cliquer (#19210, #19323), CPMD (#19387), cppyy (#19204), CUDD (#19208), datalad (#18675), + Demystify (#17990), dftd4 (#19223), dialog (#17696), DIA-NN (#19454), dynesty (#19091), ebGSEA (#19447), + ECL (#19211), eclib (#19209), epct (#19298), EUKulele (#19217), FACE (#14840), fastml (#19357), forbear (#14840), + fplll (#19371), fpylll (#19371), ftfy (#19353), Gdspy (#19458), GFF3-toolkit (#19071), giac (#19323), GMP-ECM (#19323), + HepMC (#19139), hic-straw (#19309), HPCC (#18892), iced (#19309), IML (#19201), iperf (#19259), jedi (#19269), + jedi-language-server (#19269), jupyter-rsession-proxy (#19311), lcalc (#19329), libaed2 (#14840), + LoopTools (#19397), m4ri (#19208), m4rie (#19208), MDI (#19417), mdust (#19106), MitoHiFi (#19263), MPFI (#19323), + multicharge (#19221), OMERO.insight (#19337), OMERO.py (#19338), PFFT (#19255), primecount (#19370), + primecountpy (#19370), PyAV (#19359), pycubescd (#19302), pylipid (#19428), PySINDy (#19306), + pythermalcomfort (#19285), PyTorchVideo (#19359), R-bundle-CRAN (#19170), Restrander (#19232), scikit-lego (#19064), + scrublet (#19215), SEACells (#18724), simanneal (#19347), Simstrat (#14840), solo (#19216), SPEI (#19441), + SUPPA (#19181, #19275), SYMMETRICA (#19328), Triton (#19381), vaeda (#19214), VSCode (#19418), waLBerla (#18932) +- added additional easyconfigs for various supported software packages, including: + - ANTs 2.5.0, Arriba 2.4.0, Arrow 14.0.1, at-spi2-core 2.50.0, Autoconf-archive 2023.02.20, awscli 2.15.2, + Blender 3.6.5 + 4.0.1, Boost 1.83.0, boto3 1.28.70, Bracken 2.9, BUStools 0.43.1, cairo 1.18.0, cairomm 1.16.2, + CASTEP 23.1, cddlib 0.94m, cdo-bindings 1.6.0, CellRanger 7.2.0, CoCoALib 0.99818, COMSOL 6.2.0.290, Coreutils 9.1, + cryptography 41.0.5, CubeLib 4.8.2, CubeWriter 4.8.2, CUDA 12.3.0, CVXPY 1.3.0, cysignals 1.11.2, DBus 1.15.8, + dftd4 3.4.0, E-ANTIC 1.3.0, elfutils 0.190, f90wrap 0.2.11, FastQC 0.12.1, Ferret 7.6.0, FFLAS-FFPACK 2.5.0, + ffnvcodec 12.1.14.0, FPM 1.15.1, FriBidi 1.0.13, gap 4.12.2, git-lfs 3.4.0, GitPython 3.1.40, Givaro 4.2.0, + GLib 2.78.1, glog 0.6.0, GObject-Introspection 1.78.1, gperftools 2.13, GPyTorch 1.10, GROMACS 2023.3, + HarfBuzz 8.2.2, HiC-Pro 3.1.0, hifiasm 0.19.7, hypothesis 6.90.0, ICU 74.1, imageio 2.33.1, imkl 2024.0.0, + impi 2021.11.0, intel-compilers 2024.0.0, IPython 8.17.2, ITK 5.3.0, Kent_tools 457, KyotoCabinet 1.2.80, + LHAPDF 6.5.4, libfdf 0.5.0, libjxl 0.8.2, LinBox 1.7.0, lrslib 7.2, lxml 4.9.3, magma 2.7.2, maturin 1.3.1, + MEME 5.5.4, meson-python 0.15.0, Miniconda3 23.9.0, Mmg 5.7.2, Molden 7.3, mrcfile 1.4.3, nanoflann 1.5.0, + nauty 2.8.6, Nextflow 23.10.0, nodejs 20.9.0, Normaliz 3.10.1, NSS 3.94, NWChem 7.2.2, Oases 20180312, Pango 1.51.0, + Parallel-Hashmap 1.36, parameterized 0.9.0, phonopy 2.20.0, pigz 2.8, pmt 1.2.0, poetry 1.6.1, PostgreSQL 16.1, + pplpy 0.8.9, PyCairo 1.25.1, pypmt 1.2.0, PyQt5 5.15.7, pytest 7.4.2, pytest-xdist 3.3.1, + Python-bundle-PyPI 2023.10, PyTorch 2.1.2, R 4.3.2, RASPA2 2.0.47, SBCL 2.3.11, SCENIC 1.3.0, scikit-image 0.22.0, + SciPy-bundle 2023.11, SDL2 2.28.5, setuptools-rust 1.8.0, Seurat 4.4.0, SimpleITK 2.3.1, Singular 4.3.2p10, + Spark 3.5.0, STAR 2.7.11a, STAR-CCM+ 2310, strace 6.6, SuiteSparse 7.1.0, tbb 2021.11.0, TOML-Fortran 0.4.1, + TRAVIS-Analyzer 220729, UCX-CUDA 1.15.0, VirSorter 1.0.6, virtualenv 20.24.6, VSEARCH 2.25.0, VTK 9.3.0, + wandb 0.16.1, XGBoost 2.0.2, xprop 1.2.6, xtb 6.6.1, Xvfb 21.1.9, xxd 9.0.2112 +- minor enhancements, including: + - add sanity check commands for recent GDB versions (#19102) + - add aarch64 and ppc64le checksums to NVHPC 23.7 (#19249) + - allow Python version of Z3 to be used as a dependency (#19354) +- various bug fixes, including: + - use `CargoPythonBundle` generic easyblock for timm to install required Rust packages in a controlled way (#18332) + - add alternate checksum for OpenImageIO v2.4.14.0 (#19090) + - only set flag `--enable-asmjit` for PLUMED when installing on `x86_64` (#19110) + - ensure right Python version is used in DP3, WSClean and dependencies by specifying `-DPython3_EXECUTABLE` CMake option (#19119) + - add patch to work around potential crash in PyTorch 1.13.1 caused by GCC 12 compiler bug (#19133) + - add patch to fix detection of newer Intel CPUs in OpenBLAS 0.3.20 through 0.3.23 (#19141) + - remove outdated `--disable-docs` configure option from FriBidi-1.0.12 (#19147) + - add libiconv dependency to gettext 0.22 (#19155) + - fix OpenBLAS 0.3.20+ on newer Intel CPUs (#19159) + - only use ScaFaCos as dependency for LAMMPS 23Jun2022 on `x86_64` (#19164) + - add patch to fix regression in GCC 12.x on AVX512 systems (#19180) + - add pkgconf build dependency to libGLU (#19186) + - sidestep some build issues with CUDA-Samples 12.1 (#19189) + - make Pillow easyconfigs aware of sysroot template (#19226, #19267) + - fix possible error/crash in NCCL on x86 due to cpuid (#19231) + - reduce timestep to fix sanity check commands in LAMMPS 23Jun2022 (#19246) + - add patch for GCC 12.x to fix miscompiling C++ code causing double-free in case of exceptions (#19253) + - replace format tag with explicit extension name in Optuna v3.0.3 (#19256) + - enhance easyconfigs for gnuplot 5.4.x to make sure that Lua dependency is always used (#19261) + - patch setup.py for grpcio extension in TensorFlow 2.13.0 easyconfigs to take into account alternate sysroot (#19268) + - avoid indirect dependency on old CMake version built with GCCcore/10.2.0 via Catch2 build dependency using system toolchain in recent pybind11 easyconfigs (#19270) + - use existing patch in pybind11 2.6.2 and 2.7.1 to fix failing test due to extra whitespace (#19279) + - change toolchain in `json-fortran` easyconfigs to `GCC`, since it includes Fortran modules (#19283) + - remove Unicode character in description of SMRT-Link easyconfigs (#19312) + - don't use `%(namelower)s` template in extension name in IPython v8.14.0 easyconfig (#19330) + - add patch to fix `[cz]asums` in OpenBLAS 0.3.24 (#19331) + - fix failing tokenizers with `CargoPythonPackage` easyblock (#19333) + - define `$GTKDOCIZE` as '`echo`' before generating configure script for new HarfBuzz versions (#19339) + - fix PAPI test step hanging on some systems (#19372) + - compile LERC test binary in `postinstallcmds` to fix sanity check error when RPATH linking is enabled (#19386) + - use `GCC` toolchain in `kim-api`, since it includes Fortran modules (#19399, #19401, #19402, #19403, #19404, #19405) + - fix wrong handling of floats in z3-solver (#19414) + - Fix numpy build on Sapphire Rapids CPUs in SciPy-bundle-2023.07-gfbf-2023a (#19419, #19425) + - allow ITK legacy code and Python wrappers in ITK v5.2.1 (#19431) + - link to xxHash library provided via EasyBuild in python-xxhash v3.2.0 (#19432) + - include MPFR 4.1.0 patch in MPFR 4.2.0 easyconfigs to fix failing tsprintf test with glibc >= 2.37 (#19438) + - skip `Test::Sys::Info` test that expects `/etc/fstab` in Perl-bundle-CPAN (#19440) + - exclude `cdp*` CUDA samples that fail to build on aarch64 in CUDA-Samples v12.1 (#19451) +- other changes: + - let SuiteSparse easyblock set `CMAKE_OPTIONS` for SuiteSparse v7.1.0 (#19177) + - add versionsuffix `-param` to easyconfig for ReaxFF 2.0 (#19307) + - use `LooseVersion` from `easybuild.tools` (#19376) + + +v4.8.2 (29 October 2023) +------------------------ + +update/bugfix release +- added example easyconfig files for 48 new software packages: + - ALL (#18971), anadama2 (#18688), AOFlagger (#19010), bases2fastq (#18866), BgeeCall (#18784), + biobakery-workflows (#18688), BMTK (#18863), CIRIquant (#18815), Clair3 (#18748), CLEAR (#16357), + cpio (#14728), DP3 (#19010), EveryBeam (#19010), fasta-reader (#18936), git-annex (#18673), GSD (#6453), + imutils (#18920), Jblob (#18478), Jmol (#18988), kneaddata (#18688), libbaseencode (#12319), + libcotp (#12319), MACS3 (#18354), Mashtree (#19019), mpath (#5029), MUSCLE3 (#18287), plotutils (#16196), + ProBiS (#18830), PyMC (#10399), PyPy (#18847), PyTensor (#18928), Qt6 (#18683), QuickTree (#19019), + Raptor (#18919), RCall (#18933), ResistanceGA (#18933), scCODA (#18949), scikit-build-core (#18777), + segmentation-models-pytorch (#18930), SNAP-ESA (#19031), SNAP-ESA-python (#19031), starparser (#18965), + synapseclient (#19016), uncertainties (#18923), WSClean (#19010), XBeach (#18849), XOOPIC (#15269), + zeus-mcmc (#19033) +- added additional easyconfigs for various supported software packages, including: + - alleleCount 4.3.0, Amber 22.4, ant 1.10.14, ArviZ 0.16.1, ASAP3 3.13.2, biobambam2 2.0.185, BLAST+ 2.14.1, + bokeh 3.2.2, Brotli 1.1.0, Cantera 3.0.0, CapnProto 1.0.1, casacore 3.5.0, Catch2 2.13.9, CGAL 5.6, + Chemaxon-Marvin 23.9, CMake 3.27.6, code-server 4.16.1, Coot 0.9.8.92, CSBDeep 0.7.4, CUDA-Samples 12.1.1, + CuPy 12.1.0, cURL 8.3.0, dask 2023.9.2, DL_POLY_4 5.1.0, DoubletFinder 2.0.3-20230131, Doxygen 1.9.8, dxpy 0.345.0, + EDirect 20.5.20231006, FastANI 1.34, FastME 2.1.6.3, Flask 2.3.3, Flye 2.9.2, fmt 10.1.0, foss/2023.09, + freetype 2.13.2, GDAL 3.7.1, GDRCopy 2.4, git 2.42.0, GMP 6.3.0, Go 1.21.1, googletest 1.14.0, GPAW 23.9.1, + groff 1.23.0, GTDB-Tk 2.3.2, GTK4 4.13.1, gzip 1.13, harmony 0.1.0, HDF 4.2.16, HighFive 2.7.1, Highway 1.0.7, + HMMER 3.4, hmmlearn 0.3.0, Imath 3.1.9, Inspector 2023.2.0, intel/2023.07, IsoSeq 4.0.0, itac 2021.10.0, + JupyterNotebook 7.0.3, libarchive 3.7.2, libcint 5.4.0, libdeflate 1.19, libdrm 2.4.117, libglvnd 1.7.0, + libjpeg-turbo 3.0.1, libmaus2 2.0.813, libpng 1.6.40, libsigc++ 2.12.1, libsodium 1.0.19, LibTIFF 4.6.0, + libwebp 1.3.2, libxc 6.2.2, line_profiler 4.1.1, LMDB 0.9.31, MAFFT 7.520, makeinfo 7.1, MATLAB 2023b, + MEGAN 6.25.3, Mesa 23.1.9, Meson 1.2.3, mold 2.3.1, MPFR 4.2.1, msgpack-c 6.0.0, nanopolish 0.14.0, + NBO 7.0.10, netcdf4-python 1.6.4, OpenBLAS 0.3.24, OpenCV 4.8.1, OpenEXR 3.2.0, OpenMolcas 23.06, OpenMPI 4.1.6, + openslide-python 1.3.1, OrthoFinder 2.5.5, OSU-Micro-Benchmarks 7.2, ParaView 5.11.2, Perl-bundle-CPAN 5.38.0, + PETSc 3.19.2, PMIx 4.2.6, poppler 23.09.0, preCICE 2.5.0, pretty-yaml 23.9.5, PyCairo 1.25.0, pyEGA3 5.0.2, + PyGObject 3.46.0, pygraphviz 1.11, pytest-rerunfailures 12.0, Python 3.11.5, PyTorch 2.0.1, PyTorch-bundle 1.13.1, + PyTorch-Ignite 0.4.12, PyYAML 6.0.1, RagTag 2.1.0, rapidcsv 8.62, rasterstats 0.19.0, RAxML-NG 1.2.0, + RDFlib 7.0.0, RDKit 2023.03.3, ReFrame 4.3.3, RMBlast 2.14.0, ruamel.yaml 0.17.32, Rust 1.73.0, scikit-learn 1.3.1, + SCons 4.5.2, SHAP 0.42.1, SignalP 6.0h, SMRT-Link 12.0.0.177059, spglib-python 2.1.0, SQLite 3.43.1, + TensorRT 8.6.1, texlive 20230313, Tkinter 3.11.5, UCX 1.15.0, VBZ-Compression 1.0.3, VCFtools 0.1.16, + VTune 2023.2.0, X11 20231019, x264 20231019, xarray 2023.9.0, XlsxWriter 3.1.3, xtb 6.6.0, ZeroMQ 4.3.5 +- minor enhancements, including: + - also run easyconfigs test suite with Python 3.11 (#18009) + - don't disable building of third and fourth derivates in libxc 6.1.0 (#18467) + - add easyconfigs cache file to `.gitignore` (#18797) + - add patch to improve CUDA 11 compatibility of `GCCcore/12.2.0` and `GCCcore/12.3.0` (#18854) + - also build Python bindings for ITK 5.2.1 with `foss/2022a` (#18922) + - add ridge extension to R 4.2.2 (#18924) + - add MSstatsLiP (#19009)and escape (#19027) to Bioconductor 3.16 bundle + - add patches to build Qt5 5.15.10 with Python 3 instead of Python 2.7 (#19045) +- various bug fixes, including: + - rename ACT to Artemis (#18382) + - backport lchown patch to PMIx 3.1.x + 3.2.x (#18759) + - also copy scripts directory for Clair3 (#18783) + - rename isoseq3 after download for IsoSeq 3.8.2 + fix permissions (#18785) + - add missing required extensions + fix wrong version of extensions in recent Perl easyconfigs (#18789) + - add patch for OpenBLAS 0.3.23 to fix hanging tests (#18790) + - add patch to fix Open MPI 4.1.5 with PMIx >= 4.2.3 (#18833) + - fix permission issues when copying xvfb-run script in Xvfb easyconfigs (#18834) + - statically link Boost 1.75 in Cufflinks v20190706 installed with `GCC/11.2.0`, so Boost can be changed to build dependency (#18843) + - add missing required PyPy dependency for Clair3, also copy preprocess and shared subdirectories, and enhance sanity check for provided libclair3 Python package (#18847) + - add patch to fix build of util-linux 2.39 on CentOS 7 (#18855) + - add patch to fix finding of tk.tcl for Tk 8.6.13 (#18864) + - add patch to fix issue with automatic detection of NeoverseV1 CPU architecture in OpenBLAS v0.3.20 (#18870) + - fix source URL for segemehl 0.3.4 (#18878) + - avoid use of hardcoded paths for Pillow by using `--disable-platform-guessing` option (#18881) + - add patch to disable flaky DDRGES3 LAPACK test in OpenBLAS 0.3.23 + 0.3.24 (#18887) + - add alternate checksum for NCCL v2.18.3 (#18906) + - add missing dependencies for MONAI to support extras required by MONAI-Label (#18921) + - make sure Python dependency included for ESPResSo is actually used by specifying `-DPYTHON_EXECUTABLE` (#18963) + - only add tbb as dependency in recent LAMMPS easyconfigs when installing on x86_64 (#19000) + - detect the correct Python for vcflib (#19001) + - fix invalid pointer access in UCX 1.11-1.14 (#19023) + - disable threadedmpi in recent SCOTCH easyconfigs using gompi toolchain (#19024) + - add missing GSL dependency for casacore 3.4.0 (#19042) + - fix pybind11 incompatibility with some CUDA versions and add Catch2 dependency for tests (#19047) + - enable `-fPIC` in easyconfig for libwebp 1.3.2 (#19098) +- other changes: + - remove 'cstd': 'c++17' as that's the default in GCC 11 (#18941, #18942, #18943, #18944, #18945, #18946) + - rename CVS to ConcurrentVersionsSystem, to avoid problems with recent setuptools versions (#18985) + - use sysroot template in wget easyconfigs to define PKG_CONFIG_PATH (#19080) + + +v4.8.1 (11 September 2023) +-------------------------- + +update/bugfix release + +- added example easyconfig files for 83 new software packages: + - ALAMODE (#18733), AMRFinderPlus (#18559), Ax (#68), bcrypt (#18208), bench (#18656), BgeeDB (#18743), + Boost.Python-NumPy (#18505), CatBoost (#18591), centerline (#18273), cffi (#7105), ChIPseeker (#18662), + connected-components-3d (#18289), cryptography (#8495), CVglasso (#18657), DiffBind (#18663), drmaa-python (#18614), + e3nn (#18304), flit (#18208), GAPPadder (#18692), GenerativeModels (#18451), geosphere (#18659), gffutils (#18331), + gkmSVM (#18660), hampel (#18409), hatchling (#18208), HDF-EOS2 (#18297), Hybpiper (#18414), inih (#18516), + IsoformSwitchAnalyzeR (#18664), IsoQuant (#18331), Jupyter-bundle (#18634), JupyterNotebook (#18735, #18735), + leafcutter (#18615), libleidenalg (#18548), LIBSVM-Python (#18455), libvori (#18379), maturin (#18405), + meboot (#18658), mgen (#18402), Mikado (#18614), NanoCaller (#18726), nbclassic (#18617), ncolor (#7146), + nose3 (#18234), novaSTA (#18601), Omnipose (#18402), Optax (#18610), paramiko (#1504), Parsl (#18408), + peakdetect (#18402), PICRUSt2 (#18333, #18459), Platypus-Opt (#18291), PortMidi (#18252), pv (#16439), + py-c3d (#18409), pygame (#18252), pyodbc (#18334), Python-bundle-PyPI (#18208), qforce (#18456), + RFdiffusion (#18304), Rhodium (#18291), ruptures (#18306), Sabre (#18342), scGSVA (#18401), scib-metrics (#18734), + scikit-plot (#18377), SDL2_mixer (#18252), SDL2_ttf (#18252), segment-anything (#18290), sentinelsat (#18367), + setuptools-rust (#18208), slurm-drmaa (#18614), SuAVE-biomat (#18678), T-Coffee (#17916), + tensorflow-compression (#18676), torchvf (#18637), tornado (#18511), tseriesEntropy (#18661), TXR (#18665), + unifdef (#18427), UniFrac (#18407), virtualenv (#2660), WFA2 (#18636) +- added additional easyconfigs for various supported software packages, including: + - ABINIT 9.10.3, Advisor 2023.2.0, aiohttp 3.8.5, AMD-uProf 4.1.424, Anaconda3 2023.07-2, anndata 0.9.2, + APR 1.7.4, APR-util 1.6.3, Arcade-Learning-Envionment 0.8.1, archspec 0.2.1, Armadillo 12.6.2, arpack-ng 3.9.0, + assimp 5.2.5, BAGEL 1.2.2, bam-readcount 1.0.1, Bazel 6.3.1, BCFtools 1.18, BeautifulSoup 4.12.2, BEDTools 2.31.0, + biom-format 2.1.15, bokeh 3.2.1, Boost 1.82.0, cairo 1.17.8, c-ares 1.19.1, ccache 4.8.3, CDO 2.2.2, CFITSIO 4.3.0, + Cgl 0.60.7, CharLS 2.4.2, cicero 1.3.8, Clang 16.0.6, Clp 1.17.8, Cluster-Buster 20200507, CoinUtils 2.11.9, + conan 1.60.2, configurable-http-proxy 4.5.5, coverage 7.2.7, CP2K 2023.1, CubeLib 4.8.1, CubeWriter 4.8.1, + CUDA 12.2.2, dask 2023.7.1, dcm2niix 1.0.20230411, Delly 1.1.6, dill 0.3.7, ecBuild 3.8.0, ecCodes 2.31.0, + ELPA 2023.05.001, exiv2 0.28.0, expecttest 0.1.5, fastparquet 2023.4.0, FFmpeg 6.0, ffnvcodec 12.0.16.0, + flatbuffers 23.5.26, flatbuffers-python 23.5.26, FreeSurfer 7.4.1, fsom 20151117, gc 8.2.4, GCC 13.2.0, GDB 13.2, + GEOS 3.12.0, gettext 0.22, GHC 9.2.2, Ghostscript 10.01.2, GLib 2.77.1, gmpy2 2.1.5, gnuplot 5.4.8, + GObject-Introspection 1.76.1, gperftools 2.12, Graphviz 8.1.0, gRPC 1.57.0, GST-plugins-base 1.22.5, + GStreamer 1.22.5, GTK3 3.24.37, GTK4 4.11.3, h4toh5 2.2.5, h5netcdf 1.2.0, h5py 3.9.0, hiredis 1.2.0, + Horovod 0.28.1, htop 3.2.2, HTSlib 1.18, hwloc 2.9.2, Hydra 1.3.2, hypothesis 6.82.0, Hypre 2.29.0, ICU 73.2, + igraph 0.10.6, iimkl/2023a, imageio 2.31.1, ImageMagick 7.1.1-15, inferCNV 1.14.2, IPython 8.14.0, ISL 0.26, + Julia 1.9.3, JupyterLab 4.0.5, jupyter-resource-usage 1.0.0, kma 1.4.12a, KMC 3.2.2, leidenalg 0.10.1, + libdrm 2.4.115, libdwarf 0.7.0, libfabric 1.19.0, libgit2 1.7.1, libGLU 9.0.3, libsndfile 1.2.2, libwpe 1.14.1, + libxml2 2.11.5, LittleCMS 2.15, LLVM 16.0.6, Lua 5.4.6, MACS2 2.2.9.1, magma 2.7.1, mahotas 1.4.13, makeinfo 7.0.3, + Mamba 23.1.0, matplotlib 3.7.2, medaka 1.8.1 + 1.9.1, Mercurial 6.4.5, Mesa 23.1.4, meson-python 0.13.2, + Miniconda3 23.5.2, Monocle3 1.3.1, MPC 1.3.1, MRtrix 3.0.4, MUMPS 5.6.1, MXNet 1.9.1, napari 0.4.18, ncdu 1.18, + netCDF 4.9.2, netCDF-Fortran 4.6.1, nettle 3.9.1, networkx 3.1, nodejs 18.17.1, nsync 1.26.0, NVHPC 23.7, + OpenAI-Gym 0.26.2, OpenCV 4.8.0, OpenFOAM 11, OpenImageIO 2.4.14.0, Osi 0.108.8, OTF2 3.0.3, Pango 1.50.14, + PAPI 7.0.1, parallel 20230722, Perl 5.38.0, Pillow 10.0.0, Pillow-SIMD 9.5.0, Pint 0.22, pkgconf 2.0.3, + plotly.py 5.16.0, PLUMED 2.9.0, pocl 4.0, poetry 1.5.1, protobuf 24.0, protobuf-python 4.24.0, psutil 5.9.5, + PuLP 2.7.0, pyBigWig 0.3.22, pybind11 2.11.1, PyCairo 1.24.0, PyGObject 3.44.1, Pylint 2.17.4, pyproj 3.6.0, + pyro-ppl 1.8.4, python-igraph 0.10.6, PyZMQ 25.1.1, QIIME2 2023.5.1, Qt5 5.15.10, QuantumESPRESSO 7.2, + rclone 1.63.1, RE2 2023-08-01, re2c 3.1, RegTools 1.0.0, RnBeads 2.14.0, RTG-Tools 3.12.1, SAMtools 1.18, + Scalene 1.5.26, scikit-build 0.17.6, scikit-image 0.21.0, SciPy-bundle 2023.07, Score-P 8.1, SCOTCH 7.0.3, + SDL2 2.28.2, SDL2_image 2.6.3, setuptools 64.0.3, SeuratWrappers 20221022, snakemake 7.32.3, SpaceRanger 2.1.0, + SpiecEasi 1.1.1, Stack 2.11.1, STAR 2.7.11a, SUNDIALS 6.6.0, SWIG 4.1.1, sympy 1.12, tabixpp 1.1.2, tbb 2021.10.0, + tbl2asn 20230713, tcsh 6.24.10, TensorFlow 2.13.0, tensorflow-probability 0.19.0, Tk 8.6.13, Tkinter 3.11.3, + tqdm 4.66.1, unixODBC 2.3.11, Valgrind 3.21.0, vcflib 1.0.9, VirtualGL 3.1, VisPy 0.12.2, Wayland 1.22.0, + WebKitGTK+ 2.40.4, wpebackend-fdo 1.14.1, wxPython 4.2.1, Xvfb 21.1.8, xxd 9.0.1696, XZ 5.4.4, Yambo 5.1.2, + Z3 4.12.2, zarr 2.16.0 +- minor enhancements, including: + - add extensions to recent R-bundle-Bioconductors easyconfigs: UCell (#18281), decoupleR (#18399, #18552), RnBeads (#18682) + - add extensions to recent R easyconfigs: tabletools (#18510), flextables (#18719) + - add test for easyconfig file permissions (#18647) + - simplify build and install options for Ghostscript (#18750) +- various bug fixes, including: + - set `$JULIA_DEPOT_PATH` in Julia easyconfigs with default value (#17976) + - remove superflous dependencies from Horovod easyconfig on top of PyTorch (#18262) + - disable building documentation for libsigc++ 2.10.x (#18301) + - use MCR dependency in FreeSurfer 7.3.2 and 7.4.0 (#18303) + - add `hpctestlib` to the `$PYTHONPATH` in ReFrame 4.2.0 easyconfig (#18320) + - fix installation of Python bindings for recent Arrow easyconfigs by adding `--no-build-isolation` to `pip install` command (#18348, #18432, #18440, #18441) + - add/fix patches for PyTorch 1.13.1 w/ foss/2022a (#18371) + - add missing nbclassic extension to jupyter-server 1.21.0 (#18389) + - Fix batchspawner for JupyterHub 3.0 (#18390) + - fix compiler flags and toolchain options for ScaLAPACK 2.1.0 + 2.2.0 (#18396, #18397) + - add patch to fix CUDA race condition problem for Score-P v8.0 (#18411) + - add `-DABSL_PROPAGATE_CXX_STD=ON` to recent Abseil easyconfigs (required for PyTorch) (#18413) + - add missing patches for PyTorch 1.12.0 w/ foss/2022a (#18430) + - fix regression in GCC 12.1 + 12.2 with wrong warnings (#18434) + - add patch for LIBSVM 3.30 to pass `$CFLAGS` + `$LDFLAGS` and run tests (#18454) + - add patch for Automake 1.16.5 to fix help2man error (#18468) + - consistently use ON/OFF for -DBUILD_SHARED_LIBS (#18484) + - add missing patches for PyTorch 1.12.0 w/ `foss/2022a` + CUDA 11.7.0 (#18491) + - add patches to fix PyTorch 1.12.1 + 1.13.1 on POWER on POWER (#18489, #18490, #18492, #18493, #18494, #18500) + - add patch to fix flaky `test_jit_legacy` test for PyTorch 1.13.1 (#18500) + - add alternative checksum for Extrae v4.0.4 (#18564) + - remove appending of `$__EGL_VENDOR_LIBRARY_DIRS` in recent Mesa easyconfigs, since Mesa easyblock now appends to it (#18630) + - correct `dirs` in `sanity_check_paths` in template easyconfig (#18635) + - set `$MUJOCO_PY_FORCE_CPU` to avoid that mujoco-py checks for nvidia-smi and aborts installation because `/usr/lib/nvidia` is not in `$LD_LIBRARY_PATH` (#18641) + - fix sanity check for ccache by setting `LC_ALL=C` (#18677) + - make Autoconf a build dep for tRNAscan-SE + add missing Perl dependency (#18680) + - strip out hardcoded `-march=native` used by RapidJSON 1.1.0 (#18725) + - disable detection of Dbus broker for `at-spi2-core` (#18727) + - make sure that 'moduleclass' is set in all easyconfig files (and is not set to default `base` moduleclass) (#18739) + - add patch for MPFR 4.1.0 to fix failing tsprintf test with glibc >= 2.37 (#18746) + - add patch for PMIx 4.x to use `lchown` so links are not followed (#18755) +- other changes: + - update Java/11 wrapper to Java/11.0.20 (#18435) + - use custom easyblock for recent sympy easyconfigs to prevent test failures (#18428) + - use GCC/12.2.0 toolchain for GSL 2.7, remove easyconfig for GSL 2.7 with GCCcore/12.2.0 (#18501) + - disable wx support in gnuplot 5.4.6 (#18648, #18691) + - filter out template + archived easyconfigs when determining changed easyconfigs in PRs (#18753) + + +v4.8.0 (7 Jul 2023) +-------------------- + +feature release + +- added easyconfigs for foss/2023a (#18264) and intel/2023a (#18275) common toolchains +- added example easyconfig files for 76 new software packages: + - 3d-dna (#9258), affinity (#18051), AIMAll (#13153), alleleIntegrator (#17923), AlphaPulldown (#17774), + ASCAT (#17923), ASF-SearchAPI (#18179), ATAT (#18213), AutoDockSuite (#9678), axel (#10961), BayesPrism (#17885), + BGC-Bayesian-genomic-clines (#18005), CalculiX-CrunchiX (#16805), CASA (#18055), cctbx-base (#17774), + Circuitscape (#16720), CppHeaderParser (#18272), CuCLARK (#9482), cuteSV (#18077), DALI (#18204), DaliLite (#17989), + DEICODE (#18181), dm-haiku (#18013), dominate (#18086), dx-toolkit (#18232), easel (#18156), ecFlow (#15719), + EDirect (#17479), FragPipe (#18161), GEM (#18120), gemelli (#18120), GLIMPSE (#18163), GRIDSS (#18170), + HOOMD-blue (#18224), KerasTuner (#18197), LayoutParser (#18220), LISFLOOD-FP (#18194), LuaRocks (#18073), + mannkendall (#18043), MOB-suite (#16798), molecularGSM (#13150), MONAI-Label (#18180), MView (#18198), + NanoStat (#18201), oxDNA (#18175 + #18214), pastml (#15336), pbipa (#18229), Perl-bundle-CPAN (#17970), PheWeb (#10951), + plinkliftover (#18136), pmt (#18052), PyBioLib (#18124), Pychopper (#10344), pydicom-seg (#18180), + pyMannKendall (#18044), pypmt (#18045), python-mujoco (#18253), pytorch-CycleGAN-pix2pix (#18086), + PyTorch-Image-Models (#18220), PyWBGT (#17980), Safetensors (#18220), Sniffles (#18048), strace (#14381), + Structure_threader (#18219), subset-bam (#18032), SVclone (#18084), SVIM (#18071), Tapenade (#18109), + TensorFlow-Graphics (#17465), timm (#17787), Trinotate (#18124), Ultralytics (#17894), visdom (#18086), + wrapt (#18125), xclip (#17055), xdotool (#17055) +- added additional easyconfigs for various supported software packages, including: + - AGAT 1.1.0, alleleCount 4.2.1, AMS 2023.101, ANSYS 2023R1, BayesTraits 3.0.2, Bismark 0.24.1, BLAST+ 2.14.0, + boto3 1.26.163, Bowtie2 2.5.1, BUSCO 5.4.7, Cellpose 2.2.2, CHERAB 1.4.0, CmdStanR 0.5.2, CNVkit 0.9.10, + corner 2.2.2, CUDA 12.1.1 + 12.2.0, cuDNN 8.9.2.26, cutadapt 4.4, cuTENSOR 1.7.0.1, CVXOPT 1.3.1, Dalton 2020.1, + datamash 1.8, deepTools 3.5.2, DIAMOND 2.1.8, DMTCP 3.0.0, dorado 0.3.0 + 0.3.1, dtcmp 1.1.4, duplex-tools 0.3.3, + elastix 5.0.0, Emacs 28.2, emcee 3.1.4, Extrae 4.0.4, fastp 0.23.4, FlexiBLAS 3.3.1, fontconfig 2.14.2, + FreeSurfer 7.4.0, freetype 2.13.0, GATK 4.4.0.0, GBprocesS 4.0.0.post1, GCC 11.4.0, GCTA 1.94.1, GDRCopy 2.3.1, + Geant4 11.1.2, Geant4-data 11.1, GetOrganelle 1.7.7.0, git 2.41.0, GMAP-GSNAP 2023-04-20, GROMACS 2023.1, + hifiasm 0.19.5, Horovod 0.25.0, hwloc 2.9.1, InterProScan 5.62, IQ-TREE 2.2.2.3, ITSTool 2.0.7, JAGS 4.3.2, + Julia 1.9.0, libfabric 1.18.0, libheif 1.16.2, libjxl 0.8.1, LibLZF 3.6, LMfit 1.2.1, LSD2 2.4.1, LuaJIT 2.1.0, + lwgrp 1.0.5, MAGeCK 0.5.9.5, MATLAB 2023a, MaxQuant 2.4.2.0.eb, MCR R2022a.5, meshio 5.3.4, Meson 1.1.1, + minimap2 2.26, MMseqs2 14-7e284, mpifileutils 0.11.1, MuJoCo 2.2.2, nanomath 1.3.0, ncbi-vdb 3.0.5, NCCL 2.18.3, + Nextflow 23.04.2, ngspice 39, ont-fast5-api 4.1.1, OpenBLAS 0.3.23, OpenMPI 4.1.5, openpyxl 3.1.2, + OSU-Micro-Benchmarks 7.1-1, parasail 2.6.2, Paraver 4.11.1, ParaView 5.11.1, patchelf 0.18.0, Perl 5.36.1, + PMIx 4.2.4, POT 0.9.0, PSI4 1.7, psutil 5.9.4, psycopg2 2.9.6, PyCalib 20230531, pycocotools 2.0.6, + pyfaidx 0.7.2.1, pyiron 0.3.0, PyQtGraph 0.13.3, Pysam 0.21.0, pySCENIC 0.12.1, pyspoa 0.0.9, Python 3.11.3, + python-parasail 1.3.4, PyTorch 1.13.1, rasterio 1.3.8, regionmask 0.10.0, Ruby 3.2.2, Rust 1.70.0, ScaFaCoS 1.0.4, + seqtk 1.4, SRA-Toolkit 3.0.5, statsmodels 0.14.0, strace 5.14, Subversion 1.14.2, SUNDIALS 6.5.1, tidymodels 1.1.0, + tokenizers 0.13.3, torchaudio 0.12.0, TransDecoder 5.5.0, Transformers 4.29.2 + 4.30.2, UCC 1.2.0, UCC-CUDA 1.2.0, + UCX 1.14.1, UCX-CUDA 1.14.1, util-linux 2.39, VASP 6.3.2, VTK 9.2.6, WhatsHap 1.7, X11 20230603, xarray 2023.4.2, + XlsxWriter 3.1.2, XML-LibXML 2.0208, xorg-macros 1.20.0, zlib-ng 2.0.7 +- minor enhancements, including: + - add CI check for -DCMAKE_BUILD_TYPE, should use build_type instead (#14008) + - enhance sanity check for recent LibTIFF easyconfigs (#17975) + - update JupyterLab v3.5.0 to set `$JUPYTERLAB_SETTINGS_DIR` and `$JUPYTERLAB_WORKSPACES_DIR` on loading of module (#17982) + - use custom easyblock for Rust 1.65.0 (#18174) and Rust 1.70.0 (#18167) + - update easyconfig for Nextflow 23.04.2 to use `install_cmds` (#18173) + - add extra packages to recent R easyconfigs (#18029, #18063, #18122, #18195, #18245) + - add extra packages to recent R-bundle-Bioconductor easyconfigs (#18196, #18246) +- various bug fixes, including: + - add patches to fix TensorFlow 2.7.1 on POWER (#16795) + - fix patches + extensions in easyconfig for TensorFlow 2.8.4 w/ foss/2021b (#17058) + - stick to FFmpeg 4.4.2 as dependency for SoX 14.4.2 (#17998) + - add pkgconfig as build dependency for nodejs , required for finding ICU dependency (#18007) + - fix exec permissions for all binaries & scripts of L_RNA_scaffolder 20190530 (#18030) + - update SUNDIALS dependency for Cantera v2.6.0 to v6.5.1 + add missing dependencies (#18041) + - fix --sanity-check-only for MAGeCK v0.5.9.4 (#18047) + - enable building static libs and check for libexslt.* in libxslt (#18064) + - add -pthread flag for dorado (#18072) + - add missing patch files for Qt5 5.15.2 to fix build problems with glibc 2.34 (#18087) + - add missing pkgconf build dependency for XML-LibXML v2.0208 (#18159) + - update homepage for NWChem 7.x (#18184) + - update homepage for SUNDIALS 5.x and 6.x (#18186) + - add missing source_urls for SimpleITK (#18212) + - use patch files for Qt5 v5.17.7 to fix compatiblity with glibc 2.34 (#18230) + - fix incorrect version for GMAP-GSNAP 2021-12-17 (was 2021-21-17) (#18231) + - fix CUDA build of recent TensorFlow easyconfigs when using compiler symlinks (#18235) + - use patch to make ncbi-vdb 2.11.2 compatible with HDF5 1.12.2 (#18236) + - update source_urls for Velvet 1.2.10 (#18237) + - use upstream patch for symbol compatibility in XZ 5.2.5 (#18250) + - update source url for pkgconf (#18271) +- other changes: + - stop running easyconfig unit tests with Python 2.7 (#18006) + - fix toolchain for networkx-3.0 (foss/2022b -> gfbf/2022b) (#18061) + - remove unused PyTorch patch (#18062) + - allow multiple dependency variants of ncbi-vdb for SRA-TOolkit per easyconfigs generation, as long as versions match (#18098) + - bump OpenSSL 1.1 wrapper fallback to 1.1.1u (#18188) + - remove default `separate_build_dir = True` and `build_type = 'Release'` from double-conversion (#18222) + - remove default `separate_build_dir = True` and `CMAKE_BUILD_TYPE=Release` from MariaDB (#18223) + - remove incorrect '-Dgallium-drivers=swrast' configure option in ROOT easyconfigs (#18260) + - change base compiler for intel/2023.03 to GCCcore/12.3.0 (required to use it as intel/2023a) (#18263) + + +v4.7.2 (27 May 2023) +-------------------- + +update/bugfix release + +- added easyconfigs for intel/2023.03 (#17676) +- added example easyconfig files for 89 new software packages: + - AGeNT (#17864), anndata (#17677), Annocript (#17910), avro-cpp (#17527), batchgenerators (#17833), + BoltzTraP2 (#17742), Braindecode (#17913), build (#17776), casacore (#15499), Casanovo (#17735, #17736), + CASPR (#17606), CellChat (#17856), CellOracle (#17507), CLIP (#17782), CodingQuarry (#17682), ColabFold (#17751), + CopyKAT (#17646), CPC2 (#17849), cppzmq (#17601), dask-labextension (#17882), DIALOGUE (#17696), DiCE-ML (#17591), + ESPResSo (#17709), Evcxr-REPL (#17831), EZC3D (#17832), funannotate (#17588), FunGAP (#17652), GATB-Core (#17635), + GenMap (#17746), GimmeMotifs (#17507), GLI (#17793), GOBNILP (#17639), h5netcdf (#17835), HD-BET (#17833), + HTSplotter (#17369, #17586), ipympl (#17613), IsoSeq (#17791), KrakenUniq (#17569), LIANA (#17928), + libWallModelledLES (#17480), LoRDEC (#17635), M3GNet (#17555), mandrake (#17394), mctc-lib (#16760), MOABB (#17913), + MRPRESSO (#17925), ont-guppy (#17477, #17828), OptaDOS (#17777), PALEOMIX (#17912), PGPLOT (#15496), + PICI-LIGGGHTS (#17710), pod5-file-format (#17776), powerlaw (#17647), pp-sketchlib (#17397), + py3Dmol (#17752), pytesseract (#17898), pytest-cpp (#17966), pytest-flakefinder (#17966), Python-bundle (#17626), + python-xxhash (#17844), PyTorch-bundle (#17540), qnorm (#17507), R-MXM (#17667), R-transport (#17642, #17968), + Raven (#15833), ReaxFF (#17780), ripunzip (#17959), RPostgreSQL (#17739), rustworkx (#17857), Scalene (#16472), + sceasy (#17677), SCIP (#17639), Simple-DFTD3 (#16760), SMAP (#17672), SoPlex (#17639), SoupX (#17851), + spektral (#15551), synthcity (#17623), sysbench (#17643), tantan (#17681), thirdorder (#17703), TOPAS (#17553), + Triplexator (#17866), tRNAscan-SE (#17680, #17800), turbinesFoam (#17917), unicore-uftp (#17665), vispr (#17606), + WCSLIB (#15497), ZIMPL (#17639) +- added additional easyconfigs for various supported software packages, including: + - Abseil v20230125.2, AlphaFold v2.3.1 + v2.3.4, Arrow v11.0.0, arrow-R v11.0.0.3, astropy v5.2.2, awscli v2.11.21, + Bismark v0.24.0, biom-format v2.1.14, Blender v3.5.0, Blosc2 v2.8.0, Bottleneck v1.3.7, breseq v0.38.1, + bwa-meth v0.2.6, buildenv default for foss/2022b + CUDA 12.0.0, Cantera v2.6.0, CapnProto v0.10.3, CASTEP v22.11, + Clang v15.0.5, CLHEP v2.4.6.4, CMake v3.26.3, CMSeq v1.0.4, coverage v7.2.3, CP2K v9.1 + v2022.1, CPLEX v22.1.1, + CREST v2.11.2, cURL v8.0.1, CuPy v11.4.0, DBus v1.15.4, DBG2OLC v20200724, dlb v3.3.1, double-conversion v3.3.0, + Doxygen v1.9.7, expat v2.5.0, FASTA v36.3.8i, FHI-aims v221103, fio v3.34, Fiona v1.9.2, Flask v2.2.3, fmt v10.0.0, + freeglut v3.4.0, FUSE v3.14.1, GapFiller v2.1.2, GCC 12.3.0 + 13.1.0, GDCM v3.0.21, GitPython v3.1.31, Go v1.20.4, + googletest v1.13.0, gpustat v1.1, Guile v3.0.9, Gurobi v10.0.1, Harminv v1.4.2, Highway v1.0.4, IgBlast v1.21.0, + Imath v3.1.7, infercnvpy v0.4.2, IQ-TREE v2.2.2.3, jax v0.3.25, jupyterlmod v4.0.3, Kalign v3.3.5, + L_RNA_scaffolder v20190530, libaio v0.3.113, libarchive v3.6.2, libctl v4.5.1, libdeflate v1.8, libgcrypt v1.10.1, + libGridXC v1.1.0, libjpeg-turbo v2.1.5.1, libmaus2 v2.0.499, libopus v1.4, libpng v1.6.39, libPSML v1.1.12, + libRmath v4.2.1, libsigc++ v3.4.0, LibTIFF v4.5.0, libunistring v1.1, libxc v6.1.0, libxml2 v2.11.4, + libxslt v1.1.38, lifelines v0.27.4, lxml v4.9.2, make v4.4.1, MariaDB v10.11.2, Meep v1.26.0, MetaPhlAn v4.0.6, + mold v1.11.0, MPB v1.11.1, muParser v2.3.4, NAG v7.1, NAGfor v7.1, nano v7.2, NASM v2.16.01, ncurses v6.4, + netcdf4-python v1.6.3, networkx v2.8.8, NSS v3.89.1, numexpr v2.8.4, nvtop v3.0.1, OpenEXR v3.1.7, OpenMM v8.0.0, + Pandoc v3.1.2, ParaView v5.11.0, PCRE2 v10.42, PhyloPhlAn v3.0.3, phyx v1.3, picard v3.0.0, Pint v0.20.1, + pkgconf v1.9.5, PostgreSQL v15.2, PROJ v9.2.0, Proteinortho v6.2.3, protobuf v23.0, protobuf-python v4.23.0, + pydantic v1.10.4, pyFFTW v0.13.1, PyGEOS v0.14, Pyomo v6.5.0, pyparsing v3.0.9, pyperf v2.6.0, pyproj v3.5.0, + pytest v7.2.2, PYTHIA v8.309, Qtconsole v5.4.0, R-bundle-Bioconductor v3.16, R-tesseract v5.1.0, RE2 v2023-03-01, + ReFrame v4.2.0, RepeatMasker v4.1.5, RevBayes v1.2.1, rgdal v1.6-6, rioxarray v0.14.0, rocm-smi v5.4.4, + ROOT v6.26.10, Rtree v1.0.1, scib v1.1.3, scikit-build v0.17.2, Seaborn v0.12.2, SHAP v0.41.0, Shapely v2.0.1, + ShengBTE v1.5.0, SLiM v4.0.1, snappy v1.1.10, spdlog v1.11.0, spglib v2.0.2, spglib-python v2.0.2, SQLite v3.42.0, + Subread v2.0.4, Tcl v8.6.13, tcsh v6.24.05, torchtext v0.14.1, trimesh v3.21.5, UCC-CUDA v1.1.0, utf8proc v2.8.0, + Vim v9.0.1434, vsc-mympirun v5.3.1, WRF v4.4.1, xmlf90 v1.5.6, xxHash v0.8.1, XZ v5.4.2, zsh v5.9, zstd v1.5.5 +- minor enhancements, including: + - add local::lib extension to Perl 5.34.0 (#17679) + - install shared libraries for tesseract (#17721) + - add additional extensions to recent R easyconfigs: word2vec, tau, quanteda, ... (#17738) + - add extensions to R-bundle-Bioconductor 3.15: deepSNV (#17852) + - add extensions to R 4.2.x: dlm (#17640), PMA + unikn + ppcor (#17695), tvem (#17729), epitools (#17852) +- various bug fixes, including: + - add patch for UCC 1.1.0 for multiple component paths (#17255) + - fix configure step for ELSI 2.5.0+ (#17288) + - switch bamtofastq to Cargo easyblock (#17595) + - add missing OpenJPEG dependency for recent GDAL versions (#17599) + - fix CodAn bin/* executable permissions for all users #(#17607) + - upgrade traitlets, ipywidgets, and widgetsnbextension + downgrade jupyterlab_widgets extensions in IPython v8.5.0 to fix known issues (#17612) + - add patch for GPAW-22.8.0 with 2022a toolchain to make test tolerance a bit less strict (#17618) + - add alternative checksum for MONAI 1.0.1 (#17628) + - fix paths to Perl modules in MAKER v3.01.04 (#17629) + - add missing dependencies and add patch for fix incorrect ids for BRAKER v2.1.6 (#17631) + - explicitely disable mpi/python in Boost (intel-compilers/2021.4.0) (#17638) + - remove LLVM build dependency from TensorFlow easyconfigs (#17641) + - update easyconfig for Longshot 0.4.5 to use Cargo easyblock (#17666) + - fix homepage in ELPA easyconfigs (due to switch to new domain) (#17697) + - add patch for scipy 1.10.1 extension in SciPy-bundle 2023.02 to fix broken test (#17713) + - use CUDA variant of OpenMM 7.5.1 as dependency for AlphaFold 2.3.0 (#17717) + - exclude flaky test_optim for PyTorch 1.12.1 + make excluded tests for PyTorch 1.12.1 consistent (#17726, #17730, #17731, #17737) + - add missing PCRE dependency for InterProScan 5.55-88.0 (#17762) + - fix building Python bindings of DGL, requires static libs (#17764) + - only use QEF gitlab source url for QuantumESPRESSO itself (#17766) + - add egg file to OpenCV 4.6.0 python package for pip + pkgconfig file (#17779) + - fix broken source URL for AOCC 4.0.0 (#17794) + - specify source_urls inside exts_default_options in Seurat easyconfigs to ensure correct name expansion for the archived packages (#17830) + - add Doxygen build dependency to X11 (#17842) + - FLINT needs BLAS so move it up from GCC level (#17868) + - fix broken tarball links for ispc 1.6, 1.10, and 1.12 easyconfigs (#17875) + - add dependency on PycURL to JupyterHub-3.0.0-GCCcore-11.3.0.eb (#17887) + - add historical repo paths to install cmd for old versions of texlive (#17893) + - add missing FastTreeMP binary for FastTree (#17897) + - add checksum for arm64 source tarball for Go 1.18.3 (#17903) + - add patch to fix test_quantization in PyTorch 1.12.1 (#17908) + - add make 4.3 as build dependency for recent OpenBLAS versions (#17924) +- other changes: + - bump versions in Java wrappers to latest builds that include ppc64le: Java/8.362, Java/11.0.8, Java/17.0.6 (#17775) + - move Arb and polymake to gfbf/foss since FLINT is now at gfbf/foss (#17869) + + +v4.7.1 (March 20th 2023) +------------------------ + +update/bugfix release + +- added example easyconfig files for 99 new software packages: + - astro-tulips (#17263), BA3-SNPS-autotune (#17248), BayesAss3-SNPs (#17247), Block (#27), CatLearn (#14940), + CDFlib (#17133), Cellpose (#13703), CheckM-Database (#17462), chemprop (#17261), cimfomfa (#17268), conan (#17326), + cooler (#17328), crossguid (#16207), cuSPARSELt (#17141), cython-blis (#17544), DBCSR (#17170), dclone (#17225), + DensPart (#17473), Deprecated (#1248), DLPack (#17311), DMLC-Core (#17311), dorado (#17195), duplex-tools (#17497), + eQuilibrator (#16812), fastai (#16985), fastjet (#17367), fastjet-contrib (#17377), ffnvcodec (#17271), + finder (#1917), flowFDA (#17495), gbasis (#17473), genomepy (#17506), Giotto-Suite (#17207), GKeyll (#16044), + GraphDB (#17280), graphviz-python (#17352), grid (#17473), GUSHR (#16905), Health-GPS (#17434), HepMC3 (#17341), + HiCMatrix (#17330), Inferelator (#17223), iodata (#17473), irodsfs (#17486), jupyter-contrib-nbextensions (#17270), + jupyterlab-lmod (#16563), jupyterlmod (#16563), kb-python (#17260), kineto (#17194), KMCP (#17267), + krbalancing (#17325), Lace (#954), LASSO-Python (#17510), libemf (#16188), loomR (#14518), MAKER (#17345), + methylartist (#17264), nanoflann (#17311), netMHCII (#9741), NEXUS-CL (#17350), nichenetr (#17524), + Parallel-Hashmap (#17311), pdsh (#17139), Perseus (#17210), PfamScan (#17530), Phenoflow (#17495), PIRATE (#17275), + PLAMS (#17473), plot1cell (#17498), pybinding (#17137), pyperf (#17063), pyslim (#17150), + pytest-rerunfailures (#17295), pytest-shard (#17295), python-louvain (#17207), PyTorch-Ignite (#15491), + PyVCF3 (#17519), R2jags (#17226), rapidcsv (#16211), rapidNJ (#17399), Rivet (#17380), rmarkdown (#17189), + scArches (#17069), scHiCExplorer (#17334), scib (#17142), SeaView (#17385), silhouetteRank (#17207), + siscone (#17342), smfishHmrf (#17207), sparse-neighbors-search (#17329), SpatialDE (#17207), sradownloader (#17188), + stardist (#17215), Strainberry (#17522), toil (#17098), vConTACT2 (#17372), VirSorter2 (#17371), + vitessce-python (#17472), vitessceR (#17525), YODA (#17343) +- added additional easyconfigs for various supported software packages, including: + - AlphaFold 2.3.0, Anaconda3 2022.10, angsd 0.940, archspec 0.2.0, Armadillo 11.4.3, AUGUSTUS 3.5.0, bcbio-gff 0.7.0, + BCFtools 1.17, beagle-lib 4.0.0, Beast 2.7.3, BeautifulSoup 4.11.1, Biopython 1.81, BLAT 3.7, Blender 3.4.1, + Blosc2 2.6.1, Boost 1.81.0, Bottleneck 1.3.6, BUSCO 5.4.5, bx-python 0.9.0, CatMAP 20220519, CellRanger 7.1.0, + Cereal 1.3.2, CFITSIO 4.2.0, CheckM 1.2.2, code-server 4.9.1, configurable-http-proxy 4.5.3, csvkit 1.1.0, 4.8, + CUDA 12.1.0, cuDNN 8.8.0.121, cwltool 3.1.20221008225030, Cython 0.29.33, DGL 0.9.1, DIAMOND 2.1.0, dill 0.3.6, + DIRAC 23.0, dm-tree 0.1.8, dRep 3.4.2, eggnog-mapper 2.1.10, elfutils 0.189, ELPA 2022.05.001, epiScanpy 0.4.0, + FabIO 0.14.0, FastQ_Screen 0.14.0, FFmpeg 5.1.2, FLAC 1.4.2, flatbuffers 23.1.4, FLINT 2.9.0, GDAL 2.4.4, + GDAL 3.6.2, GDGraph 1.56, GEOS 3.11.1, GMAP-GSNAP 2023-02-17, gmsh 4.11.1, gnuplot 5.4.6, GOATOOLS 1.3.1, + googletest 1.12.1, GPyTorch 1.9.1, Greenlet 2.0.2, GST-plugins-base 1.22.1, GStreamer 1.22.1, GTDB-Tk 2.1.1, + h5py 3.8.0, HDBSCAN 0.8.29, HDF5 1.14.0, HiCExplorer 3.7.2, Highway 1.0.3, HTSlib 1.17, hypothesis 6.68.2, + Hypre 2.27.0, igraph 0.10.3, IGV 2.16.0, IJulia 1.24.0, Imath 3.1.6, imbalanced-learn 0.10.1, imkl 2023.0.0, + imkl-FFTW 2023.0.0, impi 2021.8.0, intel-compilers 2023.0.0, IRkernel 1.3.2, JAGS 4.3.1, jax 0.4.4, Julia 1.8.5, + JupyterHub 3.0.0, jupyter-matlab-proxy 0.5.0, jupyter-resource-usage 0.6.3, jupyter-server-proxy 3.2.2, + Kent_tools 442, leidenalg 0.9.1, LERC 4.0.0, libcerf 2.3, libgit2 1.5.0, libnsl 2.0.0, libsndfile 1.2.0, + libtirpc 1.3.3, libxslt 1.1.37, Longshot 0.4.5, MAFFT 7.505, Maple 2022.1, MaSuRCA 4.1.0, Mathematica 13.1.0, + MATIO 1.5.23, MATLAB 2022a + 2022a-r3 + 2022b, matplotlib 3.7.0, MaxQuant 2.2.0.0, MCL 22.282, MDAnalysis 2.4.2, + Miniconda3 22.11.1, mm-common 1.0.5, MPFR 4.2.0, mpi4py 3.1.4, mpmath 1.2.1, msprime 1.2.0, MultiQC 1.14, + mygene 3.2.2, nano 7.1, nanomax-analysis-utils 0.4.4, ncbi-vdb 3.0.2, NetLogo 6.2.2 + 6.3.0, nettle 3.8.1, + networkx 3.0, Nextflow 22.10.6, nlohmann_json 3.11.2, numba 0.56.4, NVHPC 22.9 + 22.11 + 23.1, NVSHMEM 2.8.0, + OpenMPI 4.1.5, Optuna 3.1.0, ORCA 5.0.4, PAML 4.10.5, panaroo 1.3.2, ParallelIO 2.5.10, parasail 2.6, Pillow 9.4.0, + PIPITS 3.0, PLINK 2.00a3.7, plotly.py 5.12.0 + 5.13.1, PLUMED 2.8.1, poetry 1.2.2, polymake 4.8, preseq 3.2.0, + presto 1.0.0-20230113, PROJ 9.1.1, protobuf 3.21.9, psycopg2 2.9.5, pybind11 2.10.3, PyCharm 2022.3.2, + py-cpuinfo 9.0.0, pyFAI 0.21.3, pyfaidx 0.7.1, pyGenomeTracks 3.8, pygraphviz 1.10, pymca 5.7.6, Pysam 0.20.0, + PySCF 2.1.1, PyTables 3.8.0, Python 3.11.2, python-parasail 1.3.3, PyZMQ 24.0.1, QCG-PilotJob 0.13.1, + QIIME2 2022.11, QtPy 2.3.0, QUAST 5.2.0, R 4.2.2, Ray-project 2.2.0, RDKit 2022.09.4, Redis 7.0.8, redis-py 4.5.1, + ReFrame 4.0.5, RepeatMasker 4.1.4, RepeatModeler 2.0.4, rjags 4-13, RMBlast 2.13.0, ROOT 6.22.08, Salmon 1.9.0, + SAMtools 1.17, Scalasca 2.6.1, scikit-learn 1.2.1, SciPy-bundle 2023.02, SDL2 2.26.3, SeqKit 2.3.1, silx 1.0.0, + snakemake 7.22.0, SNAP-HMM 20221022, SpaceRanger 2.0.1, SPAdes 3.15.5, spaln 2.4.13f, Spark 3.3.1, + SRA-Toolkit 3.0.3, SSW 1.2.4, STAR 2.7.10b, STAR-CCM+ 18.02.008, SVG 2.87, TensorFlow-Datasets 4.8.3, + Tkinter 3.10.8, tqdm 4.64.1, Trilinos 13.4.1, Trim_Galore 0.6.10, Trinity 2.15.1, TWL-NINJA 0.98-cluster_only, + Unidecode 1.3.6, vsc-mympirun 5.3.0, VSEARCH 2.22.1, wget 1.21.3, wxWidgets 3.2.2.1, x264 20230226, + Xerces-C++ 3.2.4, XlsxWriter 3.0.8, xtb 6.5.1, Xvfb 21.1.6 +- minor enhancements, including: + - add additional extensions to R 4.2.1 (#17043, #17125, #17224, #17493, #17523) + - add additional extensions to Bioconductor 3.15 (#17126, #17315, #17494) + - add sanity check command to OpenMolcas v22.10 (#17128) + - add Set::Object and Heap::Fibonacci extensions to Perl 5.32.1 (#17151) + - add additional extensions to Python 3.10.8 (required for scipy test suite) (#17159) + - enhance OpenFold 1.0.1 for standalone usage (#17206) + - add SDL2 dependency for FFmpeg 5.0.1 to build ffplay (#17213) + - set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (#17216) + - add Devel::Size + Math::Utils extension to recent Perl easyconfigs (#17246, #17466) + - combine errors of extension patch check into a single failure (#17286) + - add case-insensitive name clash test (#17303) + - add ffnvcodec build dependency to all recent FFmpeg easyconfigs (#17316) + - use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2022.05 (#17429) + - add source URL to cuDNN 8.8 easyconfig (#17439) + - add missing zstd dep to Boost (#17482) +- various bug fixes, including: + - fix postinstallcmds and clarify download instructions for netMHC + netMHCpan 4.0a (#9739, #9740) + - fix OpenBLAS 0.3.15 patch to correctly set the CPU core type for Tiger Lake (#15845) + - add alternative checksum for UCX 1.13.1 after source tarball was changed in-place (without actual code changes) (#17077) + - fix build of TensorFlow 2.5+ on aarch64 (#17101) + - explictely download qe-gipaw source tarball from qe-gipaw GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#17129) + - add patch for GCCcore 11.1.0 + 11.2.0 to fix AVX2 bug (#17135) + - add patch to make ncbi-vdb 3.0.0 compatible with HDF5 1.12.2 (#17140) + - fix source URL for p7zip v17.x (#17144) + - add patches for Qt5 5.15.5 to fix compilation failures in abseil and breakpad with glibc 2.34 (#17165) + - remove dependency on Pillow from scikit-bio v0.5.7 (#17178) + - correctly specify path to libfabric installation prefix in PMIx 4.1.0 easyconfig (#17204) + - use GCC as toolchain for serial variants of HDF5, since it has a FORTRAN API (#17221) + - fix CMake print summary for long hostnames for NECI (#17230) + - add missing pmix patch to OpenMPI 4.1.1 easyconfig used in iomkl/2021a and iomkl/2021b (#17240) + - include required stereo_chemical_props.txt for OpenFold 1.0.1 (#17242) + - add patch for PAPI 7.0.0 to fix compilation error (#17244) + - also update $PERL5LIB for RepeatMasker v4.1.4 (#17245) + - add alternative source_url for MariaDB > 10.4 (#17250) + - remove use of rysnc in building Kent_tools (#17252) + - add missing pkgconf build dependency in recent libxslt easyconfigs (#17254) + - add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (#17257) + - fix postinstallcmds in shovill easyconfigs (#17279) + - allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (#17289) + - remove duplicate SlamDunk easyconfig using lowercase name (#17301) + - use https in homepage + source URL for GenomeThreader 1.7.3 (#17338) + - consistently use Check capitailisation (#17351) + - add alternative checksum for spatial 7.3-14 extension in R 4.1.x easyconfigs (#17356) + - fix homepage + source URL for ELPA (due to switch to new domain) (#17357) + - fix homepage in ELPA easyconfigs (due to switch to new domain) (#17358) + - rename libpsml for consistency with libPSML (#17359) + - replace obsolete pycrypto with pycryptodome in Python 3.10.x easyconfigs (#17412) + - update deap to version 1.3.3 in SciPy-bundle 2022.05 easyconfigs (since deap 1.3.1 is broken) (#17413) + - add patch for Qt5 5.12.2 with GCCcore/11.2.0 to fix template bug (#17464) + - replace src include path with installation dir for HDF5 (#17469, #17488) + - disable Python support for OTF2 v2.2, since we're not including Python 2.x as dependency (#17499) + - update homepage and source urls of DFT-D3 (#17528) + - use Binary easyblock for ANIcalculator to prevent RPATH sanity check failures (#17536) +- other changes: + - fix invalid escape sequences in easyconfigs by using raw strings (r"...") (#11149) + - add exception for ncbi-vdb 3.0.0 dependency variant (#17131) + - use proper source tarball instead of cloning GitHub repository for wxWidgets v3.2.1 (#17167) + - enable -fPIC in GEOS 3.11.1 (required by GDAL) (#17196) + - fix website/docs links in README (#17232) + - remove commented out line and delete unused patch for TALON (#17298) + - re-enable disabled tests (#17304) + - rename MAGMA to MAGMA-gene-analysis to avoid name collision (#17345) + - Archive ARB and blasr patch files (#17346) + - Archive BAMM, BamM, and GroopM to avoid BAMM/BamM name collision (#17348) + - consistently use NanoFilt capitalisation (#17349) + - rename ncl to NEXUS-CL to avoid case-insensitive name clash (#17350) + - rename python graphviz to graphviz-python to avoid case-insensitive name clash (#17352) + - archive charmm and CHARMM easyconfigs to avoid case-insensitive name clash (#17364) + + +4.7.0 (Janurary 9th 2023) +------------------------- + +feature release + +- added easyconfigs for foss/2022b, intel/2022b common toolchains (#16961 and #16962) + - see also https://docs.easybuild.io/en/latest/Common-toolchains.html +- added easyconfigs for NVHPC-based toolchains nvompi/2022.07 and nvofbf/2022.07 (#16724) +- added example easyconfig files for 107 new software packages: + - Alfred (#16780), attrdict3 (#16856), bamFilters (#16735), bcl-convert (#16351), Beagle (#346), Boost.MPI (#15757), + captum (#16477), CAT-BAT (#16577, #16634), cdo-bindings (#16669), Chemaxon-Marvin (#13954), CliMetLab (#16842), + CloudCompare (#16944), cmocean (#16659), COBRApy (#16616), CodAn (#16902), CoSymLib (#17049), CPPE (#16749), + cryoCARE (#16534), CTPL (#16498), CUDA-Samples (#16914), cwltool (#16503), Cytoscape (#16682), DeepLabCut (#16391), + DeepMod2 (#17008), Dice (#16752), dlb (#16845), DRAGMAP (#16532), ecBuild (#16842), EGTtools (#16704), + ESM-2 (#16528), flair-NLP (#15588), FMS (#16965), Godon (#16574), gsw (#16643), HighFive (#16737), humann (#16853), + HyperQueue (#16753), IJulia (#16494, #16665), infercnvpy (#16712), InParanoid (#16572), jupyter-server (#14844), + KaHIP (#16861), KITE (#16550), lagrangian-filtering (#16654), LHAPDF (#17028), librttopo (#16856), libwpe (#16088), + Magics (#16842), matlab-proxy (#14270), mcu (#16566), MEMOTE (#16772), memtester (#16763), meson-python (#16911), + minizip (#16856), MITgcmutils (#16623), MONAI (#16519), MOOSE (#13824), mstore (#16892, #17029), + MultilevelEstimators (#15630, #16665), n2v (#16535), NanoLyse (#16575), napari (#16468), NECI (#16751), + nf-core-mag (#16613), oceanspy (#16640), olego (#16909), OmegaFold (#16698), OVITO (#16811), Panedr (#16564), + Parcels (#16838), polars (#16989), PsiCLASS (#16906), pyccel (#16823), PyCheMPS2 (#16710), PyDamage (#16576), + PyImageJ (#16757), pysteps (#16783), python-libsbml (#16610), python-telegram-bot (#16442), pyWannier90 (#16447), + resolos (#16649), RLCard (#16695), SAP (#5200), scikit-misc (#16457), scvi-tools (#16457), SELFIES (#17032), + SeuratDisk (#16951), sfftk (#16466), simint (#16886), SISSO++ (#15759), slamdunk (#15197), spaCy (#17027), + Sphinx-RTD-Theme (#16736), SPOOLES (#16756), Squidpy (#16880), svist4get (#16505), task-spooler (#17048), + TBA (#16497), TensorFlow-Datasets (#16421), TFEA (#16476), TinyXML (#16992), tokenizers (#15587), + torchsampler (#16464), trimesh (#16858), UCX-ROCm (#17033), wpebackend-fdo (#16093), xmitgcm (#16637) +- added additional easyconfigs for various supported software packages, including: + - Albumentations 1.3.0, ANSYS 2022R2, AOCC 4.0.0, archspec 0.1.4, ArviZ 0.12.1, ASAP 2.1, astropy 5.1.1, + basemap 1.3.6, BBMap 39.01, BEDOPS 2.4.41, Blender 3.3.1, Blosc 1.21.3, Blosc2 2.4.3, bokeh 2.4.3, Bonnie++ 2.00a, + boto3 1.26.37, BRAKER 2.1.6, CDO 2.1.1, cdsapi 0.5.1, CharLS 2.4.1, CheMPS2 1.8.12, CMake 3.24.3, CubeGUI 4.8, + CubeLib 4.8, CubeWriter 4.8, CUDA 11.8.0 + 12.0.0, cuDNN 8.6.0.163 + 8.7.0.84, cURL 7.86.0, cutadapt 4.2, + cuTENSOR 1.6.1.5, dask 2022.10.0, DAS_Tool 1.1.3, DBus 1.15.2, dcm2niix 1.0.20220720, DCMTK 3.6.7, deepdiff 5.8.1, + dm-reverb 0.7.0, double-conversion 3.2.1, Doxygen 1.9.5, ecCodes 2.27.0, exiv2 0.27.5, Fiji 2.9.0, Filtlong 0.2.1, + FLANN 1.9.1, FlexiBLAS 3.2.1, fontconfig 2.14.1, FreeXL 1.0.6, g2clib 1.7.0, GATK 4.3.0.0, GD 2.75, GDCM 3.0.20, + Gdk-Pixbuf 2.42.10, GeneMark-ET 4.71, gensim 4.2.0, geopandas 0.12.2, gettext 0.21.1, gh 2.20.2, Ghostscript 10.0.0, + git 2.38.1, GLib 2.75.0, GlobalArrays 5.8.2, GnuTLS 3.7.8, GObject-Introspection 1.74.0, GRASS 8.2.0, GTK3 3.24.35, + HarfBuzz 5.3.1, HTSeq 2.0.2, hwloc 2.8.0, Hyperopt 0.2.7, ICU 72.1, imagecodecs 2022.9.26, imageio 2.22.2, + ImageMagick 7.1.0-53, imbalanced-learn 0.9.0, JasPer 4.0.0, jax 0.3.23, JupyterLab 3.5.0, Leptonica 1.83.0, + libavif 0.11.1, libdap 3.20.11, libdeflate 1.15, libdrm 2.4.114, libfabric 1.16.1, libffi 3.4.4, libglvnd 1.6.0, + libgpg-error 1.46, libidn 1.41, libjpeg-turbo 2.1.4, LibLZF 3.6, libpciaccess 0.17, libpng 1.6.38, librsvg 2.55.1, + LibSoup 3.0.8, libspatialindex 1.9.3, libspatialite 5.0.1, libtasn1 4.19.0, LibTIFF 4.4.0, libxml2 2.10.3, + libxml2-python 2.9.13, line_profiler 4.0.0, LittleCMS 2.14, LLVM 15.0.5, lz4 1.9.4, makedepend 1.0.7, Mako 1.2.4, + MATLAB-Engine 2021b, Mesa 22.2.4, Meson 0.64.0, MIGRATE-N 5.0.4, Miniconda3 4.12.0, mold 1.7.1, Molden 7.1, + MotionCor2 1.5.0, MoviePy 1.0.3, MRChem 1.1.1, MRCPP 1.4.1, nano 7.0, NanoFilt 2.8.0, nanoget 1.18.1, + nanomath 1.2.1, ncbi-vdb 3.0.0, NCCL 2.16.2, NCCL-tests 2.13.6, NCO 5.1.3, nglview 3.0.3, NiBabel 4.0.2, + Ninja 1.11.1, nodejs 18.12.1, NSPR 4.35, NSS 3.85, NVHPC 22.7, NVSHMEM 2.7.0, Octave 7.1.0, OPARI2 2.0.7, + OpenFOAM 10, OpenFold 1.0.1, OpenImageIO 2.3.17.0, OpenMolcas 22.10, openpyxl 3.0.10, openslide-python 1.2.0, + OpenStackClient 6.0.0, OSU-Micro-Benchmarks 6.2, OTF2 3.0.2, Pango 1.50.12, PAPI 7.0.0, pauvre 0.2.3, PETSc 3.17.4, + phonopy 2.16.3, pigz 2.7, Pillow 9.2.0, Pint 0.19.2, pixman 0.42.2, PMIx 4.2.2, poppler 22.12.0, psutil 5.9.3, + pybedtools 0.9.0, PyBerny 0.6.3, pydantic 1.10.2, pydicom 2.3.0, pyproj 3.4.0, PyQt5 5.15.5, pytest 7.1.3, + Python 3.10.8, python-isal 1.1.0, PyTorch 1.12.1, PyTorch-Geometric 2.1.0, PyTorch-Lightning 1.8.4, QCA 2.3.5, + QGIS 3.28.1, QIIME2 2022.8, QScintilla 2.11.6, Qt5 5.15.7, Qtconsole 5.3.2, QtKeychain 0.13.2, QtPy 2.2.1, + rasterio 1.3.4, re2c 3.0, ReFrame 3.12.0, RStudio-Server 2022.07.2+576, Ruby 3.0.5, Rust 1.65.0, SAP 1.1.3, + scanpy 1.9.1, scikit-image 0.19.3, SCons 4.4.0, Score-P 8.0, Seaborn 0.12.1, SentencePiece 0.1.97, Seurat 4.3.0, + SignalP 6.0g, SimPEG 0.18.1, SLEPc 3.17.2, SNAP 2.0.1, SpaceRanger 2.0.0, SQLite 3.39.4, STAR-CCM+ 17.06.007, + SuperLU_DIST 8.1.0, tensorboardX 2.5.1, TensorFlow 2.8.4, tensorflow-probability 0.16.0, tesseract 5.3.0, + texinfo 6.8, TM-align 20190822, tmux 3.3a, TOBIAS 0.14.0, TOML-Fortran 0.3.1, Transformers 4.24.0, + typing-extensions 4.4.0, UCC 1.1.0, UCX-CUDA 1.13.1, util-linux 2.38.1, Valgrind 3.20.0, Vim 9.0.0950, VTK 9.2.2, + wandb 0.13.6, WebKitGTK+ 2.37.1, WPS 4.4, WRF 4.4, wxPython 4.2.0, wxWidgets 3.2.0, X11 20221110, xarray 2022.9.0, + XCFun 2.1.1, XGBoost 1.7.2, Xmipp 3.22.07, XZ 5.2.7, yaml-cpp 0.7.0, zarr 2.13.3, zlib-ng 2.0.6 +- minor enhancements, including: + - enable building of dev tools in recent PyQt5 easyconfigs (#16469) + - add extensions to R v4.2.1: LMERConvenienceFunctions (#16512), HGNChelper 4.2.1 (#16744) + - add extensions to R-bundle-Bioconductor 3.15: SPOTlight (#16569), HiCcompare (#16581), ROntoTools (#16636), + scDblFinder (#16686), numbat (#16777), HiCBricks (#16913), zellkonverter (#16952) + - add libmad dependency to SoX v14.4.2 (#16758) + - also install subtree support in recent git easyconfigs (#16784, #16785) + - add extensions to ESM-2 to enhance it for esmfold (#16841) + - add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (#16844) + - add KaHIP dependency to OpenFOAM v2206 (#16974) + - enable dataset support for recent versions of Arrow (#16956) +- various bug fixes, including: + - define $JUPYTER_PATH via modextrapaths rather than modextravars for IRkernel 1.x (#15776) + - add patches to fix PyTorch 1.10.0 build on POWER (#15904) + - fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (#16485) + - add patch for M4 1.4.18 to fix glibc v2.34 SIGSTKSZ compatibility (#16486) + - add patch for pybind11 2.6.0 to fix failing test due to extra whitespace (#16487) + - work around installation problem for extensions in Python 2.7.16 easyconfig due to missing build-backend spec in pyproject.toml (#16490) + - fix libsanitzer for glibc 2.36 to build GCCcore 10.x and 11.x (#16502) + - add OpenBLAS patches to disable FMA in [cz]cal and fix crash in zdot (#16510) + - add missing Perl build dependency GStreamer + add patch to skip trying to make files suid (#16516) + - build nodejs with OpenSSL and ICU provided as proper dependencies (#16529) + - also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (#16556) + - define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (#16570) + - disable use of -Werror in recent NSS easyconfigs (#16571) + - use 'cpan.metacpan.org' rather than 'www.cpan.org' in extension source_urls for recent Perl easyconfigs (#16611) + - avoid that zlib + htslib are downloaded and built during installation of MetaBAT (#16624) + - add patch to fix installation of MetaBAT 2.15 on non-x86_64 systems (#16633) + - add missing pyWannier90 dependency for mcu + enhance sanity check (#16667) + - fix source_urls for colossalai 0.1.8 (no longer available via PyPI, only via GitHub repo) (#16693) + - add patches to fix or skip PyTorch 1.12.1 tests (#16793) + - fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (#16819) + - upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (#16839) + - fix checksum for dlllogger extension in OpenFold v1.0.0 (#16694) + - make sure that Python dependency is actually used for VTK 9.0.1 (#16741) + - fix homepage for pocl v1.8 (#16857) + - fix source_urls in MUMPS easyconfigs (#16931, #16932) + - fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (#16946) + - add missing OpenSSL dependency to DCMTK 3.6.7 (#16979) + - fix source URL for PCRE2 (#16987) + - add pkgconf dependency for ICU and add patch to avoid trouble with long path names for nodejs-16.15.1/GCCcore-11.3.0 (#16990) + - add patch for libwpe 1.13.3 to avoid build issues on CentOS 7 (#17001) + - add missing zlib and zstd to GnuTLS (#17013) + - add missing pkgconf build dependency to Transformers v4.24.0 (#17020) + - fix checksums for xxx-rocm-4.5.0.tar.gz source tarballs for Clang-AOMP 4.5.0 (#17042) + - replace useless test step for simint 0.7 with (lightweight) sanity check command (#17044) +- other changes: + - only give read permissions in GitHub Actions workflows (#16263) + - remove ExomeDepth from recent R-bundle-Bioconductor easyconfigs (#16492) + - include tqdm as extension in the idemux bundle to avoid multivariant deps on GCCcore-10.2.0 (#16578) + - use new EasyBuild logo in README (#16641) + - rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (#16697) + - automatically cancel Github Action workflow runs for outdated commits (#16754) + - use geo moduleclass for SimPEG 0.14.1 (#16847) + + +4.6.2 (October 21st 2022) +------------------------- + +update/bugfix release + +- add easyconfig for intel/2022.09 toolchain (#16435) +- added example easyconfig files for 25 new software packages: + - AGAT (#16261), AMAPVox (#16438), Avogadro2 (#16257), buildingspy (#16308), CDBtools (#16436), + Compress-Raw-Zlib (#16307), CUDAcompat (#15892), CWIPI (#16342), enchant-2 (#16082, #16319), f90wrap (#16346), + Imath (#16276), Mamba (#16432), Miller (#16221), nghttp2 (#16096), ngtcp2 (#16098), NVSHMEM (#16254), + pairsnp (#16331), paladin (#16320), PyMOL (#16394), python-irodsclient (#16328), ruffus (#16428), + TELEMAC-MASCARET (#16274), torchdata (#16344), Waylandpp (#16092), x13as (#16163) +- added additional easyconfigs for various supported software packages, including: + - Amber 22.0, AMS 2022.102, ASE 3.22.1, atools 1.5.1, Beast 2.6.7, biogeme 3.2.10, Boost.Python 1.79.0, ccache 4.6.3, + dbus-glib 0.112, Delly 1.1.5, ESMF 8.3.0, expat 2.4.9, FDS 6.7.9, file 5.43, FLTK 1.3.8, FTGL 2.4.0, gc 8.2.2, + GitPython 3.1.27, Go 1.18.3, GPAW 22.8.0, Guile 3.0.8, htop 3.2.1, hunspell 1.7.1, IPython 8.5.0, jq 1.6, + Julia 1.8.2, LDC 1.30.0, libcint 5.1.6, libconfig 1.7.3, libreadline 8.2, LibSoup 3.0.7, LIBSVM 3.30, + libwebp 1.2.4, likwid 5.2.2, MariaDB 10.9.3, matplotlib 3.5.2, ncdu 1.17, netcdf4-python 1.6.1, Nextflow 22.10.0, + NFFT 3.5.3, Nipype 1.8.5, numactl 2.0.16, onedrive 2.4.21, OpenCV 4.6.0, OpenEXR 3.1.5, OpenJPEG 2.5.0, + OpenMM 7.7.0, OpenPGM 5.2.122, OpenSSL 1.1.1q, Perl 5.36.0, Pillow-SIMD 9.2.0, pkgconf 1.9.3, PostgreSQL 14.4, + PyCharm 2022.2.2, PyTorch 1.12.0, PyTorch 1.12.0, PyTorch-Lightning 1.7.7, RDFlib 6.2.0, SAMtools 1.16.1, + scikit-learn 1.1.2, Score-P 7.1, SDL2 2.0.22, spaln 2.4.12, spglib-python 2.0.0, SuiteSparse 5.13.0, SUNDIALS 6.3.0, + sympy 1.11.1, tensorboard 2.10.0, torchvision 0.13.1, TRIQS 3.1.1, TRIQS-cthyb 3.1.0, TRIQS-dft_tools 3.1.0, + TRIQS-tprf 3.1.1, TRUST4 1.0.7, TurboVNC 3.0.1, typing-extensions 4.3.0, UCX 1.13.1, umap-learn 0.5.3, VEP 107, + VMD 1.9.4a57, Wayland 1.21.0, wxWidgets 3.2.1, xprop 1.2.5 +- minor enhancements, including: + - configure recent pocl versions with -DLLC_HOST_CPU=native to avoid CPU auto-detection (#16246) + - add multi-dep exception to easyconfigs test suite for ncbi-vdb-3.0.0 which requires HDF5 1.10.x (#16316) + - enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (#16406) + - add GITHUB_(LOWER_)RELEASE to known constants in setup.cfg (#16422) + - add AMAPVox extension to R v4.2.1 (#16439) + - add OpenEXR depenency to POV-Ray 3.7.0.10 (#16408) +- various bug fixes, including: + - add patch for OpenBLAS 0.3.7-0.3.12 to fix miscomputation on POWER (#16199) + - skip flaky test in PyTorch 1.9.0 (#16258) + - add --with-versioned-syms to ncurses 6.2 and 6.3 (#16270) + - add missing pkg-config build dependency to Guile (#16317) + - add patches to fix incompatibilites between ASE and other packages in 2022a toolchain (#16332) + - add patches to fix PyTorch 1.11 on POWER (#16339) + - add patches for Ambertools 21 to Amber 20.11 to work with updated Amber easyblock (#16343) + - use Intel MPI from EasyBuild toolchain in AMS (#16363) + - fix execution permissions for bin/ngm* for NextGenMap v0.5.5 (#16383) + - fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (#16396) + - fix GitHub download link in for libpsl 0.21.1 (#16397) + - stick to http in source URL for stride.tar.gz in VMD 1.9.4a51 easyconfigs due to problems with SSL certificate (#16403) + - add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (#16407) + - add missing ICU + libunistring dependencies for libpsl 0.21.1 w/ GCCcore/10.3.0 (#16410) + - add patch to GCC 11.x + 12.x to fix vectorizer bug (#16411) + - fix checksum for GULP 6.1 (#16423) + - add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (#16450) +- other changes: + - drop Java dep from ABAQUS 2022 (#16314) + - deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (#16384) + - update easyconfigs to use `SYSTEM` template constant instead of `True` in dependencies (#16386, #16418) + - update libxml2 + libxslt easyconfigs to use gnome.org source URL (#16429) + + +v4.6.1 (September 12th 2022) +---------------------------- + +update/bugfix release + +- added example easyconfig files for 37 new software packages: + - AptaSUITE (#8583), BigDFT (#15860), colossalai (#15971), CrystFEL (#8407), Dakota (#15883, #16210), + FastFold (#15972), fastparquet (#15020), FOX-Toolkit (#15986), GLM-AED (#15879), hiredis (#16071), + how_are_we_stranded_here (#16220, #16227), indicators (#16209), JavaFX (#8583), json-fortran (#15979), + jupyter-resource-usage (#15834), libev (#16086), libmad (#16067), libplinkio (#13040), LuaJIT2-OpenResty (#16047), + MetaMorpheus (#15825), mgltools (#16226), miniasm (#15858), muMerge (#16115), nano (#16198), nghttp3 (#16097), + olaFlow (#16021), OpenFAST (#15983, #15983), OpenFold (#15971), Phantompeakqualtools (#15871), + pyGenomeTracks (#16143), QuickPIC (#15978), RheoTool (#16077), Satsuma2 (#16068), SMC++ (#16017), stripy (#15866), + UCC-CUDA (#15956), VESTA (#16217) +- added additional easyconfigs for various supported software packages, including: + - alevin-fry 0.6.0, AmberTools 22.3, arrow-R 8.0.0, ASE 3.22.1, BBMap 38.98, BCFtools 1.15.1, binutils 2.39, + BLAST+ 2.13.0, Bowtie2 2.4.5, BUSCO 5.4.3, CapnProto 0.10.2, Cartopy 0.20.3, ccache 4.6.1, cclib 1.7.2, CDO 2.0.5, + CellRanger-ATAC 2.1.0, CoordgenLibs 3.0.1, cURL 7.84.0, cuTENSOR 1.6.0.3, einops 0.4.1, Elk 8.5.2, Emacs 28.1, + Embree 3.13.4, FFmpeg 4.4.2 + 5.0.1, fio 3.32, Flask 2.2.2, Flye 2.9.1, fmt 9.1.0, FORD 6.1.15, FreeSurfer 7.3.2, + GATE 9.2, GATK 4.2.6.1, GCC(core) 12.2.0, GDB 12.1, Geant4 11.0.2, GetOrganelle 1.7.6.1, gifsicle 1.93, GLFW 3.3.8, + glib-networking 2.72.1, Globus-CLI 3.6.0, gnuplot 5.4.4, gperftools 2.10, Graphviz 5.0.0, Gurobi 9.5.2, HDF5 1.12.2, + HTSlib 1.15.1, Hypre 2.25.0, Jansson 2.14, jax 0.3.14, Kalign 3.3.2, kim-api 2.3.0, LAMMPS 23Jun2022, libcerf 2.1, + libdwarf 0.4.1, Libint 2.7.2, libQGLViewer 2.8.0, LibSoup 2.74.0, libzip 1.9.2, Lua 5.4.4, lxml 4.9.1, + maeparser 1.3.0, matplotlib 3.5.2, MATSim 14.0, MDAnalysis 2.2.0, medaka 1.6.0, Megalodon 2.5.0, Mercurial 6.2, + MetaEuk 6, Mini-XML-3.3.1, MUMmer 4.0.0rc1, MUMPS 5.5.1, netCDF-Fortran 4.6.0, NGSpeciesID 0.1.2.1, + ont-remora 1.0.0, OpenFOAM v2206, OTF2 3.0, parallel 20220722, ParaView 5.10.1, patchelf 0.15.0, Perl 5.36.0, + pftoolsV3 3.2.12, PLINK 2.00a3.6, pretty-yaml 21.10.1, PRSice 2.3.5, pugixml 1.12.1, Pyomo 6.4.2, + PyOpenCL 2021.2.13, Pysam 0.19.1, PyStan 3.5.0, PyYAML 6.0, RDKit 2022.03.5, scikit-bio 0.5.7, scikit-build 0.15.0, + scikit-learn 1.1.2, scikit-optimize 0.9.0, SCOTCH 7.0.1, SIONlib 1.7.7, SISSO 3.1, spglib-python 2.0.0, Stacks 2.62, + Stata 17, SUMO 1.14.1, tbb 2021.5.0, tqdm 4.64.0, Transformers 4.21.1, Trycycler 0.5.3, Unicycler 0.5.0, + Valgrind 3.19.0, ViennaRNA 2.5.1, VTune 2022.3.0.eb, wxPython 4.1.1, x264 20220620, Z3 4.10.2, zfp 1.0.0 +- minor enhancements, including: + - add alternate download URL for Voro++ (#15898) + - add extra symlinks and sanity checks for libtinfo in ncurses (#15903) + - include some easyconfig constants in flake8 configuration file (#16040) + - add pigz dependency for cutadapt v3.4 + v3.5 (#16056) + - add sanity check commands for recent gettext versions (>= 0.20.x) (#16091) +- various bug fixes, including: + - use correct Matlab Runtime Compiler (v8.4) for FreeSurfer v7.1.1 (#13375) + - fix set-alias statements for MaxQuant v2.0.3.0 (#15743) + - add Autotools build dependency to R 4.2.0 w/ foss 2021b (#15822) + - add patch for BLIS to fix auto-detection of POWER (#15826) + - downgrade SPAdes dependency to v3.13.1 for Unicycler 0.4.9 since v3.15.3 is too new (#15840) + - explicitly enable HDF5 from kallisto v0.46.2 onwards (#15843) + - add CVE patch for XZ 5.2.5 + attempt to fix symbol patch for all OSs (#15856) + - use build enviroment set by EasyBuild and add missing dependency on zlib to minimap2 (#15859) + - add missing dependencies and execute tests on Trycycler v0.5.2 (#15864) + - add patch for AlphaFold v2.2.2 to fix NaN problem with jax 0.3.9 (#15874) + - exclude (flaky) fault_tolerance_test and fix non-x86 build for TensorFlow 2.7.1 (#15882) + - work around miscompilation of OpenBLAS on POWER by compiling with -fstack-protector-strong (#15885) + - fix tests on POWER9 for BLIS 0.9.0 + fix auto-detect for POWER10 for BLIS (AMD) v2.0 + v3.0 (#15889) + - add and fix patches for PyTorch 1.9.0 on POWER (#15919) + - exclude Binary, PackedBinary and JAR easyblocks from binutils build requirements (#15932) + - consistently add libffi + elfutils dependencies to recent Clang easyconfigs (#15935, #16225) + - add patch to fix broken test on POWER for numpy in SciPy-bundle 2022.05 (#15968) + - refactor checksum test for extensions to use collect_exts_file_info (#15973) + - fix dependency on FOX Toolkit in SUMO (#15986) + - add missing SciPy-bundle dependency for rMATS-turbo (#15988) + - explictely download wannier90 source tarball from wannier90 GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#15993) + - restore ploteig in EIGENSOFT 7.2.1 (#15996) + - add alternative checksum for plot3Drgl extension in R v4.1.x + v4.2.0 easyconfigs (#16011) + - add patch to fix missing sync in LINCS and SETTLE CUDA kernels for GROMACS 2020 (#16027) and 2021 (#16026) + - exclude failing test in TensorFlow 2.4.1 (#16042) + - skip NASA performance and remote server tests in netCDF v4.9.0 (#16050, #16158) + - use versioned symbols in ncurses built with system toolchain (by adding --with-versioned-syms configure option) (#16064) + - add patch to fix pkgconfig file for Blitz++ v1.0.2 (#16102) + - add missing BCFtools dependency for recent medaka versions (#16107) + - add GTK2 v2.24.33 as a dependency for Ghostscript v9.56.1 (#16112) + - fix checksum for Stacks v2.62 (due to silent re-release without version bump) (#16134) + - fix libsanitzer for glibc 2.36 to build GCCcore 11.3.0 (#16145) + - fix top level Makefile for AmberTools 20 and enable tests (#16150) + - add missing patches + enable running tests for AmberTools 21 with intel/2021a (#16151) and intel/2021b (#16152) + - replace HDF5 v1.13.1 with v1.12.1 as dependency, since we shouldn't use odd minor versions of HDF5 which are not stable releases (#16153) + - remove modextrapaths to add top-level install directory to $PATH for recent InterProScan easyconfigs (now done by default by Binary easyblock) (#16167) + - fix sources + source URL + homepage for Molekel v5.4.0 (#16219) + - consistently add maeparser + CoordgenLibs dependencies to OpenBabel 3.1.1 easyconfigs (#16231) + - fix checksum for CUDA 11.4.1 aarch64 installer (#16234) + - remove incorrect comment for Boost dependency in OpenBabel 3.1.1 easyconfigs (#16238) + - add direct Pango dependency in recent ImageMagick easyconfigs (#16237) +- other changes: + - remove superflous -DCMAKE_BUILD_TYPE=Release, use of 'build_type = Release', or enabling separate_build_dir from easyconfigs using CMakeMake easyblock (#13384) + - synchronize ncurses easyconfigs using system toolchain (#15903) + - stick to Java/11 as dependency for Bazel 5.1.1 (which is available for x86_64, aarch64, ppc64le) (#15906) + - speed up OpenMPI 4.1.4 configure by not running "autogen.pl --force", but only running required Autotools commands (#15957) + - replace sed commands by upstreamed patches for BLIS built with intel-compilers toolchain (#15958) + - simplify AlphaFold foss/2021a easyconfigs by using a fleshed out patched OpenMM dependency (#15981) + - update Java/11 to 11.0.16 and Java/17 to 17.0.4 (#16001) + - remove unecessary patch in recent JupyterLab (#16030) + - update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#16070) + - make check for toolchain value in dependency spec in easyconfigs test suite aware that dumped easyconfig uses SYSTEM constant (#16126) + + +v4.6.0 (July 8th 2022) +---------------------- + +feature release + +- added easyconfigs for foss/2022a, intel/2022a common toolchains (#15755) +- add easyconfig for gfbf/2022a toolchain (#15653, #15755) + - see also https://docs.easybuild.io/en/latest/Common-toolchains.html +- added example easyconfig files for 24 new software packages: + - BLT (#15624), category_encoders (#15638), fio (#10321), FSON (#15721), G-PhoCS (#7619), GCTA (#15649), + Gibbs2 (#15702), InterProScan_data (#15717), Jorg (#15346), libopus (#15682), Minipolish (#15713), + mm-common (#15764), MONA (#15696), NetPyNE (#15606), pfind (#15685), regionmask (#15786), samplot (#15686), + SISSO (#15766), sklearn-pandas (#15637), STAR-CCM+ (#7398), SWIPE (#6795), topaz (#15739), + uncertainty-calibration (#15612), Virtuoso-opensource (#14102) +- added additional easyconfigs for various supported software packages, including: + - AlphaFold 2.2.2, Arriba 2.3.0, Arrow 8.0.0, Bracken 2.7, CellRanger 7.0.0, Clp 1.17.7, CoinUtils 2.11.6, + cppy 1.2.1, deal.II 9.3.3, double-conversion 3.2.0, Doxygen 1.9.4, FLAC 1.3.4, fmt 7.1.1, FSL 6.0.5.1, GDAL 3.5.0, + gdbm 1.21, geopandas 0.11.0, GEOS 3.10.3, Ghostscript 9.56.1, GLibmm 2.66.4, Groovy 4.0.3, GULP 6.1, h5py 3.7.0, + HDF5 1.13.1, hifiasm 0.16.1, IGMPlot 2.6.9b, ImageMagick 7.1.0-37, InterProScan 5.55-88.0, IRkernel 1.3, + jemalloc 5.3.0, JsonCpp 1.9.5, Julia 1.7.3, Leptonica 1.82.0, libgeotiff 1.7.1, libgit2 1.4.3, libiconv 1.17, + libRmath 4.2.0, libsigc++ 2.10.8, libsndfile 1.1.0, libxc 5.2.3, libxml++ 2.42.1, line_profiler 3.5.1, + LittleCMS 2.13.1, MaSuRCA 4.0.9, mayavi 4.7.4, MetaEuk 5, mold 1.3.0, NCCL 2.12.12, netCDF 4.9.0, nettle 3.8, + networkx 2.8.4, NEURON 7.8.2, NLopt 2.7.1, nodejs 16.15.1, NSPR 4.34, NSS 3.79, nsync 1.25.0, nvtop 2.0.2, + Osi 0.108.7, p4est 2.8, parasail 2.5, Pillow 9.1.1, PLUMED 2.8.0, PnetCDF 1.12.3, PRISMS-PF 2.2, PROJ 9.0.0, + protobuf 3.19.4, protobuf-python 3.19.4, pyfaidx 0.7.0, PyOpenGL 3.1.6, pyproj 3.3.1, PyTorch 1.11.0, Qhull 2020.2, + Qt5 5.15.5, QuantumESPRESSO 7.1, Qwt 6.2.0, R 4.2.1, rasterio 1.2.10, Ray-project 1.13.0, RE2 2022-06-01, + redis-py 4.3.3, ReFrame 3.11.2, rioxarray 0.11.1, RNA-SeQC 2.4.2, Schrodinger 2022-2, Shapely 1.8.2, Siesta 4.1.5, + SimpleITK 2.1.1.2, SpectrA 1.0.1, TensorFlow 2.7.1, Tk 8.6.12, Tkinter 3.10.4, Transformers 4.20.1, + UCX-CUDA 1.12.1, utf8proc 2.7.0, WhatsHap 1.4, WPS 3.9.1, Xvfb 21.1.3 +- minor enhancements, including: + - add extensions to R v4.2.0: hypergeo (#15701), rtdists (#15734), geeM (#15810) + - add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (#15715) + - add patch for porefoam to fix hardcoded mpirun command and take into account $POREFOAM_MPIRUN_CMD (#15730) +- various bug fixes, including: + - switch to Rust 1.60.0 build dependency for bamtofastq, since build of fails with Rust 1.52.1 (#15636) + - avoid that pygmo v2.18.0 installs stuff in Python installation directory + add custom sanity check paths to pygmo easyconfigs (#15657) + - add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (#15691) + - correct configopts in deal.II v9.1.1 easyconfig (#15692) + - add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (#15694) +- other changes: + - disable flaky GPU test for TensorFlow 2.6.0 (#15824) + + +v4.5.5 (June 8th 2022) +---------------------- + +update/bugfix release +- add candidates for 2022a common toolchains: foss/2022.05 (#15561), intel/2022.05 (#15485) +- added example easyconfig files for 35 new software packages: + - Albumentations (#15302), AMPtk (#15435), arosics (#15249), CellTypist (#15530), detectron2 (#15442), + EigenExa (#15234), Fastaq (#15332), FFTW.MPI (#15561), FreeBarcodes (#15350), gcloud (#15443), + GST-plugins-bad (#15446), gsutil (#15507), GTK4 (#15447), hector (#15397), i7z (#15236), libde265 (#15395), + libheif (#15395), ModelTest-NG (#15448), num2words (#15473), OGDF (#15407), panito (#15314), + parameterized (#15481), purge_dups (#15385), redis-py (#15475), ruamel.yaml (#15531), SCGid (#15065), + scPred (#15575), slow5tools (#15457), smooth-topk (#15506), SPOTPY (#15326), tmap (#14601), UCC (#14291), + Wayland (#11107), XGrafix (#15268), XPLOR-NIH (#15479) +- added additional easyconfigs for various supported software packages, including: + - ABAQUS 2022, Arb 2.22.1, ARGoS 3.0.0, Arriba 2.2.1, astropy 5.0.4, ATK 2.38.0, Autotools 20220317, + Bader 1.04, Bazel 4.2.2 + 5.1.1, BDBag 1.6.3, binutils 2.38, biom-format 2.1.12, BLIS 0.9.0, Boost 1.79.0, + breseq 0.36.1, bx-python 0.8.13, cairo 1.17.4, CellRanger-ARC 2.0.1, CMake 3.23.1, cryoDRGN 1.0.0, + CUDA 11.7.0, cuDNN 8.4.1.50, cURL 7.83.0, DBus 1.14.0, eggnog-mapper 2.1.7, elfutils 0.187, + EvidentialGene 2022.01.14, expat 2.4.8, FlexiBLAS 3.2.0, FLINT 2.8.4, fontconfig 2.14.0, freebayes 1.3.6, + freeglut 3.2.2, freetype 2.12.1, FriBidi 1.0.12, GCC 9.5.0 + 11.3.0 + GCC 12.1.0, Gdk-Pixbuf 2.42.8, + geopandas 0.10.2, git 2.36.0, GLib 2.72.1, GMAP-GSNAP 2021-21-17, Go 1.18.1, GObject-Introspection 1.72.0, + Graphene 1.10.8, GST-plugins-base 1.20.2, GStreamer 1.20.2, GTDB-Tk 2.0.0, GTK3 3.24.33, gzip 1.12, + HarfBuzz 4.2.1, help2man 1.49.2, hwloc 2.7.1, hypothesis 6.46.7, Hypre 2.24.0, ICU 71.1, IGV 2.12.3, + IMB 2021.3, inferCNV 1.10.1, InterProScan 5.52, IQ-TREE 2.2.1, jax 0.3.9, json-c 0.16, LAPACK 3.10.1, + libarchive 3.6.1, libdeflate 1.10, libdrm 2.4.110, libedit 20210910, libepoxy 1.5.10, libfabric 1.15.1, + libglvnd 1.4.0, libjpeg-turbo 2.1.3, libreadline 8.1.2, librsb 1.3.0.1, librsvg 2.52.8, libtool 2.4.7, + libunwind 1.6.2, libxml2 2.9.13, LLVM 14.0.3, LocARNA 1.9.2.3, MACS2 2.2.7.1, magma 2.6.2, Mako 1.2.0, + Mathematica 13.0.0, MCL 14.137, MCR R2022a.1, Mesa 22.0.3, Meson 0.62.1, MIRA 5.0rc2, Mmg 5.6.0, mold 1.2.1, + mosdepth 0.3.3, MrBayes 3.2.7a, MultiQC 1.12, MUMPS 5.5.0, muParser 2.3.3, ncurses 6.3, neptune-client 0.16.2, + Nextflow 22.04.0, Nim 1.6.6, NTPoly 2.7.1, OpenMPI 4.1.4, openpyxl 3.0.9, OpenSSL 1.1.1n, OpenStackClient 5.8.0, + OSU-Micro-Benchmarks 5.9, pagmo 2.18.0, Pango 1.50.7, parallel-fastq-dump 0.6.7, PCRE2 10.40, Perl 5.34.1, + Pillow 9.1.0, PLINK 2.00a3.1, PMIx 4.1.2, PyAMG 4.2.3, pybind11 2.9.2, PyCairo 1.21.0, pygmo 2.18.0, + PyGObject 3.42.1, Python 3.10.4, R 4.2.0, RAxML-NG 1.1.0, R-bundle-Bioconductor 3.15, ReFrame 3.11.0, + RNA-Bloom 1.4.3, rnaQUAST 2.2.2, Rust 1.60.0, Sambamba 0.8.2, SAMtools 1.15.1, ScaLAPACK 2.2.0, + SciPy-bundle 2022.05, SeqKit 2.2.0, Shapely 1.8.1.post1, SpaceRanger 1.3.1, Spack 0.17.2, Spark 3.2.1, + SQLite 3.38.3, StringTie 2.2.1, SUMO 1.12.0, SuperLU 5.3.0, tbl2asn 20220427, Tcl 8.6.12, TCLAP 1.2.5, + tcsh 6.24.01, texlive 20220321, ToFu 1.5.0, UCX 1.12.1, util-linux 2.38, VEP 105, ViennaRNA 2.5.0, + vsc-mympirun 5.2.11, worker 1.6.13, X11 2022050, YAXT 0.9.2.1, Z3 4.8.16, Zip 3.0, zlib 1.2.12, zstd 1.5.2 +- minor enhancements, including: + - use OpenSSL wrapper dependency for CMake 3.18.4 with system toolchain (#15227) + - also build BLIS backend for FlexiBLAS v3.0.4 with GCC/10.3.0 (#15347) + - add extensions to R v4.1.2 + v4.2.0 easyconfigs: + - Hmsc (#15393), MonteCarlo + RhpcBLASctl (#15438), chkptstanr (#15540), chkptstanr + MLmetrics + renv (#15573) + - add extensions to R-bundle-Bioconductor 3.14 easyconfig: DNABarcodes (#15405) + - use redist source_urls for cuDNN > 7.5 (#15411) + - add download_instructions to Java 1.8 > 200 (#15412) + - update Arrow to use EasyBuild-provided versions of some dependencies and enable all compression codecs (#15512) + - add csh -> tcsh symlink in recent tcsh easyconfigs (#15571) + - allow external tools to be located elsewhere for ETE (#15578) + - add additional sanity check commands for IQ-TREE v2.2.1 (#15596) +- various bug fixes, including: + - fix source URL for freetype 2.6.5 with foss/2016b (#14204) + - fix installation of easybuild-easyconfigs with setuptools>=61 by explicitly declaring there are no Python packages (#15206) + - use x.py to boostrap Rust so that build options are properly passed through (#15211) + - fix RepeatMasker-4.1.2-p1 easyconfig by moving the database configure command to postinstallcmds (#15280, #15615) + - add hwloc dependency to tbb v2021.4.0 (#15294) + - tweak find command used in preconfigopts in easyconfig for pkg-config v0.29.2 with system toolchain to avoid descending into other filesystems (#15313) + - remove pkg-config use from SeqLib configure patch (avoids problem due to faulty autoconf macro) (#15316) + - update source URL for isl in GCCcore easyconfigs (#15320) + - update source URLs for YAXT 0.9.x to fix download (#15323) + - define $HHLIB as path to HH-suite installation directory, required by Perl scripts (#15324) + - add missing parallel and tbl2asn dependencies for prokka 1.14.5 (#15360, #15381) + - add missing dependencies for libheif (libpng, libjpeg-turbo) (#15408) + - switch to configuring build of libheif with CMake so libde265 dependency is picked up (#15408) + - disable use of -ftree-vectorize for OpenFOAM v2112 with foss/2021b (#15495) + - add patch for OpenMPI 4.1.1 to support building using --with-cuda=internal (#15528, #15589) + - add patch to fix support for external PMIx v3.1 in OpenMPI v3.1.3 (#15566) + - also build shared library + fix $PYTHONPATH for gmsh 4.9.0 (#15579) + - add patch for GLib 2.68.2 to fix use of close_range (#15594) + - fix download of thrift 0.12.0 for Arrow 0.16.0 (#15597) + - add Bison and flex build dependencies to SCOTCH 6.1.x (#15618) + - add alternative checksums for class, nnet, spatial extensions in R v4.2.0 easyconfig (#15619) + - add missing dependencies + switch to non-static build for Arriba v2.1.0 (#15623) +- other changes: + - add R dependency to vcflib 1.0.3, and move from GCC/11.2.0 to foss/2021b toochain (#15216) + - update fallback version for OpenSSL 1.1 wrapper to v1.1.1o (#15592) + - install sklearn meta-package with scikit-learn v1.0.1 (#15613) + - switch from pkg-config to pkgconf as build dependency for OpenSSL wrapper easyconfigs (#15616, #15617) + + +v4.5.4 (March 31st 2022) +------------------------ + +update/bugfix release +- added example easyconfig files for 29 new software packages: + - Abseil (#15102), AMS (#13155), ArchR (#15119), CMAverse (#14963), CmdStanR (#15198), CONN (#15052), + Devito (#14984, #15009), GraphMap (#10299), gRPC (#14728), Hydra (#15025), jupyter-server-proxy (#14844), + M1QN3 (#15002), MAGeCK (#15082), matplotlib-inline (#15084), MEGAN (#15064), MNE-Python (#15174), + ONNX (#15158), ONNX-Runtime (#15158), ont-remora (#15162), Optuna (#15021), patch (#15035), + porefoam (#15067), presto (#15119), PyFrag (#15184), skorch (#15175), SlamDunk (#15197), SPM (#15050), + STRique (#14980), XML-Compile (#15177) +- added additional easyconfigs for various supported software packages, including: + - ABAQUS 2021, AlphaFold 2.1.2, AmberTools 21, archspec 0.1.3, Bandage 0.9.0, BLIS 3.1, c-ares 1.18.1, + CCL 1.12.1, CharLS 2.3.4, Clang-Python-bindings 13.0.1, dcm2niix 1.0.20211006, DFTB+ 21.1, DIRAC 22.0, + ELPA 2021.11.001, FlexiBLAS 3.1.3, FLUENT 2021R2, GATK 4.2.5.0, GetOrganelle 1.7.5.3, IgBLAST 1.18.0, + IntelClusterChecker 2021.5.0, intervaltree-python 3.1.0, ITSx 1.1.3, Julia 1.7.2, kallisto 0.48.0, + KMC 3.2.1, libobjcryst 2021.1.2, libtree 3.0.3, loompy 3.0.7, matplotlib 3.5.1, MCR R2022a, + MDAnalysis 1.1.1+ 2.0.0, MDTraj 1.9.7, medaka 1.5.0, meshalyzer 20200308, MRtrix 3.0.3, NiBabel 3.2.2, + NLTK 3.7, numexpr 2.8.1, ont-fast5-api 4.0.2, OpenAI-Gym 0.21.0, OpenBLAS 0.3.20, ORCA 5.0.3, + parallel-fastq-dump 0.6.6, PIPITS 2.8, pocl 1.8, pycocotools 2.0.4, pyEGA3 4.0.0, pyobjcryst 2.2.1, + RE2 2022-02-01, SAMtools 1.15, SBCL 2.2.1, shovill 1.1.0, SKESA 2.4.0, SOCI 4.0.3, sympy 1.9, TensorFlow 2.5.3, + VirtualGL 3.0, vsc-mympirun 5.2.10, VSEARCH 2.21.1, VTK 9.1.0, VTune 2022.2.0, XGBoost 1.5.0 +- minor enhancements, including: + - add Flask-Session to Flask v1.1.4 and Flask v2.0.2 (#15027) + - add check to verify that patch files touched in PRs have a description in place (#15061) + - add extensions to R v4.1.2 easyconfig: hash (#15098), nabor + harmony (#15117), apluster, DataCombine, docstring, gdalUtils, openair, mstate, SNFtool, and deps (#15141) + - also install rMATS_P commands in rMATS-turbo easyconfig (#15113) + - add extensions to Bioconductor v3.14 easyconfig: chromVAR (#15118), EnsDb.Hsapiens.v79 (#15154), WGCNA (#15178) + - add extensions to Perl v5.34.0 easyconfigs: Sys::Info, HTML::Template, Log::Report (#15176), Sys::Info::Driver::Unknown, Sys::Info::Driver::Linux, Unix::Processors (#15190) + - enable running of tests for MEME with gompi/2021b (#15191, #15199) +- various bug fixes, including: + - add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (#14847) + - downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs using GCCcore/10.3.0 toolchain (#14942) + - add additional valid checksum for extensions in R 4.1.0 and 4.1.2 easyconfigs: norm (#14987), optmatch (#14993) + - avoid pollution in the tmp directory when running the AlphaFold tests (#14989) + - consistently enable usempi toolchain option in OSU-Micro-Benchmarks easyconfigs (#15039) + - fix GBprocesS easyconfig by switching to source tarball created using git_config (#15048) + - add patches for mauveAligner to fix build on RHEL8 (#15049) + - fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (#15051) + - add patch to fix linking error for imread extension in scikit-image easyconfigs using intel toolchain (#15054) + - avoid excessively long shebang in Autoconf/Automake Perl scripts + promote Perl to runtime dependency + fix Perl shebang for intltool (#15055) + - fix python shebang in cutadapt script for cutadapt 1.18 w/ GCCcore/8.3.0 (#15059) + - don't use v2.1.0rc1 release candidate of gmpy2, stick to proper release v2.1.2 (#15060) + - add M4 as build dependency for CCL-1.12 (#15075) + - configure libffi 3.4.2 with --disable-exec-static-tramp to prevent segfaults (#15086) + - set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (#15097) + - remove disable flag for RTTI in snappy v1.1.9 (#15099) + - fix grconvert build for Grace/5.1.25 with foss/2021a by adding libtirpc dependency + related patch (#15121) + - clean up PSolver and futile easyconfigs and add dynamic libs (#15148) + - enhance vcflib easyconfigs to also install scripts (#15181) + - add patch to fix shared linking in vcflib (#15203) + - fix failing sanity check for PRINSEQ (#15205) +- other changes: + - use typing-extensions from Python v3.9.6 easyconfig in ArviZ and PyMC3 (#15003) + - disable building of documentation for DBus 1.13.18 (#15010) + - consistently use system toolchain in EasyBuild easyconfigs (#15126) + - use EasyBuild hwloc in likwid and move to GCC/intel-compiler level due to Fortran modules (#15149) + + +v4.5.3 (February 11th 2022) +--------------------------- + +update/bugfix release +- added example easyconfig files for 25 new software packages: + - Arcade-Learning-Environment (#14753), Bambi (#14811), CASTEP (#14420), Crumble (#14785), deepmedic (#14953), + FoBiS (#14771), histolab (#14945), Iris (#14788), Jasmine (#14789), libexif (#14823), libgdiplus (#14823), + MuJoCo (#14965), mujoco-py (#14776, #14965), namedlist (#14814), OpenCensus-python (#14837), PyEVTK (#14911), + pyradiomics (#14851), PyTorch-Lightning (#14933), Redis (#14783), rising (#14952), SoXt (#14803), + SURVIVOR (#14786), tensorboard (#14926), xtensor (#14944), xxd (#14846) +- added additional easyconfigs for various supported software packages, including: + - aiohttp 3.8.1, AOCC 3.2.0, ArviZ 0.11.4, BeautifulSoup 4.10.0, bokeh 2.4.2, Boost.Python 1.77.0, + Bowtie 1.3.1, CheMPS2 1.8.11, Clang 13.0.1, CLHEP 2.4.5.1, ConnectomeWorkbench 1.5.0, Crumble 0.8.3, + CUDA 11.5.1 + 11.6.0, cutadapt 3.5, dask 2022.1.0, deepdiff 5.7.0, deepTools 3.5.0, dm-tree 0.1.6, + DROP 1.1.1, ecCodes 2.24.2, Emacs 27.2, FDS 6.7.7, file 5.41, Flask 2.0.2, FORD 6.1.6, GATE 9.1, + Geant4 11.0.0, GEMMA 0.98.5, GnuTLS 3.7.3, Go 1.17.6, gpustat 1.0.0b1, Graphviz 2.50.0, GROMACS 2021.5, + Guile 3.0.7, HDF5 1.10.8, imageio 2.13.5, JupyterLab 3.2.8, lftp 4.9.2, libBigWig 0.4.6, libpsml 1.1.10, + libRmath 4.1.2, librsb 1.3.0.0, libtasn1 4.18.0, libunistring 1.0, likwid 5.2.1, MaxQuant 2.0.3.0, + MEGA 11.0.10.eb, MethylDackel 0.6.1, methylpy 1.2.9, minimap2 2.24, Mono 6.12.0.122, MUSCLE 5.1, + nanomax-analysis-utils 0.4.3, ncbi-vdb 2.11.2, NCIPLOT-4.0 20200624, Nextflow 21.10.6, NGS 2.11.2, + nvtop 1.2.2, OpenCV 4.5.5, openslide-python 1.1.2, pftoolsV3 3.2.11, picard 2.26.10, pydicom 2.2.2, + pyFAI 0.20.0, Pysam 0.18.0, pytest-xdist 2.5.0, Racon 1.5.0, RAxML 8.2.12, ReFrame 3.10.1, ROOT 6.24.06, + scikit-image 0.19.1, SDL2 2.0.20, SeqKit 2.1.0, Siesta 4.1.5, SimpleITK 2.1.1, SqueezeMeta 1.5.0, + tMAE 1.0.1, torchvision 0.11.3, Trim_Galore 0.6.7, typing-extensions 3.10.0.2 +- minor enhancements, including: + - also install Python bindings for SHTns 3.5.1 (#14893) + - add catlearn extension to easyconfig for R v4.1.2 (#14940) +- various bug fixes, including: + - update TALYS sources to (hopefully) ensure constant checksums (#14797) + - add missing graphite2 + HarfBuzz dependencies to Qt5 v5.15.2 (#14802) + - add missing UCX-CUDA dep to GROMACS for foss-2021a-CUDA-11.3.1 (#14859) + - specify easybuild.io as EasyBuild homepage in setup.py (#14870) + - add alternative checksum for MASS, class, nnet, spatial extensions in R 4.1.0 (#14873) and R 4.1.2 (#14880) easyconfigs + - add patch to fix Kraken2 ncbi ftp/https check in rsync_from_ncbi.pl for versions 2.0.9-2.1.1 (#14889) + - disable building of tests/benchmarks for snappy 1.1.8 to avoid failing build (#14923) + - disable use of -Werror for recent NSS versions (#14924) + - fix download URL in UDUNITS v2.2.28 easyconfigs (#14954) + - remove unnecessary CUDAcore dependency from nvtop v1.2.1 easyconfig (#14957) + - consistently apply patch for mapDamage 2.2.1 to use external seqtk (#14961) + - fix typo in templated source URL in RcppGSL 0.3.8 easyconfig: $(name)s should be %(name)s (#14962) +- other changes: + - update Java/17 wrapper to Java 17.0.2 (#14868) + - use actions/setup-python@v2 in CI workflows + trim test configurations for easyconfigs test suite: only test with Python 2.7 + 3.6 and Lmod 7.x + 8.x (#14857, #14881) + + +v4.5.2 (January 24th 2022) +-------------------------- + +update/bugfix release + +- added easyconfig for intel/2022.00 toolchain (#14620) +- added example easyconfig files for 48 new software packages: + - alevin-fry (#14617), AMD-uProf (#14626), ANGEL (#11857), atropos (#7580), Austin (#14596), AutoDock-GPU (#14671), + AutoDock-Vina (#14675), boost_histogram (#14516), CAFE5 (#14603), Calcam (#7488), Carma (#14527), Cogent (#14278), + dlib (#14556), DualSPHysics (#14632), dune-core (#14693), dune-fem (#14693), DyMat (#14615), elbencho (#14548), + Embree (#7471), ExaML (#14530), FMPy (#14481), genozip (#14583), hivtrace (#14691), intervaltree-python (#8995), + IsoNet (#14075), MACSE (#14709), MetaPhlAn (#12917), MicrobeAnnotator (#14549), mold (#14595), numdiff (#14609), + OpenFace (#14556), PhyloPhlAn (#14564), PREQUAL (#14722), PuLP (#14581), PyCalib (#14616), PyTorch3D (#13240), + QCG-PilotJob (#14337), RaGOO (#8995), RAPSearch2 (#13199), SCopeLoomR (#14518), ShengBTE (#14557), SHTns (#14682), + STRUMPACK (#14560), TALYS (#14716), TN93 (#14691), xxHash (#14251), yaml-cpp (#14547), Zgoubi (#14516) +- added additional easyconfigs for various supported software packages, including: + - annovar 20200607, antiSMASH 5.2.0, Armadillo 10.7.5, Arrow 6.0.1, Bismark 0.23.1, BLAST+ 2.12.0, + cDNA_Cupcake 26.0.0, CHERAB 1.3.0, CMake 3.22.1, CP2K 8.2, DIAMOND 2.0.13, dotNET-Core-Runtime 6.0.1, + dotNET-SDK 6.0.101, Extrae 3.8.3, fastp 0.23.2, FreeSurfer 7.2.0, GffCompare 0.12.6, gmsh 4.9.0, GTK3 3.24.31, + h5py 3.6.0, igraph 0.9.5, Inspector 2022.0.0, IQ-TREE 2.1.3, itac 2021.5.0.eb, Java/15 + Java/17, JUBE 2.4.2, + libdeflate 1.8, libxsmm 1.17, LSD2 2.3, MAGMA 1.09b, MATLAB 2021b, MinPath 1.6, MultiQC 1.11, MUSCLE 5.0.1428, + numba 0.54.1, NVHPC 21.11, OBITools 1.2.13, occt 7.5.0p1, openCARP 8.2, OpenCV 3.4.1, OpenFOAM v2112, ORCA 5.0.2, + phonopy 2.12.0, Pillow 8.3.2, Pillow-SIMD 8.3.2, PLUMED 2.7.3, poppler 22.01.0, PyQtGraph 0.12.3, + python-igraph 0.9.8, PyZMQ 22.3.0, Raysect 0.7.1, Rgurobi 9.5.0, scanpy 1.8.2, Schrodinger 2021, SqueezeMeta 1.0.0, + statsmodels 0.13.1, texlive 20210324, VTune 2022.0.0 +- minor enhancements, including: + - add yaml-cpp dependency to Trilinos 12.12.1 with foss/2019b (#14547) + - include output of failing code style check in message produced by failing easyconfigs style test (#14578) + - bundle LAPACKE with FlexiBLAS 3.0.4 (#14591, #14769) + - add extensions to R v4.1.2 easyconfig: semTools, mirt, OpenMX (#14634), FactorCopula (#14648), rpact, ldbounds (#14750) + - add extensions to R-bundle-Bioconductor 3.14: ExomeDepth (#14684), DSS (#14748), pathview (#14806) +- various bug fixes, including: + - fix homepage and source_urls for GLIMMER 3.02b (#7945) + - fix source URL for Trilinos 12.12.1 with foss/2019b (#14547) + - use proper Perl dependency for worker 1.6.12 with foss/2019a (fixes installation on RHEL8 OS) (#14565) + - fix checksum and versions of annovar v20191024 (#14579) + - add patch for Rust 1.52.2 and 1.54.0 to fix build when using alternate sysroot (#14584) + - retain version in filename for cromwell sources (#14586) + - specify compiler to use in WildMagic easyconfig (#14594) + - avoid need for git build dependency for recent x265 easyconfigs (#14605) + - fix broken patch file for recent GPAW versions (#14619) + - add alternative checksum for Siesta-4.1-MaX-1.0 (#14643) + - add missing PCRE dependency for pullseq + add sanity check commands (#14650) + - use %(arch)s template to avoid hardcoding x86_64 in recent XML-LibXML easyconfigs (#14655) + - fix name for (binary) AutoDock-Vina v1.1.2 (#14675) + - add patch to fix memory leak in OpenMPI that heavily affects CP2K, SIESTA, QuantumESPRESSO, VASP, ... (#14726) + - set $GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS for installing grcpio extension included with: + - TensorFlow 2.2.3-2.4.1 with 2020* toolchain (#14729) and 2.5.0+ (#14728) + - Ray-project (#14730) + - enforce using internal boost for bcl2fastq2 with a GCC 10.x toolchain (#14741) + - add patch for hard-coded checksum value of downloaded source file in the source code of RDKit 2021.03.4 (#14743) + - also install libaio.so.1 symlink in easyconfigs for libaio v0.3.112 (#14745) + - do not use external libgcrypt or python for libxslt with recent toolchains (#14756) + - add patches to fix CVE-2021-23437 for Pillow (#14765) and Pillow-SIMD (#14792) + - add libXfont2 patch to fix build when libbsd is present (#14821) +- other changes: + - update Java 1.8 wrapper to 1.8.0_311 for x86_64 (#14644) + - bring gffread back down to GCCcore level for toolchain version 10.3.0 (#14660) + - update build dependencies for recent binutils + GCCcore easyconfigs to avoid depending on M4 1.4.18 with system toolchain (#14731, #14755) + - bump nbconvert extension in recent IPython easyconfigs to version 6.4.0 (#14738) + + +v4.5.1 (December 13th 2021) +--------------------------- + +update/bugfix release + +- added example easyconfig files for 71 new software packages: + - ANIcalculator (#14478, #14494, #14510), arrow-R (#14267), ASAP (#14367), BabelStream (#14503), bamtofastq (#14391), + bcbio-gff (#14322), biom-format (#13205), Blosc2 (#14247), boto3 (#14452), Brotli-python (#14528), Brunsli (#14247), + Clang-AOMP (#14327), CLEASE (#14413), CMSeq (#14326), cpu_features (#14385), cromwell (#12125), + cxxopts (#14487, #14504), dRep (#14479), DUBStepR (#14495), eht-imaging (#14239), einops (#14373), + ELFIO (#14488, #14504), elprep (#14422), epiScanpy (#14447), FMM3D (#14257), FORD (#13653), GPy (#14380), + HIP (#14339), idemux (#14499), imagecodecs (#14247), InChI (#13902), jupyter-matlab-proxy (#14270), jxrlib (#14247), + LBFGS++ (#14230), LERC (#14247), libaec (#14247), libavif (#14246), LibLZF (#14246), libnsl (#14494), + libtree (#14501), LPeg (#14157), Megalodon (#14256), nnU-Net (#14249), PAL2NAL (#14430), photontorch (#14410), + pkgconf (#14426), pmx (#14319), PPanGGOLiN (#14449), ProFit (#14340), pugixml (#14367, #14492), PySide2 (#13460), + Relate (#14443), ROCm (#14355), rocm-cmake (#14327), ROCm-CompilerSupport (#14327), rocminfo (#14327), + rocm-smi (#14354), ROCR-Runtime (#14327), ROCT-Thunk-Interface (#14327), SCENIC (#14260), Shasta (#14385), + SimNIBS (#14257), SMV (#14157), SRST2 (#14253), STACEY (#14293), termcolor (#14489, #14504), ThemisPy (#14231), + TOBIAS (#14452, #14458), zfp (#14246), zlib-ng (#14246), Zopfli (#14246) +- added additional easyconfigs for various supported software packages, including: + - ABINIT 9.6.2, ABRicate 1.0.0, AlphaFold 2.1.1, antiSMASH 6.0.1, Arrow 6.0.0, astropy 4.3.1, BCFtools 1.14, + BeautifulSoup 4.9.3, Boost 1.77.0, bpp 4.4.0, Bracken 2.6.2, CapnProto 0.9.1, CellRanger 6.1.2, Eigen 3.4.0, + enaBrowserTool 1.6, ESMF 8.2.0, Flye 2.9, FMRIprep 1.4.1, FSL 6.0.4, GATK 4.2.3.0, gc 8.2.0, GDB 11.1, git 2.33.1, + Go 1.17.3, Gurobi 9.5.0, Horovod 0.23.0, HTSlib 1.14, HyPhy 2.5.33, Infernal 1.1.4, Inspector 2021.4.0 ITK 5.2.1, + jax 0.2.24, Julia 1.7.0, Kent_tools 422, king 2.2.7, libdwarf 20210528, MAFFT 7.490, makeinfo 6.8, Mash 2.3, + matplotlib 3.4.3, MCR R2021b, minimap2 2.22, MUST 1.7.2, NCO 5.0.3, NCO 5.0.3, nlohmann_json 3.10.4, NVHPC 21.9, + OpenMPI 4.0.7 + 4.1.2, panaroo 1.2.9, pangolin 3.1.16, pkgconfig 1.5.5, plotly.py 5.4.0, pyfaidx 0.6.3.1, + Pysam 0.17.0, PyTorch 1.10.0, R 4.1.2, R-bundle-Bioconductor 3.14, ReFrame 3.9.1, rpy2 3.4.5, scikit-image 0.18.3, + scikit-learn 1.0.1 SimpleITK 2.1.0, snakemake 6.10.0, SPAdes 3.15.3, tbb 2021.4.0, torchtext 0.10.0, + torchvision 0.11.1, tqdm 4.62.3, TRUST4 1.0.6, Trycycler 0.5.2, Unicycler 0.4.9, UShER 0.5.0, WPS 4.3.1, + xarray 0.20.1, XlsxWriter 3.0.2, Yambo 5.0.4 +- minor enhancements, including: + - add RcisTarget + NMF extensions to R-bundle-Bioconductor 3.13 (#14259) + - add extensions for R v4.1.x: + - geex + momentfit (#14299); StatMatch, leaflet, tmap + collapse (#14328), genoPlotR + penfa (#14433), adcovsim (#14484) + - add M3Drop extension to R-bundle-Bioconductor 3.14 (#14436) +- various bug fixes, including: + - specify to use Python provided as dependency, remove separate_build_dir, and fix URL in comment for Arrow 0.17.1 (#14263) + - fix gettid nameclash with glibc 2.30 in Bazel 0.25.2, 0.26.1, 0.29.1, and 1.1.0 (#14269) + - restore and fix sanity check commands in RStudio-Server 1.4 (#14275) + - add pkg-config build dependency to Python easyconfigs, to ensure OpenSSL wrapper is detected (#14316) + - add patch for UCX v1.11.2 to fix missing include statement for string.h (#14317) + - set $DALTON_TMPDIR to build directory to run Dalton tests (#14341) + - add patch for libfabric v1.12.1 to fix 'unknown link width 0x10' warning (#14387) + - add missing Automake dependency to PhyML 3.3.20200621 (#14397) + - add git as build dependency to Python 3.8.x and 3.9.x easyconfigs (required for pbr extension) (#14421) + - add missing XZ dependency to recent PROJ easyconfigs (#14429) + - fix homepage/source URL for king v2.2.4 (#14444) + - add patch for GCCcore 9.1-9.3 to fix compatibility with recent kernel headers (#14453) + - add patch for GCCcore 10.1-11.1 to fix compatibility with recent kernel headers (#14454) + - add patch to fix CVE-2021-43527 in NSS (#14497) + - pass tests on A* GPUs by setting 'NVIDIA_TF32_OVERRIDE=0' in jax 0.2.19 (#14502) + - add patch to fix broken (hanging) Mash binaries (#14511) + - add missing Perl build dependency for Longshot (#14535) + - add googletest build dependency for Highway (#14536) + - seed in PCRE2 sources to fix broken MariaDB 10.5.8 + 10.6.4 easyconfigs (#14537) +- other changes: + - rename R bindings for Arrow to arrow-R, so it can be used in a lowercase module naming scheme (#14262) + - comment out imkl build dependency for FlexiBLAS 3.0.4 with GCC/11.2.0 (#14335) + - don't add bin subdir to $PATH via modextrapaths in ReFrame easyconfigs (#14415) + - consistently use 'Grace' software name + sync homepage/source_urls (#14493) + - move cxxopts, termcolor and ELFIO header only libraries to SYSTEM toolchain (#14504) + + +v4.5.0 (October 29th 2021) +-------------------------- + +feature release + +- added easyconfigs for foss/2021b (#14217) and intel/2021b (#14218) common toolchains + - see also https://docs.easybuild.io/en/latest/Common-toolchains.html +- add easyconfig for gobff/2021a toolchain (#14019, #14038) +- added example easyconfig files for 39 new software packages: + - abTEM (#13974), ARTS (#9651), AutoGeneS (#13903), bashplotlib (#13942), CIRI-long (#13985), DFT-D4 (#12803), + ELSI-RCI (#14147), ESL-Bundle (#14179), expecttest (#14106), fdict (#14161), flook (#14161), FreeTDS (#13952), + HDBSCAN (#14062), imkl-FFTW (#14195), isoCirc (#13982), libfdf (#14173), libmbd (#14129), libpspio (#14173), + libSBML (#14050), longread_umi (#13987), Mesa-demos (#14123), MixMHC2pred (#14041), NTPoly (#14183), + OpenSceneGraph (#14197), panaroo (#14203), PEPT (#14077), pycoQC (#14012), python-docx (#13930), QD (#14122), + radeontop (#14124), Rgurobi (#14188), RInChI (#14049), scGeneFit (#13963), swifter (#14114), TOML-Fortran (#13929), + TRUST4 (#14035), ucx-py (#14051), vawk (#14040), VMTK (#14023) +- added additional easyconfigs for various supported software packages, including: + - AlphaFold 2.0.1, artic-ncov2019 2021.06.24, BerkeleyGW 3.0.1, bokeh 2.4.1, Boost.Python 1.76.0, canu 2.2, + Cartopy 0.20.0, CP2K 8.2, CUDA 11.4.2, Dalton 2020.0, dask 2021.9.1, edlib 1.3.9, ELSI 2.7.1, FFTW 3.3.10, + GD 2.73, GDAL 3.3.2, GTDB-Tk 1.7.0, ImageJ 1.52q, jax 0.2.20, Kraken2 2.1.2, leidenalg 0.8.7, libfabric 1.13.2, + libspatialindex 1.9.3, libxc 5.1.6, libxsmm 1.16.2, lifelines 0.26.3, Longshot 0.4.3, LSD2 2.2, MAFFT 7.487, + MEME 5.4.1, MotionCor2 1.4.4, NCCL 2.11.4, netCDF 4.8.1, networkx 2.6.3, Nextflow 21.08.0, OpenBLAS 0.3.18, + OpenCV 4.5.3, OrthoFinder 2.5.4, OSU-Micro-Benchmarks 5.8, PhyML 3.3.20200621, PostgreSQL 13.4, pygraphviz 1.7, + pyproj 3.1.0, python-Levenshtein 0.12.1, PyTorch-Geometric 2.0.1, QIIME2 2021.8.eb, Qiskit 0.31.0, + QuantumESPRESSO 6.8, Racon 1.4.21, rampart 1.2.0, rclone 1.56.0, RDKit 2021.03.4, SAMtools 1.13, scanpy 1.8.1, + scikit-allel 1.3.3, SciPy-bundle 2021.10, Seaborn 0.11.2, SHAPEIT4 4.2.2, spglib 1.16.2, UCX 1.11.2, + UCX-CUDA 1.11.2, VSEARCH 2.18.0, Z3 4.8.12, zarr 2.10.1 +- minor enhancements, including: + - add JASPAR2020 to R-bundle-Bioconductor 3.13 (#13962) + - add Autotools as build dependency for CubeGUI-4.6 (#14109) + - add compiler/parallel/tcltk R libraries included in base installation to extensions in recent R easyconfigs (#14189, #14190, #14194) + - required for parallel installation of extensions for these R easyconfigs + - also add location to MPI startup tests to $PATH in OSU-Micro-Benchmarks easyconfigs (#14126) +- various bug fixes, including: + - add missing Brotli dependency to freetype (#13915, #14002) + - add patch for OpenBLAS 0.3.15 to fix failing numpy tests on aarch64 (#13923) + - fix source URL + add alternate checksum for ADMIXTURE 1.3.0 (#13933) + - just use cp to copy stereo_chemical_props.txt to AlphaFold installation directory (#13938) + - add UnZip build dependency to TensorFlow 2.4.1 (#13958), 2.5.0 (#13959) and 2.6.0 easyconfigs (#13960) + - add missing Python dependency for WIEN2k 21.1 + patch to fix build failure for lapw0_mpi with libxc (#13961) + - add additional valid checksum for lhs 1.1.1 extension in recent R 4.0.x and 4.1.0 easyconfigs (#13969) + - fix Fortran system call stdout/err redirection for WIEN2k v21.1 (#13972) + - add OpenSSL dependency to Kent_tools 418 easyconfig to fix a link error (#13989) + - make binutils a build-only dependency for Brotli + add sanity check command (#14004) + - fix installation of Racon v1.4.7 with gcccuda/2019b after move of ClaraGenomicsAnalysis repository (#14010) + - fix source URL for KEGG.db extension in R-bundle-Bioconductor 3.13 easyconfig (since it's a deprecated library now) (#14013) + - add patch for BLIS 0.8.1 to fix dgemm FPE signalling on Broadwell (#14018) + - add patch to fix installation of TensorFlow 2.2.3 on POWER (#14025) + - fix AmberTools v20 easyconfig using intel/2020a toolchain (#14028) + - fix download + permissions of binary for USEARCH v11.0.667 (#14036) + - remove h5py 3.x dependency for Keras with 2020b toolchain, since TensorFlow provides (and requires) h5py 2.x (#14052) + - correctly specify install prefix for CUDA in OSU-Micro-Benchmarks after renaming CUDAcore to CUDA for 2021a (#14063) + - add patch to fix failing file system cache test for jax on recent Linux kernels (#14067, #14070) + - fix compilation of BWA 0.7.17 with GCC/10.2.0 on POWER (#14073) + - add missing dependencies for recent LibTIFF versions: XZ, jbigkit, zstd (#14079) + - add missing header file to existing versions of jbigkit (#14081) + - fix source URL for SUNDIALS 5.x (#14092, #14096) + - add Perl and Python runtime dependencies to Bowtie2 2.4.4 (#14097) + - fix source URL for SCOTCH 6.1.0 (#14099) + - drop tcmalloc from SymEngine as it causes crashes with scipy (#14119) + - fix homepage + description in SimpleITK easyconfigs (#14125) + - add missing scripts from utils and analysis_scripts to bin for cryoDRGN (#14137) + - patch rsync_from_ncbi.pl in Kraken2 v2.1.2 to allow syncing with NCBI servers over HTTPS (#14148) + - skip mkl_fused_batch_norm_op_test test (broken on AMD EPYC systems) for TensorFlow 2.5.0 and 2.6.0 (#14151, #14153) + - fix incorrect module load message and update morphology plugin of ImageJ 1.51k (#14152) + - fix XCrySDen v1.6.2 linking to libdl and Togl (#14160) + - add patch to fix PMIx detection in OpenMPI v4.0.3, v4.0.5, v4.1.0 (#14177) + - add patch for OpenBLAS 0.3.17 + 0.3.18 to fix segfault triggered by scipy tests (#14178) + - fix spatstat.* downloads for Seurat v4.0.1 (#14199) + - add patch for GROMACS 2019.3 easyconfigs using CMake 3.15.3 to fix CPU detection (#14212) +- other changes: + - remove help2man build dependency for flex using system toolchain (because it requires Perl) (#13922) + - use proper dependency for python-Levenshtein in CIRI-long easyconfig (#13985) + - in-place updates for foss/2021b and intel/2021b common toolchains + - update to UCX(-CUDA) 1.11.2 as dependency for OpenMPI v4.1.1 + NCCL v2.10.3 (#14090) + - update libfabric to 1.13.1 in OpenMPI and add it as a dependency in PMIx for the upcoming foss 2021b toolchain (#14164) + - update to OpenBLAS 0.3.18 as dependency for FlexiBLAS 3.0.4 with GCCcore/11.2.0 toolchain (#14167) + - update libfabric to 1.13.2 in OpenMPI v4.1.1 + PMIx 4.1.0 for the upcoming foss/2021b toolchain (#14176) + - remove format mapping from homepage of Subread easyconfigs (#14145) + - add BLIS and imkl (x86_64 only) builddependencies to FlexiBLAS 0.3.4 with GCC/11.2.0 toolchain (#14225) + + +v4.4.2 (September 7th 2021) +--------------------------- + +update/bugfix release + +- added easyconfig for foss/2021.07 (candidate for foss/2021b) (#13788) and iomkl/2021a (#13521) toolchains +- added example easyconfig files for 79 new software packages: + - AlphaFold (#13867), andi (#13768), aria2 (#13709), AUTO-07p (#13831), babl (#13216), BAli-Phy (#13484), + biogeme (#13735), Bio-SearchIO-hmmer (#13419), BuDDy (#13907), c-ares (#13709), CellRank (#13408), Coin (#13818), + Co-phylog (#13769), cppy (#13823), CREST (#13648), CRISPR-DAV (#13139), CSBLAST (#13794), DGL (#13793), + DistributedStream (#13659), Excel-Writer-XLSX (#13139), FBPIC (#13500), freebayes (#12859), freud-analysis (#13354), + fumi_tools (#13517), GEGL (#13216), GIMP (#13216), glib-networking (#13216), GOATOOLS (#13364, #13629), + gofasta (#13651), GTK2 (#13900), GTK3 (#13900), Highway (#13453), hipSYCL (#13837), ISA-L (#13663), jax (#13760), + JSON-GLib (#13216), Kalign (#13463), LADR (#13351), lDDT (#13794), libdivsufsort (#13768), libjxl (#13453, #13829), + libmypaint (#13216), libtecla (#13908), lie_learn (#13793), longestrunsubsequence (#13800), Maude (#13909), + mimalloc (#13726), MINPACK (#13802), Mish-Cuda (#13759, #13784), muparserx (#13779), nlohmann_json (#13777), + OpenStackClient (#13644), OSPRay (#12852), pandapower (#13687), pangolin (#13733, #13848), PSIPRED (#13794), + PYPOWER (#13689), PyPSA (#13673), PyRosetta (#13793), pysamstats (#13139), pytest-benchmark (#13622), + python-isal (#13663), QCxMS (#13650), RepeatModeler (#13126), Schrodinger (#11698), sklearn-som (#13699), + SoQt (#13818), spdlog (#13778), SpectrA (#13743), SymEngine-python (#13652), SyRI (#13800), torchinfo (#13662), + TRAVIS-Analyzer (#13503), UShER (#13708), Vampire (#13352), VBZ-Compression (#13536), VisPy (#13468), + wgsim (#13475), Yices (#13906) +- added additional easyconfigs for various supported software packages, including: + - ABAQUS 2020.eb, ANTs 2.3.5, AOCC 3.1.0, Arb 2.19.0, archspec 0.1.2, Armadillo 10.5.3, ASE 3.22.0, + Autotools 20210726, BamTools 2.5.2, bgen 4.1.3, Biopython 1.79, bitarray 1.5.3, Boost 1.76.0, Bowtie2 2.4.4, + bpytop 1.0.67, Cartopy 0.19.0.post1, Centrifuge 1.0.4, Clang 12.0.1, CMake 3.21.1, CRISPResso2 2.2.1, CUDA 11.4.1, + cuDNN 8.2.2.26, cURL 7.78.0, cutadapt 3.4, DIAMOND 2.0.11, DROP 1.1.0, Dsuite 20210718, dtcmp 1.1.2, ecCodes 2.22.1, + Elk 7.2.42, ESMF 8.1.1, expat 2.4.1, fastq-tools 0.8.3, Fiona 1.8.20, FLINT 2.7.1, g2clib 1.6.3, g2lib 3.2.0, + GCC(core) 11.2.0, GDCM 3.0.8, GDRCopy 2.3, GenomeTools 1.6.2, GffCompare 0.12.2, gffread 0.12.7, GLib 2.69.1, + GMT 6.2.0, Go 1.16.6, GPAW 21.6.0, Gradle 6.9.1.eb, GROMACS 2021.3, HarfBuzz 2.8.2, HDF5 1.12.1, Horovod 0.22.1, + hwloc 2.5.0, hypothesis 6.14.6, igraph 0.9.4, ImageMagick 7.1.0, IMOD 4.11.5, IPython 7.26.0, Java 16, + Julia 1.6.2, JupyterHub 1.4.1, JupyterLab 3.1.6, Kent_tools 418, lavaan 0.6-9, libfabric 1.13.0, libffcall 2.4, + libffi 3.4.2, libgeotiff 1.7.0, libRmath 4.1.0, LIBSVM 3.25, LibTIFF 4.3.0, likwid 5.2.0, LLVM 12.0.1, LMDB 0.9.29, + magma 2.6.1, MariaDB 10.6.4, MATIO 1.5.21, matplotlib 3.4.2, MEGA 10.0.5, Mesa 21.1.7, Meson 0.59.1, + Metal 2020-05-05, Mini-XML 3.2, molmod 1.4.8, MPICH 3.4.2, nanopolish 0.13.3, NCCL 2.10.3, ncdu 1.16, NCO 5.0.1, + neptune-client 0.10.5, netcdf4-python 1.5.7, networkx 2.5.1, nodejs 14.17.6, NSPR 4.32, NSS 3.69, NVHPC 21.7, + OpenBLAS 0.3.17, OpenEXR 3.1.1, OpenFOAM 9, OpenFOAM v2106, OpenMM 7.5.1, OpenMolcas 21.06, openpyxl 3.0.7, + Pango 1.48.8, parallel 20210722, Paraver 4.9.2, ParaView 5.9.1, patchelf 0.13, PCRE2 10.37, PCRE 8.45, Perl 5.34.0, + PETSc 3.15.1, petsc4py 3.15.0, Pillow 8.3.1, Pillow-SIMD 8.3.1, plotly.py 5.1.0, PLUMED 2.7.2, PMIx 4.1.0, + poppler 21.06.1, PostgreSQL 13.3, preseq 3.1.2, pybind11 2.7.1, pyFFTW 0.12.0, PyGEOS 0.10.2, Pyomo 6.0.1, + PyQt5 5.15.4, pyshp 2.1.3, Python 3.9.6, python-igraph 0.9.6, QTLtools 1.3.1, RAxML-NG 1.0.3, + R-bundle-Bioconductor 3.13, re2c 2.2, ReFrame 3.8.0., RStudio-Server 1.4.1717, Rust 1.54.0, Scalasca 2.6, + scVelo 0.2.3, Shapely 1.8a1, shrinkwrap 1.1.0, SLEPc 3.15.1, slepc4py 3.15.1, snakemake 6.6.1, snappy 1.1.9, + snippy 4.6.0, snpEff 5.0e, SOCI 4.0.2, SpaceRanger 1.3.0, Spack 0.16.2, spatialreg 1.1-8, + spglib-python 1.16.1, SQLite 3.36, STAR 2.7.9a, statsmodels 0.12.2, StringTie 2.1.7, Subread 2.0.3, SymEngine 0.7.0, + TensorFlow 2.6.0, TetGen 1.6.0, Tkinter 3.9.6, torchtext 0.9.1, tqdm 4.61.2, UCX 1.11.0, UCX-CUDA 1.11.0, + unrar 6.0.2, util-linux 2.37, VTune 2021.6.0, WIEN2k 21.1, WPS 4.2, WRF 4.3, X11 20210802, + x264 20210613, xarray 0.19.0, XlsxWriter 1.4.4, XML-Parser 2.46, zstd 1.5.0 +- minor enhancements, including: + - add extensions to recent R v4.x easyconfigs: PCAmatchR (#13448), hal9001 (#13451), cobalt (#13544), CBPS (#13549), + SBdecomp (#13565), lwgeom (#13674), naturalsort (#13762), finalfit + gtsummary (#13766) + - add VBZ compress capability to nanopolish 0.13.3 (for fast5 files) (#13536) + - add CMake build dependency to easyconfig for tbb 2020.03 (#13704) + - also build shared libs for MUMPS 5.3.5 (#13702) and 5.4.0 (#13705) + - add dependency on pkg-config to OpenSSL wrappers (#13765) +- various bug fixes, including: + - fix LAMMPS 3Mar2020 easyconfigs using intel toolchain on AMD CPUs by patching out hardcoded -xHost (#11577) + - fix sanity check error for OpenCV v4.5.1 by adding (and using) freetype and HarfBuzz dependencies (#12517) + - add patches for TensorFlow 1.13.1 to fix installation (#13326) + - remove Python 2.6 from list of supported Python versions in setup.py (#13349) + - switch back to Bundle easyblock for PyQt5 5.15.1 + add back source URLs for components (#13371) + - add pkg-config build dependency for GDAL 3.2.1 (#13383, #13808), Rust (#13538), GenomeTools (#13805), x264 (#13834) + - add missing Python 3 build dependency for Rust v1.52.1 (#13399) + - fix order of cffi extension in old Python easyconfigs (#13400) + - patch out __asm__ use in ctffind to avoid build failure on ppc64le (#13409) + - disable building man pages in Gdk-Pixbuf (#13410) + - add missing Bio-Search-hmmer dependency for prokka (#13419) + - avoid downloading old numpy version during install for h5py (#13428) + - add patch for Qt5 5.8.0 to fix compilation failure in webkit (#13434) + - avoid downloading and building freetype and qhull for matplotlib 3.4.2 (#13437) + - fix order of components in recent GTK+ easyconfigs to avoid dependency on system GTK+ in GTK+ themes (#13449) + - fix Python 2.7.13 easyconfigs by adding missing extensions (#13456) + - add TensorFlow patch to fix crash on shutdown (#13462) + - allow for non-x86_64 in postinstallcmds for CuPy (#13501) + - disable default EULA acceptance in easyconfig for NVHPC v21.5 (#13516) + - fix error with p7zip's 7z command not finding 7z.dll (#13542) + - patch MaxBin2 Perl script to use provided Perl dependency (#13551) + - add missing zlib dependency to libarchive (#13579) + - fix pkgconfig version in patch for bzip 1.0.8 (+ add easyconfig with GCCcore/11.2.0 toolchain) (#13581) + - fix build of DIRAC 19.0 easyconfig with high compiler optimizations (#13613) + - fix source URLs and add alternative checksum for Hypre 2.15.1 (since it moved to a different GitHub repo) (#13616) + - add new source URL for Mesa easyconfigs using 2017b toolchain (#13617) + - avoid MPICXX dependency in SimpleElastics ITK (#13623) + - add upstream patch for GCC 9.x, 10.x, 11.x to avoid spurious FPE on avx512 (affects UCX) (#13628) + - add patch for ctffind 4.1.14 to declare functions without return as void (fixes segfault) (#13665) + - enable EGL in recent libepoxy ECs (#13684) + - remove unused buildcmd from libgpuarray easyconfigs (#13720) + - add patch to fix building Qt5.10.1 against newer glibc (#13730) + - add Python 3 as a builddependency to recent fontconfig easyconfigs (#13731) + - update source_URL in BLAST 2.2.26 easyconfig (#13732) + - restore error message on failing easyconfigs test suite, required by bot to determine end of output of test suite (#13745, #13770) + - add Perl build dependency to recent Clang easyconfigs (#13746) + - disable using system Valgrind in the json-c tests (#13750) + - use Archive source URL for spatstat.geom extension in Seurat (#13761) + - add ld.gold relocts patch to binutils 2.30 (#13785) + - add missing Python + Zip build dependencies for old Bazel versions used as build dep for TensorFlow 1.12.0 + 1.13.1 (#13786) + - add alternative checksum for AFNI 18.3.00 (#13790) + - update tensorflow-probability easyconfigs to include '--release' flag in installopts (#13810) + - fix source URL for DB 18.1.32 (#13813) + - add missing cppy build dependency for matplotlib 3.4.2 (#13823) + - disable bash completion in recent x264 easyconfigs (#13834) + - add Perl as build dependency for ELPA 2021.05.001 + patch to fix hardcoded /usr/bin/perl (#13835) + - add archive source URL to Spark 3.x easyconfigs to fix broken download (#13842) + - fix PCRE dependency for GDAL 3.2.1 and 3.3.0, don't use PCRE2 (#13861) + - add Perl build dependency for HMMER 3.3.2 + patch to ensure it is used (#13870) + - stick to intel-compilers toolchain for DFT-D3 v3.2.0 (#13878) + - add missing flex build dependency for leidenalg (#13884) + - update CMake build dependency for Eigen 3.3.4 + 3.3.5 (#13889) + - fix source URL for Yasm 1.3.0 (+ add missing checksum) (#13901) + - update to more recent Meson build dependency for GCCcore/8.3.0 easyconfigs to fix failing RPATH sanity check (#13910) + - fix shebang for RepeatMasker 4.1.2-p1 Perl script (#13911) +- other changes: + - use custom ORCA easyblock in easyconfigs for ORCA v4.x (#13348) + - move archived easyconfig files to correct __archive__ folder (#13422) + - rename NINJA to TWL-NINJA to avoid nameclash (#13529) + - remove superflous configopts and add sanity checks/checksums in CLHEP easyconfigs (#13614) + - remove superflous -DCMAKE_BUILD_TYPE configuration option in Arrow easyconfigs (#13615) + - switch ITK easyconfigs to CMakePythonPackage easyblock, also enable -DITK_USE_SYSTEM_HDF5 configuration option, fix download URLs (#13619) + - use build_type instead of -DCMAKE_BUILD_TYPE=RELEASE in configopts in MMseqs2 easyconfigs (#13620) + - avoid using system GTK+3 and remove -DCMAKE_BUILD_TYPE=RELEASE configure option in OpenCV easyconfigs (#13621) + - remove -DCMAKE_BUILD_TYPE=RELEASE configure option and add checksums in LLVM easyconfigs (#13624) + - create libtinfo symlinks in easyconfigs for ncurses with system toolchain (#13658), 6.1 (#13661) and 6.2 (#13660) + - increase test timeouts for PyTorch 1.8.1 and 1.9.0 (#13700) + - rename CUDAcore to CUDA for v11.3.1 and v11.4.1 after merging foss/fosscuda, to ensure that get_software_root('CUDA') used in easyblocks works (#13874) + - use CUDA instead of CUDAcore in recent NVHPC comments (#13875) v4.4.1 (July 6th 2021) diff --git a/easybuild/easyconfigs/0/3d-dna/3d-dna-180922-GCCcore-8.2.0-Python-2.7.15.eb b/easybuild/easyconfigs/0/3d-dna/3d-dna-180922-GCCcore-8.2.0-Python-2.7.15.eb new file mode 100644 index 00000000000..5dec8adc921 --- /dev/null +++ b/easybuild/easyconfigs/0/3d-dna/3d-dna-180922-GCCcore-8.2.0-Python-2.7.15.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = '3d-dna' +version = '180922' +versionsuffix = '-Python-%(pyver)s' +local_githash = '529ccf46599825b3047e58a69091d599e9858a19' + +homepage = 'https://github.com/theaidenlab/3d-dna' +description = """3D de novo assembly (3D DNA) pipeline""" + +toolchain = {'name': 'GCCcore', 'version': '8.2.0'} + +source_urls = ['https://github.com/theaidenlab/%(name)s/archive'] +sources = [{'download_filename': '%s.zip' % local_githash, 'filename': SOURCE_ZIP}] +checksums = ['348c3e019ea29e47382eb2d85228a56bc11b316c130afabae016ad8e7d7640ca'] + +dependencies = [ + ('Python', '2.7.15'), + ('LASTZ', '1.02.00'), + ('Java', '1.8', '', SYSTEM), + ('parallel', '20190622'), +] + +postinstallcmds = ['chmod 755 %(installdir)s/*.sh'] + +sanity_check_paths = { + 'files': ['run-asm-pipeline.sh', 'run-asm-pipeline-post-review.sh'], + 'dirs': [], +} + +sanity_check_commands = ["run-asm-pipeline.sh --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb new file mode 100644 index 00000000000..5bfd73b4635 --- /dev/null +++ b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.10-GCC-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = '4ti2' +version = '1.6.10' + +homepage = 'https://4ti2.github.io/' +description = """A software package for algebraic, geometric and combinatorial problems on linear spaces""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +github_account = '4ti2' +source_urls = [GITHUB_SOURCE] +sources = ['Release_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['2f1bce3203da65b651d68cbd0ace0f89a16d1f436cf5f24e22bc15ec22df936a'] + +dependencies = [ + ('GMP', '6.3.0'), + ('GLPK', '5.0'), +] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['4ti2gmp', '4ti2int32', '4ti2int64']], + 'dirs': ['include/4ti2', 'lib', 'share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/0/4ti2/4ti2-1.6.9-GCC-11.3.0.eb b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.9-GCC-11.3.0.eb new file mode 100644 index 00000000000..1fd0b976427 --- /dev/null +++ b/easybuild/easyconfigs/0/4ti2/4ti2-1.6.9-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = '4ti2' +version = '1.6.9' + +homepage = 'https://4ti2.github.io/' +description = """A software package for algebraic, geometric and combinatorial problems on linear spaces""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = '4ti2' +source_urls = [GITHUB_SOURCE] +sources = ['Release_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['7b1015718102d8cd4dc2de64f69094fdba0bc69a1878ada5960979b171ff89e4'] + +dependencies = [ + ('GMP', '6.2.1'), + ('GLPK', '5.0'), +] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['4ti2gmp', '4ti2int32', '4ti2int64']], + 'dirs': ['include/4ti2', 'lib', 'share/4ti2'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/TEMPLATE.eb b/easybuild/easyconfigs/TEMPLATE.eb index 06218cade8f..ba733e5091d 100644 --- a/easybuild/easyconfigs/TEMPLATE.eb +++ b/easybuild/easyconfigs/TEMPLATE.eb @@ -24,7 +24,7 @@ dependencies = [] # The sanity test MUST be tuned before going production and submitting your contribution to upstream git repositories sanity_check_paths = { 'files': [], - 'dirs': ["."] + 'dirs': [], } # You SHOULD change the following line; Kindly consult other easyconfigs for possible options diff --git a/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb b/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb index c98e31bbfae..5f212260dd5 100644 --- a/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb +++ b/easybuild/easyconfigs/__archive__/a/AFNI/AFNI-20150717-intel-2015a.eb @@ -43,13 +43,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%s" ' % majpyver -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%s ' % majpyver buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/ARB/ARB-5.5_xflags.patch b/easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xflags.patch similarity index 100% rename from easybuild/easyconfigs/a/ARB/ARB-5.5_xflags.patch rename to easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xflags.patch diff --git a/easybuild/easyconfigs/a/ARB/ARB-5.5_xmkmf.patch b/easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xmkmf.patch similarity index 100% rename from easybuild/easyconfigs/a/ARB/ARB-5.5_xmkmf.patch rename to easybuild/easyconfigs/__archive__/a/ARB/ARB-5.5_xmkmf.patch diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/a/Autoconf/Autoconf-2.71-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/a/Autoconf/Autoconf-2.71-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.3-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/a/Automake/Automake-1.16.3-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/a/Automake/Automake-1.16.3-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/a/Automake/Automake-1.16.3-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20210128-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/a/Autotools/Autotools-20210128-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/a/Autotools/Autotools-20210128-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/a/Autotools/Autotools-20210128-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2016b.eb b/easybuild/easyconfigs/__archive__/b/BAMM/BAMM-2.5.0-foss-2016b.eb similarity index 100% rename from easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2016b.eb rename to easybuild/easyconfigs/__archive__/b/BAMM/BAMM-2.5.0-foss-2016b.eb diff --git a/easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb similarity index 100% rename from easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2016b-Python-2.7.12.eb diff --git a/easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb similarity index 100% rename from easybuild/easyconfigs/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb rename to easybuild/easyconfigs/__archive__/b/BamM/BamM-1.7.3-foss-2018a-Python-2.7.14.eb diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/b/Bison/Bison-3.7.6-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/b/Bison/Bison-3.7.6-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/b/Bison/Bison-3.7.6-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/b/binutils/binutils-2.36.1-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/b/binutils/binutils-2.36.1-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/b/binutils/binutils-2.36.1-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/b/blasr/blasr-smrtanalysis-2.1_non-static.patch b/easybuild/easyconfigs/__archive__/b/blasr/blasr-smrtanalysis-2.1_non-static.patch similarity index 100% rename from easybuild/easyconfigs/b/blasr/blasr-smrtanalysis-2.1_non-static.patch rename to easybuild/easyconfigs/__archive__/b/blasr/blasr-smrtanalysis-2.1_non-static.patch diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/b/buildenv/buildenv-default-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/b/buildenv/buildenv-default-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/b/buildenv/buildenv-default-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-Fujitsu-21.05.eb b/easybuild/easyconfigs/__archive__/b/buildenv/buildenv-default-Fujitsu-21.05.eb similarity index 100% rename from easybuild/easyconfigs/b/buildenv/buildenv-default-Fujitsu-21.05.eb rename to easybuild/easyconfigs/__archive__/b/buildenv/buildenv-default-Fujitsu-21.05.eb diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb index 608c83341d7..6c35becc3d5 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.10.eb @@ -25,7 +25,7 @@ dependencies = [ ('libGLU', '9.0.0'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.so -DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.so " builddependencies = [ diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb index 4cab94fb9f5..b7b9e93e9f4 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.7-intel-2015b-Python-2.7.11.eb @@ -25,7 +25,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-%s' % mesaver), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb index 874fac82e51..b1f420ddcbb 100644 --- a/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb +++ b/easybuild/easyconfigs/__archive__/c/CGAL/CGAL-4.8.1-foss-2015a-GLib-2.48.2-Python-2.7.11.eb @@ -26,7 +26,7 @@ dependencies = [ ] configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON " -configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts += r"-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-foss-2016a.eb b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-foss-2016a.eb similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-foss-2016a.eb rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-foss-2016a.eb diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-intel-2016a.eb b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-intel-2016a.eb similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2-intel-2016a.eb rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2-intel-2016a.eb diff --git a/easybuild/easyconfigs/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/CHARMM-37b2_fix-qgas-double-declared.patch diff --git a/easybuild/easyconfigs/c/CHARMM/main-case-fix-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/main-case-fix-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/main-case-fix-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/main-case-fix-37b2.patch diff --git a/easybuild/easyconfigs/c/CHARMM/qmmm-pme-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/qmmm-pme-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/qmmm-pme-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/qmmm-pme-37b2.patch diff --git a/easybuild/easyconfigs/c/CHARMM/use-xhost-37b2.patch b/easybuild/easyconfigs/__archive__/c/CHARMM/use-xhost-37b2.patch similarity index 100% rename from easybuild/easyconfigs/c/CHARMM/use-xhost-37b2.patch rename to easybuild/easyconfigs/__archive__/c/CHARMM/use-xhost-37b2.patch diff --git a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb index 0b19390665e..df09a737a13 100644 --- a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb +++ b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.4.10.eb @@ -44,7 +44,7 @@ modextrapaths = { } # fix shebang line in all provided perl scripts in tools folder -postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", - "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] +postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env perl|' %(installdir)s/tools/*.pl", + "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env perl|' %(installdir)s/tools/*.pl"] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb index 8e66ed510b9..0044012c7fe 100644 --- a/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb +++ b/easybuild/easyconfigs/__archive__/c/ChIP-Seq/ChIP-Seq-1.5-1-goolf-1.7.20.eb @@ -44,7 +44,7 @@ modextrapaths = { } # fix shebang line in all provided perl scripts in tools folder -postinstallcmds = ["sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", - "sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] +postinstallcmds = [r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl", + r"sed -i -e 's|/usr/local/bin/perl|/usr/bin/env\ perl|' %(installdir)s/tools/*.pl"] moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2-foss-2017b.eb b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-foss-2017b.eb similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2-foss-2017b.eb rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-foss-2017b.eb diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2-intel-2017b.eb b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-intel-2017b.eb similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2-intel-2017b.eb rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2-intel-2017b.eb diff --git a/easybuild/easyconfigs/c/charmm/charmm-43b2_Use_xhost.patch b/easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2_Use_xhost.patch similarity index 100% rename from easybuild/easyconfigs/c/charmm/charmm-43b2_Use_xhost.patch rename to easybuild/easyconfigs/__archive__/c/charmm/charmm-43b2_Use_xhost.patch diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/d/DB/DB-18.1.40-FCC-4.5.0.eb similarity index 96% rename from easybuild/easyconfigs/d/DB/DB-18.1.40-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/d/DB/DB-18.1.40-FCC-4.5.0.eb index eb7933a6c04..3552aab690a 100644 --- a/easybuild/easyconfigs/d/DB/DB-18.1.40-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/__archive__/d/DB/DB-18.1.40-FCC-4.5.0.eb @@ -23,7 +23,7 @@ checksums = [ builddependencies = [('binutils', '2.36.1')] -dependencies = [('OpenSSL', '1.1', '', True)] +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', diff --git a/easybuild/easyconfigs/e/expat/expat-2.2.9-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/e/expat/expat-2.2.9-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/e/expat/expat-2.2.9-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/e/expat/expat-2.2.9-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/f/FCC/FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/f/FCC/FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/f/FCC/FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/f/FCC/FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-1.0.0-FCC-4.5.0-fujitsu.eb b/easybuild/easyconfigs/__archive__/f/FFTW/FFTW-1.0.0-FCC-4.5.0-fujitsu.eb similarity index 100% rename from easybuild/easyconfigs/f/FFTW/FFTW-1.0.0-FCC-4.5.0-fujitsu.eb rename to easybuild/easyconfigs/__archive__/f/FFTW/FFTW-1.0.0-FCC-4.5.0-fujitsu.eb diff --git a/easybuild/easyconfigs/f/Fujitsu/Fujitsu-21.05.eb b/easybuild/easyconfigs/__archive__/f/Fujitsu/Fujitsu-21.05.eb similarity index 100% rename from easybuild/easyconfigs/f/Fujitsu/Fujitsu-21.05.eb rename to easybuild/easyconfigs/__archive__/f/Fujitsu/Fujitsu-21.05.eb 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/f/ffmpi/ffmpi-4.5.0.eb b/easybuild/easyconfigs/__archive__/f/ffmpi/ffmpi-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/f/ffmpi/ffmpi-4.5.0.eb rename to easybuild/easyconfigs/__archive__/f/ffmpi/ffmpi-4.5.0.eb diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/f/flex/flex-2.6.4-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/f/flex/flex-2.6.4-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/f/flex/flex-2.6.4-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/__archive__/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb similarity index 100% rename from easybuild/easyconfigs/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb rename to easybuild/easyconfigs/__archive__/g/GroopM/GroopM-0.3.4-foss-2016b-Python-2.7.12.eb diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/g/groff/groff-1.22.4-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/g/groff/groff-1.22.4-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/g/groff/groff-1.22.4-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-Fujitsu-21.05.eb b/easybuild/easyconfigs/__archive__/h/HPL/HPL-2.3-Fujitsu-21.05.eb similarity index 100% rename from easybuild/easyconfigs/h/HPL/HPL-2.3-Fujitsu-21.05.eb rename to easybuild/easyconfigs/__archive__/h/HPL/HPL-2.3-Fujitsu-21.05.eb diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/h/help2man/help2man-1.48.3-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/h/help2man/help2man-1.48.3-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/h/help2man/help2man-1.48.3-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.2.0.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-5.2.0.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.2.0.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-5.2.0.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.3.0.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-5.3.0.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.3.0.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-5.3.0.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.4.0.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-5.4.0.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.4.0.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-5.4.0.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.5.0.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-5.5.0.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-5.5.0.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-5.5.0.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-6.1.5.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-6.1.5.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-6.1.5.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-6.1.5.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-6.2.5.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-6.2.5.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-6.2.5.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-6.2.5.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-7.1.2.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-7.1.2.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-7.1.2.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-7.1.2.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/ictce-7.3.5.eb b/easybuild/easyconfigs/__archive__/i/ictce/ictce-7.3.5.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/ictce-7.3.5.eb rename to easybuild/easyconfigs/__archive__/i/ictce/ictce-7.3.5.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.06.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2014.06.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.06.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2014.06.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.10.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2014.10.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.10.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2014.10.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.11.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2014.11.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2014.11.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2014.11.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2014b.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2014b.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2014b.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2014b.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2015.02.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2015.02.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2015.02.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2015.02.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2015.08.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2015.08.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2015.08.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2015.08.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2015a.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2015a.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2015a.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2015a.eb diff --git a/easybuild/easyconfigs/__archive__/__archive__/i/intel-2015b.eb b/easybuild/easyconfigs/__archive__/i/intel/intel-2015b.eb similarity index 100% rename from easybuild/easyconfigs/__archive__/__archive__/i/intel-2015b.eb rename to easybuild/easyconfigs/__archive__/i/intel/intel-2015b.eb diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.1-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/l/libreadline/libreadline-8.1-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/l/libreadline/libreadline-8.1-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/l/libreadline/libreadline-8.1-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.6-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/l/libtool/libtool-2.4.6-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/l/libtool/libtool-2.4.6-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/l/libtool/libtool-2.4.6-FCC-4.5.0.eb 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/m/M4/M4-1.4.18-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-FCC-4.5.0.eb similarity index 87% rename from easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-FCC-4.5.0.eb index bc8af908fd7..bc86a842bf0 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/__archive__/m/M4/M4-1.4.18-FCC-4.5.0.eb @@ -12,10 +12,16 @@ toolchain = {'name': 'FCC', 'version': '4.5.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use binutils from the OS, since M4 is itself a dependency of the easybuilt binutils (via flex and Bison) diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-6.7-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/m/makeinfo/makeinfo-6.7-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/m/makeinfo/makeinfo-6.7-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/m/makeinfo/makeinfo-6.7-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/n/ncurses/ncurses-6.2-FCC-4.5.0.eb similarity index 83% rename from easybuild/easyconfigs/n/ncurses/ncurses-6.2-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/n/ncurses/ncurses-6.2-FCC-4.5.0.eb index b037cf0613a..04fddafce58 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/__archive__/n/ncurses/ncurses-6.2-FCC-4.5.0.eb @@ -20,7 +20,7 @@ checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] builddependencies = [('binutils', '2.36.1')] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ # default build local_common_configopts, @@ -28,6 +28,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb b/easybuild/easyconfigs/__archive__/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb similarity index 81% rename from easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb rename to easybuild/easyconfigs/__archive__/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb index af9ecac7a08..d5dc6602bbc 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb +++ b/easybuild/easyconfigs/__archive__/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-ffmpi-4.5.0.eb @@ -13,7 +13,9 @@ source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TGZ] checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb index a8599a45321..69665c3f252 100644 --- a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb +++ b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-foss-2015b-Perl-5.20.3.eb @@ -106,7 +106,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line "chmod +x %(installdir)s/*.pl" # add execution permission ] diff --git a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb index b72be2600bc..13a6b51345f 100644 --- a/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb +++ b/easybuild/easyconfigs/__archive__/p/PRINSEQ/PRINSEQ-0.20.4-goolf-1.4.10-Perl-5.16.3.eb @@ -104,7 +104,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", # fix shebang line "chmod +x %(installdir)s/*.pl" # add execution permission ] diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/p/Perl/Perl-5.32.1-FCC-4.5.0.eb similarity index 98% rename from easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/p/Perl/Perl-5.32.1-FCC-4.5.0.eb index 903ad1a1e1c..d70fd1c84b2 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.32.1-FCC-4.5.0.eb +++ b/easybuild/easyconfigs/__archive__/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'), @@ -25,7 +30,7 @@ dependencies = [ ('ncurses', '6.2'), # for Term::ReadLine::Gnu ('libreadline', '8.1'), # for Term::ReadLine::Gnu ('DB', '18.1.40'), # for DB_File - ('OpenSSL', '1.1', '', True), # required for Net::SSLeay + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay ] exts_default_options = {'buildopts': 'CC="$CC"'} @@ -231,7 +236,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302183', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -1662,7 +1672,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-FCC-4.5.0.eb b/easybuild/easyconfigs/__archive__/z/zlib/zlib-1.2.11-FCC-4.5.0.eb similarity index 100% rename from easybuild/easyconfigs/z/zlib/zlib-1.2.11-FCC-4.5.0.eb rename to easybuild/easyconfigs/__archive__/z/zlib/zlib-1.2.11-FCC-4.5.0.eb diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2020.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2020.eb new file mode 100644 index 00000000000..a17777c85b0 --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2020.eb @@ -0,0 +1,24 @@ +name = 'ABAQUS' +version = '2020' + +homepage = 'https://www.3ds.com/products-services/simulia/products/abaqus/' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-4.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-4.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-4.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-4.tar', +] + +checksums = [ + '583da4cb732b7cf479eb437a3f6ff76e91771c0fa6dd020e5a21c6c498357157', # 2020.AM_SIM_Abaqus_Extend.AllOS.1-4.tar + '3c0a028fc8c4ce2eb633eb0c4aa1d590de7214b093193e48b9a212d185d03ae6', # 2020.AM_SIM_Abaqus_Extend.AllOS.2-4.tar + '376c6285a8ba258a9beedb801bc6846b1536e472fc252492f77174c3afd3119f', # 2020.AM_SIM_Abaqus_Extend.AllOS.3-4.tar + '76cfff12bd6dd8a4c52fde58af3e42c7e1a1f92c3294e5d48d4e112bc51e7d0c', # 2020.AM_SIM_Abaqus_Extend.AllOS.4-4.tar +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb new file mode 100644 index 00000000000..a300029c221 --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2021-hotfix-2132.eb @@ -0,0 +1,37 @@ +name = 'ABAQUS' +version = '2021' +local_hotfix = '2132' +versionsuffix = '-hotfix-%s' % local_hotfix + +homepage = 'https://www.simulia.com/products/abaqus_fea.html' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.5-5.tar', + # hotfixes + '%%(version)s.FP.CFA.%s.Part_SIMULIA_Documentation.AllOS.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_EstPrd.Linux64.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_Isight.Linux64.tar' % local_hotfix, +] +checksums = [ + 'fbc93662c2c0ea9294df79ed9c9678246582d1f63598ad999bbb17fee0dbf54a', # 2021.AM_SIM_Abaqus_Extend.AllOS.1-5.tar + '4433dee911274f559a9372291c007f359108e8e1ab2db6abe570727e1b13741a', # 2021.AM_SIM_Abaqus_Extend.AllOS.2-5.tar + 'ddd79bfa40c238b12cc36c2d37ee3a351c21684fd5d6aba402a87051ee27096d', # 2021.AM_SIM_Abaqus_Extend.AllOS.3-5.tar + 'c7b5b04388c1a29f4c5ad46da35e2f5e6d2d493832611fc90860644ff837ded0', # 2021.AM_SIM_Abaqus_Extend.AllOS.4-5.tar + 'fafb50a0ee12128cd604563eb9b5b845cbeb4383c24df837220cbce847bd5c58', # 2021.AM_SIM_Abaqus_Extend.AllOS.5-5.tar + # 2021.FP.CFA.2132.Part_SIMULIA_Documentation.AllOS.tar + 'ac62bdeda3939c83dfc7683eced82816e1dbfdf6e93b7ac5b87967a239438bd4', + # 2021.FP.CFA.2132.Part_SIMULIA_EstPrd.Linux64.tar + 'b3e98f05db92c0a15520feef3494fb80d260d3ecdb67610059c3fd229426d78b', + # 2021.FP.CFA.2132.Part_SIMULIA_Isight.Linux64.tar + 'b27a90484f89989c3f27133239a85483ee24092af5d8a2159681b2cc1fada46c', +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2214.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2214.eb new file mode 100644 index 00000000000..c5076140bfa --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2214.eb @@ -0,0 +1,37 @@ +name = 'ABAQUS' +version = '2022' +local_hotfix = '2214' +versionsuffix = '-hotfix-%s' % local_hotfix + +homepage = 'https://www.simulia.com/products/abaqus_fea.html' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.5-5.tar', + # hotfixes + '%%(version)s.FP.CFA.%s.Part_SIMULIA_EstPrd.Linux64.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_FlexNet.Linux64.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_Readme.AllOS.tar' % local_hotfix, +] +checksums = [ + '9025c9bc2d0345c13d96e88c1c422b1979a14bf7ba281bd32dfe093c1446945d', # 2022.AM_SIM_Abaqus_Extend.AllOS.1-5.tar + '14c23b3fdfddb723d84a02eb27edc25162e1d27e8fdce053193f72d28ff0a12c', # 2022.AM_SIM_Abaqus_Extend.AllOS.2-5.tar + '561d54d688ea2f2dcf329701e20502642aecf5526eb56db3a586cbcadfbf20fb', # 2022.AM_SIM_Abaqus_Extend.AllOS.3-5.tar + 'c085066ae2df68c9c61ea345808042ddb205c642d649f1ec3b7db4aaffb3d544', # 2022.AM_SIM_Abaqus_Extend.AllOS.4-5.tar + 'bfbc2c1a402881308f68f054e1e376fe153053b4287018ddbc80e76710f6969f', # 2022.AM_SIM_Abaqus_Extend.AllOS.5-5.tar + # 2022.FP.CFA.2214.Part_SIMULIA_EstPrd.Linux64.tar + 'da954ac2e24e8e19a527a67d9436ecec4d67cb655cd84b302a15db2b082918c3', + # 2022.FP.CFA.2214.Part_SIMULIA_FlexNet.Linux64.tar + '2d135459211754c7004c8142da7aae5ee2b94d578ef5bb9472de7532a9db0614', + # 2022.FP.CFA.2214.Part_SIMULIA_Readme.AllOS.tar + '88b5c0b182e2dc3e09c14f89be338993cf7edcfeb2f388f405022c63f5512029', +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2223.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2223.eb new file mode 100644 index 00000000000..84bf03d99d0 --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022-hotfix-2223.eb @@ -0,0 +1,34 @@ +name = 'ABAQUS' +version = '2022' +local_hotfix = '2223' +versionsuffix = '-hotfix-%s' % local_hotfix + +homepage = 'https://www.simulia.com/products/abaqus_fea.html' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.5-5.tar', + # hotfixes + '%%(version)s.FP.CFA.%s.Part_SIMULIA_EstPrd.Linux64.tar' % local_hotfix, + '%%(version)s.FP.CFA.%s.Part_SIMULIA_FlexNet.Linux64.tar' % local_hotfix, +] +checksums = [ + '9025c9bc2d0345c13d96e88c1c422b1979a14bf7ba281bd32dfe093c1446945d', # 2022.AM_SIM_Abaqus_Extend.AllOS.1-5.tar + '14c23b3fdfddb723d84a02eb27edc25162e1d27e8fdce053193f72d28ff0a12c', # 2022.AM_SIM_Abaqus_Extend.AllOS.2-5.tar + '561d54d688ea2f2dcf329701e20502642aecf5526eb56db3a586cbcadfbf20fb', # 2022.AM_SIM_Abaqus_Extend.AllOS.3-5.tar + 'c085066ae2df68c9c61ea345808042ddb205c642d649f1ec3b7db4aaffb3d544', # 2022.AM_SIM_Abaqus_Extend.AllOS.4-5.tar + 'bfbc2c1a402881308f68f054e1e376fe153053b4287018ddbc80e76710f6969f', # 2022.AM_SIM_Abaqus_Extend.AllOS.5-5.tar + # 2022.FP.CFA.2223.Part_SIMULIA_EstPrd.Linux64.tar + 'bb05b07072ded86944eb44908875e6813c6ea18b2e6ab4dc7f8ef1ef368851e2', + # 2022.FP.CFA.2223.Part_SIMULIA_FlexNet.Linux64.tar + '32895726d409af8f7055b0f2bad53d10e7c32e36712e3eda8ff860f02622ee6f', +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022.eb b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022.eb new file mode 100644 index 00000000000..dc2c3525813 --- /dev/null +++ b/easybuild/easyconfigs/a/ABAQUS/ABAQUS-2022.eb @@ -0,0 +1,25 @@ +name = 'ABAQUS' +version = '2022' + +homepage = 'https://www.simulia.com/products/abaqus_fea.html' +description = """Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit + dynamics FEA.""" + +toolchain = SYSTEM + +sources = [ + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.1-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.2-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.3-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.4-5.tar', + '%(version)s.AM_SIM_Abaqus_Extend.AllOS.5-5.tar', +] +checksums = [ + '9025c9bc2d0345c13d96e88c1c422b1979a14bf7ba281bd32dfe093c1446945d', # 2022.AM_SIM_Abaqus_Extend.AllOS.1-5.tar + '14c23b3fdfddb723d84a02eb27edc25162e1d27e8fdce053193f72d28ff0a12c', # 2022.AM_SIM_Abaqus_Extend.AllOS.2-5.tar + '561d54d688ea2f2dcf329701e20502642aecf5526eb56db3a586cbcadfbf20fb', # 2022.AM_SIM_Abaqus_Extend.AllOS.3-5.tar + 'c085066ae2df68c9c61ea345808042ddb205c642d649f1ec3b7db4aaffb3d544', # 2022.AM_SIM_Abaqus_Extend.AllOS.4-5.tar + 'bfbc2c1a402881308f68f054e1e376fe153053b4287018ddbc80e76710f6969f', # 2022.AM_SIM_Abaqus_Extend.AllOS.5-5.tar +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.10.3-intel-2022a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.10.3-intel-2022a.eb new file mode 100644 index 00000000000..2a79959bfb9 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.10.3-intel-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.10.3' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3f2a9aebbf1fee9855a09dd687f88d2317b8b8e04f97b2628ab96fb898dce49b'] + +builddependencies = [ + ('Python', '3.10.4'), +] +dependencies = [ + ('libxc', '5.2.3'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('HDF5', '1.12.2'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-foss-2019b.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-foss-2019b.eb new file mode 100644 index 00000000000..e5246fc8c99 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-foss-2019b.eb @@ -0,0 +1,59 @@ +# +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.2.1' + +homepage = 'https://www.abinit.org/' +description = """ABINIT is a package whose main program allows one to find the total energy, + charge density and electronic structure of systems made of electrons and nuclei (molecules + and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a + planewave or wavelet basis.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4aa2deaeec385ff1624669a59768e1a6655f6367f8f109e69944244e000142a0'] + +builddependencies = [ + ('Python', '3.7.4'), +] +dependencies = [ + ('libxc', '4.3.4'), + ('netCDF', '4.7.1'), + ('netCDF-Fortran', '4.5.2'), + ('HDF5', '1.10.5'), +] + +# Ensure MPI. +configopts = '--with-mpi="yes" --enable-openmp="no" ' + +# BLAS/Lapack +configopts += '--with-linalg-flavor="openblas" LINALG_LIBS="-L${EBROOTOPENBLAS}/lib -lopenblas" ' + +# FFTW3 support +configopts += '--with-fft-flavor=fftw3 FFTW3_LIBS="-L${EBROOTFFTW} -lfftw3f -lfftw3" ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# make sure --free-line-length-none is added to FCFLAGS +configopts += 'FCFLAGS="${FCFLAGS} --free-line-length-none" ' + +# `make check` is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-intel-2019b.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-intel-2019b.eb new file mode 100644 index 00000000000..846d9837a95 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.2.1-intel-2019b.eb @@ -0,0 +1,57 @@ +# +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.2.1' + +homepage = 'https://www.abinit.org/' +description = """ABINIT is a package whose main program allows one to find the total energy, + charge density and electronic structure of systems made of electrons and nuclei (molecules + and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a + planewave or wavelet basis.""" + +toolchain = {'name': 'intel', 'version': '2019b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4aa2deaeec385ff1624669a59768e1a6655f6367f8f109e69944244e000142a0'] + +builddependencies = [ + ('Python', '3.7.4'), +] +dependencies = [ + ('libxc', '4.3.4'), + ('netCDF', '4.7.1'), + ('netCDF-Fortran', '4.5.2'), + ('HDF5', '1.10.5'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" --enable-openmp="no" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# `make check` is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-foss-2021a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-foss-2021a.eb new file mode 100644 index 00000000000..68d2f193748 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-foss-2021a.eb @@ -0,0 +1,65 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.4.2' + +homepage = 'https://www.abinit.org/' +description = """ABINIT is a package whose main program allows one to find the total energy, + charge density and electronic structure of systems made of electrons and nuclei (molecules + and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a + planewave or wavelet basis.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc'] + +builddependencies = [ + ('Python', '3.9.5'), +] +dependencies = [ + ('libxc', '5.1.5'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('HDF5', '1.10.7'), + ('Wannier90', '3.1.0'), +] + +# Needed due to changes in GCC10. +configopts = 'FCFLAGS="-fallow-argument-mismatch -ffree-line-length-none $FCFLAGS" ' +configopts += 'FFLAGS="-fallow-argument-mismatch $FFLAGS" ' + +# Ensure MPI +configopts += '--with-mpi="yes" --enable-openmp="no" ' +# configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# BLAS/Lapack from OpenBLAS +configopts += '--with-linalg-flavor="openblas" LINALG_LIBS="${LIBLAPACK_MT}" ' + +# FFTW +configopts += '--with-fft-flavor=fftw3 FFTW3_LIBS="-L${EBROOTFFTW} -lfftw3f -lfftw3" ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-intel-2021a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-intel-2021a.eb new file mode 100644 index 00000000000..2c65450d26f --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.4.2-intel-2021a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.4.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d40886f5c8b138bb4aa1ca05da23388eb70a682790cfe5020ecce4db1b1a76bc'] + +builddependencies = [ + ('Python', '3.9.5'), +] +dependencies = [ + ('libxc', '5.1.5'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('HDF5', '1.10.7'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb new file mode 100644 index 00000000000..4003b3410d5 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-foss-2022a.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.10.4'), +] +dependencies = [ + ('libxc', '5.2.3'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('HDF5', '1.12.2'), + ('Wannier90', '3.1.0'), +] + +# Needed due to changes in GCC10. +configopts = 'FCFLAGS="-fallow-argument-mismatch -ffree-line-length-none $FCFLAGS" ' +configopts += 'FFLAGS="-fallow-argument-mismatch $FFLAGS" ' + +# Ensure MPI +configopts += '--with-mpi="yes" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from FlexiBLAS +configopts += 'LINALG_LIBS="${LIBLAPACK_MT}" ' + +# FFTW +configopts += '--with-fft-flavor=fftw3 FFTW3_LIBS="-L${EBROOTFFTW} -lfftw3f -lfftw3" ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021a.eb new file mode 100644 index 00000000000..f7c45b0d2ec --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.9.5'), +] +dependencies = [ + ('libxc', '5.1.5'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('HDF5', '1.10.7'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021b.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021b.eb new file mode 100644 index 00000000000..b93cd4a7d35 --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2021b.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.9.6'), +] +dependencies = [ + ('libxc', '5.1.6'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('HDF5', '1.12.1'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# Enable OpenMP +configopts += '--enable-openmp ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb new file mode 100644 index 00000000000..a6b50b225af --- /dev/null +++ b/easybuild/easyconfigs/a/ABINIT/ABINIT-9.6.2-intel-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'ConfigureMake' + +name = 'ABINIT' +version = '9.6.2' + +homepage = 'https://www.abinit.org/' +description = """ +ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of +systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using +pseudopotentials and a planewave or wavelet basis. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +source_urls = ['https://www.abinit.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b018c2ff24338a5952c5550a7e09d4c7793b62402c7aa4e09273e9a666e674fb'] + +builddependencies = [ + ('Python', '3.10.4'), +] +dependencies = [ + ('libxc', '5.2.3'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('HDF5', '1.12.2'), + ('Wannier90', '3.1.0'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi="yes" ' +configopts += ' FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' + +# Enable OpenMP +configopts += '--enable-openmp="yes" ' + +# BLAS/Lapack from MKL +configopts += '--with-linalg-flavor=mkl ' + +# FFTW from MKL +configopts += '--with-fft-flavor=dfti ' + +# libxc support +configopts += '--with-libxc=${EBROOTLIBXC} ' + +# hdf5/netcdf4 support +configopts += '--with-netcdf="${EBROOTNETCDF}" ' +configopts += '--with-netcdf-fortran="${EBROOTNETCDFMINFORTRAN}" ' +configopts += '--with-hdf5="${EBROOTHDF5}" ' + +# Wannier90 +configopts += '--with-wannier90="${EBROOTWANNIER90}" ' +preconfigopts = 'export WANNIER90_LIBS="-L$EBROOTWANNIER90/lib -lwannier" && ' + +# Enable double precision for GW calculations +configopts += '--enable-gw-dpc ' + +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ABRA2/ABRA2-2.22-iccifort-2019.5.281.eb b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.22-iccifort-2019.5.281.eb index 855e80e9b9d..29a1e735bcb 100644 --- a/easybuild/easyconfigs/a/ABRA2/ABRA2-2.22-iccifort-2019.5.281.eb +++ b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.22-iccifort-2019.5.281.eb @@ -16,10 +16,10 @@ checksums = [ '05090efb306fc84d09f007a848ce0d0472f8633633b0a6eaf86ab075d092bc0d', # ABRA2-2.22_fix-Makefile.patch ] -builddependencies = [('Maven', '3.6.3', '', True)] +builddependencies = [('Maven', '3.6.3', '', SYSTEM)] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('BWA', '0.7.17'), ] diff --git a/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-10.2.0.eb b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-10.2.0.eb new file mode 100644 index 00000000000..b06c4f9ab4d --- /dev/null +++ b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-10.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'ABRA2' +version = '2.23' + +homepage = 'https://github.com/mozack/abra2' +description = "Assembly Based ReAligner" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/mozack/abra2/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['ABRA2-2.22_fix-Makefile.patch'] +checksums = [ + '3993f66a493070ee49df2865b6786a45a0cf6c379bae83e94b8339abbe673289', # v2.23.tar.gz + '05090efb306fc84d09f007a848ce0d0472f8633633b0a6eaf86ab075d092bc0d', # ABRA2-2.22_fix-Makefile.patch +] + +builddependencies = [('Maven', '3.6.3', '', SYSTEM)] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('BWA', '0.7.17'), +] + +parallel = 1 + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' +buildopts += '&& make standalone CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [ + (['abra'], 'bin'), + (['target/libAbra.%s' % SHLIB_EXT], 'lib'), + 'target/abra2-%(version)s-jar-with-dependencies.jar', +] + +postinstallcmds = ["cd %(installdir)s && mv abra2-%(version)s-jar-with-dependencies.jar abra2-%(version)s.jar"] + +sanity_check_paths = { + 'files': ['abra2-%(version)s.jar', 'bin/abra', 'lib/libAbra.%s' % SHLIB_EXT], + 'dirs': [], +} + +# required to work around localization bug, see https://github.com/mozack/abra2/issues/25 +modextravars = {'LC_ALL': 'en_US.UTF-8'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-9.3.0.eb b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-9.3.0.eb index f93ab230e6b..842e9e8cdfe 100644 --- a/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/a/ABRA2/ABRA2-2.23-GCC-9.3.0.eb @@ -16,10 +16,10 @@ checksums = [ '05090efb306fc84d09f007a848ce0d0472f8633633b0a6eaf86ab075d092bc0d', # ABRA2-2.22_fix-Makefile.patch ] -builddependencies = [('Maven', '3.6.3', '', True)] +builddependencies = [('Maven', '3.6.3', '', SYSTEM)] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('BWA', '0.7.17'), ] diff --git a/easybuild/easyconfigs/a/ABRicate/ABRicate-1.0.0-gompi-2021a.eb b/easybuild/easyconfigs/a/ABRicate/ABRicate-1.0.0-gompi-2021a.eb new file mode 100644 index 00000000000..097732fac34 --- /dev/null +++ b/easybuild/easyconfigs/a/ABRicate/ABRicate-1.0.0-gompi-2021a.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'ABRicate' +version = '1.0.0' + +homepage = 'https://github.com/tseemann/abricate' +description = "Mass screening of contigs for antimicrobial and virulence genes" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +# https://github.com/tseemann/abricate +github_account = 'tseemann' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['e7e2af45e47b887c4dba754af87a24014dcb5552eb3fe2a3fd66bb5359a0daf9'] + +dependencies = [ + ('Perl', '5.32.1'), + ('any2fasta', '0.4.2'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.11.0'), +] + +postinstallcmds = ['%(installdir)s/bin/abricate --setupdb'] + +sanity_check_paths = { + 'files': ['bin/abricate', 'bin/abricate-get_db'], + 'dirs': ['db'], +} + +sanity_check_commands = [ + "abricate --help", + "abricate --list", +] + +modloadmsg = "abricate databases are located in $EBROOTABRICATE/db\n" + +moduleclass = 'bio' 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/ACT/ACT-18.0.2-Java-11.eb b/easybuild/easyconfigs/a/ACT/ACT-18.0.2-Java-11.eb deleted file mode 100644 index 0ede9d4bbab..00000000000 --- a/easybuild/easyconfigs/a/ACT/ACT-18.0.2-Java-11.eb +++ /dev/null @@ -1,26 +0,0 @@ -easyblock = 'PackedBinary' - -name = 'ACT' -version = '18.0.2' -versionsuffix = '-Java-%(javaver)s' - -homepage = 'http://sanger-pathogens.github.io/Artemis/ACT/' -description = """ ACT is a Java application for displaying pairwise comparisons between two or more DNA sequences. - It can be used to identify and analyse regions of similarity and difference between genomes - and to explore conservation of synteny, in the context of the entire sequences and their annotation. - It can read complete EMBL, GENBANK and GFF entries or sequences in FASTA or raw format. """ - -toolchain = SYSTEM - -source_urls = ['https://github.com/sanger-pathogens/Artemis/releases/download/v%(version)s/'] -sources = ['artemis-unix-release-%(version)s.tar.gz'] -checksums = ['1cb9f36af4c96ae3bde4fa849e01e66c830d4b968867e7842abbab9195b57e60'] - -dependencies = [('Java', '11')] - -sanity_check_paths = { - 'files': ['act', 'art'], - 'dirs': [], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ACT/ACT-18.0.3-Java-11.eb b/easybuild/easyconfigs/a/ACT/ACT-18.0.3-Java-11.eb deleted file mode 100644 index ba982a15488..00000000000 --- a/easybuild/easyconfigs/a/ACT/ACT-18.0.3-Java-11.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'PackedBinary' - -name = 'ACT' -version = '18.0.3' -versionsuffix = '-Java-%(javaver)s' - -homepage = 'https://sanger-pathogens.github.io/Artemis/ACT/' -description = """ ACT is a Java application for displaying pairwise comparisons between two or more DNA sequences. - It can be used to identify and analyse regions of similarity and difference between genomes - and to explore conservation of synteny, in the context of the entire sequences and their annotation. - It can read complete EMBL, GENBANK and GFF entries or sequences in FASTA or raw format. """ - -toolchain = SYSTEM - -source_urls = ['https://github.com/sanger-pathogens/Artemis/releases/download/v%(version)s/'] -sources = ['artemis-unix-release-%(version)s.tar.gz'] -checksums = ['2603e6daf123c866817fcc22d4577244787349913cebc7acecbcc2e059a8e15c'] - -dependencies = [('Java', '11')] - -sanity_check_paths = { - 'files': ['act', 'art'], - 'dirs': [], -} - -# act -help returns exit-code 1, but it is valid working executable. -# Workaround is to grep phrase from help command output -# https://github.com/sanger-pathogens/Artemis/issues/296 -sanity_check_commands = [ - "act -help | grep -q 'EXAMPLES'" -] - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ACTC/ACTC-1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/ACTC/ACTC-1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..12bca02e2a6 --- /dev/null +++ b/easybuild/easyconfigs/a/ACTC/ACTC-1.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'ACTC' +version = '1.1' + +homepage = 'https://sourceforge.net/projects/actc' +description = "ACTC converts independent triangles into triangle strips or fans." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3a1303291629b9de6008c3c9d7b020a4b854802408fb3f8222ec492808c8b44d'] + +builddependencies = [('binutils', '2.38')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['tcsample', 'tctest', 'tctest2'], 'bin'), + (['tc.h'], 'include/ac'), + (['libactc.a'], 'lib'), + 'COPYRIGHT', 'manual.html', 'prims.gif', 'README', +] + +sanity_check_paths = { + 'files': ['bin/tctest', 'bin/tctest2', 'bin/tcsample', 'include/ac/tc.h', 'lib/libactc.a', + 'COPYRIGHT', 'manual.html', 'prims.gif', 'README'], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/ac'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/ADIOS/ADIOS-1.13.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/a/ADIOS/ADIOS-1.13.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..6df9ace119f --- /dev/null +++ b/easybuild/easyconfigs/a/ADIOS/ADIOS-1.13.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,73 @@ +# Based on ADIOS-1.13.1-foss-2019a-Python-2.7.15.eb +# Updated to foss-2020a toolchain and switched to ConfigureMake +# Mini-XML updated to latest 2.x. version +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'ADIOS' +version = '1.13.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.olcf.ornl.gov/center-projects/adios/' +description = """The Adaptable IO System (ADIOS) provides a simple, +flexible way for scientists to describe the data in their code that may +need to be written, read, or processed outside of the running +simulation.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'ornladios' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_force_use_of_mpi.patch', + '%(name)s-%(version)s_fix_missing_thread_lib.patch', + '%(name)s-%(version)s_fix_search_for_szip.patch', +] +checksums = [ + 'b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b', # v1.13.1.tar.gz + '81b9b0a77b23d6137f08900a3ecda4471b806c384cf4ad19c4370fc7ca8d9a82', # ADIOS-1.13.1_force_use_of_mpi.patch + 'a66fab38e5daf40978f9e961d810f9cbf189de8db924a403ae42a01d405f6fdc', # ADIOS-1.13.1_fix_missing_thread_lib.patch + '2e21a5041822c8b57554eb977a3135637c2714d377eee3b0194d377f1458cdab', # ADIOS-1.13.1_fix_search_for_szip.patch +] + +builddependencies = [ + ('Autotools', '20180311'), +] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Szip', '2.1.1'), + ('lz4', '1.9.2'), + ('netCDF', '4.7.4'), + ('Mini-XML', '2.12'), +] + +preconfigopts = ' autoreconf -i && ' +configopts = '--with-zlib=$EBROOTZLIB -with-bzip2=$EBROOTBZIP2 --with-netcdf==$EBROOTNETCDF ' +configopts += '--with-lz4=$EBROOTLZ4 --with-mxml=$EBROOTMINIMINXML --with-phdf5=$EBROOTHDF5 ' + +fix_python_shebang_for = ['bin/gpp.py'] + +runtest = ' check' + +sanity_check_paths = { + 'files': ['bin/adios_list_methods', 'bin/bpappend'], + 'dirs': ['etc/skel/templates', 'lib/python'], +} + +sanity_check_commands = [ + 'adios_list_methods', + 'bpappend -h', +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/ADIOS/ADIOS-20210804-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/a/ADIOS/ADIOS-20210804-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..03d791038bf --- /dev/null +++ b/easybuild/easyconfigs/a/ADIOS/ADIOS-20210804-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,78 @@ +# Based on ADIOS-1.13.1-foss-2019a-Python-2.7.15.eb +# Updated to foss-2020a toolchain and switched to ConfigureMake +# Latest version from GitHub +# Mini-XML updated to latest 2.x. version +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'ADIOS' +version = '20210804' +local_commit = 'de85222' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.olcf.ornl.gov/center-projects/adios/' +description = """The Adaptable IO System (ADIOS) provides a simple, +flexible way for scientists to describe the data in their code that may +need to be written, read, or processed outside of the running +simulation.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'ornladios' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] + +patches = [ + '%(name)s-1.13.1_force_use_of_mpi.patch', + '%(name)s-1.13.1_fix_missing_thread_lib.patch', + '%(name)s-1.13.1_fix_search_for_szip.patch', +] +checksums = [ + 'c58af40cbdb13843de2c2c157379d069880835c9b932ad05e774910ec23a468f', # de85222.tar.gz + '81b9b0a77b23d6137f08900a3ecda4471b806c384cf4ad19c4370fc7ca8d9a82', # ADIOS-1.13.1_force_use_of_mpi.patch + 'a66fab38e5daf40978f9e961d810f9cbf189de8db924a403ae42a01d405f6fdc', # ADIOS-1.13.1_fix_missing_thread_lib.patch + '2e21a5041822c8b57554eb977a3135637c2714d377eee3b0194d377f1458cdab', # ADIOS-1.13.1_fix_search_for_szip.patch +] + +builddependencies = [ + ('Autotools', '20180311'), +] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Szip', '2.1.1'), + ('lz4', '1.9.2'), + ('netCDF', '4.7.4'), + ('Mini-XML', '2.12'), + ('zfp', '1.0.0'), +] + +preconfigopts = ' autoreconf -i && export LIBS="-lgomp" && ' +configopts = '--with-zlib=$EBROOTZLIB -with-bzip2=$EBROOTBZIP2 --with-netcdf==$EBROOTNETCDF ' +configopts += '--with-lz4=$EBROOTLZ4 --with-mxml=$EBROOTMINIMINXML --with-phdf5=$EBROOTHDF5 ' +configopts += '--with-zfp=$EBROOTZFP ' + +fix_python_shebang_for = ['bin/gpp.py'] + +runtest = ' check' + +sanity_check_paths = { + 'files': ['bin/adios_list_methods', 'bin/bpappend'], + 'dirs': ['etc/skel/templates', 'lib/python'], +} + +sanity_check_commands = [ + 'adios_list_methods', + 'bpappend -h', +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/ADMIXTURE/ADMIXTURE-1.3.0.eb b/easybuild/easyconfigs/a/ADMIXTURE/ADMIXTURE-1.3.0.eb index 6485dfbc593..709a656ede2 100644 --- a/easybuild/easyconfigs/a/ADMIXTURE/ADMIXTURE-1.3.0.eb +++ b/easybuild/easyconfigs/a/ADMIXTURE/ADMIXTURE-1.3.0.eb @@ -1,22 +1,27 @@ -easyblock = 'PackedBinary' +easyblock = 'Tarball' name = 'ADMIXTURE' version = '1.3.0' -homepage = 'http://software.genetics.ucla.edu/admixture' +homepage = 'https://dalexander.github.io/admixture/' description = """ADMIXTURE is a software tool for maximum likelihood estimation of individual ancestries from multilocus SNP genotype datasets. It uses the same statistical model as STRUCTURE but calculates estimates much more rapidly using a fast numerical optimization algorithm.""" toolchain = SYSTEM -source_urls = ['http://software.genetics.ucla.edu/%(namelower)s/binaries/'] +source_urls = ['https://dalexander.github.io/admixture/binaries/'] sources = ['%(namelower)s_linux-%(version)s.tar.gz'] -checksums = ['41f209817a17981a717c9a4aa3d799da718ed080f3386e703927628c74ca6ca6'] +checksums = [('41f209817a17981a717c9a4aa3d799da718ed080f3386e703927628c74ca6ca6', + '353e8b170c81f8d95946bf18bc78afda5d6bd32645b2a68658bd6781ff35703c')] + +postinstallcmds = ["mkdir %(installdir)s/bin && mv %(installdir)s/admixture{,32} %(installdir)s/bin/"] sanity_check_paths = { - 'files': ['admixture', 'admixture32'], + 'files': ['bin/admixture', 'bin/admixture32'], 'dirs': [] } +sanity_check_commands = ["admixture --help"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb new file mode 100644 index 00000000000..e6c25eaf32a --- /dev/null +++ b/easybuild/easyconfigs/a/AEDT/AEDT-2024R1.eb @@ -0,0 +1,16 @@ +name = 'AEDT' +version = '2024R1' + +homepage = 'https://www.ansys.com/products/electronics' +description = """The Ansys Electronics Desktop (AEDT) is a platform that enables +true electronics system design. AEDT provides access to the Ansys gold-standard +electromagnetics simulation solutions such as Ansys HFSS, Ansys Maxwell, Ansys Q3D +Extractor, Ansys SIwave, and Ansys Icepak using electrical CAD (ECAD) and mechanical +CAD (MCAD) workflows.""" + +toolchain = SYSTEM + +sources = ['ELECTRONICS_%(version)s_LINX64.tgz'] +checksums = ['7b131adf981ebca1e2f4fe8e607e50323167b69e77180a0ab61b2759d57abca5'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb index 26fa5bfad10..55508f145f9 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-18.1.09-intel-2018a-Python-3.6.4.eb @@ -42,13 +42,13 @@ start_dir = 'src' prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)sm" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb index b2ba202d6c2..377dd7ffdbb 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-18.3.00-foss-2018b-Python-3.6.6.eb @@ -15,7 +15,9 @@ source_urls = ['https://github.com/afni/afni/archive/'] sources = ['AFNI_%(version)s.tar.gz'] patches = ['AFNI-18.1.09_omp-pragma-statement-fix.patch'] checksums = [ - '01ecba09b1dfe270937f8cde204c18f38f9c4d543b1af3a7ccb17b04688f632d', # AFNI_18.3.00.tar.gz + # AFNI_18.3.00.tar.gz + ('01ecba09b1dfe270937f8cde204c18f38f9c4d543b1af3a7ccb17b04688f632d', + '4a22f277f271f8d2ab9680902e5e2b9e9622fdbc23c536b531f5ef9eb1882eed'), '8b739ddc09d6e398ac7fa86d89f6a02f26f2b58b17caea627d5c07de5282aab2', # AFNI-18.1.09_omp-pragma-statement-fix.patch ] @@ -40,13 +42,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)sm" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb index 0732a36f665..a981f2c9d2d 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-foss-2017b-Python-2.7.14.eb @@ -40,13 +40,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb index 9ba3747062c..b52b6b98215 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-19.0.01-intel-2017b-Python-2.7.14.eb @@ -40,13 +40,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cd src && cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)sm ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb index f69d4cd5999..ab2f8c2d7da 100644 --- a/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/a/AFNI/AFNI-20160329-intel-2016a-Python-2.7.11.eb @@ -41,13 +41,13 @@ skipsteps = ['configure', 'install'] prebuildopts = "cp Makefile.linux_openmp_64 Makefile && " buildopts = 'totality LGIFTI="$EBROOTEXPAT/lib/libexpat.a" LDPYTHON="-lpython%(pyshortver)s" ' -buildopts += 'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' -buildopts += 'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' +buildopts += r'CC="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCVOL="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCFAST="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCOLD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCMIN="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'CCSVD="${CC} ${CFLAGS} -fPIC -DREAD_WRITE_64 -DLINUX2 \$(CEXTRA)" ' +buildopts += r'LD="${CC} \$(CPROF)" LZLIB="${EBROOTZLIB}/lib/libz.a" XLIBS="-lXm -lXt" ' buildopts += 'IFLAGS="-I. -I$EBROOTPYTHON/include/python%(pyshortver)s ' buildopts += '-I$EBROOTGLIB/lib/glib-2.0/include -I$EBROOTGLIB/include/glib-2.0"' buildopts += ' INSTALLDIR=%(installdir)s' diff --git a/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb new file mode 100644 index 00000000000..a1b2860e3fa --- /dev/null +++ b/easybuild/easyconfigs/a/AFNI/AFNI-24.0.02-foss-2023a.eb @@ -0,0 +1,67 @@ +# Updated to version 24.0.02 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'AFNI' +version = '24.0.02' + +homepage = 'http://afni.nimh.nih.gov/' +description = """AFNI is a set of C programs for processing, analyzing, and displaying functional MRI (FMRI) data - + a technique for mapping human brain activity.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'pic': True} + +source_urls = ['https://github.com/afni/afni/archive/'] +sources = ['AFNI_%(version)s.tar.gz'] +checksums = ['2915ed5bf98712abe3373bfc285f946fdee6cf1367e23ba80575dd6eedb3529a'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('tcsh', '6.24.10'), + ('Python', '3.11.3'), + ('X11', '20230603'), + ('motif', '2.3.8'), + ('R', '4.3.2'), + ('PyQt5', '5.15.10'), + ('expat', '2.5.0'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('GSL', '2.7'), + ('GLib', '2.77.1'), + ('zlib', '1.2.13'), + ('freeglut', '3.4.0'), + ('Pillow', '10.0.0'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), + ('Xvfb', '21.1.8'), + ('FFmpeg', '6.0'), # required for running the program +] + +# Make sure stuff does not get installed in .local +configopts = '-DSTANDARD_PYTHON_INSTALL=OFF ' + +# Changing permissions of some files +postinstallcmds = ['chmod a+x %(installdir)s/bin/afni_system_check.py ;'] +postinstallcmds += ['chmod a+x %(installdir)s/bin/uber_subject.py ; '] +postinstallcmds += ['chmod a+x %(installdir)s/bin/init_user_dotfiles.py ; '] +# Copying apparently missing files over +postinstallcmds += ['cp -f %(start_dir)s/src/discoraj/ClusterExplorer/ClustExp_HistTable.py %(installdir)s/bin ; '] +postinstallcmds += ['cp -f %(start_dir)s/src/discoraj/ClusterExplorer/ClustExp_StatParse.py %(installdir)s/bin ; '] +postinstallcmds += ['cp -rf %(start_dir)s/src/scripts_for_r %(installdir)s/bin ; '] +postinstallcmds += ['cp -rf %(start_dir)s/src/R_scripts %(installdir)s/bin/scripts_for_r ; '] + +sanity_check_commands = ["afni -help"] + +sanity_check_paths = { + 'files': ['bin/afni', 'lib/libgts.%s' % SHLIB_EXT, 'lib/libnifti2.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': ['bin/scripts_for_r']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AGAT/AGAT-0.9.2-GCC-11.2.0.eb b/easybuild/easyconfigs/a/AGAT/AGAT-0.9.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..b269f17cc28 --- /dev/null +++ b/easybuild/easyconfigs/a/AGAT/AGAT-0.9.2-GCC-11.2.0.eb @@ -0,0 +1,68 @@ +# easybuild easyconfig +# +# John Dey Fred Hutchinson Cancer Center +# +easyblock = 'Bundle' + +name = 'AGAT' +version = '0.9.2' + +homepage = 'https://agat.readthedocs.io/en/latest/' +description = """AGAT: Another GTF/GFF Analysis Toolkit. Suite of tools to handle gene annotations + in any GTF/GFF format.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('File::Share', '0.27', { + 'source_tmpl': 'File-Share-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['d6e8f4b55ebd38e0bb45e44392e3fa27dc1fde16abc5d1ff53e157e19a5755be'], + }), + ('Sort::Naturally', '1.03', { + 'source_tmpl': 'Sort-Naturally-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['eaab1c5c87575a7826089304ab1f8ffa7f18e6cd8b3937623e998e865ec1e746'], + }), + ('Class::MethodMaker', '2.24', { + 'source_tmpl': 'Class-MethodMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SC/SCHWIGON/class-methodmaker'], + 'checksums': ['5eef58ccb27ebd01bcde5b14bcc553b5347a0699e5c3e921c7780c3526890328'], + }), + ('Term::ProgressBar', '2.22', { + 'source_tmpl': 'Term-ProgressBar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['2642ecca5b0b038c14812bcad3a9611ff7911dc59c9104d220797f837a880c49'], + }), + (name, version, { + 'modulename': 'AGAT::Utilities', + 'source_urls': ['https://github.com/NBISweden/AGAT/archive/refs/tags'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['998e32a3cb5e941efd324daf9ee4e0a71d605d06999922f083170b7a9f059899'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/%(name)s'], +} + +sanity_check_commands = ['agat_convert_bed2gff.pl --help'] +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AGAT/AGAT-1.1.0-GCC-12.2.0.eb b/easybuild/easyconfigs/a/AGAT/AGAT-1.1.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..4dc0f64dff3 --- /dev/null +++ b/easybuild/easyconfigs/a/AGAT/AGAT-1.1.0-GCC-12.2.0.eb @@ -0,0 +1,69 @@ +# easybuild easyconfig +# +# John Dey Fred Hutchinson Cancer Center +# Thomas Eylenbosch - Gluo NV +# +easyblock = 'Bundle' + +name = 'AGAT' +version = '1.1.0' + +homepage = 'https://agat.readthedocs.io/en/latest/' +description = """AGAT: Another GTF/GFF Analysis Toolkit. Suite of tools to handle gene annotations + in any GTF/GFF format.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Perl', '5.36.0'), + ('BioPerl', '1.7.8'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('File::Share', '0.27', { + 'source_tmpl': 'File-Share-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['d6e8f4b55ebd38e0bb45e44392e3fa27dc1fde16abc5d1ff53e157e19a5755be'], + }), + ('Sort::Naturally', '1.03', { + 'source_tmpl': 'Sort-Naturally-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['eaab1c5c87575a7826089304ab1f8ffa7f18e6cd8b3937623e998e865ec1e746'], + }), + ('Class::MethodMaker', '2.24', { + 'source_tmpl': 'Class-MethodMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SC/SCHWIGON/class-methodmaker'], + 'checksums': ['5eef58ccb27ebd01bcde5b14bcc553b5347a0699e5c3e921c7780c3526890328'], + }), + ('Term::ProgressBar', '2.23', { + 'source_tmpl': 'Term-ProgressBar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['defc03fb9f4ac1c9df1359d312bff3c0865ddefbf3aba64cd42a69a86215d49d'], + }), + (name, version, { + 'modulename': 'AGAT::Utilities', + 'source_urls': ['https://github.com/NBISweden/AGAT/archive/refs/tags'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['38e3df0d0a3817a38e8d824e9d865926c7da6eccc83d583f890faf72e62d7002'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/%(name)s'], +} + +sanity_check_commands = ['agat_convert_bed2gff.pl --help'] +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AGAT/AGAT-1.4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/a/AGAT/AGAT-1.4.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..2677e62fda1 --- /dev/null +++ b/easybuild/easyconfigs/a/AGAT/AGAT-1.4.0-GCC-12.3.0.eb @@ -0,0 +1,70 @@ +# easybuild easyconfig +# +# John Dey Fred Hutchinson Cancer Center +# Thomas Eylenbosch - Gluo NV +# Update: Petr Král (INUITS) +# +easyblock = 'Bundle' + +name = 'AGAT' +version = '1.4.0' + +homepage = 'https://agat.readthedocs.io/en/latest/' +description = """AGAT: Another GTF/GFF Analysis Toolkit. Suite of tools to handle gene annotations + in any GTF/GFF format.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('BioPerl', '1.7.8'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('File::Share', '0.27', { + 'source_tmpl': 'File-Share-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['d6e8f4b55ebd38e0bb45e44392e3fa27dc1fde16abc5d1ff53e157e19a5755be'], + }), + ('Sort::Naturally', '1.03', { + 'source_tmpl': 'Sort-Naturally-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['eaab1c5c87575a7826089304ab1f8ffa7f18e6cd8b3937623e998e865ec1e746'], + }), + ('Class::MethodMaker', '2.24', { + 'source_tmpl': 'Class-MethodMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SC/SCHWIGON/class-methodmaker'], + 'checksums': ['5eef58ccb27ebd01bcde5b14bcc553b5347a0699e5c3e921c7780c3526890328'], + }), + ('Term::ProgressBar', '2.23', { + 'source_tmpl': 'Term-ProgressBar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['defc03fb9f4ac1c9df1359d312bff3c0865ddefbf3aba64cd42a69a86215d49d'], + }), + (name, version, { + 'modulename': 'AGAT::Utilities', + 'source_urls': ['https://github.com/NBISweden/AGAT/archive/refs/tags'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d5e30db44b5d05ed51c606a823894c01c85c1ed85580148ad5473cb2f2b2ac77'], + }), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'lib/perl5/site_perl/%(perlver)s/%(name)s'], +} + +sanity_check_commands = ['agat_convert_bed2gff.pl --help'] +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AGeNT/AGeNT-3.0.6.eb b/easybuild/easyconfigs/a/AGeNT/AGeNT-3.0.6.eb new file mode 100644 index 00000000000..c176dbde77c --- /dev/null +++ b/easybuild/easyconfigs/a/AGeNT/AGeNT-3.0.6.eb @@ -0,0 +1,69 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +# JAR files are in a subdirectory with other stuff, so use Binary +easyblock = 'Binary' + +name = 'AGeNT' +version = '3.0.6' + +homepage = 'https://www.agilent.com/en/product/next-generation-sequencing/' +homepage += 'hybridization-based-next-generation-sequencing-ngs/ngs-software/agent-232879' +description = """The Agilent Genomics NextGen Toolkit (AGeNT) is a Java-based software +module that processes the read sequences from targeted high-throughput sequencing data +generated by sequencing Agilent SureSelect and HaloPlex libraries. + +The Trimmer utility of the AGeNT module processes the read sequences to identify and +remove the adaptor sequences and extracts dual molecular barcodes (for SureSelect XT HS2). + +The LocatIt utility of the AGeNT module processes the Molecular Barcode (MBC) information +from HaloPlex HS, SureSelect XT HS, and SureSelect XT HS2 Illumina sequencing runs with +options to either mark or merge duplicate reads and output in BAM file format. The Illumina +InterOp libraries are a set of common routines used for reading InterOp metric files +produced by Illumina sequencers including NextSeq 1k/2k. These libraries are backwards +compatible and capable of supporting prior releases of the software, with one exception: +GA systems have been excluded.""" + +software_license = 'LicenseVeryRestrictive' +# For Research Use Only. Not for use in diagnostic procedures. + +toolchain = SYSTEM + +builddependencies = [ + ('UnZip', '6.0', '', ('GCCcore', '10.3.0')), +] +dependencies = [ + ('Java', '11'), +] + +# Fill the form at https://explore.agilent.com/AGeNT-Software-Download-Form +# to get the zip file. +sources = ['AGeNT_%(version)s.zip'] +checksums = ['746e4445567ee41b7ced5cab3cd252d27d8f6f9eab56766e5d7ca74894e3db73'] + +extract_sources = False + +install_cmd = 'unzip ' + sources[0] + ' && ' +install_cmd += 'cp -ar *.html *.md agent/* %(installdir)s/ && ' +install_cmd += 'chmod -x %(installdir)s/*.txt && ' +install_cmd += 'chmod -x %(installdir)s/*.md && ' +install_cmd += 'rm -f %(installdir)s/*.cmd && ' +install_cmd += 'rm -f %(installdir)s/*.html && ' +install_cmd += 'mkdir %(installdir)s/bin && ' +install_cmd += 'mv %(installdir)s/*.sh %(installdir)s/bin/ && ' +install_cmd += 'ln -s ../lib %(installdir)s/bin/lib && ' +install_cmd += 'sed -i "s@ lib/@ ../lib/@" %(installdir)s/bin/*.sh' + +sanity_check_paths = { + 'files': ['bin/agent.sh'], + 'dirs': ['bin', 'lib'] +} + +sanity_check_commands = ["agent.sh"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AICSImageIO/AICSImageIO-4.14.0-foss-2022a.eb b/easybuild/easyconfigs/a/AICSImageIO/AICSImageIO-4.14.0-foss-2022a.eb new file mode 100644 index 00000000000..ca6f96cab75 --- /dev/null +++ b/easybuild/easyconfigs/a/AICSImageIO/AICSImageIO-4.14.0-foss-2022a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'AICSImageIO' +version = '4.14.0' + +homepage = 'https://github.com/AllenCellModeling/aicsimageio' +description = """Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dask', '2022.10.0'), + ('imagecodecs', '2022.9.26'), + ('lxml', '4.9.1'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('wrapt', '1.15.0'), + ('xarray', '2022.6.0'), + ('zarr', '2.13.3'), + ('aiohttp', '3.8.3'), + ('scikit-image', '0.19.3'), + ('pydantic', '1.10.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pydantic_compat', '0.1.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['37a4df48565a35aedc947f0fde5edbdff270a30836d995923287292bb59d5677'], + }), + ('xsdata', '23.8', { + 'checksums': ['55f03d4c88236f047266affe550ba0dd19476adfce6a01f3e0aefac7c8078e56'], + }), + ('ome_types', '0.4.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3d97ce595d0f2f9c37dce3dd359fb30c7dbcad8c8c806604c40f18f99be8c1b2'], + }), + # Overwrites installed version because aicsimageio 4.14.0 has requirement fsspec<2023.9.0,>=2022.8.0 + ('fsspec', '2023.6.0', { + 'checksums': ['d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af'], + }), + ('ome-zarr', '0.8.3', { + 'checksums': ['e98762e6a3cc82e8f6ef50c938e23fc579498d94d1991f3476ccf9726209997b'], + }), + ('resource_backed_dask_array', '0.1.0', { + 'checksums': ['8fabcccf5c7e29059b5badd6786dd7675a258a203c58babf10077d9c90ada54f'], + }), + ('elementpath', '4.1.5', { + 'checksums': ['c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d'], + }), + ('xmlschema', '2.5.0', { + 'checksums': ['276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454'], + }), + ('%(namelower)s', version, { + 'checksums': ['0f6684587b1d833ce5b10f3e81314e2a89269cd94bd09747fcd6460f3119855c'], + }), +] + +sanity_check_commands = ["python -c 'from aicsimageio.writers import OmeTiffWriter'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/AIMAll/AIMAll-19.10.12-intel-2020b-linux_64bit.eb b/easybuild/easyconfigs/a/AIMAll/AIMAll-19.10.12-intel-2020b-linux_64bit.eb new file mode 100644 index 00000000000..1bce2a99d52 --- /dev/null +++ b/easybuild/easyconfigs/a/AIMAll/AIMAll-19.10.12-intel-2020b-linux_64bit.eb @@ -0,0 +1,39 @@ +easyblock = 'Tarball' + +name = 'AIMAll' +version = '19.10.12' +versionsuffix = '-linux_64bit' + +homepage = 'http://aim.tkgristmill.com' +description = """ +AIMAll is an easy to use, accurate, reliable and efficient quantum chemistry software package for performing +comprehensive, quantitative and visual QTAIM analyses of molecular systems - starting from molecular wavefunction +data.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +download_instructions = """Download sources from http://aim.tkgristmill.com/download/download.html (requires login). +To run in professional mode, add required license files to the main AIMAll directory.""" +sources = [ + {'filename': 'aimall_%s_linux_64bit.tar.gz' % version.replace('.', '_'), + 'extract_cmd': 'tar -xzf %s --strip-components=1'}, + # {'filename': 'license_file_b.lslicb', 'extract_cmd': 'cp %s .'}, + # {'filename': 'license_file_a.lslica', 'extract_cmd': 'cp %s .'}, +] +checksums = [ + 'bf369ec8dd829c23a954b1c405edc7d8a01034d106cabc9c332bf7c4c177a54c', # aimall_19_10_12_linux_64bit.tar.gz +] + +buildininstalldir = True +skipsteps = ['install'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['bin/%s.exe' % x for x in ['aimext', 'aimint', 'aimqb', 'aimstudio', 'aimsum', 'aimutil']], + 'dirs': [], +} + +sanity_check_commands = ['aimqb.ish -nogui -help'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ALAMODE/ALAMODE-1.4.2-foss-2022b.eb b/easybuild/easyconfigs/a/ALAMODE/ALAMODE-1.4.2-foss-2022b.eb new file mode 100644 index 00000000000..5f855b18e6f --- /dev/null +++ b/easybuild/easyconfigs/a/ALAMODE/ALAMODE-1.4.2-foss-2022b.eb @@ -0,0 +1,57 @@ +# with thanks to ComputeCanada for the initial easyconfig for 1.0.2-iomkl-2017.5.211.eb +# updated for 1.4.2 by BEAR Software team at University of Birmingham +easyblock = "CMakeMakeCp" + +name = 'ALAMODE' +version = '1.4.2' + +homepage = 'http://alamode.readthedocs.io/en/latest/index.html' +description = """ALAMODE is an open source software designed for analyzing lattice anharmonicity + and lattice thermal conductivity of solids. By using an external DFT package such as VASP and + Quantum ESPRESSO, you can extract harmonic and anharmonic force constants straightforwardly with ALAMODE. + Using the calculated anharmonic force constants, you can also estimate lattice thermal conductivity, + phonon linewidth, and other anharmonic phonon properties from first principles. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/ttadano/alamode/archive/'] +sources = ['v.%(version)s.tar.gz'] +checksums = ['18fb80a183c2a9b68488aeeccd6efa95e8c21d4cb21b08319a557389d55c067a'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('Eigen', '3.4.0'), + ('spglib', '2.0.2'), + ('FFTW', '3.3.10'), + ('HDF5', '1.14.0'), + ('Python', '3.10.8'), +] + +configopts = ' '.join([ + "-DWITH_HDF5_SUPPORT=yes", + "-DUSE_MKL_FFT=no", + "-DSPGLIB_ROOT=$EBROOTSPGLIB" +]) + +local_binary_files = [ + "alm/alm", "anphon/anphon", "tools/analyze_phonons", "tools/dfc2", "tools/fc_virtual", + "tools/parse_fcsxml", "tools/qe2alm", "tools/analyze_phonons.py", "tools/displace.py", "tools/extract.py", + "tools/GenDisplacement.py", "tools/makedisp_qe.py", "tools/plotband.py", "tools/plotdos.py", + "tools/scph_to_qefc.py", +] + +files_to_copy = [([x for x in local_binary_files], 'bin'), 'docs', 'example'] + +sanity_check_paths = { + 'files': ['bin/alm'], + 'dirs': ["docs", "example"] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2022b.eb b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2022b.eb new file mode 100644 index 00000000000..a528178aeec --- /dev/null +++ b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ALL' +version = '0.9.2' + +homepage = 'https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing' +description = """A Load Balancing Library (ALL) aims to provide an easy way to include dynamic +domain-based load balancing into particle based simulation codes. The library +is developed in the Simulation Laboratory Molecular Systems of the Jülich +Supercomputing Centre at Forschungszentrum Jülich.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ["https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v%(version)s/"] +sources = ['loadbalancing-v%(version)s.tar.gz'] +checksums = ['2b4ef52c604c3c0c467712d0912a33c82177610b67edc14df1e034779c6ddb71'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Boost', '1.81.0'), # only needed for tests +] + +dependencies = [ + ('VTK', '9.2.6'), +] + +configopts = '-DCM_ALL_FORTRAN=ON -DCM_ALL_USE_F08=ON -DCM_ALL_VORONOI=ON -DCM_ALL_VTK_OUTPUT=ON ' +configopts += '-DCM_ALL_TESTS=ON -DCM_ALL_AUTO_DOC=OFF -DVTK_DIR=$EBROOTVTK ' + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'include/ALL.hpp', 'include/ALL_Voronoi.hpp', 'lib/all_module.mod', + 'lib/libALL.a', 'lib/libALL_fortran.a' + ], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023a.eb b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023a.eb new file mode 100644 index 00000000000..882d3b0a27d --- /dev/null +++ b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ALL' +version = '0.9.2' + +homepage = 'https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing' +description = """A Load Balancing Library (ALL) aims to provide an easy way to include dynamic +domain-based load balancing into particle based simulation codes. The library +is developed in the Simulation Laboratory Molecular Systems of the Jülich +Supercomputing Centre at Forschungszentrum Jülich.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ["https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v%(version)s/"] +sources = ['loadbalancing-v%(version)s.tar.gz'] +checksums = ['2b4ef52c604c3c0c467712d0912a33c82177610b67edc14df1e034779c6ddb71'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Boost', '1.82.0'), # only needed for tests +] + +dependencies = [ + ('VTK', '9.3.0'), +] + +configopts = '-DCM_ALL_FORTRAN=ON -DCM_ALL_USE_F08=ON -DCM_ALL_VORONOI=ON -DCM_ALL_VTK_OUTPUT=ON ' +configopts += '-DCM_ALL_TESTS=ON -DCM_ALL_AUTO_DOC=OFF -DVTK_DIR=$EBROOTVTK ' + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'include/ALL.hpp', 'include/ALL_Voronoi.hpp', 'lib/all_module.mod', + 'lib/libALL.a', 'lib/libALL_fortran.a' + ], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023b.eb b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023b.eb new file mode 100644 index 00000000000..eb1a53ff8da --- /dev/null +++ b/easybuild/easyconfigs/a/ALL/ALL-0.9.2-foss-2023b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ALL' +version = '0.9.2' + +homepage = 'https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing' +description = """A Load Balancing Library (ALL) aims to provide an easy way to include dynamic +domain-based load balancing into particle based simulation codes. The library +is developed in the Simulation Laboratory Molecular Systems of the Jülich +Supercomputing Centre at Forschungszentrum Jülich.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ["https://gitlab.jsc.fz-juelich.de/SLMS/loadbalancing/-/archive/v%(version)s/"] +sources = ['loadbalancing-v%(version)s.tar.gz'] +checksums = ['2b4ef52c604c3c0c467712d0912a33c82177610b67edc14df1e034779c6ddb71'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Boost', '1.83.0'), # only needed for tests +] + +dependencies = [ + ('VTK', '9.3.0'), +] + +configopts = '-DCM_ALL_FORTRAN=ON -DCM_ALL_USE_F08=ON -DCM_ALL_VORONOI=ON -DCM_ALL_VTK_OUTPUT=ON ' +configopts += '-DCM_ALL_TESTS=ON -DCM_ALL_AUTO_DOC=OFF -DVTK_DIR=$EBROOTVTK ' + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'include/ALL.hpp', 'include/ALL_Voronoi.hpp', 'lib/all_module.mod', + 'lib/libALL.a', 'lib/libALL_fortran.a' + ], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb b/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb new file mode 100644 index 00000000000..d0d5c54fd5e --- /dev/null +++ b/easybuild/easyconfigs/a/AMAPVox/AMAPVox-1.9.4-Java-11.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'AMAPVox' +version = '1.9.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://amap-dev.cirad.fr/projects/amapvox' +description = "LiDAR data voxelisation software" + +toolchain = SYSTEM + +source_urls = ['http://amap-dev.cirad.fr/attachments/download/1916/'] +sources = [SOURCE_ZIP] +checksums = ['6d3e65fbd17a8e3a45962f5d1ce60a58ad0bfd899fa704dc172f2819fc309b74'] + +dependencies = [('Java', '11')] + +postinstallcmds = ["chmod a+x %(installdir)s/AMAPVox.sh"] + +sanity_check_paths = { + 'files': ['AMAPVox.sh', 'AMAPVox-%(version)s.jar'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["AMAPVox.sh -h"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.4.502.eb b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.4.502.eb new file mode 100644 index 00000000000..f725f56d505 --- /dev/null +++ b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.4.502.eb @@ -0,0 +1,34 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Binary' + +name = 'AMD-uProf' +version = '3.4.502' + +homepage = 'https://developer.amd.com/amd-uprof/' +description = """AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD + operating systems. It allows developers to better understand the runtime performance of their application and + to identify ways to improve its performance.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.amd.com/wordpress/media/files/'] +sources = ['AMDuProf_Linux_x64_%(version)s.tar.bz2'] +checksums = ['891463c0e4f20e1c67a145441e983c863156a52716234cd8d5a96a8d09635ba7'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['include/AMDTPowerProfileApi.h', 'lib/x64/libAMDProfileController.a', + 'bin/libAMDThreadProfileAPI.%s' % SHLIB_EXT, 'bin/AMDuProf'], + 'dirs': ['Examples'] +} + +sanity_check_commands = ['AMDuProfCLI info --system'] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'bin' +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.5.671.eb b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.5.671.eb new file mode 100644 index 00000000000..13e22242029 --- /dev/null +++ b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-3.5.671.eb @@ -0,0 +1,34 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Binary' + +name = 'AMD-uProf' +version = '3.5.671' + +homepage = 'https://developer.amd.com/amd-uprof/' +description = """AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD + operating systems. It allows developers to better understand the runtime performance of their application and + to identify ways to improve its performance.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.amd.com/wordpress/media/files/'] +sources = ['AMDuProf_Linux_x64_%(version)s.tar.bz2'] +checksums = ['a73066305228658a14af5ecd6cf45a1aa47ae94f7e9d14db31f43013d3ef1a43'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['include/AMDTPowerProfileApi.h', 'lib/x64/libAMDProfileController.a', + 'bin/libAMDThreadProfileAPI.%s' % SHLIB_EXT, 'bin/AMDuProf'], + 'dirs': ['Examples'] +} + +sanity_check_commands = ['AMDuProfCLI info --system'] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'bin' +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-4.1.424.eb b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-4.1.424.eb new file mode 100644 index 00000000000..1035c1a8bb8 --- /dev/null +++ b/easybuild/easyconfigs/a/AMD-uProf/AMD-uProf-4.1.424.eb @@ -0,0 +1,37 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Binary' + +name = 'AMD-uProf' +version = '4.1.424' + +homepage = 'https://developer.amd.com/amd-uprof/' +description = """AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD + operating systems. It allows developers to better understand the runtime performance of their application and + to identify ways to improve its performance.""" + +download_instructions = """The sources can be obtained after signing a EULA aggreement + (https://www.amd.com/en/developer/uprof.html#downloads).""" + +toolchain = SYSTEM + +source_urls = ['https://developer.amd.com/wordpress/media/files/'] +sources = ['AMDuProf_Linux_x64_%(version)s.tar.bz2'] +checksums = ['ec8e9eef26f3c8f53e05c4b97e5f292afb14a9ad379c76cb98d2b2419496626c'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['include/AMDTPowerProfileApi.h', 'lib/x64/libAMDProfileController.a', + 'bin/libAMDThreadProfileAPI.%s' % SHLIB_EXT, 'bin/AMDuProf'], + 'dirs': ['Examples'] +} + +sanity_check_commands = ['AMDuProfCLI info --system'] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'bin' +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..e4549fab545 --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,114 @@ +easyblock = 'CMakeMake' + +name = 'AMGX' +version = '2.4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/AMGX' + +description = """Distributed multigrid linear solver library on GPU""" +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'AMGX-%(version)s_external-thrust.patch', + 'AMGX-%(version)s_fix-openmp-linking.patch', +] +checksums = [ + {'v2.4.0.tar.gz': 'b030b8c2e58c4c9987444e5d28fd61e1c5dcd65d484a290d6a18ae0bc5c0e9db'}, + {'AMGX-2.4.0_external-thrust.patch': '90e4be09615a26bd7ebce68ced63d9d3b52141f7b480e8cedb17b05003656e16'}, + {'AMGX-2.4.0_fix-openmp-linking.patch': '10046d5d9fff48cb4902797525d43963855c4834f262bdc3c341bbc2cb1f6f76'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', versionsuffix), + ('magma', '2.7.2', versionsuffix), + ('CCCL', '2.3.0', versionsuffix), +] + +cuda_compute_capabilities = ['7.0', '8.0', '9.0'] # AMGX defaults for CUDA 12 + +configopts = '-DCUDA_ARCH="%(cuda_cc_cmake)s" ' + +# Can't run all tests (55 failing); many fail due to mixed precision not being supported +# some fail due to missing external data files, many unknown issues +# All tests can be attempted with "amgx_tests_launcher --all" +local_tests = [ + 'AggregatesCoarseGeneratorTest', + 'AggregatesCoarseningFactor', + 'AggregatesDeterminism', + 'AggregatesDiagonalOutside', + 'AmgLevelsReuse', + 'CAPIFailure', + 'CAPIVersionCheck', + 'ClassicalStrengthAffinityTest', + 'ClassicalStrengthTest', + 'ConfigStringParsing', + 'CsrMultiplyTests_Poisson27_100_100', + 'CsrMultiplyTests_Poisson27_10_10', + 'CsrMultiplyTests_Poisson5_100_100', + 'CsrMultiplyTests_Poisson5_10_1', + 'CsrMultiplyTests_Poisson7_100_100', + 'CsrMultiplyTests_Poisson7_10_10', + 'CsrMultiplyTests_Poisson9_100_100', + 'CsrMultiplyTests_Poisson9_10_10', + 'CsrSparsityILU1Tests_Poisson27_100_100', + 'CsrSparsityILU1Tests_Poisson27_10_10', + 'CsrSparsityILU1Tests_Poisson5_100_100', + 'CsrSparsityILU1Tests_Poisson5_10_10', + 'CsrSparsityILU1Tests_Poisson7_100_100', + 'CsrSparsityILU1Tests_Poisson7_10_10', + 'CsrSparsityILU1Tests_Poisson9_100_100', + 'CsrSparsityILU1Tests_Poisson9_10_10', + 'CsrSparsityTests_Poisson27_100_100', + 'CsrSparsityTests_Poisson27_10_10', + 'CsrSparsityTests_Poisson5_100_100', + 'CsrSparsityTests_Poisson5_10_10', + 'CsrSparsityTests_Poisson7_100_100', + 'CsrSparsityTests_Poisson7_10_10', + 'CsrSparsityTests_Poisson9_100_100', + 'CsrSparsityTests_Poisson9_10_10', + 'DenseLUSolverTest_Factorization_Id_256', + 'DenseLUSolverTest_Factorization_Id_32', + 'DenseLUSolverTest_Solve_Id_256', + 'DenseLUSolverTest_Solve_Id_32', + 'DenseLUSolverTest_Solve_Poisson3D', + 'FactoriesTest', + 'FGMRESConvergencePoisson', + 'GenericSpMVTest', + 'IDRConvergencePoisson', + 'IDRmsyncConvergencePoisson', + 'LargeMatricesSupport', + 'LowDegDeterminism', + 'MatrixTests', + 'MatrixVectorMultiplyTests', + 'MinMaxColoringTest', + 'Nested_AMG_equivalence', + 'NestedSolvers', + 'NormTests', + 'ObjectDestructionSequence', + 'PermuteTests', + 'RandomMatrix', + 'SmootherBlockPoissonTest', + 'TemplateConfigTest', + 'TemplateTest', + 'truncateCountTest', + 'VectorTests', +] + +runtest = "amgx_tests_launcher && src/amgx_tests_launcher " + ' '.join(local_tests) + +sanity_check_paths = { + 'files': ['include/amgx_c.h', 'lib/libamgx.a', 'lib/libamgxsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch new file mode 100644 index 00000000000..6d734ab63d0 --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_external-thrust.patch @@ -0,0 +1,13 @@ +Forces AMGX to use external dependencies, avoiding needing the git submodule +the entire (deprecated) thrust library and all its dependencies. +author: micketeer@gmail.com +--- CMakeLists.txt.orig 2024-03-30 01:54:34.469780980 +0100 ++++ CMakeLists.txt 2024-03-30 01:54:46.491884432 +0100 +@@ -251,7 +251,6 @@ + ENDIF() + + # We depend on a specific version of thrust now so include the submodule +-add_subdirectory("thrust") + find_package(Thrust REQUIRED CONFIG) + thrust_create_target(Thrust) + diff --git a/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch new file mode 100644 index 00000000000..eab0e44e2b1 --- /dev/null +++ b/easybuild/easyconfigs/a/AMGX/AMGX-2.4.0_fix-openmp-linking.patch @@ -0,0 +1,15 @@ +Adds missing link option necessary for openmp linking. +The target_link_libraries used for amgx are not sufficient as CMake haven't +sorted this out yet, thus manually adding the flag for GCC. +author: micketeer@gmail.com +--- CMakeLists.txt.orig 2024-03-30 03:27:22.354168764 +0100 ++++ CMakeLists.txt 2024-03-30 03:28:00.397486779 +0100 +@@ -291,6 +291,8 @@ + ELSE (WIN32) + target_link_libraries(amgx CUDA::cublas CUDA::cusparse CUDA::cusolver CUDA::nvToolsExt m pthread) + target_link_libraries(amgxsh CUDA::cublas CUDA::cusparse CUDA::cusolver CUDA::nvToolsExt m pthread) ++ target_link_options(amgx INTERFACE "-fopenmp") ++ target_link_options(amgxsh INTERFACE "-fopenmp") + ENDIF(WIN32) + + if(MPI_FOUND) 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-2021b.eb b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0-foss-2021b.eb new file mode 100644 index 00000000000..cba3aad0459 --- /dev/null +++ b/easybuild/easyconfigs/a/AMOS/AMOS-3.1.0-foss-2021b.eb @@ -0,0 +1,44 @@ +## +# 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': '2021b'} +toolchainopts = {'pic': True, 'cstd': 'c++98'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['AMOS-%(version)s_GCC-4.7.patch'] +checksums = [ + '2d9f50e39186ad3dde3d3b28cc265e8d632430657f40fc3978ce34ab1b3db43b', # amos-3.1.0.tar.gz + '8633ff196568e208cc12932f25f46fa35f7e9a9e80e0bbf4288ae070dd7b8844', # AMOS-3.1.0_GCC-4.7.patch +] + +dependencies = [ + ('expat', '2.4.1'), + ('MUMmer', '4.0.0beta2'), +] + +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-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/AMPHORA2/AMPHORA2-20190730-gompi-2020b-Java-13-pthreads-avx2.eb b/easybuild/easyconfigs/a/AMPHORA2/AMPHORA2-20190730-gompi-2020b-Java-13-pthreads-avx2.eb index c9a3002ee86..176bd70202f 100644 --- a/easybuild/easyconfigs/a/AMPHORA2/AMPHORA2-20190730-gompi-2020b-Java-13-pthreads-avx2.eb +++ b/easybuild/easyconfigs/a/AMPHORA2/AMPHORA2-20190730-gompi-2020b-Java-13-pthreads-avx2.eb @@ -21,7 +21,7 @@ checksums = ['2d361fcc2b800c3daaf25692988af6105669cba2ff513aba82f36089beb2839f'] dependencies = [ ('Perl', '5.32.0'), - ('Java', '13', '', True), + ('Java', '13', '', SYSTEM), ('BioPerl', '1.7.8'), ('HMMER', '3.3.2'), ('EMBOSS', '6.6.0', local_javasuffix), diff --git a/easybuild/easyconfigs/a/AMPtk/AMPtk-1.5.4-foss-2021b.eb b/easybuild/easyconfigs/a/AMPtk/AMPtk-1.5.4-foss-2021b.eb new file mode 100644 index 00000000000..3f44453c9d7 --- /dev/null +++ b/easybuild/easyconfigs/a/AMPtk/AMPtk-1.5.4-foss-2021b.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'AMPtk' +version = '1.5.4' + +homepage = 'https://amptk.readthedocs.io' +description = """AMPtk is a series of scripts to process NGS amplicon data using USEARCH and VSEARCH, it can also be +used to process any NGS amplicon data and includes databases setup for analysis of fungal ITS, fungal LSU, bacterial +16S, and insect COI amplicons.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('h5py', '3.6.0'), + ('biom-format', '2.1.12'), + ('Seaborn', '0.11.2'), + ('Biopython', '1.79'), + ('edlib', '1.3.9'), +] + +use_pip = True + +exts_list = [ + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + ('pyfastx', '0.8.4', { + 'checksums': ['20cee9faff140f973c59fbe98121eac2d67acf3eb7fef5fdf69a8b4942b4468c'], + }), + ('amptk', version, { + 'checksums': ['f6ddedccb56f39624bd825c504f15823c4ff1d5d0539ebe746405696c77ce69d'], + }), +] + +fix_python_shebang_for = ['bin/amptk', 'bin/*.py'] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/amptk', 'bin/amptk_synthetic_mock.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "amptk | grep '^Usage:'", + "amptk_synthetic_mock.py --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2021b.eb b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2021b.eb new file mode 100644 index 00000000000..81971352d4d --- /dev/null +++ b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' +name = 'AMRFinderPlus' +version = '3.11.18' + +homepage = 'https://github.com/ncbi/amr' +description = """This software and the accompanying database are designed to find acquired antimicrobial + resistance genes and some point mutations in protein or assembled nucleotide sequences.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +github_account = 'ncbi' +source_urls = ['https://github.com/ncbi/amr/archive/'] +sources = ['amrfinder_v%(version)s.tar.gz'] +checksums = ['fef7740edf1c9548b5581141c4a254d12904e2cc7ed3d5ae4ad2ad645365aaaf'] + +dependencies = [ + ('BLAST+', '2.12.0'), + ('HMMER', '3.3.2'), + ('cURL', '7.78.0') +] + +# Binaries are installed to the root of the installation, so add that root to the PATH: +modextrapaths = {'PATH': ''} + +# a list of binary files that will be produced +local_binaries = ['amr_report', 'amrfinder', 'amrfinder_update', 'dna_mutation', 'fasta2parts', 'fasta_check', + 'fasta_extract', 'gff_check'] + +files_to_copy = local_binaries + +sanity_check_paths = { + 'files': local_binaries, + 'dirs': [], +} + +sanity_check_commands = [ + ('amrfinder', '-h') +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2022b.eb b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2022b.eb new file mode 100644 index 00000000000..99076bdbc0f --- /dev/null +++ b/easybuild/easyconfigs/a/AMRFinderPlus/AMRFinderPlus-3.11.18-gompi-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' +name = 'AMRFinderPlus' +version = '3.11.18' + +homepage = 'https://github.com/ncbi/amr' +description = """This software and the accompanying database are designed to find acquired antimicrobial + resistance genes and some point mutations in protein or assembled nucleotide sequences.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +github_account = 'ncbi' +source_urls = ['https://github.com/ncbi/amr/archive/'] +sources = ['amrfinder_v%(version)s.tar.gz'] +checksums = ['fef7740edf1c9548b5581141c4a254d12904e2cc7ed3d5ae4ad2ad645365aaaf'] + +dependencies = [ + ('BLAST+', '2.14.0'), + ('HMMER', '3.3.2'), + ('cURL', '7.86.0') +] + +# Binaries are installed to the root of the installation, so add that root to the PATH: +modextrapaths = {'PATH': ''} + +# a list of binary files that will be produced +local_binaries = ['amr_report', 'amrfinder', 'amrfinder_update', 'dna_mutation', 'fasta2parts', 'fasta_check', + 'fasta_extract', 'gff_check'] + +files_to_copy = local_binaries + +sanity_check_paths = { + 'files': local_binaries, + 'dirs': [], +} + +sanity_check_commands = [ + ('amrfinder', '-h') +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb b/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb new file mode 100644 index 00000000000..0d9ba4e2d49 --- /dev/null +++ b/easybuild/easyconfigs/a/AMS/AMS-2020.102-iimpi-2020b-intelmpi.eb @@ -0,0 +1,43 @@ +easyblock = 'Tarball' + +name = 'AMS' +version = '2020.102' +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': '2020b'} + +sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz'] +checksums = ['8a68eef268d7eb53ea1e10f66a48a8280f4dadae585999096ba1c246e88989db'] + +dependencies = [('libGLU', '9.0.1')] + +keepsymlinks = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['atomicdata', 'bin', 'examples'], +} + +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/AMS/AMS-2022.102-iimpi-2021b-intelmpi.eb b/easybuild/easyconfigs/a/AMS/AMS-2022.102-iimpi-2021b-intelmpi.eb new file mode 100644 index 00000000000..fade2732728 --- /dev/null +++ b/easybuild/easyconfigs/a/AMS/AMS-2022.102-iimpi-2021b-intelmpi.eb @@ -0,0 +1,46 @@ +easyblock = 'Tarball' + +name = 'AMS' +version = '2022.102' +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': '2021b'} + +sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz'] +checksums = ['a1791e0ea17426199a8c82668858a509debd3a6b99adc107e452084095d72344'] + +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/AMS/AMS-2023.101-iimpi-2022a-intelmpi.eb b/easybuild/easyconfigs/a/AMS/AMS-2023.101-iimpi-2022a-intelmpi.eb new file mode 100644 index 00000000000..9a285b8b7a4 --- /dev/null +++ b/easybuild/easyconfigs/a/AMS/AMS-2023.101-iimpi-2022a-intelmpi.eb @@ -0,0 +1,47 @@ +easyblock = 'Tarball' + +name = 'AMS' +version = '2023.101' +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': '2022a'} + +sources = ['ams%(version)s.pc64_linux.intelmpi.bin.tgz'] +checksums = ['0060933e85cfe1795280cba88e5b2329cfcf83061e7e9b18321e49dd77dd4d46'] + +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/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/ANGEL/ANGEL-3.0-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/a/ANGEL/ANGEL-3.0-foss-2019a-Python-3.7.2.eb new file mode 100644 index 00000000000..2c7340a7bec --- /dev/null +++ b/easybuild/easyconfigs/a/ANGEL/ANGEL-3.0-foss-2019a-Python-3.7.2.eb @@ -0,0 +1,53 @@ +## +# 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:: Custom +# +# Notes:: +## + +easyblock = 'PythonPackage' + +name = 'ANGEL' +version = '3.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/PacificBiosciences/ANGEL' +description = """ANGEL: Robust Open Reading Frame prediction""" + +toolchain = {'name': 'foss', 'version': '2019a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/PacificBiosciences/ANGEL/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a0319553055d3dfc84a4f732ed246c180c23ee9c397810c96acd7940721ae57d'] + +dependencies = [ + ('Python', '3.7.2'), + ('Biopython', '1.73'), + ('scikit-learn', '0.20.3'), +] + +download_dep_fail = True +use_pip = True + +local_bin_files = [ + 'dumb_predict.py', + 'angel_make_training_set.py', + 'angel_train.py', + 'angel_predict.py', + 'angel_compare_files.py' +] + +options = {'modulename': False} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files], + 'dirs': [], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4eb0c19c81d --- /dev/null +++ b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Binary' + +name = 'ANIcalculator' +version = '1.0' + +homepage = 'https://ani.jgi.doe.gov/html/home.php' +description = """This tool will calculate the bidirectional average nucleotide identity (gANI) and +Alignment Fraction (AF) between two genomes. Required input is the full path to the fna file +(nucleotide sequence of genes in fasta format) of each query genome. Either the rRNA and tRNA genes +can be excluded, or provided in a list with the -ignoreList option. This is necessary as the presence +of tRNA and/or rRNA genes in the fna will artificially inflate the ANI.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://ani.jgi.doe.gov/download_files/'] +sources = ['%(name)s_v%(version_major)s.tgz'] +checksums = ['236596a9a204cbcad162fc66be3506b2530b1f48f4f84d9647ccec3ca7483a43'] + +dependencies = [ + ('Perl', '5.32.1'), + ('libnsl', '1.3.0'), +] + +extract_sources = True + +# Fix permissions on binaries and README.txt, +# and remove the included Log4perl 1.44 (we use the one from the Perl module). +postinstallcmds = [ + 'chmod a+x %(installdir)s/ANIcalculator', + 'chmod a+x %(installdir)s/nsimscan', + 'chmod -x %(installdir)s/README.txt', + 'rm -r %(installdir)s/Log', +] + +sanity_check_paths = { + 'files': ['README.txt', 'ANIcalculator', 'nsimscan'], + 'dirs': [], +} + +sanity_check_commands = [ + 'ANIcalculator -help', + 'nsimscan -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ff31f62debc --- /dev/null +++ b/easybuild/easyconfigs/a/ANIcalculator/ANIcalculator-1.0-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Binary' + +name = 'ANIcalculator' +version = '1.0' + +homepage = 'https://ani.jgi.doe.gov/html/home.php' +description = """This tool will calculate the bidirectional average nucleotide identity (gANI) and +Alignment Fraction (AF) between two genomes. Required input is the full path to the fna file +(nucleotide sequence of genes in fasta format) of each query genome. Either the rRNA and tRNA genes +can be excluded, or provided in a list with the -ignoreList option. This is necessary as the presence +of tRNA and/or rRNA genes in the fna will artificially inflate the ANI.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ani.jgi.doe.gov/download_files/'] +sources = ['%(name)s_v%(version_major)s.tgz'] +checksums = ['236596a9a204cbcad162fc66be3506b2530b1f48f4f84d9647ccec3ca7483a43'] + +dependencies = [ + ('Perl', '5.34.1'), + ('libnsl', '2.0.0'), +] + +extract_sources = True + +# Fix permissions on binaries and README.txt, +# and remove the included Log4perl 1.44 (we use the one from the Perl module). +postinstallcmds = [ + 'chmod a+x %(installdir)s/ANIcalculator', + 'chmod a+x %(installdir)s/nsimscan', + 'chmod -x %(installdir)s/README.txt', + 'rm -r %(installdir)s/Log', +] + +sanity_check_paths = { + 'files': ['README.txt', 'ANIcalculator', 'nsimscan'], + 'dirs': [], +} + +sanity_check_commands = [ + 'ANIcalculator -help', + 'nsimscan -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb b/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb new file mode 100644 index 00000000000..5c94e25f8af --- /dev/null +++ b/easybuild/easyconfigs/a/ANSYS/ANSYS-2022R2.eb @@ -0,0 +1,30 @@ +name = 'ANSYS' +version = '2022R2' + +homepage = 'https://www.ansys.com' +description = """ANSYS simulation software enables organizations to confidently predict + how their products will operate in the real world. We believe that every product is + a promise of something greater. """ + +toolchain = SYSTEM + +download_instructions = 'Manually obtain (ANSYS%(version)s_LINX64_DiskX.iso) from your ANSYS vendor' +# Custom extract command is used since iso sources contain duplicate file. +sources = [ + {'filename': 'ANSYS%(version)s_LINX64_Disk1.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_Disk2.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_Disk3.iso', 'extract_cmd': '7z x -aos %s'}, +] +checksums = [ + {'ANSYS2022R2_LINX64_Disk1.iso': '7c9b2a57dd3b87c1dabcd84c913135c83aaac46bf75fbe3fae8da61c85e78198'}, + {'ANSYS2022R2_LINX64_Disk2.iso': '7962ef251e2edb7e999bfb6a857272597973d7ac4c17c2271cfd891347fd452a'}, + {'ANSYS2022R2_LINX64_Disk3.iso': '58d4b72e90a27fe11aee3cd7db251ecd1f80b2353441e7061543c0fc21c14dac'}, +] + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Specify license_server and license_server_port here, or use EB_ANSYS_LICENSE_SERVER and EB_ANSYS_LICENSE_SERVER_PORT +# license_server = "ansys.lic.example.com" +# license_server_port = "1234:5678" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANSYS/ANSYS-2023R1.eb b/easybuild/easyconfigs/a/ANSYS/ANSYS-2023R1.eb new file mode 100644 index 00000000000..1cde6ac65a3 --- /dev/null +++ b/easybuild/easyconfigs/a/ANSYS/ANSYS-2023R1.eb @@ -0,0 +1,30 @@ +name = 'ANSYS' +version = '2023R1' + +homepage = 'https://www.ansys.com' +description = """ANSYS simulation software enables organizations to confidently predict + how their products will operate in the real world. We believe that every product is + a promise of something greater. """ + +toolchain = SYSTEM + +download_instructions = 'Manually obtain (ANSYS%(version)s_LINX64_DISKX.iso) from your ANSYS vendor' +# Custom extract command is used since iso sources contain duplicate file. +sources = [ + {'filename': 'ANSYS%(version)s_LINX64_DISK1.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_DISK2.iso', 'extract_cmd': '7z x -aos %s'}, + {'filename': 'ANSYS%(version)s_LINX64_DISK3.iso', 'extract_cmd': '7z x -aos %s'}, +] +checksums = [ + {'ANSYS2023R1_LINX64_DISK1.iso': 'c4f5ea8616d3fe4ba129d482c00ce3429455e887dbc993421a585a6d5cb7a686'}, + {'ANSYS2023R1_LINX64_DISK2.iso': 'fceedb512f35626b6aeab8b53d76979d8eef43c6ade33032c5782b64afddcfb0'}, + {'ANSYS2023R1_LINX64_DISK3.iso': '2164453a2aae50159899177feaf8242cb269593209e1a34977534a3915636cf5'}, +] + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Specify license_server and license_server_port here, or use EB_ANSYS_LICENSE_SERVER and EB_ANSYS_LICENSE_SERVER_PORT +# license_server = "ansys.lic.example.com" +# license_server_port = "1234:5678" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANTIC/ANTIC-0.2.5-gfbf-2022a.eb b/easybuild/easyconfigs/a/ANTIC/ANTIC-0.2.5-gfbf-2022a.eb new file mode 100644 index 00000000000..8e320df93cd --- /dev/null +++ b/easybuild/easyconfigs/a/ANTIC/ANTIC-0.2.5-gfbf-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ANTIC' +version = '0.2.5' + +homepage = 'https://github.com/flintlib/antic' +description = "Antic is an algebraic number theory library." + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True} + +github_account = 'flintlib' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7b236b6226d5730cf66d492f1562c34d4dcf1bdc8775fec2330f560332ab05c1'] + +dependencies = [('FLINT', '2.9.0')] + +configopts = "--with-gmp=$EBROOTGMP --with-mpfr=$EBROOTMPFR --with-flint=$EBROOTFLINT " + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libantic.%s' % e for e in ['a', SHLIB_EXT]] + + ['include/antic/%s.h' % h for h in ['nf', 'nf_elem', 'qfb']], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.2.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.2.0-Java-11.eb index 7f7064ef519..740009f42a3 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.2.0-Java-11.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.2.0-Java-11.eb @@ -21,7 +21,7 @@ checksums = [ ] builddependencies = [('binutils', '2.35')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.3.0-Java-11.eb new file mode 100644 index 00000000000..dca4fd3a96b --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-10.3.0-Java-11.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = '2.7.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_includes.patch'] +checksums = [ + '853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz + 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch +] + +builddependencies = [('binutils', '2.36.1')] +dependencies = [('Java', '11', '', SYSTEM)] + +configopts = '--disable-examples --disable-csharp --disable-python' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..10c24b2e952 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.2.0-Java-11.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = '2.7.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_includes.patch'] +checksums = [ + '853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz + 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Java', '11', '', SYSTEM)] + +configopts = '--disable-examples --disable-csharp --disable-python' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +sanity_check_commands = ["antlr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0-Java-11.eb new file mode 100644 index 00000000000..034e0e39566 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-11.3.0-Java-11.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = '2.7.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_includes.patch'] +checksums = [ + '853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz + 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Java', '11', '', SYSTEM)] + +configopts = '--disable-examples --disable-csharp --disable-python' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +sanity_check_commands = ["antlr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb new file mode 100644 index 00000000000..4f76242d899 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-12.3.0-Java-11.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'ANTLR' +version = '2.7.7' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.antlr2.org/' +description = """ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) + is a language tool that provides a framework for constructing recognizers, + compilers, and translators from grammatical descriptions containing + Java, C#, C++, or Python actions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.antlr2.org/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_includes.patch'] +checksums = [ + '853aeb021aef7586bda29e74a6b03006bcb565a755c86b66032d8ec31b67dbb9', # antlr-2.7.7.tar.gz + 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Java', '11', '', SYSTEM)] + +configopts = '--disable-examples --disable-csharp --disable-python' + +sanity_check_paths = { + 'files': ['bin/antlr', 'bin/antlr-config'], + 'dirs': ['include'], +} + +sanity_check_commands = ["antlr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-7.3.0.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-7.3.0.eb index 8b3f8a98607..89f841e46fa 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-7.3.0.eb @@ -20,7 +20,7 @@ checksums = [ ] builddependencies = [('binutils', '2.30')] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.2.0.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.2.0.eb index 25422d7f57a..d7596e6036d 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.2.0.eb @@ -20,7 +20,7 @@ checksums = [ ] builddependencies = [('binutils', '2.31.1')] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.3.0-Java-11.eb index 492d77e6e4f..a3ead0bb703 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-8.3.0-Java-11.eb @@ -21,7 +21,7 @@ checksums = [ ] builddependencies = [('binutils', '2.32')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-9.3.0-Java-11.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-9.3.0-Java-11.eb index 39ff4c9c5da..25632498de1 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-9.3.0-Java-11.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-GCCcore-9.3.0-Java-11.eb @@ -21,7 +21,7 @@ checksums = [ ] builddependencies = [('binutils', '2.34')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2017b.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2017b.eb index 10ff1403b09..12cc04a02e7 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2017b.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2017b.eb @@ -19,7 +19,7 @@ checksums = [ 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch ] -dependencies = [('Java', '1.8.0_152', '', True)] +dependencies = [('Java', '1.8.0_152', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018a-Python-2.7.14.eb index 3a34a478986..f1981196919 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018a-Python-2.7.14.eb @@ -21,7 +21,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('Python', '2.7.14'), ] diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018b.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018b.eb index 867b9d56beb..7bc12739569 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018b.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2018b.eb @@ -19,7 +19,7 @@ checksums = [ 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2019a.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2019a.eb index ba4fd58a573..51bebed49f8 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2019a.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-foss-2019a.eb @@ -20,7 +20,7 @@ checksums = [ ] builddependencies = [('binutils', '2.31.1')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b-Python-2.7.14.eb index 132b4a836cc..408bb64f951 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b-Python-2.7.14.eb @@ -21,7 +21,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_152', '', True), + ('Java', '1.8.0_152', '', SYSTEM), ('Python', '2.7.14'), ] diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b.eb index ec6fe2656ce..d0f5a966868 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2017b.eb @@ -19,7 +19,7 @@ checksums = [ 'd167d3248a03301bc93efcb37d5df959aae6794968e42231af0b0dd26d6a2e66', # ANTLR-2.7.7_includes.patch ] -dependencies = [('Java', '1.8.0_152', '', True)] +dependencies = [('Java', '1.8.0_152', '', SYSTEM)] configopts = '--disable-examples --disable-csharp --disable-python' diff --git a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2018a-Python-3.6.4.eb index e1528a3b461..39bdcb9da81 100644 --- a/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/a/ANTLR/ANTLR-2.7.7-intel-2018a-Python-3.6.4.eb @@ -21,7 +21,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('Python', '3.6.4'), ] diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.2.0-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.2.0-foss-2016b-Python-2.7.12.eb index 4f2d5cbbc19..a2581285547 100644 --- a/easybuild/easyconfigs/a/ANTs/ANTs-2.2.0-foss-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.2.0-foss-2016b-Python-2.7.12.eb @@ -24,8 +24,8 @@ dependencies = [ ('VTK', '6.3.0', versionsuffix), ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_ITK=ON ' -configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF' +configopts = '-DUSE_SYSTEM_ITK=ON ' +configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON -DITK_DIR=$EBROOTITK/lib/cmake/ITK-%s' % local_itkshortver skipsteps = ['install'] diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-foss-2017b-Python-2.7.14.eb index d7d2d862a3a..8e30688c8b7 100644 --- a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-foss-2017b-Python-2.7.14.eb @@ -24,8 +24,7 @@ dependencies = [ separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' -configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-intel-2017b-Python-2.7.14.eb index c6b61065738..a8ecce342be 100644 --- a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.0-intel-2017b-Python-2.7.14.eb @@ -24,8 +24,7 @@ dependencies = [ separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' -configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.1-foss-2018b-Python-3.6.6.eb index 201663c8e6b..e5f1a652809 100644 --- a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.1-foss-2018b-Python-3.6.6.eb @@ -28,8 +28,7 @@ dependencies = [ separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' -configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.2-foss-2019b-Python-3.7.4.eb index da82f868f0a..6b49020a633 100644 --- a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.2-foss-2019b-Python-3.7.4.eb @@ -33,8 +33,7 @@ dependencies = [ separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' -configopts += '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.3.5-foss-2021a.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.5-foss-2021a.eb new file mode 100644 index 00000000000..ec2c58de985 --- /dev/null +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.3.5-foss-2021a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'ANTs' +version = '2.3.5' + +homepage = 'https://stnava.github.io/ANTs/' +description = """ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing, + interpreting and visualizing multidimensional data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ANTsX/ANTs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2fddfd5f274a47f1c383e734a7e763b627c4a8383d2d3b9971561f335016bb0a'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('VTK', '9.0.1'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' +configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' + +preinstallopts = "cd ANTS-build && " + +sanity_check_paths = { + 'files': ['bin/ANTS', 'bin/antsBrainExtraction.sh'], + 'dirs': ['lib'], +} + +modextravars = {'ANTSPATH': '%(installdir)s/bin'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/ANTs/ANTs-2.5.0-foss-2022b.eb b/easybuild/easyconfigs/a/ANTs/ANTs-2.5.0-foss-2022b.eb new file mode 100644 index 00000000000..b201d23603f --- /dev/null +++ b/easybuild/easyconfigs/a/ANTs/ANTs-2.5.0-foss-2022b.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'ANTs' +version = '2.5.0' + +homepage = 'https://stnava.github.io/ANTs/' +description = """ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing, + interpreting and visualizing multidimensional data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ANTsX/ANTs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['326efda09608a19752e802acc46ed808a4fdb62765f11a4f26402a5aa8bc70ac'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('VTK', '9.2.6'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DUSE_VTK=ON -DUSE_SYSTEM_VTK=ON ' +configopts += '-DSuperBuild_ANTS_USE_GIT_PROTOCOL=OFF' + +preinstallopts = "cd ANTS-build && " + +sanity_check_paths = { + 'files': ['bin/ANTS', 'bin/antsBrainExtraction.sh'], + 'dirs': ['lib'], +} + +modextravars = {'ANTSPATH': '%(installdir)s/bin'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..de0d6d8e54a --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.2.0.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'AOCC' +version = '3.1.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 12.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +# By downloading, you accept the AOCC Compiler EULA (https://developer.amd.com/aocc-compiler-eula/) +# accept_eula = True +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c'] + +clangversion = '12.0.0' + +dependencies = [ + ('binutils', '2.35'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..afdcf87cd4b --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'AOCC' +version = '3.1.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 12.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +# By downloading, you accept the AOCC Compiler EULA (https://developer.amd.com/aocc-compiler-eula/) +# accept_eula = True +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c'] + +clangversion = '12.0.0' + +dependencies = [ + ('binutils', '2.36.1'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..506f4cdc296 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-3.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '3.1.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 12.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['1948104a430506fe5e445c0c796d6956109e7cc9fc0a1e32c9f1285cfd566d0c'] + +clangversion = '12.0.0' + +dependencies = [ + ('binutils', '2.37'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..de77f0ac9a6 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '3.2.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec'] + +clangversion = '13.0.0' + +dependencies = [ + ('binutils', '2.37'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e7b4a9c2e01 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-3.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'AOCC' +version = '3.2.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec'] + +clangversion = '13.0.0' + +dependencies = [ + ('binutils', '2.38'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..198b56b144f --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '4.0.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://developer.amd.com/wordpress/media/files/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4'] + +clangversion = '14.0.6' + +dependencies = [ + ('binutils', '2.38'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b2b557cf891 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '4.0.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# Clang also depends on libstdc++ during runtime, but this dependency is +# already specified as the toolchain. +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.amd.com/developer/eula/aocc-compiler/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4'] + +clangversion = '14.0.6' + +dependencies = [ + ('binutils', '2.39'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b48a51d26b2 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCC/AOCC-4.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +name = 'AOCC' +version = '4.0.0' + +homepage = 'https://developer.amd.com/amd-aocc/' +description = "AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0" + +# 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://download.amd.com/developer/eula/aocc-compiler/'] +sources = ['aocc-compiler-%(version)s.tar'] +checksums = ['2729ec524cbc927618e479994330eeb72df5947e90cfcc49434009eee29bf7d4'] + +clangversion = '14.0.6' + +dependencies = [ + ('binutils', '2.40'), + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2022a.eb b/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2022a.eb new file mode 100644 index 00000000000..ada37c804a9 --- /dev/null +++ b/easybuild/easyconfigs/a/AOFlagger/AOFlagger-3.4.0-foss-2022a.eb @@ -0,0 +1,47 @@ +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': '2022a'} + +sources = [{ + 'source_urls': ['https://gitlab.com/aroffringa/aoflagger/-/package_files/96704214/'], + 'filename': '%(namelower)s-v%(version)s.tar.bz2', + 'download_filename': 'download' # provided source tarball is not versioned... +}] +checksums = ['9560b7381b68f37d842599f222a8aa2a5d3d3d501d1277471e1a0ba3d7b2aeba'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.79.0'), + ('CFITSIO', '4.2.0'), + ('GSL', '2.7'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), + ('Lua', '5.4.4'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.13'), +] + +# Without this, the wrong (system) python is picked up by cmake +# in cases where the system python is newer than the one used in these EasyConfigs +# See PR # 19119 +configopts = '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +sanity_check_paths = { + 'files': ['include/aoflagger.h', 'bin/aoflagger'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('aoflagger', '-v')] + +moduleclass = 'lib' 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/APOST3D/APOST3D-20240527-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/a/APOST3D/APOST3D-20240527-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..c5c4c40ac5b --- /dev/null +++ b/easybuild/easyconfigs/a/APOST3D/APOST3D-20240527-intel-compilers-2023.1.0.eb @@ -0,0 +1,51 @@ +easyblock = 'CmdCp' + +name = 'APOST3D' +version = '20240527' +local_commit = 'e06c8b0' + +description = """ +Open-source APOST-3D software features a large number of wavefunction analysis tools developed +over the past 20 years, aiming at connecting classical chemical concepts with the electronic +structure of molecules. APOST-3D relies on the identification of the atom in the molecule +(AIM), and several analysis tools are implemented in the most general way so that they can be +used in combination with any chosen AIM. +A Fortran-based code developed at the Universitat de Girona (UdG) by P. Salvador and collaborators. +""" +homepage = 'https://github.com/mgimferrer/APOST3D' + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +builddependencies = [ + ('make', '4.4.1'), +] + +source_urls = ['https://github.com/mgimferrer/APOST3D/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1eb9a0f97b4dd135b782b96cadc37b3acfc27c69521cf3aab6cc10d4fc9292af'] + +local_cmds = ' export APOST3D_PATH=%(start_dir)s && ' +# Compile provided Libxc version 4.2.3 +# (it is not possible to couple APOST-3D with newer Libxc libraries): +local_cmds += 'bash compile_libxc.sh && ' +# Compile +local_cmds += 'make -f Makefile_profgen && ' +# Run test calculations on single-processor: +local_cmds += 'bash compiler-runtest && ' +# Recompile using info geneated in previous step +local_cmds += 'make -f Makefile_profuse && ' +# Run test calculations in parallel: +local_cmds += 'bash compiler-runtest2' + +cmds_map = [('.*', local_cmds)] + +local_bin_files = ['apost3d', 'apost3d-eos', 'eos_aom'] + +files_to_copy = [(local_bin_files, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': [''], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c55d9126fb7 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'APR-util' +version = '1.6.1' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('APR', '1.7.0'), + ('SQLite', '3.36'), + ('expat', '2.4.1'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT " + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..52ae17f084c --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'APR-util' +version = '1.6.1' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b65e40713da57d004123b6319828be7f1273fbc6490e145874ee1177e112c459'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('APR', '1.7.0'), + ('SQLite', '3.38.3'), + ('expat', '2.4.8'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT " + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..baf013325f7 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'APR-util' +version = '1.6.3' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('APR', '1.7.4'), + ('SQLite', '3.42.0'), + ('expat', '2.5.0'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT " + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fc5f92c2b70 --- /dev/null +++ b/easybuild/easyconfigs/a/APR-util/APR-util-1.6.3-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'APR-util' +version = '1.6.3' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) util libraries." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2b74d8932703826862ca305b094eef2983c27b39d5c9414442e9976a9acf1983'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('APR', '1.7.4'), + ('SQLite', '3.45.3'), + ('expat', '2.6.2'), +] + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-sqlite3=$EBROOTSQLITE --with-expat=$EBROOTEXPAT " + +sanity_check_paths = { + 'files': ["bin/apu-1-config", "lib/libaprutil-1.%s" % SHLIB_EXT, "lib/libaprutil-1.a"], + 'dirs': ["include/apr-1"], +} + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f8b0ca58f44 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'APR' +version = '1.7.0' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.%s" % SHLIB_EXT, "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..200453bcb54 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'APR' +version = '1.7.0' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.%s" % SHLIB_EXT, "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a1a41af357a --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'APR' +version = '1.7.4' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a4137dd82a185076fa50ba54232d920a17c6469c30b0876569e1c2a05ff311d9'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.%s" % SHLIB_EXT, "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8ac5ed02a98 --- /dev/null +++ b/easybuild/easyconfigs/a/APR/APR-1.7.4-GCCcore-13.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'APR' +version = '1.7.4' + +homepage = 'https://apr.apache.org/' +description = "Apache Portable Runtime (APR) libraries." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://archive.apache.org/dist/apr/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a4137dd82a185076fa50ba54232d920a17c6469c30b0876569e1c2a05ff311d9'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ["bin/apr-1-config", "lib/libapr-1.%s" % SHLIB_EXT, "lib/libapr-1.a"], + 'dirs': ["include/apr-1"], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2021b.eb b/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2021b.eb new file mode 100644 index 00000000000..f596bc6846b --- /dev/null +++ b/easybuild/easyconfigs/a/ARAGORN/ARAGORN-1.2.41-foss-2021b.eb @@ -0,0 +1,44 @@ +# 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 +# Updated: Denis Kristak + +easyblock = 'CmdCp' + +name = 'ARAGORN' +version = '1.2.41' + +homepage = 'http://www.ansikte.se/ARAGORN/' +description = "a program to detect tRNA genes and tmRNA genes in nucleotide sequences" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['http://www.ansikte.se/ARAGORN/Downloads/'] +sources = [ + {'filename': '%(namelower)s%(version)s.c', 'extract_cmd': 'cp %s aragorn.c'}, + {'download_filename': 'aragorn.1', 'filename': 'aragorn-%(version)s.man', 'extract_cmd': 'cp %s aragorn.1'} +] +checksums = [ + '92a31cc5c0b0ad16d4d7b01991989b775f07d2815df135fe6e3eab88f5e97f4a', # aragorn1.2.41.c + '6e30f6d9da644197064744f033176969e77855964ed8d50ea00c38a3aea2c92e', # aragorn.1 +] + +cmds_map = [ + (".*.c", "$CC $CFLAGS -o aragorn aragorn.c"), + (".*.1", "mkdir -p share/man/man1 && cp aragorn.1 share/man/man1"), # mapping command to manpage srcfile +] + +files_to_copy = [ + (['aragorn'], 'bin'), + 'share', +] + +sanity_check_paths = { + 'files': ['bin/aragorn'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ['aragorn --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ARGoS/ARGoS-3.0.0-beta59-GCC-11.2.0.eb b/easybuild/easyconfigs/a/ARGoS/ARGoS-3.0.0-beta59-GCC-11.2.0.eb new file mode 100644 index 00000000000..86bf6af90cd --- /dev/null +++ b/easybuild/easyconfigs/a/ARGoS/ARGoS-3.0.0-beta59-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ARGoS' +version = '3.0.0-beta59' + +homepage = 'http://www.argos-sim.info' +description = """A parallel, multi-engine simulator for heterogeneous swarm robotics""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/ilpincy/argos3/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['99007ef5eb10bbe4b8f88dcf0600c62c4cc0a5844e85ec0a3c3499b4637ee8b5'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Lua', '5.4.3'), + ('FreeImage', '3.18.0'), + ('Qt5', '5.15.2'), + ('freeglut', '3.2.1'), + ('motif', '2.3.8'), +] + +start_dir = 'src' + +# documentation requires Doxygen, Graphviz, asciidoc +configopts = '-DARGOS_DOCUMENTATION=OFF -DARGOS_INSTALL_LDSOCONF=OFF -DARGOS_BUILD_NATIVE=ON' + +sanity_check_paths = { + 'files': ['include/argos3/core/config.h', 'lib/argos3/libargos3core_simulator.%s' % SHLIB_EXT], + 'dirs': ['share/argos3'] +} + +sanity_check_commands = ["argos3 --help", "argos3 --version"] + +# ARGoS libaries reside in the argos3 subdirectory +modextrapaths = {'LD_LIBRARY_PATH': 'lib/argos3'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ARTS/ARTS-2.2.64-gompi-2019a.eb b/easybuild/easyconfigs/a/ARTS/ARTS-2.2.64-gompi-2019a.eb new file mode 100644 index 00000000000..e34b81eb44a --- /dev/null +++ b/easybuild/easyconfigs/a/ARTS/ARTS-2.2.64-gompi-2019a.eb @@ -0,0 +1,50 @@ +# Authors:: Jack Perdue - TAMU HPRC - https://hprc.tamu.edu + +easyblock = 'CMakeMake' + +name = 'ARTS' +version = '2.2.64' + +homepage = 'http://www.radiativetransfer.org/' +description = """ARTS is a radiative transfer model for the millimeter and sub-millimeter + spectral range. There are a number of models mostly developed explicitly + for the different sensors.""" + +toolchain = {'name': 'gompi', 'version': '2019a'} +toolchainopts = {'opt': True, 'cstd': 'gnu++98', 'openmp': True} + +source_urls = ['http://www.radiativetransfer.org/misc/download/stable/2.2/'] +sources = [ + SOURCELOWER_TAR_GZ, + '%(namelower)s-xml-data-2.2.5.tar.gz', +] +checksums = [ + 'e33308b0c9d7697fa885a865f18e8c6ec5feddafc815df907c2905bd150d0b01', + '6a4e15ebd5c718e46f41c2e7d7d1462578c008fd96e78f4d8cc59e366b91c795', +] + +builddependencies = [ + ('CMake', '3.13.3'), + ('Doxygen', '1.8.15'), +] + +dependencies = [ + ('netCDF', '4.6.2'), + ('netCDF-C++4', '4.3.0'), +] + +separate_build_dir = True + +configopts = "-DENABLE_FORTRAN=1 -DARTS_XML_DATA_PATH=../arts-xml-data-2.2.5 " +configopts += "-DNETCDF_INCLUDE_DIR=$EBROOTNETCDF/include " +configopts += "-DNETCDF_LIBRARY=$EBROOTNETCDF/lib64/libnetcdf.%s " % SHLIB_EXT +configopts += "-DNETCDFXX_LIBRARY=$EBROOTNETCDFMINCPLUSPLUS4/lib/libnetcdf_c++4.%s" % SHLIB_EXT + +sanity_check_paths = { + 'files': ['bin/arts'], + 'dirs': ['bin', 'share/arts/controlfiles/artscomponents'], +} + +sanity_check_commands = ["arts --help"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/ASAP/ASAP-2.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..4595800f99c --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,71 @@ +easyblock = 'CMakeMake' + +name = 'ASAP' +version = '2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://computationalpathologygroup.github.io/ASAP/" +description = """ASAP focuses on fast and fluid image viewing with an easy-to-use interface +for making annotations. It consists of two main components: an IO library for reading and writing +multi-resolution images and a viewer component for visualizing such images.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/computationalpathologygroup/ASAP/archive'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'ASAP-2.0_libjpeg.patch', + 'ASAP-2.0_use_pugixml_shared.patch', +] +checksums = [ + 'e5d8b0aff6f86a3c7319062ca1f9e35b867da1c80667a80b55ee2a876f897202', # ASAP-2.0.tar.gz + 'f593599b5af90c8256ffeae910757d02f4de04a49de26d5123c209a405ba6a55', # ASAP-2.0_libjpeg.patch + 'd2bdc41ab95930933d5416562e7f0054f32b14fc397c23ecc88b8768cae55dd0', # ASAP-2.0_use_pugixml_shared.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Boost', '1.76.0'), + ('Python', '3.9.5'), + ('OpenCV', '4.5.3', '-CUDA-%(cudaver)s-contrib'), + ('Qt5', '5.15.2'), + ('LibTIFF', '4.2.0'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.28'), + ('DCMTK', '3.6.6'), + ('SWIG', '4.0.2'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('pugixml', '1.11.4'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +configopts = '-DOPENSLIDE_INCLUDE_DIR=$EBROOTOPENSLIDE/include/openslide ' +configopts += '-DPugiXML_INCLUDE_DIR=$EBROOTPUGIXML/include ' +configopts += '-DDCMTKJPEG_INCLUDE_DIR=$EBROOTDCMTK ' +configopts += '-DWRAP_MULTIRESOLUTIONIMAGEINTERFACE_PYTHON=TRUE -DBUILD_ASAP=TRUE ' +configopts += '-DBUILD_EXECUTABLES=TRUE -DBUILD_IMAGEPROCESSING=TRUE ' +configopts += '-DBUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT=TRUE ' +# Otherwise, it picks up on the system swig +configopts += '-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig ' + +sanity_check_commands = ['python -c "import multiresolutionimageinterface"'] + +sanity_check_paths = { + 'files': [ + 'bin/ASAP', 'bin/multiresolutionimageinterface.py', + 'lib/libmultiresolutionimageinterface.%s' % SHLIB_EXT, + ], + 'dirs': ['bin'] +} + +# ASAP installs its python interface in bin. Ugly, but we'll need to add it to PYTHONPATH +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.0_libjpeg.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.0_libjpeg.patch new file mode 100644 index 00000000000..ce7c773a417 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.0_libjpeg.patch @@ -0,0 +1,62 @@ +# Author: Caspar van Leeuwen +# The jpeg_mem_src function name conflicts with a function from the jpeglib8.h dependency. +# I give the function in jpeg_mem_src.h another name, and changed all the calls to this function. +diff -Nru ASAP-1.9-orig/multiresolutionimageinterface/jpeg_mem_src.h ASAP-1.9/multiresolutionimageinterface/jpeg_mem_src.h +--- ASAP-1.9-orig/multiresolutionimageinterface/jpeg_mem_src.h 2021-06-24 13:17:55.766247981 +0200 ++++ ASAP-1.9/multiresolutionimageinterface/jpeg_mem_src.h 2021-06-24 13:30:46.499644233 +0200 +@@ -47,7 +47,7 @@ + } + } + +-static void jpeg_mem_src( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) ++static void jpeg_mem_src_asap( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) + { + src->init_source = mem_init_source; + src->fill_input_buffer = mem_fill_input_buffer; +@@ -57,4 +57,4 @@ + src->bytes_in_buffer = nbytes; + src->next_input_byte = (JOCTET*)buffer; + cinfo->src = src; +-} +\ No newline at end of file ++} +diff -Nru ASAP-1.9-orig/multiresolutionimageinterface/VSIImage.cpp ASAP-1.9/multiresolutionimageinterface/VSIImage.cpp +--- ASAP-1.9-orig/multiresolutionimageinterface/VSIImage.cpp 2021-06-24 13:17:55.750246541 +0200 ++++ ASAP-1.9/multiresolutionimageinterface/VSIImage.cpp 2021-06-24 13:32:19.868051172 +0200 +@@ -11,7 +11,7 @@ + // Include DCMTK LIBJPEG for lossy and lossless JPEG compression + extern "C" { + #define boolean ijg_boolean +-#include "dcmtk/dcmjpeg/libijg8/jpeglib8.h" ++#include "jpeglib.h" + #include "jpeg_mem_src.h" + #undef boolean + #undef const +@@ -234,7 +234,7 @@ + jpeg_source_mgr src_mem; + jpeg_create_decompress(&cinfo); + cinfo.err = jpeg_std_error(&jerr); +- jpeg_mem_src(&cinfo, &src_mem, (void*)buf, size); ++ jpeg_mem_src_asap(&cinfo, &src_mem, (void*)buf, size); + jpeg_read_header(&cinfo, true); + if (_compressionType == 2) { + cinfo.jpeg_color_space = JCS_YCbCr; +diff -Nru ASAP-1.9-orig/multiresolutionimageinterface/VSIImageReader.cpp ASAP-1.9/multiresolutionimageinterface/VSIImageReader.cpp +--- ASAP-1.9-orig/multiresolutionimageinterface/VSIImageReader.cpp 2021-06-24 13:17:55.762247620 +0200 ++++ ASAP-1.9/multiresolutionimageinterface/VSIImageReader.cpp 2021-06-24 13:31:06.457441248 +0200 +@@ -260,7 +260,7 @@ + jpeg_source_mgr src_mem; + jpeg_create_decompress(&cinfo); + cinfo.err = jpeg_std_error(&jerr); +- jpeg_mem_src(&cinfo, &src_mem, (void*)buf, size); ++ jpeg_mem_src_asap(&cinfo, &src_mem, (void*)buf, size); + jpeg_read_header(&cinfo, true); + if (_compressionType == 2) { + cinfo.jpeg_color_space = JCS_YCbCr; +@@ -337,4 +337,4 @@ + outputCol = 0; + } + } +-} +\ No newline at end of file ++} diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.0_use_pugixml_shared.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.0_use_pugixml_shared.patch new file mode 100644 index 00000000000..ca4f271a0f8 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.0_use_pugixml_shared.patch @@ -0,0 +1,50 @@ +# Author: Caspar van leeuwen +# Make sure to use the shared library of PUGIXML, since linking to the static library seems to result in undefined symbol errors: +# ImportError: /home/casparl/.local/easybuild/Centos8/2021/software/ASAP/2.0-foss-2021a/lib/libmultiresolutionimageinterface.so: undefined symbol: _ZNK4pugi10xpath_node6parentEv +diff -Nru ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/annotation/CMakeLists.txt ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/annotation/CMakeLists.txt +--- ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/annotation/CMakeLists.txt 2021-06-25 11:50:23.132333349 +0200 ++++ ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/annotation/CMakeLists.txt 2021-06-25 11:58:03.005555272 +0200 +@@ -25,10 +25,9 @@ + ) + + add_library(annotation SHARED ${ANNOTATION_SOURCE} ${ANNOTATION_HEADERS}) +-target_compile_definitions(annotation PRIVATE "PUGIXML_HEADER_ONLY") + generate_export_header(annotation) + target_include_directories(annotation PUBLIC $ $ PRIVATE ${DIAGPathology_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${Boost_INCLUDE_DIRS} ${PugiXML_INCLUDE_DIR}) +-target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface) ++target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface ${PUGIXML_LIBRARY}) + set_target_properties(annotation PROPERTIES DEBUG_POSTFIX _d) + + install(TARGETS annotation +diff -Nru ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/cmakemodules/FindPugiXML.cmake ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/cmakemodules/FindPugiXML.cmake +--- ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/cmakemodules/FindPugiXML.cmake 2021-06-25 11:50:23.180337653 +0200 ++++ ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/cmakemodules/FindPugiXML.cmake 2021-06-25 11:55:27.583630434 +0200 +@@ -5,11 +5,13 @@ + # PugiXML_FOUND, If false, do not try to use PugiXML. + + find_path(PugiXML_INCLUDE_DIR pugixml.hpp) ++find_library(PUGIXML_LIBRARY NAMES pugixml) + + # handle the QUIETLY and REQUIRED arguments and set PugiXML_FOUND to TRUE if + # all listed variables are TRUE + include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(PugiXML +- REQUIRED_VARS PugiXML_INCLUDE_DIR) ++ REQUIRED_VARS PUGIXML_LIBRARY PugiXML_INCLUDE_DIR) + +-mark_as_advanced(PugiXML_INCLUDE_DIR) ++ ++mark_as_advanced(PugiXML_INCLUDE_DIR PUGIXML_LIBRARY) +diff -Nru ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/multiresolutionimageinterface/CMakeLists.txt ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/multiresolutionimageinterface/CMakeLists.txt +--- ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a-orig/multiresolutionimageinterface/CMakeLists.txt 2021-06-25 11:50:23.384355944 +0200 ++++ ASAP-8c9a8fbf32fd7a9dc5c5ec4d5c3552923cc4890a/multiresolutionimageinterface/CMakeLists.txt 2021-06-25 11:57:29.462554526 +0200 +@@ -66,8 +66,7 @@ + + add_library(multiresolutionimageinterface SHARED ${MULTIRESOLUTIONIMAGEINTERFACE_SRCS} ${MULTIRESOLUTIONIMAGEINTERFACE_HS} ${VSI_SOURCE_HS} ${VSI_SOURCE_SRCS}) + target_include_directories(multiresolutionimageinterface PUBLIC $ $ $ $ PRIVATE ${PugiXML_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${TIFF_INCLUDE_DIR}) +-target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff Boost::disable_autolinking Boost::thread) +-target_compile_definitions(multiresolutionimageinterface PRIVATE PUGIXML_HEADER_ONLY) ++target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff Boost::disable_autolinking Boost::thread ${PUGIXML_LIBRARY}) + generate_export_header(multiresolutionimageinterface) + set_target_properties(multiresolutionimageinterface PROPERTIES DEBUG_POSTFIX _d) + diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch new file mode 100644 index 00000000000..d836a0466d2 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-cmath.patch @@ -0,0 +1,16 @@ +# Author: Robert Jan Schlimbach (SURF) +# ASAP/2.1 forgets a few headers, in this case cmath +# Possibly fixed if https://github.com/computationalpathologygroup/ASAP/pull/241 gets merged + +diff --git a/annotation/ImageScopeRepository.cpp b/annotation/ImageScopeRepository.cpp +index 6916a58..c135cb3 100644 +--- a/annotation/ImageScopeRepository.cpp ++++ b/annotation/ImageScopeRepository.cpp +@@ -9,6 +9,7 @@ + #include + #include "pugixml.hpp" + #include ++#include + + ImageScopeRepository::ImageScopeRepository(const std::shared_ptr& list) : + Repository(list), diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb new file mode 100644 index 00000000000..1a9c9bccc8b --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'CMakeMake' + +name = 'ASAP' +version = '2.1' + +homepage = 'https://computationalpathologygroup.github.io/ASAP/' +description = """ASAP focuses on fast and fluid image viewing with an easy-to-use interface +for making annotations. It consists of two main components: an IO library for reading and writing +multi-resolution images and a viewer component for visualizing such images.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/computationalpathologygroup/%(name)s/archive'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'ASAP-2.1-libjpeg.patch', + 'ASAP-2.1-pugixml.patch', + 'ASAP-2.1-cmath.patch', +] +checksums = [ + '7ba9f39d09bada808f760c5dc9ac0cda0d221fd1393a0a3f9decfd6b5e913b3c', # ASAP-2.1.tar.gz + '78337d0250c567335f1a356f8761587000170b71a87b3e546b6b9330d3236b0f', # ASAP-2.1-libjpeg.patch + 'ab6104fb19515d0b042944bbe95fa67f55f47ef3bf18a91d337e0ca476c7385d', # ASAP-2.1-pugixml.patch + '15cf6bf2ab65ce37338ea571d80ced59b4e35cf82e434b2ccec7b534778f4a33', # ASAP-2.1-cmath.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('Boost', '1.79.0'), + ('Python', '3.10.4'), + ('OpenCV', '4.6.0', '-contrib'), + ('Qt5', '5.15.5'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('JasPer', '2.0.33'), + ('DCMTK', '3.6.7'), + ('SWIG', '4.0.2'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('pugixml', '1.12.1'), + ('zlib', '1.2.12'), +] + +configopts = " ".join([ + "-DOPENSLIDE_INCLUDE_DIR=$EBROOTOPENSLIDE/include/openslide", + "-DPugiXML_INCLUDE_DIR=$EBROOTPUGIXML/include", + "-DDCMTKJPEG_INCLUDE_DIR=$EBROOTDCMTK/include", + "-DWRAP_MULTIRESOLUTIONIMAGEINTERFACE_PYTHON=TRUE", + "-DBUILD_ASAP=TRUE", + "-DBUILD_EXECUTABLES=TRUE", + "-DBUILD_IMAGEPROCESSING=TRUE", + "-DBUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT=TRUE", + "-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig" +]) + + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s', + 'bin/multiresolutionimageinterface.py', + 'lib/libmultiresolutionimageinterface.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +sanity_check_commands = ['python -c "import multiresolutionimageinterface"'] + +# ASAP installs its python interface in bin. Ugly, but we'll need to add it to PYTHONPATH +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch new file mode 100644 index 00000000000..b2030303872 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-libjpeg.patch @@ -0,0 +1,41 @@ +# Author: Robert Jan Schlimbach (SURF) +# ASAP/2.1 uses DCMKT jpeg sources directly by manually setting a PATH +# see https://github.com/computationalpathologygroup/ASAP/issues/32 +# we simply replace DCMTK jpeg with the default jpeglib header. +# Need to rename jpeg_mem_src to avoid a resulting name conflic. + +diff --git a/multiresolutionimageinterface/VSIImage.cpp b/multiresolutionimageinterface/VSIImage.cpp +index 509bb18..1763201 100644 +--- a/multiresolutionimageinterface/VSIImage.cpp ++++ b/multiresolutionimageinterface/VSIImage.cpp +@@ -11,7 +11,7 @@ + // Include DCMTK LIBJPEG for lossy and lossless JPEG compression + extern "C" { + #define boolean ijg_boolean +-#include "dcmtk/dcmjpeg/libijg8/jpeglib8.h" ++#include "jpeglib.h" + #include "jpeg_mem_src.h" + #undef boolean + #undef const +@@ -234,7 +234,7 @@ char* VSIImage::decodeTile(int no, int row, int col) const { + jpeg_source_mgr src_mem; + jpeg_create_decompress(&cinfo); + cinfo.err = jpeg_std_error(&jerr); +- jpeg_mem_src(&cinfo, &src_mem, (void*)buf, size); ++ jpeg_mem_src_asap(&cinfo, &src_mem, (void*)buf, size); + jpeg_read_header(&cinfo, true); + if (_compressionType == 2) { + cinfo.jpeg_color_space = JCS_YCbCr; +diff --git a/multiresolutionimageinterface/jpeg_mem_src.h b/multiresolutionimageinterface/jpeg_mem_src.h +index b9b91e9..13b9040 100644 +--- a/multiresolutionimageinterface/jpeg_mem_src.h ++++ b/multiresolutionimageinterface/jpeg_mem_src.h +@@ -47,7 +47,7 @@ static void mem_skip_input_data( j_decompress_ptr cinfo, long num_bytes ) + } + } + +-static void jpeg_mem_src( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) ++static void jpeg_mem_src_asap( j_decompress_ptr cinfo, jpeg_source_mgr * const src, void const * const buffer, long nbytes ) + { + src->init_source = mem_init_source; + src->fill_input_buffer = mem_fill_input_buffer; diff --git a/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch new file mode 100644 index 00000000000..751d179cb19 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP/ASAP-2.1-pugixml.patch @@ -0,0 +1,55 @@ +# Author: Robert Jan Schlimbach (SURF) +# Patch to make ASAP/2.1 accept pugixml as non-header-only shared lib + +diff --git a/annotation/CMakeLists.txt b/annotation/CMakeLists.txt +index 114babe..2156cd3 100644 +--- a/annotation/CMakeLists.txt ++++ b/annotation/CMakeLists.txt +@@ -25,10 +25,9 @@ set(ANNOTATION_SOURCE + ) + + add_library(annotation SHARED ${ANNOTATION_SOURCE} ${ANNOTATION_HEADERS}) +-target_compile_definitions(annotation PRIVATE "PUGIXML_HEADER_ONLY") + generate_export_header(annotation) + target_include_directories(annotation PUBLIC $ $ PRIVATE ${DIAGPathology_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${Boost_INCLUDE_DIRS} ${PugiXML_INCLUDE_DIR}) +-target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface) ++target_link_libraries(annotation PUBLIC core PRIVATE multiresolutionimageinterface ${PUGIXML_LIBRARY}) + set_target_properties(annotation PROPERTIES DEBUG_POSTFIX _d) + + IF(APPLE) +diff --git a/cmakemodules/FindPugiXML.cmake b/cmakemodules/FindPugiXML.cmake +index ccffcc4..9afcfb4 100644 +--- a/cmakemodules/FindPugiXML.cmake ++++ b/cmakemodules/FindPugiXML.cmake +@@ -5,11 +5,12 @@ + # PugiXML_FOUND, If false, do not try to use PugiXML. + + find_path(PugiXML_INCLUDE_DIR pugixml.hpp) ++find_library(PUGIXML_LIBRARY NAMES pugixml) + + # handle the QUIETLY and REQUIRED arguments and set PugiXML_FOUND to TRUE if + # all listed variables are TRUE + include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(PugiXML +- REQUIRED_VARS PugiXML_INCLUDE_DIR) ++ REQUIRED_VARS PUGIXML_LIBRARY PugiXML_INCLUDE_DIR) + +-mark_as_advanced(PugiXML_INCLUDE_DIR) ++mark_as_advanced(PugiXML_INCLUDE_DIR PUGIXML_LIBRARY) +diff --git a/multiresolutionimageinterface/CMakeLists.txt b/multiresolutionimageinterface/CMakeLists.txt +index 132e6ef..8d24176 100644 +--- a/multiresolutionimageinterface/CMakeLists.txt ++++ b/multiresolutionimageinterface/CMakeLists.txt +@@ -87,11 +87,10 @@ endif(BUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT) + + add_library(multiresolutionimageinterface SHARED ${MULTIRESOLUTIONIMAGEINTERFACE_SRCS} ${MULTIRESOLUTIONIMAGEINTERFACE_HS} ${VSI_SOURCE_HS} ${VSI_SOURCE_SRCS}) + target_include_directories(multiresolutionimageinterface PUBLIC $ $ $ $ PRIVATE ${PugiXML_INCLUDE_DIR} ${TIFF_INCLUDE_DIR}) +-target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff) ++target_link_libraries(multiresolutionimageinterface PUBLIC core PRIVATE jpeg2kcodec libtiff ${PUGIXML_LIBRARY}) + IF(NOT WIN32) + target_link_libraries(multiresolutionimageinterface PRIVATE dl) + ENDIF(NOT WIN32) +-target_compile_definitions(multiresolutionimageinterface PRIVATE PUGIXML_HEADER_ONLY) + generate_export_header(multiresolutionimageinterface) + set_target_properties(multiresolutionimageinterface PROPERTIES DEBUG_POSTFIX _d) + diff --git a/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.2-foss-2023a.eb b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.2-foss-2023a.eb new file mode 100644 index 00000000000..b65c2f93441 --- /dev/null +++ b/easybuild/easyconfigs/a/ASAP3/ASAP3-3.13.2-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'ASAP3' +version = '3.13.2' + +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 = ['c2e6f0570de8037be45afd9bf35f6b4e76e1f518a0af0207c6bf5809ddb1abb8'] + +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-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/ASCAT/ASCAT-3.1.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/a/ASCAT/ASCAT-3.1.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..41567de2406 --- /dev/null +++ b/easybuild/easyconfigs/a/ASCAT/ASCAT-3.1.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'ASCAT' +version = '3.1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/VanLoo-lab/ascat' +description = """ASCAT is a method to derive copy number profiles of tumor cells, + accounting for normal cell admixture and tumor aneuploidy.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/VanLoo-lab/ascat/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5d65aef417ad12ea0e638b4179def5a9b8f25e1ccd757e41a6509534fe20eb17'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('alleleCount', '4.2.1'), +] + +start_dir = '%(name)s' + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ASCAT/ASCAT-3.1.2-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/ASCAT/ASCAT-3.1.2-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..d8d12897241 --- /dev/null +++ b/easybuild/easyconfigs/a/ASCAT/ASCAT-3.1.2-foss-2022b-R-4.2.2.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'ASCAT' +version = '3.1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/VanLoo-lab/ascat' +description = """ASCAT is a method to derive copy number profiles of tumor cells, + accounting for normal cell admixture and tumor aneuploidy.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/VanLoo-lab/ascat/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5d65aef417ad12ea0e638b4179def5a9b8f25e1ccd757e41a6509534fe20eb17'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), + ('alleleCount', '4.3.0'), +] + +start_dir = '%(name)s' + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.0-foss-2020b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-foss-2020b.eb new file mode 100644 index 00000000000..87ef103fc63 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-foss-2020b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.0' + +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': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Flask', '1.1.2'), + ('matplotlib', '3.3.3'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['e60259c7b50867b1cb817caf938fcc1ed383702413df6d2e1afe7ea07f65acee'], + }), + ('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/ASE/ASE-3.22.0-fosscuda-2020b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..1754c068f50 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-fosscuda-2020b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.0' + +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': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Flask', '1.1.2'), + ('matplotlib', '3.3.3'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['e60259c7b50867b1cb817caf938fcc1ed383702413df6d2e1afe7ea07f65acee'], + }), + ('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/ASE/ASE-3.22.0-intel-2020b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-intel-2020b.eb new file mode 100644 index 00000000000..e1212c23810 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-intel-2020b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.0' + +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': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Flask', '1.1.2'), + ('matplotlib', '3.3.3'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['e60259c7b50867b1cb817caf938fcc1ed383702413df6d2e1afe7ea07f65acee'], + }), + ('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/ASE/ASE-3.22.0-intel-2021a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-intel-2021a.eb new file mode 100644 index 00000000000..b37dd344249 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.0-intel-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.22.0' + +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': 'intel', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Flask', '1.1.4'), + ('matplotlib', '3.4.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.1'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['e60259c7b50867b1cb817caf938fcc1ed383702413df6d2e1afe7ea07f65acee'], + }), + ('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/ASE/ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch new file mode 100644 index 00000000000..003c76ba96d --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-Flask-2-2-2.patch @@ -0,0 +1,26 @@ +From b0ac97556b7f973392fd7610bf39d112093230b3 Mon Sep 17 00:00:00 2001 +From: Jakob Schiotz +Date: Mon, 26 Sep 2022 10:19:45 +0200 +Subject: [PATCH] Fix test suite to work with newer versions of Flask (2.2.2) + +--- + ase/test/db/test_db_web.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/ase/test/db/test_db_web.py b/ase/test/db/test_db_web.py +index 8cea28e..73ec70c 100644 +--- a/ase/test/db/test_db_web.py ++++ b/ase/test/db/test_db_web.py +@@ -66,7 +66,8 @@ def test_add_columns(database): + + + def test_favicon(client): +- assert client.get('/favicon.ico').status_code == 308 # redirect ++ # no content or redirect ++ assert client.get('/favicon.ico').status_code in (204, 308) + assert client.get('/favicon.ico/').status_code == 204 # no content + + +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch new file mode 100644 index 00000000000..7abbd939ea5 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-Scipy-2022-05.patch @@ -0,0 +1,66 @@ +From ead1bd015b52e60cab729081d7c1da2951f1f95c Mon Sep 17 00:00:00 2001 +From: Ask Hjorth Larsen +Date: Sat, 16 Jul 2022 12:48:01 +0200 +Subject: [PATCH] remove test which compares our units to scipy codata. All + the surrounding modules/methods in scipy seem to be deprecated + +--- + ase/test/test_units.py | 39 +-------------------------------------- + 1 file changed, 1 insertion(+), 38 deletions(-) + +diff --git a/ase/test/test_units.py b/ase/test/test_units.py +index b8a1293..fcbe451 100644 +--- a/ase/test/test_units.py ++++ b/ase/test/test_units.py +@@ -2,47 +2,10 @@ + implementation that SciPy brings with it. + """ + +-import numpy as np + import pytest + + import ase.units +-from ase.units import CODATA, create_units +-import scipy.constants.codata +- +- +-# Scipy lacks data for some of the codata versions: +-codata_scipy_versions = set(CODATA) - {'1998', '1986'} +- +- +-@pytest.mark.parametrize('version', sorted(codata_scipy_versions)) +-def test_units(version): +- name_map = {'_c': 'speed of light in vacuum', +- '_mu0': 'mag. const.', +- '_Grav': 'Newtonian constant of gravitation', +- '_hplanck': 'Planck constant', +- '_e': 'elementary charge', +- '_me': 'electron mass', +- '_mp': 'proton mass', +- '_Nav': 'Avogadro constant', +- '_k': 'Boltzmann constant', +- '_amu': 'atomic mass unit-kilogram relationship'} +- +- scipy_CODATA = getattr(scipy.constants.codata, +- f'_physical_constants_{version}', None) +- if version == '2018' and scipy_CODATA is None: +- pytest.skip('No CODATA for 2018 with this scipy') +- +- assert scipy_CODATA is not None +- +- for asename, scipyname in name_map.items(): +- aseval = CODATA[version][asename] +- try: +- scipyval = scipy_CODATA[scipyname][0] +- except KeyError: +- # XXX Can we be more specific? +- continue # 2002 in scipy contains too little data +- +- assert np.isclose(aseval, scipyval), scipyname ++from ase.units import create_units + + + def test_create_units(): +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch new file mode 100644 index 00000000000..c73f65f4396 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-from-Python-3-10.patch @@ -0,0 +1,53 @@ +From c0d155a34dd4115c0aa1c16bb218d808ddfcbbeb Mon Sep 17 00:00:00 2001 +From: Ask Hjorth Larsen +Date: Fri, 4 Feb 2022 14:36:13 +0100 +Subject: [PATCH] update warning handling to appease old and new pytest + simultaneously + +--- + ase/test/test_imports.py | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/ase/test/test_imports.py b/ase/test/test_imports.py +index 5267a06..93c3bfa 100644 +--- a/ase/test/test_imports.py ++++ b/ase/test/test_imports.py +@@ -1,3 +1,4 @@ ++import contextlib + from pathlib import Path + from importlib import import_module + from numpy import VisibleDeprecationWarning +@@ -58,17 +59,18 @@ newpy_only_modules = { + @pytest.mark.filterwarnings('ignore:Moved to') + def test_imports(): + for module in all_modules: +- if module in deprecated_modules: +- warning = (DeprecationWarning, VisibleDeprecationWarning) +- else: +- warning = None ++ with contextlib.ExitStack() as ignored_warnings: ++ if module in deprecated_modules: ++ ignored_warnings.enter_context( ++ pytest.warns((DeprecationWarning, ++ VisibleDeprecationWarning))) + +- try: +- with pytest.warns(warning): ++ try: + import_module(module) +- except SyntaxError: +- if module not in newpy_only_modules: +- raise +- except ImportError as err: +- if err.name not in ignore_imports and 'deprecated' not in str(err): +- raise ++ except SyntaxError: ++ if module not in newpy_only_modules: ++ raise ++ except ImportError as err: ++ ok = err.name in ignore_imports or 'deprecated' in str(err) ++ if not ok: ++ raise +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-part-2.patch b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-part-2.patch new file mode 100644 index 00000000000..0eb432bf558 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-Compatibility-with-pytest-part-2.patch @@ -0,0 +1,25 @@ +From 74dba1a8cfe4ee79c1436bdcf0195b79e7c5536e Mon Sep 17 00:00:00 2001 +From: Ask Hjorth Larsen +Date: Fri, 4 Feb 2022 14:41:38 +0100 +Subject: [PATCH] update pytest.warns() call to latest pytest + +--- + ase/test/calculator/castep/test_castep_interface.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ase/test/calculator/castep/test_castep_interface.py b/ase/test/calculator/castep/test_castep_interface.py +index 623836b..08c72c6 100644 +--- a/ase/test/calculator/castep/test_castep_interface.py ++++ b/ase/test/calculator/castep/test_castep_interface.py +@@ -121,7 +121,7 @@ def test_fundamental_params(): + + # Test special parsers + mock_cparam.continuation = 'default' +- with pytest.warns(None): ++ with pytest.warns(UserWarning): + mock_cparam.reuse = 'default' + assert mock_cparam.reuse.value is None + +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/a/ASE/ASE-3.22.1-foss-2021b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-foss-2021b.eb new file mode 100644 index 00000000000..eb2f5708e31 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-foss-2021b.eb @@ -0,0 +1,47 @@ +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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Flask', '2.0.2'), + ('matplotlib', '3.4.3'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.3'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'], + }), + ('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/ASE/ASE-3.22.1-foss-2022a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-foss-2022a.eb new file mode 100644 index 00000000000..c5a508e2a0d --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-foss-2022a.eb @@ -0,0 +1,63 @@ +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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Flask', '2.2.2'), + ('matplotlib', '3.5.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.0.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.8.2', { + 'checksums': ['77f03f4554392558700295e05aed0b1096a20d4a60a4f3ddcde58b0c31c8fca2'], + }), + ('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': [ + '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432', # ase-3.22.1.tar.gz + # 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/ASE/ASE-3.22.1-gfbf-2022b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2022b.eb new file mode 100644 index 00000000000..d2486e7b79e --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2022b.eb @@ -0,0 +1,63 @@ +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': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Flask', '2.2.3'), + ('matplotlib', '3.7.0'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.0.2'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.8.2', { + 'checksums': ['77f03f4554392558700295e05aed0b1096a20d4a60a4f3ddcde58b0c31c8fca2'], + }), + ('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': [ + '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432', # ase-3.22.1.tar.gz + # 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/ASE/ASE-3.22.1-gfbf-2023a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-2023a.eb new file mode 100644 index 00000000000..d63319385b2 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gfbf-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': 'gfbf', '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/ASE/ASE-3.22.1-gomkl-2021a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gomkl-2021a.eb new file mode 100644 index 00000000000..cefd29a8957 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-gomkl-2021a.eb @@ -0,0 +1,47 @@ +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': 'gomkl', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Flask', '1.1.4'), + ('matplotlib', '3.4.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.1'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'], + }), + ('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/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/ASE/ASE-3.22.1-intel-2021b.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-intel-2021b.eb new file mode 100644 index 00000000000..d490b91739e --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-intel-2021b.eb @@ -0,0 +1,47 @@ +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': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Flask', '2.0.2'), + ('matplotlib', '3.4.3'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '1.16.3'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.6.1', { + 'checksums': ['40217a058c52a63f1042f0784f62009e976ba824c418cced42e88d5f40ab0e62'], + }), + ('ase', version, { + 'checksums': ['004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432'], + }), + ('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/ASE/ASE-3.22.1-intel-2022a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-intel-2022a.eb new file mode 100644 index 00000000000..6862f915f93 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.22.1-intel-2022a.eb @@ -0,0 +1,63 @@ +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': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Flask', '2.2.2'), + ('matplotlib', '3.5.2'), + ('Tkinter', '%(pyver)s'), # Needed by GUI of ASE + ('spglib-python', '2.0.0'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytest-mock', '3.8.2', { + 'checksums': ['77f03f4554392558700295e05aed0b1096a20d4a60a4f3ddcde58b0c31c8fca2'], + }), + ('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': [ + '004df6b0ea04b1114c790fadfe45d4125eb0e53125c66a93425af853d82ab432', # ase-3.22.1.tar.gz + # 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/ASE/ASE-3.23.0-gfbf-2023a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023a.eb new file mode 100644 index 00000000000..554779e99cc --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-gfbf-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.23.0' + +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': 'gfbf', '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, { + 'checksums': ['91a2aa31d89bd90b0efdfe4a7e84264f32828b2abfc9f38e65e041ad76fec8ae'], + }), + ('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/ASE/ASE-3.23.0-iimkl-2023a.eb b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-iimkl-2023a.eb new file mode 100644 index 00000000000..f8bbed9f583 --- /dev/null +++ b/easybuild/easyconfigs/a/ASE/ASE-3.23.0-iimkl-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'ASE' +version = '3.23.0' + +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, { + 'checksums': ['91a2aa31d89bd90b0efdfe4a7e84264f32828b2abfc9f38e65e041ad76fec8ae'], + }), + ('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/ASF-SearchAPI/ASF-SearchAPI-6.5.0-foss-2022a.eb b/easybuild/easyconfigs/a/ASF-SearchAPI/ASF-SearchAPI-6.5.0-foss-2022a.eb new file mode 100644 index 00000000000..0ee44c7ec65 --- /dev/null +++ b/easybuild/easyconfigs/a/ASF-SearchAPI/ASF-SearchAPI-6.5.0-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = "PythonBundle" + +name = 'ASF-SearchAPI' +version = '6.5.0' + +homepage = 'https://docs.asf.alaska.edu/' +description = """asf_search is a Python module for performing searches of the ASF catalog. In +addition, it offers baseline functionality and download support.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), +] + +use_pip = True + +exts_list = [ + ('remotezip', '0.12.1', { + 'checksums': ['ce65b7910c5c25d8950ed402023592967f5791ac14987141c050016ffad18dec'], + }), + ('tzdata', '2022.7', { + 'checksums': ['fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'sources': ['pytz_deprecation_shim-%(version)s.tar.gz'], + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + ('tzlocal', '4.2', { + 'checksums': ['ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7'], + }), + ('dateparser', '1.1.8', { + 'checksums': ['86b8b7517efcc558f085a142cdb7620f0921543fcabdb538c8a4c4001d8178e3'], + }), + ('tenacity', '8.2.2', { + 'checksums': ['43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0'], + }), + ('asf_search', version, { + 'checksums': ['fda492742fa47737c451c33590d93d226e2b1ddee51d430fe5c853f74f03e5f3'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/ASTRID/ASTRID-2.2.1-gompi-2019a.eb b/easybuild/easyconfigs/a/ASTRID/ASTRID-2.2.1-gompi-2019a.eb index ea1dba9f73d..4a752357e25 100644 --- a/easybuild/easyconfigs/a/ASTRID/ASTRID-2.2.1-gompi-2019a.eb +++ b/easybuild/easyconfigs/a/ASTRID/ASTRID-2.2.1-gompi-2019a.eb @@ -18,7 +18,7 @@ checksums = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('phylokit', '1.0'), ('Boost', '1.70.0'), ] diff --git a/easybuild/easyconfigs/a/ATAT/ATAT-3.36-GCCcore-9.3.0.eb b/easybuild/easyconfigs/a/ATAT/ATAT-3.36-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..5b29bd248a6 --- /dev/null +++ b/easybuild/easyconfigs/a/ATAT/ATAT-3.36-GCCcore-9.3.0.eb @@ -0,0 +1,72 @@ +# Copyright (c) 2020 The Rector and Visitors of the University of Virginia +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +# documentation files (the "Software"), to deal in the Software without restriction, including without +# limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +# Software, and to permit persons to whom the Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be included in all copies or substantial portions +# of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +# TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +# Ruoshi Sun +# Research Computing, University of Virginia +# 2020-05-24 + +easyblock = 'ConfigureMake' + +name = 'ATAT' +version = '3.36' + +homepage = 'https://www.brown.edu/Departments/Engineering/Labs/avdw/atat/' +description = """ +The Alloy-Theoretic Automated Toolkit (ATAT) is a generic name that refers to a collection of alloy theory tools +""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['http://alum.mit.edu/www/avdw/%(namelower)s'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '_')] +checksums = ['e829da5b714a012b5fc456d1060cfdb784642a8c0cbb702d409497b65466ee39'] + +builddependencies = [ + ('binutils', '2.34') +] + +skipsteps = ['configure'] + +local_bindir = '%(builddir)s/%(namelower)s/bin' + +prebuildopts = 'mkdir -p %s && ' % local_bindir +buildopts = 'BINDIR=%s' % local_bindir + +local_install1 = 'make -C src BINDIR=%s install && ' % local_bindir +local_install2 = 'make -C glue/jobctrl BINDIR=%s install && ' % local_bindir +local_install3 = 'make -C glue/vasp BINDIR=%s install' % local_bindir + +install_cmd = local_install1 + local_install2 + local_install3 + +local_to_copy = ['bin', 'data', 'doc', 'examples', 'glue', 'license.txt'] + +postinstallcmds = [ + 'cp -r %%(builddir)s/%%(namelower)s/%s %%(installdir)s' % x for x in local_to_copy +] + +sanity_check_paths = { + 'files': ['bin/maps'], + 'dirs': local_to_copy[:-1] +} + +sanity_check_commands = [ + "maps --help 2>&1 | grep '^MIT Ab initio Phase Stability (MAPS) code %(version)s'" +] + +modloadmsg = "First-time users please run:\necho set atatdir=$EBROOTATAT > $HOME/.atat.rc\n" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.34.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.34.1-GCCcore-8.3.0.eb index 4801dcf23aa..2f0967f68b4 100644 --- a/easybuild/easyconfigs/a/ATK/ATK-2.34.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/a/ATK/ATK-2.34.1-GCCcore-8.3.0.eb @@ -18,7 +18,7 @@ checksums = ['d4f0e3b3d21265fcf2bc371e117da51c42ede1a71f6db1c834e6976bb20997cb'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('pkg-config', '0.29.2'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.36.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.36.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f387195260d --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.36.0-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.36.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.68.0'), +] + +dependencies = [ + ('GLib', '2.69.1'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3c2987a1b4a --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('GObject-Introspection', '1.72.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..38922c40f8d --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), +] + +dependencies = [ + ('GLib', '2.75.0'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e975d98ac9c --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GObject-Introspection', '1.76.1'), +] + +dependencies = [ + ('GLib', '2.77.1'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6093e7836d8 --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('GObject-Introspection', '1.78.1'), +] + +dependencies = [ + ('GLib', '2.78.1'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..506079ce98c --- /dev/null +++ b/easybuild/easyconfigs/a/ATK/ATK-2.38.0-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'ATK' +version = '2.38.0' + +homepage = 'https://developer.gnome.org/atk/' +description = """ + ATK provides the set of accessibility interfaces that are implemented by other + toolkits and applications. Using the ATK interfaces, accessibility tools have + full access to view and control running applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ac4de2a4ef4bd5665052952fe169657e65e895c5057dffb3c2a810f6191a0c36'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('GObject-Introspection', '1.80.1'), +] + +dependencies = [ + ('GLib', '2.80.4'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dintrospection=true " + +sanity_check_paths = { + 'files': ['lib/libatk-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021a.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021a.eb new file mode 100644 index 00000000000..cf9c1125f8b --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021a.eb @@ -0,0 +1,65 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.4.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" +# software_license = 'LicenseArtisticv1' + +toolchain = {'name': 'foss', 'version': '2021a'} + +# https://github.com/Gaius-Augustus/Augustus/archive +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['AUGUSTUS-%(version)s_fix-hardcoding.patch'] +checksums = [ + '2c06cf5953da5afdce1478fa10fcd3c280a3b050f1b2367bf3e731d7374d9bb8', # v3.4.0.tar.gz + 'e74023f28ee3e76590f4534d195c313b88b66a92ec779da184d30d056fc8e052', # AUGUSTUS-3.4.0_fix-hardcoding.patch +] + +builddependencies = [ + ('Python', '3.9.5'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.76.0'), + ('GSL', '2.7'), + ('SAMtools', '1.13'), + ('HTSlib', '1.12'), # also provides tabix + ('BCFtools', '1.12'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.35.4'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +buildopts = 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" LINK.cc="$CXX" ' +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb new file mode 100644 index 00000000000..2c6961e4449 --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.4.0-foss-2021b.eb @@ -0,0 +1,64 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.4.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# https://github.com/Gaius-Augustus/Augustus/archive +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['AUGUSTUS-%(version)s_fix-hardcoding.patch'] +checksums = [ + '2c06cf5953da5afdce1478fa10fcd3c280a3b050f1b2367bf3e731d7374d9bb8', # v3.4.0.tar.gz + 'e74023f28ee3e76590f4534d195c313b88b66a92ec779da184d30d056fc8e052', # AUGUSTUS-3.4.0_fix-hardcoding.patch +] + +builddependencies = [ + ('Python', '3.9.6'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.77.0'), + ('GSL', '2.7'), + ('SAMtools', '1.14'), + ('HTSlib', '1.14'), # also provides tabix + ('BCFtools', '1.14'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.36'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +buildopts = 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" LINK.cc="$CXX" ' +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb new file mode 100644 index 00000000000..78063fe2345 --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022a.eb @@ -0,0 +1,73 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.5.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ed6ce6106303b800c5e91d37a250baff43b20824657b853ae04d11ad8bdd686'] + +builddependencies = [ + ('Python', '3.10.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('GSL', '2.7'), + ('SAMtools', '1.16.1'), + ('HTSlib', '1.15.1'), # also provides tabix + ('BCFtools', '1.15.1'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.38.3'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +_tmpl = 'INCLUDE_PATH_{dep}=-I{root}{incl} LIBRARY_PATH_{dep}="-L{root}{lib} -Wl,-rpath,{root}{lib}"' + +buildopts = ' '.join([ + 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" ', + _tmpl.format(dep='ZLIB', root='$EBROOTZLIB', incl='/include', lib='/lib'), + _tmpl.format(dep='BOOST', root='$EBROOTBOOST', incl='/include', lib='/lib'), + _tmpl.format(dep='LPSOLVE', root='$EBROOTLPSOLVE', incl='/include', lib='/lib'), + _tmpl.format(dep='SUITESPARSE', root='$EBROOTSUITESPARSE', incl='/include', lib='/lib'), + _tmpl.format(dep='GSL', root='$EBROOTGSL', incl='/include', lib='/lib'), + _tmpl.format(dep='SQLITE', root='$EBROOTSQLITE', incl='/include', lib='/lib'), + _tmpl.format(dep='BAMTOOLS', root='$EBROOTBAMTOOLS', incl='/include/bamtools', lib='/lib'), + _tmpl.format(dep='HTSLIB', root='$EBROOTHTSLIB', incl='/include/htslib', lib='/lib'), +]) + +preinstallopts = "sed -i '/ln -sf/d' Makefile && " +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022b.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022b.eb new file mode 100644 index 00000000000..b82557238dc --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2022b.eb @@ -0,0 +1,73 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.5.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2022b'} + +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ed6ce6106303b800c5e91d37a250baff43b20824657b853ae04d11ad8bdd686'] + +builddependencies = [ + ('Python', '3.10.8'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.81.0'), + ('GSL', '2.7'), + ('SAMtools', '1.17'), + ('HTSlib', '1.17'), # also provides tabix + ('BCFtools', '1.17'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.39.4'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +_tmpl = 'INCLUDE_PATH_{dep}=-I{root}{incl} LIBRARY_PATH_{dep}="-L{root}{lib} -Wl,-rpath,{root}{lib}"' + +buildopts = ' '.join([ + 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" ', + _tmpl.format(dep='ZLIB', root='$EBROOTZLIB', incl='/include', lib='/lib'), + _tmpl.format(dep='BOOST', root='$EBROOTBOOST', incl='/include', lib='/lib'), + _tmpl.format(dep='LPSOLVE', root='$EBROOTLPSOLVE', incl='/include', lib='/lib'), + _tmpl.format(dep='SUITESPARSE', root='$EBROOTSUITESPARSE', incl='/include', lib='/lib'), + _tmpl.format(dep='GSL', root='$EBROOTGSL', incl='/include', lib='/lib'), + _tmpl.format(dep='SQLITE', root='$EBROOTSQLITE', incl='/include', lib='/lib'), + _tmpl.format(dep='BAMTOOLS', root='$EBROOTBAMTOOLS', incl='/include/bamtools', lib='/lib'), + _tmpl.format(dep='HTSLIB', root='$EBROOTHTSLIB', incl='/include/htslib', lib='/lib'), +]) + +preinstallopts = "sed -i '/ln -sf/d' Makefile && " +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2023a.eb b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2023a.eb new file mode 100644 index 00000000000..2c31ade2eb0 --- /dev/null +++ b/easybuild/easyconfigs/a/AUGUSTUS/AUGUSTUS-3.5.0-foss-2023a.eb @@ -0,0 +1,74 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'AUGUSTUS' +version = '3.5.0' + +homepage = 'https://bioinf.uni-greifswald.de/augustus/' +description = "AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'Gaius-Augustus' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ed6ce6106303b800c5e91d37a250baff43b20824657b853ae04d11ad8bdd686'] + +builddependencies = [ + ('Python', '3.11.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('Boost', '1.82.0'), + ('GSL', '2.7'), + ('SAMtools', '1.18'), + ('HTSlib', '1.18'), # also provides tabix + ('BCFtools', '1.18'), + ('lpsolve', '5.5.2.11'), + ('SuiteSparse', '7.1.0'), + ('BamTools', '2.5.2'), + ('SQLite', '3.42.0'), +] + +skipsteps = ['configure'] + +# run "make clean" to avoid using binaries included with the source tarball +prebuildopts = "make clean && " + +_tmpl = 'INCLUDE_PATH_{dep}=-I{root}{incl} LIBRARY_PATH_{dep}="-L{root}{lib} -Wl,-rpath,{root}{lib}"' + +buildopts = ' '.join([ + 'COMPGENEPRED=true SQLITE=true ZIPINPUT=true MYSQL=false CXX="$CXX" ', + _tmpl.format(dep='ZLIB', root='$EBROOTZLIB', incl='/include', lib='/lib'), + _tmpl.format(dep='BOOST', root='$EBROOTBOOST', incl='/include', lib='/lib'), + _tmpl.format(dep='LPSOLVE', root='$EBROOTLPSOLVE', incl='/include', lib='/lib'), + _tmpl.format(dep='SUITESPARSE', root='$EBROOTSUITESPARSE', incl='/include', lib='/lib'), + _tmpl.format(dep='GSL', root='$EBROOTGSL', incl='/include', lib='/lib'), + _tmpl.format(dep='SQLITE', root='$EBROOTSQLITE', incl='/include', lib='/lib'), + _tmpl.format(dep='BAMTOOLS', root='$EBROOTBAMTOOLS', incl='/include/bamtools', lib='/lib'), + _tmpl.format(dep='HTSLIB', root='$EBROOTHTSLIB', incl='/include/htslib', lib='/lib'), +]) + +preinstallopts = "sed -i '/ln -sf/d' Makefile && " +installopts = 'INSTALLDIR=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/augustus', 'bin/bam2hints', 'bin/etraining', 'bin/fastBlockSearch', + 'bin/filterBam', 'bin/getSeq', 'bin/homGeneMapping', 'bin/joingenes', + 'bin/load2sqlitedb', 'bin/prepareAlign'], + 'dirs': ['config', 'scripts'], +} +sanity_check_commands = ['augustus --help'] + +modextrapaths = {'PATH': 'scripts'} +modextravars = { + 'AUGUSTUS_BIN_PATH': '%(installdir)s/bin', + 'AUGUSTUS_CONFIG_PATH': '%(installdir)s/config', + 'AUGUSTUS_SCRIPTS_PATH': '%(installdir)s/scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AUTO-07p/AUTO-07p-0.9.3-foss-2021a.eb b/easybuild/easyconfigs/a/AUTO-07p/AUTO-07p-0.9.3-foss-2021a.eb new file mode 100644 index 00000000000..821240dd581 --- /dev/null +++ b/easybuild/easyconfigs/a/AUTO-07p/AUTO-07p-0.9.3-foss-2021a.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'AUTO-07p' +version = '0.9.3' + +homepage = 'https://github.com/auto-07p' +description = """AUTO is a publicly available software for continuation and bifurcation problems +in ordinary differential equations originally written in 1980 and widely used in the dynamical +systems community.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = ['auto-%(version)s.tar.gz'] +checksums = ['c9cb3365be5736f6b8ca4040cf206e204eb6dd327f886ad0effd21db27dd8f7b'] + +dependencies = [ + ('Python', '3.9.5'), + ('Tkinter', '%(pyver)s'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('Coin', '4.0.0'), + ('SoQt', '1.6.0'), +] + +configopts = '--with-mpi' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/auto'], + 'dirs': ['lib/auto-07p'], +} + +modextravars = {'AUTO_DIR': '%(installdir)s/lib/%(namelower)s'} +modextrapaths = {'PATH': 'lib/%(namelower)s/cmds'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e68cf117046 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20210324.2-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20210324.2' + +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': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/abseil/abseil-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['59b862f50e710277f8ede96f083a5bb8d7c9595376146838b9580be90374ee1f'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['lib/libabsl_base.%s' % SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9359c052492 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20230125.2' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/abseil/abseil-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +build_shared_libs = True +configopts = '-DABSL_PROPAGATE_CXX_STD=ON ' + +sanity_check_paths = { + 'files': ['lib/libabsl_base.%s' % SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4c79a033123 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.2-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20230125.2' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/abseil/abseil-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['9a2b5752d7bfade0bdeee2701de17c9480620f8b237e1964c1b9967c75374906'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +build_shared_libs = True +configopts = '-DABSL_PROPAGATE_CXX_STD=ON ' + +sanity_check_paths = { + 'files': ['lib/libabsl_base.%s' % SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/Abseil/Abseil-20230125.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3ad5e5c79b6 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20230125.3-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20230125.3' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/abseil/abseil-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['5366d7e7fa7ba0d915014d387b66d0d002c03236448e1ba9ef98122c13b35c36'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +build_shared_libs = True +configopts = '-DABSL_PROPAGATE_CXX_STD=ON ' + +sanity_check_paths = { + 'files': ['lib/libabsl_base.%s' % SHLIB_EXT], + 'dirs': ['include/absl'], +} + +moduleclass = 'lib' 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/Abseil/Abseil-20240722.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Abseil/Abseil-20240722.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..24951c68814 --- /dev/null +++ b/easybuild/easyconfigs/a/Abseil/Abseil-20240722.0-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Abseil' +version = '20240722.0' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/%(namelower)s/%(namelower)s-cpp/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +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/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.2.0.eb b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.2.0.eb new file mode 100644 index 00000000000..310e4f767de --- /dev/null +++ b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.2.0.eb @@ -0,0 +1,38 @@ + +easyblock = 'ConfigureMake' + +name = 'AdapterRemoval' +version = '2.3.2' + +homepage = 'https://github.com/MikkelSchubert/adapterremoval' +description = """AdapterRemoval searches for and removes remnant adapter sequences + from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases + from the 3' end of reads following adapter removal.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +github_account = 'MikkelSchubert' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ded7e08fb64e1b19f5c3de623de276d9cbb657a52b23a844ff74576d1b4f8d4'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.3.0.eb b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..b56f2a5062e --- /dev/null +++ b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'AdapterRemoval' +version = '2.3.2' + +homepage = 'https://github.com/MikkelSchubert/adapterremoval' +description = """AdapterRemoval searches for and removes remnant adapter sequences + from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases + from the 3' end of reads following adapter removal.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'MikkelSchubert' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ded7e08fb64e1b19f5c3de623de276d9cbb657a52b23a844ff74576d1b4f8d4'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-11.2.0.eb b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..4ba0d0fbca4 --- /dev/null +++ b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.2-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'AdapterRemoval' +version = '2.3.2' + +homepage = 'https://github.com/MikkelSchubert/adapterremoval' +description = """AdapterRemoval searches for and removes remnant adapter sequences + from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases + from the 3' end of reads following adapter removal.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'MikkelSchubert' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ded7e08fb64e1b19f5c3de623de276d9cbb657a52b23a844ff74576d1b4f8d4'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..e93de561424 --- /dev/null +++ b/easybuild/easyconfigs/a/AdapterRemoval/AdapterRemoval-2.3.3-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'AdapterRemoval' +version = '2.3.3' + +homepage = 'https://github.com/MikkelSchubert/adapterremoval' +description = """AdapterRemoval searches for and removes remnant adapter sequences + from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases + from the 3' end of reads following adapter removal.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'MikkelSchubert' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a1bdc054319ede085fc8a4e9867c23ffed7df5e97b99d52221b7c587d19418fc'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] +} + +sanity_check_commands = [('%(name)s', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update2.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update2.eb index 24ce3fe1c31..2e121781a46 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update2.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update2.eb @@ -10,7 +10,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15084/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15084/'] sources = ['advisor_%(version)s.tar.gz'] checksums = ['b63e11b0601013ad21789869ad76be5a836da566ee47c125dcda19ff8277de77'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update3.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update3.eb index a9f9a888154..7b025287362 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update3.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update3.eb @@ -10,7 +10,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15206/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15206/'] sources = ['advisor_%(version)s.tar.gz'] checksums = ['6597f165dee3c6444eb0f38a9069327d10584b09555f5d2c4ed86b8f84d980bb'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update5.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update5.eb index 6a0d2fa4ece..cbcdab88d6e 100644 --- a/easybuild/easyconfigs/a/Advisor/Advisor-2019_update5.eb +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2019_update5.eb @@ -10,7 +10,7 @@ description = """Vectorization Optimization and Thread Prototyping toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15825/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15825/'] sources = ['advisor_%(version)s.tar.gz'] checksums = ['3f203ee63df37e87423fdd4cbeb5ec027b3d11e50c9121935f8b323dd635e866'] diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2021.2.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2021.2.0.eb new file mode 100644 index 00000000000..144362e2eb7 --- /dev/null +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2021.2.0.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'Advisor' +version = '2021.2.0' + +homepage = 'https://software.intel.com/intel-advisor-xe' +description = """Vectorization Optimization and Thread Prototyping + - Vectorize & thread code or performance “dies” + - Easy workflow + data + tips = faster code faster + - Prioritize, Prototype & Predict performance gain + """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17730/'] +sources = ['l_oneapi_advisor_p_%(version)s.189_offline.sh'] +checksums = ['9d9e9aa11819e6422f732de0e29e70a164e576254504857713cfec90b6b78664'] + +dontcreateinstalldir = True + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/advisor'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb new file mode 100644 index 00000000000..ec07e00e07e --- /dev/null +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2021.4.0.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'Advisor' +version = '2021.4.0' + +homepage = 'https://software.intel.com/intel-advisor-xe' +description = """Vectorization Optimization and Thread Prototyping + - Vectorize & thread code or performance “dies” + - Easy workflow + data + tips = faster code faster + - Prioritize, Prototype & Predict performance gain + """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18220/'] +sources = ['l_oneapi_advisor_p_%(version)s.389_offline.sh'] +checksums = ['dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8'] + +dontcreateinstalldir = True + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/advisor'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb new file mode 100644 index 00000000000..34a2115a37c --- /dev/null +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2022.1.0.eb @@ -0,0 +1,29 @@ +## +# Author: Robert Mijakovic +## +name = 'Advisor' +version = '2022.1.0' + +homepage = 'https://software.intel.com/intel-advisor-xe' +description = """Vectorization Optimization and Thread Prototyping + - Vectorize & thread code or performance “dies” + - Easy workflow + data + tips = faster code faster + - Prioritize, Prototype & Predict performance gain + """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18730/'] +sources = ['l_oneapi_advisor_p_%(version)s.171_offline.sh'] +checksums = ['b627dbfefa779b44e7ab40dfa37614e56caa6e245feaed402d51826e6a7cb73b'] + +dontcreateinstalldir = True + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/advisor'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb new file mode 100644 index 00000000000..e6d811a03a0 --- /dev/null +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2023.0.0.eb @@ -0,0 +1,27 @@ +name = 'Advisor' +version = '2023.0.0' + +homepage = 'https://software.intel.com/intel-advisor-xe' +description = """Vectorization Optimization and Thread Prototyping + - Vectorize & thread code or performance “dies” + - Easy workflow + data + tips = faster code faster + - Prioritize, Prototype & Predict performance gain + """ + +toolchain = SYSTEM + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19094/'] +sources = ['l_oneapi_advisor_p_%(version)s.25338_offline.sh'] +checksums = ['5d8ef163f70ee3dc42b13642f321d974f49915d55914ba1ca9177ed29b100b9d'] + +dontcreateinstalldir = True + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/advisor'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Advisor/Advisor-2023.2.0.eb b/easybuild/easyconfigs/a/Advisor/Advisor-2023.2.0.eb new file mode 100644 index 00000000000..bcce2e42a8d --- /dev/null +++ b/easybuild/easyconfigs/a/Advisor/Advisor-2023.2.0.eb @@ -0,0 +1,27 @@ +name = 'Advisor' +version = '2023.2.0' + +homepage = 'https://software.intel.com/intel-advisor-xe' +description = """Vectorization Optimization and Thread Prototyping + - Vectorize & thread code or performance “dies” + - Easy workflow + data + tips = faster code faster + - Prioritize, Prototype & Predict performance gain + """ + +toolchain = SYSTEM + +source_urls = [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0b0e8bf2-30e4-4a26-b1ef-e369b0181b35/'] +sources = ['l_oneapi_advisor_p_%(version)s.49489_offline.sh'] +checksums = ['48ab7fa2b828a273d467c8f07efd64d6cf2fcdcfe0ff567bd1d1be7a5d5d8539'] + +dontcreateinstalldir = True + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/advisor'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..88479d0582a --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.1.0' +versionsuffix = '-CUDA-11.3.1' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('scikit-image', '0.18.3'), + ('scikit-learn', '0.24.2'), + ('OpenCV', '4.5.3', versionsuffix + '-contrib'), + ('imgaug', '0.4.0', versionsuffix), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['60b067b3093908bcc52adb2aa5d44f57ebdbb8ab57a47b0b42f3dc1d3b1ce824'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021b.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021b.eb new file mode 100644 index 00000000000..9070f94f1bf --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.1.0-foss-2021b.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.1.0' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('scikit-image', '0.19.1'), + ('scikit-learn', '1.0.1'), + ('OpenCV', '4.5.5', '-contrib'), + ('imgaug', '0.4.0'), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['60b067b3093908bcc52adb2aa5d44f57ebdbb8ab57a47b0b42f3dc1d3b1ce824'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b4b6d0f7b61 --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('imgaug', '0.4.0', versionsuffix), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb new file mode 100644 index 00000000000..cecb717c37c --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.3.0-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.3.0' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('OpenCV', '4.6.0', '-contrib'), + ('imgaug', '0.4.0'), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['be1af36832c8893314f2a5550e8ac19801e04770734c1b70fa3c996b41f37bed'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Albumentations/Albumentations-1.4.0-foss-2023a.eb b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.4.0-foss-2023a.eb new file mode 100644 index 00000000000..36b765ffdc8 --- /dev/null +++ b/easybuild/easyconfigs/a/Albumentations/Albumentations-1.4.0-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Albumentations' +version = '1.4.0' + +homepage = 'https://albumentations.ai' +description = "Albumentations is a Python library for fast and flexible image augmentations" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('scikit-image', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('OpenCV', '4.8.1', '-contrib'), +] + +preinstallopts = "sed -i 's|CHOOSE_INSTALL_REQUIRES),|[]),|g' setup.py && " + +use_pip = True + +exts_list = [ + ('qudida', '0.0.4', { + 'checksums': ['db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8'], + }), + ('albumentations', version, { + 'checksums': ['649f8a14896f788b356ecc70083c4fb91bedab4ff4e2b39ad217a824e189ded0'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb b/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb new file mode 100644 index 00000000000..63a34e4004d --- /dev/null +++ b/easybuild/easyconfigs/a/Alfred/Alfred-0.2.6-GCC-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Alfred' +version = '0.2.6' + +homepage = "https://www.gear-genomics.com/alfred/" +description = """Alfred is an efficient and versatile command-line application + that computes multi-sample quality control metrics in a read-group aware manner. + Alfred supports read counting, feature annotation and haplotype-resolved consensus + computation using multiple sequence alignments.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'tobiasrausch' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['2f92cc1acc1f059a75468fca49f755c25947d59f39f2225abaaa4d145ac971a8'] + +dependencies = [ + ('Boost', '1.77.0'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.14'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), +] + +files_to_copy = [(['src/%(namelower)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-foss-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-foss-2020b.eb new file mode 100644 index 00000000000..fa55dd0f5a0 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-foss-2020b.eb @@ -0,0 +1,179 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.0.0' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', '2.4.1'), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-%(version)s_fix-packages.patch', + 'AlphaFold-%(version)s_data-dep-paths.patch', + 'AlphaFold-%(version)s_n-cpu.patch', + 'AlphaFold-%(version)s_fix-scp-path.patch', + ], + 'checksums': [ + '78cf443a2d9250917b05f5d40ede140ed8e8341b42fdfa54340336aca52f53f2', # v2.0.0.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '7223e297b23f90816219095696bc6453910c617add60b907a0d3e869da8733bb', # AlphaFold-2.0.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '83dc82a8b1c647eb7e217aef683153e98a4fc7f871a85280976c92a1bfe28f27', # AlphaFold-2.0.0_fix-scp-path.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + # source tarball on PyPI is missing requirements.txt, + # see https://github.com/deepmind/dm-haiku/issues/44 + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + 'modulename': 'haiku', + }), + ('dm-tree', '0.1.6', { + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + 'modulename': 'tree', + }), + ('websocket-client', '1.2.1', { + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + 'modulename': 'websocket', + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + # see https://github.com/google/ml_collections/issues/7 + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..4d23d09d295 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0-fosscuda-2020b.eb @@ -0,0 +1,186 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.0.0' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', '2.4.1'), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-%(version)s_fix-packages.patch', + 'AlphaFold-%(version)s_data-dep-paths.patch', + 'AlphaFold-%(version)s_n-cpu.patch', + 'AlphaFold-%(version)s_fix-scp-path.patch', + ], + 'checksums': [ + '78cf443a2d9250917b05f5d40ede140ed8e8341b42fdfa54340336aca52f53f2', # v2.0.0.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '7223e297b23f90816219095696bc6453910c617add60b907a0d3e869da8733bb', # AlphaFold-2.0.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '83dc82a8b1c647eb7e217aef683153e98a4fc7f871a85280976c92a1bfe28f27', # AlphaFold-2.0.0_fix-scp-path.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + # source tarball on PyPI is missing requirements.txt, + # see https://github.com/deepmind/dm-haiku/issues/44 + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + 'modulename': 'haiku', + }), + ('dm-tree', '0.1.6', { + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + 'modulename': 'tree', + }), + ('websocket-client', '1.2.1', { + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + 'modulename': 'websocket', + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + # see https://github.com/google/ml_collections/issues/7 + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_data-dep-paths.patch new file mode 100644 index 00000000000..674bcd2f935 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_data-dep-paths.patch @@ -0,0 +1,115 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +diff --git a/run_alphafold.py b/run_alphafold.py +index 61f7ef2..81c97a0 100644 +--- a/run_alphafold.py ++++ b/run_alphafold.py +@@ -36,6 +36,46 @@ from alphafold.model import model + from alphafold.relax import relax + # Internal import (7716). + ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++if data_dir: ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters.fa') ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniclust30_database_path = os.path.join(data_dir, 'uniclust30', 'uniclust30_2018_08', 'uniclust30_2018_08') ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniclust30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ ++hmmer_root = os.getenv('EBROOTHMMER') ++if hmmer_root: ++ jackhmmer_binary_path = os.path.join(hmmer_root, 'bin', 'jackhmmer') ++else: ++ jackhmmer_binary_path = '/usr/bin/jackhmmer' ++ ++hhsuite_root = os.getenv('EBROOTHHMINSUITE') ++if hhsuite_root: ++ hhblits_binary_path = os.path.join(hhsuite_root, 'bin', 'hhblits') ++ hhsearch_binary_path = os.path.join(hhsuite_root, 'bin', 'hhsearch') ++else: ++ hhblits_binary_path = '/usr/bin/hhblits' ++ hhsearch_binary_path = '/usr/bin/hhsearch' ++ ++kalign_root = os.getenv('EBROOTKALIGN') ++if kalign_root: ++ kalign_binary_path = os.path.join(kalign_root, 'bin', 'kalign') ++else: ++ kalign_binary_path = '/usr/bin/kalign' ++ + flags.DEFINE_list('fasta_paths', None, 'Paths to FASTA files, each containing ' + 'one sequence. Paths should be separated by commas. ' + 'All FASTA paths must have a unique basename as the ' +@@ -44,30 +83,30 @@ flags.DEFINE_list('fasta_paths', None, 'Paths to FASTA files, each containing ' + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_list('model_names', None, 'Names of models to use.') +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') +-flags.DEFINE_string('jackhmmer_binary_path', '/usr/bin/jackhmmer', ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') ++flags.DEFINE_string('jackhmmer_binary_path', jackhmmer_binary_path, + 'Path to the JackHMMER executable.') +-flags.DEFINE_string('hhblits_binary_path', '/usr/bin/hhblits', ++flags.DEFINE_string('hhblits_binary_path', hhblits_binary_path, + 'Path to the HHblits executable.') +-flags.DEFINE_string('hhsearch_binary_path', '/usr/bin/hhsearch', ++flags.DEFINE_string('hhsearch_binary_path', hhsearch_binary_path, + 'Path to the HHsearch executable.') +-flags.DEFINE_string('kalign_binary_path', '/usr/bin/kalign', ++flags.DEFINE_string('kalign_binary_path', kalign_binary_path, + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniclust30_database_path', None, 'Path to the Uniclust30 ' ++flags.DEFINE_string('uniclust30_database_path', uniclust30_database_path, 'Path to the Uniclust30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('preset', 'full_dbs', ['full_dbs', 'casp14'], +@@ -268,16 +307,8 @@ if __name__ == '__main__': + 'fasta_paths', + 'output_dir', + 'model_names', +- 'data_dir', + 'preset', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'uniclust30_database_path', +- 'bfd_database_path', +- 'pdb70_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-packages.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-packages.patch new file mode 100644 index 00000000000..f42a59513e1 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-packages.patch @@ -0,0 +1,13 @@ +also include alphafold.data.tools and alphafold.model.tf, which are not picked up by find_packages() +author: Kenneth Hoste (HPC-UGent) +--- alphafold-2.0.0/setup.py.orig 2021-08-14 08:42:43.030919330 +0200 ++++ alphafold-2.0.0/setup.py 2021-08-14 08:43:59.183245602 +0200 +@@ -26,7 +26,7 @@ + author_email='alphafold@deepmind.com', + license='Apache License, Version 2.0', + url='https://github.com/deepmind/alphafold', +- packages=find_packages(), ++ packages=find_packages() + ['alphafold/data/tools', 'alphafold/model/tf'], + install_requires=[ + 'absl-py', + 'biopython', diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-scp-path.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-scp-path.patch new file mode 100644 index 00000000000..c44ee6be008 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_fix-scp-path.patch @@ -0,0 +1,23 @@ +fix path to stereo_chemical_props.txt when AlphaFold is installed with EasyBuild +author: Kenneth Hoste (HPC-UGent) +diff --git a/alphafold/common/residue_constants.py b/alphafold/common/residue_constants.py +index 318b44a..fd840e3 100644 +--- a/alphafold/common/residue_constants.py ++++ b/alphafold/common/residue_constants.py +@@ -19,6 +19,7 @@ import functools + from typing import Mapping, List, Tuple + + import numpy as np ++import os + import tree + + # Internal import (35fd). +@@ -403,7 +404,7 @@ def load_stereo_chemical_props() -> Tuple[Mapping[str, List[Bond]], + residue_bond_angles: dict that maps resname --> list of BondAngle tuples + """ + stereo_chemical_props_path = ( +- 'alphafold/common/stereo_chemical_props.txt') ++ os.path.join(os.getenv('EBROOTALPHAFOLD', 'alphafold/common'), 'stereo_chemical_props.txt')) + with open(stereo_chemical_props_path, 'rt') as f: + stereo_chemical_props = f.read() + lines_iter = iter(stereo_chemical_props.splitlines()) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_n-cpu.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_n-cpu.patch new file mode 100644 index 00000000000..8849e17462c --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.0_n-cpu.patch @@ -0,0 +1,49 @@ +don't hardcode number of cores to use by HHBlits and Jackhmmer scripts; +see https://github.com/deepmind/alphafold/issues/110 +author: Kenneth Hoste (HPC-UGent) + +diff --git a/alphafold/data/tools/hhblits.py b/alphafold/data/tools/hhblits.py +index e0aa098..e624f3a 100644 +--- a/alphafold/data/tools/hhblits.py ++++ b/alphafold/data/tools/hhblits.py +@@ -27,6 +27,8 @@ from alphafold.data.tools import utils + _HHBLITS_DEFAULT_P = 20 + _HHBLITS_DEFAULT_Z = 500 + ++HHBLITS_N_CPU = os.getenv('ALPHAFOLD_HHBLITS_N_CPU', 4) ++ + + class HHBlits: + """Python wrapper of the HHblits binary.""" +@@ -35,7 +37,7 @@ class HHBlits: + *, + binary_path: str, + databases: Sequence[str], +- n_cpu: int = 4, ++ n_cpu: int = HHBLITS_N_CPU, + n_iter: int = 3, + e_value: float = 0.001, + maxseq: int = 1_000_000, +diff --git a/alphafold/data/tools/jackhmmer.py b/alphafold/data/tools/jackhmmer.py +index ae53df9..800bf99 100644 +--- a/alphafold/data/tools/jackhmmer.py ++++ b/alphafold/data/tools/jackhmmer.py +@@ -24,6 +24,9 @@ from alphafold.data.tools import utils + # Internal import (7716). + + ++JACKHMMER_N_CPU = os.getenv('ALPHAFOLD_JACKHMMER_N_CPU', 8) ++ ++ + class Jackhmmer: + """Python wrapper of the Jackhmmer binary.""" + +@@ -31,7 +34,7 @@ class Jackhmmer: + *, + binary_path: str, + database_path: str, +- n_cpu: int = 8, ++ n_cpu: int = JACKHMMER_N_CPU, + n_iter: int = 1, + e_value: float = 0.0001, + z_value: Optional[int] = None, diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-foss-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-foss-2020b.eb new file mode 100644 index 00000000000..8806522d263 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-foss-2020b.eb @@ -0,0 +1,181 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.0.1' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', '2.4.1'), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.0.1_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.0.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + ], + 'checksums': [ + 'b3dfdd3877343516f98bc49f8adbbb5101e8900524470816d4495a22ed986857', # v2.0.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '60c60abc254e713787843a1a53fcccefc56d242fa1cfa826701a5ff39227bd52', # AlphaFold-2.0.1_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '83dc82a8b1c647eb7e217aef683153e98a4fc7f871a85280976c92a1bfe28f27', # AlphaFold-2.0.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + # source tarball on PyPI is missing requirements.txt, + # see https://github.com/deepmind/dm-haiku/issues/44 + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + 'modulename': 'haiku', + }), + ('dm-tree', '0.1.6', { + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + 'modulename': 'tree', + }), + ('websocket-client', '1.2.1', { + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + 'modulename': 'websocket', + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + # see https://github.com/google/ml_collections/issues/7 + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..5c6a924e870 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1-fosscuda-2020b.eb @@ -0,0 +1,185 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.0.1' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', '2.4.1'), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] +configopts = "-DCUDA_CUDA_LIBRARY=${EBROOTCUDA}/lib64/stubs/libcuda.so " +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.0.1_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.0.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + ], + 'checksums': [ + 'b3dfdd3877343516f98bc49f8adbbb5101e8900524470816d4495a22ed986857', # v2.0.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '60c60abc254e713787843a1a53fcccefc56d242fa1cfa826701a5ff39227bd52', # AlphaFold-2.0.1_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '83dc82a8b1c647eb7e217aef683153e98a4fc7f871a85280976c92a1bfe28f27', # AlphaFold-2.0.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_data-dep-paths.patch new file mode 100644 index 00000000000..d5ab8482924 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_data-dep-paths.patch @@ -0,0 +1,147 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.0 -> 2.0.1: Thomas Hoffmann (EMBL); allow feature --preset=reduced_dbs +diff -ru alphafold-2.0.1/run_alphafold.py alphafold-2.0.1_data-dep-paths/run_alphafold.py +--- alphafold-2.0.1/run_alphafold.py 2021-09-10 14:34:22.000000000 +0200 ++++ alphafold-2.0.1_data-dep-paths/run_alphafold.py 2021-10-07 12:22:23.393621081 +0200 +@@ -1,3 +1,4 @@ ++#!/usr/bin/env python + # Copyright 2021 DeepMind Technologies Limited + # + # Licensed under the Apache License, Version 2.0 (the "License"); +@@ -36,6 +37,54 @@ + import numpy as np + # Internal import (7716). + ++use_reduced_dbs = any("--preset=reduced_dbs" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniclust30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniclust30_database_path = os.path.join(data_dir, 'uniclust30', 'uniclust30_2018_08', 'uniclust30_2018_08') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniclust30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ ++hmmer_root = os.getenv('EBROOTHMMER') ++if hmmer_root: ++ jackhmmer_binary_path = os.path.join(hmmer_root, 'bin', 'jackhmmer') ++else: ++ jackhmmer_binary_path = '/usr/bin/jackhmmer' ++ ++hhsuite_root = os.getenv('EBROOTHHMINSUITE') ++if hhsuite_root: ++ hhblits_binary_path = os.path.join(hhsuite_root, 'bin', 'hhblits') ++ hhsearch_binary_path = os.path.join(hhsuite_root, 'bin', 'hhsearch') ++else: ++ hhblits_binary_path = '/usr/bin/hhblits' ++ hhsearch_binary_path = '/usr/bin/hhsearch' ++ ++kalign_root = os.getenv('EBROOTKALIGN') ++if kalign_root: ++ kalign_binary_path = os.path.join(kalign_root, 'bin', 'kalign') ++else: ++ kalign_binary_path = '/usr/bin/kalign' ++ + flags.DEFINE_list('fasta_paths', None, 'Paths to FASTA files, each containing ' + 'one sequence. Paths should be separated by commas. ' + 'All FASTA paths must have a unique basename as the ' +@@ -44,32 +93,32 @@ + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_list('model_names', None, 'Names of models to use.') +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') +-flags.DEFINE_string('jackhmmer_binary_path', '/usr/bin/jackhmmer', ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') ++flags.DEFINE_string('jackhmmer_binary_path', jackhmmer_binary_path, + 'Path to the JackHMMER executable.') +-flags.DEFINE_string('hhblits_binary_path', '/usr/bin/hhblits', ++flags.DEFINE_string('hhblits_binary_path', hhblits_binary_path, + 'Path to the HHblits executable.') +-flags.DEFINE_string('hhsearch_binary_path', '/usr/bin/hhsearch', ++flags.DEFINE_string('hhsearch_binary_path', hhsearch_binary_path, + 'Path to the HHsearch executable.') +-flags.DEFINE_string('kalign_binary_path', '/usr/bin/kalign', ++flags.DEFINE_string('kalign_binary_path', kalign_binary_path, + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniclust30_database_path', None, 'Path to the Uniclust30 ' ++flags.DEFINE_string('uniclust30_database_path', uniclust30_database_path, 'Path to the Uniclust30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('preset', 'full_dbs', +@@ -89,7 +138,6 @@ + 'deterministic, because processes like GPU inference are ' + 'nondeterministic.') + FLAGS = flags.FLAGS +- + MAX_TEMPLATE_HITS = 20 + RELAX_MAX_ITERATIONS = 0 + RELAX_ENERGY_TOLERANCE = 2.39 +@@ -217,6 +265,9 @@ + raise app.UsageError('Too many command-line arguments.') + + use_small_bfd = FLAGS.preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniclust30_database_path = None + _check_flag('small_bfd_database_path', FLAGS.preset, + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', FLAGS.preset, +@@ -297,14 +348,8 @@ + 'fasta_paths', + 'output_dir', + 'model_names', +- 'data_dir', + 'preset', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'pdb70_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_relax_gpu.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_relax_gpu.patch new file mode 100644 index 00000000000..cb152af365a --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_relax_gpu.patch @@ -0,0 +1,41 @@ +# Thomas Hoffmann, EMLB Heidelberg, structures-it@embl.de, 2021/10 +# EricDeveaud, 050e84f993e4de05b6aede7ea2e189b10e335d0e: allow to run amber_minimize.py on CPU (default) or GPU +diff -ru alphafold-2.0.1/alphafold/relax/amber_minimize.py alphafold_relax_gpu/alphafold/relax/amber_minimize.py +--- alphafold-2.0.1/alphafold/relax/amber_minimize.py 2021-09-10 14:34:22.000000000 +0200 ++++ alphafold_relax_gpu/alphafold/relax/amber_minimize.py 2021-10-15 16:01:51.702378793 +0200 +@@ -15,6 +15,7 @@ + """Restrained Amber Minimization of a structure.""" + + import io ++import os + import time + from typing import Collection, Optional, Sequence + +@@ -35,6 +36,8 @@ + ENERGY = unit.kilocalories_per_mole + LENGTH = unit.angstroms + ++#--- allow to run ambermininmize on selected platform CPU//GPU ++OPENMM_PLATFORM=os.environ.get('OPENMM_RELAX', 'CPU') + + def will_restrain(atom: openmm_app.Atom, rset: str) -> bool: + """Returns True if the atom will be restrained by the given restraint set.""" +@@ -90,7 +93,7 @@ + _add_restraints(system, pdb, stiffness, restraint_set, exclude_residues) + + integrator = openmm.LangevinIntegrator(0, 0.01, 0.0) +- platform = openmm.Platform.getPlatformByName("CPU") ++ platform = openmm.Platform.getPlatformByName(OPENMM_PLATFORM) + simulation = openmm_app.Simulation( + pdb.topology, system, integrator, platform) + simulation.context.setPositions(pdb.positions) +@@ -530,7 +533,7 @@ + simulation = openmm_app.Simulation(openmm_pdbs[0].topology, + system, + openmm.LangevinIntegrator(0, 0.01, 0.0), +- openmm.Platform.getPlatformByName("CPU")) ++ openmm.Platform.getPlatformByName(OPENMM_PLATFORM)) + energies = [] + for pdb in openmm_pdbs: + try: +Only in alphafold_relax_gpu: .git diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_setup_rm_tfcpu.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_setup_rm_tfcpu.patch new file mode 100644 index 00000000000..04c18169b24 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.0.1_setup_rm_tfcpu.patch @@ -0,0 +1,15 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/09 +# change requirements in setup.py from tensorflow-cpu to tensorflow. +diff -ru alphafold-1d43aaff941c84dc56311076b58795797e49107b/setup.py alphafold-1d43aaff941c84dc56311076b58795797e49107b_setup_py_remove_tfcpu/setup.py +--- alphafold-1d43aaff941c84dc56311076b58795797e49107b/setup.py 2021-09-10 14:34:22.000000000 +0200 ++++ alphafold-1d43aaff941c84dc56311076b58795797e49107b_setup_py_remove_tfcpu/setup.py 2021-09-20 11:13:44.817481819 +0200 +@@ -39,7 +39,7 @@ + 'ml-collections', + 'numpy', + 'scipy', +- 'tensorflow-cpu', ++ 'tensorflow', + ], + tests_require=['mock'], + classifiers=[ +Only in alphafold-1d43aaff941c84dc56311076b58795797e49107b_setup_py_remove_tfcpu: .setup.py.swo diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_data-dep-paths.patch new file mode 100644 index 00000000000..f07d4e276b3 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_data-dep-paths.patch @@ -0,0 +1,124 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.1 -> 2.1.0: Thomas Hoffmann (EMBL); +diff -ru alphafold-2.1.1/run_alphafold.py alphafold-2.1.1_data-dep-paths/run_alphafold.py +--- alphafold-2.1.1/run_alphafold.py 2021-11-05 10:38:51.000000000 +0100 ++++ alphafold-2.1.1_data-dep-paths/run_alphafold.py 2021-11-08 14:18:45.264272641 +0100 +@@ -40,6 +40,45 @@ + + from alphafold.model import data + # Internal import (7716). ++use_reduced_dbs = any("--db_preset=reduced_dbs" in s for s in sys.argv[1:]) ++use_monomer_preset = not any("--model_preset=multimer" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++ ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters_2018_12.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniclust30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniclust30_database_path = os.path.join(data_dir, 'uniclust30', 'uniclust30_2018_08', 'uniclust30_2018_08') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniclust30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None ++ + + logging.set_verbosity(logging.INFO) + +@@ -56,7 +95,7 @@ + 'where it is not, or where the origin is unknown. These values determine ' + 'the pairing method for the MSA.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -71,27 +110,27 @@ + 'Path to the hmmbuild executable.') + flags.DEFINE_string('kalign_binary_path', shutil.which('kalign'), + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniclust30_database_path', None, 'Path to the Uniclust30 ' ++flags.DEFINE_string('uniclust30_database_path', uniclust30_database_path, 'Path to the Uniclust30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' + 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' ++flags.DEFINE_string('pdb_seqres_database_path', pdb_seqres_database_path, 'Path to the PDB ' + 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('db_preset', 'full_dbs', +@@ -281,6 +320,9 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniclust30_database_path = None + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -416,12 +458,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_fix-scp-path.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_fix-scp-path.patch new file mode 100644 index 00000000000..849ee5120b3 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.0_fix-scp-path.patch @@ -0,0 +1,15 @@ +fix path to stereo_chemical_props.txt when AlphaFold is installed with EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.0 -> 2.1.0: Thomas Hoffmann (EMBL Heidelberg) +diff -ru alphafold-2.1.0/alphafold/common/residue_constants.py alphafold-2.1.0_fix-scp-path/alphafold/common/residue_constants.py +--- alphafold-2.1.0/alphafold/common/residue_constants.py 2021-11-02 15:33:58.000000000 +0100 ++++ alphafold-2.1.0_fix-scp-path/alphafold/common/residue_constants.py 2021-11-03 09:57:23.162319184 +0100 +@@ -404,7 +404,7 @@ + residue_bond_angles: Dict that maps resname -> list of BondAngle tuples. + """ + stereo_chemical_props_path = os.path.join( +- os.path.dirname(os.path.abspath(__file__)), 'stereo_chemical_props.txt' ++ os.path.join(os.getenv('EBROOTALPHAFOLD', 'alphafold/common'), 'stereo_chemical_props.txt') + ) + with open(stereo_chemical_props_path, 'rt') as f: + stereo_chemical_props = f.read() diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..1cff76362a0 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.1-fosscuda-2020b.eb @@ -0,0 +1,191 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.1' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', '2.4.1'), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.0_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.0.1_relax_gpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + '1adb6e213ba9ac321fc1acb1c563ba9b4fc054c1cebe1191bc0e2aaa671dadf7', # v2.1.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + 'ecd1b240fdcd30110879dc4a88880405ae3fafb0f93f95f14fe30f6562148e13', # AlphaFold-2.1.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + '3b9ee75aba872d912e2bca401a794054d652d47fb9e87e53e99781cef3c3091f', # AlphaFold-2.0.0_relax_gpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..c9603b16d64 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,187 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s' % local_tf_version + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0',), + ('HMMER', '3.3.2',), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..1a85d18683e --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,165 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.24', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb new file mode 100644 index 00000000000..bb289e74a36 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-foss-2021a.eb @@ -0,0 +1,155 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.2.24'), # also provides absl-py + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..2dcc49bc3ad --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,193 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.1.2' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s' % local_tf_version + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + # CMake/Doxygen/SWIG are required for building OpenMM + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), + ('Biopython', '1.78'), + ('HH-suite', '3.3.0',), + ('HMMER', '3.3.2',), + ('Kalign', '3.3.1'), + ('jax', '0.2.19'), # also provides absl-py +] + +local_openmm_preinstallopts = "export OPENMM_INCLUDE_PATH=%(installdir)s/include && " +local_openmm_preinstallopts += " export OPENMM_LIB_PATH=%(installdir)s/lib && " + +# required to install OpenMM Python API; +# avoid that setup.py partially uninstalls existing OpenMM Python bindings... +local_openmm_installopts = " && cd python && sed -i 's/uninstall()/pass/g' setup.py && " +local_openmm_installopts += "python setup.py build && python setup.py install --prefix=%(installdir)s" + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + # for simtk + ('OpenMM', '7.5.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/openmm/openmm/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'patches': [('OpenMM-%(version)s_AlphaFold.patch', 'wrappers/python')], + 'checksums': [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # OpenMM-7.5.1.tar.gz + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', # OpenMM-7.5.1_AlphaFold.patch + ], + 'start_dir': 'openmm-%(version)s', + 'preinstallopts': local_openmm_preinstallopts, + 'installopts': local_openmm_installopts, + }), + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.1_fix-alphafold-tests.patch', + ], + 'checksums': [ + 'a687d5de2dfb3516113e1e438871adec1292fc64fddd76253d65db9c80308073', # v2.1.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.1_fix-alphafold-tests.patch + '1e3f5a7359c46ec27c37043ddc33267e363112c455a5d85f49adb55bb9714588', + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('chex', '0.0.8', { + 'checksums': ['d6ce1329470116b6f172a72b1131bfd4d11fb7eb465e6077c3b36224b5b09fe4'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('docker', '5.0.0', { + 'checksums': ['3e8bc47534e0ca9331d72c32f2881bb13b93ded0bcdeab3c833fb7cf61c0a9a5'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'lib/libOpenMM.%s' % SHLIB_EXT, + 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextrapaths = { + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + # these allow to make predictions on proteins that would typically be too long to fit into GPU memory; + # see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 + 'OPENMM_RELAX': 'CUDA', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch new file mode 100644 index 00000000000..d89b1356f6c --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1.2_data-dep-paths.patch @@ -0,0 +1,134 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.1 -> 2.1.0/2.1.2: Thomas Hoffmann (EMBL); +diff -ru alphafold-2.1.2/run_alphafold.py AlphaFold-2.1.2_data-dep-paths.patch/run_alphafold.py +--- alphafold-2.1.2/run_alphafold.py 2022-01-27 15:41:09.000000000 +0100 ++++ AlphaFold-2.1.2_data-dep-paths.patch/run_alphafold.py 2022-02-01 13:14:14.417024919 +0100 +@@ -40,6 +40,45 @@ + import numpy as np + + # Internal import (7716). ++use_reduced_dbs = any("--db_preset=reduced_dbs" in s for s in sys.argv[1:]) ++use_monomer_preset = not any("--model_preset=multimer" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++use_gpu_relax = os.getenv('OPENMM_RELAX')=='CUDA' ++ ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters_2018_12.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniclust30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniclust30_database_path = os.path.join(data_dir, 'uniclust30', 'uniclust30_2018_08', 'uniclust30_2018_08') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniclust30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None + + logging.set_verbosity(logging.INFO) + +@@ -56,7 +95,7 @@ + 'where it is not, or where the origin is unknown. These values determine ' + 'the pairing method for the MSA.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -71,27 +110,27 @@ + 'Path to the hmmbuild executable.') + flags.DEFINE_string('kalign_binary_path', shutil.which('kalign'), + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniclust30_database_path', None, 'Path to the Uniclust30 ' ++flags.DEFINE_string('uniclust30_database_path', uniclust30_database_path, 'Path to the Uniclust30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' + 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' ++flags.DEFINE_string('pdb_seqres_database_path', pdb_seqres_database_path, 'Path to the PDB ' + 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('db_preset', 'full_dbs', +@@ -125,7 +164,7 @@ + 'result in predictions with distracting stereochemical ' + 'violations but might help in case you are having issues ' + 'with the relaxation stage.') +-flags.DEFINE_boolean('use_gpu_relax', None, 'Whether to relax on GPU. ' ++flags.DEFINE_boolean('use_gpu_relax', use_gpu_relax, 'Whether to relax on GPU. ' + 'Relax on GPU can be much faster than CPU, so it is ' + 'recommended to enable if possible. GPUs must be available' + ' if this setting is enabled.') +@@ -294,6 +333,9 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniclust30_database_path = None + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -433,13 +475,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', +- 'use_gpu_relax', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch new file mode 100644 index 00000000000..13083a331d4 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.1_fix-alphafold-tests.patch @@ -0,0 +1,23 @@ +Fix `run_alphafold_test.py` to use an unique directory per test to avoid pollution when the tests are run multiple times +See https://github.com/deepmind/alphafold/issues/365 +Patch by Simon Branford (University of Birmingham) +--- run_alphafold_test.py.orig 2022-02-13 11:09:48.465041000 +0000 ++++ run_alphafold_test.py 2022-02-13 12:02:17.963970000 +0000 +@@ -59,14 +59,13 @@ + model_runner_mock.multimer_mode = False + amber_relaxer_mock.process.return_value = ('RELAXED', None, None) + +- fasta_path = os.path.join(absltest.get_default_test_tmpdir(), +- 'target.fasta') ++ out_dir = self.create_tempdir().full_path ++ ++ fasta_path = os.path.join(out_dir, 'target.fasta') + with open(fasta_path, 'wt') as f: + f.write('>A\nAAAAAAAAAAAAA') + fasta_name = 'test' + +- out_dir = absltest.get_default_test_tmpdir() +- + run_alphafold.predict_structure( + fasta_path=fasta_path, + fasta_name=fasta_name, diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..b6993861962 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,168 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.3.9', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.2.2_jax038_NaN.patch', + ], + 'checksums': [ + 'aa51dc4a1150b92310d20e63e9e4d9279b15b6a1f7e664360f52827f83256cdd', # v2.2.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + '0b040ba99208cd9ad79b7d17db5720f7a447a019ac0ca786b3b019a55d1544e0', # AlphaFold-2.2.2_jax038_NaN.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.2', { + 'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'], + }), + ('chex', '0.1.3', { + 'checksums': ['2cfa6ccd02addd6b113658d03bd5ce8a7b3bd24fa62e746a246073414ea1e103'], + }), + ('tabulate', '0.8.10', { + 'checksums': ['6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519'], + }), + ('jmp', '0.0.2', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['fdb5cec0d10aab4116c2770f24b2adf4f503fcfbb96ce8ef583e1879bdbf1b9b'], + }), + ('dm-haiku', '0.0.6', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bb038d7b6eae50ad8b59aecaad7b26180261f155c9a789d071133cb2596dc616'], + }), + ('dm-tree', '0.1.7', { + 'modulename': 'tree', + 'checksums': ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a'], + }), + ('websocket-client', '1.3.3', { + 'modulename': 'websocket', + 'checksums': ['d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('immutabledict', '2.2.1', { + 'checksums': ['1ddb0edf1bb6c70d0197eb90ce1fe2b2d58502334f5fdfde72d7c633d723ec3a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '4.0', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a.eb new file mode 100644 index 00000000000..749bb12b07b --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2-foss-2021a.eb @@ -0,0 +1,158 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.2.2' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.6.0'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('jax', '0.3.9'), # also provides absl-py + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.1.2_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.2.2_jax038_NaN.patch', + ], + 'checksums': [ + 'aa51dc4a1150b92310d20e63e9e4d9279b15b6a1f7e664360f52827f83256cdd', # v2.2.2.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '6af91706b2a001494ddc0947f89f8b3d3adfcc26177c373824fe8ea1a58c0b48', # AlphaFold-2.1.2_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + '0b040ba99208cd9ad79b7d17db5720f7a447a019ac0ca786b3b019a55d1544e0', # AlphaFold-2.2.2_jax038_NaN.patch + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.2', { + 'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'], + }), + ('chex', '0.1.3', { + 'checksums': ['2cfa6ccd02addd6b113658d03bd5ce8a7b3bd24fa62e746a246073414ea1e103'], + }), + ('tabulate', '0.8.10', { + 'checksums': ['6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519'], + }), + ('jmp', '0.0.2', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['fdb5cec0d10aab4116c2770f24b2adf4f503fcfbb96ce8ef583e1879bdbf1b9b'], + }), + ('dm-haiku', '0.0.6', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bb038d7b6eae50ad8b59aecaad7b26180261f155c9a789d071133cb2596dc616'], + }), + ('dm-tree', '0.1.7', { + 'modulename': 'tree', + 'checksums': ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a'], + }), + ('websocket-client', '1.3.3', { + 'modulename': 'websocket', + 'checksums': ['d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('immutabledict', '2.2.1', { + 'checksums': ['1ddb0edf1bb6c70d0197eb90ce1fe2b2d58502334f5fdfde72d7c633d723ec3a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2_jax038_NaN.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2_jax038_NaN.patch new file mode 100644 index 00000000000..673945afa22 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.2.2_jax038_NaN.patch @@ -0,0 +1,16 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de +# Resulting pdb files contain NaNs because jax >= 0.3.8 is used. +# Fix according to https://github.com/deepmind/alphafold/issues/513 and +# https://jax.readthedocs.io/en/latest/changelog.html#jax-0-3-8-april-29-2022 +diff -ru alphafold-2.2.2/alphafold/model/utils.py alphafold-2.2.2_jax38_NaN/alphafold/model/utils.py +--- alphafold-2.2.2/alphafold/model/utils.py 2022-06-13 17:49:22.000000000 +0200 ++++ alphafold-2.2.2_jax38_NaN/alphafold/model/utils.py 2022-07-18 10:17:59.672423061 +0200 +@@ -34,7 +34,7 @@ + + def batched_gather(params, indices, axis=0, batch_dims=0): + """Implements a JAX equivalent of `tf.gather` with `axis` and `batch_dims`.""" +- take_fn = lambda p, i: jnp.take(p, i, axis=axis) ++ take_fn = lambda p, i: jnp.take(p, i, axis=axis, mode="clip") + for _ in range(batch_dims): + take_fn = jax.vmap(take_fn) + return take_fn(params, indices) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..b37b644450f --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '3.7.2'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('CUDA', '11.4.1', '', SYSTEM), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('TensorFlow', '2.7.1', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.2'), + ('jax', '0.3.23', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.11.2', versionsuffix), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('OpenMM', '7.5.1', '%(versionsuffix)s-DeepMind-patch'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.3.0_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + ], + 'checksums': [ + '52055a0b4bf194ae0e1960e6391e501490f82274c975e01c1ff0e353a1cd59d9', # v2.3.0.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '5cff3fc7104e020ef546d23cb4fb1b8d6517562783f055cc55fc65fe2b0248d0', # AlphaFold-2.3.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('toolz', '0.11.2', { + 'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('tabulate', '0.8.10', { + 'checksums': ['6c57f3f3dd7ac2782770155f3adb2db0b1a269637e42f27599925e64b114f519'], + }), + ('jmp', '0.0.2', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['fdb5cec0d10aab4116c2770f24b2adf4f503fcfbb96ce8ef583e1879bdbf1b9b'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.7', { + 'modulename': 'tree', + 'checksums': ['30fec8aca5b92823c0e796a2f33b875b4dccd470b57e91e6c542405c5f77fd2a'], + }), + ('websocket-client', '1.3.3', { + 'modulename': 'websocket', + 'checksums': ['d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('immutabledict', '2.2.1', { + 'checksums': ['1ddb0edf1bb6c70d0197eb90ce1fe2b2d58502334f5fdfde72d7c633d723ec3a'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold*.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m simtk.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '3', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0_data-dep-paths.patch new file mode 100644 index 00000000000..20a40b14f2b --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.0_data-dep-paths.patch @@ -0,0 +1,136 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.1 -> 2.1.0/2.1.2/2.3.0: Thomas Hoffmann (EMBL); +diff -ru alphafold-2.3.0/run_alphafold.py alphafold-2.3.0_data-dep-paths/run_alphafold.py +--- alphafold-2.3.0/run_alphafold.py 2022-12-11 20:36:44.000000000 +0100 ++++ alphafold-2.3.0_data-dep-paths/run_alphafold.py 2022-12-13 17:36:37.258678676 +0100 +@@ -40,6 +40,46 @@ + import numpy as np + + # Internal import (7716). ++use_reduced_dbs = any("--db_preset=reduced_dbs" in s for s in sys.argv[1:]) ++use_monomer_preset = not any("--model_preset=multimer" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++use_gpu_relax = os.getenv('OPENMM_RELAX')=='CUDA' ++ ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters_2022_05.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniref30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniref30_database_path = os.path.join(data_dir, 'uniref30', 'UniRef30_2021_03') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniref30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None ++ use_gpu_relax = None + + logging.set_verbosity(logging.INFO) + +@@ -50,7 +90,7 @@ + 'separated by commas. All FASTA paths must have a unique basename as the ' + 'basename is used to name the output directories for each prediction.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -65,27 +105,27 @@ + 'Path to the hmmbuild executable.') + flags.DEFINE_string('kalign_binary_path', shutil.which('kalign'), + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniref30_database_path', None, 'Path to the UniRef30 ' ++flags.DEFINE_string('uniref30_database_path', uniref30_database_path, 'Path to the UniRef30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' + 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' ++flags.DEFINE_string('pdb_seqres_database_path', pdb_seqres_database_path, 'Path to the PDB ' + 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('db_preset', 'full_dbs', +@@ -124,7 +164,7 @@ + 'result in predictions with distracting stereochemical ' + 'violations but might help in case you are having issues ' + 'with the relaxation stage.') +-flags.DEFINE_boolean('use_gpu_relax', None, 'Whether to relax on GPU. ' ++flags.DEFINE_boolean('use_gpu_relax', use_gpu_relax, 'Whether to relax on GPU. ' + 'Relax on GPU can be much faster than CPU, so it is ' + 'recommended to enable if possible. GPUs must be available' + ' if this setting is enabled.') +@@ -296,6 +336,10 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniref30_database_path = None ++ + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -420,13 +464,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', +- 'use_gpu_relax', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6dc2fe0aa60 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,169 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '5.1.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.11.0', versionsuffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('jax', '0.3.25', versionsuffix), # also provides absl-py + ('UCX-CUDA', '1.12.1', versionsuffix), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('OpenMM', '8.0.0', versionsuffix), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.3.0_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.3.1_use_openmm_7.7.0.patch', + ], + 'checksums': [ + '1161b2609fa896b16399b900ec2b813e5a0b363fe4e2b26bd826953ba234736a', # v2.3.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '5cff3fc7104e020ef546d23cb4fb1b8d6517562783f055cc55fc65fe2b0248d0', # AlphaFold-2.3.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.3.1_use_openmm_7.7.0.patch + 'd800bb085deac7edbe2d72916c1194043964aaf51b88a3b5a5016ab68a1090ec', + + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('immutabledict', '2.2.3', { + 'checksums': ['0e1e8a3f2b3ff062daa19795f947e9ec7a58add269d44e34d3ab4319e1343853'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold*.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m openmm.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '3', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a.eb new file mode 100644 index 00000000000..565504238bb --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1-foss-2022a.eb @@ -0,0 +1,159 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.1' + +homepage = 'https://deepmind.com/research/case-studies/alphafold' +description = "AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '5.1.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.11.0'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('jax', '0.3.25'), # also provides absl-py + ('OpenMM', '8.0.0'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/deepmind/alphafold/archive/refs/tags/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-2.0.0_fix-packages.patch', + 'AlphaFold-2.3.0_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-2.1.0_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.3.1_use_openmm_7.7.0.patch', + ], + 'checksums': [ + '1161b2609fa896b16399b900ec2b813e5a0b363fe4e2b26bd826953ba234736a', # v2.3.1.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + '826d2d1a5d6ac52c51a60ba210e1947d5631a1e2d76f8815305b5d23f74458db', # AlphaFold-2.0.0_fix-packages.patch + '5cff3fc7104e020ef546d23cb4fb1b8d6517562783f055cc55fc65fe2b0248d0', # AlphaFold-2.3.0_data-dep-paths.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', # AlphaFold-2.0.0_n-cpu.patch + '5363d403baf5ab73f4d3ddd72e19af9ff832de4b1d7ba25a5fbcc5846c1c890f', # AlphaFold-2.1.0_fix-scp-path.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', # AlphaFold-2.0.1_setup_rm_tfcpu.patch + # AlphaFold-2.3.1_use_openmm_7.7.0.patch + 'd800bb085deac7edbe2d72916c1194043964aaf51b88a3b5a5016ab68a1090ec', + + ], + 'start_dir': 'alphafold-%(version)s', + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('immutabledict', '2.2.3', { + 'checksums': ['0e1e8a3f2b3ff062daa19795f947e9ec7a58add269d44e34d3ab4319e1343853'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %(builddir)s/alphafold-%(version)s/run_alphafold.py >> %(installdir)s/bin/run_alphafold.py", + "chmod a+x %(installdir)s/bin/run_alphafold*.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %(builddir)s/alphafold-%(version)s/scripts %(installdir)s/", + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "python %(builddir)s/alphafold-%(version)s/run_alphafold_test.py", +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m openmm.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1_use_openmm_7.7.0.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1_use_openmm_7.7.0.patch new file mode 100644 index 00000000000..ff3aa457201 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.1_use_openmm_7.7.0.patch @@ -0,0 +1,240 @@ +# Add compatibility with OpenMM-7.7.0 +# The patch is based on the recipe from https://github.com/deepmind/alphafold/issues/404 +# Author: maxim-masterov (SURF) + +diff -Nru alphafold-2.3.1.orig/alphafold/relax/amber_minimize.py alphafold-2.3.1/alphafold/relax/amber_minimize.py +--- alphafold-2.3.1.orig/alphafold/relax/amber_minimize.py 2023-03-28 10:58:07.126241000 +0200 ++++ alphafold-2.3.1/alphafold/relax/amber_minimize.py 2023-03-28 11:24:17.380332000 +0200 +@@ -27,10 +27,10 @@ + import ml_collections + import numpy as np + import jax +-from simtk import openmm +-from simtk import unit +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import * ++from openmm import unit ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + ENERGY = unit.kilocalories_per_mole +@@ -47,7 +47,7 @@ + + + def _add_restraints( +- system: openmm.System, ++ system: System, + reference_pdb: openmm_app.PDBFile, + stiffness: unit.Unit, + rset: str, +diff -Nru alphafold-2.3.1.orig/alphafold/relax/cleanup.py alphafold-2.3.1/alphafold/relax/cleanup.py +--- alphafold-2.3.1.orig/alphafold/relax/cleanup.py 2023-03-28 10:58:07.126999000 +0200 ++++ alphafold-2.3.1/alphafold/relax/cleanup.py 2023-03-28 11:03:20.689464000 +0200 +@@ -20,8 +20,8 @@ + import io + + import pdbfixer +-from simtk.openmm import app +-from simtk.openmm.app import element ++from openmm import app ++from openmm.app import element + + + def fix_pdb(pdbfile, alterations_info): +diff -Nru alphafold-2.3.1.orig/alphafold/relax/cleanup_test.py alphafold-2.3.1/alphafold/relax/cleanup_test.py +--- alphafold-2.3.1.orig/alphafold/relax/cleanup_test.py 2023-03-28 10:58:07.127710000 +0200 ++++ alphafold-2.3.1/alphafold/relax/cleanup_test.py 2023-03-28 11:03:14.772207000 +0200 +@@ -17,7 +17,7 @@ + + from absl.testing import absltest + from alphafold.relax import cleanup +-from simtk.openmm.app.internal import pdbstructure ++from openmm.app.internal import pdbstructure + + + def _pdb_to_structure(pdb_str): +diff -Nru alphafold-2.3.1.orig/docker/Dockerfile alphafold-2.3.1/docker/Dockerfile +--- alphafold-2.3.1.orig/docker/Dockerfile 2023-03-28 10:58:07.081432000 +0200 ++++ alphafold-2.3.1/docker/Dockerfile 2023-03-28 11:04:09.608354000 +0200 +@@ -76,7 +76,6 @@ + + # Apply OpenMM patch. + WORKDIR /opt/conda/lib/python3.8/site-packages +-RUN patch -p0 < /app/alphafold/docker/openmm.patch + + # Add SETUID bit to the ldconfig binary so that non-root users can run it. + RUN chmod u+s /sbin/ldconfig.real +diff -Nru alphafold-2.3.1.orig/notebooks/AlphaFold.ipynb alphafold-2.3.1/notebooks/AlphaFold.ipynb +--- alphafold-2.3.1.orig/notebooks/AlphaFold.ipynb 2023-03-28 10:58:07.092241000 +0200 ++++ alphafold-2.3.1/notebooks/AlphaFold.ipynb 2023-03-28 11:04:51.464351000 +0200 +@@ -103,16 +103,16 @@ + " %shell rm -rf /opt/conda\n", + " %shell wget -q -P /tmp \\\n", + " https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \\\n", +- " \u0026\u0026 bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \\\n", +- " \u0026\u0026 rm /tmp/Miniconda3-latest-Linux-x86_64.sh\n", ++ " && bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \\\n", ++ " && rm /tmp/Miniconda3-latest-Linux-x86_64.sh\n", + " pbar.update(9)\n", + "\n", + " PATH=%env PATH\n", + " %env PATH=/opt/conda/bin:{PATH}\n", + " %shell conda install -qy conda==4.13.0 \\\n", +- " \u0026\u0026 conda install -qy -c conda-forge \\\n", ++ " && conda install -qy -c conda-forge \\\n", + " python=3.8 \\\n", +- " openmm=7.5.1 \\\n", ++ " openmm=7.7.0 \\\n", + " pdbfixer\n", + " pbar.update(80)\n", + "\n", +@@ -161,8 +161,7 @@ + " pbar.update(10)\n", + "\n", + " # Apply OpenMM patch.\n", +- " %shell pushd /opt/conda/lib/python3.8/site-packages/ \u0026\u0026 \\\n", +- " patch -p0 \u003c /content/alphafold/docker/openmm.patch \u0026\u0026 \\\n", ++ " %shell pushd /opt/conda/lib/python3.8/site-packages/ && \\\n", + " popd\n", + "\n", + " # Make sure stereo_chemical_props.txt is in all locations where it could be searched for.\n", +@@ -186,9 +185,9 @@ + "\n", + "import jax\n", + "if jax.local_devices()[0].platform == 'tpu':\n", +- " raise RuntimeError('Colab TPU runtime not supported. Change it to GPU via Runtime -\u003e Change Runtime Type -\u003e Hardware accelerator -\u003e GPU.')\n", ++ " raise RuntimeError('Colab TPU runtime not supported. Change it to GPU via Runtime -> Change Runtime Type -> Hardware accelerator -> GPU.')\n", + "elif jax.local_devices()[0].platform == 'cpu':\n", +- " raise RuntimeError('Colab CPU runtime not supported. Change it to GPU via Runtime -\u003e Change Runtime Type -\u003e Hardware accelerator -\u003e GPU.')\n", ++ " raise RuntimeError('Colab CPU runtime not supported. Change it to GPU via Runtime -> Change Runtime Type -> Hardware accelerator -> GPU.')\n", + "else:\n", + " print(f'Running with {jax.local_devices()[0].device_kind} GPU')\n", + "\n", +@@ -206,7 +205,7 @@ + "source": [ + "## Making a prediction\n", + "\n", +- "Please paste the sequence of your protein in the text box below, then run the remaining cells via _Runtime_ \u003e _Run after_. You can also run the cells individually by pressing the _Play_ button on the left.\n", ++ "Please paste the sequence of your protein in the text box below, then run the remaining cells via _Runtime_ > _Run after_. You can also run the cells individually by pressing the _Play_ button on the left.\n", + "\n", + "Note that the search against databases and the actual prediction can take some time, from minutes to hours, depending on the length of the protein and what type of GPU you are allocated by Colab (see FAQ below)." + ] +@@ -298,21 +297,21 @@ + "\n", + "# Check whether total length exceeds limit.\n", + "total_sequence_length = sum([len(seq) for seq in sequences])\n", +- "if total_sequence_length \u003e MAX_LENGTH:\n", ++ "if total_sequence_length > MAX_LENGTH:\n", + " raise ValueError('The total sequence length is too long: '\n", + " f'{total_sequence_length}, while the maximum is '\n", + " f'{MAX_LENGTH}.')\n", + "\n", + "# Check whether we exceed the monomer limit.\n", + "if model_type_to_use == ModelType.MONOMER:\n", +- " if len(sequences[0]) \u003e MAX_MONOMER_MODEL_LENGTH:\n", ++ " if len(sequences[0]) > MAX_MONOMER_MODEL_LENGTH:\n", + " raise ValueError(\n", + " f'Input sequence is too long: {len(sequences[0])} amino acids, while '\n", + " f'the maximum for the monomer model is {MAX_MONOMER_MODEL_LENGTH}. You may '\n", + " 'be able to run this sequence with the multimer model by selecting the '\n", + " 'use_multimer_model_for_monomers checkbox above.')\n", + " \n", +- "if total_sequence_length \u003e MAX_VALIDATED_LENGTH:\n", ++ "if total_sequence_length > MAX_VALIDATED_LENGTH:\n", + " print('WARNING: The accuracy of the system has not been fully validated '\n", + " 'above 3000 residues, and you may experience long running times or '\n", + " f'run out of memory. Total sequence length is {total_sequence_length} '\n", +@@ -407,7 +406,7 @@ + "]\n", + "\n", + "# Search UniProt and construct the all_seq features only for heteromers, not homomers.\n", +- "if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) \u003e 1:\n", ++ "if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) > 1:\n", + " MSA_DATABASES.extend([\n", + " # Swiss-Prot and TrEMBL are concatenated together as UniProt.\n", + " {'db_name': 'uniprot',\n", +@@ -441,7 +440,7 @@ + " for sequence_index, sequence in enumerate(sorted(set(sequences)), 1):\n", + " fasta_path = f'target_{sequence_index:02d}.fasta'\n", + " with open(fasta_path, 'wt') as f:\n", +- " f.write(f'\u003equery\\n{sequence}')\n", ++ " f.write(f'>query\\n{sequence}')\n", + " sequence_to_fasta_path[sequence] = fasta_path\n", + "\n", + " # Run the search against chunks of genetic databases (since the genetic\n", +@@ -502,7 +501,7 @@ + " num_templates=0, num_res=len(sequence)))\n", + "\n", + " # Construct the all_seq features only for heteromers, not homomers.\n", +- " if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) \u003e 1:\n", ++ " if model_type_to_use == ModelType.MULTIMER and len(set(sequences)) > 1:\n", + " valid_feats = msa_pairing.MSA_FEATURES + (\n", + " 'msa_species_identifiers',\n", + " )\n", +@@ -662,7 +661,7 @@ + "banded_b_factors = []\n", + "for plddt in plddts[best_model_name]:\n", + " for idx, (min_val, max_val, _) in enumerate(PLDDT_BANDS):\n", +- " if plddt \u003e= min_val and plddt \u003c= max_val:\n", ++ " if plddt >= min_val and plddt <= max_val:\n", + " banded_b_factors.append(idx)\n", + " break\n", + "banded_b_factors = np.array(banded_b_factors)[:, None] * final_atom_mask\n", +@@ -675,14 +674,14 @@ + " f.write(relaxed_pdb)\n", + "\n", + "\n", +- "# --- Visualise the prediction \u0026 confidence ---\n", ++ "# --- Visualise the prediction & confidence ---\n", + "show_sidechains = True\n", + "def plot_plddt_legend():\n", + " \"\"\"Plots the legend for pLDDT.\"\"\"\n", +- " thresh = ['Very low (pLDDT \u003c 50)',\n", +- " 'Low (70 \u003e pLDDT \u003e 50)',\n", +- " 'Confident (90 \u003e pLDDT \u003e 70)',\n", +- " 'Very high (pLDDT \u003e 90)']\n", ++ " thresh = ['Very low (pLDDT < 50)',\n", ++ " 'Low (70 > pLDDT > 50)',\n", ++ " 'Confident (90 > pLDDT > 70)',\n", ++ " 'Very high (pLDDT > 90)']\n", + "\n", + " colors = [x[2] for x in PLDDT_BANDS]\n", + "\n", +@@ -796,13 +795,13 @@ + "id": "jeb2z8DIA4om" + }, + "source": [ +- "## FAQ \u0026 Troubleshooting\n", ++ "## FAQ & Troubleshooting\n", + "\n", + "\n", + "* How do I get a predicted protein structure for my protein?\n", + " * Click on the _Connect_ button on the top right to get started.\n", + " * Paste the amino acid sequence of your protein (without any headers) into the “Enter the amino acid sequence to fold”.\n", +- " * Run all cells in the Colab, either by running them individually (with the play button on the left side) or via _Runtime_ \u003e _Run all._ Make sure you run all 5 cells in order.\n", ++ " * Run all cells in the Colab, either by running them individually (with the play button on the left side) or via _Runtime_ > _Run all._ Make sure you run all 5 cells in order.\n", + " * The predicted protein structure will be downloaded once all cells have been executed. Note: This can take minutes to hours - see below.\n", + "* How long will this take?\n", + " * Downloading the AlphaFold source code can take up to a few minutes.\n", +@@ -811,8 +810,8 @@ + " * Running AlphaFold and generating the prediction can take minutes to hours, depending on the length of your protein and on which GPU-type Colab has assigned you.\n", + "* My Colab no longer seems to be doing anything, what should I do?\n", + " * Some steps may take minutes to hours to complete.\n", +- " * If nothing happens or if you receive an error message, try restarting your Colab runtime via _Runtime_ \u003e _Restart runtime_.\n", +- " * If this doesn’t help, try resetting your Colab runtime via _Runtime_ \u003e _Factory reset runtime_.\n", ++ " * If nothing happens or if you receive an error message, try restarting your Colab runtime via _Runtime_ > _Restart runtime_.\n", ++ " * If this doesn’t help, try resetting your Colab runtime via _Runtime_ > _Factory reset runtime_.\n", + "* How does this compare to the open-source version of AlphaFold?\n", + " * This Colab version of AlphaFold searches a selected portion of the BFD dataset and currently doesn’t use templates, so its accuracy is reduced in comparison to the full version of AlphaFold that is described in the [AlphaFold paper](https://doi.org/10.1038/s41586-021-03819-2) and [Github repo](https://github.com/deepmind/alphafold/) (the full version is available via the inference script).\n", + "* What is a Colab?\n", +@@ -821,7 +820,7 @@ + " * The resources allocated to your Colab vary. See the [Colab FAQ](https://research.google.com/colaboratory/faq.html) for more details.\n", + " * You can execute the Colab nonetheless.\n", + "* I received an error “Colab CPU runtime not supported” or “No GPU/TPU found”, what do I do?\n", +- " * Colab CPU runtime is not supported. Try changing your runtime via _Runtime_ \u003e _Change runtime type_ \u003e _Hardware accelerator_ \u003e _GPU_.\n", ++ " * Colab CPU runtime is not supported. Try changing your runtime via _Runtime_ > _Change runtime type_ > _Hardware accelerator_ > _GPU_.\n", + " * The type of GPU allocated to your Colab varies. See the [Colab FAQ](https://research.google.com/colaboratory/faq.html) for more details.\n", + " * If you receive “Cannot connect to GPU backend”, you can try again later to see if Colab allocates you a GPU.\n", + " * [Colab Pro](https://colab.research.google.com/signup) offers priority access to GPUs.\n", diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-CUDA-11.7.0-ColabFold.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-CUDA-11.7.0-ColabFold.eb new file mode 100644 index 00000000000..0842216c4e9 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-CUDA-11.7.0-ColabFold.eb @@ -0,0 +1,178 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.4' +_colab_suffix = '-ColabFold' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = _cuda_suffix + _colab_suffix +_commit = '41807ea2c75706cf03f790f06ca191dc04331e41' + +homepage = 'https://github.com/sokrypton/alphafold' +description = """ +AlphaFold can predict protein structures with atomic accuracy even where no +similar structure is known. +This package of AlphaFold contains patches for ColabFold.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '5.1.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.11.0', _cuda_suffix), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('jax', '0.3.25', _cuda_suffix), # also provides absl-py + ('UCX-CUDA', '1.12.1', _cuda_suffix), + ('cuDNN', '8.4.1.50', _cuda_suffix, SYSTEM), + ('NCCL', '2.12.12', _cuda_suffix), + ('OpenMM', '8.0.0', _cuda_suffix), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/sokrypton/alphafold/archive/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%s-%s.tar.gz' % (name.lower() + _colab_suffix.lower(), version) + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-ColabFold-2.3.4_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-ColabFold-2.3.4_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.3.1_use_openmm_7.7.0.patch', + ], + 'checksums': [ + 'be6778333fc110b8662b0e262798d6fc1663a14d9341469c6558b2d7771b8024', # alphafold-colabfold-2.3.4.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + # AlphaFold-ColabFold-2.3.4_data-dep-paths.patch + '3826e357c35a58b2c8c0fab41ac8ae1b4d4c135162fe47ded577a13dade0c6f3', + # AlphaFold-2.0.0_n-cpu.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', + # AlphaFold-ColabFold-2.3.4_fix-scp-path.patch + '07bf81f987bc1ab67b7d71121396449289d3ffb499cddb62a135574f2ca7115a', + # AlphaFold-2.0.1_setup_rm_tfcpu.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', + # AlphaFold-2.3.1_use_openmm_7.7.0.patch + 'd800bb085deac7edbe2d72916c1194043964aaf51b88a3b5a5016ab68a1090ec', + ], + 'start_dir': 'alphafold-%s' % _commit, + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('immutabledict', '2.2.3', { + 'checksums': ['0e1e8a3f2b3ff062daa19795f947e9ec7a58add269d44e34d3ab4319e1343853'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +_alphafold_buildir = '%%(builddir)s/%%(namelower)s-%s' % _commit + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %s/run_alphafold.py >> %%(installdir)s/bin/run_alphafold.py" % _alphafold_buildir, + "chmod a+x %(installdir)s/bin/run_alphafold*.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %s/scripts %%(installdir)s/" % _alphafold_buildir, + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%%(installdir)s/lib/python%%(pyshortver)s/site-packages:$PYTHONPATH " + "python %s/run_alphafold_test.py" % _alphafold_buildir, +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m openmm.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +# these allow to make predictions on proteins that would typically be too long to fit into GPU memory; +# see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py +modextravars = { + 'TF_FORCE_UNIFIED_MEMORY': '1', + 'XLA_PYTHON_CLIENT_MEM_FRACTION': '3', + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt, + 'OPENMM_RELAX': 'CUDA' # unset or set to 'CPU' in order not to run the energy minimization on GPU; PR#189 +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-ColabFold.eb b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-ColabFold.eb new file mode 100644 index 00000000000..614a7fe1e6e --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-2.3.4-foss-2022a-ColabFold.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'AlphaFold' +version = '2.3.4' +versionsuffix = '-ColabFold' +_commit = '41807ea2c75706cf03f790f06ca191dc04331e41' + +homepage = 'https://github.com/sokrypton/alphafold' +description = """ +AlphaFold can predict protein structures with atomic accuracy even where no +similar structure is known. +This package of AlphaFold contains patches for ColabFold.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + # required for installing dm-tree + ('Bazel', '5.1.1'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('TensorFlow', '2.11.0'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('jax', '0.3.25'), # also provides absl-py + ('OpenMM', '8.0.0'), +] + +# commit to use for downloading stereo_chemical_props.txt and copy to alphafold/common, +# see docker/Dockerfile in AlphaFold repository +local_scp_commit = '7102c6' + +components = [ + (name, version, { + 'easyblock': 'PythonPackage', + 'source_urls': [ + 'https://github.com/sokrypton/alphafold/archive/', + 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/%s/modules/mol/alg/src/' % local_scp_commit, + ], + 'sources': [ + { + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%s-%s.tar.gz' % (name.lower() + versionsuffix.lower(), version) + }, + { + 'download_filename': 'stereo_chemical_props.txt', + 'filename': 'stereo_chemical_props-%s.txt' % local_scp_commit, + 'extract_cmd': "cp %s .", + }, + ], + 'patches': [ + 'AlphaFold-ColabFold-2.3.4_data-dep-paths.patch', + 'AlphaFold-2.0.0_n-cpu.patch', + 'AlphaFold-ColabFold-2.3.4_fix-scp-path.patch', + 'AlphaFold-2.0.1_setup_rm_tfcpu.patch', + 'AlphaFold-2.3.1_use_openmm_7.7.0.patch', + ], + 'checksums': [ + 'be6778333fc110b8662b0e262798d6fc1663a14d9341469c6558b2d7771b8024', # alphafold-colabfold-2.3.4.tar.gz + '24510899eeb49167cffedec8fa45363a4d08279c0c637a403b452f7d0ac09451', # stereo_chemical_props-7102c6.txt + # AlphaFold-ColabFold-2.3.4_data-dep-paths.patch + '3826e357c35a58b2c8c0fab41ac8ae1b4d4c135162fe47ded577a13dade0c6f3', + # AlphaFold-2.0.0_n-cpu.patch + 'dfda4dd5f9aba19fe2b6eb9a0ec583d12dcefdfee8ab8803fc57ad48d582db04', + # AlphaFold-ColabFold-2.3.4_fix-scp-path.patch + '07bf81f987bc1ab67b7d71121396449289d3ffb499cddb62a135574f2ca7115a', + # AlphaFold-2.0.1_setup_rm_tfcpu.patch + '1a2e4e843bd9a4d15ee39e6c37cc63ba281311cc7a0a5610f0e43b52ef93faac', + # AlphaFold-2.3.1_use_openmm_7.7.0.patch + 'd800bb085deac7edbe2d72916c1194043964aaf51b88a3b5a5016ab68a1090ec', + ], + 'start_dir': 'alphafold-%s' % _commit, + 'use_pip': True, + }), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('immutabledict', '2.2.3', { + 'checksums': ['0e1e8a3f2b3ff062daa19795f947e9ec7a58add269d44e34d3ab4319e1343853'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +_alphafold_buildir = '%%(builddir)s/%%(namelower)s-%s' % _commit + +postinstallcmds = [ + "mkdir -p %(installdir)s/bin", + # run_alphafold.py script is missing a shebang... + "echo '#!/usr/bin/env python' > %(installdir)s/bin/run_alphafold.py", + "cat %s/run_alphafold.py >> %%(installdir)s/bin/run_alphafold.py" % _alphafold_buildir, + "chmod a+x %(installdir)s/bin/run_alphafold*.py", + "cd %(installdir)s/bin && ln -s run_alphafold.py alphafold", + "cp -a %s/scripts %%(installdir)s/" % _alphafold_buildir, + "cp %%(builddir)s/stereo_chemical_props-%s.txt %%(installdir)s/stereo_chemical_props.txt" % local_scp_commit, + # run tests for run_alphafold.py script; + # shouldn't do this in sanity check to avoid breaking use of --module-only + "PYTHONPATH=%%(installdir)s/lib/python%%(pyshortver)s/site-packages:$PYTHONPATH " + "python %s/run_alphafold_test.py" % _alphafold_buildir, +] + +sanity_check_paths = { + 'files': ['bin/alphafold', 'bin/pdbfixer', 'bin/run_alphafold.py', 'stereo_chemical_props.txt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'scripts'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "python -m openmm.testInstallation", + "python -c 'import alphafold'", + "alphafold --help 2>&1 | grep 'Full AlphaFold protein structure prediction script'", +] + +sanity_pip_check = True + +modextravars = { + # 'ALPHAFOLD_DATA_DIR': '/path/to/AlphaFold_DBs', # please adapt +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_data-dep-paths.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_data-dep-paths.patch new file mode 100644 index 00000000000..388d7aa02d2 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_data-dep-paths.patch @@ -0,0 +1,134 @@ +pick up on $ALPHAFOLD_DATA_DIR to specify location to downloaded data +(see https://github.com/deepmind/alphafold/blob/main/docker/run_docker.py); +pick up on HH-suite, HHMER, Kalign dependencies provided via EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- run_alphafold.py.orig 2023-02-18 15:59:05.000000000 +0100 ++++ run_alphafold.py 2023-04-17 13:54:08.910029182 +0200 +@@ -42,6 +42,46 @@ + import numpy as np + + # Internal import (7716). ++use_reduced_dbs = any("--db_preset=reduced_dbs" in s for s in sys.argv[1:]) ++use_monomer_preset = not any("--model_preset=multimer" in s for s in sys.argv[1:]) ++ ++data_dir = os.getenv('ALPHAFOLD_DATA_DIR') ++use_gpu_relax = os.getenv('OPENMM_RELAX')=='CUDA' ++ ++if data_dir: ++ mgnify_database_path = os.path.join(data_dir, 'mgnify', 'mgy_clusters_2022_05.fa') ++ uniref90_database_path = os.path.join(data_dir, 'uniref90', 'uniref90.fasta') ++ template_mmcif_dir = os.path.join(data_dir, 'pdb_mmcif', 'mmcif_files') ++ obsolete_pdbs_path = os.path.join(data_dir, 'pdb_mmcif', 'obsolete.dat') ++ if use_monomer_preset: ++ pdb_seqres_database_path = None ++ uniprot_database_path = None ++ pdb70_database_path = os.path.join(data_dir, 'pdb70', 'pdb70') ++ else: ++ pdb_seqres_database_path = os.path.join(data_dir, 'pdb_seqres', 'pdb_seqres.txt') ++ uniprot_database_path = os.path.join(data_dir, 'uniprot', 'uniprot.fasta') ++ pdb70_database_path = None ++ if use_reduced_dbs: ++ small_bfd_database_path = os.path.join(data_dir, 'small_bfd','bfd-first_non_consensus_sequences.fasta') ++ uniref30_database_path = None ++ bfd_database_path = None ++ else: ++ small_bfd_database_path = None ++ bfd_database_path = os.path.join(data_dir, 'bfd', 'bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt') ++ uniref30_database_path = os.path.join(data_dir, 'uniref30', 'UniRef30_2021_03') ++else: ++ sys.stderr.write("$ALPHAFOLD_DATA_DIR is not defined!") ++ uniref90_database_path = None ++ mgnify_database_path = None ++ bfd_database_path = None ++ uniref30_database_path = None ++ pdb70_database_path = None ++ template_mmcif_dir = None ++ obsolete_pdbs_path = None ++ small_bfd_database_path = None ++ uniprot_database_path = None ++ pdb_seqres_database_path = None ++ use_gpu_relax = None + + logging.set_verbosity(logging.INFO) + +@@ -59,7 +99,7 @@ + 'separated by commas. All FASTA paths must have a unique basename as the ' + 'basename is used to name the output directories for each prediction.') + +-flags.DEFINE_string('data_dir', None, 'Path to directory of supporting data.') ++flags.DEFINE_string('data_dir', data_dir, 'Path to directory of supporting data.') + flags.DEFINE_string('output_dir', None, 'Path to a directory that will ' + 'store the results.') + flags.DEFINE_string('jackhmmer_binary_path', shutil.which('jackhmmer'), +@@ -74,27 +114,27 @@ + 'Path to the hmmbuild executable.') + flags.DEFINE_string('kalign_binary_path', shutil.which('kalign'), + 'Path to the Kalign executable.') +-flags.DEFINE_string('uniref90_database_path', None, 'Path to the Uniref90 ' ++flags.DEFINE_string('uniref90_database_path', uniref90_database_path, 'Path to the Uniref90 ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('mgnify_database_path', None, 'Path to the MGnify ' ++flags.DEFINE_string('mgnify_database_path', mgnify_database_path, 'Path to the MGnify ' + 'database for use by JackHMMER.') +-flags.DEFINE_string('bfd_database_path', None, 'Path to the BFD ' ++flags.DEFINE_string('bfd_database_path', bfd_database_path, 'Path to the BFD ' + 'database for use by HHblits.') +-flags.DEFINE_string('small_bfd_database_path', None, 'Path to the small ' ++flags.DEFINE_string('small_bfd_database_path', small_bfd_database_path, 'Path to the small ' + 'version of BFD used with the "reduced_dbs" preset.') +-flags.DEFINE_string('uniref30_database_path', None, 'Path to the UniRef30 ' ++flags.DEFINE_string('uniref30_database_path', uniref30_database_path, 'Path to the UniRef30 ' + 'database for use by HHblits.') +-flags.DEFINE_string('uniprot_database_path', None, 'Path to the Uniprot ' ++flags.DEFINE_string('uniprot_database_path', uniprot_database_path, 'Path to the Uniprot ' + 'database for use by JackHMMer.') +-flags.DEFINE_string('pdb70_database_path', None, 'Path to the PDB70 ' ++flags.DEFINE_string('pdb70_database_path', pdb70_database_path, 'Path to the PDB70 ' + 'database for use by HHsearch.') +-flags.DEFINE_string('pdb_seqres_database_path', None, 'Path to the PDB ' ++flags.DEFINE_string('pdb_seqres_database_path', pdb_seqres_database_path, 'Path to the PDB ' + 'seqres database for use by hmmsearch.') +-flags.DEFINE_string('template_mmcif_dir', None, 'Path to a directory with ' ++flags.DEFINE_string('template_mmcif_dir', template_mmcif_dir, 'Path to a directory with ' + 'template mmCIF structures, each named .cif') + flags.DEFINE_string('max_template_date', None, 'Maximum template release date ' + 'to consider. Important if folding historical test sets.') +-flags.DEFINE_string('obsolete_pdbs_path', None, 'Path to file containing a ' ++flags.DEFINE_string('obsolete_pdbs_path', obsolete_pdbs_path, 'Path to file containing a ' + 'mapping from obsolete PDB IDs to the PDB IDs of their ' + 'replacements.') + flags.DEFINE_enum('db_preset', 'full_dbs', +@@ -137,7 +177,7 @@ + 'distracting stereochemical violations but might help ' + 'in case you are having issues with the relaxation ' + 'stage.') +-flags.DEFINE_boolean('use_gpu_relax', None, 'Whether to relax on GPU. ' ++flags.DEFINE_boolean('use_gpu_relax', use_gpu_relax, 'Whether to relax on GPU. ' + 'Relax on GPU can be much faster than CPU, so it is ' + 'recommended to enable if possible. GPUs must be available' + ' if this setting is enabled.') +@@ -334,6 +374,10 @@ + 'sure it is installed on your system.') + + use_small_bfd = FLAGS.db_preset == 'reduced_dbs' ++ if use_small_bfd and data_dir: ++ bfd_database_path = None ++ uniref30_database_path = None ++ + _check_flag('small_bfd_database_path', 'db_preset', + should_be_set=use_small_bfd) + _check_flag('bfd_database_path', 'db_preset', +@@ -456,13 +500,7 @@ + flags.mark_flags_as_required([ + 'fasta_paths', + 'output_dir', +- 'data_dir', +- 'uniref90_database_path', +- 'mgnify_database_path', +- 'template_mmcif_dir', + 'max_template_date', +- 'obsolete_pdbs_path', +- 'use_gpu_relax', + ]) + + app.run(main) diff --git a/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_fix-scp-path.patch b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_fix-scp-path.patch new file mode 100644 index 00000000000..0714243785e --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/AlphaFold-ColabFold-2.3.4_fix-scp-path.patch @@ -0,0 +1,14 @@ +fix path to stereo_chemical_props.txt when AlphaFold is installed with EasyBuild +author: Kenneth Hoste (HPC-UGent) +update 2.0.0 -> 2.1.0: Thomas Hoffmann (EMBL Heidelberg) +--- alphafold/common/residue_constants.py.orig 2023-04-17 13:59:57.535153646 +0200 ++++ alphafold/common/residue_constants.py 2023-04-17 14:02:33.555747657 +0200 +@@ -25,7 +25,7 @@ + # Internal import (35fd). + + from . import __file__ +-stereo_chemical_props_path = os.path.join(os.path.dirname(__file__), f'stereo_chemical_props.txt') ++stereo_chemical_props_path = os.path.join(os.getenv('EBROOTALPHAFOLD', 'alphafold/common'), 'stereo_chemical_props.txt') + + # Distance from one CA to next CA [trans configuration: omega = 180]. + ca_ca = 3.80209737096 diff --git a/easybuild/easyconfigs/a/AlphaFold/OpenMM-7.5.1_AlphaFold.patch b/easybuild/easyconfigs/a/AlphaFold/OpenMM-7.5.1_AlphaFold.patch new file mode 100644 index 00000000000..878ffd11b03 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaFold/OpenMM-7.5.1_AlphaFold.patch @@ -0,0 +1,45 @@ +custom patch for OpenMM to use in conjunction with AlphaFold +see https://github.com/deepmind/alphafold/blob/main/docker/openmm.patch + +Index: simtk/openmm/app/topology.py +=================================================================== +--- simtk.orig/openmm/app/topology.py ++++ simtk/openmm/app/topology.py +@@ -356,19 +356,35 @@ + def isCyx(res): + names = [atom.name for atom in res._atoms] + return 'SG' in names and 'HG' not in names ++ # This function is used to prevent multiple di-sulfide bonds from being ++ # assigned to a given atom. This is a DeepMind modification. ++ def isDisulfideBonded(atom): ++ for b in self._bonds: ++ if (atom in b and b[0].name == 'SG' and ++ b[1].name == 'SG'): ++ return True ++ ++ return False + + cyx = [res for res in self.residues() if res.name == 'CYS' and isCyx(res)] + atomNames = [[atom.name for atom in res._atoms] for res in cyx] + for i in range(len(cyx)): + sg1 = cyx[i]._atoms[atomNames[i].index('SG')] + pos1 = positions[sg1.index] ++ candidate_distance, candidate_atom = 0.3*nanometers, None + for j in range(i): + sg2 = cyx[j]._atoms[atomNames[j].index('SG')] + pos2 = positions[sg2.index] + delta = [x-y for (x,y) in zip(pos1, pos2)] + distance = sqrt(delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]) +- if distance < 0.3*nanometers: +- self.addBond(sg1, sg2) ++ if distance < candidate_distance and not isDisulfideBonded(sg2): ++ candidate_distance = distance ++ candidate_atom = sg2 ++ # Assign bond to closest pair. ++ if candidate_atom: ++ self.addBond(sg1, candidate_atom) ++ ++ + + class Chain(object): + """A Chain object represents a chain within a Topology.""" diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-foss-2020b.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-foss-2020b.eb new file mode 100644 index 00000000000..05ab7469fa0 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-foss-2020b.eb @@ -0,0 +1,84 @@ +# created by Denis Kristak (Inuits) +easyblock = 'PythonBundle' + +name = 'AlphaPulldown' +version = '0.30.4' + +homepage = 'https://github.com/KosinskiLab/AlphaPulldown' +description = """AlphaPulldown is a Python package that streamlines protein-protein +interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('OpenMM', '7.5.0'), + ('Kalign', '3.3.1'), + ('PyYAML', '5.3.1'), + ('cctbx-base', '2020.8'), + ('jax', '0.2.19'), # also provides absl-py + ('Biopython', '1.78'), + ('h5py', '3.1.0'), + ('IPython', '7.18.1'), + ('JupyterLab', '2.2.8'), + ('matplotlib', '3.3.3'), + ('TensorFlow', '2.4.1'), + ('tqdm', '4.56.2'), + ('dm-tree', '0.1.5'), +] + +use_pip = True + +exts_list = [ + ('py3Dmol', '2.0.1.post1', { + 'modulename': 'py3Dmol', + 'checksums': ['add70ecf8f647970925eb8c1043c5c1343813fa49e613b77f0628e522c4148ac'], + }), + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'patches': ['%(name)s-%(version)s_fix-deps.patch'], + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'dm-haiku-0.0.4.tar.gz': 'e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'}, + {'dm-haiku-0.0.4_fix-deps.patch': 'c509e0aa049401f340234b0a5eba59c9e8af8eff94b9e92f0693aeadfa4c5aa8'}, + ], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('importlib-resources', '5.12.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-deps.patch'], + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': [ + {'alphapulldown-0.30.4.tar.gz': '7797500abaee2e92d28034dc97844bca8c8d7281817e29dc110220824e9d1b5b'}, + {'AlphaPulldown-0.30.4_fix-deps.patch': 'fc5bf395cb36d02efa6d538df49749e722b2d2c257197e3dac83a81c9405c0c9'}, + ], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb new file mode 100644 index 00000000000..fe9b5468284 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4-fosscuda-2020b.eb @@ -0,0 +1,84 @@ +# created by Denis Kristak (Inuits) +easyblock = "PythonBundle" + +name = "AlphaPulldown" +version = "0.30.4" + +homepage = "https://github.com/KosinskiLab/AlphaPulldown" +description = """AlphaPulldown is a Python package that streamlines protein-protein +interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ("OpenMM", "7.5.0"), + ("Kalign", "3.3.1"), + ('PyYAML', '5.3.1'), + ("cctbx-base", "2020.8"), + ('jax', '0.2.19'), # also provides absl-py + ('Biopython', '1.78'), + ('h5py', '3.1.0'), + ('IPython', '7.18.1'), + ('JupyterLab', '2.2.8'), + ('matplotlib', '3.3.3'), + ('TensorFlow', '2.4.1'), + ('tqdm', '4.56.2'), + ('dm-tree', '0.1.5'), +] + +use_pip = True + +exts_list = [ + ('py3Dmol', '2.0.1.post1', { + 'modulename': 'py3Dmol', + 'checksums': ['add70ecf8f647970925eb8c1043c5c1343813fa49e613b77f0628e522c4148ac'], + }), + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'patches': ['%(name)s-%(version)s_fix-deps.patch'], + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'dm-haiku-0.0.4.tar.gz': 'e9896d161938b53f869fde207f3f6fca496d09b2a47d21dd9b6b65e897ad6aab'}, + {'dm-haiku-0.0.4_fix-deps.patch': 'c509e0aa049401f340234b0a5eba59c9e8af8eff94b9e92f0693aeadfa4c5aa8'}, + ], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('importlib-resources', '5.12.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-deps.patch'], + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': [ + {'alphapulldown-0.30.4.tar.gz': '7797500abaee2e92d28034dc97844bca8c8d7281817e29dc110220824e9d1b5b'}, + {'AlphaPulldown-0.30.4_fix-deps.patch': 'fc5bf395cb36d02efa6d538df49749e722b2d2c257197e3dac83a81c9405c0c9'}, + ], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + "files": ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'], + "dirs": ["lib/python%(pyshortver)s/site-packages/alphapulldown"], +} + +moduleclass = "data" diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4_fix-deps.patch b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4_fix-deps.patch new file mode 100644 index 00000000000..37773ee4bbd --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-0.30.4_fix-deps.patch @@ -0,0 +1,35 @@ +making dependencies less strict +author: Denis Kristak (Inuits) +--- setup.cfg_orig 2023-05-05 15:41:50.159415210 +0200 ++++ setup.cfg 2023-05-05 15:41:28.563066879 +0200 +@@ -17,19 +17,19 @@ + include_package_data = True + python_requires = ==3.8.* + install_requires = +- absl-py >= 0.13.0 +- dm-haiku==0.0.9 +- dm-tree==0.1.6 +- h5py==3.1.0 ++ absl-py >= 0.10.0 ++ dm-haiku==0.0.4 ++ dm-tree==0.1.5 ++ h5py==2.10.0 + matplotlib==3.3.3 +- ml-collections==0.1.0 +- numpy==1.21.6 +- pandas==1.3.4 +- tensorflow==2.9.0 +- importlib-resources==5.8.0 ++ ml-collections==0.1.1 ++ numpy==1.19.4 ++ pandas==1.1.4 ++ tensorflow==2.4.1 ++ importlib-resources==5.12.0 + biopython==1.78 +- nbformat==5.4.0 +- py3Dmol==2.0.1 ++ nbformat==5.0.7 ++ py3Dmol==2.0.1.post1 + ipython + tqdm + appdirs diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch new file mode 100644 index 00000000000..34994664f80 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch @@ -0,0 +1,13 @@ +fix import of protein_letters_3to1 from Biopython +author: Kenneth Hoste (HPC-UGent) +--- AlphaPulldown/alphapulldown/utils/remove_clashes_low_plddt.py.orig 2024-06-05 09:30:16.114746286 +0200 ++++ AlphaPulldown/alphapulldown/utils/remove_clashes_low_plddt.py 2024-06-05 09:30:35.242665615 +0200 +@@ -4,7 +4,7 @@ + from alphafold.data.mmcif_parsing import parse + from alphafold.common.residue_constants import residue_atoms, atom_types + from Bio.PDB import NeighborSearch, PDBIO, MMCIFIO +-from Bio.PDB.Polypeptide import protein_letters_3to1 ++from Bio.Data.SCOPData import protein_letters_3to1 + from Bio import SeqIO + from colabfold.batch import convert_pdb_to_mmcif + from Bio.PDB import Structure, Model, Chain, Residue diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..492a787c919 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,106 @@ +# created by Denis Kristak (Inuits) +easyblock = 'PythonBundle' + +name = 'AlphaPulldown' +version = '2.0.0b4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/KosinskiLab/AlphaPulldown' +description = """AlphaPulldown is a Python package that streamlines protein-protein +interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('OpenMM', '8.0.0'), + ('Kalign', '3.3.5'), + ('PyYAML', '6.0'), + ('jax', '0.3.25', versionsuffix), # also provides absl-py + ('Biopython', '1.79'), + ('h5py', '3.7.0'), + ('IPython', '8.5.0'), + ('JupyterLab', '3.5.0'), + ('matplotlib', '3.5.2'), + ('TensorFlow', '2.11.0', versionsuffix), + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), + ('dm-tree', '0.1.8'), + ('py3Dmol', '2.0.1.post1'), + ('HMMER', '3.3.2'), + ('HH-suite', '3.3.0'), + ('Uni-Core', '0.0.3', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('importlib-resources', '5.13.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('PDBFixer', '1.9', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['88b9a77e50655f89d0eb2075093773e82c27a4cef842cb7d735c877b20cd39fb'], + }), + ('ihm', '1.3', { + 'checksums': ['09f69809fd81509cc26b60253c55b02ce79fc01fc8f4a068bca2953a7dfd33be'], + }), + ('modelcif', '1.0', { + 'checksums': ['e8375bc502a73dcfab0b7fbdd454d67d393bbb8969981eb52199d77192a3de56'], + }), + (name, version, { + 'sources': [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/KosinskiLab', + 'repo_name': 'AlphaPulldown', + 'tag': version, + 'recursive': True, + }, + }], + 'patches': ['AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch'], + 'checksums': [ + None, + 'd41247cd12f6ef8579adbc893f6c1af5fba051167ee838449974365f4bdccf06', + ], + # remove strict version requirements for Python dependencies + 'preinstallopts': "sed -i 's/[>=]=.*//g' setup.cfg && ", + }), +] + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'], +} + +sanity_check_commands = [ + "run_multimer_jobs.py --help | grep 'A script to perform structure prediction'", + "convert_to_modelcif.py --help | grep 'turn it into a ModelCIF'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb new file mode 100644 index 00000000000..f410c438e23 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/AlphaPulldown-2.0.0b4-foss-2022a.eb @@ -0,0 +1,104 @@ +# created by Denis Kristak (Inuits) +easyblock = 'PythonBundle' + +name = 'AlphaPulldown' +version = '2.0.0b4' + +homepage = 'https://github.com/KosinskiLab/AlphaPulldown' +description = """AlphaPulldown is a Python package that streamlines protein-protein +interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('OpenMM', '8.0.0'), + ('Kalign', '3.3.5'), + ('PyYAML', '6.0'), + ('jax', '0.3.25'), # also provides absl-py + ('Biopython', '1.79'), + ('h5py', '3.7.0'), + ('IPython', '8.5.0'), + ('JupyterLab', '3.5.0'), + ('matplotlib', '3.5.2'), + ('TensorFlow', '2.11.0'), + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('dm-tree', '0.1.8'), + ('py3Dmol', '2.0.1.post1'), + ('HMMER', '3.3.2'), + ('HH-suite', '3.3.0'), + ('Uni-Core', '0.0.3'), +] + +use_pip = True + +exts_list = [ + ('importlib-resources', '5.13.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['82d5c6cca930697dbbd86c93333bb2c2e72861d4789a11c2662b933e5ad2b528'], + }), + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + ('dm-haiku', '0.0.9', { + 'modulename': 'haiku', + 'source_urls': ['https://github.com/deepmind/dm-haiku/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d550f07f5891ede30ada5faafde98f549ed1b8ceadb7a601cca3d81db7d82414'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('PDBFixer', '1.9', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['88b9a77e50655f89d0eb2075093773e82c27a4cef842cb7d735c877b20cd39fb'], + }), + ('ihm', '1.3', { + 'checksums': ['09f69809fd81509cc26b60253c55b02ce79fc01fc8f4a068bca2953a7dfd33be'], + }), + ('modelcif', '1.0', { + 'checksums': ['e8375bc502a73dcfab0b7fbdd454d67d393bbb8969981eb52199d77192a3de56'], + }), + (name, version, { + 'sources': [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/KosinskiLab', + 'repo_name': 'AlphaPulldown', + 'tag': version, + 'recursive': True, + }, + }], + 'patches': ['AlphaPulldown-2.0.0b2_fix-import-protein_letters_3to1.patch'], + 'checksums': [ + None, + 'd41247cd12f6ef8579adbc893f6c1af5fba051167ee838449974365f4bdccf06', + ], + # remove strict version requirements for Python dependencies + 'preinstallopts': "sed -i 's/[>=]=.*//g' setup.cfg && ", + }), +] + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/run_multimer_jobs.py', 'bin/rename_colab_search_a3m.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/alphapulldown'], +} + +sanity_check_commands = [ + "run_multimer_jobs.py --help | grep 'A script to perform structure prediction'", + "convert_to_modelcif.py --help | grep 'turn it into a ModelCIF'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AlphaPulldown/dm-haiku-0.0.4_fix-deps.patch b/easybuild/easyconfigs/a/AlphaPulldown/dm-haiku-0.0.4_fix-deps.patch new file mode 100644 index 00000000000..4fe3da29116 --- /dev/null +++ b/easybuild/easyconfigs/a/AlphaPulldown/dm-haiku-0.0.4_fix-deps.patch @@ -0,0 +1,10 @@ +make dependencies less strict +Author: Denis Kristak (Inuits) +--- requirements_orig.txt 2021-04-12 10:32:51.000000000 +0100 ++++ requirements.txt 2023-05-05 18:13:43.278174328 +0100 +@@ -1,4 +1,4 @@ + absl-py>=0.7.1 + numpy>=1.18.0 +-tabulate>=0.8.9 ++tabulate>=0.8.7 + typing_extensions; python_version<"3.8" \ No newline at end of file diff --git a/easybuild/easyconfigs/a/Amber/Amber-20.11-foss-2020b-AmberTools-21.3.eb b/easybuild/easyconfigs/a/Amber/Amber-20.11-foss-2020b-AmberTools-21.3.eb index ee8d80b6270..1f0d542911d 100644 --- a/easybuild/easyconfigs/a/Amber/Amber-20.11-foss-2020b-AmberTools-21.3.eb +++ b/easybuild/easyconfigs/a/Amber/Amber-20.11-foss-2020b-AmberTools-21.3.eb @@ -15,21 +15,49 @@ toolchainopts = {'usempi': True, 'openmp': True} sources = [ '%%(name)s%s.tar.bz2' % local_amber_ver, - 'AmberTools%s.tar.bz2' % local_ambertools_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'} ] patches = [ - 'AmberTools-20_cmake-locate-netcdf.patch', - 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', - 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_dont_include_config.h_in_top_Makefile.patch', 'alt_location': 'AmberTools'}, ] checksums = [ 'a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75', # Amber20.tar.bz2 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', # AmberTools21.tar.bz2 '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch - '185040c79c8799d4f2d75139b7c648a1863f3484c4e1baab3470d2cf8d660b65', + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', # AmberTools-20_fix_xblas_missing_make_dependency.patch 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-21_dont_include_config.h_in_top_Makefile.patch + 'b5a20a63904344fc3d1469841f0ea7d5ddaaa01462742bab958c3bba4a9b7ad9', ] builddependencies = [ diff --git a/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020a-AmberTools-20.15-Python-3.8.2.eb b/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020a-AmberTools-20.15-Python-3.8.2.eb index 5a8159af3bb..431f7a09b12 100644 --- a/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020a-AmberTools-20.15-Python-3.8.2.eb +++ b/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020a-AmberTools-20.15-Python-3.8.2.eb @@ -42,7 +42,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('libreadline', '8.0'), ('matplotlib', '3.2.1', '-Python-%(pyver)s'), - ('NCCL', '2.8.3', '-CUDA-%(cudaver)s', True), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s', SYSTEM), ('netCDF-Fortran', '4.5.2'), ('netCDF', '4.7.4'), ('Perl', '5.30.2'), diff --git a/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020b-AmberTools-21.3.eb b/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020b-AmberTools-21.3.eb index fc45e8660c5..638decc861e 100644 --- a/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020b-AmberTools-21.3.eb +++ b/easybuild/easyconfigs/a/Amber/Amber-20.11-fosscuda-2020b-AmberTools-21.3.eb @@ -53,7 +53,7 @@ dependencies = [ ('PnetCDF', '1.12.2'), ('Tkinter', '3.8.6'), ('X11', '20201008'), - ('NCCL', '2.8.3', '-CUDA-%(cudaver)s', True), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s', SYSTEM), ] # Some CUDA tests differs from expected results diff --git a/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb new file mode 100644 index 00000000000..cc2ae4045a4 --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3-CUDA-11.4.1.eb @@ -0,0 +1,101 @@ +name = 'Amber' +local_amber_ver = 22 +local_ambertools_ver = 22 +# Patch levels from https://ambermd.org/AmberPatches.php and https://ambermd.org/ATPatches.php +patchlevels = (3, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_amber_ver, patchlevels[1]) +versionsuffix = '-AmberTools-%s.%s-CUDA-%%(cudaver)s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/amber.html' +description = """Amber (originally Assisted Model Building with Energy Refinement) is software for performing + molecular dynamics and structure prediction.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [ + '%%(name)s%s.tar.bz2' % local_amber_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'}, +] +patches = [ + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_missing_error_check_on_test_run.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_cuda_version_check.patch', 'alt_location': 'AmberTools'}, + 'Amber-22_reduce_precision_of_kmmd_test.patch', + 'Amber-22_remove_undeclared_redundant_variable.patch', +] +checksums = [ + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', # Amber22.tar.bz2 + '1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121', # AmberTools22.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + 'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', + '3fc08a2cf61f3eefd094554e60c88b14c9f5071f94e0a0a15c6b55fe321bfc78', # AmberTools-22_fix_cuda_version_check.patch + 'b5855866c63c2ee860a5e6ad6f618ac4dab7072f5caae95769d4b2457d616a8e', # Amber-22_reduce_precision_of_kmmd_test.patch + # Amber-22_remove_undeclared_redundant_variable.patch + 'b94900c2178dd6dbf2824b17074980a3e5e6e71b38c0b2b30e1f147e4e1ac8cb', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # mpi4py required for MMPBSA + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '3.9.6'), + ('X11', '20210802'), + ('CUDA', '11.4.1', '', SYSTEM), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('UCX-CUDA', '1.11.2', '-CUDA-%(cudaver)s'), +] + +# Some CUDA tests differs from expected results +runtest = False + +static = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3.eb b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3.eb new file mode 100644 index 00000000000..e09a0fe8d70 --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22.0-foss-2021b-AmberTools-22.3.eb @@ -0,0 +1,96 @@ +name = 'Amber' +local_amber_ver = 22 +local_ambertools_ver = 22 +# Patch levels from https://ambermd.org/AmberPatches.php and https://ambermd.org/ATPatches.php +patchlevels = (3, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_amber_ver, patchlevels[1]) +versionsuffix = '-AmberTools-%s.%s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/amber.html' +description = """Amber (originally Assisted Model Building with Energy Refinement) is software for performing + molecular dynamics and structure prediction.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [ + '%%(name)s%s.tar.bz2' % local_amber_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'}, +] +patches = [ + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_missing_error_check_on_test_run.patch', 'alt_location': 'AmberTools'}, + 'Amber-22_reduce_precision_of_kmmd_test.patch', + 'Amber-22_remove_undeclared_redundant_variable.patch', +] +checksums = [ + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', # Amber22.tar.bz2 + '1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121', # AmberTools22.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + 'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', + 'b5855866c63c2ee860a5e6ad6f618ac4dab7072f5caae95769d4b2457d616a8e', # Amber-22_reduce_precision_of_kmmd_test.patch + # Amber-22_remove_undeclared_redundant_variable.patch + 'b94900c2178dd6dbf2824b17074980a3e5e6e71b38c0b2b30e1f147e4e1ac8cb', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # mpi4py required for MMPBSA + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '3.9.6'), + ('X11', '20210802'), +] + +# All tests are expected to pass or be skipped +runtest = True + +static = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/Amber/Amber-22.4-foss-2022a-AmberTools-22.5-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/Amber/Amber-22.4-foss-2022a-AmberTools-22.5-CUDA-11.7.0.eb new file mode 100644 index 00000000000..61dca38c61d --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22.4-foss-2022a-AmberTools-22.5-CUDA-11.7.0.eb @@ -0,0 +1,99 @@ +name = 'Amber' +local_amber_ver = 22 +local_ambertools_ver = 22 +# Patch levels from https://ambermd.org/AmberPatches.php and https://ambermd.org/ATPatches.php +patchlevels = (5, 4) # (AmberTools, Amber) +version = '%s.%s' % (local_amber_ver, patchlevels[1]) +versionsuffix = '-AmberTools-%s.%s-CUDA-%%(cudaver)s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/amber.html' +description = """Amber (originally Assisted Model Building with Energy Refinement) is software for performing + molecular dynamics and structure prediction.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [ + '%%(name)s%s.tar.bz2' % local_amber_ver, + {'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, 'alt_location': 'AmberTools'}, +] +patches = [ + {'name': 'AmberTools-20_cmake-locate-netcdf.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-20_fix_xblas_missing_make_dependency.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_CMake-FlexiBLAS.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_DGESVD_workspace_query.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_dvout_call.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_incorrect_mexit_calls.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_more_blas_argument_problems.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_multiple_definition.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_potential_use_before_init.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_rism_argument_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_test_missing_cuda_dir.patch', 'alt_location': 'AmberTools'}, + {'name': 'AmberTools-22_fix_missing_error_check_on_test_run.patch', 'alt_location': 'AmberTools'}, + 'Amber-22_reduce_precision_of_kmmd_test.patch', + 'Amber-22_remove_undeclared_redundant_variable.patch', +] +checksums = [ + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', # Amber22.tar.bz2 + '1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121', # AmberTools22.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + 'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', + 'b5855866c63c2ee860a5e6ad6f618ac4dab7072f5caae95769d4b2457d616a8e', # Amber-22_reduce_precision_of_kmmd_test.patch + # Amber-22_remove_undeclared_redundant_variable.patch + 'b94900c2178dd6dbf2824b17074980a3e5e6e71b38c0b2b30e1f147e4e1ac8cb', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # mpi4py required for MMPBSA + ('Perl', '5.34.1'), + ('Boost', '1.79.0'), + ('libreadline', '8.1.2'), + ('matplotlib', '3.5.2'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '3.10.4'), + ('X11', '20220504'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), + ('UCX-CUDA', '1.12.1', '-CUDA-%(cudaver)s'), +] + +# Some CUDA tests differs from expected results +runtest = False + +static = False + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/Amber/Amber-22_reduce_precision_of_kmmd_test.patch b/easybuild/easyconfigs/a/Amber/Amber-22_reduce_precision_of_kmmd_test.patch new file mode 100644 index 00000000000..981f0df3425 --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22_reduce_precision_of_kmmd_test.patch @@ -0,0 +1,29 @@ +Reduce the number of digits checked for kmmd_pmemd/kmmd_pmemd:gb tests. +Partially ok:ed by Amber devs. They will investigate and come back with +more info. + +Åke Sandgren, 2022-08-25 +diff -ru amber22_src.orig/test/kmmd/kmmd_pmemd/Run.kmmd amber22_src/test/kmmd/kmmd_pmemd/Run.kmmd +--- amber22_src.orig/test/kmmd/kmmd_pmemd/Run.kmmd 2022-04-09 03:11:47.000000000 +0200 ++++ amber22_src/test/kmmd/kmmd_pmemd/Run.kmmd 2022-08-25 10:52:13.397649018 +0200 +@@ -64,7 +64,7 @@ + #cp $output $output.save + + ##diff the test and reference +-../../dacdif -t 2 $output.save $output ++../../dacdif -a 0.03 $output.save $output + + /bin/rm -f mdin mdinfo mdcrd mdfrc restrt logfile tidied*txt *.dat + exit(0) +diff -ru amber22_src.orig/test/kmmd/kmmd_pmemd_gb/Run.kmmd amber22_src/test/kmmd/kmmd_pmemd_gb/Run.kmmd +--- amber22_src.orig/test/kmmd/kmmd_pmemd_gb/Run.kmmd 2022-04-09 03:11:47.000000000 +0200 ++++ amber22_src/test/kmmd/kmmd_pmemd_gb/Run.kmmd 2022-08-25 10:52:20.981592091 +0200 +@@ -64,7 +64,7 @@ + #cp $output $output.save + + ##diff the test and reference +-../../dacdif -t 2 $output.save $output ++../../dacdif -a 0.01 $output.save $output + + /bin/rm -f mdin mdinfo mdcrd mdfrc restrt tidied*txt *.dat + exit(0) diff --git a/easybuild/easyconfigs/a/Amber/Amber-22_remove_undeclared_redundant_variable.patch b/easybuild/easyconfigs/a/Amber/Amber-22_remove_undeclared_redundant_variable.patch new file mode 100644 index 00000000000..08658942fb5 --- /dev/null +++ b/easybuild/easyconfigs/a/Amber/Amber-22_remove_undeclared_redundant_variable.patch @@ -0,0 +1,26 @@ +Remove the undeclared (and unused) variable i from the private clause +in an OpenMP pragma, which otherwise results in an error: + + 93 | !$omp parallel do private(ihkl,i,f,angle) + | 1 +Error: Symbol i at (1) has no IMPLICIT type + +Bob Dröge, University of Groningen, 2022-08-18 +--- amber22_src.orig/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 2022-08-18 13:12:24.807724049 +0200 ++++ amber22_src/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 2022-08-18 13:12:42.039809811 +0200 +@@ -90,7 +90,7 @@ + call check_precondition(size(frac, 2) == size(scatter_type_index)) + call check_precondition(size(hkl, 2) == size(atomic_scatter_factor, 1)) + +- !$omp parallel do private(ihkl,i,f,angle) ++ !$omp parallel do private(ihkl,f,angle) + do ihkl = 1, size(hkl, 2) + + ! Fhkl = SUM( fj * exp(2 * M_PI * i * (h * xj + k * yj + l * zj)) ), +@@ -127,4 +127,4 @@ + end subroutine calc_f_non_bulk + + +-end module xray_non_bulk_impl_cpu_module +\ No newline at end of file ++end module xray_non_bulk_impl_cpu_module diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-20-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-20-intel-2020a-Python-3.8.2.eb index 4eb64536037..c7813e12832 100644 --- a/easybuild/easyconfigs/a/AmberTools/AmberTools-20-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-20-intel-2020a-Python-3.8.2.eb @@ -14,31 +14,49 @@ toolchainopts = {'usempi': True} # download requires registration, see http://ambermd.org/AmberTools17-get.html local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' -source_urls = ['https://ambermd.org/cgi-bin/AmberTools20-get.pl'] +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % version] sources = [{ 'download_filename': local_download_credentials, 'filename': SOURCE_TAR_BZ2, }] -patches = ['Amber-20_fix-hardcoding.patch'] +patches = [ + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_dont_include_config.h_in_top_Makefile.patch', +] checksums = [ 'b1e1f8f277c54e88abc9f590e788bbb2f7a49bcff5e8d8a6eacfaf332a4890f9', # AmberTools-20.tar.bz2 - 'a71f1bd70bac8d5e25386d6db90e95874ad300b956ed5b5afbc8848b7c1e00dc', # Amber-20_fix-hardcoding.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch' + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + # AmberTools-21_dont_include_config.h_in_top_Makefile.patch + 'b5a20a63904344fc3d1469841f0ea7d5ddaaa01462742bab958c3bba4a9b7ad9', ] builddependencies = [ ('Bison', '3.5.3'), ('pkg-config', '0.29.2'), + ('CMake', '3.16.4'), + ('flex', '2.6.4'), + ('make', '4.3'), ] dependencies = [ ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('matplotlib', '3.2.1', versionsuffix), ('netCDF', '4.7.4'), ('netCDF-Fortran', '4.5.2'), + ('FFTW', '3.3.8'), ] -# fix linking to netCDF library: also requires linking to HDF5 & cURL libs, which in turns require others, -# all of which are indirect dependencies via netCDF -local_netcdf_libs = "-lnetcdf -lhdf5 -lsz -ldl -liomp5 -lcurl -lssl -lcrypto -lz -lm -lpthread" -preconfigopts = "sed -i'' 's/-lnetcdf/%s/g' AmberTools/src/cpptraj/configure && " % local_netcdf_libs -configopts = "-nosanderapi" +# pysander should link with icc and not gcc +prebuildopts = """sed -i 's/import sys/import sys; os.environ["LDSHARED"] = "icc -shared "/g' """ +prebuildopts += "%(builddir)s/AmberTools/src/pysander/setup.py && " + +# Tests use pmemd which is not part of AmberTools +runtest = True moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-20_cmake-locate-netcdf.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_cmake-locate-netcdf.patch new file mode 100644 index 00000000000..3ece09e84c1 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_cmake-locate-netcdf.patch @@ -0,0 +1,13 @@ +Ensure that CMake recurses available paths if the Fortran libs aren't available in the netCDF module + +James Carpenter 2021-01-23 +--- amber20_src/cmake/jedbrown/FindNetCDF.cmake.orig 2020-04-28 02:19:51.000000000 +0100 ++++ amber20_src/cmake/jedbrown/FindNetCDF.cmake 2021-01-25 11:41:47.005657000 +0000 +@@ -52,6 +52,7 @@ + + macro (NetCDF_check_interface lang header libs) + find_path (NetCDF_INCLUDES_${lang} NAMES ${header} HINTS "${NetCDF_INCLUDES}" NO_DEFAULT_PATH) ++ find_path (NetCDF_INCLUDES_${lang} NAMES ${header} HINTS "${NetCDF_INCLUDES}") + + find_library (NetCDF_LIBRARIES_${lang} NAMES ${libs} HINTS "${NetCDF_lib_dirs}") + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_missing_MPI_LIBRARY_error.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_missing_MPI_LIBRARY_error.patch new file mode 100644 index 00000000000..21263acfebd --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_missing_MPI_LIBRARY_error.patch @@ -0,0 +1,21 @@ +When using "usempi" there will be no MPI_xxx_LIBRARIES set and that causes +import_libraries to error out. We know it is correct so comment out that +FATAL_ERROR. + +Åke Sandgren, 2021-06-16 +diff -ru AmberTools.orig/cmake/LibraryTracking.cmake AmberTools/cmake/LibraryTracking.cmake +--- AmberTools.orig/cmake/LibraryTracking.cmake 2021-04-25 02:51:44.000000000 +0200 ++++ AmberTools/cmake/LibraryTracking.cmake 2021-06-16 13:30:26.568317368 +0200 +@@ -170,9 +170,9 @@ + + cmake_parse_arguments(IMP_LIBS "" "" "LIBRARIES;INCLUDES" ${ARGN}) + +- if("${IMP_LIBS_LIBRARIES}" STREQUAL "") +- message(FATAL_ERROR "Incorrect usage. At least one LIBRARY should be provided.") +- endif() ++ #if("${IMP_LIBS_LIBRARIES}" STREQUAL "") ++ # message(FATAL_ERROR "Incorrect usage. At least one LIBRARY should be provided.") ++ #endif() + + if(NOT "${IMP_LIBS_UNPARSED_ARGUMENTS}" STREQUAL "") + message(FATAL_ERROR "Incorrect usage. Extra arguments provided.") diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_xblas_missing_make_dependency.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_xblas_missing_make_dependency.patch new file mode 100644 index 00000000000..5a8a55682c3 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-20_fix_xblas_missing_make_dependency.patch @@ -0,0 +1,19 @@ +Fix a missing dependency in xblas causing problems when building with large -j + +Åke Sandgren, 2021-07-01 +diff -ru amber20_src.orig/AmberTools/src/xblas/Makefile amber20_src/AmberTools/src/xblas/Makefile +--- amber20_src.orig/AmberTools/src/xblas/Makefile 2020-01-02 18:26:09.000000000 +0100 ++++ amber20_src/AmberTools/src/xblas/Makefile 2021-07-01 11:34:05.281580939 +0200 +@@ -97,10 +97,10 @@ + grep 'FAIL/TOTAL' testall.result >testall.summary + cat testall.summary + +-common-lib: ++common-lib: header + cd $(SRC_DIR)/common && $(MAKE) + +-common-test-lib: ++common-test-lib: header + cd $(TEST_DIR)/common && $(MAKE) + + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21-foss-2021a.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-foss-2021a.eb new file mode 100644 index 00000000000..7d0fdd0d4bc --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-foss-2021a.eb @@ -0,0 +1,84 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +version = '21' + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +# download requires registration, see http://ambermd.org/AmberTools17-get.html +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % version] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': SOURCE_TAR_BZ2, +}] +patches = [ + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'AmberTools-21_fix_DGESVD_workspace_query.patch', + 'AmberTools-21_fix_incorrect_dvout_call.patch', + 'AmberTools-21_fix_incorrect_mexit_calls.patch', + 'AmberTools-21_fix_more_blas_argument_problems.patch', + 'AmberTools-21_fix_multiple_definition.patch', + 'AmberTools-21_fix_potential_use_before_init.patch', + 'AmberTools-21_fix_rism_argument_mismatch.patch', + 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', + 'AmberTools-22_fix_test_missing_cuda_dir.patch', + 'AmberTools-21_dont_include_config.h_in_top_Makefile.patch', +] +checksums = [ + 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', # AmberTools21.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-21_dont_include_config.h_in_top_Makefile.patch + 'b5a20a63904344fc3d1469841f0ea7d5ddaaa01462742bab958c3bba4a9b7ad9', +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), + ('CMake', '3.20.1'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('FFTW', '3.3.9'), + ('Boost', '1.76.0'), + ('arpack-ng', '3.8.0'), + ('PnetCDF', '1.12.2'), +] + +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb new file mode 100644 index 00000000000..b149c772a4a --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21-intel-2021b.eb @@ -0,0 +1,85 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +version = '21' + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +# download requires registration, see http://ambermd.org/AmberTools17-get.html +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % version] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': SOURCE_TAR_BZ2, +}] +patches = [ + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'AmberTools-21_fix_DGESVD_workspace_query.patch', + 'AmberTools-21_fix_incorrect_dvout_call.patch', + 'AmberTools-21_fix_incorrect_mexit_calls.patch', + 'AmberTools-21_fix_more_blas_argument_problems.patch', + 'AmberTools-21_fix_multiple_definition.patch', + 'AmberTools-21_fix_potential_use_before_init.patch', + 'AmberTools-21_fix_rism_argument_mismatch.patch', + 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', + 'AmberTools-22_fix_test_missing_cuda_dir.patch', + 'AmberTools-21_dont_include_config.h_in_top_Makefile.patch', +] +checksums = [ + 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', # AmberTools21.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-21_dont_include_config.h_in_top_Makefile.patch + 'b5a20a63904344fc3d1469841f0ea7d5ddaaa01462742bab958c3bba4a9b7ad9', +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('make', '4.3'), +] +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('FFTW', '3.3.10'), +] + +# pysander should link with icc and not gcc +prebuildopts = """sed -i 's/import sys/import sys; os.environ["LDSHARED"] = "icc -shared "/g' """ +prebuildopts += "%(builddir)s/AmberTools/src/pysander/setup.py && " + +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21.12-foss-2021b.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-21.12-foss-2021b.eb new file mode 100644 index 00000000000..5d584ac7683 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21.12-foss-2021b.eb @@ -0,0 +1,92 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +local_ambertools_ver = 21 +# Patch levels from http://ambermd.org/AmberPatches.php and http://ambermd.org/ATPatches.php +patchlevels = (12, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +# download requires registration, see http://ambermd.org/AmberTools17-get.html +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % local_ambertools_ver] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, +}] +patches = [ + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'AmberTools-21_fix_DGESVD_workspace_query.patch', + 'AmberTools-21_fix_incorrect_dvout_call.patch', + 'AmberTools-21_fix_incorrect_mexit_calls.patch', + 'AmberTools-21_fix_more_blas_argument_problems.patch', + 'AmberTools-21_fix_multiple_definition.patch', + 'AmberTools-21_fix_potential_use_before_init.patch', + 'AmberTools-21_fix_rism_argument_mismatch.patch', + 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', + 'AmberTools-22_fix_test_missing_cuda_dir.patch', + 'AmberTools-21_dont_include_config.h_in_top_Makefile.patch', +] +checksums = [ + 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', # AmberTools21.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-21_dont_include_config.h_in_top_Makefile.patch + 'b5a20a63904344fc3d1469841f0ea7d5ddaaa01462742bab958c3bba4a9b7ad9', +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), + ('CMake', '3.21.1'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '%(pyver)s'), + ('X11', '20210802'), +] + +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_CMake-FlexiBLAS.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_CMake-FlexiBLAS.patch new file mode 100644 index 00000000000..669c7e3d305 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_CMake-FlexiBLAS.patch @@ -0,0 +1,91 @@ +make CMake scripts that picks BLAS/LAPACK library aware of FlexiBLAS +author: Kenneth Hoste (HPC-UGent) +--- cmake/patched-cmake-modules/FindBLASFixed.cmake.orig 2022-05-04 18:53:42.410384491 +0200 ++++ cmake/patched-cmake-modules/FindBLASFixed.cmake 2022-05-04 18:54:39.034612008 +0200 +@@ -36,7 +36,7 @@ + # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK + # + # ######### ## List of vendors (BLA_VENDOR) valid in this module # +-# Goto,OpenBLAS,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, ++# Goto,OpenBLAS,FlexiBLAS ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, + # ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic + + include(CMakePushCheckState) +@@ -49,8 +49,8 @@ + set(BLA_VENDOR_DEFAULT "All") + endif () + +-set(BLA_VENDOR ${BLA_VENDOR_DEFAULT} CACHE STRING "BLAS vendor to use for BLAS and Lapack. Valid values: All, Goto, OpenBLAS, ATLAS, PhiPACK, CXML, DXML, SunPerf, SCSL, SGIMATH, IBMESSL, ACML, ACML_MP, ACML_GPU, Apple, NAS, Generic") +-validate_configuration_enum(BLA_VENDOR All Goto OpenBLAS ATLAS PhiPACK CXML DXML SunPerf SCSL SGIMATH IBMESSL ACML ACML_MP ACML_GPU Apple NAS Generic) ++set(BLA_VENDOR ${BLA_VENDOR_DEFAULT} CACHE STRING "BLAS vendor to use for BLAS and Lapack. Valid values: All, Goto, OpenBLAS, FlexiBLAS, ATLAS, PhiPACK, CXML, DXML, SunPerf, SCSL, SGIMATH, IBMESSL, ACML, ACML_MP, ACML_GPU, Apple, NAS, Generic") ++validate_configuration_enum(BLA_VENDOR All Goto OpenBLAS FlexiBLAS ATLAS PhiPACK CXML DXML SunPerf SCSL SGIMATH IBMESSL ACML ACML_MP ACML_GPU Apple NAS Generic) + + if(DEFINED BLAS_FIND_QUIETLY) + set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) +@@ -159,6 +159,20 @@ + endif() + endif () + ++if (BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT BLAS_LIBRARIES) ++ # FlexiBLAS (https://github.com/mpimd-csc/flexiblas) ++ check_fortran_libraries( ++ BLAS_LIBRARIES ++ BLAS ++ sgemm ++ "" ++ "flexiblas" ++ "" ++ ) ++ endif() ++endif () ++ + if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # OpenBLAS (http://www.openblas.net) +@@ -524,4 +538,4 @@ + endif() + + cmake_pop_check_state() +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +\ No newline at end of file ++set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +--- cmake/patched-cmake-modules/FindLAPACKFixed.cmake.orig 2022-05-04 18:56:14.315407989 +0200 ++++ cmake/patched-cmake-modules/FindLAPACKFixed.cmake 2022-05-04 18:56:39.930772703 +0200 +@@ -36,7 +36,7 @@ + # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK + # + # ## List of vendors (BLA_VENDOR) valid in this module: +-# OpenBLAS, ACML,Apple, NAS, Generic ++# OpenBLAS, FlexiBLAS, ACML,Apple, NAS, Generic + + set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +@@ -173,6 +173,20 @@ + endif() + endif () + ++ if(BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT LAPACK_LIBRARIES) ++ check_lapack_libraries( ++ LAPACK_LIBRARIES ++ LAPACK ++ cheev ++ "" ++ "flexiblas" ++ "${BLAS_LIBRARIES}" ++ "" ++ ) ++ endif() ++ endif() ++ + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( +@@ -289,4 +303,4 @@ + endif() + + cmake_pop_check_state() +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +\ No newline at end of file ++set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_dont_include_config.h_in_top_Makefile.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_dont_include_config.h_in_top_Makefile.patch new file mode 100644 index 00000000000..2dd5245cfb9 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_dont_include_config.h_in_top_Makefile.patch @@ -0,0 +1,18 @@ +Don't include config.h in top Makefile. +Taken from AmberTools22 + +Åke Sandgren, 2022-08-29 +diff -ru amber20_src.orig/Makefile amber20_src/Makefile +--- amber20_src.orig/Makefile 2021-04-26 15:45:46.000000000 +0200 ++++ amber20_src/Makefile 2022-08-29 09:19:39.921375932 +0200 +@@ -1,7 +1,9 @@ + # Simple top-level Makefile to point users to those hidden below: + + CONFIG_FILE=config.h +-include $(CONFIG_FILE) ++# It was a bad idea to have this dependent on config.h; ++# this starts undoing that dependency. ++#include $(CONFIG_FILE) + + install: ambertools amber + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_DGESVD_workspace_query.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_DGESVD_workspace_query.patch new file mode 100644 index 00000000000..444eff527ab --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_DGESVD_workspace_query.patch @@ -0,0 +1,25 @@ +Fix DGESVD workspace query + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/sqm/qm2_scf.F90 b/AmberTools/src/sqm/qm2_scf.F90 +index 6185d93dba..93eb7f60e8 100644 +--- a/AmberTools/src/sqm/qm2_scf.F90 ++++ b/AmberTools/src/sqm/qm2_scf.F90 +@@ -2254,7 +2254,7 @@ SUBROUTINE SvdInvert_SymMat(n,a,ainv,thresh) ! THRESH,ERR + _REAL_ :: S(n) + _REAL_ :: U(n,n) + _REAL_ :: VT(n,n) +- _REAL_ :: twork ++ _REAL_ :: twork(1) + _REAL_,ALLOCATABLE :: WORK(:) + INTEGER :: LWORK + +@@ -2269,7 +2269,7 @@ SUBROUTINE SvdInvert_SymMat(n,a,ainv,thresh) ! THRESH,ERR + LWORK = -1 + CALL DGESVD("A","A",n,n, ainv,n, S,U,n, VT,n, twork,LWORK,my_err) + +- LWORK = NINT(twork) ++ LWORK = NINT(twork(1)) + ALLOCATE( WORK(LWORK) ) + WORK = 0.d0 + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_dvout_call.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_dvout_call.patch new file mode 100644 index 00000000000..dd926c82c9f --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_dvout_call.patch @@ -0,0 +1,29 @@ +Fix incorrect parameter to dvout + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/arpack/dnaitr.f b/AmberTools/src/arpack/dnaitr.f +index 64b008617f..5d3c268a95 100644 +--- a/AmberTools/src/arpack/dnaitr.f ++++ b/AmberTools/src/arpack/dnaitr.f +@@ -373,7 +373,7 @@ c + if (msglvl .gt. 1) then + call ivout (logfil, 1, [j], ndigit, + & '_naitr: generating Arnoldi vector number') +- call dvout (logfil, 1, rnorm, ndigit, ++ call dvout (logfil, 1, [rnorm], ndigit, + & '_naitr: B-norm of the current residual is') + end if + c +diff --git a/AmberTools/src/arpack/dsaitr.f b/AmberTools/src/arpack/dsaitr.f +index f725e23de9..5a29f153e6 100644 +--- a/AmberTools/src/arpack/dsaitr.f ++++ b/AmberTools/src/arpack/dsaitr.f +@@ -366,7 +366,7 @@ c + if (msglvl .gt. 2) then + call ivout (logfil, 1, [j], ndigit, + & '_saitr: generating Arnoldi vector no.') +- call dvout (logfil, 1, rnorm, ndigit, ++ call dvout (logfil, 1, [rnorm], ndigit, + & '_saitr: B-norm of the current residual =') + end if + c diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_mexit_calls.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_mexit_calls.patch new file mode 100644 index 00000000000..617ce26cc7f --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_incorrect_mexit_calls.patch @@ -0,0 +1,23 @@ +Fix incorrect parameter to mexit + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/sander/fastwt.F90 b/AmberTools/src/sander/fastwt.F90 +index 9863c12e27..f7e2bf1df4 100644 +--- a/AmberTools/src/sander/fastwt.F90 ++++ b/AmberTools/src/sander/fastwt.F90 +@@ -1058,13 +1058,13 @@ subroutine getwds(igraph ,nres ,ipres ,lbres , & + #ifndef API + write(iout,1001) + #endif +- call mexit(1) ++ call mexit(6,1) + end if + else if (abs(roh1-roh2) > small) then + #ifndef API + write(iout,1002) + #endif +- call mexit(1) ++ call mexit(6,1) + else + roh = roh1 + end if diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_more_blas_argument_problems.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_more_blas_argument_problems.patch new file mode 100644 index 00000000000..3298fccaf8e --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_more_blas_argument_problems.patch @@ -0,0 +1,64 @@ +Fix some blas argument problems with newer GCC vewrsions. + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/rism/amber_rism_interface.F90 b/AmberTools/src/rism/amber_rism_interface.F90 +index 7d84de1b7f..2c2a2fa389 100644 +--- a/AmberTools/src/rism/amber_rism_interface.F90 ++++ b/AmberTools/src/rism/amber_rism_interface.F90 +@@ -3159,9 +3159,9 @@ contains + ! Outputting entropy map. + if (len_trim(entropyfile) /= 0 .and. rismprm%entropicDecomp == 1 .and. & + rism3d_canCalc_DT(rism_3d)) then +- call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map, 1, excessChemicalPotential_map, 1) ++ call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map(1,1,1), 1, excessChemicalPotential_map, 1) + call DAXPY(this%grid%totalLocalPointsR*this%solvent%numAtomTypes, -1d0, & +- solvationEnergy_V_map, 1, excessChemicalPotential_V_map, 1) ++ solvationEnergy_V_map(1,1,1,1), 1, excessChemicalPotential_V_map, 1) + call writeThermo(writeVolume,entropyfile, suffix, excessChemicalPotential_map,& + excessChemicalPotential_V_map) + end if +@@ -3200,9 +3200,9 @@ contains + end if + ! Outputting entropy map. + if (len_trim(entropyPCPLUSfile) /= 0) then +- call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map, 1, excessChemicalPotential_map, 1) ++ call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map(1,1,1), 1, excessChemicalPotential_map, 1) + call DAXPY(this%grid%totalLocalPointsR*this%solvent%numAtomTypes, -1d0, & +- solvationEnergy_V_map, 1, excessChemicalPotential_V_map, 1) ++ solvationEnergy_V_map(1,1,1,1), 1, excessChemicalPotential_V_map, 1) + call writeVolume(trim(entropyPCPLUSfile)//suffix, excessChemicalPotential_map, this%grid, & + this%solute, mpirank, mpisize, mpicomm) + end if +@@ -3247,9 +3247,9 @@ contains + end if + ! Outputting entropy map. + if (len_trim(entropyUCfile) /= 0) then +- call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map, 1, excessChemicalPotential_map, 1) ++ call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map(1,1,1), 1, excessChemicalPotential_map, 1) + call DAXPY(this%grid%totalLocalPointsR*this%solvent%numAtomTypes, -1d0, & +- solvationEnergy_V_map, 1, excessChemicalPotential_V_map, 1) ++ solvationEnergy_V_map(1,1,1,1), 1, excessChemicalPotential_V_map, 1) + call writeVolume(trim(entropyUCfile)//suffix, excessChemicalPotential_map, this%grid, & + this%solute, mpirank, mpisize, mpicomm) + end if +@@ -3299,9 +3299,9 @@ contains + ! Outputting entropy map. + if (len_trim(entropyGFfile) /= 0 .and. rismprm%entropicDecomp == 1 .and. & + rism3d_canCalc_DT(rism_3d)) then +- call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map, 1, excessChemicalPotential_map, 1) ++ call DAXPY(this%grid%totalLocalPointsR, -1d0, solvationEnergy_map(1,1,1), 1, excessChemicalPotential_map, 1) + call DAXPY(this%grid%totalLocalPointsR*this%solvent%numAtomTypes, -1d0, & +- solvationEnergy_V_map, 1, excessChemicalPotential_V_map, 1) ++ solvationEnergy_V_map(1,1,1,1), 1, excessChemicalPotential_V_map, 1) + call writeThermo(writeVolume,entropyGFfile, suffix, excessChemicalPotential_map, & + excessChemicalPotential_V_map) + end if +@@ -3415,7 +3415,7 @@ contains + excessChemicalPotential_V_map,1,solventEntropy_V_map,1) + + call DAXPY(this%grid%totalLocalPointsR*this%solvent%numAtomTypes, -1d0, & +- solvationEnergy_V_map, 1, solventEntropy_V_map, 1) ++ solvationEnergy_V_map(1,1,1,1), 1, solventEntropy_V_map, 1) + call writeVolume(trim(entropyfile)//'.mol'//suffix, & + solvententropy_V_map(:, :, :, center_site), this%grid, & + this%solute, mpirank, mpisize, mpicomm) diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_multiple_definition.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_multiple_definition.patch new file mode 100644 index 00000000000..b1d06ec5deb --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_multiple_definition.patch @@ -0,0 +1,17 @@ +Fix multiple definition problem. +Not seen by Amber devs so something else might be the real problem. + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/cifparse/cifparse.h b/AmberTools/src/cifparse/cifparse.h +index 3b1f3bca57..4577abf458 100644 +--- a/AmberTools/src/cifparse/cifparse.h ++++ b/AmberTools/src/cifparse/cifparse.h +@@ -102,7 +102,7 @@ int ndb_cif_get_category_id(char*, char*); + + + #ifdef CIF_GLOBAL +- FILE *cifpin; ++ extern FILE *cifpin; + char TempKeyword[MxNameLen+1], TempValue[MAXVALUELENGTH+1]; + NdbCifDatablocksFormat cifFiles; + int lineNo; diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_potential_use_before_init.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_potential_use_before_init.patch new file mode 100644 index 00000000000..d37b0548614 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_potential_use_before_init.patch @@ -0,0 +1,15 @@ +Fix potential use before init. + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/nmr_aux/prepare_input/makeDIST_RST.c b/AmberTools/src/nmr_aux/prepare_input/makeDIST_RST.c +index a455a8bc15..3d6f5baec6 100644 +--- a/AmberTools/src/nmr_aux/prepare_input/makeDIST_RST.c ++++ b/AmberTools/src/nmr_aux/prepare_input/makeDIST_RST.c +@@ -714,6 +714,7 @@ static int read_maplib( FILE *fp ) + printf( "%s: begin;\n", module ); + #endif + nm=0; ++ npseudo=0; + while ( getline ) { + lineno++; + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_rism_argument_mismatch.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_rism_argument_mismatch.patch new file mode 100644 index 00000000000..277e402242c --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_rism_argument_mismatch.patch @@ -0,0 +1,15 @@ +Fix rism argument mismatch problem with newer GCC versions. + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/rism/CMakeLists.txt b/AmberTools/src/rism/CMakeLists.txt +index d554714923..96a8367693 100644 +--- a/AmberTools/src/rism/CMakeLists.txt ++++ b/AmberTools/src/rism/CMakeLists.txt +@@ -127,6 +127,7 @@ install(TARGETS rism1d rism3d.thermo rism3d.orave DESTINATION ${BINDIR}) + # MPI version + # -------------------------------------------------------------------- + if(MPI) ++ add_compile_options(-fallow-argument-mismatch) + make_mpi_version(rism rism_mpi LANGUAGES Fortran SWAP_SOURCES ${RISM_LIB_SOURCES} TO ${RISM_MPI_SOURCES} INSTALL) + config_module_dirs(rism_mpi ${RISMLIB_MPI_MOD_DIR} ${AMBER_COMMON_MOD_DIR}) + target_link_libraries(rism_mpi fftw_mpi) diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_xray_fftpack_arg_mismatch.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_xray_fftpack_arg_mismatch.patch new file mode 100644 index 00000000000..5bfb50d13dd --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-21_fix_xray_fftpack_arg_mismatch.patch @@ -0,0 +1,17 @@ +Fix xray argument mismatch problem with newer GCC versions. + +Åke Sandgren, 20220623 +diff --git a/AmberTools/src/sander/CMakeLists.txt b/AmberTools/src/sander/CMakeLists.txt +index 3bd5e182ac..79ba58cc6f 100644 +--- a/AmberTools/src/sander/CMakeLists.txt ++++ b/AmberTools/src/sander/CMakeLists.txt +@@ -241,6 +241,9 @@ apply_optimization_declarations(${ALL_FORTRAN_SOURCES}) + # reaxff-puremd QMMM extern interface module requires F2003 standard or later + set_source_files_properties(qm2_extern_reaxff_puremd_module.F90 PROPERTIES LANGUAGE Fortran COMPILE_FLAGS -std=f2003) + ++# xray_fftpack has argument mismatch problems ++set_source_files_properties(xray_fftpack.F90 PROPERTIES LANGUAGE Fortran COMPILE_FLAGS -fallow-argument-mismatch) ++ + set_property(SOURCE ${PLUMED_SOURCE} PROPERTY COMPILE_FLAGS ${OPT_CFLAGS_SPC}) + + if(plumed_ENABLED) diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-22.3-foss-2021b.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-22.3-foss-2021b.eb new file mode 100644 index 00000000000..a7fbe6089cc --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-22.3-foss-2021b.eb @@ -0,0 +1,92 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +local_ambertools_ver = 22 +# Patch levels from http://ambermd.org/AmberPatches.php and http://ambermd.org/ATPatches.php +patchlevels = (3, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +# download requires registration +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % local_ambertools_ver] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, +}] +patches = [ + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'AmberTools-21_fix_DGESVD_workspace_query.patch', + 'AmberTools-21_fix_incorrect_dvout_call.patch', + 'AmberTools-21_fix_incorrect_mexit_calls.patch', + 'AmberTools-21_fix_more_blas_argument_problems.patch', + 'AmberTools-21_fix_multiple_definition.patch', + 'AmberTools-21_fix_potential_use_before_init.patch', + 'AmberTools-21_fix_rism_argument_mismatch.patch', + 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', + 'AmberTools-22_fix_test_missing_cuda_dir.patch', + 'AmberTools-22_fix_missing_error_check_on_test_run.patch', +] +checksums = [ + '1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121', # AmberTools22.tar.bz2 + '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0', # AmberTools-20_cmake-locate-netcdf.patch + # AmberTools-20_fix_missing_MPI_LIBRARY_error.patch + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc', + # AmberTools-20_fix_xblas_missing_make_dependency.patch + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', # AmberTools-21_CMake-FlexiBLAS.patch + # AmberTools-21_fix_DGESVD_workspace_query.patch + '560c73e9d8bd159c609098c63a0256cdee78f49e524d06ea94d16d3146f69bcd', + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b', # AmberTools-21_fix_incorrect_dvout_call.patch + 'd1de8c596119dcedbb809515816f0c98762306c469e9caf2c0b878d9b0a1095f', # AmberTools-21_fix_incorrect_mexit_calls.patch + # AmberTools-21_fix_more_blas_argument_problems.patch + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c', + 'ce30eeaba9feea53aa115e4b0dcc5be943b8a55abe322480c807ca7ea963d83b', # AmberTools-21_fix_multiple_definition.patch + # AmberTools-21_fix_potential_use_before_init.patch + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139', + # AmberTools-21_fix_rism_argument_mismatch.patch + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1', + # AmberTools-21_fix_xray_fftpack_arg_mismatch.patch + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f', + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737', # AmberTools-22_fix_test_missing_cuda_dir.patch + # AmberTools-22_fix_missing_error_check_on_test_run.patch + 'a86eee60bd65c16a849469e303cb99dfc207cbadd2ae9e70b9ff580ced785475', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('make', '4.3'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('libreadline', '8.1'), + ('matplotlib', '3.4.3'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '%(pyver)s'), + ('X11', '20210802'), +] + +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch new file mode 100644 index 00000000000..de3b0b115df --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_cuda_version_check.patch @@ -0,0 +1,18 @@ +The CUDA_VERSION returned by CMake's FindCUDA module only contains +the major and minor version number, not the patch release. +This makes the check if CUDA_VERSION is less than 11.4.1 broken, +even though only CUDA 11.4.1 supports GCC 11 (11.4.0 does not). +As we know which GCC and CUDA we're using, this patch just compares it to 11.4 anyway. + +Bob Dröge, University of Groningen, 2022-08-18 +--- amber20_src.orig/cmake/CudaConfig.cmake 2022-08-18 08:25:28.236089267 +0200 ++++ amber20_src/cmake/CudaConfig.cmake 2022-08-18 08:24:27.122766862 +0200 +@@ -82,7 +82,7 @@ + # VERSION_EQUAL 10 means 10.0, so use a range for comparing major version. + if ( "${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" AND ( + ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12 +- AND CUDA_VERSION VERSION_GREATER_EQUAL 11.4.1 ++ AND CUDA_VERSION VERSION_GREATER_EQUAL 11.4 + AND CUDA_VERSION VERSION_LESS_EQUAL 11.7 ) + OR ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11 + AND CUDA_VERSION VERSION_GREATER_EQUAL 11.1 diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_missing_error_check_on_test_run.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_missing_error_check_on_test_run.patch new file mode 100644 index 00000000000..042fddaadff --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_missing_error_check_on_test_run.patch @@ -0,0 +1,27 @@ +Add missing "|| goto error" for test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite* + +Åke Sandgren, 2022-08-26 +diff -ru amber22_src.orig/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite amber22_src/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite +--- amber22_src.orig/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite 2022-04-09 03:11:47.000000000 +0200 ++++ amber22_src/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite 2022-08-26 09:27:51.875733539 +0200 +@@ -33,7 +33,7 @@ + / + EOF + +-$DO_PARALLEL $TESTsander -O -i mdin.0 -o out.0 -p solvated_prmtop -c solvated_rst -r restrt.0 ++$DO_PARALLEL $TESTsander -O -i mdin.0 -o out.0 -p solvated_prmtop -c solvated_rst -r restrt.0 || goto error + + ../../../dacdif out.0.save out.0 + +diff -ru amber22_src.orig/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite_vacuum amber22_src/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite_vacuum +--- amber22_src.orig/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite_vacuum 2022-04-09 03:11:47.000000000 +0200 ++++ amber22_src/test/pmemdTI/softcore/tishake2vsite/Run.tishake2vsite_vacuum 2022-08-26 09:28:11.971587948 +0200 +@@ -34,7 +34,7 @@ + / + EOF + +-$DO_PARALLEL $TESTsander -O -i mdin.0 -o out2.0 -p prmtop_vacuum -c rst_vacuum -r restrt2.0 ++$DO_PARALLEL $TESTsander -O -i mdin.0 -o out2.0 -p prmtop_vacuum -c rst_vacuum -r restrt2.0 || goto error + + ../../../dacdif out2.0.save out2.0 + diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_test_missing_cuda_dir.patch b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_test_missing_cuda_dir.patch new file mode 100644 index 00000000000..6ebca4c1459 --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-22_fix_test_missing_cuda_dir.patch @@ -0,0 +1,14 @@ +Make sure test_amber_clean.sh dosen't try to cd into a possibly missing directory. + +Åke Sandgren, 2022-08-26 +diff -ru amber22_src.orig/test/test_amber_clean.sh amber22_src/test/test_amber_clean.sh +--- amber22_src.orig/test/test_amber_clean.sh 2021-05-28 16:11:51.000000000 +0200 ++++ amber22_src/test/test_amber_clean.sh 2022-08-26 09:20:58.470586829 +0200 +@@ -1273,4 +1273,6 @@ + echo $delete_list | xargs /bin/rm -f + + # Remove cuda remd test output +-cd cuda/remd && make clean && cd ../.. ++if [ -d "cuda/remd" ]; then ++ cd cuda/remd && make clean && cd ../.. ++fi diff --git a/easybuild/easyconfigs/a/AmberTools/AmberTools-23.6-foss-2023a.eb b/easybuild/easyconfigs/a/AmberTools/AmberTools-23.6-foss-2023a.eb new file mode 100644 index 00000000000..ca7d8074aab --- /dev/null +++ b/easybuild/easyconfigs/a/AmberTools/AmberTools-23.6-foss-2023a.eb @@ -0,0 +1,86 @@ +easyblock = 'EB_Amber' + +name = 'AmberTools' +local_ambertools_ver = 23 +# Patch levels from http://ambermd.org/AmberPatches.php and http://ambermd.org/ATPatches.php +patchlevels = (6, 0) # (AmberTools, Amber) +version = '%s.%s' % (local_ambertools_ver, patchlevels[0]) + +homepage = 'https://ambermd.org/' +description = """AmberTools consists of several independently developed packages that work well by themselves, + and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, + with either explicit water or generalized Born solvent models.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +# download requires registration +local_download_credentials = '?Name=Easybuild&Institution=Easybuild&City=Internet&State=Other&Country=Belgium' +source_urls = ['https://ambermd.org/cgi-bin/AmberTools%s-get.pl' % local_ambertools_ver] +sources = [{ + 'download_filename': local_download_credentials, + 'filename': 'AmberTools%s.tar.bz2' % local_ambertools_ver, +}] +patches = [ + 'AmberTools-20_cmake-locate-netcdf.patch', + 'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch', + 'AmberTools-20_fix_xblas_missing_make_dependency.patch', + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'AmberTools-21_fix_incorrect_dvout_call.patch', + 'AmberTools-21_fix_more_blas_argument_problems.patch', + 'AmberTools-21_fix_potential_use_before_init.patch', + 'AmberTools-21_fix_rism_argument_mismatch.patch', + 'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch', + 'AmberTools-22_fix_test_missing_cuda_dir.patch', +] +checksums = [ + {'AmberTools23.tar.bz2': 'debb52e6ef2e1b4eaa917a8b4d4934bd2388659c660501a81ea044903bf9ee9d'}, + {'AmberTools-20_cmake-locate-netcdf.patch': '473e07c53b6f641d96d333974a6af2e03413fecef79f879d3fdecf7fecaab4d0'}, + {'AmberTools-20_fix_missing_MPI_LIBRARY_error.patch': + '0b89a0624167bc23876bcdefcb1055f591e38e3bd559a71d5749e342bd311acc'}, + {'AmberTools-20_fix_xblas_missing_make_dependency.patch': + 'ff25e91fdc72347a778c3837b581e174d6a8c71efa5b46e11391b18bca84fd65'}, + {'AmberTools-21_CMake-FlexiBLAS.patch': '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36'}, + {'AmberTools-21_fix_incorrect_dvout_call.patch': + '1054d4007f5c79126a41582e1e80514267cf406416ed6c471574cd708b16319b'}, + {'AmberTools-21_fix_more_blas_argument_problems.patch': + 'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c'}, + {'AmberTools-21_fix_potential_use_before_init.patch': + '377e645b5bd2c91ebb4d0b6fbca0407a94289e5ddc5b1e7ed0cb0b0724ad2139'}, + {'AmberTools-21_fix_rism_argument_mismatch.patch': + '14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1'}, + {'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch': + '99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f'}, + {'AmberTools-22_fix_test_missing_cuda_dir.patch': + 'fb1ab74314d7816169bb9f3f527b78085654aae2825c52cebf50a5760401b737'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('make', '4.4.1'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('Boost', '1.82.0'), + ('libreadline', '8.2'), + ('matplotlib', '3.7.2'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('PnetCDF', '1.12.3'), + ('Tkinter', '%(pyver)s'), + ('X11', '20230603'), + ('mpi4py', '3.1.4'), +] + +runtest = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/a/AmrPlusPlus/AmrPlusPlus-2.0-20200114-GCC-8.3.0.eb b/easybuild/easyconfigs/a/AmrPlusPlus/AmrPlusPlus-2.0-20200114-GCC-8.3.0.eb index c2864dc231d..6cdb4f111e7 100644 --- a/easybuild/easyconfigs/a/AmrPlusPlus/AmrPlusPlus-2.0-20200114-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/a/AmrPlusPlus/AmrPlusPlus-2.0-20200114-GCC-8.3.0.eb @@ -32,11 +32,11 @@ sources = [{ checksums = ['04af67517b752e15b5add27f4584f8c11293a0ed1353d3c1dd60c3c6e2dcb329'] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('BWA', '0.7.17'), - ('Trimmomatic', '0.39', '-Java-%(javashortver)s', True), + ('Trimmomatic', '0.39', '-Java-%(javashortver)s', SYSTEM), ('SAMtools', '1.10'), - ('Nextflow', '19.12.0', '', True), + ('Nextflow', '19.12.0', '', SYSTEM), ] local_exe_files = [ diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.05.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.05.eb new file mode 100644 index 00000000000..e9548a7fc7f --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.05.eb @@ -0,0 +1,28 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2021.05' + +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/'] +sources = ['%(name)s-%(version)s-Linux-%(arch)s.sh'] + +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': '2751ab3d678ff0277ae80f9e8a74f218cfc70fe9a9cdc7bb1c137d7e47e33d53', + '%(name)s-%(version)s-Linux-ppc64le.sh': '097064807a9adae3f91fc4c5852cd90df2b77fc96505929bb25bf558f1eef76f', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.11.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.11.eb new file mode 100644 index 00000000000..6006859638b --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2021.11.eb @@ -0,0 +1,29 @@ +# 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, 2021.11 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2021.11' + +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/'] +sources = ['%(name)s-%(version)s-Linux-%(arch)s.sh'] + +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': 'fedf9e340039557f7b5e8a8a86affa9d299f5e9820144bd7b92ae9f7ee08ac60', + '%(name)s-%(version)s-Linux-ppc64le.sh': '7eb6a95925ee756240818599f8dcbba7a155adfb05ef6cd5336aa3c083de65f3', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.05.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.05.eb new file mode 100644 index 00000000000..94da2a52d26 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.05.eb @@ -0,0 +1,29 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2022.05' + +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/'] +sources = ['%(name)s-%(version)s-Linux-%(arch)s.sh'] + +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': 'a7c0afe862f6ea19a596801fc138bde0463abcbce1b753e8d5c474b506a2db2d', + '%(name)s-%(version)s-Linux-ppc64le.sh': 'a50bf5bd26b5c5a2c24028c1aff6da2fa4d4586ca43ae3acdf7ffb9b50d7f282', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb new file mode 100644 index 00000000000..35847007608 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2022.10.eb @@ -0,0 +1,30 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2022.10' + +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/'] +sources = ['%(name)s-%(version)s-Linux-%(arch)s.sh'] + +checksums = [ + { + '%(name)s-%(version)s-Linux-x86_64.sh': 'e7ecbccbc197ebd7e1f211c59df2e37bc6959d081f2235d387e08c9026666acd', + '%(name)s-%(version)s-Linux-ppc64le.sh': '8fdebc79f63b74daad421a2674d43299fa9c5007d85cf00e8dc1a81fbf2787e4', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.03-1.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.03-1.eb new file mode 100644 index 00000000000..db18ed4f421 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.03-1.eb @@ -0,0 +1,31 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2023.03-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': '95102d7c732411f1458a20bdf47e4c1b0b6c8a21a2edfe4052ca370aaae57bab', + '%(name)s-%(version)s-Linux-ppc64le.sh': 'a31f2d6da83534cff7c994403cc11fa634b31fcd10eb4153d00233345ee084b2', + '%(name)s-%(version)s-Linux-aarch64.sh': '54e600faa2af63a25717af30ecaddf1ee428cdfebd3721a70f41462e232e8153', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.07-2.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.07-2.eb new file mode 100644 index 00000000000..517bcc33b13 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.07-2.eb @@ -0,0 +1,31 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2023.07-2' + +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': '589fb34fe73bc303379abbceba50f3131254e85ce4e7cd819ba4276ba29cad16', + '%(name)s-%(version)s-Linux-ppc64le.sh': '7a72e301fb3b8e175a96b6457fc84654dd2eb98942528d9988760779b92847e4', + '%(name)s-%(version)s-Linux-aarch64.sh': '75967bc2113d9e336e670e1e557c9198d8b98e59fb9adb82cbe0e71ce5f7c2db', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.09-0.eb b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.09-0.eb new file mode 100644 index 00000000000..524403e9fc3 --- /dev/null +++ b/easybuild/easyconfigs/a/Anaconda3/Anaconda3-2023.09-0.eb @@ -0,0 +1,32 @@ +# 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 by J. Hein +# config upgrade to 2019.03 by Davide Vanzo +# config upgrade to 2023.09 by Sarah Walters +easyblock = 'EB_Anaconda' + +name = 'Anaconda3' +version = '2023.09-0' + +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': '6c8a4abb36fbb711dc055b7049a23bbfd61d356de9468b41c5140f8a11abd851', + '%(name)s-%(version)s-Linux-ppc64le.sh': '5ea1ed9808af95eb2655fe6a4ffdb66bea66ecd1d053fc2ee69eacc7685ef665', + '%(name)s-%(version)s-Linux-aarch64.sh': '69ee26361c1ec974199bce5c0369e3e9a71541de7979d2b9cfa4af556d1ae0ea', + } +] + +moduleclass = 'lang' 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/Annocript/Annocript-2.0-foss-2022a.eb b/easybuild/easyconfigs/a/Annocript/Annocript-2.0-foss-2022a.eb new file mode 100644 index 00000000000..7efa2268907 --- /dev/null +++ b/easybuild/easyconfigs/a/Annocript/Annocript-2.0-foss-2022a.eb @@ -0,0 +1,76 @@ +easyblock = 'PackedBinary' + +name = 'Annocript' +version = '2.0' +local_commit = '84fd67b' + +homepage = 'https://github.com/frankMusacchia/Annocript' +description = """ Annocript is a pipeline for the annotation of de-novo generated transcriptomes. + It executes blast analysis with UniProt, NCBI Conserved Domain Database and Nucleotide division + adding also annotations from Gene Ontology, the Enzyme Commission and UniPathways. + Annocript also gives information about the longest ORF and the non-coding potential using external software. + Annocript is also capable to identify putative long non-coding RNAs by using an heuristic based on homology + and sequence features. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/frankMusacchia/Annocript/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + 'annocript_fix_paths.patch', + 'annocript_no_background.patch', +] +checksums = [ + {'Annocript-2.0.tar.gz': '151dec3a390826fd2bcc7d794a9565535702dfc9c4672842e825a9fcf21406d9'}, + {'annocript_fix_paths.patch': '95359e335a6a992f5f269e8f199c9df92d765f7ff41890298acead12d562685c'}, + {'annocript_no_background.patch': 'ca02c2b02b7574c25128c9a4ce2b69a13a0bb2b409efd2ea63562053bf2e2c57'}, +] + +dependencies = [ + ('Compress-Raw-Zlib', '2.202'), + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('R', '4.2.1'), + ('CPC2', '1.0.1'), + ('BLAST+', '2.13.0'), + ('LIBSVM', '3.30'), + ('MariaDB', '10.9.3'), + ('DBD-mysql', '4.050'), +] + +postinstallcmds = [ + # Extract dna2pep to annocript's bin folder, set permissions. + # It is just a series Python scripts and I'm not building it as a standalone dependency, as sources for this SW + # are not available elsewhere than in the Annocript repository anyway. + "mkdir %(installdir)s/bin ", + "cp %(builddir)s/Annocript-*/DL_PROGRAMS/dna2pep-1.1.tar.gz %(installdir)s/bin ", + "cd %(installdir)s/bin && tar -zxvf dna2pep-1.1.tar.gz ", + "rm %(installdir)s/bin/dna2pep-1.1.tar.gz && chmod 755 %(installdir)s/bin/dna2pep-1.1/dna2pep.py ", + # extract annocript itself + 'mv %(installdir)s/annocript.pl %(installdir)s/bin/', + 'sed -i -e "1s|#!.*$|#!/usr/bin/env perl|g" %(installdir)s/bin/annocript.pl', + 'chmod a+rx %(installdir)s/bin/annocript.pl', +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('CGI', '4.43', { + 'source_tmpl': 'CGI-4.43.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO/'], + 'checksums': ['14b94f9df6e48fc26ebc4fa1e01a7b534cbc1611028a49028f9ac9d8ca27b734'], + }), +] + +modextrapaths = {'PERL5LIB': ['', 'lib/perl5/site_perl/%(perlver)s/']} + +sanity_check_paths = { + 'files': ['bin/annocript.pl'], + 'dirs': [], +} + +sanity_check_commands = ['annocript.pl --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Annocript/annocript_fix_paths.patch b/easybuild/easyconfigs/a/Annocript/annocript_fix_paths.patch new file mode 100644 index 00000000000..c863a8425a1 --- /dev/null +++ b/easybuild/easyconfigs/a/Annocript/annocript_fix_paths.patch @@ -0,0 +1,36 @@ +Do not use full paths for executables in the config file: they should be in the PATH +Author: Samuel Moors, Vrije Universiteit Brussel (VUB) +diff -ruN Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/CONFIGURATION/config_user.txt Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/CONFIGURATION/config_user.txt +--- Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/CONFIGURATION/config_user.txt 2023-05-15 18:02:35.946010508 +0200 ++++ Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/CONFIGURATION/config_user.txt 2023-05-15 18:04:08.262818993 +0200 +@@ -114,7 +114,7 @@ + + #Programs Paths + diamondPath = +-blastPath = /home/francesco/bin/ncbi-blast-2.7.1+/bin/ +-lncRNAPredProgPath = /home/francesco/bin/CPC2-beta/bin/CPC2.py +-dna2pepPath = /home/francesco/bin/dna2pep-1.1/dna2pep.py ++blastPath = ++lncRNAPredProgPath = CPC2.py ++dna2pepPath = dna2pep.py + ############################## +diff -ruN Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/LIB/annocript_management.pm Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/LIB/annocript_management.pm +--- Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/LIB/annocript_management.pm 2023-05-15 18:02:36.477018945 +0200 ++++ Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/LIB/annocript_management.pm 2023-05-15 18:05:42.646383000 +0200 +@@ -748,9 +748,15 @@ + + #Here we collect the path to the programs using an array initialized in the beginning of the page + # with all the programs used by Annocript ++ # first expand executables to full path ++ use File::Which; + foreach my $program (@$blastProgramsInUse){ + my $var= $program.'Path'; +- $configHash->{$var} = $configHash->{'blastPath'}.$program; ++ $configHash->{$var} = which($program) or die "error: blast executable $program not found\n"; ++ } ++ foreach my $mypath ('lncRNAPredProgPath', 'dna2pepPath', 'makeblastdbPath'){ ++ my $myexec = $configHash->{$mypath}; ++ $configHash->{$mypath} = which($myexec) or die "error: executable $myexec not found\n"; + } + + #CONTROLS THE PATH TO THE PROGRAMS diff --git a/easybuild/easyconfigs/a/Annocript/annocript_no_background.patch b/easybuild/easyconfigs/a/Annocript/annocript_no_background.patch new file mode 100644 index 00000000000..cf3b8ef36e3 --- /dev/null +++ b/easybuild/easyconfigs/a/Annocript/annocript_no_background.patch @@ -0,0 +1,23 @@ +Do not start perl script in background +Author: Samuel Moors, Vrije Universiteit Brussel (VUB) +diff -ruN Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/annocript.pl Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/annocript.pl +--- Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9_orig/annocript.pl 2023-05-15 18:02:36.827824452 +0200 ++++ Annocript-84fd67b30b7edb0eedc4eafd0a3fad3a117055d9/annocript.pl 2023-05-15 18:13:45.525029000 +0200 +@@ -301,7 +301,7 @@ + ."\n\nPlease let us know if any problem occurs during the computation or you don't get from Annocript the expected result.\n" + ."You may want to use the forum at: https://groups.google.com/forum/#!forum/annocript.\n",$log_file);#DEBUGCODE + +- nice_printing("STARTING ANNOCRIPT IN BACKGROUND! BYE!",$log_file); ++ nice_printing("STARTING ANNOCRIPT IN FOREGROUND! BYE!",$log_file); + + close ( $logFHandle ); + +@@ -325,7 +325,7 @@ + chdir $program_folder; + + #This perl script will be run in background +- my $runAnnocriptCmd = "nohup perl ".$configHash->{'ProgExecFolder'} ."/annocript_executor.pl $user_config $program_config $timesFile $configHashPath >> $log_file &"; ++ my $runAnnocriptCmd = "perl ".$configHash->{'ProgExecFolder'} ."/annocript_executor.pl $user_config $program_config $timesFile $configHashPath >> $log_file"; + ( system($runAnnocriptCmd) ) == 0 + or die("Unable to start annocript_executor!\n"); + } diff --git a/easybuild/easyconfigs/a/AptaSUITE/AptaSUITE-0.9.4-Java-11.eb b/easybuild/easyconfigs/a/AptaSUITE/AptaSUITE-0.9.4-Java-11.eb new file mode 100644 index 00000000000..b9a71cda462 --- /dev/null +++ b/easybuild/easyconfigs/a/AptaSUITE/AptaSUITE-0.9.4-Java-11.eb @@ -0,0 +1,45 @@ +# 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 + +easyblock = 'Tarball' + +name = 'AptaSUITE' +version = '0.9.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://drivenbyentropy.github.io/' +description = """ A full-featured bioinformatics software collection for the + comprehensive analysis of aptamers in HT-SELEX experiments """ + +toolchain = SYSTEM + +source_urls = ['https://github.com/drivenbyentropy/aptasuite/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.zip'] +checksums = ['e7b86ddccac38ce11e620d65129654a6f8a2cfe5105c092baa12c8d6e643abc3'] + +dependencies = [ + ('Java', '11'), + ('JavaFX', '11.0.2', '_linux-x64_bin-sdk'), +] + +postinstallcmds = ["cd %(installdir)s && ln -s aptasuite-%(version)s.jar aptasuite.jar"] + +modaliases = { + 'aptasuite': 'java -jar ${EBROOTAPTASUITE}/aptasuite.jar', + 'aptasuite-gui': 'java -Dprism.order=sw --module-path ${EBROOTJAVAFX}/lib ' + + '--add-modules javafx.controls,javafx.fxml -jar ${EBROOTAPTASUITE}/aptasuite.jar', +} + +sanity_check_paths = { + 'files': ['aptasuite-%(version)s.jar', 'aptasuite.jar'], + 'dirs': [] +} + +modloadmsg = """ +To execute on command line run: aptasuite +To launch the graphical interface run: aptasuite-gui +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Arb/Arb-2.19.0-GCC-10.3.0.eb b/easybuild/easyconfigs/a/Arb/Arb-2.19.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..4b931759ff0 --- /dev/null +++ b/easybuild/easyconfigs/a/Arb/Arb-2.19.0-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Arb' +version = '2.19.0' + +homepage = 'https://arblib.org/' + +description = """Arb is a C library for arbitrary-precision interval arithmetic. + It has full support for both real and complex numbers. The library is thread-safe, + portable, and extensively tested.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'fredrik-johansson' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13'] + +dependencies = [ + ('FLINT', '2.7.1'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), +] + +configopts = '--with-flint=$EBROOTFLINT --with-gmp=$EBROOTGMP --with-mpfr=$EBROOTMPFR' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'lib/lib%(namelower)s.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/Arb/Arb-2.22.1-foss-2021b.eb b/easybuild/easyconfigs/a/Arb/Arb-2.22.1-foss-2021b.eb new file mode 100644 index 00000000000..6aede555b93 --- /dev/null +++ b/easybuild/easyconfigs/a/Arb/Arb-2.22.1-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Arb' +version = '2.22.1' + +homepage = 'https://arblib.org/' + +description = """Arb is a C library for arbitrary-precision interval arithmetic. + It has full support for both real and complex numbers. The library is thread-safe, + portable, and extensively tested.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +github_account = 'fredrik-johansson' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['1ef85518eee04885e8a90196498bc75e4e2410621d4184f2bc01d46b7080a243'] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('FLINT', '2.8.4'), +] + +configopts = '--with-flint=$EBROOTFLINT --with-gmp=$EBROOTGMP --with-mpfr=$EBROOTMPFR' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'lib/lib%(namelower)s.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/Arb/Arb-2.23.0-gfbf-2022a.eb b/easybuild/easyconfigs/a/Arb/Arb-2.23.0-gfbf-2022a.eb new file mode 100644 index 00000000000..06c0fa3ab76 --- /dev/null +++ b/easybuild/easyconfigs/a/Arb/Arb-2.23.0-gfbf-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Arb' +version = '2.23.0' + +homepage = 'https://arblib.org/' + +description = """Arb is a C library for arbitrary-precision interval arithmetic. + It has full support for both real and complex numbers. The library is thread-safe, + portable, and extensively tested.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True} + +github_account = 'fredrik-johansson' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['977d41bde46f5442511d5165c705cec32c03e852c84d7d1836135d412ce702bb'] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('FLINT', '2.9.0'), +] + +configopts = '--with-flint=$EBROOTFLINT --with-gmp=$EBROOTGMP --with-mpfr=$EBROOTMPFR' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'lib/lib%(namelower)s.a'], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.7.3-foss-2021b.eb b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.7.3-foss-2021b.eb new file mode 100644 index 00000000000..55e08c3c198 --- /dev/null +++ b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.7.3-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'Arcade-Learning-Environment' +version = '0.7.3' + +homepage = 'https://github.com/mgbellemare/Arcade-Learning-Environment' +description = """The Arcade Learning Environment (ALE) is a simple framework that allows +researchers and hobbyists to develop AI agents for Atari 2600 games. It is +built on top of the Atari 2600 emulator Stella and separates the details of +emulation from agent design. This video depicts over 50 games currently +supported in the ALE.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'mgbellemare' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3bada34cc6c116377c4a807c24d9890ce33afa854ffc45e32dc90ba0dcc9140'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('pybind11', '2.7.1'), + ('SciPy-bundle', '2021.10'), + ('SDL2', '2.0.20'), + ('zlib', '1.2.11'), +] + +# main build of C++ libraries +configopts = "-DBUILD_PYTHON_LIB=OFF" + +# install Python bindings and its dependencies +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('ale-py', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['e3bada34cc6c116377c4a807c24d9890ce33afa854ffc45e32dc90ba0dcc9140'], + 'preinstallopts': "ALE_BUILD_VERSION=%(version)s", + }), +] + +sanity_check_paths = { + 'files': ['bin/ale-import-roms', 'lib64/libale.a'], + 'dirs': ['include/ale', 'lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["ale-import-roms --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2022a.eb b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2022a.eb new file mode 100644 index 00000000000..766053c3dcf --- /dev/null +++ b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2022a.eb @@ -0,0 +1,63 @@ +easyblock = 'CMakeMake' + +name = 'Arcade-Learning-Environment' +version = '0.8.1' + +homepage = 'https://github.com/mgbellemare/Arcade-Learning-Environment' +description = """The Arcade Learning Environment (ALE) is a simple framework that allows +researchers and hobbyists to develop AI agents for Atari 2600 games. It is +built on top of the Atari 2600 emulator Stella and separates the details of +emulation from agent design. This video depicts over 50 games currently +supported in the ALE.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'mgbellemare' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['28960616cd89c18925ced7bbdeec01ab0b2ebd2d8ce5b7c88930e97381b4c3b5'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('SDL2', '2.0.22'), + ('zlib', '1.2.12'), +] + +# main build of C++ libraries +configopts = "-DBUILD_PYTHON_LIB=OFF" + +# install Python bindings and its dependencies +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('ale-py', version, { + 'patches': ['%(name)s-%(version)s_fix_version.patch'], + 'preinstallopts': 'ALE_BUILD_VERSION=%(version)s', + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': [ + {'v0.8.1.tar.gz': '28960616cd89c18925ced7bbdeec01ab0b2ebd2d8ce5b7c88930e97381b4c3b5'}, + {'ale-py-0.8.1_fix_version.patch': '3ad39a05eb82c3aacf34a6de562ad2d76c254a906963bdef6a810f0b5ce0d22f'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/ale-import-roms', 'lib64/libale.a'], + 'dirs': ['include/ale', 'lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["ale-import-roms --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2023a.eb b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2023a.eb new file mode 100644 index 00000000000..aca8f2dca72 --- /dev/null +++ b/easybuild/easyconfigs/a/Arcade-Learning-Environment/Arcade-Learning-Environment-0.8.1-foss-2023a.eb @@ -0,0 +1,63 @@ +easyblock = 'CMakeMake' + +name = 'Arcade-Learning-Environment' +version = '0.8.1' + +homepage = 'https://github.com/mgbellemare/Arcade-Learning-Environment' +description = """The Arcade Learning Environment (ALE) is a simple framework that allows +researchers and hobbyists to develop AI agents for Atari 2600 games. It is +built on top of the Atari 2600 emulator Stella and separates the details of +emulation from agent design. This video depicts over 50 games currently +supported in the ALE.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'mgbellemare' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['28960616cd89c18925ced7bbdeec01ab0b2ebd2d8ce5b7c88930e97381b4c3b5'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('pybind11', '2.11.1'), + ('SciPy-bundle', '2023.07'), + ('SDL2', '2.28.2'), + ('zlib', '1.2.13'), +] + +# main build of C++ libraries +configopts = "-DBUILD_PYTHON_LIB=OFF" + +# install Python bindings and its dependencies +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('ale-py', version, { + 'patches': ['%(name)s-%(version)s_fix_version.patch'], + 'preinstallopts': 'ALE_BUILD_VERSION=%(version)s', + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': [ + {'v0.8.1.tar.gz': '28960616cd89c18925ced7bbdeec01ab0b2ebd2d8ce5b7c88930e97381b4c3b5'}, + {'ale-py-0.8.1_fix_version.patch': '3ad39a05eb82c3aacf34a6de562ad2d76c254a906963bdef6a810f0b5ce0d22f'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/ale-import-roms', 'lib64/libale.a'], + 'dirs': ['include/ale', 'lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["ale-import-roms --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/Arcade-Learning-Environment/ale-py-0.8.1_fix_version.patch b/easybuild/easyconfigs/a/Arcade-Learning-Environment/ale-py-0.8.1_fix_version.patch new file mode 100644 index 00000000000..cb483a4d74b --- /dev/null +++ b/easybuild/easyconfigs/a/Arcade-Learning-Environment/ale-py-0.8.1_fix_version.patch @@ -0,0 +1,14 @@ +Avoid git repo requirement for determining the version +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -ur Arcade-Learning-Environment-0.8.1.orig/setup.py Arcade-Learning-Environment-0.8.1/setup.py +--- Arcade-Learning-Environment-0.8.1.orig/setup.py 2023-02-17 06:52:26.000000000 +0100 ++++ Arcade-Learning-Environment-0.8.1/setup.py 2023-06-23 10:22:16.662443000 +0200 +@@ -120,6 +120,9 @@ + raises AssertionError: If `${GITHUB_REF#/v/*/}` doesn't start with + the version specified in `version_file`. + """ ++ if os.getenv('ALE_BUILD_VERSION'): ++ return os.getenv('ALE_BUILD_VERSION') ++ + semver_regex = r"(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)\.(?P0|[1-9]\d*)(?:-(?P(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?P[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?" + semver_prog = re.compile(semver_regex) diff --git a/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..a0cf6a907f4 --- /dev/null +++ b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'ArchR' +version = '1.0.1' +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': '2021b'} + +source_urls = ['https://github.com/GreenleafLab/ArchR/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e919fd25754fe87390aeee155c1d89c5319647b8b828b2827b99bc4617d9ff07'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), + ('presto', '1.0.0-20200718', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..98e3a1c19f3 --- /dev/null +++ b/easybuild/easyconfigs/a/ArchR/ArchR-1.0.2-foss-2022b-R-4.2.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': '2022b'} + +source_urls = ['https://github.com/GreenleafLab/ArchR/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['afe4d82975e9d75018e9ec9fda3d116f34f99ad1d45990cbc5a2be7dea8df352'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), + ('presto', '1.0.0-20230501', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' 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-10.3.0.eb b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..127fd3128c0 --- /dev/null +++ b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-10.3.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': '10.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PH/PHRED/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['984e185d785baf6129c6e75f8eb44411745ac00bf6122fb1c8e822a3861ec650'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('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/Archive-Zip/Archive-Zip-1.68-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6a2f22d4535 --- /dev/null +++ b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-11.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': '11.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.37'), +] + +dependencies = [ + ('Perl', '5.34.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/Archive-Zip/Archive-Zip-1.68-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ef7187f720d --- /dev/null +++ b/easybuild/easyconfigs/a/Archive-Zip/Archive-Zip-1.68-GCCcore-11.3.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': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PH/PHRED/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['984e185d785baf6129c6e75f8eb44411745ac00bf6122fb1c8e822a3861ec650'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('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/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-10.5.3-foss-2020b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-10.5.3-foss-2020b.eb new file mode 100644 index 00000000000..8bc6b53c4de --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-10.5.3-foss-2020b.eb @@ -0,0 +1,24 @@ +name = 'Armadillo' +version = "10.5.3" + +homepage = 'http://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': '2020b'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = [ + 'e6c51d8d52a6f78b9c6459f6986135093e0ee705a674307110f6175f2cd5ee37', +] + +dependencies = [ + ('Boost', '1.74.0'), + ('arpack-ng', '3.8.0'), +] + +builddependencies = [('CMake', '3.18.4')] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-10.7.5-foss-2021a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-10.7.5-foss-2021a.eb new file mode 100644 index 00000000000..db49e1ec8f1 --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-10.7.5-foss-2021a.eb @@ -0,0 +1,22 @@ +name = 'Armadillo' +version = "10.7.5" + +homepage = 'http://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': '2021a'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['5d0d9fd6b34efcba6a6fceff54c0d2d13fcbe915d7af8a30c5e72cf317d2094f'] + +dependencies = [ + ('Boost', '1.76.0'), + ('arpack-ng', '3.8.0'), +] + +builddependencies = [('CMake', '3.20.1')] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb new file mode 100644 index 00000000000..c8c874dba00 --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022a.eb @@ -0,0 +1,25 @@ +name = 'Armadillo' +version = '11.4.3' + +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': '2022a'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), + ('arpack-ng', '3.8.0'), +] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb new file mode 100644 index 00000000000..1be96397544 --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-11.4.3-foss-2022b.eb @@ -0,0 +1,25 @@ +name = 'Armadillo' +version = '11.4.3' + +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': '2022b'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['87603263664988af41da2ca4f36205e36ea47a9281fa6cfd463115f3797a1da2'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('HDF5', '1.14.0'), + ('arpack-ng', '3.8.0'), +] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb new file mode 100644 index 00000000000..9b6d74fe58b --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.6.2-foss-2023a.eb @@ -0,0 +1,25 @@ +name = 'Armadillo' +version = '12.6.2' + +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': '2023a'} + +source_urls = ['https://sourceforge.net/projects/arma/files'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e7efaaf29abda3448447bdf8cba2cceaa19afb802981b62f0c6384c842b01609'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('HDF5', '1.14.0'), + ('arpack-ng', '3.9.0'), +] + +moduleclass = 'numlib' 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..2ca0b7de51d --- /dev/null +++ b/easybuild/easyconfigs/a/Armadillo/Armadillo-12.8.0-foss-2023b.eb @@ -0,0 +1,25 @@ +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'), + ('HDF5', '1.14.3'), + ('arpack-ng', '3.9.0'), +] + + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/a/ArrayFire/ArrayFire-3.6.4-foss-2018b-CUDA-9.2.88.eb b/easybuild/easyconfigs/a/ArrayFire/ArrayFire-3.6.4-foss-2018b-CUDA-9.2.88.eb index 8549e014005..7efc990a687 100644 --- a/easybuild/easyconfigs/a/ArrayFire/ArrayFire-3.6.4-foss-2018b-CUDA-9.2.88.eb +++ b/easybuild/easyconfigs/a/ArrayFire/ArrayFire-3.6.4-foss-2018b-CUDA-9.2.88.eb @@ -29,7 +29,7 @@ builddependencies = [ dependencies = [ ('Boost', '1.67.0'), - ('CUDA', local_cudaver, '', True), + ('CUDA', local_cudaver, '', SYSTEM), ] separate_build_dir = True diff --git a/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.2.0.eb b/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.2.0.eb index 2eea4c45f18..05191b206cf 100644 --- a/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.2.0.eb @@ -20,11 +20,18 @@ checksums = ['21c46121e00cf84ad471b2b22fca722d37e55bbdf9e7118978dc250754a264bb'] dependencies = [ ('bzip2', '1.0.8'), + ('HTSlib', '1.11'), + ('libdeflate', '1.7'), ('STAR', '2.7.7a'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), ] +# make target with dynamically linked libraries is called bioconda, default is a statically linked binary +build_cmd_targets = 'bioconda' +# otherwise it fails to find sam.h +buildopts = 'CPATH=${EBROOTHTSLIB}/include/htslib:CPATH' + postinstallcmds = ['mkdir %(installdir)s/database'] files_to_copy = ['%(namelower)s', 'documentation', 'download_references.sh', 'draw_fusions.R', 'LICENSE', 'README.md', 'run_%(namelower)s.sh'] diff --git a/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.3.0.eb b/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..3c4c567c48b --- /dev/null +++ b/easybuild/easyconfigs/a/Arriba/Arriba-2.1.0-GCC-10.3.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'Arriba' +version = '2.1.0' + +homepage = 'https://github.com/suhrig/arriba' +description = """Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. + It was developed for the use in a clinical research setting. Therefore, short runtimes and high + sensitivity were important design criteria.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'suhrig' +source_urls = ['https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['21c46121e00cf84ad471b2b22fca722d37e55bbdf9e7118978dc250754a264bb'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('HTSlib', '1.12'), + ('libdeflate', '1.8'), + ('STAR', '2.7.9a'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), +] + +# make target with dynamically linked libraries is called bioconda, default is a statically linked binary +build_cmd_targets = 'bioconda' +# otherwise it fails to find sam.h +buildopts = 'CPATH=${EBROOTHTSLIB}/include/htslib:CPATH' + +postinstallcmds = ['mkdir %(installdir)s/database'] +files_to_copy = ['%(namelower)s', 'documentation', 'download_references.sh', 'draw_fusions.R', + 'LICENSE', 'README.md', 'run_%(namelower)s.sh'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [('%(namelower)s', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Arriba/Arriba-2.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/a/Arriba/Arriba-2.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..38e5191f62b --- /dev/null +++ b/easybuild/easyconfigs/a/Arriba/Arriba-2.2.1-GCC-11.2.0.eb @@ -0,0 +1,47 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'Arriba' +version = '2.2.1' + +homepage = 'https://github.com/suhrig/arriba' +description = """Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. + It was developed for use in a clinical research setting. Therefore, short runtimes and high + sensitivity were important design criteria.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/suhrig/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['9cc14675a65c147b4261372b038d2e4dab1f43ffa1ceadd456c16a49b842f090'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('HTSlib', '1.14'), + ('libdeflate', '1.8'), + ('STAR', '2.7.9a'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), +] + +# make target with dynamically linked libraries is called bioconda, default is a statically linked binary +build_cmd_targets = 'bioconda' +# otherwise it fails to find sam.h +buildopts = 'CPATH=${EBROOTHTSLIB}/include/htslib:CPATH' + +postinstallcmds = ['mkdir %(installdir)s/database'] +files_to_copy = ['%(namelower)s', 'documentation', 'download_references.sh', 'draw_fusions.R', 'LICENSE', + 'README.md', 'run_%(namelower)s.sh'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [('%(namelower)s', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Arriba/Arriba-2.3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/a/Arriba/Arriba-2.3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..e2efa2c0723 --- /dev/null +++ b/easybuild/easyconfigs/a/Arriba/Arriba-2.3.0-GCC-11.2.0.eb @@ -0,0 +1,47 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'Arriba' +version = '2.3.0' + +homepage = 'https://github.com/suhrig/arriba' +description = """Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. + It was developed for the use in a clinical research setting. Therefore, short runtimes and high + sensitivity were important design criteria.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/suhrig/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['bf7156be297a34fae274b7d2383cd37b90013860c2bfc637ff1b9f3d1f8de666'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('HTSlib', '1.14'), + ('libdeflate', '1.8'), + ('STAR', '2.7.9a'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), +] + +# make target with dynamically linked libraries is called bioconda, default is a statically linked binary +build_cmd_targets = 'bioconda' +# otherwise it fails to find sam.h +buildopts = 'CPATH=${EBROOTHTSLIB}/include/htslib:CPATH' + +postinstallcmds = ['mkdir %(installdir)s/database'] +files_to_copy = ['%(namelower)s', 'documentation', 'download_references.sh', 'draw_fusions.R', 'LICENSE', + 'README.md', 'run_%(namelower)s.sh'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [('%(namelower)s', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Arriba/Arriba-2.4.0-GCC-12.2.0.eb b/easybuild/easyconfigs/a/Arriba/Arriba-2.4.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..446ed4277cf --- /dev/null +++ b/easybuild/easyconfigs/a/Arriba/Arriba-2.4.0-GCC-12.2.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'Arriba' +version = '2.4.0' + +github_account = 'suhrig' +homepage = 'https://github.com/%(github_account)s/%(namelower)s' +description = """Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. + It was developed for the use in a clinical research setting. Therefore, short runtimes and high + sensitivity were important design criteria.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['a5173f44195d7f864aab95972d0cc3da85671c4b7e602e5a4e1a4fc143810e4a'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('HTSlib', '1.17'), + ('libdeflate', '1.15'), + ('STAR', '2.7.10b'), + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), +] + +# make target with dynamically linked libraries is called bioconda, default is a statically linked binary +build_cmd_targets = 'bioconda' +# otherwise it fails to find sam.h +buildopts = 'CPATH=${EBROOTHTSLIB}/include/htslib:CPATH' + +postinstallcmds = ['mkdir %(installdir)s/database'] +files_to_copy = ['%(namelower)s', 'documentation', 'download_references.sh', 'draw_fusions.R', 'LICENSE', + 'README.md', 'run_%(namelower)s.sh'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [('%(namelower)s', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-foss-2018b-Python-2.7.15.eb index 11d2da152e0..cd12d541a58 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-foss-2018b-Python-2.7.15.eb @@ -32,7 +32,7 @@ separate_build_dir = True start_dir = 'cpp' # see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" +configopts = "-DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" exts_defaultclass = 'PythonPackage' exts_default_options = { diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-2.7.15.eb index 81cb0dcd22c..3c7aa8f68bb 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-2.7.15.eb @@ -32,7 +32,7 @@ separate_build_dir = True start_dir = 'cpp' # see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" +configopts = "-DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" exts_defaultclass = 'PythonPackage' exts_default_options = { diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-3.6.6.eb index 8e32cce73bf..f0765af582b 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.12.0-intel-2018b-Python-3.6.6.eb @@ -32,7 +32,7 @@ separate_build_dir = True start_dir = 'cpp' # see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" +configopts = "-DARROW_PYTHON=on -DCMAKE_INSTALL_LIBDIR=lib" # also install Python bindings local_install_pyarrow_cmds = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-foss-2019b-Python-3.7.4.eb index df20932272c..e7c0d5bd617 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-foss-2019b-Python-3.7.4.eb @@ -33,14 +33,19 @@ separate_build_dir = True start_dir = 'cpp' # see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=on -DCMAKE_INSTALL_LIBDIR=lib" +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=on -DCMAKE_INSTALL_LIBDIR=lib" + +# fix download of thrift 0.12.0, which is now archived +prebuildopts = "sed -i 's@dlcdn.apache.org@archive.apache.org/dist/@g' " +prebuildopts += "thrift_ep-prefix/src/thrift_ep-stamp/download-thrift_ep.cmake && " # 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 += "export PYARROW_WITH_PARQUET=1 && " -local_install_pyarrow_cmds += " cd %(builddir)s/*arrow-%(version)s/python && " -local_install_pyarrow_cmds += " export XDG_CACHE_HOME=$TMPDIR && pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "cd %(builddir)s/*arrow-%(version)s/python && " +local_install_pyarrow_cmds += "export XDG_CACHE_HOME=$TMPDIR && " +local_install_pyarrow_cmds += "pip install --prefix %(installdir)s --no-build-isolation ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} @@ -51,6 +56,9 @@ sanity_check_paths = { 'dirs': ['include/arrow', 'lib/cmake/arrow', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'], } -sanity_check_commands = ["python -c 'import pyarrow'"] +sanity_check_commands = [ + "python -c 'import pyarrow'", + "python -c 'import pyarrow.parquet'", +] moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb index 4f5877dfda8..00220415a2f 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb @@ -37,14 +37,18 @@ separate_build_dir = True start_dir = 'cpp' # see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib" +# fix download of thrift 0.12.0, which is now archived +prebuildopts = "sed -i 's@dlcdn.apache.org@archive.apache.org/dist/@g' " +prebuildopts += "thrift_ep-prefix/src/thrift_ep-stamp/download-thrift_ep.cmake && " + # 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 += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +local_install_pyarrow_cmds += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s --no-build-isolation ." postinstallcmds = [local_install_pyarrow_cmds] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020a-Python-3.8.2.eb index d5dace22be7..d0932219b5c 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020a-Python-3.8.2.eb @@ -35,19 +35,20 @@ dependencies = [ ('Boost', '1.72.0'), ] -separate_build_dir = True start_dir = 'cpp' -# see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " -configopts += "-DCMAKE_INSTALL_LIBDIR=lib" +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON" # 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 += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +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'} @@ -60,6 +61,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020b.eb new file mode 100644 index 00000000000..e4a039c7968 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-foss-2020b.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '0.17.1' + +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': '2020b'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +patches = ['Arrow-0.17.1_fix-arm.patch'] +checksums = [ + 'cbc51c343bca08b10f7f1b2ef15cb15057c30e5e9017cfcee18337b7e2da9ea2', # apache-arrow-0.17.1.tar.gz + 'd1076d35966056c39e0c88b8fadaaa7660ee4d8c07fc2c5bdf1d5d6e683ff44a', # Arrow-0.17.1_fix-arm.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Autotools', '20200321'), + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('pkg-config', '0.29.2'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11',), # for numpy + ('Boost', '1.74.0'), +] + +start_dir = 'cpp' + +# see https://arrow.apache.org/docs/python/development.html +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON" + +# 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'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-fosscuda-2020b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-fosscuda-2020b.eb index 5ab6551adb8..941c31686a8 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-fosscuda-2020b.eb @@ -36,18 +36,19 @@ dependencies = [ ('Boost', '1.74.0'), ] -separate_build_dir = True start_dir = 'cpp' -# see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " -configopts += "-DCMAKE_INSTALL_LIBDIR=lib" +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON" # 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 += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +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'} @@ -60,6 +61,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020a-Python-3.8.2.eb index 1988ecab002..d2640e626ed 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020a-Python-3.8.2.eb @@ -33,19 +33,20 @@ dependencies = [ ('Boost', '1.72.0'), ] -separate_build_dir = True start_dir = 'cpp' -# see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " -configopts += "-DCMAKE_INSTALL_LIBDIR=lib" +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON" # 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 += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +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'} @@ -58,6 +59,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020b.eb index d5c0491c4cb..0551ea8b33b 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020b.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.17.1-intel-2020b.eb @@ -32,19 +32,20 @@ dependencies = [ ('Boost', '1.74.0'), ] -separate_build_dir = True start_dir = 'cpp' -# see https://arrow.apache.org/docs/python/development.html -configopts = "-DCMAKE_BUILD_TYPE=Release -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " -configopts += "-DCMAKE_INSTALL_LIBDIR=lib" +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON" # 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 += "PYARROW_WITH_PARQUET=1 pip install --prefix %(installdir)s ." +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'} @@ -57,6 +58,7 @@ sanity_check_paths = { sanity_check_commands = [ "python -c 'import pyarrow'", + "python -c 'import pyarrow.dataset'", "python -c 'import pyarrow.parquet'", ] diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-0.7.1-intel-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/a/Arrow/Arrow-0.7.1-intel-2017b-Python-3.6.3.eb index 75ad9458c57..293e630bae8 100644 --- a/easybuild/easyconfigs/a/Arrow/Arrow-0.7.1-intel-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/a/Arrow/Arrow-0.7.1-intel-2017b-Python-3.6.3.eb @@ -9,8 +9,8 @@ description = """Apache Arrow is a cross-language development platform for in-me toolchain = {'name': 'intel', 'version': '2017b'} -sources = ['apache-arrow-%(version)s.tar.gz'] source_urls = ['https://github.com/apache/arrow/archive/'] +sources = ['apache-arrow-%(version)s.tar.gz'] checksums = ['22667b9d3f4d36c2060d5ade8c904c528325ea4ffcea2e71671013addcd033af'] dependencies = [ @@ -22,7 +22,7 @@ dependencies = [ builddependencies = [('CMake', '3.9.5')] preconfigopts = "ZLIB_HOME=$EBROOTZLIB" -configopts = "-DARROW_PYTHON=ON -DARROW_PLASMA=ON -DARROW_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release" +configopts = "-DARROW_PYTHON=ON -DARROW_PLASMA=ON -DARROW_BUILD_TESTS=ON" start_dir = 'cpp' separate_build_dir = True @@ -30,6 +30,7 @@ separate_build_dir = True exts_defaultclass = 'PythonPackage' exts_default_options = { 'download_dep_fail': True, + 'use_pip': True } exts_list = [ @@ -38,6 +39,7 @@ exts_list = [ 'source_tmpl': sources[0], 'buildcmd': 'build_ext', 'buildopts': '--with-plasma --inplace --build-type=release', + 'checksums': ['22667b9d3f4d36c2060d5ade8c904c528325ea4ffcea2e71671013addcd033af'], }), ] 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 new file mode 100644 index 00000000000..ac85f87ad26 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-11.0.0-gfbf-2022b.eb @@ -0,0 +1,80 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '11.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': 'gfbf', 'version': '2022b'} + +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-11.0.0.tar.gz': '2dd8f0ea0848a58785628ee3a57675548d509e17213a2f5d72b0d900b43f5430'}, + {'Arrow-8.0.0_fix-BaseExtensionType-arrow-ext-methods.patch': + '2db8a4c655e2a3f0ec7dac05e13bda6c2843203568873e736d2f1b8321b0dfc7'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.3'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for numpy + ('Boost', '1.81.0'), + ('lz4', '1.9.4'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.2'), + ('snappy', '1.1.9'), + ('RapidJSON', '1.1.0'), + ('RE2', '2023-03-01'), + ('utf8proc', '2.8.0'), +] + +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 Arrow_DIR=%(installdir)s && export ArrowDataset_DIR=%(installdir)s && " +local_install_pyarrow_cmds += "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] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT, + 'lib/python%%(pyshortver)s/site-packages/pyarrow/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-14.0.1-gfbf-2023a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb new file mode 100644 index 00000000000..0c588b9f16b --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-14.0.1-gfbf-2023a.eb @@ -0,0 +1,87 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '14.0.1' + +homepage = 'https://arrow.apache.org' +description = """Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform + for in-memory data.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.5'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy + ('Boost', '1.82.0'), + ('lz4', '1.9.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.5'), + ('snappy', '1.1.10'), + ('RapidJSON', '1.1.0-20230928'), + ('RE2', '2023-08-01'), + ('utf8proc', '2.8.0'), +] + +start_dir = 'cpp' + +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_ORC=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " +configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_LZ4=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DARROW_WITH_ZSTD=ON -DZSTD_ROOT=$EBROOTZSTD " + +# 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 PYARROW_WITH_ORC=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'} + +sanity_check_paths = { + 'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT, + 'lib/python%%(pyshortver)s/site-packages/pyarrow/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 'import pyarrow.orc'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-16.1.0-gfbf-2023b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-16.1.0-gfbf-2023b.eb new file mode 100644 index 00000000000..5219bd9c54f --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-16.1.0-gfbf-2023b.eb @@ -0,0 +1,87 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '16.1.0' + +homepage = 'https://arrow.apache.org' +description = """Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform + for in-memory data.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['c9e60c7e87e59383d21b20dc874b17153729ee153264af6d21654b7dff2c60d7'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '2.0.3'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), # for numpy + ('Boost', '1.83.0'), + ('lz4', '1.9.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.5'), + ('snappy', '1.1.10'), + ('RapidJSON', '1.1.0-20240409'), + ('RE2', '2024-03-01'), + ('utf8proc', '2.9.0'), +] + +start_dir = 'cpp' + +# see https://arrow.apache.org/docs/developers/python.html +configopts = "-DARROW_DATASET=on -DARROW_PYTHON=on -DARROW_PARQUET=ON -DARROW_ORC=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib -DPython3_ROOT_DIR=$EBROOTPYTHON " +configopts += "-DARROW_WITH_ZLIB=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_LZ4=ON -DARROW_WITH_SNAPPY=ON " +configopts += "-DARROW_WITH_ZSTD=ON -DZSTD_ROOT=$EBROOTZSTD " + +# 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 PYARROW_WITH_ORC=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': ['c9e60c7e87e59383d21b20dc874b17153729ee153264af6d21654b7dff2c60d7'], + 'start_dir': '%(builddir)s/apache-arrow-%(version)s/python', + 'preinstallopts': _pyarrow_preinstall_opts, + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libarrow.a', 'lib/libarrow.%s' % SHLIB_EXT, + 'lib/python%%(pyshortver)s/site-packages/pyarrow/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 'import pyarrow.orc'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb new file mode 100644 index 00000000000..313f50a90b1 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '6.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': '2021a'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['69d268f9e82d3ebef595ad1bdc83d4cb02b20c181946a68631f6645d7c1f7a90'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Autotools', '20210128'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('Boost', '1.76.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('zstd', '1.4.9'), + ('snappy', '1.1.8'), + ('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 " + +# 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 += "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'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb new file mode 100644 index 00000000000..49eabfce7af --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.0-foss-2021b.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '6.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'] +checksums = ['69d268f9e82d3ebef595ad1bdc83d4cb02b20c181946a68631f6645d7c1f7a90'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Autotools', '20210726'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), +] + +# 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 " + +# 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'", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb new file mode 100644 index 00000000000..c1522dd1d30 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-6.0.1-foss-2021a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'Arrow' +version = '6.0.1' + +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': '2021a'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s'] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['3786b3d2df954d078b3e68f98d2e5aecbaa3fa2accf075d7a3a13c187b9c5294'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Autotools', '20210128'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('zstd', '1.4.9'), + ('snappy', '1.1.8'), + ('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 " + +# 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 += "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'", +] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..1ee3bb582e9 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2021a.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': '2021a'} + +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.20.1'), + ('Autotools', '20210128'), + ('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.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('Boost', '1.76.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('zstd', '1.4.9'), + ('snappy', '1.1.8'), + ('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-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 new file mode 100644 index 00000000000..ab4fc5b05fe --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022.05.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': '2022.05'} + +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.23.1'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.8.0'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('Boost', '1.79.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.2'), + ('snappy', '1.1.9'), + ('RapidJSON', '1.1.0'), + ('RE2', '2022-06-01'), + ('utf8proc', '2.7.0'), +] + +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-2022a.eb b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.eb new file mode 100644 index 00000000000..6f2ede07dd6 --- /dev/null +++ b/easybuild/easyconfigs/a/Arrow/Arrow-8.0.0-foss-2022a.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': '2022a'} + +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.23.1'), + ('Autotools', '20220317'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.8.0'), +] + +# Arrow strongly prefers included jemalloc, so not including it as a dependency +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('Boost', '1.79.0'), + ('lz4', '1.9.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('zstd', '1.5.2'), + ('snappy', '1.1.9'), + ('RapidJSON', '1.1.0'), + ('RE2', '2022-06-01'), + ('utf8proc', '2.7.0'), +] + +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_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/Artemis/Artemis-18.0.2-Java-11.eb b/easybuild/easyconfigs/a/Artemis/Artemis-18.0.2-Java-11.eb new file mode 100644 index 00000000000..d851e2aa64b --- /dev/null +++ b/easybuild/easyconfigs/a/Artemis/Artemis-18.0.2-Java-11.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Artemis' +version = '18.0.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://sanger-pathogens.github.io/Artemis/' +description = """The Artemis Software is a set of software tools for genome browsing and annotation. + It includes: Artemis, Artemis Comparison Tool (ACT), BamView and DNAPlotter.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/sanger-pathogens/%(name)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-unix-release-%(version)s.tar.gz'] +checksums = ['1cb9f36af4c96ae3bde4fa849e01e66c830d4b968867e7842abbab9195b57e60'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['act', 'art', 'bamview', 'dnaplotter'], + 'dirs': [], +} + +# act -help returns exit-code 1, but it is valid working executable. +# Workaround is to grep phrase from help command output +# https://github.com/sanger-pathogens/Artemis/issues/296 +sanity_check_commands = [ + "act -help | grep -q 'EXAMPLES'" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Artemis/Artemis-18.0.3-Java-11.eb b/easybuild/easyconfigs/a/Artemis/Artemis-18.0.3-Java-11.eb new file mode 100644 index 00000000000..58cd4cbcce6 --- /dev/null +++ b/easybuild/easyconfigs/a/Artemis/Artemis-18.0.3-Java-11.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Artemis' +version = '18.0.3' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://sanger-pathogens.github.io/Artemis/' +description = """The Artemis Software is a set of software tools for genome browsing and annotation. + It includes: Artemis, Artemis Comparison Tool (ACT), BamView and DNAPlotter.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/sanger-pathogens/%(name)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-unix-release-%(version)s.tar.gz'] +checksums = ['2603e6daf123c866817fcc22d4577244787349913cebc7acecbcc2e059a8e15c'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['act', 'art', 'bamview', 'dnaplotter'], + 'dirs': [], +} + +# act -help returns exit-code 1, but it is valid working executable. +# Workaround is to grep phrase from help command output +# https://github.com/sanger-pathogens/Artemis/issues/296 +sanity_check_commands = [ + "act -help | grep -q 'EXAMPLES'" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Artemis/Artemis-18.2.0-Java-11.eb b/easybuild/easyconfigs/a/Artemis/Artemis-18.2.0-Java-11.eb new file mode 100644 index 00000000000..4e8a42fd6f8 --- /dev/null +++ b/easybuild/easyconfigs/a/Artemis/Artemis-18.2.0-Java-11.eb @@ -0,0 +1,30 @@ +easyblock = 'PackedBinary' + +name = 'Artemis' +version = '18.2.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://sanger-pathogens.github.io/Artemis/' +description = """The Artemis Software is a set of software tools for genome browsing and annotation. + It includes: Artemis, Artemis Comparison Tool (ACT), BamView and DNAPlotter.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/sanger-pathogens/%(name)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-unix-release-%(version)s.tar.gz'] +checksums = ['06441e1abab139cb0a09d5844cb1b84ae727ace53a6c0efdd1eea8d8cfab8382'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['act', 'art', 'bamview', 'dnaplotter'], + 'dirs': [], +} + +sanity_check_commands = [ + "act --help", + "art --help", + "dnaplotter --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb new file mode 100644 index 00000000000..b3efd6d0772 --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'ArviZ' +version = '0.11.4' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['01872758eeabb9941479ec5dd378117337bf95d14cc2c298b437cfda1780b436'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy, scipy, pandas + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('matplotlib', '3.4.3'), + ('typing-extensions', '3.10.0.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb new file mode 100644 index 00000000000..f03c0011d6e --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.11.4-intel-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'ArviZ' +version = '0.11.4' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['01872758eeabb9941479ec5dd378117337bf95d14cc2c298b437cfda1780b436'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy, scipy, pandas + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('matplotlib', '3.4.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2021a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2021a.eb new file mode 100644 index 00000000000..68de3de1a5e --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.12.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # numpy, scipy, pandas + ('netcdf4-python', '1.5.7'), + ('xarray', '0.19.0'), + ('matplotlib', '3.4.2'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.5.0', { + 'checksums': ['3f799ead32bb28ce4e9b3cf95c2daa9c2040f06b25a34f8f2cd303f0268445ed'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['57d80eacc51909f18e6ab63c96a6b02227c3b077c5ffa406d5f4dabe03b8f019'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb new file mode 100644 index 00000000000..12bc8838f20 --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.12.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy, scipy, pandas + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.3.0', { + 'checksums': ['81217c145218479327469f1669f34763b7e149ed6789fd596cc90ff2d772098e'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['57d80eacc51909f18e6ab63c96a6b02227c3b077c5ffa406d5f4dabe03b8f019'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb new file mode 100644 index 00000000000..365dbb5575c --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.12.1-intel-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.12.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy, scipy, pandas + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.3.0', { + 'checksums': ['81217c145218479327469f1669f34763b7e149ed6789fd596cc90ff2d772098e'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['57d80eacc51909f18e6ab63c96a6b02227c3b077c5ffa406d5f4dabe03b8f019'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/ArviZ/ArviZ-0.16.1-foss-2023a.eb b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.16.1-foss-2023a.eb new file mode 100644 index 00000000000..af5291fdab6 --- /dev/null +++ b/easybuild/easyconfigs/a/ArviZ/ArviZ-0.16.1-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'ArviZ' +version = '0.16.1' + +homepage = 'https://github.com/arviz-devs/arviz' +description = "Exploratory analysis of Bayesian models with Python" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # numpy, scipy, pandas + ('netcdf4-python', '1.6.4'), + ('xarray', '2023.9.0'), + ('matplotlib', '3.7.2'), + ('h5netcdf', '1.2.0'), +] + +use_pip = True + +exts_list = [ + ('xarray-einstats', '0.6.0', { + 'sources': ['xarray_einstats-%(version)s.tar.gz'], + 'checksums': ['ace90601505cfbe2d374762e674557ed14e1725b024823372f7ef9fd237effad'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['35bab9072f66f5a8204d2a71911d09ce05056c177f1a780de53efa2714c27575'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/a/Austin/Austin-3.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Austin/Austin-3.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d4f3285a8fd --- /dev/null +++ b/easybuild/easyconfigs/a/Austin/Austin-3.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Austin' +version = '3.2.0' + +homepage = 'https://github.com/P403n1x87/austin' +description = "Austin is a Python frame stack sampler for CPython written in pure C." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/P403n1x87/austin/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ee189af905fac77ff9173b57d8e927bdb7c4cf5e18b1bfd7f4456ac46fe04484'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] +dependencies = [ + ('Python', '3.9.6'), + ('lxml', '4.6.3'), + ('protobuf-python', '3.17.3'), +] + +preconfigopts = "autoreconf --install && automake --add-missing && " + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('importlib_resources', '2.0.1', { + 'checksums': ['f5edfcece1cc9435d0979c19e08739521f4cf1aa1adaf6e571f732df6f568962'], + }), + ('austin-python', '1.2.1', { + 'modulename': 'austin', + 'checksums': ['42ba109c031c8c004c348fbbe5c18f177761d3dc531917420de51fa77cdb1fab'], + }), + ('austin-tui', '1.1.0', { + 'checksums': ['b2145a0e1da5095281974e2a37b4e67ce198f5281b7ac48e2801dbf879f46661'], + }), +] + +sanity_check_paths = { + 'files': ['bin/austin', 'bin/austin-tui', 'share/man/man1/austin.1'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "austin --help", + "austin-tui --help", + "pip check", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Austin/Austin-3.2.0.eb b/easybuild/easyconfigs/a/Austin/Austin-3.2.0.eb new file mode 100644 index 00000000000..2ed5b3c23eb --- /dev/null +++ b/easybuild/easyconfigs/a/Austin/Austin-3.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Austin' +version = '3.2.0' + +homepage = 'https://github.com/P403n1x87/austin' +description = "Austin is a Python frame stack sampler for CPython written in pure C." + +toolchain = SYSTEM + +source_urls = ['https://github.com/P403n1x87/austin/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ee189af905fac77ff9173b57d8e927bdb7c4cf5e18b1bfd7f4456ac46fe04484'] + +cmds_map = [('.*', "$CC $CFLAGS -std=c99 -Wall -pthread src/*.c -o src/austin")] + +files_to_copy = [ + (['src/austin'], 'bin'), + (['src/austin.1'], 'share/man/man1'), +] + +sanity_check_paths = { + 'files': ['bin/austin', 'share/man/man1/austin.1'], + 'dirs': [], +} + +sanity_check_commands = [ + "austin --help", +] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/a/Auto-WEKA/Auto-WEKA-2.6-WEKA-3.8.5-Java-11.eb b/easybuild/easyconfigs/a/Auto-WEKA/Auto-WEKA-2.6-WEKA-3.8.5-Java-11.eb new file mode 100644 index 00000000000..165bfe50d5a --- /dev/null +++ b/easybuild/easyconfigs/a/Auto-WEKA/Auto-WEKA-2.6-WEKA-3.8.5-Java-11.eb @@ -0,0 +1,42 @@ +easyblock = "Tarball" + +name = 'Auto-WEKA' +version = '2.6' +local_weka_version = '3.8.5' +versionsuffix = '-WEKA-%s-Java-%%(javaver)s' % local_weka_version + +homepage = 'http://www.cs.ubc.ca/labs/beta/Projects/autoweka/' +description = """ +Auto-WEKA considers the problem of simultaneously selecting a learning +algorithm and setting its hyperparameters, going beyond previous methods that +address these issues in isolation. Auto-WEKA does this using a fully automated +approach, leveraging recent innovations in Bayesian optimization. Our hope is +that Auto-WEKA will help non-expert users to more effectively identify machine +learning algorithms and hyperparameter settings appropriate to their +applications, and hence to achieve improved performance.""" + +toolchain = SYSTEM + +source_urls = ['http://www.cs.ubc.ca/labs/beta/Projects/autoweka/'] +sources = ['autoweka-%(version)s.zip'] +checksums = ['8fba8835f6326a9fd621ffe9f119921adae00dcef97ffad5357362b155374840'] + +dependencies = [ + ('Java', '11'), + ('WEKA', local_weka_version, '-Java-%(javaver)s'), +] + +sanity_check_paths = { + 'files': ['autoweka.jar'], + 'dirs': [] +} + +sanity_check_commands = [ + "java weka.Run -no-scan weka.classifiers.meta.AutoWEKAClassifier -h" +] + +modloadmsg = """Run %(name)s classifiers with: +java weka.Run -no-scan weka.classifiers.meta.AutoWEKAClassifier -h +""" + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-10.3.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..7998e273f4c --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-10.3.0-CUDA-11.3.1.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'AutoDock-GPU' +version = '1.5.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ccsb-scripps/AutoDock-GPU' +description = """OpenCL and Cuda accelerated version of AutoDock. It leverages its embarrasingly +parallelizable LGA by processing ligand-receptor poses in parallel over +multiple compute units. +AutoDock is a suite of automated docking tools. It is designed to predict how +small molecules, such as substrates or drug candidates, bind to a receptor of +known 3D structure.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'cstd': 'c++11'} + +github_account = 'ccsb-scripps' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6557df95eed99323befddcef6b8da8b67eba22476efccd1e69a87ffdf075e5f4'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), +] + +parallel = 1 + +# Default CUDA compute capabilities (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.2', '6.0', '6.1', '7.0'] +# put CUDA compute capabilities in a shell variable to strip dots in make command +prebuildopts = 'CUDA_CC_TARGETS="%(cuda_cc_space_sep)s"; ' + +# Use complation flags from EB +prebuildopts += "sed -i 's/^LFLAGS=.*/LFLAGS=$(LDFLAGS)/;s/^CFLAGS=.*/CFLAGS+=$(IFLAGS) $(LFLAGS)/' Makefile.Cuda && " + +prebuildopts += 'GPU_INCLUDE_PATH=$EBROOTCUDA/include ' +prebuildopts += 'GPU_LIBRARY_PATH=$EBROOTCUDA/lib ' + +# build for CUDA with defined CUDA compute capabilities +buildopts = 'DEVICE=CUDA TARGETS="${CUDA_CC_TARGETS//./}"' + +files_to_copy = [ + (['bin/*'], 'bin'), + (['doc', 'examples', 'LICENSE', 'LICENSE_LGPL', 'README.md'], 'share'), + (['input'], 'share/examples'), +] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -s autodock_gpu_64wi autodock_gpu", +] + +sanity_check_paths = { + 'files': ['bin/autodock_gpu', 'bin/autodock_gpu_64wi', 'bin/adgpu_analysis'], + 'dirs': ['share'], +} + +sanity_check_commands = [('autodock_gpu', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d2feffd75b6 --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock-GPU/AutoDock-GPU-1.5.3-GCC-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'AutoDock-GPU' +version = '1.5.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ccsb-scripps/AutoDock-GPU' +description = """OpenCL and Cuda accelerated version of AutoDock. It leverages its embarrasingly +parallelizable LGA by processing ligand-receptor poses in parallel over +multiple compute units. +AutoDock is a suite of automated docking tools. It is designed to predict how +small molecules, such as substrates or drug candidates, bind to a receptor of +known 3D structure.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +github_account = 'ccsb-scripps' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6557df95eed99323befddcef6b8da8b67eba22476efccd1e69a87ffdf075e5f4'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +parallel = 1 + +# Default CUDA compute capabilities (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.2', '6.0', '6.1', '7.0'] +# put CUDA compute capabilities in a shell variable to strip dots in make command +prebuildopts = 'CUDA_CC_TARGETS="%(cuda_cc_space_sep)s"; ' + +# Use complation flags from EB +prebuildopts += "sed -i 's/^LFLAGS=.*/LFLAGS=$(LDFLAGS)/;s/^CFLAGS=.*/CFLAGS+=$(IFLAGS) $(LFLAGS)/' Makefile.Cuda && " + +prebuildopts += 'GPU_INCLUDE_PATH=$EBROOTCUDA/include ' +prebuildopts += 'GPU_LIBRARY_PATH=$EBROOTCUDA/lib ' + +# build for CUDA with defined CUDA compute capabilities +buildopts = 'DEVICE=CUDA TARGETS="${CUDA_CC_TARGETS//./}"' + +files_to_copy = [ + (['bin/*'], 'bin'), + (['doc', 'examples', 'LICENSE', 'LICENSE_LGPL', 'README.md'], 'share'), + (['input'], 'share/examples'), +] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -s autodock_gpu_64wi autodock_gpu", +] + +sanity_check_paths = { + 'files': ['bin/autodock_gpu', 'bin/autodock_gpu_64wi', 'bin/adgpu_analysis'], + 'dirs': ['share'], +} + +sanity_check_commands = [('autodock_gpu', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.1.2-linux_x86.eb b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.1.2-linux_x86.eb new file mode 100644 index 00000000000..d0c0d56d246 --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.1.2-linux_x86.eb @@ -0,0 +1,26 @@ +# 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 = "Tarball" + +name = 'AutoDock-Vina' +version = '1.1.2' +versionsuffix = '-linux_x86' + +homepage = 'http://vina.scripps.edu/index.html' +description = """ AutoDock Vina is an open-source program for doing molecular docking. """ + +toolchain = SYSTEM + +source_urls = ['https://vina.scripps.edu/wp-content/uploads/sites/55/2020/12'] +sources = ['autodock_vina_%s%s.tgz' % (version.replace('.', '_'), versionsuffix.replace('-', '_'))] +checksums = ['70543bd953626cf45c53bd1f15ee41e481bde0f94e9746a6be59eabc2cc6bcce'] + +sanity_check_paths = { + 'files': ["bin/vina_split", "bin/vina"], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb new file mode 100644 index 00000000000..ebebe1b79cb --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021a.eb @@ -0,0 +1,65 @@ +easyblock = 'MakeCp' + +name = 'AutoDock-Vina' +version = '1.2.3' + +homepage = 'https://vina.scripps.edu/' +description = "AutoDock Vina is an open-source program for doing molecular docking." + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'ccsb-scripps' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0'] + +builddependencies = [ + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +start_dir = 'build/linux/release' + +buildopts = 'GPP="$CXX" BOOST_INCLUDE="$EBROOTBOOST/include"' + +files_to_copy = [ + (['vina', 'vina_split'], 'bin'), + (['docs', 'example', 'LICENSE', 'README.md'], 'share'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +# fix hardcoded paths in setup.py +_ext_boost_paths = ('$EBROOTBOOST/include', '$EBROOTBOOST/lib') +_ext_fix_paths = r'sed -i "s|= locate_boost()|= \"%s\", \"%s\"|" setup.py && ' % _ext_boost_paths +_ext_fix_paths += r"sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name + +exts_list = [ + ('vina', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0'], + 'start_dir': 'build/python', + 'preinstallopts': _ext_fix_paths, + }), +] + +sanity_check_paths = { + 'files': ['bin/vina', 'bin/vina_split'], + 'dirs': ['share'], +} + +sanity_check_commands = [('vina', '--help')] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb new file mode 100644 index 00000000000..e704afbbe62 --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock-Vina/AutoDock-Vina-1.2.3-foss-2021b.eb @@ -0,0 +1,65 @@ +easyblock = 'MakeCp' + +name = 'AutoDock-Vina' +version = '1.2.3' + +homepage = 'https://vina.scripps.edu/' +description = "AutoDock Vina is an open-source program for doing molecular docking." + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'ccsb-scripps' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0'] + +builddependencies = [ + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +start_dir = 'build/linux/release' + +buildopts = 'GPP="$CXX" BOOST_INCLUDE="$EBROOTBOOST/include"' + +files_to_copy = [ + (['vina', 'vina_split'], 'bin'), + (['docs', 'example', 'LICENSE', 'README.md'], 'share'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +# fix hardcoded paths in setup.py +_ext_boost_paths = ('$EBROOTBOOST/include', '$EBROOTBOOST/lib') +_ext_fix_paths = r'sed -i "s|= locate_boost()|= \"%s\", \"%s\"|" setup.py && ' % _ext_boost_paths +_ext_fix_paths += r"sed -i 's|\.\./\.\./src|%%(builddir)s/%%(name)s/%s-%%(version)s/src|g' setup.py && " % name + +exts_list = [ + ('vina', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['22f85b2e770b6acc363429153b9551f56e0a0d88d25f747a40d2f55a263608e0'], + 'start_dir': 'build/python', + 'preinstallopts': _ext_fix_paths, + }), +] + +sanity_check_paths = { + 'files': ['bin/vina', 'bin/vina_split'], + 'dirs': ['share'], +} + +sanity_check_commands = [('vina', '--help')] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AutoDock/AutoDock-4.2.6-GCC-10.3.0.eb b/easybuild/easyconfigs/a/AutoDock/AutoDock-4.2.6-GCC-10.3.0.eb new file mode 100644 index 00000000000..76a1698a199 --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDock/AutoDock-4.2.6-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'Bundle' + +name = 'AutoDock' +version = '4.2.6' + +homepage = 'http://autodock.scripps.edu/' +description = """AutoDock is a suite of automated docking tools. It is designed to + predict how small molecules, such as substrates or drug candidates, bind to + a receptor of known 3D structure.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'source_urls': ['https://autodock.scripps.edu/wp-content/uploads/sites/56/2021/10'], + 'sources': ['autodocksuite-%(version)s-src.tar.gz'], + 'checksums': ['4b24ce4baf216a5e1a6a79bb664eeed684aed17cede64ff0061aa1bcc17874c4'], + 'start_dir': 'src/%(namelower)s', +} + +components = [ + ('AutoGrid', version), + ('AutoDock', version), +] + +sanity_check_paths = { + 'files': ['bin/autodock4', 'bin/autogrid4'], + 'dirs': [] +} + +sanity_check_commands = [ + ('autodock4', '--help'), + ('autogrid4', '--help'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AutoDockSuite/AutoDockSuite-4.2.6-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/AutoDockSuite/AutoDockSuite-4.2.6-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..c1f2898ba56 --- /dev/null +++ b/easybuild/easyconfigs/a/AutoDockSuite/AutoDockSuite-4.2.6-GCCcore-8.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'AutoDockSuite' +version = '4.2.6' + +homepage = 'https://autodock.scripps.edu/' + +description = """ + AutoDock is a suite of automated docking tools. It is designed to + predict how small molecules, such as substrates or drug candidates, bind to + a receptor of known 3D structure. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://autodock.scripps.edu/wp-content/uploads/sites/56/2021/10'] +sources = ['%(namelower)s-%(version)s-src.tar.gz'] +checksums = ['4b24ce4baf216a5e1a6a79bb664eeed684aed17cede64ff0061aa1bcc17874c4'] + +builddependencies = [('binutils', '2.32')] + +preconfigopts = ['cd %s &&' % x for x in ['autodock', 'autogrid']] +prebuildopts = preconfigopts +preinstallopts = preconfigopts + +sanity_check_paths = { + 'files': ["bin/autodock4", "bin/autogrid4"], + 'dirs': [] +} + +sanity_check_commands = ['%s %s' % (x, y) for x in ['autodock4', 'autogrid4'] for y in ['--help', '--version']] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/AutoDock_Vina/AutoDock_Vina-1.1.2_linux_x86.eb b/easybuild/easyconfigs/a/AutoDock_Vina/AutoDock_Vina-1.1.2_linux_x86.eb deleted file mode 100644 index 01717004821..00000000000 --- a/easybuild/easyconfigs/a/AutoDock_Vina/AutoDock_Vina-1.1.2_linux_x86.eb +++ /dev/null @@ -1,25 +0,0 @@ -# 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 = "Tarball" - -name = 'AutoDock_Vina' -version = '1.1.2' -versionsuffix = '_linux_x86' - -homepage = 'http://vina.scripps.edu/index.html' -description = """ AutoDock Vina is an open-source program for doing molecular docking. """ - -toolchain = SYSTEM - -source_urls = ['http://vina.scripps.edu/download/'] -sources = ['%s_%s%s.tgz' % (name.lower(), version.replace('.', '_'), versionsuffix)] - -sanity_check_paths = { - 'files': ["bin/vina_split", "bin/vina"], - 'dirs': [] -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/AutoGeneS/AutoGeneS-1.0.4-foss-2020b.eb b/easybuild/easyconfigs/a/AutoGeneS/AutoGeneS-1.0.4-foss-2020b.eb new file mode 100644 index 00000000000..d37a02530cf --- /dev/null +++ b/easybuild/easyconfigs/a/AutoGeneS/AutoGeneS-1.0.4-foss-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'AutoGeneS' +version = '1.0.4' + +homepage = 'https://github.com/theislab/AutoGeneS' +description = """AutoGeneS automatically extracts informative genes and reveals the cellular heterogeneity +of bulk RNA samples.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('dill', '0.3.3'), + ('scikit-learn', '0.23.2'), + ('h5py', '3.1.0'), +] + +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('anndata', '0.7.6', { + 'checksums': ['a3cc67bba9a4cd4b5984aec64c4f577c2d5a4695f4064027f8e6a9dac1f508b2'], + }), + ('cachetools', '4.2.2', { + 'checksums': ['61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff'], + }), + ('autogenes', version, { + 'checksums': ['8daa6e9aa97c7ddf45ab0906307a4875a25bd99301be0838bb17e313d837446a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7b10ea408dd --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# 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:: GNU Free Documentation License +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Autoconf-archive' +version = '2023.02.20' + +homepage = "https://www.gnu.org/software/autoconf-archive" + +description = """ +The GNU Autoconf Archive is a collection of more than 500 macros for GNU Autoconf +that have been contributed as free software by friendly supporters of the cause from +all over the Internet. Every single one of those macros can be re-used without +imposing any restrictions whatsoever on the licensing of the generated configure script. +In particular, it is possible to use all those macros in configure scripts that +are meant for non-free software. This policy is unusual for a Free Software Foundation +project. The FSF firmly believes that software ought to be free, and software licenses +like the GPL are specifically designed to ensure that derivative work based on free +software must be free as well. In case of Autoconf, however, an exception has been made, +because Autoconf is at such a pivotal position in the software development tool chain +that the benefits from having this tool available as widely as possible outweigh the +disadvantage that some authors may choose to use it, too, for proprietary software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('makeinfo', '6.8'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': [], + 'dirs': ['share/%s' % x for x in + ['aclocal', 'doc', 'info']], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..73e0608725b --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf-archive/Autoconf-archive-2023.02.20-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +## +# 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:: GNU Free Documentation License +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Autoconf-archive' +version = '2023.02.20' + +homepage = "https://www.gnu.org/software/autoconf-archive" + +description = """ +The GNU Autoconf Archive is a collection of more than 500 macros for GNU Autoconf +that have been contributed as free software by friendly supporters of the cause from +all over the Internet. Every single one of those macros can be re-used without +imposing any restrictions whatsoever on the licensing of the generated configure script. +In particular, it is possible to use all those macros in configure scripts that +are meant for non-free software. This policy is unusual for a Free Software Foundation +project. The FSF firmly believes that software ought to be free, and software licenses +like the GPL are specifically designed to ensure that derivative work based on free +software must be free as well. In case of Autoconf, however, an exception has been made, +because Autoconf is at such a pivotal position in the software development tool chain +that the benefits from having this tool available as widely as possible outweigh the +disadvantage that some authors may choose to use it, too, for proprietary software. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('makeinfo', '7.0.3'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': [], + 'dirs': ['share/%s' % x for x in + ['aclocal', 'doc', 'info']], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-4.9.2.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-4.9.2.eb index d2c6124a0ad..fed83b82ecb 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-4.9.2.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-4.9.2.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.17')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.3.0.eb index 7d84000783a..029fc124736 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.3.0.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.18')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.4.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.4.0.eb index b0b5d3dc351..76f7bbb3a51 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-5.4.0.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.18')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.1.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.1.0.eb index 47f11e88e4c..acd3e293abe 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.1.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.1.0.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.17')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.2.0.eb index 0d4d4fbba39..f8696b70aa8 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.2.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.2.0.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.17')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.3.0.eb index 56c44c440ee..8c7c17b1767 100644 --- a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.69-GCCcore-6.3.0.eb @@ -19,7 +19,7 @@ checksums = ['954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969'] dependencies = [('M4', '1.4.18')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", "autoscan", diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4a0acd7948a --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..84cfa189e05 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4e315d3a24c --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0b47b6d9a77 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.1.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..de56240d150 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.1.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..82a7f9766df --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8cbff6d13b2 --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.72-GCCcore-13.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.72' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['afb181a76e1ee72832f6581c0eddf8df032b83e2e0239ef79ebedc4467d92d6e'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.2'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-4.9.2.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-4.9.2.eb index d469fdb58f5..263e4f8bb5e 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-4.9.2.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-4.9.2.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.3.0.eb index 9d0d0b21a79..a2333fa888f 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.3.0.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.4.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.4.0.eb index 3ee3bf9adf7..b62e65b9410 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-5.4.0.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.1.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.1.0.eb index 1b4be92da39..c36cbe68b6a 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.1.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.1.0.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.2.0.eb index c8c1c5b5d60..d0a1c837755 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.2.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.2.0.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.3.0.eb index e447b6af5a2..8ba57370da3 100644 --- a/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/a/Automake/Automake-1.15-GCCcore-6.3.0.eb @@ -31,7 +31,7 @@ checksums = [ dependencies = [('Autoconf', '2.69')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/automake', 'bin/aclocal'], diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f3faae6a20a --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.4-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.4' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8a0f0be7aaae2efa3a68482af28e5872d8830b9813a6a932a2571eac63ca1794'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dfde2665a12 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.34.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ff89d29e31a --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..86496ab7d32 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.1.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..93493ff6472 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.1.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.36.1'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..371c50f375d --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f22a104b063 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Autoconf', '2.72'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.2'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5.eb new file mode 100644 index 00000000000..7ad10e93b88 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Automake-1.16.5_fix-help2man-error.patch'] +checksums = [ + {'automake-1.16.5.tar.gz': '07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'}, + {'Automake-1.16.5_fix-help2man-error.patch': 'ebcd629aefcf6b7dbb3bc3a8abcdf71d4f7605ecda6c6eae2f93d73271df6930'}, +] + +dependencies = [ + ('Autoconf', '2.71'), +] + +osdependencies = [ + # Thread::Queue is already available by default in Ubuntu + # providing a package that is automatically installed as workaround + ('perl-Thread-Queue', 'debianutils'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5_fix-help2man-error.patch b/easybuild/easyconfigs/a/Automake/Automake-1.16.5_fix-help2man-error.patch new file mode 100644 index 00000000000..396cf962b88 --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5_fix-help2man-error.patch @@ -0,0 +1,15 @@ +fix for: + help2man: can't get --help info from automake-1.16 + +based on https://github.com/xbmc/xbmc/pull/18584 +--- a/Makefile.in 2020-03-16 19:11:10.000000000 -0700 ++++ b/Makefile.in 2020-10-22 08:06:24.606751367 -0700 +@@ -699,7 +699,7 @@ + update_mans = \ + $(AM_V_GEN): \ + && $(MKDIR_P) doc \ +- && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@ ++ && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@ --no-discard-stderr + + amhello_sources = \ + doc/amhello/configure.ac \ diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20210726-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20210726-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..121721f98d8 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20210726-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20210726' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.4'), # 20210726 + ('libtool', '2.4.6'), # 20150215 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9a9fec6ec60 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..80a6cff18b1 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..57d84ce4906 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.1.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..37eed5a53f3 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.1.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..49a29016b9e --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb new file mode 100644 index 00000000000..7621956c2f0 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317.eb @@ -0,0 +1,21 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = SYSTEM + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4c0c23dd0b1 --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20231222-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20231222' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +dependencies = [ + ('Autoconf', '2.72'), # 20231222 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Avogadro2/Avogadro2-1.97.0-linux-x86_64.eb b/easybuild/easyconfigs/a/Avogadro2/Avogadro2-1.97.0-linux-x86_64.eb new file mode 100644 index 00000000000..3dd1e871019 --- /dev/null +++ b/easybuild/easyconfigs/a/Avogadro2/Avogadro2-1.97.0-linux-x86_64.eb @@ -0,0 +1,30 @@ +easyblock = 'Binary' + +name = 'Avogadro2' +version = '1.97.0' +versionsuffix = '-linux-x86_64' + +homepage = 'https://two.avogadro.cc/index.html' +description = """ + Avogadro is an advanced molecule editor and visualizer designed for cross-platform + use in computational chemistry, molecular modeling, bioinformatics, materials science, + and related areas. +""" + +toolchain = SYSTEM + +sources = [{ + 'source_urls': ['https://github.com/OpenChemistry/avogadroapp/releases/download/%(version)s/'], + 'filename': '%(name)s-%(version)s.bin', + 'download_filename': 'Avogadro2-x86_64.AppImage', +}] +checksums = ['cc522dbdaa6e5386cb7101d382c5730f0d1ff71f2e70eb10f7e55f4ca052c89d'] + +postinstallcmds = ["mv %(installdir)s/%(name)s-%(version)s.bin %(installdir)s/avogadro2"] + +sanity_check_paths = { + 'files': ['avogadro2'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/Ax/Ax-0.3.3-foss-2022a.eb b/easybuild/easyconfigs/a/Ax/Ax-0.3.3-foss-2022a.eb new file mode 100644 index 00000000000..e9e66b25092 --- /dev/null +++ b/easybuild/easyconfigs/a/Ax/Ax-0.3.3-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'Ax' +version = '0.3.3' + +homepage = 'https://ax.dev/' +description = """ +Ax is an accessible, general-purpose platform for understanding, managing, deploying, and +automating adaptive experiments. +Adaptive experimentation is the machine-learning guided process of iteratively exploring +a (possibly infinite) parameter space in order to identify optimal configurations in a +resource-efficient manner. Ax currently supports Bayesian optimization and bandit +optimization as exploration strategies. Bayesian optimization in Ax is powered by +BoTorch, a modern library for Bayesian optimization research built on PyTorch. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0'), + ('scikit-learn', '1.1.2'), + ('IPython', '8.5.0'), + ('plotly.py', '5.12.0'), + ('Parsl', '2023.7.17'), + ('pyro-ppl', '1.8.4'), +] + +use_pip = True + +exts_list = [ + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('linear_operator', '0.4.0', { + 'checksums': ['7c57c9f8f258c9785c0db4dd7625f4dd03a340313d7314cba0b633644909f5c6'], + }), + ('gpytorch', '1.10', { + 'checksums': ['6dc978ab9fbf220a845a4f1ea13104180fc50e6934081f421b37f6120afb7f18'], + }), + ('botorch', '0.8.5', { + 'checksums': ['8598e3b8a0da26ed7e21a364486c0ae1188de63183d36874652fad39084c5848'], + }), + ('ax-platform', version, { + 'modulename': 'ax', + 'checksums': ['4f067d2b29e8352e826074b9360b5b1ed9f9e17bd49ac01840cf25111c621d1f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-MTF-bug-fix-issue-53.patch b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-MTF-bug-fix-issue-53.patch new file mode 100644 index 00000000000..e9ae5e6ffa7 --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-MTF-bug-fix-issue-53.patch @@ -0,0 +1,34 @@ +From c2793bb69c4c49df6e5427ba62e7414fee571a84 Mon Sep 17 00:00:00 2001 +From: Matthew Helmi Leth Larsen +Date: Sun, 12 Sep 2021 17:54:41 +0200 +Subject: [PATCH 2/2] Bug related to spacial frequencies being 1D arrays fixed. + +--- + abtem/mtf.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/abtem/mtf.py b/abtem/mtf.py +index b8d7842..6e82946 100644 +--- a/abtem/mtf.py ++++ b/abtem/mtf.py +@@ -80,13 +80,16 @@ class MTF: + + # Get spatial frequencies + kx, ky = spatial_frequencies(gpts, sampling) +- k = np.sqrt(kx ** 2 + ky ** 2) ++ ++ # Create 2D grid ++ Ky, Kx = np.meshgrid(ky,kx) ++ K = np.sqrt(Kx ** 2 + Ky ** 2) + + # Compute MTF +- mtf = self.f(k, **self.params) ++ mtf = self.f(K, **self.params) + + # Apply MTF +- img = np.fft.ifft2(np.fft.fft2(img) * np.sqrt(mtf)) ++ img = np.fft.ifft2(np.fft.fft2(img) * mtf) + measurement.array[:] = img.real + + return measurement + diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-Make-FFTW-multithreading-optional.patch b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-Make-FFTW-multithreading-optional.patch new file mode 100644 index 00000000000..d570e263954 --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-Make-FFTW-multithreading-optional.patch @@ -0,0 +1,21 @@ +Author: Jakob Schiotz +Description: FFTW will use 1 thread instead of 12, unless the variable ABTEM_FFTW_THREADS is set. + +--- abtem/device.py.orig 2021-09-13 20:15:59.190194233 +0200 ++++ abtem/device.py 2021-09-13 20:17:43.763802138 +0200 +@@ -3,13 +3,14 @@ + import numpy as np + import psutil + import pyfftw ++import os + from numpy.core.numeric import normalize_axis_tuple + + from abtem.cpu_kernels import abs2, complex_exponential, interpolate_radial_functions, sum_run_length_encoded + from abtem.interpolate import interpolate_bilinear_cpu + + FFTW_EFFORT = 'FFTW_MEASURE' +-FFTW_THREADS = 12 ++FFTW_THREADS = int(os.getenv('ABTEM_FFTW_THREADS', '1')) + FFTW_TIMELIMIT = 600 + + try: # This should be the only place import cupy, to make it a non-essential dependency diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-fosscuda-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-fosscuda-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..5ed303535ea --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b24-fosscuda-2020b-ASE-3.22.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'abTEM' +version = '1.0.0b24' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +homepage = 'https://github.com/jacobjma/abTEM' +description = """abTEM provides a Python API for running simulations +of Transmission Electron Microscopy images.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'abTEM-1.0.0b24-Make-FFTW-multithreading-optional.patch', + 'abTEM-1.0.0b24-MTF-bug-fix-issue-53.patch', +] +checksums = [ + '503e7775f9764cf8298cbd2d06c4a36a9c83efbd84d58721eee638adfd1e626e', # abtem-1.0.0b24.tar.gz + # abTEM-1.0.0b24-Make-FFTW-multithreading-optional.patch + '7aa081d6543bbec7024e2f4f166b9ea6ba62624fae465db04d231cce207b9b21', + '0d4a0500e4947e4967858e6644969796d5bd76bc556a9c09fdc80461dcbcaed6', # abTEM-1.0.0b24-MTF-bug-fix-issue-53.patch +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('ASE', _aseversion), + ('h5py', '3.1.0'), + ('numba', '0.53.1'), + ('pyFFTW', '0.12.0'), + ('tqdm', '4.56.2'), + ('imageio', '2.9.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch new file mode 100644 index 00000000000..3ada10d12d7 --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch @@ -0,0 +1,22 @@ +Author: Jakob Schiotz +Description: FFTW will use 1 thread instead of 12, unless the variable ABTEM_FFTW_THREADS is set. + +--- abtem/device.py.orig 2021-10-27 12:36:41.043781555 +0200 ++++ abtem/device.py 2021-10-27 12:38:43.351586183 +0200 +@@ -2,13 +2,14 @@ + import numpy as np + import psutil + import pyfftw ++import os + + from abtem.cpu_kernels import abs2, complex_exponential, interpolate_radial_functions, sum_run_length_encoded + from abtem.interpolate import interpolate_bilinear_cpu + import numbers + + FFTW_EFFORT = 'FFTW_MEASURE' +-FFTW_THREADS = 12 ++FFTW_THREADS = int(os.getenv('ABTEM_FFTW_THREADS', '1')) + FFTW_TIMELIMIT = 600 + + try: # This should be the only place import cupy, to make it a non-essential dependency + \ No newline at end of file diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-foss-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-foss-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..58040804add --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-foss-2020b-ASE-3.22.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'abTEM' +version = '1.0.0b26' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +homepage = 'https://github.com/jacobjma/abTEM' +description = """abTEM provides a Python API for running simulations +of Transmission Electron Microscopy images.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch', +] +checksums = [ + '8a40b7ff5caeb5997924f43e981d5158159e521bda2abd4093c6f555661a4294', # abtem-1.0.0b26.tar.gz + # abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch + 'd0532bdde462591fe1a5202fc79ec7decef10207d3e622fa4b605b09ffe55adf', +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('ASE', _aseversion), + ('h5py', '3.1.0'), + ('numba', '0.53.1'), + ('pyFFTW', '0.12.0'), + ('tqdm', '4.56.2'), + ('imageio', '2.9.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-fosscuda-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-fosscuda-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..24cc2f9f1fa --- /dev/null +++ b/easybuild/easyconfigs/a/abTEM/abTEM-1.0.0b26-fosscuda-2020b-ASE-3.22.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'abTEM' +version = '1.0.0b26' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +homepage = 'https://github.com/jacobjma/abTEM' +description = """abTEM provides a Python API for running simulations +of Transmission Electron Microscopy images.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch', +] +checksums = [ + '8a40b7ff5caeb5997924f43e981d5158159e521bda2abd4093c6f555661a4294', # abtem-1.0.0b26.tar.gz + # abTEM-1.0.0b26-Make-FFTW-multithreading-optional.patch + 'd0532bdde462591fe1a5202fc79ec7decef10207d3e622fa4b605b09ffe55adf', +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('ASE', _aseversion), + ('h5py', '3.1.0'), + ('numba', '0.53.1'), + ('pyFFTW', '0.12.0'), + ('tqdm', '4.56.2'), + ('imageio', '2.9.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/absl-py/absl-py-2.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/absl-py/absl-py-2.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..faadde2a51d --- /dev/null +++ b/easybuild/easyconfigs/a/absl-py/absl-py-2.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'absl-py' +version = '2.1.0' + +homepage = 'https://github.com/abseil/abseil-py' +description = """absl-py is a collection of Python library code for building Python +applications. The code is collected from Google's own Python code base, and has +been extensively tested and used in production.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +use_pip = True + +exts_list = [ + ('absl-py', version, { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/accelerate/accelerate-0.33.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/a/accelerate/accelerate-0.33.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7f6d595a7c5 --- /dev/null +++ b/easybuild/easyconfigs/a/accelerate/accelerate-0.33.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'accelerate' +version = '0.33.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/huggingface/accelerate' +description = """A simple way to launch, train, and use PyTorch models on almost any device and +distributed configuration, automatic mixed precision (including fp8), +and easy-to-configure FSDP and DeepSpeed support.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('PyYAML', '6.0'), + ('Safetensors', '0.4.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('huggingface-hub', '0.24.5', { + 'sources': ['huggingface_hub-%(version)s.tar.gz'], + 'checksums': ['7b45d6744dd53ce9cbf9880957de00e9d10a9ae837f1c9b7255fc8fa4e8264f3'], + }), + (name, version, { + 'checksums': ['11ba481ed6ea09191775df55ce464aeeba67a024bd0261a44b77b30fb439e26a'], + }), +] + +sanity_check_commands = ['accelerate test'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/a/ack/ack-3.5.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/ack/ack-3.5.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e827bcccd48 --- /dev/null +++ b/easybuild/easyconfigs/a/ack/ack-3.5.0-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PerlModule' + +name = 'ack' +version = '3.5.0' + +homepage = 'https://beyondgrep.com' +description = "ack is a tool like grep, optimized for programmers" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'] +sources = ['%(name)s-v%(version)s.tar.gz'] +checksums = ['66053e884e803387a02ddee0d68abf2a10239fab654364dab33287309a725521'] + +builddependencies = [('binutils', '2.36.1')] +dependencies = [('Perl', '5.32.1')] + +options = {'modulename': 'App::Ack'} + +sanity_check_paths = { + 'files': ['bin/ack', 'lib/perl5/site_perl/%(perlver)s/App/Ack.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/App/Ack'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2021b.eb b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2021b.eb new file mode 100644 index 00000000000..be8e8b1bdcc --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'adjustText' +version = '0.7.3' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'adjustText'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2022b.eb b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2022b.eb new file mode 100644 index 00000000000..4c13c121047 --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'adjustText' +version = '0.7.3' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'] + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('SciPy-bundle', '2023.02'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'adjustText'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb new file mode 100644 index 00000000000..70ad0961c47 --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-0.7.3-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'adjustText' +version = '0.7.3' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'adjustText'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb b/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb new file mode 100644 index 00000000000..f109d19d3aa --- /dev/null +++ b/easybuild/easyconfigs/a/adjustText/adjustText-1.1.1-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'adjustText' +version = '1.1.1' + +homepage = 'https://github.com/Phlya/adjustText' +description = "A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'adjustText', + 'checksums': ['e2c0975ef2c642478e60f4c03c5e9afbdeda7764336907ef69a9205bfa2d9896'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/affinity/affinity-20230524-foss-2022a.eb b/easybuild/easyconfigs/a/affinity/affinity-20230524-foss-2022a.eb new file mode 100644 index 00000000000..ca44c02246d --- /dev/null +++ b/easybuild/easyconfigs/a/affinity/affinity-20230524-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'affinity' +version = '20230524' +local_commit = '7d4d426' + +homepage = 'https://github.com/vkarak/affinity' +description = """A small C++ wrapper for managing Linux CPU sets and CPU affinity. +It also includes a tool to report binding, which is useful for testing different binding options""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/vkarak/affinity/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['d4d245deca0ac46c870773f6c5f43d4a5d4d2a13cefdf4d912f3588ee2d41072'] + +buildopts = r'CXX="$MPICXX" OPENMP=1 MPI=1 ' +buildopts += '&& mkdir -p bin && mv affinity bin/' +buildopts += '&& rm Makefile && rm README.md && rm -r src && rm -r tests' + +files_to_copy = ['*'] + +sanity_check_commands = ['mpirun -np 1 affinity'] + +sanity_check_paths = { + 'files': ['bin/affinity'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/affinity/affinity-20230524-intel-2022a.eb b/easybuild/easyconfigs/a/affinity/affinity-20230524-intel-2022a.eb new file mode 100644 index 00000000000..03af1139e3a --- /dev/null +++ b/easybuild/easyconfigs/a/affinity/affinity-20230524-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'affinity' +version = '20230524' +local_commit = '7d4d426' + +homepage = 'https://github.com/vkarak/affinity' +description = """A small C++ wrapper for managing Linux CPU sets and CPU affinity. +It also includes a tool to report binding, which is useful for testing different binding options""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/vkarak/affinity/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['d4d245deca0ac46c870773f6c5f43d4a5d4d2a13cefdf4d912f3588ee2d41072'] + +buildopts = r'CXX="$MPICXX" OPENMP=1 MPI=1 ' +buildopts += '&& mkdir -p bin && mv affinity bin/' +buildopts += '&& rm Makefile && rm README.md && rm -r src && rm -r tests' + +files_to_copy = ['*'] + +sanity_check_commands = ['mpirun -np 1 affinity'] + +sanity_check_paths = { + 'files': ['bin/affinity'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/affogato/affogato-0.3.3-foss-2023a.eb b/easybuild/easyconfigs/a/affogato/affogato-0.3.3-foss-2023a.eb new file mode 100644 index 00000000000..391f9d95eda --- /dev/null +++ b/easybuild/easyconfigs/a/affogato/affogato-0.3.3-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMakeCp' + +name = 'affogato' +version = '0.3.3' + +homepage = 'https://github.com/constantinpape/affogato/' +description = """Affinity based segmentation algorithms and tools.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/constantinpape/affogato/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ad3bb1aca50ce9311d4e88e97e701237bce94faa6e79460f0bc2d2061f1484d2'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('Boost', '1.82.0'), + ('SciPy-bundle', '2023.07'), + ('vigra', '1.11.2'), + ('xtensor', '0.24.7'), + ('h5py', '3.9.0'), +] + +configopts = '-DBUILD_PYTHON=ON ' +# Fix path to python executable - it finds v3.6.8 from /usr/bin/ without this fix +configopts += '-DPYTHON_EXECUTABLE="$EBROOTPYTHON/bin/python" ' + +files_to_copy = [(['python/affogato'], 'lib/python%(pyshortver)s/site-packages')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/affogato'], +} +sanity_check_commands = ["python -c 'import affogato'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c8de4b9afd8 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-10.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.1' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('charset-normalizer', '2.0.10', { + 'checksums': ['876d180e9d7432c5d1dfd4c5d26b72f099d503e8fcc0feb7532c9289be60fcbd'], + }), + ('multidict', '5.2.0', { + 'checksums': ['0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce'], + }), + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('yarl', '1.7.2', { + 'checksums': ['45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd'], + }), + ('frozenlist', '1.2.0', { + 'checksums': ['68201be60ac56aff972dc18085800b6ee07973c49103a8aba669dee3d71079de'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), + (name, version, { + 'checksums': ['fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578'], + }), + ('Jinja2', '2.11.3', { + 'checksums': ['a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6'], + }), + ('aiohttp-jinja2', '1.4.2', { + 'checksums': ['9c22a0e48e3b277fc145c67dd8c3b8f609dab36bce9eb337f70dfe716663c9a0'], + }), + ('hiredis', '2.0.0', { + 'checksums': ['81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a'], + }), + ('aioredis', '2.0.1', { + 'checksums': ['eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b24d8879760 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.1-GCCcore-11.2.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.1' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '5.2.0', { + 'checksums': ['0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce'], + }), + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('yarl', '1.7.2', { + 'checksums': ['45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd'], + }), + ('frozenlist', '1.2.0', { + 'checksums': ['68201be60ac56aff972dc18085800b6ee07973c49103a8aba669dee3d71079de'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), + (name, version, { + 'checksums': ['fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578'], + }), + ('aiohttp-jinja2', '1.5', { + 'checksums': ['7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b'], + }), + ('hiredis', '2.0.0', { + 'checksums': ['81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a'], + }), + ('aioredis', '2.0.1', { + 'checksums': ['eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a9701a12117 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.3-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.3' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.2', { + 'checksums': ['5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013'], + }), + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('yarl', '1.8.1', { + 'checksums': ['af887845b8c2e060eb5605ff72b6f2dd2aab7a761379373fd89d314f4752abbf'], + }), + ('frozenlist', '1.3.3', { + 'checksums': ['58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + (name, version, { + 'checksums': ['3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269'], + }), + ('aiohttp-jinja2', '1.5', { + 'checksums': ['7c3ba5eac060b691f4e50534af2d79fca2a75712ebd2b25e6fcb1295859f910b'], + }), + ('hiredis', '2.0.0', { + 'checksums': ['81d6d8e39695f2c37954d1011c0480ef7cf444d4e3ae24bc5e89ee5de360139a'], + }), + ('aioredis', '2.0.1', { + 'checksums': ['eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('aiohttp-session', '2.12.0', { + 'checksums': ['0ccd11a7c77cb9e5a61f4daacdc9170d561112f9cfaf9e9a2d9867c0587d1950'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9c41cdf1a33 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.5' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.4', { + 'checksums': ['3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49'], + }), + ('yarl', '1.9.2', { + 'checksums': ['04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571'], + }), + ('frozenlist', '1.4.0', { + 'checksums': ['09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251'], + }), + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + (name, version, { + 'checksums': ['b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc'], + }), + ('aioredis', '2.0.1', { + 'checksums': ['eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d5eec66b4ab --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.8.5-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.8.5' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and Python." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.4', { + 'checksums': ['3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49'], + }), + ('yarl', '1.9.2', { + 'checksums': ['04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571'], + }), + ('frozenlist', '1.4.0', { + 'checksums': ['09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + (name, version, { + 'checksums': ['b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..550b4aebf60 --- /dev/null +++ b/easybuild/easyconfigs/a/aiohttp/aiohttp-3.9.5-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'aiohttp' +version = '3.9.5' + +homepage = 'https://github.com/aio-libs/aiohttp' +description = "Asynchronous HTTP client/server framework for asyncio and 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 + +# aioredis and aiosignal do not depend on aiohttp, but are commonly used together and share dependencies +exts_list = [ + ('multidict', '6.0.5', { + 'checksums': ['f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da'], + }), + ('expandvars', '0.12.0', { + 'checksums': ['7d1adfa55728cf4b5d812ece3d087703faea953e0c0a1a78415de9df5024d844'], + }), + ('yarl', '1.9.4', { + 'checksums': ['566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf'], + }), + ('frozenlist', '1.4.1', { + 'checksums': ['c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b'], + }), + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('aiohappyeyeballs', '2.3.2', { + 'checksums': ['77e15a733090547a1f5369a1287ddfc944bd30df0eb8993f585259c34b405f4e'], + }), + (name, version, { + 'checksums': ['edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.4.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.4.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9fcc9fd98d1 --- /dev/null +++ b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.4.3-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'Binary' + +name = 'alevin-fry' +version = '0.4.3' + +homepage = 'https://github.com/COMBINE-lab/alevin-fry' +description = """alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, + currently focused on single-cell transcriptomics and feature barcoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/COMBINE-lab/alevin-fry/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['407a1b5767a293aefa9ff1dc2eda478356e74d148e3bfa89ef58213340e87ae2'] + +builddependencies = [ + ('binutils', '2.37'), + ('Rust', '1.54.0'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +extract_sources = True + +# pin version of clap dependency, +# see https://github.com/COMBINE-lab/alevin-fry/commit/dcdd91cb6ff49065f60f3b6b400bd023fc308ab6 +install_cmd = "sed -i 's/3.0.0-beta.5/=3.0.0-beta.5/g' Cargo.toml && " +install_cmd += "cargo install --root %(installdir)s --path ." + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.6.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.6.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..5e75334e448 --- /dev/null +++ b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.6.0-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'Binary' + +name = 'alevin-fry' +version = '0.6.0' + +homepage = 'https://github.com/COMBINE-lab/alevin-fry' +description = """alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, + currently focused on single-cell transcriptomics and feature barcoding.""" +# software_license = 'LicenseBSD3' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/COMBINE-lab/alevin-fry/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a368695da8e85826f3d72670c83c44344d5c184a7bccda4ab2dea486eb3e00b'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.60.0'), + ('CMake', '3.20.1'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +extract_sources = True + +install_cmd = "cargo install --root %(installdir)s --path ." + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..50f776e14a3 --- /dev/null +++ b/easybuild/easyconfigs/a/alevin-fry/alevin-fry-0.9.0-GCCcore-13.2.0.eb @@ -0,0 +1,470 @@ +easyblock = 'Cargo' + +name = 'alevin-fry' +version = '0.9.0' + +homepage = 'https://github.com/COMBINE-lab/alevin-fry' +description = """alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, + currently focused on single-cell transcriptomics and feature barcoding.""" +# software_license = 'LicenseBSD3' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +crates = [ + (name, version), + ('adler', '1.0.2'), + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.2'), + ('alga', '0.9.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anstream', '0.6.13'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('anyhow', '1.0.80'), + ('approx', '0.3.2'), + ('approx', '0.5.1'), + ('arrayvec', '0.7.4'), + ('autocfg', '1.1.0'), + ('bincode', '1.3.3'), + ('bio-types', '1.0.1'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.9.1'), + ('buffer-redux', '1.0.1'), + ('bumpalo', '3.15.4'), + ('bytecount', '0.6.7'), + ('bytemuck', '1.14.3'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.90'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.35'), + ('clap', '4.5.2'), + ('clap_builder', '4.5.2'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('colorchoice', '1.0.0'), + ('console', '0.15.8'), + ('core-foundation-sys', '0.8.6'), + ('crc32fast', '1.4.0'), + ('crossbeam-channel', '0.5.12'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-queue', '0.3.11'), + ('crossbeam-utils', '0.8.19'), + ('crypto-common', '0.1.6'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('dashmap', '5.5.3'), + ('deranged', '0.3.11'), + ('derive-new', '0.5.9'), + ('digest', '0.10.7'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('either', '1.10.0'), + ('encode_unicode', '0.3.6'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.28'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.12'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.9'), + ('iana-time-zone', '0.1.60'), + ('iana-time-zone-haiku', '0.1.2'), + ('indexmap', '2.2.5'), + ('indicatif', '0.17.8'), + ('instant', '0.1.12'), + ('is-terminal', '0.4.12'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('js-sys', '0.3.69'), + ('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.153'), + ('libm', '0.2.8'), + ('libmimalloc-sys', '0.1.35'), + ('libradicl', '0.8.2'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.13'), + ('lock_api', '0.4.11'), + ('log', '0.4.21'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('md-5', '0.10.6'), + ('memchr', '2.7.1'), + ('mimalloc', '0.1.39'), + ('miniz_oxide', '0.7.2'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('noodles', '0.65.0'), + ('noodles-bam', '0.56.0'), + ('noodles-bgzf', '0.26.0'), + ('noodles-core', '0.14.0'), + ('noodles-cram', '0.56.0'), + ('noodles-csi', '0.30.0'), + ('noodles-fasta', '0.33.0'), + ('noodles-sam', '0.53.0'), + ('noodles-util', '0.37.0'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.5'), + ('num-conv', '0.1.0'), + ('num-format', '0.4.4'), + ('num-integer', '0.1.46'), + ('num-iter', '0.1.44'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.18'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.19.0'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('petgraph', '0.6.4'), + ('pkg-config', '0.3.30'), + ('portable-atomic', '1.6.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rawpointer', '0.2.1'), + ('rayon', '1.9.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.2'), + ('rustix', '0.38.31'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.17'), + ('safe_arch', '0.7.1'), + ('sce', '0.2.0'), + ('scopeguard', '1.2.0'), + ('scroll', '0.12.0'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('serde_json', '1.0.114'), + ('simba', '0.6.0'), + ('slog', '2.7.0'), + ('slog-async', '2.8.0'), + ('slog-term', '2.9.1'), + ('smallvec', '1.13.1'), + ('snap', '1.1.1'), + ('sprs', '0.11.1'), + ('static_assertions', '1.1.0'), + ('statrs', '0.16.0'), + ('strsim', '0.11.0'), + ('strum_macros', '0.25.3'), + ('syn', '1.0.109'), + ('syn', '2.0.52'), + ('take_mut', '0.2.2'), + ('term', '0.7.0'), + ('terminal_size', '0.3.0'), + ('thiserror', '1.0.57'), + ('thiserror-impl', '1.0.57'), + ('thread_local', '1.1.8'), + ('time', '0.3.34'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.17'), + ('trait-set', '0.3.0'), + ('typed-builder', '0.18.1'), + ('typed-builder-macro', '0.18.1'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unicode-width', '0.1.11'), + ('utf8parse', '0.2.1'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.92'), + ('wasm-bindgen-backend', '0.2.92'), + ('wasm-bindgen-macro', '0.2.92'), + ('wasm-bindgen-macro-support', '0.2.92'), + ('wasm-bindgen-shared', '0.2.92'), + ('wide', '0.7.15'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('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.4'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.4'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.4'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.4'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.4'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.4'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.4'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.4'), + ('xz2', '0.1.7'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +checksums = [ + {'alevin-fry-0.9.0.tar.gz': 'ea6d245d83a00d59b977e130f142b2a0c3075b26cd214d6c54251f225b46748a'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'alga-0.9.3.tar.gz': '4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anstream-0.6.13.tar.gz': 'd96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'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'}, + {'approx-0.3.2.tar.gz': 'f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'arrayvec-0.7.4.tar.gz': '96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'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.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'buffer-redux-1.0.1.tar.gz': '4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5'}, + {'bumpalo-3.15.4.tar.gz': '7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa'}, + {'bytecount-0.6.7.tar.gz': 'e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205'}, + {'bytemuck-1.14.3.tar.gz': 'a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.35.tar.gz': '8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a'}, + {'clap-4.5.2.tar.gz': 'b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651'}, + {'clap_builder-4.5.2.tar.gz': 'ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'crc32fast-1.4.0.tar.gz': 'b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa'}, + {'crossbeam-channel-0.5.12.tar.gz': 'ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-queue-0.3.11.tar.gz': 'df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'dashmap-5.5.3.tar.gz': '978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-next-2.0.0.tar.gz': 'b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1'}, + {'dirs-sys-next-0.1.2.tar.gz': '4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'iana-time-zone-0.1.60.tar.gz': 'e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'indexmap-2.2.5.tar.gz': '7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'js-sys-0.3.69.tar.gz': '29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d'}, + {'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.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libmimalloc-sys-0.1.35.tar.gz': '3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664'}, + {'libradicl-0.8.2.tar.gz': '79c875897ad68c771ac1cbe1794642f1f49bdb3852e0475be2abb754ba59fe92'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.21.tar.gz': '90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'mimalloc-0.1.39.tar.gz': 'fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c'}, + {'miniz_oxide-0.7.2.tar.gz': '9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7'}, + {'nalgebra-0.29.0.tar.gz': 'd506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff'}, + {'nalgebra-macros-0.1.0.tar.gz': '01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'noodles-0.65.0.tar.gz': '38db1833ba39368f7a855c5b9a8412729a61dd86b2563e1a3bdb02aecbe92a3c'}, + {'noodles-bam-0.56.0.tar.gz': 'd3189e8ecee801ab5c3f4ea9908c4196b429137d8d35d733f00f6681f9188be7'}, + {'noodles-bgzf-0.26.0.tar.gz': '8970db2e84adb1007377dd3988258d7a64e3fc4c05602ebf94e1f8cba207c030'}, + {'noodles-core-0.14.0.tar.gz': '7336c3be652de4e05444c9b12a32331beb5ba3316e8872d92bfdd8ef3b06c282'}, + {'noodles-cram-0.56.0.tar.gz': '34a70ebb5bc7ff2d07ce96c0568691e57be421c121103ebef10cf02a63d7d400'}, + {'noodles-csi-0.30.0.tar.gz': 'a60dfe0919f7ecbd081a82eb1d32e8f89f9041932d035fe8309073c8c01277bf'}, + {'noodles-fasta-0.33.0.tar.gz': '5e9e953e4e90e6c96e6a384598ebf2ab6d2f5add259ff05a194cf635e892c980'}, + {'noodles-sam-0.53.0.tar.gz': '1f0d8e441368374f6e144989f823fd7c05e58cdaa3f97d22bb4d75b534327b87'}, + {'noodles-util-0.37.0.tar.gz': 'e800d2619f75de004aef8beb29f604e667f5bf5f714ff05cce3730f5c8cc4958'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-format-0.4.4.tar.gz': 'a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-iter-0.1.44.tar.gz': 'd869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'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_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.9.0.tar.gz': 'e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd'}, + {'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.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustix-0.38.31.tar.gz': '6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'safe_arch-0.7.1.tar.gz': 'f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354'}, + {'sce-0.2.0.tar.gz': '3e86ac42a268d4f4644e38887b5dad29002dcbcdeddb40057195beeb61105df6'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'scroll-0.12.0.tar.gz': '6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'serde_json-1.0.114.tar.gz': 'c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'slog-2.7.0.tar.gz': '8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06'}, + {'slog-async-2.8.0.tar.gz': '72c8038f898a2c79507940990f05386455b3a317d8f18d4caea7cbc3d5096b84'}, + {'slog-term-2.9.1.tar.gz': 'b6e022d0b998abfe5c3782c1f03551a596269450ccd677ea51c56f8b214610e8'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'sprs-0.11.1.tar.gz': '88bab60b0a18fb9b3e0c26e92796b3c3a278bf5fa4880f5ad5cc3bdfb843d0b1'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'statrs-0.16.0.tar.gz': '2d08e5e1748192713cc281da8b16924fb46be7b0c2431854eadc785823e5696e'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.52.tar.gz': 'b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07'}, + {'take_mut-0.2.2.tar.gz': 'f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60'}, + {'term-0.7.0.tar.gz': 'c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f'}, + {'terminal_size-0.3.0.tar.gz': '21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7'}, + {'thiserror-1.0.57.tar.gz': '1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b'}, + {'thiserror-impl-1.0.57.tar.gz': 'a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81'}, + {'thread_local-1.1.8.tar.gz': '8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c'}, + {'time-0.3.34.tar.gz': 'c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.17.tar.gz': '7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774'}, + {'trait-set-0.3.0.tar.gz': 'b79e2e9c9ab44c6d7c20d5976961b47e8f49ac199154daa514b77cd1ab536625'}, + {'typed-builder-0.18.1.tar.gz': '444d8748011b93cb168770e8092458cb0f8854f931ff82fdf6ddfbd72a9c933e'}, + {'typed-builder-macro-0.18.1.tar.gz': '563b3b88238ec95680aef36bdece66896eaa7ce3c0f1b4f39d38fb2435261352'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.92.tar.gz': '4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8'}, + {'wasm-bindgen-backend-0.2.92.tar.gz': '614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da'}, + {'wasm-bindgen-macro-0.2.92.tar.gz': 'a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726'}, + {'wasm-bindgen-macro-support-0.2.92.tar.gz': 'e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7'}, + {'wasm-bindgen-shared-0.2.92.tar.gz': 'af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96'}, + {'wide-0.7.15.tar.gz': '89beec544f246e679fc25490e3f8e08003bc4bf612068f325120dad4cea02c1c'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'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.4.tar.gz': '7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.4.tar.gz': 'bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.4.tar.gz': 'da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.4.tar.gz': 'b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.4.tar.gz': '1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.4.tar.gz': '5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.4.tar.gz': '77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.4.tar.gz': '32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.76.0'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alleleCount/alleleCount-4.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/a/alleleCount/alleleCount-4.2.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..69fc3d7f616 --- /dev/null +++ b/easybuild/easyconfigs/a/alleleCount/alleleCount-4.2.1-GCC-11.3.0.eb @@ -0,0 +1,89 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Institute, London, UK +## + +easyblock = 'ConfigureMake' + +name = 'alleleCount' +version = '4.2.1' + +homepage = 'http://cancerit.github.io/alleleCount/' +description = """ The alleleCount package primarily exists to prevent code duplication +between some other projects, specifically AscatNGS and Battenberg. As of v4 the perl +code wraps the C implementation of allele counting code for BAM/CRAM processing. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/cancerit/%(name)s/archive/v%(version)s'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dbec2d47fb4fad8ead72f55c4b6e3c02b216cbed285c05617b62e9a38c32e400'] + +# HTSlib 1.7 is built, used and removed again in the provided setup script +dependencies = [ + ('Perl', '5.34.1'), + ('HTSlib', '1.15.1'), + ('libdeflate', '1.10'), +] + +skipsteps = ['configure'] + +buildopts = "-C c && cd perl && perl Makefile.PL INSTALL_BASE=%(installdir)s " +preinstallopts = "cd perl && " +installopts = " && cd .. && cp -a c/bin/alleleCounter %(installdir)s/bin/" + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') +exts_default_options = { + 'buildopts': '', + 'preinstallopts': '', + 'installopts': '', +} + +exts_list = [ + ('Const::Fast', '0.014', { + 'source_tmpl': 'Const-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['f805953a08c57846a16a4d85d7b766398afaf7c36c1465fcb1dea09e5fa394db'], + }), + ('Devel::Cover', '1.40', { + 'source_tmpl': 'Devel-Cover-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PJ/PJCJ/'], + 'checksums': ['26e2f431fbcf7bff3851f352f83b84067c09ff206f40ab975cad8d2bafe711a8'], + }), + ('Pod::Coverage', '0.23', { + 'source_tmpl': 'Pod-Coverage-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP/'], + 'checksums': ['30b7a0b0c942f44a7552c0d34e9b1f2e0ba0b67955c61e3b1589ec369074b107'], + }), + ('Pod::Parser', '1.66', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['22928a7bffe61b452c05bbbb8f5216d4b9cf9fe2a849b776c25500d24d20df7c'], + }), + ('Devel::Symdump', '2.18', { + 'source_tmpl': 'Devel-Symdump-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AN/ANDK/'], + 'checksums': ['826f81a107f5592a2516766ed43beb47e10cc83edc9ea48090b02a36040776c0'], + }), +] + +postinstallcmds = ["chmod u+w %(installdir)s/bin/alleleCounter.pl"] + +fix_perl_shebang_for = ['bin/alleleCounter.pl'] + +sanity_check_paths = { + 'files': ['bin/alleleCounter', 'bin/alleleCounter.pl'], + 'dirs': ['lib/perl5'], +} + +sanity_check_commands = [ + "alleleCounter --help", + "alleleCounter.pl --help", +] + +modextrapaths = {'PERL5LIB': ['lib/perl5', 'lib/perl5/site_perl/%(perlver)s']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alleleCount/alleleCount-4.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/a/alleleCount/alleleCount-4.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..3ff0a8ddd2f --- /dev/null +++ b/easybuild/easyconfigs/a/alleleCount/alleleCount-4.3.0-GCC-12.2.0.eb @@ -0,0 +1,89 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Institute, London, UK +## + +easyblock = 'ConfigureMake' + +name = 'alleleCount' +version = '4.3.0' + +homepage = 'http://cancerit.github.io/alleleCount/' +description = """ The alleleCount package primarily exists to prevent code duplication +between some other projects, specifically AscatNGS and Battenberg. As of v4 the perl +code wraps the C implementation of allele counting code for BAM/CRAM processing. """ + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/cancerit/%(name)s/archive/v%(version)s'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5363ae12c2385c962728336a4498b1a29c9eaa3d4a24492d0debf897771cfd3c'] + +# HTSlib 1.7 is built, used and removed again in the provided setup script +dependencies = [ + ('Perl', '5.36.0'), + ('HTSlib', '1.17'), + ('libdeflate', '1.15'), +] + +skipsteps = ['configure'] + +buildopts = "-C c && cd perl && perl Makefile.PL INSTALL_BASE=%(installdir)s " +preinstallopts = "cd perl && " +installopts = " && cd .. && cp -a c/bin/alleleCounter %(installdir)s/bin/" + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') +exts_default_options = { + 'buildopts': '', + 'preinstallopts': '', + 'installopts': '', +} + +exts_list = [ + ('Const::Fast', '0.014', { + 'source_tmpl': 'Const-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['f805953a08c57846a16a4d85d7b766398afaf7c36c1465fcb1dea09e5fa394db'], + }), + ('Devel::Cover', '1.40', { + 'source_tmpl': 'Devel-Cover-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/P/PJ/PJCJ/'], + 'checksums': ['26e2f431fbcf7bff3851f352f83b84067c09ff206f40ab975cad8d2bafe711a8'], + }), + ('Pod::Coverage', '0.23', { + 'source_tmpl': 'Pod-Coverage-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/R/RC/RCLAMP/'], + 'checksums': ['30b7a0b0c942f44a7552c0d34e9b1f2e0ba0b67955c61e3b1589ec369074b107'], + }), + ('Pod::Parser', '1.66', { + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['22928a7bffe61b452c05bbbb8f5216d4b9cf9fe2a849b776c25500d24d20df7c'], + }), + ('Devel::Symdump', '2.18', { + 'source_tmpl': 'Devel-Symdump-%(version)s.tar.gz', + 'source_urls': ['http://cpan.metacpan.org/authors/id/A/AN/ANDK/'], + 'checksums': ['826f81a107f5592a2516766ed43beb47e10cc83edc9ea48090b02a36040776c0'], + }), +] + +postinstallcmds = ["chmod u+w %(installdir)s/bin/alleleCounter.pl"] + +fix_perl_shebang_for = ['bin/alleleCounter.pl'] + +sanity_check_paths = { + 'files': ['bin/alleleCounter', 'bin/alleleCounter.pl'], + 'dirs': ['lib/perl5'], +} + +sanity_check_commands = [ + "alleleCounter --help", + "alleleCounter.pl --help", +] + +modextrapaths = {'PERL5LIB': ['lib/perl5', 'lib/perl5/site_perl/%(perlver)s']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..103d3b10eeb --- /dev/null +++ b/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022a-R-4.2.1.eb @@ -0,0 +1,53 @@ +easyblock = 'Bundle' + +name = 'alleleIntegrator' +version = '0.8.8' +# There is only one release in the repo called "PublishedVersion.tar.gz" +local_commit = '7bf7970' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/constantAmateur/alleleIntegrator' +description = 'R package to generate allele specific counts for scRNA data and use it to identify cancer cells' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('alleleCount', '4.2.1'), + ('BCFtools', '1.15.1'), + ('parallel', '20220722'), + ('ASCAT', '3.1.2', 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 = [ + ('grr', '0.9.5', { + 'checksums': ['292606de2983ac5840c90d3e0977441b482c9e73c1674b662f8b4fb8f3632b2b'], + }), + ('Matrix.utils', '0.9.8', { + 'checksums': ['ebc59d3ef751775515586ff1f2396e429a1e9d91a10099d804134fcf74c0ae28'], + }), + (name, version, { + 'source_urls': ['https://github.com/constantAmateur/alleleIntegrator/archive/'], + 'sources': [{'download_filename': '7bf7970.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}], + 'checksums': ['9e852c37485548c27c8ce29b90d163818c394410874d459e4fd92f184e4ff004'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..cd4f3b1e0ea --- /dev/null +++ b/easybuild/easyconfigs/a/alleleIntegrator/alleleIntegrator-0.8.8-foss-2022b-R-4.2.2.eb @@ -0,0 +1,51 @@ +easyblock = 'Bundle' + +name = 'alleleIntegrator' +version = '0.8.8' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/constantAmateur/alleleIntegrator' +description = 'R package to generate allele specific counts for scRNA data and use it to identify cancer cells' + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('R', '4.2.2'), + ('alleleCount', '4.3.0'), + ('BCFtools', '1.17'), + ('parallel', '20230722'), + ('ASCAT', '3.1.2', 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 = [ + ('grr', '0.9.5', { + 'checksums': ['292606de2983ac5840c90d3e0977441b482c9e73c1674b662f8b4fb8f3632b2b'], + }), + ('Matrix.utils', '0.9.8', { + 'checksums': ['ebc59d3ef751775515586ff1f2396e429a1e9d91a10099d804134fcf74c0ae28'], + }), + (name, version, { + 'source_urls': ['https://github.com/constantAmateur/alleleIntegrator/archive/'], + 'sources': [{'download_filename': '7bf7970.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}], + 'checksums': ['9e852c37485548c27c8ce29b90d163818c394410874d459e4fd92f184e4ff004'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/almosthere/almosthere-2.0.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/almosthere/almosthere-2.0.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..70063cf416c --- /dev/null +++ b/easybuild/easyconfigs/a/almosthere/almosthere-2.0.2-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'almosthere' +version = '2.0.2' + +homepage = 'https://github.com/horta/almosthere' +description = """Progress indicator C library. +ATHR is a simple yet powerful progress indicator library that works on Windows, +Linux, and macOS. It is non-blocking as the progress update is done via a +dedicated, lightweight thread, as to not impair the performance of the calling program.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +github_account = 'horta' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['b50ff32f5f1aa213589c81118e7312bd5e0f5a3d0a72ace499595a1f0bbff42f'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libathr.a', 'lib/libathr.%s' % SHLIB_EXT, 'include/athr/athr.h'], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..fd05a43146f --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.11' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['9f3f2f69b995f9ad37359072fbc69a3a88bfba081fc83e9be30e14662795bb4d'] + +dependencies = [('binutils', '2.40')] + +configopts = ['--disable-shared --enable-static', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT, 'lib64/libasound.a'], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4333348a741 --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.11-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.11' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['9f3f2f69b995f9ad37359072fbc69a3a88bfba081fc83e9be30e14662795bb4d'] + +dependencies = [('binutils', '2.42')] + +configopts = ['--disable-shared --enable-static', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT, 'lib64/libasound.a'], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..e679e462988 --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..2e943babc7f --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..0db6c912f2c --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.8-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.8' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1ab01b74e33425ca99c2e36c0844fd6888273193bd898240fe8f93accbcbf347'] + +dependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8e0eb5e0dbf --- /dev/null +++ b/easybuild/easyconfigs/a/alsa-lib/alsa-lib-1.2.9-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'alsa-lib' +version = '1.2.9' + +homepage = 'https://www.alsa-project.org' +description = """The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality + to the Linux operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.alsa-project.org/files/pub/lib/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['dc9c643fdc4ccfd0572cc685858dd41e08afb583f30460b317e4188275f615b2'] + +dependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/aserver', 'include/asoundlib.h', + 'lib64/libatopology.%s' % SHLIB_EXT, 'lib64/libasound.%s' % SHLIB_EXT], + 'dirs': ['include/alsa', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb new file mode 100644 index 00000000000..03df4c86664 --- /dev/null +++ b/easybuild/easyconfigs/a/amdahl/amdahl-0.3.1-gompi-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'amdahl' +version = '0.3.1' + +homepage = "https://github.com/hpc-carpentry/amdahl" +description = """This Python module contains a pseudo-application that can be used as a black +box to reproduce Amdahl's Law. It does not do real calculations, nor any real +communication, so can easily be overloaded. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('mpi4py', '3.1.4'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b2e0f13fbfc082c83871583d6254ba6c1abc0033ee9cf8a5d018c5541c32ff74'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/amdahl'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "amdahl --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/anadama2/anadama2-0.10.0-foss-2022a.eb b/easybuild/easyconfigs/a/anadama2/anadama2-0.10.0-foss-2022a.eb new file mode 100644 index 00000000000..6a4a30dac5d --- /dev/null +++ b/easybuild/easyconfigs/a/anadama2/anadama2-0.10.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'anadama2' +version = '0.10.0' + +homepage = 'http://huttenhower.sph.harvard.edu/anadama2' +description = """AnADAMA2 is the next generation of AnADAMA +(Another Automated Data Analysis Management Application). AnADAMA is a tool to +create reproducible workflows and execute them efficiently.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), + ('LevelDB', '1.22'), + ('IPython', '8.5.0'), +} + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('Pweave', '0.30.3', { + 'checksums': ['5e5298d90e06414a01f48e0d6aa4c36a70c5f223d929f2a9c7e2d388451c7357'], + }), + (name, version, { + 'checksums': ['386c4d0f4c96bf078ac2b595bafcadaa43cd44cdb1a864dc8ebc42dc1664f87f'], + 'preinstallopts': 'sed -i "s/pweave==0.25/pweave/g" requirements.txt && ', + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/a/andi/andi-0.13-foss-2018b.eb b/easybuild/easyconfigs/a/andi/andi-0.13-foss-2018b.eb new file mode 100644 index 00000000000..8cedd481301 --- /dev/null +++ b/easybuild/easyconfigs/a/andi/andi-0.13-foss-2018b.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'andi' +version = '0.13' + +homepage = 'https://github.com/evolbioinf/andi/' +description = """This is the andi program for estimating the evolutionary distance between closely related genomes. +These distances can be used to rapidly infer phylogenies for big sets of genomes. Because andi does not compute full +alignments, it is so efficient that it scales even up to thousands of bacterial genomes.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://github.com/EvolBioInf/andi/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['03e493ee22b6773a600b47cbfb121f4c2affd6e646ea16dad0d322e9276b3943'] + +builddependencies = [ + ('Autoconf', '2.69') +] + +dependencies = [ + ('GSL', '2.5'), + ('libdivsufsort', '2.0.1') +] + +preconfigopts = "autoreconf -fi -Im4 && " + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/andi'], + 'dirs': [] +} + +sanity_check_commands = ["andi --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.0.eb b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.0.eb new file mode 100644 index 00000000000..a8295a1fee1 --- /dev/null +++ b/easybuild/easyconfigs/a/angsd/angsd-0.940-GCC-11.2.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': '11.2.0'} + +github_account = 'ANGSD' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['73b43eb553892721c7d5db5d6d883a17074ee4e07536a32871c3b1ac5f701ad7'] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('HTSlib', '1.14'), +] + +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/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/anndata/anndata-0.8.0-foss-2022a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.8.0-foss-2022a.eb new file mode 100644 index 00000000000..38ef7f588ea --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.8.0-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.8.0' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + (name, version, { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["natsort --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021a.eb b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021a.eb new file mode 100644 index 00000000000..62b74665879 --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.9.2' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True + +exts_list = [ + # more recent setuptools required because scib-metrics uses pyproject.toml + ('setuptools', '68.1.2', { + 'checksums': ['3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'checksums': ['e5b8383d09723af674cae7ad0c2ef53eb1f8c73949b7f4c182a6e30f42196327'], + }), +] + +sanity_check_paths = { + 'files': ['bin/natsort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["natsort --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb new file mode 100644 index 00000000000..f5f7d79dadf --- /dev/null +++ b/easybuild/easyconfigs/a/anndata/anndata-0.9.2-foss-2021b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'anndata' +version = '0.9.2' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'checksums': ['e5b8383d09723af674cae7ad0c2ef53eb1f8c73949b7f4c182a6e30f42196327'], + }), +] + +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/annovar/annovar-20191024-GCCcore-8.2.0-Perl-5.28.1.eb b/easybuild/easyconfigs/a/annovar/annovar-20191024-GCCcore-8.2.0-Perl-5.28.1.eb index 9d250df45b7..67616ff591d 100644 --- a/easybuild/easyconfigs/a/annovar/annovar-20191024-GCCcore-8.2.0-Perl-5.28.1.eb +++ b/easybuild/easyconfigs/a/annovar/annovar-20191024-GCCcore-8.2.0-Perl-5.28.1.eb @@ -1,23 +1,21 @@ easyblock = 'Tarball' name = 'annovar' -# Unconventional version is taken from the upstream site -# https://doc-openbio.readthedocs.io/projects/annovar/en/latest/user-guide/download/ -version = '20191024' +version = '20191024' # version reported by `annotate_variation.pl -h` versionsuffix = '-Perl-%(perlver)s' homepage = 'http://annovar.openbioinformatics.org/en/latest/' -description = """ANNOVAR is an efficient software tool to utilize update-to-date information -to functionally annotate genetic variants detected from diverse genomes (including human +description = """ANNOVAR is an efficient software tool to utilize update-to-date information +to functionally annotate genetic variants detected from diverse genomes (including human genome hg18, hg19, hg38, as well as mouse, worm, fly, yeast and many others).""" toolchain = {'name': 'GCCcore', 'version': '8.2.0'} # Registration required for download -# http://download.openbioinformatics.org/annovar_download_form.php +# http://www.openbioinformatics.org/annovar/annovar_download_form.php # rename after download to %(name)s-%(version)s.tar.gz sources = ['%(name)s-%(version)s.tar.gz'] -checksums = ['4061af3f2cc8f3d4d8187986c3d468a4b6ae145eec1858e85c7cd1059debb8ed'] +checksums = ['78a362a3bd771e4ac46b280c6b52f0d8452f32f11e3812f5d7f85797d26ae799'] dependencies = [('Perl', '5.28.1')] @@ -26,12 +24,13 @@ modextrapaths = { } sanity_check_paths = { - 'files': ["annotate_variation.pl", "retrieve_seq_from_fasta.pl"], + 'files': ["annotate_variation.pl", "coding_change.pl", "convert2annovar.pl", "retrieve_seq_from_fasta.pl", + "variants_reduction.pl", "table_annovar.pl"], 'dirs': ["example", "humandb"], } sanity_check_commands = [ - 'annotate_variation.pl --help 2>&1 | grep "Arguments to control input and output"', + "annotate_variation.pl --help 2>&1 | grep 'Version: $Date: %s-%s-%s'" % (version[:4], version[4:6], version[6:]), 'retrieve_seq_from_fasta.pl --help 2>&1 | grep "reformat sequences at specific genomic positions"', ] diff --git a/easybuild/easyconfigs/a/annovar/annovar-20200607-GCCcore-11.2.0-Perl-5.34.0.eb b/easybuild/easyconfigs/a/annovar/annovar-20200607-GCCcore-11.2.0-Perl-5.34.0.eb new file mode 100644 index 00000000000..36f2f721a05 --- /dev/null +++ b/easybuild/easyconfigs/a/annovar/annovar-20200607-GCCcore-11.2.0-Perl-5.34.0.eb @@ -0,0 +1,39 @@ +# J. Sassmannshausen /NHS/GSTT: toolchain updated to GCCcore-11.2 + +easyblock = 'Tarball' + +name = 'annovar' +version = '20200607' # version reported by `annotate_variation.pl -h` +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://annovar.openbioinformatics.org/en/latest/' +description = """ANNOVAR is an efficient software tool to utilize update-to-date information +to functionally annotate genetic variants detected from diverse genomes (including human +genome hg18, hg19, hg38, as well as mouse, worm, fly, yeast and many others).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +# Registration required for download +# http://www.openbioinformatics.org/annovar/annovar_download_form.php +# rename after download to %(name)s-%(version)s.tar.gz +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['4061af3f2cc8f3d4d8187986c3d468a4b6ae145eec1858e85c7cd1059debb8ed'] + +dependencies = [('Perl', '5.34.0')] + +modextrapaths = { + 'PATH': '', +} + +sanity_check_paths = { + 'files': ["annotate_variation.pl", "coding_change.pl", "convert2annovar.pl", "retrieve_seq_from_fasta.pl", + "variants_reduction.pl", "table_annovar.pl"], + 'dirs': ["example", "humandb"], +} + +sanity_check_commands = [ + "annotate_variation.pl --help 2>&1 | grep 'Version: $Date: %s-%s-%s'" % (version[:4], version[4:6], version[6:]), + 'retrieve_seq_from_fasta.pl --help 2>&1 | grep "reformat sequences at specific genomic positions"', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.1-Java-1.8.eb b/easybuild/easyconfigs/a/ant/ant-1.10.1-Java-1.8.eb index 1ffd386831a..ed1e72fae99 100644 --- a/easybuild/easyconfigs/a/ant/ant-1.10.1-Java-1.8.eb +++ b/easybuild/easyconfigs/a/ant/ant-1.10.1-Java-1.8.eb @@ -17,7 +17,7 @@ sources = ['apache-%(name)s-%(version)s-src.tar.gz'] checksums = ['68f7ced0aa15d1f9f672f23d67c86deaf728e9576936313cfbff4f7a0e6ce382'] # specify dependency on Java/1.8 "wrapper", rather than a specific Java version -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] builddependencies = [('JUnit', '4.12', versionsuffix)] diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-11.eb b/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-11.eb new file mode 100644 index 00000000000..c41856971c3 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.11' +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 = ['0a3dc4624c863657daa609051763f12bfd286bc6da1d61ca48959ce3b94be0e7'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-13.eb b/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-13.eb new file mode 100644 index 00000000000..31eec4f38ec --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.11-Java-13.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.11' +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 = ['0a3dc4624c863657daa609051763f12bfd286bc6da1d61ca48959ce3b94be0e7'] + +dependencies = [('Java', '13')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-11.eb b/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-11.eb new file mode 100644 index 00000000000..9e7b8f9f877 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.12' +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 = ['4b3b557279bae4fb80210a5679180fdae3498b44cfd13368e3386e2a21dd853b'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-17.eb b/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-17.eb new file mode 100644 index 00000000000..9347a656859 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.12-Java-17.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'ant' +version = '1.10.12' +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 = ['4b3b557279bae4fb80210a5679180fdae3498b44cfd13368e3386e2a21dd853b'] + +dependencies = [('Java', '17')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-11.eb b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-11.eb new file mode 100644 index 00000000000..dac2b969e10 --- /dev/null +++ b/easybuild/easyconfigs/a/ant/ant-1.10.14-Java-11.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', '11')] + +sanity_check_paths = { + 'files': ['bin/ant', 'lib/ant.jar'], + 'dirs': [], +} + +modextravars = {'ANT_HOME': '%(installdir)s'} + +moduleclass = 'devel' 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/antiSMASH/antiSMASH-5.2.0-foss-2020b.eb b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-5.2.0-foss-2020b.eb new file mode 100644 index 00000000000..db39bb21b3b --- /dev/null +++ b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-5.2.0-foss-2020b.eb @@ -0,0 +1,102 @@ +easyblock = 'PythonBundle' + +name = 'antiSMASH' +version = '5.2.0' + +homepage = 'https://github.com/antismash/antismash' +description = """antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary + metabolite biosynthesis gene clusters in bacterial and fungal genomes.""" + +docurls = ['https://docs.antismash.secondarymetabolites.org'] + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('DIAMOND', '2.0.7'), + ('FastTree', '2.1.11'), + ('GlimmerHMM', '3.0.4c'), + ('HMMER2', '2.3.2'), + ('HMMER', '3.3.2'), + ('MUSCLE', '3.8.31'), + ('BLAST+', '2.11.0'), + ('prodigal', '2.6.3'), + ('Biopython', '1.78'), + ('matplotlib', '3.3.3'), + ('scikit-learn', '0.23.2'), +] + +# install MEME as a component in this installation, +# since antiSMASH requires very specific old version +# see https://docs.antismash.secondarymetabolites.org/install/#full-manual-install +components = [ + ('MEME', '4.11.2', { + 'source_urls': ['http://meme-suite.org/meme-software/%(version)s/'], + 'sources': ['meme_%(version)s_2.tar.gz'], + 'checksums': ['377238c2a9dda64e01ffae8ecdbc1492c100df9b0f84132d50c1cf2f68921b22'], + 'easyblock': 'ConfigureMake', + 'start_dir': 'meme_%(version)s', + 'buildopts': 'CFLAGS="$CFLAGS -std=gnu89 -DUNIX -D__USE_FIXED_PROTOTYPES__ -fcommon"', + }), +] + +use_pip = True + +exts_list = [ + ('helperlibs', '0.2.1', { + 'checksums': ['4ec2a0c17fdb75c42c692c5ec582580c14490c31235af5858ec12ad308265732'], + }), + ('pysvg-py3', '0.2.2.post3', { + 'modulename': 'pysvg', + 'checksums': ['a1183aa5d89871298c11f25d28640edc3798b6ed1e2b2a95c30d35985d6431d0'], + }), + ('bcbio-gff', '0.6.6', { + 'modulename': 'BCBio.GFF', + 'checksums': ['74c6920c91ca18ed9cb872e9471c0be442dad143d8176345917eb1fefc86bc37'], + }), + ('pyScss', '1.3.7', { + 'modulename': 'scss', + 'checksums': ['f1df571569021a23941a538eb154405dde80bed35dc1ea7c5f3e18e0144746bf'], + }), + (name, version, { + 'source_urls': ['https://github.com/antismash/antismash/archive/'], + 'source_tmpl': '%s.tar.gz' % '-'.join(version.split('.')), + 'patches': ['antiSMASH-%(version)s_Biopython-1.78.patch'], + 'checksums': [ + 'a6fae892e46fd945701dda4640d07467e2d0ab37913d29da403127833bc77291', # 5-2-0.tar.gz + '4ca5d671085761c5f86719603fa3bbd0e82b7b52deefe8cac6eb4a3973825f16', # antiSMASH-5.2.0_Biopython-1.78.patch + ], + # use http mirrors for ftp URLs + 'preinstallopts': "sed -i 's/ftp:/http:/g' antismash/download_databases.py && ", + # run additional commands to download databases and check prerequisites, + # which creates some missing .pkl files (which requires the databases); + # this is not done by default because the resulting installation is pretty big (~18GB) + # 'postinstallcmds': [ + # "download-antismash-databases", + # # check prerequisites, which also creates some missing .pkl files in the installation... + # "antismash --check-prereqs", + # ], + }), +] + +sanity_check_paths = { + 'files': ['bin/antismash', 'bin/meme'], + 'dirs': [ + # antismash/databases subdirectory is only populated when postinstallcmds above are commented out + # 'lib/python%(pyshortver)s/site-packages/antismash/databases', + ], +} + +sanity_check_commands = [ + # 'meme -h' exits with non-zero exit status, so use 'grep' to check for pattern + "meme -h 2>&1 | grep 'Usage:[ \t]*meme'", + "antismash --version", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/antiSMASH/antiSMASH-5.2.0_Biopython-1.78.patch b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-5.2.0_Biopython-1.78.patch new file mode 100644 index 00000000000..ab977c49987 --- /dev/null +++ b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-5.2.0_Biopython-1.78.patch @@ -0,0 +1,470 @@ +see https://github.com/antismash/antismash/pull/310 + +From 94eaa1570bd7a2be9e24238234ccd33ab08270c2 Mon Sep 17 00:00:00 2001 +From: Simon Shaw +Date: Tue, 29 Sep 2020 17:01:37 +0200 +Subject: [PATCH 1/2] chore: handle biopython's removal of Alphabet in 1.78 and + update + +--- + antismash/common/record_processing.py | 24 ++------------ + antismash/common/secmet/features/region.py | 3 ++ + .../secmet/features/test/test_region.py | 5 ++- + antismash/common/secmet/record.py | 32 +++++++++++++++---- + .../secmet/test/test_circular_conversion.py | 11 ++++--- + antismash/common/secmet/test/test_secmet.py | 20 ++++++++++-- + antismash/common/serialiser.py | 15 +++------ + antismash/common/test/helpers.py | 4 +-- + .../common/test/test_record_processing.py | 17 ---------- + .../modules/pfam2go/test/test_pfam2go.py | 3 +- + antismash/modules/tta/test/test_tta.py | 3 +- + setup.py | 2 +- + 12 files changed, 67 insertions(+), 72 deletions(-) + +diff --git a/antismash/common/record_processing.py b/antismash/common/record_processing.py +index 0ab8ef89..489d2b95 100644 +--- a/antismash/common/record_processing.py ++++ b/antismash/common/record_processing.py +@@ -7,10 +7,9 @@ + import functools + import logging + import re +-from typing import Any, Callable, List, Set, Tuple, Union ++from typing import Any, Callable, List, Set, Tuple + import warnings + +-import Bio + from Bio.Seq import Seq, UnknownSeq + from Bio.SeqRecord import SeqRecord + from helperlibs.bio import seqio +@@ -97,7 +96,7 @@ def parse_input_sequence(filename: str, taxon: str = "bacteria", minimum_length: + raise AntismashInputError("all input records smaller than minimum length (%d)" % minimum_length) + + for record in records: +- if isinstance(record.seq.alphabet, Bio.Alphabet.ProteinAlphabet) or not is_nucl_seq(record.seq): ++ if not Record.is_nucleotide_sequence(record.seq): + raise AntismashInputError("protein records are not supported: %s" % record.id) + + # before conversion to secmet records, trim if required +@@ -356,8 +355,6 @@ def pre_process_sequences(sequences: List[Record], options: ConfigType, genefind + sequences = [sanitise_sequence(sequences[0])] + else: + sequences = parallel_function(sanitise_sequence, ([record] for record in sequences)) +- for sequence in sequences: +- sequence.seq.alphabet = Bio.Alphabet.generic_dna + + for record in sequences: + if record.skip or not record.seq: +@@ -413,7 +410,7 @@ def sanitise_sequence(record: Record) -> Record: + has_real_content = True + else: + sanitised.append("N") +- record.seq = Seq("".join(sanitised), alphabet=record.seq.alphabet) ++ record.seq = Seq("".join(sanitised)) + if not has_real_content: + record.skip = "contains no sequence" + return record +@@ -446,21 +443,6 @@ def trim_sequence(record: SeqRecord, start: int, end: int) -> SeqRecord: + return new + + +-def is_nucl_seq(sequence: Union[Seq, str]) -> bool: +- """ Determines if a sequence is a nucleotide sequence based on content. +- +- Arguments: +- sequence: the sequence to check, either a string or Bio.Seq +- +- Returns: +- True if more than 80% of characters are nucleotide bases +- """ +- other = str(sequence).lower() +- for char in "acgtn": +- other = other.replace(char, "") +- return len(other) < 0.2 * len(sequence) +- +- + def records_contain_shotgun_scaffolds(records: List[Record]) -> bool: + """ Check if given records contain a WGS master record or supercontig record + +diff --git a/antismash/common/secmet/features/region.py b/antismash/common/secmet/features/region.py +index 79f8f9a2..f0af7a52 100644 +--- a/antismash/common/secmet/features/region.py ++++ b/antismash/common/secmet/features/region.py +@@ -162,6 +162,9 @@ def write_to_genbank(self, filename: str = None, directory: str = None, record: + cluster_record.annotations["taxonomy"] = record.annotations.get("taxonomy", []) + cluster_record.annotations["data_file_division"] = record.annotations.get("data_file_division", 'UNK') + cluster_record.annotations["comment"] = record.annotations.get("comment", '') ++ # biopython does not persist the molecule_type annotation in slices, ++ # despite it being required for output to the genbank format ++ cluster_record.annotations["molecule_type"] = record.annotations["molecule_type"] + + # update the antiSMASH annotation to include some cluster details + comment_end_marker = "##antiSMASH-Data-END" +diff --git a/antismash/common/secmet/features/test/test_region.py b/antismash/common/secmet/features/test/test_region.py +index 0d34046a..364fc2a5 100644 +--- a/antismash/common/secmet/features/test/test_region.py ++++ b/antismash/common/secmet/features/test/test_region.py +@@ -7,7 +7,6 @@ + from tempfile import NamedTemporaryFile + import unittest + +-from Bio.Alphabet import generic_dna + from Bio.Seq import Seq + from helperlibs.bio import seqio + +@@ -138,7 +137,7 @@ def test_probabilities(self): + assert Region(candidate_clusters=candidates, subregions=subs).probabilities == [0.1, 0.7] + + def test_genbank(self): +- dummy_record = Record(Seq("A"*100, generic_dna)) ++ dummy_record = Record(Seq("A"*100)) + clusters = [create_protocluster(3, 20, "prodA"), + create_protocluster(25, 41, "prodB")] + for cluster in clusters: +@@ -164,7 +163,7 @@ def test_genbank(self): + assert new.probabilities == region.probabilities + + def test_prepeptide_adjustment(self): +- dummy_record = Record(Seq("A"*400, generic_dna)) ++ dummy_record = Record(Seq("A"*400)) + subregion = DummySubRegion(start=100, end=300) + dummy_record.add_subregion(subregion) + region = Region(subregions=[subregion]) +diff --git a/antismash/common/secmet/record.py b/antismash/common/secmet/record.py +index 95e63725..a177b789 100644 +--- a/antismash/common/secmet/record.py ++++ b/antismash/common/secmet/record.py +@@ -16,7 +16,7 @@ + import logging + from typing import Any, Dict, List, Optional, Sequence, Type, Tuple, Union, cast + +-from Bio import Alphabet, SeqIO ++from Bio import SeqIO + from Bio.Seq import Seq + from Bio.SeqFeature import SeqFeature, FeatureLocation, CompoundLocation + from Bio.SeqRecord import SeqRecord +@@ -467,6 +467,8 @@ def to_biopython(self) -> SeqRecord: + bio_features: List[SeqFeature] = [] + for feature in sorted(features): + bio_features.extend(feature.to_biopython()) ++ if "molecule_type" not in self._record.annotations: ++ self._record.annotations["molecule_type"] = "DNA" + return SeqRecord(self.seq, id=self._record.id, name=self._record.name, + description=self._record.description, + dbxrefs=self.dbxrefs, features=bio_features, +@@ -653,9 +655,10 @@ def from_biopython(seq_record: SeqRecord, taxon: str) -> "Record": + postponed_features[kind.FEATURE_TYPE] = (kind, []) + + assert isinstance(seq_record, SeqRecord), type(seq_record) +- if seq_record.seq and isinstance(seq_record.seq, Seq): +- if isinstance(seq_record.seq.alphabet, Alphabet.ProteinAlphabet): +- raise SecmetInvalidInputError("protein records are not supported") ++ if seq_record.annotations.get("molecule_type", "DNA") != "DNA": ++ raise SecmetInvalidInputError("protein records are not supported") ++ if seq_record.seq and not Record.is_nucleotide_sequence(seq_record.seq): ++ raise SecmetInvalidInputError("protein records are not supported") + transl_table = 1 # standard + if str(taxon) == "bacteria": + transl_table = 11 # bacterial, archea, plant plastid code +@@ -831,11 +834,11 @@ def get_aa_translation_from_location(self, location: FeatureLocation, + string_version = str(seq) + for invalid in "*BJOUZ": + string_version = string_version.replace(invalid, "X") +- seq = Seq(string_version, Alphabet.generic_protein) + + if "-" in str(seq): +- seq = Seq(str(seq).replace("-", ""), Alphabet.generic_protein) +- return seq ++ seq = Seq(str(seq).replace("-", "")) ++ ++ return Seq(string_version) + + def get_cds_features_within_regions(self) -> List[CDSFeature]: # pylint: disable=invalid-name + """ Returns all CDS features in the record that are located within a +@@ -958,3 +961,18 @@ def strip_antismash_annotations(self) -> None: + # clean up antiSMASH annotations in CDS features + for feature in self.get_cds_features(): + feature.strip_antismash_annotations() ++ ++ @staticmethod ++ def is_nucleotide_sequence(sequence: Union[Seq, str]) -> bool: ++ """ Determines if a sequence is a nucleotide sequence based on content. ++ ++ Arguments: ++ sequence: the sequence to check, either a string or Bio.Seq ++ ++ Returns: ++ True if more than 80% of characters are nucleotide bases ++ """ ++ other = str(sequence).lower() ++ for char in "acgtn": ++ other = other.replace(char, "") ++ return len(other) < 0.2 * len(sequence) +diff --git a/antismash/common/secmet/test/test_circular_conversion.py b/antismash/common/secmet/test/test_circular_conversion.py +index e001480b..1619d425 100644 +--- a/antismash/common/secmet/test/test_circular_conversion.py ++++ b/antismash/common/secmet/test/test_circular_conversion.py +@@ -6,7 +6,7 @@ + + import unittest + +-from Bio.Seq import UnknownSeq ++from Bio.Seq import Seq + from Bio.SeqFeature import SeqFeature + from Bio.SeqRecord import SeqRecord + +@@ -16,7 +16,7 @@ + + class TestBridgeConversion(unittest.TestCase): + def setUp(self): +- self.seqrec = SeqRecord(UnknownSeq(21)) ++ self.seqrec = SeqRecord(Seq("A"*21)) + loc = CompoundLocation([FeatureLocation(12, 15, strand=1), + FeatureLocation(18, 21, strand=1), + FeatureLocation(0, 3, strand=1), +@@ -25,6 +25,7 @@ def setUp(self): + self.seqcds = SeqFeature(loc, type="CDS") + self.seqgene = SeqFeature(loc, type="gene") + self.seqrec.annotations["topology"] = "circular" ++ self.seqrec.annotations["molecule_type"] = "DNA" + + def test_bridge_in_linear_record(self): + self.seqrec.annotations["topology"] = "linear" +@@ -110,7 +111,7 @@ def test_gene_with_no_id(self): + + class TestSingleLower(TestBridgeConversion): + def setUp(self): +- self.seqrec = SeqRecord(UnknownSeq(21)) ++ self.seqrec = SeqRecord(Seq("A"*21)) + loc = CompoundLocation([FeatureLocation(12, 15, strand=1), + FeatureLocation(18, 21, strand=1), + FeatureLocation(0, 9, strand=1)], +@@ -122,7 +123,7 @@ def setUp(self): + + class TestSingleUpper(TestBridgeConversion): + def setUp(self): +- self.seqrec = SeqRecord(UnknownSeq(21)) ++ self.seqrec = SeqRecord(Seq("A"*21)) + loc = CompoundLocation([FeatureLocation(12, 21, strand=1), + FeatureLocation(0, 3, strand=1), + FeatureLocation(6, 9, strand=1)], +@@ -133,7 +134,7 @@ def setUp(self): + + class TestSingleBoth(TestBridgeConversion): + def setUp(self): +- self.seqrec = SeqRecord(UnknownSeq(21)) ++ self.seqrec = SeqRecord(Seq("A"*21)) + loc = CompoundLocation([FeatureLocation(12, 21, strand=1), + FeatureLocation(0, 9, strand=1)], + operator="join") +diff --git a/antismash/common/secmet/test/test_secmet.py b/antismash/common/secmet/test/test_secmet.py +index d802d6fd..65ac7b2c 100644 +--- a/antismash/common/secmet/test/test_secmet.py ++++ b/antismash/common/secmet/test/test_secmet.py +@@ -8,7 +8,6 @@ + import unittest + + import Bio.SeqIO +-from Bio.Alphabet.IUPAC import IUPACProtein + from Bio.Seq import Seq + from Bio.SeqFeature import FeatureLocation, SeqFeature + +@@ -78,7 +77,7 @@ def test_protein_sequences_caught(self): + assert isinstance(before.seq, Seq) + Record.from_biopython(before, taxon="bacteria") + +- before.seq = Seq("AAAA", IUPACProtein()) ++ before.annotations["molecule_type"] = "protein" + with self.assertRaisesRegex(ValueError, "protein records are not supported"): + Record.from_biopython(before, taxon="bacteria") + +@@ -789,3 +788,20 @@ def test_nonoverlapping_location(self): + cds = CDSFeature(FeatureLocation(12, 18, 1), locus_tag="test", protein_id="prot", translation="MA") + with self.assertRaisesRegex(ValueError, "same name for mapping"): + record.add_cds_feature(cds) ++ ++ ++class TestIsNuclSeq(unittest.TestCase): ++ def test_seq(self): ++ # > 20% ++ for seq in ["AGTC", "AGCTFC", "agtcfc", "AGTCFCT"]: ++ assert Record.is_nucleotide_sequence(Seq(seq)) ++ # edge case == 20% should be failure ++ assert not Record.is_nucleotide_sequence(Seq("AGFTC")) ++ # and less than 20% ++ assert not Record.is_nucleotide_sequence(Seq("AGFTCF")) ++ ++ def test_str(self): ++ for seq in ["AGTC", "AGCTFC", "agtcfc", "AGTCFCT"]: ++ assert Record.is_nucleotide_sequence(seq) ++ assert not Record.is_nucleotide_sequence("AGFTC") ++ assert not Record.is_nucleotide_sequence("AGFTCF") +diff --git a/antismash/common/serialiser.py b/antismash/common/serialiser.py +index a9ca198d..9436b60b 100644 +--- a/antismash/common/serialiser.py ++++ b/antismash/common/serialiser.py +@@ -10,8 +10,6 @@ + import logging + from typing import Any, Dict, IO, List, Union + +-import Bio.Alphabet +-import Bio.Alphabet.IUPAC + from Bio.Seq import Seq + from Bio.SeqFeature import SeqFeature, Reference + from Bio.SeqRecord import SeqRecord +@@ -179,8 +177,10 @@ def rebuild_references(annotations: Dict) -> Dict[str, List[Reference]]: + + def sequence_to_json(sequence: Seq) -> Dict[str, str]: + """ Constructs a JSON object that represents a Seq sequence """ +- return {"data": str(sequence), +- "alphabet": str(sequence.alphabet).rsplit('()')[0]} # DNA() -> DNA ++ return { ++ "data": str(sequence), ++ "alphabet": "DNA", # for compatibility, removable on schema version change ++ } + + + def sequence_from_json(data: Union[str, Dict]) -> Seq: +@@ -188,12 +188,7 @@ def sequence_from_json(data: Union[str, Dict]) -> Seq: + if isinstance(data, str): + data = json.loads(data) + assert isinstance(data, dict) +- alphabet = data["alphabet"] +- if "IUPAC" in alphabet: +- alphabet_class = getattr(Bio.Alphabet.IUPAC, alphabet) +- else: +- alphabet_class = getattr(Bio.Alphabet, alphabet) +- return Seq(data["data"], alphabet=alphabet_class()) ++ return Seq(data["data"]) + + + def feature_to_json(feature: SeqFeature) -> Dict[str, Any]: +diff --git a/antismash/common/test/helpers.py b/antismash/common/test/helpers.py +index 315c8fcc..66ff2a63 100644 +--- a/antismash/common/test/helpers.py ++++ b/antismash/common/test/helpers.py +@@ -13,7 +13,6 @@ + + import os + +-from Bio.Seq import Seq + from helperlibs.wrappers.io import TemporaryDirectory + + import antismash +@@ -46,8 +45,9 @@ def get_simple_options(module, args): + + class DummyRecord(Record): + "class for generating a Record like data structure" +- def __init__(self, features=None, seq='FAKESEQ', taxon='bacteria'): ++ def __init__(self, features=None, seq='AGCTACGT', taxon='bacteria'): + super().__init__(seq, transl_table=11 if taxon == 'bacteria' else 1) ++# self.annotations["molecule_type"] = "DNA" + if features: + for feature in features: + self.add_feature(feature) +diff --git a/antismash/common/test/test_record_processing.py b/antismash/common/test/test_record_processing.py +index 3deac06c..3f4c9852 100644 +--- a/antismash/common/test/test_record_processing.py ++++ b/antismash/common/test/test_record_processing.py +@@ -154,23 +154,6 @@ def test_no_change(self): + assert new.seq == self.record.seq + + +-class TestIsNuclSeq(unittest.TestCase): +- def test_seq(self): +- # > 20% +- for seq in ["AGTC", "AGCTFC", "agtcfc", "AGTCFCT"]: +- assert record_processing.is_nucl_seq(Seq(seq)) +- # edge case == 20% should be failure +- assert not record_processing.is_nucl_seq(Seq("AGFTC")) +- # and less than 20% +- assert not record_processing.is_nucl_seq(Seq("AGFTCF")) +- +- def test_str(self): +- for seq in ["AGTC", "AGCTFC", "agtcfc", "AGTCFCT"]: +- assert record_processing.is_nucl_seq(seq) +- assert not record_processing.is_nucl_seq("AGFTC") +- assert not record_processing.is_nucl_seq("AGFTCF") +- +- + class TestPreprocessRecords(unittest.TestCase): + def setUp(self): + class DummyModule: +diff --git a/antismash/modules/pfam2go/test/test_pfam2go.py b/antismash/modules/pfam2go/test/test_pfam2go.py +index 8f772dd6..03b80839 100644 +--- a/antismash/modules/pfam2go/test/test_pfam2go.py ++++ b/antismash/modules/pfam2go/test/test_pfam2go.py +@@ -8,7 +8,6 @@ + + from typing import Dict + +-from Bio.Alphabet import generic_dna + from Bio.Seq import Seq + from Bio.SeqFeature import FeatureLocation + +@@ -97,7 +96,7 @@ def test_get_gos(self): + + def test_blank_records(self): + blank_no_pfams = DummyRecord() +- blank_no_ids = Record(Seq("ATGTTATGAGGGTCATAACAT", generic_dna)) ++ blank_no_ids = Record(Seq("ATGTTATGAGGGTCATAACAT")) + fake_pfam = DummyPFAMDomain(identifier="PF00000") + blank_no_ids.add_pfam_domain(fake_pfam) + +diff --git a/antismash/modules/tta/test/test_tta.py b/antismash/modules/tta/test/test_tta.py +index e03f9fc5..eb27d548 100644 +--- a/antismash/modules/tta/test/test_tta.py ++++ b/antismash/modules/tta/test/test_tta.py +@@ -7,7 +7,6 @@ + from argparse import Namespace + import unittest + +-from Bio.Alphabet import generic_dna + from Bio.Seq import Seq + from Bio.SeqFeature import SeqFeature, FeatureLocation + +@@ -19,7 +18,7 @@ + class TtaTest(unittest.TestCase): + def setUp(self): + # locations: VVV VVV +- record = Record(Seq("ATGTTATGAGGGTCATAACAT", generic_dna)) ++ record = Record(Seq("ATGTTATGAGGGTCATAACAT")) + + record.add_cds_feature(DummyCDS(0, 9, strand=1)) + record.add_cds_feature(DummyCDS(12, 21, strand=-1)) +diff --git a/setup.py b/setup.py +index cba1f338..b0b02341 100644 +--- a/setup.py ++++ b/setup.py +@@ -16,7 +16,7 @@ def read(fname): + + install_requires = [ + 'numpy', +- 'biopython >=1.71,<1.77', ++ 'biopython >=1.78', + 'helperlibs', + 'jinja2', + 'joblib', + +From 98dbffe5a726444bdf9b24c8f8664533a3d450eb Mon Sep 17 00:00:00 2001 +From: Simon Shaw +Date: Tue, 27 Oct 2020 10:01:59 +0100 +Subject: [PATCH 2/2] chore: bump minimum python version to 3.7 + +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index b0b02341..c7709966 100644 +--- a/setup.py ++++ b/setup.py +@@ -95,7 +95,7 @@ def run_tests(self): + + setup( + name="antismash", +- python_requires='>=3.5', ++ python_requires='>=3.7', + version=read_version(), + packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]), + package_data={ diff --git a/easybuild/easyconfigs/a/antiSMASH/antiSMASH-6.0.1-foss-2020b.eb b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-6.0.1-foss-2020b.eb new file mode 100644 index 00000000000..57cfc9ef196 --- /dev/null +++ b/easybuild/easyconfigs/a/antiSMASH/antiSMASH-6.0.1-foss-2020b.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'antiSMASH' +version = '6.0.1' + +homepage = 'https://github.com/antismash/antismash' +description = """antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary + metabolite biosynthesis gene clusters in bacterial and fungal genomes.""" + +docurls = ['https://docs.antismash.secondarymetabolites.org'] + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('DIAMOND', '2.0.7'), + ('FastTree', '2.1.11'), + ('GlimmerHMM', '3.0.4c'), + ('HMMER2', '2.3.2'), + ('HMMER', '3.3.2'), + ('MUSCLE', '3.8.31'), + ('BLAST+', '2.11.0'), + ('prodigal', '2.6.3'), + ('Biopython', '1.78'), + ('matplotlib', '3.3.3'), + ('scikit-learn', '0.23.2'), +] + +# install MEME as a component in this installation, +# since antiSMASH requires very specific old version +# see https://docs.antismash.secondarymetabolites.org/install/#full-manual-install +components = [ + ('MEME', '5.4.0', { + 'source_urls': ['http://meme-suite.org/meme-software/%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['e446baf78ce8f9b9dc72723bc91c1d60523174a862af19971a92332a7298d56e'], + 'easyblock': 'ConfigureMake', + 'start_dir': 'meme-%(version)s', + }), +] + +use_pip = True + +exts_list = [ + ('helperlibs', '0.2.1', { + 'checksums': ['4ec2a0c17fdb75c42c692c5ec582580c14490c31235af5858ec12ad308265732'], + }), + ('pysvg-py3', '0.2.2.post3', { + 'modulename': 'pysvg', + 'checksums': ['a1183aa5d89871298c11f25d28640edc3798b6ed1e2b2a95c30d35985d6431d0'], + }), + ('bcbio-gff', '0.6.8', { + 'modulename': 'BCBio.GFF', + 'checksums': ['8578d3c917a81e39898fa588e969c934fb942c2f3e11c275fa492c679a5f36a1'], + }), + ('pyScss', '1.3.7', { + 'modulename': 'scss', + 'checksums': ['f1df571569021a23941a538eb154405dde80bed35dc1ea7c5f3e18e0144746bf'], + }), + (name, version, { + 'source_tmpl': '6-0-1.tar.gz', + 'source_urls': ['https://github.com/antismash/antismash/archive/'], + 'checksums': ['3bd162f44e61ed68efb1d5e98968bdf80691b5d8382eecd66257a6f3a2703de7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/antismash', 'bin/meme'], + 'dirs': [], +} + +sanity_check_commands = [ + # 'meme -h' exits with non-zero exit status, so use 'grep' to check for pattern + "meme -h 2>&1 | grep 'Usage:[ \t]*meme'", + "antismash --version", +] + +sanity_pip_check = True + +moduleclass = 'bio' 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/any2fasta/any2fasta-0.4.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..52f84450815 --- /dev/null +++ b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-10.2.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# Updated by: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'any2fasta' +version = '0.4.2' + +homepage = 'https://github.com/tseemann/any2fasta' +description = "Convert various sequence formats to FASTA" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +# https://github.com/tseemann/any2fasta +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['3faa738ab409c7073afe3769e9d32dd5b28a2c12e72c2e4ac6f4e9946ee9a22f'] + +dependencies = [('Perl', '5.32.0')] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['any2fasta'], + 'dirs': [], +} + +sanity_check_commands = [ + 'any2fasta -h', + 'any2fasta -q %(builddir)s/%(name)s-%(version)s/test.fq', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2297e7b2bbe --- /dev/null +++ b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# Updated by: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'any2fasta' +version = '0.4.2' + +homepage = 'https://github.com/tseemann/any2fasta' +description = "Convert various sequence formats to FASTA" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +# https://github.com/tseemann/any2fasta +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['3faa738ab409c7073afe3769e9d32dd5b28a2c12e72c2e4ac6f4e9946ee9a22f'] + +dependencies = [('Perl', '5.32.1')] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['any2fasta'], + 'dirs': [], +} + +sanity_check_commands = [ + 'any2fasta -h', + 'any2fasta -q %(builddir)s/%(name)s-%(version)s/test.fq', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..86bf9d1770e --- /dev/null +++ b/easybuild/easyconfigs/a/any2fasta/any2fasta-0.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# Updated by: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'any2fasta' +version = '0.4.2' + +homepage = 'https://github.com/tseemann/any2fasta' +description = "Convert various sequence formats to FASTA" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +# https://github.com/tseemann/any2fasta +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.zip'] +checksums = ['3faa738ab409c7073afe3769e9d32dd5b28a2c12e72c2e4ac6f4e9946ee9a22f'] + +dependencies = [('Perl', '5.34.0')] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['any2fasta'], + 'dirs': [], +} + +sanity_check_commands = [ + 'any2fasta -h', + 'any2fasta -q %(builddir)s/%(name)s-%(version)s/test.fq', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arcasHLA/arcasHLA-0.2.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/a/arcasHLA/arcasHLA-0.2.0-foss-2019b-Python-3.7.4.eb index bc81df83420..816d044d50f 100644 --- a/easybuild/easyconfigs/a/arcasHLA/arcasHLA-0.2.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/a/arcasHLA/arcasHLA-0.2.0-foss-2019b-Python-3.7.4.eb @@ -24,7 +24,7 @@ dependencies = [ ('SAMtools', '1.10'), ('pigz', '2.4'), ('git', '2.23.0', '-nodocs'), - ('git-lfs', '2.11.0', '', True), + ('git-lfs', '2.11.0', '', SYSTEM), ] # Download and install the reference database (1.8 GB) diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..06b4ffb6c8f --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.2' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = ['archspec-%(version)s-py2.py3-none-any.whl'] +checksums = ['71aef85b8114c357723b0ea455cba9a2bf567400dce25b0ee7f96eb4f1405d37'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Python', '3.8.6')] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["python -c 'from archspec.cpu import host; print(host())'"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f1e3fc9518f --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.2-GCCcore-10.3.0.eb @@ -0,0 +1,28 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.2' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = ['archspec-%(version)s-py2.py3-none-any.whl'] +checksums = ['71aef85b8114c357723b0ea455cba9a2bf567400dce25b0ee7f96eb4f1405d37'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["python -c 'from archspec.cpu import host; print(host())'"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5087b91bae6 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.3-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.3' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +# See https://github.com/archspec/archspec/pull/69 +patches = ['archspec-0.1.3_click_8.patch'] +checksums = [ + 'a1aa7abde4d4ce38d115dfd572584906fa8e192e3272b8897e7b4fa1213ec27c', # archspec-0.1.3.tar.gz + 'd9fbdc599bb58b0121ec5e19e81e82238fc78da35e4f207b4f15186657896c59', # archspec-0.1.3_click_8.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +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/archspec/archspec-0.1.3_click_8.patch b/easybuild/easyconfigs/a/archspec/archspec-0.1.3_click_8.patch new file mode 100644 index 00000000000..54a88063771 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.3_click_8.patch @@ -0,0 +1,131 @@ +diff -ruN archspec-0.1.3.orig/archspec/cpu/detect.py archspec-0.1.3/archspec/cpu/detect.py +--- archspec-0.1.3.orig/archspec/cpu/detect.py 2021-10-22 13:57:34.215254800 +0200 ++++ archspec-0.1.3/archspec/cpu/detect.py 2022-01-24 17:49:18.591176274 +0100 +@@ -61,7 +61,7 @@ + ``/proc/cpuinfo`` + """ + info = {} +- with open("/proc/cpuinfo") as file: ++ with open("/proc/cpuinfo") as file: # pylint: disable=unspecified-encoding + for line in file: + key, separator, value = line.partition(":") + +@@ -80,7 +80,9 @@ + + + def _check_output(args, env): +- output = subprocess.Popen(args, stdout=subprocess.PIPE, env=env).communicate()[0] ++ output = subprocess.Popen( # pylint: disable=consider-using-with ++ args, stdout=subprocess.PIPE, env=env ++ ).communicate()[0] + return six.text_type(output.decode("utf-8")) + + +@@ -288,7 +290,7 @@ + arch_root = TARGETS[basename] + return ( + (target == arch_root or arch_root in target.ancestors) +- and (target.vendor == vendor or target.vendor == "generic") ++ and target.vendor in (vendor, "generic") + and target.features.issubset(features) + ) + +@@ -303,7 +305,7 @@ + arch_root = TARGETS[basename] + return ( + (target == arch_root or arch_root in target.ancestors) +- and (target.vendor == vendor or target.vendor == "generic") ++ and target.vendor in (vendor, "generic") + and target.features.issubset(features) + ) + +diff -ruN archspec-0.1.3.orig/archspec/cpu/schema.py archspec-0.1.3/archspec/cpu/schema.py +--- archspec-0.1.3.orig/archspec/cpu/schema.py 2021-09-03 17:23:36.193003000 +0200 ++++ archspec-0.1.3/archspec/cpu/schema.py 2022-01-24 17:49:18.594040000 +0100 +@@ -11,7 +11,7 @@ + try: + from collections.abc import MutableMapping # novm + except ImportError: +- from collections import MutableMapping ++ from collections import MutableMapping # pylint: disable=deprecated-class + + + class LazyDictionary(MutableMapping): +@@ -56,7 +56,7 @@ + + def _factory(): + filename = os.path.join(json_dir, json_file) +- with open(filename, "r") as file: ++ with open(filename, "r") as file: # pylint: disable=unspecified-encoding + return json.load(file) + + return _factory +diff -ruN archspec-0.1.3.orig/pyproject.toml archspec-0.1.3/pyproject.toml +--- archspec-0.1.3.orig/pyproject.toml 2021-10-22 13:57:34.215254800 +0200 ++++ archspec-0.1.3/pyproject.toml 2022-01-24 17:49:18.594944000 +0100 +@@ -25,46 +25,51 @@ + ] + + [tool.poetry.dependencies] +-python = ">=2.7 !=3.4.* !=3.3.* !=3.2.* !=3.1.* !=3.0.* <4" ++python = "==2.7 || ^3.5" + six = "^1.13.0" +-click = ">=7.1.2,<8.0" ++click = [ ++ {version = "^8", python = '^3.6'}, ++ {version = "^7", python = '==3.5'}, ++ {version = "^7", python = '==2.7'} ++] + + [tool.poetry.dev-dependencies] + pytest = [ +- {version = ">=5.3.2", python = '^3.5'}, +- {version = ">=3.5.2", python = '^2.7'} ++ {version = "^6", python = '^3.6'}, ++ {version = "~5", python = '==3.5'}, ++ {version = "~3", python = '==2.7'} + ] + more_itertools = [ +- {version = ">=5.0.0", python = '^2.7'} ++ {version = "~5", python = '==2.7'} + ] + scandir = [ +- {version = ">=1.10.0", python = '^2.7'} ++ {version = "~1", python = '==2.7'} + ] + pytest-cov = "^2.8.1" + coverage = "^5.3" + pylint = [ +- {version = "^2.4.4", python = "^3.5"} ++ {version = "^2", python = "^3.6"} + ] + flake8 = [ +- {version = "^3.7.9", python = "^3.5"} ++ {version = "^4", python = "^3.6"} + ] + black = [ +- {version = ">19.10b0", python = "^3.6"} ++ {version = "==21.12b0", python = "^3.8"} + ] + sphinx = [ +- {version = "^2.3.1", python = "^3.5"} ++ {version = "^4", python = "^3.6"} + ] + sphinx_rtd_theme = [ +- {version = "^0.4.3", python = "^3.5"} ++ {version = "^1", python = "^3.6"} + ] + jsonschema = "^3.2.0" + pyrsistent = [ +- {version="<0.17.0", python="^2.7"} ++ {version="~0.16", python="==2.7"} + ] + + [tool.poetry.scripts] + archspec = 'archspec.cli:main' + + [build-system] +-requires = ["poetry>=0.12"] +-build-backend = "poetry.masonry.api" ++requires = ["poetry>=1.0.0"] ++build-backend = "poetry.core.masonry.api" diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..710f53f822e --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.1.4-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.1.4' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b8d5eeb4caf892790ff1aa8ccef442a84187986aeab4da29417c9fe35532d94c'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +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/archspec/archspec-0.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8e514adf7c0 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.2.0' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6aaba5ebdb5c3633c400d8c221a6a18716da0c64b367a8509f4217b22e91a5f5'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +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/archspec/archspec-0.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7498e082971 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.1-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.2.1' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0974a8a95831d2d43cce906c5b79a35d5fd2bf9be478b0e3b7d83ccc51ac815e'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] + +dependencies = [('Python', '3.11.3')] + +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/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/archspec/archspec-0.2.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5a4f3a288e9 --- /dev/null +++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.4-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'archspec' +version = '0.2.4' + +homepage = 'https://github.com/archspec/archspec' +description = "A library for detecting, labeling, and reasoning about microarchitectures" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['eabbae22f315d24cc2ce786a092478ec8e245208c9877fb213c2172a6ecb9302'] + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] + +dependencies = [('Python', '3.12.3')] + +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 new file mode 100644 index 00000000000..bf680a03bd2 --- /dev/null +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.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': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] + +builddependencies = [('binutils', '2.35')] + +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-10.3.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..916da386d28 --- /dev/null +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-10.3.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': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] + +builddependencies = [('binutils', '2.36.1')] + +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-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-12.3.0.eb b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8a411de3fd2 --- /dev/null +++ b/easybuild/easyconfigs/a/argtable/argtable-2.13-GCCcore-12.3.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': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%s%s.tar.gz' % (name, version.replace('.', '-'))] +checksums = ['8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf'] + +builddependencies = [('binutils', '2.40')] + +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/aria2/aria2-1.35.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/aria2/aria2-1.35.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c0280bde061 --- /dev/null +++ b/easybuild/easyconfigs/a/aria2/aria2-1.35.0-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'aria2' +version = '1.35.0' + +homepage = 'https://aria2.github.io' +description = "aria2 is a lightweight multi-protocol & multi-source command-line download utility." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/aria2/aria2/releases/download/release-%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['fd85589416f8246cefc4e6ba2fa52da54fdf11fd5602a2db4b6749f7c33b5b2d'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), + ('CppUnit', '1.15.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), + ('SQLite', '3.35.4'), + ('c-ares', '1.17.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--without-gnutls --with-openssl --enable-libaria2 --enable-static" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/aria2c'], + 'dirs': ['share'], +} + +sanity_check_commands = ["aria2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/aria2/aria2-1.36.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/aria2/aria2-1.36.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..baafaf4f5e3 --- /dev/null +++ b/easybuild/easyconfigs/a/aria2/aria2-1.36.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'aria2' +version = '1.36.0' + +homepage = 'https://aria2.github.io' +description = "aria2 is a lightweight multi-protocol & multi-source command-line download utility." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/aria2/aria2/releases/download/release-%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['b593b2fd382489909c96c62c6e180054c3332b950be3d73e0cb0d21ea8afb3c5'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('CppUnit', '1.15.1'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('c-ares', '1.18.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--without-gnutls --with-openssl --enable-libaria2 --enable-static" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/aria2c'], + 'dirs': ['share'], +} + +sanity_check_commands = ["aria2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arosics/arosics-1.7.6-foss-2021a.eb b/easybuild/easyconfigs/a/arosics/arosics-1.7.6-foss-2021a.eb new file mode 100644 index 00000000000..17573ab46e9 --- /dev/null +++ b/easybuild/easyconfigs/a/arosics/arosics-1.7.6-foss-2021a.eb @@ -0,0 +1,80 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'arosics' +version = '1.7.6' + +homepage = 'https://github.com/GFZ/arosics' +description = """AROSICS is a python package to perform automatic subpixel co-registration +of two satellite image datasets based on an image matching approach working in the frequency +domain, combined with a multistage workflow for effective detection of false-positives.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('GEOS', '3.9.1'), + ('GDAL', '3.3.0'), + ('Pillow', '8.2.0'), + ('matplotlib', '3.4.2'), + ('scikit-image', '0.18.3'), + ('Fiona', '1.8.20'), + ('Cartopy', '0.20.0'), + ('pyproj', '3.1.0'), + ('dill', '0.3.4'), + ('networkx', '2.5.1'), + ('plotly.py', '5.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('fonttools', '4.29.1', { + 'modulename': 'fontTools', + 'source_tmpl': SOURCE_ZIP, + 'checksums': ['2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4'], + }), + ('PyKrige', '1.6.1', { + 'checksums': ['7432287306d13820ed0f0ec2f52c12fa462e18015abbf8fa627beab989ccaff6'], + }), + ('pyFFTW', '0.12.0', { + 'source_tmpl': SOURCE_TAR_GZ, + 'checksums': ['60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0'], + }), + ('spectral', '0.22.4', { + 'checksums': ['b208ffd1042e32fd2276a35e098e3df26a5f6ff1310b829e97d222c66645a9af'], + }), + ('py-tools-ds', '0.20.1', { + 'source_tmpl': 'py_tools_ds-%(version)s.tar.gz', + 'checksums': ['c745a3e540c2b75dbffc1783df4307707b0b9f80cc7f30de4f1138983f62d899'], + }), + ('geopandas', '0.10.2', { + 'checksums': ['efbf47e70732e25c3727222019c92b39b2e0a66ebe4fe379fbe1aa43a2a871db'], + }), + ('geojson', '2.5.0', { + 'checksums': ['6e4bb7ace4226a45d9c8c8b1348b3fc43540658359f93c3f7e03efa9f15f658a'], + }), + ('geoarray', '0.15.7', { + 'source_tmpl': SOURCE_TAR_GZ, + 'checksums': ['65678c49332ff471d1c95a26734ee67086fb02490d437647e9de67571022532f'], + }), + ('branca', '0.4.2', { + 'checksums': ['c111453617b17ab2bda60a4cd71787d6f2b59c85cdf71ab160a737606ac66c31'], + }), + ('folium', '0.12.1.post1', { + 'checksums': ['e91e57d8298f3ccf4cce3c5e065bea6eb17033e3c5432b8a22214009c266b2ab'], + }), + ('cmocean', '2.0', { + 'checksums': ['13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a'], + }), + (name, version, { + 'source_tmpl': SOURCE_TAR_GZ, + 'checksums': ['03f4f952cca5d9d709da1a3c2130ddb3fbb1d21b83998593569638a4b1c7aaa9'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019a.eb index b598e539cc1..25065d06f05 100644 --- a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019a.eb +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019a.eb @@ -20,7 +20,7 @@ builddependencies = [ ] dependencies = [ - ('Eigen', '3.3.7', '', True) + ('Eigen', '3.3.7', '', SYSTEM) ] preconfigopts = "sh bootstrap && " diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019b.eb index be0c9d7dedd..69babe0c5ea 100644 --- a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019b.eb +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-foss-2019b.eb @@ -20,7 +20,7 @@ builddependencies = [ ] dependencies = [ - ('Eigen', '3.3.7', '', True) + ('Eigen', '3.3.7', '', SYSTEM) ] preconfigopts = "sh bootstrap && " diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-intel-2019b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-intel-2019b.eb index e60710e4b02..f262b1d4d67 100644 --- a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-intel-2019b.eb +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.7.0-intel-2019b.eb @@ -24,7 +24,7 @@ builddependencies = [ ] dependencies = [ - ('Eigen', '3.3.7', '', True) + ('Eigen', '3.3.7', '', SYSTEM) ] separate_build_dir = True diff --git a/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2021a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2021a.eb new file mode 100644 index 00000000000..0382ae7ae84 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2021a.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = "3.8.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': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20210128'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Eigen', '3.3.9') +] + +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.8.0-foss-2021b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2021b.eb new file mode 100644 index 00000000000..ba40c98ecc2 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2021b.eb @@ -0,0 +1,35 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.8.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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkgconf', '1.8.0'), + ('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.8.0-foss-2022a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022a.eb new file mode 100644 index 00000000000..7aba9e12ea2 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022a.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = "3.8.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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkg-config', '0.29.2'), +] + +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.8.0-foss-2022b.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022b.eb new file mode 100644 index 00000000000..2cfbadb05b1 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.8.0-foss-2022b.eb @@ -0,0 +1,35 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'arpack-ng' +version = '3.8.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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ada5aeb3878874383307239c9235b716a8a170c6d096a6625bfd529844df003d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.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/arpack-ng/arpack-ng-3.9.0-foss-2023a.eb b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023a.eb new file mode 100644 index 00000000000..bdc9b5aa647 --- /dev/null +++ b/easybuild/easyconfigs/a/arpack-ng/arpack-ng-3.9.0-foss-2023a.eb @@ -0,0 +1,35 @@ +## +# 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': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'opencollab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['24f2a2b259992d3c797d80f626878aa8e2ed5009d549dad57854bbcfb95e1ed0'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), + ('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.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-0.17.1-foss-2020a-R-4.0.0.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-0.17.1-foss-2020a-R-4.0.0.eb new file mode 100644 index 00000000000..6118342e5ae --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-0.17.1-foss-2020a-R-4.0.0.eb @@ -0,0 +1,32 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '0.17.1' +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': '2020a'} + +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 = ['c6de688f1a3282d89c1b4f8f1ebd70c2addbfa7a67e3d41184017d20a7d23aa3'] + +dependencies = [ + ('R', '4.0.0'), + ('Arrow', '0.17.1', '-Python-3.8.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..e0cb197688d --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-11.0.0.3-foss-2022b-R-4.2.2.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '11.0.0.3' +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': '2022b'} + +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 = ['eb939471f5f4218e6cfd62f58ccd2a0a5283d4a19a2902741c7fb25e2f016eaf'] + +dependencies = [ + ('R', '4.2.2'), + ('Arrow', '11.0.0'), # arrow-R x.y.z[.N] only works with Arrow x.y.z +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..1a6720e1a3c --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-14.0.1-foss-2023a-R-4.3.2.eb @@ -0,0 +1,37 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '14.0.1' +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 + 'https://archive.apache.org/dist/arrow/arrow-%(version)s', # full Arrow source tarballs +] +sources = ['apache-arrow-%(version)s.tar.gz'] +checksums = ['5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('Arrow', '14.0.1'), # arrow-R x.y.z[.N] only works with Arrow x.y.z +] + +start_dir = 'r' +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..7dfc596e384 --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021a-R-4.1.0.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '6.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': '2021a'} + +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 = ['76808692851eca33ff7ea9532b143db4698689081ce2f8cfe53c3e9e0aee1184'] + +dependencies = [ + ('R', '4.1.0'), + ('Arrow', '6.0.0'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..c6230b40bac --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.1.2.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '6.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': '2021b'} + +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 = ['76808692851eca33ff7ea9532b143db4698689081ce2f8cfe53c3e9e0aee1184'] + +dependencies = [ + ('R', '4.1.2'), + ('Arrow', '6.0.0'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.2.0.eb new file mode 100644 index 00000000000..fdaeda6b276 --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-6.0.0.2-foss-2021b-R-4.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '6.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': '2021b'} + +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 = ['76808692851eca33ff7ea9532b143db4698689081ce2f8cfe53c3e9e0aee1184'] + +dependencies = [ + ('R', '4.2.0'), + ('Arrow', '6.0.0'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow-R/arrow-R-8.0.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/a/arrow-R/arrow-R-8.0.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..df3e4e8a0a2 --- /dev/null +++ b/easybuild/easyconfigs/a/arrow-R/arrow-R-8.0.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'arrow-R' +version = '8.0.0' +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': '2022a'} + +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 = ['6c9aa08c68b7b39cb7d6b9394c0b94a566c0fe9a85cea61f5ed19e460bdb05ad'] + +dependencies = [ + ('R', '4.2.1'), + ('Arrow', '8.0.0'), +] + +preinstallopts = "export LIBARROW_BINARY=true && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['arrow'], +} + +options = {'modulename': 'arrow'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/arrow/arrow-0.17.1-foss-2020a-R-4.0.0.eb b/easybuild/easyconfigs/a/arrow/arrow-0.17.1-foss-2020a-R-4.0.0.eb deleted file mode 100644 index 5540b658fe9..00000000000 --- a/easybuild/easyconfigs/a/arrow/arrow-0.17.1-foss-2020a-R-4.0.0.eb +++ /dev/null @@ -1,30 +0,0 @@ -easyblock = 'RPackage' - -name = 'arrow' -version = '0.17.1' -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': '2020a'} - -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 -] -sources = ['arrow_%(version)s.tar.gz'] -checksums = ['c6de688f1a3282d89c1b4f8f1ebd70c2addbfa7a67e3d41184017d20a7d23aa3'] - -dependencies = [ - ('R', '4.0.0'), - ('Arrow', '0.17.1', '-Python-3.8.2'), -] - -sanity_check_paths = { - 'files': [], - 'dirs': [name], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2020.04.13-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2020.04.13-foss-2018b-Python-3.6.6.eb index 574183e62e3..6a4cd8d698a 100644 --- a/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2020.04.13-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2020.04.13-foss-2018b-Python-3.6.6.eb @@ -20,7 +20,7 @@ dependencies = [ ('Biopython', '1.72', versionsuffix), ('Pysam', '0.15.1', versionsuffix), ('BWA', '0.7.17'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('minimap2', '2.13'), ('SAMtools', '1.9'), ('MUSCLE', '3.8.31'), @@ -33,8 +33,8 @@ dependencies = [ ('python-parasail', '1.1.16', versionsuffix), ('PhyML', '3.3.20190321'), ('nodejs', '12.16.1'), - ('goalign', '0.3.2', '', True), - ('gotree', '0.4.0', '', True), + ('goalign', '0.3.2', '', SYSTEM), + ('gotree', '0.4.0', '', SYSTEM), ('rampart', '1.2.0rc3', versionsuffix), ('libdeflate', '1.5'), ('nanopolish', '0.13.1', versionsuffix), diff --git a/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2021.06.24-foss-2020b.eb b/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2021.06.24-foss-2020b.eb new file mode 100644 index 00000000000..80e2cc8068d --- /dev/null +++ b/easybuild/easyconfigs/a/artic-ncov2019/artic-ncov2019-2021.06.24-foss-2020b.eb @@ -0,0 +1,91 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to latest version 24. Jun 2021 and bumped to foss-2020b +# to use it with pangolin +# J. Sassmannshausen (GSTT/NHS UK) + +easyblock = 'PythonBundle' + +name = 'artic-ncov2019' +local_commit = 'b3f2dda5e6d95bc1c5d95a04d4ef37d304479477' +version = '2021.06.24' + +homepage = "https://github.com/artic-network/artic-ncov2019" +description = """Initial implementation of an ARTIC bioinformatics platform +for nanopore sequencing of nCoV2019 novel coronavirus.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('Pysam', '0.16.0.1'), + ('BWA', '0.7.17'), + ('minimap2', '2.18'), + ('SAMtools', '1.11'), + ('MUSCLE', '3.8.31'), + ('ETE', '3.1.2'), + ('MAFFT', '7.475', '-with-extensions'), + ('IQ-TREE', '2.1.2'), + ('snakemake', '6.1.0'), + ('Longshot', '0.4.3'), + ('medaka', '1.4.3'), + ('python-parasail', '1.2.4'), + ('PhyML', '3.3.20200621'), + ('nodejs', '12.19.0'), + ('goalign', '0.3.2', '', SYSTEM), + ('gotree', '0.4.0', '', SYSTEM), + ('rampart', '1.2.0'), + ('libdeflate', '1.7'), + ('nanopolish', '0.13.3'), + ('seqtk', '1.3'), + ('BCFtools', '1.11'), + ('tqdm', '4.56.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('clint', '0.5.1', { + 'checksums': ['05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa'], + }), + ('args', '0.1.0', { + 'checksums': ['a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814'], + }), + ('PyVCF', '0.6.8', { + 'modulename': 'vcf', + 'checksums': ['e9d872513d179d229ab61da47a33f42726e9613784d1cb2bac3f8e2642f6f9d9'], + }), + ('fieldbioinformatics', '1.2.1', { + 'modulename': 'artic', + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/artic-network/fieldbioinformatics/archive'], + 'checksums': ['74b5fdb18dca57e73fbe872c5c4e25c110e7826fac7a062f0eb0a5453e4e7b20'], + }), +] + +components = [ + (name, version, { + 'easyblock': 'Tarball', + 'source_urls': ['https://github.com/artic-network/artic-ncov2019/archive/'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['ac0dbf7d29038ace8e24dc172ae4dbba9a76d6803809c8f28a9fa228f98aecb6'], + }), +] +local_artic_bins = [ + 'artic', 'artic_fasta_header', 'artic_get_stats', 'artic_make_depth_mask', + 'artic_mask', 'artic_vcf_filter', 'artic_vcf_merge' +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_artic_bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'artic -v', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7f13dbce7c6 --- /dev/null +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# Author: Ehsan Moravveji (VSCentrum, KU Leuven) + +easyblock = 'CMakeMake' + +name = 'assembly-stats' +version = '1.0.1' + +homepage = 'https://github.com/sanger-pathogens/assembly-stats' +description = 'Get assembly statistics from FASTA and FASTQ files.' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.0.1_fix_str_cast.patch'] +checksums = [ + {'v1.0.1.tar.gz': '02be614da4d244673bcd0adc6917749681d52a58cb0a039c092d01cdeabd8575'}, + {'assembly-stats-1.0.1_fix_str_cast.patch': '2c1d63e7b1246b290ddfeea2604076ae892dfe337e5092e83575c2c3cbcfd7fd'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '-DINSTALL_DIR=%(installdir)s/bin' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/assembly-stats'], + 'dirs': [] +} + +sanity_check_commands = ['assembly-stats -v'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch new file mode 100644 index 00000000000..48fe1b7fef1 --- /dev/null +++ b/easybuild/easyconfigs/a/assembly-stats/assembly-stats-1.0.1_fix_str_cast.patch @@ -0,0 +1,43 @@ +# Author: Ehsan Moravveji (VSCentrum, KU Leuven) +# Purpose: This patch prevents the compile-time error "taking address of rvalue [-fpermissive]" +# by redefining a simple casting from integer to string. Consequently, the additional +# "-fpermissive" compiler flag need not be included to supress the error. +diff -ruN assembly-stats-original/fasta_unittest.cpp assembly-stats/fasta_unittest.cpp +--- assembly-stats-original/fasta_unittest.cpp 2024-04-03 11:45:32.230992000 +0200 ++++ assembly-stats/fasta_unittest.cpp 2024-04-03 11:50:08.868140000 +0200 +@@ -1,4 +1,5 @@ + #include ++#include + #include "fasta.h" + #include "gtest/gtest.h" + +@@ -94,8 +95,7 @@ + while (fa.fillFromFile(inStream)) + { + counter++; +- string expectedName = static_cast( &(ostringstream() << counter) )->str(); +- EXPECT_EQ(0, fa.name().compare(expectedName)); ++ EXPECT_EQ(0, fa.name().compare(std::to_string(counter))); + EXPECT_EQ(0, fa.seq().compare("ACGT")); + } + +diff -ruN assembly-stats-original/fastq_unittest.cpp assembly-stats/fastq_unittest.cpp +--- assembly-stats-original/fastq_unittest.cpp 2024-04-03 11:45:32.226036000 +0200 ++++ assembly-stats/fastq_unittest.cpp 2024-04-03 12:29:04.830873000 +0200 +@@ -1,5 +1,6 @@ + #include + #include ++#include + #include + #include "fastq.h" + #include "gtest/gtest.h" +@@ -50,8 +51,7 @@ + while (fq.fillFromFile(inStream)) + { + counter++; +- string expectedName = static_cast( &(ostringstream() << counter) )->str(); +- EXPECT_EQ(0, fq.name().compare(expectedName)); ++ EXPECT_EQ(0, fq.name().compare(std::to_string(counter))); + EXPECT_EQ(0, fq.seq().compare("ACGT")); + } + } diff --git a/easybuild/easyconfigs/a/assimp/assimp-5.2.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/assimp/assimp-5.2.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6c660d619f1 --- /dev/null +++ b/easybuild/easyconfigs/a/assimp/assimp-5.2.5-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +# Authors:: Richard Lawrence - TAMU HPRC - https://hprc.tamu.edu + +easyblock = 'CMakeMake' + +name = 'assimp' +version = '5.2.5' + +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': '12.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b5219e63ae31d895d60d98001ee5bb809fb2c7b2de1e7f78ceeb600063641e1a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['include/assimp/types.h', 'lib/libassimp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' 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/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/a/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb new file mode 100644 index 00000000000..9f7a5720721 --- /dev/null +++ b/easybuild/easyconfigs/a/astro-tulips/astro-tulips-1.0.1-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'astro-tulips' +version = '1.0.1' + +homepage = 'https://astro-tulips.readthedocs.io/en/latest/installation.html' +description = """tulips creates diagrams of the structure and evolution of stars. +It creates plots and movies based on output from the MESA stellar evolution code""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('astropy', '5.1.1'), + ('IPython', '8.5.0'), + ('FFmpeg', '4.4.2'), +] + +exts_list = [ + ('mesaPlot', '1.1.0', { + 'modulename': 'mesaPlot', + 'checksums': ['25939830eb94ba192e8927175fa9524ed56645e596c96532c844c951cc4d6153'], + }), + ('colorspacious', '1.1.2', { + 'checksums': ['5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618'], + }), + ('e13tools', '0.9.6', { + 'checksums': ['1c6eab60825a644e4a47f65dc692c0474552c5f0180f2d5a7fc5730e2954d0f5'], + }), + ('cmasher', '1.6.3', { + 'checksums': ['242e206e58ad6115ff0a5a5405a1ddae80efd1cb03a06dc23db44e710e7c9f23'], + }), + ('widgetsnbextension', '4.0.1', { + 'checksums': ['bfa01945156f2bfd9a386bfc51b54ec5bfa26006d26bb75e5351e226f870fafb'], + }), + ('ipywidgets', '8.0.4', { + 'checksums': ['c0005a77a47d77889cafed892b58e33b4a2a96712154404c6548ec22272811ea'], + }), + ('imageio-ffmpeg', '0.4.8', { + 'checksums': ['fdaa05ad10fe070b7fa8e5f615cb0d28f3b9b791d00af6d2a11e694158d10aa9'], + }), + (name, version, { + 'modulename': 'tulips', + 'sources': ['astro_tulips-%(version)s-py3-none-any.whl'], + 'checksums': ['c13ec2a3048b51f108b9470cd7c3f73d0bc9f908b46492ad07115903b6fc1945'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb new file mode 100644 index 00000000000..879b5774c38 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-foss-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.2.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '1.7.3', { + 'modulename': 'erfa', + 'checksums': ['6cf3a645d63e0c575a357797903eac5d2c6591d7cdb89217c8c4d39777cf18cb'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['ed483e472241153daec45f4b0c318c2c63d9f47305b78e6e63d32fc388c18427'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/astropy'], +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb new file mode 100644 index 00000000000..878eb8ce9fb --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.2.1-intel-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.2.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '1.7.3', { + 'modulename': 'erfa', + 'checksums': ['6cf3a645d63e0c575a357797903eac5d2c6591d7cdb89217c8c4d39777cf18cb'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['ed483e472241153daec45f4b0c318c2c63d9f47305b78e6e63d32fc388c18427'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/astropy'], +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021a.eb b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021a.eb new file mode 100644 index 00000000000..10803a578e8 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.3.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0', { + 'modulename': 'erfa', + 'checksums': ['f904231e1a570f94440e06140799590895107f942847b52a753ce81c9609162d'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['2d3951223b4eb7f368fcad8c8340d27374c5d8e3b635a636275acdb38f35cd51'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021b.eb b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021b.eb new file mode 100644 index 00000000000..b0ddae4d100 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.3.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['2d3951223b4eb7f368fcad8c8340d27374c5d8e3b635a636275acdb38f35cd51'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-4.3.1-intel-2021a.eb b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-intel-2021a.eb new file mode 100644 index 00000000000..e6c87a69845 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-4.3.1-intel-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '4.3.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0', { + 'modulename': 'erfa', + 'checksums': ['f904231e1a570f94440e06140799590895107f942847b52a753ce81c9609162d'], + }), + ('extension-helpers', '0.1', { + 'checksums': ['ac8a6fe91c6d98986a51a9f08ca0c7945f8fd70d95b662ced4040ae5eb973882'], + }), + (name, version, { + 'checksums': ['2d3951223b4eb7f368fcad8c8340d27374c5d8e3b635a636275acdb38f35cd51'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.0.4-foss-2021a.eb b/easybuild/easyconfigs/a/astropy/astropy-5.0.4-foss-2021a.eb new file mode 100644 index 00000000000..05d4b25942e --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.0.4-foss-2021a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'astropy' +version = '5.0.4' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop +a single core package for Astronomy in Python and foster interoperability +between Python astronomy packages.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['001184f1a9c3f526a363883ce28efb9cbf076df3d151ca3e131509a248f0dfb9'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb new file mode 100644 index 00000000000..1e3d64025d1 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.1.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages. + +The Astropy community is committed to supporting diversity and inclusion.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['ba4bd696af7090fd399b464c704bf27b5633121e461785edc70432606a94bd81'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb new file mode 100644 index 00000000000..187ca13b362 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.1.1-intel-2022a.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.1.1' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages.""" + +docurls = 'https://docs.astropy.org' + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.1', { + 'modulename': 'erfa', + 'checksums': ['2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['ba4bd696af7090fd399b464c704bf27b5633121e461785edc70432606a94bd81'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb b/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb new file mode 100644 index 00000000000..16a33151336 --- /dev/null +++ b/easybuild/easyconfigs/a/astropy/astropy-5.2.2-gfbf-2022b.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'astropy' +version = '5.2.2' + +homepage = 'https://www.astropy.org/' +description = """The Astropy Project is a community effort to develop a common +core package for Astronomy in Python and foster an ecosystem of interoperable +astronomy packages. + +The Astropy community is committed to supporting diversity and inclusion.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyerfa', '2.0.0.3', { + 'modulename': 'erfa', + 'checksums': ['d77fbbfa58350c194ccb99e5d93aa05d3c2b14d5aad8b662d93c6ad9fff41f39'], + }), + ('extension-helpers', '1.0.0', { + 'checksums': ['ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6'], + }), + (name, version, { + 'checksums': ['e6a9e34716bda5945788353c63f0644721ee7e5447d16b1cdcb58c48a96b0d9c'], + }), +] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.34.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.34.1-GCCcore-8.3.0.eb index a31842d7f5d..af03cbf2fe6 100644 --- a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.34.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.34.1-GCCcore-8.3.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4460a40f2da --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('DBus', '1.13.18'), + ('at-spi2-core', '2.40.2'), + ('libxml2', '2.9.10'), + ('ATK', '2.36.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c2424ec2c41 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('DBus', '1.13.18'), + ('at-spi2-core', '2.40.3'), + ('libxml2', '2.9.10'), + ('ATK', '2.36.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..07a150a7fb1 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('DBus', '1.14.0'), + ('at-spi2-core', '2.44.1'), + ('libxml2', '2.9.13'), + ('ATK', '2.38.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..16b32ffb227 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('DBus', '1.15.2'), + ('at-spi2-core', '2.46.0'), + ('libxml2', '2.10.3'), + ('ATK', '2.38.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8a99ca40953 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('DBus', '1.15.4'), + ('at-spi2-core', '2.49.91'), + ('libxml2', '2.11.4'), + ('ATK', '2.38.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4f2a709e36b --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-atk/at-spi2-atk-2.38.0-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-atk' +version = '2.38.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = "AT-SPI 2 toolkit bridge" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cfa008a5af822b36ae6287f18182c40c91dd699c55faa38605881ed175ca464f'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('GLib', '2.78.1'), + ('DBus', '1.15.8'), + ('at-spi2-core', '2.50.0'), + ('libxml2', '2.11.5'), + ('ATK', '2.38.0'), +] + +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatk-bridge-2.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.34.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.34.0-GCCcore-8.3.0.eb index 6e6e47d96df..a52b0aa0eda 100644 --- a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.34.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.34.0-GCCcore-8.3.0.eb @@ -16,7 +16,7 @@ checksums = ['d629cdbd674e539f8912028512af583990938c7b49e25184c126b00121ef11c6'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), ('gettext', '0.20.1'), diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.36.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.36.0-GCCcore-9.3.0.eb index e914c88f6e8..28a3f02e4a7 100644 --- a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.36.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.36.0-GCCcore-9.3.0.eb @@ -29,6 +29,8 @@ dependencies = [ ('X11', '20200222'), ] +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" configopts = "--libdir lib " sanity_check_paths = { diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.38.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.38.0-GCCcore-10.2.0.eb index d065df3ef5c..18f70fd3f8f 100644 --- a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.38.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.38.0-GCCcore-10.2.0.eb @@ -29,6 +29,8 @@ dependencies = [ ('X11', '20201008'), ] +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" configopts = "--libdir lib " sanity_check_paths = { diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8bf6238770d --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.2-GCCcore-10.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.40.2' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['44dc17af943b0fd196c61c1e03b6c166960385cae96ccb5e95bdefffb6849f98'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('DBus', '1.13.18'), + ('X11', '20210518'), +] + +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..67df401d85d --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.40.3-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.40.3' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e49837c2ad30d71e1f29ca8e0968a54b95030272f7ff40b89b48968653f37a5c'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('DBus', '1.13.18'), + ('X11', '20210802'), +] + +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.44.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.44.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0b94f5a00a6 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.44.1-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.44.1' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['4beb23270ba6cf7caf20b597354d75194d89afb69d2efcf15f4271688ba6f746'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('DBus', '1.14.0'), + ('X11', '20220504'), +] + +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f90e6e4eaba --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.46.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.46.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['aa0c86c79f7a8d67bae49a5b7a5ab08430c608cffe6e33bf47a72f41ab03c3d0'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('DBus', '1.15.2'), + ('X11', '20221110'), +] + +# Hard disable Dbus broker detection +preconfigopts = "sed -i s/'dbus_broker.found()'/false/ ../*/bus/meson.build &&" +configopts = "--libdir lib " + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.49.91-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.49.91-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f44c26b64b7 --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.49.91-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.49.91' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['aa72bbb12188ee3d0152cc6ea935415e6dc623ffa751b6a7cc23e9025f0410fd'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.76.1'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('DBus', '1.15.4'), + ('X11', '20230603'), +] + +# Hard disable Dbus broker detection and (potential) use of systemd +configopts = "--libdir lib -Duse_systemd=false -Ddefault_bus=dbus-daemon" + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.50.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.50.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2a4ccd76bff --- /dev/null +++ b/easybuild/easyconfigs/a/at-spi2-core/at-spi2-core-2.50.0-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MesonNinja' + +name = 'at-spi2-core' +version = '2.50.0' + +homepage = 'https://wiki.gnome.org/Accessibility' +description = """ + Assistive Technology Service Provider Interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.78.1'), + ('gettext', '0.22'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('GLib', '2.78.1'), + ('DBus', '1.15.8'), + ('X11', '20231019'), +] + +# Hard disable Dbus broker detection and (potential) use of systemd +configopts = "--libdir lib -Duse_systemd=false -Ddefault_bus=dbus-daemon" + +sanity_check_paths = { + 'files': ['lib/libatspi.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/a/atools/atools-1.4.8-GCCcore-10.3.0-Python-2.7.18.eb b/easybuild/easyconfigs/a/atools/atools-1.4.8-GCCcore-10.3.0-Python-2.7.18.eb new file mode 100644 index 00000000000..cb6cac13604 --- /dev/null +++ b/easybuild/easyconfigs/a/atools/atools-1.4.8-GCCcore-10.3.0-Python-2.7.18.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'atools' +version = '1.4.8' +versionsuffix = '-Python-2.7.18' + +homepage = 'https://github.com/gjbex/atools' +description = """Tools to make using job arrays a lot more convenient.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/gjbex/atools/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['21f60a8f6dde4ee1e97bac1bef306a314c1200d3bd8ec0f9b865d5e697585de8'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '2.7.18', '-bare')] + +# 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.4.8-GCCcore-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/a/atools/atools-1.4.8-GCCcore-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..f9887970009 --- /dev/null +++ b/easybuild/easyconfigs/a/atools/atools-1.4.8-GCCcore-11.2.0-Python-2.7.18.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'atools' +version = '1.4.8' +versionsuffix = '-Python-2.7.18' + +homepage = 'https://github.com/gjbex/atools' +description = """Tools to make using job arrays a lot more convenient.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/gjbex/atools/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['21f60a8f6dde4ee1e97bac1bef306a314c1200d3bd8ec0f9b865d5e697585de8'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '2.7.18')] + +# 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-11.2.0.eb b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b3c29a69c54 --- /dev/null +++ b/easybuild/easyconfigs/a/atools/atools-1.5.1-GCCcore-11.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': '11.2.0'} + +source_urls = ['https://github.com/gjbex/atools/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['540714c39aa83dd5f1a7367d76f8d6f491336fa5fc00077591a22151ef5d31f4'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +# 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-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/atropos/atropos-1.1.21-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/a/atropos/atropos-1.1.21-intel-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..3cb07d04e5e --- /dev/null +++ b/easybuild/easyconfigs/a/atropos/atropos-1.1.21-intel-2018b-Python-3.6.6.eb @@ -0,0 +1,70 @@ +easyblock = 'PythonBundle' + +name = 'atropos' +version = '1.1.21' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://atropos.readthedocs.io' +description = "Atropos is tool for specific, sensitive, and speedy trimming of NGS reads. " + +toolchain = {'name': 'intel', 'version': '2018b'} + +dependencies = [ + ('Python', '3.6.6'), + ('Pysam', '0.15.1', versionsuffix), + ('pytest', '3.8.2', versionsuffix), + ('NGS-Python', '2.9.3', versionsuffix), # required for srastream +] + +use_pip = True + +exts_list = [ + ('python-utils', '2.3.0', { + 'checksums': ['34aaf26b39b0b86628008f2ae0ac001b30e7986a8d303b61e1357dfcdad4f6d3'], + }), + ('progressbar2', '3.39.2', { + 'checksums': ['6eb5135b987caca4212d2c7abc2923d4ad5ba18bb34ccbe7044b3628f52efc2c'], + 'modulename': 'progressbar', + }), + ('tqdm', '4.31.1', { + 'checksums': ['e22977e3ebe961f72362f6ddfb9197cc531c9737aaf5f607ef09740c849ecd05'], + }), + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('screed', '1.0', { + 'checksums': ['5db69f8c413a984ade62eb8344a6eb2be26555d74be86d38512673c1cf621b91'], + }), + ('khmer', '2.1.1', { + 'checksums': ['a709606910bb8679bd8525e9d2bf6d1421996272e343b54cc18090feb2fdbe24'], + }), + ('MarkupSafe', '1.1.0', { + 'checksums': ['4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3'], + }), + ('Jinja2', '2.10', { + 'checksums': ['f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4'], + }), + ('pokrok', '0.2.0', { + 'checksums': ['cfe7956602d8bbc142a07bcb259e0d1d939f96d7b074e00dceea3cb5e39244e8'], + }), + ('xphyle', '4.0.5', { + 'checksums': ['b744723a3c88d81318c7291c32682b8715a046f70d0a1db729bda783fd5e08bd'], + }), + ('srastream', '0.1.3', { + 'checksums': ['7f2cfd76ae988349ad5407a952cd4c133ae5dff7cf12c76072c53d82b50c2634'], + }), + (name, version, { + 'checksums': ['8178af467734b299960edae15d8835a2228ba0cc1b718af436c7d86041fbd4ec'], + }), +] + +sanity_check_paths = { + 'files': ['bin/atropos'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["atropos detect --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb new file mode 100644 index 00000000000..dddac86e727 --- /dev/null +++ b/easybuild/easyconfigs/a/atropos/atropos-1.1.32-gompi-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'atropos' +version = '1.1.32' + +homepage = 'https://atropos.readthedocs.io' +description = "Atropos is tool for specific, sensitive, and speedy trimming of NGS reads." + +toolchain = {'name': 'gompi', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('tqdm', '4.66.1'), + ('Pysam', '0.22.0'), + ('pytest', '7.4.2'), + ('SRA-Toolkit', '3.0.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('screed', '1.1.3', { + 'checksums': ['37e81697c7dba95a053554e5b5a86aff329705e1cf5dfc5e7b8da586dee072b8'], + }), + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('khmer', '2.1.1', { + 'checksums': ['a709606910bb8679bd8525e9d2bf6d1421996272e343b54cc18090feb2fdbe24'], + }), + ('pokrok', '0.2.0', { + 'checksums': ['cfe7956602d8bbc142a07bcb259e0d1d939f96d7b074e00dceea3cb5e39244e8'], + }), + ('xphyle', '4.0.5', { + 'checksums': ['b744723a3c88d81318c7291c32682b8715a046f70d0a1db729bda783fd5e08bd'], + }), + ('srastream', '0.1.3', { + 'checksums': ['7f2cfd76ae988349ad5407a952cd4c133ae5dff7cf12c76072c53d82b50c2634'], + }), + (name, version, { + 'checksums': ['17e9dc3d76d7a2ca607a12da191a6d7ba1cfbd1a8c924215870417f85858fd83'], + }), +] + +sanity_check_paths = { + 'files': ['bin/atropos'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["atropos detect --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a75ad1737e9 --- /dev/null +++ b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'attr' +version = '2.5.1' + +homepage = 'https://savannah.nongnu.org/projects/attr' + +description = """Commands for Manipulating Filesystem Extended Attributes""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', + 'include/%(name)s/attributes.h', 'include/%(name)s/error_context.h', + 'include/%(name)s/libattr.h', 'lib/libattr.a', + 'lib/libattr.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ca867bfaae6 --- /dev/null +++ b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'attr' +version = '2.5.1' + +homepage = 'https://savannah.nongnu.org/projects/attr' + +description = """Commands for Manipulating Filesystem Extended Attributes""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', + 'include/%(name)s/attributes.h', 'include/%(name)s/error_context.h', + 'include/%(name)s/libattr.h', 'lib/libattr.a', + 'lib/libattr.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..078c65a6a5e --- /dev/null +++ b/easybuild/easyconfigs/a/attr/attr-2.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'attr' +version = '2.5.1' + +homepage = 'https://savannah.nongnu.org/projects/attr' + +description = """Commands for Manipulating Filesystem Extended Attributes""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', + 'include/%(name)s/attributes.h', 'include/%(name)s/error_context.h', + 'include/%(name)s/libattr.h', 'lib/libattr.a', + 'lib/libattr.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["getfattr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/attr/attr-2.5.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/attr/attr-2.5.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fcd6d723f16 --- /dev/null +++ b/easybuild/easyconfigs/a/attr/attr-2.5.2-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'attr' +version = '2.5.2' + +homepage = 'https://savannah.nongnu.org/projects/attr' + +description = """Commands for Manipulating Filesystem Extended Attributes""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ['bin/attr', 'bin/getfattr', 'bin/setfattr', + 'include/%(name)s/attributes.h', 'include/%(name)s/error_context.h', + 'include/%(name)s/libattr.h', 'lib/libattr.a', + 'lib/libattr.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["getfattr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..67c44f60b2a --- /dev/null +++ b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'attrdict3' +version = '2.0.2' + +homepage = 'https://github.com/pirofti/AttrDict3' +description = """AttrDict is a Python library that provides mapping objects that allow their elements + to be accessed both as keys and as attributes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'attrdict', + 'checksums': ['004c171ca1120cc1755701db99d7fa4944afb1e68950434efdaa542513335fe8'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0fc53c6d0fc --- /dev/null +++ b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'attrdict3' +version = '2.0.2' + +homepage = 'https://github.com/pirofti/AttrDict3' +description = """AttrDict is a Python library that provides mapping objects that allow their elements + to be accessed both as keys and as attributes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'attrdict', + 'checksums': ['004c171ca1120cc1755701db99d7fa4944afb1e68950434efdaa542513335fe8'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..67ab5e0fbda --- /dev/null +++ b/easybuild/easyconfigs/a/attrdict3/attrdict3-2.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'attrdict3' +version = '2.0.2' + +homepage = 'https://github.com/pirofti/AttrDict3' +description = """AttrDict is a Python library that provides mapping objects that allow their elements + to be accessed both as keys and as attributes.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'attrdict', + 'checksums': ['004c171ca1120cc1755701db99d7fa4944afb1e68950434efdaa542513335fe8'], + }), +] + +moduleclass = 'lib' 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/a/autopep8/autopep8-2.2.0-foss-2023a.eb b/easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb new file mode 100644 index 00000000000..63f57b621be --- /dev/null +++ b/easybuild/easyconfigs/a/autopep8/autopep8-2.2.0-foss-2023a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'autopep8' +version = '2.2.0' + +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': '2023a'} + +sources = [SOURCE_WHL] +checksums = ['05418a981f038969d8bdcd5636bf15948db7555ae944b9f79b5a34b35f1370d4'] + +dependencies = [ + ('Python', '3.11.3'), + ('pycodestyle', '2.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb b/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..8ef5d09f68e --- /dev/null +++ b/easybuild/easyconfigs/a/avro-cpp/avro-cpp-1.11.1-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'avro-cpp' +version = '1.11.1' + +homepage = 'https://avro.apache.org' +description = """C++ implementation of Avro data serialization system.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/apache/avro/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['599f96bb405f72a35154b2477caa6254d723bb4e3f6a0e54e9ae540664321752'] + +builddependencies = [ + ('CMake', '3.22.1'), +] +dependencies = [ + ('Boost', '1.77.0'), +] + +srcdir = "lang/c++" + +generator = "Unix Makefiles" +separate_build_dir = True + +sanity_check_paths = { + 'files': ["bin/avrogencpp"], + 'dirs': ["lib"], +} + +sanity_check_commands = ["avrogencpp -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/a/awscli/awscli-2.11.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/a/awscli/awscli-2.11.21-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..080aebf9855 --- /dev/null +++ b/easybuild/easyconfigs/a/awscli/awscli-2.11.21-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'awscli' +version = '2.11.21' + +homepage = 'https://pypi.python.org/pypi/awscli' +description = 'Universal Command Line Environment for AWS' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), # required for awscrt +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('ruamel.yaml', '0.17.21'), +] + +use_pip = True + +exts_list = [ + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.29.138', { + 'checksums': ['31edc237088c104f7a05887646bbec31d7459dd2e108fd90cbffa315902817e2'], + }), + ('s3transfer', '0.6.1', { + 'checksums': ['640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9'], + }), + ('prompt-toolkit', '3.0.38', { + 'sources': ['prompt_toolkit-%(version)s.tar.gz'], + 'checksums': ['23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('awscrt', '0.16.16', { + 'checksums': ['13075df2c1d7942fe22327b6483274517ee0f6ae765c4e6b6ae9ef5b4c43a827'], + # cfr. https://github.com/awslabs/aws-crt-python/tree/main#openssl-and-libcrypto-unix-only + 'preinstallopts': "export AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 && ", + }), + (name, version, { + 'source_urls': ['https://github.com/aws/aws-cli/archive/'], + 'source_tmpl': '%(version)s.tar.gz', + 'checksums': ['74b6f7b1d773eafdefbb0972ea8db68be6814d382d7406707e94a25a0e6c1ebf'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/aws'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["aws help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/awscli/awscli-2.15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/a/awscli/awscli-2.15.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1e3bf17dfd0 --- /dev/null +++ b/easybuild/easyconfigs/a/awscli/awscli-2.15.2-GCCcore-12.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'awscli' +version = '2.15.2' + +homepage = 'https://pypi.python.org/pypi/awscli' +description = 'Universal Command Line Environment for AWS' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), # required for awscrt +] + +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), + ('ruamel.yaml', '0.17.21'), +] + +use_pip = True + +exts_list = [ + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.33.13', { + 'checksums': ['fb577f4cb175605527458b04571451db1bd1a2036976b626206036acd4496617'], + }), + ('s3transfer', '0.8.2', { + 'checksums': ['368ac6876a9e9ed91f6bc86581e319be08188dc60d50e0d56308ed5765446283'], + }), + ('prompt-toolkit', '3.0.38', { + 'sources': ['prompt_toolkit-%(version)s.tar.gz'], + 'checksums': ['23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('awscrt', '0.19.19', { + 'preinstallopts': "export AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 && ", + 'checksums': ['1c1511535dee146a6c26a382ed3ead56259a105b3b7d7d823553ae567d038dfe'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/aws/aws-cli/archive/'], + 'checksums': ['f71cda7e53beeea8db7d5af3b2a56efa47a0b341fe1eadf7be626be32f365960'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/aws'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["aws help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/awscli/awscli-2.17.54-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/awscli/awscli-2.17.54-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9b70b1a9008 --- /dev/null +++ b/easybuild/easyconfigs/a/awscli/awscli-2.17.54-GCCcore-13.2.0.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'awscli' +version = '2.17.54' + +homepage = 'https://pypi.python.org/pypi/awscli' +description = 'Universal Command Line Environment for AWS' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), # required for awscrt +] + +dependencies = [ + ('Python', '3.11.5'), + ('PyYAML', '6.0.1'), + ('ruamel.yaml', '0.18.6'), +] + +use_pip = True + +exts_list = [ + ('jmespath', '1.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980'], + }), + ('botocore', '1.35.22', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d9bc656e7dde0b3e3f3080fc54bacff6a97fd7806b98acbcc21c7f9d4d0102b9'], + }), + ('s3transfer', '0.10.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69'], + }), + ('prompt_toolkit', '3.0.47', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10'], + }), + ('distro', '1.9.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2'], + }), + ('awscrt', '0.21.5', { + 'preinstallopts': "export AWS_CRT_BUILD_USE_SYSTEM_LIBCRYPTO=1 && ", + 'checksums': ['7ec2a67af30fbf386494df00bbdf996f7024000df6b01ab160014afef2b91005'], + }), + # older version of `urllib3` to avoid `ImportError: cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_'` + # see https://github.com/aws/aws-cli/issues/7905#issuecomment-1559817550 + ('urllib3', '1.26.20', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e'], + }), + (name, version, { + # version requirements are too strict + 'preinstallopts': """sed -i 's/>[^"]*//g' pyproject.toml && """, + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/aws/aws-cli/archive/'], + 'checksums': ['c0a37eeb52b7df336e117667b67a275929701e9f6dad0ddb7de59a6f834e5b48'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/aws'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["aws help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-8.3.0.eb b/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..3b8baf41014 --- /dev/null +++ b/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-8.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'axel' +version = '2.17.9' + +github_account = "axel-download-accelerator" +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """Lightweight CLI download accelerator """ + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://github.com/%(github_account)s/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = ['d50dfbc59cb04fa70fb8d414579259c3eefe2a87aab52611309feeec9acb851a'] + +builddependencies = [ + ('binutils', '2.32'), + ('pkg-config', '0.29.2'), + ('gettext', '0.20.1'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/axel'], + 'dirs': [], +} + +sanity_check_commands = [ + "axel -h", + "axel --version", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-9.3.0.eb b/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..de813fa81e5 --- /dev/null +++ b/easybuild/easyconfigs/a/axel/axel-2.17.9-GCCcore-9.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'axel' +version = '2.17.9' + +github_account = "axel-download-accelerator" +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """Lightweight CLI download accelerator """ + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['https://github.com/%(github_account)s/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = ['d50dfbc59cb04fa70fb8d414579259c3eefe2a87aab52611309feeec9acb851a'] + +builddependencies = [ + ('binutils', '2.34'), + ('pkg-config', '0.29.2'), + ('gettext', '0.20.1'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/axel'], + 'dirs': [], +} + +sanity_check_commands = [ + "axel -h", + "axel --version", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..084df03eca7 --- /dev/null +++ b/easybuild/easyconfigs/b/BA3-SNPS-autotune/BA3-SNPS-autotune-2.1.2-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'BA3-SNPS-autotune' +version = '2.1.2' + +homepage = 'https://github.com/stevemussmann/BA3-SNPS-autotune' +description = """This program will automatically tune mixing parameters for BA3-SNPs by implementing +a binary search algorithm and conducting short exploratory runs of BA3-SNPS. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/stevemussmann/BA3-SNPS-autotune/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c0d9f80c5f08aa37724f86a847fed551c63dcd8bd318709970e1808d540d900e'] + +dependencies = [ + ('BayesAss3-SNPs', '1.1'), + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['BA3-SNPS-autotune.py'], + 'dirs': [''], +} + +sanity_check_commands = ['BA3-SNPS-autotune.py -h'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2021a.eb b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2021a.eb new file mode 100644 index 00000000000..0911be96816 --- /dev/null +++ b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'BAGEL' +version = '1.2.2' + +homepage = "http://www.nubakery.org" + +description = """ +BAGEL (Brilliantly Advanced General Electronic-structure Library) +is a parallel electronic-structure program. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/nubakery/bagel/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_serialization.patch', +] +checksums = [ + {'v1.2.2.tar.gz': 'b9ef9ad5ad9b836b5393badb5a3e5b162d6ff32da497f69d05ef9e4d091b558a'}, + {'BAGEL-1.2.2_serialization.patch': '47fed67e0d0ccea9264b85b5d69e2ec6fffbb37e29631218871943df529d4108'}, +] + + +builddependencies = [ + ('Autotools', '20210128'), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('libxc', '5.1.5'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'CXXFLAGS="$CXXFLAGS -DNDEBUG " ' +preconfigopts += 'CXXFLAGS="$CXXFLAGS -lflexiblas " ' + +configopts = ' --with-boost=$BOOST_ROOT --with-libxc --with-mpi=openmpi ' + +sanity_check_paths = { + 'files': ['bin/BAGEL', 'lib/libbagel.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2023a.eb b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2023a.eb new file mode 100644 index 00000000000..2576f961828 --- /dev/null +++ b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'BAGEL' +version = '1.2.2' + +homepage = "http://www.nubakery.org" + +description = """ +BAGEL (Brilliantly Advanced General Electronic-structure Library) +is a parallel electronic-structure program. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/nubakery/bagel/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s.patch'] +checksums = [ + {'v1.2.2.tar.gz': 'b9ef9ad5ad9b836b5393badb5a3e5b162d6ff32da497f69d05ef9e4d091b558a'}, + {'BAGEL-1.2.2.patch': '47cc973e5b545b7c5540a28e7482f8efc28ff978954009e0923c04d2c88e7b0e'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('libxc', '6.2.2'), +] + +preconfigopts = './autogen.sh && ' +preconfigopts += 'CXXFLAGS="$CXXFLAGS -DNDEBUG " ' +preconfigopts += 'CXXFLAGS="$CXXFLAGS -lflexiblas " ' + +configopts = ' --with-boost=$BOOST_ROOT --with-libxc --with-mpi=openmpi ' + +sanity_check_paths = { + 'files': ['bin/BAGEL', 'lib/libbagel.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2.patch b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2.patch new file mode 100644 index 00000000000..1e696d2ae59 --- /dev/null +++ b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2.patch @@ -0,0 +1,90 @@ +//The patch is to resolve missing boost includes and fix ambiguous function call, similar to qsimulate-open/bagel#229 +Author: Richard Top +diff -ruN bagel-1.2.2/src/molecule/shell_base.cc bagel-1.2.2.orig/src/molecule/shell_base.cc +--- bagel-1.2.2/src/molecule/shell_base.cc 2023-12-02 11:23:16.000000000 +0100 ++++ bagel-1.2.2.orig/src/molecule/shell_base.cc 2023-12-02 11:23:59.000000000 +0100 +@@ -23,6 +23,7 @@ + // + + ++#include + #include + #include + +diff -ruN bagel-1.2.2/src/molecule/shellecp.cc bagel-1.2.2.orig/src/molecule/shellecp.cc +--- bagel-1.2.2/src/molecule/shellecp.cc 2023-12-02 11:23:16.000000000 +0100 ++++ bagel-1.2.2.orig/src/molecule/shellecp.cc 2023-12-02 11:23:59.000000000 +0100 +@@ -22,7 +22,7 @@ + // along with this program. If not, see . + // + +- ++#include + #include + #include + +diff -ruN bagel-1.2.2/src/util/input/input.cc bagel-1.2.2.orig/src/util/input/input.cc +--- bagel-1.2.2/src/util/input/input.cc 2023-12-02 11:23:17.000000000 +0100 ++++ bagel-1.2.2.orig/src/util/input/input.cc 2023-12-02 11:24:05.000000000 +0100 +@@ -24,6 +24,7 @@ + + #include + #include ++#include + #include + #include + #include +diff -ruN bagel-1.2.2/src/util/math/btas_interface.cc bagel-1.2.2.orig/src/util/math/btas_interface.cc +--- bagel-1.2.2/src/util/math/btas_interface.cc 2023-12-02 11:23:17.000000000 +0100 ++++ bagel-1.2.2.orig/src/util/math/btas_interface.cc 2023-12-02 11:24:06.000000000 +0100 +@@ -22,6 +22,7 @@ + // along with this program. If not, see . + // + ++#include + #include + #include + +diff -ruN bagel-1.2.2/src/util/math/sphharmonics.cc bagel-1.2.2.orig/src/util/math/sphharmonics.cc +--- bagel-1.2.2/src/util/math/sphharmonics.cc 2023-12-02 11:23:17.000000000 +0100 ++++ bagel-1.2.2.orig/src/util/math/sphharmonics.cc 2023-12-02 11:24:06.000000000 +0100 +@@ -82,7 +82,7 @@ + if (am > l) + throw runtime_error ("SphHarmonics.ylm: |m| > l"); + +- const double plm = legendre.compute(l, am, cth); ++ const double plm = ::legendre.compute(l, am, cth); + double fact = 1.0; + for (int i = 1; i <= 2*am; ++i) + fact *= l - am + i; +@@ -109,8 +109,8 @@ + const double cth = cos(theta_); + const int am = abs(m); + +- const double plm = legendre.compute(l, am, cth); +- ++ const double plm = ::legendre.compute(l, am, cth); ++ + double coef0 = 1.0; + for (unsigned int i = l + am; i > (l - am); i--) coef0 *= i; + const double coef = sqrt((2*l+1)/(4.0*pi__*coef0)); +@@ -133,7 +133,7 @@ + throw runtime_error ("SphHarmonics.zlm: |m| > l"); + const double cth = cos(theta_); + +- const double plm = legendre.compute(l, am, cth); ++ const double plm = ::legendre.compute(l, am, cth); + + double coef0 = 1.0; + for (unsigned int i = l + am; i > (l - am); i--) coef0 *= i; +diff -ruN bagel-1.2.2/src/util/serialization.h bagel-1.2.2.orig/src/util/serialization.h +--- bagel-1.2.2/src/util/serialization.h 2023-12-02 11:23:17.000000000 +0100 ++++ bagel-1.2.2.orig/src/util/serialization.h 2023-12-02 11:24:06.000000000 +0100 +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2_serialization.patch b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2_serialization.patch new file mode 100644 index 00000000000..6b040740443 --- /dev/null +++ b/easybuild/easyconfigs/b/BAGEL/BAGEL-1.2.2_serialization.patch @@ -0,0 +1,11 @@ +diff -ruN bagel-1.2.2.org/src/util/serialization.h bagel-1.2.2/src/util/serialization.h +--- bagel-1.2.2.org/src/util/serialization.h 2023-06-29 07:53:18.377601798 +0000 ++++ bagel-1.2.2/src/util/serialization.h 2023-06-29 07:56:21.190019649 +0000 +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2022a.eb b/easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2022a.eb new file mode 100644 index 00000000000..9fe5174b287 --- /dev/null +++ b/easybuild/easyconfigs/b/BAMM/BAMM-2.5.0-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'BAMM' +version = '2.5.0' + +homepage = 'http://bamm-project.org/' +description = """ BAMM is oriented entirely towards detecting and quantifying heterogeneity in evolutionary rates. +It uses reversible jump Markov chain Monte Carlo to automatically explore a vast universe of candidate models of +lineage diversification and trait evolution. """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +# https://github.com/macroevolution/bamm +github_account = 'macroevolution' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['526eef85ef011780ee21fe65cbc10ecc62efe54044102ae40bdef49c2985b4f4'] + +builddependencies = [('CMake', '3.23.1')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BAli-Phy/BAli-Phy-3.6.0.eb b/easybuild/easyconfigs/b/BAli-Phy/BAli-Phy-3.6.0.eb new file mode 100644 index 00000000000..5218aca79e5 --- /dev/null +++ b/easybuild/easyconfigs/b/BAli-Phy/BAli-Phy-3.6.0.eb @@ -0,0 +1,28 @@ +# # +# This is a contribution from Fred Hutch +# Authors:: John Dey jfdey@fredhutch.org +# # + +easyblock = 'Tarball' + +name = 'BAli-Phy' +version = '3.6.0' + +homepage = 'http://www.bali-phy.org/' +description = """BAli-Phy estimates multiple sequence alignments and evolutionary trees from DNA, amino acid, +or codon sequences.""" + +toolchain = SYSTEM + +source_urls = ['http://www.bali-phy.org/files'] +sources = ['%(namelower)s-%(version)s-linux64.tar.gz'] +checksums = ['c50816938b295a962153fff4ad5790aa4bdc46adb1b8c5ae1e9e30dc0d7a8d07'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['bin', 'lib', 'share'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-37.93-foss-2018a.eb b/easybuild/easyconfigs/b/BBMap/BBMap-37.93-foss-2018a.eb index eeb78bfbdb9..53aeebfca89 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-37.93-foss-2018a.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-37.93-foss-2018a.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['21be384f8535094b8b4695134b0b132863e6599811b8ea2d311960b7ba88df8f'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-37.93-intel-2018a.eb b/easybuild/easyconfigs/b/BBMap/BBMap-37.93-intel-2018a.eb index 4c2ee3855a4..c5b17a83ed9 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-37.93-intel-2018a.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-37.93-intel-2018a.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['21be384f8535094b8b4695134b0b132863e6599811b8ea2d311960b7ba88df8f'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.26-foss-2018b.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.26-foss-2018b.eb index 350359097a1..f8bdee8c943 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.26-foss-2018b.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.26-foss-2018b.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['e439709d6d294aae5938cb253c8640f8e0dfeb227d5b01ce17c37e9871a458b4'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.50b-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.50b-GCC-8.2.0-2.31.1.eb index 0c565ba0482..1e4f8b426cf 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.50b-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.50b-GCC-8.2.0-2.31.1.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['b3b8eefc2e32d035fb7c1732048dca81e367a7e5e43416c993c88683fc19ade7'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.76-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.76-GCC-8.2.0-2.31.1.eb index a3018663e1c..1356c84ed94 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.76-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.76-GCC-8.2.0-2.31.1.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['4f6e3c6a3b56c8514ddcd9e2bebe0f2c89698b16f3af9f52916f55d2a59f406b'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.79-GCC-8.3.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.79-GCC-8.3.0.eb index 90bb802ed78..d0cb1b445ca 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.79-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.79-GCC-8.3.0.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['72891105b6d3e190b5b1d60fb964077a997cf5d2647c472b213a6dd46e1ca07c'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.87-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.87-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000000..8d6da64a6e4 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.87-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,41 @@ +# # +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Pau Ruiz +# License:: GPL-v3.0 +# # + +easyblock = 'MakeCp' + +name = 'BBMap' +version = '38.87' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['22ab642b8af88faf208a56763158da895004c5231df572d3163ce52fbfb63240'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.87-iccifort-2020.1.217.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.87-iccifort-2020.1.217.eb index 980626868d9..772b81bc312 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.87-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.87-iccifort-2020.1.217.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['22ab642b8af88faf208a56763158da895004c5231df572d3163ce52fbfb63240'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-10.2.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-10.2.0.eb index 94e6c8540fe..d0f16e3b3bd 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-10.2.0.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['a366531c566da5e7246ccf707b6770a92246c1cfe29fd30dc2d800c0d82269f1'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-9.3.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-9.3.0.eb index 6d1053ec36a..45b3f610c87 100644 --- a/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.90-GCC-9.3.0.eb @@ -12,7 +12,7 @@ source_urls = [SOURCEFORGE_SOURCE] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['a366531c566da5e7246ccf707b6770a92246c1cfe29fd30dc2d800c0d82269f1'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] prebuildopts = 'cd jni && ' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.96-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.96-GCC-10.3.0.eb new file mode 100644 index 00000000000..9088c7a0387 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.96-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '38.96' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['18d9c89b02c0ab044b2795a65f6236b2262a494ed83d27e31750437b350ef080'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-38.98-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-38.98-GCC-11.2.0.eb new file mode 100644 index 00000000000..d439a3560c1 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-38.98-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '38.98' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['cdc3b8e0530c4a83a728d28da31f0e7ead2bc233d4bf21cd1916572c9b2d0e0e'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb new file mode 100644 index 00000000000..e72ccff30e4 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '39.01' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['98608da50130c47f3abd095b889cc87f60beeb8b96169b664bc9d849abe093e6'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-12.2.0.eb new file mode 100644 index 00000000000..143f1964116 --- /dev/null +++ b/easybuild/easyconfigs/b/BBMap/BBMap-39.01-GCC-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'BBMap' +version = '39.01' + +homepage = 'https://sourceforge.net/projects/bbmap/' +description = """BBMap short read aligner, and other bioinformatic tools.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['98608da50130c47f3abd095b889cc87f60beeb8b96169b664bc9d849abe093e6'] + +dependencies = [('Java', '11', '', SYSTEM)] + +prebuildopts = 'cd jni && ' + +local_suff = {'Darwin': 'osx', 'Linux': 'linux'}[OS_TYPE] +buildopts = "-f makefile.%s" % local_suff + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': ['bbmap.sh', 'jni/libbbtoolsjni.%s' % SHLIB_EXT], + 'dirs': [] +} + +modextrapaths = {'PATH': ''} + +modloadmsg = "For improved speed, add 'usejni=t' to the command line of %(name)s tools which support the use of the" +modloadmsg += " compiled jni C code.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.12-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.12-GCC-10.3.0.eb new file mode 100644 index 00000000000..b2e9741d569 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.12-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.12' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['7a0e6532b1495b9254e38c6698d955e5176c1ee08b760dfea2235ee161a024f5'] + +dependencies = [ + ('zlib', '1.2.11'), + ('HTSlib', '1.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['libexec/bcftools'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.14-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.14-GCC-11.2.0.eb new file mode 100644 index 00000000000..556b393bfb5 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.14-GCC-11.2.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.14' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b7ef88ae89fcb55658c5bea2e8cb8e756b055e13860036d6be13756782aa19cb'] + +dependencies = [ + ('zlib', '1.2.11'), + ('HTSlib', '1.14'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['libexec/bcftools'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.15.1-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.15.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..2d4f97afdbd --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.15.1-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.15.1' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f21f9564873eb27ccf22d13b91a64acb8fbbfe4f9e4c37933a54b9a95857f2d7'] + +dependencies = [ + ('zlib', '1.2.12'), + ('HTSlib', '1.15.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['libexec/bcftools'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb new file mode 100644 index 00000000000..d428e6f6f1c --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.17-GCC-12.2.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.17' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['01f75d8e701d85b2c759172412009cc04f29b61616ace2fa75116123de4596cc'] + +dependencies = [ + ('zlib', '1.2.12'), + ('HTSlib', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bcftools', 'plot-vcfstats', 'vcfutils.pl']], + 'dirs': ['libexec/bcftools'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.18-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.18-GCC-12.3.0.eb new file mode 100644 index 00000000000..5da1f4bca16 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.18-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.18' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['d9b9d36293e4cc62ab7473aa2539389d4e1de79b1a927d483f6e91f3c3ceac7e'] + +dependencies = [ + ('zlib', '1.2.13'), + ('HTSlib', '1.18'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/plot-vcfstats', 'bin/vcfutils.pl'], + 'dirs': ['libexec/%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb new file mode 100644 index 00000000000..916756784a7 --- /dev/null +++ b/easybuild/easyconfigs/b/BCFtools/BCFtools-1.19-GCC-13.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK + +easyblock = 'ConfigureMake' + +name = 'BCFtools' +version = '1.19' + +homepage = 'https://www.htslib.org/' +description = """Samtools is a suite of programs for interacting with high-throughput sequencing data. + BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence + variants""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['782b5f1bc690415192231e82213b3493b047f45e630dc8ef6f154d6126ab3e68'] + +dependencies = [ + ('zlib', '1.2.13'), + ('HTSlib', '1.19.1'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('GSL', '2.7'), +] + +configopts = "--with-htslib=$EBROOTHTSLIB --enable-libgsl" + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/plot-vcfstats', 'bin/vcfutils.pl'], + 'dirs': ['libexec/%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BDBag/BDBag-1.6.3-intel-2021b.eb b/easybuild/easyconfigs/b/BDBag/BDBag-1.6.3-intel-2021b.eb new file mode 100644 index 00000000000..a8545e1bfcb --- /dev/null +++ b/easybuild/easyconfigs/b/BDBag/BDBag-1.6.3-intel-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'BDBag' +version = '1.6.3' + +homepage = 'https://github.com/fair-research/bdbag' +description = """The bdbag utilities are a collection of software programs for +working with BagIt packages that conform to the Bagit and Bagit/RO profiles.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('setuptools_scm', '5.0.2', { + 'checksums': ['83a0cedd3449e3946307811a4c7b9d89c4b5fd464a2fb5eeccd0a5bb158ae5c8'], + }), + ('tzlocal', '2.1', { + 'checksums': ['643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44'], + }), + ('bagit', '1.8.1', { + 'checksums': ['37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c'], + }), + ('bagit_profile', '1.3.1', { + 'checksums': ['57798cdcf98b32a413edb29382d85f4f8c44d3204940d7e12d84998521a98c3f'], + }), + ('bdbag', version, { + 'checksums': ['1ad2e4956045cb3d43a6276391ad919e42a90a2443727dbc5b1ac6eeb6d6e3c9'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb b/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb new file mode 100644 index 00000000000..2a76d9d7b50 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDOPS/BEDOPS-2.4.41-foss-2021b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# updated: Denis Kristak (INUITS) + +easyblock = 'MakeCp' + +name = 'BEDOPS' +version = '2.4.41' + +homepage = 'http://%(namelower)s.readthedocs.io/en/latest/index.html' +description = """BEDOPS is an open-source command-line toolkit that performs highly efficient and + scalable Boolean and other set operations, statistical calculations, archiving, conversion and + other management of genomic data of arbitrary scale. Tasks can be easily split by chromosome for + distributing whole-genome analyses across a computational cluster.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3b868c820d59dd38372417efc31e9be3fbdca8cf0a6b39f13fb2b822607d6194'] + +# else build of jansson library fails with: 'configure: error: C compiler cannot create executables' +prebuildopts = 'unset LIBS && ' +# builds all variants and copies executables to bin directory +buildopts = ' all && make install' +# actually used variant is linked to via symlinks +keepsymlinks = True + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': [ + 'bin/%s' % x for x in ['bam2bed', '%(namelower)s', 'convert2bed', 'unstarch'] + ], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..fac1fd2b962 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.30.0' + +homepage = "https://bedtools.readthedocs.io/" +description = """BEDTools: a powerful toolset for genome arithmetic. +The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and +computing coverage. +The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['333ad1ffcdc6e36005b4d6c9290677986ee97871cff92ed821c1b643d38150b8'] + +builddependencies = [('Python', '3.9.5')] + +dependencies = [ + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('BamTools', '2.5.2'), +] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..d04a8b1bfa9 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.30.0' + +homepage = "https://bedtools.readthedocs.io/" +description = """BEDTools: a powerful toolset for genome arithmetic. +The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and +computing coverage. +The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['333ad1ffcdc6e36005b4d6c9290677986ee97871cff92ed821c1b643d38150b8'] + +builddependencies = [('Python', '3.9.6')] + +dependencies = [ + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('BamTools', '2.5.2'), +] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +sanity_check_commands = ['bedtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..3fe167c952e --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.30.0' + +homepage = "https://bedtools.readthedocs.io/" +description = """BEDTools: a powerful toolset for genome arithmetic. +The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and +computing coverage. +The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['333ad1ffcdc6e36005b4d6c9290677986ee97871cff92ed821c1b643d38150b8'] + +builddependencies = [('Python', '3.10.4')] + +dependencies = [ + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('BamTools', '2.5.2'), +] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +sanity_check_commands = ['bedtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..e85979fa033 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.30.0-GCC-12.2.0.eb @@ -0,0 +1,45 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.30.0' + +homepage = "https://bedtools.readthedocs.io/" +description = """BEDTools: a powerful toolset for genome arithmetic. +The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and +computing coverage. +The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['333ad1ffcdc6e36005b4d6c9290677986ee97871cff92ed821c1b643d38150b8'] + +builddependencies = [('Python', '3.10.8')] + +dependencies = [ + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('BamTools', '2.5.2'), +] + +buildopts = 'CXX="$CXX"' + +files_to_copy = ["bin", "docs", "data", "genomes", "scripts", "test"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +sanity_check_commands = ['bedtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BEDTools/BEDTools-2.31.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.31.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..184e7f7b831 --- /dev/null +++ b/easybuild/easyconfigs/b/BEDTools/BEDTools-2.31.0-GCC-12.3.0.eb @@ -0,0 +1,53 @@ +# Author: Maxime Schmitt, University of Luxembourg +# Author: Adam Huffman, The Francis Crick Institute +# +# Based on the work of: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel + +easyblock = 'MakeCp' + +name = 'BEDTools' +version = '2.31.0' + +homepage = 'https://bedtools.readthedocs.io/' +description = """BEDTools: a powerful toolset for genome arithmetic. +The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and +computing coverage. +The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/arq5x/bedtools2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['183cf9a96aabc50ef4bd557a53fd01557a123c05a0dc87651371878f357439ec'] + +builddependencies = [ + ('Python', '3.11.3'), +] +dependencies = [ + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('BamTools', '2.5.2'), +] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [ + 'bin', + 'docs', + 'data', + 'genomes', + 'scripts', + 'test', +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bedtools', 'pairToBed', 'mergeBed', 'bedToBam', 'fastaFromBed']], + 'dirs': files_to_copy, +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03-gompi-2021a.eb b/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03-gompi-2021a.eb new file mode 100644 index 00000000000..e8407c2ac0a --- /dev/null +++ b/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03-gompi-2021a.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'BGC-Bayesian-genomic-clines' +version = '1.03' +local_commit = '9c8c8cb' + +homepage = 'https://github.com/zgompert/BGC-Bayesian-genomic-clines' +description = """Collection of code for Bayesian genomic cline analyses.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +github_account = 'zgompert' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [('%(name)s-%(version)s_Makefile.patch', 1)] +checksums = [ + {'9c8c8cb.tar.gz': '105cd1f545c5d9cd55d965436e8e31934fc77a5981399aa6373acd6e42f73cf1'}, + {'BGC-Bayesian-genomic-clines-1.03_Makefile.patch': + 'c32853077658731dba2ac7f4916a67f43c9f7679916d602750a8c70d60d810de'}, +] + +dependencies = [ + ('GSL', '2.7'), + ('HDF5', '1.10.7'), +] + +files_to_copy = [ + (['bgc', 'estpost'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/bgc', 'bin/estpost'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03_Makefile.patch b/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03_Makefile.patch new file mode 100644 index 00000000000..a2e7e14105c --- /dev/null +++ b/easybuild/easyconfigs/b/BGC-Bayesian-genomic-clines/BGC-Bayesian-genomic-clines-1.03_Makefile.patch @@ -0,0 +1,20 @@ +# Add a Makefile to compile according to instructions +# in https://github.com/zgompert/BGC-Bayesian-genomic-clines/blob/main/bgc_manual.pdf +# Added by steven.vandenbrande@kuleuven.be +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ BGC-Bayesian-genomic-clines/Makefile 2023-05-25 19:16:20.145112000 +0200 +@@ -0,0 +1,14 @@ ++CXX = h5c++ ++CXXFLAGS = -Wall -O3 ++LIBS = -lgsl -lgslcblas ++ ++all: bgc estpost ++ ++bgc: ++ $(CXX) $(CXXFLAGS) -o $@ bgc_main_v1.03.C bgc_func_hdf5_v1.03.C \ ++ bgc_func_linkage_v1.03.C bgc_func_ngs_v1.03.C bgc_func_write_v1.03.C \ ++ bgc_func_initialize_v1.03.C bgc_func_mcmc_v1.03.C bgc_func_readdata_v1.03.C \ ++ mvrandist_v1.03.c $(LIBS) ++ ++estpost: ++ $(CXX) $(CXXFLAGS) -o $@ estpost_h5_v1.03.c $(LIBS) diff --git a/easybuild/easyconfigs/b/BGEN-enkre/3rd-party-removal.patch b/easybuild/easyconfigs/b/BGEN-enkre/3rd-party-removal.patch new file mode 100644 index 00000000000..83f35651997 --- /dev/null +++ b/easybuild/easyconfigs/b/BGEN-enkre/3rd-party-removal.patch @@ -0,0 +1,176 @@ +Removal of sqlite3, boost and zstd from 3-party modules +Author: J. Sassmannshausen +diff --git a/bgen.tgz.orig/3rd_party/wscript b/bgen.tgz/3rd_party/wscript +index 220728a..e69de29 100644 +--- a/bgen.tgz.orig/3rd_party/wscript ++++ b/bgen.tgz/3rd_party/wscript +@@ -1,2 +0,0 @@ +-def build( bld ): +- bld.recurse( [ 'boost_1_55_0', 'sqlite3', 'zstd-1.1.0' ] ) +diff --git a/bgen.tgz.orig/Makefile b/bgen.tgz/Makefile +index a7b0ac8..c62ac16 100644 +--- a/bgen.tgz.orig/Makefile ++++ b/bgen.tgz/Makefile +@@ -1,14 +1,9 @@ + FLAGS = -g -std=c++11 -lz \ + -I genfile/include \ + -I db/include \ +--I 3rd_party/boost_1_55_0 \ +--I 3rd_party/zstd-1.1.0 \ +--I 3rd_party/zstd-1.1.0/lib \ +--I 3rd_party/zstd-1.1.0/lib/common \ +--I 3rd_party/zstd-1.1.0/lib/compress \ +--I 3rd_party/zstd-1.1.0/lib/decompress \ +--I 3rd_party/sqlite3 \ +--I include/3rd_party/sqlite3 \ ++-I ${EBBOST}/include \ ++-I ${EBDEVELZSTD}/include \ ++-I ${EBSQLITE3}/include \ + -D SQLITE_ENABLE_COLUMN_METADATA \ + -D SQLITE_ENABLE_STAT4 \ + -D SQLITE_MAX_EXPR_DEPTH=10000 \ +diff --git a/bgen.tgz.orig/db/include/db/SQLStatement.hpp b/bgen.tgz/db/include/db/SQLStatement.hpp +index e107bd2..fca5957 100644 +--- a/bgen.tgz.orig/db/include/db/SQLStatement.hpp ++++ b/bgen.tgz/db/include/db/SQLStatement.hpp +@@ -12,7 +12,7 @@ + #include + #include + #include +-#include "sqlite3/sqlite3.h" ++#include "sqlite3.h" + #include "db/SQLite3Connection.hpp" + + namespace db { +diff --git a/bgen.tgz.orig/db/include/db/SQLite3Connection.hpp b/bgen.tgz/db/include/db/SQLite3Connection.hpp +index b4bd219..cfbbd3a 100644 +--- a/bgen.tgz.orig/db/include/db/SQLite3Connection.hpp ++++ b/bgen.tgz/db/include/db/SQLite3Connection.hpp +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include "sqlite3/sqlite3.h" ++#include "sqlite3.h" + #include "db/Connection.hpp" + #include "db/Transaction.hpp" + #include "db/Error.hpp" +diff --git a/bgen.tgz.orig/db/include/db/SQLite3Statement.hpp b/bgen.tgz/db/include/db/SQLite3Statement.hpp +index d41a710..76dbfb6 100644 +--- a/bgen.tgz.orig/db/include/db/SQLite3Statement.hpp ++++ b/bgen.tgz/db/include/db/SQLite3Statement.hpp +@@ -11,7 +11,7 @@ + #include + #include + +-#include "sqlite3/sqlite3.h" ++#include "sqlite3.h" + #include "db/SQLite3Connection.hpp" + #include "db/SQLStatement.hpp" + +diff --git a/bgen.tgz.orig/db/src/SQLStatement.cpp b/bgen.tgz/db/src/SQLStatement.cpp +index 60168c6..32576ca 100644 +--- a/bgen.tgz.orig/db/src/SQLStatement.cpp ++++ b/bgen.tgz/db/src/SQLStatement.cpp +@@ -7,7 +7,7 @@ + #include + #include + #include +-#include "sqlite3/sqlite3.h" ++#include "sqlite3.h" + #include "db/SQLStatement.hpp" + + namespace db { +diff --git a/bgen.tgz.orig/db/src/SQLite3Statement.cpp b/bgen.tgz/db/src/SQLite3Statement.cpp +index 84e0658..03b3d5e 100644 +--- a/bgen.tgz.orig/db/src/SQLite3Statement.cpp ++++ b/bgen.tgz/db/src/SQLite3Statement.cpp +@@ -9,7 +9,7 @@ + #include + #include + #include +-#include "sqlite3/sqlite3.h" ++#include "sqlite3.h" + #include "db/SQLite3Connection.hpp" + #include "db/SQLStatement.hpp" + #include "db/SQLite3Statement.hpp" +diff --git a/bgen.tgz.orig/db/wscript b/bgen.tgz/db/wscript +index 7b0b617..a3861f0 100644 +--- a/bgen.tgz.orig/db/wscript ++++ b/bgen.tgz/db/wscript +@@ -5,8 +5,8 @@ def build( bld ): + bld.stlib( + target = 'db', + source = sources, +- includes='./include', ++ includes='${EBSQLITE}/include ./include', + cxxflags = [], + use = 'boost sqlite3', +- export_includes = './include' ++ export_includes = '${EBSQLITE}/include ./include' + ) +diff --git a/bgen.tgz.orig/wscript b/bgen.tgz/wscript +index a6385d9..47b9fc9 100644 +--- a/bgen.tgz.orig/wscript ++++ b/bgen.tgz/wscript +@@ -63,7 +63,7 @@ def build( bld ): + use = 'zlib zstd sqlite3 db', + export_includes = 'genfile/include' + ) +- bld.recurse( [ '3rd_party', 'appcontext', 'genfile', 'db', 'apps', 'example', 'test', 'R' ] ) ++ bld.recurse( [ 'appcontext', 'genfile', 'db', 'apps', 'example', 'test', 'R' ] ) + # Copy files into rbgen package directory + for source in bgen_sources: + bld( rule = 'cp ${SRC} ${TGT}', source = source, target = 'R/rbgen/src/bgen/' + os.path.basename( source.abspath() ), always = True ) +@@ -126,12 +126,12 @@ class ReleaseBuilder: + shutil.copytree( 'R/package/', rbgen_dir ) + os.makedirs( os.path.join( rbgen_dir, "src", "include" )) + os.makedirs( os.path.join( rbgen_dir, "src", "include", "boost" )) +- os.makedirs( os.path.join( rbgen_dir, "src", "include", "zstd-1.1.0" )) ++ os.makedirs( os.path.join( rbgen_dir, "src", "include", "zstd" )) + os.makedirs( os.path.join( rbgen_dir, "src", "db" )) + os.makedirs( os.path.join( rbgen_dir, "src", "bgen" )) + os.makedirs( os.path.join( rbgen_dir, "src", "boost" )) + os.makedirs( os.path.join( rbgen_dir, "src", "sqlite3" )) +- os.makedirs( os.path.join( rbgen_dir, "src", "zstd-1.1.0" )) ++ os.makedirs( os.path.join( rbgen_dir, "src", "zstd" )) + + # Copy source files in + from glob import glob +@@ -141,11 +141,11 @@ class ReleaseBuilder: + for filename in glob( 'db/src/*.cpp' ): + shutil.copy( filename, os.path.join( rbgen_dir, "src", "db", os.path.basename( filename ) ) ) + +- for filename in glob( '3rd_party/sqlite3/sqlite3/sqlite3.c' ): +- shutil.copy( filename, os.path.join( rbgen_dir, "src", "sqlite3", os.path.basename( filename ) ) ) ++# for filename in glob( '3rd_party/sqlite3/sqlite3/sqlite3.c' ): ++# shutil.copy( filename, os.path.join( rbgen_dir, "src", "sqlite3", os.path.basename( filename ) ) ) + +- for filename in glob( '3rd_party/zstd-1.1.0/lib/common/*.c' ) + glob( '3rd_party/zstd-1.1.0/lib/compress/*.c' ) + glob( '3rd_party/zstd-1.1.0/lib/decompress/*.c' ): +- shutil.copy( filename, os.path.join( rbgen_dir, "src", "zstd-1.1.0", os.path.basename( filename ) ) ) ++# for filename in glob( '3rd_party/zstd-1.1.0/lib/common/*.c' ) + glob( '3rd_party/zstd-1.1.0/lib/compress/*.c' ) + glob( '3rd_party/zstd-1.1.0/lib/decompress/*.c' ): ++# shutil.copy( filename, os.path.join( rbgen_dir, "src", "zstd-1.1.0", os.path.basename( filename ) ) ) + + boostGlobs = [ + 'libs/system/src/*.cpp', +@@ -160,14 +160,14 @@ class ReleaseBuilder: + 'libs/chrono/src/*.cpp', + ] + +- for pattern in boostGlobs: +- for filename in glob( '3rd_party/boost_1_55_0/%s' % pattern ): +- shutil.copy( filename, os.path.join( rbgen_dir, "src", "boost", os.path.basename( filename ) ) ) ++# for pattern in boostGlobs: ++# for filename in glob( '3rd_party/boost_1_55_0/%s' % pattern ): ++# shutil.copy( filename, os.path.join( rbgen_dir, "src", "boost", os.path.basename( filename ) ) ) + + include_paths = [ +- "3rd_party/boost_1_55_0/boost/", +- "3rd_party/zstd-1.1.0/", +- "3rd_party/sqlite3/", ++ "${EBBOOST}", ++ "${EBROOTZSTD}", ++ "${EBROOTSQLITE}", + "genfile/include/genfile", + "db/include/db" + ] diff --git a/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre-1.1.7-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre-1.1.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..b0c0bc1be02 --- /dev/null +++ b/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre-1.1.7-GCC-11.2.0.eb @@ -0,0 +1,74 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# we recommend to use --download-timeout=1000 when fetching the files + +easyblock = 'CmdCp' + +name = 'BGEN-enkre' +version = '1.1.7' + +homepage = 'https://enkre.net/cgi-bin/code/bgen/dir?ci=trunk' +description = """This repository contains a reference implementation +of the BGEN format, written in C++. The library can be used as the +basis for BGEN support in other software, or as a reference for +developers writing their own implementations of the BGEN format. +Please cite: +Band, G. and Marchini, J., "BGEN: a binary file format for imputed genotype and haplotype data", +bioArxiv 308296; doi: https://doi.org/10.1101/308296 +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://code.enkre.net/bgen/tarball/v%(version)s/'] +sources = ['v%(version)s.tgz'] +patches = [ + '3rd-party-removal.patch', + 'BGEN-enkre_streampos.patch', +] + +checksums = [ + ('6476b077af6c8e98e85fd7e09f58cb3fdf143ff91850c984248fd4dc2d74a8c3', # v1.1.7.tgz + 'b922ac22c1c0e365d0de6054f6ce2ad911bc81db5bcd8ca915bae750f57bd0a7'), + '0269b91d21976f38a9cf9bf7811375d16bf35be587d903ab1d846b2001b7d767', # 3rd-party-removal.patch + '61c05ae5f7363d5b7b6015f0a015b93f149dbda4b23b9f48f9517a6ce93d5869', # BGEN-enkre_streampos.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('SQLite', '3.36'), + ('zstd', '1.5.0'), + ('Boost', '1.55.0'), +] + +cmds_map = [ + ('.*', "./waf configure && echo LIB_zstd = [\\'zstd\\'] >> build/c4che/_cache.py &&" + " echo LIB_sqlite3 = [\\'sqlite3\\'] >> build/c4che/_cache.py &&" + "echo LIB_boost = [\\'boost_system\\', \\'boost_filesystem\\', \\'boost_thread\\', \\'boost_timer\\'] " + " >> build/c4che/_cache.py && ./waf"), +] + +files_to_copy = [ + (['build/apps/edit-bgen', 'build/apps/bgenix', 'build/apps/cat-bgen'], 'bin'), + (['build/db/libdb.a', 'build/libbgen.a'], 'lib'), + (['genfile/include/*', 'db/include/*'], 'include'), +] + +postinstallcmds = ['./build/test/unit/test_bgen'] + +sanity_check_paths = { + 'files': ['bin/edit-bgen', 'bin/bgenix', 'bin/cat-bgen'], + 'dirs': ['bin', 'lib', 'include'], +} + +sanity_check_commands = [ + 'bgenix -help', + 'cat-bgen -help', + 'edit-bgen -help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre_streampos.patch b/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre_streampos.patch new file mode 100644 index 00000000000..5d7c0e471c3 --- /dev/null +++ b/easybuild/easyconfigs/b/BGEN-enkre/BGEN-enkre_streampos.patch @@ -0,0 +1,12 @@ +diff -ruN 1.1.7.tgz.orig/src/View.cpp 1.1.7.tgz/src/View.cpp +--- 1.1.7.tgz.orig/src/View.cpp 2020-06-29 01:19:43.000000000 -0700 ++++ 1.1.7.tgz/src/View.cpp 2022-06-06 18:05:10.650577000 -0700 +@@ -177,7 +177,7 @@ + + // get file size + { +- std::ios::streampos origin = m_stream->tellg() ; ++ std::streampos origin = m_stream->tellg() ; + m_stream->seekg( 0, std::ios::end ) ; + m_file_metadata.size = m_stream->tellg() - origin ; + m_stream->seekg( 0, std::ios::beg ) ; diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.11.0-gompi-2021a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.11.0-gompi-2021a.eb new file mode 100644 index 00000000000..edd524d4568 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.11.0-gompi-2021a.eb @@ -0,0 +1,57 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.11.0' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +checksums = ['d88e1858ae7ce553545a795a2120e657a799a6d334f2a07ef0330cc3e74e1954'] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('PCRE', '8.44'), + ('Boost', '1.76.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), +] + + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.12.0-gompi-2021b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.12.0-gompi-2021b.eb new file mode 100644 index 00000000000..eb841a154fe --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.12.0-gompi-2021b.eb @@ -0,0 +1,57 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.12.0' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +checksums = ['fda3c9c9d488cad6c1880a98a236d842bcf3610e3e702af61f7a48cf0a714b88'] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost', '1.77.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), +] + + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb new file mode 100644 index 00000000000..4e9e9d4d83e --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.13.0-gompi-2022a.eb @@ -0,0 +1,56 @@ +# # +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# # + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.13.0' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +checksums = ['89553714d133daf28c477f83d333794b3c62e4148408c072a1b4620e5ec4feb2'] + +builddependencies = [('cpio', '2.14')] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost', '1.79.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), +] + +# remove line that prepends system paths to $PATH from configure script +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb new file mode 100644 index 00000000000..a4033efcdde --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.0-gompi-2022b.eb @@ -0,0 +1,56 @@ +# # +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# # + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.14.0' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +checksums = ['bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500'] + +builddependencies = [('cpio', '2.15')] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost', '1.81.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('LMDB', '0.9.29'), +] + +# remove line that prepends system paths to $PATH from configure script +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb new file mode 100644 index 00000000000..844a9854825 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.14.1-gompi-2023a.eb @@ -0,0 +1,56 @@ +# # +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# # + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.14.1' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +checksums = ['712c2dbdf0fb13cc1c2d4f4ef5dd1ce4b06c3b57e96dfea8f23e6e99f5b1650e'] + +builddependencies = [('cpio', '2.15')] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost', '1.82.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('LMDB', '0.9.31'), +] + +# remove line that prepends system paths to $PATH from configure script +preconfigopts = r'sed -i "s|^PATH=\(.*\)$|#PATH=\1 |" %(start_dir)s/src/build-system/configure && ' + +configopts = "--with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0-gompi-2021b.eb b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0-gompi-2021b.eb new file mode 100644 index 00000000000..3f0f0222bf0 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0-gompi-2021b.eb @@ -0,0 +1,59 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'BLAST+' +version = '2.9.0' + +homepage = 'https://blast.ncbi.nlm.nih.gov/' +description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm + for comparing primary biological sequence information, such as the amino-acid + sequences of different proteins or the nucleotides of DNA sequences.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/%(namelower)s/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +patches = [ + 'BLAST+-%(version)s_fix_boost.patch', + 'BLAST+-%(version)s_fix-GCC-10.patch', +] +checksums = [ + 'a390cc2d7a09422759fc178db84de9def822cbe485916bbb2ec0d215dacdc257', # ncbi-blast-2.9.0+-src.tar.gz + '44dc4a931896953d78c13097433ea6fc8d7990bd759c4e4e5bbb9b2574fb4154', # BLAST+-2.9.0_fix_boost.patch + '01339033213059f9d16c7e211f33485a9bb8de9118065c2a07f81ba1ded611b8', # BLAST+-2.9.0_fix-GCC-10.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost', '1.77.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), +] + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +sanity_check_paths = { + 'files': ['bin/blastn', 'bin/blastp', 'bin/blastx'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0_fix-GCC-10.patch b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0_fix-GCC-10.patch new file mode 100644 index 00000000000..afaf61949de --- /dev/null +++ b/easybuild/easyconfigs/b/BLAST+/BLAST+-2.9.0_fix-GCC-10.patch @@ -0,0 +1,26 @@ +fix compiler detection for GCC 10.x & newer +copied from BLAST+ 2.12.0 configure script +--- ncbi-blast-2.9.0+-src/c++/src/build-system/configure.orig 2022-02-03 17:57:09.154118530 +0100 ++++ ncbi-blast-2.9.0+-src/c++/src/build-system/configure 2022-02-03 17:58:32.367608563 +0100 +@@ -8076,16 +8076,15 @@ + case "$compiler:$ncbi_compiler_ver" in + WorkShop*:?.?? ) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9][0-9]\)/\1\20/' ;; + WorkShop*:[6-9].?) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9\)/\10\20/' ;; +- ICC:??.? ) ncbi_compiler_sed='s/\([0-9][0-9]\)\.\([0-9]\)/\1\20/' ;; +- ICC:??.?.? | \ +- ICC:??.?.?.* ) ncbi_compiler_sed='s/\([0-9][0-9]\)\.\([0-9]\)\.\([0-9]\).*/\1\2\3/' ;; ++ [GI]CC:??.? ) ncbi_compiler_sed='s/\([0-9][0-9]\)\.\([0-9]\)/\1\20/' ;; ++ GCC:??.?.? | ICC:??.?.? | ICC:??.?.?.* | *Clang:??.?.? ) ++ ncbi_compiler_sed='s/\([0-9][0-9]\)\.\([0-9]\)\.\([0-9]\).*/\1\2\3/' ;; ++ GCC:?? ) ncbi_compiler_sed='s/\([0-9][0-9]\)/\100/' ;; + *:?.?.?) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9]\)\.\([0-9]\)/\1\2\3/' ;; + *:?.??*) ncbi_compiler_sed='s/\([0-9]\)\.\([0-9][0-9]\).*/\1\2/' ;; + *:?.?) ncbi_compiler_sed='s/\([0-9]\).\([0-9]\)/\1\20/' ;; + *:?) ncbi_compiler_sed='s/\([0-9]\)/\100/' ;; +- *) { { echo "$as_me:$LINENO: error: Do not know how to parse $compiler version number $ncbi_compiler_ver" >&5 +-echo "$as_me: error: Do not know how to parse $compiler version number $ncbi_compiler_ver" >&2;} +- { (exit 1); exit 1; }; } ;; ++ *) as_fn_error $? "Do not know how to parse $compiler version number $ncbi_compiler_ver" "$LINENO" 5 ;; + esac + ncbi_compiler_ver=`echo $ncbi_compiler_ver | sed "$ncbi_compiler_sed"` + compiler_version=$ncbi_compiler_ver diff --git a/easybuild/easyconfigs/b/BLAST/BLAST-2.2.26-Linux_x86_64.eb b/easybuild/easyconfigs/b/BLAST/BLAST-2.2.26-Linux_x86_64.eb index 18a95c65a3f..df2b603098f 100644 --- a/easybuild/easyconfigs/b/BLAST/BLAST-2.2.26-Linux_x86_64.eb +++ b/easybuild/easyconfigs/b/BLAST/BLAST-2.2.26-Linux_x86_64.eb @@ -16,8 +16,9 @@ description = """Basic Local Alignment Search Tool, or BLAST, is an algorithm toolchain = SYSTEM -source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast//executables/legacy/%(version)s/'] +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/legacy.NOTSUPPORTED/%(version)s/'] sources = ['%(namelower)s-%(version)s-x64-linux.tar.gz'] +checksums = ['8a2f986cf47f0f7cbdb3478c4fc7e25c7198941d2262264d0b6b86194b3d063d'] sanity_check_paths = { 'files': ["bin/blastall", "bin/impala", "bin/blastpgp"], diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..dceaa2704a8 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-10.3.0.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 The Cyprus Institute +# Authors:: Andreas Panteli , Thekla Loizou +# Contributors:: Alex Domingo (Vrije Universiteit Brussel) +# License:: MIT/GPL +# +## + +name = 'BLAT' +version = '3.7' + +homepage = 'https://genome.ucsc.edu/goldenPath/help/blatSpec.html' +description = """BLAT on DNA is designed to quickly find sequences of 95% and +greater similarity of length 25 bases or more.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://genome-test.gi.ucsc.edu/~kent/src/'] +sources = ['%%(namelower)sSrc%s.zip' % ''.join(version.split('.'))] +patches = ['BLAT-%(version)s_mend-tests.patch'] +checksums = [ + {'blatSrc37.zip': '88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2'}, + {'BLAT-3.7_mend-tests.patch': '1f42c7fadf7676a5cc3a2016f70089c3541aa1d53816cf86072682c44cf311a6'}, +] + +# BLAT relies on a bundled old version of HTSlib. We use the bundled library +# because it is statically linked and the newer HTSlib in this toolchain is not +# API compatible with it. +dependencies = [ + ('freetype', '2.10.4'), + ('libiconv', '1.16'), + ('libpng', '1.6.37'), + ('MariaDB', '10.6.4'), + ('OpenSSL', '1.1', '', SYSTEM), + ('util-linux', '2.36'), + ('zlib', '1.2.11'), +] + +pretestopts = 'PATH="%(builddir)s/blatSrc/bin:$PATH"' +runtest = 'test' + +_blat_bins = ["blat", "faToNib", "faToTwoBit", "gfClient", "gfServer", "nibFrag", "pslPretty", + "pslReps", "pslSort", "twoBitInfo", "twoBitToFa"] + +files_to_copy = [(["bin/%s" % x for x in _blat_bins] + ["webBlat/webBlat"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in _blat_bins + ["webBlat"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..1036c2e6acd --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.2.0.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 The Cyprus Institute +# Authors:: Andreas Panteli , Thekla Loizou +# Contributors:: Alex Domingo (Vrije Universiteit Brussel) +# License:: MIT/GPL +# +## + +name = 'BLAT' +version = '3.7' + +homepage = 'https://genome.ucsc.edu/goldenPath/help/blatSpec.html' +description = """BLAT on DNA is designed to quickly find sequences of 95% and +greater similarity of length 25 bases or more.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://genome-test.gi.ucsc.edu/~kent/src/'] +sources = ['%%(namelower)sSrc%s.zip' % ''.join(version.split('.'))] +patches = ['BLAT-%(version)s_mend-tests.patch'] +checksums = [ + {'blatSrc37.zip': '88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2'}, + {'BLAT-3.7_mend-tests.patch': '1f42c7fadf7676a5cc3a2016f70089c3541aa1d53816cf86072682c44cf311a6'}, +] + +# BLAT relies on a bundled old version of HTSlib. We use the bundled library +# because it is statically linked and the newer HTSlib in this toolchain is not +# API compatible with it. +dependencies = [ + ('freetype', '2.11.0'), + ('libiconv', '1.16'), + ('libpng', '1.6.37'), + ('MariaDB', '10.6.4'), + ('OpenSSL', '1.1', '', SYSTEM), + ('util-linux', '2.37'), + ('zlib', '1.2.11'), +] + +pretestopts = 'PATH="%(builddir)s/blatSrc/bin:$PATH"' +runtest = 'test' + +_blat_bins = ["blat", "faToNib", "faToTwoBit", "gfClient", "gfServer", "nibFrag", "pslPretty", + "pslReps", "pslSort", "twoBitInfo", "twoBitToFa"] + +files_to_copy = [(["bin/%s" % x for x in _blat_bins] + ["webBlat/webBlat"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in _blat_bins + ["webBlat"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..d63b37e10b1 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 The Cyprus Institute +# Authors:: Andreas Panteli , Thekla Loizou +# Contributors:: Alex Domingo (Vrije Universiteit Brussel) +# License:: MIT/GPL +# +## + +name = 'BLAT' +version = '3.7' + +homepage = 'https://genome.ucsc.edu/goldenPath/help/blatSpec.html' +description = """BLAT on DNA is designed to quickly find sequences of 95% and +greater similarity of length 25 bases or more.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://genome-test.gi.ucsc.edu/~kent/src/'] +sources = ['%%(namelower)sSrc%s.zip' % ''.join(version.split('.'))] +patches = ['BLAT-%(version)s_mend-tests.patch'] +checksums = [ + {'blatSrc37.zip': '88ee2b272d42ab77687c61d200b11f1d58443951069feb7e10226a2509f84cf2'}, + {'BLAT-3.7_mend-tests.patch': '1f42c7fadf7676a5cc3a2016f70089c3541aa1d53816cf86072682c44cf311a6'}, +] + +# BLAT relies on a bundled old version of HTSlib. We use the bundled library +# because it is statically linked and the newer HTSlib in this toolchain is not +# API compatible with it. +dependencies = [ + ('freetype', '2.12.1'), + ('libiconv', '1.17'), + ('libpng', '1.6.37'), + ('MariaDB', '10.9.3'), + ('OpenSSL', '1.1', '', SYSTEM), + ('util-linux', '2.38'), + ('zlib', '1.2.12'), +] + +pretestopts = 'PATH="%(builddir)s/blatSrc/bin:$PATH"' +runtest = 'test' + +_blat_bins = ["blat", "faToNib", "faToTwoBit", "gfClient", "gfServer", "nibFrag", "pslPretty", + "pslReps", "pslSort", "twoBitInfo", "twoBitToFa"] + +files_to_copy = [(["bin/%s" % x for x in _blat_bins] + ["webBlat/webBlat"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in _blat_bins + ["webBlat"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch b/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch new file mode 100644 index 00000000000..fccf9a92551 --- /dev/null +++ b/easybuild/easyconfigs/b/BLAT/BLAT-3.7_mend-tests.patch @@ -0,0 +1,48 @@ +Create suite of test in main makefile. +Remove tests relying on pslCheck which is distributed elsewhere. +Fix executable paths in the tests. +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru blatSrc.orig/blat/test/makefile blatSrc/blat/test/makefile +--- blatSrc.orig/blat/test/makefile 2021-07-07 01:07:21.000000000 +0200 ++++ blatSrc/blat/test/makefile 2023-02-22 16:08:08.870093000 +0100 +@@ -1,8 +1,6 @@ + all: tThrowback tIntronMax + + tThrowback: +- blat -verbose=0 throwback/target1.fa throwback/query1.fa throwback/test.psl +- pslCheck -verbose=0 throwback/test.psl + blat -verbose=0 v29skips/ex1_database.fa v29skips/ex1_query.fa v29skips/ex1.psl + diff v29skips/ex1_reference.psl v29skips/ex1.psl + blat -verbose=0 v29skips/ex2_database.fa v29skips/ex2_query.fa v29skips/ex2.psl +diff -Nru blatSrc.orig/gfServer/makefile blatSrc/gfServer/makefile +--- blatSrc.orig/gfServer/makefile 2021-12-29 20:13:24.000000000 +0100 ++++ blatSrc/gfServer/makefile 2023-02-22 16:08:34.347451000 +0100 +@@ -6,10 +6,10 @@ + + test:: + ${MKDIR} tests/output +- ${DESTBINDIR}/${A} direct tests/input/mCrea.mrna tests/input/hCreaGeno.nib \ ++ ${A} direct tests/input/mCrea.mrna tests/input/hCreaGeno.nib \ + tests/input/mCreaGeno.nib > tests/output/testNib.out + diff tests/expected/testNib.out tests/output/testNib.out +- ${DESTBINDIR}/${A} direct tests/input/mCrea.mrna tests/input/creaGeno.2bit \ ++ ${A} direct tests/input/mCrea.mrna tests/input/creaGeno.2bit \ + >tests/output/testTwoBit.out + diff tests/expected/testTwoBit.out tests/output/testTwoBit.out + cd tests && ./testProtNib +diff -Nru blatSrc.orig/makefile blatSrc/makefile +--- blatSrc.orig/makefile 2022-02-01 00:14:03.000000000 +0100 ++++ blatSrc/makefile 2023-02-22 16:22:15.992962000 +0100 +@@ -15,5 +15,12 @@ + cd utils/twoBitInfo && $(MAKE) + cd webBlat && $(MAKE) + ++test:: ++ cd blat && ${MAKE} test ++ cd gfServer && ${MAKE} test ++ cd utils/faToTwoBit && ${MAKE} test ++ cd utils/twoBitInfo && ${MAKE} test ++ cd utils/twoBitToFa && ${MAKE} test ++ + clean: + rm -f */*.o */*/*.o lib/*/*.a diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..368ad6ddca4 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.8.1' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_enable_ppc_autodetect.patch', + '%(name)s-%(version)s_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b', # 0.8.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..6ce09ab62c3 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.8.1' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_enable_ppc_autodetect.patch', + '%(name)s-%(version)s_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b', # 0.8.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCCcore-10.3.0.eb index edd74346c91..3d9aa35b79d 100644 --- a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1-GCCcore-10.3.0.eb @@ -11,7 +11,17 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://github.com/flame/blis/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b'] +patches = [ + '%(name)s-%(version)s_enable_ppc_autodetect.patch', + '%(name)s-%(version)s_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '729694128719801e82fae7b5f2489ab73e4a467f46271beff09588c9265a697b', # 0.8.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_enable_ppc_autodetect.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_enable_ppc_autodetect.patch new file mode 100644 index 00000000000..26e3951ebf9 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_enable_ppc_autodetect.patch @@ -0,0 +1,91 @@ +Add autodetection for POWER7, POWER9 & POWER10 +See https://github.com/amd/blis/pull/6 + +Author: Alexander Grund (TU Dresden) +diff -aur a/frame/base/bli_cpuid.c b/frame/base/bli_cpuid.c +--- a/frame/base/bli_cpuid.c 2021-03-22 23:42:33.000000000 +0100 ++++ b/frame/base/bli_cpuid.c 2022-07-07 14:05:13.627541000 +0200 +@@ -429,7 +429,7 @@ + return TRUE; + } + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + arch_t bli_cpuid_query_id( void ) + { +@@ -484,9 +484,14 @@ + return BLIS_ARCH_GENERIC; + } + } +- else if ( vendor == VENDOR_UNKNOWN ) ++ else if ( vendor == VENDOR_IBM ) + { +- return BLIS_ARCH_GENERIC; ++ if ( model == MODEL_POWER7) ++ return BLIS_ARCH_POWER7; ++ else if ( model == MODEL_POWER9) ++ return BLIS_ARCH_POWER9; ++ else if ( model == MODEL_POWER10) ++ return BLIS_ARCH_POWER10; + } + + return BLIS_ARCH_GENERIC; +@@ -985,7 +990,7 @@ + } + } + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + #define TEMP_BUFFER_SIZE 200 + +@@ -1007,6 +1012,20 @@ + char feat_str[ TEMP_BUFFER_SIZE ]; + char* r_val; + ++#ifdef _ARCH_PPC ++ r_val = find_string_in( "cpu", proc_str, TEMP_BUFFER_SIZE, pci_str ); ++ if ( r_val == NULL ) return VENDOR_IBM; ++ ++ if ( strstr( proc_str, "POWER7" ) != NULL ) ++ *model = MODEL_POWER7; ++ else if ( strstr( proc_str, "POWER9" ) != NULL ) ++ *model = MODEL_POWER9; ++ else if ( strstr( proc_str, "POWER10" ) != NULL ) ++ *model = MODEL_POWER10; ++ ++ return VENDOR_IBM; ++#endif ++ + //printf( "bli_cpuid_query(): beginning search\n" ); + + // Search /proc/cpuinfo for the 'Processor' entry. +diff -aur a/frame/base/bli_cpuid.h b/frame/base/bli_cpuid.h +--- a/frame/base/bli_cpuid.h 2021-03-22 23:42:33.000000000 +0100 ++++ b/frame/base/bli_cpuid.h 2022-07-07 13:59:51.620586000 +0200 +@@ -158,19 +158,23 @@ + FEATURE_AVX512VL = 0x4000 + }; + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + char* find_string_in( char* target, char* buffer, size_t buf_len, char* filepath ); + + enum + { + VENDOR_ARM = 0, ++ VENDOR_IBM, + VENDOR_UNKNOWN + }; + enum + { + MODEL_ARMV7 = 0, + MODEL_ARMV8, ++ MODEL_POWER7, ++ MODEL_POWER9, ++ MODEL_POWER10, + MODEL_UNKNOWN + }; + enum diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch new file mode 100644 index 00000000000..ad6dee6c3de --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch @@ -0,0 +1,2219 @@ +Taken from https://github.com/flame/blis/pull/544 +Fixes a problem with DGEMM causing FPR signalling on Broadwell +See https://github.com/flame/blis/issues/486 + +Åke Sandgren, 20210916 + +commit 5191c43faccf45975f577c60b9089abee25722c9 +Author: Devin Matthews +Date: Thu Sep 16 10:16:17 2021 -0500 + + Fix more copy-paste errors in the haswell gemmsup code. + + Fixes #486. + +diff --git a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c +index 4c6094b1..21dd3b89 100644 +--- a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c ++++ b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c +@@ -101,7 +101,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + begin_asm() + + //vzeroall() // zero all xmm/ymm registers. +- ++ + mov(var(a), r14) // load address of a. + mov(var(rs_a), r8) // load rs_a + //mov(var(cs_a), r9) // load cs_a +@@ -119,7 +119,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + + lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), r12) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -172,19 +172,19 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + prefetch(0, mem(rcx, rdi, 2, 3*8)) // prefetch c + 2*rs_c + #endif + lea(mem(r8, r8, 4), rbp) // rbp = 5*rs_a +- + +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -219,7 +219,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + vfmadd231pd(ymm1, ymm3, ymm14) + vfmadd231pd(ymm2, ymm3, ymm15) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rax ), ymm0) +@@ -250,7 +250,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -312,27 +312,27 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + vfmadd231pd(ymm1, ymm3, ymm14) + vfmadd231pd(ymm2, ymm3, ymm15) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -343,7 +343,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + vmovupd(mem(rax, r8, 1), ymm1) + vmovupd(mem(rax, r8, 2), ymm2) + add(imm(4*8), rax) // a += 4*cs_b = 4*8; +- ++ + vmovupd(mem(rbx ), ymm3) + vfmadd231pd(ymm0, ymm3, ymm4) + vfmadd231pd(ymm1, ymm3, ymm5) +@@ -365,21 +365,21 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + vfmadd231pd(ymm1, ymm3, ymm14) + vfmadd231pd(ymm2, ymm3, ymm15) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -387,12 +387,12 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rax ), xmm0) + vmovsd(mem(rax, r8, 1), xmm1) + vmovsd(mem(rax, r8, 2), xmm2) + add(imm(1*8), rax) // a += 1*cs_a = 1*8; +- ++ + vmovsd(mem(rbx ), xmm3) + vfmadd231pd(ymm0, ymm3, ymm4) + vfmadd231pd(ymm1, ymm3, ymm5) +@@ -414,12 +414,12 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + vfmadd231pd(ymm1, ymm3, ymm14) + vfmadd231pd(ymm2, ymm3, ymm15) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -427,11 +427,11 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + label(.DPOSTACCUM) + + +- +- // ymm4 ymm7 ymm10 ymm13 ++ ++ // ymm4 ymm7 ymm10 ymm13 + // ymm5 ymm8 ymm11 ymm14 + // ymm6 ymm9 ymm12 ymm15 +- ++ + vhaddpd( ymm7, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm0 ) +@@ -469,7 +469,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + // xmm6[0:3] = sum(ymm6) sum(ymm9) sum(ymm12) sum(ymm15) + + +- ++ + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 8), rdi) // rs_c *= sizeof(double) + +@@ -477,73 +477,73 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(ymm0, ymm4, ymm4) // scale by alpha + vmulpd(ymm0, ymm5, ymm5) + vmulpd(ymm0, ymm6, ymm6) +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- +- ++ ++ + vfmadd231pd(mem(rcx), ymm3, ymm4) + vmovupd(ymm4, mem(rcx)) + add(rdi, rcx) +- ++ + vfmadd231pd(mem(rcx), ymm3, ymm5) + vmovupd(ymm5, mem(rcx)) + add(rdi, rcx) +- ++ + vfmadd231pd(mem(rcx), ymm3, ymm6) + vmovupd(ymm6, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovupd(ymm4, mem(rcx)) + add(rdi, rcx) +- ++ + vmovupd(ymm5, mem(rcx)) + add(rdi, rcx) +- ++ + vmovupd(ymm6, mem(rcx)) + //add(rdi, rcx) +- +- +- +- ++ ++ ++ ++ + label(.DDONE) +- +- ++ ++ + + + lea(mem(r12, rdi, 2), r12) // +@@ -560,7 +560,7 @@ void bli_dgemmsup_rd_haswell_asm_6x4 + + label(.DRETURN) + +- ++ + + end_asm( + : // output operands (none) +@@ -629,7 +629,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. + + mov(var(a), rax) // load address of a. +@@ -649,7 +649,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + + lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -682,7 +682,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + //lea(mem(r14), rax) // rax = a; + //lea(mem(rdx), rbx) // rbx = b; + +- ++ + #if 1 + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 8), rdi) // rs_c *= sizeof(double) +@@ -690,18 +690,18 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + prefetch(0, mem(rcx, rdi, 1, 3*8)) // prefetch c + 1*rs_c + #endif + +- +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -730,7 +730,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + vfmadd231pd(ymm0, ymm3, ymm13) + vfmadd231pd(ymm1, ymm3, ymm14) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rax ), ymm0) +@@ -756,7 +756,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -807,27 +807,27 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + vfmadd231pd(ymm0, ymm3, ymm13) + vfmadd231pd(ymm1, ymm3, ymm14) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -836,7 +836,7 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + vmovupd(mem(rax ), ymm0) + vmovupd(mem(rax, r8, 1), ymm1) + add(imm(4*8), rax) // a += 4*cs_b = 4*8; +- ++ + vmovupd(mem(rbx ), ymm3) + vfmadd231pd(ymm0, ymm3, ymm4) + vfmadd231pd(ymm1, ymm3, ymm5) +@@ -854,21 +854,21 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + vfmadd231pd(ymm0, ymm3, ymm13) + vfmadd231pd(ymm1, ymm3, ymm14) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -876,11 +876,11 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rax ), xmm0) + vmovsd(mem(rax, r8, 1), xmm1) + add(imm(1*8), rax) // a += 1*cs_a = 1*8; +- ++ + vmovsd(mem(rbx ), xmm3) + vfmadd231pd(ymm0, ymm3, ymm4) + vfmadd231pd(ymm1, ymm3, ymm5) +@@ -898,12 +898,12 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + vfmadd231pd(ymm0, ymm3, ymm13) + vfmadd231pd(ymm1, ymm3, ymm14) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -911,10 +911,10 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + label(.DPOSTACCUM) + + +- +- // ymm4 ymm7 ymm10 ymm13 ++ ++ // ymm4 ymm7 ymm10 ymm13 + // ymm5 ymm8 ymm11 ymm14 +- ++ + vhaddpd( ymm7, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm0 ) +@@ -943,75 +943,75 @@ void bli_dgemmsup_rd_haswell_asm_2x4 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(float) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(ymm0, ymm4, ymm4) // scale by alpha + vmulpd(ymm0, ymm5, ymm5) +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- +- ++ ++ + vfmadd231pd(mem(rcx), ymm3, ymm4) + vmovupd(ymm4, mem(rcx)) + add(rdi, rcx) +- ++ + vfmadd231pd(mem(rcx), ymm3, ymm5) + vmovupd(ymm5, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovupd(ymm4, mem(rcx)) + add(rdi, rcx) +- ++ + vmovupd(ymm5, mem(rcx)) + //add(rdi, rcx) +- +- +- +- ++ ++ ++ ++ + label(.DDONE) + + + + + label(.DRETURN) +- +- ++ ++ + + end_asm( + : // output operands (none) +@@ -1079,7 +1079,7 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. + + mov(var(a), rax) // load address of a. +@@ -1099,7 +1099,7 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + + lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -1128,26 +1128,26 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + //lea(mem(r14), rax) // rax = a; + //lea(mem(rdx), rbx) // rbx = b; + +- ++ + #if 1 + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 8), rdi) // rs_c *= sizeof(double) + prefetch(0, mem(rcx, 3*8)) // prefetch c + 0*rs_c +- prefetch(0, mem(rcx, rdi, 1, 3*8)) // prefetch c + 1*rs_c ++ //prefetch(0, mem(rcx, rdi, 1, 3*8)) // prefetch c + 1*rs_c + #endif + +- +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -1170,7 +1170,7 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + add(imm(4*8), rbx) // b += 4*rs_b = 4*8; + vfmadd231pd(ymm0, ymm3, ymm13) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rax ), ymm0) +@@ -1191,7 +1191,7 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + #endif +@@ -1231,27 +1231,27 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + add(imm(4*8), rbx) // b += 4*rs_b = 4*8; + vfmadd231pd(ymm0, ymm3, ymm13) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -1259,7 +1259,7 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + + vmovupd(mem(rax ), ymm0) + add(imm(4*8), rax) // a += 4*cs_b = 4*8; +- ++ + vmovupd(mem(rbx ), ymm3) + vfmadd231pd(ymm0, ymm3, ymm4) + +@@ -1273,21 +1273,21 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + add(imm(4*8), rbx) // b += 4*rs_b = 4*8; + vfmadd231pd(ymm0, ymm3, ymm13) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -1295,10 +1295,10 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rax ), xmm0) + add(imm(1*8), rax) // a += 1*cs_a = 1*8; +- ++ + vmovsd(mem(rbx ), xmm3) + vfmadd231pd(ymm0, ymm3, ymm4) + +@@ -1312,12 +1312,12 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + add(imm(1*8), rbx) // b += 1*rs_b = 1*8; + vfmadd231pd(ymm0, ymm3, ymm13) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -1325,9 +1325,9 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + label(.DPOSTACCUM) + + +- +- // ymm4 ymm7 ymm10 ymm13 +- ++ ++ // ymm4 ymm7 ymm10 ymm13 ++ + vhaddpd( ymm7, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm0 ) +@@ -1339,15 +1339,15 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + vperm2f128(imm(0x20), ymm2, ymm0, ymm4 ) + + +- vhaddpd( ymm8, ymm5, ymm0 ) +- vextractf128(imm(1), ymm0, xmm1 ) +- vaddpd( xmm0, xmm1, xmm0 ) ++ //vhaddpd( ymm8, ymm5, ymm0 ) ++ //vextractf128(imm(1), ymm0, xmm1 ) ++ //vaddpd( xmm0, xmm1, xmm0 ) + +- vhaddpd( ymm14, ymm11, ymm2 ) +- vextractf128(imm(1), ymm2, xmm1 ) +- vaddpd( xmm2, xmm1, xmm2 ) ++ //vhaddpd( ymm14, ymm11, ymm2 ) ++ //vextractf128(imm(1), ymm2, xmm1 ) ++ //vaddpd( xmm2, xmm1, xmm2 ) + +- vperm2f128(imm(0x20), ymm2, ymm0, ymm5 ) ++ //vperm2f128(imm(0x20), ymm2, ymm0, ymm5 ) + + // xmm4[0:3] = sum(ymm4) sum(ymm7) sum(ymm10) sum(ymm13) + +@@ -1355,67 +1355,67 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(float) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(ymm0, ymm4, ymm4) // scale by alpha +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- +- ++ ++ + vfmadd231pd(mem(rcx), ymm3, ymm4) + vmovupd(ymm4, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovupd(ymm4, mem(rcx)) + //add(rdi, rcx) +- +- +- +- ++ ++ ++ ++ + label(.DDONE) + + + + + label(.DRETURN) +- +- ++ ++ + + end_asm( + : // output operands (none) +commit e3dc1954ffb5eee2a8b41fce85ba589f75770eea +Author: Devin Matthews +Date: Thu Sep 16 10:59:37 2021 -0500 + + Fix problem where uninitialized registers are included in vhaddpd in the Mx1 gemmsup kernels for haswell. + + The fix is to use the same (valid) source register twice in the horizontal addition. + +diff --git a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx1.c b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx1.c +index 6e3c1a0e..457ef9f2 100644 +--- a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx1.c ++++ b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx1.c +@@ -99,9 +99,9 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. +- ++ + mov(var(a), rax) // load address of a. + mov(var(rs_a), r8) // load rs_a + //mov(var(cs_a), r9) // load cs_a +@@ -119,7 +119,7 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + + //lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -163,19 +163,19 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + prefetch(0, mem(r10, rdi, 1, 1*8)) // prefetch c + 4*rs_c + prefetch(0, mem(r10, rdi, 2, 1*8)) // prefetch c + 5*rs_c + #endif +- + +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -206,7 +206,7 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm14) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rbx ), ymm0) +@@ -233,7 +233,7 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -287,27 +287,27 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm14) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -336,21 +336,21 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm14) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -358,7 +358,7 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rbx ), xmm0) + add(imm(1*8), rbx) // b += 1*rs_b = 1*8; + +@@ -381,12 +381,12 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + add(imm(1*8), rax) // a += 1*cs_a = 1*8; + vfmadd231pd(ymm0, ymm3, ymm14) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -399,28 +399,28 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + // ymm10 + // ymm12 + // ymm14 +- +- vhaddpd( ymm5, ymm4, ymm0 ) ++ ++ vhaddpd( ymm4, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm4 ) + +- vhaddpd( ymm7, ymm6, ymm0 ) ++ vhaddpd( ymm6, ymm6, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm6 ) + +- vhaddpd( ymm9, ymm8, ymm0 ) ++ vhaddpd( ymm8, ymm8, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm8 ) + +- vhaddpd( ymm11, ymm10, ymm0 ) ++ vhaddpd( ymm10, ymm10, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm10 ) + +- vhaddpd( ymm13, ymm12, ymm0 ) ++ vhaddpd( ymm12, ymm12, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm12 ) + +- vhaddpd( ymm15, ymm14, ymm0 ) ++ vhaddpd( ymm14, ymm14, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm14 ) + +@@ -435,114 +435,114 @@ void bli_dgemmsup_rd_haswell_asm_6x1 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(double) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(xmm0, xmm4, xmm4) // scale by alpha + vmulpd(xmm0, xmm6, xmm6) + vmulpd(xmm0, xmm8, xmm8) + vmulpd(xmm0, xmm10, xmm10) + vmulpd(xmm0, xmm12, xmm12) + vmulpd(xmm0, xmm14, xmm14) +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- + +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm4) + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm6) + vmovsd(xmm6, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm8) + vmovsd(xmm8, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm10) + vmovsd(xmm10, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm12) + vmovsd(xmm12, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm14) + vmovsd(xmm14, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm6, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm8, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm10, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm12, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm14, mem(rcx)) + //add(rdi, rcx) +- + +- +- +- ++ ++ ++ ++ + label(.DDONE) +- ++ + + + + label(.DRETURN) + +- ++ + + end_asm( + : // output operands (none) +@@ -613,9 +613,9 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. +- ++ + mov(var(a), rax) // load address of a. + mov(var(rs_a), r8) // load rs_a + //mov(var(cs_a), r9) // load cs_a +@@ -633,7 +633,7 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + + //lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -671,19 +671,19 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + prefetch(0, mem(rcx, rdi, 1, 1*8)) // prefetch c + 1*rs_c + prefetch(0, mem(rcx, rdi, 2, 1*8)) // prefetch c + 2*rs_c + #endif +- + +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -705,7 +705,7 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm8) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rbx ), ymm0) +@@ -723,7 +723,7 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -759,27 +759,27 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm8) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -799,21 +799,21 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm8) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -821,7 +821,7 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rbx ), xmm0) + add(imm(1*8), rbx) // b += 1*rs_b = 1*8; + +@@ -835,12 +835,12 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + add(imm(1*8), rax) // a += 1*cs_a = 1*8; + vfmadd231pd(ymm0, ymm3, ymm8) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -850,16 +850,16 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + // ymm4 + // ymm6 + // ymm8 +- +- vhaddpd( ymm5, ymm4, ymm0 ) ++ ++ vhaddpd( ymm4, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm4 ) + +- vhaddpd( ymm7, ymm6, ymm0 ) ++ vhaddpd( ymm6, ymm6, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm6 ) + +- vhaddpd( ymm9, ymm8, ymm0 ) ++ vhaddpd( ymm8, ymm8, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm8 ) + +@@ -871,87 +871,87 @@ void bli_dgemmsup_rd_haswell_asm_3x1 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(double) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(xmm0, xmm4, xmm4) // scale by alpha + vmulpd(xmm0, xmm6, xmm6) + vmulpd(xmm0, xmm8, xmm8) +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- + +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm4) + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm6) + vmovsd(xmm6, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm8) + vmovsd(xmm8, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm6, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm8, mem(rcx)) + //add(rdi, rcx) +- + +- +- +- ++ ++ ++ ++ + label(.DDONE) +- ++ + + + + label(.DRETURN) + +- ++ + + end_asm( + : // output operands (none) +@@ -1022,9 +1022,9 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. +- ++ + mov(var(a), rax) // load address of a. + mov(var(rs_a), r8) // load rs_a + //mov(var(cs_a), r9) // load cs_a +@@ -1042,7 +1042,7 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + + //lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -1078,19 +1078,19 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + prefetch(0, mem(rcx, 1*8)) // prefetch c + 0*rs_c + prefetch(0, mem(rcx, rdi, 1, 1*8)) // prefetch c + 1*rs_c + #endif +- + +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -1109,7 +1109,7 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm6) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rbx ), ymm0) +@@ -1124,7 +1124,7 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -1154,27 +1154,27 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm6) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -1191,21 +1191,21 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm6) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -1213,7 +1213,7 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rbx ), xmm0) + add(imm(1*8), rbx) // b += 1*rs_b = 1*8; + +@@ -1224,12 +1224,12 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + add(imm(1*8), rax) // a += 1*cs_a = 1*8; + vfmadd231pd(ymm0, ymm3, ymm6) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -1238,12 +1238,12 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + + // ymm4 + // ymm6 +- +- vhaddpd( ymm5, ymm4, ymm0 ) ++ ++ vhaddpd( ymm4, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm4 ) + +- vhaddpd( ymm7, ymm6, ymm0 ) ++ vhaddpd( ymm6, ymm6, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm6 ) + +@@ -1254,78 +1254,78 @@ void bli_dgemmsup_rd_haswell_asm_2x1 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(double) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(xmm0, xmm4, xmm4) // scale by alpha + vmulpd(xmm0, xmm6, xmm6) +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- + +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm4) + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm6) + vmovsd(xmm6, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovsd(xmm4, mem(rcx)) + add(rdi, rcx) +- ++ + vmovsd(xmm6, mem(rcx)) + //add(rdi, rcx) +- + +- +- +- ++ ++ ++ ++ + label(.DDONE) +- ++ + + + + label(.DRETURN) + +- ++ + + end_asm( + : // output operands (none) +@@ -1396,9 +1396,9 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + // ------------------------------------------------------------------------- + + begin_asm() +- ++ + //vzeroall() // zero all xmm/ymm registers. +- ++ + mov(var(a), rax) // load address of a. + mov(var(rs_a), r8) // load rs_a + //mov(var(cs_a), r9) // load cs_a +@@ -1416,7 +1416,7 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + + //lea(mem(r11, r11, 2), r13) // r13 = 3*cs_b + //lea(mem(r8, r8, 2), r10) // r10 = 3*rs_a +- ++ + + mov(var(c), rcx) // load address of c + mov(var(rs_c), rdi) // load rs_c +@@ -1450,19 +1450,19 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + //lea(mem(r10, rdi, 1), r10) // rdx = c + 3*rs_c; + prefetch(0, mem(rcx, 1*8)) // prefetch c + 0*rs_c + #endif +- + +- +- ++ ++ ++ + mov(var(k_iter16), rsi) // i = k_iter16; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKITER4) // if i == 0, jump to code that + // contains the k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER16) // MAIN LOOP +- +- ++ ++ + // ---------------------------------- iteration 0 + + #if 0 +@@ -1478,7 +1478,7 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm4) + +- ++ + // ---------------------------------- iteration 1 + + vmovupd(mem(rbx ), ymm0) +@@ -1490,7 +1490,7 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + + + // ---------------------------------- iteration 2 +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -1514,27 +1514,27 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm4) + +- ++ + + dec(rsi) // i -= 1; + jne(.DLOOPKITER16) // iterate again if i != 0. +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + label(.DCONSIDKITER4) +- ++ + mov(var(k_iter4), rsi) // i = k_iter4; + test(rsi, rsi) // check i via logical AND. + je(.DCONSIDKLEFT1) // if i == 0, jump to code that + // considers k_left1 loop. + // else, we prepare to enter k_iter4 loop. +- +- ++ ++ + label(.DLOOPKITER4) // EDGE LOOP (ymm) +- ++ + #if 0 + prefetch(0, mem(rax, r10, 1, 0*8)) // prefetch rax + 3*cs_a + prefetch(0, mem(rax, r8, 4, 0*8)) // prefetch rax + 4*cs_a +@@ -1548,21 +1548,21 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + add(imm(4*8), rax) // a += 4*cs_a = 4*8; + vfmadd231pd(ymm0, ymm3, ymm4) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKITER4) // iterate again if i != 0. +- +- +- ++ ++ ++ + + label(.DCONSIDKLEFT1) +- ++ + mov(var(k_left1), rsi) // i = k_left1; + test(rsi, rsi) // check i via logical AND. + je(.DPOSTACCUM) // if i == 0, we're done; jump to end. + // else, we prepare to enter k_left1 loop. +- +- ++ ++ + + + label(.DLOOPKLEFT1) // EDGE LOOP (scalar) +@@ -1570,7 +1570,7 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + // using the xmm registers would zero out the + // high bits of the destination registers, + // which would destory intermediate results. +- ++ + vmovsd(mem(rbx ), xmm0) + add(imm(1*8), rbx) // b += 1*rs_b = 1*8; + +@@ -1578,12 +1578,12 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + add(imm(1*8), rax) // a += 1*cs_a = 1*8; + vfmadd231pd(ymm0, ymm3, ymm4) + +- ++ + dec(rsi) // i -= 1; + jne(.DLOOPKLEFT1) // iterate again if i != 0. +- +- +- ++ ++ ++ + + + +@@ -1591,8 +1591,8 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + label(.DPOSTACCUM) + + // ymm4 +- +- vhaddpd( ymm5, ymm4, ymm0 ) ++ ++ vhaddpd( ymm4, ymm4, ymm0 ) + vextractf128(imm(1), ymm0, xmm1 ) + vaddpd( xmm0, xmm1, xmm4 ) + +@@ -1602,69 +1602,69 @@ void bli_dgemmsup_rd_haswell_asm_1x1 + + //mov(var(rs_c), rdi) // load rs_c + //lea(mem(, rdi, 4), rdi) // rs_c *= sizeof(double) +- ++ + mov(var(alpha), rax) // load address of alpha + mov(var(beta), rbx) // load address of beta + vbroadcastsd(mem(rax), ymm0) // load alpha and duplicate + vbroadcastsd(mem(rbx), ymm3) // load beta and duplicate +- ++ + vmulpd(xmm0, xmm4, xmm4) // scale by alpha +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ + //mov(var(cs_c), rsi) // load cs_c + //lea(mem(, rsi, 8), rsi) // rsi = cs_c * sizeof(double) +- +- +- ++ ++ ++ + // now avoid loading C if beta == 0 +- ++ + vxorpd(ymm0, ymm0, ymm0) // set ymm0 to zero. + vucomisd(xmm0, xmm3) // set ZF if beta == 0. + je(.DBETAZERO) // if ZF = 1, jump to beta == 0 case +- + +- ++ ++ + label(.DROWSTORED) +- + +- vmovsd(mem(rcx), xmm0) ++ ++ vmovsd(mem(rcx), xmm0) + vfmadd231pd(xmm0, xmm3, xmm4) + vmovsd(xmm4, mem(rcx)) + //add(rdi, rcx) +- +- +- ++ ++ ++ + jmp(.DDONE) // jump to end. +- +- +- +- ++ ++ ++ ++ + label(.DBETAZERO) +- + +- ++ ++ + label(.DROWSTORBZ) +- +- ++ ++ + vmovsd(xmm4, mem(rcx)) + //add(rdi, rcx) +- + +- +- +- ++ ++ ++ ++ + label(.DDONE) +- ++ + + + + label(.DRETURN) + +- ++ + + end_asm( + : // output operands (none) +diff --git a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c +index 21dd3b89..516bfced 100644 +--- a/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c ++++ b/kernels/haswell/3/sup/d6x8/bli_gemmsup_rd_haswell_asm_dMx4.c +@@ -1338,17 +1338,6 @@ void bli_dgemmsup_rd_haswell_asm_1x4 + + vperm2f128(imm(0x20), ymm2, ymm0, ymm4 ) + +- +- //vhaddpd( ymm8, ymm5, ymm0 ) +- //vextractf128(imm(1), ymm0, xmm1 ) +- //vaddpd( xmm0, xmm1, xmm0 ) +- +- //vhaddpd( ymm14, ymm11, ymm2 ) +- //vextractf128(imm(1), ymm2, xmm1 ) +- //vaddpd( xmm2, xmm1, xmm2 ) +- +- //vperm2f128(imm(0x20), ymm2, ymm0, ymm5 ) +- + // xmm4[0:3] = sum(ymm4) sum(ymm7) sum(ymm10) sum(ymm13) + + diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..a24a015854f --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_disable_power9_kernels.patch', + '%(name)s-%(version)s_enable_ppc_autodetect.patch', +] +checksums = [ + '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz + # BLIS-0.9.0_disable_power9_kernels.patch + 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279', + # BLIS-0.9.0_enable_ppc_autodetect.patch + 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328', +] +builddependencies = [ + ('Python', '3.10.4', '-bare'), + ('Perl', '5.34.1'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..3fdd482cf5a --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_disable_power9_kernels.patch', + '%(name)s-%(version)s_enable_ppc_autodetect.patch', +] +checksums = [ + '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz + # BLIS-0.9.0_disable_power9_kernels.patch + 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279', + # BLIS-0.9.0_enable_ppc_autodetect.patch + 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328', +] +builddependencies = [ + ('Python', '3.10.8', '-bare'), + ('Perl', '5.36.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..c481e2a27c4 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_disable_power9_kernels.patch', + '%(name)s-%(version)s_enable_ppc_autodetect.patch', +] +checksums = [ + '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz + # BLIS-0.9.0_disable_power9_kernels.patch + 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279', + # BLIS-0.9.0_enable_ppc_autodetect.patch + 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328', +] +builddependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..0b0e5bb7de7 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-GCC-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_disable_power9_kernels.patch', + '%(name)s-%(version)s_enable_ppc_autodetect.patch', +] +checksums = [ + {'0.9.0.tar.gz': '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308'}, + {'BLIS-0.9.0_disable_power9_kernels.patch': 'ed7a326bc5c5c21c42faefbec2fd7be609d1c7236981b466475edace39307279'}, + {'BLIS-0.9.0_enable_ppc_autodetect.patch': 'f373fb252c0d14036fb631f048091976cceb02abb3e570a97fbaeac2fbb12328'}, +] + +if ARCH == "riscv64": + patches += ['BLIS-0.9.0_add-riscv-support.patch'] + checksums += [{'BLIS-0.9.0_add-riscv-support.patch': + '3610fa2e9f0e10c9e921865eb65966748392acb9cd8b17e43775c5a92f8d9f39'}] + +builddependencies = [ + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..e0a1da068c0 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0-intel-compilers-2022.1.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '0.9.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'oneapi': True} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_blastest-enable-complex-return-intel.patch', + '%(name)s-%(version)s_ifx-complex-return-intel.patch', +] +checksums = [ + '1135f664be7355427b91025075562805cdc6cc730d3173f83533b2c5dcc2f308', # 0.9.0.tar.gz + # BLIS-0.9.0_blastest-enable-complex-return-intel.patch + '0f1966b340d1f24cf02070f00f72f232b4cbfcd242ee9ce8c5f09f7220397cb4', + '097a2647b5c66386155cf6a33a2a617b876bd0f9096a2912359eb0897a29d2d5', # BLIS-0.9.0_ifx-complex-return-intel.patch +] + +builddependencies = [ + ('Python', '3.10.4', '-bare'), + ('Perl', '5.34.1'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch new file mode 100644 index 00000000000..83cdd2b3b0d --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_add-riscv-support.patch @@ -0,0 +1,3999 @@ +Backport RISC-V support to version 0.9.0 by using a combination of +(slightly modified) versions of the following pull requests: +https://github.com/flame/blis/pull/693 +https://github.com/flame/blis/pull/750 + +Bob Dröge (University of Groningen) + +diff --git a/CREDITS b/CREDITS +index 9cc846d5c..d53c406e7 100644 +--- a/CREDITS ++++ b/CREDITS +@@ -98,6 +98,7 @@ but many others have contributed code, ideas, and feedback, including + Karl Rupp @karlrupp + Martin Schatz (The University of Texas at Austin) + Nico Schlömer @nschloe ++ Angelika Schwarz @angsch + Rene Sitt + Tony Skjellum @tonyskjellum (The University of Tennessee at Chattanooga) + Mikhail Smelyanskiy (Intel, Parallel Computing Lab) +diff --git a/config/rv32i/bli_cntx_init_rv32i.c b/config/rv32i/bli_cntx_init_rv32i.c +new file mode 100644 +index 000000000..84fd2dca6 +--- /dev/null ++++ b/config/rv32i/bli_cntx_init_rv32i.c +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++ ++ ++void bli_cntx_init_rv32i( cntx_t* cntx ) ++{ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv32i_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++} +diff --git a/config/rv32i/bli_kernel_defs_rv32i.h b/config/rv32i/bli_kernel_defs_rv32i.h +new file mode 100644 +index 000000000..fe51f998d +--- /dev/null ++++ b/config/rv32i/bli_kernel_defs_rv32i.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++// Fall through to generic sizes ++ ++//#endif +diff --git a/config/rv32i/make_defs.mk b/config/rv32i/make_defs.mk +new file mode 100644 +index 000000000..40849ce66 +--- /dev/null ++++ b/config/rv32i/make_defs.mk +@@ -0,0 +1,94 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv32i ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=32 ++# Atomic instructions must be enabled either via hardware ++# (-march=rv32ia) or by linking against libatomic ++CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32 ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv32iv/bli_cntx_init_rv32iv.c b/config/rv32iv/bli_cntx_init_rv32iv.c +new file mode 100644 +index 000000000..dd10a3655 +--- /dev/null ++++ b/config/rv32iv/bli_cntx_init_rv32iv.c +@@ -0,0 +1,109 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "../../kernels/rviv/3/bli_rviv_utils.h" ++ ++void bli_cntx_init_rv32iv( cntx_t* cntx ) ++{ ++ blksz_t blkszs[ BLIS_NUM_BLKSZS ]; ++ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv32iv_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++ ++ // A reasonable assumptions for application cores is VLEN >= 128 bits, i.e., ++ // v >= 4. Embedded cores, however, may implement the minimal configuration, ++ // which allows VLEN = 32 bits. Here, we assume VLEN >= 128 and otherwise ++ // fall back to the reference kernels. ++ const uint32_t v = get_vlenb() / sizeof(float); ++ ++ if ( v >= 4 ) ++ { ++ const uint32_t mr_s = 4 * v; ++ const uint32_t mr_d = 2 * v; ++ const uint32_t mr_c = 2 * v; ++ const uint32_t mr_z = v; ++ ++ // Update the context with optimized native gemm micro-kernels. ++ bli_cntx_set_ukrs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR, BLIS_FLOAT, bli_sgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DOUBLE, bli_dgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_SCOMPLEX, bli_cgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DCOMPLEX, bli_zgemm_rviv_4vx4, ++ ++ BLIS_VA_END ++ ); ++ ++ // Update the context with storage preferences. ++ bli_cntx_set_ukr_prefs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_FLOAT, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DOUBLE, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_SCOMPLEX, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DCOMPLEX, FALSE, ++ ++ BLIS_VA_END ++ ); ++ ++ // Initialize level-3 blocksize objects with architecture-specific values. ++ // s d c z ++ bli_blksz_init_easy( &blkszs[ BLIS_MR ], mr_s, mr_d, mr_c, mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NR ], 4, 4, 4, 4 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_MC ], 20*mr_s, 20*mr_d, 60*mr_c, 30*mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_KC ], 640, 320, 320, 160 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NC ], 3072, 3072, 3072, 3072 ); ++ ++ bli_cntx_set_blkszs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_NC, &blkszs[ BLIS_NC ], BLIS_NR, ++ BLIS_KC, &blkszs[ BLIS_KC ], BLIS_KR, ++ BLIS_MC, &blkszs[ BLIS_MC ], BLIS_MR, ++ BLIS_NR, &blkszs[ BLIS_NR ], BLIS_NR, ++ BLIS_MR, &blkszs[ BLIS_MR ], BLIS_MR, ++ ++ BLIS_VA_END ++ ); ++ } ++} +diff --git a/config/rv32iv/bli_kernel_defs_rv32iv.h b/config/rv32iv/bli_kernel_defs_rv32iv.h +new file mode 100644 +index 000000000..b17989208 +--- /dev/null ++++ b/config/rv32iv/bli_kernel_defs_rv32iv.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++ ++ ++//#endif +diff --git a/config/rv32iv/make_defs.mk b/config/rv32iv/make_defs.mk +new file mode 100644 +index 000000000..3cef697ac +--- /dev/null ++++ b/config/rv32iv/make_defs.mk +@@ -0,0 +1,96 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv32iv ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=32 ++# Atomic instructions must be enabled either via hardware ++# (-march=rv32iav) or by linking against libatomic ++CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32d ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O0 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++# Lower compiler optimization to -O1. At -O3, gcc version 12.0.1 20220505 ++# computes offsets for the matrix ab in the ref gemm kernel incorrectly. ++CRVECFLAGS := $(CKVECFLAGS) -O1 ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv64i/bli_cntx_init_rv64i.c b/config/rv64i/bli_cntx_init_rv64i.c +new file mode 100644 +index 000000000..f670e4a57 +--- /dev/null ++++ b/config/rv64i/bli_cntx_init_rv64i.c +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++ ++ ++void bli_cntx_init_rv64i( cntx_t* cntx ) ++{ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv64i_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++} +diff --git a/config/rv64i/bli_kernel_defs_rv64i.h b/config/rv64i/bli_kernel_defs_rv64i.h +new file mode 100644 +index 000000000..fe51f998d +--- /dev/null ++++ b/config/rv64i/bli_kernel_defs_rv64i.h +@@ -0,0 +1,43 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++// Fall through to generic sizes ++ ++//#endif +diff --git a/config/rv64i/make_defs.mk b/config/rv64i/make_defs.mk +new file mode 100644 +index 000000000..6c69dd84e +--- /dev/null ++++ b/config/rv64i/make_defs.mk +@@ -0,0 +1,92 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv64i ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=64 ++CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64 ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config/rv64iv/bli_cntx_init_rv64iv.c b/config/rv64iv/bli_cntx_init_rv64iv.c +new file mode 100644 +index 000000000..eb1f79ebc +--- /dev/null ++++ b/config/rv64iv/bli_cntx_init_rv64iv.c +@@ -0,0 +1,114 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2014, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "../../kernels/rviv/3/bli_rviv_utils.h" ++ ++void bli_cntx_init_rv64iv( cntx_t* cntx ) ++{ ++ blksz_t blkszs[ BLIS_NUM_BLKSZS ]; ++ ++ // Set default kernel blocksizes and functions. ++ bli_cntx_init_rv64iv_ref( cntx ); ++ ++ // ------------------------------------------------------------------------- ++ ++ // A reasonable assumptions for application cores is VLEN >= 128 bits, i.e., ++ // v >= 4. Embedded cores, however, may implement the minimal configuration, ++ // which allows VLEN = 32 bits. Here, we assume VLEN >= 128 and otherwise ++ // fall back to the reference kernels. ++ const uint32_t v = get_vlenb() / sizeof(float); ++ ++ if ( v >= 4 ) ++ { ++ const uint32_t mr_s = 4 * v; ++ const uint32_t mr_d = 2 * v; ++ const uint32_t mr_c = 2 * v; ++ const uint32_t mr_z = v; ++ ++ // TODO: Register different kernels based on the value ++ // of v to avoid MC becoming too big. (e.g. 2vx8) ++ ++ // Update the context with optimized native gemm micro-kernels. ++ bli_cntx_set_ukrs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR, BLIS_FLOAT, bli_sgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DOUBLE, bli_dgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_SCOMPLEX, bli_cgemm_rviv_4vx4, ++ BLIS_GEMM_UKR, BLIS_DCOMPLEX, bli_zgemm_rviv_4vx4, ++ ++ BLIS_VA_END ++ ); ++ ++ // Update the context with storage preferences. ++ bli_cntx_set_ukr_prefs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_FLOAT, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DOUBLE, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_SCOMPLEX, FALSE, ++ BLIS_GEMM_UKR_ROW_PREF, BLIS_DCOMPLEX, FALSE, ++ ++ BLIS_VA_END ++ ); ++ ++ // Initialize level-3 blocksize objects with architecture-specific values. ++ // s d c z ++ bli_blksz_init_easy( &blkszs[ BLIS_MR ], mr_s, mr_d, mr_c, mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NR ], 4, 4, 4, 4 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_MC ], 20*mr_s, 20*mr_d, 60*mr_c, 30*mr_z ); ++ bli_blksz_init_easy( &blkszs[ BLIS_KC ], 640, 320, 320, 160 ); ++ bli_blksz_init_easy( &blkszs[ BLIS_NC ], 3072, 3072, 3072, 3072 ); ++ ++ // Update the context with the current architecture's register and cache ++ // blocksizes (and multiples) for native execution. ++ bli_cntx_set_blkszs ++ ( ++ cntx, ++ ++ // level-3 ++ BLIS_NC, &blkszs[ BLIS_NC ], BLIS_NR, ++ BLIS_KC, &blkszs[ BLIS_KC ], BLIS_KR, ++ BLIS_MC, &blkszs[ BLIS_MC ], BLIS_MR, ++ BLIS_NR, &blkszs[ BLIS_NR ], BLIS_NR, ++ BLIS_MR, &blkszs[ BLIS_MR ], BLIS_MR, ++ ++ BLIS_VA_END ++ ); ++ } ++} +diff --git a/config/rv64iv/bli_kernel_defs_rv64iv.h b/config/rv64iv/bli_kernel_defs_rv64iv.h +new file mode 100644 +index 000000000..18ca4030e +--- /dev/null ++++ b/config/rv64iv/bli_kernel_defs_rv64iv.h +@@ -0,0 +1,42 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2022, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++//#ifndef BLIS_KERNEL_DEFS_H ++//#define BLIS_KERNEL_DEFS_H ++ ++ ++// -- REGISTER BLOCK SIZES (FOR REFERENCE KERNELS) ---------------------------- ++ ++ ++//#endif +diff --git a/config/rv64iv/make_defs.mk b/config/rv64iv/make_defs.mk +new file mode 100644 +index 000000000..06545d461 +--- /dev/null ++++ b/config/rv64iv/make_defs.mk +@@ -0,0 +1,93 @@ ++# ++# ++# BLIS ++# An object-based framework for developing high-performance BLAS-like ++# libraries. ++# ++# Copyright (C) 2014, The University of Texas at Austin ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# - Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# - Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# - Neither the name(s) of the copyright holder(s) nor the names of its ++# contributors may be used to endorse or promote products derived ++# from this software without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++# ++# ++ ++ ++# Declare the name of the current configuration and add it to the ++# running list of configurations included by common.mk. ++THIS_CONFIG := rv64iv ++#CONFIGS_INCL += $(THIS_CONFIG) ++ ++# ++# --- Determine the C compiler and related flags --- ++# ++ ++# NOTE: The build system will append these variables with various ++# general-purpose/configuration-agnostic flags in common.mk. You ++# may specify additional flags here as needed. ++CPPROCFLAGS := -DRISCV_SIZE=64 ++CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64d ++CPICFLAGS := ++CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors ++ ++# In case the A extension is not available ++LDFLAGS += -latomic ++ ++ifneq ($(DEBUG_TYPE),off) ++CDBGFLAGS := -g ++endif ++ ++ifeq ($(DEBUG_TYPE),noopt) ++COPTFLAGS := -O0 ++else ++COPTFLAGS := -O2 -ftree-vectorize ++endif ++ ++# Flags specific to optimized kernels. ++CKOPTFLAGS := $(COPTFLAGS) -O3 ++ifeq ($(CC_VENDOR),gcc) ++CKVECFLAGS := ++else ++ifeq ($(CC_VENDOR),clang) ++CKVECFLAGS := ++else ++$(error gcc or clang is required for this configuration.) ++endif ++endif ++ ++# Flags specific to reference kernels. ++CROPTFLAGS := $(CKOPTFLAGS) ++ifeq ($(CC_VENDOR),gcc) ++# Lower compiler optimization. cinvscalv fails at -O1 ++CRVECFLAGS := $(CKVECFLAGS) -O0 ++else ++ifeq ($(CC_VENDOR),clang) ++CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast ++else ++CRVECFLAGS := $(CKVECFLAGS) ++endif ++endif ++ ++# Store all of the variables here to new variables containing the ++# configuration name. ++$(eval $(call store-make-defs,$(THIS_CONFIG))) +diff --git a/config_registry b/config_registry +index f25d66e7f..2138ba515 100644 +--- a/config_registry ++++ b/config_registry +@@ -46,5 +46,11 @@ + power9: power9 + bgq: bgq + ++# RISC-V architectures. ++rv32i: rv32i/rvi ++rv64i: rv64i/rvi ++rv32iv: rv32iv/rviv ++rv64iv: rv64iv/rviv ++ + # Generic architectures. + generic: generic +diff --git a/configure b/configure +index a953c25c5..9a8dc8b7f 100755 +--- a/configure ++++ b/configure +@@ -1230,14 +1230,25 @@ auto_detect() + # NOTE: -D_GNU_SOURCE is needed to enable POSIX extensions to + # pthreads (i.e., barriers). + +- cmd="${cc} ${config_defines} \ ++ cmd="${cc} \ + -DBLIS_CONFIGURETIME_CPUID \ + ${c_hdr_paths} \ + -std=c99 -D_GNU_SOURCE \ +- ${cflags} \ +- ${c_src_filepaths} \ +- ${ldflags} \ +- -o ${autodetect_x}" ++ ${cflags}" ++ ++ # Special case for RISC-V, whose architecture can be detected with ++ # preprocessor macros alone. This avoids having to run RISC-V binaries ++ # on a cross-compiler host. Returns "generic" if RISC-V not detected. ++ riscv_config=$(${cmd} -E "${dist_path}/frame/base/bli_riscv_cpuid.h" | ++ grep '^[^#]') ++ if [[ $riscv_config != *generic* ]]; then ++ echo "${riscv_config}" ++ return ++ fi ++ ++ # Finish command for building executable ++ cmd="${cmd} ${config_defines} ${c_src_filepaths} ${ldflags} \ ++ -o ${autodetect_x}" + + if [ "${debug_auto_detect}" == "no" ]; then + +diff --git a/frame/base/bli_arch.c b/frame/base/bli_arch.c +index b697e35f9..5fef62ce1 100644 +--- a/frame/base/bli_arch.c ++++ b/frame/base/bli_arch.c +@@ -233,6 +233,20 @@ + id = BLIS_ARCH_BGQ; + #endif + ++ // RISC-V microarchitectures ++ #ifdef BLIS_FAMILY_RV32I ++ id = BLIS_ARCH_RV32I; ++ #endif ++ #ifdef BLIS_FAMILY_RV64I ++ id = BLIS_ARCH_RV64I; ++ #endif ++ #ifdef BLIS_FAMILY_RV32IV ++ id = BLIS_ARCH_RV32IV; ++ #endif ++ #ifdef BLIS_FAMILY_RV64IV ++ id = BLIS_ARCH_RV64IV; ++ #endif ++ + // Generic microarchitecture. + #ifdef BLIS_FAMILY_GENERIC + id = BLIS_ARCH_GENERIC; +@@ -283,6 +297,11 @@ + "power9", + "power7", + "bgq", ++ ++ "rv32i", ++ "rv64i", ++ "rv32iv", ++ "rv64iv", + + "generic" + }; +diff --git a/frame/base/bli_gks.c b/frame/base/bli_gks.c +index df0abc8ed..c1fd4c866 100644 +--- a/frame/base/bli_gks.c ++++ b/frame/base/bli_gks.c +@@ -202,6 +202,32 @@ + bli_cntx_init_bgq_ind ); + #endif + ++ // -- RISC-V architectures -------------------------------------------- ++ ++#ifdef BLIS_CONFIG_RV32I ++ bli_gks_register_cntx( BLIS_ARCH_RV32I, bli_cntx_init_rv32i, ++ bli_cntx_init_rv32i_ref, ++ bli_cntx_init_rv32i_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV64I ++ bli_gks_register_cntx( BLIS_ARCH_RV64I, bli_cntx_init_rv64i, ++ bli_cntx_init_rv64i_ref, ++ bli_cntx_init_rv64i_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV32IV ++ bli_gks_register_cntx( BLIS_ARCH_RV32IV, bli_cntx_init_rv32iv, ++ bli_cntx_init_rv32iv_ref, ++ bli_cntx_init_rv32iv_ind ); ++#endif ++ ++#ifdef BLIS_CONFIG_RV64IV ++ bli_gks_register_cntx( BLIS_ARCH_RV64IV, bli_cntx_init_rv64iv, ++ bli_cntx_init_rv64iv_ref, ++ bli_cntx_init_rv64iv_ind ); ++#endif ++ + // Generic architectures + #ifdef BLIS_CONFIG_GENERIC + bli_gks_register_cntx( BLIS_ARCH_GENERIC, bli_cntx_init_generic, +diff --git a/frame/base/bli_riscv_cpuid.h b/frame/base/bli_riscv_cpuid.h +new file mode 100644 +index 000000000..4f0c25a33 +--- /dev/null ++++ b/frame/base/bli_riscv_cpuid.h +@@ -0,0 +1,67 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* RISC-V autodetection code which works with native or cross-compilers. ++ Compile with $CC -E and ignore all output lines starting with #. On RISC-V ++ it may return rv32i (base 32-bit integer RISC-V), rv32iv (rv32i plus vector ++ extensions), rv64i (base 64-bit integer RISC-V), or rv64iv (rv64i plus ++ vector extensions). On 128-bit integer RISC-V, it falls back to generic ++ for now. For toolchains which do not yet support RISC-V feature-detection ++ macros, it will fall back on generic, so the BLIS configure script may need ++ the RISC-V configuration to be explicitly specified. */ ++ ++// false if !defined(__riscv) || !defined(__riscv_xlen) ++#if __riscv && __riscv_xlen == 64 ++ ++#if __riscv_vector // false if !defined(__riscv_vector) ++rv64iv ++#else ++rv64i ++#endif ++ ++// false if !defined(__riscv) || !defined(__riscv_xlen) || __riscv_e32 != 0 ++#elif __riscv && __riscv_xlen == 32 && !__riscv_e32 ++ ++#if __riscv_vector // false if !defined(__riscv_vector) ++rv32iv ++#else ++rv32i ++#endif ++ ++#else ++ ++generic // fall back on BLIS runtime CPUID autodetection algorithm ++ ++#endif +diff --git a/frame/base/bli_riscv_detect_arch.h b/frame/base/bli_riscv_detect_arch.h +new file mode 100644 +index 000000000..448b0f39d +--- /dev/null ++++ b/frame/base/bli_riscv_detect_arch.h +@@ -0,0 +1,155 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* Construct a RISC-V architecture string based on available features. */ ++ ++#if __riscv ++ ++#if __riscv_arch_test ++ ++#if __riscv_i ++#define RISCV_I i ++#else ++#define RISCV_I ++#endif ++ ++#if __riscv_e ++#define RISCV_E e ++#else ++#define RISCV_E ++#endif ++ ++#if __riscv_m ++#define RISCV_M m ++#else ++#define RISCV_M ++#endif ++ ++#if __riscv_a ++#define RISCV_A a ++#else ++#define RISCV_A ++#endif ++ ++#if __riscv_f ++#define RISCV_F f ++#else ++#define RISCV_F ++#endif ++ ++#if __riscv_d ++#define RISCV_D d ++#else ++#define RISCV_D ++#endif ++ ++#if __riscv_c ++#define RISCV_C c ++#else ++#define RISCV_C ++#endif ++ ++#if __riscv_p ++#define RISCV_P p ++#else ++#define RISCV_P ++#endif ++ ++/* FORCE_RISCV_VECTOR is a Clang workaround */ ++#if __riscv_v || FORCE_RISCV_VECTOR ++#define RISCV_V v ++#else ++#define RISCV_V ++#endif ++ ++#else /* __riscv_arch_test */ ++ ++/* We assume I and E are exclusive when __riscv_arch_test isn't defined */ ++#if __riscv_32e ++#define RISCV_I ++#define RISCV_E e ++#else ++#define RISCV_I i ++#define RISCV_E ++#endif ++ ++#if __riscv_mul ++#define RISCV_M m ++#else ++#define RISCV_M ++#endif ++ ++#if __riscv_atomic ++#define RISCV_A a ++#else ++#define RISCV_A ++#endif ++ ++#if __riscv_flen >= 32 ++#define RISCV_F f ++#else ++#define RISCV_F ++#endif ++ ++#if __riscv_flen >= 64 ++#define RISCV_D d ++#else ++#define RISCV_D ++#endif ++ ++#if __riscv_compressed ++#define RISCV_C c ++#else ++#define RISCV_C ++#endif ++ ++#define RISCV_P ++ ++/* FORCE_RISCV_VECTOR is a Clang workaround */ ++#if __riscv_vector || FORCE_RISCV_VECTOR ++#define RISCV_V v ++#else ++#define RISCV_V ++#endif ++ ++#endif /* __riscv_arch_test */ ++ ++#define CAT2(a,b) a##b ++#define CAT(a,b) CAT2(a,b) ++ ++CAT(rv, CAT(__riscv_xlen, CAT(RISCV_I, CAT(RISCV_E, CAT(RISCV_M, CAT(RISCV_A, ++CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_C, CAT(RISCV_P, RISCV_V)))))))))) ++ ++#endif /* __riscv */ +diff --git a/frame/include/bli_arch_config.h b/frame/include/bli_arch_config.h +index 0485295df..c80e8e922 100644 +--- a/frame/include/bli_arch_config.h ++++ b/frame/include/bli_arch_config.h +@@ -131,6 +131,22 @@ CNTX_INIT_PROTS( power7 ) + CNTX_INIT_PROTS( bgq ) + #endif + ++// -- RISC-V -- ++ ++#ifdef BLIS_CONFIG_RV32I ++CNTX_INIT_PROTS( rv32i ) ++#endif ++#ifdef BLIS_CONFIG_RV64I ++CNTX_INIT_PROTS( rv64i ) ++#endif ++#ifdef BLIS_CONFIG_RV32IV ++CNTX_INIT_PROTS( rv32iv ) ++#endif ++#ifdef BLIS_CONFIG_RV64IV ++CNTX_INIT_PROTS( rv64iv ) ++#endif ++ ++ + // -- Generic -- + + #ifdef BLIS_CONFIG_GENERIC +@@ -343,6 +359,12 @@ CNTX_INIT_PROTS( generic ) + #endif + + ++#ifdef BLIS_KERNELS_RVI ++#include "bli_kernels_rvi.h" ++#endif ++#ifdef BLIS_KERNELS_RVIV ++#include "bli_kernels_rviv.h" ++#endif + + #endif + +diff --git a/frame/include/bli_misc_macro_defs.h b/frame/include/bli_misc_macro_defs.h +index 903b4ece6..31e0150f6 100644 +--- a/frame/include/bli_misc_macro_defs.h ++++ b/frame/include/bli_misc_macro_defs.h +@@ -170,5 +170,7 @@ BLIS_INLINE void bli_toggle_bool( bool* b ) + #define BLIS_VA_END (-1) + + +-#endif ++// Static assertion compatible with any version of C/C++ ++#define bli_static_assert(cond) while(0){struct s {int STATIC_ASSERT_FAILED : !!(cond);};} + ++#endif +diff --git a/frame/include/bli_type_defs.h b/frame/include/bli_type_defs.h +index cb933bfa4..b246fda05 100644 +--- a/frame/include/bli_type_defs.h ++++ b/frame/include/bli_type_defs.h +@@ -965,6 +965,12 @@ typedef enum + BLIS_ARCH_POWER7, + BLIS_ARCH_BGQ, + ++ // RISC-V ++ BLIS_ARCH_RV32I, ++ BLIS_ARCH_RV64I, ++ BLIS_ARCH_RV32IV, ++ BLIS_ARCH_RV64IV, ++ + // Generic architecture/configuration + BLIS_ARCH_GENERIC, + +diff --git a/kernels/rvi/bli_kernels_rvi.h b/kernels/rvi/bli_kernels_rvi.h +new file mode 100644 +index 000000000..d06afae62 +--- /dev/null ++++ b/kernels/rvi/bli_kernels_rvi.h +@@ -0,0 +1,33 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ +diff --git a/kernels/rviv/3/bli_cgemm_rviv_4vx4.c b/kernels/rviv/3/bli_cgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..9ef333a78 +--- /dev/null ++++ b/kernels/rviv/3/bli_cgemm_rviv_4vx4.c +@@ -0,0 +1,79 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_cgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++void bli_cgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_SCOMPLEX, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( c, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_cgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb() * 2, cs_c * sizeof(scomplex) ); ++ ++ GEMM_UKR_FLUSH_CT( c ); ++} +diff --git a/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..98c73d23d +--- /dev/null ++++ b/kernels/rviv/3/bli_cgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_cgemm_rviv_asm_4vx4 ++#define DATASIZE 8 ++#define VTYPE e32 ++#define FLOAD flw ++#define FZERO(fr) fcvt.s.w fr, x0 ++#define FEQ feq.s ++#define VLE vlseg2e32.v ++#define VSE vsseg2e32.v ++ ++#include "bli_czgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h b/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h +new file mode 100644 +index 000000000..8f7727c8d +--- /dev/null ++++ b/kernels/rviv/3/bli_czgemm_rviv_asm_4vx4.h +@@ -0,0 +1,801 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++ .text ++ .align 2 ++ .global REALNAME ++ ++// void REALNAME(intptr_t k, void* alpha, void* a, void* b, ++// void* beta, void* c, intptr_t rs_c, intptr_t cs_c) ++// ++// register arguments: ++// a0 k ++// a1 alpha ++// a2 a ++// a3 b ++// a4 beta ++// a5 c ++// a6 rs_c ++// a7 cs_c ++// ++ ++#define REALSIZE (DATASIZE/2) ++ ++#define loop_counter a0 ++ ++#define A00_ptr a2 ++#define A10_ptr t0 ++#define A01_ptr t1 ++#define A11_ptr t2 ++ ++#define B_row_ptr a3 ++ ++#define C00_ptr a5 ++#define C01_ptr t3 ++#define C02_ptr t4 ++#define C03_ptr t5 ++#define C10_ptr s1 ++#define C11_ptr s2 ++#define C12_ptr s3 ++#define C13_ptr s4 ++ ++#define tmp t6 ++ ++#define ALPHA_re fa0 ++#define ALPHA_im fa1 ++#define BETA_re fa2 ++#define BETA_im fa3 ++ ++#define B00_re fa4 ++#define B00_im fa5 ++#define B01_re fa6 ++#define B01_im fa7 ++#define B02_re fa0 ++#define B02_im fa1 ++#define B03_re fa2 ++#define B03_im fa3 ++ ++#define B10_re ft0 ++#define B10_im ft1 ++#define B11_re ft2 ++#define B11_im ft3 ++#define B12_re ft4 ++#define B12_im ft5 ++#define B13_re ft6 ++#define B13_im ft7 ++ ++#define fzero ft8 ++ ++#define A00_re v24 ++#define A00_im v25 ++#define A10_re v26 ++#define A10_im v27 ++#define A01_re v28 ++#define A01_im v29 ++#define A11_re v30 ++#define A11_im v31 ++ ++#define C0_re v24 ++#define C0_im v25 ++#define C1_re v26 ++#define C1_im v27 ++#define C2_re v28 ++#define C2_im v29 ++#define C3_re v30 ++#define C3_im v31 ++ ++#define AB00_re v0 ++#define AB00_im v1 ++#define AB01_re v2 ++#define AB01_im v3 ++#define AB02_re v4 ++#define AB02_im v5 ++#define AB03_re v6 ++#define AB03_im v7 ++#define AB10_re v8 ++#define AB10_im v9 ++#define AB11_re v10 ++#define AB11_im v11 ++#define AB12_re v12 ++#define AB12_im v13 ++#define AB13_re v14 ++#define AB13_im v15 ++ ++#define tmp0_re v16 ++#define tmp0_im v17 ++#define tmp1_re v18 ++#define tmp1_im v19 ++#define tmp2_re v20 ++#define tmp2_im v21 ++#define tmp3_re v22 ++#define tmp3_im v23 ++ ++#define rs_c a6 ++#define cs_c a7 ++ ++REALNAME: ++ #include "rviv_save_registers.h" ++ ++ vsetvli s0, zero, VTYPE, m1, ta, ma ++ csrr s0, vlenb ++ slli s0, s0, 1 ++ FZERO(fzero) ++ ++ // Set up pointers ++ add C01_ptr, C00_ptr, cs_c ++ add C02_ptr, C01_ptr, cs_c ++ add C03_ptr, C02_ptr, cs_c ++ add C10_ptr, C00_ptr, rs_c ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ // Zero-initialize accumulators ++ vxor.vv AB00_re, AB00_re, AB00_re ++ vxor.vv AB00_im, AB00_im, AB00_im ++ vxor.vv AB01_re, AB01_re, AB01_re ++ vxor.vv AB01_im, AB01_im, AB01_im ++ vxor.vv AB02_re, AB02_re, AB02_re ++ vxor.vv AB02_im, AB02_im, AB02_im ++ vxor.vv AB03_re, AB03_re, AB03_re ++ vxor.vv AB03_im, AB03_im, AB03_im ++ vxor.vv AB10_re, AB10_re, AB10_re ++ vxor.vv AB10_im, AB10_im, AB10_im ++ vxor.vv AB11_re, AB11_re, AB11_re ++ vxor.vv AB11_im, AB11_im, AB11_im ++ vxor.vv AB12_re, AB12_re, AB12_re ++ vxor.vv AB12_im, AB12_im, AB12_im ++ vxor.vv AB13_re, AB13_re, AB13_re ++ vxor.vv AB13_im, AB13_im, AB13_im ++ ++ // Handle k == 0 ++ beqz loop_counter, MULTIPLYBETA ++ ++ add A10_ptr, A00_ptr, s0 ++ slli s0, s0, 1 // length of a column of A in bytes ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Preload A and B ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ // Load and deinterleave A(:,l+1) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++LOOP_UNROLL_4: // loop_counter >= 4 ++ addi loop_counter, loop_counter, -4 ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ // Point to A(:,l+2), A(:,l+3) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+1) * B(l+1,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ // Load and deinterleave A(:,l+2) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l+2, 0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+1) * B(l+1,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+1) * B(l+1,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+1) * B(l+1,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ // Load and deinterleave A(:,l+3) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ // Point to A(:,l+2), A(:,l+3) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ ++ // Load B(l+3, 0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l+2) * B(l+2,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+3) * B(l+3,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l+2) * B(l+2,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+3) * B(l+3,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l+2) * B(l+2,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+3) * B(l+3,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l+2) * B(l+2,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+3) * B(l+3,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Load A and B for the next iteration ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ j LOOP_UNROLL_4 ++ ++TAIL_UNROLL_2: // loop_counter <= 3 ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++ addi loop_counter, loop_counter, -2 ++ ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l, 0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ // Load and deinterleave A(:,l+1) ++ VLE A01_re, (A01_ptr) ++ VLE A11_re, (A11_ptr) ++ ++ // Load B(l+1, 0:3) ++ FLOAD B10_re, 8*REALSIZE(B_row_ptr) ++ FLOAD B10_im, 9*REALSIZE(B_row_ptr) ++ FLOAD B11_re, 10*REALSIZE(B_row_ptr) ++ FLOAD B11_im, 11*REALSIZE(B_row_ptr) ++ FLOAD B12_re, 12*REALSIZE(B_row_ptr) ++ FLOAD B12_im, 13*REALSIZE(B_row_ptr) ++ FLOAD B13_re, 14*REALSIZE(B_row_ptr) ++ FLOAD B13_im, 15*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B10_re, A01_re // AB(:,0) += A(:,l+1) * B(l+1,0) ++ vfnmsac.vf AB00_re, B10_im, A01_im ++ vfmacc.vf AB00_im, B10_re, A01_im ++ vfmacc.vf AB00_im, B10_im, A01_re ++ vfmacc.vf AB10_re, B10_re, A11_re ++ vfnmsac.vf AB10_re, B10_im, A11_im ++ vfmacc.vf AB10_im, B10_re, A11_im ++ vfmacc.vf AB10_im, B10_im, A11_re ++ ++ vfmacc.vf AB01_re, B11_re, A01_re // AB(:,1) += A(:,l+1) * B(l+1,1) ++ vfnmsac.vf AB01_re, B11_im, A01_im ++ vfmacc.vf AB01_im, B11_re, A01_im ++ vfmacc.vf AB01_im, B11_im, A01_re ++ vfmacc.vf AB11_re, B11_re, A11_re ++ vfnmsac.vf AB11_re, B11_im, A11_im ++ vfmacc.vf AB11_im, B11_re, A11_im ++ vfmacc.vf AB11_im, B11_im, A11_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++ vfmacc.vf AB02_re, B12_re, A01_re // AB(:,2) += A(:,l+1) * B(l+1,2) ++ vfnmsac.vf AB02_re, B12_im, A01_im ++ vfmacc.vf AB02_im, B12_re, A01_im ++ vfmacc.vf AB02_im, B12_im, A01_re ++ vfmacc.vf AB12_re, B12_re, A11_re ++ vfnmsac.vf AB12_re, B12_im, A11_im ++ vfmacc.vf AB12_im, B12_re, A11_im ++ vfmacc.vf AB12_im, B12_im, A11_re ++ ++ vfmacc.vf AB03_re, B13_re, A01_re // AB(:,3) += A(:,l+1) * B(l+1,3) ++ vfnmsac.vf AB03_re, B13_im, A01_im ++ vfmacc.vf AB03_im, B13_re, A01_im ++ vfmacc.vf AB03_im, B13_im, A01_re ++ vfmacc.vf AB13_re, B13_re, A11_re ++ vfnmsac.vf AB13_re, B13_im, A11_im ++ vfmacc.vf AB13_im, B13_re, A11_im ++ vfmacc.vf AB13_im, B13_im, A11_re ++ ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Advance pointers ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ addi B_row_ptr, B_row_ptr, 16*REALSIZE ++ ++TAIL_UNROLL_1: // loop_counter <= 1 ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Load and deinterleave A(:,l) ++ VLE A00_re, (A00_ptr) ++ VLE A10_re, (A10_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00_re, 0*REALSIZE(B_row_ptr) ++ FLOAD B00_im, 1*REALSIZE(B_row_ptr) ++ FLOAD B01_re, 2*REALSIZE(B_row_ptr) ++ FLOAD B01_im, 3*REALSIZE(B_row_ptr) ++ FLOAD B02_re, 4*REALSIZE(B_row_ptr) ++ FLOAD B02_im, 5*REALSIZE(B_row_ptr) ++ FLOAD B03_re, 6*REALSIZE(B_row_ptr) ++ FLOAD B03_im, 7*REALSIZE(B_row_ptr) ++ ++ vfmacc.vf AB00_re, B00_re, A00_re // AB(:,0) += A(:,l) * B(l,0) ++ vfnmsac.vf AB00_re, B00_im, A00_im ++ vfmacc.vf AB00_im, B00_re, A00_im ++ vfmacc.vf AB00_im, B00_im, A00_re ++ vfmacc.vf AB10_re, B00_re, A10_re ++ vfnmsac.vf AB10_re, B00_im, A10_im ++ vfmacc.vf AB10_im, B00_re, A10_im ++ vfmacc.vf AB10_im, B00_im, A10_re ++ ++ vfmacc.vf AB01_re, B01_re, A00_re // AB(:,1) += A(:,l) * B(l,1) ++ vfnmsac.vf AB01_re, B01_im, A00_im ++ vfmacc.vf AB01_im, B01_re, A00_im ++ vfmacc.vf AB01_im, B01_im, A00_re ++ vfmacc.vf AB11_re, B01_re, A10_re ++ vfnmsac.vf AB11_re, B01_im, A10_im ++ vfmacc.vf AB11_im, B01_re, A10_im ++ vfmacc.vf AB11_im, B01_im, A10_re ++ ++ vfmacc.vf AB02_re, B02_re, A00_re // AB(:,2) += A(:,l) * B(l,2) ++ vfnmsac.vf AB02_re, B02_im, A00_im ++ vfmacc.vf AB02_im, B02_re, A00_im ++ vfmacc.vf AB02_im, B02_im, A00_re ++ vfmacc.vf AB12_re, B02_re, A10_re ++ vfnmsac.vf AB12_re, B02_im, A10_im ++ vfmacc.vf AB12_im, B02_re, A10_im ++ vfmacc.vf AB12_im, B02_im, A10_re ++ ++ vfmacc.vf AB03_re, B03_re, A00_re // AB(:,3) += A(:,l) * B(l,3) ++ vfnmsac.vf AB03_re, B03_im, A00_im ++ vfmacc.vf AB03_im, B03_re, A00_im ++ vfmacc.vf AB03_im, B03_im, A00_re ++ vfmacc.vf AB13_re, B03_re, A10_re ++ vfnmsac.vf AB13_re, B03_im, A10_im ++ vfmacc.vf AB13_im, B03_re, A10_im ++ vfmacc.vf AB13_im, B03_im, A10_re ++ ++MULTIPLYALPHA: ++ FLOAD ALPHA_re, 0*REALSIZE(a1) ++ FLOAD ALPHA_im, 1*REALSIZE(a1) ++ ++ FEQ tmp, ALPHA_im, fzero ++ bne tmp, zero, ALPHAREAL ++ ++ // [AB00, ..., AB03] * alpha ++ vfmul.vf tmp0_re, AB00_im, ALPHA_im ++ vfmul.vf tmp0_im, AB00_re, ALPHA_im ++ vfmul.vf tmp1_re, AB01_im, ALPHA_im ++ vfmul.vf tmp1_im, AB01_re, ALPHA_im ++ vfmul.vf tmp2_re, AB02_im, ALPHA_im ++ vfmul.vf tmp2_im, AB02_re, ALPHA_im ++ vfmul.vf tmp3_re, AB03_im, ALPHA_im ++ vfmul.vf tmp3_im, AB03_re, ALPHA_im ++ vfmsub.vf AB00_re, ALPHA_re, tmp0_re ++ vfmsub.vf AB01_re, ALPHA_re, tmp1_re ++ vfmsub.vf AB02_re, ALPHA_re, tmp2_re ++ vfmsub.vf AB03_re, ALPHA_re, tmp3_re ++ vfmadd.vf AB00_im, ALPHA_re, tmp0_im ++ vfmadd.vf AB01_im, ALPHA_re, tmp1_im ++ vfmadd.vf AB02_im, ALPHA_re, tmp2_im ++ vfmadd.vf AB03_im, ALPHA_re, tmp3_im ++ ++ // [AB10, ..., AB13] * alpha ++ vfmul.vf tmp0_re, AB10_im, ALPHA_im ++ vfmul.vf tmp0_im, AB10_re, ALPHA_im ++ vfmul.vf tmp1_re, AB11_im, ALPHA_im ++ vfmul.vf tmp1_im, AB11_re, ALPHA_im ++ vfmul.vf tmp2_re, AB12_im, ALPHA_im ++ vfmul.vf tmp2_im, AB12_re, ALPHA_im ++ vfmul.vf tmp3_re, AB13_im, ALPHA_im ++ vfmul.vf tmp3_im, AB13_re, ALPHA_im ++ vfmsub.vf AB10_re, ALPHA_re, tmp0_re ++ vfmsub.vf AB11_re, ALPHA_re, tmp1_re ++ vfmsub.vf AB12_re, ALPHA_re, tmp2_re ++ vfmsub.vf AB13_re, ALPHA_re, tmp3_re ++ vfmadd.vf AB10_im, ALPHA_re, tmp0_im ++ vfmadd.vf AB11_im, ALPHA_re, tmp1_im ++ vfmadd.vf AB12_im, ALPHA_re, tmp2_im ++ vfmadd.vf AB13_im, ALPHA_re, tmp3_im ++ ++ j MULTIPLYBETA ++ ++ALPHAREAL: ++ vfmul.vf AB00_re, AB00_re, ALPHA_re ++ vfmul.vf AB00_im, AB00_im, ALPHA_re ++ vfmul.vf AB01_re, AB01_re, ALPHA_re ++ vfmul.vf AB01_im, AB01_im, ALPHA_re ++ vfmul.vf AB02_re, AB02_re, ALPHA_re ++ vfmul.vf AB02_im, AB02_im, ALPHA_re ++ vfmul.vf AB03_re, AB03_re, ALPHA_re ++ vfmul.vf AB03_im, AB03_im, ALPHA_re ++ ++ vfmul.vf AB10_re, AB10_re, ALPHA_re ++ vfmul.vf AB10_im, AB10_im, ALPHA_re ++ vfmul.vf AB11_re, AB11_re, ALPHA_re ++ vfmul.vf AB11_im, AB11_im, ALPHA_re ++ vfmul.vf AB12_re, AB12_re, ALPHA_re ++ vfmul.vf AB12_im, AB12_im, ALPHA_re ++ vfmul.vf AB13_re, AB13_re, ALPHA_re ++ vfmul.vf AB13_im, AB13_im, ALPHA_re ++ ++MULTIPLYBETA: ++ FLOAD BETA_re, 0*REALSIZE(a4) ++ FLOAD BETA_im, 1*REALSIZE(a4) ++ FEQ tmp, BETA_im, fzero ++ bne tmp, zero, BETAREAL ++ ++ // Load and deinterleave C(0:VLEN-1, 0:1) ++ VLE C0_re, (C00_ptr) ++ VLE C1_re, (C01_ptr) ++ ++ // Load and deinterleave C(0:VLEN-1, 2:3) ++ VLE C2_re, (C02_ptr) ++ VLE C3_re, (C03_ptr) ++ ++ // C(0:VLEN-1,0:1) * beta + AB(0:VLEN-1,0:1) ++ vfmacc.vf AB00_re, BETA_re, C0_re ++ vfnmsac.vf AB00_re, BETA_im, C0_im ++ vfmacc.vf AB00_im, BETA_re, C0_im ++ vfmacc.vf AB00_im, BETA_im, C0_re ++ VSE AB00_re, (C00_ptr) ++ ++ vfmacc.vf AB01_re, BETA_re, C1_re ++ vfnmsac.vf AB01_re, BETA_im, C1_im ++ vfmacc.vf AB01_im, BETA_re, C1_im ++ vfmacc.vf AB01_im, BETA_im, C1_re ++ VSE AB01_re, (C01_ptr) ++ ++ // C(0:VLEN-1,2:3) * beta + AB(0:VLEN-1,2:3) ++ vfmacc.vf AB02_re, BETA_re, C2_re ++ vfnmsac.vf AB02_re, BETA_im, C2_im ++ vfmacc.vf AB02_im, BETA_re, C2_im ++ vfmacc.vf AB02_im, BETA_im, C2_re ++ VSE AB02_re, (C02_ptr) ++ ++ vfmacc.vf AB03_re, BETA_re, C3_re ++ vfnmsac.vf AB03_re, BETA_im, C3_im ++ vfmacc.vf AB03_im, BETA_re, C3_im ++ vfmacc.vf AB03_im, BETA_im, C3_re ++ VSE AB03_re, (C03_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 0:1) ++ VLE C0_re, (C10_ptr) ++ VLE C1_re, (C11_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 2:3) ++ VLE C2_re, (C12_ptr) ++ VLE C3_re, (C13_ptr) ++ ++ // C(VLEN:2*VLEN-1,0:1) * beta + AB(VLEN:2*VLEN-1,0:1) ++ vfmacc.vf AB10_re, BETA_re, C0_re ++ vfnmsac.vf AB10_re, BETA_im, C0_im ++ vfmacc.vf AB10_im, BETA_re, C0_im ++ vfmacc.vf AB10_im, BETA_im, C0_re ++ VSE AB10_re, (C10_ptr) ++ ++ vfmacc.vf AB11_re, BETA_re, C1_re ++ vfnmsac.vf AB11_re, BETA_im, C1_im ++ vfmacc.vf AB11_im, BETA_re, C1_im ++ vfmacc.vf AB11_im, BETA_im, C1_re ++ VSE AB11_re, (C11_ptr) ++ ++ // C(VLEN:2*VLEN-1,2:3) * beta + AB(VLEN:2*VLEN-1,2:3) ++ vfmacc.vf AB12_re, BETA_re, C2_re ++ vfnmsac.vf AB12_re, BETA_im, C2_im ++ vfmacc.vf AB12_im, BETA_re, C2_im ++ vfmacc.vf AB12_im, BETA_im, C2_re ++ VSE AB12_re, (C12_ptr) ++ ++ vfmacc.vf AB13_re, BETA_re, C3_re ++ vfnmsac.vf AB13_re, BETA_im, C3_im ++ vfmacc.vf AB13_im, BETA_re, C3_im ++ vfmacc.vf AB13_im, BETA_im, C3_re ++ VSE AB13_re, (C13_ptr) ++ ++ j END ++ ++BETAREAL: ++ FEQ tmp, BETA_re, fzero ++ bne tmp, zero, BETAZERO ++ ++ // Load and deinterleave C(0:VLEN-1, 0:3) ++ VLE C0_re, (C00_ptr) ++ VLE C1_re, (C01_ptr) ++ VLE C2_re, (C02_ptr) ++ VLE C3_re, (C03_ptr) ++ ++ // C(0:VLEN-1,0:3) * beta + AB(0:VLEN-1,0:3) ++ vfmacc.vf AB00_re, BETA_re, C0_re ++ vfmacc.vf AB00_im, BETA_re, C0_im ++ vfmacc.vf AB01_re, BETA_re, C1_re ++ vfmacc.vf AB01_im, BETA_re, C1_im ++ ++ vfmacc.vf AB02_re, BETA_re, C2_re ++ vfmacc.vf AB02_im, BETA_re, C2_im ++ vfmacc.vf AB03_re, BETA_re, C3_re ++ vfmacc.vf AB03_im, BETA_re, C3_im ++ ++ VSE AB00_re, (C00_ptr) ++ VSE AB01_re, (C01_ptr) ++ VSE AB02_re, (C02_ptr) ++ VSE AB03_re, (C03_ptr) ++ ++ // Load and deinterleave C(VLEN:2*VLEN-1, 0:3) ++ VLE C0_re, (C10_ptr) ++ VLE C1_re, (C11_ptr) ++ VLE C2_re, (C12_ptr) ++ VLE C3_re, (C13_ptr) ++ ++ // C(VLEN:2*VLEN-1,0:3) * beta + AB(VLEN:2*VLEN-1,0:3) ++ vfmacc.vf AB10_re, BETA_re, C0_re ++ vfmacc.vf AB10_im, BETA_re, C0_im ++ vfmacc.vf AB11_re, BETA_re, C1_re ++ vfmacc.vf AB11_im, BETA_re, C1_im ++ ++ vfmacc.vf AB12_re, BETA_re, C2_re ++ vfmacc.vf AB12_im, BETA_re, C2_im ++ vfmacc.vf AB13_re, BETA_re, C3_re ++ vfmacc.vf AB13_im, BETA_re, C3_im ++ ++ VSE AB10_re, (C10_ptr) ++ VSE AB11_re, (C11_ptr) ++ VSE AB12_re, (C12_ptr) ++ VSE AB13_re, (C13_ptr) ++ ++ j END ++ ++BETAZERO: ++ VSE AB00_re, (C00_ptr) ++ VSE AB01_re, (C01_ptr) ++ VSE AB02_re, (C02_ptr) ++ VSE AB03_re, (C03_ptr) ++ ++ VSE AB10_re, (C10_ptr) ++ VSE AB11_re, (C11_ptr) ++ VSE AB12_re, (C12_ptr) ++ VSE AB13_re, (C13_ptr) ++ ++END: ++ #include "rviv_restore_registers.h" ++ ret +diff --git a/kernels/rviv/3/bli_dgemm_rviv_4vx4.c b/kernels/rviv/3/bli_dgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..e03716a5a +--- /dev/null ++++ b/kernels/rviv/3/bli_dgemm_rviv_4vx4.c +@@ -0,0 +1,79 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++#include "bli_rviv_utils.h" ++ ++void bli_dgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++void bli_dgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_DOUBLE, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( d, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_dgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb(), cs_c * sizeof(double) ); ++ ++ GEMM_UKR_FLUSH_CT( d ); ++} +diff --git a/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..b29c6da5e +--- /dev/null ++++ b/kernels/rviv/3/bli_dgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_dgemm_rviv_asm_4vx4 ++#define DATASIZE 8 ++#define VTYPE e64 ++#define FLOAD fld ++#define FZERO(fr) fcvt.d.w fr, x0 ++#define FEQ feq.d ++#define VLE vle64.v ++#define VSE vse64.v ++ ++#include "bli_sdgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_rviv_utils.h b/kernels/rviv/3/bli_rviv_utils.h +new file mode 100644 +index 000000000..e4570321d +--- /dev/null ++++ b/kernels/rviv/3/bli_rviv_utils.h +@@ -0,0 +1,46 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "blis.h" ++#include ++ ++static inline uintptr_t get_vlenb(void) ++{ ++ uintptr_t vlenb = 0; ++ __asm__ volatile ( ++ " csrr %0, vlenb" // vector length in bytes ++ : "=r" (vlenb) ++ ); ++ return vlenb; ++} +diff --git a/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h b/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h +new file mode 100644 +index 000000000..998a4e27d +--- /dev/null ++++ b/kernels/rviv/3/bli_sdgemm_rviv_asm_4vx4.h +@@ -0,0 +1,627 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++ .text ++ .align 2 ++ .global REALNAME ++ ++// void REALNAME(intptr_t k, void* alpha, void* a, void* b, ++// void* beta, void* c, intptr_t rs_c, intptr_t cs_c) ++// ++// register arguments: ++// a0 k ++// a1 alpha ++// a2 a ++// a3 b ++// a4 beta ++// a5 c ++// a6 rs_c ++// a7 cs_c ++// ++ ++#define loop_counter a0 ++ ++#define A00_ptr a2 ++#define A10_ptr t0 ++#define A20_ptr t1 ++#define A30_ptr t2 ++#define A01_ptr s5 ++#define A11_ptr s6 ++#define A21_ptr s7 ++#define A31_ptr t6 ++ ++#define B_row_ptr a3 ++ ++#define C00_ptr a5 ++#define C01_ptr t3 ++#define C02_ptr t4 ++#define C03_ptr t5 ++#define C10_ptr s1 ++#define C11_ptr s2 ++#define C12_ptr s3 ++#define C13_ptr s4 ++ ++#define tmp t6 ++ ++#define ALPHA fa1 ++#define BETA fa2 ++ ++#define B00 fa4 ++#define B01 fa5 ++#define B02 fa6 ++#define B03 fa7 ++ ++#define B10 fa0 ++#define B11 fa1 ++#define B12 fa2 ++#define B13 fa3 ++ ++#define fzero ft8 ++ ++#define A00 v24 ++#define A10 v25 ++#define A20 v26 ++#define A30 v27 ++ ++#define A01 v28 ++#define A11 v29 ++#define A21 v30 ++#define A31 v31 ++ ++#define C00 v16 ++#define C01 v17 ++#define C02 v18 ++#define C03 v19 ++#define C10 v20 ++#define C11 v21 ++#define C12 v22 ++#define C13 v23 ++#define C20 v0 ++#define C21 v1 ++#define C22 v2 ++#define C23 v3 ++#define C30 v4 ++#define C31 v5 ++#define C32 v6 ++#define C33 v7 ++ ++#define AB00 v0 ++#define AB01 v1 ++#define AB02 v2 ++#define AB03 v3 ++#define AB10 v4 ++#define AB11 v5 ++#define AB12 v6 ++#define AB13 v7 ++#define AB20 v8 ++#define AB21 v9 ++#define AB22 v10 ++#define AB23 v11 ++#define AB30 v12 ++#define AB31 v13 ++#define AB32 v14 ++#define AB33 v15 ++ ++#define rs_c a6 ++#define cs_c a7 ++ ++REALNAME: ++ #include "rviv_save_registers.h" ++ ++ vsetvli s0, zero, VTYPE, m1, ta, ma ++ csrr s0, vlenb ++ FZERO(fzero) ++ ++ // Set up pointers ++ add C01_ptr, C00_ptr, cs_c ++ add C02_ptr, C01_ptr, cs_c ++ add C03_ptr, C02_ptr, cs_c ++ add C10_ptr, C00_ptr, rs_c ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ // Zero-initialize accumulators ++ vxor.vv AB00, AB00, AB00 ++ vxor.vv AB01, AB01, AB01 ++ vxor.vv AB02, AB02, AB02 ++ vxor.vv AB03, AB03, AB03 ++ vxor.vv AB10, AB10, AB10 ++ vxor.vv AB11, AB11, AB11 ++ vxor.vv AB12, AB12, AB12 ++ vxor.vv AB13, AB13, AB13 ++ vxor.vv AB20, AB20, AB20 ++ vxor.vv AB21, AB21, AB21 ++ vxor.vv AB22, AB22, AB22 ++ vxor.vv AB23, AB23, AB23 ++ vxor.vv AB30, AB30, AB30 ++ vxor.vv AB31, AB31, AB31 ++ vxor.vv AB32, AB32, AB32 ++ vxor.vv AB33, AB33, AB33 ++ ++ // Handle k == 0 ++ beqz loop_counter, MULTIPLYBETA ++ ++ // Set up pointers to rows of A ++ add A10_ptr, A00_ptr, s0 ++ add A20_ptr, A10_ptr, s0 ++ add A30_ptr, A20_ptr, s0 ++ ++ slli s0, s0, 2 // length of a column of A in bytes ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Preload A and B ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Set up pointers to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++LOOP_UNROLL_4: ++ addi loop_counter, loop_counter, -4 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ // Load A(:,l+1) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ // Point to A(:,l+2) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,1) * B(1,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ // Load B(l+2,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,1) * B(1,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ // Load A(:,l+2) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Point to A(:,l+3) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,1) * B(1,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,1) * B(1,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ // Load A(:,l+3) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ // Point to A(:,l+4) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,2) * B(2,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ // Load B(l+3,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,2) * B(2,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,2) * B(2,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,2) * B(3,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,3) * B(3,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,3) * B(3,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,3) * B(3,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,3) * B(3,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ li tmp, 3 ++ ble loop_counter, tmp, TAIL_UNROLL_2 ++ ++ // Load A and B for the next iteration ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ // Set up pointers to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ j LOOP_UNROLL_4 ++ ++TAIL_UNROLL_2: // loop_counter <= 3 ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++ addi loop_counter, loop_counter, -2 ++ ++ // Load B(l,0:3) ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(0:1,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ ++ // Point to A(:,l+1) ++ add A01_ptr, A00_ptr, s0 ++ add A11_ptr, A10_ptr, s0 ++ add A21_ptr, A20_ptr, s0 ++ add A31_ptr, A30_ptr, s0 ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ // Load A(2:3,l) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ // Load B(l+1,0:3) ++ FLOAD B10, 4*DATASIZE(B_row_ptr) ++ FLOAD B11, 5*DATASIZE(B_row_ptr) ++ FLOAD B12, 6*DATASIZE(B_row_ptr) ++ FLOAD B13, 7*DATASIZE(B_row_ptr) ++ addi B_row_ptr, B_row_ptr, 8*DATASIZE ++ ++ // Load A(:,l+1) ++ VLE A01, (A01_ptr) ++ VLE A11, (A11_ptr) ++ VLE A21, (A21_ptr) ++ VLE A31, (A31_ptr) ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++ // Point to A(:,l+2) ++ add A00_ptr, A01_ptr, s0 ++ add A10_ptr, A11_ptr, s0 ++ add A20_ptr, A21_ptr, s0 ++ add A30_ptr, A31_ptr, s0 ++ ++ vfmacc.vf AB00, B10, A01 // AB(0,:) += A(0,1) * B(1,:) ++ vfmacc.vf AB01, B11, A01 ++ vfmacc.vf AB02, B12, A01 ++ vfmacc.vf AB03, B13, A01 ++ ++ vfmacc.vf AB10, B10, A11 // AB(1,:) += A(1,1) * B(1,:) ++ vfmacc.vf AB11, B11, A11 ++ vfmacc.vf AB12, B12, A11 ++ vfmacc.vf AB13, B13, A11 ++ ++ vfmacc.vf AB20, B10, A21 // AB(2,:) += A(2,1) * B(1,:) ++ vfmacc.vf AB21, B11, A21 ++ vfmacc.vf AB22, B12, A21 ++ vfmacc.vf AB23, B13, A21 ++ ++ vfmacc.vf AB30, B10, A31 // AB(3,:) += A(3,1) * B(1,:) ++ vfmacc.vf AB31, B11, A31 ++ vfmacc.vf AB32, B12, A31 ++ vfmacc.vf AB33, B13, A31 ++ ++ li tmp, 1 ++ ble loop_counter, tmp, TAIL_UNROLL_1 ++ ++TAIL_UNROLL_1: // loop_counter <= 1 ++ beqz loop_counter, MULTIPLYALPHA ++ ++ // Load row of B ++ FLOAD B00, 0*DATASIZE(B_row_ptr) ++ FLOAD B01, 1*DATASIZE(B_row_ptr) ++ FLOAD B02, 2*DATASIZE(B_row_ptr) ++ FLOAD B03, 3*DATASIZE(B_row_ptr) ++ ++ // Load A(:,l) ++ VLE A00, (A00_ptr) ++ VLE A10, (A10_ptr) ++ VLE A20, (A20_ptr) ++ VLE A30, (A30_ptr) ++ ++ vfmacc.vf AB00, B00, A00 // AB(0,:) += A(0,0) * B(0,:) ++ vfmacc.vf AB01, B01, A00 ++ vfmacc.vf AB02, B02, A00 ++ vfmacc.vf AB03, B03, A00 ++ ++ vfmacc.vf AB10, B00, A10 // AB(1,:) += A(1,0) * B(0,:) ++ vfmacc.vf AB11, B01, A10 ++ vfmacc.vf AB12, B02, A10 ++ vfmacc.vf AB13, B03, A10 ++ ++ vfmacc.vf AB20, B00, A20 // AB(2,:) += A(2,0) * B(0,:) ++ vfmacc.vf AB21, B01, A20 ++ vfmacc.vf AB22, B02, A20 ++ vfmacc.vf AB23, B03, A20 ++ ++ vfmacc.vf AB30, B00, A30 // AB(3,:) += A(3,0) * B(0,:) ++ vfmacc.vf AB31, B01, A30 ++ vfmacc.vf AB32, B02, A30 ++ vfmacc.vf AB33, B03, A30 ++ ++MULTIPLYALPHA: ++ FLOAD ALPHA, (a1) ++ ++ // Multiply with alpha ++ vfmul.vf AB00, AB00, ALPHA ++ vfmul.vf AB01, AB01, ALPHA ++ vfmul.vf AB02, AB02, ALPHA ++ vfmul.vf AB03, AB03, ALPHA ++ ++ vfmul.vf AB10, AB10, ALPHA ++ vfmul.vf AB11, AB11, ALPHA ++ vfmul.vf AB12, AB12, ALPHA ++ vfmul.vf AB13, AB13, ALPHA ++ ++ vfmul.vf AB20, AB20, ALPHA ++ vfmul.vf AB21, AB21, ALPHA ++ vfmul.vf AB22, AB22, ALPHA ++ vfmul.vf AB23, AB23, ALPHA ++ ++ vfmul.vf AB30, AB30, ALPHA ++ vfmul.vf AB31, AB31, ALPHA ++ vfmul.vf AB32, AB32, ALPHA ++ vfmul.vf AB33, AB33, ALPHA ++ ++MULTIPLYBETA: ++ FLOAD BETA, (a4) ++ FEQ tmp, BETA, fzero ++ beq tmp, zero, BETANOTZERO ++ ++BETAZERO: ++ VSE AB00, (C00_ptr) ++ VSE AB01, (C01_ptr) ++ VSE AB02, (C02_ptr) ++ VSE AB03, (C03_ptr) ++ ++ add C00_ptr, C10_ptr, rs_c // advance pointers to row 2*VLEN ++ add C01_ptr, C11_ptr, rs_c ++ add C02_ptr, C12_ptr, rs_c ++ add C03_ptr, C13_ptr, rs_c ++ ++ VSE AB10, (C10_ptr) ++ VSE AB11, (C11_ptr) ++ VSE AB12, (C12_ptr) ++ VSE AB13, (C13_ptr) ++ ++ add C10_ptr, C00_ptr, rs_c // advance pointers to row 3*VLEN ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ VSE AB20, (C00_ptr) ++ VSE AB21, (C01_ptr) ++ VSE AB22, (C02_ptr) ++ VSE AB23, (C03_ptr) ++ ++ VSE AB30, (C10_ptr) ++ VSE AB31, (C11_ptr) ++ VSE AB32, (C12_ptr) ++ VSE AB33, (C13_ptr) ++ ++ j END ++ ++BETANOTZERO: ++ VLE C00, (C00_ptr) // Load C(0:VLEN-1, 0:3) ++ VLE C01, (C01_ptr) ++ VLE C02, (C02_ptr) ++ VLE C03, (C03_ptr) ++ ++ vfmacc.vf AB00, BETA, C00 ++ vfmacc.vf AB01, BETA, C01 ++ vfmacc.vf AB02, BETA, C02 ++ vfmacc.vf AB03, BETA, C03 ++ ++ VSE AB00, (C00_ptr) // Store C(0:VLEN-1, 0:3) ++ VSE AB01, (C01_ptr) ++ VSE AB02, (C02_ptr) ++ VSE AB03, (C03_ptr) ++ ++ add C00_ptr, C10_ptr, rs_c // advance pointers to row 2*VLEN ++ add C01_ptr, C11_ptr, rs_c ++ add C02_ptr, C12_ptr, rs_c ++ add C03_ptr, C13_ptr, rs_c ++ ++ VLE C10, (C10_ptr) // Load C(VLEN:2*VLEN-1, 0:3) ++ VLE C11, (C11_ptr) ++ VLE C12, (C12_ptr) ++ VLE C13, (C13_ptr) ++ ++ vfmacc.vf AB10, BETA, C10 ++ vfmacc.vf AB11, BETA, C11 ++ vfmacc.vf AB12, BETA, C12 ++ vfmacc.vf AB13, BETA, C13 ++ ++ VSE AB10, (C10_ptr) // Store C(VLEN:2*VLEN-1, 0:3) ++ VSE AB11, (C11_ptr) ++ VSE AB12, (C12_ptr) ++ VSE AB13, (C13_ptr) ++ ++ add C10_ptr, C00_ptr, rs_c // advance pointers to row 3*VLEN ++ add C11_ptr, C01_ptr, rs_c ++ add C12_ptr, C02_ptr, rs_c ++ add C13_ptr, C03_ptr, rs_c ++ ++ VLE C20, (C00_ptr) // Load C(2*VLEN:3*VLEN-1, 0:3) ++ VLE C21, (C01_ptr) ++ VLE C22, (C02_ptr) ++ VLE C23, (C03_ptr) ++ ++ vfmacc.vf AB20, BETA, C20 ++ vfmacc.vf AB21, BETA, C21 ++ vfmacc.vf AB22, BETA, C22 ++ vfmacc.vf AB23, BETA, C23 ++ ++ VSE AB20, (C00_ptr) // Store C(2*VLEN:3*VLEN-1, 0:3) ++ VSE AB21, (C01_ptr) ++ VSE AB22, (C02_ptr) ++ VSE AB23, (C03_ptr) ++ ++ VLE C30, (C10_ptr) // Load C(3*VLEN:4*VLEN-1, 0:3) ++ VLE C31, (C11_ptr) ++ VLE C32, (C12_ptr) ++ VLE C33, (C13_ptr) ++ ++ vfmacc.vf AB30, BETA, C30 ++ vfmacc.vf AB31, BETA, C31 ++ vfmacc.vf AB32, BETA, C32 ++ vfmacc.vf AB33, BETA, C33 ++ ++ VSE AB30, (C10_ptr) // Store C(3*VLEN:4*VLEN-1, 0:3) ++ VSE AB31, (C11_ptr) ++ VSE AB32, (C12_ptr) ++ VSE AB33, (C13_ptr) ++ ++END: ++ #include "rviv_restore_registers.h" ++ ret +diff --git a/kernels/rviv/3/bli_sgemm_rviv_4vx4.c b/kernels/rviv/3/bli_sgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..c240d0391 +--- /dev/null ++++ b/kernels/rviv/3/bli_sgemm_rviv_4vx4.c +@@ -0,0 +1,80 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_sgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c ++ ); ++ ++void bli_sgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_FLOAT, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( s, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_sgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb(), cs_c * sizeof(float) ); ++ ++ GEMM_UKR_FLUSH_CT( s ); ++} +diff --git a/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..2a917fc8e +--- /dev/null ++++ b/kernels/rviv/3/bli_sgemm_rviv_asm_4vx4.S +@@ -0,0 +1,45 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++#define REALNAME bli_sgemm_rviv_asm_4vx4 ++#define DATASIZE 4 ++#define VTYPE e32 ++#define FLOAD flw ++#define FZERO(fr) fcvt.s.w fr, x0 ++#define FEQ feq.s ++#define VLE vle32.v ++#define VSE vse32.v ++ ++#include "bli_sdgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/bli_zgemm_rviv_4vx4.c b/kernels/rviv/3/bli_zgemm_rviv_4vx4.c +new file mode 100644 +index 000000000..3d9940f9b +--- /dev/null ++++ b/kernels/rviv/3/bli_zgemm_rviv_4vx4.c +@@ -0,0 +1,80 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#include "bli_rviv_utils.h" ++ ++void bli_zgemm_rviv_asm_4vx4 ++ ( ++ intptr_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, intptr_t rs_c, intptr_t cs_c ++ ); ++ ++ ++void bli_zgemm_rviv_4vx4 ++ ( ++ dim_t m, ++ dim_t n, ++ dim_t k, ++ const void* alpha, ++ const void* a, ++ const void* b, ++ const void* beta, ++ void* c, inc_t rs_c, inc_t cs_c, ++ auxinfo_t* data, ++ const cntx_t* cntx ++ ) ++{ ++ // The assembly kernels always take native machine-sized integer arguments. ++ // dim_t and inc_t are normally defined as being machine-sized. If larger, assert. ++ bli_static_assert( sizeof(dim_t) <= sizeof(intptr_t) && ++ sizeof(inc_t) <= sizeof(intptr_t) ); ++ ++ // Extract vector-length dependent mr, nr that are fixed at configure time. ++ const inc_t mr = bli_cntx_get_blksz_def_dt( BLIS_DCOMPLEX, BLIS_MR, cntx ); ++ const inc_t nr = 4; ++ ++ GEMM_UKR_SETUP_CT( z, mr, nr, false ); ++ ++ // The kernel assumes rs_c == 1, and the context should not deviate from it. ++ assert( rs_c == 1 ); ++ ++ bli_zgemm_rviv_asm_4vx4( k, alpha, a, b, beta, c, ++ get_vlenb() * 2, cs_c * sizeof(dcomplex) ); ++ ++ GEMM_UKR_FLUSH_CT( z ); ++} +diff --git a/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S b/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S +new file mode 100644 +index 000000000..ae61a415d +--- /dev/null ++++ b/kernels/rviv/3/bli_zgemm_rviv_asm_4vx4.S +@@ -0,0 +1,44 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++#define REALNAME bli_zgemm_rviv_asm_4vx4 ++#define DATASIZE 16 ++#define VTYPE e64 ++#define FLOAD fld ++#define FZERO(fr) fcvt.d.w fr, x0 ++#define FEQ feq.d ++#define VLE vlseg2e64.v ++#define VSE vsseg2e64.v ++ ++#include "bli_czgemm_rviv_asm_4vx4.h" +diff --git a/kernels/rviv/3/rviv_restore_registers.h b/kernels/rviv/3/rviv_restore_registers.h +new file mode 100644 +index 000000000..bcf7d17c8 +--- /dev/null ++++ b/kernels/rviv/3/rviv_restore_registers.h +@@ -0,0 +1,77 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++ ++// 128-bit RISC-V is assumed to support the __riscv_xlen test macro ++#if __riscv_xlen == 128 // false if !defined(__riscv_xlen) ++ ++ lq s7, 112(sp) ++ lq s6, 96(sp) ++ lq s5, 80(sp) ++ lq s4, 64(sp) ++ lq s3, 48(sp) ++ lq s2, 32(sp) ++ lq s1, 16(sp) ++ lq s0, 0(sp) ++ addi sp, sp, 128 ++ ++// 64-bit RISC-V can be indicated by either __riscv_xlen == 64 or ++// RISCV_SIZE == 64, to support toolchains which do not currently ++// support __riscv_xlen. If a macro is undefined, it is considered 0. ++#elif __riscv_xlen == 64 || RISCV_SIZE == 64 ++ ++ ld s7, 56(sp) ++ ld s6, 48(sp) ++ ld s5, 40(sp) ++ ld s4, 32(sp) ++ ld s3, 24(sp) ++ ld s2, 16(sp) ++ ld s1, 8(sp) ++ ld s0, 0(sp) ++ addi sp, sp, 64 ++ ++#else ++// else 32-bit RISC-V is assumed ++ ++ lw s7, 28(sp) ++ lw s6, 24(sp) ++ lw s5, 20(sp) ++ lw s4, 16(sp) ++ lw s3, 12(sp) ++ lw s2, 8(sp) ++ lw s1, 4(sp) ++ lw s0, 0(sp) ++ addi sp, sp, 32 ++ ++#endif +diff --git a/kernels/rviv/3/rviv_save_registers.h b/kernels/rviv/3/rviv_save_registers.h +new file mode 100644 +index 000000000..537c76ca6 +--- /dev/null ++++ b/kernels/rviv/3/rviv_save_registers.h +@@ -0,0 +1,77 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++// 128-bit RISC-V is assumed to support the __riscv_xlen test macro ++#if __riscv_xlen == 128 // false if !defined(__riscv_xlen) ++ ++ addi sp, sp, -128 ++ sq s7, 112(sp) ++ sq s6, 96(sp) ++ sq s5, 80(sp) ++ sq s4, 64(sp) ++ sq s3, 48(sp) ++ sq s2, 32(sp) ++ sq s1, 16(sp) ++ sq s0, 0(sp) ++ ++// 64-bit RISC-V can be indicated by either __riscv_xlen == 64 or ++// RISCV_SIZE == 64, to support toolchains which do not currently ++// support __riscv_xlen. If a macro is undefined, it is considered 0. ++#elif __riscv_xlen == 64 || RISCV_SIZE == 64 ++ ++ addi sp, sp, -64 ++ sd s7, 56(sp) ++ sd s6, 48(sp) ++ sd s5, 40(sp) ++ sd s4, 32(sp) ++ sd s3, 24(sp) ++ sd s2, 16(sp) ++ sd s1, 8(sp) ++ sd s0, 0(sp) ++ ++#else ++// else 32-bit RISC-V is assumed ++ ++ addi sp, sp, -32 ++ sw s7, 28(sp) ++ sw s6, 24(sp) ++ sw s5, 20(sp) ++ sw s4, 16(sp) ++ sw s3, 12(sp) ++ sw s2, 8(sp) ++ sw s1, 4(sp) ++ sw s0, 0(sp) ++ ++#endif +diff --git a/kernels/rviv/bli_kernels_rviv.h b/kernels/rviv/bli_kernels_rviv.h +new file mode 100644 +index 000000000..82a652396 +--- /dev/null ++++ b/kernels/rviv/bli_kernels_rviv.h +@@ -0,0 +1,38 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++*/ ++ ++GEMM_UKR_PROT( float, s, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( double, d, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( scomplex, c, gemm_rviv_4vx4 ) ++GEMM_UKR_PROT( dcomplex, z, gemm_rviv_4vx4 ) +diff --git a/travis/do_riscv.sh b/travis/do_riscv.sh +new file mode 100755 +index 000000000..a51d33061 +--- /dev/null ++++ b/travis/do_riscv.sh +@@ -0,0 +1,36 @@ ++#!/bin/bash ++ ++set -e ++set -x ++ ++TAG=2023.02.25 ++ ++# The prebuilt toolchains only support hardfloat, so we only ++# test these for now. ++case $1 in ++ "rv32iv") ++ TARBALL=riscv32-glibc-ubuntu-20.04-nightly-${TAG}-nightly.tar.gz ++ ;; ++ "rv64iv") ++ TARBALL=riscv64-glibc-ubuntu-20.04-nightly-${TAG}-nightly.tar.gz ++ ;; ++ *) ++ exit 1 ++ ;; ++esac ++ ++TOOLCHAIN_PATH=$DIST_PATH/../toolchain ++TOOLCHAIN_URL=https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/${TAG}/${TARBALL} ++ ++mkdir -p $TOOLCHAIN_PATH ++cd $TOOLCHAIN_PATH ++ ++wget $TOOLCHAIN_URL ++tar -xf $TARBALL ++ ++# Once CI upgrades to jammy, the next three lines can be removed. ++# The qemu version installed via packages (qemu-user qemu-user-binfmt) ++# is sufficient. ++TARBALL_QEMU=qemu-riscv-2023.02.25-ubuntu-20.04.tar.gz ++wget https://github.com/flame/ci-utils/raw/master/riscv/${TARBALL_QEMU} ++tar -xf $TARBALL_QEMU +diff --git a/frame/base/bli_riscv_cpuid.h b/build/detect/riscv/bli_riscv_cpuid.h +similarity index 100% +rename from frame/base/bli_riscv_cpuid.h +rename to build/detect/riscv/bli_riscv_cpuid.h +diff --git a/build/detect/riscv/bli_riscv_detect_abi.h b/build/detect/riscv/bli_riscv_detect_abi.h +new file mode 100644 +index 000000000..a5a373926 +--- /dev/null ++++ b/build/detect/riscv/bli_riscv_detect_abi.h +@@ -0,0 +1,63 @@ ++/* ++ ++ BLIS ++ An object-based framework for developing high-performance BLAS-like ++ libraries. ++ ++ Copyright (C) 2023, The University of Texas at Austin ++ ++ Redistribution and use in source and binary forms, with or without ++ modification, are permitted provided that the following conditions are ++ met: ++ - Redistributions of source code must retain the above copyright ++ notice, this list of conditions and the following disclaimer. ++ - Redistributions in binary form must reproduce the above copyright ++ notice, this list of conditions and the following disclaimer in the ++ documentation and/or other materials provided with the distribution. ++ - Neither the name(s) of the copyright holder(s) nor the names of its ++ contributors may be used to endorse or promote products derived ++ from this software without specific prior written permission. ++ ++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++ ++*/ ++ ++/* Construct a RISC-V ABI string based on available features. */ ++ ++#if __riscv ++ ++#define CAT2(a,b) a##b ++#define CAT(a,b) CAT2(a,b) ++ ++#if __riscv_xlen == 32 ++#define RISCV_INT_ABI ilp32 ++#else ++#define RISCV_INT_ABI lp64 ++#endif ++ ++#if __riscv_abi_rve ++CAT(RISCV_INT_ABI, e) ++#elif __riscv_float_abi_soft ++RISCV_INT_ABI ++#elif __riscv_float_abi_single ++CAT(RISCV_INT_ABI, f) ++#elif __riscv_float_abi_double ++CAT(RISCV_INT_ABI, d) ++#elif __riscv_float_abi_quad ++CAT(RISCV_INT_ABI, q) ++#else ++#error "Unknown RISC-V ABI" ++#endif ++ ++#endif /* __riscv */ +diff --git a/frame/base/bli_riscv_detect_arch.h b/build/detect/riscv/bli_riscv_detect_arch.h +similarity index 72% +rename from frame/base/bli_riscv_detect_arch.h +rename to build/detect/riscv/bli_riscv_detect_arch.h +index 448b0f39d..55542f508 100644 +--- a/frame/base/bli_riscv_detect_arch.h ++++ b/build/detect/riscv/bli_riscv_detect_arch.h +@@ -75,6 +75,12 @@ + #define RISCV_D + #endif + ++#if __riscv_flen >= 128 ++#define RISCV_Q q ++#else ++#define RISCV_Q ++#endif ++ + #if __riscv_c + #define RISCV_C c + #else +@@ -94,6 +100,47 @@ + #define RISCV_V + #endif + ++/* No test currently for Zicsr, which was removed from the base ISA, ++ but F implies Zicsr */ ++#if __riscv_f ++#define RISCV_ZICSR _zicsr ++#else ++#define RISCV_ZICSR ++#endif ++ ++/* No test currently for Zifencei, which was removed from the base ISA */ ++#define RISCV_ZIFENCEI ++ ++#if __riscv_zba ++#define RISCV_ZBA _zba ++#else ++#define RISCV_ZBA ++#endif ++ ++#if __riscv_zbb ++#define RISCV_ZBB _zbb ++#else ++#define RISCV_ZBB ++#endif ++ ++#if __riscv_zbc ++#define RISCV_ZBC _zbc ++#else ++#define RISCV_ZBC ++#endif ++ ++#if __riscv_zbs ++#define RISCV_ZBS _zbs ++#else ++#define RISCV_ZBS ++#endif ++ ++#if __riscv_zfh ++#define RISCV_ZFH _zfh ++#else ++#define RISCV_ZFH ++#endif ++ + #else /* __riscv_arch_test */ + + /* We assume I and E are exclusive when __riscv_arch_test isn't defined */ +@@ -129,6 +176,12 @@ + #define RISCV_D + #endif + ++#if __riscv_flen >= 128 ++#define RISCV_Q q ++#else ++#define RISCV_Q ++#endif ++ + #if __riscv_compressed + #define RISCV_C c + #else +@@ -144,12 +197,29 @@ + #define RISCV_V + #endif + ++/* No test currently for Zicsr, which was removed from the base ISA, but ++ F implies Zicsr */ ++#if __riscv_flen >= 32 ++#define RISCV_ZICSR _zicsr ++#else ++#define RISCV_ZICSR ++#endif ++ ++#define RISCV_ZIFENCEI ++#define RISCV_ZBA ++#define RISCV_ZBB ++#define RISCV_ZBC ++#define RISCV_ZBS ++#define RISCV_ZFH ++ + #endif /* __riscv_arch_test */ + + #define CAT2(a,b) a##b + #define CAT(a,b) CAT2(a,b) + + CAT(rv, CAT(__riscv_xlen, CAT(RISCV_I, CAT(RISCV_E, CAT(RISCV_M, CAT(RISCV_A, +-CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_C, CAT(RISCV_P, RISCV_V)))))))))) ++CAT(RISCV_F, CAT(RISCV_D, CAT(RISCV_Q, CAT(RISCV_C, CAT(RISCV_P, CAT(RISCV_V, ++CAT(RISCV_ZICSR, CAT(RISCV_ZIFENCEI, CAT(RISCV_ZBA, CAT(RISCV_ZBB, ++CAT(RISCV_ZBC, CAT(RISCV_ZBS, RISCV_ZFH)))))))))))))))))) + + #endif /* __riscv */ +diff --git a/config/rv32i/make_defs.mk b/config/rv32i/make_defs.mk +index 86b7143dd..21128717f 100644 +--- a/config/rv32i/make_defs.mk ++++ b/config/rv32i/make_defs.mk +@@ -46,9 +46,17 @@ THIS_CONFIG := rv32i + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=32 +-# Atomic instructions must be enabled either via hardware +-# (-march=rv32ia) or by linking against libatomic +-CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32 ++ ++RISCV_ARCH := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 32,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 32,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv32iv/make_defs.mk b/config/rv32iv/make_defs.mk +index e8d9cca57..9daaee3d6 100644 +--- a/config/rv32iv/make_defs.mk ++++ b/config/rv32iv/make_defs.mk +@@ -46,9 +46,17 @@ THIS_CONFIG := rv32iv + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=32 +-# Atomic instructions must be enabled either via hardware +-# (-march=rv32iav) or by linking against libatomic +-CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=ilp32d ++ ++RISCV_ARCH := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 32,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 32,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv64i/make_defs.mk b/config/rv64i/make_defs.mk +index bee21ed0d..7c055f012 100644 +--- a/config/rv64i/make_defs.mk ++++ b/config/rv64i/make_defs.mk +@@ -46,7 +46,17 @@ THIS_CONFIG := rv64i + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=64 +-CMISCFLAGS := -march=$(shell $(CC) -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64 ++ ++RISCV_ARCH := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 64,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 64,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/config/rv64iv/make_defs.mk b/config/rv64iv/make_defs.mk +index 1c9849fbe..9ec5a889a 100644 +--- a/config/rv64iv/make_defs.mk ++++ b/config/rv64iv/make_defs.mk +@@ -46,7 +46,17 @@ THIS_CONFIG := rv64iv + # general-purpose/configuration-agnostic flags in common.mk. You + # may specify additional flags here as needed. + CPPROCFLAGS := -DRISCV_SIZE=64 +-CMISCFLAGS := -march=$(shell $(CC) -DFORCE_RISCV_VECTOR -E frame/base/bli_riscv_detect_arch.h | grep '^[^\#]') -mabi=lp64d ++ ++RISCV_ARCH := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_arch.h | grep '^[^\#]') ++RISCV_ABI := $(shell $(CC) -DFORCE_RISCV_VECTOR -E build/detect/riscv/bli_riscv_detect_abi.h | grep '^[^\#]') ++ ++ifeq (,$(findstring 64,$(RISCV_ARCH))) ++$(error The RISC-V compiler architecture $(RISCV_ARCH) is not compatible with $(THIS_CONFIG)) ++else ifeq (,$(findstring 64,$(RISCV_ABI))) ++$(error The RISC-V compiler ABI $(RISCV_ABI) is not compatible with $(THIS_CONFIG)) ++endif ++ ++CMISCFLAGS := -march=$(RISCV_ARCH) -mabi=$(RISCV_ABI) + CPICFLAGS := + CWARNFLAGS := -Wall -Wno-unused-function -Wfatal-errors + +diff --git a/configure b/configure +index 6938d47cd..f87093cad 100755 +--- a/configure ++++ b/configure +@@ -1252,7 +1252,7 @@ auto_detect() + # Special case for RISC-V, whose architecture can be detected with + # preprocessor macros alone. This avoids having to run RISC-V binaries + # on a cross-compiler host. Returns "generic" if RISC-V not detected. +- riscv_config=$(${cmd} -E "${dist_path}/frame/base/bli_riscv_cpuid.h" | ++ riscv_config=$(${cmd} -E "${dist_path}/build/detect/riscv/bli_riscv_cpuid.h" | + grep '^[^#]') + if [[ $riscv_config != *generic* ]]; then + echo "${riscv_config}" diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_blastest-enable-complex-return-intel.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_blastest-enable-complex-return-intel.patch new file mode 100644 index 00000000000..488a5e3f17e --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_blastest-enable-complex-return-intel.patch @@ -0,0 +1,169 @@ +From 9b1beec60be31c6ea20b85806d61551497b699e4 Mon Sep 17 00:00:00 2001 +From: bartoldeman +Date: Mon, 11 Jul 2022 20:15:12 -0400 +Subject: [PATCH] Use BLIS_ENABLE_COMPLEX_RETURN_INTEL in blastest files (#636) + +Details: +- Fixed a crash that occurs when either cblat1 or zblat1 are linked + with a build of BLIS that was compiled with '--complex-return=intel'. + This fix involved inserting preprocessor macro guards based on + BLIS_ENABLE_COMPLEX_RETURN_INTEL into blastest/src/cblat1.c and + blastest/src/zblat1.c to correctly handle situations where BLIS is + compiled with Intel/f2c-style calling conventions for complex numbers. +- Updated blastest/src/fortran/run-f2c.sh so that future executions + will insert the aforementioned cpp macro conditional where + appropriate. +--- + blastest/src/cblat1.c | 32 ++++++++++++++++++++++++++++---- + blastest/src/fortran/run-f2c.sh | 20 +++++++++++--------- + blastest/src/zblat1.c | 32 ++++++++++++++++++++++++++++---- + 3 files changed, 67 insertions(+), 17 deletions(-) + +diff --git a/blastest/src/cblat1.c b/blastest/src/cblat1.c +index daccb2f6c..606511662 100644 +--- a/blastest/src/cblat1.c ++++ b/blastest/src/cblat1.c +@@ -475,11 +475,23 @@ static real c_b52 = 0.f; + integer mx, my; + complex cdot[1]; + integer lenx, leny; +- extern /* Complex */ complex cdotc_(integer *, complex *, integer ++ extern /* Complex */ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ void cdotc_(complex *, ++#else ++complex cdotc_( ++#endif ++ integer *, complex *, integer + *, complex *, integer *); + extern /* Subroutine */ int ccopy_(integer *, complex *, integer *, + complex *, integer *); +- extern /* Complex */ complex cdotu_(integer *, complex *, integer ++ extern /* Complex */ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ void cdotu_(complex *, ++#else ++complex cdotu_( ++#endif ++ integer *, complex *, integer + *, complex *, integer *); + extern /* Subroutine */ int cswap_(integer *, complex *, integer *, + complex *, integer *), ctest_(integer *, complex *, complex *, +@@ -526,14 +538,26 @@ static real c_b52 = 0.f; + } + if (combla_1.icase == 1) { + /* .. CDOTC .. */ +- q__1 = cdotc_(&combla_1.n, cx, &combla_1.incx, cy, & ++ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ cdotc_(&q__1, ++#else ++ q__1 = cdotc_( ++#endif ++ &combla_1.n, cx, &combla_1.incx, cy, & + combla_1.incy); + cdot[0].r = q__1.r, cdot[0].i = q__1.i; + ctest_(&c__1, cdot, &ct6[kn + (ki << 2) - 5], &csize1[kn - 1], + sfac); + } else if (combla_1.icase == 2) { + /* .. CDOTU .. */ +- q__1 = cdotu_(&combla_1.n, cx, &combla_1.incx, cy, & ++ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ cdotu_(&q__1, ++#else ++ q__1 = cdotu_( ++#endif ++ &combla_1.n, cx, &combla_1.incx, cy, & + combla_1.incy); + cdot[0].r = q__1.r, cdot[0].i = q__1.i; + ctest_(&c__1, cdot, &ct7[kn + (ki << 2) - 5], &csize1[kn - 1], +diff --git a/blastest/src/fortran/run-f2c.sh b/blastest/src/fortran/run-f2c.sh +index fdad4fd34..f0df2f5b8 100755 +--- a/blastest/src/fortran/run-f2c.sh ++++ b/blastest/src/fortran/run-f2c.sh +@@ -50,13 +50,15 @@ recursive-sed.sh -c "s/-4.f };/-4.f }};/g" -p "s*1.c" + + # Convert from brain-dead f2c complex calling conventions to normal + # return-based conventions. +-recursive-sed.sh -c "s/void cdotc_(complex \*, /complex cdotc_(/g" -p "c*1.c" +-recursive-sed.sh -c "s/void cdotu_(complex \*, /complex cdotu_(/g" -p "c*1.c" +-recursive-sed.sh -c "s/cdotc_(&q__1, /q__1 = cdotc_(/g" -p "c*1.c" +-recursive-sed.sh -c "s/cdotu_(&q__1, /q__1 = cdotu_(/g" -p "c*1.c" +- +-recursive-sed.sh -c "s/void zdotc_(doublecomplex \*, /doublecomplex zdotc_(/g" -p "z*1.c" +-recursive-sed.sh -c "s/void zdotu_(doublecomplex \*, /doublecomplex zdotu_(/g" -p "z*1.c" +-recursive-sed.sh -c "s/zdotc_(\&z__1, /z__1 = zdotc_(/g" -p "z*1.c" +-recursive-sed.sh -c "s/zdotu_(\&z__1, /z__1 = zdotu_(/g" -p "z*1.c" ++subst1='\n#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL\n&\n#else\n' ++subst2='\n#endif\n' ++recursive-sed.sh -c "s/ void cdotc_(complex \*,/${subst1}complex cdotc_(${subst2}/g" -p "c*1.c" ++recursive-sed.sh -c "s/ void cdotu_(complex \*,/${subst1}complex cdotu_(${subst2}/g" -p "c*1.c" ++recursive-sed.sh -c "s/\(.*\)cdotc_(&q__1,/${subst1}\1q__1 = cdotc_(${subst2}\1/g" -p "c*1.c" ++recursive-sed.sh -c "s/\(.*\)cdotu_(&q__1,/${subst1}\1q__1 = cdotu_(${subst2}\1/g" -p "c*1.c" ++ ++recursive-sed.sh -c "s/ void zdotc_(doublecomplex \*,/${subst1}doublecomplex zdotc_(${subst2}/g" -p "z*1.c" ++recursive-sed.sh -c "s/ void zdotu_(doublecomplex \*,/${subst1}doublecomplex zdotu_(${subst2}/g" -p "z*1.c" ++recursive-sed.sh -c "s/\(.*\)zdotc_(\&z__1,/${subst1}\1z__1 = zdotc_(${subst2}\1/g" -p "z*1.c" ++recursive-sed.sh -c "s/\(.*\)zdotu_(\&z__1,/${subst1}\1z__1 = zdotu_(${subst2}\1/g" -p "z*1.c" + +diff --git a/blastest/src/zblat1.c b/blastest/src/zblat1.c +index c34a57262..b620910be 100644 +--- a/blastest/src/zblat1.c ++++ b/blastest/src/zblat1.c +@@ -459,12 +459,24 @@ static doublereal c_b52 = 0.; + integer lenx, leny; + extern /* Subroutine */ int ctest_(integer *, doublecomplex *, + doublecomplex *, doublecomplex *, doublereal *); +- extern /* Double Complex */ doublecomplex zdotc_(integer *, ++ extern /* Double Complex */ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ void zdotc_(doublecomplex *, ++#else ++doublecomplex zdotc_( ++#endif ++ integer *, + doublecomplex *, integer *, doublecomplex *, integer *); + integer ksize; + extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, + doublecomplex *, integer *); +- extern /* Double Complex */ doublecomplex zdotu_(integer *, ++ extern /* Double Complex */ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ void zdotu_(doublecomplex *, ++#else ++doublecomplex zdotu_( ++#endif ++ integer *, + doublecomplex *, integer *, doublecomplex *, integer *); + extern /* Subroutine */ int zswap_(integer *, doublecomplex *, integer *, + doublecomplex *, integer *), zaxpy_(integer *, doublecomplex *, +@@ -508,14 +520,26 @@ static doublereal c_b52 = 0.; + } + if (combla_1.icase == 1) { + /* .. ZDOTC .. */ +- z__1 = zdotc_(&combla_1.n, cx, &combla_1.incx, cy, & ++ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ zdotc_(&z__1, ++#else ++ z__1 = zdotc_( ++#endif ++ &combla_1.n, cx, &combla_1.incx, cy, & + combla_1.incy); + cdot[0].r = z__1.r, cdot[0].i = z__1.i; + ctest_(&c__1, cdot, &ct6[kn + (ki << 2) - 5], &csize1[kn - 1], + sfac); + } else if (combla_1.icase == 2) { + /* .. ZDOTU .. */ +- z__1 = zdotu_(&combla_1.n, cx, &combla_1.incx, cy, & ++ ++#ifdef BLIS_ENABLE_COMPLEX_RETURN_INTEL ++ zdotu_(&z__1, ++#else ++ z__1 = zdotu_( ++#endif ++ &combla_1.n, cx, &combla_1.incx, cy, & + combla_1.incy); + cdot[0].r = z__1.r, cdot[0].i = z__1.i; + ctest_(&c__1, cdot, &ct7[kn + (ki << 2) - 5], &csize1[kn - 1], diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_disable_power9_kernels.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_disable_power9_kernels.patch new file mode 100644 index 00000000000..98daaa8a02e --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_disable_power9_kernels.patch @@ -0,0 +1,18 @@ +There seemingly are bugs in the Power9 kernels. +Workaround this by using the generic kernels on Power9 introduced by +https://github.com/flame/blis/commit/ee9ff988c49f16696679d4c6cd3dcfcac7295be7 +See https://github.com/flame/blis/issues/621 + +diff --git a/build/detect/config/config_detect.c b/build/detect/config/config_detect.c +index 5e29def..5603163 100644 +--- a/build/detect/config/config_detect.c ++++ b/build/detect/config/config_detect.c +@@ -70,6 +70,8 @@ + int main( int argc, char** argv ) + { + arch_t id = bli_cpuid_query_id(); ++ if(id == BLIS_ARCH_POWER9) ++ id = BLIS_ARCH_GENERIC; + char* s = bli_arch_string( id ); + + printf( "%s\n", s ); diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_enable_ppc_autodetect.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_enable_ppc_autodetect.patch new file mode 100644 index 00000000000..3c6fca9fbec --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_enable_ppc_autodetect.patch @@ -0,0 +1,91 @@ +Add autodetection for POWER7, POWER9 & POWER10 +See https://github.com/amd/blis/pull/6 + +Author: Alexander Grund (TU Dresden) +diff -ur a/frame/base/bli_cpuid.c b/frame/base/bli_cpuid.c +--- a/frame/base/bli_cpuid.c 2022-04-01 15:12:06.000000000 +0200 ++++ b/frame/base/bli_cpuid.c 2022-07-07 16:15:43.724020000 +0200 +@@ -485,7 +485,7 @@ + return TRUE; + } + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + arch_t bli_cpuid_query_id( void ) + { +@@ -530,9 +530,14 @@ + return BLIS_ARCH_GENERIC; + } + } +- else if ( vendor == VENDOR_UNKNOWN ) ++ else if ( vendor == VENDOR_IBM ) + { +- return BLIS_ARCH_GENERIC; ++ if ( model == MODEL_POWER7) ++ return BLIS_ARCH_POWER7; ++ else if ( model == MODEL_POWER9) ++ return BLIS_ARCH_POWER9; ++ else if ( model == MODEL_POWER10) ++ return BLIS_ARCH_POWER10; + } + + return BLIS_ARCH_GENERIC; +@@ -1203,7 +1208,7 @@ + return VENDOR_ARM; + } + +-#elif defined(__arm__) || defined(_M_ARM) ++#elif defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + /* + I can't easily find documentation to do this as for aarch64, though +@@ -1240,6 +1245,20 @@ + char feat_str[ TEMP_BUFFER_SIZE ]; + char* r_val; + ++#ifdef _ARCH_PPC ++ r_val = find_string_in( "cpu", proc_str, TEMP_BUFFER_SIZE, pci_str ); ++ if ( r_val == NULL ) return VENDOR_IBM; ++ ++ if ( strstr( proc_str, "POWER7" ) != NULL ) ++ *model = MODEL_POWER7; ++ else if ( strstr( proc_str, "POWER9" ) != NULL ) ++ *model = MODEL_POWER9; ++ else if ( strstr( proc_str, "POWER10" ) != NULL ) ++ *model = MODEL_POWER10; ++ ++ return VENDOR_IBM; ++#endif ++ + //printf( "bli_cpuid_query(): beginning search\n" ); + + // Search /proc/cpuinfo for the 'Processor' entry. +diff -ur a/frame/base/bli_cpuid.h b/frame/base/bli_cpuid.h +--- a/frame/base/bli_cpuid.h 2022-04-01 15:12:06.000000000 +0200 ++++ b/frame/base/bli_cpuid.h 2022-07-07 16:09:22.617023000 +0200 +@@ -161,19 +161,23 @@ + FEATURE_AVX512VL = 0x4000 + }; + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + char* find_string_in( char* target, char* buffer, size_t buf_len, char* filepath ); + + enum + { + VENDOR_ARM = 0, ++ VENDOR_IBM, + VENDOR_UNKNOWN + }; + enum + { + MODEL_ARMV7 = 0, + MODEL_ARMV8, ++ MODEL_POWER7, ++ MODEL_POWER9, ++ MODEL_POWER10, + MODEL_UNKNOWN + }; + enum diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_ifx-complex-return-intel.patch b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_ifx-complex-return-intel.patch new file mode 100644 index 00000000000..334b576ee35 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-0.9.0_ifx-complex-return-intel.patch @@ -0,0 +1,38 @@ +From 98d467891b74021ace7f248cb0856bec734e39b6 Mon Sep 17 00:00:00 2001 +From: bartoldeman +Date: Mon, 11 Jul 2022 19:40:53 -0400 +Subject: [PATCH] Change complex_return='intel' for ifx. (#637) + +Details: +- When checking the version string of the Fortran compiler for the + purposes of determining a default return convention for complex + domain values, grep for "IFORT" instead of "ifort" since that string + is common to both the 'ifx' and 'ifort' binaries provided by Intel: + + $ ifx --version + ifx (IFORT) 2022.1.0 20220316 + Copyright (C) 1985-2022 Intel Corporation. All rights reserved. + + $ ifort --version + ifort (IFORT) 2021.6.0 20220226 + Copyright (C) 1985-2022 Intel Corporation. All rights reserved. +--- + configure | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 5ff877317..a6018edab 100755 +--- a/configure ++++ b/configure +@@ -3688,9 +3688,9 @@ main() + # Query the compiler "vendor" (ie: the compiler's simple name). + # The last part ({ read first rest ; echo $first ; }) is a workaround + # to OS X's egrep only returning the first match. +- fc_vendor=$(echo "${vendor_string}" | egrep -o 'ifort|GNU' | { read first rest ; echo $first ; }) ++ fc_vendor=$(echo "${vendor_string}" | egrep -o 'IFORT|GNU' | { read first rest ; echo $first ; }) + +- if [ "x${fc_vendor}" = "xifort" ]; then ++ if [ "x${fc_vendor}" = "xIFORT" ]; then + complex_return='intel' + elif [ "x${fc_vendor}" = "xGNU" ]; then + complex_return='gnu' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..4ebb0543a39 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '1.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9c12972aa1e50f64ca61684eba6828f2f3dd509384b1e41a1e8a9aedea4b16a6'] + +builddependencies = [ + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..18d8ec6c887 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-1.0-GCC-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '1.0' + +homepage = 'https://github.com/flame/blis/' +description = """BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/flame/blis/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9c12972aa1e50f64ca61684eba6828f2f3dd509384b1e41a1e8a9aedea4b16a6'] + +builddependencies = [ + ('Python', '3.12.3'), + ('Perl', '5.38.2'), +] + +configopts = '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-2.2-GCCcore-9.3.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-2.2-GCCcore-9.3.0-amd.eb index 6b363ab7815..8018fce99b4 100644 --- a/easybuild/easyconfigs/b/BLIS/BLIS-2.2-GCCcore-9.3.0-amd.eb +++ b/easybuild/easyconfigs/b/BLIS/BLIS-2.2-GCCcore-9.3.0-amd.eb @@ -12,11 +12,16 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} source_urls = ['https://github.com/amd/blis/archive/'] sources = ['%(version)s.tar.gz'] -patches = ['BLIS-2.2-amd_fix-undefined-reference-blist-abort.patch'] +patches = [ + '%(name)s-%(version)s-amd_fix-undefined-reference-blist-abort.patch', + '%(name)s-%(version)s_enable-ppc-autodetect.patch', +] checksums = [ 'e1feb60ac919cf6d233c43c424f6a8a11eab2c62c2c6e3f2652c15ee9063c0c9', # 2.2.tar.gz # BLIS-2.2-amd_fix-undefined-reference-blist-abort.patch 'e879bd79e4438f7e6905461af1d483d27d14945eb9e75509b22c7584b8ba93c4', + # BLIS-2.2_enable-ppc-autodetect.patch + '9abf334d0abb6cfdd18bec21c27d114b78a7d97be45883626a547eceea046ccd', ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-2.2_enable-ppc-autodetect.patch b/easybuild/easyconfigs/b/BLIS/BLIS-2.2_enable-ppc-autodetect.patch new file mode 100644 index 00000000000..e20eb44fa00 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-2.2_enable-ppc-autodetect.patch @@ -0,0 +1,91 @@ +Add autodetection for POWER7 & POWER9 +See https://github.com/amd/blis/pull/6 + +Author: Alexander Grund (TU Dresden) +diff --git a/frame/base/bli_cpuid.c b/frame/base/bli_cpuid.c +index 5858c88a..72ca4479 100644 +--- a/frame/base/bli_cpuid.c ++++ b/frame/base/bli_cpuid.c +@@ -428,7 +428,7 @@ bool_t bli_cpuid_is_bulldozer + return TRUE; + } + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + arch_t bli_cpuid_query_id( void ) + { +@@ -483,9 +483,12 @@ arch_t bli_cpuid_query_id( void ) + return BLIS_ARCH_GENERIC; + } + } +- else if ( vendor == VENDOR_UNKNOWN ) ++ else if ( vendor == VENDOR_IBM ) + { +- return BLIS_ARCH_GENERIC; ++ if ( model == MODEL_POWER7) ++ return BLIS_ARCH_POWER7; ++ else if ( model == MODEL_POWER9) ++ return BLIS_ARCH_POWER9; + } + + return BLIS_ARCH_GENERIC; +@@ -984,7 +987,7 @@ int vpu_count( void ) + } + } + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + #define TEMP_BUFFER_SIZE 200 + +@@ -1006,6 +1009,20 @@ uint32_t bli_cpuid_query + char feat_str[ TEMP_BUFFER_SIZE ]; + char* r_val; + ++#ifdef _ARCH_PPC ++ r_val = find_string_in( "cpu", proc_str, TEMP_BUFFER_SIZE, pci_str ); ++ if ( r_val == NULL ) return VENDOR_IBM; ++ ++ if ( strstr( proc_str, "POWER7" ) != NULL ) ++ *model = MODEL_POWER7; ++ else if ( strstr( proc_str, "POWER9" ) != NULL ) ++ *model = MODEL_POWER9; ++ else if ( strstr( proc_str, "POWER10" ) != NULL ) ++ *model = MODEL_POWER10; ++ ++ return VENDOR_IBM; ++#endif ++ + //printf( "bli_cpuid_query(): beginning search\n" ); + + // Search /proc/cpuinfo for the 'Processor' entry. +diff --git a/frame/base/bli_cpuid.h b/frame/base/bli_cpuid.h +index 9edaf47a..eca76794 100644 +--- a/frame/base/bli_cpuid.h ++++ b/frame/base/bli_cpuid.h +@@ -158,19 +158,23 @@ enum + FEATURE_AVX512VL = 0x4000 + }; + +-#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) ++#elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_ARCH_PPC) + + char* find_string_in( char* target, char* buffer, size_t buf_len, char* filepath ); + + enum + { + VENDOR_ARM = 0, ++ VENDOR_IBM, + VENDOR_UNKNOWN + }; + enum + { + MODEL_ARMV7 = 0, + MODEL_ARMV8, ++ MODEL_POWER7, ++ MODEL_POWER9, ++ MODEL_POWER10, + MODEL_UNKNOWN + }; + enum diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.0-GCCcore-10.3.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.0-GCCcore-10.3.0-amd.eb index 0143981fdeb..3e9b98dbcad 100644 --- a/easybuild/easyconfigs/b/BLIS/BLIS-3.0-GCCcore-10.3.0-amd.eb +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.0-GCCcore-10.3.0-amd.eb @@ -15,8 +15,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://github.com/amd/blis/archive/'] sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', + '%(name)s-2.2_enable-ppc-autodetect.patch', +] checksums = [ 'ac848c040cd6c3550fe49148dbdf109216cad72d3235763ee7ee8134e1528517', # 3.0.tar.gz + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', + # BLIS-2.2_enable-ppc-autodetect.patch + '9abf334d0abb6cfdd18bec21c27d114b78a7d97be45883626a547eceea046ccd', ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCC-11.2.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCC-11.2.0-amd.eb new file mode 100644 index 00000000000..0208b0c8be8 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCC-11.2.0-amd.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.0.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_enable_ppc_autodetect.patch', + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + 'dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e', # 3.0.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.2.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.2.0-amd.eb new file mode 100644 index 00000000000..4e65c629936 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.2.0-amd.eb @@ -0,0 +1,51 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.0.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_enable_ppc_autodetect.patch', + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + 'dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e', # 3.0.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('binutils', '2.35'), + ('Python', '3.8.6'), + ('Perl', '5.32.0'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.3.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.3.0-amd.eb new file mode 100644 index 00000000000..6705b1177a2 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.0.1-GCCcore-10.3.0-amd.eb @@ -0,0 +1,51 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.0.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_enable_ppc_autodetect.patch', + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + 'dff643e6ef946846e91e8f81b75ff8fe21f1f2d227599aecd654d184d9beff3e', # 3.0.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Python', '3.9.5'), + ('Perl', '5.32.1'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb b/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb new file mode 100644 index 00000000000..36484cda2e5 --- /dev/null +++ b/easybuild/easyconfigs/b/BLIS/BLIS-3.1-GCCcore-11.2.0-amd.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'BLIS' +version = '3.1' +versionsuffix = '-amd' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/' +description = """AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance +BLAS-like dense linear algebra libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/amd/blis/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.8.1_enable_ppc_autodetect.patch', + '%(name)s-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch', +] +checksums = [ + '2891948925b9db99eec02a1917d9887a7bee9ad2afc5421c9ba58602a620f2bf', # 3.1.tar.gz + # BLIS-0.8.1_enable_ppc_autodetect.patch + 'b8a3d564a8d4f205e70241765ddfd28331c3c12355ef9c44172c9a0cab9f0111', + # BLIS-0.8.1_fix_dgemm-fpe-signalling-on-broadwell.patch + '345fa39933e9d1442d2eb1e4ed9129df3fe4aefecf4d104e5d4f25b3bca24d0d', +] +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +# Build Serial and multithreaded library +configopts = ['--enable-cblas --enable-shared CC="$CC" auto', + '--enable-cblas --enable-threading=openmp --enable-shared CC="$CC" auto'] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/blis/cblas.h', 'include/blis/blis.h', + 'lib/libblis.a', 'lib/libblis.%s' % SHLIB_EXT, + 'lib/libblis-mt.a', 'lib/libblis-mt.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'CPATH': 'include/blis'} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/BLT/BLT-20181223-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/BLT/BLT-20181223-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..19c368807ef --- /dev/null +++ b/easybuild/easyconfigs/b/BLT/BLT-20181223-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'ConfigureMake' + +name = 'BLT' +version = '20181223' +_commit = 'b8cdc6c2cd8edba06ad53a5d56e961d35b07af28' + +homepage = 'http://blt.sourceforge.net/' +description = """BLT is an extension to the Tk toolkit, adding new widgets, + geometry managers, and miscellaneous commands.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://sourceforge.net/code-snapshots/git/b/bl/blt/src.git'] +sources = ['blt-src-%s.zip' % _commit] +checksums = ['2c3e24dd985c187d3c76d37444580e1fd540116be6371ccd3fceda92a8d6cfd0'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Tcl', '8.6.11'), + ('Tk', '8.6.11'), + ('libjpeg-turbo', '2.0.6'), + ('X11', '20210802'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('freetype', '2.11.0'), + ('expat', '2.4.1'), + ('SQLite', '3.36'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-tcl=$EBROOTTCL --with-tk=$EBROOTTK --enable-shared' + +_sover = '30' +_bins = ['bin/blt%s%s' % (x, _sover) for x in ['sh', 'wish']] +_libs = ['lib/libBlt%s%s.%s' % (x, _sover, SHLIB_EXT) for x in ['', 'Tcl', 'Tk']] + +sanity_check_paths = { + 'files': _bins + _libs, + 'dirs': ['include'], +} + +modextrapaths = {'TCLLIBPATH': 'lib'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/BMTK/BMTK-1.0.8-foss-2021a.eb b/easybuild/easyconfigs/b/BMTK/BMTK-1.0.8-foss-2021a.eb new file mode 100644 index 00000000000..6d46f47d72b --- /dev/null +++ b/easybuild/easyconfigs/b/BMTK/BMTK-1.0.8-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'BMTK' +version = '1.0.8' + +homepage = 'https://alleninstitute.github.io/bmtk/index.html' +description = """The Brain Modeling Toolkit (BMTK) is a python-based software +package for building, simulating and analyzing large-scale neural network +models. It supports the building and simulation of models of varying +levels-of-resolution; from multi-compartment biophysically detailed networks, +to point-neuron models, to filter-based models, and even population-level +firing rate models.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('sympy', '1.8'), + ('scikit-image', '0.18.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bmtk', version, { + 'checksums': ['9609da6347e74b440a44590f22fc2de0b281fc2eed4c1ee259730c5a8b3c0535'], + }), + ('pynrrd', '1.0.0', { + 'modulename': 'nrrd', + 'checksums': ['4eb4caba03fbca1b832114515e748336cb67bce70c7f3ae36bfa2e135fc990d2'], + }), + ('nptyping', '2.0.0', { + 'source_urls': ['https://github.com/ramonhagenaars/nptyping/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['2c99b0cde2f548ebae71b0856e3eb51e61b79935b2d0e07af9717fcb685f6616'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BOPTEST/BOPTEST-0.3.0.eb b/easybuild/easyconfigs/b/BOPTEST/BOPTEST-0.3.0.eb new file mode 100644 index 00000000000..ef0ca5bd1a8 --- /dev/null +++ b/easybuild/easyconfigs/b/BOPTEST/BOPTEST-0.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'BOPTEST' +version = '0.3.0' + +homepage = 'https://ibpsa.github.io/project1-boptest/' +description = """ +This repository contains code for the Building Optimization Performance Test +framework (BOPTEST) that is being developed as part of the IBPSA Project 1.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/ibpsa/project1-boptest/archive/'] +sources = [ + {'filename': 'v%(version)s.tar.gz', 'extract_cmd': "tar -xzf %s --strip-components=1"}, +] +checksums = ['0059769dcfbb512fcf69c6c65df413ba22e4159526650c1b54c8bc2ed7fa77c1'] + +buildininstalldir = True +skipsteps = ['install'] + +sanity_check_paths = { + 'files': ['restapi.py', 'testcase.py'], + 'dirs': ['data', 'docs', 'examples', 'forecast', 'kpis', 'parsing', 'testcases', 'testing'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.2-intel-2019a.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.2-intel-2019a.eb index 6b33d7c53c6..9f70e27003e 100644 --- a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.2-intel-2019a.eb +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.2-intel-2019a.eb @@ -19,7 +19,7 @@ dependencies = [ ('GeneMark-ET', '4.38'), ('BamTools', '2.5.1'), ('SAMtools', '1.9'), - ('GenomeThreader', '1.7.1', '-Linux_x86_64-64bit', True), + ('GenomeThreader', '1.7.1', '-Linux_x86_64-64bit', SYSTEM), ('spaln', '2.3.3c'), ('Exonerate', '2.4.0'), ('BLAST+', '2.9.0'), diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.5-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.5-intel-2019b-Python-3.7.4.eb index e356a0da97b..33487e8713e 100644 --- a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.5-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.5-intel-2019b-Python-3.7.4.eb @@ -20,7 +20,7 @@ dependencies = [ ('GeneMark-ET', '4.57'), ('BamTools', '2.5.1'), ('SAMtools', '1.10'), - ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', True), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), ('spaln', '2.4.03'), ('Exonerate', '2.4.0'), ('BLAST+', '2.9.0'), diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb new file mode 100644 index 00000000000..a1aa7296bbc --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2021b.eb @@ -0,0 +1,41 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'BRAKER' +version = '2.1.6' + +homepage = 'https://github.com/Gaius-Augustus/BRAKER' +description = """BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET + and AUGUSTUS in novel eukaryotic genomes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Gaius-Augustus/BRAKER/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06'] + +dependencies = [ + ('Perl', '5.34.0'), + ('AUGUSTUS', '3.4.0'), + ('GeneMark-ET', '4.71'), + ('BamTools', '2.5.2'), + ('SAMtools', '1.14'), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), + ('spaln', '2.4.12'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.12.0'), + ('Biopython', '1.79'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] + +sanity_check_paths = { + 'files': ['scripts/align2hints.pl', 'scripts/braker.pl', 'scripts/findGenesInIntrons.pl', 'scripts/startAlign.pl'], + 'dirs': ['docs', 'example'], +} + +sanity_check_commands = ["braker.pl --help"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb new file mode 100644 index 00000000000..f6a9bc03101 --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6-foss-2022a.eb @@ -0,0 +1,47 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'BRAKER' +version = '2.1.6' + +homepage = 'https://github.com/Gaius-Augustus/BRAKER' +description = """BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET + and AUGUSTUS in novel eukaryotic genomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Gaius-Augustus/BRAKER/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['BRAKER-%(version)s_fix-incorrect-ids.patch'] +checksums = [ + {'v2.1.6.tar.gz': 'eef3c4037364472988a010322cbd79b5171158f9c016f4383809adade4866c06'}, + {'BRAKER-2.1.6_fix-incorrect-ids.patch': '2b219de070d109637a2660a456a1f9ced48c58197385e3b3924ae90c84b41d41'}, +] + +dependencies = [ + ('Perl', '5.34.1'), + ('AUGUSTUS', '3.5.0'), + ('GeneMark-ET', '4.71'), + ('BamTools', '2.5.2'), + ('SAMtools', '1.16.1'), + ('GenomeThreader', '1.7.3', '-Linux_x86_64-64bit', SYSTEM), + ('spaln', '2.4.13f'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.13.0'), + ('Biopython', '1.79'), + ('DIAMOND', '2.1.0'), + ('CDBtools', '0.99'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] + +sanity_check_paths = { + 'files': ['scripts/align2hints.pl', 'scripts/braker.pl', 'scripts/findGenesInIntrons.pl', 'scripts/startAlign.pl'], + 'dirs': ['docs', 'example'], +} + +sanity_check_commands = ["braker.pl --help"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch new file mode 100644 index 00000000000..3c9df7a402d --- /dev/null +++ b/easybuild/easyconfigs/b/BRAKER/BRAKER-2.1.6_fix-incorrect-ids.patch @@ -0,0 +1,44 @@ +From f38630c1cad3e11b525f84d517c7949cb4c2d7eb Mon Sep 17 00:00:00 2001 +From: Katharina Hoff +Date: Mon, 19 Apr 2021 16:34:57 +0200 +Subject: [PATCH] fixing part of the issue + https://github.com/Gaius-Augustus/BRAKER/issues/354 where gene and transcript + line have incorrect ids + +--- + scripts/merge_transcript_sets.pl | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/scripts/merge_transcript_sets.pl b/scripts/merge_transcript_sets.pl +index 04f6c3e..5cfd6c0 100755 +--- a/scripts/merge_transcript_sets.pl ++++ b/scripts/merge_transcript_sets.pl +@@ -83,14 +83,15 @@ + my $txid; + if($line =~ m/transcript_id/){ + $line =~ m/transcript_id "([^"]+)";/; ++ + $txid = $1; + push(@{$txid_to_elements{$txid}}, $line); + foreach(@store_for_txid){ +- push(@{$txid_to_elements{$txid}}, $_) ++ push(@{$txid_to_elements{$txid}}, $_); + } + @store_for_txid = (); + }else{ +- $line =~ s/\t([\t]+)$/\tfile_${file_counter}_$1/; ++ $line =~ s/\t([^\t]+)$/\tfile_${file_counter}_$1/; + push(@store_for_txid, $line); + } + # currently, UTR features are ignored +@@ -111,9 +112,8 @@ + # always keep the first occuring transcript structure, only add from other gene sets if it has not been in the set, yet + # this might discard alternative UTR splicing isoforms at present + while (my ($key, $value) = each (%txid_to_struct_local)){ +- #print "key is $key and value is $value\n"; ++ print "key is $key and value is $value\n"; + if(not(defined($uniq_struct_to_txid{$value}))){ +- #print "adding transcript\n"; + $uniq_struct_to_txid{$value} = $key; + } + } diff --git a/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-11.3.0.eb new file mode 100644 index 00000000000..fa9577e86b6 --- /dev/null +++ b/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'BRiAl' +version = '1.2.12' + +homepage = 'https://github.com/BRiAl/BRiAl' +description = """BRiAl is the legacy version of PolyBoRi maintained by sagemath developers.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/BRiAl/BRiAl/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ca009e3722dd3f0a60d15501caed1413146c80abced57423e32ae0116f407494'] + +dependencies = [ + ('Boost', '1.79.0'), + ('CUDD', '3.0.0'), + ('Python', '3.10.4'), + ('m4ri', '20200125'), +] + +configopts = "--with-boost=$EBROOTBOOST " + +sanity_check_paths = { + 'files': ['include/polybori.h'] + + ['lib/libbrial.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-13.2.0.eb b/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-13.2.0.eb new file mode 100644 index 00000000000..50bbeea16ee --- /dev/null +++ b/easybuild/easyconfigs/b/BRiAl/BRiAl-1.2.12-GCC-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'BRiAl' +version = '1.2.12' + +homepage = 'https://github.com/BRiAl/BRiAl' +description = """BRiAl is the legacy version of PolyBoRi maintained by sagemath developers.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/BRiAl/BRiAl/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ca009e3722dd3f0a60d15501caed1413146c80abced57423e32ae0116f407494'] + +dependencies = [ + ('Boost', '1.83.0'), + ('m4ri', '20200125'), + ('CUDD', '3.0.0'), +] + +configopts = "--with-boost=$EBROOTBOOST " + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/polybori.h'] + + ['lib/libbrial.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/BUFRLIB/BUFRLIB-11.3.0.2-iccifort-2020.1.217.eb b/easybuild/easyconfigs/b/BUFRLIB/BUFRLIB-11.3.0.2-iccifort-2020.1.217.eb index cca75a1aa04..1b1e6ebdcf1 100644 --- a/easybuild/easyconfigs/b/BUFRLIB/BUFRLIB-11.3.0.2-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/b/BUFRLIB/BUFRLIB-11.3.0.2-iccifort-2020.1.217.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['1023eb590e2112d5bc213c568a212390fc65ff98732ac8d2ccdda5062e6bc8c6'] builddependencies = [('CMake', '3.16.4')] -configopts = " -DBUILD_STATIC_LIBS=1 -DBUILD_SHARED_LIBS=1 -DCMAKE_BUILD_TYPE=Release " +configopts = '-DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=ON' sanity_check_paths = { 'files': ['lib/libbufr.a', 'lib/libbufr.so'], diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb new file mode 100644 index 00000000000..48d0a53aeb8 --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-4.0.6-foss-2020b.eb @@ -0,0 +1,54 @@ +# Updated by: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '4.0.6' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['bad1c1cb52950d991eb771eb9f3a78cf0bebb861e3b806320ee8cbe4cfbd75ea'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for pandas + ('R', '4.0.3'), + ('Biopython', '1.78'), + ('BLAST+', '2.11.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.4.0'), + ('SEPP', '4.4.0'), + ('MetaEuk', '4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.2-foss-2021a.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.2-foss-2021a.eb new file mode 100644 index 00000000000..1360e985e3c --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.2-foss-2021a.eb @@ -0,0 +1,56 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '5.4.2' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6fa268097c7fc570f013abd41186e4616a94da4f72ccb006aabe5fd917cb521f'] # busco-5.4.2.tar.bz2 + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for pandas + ('R', '4.1.0'), # for R and ggplot2 + ('Biopython', '1.79'), + ('BLAST+', '2.11.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.4.0'), + ('SEPP', '4.5.0'), + ('MetaEuk', '5'), + ('BBMap', '38.96'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.3-foss-2021b.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.3-foss-2021b.eb new file mode 100644 index 00000000000..9cd3dc82c01 --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.3-foss-2021b.eb @@ -0,0 +1,56 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '5.4.3' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['1d2c1a3ff4a847773f2b245b9b91c24ac6cd837b097ea467be07f5a37e460dd1'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for pandas + ('R', '4.1.2'), # for R and ggplot2 + ('Biopython', '1.79'), + ('BLAST+', '2.12.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.4.0'), + ('SEPP', '4.5.1'), + ('MetaEuk', '6'), + ('BBMap', '38.98'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb new file mode 100644 index 00000000000..bc57db4e6b6 --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.5-foss-2022a.eb @@ -0,0 +1,56 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '5.4.5' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3a852d3cb0ad4132af226279d1712b327a6638697fdf31df66cd6c8dda2417f7'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for pandas + ('R', '4.2.1'), # for R and ggplot2 + ('Biopython', '1.79'), + ('BLAST+', '2.13.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.5.0'), + ('SEPP', '4.5.1'), + ('MetaEuk', '6'), + ('BBMap', '39.01'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --cpu %(parallel)s --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --cpu %(parallel)s --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.7-foss-2022b.eb b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.7-foss-2022b.eb new file mode 100644 index 00000000000..6d290ed51d9 --- /dev/null +++ b/easybuild/easyconfigs/b/BUSCO/BUSCO-5.4.7-foss-2022b.eb @@ -0,0 +1,56 @@ +# Updated by: Pavel Grochal (INUITS) +# Updated by: Sebastien Moretti (SIB) + +easyblock = 'PythonPackage' + +name = 'BUSCO' +version = '5.4.7' + +homepage = 'https://busco.ezlab.org/' +description = "BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://gitlab.com/ezlab/%(namelower)s/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6725dde07e5db0a3a785842c664ee2aa1af7e02850e487daab478145d09f603a'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for pandas + ('R', '4.2.2'), # for R and ggplot2 + ('Biopython', '1.81'), + ('BLAST+', '2.14.0'), + ('HMMER', '3.3.2'), + ('prodigal', '2.6.3'), + ('AUGUSTUS', '3.5.0'), + ('SEPP', '4.5.1'), + ('MetaEuk', '6'), + ('BBMap', '39.01'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin %(installdir)s/doc', + 'cp %(builddir)s/%(namelower)s-%(version)s/scripts/* %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/LICENSE %(installdir)s/doc', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/test_data %(installdir)s', + 'cp -r %(builddir)s/%(namelower)s-%(version)s/config %(installdir)s', +] + +sanity_check_paths = { + 'files': ['bin/busco', 'bin/generate_plot.py'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages/busco'] +} + +sanity_check_commands = [ + "busco --help", + "busco -i %(installdir)s/test_data/bacteria/genome.fna --cpu %(parallel)s --mode geno --out test_bacteria.out", + "busco -i %(installdir)s/test_data/eukaryota/genome.fna --cpu %(parallel)s --mode geno --out test_eukaryota.out", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BUStools/BUStools-0.43.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/BUStools/BUStools-0.43.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a363e9c1366 --- /dev/null +++ b/easybuild/easyconfigs/b/BUStools/BUStools-0.43.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'BUStools' +version = '0.43.1' + +homepage = 'https://github.com/BUStools/bustools' +description = """bustools is a program for manipulating BUS files for single cell RNA-Seq datasets. + It can be used to error correct barcodes, collapse UMIs, produce gene count or transcript compatibility + count matrices, and is useful for many other tasks. See the kallisto | bustools website for examples + and instructions on how to use bustools as part of a single-cell RNA-seq workflow.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'BUStools' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ac94a33ca459de81c5756825a7a7f8daeae357fc6bf0ef88d4900e77b70f2b90'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('binutils', '2.38'), + ('zlib', '1.2.12'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/bustools'], + 'dirs': [], +} + +sanity_check_commands = ["bustools version"] + +moduleclass = 'bio' 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-GCC-10.2.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.2.0.eb index 48f02d30376..b6825ba6a83 100644 --- a/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.2.0.eb @@ -34,6 +34,7 @@ dependencies = [ ('zlib', '1.2.11'), ] -prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +# Allow use of x86 intrinsics on PPC +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon -DNO_WARN_X86_INTRINSICS" && ' moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.3.0.eb new file mode 100644 index 00000000000..9a6bba9d331 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +## +# 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, Big Data Institute, University of Oxford +# +# 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': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd'] + +dependencies = [ + ('Perl', '5.32.1'), + ('zlib', '1.2.11'), +] + +# 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-11.2.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e9730661d4c --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.2.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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Perl', '5.34.0'), + ('zlib', '1.2.11'), +] + +# 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-11.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..498ebbb605e --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-11.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': '11.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.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('zlib', '1.2.12'), +] + +# 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.2.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ec08bbe74b1 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.17-GCCcore-12.2.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.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/lh3/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['980b9591b61c60042c4a39b9e31ccaad8d17ff179d44d347997825da3fdf47fd'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Perl', '5.36.0'), + ('zlib', '1.2.12'), +] + +# 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/BWA/BWA-0.7.18-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a5599e37642 --- /dev/null +++ b/easybuild/easyconfigs/b/BWA/BWA-0.7.18-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +## +# 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 +# +# 0.7.18 +# Erica Bianco (HPCNow!) +## + +name = 'BWA' +version = '0.7.18' + +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 = ['194788087f7b9a77c0114aa481b2ef21439f6abab72488c83917302e8d0e7870'] + +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/BabelStream/BabelStream-3.4-GCC-11.2.0-omp.eb b/easybuild/easyconfigs/b/BabelStream/BabelStream-3.4-GCC-11.2.0-omp.eb new file mode 100644 index 00000000000..0690c7bf3a7 --- /dev/null +++ b/easybuild/easyconfigs/b/BabelStream/BabelStream-3.4-GCC-11.2.0-omp.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'BabelStream' +version = '3.4' +versionsuffix = '-omp' + +homepage = 'https://uob-hpc.github.io/BabelStream' +description = "STREAM, for lots of devices written in many programming models" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/UoB-HPC/BabelStream/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e34ee9d5ccdead019e3ea478333bcb7886117d600e5da8579a626f6ee34209cf'] + +buildopts = '-f OpenMP.make COMPILER=GNU TARGET=CPU CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['omp-stream'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/omp-stream'], + 'dirs': [], +} + +sanity_check_commands = ["omp-stream"] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb new file mode 100644 index 00000000000..20b55c3aed9 --- /dev/null +++ b/easybuild/easyconfigs/b/Bader/Bader-1.04-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'Bader' +version = '1.04' + +homepage = 'https://theory.cm.utexas.edu/henkelman/code/bader/' +description = "Bader Charge Analysis" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://theory.cm.utexas.edu/henkelman/code/bader/download/v%(version)s'] +sources = [{'download_filename': 'bader.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f20a0a021157d911bea06666911763b737c4ff38b39e793b8560f940fe391b8e'] + +buildopts = ' -f makefile.lnx_ifort FC=$FC FFLAGS="$FFLAGS" ' + +parallel = 1 + +files_to_copy = [ + (['bader'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/bader'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/Bader/Bader-1.04-iccifort-2020.4.304.eb b/easybuild/easyconfigs/b/Bader/Bader-1.04-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..ef4cb6bb247 --- /dev/null +++ b/easybuild/easyconfigs/b/Bader/Bader-1.04-iccifort-2020.4.304.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'Bader' +version = '1.04' + +homepage = 'http://theory.cm.utexas.edu/henkelman/code/bader/' +description = "A fast algorithm for doing Bader's analysis on a charge density grid." + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['http://theory.cm.utexas.edu/henkelman/code/bader/download/v%(version)s'] +sources = [{'download_filename': 'bader.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f20a0a021157d911bea06666911763b737c4ff38b39e793b8560f940fe391b8e'] + +buildopts = '-f makefile.lnx_ifort FFLAGS="$FFLAGS" LINK="-static-intel"' +parallel = 1 + +files_to_copy = [(['bader'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/bader'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s -h"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-10.3.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..aa6e988100d --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-10.3.0.eb @@ -0,0 +1,19 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +name = 'BamTools' +version = '2.5.2' + +homepage = 'https://github.com/pezmaster31/bamtools' +description = "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [('CMake', '3.20.1')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.2.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..33c9e496984 --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.2.0.eb @@ -0,0 +1,19 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +name = 'BamTools' +version = '2.5.2' + +homepage = 'https://github.com/pezmaster31/bamtools' +description = "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [('CMake', '3.21.1')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..99952934112 --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-11.3.0.eb @@ -0,0 +1,19 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +name = 'BamTools' +version = '2.5.2' + +homepage = 'https://github.com/pezmaster31/bamtools' +description = "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [('CMake', '3.23.1')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.2.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..324af5c529f --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.2.0.eb @@ -0,0 +1,19 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +name = 'BamTools' +version = '2.5.2' + +homepage = 'https://github.com/pezmaster31/bamtools' +description = "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [('CMake', '3.24.3')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..96b38f46dda --- /dev/null +++ b/easybuild/easyconfigs/b/BamTools/BamTools-2.5.2-GCC-12.3.0.eb @@ -0,0 +1,22 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +name = 'BamTools' +version = '2.5.2' + +homepage = 'https://github.com/pezmaster31/bamtools' +description = "BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4d8b84bd07b673d0ed41031348f10ca98dd6fa6a4460f9b9668d6f1d4084dfc8'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +# https://github.com/pezmaster31/bamtools +github_account = 'pezmaster31' + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb new file mode 100644 index 00000000000..681768eda78 --- /dev/null +++ b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Bambi' +version = '0.7.1' + +homepage = 'https://bambinos.github.io/bambi' +description = """Bambi is a high-level Bayesian model-building interface written in Python. +It works with the probabilistic programming frameworks PyMC3 and is designed +to make it extremely easy to fit Bayesian mixed-effects models common in biology, +social sciences and other disciplines.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyMC3', '3.11.1'), + ('SciPy-bundle', '2021.10'), + ('statsmodels', '0.13.1'), + ('ArviZ', '0.11.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('formulae', '0.2.0', { + 'checksums': ['228335df9907750793016dfb23a8a0cb8d6d9ce9a026bfe2b459aa19f72541d2'], + }), + ('bambi', version, { + 'checksums': ['d57401326528f40ed78d6759723ee554581f6940c566263d6c176283f5428cf7'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-intel-2021b.eb b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-intel-2021b.eb new file mode 100644 index 00000000000..7040be87588 --- /dev/null +++ b/easybuild/easyconfigs/b/Bambi/Bambi-0.7.1-intel-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Bambi' +version = '0.7.1' + +homepage = 'https://bambinos.github.io/bambi' +description = """Bambi is a high-level Bayesian model-building interface written in Python. +It works with the probabilistic programming frameworks PyMC3 and is designed +to make it extremely easy to fit Bayesian mixed-effects models common in biology, +social sciences and other disciplines.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyMC3', '3.11.1'), + ('SciPy-bundle', '2021.10'), + ('statsmodels', '0.13.1'), + ('ArviZ', '0.11.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('formulae', '0.2.0', { + 'checksums': ['228335df9907750793016dfb23a8a0cb8d6d9ce9a026bfe2b459aa19f72541d2'], + }), + ('bambi', version, { + 'checksums': ['d57401326528f40ed78d6759723ee554581f6940c566263d6c176283f5428cf7'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..55f42ab0e92 --- /dev/null +++ b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'Bandage' +version = '0.9.0' + +homepage = 'http://rrwick.github.io/Bandage' +description = "Bandage is a program for visualising de novo assembly graphs" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rrwick/Bandage/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04de8152d8bf5e5aa32b41a63cf1c23e1fee7b67ccd9f1407db8dc2824ca4e30'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Qt5', '5.15.2')] + +prebuildopts = "qmake Bandage.pro && " + +files_to_copy = [(['Bandage'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Bandage'], + 'dirs': [], +} + +sanity_check_commands = ["Bandage --help && ldd $(which Bandage)"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..264152f103d --- /dev/null +++ b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'Bandage' +version = '0.9.0' + +homepage = 'http://rrwick.github.io/Bandage' +description = "Bandage is a program for visualising de novo assembly graphs" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rrwick/Bandage/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04de8152d8bf5e5aa32b41a63cf1c23e1fee7b67ccd9f1407db8dc2824ca4e30'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Qt5', '5.15.5')] + +prebuildopts = "qmake Bandage.pro && " + +files_to_copy = [(['Bandage'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Bandage'], + 'dirs': [], +} + +sanity_check_commands = ["Bandage --help && ldd $(which Bandage)"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..acdc093c96d --- /dev/null +++ b/easybuild/easyconfigs/b/Bandage/Bandage-0.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'Bandage' +version = '0.9.0' + +homepage = 'http://rrwick.github.io/Bandage' +description = "Bandage is a program for visualising de novo assembly graphs" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/rrwick/Bandage/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04de8152d8bf5e5aa32b41a63cf1c23e1fee7b67ccd9f1407db8dc2824ca4e30'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Qt5', '5.15.10')] + +prebuildopts = "qmake Bandage.pro && " + +files_to_copy = [(['Bandage'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Bandage'], + 'dirs': [], +} + +sanity_check_commands = ["Bandage --help && ldd $(which Bandage)"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb b/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..31f80ed92fc --- /dev/null +++ b/easybuild/easyconfigs/b/BayesAss3-SNPs/BayesAss3-SNPs-1.1-GCC-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'BayesAss3-SNPs' +version = '1.1' + +homepage = 'https://github.com/stevemussmann/BayesAss3-SNPs' +description = """ +Modification of BayesAss 3.0.4 to allow handling of large SNP datasets generated via methods such as RADseq protocols. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +source_urls = ['https://github.com/stevemussmann/BayesAss3-SNPs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7b983796402ce055504b73b96df09a317e6af6fac98766ff6adeb374b800c139'] + +dependencies = [ + ('GSL', '2.7'), + ('Boost', '1.79.0'), +] + +files_to_copy = [ + (['BA3-SNPS'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/BA3-SNPS'], + 'dirs': [''], +} + +sanity_check_commands = ['BA3-SNPS --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BayesOpt/BayesOpt-0.9-GCC-12.3.0.eb b/easybuild/easyconfigs/b/BayesOpt/BayesOpt-0.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..2e20ceba904 --- /dev/null +++ b/easybuild/easyconfigs/b/BayesOpt/BayesOpt-0.9-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'BayesOpt' +version = '0.9' + +homepage = 'https://rmcantin.github.io/bayesopt' +description = """BayesOpt is an efficient implementation of the Bayesian optimization methodology for +nonlinear-optimization, experimental design, stochastic bandits and hyperparameter tunning""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/rmcantin/bayesopt/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f4e60cfac380eccd2d1adc805b752b5bd22a1d8a27dc6aeb630c403adc04f28c'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('NLopt', '2.7.1'), +] + +# don't build included version of NLopt (use provided dependency) +configopts = "-DNLOPT_BUILD=OFF" + +sanity_check_paths = { + 'files': ['lib/libbayesopt.a'], + 'dirs': ['include/bayesopt'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/BayesPrism/BayesPrism-2.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/b/BayesPrism/BayesPrism-2.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..a95446be4a1 --- /dev/null +++ b/easybuild/easyconfigs/b/BayesPrism/BayesPrism-2.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,33 @@ +easyblock = 'RPackage' + +name = 'BayesPrism' +version = '2.0' +# Still have versionsuffix because we need Bioconductor, which also still has it +versionsuffix = '-R-%(rver)s' +github_account = 'Danko-Lab' +local_commit = '1ad3e82' + +homepage = 'https://github.com/Danko-Lab/BayesPrism' +description = """Bayesian cell Proportion Reconstruction Inferred using Statistical Marginalization + (BayesPrism): A Fully Bayesian Inference of Tumor Microenvironment composition and gene expression + """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +source_urls = ['https://github.com/%(github_account)s/%(name)s/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['bfbddbb6853422ddc327166ef5c9c581d3a7baa21d8734af95c55f02e5cf66bd'] + +start_dir = 'BayesPrism' + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BayesTraits/BayesTraits-3.0.2-Linux.eb b/easybuild/easyconfigs/b/BayesTraits/BayesTraits-3.0.2-Linux.eb new file mode 100644 index 00000000000..9f4b79cae32 --- /dev/null +++ b/easybuild/easyconfigs/b/BayesTraits/BayesTraits-3.0.2-Linux.eb @@ -0,0 +1,34 @@ +# 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 = "Tarball" + +name = 'BayesTraits' +version = '3.0.2' +versionsuffix = '-Linux' + +homepage = 'https://github.com/AndrewPMeade/BayesTraits-Public' +description = """ BayesTraits is a computer package for performing analyses of trait + evolution among groups of species for which a phylogeny or sample of phylogenies is + available. This new package incoporates our earlier and separate programes Multistate, + Discrete and Continuous. BayesTraits can be applied to the analysis of traits that adopt + a finite number of discrete states, or to the analysis of continuously varying traits. + Hypotheses can be tested about models of evolution, about ancestral states and about + correlations among pairs of traits. """ + +toolchain = SYSTEM + +source_urls = ['https://github.com/AndrewPMeade/BayesTraits-Public/raw/main/BayesTraitsV%(version)s/'] +sources = ['BayesTraitsV%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['8b4dbd48583f970d3a4e363685940a9c99d412be1b2e96eb682294f751b4fa51'] + +sanity_check_paths = { + 'files': ['BayesTraitsV3', 'Primates.trees', 'Mammal.trees'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BayesTraits/BayesTraits-4.1.2-Linux.eb b/easybuild/easyconfigs/b/BayesTraits/BayesTraits-4.1.2-Linux.eb new file mode 100644 index 00000000000..541dedf129e --- /dev/null +++ b/easybuild/easyconfigs/b/BayesTraits/BayesTraits-4.1.2-Linux.eb @@ -0,0 +1,40 @@ +# 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 + +# Updated by +# Author: Alex Salois +# Research Cyberinfrastructure +# Montana State University + +easyblock = "Tarball" + +name = 'BayesTraits' +version = '4.1.2' +versionsuffix = '-Linux' + +homepage = 'https://www.evolution.reading.ac.uk/SoftwareMain.html' +description = """ BayesTraits is a computer package for performing analyses of trait + evolution among groups of species for which a phylogeny or sample of phylogenies is + available. This new package incoporates our earlier and separate programes Multistate, + Discrete and Continuous. BayesTraits can be applied to the analysis of traits that adopt + a finite number of discrete states, or to the analysis of continuously varying traits. + Hypotheses can be tested about models of evolution, about ancestral states and about + correlations among pairs of traits. """ + +toolchain = SYSTEM + +source_urls = ['https://www.evolution.reading.ac.uk/BayesTraitsV%(version)s/Files/'] +sources = ['BayesTraitsV%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['d5251c2b256405fc63c55caf8371b267530a3c4ebd11cbfd3ebd4013c9d49db0'] + +sanity_check_paths = { + 'files': ['BayesTraitsV4', 'Artiodactyl.trees', 'Bird.trees', 'Mammal.trees', + 'Marsupials.trees', 'NortheastBantu.trees', 'Primates.trees'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.10.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.10.0-GCCcore-6.4.0.eb index 76b9371ed08..d2534be82ac 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.10.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.10.0-GCCcore-6.4.0.eb @@ -16,6 +16,6 @@ checksums = [ ] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.11.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.11.0-GCCcore-6.4.0.eb index 5829b4dc01c..ee1d8079476 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.11.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.11.0-GCCcore-6.4.0.eb @@ -12,6 +12,6 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] checksums = ['abfeccc94728cb46be8dbb3507a23ccffbacef9fbda96a977ef4ea8d6ab0d384'] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.11.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.11.1-GCCcore-6.4.0.eb index 7d06a6a61a7..6f59179f3cd 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.11.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.11.1-GCCcore-6.4.0.eb @@ -12,6 +12,6 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] checksums = ['e8d762bcc01566fa50952c8028e95cfbe7545a39b8ceb3a0d0d6df33b25b333f'] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.12.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.12.0-GCCcore-6.4.0.eb index ba628d6babe..2596352a994 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.12.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.12.0-GCCcore-6.4.0.eb @@ -12,6 +12,6 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] checksums = ['3b3e7dc76d145046fdc78db7cac9a82bc8939d3b291e53a7ce85315feb827754'] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-6.4.0.eb index 9553e22d089..8215c28cdfc 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-6.4.0.eb @@ -16,6 +16,6 @@ checksums = [ ] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-7.3.0.eb index d6095508300..95378852161 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.16.0-GCCcore-7.3.0.eb @@ -16,6 +16,6 @@ checksums = [ ] builddependencies = [('binutils', '2.30')] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.18.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.18.0-GCCcore-7.3.0.eb index 5ab551a7b04..d7273df067b 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.18.0-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.18.0-GCCcore-7.3.0.eb @@ -15,7 +15,13 @@ checksums = [ '55fd52c512a578dc8242fbf204cf42f28aa93611910a5a791e0dda4c3a1c7d60', # Bazel-0.18.0_remove_define_DATE.patch ] -builddependencies = [('binutils', '2.30')] -dependencies = [('Java', '1.8', '', True)] +builddependencies = [ + ('binutils', '2.30'), + ('Python', '2.7.15', '-bare'), + ('Zip', '3.0'), +] +dependencies = [ + ('Java', '1.8', '', SYSTEM), +] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-7.3.0.eb index ed2f9ae9dbd..5fd1011783f 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-7.3.0.eb @@ -15,7 +15,13 @@ checksums = [ '55fd52c512a578dc8242fbf204cf42f28aa93611910a5a791e0dda4c3a1c7d60', # Bazel-0.18.0_remove_define_DATE.patch ] -builddependencies = [('binutils', '2.30')] -dependencies = [('Java', '1.8', '', True)] +builddependencies = [ + ('binutils', '2.30'), + ('Python', '2.7.15', '-bare'), + ('Zip', '3.0'), +] +dependencies = [ + ('Java', '1.8', '', SYSTEM), +] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-8.2.0.eb index 44d39d8c643..59d5f18e87f 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.20.0-GCCcore-8.2.0.eb @@ -17,8 +17,9 @@ checksums = [ builddependencies = [ ('binutils', '2.31.1'), + ('Python', '3.7.2'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2-GCCcore-8.2.0.eb index 84155faf16e..74f98e271dd 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2-GCCcore-8.2.0.eb @@ -9,13 +9,18 @@ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] sources = ['%(namelower)s-%(version)s-dist.zip'] -checksums = ['7456032199852c043e6c5b3e4c71dd8089c1158f72ec554e6ec1c77007f0ab51'] +patches = ['%(name)s-%(version)s_rename_gettid.patch'] + +checksums = [ + '7456032199852c043e6c5b3e4c71dd8089c1158f72ec554e6ec1c77007f0ab51', # bazel-0.25.2-dist.zip + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch +] builddependencies = [ ('binutils', '2.31.1'), ('Python', '3.7.2'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2_rename_gettid.patch b/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2_rename_gettid.patch new file mode 100644 index 00000000000..661e7b01c01 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.25.2_rename_gettid.patch @@ -0,0 +1,70 @@ +Rename gettid to sys_gettid to avoid name clash with gettid of glibc 2.30+ +https://github.com/grpc/grpc/commit/de6255941a5e1c2fb2d50e57f84e38c09f45023d +https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853 + +diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/third_party/grpc/src/core/lib/gpr/log_linux.cc +index 561276f0c2..8b597b4cf2 100644 +--- a/third_party/grpc/src/core/lib/gpr/log_linux.cc ++++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc +@@ -40,7 +40,7 @@ + #include + #include + +-static long gettid(void) { return syscall(__NR_gettid); } ++static long sys_gettid(void) { return syscall(__NR_gettid); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) { + gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); + struct tm tm; + static __thread long tid = 0; +- if (tid == 0) tid = gettid(); ++ if (tid == 0) tid = sys_gettid(); + + timer = static_cast(now.tv_sec); + final_slash = strrchr(args->file, '/'); +diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/third_party/grpc/src/core/lib/gpr/log_posix.cc +index 0acb225572..cd0b702b94 100644 +--- a/third_party/grpc/src/core/lib/gpr/log_posix.cc ++++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc +@@ -30,7 +30,7 @@ + #include + #include + +-static intptr_t gettid(void) { return (intptr_t)pthread_self(); } ++static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -85,7 +85,7 @@ void gpr_default_log(gpr_log_func_args* args) { + char* prefix; + gpr_asprintf(&prefix, "%s%s.%09d %7tu %s:%d]", + gpr_log_severity_string(args->severity), time_buffer, +- (int)(now.tv_nsec), gettid(), display_file, args->line); ++ (int)(now.tv_nsec), sys_gettid(), display_file, args->line); + + fprintf(stderr, "%-70s %s\n", prefix, args->message); + gpr_free(prefix); +diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc +index 7a4870db78..4258ded8a0 100644 +--- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc ++++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc +@@ -1150,7 +1150,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker, + } + + #ifndef NDEBUG +-static long gettid(void) { return syscall(__NR_gettid); } ++static long sys_gettid(void) { return syscall(__NR_gettid); } + #endif + + /* pollset->mu lock must be held by the caller before calling this. +@@ -1170,7 +1170,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset, + #define WORKER_PTR (&worker) + #endif + #ifndef NDEBUG +- WORKER_PTR->originator = gettid(); ++ WORKER_PTR->originator = sys_gettid(); + #endif + if (grpc_polling_trace.enabled()) { + gpr_log(GPR_INFO, diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.2.0.eb index 746a2d6c423..9a23b912978 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.2.0.eb @@ -9,13 +9,18 @@ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] sources = ['%(namelower)s-%(version)s-dist.zip'] -checksums = ['c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600'] +patches = ['%(name)s-0.25.2_rename_gettid.patch'] + +checksums = [ + 'c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600', # bazel-0.26.1-dist.zip + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch +] builddependencies = [ ('binutils', '2.31.1'), ('Python', '3.7.2'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.3.0.eb index 143c380c992..b6becac4ae4 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.26.1-GCCcore-8.3.0.eb @@ -9,13 +9,18 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] sources = ['%(namelower)s-%(version)s-dist.zip'] -checksums = ['c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600'] +patches = ['%(name)s-0.25.2_rename_gettid.patch'] + +checksums = [ + 'c0e94f8f818759f3f67af798c38683520c540f469cb41aea8f5e5a0e43f11600', # bazel-0.26.1-dist.zip + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.26.1_rename_gettid.patch +] builddependencies = [ ('binutils', '2.32'), ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.2.0.eb index cd4d5f44bbb..da42845ee5c 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.2.0.eb @@ -12,11 +12,13 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] patches = [ 'Bazel-%(version)s_fix-gold-flag.patch', 'Bazel-%(version)s_fix-zip-d-on-power.patch', + '%(name)s-0.25.2_rename_gettid.patch', ] checksums = [ '872a52cff208676e1169b3e1cae71b1fe572c4109cbd66eab107d8607c378de5', # bazel-0.29.1-dist.zip '99928d0902beeaf962a8ad14db8432f8e5114645e3caf64c7ee2fa136c31609f', # Bazel-0.29.1_fix-gold-flag.patch '0089567af6a991084d5628a8b6fa92b68402ff4b7a0ef8fa944e629e7be63b93', # Bazel-0.29.1_fix-zip-d-on-power.patch + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch ] builddependencies = [ @@ -24,6 +26,6 @@ builddependencies = [ ('Python', '3.7.2'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.3.0.eb index f15004d6f1b..a859c64611e 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-8.3.0.eb @@ -12,11 +12,13 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] patches = [ 'Bazel-%(version)s_fix-gold-flag.patch', 'Bazel-%(version)s_fix-zip-d-on-power.patch', + '%(name)s-0.25.2_rename_gettid.patch', ] checksums = [ '872a52cff208676e1169b3e1cae71b1fe572c4109cbd66eab107d8607c378de5', # bazel-0.29.1-dist.zip '99928d0902beeaf962a8ad14db8432f8e5114645e3caf64c7ee2fa136c31609f', # Bazel-0.29.1_fix-gold-flag.patch '0089567af6a991084d5628a8b6fa92b68402ff4b7a0ef8fa944e629e7be63b93', # Bazel-0.29.1_fix-zip-d-on-power.patch + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch ] builddependencies = [ @@ -24,6 +26,6 @@ builddependencies = [ ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-9.3.0-Java-1.8.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-9.3.0-Java-1.8.eb new file mode 100644 index 00000000000..4a205b4f676 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.29.1-GCCcore-9.3.0-Java-1.8.eb @@ -0,0 +1,32 @@ +name = 'Bazel' +version = '0.29.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + 'Bazel-%(version)s_fix-gold-flag.patch', + 'Bazel-%(version)s_fix-zip-d-on-power.patch', + '%(name)s-0.25.2_rename_gettid.patch', +] +checksums = [ + '872a52cff208676e1169b3e1cae71b1fe572c4109cbd66eab107d8607c378de5', # bazel-0.29.1-dist.zip + '99928d0902beeaf962a8ad14db8432f8e5114645e3caf64c7ee2fa136c31609f', # Bazel-0.29.1_fix-gold-flag.patch + '0089567af6a991084d5628a8b6fa92b68402ff4b7a0ef8fa944e629e7be63b93', # Bazel-0.29.1_fix-zip-d-on-power.patch + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch +] + +builddependencies = [ + ('binutils', '2.34'), + ('Python', '3.8.2'), + ('Zip', '3.0'), +] +dependencies = [('Java', '1.8', '', SYSTEM)] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-0.7.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-0.7.0-GCCcore-6.4.0.eb index 386939c6183..279f3636e1b 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-0.7.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-0.7.0-GCCcore-6.4.0.eb @@ -12,6 +12,6 @@ sources = ['%(namelower)s-%(version)s-dist.zip'] checksums = ['a084a9c5d843e2343bf3f319154a48abe3d35d52feb0ad45dec427a1c4ffc416'] builddependencies = [('binutils', '2.28')] -dependencies = [('Java', '1.8.0_152', '', True)] +dependencies = [('Java', '1.8.0_152', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-1.1.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-1.1.0-GCCcore-8.3.0.eb index f7ffa464ec7..8ed77b68a9b 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-1.1.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-1.1.0-GCCcore-8.3.0.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] sources = ['%(namelower)s-%(version)s-dist.zip'] -patches = ['Bazel-0.29.1_fix-gold-flag.patch'] +patches = [ + 'Bazel-0.29.1_fix-gold-flag.patch', + '%(name)s-0.25.2_rename_gettid.patch', +] + checksums = [ '4b66a8c93af7832ed32e7236cf454a05f3aa06d25a8576fc3f83114f142f95ab', # bazel-1.1.0-dist.zip '99928d0902beeaf962a8ad14db8432f8e5114645e3caf64c7ee2fa136c31609f', # Bazel-0.29.1_fix-gold-flag.patch + '8639129941a6db079015ea7e04e7f5b6b24da3c963e7eb0488df34439d628f0e', # Bazel-0.25.2_rename_gettid.patch ] builddependencies = [ @@ -20,6 +25,6 @@ builddependencies = [ ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..3c49531cee4 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +name = 'Bazel' +version = '2.0.0' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-0.29.1_fix-gold-flag.patch'] +checksums = [ + '724da3c656f68e787a86ebb9844773aa1c2e3a873cc39462a8f1b336153d6cbb', # bazel-2.0.0-dist.zip + '99928d0902beeaf962a8ad14db8432f8e5114645e3caf64c7ee2fa136c31609f', # Bazel-0.29.1_fix-gold-flag.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('Python', '3.8.6'), + ('Zip', '3.0'), +] +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = ' '.join([ + '--', + '//examples/cpp:hello-success_test', + '//examples/py/...', + '//examples/py_native:test', + '//examples/shell/...', +]) + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-8.3.0.eb index 106e2146849..1a5d8224c02 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-2.0.0-GCCcore-8.3.0.eb @@ -20,6 +20,6 @@ builddependencies = [ ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.4.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.4.1-GCCcore-8.3.0.eb index fd6d2288410..54da4a210b6 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-3.4.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.4.1-GCCcore-8.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] runtest = True testopts = ' '.join([ diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.6.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.6.0-GCCcore-9.3.0.eb index 386bdf9a4c8..6daf4172fef 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-3.6.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.6.0-GCCcore-9.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Python', '3.8.2'), ('Zip', '3.0'), ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] runtest = True testopts = ' '.join([ diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.1-GCCcore-8.3.0.eb index 1088865bda9..2877264df72 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.1-GCCcore-8.3.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('Python', '3.7.4'), ('Zip', '3.0'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] runtest = True testopts = ' '.join([ diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.2.0.eb index 6b259a49b41..f5408193257 100644 --- a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.2.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('Python', '3.8.6'), ('Zip', '3.0'), ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] runtest = True testopts = ' '.join([ diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..aecd7128568 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +name = 'Bazel' +version = '3.7.2' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + '%(name)s-3.4.1-fix-grpc-protoc.patch', + '%(name)s-%(version_major_minor)s.1_fix-protobuf-env.patch', +] +checksums = [ + # bazel-3.7.2-dist.zip + 'de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1', + # Bazel-3.4.1-fix-grpc-protoc.patch + 'f87ad8ad6922fd9c974381ea22b7b0e6502ccad5e532145f179b80d5599e24ac', + # Bazel-3.7.1_fix-protobuf-env.patch + '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Python', '3.9.5'), + ('Zip', '3.0'), +] +dependencies = [ + ('Java', '11', '', SYSTEM), +] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..76adb8a37b4 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +name = 'Bazel' +version = '3.7.2' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + 'Bazel-3.4.1-fix-grpc-protoc.patch', + 'Bazel-3.7.1_fix-protobuf-env.patch', + 'Bazel-3.7.2_fix-GCC-11.patch', + 'Bazel-3.7.2_fix-Java-15.patch', +] +checksums = [ + 'de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1', # bazel-3.7.2-dist.zip + 'f87ad8ad6922fd9c974381ea22b7b0e6502ccad5e532145f179b80d5599e24ac', # Bazel-3.4.1-fix-grpc-protoc.patch + '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch + '7fd5846f2ed1f27af9528a900f284f95ad982f3e7d486264c3bdee890a9c22fb', # Bazel-3.7.2_fix-GCC-11.patch + '28f394f561824abf562556877483bc443dfd3ee0c7cba48a56e22670258669e7', # Bazel-3.7.2_fix-Java-15.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..ddadf77aa93 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2-GCCcore-8.3.0.eb @@ -0,0 +1,39 @@ +name = 'Bazel' +version = '3.7.2' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://github.com/bazelbuild/bazel/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + '%(name)s-3.4.1-fix-grpc-protoc.patch', + 'Bazel-3.7.1_fix-protobuf-env.patch', +] +checksums = [ + 'de255bb42163a915312df9f4b86e5b874b46d9e8d4b72604b5123c3a845ed9b1', # bazel-3.7.2-dist.zip + 'f87ad8ad6922fd9c974381ea22b7b0e6502ccad5e532145f179b80d5599e24ac', # Bazel-3.4.1-fix-grpc-protoc.patch + '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch +] + +builddependencies = [ + ('binutils', '2.32'), + ('Python', '3.7.4'), + ('Zip', '3.0'), + ('UnZip', '6.0'), +] +dependencies = [('Java', '1.8', '', SYSTEM)] + +runtest = True +testopts = ' '.join([ + '--', + '//examples/cpp:hello-success_test', + '//examples/py/...', + '//examples/py_native:test', + '//examples/shell/...', +]) + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-GCC-11.patch b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-GCC-11.patch new file mode 100644 index 00000000000..6f1575c39c2 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-GCC-11.patch @@ -0,0 +1,22 @@ +add missing include statements to fix compilation with GCC 11.x +author: Alexandre Strube (JSC) +--- src/third_party/ijar/zlib_client.h.orig 2021-11-05 15:39:58.061336981 +0100 ++++ src/third_party/ijar/zlib_client.h 2021-11-05 15:40:22.650877105 +0100 +@@ -16,6 +16,7 @@ + #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_ + + #include ++#include + + #include "third_party/ijar/common.h" + +--- src/third_party/ijar/mapped_file.h.orig 2021-11-05 15:56:24.654184777 +0100 ++++ src/third_party/ijar/mapped_file.h 2021-11-05 15:56:33.879015290 +0100 +@@ -16,6 +16,7 @@ + #define INCLUDED_THIRD_PARTY_IJAR_MAPPED_FILE_H + + #include "third_party/ijar/common.h" ++#include + + namespace devtools_ijar { + diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-Java-15.patch b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-Java-15.patch new file mode 100644 index 00000000000..6fc6a95634e --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-3.7.2_fix-Java-15.patch @@ -0,0 +1,29 @@ +From 0216ee54417fa1f2fef14f6eb14cbc1e8f595821 Mon Sep 17 00:00:00 2001 +From: philwo +Date: Mon, 8 Feb 2021 10:45:50 -0800 +Subject: [PATCH] Fix Bazel #10214: JDK 13 introduced a source compatibility + issue. + +Quote from the Java release notes: + +The addition of newFileSystem(Path, Map) creates a source (but not binary) compatibility issue for code that has been using the existing 2-arg newFileSystem(Path, ClassLoader) and specifying the class loader as null. [...] To avoid the ambiguous reference, this code needs to be modified to cast the second parameter to java.lang.ClassLoader. + +RELNOTES: +PiperOrigin-RevId: 356301318 +--- + .../com/google/devtools/build/buildjar/VanillaJavaBuilder.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java +index 327017362626..5edf9ba0cf23 100644 +--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java ++++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java +@@ -77,7 +77,7 @@ + private FileSystem getJarFileSystem(Path sourceJar) throws IOException { + FileSystem fs = filesystems.get(sourceJar); + if (fs == null) { +- filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, null)); ++ filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, (ClassLoader) null)); + } + return fs; + } \ No newline at end of file diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8680e49eb46 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +name = 'Bazel' +version = '4.2.2' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + 'Bazel-3.7.1_fix-protobuf-env.patch', + 'Bazel-3.7.2_fix-GCC-11.patch', + 'Bazel-3.7.2_fix-Java-15.patch', + 'Bazel-4.2.2_ftbs-gcc11-2.patch', + 'Bazel-4.2.2_ftbs-gcc11-3.patch', + 'Bazel-4.2.2_ftbs-gcc11-4.patch', + 'Bazel-4.2.2_remove-illegal-reflective.patch', +] +checksums = [ + '9981d0d53a356c4e87962847750a97c9e8054e460854748006c80f0d7e2b2d33', # bazel-4.2.2-dist.zip + '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch + '7fd5846f2ed1f27af9528a900f284f95ad982f3e7d486264c3bdee890a9c22fb', # Bazel-3.7.2_fix-GCC-11.patch + '28f394f561824abf562556877483bc443dfd3ee0c7cba48a56e22670258669e7', # Bazel-3.7.2_fix-Java-15.patch + '5eb644b5363ba25ccb1f090bbb399f56028bfbcb42f0510d272df9a94836c751', # Bazel-4.2.2_ftbs-gcc11-2.patch + '663f4c1145b53518500a205f644d06cd2b70cdf5a630c9ab77d8a363fb07e8e6', # Bazel-4.2.2_ftbs-gcc11-3.patch + '480c8668d1a95535a673d38bcb42138cfc12a2363707b964b55980f9cefe34a5', # Bazel-4.2.2_ftbs-gcc11-4.patch + 'b0a0df8dc038d1befaa811eb96a554812821f06014f9ad11f86b685fd267edf3', # Bazel-4.2.2_remove-illegal-reflective.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-2.patch b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-2.patch new file mode 100644 index 00000000000..42e9073296b --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-2.patch @@ -0,0 +1,31 @@ +From a129aeb333d83a4466ac2c996b84a113405acb4d Mon Sep 17 00:00:00 2001 +From: philwo +Date: Mon, 14 Jun 2021 09:10:07 -0700 +Subject: [PATCH] Fix #13575: FTBFS with GCC 11 on ARMv8 + +This supposedly fixes the compiler error reported by the user: + +`error: 'numeric_limits' is not a member of 'std'` + +Thanks to samcom12 for the report and suggested fix. + +RELNOTES: None. +PiperOrigin-RevId: 379291338 +--- + third_party/ijar/zlib_client.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h +index c4b051e0100c..0a917ff0a99a 100644 +--- a/third_party/ijar/zlib_client.h ++++ b/third_party/ijar/zlib_client.h +@@ -16,7 +16,9 @@ + #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_ + + #include ++ + #include ++#include + + #include "third_party/ijar/common.h" + diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-3.patch b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-3.patch new file mode 100644 index 00000000000..667110479bc --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-3.patch @@ -0,0 +1,38 @@ +From 9761509f9ccc3892f42425b904adf1ef10bcb1f4 Mon Sep 17 00:00:00 2001 +From: David Ostrovsky +Date: Wed, 16 Jun 2021 07:55:57 -0700 +Subject: [PATCH] Fix building on gcc 11 + +Fixes #12702. + +Without this include the build is failing with: + + third_party/ijar/mapped_file_unix.cc: In constructor 'devtools_ijar::MappedOutputFile::MappedOutputFile(const char*, size_t)': + third_party/ijar/mapped_file_unix.cc:115:21: error: 'numeric_limits' is not a member of 'std' + 115 | std::numeric_limits::max()); + | ^~~~~~~~~~~~~~ + +Closes #13537. + +PiperOrigin-RevId: 379719635 +--- + third_party/ijar/mapped_file_unix.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc +index 6e3a90871844..65179e3290ec 100644 +--- a/third_party/ijar/mapped_file_unix.cc ++++ b/third_party/ijar/mapped_file_unix.cc +@@ -15,10 +15,11 @@ + #include + #include + #include +-#include + #include ++#include + + #include ++#include + + #include "third_party/ijar/mapped_file.h" + diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-4.patch b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-4.patch new file mode 100644 index 00000000000..8a493f032ef --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_ftbs-gcc11-4.patch @@ -0,0 +1,45 @@ +Taken from the alpine upstream patches: +https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/29084/diffs#7eb1858ad36525c0b9eefa137dd00e045b0b2e5b +--- a/third_party/grpc/grpc_1.33.1.patch ++++ b/third_party/grpc/grpc_1.33.1.patch +@@ -58,6 +58,14 @@ index 09fcad95a2..9b737e5deb 100644 + ) + + native.bind( ++@@ -245,6 +245,7 @@ def grpc_deps(): ++ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", ++ "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", ++ ], +++ patches = ["@com_github_grpc_grpc//:third_party/abseil-cpp/absl.patch"], ++ ) ++ ++ if "bazel_toolchains" not in native.existing_rules(): + diff --git a/bazel/grpc_extra_deps.bzl b/bazel/grpc_extra_deps.bzl + index 4c1dfad2e8..f63c54ddef 100644 + --- a/bazel/grpc_extra_deps.bzl +@@ -120,3 +128,25 @@ index c047f0c515..7c24fbc617 100644 + ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h", + ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h", + "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h", ++ ++--- /dev/null +++++ b/third_party/abseil-cpp/absl.patch ++@@ -0,0 +1,18 @@ +++0e2c62da1dcaf6529abab952bdcc96c6de2d9506 by Abseil Team : +++ +++Add missing include +++ +++PiperOrigin-RevId: 339054753 +++ +++-- +++ +++--- absl/synchronization/internal/graphcycles.cc ++++++ absl/synchronization/internal/graphcycles.cc +++@@ -37,6 +37,7 @@ +++ +++ #include +++ #include ++++#include +++ #include "absl/base/internal/hide_ptr.h" +++ #include "absl/base/internal/raw_logging.h" +++ #include "absl/base/internal/spinlock.h" diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_remove-illegal-reflective.patch b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_remove-illegal-reflective.patch new file mode 100644 index 00000000000..9cd850cbac0 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-4.2.2_remove-illegal-reflective.patch @@ -0,0 +1,36 @@ +Taken from the alpine upstream patches: +https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/29084/diffs#7eb1858ad36525c0b9eefa137dd00e045b0b2e5b +--- a/src/main/cpp/blaze.cc ++++ b/src/main/cpp/blaze.cc +@@ -360,13 +360,10 @@ static vector GetServerExeArgs(const blaze_util::Path &jvm_path, + result.push_back("-XX:HeapDumpPath=" + + startup_options.output_base.AsJvmArgument()); + +- // TODO(b/109998449): only assume JDK >= 9 for embedded JDKs +- if (!startup_options.GetEmbeddedJavabase().IsEmpty()) { +- // quiet warnings from com.google.protobuf.UnsafeUtil, +- // see: https://github.com/google/protobuf/issues/3781 +- result.push_back("--add-opens=java.base/java.nio=ALL-UNNAMED"); +- result.push_back("--add-opens=java.base/java.lang=ALL-UNNAMED"); +- } ++ // quiet warnings from com.google.protobuf.UnsafeUtil, ++ // see: https://github.com/google/protobuf/issues/3781 ++ result.push_back("--add-opens=java.base/java.nio=ALL-UNNAMED"); ++ result.push_back("--add-opens=java.base/java.lang=ALL-UNNAMED"); + + vector user_options = startup_options.host_jvm_args; + +--- a/src/main/java/com/google/devtools/build/lib/unsafe/StringUnsafe.java ++++ b/src/main/java/com/google/devtools/build/lib/unsafe/StringUnsafe.java +@@ -72,10 +72,7 @@ public class StringUnsafe { + + Arrays.toString(String.class.getDeclaredFields()), + e); + } +- this.constructor.setAccessible(true); +- valueField.setAccessible(true); + valueOffset = UnsafeProvider.getInstance().objectFieldOffset(valueField); +- coderField.setAccessible(true); + coderOffset = UnsafeProvider.getInstance().objectFieldOffset(coderField); + } + + diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-5.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-5.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2550749a059 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-5.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +name = 'Bazel' +version = '5.1.1' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = [ + 'Bazel-3.7.1_fix-protobuf-env.patch', + 'Bazel-3.7.2_fix-GCC-11.patch', +] +checksums = [ + '7f5d3bc1d344692b2400f3765fd4b5c0b636eb4e7a8a7b17923095c7b56a4f78', # bazel-5.1.1-dist.zip + '8706ecc99b658e0a96c38dc2c23e44da35059b85f308602aac76a6d6680376e7', # Bazel-3.7.1_fix-protobuf-env.patch + '7fd5846f2ed1f27af9528a900f284f95ad982f3e7d486264c3bdee890a9c22fb', # Bazel-3.7.2_fix-GCC-11.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1bacc7b9363 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +name = 'Bazel' +version = '6.1.0' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-6.3.1_add-symlinks-in-runfiles.patch'] +checksums = [ + {'bazel-6.1.0-dist.zip': 'c4b85675541cf66ee7cb71514097fdd6c5fc0e02527243617a4f20ca6b4f2932'}, + {'Bazel-6.3.1_add-symlinks-in-runfiles.patch': '81db53aa87229557480b6f719c99a0f1af9c69dfec12185451e520b0128c3ae2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8c284f50a4d --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +name = 'Bazel' +version = '6.3.1' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-6.3.1_add-symlinks-in-runfiles.patch'] +checksums = [ + {'bazel-6.3.1-dist.zip': '2676319e86c5aeab142dccd42434364a33aa330a091c13562b7de87a10e68775'}, + {'Bazel-6.3.1_add-symlinks-in-runfiles.patch': '81db53aa87229557480b6f719c99a0f1af9c69dfec12185451e520b0128c3ae2'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3769e89c674 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +name = 'Bazel' +version = '6.3.1' + +homepage = 'https://bazel.io/' +description = """Bazel is a build tool that builds code quickly and reliably. +It is used to build the majority of Google's software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/bazelbuild/%(namelower)s/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-dist.zip'] +patches = ['Bazel-6.3.1_add-symlinks-in-runfiles.patch'] +checksums = [ + {'bazel-6.3.1-dist.zip': '2676319e86c5aeab142dccd42434364a33aa330a091c13562b7de87a10e68775'}, + {'Bazel-6.3.1_add-symlinks-in-runfiles.patch': '81db53aa87229557480b6f719c99a0f1af9c69dfec12185451e520b0128c3ae2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), + ('Zip', '3.0'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +runtest = True +testopts = "-- //examples/cpp:hello-success_test //examples/py/... //examples/py_native:test //examples/shell/..." + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1_add-symlinks-in-runfiles.patch b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1_add-symlinks-in-runfiles.patch new file mode 100644 index 00000000000..83251131981 --- /dev/null +++ b/easybuild/easyconfigs/b/Bazel/Bazel-6.3.1_add-symlinks-in-runfiles.patch @@ -0,0 +1,22 @@ +Bazel doesn't always copy all files as required leading e.g. to failures in TF sanity check: https://github.com/tensorflow/tensorflow/issues/60326 + +From https://github.com/bazelbuild/bazel/pull/19378 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl +index b9f3b5b7ac..3af1e61c63 100644 +--- a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl ++++ b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl +@@ -728,7 +728,10 @@ def _cc_shared_library_impl(ctx): + # precompiled_dynamic_library.dynamic_library could be None if the library to link just contains + # an interface library which is valid if the actual library is obtained from the system. + if precompiled_dynamic_library.dynamic_library != None: +- precompiled_only_dynamic_libraries_runfiles.append(precompiled_dynamic_library.dynamic_library) ++ if precompiled_dynamic_library.resolved_symlink_dynamic_library != None: ++ precompiled_only_dynamic_libraries_runfiles.append(precompiled_dynamic_library.resolved_symlink_dynamic_library) ++ else: ++ precompiled_only_dynamic_libraries_runfiles.append(precompiled_dynamic_library.dynamic_library) + + runfiles = runfiles.merge(ctx.runfiles(files = precompiled_only_dynamic_libraries_runfiles)) + diff --git a/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb b/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb new file mode 100644 index 00000000000..d2afe2dfd9a --- /dev/null +++ b/easybuild/easyconfigs/b/Beagle/Beagle-5.4.22Jul22.46e-Java-11.eb @@ -0,0 +1,38 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +# +easyblock = "JAR" + +name = 'Beagle' +_revision = '22Jul22.46e' +version = '5.4.' + _revision +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://faculty.washington.edu/browning/beagle/beagle.html' +description = """Beagle is a software package for phasing genotypes and for imputing + ungenotyped markers.""" + +toolchain = SYSTEM + +source_urls = ['https://faculty.washington.edu/browning/beagle'] +sources = ['%%(namelower)s.%s.jar' % _revision] +checksums = ['57226e441f4da7104df139d022ed24ad9804fa72cf754e45d04f5658dcef242b'] + +dependencies = [('Java', '11')] + +# add beagle.jar +postinstallcmds = ["cd %%(installdir)s && ln -s %%(namelower)s.%s.jar %%(namelower)s.jar" % _revision] + +sanity_check_paths = { + 'files': ['%%(namelower)s.%s.jar' % _revision, '%(namelower)s.jar'], + 'dirs': [] +} + +modloadmsg = """ +To execute %(name)s-%(version)s run: java -jar ${EBROOTBEAGLE}/%(namelower)s.jar +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.6.7-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Beast/Beast-2.6.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..8f2c406f424 --- /dev/null +++ b/easybuild/easyconfigs/b/Beast/Beast-2.6.7-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'Beast' +version = '2.6.7' + +homepage = 'http://beast2.org' +description = """ BEAST is a cross-platform program for Bayesian MCMC analysis of molecular + sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using + strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies + but is also a framework for testing evolutionary hypotheses without conditioning on a single + tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted + proportional to its posterior probability. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/CompEvol/beast2/releases/download/v%(version)s/'] +sources = ['BEAST.v%(version)s.Linux.tgz'] +checksums = ['05dcc619c2e10163f2c1089ec66149f6e53ec5a0583cd2cb8ffdccbbdb1d8183'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + # this is not mandatory but beagle-lib is recommended by developers + ('beagle-lib', '3.1.2'), +] + +sanity_check_paths = { + 'files': ['bin/beast'], + 'dirs': [] +} + +sanity_check_commands = ["beast -help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..b2242c074cf --- /dev/null +++ b/easybuild/easyconfigs/b/Beast/Beast-2.7.3-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'Beast' +version = '2.7.3' + +homepage = 'https://beast2.org' +description = """ BEAST is a cross-platform program for Bayesian MCMC analysis of molecular + sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using + strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies + but is also a framework for testing evolutionary hypotheses without conditioning on a single + tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted + proportional to its posterior probability. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +_archs = {'x86_64': 'x86', 'aarch64': 'aarch64'} + +source_urls = ['https://github.com/CompEvol/beast2/releases/download/v%(version)s/'] +sources = ['BEAST.v%%(version)s.Linux.%s.tgz' % _archs[ARCH]] +checksums = [{ + 'BEAST.v%(version)s.Linux.x86.tgz': '234af8572e827c1c856f0e1ad46e61fa3b3b875c6b5d246f67839ec7c1bf40b5', + 'BEAST.v%(version)s.Linux.aarch64.tgz': '7353703f178b2f0e440ca31cd93f136a9fe65708cd8a621a8045fc63ca538f22', +}] + +dependencies = [ + ('Java', '11', '', SYSTEM), + # this is not mandatory but beagle-lib is recommended by developers + ('beagle-lib', '4.0.0'), +] + +sanity_check_paths = { + 'files': ['bin/beast'], + 'dirs': [] +} + +sanity_check_commands = ["beast -help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3c7c67ff170 --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.10.0' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1') +] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.3.1', { + 'checksums': ['b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..abbe3b7912e --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.10.0' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37') +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.3.1', { + 'checksums': ['b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6b744088b47 --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.10.0-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.10.0' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.3.1', { + 'checksums': ['b8d49b1cd4f037c7082a9683dfa1801aa2597fb11c3a1155b7a5b94829b4f1f9'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..33dedbbcb7d --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.11.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.11.1' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +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 = [ + ('hatchling', '1.12.2', { + 'checksums': ['8a6d719d96653a0f3901072b12710c9c3cc934f9061b443775c6789b45333495'], + }), + ('soupsieve', '2.3.2.post1', { + 'checksums': ['fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8d4556012b6 --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.12.2' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.4.1', { + 'checksums': ['89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bbf74453cfd --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.2-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.12.2' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.5', { + 'checksums': ['5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..95cb6cf3228 --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.12.3-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.12.3' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.5', { + 'checksums': ['5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.9.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.9.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..7d8438a884b --- /dev/null +++ b/easybuild/easyconfigs/b/BeautifulSoup/BeautifulSoup-4.9.3-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'BeautifulSoup' +version = '4.9.3' + +homepage = 'https://www.crummy.com/software/BeautifulSoup' +description = "Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35') +] + +dependencies = [ + ('Python', '3.8.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soupsieve', '2.2.1', { + 'checksums': ['052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc'], + }), + (name, version, { + 'modulename': 'bs4', + 'source_tmpl': 'beautifulsoup4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/b/beautifulsoup4'], + 'checksums': ['84729e322ad1d5b4d25f805bfa05b902dd96450f43842c4e99067d5e1369eb25'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2020b.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2020b.eb new file mode 100644 index 00000000000..e40828947dd --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2020b.eb @@ -0,0 +1,34 @@ +name = 'BerkeleyGW' +version = '3.0.1' + +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': '2020b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://berkeley.box.com/shared/static/'] +sources = [{'download_filename': 'm1dgnhiemo47lhxczrn6si71bwxoxor8.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-3.0.1_tests.patch', + 'BerkeleyGW-3.0.1_makefile.patch', + 'BerkeleyGW-3.0.1_version.patch', +] +checksums = [ + '7d8c2cc1ee679afb48efbdd676689d4d537226b50e13a049dbcb052aaaf3654f', # BerkeleyGW-3.0.1.tar.gz + 'f66ff15e2b99de5e808f78a552985fda3181f35c25817de4ac7df4d8f7fddf5a', # BerkeleyGW-3.0.1_tests.patch + '56d90dc4e43db379441b6a1802e24f1f1356cd4aca4eb6d8b673f6c7926a7406', # BerkeleyGW-3.0.1_makefile.patch + '414a4f23e430a2c02bab7bad18bcaf9b62129fa9dd1c2f87bd4bbc9fcb3bdded', # BerkeleyGW-3.0.1_version.patch +] + +dependencies = [ + ('ELPA', '2020.11.001'), + ('Python', '3.8.6'), + ('h5py', '3.1.0'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2021a.eb b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2021a.eb new file mode 100644 index 00000000000..a0c6cb72f84 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1-foss-2021a.eb @@ -0,0 +1,34 @@ +name = 'BerkeleyGW' +version = '3.0.1' + +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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://berkeley.box.com/shared/static/'] +sources = [{'download_filename': 'm1dgnhiemo47lhxczrn6si71bwxoxor8.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'BerkeleyGW-3.0.1_tests.patch', + 'BerkeleyGW-3.0.1_makefile.patch', + 'BerkeleyGW-3.0.1_version.patch', +] +checksums = [ + '7d8c2cc1ee679afb48efbdd676689d4d537226b50e13a049dbcb052aaaf3654f', # BerkeleyGW-3.0.1.tar.gz + 'f66ff15e2b99de5e808f78a552985fda3181f35c25817de4ac7df4d8f7fddf5a', # BerkeleyGW-3.0.1_tests.patch + '56d90dc4e43db379441b6a1802e24f1f1356cd4aca4eb6d8b673f6c7926a7406', # BerkeleyGW-3.0.1_makefile.patch + '414a4f23e430a2c02bab7bad18bcaf9b62129fa9dd1c2f87bd4bbc9fcb3bdded', # BerkeleyGW-3.0.1_version.patch +] + +dependencies = [ + ('ELPA', '2021.05.001'), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), +] + +runtest = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_makefile.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_makefile.patch new file mode 100644 index 00000000000..6695ca7fb0f --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_makefile.patch @@ -0,0 +1,22 @@ +* don't rebuild flavors when installing and checking +author: Miguel Dias Costa (National University of Singapore) +--- Makefile.orig 2021-05-29 05:08:35.000000000 +0900 ++++ Makefile 2021-05-29 05:09:13.000000000 +0900 +@@ -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,7 +152,7 @@ + $(error Error: Please define installation prefix INSTDIR via 'make install INSTDIR='.) + endif + +-check: all ++check: + cd testsuite && $(MAKE) check + + check-save: all diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_tests.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_tests.patch new file mode 100644 index 00000000000..584d77d2361 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_tests.patch @@ -0,0 +1,120 @@ +* 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 diff --git a/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_version.patch b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_version.patch new file mode 100644 index 00000000000..b53fa9e5909 --- /dev/null +++ b/easybuild/easyconfigs/b/BerkeleyGW/BerkeleyGW-3.0.1_version.patch @@ -0,0 +1,7 @@ +* fix version string +author: Miguel Dias Costa (National University of Singapore) +--- Common/version_base.h.orig 2021-06-14 11:27:49.543968359 +0800 ++++ Common/version_base.h 2021-06-14 11:27:55.397916294 +0800 +@@ -1 +1 @@ +-#define VERSION_BASE "3.0" ++#define VERSION_BASE "3.0.1" 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/BgeeCall/BgeeCall-1.16.0-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/b/BgeeCall/BgeeCall-1.16.0-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..b1dd59c835c --- /dev/null +++ b/easybuild/easyconfigs/b/BgeeCall/BgeeCall-1.16.0-foss-2021a-R-4.1.0.eb @@ -0,0 +1,77 @@ +easyblock = 'Bundle' + +name = 'BgeeCall' +version = '1.16.0' +versionsuffix = '-R-%(rver)s' + +# While BgeeCall does not require the latest Bioconductor dependencies +# we search the latest Bioconductor release archive for them +local_bioc_version = 3.17 + +homepage = 'https://github.com/BgeeDB/BgeeCall' +description = """Automatic RNA-Seq present/absent gene expression calls generation""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('R', '4.1.0'), +] + +dependencies = [ + ('R-bundle-Bioconductor', '3.13', versionsuffix), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_bioc_version, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_bioc_version, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_bioc_version, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_bioc_version, + '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' +} + +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 !! +exts_list = [ + ('insight', '0.19.3', { + 'checksums': ['ff1f39b15e84f671f1602e5f7ef646d0f1c25ea63ad87c272a58e25d8b8d887e'], + }), + ('datawizard', '0.8.0', { + 'checksums': ['13a3ed4f36157b18955dcbcb5a1f81a0d913349312cd44141f0afde16a3d22a2'], + }), + ('sjlabelled', '1.2.0', { + 'checksums': ['731c7e907361971dbc890ad80bc95a38ecc38455a0217fdbc3dbb7c60b3648ed'], + }), + ('sjmisc', '2.8.9', { + 'checksums': ['78b05741ce9e1cc783fda97a0f18caff689822fdd4bdf733dc20f7c94ac2f3bf'], + }), + ('rslurm', '0.6.2', { + 'checksums': ['540158ece7d838c9630886f37e0960353038fefa4f9cc374004240b767f6b47c'], + }), + (name, version, { + 'checksums': ['80dabc64b8eb13f9937852f433ef6919ebcf1583ece8eb78872b147c3bd30349'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BgeeDB/BgeeDB-2.26.0-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/b/BgeeDB/BgeeDB-2.26.0-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..3850829898d --- /dev/null +++ b/easybuild/easyconfigs/b/BgeeDB/BgeeDB-2.26.0-foss-2021a-R-4.1.0.eb @@ -0,0 +1,66 @@ +easyblock = 'Bundle' + +name = 'BgeeDB' +version = '2.26.0' +versionsuffix = '-R-%(rver)s' + +# This library does not need last Bioconductor dependencies +# but better to have its last version from the last Bioconductor version +local_bioc_version = 3.17 + +homepage = 'https://github.com/BgeeDB/BgeeDB_R' +description = """Annotation and gene expression data retrieval from Bgee database. +TopAnat, an anatomical entities Enrichment Analysis tool for UBERON ontology.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('R', '4.1.0'), +] + +dependencies = [ + ('R-bundle-Bioconductor', '3.13', versionsuffix), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_bioc_version, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_bioc_version, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_bioc_version, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_bioc_version, + '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' +} + +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 !! +exts_list = [ + ('topGO', '2.52.0', { + 'checksums': ['c29815ef354c605ad01a856ba61e8bfa6063b0245f6e621187f8a001e396722b'], + }), + (name, version, { + 'checksums': ['f0127b77c305ac0930fb412b5e18ea79f24acd5e242e058d77b4c5add609dbe8'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' 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/BiG-SCAPE/BiG-SCAPE-1.1.9-foss-2023b.eb b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.9-foss-2023b.eb new file mode 100644 index 00000000000..59f7c1a7cd5 --- /dev/null +++ b/easybuild/easyconfigs/b/BiG-SCAPE/BiG-SCAPE-1.1.9-foss-2023b.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonPackage' + +name = 'BiG-SCAPE' +version = '1.1.9' + +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': '2023b'} + +github_account = 'medema-group' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'BiG-SCAPE-1.1.5_use_env_var_for_html.patch', + 'BiG-SCAPE-1.1.5_use_correct_name_for_FastTree.patch', +] +checksums = [ + {'v1.1.9.tar.gz': 'ef0ddb5b433e0b1467ae5f96037fd6d23ebcba6bc08201d1421eba35d072e534'}, + {'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.11.5'), + ('SciPy-bundle', '2023.11'), + ('Biopython', '1.84'), + ('scikit-learn', '1.4.0'), + ('networkx', '3.2.1'), + ('HMMER', '3.4'), + ('FastTree', '2.1.11'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'bigscape'} + +local_lib_py_bigscape_path = 'lib/python%(pyshortver)s/site-packages/bigscape' + +sanity_check_paths = { + 'files': ['bin/bigscape'], + 'dirs': [local_lib_py_bigscape_path], +} + +sanity_check_commands = [ + 'bigscape --help', +] + +modextravars = { + 'BIG_SCAPE_HTML_PATH': '%(installdir)s/' + local_lib_py_bigscape_path, +} + +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/BiasAdjustCXX/BiasAdjustCXX-1.9.1-gompi-2021b.eb b/easybuild/easyconfigs/b/BiasAdjustCXX/BiasAdjustCXX-1.9.1-gompi-2021b.eb new file mode 100644 index 00000000000..650d8a2217b --- /dev/null +++ b/easybuild/easyconfigs/b/BiasAdjustCXX/BiasAdjustCXX-1.9.1-gompi-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'BiasAdjustCXX' +version = '1.9.1' + +homepage = "https://biasadjustcxx.readthedocs.io/en/latest/" + +description = """ +BiasAdjustCXX command-line tool for the application of fast and efficient bias corrections in climatic research +""" + +# Note: A compiler bug(?) in template deduction prevents newer versions of icpc to compile this software. +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/btschwertfeger/BiasAdjustCXX/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9f2988d0b1676c57037cdb5cbb4e313b31c4fc08a1ea8a55ea5eccc5a2bc5861'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +dependencies = [ + ('netCDF', '4.8.1'), + ('netCDF-C++4', '4.3.1'), + ('CDO', '2.0.5'), +] + +preconfigopts = 'CXXFLAGS="$CXXFLAGS -lnetcdf -lpthread" ' + +sanity_check_paths = { + 'files': ['bin/BiasAdjustCXX'], + 'dirs': [] +} + +sanity_check_commands = ['BiasAdjustCXX --help'] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1-foss-2021b.eb b/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1-foss-2021b.eb new file mode 100644 index 00000000000..cfe636d5d2b --- /dev/null +++ b/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1-foss-2021b.eb @@ -0,0 +1,85 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'Binary' + +name = 'BigDFT' +version = '1.9.1' + +homepage = 'https://gitlab.com/l_sim/bigdft-suite' +description = """BigDFT: electronic structure calculation based on Daubechies wavelets. +bigdft-suite is a set of different packages to run bigdft.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +local_extra_flags = '-fallow-argument-mismatch' +toolchainopts = { + 'usempi': True, + 'extra_fflags': local_extra_flags, 'extra_fcflags': local_extra_flags, 'extra_f90flags': local_extra_flags, +} + +source_urls = ['https://gitlab.com/l_sim/bigdft-suite/-/archive/%(version)s/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = ['BigDFT-1.9.1_fix-index-bug.patch'] +checksums = [ + '3c334da26d2a201b572579fc1a7f8caad1cbf971e848a3e10d83bc4dc8c82e41', # bigdft-suite-1.9.1.tar.gz + 'df887c4df1eb3aa4bfe70e52c405525079bcfa54ac26ec5b8f2511fb6204d179', # BigDFT-1.9.1_fix-index-bug.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('OpenCV', '4.5.5', '-contrib'), + ('XZ', '5.2.5'), + ('libarchive', '3.5.1'), + ('bzip2', '1.0.8'), + ('attr', '2.5.1'), + ('libyaml', '0.2.5'), +] + +extract_sources = True + +local_install_opts = '--enable-mpi --with-yaml-path=\\"$EBROOTLIBYAML\\" ' +local_install_opts += '--with-ext-linalg=\\"-L$SCALAPACK_LIB_DIR $LIBSCALAPACK -L$LAPACK_LIB_DIR $LIBBLAS\\" ' +# make sure that Python packages like futile are installed to right location by BigDFT install script +local_install_opts += '--with-python_prefix=%(builddir)s/bigdft-suite-%(version)s/bigdft_builddir/install ' +local_install_opts += 'CC=\\"$MPICC\\" FC=\\"$MPIFC\\" ' +local_install_opts += 'FCFLAGS=\\"$CPPFLAGS $FCFLAGS -fallow-argument-mismatch -std=legacy\\" ' +local_install_opts += 'FFLAGS=\\"$CPPFLAGS $FFLAGS -fallow-argument-mismatch -std=legacy\\" ' +local_install_opts += 'F90FLAGS=\\"$CPPFLAGS $F90FLAGS -fallow-argument-mismatch -std=legacy\\" ' + +install_cmd = "mkdir bigdft_builddir && cd bigdft_builddir && " +install_cmd += "python3 ../Installer.py build bigdft -y -v -c %s && " % local_install_opts +install_cmd += "cp -a install/* %(installdir)s" + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/bigdft', 'bin/bigdftvars.sh', 'include/futile.mod', 'include/futile.h', + 'lib/python%(pyshortver)s/site-packages/BigDFT/Systems.py', + 'lib/libbigdft-1.a'], + 'dirs': [], +} + +local_test_script = """ +from BigDFT.Systems import System +from BigDFT.Fragments import Fragment +from BigDFT.IO import XYZReader +N2 = System() +with XYZReader("N2") as ifile: + N2["N:0"] = Fragment([next(ifile)]) + N2["N:1"] = Fragment([next(ifile)]) +print(N2.get_posinp()) +""" + +local_sanity_cmd = "tmpdir=$(mktemp -d) && echo '" + local_test_script + "' > " + "$tmpdir/bigdft_test.py && " +local_sanity_cmd += "python $tmpdir/bigdft_test.py && rm -r $tmpdir" + +sanity_check_commands = [ + "bigdft -h", + local_sanity_cmd, +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1_fix-index-bug.patch b/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1_fix-index-bug.patch new file mode 100644 index 00000000000..0aa60536adf --- /dev/null +++ b/easybuild/easyconfigs/b/BigDFT/BigDFT-1.9.1_fix-index-bug.patch @@ -0,0 +1,22 @@ +# same effect as patch for futile (futile_index_bug.patch), except due to directory structure, must be regenerated +# fix the redefinition of an index variable caught by GCC 11 +# Author: Denis Kristak (Inuits) +diff -ruN bigdft-suite-1.9.1_orig/futile/flib/f_input_file.f90 bigdft-suite-1.9.1/futile/flib/f_input_file.f90 +--- bigdft-suite-1.9.1_orig/futile/flib/f_input_file.f90 2022-02-22 10:55:06.924505000 +0100 ++++ bigdft-suite-1.9.1/futile/flib/f_input_file.f90 2022-02-22 10:55:57.462690000 +0100 +@@ -172,7 +172,6 @@ + type(dictionary), pointer :: dict + character(len = *), intent(in) :: file, key + +- integer :: i + type(dictionary), pointer :: ref,iter + character(len = max_field_length) :: val, profile_ + double precision, dimension(2) :: rg +@@ -366,6 +365,7 @@ + character(max_field_length), dimension(:), allocatable :: keys + double precision :: var + integer :: dlen, skeys ++ integer :: i + + if (associated(dict%child)) then + if (dict_len(dict) >= 1) then diff --git a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb index 147bdf54a23..124fad4ecbe 100644 --- a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-10.2.0.eb @@ -20,6 +20,8 @@ dependencies = [ ('HTSlib', '1.11'), ] +preconfigopts = "env HTSLIB_DIR=$EBROOTHTSLIB" + options = {'modulename': 'Bio::DB::HTS'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.2.0.eb new file mode 100644 index 00000000000..87359ee843c --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.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': '11.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.8.0')] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), + ('HTSlib', '1.14'), +] + +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/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.3.0.eb new file mode 100644 index 00000000000..68542cd0dae --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-DB-HTS/Bio-DB-HTS-3.01-GCC-11.3.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': '11.3.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.8.0')] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('HTSlib', '1.15.1'), +] + +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/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/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..703507a8069 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-FeatureIO/Bio-FeatureIO-1.6.905-GCCcore-12.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PerlModule' + +name = 'Bio-FeatureIO' +version = '1.6.905' + +homepage = 'https://metacpan.org/pod/Bio::FeatureIO' +description = "An I/O iterator subsystem for genomic sequence features" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), + ('BioPerl', '1.7.8'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('XML::XPathEngine', '0.14', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD/'], + 'sources': ['XML-XPathEngine-%(version)s.tar.gz'], + 'checksums': ['d2fe7bcbbd0beba1444f4a733401e7b8aa5282fad4266d42735dd74582b2e264'], + }), + ('XML::DOM::XPath', '0.14', { + 'patches': ['XML-DOM-XPath-0.14_fix-test.patch'], + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'sources': ['XML-DOM-XPath-%(version)s.tar.gz'], + 'checksums': [ + {'XML-DOM-XPath-0.14.tar.gz': '0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'}, + {'XML-DOM-XPath-0.14_fix-test.patch': 'c93f3e4bf3ead76dd1a167cee963cc81cd5409ea95d3c6a01d93369f4267648e'}, + ], + }), + ('Bio::FeatureIO', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'sources': ['Bio-FeatureIO-%(version)s.tar.gz'], + 'checksums': ['322e5757b374f2fb90b8f20bdbdc75631f5cb4d122f81a4d35c3a177cf950c7a'], + }), +] + +options = {'modulename': 'Bio::FeatureIO'} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/Bio/FeatureIO.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/Bio/FeatureIO'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch b/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch new file mode 100644 index 00000000000..164f74f9cc3 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-FeatureIO/XML-DOM-XPath-0.14_fix-test.patch @@ -0,0 +1,16 @@ +fix for failing test: + The encoding pragma is no longer supported. Check cperl at t/test_non_ascii.t line 10. + BEGIN failed--compilation aborted at t/test_non_ascii.t line 10. +see https://rt.cpan.org/Public/Bug/Display.html?id=115098 +diff -rup XML-DOM-XPath-0.14-_1HaPx-orig/t/test_non_ascii.t XML-DOM-XPath-0.14-_1HaPx/t/test_non_ascii.t +--- XML-DOM-XPath-0.14-_1HaPx-orig/t/test_non_ascii.t 2016-07-14 22:05:39.000000000 -0700 ++++ XML-DOM-XPath-0.14-_1HaPx/t/test_non_ascii.t 2016-07-14 22:05:56.000000000 -0700 +@@ -7,7 +7,7 @@ use strict; + use Test::More tests => 10; + use XML::DOM::XPath; + +-use encoding 'utf8'; ++use utf8; + + my $display_warning=0; + diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.2.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.2.0.eb new file mode 100644 index 00000000000..124e6f88759 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.32.0'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..c6795ce66cd --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.32.1'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb new file mode 100755 index 00000000000..89b75450d94 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..840b2a8d6fa --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-12.2.0.eb new file mode 100644 index 00000000000..d21b8fbf389 --- /dev/null +++ b/easybuild/easyconfigs/b/Bio-SearchIO-hmmer/Bio-SearchIO-hmmer-1.7.3-GCC-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PerlModule' + +name = 'Bio-SearchIO-hmmer' +version = '1.7.3' + +homepage = 'https://metacpan.org/pod/Bio::SearchIO::hmmer3' +description = """Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible +with both version 2 and version 3 of the HMMER package from http://hmmer.org.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'] +sources = [SOURCE_TAR_GZ] +checksums = ['686152f8ce7c611d27ee35ac002ecc309f6270e289a482993796a23bb5388246'] + +dependencies = [ + ('Perl', '5.36.0'), + ('BioPerl', '1.7.8'), +] + +options = {'modulename': 'Bio::SearchIO::hmmer3'} + +sanity_check_paths = { + 'files': ['bin/bp_%s.pl' % x for x in ['hmmer_to_table', 'parse_hmmsearch']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e9f1133c432 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-10.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +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': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Perl', '5.32.1'), + ('XML-LibXML', '2.0207'), + ('DB_File', '1.856'), +] + +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'], + }), + ('XML::DOM::XPath', '0.14', { + 'source_tmpl': 'XML-DOM-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'], + }), + ('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'], + }), + ('BioPerl', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'], + }), +] + +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/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d1ad252dc52 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +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': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Perl', '5.34.0'), + ('XML-LibXML', '2.0207'), + ('DB_File', '1.857'), +] + +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'], + }), + ('XML::DOM::XPath', '0.14', { + 'source_tmpl': 'XML-DOM-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'], + }), + ('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'], + }), + ('BioPerl', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'], + }), +] + +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/BioPerl/BioPerl-1.7.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..72311a255bb --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +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': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('XML-LibXML', '2.0207'), + ('DB_File', '1.858'), +] + +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'], + }), + ('XML::DOM::XPath', '0.14', { + 'source_tmpl': 'XML-DOM-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['0173a74a515211997a3117a47e7b9ea43594a04b865b69da5a71c0886fa829ea'], + }), + ('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'], + }), + ('Bio::DB::SeqFeature', '1.7.4', { + 'source_tmpl': 'Bio-DB-SeqFeature-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['f2304f95fb77a12732b1883817525609e54fa70b2638ed2de0696d503407fe91'], + }), + (name, version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJFIELDS/'], + 'checksums': ['c490a3be7715ea6e4305efd9710e5edab82dabc55fd786b6505b550a30d71738'], + }), +] + +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/BioPerl/BioPerl-1.7.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e8e52099b07 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-12.2.0.eb @@ -0,0 +1,56 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Fred Hutchinson Cancer Research Center +# Thomas Eylenbosch - Gluo NV + +easyblock = 'Bundle' + +name = 'BioPerl' +version = '1.7.8' + +homepage = 'http://www.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.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Perl', '5.36.0'), + ('XML-LibXML', '2.0208'), +] + +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/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..4212570abb1 --- /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 = 'Bundle' + +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/BioPerl/BioPerl-1.7.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ba3029a6a41 --- /dev/null +++ b/easybuild/easyconfigs/b/BioPerl/BioPerl-1.7.8-GCCcore-13.3.0.eb @@ -0,0 +1,58 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Fred Hutchinson Cancer Research Center +# Thomas Eylenbosch - Gluo NV + +easyblock = 'Bundle' + +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': '13.3.0'} + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Perl', '5.38.2'), + ('Perl-bundle-CPAN', '5.38.2'), + ('XML-LibXML', '2.0210'), + ('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.76-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.76-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..a669640f918 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.76-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.76' +versionsuffix = '-Python-%(pyver)s' + +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': '2021b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3873cb98dad5e28d5e3f2215a012565345a398d3d2c4eebf7cd701757b828c72'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix), +] + +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/Biopython/Biopython-1.79-foss-2021a.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2021a.eb new file mode 100644 index 00000000000..bc0859cd2c7 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2021a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.79' + +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': '2021a'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['edb07eac99d3b8abd7ba56ff4bedec9263f76dfc3c3f450e7d2e2bcdecf8559b'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +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/Biopython/Biopython-1.79-foss-2021b.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2021b.eb new file mode 100644 index 00000000000..bca044875eb --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2021b.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.79' + +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': '2021b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['edb07eac99d3b8abd7ba56ff4bedec9263f76dfc3c3f450e7d2e2bcdecf8559b'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +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/Biopython/Biopython-1.79-foss-2022a.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2022a.eb new file mode 100644 index 00000000000..2633521f6e2 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-foss-2022a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.79' + +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': '2022a'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['edb07eac99d3b8abd7ba56ff4bedec9263f76dfc3c3f450e7d2e2bcdecf8559b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +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/Biopython/Biopython-1.79-intel-2021b.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-intel-2021b.eb new file mode 100644 index 00000000000..c827cb1cdb5 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.79-intel-2021b.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.79' + +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': 'intel', 'version': '2021b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['edb07eac99d3b8abd7ba56ff4bedec9263f76dfc3c3f450e7d2e2bcdecf8559b'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +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/Biopython/Biopython-1.81-foss-2022b.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2022b.eb new file mode 100644 index 00000000000..f8464fcb939 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.81-foss-2022b.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.81' + +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': '2022b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +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/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/Biopython/Biopython-1.84-foss-2023b.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.84-foss-2023b.eb new file mode 100644 index 00000000000..03c23f41186 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.84-foss-2023b.eb @@ -0,0 +1,46 @@ +# Updated from previous easyconfig +# Author: Robert Mijakovic +# Update: Pavel Tománek (INUITS) + +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.84' + +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': '2023b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['60fbe6f996e8a6866a42698c17e552127d99a9aab3259d6249fbaabd0e0cc7b4'] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +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/Biotite/Biotite-0.41.0-gfbf-2023a.eb b/easybuild/easyconfigs/b/Biotite/Biotite-0.41.0-gfbf-2023a.eb new file mode 100644 index 00000000000..8d4385e45f5 --- /dev/null +++ b/easybuild/easyconfigs/b/Biotite/Biotite-0.41.0-gfbf-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'Biotite' +version = '0.41.0' + +homepage = 'https://www.biotite-python.org/' +description = """Biotite is your Swiss army knife for bioinformatics. Whether you want to +identify homologous sequence regions in a protein family or you would like to +find disulfide bonds in a protein structure: Biotite has the right tool for +you. This package bundles popular tasks in computational molecular biology into +a uniform Python library.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), +] + +use_pip = True + +exts_list = [ + ('biotite', version, { + 'checksums': ['a5fddb4d738291772735cf04dfa8b642e0bdd6b4c2c0c71e2db727c0a66bd106'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bismark/Bismark-0.23.1-foss-2021b.eb b/easybuild/easyconfigs/b/Bismark/Bismark-0.23.1-foss-2021b.eb new file mode 100644 index 00000000000..1034b4e9a44 --- /dev/null +++ b/easybuild/easyconfigs/b/Bismark/Bismark-0.23.1-foss-2021b.eb @@ -0,0 +1,41 @@ +## +# 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 +# +# Updated to 0.23.1 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Bismark' +version = '0.23.1' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/bismark/' +description = "A tool to map bisulfite converted sequence reads and determine cytosine methylation states" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/FelixKrueger/Bismark/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2ceb620cfc3f1c869f4bda656ab01c242f1da7ec01615b0d23b28c702147a337'] + +dependencies = [ + ('Perl', '5.34.0'), + ('Bowtie2', '2.4.4'), + ('SAMtools', '1.14'), +] + +sanity_check_commands = ['bismark --help'] + +sanity_check_paths = { + 'files': ['bismark', 'bismark2bedGraph', 'bismark2report', 'bismark_genome_preparation', + 'bismark_methylation_extractor', 'coverage2cytosine', 'deduplicate_bismark'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..29cad67bb97 --- /dev/null +++ b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.0-GCC-11.3.0.eb @@ -0,0 +1,41 @@ +## +# 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 +# +# Updated to 0.23.1 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Bismark' +version = '0.24.0' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/bismark/' +description = "A tool to map bisulfite converted sequence reads and determine cytosine methylation states" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/FelixKrueger/Bismark/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dd58957bd6eac44f3a6e74e9a5ef69c8d19da0e0b64feb7d019a994fe6087d7d'] + +dependencies = [ + ('Perl', '5.34.1'), + ('Bowtie2', '2.4.5'), + ('SAMtools', '1.16.1'), +] + +sanity_check_commands = ['bismark --help'] + +sanity_check_paths = { + 'files': ['bismark', 'bismark2bedGraph', 'bismark2report', 'bismark_genome_preparation', + 'bismark_methylation_extractor', 'coverage2cytosine', 'deduplicate_bismark'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bismark/Bismark-0.24.1-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..324c2f74ac2 --- /dev/null +++ b/easybuild/easyconfigs/b/Bismark/Bismark-0.24.1-GCC-12.2.0.eb @@ -0,0 +1,41 @@ +## +# 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 +# +# Updated to 0.23.1 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Bismark' +version = '0.24.1' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/bismark/' +description = "A tool to map bisulfite converted sequence reads and determine cytosine methylation states" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/FelixKrueger/Bismark/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c5409f5fa470ea5ac07327ced28c60b793f5ef88c5a7bc75b71dde0f52f39894'] + +dependencies = [ + ('Perl', '5.36.0'), + ('Bowtie2', '2.5.1'), + ('SAMtools', '1.17'), +] + +sanity_check_commands = ['bismark --help'] + +sanity_check_paths = { + 'files': ['bismark', 'bismark2bedGraph', 'bismark2report', 'bismark_genome_preparation', + 'bismark_methylation_extractor', 'coverage2cytosine', 'deduplicate_bismark'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.2-binutils-2.25.eb index 9fe7a6ae5b3..8176cae55eb 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.2-binutils-2.25.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-binutils-2.25.eb index ac0a67174d3..0768a39fbc4 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-4.9.3-binutils-2.25.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-5.1.0-binutils-2.25.eb index ef2c714b609..8a0e1981820 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCC-5.1.0-binutils-2.25.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb index 60fefc39bf5..a06558cc2cb 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.2.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.3.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.3.eb index d968d2c56be..79f08754508 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.3.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.4.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.4.eb index 01ec53eafb9..cd8a216a60e 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.4.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-4.9.4.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.25', '', True), + ('binutils', '2.25', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb index 0fc748e278b..2703ab53907 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.3.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb index 82200e98744..585c3a2730a 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.4.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.5.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.5.0.eb index 61b101b4d57..ab8762d3b91 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-5.5.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.1.0.eb index dab8d891914..0294b6dc75e 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.1.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.2.0.eb index da4efd77c4a..fc56131f50f 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.2.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.17'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.3.0.eb index 5a746f36187..5b4b26b3b8a 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.3.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.4.0.eb index cd56e251253..0c3cd239602 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-6.4.0.eb @@ -24,7 +24,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.1.0.eb index cfb4a2fcbf0..e43482d5649 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.1.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.2.0.eb index 0e32b008b26..ce7fec7fcfa 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.2.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.29', '', True), + ('binutils', '2.29', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb index ec463c45cfa..2de144d05ab 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb index d0e9458243e..6ed65c27da2 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.4-GCCcore-8.1.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-5.5.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-5.5.0.eb index a9e1ab6bf9f..5209b761d92 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-5.5.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.3.0.eb index 0dfdab7a31f..4043ac56cd3 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.3.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.4.0.eb index e7ec0780223..db24b4bf394 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-6.4.0.eb @@ -20,7 +20,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.2.0.eb index b38f9eaef5a..966f9bd8f1e 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.2.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.29', '', True), + ('binutils', '2.29', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb index 957290a803b..eb4866bb158 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.1.0.eb index ec067261a20..65af1da859e 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.1.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.2.0.eb index 56d6cbacbbf..35c51fb65f2 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.0.5-GCCcore-8.2.0.eb @@ -16,7 +16,7 @@ checksums = ['cd399d2bee33afa712bac4b1f4434e20379e9b4099bce47189e09a7675a2d566'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.2.2-GCCcore-7.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.2.2-GCCcore-7.4.0.eb index 89abd0d346f..fcc092af430 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.2.2-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.2.2-GCCcore-7.4.0.eb @@ -16,7 +16,7 @@ checksums = ['3ffd2201041c6c56064b4bdad4dfb8959751efbefa823775242b4f32aa37786c'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.2.0.eb index e6731677f86..93c8a305b46 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.2.0.eb @@ -16,7 +16,7 @@ checksums = ['0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.3.0.eb index d6c005dfb35..cea2cb041fc 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.3.0.eb @@ -16,7 +16,7 @@ checksums = ['0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.4.0.eb index 2530ede83d4..a9eb850d760 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-8.4.0.eb @@ -16,7 +16,7 @@ checksums = ['0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.1.0.eb index b46a869bd63..0fb633083da 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.1.0.eb @@ -16,7 +16,7 @@ checksums = ['0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.2.0.eb index 5193a9f616f..358a90c1322 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.3.2-GCCcore-9.2.0.eb @@ -16,7 +16,7 @@ checksums = ['0fda1d034185397430eb7b0c9e140fb37e02fbfc53b90252fa5575e382b6dbd1'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..7924ce69695 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.5.3' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['34e201d963156618a0ea5bc87220f660a1e08403dd3c7c7903d4f38db3f40039'] + +builddependencies = [ + ('M4', '1.4.18'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.35', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-9.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-9.3.0.eb index 2da53fce904..f9deb82e85d 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.5.3-GCCcore-9.3.0.eb @@ -16,7 +16,7 @@ checksums = ['34e201d963156618a0ea5bc87220f660a1e08403dd3c7c7903d4f38db3f40039'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.6.1-GCCcore-10.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.6.1-GCCcore-10.1.0.eb index b30667a9417..adb0912d13d 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.6.1-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.6.1-GCCcore-10.1.0.eb @@ -16,7 +16,7 @@ checksums = ['1120f8bfe2cc13e5e1e3f671dc41b1a535ca5a75a70d5b349c19da9d4389f74d'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.1-GCCcore-10.2.0.eb index 55d04ef9b9d..8edc3c84d84 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.7.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.1-GCCcore-10.2.0.eb @@ -16,7 +16,7 @@ checksums = ['1dd952839cf0d5a8178c691eeae40dc48fa50d18dcce648b1ad9ae0195367d13'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.35', '', True), + ('binutils', '2.35', '', SYSTEM), ] 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/Bison/Bison-3.7.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-10.3.0.eb index 8c2f1680328..1b290ba82b4 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-10.3.0.eb @@ -16,7 +16,7 @@ checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.1.0.eb index d5ee76339b3..6add8cb0941 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.1.0.eb @@ -16,7 +16,7 @@ checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea'] builddependencies = [ ('M4', '1.4.18'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2f5f0c2547d --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.7.6' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.37', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-9.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-9.4.0.eb index 7b61d615084..e5d42bae065 100644 --- a/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/b/Bison/Bison-3.7.6-GCCcore-9.4.0.eb @@ -16,7 +16,7 @@ checksums = ['69dc0bb46ea8fc307d4ca1e0b61c8c355eb207d0b0c69f4f8462328e74d7b9ea'] builddependencies = [ ('M4', '1.4.19'), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..51a53e9d6fa --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.38', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.4.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..527f9ab53d1 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-11.4.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.40', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..d87bb83ccc5 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.38', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..adcb9e42b3c --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.39', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..36f8bac232a --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.40', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..859d6c75e5a --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.40', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..77e6f24f18e --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.40', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..168af69373e --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.42', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..dc255caae50 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.42', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.2.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..427ebbbe2b7 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-14.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.42', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-9.5.0.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..82a5c2763df --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2-GCCcore-9.5.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' +description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar + into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), + # use same binutils version that was used when building GCCcore toolchain + ('binutils', '2.38', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Bison/Bison-3.8.2.eb b/easybuild/easyconfigs/b/Bison/Bison-3.8.2.eb new file mode 100644 index 00000000000..22f927345d6 --- /dev/null +++ b/easybuild/easyconfigs/b/Bison/Bison-3.8.2.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Bison' +version = '3.8.2' + +homepage = 'https://www.gnu.org/software/bison' + +description = """ + Bison is a general-purpose parser generator that converts an annotated + context-free grammar into a deterministic LR or generalized LR (GLR) parser + employing LALR(1) parser tables. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bison', 'yacc']] + [('lib/liby.a', 'lib64/liby.a')], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/Blender/Blender-2.79b-foss-2018b-Python-3.6.6-CUDA-9.2.88.eb b/easybuild/easyconfigs/b/Blender/Blender-2.79b-foss-2018b-Python-3.6.6-CUDA-9.2.88.eb index 8b80ac71ba2..f85a0804f2a 100644 --- a/easybuild/easyconfigs/b/Blender/Blender-2.79b-foss-2018b-Python-3.6.6-CUDA-9.2.88.eb +++ b/easybuild/easyconfigs/b/Blender/Blender-2.79b-foss-2018b-Python-3.6.6-CUDA-9.2.88.eb @@ -24,7 +24,7 @@ dependencies = [ ('libGLU', '9.0.0'), ('OpenColorIO', '1.1.0'), # for advanced color management ('OpenImageIO', '1.8.16'), # required for cycles render engine - ('CUDA', local_cuda_ver, '', True), + ('CUDA', local_cuda_ver, '', SYSTEM), ] builddependencies = [('CMake', '3.12.1')] diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.0.0-linux-x64.eb b/easybuild/easyconfigs/b/Blender/Blender-3.0.0-linux-x64.eb new file mode 100644 index 00000000000..0d0c2f24298 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.0.0-linux-x64.eb @@ -0,0 +1,36 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.0.0' +versionsuffix = '-linux-x64' + +homepage = 'https://www.blender.org' +description = """ +Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline, +modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video +editing and game creation. +""" + +toolchain = SYSTEM + +source_urls = ['http://ftp.nluug.nl/pub/graphics/%(namelower)s/release/%(name)s%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s-linux-x64.tar.xz'] +checksums = ['19b09dfcf5d3f3a068827454f0a704a9aa9c826350f73016121afef5f4d287ce'] + +dependencies = [ + ('CUDA', '11.4.1'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': ['%(version_major_minor)s'], +} + +modaliases = { + 'blender': 'blender -- --cycles-device CUDA', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.1.2-linux-x64.eb b/easybuild/easyconfigs/b/Blender/Blender-3.1.2-linux-x64.eb new file mode 100644 index 00000000000..83ec0cd1fd3 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.1.2-linux-x64.eb @@ -0,0 +1,36 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.1.2' +versionsuffix = '-linux-x64' + +homepage = 'https://www.blender.org' +description = """ +Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline, +modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video +editing and game creation. +""" + +toolchain = SYSTEM + +source_urls = ['http://ftp.nluug.nl/pub/graphics/%(namelower)s/release/%(name)s%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s-linux-x64.tar.xz'] +checksums = ['c1d345b25c6f83708b2681d354d70a3e6023c04bb73cc7943366c0c19e542958'] + +dependencies = [ + ('CUDA', '11.4.1'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': ['%(version_major_minor)s'], +} + +modaliases = { + 'blender': 'blender -- --cycles-device CUDA', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.2.2-linux-x64.eb b/easybuild/easyconfigs/b/Blender/Blender-3.2.2-linux-x64.eb new file mode 100644 index 00000000000..d1b1e54af9d --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.2.2-linux-x64.eb @@ -0,0 +1,36 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.2.2' +versionsuffix = '-linux-x64' + +homepage = 'https://www.blender.org' +description = """ +Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline, +modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video +editing and game creation. +""" + +toolchain = SYSTEM + +source_urls = ['http://ftp.nluug.nl/pub/graphics/%(namelower)s/release/%(name)s%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s-linux-x64.tar.xz'] +checksums = ['1726560157d90cf2aaaeb6d25ded1783d66bff043814cd95b90fc0af1d9e018b'] + +dependencies = [ + ('CUDA', '11.7.0'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': ['%(version_major_minor)s'], +} + +modaliases = { + 'blender': 'blender -- --cycles-device CUDA', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 00000000000..096a48791f5 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.3.1-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.3.1' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['3089a485dd621785d7a702089aba72d07b8f733a362e901ec1449b9a379546f2'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c0149a3b2ea --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.4.1' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['1497f83f93e9bbbde745422c795ed10fe15f92f5622b4421768f149fbe776981'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b63f52585f9 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.5.0-linux-x86_64-CUDA-11.7.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.5.0' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['a74d52822d5753a1ffb617ac764bbacc12a4a6dec4c2b91e90cc2935a40fff68'] + +dependencies = [ + ('CUDA', '11.7.0') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-3.6.5-linux-x86_64-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/Blender/Blender-3.6.5-linux-x86_64-CUDA-12.1.1.eb new file mode 100644 index 00000000000..fadb75dfc5d --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-3.6.5-linux-x86_64-CUDA-12.1.1.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '3.6.5' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['05b2e56249a92b856c8b7b4d77c65e245702aaa81d9b4f34734ec09bbcedf42b'] + +dependencies = [ + ('CUDA', '12.1.1') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blender/Blender-4.0.1-linux-x86_64-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/Blender/Blender-4.0.1-linux-x86_64-CUDA-12.1.1.eb new file mode 100644 index 00000000000..670a55cba67 --- /dev/null +++ b/easybuild/easyconfigs/b/Blender/Blender-4.0.1-linux-x86_64-CUDA-12.1.1.eb @@ -0,0 +1,29 @@ +easyblock = 'PackedBinary' + +name = 'Blender' +version = '4.0.1' +versionsuffix = '-linux-x86_64-CUDA-%(cudaver)s' + +homepage = 'https://www.blender.org/' +description = """Blender is the free and open source 3D creation suite. It supports + the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, + compositing and motion tracking, even video editing and game creation.""" + +toolchain = SYSTEM + +source_urls = ['https://ftp.nluug.nl/pub/graphics/blender/release/Blender%(version_major_minor)s/'] +sources = ['blender-%(version)s-linux-x64.tar.xz'] +checksums = ['1b22016388997b373970819e0d0c352a1f769c46df919db95c037985af073882'] + +dependencies = [ + ('CUDA', '12.1.1') +] + +sanity_check_paths = { + 'files': ['blender', 'blender-softwaregl'], + 'dirs': ['%(version_major_minor)s'], +} + +sanity_check_commands = ["blender --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..8dfa22d145c --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +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': '10.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 = [ + '500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2', # 1.0.2.tar.gz + 'd15fb397e75eb009809ecacdd7f2f154ff05e6586895f3b0511d0b53a6e3b9fe', # blitz-1.0.2_pkgconfig.patch +] + +builddependencies = [('CMake', '3.18.4'), ('binutils', '2.35')] + +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/Blitz++/Blitz++-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cfd1839eb9d --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [('https://github.com/blitzpp/blitz/archive/')] +sources = ['%(version)s.tar.gz'] +patches = ['blitz-%(version)s_pkgconfig.patch'] +checksums = [ + '500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2', # 1.0.2.tar.gz + 'd15fb397e75eb009809ecacdd7f2f154ff05e6586895f3b0511d0b53a6e3b9fe', # blitz-1.0.2_pkgconfig.patch +] + +builddependencies = [('CMake', '3.23.1'), ('binutils', '2.38')] + +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/Blitz++/Blitz++-1.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a43fedf0271 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.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': '12.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 = [ + '500db9c3b2617e1f03d0e548977aec10d36811ba1c43bb5ef250c0e3853ae1c2', # 1.0.2.tar.gz + 'd15fb397e75eb009809ecacdd7f2f154ff05e6586895f3b0511d0b53a6e3b9fe', # blitz-1.0.2_pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3') +] + +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/Blitz++/Blitz++-1.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..eb9097baf3e --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/Blitz++-1.0.2-GCCcore-12.3.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': '12.3.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.26.3') +] + +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/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/Blitz++/blitz-1.0.2_pkgconfig.patch b/easybuild/easyconfigs/b/Blitz++/blitz-1.0.2_pkgconfig.patch new file mode 100644 index 00000000000..e379e5eddd4 --- /dev/null +++ b/easybuild/easyconfigs/b/Blitz++/blitz-1.0.2_pkgconfig.patch @@ -0,0 +1,14 @@ +# Correct pkgconfig file +# S.D.Pinches, 2022.08.23 +diff -Nru blitz-1.0.2-orig/cmake/CreatePkgConfig.cmake blitz-1.0.2/cmake/CreatePkgConfig.cmake +--- blitz-1.0.2-orig/cmake/CreatePkgConfig.cmake 2019-10-02 00:50:17.000000000 +0200 ++++ blitz-1.0.2/cmake/CreatePkgConfig.cmake 2022-08-23 16:24:41.509703369 +0200 +@@ -9,7 +9,7 @@ + exec_prefix=\${prefix} + libdir=\${prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=\${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +-confdir=\${prefix}/@CMAKE_INSTALL_LIBDIR@/@pkgconfig_package_name@ ++confdir=\${prefix}/lib/cmake + + Name: @pkgconfig_package_name@ + Description: @pkgconfig_package_description@ diff --git a/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb new file mode 100644 index 00000000000..f1e3f55e80b --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3-20200525-foss-2022a.eb @@ -0,0 +1,53 @@ +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': '2022a'} +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', +] +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'}, +] + +dependencies = [ + ('Boost.MPI', '1.79.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-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_replace_mpi_cxx_binds_with_boost_mpi.patch b/easybuild/easyconfigs/b/Block/Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch new file mode 100644 index 00000000000..f0b74d8ec73 --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3_replace_mpi_cxx_binds_with_boost_mpi.patch @@ -0,0 +1,107 @@ +From ced3681cd8c4fe5e10f84d23973ed0e5ee4e0098 Mon Sep 17 00:00:00 2001 +From: Matthias Degroote +Date: Sat, 13 Mar 2021 15:49:28 +0100 +Subject: [PATCH] Remove old c++ MPI bindings + +--- input.C.orig 2023-01-07 01:14:17.074836000 +0100 ++++ input.C 2023-01-17 14:22:56.060651139 +0100 +@@ -24,7 +24,6 @@ + #include + #ifndef SERIAL + #include +-#include "mpi.h" + #endif + #include + #include "fiedler.h" +@@ -1862,7 +1861,7 @@ + } + #ifndef SERIAL + //wait for all procs to zero out the memory +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + #endif + v1.set_data() = static_cast(region.get_address()) + (oneIntegralMem+twoIntegralMem)*integralIndex; + v2.set_data() = static_cast(region.get_address()) + oneIntegralMem + (oneIntegralMem+twoIntegralMem)*integralIndex; +@@ -1930,16 +1929,16 @@ + } + + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long intdim = oneIntegralMem+twoIntegralMem; + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i(region.get_address()) + intdim*integralIndex; + vcc.set_data() = static_cast(region.get_address()) + oneIntegralMem + intdim*integralIndex; +@@ -2302,15 +2301,15 @@ + dumpFile.close(); + } + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i(region.get_address()); + v2.set_data() = static_cast(region.get_address()) + oneIntegralMem; + vpt1.set_data() = static_cast(region.get_address()) + oneIntegralMem + twoIntegralMem; +@@ -2692,16 +2691,16 @@ + dumpFile.close(); + } + #ifndef SERIAL +- MPI::COMM_WORLD.Barrier(); ++ world.barrier(); + long intdim = oneIntegralMem+twoIntegralMem+PerturboneIntegralMem; + long maxint = 26843540; //mpi cannot transfer more than these number of doubles + long maxIter = intdim/maxint; + for (int i=0; i + 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/Block/Block-1.5.3_use-eb-environment.patch b/easybuild/easyconfigs/b/Block/Block-1.5.3_use-eb-environment.patch new file mode 100644 index 00000000000..158069810ec --- /dev/null +++ b/easybuild/easyconfigs/b/Block/Block-1.5.3_use-eb-environment.patch @@ -0,0 +1,71 @@ +Use build environment defined by EasyBuild +author: Nicholas Cheng (@nicholascheng94) +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2023-01-06 12:46:33.569558000 +0100 ++++ Makefile 2023-01-06 15:47:17.535047461 +0100 +@@ -8,16 +8,16 @@ + # change to icpc for Intel + #CXX = clang++ + #MPICXX = mpiicpc +-CXX = g++ +-MPICXX = mpic++ +-export CXX +-export MPICXX ++#CXX = g++ ++#MPICXX = mpic++ ++#export CXX ++#export MPICXX + + # BOOST include directory + #BOOSTDIR=/software/StackBlock/boost_1_58_0 + #BOOSTINCLUDE = ${BOOSTDIR}/include +-BOOSTDIR=/usr/lib +-BOOSTINCLUDE =/usr/include ++BOOSTDIR = $(EBROOTBOOST) ++BOOSTINCLUDE = ${BOOSTDIR}/include + + # set to yes if using BOOST version >= 1.56.0 + USE_BOOST56 = yes +@@ -35,7 +35,7 @@ + + #LAPACKBLAS = -lblas -llapack + #LAPACKBLAS = /usr/lib/liblapack.dylib /usr/lib/libblas.dylib +-LAPACKBLAS = ++LAPACKBLAS = ${LIBBLAS} + + # set if we will use MPI or OpenMP + USE_MPI = no +@@ -108,12 +108,12 @@ + MOLCAS_BLOCK= -DMOLCAS -fPIC + endif + +-FLAGS = -I${MKLFLAGS} -I$(INCLUDE1) -I$(INCLUDE2) -I$(NEWMATINCLUDE) -I$(BOOSTINCLUDE) -I$(MOLPROINCLUDE) \ ++FLAGS = $(CPPFLAGS) -I${MKLFLAGS} -I$(INCLUDE1) -I$(INCLUDE2) -I$(NEWMATINCLUDE) -I$(BOOSTINCLUDE) -I$(MOLPROINCLUDE) \ + -I$(HOME)/modules/generate_blocks/ -I$(HOME)/modules/onepdm -I$(HOME)/modules/twopdm/ \ + -I$(HOME)/modules/npdm -I$(HOME)/modules/two_index_ops -I$(HOME)/modules/three_index_ops -I$(HOME)/modules/four_index_ops -std=c++0x \ + -I$(HOME)/modules/ResponseTheory -I$(HOME)/modules/nevpt2 -I$(HOME)/molcas -I$(HOME)/modules/mps_nevpt + +-LIBS += -L$(NEWMATLIB) -lnewmat $(BOOSTLIB) $(LAPACKBLAS) $(MALLOC) ++LIBS := $(LDFLAGS) -L$(NEWMATLIB) -lnewmat $(BOOSTLIB) $(LAPACKBLAS) $(MALLOC) $(LIBS) -lrt + MPI_OPT = -DSERIAL + + +@@ -127,7 +127,7 @@ + #endif + endif + # Intel compiler +- OPT = -DNDEBUG -O2 -g -funroll-loops #-ipo ++ OPT = -DNDEBUG $(OPTFLAGS) -g -funroll-loops + # OPT = -g + # # Useful option to define a newer g++ binary if the default g++ is too old + # OPT += -gxx-name=g++-4.7 +--- newmat10/makefile.orig 2023-01-06 15:20:52.879226000 +0100 ++++ newmat10/makefile 2023-01-06 15:20:30.392463000 +0100 +@@ -1,6 +1,6 @@ + #CXX = g++ + $(info $(CXX)) +-CXXFLAGS = -fPIC -O2 -Wall ++#CXXFLAGS = -fPIC -O2 -Wall + + DIFF = ./sdiff + PRE = ./ diff --git a/easybuild/easyconfigs/b/Blosc/Blosc-1.21.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..5ba5c8fa001 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.0-GCCcore-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.0' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +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.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..35ae6fea852 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.1' + +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-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f387149eab24efa01c308e4cba0f59f64ccae57292ec9c794002232f7903b55b'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +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.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..115e49c59ac --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['941016c4564bca662080bb01aea74f06630bd665e598c6f6967fd91b2e2e0bb6'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +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.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a3e524a900f --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc/Blosc-1.21.3-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Blosc' +version = '1.21.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['941016c4564bca662080bb01aea74f06630bd665e598c6f6967fd91b2e2e0bb6'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.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-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.0.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d41c44db0ff --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.3-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'Blosc2' +version = '2.0.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e964d5ced892c7c6afbfdd50511d5087a04c2d60bfd6798feccf813ba27389ff'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +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.0.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7736eae4911 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.0.4-GCCcore-10.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.0.4' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['90c78edcc262759dd16d243141513310624bb4fda3d98ac34dcfb78255e151c1'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.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.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.4.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..585ddd2f44b --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.4.3-GCCcore-11.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.4.3' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.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.38'), + ('CMake', '3.23.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.6.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.6.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1a7d1da3a1f --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.6.1-GCCcore-11.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.6.1' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['514a793368093893c1a7cae030f7e31faca7f86465ae69dd576f256d8bf28c08'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.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/Blosc2/Blosc2-2.8.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8eb833b9f41 --- /dev/null +++ b/easybuild/easyconfigs/b/Blosc2/Blosc2-2.8.0-GCCcore-12.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.8.0' + +homepage = 'https://www.blosc.org/' + +description = "Blosc, an extremely fast, multi-threaded, meta-compressor library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/Blosc/c-blosc2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.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/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/BoltzTraP2/BoltzTraP2-22.12.1-foss-2022a.eb b/easybuild/easyconfigs/b/BoltzTraP2/BoltzTraP2-22.12.1-foss-2022a.eb new file mode 100644 index 00000000000..663a6d225c6 --- /dev/null +++ b/easybuild/easyconfigs/b/BoltzTraP2/BoltzTraP2-22.12.1-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'BoltzTraP2' +version = '22.12.1' + +homepage = 'https://www.boltztrap.org' +description = """BoltzTraP2 provides a numerically stable and efficient +method for obtaining analytic representations of electronic bands based +on density-functional-theory results for relatively sparse grids. It +achieves this goal by using smoothed Fourier interpolation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('pyFFTW', '0.13.1'), + ('spglib', '2.0.2'), + ('Eigen', '3.4.0'), + ('matplotlib', '3.5.2'), + ('ASE', '3.22.1'), + ('netcdf4-python', '1.6.1'), + ('VTK', '9.2.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'BoltzTraP2', + 'patches': ['BoltzTraP2-22.12.1_use_EB_spglib+eigen.patch'], + 'checksums': [ + {'BoltzTraP2-22.12.1.tar.gz': '8338d600c509705e40c834b5431ee8a556d87b06aa1a09853031960a1ff65b3e'}, + {'BoltzTraP2-22.12.1_use_EB_spglib+eigen.patch': + '63791c73ffcb36c0615111377ac5666abfce48872800d3bcc8c93113e37c9030'}, + ], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/b/BoltzTraP2/BoltzTraP2-22.12.1_use_EB_spglib+eigen.patch b/easybuild/easyconfigs/b/BoltzTraP2/BoltzTraP2-22.12.1_use_EB_spglib+eigen.patch new file mode 100644 index 00000000000..ccf7129bb7b --- /dev/null +++ b/easybuild/easyconfigs/b/BoltzTraP2/BoltzTraP2-22.12.1_use_EB_spglib+eigen.patch @@ -0,0 +1,51 @@ +Use spglib and Eigen from EB install + +Åke Sandgren, 2023-04-17 +diff -ru BoltzTraP2-22.12.1.orig/setup.py BoltzTraP2-22.12.1/setup.py +--- BoltzTraP2-22.12.1.orig/setup.py 2022-12-19 19:38:59.000000000 +0100 ++++ BoltzTraP2-22.12.1/setup.py 2023-04-17 12:32:46.654682662 +0200 +@@ -187,7 +187,8 @@ + + def run(self): + """Run build_spglib and then delegate on the normal build_ext.""" +- self.run_command("build_spglib") ++ # Use spglib from EB installation ++ # self.run_command("build_spglib") + DefaultBuildExtCommand.run(self) + + +@@ -213,12 +214,6 @@ + else: + extension = "cpp" + +-eigen_dir = os.path.abspath( +- os.path.join( +- os.path.dirname(__file__), "external", "eigen-eigen-3215c06819b9" +- ) +-) +- + extensions = [ + Extension( + "BoltzTraP2.sphere.frontend", +@@ -228,10 +223,10 @@ + ], + language="c++", + include_dirs=INCLUDE_DIRS +- + [np.get_include(), BuildSPGlibCommand.header_dir, eigen_dir], ++ + [np.get_include()], + library_dirs=LIBRARY_DIRS, + runtime_library_dirs=LIBRARY_DIRS, +- extra_objects=[BuildSPGlibCommand.static_library], ++ libraries = ['symspg'], + ) + ] + +@@ -282,8 +277,6 @@ + ext_modules=extensions, + cmdclass={ + "build_ext": BuildExtCommand, +- "build_spglib": BuildSPGlibCommand, +- "clean_spglib": CleanSPGlibCommand, + }, + install_requires=[ + "spglib", diff --git a/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb new file mode 100644 index 00000000000..6876b4e9f65 --- /dev/null +++ b/easybuild/easyconfigs/b/Bonnie++/Bonnie++-2.00a-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'Bonnie++' +version = '2.00a' + +homepage = 'https://www.coker.com.au/bonnie++' +description = """Enhanced performance Test of Filesystem I/O""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.coker.com.au/bonnie++/'] +sources = [SOURCELOWER_TGZ] +checksums = ['a8d33bbd81bc7eb559ce5bf6e584b9b53faea39ccfb4ae92e58f27257e468f0e'] + +sanity_check_paths = { + 'files': ['sbin/bonnie++'], + 'dirs': [] +} + +sanity_check_commands = ["bonnie++ --help 2>&1 | grep '^bonnie'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.76.0-gompi-2021a.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.76.0-gompi-2021a.eb new file mode 100644 index 00000000000..9a5bff9bd31 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.76.0-gompi-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.76.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +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 = ['7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.4.9'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb new file mode 100644 index 00000000000..2fa8d8ff409 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.77.0-gompi-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.77.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +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 = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.eb new file mode 100644 index 00000000000..e61836c53ca --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.79.0-gompi-2022a.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': '2022a'} +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.5'), + ('zstd', '1.5.2'), + ('ICU', '71.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' 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.MPI/Boost.MPI-1.83.0-gompi-2023b.eb b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.83.0-gompi-2023b.eb new file mode 100644 index 00000000000..2378bf71abb --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.MPI/Boost.MPI-1.83.0-gompi-2023b.eb @@ -0,0 +1,29 @@ +easyblock = 'EB_Boost' + +name = 'Boost.MPI' +version = '1.83.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +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 = ['c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.4'), + ('zstd', '1.5.5'), + ('ICU', '74.1'), +] + +configopts = '--without-libraries=python' + +boost_mpi = True +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost.Python-NumPy/Boost.Python-NumPy-1.79.0-foss-2022a.eb b/easybuild/easyconfigs/b/Boost.Python-NumPy/Boost.Python-NumPy-1.79.0-foss-2022a.eb new file mode 100644 index 00000000000..f9fa7521f37 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python-NumPy/Boost.Python-NumPy-1.79.0-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python-NumPy' +version = '1.79.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': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('Boost', version), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.76.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.76.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..2112fdf8187 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.76.0-GCC-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.76.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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['Boost-1.71.0_fix-Python3.patch'] +checksums = [ + '7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca', # boost_1_76_0.tar.gz + '60e3aede2f444a3855f4efed94d1de5c2887983876e0fae21f6ca5cfdc53ea96', # Boost-1.71.0_fix-Python3.patch +] + +dependencies = [ + ('Boost', version), + ('Python', '3.9.5'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.77.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.77.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..e1ad4714d4c --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.77.0-GCC-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.77.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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('Boost', version), + ('Python', '3.9.6'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..edd662ea181 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.79.0-GCC-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.79.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('Boost', version), + ('Python', '3.10.4'), +] + +only_python_bindings = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.82.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.82.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..ee38c6983cd --- /dev/null +++ b/easybuild/easyconfigs/b/Boost.Python/Boost.Python-1.82.0-GCC-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'EB_Boost' + +name = 'Boost.Python' +version = '1.82.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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['boost_1_82_0.tar.gz'] +checksums = ['66a469b6e608a51f8347236f4912e27dc5c60c60d7d53ae9bfe4683316c6f04c'] + +dependencies = [ + ('Boost', version), + ('Python', '3.11.3'), +] + +only_python_bindings = True + +moduleclass = 'lib' 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/Boost/Boost-1.55.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.55.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..1814c8648e9 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.55.0-GCC-11.2.0.eb @@ -0,0 +1,21 @@ +name = 'Boost' +version = '1.55.0' + +homepage = 'http://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['19c4305cd6669f2216260258802a7abc73c1624758294b2cad209d45cc13a767'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +configopts = '--without-libraries=python' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb index 0e42ee3c93c..ea3d9b2c2f8 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompi-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb index c3a465db37d..0a826bb61c0 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-gompic-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb index 829709da75d..6656fe44330 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpi-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb index 2f606156bee..e4f116e2eba 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.71.0-iimpic-2019b.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb index ca8c49aeb58..45778ac6ca9 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-GCCcore-9.3.0-no_mpi.eb @@ -20,6 +20,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb index ea0b3c88eda..0012f4d504f 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompi-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb index 5905bdfc176..0f379b65307 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-gompic-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb index e5ee2e1c469..410be76a6b4 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.72.0-iimpi-2020a.eb @@ -15,6 +15,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.4'), ] configopts = '--without-libraries=python' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb index faa5a1229d3..963017ac246 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-10.2.0.eb @@ -23,6 +23,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.5'), ] configopts = '--without-libraries=python,mpi' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..3c078f88361 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +## +# Authors:: Denis Kristak , Pavel Tománek (INUITS) +## +name = 'Boost' +version = '1.74.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['Boost-%(version)s-library_version_type_serialization.patch'] +checksums = [ + {'boost_1_74_0.tar.gz': 'afff36d392885120bcac079148c177d1f6f7730ec3d47233aa51b0afa4db94a5'}, + {'Boost-1.74.0-library_version_type_serialization.patch': + 'ee61e889ce9473ad82b69c9a8cbe1bf9650d633b74fdf7e4f4a4825aa990feca'}, +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('zstd', '1.5.5'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb index ab084d66fba..8a46e2591dd 100644 --- a/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/b/Boost/Boost-1.74.0-iccifort-2020.4.304.eb @@ -21,6 +21,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('zlib', '1.2.11'), ('XZ', '5.2.5'), + ('zstd', '1.4.5'), ] configopts = '--without-libraries=python,mpi' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..4494d81ed62 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +name = 'Boost' +version = '1.75.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..9e6080cae87 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.75.0-GCC-12.3.0.eb @@ -0,0 +1,28 @@ +name = 'Boost' +version = '1.75.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['aeb26f80e80945e82ee93e5939baebdca47b9dee80a07d3144be1e1a6a66dd6a'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('zstd', '1.5.5'), + ('ICU', '73.2'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..07ba538803e --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.76.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.4.9'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..9e11543a138 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.76.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,30 @@ +name = 'Boost' +version = '1.76.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['7bd7ddceec1a1dfdcbdb3e609b60d01739c38390a5f956385a12f3122049f0ca'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.4.9'), + ('ICU', '69.1'), +] + +preconfigopts = 'sed -i "s/-static//g" tools/build/src/engine/build.sh && ' + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..c8d711bec67 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.77.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..efefe29ecc3 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.77.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,33 @@ +name = 'Boost' +version = '1.77.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +preconfigopts = "sed -i 's/-static//g' tools/build/src/engine/build.sh && " +# fix test_toolset function so it works correctly for intel-linux toolset; +# see also https://github.com/boostorg/build/issues/647 +preconfigopts += "sed -i 's/{TOOLSET}/{B2_TOOLSET}/g' tools/build/src/engine/build.sh && " + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..dd76c017037 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +## +# Authors:: Denis Kristak +# +# Updated to 1.79.0: J. Sassmannshausen (Imperial College London, UK) + +name = 'Boost' +version = '1.79.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), + ('ICU', '69.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..bbec421a195 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.79.0-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.79.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('XZ', '5.2.5'), + ('zstd', '1.5.2'), + ('ICU', '71.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..1ffc4b4cfac --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.81.0-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.81.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%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,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.82.0-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.82.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..b47082e09df --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.82.0-GCC-12.3.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.82.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%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,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.83.0-GCC-13.2.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.83.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..feafb10645f --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.83.0-GCC-13.2.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.83.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['c0685b68dd44cc46574cce86c4e17c0f611b15e195be9848dfd0769a0a207628'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('XZ', '5.4.4'), + ('zstd', '1.5.5'), + ('ICU', '74.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb b/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..10518dc36a3 --- /dev/null +++ b/easybuild/easyconfigs/b/Boost/Boost-1.85.0-GCC-13.3.0.eb @@ -0,0 +1,31 @@ +## +# Authors:: Denis Kristak +## +name = 'Boost' +version = '1.85.0' + +homepage = 'https://www.boost.org/' +description = """Boost provides free peer-reviewed portable C++ source libraries.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://boostorg.jfrog.io/artifactory/main/release/%(version)s/source/'] +sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['be0d91732d5b0cc6fbb275c7939974457e79b54d6f07ce2e3dfdd68bef883b0b'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), + ('XZ', '5.4.5'), + ('zstd', '1.5.6'), + ('ICU', '75.1'), +] + +configopts = '--without-libraries=python,mpi' + +# disable MPI, build Boost libraries with tagged layout +boost_mpi = False +tagged_layout = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb new file mode 100644 index 00000000000..7acef662de0 --- /dev/null +++ b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.6-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'Bottleneck' +version = '1.3.6' + +homepage = 'https://kwgoodman.github.io/bottleneck-doc' +description = "Fast NumPy array functions written in C" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['bc15e2545d4282d6f2529597df1bd6e4c5f0c44296b3f8425bc835305bd943c9'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb new file mode 100644 index 00000000000..ddcca5a30f1 --- /dev/null +++ b/easybuild/easyconfigs/b/Bottleneck/Bottleneck-1.3.7-foss-2022a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'Bottleneck' +version = '1.3.7' + +homepage = 'https://kwgoodman.github.io/bottleneck-doc' +description = "Fast NumPy array functions written in C" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..4f96d59e220 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +## +# 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:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2020.3'), + ('zlib', '1.2.11'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..3ef078a1d2e --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +## +# 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:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2020.3'), + ('zlib', '1.2.11'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..9e06d7508f2 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +## +# 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:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2021.5.0'), + ('zlib', '1.2.12'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..202b84a2953 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.2.0.eb @@ -0,0 +1,30 @@ +## +# 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:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2021.9.0'), + ('zlib', '1.2.12'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..9617ba2e343 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie/Bowtie-1.3.1-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +## +# 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:: Artistic v2.0 +# +# Notes:: +## + +name = 'Bowtie' +version = '1.3.1' + +homepage = 'http://bowtie-bio.sourceforge.net/index.shtml' +description = """Bowtie is an ultrafast, memory-efficient short read aligner. + It aligns short DNA sequences (reads) to the human genome.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True, 'cstd': 'gnu++98'} + +source_urls = ['https://sourceforge.net/projects/bowtie-bio/files/bowtie/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.zip'] +checksums = ['e23517aa53846ef828172be911750cd05748522117efcbbe5a36f3241fb40761'] + +dependencies = [ + ('tbb', '2021.11.0'), + ('zlib', '1.2.13'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..9fa06c8160c --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-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.4.4' +_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 = ['b9fc1d6e5b898f832c590023bcb15e2a7b76e0ffac486800a9897e7cba2175fc'] + +# 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/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..5fc68b03499 --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.4-GCC-11.2.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.4.4' +_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': '11.2.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 = ['b9fc1d6e5b898f832c590023bcb15e2a7b76e0ffac486800a9897e7cba2175fc'] + +# 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.34.0'), + ('Python', '3.9.6'), +] + +# 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/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.3.0.eb new file mode 100644 index 00000000000..d7b304b4c3b --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.4.5-GCC-11.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.4.5' +_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': '11.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 = ['d3cbd5f323393b5649aea10325d7c4b77f02035a8b204e5ac18eba95236e076a'] + +# 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.12'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), +] + +# 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/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/Bowtie2/Bowtie2-2.5.1-GCC-12.2.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..54650aff98a --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-12.2.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': '12.2.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.12'), + ('Perl', '5.36.0'), + ('Python', '3.10.8'), +] + +# 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/Bowtie2/Bowtie2-2.5.1-GCC-12.3.0.eb b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..379484dfaea --- /dev/null +++ b/easybuild/easyconfigs/b/Bowtie2/Bowtie2-2.5.1-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +# 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' + +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': '12.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'] + +dependencies = [ + ('zlib', '1.2.13'), + ('Perl', '5.36.1'), + ('Python', '3.11.3'), +] + + +# to add script folder to path just uncomment this line +# modextrapaths = {'PATH': 'scripts'} + +sanity_check_commands = [ + "%(namelower)s --help", + "%(namelower)s-build --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bracken/Bracken-2.6.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bracken/Bracken-2.6.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8a9c3136219 --- /dev/null +++ b/easybuild/easyconfigs/b/Bracken/Bracken-2.6.2-GCCcore-11.2.0.eb @@ -0,0 +1,58 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'Bracken' +version = '2.6.2' + +homepage = 'https://ccb.jhu.edu/software/bracken/' +description = """Bracken (Bayesian Reestimation of Abundance with KrakEN) +is a highly accurate statistical method that computes the abundance of +species in DNA sequences from a metagenomics sample. Braken uses the +taxonomy labels assigned by Kraken, a highly accurate metagenomics +classification algorithm, to estimate the number of reads originating +from each species present in a sample. Kraken classifies reads to the +best matching location in the taxonomic tree, but does not estimate +abundances of species. We use the Kraken database itself to derive +probabilities that describe how much sequence from each genome is +identical to other genomes in the database, and combine this information +with the assignments for a particular sample to estimate abundance at +the species level, the genus level, or above. Combined with the Kraken +classifier, Bracken produces accurate species- and genus-level abundance +estimates even when a sample contains two or more near-identical species. + +NOTE: Bracken is compatible with both Kraken 1 and Kraken 2. However, the +default kmer length is different depending on the version of Kraken used. +If you use Kraken 1 defaults, specify 31 as the kmer length. If you use +Kraken 2 defaults, specify 35 as the kmer length.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/jenniferlu717/Bracken/archive/'] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + 'c83665c613861fe0dc2637d9c190105f0b08f5c4cda97a0dc86a6357aab66be3', # v%(version)s.tar.gz +] + +builddependencies = [('binutils', '2.37')] + +# no need to build in parallel +parallel = 1 + +start_dir = 'src' + +files_to_copy = ['bracken', 'bracken-build', 'src', 'analysis_scripts', 'sample_data'] + +sanity_check_paths = { + 'files': ['bracken', 'bracken-build'], + 'dirs': ['analysis_scripts', 'sample_data', 'src'], +} + +sanity_check_commands = ['bracken --help', 'bracken --version'] + +modextrapaths = {'PATH': '.'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bracken/Bracken-2.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Bracken/Bracken-2.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7d49a28cded --- /dev/null +++ b/easybuild/easyconfigs/b/Bracken/Bracken-2.7-GCCcore-11.2.0.eb @@ -0,0 +1,55 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'Bracken' +version = '2.7' + +homepage = 'https://ccb.jhu.edu/software/bracken/' +description = """Bracken (Bayesian Reestimation of Abundance with KrakEN) +is a highly accurate statistical method that computes the abundance of +species in DNA sequences from a metagenomics sample. Braken uses the +taxonomy labels assigned by Kraken, a highly accurate metagenomics +classification algorithm, to estimate the number of reads originating +from each species present in a sample. Kraken classifies reads to the +best matching location in the taxonomic tree, but does not estimate +abundances of species. We use the Kraken database itself to derive +probabilities that describe how much sequence from each genome is +identical to other genomes in the database, and combine this information +with the assignments for a particular sample to estimate abundance at +the species level, the genus level, or above. Combined with the Kraken +classifier, Bracken produces accurate species- and genus-level abundance +estimates even when a sample contains two or more near-identical species. + +NOTE: Bracken is compatible with both Kraken 1 and Kraken 2. However, the +default kmer length is different depending on the version of Kraken used. +If you use Kraken 1 defaults, specify 31 as the kmer length. If you use +Kraken 2 defaults, specify 35 as the kmer length.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/jenniferlu717/Bracken/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1795ecd9f9e5582f37549795ba68854780936110a2f6f285c3e626d448cd1532'] + +builddependencies = [('binutils', '2.37')] + +# no need to build in parallel +parallel = 1 + +start_dir = 'src' + +files_to_copy = ['bracken', 'bracken-build', 'src', 'analysis_scripts', 'sample_data'] + +sanity_check_paths = { + 'files': ['bracken', 'bracken-build'], + 'dirs': ['analysis_scripts', 'sample_data', 'src'], +} + +sanity_check_commands = ['bracken --help', 'bracken --version'] + +modextrapaths = {'PATH': '.'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Bracken/Bracken-2.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Bracken/Bracken-2.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f1643a5d4b6 --- /dev/null +++ b/easybuild/easyconfigs/b/Bracken/Bracken-2.9-GCCcore-10.3.0.eb @@ -0,0 +1,58 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'Bracken' +version = '2.9' + +homepage = 'https://ccb.jhu.edu/software/bracken/' +description = """Bracken (Bayesian Reestimation of Abundance with KrakEN) +is a highly accurate statistical method that computes the abundance of +species in DNA sequences from a metagenomics sample. Braken uses the +taxonomy labels assigned by Kraken, a highly accurate metagenomics +classification algorithm, to estimate the number of reads originating +from each species present in a sample. Kraken classifies reads to the +best matching location in the taxonomic tree, but does not estimate +abundances of species. We use the Kraken database itself to derive +probabilities that describe how much sequence from each genome is +identical to other genomes in the database, and combine this information +with the assignments for a particular sample to estimate abundance at +the species level, the genus level, or above. Combined with the Kraken +classifier, Bracken produces accurate species- and genus-level abundance +estimates even when a sample contains two or more near-identical species. + +NOTE: Bracken is compatible with both Kraken 1 and Kraken 2. However, the +default kmer length is different depending on the version of Kraken used. +If you use Kraken 1 defaults, specify 31 as the kmer length. If you use +Kraken 2 defaults, specify 35 as the kmer length.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/jenniferlu717/Bracken/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b8fd43fc396a2184d9351fb4a459f95ae9bb5865b195a18e22436f643044c788'] + +builddependencies = [('binutils', '2.36.1')] + +# no need to build in parallel +parallel = 1 + +start_dir = 'src' + +files_to_copy = ['bracken', 'bracken-build', 'src', 'analysis_scripts', 'sample_data'] + +sanity_check_paths = { + 'files': ['bracken', 'bracken-build'], + 'dirs': ['analysis_scripts', 'sample_data', 'src'], +} + +sanity_check_commands = [ + "bracken --help", + "bracken --version", +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..10e39d0b33e --- /dev/null +++ b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'Braindecode' +version = '0.7' +versionsuffix = '-PyTorch-1.10.0-CUDA-%(cudaver)s' + +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': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('matplotlib', '3.4.2'), + ('MNE-Python', '0.24.1'), + ('MOABB', '0.4.6'), + ('skorch', '0.11.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['e2bca3d096b70b041d7b30ca2dfeaffae79ea722a4578cee04c9864ec07effce'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0.eb b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0.eb new file mode 100644 index 00000000000..9780e1b0bc1 --- /dev/null +++ b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.7-foss-2021a-PyTorch-1.10.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Braindecode' +version = '0.7' +versionsuffix = '-PyTorch-1.10.0' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('matplotlib', '3.4.2'), + ('MNE-Python', '0.24.1'), + ('MOABB', '0.4.6'), + ('skorch', '0.11.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['e2bca3d096b70b041d7b30ca2dfeaffae79ea722a4578cee04c9864ec07effce'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..80012266f49 --- /dev/null +++ b/easybuild/easyconfigs/b/Braindecode/Braindecode-0.8.1-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Braindecode' +version = '0.8.1' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-' + local_torch_version + '-CUDA-%(cudaver)s' + +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 = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('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/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/BreakDancer/BreakDancer-1.4.5-intel-2017a.eb b/easybuild/easyconfigs/b/BreakDancer/BreakDancer-1.4.5-intel-2017a.eb index 2526494ae82..dc05fe1ecab 100644 --- a/easybuild/easyconfigs/b/BreakDancer/BreakDancer-1.4.5-intel-2017a.eb +++ b/easybuild/easyconfigs/b/BreakDancer/BreakDancer-1.4.5-intel-2017a.eb @@ -12,13 +12,14 @@ toolchain = {'name': 'intel', 'version': '2017a'} source_urls = ['https://github.com/genome/breakdancer/archive/'] sources = ['v%(version)s.tar.gz'] patches = ['BreakDancer-%(version)s_fix-icpc-compilation.patch'] +checksums = [ + '5d74f3a90f5c69026ebb4cf4cb9ccc51ec8dd49ac7a88595a1efabd5a73e92b6', # v1.4.5.tar.gz + '3652cd5fcd02edb8d82a30c4e110ce6a63291608a9e2535525f90636c1840da4', # BreakDancer-1.4.5_fix-icpc-compilation.patch +] dependencies = [('zlib', '1.2.11')] builddependencies = [('CMake', '3.7.2')] -separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=release' - parallel = 1 sanity_check_paths = { diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b08a96811d5 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +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': '10.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..74275267d05 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +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': '10.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e4531099b13 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +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': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..75f8c2716a7 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +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': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..48f717c030a --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli-python/Brotli-python-1.0.9-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Brotli-python' +version = '1.0.9' + +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': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/B/Brotli'] +sources = ['Brotli-%(version)s.zip'] +checksums = ['4d1b810aa0ed773f81dceda2cc7b403d01057458730e309856356d4ef4188438'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Brotli', '1.0.9'), + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'brotli'} + +moduleclass = 'tools' 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/Brotli/Brotli-1.0.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..8626bb27334 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-10.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '10.2.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7483df479f4 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '10.3.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..620677d96b1 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '11.2.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..47746d232c4 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '11.3.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8056873eb95 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '12.2.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..36c52aae8f7 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +version = '1.0.9' + +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': '12.3.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Brotli-%(version)s_pc_link_flags.patch'] +checksums = [ + 'f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46', # v1.0.9.tar.gz + '1a8498fe5179fa530d5e6da57632a7ca8ee98b462953b9995e3400cdac4c3d7e', # Brotli-1.0.9_pc_link_flags.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-8.3.0.eb index 23cf970b408..02b2b379aaf 100644 --- a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9-GCCcore-8.3.0.eb @@ -5,6 +5,7 @@ # Fred Hutchinson Cancer Research Center - Seattle Washington - US # easyblock = 'CMakeMake' + name = 'Brotli' version = '1.0.9' @@ -21,17 +22,17 @@ source_urls = ['https://github.com/google/brotli/archive'] sources = ['v%(version)s.tar.gz'] checksums = ['f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46'] -separate_build_dir = True - -dependencies = [('binutils', '2.32')] - builddependencies = [ + ('binutils', '2.32'), ('CMake', '3.15.3'), ] sanity_check_paths = { - 'files': ['bin/brotli'], + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec-static.a', 'lib/libbrotlienc-static.a'], 'dirs': [], } +sanity_check_commands = ["brotli --help"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9_pc_link_flags.patch b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9_pc_link_flags.patch new file mode 100644 index 00000000000..b61b0651ff1 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.0.9_pc_link_flags.patch @@ -0,0 +1,35 @@ +# Removes old -R flag from link line, as it's not supported un newer compilers. +# Just leave it up to the user if they want to rpath or not. +# Author: micketeer@gmail.com +diff -ru scripts.orig/libbrotlicommon.pc.in scripts/libbrotlicommon.pc.in +--- scripts.orig/libbrotlicommon.pc.in 2021-07-12 21:37:48.253345970 +0200 ++++ scripts/libbrotlicommon.pc.in 2021-07-12 21:38:14.466282849 +0200 +@@ -7,5 +7,5 @@ + URL: https://github.com/google/brotli + Description: Brotli common dictionary library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlicommon ++Libs: -L${libdir} -lbrotlicommon + Cflags: -I${includedir} +diff -ru scripts.orig/libbrotlidec.pc.in scripts/libbrotlidec.pc.in +--- scripts.orig/libbrotlidec.pc.in 2021-07-12 21:37:48.252345973 +0200 ++++ scripts/libbrotlidec.pc.in 2021-07-12 21:38:00.008317664 +0200 +@@ -7,6 +7,6 @@ + URL: https://github.com/google/brotli + Description: Brotli decoder library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlidec ++Libs: -L${libdir} -lbrotlidec + Requires.private: libbrotlicommon >= 1.0.2 + Cflags: -I${includedir} +diff -ru scripts.orig/libbrotlienc.pc.in scripts/libbrotlienc.pc.in +--- scripts.orig/libbrotlienc.pc.in 2021-07-12 21:37:48.252345973 +0200 ++++ scripts/libbrotlienc.pc.in 2021-07-12 21:38:07.535299541 +0200 +@@ -7,6 +7,6 @@ + URL: https://github.com/google/brotli + Description: Brotli encoder library + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -R${libdir} -lbrotlienc ++Libs: -L${libdir} -lbrotlienc + Requires.private: libbrotlicommon >= 1.0.2 + Cflags: -I${includedir} diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2e194e0d508 --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +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://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec.a', 'lib/libbrotlienc.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fe7258a493f --- /dev/null +++ b/easybuild/easyconfigs/b/Brotli/Brotli-1.1.0-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Brotli' +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.3.0'} + +source_urls = ['https://github.com/google/brotli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/brotli', 'lib/libbrotlidec.%s' % SHLIB_EXT, 'lib/libbrotlienc.%s' % SHLIB_EXT, + 'lib/libbrotlidec.a', 'lib/libbrotlienc.a'], + 'dirs': [], +} + +sanity_check_commands = ["brotli --help"] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..9e505b4df5e --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.2.0.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +dependencies = [ + ('Brotli', '1.0.9'), +] + +# 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" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..0661abf0609 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-10.3.0.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Brotli', '1.0.9'), +] + +# 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" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..57bba400bde --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('Brotli', '1.0.9'), +] + +# 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" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..df29a7bda20 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('Brotli', '1.0.9'), +] + +# 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" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..42e15bb4356 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('Brotli', '1.0.9'), +] + +# 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" ' + +# make sure that libraries end up in /lib (not lib64) +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " + +buildopts = "BROTLI_DIR=$EBROOTBROTLI BROTLI_INCLUDE=$EBROOTBROTLI/include" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6481ba231cd --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +dependencies = [ + ('Brotli', '1.1.0'), +] + +# 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 && " +preconfigopts += "sed -i 's/\\(brotli...\\)-static/\\1/g' ../brunsli-%(version)s/brunsli.cmake && " + +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" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3afc7fffd75 --- /dev/null +++ b/easybuild/easyconfigs/b/Brunsli/Brunsli-0.1-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Brunsli' +version = '0.1' + +homepage = 'https://github.com/google/brunsli/' +description = """Brunsli is a lossless JPEG repacking library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/google/brunsli/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62762dc740f9fcc9706449c078f12c2a366416486d2882be50a9f201f99ac0bc'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +dependencies = [ + ('Brotli', '1.1.0'), +] + +# 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 && " +preconfigopts += "sed -i 's/\\(brotli...\\)-static/\\1/g' ../brunsli-%(version)s/brunsli.cmake && " + +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" + +# also install dbrunsli binary and missing libraries +postinstallcmds = [ + "mkdir %(installdir)s/bin", + "cp dbrunsli %(installdir)s/bin/", + "cp libbrunsli*.a %(installdir)s/lib/", + "cp libbrunsli*.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/dbrunsli'], + 'dirs': ['include/brunsli', 'lib'], +} + +sanity_check_commands = ['dbrunsli 2>&1 | grep Usage'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/BuDDy/BuDDy-2.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/BuDDy/BuDDy-2.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..719cac72c8e --- /dev/null +++ b/easybuild/easyconfigs/b/BuDDy/BuDDy-2.4-GCCcore-10.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'BuDDy' +version = '2.4' + +homepage = "http://buddy.sourceforge.net/" +description = """A Binary Decision Diagram library, with many highly efficient vectorized BDD operations, dynamic + variable reordering, automated garbage collection, a C++ interface with automatic reference counting, and much + more.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d3df80a6a669d9ae408cb46012ff17bd33d855529d20f3a7e563d0d913358836'] + +builddependencies = [ + ('binutils', '2.35'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), + ('libtool', '2.4.6'), +] + +sanity_check_paths = { + 'files': ['lib/libbdd.a', 'lib/libbdd.%s' % SHLIB_EXT, 'include/bdd.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/babl/babl-0.1.86-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/babl/babl-0.1.86-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..21bbe05b74f --- /dev/null +++ b/easybuild/easyconfigs/b/babl/babl-0.1.86-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'babl' +version = '0.1.86' + +homepage = 'https://www.gegl.org/babl' +description = "babl is pixel encoding and color space conversion engine in C" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.gimp.org/pub/babl/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['0b3f595159ad1b216cd729c0504c3a5f6cf780c641f4dc63fc164f3c0382c8f0'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GObject-Introspection', '1.68.0'), + ('LittleCMS', '2.12'), +] + +sanity_check_paths = { + 'files': ['lib/libbabl-%%(version_major_minor)s.%s' % SHLIB_EXT, 'lib/pkgconfig/babl.pc'], + 'dirs': ['include/babl-%(version_major_minor)s/babl', 'lib/babl-%(version_major_minor)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.8.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.8.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..35df085ea66 --- /dev/null +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-0.8.0-GCC-11.2.0.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Huffman +# The Francis Crick Institute +easyblock = 'CMakeMake' + +name = 'bam-readcount' +version = '0.8.0' + +homepage = 'https://github.com/genome/bam-readcount' +description = """Count DNA sequence reads in BAM files""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'genome' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4f4dd558e3c6bfb24d6a57ec441568f7524be6639b24f13ea6f2bb350c7ea65f'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('ncurses', '6.2'), +] + +# bam-readcount uses git to insert the version during configuration with CMake +# but in the release archives there is no git information +# local_commit is the git commit hash of the release +local_commit = 'dea4199' +local_versionfile = '%(builddir)s/%(name)s*/version/version.h.in' +preconfigopts = "sed -i -e 's/@FULL_VERSION@/%%(version)s/' %s && " % local_versionfile +preconfigopts += "sed -i -e 's/@COMMIT_HASH@/%s/' %s && " % (local_commit, local_versionfile) + +separate_build_dir = True + +sanity_check_paths = { + 'files': ["bin/%(name)s"], + 'dirs': [] +} + +sanity_check_commands = [ + # --help exists with exit code 1, so use grep to check for expected pattern in help output + "%(name)s --help 2>&1 | grep 'Example: bam-readcount -f'", + "%(name)s --version | grep 'version: %(version)s '", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bam-readcount/bam-readcount-1.0.1-GCC-12.2.0.eb b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-1.0.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..0cecd910147 --- /dev/null +++ b/easybuild/easyconfigs/b/bam-readcount/bam-readcount-1.0.1-GCC-12.2.0.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Huffman +# The Francis Crick Institute +easyblock = 'CMakeMake' + +name = 'bam-readcount' +version = '1.0.1' + +homepage = 'https://github.com/genome/bam-readcount' +description = """Count DNA sequence reads in BAM files""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'genome' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8ebf84d9efee0f2d3b43f0452dbf16b27337c960e25128f6a7173119e62588b8'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('ncurses', '6.3'), +] + +maxparallel = 1 + +# bam-readcount uses git to insert the version during configuration with CMake +# but in the release archives there is no git information +# local_commit is the git commit hash of the release +local_commit = '944c11f' +local_versionfile = '%(builddir)s/%(name)s*/version/version.h.in' +preconfigopts = "sed -i -e 's/@FULL_VERSION@/%%(version)s/' %s && " % local_versionfile +preconfigopts += "sed -i -e 's/@COMMIT_HASH@/%s/' %s && " % (local_commit, local_versionfile) + +separate_build_dir = True + +sanity_check_paths = { + 'files': ["bin/%(name)s"], + 'dirs': [] +} + +sanity_check_commands = [ + # --help exists with exit code 1, so use grep to check for expected pattern in help output + "%(name)s --help 2>&1 | grep 'Example: bam-readcount -f'", + "%(name)s --version | grep 'version: %(version)s '", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb new file mode 100644 index 00000000000..f8df6c47a86 --- /dev/null +++ b/easybuild/easyconfigs/b/bamFilters/bamFilters-2022-06-30-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'bamFilters' +local_commit = '93e334e' +version = '2022-06-30' + +homepage = 'https://github.com/institut-de-genomique/bamFilters' +description = """A utility tool to filter alignments from bam files, + using identity percent, low complexity and read coverage.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/institut-de-genomique/bamFilters/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['63a2a57093f0d360ce21775de8bb118e60cbd8856593e02c608f930745e1b463'] + +builddependencies = [('SAMtools', '1.13')] # libbam.a, is provided by SAMtools only up to version 1.13 + +dependencies = [ + ('HTSlib', '1.15.1'), + ('BamTools', '2.5.2'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), +] +prebuildopts = 'mkdir obj && ' +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" SAMTOOLS_LIBDIR="$EBROOTSAMTOOLS/lib"' +buildopts += ' LIBS="$LIBS -lhts -lbam -lz -lbz2 -lcurl -lssl -lcrypto -llzma"' + +files_to_copy = [ + (['bamFilters'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/bamFilters'], + 'dirs': [] +} + +sanity_check_commands = ['bamFilters -h 2>&1 | grep "Usage"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bamtofastq/bamtofastq-1.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/bamtofastq/bamtofastq-1.4.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f882fbbd838 --- /dev/null +++ b/easybuild/easyconfigs/b/bamtofastq/bamtofastq-1.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,366 @@ +easyblock = 'Cargo' + +name = 'bamtofastq' +version = '1.4.0' + +homepage = 'https://github.com/10XGenomics/bamtofastq' +description = """Convert 10x BAM files to the original FASTQs compatible with 10x pipelines.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +crates = [ + ('anyhow', '1.0.44'), + ('backtrace', '0.3.61'), + ('addr2line', '0.16.0'), + ('gimli', '0.25.0'), + ('cfg-if', '1.0.0'), + ('libc', '0.2.103'), + ('miniz_oxide', '0.4.4'), + ('adler', '1.0.2'), + ('autocfg', '1.0.1'), + ('object', '0.26.2'), + ('memchr', '2.4.1'), + ('rustc-demangle', '0.1.21'), + ('cc', '1.0.71'), + ('jobserver', '0.1.24'), + ('libc', '0.2.103'), + ('backtrace', '0.3.61'), + ('bincode', '1.3.3'), + ('serde', '1.0.130'), + ('serde_derive', '1.0.130'), + ('proc-macro2', '1.0.29'), + ('unicode-xid', '0.2.2'), + ('quote', '1.0.10'), + ('proc-macro2', '1.0.29'), + ('syn', '1.0.80'), + ('proc-macro2', '1.0.29'), + ('quote', '1.0.10'), + ('unicode-xid', '0.2.2'), + ('csv', '1.1.6'), + ('bstr', '0.2.17'), + ('lazy_static', '1.4.0'), + ('memchr', '2.4.1'), + ('regex-automata', '0.1.10'), + ('serde', '1.0.130'), + ('csv-core', '0.1.10'), + ('memchr', '2.4.1'), + ('itoa', '0.4.8'), + ('ryu', '1.0.5'), + ('serde', '1.0.130'), + ('docopt', '1.1.1'), + ('lazy_static', '1.4.0'), + ('regex', '1.5.4'), + ('aho-corasick', '0.7.18'), + ('memchr', '2.4.1'), + ('memchr', '2.4.1'), + ('regex-syntax', '0.6.25'), + ('serde', '1.0.130'), + ('strsim', '0.10.0'), + ('flate2', '1.0.22'), + ('cfg-if', '1.0.0'), + ('crc32fast', '1.2.1'), + ('cfg-if', '1.0.0'), + ('libc', '0.2.103'), + ('libz-sys', '1.1.3'), + ('libc', '0.2.103'), + ('cc', '1.0.71'), + ('cmake', '0.1.45'), + ('cc', '1.0.71'), + ('pkg-config', '0.3.20'), + ('itertools', '0.10.1'), + ('either', '1.6.1'), + ('regex', '1.5.4'), + ('rust-htslib', '0.38.2'), + ('bio-types', '0.12.0'), + ('derive-new', '0.5.9'), + ('proc-macro2', '1.0.29'), + ('quote', '1.0.10'), + ('syn', '1.0.80'), + ('lazy_static', '1.4.0'), + ('regex', '1.5.4'), + ('strum_macros', '0.20.1'), + ('heck', '0.3.3'), + ('unicode-segmentation', '1.8.0'), + ('proc-macro2', '1.0.29'), + ('quote', '1.0.10'), + ('syn', '1.0.80'), + ('thiserror', '1.0.29'), + ('thiserror-impl', '1.0.29'), + ('proc-macro2', '1.0.29'), + ('quote', '1.0.10'), + ('syn', '1.0.80'), + ('byteorder', '1.4.3'), + ('custom_derive', '0.1.7'), + ('derive-new', '0.5.9'), + ('hts-sys', '2.0.2'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('libc', '0.2.103'), + ('cc', '1.0.71'), + ('pkg-config', '0.3.20'), + ('libdeflate-sys', '0.5.0'), + ('cc', '1.0.71'), + ('libz-sys', '1.1.3'), + ('lzma-sys', '0.1.17'), + ('libc', '0.2.103'), + ('cc', '1.0.71'), + ('pkg-config', '0.3.20'), + ('cc', '1.0.71'), + ('fs-utils', '1.1.4'), + ('quick-error', '1.2.3'), + ('glob', '0.3.0'), + ('ieee754', '0.2.6'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.103'), + ('linear-map', '1.2.0'), + ('newtype_derive', '0.1.6'), + ('rustc_version', '0.1.7'), + ('semver', '0.1.20'), + ('regex', '1.5.4'), + ('thiserror', '1.0.29'), + ('url', '2.2.2'), + ('form_urlencoded', '1.0.1'), + ('matches', '0.1.9'), + ('percent-encoding', '2.1.0'), + ('idna', '0.2.3'), + ('matches', '0.1.9'), + ('unicode-bidi', '0.3.7'), + ('unicode-normalization', '0.1.19'), + ('tinyvec', '1.5.0'), + ('tinyvec_macros', '0.1.0'), + ('matches', '0.1.9'), + ('percent-encoding', '2.1.0'), + ('serde', '1.0.130'), + ('serde_bytes', '0.11.5'), + ('serde', '1.0.130'), + ('serde_derive', '1.0.130'), + ('shardio', '0.8.1'), + ('anyhow', '1.0.44'), + ('bincode', '1.3.3'), + ('byteorder', '1.4.3'), + ('crossbeam-channel', '0.5.1'), + ('cfg-if', '1.0.0'), + ('crossbeam-utils', '0.8.5'), + ('cfg-if', '1.0.0'), + ('lazy_static', '1.4.0'), + ('log', '0.4.14'), + ('cfg-if', '1.0.0'), + ('lz4', '1.23.2'), + ('libc', '0.2.103'), + ('lz4-sys', '1.9.2'), + ('libc', '0.2.103'), + ('cc', '1.0.71'), + ('min-max-heap', '1.3.0'), + ('serde', '1.0.130'), + ('tempfile', '3.2.0'), + ('cfg-if', '1.0.0'), + ('libc', '0.2.103'), + ('rand', '0.8.4'), + ('libc', '0.2.103'), + ('rand_chacha', '0.3.1'), + ('ppv-lite86', '0.2.10'), + ('rand_core', '0.6.3'), + ('getrandom', '0.2.3'), + ('cfg-if', '1.0.0'), + ('libc', '0.2.103'), + ('rand_core', '0.6.3'), + ('remove_dir_all', '0.5.3'), + ('redox_syscall', '0.2.10'), + ('winapi', '0.3.9'), + ('vcpkg', '0.2.15'), + ('curl-sys', '0.4.49+curl-7.79.1'), + ('openssl-sys', '0.9.67'), + ('rand_hc', '0.3.1'), + ('bitflags', '1.3.2'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('openssl-src', '111.16.0+1.1.1l'), + ('wasi', '0.10.2+wasi-snapshot-preview1'), +] +source_urls = ['https://github.com/10XGenomics/bamtofastq/archive/refs/tags'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = [ + {'bamtofastq-1.4.0.tar.gz': 'b51d32e8aee3b9ace08c54397fddb590209571f47f4051077bcb22b98ca3a5ed'}, + {'anyhow-1.0.44.tar.gz': '61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1'}, + {'backtrace-0.3.61.tar.gz': 'e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01'}, + {'addr2line-0.16.0.tar.gz': '3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd'}, + {'gimli-0.25.0.tar.gz': 'f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'miniz_oxide-0.4.4.tar.gz': 'a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'autocfg-1.0.1.tar.gz': 'cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a'}, + {'object-0.26.2.tar.gz': '39f37e50073ccad23b6d09bcb5b263f4e76d3bb6038e4a3c08e52162ffa8abc2'}, + {'memchr-2.4.1.tar.gz': '308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a'}, + {'rustc-demangle-0.1.21.tar.gz': '7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'jobserver-0.1.24.tar.gz': 'af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'backtrace-0.3.61.tar.gz': 'e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'serde_derive-1.0.130.tar.gz': 'd7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'unicode-xid-0.2.2.tar.gz': '8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3'}, + {'quote-1.0.10.tar.gz': '38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'syn-1.0.80.tar.gz': 'd010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'quote-1.0.10.tar.gz': '38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05'}, + {'unicode-xid-0.2.2.tar.gz': '8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3'}, + {'csv-1.1.6.tar.gz': '22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1'}, + {'bstr-0.2.17.tar.gz': 'ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'memchr-2.4.1.tar.gz': '308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'csv-core-0.1.10.tar.gz': '2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90'}, + {'memchr-2.4.1.tar.gz': '308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a'}, + {'itoa-0.4.8.tar.gz': 'b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4'}, + {'ryu-1.0.5.tar.gz': '71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'docopt-1.1.1.tar.gz': '7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'regex-1.5.4.tar.gz': 'd07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461'}, + {'aho-corasick-0.7.18.tar.gz': '1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f'}, + {'memchr-2.4.1.tar.gz': '308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a'}, + {'memchr-2.4.1.tar.gz': '308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a'}, + {'regex-syntax-0.6.25.tar.gz': 'f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'flate2-1.0.22.tar.gz': '1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'crc32fast-1.2.1.tar.gz': '81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'libz-sys-1.1.3.tar.gz': 'de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'cmake-0.1.45.tar.gz': 'eb6210b637171dfba4cda12e579ac6dc73f5165ad56133e5d72ef3131f320855'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'pkg-config-0.3.20.tar.gz': '7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb'}, + {'itertools-0.10.1.tar.gz': '69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf'}, + {'either-1.6.1.tar.gz': 'e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457'}, + {'regex-1.5.4.tar.gz': 'd07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461'}, + {'rust-htslib-0.38.2.tar.gz': '2aca6626496389f6e015e25433b85e2895ad3644b44de91167d847bf2d8c1a1c'}, + {'bio-types-0.12.0.tar.gz': '3f79d996fbffc59cbaeec4c831f9c1bbf6debdfadd9bb02ff4caf70507159c63'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'quote-1.0.10.tar.gz': '38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05'}, + {'syn-1.0.80.tar.gz': 'd010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'regex-1.5.4.tar.gz': 'd07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461'}, + {'strum_macros-0.20.1.tar.gz': 'ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149'}, + {'heck-0.3.3.tar.gz': '6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c'}, + {'unicode-segmentation-1.8.0.tar.gz': '8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'quote-1.0.10.tar.gz': '38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05'}, + {'syn-1.0.80.tar.gz': 'd010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194'}, + {'thiserror-1.0.29.tar.gz': '602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88'}, + {'thiserror-impl-1.0.29.tar.gz': 'bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c'}, + {'proc-macro2-1.0.29.tar.gz': 'b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d'}, + {'quote-1.0.10.tar.gz': '38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05'}, + {'syn-1.0.80.tar.gz': 'd010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'hts-sys-2.0.2.tar.gz': '72c443906f4bac8b8cfe67e4e9d9ca83a454b70a092e1764133d19d5c5c7c1e2'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'pkg-config-0.3.20.tar.gz': '7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb'}, + {'libdeflate-sys-0.5.0.tar.gz': '21e39efa87b84db3e13ff4e2dfac1e57220abcbd7fe8ec44d238f7f4f787cc1f'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'libz-sys-1.1.3.tar.gz': 'de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66'}, + {'lzma-sys-0.1.17.tar.gz': 'bdb4b7c3eddad11d3af9e86c487607d2d2442d185d848575365c4856ba96d619'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'pkg-config-0.3.20.tar.gz': '7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'glob-0.3.0.tar.gz': '9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'regex-1.5.4.tar.gz': 'd07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461'}, + {'thiserror-1.0.29.tar.gz': '602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88'}, + {'url-2.2.2.tar.gz': 'a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c'}, + {'form_urlencoded-1.0.1.tar.gz': '5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191'}, + {'matches-0.1.9.tar.gz': 'a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f'}, + {'percent-encoding-2.1.0.tar.gz': 'd4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e'}, + {'idna-0.2.3.tar.gz': '418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8'}, + {'matches-0.1.9.tar.gz': 'a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f'}, + {'unicode-bidi-0.3.7.tar.gz': '1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f'}, + {'unicode-normalization-0.1.19.tar.gz': 'd54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9'}, + {'tinyvec-1.5.0.tar.gz': 'f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7'}, + {'tinyvec_macros-0.1.0.tar.gz': 'cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c'}, + {'matches-0.1.9.tar.gz': 'a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f'}, + {'percent-encoding-2.1.0.tar.gz': 'd4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'serde_bytes-0.11.5.tar.gz': '16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'serde_derive-1.0.130.tar.gz': 'd7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b'}, + {'shardio-0.8.1.tar.gz': 'd8496139ffe2b2dafa0ecaec339bb6d6a760c70781d1d5977e33de638ce80ca2'}, + {'anyhow-1.0.44.tar.gz': '61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'crossbeam-channel-0.5.1.tar.gz': '06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'crossbeam-utils-0.8.5.tar.gz': 'd82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'log-0.4.14.tar.gz': '51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'lz4-1.23.2.tar.gz': 'aac20ed6991e01bf6a2e68cc73df2b389707403662a8ba89f68511fb340f724c'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'lz4-sys-1.9.2.tar.gz': 'dca79aa95d8b3226213ad454d328369853be3a1382d89532a854f4d69640acae'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'cc-1.0.71.tar.gz': '79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd'}, + {'min-max-heap-1.3.0.tar.gz': '2687e6cf9c00f48e9284cf9fd15f2ef341d03cc7743abf9df4c5f07fdee50b18'}, + {'serde-1.0.130.tar.gz': 'f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913'}, + {'tempfile-3.2.0.tar.gz': 'dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'rand-0.8.4.tar.gz': '2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'ppv-lite86-0.2.10.tar.gz': 'ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857'}, + {'rand_core-0.6.3.tar.gz': 'd34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7'}, + {'getrandom-0.2.3.tar.gz': '7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'libc-0.2.103.tar.gz': 'dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6'}, + {'rand_core-0.6.3.tar.gz': 'd34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7'}, + {'remove_dir_all-0.5.3.tar.gz': '3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7'}, + {'redox_syscall-0.2.10.tar.gz': '8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'curl-sys-0.4.49+curl-7.79.1.tar.gz': 'e0f44960aea24a786a46907b8824ebc0e66ca06bf4e4978408c7499620343483'}, + {'openssl-sys-0.9.67.tar.gz': '69df2d8dfc6ce3aaf44b40dec6f487d5a886516cf6879c49e98e0710f310a058'}, + {'rand_hc-0.3.1.tar.gz': 'd51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'openssl-src-111.16.0+1.1.1l.tar.gz': '7ab2173f69416cf3ec12debb5823d244127d23a9b127d5a5189aa97c5fa2859f'}, + {'wasi-0.10.2+wasi-snapshot-preview1.tar.gz': 'fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.60.0'), + ('CMake', '3.20.1'), +] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2020b.eb b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2020b.eb new file mode 100644 index 00000000000..42ca6abb5ed --- /dev/null +++ b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'barrnap' +version = '0.9' + +homepage = 'https://github.com/tseemann/barrnap' +description = "Barrnap (BAsic Rapid Ribosomal RNA Predictor) predicts the location of ribosomal RNA genes in genomes." + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['https://github.com/tseemann/barrnap/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['36c27cd4350531d98b3b2fb7d294a2d35c15b7365771476456d7873ba33cce15'] + +dependencies = [ + ('Perl', '5.32.0'), + ('HMMER', '3.3.2'), + ('BEDTools', '2.30.0'), +] + +sanity_check_paths = { + 'files': ['bin/barrnap'], + 'dirs': [], +} + +sanity_check_commands = ["barrnap --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2021b.eb b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2021b.eb new file mode 100644 index 00000000000..6be62031149 --- /dev/null +++ b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'barrnap' +version = '0.9' + +homepage = 'https://github.com/tseemann/barrnap' +description = "Barrnap (BAsic Rapid Ribosomal RNA Predictor) predicts the location of ribosomal RNA genes in genomes." + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/barrnap/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['36c27cd4350531d98b3b2fb7d294a2d35c15b7365771476456d7873ba33cce15'] + +dependencies = [ + ('Perl', '5.34.0'), + ('HMMER', '3.3.2'), + ('BEDTools', '2.30.0'), +] + +sanity_check_paths = { + 'files': ['bin/barrnap'], + 'dirs': [], +} + +sanity_check_commands = ["barrnap --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2022a.eb b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2022a.eb new file mode 100644 index 00000000000..a857af10dc5 --- /dev/null +++ b/easybuild/easyconfigs/b/barrnap/barrnap-0.9-gompi-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'barrnap' +version = '0.9' + +homepage = 'https://github.com/tseemann/barrnap' +description = "Barrnap (BAsic Rapid Ribosomal RNA Predictor) predicts the location of ribosomal RNA genes in genomes." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/tseemann/barrnap/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['36c27cd4350531d98b3b2fb7d294a2d35c15b7365771476456d7873ba33cce15'] + +dependencies = [ + ('Perl', '5.34.1'), + ('HMMER', '3.3.2'), + ('BEDTools', '2.30.0'), +] + +sanity_check_paths = { + 'files': ['bin/barrnap'], + 'dirs': [], +} + +sanity_check_commands = ["barrnap --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb b/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb new file mode 100644 index 00000000000..456ebc34788 --- /dev/null +++ b/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.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.6' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('GEOS', '3.10.3'), + ('Pillow', '9.1.1'), + ('pyproj', '3.4.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', + 'sources': ['v%(version)s.tar.gz'], + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'], + }), + (name, version, { + 'modulename': 'mpl_toolkits.basemap', + 'preinstallopts': 'cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS', + 'sources': ['v%(version)s.tar.gz'], + 'source_urls': ['https://github.com/matplotlib/basemap/archive/'], + 'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'], + }), +] + +moduleclass = 'vis' 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/bases2fastq/bases2fastq-1.5.1.eb b/easybuild/easyconfigs/b/bases2fastq/bases2fastq-1.5.1.eb new file mode 100644 index 00000000000..fa3cce5b299 --- /dev/null +++ b/easybuild/easyconfigs/b/bases2fastq/bases2fastq-1.5.1.eb @@ -0,0 +1,30 @@ +easyblock = 'PackedBinary' + +name = 'bases2fastq' +version = '1.5.1' + +homepage = 'https://docs.elembio.io/docs/bases2fastq' +description = """ Bases2Fastq Software demultiplexes sequencing data and converts base calls + into FASTQ files for secondary analysis with the FASTQ-compatible software of your choice. + The Element AVITI™ System records base calls, which are the main output of a sequencing run, + with associated quality scores (Q-scores) in bases files. Bases files must be converted into + the FASTQ file format for secondary analysis. + +To generate QC reports, also load BeautifulSoup and bokeh. """ + +toolchain = SYSTEM + +source_urls = ['https://bases2fastq-release.s3.amazonaws.com/'] +sources = ['%(name)s-v%(version)s.tar.gz'] +checksums = ['832fab35ff7e74a190473d3f50faad9f62291d60e49f92c098556f4a5b33cfa9'] + +sanity_check_paths = { + 'files': ['bases2fastq'], + 'dirs': [], +} + +sanity_check_commands = [ + "bases2fastq --version" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bashplotlib/bashplotlib-0.6.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/bashplotlib/bashplotlib-0.6.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8d3edb2ea9e --- /dev/null +++ b/easybuild/easyconfigs/b/bashplotlib/bashplotlib-0.6.5-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'bashplotlib' +version = '0.6.5' + +homepage = "https://github.com/glamp/bashplotlib" +description = """bashplotlib is a python package and command line tool for making basic plots in the terminal. + It's a quick way to visualize data when you don't have a GUI.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b1b59be49d6254a5bd808919e0a23a75a703a02e7e84478edda765714e0bfaee'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/hist', 'bin/scatter'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["hist --help", "scatter --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/batchgenerators/batchgenerators-0.25-foss-2021a.eb b/easybuild/easyconfigs/b/batchgenerators/batchgenerators-0.25-foss-2021a.eb new file mode 100644 index 00000000000..8fc66740160 --- /dev/null +++ b/easybuild/easyconfigs/b/batchgenerators/batchgenerators-0.25-foss-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'batchgenerators' +version = '0.25' + +homepage = 'https://github.com/MIC-DKFZ/batchgenerators' +description = """Data augmentation toolkit developed at the Division of Medical +Image Computing at the German Cancer Research Center (DKFZ) to suit all our +deep learning data augmentation needs.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['38a67413e847ff367e64abac36331fcb065494202d526ae96f7644de3a0e5495'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-image', '0.18.3'), + ('scikit-learn', '0.24.2'), +] + +# remove requirement on Pillow and unittest2, which are not actually used +preinstallopts = "sed -i '13d;19d' setup.py &&" + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/bayesian-optimization/bayesian-optimization-1.5.1-foss-2023a.eb b/easybuild/easyconfigs/b/bayesian-optimization/bayesian-optimization-1.5.1-foss-2023a.eb new file mode 100644 index 00000000000..8215f2c822a --- /dev/null +++ b/easybuild/easyconfigs/b/bayesian-optimization/bayesian-optimization-1.5.1-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bayesian-optimization' +version = '1.5.1' + +homepage = 'https://bayesian-optimization.github.io/BayesianOptimization/index.html' +description = "Pure Python implementation of bayesian global optimization with gaussian processes." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('scikit-learn', '1.3.1'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('colorama', '0.4.6', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6'], + }), + ('bayesian_optimization', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'modulename': 'bayes_opt', + 'checksums': ['098946c933d6039073b7ccb0c9f1b4c73ac6e39350043b02e5243b08583c4c5c'], + }), +] + +sanity_check_commands = ["python -c 'from bayes_opt import BayesianOptimization'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..9eb0166e5fc --- /dev/null +++ b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1-GCCcore-9.3.0.eb @@ -0,0 +1,50 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'bbFTP' +version = '3.2.1' + +homepage = 'https://software.in2p3.fr/bbftp/' + +description = """bbFTP is a file transfer software. It implements its own transfer protocol, + which is optimized for large files (larger than 2GB) and secure as it does not read the + password in a file and encrypts the connection information. bbFTP main features are: + * Encoded username and password at connection * SSH and Certificate authentication modules + * Multi-stream transfer * Big windows as defined in RFC1323 * On-the-fly data compression + * Automatic retry * Customizable time-outs * Transfer simulation + * AFS authentication integration * RFIO interface""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['https://software.in2p3.fr/bbftp/dist'] +sources = ['%(namelower)s-client-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-openssl-1.1.patch'] +checksums = [ + '4000009804d90926ad3c0e770099874084fb49013e8b0770b82678462304456d', # bbftp-client-3.2.1.tar.gz + 'de8f23637a5d7b6874372c1e989fb3d7aaca6457312272021799354ee50eeb06', # bbFTP-3.2.1_fix-openssl-1.1.patch +] + +builddependencies = [('binutils', '2.34')] + +dependencies = [('zlib', '1.2.11')] + +osdependencies = [OS_PKG_OPENSSL_DEV] + +start_dir = 'bbftpc' + +sanity_check_paths = { + 'files': ['bin/bbftp'], + 'dirs': [], +} + +sanity_check_commands = ["bbftp -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1.eb b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1.eb new file mode 100644 index 00000000000..b63e78839f4 --- /dev/null +++ b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# $Id$ +## + +easyblock = 'ConfigureMake' + +name = 'bbFTP' +version = '3.2.1' + +homepage = 'https://software.in2p3.fr/bbftp/' + +description = """bbFTP is a file transfer software. It implements its own transfer protocol, + which is optimized for large files (larger than 2GB) and secure as it does not read the + password in a file and encrypts the connection information. bbFTP main features are: + * Encoded username and password at connection * SSH and Certificate authentication modules + * Multi-stream transfer * Big windows as defined in RFC1323 * On-the-fly data compression + * Automatic retry * Customizable time-outs * Transfer simulation + * AFS authentication integration * RFIO interface""" + +toolchain = SYSTEM + +source_urls = ['https://software.in2p3.fr/bbftp/dist'] +sources = ['%(namelower)s-client-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-openssl-1.1.patch'] +checksums = [ + '4000009804d90926ad3c0e770099874084fb49013e8b0770b82678462304456d', # bbftp-client-3.2.1.tar.gz + 'de8f23637a5d7b6874372c1e989fb3d7aaca6457312272021799354ee50eeb06', # bbFTP-3.2.1_fix-openssl-1.1.patch +] + +osdependencies = [ + OS_PKG_OPENSSL_DEV, + ('zlib-devel', 'zlib1g-dev'), +] + +start_dir = 'bbftpc' + +sanity_check_paths = { + 'files': ['bin/bbftp'], + 'dirs': [], +} + +sanity_check_commands = ["bbftp -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1_fix-openssl-1.1.patch b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1_fix-openssl-1.1.patch new file mode 100644 index 00000000000..886eec9acd2 --- /dev/null +++ b/easybuild/easyconfigs/b/bbFTP/bbFTP-3.2.1_fix-openssl-1.1.patch @@ -0,0 +1,85 @@ +OpenSSL 1.1.0 makes all structs opaque and introduces accessors for +members like RSA's key and exponent. + +This patch branches on OpenSSL version and either accesses the members +directly or uses their accessor. + +Author: Lars Viklund +diff -ru bbftp-client-3.2.1.orig/bbftpc/connecttoserver.c bbftp-client-3.2.1/bbftpc/connecttoserver.c +--- bbftp-client-3.2.1.orig/bbftpc/connecttoserver.c 2013-02-07 11:42:46.000000000 +0100 ++++ bbftp-client-3.2.1/bbftpc/connecttoserver.c 2020-09-01 12:47:32.197158831 +0200 +@@ -516,6 +516,8 @@ + + #ifdef WITH_SSL + RSA *hisrsa ; ++ BIGNUM *hisrsa_n; ++ BIGNUM *hisrsa_e; + int lenrsa ; + #endif + /* +@@ -629,13 +631,13 @@ + /* + ** Getting BIGNUM structures to store the key and exponent + */ +- if ( (hisrsa->n = BN_new()) == NULL) { ++ if ( (hisrsa_n = BN_new()) == NULL) { + free(readbuffer) ; + close(tmpctrlsock) ; + printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","getting BIGNUM",(char *) ERR_error_string(ERR_get_error(),NULL)) ; + return -1 ; + } +- if ( (hisrsa->e = BN_new()) == NULL) { ++ if ( (hisrsa_e = BN_new()) == NULL) { + free(readbuffer) ; + close(tmpctrlsock) ; + printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","getting BIGNUM",(char *) ERR_error_string(ERR_get_error(),NULL)) ; +@@ -644,18 +646,24 @@ + /* + ** Copy the key and exponent received + */ +- if ( BN_mpi2bn(pubkey,lenkey,hisrsa->n) == NULL ) { ++ if ( BN_mpi2bn(pubkey,lenkey,hisrsa_n) == NULL ) { + free(readbuffer) ; + close(tmpctrlsock) ; + printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","copying pubkey",(char *) ERR_error_string(ERR_get_error(),NULL)) ; + return -1 ; + } +- if ( BN_mpi2bn(pubexponent,lenexpo,hisrsa->e) == NULL ) { ++ if ( BN_mpi2bn(pubexponent,lenexpo,hisrsa_e) == NULL ) { + free(readbuffer) ; + close(tmpctrlsock) ; + printmessage(stderr,CASE_ERROR,56,timestamp,"Error reading encrypted message : %s (%s)\n","copying pubexponent",(char *) ERR_error_string(ERR_get_error(),NULL)) ; + return -1 ; + } ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L ++ hisrsa->n = hisrsa_n; ++ hisrsa->e = hisrsa_e; ++#else ++ RSA_set0_key(hisrsa, hisrsa_n, hisrsa_e, NULL); ++#endif + lenrsa = RSA_size(hisrsa) ; + + if (strlen(username) > lenrsa - 41 ) { +diff -ru bbftp-client-3.2.1.orig/bbftpc/treatcommand.c bbftp-client-3.2.1/bbftpc/treatcommand.c +--- bbftp-client-3.2.1.orig/bbftpc/treatcommand.c 2013-02-07 11:42:46.000000000 +0100 ++++ bbftp-client-3.2.1/bbftpc/treatcommand.c 2020-09-01 12:50:07.447302930 +0200 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #if HAVE_STRING_H + # include +@@ -49,6 +50,11 @@ + #include + #include + ++int bbftp_dir(char *remotefile, int *errcode); ++int bbftp_rm(char *filename, int *errcode); ++int bbftp_stat(char *filename, int *errcode); ++int bbftp_statfs(char *filename, int *errcode); ++ + extern int timestamp; + extern int globaltrymax; + extern int myexitcode; diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.6-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.6-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..db65d146ca3 --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.6-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,42 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.6.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['74c6920c91ca18ed9cb872e9471c0be442dad143d8176345917eb1fefc86bc37'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('Biopython', '1.78', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.7-foss-2021a.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.7-foss-2021a.eb new file mode 100644 index 00000000000..b73ce52c916 --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.6.7-foss-2021a.eb @@ -0,0 +1,42 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v0.6.7 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.6.7' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['6e6f70639149612272a3b298a93ac50bba6f9ecece934f2a0ea86d4abde975da'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2020b.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2020b.eb new file mode 100644 index 00000000000..66fc839020b --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2020b.eb @@ -0,0 +1,42 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v0.6.7 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.7.0' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Biopython', '1.78'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb new file mode 100644 index 00000000000..e0093e9f3e3 --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022a.eb @@ -0,0 +1,42 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v0.6.7 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.7.0' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022b.eb b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022b.eb new file mode 100644 index 00000000000..65a7aed5498 --- /dev/null +++ b/easybuild/easyconfigs/b/bcbio-gff/bcbio-gff-0.7.0-foss-2022b.eb @@ -0,0 +1,43 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v0.6.7 +# R.QIAO +# Updated to v0.7.0 by Denis Kristak (Inuits) + +easyblock = 'PythonPackage' + +name = 'bcbio-gff' +version = '0.7.0' + +homepage = 'https://github.com/chapmanb/bcbb/tree/master/gff' + +description = """ +Read and write Generic Feature Format (GFF) with Biopython integration. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['f7b3922ee274106f8716703f41f05a1795aa9d73e903f4e481995ed8f5f65d2d'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_bcbiogffroot = 'lib/python%(pyshortver)s/site-packages' +local_targets = ['GFFOutput.py', 'GFFParser.py'] + +sanity_check_paths = { + 'files': [local_bcbiogffroot + '/BCBio/GFF/%s' % x for x in local_targets], + 'dirs': [local_bcbiogffroot], +} + +options = {'modulename': 'BCBio.GFF'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb index 616d4405ec0..b8e54d76b7b 100644 --- a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb +++ b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.0.10-intel-2018a-Perl-5.26.1.eb @@ -17,12 +17,12 @@ dependencies = [ ('Perl', '5.26.1'), ('HMMER', '3.1b2'), ('MUSCLE', '3.8.31'), - ('Gblocks', '0.91b', '', True), + ('Gblocks', '0.91b', '', SYSTEM), ('RAxML', '8.2.11', '-hybrid-avx2'), ] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", "chmod a+rx %(installdir)s/bin/bcgTree.pl", ] diff --git a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb index 4f4b3613521..d6e3954f2e6 100644 --- a/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/b/bcgTree/bcgTree-1.1.0-intel-2018b-Perl-5.28.0.eb @@ -17,12 +17,12 @@ dependencies = [ ('Perl', '5.28.0'), ('HMMER', '3.2.1'), ('MUSCLE', '3.8.31'), - ('Gblocks', '0.91b', '', True), + ('Gblocks', '0.91b', '', SYSTEM), ('RAxML', '8.2.12', '-hybrid-avx2'), ] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/bcgTree.pl", "chmod a+rx %(installdir)s/bin/bcgTree.pl", ] diff --git a/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb new file mode 100644 index 00000000000..e06bf2fdde6 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.0.3-2el7.x86_64.eb @@ -0,0 +1,24 @@ +easyblock = 'Rpm' + +name = 'bcl-convert' +version = '4.0.3-2' +versionsuffix = 'el7.x86_64' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html' +description = """The Illumina BCL Convert v4.0 is a standalone local software app that converts the + Binary Base Call (BCL) files produced by Illumina sequencing systems to FASTQ files.""" + +toolchain = SYSTEM + +source_urls = ['https://webdata.illumina.com/downloads/software/bcl-convert/'] +sources = ['bcl-convert-%(version)s.%(versionsuffix)s.rpm'] +checksums = ['be4f3d1d31cb36618f909cdbc0ed0fe70ef57a645e46b421b6e1a7f90c6c9430'] + +sanity_check_paths = { + 'files': ['usr/bin/bcl-convert'], + 'dirs': [], +} + +sanity_check_commands = ["bcl-convert --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.2.7-2el7.x86_64.eb b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.2.7-2el7.x86_64.eb new file mode 100644 index 00000000000..dfed34de942 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl-convert/bcl-convert-4.2.7-2el7.x86_64.eb @@ -0,0 +1,26 @@ +easyblock = 'Rpm' + +name = 'bcl-convert' +version = '4.2.7-2' +versionsuffix = 'el7.x86_64' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html' +description = """The Illumina BCL Convert v4.0 is a standalone local software app that converts the + Binary Base Call (BCL) files produced by Illumina sequencing systems to FASTQ files.""" + +toolchain = SYSTEM + +builddependencies = [('rpmrebuild', '2.18')] + +source_urls = ['https://webdata.illumina.com/downloads/software/bcl-convert/'] +sources = ['bcl-convert-%(version)s.%(versionsuffix)s.rpm'] +checksums = ['ea508d763dc27d30d1a34f6a38d8da31ea67797d7b4971e8c10677bc48539565'] + +sanity_check_paths = { + 'files': ['usr/bin/bcl-convert'], + 'dirs': [], +} + +sanity_check_commands = ["bcl-convert --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb index 8e067a6bd05..b6a06a8326d 100644 --- a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.2.0.eb @@ -40,17 +40,19 @@ start_dir = 'src' # check versions of libxml2 and libxslt from EB local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' -local_sed_libver = 'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} # remove hardcoded compilation flags local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' -preconfigopts += 'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system install Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' sanity_check_paths = { 'files': ['bin/bcl2fastq'], diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..a95f3d01f6b --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-10.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'bcl2fastq2' +version = '2.20.0' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html' +description = """bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by + Illumina sequencing systems to standard FASTQ file formats for downstream analysis.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/'] +sources = [{ + 'filename': '%s-v%s-tar.zip' % (name, version.replace('.', '-')), + 'extract_cmd': 'unzip -p %s | tar -xzvf -', # source file is a .zip that contains a .tar.gz +}] +patches = [ + 'bcl2fastq2-%(version)s-fix-cmake-target-libs.patch', + # bcl2fastq2 v2.20.0 is not compatible with recent Boost versions, use bundled Boost + 'bcl2fastq2-%(version)s-find-boost.patch', +] +checksums = [ + '8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3', # bcl2fastq2-v2-20-0-tar.zip + '7908c268c213a6cfeafe05afcd5d3b34098241b6ab0a62c11ea47664cd0a63c5', # bcl2fastq2-2.20.0-fix-cmake-target-libs.patch + '8ca9ab8843fd21976781185b0d560f97fa83c26ab7962c339c2206b164d845c1', # bcl2fastq2-2.20.0-find-boost.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), +] + +start_dir = 'src' + +# check versions of libxml2 and libxslt from EB +local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} +preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} + +# remove hardcoded compilation flags +local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx + +configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' +configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' +configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system install Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' + +sanity_check_paths = { + 'files': ['bin/bcl2fastq'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["bcl2fastq --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..9ac5461bbb1 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.2.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'bcl2fastq2' +version = '2.20.0' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html' +description = """bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by + Illumina sequencing systems to standard FASTQ file formats for downstream analysis.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/'] +sources = [{ + 'filename': '%s-v%s-tar.zip' % (name, version.replace('.', '-')), + 'extract_cmd': 'unzip -p %s | tar -xzvf -', # source file is a .zip that contains a .tar.gz +}] +patches = [ + '%(name)s-%(version)s-fix-cmake-target-libs.patch', + # bcl2fastq2 v2.20.0 is not compatible with recent Boost versions, use bundled Boost + '%(name)s-%(version)s-find-boost.patch', +] +checksums = [ + '8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3', # bcl2fastq2-v2-20-0-tar.zip + '7908c268c213a6cfeafe05afcd5d3b34098241b6ab0a62c11ea47664cd0a63c5', # bcl2fastq2-2.20.0-fix-cmake-target-libs.patch + '8ca9ab8843fd21976781185b0d560f97fa83c26ab7962c339c2206b164d845c1', # bcl2fastq2-2.20.0-find-boost.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), +] + +start_dir = 'src' + +# check versions of libxml2 and libxslt from EB +local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} +preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} + +# remove hardcoded compilation flags +local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx + +configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' +configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' +configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system installed Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' + +sanity_check_paths = { + 'files': ['bin/bcl2fastq'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["bcl2fastq --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..36126288a90 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-11.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'bcl2fastq2' +version = '2.20.0' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html' +description = """bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by + Illumina sequencing systems to standard FASTQ file formats for downstream analysis.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/'] +sources = [{ + 'filename': '%s-v%s-tar.zip' % (name, version.replace('.', '-')), + 'extract_cmd': 'unzip -p %s | tar -xzvf -', # source file is a .zip that contains a .tar.gz +}] +patches = [ + '%(name)s-%(version)s-fix-cmake-target-libs-GCC-11.3-plus.patch', + # bcl2fastq2 v2.20.0 is not compatible with recent Boost versions, use bundled Boost + '%(name)s-%(version)s-find-boost.patch', +] +checksums = [ + {'bcl2fastq2-v2-20-0-tar.zip': '8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3'}, + {'bcl2fastq2-2.20.0-fix-cmake-target-libs-GCC-11.3-plus.patch': + '3f2736a8335b533646e25093f02bbbcf1aa629c68a0433b9bb5d66fadaa28edb'}, + {'bcl2fastq2-2.20.0-find-boost.patch': '8ca9ab8843fd21976781185b0d560f97fa83c26ab7962c339c2206b164d845c1'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('libxml2', '2.9.13'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.12'), +] + +start_dir = 'src' + +# check versions of libxml2 and libxslt from EB +local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} +preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} + +# remove hardcoded compilation flags +local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx + +configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' +configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' +configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system installed Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' + +sanity_check_paths = { + 'files': ['bin/bcl2fastq'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["bcl2fastq --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-12.2.0.eb b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..d857a5fb37a --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-GCC-12.2.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'bcl2fastq2' +version = '2.20.0' + +homepage = 'https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html' +description = """bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by + Illumina sequencing systems to standard FASTQ file formats for downstream analysis.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['ftp://webdata2:webdata2@ussd-ftp.illumina.com/downloads/software/bcl2fastq/'] +sources = [{ + 'filename': '%s-v%s-tar.zip' % (name, version.replace('.', '-')), + 'extract_cmd': 'unzip -p %s | tar -xzvf -', # source file is a .zip that contains a .tar.gz +}] +patches = [ + '%(name)s-%(version)s-fix-cmake-target-libs-GCC-11.3-plus.patch', + # bcl2fastq2 v2.20.0 is not compatible with recent Boost versions, use bundled Boost + '%(name)s-%(version)s-find-boost.patch', +] +checksums = [ + {'bcl2fastq2-v2-20-0-tar.zip': '8dd3044767d044aa4ce46de0de562b111c44e5b8b7348e04e665eb1b4f101fe3'}, + {'bcl2fastq2-2.20.0-fix-cmake-target-libs-GCC-11.3-plus.patch': + '3f2736a8335b533646e25093f02bbbcf1aa629c68a0433b9bb5d66fadaa28edb'}, + {'bcl2fastq2-2.20.0-find-boost.patch': '8ca9ab8843fd21976781185b0d560f97fa83c26ab7962c339c2206b164d845c1'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('libxml2', '2.10.3'), + ('libxslt', '1.1.37'), + ('zlib', '1.2.12'), +] + +start_dir = 'src' + +# check versions of libxml2 and libxslt from EB +local_cmakelists = '%(builddir)s/bcl2fastq/src/CMakeLists.txt' +local_sed_libver = r'sed -i "s/%(l)s_VERSION [0-9\.]*/%(l)s_VERSION $EBVERSION%(l)s/g" %(f)s && ' +preconfigopts = local_sed_libver % {'l': 'LIBXML2', 'f': local_cmakelists} +preconfigopts += local_sed_libver % {'l': 'LIBXSLT', 'f': local_cmakelists} + +# remove hardcoded compilation flags +local_cmakecxx = '%(builddir)s/bcl2fastq/src/cmake/cxxConfigure.cmake' +preconfigopts += r'sed -i "s/-std=[a-z0-9\+]* //g;s/-O. //g" %s && ' % local_cmakecxx + +configopts = '-DBCL2FASTQ_VERSION:STRING=%(version)s ' +configopts += '-DBCL2FASTQ_PREFIX:STRING=%(installdir)s ' +configopts += '-DBCL2FASTQ_SOURCE_DIR:STRING=%(builddir)s/bcl2fastq/src ' +# Make sure CMake doesn't use any system installed Boost versions cmake-config files. +configopts += '-DBoost_NO_BOOST_CMAKE=ON ' + +sanity_check_paths = { + 'files': ['bin/bcl2fastq'], + 'dirs': ['lib'], +} + +sanity_check_commands = ["bcl2fastq --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-fix-cmake-target-libs-GCC-11.3-plus.patch b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-fix-cmake-target-libs-GCC-11.3-plus.patch new file mode 100644 index 00000000000..20af200d155 --- /dev/null +++ b/easybuild/easyconfigs/b/bcl2fastq2/bcl2fastq2-2.20.0-fix-cmake-target-libs-GCC-11.3-plus.patch @@ -0,0 +1,41 @@ +find and set appropriate targets for libxml2 and libxslt libraries found in the system +author: Alex Domingo (Vrije Universiteit Brussel) +--- src/cmake/cxxConfigure.cmake.orig 2017-06-22 19:14:50.000000000 +0200 ++++ src/cmake/cxxConfigure.cmake 2021-06-03 00:46:03.509256295 +0200 +@@ -101,6 +101,9 @@ + if((NOT HAVE_LIBXML2) OR (NOT HAVE_LIBXSLT)) + find_package_version(LibXml2 ${BCL2FASTQ_LIBXML2_VERSION}) + find_package_version(LibXslt ${BCL2FASTQ_LIBXSLT_VERSION}) ++ find_library_env(LIBXML2 libxml/xpath.h xml2) ++ find_library_env(LIBEXSLT libexslt/exslt.h exslt) ++ find_library_env(LIBXSLT libxslt/xsltconfig.h xslt) + endif((NOT HAVE_LIBXML2) OR (NOT HAVE_LIBXSLT)) + + if((NOT HAVE_LIBXML2) OR (NOT HAVE_LIBXSLT)) +--- src/cmake/bcl2fastq_redist_macros.cmake.orig 2017-06-22 19:14:50.000000000 +0200 ++++ src/cmake/bcl2fastq_redist_macros.cmake 2021-06-03 00:45:41.825960000 +0200 +@@ -103,4 +103,25 @@ + + endmacro(find_library_redist name pathhint header) + ++# ++# Find a library in environment, assume version will be correct ++# ++macro(find_library_env name header library) ++ unset(${name}_LIBRARIES CACHE) ++ # Try explicit static first with regular as fallback (no-op if already found) ++ find_library(${name}_LIBRARIES NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}${library}${CMAKE_STATIC_LIBRARY_SUFFIX} PATHS ENV LIBRARY_PATH NO_DEFAULT_PATH) ++ find_library(${name}_LIBRARIES NAMES ${library} PATHS ENV LIBRARY_PATH NO_DEFAULT_PATH) ++ ++ message(STATUS "Find library ${name}: ${${name}_LIBRARIES}") ++ # Search for include path ++ unset(${name}_INCLUDE_DIR CACHE) ++ find_path(${name}_INCLUDE_DIR ${header} PATHS ENV C_INCLUDE_PATH ENV CPATH ENV CPLUS_INCLUDE_PATH NO_DEFAULT_PATH) ++ ++ if(${name}_INCLUDE_DIR AND ${name}_LIBRARIES) ++ set (HAVE_${name} true CACHE BOOL "lib bool" FORCE) ++ message (STATUS "Found ${name} header: ${${name}_INCLUDE_DIR}/${header}") ++ message (STATUS "Found ${name} library: ${${name}_LIBRARIES}") ++ endif() ++ ++endmacro() diff --git a/easybuild/easyconfigs/b/bcrypt/bcrypt-4.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a24eee7c987 --- /dev/null +++ b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,134 @@ +easyblock = 'CargoPythonPackage' + +name = 'bcrypt' +version = '4.0.1' + +homepage = 'https://github.com/pyca/bcrypt/' +description = """Acceptable password hashing for your software and your servers (but you should +really use argon2id or scrypt) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.70.0'), + ('setuptools-rust', '1.6.0'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +crates = [ + ('autocfg', '1.1.0'), + ('base64', '0.13.0'), + ('bcrypt', '0.13.0'), + ('bcrypt-pbkdf', '0.8.1'), + ('bitflags', '1.3.2'), + ('block-buffer', '0.10.3'), + ('blowfish', '0.9.1'), + ('byteorder', '1.4.3'), + ('cfg-if', '1.0.0'), + ('cipher', '0.4.3'), + ('cpufeatures', '0.2.5'), + ('crypto-common', '0.1.6'), + ('digest', '0.10.5'), + ('generic-array', '0.14.6'), + ('getrandom', '0.2.7'), + ('indoc', '0.3.6'), + ('indoc-impl', '0.3.6'), + ('inout', '0.1.3'), + ('instant', '0.1.12'), + ('libc', '0.2.134'), + ('lock_api', '0.4.9'), + ('once_cell', '1.15.0'), + ('parking_lot', '0.11.2'), + ('parking_lot_core', '0.8.5'), + ('paste', '0.1.18'), + ('paste-impl', '0.1.18'), + ('pbkdf2', '0.10.1'), + ('proc-macro-hack', '0.5.19'), + ('proc-macro2', '1.0.46'), + ('pyo3', '0.15.2'), + ('pyo3-build-config', '0.15.2'), + ('pyo3-macros', '0.15.2'), + ('pyo3-macros-backend', '0.15.2'), + ('quote', '1.0.21'), + ('redox_syscall', '0.2.16'), + ('scopeguard', '1.1.0'), + ('sha2', '0.10.6'), + ('smallvec', '1.10.0'), + ('subtle', '2.4.1'), + ('syn', '1.0.102'), + ('typenum', '1.15.0'), + ('unicode-ident', '1.0.4'), + ('unindent', '0.1.10'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('zeroize', '1.5.7'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'bcrypt-4.0.1.tar.gz': '27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.0.tar.gz': '904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd'}, + {'bcrypt-0.13.0.tar.gz': 'a7e7c93a3fb23b2fdde989b2c9ec4dd153063ec81f408507f84c090cd91c6641'}, + {'bcrypt-pbkdf-0.8.1.tar.gz': 'f4ef233ffa9cb9c7820b2b0e9efd0821ed180e866c9120ec9f45518659742074'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'block-buffer-0.10.3.tar.gz': '69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e'}, + {'blowfish-0.9.1.tar.gz': 'e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.4.3.tar.gz': 'd1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e'}, + {'cpufeatures-0.2.5.tar.gz': '28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'digest-0.10.5.tar.gz': 'adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c'}, + {'generic-array-0.14.6.tar.gz': 'bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9'}, + {'getrandom-0.2.7.tar.gz': '4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6'}, + {'indoc-0.3.6.tar.gz': '47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8'}, + {'indoc-impl-0.3.6.tar.gz': 'ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0'}, + {'inout-0.1.3.tar.gz': 'a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'libc-0.2.134.tar.gz': '329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'once_cell-1.15.0.tar.gz': 'e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1'}, + {'parking_lot-0.11.2.tar.gz': '7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99'}, + {'parking_lot_core-0.8.5.tar.gz': 'd76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216'}, + {'paste-0.1.18.tar.gz': '45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880'}, + {'paste-impl-0.1.18.tar.gz': 'd95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6'}, + {'pbkdf2-0.10.1.tar.gz': '271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7'}, + {'proc-macro-hack-0.5.19.tar.gz': 'dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5'}, + {'proc-macro2-1.0.46.tar.gz': '94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b'}, + {'pyo3-0.15.2.tar.gz': 'd41d50a7271e08c7c8a54cd24af5d62f73ee3a6f6a314215281ebdec421d5752'}, + {'pyo3-build-config-0.15.2.tar.gz': '779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410'}, + {'pyo3-macros-0.15.2.tar.gz': '00b247e8c664be87998d8628e86f282c25066165f1f8dda66100c48202fdb93a'}, + {'pyo3-macros-backend-0.15.2.tar.gz': '5a8c2812c412e00e641d99eeb79dd478317d981d938aa60325dfa7157b607095'}, + {'quote-1.0.21.tar.gz': 'bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'sha2-0.10.6.tar.gz': '82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0'}, + {'smallvec-1.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'subtle-2.4.1.tar.gz': '6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601'}, + {'syn-1.0.102.tar.gz': '3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1'}, + {'typenum-1.15.0.tar.gz': 'dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987'}, + {'unicode-ident-1.0.4.tar.gz': 'dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd'}, + {'unindent-0.1.10.tar.gz': '58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'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-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'zeroize-1.5.7.tar.gz': 'c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cbada951cfd --- /dev/null +++ b/easybuild/easyconfigs/b/bcrypt/bcrypt-4.1.3-GCCcore-13.2.0.eb @@ -0,0 +1,147 @@ +easyblock = 'CargoPythonPackage' + +name = 'bcrypt' +version = '4.1.3' + +homepage = 'https://github.com/pyca/bcrypt/' +description = """Acceptable password hashing for your software and your servers (but you should +really use argon2id or scrypt) +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', '1.73.0'), + ('setuptools-rust', '1.8.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +crates = [ + ('autocfg', '1.3.0'), + ('base64', '0.22.1'), + ('bcrypt', '0.15.1'), + ('bcrypt-pbkdf', '0.10.0'), + ('bitflags', '2.5.0'), + ('block-buffer', '0.10.4'), + ('blowfish', '0.9.1'), + ('byteorder', '1.5.0'), + ('cfg-if', '1.0.0'), + ('cipher', '0.4.4'), + ('cpufeatures', '0.2.12'), + ('crypto-common', '0.1.6'), + ('digest', '0.10.7'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.14'), + ('heck', '0.4.1'), + ('indoc', '2.0.5'), + ('inout', '0.1.3'), + ('libc', '0.2.154'), + ('lock_api', '0.4.12'), + ('memoffset', '0.9.1'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.2'), + ('parking_lot_core', '0.9.10'), + ('pbkdf2', '0.12.2'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.81'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('quote', '1.0.36'), + ('redox_syscall', '0.5.1'), + ('scopeguard', '1.2.0'), + ('sha2', '0.10.8'), + ('smallvec', '1.13.2'), + ('subtle', '2.5.0'), + ('syn', '2.0.60'), + ('target-lexicon', '0.12.14'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('zeroize', '1.7.0'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'bcrypt-4.1.3.tar.gz': '2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'base64-0.22.1.tar.gz': '72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6'}, + {'bcrypt-0.15.1.tar.gz': 'e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7'}, + {'bcrypt-pbkdf-0.10.0.tar.gz': '6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2'}, + {'bitflags-2.5.0.tar.gz': 'cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'blowfish-0.9.1.tar.gz': 'e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.4.4.tar.gz': '773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad'}, + {'cpufeatures-0.2.12.tar.gz': '53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.14.tar.gz': '94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'inout-0.1.3.tar.gz': 'a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5'}, + {'libc-0.2.154.tar.gz': 'ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.2.tar.gz': '7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'pbkdf2-0.12.2.tar.gz': 'f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.81.tar.gz': '3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba'}, + {'pyo3-0.21.2.tar.gz': 'a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8'}, + {'pyo3-build-config-0.21.2.tar.gz': '7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50'}, + {'pyo3-ffi-0.21.2.tar.gz': '01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403'}, + {'pyo3-macros-0.21.2.tar.gz': '77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c'}, + {'pyo3-macros-backend-0.21.2.tar.gz': '08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'redox_syscall-0.5.1.tar.gz': '469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-2.0.60.tar.gz': '909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'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'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'zeroize-1.7.0.tar.gz': '525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2017a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2017a.eb index 88be4437d43..f69171cc680 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2017a.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-2.1.2-foss-2017a.eb @@ -13,7 +13,7 @@ source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] sources = ['beagle_release_%s.tar.gz' % version.replace('.', '_')] checksums = ['82ff13f4e7d7bffab6352e4551dfa13afabf82bff54ea5761d1fc1e78341d7de'] -dependencies = [('Java', '1.8.0_144', '', True)] +dependencies = [('Java', '1.8.0_144', '', SYSTEM)] builddependencies = [('Autotools', '20150215')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-foss-2018a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-foss-2018a.eb index 8ea77e9a5bd..ca5de62a8c9 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-foss-2018a.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-foss-2018a.eb @@ -13,7 +13,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['d94b3b440ea64c564005f4eadceff8d502129dd22369f6045e40121ca383a6ca'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] builddependencies = [('Autotools', '20170619')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-intel-2018a.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-intel-2018a.eb index 11f42e93a75..0b71e37b50f 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-intel-2018a.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.1-intel-2018a.eb @@ -13,7 +13,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['d94b3b440ea64c564005f4eadceff8d502129dd22369f6045e40121ca383a6ca'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] builddependencies = [('Autotools', '20170619')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b-CUDA-9.2.88.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b-CUDA-9.2.88.eb index 32be3e9381f..8df8f31d4d3 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b-CUDA-9.2.88.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b-CUDA-9.2.88.eb @@ -15,8 +15,8 @@ sources = ['v%(version)s.tar.gz'] checksums = ['59a7081b61ead0a5738e813c6fcfb614d2c5bb49c29b28609de8e2b51bea3ec0'] dependencies = [ - ('Java', '1.8', '', True), - ('CUDA', local_cuda_ver, '', True), + ('Java', '1.8', '', SYSTEM), + ('CUDA', local_cuda_ver, '', SYSTEM), ] builddependencies = [('Autotools', '20180311')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b.eb index d3d114b1a46..571ffcfac1f 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.0.2-foss-2018b.eb @@ -12,7 +12,7 @@ source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] sources = ['v%(version)s.tar.gz'] checksums = ['59a7081b61ead0a5738e813c6fcfb614d2c5bb49c29b28609de8e2b51bea3ec0'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] builddependencies = [('Autotools', '20180311')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.2.0.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.2.0.eb index f40b3b1712f..e676c19b2af 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.2.0.eb @@ -18,7 +18,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pkg-config', '0.29.2'), ('pocl', '1.6'), ] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.3.0.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..dd690af8e5f --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'beagle-lib' +version = '3.1.2' + +homepage = 'https://github.com/beagle-dev/beagle-lib' +description = """beagle-lib is a high-performance library that can perform the core calculations at the heart of most + Bayesian and Maximum Likelihood phylogenetics packages.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275'] + +builddependencies = [ + ('Autotools', '20210128'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('pkg-config', '0.29.2'), + ('pocl', '1.8'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--with-opencl=$EBROOTPOCL " + +sanity_check_paths = { + 'files': ['include/libhmsbeagle-1/libhmsbeagle/%s' % x for x in ['beagle.h', 'platform.h']] + + ['lib/libhmsbeagle%s.%s' % (x, SHLIB_EXT) for x in ['-cpu', '-cpu-sse', '-jni', '']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-8.2.0-2.31.1.eb index d300d9d5ff7..d464264930a 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-8.2.0-2.31.1.eb @@ -12,7 +12,7 @@ source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] sources = ['v%(version)s.tar.gz'] checksums = ['dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] builddependencies = [('Autotools', '20180311')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-9.3.0.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-9.3.0.eb index f0dc7a138e7..f7afb71fa1b 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-GCC-9.3.0.eb @@ -12,7 +12,7 @@ source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] sources = ['v%(version)s.tar.gz'] checksums = ['dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] builddependencies = [('Autotools', '20180311')] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-gcccuda-2019b.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-gcccuda-2019b.eb index ecacb7868ce..97e7108bf28 100644 --- a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-gcccuda-2019b.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275'] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pkg-config', '0.29.2'), ('pocl', '1.4'), ] diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000000..67aec4c48d2 --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-3.1.2-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'beagle-lib' +version = '3.1.2' +homepage = 'https://github.com/beagle-dev/beagle-lib' +description = """beagle-lib is a high-performance library that can perform the core calculations at the heart of most + Bayesian and Maximum Likelihood phylogenetics packages.""" + +toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'} + +source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd872b484a3a9f0bce369465e60ccf4e4c0cd7bd5ce41499415366019f236275'] + +dependencies = [('Java', '11', '', SYSTEM)] + +builddependencies = [('Autotools', '20180311')] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ["include/libhmsbeagle-1/libhmsbeagle/%s" % x for x in ["beagle.h", "platform.h"]] + + ["lib/libhmsbeagle%s.%s" % (x, SHLIB_EXT) for x in ["-cpu", "-cpu-sse", "-jni", ""]], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..7824fea6434 --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.0-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'beagle-lib' +version = '4.0.0' + +homepage = 'https://github.com/beagle-dev/beagle-lib' +description = """beagle-lib is a high-performance library that can perform the core calculations at the heart of most + Bayesian and Maximum Likelihood phylogenetics packages.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'beagle-dev' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d197eeb7fe5879dfbae789c459bcc901cb04d52c9cf5ef14fb07ff7a6b74560b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('pocl', '1.8'), +] + +sanity_check_paths = { + 'files': ['include/libhmsbeagle-1/libhmsbeagle/%s' % x for x in ['beagle.h', 'platform.h']] + + ['lib/libhmsbeagle%s.%s' % (x, SHLIB_EXT) for x in ['-cpu', '-cpu-sse', '-jni', '']], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.1-GCC-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.1-GCC-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..2c2bbf6705b --- /dev/null +++ b/easybuild/easyconfigs/b/beagle-lib/beagle-lib-4.0.1-GCC-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'beagle-lib' +version = '4.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/beagle-dev/beagle-lib' +description = """beagle-lib is a high-performance library that can perform the core calculations at the heart of most + Bayesian and Maximum Likelihood phylogenetics packages.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/beagle-dev/beagle-lib/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9d258cd9bedd86d7c28b91587acd1132f4e01d4f095c657ad4dc93bd83d4f120'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('CUDA', '12.1.1', '', SYSTEM), +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +configopts = '-DBUILD_CUDA=ON ' + +sanity_check_paths = { + 'files': ["include/libhmsbeagle-1/libhmsbeagle/%s" % x for x in ["beagle.h", "platform.h"]] + + ["lib/libhmsbeagle%s.%s" % (x, SHLIB_EXT) for x in ["-cpu", "-cpu-sse", "-jni", ""]], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/b/bench/bench-1.1.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/b/bench/bench-1.1.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..234c3dadbc9 --- /dev/null +++ b/easybuild/easyconfigs/b/bench/bench-1.1.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,44 @@ +easyblock = 'Bundle' + +name = 'bench' +version = '1.1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/bench/index.html' +description = """Tools to accurately benchmark and analyze execution times for R expressions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('profmem', '0.6.0', { + 'checksums': ['745ca9b22a8de3cda4374be6e2454e549742a3b72ff02c8894c972178192e63d'], + }), + (name, version, { + 'checksums': ['af910a768db79fe68597e6e79ff1012b810b8f88fb29c04432cded058ec2439b'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb index 24b89573e3a..073b14d8551 100644 --- a/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/b/bgen-reader/bgen-reader-3.0.2-foss-2018b-Python-3.6.6.eb @@ -40,7 +40,7 @@ exts_list = [ (name, version, { 'checksums': ['1c0bf5983b14e84b70b3b5465bacdf92cbcf37138be86c9bc10e8960b545a402'], # relax version requirement on dask - 'preinstallopts': "sed -i 's/delayed\]>=1.0.0/delayed]>=0.19.0/g' setup.cfg &&", + 'preinstallopts': r"sed -i 's/delayed\]>=1.0.0/delayed]>=0.19.0/g' setup.cfg &&", }), ] diff --git a/easybuild/easyconfigs/b/bgen/bgen-4.1.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/bgen/bgen-4.1.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..460afd5c0d0 --- /dev/null +++ b/easybuild/easyconfigs/b/bgen/bgen-4.1.3-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'bgen' +version = '4.1.3' + +homepage = 'https://github.com/limix/bgen' +description = "A BGEN file format reader. It fully supports the BGEN format specifications 1.2 and 1.3." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +github_account = 'limix' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7e2da4831b631cb18e16bbe2b645f08c9b325fb4eb2f53615fcdeec2a75bbd35'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('zstd', '1.4.5'), + ('almosthere', '2.0.2'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libbgen.a', 'include/bgen/bgen.h'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.4.0.eb index 2ae6ba18a54..7122f8fed1d 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.4.0.eb @@ -16,7 +16,7 @@ builddependencies = [ # zlib required, but being linked instatically, so not a runtime dep ('zlib', '1.2.8'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.5.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.5.0.eb index 2d41305b4cf..1ff0485bfc7 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.26-GCCcore-5.5.0.eb @@ -16,7 +16,7 @@ builddependencies = [ # zlib required, but being linked instatically, so not a runtime dep ('zlib', '1.2.11'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.3.0.eb index 93b20c17e20..0759f7aae9e 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.3.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.3'), ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.4.0.eb index 3cdec71af84..43d45b40723 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-6.4.0.eb @@ -15,7 +15,7 @@ builddependencies = [ ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, # to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-7.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-7.1.0.eb index 7b12c3e7b9b..6cacb8636c8 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-7.1.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.28-GCCcore-7.1.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.3'), ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.29-GCCcore-7.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.29-GCCcore-7.2.0.eb index c35f4248bb2..ec297ac8a27 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.29-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.29-GCCcore-7.2.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-7.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-7.3.0.eb index ed6a58e814e..9ecaf6bc39b 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-7.3.0.eb @@ -8,17 +8,22 @@ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['binutils-%(version)s_fix-assertion-fail-elf.patch'] +patches = [ + 'binutils-%(version)s_fix-assertion-fail-elf.patch', + 'binutils-2.31.1-gold-ignore-discarded-note-relocts.patch', +] checksums = [ '8c3850195d1c093d290a716e20ebcaa72eda32abf5e3d8611154b39cff79e9ea', # binutils-2.30.tar.gz '7a661190c973287642296dd9fb30ff45dc26ae2138f7761cd8362f7e412ff5ab', # binutils-2.30_fix-assertion-fail-elf.patch + # binutils-2.31.1-gold-ignore-discarded-note-relocts.patch + '17f22cc9136d0e81cfe8cbe310328c794a78a864e7fe7ca5827ee6678f65af32', ] builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb index f9766dc94cc..f20a4a66372 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.30-GCCcore-8.1.0.eb @@ -8,17 +8,22 @@ toolchain = {'name': 'GCCcore', 'version': '8.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] -patches = ['binutils-%(version)s_fix-assertion-fail-elf.patch'] +patches = [ + 'binutils-%(version)s_fix-assertion-fail-elf.patch', + 'binutils-2.31.1-gold-ignore-discarded-note-relocts.patch', +] checksums = [ '8c3850195d1c093d290a716e20ebcaa72eda32abf5e3d8611154b39cff79e9ea', # binutils-2.30.tar.gz '7a661190c973287642296dd9fb30ff45dc26ae2138f7761cd8362f7e412ff5ab', # binutils-2.30_fix-assertion-fail-elf.patch + # binutils-2.31.1-gold-ignore-discarded-note-relocts.patch + '17f22cc9136d0e81cfe8cbe310328c794a78a864e7fe7ca5827ee6678f65af32', ] builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.0.4'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.30.eb b/easybuild/easyconfigs/b/binutils/binutils-2.30.eb index bb473df1b22..7b7de292ee6 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.30.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.30.eb @@ -12,11 +12,14 @@ sources = [SOURCE_TAR_GZ] patches = [ 'binutils-%(version)s_fix-assertion-fail-elf.patch', 'binutils-2.32_gold-include-cpp-headers.patch', + 'binutils-2.31.1-gold-ignore-discarded-note-relocts.patch', ] checksums = [ '8c3850195d1c093d290a716e20ebcaa72eda32abf5e3d8611154b39cff79e9ea', # binutils-2.30.tar.gz '7a661190c973287642296dd9fb30ff45dc26ae2138f7761cd8362f7e412ff5ab', # binutils-2.30_fix-assertion-fail-elf.patch 'cbb53f29693b06a501e8395eedc7bfdd8fec7d8a74af7482921fa51784dd1c2f', # binutils-2.32_gold-include-cpp-headers.patch + # binutils-2.31.1-gold-ignore-discarded-note-relocts.patch + '17f22cc9136d0e81cfe8cbe310328c794a78a864e7fe7ca5827ee6678f65af32', ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-7.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-7.4.0.eb index 3db9b24875c..3d6ec7437bb 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-7.4.0.eb @@ -19,7 +19,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.2.2'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-8.2.0.eb index ef31e6f73c4..8876efd1b6c 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.31.1-GCCcore-8.2.0.eb @@ -19,7 +19,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.0.5'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-8.3.0.eb index 5e7624cfb62..a1384a814f7 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-8.3.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.3.2'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.1.0.eb index 2482db7b76a..7283ba452d4 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.1.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.3.2'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.2.0.eb index c7966387725..beeca4aff16 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.32-GCCcore-9.2.0.eb @@ -24,7 +24,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.3.2'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-10.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-10.1.0.eb index fb99acd8de8..e7807685469 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-10.1.0.eb @@ -23,7 +23,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.6.1'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-9.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-9.3.0.eb index f74f0325c09..34dc183b567 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.34-GCCcore-9.3.0.eb @@ -23,7 +23,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.5.3'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.34.eb b/easybuild/easyconfigs/b/binutils/binutils-2.34.eb index 1cf44b64555..a4138107365 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.34.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.34.eb @@ -22,7 +22,7 @@ checksums = [ builddependencies = [ ('flex', '2.6.4'), - ('Bison', '3.5.3'), + ('Bison', '3.8.2'), # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.11'), ] diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.35-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.35-GCCcore-10.2.0.eb index c3fb942ee7d..43435891a60 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.35-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.35-GCCcore-10.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.7.1'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.35.eb b/easybuild/easyconfigs/b/binutils/binutils-2.35.eb index 61d32277dde..5655c9dbc9e 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.35.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.35.eb @@ -19,7 +19,7 @@ checksums = [ builddependencies = [ ('flex', '2.6.4'), - ('Bison', '3.7.1'), + ('Bison', '3.8.2'), # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.11'), ] diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-10.3.0.eb index 8a7c407a6bb..6dd4731d702 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-10.3.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.7.6'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-11.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-11.1.0.eb index 9d954efae4e..4b6a60c48f3 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-11.1.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.7.6'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-8.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-8.4.0.eb index 5fe10da2880..efcc5a27842 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-8.4.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.3.2'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-9.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-9.4.0.eb index 9440aa2ae70..cdcea5ab36a 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.36.1-GCCcore-9.4.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('flex', '2.6.4'), ('Bison', '3.7.6'), # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils - ('binutils', version, '', True) + ('binutils', version, '', SYSTEM) ] dependencies = [ diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.36.1.eb b/easybuild/easyconfigs/b/binutils/binutils-2.36.1.eb index 4b38ce2e34e..5f6e42bf744 100644 --- a/easybuild/easyconfigs/b/binutils/binutils-2.36.1.eb +++ b/easybuild/easyconfigs/b/binutils/binutils-2.36.1.eb @@ -13,7 +13,7 @@ checksums = ['e68edeaaeb6ca9687b6dcbaedd1b376506baad2d48de26a885fc5ab6acb839da'] builddependencies = [ ('flex', '2.6.4'), - ('Bison', '3.7.6'), + ('Bison', '3.8.2'), # zlib required, but being linked in statically, so not a runtime dep ('zlib', '1.2.11'), ] diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.37-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.37-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e655d705347 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.37-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.37' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.11'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.37.eb b/easybuild/easyconfigs/b/binutils/binutils-2.37.eb new file mode 100644 index 00000000000..1a9094ebca7 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.37.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.37' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c44968b97cd86499efbc4b4ab7d98471f673e5414c554ef54afa930062dbbfcb'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.11'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ddecfa4f7db --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-12.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..3710a56f322 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-12.1.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-9.5.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..bea25508b1e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38-GCCcore-9.5.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.38.eb b/easybuild/easyconfigs/b/binutils/binutils-2.38.eb new file mode 100644 index 00000000000..19ac8f19011 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.38.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.38' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b3f1dc5b17e75328f19bd88250bee2ef9f91fc8cbb7bd48bdb31390338636052'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.39-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.39-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f105d46cf0e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.39-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.39' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d12ea6f239f1ffe3533ea11ad6e224ffcb89eb5d01bbea589e9158780fa11f10'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.39.eb b/easybuild/easyconfigs/b/binutils/binutils-2.39.eb new file mode 100644 index 00000000000..c2dda2f1464 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.39.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.39' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d12ea6f239f1ffe3533ea11ad6e224ffcb89eb5d01bbea589e9158780fa11f10'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.12'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-11.4.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..f8fd00a923f --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-11.4.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.40' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.13'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..db717c869d8 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.40' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.13'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..10be685a805 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.1.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.40' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.13'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3d83b04688d --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.40-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.40' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.2.13'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.40.eb b/easybuild/easyconfigs/b/binutils/binutils-2.40.eb new file mode 100644 index 00000000000..a04b02ae921 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.40.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.40' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d7f82c4047decf43a6f769ac32456a92ddb6932409a585c633cdd4e9df23d956'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.2.13'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7a10c5ed2bc --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..0ef5c688a3e --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.1.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.2.0.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..94b762d7803 --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42-GCCcore-14.2.0.eb @@ -0,0 +1,31 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' +description = "binutils: GNU binary utilities" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # use same binutils version that was used when building GCC toolchain, to 'bootstrap' this binutils + ('binutils', version, '', SYSTEM) +] + +dependencies = [ + # zlib is a runtime dep to avoid that it gets embedded in libbfd.so, + # see https://github.com/easybuilders/easybuild-easyblocks/issues/1350 + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/binutils/binutils-2.42.eb b/easybuild/easyconfigs/b/binutils/binutils-2.42.eb new file mode 100644 index 00000000000..93223d7387d --- /dev/null +++ b/easybuild/easyconfigs/b/binutils/binutils-2.42.eb @@ -0,0 +1,26 @@ +name = 'binutils' +version = '2.42' + +homepage = 'https://directory.fsf.org/project/binutils/' + +description = "binutils: GNU binary utilities" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5d2a6c1d49686a557869caae08b6c2e83699775efd27505e01b2f4db1a024ffc'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + # zlib required, but being linked in statically, so not a runtime dep + ('zlib', '1.3.1'), +] + +# avoid build failure when makeinfo command is not available +# see https://sourceware.org/bugzilla/show_bug.cgi?id=15345 +buildopts = 'MAKEINFO=true' +installopts = buildopts + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..f4892ce9594 --- /dev/null +++ b/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'bioawk' +version = '1.0' + +homepage = 'https://github.com/lh3/bioawk' +description = """ Bioawk is an extension to Brian Kernighan's awk, + adding the support of several common biological data formats, + including optionally gzip'ed BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5cbef3f39b085daba45510ff450afcf943cfdfdd483a546c8a509d3075ff51b5'] + +builddependencies = [('Bison', '3.7.6')] +dependencies = [('zlib', '1.2.11')] + +parallel = 1 + +files_to_copy = [([name], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..e3605a03418 --- /dev/null +++ b/easybuild/easyconfigs/b/bioawk/bioawk-1.0-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'bioawk' +version = '1.0' + +homepage = 'https://github.com/lh3/bioawk' +description = """ Bioawk is an extension to Brian Kernighan's awk, + adding the support of several common biological data formats, + including optionally gzip'ed BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5cbef3f39b085daba45510ff450afcf943cfdfdd483a546c8a509d3075ff51b5'] + +builddependencies = [('Bison', '3.7.6')] +dependencies = [('zlib', '1.2.11')] + +parallel = 1 + +files_to_copy = [([name], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biobakery-workflows/biobakery-workflows-3.1-foss-2022a.eb b/easybuild/easyconfigs/b/biobakery-workflows/biobakery-workflows-3.1-foss-2022a.eb new file mode 100644 index 00000000000..7fc8fe63552 --- /dev/null +++ b/easybuild/easyconfigs/b/biobakery-workflows/biobakery-workflows-3.1-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'biobakery-workflows' +version = '3.1' + +homepage = 'http://huttenhower.sph.harvard.edu/biobakery_workflows' +description = """bioBakery workflows is a collection of workflows and tasks for executing +common microbial community analyses using standardized, validated tools and parameters. +Quality control and statistical summary reports are automatically generated for most data +types, which include 16S amplicons, metagenomes, and metatranscriptomes. Workflows are run +directly from the command line and tasks can be imported to create your own custom workflows. +The workflows and tasks are built with AnADAMA2 which allows for parallel task execution locally +and in a grid compute environment.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ["biobakery_workflows-%(version)s.tar.gz"] +checksums = ['c11a00192aa0bd6a6978eabef768c483dd240281991ce2a31bfaf291fe3d0e2b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('kneaddata', '0.12.0'), + ('humann', '3.6'), + ('MetaPhlAn', '4.0.6'), + ('anadama2', '0.10.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biobakery_workflows'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "biobakery_workflows --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.185-GCC-12.3.0.eb b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.185-GCC-12.3.0.eb new file mode 100644 index 00000000000..69ef6ed8f53 --- /dev/null +++ b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.185-GCC-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'biobambam2' +version = '2.0.185' + +homepage = 'https://github.com/gt1/biobambam2' +description = "Tools for processing BAM files" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +local_release = '20221211202123' +source_urls = ['https://gitlab.com/german.tischler/biobambam2/-/archive/%%(version)s-release-%s' % local_release] +sources = ['biobambam2-%%(version)s-release-%s.tar.gz' % local_release] +checksums = ['e405421e869ac7220c3a7e5da0d24a3c7b4c7b1807e044a439fe68efc88a1f2a'] + +dependencies = [ + ('libmaus2', '2.0.813'), +] + +configopts = "--with-libmaus2=$EBROOTLIBMAUS2" + +local_binaries = ['bamcollate2', 'bammarkduplicates', 'bammaskflags', 'bamrecompress', + 'bamsormadup', 'bamsort', 'bamtofastq'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb new file mode 100644 index 00000000000..62dfa0f74a1 --- /dev/null +++ b/easybuild/easyconfigs/b/biobambam2/biobambam2-2.0.87-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'biobambam2' +version = '2.0.87' + +homepage = 'https://github.com/gt1/biobambam2' +description = "Tools for processing BAM files" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gt1/biobambam2/archive/'] +sources = ['%(version)s-release-20180301132713.tar.gz'] +checksums = ['a90500e547465d8d0455bda7936e0b660c0fd3f1b243083ec0739527f802dcf4'] + +dependencies = [ + ('libmaus2', '2.0.499'), +] + +configopts = "--with-libmaus2=$EBROOTLIBMAUS2" + +local_binaries = ['bamcollate2', 'bammarkduplicates', 'bammaskflags', 'bamrecompress', + 'bamsormadup', 'bamsort', 'bamtofastq'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biogeme/biogeme-3.1.2-foss-2021a.eb b/easybuild/easyconfigs/b/biogeme/biogeme-3.1.2-foss-2021a.eb new file mode 100644 index 00000000000..dc22767d5d8 --- /dev/null +++ b/easybuild/easyconfigs/b/biogeme/biogeme-3.1.2-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'biogeme' +version = '3.1.2' + +homepage = 'https://pypi.python.org/pypi/biogeme' +description = """Biogeme is a open source Python package designed for +the maximum likelihood estimation of parametric models in general, +with a special emphasis on discrete choice models.""" + +use_pip = True +sanity_pip_check = True + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05') +] + +exts_list = [ + ('Unidecode', '1.2.0', { + 'checksums': ['8d73a97d387a956922344f6b74243c2c6771594659778744b2dbdaad8f6b727d'], + }), + (name, version, { + 'checksums': ['28aecfa3701c293e3b3c6bcab68322d77d1721e10b18d987f592651333f1e438'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/biogeme'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/biogeme/biogeme-3.2.10-foss-2022a.eb b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.10-foss-2022a.eb new file mode 100644 index 00000000000..efe335afb48 --- /dev/null +++ b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.10-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'biogeme' +version = '3.2.10' + +homepage = 'https://pypi.python.org/pypi/biogeme' +description = """Biogeme is a open source Python package designed for +the maximum likelihood estimation of parametric models in general, +with a special emphasis on discrete choice models.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('Unidecode', '1.3.6', { + 'checksums': ['fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830'], + }), + (name, version, { + 'checksums': ['60b865e54f4c5ed22eb4a13dc277b72a2fec13e22d243a6f97d05fe7df984d63'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb new file mode 100644 index 00000000000..21a1c2ddb5e --- /dev/null +++ b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.6-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'biogeme' +version = '3.2.6' + +homepage = 'https://pypi.python.org/pypi/biogeme' +description = """Biogeme is a open source Python package designed for +the maximum likelihood estimation of parametric models in general, +with a special emphasis on discrete choice models.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('Unidecode', '1.3.6', { + 'checksums': ['fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830'], + }), + (name, version, { + 'checksums': ['ff8d492019e15aecdfe7c72cff3b2616845cdf80bd2f1bde9031d94601f3faf7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/biogeme/biogeme-3.2.8-foss-2021a.eb b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.8-foss-2021a.eb new file mode 100644 index 00000000000..dca74cb3d2e --- /dev/null +++ b/easybuild/easyconfigs/b/biogeme/biogeme-3.2.8-foss-2021a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'biogeme' +version = '3.2.8' + +homepage = 'https://pypi.python.org/pypi/biogeme' +description = """Biogeme is a open source Python package designed for +the maximum likelihood estimation of parametric models in general, +with a special emphasis on discrete choice models.""" + +use_pip = True +sanity_pip_check = True + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05') +] + +exts_list = [ + ('Unidecode', '1.2.0', { + 'checksums': ['8d73a97d387a956922344f6b74243c2c6771594659778744b2dbdaad8f6b727d'], + }), + ('tqdm', '4.62.0', { + 'checksums': ['3642d483b558eec80d3c831e23953582c34d7e4540db86d9e5ed9dad238dabc6'], + }), + (name, version, { + 'checksums': ['eafb969bb086a014617fae92e652fb54dd98ac72516a360e40c837244935859c'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/biogeme'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.10-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.10-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..aedfd4b2c42 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.10-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,48 @@ +## +# 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:: Revised BSD +# +# Notes:: +## + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.10' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('h5py', '2.10.0', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.12-foss-2021b.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.12-foss-2021b.eb new file mode 100644 index 00000000000..20a05a5301d --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.12-foss-2021b.eb @@ -0,0 +1,47 @@ +## +# 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:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.12' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a4460e803b2abfcabe76d5d8fec0f3f7e76a8cd0e09bf22bb38dea9fca224ac2'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb new file mode 100644 index 00000000000..e518ffc2793 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.14-foss-2022a.eb @@ -0,0 +1,47 @@ +## +# 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:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.14' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c8bac94ab6aa8226c0d38af7a3341d65e5f3664b9f45ec44fdf8b5275b2f92c1'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2022b.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2022b.eb new file mode 100644 index 00000000000..eef21fa64ce --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2022b.eb @@ -0,0 +1,48 @@ +## +# 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:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## +# Updated: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.15' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('h5py', '3.8.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb new file mode 100644 index 00000000000..097ccb0a7e7 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.15-foss-2023a.eb @@ -0,0 +1,48 @@ +## +# 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:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## +# Updated: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.15' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/biom-format/biom-format-2.1.16-foss-2023b.eb b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.16-foss-2023b.eb new file mode 100644 index 00000000000..91d9cecbd99 --- /dev/null +++ b/easybuild/easyconfigs/b/biom-format/biom-format-2.1.16-foss-2023b.eb @@ -0,0 +1,49 @@ +## +# 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:: Revised BSD +# +# Notes:: updated by Kenneth Hoste (HPC-UGent) for foss/2021b +## +# Updated: Petr Král (INUITS) +# Updated: Lara Peeters (Ghent University) + +easyblock = 'PythonPackage' + +name = 'biom-format' +version = '2.1.16' + +homepage = 'https://biom-format.org' +description = """ +The BIOM file format (canonically pronounced biome) is designed to be + a general-use format for representing biological sample by observation + contingency tables. BIOM is a recognized standard for the Earth Microbiome + Project and is a Genomics Standards Consortium supported project. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['47f88d57a94ecaa4d06f3578ca394e78db6d12e46ab0886634743181e67dcfc9'] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('h5py', '3.11.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/biom'], + 'dirs': ['lib'], +} + +options = {'modulename': 'biom'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bitarray/bitarray-1.5.3-GCC-8.3.0-Python-2.7.16.eb b/easybuild/easyconfigs/b/bitarray/bitarray-1.5.3-GCC-8.3.0-Python-2.7.16.eb new file mode 100644 index 00000000000..d350eb0674e --- /dev/null +++ b/easybuild/easyconfigs/b/bitarray/bitarray-1.5.3-GCC-8.3.0-Python-2.7.16.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'bitarray' +version = '1.5.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/ilanschnell/bitarray' +description = "bitarray provides an object type which efficiently represents an array of booleans" + +toolchain = {'name': 'GCC', 'version': '8.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['567631fc922b1c2c528c376795f18dcc0604d18702e0b8b50e8e35f0474214a5'] + +dependencies = [('Python', '2.7.16')] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8127a86c558 --- /dev/null +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'bitsandbytes' +version = '0.43.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://huggingface.co/docs/bitsandbytes/main/en/index' +description = "bitsandbytes enables accessible large language models via k-bit quantization for PyTorch." +github_account = 'bitsandbytes-foundation' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7a468bc977da19c176cc578954bfd7a3c64182f387a6849e9f0a38d5cba1b4df'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), + ('SciPy-bundle', '2023.07'), +] + +configopts = '-DCOMPUTE_BACKEND=cuda' +skipsteps = ['install'] + +postinstallcmds = [ + 'pip install --prefix=%(installdir)s --no-deps --ignore-installed --no-index --no-build-isolation %(start_dir)s', +] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/bitsandbytes/libbitsandbytes_cuda121.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import bitsandbytes'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a.eb b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a.eb new file mode 100644 index 00000000000..8b360bb263b --- /dev/null +++ b/easybuild/easyconfigs/b/bitsandbytes/bitsandbytes-0.43.3-foss-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'bitsandbytes' +version = '0.43.3' + +homepage = 'https://huggingface.co/docs/bitsandbytes/main/en/index' +description = "bitsandbytes enables accessible large language models via k-bit quantization for PyTorch." +github_account = 'bitsandbytes-foundation' + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7a468bc977da19c176cc578954bfd7a3c64182f387a6849e9f0a38d5cba1b4df'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), + ('SciPy-bundle', '2023.07'), +] + +skipsteps = ['install'] + +postinstallcmds = [ + 'pip install --prefix=%(installdir)s --no-deps --ignore-installed --no-index --no-build-isolation %(start_dir)s', +] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/bitsandbytes/libbitsandbytes_cpu.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import bitsandbytes'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..3faf7d3a1ee --- /dev/null +++ b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.1-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'bitshuffle' +version = '0.5.1' + +homepage = 'https://github.com/kiyo-masui/bitshuffle' +description = """ +Filter for improving compression of typed binary data. +Bitshuffle is an algorithm that rearranges typed, binary data for improving compression, as +well as a python/C package that implements this algorithm within the Numpy framework. +The library can be used along side HDF5 to compress and decompress datasets and is integrated +through the dynamically loaded filters framework. Bitshuffle is HDF5 filter number 32008. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['988f224739aa6858475a4c59172968c7b51cc657d2249580c8f96848708fbae3'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/bliss/bliss-0.77-GCC-13.2.0.eb b/easybuild/easyconfigs/b/bliss/bliss-0.77-GCC-13.2.0.eb new file mode 100644 index 00000000000..ec9a99bc306 --- /dev/null +++ b/easybuild/easyconfigs/b/bliss/bliss-0.77-GCC-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'bliss' +version = '0.77' + +homepage = 'https://users.aalto.fi/~tjunttil/bliss/' +description = """Bliss is an open-source tool for computing canonical labelings and automorphism groups of graphs.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://users.aalto.fi/~tjunttil/bliss/downloads/'] +sources = [SOURCE_ZIP] +patches = ['bliss-0.77_install_fix.patch'] +checksums = [ + {'bliss-0.77.zip': 'acc8b98034f30fad24c897f365abd866c13d9f1bb207e398d0caf136875972a4'}, + {'bliss-0.77_install_fix.patch': '1550b6c7f8208f56093c0b6bf0d2e3df42afab81cd69eb70303515c9923e9513'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = "-DUSE_GMP=ON " + +sanity_check_paths = { + 'files': [ + 'bin/bliss', + 'lib/libbliss.%s' % SHLIB_EXT, + ], + 'dirs': [ + 'include/%(name)s', + ], +} + +sanity_check_commands = ["bliss -help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/bliss/bliss-0.77_install_fix.patch b/easybuild/easyconfigs/b/bliss/bliss-0.77_install_fix.patch new file mode 100644 index 00000000000..faea2ad4daf --- /dev/null +++ b/easybuild/easyconfigs/b/bliss/bliss-0.77_install_fix.patch @@ -0,0 +1,33 @@ +Adds install commands to CMakeLists.txt +Source: https://gitlab.archlinux.org/archlinux/packaging/packages/bliss/-/blob/0.77-3/make-install.patch +diff -u CMakeLists.txt.orig CMakeLists.txt +--- CMakeLists.txt.orig 2021-02-18 11:59:34.000000000 +0100 ++++ CMakeLists.txt 2024-08-15 15:04:21.293765655 +0200 +@@ -62,3 +62,27 @@ + target_link_libraries(bliss-executable ${GMP_LIBRARIES}) + endif(USE_GMP) + set_target_properties(bliss-executable PROPERTIES OUTPUT_NAME bliss) ++ ++include(GNUInstallDirs) ++ ++set( ++ BLISS_HEADERS ++ src/bliss_C.h ++ src/uintseqhash.hh ++ src/abstractgraph.hh ++ src/stats.hh ++ src/digraph.hh ++ src/defs.hh ++ src/heap.hh ++ src/graph.hh ++ src/partition.hh ++ src/kqueue.hh ++ src/utils.hh ++ src/orbit.hh ++ src/timer.hh ++ src/bignum.hh ++) ++ ++install(TARGETS bliss-executable RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS bliss LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${BLISS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/bliss) diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb new file mode 100644 index 00000000000..513e9f6b2fc --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.2.3-intelcuda-2020b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.2.3' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('Pillow', '8.0.1'), + ('SciPy-bundle', '2020.11'), + ('typing-extensions', '3.7.4.3'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['c4a3f97afe5f525019dd58ee8c4e3d43f53fe1b1ac264ccaae9b02c07b2abc17'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.4.1-foss-2021a.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.1-foss-2021a.eb new file mode 100644 index 00000000000..a167cc80efa --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.1-foss-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.4.1' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('Pillow', '8.2.0'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['d0410717d743a0ac251e62480e2ea860a7341bdcd1dbe01499a904f233c90512'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.4.2-foss-2021b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.2-foss-2021b.eb new file mode 100644 index 00000000000..34b3817fed0 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.2-foss-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.4.2' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('Pillow', '8.3.2'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['f0a4b53364ed3b7eb936c5cb1a4f4132369e394c7ae0a8ef420459410958033d'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb new file mode 100644 index 00000000000..4f2830449ae --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-2.4.3-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '2.4.3' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + (name, version, { + 'checksums': ['ef33801161af379665ab7a34684f2209861e3aefd5c803a21fbbb99d94874b03'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-3.2.1-foss-2022b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-3.2.1-foss-2022b.eb new file mode 100755 index 00000000000..0139ef9c8f8 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-3.2.1-foss-2022b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '3.2.1' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('setuptools', '64.0.3'), + ('meson-python', '0.11.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('PyYAML', '6.0'), + ('Pillow', '9.4.0'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True + +exts_list = [ + ('tornado', '6.3.2', { + 'checksums': ['4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba'], + }), + ('contourpy', '1.0.7', { # stick to 1.0.7 to avoid need for newer Meson / meson-python + 'checksums': ['d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e'], + }), + ('xyzservices', '2023.7.0', { + 'checksums': ['0ec928742227d6f5d4367ea7b457fcfed943429f4de2949b5b02a82cdf5569d6'], + }), + (name, version, { + # bokeh uses git tags to get version, so we'll instead inject the version into setup.py + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """, + 'checksums': ['2371e9a08fd60766879ee8607a4ae54267acfed1e5dee0cc6a20d8348e02e814'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-3.2.2-foss-2023a.eb b/easybuild/easyconfigs/b/bokeh/bokeh-3.2.2-foss-2023a.eb new file mode 100644 index 00000000000..f2407b6c84b --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-3.2.2-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '3.2.2' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('meson-python', '0.13.2'), + ('hatchling', '1.18.0'), # fixes error "xyzservices>=2021.09.1, but you have 0.0.0" +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('PyYAML', '6.0'), + ('Pillow-SIMD', '9.5.0'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('tornado', '6.3.2'), +] + +use_pip = True + +exts_list = [ + ('contourpy', '1.0.7', { + 'checksums': ['d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e'], + }), + ('xyzservices', '2023.7.0', { + 'checksums': ['0ec928742227d6f5d4367ea7b457fcfed943429f4de2949b5b02a82cdf5569d6'], + }), + (name, version, { + # bokeh uses git tags to get version, so we'll instead inject the version into setup.py + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """, + 'checksums': ['b2959b8524d69ec4e7886bc36407445f0a92e1f19530d3bfc4045236a1b7a6ff'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb b/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb new file mode 100644 index 00000000000..58f15fcf3e9 --- /dev/null +++ b/easybuild/easyconfigs/b/bokeh/bokeh-3.4.1-gfbf-2023b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'bokeh' +version = '3.4.1' + +homepage = 'https://github.com/bokeh/bokeh' +description = "Statistical and novel interactive HTML plots for Python" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('meson-python', '0.15.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('matplotlib', '3.8.2'), + ('PyYAML', '6.0.1'), + ('Pillow', '10.2.0'), + ('tornado', '6.4'), +] + +use_pip = True + +exts_list = [ + ('contourpy', '1.2.1', { + 'checksums': ['4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c'], + }), + ('xyzservices', '2024.4.0', { + 'checksums': ['6a04f11487a6fb77d92a98984cd107fbd9157fd5e65f929add9c3d6e604ee88c'], + }), + (name, version, { + # bokeh uses git tags to get version, so we'll instead inject the version into setup.py + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """, + 'checksums': ['d824961e4265367b0750ce58b07e564ad0b83ca64b335521cd3421e9b9f10d89'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bokeh'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["bokeh --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/boost_histogram/boost_histogram-1.2.1-foss-2021a.eb b/easybuild/easyconfigs/b/boost_histogram/boost_histogram-1.2.1-foss-2021a.eb new file mode 100644 index 00000000000..8c6ffcd8688 --- /dev/null +++ b/easybuild/easyconfigs/b/boost_histogram/boost_histogram-1.2.1-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'boost_histogram' +version = '1.2.1' + +homepage = 'https://boost-histogram.readthedocs.io' +description = """Boost-histogram is a Python package providing Python bindings for Boost.Histogram.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('pybind11', '2.6.2'), +] + +use_pip = True + +sanity_pip_check = True + +download_dep_fail = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3a35bb6fb31 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.20.13' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +exts_list = [ + ('botocore', '1.23.13', { + 'checksums': ['35792b2196049ef900f538cae51fb8359c940156eef187962aa9e3bd2c0b8e8c'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + ('s3transfer', '0.5.0', { + 'checksums': ['50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c'], + }), + (name, version, { + 'checksums': ['bbf53a077d6a0575ddec8026f0475ca6ee6f41b227914bf315bf3e049a3d653a'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5a9680bbbbf --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.20.13-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.20.13' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +exts_list = [ + ('botocore', '1.23.13', { + 'checksums': ['35792b2196049ef900f538cae51fb8359c940156eef187962aa9e3bd2c0b8e8c'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + ('s3transfer', '0.5.0', { + 'checksums': ['50ed823e1dc5868ad40c8dc92072f757aa0e653a192845c94a3b676f4a62da4c'], + }), + (name, version, { + 'checksums': ['bbf53a077d6a0575ddec8026f0475ca6ee6f41b227914bf315bf3e049a3d653a'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.26.163-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.26.163-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8a9debf1c2c --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.26.163-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.26.163' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +exts_list = [ + ('botocore', '1.29.163', { + 'checksums': ['f374bea656bf9025ad685f47e7b8ff9e20b1a2584823855ba1c4c58957768612'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.6.1', { + 'checksums': ['640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9'], + }), + (name, version, { + 'checksums': ['341ad62c53f9717cfe5fb2ae33e34f2dd3ee930abaa0fc864a10c018c0c78783'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..316623bb877 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.26.37-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.26.37' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +exts_list = [ + ('botocore', '1.29.37', { + 'checksums': ['3afa4fec9f7713caa05116563b38f81bec7bd20585d517155484d3f25efab5aa'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.6.0', { + 'checksums': ['2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947'], + }), + (name, version, { + 'checksums': ['82b790b1dabd0746b028d2013b5d4d636a41f3aaf25520081f4c173cb6eb395d'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/boto3/boto3-1.28.70-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/boto3/boto3-1.28.70-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01896809767 --- /dev/null +++ b/easybuild/easyconfigs/b/boto3/boto3-1.28.70-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'boto3' +version = '1.28.70' + +homepage = 'https://github.com/boto/boto3' +description = """Boto3 is the Amazon Web Services (AWS) Software Development Kit +(SDK) for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +exts_list = [ + ('botocore', '1.31.70', { + 'checksums': ['5f49def4ec2e4216dd0195d23d9811027d02ee6c8a37b031e2b2fe38e8c77ddc'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.7.0', { + 'checksums': ['fd3889a66f5fe17299fe75b82eae6cf722554edca744ca5d5fe308b104883d2e'], + }), + (name, version, { + 'checksums': ['89002e1d8411c7c54110f9f8fc4a11d57d6d7977c0cb4ba064887ca5d4c788f7'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/b/bpp/bpp-4.4.0-GCC-10.3.0.eb b/easybuild/easyconfigs/b/bpp/bpp-4.4.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..112b5eecf6a --- /dev/null +++ b/easybuild/easyconfigs/b/bpp/bpp-4.4.0-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'bpp' +version = '4.4.0' + +homepage = 'https://github.com/bpp/bpp' +description = """ The aim of this project is to implement a versatile high-performance version of the BPP software. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/bpp/bpp/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2f0bc2f2b965f99e484250c0df82274fc1ab4e4a519ae1d6bd766b93eedde7c5'] + +start_dir = 'src' +files_to_copy = ['src/bpp'] + +sanity_check_paths = { + 'files': ['bpp'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +sanity_check_commands = [('bpp --help')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bpytop/bpytop-1.0.67-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/bpytop/bpytop-1.0.67-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..eda98b63f44 --- /dev/null +++ b/easybuild/easyconfigs/b/bpytop/bpytop-1.0.67-GCCcore-10.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'bpytop' +version = '1.0.67' + +homepage = 'https://github.com/aristocratos/bpytop/' +description = """Resource monitor that shows usage and stats for processor, memory, disks, network and processes.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/aristocratos/bpytop/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3f0267bd40a58016b5ac81ed6424f1c8d953b33a537546b22dd1a2b01b07a97'] + +dependencies = [('Python', '3.9.5')] + +postinstallcmds = ['mv %(installdir)s/bpytop.py %(installdir)s/bpytop'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['bpytop'], + 'dirs': ['themes'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/breseq/breseq-0.36.1-foss-2021b.eb b/easybuild/easyconfigs/b/breseq/breseq-0.36.1-foss-2021b.eb new file mode 100644 index 00000000000..4b2be16516f --- /dev/null +++ b/easybuild/easyconfigs/b/breseq/breseq-0.36.1-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'breseq' +version = '0.36.1' + +homepage = 'https://barricklab.org/breseq' +description = "breseq is a computational pipeline for the analysis of short-read re-sequencing data" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/barricklab/breseq/releases/download/v%(version)s/'] +sources = ['breseq-%(version)s.Source.tar.gz'] +checksums = ['d8904de452366237f9727fe4b025578de158da808cd41de9de042f2ba9233562'] + +dependencies = [ + ('R', '4.1.2'), + ('Bowtie2', '2.4.4'), + ('zlib', '1.2.11'), + ('ncurses', '6.2'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/breseq', 'bin/gdtools'], + 'dirs': [], +} + +# breseq --help exists with non-zero exit code, so use grep +sanity_check_commands = ["breseq --help | grep 'Usage: breseq'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/breseq/breseq-0.38.1-foss-2022a.eb b/easybuild/easyconfigs/b/breseq/breseq-0.38.1-foss-2022a.eb new file mode 100644 index 00000000000..7d1f5285c68 --- /dev/null +++ b/easybuild/easyconfigs/b/breseq/breseq-0.38.1-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'breseq' +version = '0.38.1' + +homepage = 'https://barricklab.org/breseq' +description = "breseq is a computational pipeline for the analysis of short-read re-sequencing data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/barricklab/breseq/releases/download/v%(version)s/'] +sources = ['breseq-%(version)s-Source.tar.gz'] +checksums = ['92af34f7248f7c8cf65951e1b86ffc0d6f7446dbe9d3323aa43c577ea1ff48b3'] + +dependencies = [ + ('R', '4.2.1'), + ('Bowtie2', '2.4.5'), + ('zlib', '1.2.12'), + ('ncurses', '6.3'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/breseq', 'bin/gdtools'], + 'dirs': [], +} + +# breseq --help exists with non-zero exit code, so use grep +sanity_check_commands = ["breseq --help | grep 'Usage: breseq'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8a366485ad0 --- /dev/null +++ b/easybuild/easyconfigs/b/bsddb3/bsddb3-6.2.9-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'bsddb3' +version = '6.2.9' + +homepage = 'https://pypi.org/project/bsddb3/' +description = """bsddb3 is a nearly complete Python binding of the +Oracle/Sleepycat C API for the Database Environment, Database, Cursor, +Log Cursor, Sequence and Transaction objects.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +components = [ + ('DB', '5.3.28', { + 'source_urls': ['https://github.com/berkeleydb/libdb/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628'], + 'start_dir': '%(namelower)s-%(version)s', + }), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'preinstallopts': "unset LIBS && BERKELEYDB_DIR=%(installdir)s/ ", + 'checksums': ['70d05ec8dc568f42e70fc919a442e0daadc2a905a1cfb7ca77f549d49d6e7801'], + }), +] + +sanity_check_paths = { + 'files': ['bin/db_archive', 'include/db.h', 'lib/libdb.a', + 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'data' 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-0.10.0-foss-2022a.eb b/easybuild/easyconfigs/b/build/build-0.10.0-foss-2022a.eb new file mode 100644 index 00000000000..4c80ab3d18f --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-0.10.0-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '0.10.0' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/build/build-0.10.0-foss-2022b.eb b/easybuild/easyconfigs/b/build/build-0.10.0-foss-2022b.eb new file mode 100644 index 00000000000..784b28f5fb3 --- /dev/null +++ b/easybuild/easyconfigs/b/build/build-0.10.0-foss-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'build' +version = '0.10.0' + +homepage = 'https://github.com/pypa/build' +description = """A simple, correct Python build frontend.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + (name, version, { + 'checksums': ['d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269'], + }), +] + +sanity_check_commands = [ + "python3 -m build -V", +] + +moduleclass = 'devel' 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-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..60d41ad83e5 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,19 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021a.eb new file mode 100644 index 00000000000..f45715e4ed9 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021a.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': '2021a'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..b72970646fb --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,19 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021b'} + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b.eb new file mode 100644 index 00000000000..47d30ab8b66 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2021b.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': '2021b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c3cb995d63e --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,19 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a.eb new file mode 100644 index 00000000000..2613e835f8a --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022a.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': '2022a'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..c3821707135 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,20 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022b'} + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), + ('UCC-CUDA', '1.1.0', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.eb new file mode 100644 index 00000000000..1638fdb195d --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2022b.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': '2022b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..eee044d98f7 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,20 @@ +easyblock = 'BuildEnv' + +name = 'buildenv' +version = 'default' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', versionsuffix), + ('UCC-CUDA', '1.2.0', versionsuffix), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a.eb new file mode 100644 index 00000000000..f87290601c7 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-foss-2023a.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': '2023a'} + +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-2021a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2021a.eb new file mode 100644 index 00000000000..c7230112191 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2021a.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': '2021a'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2021b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2021b.eb new file mode 100644 index 00000000000..e31ac49a155 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2021b.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': '2021b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022a.eb new file mode 100644 index 00000000000..2352adaf9cb --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022a.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': '2022a'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.eb new file mode 100644 index 00000000000..47b7eb84b22 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2022b.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': '2022b'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023a.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023a.eb new file mode 100644 index 00000000000..d0d48e47dac --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-intel-2023a.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': '2023a'} + +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/buildenv/buildenv-default-nvompi-2022.07.eb b/easybuild/easyconfigs/b/buildenv/buildenv-default-nvompi-2022.07.eb new file mode 100644 index 00000000000..8b4d32b3950 --- /dev/null +++ b/easybuild/easyconfigs/b/buildenv/buildenv-default-nvompi-2022.07.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': 'nvompi', 'version': '2022.07'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/buildingspy/buildingspy-4.0.0-foss-2022a.eb b/easybuild/easyconfigs/b/buildingspy/buildingspy-4.0.0-foss-2022a.eb new file mode 100644 index 00000000000..31b0718b8fd --- /dev/null +++ b/easybuild/easyconfigs/b/buildingspy/buildingspy-4.0.0-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'buildingspy' +version = '4.0.0' + +homepage = 'https://simulationresearch.lbl.gov/modelica/buildingspy' +description = 'Python modules for automating Modelica simulations and for running unit test for the Buildings library' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('GitPython', '3.1.27'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pytidylib', '0.3.2', { + 'modulename': 'tidylib', + 'checksums': ['22b1c8d75970d8064ff999c2369e98af1d0685417eda4c829a5c9f56764b0af3'], + }), + ('pyfunnel', '0.3.0', { + 'checksums': ['68256e82ecaa3832741dbf5f9c9a3420fcdb6b0c646406169e6c728ad1d47c6c'], + }), + ('Cerberus', '1.3.4', { + 'checksums': ['d1b21b3954b2498d9a79edf16b3170a3ac1021df88d197dc2ce5928ba519237c'], + }), + (name, version, { + 'checksums': ['78ba40360016850259a3b98fb9a7d1aeceac583a6cc6ae4ef8f684ffbd285f4b'], + }), +] + +moduleclass = 'tools' 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..e4edd8be316 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1-intel-compilers-2023.1.0.eb @@ -0,0 +1,41 @@ +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 = [ + 'bwa-mem2-%(version)s_use_external_deps.patch', + 'bwa-mem2-%(version)s_common_avx512_flags.patch', +] +checksums = [ + {'v2.2.1.tar.gz': '36ddd28ce7020d5a036ddeffa00e692296fd40c80380671bd4ea5757bd28841b'}, + {'bwa-mem2-2.2.1_use_external_deps.patch': '0a9d7f7b3289029e19cf7dbab1778448097b9e0f92fa41a74a8cf81c9e114967'}, + {'bwa-mem2-2.2.1_common_avx512_flags.patch': '1a784bca167c6e3576a83c11715cbf6f8dced09d46021c0d283f7a1b185d6569'}, +] + +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_common_avx512_flags.patch b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch new file mode 100644 index 00000000000..b7e55ecf1f1 --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-mem2/bwa-mem2-2.2.1_common_avx512_flags.patch @@ -0,0 +1,15 @@ +Use common AVX512 flagset to increase compatibility of bwa-mem2.avx512bw binary +across platforms supporting AVX512 +see https://github.com/bwa-mem2/bwa-mem2/issues/236 +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2024-04-29 14:52:21.634066000 +0200 ++++ Makefile 2024-04-29 14:52:48.590282000 +0200 +@@ -76,7 +76,7 @@ + endif + else ifeq ($(arch),avx512) + ifeq ($(CXX), icpc) +- ARCH_FLAGS=-xCORE-AVX512 ++ ARCH_FLAGS=-march=common-avx512 #-xCORE-AVX512 + else + ARCH_FLAGS=-mavx512bw + endif 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/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb b/easybuild/easyconfigs/b/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..238b5bbcf7b --- /dev/null +++ b/easybuild/easyconfigs/b/bwa-meth/bwa-meth-0.2.6-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'bwa-meth' +version = '0.2.6' + +homepage = 'https://github.com/brentp/bwa-meth' +description = """Fast and accurante alignment of BS-Seq reads.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('SAMtools', '1.13'), + ('BWA', '0.7.17'), +] + +use_pip = True + +exts_list = [ + ('toolshed', '0.4.6', { + 'checksums': ['23a31c177bf84244b30a9f12c7a8a17a66a2d63043ead0460c31b9ff42f9fb93'], + }), + (name, version, { + 'source_urls': ['https://github.com/brentp/bwa-meth/archive'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['c1d98aa6d34f103752de7ff3148c9586e5571417accb4a39f5bac8546dab497d'], + # fix TypeError when using --help, see https://github.com/brentp/bwa-meth/pull/87 + 'preinstallopts': "sed -i 's/44% /44%% /g' bwameth.py && ", + 'modulename': 'bwameth', + }), +] + +fix_python_shebang_for = ['bin/bwameth.py', 'bin/toolshed'] + +sanity_check_paths = { + 'files': ['bin/bwameth.py', 'bin/toolshed'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "toolshed --help", + "bwameth.py --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bwidget/bwidget-1.9.14-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.14-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..14d2aeee871 --- /dev/null +++ b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.14-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'bwidget' +version = '1.9.14' + +homepage = 'https://core.tcl-lang.org/bwidget/home' +description = 'The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.' + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/tcllib/BWidget/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8e9692140167161877601445e7a5b9da5bb738ce8d08ee99b016629bc784a672'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Tk', '8.6.10')] + +modextrapaths = {'TCLLIBPATH': '.'} + +sanity_check_paths = { + 'files': ['button.tcl'], + 'dirs': ['BWman'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..aa9c67ac17a --- /dev/null +++ b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'bwidget' +version = '1.9.15' + +homepage = 'https://core.tcl-lang.org/bwidget/home' +description = 'The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.' + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/tcllib/BWidget/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['9c4dd648fdfd31de7cb5af44b392a1916f949dd195820684d940edcd8485ac13'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Tk', '8.6.11')] + +modextrapaths = {'TCLLIBPATH': '.'} + +sanity_check_paths = { + 'files': ['button.tcl'], + 'dirs': ['BWman', 'demo', 'images', 'lang', 'tests'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cec51692a1f --- /dev/null +++ b/easybuild/easyconfigs/b/bwidget/bwidget-1.9.15-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'bwidget' +version = '1.9.15' + +homepage = 'https://core.tcl-lang.org/bwidget/home' +description = 'The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://downloads.sourceforge.net/project/tcllib/BWidget/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['9c4dd648fdfd31de7cb5af44b392a1916f949dd195820684d940edcd8485ac13'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Tk', '8.6.12')] + +modextrapaths = {'TCLLIBPATH': '.'} + +sanity_check_paths = { + 'files': ['button.tcl'], + 'dirs': ['BWman', 'demo', 'images', 'lang', 'tests'], +} + +moduleclass = 'vis' 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/b/bx-python/bx-python-0.8.11-foss-2021a.eb b/easybuild/easyconfigs/b/bx-python/bx-python-0.8.11-foss-2021a.eb new file mode 100644 index 00000000000..551f81355bb --- /dev/null +++ b/easybuild/easyconfigs/b/bx-python/bx-python-0.8.11-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bx-python' +version = '0.8.11' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('LZO', '2.10'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('python-lzo', '1.12', { + 'modulename': 'lzo', + 'preinstallopts': "export PREFIX=$EBROOTLZO && ", + 'checksums': ['97a8e46825e8f1abd84c2a3372bc09adae9745a5be5d3af2692cd850dac35345'], + }), + (name, version, { + 'modulename': 'bx', + 'checksums': ['7f26c2a5516b999f4330887f2b126608b4d96ed0f1de6e62ee59f3d066586974'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bx-python/bx-python-0.8.13-foss-2021b.eb b/easybuild/easyconfigs/b/bx-python/bx-python-0.8.13-foss-2021b.eb new file mode 100644 index 00000000000..70cc43c9f9a --- /dev/null +++ b/easybuild/easyconfigs/b/bx-python/bx-python-0.8.13-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bx-python' +version = '0.8.13' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('LZO', '2.10'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True + +exts_list = [ + ('python-lzo', '1.14', { + 'modulename': 'lzo', + 'preinstallopts': "export PREFIX=$EBROOTLZO && ", + 'checksums': ['83cbd8ecaae284735250e31d6c0ecc18ac08763fab2a8c910dc5a6910db6250c'], + }), + (name, version, { + 'modulename': 'bx', + 'checksums': ['5989170d13367e9f811014803bafdbcc893024d63e98b66f734511e4f9e90c7d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb new file mode 100644 index 00000000000..39af3108464 --- /dev/null +++ b/easybuild/easyconfigs/b/bx-python/bx-python-0.9.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'bx-python' +version = '0.9.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('LZO', '2.10'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('python-lzo', '1.14', { + 'modulename': 'lzo', + 'preinstallopts': "export PREFIX=$EBROOTLZO && ", + 'checksums': ['83cbd8ecaae284735250e31d6c0ecc18ac08763fab2a8c910dc5a6910db6250c'], + }), + (name, version, { + 'modulename': 'bx', + 'checksums': ['fe545c44d2ea74b239d41e9090618aaf6a859d1a1f64b4a21b133cb602dfdb49'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/b/byacc/byacc-2.0.20240109-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/byacc/byacc-2.0.20240109-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fa57e4306e6 --- /dev/null +++ b/easybuild/easyconfigs/b/byacc/byacc-2.0.20240109-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'byacc' +version = '2.0.20240109' + +homepage = 'http://invisible-island.net/byacc/byacc.html' +description = """Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. + In contrast to bison, it is written to avoid dependencies upon a particular compiler. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://invisible-island.net/archives/byacc/'] +sources = ['byacc-%s.tgz' % version.split('.')[2]] +checksums = ['f2897779017189f1a94757705ef6f6e15dc9208ef079eea7f28abec577e08446'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ["bin/yacc"], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-5.4.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-5.4.0.eb index d9104ae02c8..aeea4de6789 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-5.4.0.eb @@ -18,6 +18,6 @@ checksums = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-6.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-6.3.0.eb index 333dfab361e..8ff51f5bd3e 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.6-GCCcore-6.3.0.eb @@ -18,6 +18,6 @@ checksums = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.2.0.eb index ec886cad08b..4e0873a1c5d 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.2.0.eb @@ -14,10 +14,10 @@ toolchainopts = {'pic': True} source_urls = ['https://sourceware.org/pub/%(name)s/'] sources = [SOURCE_TAR_GZ] -patches = ['bzip2-1.0.6-pkgconfig.patch'] +patches = ['bzip2-%(version)s-pkgconfig.patch'] checksums = [ 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz - '5a823e820b332eca3684416894f58edc125ac3dace9f46e62f98e45362aa8a6d', # bzip2-1.0.6-pkgconfig.patch + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.3.0.eb index 663f7b87fda..70db2ca4a15 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-10.3.0.eb @@ -14,10 +14,10 @@ toolchainopts = {'pic': True} source_urls = ['https://sourceware.org/pub/%(name)s/'] sources = [SOURCE_TAR_GZ] -patches = ['bzip2-1.0.6-pkgconfig.patch'] +patches = ['bzip2-%(version)s-pkgconfig.patch'] checksums = [ 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz - '5a823e820b332eca3684416894f58edc125ac3dace9f46e62f98e45362aa8a6d', # bzip2-1.0.6-pkgconfig.patch + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d0f221c2d33 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..39f1645a365 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d2ce38e1732 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.39'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cb5b2748e2b --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.40'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.1.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..e719f5aa433 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.1.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.40'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3ce27b74c39 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.40'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..adb4b34a9bb --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.42'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-8.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-8.3.0.eb index 268d5bc0ef1..3768ad723a1 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-8.3.0.eb @@ -15,10 +15,10 @@ toolchainopts = {'pic': True} source_urls = ['https://sourceware.org/pub/bzip2/'] sources = [SOURCE_TAR_GZ] -patches = ['bzip2-1.0.6-pkgconfig.patch'] +patches = ['bzip2-%(version)s-pkgconfig.patch'] checksums = [ 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz - '5a823e820b332eca3684416894f58edc125ac3dace9f46e62f98e45362aa8a6d', # bzip2-1.0.6-pkgconfig.patch + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch ] builddependencies = [('binutils', '2.32')] diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-9.3.0.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-9.3.0.eb index 188fa77e175..b39d3a5e236 100644 --- a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-GCCcore-9.3.0.eb @@ -14,10 +14,10 @@ toolchainopts = {'pic': True} source_urls = ['https://sourceware.org/pub/%(name)s/'] sources = [SOURCE_TAR_GZ] -patches = ['bzip2-1.0.6-pkgconfig.patch'] +patches = ['bzip2-%(version)s-pkgconfig.patch'] checksums = [ 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz - '5a823e820b332eca3684416894f58edc125ac3dace9f46e62f98e45362aa8a6d', # bzip2-1.0.6-pkgconfig.patch + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-pkgconfig.patch b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-pkgconfig.patch new file mode 100644 index 00000000000..ab8d7041506 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8-pkgconfig.patch @@ -0,0 +1,33 @@ +#- Adds a pkgconfig/bzip2.pc file +# +# author: Jiri Furst +# inspired by OpenSUSE patch by Stanislav Brabec , see +# http://ftp.suse.com/pub/people/sbrabec/bzip2/ +diff -Nau bzip2-1.0.8.orig/bzip2.pc.in bzip2-1.0.6/bzip2.pc.in +--- bzip2-1.0.8.orig/bzip2.pc.in 1970-01-01 01:00:00.000000000 +0100 ++++ bzip2-1.0.8/bzip2.pc.in 2019-05-01 11:47:29.795517973 +0200 +@@ -0,0 +1,11 @@ ++exec_prefix=${prefix} ++bindir=${exec_prefix}/bin ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: bzip2 ++Description: Lossless, block-sorting data compression ++Version: 1.0.8 ++Libs: -L${libdir} -lbz2 ++Cflags: -I${includedir} ++ +diff -Nau bzip2-1.0.8.orig/Makefile bzip2-1.0.6/Makefile +--- bzip2-1.0.8.orig/Makefile 2019-05-01 11:28:04.788206974 +0200 ++++ bzip2-1.0.8/Makefile 2019-05-01 11:46:20.911324226 +0200 +@@ -107,6 +107,9 @@ + echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1 + echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1 + echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1 ++ if ( test ! -d $(PREFIX)/lib/pkgconfig ) ; then mkdir -p $(PREFIX)/lib/pkgconfig ; fi ++ echo "prefix=$(PREFIX)" > $(PREFIX)/lib/pkgconfig/bzip2.pc ++ cat bzip2.pc.in >> $(PREFIX)/lib/pkgconfig/bzip2.pc + + clean: + rm -f *.o libbz2.a bzip2 bzip2recover \ diff --git a/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb new file mode 100644 index 00000000000..5411fd08371 --- /dev/null +++ b/easybuild/easyconfigs/b/bzip2/bzip2-1.0.8.eb @@ -0,0 +1,32 @@ +name = 'bzip2' +version = '1.0.8' + +homepage = 'https://sourceware.org/bzip2' +description = """ + bzip2 is a freely available, patent free, high-quality data compressor. It + typically compresses files to within 10% to 15% of the best available + techniques (the PPM family of statistical compressors), whilst being around + twice as fast at compression and six times faster at decompression. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://sourceware.org/pub/%(name)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['bzip2-%(version)s-pkgconfig.patch'] +checksums = [ + 'ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269', # bzip2-1.0.8.tar.gz + '9299e8ee4d014ea973777b6ea90661fe329dfa991f822add4c763ea9ddb9aab1', # bzip2-1.0.8-pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +buildopts = "CC=gcc CFLAGS='-Wall -Winline -O3 -fPIC -g $(BIGFILES)'" + +# building of shared libraries doesn't work on OS X (where 'gcc' is actually Clang...) +with_shared_libs = OS_TYPE == 'Linux' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CAFE5/CAFE5-5.0.0-GCC-10.2.0.eb b/easybuild/easyconfigs/c/CAFE5/CAFE5-5.0.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..2f7bc2e4c96 --- /dev/null +++ b/easybuild/easyconfigs/c/CAFE5/CAFE5-5.0.0-GCC-10.2.0.eb @@ -0,0 +1,39 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Max Voit + +easyblock = 'MakeCp' + +name = 'CAFE5' +version = '5.0.0' + +homepage = 'https://github.com/hahnlab/CAFE5' + +description = """Software for Computational Analysis of gene Family Evolution + +The purpose of CAFE is to analyze changes in gene family size in a way that +accounts for phylogenetic history and provides a statistical foundation for +evolutionary inferences. The program uses a birth and death process to model +gene gain and loss across a user-specified phylogenetic tree. The distribution +of family sizes generated under this model can provide a basis for assessing the +significance of the observed family size differences among taxa.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/hahnlab/CAFE5/releases/download/v5.0'] +sources = [SOURCE_TAR_GZ] +checksums = ['9e6dfd27fb915ba927f007e1f851630ff0547589b8196bd5f4606f3b23a78118'] + +buildopts = 'CFLAGS="$CXXFLAGS -I. -include config.h" LINKER="$CXX $CXXFLAGS -o" ' +with_configure = True +files_to_copy = ['bin', 'examples'] +postinstallcmds = ['chmod -x %(installdir)s/examples/*.txt'] + +sanity_check_paths = { + 'files': ['bin/cafe5'], + 'dirs': ['examples'], +} + +sanity_check_commands = ['cafe5 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-foss-2023a.eb b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-foss-2023a.eb new file mode 100644 index 00000000000..af659719245 --- /dev/null +++ b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'CAMPARI' +version = '4.0' +_date = '12202020' + +homepage = 'http://campari.sourceforge.net/V4/index.html' +description = """ +CAMPARI is a joint package for performing and analyzing molecular simulations, in particular of systems of biological +relevance. It focuses on a wide availability of algorithms for (advanced) sampling and is capable of combining Monte +Carlo and molecular dynamics in seamless fashion.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['campari_v%s_%s.zip' % (version.split('.')[0], _date)] +checksums = ['bc627fb286b5461a5c68aa3e1a551ecd81016495163685800163c734f7c4f1bd'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.1'), + ('libtirpc', '1.3.3'), +] + +start_dir = 'source' + +# remove hardcoded paths in configure script +preconfigopts = 'sed -i "s|/usr/share|$EBROOTAUTOMAKE/share|" configure &&' +# ignore default compiler settings and use EB build environment +local_fcflags = '$FCFLAGS -fallow-argument-mismatch $CPPFLAGS' +configopts = '--enable-compiler=ignore --with-trailing-user-fcflags="%s" ' % local_fcflags +configopts += '--enable-mpi=auto ' +configopts += 'LIBS="$LIBS $LIBFFT $LIBBLAS -ltirpc"' + +buildopts = 'all' + +maxparallel = 10 + +postinstallcmds = ['cp -a %(builddir)s/campari/{data,doc,examples,params,tools,LICENSE} %(installdir)s/'] + +_binaries = ['campari', 'campari_mpi', 'campari_mpi_threads', 'campari_threads', 'camp_ncminer', 'camp_ncminer_threads'] +_libraries = ['lcampari.a', 'lcampari_mpi.a', 'lcampari_mpi_threads.a', 'lcampari_threads.a', 'libxdrf.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/%s' % x for x in _libraries], + 'dirs': [], +} + +sanity_check_commands = ['campari -h | grep "USAGE: CAMPARI"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb new file mode 100644 index 00000000000..743bf47a462 --- /dev/null +++ b/easybuild/easyconfigs/c/CAMPARI/CAMPARI-4.0-intel-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'CAMPARI' +version = '4.0' +_date = '12202020' + +homepage = 'http://campari.sourceforge.net/V4/index.html' +description = """ +CAMPARI is a joint package for performing and analyzing molecular simulations, in particular of systems of biological +relevance. It focuses on a wide availability of algorithms for (advanced) sampling and is capable of combining Monte +Carlo and molecular dynamics in seamless fashion.""" + +toolchain = {'name': 'intel', 'version': '2023a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['campari_v%s_%s.zip' % (version.split('.')[0], _date)] +checksums = ['bc627fb286b5461a5c68aa3e1a551ecd81016495163685800163c734f7c4f1bd'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.1'), + ('libtirpc', '1.3.3'), +] + +start_dir = 'source' + +# remove hardcoded paths in configure script +preconfigopts = 'sed -i "s|/usr/share|$EBROOTAUTOMAKE/share|" configure &&' +# ignore default compiler settings and use EB build environment +local_fcflags = '$FCFLAGS -fallow-argument-mismatch $CPPFLAGS' +configopts = '--enable-compiler=ignore --with-trailing-user-fcflags="%s" ' % local_fcflags +configopts += '--enable-mpi=auto ' +configopts += 'LIBS="$LIBS $LIBFFT $LIBBLAS -ltirpc"' + +buildopts = 'all' + +maxparallel = 10 + +postinstallcmds = ['cp -a %(builddir)s/campari/{data,doc,examples,params,tools,LICENSE} %(installdir)s/'] + +_binaries = ['campari', 'campari_mpi', 'campari_mpi_threads', 'campari_threads', 'camp_ncminer', 'camp_ncminer_threads'] +_libraries = ['lcampari.a', 'lcampari_mpi.a', 'lcampari_mpi_threads.a', 'lcampari_threads.a', 'libxdrf.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + ['lib/%s' % x for x in _libraries], + 'dirs': [], +} + +sanity_check_commands = ['campari -h | grep "USAGE: CAMPARI"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CASA/CASA-6.5.5-21-py3.8.eb b/easybuild/easyconfigs/c/CASA/CASA-6.5.5-21-py3.8.eb new file mode 100644 index 00000000000..17290c03cf6 --- /dev/null +++ b/easybuild/easyconfigs/c/CASA/CASA-6.5.5-21-py3.8.eb @@ -0,0 +1,29 @@ +easyblock = "Tarball" + +name = 'CASA' +version = '6.5.5-21' +versionsuffix = '-py3.8' + +homepage = 'https://casa.nrao.edu/' +description = """ +CASA, the Common Astronomy Software Applications package, is the primary data processing software for the Atacama Large +Millimeter/submillimeter Array (ALMA) and NSF's Karl G. Jansky Very Large Array (VLA), and is frequently used also for +other radio telescopes. The CASA software can process data from both single-dish and aperture-synthesis telescopes, and +one of its core functionalities is to support the data reduction and imaging pipelines for ALMA, VLA and the VLA Sky +Survey (VLASS). +""" + +toolchain = SYSTEM + +# Some hosts struggle with SSL handshake during download, manual download may be required. +# Ref. https://github.com/easybuilders/easybuild-easyconfigs/pull/18075) +source_urls = ['https://casa.nrao.edu/download/distro/casa/release/rhel/'] +sources = ['casa-%%(version)s%s.tar.xz' % versionsuffix] +checksums = ['f1bbd088a1aa0130984a684ade03702f2ff93627af14b038dce01d8253f58c15'] + +sanity_check_paths = { + 'files': ['bin/casaviewer', 'bin/casa'], + 'dirs': [] +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb b/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb new file mode 100644 index 00000000000..c32f29ed00e --- /dev/null +++ b/easybuild/easyconfigs/c/CASPR/CASPR-20200730-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: Denis Kristak (Inuits) + +easyblock = 'Tarball' + +name = 'CASPR' +version = '20200730' +local_commit = 'b74fde2' + +homepage = 'https://judithbergada.github.io/CASPR' +description = """Running CASPR is extremely easy and convenient to analyze CRIPR-Cas9 screens using pgRNAs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/judithbergada/CASPR/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['96cd3a8fd8f1d8cddf798f07bff46c1048ab9343aa40c31d3430f1e58703f0ac'] + +dependencies = [ + ('FastQC', '0.11.9', '-Java-11', SYSTEM), + ('cutadapt', '4.2'), + ('FASTX-Toolkit', '0.0.14'), + ('STAR', '2.7.10b'), + ('SAMtools', '1.16.1'), + ('vispr', '0.4.14'), + ('R', '4.2.1'), +] + +modextrapaths = { + 'PATH': 'source/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['source'], +} + +sanity_check_commands = ["CASPR --help 2>&1 | grep 'Usage: CASPR'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayCCE-19.06.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayCCE-19.06.eb new file mode 100644 index 00000000000..358326a0e82 --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayCCE-19.06.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '21.1.1' + +homepage = 'http://www.castep.org' +description = """CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), +with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.""" +toolchain = {'name': 'CrayCCE', 'version': '19.06'} + +# CASTEP is proprietary software, available under a free-of-charge license for academic use only. +# Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license. +local_patch_ver = version.split('.')[-1] +sources = ['CASTEP-%%(version_major_minor)s%s.tar.gz' % local_patch_ver] + +checksums = ['d909936a51dd3dff7a0847c2597175b05c8d0018d5afe416737499408914728f'] + +dependencies = [('cray-fftw', EXTERNAL_MODULE)] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi FFT=fftw3 FFTLIBDIR= castep tools' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi FFT=fftw3 INSTALL_DIR="%(installdir)s/bin" install-castep install-tools' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands']], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayGNU-19.06.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayGNU-19.06.eb new file mode 100644 index 00000000000..f79a8a8229e --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-CrayGNU-19.06.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '21.1.1' + +homepage = 'http://www.castep.org' +description = """CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), +with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.""" +toolchain = {'name': 'CrayGNU', 'version': '19.06'} + +# CASTEP is proprietary software, available under a free-of-charge license for academic use only. +# Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license. +local_patch_ver = version.split('.')[-1] +sources = ['CASTEP-%%(version_major_minor)s%s.tar.gz' % local_patch_ver] + +checksums = ['d909936a51dd3dff7a0847c2597175b05c8d0018d5afe416737499408914728f'] + +dependencies = [('cray-fftw', EXTERNAL_MODULE)] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi FFT=fftw3 FFTLIBDIR= castep tools' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi FFT=fftw3 INSTALL_DIR="%(installdir)s/bin" install-castep install-tools' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands']], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-foss-2019b.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-foss-2019b.eb new file mode 100644 index 00000000000..8c39d1c3c7d --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-foss-2019b.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '21.1.1' + +homepage = 'http://www.castep.org' +description = """CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), +with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +# CASTEP is proprietary software, available under a free-of-charge license for academic use only. +# Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license. +local_patch_ver = version.split('.')[-1] +sources = ['CASTEP-%%(version_major_minor)s%s.tar.gz' % local_patch_ver] + +checksums = ['d909936a51dd3dff7a0847c2597175b05c8d0018d5afe416737499408914728f'] + +# Python+numpy are needed for the elastic constants and castepconv utilities, but +# should work with any system or eb Python including 2.7. +dependencies = [ + ('Perl', '5.30.0'), +] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi FFT=fftw3 MATHLIBS=openblas FFTLIBDIR=$FFT_LIB_DIR MATHLIBDIR=$BLAS_LIB_DIR' +buildopts += ' castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi FFT=fftw3 MATHLIBS=openblas INSTALL_DIR="%(installdir)s/bin"' +installopts += ' install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-intel-2019b.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-intel-2019b.eb new file mode 100644 index 00000000000..05eb3418930 --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-intel-2019b.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '21.1.1' + +homepage = 'http://www.castep.org' +description = """CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), +with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.""" + +toolchain = {'name': 'intel', 'version': '2019b'} + +# CASTEP is proprietary software, available under a free-of-charge license for academic use only. +# Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license. +local_patch_ver = version.split('.')[-1] +sources = ['CASTEP-%%(version_major_minor)s%s.tar.gz' % local_patch_ver] + +checksums = ['d909936a51dd3dff7a0847c2597175b05c8d0018d5afe416737499408914728f'] + +# Python+numpy are needed for the elastic constants and castepconv utilities, but +# should work with any system or eb Python including 2.7. +dependencies = [ + ('Perl', '5.30.0'), +] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi INSTALL_DIR="%(installdir)s/bin" install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-iomkl-2019b.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-iomkl-2019b.eb new file mode 100644 index 00000000000..dd502229cec --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-21.1.1-iomkl-2019b.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '21.1.1' + +homepage = 'http://www.castep.org' +description = """CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), +with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.""" + +toolchain = {'name': 'iomkl', 'version': '2019b'} + +# CASTEP is proprietary software, available under a free-of-charge license for academic use only. +# Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license. +local_patch_ver = version.split('.')[-1] +sources = ['CASTEP-%%(version_major_minor)s%s.tar.gz' % local_patch_ver] + +checksums = ['d909936a51dd3dff7a0847c2597175b05c8d0018d5afe416737499408914728f'] + +# Python+numpy are needed for the elastic constants and castepconv utilities, but +# should work with any system or eb Python including 2.7. +dependencies = [ + ('Perl', '5.30.0'), +] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi INSTALL_DIR="%(installdir)s/bin" install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb new file mode 100644 index 00000000000..8e3491edd65 --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-22.11-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '22.11' + +homepage = 'http://www.castep.org' +description = """ +CASTEP is an electronic structure materials modelling code based on density +functional theory (DFT), with functionality including geometry optimization +molecular dynamics, phonons, NMR chemical shifts and much more. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """CASTEP is proprietary software, available under a free-of-charge license for academic use +only. Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license.""" + +sources = [SOURCE_TAR_GZ] +checksums = ['aca3fc2207c677561293585a4edaf233676a759c5beb8389cf938411226ef1f5'] + +# Python+numpy are needed for the elastic constants and castepconv utilities, but +# should work with any system or eb Python including 2.7. +dependencies = [ + ('Perl', '5.34.1'), +] + +skipsteps = ['configure'] + +buildopts = 'COMMS_ARCH=mpi FFT=fftw3 MATH_LIBS="-lflexiblas" FFTLIBDIR=$FFT_LIB_DIR MATHLIBDIR=$BLAS_LIB_DIR' +buildopts += ' castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = 'COMMS_ARCH=mpi FFT=fftw3 MATH_LIBS="-lflexiblas" INSTALL_DIR="%(installdir)s/bin"' +installopts += ' install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +sanity_check_commands = [ + 'castep.mpi --help', + 'optados.mpi --help', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CASTEP/CASTEP-23.1-foss-2023a.eb b/easybuild/easyconfigs/c/CASTEP/CASTEP-23.1-foss-2023a.eb new file mode 100644 index 00000000000..9964b9dc63c --- /dev/null +++ b/easybuild/easyconfigs/c/CASTEP/CASTEP-23.1-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'CASTEP' +version = '23.1' + +homepage = 'http://www.castep.org' +description = """ +CASTEP is an electronic structure materials modelling code based on density +functional theory (DFT), with functionality including geometry optimization +molecular dynamics, phonons, NMR chemical shifts and much more. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +download_instructions = """CASTEP is proprietary software, available under a free-of-charge license for academic use +only. Visit http://www.castep.org and navigate to "Getting Castep" to apply for a license.""" + +sources = [SOURCE_TAR_GZ] +checksums = ['7fba0450d3fd71586c8498ce51975bbdde923759ab298a656409280c29bf45b5'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for elastic constants and castepconv utility +] + +skipsteps = ['configure'] + +_generic_opts = ' COMMS_ARCH=mpi FFT=fftw3 MATH_LIBS="-lflexiblas" ' + +buildopts = _generic_opts + 'FFTLIBDIR=$FFT_LIB_DIR MATHLIBDIR=$BLAS_LIB_DIR' +buildopts += ' castep tools utilities' + +preinstallopts = 'mkdir -p %(installdir)s/bin &&' +installopts = _generic_opts + 'INSTALL_DIR="%(installdir)s/bin"' +installopts += ' install-castep install-tools install-utilities' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['castep.mpi', 'optados.mpi', 'orbitals2bands', 'dispersion.pl', + 'elastics.py', 'ceteprouts.pm']], + 'dirs': [], +} + +sanity_check_commands = [ + 'castep.mpi --help', + 'optados.mpi --help', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.eb b/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..5ff808c82d1 --- /dev/null +++ b/easybuild/easyconfigs/c/CAT-BAT/CAT-BAT-5.2.3-GCC-10.3.0.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 +# +## + +easyblock = 'Tarball' + +name = 'CAT-BAT' +version = '5.2.3' + +homepage = 'https://github.com/dutilh/CAT' +description = """Tool for taxonomic classification of contigs and metagenome-assembled genomes (MAGs).""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/dutilh/CAT/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['19a8eb28c0ebd3fc5a04b006d305a916dd1af00a32b70d2f30df35f32ca2929b'] + +dependencies = [ + ('Python', '3.9.5'), + ('DIAMOND', '2.0.11'), + ('prodigal', '2.6.3'), +] + +postinstallcmds = [ + "cd %(installdir)s/ && ln -s CAT_pack bin", + "chmod a+rx %(installdir)s/CAT_pack/*.py", + # fix shebang in check.py script ('/env/' should be '/env') + "sed -i 's@/usr/bin/env/ python3@/usr/bin/env python3@' %(installdir)s/CAT_pack/check.py", +] + +sanity_check_paths = { + 'files': ['CAT_pack/CAT', 'bin/CAT', 'README.md'], + 'dirs': ['CAT_pack'], +} + +sanity_check_commands = ["CAT --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..062f686dccd --- /dev/null +++ b/easybuild/easyconfigs/c/CCCL/CCCL-2.3.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'CCCL' +version = '2.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cccl' + +description = """CUDA C++ Core Libraries (header only)""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['922c9e72a7d6d91ef6a1421f2545a947529a179d307853be1b1615c02241c271'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), +] + +configopts = '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s" ' +# Testing disabled due to it trying to use the wrong compiler (needs nvcc) due to the toolchain +configopts += '-DCCCL_ENABLE_EXAMPLES=OFF -DCCCL_ENABLE_TESTING=OFF ' +configopts += '-DLIBCUDACXX_ENABLE_CMAKE_TESTS=OFF -DLIBCUDACXX_ENABLE_LIBCUDACXX_TESTS=OFF ' +configopts += '-DCUB_ENABLE_HEADER_TESTING=OFF -DCUB_ENABLE_TESTING=OFF ' +configopts += '-DTHRUST_ENABLE_HEADER_TESTING=OFF -DTHRUST_ENABLE_TESTING=OFF ' + +sanity_check_paths = { + 'files': ['include/cuda/version'], + 'dirs': ['include/cub', 'include/thrust', 'include/cuda'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb index 44008ec86c3..70487fea5b4 100644 --- a/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12-GCCcore-9.3.0.eb @@ -16,6 +16,7 @@ checksums = ['84a95aaf1d1abafba586e9ff079343b04fe374b98b38ed24d830f1fb7ed4ab34'] builddependencies = [ ('binutils', '2.34'), + ('M4', '1.4.18'), ] local_ccl_bin = 'lx86cl64' diff --git a/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f09d38a45fd --- /dev/null +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12.1-GCCcore-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MakeCp' +name = 'CCL' +version = '1.12.1' + +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': '10.3.0'} + +source_urls = ['https://github.com/Clozure/ccl/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s-linuxx86.tar.gz'] +checksums = ['923f2979144e96306cf5124800444e1c5cc0295fa9babb3ffc47a5631344b0aa'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('M4', '1.4.18'), +] + +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-11.3.0.eb b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..79bc50566c2 --- /dev/null +++ b/easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-11.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': '11.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.38'), + ('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-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/CCfits/CCfits-2.5-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/CCfits/CCfits-2.5-GCCcore-9.3.0.eb index 2ee97a09780..4fabd5ab15b 100644 --- a/easybuild/easyconfigs/c/CCfits/CCfits-2.5-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/CCfits/CCfits-2.5-GCCcore-9.3.0.eb @@ -25,3 +25,5 @@ sanity_check_paths = { 'files': ['lib/libCCfits.%s' % SHLIB_EXT], 'dirs': ['include/CCfits'], } + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-10.3.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..dd2043cf707 --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-10.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'http://weizhongli-lab.org/cd-hit/' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.32.1'), + ('zlib', '1.2.11'), +] + +# make sure compilation flags are passed down (e.g. to enable OpenMP) +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +# put here the list of generated executables when compiling +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..6b5b72e0ff7 --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.2.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'http://weizhongli-lab.org/cd-hit/' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.34.0'), + ('zlib', '1.2.11'), +] + +# make sure compilation flags are passed down (e.g. to enable OpenMP) +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +# put here the list of generated executables when compiling +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..3facff7d263 --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'https://github.com/weizhongli/cdhit/wiki' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.34.1'), + ('zlib', '1.2.12'), +] + +# make sure compilation flags are passed down (e.g. to enable OpenMP) +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +# put here the list of generated executables when compiling +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +# this is the real EasyBuild line to copy all the executables and perl scripts to "bin" +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.2.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..2ea7a9a4fae --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# changed toolchain and Perl version +# Updated by: Thomas Eylenbosch(Gluo N.V.) + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'http://weizhongli-lab.org/cd-hit/' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.36.0'), + ('zlib', '1.2.12'), +] + +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.3.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..bd59609605c --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# changed toolchain and Perl version +# Updated by: Thomas Eylenbosch(Gluo N.V.), Pavel Tománek (Inuits) + +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'http://weizhongli-lab.org/cd-hit/' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.36.1'), + ('zlib', '1.2.13'), +] + +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-13.2.0.eb b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..c1a0cf57158 --- /dev/null +++ b/easybuild/easyconfigs/c/CD-HIT/CD-HIT-4.8.1-GCC-13.2.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# changed toolchain and Perl version +# Updated by: Thomas Eylenbosch(Gluo N.V.), Pavel Tománek (Inuits) +# Update: Petr Král (INUITS) +easyblock = 'MakeCp' + +name = 'CD-HIT' +version = '4.8.1' + +homepage = 'http://weizhongli-lab.org/cd-hit/' +description = """ CD-HIT is a very widely used program for clustering and + comparing protein or nucleotide sequences.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/weizhongli/cdhit/releases/download/V%(version)s/'] +sources = ['%(namelower)s-v%(version)s-2019-0228.tar.gz'] +checksums = ['26172dba3040d1ae5c73ff0ac6c3be8c8e60cc49fc7379e434cdf9cb1e7415de'] + +dependencies = [ + ('Perl', '5.38.0'), + ('zlib', '1.2.13'), +] + +buildopts = ' CC="$CXX" CCFLAGS="$CPPFLAGS $CXXFLAGS"' + +local_list_of_executables = ['cd-hit', 'cd-hit-est', 'cd-hit-2d', 'cd-hit-est-2d', 'cd-hit-div', 'cd-hit-454'] + +files_to_copy = [(local_list_of_executables, 'bin'), (['*.pl'], 'bin'), 'README', 'doc', 'license.txt'] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_list_of_executables], + 'dirs': [], +} + +sanity_check_commands = ["cd-hit -h | grep 'CD-HIT version %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb new file mode 100644 index 00000000000..11fc1a9fd9c --- /dev/null +++ b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-10.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'CDBtools' +version = '0.99' + +homepage = 'http://compbio.dfci.harvard.edu/tgi' +description = "CDB (Constant DataBase) indexing and retrieval tools for FASTA files" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['ftp://occams.dfci.harvard.edu/pub/bio/tgi/software/cdbfasta'] +sources = [{'download_filename': 'cdbfasta.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c'] + +buildopts = 'CC="$CXX" DBGFLAGS="$CXXFLAGS"' + +files_to_copy = [(['cdbfasta', 'cdbyank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cdbfasta', 'bin/cdbyank'], + 'dirs': [], +} + +sanity_check_commands = [ + "cdbfasta -v", + "cdbyank -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb new file mode 100644 index 00000000000..d2dca1af47d --- /dev/null +++ b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'CDBtools' +version = '0.99' + +homepage = 'http://compbio.dfci.harvard.edu/tgi' +description = "CDB (Constant DataBase) indexing and retrieval tools for FASTA files" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['ftp://occams.dfci.harvard.edu/pub/bio/tgi/software/cdbfasta'] +sources = [{'download_filename': 'cdbfasta.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c'] + +buildopts = 'CC="$CXX" DBGFLAGS="$CXXFLAGS"' + +files_to_copy = [(['cdbfasta', 'cdbyank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cdbfasta', 'bin/cdbyank'], + 'dirs': [], +} + +sanity_check_commands = [ + "cdbfasta -v", + "cdbyank -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-12.3.0.eb b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-12.3.0.eb new file mode 100644 index 00000000000..8266bd8155c --- /dev/null +++ b/easybuild/easyconfigs/c/CDBtools/CDBtools-0.99-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'CDBtools' +version = '0.99' + +homepage = 'http://compbio.dfci.harvard.edu/tgi' +description = "CDB (Constant DataBase) indexing and retrieval tools for FASTA files" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['ftp://occams.dfci.harvard.edu/pub/bio/tgi/software/cdbfasta'] +sources = [{'download_filename': 'cdbfasta.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['68767e8b2fb9de5a6d68ee16df73293f65e02f05cf2f747a9dd6b8854766722c'] + +buildopts = 'CC="$CXX" DBGFLAGS="$CXXFLAGS"' + +files_to_copy = [(['cdbfasta', 'cdbyank'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cdbfasta', 'bin/cdbyank'], + 'dirs': [], +} + +sanity_check_commands = [ + "cdbfasta -v", + "cdbyank -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb b/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb new file mode 100644 index 00000000000..dc43f2a891a --- /dev/null +++ b/easybuild/easyconfigs/c/CDFlib/CDFlib-0.4.9-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'CDFlib' +version = '0.4.9' + +homepage = 'https://github.com/MAVENSDC/cdflib' +description = """cdflib is a python module to read/write CDF (Common Data Format .cdf) files +without needing to install the CDF NASA library. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), + ('astropy', '5.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cdflib', version, { + 'checksums': ['665d2ab31fcf7b61dec230fbc390d87e02116993dc434c3112921f967012b963'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2019b.eb b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2019b.eb new file mode 100644 index 00000000000..bf08b255127 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2019b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '1.9.10' + +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': '2019b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/24638/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e'] + +dependencies = [ + ('HDF5', '1.10.5'), + ('netCDF', '4.7.1'), + ('YAXT', '0.6.2'), + ('ecCodes', '2.15.0'), +] + +configopts = "--with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF --with-eccodes=$EBROOTECCODES" + +# fix for linking issues with HDF5 libraries for libcdi, should link with both -lnetcdf and -lhdf5_hl -lhdf5 +prebuildopts = "find libcdi -name Makefile | xargs sed -i 's/-lnetcdf -lnetcdf/-lnetcdf -lhdf5_hl -lhdf5/g' && " + +sanity_check_paths = { + 'files': ['bin/cdo'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2021a.eb b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2021a.eb new file mode 100644 index 00000000000..fa60a7e3964 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-gompi-2021a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '1.9.10' + +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': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/24638/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e'] + +dependencies = [ + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('YAXT', '0.9.1'), + ('ecCodes', '2.22.1'), +] + +configopts = "--with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF --with-eccodes=$EBROOTECCODES" + +# fix for linking issues with HDF5 libraries for libcdi, should link with both -lnetcdf and -lhdf5_hl -lhdf5 +prebuildopts = "find libcdi -name Makefile | xargs sed -i 's/-lnetcdf -lnetcdf/-lnetcdf -lhdf5_hl -lhdf5/g' && " + +sanity_check_paths = { + 'files': ['bin/cdo'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CDO/CDO-1.9.10-iimpi-2021b.eb b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-iimpi-2021b.eb new file mode 100644 index 00000000000..7b16c26a04a --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-1.9.10-iimpi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '1.9.10' + +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': 'iimpi', 'version': '2021b'} +# stick to lowopt (-O1) to avoid internal compiler error when building on Intel Skylake +toolchainopts = {'pic': True, 'usempi': True, 'lowopt': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/24638/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cc39c89bbb481d7b3945a06c56a8492047235f46ac363c4f0d980fccdde6677e'] + +dependencies = [ + ('HDF5', '1.12.1'), + ('netCDF', '4.8.1'), + ('YAXT', '0.9.2'), + ('ecCodes', '2.24.2'), +] + +configopts = "--with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF --with-eccodes=$EBROOTECCODES" + +# fix for linking issues with HDF5 libraries for libcdi, should link with both -lnetcdf and -lhdf5_hl -lhdf5 +prebuildopts = "find libcdi -name Makefile | xargs sed -i 's/-lnetcdf -lnetcdf/-lnetcdf -lhdf5_hl -lhdf5/g' && " + +sanity_check_paths = { + 'files': ['bin/cdo'], + 'dirs': [], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..2169f07b3ef --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.5-gompi-2021b.eb @@ -0,0 +1,55 @@ +# updated to version 2.0.5, based on the previous 1.9.10 version +# J. Sassmannshausen (Imperial College London, UK) +# Alex Domingo (Vrije Universiteit Brussel, BE) + +easyblock = 'ConfigureMake' + +name = 'CDO' +version = '2.0.5' + +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': '2021b'} +toolchainopts = {'cstd': 'c++14', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/26823/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['edeebbf1c3b1a1f0c642dae6bc8c7624e0c54babe461064dc5c7daca4a5b0dce'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.78.0'), + ('ecCodes', '2.24.2'), + ('FFTW', '3.3.10'), + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('netCDF', '4.8.1'), + ('PROJ', '8.1.0'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.37'), +] + +# 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"] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..124d47abae6 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.0.6-gompi-2022a.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.0.6' + +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': '2022a'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/27276/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ef120dea9032b1be80a4cfa201958c3b910107205beb6674195675f1ee8ed402'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('ecCodes', '2.27.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('netCDF', '4.9.0'), + ('PROJ', '9.0.0'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.38'), +] + +# 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 'CDI library version : %(version)s'"] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..864efb1aae4 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.1.1-gompi-2021a.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.1.1' + +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': '2021a'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/27654'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c29d084ccbda931d71198409fb2d14f99930db6e7a3654b3c0243ceb304755d9'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.76.0'), + ('ecCodes', '2.22.1'), + ('FFTW', '3.3.9'), + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('netCDF', '4.8.0'), + ('PROJ', '8.0.1'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.36'), +] + +# 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 'CDI library version : %(version)s'"] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..77cac651f2b --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.2.2-gompi-2023a.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': '2023a'} +toolchainopts = {'cstd': 'c++17', 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/28882/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['419c77315244019af41a296c05066f474cccbf94debfaae9e2106da51bc7c937'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('cURL', '8.0.1'), + ('ecCodes', '2.31.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.14.0'), + ('libxml2', '2.11.4'), + ('netCDF', '4.9.2'), + ('PROJ', '9.2.0'), + ('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/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/CDO/CDO-2.3.0-iimpi-2022a.eb b/easybuild/easyconfigs/c/CDO/CDO-2.3.0-iimpi-2022a.eb new file mode 100644 index 00000000000..58cf406d164 --- /dev/null +++ b/easybuild/easyconfigs/c/CDO/CDO-2.3.0-iimpi-2022a.eb @@ -0,0 +1,58 @@ +# 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.3.0' + +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': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://code.mpimet.mpg.de/attachments/download/29019/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['10c878227baf718a6917837527d4426c2d0022cfac4457c65155b9c57f091f6b'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('ecCodes', '2.27.0'), + ('FFTW', '3.3.10'), + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('netCDF', '4.9.0'), + ('PROJ', '9.0.0'), + ('Szip', '2.1.1'), + ('UDUNITS', '2.2.28'), + ('util-linux', '2.38'), +] + +# 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" ' + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/cdo', 'lib/libcdi.a', 'lib/libcdi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["cdo --version 2>&1 | grep 'CDI library 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/CESM-deps/CESM-deps-2-foss-2021b.eb b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2021b.eb new file mode 100644 index 00000000000..6dcf10dda3d --- /dev/null +++ b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2021b.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'CESM-deps' +version = '2' + +homepage = 'https://www.cesm.ucar.edu/models/cesm2/' +description = """CESM is a fully-coupled, community, global climate model that +provides state-of-the-art computer simulations of the Earth's past, present, +and future climate states.""" + +# The following environment is suitable for CESM >= 2.2.0 +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), + ('lxml', '4.6.3'), + ('Perl', '5.34.0'), + ('XML-LibXML', '2.0207'), + ('ESMF', '8.2.0'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('netCDF-C++4', '4.3.1'), + ('PnetCDF', '1.12.3'), + ('Subversion', '1.14.1'), + ('git', '2.33.1', '-nodocs'), + ('git-lfs', '3.2.0', '', SYSTEM), +] + +components = [ + # install extra configuration tools and files for VSC clusters + ('cesm-config', '1.6.1', { + 'easyblock': 'Tarball', + 'source_urls': ['https://github.com/vub-hpc/%(name)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['bd88c32a08439cc0b4395936a2113e83032e43d0c683ffb4dbf651c09d1e9c88'], + 'start_dir': '%(name)s-%(version)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/update-cesm-machines', 'scripts/case.pbs', 'scripts/case.slurm'], + 'dirs': ['machines', 'irods'], +} + +usage = """Environment to build and run CESM v2 simulations + 1. Download a release of CESM v2: `git clone -b release-cesm2.2.0 https://github.com/ESCOMP/cesm.git cesm-2.2.0` + 2. Add external programs for CESM: `cd cesm-2.2.0; ./manage_externals/checkout_externals` + 3. Update config files: `update-cesm-machines cime/config/cesm/machines/ $EBROOTCESMMINDEPS/machines/` + 4. Create case: `cd cime/scripts && ./create_newcase --machine ...`""" + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2022a.eb b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2022a.eb new file mode 100644 index 00000000000..c3ee3e4a102 --- /dev/null +++ b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'CESM-deps' +version = '2' + +homepage = 'https://www.cesm.ucar.edu/models/cesm2/' +description = """CESM is a fully-coupled, community, global climate model that +provides state-of-the-art computer simulations of the Earth's past, present, +and future climate states.""" + +# The following environment is suitable for CESM >= 2.2.0 +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('lxml', '4.9.1'), + ('Perl', '5.34.1'), + ('XML-LibXML', '2.0207'), + ('ESMF', '8.3.0'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('netCDF-C++4', '4.3.1'), + ('PnetCDF', '1.12.3'), + ('Subversion', '1.14.2'), + ('git', '2.36.0', '-nodocs'), + ('git-lfs', '3.2.0', '', SYSTEM), +] + +components = [ + # install extra configuration tools and files for VSC clusters + ('cesm-config', '1.6.2', { + 'easyblock': 'Tarball', + 'source_urls': ['https://github.com/vub-hpc/%(name)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['eda865c6c6885253728de0d570a850a728310785162c8b78bd896b0d1dfbbf48'], + 'start_dir': '%(name)s-%(version)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/update-cesm-machines', 'scripts/case.pbs', 'scripts/case.slurm'], + 'dirs': ['machines', 'irods'], +} + +usage = """Environment to build and run CESM v2 simulations + 1. Download a release of CESM v2: `git clone -b release-cesm2.2.0 https://github.com/ESCOMP/cesm.git cesm-2.2.0` + 2. Add external programs for CESM: `cd cesm-2.2.0; ./manage_externals/checkout_externals` + 3. Update config files: `update-cesm-machines cime/config/cesm/machines/ $EBROOTCESMMINDEPS/machines/` + 4. Create case: `cd cime/scripts && ./create_newcase --machine ...`""" + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2023a.eb b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2023a.eb new file mode 100644 index 00000000000..1144c2b34cc --- /dev/null +++ b/easybuild/easyconfigs/c/CESM-deps/CESM-deps-2-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'Bundle' + +name = 'CESM-deps' +version = '2' + +homepage = 'https://www.cesm.ucar.edu/models/cesm2/' +description = """CESM is a fully-coupled, community, global climate model that +provides state-of-the-art computer simulations of the Earth's past, present, +and future climate states.""" + +# The following environment is suitable for CESM >= 2.2.2 and CTSM >= 5.2.0 +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('lxml', '4.9.2'), + ('Perl', '5.36.1'), + ('XML-LibXML', '2.0209'), + ('ESMF', '8.6.0'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('netCDF-C++4', '4.3.1'), + ('PnetCDF', '1.12.3'), + ('git', '2.41.0', '-nodocs'), + ('git-lfs', '3.5.1', '', SYSTEM), +] + +components = [ + # install extra configuration tools and files for VSC clusters + ('cesm-config', '1.7.0', { + 'easyblock': 'Tarball', + 'source_urls': ['https://github.com/vub-hpc/%(name)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['c5aeb50595ca4d342a5024d593c2549acf16e72dadc5f39d9a7915d3dc8f3c13'], + 'start_dir': '%(name)s-%(version)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/update-cesm-machines', 'scripts/case.pbs', 'scripts/case.slurm'], + 'dirs': ['machines', 'irods'], +} + +usage = """Environment to build and run CESM v2 simulations + 1. Download a release of CESM v2: `git clone -b release-cesm2.2.2 https://github.com/ESCOMP/cesm.git cesm-2.2.2` + 2. Add external programs for CESM: `cd cesm-2.2.2; ./manage_externals/checkout_externals` + 3. Update config files: `update-cesm-machines cime/config/cesm/machines/ $EBROOTCESMMINDEPS/machines/` + 4. Create case: `cd cime/scripts && ./create_newcase --machine ...`""" + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/CFDEMcoupling/CFDEMcoupling-3.8.0-foss-2019b.eb b/easybuild/easyconfigs/c/CFDEMcoupling/CFDEMcoupling-3.8.0-foss-2019b.eb new file mode 100644 index 00000000000..8c7dadce41c --- /dev/null +++ b/easybuild/easyconfigs/c/CFDEMcoupling/CFDEMcoupling-3.8.0-foss-2019b.eb @@ -0,0 +1,41 @@ +name = 'CFDEMcoupling' +version = '3.8.0' + +homepage = 'https://www.cfdem.com/cfdemrcoupling-open-source-cfd-dem-framework' +description = """CFDEMcoupling is an open source CFD-DEM engine. It provides the possibility to couple + the DEM engine LIGGGHTS to a CFD framework.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +sources = [ + { + 'source_urls': ['https://github.com/CFDEMproject/CFDEMcoupling-PUBLIC/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/CFDEMproject/LIGGGHTS-PUBLIC/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': 'LIGGGHTS-%(version)s.tar.gz', + }, + { + 'source_urls': [ + 'https://github.com/CFDEMproject/LPP/archive/', # no longer exists? + 'https://github.com/alexjwhitehead/LPP/archive', + ], + 'download_filename': '633058e.tar.gz', + 'filename': 'LPP-20170223.tar.gz', + }, +] +checksums = [ + {'CFDEMcoupling-3.8.0.tar.gz': '3c90d3178c9667ea84db9507221f65f9efec2aab8d22c51769f8a0c94d813ee4'}, + {'LIGGGHTS-3.8.0.tar.gz': '9cb2e6596f584463ac2f80e3ff7b9588b7e3638c44324635b6329df87b90ab03'}, + {'LPP-20170223.tar.gz': '9b191d89e72fba00bd63b327ee8c79425fb73e4e11aa6c165d464ed8a582627a'}, +] + +dependencies = [ + ('OpenFOAM', '5.0-20180606'), + ('VTK', '8.2.0', '-Python-2.7.16'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..e49ddd7b1d3 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.2.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '3.49' + +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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + '5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3', # cfitsio-3.49.tar.gz + 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c', # CFITSIO-3.48_install_test_data.patch +] + +# curl for HTTPs support +dependencies = [('cURL', '7.72.0')] + +builddependencies = [('binutils', '2.35')] + +# 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/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1b080d80935 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '3.49' + +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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + '5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3', # cfitsio-3.49.tar.gz + 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c', # CFITSIO-3.48_install_test_data.patch +] + +# curl for HTTPs support +dependencies = [('cURL', '7.76.0')] + +builddependencies = [('binutils', '2.36.1')] + +# 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/CFITSIO/CFITSIO-3.49-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5911a316801 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-3.49-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '3.49' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + '5b65a20d5c53494ec8f638267fca4a629836b7ac8dd0ef0266834eab270ed4b3', # cfitsio-3.49.tar.gz + 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c', # CFITSIO-3.48_install_test_data.patch +] + +# curl for HTTPs support +dependencies = [('cURL', '7.78.0')] + +builddependencies = [('binutils', '2.37')] + +# 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/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88f309b6263 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.2.0' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + {'cfitsio-4.2.0.tar.gz': 'eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [('binutils', '2.38')] + +# curl for HTTPs support +dependencies = [('cURL', '7.83.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/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bc70ab6cf40 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.2.0' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + {'cfitsio-4.2.0.tar.gz': 'eba53d1b3f6e345632bb09a7b752ec7ced3d63ec5153a848380f3880c5d61889'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [('binutils', '2.39')] + +# curl for HTTPs support +dependencies = [('cURL', '7.86.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/CFITSIO/CFITSIO-4.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c8a01a36a48 --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'CFITSIO' +version = '4.3.0' + +homepage = 'http://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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/'] +sources = ['%%(namelower)s-%s.tar.gz' % version] +patches = ['CFITSIO-3.48_install_test_data.patch'] +checksums = [ + {'cfitsio-4.3.0.tar.gz': 'fdadc01d09cf9f54253802c5ec87eb10de51ce4130411415ae88c30940621b8b'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +dependencies = [('cURL', '8.0.1')] + + +builddependencies = [ + ('binutils', '2.40'), +] + +# 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/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/CFITSIO/CFITSIO-4.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..eaa1b0866ac --- /dev/null +++ b/easybuild/easyconfigs/c/CFITSIO/CFITSIO-4.4.1-GCCcore-13.3.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.4.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.3.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 = [ + {'cfitsio-4.4.1.tar.gz': '66a1dc3f21800f9eeabd9eac577b91fcdd9aabba678fbba3b8527319110d1d25'}, + {'CFITSIO-3.48_install_test_data.patch': 'dbf16f857f133468fc1e6a793c6e89fca66d54796593e03606f2722a2a980c0c'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] +# curl for HTTPs support +dependencies = [ + ('cURL', '8.7.1'), +] + +# 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/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb index 843dd43347b..d033267aef3 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-2.7.14.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.0'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb index c34f9e1cc3a..be3206d85d4 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-foss-2017b-Python-3.6.3.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.0'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb index 4c9db1623b7..4d0b14dfd49 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017a-Python-2.7.13.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.9.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb index 020c81029d7..8ff6898f1ef 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-2.7.14.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb index 7e6d5bdcc6f..36172cf0ebf 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11-intel-2017b-Python-3.6.3.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.0'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb index f9297a5a469..a55803f816e 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-2.7.14.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.2'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb index 1c2a60faa0a..ff0938352bb 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018a-Python-3.6.4.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.2'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb index e8f39c66d57..180cab534a2 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-2.7.15.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.11.4'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb index dc1d8abbeca..23ab0c1c4c6 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-foss-2018b-Python-3.6.6.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.11.4'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb index 27070c69ab0..0e700bf34ec 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.11.1-intel-2018a-Python-2.7.14.eb @@ -25,10 +25,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.10.2'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb index 4d717d55089..b9c2b1c3ada 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-foss-2019a-Python-3.7.2.eb @@ -15,7 +15,7 @@ checksums = ['59464b1eaee892f2223ba570a7642892c999e29524ab102a6efd7c29c94a29f7'] builddependencies = [ ('CMake', '3.13.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.12.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb index 7af7769dea5..6aedf7b94d6 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14-intel-2019a-Python-3.7.2.eb @@ -15,7 +15,7 @@ checksums = ['59464b1eaee892f2223ba570a7642892c999e29524ab102a6efd7c29c94a29f7'] builddependencies = [ ('CMake', '3.13.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.12.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-2.7.16.eb new file mode 100644 index 00000000000..0e40e4e96d2 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-2.7.16.eb @@ -0,0 +1,38 @@ +name = 'CGAL' +version = '4.14.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['d4ec2528b88a7c3a07b0b86db96c216822f85b951bf4bc7f9d1f26bf6c369afe'] + +builddependencies = [ + ('CMake', '3.15.3'), + ('Eigen', '3.3.7', '', SYSTEM), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '2.7.16'), + ('Boost', '1.71.0'), + ('MPFR', '4.0.2'), + ('GMP', '6.1.2'), + ('Mesa', '19.1.7'), + ('libGLU', '9.0.1'), + ('Qt5', '5.13.1'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb index 06c6212ddb5..ba65e66905e 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-foss-2019b-Python-3.7.4.eb @@ -15,7 +15,7 @@ checksums = ['d4ec2528b88a7c3a07b0b86db96c216822f85b951bf4bc7f9d1f26bf6c369afe'] builddependencies = [ ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.13.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb index 5872c04d23b..d811e682a82 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.1-intel-2019b-Python-3.7.4.eb @@ -15,7 +15,7 @@ checksums = ['d4ec2528b88a7c3a07b0b86db96c216822f85b951bf4bc7f9d1f26bf6c369afe'] builddependencies = [ ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.13.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb index 1401b2793b8..7260e3f71ab 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2020a-Python-3.8.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.14.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb new file mode 100644 index 00000000000..3e47611c348 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021a.eb @@ -0,0 +1,37 @@ +name = 'CGAL' +version = '4.14.3' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['5bafe7abe8435beca17a1082062d363368ec1e3f0d6581bb0da8b010fb389fe4'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.5'), + ('Boost', '1.76.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), + ('Qt5', '5.15.2'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb new file mode 100644 index 00000000000..21dce7f0d6f --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2021b.eb @@ -0,0 +1,37 @@ +name = 'CGAL' +version = '4.14.3' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['5bafe7abe8435beca17a1082062d363368ec1e3f0d6581bb0da8b010fb389fe4'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.6'), + ('Boost', '1.77.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('Qt5', '5.15.2'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2022a.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2022a.eb new file mode 100644 index 00000000000..78055d4556d --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-gompi-2022a.eb @@ -0,0 +1,38 @@ +name = 'CGAL' +version = '4.14.3' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['5bafe7abe8435beca17a1082062d363368ec1e3f0d6581bb0da8b010fb389fe4'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Python', '3.10.4'), + ('Boost', '1.79.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('Qt5', '5.15.5'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += '-DOpenGL_GL_PREFERENCE=GLVND ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb index de7125a9591..7944a1be7fc 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2020a-Python-3.8.2.eb @@ -29,7 +29,7 @@ dependencies = [ ('Qt5', '5.14.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb new file mode 100644 index 00000000000..8fec1fcd61f --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.14.3-iimpi-2021a.eb @@ -0,0 +1,37 @@ +name = 'CGAL' +version = '4.14.3' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['5bafe7abe8435beca17a1082062d363368ec1e3f0d6581bb0da8b010fb389fe4'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.5'), + ('Boost', '1.76.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), + ('Qt5', '5.15.2'), +] + +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " +configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb index f4633df3983..adb729af93e 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-foss-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-11.2.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb index fd4219e2061..a1dd733fbe6 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8-intel-2016a-Python-2.7.11.eb @@ -22,7 +22,7 @@ dependencies = [ ('libGLU', '9.0.0', '-Mesa-11.2.1'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb index 9bee4db9aa4..a72147769ce 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb index 44d057e3a24..43bf68bd47e 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-foss-2016b.eb @@ -25,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb index 3efaca57eb3..18bb1a2753c 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb index 406b208a885..f30cfbdd292 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.8.1-intel-2016b.eb @@ -25,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.9'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb index 1e392edbada..6eeda75c0fc 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2016b-Python-2.7.12.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.3.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb index e83b067d66e..2c827ed9eda 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-4.9-intel-2017a-Python-2.7.13.eb @@ -27,7 +27,7 @@ builddependencies = [ ('Eigen', '3.3.3'), ] -configopts = "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts = '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb index c03d9e13b12..0ee32908a09 100644 --- a/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.2-gompi-2020b.eb @@ -29,10 +29,9 @@ dependencies = [ ] configopts = "-DCGAL_HEADER_ONLY=OFF " -configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include\;$EBROOTLIBGLU/include " +configopts += '-DOPENGL_INCLUDE_DIR="$EBROOTMESA/include;$EBROOTLIBGLU/include" ' configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT -configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON " -configopts += "-DWITH_GMPXX=ON -DWITH_LAPACK=ON -DWITH_BLAS=ON " +configopts += "-DWITH_ZLIB=ON -DWITH_MPFR=ON -DWITH_OpenGL=ON -DWITH_Eigen3=ON -DWITH_GMPXX=ON" moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..aa9a56f6fc1 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.4-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.4' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b3d735ec42fd65ac1413c70e7a197bf3d971e4499347ccfaad92cc82d62dc256'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.5.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.5.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d3b3328cd05 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.5.2-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.5.2' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b2b05d5616ecc69facdc24417cce0b04fb4321491d107db45103add520e3d8c3'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..38817452cd4 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.6-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.6' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['dcab9b08a50a06a7cc2cc69a8a12200f8d8f391b9b8013ae476965c10b45161f'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e0dfb771aa6 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.6.1' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['cdb15e7ee31e0663589d3107a79988a37b7b1719df3d24f2058545d1bcdd5837'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..01aa21c6311 --- /dev/null +++ b/easybuild/easyconfigs/c/CGAL/CGAL-5.6.1-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' +name = 'CGAL' +version = '5.6.1' + +homepage = 'https://www.cgal.org/' +description = """The goal of the CGAL Open Source Project is to provide easy access to efficient + and reliable geometric algorithms in the form of a C++ library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/CGAL/cgal/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['cdb15e7ee31e0663589d3107a79988a37b7b1719df3d24f2058545d1bcdd5837'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['include/CGAL/Simple_cartesian.h'], + 'dirs': ['include/CGAL', 'lib/cmake/CGAL'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-foss-2020b.eb b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-foss-2020b.eb new file mode 100644 index 00000000000..9a080037a64 --- /dev/null +++ b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-foss-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'CHERAB' +version = '1.3.0' + +homepage = 'https://cherab.github.io/documentation/index.html' + +description = """CHERAB is a python library for forward modelling diagnostics + based on spectroscopic plasma emission.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2ce0ee3784863cc281c4f8ca402eb43d491f39d6269619161da09508e36eda45'] + +builddependencies = [ + ('Cython', '3.0a5'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Raysect', '0.7.1') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-intel-2020b.eb b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-intel-2020b.eb new file mode 100644 index 00000000000..f80768c2593 --- /dev/null +++ b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.3.0-intel-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'CHERAB' +version = '1.3.0' + +homepage = 'https://cherab.github.io/documentation/index.html' + +description = """CHERAB is a python library for forward modelling diagnostics + based on spectroscopic plasma emission.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2ce0ee3784863cc281c4f8ca402eb43d491f39d6269619161da09508e36eda45'] + +builddependencies = [ + ('Cython', '3.0a5'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Raysect', '0.7.1') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-foss-2020b.eb b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-foss-2020b.eb new file mode 100644 index 00000000000..e87a4eff595 --- /dev/null +++ b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-foss-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'CHERAB' +version = '1.4.0' + +homepage = 'https://cherab.github.io/documentation/index.html' + +description = """CHERAB is a python library for forward modelling diagnostics + based on spectroscopic plasma emission.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0b3c48e91582ca7e9aad0f45f982791820e070ad1c1fb17d41d58c35cadda8b'] + +builddependencies = [ + ('Cython', '3.0a5'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Raysect', '0.7.1') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-intel-2020b.eb b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-intel-2020b.eb new file mode 100644 index 00000000000..95c8e30c605 --- /dev/null +++ b/easybuild/easyconfigs/c/CHERAB/CHERAB-1.4.0-intel-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'CHERAB' +version = '1.4.0' + +homepage = 'https://cherab.github.io/documentation/index.html' + +description = """CHERAB is a python library for forward modelling diagnostics + based on spectroscopic plasma emission.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0b3c48e91582ca7e9aad0f45f982791820e070ad1c1fb17d41d58c35cadda8b'] + +builddependencies = [ + ('Cython', '3.0a5'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Raysect', '0.7.1') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CIRCexplorer2/CIRCexplorer2-2.3.8-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CIRCexplorer2/CIRCexplorer2-2.3.8-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..349d6b4d3c9 --- /dev/null +++ b/easybuild/easyconfigs/c/CIRCexplorer2/CIRCexplorer2-2.3.8-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'CIRCexplorer2' +version = '2.3.8' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'http://circexplorer2.readthedocs.io/' +description = "CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset." + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8261ee884f6d895131ce681d5eda6554376e973851a9de4dc50e2b3e242ccc80'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix), + # sticking to v2.1.0, since using v2.1.1 has problems, cfr. https://www.biostars.org/p/186979/ + ('TopHat', '2.1.2', versionsuffix), + ('Cufflinks', '20190706'), + ('BEDTools', '2.30.0'), + ('Kent_tools', '422'), + ('STAR', '2.7.9a'), + ('BWA', '0.7.17'), + ('segemehl', '0.3.4'), + ('Pysam', '0.17.0', versionsuffix), + ('pybedtools', '0.8.2', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'circ2'} + +sanity_check_paths = { + 'files': ['bin/CIRCexplorer2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["CIRCexplorer2 denovo --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CIRI-long/CIRI-long-1.0.2-foss-2020b.eb b/easybuild/easyconfigs/c/CIRI-long/CIRI-long-1.0.2-foss-2020b.eb new file mode 100644 index 00000000000..a52d5879330 --- /dev/null +++ b/easybuild/easyconfigs/c/CIRI-long/CIRI-long-1.0.2-foss-2020b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'CIRI-long' +version = '1.0.2' + +homepage = 'https://github.com/bioinfo-biols/CIRI-long/' +description = "Circular RNA Identification for Long-Reads Nanopore Sequencing Data" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('Pysam', '0.16.0.1'), + ('minimap2', '2.18'), + ('Cython', '0.29.22'), + ('SAMtools', '1.11'), + ('Biopython', '1.78'), + ('pyspoa', '0.0.8'), + ('python-Levenshtein', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('mappy', '2.17', { + 'checksums': ['ed1460efc9c6785df28065b7e93e93c92227f623a181f1a852dca6e6acb1a15f'], + }), + ('bwapy', '0.1.4', { + 'checksums': ['fcdad0c7311753d550b3a3aefbc2619380e7e35e7aeaa386fd491cba47e71824'], + }), + (name, version, { + 'modulename': 'CIRI_long', + 'preinstallopts': "make lib && sed -i '/install_requires/,+4d' setup.py && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/bioinfo-biols/CIRI-long/archive'], + 'checksums': ['4c83d18fb147cc37be99b79f94acbbc24caa9954286afc8ff24058a9db7e9e48'], + }), +] + +sanity_check_paths = { + 'files': ['bin/CIRI-long'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'cd %(builddir)s/CIRIlong/%(name)s-%(version)s && make test', + 'CIRI-long --help', +] +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CIRIquant/CIRIquant-1.1.2-20221201-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CIRIquant/CIRIquant-1.1.2-20221201-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..b2f6bd3849e --- /dev/null +++ b/easybuild/easyconfigs/c/CIRIquant/CIRIquant-1.1.2-20221201-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'CIRIquant' +local_commit = '2d0663e' +version = '1.1.2-20221201' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/bioinfo-biols/CIRIquant' +description = "CIRIquant is a comprehensive analysis pipeline for circRNA detection and quantification in RNA-Seq data" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix), + ('PyYAML', '5.4.1', versionsuffix), + ('Pysam', '0.17.0', versionsuffix), + ('scikit-learn', '0.20.4', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + (name, version, { + 'source_urls': ['https://github.com/bioinfo-biols/CIRIquant/archive/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}], + 'checksums': ['4990122c0eb820b1ec9cfc64fcfe49d3f9680dae69719dba3f8a7d77f9c3ff54'], + # relax numpy version requirement, no actual need for 1.22.0 + # (cfr. https://github.com/bioinfo-biols/CIRIquant/pull/39), + # and remove very strict version requirements for all required Python packages + 'preinstallopts': "sed -i 's/numpy==1.22.0/numpy==1.16.4/g' setup.py && sed -i 's/==/>=/g' setup.py && ", + 'modulename': 'CIRIquant', + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/CIRIquant'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["CIRIquant --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/CIRIquant'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CLANS/CLANS-2.0.8-foss-2023a.eb b/easybuild/easyconfigs/c/CLANS/CLANS-2.0.8-foss-2023a.eb new file mode 100644 index 00000000000..e1ce2f2a9e1 --- /dev/null +++ b/easybuild/easyconfigs/c/CLANS/CLANS-2.0.8-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'CLANS' +version = '2.0.8' + +homepage = 'https://github.com/inbalpaz/CLANS' +description = """ +CLANS 2.0 is a Python-based program for clustering sequences in the 2D or 3D space, based on +their sequence similarities. CLANS visualizes the dynamic clustering process and enables the +user to interactively control it and explore the cluster map in various ways. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('numba', '0.58.1'), + ('VisPy', '0.12.2'), + ('Biopython', '1.83'), + ('Pillow', '10.0.0'), + ('PyQt5', '5.15.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/inbalpaz/CLANS/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7b856ec3b13c420dbe30169e8cdd7d6899acb79042ca66920eafd05adf4d2815'], + }), +] + +sanity_check_commands = ['python -m clans -h'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/CLEAR/CLEAR-20210117-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CLEAR/CLEAR-20210117-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..46ab6c20df7 --- /dev/null +++ b/easybuild/easyconfigs/c/CLEAR/CLEAR-20210117-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'CLEAR' +local_commit = '64bc22d52d99466a044848992fd0d775a983d60c' +version = '20210117' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/YangLab/CLEAR' +description = 'Direct comparison of circular and linear RNA expression' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/YangLab/CLEAR/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['a0824bcbaf6db52dcbb24467277045d341bbd266e582d9a89fd1656c89ba64ea'] + +dependencies = [ + ('Python', '2.7.18'), + ('CIRCexplorer2', '2.3.8', versionsuffix), + ('HISAT2', '2.2.1'), + ('StringTie', '2.2.1', versionsuffix), + ('Bowtie', '1.3.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'src.circ_quant'} + +sanity_check_paths = { + 'files': ['bin/circ_quant', 'bin/clear_quant'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "circ_quant --help", + "clear_quant --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6-intel-2021a.eb b/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6-intel-2021a.eb new file mode 100644 index 00000000000..88601f6e661 --- /dev/null +++ b/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6-intel-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'CLEASE' +version = '0.10.6' + +homepage = 'https://gitlab.com/computationalmaterials/clease' +description = """CLuster Expansion in Atomic Simulation Environment +(CLEASE) is a package that automates the cumbersome setup and +construction procedure of cluster expansion (CE). It provides a +comprehensive list of tools for specifying parameters for CE, generating +training structures, fitting effective cluster interaction (ECI) values +and running Monte Carlo simulations.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('ASE', '3.22.0'), + ('scikit-learn', '0.24.2'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('clease', version, { + 'patches': ['CLEASE-0.10.6_drop_version_req_for_click.patch'], + 'checksums': [ + '858b420e27872b3e996c631e6382ab6f0a0b96dcf5c26013e2bae9fdfdb62c9f', # clease-0.10.6.tar.gz + # CLEASE-0.10.6_drop_version_req_for_click.patch + '1ad7ed00f64fe7522714a05048f0ef8bd32092332721f4e6aa097ab3a70d0b18', + ], + }), +] + +sanity_check_commands = ["clease --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6_drop_version_req_for_click.patch b/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6_drop_version_req_for_click.patch new file mode 100644 index 00000000000..de3e27b585f --- /dev/null +++ b/easybuild/easyconfigs/c/CLEASE/CLEASE-0.10.6_drop_version_req_for_click.patch @@ -0,0 +1,15 @@ +Don't enforce version of click. We already have click 7.1.2 in Python/3.9.5 + +Åke Sandgren, 2021-11-24 +diff -ru clease-0.10.6.orig/setup.py clease-0.10.6/setup.py +--- clease-0.10.6.orig/setup.py 2021-10-30 13:47:34.000000000 +0200 ++++ clease-0.10.6/setup.py 2021-11-24 14:03:38.514542426 +0100 +@@ -143,7 +143,7 @@ + 'scikit-learn', + 'typing_extensions', + 'Deprecated', +- 'click>=8.0.0', # CLI things ++ 'click', # CLI things + 'attrs', + 'scipy>=1.5.0', # Last version which allows python 3.6 + # 'mypy', diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb index 0e16a666125..441fffa6cb6 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.1.3.1-intel-2016a.eb @@ -11,13 +11,19 @@ description = """The CLHEP project is intended to be a set of HEP-specific found toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} -sources = [SOURCELOWER_TGZ] source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] +sources = [SOURCELOWER_TGZ] +checksums = ['5d3e45b39a861731fe3a532bb1426353bf62b54c7b90ecf268827e50f925642b'] builddependencies = [('CMake', '3.4.3')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb index fb7adb464b2..f156e273921 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.2.0.8-intel-2016a.eb @@ -11,13 +11,19 @@ description = """The CLHEP project is intended to be a set of HEP-specific found toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} -sources = [SOURCELOWER_TGZ] source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] +sources = [SOURCELOWER_TGZ] +checksums = ['f735e236b1f023ba7399269733b2e84eaed4de615081555b1ab3af25a1e92112'] builddependencies = [('CMake', '3.4.3')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb index 0c5534a7378..f2fbfc307d4 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.1.1-intel-2016a.eb @@ -11,13 +11,19 @@ description = """The CLHEP project is intended to be a set of HEP-specific found toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} -sources = [SOURCELOWER_TGZ] source_urls = ['http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/'] +sources = [SOURCELOWER_TGZ] +checksums = ['0e2b170df99176feb0aa4f20ea3b33463193c086682749790c5b9b79388d0ff4'] builddependencies = [('CMake', '3.4.3')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-foss-2017b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-foss-2017b.eb index 6f8910ad70e..63abfef5a29 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-foss-2017b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-foss-2017b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.9.5')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-intel-2017b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-intel-2017b.eb index 6ee2fced2e1..32ec1348ceb 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-intel-2017b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.3.4.3-intel-2017b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.9.5')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.0.0-intel-2017b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.0.0-intel-2017b.eb index 2c616de6d7f..45d0a5b234d 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.0.0-intel-2017b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.0.0-intel-2017b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.10.0')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2017b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2017b.eb index 21fe05f6d94..4cb4607a061 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2017b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2017b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.10.0')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2018b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2018b.eb index 053e43549ef..0c75cafccd2 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2018b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-foss-2018b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.12.1')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2017b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2017b.eb index 92485e9ac0e..60fd1abce1d 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2017b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2017b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.10.0')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2018b.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2018b.eb index 323ba4ee22b..17a3cf55a43 100644 --- a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2018b.eb +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.1.0-intel-2018b.eb @@ -19,6 +19,11 @@ builddependencies = [('CMake', '3.12.1')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release' +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.4.0-GCC-11.2.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.4.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..32e420b3175 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.4.0-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.4.0' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['5df78c11733a091da9ae5a24ce31161d44034dd45f20455587db85f1ca1ba539'] + +builddependencies = [('CMake', '3.22.1')] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.1-GCC-11.2.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..f856e0369a6 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.1-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.5.1' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['2517c9b344ad9f55974786ae6e7a0ef8b22f4abcbf506df91194ea2299ce3813'] + +builddependencies = [('CMake', '3.21.1')] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.3-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..5abbe184435 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.5.3-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.5.3' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['45f63eeb097f02fe67b86a7dadbf10d409b401c28a1a3e172db36252c3097c13'] + +builddependencies = [('CMake', '3.23.1')] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.2-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..f557d9b7075 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.2-GCC-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.6.2' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['aded73e49bac85a5b4e86f64a0ee3d6f3cfe5551b0f7731c78b6d8f9dac6e8dc'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..1a08a4ed224 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.6.4-GCC-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.6.4' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['49c89330f1903ef707d3c5d79c16a7c5a6f2c90fc290e2034ee3834809489e57'] + +builddependencies = [('CMake', '3.24.3')] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.7.1-GCC-12.3.0.eb b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.7.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..4bf02eab9a1 --- /dev/null +++ b/easybuild/easyconfigs/c/CLHEP/CLHEP-2.4.7.1-GCC-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'CLHEP' +version = '2.4.7.1' + +homepage = 'https://proj-clhep.web.cern.ch/proj-clhep/' +description = """The CLHEP project is intended to be a set of HEP-specific foundation and + utility classes such as random generators, physics vectors, geometry and linear algebra. + CLHEP is structured in a set of packages independent of any external package.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://proj-clhep.web.cern.ch/proj-clhep/dist1/'] +sources = [SOURCELOWER_TGZ] +checksums = ['1c8304a7772ac6b99195f1300378c6e3ddf4ad07c85d64a04505652abb8a55f9'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/clhep-config', 'lib/libCLHEP.a', 'lib/libCLHEP.%s' % SHLIB_EXT], + 'dirs': ['include/CLHEP'], +} + +sanity_check_commands = ["clhep-config --help"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/CLIP/CLIP-20230220-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CLIP/CLIP-20230220-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..e7b38dfeff1 --- /dev/null +++ b/easybuild/easyconfigs/c/CLIP/CLIP-20230220-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'CLIP' +version = '20230220' +versionsuffix = '-CUDA-%(cudaver)s' +_commit = 'a9b1bf5' + +homepage = 'https://github.com/openai/CLIP' +description = """ +CLIP (Contrastive Language-Image Pre-Training) is a neural network trained on a +variety of (image, text) pairs. It can be instructed in natural language to +predict the most relevant text snippet, given an image, without directly +optimizing for the task, similarly to the zero-shot capabilities of GPT-2 and +3.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), + ('torchvision', '0.13.1', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('ftfy', '6.1.1', { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), + (name, version, { + 'source_urls': ['https://github.com/openai/CLIP/archive'], + 'sources': [{'download_filename': _commit + '.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['9cbe833d1a8c1d5ea6db87c290119fda4d35a3fe2f7a94d6a88779de502a98e3'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CLUMPP/CLUMPP-1.1.2-Linux64.eb b/easybuild/easyconfigs/c/CLUMPP/CLUMPP-1.1.2-Linux64.eb new file mode 100644 index 00000000000..3b42e01a2be --- /dev/null +++ b/easybuild/easyconfigs/c/CLUMPP/CLUMPP-1.1.2-Linux64.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'CLUMPP' +version = '1.1.2' +versionsuffix = '-Linux64' + +homepage = 'https://rosenberglab.stanford.edu/clumpp.html' +description = """ +CLUMPP is a program that deals with label switching and multimodality problems +in population-genetic cluster analyses.""" + +toolchain = SYSTEM + +source_urls = ['https://rosenberglab.stanford.edu/software/'] +sources = ['%(name)s_Linux64.%(version)s.tar.gz'] +checksums = ['58cf3fe9e37f890621a76a244362256ffe4dde5e409346ae811d56af26cfe724'] + +postinstallcmds = [ + 'cd %(installdir)s && mkdir bin && mv CLUMPP bin/' +] + +sanity_check_paths = { + 'files': ['bin/CLUMPP'], + 'dirs': [], +} + +_clumpp_test_cmd = [ + "tmpdir=$(mktemp -d)", + "cp %(installdir)s/{paramfile,arabid.popfile,arabid.permutationfile} $tmpdir", + "cd $tmpdir", + "CLUMPP", +] + +sanity_check_commands = [ + " && ".join(_clumpp_test_cmd), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb b/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb new file mode 100644 index 00000000000..80c2e262426 --- /dev/null +++ b/easybuild/easyconfigs/c/CMAverse/CMAverse-20220112-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'RPackage' + +name = 'CMAverse' +version = '20220112' +local_commit = 'd382447' + +homepage = 'https://bs1125.github.io/CMAverse/' +description = """The R package CMAverse provides a suite of functions for reproducible causal mediation analysis +including cmdag for DAG visualization, cmest for statistical modeling and cmsens for sensitivity analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/BS1125/CMAverse/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d475ade49b3c67f64e6df29d9af84a0bade89ccf1736b4e6c346ac9a88191bfb'] + +dependencies = [ + ('R', '4.1.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.3-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.3-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..9e64d8a24f9 --- /dev/null +++ b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.3-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,38 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'CMSeq' +version = '1.0.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/SegataLab/cmseq/' +description = "CMSeq is a set of commands to provide an interface to .bam files for coverage and sequence consensus." + +toolchain = {'name': 'foss', 'version': '2020a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['c354b89bc4fdbb24fa1ffa063febdb96f2bbd8837af399887b300c9be98bda2e'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('Biopython', '1.78', versionsuffix), + ('bcbio-gff', '0.6.6', versionsuffix), + ('biom-format', '2.1.10', versionsuffix), + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.10'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['breadth_depth.py', 'consensus.py', 'poly.py', 'polymut.py']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb new file mode 100644 index 00000000000..b16ab7d9572 --- /dev/null +++ b/easybuild/easyconfigs/c/CMSeq/CMSeq-1.0.4-foss-2022a.eb @@ -0,0 +1,37 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'CMSeq' +version = '1.0.4' + +homepage = 'https://github.com/SegataLab/cmseq/' +description = "CMSeq is a set of commands to provide an interface to .bam files for coverage and sequence consensus." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['93038a6dba826e29a66df3ec8ab2b3e3872acac7af9df245e4a5a624584aca5c'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('bcbio-gff', '0.7.0'), + ('biom-format', '2.1.14'), + ('Pysam', '0.19.1'), + ('SAMtools', '1.16.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['breadth_depth.py', 'consensus.py', 'poly.py', 'polymut.py']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.11.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.11.4-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..a2c41a5e43c --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.11.4-GCCcore-8.3.0.eb @@ -0,0 +1,35 @@ +name = 'CMake' +version = '3.11.4' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5'] + +builddependencies = [ + ('binutils', '2.32'), +] + +dependencies = [ + ('ncurses', '6.1'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.66.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # ('OpenSSL', '1.1.1d'), +] + +osdependencies = [ + ('openssl-devel', 'libssl-dev', 'libopenssl-devel'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.18.4.eb b/easybuild/easyconfigs/c/CMake/CMake-3.18.4.eb index 4ccea17fa08..8bb971500ae 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.18.4.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.18.4.eb @@ -14,10 +14,13 @@ source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77'] -builddependencies = [('ncurses', '6.2')] +builddependencies = [ + ('ncurses', '6.2'), +] -# Use OS dependencies in order to ensure that CMake can build software that depends on them -osdependencies = [OS_PKG_OPENSSL_DEV] +dependencies = [ + ('OpenSSL', '1.1'), +] configopts = "-- " configopts += "-DCURSES_CURSES_LIBRARY=$EBROOTNCURSES/lib/libcurses.a " diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..16e8766c691 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +name = 'CMake' +version = '3.20.1' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.72.0'), + ('libarchive', '3.4.3'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # ('OpenSSL', '1.1.1h'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.3.0.eb index 8407f07472a..8c8d1b0745c 100644 --- a/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/c/CMake/CMake-3.20.1-GCCcore-10.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('cURL', '7.76.0'), ('libarchive', '3.5.1'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.21.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.21.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e09ed862f94 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.21.1-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.21.1' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.78.0'), + ('libarchive', '3.5.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.22.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.22.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..87996bb065a --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.22.1-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.22.1' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.78.0'), + ('libarchive', '3.5.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.23.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.23.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..069c6a25c27 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.23.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.23.1' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('cURL', '7.83.0'), + ('libarchive', '3.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d5b6ac8b205 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.24.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('cURL', '7.83.0'), + ('libarchive', '3.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..86db778efcb --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.24.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('cURL', '7.86.0'), + ('libarchive', '3.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d9b8ac7afaa --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.26.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bbd8d39217509d163cb544a40d6428ac666ddc83e22905d3e52c925781f0f659'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('cURL', '8.0.1'), + ('libarchive', '3.6.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-13.1.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..ce03c3694cd --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.26.3-GCCcore-13.1.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.26.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bbd8d39217509d163cb544a40d6428ac666ddc83e22905d3e52c925781f0f659'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('cURL', '8.0.1'), + ('libarchive', '3.6.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.27.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.27.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..04b7770a077 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.27.6-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.27.6' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ef3056df528569e0e8956f6cf38806879347ac6de6a4ff7e4105dc4578732cfb'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('cURL', '8.3.0'), + ('libarchive', '3.7.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d8c9cce51ca --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.29.3-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.29.3' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['252aee1448d49caa04954fd5e27d189dd51570557313e7b281636716a238bccb'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('cURL', '8.7.1'), + ('libarchive', '3.7.4'), + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CNVkit/CNVkit-0.9.10-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/c/CNVkit/CNVkit-0.9.10-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..66c165e9b21 --- /dev/null +++ b/easybuild/easyconfigs/c/CNVkit/CNVkit-0.9.10-foss-2022b-R-4.2.2.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'CNVkit' +version = '0.9.10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/etal/cnvkit' +description = """A command-line toolkit and Python library for detecting copy + number variants and alterations genome-wide from high-throughput sequencing.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('scikit-learn', '1.2.1'), + ('Biopython', '1.81'), + ('matplotlib', '3.7.0'), + ('networkx', '3.0'), + ('Pillow', '9.4.0'), + ('Pysam', '0.21.0'), + ('PyYAML', '6.0'), + ('pyfaidx', '0.7.2.1'), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +exts_list = [ + ('reportlab', '3.6.8', { + 'checksums': ['dc7657fcb0bc3e485c3c869a44dddb52d711356a01a456664b7bef827222c982'], + }), + ('pomegranate', '0.14.8', { + 'checksums': ['2296651290482dd53204ffaaaea267ceee057ce1b3ef1f9d9793febe66d6693d'], + }), + (name, version, { + 'modulename': 'cnvlib', + # workflow test disabled for now during build - directory available for later running + # 'postinstallcmds': ['cd test/ && make'], + 'postinstallcmds': ['cp -a test %(installdir)s'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/etal/cnvkit/archive/'], + 'checksums': ['56739496f1f59511661107e662d81e5fd8af413571e853b0a1b34d882a19349a'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cnvkit.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'cnvkit.py --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb new file mode 100644 index 00000000000..50daf951ccb --- /dev/null +++ b/easybuild/easyconfigs/c/COBRApy/COBRApy-0.26.0-foss-2021a.eb @@ -0,0 +1,102 @@ +## +# 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 = 'PythonBundle' + +name = 'COBRApy' +version = '0.26.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': '2021a'} + +builddependencies = [ + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('ruamel.yaml', '0.17.21'), + ('SciPy-bundle', '2021.05'), + ('sympy', '1.8'), + ('GLPK', '5.0'), + ('python-libsbml', '5.19.7'), +] + +use_pip = True + +exts_list = [ + ('typing-extensions', '4.4.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('swiglpk', '5.0.8', { + 'checksums': ['9b933d7ba17c619f5d838b6b3216647bcf8a2e22cd67ea89b0f2e2f50f7be0ae'], + }), + ('optlang', '1.6.0', { + 'checksums': ['b503b05e4f434c5c69e4aac90b2dfd3cba9fa8ae24899a9a820017ce1d3d370c'], + }), + ('importlib_resources', '5.10.0', { + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('httpx', '0.23.0', { + 'checksums': ['f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef'], + }), + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + # More recent versions of pipdeptree do not provide the same methods + ('pipdeptree', '1.0.0', { + 'checksums': ['5fe866a38113d28d527033ececc57b8e86df86b7c29edbacb33f41ee50f75b31'], + }), + ('versioneer', '0.28', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['11ffc09427ac99db4ce61bdc85785dae819618d0de28153adfce3085956125a8'], + }), + ('depinfo', '1.7.0', { + 'checksums': ['770c82e02f7f1f58c8ff87f8ad132ef3b5f5acbce586b838fadd0eb25b131340'], + }), + ('cobra', version, { + 'checksums': ['4c19ed3a1af8376479cc276b83fb3ceb3a373c75353f4d9d41995c6fe81e03ad'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' 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/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb new file mode 100644 index 00000000000..4bc881dc9c1 --- /dev/null +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3-20240310-foss-2022a.eb @@ -0,0 +1,77 @@ +easyblock = 'Tarball' + +name = 'COMEBin' +local_commit = '987db95' +version = '1.0.3-20240310' + +homepage = 'https://github.com/ziyewang/COMEBin' +description = "Effective binning of metagenomic contigs using COntrastive Multi-viEw representation learning" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/ziyewang/COMEBin/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['COMEBin-1.0.3_fix-run-script.patch'] +checksums = [ + {'COMEBin-1.0.3-20240310.tar.gz': 'aa9c9e98d0cd121b2be60cae85d735527f510ad07df1a84ed6405cbc66eea684'}, + {'COMEBin-1.0.3_fix-run-script.patch': 'e9ac578667d4f7233cf716cc98b134b8bd7cb7bcc70a06322500319d84b67773'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyTorch', '1.12.0'), + ('tensorboard', '2.10.0'), + ('Biopython', '1.79'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('leidenalg', '0.9.1'), + ('BEDTools', '2.30.0'), + ('BWA', '0.7.17'), + ('CheckM', '1.2.2'), + ('FragGeneScan', '1.31'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('SAMtools', '1.16.1'), + ('python-igraph', '0.10.3'), + ('PyYAML', '6.0'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('hnswlib', '0.8.0', { + 'checksums': ['cb6d037eedebb34a7134e7dc78966441dfd04c9cf5ee93911be911ced951c44c'], + }), + ('biolib', '0.1.9', { + 'checksums': ['bc9ae68c6d76d46e4295fe0b1df5a48b575fe96374bd96d624c3330feb94856f'], + }), +] + +postinstallcmds = ["chmod a+x %(installdir)s/bin/run_comebin.sh"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/run_comebin.sh', 'COMEBin/main.py'], + 'dirs': ['COMEBin/models', 'COMEBin/scripts'], +} + +sanity_check_commands = [ + "run_comebin.sh | grep '^Usage: bash run_comebin.sh'" + "python %(installdir)s/COMEBin/main.py --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch new file mode 100644 index 00000000000..1752260e69b --- /dev/null +++ b/easybuild/easyconfigs/c/COMEBin/COMEBin-1.0.3_fix-run-script.patch @@ -0,0 +1,12 @@ +fix determining path to top-level directory, +since run_comebin.sh is located in bin/run_comebin.sh +--- bin/run_comebin.sh.orig 2024-06-04 16:27:24.373968000 +0200 ++++ bin/run_comebin.sh 2024-06-04 16:27:38.413830000 +0200 +@@ -25,6 +25,7 @@ + echo "";} + + run_file_path=$(dirname $(which run_comebin.sh)) ++run_file_path=$(dirname $(dirname $(which run_comebin.sh))) + + if [[ $? -ne 0 ]]; then + echo "cannot find run_comebin.sh file - something went wrong with the installation!" diff --git a/easybuild/easyconfigs/c/COMSOL/COMSOL-6.2.0.290.eb b/easybuild/easyconfigs/c/COMSOL/COMSOL-6.2.0.290.eb new file mode 100644 index 00000000000..a2df0306e4a --- /dev/null +++ b/easybuild/easyconfigs/c/COMSOL/COMSOL-6.2.0.290.eb @@ -0,0 +1,24 @@ +name = 'COMSOL' +version = '6.2.0.290' + +homepage = 'https://www.comsol.se/' +description = """ +COMSOL Multiphysics is a general-purpose software platform, based on +advanced numerical methods, for modeling and simulating physics-based +problems. +""" + +toolchain = SYSTEM + +# Note: sources from COMSOL are often named poorly. You can view the exact version in the "ver" file inside the iso: +# 7z x COMSOL-*.iso ver; cat ver +sources = ['COMSOL-%(version)s.iso'] +checksums = ['a90744cb29379a871ca53a0f525a0c378155f5facb3cb5e4dd540ccfc7f4eeec'] + +download_instructions = 'Obtain from comsol.se' + +osdependencies = [('p7zip-plugins', 'p7zip-full'), 'csh'] # for extracting iso-files + +# license_file = 'license.dat' # or EB_COMSOL_LICENSE_FILE or LMCOMSOL_LICENSE_FILE or LM_LICENSE_FILE + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CONCOCT/CONCOCT-1.1.0-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CONCOCT/CONCOCT-1.1.0-foss-2020b-Python-2.7.18.eb index 9c7b23d10c7..e8a5cb71f32 100644 --- a/easybuild/easyconfigs/c/CONCOCT/CONCOCT-1.1.0-foss-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/c/CONCOCT/CONCOCT-1.1.0-foss-2020b-Python-2.7.18.eb @@ -25,7 +25,7 @@ dependencies = [ ('GSL', '2.6'), ('MEGAHIT', '1.2.9', versionsuffix), ('parallel', '20210322'), - ('picard', '2.25.0', '-Java-11', True), + ('picard', '2.25.0', '-Java-11', SYSTEM), ('Pysam', '0.16.0.1', versionsuffix), ('SAMtools', '1.11'), ('scikit-learn', '0.20.4', versionsuffix), diff --git a/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb b/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb new file mode 100644 index 00000000000..042869896b3 --- /dev/null +++ b/easybuild/easyconfigs/c/CONN/CONN-21a-MATLAB-2021a.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'CONN' +version = '21a' +_matlab_ver = '2021a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://web.conn-toolbox.org/home' +description = """CONN is an open-source Matlab/SPM-based cross-platform software + for the computation, display, and analysis of functional connectivity Magnetic + Resonance Imaging (fcMRI). CONN is used to analyze resting state data (rsfMRI) + as well as task-related designs. +""" + +toolchain = SYSTEM + +source_urls = ['https://www.nitrc.org/frs/download.php/12426/'] +sources = ['%(namelower)s%(version)s.zip'] +checksums = ['de5b9537f8dfb7187756f39ed9e5c953bad64b6e5e4b3e3a4d34aa6ccb6329dd'] + +dependencies = [ + ('MATLAB', _matlab_ver), + ('SPM', '12.5_r7771', versionsuffix), +] + +sanity_check_paths = { + 'files': ['conn.m'], + 'dirs': ['modules', 'rois', 'standalone', 'utils'], +} + +sanity_check_commands = ['matlab -batch "conn version"'] + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550-foss-2023a.eb b/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550-foss-2023a.eb new file mode 100644 index 00000000000..c6f619d9d75 --- /dev/null +++ b/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = "ConfigureMake" + +name = 'CORSIKA' +version = '77550' + +homepage = "https://www.iap.kit.edu/corsika" +description = """CORSIKA (COsmic Ray SImulations for KAscade) is a program for detailed +simulation of extensive air showers initiated by high energy cosmic ray +particles. Protons, light nuclei up to iron, photons, and many other particles +may be treated as primaries.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +download_instructions = "Sources have to be requested to the developers" +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_include.patch'] +checksums = [ + {'corsika-77550.tar.gz': 'fed74c144e22deb5a7c1d2dc1f04f0100eb2732cb48665a3da49ce471a3775ee'}, + {'CORSIKA-77550_fix_include.patch': 'e858fc4c1fa33d31d050b2fca50e130c23b2d3e4b81b851af34dc3f39e9c709e'}, +] + +dependencies = [ + ("ROOT", "6.30.06"), +] + +# custom coconut script does not recognize -j +parallel = False + +# execute ./coconut manually with your own options and extract configure command from top of config.log +_mpi_opts = "--enable-PARALLEL --with-mpirunner-lib=src/parallel --enable-PARALLELIB " +configopts = "CORDETECTOR=HORIZONTAL CORTIMELIB=TIMEAUTO CORHEMODEL=QGSJETII CORLEMODEL=URQMD " +configopts += "--enable-UPWARD --enable-SLANT --enable-THIN --enable-COREAS " +configopts += _mpi_opts + +build_cmd = "./coconut" +buildopts = "--batch " + _mpi_opts + +install_cmd = ' && '.join([ + 'mkdir -p %(installdir)s/bin', + 'cp %(builddir)s/%(namelower)s-%(version)s/run/* %(installdir)s/bin/', +]) + +sanity_check_paths = { + 'files': ['bin/mpi_corsika77550Linux_QGSII_urqmd_thin_coreas_parallel_runner'], + 'dirs': [], +} + +moduleclass = "phys" diff --git a/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550_fix_include.patch b/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550_fix_include.patch new file mode 100644 index 00000000000..e7bc3863fae --- /dev/null +++ b/easybuild/easyconfigs/c/CORSIKA/CORSIKA-77550_fix_include.patch @@ -0,0 +1,22 @@ +Move include out of function to avoid error: +/usr/include/sys/stat.h:453:1: error: nested function ‘stat’ declared ‘extern’ +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -Nur corsika-77550.orig/src/parallel/mpi_runner.c corsika-77550/src/parallel/mpi_runner.c +--- corsika-77550.orig/src/parallel/mpi_runner.c 2024-04-18 18:30:39.000000000 +0200 ++++ corsika-77550/src/parallel/mpi_runner.c 2024-08-09 16:15:39.969688000 +0200 +@@ -99,6 +99,7 @@ + #include + #include + #include "config.h" ++#include + + /////////////////////initializing parameters/////////////////// + //the number of data type block in the MPI message +@@ -1023,7 +1024,6 @@ + strcpy(str2, strtmp); + } + strcpy(statdir,str2); +- #include + struct stat sb; + if (stat(statdir, &sb) == 0 && S_ISDIR(sb.st_mode)) + { diff --git a/easybuild/easyconfigs/c/COSTA/COSTA-2.2.2-foss-2023a.eb b/easybuild/easyconfigs/c/COSTA/COSTA-2.2.2-foss-2023a.eb new file mode 100644 index 00000000000..0f347ce481e --- /dev/null +++ b/easybuild/easyconfigs/c/COSTA/COSTA-2.2.2-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'COSTA' +version = '2.2.2' + +homepage = 'https://github.com/eth-cscs/COSTA' +description = """OSTA is a communication-optimal, highly-optimised algorithm for data redistribution +accross multiple processors, using MPI and OpenMP and offering the possibility +to transpose and scale some or all data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/COSTA/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e87bc37aad14ac0c5922237be5d5390145c9ac6aef0350ed17d86cb2d994e67c'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libcosta.a'], + 'dirs': ['include/costa'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2022.1-foss-2022a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2022.1-foss-2022a.eb new file mode 100644 index 00000000000..b4edfa41eea --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2022.1-foss-2022a.eb @@ -0,0 +1,41 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '2022.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2c34f1a7972973c62d471cd35856f444f11ab22f2ff930f6ead20f3454fd228b'] + +# https://github.com/cp2k/cp2k/releases/download/v2022.1/cp2k-2022.1.tar.bz2 +dependencies = [ + ('Libint', '2.7.2', '-lmax-6-cp2k'), + ('libxc', '5.2.3'), + ('libxsmm', '1.17'), + ('libvori', '220621'), + ('FFTW', '3.3.10'), + ('PLUMED', '2.8.1'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2022b.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2022b.eb new file mode 100644 index 00000000000..267e5d1b631 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2022b.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '2023.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['dff343b4a80c3a79363b805429bdb3320d3e1db48e0ff7d20a3dfd1c946a51ce'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('Libint', '2.7.2', '-lmax-6-cp2k'), + ('libxc', '6.1.0'), + ('libxsmm', '1.17'), + ('libvori', '220621'), + ('FFTW', '3.3.10'), + ('PLUMED', '2.9.0'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb new file mode 100644 index 00000000000..d9ace4b896b --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-2023.1-foss-2023a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '2023.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['dff343b4a80c3a79363b805429bdb3320d3e1db48e0ff7d20a3dfd1c946a51ce'] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('Libint', '2.7.2', '-lmax-6-cp2k'), + ('libxc', '6.2.2'), + ('libvori', '220621'), + ('FFTW', '3.3.10'), + ('PLUMED', '2.9.0'), +] +if ARCH == 'x86_64': + # LIBXSMM is not supported supported on ARM with GCC 12.2.0 and 12.3.0 + # see https://www.cp2k.org/dev:compiler_support + dependencies += [ + ('libxsmm', '1.17'), + ] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020a.eb new file mode 100644 index 00000000000..b169375381f --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020a.eb @@ -0,0 +1,49 @@ +name = 'CP2K' +version = '5.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] +checksums = [ + 'e23613b593354fa82e0b8410e17d94c607a0b8c6d9b5d843528403ab09904412', # cp2k-5.1.tar.bz2 + '02475cbe24c8d4ba27037c826adf8a534cad634c3c4e02c21d743f5284516bda', # CP2K-2.4.0-fix_compile_date_lastsvn.patch +] + +dependencies = [ + ('Libint', '1.1.6'), + ('libxc', '3.0.1'), + ('libxsmm', '1.16.1'), + ('FFTW', '3.3.8'), + ('PLUMED', '2.6.0', '-Python-3.8.2'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.5.3'), +] + +# values to use here are +1 those used for building Libint +# see https://github.com/cp2k/cp2k/blob/master/cp2k/tools/hfx_tools/libint_tools/README_LIBINT +extradflags = "-D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5" + +# regression test reports failures +ignore_regtest_fails = True + +# You might want to set OMP_NUM_THREADS, otherwise OpenBLAS will start (by default) +# the number of accessible CPUcores OpenMP threads. Since it is a MPI only version (popt), +# the performance will be copletely bad, as on N CPU cores N^2 threads will run. +# intel toolchain versions do not have this problem. YOU HAVE BEEN WARNED! +# modextravars = {'OMP_NUM_THREADS': '1'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020b.eb b/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020b.eb new file mode 100644 index 00000000000..8bc41a594ee --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-5.1-foss-2020b.eb @@ -0,0 +1,49 @@ +name = 'CP2K' +version = '5.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'CP2K-2.4.0-fix_compile_date_lastsvn.patch', +] +checksums = [ + 'e23613b593354fa82e0b8410e17d94c607a0b8c6d9b5d843528403ab09904412', # cp2k-5.1.tar.bz2 + '02475cbe24c8d4ba27037c826adf8a534cad634c3c4e02c21d743f5284516bda', # CP2K-2.4.0-fix_compile_date_lastsvn.patch +] + +dependencies = [ + ('Libint', '1.1.6'), + ('libxc', '3.0.1'), + ('libxsmm', '1.16.1'), + ('FFTW', '3.3.8'), + ('PLUMED', '2.6.2'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.1'), +] + +# values to use here are +1 those used for building Libint +# see https://github.com/cp2k/cp2k/blob/master/cp2k/tools/hfx_tools/libint_tools/README_LIBINT +extradflags = "-D__LIBINT_MAX_AM=6 -D__LIBDERIV_MAX_AM1=5" + +# regression test reports failures +ignore_regtest_fails = True + +# You might want to set OMP_NUM_THREADS, otherwise OpenBLAS will start (by default) +# the number of accessible CPUcores OpenMP threads. Since it is a MPI only version (popt), +# the performance will be copletely bad, as on N CPU cores N^2 threads will run. +# intel toolchain versions do not have this problem. YOU HAVE BEEN WARNED! +# modextravars = {'OMP_NUM_THREADS': '1'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-7.1-foss-2020a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-7.1-foss-2020a.eb new file mode 100644 index 00000000000..dc411a994fa --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-7.1-foss-2020a.eb @@ -0,0 +1,39 @@ +name = 'CP2K' +version = '7.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ccd711a09a426145440e666310dd01cc5772ab103493c4ae6a3470898cd0addb'] + +dependencies = [ + ('Libint', '2.6.0', '-lmax-6-cp2k'), + ('libxc', '4.3.4'), + ('libxsmm', '1.16.1'), + ('PLUMED', '2.6.0', '-Python-3.8.2'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.5.3'), +] + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +# You might want to set OMP_NUM_THREADS, otherwise OpenBLAS will start (by default) +# the number of accessible CPUcores OpenMP threads. Since it is a MPI only version (popt), +# the performance will be copletely bad, as on N CPU cores N^2 threads will run. +# intel toolchain versions do not have this problem. YOU HAVE BEEN WARNED! +# modextravars = {'OMP_NUM_THREADS': '1'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-8.2-foss-2021a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-8.2-foss-2021a.eb new file mode 100644 index 00000000000..4e085b00cc9 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-8.2-foss-2021a.eb @@ -0,0 +1,39 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '8.2' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2e24768720efed1a5a4a58e83e2aca502cd8b95544c21695eb0de71ed652f20a'] + +dependencies = [ + ('Libint', '2.6.0', '-lmax-6-cp2k'), + ('libxc', '5.1.5'), + ('libxsmm', '1.16.2'), + ('FFTW', '3.3.9'), + ('PLUMED', '2.7.2'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-8.2-intel-2021a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-8.2-intel-2021a.eb new file mode 100644 index 00000000000..7db37eaa393 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-8.2-intel-2021a.eb @@ -0,0 +1,39 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '8.2' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2e24768720efed1a5a4a58e83e2aca502cd8b95544c21695eb0de71ed652f20a'] + +dependencies = [ + ('Libint', '2.6.0', '-lmax-6-cp2k'), + ('libxc', '5.1.5'), + ('libxsmm', '1.16.2'), + ('FFTW', '3.3.9'), + ('PLUMED', '2.7.2'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CP2K/CP2K-9.1-foss-2022a.eb b/easybuild/easyconfigs/c/CP2K/CP2K-9.1-foss-2022a.eb new file mode 100644 index 00000000000..3b1db6bf105 --- /dev/null +++ b/easybuild/easyconfigs/c/CP2K/CP2K-9.1-foss-2022a.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +name = 'CP2K' +version = '9.1' + +homepage = 'https://www.cp2k.org/' +description = """CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular + simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different + methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and + classical pair and many-body potentials. """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/cp2k/cp2k/releases/download/v%(version)s.0/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['fedb4c684a98ad857cd49b69a3ae51a73f85a9c36e9cb63e3b02320c74454ce6'] + +dependencies = [ + ('Libint', '2.7.2', '-lmax-6-cp2k'), + ('libxc', '5.2.3'), + ('libxsmm', '1.17'), + ('libvori', '220621'), + ('FFTW', '3.3.10'), + ('PLUMED', '2.8.1'), +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), +] + +type = 'psmp' + +# regression test reports handful of failures, +# we're assuming those are OK to ignore... +ignore_regtest_fails = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CPC2/CPC2-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/c/CPC2/CPC2-1.0.1-foss-2022a.eb new file mode 100644 index 00000000000..008b9e1c179 --- /dev/null +++ b/easybuild/easyconfigs/c/CPC2/CPC2-1.0.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PackedBinary' + +name = 'CPC2' +version = '1.0.1' + +homepage = 'http://cpc2.gao-lab.org/' +description = """ a fast and accurate coding potential calculator based on sequence intrinsic features """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/gao-lab/CPC2_standalone/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['31f3d1e2466aea25f03ffcb5abd4556cd17862ef65ed3a1e42f3d99665529d08'] + +local_svm_orig = "lib_dir + \"libsvm/libsvm-3.18/" + +postinstallcmds = [ + "sed -i 's|" + local_svm_orig + "svm-scale\"|\"$EBROOTLIBSVM/bin/svm-scale\"|g' %(installdir)s/bin/CPC2.py", + "sed -i 's|" + local_svm_orig + "svm-predict\"|\"$EBROOTLIBSVM/bin/svm-predict\"|g' %(installdir)s/bin/CPC2.py", +] + +dependencies = [ + ('Python', '3.10.4'), + ('LIBSVM', '3.30'), + ('Biopython', '1.79'), +] + +install_cmd = 'cp -a CPC2*/{bin,data} %(installdir)s/' + +sanity_check_paths = { + 'files': ['bin/CPC2.py'], + 'dirs': [], +} + +sanity_check_commands = ['CPC2.py -i %(installdir)s/data/example.fa -o example.out'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CPLEX/CPLEX-12.10-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/c/CPLEX/CPLEX-12.10-GCCcore-8.3.0-Python-3.7.4.eb index 854f8a57c6c..2bb7d98cdcf 100644 --- a/easybuild/easyconfigs/c/CPLEX/CPLEX-12.10-GCCcore-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CPLEX/CPLEX-12.10-GCCcore-8.3.0-Python-3.7.4.eb @@ -19,7 +19,7 @@ checksums = ['cd530eb9c6d446bd18b5dc5a3d61070bfad92c3efd6565d2d8e31a2acfb496f7'] builddependencies = [('binutils', '2.32')] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Python', '3.7.4'), ] diff --git a/easybuild/easyconfigs/c/CPLEX/CPLEX-12.9-GCCcore-8.2.0.eb b/easybuild/easyconfigs/c/CPLEX/CPLEX-12.9-GCCcore-8.2.0.eb index a35951482e9..4ccf2abec92 100644 --- a/easybuild/easyconfigs/c/CPLEX/CPLEX-12.9-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/c/CPLEX/CPLEX-12.9-GCCcore-8.2.0.eb @@ -20,7 +20,7 @@ multi_deps = {'Python': ['3.7.2', '2.7.15']} builddependencies = [('binutils', '2.31.1')] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ] moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d788295e132 --- /dev/null +++ b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'CPLEX' +version = '22.1.1' + +homepage = 'https://www.ibm.com/analytics/cplex-optimizer' +description = """IBM ILOG CPLEX Optimizer's mathematical programming technology enables + analytical decision support for improving efficiency, + reducing costs, and increasing profitability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = ['cplex_studio%s.linux_x86_64.bin' % ''.join(version.split('.'))] +checksums = ['ab6d3f0953fdb3cbd43854452357955ef96db8b751c0866de3572fc47a0df542'] + +download_instructions = """ +1. Visit https://www.ibm.com/products/ilog-cplex-optimization-studio +2. Sign up and download the Academic Edition +""" + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1.eb b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1.eb new file mode 100644 index 00000000000..d8ce07a928a --- /dev/null +++ b/easybuild/easyconfigs/c/CPLEX/CPLEX-22.1.1.eb @@ -0,0 +1,23 @@ +name = 'CPLEX' +version = '22.1.1' + +homepage = 'https://www.ibm.com/analytics/cplex-optimizer' +description = """IBM ILOG CPLEX Optimizer's mathematical programming technology enables + analytical decision support for improving efficiency, + reducing costs, and increasing profitability.""" + +toolchain = SYSTEM + +sources = ['cplex_studio%s.linux_x86_64.bin' % ''.join(version.split('.'))] +checksums = ['ab6d3f0953fdb3cbd43854452357955ef96db8b751c0866de3572fc47a0df542'] + +download_instructions = """ +1. Visit https://www.ibm.com/products/ilog-cplex-optimization-studio +2. Sign up and download the Academic Edition +""" + +dependencies = [ + ('Java', '11', '', SYSTEM), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CPMD/CPMD-4.3-foss-2022a.eb b/easybuild/easyconfigs/c/CPMD/CPMD-4.3-foss-2022a.eb new file mode 100644 index 00000000000..4f2af99540d --- /dev/null +++ b/easybuild/easyconfigs/c/CPMD/CPMD-4.3-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'CPMD' +version = '4.3' + +homepage = 'https://github.com/CPMD-code' +description = """The CPMD code is a parallelized plane wave / pseudopotential implementation of DFT, + particularly designed for ab-initio molecular dynamics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/CPMD-code/CPMD/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +patches = ['CPMD-4.3_gfortran.patch'] +checksums = [ + {'4.3.tar.gz': 'e0290f9da0d255f90a612e60662b14a97ca53003f89073c6af84fa7bc8739f65'}, + {'CPMD-4.3_gfortran.patch': 'e8760641cb1addeab27803f0d607852297c83c0b681ca900b234b7dafccf7f1a'}, +] + +prebuildopts = "chmod +x ./configure.sh && ./configure.sh -omp LINUX-X86_64-GFORTRAN-MPI && " + +files_to_copy = [(['bin/cpmd.x'], 'bin'), (['lib/libcpmd.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/cpmd.x', 'lib/libcpmd.a'], + 'dirs': [], +} + +sanity_check_commands = ["cpmd.x 2>&1 | grep 'STOP 1'"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CPMD/CPMD-4.3_gfortran.patch b/easybuild/easyconfigs/c/CPMD/CPMD-4.3_gfortran.patch new file mode 100644 index 00000000000..23c07c9d09b --- /dev/null +++ b/easybuild/easyconfigs/c/CPMD/CPMD-4.3_gfortran.patch @@ -0,0 +1,33 @@ +adapt to recent gfortran and easybuild variables +author: Miguel Dias Costa (National University of Singapore) +--- configure/LINUX-X86_64-GFORTRAN-MPI.orig 2023-12-11 13:44:09.206123000 +0800 ++++ configure/LINUX-X86_64-GFORTRAN-MPI 2023-12-11 13:45:08.202378000 +0800 +@@ -13,21 +13,21 @@ + CPPFLAGS='-D__Linux -D__GNU -D__PARALLEL -D__HAS_FFT_DEFAULT ' + FFLAGS_GROMOS='-ffixed-form $(FFLAGS)' + FFLAGS_GROMOS_MODULES=' $(FFLAGS)' +- AR='/usr/bin/ar ruv' +- RANLIB='/usr/bin/ranlib' ++ AR='ar ruv' ++ RANLIB='ranlib' + if [ $debug ]; then +- FFLAGS='-g -O0 -fcheck=all -Wuninitialized -Wall' ++ FFLAGS='-g -O0 -fcheck=all -Wuninitialized -Wall -fallow-argument-mismatch -ffree-line-length-none' + CFLAGS='-g -O0 -Wall' + else +- FFLAGS='-O2 -Wall' ++ FFLAGS='-O2 -Wall -fallow-argument-mismatch -ffree-line-length-none' + CFLAGS='-O2 -Wall' + fi + if [ $omp ]; then + FFLAGS=${FFLAGS}' -fopenmp' +- OMP3_DISABLED=`{ ${FC} -v; } 2>&1 | ${GREP} version | ${AWK} '{ print ( $3 < "4.7.0" ) ? "true" : "false" }'` +- LIBS='/home/manish/lapack-3.5.0/liblapack.a /home/manish/OPENBLAS/0.2.18/lib/libopenblas.a' ++ OMP3_DISABLED="false" ++ LIBS=${LIBLAPACK_MT} + else +- LIBS='/home/manish/lapack-3.5.0/liblapack.a /home/manish/OPENBLAS/0.2.18/lib/libopenblas.a' ++ LIBS=${LIBLAPACK_MT} + fi + LFLAGS=' '${LIBS} + if [ $coverage ]; then diff --git a/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..b2a546120a1 --- /dev/null +++ b/easybuild/easyconfigs/c/CPPE/CPPE-0.3.1-GCC-11.3.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': '11.3.0'} + +github_account = 'maxscheurer' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['38d4230ba3ace78936049c23ad4b1fe9e704fd250ec57cc9733cb3904b62cf7c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +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/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.11-intel-2021a.eb b/easybuild/easyconfigs/c/CREST/CREST-2.11-intel-2021a.eb new file mode 100644 index 00000000000..26beb63a046 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.11-intel-2021a.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '2.11' + +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': '2021a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-2.11_fix-install-targets.patch'] +checksums = [ + 'e6d9154b6e22a88709203945fa24f1ecccb5d5a5906111c225ad5749125252f4', # v2.11.tar.gz + 'ce397bf4ab607b6b711018cacb32033d7916f59fa419d6dc67f286f8a0ea045a', # CREST-2.11_fix-install-targets.patch +] + +builddependencies = [('CMake', '3.20.1')] + +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.11.2-intel-2021a.eb b/easybuild/easyconfigs/c/CREST/CREST-2.11.2-intel-2021a.eb new file mode 100644 index 00000000000..4746716d31d --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.11.2-intel-2021a.eb @@ -0,0 +1,32 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'CREST' +version = '2.11.2' + +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': '2021a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f17da872064eb64502ac24c19e431467940d98dcb1bd391f7267f412a0a79dab'] + +builddependencies = [('CMake', '3.20.1')] + +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.11_fix-install-targets.patch b/easybuild/easyconfigs/c/CREST/CREST-2.11_fix-install-targets.patch new file mode 100644 index 00000000000..69f3d7b648d --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.11_fix-install-targets.patch @@ -0,0 +1,143 @@ +From d55d6715893ad950cda29a2c7272b15e6ce76bc3 Mon Sep 17 00:00:00 2001 +From: Sebastian Ehlert <28669218+awvwgk@users.noreply.github.com> +Date: Mon, 1 Feb 2021 18:55:07 +0100 +Subject: [PATCH] Add testing with Intel oneAPI (#29) + +- builds crest with Intel oneAPI classic compilers using meson +- installs xtb from selected release in testing environment +- runs example 0 to check for basic functionality +--- + .github/workflows/build.yml | 86 +++++++++++++++++++++++++++++++++++++ + CMakeLists.txt | 10 ++--- + meson.build | 10 ++--- + 3 files changed, 96 insertions(+), 10 deletions(-) + create mode 100644 .github/workflows/build.yml + +diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml +new file mode 100644 +index 0000000..a6564dc +--- /dev/null ++++ b/.github/workflows/build.yml +@@ -0,0 +1,86 @@ ++name: CI ++on: [push, pull_request] ++ ++env: ++ BUILD_DIR: _build ++ XTB_VERSION: 6.4.0 ++ ++jobs: ++ intel-meson-build: ++ runs-on: ${{ matrix.os }} ++ strategy: ++ fail-fast: false ++ matrix: ++ os: [ubuntu-20.04] ++ fc: [ifort] ++ cc: [icc] ++ env: ++ FC: ${{ matrix.fc }} ++ CC: ${{ matrix.cc }} ++ APT_PACKAGES: >- ++ intel-oneapi-compiler-fortran ++ intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic ++ intel-oneapi-mkl ++ intel-oneapi-mkl-devel ++ ++ steps: ++ - name: Checkout code ++ uses: actions/checkout@v2 ++ ++ - name: Setup Python ++ uses: actions/setup-python@v1 ++ with: ++ python-version: 3.x ++ ++ - name: Add Intel repository ++ if: contains(matrix.os, 'ubuntu') ++ run: | ++ wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB ++ sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB ++ rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB ++ echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list ++ sudo apt-get update ++ ++ - name: Install Intel oneAPI compiler ++ if: contains(matrix.os, 'ubuntu') ++ run: | ++ sudo apt-get install ${{ env.APT_PACKAGES }} ++ source /opt/intel/oneapi/setvars.sh ++ printenv >> $GITHUB_ENV ++ ++ - name: Install meson ++ run: pip3 install meson==0.55.3 ninja ++ ++ - name: Configure meson build ++ run: meson setup ${{ env.BUILD_DIR }} --prefix=/ -Dfortran_args=-qopenmp ++ ++ - name: Build project ++ run: ninja -C ${{ env.BUILD_DIR }} ++ ++ - name: Install package ++ run: | ++ meson install -C ${{ env.BUILD_DIR }} --no-rebuild ++ env: ++ DESTDIR: ${{ env.PWD }}/_dist ++ ++ - name: Add crest to path ++ run: | ++ echo ${{ env.PWD }}/_dist/bin >> $GITHUB_PATH ++ ++ - name: Download xtb ++ uses: i3h/download-release-asset@v1 ++ with: ++ owner: grimme-lab ++ repo: xtb ++ tag: v${{ env.XTB_VERSION }} ++ file: '/xtb-\d+\.tar\.xz/' ++ ++ - name: Add xtb to path ++ run: | ++ tar xvf xtb-*.tar.xz ++ echo ${{ env.PWD }}/xtb-${{ env.XTB_VERSION }}/bin >> $GITHUB_PATH ++ ++ - name: Run example 0 ++ run: | ++ bash run.sh ++ working-directory: examples/expl-0 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0a4b9b1..82f57fd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -74,8 +74,8 @@ install( + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) + +-install( +- PROGRAMS +- "${CMAKE_CURRENT_SOURCE_DIR}/combi-scripts/crest_combi" +- DESTINATION "${CMAKE_INSTALL_BINDIR}" +-) ++# install( ++# PROGRAMS ++# "${CMAKE_CURRENT_SOURCE_DIR}/combi-scripts/crest_combi" ++# DESTINATION "${CMAKE_INSTALL_BINDIR}" ++# ) +diff --git a/meson.build b/meson.build +index 4c83b7d..c9dbc12 100644 +--- a/meson.build ++++ b/meson.build +@@ -41,8 +41,8 @@ crest_exe = executable( + link_language: 'fortran', + ) + +-install_data( +- files('combi-scripts/crest_combi'), +- install_dir: get_option('bindir'), +- install_mode: 'rwxr--r--', +-) ++# install_data( ++# files('combi-scripts/crest_combi'), ++# install_dir: get_option('bindir'), ++# install_mode: 'rwxr--r--', ++# ) 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-gfbf-2023b.eb b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023b.eb new file mode 100644 index 00000000000..87ae95876bf --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.12-gfbf-2023b.eb @@ -0,0 +1,44 @@ +# 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': '2023b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['CREST-2.12-longline.patch'] +checksums = [ + {'v2.12.tar.gz': '390f0ac0aedafbd6bb75974fcffefe7e0232ad6c4ea0ab4f1a77e656a3ce263d'}, + {'CREST-2.12-longline.patch': '596ca2bcce3bbdfe99a3849934f41b388fb763a4898240091593b9b6a454fea9'}, +] + +builddependencies = [('CMake', '3.27.6')] + +dependencies = [('xtb', '6.7.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/CREST/CREST-2.12-longline.patch b/easybuild/easyconfigs/c/CREST/CREST-2.12-longline.patch new file mode 100644 index 00000000000..c3b84785f5f --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-2.12-longline.patch @@ -0,0 +1,16 @@ +Dealing with a long line, which gfortran does not like +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/crest-2.12.orig/src/qcg/solvtool.f90 b/crest-2.12/src/qcg/solvtool.f90 +index cec514c..f38b576 100644 +--- a/crest-2.12.orig/src/qcg/solvtool.f90 ++++ b/crest-2.12/src/qcg/solvtool.f90 +@@ -3158,7 +3158,8 @@ subroutine check_prog_path_iff(env) + str=trim(str) + open(unit=27, file=str, iostat=ios) + read(27,'(a)',iostat=ios) path +- if(ios .ne. 0) error stop 'No xtb-IFF found. This is currently required for QCG and available at https:/github.com/grimme-lab/xtbiff/releases/tag/v1.1' ++ if(ios .ne. 0) error stop 'No xtb-IFF found. This is currently required for QCG and available at & ++ https:/github.com/grimme-lab/xtbiff/releases/tag/v1.1' + + end subroutine check_prog_path_iff + diff --git a/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb b/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb new file mode 100644 index 00000000000..5f1a29e51d3 --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-3.0.1-gfbf-2022b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'CREST' +version = '3.0.1' + +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': '2022b'} +toolchainopts = {'opt': True} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/crest-lab', + 'repo_name': 'crest', + 'tag': 'v%s' % version, + 'recursive': True, + }, +}] +checksums = [None] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('dftd4', '3.4.0'), + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), + ('multicharge', '0.2.0'), + ('xtb', '6.6.1'), +] + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CREST/CREST-3.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/CREST/CREST-3.0.2-foss-2023a.eb new file mode 100644 index 00000000000..38fc051e0fb --- /dev/null +++ b/easybuild/easyconfigs/c/CREST/CREST-3.0.2-foss-2023a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'CREST' +version = '3.0.2' + +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': 'foss', 'version': '2023a'} +toolchainopts = {'opt': True} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/crest-lab', + 'repo_name': 'crest', + 'tag': 'v%s' % version, + 'recursive': True, + }, +}] +checksums = [None] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('dftd4', '3.7.0'), + ('mctc-lib', '0.3.1'), + ('mstore', '0.3.0'), + ('multicharge', '0.3.0'), + ('xtb', '6.6.1'), +] + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["crest -h", "crest --cite"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4-foss-2020b.eb b/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4-foss-2020b.eb new file mode 100644 index 00000000000..52537f135f4 --- /dev/null +++ b/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4-foss-2020b.eb @@ -0,0 +1,34 @@ +name = 'CRISPR-DAV' +version = '2.3.4' + +homepage = 'https://github.com/pinetree1/crispr-dav/' +description = """CRISPR-DAV is a pipeline to analyze +amplicon-based NGS data of CRISPR clones in a high throughput manner.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/pinetree1/crispr-dav/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['CRISPR-DAV-%(version)s_remove_hardcoding.patch'] +checksums = [ + '49975cd48bdbf31fe5a9e2aaa3f5ed85d3cc6f65a422ee3aa8daed890159d2ae', # v2.3.4.tar.gz + # crispr-dav-2.3.4-foss2020b_remove_hardcoding.patch + '41475a09754d65cc2c88d4161be6eacdfc98242bccbe49778c4f1f74210a6cb2', +] + +dependencies = [ + ('R', '4.0.3'), # provides naturalsort R package + ('Perl', '5.32.0'), + ('NGS', '2.10.9'), + ('Pysam', '0.16.0.1'), + ('Excel-Writer-XLSX', '1.09'), + ('pysamstats', '1.1.2'), + ('ABRA2', '2.23'), + ('PRINSEQ', '0.20.4', '-Perl-%(perlver)s'), + ('SAMtools', '1.11'), + ('BEDTools', '2.30.0'), + ('FLASH', '2.2.00'), + ('Archive-Zip', '1.68'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4_remove_hardcoding.patch b/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4_remove_hardcoding.patch new file mode 100644 index 00000000000..c8d1e981e7d --- /dev/null +++ b/easybuild/easyconfigs/c/CRISPR-DAV/CRISPR-DAV-2.3.4_remove_hardcoding.patch @@ -0,0 +1,129 @@ +# author: Denis Kristak (INUITS) +# changing example command to contain absolute paths + tabs escaping + changing plotting type to cairo +diff -ruN crispr-dav-2.3.4_orig/Examples/example1/run.sh crispr-dav-2.3.4/Examples/example1/run.sh +--- crispr-dav-2.3.4_orig/Examples/example1/run.sh 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Examples/example1/run.sh 2021-06-22 12:57:41.700453098 +0200 +@@ -4,6 +4,7 @@ + + ## If there is problem loading Perl modules., set PERL5LIB accordingly. + #export PERL5LIB=$HOME/perlmod/lib/perl5:$PERL5LIB +-../../crispr.pl --conf conf.txt --region amplicon.bed --crispr site.bed \ +- --sitemap sample.site --fastqmap fastq.list --genome genomex ++ ++$EBROOTCRISPRMINDAV/crispr.pl --conf $EBROOTCRISPRMINDAV/Examples/example1/conf.txt --region $EBROOTCRISPRMINDAV/Examples/example1/amplicon.bed --crispr $EBROOTCRISPRMINDAV/Examples/example1/site.bed \ ++ --sitemap $EBROOTCRISPRMINDAV/Examples/example1/sample.site --fastqmap $EBROOTCRISPRMINDAV/Examples/example1/fastq.list --genome genomex --verbose 1 + +diff -ruN crispr-dav-2.3.4_orig/Modules/NGS.pm crispr-dav-2.3.4/Modules/NGS.pm +--- crispr-dav-2.3.4_orig/Modules/NGS.pm 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Modules/NGS.pm 2021-06-21 17:37:39.381993860 +0200 +@@ -296,7 +296,7 @@ + my $cmd = "$self->{bwa} mem"; + $cmd .= " $h{param}" if $h{param}; + if ( $h{id} && $h{sm} ) { +- $cmd .= " -R \'\@RG\tID:$h{id}\tSM:$h{sm}\tPL:$h{pl}\'"; ++ $cmd .= " -R \'\@RG\\tID:$h{id}\\tSM:$h{sm}\\tPL:$h{pl}\'"; + } + $cmd .= " $h{idxbase} $h{read1_inf}"; + $cmd .= " $h{read2_inf}" if -f $h{read2_inf}; +@@ -558,7 +558,7 @@ + # file is already indexed. + my $cmd = "rm -rf $workdir && mkdir -p $workdir" . + " && $self->{java} -Djava.io.tmpdir=$tmpdir -jar $h{abra} --threads 2" . +- " --ref $h{ref_fasta} --targets $h{target_bed} --working $workdir" . ++ " --ref $h{ref_fasta} --targets $h{target_bed} --tmpdir $workdir" . + " --in $h{bam_inf} --out $h{bam_outf}"; + + if ($h{single}) { +diff -ruN crispr-dav-2.3.4_orig/Rscripts/allele.R crispr-dav-2.3.4/Rscripts/allele.R +--- crispr-dav-2.3.4_orig/Rscripts/allele.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/allele.R 2021-06-22 13:13:45.868418215 +0200 +@@ -114,7 +114,7 @@ + } else { + h<-400 + w<- ifelse(n>40, 13*n, h*1.25) +- png(filename=outfile, height=h, width=w) ++ png(filename=outfile, type='cairo', height=h, width=w) + } + + on.exit(dev.off()) +diff -ruN crispr-dav-2.3.4_orig/Rscripts/amplicon.R crispr-dav-2.3.4/Rscripts/amplicon.R +--- crispr-dav-2.3.4_orig/Rscripts/amplicon.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/amplicon.R 2021-06-22 13:13:45.868418215 +0200 +@@ -111,7 +111,7 @@ + if ( high_res ) { + tiff(filename=outfile, width=5, height=4, units='in', res=1200) + } else { +- png(filename=outfile, width=500, height=400) ++ png(filename=outfile, type='cairo', width=500, height=400) + } + on.exit(dev.off()) + print(p) +diff -ruN crispr-dav-2.3.4_orig/Rscripts/hdr.R crispr-dav-2.3.4/Rscripts/hdr.R +--- crispr-dav-2.3.4_orig/Rscripts/hdr.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/hdr.R 2021-06-22 13:13:45.868418215 +0200 +@@ -102,7 +102,7 @@ + h<-400 + barspace=60 + w<- ifelse( n*barspace10, 50*n, h) +- png(filename=imgfile, height=h, width=w) ++ png(filename=imgfile, type='cairo', height=h, width=w) + } + + on.exit(dev.off()) +diff -ruN crispr-dav-2.3.4_orig/Rscripts/read_chr.R crispr-dav-2.3.4/Rscripts/read_chr.R +--- crispr-dav-2.3.4_orig/Rscripts/read_chr.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/read_chr.R 2021-06-22 13:13:45.868418215 +0200 +@@ -72,7 +72,7 @@ + w<-ifelse(n>5, 100*n, 550) + max_w=1000 + w <- ifelse(w>max_w, max_w, w) +- png(filename=outfile, height=h, width=w) ++ png(filename=outfile, type='cairo', height=h, width=w) + } + + print(p) +diff -ruN crispr-dav-2.3.4_orig/Rscripts/read_stats.R crispr-dav-2.3.4/Rscripts/read_stats.R +--- crispr-dav-2.3.4_orig/Rscripts/read_stats.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/read_stats.R 2021-06-22 13:13:45.868418215 +0200 +@@ -69,7 +69,7 @@ + } else { + h<-400 + w<- ifelse(n>10, 50*n, h) +- png(filename=outfile, height=h, width=w) ++ png(filename=outfile, type='cairo', height=h, width=w) + } + + p <- ggplot(dat.m, aes(x=Sample, y=value, fill=variable)) + +diff -ruN crispr-dav-2.3.4_orig/Rscripts/snp.R crispr-dav-2.3.4/Rscripts/snp.R +--- crispr-dav-2.3.4_orig/Rscripts/snp.R 2019-07-26 21:15:08.000000000 +0200 ++++ crispr-dav-2.3.4/Rscripts/snp.R 2021-06-22 13:13:45.868418215 +0200 +@@ -76,7 +76,7 @@ + if ( high_res ) { + tiff(filename=outfile, width=5, height=4, units='in', res=1200) + } else { +- png(filename=outfile, width=500, height=400) ++ png(filename=outfile, type='cairo', width=500, height=400) + } + print(p) + invisible(dev.off()) +@@ -182,7 +182,7 @@ + wt <- 600 + } + ht <- 400 +- png(filename=outfile, width=wt, height=ht) ++ png(filename=outfile, type='cairo', width=wt, height=ht) + } + + print(p) diff --git a/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.1.2-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.1.2-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..e815134c6ec --- /dev/null +++ b/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.1.2-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,64 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'CRISPResso2' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/pinellolab/CRISPResso2/' +description = """CRISPResso2 is a software pipeline designed to enable rapid and +intuitive interpretation of genome editing experiments.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [ + {'source_urls': ['https://github.com/pinellolab/CRISPResso2/archive/'], + 'filename': 'v%(version)s.tar.gz'}, + {'source_urls': ['https://crispresso.pinellolab.partners.org/static/demo/'], + 'filename': 'base_editor_v%(version)s.fastq.gz', 'download_filename': 'base_editor.fastq.gz', + 'extract_cmd': 'cp %s %(builddir)s'}] +checksums = [ + '29dfaaa65f66225faee4887376ea6b524355332fc6f7ca4d07bb7d63596ef5e6', # v2.1.2.tar.gz + '371aad07a164721188deaa80ca7589f5cd4b871119d90d55a984c6d9c8d31c7a', # base_editor_v2.1.2.fastq.gz +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.11', '-Python-%(pyver)s'), + ('matplotlib', '2.2.5', '-Python-%(pyver)s'), + ('Trimmomatic', '0.39', '-Java-%(javashortver)s', SYSTEM), + ('FLASH', '2.2.00'), + ('SAMtools', '1.11'), + ('Bowtie2', '2.4.2'), + ('Seaborn', '0.9.1', '-Python-%(pyver)s'), +] + +download_dep_fail = True +use_pip = True + +# strip out too strict version requirements for dependencies +preinstallopts = "sed -i 's/,<=[0-9]*//g' setup.py && sed -i 's/==/>=/g' setup.py && " + +# this is an example command from: +# https://github.com/pinellolab/CRISPResso2#example-run-base-editing-experiment +local_seq_str = 'GGCCCCAGTGGCTGCTCTGGGGGCCTCCTGAGTTTCTCATCTGTGCCCCTCCCTCCCTGGCCCAGGTGAAGGTGTGGTTCCAGAACCGGAGGACAAAGTAC' +local_seq_str += 'AAACGGCAGAAGCTGGAGGAGGAAGGGCCTGAGTCCGAGCAGAAGAAGAAGGGCTCCCATCACATCAACCGGTGGCGCATTGCCACGAAGCAGGCCAATG' +local_seq_str += 'GGGAGGACATCGATGTCACCTCCAATGACTAGGGTGG' +local_test_cmd = "CRISPResso --fastq_r1 %(builddir)s/base_editor_v%(version)s.fastq.gz " +local_test_cmd += "--amplicon_seq %s " % local_seq_str +local_test_cmd += "--guide_seq GAGTCCGAGCAGAAGAAGAA --quantification_window_size 10 " +local_test_cmd += "--quantification_window_center -10 --base_editor_output" +sanity_check_commands = [ + "CRISPResso -h", + local_test_cmd, +] + +sanity_pip_check = True + +options = {'modulename': name} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages/CRISPResso2']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.2.1-foss-2020b.eb b/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.2.1-foss-2020b.eb new file mode 100644 index 00000000000..e1a264c229a --- /dev/null +++ b/easybuild/easyconfigs/c/CRISPResso2/CRISPResso2-2.2.1-foss-2020b.eb @@ -0,0 +1,63 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'CRISPResso2' +version = '2.2.1' + +homepage = 'https://github.com/pinellolab/CRISPResso2/' +description = """CRISPResso2 is a software pipeline designed to enable rapid and +intuitive interpretation of genome editing experiments.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [ + {'source_urls': ['https://github.com/pinellolab/CRISPResso2/archive/'], + 'filename': 'v%(version)s.tar.gz'}, + {'source_urls': ['https://crispresso.pinellolab.partners.org/static/demo/'], + 'filename': 'base_editor_v%(version)s.fastq.gz', 'download_filename': 'base_editor.fastq.gz', + 'extract_cmd': 'cp %s %(builddir)s'}] +checksums = [ + '8bc46661759dbe300e927f353d5859ec0abd1ee4ddcaf4e18dacc6859be2fcb7', # v2.2.1.tar.gz + '371aad07a164721188deaa80ca7589f5cd4b871119d90d55a984c6d9c8d31c7a', # base_editor_v2.2.1.fastq.gz +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Trimmomatic', '0.39', '-Java-%(javashortver)s', SYSTEM), + ('FLASH', '2.2.00'), + ('SAMtools', '1.11'), + ('Bowtie2', '2.4.2'), + ('Seaborn', '0.11.1'), +] + +download_dep_fail = True +use_pip = True + +# strip out too strict version requirements for dependencies +preinstallopts = "sed -i 's/,<=[0-9]*//g' setup.py && sed -i 's/==/>=/g' setup.py && " + +# this is an example command from: +# https://github.com/pinellolab/CRISPResso2#example-run-base-editing-experiment +local_seq_str = 'GGCCCCAGTGGCTGCTCTGGGGGCCTCCTGAGTTTCTCATCTGTGCCCCTCCCTCCCTGGCCCAGGTGAAGGTGTGGTTCCAGAACCGGAGGACAAAGTAC' +local_seq_str += 'AAACGGCAGAAGCTGGAGGAGGAAGGGCCTGAGTCCGAGCAGAAGAAGAAGGGCTCCCATCACATCAACCGGTGGCGCATTGCCACGAAGCAGGCCAATG' +local_seq_str += 'GGGAGGACATCGATGTCACCTCCAATGACTAGGGTGG' +local_test_cmd = "CRISPResso --fastq_r1 %(builddir)s/base_editor_v%(version)s.fastq.gz " +local_test_cmd += "--amplicon_seq %s " % local_seq_str +local_test_cmd += "--guide_seq GAGTCCGAGCAGAAGAAGAA --quantification_window_size 10 " +local_test_cmd += "--quantification_window_center -10 --base_editor_output" +sanity_check_commands = [ + "CRISPResso -h", + local_test_cmd, +] + +sanity_pip_check = True + +options = {'modulename': name} + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages/CRISPResso2']} + +moduleclass = 'bio' 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/CSBDeep/CSBDeep-0.7.4-foss-2022a.eb b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2022a.eb new file mode 100644 index 00000000000..e65992a566c --- /dev/null +++ b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2022a.eb @@ -0,0 +1,36 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'CSBDeep' +version = '0.7.4' + +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'), + ('SciPy-bundle', '2022.05'), + ('TensorFlow', '2.11.0'), + ('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/CSBDeep/CSBDeep-0.7.4-foss-2023a.eb b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2023a.eb new file mode 100644 index 00000000000..3b3b0f37650 --- /dev/null +++ b/easybuild/easyconfigs/c/CSBDeep/CSBDeep-0.7.4-foss-2023a.eb @@ -0,0 +1,37 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +# Update: Petr Král (INUITS) +easyblock = 'PythonBundle' + +name = 'CSBDeep' +version = '0.7.4' + +homepage = "https://csbdeep.bioimagecomputing.com/" +description = """CSBDeep is a toolbox for Content-aware Image Restoration (CARE).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('TensorFlow', '2.13.0'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2024.6.18', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['67299c0445fc47463bbc71f3cb4676da2ab0242b0c6c6542a0680801b4b97d8a'], + }), + ('%(namelower)s', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['155d61827439373dc9c2a730a1ef621f7e373fea16599d583e0a70f1e48bd6db'], + }), +] + +sanity_check_commands = ['care_predict'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.3-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.3-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..c29516caf75 --- /dev/null +++ b/easybuild/easyconfigs/c/CSBLAST/CSBLAST-2.2.3-GCCcore-8.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'CSBLAST' +version = '2.2.3' + +homepage = 'https://github.com/soedinglab/csblast/' +description = """Context-specific extension of BLAST that significantly improves sensitivity and alignment quality.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +github_account = 'soedinglab' +sources = ['v%(version)s.tar.gz'] +source_urls = [GITHUB_SOURCE] +checksums = ['3cf8dc251e85af6942552eae3d33e45a5a1c6d73c5e7f1a00ce26d6974c0d434'] # csblast-2.2.3.tar.gz + +builddependencies = [ + ('binutils', '2.32'), +] + +dependencies = [ + ('sparsehash', '2.0.3'), +] + +start_dir = 'src' + +build_cmd_targets = 'csblast csbuild' + +buildopts = 'FLAGS=-fpermissive' + +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/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/CTPL/CTPL-0.0.2-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..360aea103ca --- /dev/null +++ b/easybuild/easyconfigs/c/CTPL/CTPL-0.0.2-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CmdCp' + +name = 'CTPL' +version = '0.0.2' + +homepage = 'https://github.com/vit-vit/CTPL.git' + +description = "Modern and efficient C++ Thread Pool Library" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'vit-vit' +source_urls = [GITHUB_SOURCE] +sources = ['%(namelower)s_v.%(version)s.tar.gz'] +checksums = ['8c1cec7c570d6d84be1d29283af5039ea27c3e69703bd446d396424bf619816e'] + +dependencies = [ + ('Boost', '1.79.0'), +] + +cmds_map = [('.*', "echo Nothing to build")] + +files_to_copy = [(['ctpl.h', 'ctpl_stl.h'], 'include/CTPL'), 'LICENSE', 'example.cpp'] + +sanity_check_paths = { + 'files': ['include/CTPL/%s' % x for x in ['ctpl.h', 'ctpl_stl.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CUDA-Python/CUDA-Python-12.1.0-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CUDA-Python/CUDA-Python-12.1.0-gfbf-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f58021c3a9a --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Python/CUDA-Python-12.1.0-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'CUDA-Python' +# Warning: major and minor versions of CUDA and CUDA-Python are tied +version = '12.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://nvidia.github.io/cuda-python/' +description = "Python bindings for CUDA" +github_account = 'NVIDIA' + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('CUDA', '%(version_major)s.%(version_minor)s.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('pyclibrary', '0.2.2', { + 'checksums': ['9902fffe361bb86f57ab62aa4195ec4dd382b63c5c6892be6d9784ec0a3575f7'], + }), + ('cuda-python', version, { + 'modulename': 'cuda', + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(namelower)s-%(version)s.tar.gz'}], + 'checksums': ['6fdfacaabbd6bc7f5dddec3ecf6bb0968e4a6b5151896d6352703ff5e0fc4abb'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from cuda import cuda, nvrtc'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..ad7b6aba80b --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.3-GCC-10.3.0-CUDA-11.3.1.eb @@ -0,0 +1,57 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '11.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['cuda-samples-11.3_multiple-sms.patch'] +checksums = [ + {'v11.3.tar.gz': '2bee5f7c89347259aaab75aa6df6e10375059bdbbaf04cc7936f5db7d54fa3ac'}, + {'cuda-samples-11.3_multiple-sms.patch': 'b31613f4160456f0d0abf82999c7fb7eee781f0efadc8b9bbb5a02ef0f37e21d'}, +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs and only build deviceQuery for now. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies. +local_filters = "Samples/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/boxFilterNPP/Makefile " +local_filters += "Samples/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/cudaNvSci/Makefile " +local_filters += "Samples/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/simpleGL/Makefile " +local_filters += "Samples/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/simpleVulkan/Makefile " +local_filters += "Samples/simpleVulkanMMAP/Makefile " +local_filters += "Samples/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/vulkanImageCUDA/Makefile" +buildopts = "HOST_COMPILER=g++ SMS='%%(cuda_cc_space_sep_no_period)s' FILTER_OUT='%s'" % local_filters + +files_to_copy = [ + (['bin/%s/linux/release/*' % ARCH], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.6-GCC-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.6-GCC-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..ea78eae4061 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.6-GCC-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,58 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '11.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['cuda-samples-11.6_multiple-sms.patch'] +checksums = [ + {'v11.6.tar.gz': '75b858bcf9e534eaa0f129c418e661b83872d743de218df8a5278cc429f9ea98'}, + {'cuda-samples-11.6_multiple-sms.patch': '8849e4882d797d155d6ebb71377fa1409205361776ade8da699452a4ecb94a0a'}, +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies +local_filters = "Samples/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/boxFilterNPP/Makefile " +local_filters += "Samples/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/cudaNvSci/Makefile " +local_filters += "Samples/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/simpleGL/Makefile " +local_filters += "Samples/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/simpleVulkan/Makefile " +local_filters += "Samples/simpleVulkanMMAP/Makefile " +local_filters += "Samples/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/vulkanImageCUDA/Makefile" + +buildopts = "HOST_COMPILER=g++ SMS='%%(cuda_cc_space_sep_no_period)s' FILTER_OUT='%s'" % local_filters + +files_to_copy = [ + (['bin/%s/linux/release/*' % ARCH], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.8-GCC-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.8-GCC-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..be16c76f3be --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-11.8-GCC-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '11.8' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['cuda-samples-11.6_multiple-sms.patch'] +checksums = [ + {'v11.8.tar.gz': '1bc02c0ca42a323f3c7a05b5682eae703681a91e95b135bfe81f848b2d6a2c51'}, + {'cuda-samples-11.6_multiple-sms.patch': '8849e4882d797d155d6ebb71377fa1409205361776ade8da699452a4ecb94a0a'}, +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs and only build deviceQuery for now. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies. +local_filters = "Samples/2_Concepts_and_Techniques/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/4_CUDA_Libraries/boxFilterNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSci/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleGL/Makefile " +local_filters += "Samples/3_CUDA_Features/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkan/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkanMMAP/Makefile " +local_filters += "Samples/2_Concepts_and_Techniques/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/5_Domain_Specific/vulkanImageCUDA/Makefile " +local_filters += "Samples/6_Performance/LargeKernelParameter/Makefile " + +buildopts = "HOST_COMPILER=g++ SMS='%%(cuda_cc_space_sep_no_period)s' FILTER_OUT='%s'" % local_filters + +files_to_copy = [ + (['bin/%s/linux/release/*' % ARCH], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..5a886ca74d4 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,88 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['cuda-samples-11.6_multiple-sms.patch'] +checksums = [ + {'v12.1.tar.gz': 'f758160645b366d79c2638d8dfd389f01029b8d179ab0c11726b9ef58aecebd9'}, + {'cuda-samples-11.6_multiple-sms.patch': '8849e4882d797d155d6ebb71377fa1409205361776ade8da699452a4ecb94a0a'}, +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies +local_filters = "Samples/2_Concepts_and_Techniques/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/2_Concepts_and_Techniques/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/3_CUDA_Features/tf32TensorCoreGemm/Makefile " +local_filters += "Samples/3_CUDA_Features/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/4_CUDA_Libraries/boxFilterNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSci/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/4_CUDA_Libraries/freeImageInteropNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/histEqualizationNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/FilterBorderControlNPP/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleGL/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkan/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkanMMAP/Makefile " +local_filters += "Samples/5_Domain_Specific/vulkanImageCUDA/Makefile " + +# Sample does not compile with GCC>11 +local_filters += "Samples/0_Introduction/simpleAWBarrier/Makefile " +local_filters += "Samples/3_CUDA_Features/bf16TensorCoreGemm/Makefile " +local_filters += "Samples/3_CUDA_Features/dmmaTensorCoreGemm/Makefile " +local_filters += "Samples/3_CUDA_Features/globalToShmemAsyncCopy/Makefile " + +# This give a link error under EESSI (ignoring for now) +local_filters += "Samples/4_CUDA_Libraries/simpleCUFFT_callback/Makefile " + +# Builds a shared lib that it sticks in `bin`! +local_filters += "Samples/2_Concepts_and_Techniques/cuHook/Makefile " + +# some CUDA samples fail to build on aarch64; +# see also https://github.com/NVIDIA/cuda-samples/issues/223 +if ARCH == 'aarch64': + local_filters += "Samples/3_CUDA_Features/cdpBezierTessellation/Makefile " + local_filters += "Samples/3_CUDA_Features/cdpSimplePrint/Makefile " + local_filters += "Samples/3_CUDA_Features/cdpSimpleQuicksort/Makefile " + local_filters += "Samples/3_CUDA_Features/cdpQuadtree/Makefile " + local_filters += "Samples/3_CUDA_Features/cdpAdvancedQuicksort/Makefile " + +buildopts = "HOST_COMPILER=g++ SMS='%%(cuda_cc_space_sep_no_period)s' FILTER_OUT='%s'" % local_filters + +# Remove libraries in the bin dir after a successful 'make' +buildopts += " && rm bin/*/linux/release/lib*.so.*" + +local_binsubdir = 'sbsa' if ARCH == 'aarch64' else ARCH + +files_to_copy = [ + (['bin/%s/linux/release/*' % local_binsubdir], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.2-GCC-11.3.0-CUDA-12.2.0.eb b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.2-GCC-11.3.0-CUDA-12.2.0.eb new file mode 100644 index 00000000000..89e1c6fc87b --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/CUDA-Samples-12.2-GCC-11.3.0-CUDA-12.2.0.eb @@ -0,0 +1,63 @@ +easyblock = 'MakeCp' + +name = 'CUDA-Samples' +version = '12.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/cuda-samples' +description = "Samples for CUDA Developers which demonstrates features in CUDA Toolkit" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/NVIDIA/cuda-samples/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['cuda-samples-11.6_multiple-sms.patch'] +checksums = [ + {'v12.2.tar.gz': '1823cfe28e97a9230107aa72b231f78952c0f178b71a920f036d360518480bdc'}, + {'cuda-samples-11.6_multiple-sms.patch': '8849e4882d797d155d6ebb71377fa1409205361776ade8da699452a4ecb94a0a'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('CUDA', '12.2.0', '', SYSTEM), +] + +# Get rid of pre-built Windows DLLs and only build deviceQuery for now. +prebuildopts = "rm -r bin/win64 && " + +# Filter out samples that require extensive dependencies. +local_filters = "Samples/2_Concepts_and_Techniques/EGLStream_CUDA_Interop/Makefile " +local_filters += "Samples/4_CUDA_Libraries/boxFilterNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cannyEdgeDetectorNPP/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSci/Makefile " +local_filters += "Samples/4_CUDA_Libraries/cudaNvSciNvMedia/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleGL/Makefile " +local_filters += "Samples/3_CUDA_Features/warpAggregatedAtomicsCG/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkan/Makefile " +local_filters += "Samples/5_Domain_Specific/simpleVulkanMMAP/Makefile " +local_filters += "Samples/2_Concepts_and_Techniques/streamOrderedAllocationIPC/Makefile " +local_filters += "Samples/5_Domain_Specific/vulkanImageCUDA/Makefile " +local_filters += "Samples/6_Performance/LargeKernelParameter/Makefile " + +buildopts = "HOST_COMPILER=g++ SMS='%%(cuda_cc_space_sep_no_period)s' FILTER_OUT='%s'" % local_filters + +files_to_copy = [ + (['bin/%s/linux/release/*' % ARCH], 'bin'), + 'LICENSE', +] + +local_binaries = ['deviceQuery', 'matrixMul', 'bandwidthTest', 'cudaOpenMP'] + +# Only paths are used for sanity checks. +# Commands may fail due to missing compatibility libraries that might be needed +# to be able to use this specific CUDA version in combination with the available +# NVIDIA drivers. +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.3_multiple-sms.patch b/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.3_multiple-sms.patch new file mode 100644 index 00000000000..b6613f6a3c4 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.3_multiple-sms.patch @@ -0,0 +1,31 @@ +# Fixes "nvcc fatal: Option '--ptx (-ptx)' is not allowed when compiling for multiple GPU architectures" +# fatal compilation issue when building for multiple SM architectures +# More info, see https://github.com/NVIDIA/cuda-samples/issues/289 + +# Author: Caspar van Leeuwen + +diff -Nru cuda-samples-11.3.orig/Samples/memMapIPCDrv/Makefile cuda-samples-11.3/Samples/memMapIPCDrv/Makefile +--- cuda-samples-11.3.orig/Samples/memMapIPCDrv/Makefile 2024-07-29 13:17:10.330743000 +0200 ++++ cuda-samples-11.3/Samples/memMapIPCDrv/Makefile 2024-07-29 13:19:13.158507504 +0200 +@@ -321,6 +321,12 @@ + ifneq ($(HIGHEST_SM),) + GENCODE_FLAGS += -gencode arch=compute_$(HIGHEST_SM),code=compute_$(HIGHEST_SM) + endif ++ ++# Generate the explicit PTX file for the lowest SM architecture in $(SMS), so it works on all SMS listed there ++LOWEST_SM := $(firstword $(sort $(SMS))) ++ifneq ($(LOWEST_SM),) ++GENCODE_FLAGS_LOWEST_SM += -gencode arch=compute_$(LOWEST_SM),code=compute_$(LOWEST_SM) ++endif + endif + + ifeq ($(TARGET_OS),darwin) +@@ -401,7 +407,7 @@ + endif + + $(PTX_FILE): memMapIpc_kernel.cu +- $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -o $@ -ptx $< ++ $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS_LOWEST_SM) -o $@ -ptx $< + $(EXEC) mkdir -p data + $(EXEC) cp -f $@ ./data + $(EXEC) mkdir -p ../../bin/$(TARGET_ARCH)/$(TARGET_OS)/$(BUILD_TYPE) diff --git a/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.6_multiple-sms.patch b/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.6_multiple-sms.patch new file mode 100644 index 00000000000..8c4e36f7e74 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA-Samples/cuda-samples-11.6_multiple-sms.patch @@ -0,0 +1,56 @@ +# Fixes "nvcc fatal: Option '--ptx (-ptx)' is not allowed when compiling for multiple GPU architectures" +# fatal compilation issue when building for multiple SM architectures +# More info, see https://github.com/NVIDIA/cuda-samples/issues/289 + +# Author: Caspar van Leeuwen + +diff -Nru cuda-samples-12.2.orig/Samples/3_CUDA_Features/memMapIPCDrv/Makefile cuda-samples-12.2/Samples/3_CUDA_Features/memMapIPCDrv/Makefile +--- cuda-samples-12.2.orig/Samples/3_CUDA_Features/memMapIPCDrv/Makefile 2024-07-29 12:14:28.538848000 +0200 ++++ cuda-samples-12.2/Samples/3_CUDA_Features/memMapIPCDrv/Makefile 2024-07-29 13:02:45.134261829 +0200 +@@ -313,6 +313,12 @@ + ifneq ($(HIGHEST_SM),) + GENCODE_FLAGS += -gencode arch=compute_$(HIGHEST_SM),code=compute_$(HIGHEST_SM) + endif ++ ++# Generate the explicit PTX file for the lowest SM architecture in $(SMS), so it works on all SMS listed there ++LOWEST_SM := $(firstword $(sort $(SMS))) ++ifneq ($(LOWEST_SM),) ++GENCODE_FLAGS_LOWEST_SM += -gencode arch=compute_$(LOWEST_SM),code=compute_$(LOWEST_SM) ++endif + endif + + ifeq ($(TARGET_OS),darwin) +@@ -394,7 +400,7 @@ + endif + + $(PTX_FILE): memMapIpc_kernel.cu +- $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -o $@ -ptx $< ++ $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS_LOWEST_SM) -o $@ -ptx $< + $(EXEC) mkdir -p data + $(EXEC) cp -f $@ ./data + $(EXEC) mkdir -p ../../../bin/$(TARGET_ARCH)/$(TARGET_OS)/$(BUILD_TYPE) +diff -Nru cuda-samples-12.2.orig/Samples/3_CUDA_Features/ptxjit/Makefile cuda-samples-12.2/Samples/3_CUDA_Features/ptxjit/Makefile +--- cuda-samples-12.2.orig/Samples/3_CUDA_Features/ptxjit/Makefile 2024-07-29 12:14:28.546771000 +0200 ++++ cuda-samples-12.2/Samples/3_CUDA_Features/ptxjit/Makefile 2024-07-29 13:02:38.741961008 +0200 +@@ -307,6 +307,12 @@ + ifneq ($(HIGHEST_SM),) + GENCODE_FLAGS += -gencode arch=compute_$(HIGHEST_SM),code=compute_$(HIGHEST_SM) + endif ++ ++# Generate the explicit PTX file for the lowest SM architecture in $(SMS), so it works on all SMS listed there ++LOWEST_SM := $(firstword $(sort $(SMS))) ++ifneq ($(LOWEST_SM),) ++GENCODE_FLAGS_LOWEST_SM += -gencode arch=compute_$(LOWEST_SM),code=compute_$(LOWEST_SM) ++endif + endif + + ifeq ($(TARGET_OS),darwin) +@@ -390,7 +396,7 @@ + endif + + $(PTX_FILE): ptxjit_kernel.cu +- $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS) -o $@ -ptx $< ++ $(EXEC) $(NVCC) $(INCLUDES) $(ALL_CCFLAGS) $(GENCODE_FLAGS_LOWEST_SM) -o $@ -ptx $< + $(EXEC) mkdir -p data + $(EXEC) cp -f $@ ./data + $(EXEC) mkdir -p ../../../bin/$(TARGET_ARCH)/$(TARGET_OS)/$(BUILD_TYPE) diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-GCC-9.3.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-GCC-9.3.0.eb index c193a9b0bcd..23109630c34 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-GCC-9.3.0.eb @@ -10,7 +10,7 @@ description = """CUDA (formerly Compute Unified Device Architecture) is a parall toolchain = {'name': 'GCC', 'version': '9.3.0'} -dependencies = [('CUDAcore', '11.0.2', '', True)] +dependencies = [('CUDAcore', '11.0.2', '', SYSTEM)] altroot = 'CUDAcore' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-iccifort-2020.1.217.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-iccifort-2020.1.217.eb index 7f77cc256bf..a2eecc5b703 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.0.2-iccifort-2020.1.217.eb @@ -10,7 +10,7 @@ description = """CUDA (formerly Compute Unified Device Architecture) is a parall toolchain = {'name': 'iccifort', 'version': '2020.1.217'} -dependencies = [('CUDAcore', '11.0.2', '', True)] +dependencies = [('CUDAcore', '11.0.2', '', SYSTEM)] altroot = 'CUDAcore' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-GCC-10.2.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-GCC-10.2.0.eb index d6d90b81331..02cea32f4a5 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-GCC-10.2.0.eb @@ -10,7 +10,7 @@ description = """CUDA (formerly Compute Unified Device Architecture) is a parall toolchain = {'name': 'GCC', 'version': '10.2.0'} -dependencies = [('CUDAcore', version, '', True)] +dependencies = [('CUDAcore', version, '', SYSTEM)] altroot = 'CUDAcore' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-iccifort-2020.4.304.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-iccifort-2020.4.304.eb index c9848f32320..60c8e706731 100644 --- a/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.1.1-iccifort-2020.4.304.eb @@ -10,7 +10,7 @@ description = """CUDA (formerly Compute Unified Device Architecture) is a parall toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -dependencies = [('CUDAcore', version, '', True)] +dependencies = [('CUDAcore', version, '', SYSTEM)] altroot = 'CUDAcore' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.3.1.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.3.1.eb new file mode 100644 index 00000000000..3f9321a0369 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.3.1.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.3.1' +local_nv_version = '465.19.01' + +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: + 'ad93ea98efced35855c58d3a0fc326377c60917cb3e8c017d3e6d88819bf2934', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '220f2c10a21500d62b03c6848c1659ebb3a8e10dc0915ab87b86b397058407c5', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '39990d3da88b21289ac20850bc183f0b66275f32e1f562b551c05843bf506e4c' + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.4.1.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.4.1.eb new file mode 100644 index 00000000000..b9f6fac274d --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.4.1.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.4.1' +local_nv_version = '470.57.02' + +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: + 'dd6c339a719989d2518f5d54eeac1ed707d0673f8664ba0c4d4b2af7c3ba0005', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'dd92ca04f76ad938da3480e2901c0e52dbff6028ada63c09071ed9e3055dc361', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '8efa725a41dfd3c0c0f453c2dd535d149154102bf2b791718859417b4f84f922', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.4.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.4.2.eb new file mode 100644 index 00000000000..ba572b6a631 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.4.2.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.4.2' +local_nv_version = '470.57.02' + +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: + 'bbd87ca0e913f837454a796367473513cddef555082e4d86ed9a38659cc81f0a', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'a917c2e53dc13fdda7def71fd40920bf3809d5a2caa3e9acfe377fb9fb22f12d', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.5.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.0.eb new file mode 100644 index 00000000000..66d53c6bea7 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.0.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.5.0' +local_nv_version = '495.29.05' + +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: + 'ae0a1693d9497cf3d81e6948943e3794636900db71c98d58eefdacaf7f1a1e4c', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '95baefdc5adf165189407b119861ffb2e9800fd94d7fc81d10fb81ed36dc12db', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '6ea9d520cc956cc751a5ac54f4acc39109627f4e614dd0b1a82cc86f2aa7d8c4', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.5.1.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.1.eb new file mode 100644 index 00000000000..af7aaae632a --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.1.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.5.1' +local_nv_version = '495.29.05' + +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: + '60bea2fc0fac95574015f865355afbf599422ec2c85554f5f052b292711a4bca', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '9e0e494d945634fe8ad3e12d7b91806aa4220ed27487bb211030d651b27c67a9', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '73e1d0e97c7fa686efe7e00fb1e5f179372c4eec8e14d4f44ab58d5f6cf57f63', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb new file mode 100644 index 00000000000..bc5895712e0 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.5.2.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.5.2' +local_nv_version = '495.29.05' + +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: + '74959abf02bcba526f0a3aae322c7641b25da040ccd6236d07038f81997b73a6', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '45c468f430436b3e95d5e485a6ba0ec1fa2b23dc6c551c1307b79996ecf0a7ed', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '31337c8bdc224fa1bd07bc4b6a745798392428118cc8ea0fa4446ee4ad47dd30', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.6.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.6.0.eb new file mode 100644 index 00000000000..be85f0bc0ad --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.6.0.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.6.0' +local_nv_version = '510.39.01' + +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: + '1783da6d63970786040980b57fa3cb6420142159fc7d0e66f8f05c4905d98c83', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'c86b866a42baf59ddc6f1f4a79e6d77213c90749e77e574f0e0d796a749ab7d0', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '5898579f5e59b708520883cb161089f5e4f3426158d1e9f973c49d224085d1d2', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.7.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.7.0.eb new file mode 100644 index 00000000000..d2192a64746 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.7.0.eb @@ -0,0 +1,26 @@ +name = 'CUDA' +version = '11.7.0' +local_nv_version = '515.43.04' + +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: + '087fdfcbba1f79543b1f78e43a8dfdac5f6db242d042dde820e16dc185892f26', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '74a507ac54067c258e6b7c9063c98d411116ecc5c5397b1f6e6a999e86dff08a', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'e777839a618ca9a3d5ad42ded43a1b6392af2321a7327635a4afcc986876a21b', + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb new file mode 100644 index 00000000000..4fc4d6173ce --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-11.8.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '11.8.0' +local_nv_version = '520.61.05' + +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: + '9223c4af3aebe4a7bbed9abd9b163b03a1b34b855fbc2b4a0d1b706ac09a5a16', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'f917fb7617033223938543ad3ae923190d99507acc08a399d752a2868e87349d', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'e6e9a8d31163c9776b5e313fd7590877c5684e1ecddee741154f95704d4ed27c' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb new file mode 100644 index 00000000000..9b47dfcc571 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.0.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.0.0' +local_nv_version = '525.60.13' + +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: + '905e9b9516900839fb76064719db752439f38b8cb730b49335d8bd53ddfad392', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '117fe045c71668e45d41c6119b6f27875370c78e33fc56795b6fe014c796ec60', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'cd13e9c65d4c8f895a968706f46064d536be09f9706bce081cc864b7e4fa4544' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb new file mode 100644 index 00000000000..121525aa098 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.1.0' +local_nv_version = '530.30.02' + +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: + '68699036c12d71adb9ad2799dce2ff070270fab4488b90920b9756ab3f52c41c', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '8d75bd9da953a51062b89b8c752cffcf02b02c85cb461291d354ac2cffb2da48', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '1d0dd884f5257c12471dc455dc1a4aee8d620191737c0b2e40f016d8adc9d009' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.1.eb new file mode 100644 index 00000000000..ea9cf216ca3 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.1.1.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.1.1' +local_nv_version = '530.30.02' + +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: + 'd74022d41d80105319dfa21beea39b77a5b9919539c0487a05caaf2446d6a70e', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'c5950381f2c01fd52692372fc8e51d599e940ada2af2c82c3cc854ecff933eae', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '45ea4cd860f0a26d3db8ce032530f2ee0b55abdd587545213d395a73623b4278' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.2.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.0.eb new file mode 100644 index 00000000000..d6ea95abd16 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.2.0' +local_nv_version = '535.54.03' + +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: + 'ecf3d2afadcbac029f0f4505785810d52d006e4b87ba79ff3f984336a2bbf518', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'f7b5fde5f727b51c380c6199200d0525e8585475944ff8ad2791d06734f54230', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '9c90d79bb63952cd30f1f57f9f8fe11e7a8967bba6f824df45d3464b5d37e5d8' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb new file mode 100644 index 00000000000..da8873e6d0c --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.2.2' +local_nv_version = '535.104.05' + +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: + '2b39aae3e7618d9f59a3c8fa1f1bc61f29c0b0e0df75fb05076badb352952ef2', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '18848278e7f2bd4b4481f5665633d7e3d46e9a562d175d5ff278218188b01342', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '4113a15e6b27a02638c72edeb5f89de4c9ea312febba12fc4cefff2edc882268' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.3.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.3.0.eb new file mode 100644 index 00000000000..6510fce6366 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.3.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.3.0' +local_nv_version = '545.23.06' + +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: + '7c13face3af64d6e1648d6e3101d31c8111e747143acb0077d973c1690820422', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + 'de15c04380ec35b194c07503bf434837bac5b427cf77b19a63962b1653d195d5', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '9a8fb8acf46b88faf0d711bda3149e1706efbbae02fcb40ab72addfd0e9ce5df' +}] + +moduleclass = 'system' 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/CUDA/CUDA-12.5.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.5.0.eb new file mode 100644 index 00000000000..0a81b7bd4c1 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.5.0.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.5.0' +local_nv_version = '555.42.02' + +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: + '90fcc7df48226434065ff12a4372136b40b9a4cbf0c8602bb763b745f22b7a99', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '33f39ad7bc624d5c8e59938990358cec80b9966431e34d1ab2d6115d78a3f264', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'e7b864c9ae27cef77cafc78614ec33cbb0a27606af9375deffa09c4269a07f04' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.6.0.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.6.0.eb new file mode 100644 index 00000000000..24c7b5f5c90 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.6.0.eb @@ -0,0 +1,22 @@ +name = 'CUDA' +version = '12.6.0' +local_nv_version = '560.28.03' + +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: + '31ab04394e69b14dd8656e2b44c2877db1a0e898dff8a7546a4c628438101b94', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '398db7baca17d51ad5035c606714c96380c965fd1742478c743bc6bbb1d8f63c' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6-510.85.02.eb b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6-510.85.02.eb new file mode 100644 index 00000000000..721f22cf426 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6-510.85.02.eb @@ -0,0 +1,47 @@ +name = 'CUDAcompat' +version = '11.6' +nv_version = '510.85.02' +versionsuffix = "-" + nv_version + +# Minimal driver requirements for each production branch / major version as found on +# https://docs.nvidia.com/deploy/cuda-compatibility/index.html#use-the-right-compat-package +# Compatibility test can be skipped with --skip-test-step/--ignore-test-failure +# but then tests running actual CUDA applications should be used to verify compatibility +compatible_driver_versions = [ + '418.40.04', # (CUDA 10.1) + '440.33.00', # (CUDA 10.2, actually EoL but works) + '450.36.06', # (CUDA 11.0) + '460.73.01', # (CUDA 11.2, actually EoL but works) + '470.57.02', # (CUDA 11.4) +] + +homepage = 'https://docs.nvidia.com/deploy/cuda-compatibility/index.html' +description = """Using the CUDA Forward Compatibility package, + system administrators can run applications built using a newer toolkit + even when an older driver that does not satisfy the minimum required driver version + is installed on the system. + This forward compatibility allows the CUDA deployments in data centers and enterprises + to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit. +""" + +toolchain = SYSTEM + +# The full driver runfile installers are downloaded but we will only use a small portion of them +# (see https://docs.nvidia.com/deploy/cuda-compatibility/index.html#manually-installing-from-runfile) +# By downloading, you accept the "License For Customer Use of NVIDIA Software for use of the driver +# (https://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us) + +# accept_eula = True + +source_urls = ['https://us.download.nvidia.com/tesla/' + nv_version] +sources = ['NVIDIA-Linux-%%(arch)s-%s.run' % nv_version] +checksums = [{ + 'NVIDIA-Linux-aarch64-%s.run' % nv_version: + 'bb5e844a69bc05dade9148438a71f2bb7dea1864278d37864f1a303e437e40c3', + 'NVIDIA-Linux-ppc64le-%s.run' % nv_version: + '46626294cf18ead6eeb53a6614f7b340e66c57ea50f95d4dc670e90b4650c335', + 'NVIDIA-Linux-x86_64-%s.run' % nv_version: + '372427e633f32cff6dd76020e8ed471ef825d38878bd9655308b6efea1051090', +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6.eb b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6.eb new file mode 100644 index 00000000000..f931186e517 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.6.eb @@ -0,0 +1,19 @@ +easyblock = 'ModuleRC' + +name = 'CUDAcompat' +version = '11.6' + +homepage = 'https://docs.nvidia.com/deploy/cuda-compatibility/index.html' +description = """Using the CUDA Forward Compatibility package, + system administrators can run applications built using a newer toolkit + even when an older driver that does not satisfy the minimum required driver version + is installed on the system. + This forward compatibility allows the CUDA deployments in data centers and enterprises + to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit. +""" + +toolchain = SYSTEM + +dependencies = [(name, version, "-510.85.02")] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7-515.65.01.eb b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7-515.65.01.eb new file mode 100644 index 00000000000..eba7e2ca957 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7-515.65.01.eb @@ -0,0 +1,45 @@ +name = 'CUDAcompat' +version = '11.7' +nv_version = '515.65.01' +versionsuffix = "-" + nv_version + +# Minimal driver requirements for each production branch / major version as found on +# https://docs.nvidia.com/deploy/cuda-compatibility/index.html#use-the-right-compat-package +# Compatibility test can be skipped with --skip-test-step/--ignore-test-failure +# but then tests running actual CUDA applications should be used to verify compatibility +compatible_driver_versions = [ + '450.36.06', # (CUDA 11.0) + '470.57.02', # (CUDA 11.4) + '510.39.01', # (CUDA 11.6) +] + +homepage = 'https://docs.nvidia.com/deploy/cuda-compatibility/index.html' +description = """Using the CUDA Forward Compatibility package, + system administrators can run applications built using a newer toolkit + even when an older driver that does not satisfy the minimum required driver version + is installed on the system. + This forward compatibility allows the CUDA deployments in data centers and enterprises + to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit. +""" + +toolchain = SYSTEM + +# The full driver runfile installers are downloaded but we will only use a small portion of them +# (see https://docs.nvidia.com/deploy/cuda-compatibility/index.html#manually-installing-from-runfile) +# By downloading, you accept the "License For Customer Use of NVIDIA Software for use of the driver +# (https://www.nvidia.com/content/DriverDownload-March2009/licence.php?lang=us) + +# accept_eula = True + +source_urls = ['https://us.download.nvidia.com/tesla/' + nv_version] +sources = ['NVIDIA-Linux-%%(arch)s-%s.run' % nv_version] +checksums = [{ + 'NVIDIA-Linux-aarch64-%s.run' % nv_version: + '0d2ac6c6ca144c8c7bbf1a62034998463b21f2660a793607d88c031650d93e93', + 'NVIDIA-Linux-ppc64le-%s.run' % nv_version: + 'd217c7539d049ab1b7a889815d14d1655116616e7e9943387a1b190aec816063', + 'NVIDIA-Linux-x86_64-%s.run' % nv_version: + '0492ddc5b5e65aa00cbc762e8d6680205c8d08e103b7131087a15126aee495e9', +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7.eb b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7.eb new file mode 100644 index 00000000000..c3a7b3b2e0e --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.7.eb @@ -0,0 +1,19 @@ +easyblock = 'ModuleRC' + +name = 'CUDAcompat' +version = '11.7' + +homepage = 'https://docs.nvidia.com/deploy/cuda-compatibility/index.html' +description = """Using the CUDA Forward Compatibility package, + system administrators can run applications built using a newer toolkit + even when an older driver that does not satisfy the minimum required driver version + is installed on the system. + This forward compatibility allows the CUDA deployments in data centers and enterprises + to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit. +""" + +toolchain = SYSTEM + +dependencies = [(name, version, '-515.65.01')] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.eb b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.eb new file mode 100644 index 00000000000..17159182bc1 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcompat/CUDAcompat-11.eb @@ -0,0 +1,19 @@ +easyblock = 'ModuleRC' + +name = 'CUDAcompat' +version = '11' + +homepage = 'https://docs.nvidia.com/deploy/cuda-compatibility/index.html' +description = """Using the CUDA Forward Compatibility package, + system administrators can run applications built using a newer toolkit + even when an older driver that does not satisfy the minimum required driver version + is installed on the system. + This forward compatibility allows the CUDA deployments in data centers and enterprises + to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit. +""" + +toolchain = SYSTEM + +dependencies = [(name, '11.7')] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.3.1.eb b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.3.1.eb deleted file mode 100644 index 87255c2b4e4..00000000000 --- a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.3.1.eb +++ /dev/null @@ -1,28 +0,0 @@ -easyblock = 'EB_CUDA' - -name = 'CUDAcore' -version = '11.3.1' -local_nv_version = '465.19.01' - -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: - 'ad93ea98efced35855c58d3a0fc326377c60917cb3e8c017d3e6d88819bf2934', - 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: - '220f2c10a21500d62b03c6848c1659ebb3a8e10dc0915ab87b86b397058407c5', - 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: - '39990d3da88b21289ac20850bc183f0b66275f32e1f562b551c05843bf506e4c' - } -] - -moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.4.0.eb b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.4.0.eb new file mode 100644 index 00000000000..e5e87706325 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.4.0.eb @@ -0,0 +1,31 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'EB_CUDA' + +name = 'CUDAcore' +version = '11.4.0' +local_nv_version = '470.42.01' + +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: + 'd219db30f7415a115a4ea22bdbb5984b0a18f7f891cad6074c5da45d223aaa4b', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '6eb2fd0d9d5bc39fb243b5e1789ff827f325d098cd1fbb828a0499552b9544cc', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + 'f0c8e80d98a601ddca031b6764459984366008c7d3847e7c7f99b36bd4438e3c' + } +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.5.1.eb b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.5.1.eb new file mode 100644 index 00000000000..5ffc55ece99 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDAcore/CUDAcore-11.5.1.eb @@ -0,0 +1,22 @@ +## +# Author: Mustafa Abduljabbar +## +easyblock = 'EB_CUDA' + +name = 'CUDAcore' +version = '11.5.1' +local_nv_version = '495.29.05' + +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 = ['60bea2fc0fac95574015f865355afbf599422ec2c85554f5f052b292711a4bca'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..c18f2d7cc9a --- /dev/null +++ b/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CUDD' +version = '3.0.0' + +homepage = 'https://github.com/ivmai/cudd' +description = """The CUDD package is a package written in C for the manipulation of + decision diagrams. It supports binary decision diagrams (BDDs), algebraic decision + diagrams (ADDs), and Zero-Suppressed BDDs (ZDDs).""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/ivmai/cudd/archive/refs/tags'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5fe145041c594689e6e7cf4cd623d5f2b7c36261708be8c9a72aed72cf67acce'] + +sanity_check_paths = { + 'files': ['include/cudd.h', 'lib/libcudd.a'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-13.2.0.eb b/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..c1f83cad099 --- /dev/null +++ b/easybuild/easyconfigs/c/CUDD/CUDD-3.0.0-GCC-13.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'CUDD' +version = '3.0.0' + +homepage = 'https://github.com/ivmai/cudd' +description = """The CUDD package is a package written in C for the manipulation of + decision diagrams. It supports binary decision diagrams (BDDs), algebraic decision + diagrams (ADDs), and Zero-Suppressed BDDs (ZDDs).""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/ivmai/cudd/archive/refs/tags'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5fe145041c594689e6e7cf4cd623d5f2b7c36261708be8c9a72aed72cf67acce'] + +sanity_check_paths = { + 'files': ['include/cudd.h', 'lib/libcudd.a'], + 'dirs': [], +} + +moduleclass = 'math' 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/CUTLASS/CUTLASS-3.4.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CUTLASS/CUTLASS-3.4.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..3322e6b4b56 --- /dev/null +++ b/easybuild/easyconfigs/c/CUTLASS/CUTLASS-3.4.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'CUTLASS' +version = '3.4.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': '2023a'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['49f4b854acc2a520126ceefe4f701cfe8c2b039045873e311b1f10a8ca5d5de1'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', 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/CUnit/CUnit-2.1-3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c03ee75be97 --- /dev/null +++ b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'CUnit' +version = '2.1-3' + +homepage = 'https://sourceforge.net/projects/cunit/' +description = "Automated testing framework for C." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['lib/libcunit.a', 'lib/libcunit.%s' % SHLIB_EXT], + 'dirs': ['include/CUnit', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cae0ab9fe40 --- /dev/null +++ b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'CUnit' +version = '2.1-3' + +homepage = 'https://sourceforge.net/projects/cunit/' +description = "Automated testing framework for C." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['lib/libcunit.a', 'lib/libcunit.%s' % SHLIB_EXT], + 'dirs': ['include/CUnit', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..827f7ea4e80 --- /dev/null +++ b/easybuild/easyconfigs/c/CUnit/CUnit-2.1-3-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'CUnit' +version = '2.1-3' + +homepage = 'https://sourceforge.net/projects/cunit/' +description = "Automated testing framework for C." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['lib/libcunit.a', 'lib/libcunit.%s' % SHLIB_EXT], + 'dirs': ['include/CUnit', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCC-4.8.2.eb b/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCC-4.8.2.eb deleted file mode 100644 index d6aba60dab8..00000000000 --- a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCC-4.8.2.eb +++ /dev/null @@ -1,29 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild -# -## - -easyblock = 'ConfigureMake' - -name = 'CVS' -version = '1.11.23' - -homepage = 'https://savannah.nongnu.org/projects/cvs' -description = """CVS is a version control system, an important component of - Source Configuration Management (SCM).""" - -toolchain = {'name': 'GCC', 'version': '4.8.2'} - -source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] -sources = [SOURCELOWER_TAR_BZ2] - -patches = ['CVS-1.11.23-zlib-1.patch', 'CVS-1.11.23-getline.patch'] - -dependencies = [('zlib', '1.2.8')] - -sanity_check_paths = { - 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-4.9.3.eb b/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-4.9.3.eb deleted file mode 100644 index b4f49365df8..00000000000 --- a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-4.9.3.eb +++ /dev/null @@ -1,30 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild -# -## - -easyblock = 'ConfigureMake' - -name = 'CVS' -version = '1.11.23' - -homepage = 'https://savannah.nongnu.org/projects/cvs' -description = """CVS is a version control system, an important component of - Source Configuration Management (SCM).""" - -toolchain = {'name': 'GCCcore', 'version': '4.9.3'} - -source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] -sources = [SOURCELOWER_TAR_BZ2] - -patches = ['CVS-1.11.23-zlib-1.patch', 'CVS-1.11.23-getline.patch'] - -builddependencies = [('binutils', '2.25')] -dependencies = [('zlib', '1.2.8')] - -sanity_check_paths = { - 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-6.4.0.eb b/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-6.4.0.eb deleted file mode 100644 index b4435cfaa54..00000000000 --- a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-GCCcore-6.4.0.eb +++ /dev/null @@ -1,38 +0,0 @@ -## -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild -# -## - -easyblock = 'ConfigureMake' - -name = 'CVS' -version = '1.11.23' - -homepage = 'https://savannah.nongnu.org/projects/cvs' -description = """CVS is a version control system, an important component of - Source Configuration Management (SCM).""" - -toolchain = {'name': 'GCCcore', 'version': '6.4.0'} - -source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] -sources = [SOURCELOWER_TAR_BZ2] -patches = [ - 'CVS-1.11.23-zlib-1.patch', - 'CVS-1.11.23-getline.patch', -] -checksums = [ - '400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9', # cvs-1.11.23.tar.bz2 - '3c0ee6509c4622778c093316437a5b047c51820e11cee3ed3a405c2a590a9ff4', # CVS-1.11.23-zlib-1.patch - '6a1aa65acfbb41b7639adc70248d908981f172c2529bb52d84359713f9541874', # CVS-1.11.23-getline.patch -] - -builddependencies = [('binutils', '2.28')] - -dependencies = [('zlib', '1.2.11')] - -sanity_check_paths = { - 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], - 'dirs': [], -} - -moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb new file mode 100644 index 00000000000..b3c3ec1b113 --- /dev/null +++ b/easybuild/easyconfigs/c/CVX/CVX-2.2-MATLAB-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'CVX' +version = '2.2' +_matlab_ver = '2023a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://cvxr.com/cvx/' +description = """CVX is a Matlab-based modeling system for convex optimization. + CVX turns Matlab into a modeling language, allowing constraints and objectives + to be specified using standard Matlab expression syntax. +""" + +toolchain = SYSTEM + +source_urls = ['https://web.cvxr.com/cvx/'] +sources = ['%(namelower)s-a64.tar.gz'] +checksums = ['16e4622c80f2bf63152aaee59db4fe42afa4d2282179e5d216358953c7f9ea4d'] + +dependencies = [ + ('MATLAB', _matlab_ver), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib', 'commands', 'sedumi', 'sdpt3'], +} + +modloadmsg = "IMPORTANT: You need to run `cvx_setup` once inside MATLAB before using CVX." + +modextrapaths = { + 'MATLABPATH': ['', 'functions/vec_', 'structures', 'lib', 'functions', + 'commands', 'builtins'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.3-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.3-intel-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..60b0fae0eda --- /dev/null +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.3-intel-2018b-Python-3.6.6.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'CVXOPT' +version = '1.2.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://cvxopt.org' +description = """CVXOPT is a free software package for convex optimization based on the Python programming language. + Its main purpose is to make the development of software for convex optimization applications straightforward by + building on Python's extensive standard library and on the strengths of Python as a high-level programming language. +""" + +toolchain = {'name': 'intel', 'version': '2018b'} +toolchainopts = {'pic': True} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['CVXOPT-1.2.1-fix-setup-py.patch'] +checksums = [ + 'ea62a2a1b8e2db3a6ae44ac394f58e4620149af226c250c6f2b18739b48cfc21', # cvxopt-1.2.3.tar.gz + '85d8475098895e9af45f330489a712b5b944489c5fb4a6c67f59bef8fed4303d', # CVXOPT-1.2.1-fix-setup-py.patch +] + +dependencies = [ + ('Python', '3.6.6'), + ('SuiteSparse', '5.1.2', '-METIS-5.1.0'), + ('GSL', '2.5'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = 'CVXOPT_BUILD_FFTW=1 CVXOPT_BUILD_GSL=1 CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK" ' +preinstallopts += 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT" CVXOPT_SUITESPARSE_SRC_DIR=$EBROOTSUITESPARSE' + +installopts = ' --no-binary cvxopt' + +sanity_pip_check = True + +sanity_check_commands = ['cd %(builddir)s/%(namelower)s-%(version)s && nosetests'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.6-foss-2021a.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.6-foss-2021a.eb new file mode 100644 index 00000000000..5452340e79c --- /dev/null +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.2.6-foss-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'CVXOPT' +version = '1.2.6' + +homepage = 'https://cvxopt.org' +description = """CVXOPT is a free software package for convex optimization based on the Python programming language. + Its main purpose is to make the development of software for convex optimization applications straightforward by + building on Python's extensive standard library and on the strengths of Python as a high-level programming language. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['CVXOPT-1.2.1-fix-setup-py.patch'] +checksums = [ + 'a4c433706fd0ad9d47e7f222773a7f7601766fb8e74b633524b3c3fce29aa73e', # cvxopt-1.2.6.tar.gz + '85d8475098895e9af45f330489a712b5b944489c5fb4a6c67f59bef8fed4303d', # CVXOPT-1.2.1-fix-setup-py.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('GSL', '2.7'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'CVXOPT_BUILD_FFTW=1 CVXOPT_BUILD_GSL=1 CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBLAPACK" ' +preinstallopts += 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT" CVXOPT_SUITESPARSE_SRC_DIR=$EBROOTSUITESPARSE' + +installopts = ' --no-binary cvxopt' + +sanity_check_commands = ['cd %(builddir)s/%(namelower)s-%(version)s && nosetests'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb new file mode 100644 index 00000000000..2c32ff36414 --- /dev/null +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'CVXOPT' +version = '1.3.1' + +homepage = 'https://cvxopt.org' +description = """CVXOPT is a free software package for convex optimization based on the Python programming language. + Its main purpose is to make the development of software for convex optimization applications straightforward by + building on Python's extensive standard library and on the strengths of Python as a high-level programming language. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] + +patches = ['CVXOPT-1.3.1_fix-setup-py.patch'] + +checksums = [ + '8d567981cbfa2a4ba1667b3e6f73cb941cf1c6992bf1438911035963294aa498', # cvxopt-1.3.1.tar.gz + '350904c0427d4652fc73b95b7e0d78a17c917cb94ed6c356dbbbfb07f2173849', # CVXOPT-1.3.1_fix-setup-py.patch +] + +dependencies = [ + ('Python', '3.10.4'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('GSL', '2.7'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = " ".join([ + 'CVXOPT_BUILD_FFTW=1', + 'CVXOPT_BUILD_GSL=1', + 'CVXOPT_BLAS_EXTRA_LINK_ARGS="$LIBBLAS"', + 'CVXOPT_LAPACK_EXTRA_LINK_ARGS="$LIBLAPACK"', + 'CVXOPT_FFTW_EXTRA_LINK_ARGS="$LIBFFT"', + 'CVXOPT_SUITESPARSE_LIB_DIR=$EBROOTSUITESPARSE/lib', + 'CVXOPT_SUITESPARSE_INC_DIR=$EBROOTSUITESPARSE/include', +]) + +installopts = ' --no-binary cvxopt' + +sanity_check_commands = ['cd %(builddir)s/%(namelower)s-%(version)s && python -m unittest discover -s tests'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1_fix-setup-py.patch b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1_fix-setup-py.patch new file mode 100644 index 00000000000..4788469ac8f --- /dev/null +++ b/easybuild/easyconfigs/c/CVXOPT/CVXOPT-1.3.1_fix-setup-py.patch @@ -0,0 +1,130 @@ +# Patches the setup.py to use EB settings for BLAS/LAPACK, FFTW, etc +# original by wpoely86@gmail.com, ported to v1.2.1 by Kenneth Hoste (HPC-UGent) +# Update: Petr Král (INUITS) +diff -u cvxopt-1.3.1/setup.py.orig cvxopt-1.3.1/setup.py +--- cvxopt-1.3.1/setup.py.orig 2023-05-10 13:52:37.000000000 +0200 ++++ cvxopt-1.3.1/setup.py 2023-06-28 10:58:21.228590970 +0200 +@@ -90,9 +90,11 @@ + LAPACK_LIB = os.environ.get("CVXOPT_LAPACK_LIB",LAPACK_LIB) + BLAS_LIB_DIR = os.environ.get("CVXOPT_BLAS_LIB_DIR",BLAS_LIB_DIR) + BLAS_EXTRA_LINK_ARGS = os.environ.get("CVXOPT_BLAS_EXTRA_LINK_ARGS",BLAS_EXTRA_LINK_ARGS) ++FFTW_EXTRA_LINK_ARGS = os.environ.get("CVXOPT_FFTW_EXTRA_LINK_ARGS",'') + if type(BLAS_LIB) is str: BLAS_LIB = BLAS_LIB.strip().split(';') + if type(LAPACK_LIB) is str: LAPACK_LIB = LAPACK_LIB.strip().split(';') +-if type(BLAS_EXTRA_LINK_ARGS) is str: BLAS_EXTRA_LINK_ARGS = BLAS_EXTRA_LINK_ARGS.strip().split(';') ++if type(BLAS_EXTRA_LINK_ARGS) is str: BLAS_EXTRA_LINK_ARGS = BLAS_EXTRA_LINK_ARGS.strip().split(' ') ++if type(FFTW_EXTRA_LINK_ARGS) is str: FFTW_EXTRA_LINK_ARGS = FFTW_EXTRA_LINK_ARGS.strip().split(' ') + BUILD_GSL = int(os.environ.get("CVXOPT_BUILD_GSL",BUILD_GSL)) + GSL_LIB_DIR = os.environ.get("CVXOPT_GSL_LIB_DIR",GSL_LIB_DIR) + GSL_INC_DIR = os.environ.get("CVXOPT_GSL_INC_DIR",GSL_INC_DIR) +@@ -128,7 +130,7 @@ + # optional modules + + if BUILD_GSL: +- gsl = Extension('gsl', libraries = M_LIB + ['gsl'] + BLAS_LIB, ++ gsl = Extension('gsl', libraries = M_LIB + ['gsl'], + include_dirs = [ GSL_INC_DIR ], + library_dirs = [ GSL_LIB_DIR, BLAS_LIB_DIR ], + define_macros = GSL_MACROS, +@@ -137,11 +139,11 @@ + extmods += [gsl]; + + if BUILD_FFTW: +- fftw = Extension('fftw', libraries = ['fftw3'] + BLAS_LIB, ++ fftw = Extension('fftw', + include_dirs = [ FFTW_INC_DIR ], + library_dirs = [ FFTW_LIB_DIR, BLAS_LIB_DIR ], + define_macros = FFTW_MACROS, +- extra_link_args = BLAS_EXTRA_LINK_ARGS, ++ extra_link_args = BLAS_EXTRA_LINK_ARGS + FFTW_EXTRA_LINK_ARGS, + sources = ['src/C/fftw.c'] ) + extmods += [fftw]; + +@@ -153,7 +155,7 @@ + extmods += [glpk]; + + if BUILD_DSDP: +- dsdp = Extension('dsdp', libraries = ['dsdp'] + LAPACK_LIB + BLAS_LIB, ++ dsdp = Extension('dsdp', libraries = ['dsdp'], + include_dirs = [ DSDP_INC_DIR ], + library_dirs = [ DSDP_LIB_DIR, BLAS_LIB_DIR ], + extra_link_args = BLAS_EXTRA_LINK_ARGS, +@@ -162,19 +164,19 @@ + + # Required modules + +-base = Extension('base', libraries = M_LIB + LAPACK_LIB + BLAS_LIB, ++base = Extension('base', + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = ['src/C/base.c','src/C/dense.c','src/C/sparse.c']) + +-blas = Extension('blas', libraries = BLAS_LIB, ++blas = Extension('blas', + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = ['src/C/blas.c'] ) + +-lapack = Extension('lapack', libraries = LAPACK_LIB + BLAS_LIB, ++lapack = Extension('lapack', + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, +@@ -182,9 +184,10 @@ + + if not SUITESPARSE_SRC_DIR: + umfpack = Extension('umfpack', +- libraries = ['umfpack','cholmod','amd','colamd','suitesparseconfig'] + LAPACK_LIB + BLAS_LIB + RT_LIB, ++ libraries = ['umfpack','cholmod','amd','colamd','suitesparseconfig'] + RT_LIB, + include_dirs = [SUITESPARSE_INC_DIR], + library_dirs = [SUITESPARSE_LIB_DIR, BLAS_LIB_DIR], ++ extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = ['src/C/umfpack.c']) + else: + umfpack = Extension('umfpack', +@@ -195,7 +198,6 @@ + SUITESPARSE_SRC_DIR + '/SuiteSparse_config' ], + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS + [('NTIMER', '1'), ('NCHOLMOD', '1')], +- libraries = LAPACK_LIB + BLAS_LIB, + extra_compile_args = UMFPACK_EXTRA_COMPILE_ARGS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = [ 'src/C/umfpack.c', +@@ -208,14 +210,13 @@ + + if not SUITESPARSE_SRC_DIR: + cholmod = Extension('cholmod', +- libraries = ['cholmod','colamd','amd','suitesparseconfig'] + LAPACK_LIB + BLAS_LIB + RT_LIB, ++ libraries = ['cholmod','colamd','amd','suitesparseconfig'] + RT_LIB, + include_dirs = [SUITESPARSE_INC_DIR], + library_dirs = [SUITESPARSE_LIB_DIR, BLAS_LIB_DIR], + sources = [ 'src/C/cholmod.c' ]) + else: + cholmod = Extension('cholmod', + library_dirs = [ BLAS_LIB_DIR ], +- libraries = LAPACK_LIB + BLAS_LIB, + include_dirs = [ SUITESPARSE_SRC_DIR + '/CHOLMOD/Include', + SUITESPARSE_SRC_DIR + '/COLAMD', + SUITESPARSE_SRC_DIR + '/AMD/Include', +@@ -237,17 +238,18 @@ + libraries = ['amd','suitesparseconfig'] + RT_LIB, + include_dirs = [SUITESPARSE_INC_DIR], + library_dirs = [SUITESPARSE_LIB_DIR], ++ extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = ['src/C/amd.c']) + else: + amd = Extension('amd', + include_dirs = [SUITESPARSE_SRC_DIR + '/AMD/Include', + SUITESPARSE_SRC_DIR + '/SuiteSparse_config' ], + define_macros = MACROS + [('NTIMER', '1')], ++ extra_link_args = BLAS_EXTRA_LINK_ARGS, + sources = [ 'src/C/amd.c', SUITESPARSE_SRC_DIR + '/SuiteSparse_config/SuiteSparse_config.c'] + + glob(SUITESPARSE_SRC_DIR + '/AMD/Source/*.c') ) + + misc_solvers = Extension('misc_solvers', +- libraries = LAPACK_LIB + BLAS_LIB, + library_dirs = [ BLAS_LIB_DIR ], + define_macros = MACROS, + extra_link_args = BLAS_EXTRA_LINK_ARGS, diff --git a/easybuild/easyconfigs/c/CVXPY/CVXPY-1.3.0-foss-2022a.eb b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.3.0-foss-2022a.eb new file mode 100644 index 00000000000..81b5840c7b3 --- /dev/null +++ b/easybuild/easyconfigs/c/CVXPY/CVXPY-1.3.0-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'CVXPY' +version = '1.3.0' + +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': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('qdldl', '0.1.5.post3', { + 'checksums': ['69c092f6e1fc23fb779a80a62e6fcdfe2eba05c925860248c4d6754f4736938f'], + }), + ('osqp', '0.6.2.post8', { + 'checksums': ['23d6bae4a3612f60d5f652d0e5fa4b2ead507cabfff5d930d822057ae6ed6677'], + }), + ('ecos', '2.0.12', { + 'checksums': ['f48816d73b87ae325556ea537b7c8743187311403c80e3832035224156337c4e'], + }), + ('scs', '3.2.2', { + 'checksums': ['7206a2ad27ca031d693d65cbcbcfc661498f3983838079a66579bcc784b25293'], + }), + ('cvxpy', version, { + 'checksums': ['66cce67bdc635b9b29066510474392c0cfc0d95db8adda4010dc8cdd8e046250'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' 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/CVglasso/CVglasso-1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/c/CVglasso/CVglasso-1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2fce2f9317f --- /dev/null +++ b/easybuild/easyconfigs/c/CVglasso/CVglasso-1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,25 @@ +easyblock = 'RPackage' + +name = 'CVglasso' +version = '1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/MGallow/CVglasso' +description = """CVglasso is an R package that estimates a lasso-penalized + precision matrix via block-wise coordinate descent – also known as + the graphical lasso (glasso) algorithm.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cran.r-project.org/src/contrib/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['cd31d042f71cf7c46cca3ed07f15f609b8d1bdda102ae7cbc670290f1a4b00ae'] + +dependencies = [('R', '4.2.1')] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2021a.eb b/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2021a.eb new file mode 100644 index 00000000000..cdd531cbacf --- /dev/null +++ b/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2021a.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'CWIPI' +version = '0.12.0' + +homepage = 'https://w3.onera.fr/cwipi/' +description = """CWIPI (Coupling With Interpolation Parallel Interface) library helps in +chaining and coupling codes. Provides exchanges of interpolated fields through +a non-compliant geometric interface and allows control of the coupling +algorithm using control parameters. CWIPI takes advantage of the distribution +of the definition of the coupling algorithm in the different codes. +""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://w3.onera.fr/cwipi/sites/w3.onera.fr.cwipi/files/u4'] +sources = [SOURCELOWER_TGZ] +checksums = ['775dedd6afd5e148f008fc19b98ad0879a0091880af682cbed89c4978bef5575'] + +builddependencies = [('CMake', '3.20.1')] + +configopts = "-DCWP_ENABLE_Fortran=ON" + +_cwipi_bin = ['c_linear_coupling', 'c_surf_coupling_P1P0_P0P1', 'c_surf_coupling_P1P1', + 'c_surf_coupling_simple_location', 'c_surf_coupling_vector_exchange', 'c_surf_location_triaP2', + 'c_surf_sequential_coupling', 'c_vol_coupling_P1P1', 'c_vol_coupling_polyhedra_P1P1', + 'fortran_plane_PiQj', 'fortran_surf_P1P1', 'fortran_surf_PiQj'] + +# Only sanity check installation files as the tools of CWIPI need at least 2 MPI processes to run +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _cwipi_bin] + + ['lib/libcwp.a', 'lib/libcwp.%s' % SHLIB_EXT, 'lib/libcwpf.a', 'lib/libcwpf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2022a.eb b/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2022a.eb new file mode 100644 index 00000000000..fd7fa04b95c --- /dev/null +++ b/easybuild/easyconfigs/c/CWIPI/CWIPI-0.12.0-gompi-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'CWIPI' +version = '0.12.0' + +homepage = 'https://w3.onera.fr/cwipi/' +description = """CWIPI (Coupling With Interpolation Parallel Interface) library helps in +chaining and coupling codes. Provides exchanges of interpolated fields through +a non-compliant geometric interface and allows control of the coupling +algorithm using control parameters. CWIPI takes advantage of the distribution +of the definition of the coupling algorithm in the different codes. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://w3.onera.fr/cwipi/sites/default/files/2023-10'] +sources = [SOURCELOWER_TGZ] +checksums = ['775dedd6afd5e148f008fc19b98ad0879a0091880af682cbed89c4978bef5575'] + +builddependencies = [('CMake', '3.24.3')] + +configopts = "-DCWP_ENABLE_Fortran=ON" + +_cwipi_bin = ['c_linear_coupling', 'c_surf_coupling_P1P0_P0P1', 'c_surf_coupling_P1P1', + 'c_surf_coupling_simple_location', 'c_surf_coupling_vector_exchange', 'c_surf_location_triaP2', + 'c_surf_sequential_coupling', 'c_vol_coupling_P1P1', 'c_vol_coupling_polyhedra_P1P1', + 'fortran_plane_PiQj', 'fortran_surf_P1P1', 'fortran_surf_PiQj'] + +# Only sanity check installation files as the tools of CWIPI need at least 2 MPI processes to run +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _cwipi_bin] + + ['lib/libcwp.a', 'lib/libcwp.%s' % SHLIB_EXT, 'lib/libcwpf.a', 'lib/libcwpf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-2.7.14.eb new file mode 100644 index 00000000000..aa81fc28ef0 --- /dev/null +++ b/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-2.7.14.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'Calcam' +version = '2.1.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://euratom-software.github.io/calcam' + +description = """Calcam is a Python package providing tools for spatial calibration + of cameras, i.e. determining the mapping between pixel coordinates in an image and + real-world 3D sight lines & coordinates.""" + +toolchain = {'name': 'intel', 'version': '2018a'} + +source_urls = ['https://github.com/euratom-software/calcam/archive'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'download_filename': 'v%(version)s.tar.gz', # provided source tarball is not versioned... +}] +checksums = ['8348545719209650ac62ed8c77087ec6e42df77995ead59f3b2e035da962a679'] + +dependencies = [ + ('Python', '2.7.14'), + ('matplotlib', '2.1.2', '-Python-%(pyver)s'), + ('OpenCV', '3.4.1', '-Python-%(pyver)s'), + ('PyQt5', '5.9.2', '-Python-%(pyver)s'), + ('VTK', '8.1.0', '-Python-%(pyver)s'), +] + +download_dep_fail = True +use_pip = True + +# Pip asks whether an update from Calcam 1.x data representation to Calcam 2 is desired. +# The following line answers "n" to this question and skips the conversion. +preinstallopts = 'echo n |' + +sanity_check_paths = { + 'files': ['bin/calcam'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-3.6.4.eb new file mode 100644 index 00000000000..14e871b7aee --- /dev/null +++ b/easybuild/easyconfigs/c/Calcam/Calcam-2.1.0-intel-2018a-Python-3.6.4.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'Calcam' +version = '2.1.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://euratom-software.github.io/calcam' + +description = """Calcam is a Python package providing tools for spatial calibration + of cameras, i.e. determining the mapping between pixel coordinates in an image and + real-world 3D sight lines & coordinates.""" + +toolchain = {'name': 'intel', 'version': '2018a'} + +source_urls = ['https://github.com/euratom-software/calcam/archive'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'download_filename': 'v%(version)s.tar.gz', # provided source tarball is not versioned... +}] +checksums = ['8348545719209650ac62ed8c77087ec6e42df77995ead59f3b2e035da962a679'] + +dependencies = [ + ('Python', '3.6.4'), + ('matplotlib', '2.1.2', '-Python-%(pyver)s'), + ('OpenCV', '3.4.1', '-Python-%(pyver)s'), + ('PyQt5', '5.9.2', '-Python-%(pyver)s'), + ('VTK', '8.1.0', '-Python-%(pyver)s'), +] + +download_dep_fail = True +use_pip = True + +# Pip asks whether an update from Calcam 1.x data representation to Calcam 2 is desired. +# The following line answers "n" to this question and skips the conversion. +preinstallopts = 'echo n |' + +sanity_check_paths = { + 'files': ['bin/calcam'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2021a.eb b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2021a.eb new file mode 100644 index 00000000000..723fc090225 --- /dev/null +++ b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2021a.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': '2021a'} + +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.32.1', '-minimal'), +] + +dependencies = [ + ('arpack-ng', '3.8.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/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2022b.eb b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2022b.eb new file mode 100644 index 00000000000..a79e07f059f --- /dev/null +++ b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20-foss-2022b.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': '2022b'} + +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.0'), +] + +dependencies = [ + ('arpack-ng', '3.8.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/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/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20_improve-makefile.patch b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20_improve-makefile.patch new file mode 100644 index 00000000000..63ef672d908 --- /dev/null +++ b/easybuild/easyconfigs/c/CalculiX-CrunchiX/CalculiX-CrunchiX-2.20_improve-makefile.patch @@ -0,0 +1,39 @@ +Author: Jasper Grimm +Description: Makefile hardening, link shared libraries not hardcoded static ones +---------------------------------------------------------------------------------- +diff -Nru CalculiX/ccx_2.20/src/Makefile CalculiX.1/ccx_2.20/src/Makefile +--- CalculiX/ccx_2.20/src/Makefile 2022-07-31 17:06:31.000000000 +0100 ++++ CalculiX.1/ccx_2.20/src/Makefile 2022-12-06 16:24:27.000000000 +0000 +@@ -1,9 +1,9 @@ + +-CFLAGS = -Wall -O2 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT +-FFLAGS = -Wall -O2 ++CFLAGS += -Wall -O2 -I$(SPOOLES_INC_DIR) -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT ++FFLAGS += -Wall -O2 + +-CC=cc +-FC=gfortran ++CC?=cc ++FC?=gfortran + + .c.o : + $(CC) $(CFLAGS) -c $< +@@ -18,15 +18,10 @@ + OCCXC = $(SCCXC:.c=.o) + OCCXMAIN = $(SCCXMAIN:.c=.o) + +-DIR=../../../SPOOLES.2.2 ++LIBS = -lspooles -lpthread -larpack -lflexiblas -lm -lc + +-LIBS = \ +- $(DIR)/spooles.a \ +- ../../../ARPACK/libarpack_INTEL.a \ +- -lpthread -lm -lc +- +-ccx_2.20: $(OCCXMAIN) ccx_2.20.a $(LIBS) +- ./date.pl; $(CC) $(CFLAGS) -c ccx_2.20.c; $(FC) -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.20.a $(LIBS) -fopenmp ++ccx_2.20: $(OCCXMAIN) ccx_2.20.a ++ ./date.pl; $(CC) $(CFLAGS) -c ccx_2.20.c; $(FC) -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.20.a $(LIBS) -fopenmp $(LDFLAGS) + + ccx_2.20.a: $(OCCXF) $(OCCXC) + ar vr $@ $? diff --git a/easybuild/easyconfigs/c/Calib/Calib-0.3.4-GCC-9.3.0.eb b/easybuild/easyconfigs/c/Calib/Calib-0.3.4-GCC-9.3.0.eb index 3e46af0a6b5..28b8fd81ade 100644 --- a/easybuild/easyconfigs/c/Calib/Calib-0.3.4-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/c/Calib/Calib-0.3.4-GCC-9.3.0.eb @@ -42,7 +42,7 @@ buildopts = 'CXXFLAGS="$CXXFLAGS -pthread -Iclustering/ -lz" && ' # building calib_cons requires SPOA, so build that first buildopts += "mv %(builddir)s/spoa-1.1.3 %(builddir)s/calib-%(version)s/consensus/spoa_v1.1.3 && " buildopts += "mkdir consensus/spoa_v1.1.3/build && cd consensus/spoa_v1.1.3/build && " -buildopts += "cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON .. && make && " +buildopts += "cmake -DCMAKE_VERBOSE_MAKEFILE=ON .. && make && " buildopts += "cd - && make -C consensus" files_to_copy = [(['calib', 'consensus/calib_cons'], 'bin')] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-foss-2017b-Python-2.7.14.eb index dea47b25389..4b4cf0047b5 100644 --- a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-foss-2017b-Python-2.7.14.eb @@ -31,7 +31,7 @@ dependencies = [ ] builddependencies = [ ('SCons', '3.0.1', versionsuffix), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('googletest', '1.8.0'), ('fmt', '3.0.2'), ] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017a-Python-2.7.13.eb index 2aca050dae2..a34dff6cd90 100644 --- a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017a-Python-2.7.13.eb @@ -30,7 +30,7 @@ dependencies = [ builddependencies = [ ('SCons', '2.5.1', versionsuffix), ('3to2', '1.1.1', versionsuffix), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('fmt', '3.0.2'), ('googletest', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017b-Python-2.7.14.eb index adf2eb1798e..cd969a41467 100644 --- a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2017b-Python-2.7.14.eb @@ -31,7 +31,7 @@ dependencies = [ ] builddependencies = [ ('SCons', '3.0.1', versionsuffix), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('fmt', '3.0.2'), ('googletest', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2018a-Python-2.7.14.eb index 49e2af27122..396bc3cc844 100644 --- a/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.3.0-intel-2018a-Python-2.7.14.eb @@ -31,7 +31,7 @@ dependencies = [ ] builddependencies = [ ('SCons', '3.0.1', versionsuffix), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('fmt', '3.0.2'), ('googletest', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.4.0-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.4.0-intel-2018a-Python-2.7.14.eb index dd2f84d5e11..64fbb834858 100644 --- a/easybuild/easyconfigs/c/Cantera/Cantera-2.4.0-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.4.0-intel-2018a-Python-2.7.14.eb @@ -21,7 +21,7 @@ dependencies = [ ] builddependencies = [ ('SCons', '3.0.1', versionsuffix), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('fmt', '3.0.2'), ('googletest', '1.8.0'), ] diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-2.6.0-foss-2022a.eb b/easybuild/easyconfigs/c/Cantera/Cantera-2.6.0-foss-2022a.eb new file mode 100644 index 00000000000..c5e1ed193ac --- /dev/null +++ b/easybuild/easyconfigs/c/Cantera/Cantera-2.6.0-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'SCons' + +name = 'Cantera' +version = '2.6.0' + +homepage = 'https://github.com/Cantera/cantera' +description = """Chemical kinetics, thermodynamics, and transport tool suite""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/Cantera/cantera/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7273622ea76a53373cee820f939613b15eea3dd83db6e1b127c5ed043f77dc5b'] + +dependencies = [ + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('pygraphviz', '1.10'), + ('JupyterLab', '3.5.0'), + ('matplotlib', '3.5.2'), + ('Boost', '1.79.0'), + ('SUNDIALS', '6.5.1'), + ('yaml-cpp', '0.7.0'), + ('ruamel.yaml', '0.17.21'), +] +builddependencies = [ + ('SCons', '4.4.0'), + ('Eigen', '3.4.0'), + ('fmt', '9.1.0'), + ('googletest', '1.11.0'), +] + +local_common_opts = 'env_vars=all CC="$CC" CXX="$CXX" cc_flags="$CFLAGS" cxx_flags="$CXXFLAGS" ' +local_common_opts += 'blas_lapack_libs=flexiblas blas_lapack_dir=$BLAS_LAPACK_LIB_DIR ' +local_common_opts += 'sundials_include=$EBROOTSUNDIALS/include sundials_libdir=$EBROOTSUNDIALS/lib' +buildopts = 'build ' + local_common_opts +# tests hang, so disable them for now +# runtest = 'test ' + local_common_opts +installopts = 'install ' + local_common_opts +prefix_arg = 'prefix=' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/ck2cti'], + 'dirs': ['include/cantera', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('python', "-c 'import cantera'")] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Cantera/Cantera-3.0.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cantera/Cantera-3.0.0-foss-2023a.eb new file mode 100644 index 00000000000..6c72b7b0f23 --- /dev/null +++ b/easybuild/easyconfigs/c/Cantera/Cantera-3.0.0-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'SCons' + +name = 'Cantera' +version = '3.0.0' + +homepage = 'https://github.com/Cantera/cantera' +description = """Chemical kinetics, thermodynamics, and transport tool suite""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'strict': True} + +source_urls = ['https://github.com/Cantera/cantera/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6d17cdef21dae9deaf91351260b68ccf7e264c37c6030c9d4bf26a2cefb2b905'] + +builddependencies = [ + ('SCons', '4.5.2'), + ('Eigen', '3.4.0'), + ('fmt', '10.1.0'), + ('googletest', '1.13.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('pygraphviz', '1.11'), + ('JupyterLab', '4.0.5'), + ('matplotlib', '3.7.2'), + ('Boost', '1.82.0'), + ('SUNDIALS', '6.6.0'), + ('yaml-cpp', '0.7.0'), + ('ruamel.yaml', '0.17.32'), + ('HighFive', '2.7.1'), +] + +local_common_opts = 'env_vars=all CC="$CC" CXX="$CXX" cc_flags="$CFLAGS" cxx_flags="$CXXFLAGS" ' +local_common_opts += 'blas_lapack_libs=flexiblas blas_lapack_dir=$BLAS_LAPACK_LIB_DIR ' +local_common_opts += 'sundials_include=$EBROOTSUNDIALS/include sundials_libdir=$EBROOTSUNDIALS/lib' +buildopts = 'build ' + local_common_opts +# tests hang, so disable them for now +# runtest = 'test ' + local_common_opts +installopts = 'install ' + local_common_opts +prefix_arg = 'prefix=' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/cti2yaml'], + 'dirs': ['include/cantera', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cti2yaml --help", + "python -c 'import cantera'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..abe914d7bd6 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.2-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.10.2' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['7cd91a244cb330cda5b41f4904f94b61f39ba112835b31fa8c3764cedbed819f'] + +builddependencies = [('binutils', '2.38')] + +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/CapnProto/CapnProto-0.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4c35e236eac --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.10.3' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['97fde3cf05129db919453af4ef6c6a415662111c2e6e9b5194e2566d44b8507a'] + +builddependencies = [('binutils', '2.39')] + +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/CapnProto/CapnProto-0.8.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.8.0-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..5d695d37d16 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.8.0-GCCcore-9.3.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.8.0 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.8.0' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +# -std=c++17 to avoid problems like "error: 'aligned_alloc' was not declared in this scope" +# lowopt (-O1) to avoid problems like "capnp/schema-loader.c++:1971: failed: no schema node loaded for ..." +# (only on Intel Skylake?) +toolchainopts = {'cstd': 'c++17', 'lowopt': True} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['d1f40e47574c65700f0ec98bf66729378efabe3c72bc0cda795037498541c10d'] + +builddependencies = [('binutils', '2.34')] + +sanity_check_paths = { + 'files': ['bin/capnp', 'bin/capnpc', 'bin/capnpc-c++', 'bin/capnpc-capnp'], + 'dirs': ['include/capnp', 'include/kj', 'lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5f3f76e2e2a --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.9.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': '10.2.0'} +# -std=c++17 to avoid problems like "error: 'aligned_alloc' was not declared in this scope" +# lowopt (-O1) to avoid problems like "capnp/schema-loader.c++:1971: failed: no schema node loaded for ..." +# (only on Intel Skylake?) +toolchainopts = {'cstd': 'c++17', 'lowopt': True} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['83680aaef8c192b884e38eab418b8482d321af6ae7ab7befa3a9370b8e716aad'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['bin/capnp', 'bin/capnpc', 'bin/capnpc-c++', 'bin/capnpc-capnp'], + 'dirs': ['include/capnp', 'include/kj', 'lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..114627e0f59 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.9.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': '10.3.0'} +# -std=c++17 to avoid problems like "error: 'aligned_alloc' was not declared in this scope" +# lowopt (-O1) to avoid problems like "capnp/schema-loader.c++:1971: failed: no schema node loaded for ..." +# (only on Intel Skylake?) +toolchainopts = {'cstd': 'c++17', 'lowopt': True} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['83680aaef8c192b884e38eab418b8482d321af6ae7ab7befa3a9370b8e716aad'] + +builddependencies = [('binutils', '2.36.1')] + +sanity_check_paths = { + 'files': ['bin/capnp', 'bin/capnpc', 'bin/capnpc-c++', 'bin/capnpc-capnp'], + 'dirs': ['include/capnp', 'include/kj', 'lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f4e16deac46 --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-0.9.1-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to 0.9.1 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'CapnProto' +version = '0.9.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': '11.2.0'} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['83680aaef8c192b884e38eab418b8482d321af6ae7ab7befa3a9370b8e716aad'] + +builddependencies = [('binutils', '2.37')] + +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/CapnProto/CapnProto-1.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CapnProto/CapnProto-1.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f0caa438cfa --- /dev/null +++ b/easybuild/easyconfigs/c/CapnProto/CapnProto-1.0.1-GCCcore-12.3.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' + +homepage = 'https://capnproto.org' +description = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://capnproto.org/'] +sources = ['capnproto-c++-%(version)s.tar.gz'] +checksums = ['0f7f4b8a76a2cdb284fddef20de8306450df6dd031a47a15ac95bc43c3358e09'] + +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/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/Carma/Carma-2.01-foss-2019b.eb b/easybuild/easyconfigs/c/Carma/Carma-2.01-foss-2019b.eb new file mode 100644 index 00000000000..20eedb9845c --- /dev/null +++ b/easybuild/easyconfigs/c/Carma/Carma-2.01-foss-2019b.eb @@ -0,0 +1,33 @@ +# # +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Helena Gomez , Erica Bianco, Danilo Gonzalez, Jordi Blasco +# License:: GPL-v3.0 +# # + +easyblock = 'CmdCp' + +name = 'Carma' +version = '2.01' + +homepage = 'http://utopia.duth.gr/~glykos/Carma.html' +description = """Carma - A molecular dynamics analysis program""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +source_urls = ['http://utopia.duth.gr/~glykos/progs/'] +sources = ['%(namelower)s.tar.gz'] +checksums = ['f32cfc2e348691f252d3593e281303d1202e31befba14565aba022331d50b9f3'] + +start_dir = 'src' +cmds_map = [('.*', "$CC $CFLAGS -O -c Color_carma.c && $FC $FFLAGS $LIBBLAS -O Color_carma.o -o carma")] +files_to_copy = [(['carma'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/carma'], + 'dirs': [''], +} + +sanity_check_commands = ['carma'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-foss-2020b.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-foss-2020b.eb new file mode 100644 index 00000000000..4ce73ac7ec1 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-foss-2020b.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.19.0.post1' + +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': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Fiona', '1.8.20'), + ('GDAL', '3.2.1'), + ('GEOS', '3.9.1'), + ('matplotlib', '3.3.3'), + ('pyproj', '3.0.1'), + ('SciPy-bundle', '2020.11'), + ('Shapely', '1.8a1'), + ('lxml', '4.6.2'), + ('Pillow', '8.0.1'), + ('PROJ', '7.2.1'), + ('PyYAML', '5.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.24.1', { + 'checksums': ['4973c2ba65ec850a3fcc1fb94cefe5ed2fed83aaf2a5e2135c78810ad2a8f0e1'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.4', { + 'checksums': ['bebe5c608129f2997e88510c00010b9a78581b394924c0e3ecd131d52415165d'], + }), + ('pyshp', '2.1.3', { + 'modulename': 'shapefile', + 'checksums': ['e32b4a6832a3b97986df442df63b4c4a7dcc846b326c903189530a5cc6df0260'], + }), + (name, version, { + 'checksums': ['4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-intel-2020b.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-intel-2020b.eb new file mode 100644 index 00000000000..2301189a3a7 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.19.0.post1-intel-2020b.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.19.0.post1' + +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': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Fiona', '1.8.20'), + ('GDAL', '3.2.1'), + ('GEOS', '3.9.1'), + ('matplotlib', '3.3.3'), + ('pyproj', '3.0.1'), + ('SciPy-bundle', '2020.11'), + ('Shapely', '1.8a1'), + ('lxml', '4.6.2'), + ('Pillow', '8.0.1'), + ('PROJ', '7.2.1'), + ('PyYAML', '5.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.24.1', { + 'checksums': ['4973c2ba65ec850a3fcc1fb94cefe5ed2fed83aaf2a5e2135c78810ad2a8f0e1'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.4', { + 'checksums': ['bebe5c608129f2997e88510c00010b9a78581b394924c0e3ecd131d52415165d'], + }), + ('pyshp', '2.1.3', { + 'modulename': 'shapefile', + 'checksums': ['e32b4a6832a3b97986df442df63b4c4a7dcc846b326c903189530a5cc6df0260'], + }), + (name, version, { + 'checksums': ['4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.0-foss-2021a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.0-foss-2021a.eb new file mode 100644 index 00000000000..7cf98863f44 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.0-foss-2021a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.20.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Fiona', '1.8.20'), + ('GDAL', '3.3.0'), + ('GEOS', '3.9.1'), + ('matplotlib', '3.4.2'), + ('pyproj', '3.1.0'), + ('SciPy-bundle', '2021.05'), + ('Shapely', '1.8a1'), + ('lxml', '4.6.3'), + ('Pillow', '8.2.0'), + ('PROJ', '8.0.1'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.25.0', { + 'checksums': ['20d79bce0be10277caa36f3134826bd0065325df0301a55b2c8b1c338d8d8f0a'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.4', { + 'checksums': ['bebe5c608129f2997e88510c00010b9a78581b394924c0e3ecd131d52415165d'], + }), + ('pyshp', '2.1.3', { + 'modulename': 'shapefile', + 'checksums': ['e32b4a6832a3b97986df442df63b4c4a7dcc846b326c903189530a5cc6df0260'], + }), + (name, version, { + 'checksums': ['eae58aff26806e63cf115b2bce9477cedc4aa9f578c5e477b2c25cfa404f2b7a'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb new file mode 100644 index 00000000000..7238ae75ac7 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.20.3' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('Fiona', '1.8.21'), + ('GDAL', '3.3.2'), + ('GEOS', '3.9.1'), + ('matplotlib', '3.4.3'), + ('SciPy-bundle', '2021.10'), + ('Shapely', '1.8.2'), + ('lxml', '4.6.3'), + ('Pillow', '8.3.2'), + ('PROJ', '8.1.0'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +sanity_pip_check = True + +# owslib 0.26.0 requires pyproj < 3.3.0 +exts_list = [ + ('pyproj', '3.2.1', { + 'preinstallopts': "export PROJ_DIR=$EBROOTPROJ && ", + 'checksums': ['4a936093825ff55b24c1fc6cc093541fcf6d0f6d406589ed699e62048ebf3877'], + }), + ('OWSLib', '0.26.0', { + 'checksums': ['8c4cb06338eb6405c2aeced0b6d085682aa61f0f2e528f1c788d68dc50df941b'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.5', { + 'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'], + }), + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + (name, version, { + 'checksums': ['0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb new file mode 100644 index 00000000000..436e9a24ca9 --- /dev/null +++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cartopy' +version = '0.20.3' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Fiona', '1.8.21'), + ('GDAL', '3.5.0'), + ('GEOS', '3.10.3'), + ('matplotlib', '3.5.2'), + ('pyproj', '3.4.0'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), + ('lxml', '4.9.1'), + ('Pillow', '9.1.1'), + ('PROJ', '9.0.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('OWSLib', '0.27.2', { + 'checksums': ['e102aa2444dfe0c8439ab1e1776cc0fa47cea28c09b8a28212c893c6017c179b'], + }), + ('pyepsg', '0.4.0', { + 'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'], + }), + ('pykdtree', '1.3.5', { + 'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'], + }), + ('pyshp', '2.3.1', { + 'modulename': 'shapefile', + 'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'], + }), + (name, version, { + 'checksums': ['0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006'], + }), +] + +moduleclass = 'geo' 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..73fc95af612 --- /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.8'), + ('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/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..13264c0021f --- /dev/null +++ b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'Casanovo' +version = '3.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://casanovo.readthedocs.io' +description = "De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('lxml', '4.9.1'), + ('einops', '0.4.1'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyTorch-Lightning', '1.8.4', versionsuffix), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4', versionsuffix), + ('tensorboard', '2.10.0'), +] + +exts_list = [ + ('pyteomics', '4.5.6', { + 'checksums': ['8c6e79068f18d853218967a312c22861422df69fdcf62499a258526f687b126f'], + }), + ('depthcharge-ms', '0.1.0', { + 'checksums': ['237f8e70fd237fdc945882e981170321ac7da2638ba24b52f72dad9ff2262096'], + 'modulename': 'depthcharge', + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('PyGithub', '1.58.1', { + 'checksums': ['7d528b4ad92bc13122129fafd444ce3d04c47d2d801f6446b6e6ee2d410235b3'], + 'modulename': 'github', + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('fastobo', '0.12.2', { + 'checksums': ['2f2779f70ac54874329dddc74cabd86fea88abe56c544c2238076c1d27fe045e'], + }), + ('lark', '1.1.5', { + 'checksums': ['4b534eae1f9af5b4ea000bea95776350befe1981658eea3820a01c37e504bb4d'], + }), + ('spectrum-utils', '0.4.1', { + 'sources': ['spectrum_utils-%(version)s.tar.gz'], + 'checksums': ['c4f1c80de8144fb8d6fc276968ef4d5e896dad03bb8a9316f69c73ee82affd85'], + }), + ('casanovo', version, { + 'checksums': ['d9358c64a549d00f0568ebef65d5500ad63041e9ea2ebd348a7e650c8177ff81'], + }), +] + +sanity_check_paths = { + 'files': ['bin/casanovo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["casanovo --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb new file mode 100644 index 00000000000..8318aafc346 --- /dev/null +++ b/easybuild/easyconfigs/c/Casanovo/Casanovo-3.3.0-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'Casanovo' +version = '3.3.0' + +homepage = 'https://casanovo.readthedocs.io' +description = "De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('lxml', '4.9.1'), + ('einops', '0.4.1'), + ('PyTorch', '1.12.0'), + ('PyTorch-Lightning', '1.8.4'), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4'), + ('tensorboard', '2.10.0'), +] + +exts_list = [ + ('pyteomics', '4.5.6', { + 'checksums': ['8c6e79068f18d853218967a312c22861422df69fdcf62499a258526f687b126f'], + }), + ('depthcharge-ms', '0.1.0', { + 'checksums': ['237f8e70fd237fdc945882e981170321ac7da2638ba24b52f72dad9ff2262096'], + 'modulename': 'depthcharge', + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('PyGithub', '1.58.1', { + 'checksums': ['7d528b4ad92bc13122129fafd444ce3d04c47d2d801f6446b6e6ee2d410235b3'], + 'modulename': 'github', + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('fastobo', '0.12.2', { + 'checksums': ['2f2779f70ac54874329dddc74cabd86fea88abe56c544c2238076c1d27fe045e'], + }), + ('lark', '1.1.5', { + 'checksums': ['4b534eae1f9af5b4ea000bea95776350befe1981658eea3820a01c37e504bb4d'], + }), + ('spectrum-utils', '0.4.1', { + 'sources': ['spectrum_utils-%(version)s.tar.gz'], + 'checksums': ['c4f1c80de8144fb8d6fc276968ef4d5e896dad03bb8a9316f69c73ee82affd85'], + }), + ('casanovo', version, { + 'checksums': ['d9358c64a549d00f0568ebef65d5500ad63041e9ea2ebd348a7e650c8177ff81'], + }), +] + +sanity_check_paths = { + 'files': ['bin/casanovo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["casanovo --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb new file mode 100644 index 00000000000..69b70834b9b --- /dev/null +++ b/easybuild/easyconfigs/c/Cassiopeia/Cassiopeia-2.0.0-foss-2023a.eb @@ -0,0 +1,132 @@ +easyblock = 'PythonBundle' + +name = 'Cassiopeia' +version = '2.0.0' + +homepage = 'https://github.com/YosefLab/Cassiopeia' +description = """A Package for Cas9-Enabled Single Cell Lineage Tracing Tree Reconstruction.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Biopython', '1.83'), + ('scikit-build', '0.17.6'), + ('bokeh', '3.2.2'), + ('ETE', '3.1.3'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('Pysam', '0.22.0'), + ('PyYAML', '6.0'), + ('typing-extensions', '4.9.0'), + ('tqdm', '4.66.1'), + ('hatchling', '1.18.0'), + ('BeautifulSoup', '4.12.2'), + ('statsmodels', '0.14.1'), + ('Seaborn', '0.13.2'), + ('IPython', '8.14.0'), + ('PyZMQ', '25.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hatch_jupyter_builder', '0.9.1', { + 'checksums': ['79278198d124c646b799c5e8dca8504aed9dcaaa88d071a09eb0b5c2009a58ad'], + }), + ('hatch_nodejs_version', '0.3.2', { + 'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyter_client', '8.6.1', { + 'checksums': ['e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f'], + }), + ('widgetsnbextension', '4.0.10', { + 'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], + }), + ('jupyterlab_widgets', '3.0.10', { + 'checksums': ['04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('ipywidgets', '8.1.2', { + 'checksums': ['d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9'], + }), + ('bleach', '6.1.0', { + 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('jupyter_core', '5.7.2', { + 'checksums': ['aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'], + }), + ('jupyterlab_pygments', '0.3.0', { + 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('nbclient', '0.10.0', { + 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], + }), + ('pandocfilters', '1.5.1', { + 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], + }), + ('tinycss2', '1.2.1', { + 'checksums': ['8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627'], + }), + ('traitlets', '5.14.2', { + 'checksums': ['8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9'], + }), + ('shortuuid', '1.0.13', { + 'checksums': ['3bb9cf07f606260584b1df46399c0b87dd84773e7b25912b7e391e30797c5e72'], + }), + ('ngs-tools', '1.8.5', { + 'checksums': ['380e236a101c5b1ac3c0fcdbcc908a210179b6ef2a93fbea9f4eb0ec2edc1de0'], + }), + ('nbformat', '5.10.3', { + 'checksums': ['60ed5e910ef7c6264b87d644f276b1b49e24011930deef54605188ddeb211685'], + }), + ('nbconvert', '7.16.3', { + 'checksums': ['a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142'], + }), + ('itolapi', '4.1.4', { + 'checksums': ['68e87ba51d209da556b0e373b3b0456b644a1a732c193fedbd7785ff37b6a2cb'], + }), + ('hits', '0.4.0', { + 'checksums': ['743bfc1b56ab8fcf9fefacfcad4c1f23e9bafec1b42225709dbe097c8e669383'], + }), + ('Levenshtein', '0.22.0', { + 'modulename': False, + 'checksums': ['86d285d770551cb648d4fcfe5243449a479e694e56b65272dc6cbda879012051'], + }), + ('python-Levenshtein', '0.22.0', { + 'modulename': 'Levenshtein', + 'checksums': ['6f8e2216fbd4610ccfa1bab2e0052fb23de34c2333c192de08150eeb99717702'], + }), + (name, version, { + 'source_urls': ['https://github.com/YosefLab/Cassiopeia/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['28ae7495152683f5733222255056a1e7b2f7a51e1cee2f23f0d9f8ae5f4c3742'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb new file mode 100644 index 00000000000..02aa893cd52 --- /dev/null +++ b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'CatBoost' +version = '1.2' + +homepage = 'https://catboost.ai' +description = """CatBoost is a high-performance open source library for gradient boosting on decision trees""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('conan', '1.60.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Clang', '16.0.6'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('plotly.py', '5.16.0'), + ('graphviz-python', '0.20.1'), + ('Ninja', '1.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_disable-widget.patch'], + 'source_urls': ['https://pypi.python.org/packages/source/c/catboost'], + 'sources': ['catboost-%(version)s.tar.gz'], + 'checksums': [ + {'catboost-1.2.tar.gz': '39e53403727ecfbb48156773ef3006b4e71cc35ab49cc9a0cf044b474c34be0c'}, + {'CatBoost-1.2_disable-widget.patch': '468be5b5e9eaf655d407a342b786bb419d4ceaeb9df5c753c256a8bd6d69f9df'}, + ], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch new file mode 100644 index 00000000000..0f60fb8bac5 --- /dev/null +++ b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch @@ -0,0 +1,14 @@ +Disabling optional widget, as it requires `yarn` +Author: Denis Kristak (Inuits) +diff -ruN catboost-1.2_pypi_orig/setup.py catboost-1.2_pypi/setup.py +--- catboost-1.2_pypi_orig/setup.py 2023-08-08 13:41:49.501481901 +0200 ++++ catboost-1.2_pypi/setup.py 2023-08-08 13:43:39.744105439 +0200 +@@ -245,7 +245,7 @@ + + @staticmethod + def initialize_options(command): +- command.no_widget = False ++ command.no_widget = True + command.prebuilt_widget = False + + @staticmethod diff --git a/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb b/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb new file mode 100644 index 00000000000..6fb6ada86bb --- /dev/null +++ b/easybuild/easyconfigs/c/CatLearn/CatLearn-0.6.2-intel-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'CatLearn' +version = '0.6.2' + +homepage = 'https://catlearn.readthedocs.io' +description = "An environment for atomistic machine learning in Python for applications in catalysis" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('ASE', '3.22.1'), + ('GPAW', '22.8.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['5af6622e4660f3b5760267fccd9c5da6f1a4a88aad0aacc044067a68f92e2bbd'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb b/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb new file mode 100644 index 00000000000..108a61cb5d6 --- /dev/null +++ b/easybuild/easyconfigs/c/CatMAP/CatMAP-20220519-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'CatMAP' +version = '20220519' +local_commit = '092f03a' + +homepage = 'https://catmap.readthedocs.io' +description = """Catalyst Micro-kinetic Analysis Package for automated creation of micro-kinetic models used + in catalyst screening.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('ASE', '3.22.1'), + ('gmpy2', '2.1.2'), + ('graphviz-python', '0.20.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/SUNCAT-Center/catmap/archive/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b64c0bc7a1131c4dcc128e1d3cafe3802f2d7171e6819c52c4296f3d1e549e16'], + # work around incorrect version requirement for ASE which should only apply to Python < 3.5 + 'preinstallopts': "sed -i 's/ase==/ase>=/g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..00abfac39c8 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.10-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.10' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d54a712b7b1d7708bc7a819a8e6e47b2fde9536f487b89ccbca295072a7d9943'] + +builddependencies = [ + ('binutils', '2.42'), # to make CMake compiler health check pass on old systems + ('CMake', '3.29.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['include/catch2/catch.hpp'], + 'dirs': ['lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c049347b1c7 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +builddependencies = [ + ('binutils', '2.39'), # to make CMake compiler health check pass on old systems + ('CMake', '3.24.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/catch2', 'lib64/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a9cbf99bf14 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +builddependencies = [ + ('binutils', '2.40'), # to make CMake compiler health check pass on old systems + ('CMake', '3.26.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/catch2', 'lib64/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e64ae6c440b --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +builddependencies = [ + ('binutils', '2.40'), # to make CMake compiler health check pass on old systems + ('CMake', '3.27.6'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['include/catch2/catch.hpp'], + 'dirs': ['lib64/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9.eb b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9.eb new file mode 100644 index 00000000000..23d28166d62 --- /dev/null +++ b/easybuild/easyconfigs/c/Catch2/Catch2-2.13.9.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Catch2' +version = '2.13.9' + +homepage = 'https://github.com/catchorg/Catch2' +description = """A modern, C++-native, header-only, + test framework for unit-tests, TDD and BDD + - using C++11, C++14, C++17 and later +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/catchorg/Catch2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06dbc7620e3b96c2b69d57bf337028bf245a211b3cddb843835bfe258f427a52'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('GCCcore', '10.2.0'), # required to a access CMake when using hierarchical module naming scheme + ('binutils', '2.35', '', ('GCCcore', '10.2.0')), # to make CMake compiler health check pass on old systems + ('CMake', '3.18.4', '', ('GCCcore', '10.2.0')), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/catch2', 'lib64/cmake'], +} + +moduleclass = 'lib' 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/Cbc/Cbc-2.10.5-foss-2020b.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2020b.eb new file mode 100644 index 00000000000..427e25ee824 --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2020b.eb @@ -0,0 +1,63 @@ +easyblock = "ConfigureMake" + +name = 'Cbc' +version = '2.10.5' + +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': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['da1a945648679b21ba56b454b81e939451dc7951d9beb3c3e14f18f64dde6972'] + +builddependencies = [ + ('Autotools', '20200321'), + ('Doxygen', '1.8.20'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.3.5', '-metis'), + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('Clp', '1.17.6'), + ('Cgl', '0.60.3'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# Use BLAS/LAPACK from OpenBLAS +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' % (l, SHLIB_EXT) for l 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/Cbc/Cbc-2.10.5-foss-2021a.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2021a.eb new file mode 100644 index 00000000000..99baf18d76b --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2021a.eb @@ -0,0 +1,63 @@ +easyblock = "ConfigureMake" + +name = 'Cbc' +version = '2.10.5' + +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': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['da1a945648679b21ba56b454b81e939451dc7951d9beb3c3e14f18f64dde6972'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.4.0', '-metis'), + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('Clp', '1.17.6'), + ('Cgl', '0.60.3'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# Use BLAS/LAPACK from OpenBLAS +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/Cbc/Cbc-2.10.5-foss-2022b.eb b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2022b.eb new file mode 100644 index 00000000000..dd56bb68435 --- /dev/null +++ b/easybuild/easyconfigs/c/Cbc/Cbc-2.10.5-foss-2022b.eb @@ -0,0 +1,63 @@ +easyblock = "ConfigureMake" + +name = 'Cbc' +version = '2.10.5' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['da1a945648679b21ba56b454b81e939451dc7951d9beb3c3e14f18f64dde6972'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.5'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.9'), + ('Osi', '0.108.8'), + ('Clp', '1.17.8'), + ('Cgl', '0.60.7'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# Use BLAS/LAPACK from OpenBLAS +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.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.2-foss-2022a.eb new file mode 100644 index 00000000000..64a314bf8cc --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.2.2-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.2.2' + +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'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('anndata', '0.8.0'), + ('PyTables', '3.8.0'), + ('pyro-ppl', '1.8.4'), +] + +exts_list = [ + ('cellbender', version, { + # remove optional doc dependency on sphinx + 'preinstallopts': "sed -i '/^sphinx/d' REQUIREMENTS.txt && ", + 'source_urls': ['https://github.com/broadinstitute/CellBender/archive/'], + 'sources': ['v0.2.2.tar.gz'], + 'checksums': ['296693df34619d8c93a41c634a932fdd6a3eca3b9413d986c94f6337abf82bdf'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..94c6fc2c609 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.3.0' +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': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('PyTorch', '2.1.2', versionsuffix), + ('IPython', '8.14.0'), + ('anndata', '0.10.5.post1'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.9.0', versionsuffix), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.5.1'), +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('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'], + }), + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('nbconvert', '6.5.4', { + 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], + }), + ('cellbender', version, { + 'checksums': ['94a46fb2b5921414ea86213cfdebca267b9ba6ba02df854cbd353980ab3aff42'], + }), +] + +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.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb new file mode 100644 index 00000000000..5fb9920fb70 --- /dev/null +++ b/easybuild/easyconfigs/c/CellBender/CellBender-0.3.0-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'PythonBundle' + +name = 'CellBender' +version = '0.3.0' + +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('PyTorch', '2.1.2'), + ('IPython', '8.14.0'), + ('anndata', '0.10.5.post1'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('pyro-ppl', '1.9.0'), + ('loompy', '3.0.7'), + ('PyTables', '3.8.0'), + ('Qtconsole', '5.5.1'), +] + +use_pip = True + +exts_list = [ + ('async-timeout', '4.0.3', { + 'checksums': ['4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f'], + }), + ('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'], + }), + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('nbconvert', '6.5.4', { + 'checksums': ['9e3c7c6d491374cbdd5f35d268c05809357716d346f4573186bbeab32ee50bc1'], + }), + ('cellbender', version, { + 'checksums': ['94a46fb2b5921414ea86213cfdebca267b9ba6ba02df854cbd353980ab3aff42'], + }), +] + +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/CellChat/CellChat-1.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/CellChat/CellChat-1.5.0-foss-2022a.eb new file mode 100644 index 00000000000..8b0c66ef249 --- /dev/null +++ b/easybuild/easyconfigs/c/CellChat/CellChat-1.5.0-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'CellChat' +version = '1.5.0' + +homepage = 'https://github.com/sqjin/CellChat' +description = """" +R toolkit for inference, visualization and analysis of cell-cell communication +from single-cell data""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', '-R-%(rver)s'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('umap-learn', '0.5.3'), +] + +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 = [ + ('ggalluvial', '0.12.5', { + 'checksums': ['90044c880e70096137a733d601b11e558fe55e4e7d3aaacac6f08d7847415d71'], + }), + ('systemfonts', '1.0.4', { + 'checksums': ['ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0'], + }), + ('svglite', '2.1.1', { + 'checksums': ['48700169eec1b05dbee9e2bae000aa84c544617b018cb3ac431a128cfd8dac56'], + }), + (name, version, { + 'preinstallopts': "rm src/*.o src/*.so && ", + 'source_urls': ['https://github.com/sqjin/CellChat/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c9e31327cbbcf1fec5e6d8a0dfe011ded8e543557107e93dd4a417c4c137d1c6'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb new file mode 100644 index 00000000000..e712870108d --- /dev/null +++ b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.12.0-foss-2022a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'CellOracle' +version = '0.12.0' + +homepage = 'https://github.com/morris-lab/CellOracle' +description = """CellOracle is a Python library for in silico gene perturbation analyses using single-cell omics data +and Gene Regulatory Network models.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('R', '4.2.1'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), + ('velocyto', '0.17.17'), + ('umap-learn', '0.5.3'), + ('Arrow', '8.0.0'), + ('tqdm', '4.64.0'), + ('igraph', '0.10.3'), + ('IPython', '8.5.0'), + ('scanpy', '1.9.1'), + ('GOATOOLS', '1.3.1'), + ('genomepy', '0.15.0'), + ('GimmeMotifs', '0.17.2'), + ('Qtconsole', '5.4.0'), +] + +use_pip = True + +# remove louvain from requirements, since CellOracle doesn't actually use it at all +local_preinstallopts = "sed -i '/louvain/d' requirements.txt && " +# drop strict version requirement for gimmemotifs dependency +local_preinstallopts += "sed -i 's/gimmemotifs.*/gimmemotifs/g' requirements.txt && " + +exts_list = [ + ('jupyter-console', '6.4.4', { + 'sources': ['jupyter_console-%(version)s.tar.gz'], + 'checksums': ['172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('celloracle', version, { + 'checksums': ['9d533ee3e8c14828b6859ea195e92d184b050b0782fee430eda3b01359a564d5'], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_check_commands = ["python -c 'import celloracle; celloracle.check_python_requirements()'"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellOracle/CellOracle-0.18.0-foss-2023a.eb b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.18.0-foss-2023a.eb new file mode 100644 index 00000000000..d6eb8f4cead --- /dev/null +++ b/easybuild/easyconfigs/c/CellOracle/CellOracle-0.18.0-foss-2023a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'CellOracle' +version = '0.18.0' + +homepage = 'https://github.com/morris-lab/CellOracle' +description = """CellOracle is a Python library for in silico gene perturbation analyses using single-cell omics data +and Gene Regulatory Network models.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('R', '4.3.2'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('numba', '0.58.1'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('scikit-learn', '1.3.1'), + ('h5py', '3.9.0'), + ('velocyto', '0.17.17'), + ('umap-learn', '0.5.5'), + ('Arrow', '14.0.1'), + ('tqdm', '4.66.1'), + ('python-igraph', '0.11.4'), + ('IPython', '8.14.0'), + ('scanpy', '1.9.8'), + ('GOATOOLS', '1.4.5'), + ('genomepy', '0.16.1'), + ('GimmeMotifs', '0.17.2'), + ('anndata', '0.10.5.post1'), + ('python-louvain', '0.16'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('Qtconsole', '5.5.1'), +] + +use_pip = True + +# remove louvain from requirements, since CellOracle doesn't actually use it at all +local_preinstallopts = "sed -i '/louvain/d' requirements.txt && " +# drop strict version requirement for matplotlib dependency +local_preinstallopts += "sed -i 's/matplotlib.*/matplotlib/g' requirements.txt && " +# drop strict version requirement for pandas dependency +local_preinstallopts += "sed -i 's/pandas.*/pandas/g' requirements.txt && " + + +exts_list = [ + ('jupyter_console', '6.6.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('celloracle', version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['a73bbdae36289748051e073409d853489a233bda90f50ab5031131b92dda2133'], + }), +] + +sanity_check_commands = ["python -c 'import celloracle; celloracle.check_python_requirements()'"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.1.eb b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.1.eb new file mode 100644 index 00000000000..2e3038da2cf --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.1.eb @@ -0,0 +1,33 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger-ARC' +version = '2.0.1' + +homepage = 'https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/' +homepage += 'what-is-cell-ranger-arc' +description = """Cell Ranger ARC is a set of analysis pipelines that process + Chromium Single Cell Multiome ATAC + Gene Expression sequencing data to generate a + variety of analyses pertaining to gene expression, chromatin accessibility and + their linkage. Furthermore, since the ATAC and gene expression measurements are on + the very same cell, we are able to perform analyses that link chromatin + accessibility and gene expression.""" + +toolchain = SYSTEM + +# Download manually from https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['00f69dc4b7efa8a76944683d9f766b0cf21947975d8fe742c3b572b771c62d33'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ["bin/cellranger-arc"], + 'dirs': ["bin/rna", "bin/tenkit"], +} + +sanity_check_commands = ['cellranger-arc -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb new file mode 100644 index 00000000000..fc7d6955925 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger-ARC/CellRanger-ARC-2.0.2.eb @@ -0,0 +1,37 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger-ARC' +version = '2.0.2' + +homepage = 'https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/' +homepage += 'what-is-cell-ranger-arc' +description = """Cell Ranger ARC is a set of analysis pipelines that process + Chromium Single Cell Multiome ATAC + Gene Expression sequencing data to generate a + variety of analyses pertaining to gene expression, chromatin accessibility and + their linkage. Furthermore, since the ATAC and gene expression measurements are on + the very same cell, we are able to perform analyses that link chromatin + accessibility and gene expression.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from: +https://www.10xgenomics.com/support/software/cell-ranger-arc/downloads +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['02a02457938dcf8dcb418b6c65effac06b210282d167437bfa8b2f10023dacae'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ["bin/cellranger-arc"], + 'dirs': ["bin/rna", "bin/tenkit"], +} + +sanity_check_commands = ['cellranger-arc -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger-ATAC/CellRanger-ATAC-2.1.0.eb b/easybuild/easyconfigs/c/CellRanger-ATAC/CellRanger-ATAC-2.1.0.eb new file mode 100644 index 00000000000..1df5c99a7da --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger-ATAC/CellRanger-ATAC-2.1.0.eb @@ -0,0 +1,29 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Victor E. Goitea +# Email: victorg@bmb.sdu.dk + +easyblock = 'Tarball' + +name = 'CellRanger-ATAC' +version = '2.1.0' + +homepage = "https://support.10xgenomics.com/single-cell-atac/software/pipelines/latest/what-is-cell-ranger-atac" +description = """Cell Ranger ATAC is a set of analysis pipelines that process +Chromium Single Cell ATAC data.""" + +toolchain = SYSTEM + +# Download manually from https://support.10xgenomics.com/single-cell-atac/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0278f1cf7a27ec9cef6b39d674f0b0633d1f0989d3582e7a64c431c029a484c4'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger-atac', 'cellranger-atac'], + 'dirs': ['bin/atac', 'lib'], +} + +sanity_check_commands = ["cellranger-atac testrun --id=tiny"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-6.0.2.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-6.0.2.eb new file mode 100644 index 00000000000..a5eb86116a5 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-6.0.2.eb @@ -0,0 +1,29 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '6.0.2' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +# Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cee3ec8161c63b6fe24a0527275954a2ea3cb7a373608bdede14a4e3099249ea'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ["bin/cellranger"], + 'dirs': ["bin/rna", "bin/tenkit"], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-6.1.2.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-6.1.2.eb new file mode 100644 index 00000000000..6a3ac6eee3c --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-6.1.2.eb @@ -0,0 +1,29 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '6.1.2' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +# Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['475a05feb456e753453b1ddef638220c80f1eef41afd1a881fd03927aea6e945'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ["bin/cellranger"], + 'dirs': ["bin/rna", "bin/tenkit"], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-7.0.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.0.0.eb new file mode 100644 index 00000000000..0dd53e8c2c8 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.0.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '7.0.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fd0d5b66f9513e6d52d0d4bc7b3d065b877d975280009d1f34d592e4b6d9d84'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb new file mode 100644 index 00000000000..fc786ab6fbe --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.1.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '7.1.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5c4f9b142e3c30ad10ae15d25868df2b4fd05bdb3bbd47da0c83a7cc649b577e'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-7.2.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.2.0.eb new file mode 100644 index 00000000000..f02ee42a839 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-7.2.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '7.2.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b092bd4e3ab585ad051a231fbdd8f3f0f5cbcd10f657eeab86bec98cd594502c'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb new file mode 100644 index 00000000000..db95a8aae20 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.0.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '8.0.0' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['58b077b66b2b48966b3712a1f16a61be938237addbdf611a7a924bc99211bca6'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb new file mode 100644 index 00000000000..baa6b095438 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRanger/CellRanger-8.0.1.eb @@ -0,0 +1,31 @@ +# The STAR binary included in this version has been vectorized with AVX +# hence it is not recommended for systems that do not support it. + +easyblock = 'Tarball' + +name = 'CellRanger' +version = '8.0.1' + +homepage = 'https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger' +description = """Cell Ranger is a set of analysis pipelines that process Chromium + single-cell RNA-seq output to align reads, generate gene-cell matrices and perform + clustering and gene expression analysis.""" + +toolchain = SYSTEM + +download_instructions = """ +Download manually from https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest +""" +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ea2a35ac0f03961bab2ea485565d60cc6709a981c833a5e6c2b13a8fef641e81'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/cellranger'], + 'dirs': ['bin/rna', 'bin/tenkit'], +} + +sanity_check_commands = ['cellranger testrun --id=tiny'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRank/CellRank-1.4.0-foss-2021a.eb b/easybuild/easyconfigs/c/CellRank/CellRank-1.4.0-foss-2021a.eb new file mode 100644 index 00000000000..c9d9078d5eb --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/CellRank-1.4.0-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'CellRank' +version = '1.4.0' + +homepage = 'https://cellrank.readthedocs.io/en/stable/' +description = """CellRank is a toolkit to uncover cellular dynamics based on + Markov state modeling of single-cell data. It contains two main modules: +kernels compute cell-cell transition probabilities and estimators generate +hypothesis based on these. """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PETSc', '3.15.1'), + ('petsc4py', '3.15.0'), + ('SLEPc', '3.15.1'), + ('slepc4py', '3.15.1'), + ('scikit-learn', '0.24.2'), + ('scVelo', '0.2.3'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True + +exts_list = [ + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('python-utils', '2.5.6', { + 'checksums': ['352d5b1febeebf9b3cdb9f3c87a3b26ef22d3c9e274a8ec1e7048ecd2fac4349'], + }), + ('progressbar2', '3.53.1', { + 'modulename': 'progressbar', + 'checksums': ['ef72be284e7f2b61ac0894b44165926f13f5d995b2bf3cd8a8dedc6224b255a7'], + }), + ('pygam', '0.8.0', { + 'checksums': ['5cae01aea8b2fede72a6da0aba1490213af54b3476745666af26bbe700479166'], + }), + ('joblib', '1.0.1', { + 'checksums': ['9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7'], + }), + ('pygpcca', '1.0.2', { + 'checksums': ['a383636461698f6cda9a9e5678f9efb98ca2f8367b942221bc6d27f119f9be75'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + (name, version, { + 'modulename': 'cellrank', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'patches': ['cellrank-1.4.0_numba.patch'], + 'use_pip_extras': 'krylov', + 'checksums': [ + '957fd9b135ad7c1a43ff34c071cab4ee9290dfbcd663792d59eb544581f24634', # cellrank-1.4.0.tar.gz + '891579d404682efdc0fe938f6e72734a107790c56e805c60e959631d8836b3e1', # cellrank-1.4.0_numba.patch + ], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import cellrank as cr'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2022a.eb new file mode 100644 index 00000000000..1bd10280160 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2022a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'CellRank' +version = '2.0.2' + +homepage = 'https://cellrank.readthedocs.io/en/stable/' +description = """CellRank is a toolkit to uncover cellular dynamics based on + Markov state modeling of single-cell data. It contains two main modules: +kernels compute cell-cell transition probabilities and estimators generate +hypothesis based on these. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('petsc4py', '3.17.4'), + ('slepc4py', '3.17.2'), + ('scikit-learn', '1.1.2'), + ('scVelo', '0.2.5'), + ('scanpy', '1.9.1'), # also provides anndata + ('numba', '0.56.4'), + ('networkx', '2.8.4'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('wrapt', '1.15.0'), +] + +use_pip = True + +_preinstallopts_pygam = """sed -i -e 's/numpy = .*/numpy = "^1.22.3"/g' """ +_preinstallopts_pygam += """-e 's/scipy = .*/scipy = "^1.8.1"/g' pyproject.toml && """ + +exts_list = [ + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('python-utils', '3.8.1', { + 'checksums': ['ec3a672465efb6c673845a43afcfafaa23d2594c24324a40ec18a0c59478dc0b'], + }), + ('progressbar2', '4.3.2', { + 'modulename': 'progressbar', + 'checksums': ['c37e6e1b4e57ab43f95c3d0e8d90061bec140e4fed56b8343183db3aa1e19a52'], + }), + ('pygam', '0.9.0', { + 'patches': ['pygam-0.9.0_fix-poetry.patch'], + 'checksums': [ + {'pygam-0.9.0.tar.gz': 'dba62285a275cdd15a6adf764f6717b3cd077502f01cf1bcee5ce7cbda221956'}, + {'pygam-0.9.0_fix-poetry.patch': '90460a5416167f146f5bf2c55e46c23d1e7a8f864652e24665354a1b39d7e3d0'}, + ], + 'preinstallopts': _preinstallopts_pygam, + }), + ('pygpcca', '1.0.4', { + 'checksums': ['5e3b49279abc62d25133811daeee050715f995ff02042c46e2a2034331d090d1'], + 'preinstallopts': "sed -i 's/jinja2==/jinja2>=/g' requirements.txt && ", + }), + ('cellrank', version, { + 'checksums': ['47c1d2e953ac91f572937d816142b4ac5f0c876174c60f857562de76a9f8aa61'], + # strip away too strict version requirements for pandas + anndata + 'preinstallopts': "sed -i -e 's/pandas>=1.5.0/pandas/g' -e 's/anndata>=0.9/anndata/g' pyproject.toml && ", + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import cellrank as cr'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..3ec16f6ab04 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'CellRank' +version = '2.0.2' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://cellrank.readthedocs.io/en/stable/' +description = """CellRank is a toolkit to uncover cellular dynamics based on + Markov state modeling of single-cell data. It contains two main modules: +kernels compute cell-cell transition probabilities and estimators generate +hypothesis based on these. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('scanpy', '1.9.8'), + ('scikit-learn', '1.3.1'), + ('scVelo', '0.3.1'), + ('Seaborn', '0.13.2'), + ('wrapt', '1.15.0'), + ('PyTorch', '2.1.2', versionsuffix), + ('wandb', '0.16.1'), + ('PyTorch-Lightning', '2.2.1', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('nam', '0.0.3', { + 'checksums': ['48400d12b5f29fdd1671aebdf78d7f41bcac4f5c8ab7ed48770ee0c4fbc0673b'], + }), + ('python-utils', '3.8.2', { + 'checksums': ['c5d161e4ca58ce3f8c540f035e018850b261a41e7cb98f6ccf8e1deb7174a1f1'], + }), + ('progressbar2', '4.4.1', { + 'modulename': 'progressbar', + 'checksums': ['97d323ba03ad3d017a4d047fd0b2d3e733c5a360c07f87d269f96641c3de729f'], + }), + ('dunamai', '1.19.2', { + 'checksums': ['3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e'], + }), + ('poetry_dynamic_versioning', '1.2.0', { + 'checksums': ['1a7bbdba2530499e73dfc6ac0af19de29020ab4aaa3e507573877114e6b71ed6'], + }), + ('pygpcca', '1.0.4', { + 'preinstallopts': "sed -i 's/jinja2==3.0.3/jinja2>=3.0.3/' requirements.txt && ", + 'checksums': ['5e3b49279abc62d25133811daeee050715f995ff02042c46e2a2034331d090d1'], + }), + ('pygam', '0.9.1', { + 'checksums': ['a321a017bf485ed93fc6233e02621f8e7eab3d4f8971371c9ae9e079c55be01d'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + (name, version, { + 'modulename': 'cellrank', + 'preinstallopts': "sed -i 's/matplotlib>=3.5.0,<3.7.2/matplotlib>=3.5.0/' pyproject.toml && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['47c1d2e953ac91f572937d816142b4ac5f0c876174c60f857562de76a9f8aa61'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb new file mode 100644 index 00000000000..5b7ab31d93d --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/CellRank-2.0.2-foss-2023a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'CellRank' +version = '2.0.2' + +homepage = 'https://cellrank.readthedocs.io/en/stable/' +description = """CellRank is a toolkit to uncover cellular dynamics based on + Markov state modeling of single-cell data. It contains two main modules: +kernels compute cell-cell transition probabilities and estimators generate +hypothesis based on these. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('scanpy', '1.9.8'), + ('scikit-learn', '1.3.1'), + ('scVelo', '0.3.1'), + ('Seaborn', '0.13.2'), + ('wrapt', '1.15.0'), + ('PyTorch', '2.1.2'), + ('wandb', '0.16.1'), + ('PyTorch-Lightning', '2.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('nam', '0.0.3', { + 'checksums': ['48400d12b5f29fdd1671aebdf78d7f41bcac4f5c8ab7ed48770ee0c4fbc0673b'], + }), + ('python-utils', '3.8.2', { + 'checksums': ['c5d161e4ca58ce3f8c540f035e018850b261a41e7cb98f6ccf8e1deb7174a1f1'], + }), + ('progressbar2', '4.4.1', { + 'modulename': 'progressbar', + 'checksums': ['97d323ba03ad3d017a4d047fd0b2d3e733c5a360c07f87d269f96641c3de729f'], + }), + ('dunamai', '1.19.2', { + 'checksums': ['3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e'], + }), + ('poetry_dynamic_versioning', '1.2.0', { + 'checksums': ['1a7bbdba2530499e73dfc6ac0af19de29020ab4aaa3e507573877114e6b71ed6'], + }), + ('pygpcca', '1.0.4', { + 'preinstallopts': "sed -i 's/jinja2==3.0.3/jinja2>=3.0.3/' requirements.txt && ", + 'checksums': ['5e3b49279abc62d25133811daeee050715f995ff02042c46e2a2034331d090d1'], + }), + ('pygam', '0.9.1', { + 'checksums': ['a321a017bf485ed93fc6233e02621f8e7eab3d4f8971371c9ae9e079c55be01d'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + (name, version, { + 'modulename': 'cellrank', + 'preinstallopts': "sed -i 's/matplotlib>=3.5.0,<3.7.2/matplotlib>=3.5.0/' pyproject.toml && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['47c1d2e953ac91f572937d816142b4ac5f0c876174c60f857562de76a9f8aa61'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CellRank/cellrank-1.4.0_numba.patch b/easybuild/easyconfigs/c/CellRank/cellrank-1.4.0_numba.patch new file mode 100644 index 00000000000..d30d0aa5b4b --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/cellrank-1.4.0_numba.patch @@ -0,0 +1,30 @@ +# numba <0.53.0 restriction were made due to the bug in umap-learn, see: +# https://github.com/theislab/cellrank/commit/e5c6191ac50401ecda5c46ff5e9e92a86d6f3769#diff-2c9c11d26b09b8afde329980309d967121543a456e4592c76886a20b5cf56c90L8-L9 +# Since this fixed in scVelo-0.2.3-foss-2021a.eb, see: +# https://github.com/easybuilders/easybuild-easyconfigs/pull/13398/files#diff-db270fae41d98bc2f577480759252029490fb0d9518d59b8fd3b0f13b0e2b820R1-R17 +# This limit can be safely fifted +# July 7th 2021 by B. Hajgato (UGent) +diff -ru cellrank-1.4.0.orig/cellrank.egg-info/requires.txt cellrank-1.4.0/cellrank.egg-info/requires.txt +--- cellrank-1.4.0.orig/cellrank.egg-info/requires.txt 2021-06-30 17:48:49.000000000 +0200 ++++ cellrank-1.4.0/cellrank.egg-info/requires.txt 2021-07-09 20:15:21.756925337 +0200 +@@ -2,7 +2,7 @@ + joblib>=0.13.1 + matplotlib>=3.3.0 + networkx>=2.2 +-numba<0.53.0,>=0.51.0 ++numba>=0.51.0 + numpy>=1.2.0 + pandas>=1.2.0 + pygam>=0.8.0 +diff -ru cellrank-1.4.0.orig/requirements.txt cellrank-1.4.0/requirements.txt +--- cellrank-1.4.0.orig/requirements.txt 2021-06-30 17:48:33.000000000 +0200 ++++ cellrank-1.4.0/requirements.txt 2021-07-09 20:15:32.333795389 +0200 +@@ -2,7 +2,7 @@ + joblib>=0.13.1 + matplotlib>=3.3.0 + networkx>=2.2 +-numba>=0.51.0,<0.53.0 ++numba>=0.51.0 + numpy>=1.2.0 + pandas>=1.2.0 + pygam>=0.8.0 diff --git a/easybuild/easyconfigs/c/CellRank/pygam-0.9.0_fix-poetry.patch b/easybuild/easyconfigs/c/CellRank/pygam-0.9.0_fix-poetry.patch new file mode 100644 index 00000000000..cc463d4ea64 --- /dev/null +++ b/easybuild/easyconfigs/c/CellRank/pygam-0.9.0_fix-poetry.patch @@ -0,0 +1,26 @@ +workaround for: + RuntimeError: The Poetry configuration is invalid: + - Additional properties are not allowed ('group' was unexpected) +author: Kenneth Hoste (HPC-UGent) +--- pygam-0.9.0/pyproject.toml.orig 2024-01-05 22:13:47.399107878 +0100 ++++ pygam-0.9.0/pyproject.toml 2024-01-05 22:13:52.323119792 +0100 +@@ -12,19 +12,6 @@ + scipy = "^1.10.1" + progressbar2 = "^4.2.0" + +-[tool.poetry.group.dev.dependencies] +-pytest = "^7.2.2" +-flake8 = "^6.0.0" +-codecov = "^2.1.12" +-pytest-cov = "^4.0.0" +-mock = "^5.0.1" +-nbsphinx = "^0.9.0" +-sphinx-rtd-theme = "^1.2.0" +-sphinxcontrib-napoleon = "^0.7" +-ipython = "^8.11.0" +-pandas = "^1.5.3" +-black = "^23.1.0" +- + [tool.black] + line-length = 88 + skip-string-normalization = true diff --git a/easybuild/easyconfigs/c/CellTypist/CellTypist-1.0.0-foss-2021b.eb b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.0.0-foss-2021b.eb new file mode 100644 index 00000000000..3945fd8a06a --- /dev/null +++ b/easybuild/easyconfigs/c/CellTypist/CellTypist-1.0.0-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'CellTypist' +version = '1.0.0' + +homepage = 'https://www.celltypist.org/' +description = "A tool for semi-automatic cell type annotation" + +source_urls = ['https://github.com/Teichlab/celltypist/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dd020902acdb13d2f138ac20ffb6ae28fd6f2d7b758ac6ab05bd4b9030d43e8e'] + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-learn', '1.0.1'), + ('openpyxl', '3.0.9'), + ('scanpy', '1.8.2'), + ('leidenalg', '0.8.8'), +] + +download_dep_fail = True +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/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/Cellpose/Cellpose-0.6.5-foss-2020b.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-foss-2020b.eb new file mode 100644 index 00000000000..b86e1d18a3b --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-foss-2020b.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '0.6.5' + +homepage = "https://www.cellpose.org/" +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('numba', '0.53.1'), + ('OpenCV', '4.5.1', '-contrib'), + ('Python', '3.8.6'), + ('PyQt5', '5.15.1'), + ('PyQtGraph', '0.11.1'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('tifffile', '2021.8.8', { + 'checksums': ['8260f31c4700143e8374ff6cde5cef7fe54fc9b7313afe88329f407881901dc5'], + }), + (name, version, { + 'patches': [ + '%(name)s-%(version)s_OpenCV.patch', + '%(name)s-%(version)s_PyQt5.patch', + ], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': [ + '19aafedfe5723285f270ad55e7947fbd828abff943a13216a8205809e41fb870', # cellpose-0.6.5.tar.gz + 'b8fd5bece5b5ea66ce41a08f0468fe5785dd4b07cc281eac08a19dd38e3ef410', # Cellpose-0.6.5_OpenCV.patch + '97fc96189993127998fd1388228a4a1b52bbe15d7355162579259a795ebbd937', # Cellpose-0.6.5_PyQt5.patch + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb new file mode 100644 index 00000000000..47616f4265c --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5-fosscuda-2020b.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '0.6.5' + +homepage = "https://www.cellpose.org/" +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('numba', '0.53.1'), + ('OpenCV', '4.5.1', '-contrib'), + ('Python', '3.8.6'), + ('PyQt5', '5.15.1'), + ('PyQtGraph', '0.11.1'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('tifffile', '2021.8.8', { + 'checksums': ['8260f31c4700143e8374ff6cde5cef7fe54fc9b7313afe88329f407881901dc5'], + }), + (name, version, { + 'patches': [ + '%(name)s-%(version)s_OpenCV.patch', + '%(name)s-%(version)s_PyQt5.patch', + ], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': [ + '19aafedfe5723285f270ad55e7947fbd828abff943a13216a8205809e41fb870', # cellpose-0.6.5.tar.gz + 'b8fd5bece5b5ea66ce41a08f0468fe5785dd4b07cc281eac08a19dd38e3ef410', # Cellpose-0.6.5_OpenCV.patch + '97fc96189993127998fd1388228a4a1b52bbe15d7355162579259a795ebbd937', # Cellpose-0.6.5_PyQt5.patch + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch new file mode 100644 index 00000000000..f04e4a54506 --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_OpenCV.patch @@ -0,0 +1,14 @@ +Remove opencv-python-headless as we'll use the EB OpenCV instead +Patch by Simon Branford (University of Birmingham) +--- setup.py.orig 2021-08-11 11:44:31.239366000 +0100 ++++ setup.py 2021-08-11 11:44:40.662227000 +0100 +@@ -3,8 +3,7 @@ + + install_deps = ['numpy', 'scipy', 'natsort', + 'tifffile', 'tqdm', 'numba', +- 'torch>=1.6', +- 'opencv-python-headless'] ++ 'torch>=1.6'] + + try: + import torch diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch new file mode 100644 index 00000000000..a4a33a8ae3e --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-0.6.5_PyQt5.patch @@ -0,0 +1,855 @@ +From 9f030e804e729924344e1bb1c3676478b812fe8e Mon Sep 17 00:00:00 2001 +From: Carsen Stringer +Date: Mon, 9 Aug 2021 16:53:02 -0400 +Subject: [PATCH] fixing changes in pyqt5 imports (#298) + +--- + cellpose/gui/gui.py | 87 ++++++++++++++-------------- + cellpose/gui/guiparts.py | 121 ++++++++++++++++++--------------------- + cellpose/gui/io.py | 8 +-- + cellpose/gui/menus.py | 34 +++++------ + tests/test_train.py | 6 +- + 5 files changed, 123 insertions(+), 133 deletions(-) + +diff --git a/cellpose/gui/gui.py b/cellpose/gui/gui.py +index 5734bbb..28b2849 100644 +--- a/cellpose/gui/gui.py ++++ b/cellpose/gui/gui.py +@@ -4,6 +4,7 @@ + from tqdm import tqdm + + from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QScrollBar, QSlider, QComboBox, QGridLayout, QPushButton, QFrame, QCheckBox, QLabel, QProgressBar, QLineEdit + import pyqtgraph as pg + from pyqtgraph import GraphicsScene + +@@ -32,11 +33,11 @@ + except: + SERVER_UPLOAD = False + +-class QHLine(QtGui.QFrame): ++class QHLine(QFrame): + def __init__(self): + super(QHLine, self).__init__() +- self.setFrameShape(QtGui.QFrame.HLine) +- self.setFrameShadow(QtGui.QFrame.Sunken) ++ self.setFrameShape(QFrame.HLine) ++ self.setFrameShadow(QFrame.Sunken) + + def avg3d(C): + """ smooth value of c across nearby points +@@ -115,7 +116,7 @@ def make_cmap(cm=0): + def run(image=None): + # Always start by initializing Qt (only once per application) + warnings.filterwarnings("ignore") +- app = QtGui.QApplication(sys.argv) ++ app = QApplication(sys.argv) + icon_path = pathlib.Path.home().joinpath('.cellpose', 'logo.png') + guip_path = pathlib.Path.home().joinpath('.cellpose', 'cellpose_gui.png') + if not icon_path.is_file(): +@@ -148,7 +149,7 @@ def get_unique_points(set): + set = list(np.unique(cps, axis=0)) + return set + +-class MainW(QtGui.QMainWindow): ++class MainW(QMainWindow): + def __init__(self, image=None): + super(MainW, self).__init__() + +@@ -187,8 +188,8 @@ def __init__(self, image=None): + self.loaded = False + + # ---- MAIN WIDGET LAYOUT ---- # +- self.cwidget = QtGui.QWidget(self) +- self.l0 = QtGui.QGridLayout() ++ self.cwidget = QWidget(self) ++ self.l0 = QGridLayout() + self.cwidget.setLayout(self.l0) + self.setCentralWidget(self.cwidget) + self.l0.setVerticalSpacing(6) +@@ -255,17 +256,17 @@ def make_buttons(self): + "selection-background-color: rgb(50,100,50);") + self.checkstyle = "color: rgb(190,190,190);" + +- label = QtGui.QLabel('Views:')#[\u2191 \u2193]') ++ label = QLabel('Views:')#[\u2191 \u2193]') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, 0,0,1,1) + +- label = QtGui.QLabel('[up/down or W/S]') ++ label = QLabel('[up/down or W/S]') + label.setStyleSheet(label_style) + label.setFont(self.smallfont) + self.l0.addWidget(label, 1,0,1,1) + +- label = QtGui.QLabel('[pageup/down]') ++ label = QLabel('[pageup/down]') + label.setStyleSheet(label_style) + label.setFont(self.smallfont) + self.l0.addWidget(label, 1,1,1,1) +@@ -274,7 +275,7 @@ def make_buttons(self): + self.view = 0 # 0=image, 1=flowsXY, 2=flowsZ, 3=cellprob + self.color = 0 # 0=RGB, 1=gray, 2=R, 3=G, 4=B + self.RGBChoose = guiparts.RGBRadioButtons(self, b,1) +- self.RGBDropDown = QtGui.QComboBox() ++ self.RGBDropDown = QComboBox() + self.RGBDropDown.addItems(["RGB","gray","spectral","red","green","blue"]) + self.RGBDropDown.setFont(self.medfont) + self.RGBDropDown.currentIndexChanged.connect(self.color_choose) +@@ -292,21 +293,21 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + b+=1 +- label = QtGui.QLabel('Drawing:') ++ label = QLabel('Drawing:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) + + b+=1 + self.brush_size = 3 +- self.BrushChoose = QtGui.QComboBox() ++ self.BrushChoose = QComboBox() + self.BrushChoose.addItems(["1","3","5","7","9"]) + self.BrushChoose.currentIndexChanged.connect(self.brush_choose) + self.BrushChoose.setFixedWidth(60) + self.BrushChoose.setStyleSheet(self.dropdowns) + self.BrushChoose.setFont(self.medfont) + self.l0.addWidget(self.BrushChoose, b, 1,1,1) +- label = QtGui.QLabel('brush size: [, .]') ++ label = QLabel('brush size: [, .]') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + self.l0.addWidget(label, b,0,1,1) +@@ -317,7 +318,7 @@ def make_buttons(self): + + b+=1 + # turn on draw mode +- self.SCheckBox = QtGui.QCheckBox('single stroke') ++ self.SCheckBox = QCheckBox('single stroke') + self.SCheckBox.setStyleSheet(self.checkstyle) + self.SCheckBox.setFont(self.medfont) + self.SCheckBox.toggled.connect(self.autosave_on) +@@ -325,7 +326,7 @@ def make_buttons(self): + + b+=1 + # turn on crosshairs +- self.CHCheckBox = QtGui.QCheckBox('cross-hairs') ++ self.CHCheckBox = QCheckBox('cross-hairs') + self.CHCheckBox.setStyleSheet(self.checkstyle) + self.CHCheckBox.setFont(self.medfont) + self.CHCheckBox.toggled.connect(self.cross_hairs) +@@ -335,7 +336,7 @@ def make_buttons(self): + # turn off masks + self.layer_off = False + self.masksOn = True +- self.MCheckBox = QtGui.QCheckBox('MASKS ON [X]') ++ self.MCheckBox = QCheckBox('MASKS ON [X]') + self.MCheckBox.setStyleSheet(self.checkstyle) + self.MCheckBox.setFont(self.medfont) + self.MCheckBox.setChecked(True) +@@ -345,7 +346,7 @@ def make_buttons(self): + b+=1 + # turn off outlines + self.outlinesOn = True +- self.OCheckBox = QtGui.QCheckBox('outlines on [Z]') ++ self.OCheckBox = QCheckBox('outlines on [Z]') + self.OCheckBox.setStyleSheet(self.checkstyle) + self.OCheckBox.setFont(self.medfont) + self.OCheckBox.setChecked(True) +@@ -354,7 +355,7 @@ def make_buttons(self): + + b+=1 + # send to server +- self.ServerButton = QtGui.QPushButton(' send manual seg. to server') ++ self.ServerButton = QPushButton(' send manual seg. to server') + self.ServerButton.clicked.connect(lambda: save_server(self)) + self.l0.addWidget(self.ServerButton, b,0,1,2) + self.ServerButton.setEnabled(False) +@@ -366,19 +367,19 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + b+=1 +- label = QtGui.QLabel('Segmentation:') ++ label = QLabel('Segmentation:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) + + b+=1 + self.diameter = 30 +- label = QtGui.QLabel('cell diameter (pixels) (click ENTER):') ++ label = QLabel('cell diameter (pixels) (click ENTER):') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + label.setToolTip('you can manually enter the approximate diameter for your cells, \nor press “calibrate” to let the model estimate it. \nThe size is represented by a disk at the bottom of the view window \n(can turn this disk off by unchecking “scale disk on”)') + self.l0.addWidget(label, b, 0,1,2) +- self.Diameter = QtGui.QLineEdit() ++ self.Diameter = QLineEdit() + self.Diameter.setToolTip('you can manually enter the approximate diameter for your cells, \nor press “calibrate” to let the model estimate it. \nThe size is represented by a disk at the bottom of the view window \n(can turn this disk off by unchecking “scale disk on”)') + self.Diameter.setText(str(self.diameter)) + self.Diameter.setFont(self.medfont) +@@ -388,7 +389,7 @@ def make_buttons(self): + self.l0.addWidget(self.Diameter, b, 0,1,2) + + # recompute model +- self.SizeButton = QtGui.QPushButton(' calibrate') ++ self.SizeButton = QPushButton(' calibrate') + self.SizeButton.clicked.connect(self.calibrate_size) + self.l0.addWidget(self.SizeButton, b,1,1,1) + self.SizeButton.setEnabled(False) +@@ -398,7 +399,7 @@ def make_buttons(self): + # scale toggle + b+=1 + self.scale_on = True +- self.ScaleOn = QtGui.QCheckBox('scale disk on') ++ self.ScaleOn = QCheckBox('scale disk on') + self.ScaleOn.setFont(self.medfont) + self.ScaleOn.setStyleSheet('color: red;') + self.ScaleOn.setChecked(True) +@@ -408,7 +409,7 @@ def make_buttons(self): + + # use GPU + b+=1 +- self.useGPU = QtGui.QCheckBox('use GPU') ++ self.useGPU = QCheckBox('use GPU') + self.useGPU.setStyleSheet(self.checkstyle) + self.useGPU.setFont(self.medfont) + self.useGPU.setToolTip('if you have specially installed the cuda version of mxnet, then you can activate this, but it won’t give huge speedups when running single 2D images in the GUI.') +@@ -416,7 +417,7 @@ def make_buttons(self): + self.l0.addWidget(self.useGPU, b,0,1,1) + + # fast mode +- self.NetAvg = QtGui.QComboBox() ++ self.NetAvg = QComboBox() + self.NetAvg.addItems(['average 4 nets', '+ resample (slow)', 'run 1 net (fast)', ]) + self.NetAvg.setFont(self.medfont) + self.NetAvg.setToolTip('average 4 different fit networks (default) + resample for smooth masks (slow) or run 1 network (fast)') +@@ -424,7 +425,7 @@ def make_buttons(self): + + b+=1 + # choose models +- self.ModelChoose = QtGui.QComboBox() ++ self.ModelChoose = QComboBox() + self.model_dir = pathlib.Path.home().joinpath('.cellpose', 'models') + models = ['cyto', 'nuclei', 'cyto2'] + self.ModelChoose.addItems(models) +@@ -432,7 +433,7 @@ def make_buttons(self): + self.ModelChoose.setStyleSheet(self.dropdowns) + self.ModelChoose.setFont(self.medfont) + self.l0.addWidget(self.ModelChoose, b, 1,1,1) +- label = QtGui.QLabel('model: ') ++ label = QLabel('model: ') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + label.setToolTip('there is a cyto model, a new cyto2 model from user submissions, and a nuclei model') +@@ -441,7 +442,7 @@ def make_buttons(self): + + b+=1 + # choose channel +- self.ChannelChoose = [QtGui.QComboBox(), QtGui.QComboBox()] ++ self.ChannelChoose = [QComboBox(), QComboBox()] + self.ChannelChoose[0].addItems(['gray','red','green','blue']) + self.ChannelChoose[1].addItems(['none','red','green','blue']) + cstr = ['chan to segment:', 'chan2 (optional): '] +@@ -449,7 +450,7 @@ def make_buttons(self): + self.ChannelChoose[i].setFixedWidth(70) + self.ChannelChoose[i].setStyleSheet(self.dropdowns) + self.ChannelChoose[i].setFont(self.medfont) +- label = QtGui.QLabel(cstr[i]) ++ label = QLabel(cstr[i]) + label.setStyleSheet(label_style) + label.setFont(self.medfont) + if i==0: +@@ -464,28 +465,28 @@ def make_buttons(self): + + # use inverted image for running cellpose + b+=1 +- self.invert = QtGui.QCheckBox('invert grayscale') ++ self.invert = QCheckBox('invert grayscale') + self.invert.setStyleSheet(self.checkstyle) + self.invert.setFont(self.medfont) + self.l0.addWidget(self.invert, b,0,1,2) + + b+=1 + # recompute model +- self.ModelButton = QtGui.QPushButton(' run segmentation') ++ self.ModelButton = QPushButton(' run segmentation') + self.ModelButton.clicked.connect(self.compute_model) + self.l0.addWidget(self.ModelButton, b,0,1,2) + self.ModelButton.setEnabled(False) + self.ModelButton.setStyleSheet(self.styleInactive) + self.ModelButton.setFont(self.boldfont) + b+=1 +- self.progress = QtGui.QProgressBar(self) ++ self.progress = QProgressBar(self) + self.progress.setStyleSheet('color: gray;') + self.l0.addWidget(self.progress, b,0,1,2) + + # post-hoc paramater tuning + + b+=1 +- label = QtGui.QLabel('model match threshold:') ++ label = QLabel('model match threshold:') + label.setToolTip('threshold on gradient match to accept a mask (set lower to get more cells)') + label.setStyleSheet(label_style) + label.setFont(self.medfont) +@@ -493,7 +494,7 @@ def make_buttons(self): + + b+=1 + self.threshold = 0.4 +- self.threshslider = QtGui.QSlider() ++ self.threshslider = QSlider() + self.threshslider.setOrientation(QtCore.Qt.Horizontal) + self.threshslider.setMinimum(1.0) + self.threshslider.setMaximum(30.0) +@@ -504,14 +505,14 @@ def make_buttons(self): + self.threshslider.setEnabled(False) + + b+=1 +- label = QtGui.QLabel('cell prob threshold:') ++ label = QLabel('cell prob threshold:') + label.setStyleSheet(label_style) + label.setFont(self.medfont) + self.l0.addWidget(label, b, 0,1,2) + label.setToolTip('cell probability threshold (set lower to get more cells)') + + b+=1 +- self.probslider = QtGui.QSlider() ++ self.probslider = QSlider() + self.probslider.setOrientation(QtCore.Qt.Horizontal) + self.probslider.setMinimum(-6.0) + self.probslider.setMaximum(6.0) +@@ -527,14 +528,14 @@ def make_buttons(self): + line.setStyleSheet('color: white;') + self.l0.addWidget(line, b,0,1,2) + +- self.autobtn = QtGui.QCheckBox('auto-adjust') ++ self.autobtn = QCheckBox('auto-adjust') + self.autobtn.setStyleSheet(self.checkstyle) + self.autobtn.setFont(self.medfont) + self.autobtn.setChecked(True) + self.l0.addWidget(self.autobtn, b+2,0,1,1) + + b+=1 +- label = QtGui.QLabel('Image saturation:') ++ label = QLabel('Image saturation:') + label.setStyleSheet(self.headings) + label.setFont(self.boldfont) + self.l0.addWidget(label, b,0,1,2) +@@ -545,18 +546,18 @@ def make_buttons(self): + self.slider.setMaximum(255) + self.slider.setLow(0) + self.slider.setHigh(255) +- self.slider.setTickPosition(QtGui.QSlider.TicksRight) ++ self.slider.setTickPosition(QSlider.TicksRight) + self.l0.addWidget(self.slider, b,1,1,1) + self.l0.setRowStretch(b, 1) + + b+=2 + # add z position underneath + self.currentZ = 0 +- label = QtGui.QLabel('Z:') ++ label = QLabel('Z:') + label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) + label.setStyleSheet(label_style) + self.l0.addWidget(label, b, 0,1,1) +- self.zpos = QtGui.QLineEdit() ++ self.zpos = QLineEdit() + self.zpos.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter) + self.zpos.setText(str(self.currentZ)) + self.zpos.returnPressed.connect(self.compute_scale) +@@ -564,7 +565,7 @@ def make_buttons(self): + self.l0.addWidget(self.zpos, b, 1,1,1) + + # add scrollbar underneath +- self.scroll = QtGui.QScrollBar(QtCore.Qt.Horizontal) ++ self.scroll = QScrollBar(QtCore.Qt.Horizontal) + self.scroll.setMaximum(10) + self.scroll.valueChanged.connect(self.move_in_Z) + self.l0.addWidget(self.scroll, b,3,1,20) +diff --git a/cellpose/gui/guiparts.py b/cellpose/gui/guiparts.py +index 6b9590b..841c514 100644 +--- a/cellpose/gui/guiparts.py ++++ b/cellpose/gui/guiparts.py +@@ -1,4 +1,6 @@ + from PyQt5 import QtGui, QtCore, QtWidgets ++from PyQt5.QtGui import QPainter, QPixmap ++from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget, QDialog, QButtonGroup, QSlider, QStyle, QStyleOptionSlider, QGridLayout, QPushButton, QLabel + import pyqtgraph as pg + from pyqtgraph import functions as fn + from pyqtgraph import Point +@@ -7,7 +9,7 @@ + + def make_quadrants(parent): + """ make quadrant buttons """ +- parent.quadbtns = QtGui.QButtonGroup(parent) ++ parent.quadbtns = QButtonGroup(parent) + for b in range(9): + btn = QuadButton(b, ' '+str(b+1), parent) + parent.quadbtns.addButton(btn, b) +@@ -16,7 +18,7 @@ def make_quadrants(parent): + b += 1 + parent.quadbtns.setExclusive(True) + +-class QuadButton(QtGui.QPushButton): ++class QuadButton(QPushButton): + """ custom QPushButton class for quadrant plotting + requires buttons to put into a QButtonGroup (parent.quadbtns) + allows only 1 button to pressed at a time +@@ -104,29 +106,29 @@ def horizontal_slider_style(): + border-radius: 4px; + }""" + +-class ExampleGUI(QtGui.QDialog): ++class ExampleGUI(QDialog): + def __init__(self, parent=None): + super(ExampleGUI, self).__init__(parent) + self.setGeometry(100,100,1300,900) + self.setWindowTitle('GUI layout') +- self.win = QtGui.QWidget(self) +- layout = QtGui.QGridLayout() ++ self.win = QWidget(self) ++ layout = QGridLayout() + self.win.setLayout(layout) + guip_path = pathlib.Path.home().joinpath('.cellpose', 'cellpose_gui.png') + guip_path = str(guip_path.resolve()) +- pixmap = QtGui.QPixmap(guip_path) +- label = QtGui.QLabel(self) ++ pixmap = QPixmap(guip_path) ++ label = QLabel(self) + label.setPixmap(pixmap) + pixmap.scaled + layout.addWidget(label, 0, 0, 1, 1) + +-class HelpWindow(QtGui.QDialog): ++class HelpWindow(QDialog): + def __init__(self, parent=None): + super(HelpWindow, self).__init__(parent) + self.setGeometry(100,100,700,800) + self.setWindowTitle('cellpose help') +- self.win = QtGui.QWidget(self) +- layout = QtGui.QGridLayout() ++ self.win = QWidget(self) ++ layout = QGridLayout() + self.win.setLayout(layout) + + text = (''' +@@ -225,20 +227,20 @@ def __init__(self, parent=None): +

CHAN TO SEG: this is the channel in which the cytoplasm or nuclei exist

+

CHAN2 (OPT): if cytoplasm model is chosen, then choose the nuclear channel for this option

+ ''') +- label = QtGui.QLabel(text) ++ label = QLabel(text) + label.setFont(QtGui.QFont("Arial", 8)) + label.setWordWrap(True) + layout.addWidget(label, 0, 0, 1, 1) + self.show() + +-class TypeRadioButtons(QtGui.QButtonGroup): ++class TypeRadioButtons(QButtonGroup): + def __init__(self, parent=None, row=0, col=0): + super(TypeRadioButtons, self).__init__() + parent.color = 0 + self.parent = parent + self.bstr = self.parent.cell_types + for b in range(len(self.bstr)): +- button = QtGui.QRadioButton(self.bstr[b]) ++ button = QRadioButton(self.bstr[b]) + button.setStyleSheet('color: rgb(190,190,190);') + button.setFont(QtGui.QFont("Arial", 10)) + if b==0: +@@ -253,16 +255,16 @@ def btnpress(self, parent): + b = self.checkedId() + self.parent.cell_type = b + +-class RGBRadioButtons(QtGui.QButtonGroup): ++class RGBRadioButtons(QButtonGroup): + def __init__(self, parent=None, row=0, col=0): + super(RGBRadioButtons, self).__init__() + parent.color = 0 + self.parent = parent + self.bstr = ["image", "gradXY", "cellprob", "gradZ"] +- #self.buttons = QtGui.QButtonGroup() ++ #self.buttons = QButtonGroup() + self.dropdown = [] + for b in range(len(self.bstr)): +- button = QtGui.QRadioButton(self.bstr[b]) ++ button = QRadioButton(self.bstr[b]) + button.setStyleSheet('color: white;') + button.setFont(QtGui.QFont("Arial", 10)) + if b==0: +@@ -359,7 +361,7 @@ class ImageDraw(pg.ImageItem): + for controlling the levels and lookup table used to display the image. + """ + +- sigImageChanged = QtCore.Signal() ++ sigImageChanged = QtCore.pyqtSignal() + + def __init__(self, image=None, viewbox=None, parent=None, **kargs): + super(ImageDraw, self).__init__() +@@ -534,7 +536,7 @@ def setDrawKernel(self, kernel_size=3): + self.greenmask = np.concatenate((onmask,offmask,onmask,opamask), axis=-1) + + +-class RangeSlider(QtGui.QSlider): ++class RangeSlider(QSlider): + """ A slider for ranges. + + This class provides a dual-slider for ranges, where there is a defined +@@ -553,39 +555,35 @@ def __init__(self, parent=None, *args): + self._low = self.minimum() + self._high = self.maximum() + +- self.pressed_control = QtGui.QStyle.SC_None +- self.hover_control = QtGui.QStyle.SC_None ++ self.pressed_control = QStyle.SC_None ++ self.hover_control = QStyle.SC_None + self.click_offset = 0 + + self.setOrientation(QtCore.Qt.Vertical) +- self.setTickPosition(QtGui.QSlider.TicksRight) +- #self.setStyleSheet(\ +- # "QSlider::handle:vertical {\ +- # background-color: cyan;\ +- # border: 1px solid white;\ +- # border-radius: 2px;\ +- # border-color: white;\ +- # height: 16px;\ +- # width: 3px;\ +- # margin: 8px 2; \ +- # }") +- +- # set groove color +- +- self.opt = QtGui.QStyleOptionSlider() +- self.opt.orientation=QtCore.Qt.Vertical +- self.initStyleOption(self.opt) ++ self.setTickPosition(QSlider.TicksRight) ++ self.setStyleSheet(\ ++ "QSlider::handle:horizontal {\ ++ background-color: white;\ ++ border: 1px solid #5c5c5c;\ ++ border-radius: 0px;\ ++ border-color: black;\ ++ height: 8px;\ ++ width: 6px;\ ++ margin: -8px 2; \ ++ }") ++ ++ ++ #self.opt = QStyleOptionSlider() ++ #self.opt.orientation=QtCore.Qt.Vertical ++ #self.initStyleOption(self.opt) + # 0 for the low, 1 for the high, -1 for both + self.active_slider = 0 + self.parent = parent +- self.show() +- + + def level_change(self): + if self.parent is not None: + if self.parent.loaded: +- for z in range(self.parent.NZ): +- self.parent.saturation[z] = [self._low, self._high] ++ self.parent.ops_plot['saturation'] = [self._low, self._high] + self.parent.update_plot() + + def low(self): +@@ -604,47 +602,38 @@ def setHigh(self, high): + + def paintEvent(self, event): + # based on http://qt.gitorious.org/qt/qt/blobs/master/src/gui/widgets/qslider.cpp +- painter = QtGui.QPainter(self) +- style = QtGui.QApplication.style() ++ painter = QPainter(self) ++ style = QApplication.style() + + for i, value in enumerate([self._low, self._high]): +- opt = QtWidgets.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + # Only draw the groove for the first slider so it doesn't get drawn + # on top of the existing ones every time + if i == 0: +- opt.subControls = QtWidgets.QStyle.SC_SliderGroove | QtWidgets.QStyle.SC_SliderHandle ++ opt.subControls = QStyle.SC_SliderHandle#QStyle.SC_SliderGroove | QStyle.SC_SliderHandle + else: +- opt.subControls = QtWidgets.QStyle.SC_SliderHandle ++ opt.subControls = QStyle.SC_SliderHandle + + if self.tickPosition() != self.NoTicks: +- opt.subControls |= QtWidgets.QStyle.SC_SliderTickmarks ++ opt.subControls |= QStyle.SC_SliderTickmarks + + if self.pressed_control: + opt.activeSubControls = self.pressed_control +- opt.state |= QtWidgets.QStyle.State_Sunken ++ opt.state |= QStyle.State_Sunken + else: + opt.activeSubControls = self.hover_control + + opt.sliderPosition = value + opt.sliderValue = value ++ style.drawComplexControl(QStyle.CC_Slider, opt, painter, self) ++ + +- if i==0: +- pen = QtGui.QPen() +- pen.setBrush(QtGui.QColor('#2e4f37')) +- pen.setCapStyle(QtCore.Qt.RoundCap) +- pen.setWidth(3) +- painter.setPen(pen) +- painter.setBrush(QtGui.QColor('#2e4f37')) +- x1,y1,x2,y2 = event.rect().getCoords() +- painter.drawRect(event.rect()) +- style.drawComplexControl(QtWidgets.QStyle.CC_Slider, opt, painter, self) +- + def mousePressEvent(self, event): + event.accept() + +- style = QtGui.QApplication.style() ++ style = QApplication.style() + button = event.button() + # In a normal slider control, when the user clicks on a point in the + # slider's total range, but not on the slider part of the control the +@@ -652,7 +641,7 @@ def mousePressEvent(self, event): + # For this control, clicks which are not direct hits will slide both + # slider parts + if button: +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + self.active_slider = -1 +@@ -671,7 +660,7 @@ def mousePressEvent(self, event): + break + + if self.active_slider < 0: +- self.pressed_control = QtGui.QStyle.SC_SliderHandle ++ self.pressed_control = QStyle.SC_SliderHandle + self.click_offset = self.__pixelPosToRangeValue(self.__pick(event.pos())) + self.triggerAction(self.SliderMove) + self.setRepeatAction(self.SliderNoAction) +@@ -679,13 +668,13 @@ def mousePressEvent(self, event): + event.ignore() + + def mouseMoveEvent(self, event): +- if self.pressed_control != QtGui.QStyle.SC_SliderHandle: ++ if self.pressed_control != QStyle.SC_SliderHandle: + event.ignore() + return + + event.accept() + new_pos = self.__pixelPosToRangeValue(self.__pick(event.pos())) +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) + + if self.active_slider < 0: +@@ -723,9 +712,9 @@ def __pick(self, pt): + + + def __pixelPosToRangeValue(self, pos): +- opt = QtGui.QStyleOptionSlider() ++ opt = QStyleOptionSlider() + self.initStyleOption(opt) +- style = QtGui.QApplication.style() ++ style = QApplication.style() + + gr = style.subControlRect(style.CC_Slider, opt, style.SC_SliderGroove, self) + sr = style.subControlRect(style.CC_Slider, opt, style.SC_SliderHandle, self) +diff --git a/cellpose/gui/io.py b/cellpose/gui/io.py +index 95711b9..cb6a6b5 100644 +--- a/cellpose/gui/io.py ++++ b/cellpose/gui/io.py +@@ -9,7 +9,7 @@ + from ..io import imread, imsave, outlines_to_text + + try: +- from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++ from PyQt5.QtWidgets import QFileDialog + GUI = True + except: + GUI = False +@@ -23,7 +23,7 @@ + def _load_image(parent, filename=None): + """ load image with filename; if None, open QFileDialog """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load image" + ) + filename = name[0] +@@ -131,7 +131,7 @@ def _initialize_images(parent, image, resize, X2): + def _load_seg(parent, filename=None, image=None, image_file=None): + """ load *_seg.npy with filename; if None, open QFileDialog """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load labelled data", filter="*.npy" + ) + filename = name[0] +@@ -276,7 +276,7 @@ def _load_seg(parent, filename=None, image=None, image_file=None): + def _load_masks(parent, filename=None): + """ load zeros-based masks (0=no cell, 1=cell 1, ...) """ + if filename is None: +- name = QtGui.QFileDialog.getOpenFileName( ++ name = QFileDialog.getOpenFileName( + parent, "Load masks (PNG or TIFF)" + ) + filename = name[0] +diff --git a/cellpose/gui/menus.py b/cellpose/gui/menus.py +index b01f76a..2efbace 100644 +--- a/cellpose/gui/menus.py ++++ b/cellpose/gui/menus.py +@@ -1,4 +1,4 @@ +-from PyQt5 import QtGui, QtCore, Qt, QtWidgets ++from PyQt5.QtWidgets import QAction + from . import io + from .. import models + from ..io import save_server +@@ -7,51 +7,51 @@ def mainmenu(parent): + main_menu = parent.menuBar() + file_menu = main_menu.addMenu("&File") + # load processed data +- loadImg = QtGui.QAction("&Load image (*.tif, *.png, *.jpg)", parent) ++ loadImg = QAction("&Load image (*.tif, *.png, *.jpg)", parent) + loadImg.setShortcut("Ctrl+L") + loadImg.triggered.connect(lambda: io._load_image(parent)) + file_menu.addAction(loadImg) + +- parent.loadMasks = QtGui.QAction("Load &masks (*.tif, *.png, *.jpg)", parent) ++ parent.loadMasks = QAction("Load &masks (*.tif, *.png, *.jpg)", parent) + parent.loadMasks.setShortcut("Ctrl+M") + parent.loadMasks.triggered.connect(lambda: io._load_masks(parent)) + file_menu.addAction(parent.loadMasks) + parent.loadMasks.setEnabled(False) + +- loadManual = QtGui.QAction("Load &processed/labelled image (*_seg.npy)", parent) ++ loadManual = QAction("Load &processed/labelled image (*_seg.npy)", parent) + loadManual.setShortcut("Ctrl+P") + loadManual.triggered.connect(lambda: io._load_seg(parent)) + file_menu.addAction(loadManual) + +- #loadStack = QtGui.QAction("Load &numpy z-stack (*.npy nimgs x nchan x pixels x pixels)", parent) ++ #loadStack = QAction("Load &numpy z-stack (*.npy nimgs x nchan x pixels x pixels)", parent) + #loadStack.setShortcut("Ctrl+N") + #loadStack.triggered.connect(lambda: parent.load_zstack(None)) + #file_menu.addAction(loadStack) + +- parent.saveSet = QtGui.QAction("&Save masks and image (as *_seg.npy)", parent) ++ parent.saveSet = QAction("&Save masks and image (as *_seg.npy)", parent) + parent.saveSet.setShortcut("Ctrl+S") + parent.saveSet.triggered.connect(lambda: io._save_sets(parent)) + file_menu.addAction(parent.saveSet) + parent.saveSet.setEnabled(False) + +- parent.savePNG = QtGui.QAction("Save masks as P&NG", parent) ++ parent.savePNG = QAction("Save masks as P&NG", parent) + parent.savePNG.setShortcut("Ctrl+N") + parent.savePNG.triggered.connect(lambda: io._save_png(parent)) + file_menu.addAction(parent.savePNG) + parent.savePNG.setEnabled(False) + +- parent.saveOutlines = QtGui.QAction("Save &Outlines as text for imageJ", parent) ++ parent.saveOutlines = QAction("Save &Outlines as text for imageJ", parent) + parent.saveOutlines.setShortcut("Ctrl+O") + parent.saveOutlines.triggered.connect(lambda: io._save_outlines(parent)) + file_menu.addAction(parent.saveOutlines) + parent.saveOutlines.setEnabled(False) + +- parent.saveServer = QtGui.QAction("Send manually labelled data to server", parent) ++ parent.saveServer = QAction("Send manually labelled data to server", parent) + parent.saveServer.triggered.connect(lambda: save_server(parent)) + file_menu.addAction(parent.saveServer) + parent.saveServer.setEnabled(False) + +- parent.switchBackend = QtGui.QAction("Switch backend to MXNET if installed", parent) ++ parent.switchBackend = QAction("Switch backend to MXNET if installed", parent) + parent.switchBackend.triggered.connect(lambda: parent.check_gpu(False)) + file_menu.addAction(parent.switchBackend) + if models.MXNET_ENABLED: +@@ -62,25 +62,25 @@ def mainmenu(parent): + def editmenu(parent): + main_menu = parent.menuBar() + edit_menu = main_menu.addMenu("&Edit") +- parent.undo = QtGui.QAction('Undo previous mask/trace', parent) ++ parent.undo = QAction('Undo previous mask/trace', parent) + parent.undo.setShortcut("Ctrl+Z") + parent.undo.triggered.connect(parent.undo_action) + parent.undo.setEnabled(False) + edit_menu.addAction(parent.undo) + +- parent.redo = QtGui.QAction('Undo remove mask', parent) ++ parent.redo = QAction('Undo remove mask', parent) + parent.redo.setShortcut("Ctrl+Y") + parent.redo.triggered.connect(parent.undo_remove_action) + parent.redo.setEnabled(False) + edit_menu.addAction(parent.redo) + +- parent.ClearButton = QtGui.QAction('Clear all masks', parent) ++ parent.ClearButton = QAction('Clear all masks', parent) + parent.ClearButton.setShortcut("Ctrl+0") + parent.ClearButton.triggered.connect(parent.clear_all) + parent.ClearButton.setEnabled(False) + edit_menu.addAction(parent.ClearButton) + +- parent.remcell = QtGui.QAction('Remove selected cell (Ctrl+CLICK)', parent) ++ parent.remcell = QAction('Remove selected cell (Ctrl+CLICK)', parent) + parent.remcell.setShortcut("Ctrl+Click") + parent.remcell.triggered.connect(parent.remove_action) + parent.remcell.setEnabled(False) +@@ -90,16 +90,16 @@ def helpmenu(parent): + main_menu = parent.menuBar() + help_menu = main_menu.addMenu("&Help") + +- checkMKL = QtGui.QAction("Check CPU MKL -- see terminal", parent) ++ checkMKL = QAction("Check CPU MKL -- see terminal", parent) + checkMKL.triggered.connect(lambda: models.check_mkl(istorch=parent.torch)) + help_menu.addAction(checkMKL) + +- openHelp = QtGui.QAction("&Help window", parent) ++ openHelp = QAction("&Help window", parent) + openHelp.setShortcut("Ctrl+H") + openHelp.triggered.connect(parent.help_window) + help_menu.addAction(openHelp) + +- openGUI = QtGui.QAction("&GUI layout", parent) ++ openGUI = QAction("&GUI layout", parent) + openGUI.setShortcut("Ctrl+G") + openGUI.triggered.connect(parent.gui_window) + help_menu.addAction(openGUI) +diff --git a/tests/test_train.py b/tests/test_train.py +index 9d05545..bce599c 100644 +--- a/tests/test_train.py ++++ b/tests/test_train.py +@@ -6,7 +6,7 @@ + + os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" + +-def test_class_train(data_dir, image_names): ++def test_class_train(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) +@@ -18,7 +18,7 @@ def test_class_train(data_dir, image_names): + channels=[2,1], save_path=train_dir, n_epochs=10) + print('>>>> model trained and saved to %s'%cpmodel_path) + +-def test_cli_train(data_dir, image_names): ++def test_cli_train(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) +@@ -29,7 +29,7 @@ def test_cli_train(data_dir, image_names): + print(e) + raise ValueError(e) + +-def test_cli_train_pretrained(data_dir, image_names): ++def test_cli_train_pretrained(data_dir): + train_dir = str(data_dir.joinpath('2D').joinpath('train')) + model_dir = str(data_dir.joinpath('2D').joinpath('train').joinpath('models')) + shutil.rmtree(model_dir, ignore_errors=True) diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..feace92583f --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '2.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.cellpose.org' +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyQtGraph', '0.13.3'), + ('numba', '0.56.4', versionsuffix), + ('tqdm', '4.64.0'), + ('imagecodecs', '2022.9.26'), + ('scikit-build', '0.15.0'), + ('QtPy', '2.3.0'), +] + +use_pip = True + +# avoid hatchling requirement to install +# (since installing it introduces conflicting version requirements with poetry included with Python) +_preinstallopts_no_hatchling = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +_preinstallopts_no_hatchling += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +_preinstallopts_no_hatchling += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('tifffile', '2023.4.12', { + 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('fastremap', '1.13.5', { + 'preinstallopts': "export PBR_VERSION=1.2.3 && ", + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/seung-lab/fastremap/archive/'], + 'checksums': ['ee0e9e798e9f331b7c46e98768735a42bb6e287b3aa56c31c322ba585f4036b7'], + }), + ('roifile', '2023.5.12', { + 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], + }), + ('superqt', '0.6.6', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['792e09165c8a788ee245bdb784e018f9077fb309253354d86793cdf1d092f99f'], + }), + (name, version, { + # OpenCV dependency provides opencv-contrib-python (equivalent to opencv-python-headless) + 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' setup.py && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': ['f21773d364d117eb6fd84c3fb27375845ef373793139ef1668c15491294a3b47'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb new file mode 100644 index 00000000000..90f73c6aef8 --- /dev/null +++ b/easybuild/easyconfigs/c/Cellpose/Cellpose-2.2.2-foss-2022a.eb @@ -0,0 +1,70 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Cellpose' +version = '2.2.2' + +homepage = 'https://www.cellpose.org' +description = """a generalist algorithm for cellular segmentation""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('OpenCV', '4.6.0', '-contrib'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('PyTorch', '1.12.0'), + ('PyQtGraph', '0.13.3'), + ('numba', '0.56.4'), + ('tqdm', '4.64.0'), + ('imagecodecs', '2022.9.26'), + ('scikit-build', '0.15.0'), + ('QtPy', '2.3.0'), +] + +use_pip = True + +# avoid hatchling requirement to install +# (since installing it introduces conflicting version requirements with poetry included with Python) +_preinstallopts_no_hatchling = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +_preinstallopts_no_hatchling += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +_preinstallopts_no_hatchling += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('tifffile', '2023.4.12', { + 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('fastremap', '1.13.5', { + 'preinstallopts': "export PBR_VERSION=1.2.3 && ", + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/seung-lab/fastremap/archive/'], + 'checksums': ['ee0e9e798e9f331b7c46e98768735a42bb6e287b3aa56c31c322ba585f4036b7'], + }), + ('roifile', '2023.5.12', { + 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], + }), + ('superqt', '0.6.6', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['792e09165c8a788ee245bdb784e018f9077fb309253354d86793cdf1d092f99f'], + }), + (name, version, { + # OpenCV dependency provides opencv-contrib-python (equivalent to opencv-python-headless) + 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' setup.py && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'gui', + 'checksums': ['f21773d364d117eb6fd84c3fb27375845ef373793139ef1668c15491294a3b47'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2020b.eb b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2020b.eb new file mode 100644 index 00000000000..10d20754e0d --- /dev/null +++ b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Centrifuge' +version = '1.0.4' + +homepage = 'https://ccb.jhu.edu/software/centrifuge' +description = 'Classifier for metagenomic sequences' + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/DaehwanKimLab/centrifuge/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc', # v1.0.4.tar.gz +] + +dependencies = [ + ('NGS', '2.10.9'), + ('ncbi-vdb', '2.10.9'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CXXFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINUSVDB' + +installopts = "prefix=%(installdir)s" + +fix_perl_shebang_for = ['bin/centrifuge*.pl'] + +sanity_check_paths = { + 'files': ['bin/centrifuge%s' % x for x in ['', '-build', '-build-bin', '-class', '-download', + '-inspect', '-inspect-bin']], + 'dirs': [], +} + +sanity_check_commands = ["centrifuge --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb new file mode 100644 index 00000000000..d73a84e0a4c --- /dev/null +++ b/easybuild/easyconfigs/c/Centrifuge/Centrifuge-1.0.4-gompi-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Centrifuge' +version = '1.0.4' + +homepage = 'https://ccb.jhu.edu/software/centrifuge' +description = 'Classifier for metagenomic sequences' + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/DaehwanKimLab/centrifuge/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '929daed0f84739f7636cc1ea2757527e83373f107107ffeb5937a403ba5201bc', # v1.0.4.tar.gz +] + +dependencies = [ + ('NGS', '2.10.9'), + ('ncbi-vdb', '2.10.9'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CXXFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINUSVDB' + +installopts = "prefix=%(installdir)s" + +fix_perl_shebang_for = ['bin/centrifuge*.pl'] + +sanity_check_paths = { + 'files': ['bin/centrifuge%s' % x for x in ['', '-build', '-build-bin', '-class', '-download', + '-inspect', '-inspect-bin']], + 'dirs': [], +} + +sanity_check_commands = ["centrifuge --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b6bb38d747b --- /dev/null +++ b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +## +# @Authors:: Maxime Boissonneault, Compute Canada +# @date: October 15, 2020 +## + +easyblock = 'CMakeMake' + +name = 'Cereal' +version = '1.3.2' + +homepage = 'https://uscilab.github.io/cereal/' +description = """cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly +turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be +fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or +used standalone.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'USCiLab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +configopts = '-DJUST_INSTALL_CEREAL=ON -DSKIP_PERFORMANCE_COMPARISON=ON ' + +sanity_check_paths = { + 'files': ['include/cereal/cereal.hpp'], + 'dirs': ['include', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb new file mode 100644 index 00000000000..93c3203a39d --- /dev/null +++ b/easybuild/easyconfigs/c/Cereal/Cereal-1.3.2.eb @@ -0,0 +1,35 @@ +## +# @Authors:: Maxime Boissonneault, Compute Canada +# @date: October 15, 2020 +## + +easyblock = 'CMakeMake' + +name = 'Cereal' +version = '1.3.2' + +homepage = 'https://uscilab.github.io/cereal/' +description = """cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly +turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be +fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or +used standalone.""" + +toolchain = SYSTEM + +github_account = 'USCiLab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +configopts = '-DJUST_INSTALL_CEREAL=ON -DSKIP_PERFORMANCE_COMPARISON=ON ' + +sanity_check_paths = { + 'files': ['include/cereal/cereal.hpp'], + 'dirs': ['include', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Cgl/Cgl-0.60.3-foss-2020b.eb b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.3-foss-2020b.eb new file mode 100644 index 00000000000..e9e8533a7cc --- /dev/null +++ b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.3-foss-2020b.eb @@ -0,0 +1,50 @@ +easyblock = "ConfigureMake" + +name = 'Cgl' +version = '0.60.3' + +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': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['cf11e3476d2182040cec412abb232d8bafa12ff5b619eca3b7b9ac1d220476c8'] + +builddependencies = [ + ('Autotools', '20200321'), + ('Doxygen', '1.8.20'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('Clp', '1.17.6'), +] + +# 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/Cgl/Cgl-0.60.3-foss-2021a.eb b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.3-foss-2021a.eb new file mode 100644 index 00000000000..43439554451 --- /dev/null +++ b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.3-foss-2021a.eb @@ -0,0 +1,50 @@ +easyblock = "ConfigureMake" + +name = 'Cgl' +version = '0.60.3' + +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': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['cf11e3476d2182040cec412abb232d8bafa12ff5b619eca3b7b9ac1d220476c8'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('Clp', '1.17.6'), +] + +# 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/Cgl/Cgl-0.60.7-foss-2022b.eb b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.7-foss-2022b.eb new file mode 100644 index 00000000000..f28e99e9fbb --- /dev/null +++ b/easybuild/easyconfigs/c/Cgl/Cgl-0.60.7-foss-2022b.eb @@ -0,0 +1,50 @@ +easyblock = "ConfigureMake" + +name = 'Cgl' +version = '0.60.7' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Cgl/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['93b30a80b5d2880c2e72d5877c64bdeaf4d7c1928b3194ea2f88b1aa4517fb1b'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.5'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.9'), + ('Osi', '0.108.8'), + ('Clp', '1.17.8'), +] + +# 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/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/ChIPseeker/ChIPseeker-1.32.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/c/ChIPseeker/ChIPseeker-1.32.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..050adb450ea --- /dev/null +++ b/easybuild/easyconfigs/c/ChIPseeker/ChIPseeker-1.32.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,53 @@ +easyblock = 'Bundle' + +name = 'ChIPseeker' +version = '1.32.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://bioconductor.org/packages/release/bioc/html/ChIPseeker.html' +description = """This package implements functions to retrieve the nearest genes around the peak, + annotate genomic region of the peak, statstical methods for estimate the significance of overlap + among ChIP peak data sets, and incorporate GEO database for user to compare the own dataset with + those deposited in database.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('RVenn', '1.1.0', { + 'checksums': ['c41a96dd4a9b51e7dcc8647cdbaa0faa704ab22d5b0c1d45e593a6b23b00d504'], + }), + ('ggVennDiagram', '1.2.3', { + 'checksums': ['f26c4977d868cef80a3ce80ea418130415ac4106336d4172c5638cd130c87820'], + }), + (name, version, { + 'checksums': ['8eadcd66bbe60d17e72240a4f1c7b95a9cf11a7cd97df9833d1831ba39094550'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.2.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..afad4ef3564 --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.2.0-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.2.0' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e1d7dd70cd9d6d46de5abbf22278dc8169707995a21e8bf705f5746c04c76891'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..82b9cf13ffd --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.3.4-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.3.4' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['28e895a6e22daee76c24cf4d36c62bb20fd60fad0c9cfefc2eb8fa9b6045ae84'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..97a9eec1bdd --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.4.1' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f313f556b5acb9215961d9718c21235aafcd43bce6b357bf66f772e5692bba75'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..497ee7a3e8b --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.4.2' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d1c2c35664976f1e43fec7764d72755e6a50a80f38eca70fcc7553cad4fe19d9'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9d814bdfc23 --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'CharLS' +version = '2.4.2' + +homepage = 'https://github.com/team-charls/charls' +description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image +compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 +compression ratios.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/team-charls/charls/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d1c2c35664976f1e43fec7764d72755e6a50a80f38eca70fcc7553cad4fe19d9'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3') +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libcharls.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.11-foss-2021b.eb b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.11-foss-2021b.eb new file mode 100644 index 00000000000..a70adebb5c5 --- /dev/null +++ b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.11-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CheMPS2' +version = '1.8.11' + +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': '2021b'} + +source_urls = ['https://github.com/SebWouters/CheMPS2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1843c1dd2775104a7b75fc4849ef54eb0b67b7643553b88af82a9ea1f034c4e5'] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('HDF5', '1.12.1') +] + +pretestopts = 'export OMP_NUM_THREADS=1 && ' +runtest = 'test' + +separate_build_dir = True + +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/CheMPS2/CheMPS2-1.8.12-foss-2022a.eb b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022a.eb new file mode 100644 index 00000000000..482ab997133 --- /dev/null +++ b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2022a.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': '2022a'} + +source_urls = ['https://github.com/SebWouters/CheMPS2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('HDF5', '1.12.2') +] + +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/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/CheMPS2/CheMPS2-1.8.12-foss-2023a.eb b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2023a.eb new file mode 100644 index 00000000000..fb8dea8412b --- /dev/null +++ b/easybuild/easyconfigs/c/CheMPS2/CheMPS2-1.8.12-foss-2023a.eb @@ -0,0 +1,32 @@ +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': '2023a'} + +source_urls = ['https://github.com/SebWouters/CheMPS2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eef1b92d74ac07fde58c043f64e8cac02b5400c209c44dcbb51641f86e0c7c83'] + +builddependencies = [ + ('CMake', '3.26.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.12.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/c/Check/Check-0.12.0-GCCcore-6.4.0.eb new file mode 100644 index 00000000000..3ef1d466fa4 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.12.0-GCCcore-6.4.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'Check' +version = '0.12.0' + +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': '6.4.0'} + +source_urls = ['https://github.com/libcheck/check/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['7816b4c38f6e23ff873786f18d966e552837677bfae144041e0587e7c39e04e8'] + +builddependencies = [ + ('binutils', '2.28'), + ('CMake', '3.10.1'), +] + +sanity_check_paths = { + 'files': ['include/check.h', 'lib/libcheck.a', 'lib/libcompat.a'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9e27b941bc5 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-11.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': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +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/Check/Check-0.15.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f1ca4ac1035 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-11.3.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': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +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/Check/Check-0.15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..80669a6c261 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.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': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.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/Check/Check-0.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c700af315af --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-12.3.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': '12.3.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', '1.9.5'), +] + +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/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/Check/Check-0.15.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1e0764bfb44 --- /dev/null +++ b/easybuild/easyconfigs/c/Check/Check-0.15.2-GCCcore-13.3.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.3.0'} +toolchainopts = {'pic': True} + +github_account = 'libcheck' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +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/CheckM-Database/CheckM-Database-2015_01_16.eb b/easybuild/easyconfigs/c/CheckM-Database/CheckM-Database-2015_01_16.eb new file mode 100644 index 00000000000..4132bd8daec --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM-Database/CheckM-Database-2015_01_16.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'CheckM-Database' +version = '2015_01_16' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, +single cells, or metagenomes. + +This is the corresponding database. +""" + +toolchain = SYSTEM + +source_urls = ['https://data.ace.uq.edu.au/public/CheckM_databases/'] +sources = ['checkm_data_%(version)s.tar.gz'] +checksums = [ + '971ec469348bd6c3d9eb96142f567f12443310fa06c1892643940f35f86ac92c', # checkm_data_2015_01_16.tar.gz +] + +sanity_check_paths = { + 'files': ['selected_marker_sets.tsv', 'taxon_marker_sets.tsv'], + 'dirs': ['distributions/', 'genome_tree', 'hmms', 'hmms_ssu', 'img', 'pfam', 'test_data'], +} + +modextravars = { + 'CHECKM_DATA_PATH': '%(installdir)s', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-2.7.14.eb index c6904d99cd1..55855240f3f 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-2.7.14.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'foss', 'version': '2017b'} dependencies = [ ('Python', '2.7.14'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.1b2'), ('matplotlib', '2.1.0', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-3.6.3.eb index e714707c6e2..5e8e0e8c81c 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2017b-Python-3.6.3.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'foss', 'version': '2017b'} dependencies = [ ('Python', '3.6.3'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.1b2'), ('matplotlib', '2.1.0', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2018b-Python-2.7.15.eb index a86d3eb6269..f4962c34698 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-foss-2018b-Python-2.7.15.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'foss', 'version': '2018b'} dependencies = [ ('Python', '2.7.15'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.2.1'), ('matplotlib', '2.2.3', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-2.7.14.eb index 3896c5c1e88..be840290424 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-2.7.14.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2017b'} dependencies = [ ('Python', '2.7.14'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.1b2'), ('matplotlib', '2.1.0', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-3.6.3.eb index a37f08d8828..d4b79112d0a 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.13-intel-2017b-Python-3.6.3.eb @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2017b'} dependencies = [ ('Python', '3.6.3'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.1b2'), ('matplotlib', '2.1.0', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2019a-Python-2.7.15.eb index 4514d763794..ff1a1fe08e9 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2019a-Python-2.7.15.eb @@ -22,7 +22,7 @@ checksums = ['0dcf31eab5e340a0fff37d7a5091d46d9269b0708db8f789adcd7cbd2a09a2b7'] # https://github.com/Ecogenomics/CheckM/blob/master/setup.py dependencies = [ ('Python', '2.7.15'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.2.1'), ('SciPy-bundle', '2019.03'), # numpy diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2020b-Python-2.7.18.eb index b5127b17c53..3930c1d64ba 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.0.18-foss-2020b-Python-2.7.18.eb @@ -32,7 +32,7 @@ checksums = [ dependencies = [ ('Python', '2.7.18'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.3.2'), ('SciPy-bundle', '2020.11', versionsuffix), diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-foss-2019b-Python-3.7.4.eb index 5c9942d78bd..76cd653d9bc 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-foss-2019b-Python-3.7.4.eb @@ -34,7 +34,7 @@ checksums = [ # https://github.com/Ecogenomics/CheckM/blob/master/setup.py dependencies = [ ('Python', '3.7.4'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.2.1'), ('SciPy-bundle', '2019.10', versionsuffix), # numpy diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-intel-2019b-Python-3.7.4.eb index 59a8d8608ce..07591763a36 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.2-intel-2019b-Python-3.7.4.eb @@ -34,7 +34,7 @@ checksums = [ # https://github.com/Ecogenomics/CheckM/blob/master/setup.py dependencies = [ ('Python', '3.7.4'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.2.1'), ('SciPy-bundle', '2019.10', versionsuffix), # numpy diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021a.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021a.eb new file mode 100644 index 00000000000..7fb4d447164 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021a.eb @@ -0,0 +1,64 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'CheckM' +version = '1.1.3' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, + single cells, or metagenomes.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://pypi.python.org/packages/source/c/checkm-genome', + 'https://data.ace.uq.edu.au/public/CheckM_databases/', +] +sources = [ + 'checkm-genome-%(version)s.tar.gz', + { + 'filename': 'checkm_data_2015_01_16.tar.gz', + 'extract_cmd': "mkdir -p %(builddir)s/data && cd %(builddir)s/data && tar xfvz %s", + }, +] +checksums = [ + '7fda369783d3b7d6a7324ee33cc93ac3560fba509bf2139e920fa661e2b45644', # checkm-genome-1.1.3.tar.gz + '971ec469348bd6c3d9eb96142f567f12443310fa06c1892643940f35f86ac92c', # checkm_data_2015_01_16.tar.gz +] + +# Dependencies: +# https://github.com/Ecogenomics/CheckM/blob/master/setup.py +dependencies = [ + ('Python', '3.9.5'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('SciPy-bundle', '2021.05'), # numpy + ('matplotlib', '3.4.2'), + ('Pysam', '0.16.0.1'), + ('DendroPy', '4.5.2'), +] + +download_dep_fail = True +use_pip = True + +# also install CheckM databases, see https://github.com/Ecogenomics/CheckM/wiki/Installation#how-to-install-checkm +postinstallcmds = [ + "cp -a %(builddir)s/data %(installdir)s", + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "%(installdir)s/bin/checkm data setRoot %(installdir)s/data", +] + +sanity_check_paths = { + 'files': ['bin/checkm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["checkm test %(builddir)s/checkm_test_results"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021b.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021b.eb new file mode 100644 index 00000000000..9cf5f49131d --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-foss-2021b.eb @@ -0,0 +1,65 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# Updated by: Filip Kružík (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'CheckM' +version = '1.1.3' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, + single cells, or metagenomes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://pypi.python.org/packages/source/c/checkm-genome', + 'https://data.ace.uq.edu.au/public/CheckM_databases/', +] +sources = [ + 'checkm-genome-%(version)s.tar.gz', + { + 'filename': 'checkm_data_2015_01_16.tar.gz', + 'extract_cmd': "mkdir -p %(builddir)s/data && cd %(builddir)s/data && tar xfvz %s", + }, +] +checksums = [ + '7fda369783d3b7d6a7324ee33cc93ac3560fba509bf2139e920fa661e2b45644', # checkm-genome-1.1.3.tar.gz + '971ec469348bd6c3d9eb96142f567f12443310fa06c1892643940f35f86ac92c', # checkm_data_2015_01_16.tar.gz +] + +# Dependencies: +# https://github.com/Ecogenomics/CheckM/blob/master/setup.py +dependencies = [ + ('Python', '3.9.6'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('SciPy-bundle', '2021.10'), # numpy + ('matplotlib', '3.4.3'), + ('Pysam', '0.17.0'), + ('DendroPy', '4.5.2'), +] + +download_dep_fail = True +use_pip = True + +# also install CheckM databases, see https://github.com/Ecogenomics/CheckM/wiki/Installation#how-to-install-checkm +postinstallcmds = [ + "cp -a %(builddir)s/data %(installdir)s", + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH " + "%(installdir)s/bin/checkm data setRoot %(installdir)s/data", +] + +sanity_check_paths = { + 'files': ['bin/checkm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["checkm test %(builddir)s/checkm_test_results"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-intel-2020a-Python-3.8.2.eb index 27fd970b63a..c7dd8d34897 100644 --- a/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.1.3-intel-2020a-Python-3.8.2.eb @@ -34,7 +34,7 @@ checksums = [ # https://github.com/Ecogenomics/CheckM/blob/master/setup.py dependencies = [ ('Python', '3.8.2'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('prodigal', '2.6.3'), ('HMMER', '3.3.1'), ('SciPy-bundle', '2020.03', versionsuffix), # numpy diff --git a/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb b/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb new file mode 100644 index 00000000000..a46bf261992 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM/CheckM-1.2.2-foss-2022a.eb @@ -0,0 +1,47 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# Updated by: Filip Kružík (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'CheckM' +version = '1.2.2' + +homepage = 'https://github.com/Ecogenomics/CheckM' +description = """CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, + single cells, or metagenomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Ecogenomics/CheckM/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a748b94e93f8d5fecfd0d5b3f17fcb119b25d4b45217e047b2fd742b21e74c0e'] + +# Dependencies: +# https://github.com/Ecogenomics/CheckM/blob/master/setup.py +dependencies = [ + ('Python', '3.10.4'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('SciPy-bundle', '2022.05'), # numpy + ('matplotlib', '3.5.2'), + ('Pysam', '0.19.1'), + ('DendroPy', '4.5.2'), + ('CheckM-Database', '2015_01_16', '', SYSTEM), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/checkm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["checkm test %(builddir)s/checkm_test_results"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb new file mode 100644 index 00000000000..9f834b1a38f --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2-foss-2022b.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'CheckM2' +version = '1.0.2' + +homepage = 'https://github.com/chklovski/CheckM2/' +description = "Assessing the quality of metagenome-derived genome bins using machine learning" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [('CMake', '3.24.3')] +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('DIAMOND', '2.1.8'), + ('TensorFlow', '2.13.0'), + ('prodigal', '2.6.3'), + ('h5py', '3.8.0'), + ('tqdm', '4.64.1'), +] + +exts_list = [ + ('scikit-learn', '0.23.2', { + 'modulename': 'sklearn', + 'checksums': ['20766f515e6cd6f954554387dfae705d93c7b544ec0e6c6a5d8e006f6f7ef480'], + }), + ('lightgbm', '3.2.1', { + 'checksums': ['bd98e3b501b4c24dc127f4ad93e467f42923fe3eefa99e143b5b93158f024395'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fileManager.py-database-fix.patch'], + 'source_urls': ['https://github.com/chklovski/CheckM2/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + {'1.0.2.tar.gz': '9d3129e4d0b53acc38519a259cc1e20a215dff0cbce51cef874545ca2fff005a'}, + {'CheckM2-1.0.2_fileManager.py-database-fix.patch': + '953f0eeef49ea537c0cb97c173a2488c29f09b58cd10800c60078b436a7ea2c7'}, + ], + }), +] + +postinstallcmds = [ + # np.float is depreciated in newer numpy + 'sed -i "s/np.float/float/g" %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2/predictQuality.py', + # update DB_LOCATION_DEFINITION in defaultValues.py to env CHECKM2DB + "cd %(installdir)s/lib/python%(pyshortver)s/site-packages/checkm2 && " + r"sed -i 's/\(DB_LOCATION_DEFINITION\) = .*/\1 = os.environ.get(\"CHECKM2DB\", \"Not Set\")/' defaultValues.py", +] + +modloadmsg = """You need download a diamond database now and setup a path to this db: +First you need to setup $CHECKM2DB as: +$ export CHECKM2DB="path/to/database/CheckM2_database/uniref100.KO.1.dmnd" +Next, download the database (/CheckM2_database/uniref100.KO.1.dmnd will be created): +$ checkm2 database --download --path path/to/database +You can check path to the database by: +$ checkm2 database --current +You can either test if everything is setup properly by: +$ checkm2 testrun +""" + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch new file mode 100644 index 00000000000..5c64bd20738 --- /dev/null +++ b/easybuild/easyconfigs/c/CheckM2/CheckM2-1.0.2_fileManager.py-database-fix.patch @@ -0,0 +1,126 @@ +Author: Pavel Tomanek (Inuits) + Kenneth Hoste (HPC-UGent) +This patch changes the way a path to the diamond database is set. It used to be stored in install dir in +diamond_path.json, but since this is unmodifiable file for user, the path is stored in env variable CHECKM2DB. +The patch needs to change whole file - there was a problem with dos style endings (CRLF). +diff -ruZ CheckM2-1.0.2.orig/checkm2/fileManager.py CheckM2-1.0.2/checkm2/fileManager.py +--- CheckM2-1.0.2.orig/checkm2/fileManager.py 2023-05-19 01:56:46.000000000 +0200 ++++ CheckM2-1.0.2/checkm2/fileManager.py 2024-05-30 22:13:45.230761282 +0200 +@@ -22,62 +22,34 @@ + + diamond_definition = self.__get_db_file() + +- if diamond_definition['DBPATH'] == 'Not Set': ++ if diamond_definition == 'Not Set': + self.DATABASE_DIR = 'Not Set' + else: +- self.DATABASE_DIR = diamond_definition['DBPATH'] ++ self.DATABASE_DIR = diamond_definition + else: + diamond_definition = self.__get_db_file() + +- if diamond_definition['DBPATH'] == 'Not Set': ++ if diamond_definition == 'Not Set': + self.DATABASE_DIR = 'Not Set' + else: +- self.DATABASE_DIR = diamond_definition['DBPATH'] ++ self.DATABASE_DIR = diamond_definition + + + def __get_db_file(self): +- diamond_location = DefaultValues.DB_LOCATION_DEFINITION +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- return diamond_definition +- except: +- logging.warning('Could not open DIAMOND location definition file. Creating new file.') +- db_ref_file = {"Type": "DIAMONDDB", "DBPATH": "Not Set"} +- with open(diamond_location, 'w') as dl: +- json.dump(db_ref_file, dl) +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- return diamond_definition +- except Exception as e: +- logging.error('Could not create new file: {}'.format(e)) +- sys.exit(1) +- ++ return DefaultValues.DB_LOCATION_DEFINITION + + def get_DB_location(self): + if self.DATABASE_DIR == 'Not Set': +- logging.error('DIAMOND database not found. Please download database using ') ++ logging.error( ++ 'DIAMOND database not found. Please download database using $ checkm2 database --download --path /path/to/database ' ++ + ',but FIRST set CHECKM2DB to PATH by $ export CHECKM2DB=\"/path/to/database/CheckM2_database/uniref100.KO.1.dmnd\"' ++ ) + sys.exit(1) + else: + return self.DATABASE_DIR + + def set_DB_location(self, provided_location): +- logging.info('Checking provided DIAMOND database location') +- if versionControl.VersionControl().checksum_version_validate_DIAMOND(provided_location): +- #great - let's set it +- diamond_definition = self.__get_db_file() +- +- diamond_definition['DBPATH'] = os.path.abspath(provided_location) +- with open(DefaultValues.DB_LOCATION_DEFINITION, 'w') as dd: +- json.dump(diamond_definition, dd) +- +- logging.info("Database check successful! Database path successfully added.") +- +- else: +- logging.error("Checksum in CheckM2 reference doesn't match provided database. Please check your files.") +- sys.exit(1) +- ++ logging.info("Set path to database location by: $ export CHECKM2DB=path/to/database/CheckM2_database/uniref100.KO.1.dmnd") + + def download_database(self, download_location): + +@@ -87,32 +59,11 @@ + + diamond_location = DefaultValues.DB_LOCATION_DEFINITION + +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- except: +- logging.warning('Could not open DIAMOND location definition file. Creating new file.') +- x = {"Type": "DIAMONDDB", "DBPATH": "Not Set"} +- with open(diamond_location, 'w') as dl: +- json.dump(x, dl) +- try: +- with open(diamond_location) as f: +- diamond_definition = json.load(f) +- except Exception as e: +- logging.error('Could not create new file: {}'.format(e)) +- sys.exit(1) +- if diamond_definition['DBPATH'] != 'Not Set': +- logging.warning('DIAMOND database found at {}. Overwriting previous database.'.format(diamond_definition['DBPATH'])) +- +- + make_sure_path_exists(os.path.join(download_location, 'CheckM2_database')) + + backpack_downloader = zenodo_backpack.zenodo_backpack_downloader('INFO') + highest_compatible_version, DOI = versionControl.VersionControl().return_highest_compatible_DB_version() + +- +- diamond_loc_final = os.path.join(download_location, 'CheckM2_database', 'uniref100.KO.1.dmnd') +- + if download_location is not None: + #check we have writing permission + try: +@@ -126,12 +77,6 @@ + + backpack_downloader.download_and_extract(download_location, DOI, progress_bar=True, no_check_version=False) + +- diamond_definition['DBPATH'] = os.path.abspath(diamond_loc_final) +- +- with open(diamond_location, 'w') as dd: +- json.dump(diamond_definition, dd) +- +- + else: + logging.info('Failed to determine download location') + sys.exit(1) diff --git a/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb new file mode 100644 index 00000000000..69f794a1422 --- /dev/null +++ b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-21.14.eb @@ -0,0 +1,71 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +# Cannot use *easyblock = 'Rpm'* because the RPM misses some fields: +# Summary and License fields must be present in package: (main package) +easyblock = 'Binary' + +name = 'Chemaxon-Marvin' +version = '21.14' + +homepage = 'https://chemaxon.com/products/marvin' +description = """Marvin suite is a chemically intelligent desktop toolkit built +to help you draw, edit, publish, render, import and export your chemical structures +and as well as allowing you to convert between various chemical and graphical file +formats. It is free for individual, academic and non-commercial use.""" + +# NOTE not in the license list of EB +# software_license = 'Proprietary: Personal, Commercial or Academic' +software_license_urls = ['https://www.chemaxon.com/marvin/license.html'] +docurls = [ + 'https://docs.chemaxon.com/display/docs/marvinsketch-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/marvinview-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/file-formats.md', +] + +toolchain = SYSTEM + +# Download and license at https://chemaxon.com/products/marvin +# Once logged in download files can be found here: +# https://chemaxon.com/products/marvin/download#download +sources = ['marvin_linux_%(version)s.rpm'] +checksums = ['3102f30479a365758fd14ca5efcdacfe0624db80a35b146ba9a5d07e948bd8dc'] + +osdependencies = [('rpm', 'cpio')] # for extracting rpm-files + +dependencies = [ + ('Java', '11'), +] + +extract_sources = False + +install_cmd = 'rpm2cpio ' + sources[0] + ' | cpio -idmv && ' +install_cmd += 'cd opt/chemaxon/marvinsuite/ && ' +install_cmd += 'chmod -x bin/*.bat && ' +install_cmd += 'cp -ar . %(installdir)s/' + +# plugins directory is empty +sanity_check_paths = { + 'files': ["bin/cxcalc", "bin/cxtrain", "bin/evaluate", "bin/molconvert", + "bin/msketch", "bin/mview", "EULA.html", "README"], + 'dirs': ['lib'] +} + +sanity_check_commands = ["molconvert"] + +# You need a key/license file to fully activate Chemaxon Marvin +# +# COMMERCIAL +# For commercial use please contact sales@chemaxon.com +# NON-COMMERCIAL +# For personal use get a key to be renewed every 2 months at https://chemaxon.com/products/marvin/download +# For academic use get a key for research or educational purposes at https://chemaxon.com/academic-license +# +# The license file "license.cxl" has to be placed in $HOME/.chemaxon/ + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-23.9.eb b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-23.9.eb new file mode 100644 index 00000000000..b33bbef2e31 --- /dev/null +++ b/easybuild/easyconfigs/c/Chemaxon-Marvin/Chemaxon-Marvin-23.9.eb @@ -0,0 +1,72 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +## + +# Cannot use *easyblock = 'Rpm'* because the RPM misses some fields: +# Summary and License fields must be present in package: (main package) +easyblock = 'Binary' + +name = 'Chemaxon-Marvin' +version = '23.9' + +homepage = 'https://chemaxon.com/marvin' +description = """Marvin suite is a chemically intelligent desktop toolkit built +to help you draw, edit, publish, render, import and export your chemical structures +and as well as allowing you to convert between various chemical and graphical file +formats. It is free for individual, academic and non-commercial use.""" + +# NOTE not in the license list of EB +# software_license = 'Proprietary: Personal, Commercial or Academic' +software_license_urls = ['https://www.chemaxon.com/marvin/license.html'] +docurls = [ + 'https://docs.chemaxon.com/display/docs/marvinsketch-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/marvinview-user-s-guide.md', + 'https://docs.chemaxon.com/display/docs/file-formats.md', +] + +toolchain = SYSTEM + +# Download and license at https://chemaxon.com/products/marvin +# Once logged in download files can be found here: +# https://download.chemaxon.com/marvin +sources = ['marvin_linux_%(version)s_openjdk11.rpm'] +checksums = ['21a3bcd75d41d614fb9768949e713bfbb299e5c782a7166eaad0cd13654b140f'] + +osdependencies = [('rpm', 'cpio')] # for extracting rpm-files + +dependencies = [ + ('Java', '11'), +] + +extract_sources = False + +install_cmd = 'rpm2cpio ' + sources[0] + ' | cpio -idmv && ' +install_cmd += 'cd opt/chemaxon/marvinsuite/ && ' +install_cmd += 'chmod -x bin/*.bat && ' +install_cmd += 'cp -ar . %(installdir)s/ && ' +install_cmd += 'rm -Rf %(installdir)s/jre %(installdir)s/legal' + +# plugins directory is empty +sanity_check_paths = { + 'files': ["bin/cxcalc", "bin/cxtrain", "bin/evaluate", "bin/molconvert", + "bin/msketch", "bin/mview", "EULA.html"], + 'dirs': ['lib'] +} + +sanity_check_commands = ["molconvert"] + +# You need a key/license file to fully activate Chemaxon Marvin +# +# COMMERCIAL +# For commercial use please contact sales@chemaxon.com +# NON-COMMERCIAL +# For personal use get a key to be renewed every 2 months at https://download.chemaxon.com/marvin +# For academic use get a key for research or educational purposes at https://chemaxon.com/academic-program +# +# The license file "license.cxl" has to be placed in $HOME/.chemaxon/ + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Chimera/Chimera-1.16-linux_x86_64.eb b/easybuild/easyconfigs/c/Chimera/Chimera-1.16-linux_x86_64.eb new file mode 100644 index 00000000000..c50dddc83f8 --- /dev/null +++ b/easybuild/easyconfigs/c/Chimera/Chimera-1.16-linux_x86_64.eb @@ -0,0 +1,29 @@ +# 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 + +name = "Chimera" +version = "1.16" +versionsuffix = "-linux_x86_64" + +homepage = 'https://www.cgl.ucsf.edu/chimera/' +description = """ UCSF Chimera is a highly extensible program for interactive visualization + and analysis of molecular structures and related data, including density maps, supramolecular + assemblies, sequence alignments, docking results, trajectories, and conformational ensembles. """ + +toolchain = SYSTEM + +# no public download URL. Go to https://www.cgl.ucsf.edu/chimera/download.html +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.bin'] +checksums = ['e3a89d1ffd30d7195af6149ea7b3ae23596c4f922424d9c957ded447f8d6883c'] + +# unzip is required to uncompress the provided .bin file +osdependencies = ['unzip'] + +sanity_check_paths = { + 'files': ["bin/chimera"], + 'dirs': [] +} + +moduleclass = 'bio' 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/Circos/Circos-0.69-9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Circos/Circos-0.69-9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bdb8092c8c6 --- /dev/null +++ b/easybuild/easyconfigs/c/Circos/Circos-0.69-9-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'Circos' +version = '0.69-9' + +homepage = 'http://www.circos.ca/' +description = """Circos is a software package for visualizing data and information. + It visualizes data in a circular layout - this makes Circos ideal for exploring + relationships between objects or positions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://circos.ca/distribution/'] +sources = [SOURCELOWER_TGZ] +checksums = ['34d8d7ebebf3f553d62820f8f4a0a57814b610341f836b4740c46c3057f789d2'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('GD', '2.75'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/%(name)s'], +} + +modextrapaths = {'PERL5LIB': 'lib'} + +sanity_check_commands = [('perl', '-e "use Circos"')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.7.2.eb b/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.7.2.eb new file mode 100644 index 00000000000..c7d7bc3c47c --- /dev/null +++ b/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.7.2.eb @@ -0,0 +1,404 @@ +easyblock = 'JuliaBundle' + +name = 'Circuitscape' +version = '5.12.3' +_julia_ver = '1.7.2' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/Circuitscape/Circuitscape.jl' +description = "Algorithms from circuit theory to predict connectivity in heterogeneous landscapes" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, True), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('IntelOpenMP_jll', '2018.0.3+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/IntelOpenMP_jll.jl/archive/'], + 'sources': ['IntelOpenMP-v%(version)s.tar.gz'], + 'checksums': ['4e8586f0b794ba5cf159dde99774aab4509a32555fc900140f533999db476aab'], + }), + ('MKL_jll', '2022.2.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/MKL_jll.jl/archive/'], + 'sources': ['MKL-v%(version)s.tar.gz'], + 'checksums': ['228a80c33ae71a3efc78ed9f6a3329fd20a48ad80ff7af44f0d42057e1af4241'], + }), + ('Reexport', '1.2.2', { + 'source_urls': ['https://github.com/simonster/Reexport.jl/archive/'], + 'checksums': ['2566f7776aae9697cbf15765fc32187f46dd51200abc953a0266863ad67132b3'], + }), + ('CommonSolve', '0.2.3', { + 'source_urls': ['https://github.com/SciML/CommonSolve.jl/archive/'], + 'checksums': ['5a1fe0c82571697e45bf8d4488b68a656584b07c8a2045b26e52ae01ec118e1b'], + }), + ('AlgebraicMultigrid', '0.5.1', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/AlgebraicMultigrid.jl/archive/'], + 'checksums': ['c33896880d1495b2ffc80dcbe5a2a2d6f305a9555e041ebd1191899e824e75e7'], + }), + ('Pardiso', '0.5.4', { + 'source_urls': ['https://github.com/JuliaSparse/Pardiso.jl/archive/'], + 'checksums': ['b60a693dd71a19fc3155b36683f8c812f217de59ee7eda77c9cd0855468a3c4a'], + }), + ('GZip', '0.5.1', { + 'source_urls': ['https://github.com/JuliaIO/GZip.jl/archive/'], + 'checksums': ['c74976af07cbe835a5bb5396ade41feb90a782267e94bc3a98bb1ad1446ba54f'], + }), + ('SnoopPrecompile', '2.9.5', { + 'source_urls': ['https://github.com/timholy/SnoopCompile.jl/archive/'], + 'start_dir': '%(name)s', + 'checksums': ['a86ca9179fac77efd3771c71c620914aa6909754d474cd754f2ee8600fad9a4a'], + }), + ('RecipesBase', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPlots/RecipesBase.jl/archive/'], + 'checksums': ['2a4b7371e565f175a018c0df0cc24dce41fc2f103ad80de87f6c5bc600dbca1a'], + }), + ('NaNMath', '1.0.1', { + 'source_urls': ['https://github.com/JuliaMath/NaNMath.jl/archive/'], + 'checksums': ['caa5666b24b4c5fb8f4d3e4b650f6360e8e19b8bd2d1cb3019a15849c363c45d'], + }), + ('FixedPointNumbers', '0.8.4', { + 'source_urls': ['https://github.com/JuliaMath/FixedPointNumbers.jl/archive/'], + 'checksums': ['6ccfbaf032ed49cf9c82e2770fa8fd53dc88bea12c3799f3fc7f5bc9a33cb89c'], + }), + ('ColorTypes', '0.11.4', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorTypes.jl/archive/'], + 'checksums': ['b188587bb23a59ae5898d741197767e1ab9ad7463eda93efa9a4903863033941'], + }), + ('Colors', '0.12.10', { + 'source_urls': ['https://github.com/JuliaGraphics/Colors.jl/archive/'], + 'checksums': ['a428649a4dc839bb04d43b6424943442609436a8472142076396bbe08c154219'], + }), + ('TensorCore', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/TensorCore.jl/archive/'], + 'checksums': ['af2696c11f0fdcb884cea2446297cb792ada202ef2e7b438db65a981ba20c34c'], + }), + ('Compat', '4.5.0', { + 'source_urls': ['https://github.com/JuliaLang/Compat.jl/archive/'], + 'checksums': ['247e7c5f9fd405233bd2b4c96fb3f6deb4a27385d9c6c4d0a74eed6fbad0c02f'], + }), + ('ChainRulesCore', '1.15.6', { + 'source_urls': ['https://github.com/JuliaDiff/ChainRulesCore.jl/archive/'], + 'checksums': ['79e22fc981fa7c44b3efc2f07903f555c5520dc38d0d3d31b6390980c786cb60'], + }), + ('IrrationalConstants', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/IrrationalConstants.jl/archive/'], + 'checksums': ['2eccfb55449d25d363d96ce116c45b39110d1572248e04e136ec4c37fe84ba96'], + }), + ('ChangesOfVariables', '0.1.4', { + 'source_urls': ['https://github.com/JuliaMath/ChangesOfVariables.jl/archive/'], + 'checksums': ['2eb2eb59711d53d284a9cc998e9facf3a1720cfde26eb672676cbe944fa9224a'], + }), + ('DocStringExtensions', '0.9.3', { + 'source_urls': ['https://github.com/JuliaDocs/DocStringExtensions.jl/archive/'], + 'checksums': ['9c712789b1cbd367bced9fafb995dee026f931ac68b55e476d1c666210564ae6'], + }), + ('InverseFunctions', '0.1.8', { + 'source_urls': ['https://github.com/JuliaMath/InverseFunctions.jl/archive/'], + 'checksums': ['6b3e72037c2198268bc5247daeb14eaa5cf2b37f41c7c735b3cd2355bad1584b'], + }), + ('LogExpFunctions', '0.3.19', { + 'source_urls': ['https://github.com/JuliaStats/LogExpFunctions.jl/archive/'], + 'checksums': ['759e0c217d3a2d665229cd2a019adc03b4c3691934cf9662bff04afec47844e4'], + }), + ('OpenSpecFun_jll', '0.5.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/archive/'], + 'sources': ['OpenSpecFun-v%(version)s.tar.gz'], + 'checksums': ['6d1df617dd0a80fc0de5bc41a092e51f72782dbfd296c64e151707733cb57b6f'], + }), + ('SpecialFunctions', '2.1.7', { + 'source_urls': ['https://github.com/JuliaMath/SpecialFunctions.jl/archive/'], + 'checksums': ['a2c917bdb7a854a6bf76eaca7891b4faaf1b99d39ef976d22eb5694deae57da9'], + }), + ('ColorVectorSpace', '0.9.9', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorVectorSpace.jl/archive/'], + 'checksums': ['65fbeb5ab58ad0063dcd2d1451b4f0744680eb35f2965b382330158d4b076f15'], + }), + ('ColorSchemes', '3.20.0', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorSchemes.jl/archive/'], + 'checksums': ['270a075dcbc73de571a51ffc24b535ab50c2755d225d126d49982d8ffde42df0'], + }), + ('PlotUtils', '1.3.4', { + 'source_urls': ['https://github.com/JuliaPlots/PlotUtils.jl/archive/'], + 'checksums': ['823e5410b2195c9c20803560f1528306d2c8c33986120c2c52d3aa8ffb75f200'], + }), + ('IterativeSolvers', '0.9.2', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/IterativeSolvers.jl/archive/'], + 'checksums': ['95fbfa39aa68e989ae6bad2f51ce0fe5635ba3f3375d0ea4d9422e77ff924a9b'], + }), + ('Inflate', '0.1.3', { + 'source_urls': ['https://github.com/GunnarFarneback/Inflate.jl/archive/'], + 'sources': [{'download_filename': '8bae86f.tar.gz', 'filename': 'Inflate.v%(version)s.tar.gz'}], + 'checksums': ['7a22ff75ad9bb1975e578877a817056a2fdd71a68fe824cbb4eb354202f03d37'], + }), + ('MacroTools', '0.5.10', { + 'source_urls': ['https://github.com/FluxML/MacroTools.jl/archive/'], + 'checksums': ['0c61fe20a40346b0d1c248ff57e047b669ae47ad2d971b2ca7b91efdddff71ac'], + }), + ('SimpleTraits', '0.9.4', { + 'source_urls': ['https://github.com/mauro3/SimpleTraits.jl/archive/'], + 'checksums': ['56bf55e12e6aba4ad55cc831150b1c9b0ca1647956d306c9ffb57b7db5315568'], + }), + ('OrderedCollections', '1.4.1', { + 'source_urls': ['https://github.com/JuliaCollections/OrderedCollections.jl/archive/'], + 'checksums': ['ad6d191a2bf6f0c04abaf795fa93b3db6c3f3fb97498b464fcf7297b3a4bf6b6'], + }), + ('DataStructures', '0.18.13', { + 'source_urls': ['https://github.com/JuliaCollections/DataStructures.jl/archive/'], + 'checksums': ['0d34f8a04390cac93321acbe9a15b5ecdd01473f1e5d9696ff2ce0625ff85804'], + }), + ('StaticArraysCore', '1.4.0', { + 'source_urls': ['https://github.com/JuliaArrays/StaticArraysCore.jl/archive/'], + 'checksums': ['75000b27d655effa6b0b6ee20071ce476895fd6c5551a3143ee691e535d2b4fb'], + }), + ('StaticArrays', '1.5.11', { + 'source_urls': ['https://github.com/JuliaArrays/StaticArrays.jl/archive/'], + 'checksums': ['aee09ee3f32ffe437e7fcb7cd69aab840cbff97bbb5896984902afb83d5dc89c'], + }), + ('ArnoldiMethod', '0.2.0', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/ArnoldiMethod.jl/archive/'], + 'checksums': ['cd232b8fe2c6f9277fb646d03d77cc1fc80fd5b3278db6b3dfa32fb20d5c0a21'], + }), + ('Graphs', '1.7.4', { + 'source_urls': ['https://github.com/JuliaGraphs/Graphs.jl/archive/'], + 'checksums': ['b66aea6943ce1ca087d38c998c2b8c4fd7fb2868dedd4049027cb5bf716a7163'], + }), + ('SimpleWeightedGraphs', '1.2.1', { + 'source_urls': ['https://github.com/JuliaGraphs/SimpleWeightedGraphs.jl/archive/'], + 'sources': [{'download_filename': 'bf40216.tar.gz', 'filename': 'SimpleWeightedGraphs.v%(version)s.tar.gz'}], + 'checksums': ['ba62083cc2575c8eeac80f1bcdd31ba6aa88bb98f462029e950a397dc9f21294'], + }), + ('Adapt', '3.4.0', { + 'source_urls': ['https://github.com/JuliaGPU/Adapt.jl/archive/'], + 'checksums': ['de313f013c0c3125164efcc74299f52c9a9f1b5bbff99856df755c3cdb7fb72a'], + }), + ('OffsetArrays', '1.12.8', { + 'source_urls': ['https://github.com/JuliaArrays/OffsetArrays.jl/archive/'], + 'checksums': ['c4a103b1e80e70365b936e9c9a5282b4318b7324830401355c6ce76dd748218e'], + }), + ('DiskArrays', '0.3.8', { + 'source_urls': ['https://github.com/meggart/DiskArrays.jl/archive/'], + 'checksums': ['fbc25877def2392c2287b7b61684eda5168c0d64696f872d2f1d0ab46f152282'], + }), + ('GeoFormatTypes', '0.4.1', { + 'source_urls': ['https://github.com/JuliaGeo/GeoFormatTypes.jl/archive/'], + 'checksums': ['9acb138b9ef1d16f89d38ef4bde69d43e3ce0d29e142c9369f1b2476f27694fa'], + }), + ('GeoInterface', '0.5.7', { + 'source_urls': ['https://github.com/JuliaGeo/GeoInterface.jl/archive/'], + 'checksums': ['c88ea36f341dedf4057dedca0bb40ca4ac28454ff140cf9b72af29060f3aacf6'], + }), + ('CEnum', '0.4.2', { + 'source_urls': ['https://github.com/JuliaInterop/CEnum.jl/archive/'], + 'checksums': ['8d7f546621692028d64df10112a8c180ba12c64edba225ef52c8a5708c13ebce'], + }), + ('Zstd_jll', '1.5.2+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Zstd_jll.jl/archive/'], + 'sources': ['Zstd-v%(version)s.tar.gz'], + 'checksums': ['7a4830ea735d9fc5918c972791f58e9aa53ad225a0f4e5a9f4fcad12bc37f75d'], + }), + ('Expat_jll', '2.4.8+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Expat_jll.jl/archive/'], + 'sources': ['Expat-v%(version)s.tar.gz'], + 'checksums': ['b4b6c5f15d4ed1674d0eb91f419ab82d41f9e7b3fed0d92fea483ad28f04fcf4'], + }), + ('LZO_jll', '2.10.1+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LZO_jll.jl/archive/'], + 'sources': ['LZO-v%(version)s.tar.gz'], + 'checksums': ['e17d6a3177942daa4913d3cebdd81d61484ee5a60ab2300d16fb7aa144a26763'], + }), + ('snappy_jll', '1.1.9+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/snappy_jll.jl/archive/'], + 'sources': ['snappy-v%(version)s.tar.gz'], + 'checksums': ['d01d93b110aebe9a77259cf765c47304e5a6384bff688d97172e1bf5e2a400d3'], + }), + ('Bzip2_jll', '1.0.8+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Bzip2_jll.jl/archive/'], + 'sources': [{'download_filename': 'aa035c3.tar.gz', 'filename': 'Bzip2.v%(version)s.tar.gz'}], + 'checksums': ['8cb62e388fbcc10fc67842ee74db618ddf394744b04eb9c9afd8297c2fd86695'], + }), + ('boost_jll', '1.76.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/boost_jll.jl/archive/'], + 'sources': ['boost-v%(version)s.tar.gz'], + 'checksums': ['a79a87aff9b742c6274ff76765cf12e6e618ae2167bc43606e98d08e6523167d'], + }), + ('Lz4_jll', '1.9.3+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Lz4_jll.jl/archive/'], + 'sources': ['Lz4-v%(version)s.tar.gz'], + 'checksums': ['3a283936a65f1ca0aa9560e51cfb8d1603813632dbe8b04720c7675df923f5a0'], + }), + ('Thrift_jll', '0.16.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Thrift_jll.jl/archive/'], + 'sources': ['Thrift-v%(version)s.tar.gz'], + 'checksums': ['b9e80b4eee731964b1f32b5a9b32b33c8864b68b46b12bc04bcd059586a16129'], + }), + ('Arrow_jll', '10.0.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Arrow_jll.jl/archive/'], + 'sources': ['Arrow-v%(version)s.tar.gz'], + 'checksums': ['4738ef5887323e5e00881e786c1354c62264a1152b65fb85a9213fb2570f5493'], + }), + ('GEOS_jll', '3.11.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/archive/'], + 'sources': ['GEOS-v%(version)s.tar.gz'], + 'checksums': ['eda41987007fc51049984177bed13e90d2b2cb0dc095b7e32e49a423491d9611'], + }), + ('OpenSSL_jll', '1.1.19+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/archive/'], + 'sources': ['OpenSSL-v%(version)s.tar.gz'], + 'checksums': ['40ad35be566994e9d2176b4cd5a0da9c2887515a061e3d683abc22d1a83043b1'], + }), + ('HDF5_jll', '1.12.2+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/HDF5_jll.jl/archive/'], + 'sources': ['HDF5-v%(version)s.tar.gz'], + 'checksums': ['18524e113506f3c94243199f76d56294b316c304c1dfc2a3a6aece44c4620da4'], + }), + ('Libiconv_jll', '1.16.1+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/archive/'], + 'sources': ['Libiconv-v%(version)s.tar.gz'], + 'checksums': ['3c5064c969e1e3530515205404c7857daa0c4d1cc1f49f1a60984d23d610c270'], + }), + ('XML2_jll', '2.9.14+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/XML2_jll.jl/archive/'], + 'sources': ['XML2-v%(version)s.tar.gz'], + 'checksums': ['f4cd422d1b67d2d66ef4650035a0e437c521e5a32d6598edd282b50464dcb054'], + }), + ('NetCDF_jll', '400.902.5+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/NetCDF_jll.jl/archive/'], + 'sources': ['NetCDF-v%(version)s.tar.gz'], + 'checksums': ['0382f17c486ffe7aa6f18f5b2ee514a837ef5db09385665494cbf58612355163'], + }), + ('SQLite_jll', '3.40.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/SQLite_jll.jl/archive/'], + 'sources': ['SQLite-v%(version)s.tar.gz'], + 'checksums': ['f77d154bfb66a4f724cba274ab370fbfe3854894940bc02e69c7ef6a1babe9df'], + }), + ('JpegTurbo_jll', '2.1.2+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/JpegTurbo_jll.jl/archive/'], + 'sources': ['JpegTurbo-v%(version)s.tar.gz'], + 'checksums': ['f6e8f77a39fdd6888a1ce7e0c752ab8c3fd17ade62f7f45f5fc829de45600395'], + }), + ('LERC_jll', '3.0.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LERC_jll.jl/archive/'], + 'sources': ['LERC-v%(version)s.tar.gz'], + 'checksums': ['60ba286d96254373a0a6b0ec8691d7476ed33b25a75dc804c95dfcd1d656455a'], + }), + ('Libtiff_jll', '4.4.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Libtiff_jll.jl/archive/'], + 'sources': ['Libtiff-v%(version)s.tar.gz'], + 'checksums': ['73ad75c466fc5694aa1f394f44e2f3202414e361fb5ded49f716ec505e7bbe3d'], + }), + ('PROJ_jll', '900.100.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/PROJ_jll.jl/archive/'], + 'sources': ['PROJ-v%(version)s.tar.gz'], + 'checksums': ['6518f3806c2dffad35a8dc72869ddd8cf1fd2e3db991df24a8d7c10ce26f2103'], + }), + ('libpng_jll', '1.6.37+5', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libpng_jll.jl/archive/'], + 'sources': [{'download_filename': '7610368.tar.gz', 'filename': 'libpng.v%(version)s.tar.gz'}], + 'checksums': ['7e0a70ab2113c54fe4073b361c5fa8eb8b58a26e9b3f645d3ffa7ce4b73ec958'], + }), + ('LittleCMS_jll', '2.12.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LittleCMS_jll.jl/archive/'], + 'sources': ['LittleCMS-v%(version)s.tar.gz'], + 'checksums': ['4dede22b4ab918066bbf6b8a80b44e4ffe8d83dd883fc422b51a90655b057b4a'], + }), + ('OpenJpeg_jll', '2.4.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenJpeg_jll.jl/archive/'], + 'sources': ['OpenJpeg-v%(version)s.tar.gz'], + 'checksums': ['1d8d18e86094819415a5ab48ab4f37d745bc635a5b08ff01fa5f859a53e5794f'], + }), + ('Kerberos_krb5_jll', '1.19.3+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Kerberos_krb5_jll.jl/archive/'], + 'sources': ['Kerberos_krb5-v%(version)s.tar.gz'], + 'checksums': ['0f844d477d3ef0a9fbe87db467b7e336dca978c58a55e3924b4c60d7356142a8'], + }), + ('LibPQ_jll', '14.3.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/archive/'], + 'sources': ['LibPQ-v%(version)s.tar.gz'], + 'checksums': ['d6ede7d326efa4b1551825a606472ed6db4b7cd2c95ff32a99f2fc6626699cb0'], + }), + ('libgeotiff_jll', '100.700.100+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libgeotiff_jll.jl/archive/'], + 'sources': ['libgeotiff-v%(version)s.tar.gz'], + 'checksums': ['5181a2f0efc07938768644560c80674122e91011ad9e169aaf62d369dd8730df'], + }), + ('GDAL_jll', '301.600.100+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/GDAL_jll.jl/archive/'], + 'sources': ['GDAL-v%(version)s.tar.gz'], + 'checksums': ['7e10b59b3375da11db936fd7f0669e4f0d3490a90fc2dca465c6e07e9670482e'], + }), + ('GDAL', '1.5.0', { + 'source_urls': ['https://github.com/JuliaGeo/GDAL.jl/archive/'], + 'checksums': ['0ef1553577b11a14d7e8e9bc7d139754ccccd6d5def6a9a6de728e5a6b433f1b'], + }), + ('IteratorInterfaceExtensions', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/IteratorInterfaceExtensions.jl/archive/'], + 'checksums': ['c43dc43fc29c0c7aa738793c5a847ce29491c5fca1a0f0e434fff1bb1c5c7994'], + }), + ('TableTraits', '1.0.1', { + 'source_urls': ['https://github.com/queryverse/TableTraits.jl/archive/'], + 'checksums': ['a69811f66cd1b7a6d91a0da30bf8a3ab796138615c4ada2d0f4ec044313b32e2'], + }), + ('DataAPI', '1.14.0', { + 'source_urls': ['https://github.com/JuliaData/DataAPI.jl/archive/'], + 'checksums': ['595e34053a6bfe9d504644a0df438560bc2676dba29c7175a733fb5300ce1ad4'], + }), + ('DataValueInterfaces', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/DataValueInterfaces.jl/archive/'], + 'checksums': ['7f70be7cf1e49f7ce45bca8452193d08c2e75378f6b473205395c01010929825'], + }), + ('Tables', '1.10.0', { + 'source_urls': ['https://github.com/JuliaData/Tables.jl/archive/'], + 'checksums': ['4bb59d844830a0888de4ba3612484ce681e56b8571a6e4d6a605d442b3d1d0e4'], + }), + ('Graphics', '1.1.2', { + 'source_urls': ['https://github.com/JuliaGraphics/Graphics.jl/archive/'], + 'checksums': ['c28a6b29266f3c260616eef3d139184b267e0ae4d95ad89b379a5c973888bbb7'], + }), + ('PaddedViews', '0.5.11', { + 'source_urls': ['https://github.com/JuliaArrays/PaddedViews.jl/archive/'], + 'checksums': ['0506dc45cb371e6078fd055b8f21cd40755326e4b5c1b752e71489445e020cda'], + }), + ('MappedArrays', '0.4.1', { + 'source_urls': ['https://github.com/JuliaArrays/MappedArrays.jl/archive/'], + 'checksums': ['58ba4ef19d23737ffc2501e871545365fa1f6c5af84eef93549402a9f25fad56'], + }), + ('StackViews', '0.1.1', { + 'source_urls': ['https://github.com/JuliaArrays/StackViews.jl/archive/'], + 'checksums': ['8a8f008663c70ea9409263c9d2b78b0e246f9e6c700003e6a0e4dd5fe01558e9'], + }), + ('MosaicViews', '0.3.4', { + 'source_urls': ['https://github.com/JuliaArrays/MosaicViews.jl/archive/'], + 'sources': [{'download_filename': '7bb84df.tar.gz', 'filename': 'MosaicViews.v%(version)s.tar.gz'}], + 'checksums': ['fd7fc8679417789b77130e847605fec2c9fe68a3de8a4b12f5c2612aee269273'], + }), + ('AbstractFFTs', '1.2.1', { + 'source_urls': ['https://github.com/JuliaMath/AbstractFFTs.jl/archive/'], + 'checksums': ['58abf90b037c618daeed89940c77ac129b5155b26429ac77643cc9c5db453363'], + }), + ('ImageCore', '0.9.4', { + 'source_urls': ['https://github.com/JuliaImages/ImageCore.jl/archive/'], + 'checksums': ['de5d244989891f47edc4f27bf8bf6557a6982e907f0874a62ad3480c9c333983'], + }), + ('ArchGDAL', '0.8.5', { + 'source_urls': ['https://github.com/yeesian/ArchGDAL.jl/archive/'], + 'checksums': ['e24ec57d88a3a07feac7db5b2501b8f06a1047c42a8eadcde9500e3601984065'], + }), + (name, version, { + 'source_urls': ['https://github.com/Circuitscape/Circuitscape.jl/archive/'], + 'checksums': ['1eb5b6f5711865792204677359c1b9d9247ae3f34af42f58dfe2ec4ad3dd2177'], + }), +] + +sanity_check_commands = ["julia -e 'using Pkg;Pkg.test(\"Circuitscape\")'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.9.2.eb b/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.9.2.eb new file mode 100644 index 00000000000..a6649359df9 --- /dev/null +++ b/easybuild/easyconfigs/c/Circuitscape/Circuitscape-5.12.3-Julia-1.9.2.eb @@ -0,0 +1,408 @@ +easyblock = 'JuliaBundle' + +name = 'Circuitscape' +version = '5.12.3' +_julia_ver = '1.9.2' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/Circuitscape/Circuitscape.jl' +description = "Algorithms from circuit theory to predict connectivity in heterogeneous landscapes" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, True), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('IntelOpenMP_jll', '2018.0.3+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/IntelOpenMP_jll.jl/archive/'], + 'sources': ['IntelOpenMP-v%(version)s.tar.gz'], + 'checksums': ['4e8586f0b794ba5cf159dde99774aab4509a32555fc900140f533999db476aab'], + }), + ('MKL_jll', '2022.2.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/MKL_jll.jl/archive/'], + 'sources': ['MKL-v%(version)s.tar.gz'], + 'checksums': ['228a80c33ae71a3efc78ed9f6a3329fd20a48ad80ff7af44f0d42057e1af4241'], + }), + ('Reexport', '1.2.2', { + 'source_urls': ['https://github.com/simonster/Reexport.jl/archive/'], + 'checksums': ['2566f7776aae9697cbf15765fc32187f46dd51200abc953a0266863ad67132b3'], + }), + ('CommonSolve', '0.2.3', { + 'source_urls': ['https://github.com/SciML/CommonSolve.jl/archive/'], + 'checksums': ['5a1fe0c82571697e45bf8d4488b68a656584b07c8a2045b26e52ae01ec118e1b'], + }), + ('AlgebraicMultigrid', '0.5.1', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/AlgebraicMultigrid.jl/archive/'], + 'checksums': ['c33896880d1495b2ffc80dcbe5a2a2d6f305a9555e041ebd1191899e824e75e7'], + }), + ('Pardiso', '0.5.4', { + 'source_urls': ['https://github.com/JuliaSparse/Pardiso.jl/archive/'], + 'checksums': ['b60a693dd71a19fc3155b36683f8c812f217de59ee7eda77c9cd0855468a3c4a'], + }), + ('GZip', '0.5.1', { + 'source_urls': ['https://github.com/JuliaIO/GZip.jl/archive/'], + 'checksums': ['c74976af07cbe835a5bb5396ade41feb90a782267e94bc3a98bb1ad1446ba54f'], + }), + ('SnoopPrecompile', '2.9.5', { + 'source_urls': ['https://github.com/timholy/SnoopCompile.jl/archive/'], + 'start_dir': '%(name)s', + 'checksums': ['a86ca9179fac77efd3771c71c620914aa6909754d474cd754f2ee8600fad9a4a'], + }), + ('RecipesBase', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPlots/RecipesBase.jl/archive/'], + 'checksums': ['2a4b7371e565f175a018c0df0cc24dce41fc2f103ad80de87f6c5bc600dbca1a'], + }), + ('NaNMath', '1.0.1', { + 'source_urls': ['https://github.com/JuliaMath/NaNMath.jl/archive/'], + 'checksums': ['caa5666b24b4c5fb8f4d3e4b650f6360e8e19b8bd2d1cb3019a15849c363c45d'], + }), + ('FixedPointNumbers', '0.8.4', { + 'source_urls': ['https://github.com/JuliaMath/FixedPointNumbers.jl/archive/'], + 'checksums': ['6ccfbaf032ed49cf9c82e2770fa8fd53dc88bea12c3799f3fc7f5bc9a33cb89c'], + }), + ('ColorTypes', '0.11.4', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorTypes.jl/archive/'], + 'checksums': ['b188587bb23a59ae5898d741197767e1ab9ad7463eda93efa9a4903863033941'], + }), + ('Colors', '0.12.10', { + 'source_urls': ['https://github.com/JuliaGraphics/Colors.jl/archive/'], + 'checksums': ['a428649a4dc839bb04d43b6424943442609436a8472142076396bbe08c154219'], + }), + ('TensorCore', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/TensorCore.jl/archive/'], + 'checksums': ['af2696c11f0fdcb884cea2446297cb792ada202ef2e7b438db65a981ba20c34c'], + }), + ('Compat', '4.5.0', { + 'source_urls': ['https://github.com/JuliaLang/Compat.jl/archive/'], + 'checksums': ['247e7c5f9fd405233bd2b4c96fb3f6deb4a27385d9c6c4d0a74eed6fbad0c02f'], + }), + ('ChainRulesCore', '1.15.6', { + 'source_urls': ['https://github.com/JuliaDiff/ChainRulesCore.jl/archive/'], + 'checksums': ['79e22fc981fa7c44b3efc2f07903f555c5520dc38d0d3d31b6390980c786cb60'], + }), + ('IrrationalConstants', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/IrrationalConstants.jl/archive/'], + 'checksums': ['2eccfb55449d25d363d96ce116c45b39110d1572248e04e136ec4c37fe84ba96'], + }), + ('ChangesOfVariables', '0.1.4', { + 'source_urls': ['https://github.com/JuliaMath/ChangesOfVariables.jl/archive/'], + 'checksums': ['2eb2eb59711d53d284a9cc998e9facf3a1720cfde26eb672676cbe944fa9224a'], + }), + ('DocStringExtensions', '0.9.3', { + 'source_urls': ['https://github.com/JuliaDocs/DocStringExtensions.jl/archive/'], + 'checksums': ['9c712789b1cbd367bced9fafb995dee026f931ac68b55e476d1c666210564ae6'], + }), + ('InverseFunctions', '0.1.8', { + 'source_urls': ['https://github.com/JuliaMath/InverseFunctions.jl/archive/'], + 'checksums': ['6b3e72037c2198268bc5247daeb14eaa5cf2b37f41c7c735b3cd2355bad1584b'], + }), + ('LogExpFunctions', '0.3.19', { + 'source_urls': ['https://github.com/JuliaStats/LogExpFunctions.jl/archive/'], + 'checksums': ['759e0c217d3a2d665229cd2a019adc03b4c3691934cf9662bff04afec47844e4'], + }), + ('OpenSpecFun_jll', '0.5.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/archive/'], + 'sources': ['OpenSpecFun-v%(version)s.tar.gz'], + 'checksums': ['6d1df617dd0a80fc0de5bc41a092e51f72782dbfd296c64e151707733cb57b6f'], + }), + ('SpecialFunctions', '2.1.7', { + 'source_urls': ['https://github.com/JuliaMath/SpecialFunctions.jl/archive/'], + 'checksums': ['a2c917bdb7a854a6bf76eaca7891b4faaf1b99d39ef976d22eb5694deae57da9'], + }), + ('ColorVectorSpace', '0.9.9', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorVectorSpace.jl/archive/'], + 'checksums': ['65fbeb5ab58ad0063dcd2d1451b4f0744680eb35f2965b382330158d4b076f15'], + }), + ('ColorSchemes', '3.20.0', { + 'source_urls': ['https://github.com/JuliaGraphics/ColorSchemes.jl/archive/'], + 'checksums': ['270a075dcbc73de571a51ffc24b535ab50c2755d225d126d49982d8ffde42df0'], + }), + ('PlotUtils', '1.3.4', { + 'source_urls': ['https://github.com/JuliaPlots/PlotUtils.jl/archive/'], + 'checksums': ['823e5410b2195c9c20803560f1528306d2c8c33986120c2c52d3aa8ffb75f200'], + }), + ('IterativeSolvers', '0.9.2', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/IterativeSolvers.jl/archive/'], + 'checksums': ['95fbfa39aa68e989ae6bad2f51ce0fe5635ba3f3375d0ea4d9422e77ff924a9b'], + }), + ('Inflate', '0.1.3', { + 'source_urls': ['https://github.com/GunnarFarneback/Inflate.jl/archive/'], + 'sources': [{'download_filename': '8bae86f.tar.gz', 'filename': 'Inflate.v%(version)s.tar.gz'}], + 'checksums': ['7a22ff75ad9bb1975e578877a817056a2fdd71a68fe824cbb4eb354202f03d37'], + }), + ('MacroTools', '0.5.10', { + 'source_urls': ['https://github.com/FluxML/MacroTools.jl/archive/'], + 'checksums': ['0c61fe20a40346b0d1c248ff57e047b669ae47ad2d971b2ca7b91efdddff71ac'], + }), + ('SimpleTraits', '0.9.4', { + 'source_urls': ['https://github.com/mauro3/SimpleTraits.jl/archive/'], + 'checksums': ['56bf55e12e6aba4ad55cc831150b1c9b0ca1647956d306c9ffb57b7db5315568'], + }), + ('OrderedCollections', '1.4.1', { + 'source_urls': ['https://github.com/JuliaCollections/OrderedCollections.jl/archive/'], + 'checksums': ['ad6d191a2bf6f0c04abaf795fa93b3db6c3f3fb97498b464fcf7297b3a4bf6b6'], + }), + ('DataStructures', '0.18.13', { + 'source_urls': ['https://github.com/JuliaCollections/DataStructures.jl/archive/'], + 'checksums': ['0d34f8a04390cac93321acbe9a15b5ecdd01473f1e5d9696ff2ce0625ff85804'], + }), + ('StaticArraysCore', '1.4.0', { + 'source_urls': ['https://github.com/JuliaArrays/StaticArraysCore.jl/archive/'], + 'checksums': ['75000b27d655effa6b0b6ee20071ce476895fd6c5551a3143ee691e535d2b4fb'], + }), + ('StaticArrays', '1.5.11', { + 'source_urls': ['https://github.com/JuliaArrays/StaticArrays.jl/archive/'], + 'checksums': ['aee09ee3f32ffe437e7fcb7cd69aab840cbff97bbb5896984902afb83d5dc89c'], + }), + ('ArnoldiMethod', '0.2.0', { + 'source_urls': ['https://github.com/JuliaLinearAlgebra/ArnoldiMethod.jl/archive/'], + 'checksums': ['cd232b8fe2c6f9277fb646d03d77cc1fc80fd5b3278db6b3dfa32fb20d5c0a21'], + }), + ('Graphs', '1.7.4', { + 'source_urls': ['https://github.com/JuliaGraphs/Graphs.jl/archive/'], + 'checksums': ['b66aea6943ce1ca087d38c998c2b8c4fd7fb2868dedd4049027cb5bf716a7163'], + }), + ('SimpleWeightedGraphs', '1.2.1', { + 'source_urls': ['https://github.com/JuliaGraphs/SimpleWeightedGraphs.jl/archive/'], + 'sources': [{'download_filename': 'bf40216.tar.gz', 'filename': 'SimpleWeightedGraphs.v%(version)s.tar.gz'}], + 'checksums': ['ba62083cc2575c8eeac80f1bcdd31ba6aa88bb98f462029e950a397dc9f21294'], + }), + ('Adapt', '3.4.0', { + 'source_urls': ['https://github.com/JuliaGPU/Adapt.jl/archive/'], + 'checksums': ['de313f013c0c3125164efcc74299f52c9a9f1b5bbff99856df755c3cdb7fb72a'], + }), + ('OffsetArrays', '1.12.8', { + 'source_urls': ['https://github.com/JuliaArrays/OffsetArrays.jl/archive/'], + 'checksums': ['c4a103b1e80e70365b936e9c9a5282b4318b7324830401355c6ce76dd748218e'], + }), + ('DiskArrays', '0.3.8', { + 'source_urls': ['https://github.com/meggart/DiskArrays.jl/archive/'], + 'checksums': ['fbc25877def2392c2287b7b61684eda5168c0d64696f872d2f1d0ab46f152282'], + }), + ('GeoFormatTypes', '0.4.1', { + 'source_urls': ['https://github.com/JuliaGeo/GeoFormatTypes.jl/archive/'], + 'checksums': ['9acb138b9ef1d16f89d38ef4bde69d43e3ce0d29e142c9369f1b2476f27694fa'], + }), + ('GeoInterface', '0.5.7', { + 'source_urls': ['https://github.com/JuliaGeo/GeoInterface.jl/archive/'], + 'checksums': ['c88ea36f341dedf4057dedca0bb40ca4ac28454ff140cf9b72af29060f3aacf6'], + }), + ('CEnum', '0.4.2', { + 'source_urls': ['https://github.com/JuliaInterop/CEnum.jl/archive/'], + 'checksums': ['8d7f546621692028d64df10112a8c180ba12c64edba225ef52c8a5708c13ebce'], + }), + ('Zstd_jll', '1.5.2+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Zstd_jll.jl/archive/'], + 'sources': ['Zstd-v%(version)s.tar.gz'], + 'checksums': ['7a4830ea735d9fc5918c972791f58e9aa53ad225a0f4e5a9f4fcad12bc37f75d'], + }), + ('Expat_jll', '2.4.8+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Expat_jll.jl/archive/'], + 'sources': ['Expat-v%(version)s.tar.gz'], + 'checksums': ['b4b6c5f15d4ed1674d0eb91f419ab82d41f9e7b3fed0d92fea483ad28f04fcf4'], + }), + ('LZO_jll', '2.10.1+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LZO_jll.jl/archive/'], + 'sources': ['LZO-v%(version)s.tar.gz'], + 'checksums': ['e17d6a3177942daa4913d3cebdd81d61484ee5a60ab2300d16fb7aa144a26763'], + }), + ('snappy_jll', '1.1.9+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/snappy_jll.jl/archive/'], + 'sources': ['snappy-v%(version)s.tar.gz'], + 'checksums': ['d01d93b110aebe9a77259cf765c47304e5a6384bff688d97172e1bf5e2a400d3'], + }), + ('Bzip2_jll', '1.0.8+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Bzip2_jll.jl/archive/'], + 'sources': [{'download_filename': 'aa035c3.tar.gz', 'filename': 'Bzip2.v%(version)s.tar.gz'}], + 'checksums': ['8cb62e388fbcc10fc67842ee74db618ddf394744b04eb9c9afd8297c2fd86695'], + }), + ('boost_jll', '1.76.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/boost_jll.jl/archive/'], + 'sources': ['boost-v%(version)s.tar.gz'], + 'checksums': ['a79a87aff9b742c6274ff76765cf12e6e618ae2167bc43606e98d08e6523167d'], + }), + ('Lz4_jll', '1.9.3+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Lz4_jll.jl/archive/'], + 'sources': ['Lz4-v%(version)s.tar.gz'], + 'checksums': ['3a283936a65f1ca0aa9560e51cfb8d1603813632dbe8b04720c7675df923f5a0'], + }), + ('Thrift_jll', '0.16.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Thrift_jll.jl/archive/'], + 'sources': ['Thrift-v%(version)s.tar.gz'], + 'checksums': ['b9e80b4eee731964b1f32b5a9b32b33c8864b68b46b12bc04bcd059586a16129'], + }), + ('Arrow_jll', '10.0.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Arrow_jll.jl/archive/'], + 'sources': ['Arrow-v%(version)s.tar.gz'], + 'checksums': ['4738ef5887323e5e00881e786c1354c62264a1152b65fb85a9213fb2570f5493'], + }), + ('GEOS_jll', '3.11.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/archive/'], + 'sources': ['GEOS-v%(version)s.tar.gz'], + 'checksums': ['eda41987007fc51049984177bed13e90d2b2cb0dc095b7e32e49a423491d9611'], + }), + ('OpenSSL_jll', '1.1.19+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/archive/'], + 'sources': ['OpenSSL-v%(version)s.tar.gz'], + 'checksums': ['40ad35be566994e9d2176b4cd5a0da9c2887515a061e3d683abc22d1a83043b1'], + }), + ('HDF5_jll', '1.12.2+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/HDF5_jll.jl/archive/'], + 'sources': ['HDF5-v%(version)s.tar.gz'], + 'checksums': ['18524e113506f3c94243199f76d56294b316c304c1dfc2a3a6aece44c4620da4'], + }), + ('Libiconv_jll', '1.16.1+2', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/archive/'], + 'sources': ['Libiconv-v%(version)s.tar.gz'], + 'checksums': ['3c5064c969e1e3530515205404c7857daa0c4d1cc1f49f1a60984d23d610c270'], + }), + ('XML2_jll', '2.9.14+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/XML2_jll.jl/archive/'], + 'sources': ['XML2-v%(version)s.tar.gz'], + 'checksums': ['f4cd422d1b67d2d66ef4650035a0e437c521e5a32d6598edd282b50464dcb054'], + }), + ('NetCDF_jll', '400.902.5+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/NetCDF_jll.jl/archive/'], + 'sources': ['NetCDF-v%(version)s.tar.gz'], + 'checksums': ['0382f17c486ffe7aa6f18f5b2ee514a837ef5db09385665494cbf58612355163'], + }), + ('SQLite_jll', '3.40.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/SQLite_jll.jl/archive/'], + 'sources': ['SQLite-v%(version)s.tar.gz'], + 'checksums': ['f77d154bfb66a4f724cba274ab370fbfe3854894940bc02e69c7ef6a1babe9df'], + }), + ('JpegTurbo_jll', '2.1.2+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/JpegTurbo_jll.jl/archive/'], + 'sources': ['JpegTurbo-v%(version)s.tar.gz'], + 'checksums': ['f6e8f77a39fdd6888a1ce7e0c752ab8c3fd17ade62f7f45f5fc829de45600395'], + }), + ('LERC_jll', '3.0.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LERC_jll.jl/archive/'], + 'sources': ['LERC-v%(version)s.tar.gz'], + 'checksums': ['60ba286d96254373a0a6b0ec8691d7476ed33b25a75dc804c95dfcd1d656455a'], + }), + ('Libtiff_jll', '4.4.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Libtiff_jll.jl/archive/'], + 'sources': ['Libtiff-v%(version)s.tar.gz'], + 'checksums': ['73ad75c466fc5694aa1f394f44e2f3202414e361fb5ded49f716ec505e7bbe3d'], + }), + ('PROJ_jll', '900.100.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/PROJ_jll.jl/archive/'], + 'sources': ['PROJ-v%(version)s.tar.gz'], + 'checksums': ['6518f3806c2dffad35a8dc72869ddd8cf1fd2e3db991df24a8d7c10ce26f2103'], + }), + ('libpng_jll', '1.6.37+5', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libpng_jll.jl/archive/'], + 'sources': [{'download_filename': '7610368.tar.gz', 'filename': 'libpng.v%(version)s.tar.gz'}], + 'checksums': ['7e0a70ab2113c54fe4073b361c5fa8eb8b58a26e9b3f645d3ffa7ce4b73ec958'], + }), + ('LittleCMS_jll', '2.12.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LittleCMS_jll.jl/archive/'], + 'sources': ['LittleCMS-v%(version)s.tar.gz'], + 'checksums': ['4dede22b4ab918066bbf6b8a80b44e4ffe8d83dd883fc422b51a90655b057b4a'], + }), + ('OpenJpeg_jll', '2.4.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenJpeg_jll.jl/archive/'], + 'sources': ['OpenJpeg-v%(version)s.tar.gz'], + 'checksums': ['1d8d18e86094819415a5ab48ab4f37d745bc635a5b08ff01fa5f859a53e5794f'], + }), + ('Kerberos_krb5_jll', '1.19.3+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Kerberos_krb5_jll.jl/archive/'], + 'sources': ['Kerberos_krb5-v%(version)s.tar.gz'], + 'checksums': ['0f844d477d3ef0a9fbe87db467b7e336dca978c58a55e3924b4c60d7356142a8'], + }), + ('LibPQ_jll', '14.3.0+1', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/archive/'], + 'sources': ['LibPQ-v%(version)s.tar.gz'], + 'checksums': ['d6ede7d326efa4b1551825a606472ed6db4b7cd2c95ff32a99f2fc6626699cb0'], + }), + ('libgeotiff_jll', '100.700.100+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libgeotiff_jll.jl/archive/'], + 'sources': ['libgeotiff-v%(version)s.tar.gz'], + 'checksums': ['5181a2f0efc07938768644560c80674122e91011ad9e169aaf62d369dd8730df'], + }), + ('GDAL_jll', '301.600.100+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/GDAL_jll.jl/archive/'], + 'sources': ['GDAL-v%(version)s.tar.gz'], + 'checksums': ['7e10b59b3375da11db936fd7f0669e4f0d3490a90fc2dca465c6e07e9670482e'], + }), + ('GDAL', '1.5.0', { + 'source_urls': ['https://github.com/JuliaGeo/GDAL.jl/archive/'], + 'checksums': ['0ef1553577b11a14d7e8e9bc7d139754ccccd6d5def6a9a6de728e5a6b433f1b'], + }), + ('IteratorInterfaceExtensions', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/IteratorInterfaceExtensions.jl/archive/'], + 'checksums': ['c43dc43fc29c0c7aa738793c5a847ce29491c5fca1a0f0e434fff1bb1c5c7994'], + }), + ('TableTraits', '1.0.1', { + 'source_urls': ['https://github.com/queryverse/TableTraits.jl/archive/'], + 'checksums': ['a69811f66cd1b7a6d91a0da30bf8a3ab796138615c4ada2d0f4ec044313b32e2'], + }), + ('DataAPI', '1.14.0', { + 'source_urls': ['https://github.com/JuliaData/DataAPI.jl/archive/'], + 'checksums': ['595e34053a6bfe9d504644a0df438560bc2676dba29c7175a733fb5300ce1ad4'], + }), + ('DataValueInterfaces', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/DataValueInterfaces.jl/archive/'], + 'checksums': ['7f70be7cf1e49f7ce45bca8452193d08c2e75378f6b473205395c01010929825'], + }), + ('Tables', '1.10.0', { + 'source_urls': ['https://github.com/JuliaData/Tables.jl/archive/'], + 'checksums': ['4bb59d844830a0888de4ba3612484ce681e56b8571a6e4d6a605d442b3d1d0e4'], + }), + ('Graphics', '1.1.2', { + 'source_urls': ['https://github.com/JuliaGraphics/Graphics.jl/archive/'], + 'checksums': ['c28a6b29266f3c260616eef3d139184b267e0ae4d95ad89b379a5c973888bbb7'], + }), + ('PaddedViews', '0.5.11', { + 'source_urls': ['https://github.com/JuliaArrays/PaddedViews.jl/archive/'], + 'checksums': ['0506dc45cb371e6078fd055b8f21cd40755326e4b5c1b752e71489445e020cda'], + }), + ('MappedArrays', '0.4.1', { + 'source_urls': ['https://github.com/JuliaArrays/MappedArrays.jl/archive/'], + 'checksums': ['58ba4ef19d23737ffc2501e871545365fa1f6c5af84eef93549402a9f25fad56'], + }), + ('StackViews', '0.1.1', { + 'source_urls': ['https://github.com/JuliaArrays/StackViews.jl/archive/'], + 'checksums': ['8a8f008663c70ea9409263c9d2b78b0e246f9e6c700003e6a0e4dd5fe01558e9'], + }), + ('MosaicViews', '0.3.4', { + 'source_urls': ['https://github.com/JuliaArrays/MosaicViews.jl/archive/'], + 'sources': [{'download_filename': '7bb84df.tar.gz', 'filename': 'MosaicViews.v%(version)s.tar.gz'}], + 'checksums': ['fd7fc8679417789b77130e847605fec2c9fe68a3de8a4b12f5c2612aee269273'], + }), + ('AbstractFFTs', '1.2.1', { + 'source_urls': ['https://github.com/JuliaMath/AbstractFFTs.jl/archive/'], + 'checksums': ['58abf90b037c618daeed89940c77ac129b5155b26429ac77643cc9c5db453363'], + }), + ('ImageCore', '0.9.4', { + 'source_urls': ['https://github.com/JuliaImages/ImageCore.jl/archive/'], + 'checksums': ['de5d244989891f47edc4f27bf8bf6557a6982e907f0874a62ad3480c9c333983'], + }), + ('ArchGDAL', '0.8.5', { + 'source_urls': ['https://github.com/yeesian/ArchGDAL.jl/archive/'], + 'checksums': ['e24ec57d88a3a07feac7db5b2501b8f06a1047c42a8eadcde9500e3601984065'], + }), + ('DelimitedFiles', '1.9.0', { + 'source_urls': ['https://github.com/JuliaData/DelimitedFiles.jl/archive/'], + 'checksums': ['6b6329fb32aa9c503434711f1f004309013bddbd20d4f95c25bf6446631ef80b'], + }), + (name, version, { + 'source_urls': ['https://github.com/Circuitscape/Circuitscape.jl/archive/'], + 'checksums': ['1eb5b6f5711865792204677359c1b9d9247ae3f34af42f58dfe2ec4ad3dd2177'], + }), +] + +sanity_check_commands = ["julia -e 'using Pkg;Pkg.test(\"Circuitscape\")'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/Clair3/Clair3-1.0.4-foss-2022a.eb b/easybuild/easyconfigs/c/Clair3/Clair3-1.0.4-foss-2022a.eb new file mode 100644 index 00000000000..caf0349270a --- /dev/null +++ b/easybuild/easyconfigs/c/Clair3/Clair3-1.0.4-foss-2022a.eb @@ -0,0 +1,63 @@ +easyblock = 'MakeCp' + +name = 'Clair3' +version = '1.0.4' + +homepage = 'https://github.com/HKU-BAL/Clair3' +description = """Clair3 is a germline small variant caller for long-reads. +Clair3 makes the best of two major method categories: pileup calling handles +most variant candidates with speed, and full-alignment tackles complicated candidates +to maximize precision and recall. Clair3 runs fast and has superior performance, +especially at lower coverage. Clair3 is simple and modular for easy deployment and +integration.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'HKU-BAL' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['Clair3-remove_htslib.patch'] +checksums = [ + {'v1.0.4.tar.gz': '56cc4cf43f1cc652958cc1aea95d87d0811531a924ca5c68dd564d41834654c0'}, + {'Clair3-remove_htslib.patch': 'f77c80755c848ec90f72efbba7b61e3cbc80421d216344e06f6b94e114887285'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('mpath', '1.1.3'), + ('TensorFlow', '2.11.0'), + ('PyTables', '3.8.0'), + ('pigz', '2.7'), + ('cffi', '1.15.1'), + ('parallel', '20220722'), + ('SAMtools', '1.16.1'), + ('WhatsHap', '1.7'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('Automake', '1.16.5'), + ('cURL', '7.83.0'), + ('zstd', '1.5.2'), + ('HTSlib', '1.15.1'), + ('libdeflate', '1.10'), + ('PyPy', '7.3.12', '-3.10', SYSTEM), +] + +files_to_copy = [ + (['clair3', 'clair3.py', 'longphase', 'preprocess', 'run_clair3.sh', 'scripts', 'shared'], 'bin'), + (['libclair3.*'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/run_clair3.sh', 'bin/clair3.py', 'bin/longphase', 'lib/libclair3.%s' % SHLIB_EXT], + 'dirs': ['bin/clair3', 'bin/preprocess', 'bin/scripts', 'bin/shared'], +} + +sanity_check_commands = [ + "longphase --help", + "run_clair3.sh --help", + "python -c 'import libclair3'", +] + +modextrapaths = {'PYTHONPATH': 'lib'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Clair3/Clair3-remove_htslib.patch b/easybuild/easyconfigs/c/Clair3/Clair3-remove_htslib.patch new file mode 100644 index 00000000000..c39f98ec30b --- /dev/null +++ b/easybuild/easyconfigs/c/Clair3/Clair3-remove_htslib.patch @@ -0,0 +1,88 @@ +Remove building of dependencies we provide via easybuild +Author: Denis Kristak (Inuits), Kenneth Hoste (HPC-UGent) +diff -ruN Clair3-1.0.4.orig/build.py Clair3-1.0.4/build.py +--- Clair3-1.0.4.orig/build.py 2023-07-16 14:39:15.000000000 +0200 ++++ Clair3-1.0.4/build.py 2023-09-20 16:57:43.713924133 +0200 +@@ -6,7 +6,7 @@ + + samver = "1.15.1" + file_directory = os.path.dirname(os.path.realpath(__file__)) +-htslib_dir = os.path.join(file_directory, 'samtools-{}'.format(samver), 'htslib-{}'.format(samver)) ++htslib_dir = os.path.join(os.getenv('EBROOTHTSLIB'), 'lib') + + libraries = ['m', 'z', 'lzma', 'bz2', 'pthread', 'curl', 'crypto'] + extra_link_args = [] +@@ -53,7 +53,7 @@ + 'clair3_full_alignment.c')], + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, +- extra_objects=[os.path.join(htslib_dir, 'libhts.a')] ++ extra_objects=[os.path.join(htslib_dir, 'libhts.so')] + ) + + cdef = [ +diff -ruN Clair3-1.0.4_orig/Makefile Clair3-1.0.4/Makefile +--- Clair3-1.0.4_orig/Makefile 2023-09-07 14:28:29.842168186 +0100 ++++ Clair3-1.0.4/Makefile 2023-09-07 14:35:52.320773700 +0100 +@@ -3,8 +3,10 @@ + + PYTHON ?= python3 + +-all : libhts.a longphase libclair3.so +-clean : clean_htslib clean_longphase clean_libclair3 ++# all : libhts.a longphase libclair3.so ++# clean : clean_htslib clean_longphase clean_libclair3 ++all : longphase libclair3.so ++clean : clean_longphase clean_libclair3 + + SAMVER = 1.15.1 + LPVER = 1.3 +@@ -16,16 +18,16 @@ + CPPFLAGS = -std=c++11 -Wall -O3 -I ${PREFIX}/include -L ${PREFIX}/lib -Wl,-rpath=${PREFIX}/lib + LP_CPPFLAGS = -std=c++11 -Wall -g -O3 -I ${PREFIX}/include -L ${PREFIX}/lib -Wl,-rpath=${PREFIX}/lib + +-samtools-$(SAMVER)/Makefile: +- curl -L -o samtools-${SAMVER}.tar.bz2 https://github.com/samtools/samtools/releases/download/${SAMVER}/samtools-${SAMVER}.tar.bz2; \ +- tar -xjf samtools-${SAMVER}.tar.bz2; \ +- rm samtools-${SAMVER}.tar.bz2 +- +-libhts.a: samtools-$(SAMVER)/Makefile +- # this is required only to add in -fpic so we can build python module +- @echo "\x1b[1;33mMaking $(@F)\x1b[0m" +- cd samtools-${SAMVER}/htslib-${SAMVER}; CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ./configure; make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" +- cp samtools-${SAMVER}/htslib-${SAMVER}/$@ $@ ++# samtools-$(SAMVER)/Makefile: ++# curl -L -o samtools-${SAMVER}.tar.bz2 https://github.com/samtools/samtools/releases/download/${SAMVER}/samtools-${SAMVER}.tar.bz2; \ ++# tar -xjf samtools-${SAMVER}.tar.bz2; \ ++# rm samtools-${SAMVER}.tar.bz2 ++ ++# libhts.a: samtools-$(SAMVER)/Makefile ++# # this is required only to add in -fpic so we can build python module ++# @echo "\x1b[1;33mMaking $(@F)\x1b[0m" ++# cd samtools-${SAMVER}/htslib-${SAMVER}; CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ./configure; make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ++# cp samtools-${SAMVER}/htslib-${SAMVER}/$@ $@ + + + longphase-$(LPVER)/Makefile: +@@ -39,15 +41,15 @@ + cp longphase-${LPVER}/$@ $@ + + +-libclair3.so: samtools-${SAMVER}/htslib-${SAMVER} ++libclair3.so: + ${PYTHON} build.py + + +-.PHONY: clean_htslib +-clean_htslib: +- cd samtools-${SAMVER} && make clean || exit 0 +- cd samtools-${SAMVER}/htslib-${SAMVER} && make clean || exit 0 +- rm libhts.a ++# .PHONY: clean_htslib ++# clean_htslib: ++# cd samtools-${SAMVER} && make clean || exit 0 ++# cd samtools-${SAMVER}/htslib-${SAMVER} && make clean || exit 0 ++# rm libhts.a + + .PHONY: clean_longphase + clean_longphase: diff --git a/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..283883c7246 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-AOMP/Clang-AOMP-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,67 @@ +name = 'Clang-AOMP' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/llvm-project' +description = """AOMP is an open source Clang/LLVM based compiler with added +support for the OpenMP® API on Radeon™ GPUs.""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('elfutils', '0.185'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('GMP', '6.2.1'), + ('ROCR-Runtime', '%(version)s'), + ('ROCT-Thunk-Interface', '%(version)s'), + ('Z3', '4.8.12'), + ('binutils', '2.37'), + ('libffi', '3.4.2'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'source_urls': ['https://github.com/RadeonOpenCompute/%(name)s/archive/'], + 'sources': [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + }], + 'srcdir': '%(name)s-%(version)s', +} + +components = [ + ('llvm-project', 'rocm-4.5.0', { + 'checksums': ['b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97'], + }), + ('ROCm-Device-Libs', 'rocm-4.5.0', { + 'checksums': ['78412fb10ceb215952b5cc722ed08fa82501b5848d599dc00744ae1bdc196f77'], + }), + ('Clang-OpenMP', 'rocm-4.5.0', { + # uses same sources as llvm-project component + 'sources': ['llvm-project-%(version)s.tar.gz'], + 'patches': ['clang-aomp-%(version)s-openmp-remove-hardcoded-source-paths.patch'], + 'checksums': ['b71451bf26650ba06c0c5c4c7df70f13975151eaa673ef0cc77c1ab0000ccc97', + 'f959dfa95ec705acf0ffb8d5e85b48cc56e2bed1b15fab22d9eda1f416dd98ca'], + }), + ('aomp-extras', 'rocm-4.5.0', { + 'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive/'], + 'patches': ['clang-aomp-%(version)s-aomp-extras-remove-hardcoded-devicelib-path.patch'], + 'checksums': ['a9c32fb7659c0aabba5b1e76ec05037dda485bf893cef4144279b42ef8fae416', + '1ae5a1af5ccd6c5a77dbc2882d0b40f07d33a7d0021736b29a21e46ab777803a'], + }), +] + +modextravars = { + 'HIP_DEVICE_LIB_PATH': '%(installdir)s/amdgcn/bitcode', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-aomp-extras-remove-hardcoded-devicelib-path.patch b/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-aomp-extras-remove-hardcoded-devicelib-path.patch new file mode 100644 index 00000000000..04d33036d35 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-aomp-extras-remove-hardcoded-devicelib-path.patch @@ -0,0 +1,13 @@ +# Remove hardcoded path to devicelib library, we supply this ourselves during +# the build +# Author: Jørgen Nordmoen (University of Oslo) +--- aomp-extras-rocm-4.5.0/aomp-device-libs/CMakeLists.txt.orig 2021-10-11 09:35:05.007403780 +0200 ++++ aomp-extras-rocm-4.5.0/aomp-device-libs/CMakeLists.txt 2021-10-11 09:35:18.386175357 +0200 +@@ -27,7 +27,6 @@ + # set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/dist CACHE INTERNAL "Prefix prepended to install directories") + #endif() + +-set(ROCDL "${CMAKE_CURRENT_SOURCE_DIR}/../../rocm-device-libs") + + find_package(LLVM REQUIRED CONFIG HINTS ${LLVM_DIR}) + list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR}) diff --git a/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-openmp-remove-hardcoded-source-paths.patch b/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-openmp-remove-hardcoded-source-paths.patch new file mode 100644 index 00000000000..dfd75e14533 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-AOMP/clang-aomp-rocm-4.5.0-openmp-remove-hardcoded-source-paths.patch @@ -0,0 +1,18 @@ +# When building OpenMP library for Clang-AOMP the build tries to access a few +# hardcoded paths which are not accessible in the EasyBuild setup, we can +# simply remove these paths as they are not needed +# Author: Jørgen Nordmoen (University of Oslo) +--- llvm-project-rocm-4.5.0/openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt.orig 2021-11-11 14:31:55.835361003 +0100 ++++ llvm-project-rocm-4.5.0/openmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt 2021-11-11 14:32:14.624217685 +0100 +@@ -49,11 +49,9 @@ + else() + message("------------- STANDALONE BUILD ---------------") + # Assome rocm-device-libs repository is next to amd-llvm-project repository +- set(ROCDL ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../rocm-device-libs) + set(ROCDL_INC_OCKL ${ROCDL}/ockl/inc) + set(ROCDL_INC_OCML ${ROCDL}/ocml/inc) + set(ROCDL_INC_IRIF ${ROCDL}/irif/inc) +- set(HIPINC ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../hip-on-vdi/include) + endif() + + project(omptarget-amdgcn) diff --git a/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..aac6bc89d38 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Clang-Python-bindings' +version = '13.0.1' + +homepage = 'https://clang.llvm.org' +description = """Python bindings for libclang""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/"] +sources = ['clang-%(version)s.src.tar.xz'] +checksums = ['787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9'] + +dependencies = [ + ('Clang', version), + ('Python', '3.9.6') +] + +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-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fcbc32b1b75 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang-Python-bindings/Clang-Python-bindings-13.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'Clang-Python-bindings' +version = '13.0.1' + +homepage = 'https://clang.llvm.org' +description = """Python bindings for libclang""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/"] +sources = ['clang-%(version)s.src.tar.xz'] +checksums = ['787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9'] + +dependencies = [ + ('Clang', version), + ('Python', '3.10.4') +] + +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-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-10.0.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-8.3.0.eb index 6f8a7a931f0..a79db305136 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-8.3.0.eb @@ -61,6 +61,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.15.3'), ('Python', '2.7.16'), + ('Perl', '5.30.0'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-9.3.0.eb index 8fad61bc7f6..128ee20abef 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-10.0.0-GCCcore-9.3.0.eb @@ -61,6 +61,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.16.4'), ('Python', '2.7.18'), + ('Perl', '5.30.2'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-10.0.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-10.0.1-GCCcore-9.3.0.eb index 3cbe73d68a5..39259fafa23 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-10.0.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-10.0.1-GCCcore-9.3.0.eb @@ -61,6 +61,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.16.4'), ('Python', '2.7.18'), + ('Perl', '5.30.2'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-11.0.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-11.0.0-GCCcore-9.3.0.eb index 18ea431ce59..5886c77ae32 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-11.0.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-11.0.0-GCCcore-9.3.0.eb @@ -57,6 +57,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.16.4'), ('Python', '3.8.2'), + ('Perl', '5.30.2'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-11.0.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-11.0.1-GCCcore-10.2.0.eb index 6a528a4897c..6d6f037e9eb 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-11.0.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-11.0.1-GCCcore-10.2.0.eb @@ -52,11 +52,14 @@ dependencies = [ ('ncurses', '6.2'), ('GMP', '6.2.0'), ('Z3', '4.8.10'), + ('libffi', '3.3'), + ('elfutils', '0.183'), ] builddependencies = [ ('CMake', '3.18.4'), ('Python', '3.8.6'), + ('Perl', '5.32.0'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-11.0.1-gcccuda-2020b.eb b/easybuild/easyconfigs/c/Clang/Clang-11.0.1-gcccuda-2020b.eb index 037c1ef7f84..d5b83b6bd5c 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-11.0.1-gcccuda-2020b.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-11.0.1-gcccuda-2020b.eb @@ -52,12 +52,14 @@ dependencies = [ ('ncurses', '6.2'), ('GMP', '6.2.0'), ('Z3', '4.8.10'), + ('libffi', '3.3'), + ('elfutils', '0.183'), ] builddependencies = [ ('CMake', '3.18.4'), ('Python', '3.8.6'), - ('elfutils', '0.183'), + ('Perl', '5.32.0'), ] assertions = True diff --git a/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..60ac440d2d1 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0-CUDA-11.3.1.eb @@ -0,0 +1,78 @@ +## +# 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 = '12.0.1' +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': '10.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + '7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf', # llvm-12.0.1.src.tar.xz + '6e912133bcf56e9cfe6a346fa7e5c52c2cde3e4e48b7a6cc6fcc7c75047da45f', # clang-12.0.1.src.tar.xz + 'b4c8d5f2a802332987c1c0a95b5afb35b1a66a96fe44add4e4ed4792c4cba0a4', # compiler-rt-12.0.1.src.tar.xz + '2254e25312708a567b1ab00716362db379d265e47a97a94ed74211d57a4cd5f9', # polly-12.0.1.src.tar.xz + '60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091', # openmp-12.0.1.src.tar.xz + '690b3f6a76310e13a783a142f87500ade9cafe003e088b678364487ed873e361', # lld-12.0.1.src.tar.xz + 'a42089cd358f661823c490741f8be98701d983a7ee5152c8649075da681a9d15', # libcxx-12.0.1.src.tar.xz + '88efe8e391767a1e8f42b509879abe766c9f44b1781ad1900975ae6b516b91d0', # libcxxabi-12.0.1.src.tar.xz + '65659efdf97dbed70ae0caee989936b731f249dddc46f1cb4225b2f49b232ae5', # clang-tools-extra-12.0.1.src.tar.xz + '0bea6089518395ca65cf58b0a450716c5c99ce1f041079d3aa42d280ace15ca4', # libunwind-12.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.36.1'), + ('hwloc', '2.4.1'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('GMP', '6.2.1'), + ('Z3', '4.8.11'), + ('libffi', '3.3'), + ('elfutils', '0.185'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Python', '3.9.5'), + ('Perl', '5.32.1'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..68bc4567814 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-10.3.0.eb @@ -0,0 +1,76 @@ +## +# 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 = '12.0.1' + +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': '10.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + '7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf', # llvm-12.0.1.src.tar.xz + '6e912133bcf56e9cfe6a346fa7e5c52c2cde3e4e48b7a6cc6fcc7c75047da45f', # clang-12.0.1.src.tar.xz + 'b4c8d5f2a802332987c1c0a95b5afb35b1a66a96fe44add4e4ed4792c4cba0a4', # compiler-rt-12.0.1.src.tar.xz + '2254e25312708a567b1ab00716362db379d265e47a97a94ed74211d57a4cd5f9', # polly-12.0.1.src.tar.xz + '60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091', # openmp-12.0.1.src.tar.xz + '690b3f6a76310e13a783a142f87500ade9cafe003e088b678364487ed873e361', # lld-12.0.1.src.tar.xz + 'a42089cd358f661823c490741f8be98701d983a7ee5152c8649075da681a9d15', # libcxx-12.0.1.src.tar.xz + '88efe8e391767a1e8f42b509879abe766c9f44b1781ad1900975ae6b516b91d0', # libcxxabi-12.0.1.src.tar.xz + '65659efdf97dbed70ae0caee989936b731f249dddc46f1cb4225b2f49b232ae5', # clang-tools-extra-12.0.1.src.tar.xz + '0bea6089518395ca65cf58b0a450716c5c99ce1f041079d3aa42d280ace15ca4', # libunwind-12.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.36.1'), + ('hwloc', '2.4.1'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('GMP', '6.2.1'), + ('Z3', '4.8.11'), + ('libffi', '3.3'), + ('elfutils', '0.185'), +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Python', '3.9.5'), + ('Perl', '5.32.1'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ddef6175415 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-12.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,76 @@ +## +# 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 = '12.0.1' + +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': '11.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + '7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf', # llvm-12.0.1.src.tar.xz + '6e912133bcf56e9cfe6a346fa7e5c52c2cde3e4e48b7a6cc6fcc7c75047da45f', # clang-12.0.1.src.tar.xz + 'b4c8d5f2a802332987c1c0a95b5afb35b1a66a96fe44add4e4ed4792c4cba0a4', # compiler-rt-12.0.1.src.tar.xz + '2254e25312708a567b1ab00716362db379d265e47a97a94ed74211d57a4cd5f9', # polly-12.0.1.src.tar.xz + '60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091', # openmp-12.0.1.src.tar.xz + '690b3f6a76310e13a783a142f87500ade9cafe003e088b678364487ed873e361', # lld-12.0.1.src.tar.xz + 'a42089cd358f661823c490741f8be98701d983a7ee5152c8649075da681a9d15', # libcxx-12.0.1.src.tar.xz + '88efe8e391767a1e8f42b509879abe766c9f44b1781ad1900975ae6b516b91d0', # libcxxabi-12.0.1.src.tar.xz + '65659efdf97dbed70ae0caee989936b731f249dddc46f1cb4225b2f49b232ae5', # clang-tools-extra-12.0.1.src.tar.xz + '0bea6089518395ca65cf58b0a450716c5c99ce1f041079d3aa42d280ace15ca4', # libunwind-12.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.37'), + ('hwloc', '2.5.0'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('GMP', '6.2.1'), + ('Z3', '4.8.12'), + ('libffi', '3.4.2'), + ('elfutils', '0.185'), +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000000..f051e776913 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -0,0 +1,78 @@ +## +# 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 = '13.0.1' +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': '11.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + 'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834', # llvm-13.0.1.src.tar.xz + '787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9', # clang-13.0.1.src.tar.xz + '7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc', # compiler-rt-13.0.1.src.tar.xz + 'f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0', # polly-13.0.1.src.tar.xz + '6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f', # openmp-13.0.1.src.tar.xz + '666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb', # lld-13.0.1.src.tar.xz + '2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f', # libcxx-13.0.1.src.tar.xz + 'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1', # libcxxabi-13.0.1.src.tar.xz + 'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0', # clang-tools-extra-13.0.1.src.tar.xz + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba', # libunwind-13.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.37'), + ('hwloc', '2.5.0'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('GMP', '6.2.1'), + ('Z3', '4.8.12'), + ('libffi', '3.4.2'), + ('elfutils', '0.185'), + ('CUDA', '11.4.1', '', SYSTEM), +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a2dc6f48037 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,76 @@ +## +# 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 = '13.0.1' + +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': '11.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + 'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834', # llvm-13.0.1.src.tar.xz + '787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9', # clang-13.0.1.src.tar.xz + '7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc', # compiler-rt-13.0.1.src.tar.xz + 'f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0', # polly-13.0.1.src.tar.xz + '6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f', # openmp-13.0.1.src.tar.xz + '666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb', # lld-13.0.1.src.tar.xz + '2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f', # libcxx-13.0.1.src.tar.xz + 'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1', # libcxxabi-13.0.1.src.tar.xz + 'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0', # clang-tools-extra-13.0.1.src.tar.xz + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba', # libunwind-13.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.37'), + ('hwloc', '2.5.0'), + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), + ('GMP', '6.2.1'), + ('Z3', '4.8.12'), + ('libffi', '3.4.2'), + ('elfutils', '0.185'), +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8a64e6c0984 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,78 @@ +## +# 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 = '13.0.1' +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': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + 'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834', # llvm-13.0.1.src.tar.xz + '787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9', # clang-13.0.1.src.tar.xz + '7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc', # compiler-rt-13.0.1.src.tar.xz + 'f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0', # polly-13.0.1.src.tar.xz + '6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f', # openmp-13.0.1.src.tar.xz + '666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb', # lld-13.0.1.src.tar.xz + '2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f', # libcxx-13.0.1.src.tar.xz + 'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1', # libcxxabi-13.0.1.src.tar.xz + 'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0', # clang-tools-extra-13.0.1.src.tar.xz + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba', # libunwind-13.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.38'), + ('hwloc', '2.7.1'), + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.10.2'), + ('libffi', '3.4.2'), + ('elfutils', '0.187'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dd166c5e5ad --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-13.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,76 @@ +## +# 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 = '13.0.1' + +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': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', + 'clang-tools-extra-%(version)s.src.tar.xz', + 'libunwind-%(version)s.src.tar.xz', +] +checksums = [ + 'ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834', # llvm-13.0.1.src.tar.xz + '787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9', # clang-13.0.1.src.tar.xz + '7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc', # compiler-rt-13.0.1.src.tar.xz + 'f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0', # polly-13.0.1.src.tar.xz + '6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f', # openmp-13.0.1.src.tar.xz + '666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb', # lld-13.0.1.src.tar.xz + '2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f', # libcxx-13.0.1.src.tar.xz + 'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1', # libcxxabi-13.0.1.src.tar.xz + 'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0', # clang-tools-extra-13.0.1.src.tar.xz + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba', # libunwind-13.0.1.src.tar.xz +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.38'), + ('hwloc', '2.7.1'), + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.10.2'), + ('libffi', '3.4.2'), + ('elfutils', '0.187'), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True +build_extra_clang_tools = True + +skip_all_tests = True + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dea2f244ad3 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-15.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +## +# 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 = '15.0.5' + +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': '11.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['9c4278a6b8884eb7f4ae7dfe3c8e5445019824885e47cfdf1392563c47316fd6'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), + ('elfutils', '0.187'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.10.4'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.38'), + ('hwloc', '2.7.1'), + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.10.2'), +] + +# 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-16.0.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-16.0.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e1885d3b52f --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-16.0.4-GCCcore-12.2.0.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.4' + +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.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-project-16.0.4.src.tar.xz': 'cf3c2a1152ed7a99866bd7f12c24528ada6d9f6336afb7a08416938762004c9f'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.0'), + # Including Python bindings would require this as a runtime dep + ('Python', '3.10.8'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.39'), + ('hwloc', '2.8.0'), + ('libxml2', '2.10.3'), + ('ncurses', '6.3'), + ('GMP', '6.2.1'), + ('Z3', '4.12.2'), +] + +# 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-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-16.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-16.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cc3f39fb4e3 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-16.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,57 @@ +## +# 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' + +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'), +] + +# 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-17.0.0_20230515-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/Clang/Clang-17.0.0_20230515-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..947a6afdad5 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-17.0.0_20230515-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,61 @@ +## +# 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 = '17.0.0_20230515' +versionsuffix = '-CUDA-%(cudaver)s' +_commit = 'c5dede880d17' + +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'} + +sources = [{ + 'source_urls': ["https://github.com/llvm/llvm-project/archive"], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': 'llvm-project-%s.tar.gz' % version, +}] +checksums = ['6f371f9ac208b8e9dc57fc117b1a9c8565d7ea2bbb49a2768cb9c3c0fee0291d'] + +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-17.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1cb99d62d99 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-17.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,55 @@ +## +# 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 = '17.0.6' + +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': '13.2.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Perl', '5.38.0'), + # Including Python bindings would require this as a runtime dep + # and SWIG as an additional build dep + ('Python', '3.11.5'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.40'), + ('hwloc', '2.9.2'), + ('libxml2', '2.11.5'), + ('ncurses', '6.4'), + ('GMP', '6.3.0'), + ('Z3', '4.13.0'), +] + +# If True, Flang does not currently support building with LLVM exceptions enabled. +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-18.1.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/Clang/Clang-18.1.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8b096078c89 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-18.1.8-GCCcore-13.3.0.eb @@ -0,0 +1,55 @@ +## +# 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 = '18.1.8' + +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': '13.3.0'} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-project-%(version)s.src.tar.xz', +] +checksums = ['0b58557a6d32ceee97c8d533a59b9212d87e0fc4d2833924eb6c611247db2f2a'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Perl', '5.38.2'), + # Including Python bindings would require this as a runtime dep + # and SWIG as an additional build dep + ('Python', '3.12.3'), +] +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.42'), + ('hwloc', '2.10.0'), + ('libxml2', '2.12.7'), + ('ncurses', '6.5'), + ('GMP', '6.3.0'), + ('Z3', '4.13.0'), +] + +# If True, Flang does not currently support building with LLVM exceptions enabled. +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-8.0.0-GCCcore-8.2.0-CUDA-10.1.105.eb b/easybuild/easyconfigs/c/Clang/Clang-8.0.0-GCCcore-8.2.0-CUDA-10.1.105.eb index b4f7a627ae0..ea670d2cb0c 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-8.0.0-GCCcore-8.2.0-CUDA-10.1.105.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-8.0.0-GCCcore-8.2.0-CUDA-10.1.105.eb @@ -54,7 +54,7 @@ dependencies = [ ('binutils', '2.31.1'), ('ncurses', '6.1'), ('GMP', '6.1.2'), - ('CUDA', local_cudaver, '', True), + ('CUDA', local_cudaver, '', SYSTEM), ] builddependencies = [ diff --git a/easybuild/easyconfigs/c/Clang/Clang-8.0.1-GCC-8.3.0-CUDA-10.1.243.eb b/easybuild/easyconfigs/c/Clang/Clang-8.0.1-GCC-8.3.0-CUDA-10.1.243.eb index c65903e6ddb..1cb298bfba1 100644 --- a/easybuild/easyconfigs/c/Clang/Clang-8.0.1-GCC-8.3.0-CUDA-10.1.243.eb +++ b/easybuild/easyconfigs/c/Clang/Clang-8.0.1-GCC-8.3.0-CUDA-10.1.243.eb @@ -60,6 +60,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.15.3'), ('Python', '2.7.16'), + ('Perl', '5.30.0'), ('libxml2', '2.9.9'), ('elfutils', '0.185'), ] 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 6d9f2a9a9ac..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 = [ @@ -60,6 +60,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.15.3'), ('Python', '2.7.16'), + ('Perl', '5.30.0'), ('libxml2', '2.9.9'), ('elfutils', '0.185'), ] 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 963df6df8c9..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 = [ @@ -56,6 +56,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.15.3'), ('Python', '2.7.16'), + ('Perl', '5.30.0'), ('libxml2', '2.9.9'), ] 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 new file mode 100644 index 00000000000..097cc871651 --- /dev/null +++ b/easybuild/easyconfigs/c/Clang/Clang-9.0.1-GCCcore-9.3.0.eb @@ -0,0 +1,71 @@ +## +# 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 = '9.0.1' + +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': '9.3.0'} +# Do not set optarch to True: it will cause the build to fail +toolchainopts = {'optarch': False} + +source_urls = ["https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s"] +sources = [ + 'llvm-%(version)s.src.tar.xz', + 'clang-%(version)s.src.tar.xz', + 'compiler-rt-%(version)s.src.tar.xz', + 'polly-%(version)s.src.tar.xz', + 'openmp-%(version)s.src.tar.xz', + # Also include the LLVM linker + 'lld-%(version)s.src.tar.xz', + 'libcxx-%(version)s.src.tar.xz', + 'libcxxabi-%(version)s.src.tar.xz', +] +patches = [('libcxx-%(version)s-ppc64le.patch', '../')] +checksums = [ + '00a1ee1f389f81e9979f3a640a01c431b3021de0d42278f6508391a2f0b81c9a', # llvm-9.0.1.src.tar.xz + '5778512b2e065c204010f88777d44b95250671103e434f9dc7363ab2e3804253', # clang-9.0.1.src.tar.xz + 'c2bfab95c9986318318363d7f371a85a95e333bc0b34fbfa52edbd3f5e3a9077', # compiler-rt-9.0.1.src.tar.xz + '9a4ac69df923230d13eb6cd0d03f605499f6a854b1dc96a9b72c4eb075040fcf', # polly-9.0.1.src.tar.xz + '5c94060f846f965698574d9ce22975c0e9f04c9b14088c3af5f03870af75cace', # openmp-9.0.1.src.tar.xz + '86262bad3e2fd784ba8c5e2158d7aa36f12b85f2515e95bc81d65d75bb9b0c82', # lld-9.0.1.src.tar.xz + '0981ff11b862f4f179a13576ab0a2f5530f46bd3b6b4a90f568ccc6a62914b34', # libcxx-9.0.1.src.tar.xz + 'e8f978aa4cfae2d7a0b4d89275637078557cca74b35c31b7283d4786948a8aac', # libcxxabi-9.0.1.src.tar.xz + '01d2a16fe69854c0126a8adb4762a455cc6bf1f70003cb8b685e446a66a9aa51', # libcxx-9.0.1-ppc64le.patch +] + +dependencies = [ + # since Clang is a compiler, binutils is a runtime dependency too + ('binutils', '2.34'), + ('GMP', '6.2.0'), + ('ncurses', '6.2'), +] + +builddependencies = [ + ('CMake', '3.16.4'), + ('Python', '2.7.18'), + ('Perl', '5.30.2'), + ('libxml2', '2.9.10'), +] + +assertions = True +usepolly = True +build_lld = True +libcxx = True +enable_rtti = True + +skip_all_tests = True + +moduleclass = 'compiler' 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/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb b/easybuild/easyconfigs/c/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb new file mode 100644 index 00000000000..ca9f62f7e16 --- /dev/null +++ b/easybuild/easyconfigs/c/CliMetLab/CliMetLab-0.12.6-foss-2022a.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'CliMetLab' +version = '0.12.6' + +homepage = 'https://climetlab.readthedocs.io/' +description = """ +CliMetLab is a Python package aiming at simplifying access to climate and +meteorological datasets, allowing users to focus on science instead of +technical issues such as data access and data formats. It is mostly intended to +be used in Jupyter notebooks, and be interoperable with all popular data +analytic packages, such as Numpy, Pandas, Xarray, SciPy, Matplotlib, etc. as +well as machine learning frameworks, such as Tensorflow, Keras or PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), + ('dask', '2022.10.0'), + ('netcdf4-python', '1.6.1'), + ('tqdm', '4.64.0'), + ('ecCodes', '2.27.0'), + ('PyYAML', '6.0'), + ('Magics', '4.13.0'), + ('cdsapi', '0.5.1'), +] + +use_pip = True +sanity_pip_check = True + +# stick to termcolor 1.x, to avoid hatchling required dependency +# remove ecmwflibs requirement as it just bundles ecCodes and Magics and there are no direct imports to it +exts_list = [ + ('eccodes', '1.5.0', { + 'checksums': ['e70c8f159140c343c215fd608ddf533be652ff05ad2ff17243c7b66cf92127fa'], + }), + ('cfgrib', '0.9.10.3', { + 'checksums': ['c10806058c80c48610c201bf05eb292401807806ab9423ab4965ae23dbb6b521'], + }), + ('multiurl', '0.1.1', { + 'checksums': ['8895c51f10a9f80a80f019bee5083a975760b7bdbd6cb2e32b2376a5916aa374'], + }), + ('ecmwf-api-client', '1.6.3', { + 'modulename': 'ecmwfapi', + 'checksums': ['3a00bda34a72e2d5198c97399a4750b42a6633efdb5e1b3a5fd2b2bbaa5db0d6'], + }), + ('ecmwf-opendata', '0.1.1', { + 'modulename': 'ecmwf.opendata', + 'checksums': ['dfb5d4694fbb78b0f79799e130be0b5a56b30c075937c3d03dd6d9b68399bfdd'], + }), + ('findlibs', '0.0.2', { + 'checksums': ['6c7e038496f9a97783ab2cd5736bb68522d5bebd8b0eb17c976b6a4ae4032c8d'], + }), + ('Magics', '1.5.8', { + 'modulename': 'Magics', + 'checksums': ['7df4241802fb552ee052da18190a5266a8faff7feecc70779cb5e1809625fb90'], + }), + ('pdbufr', '0.9.0', { + 'checksums': ['c9f9e19ebae7d27e86166d72a088c699044917a66c800cfccfa72005a1cda945'], + }), + ('pyodc', '1.1.4', { + 'checksums': ['e6185117a38483b0567bf45e6a476b83e0b6b2a7d94ae110cb3ecf92e2cd900e'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('branca', '0.3.1', { + 'checksums': ['3e762c9bdf40725f3d05ea1fda8fae9b470bfada6474e43a1242c8204a7bb15e'], + }), + ('climetlab', version, { + 'preinstallopts': """sed -i 's/"ecmwflibs/# "ecmwflibs/g' setup.py & """, + 'checksums': ['5c3506e3f4223b9ddbfbee09d41dd5b4e45ecce584b90419cce9fef33f9a1de3'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb b/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb new file mode 100644 index 00000000000..c8b47a5dd75 --- /dev/null +++ b/easybuild/easyconfigs/c/CloudCompare/CloudCompare-2.12.4-foss-2021b.eb @@ -0,0 +1,76 @@ +easyblock = 'CMakeMake' + +name = 'CloudCompare' +version = '2.12.4' + +homepage = 'https://www.cloudcompare.org/' +description = "3D point cloud and mesh processing software" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'CloudCompare' +source_urls = [GITHUB_SOURCE] +sources = [ + 'v%(version)s.tar.gz', + { + 'filename': 'CCCoreLib-20220714.tar.gz', + 'git_config': { + 'url': 'https://github.com/CloudCompare', + 'repo_name': 'CCCoreLib', + 'commit': '54ecc7104ead3f203ac6454ff999afe5dac60f2c', + }, + 'extract_cmd': 'tar -C %(name)s-%(version)s/libs/qCC_db/extern -xf %s', + }, +] +checksums = [ + '31c1f4f91efbdb74619cebb36f57f999d6f1a57bb6f87b13e60d21e670c38f68', + None, +] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Qt5', '5.15.2'), + ('GDAL', '3.3.2'), + ('Eigen', '3.4.0'), +] + +_copts = [ + '-DEIGEN_ROOT_DIR=$EBROOTEIGEN', + '-DOpenGL_GL_PREFERENCE=GLVND', + '-DOPTION_USE_GDAL=1', + '-DPLUGIN_GL_QEDL=1', + '-DPLUGIN_GL_QSSAO=1', + '-DPLUGIN_IO_QADDITIONAL=1', + '-DPLUGIN_IO_QCSV_MATRIX=1', + '-DPLUGIN_IO_QPHOTOSCAN=1', + '-DPLUGIN_STANDARD_QBROOM=1', + '-DPLUGIN_STANDARD_QCOMPASS=1', + '-DPLUGIN_STANDARD_QCSF=1', + '-DPLUGIN_STANDARD_QFACETS=1', + '-DPLUGIN_STANDARD_QHOUGH_NORMALS=1', + '-DPLUGIN_STANDARD_QHPR=1', + '-DPLUGIN_STANDARD_QM3C2=1', + '-DPLUGIN_STANDARD_QPCV=1', + '-DPLUGIN_STANDARD_QRANSAC_SD=1', + '-DPLUGIN_STANDARD_QSRA=1', +] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': + ['bin/%s' % x for x in ['CloudCompare', 'ccViewer']] + + ['lib/cloudcompare/lib%s.%s' % (x, SHLIB_EXT) for x in [ + 'CCAppCommon', 'CCCoreLib', 'CC_FBO_LIB', 'CCPluginAPI', 'QCC_DB_LIB', 'QCC_GL_LIB', 'QCC_IO_LIB' + ]] + + ['lib/cloudcompare/plugins/lib%s_PLUGIN.%s' % (x, SHLIB_EXT) for x in [ + 'QCORE_IO', 'QEDL_GL', 'QSSAO_GL', 'QADDITIONAL_IO', 'QCSV_MATRIX_IO', 'QPHOTOSCAN_IO', + 'QBROOM', 'QCOMPASS', 'QCSF', 'QFACETS', 'QHOUGH_NORMALS', 'QHPR', 'QM3C2', + 'QPCV', 'QRANSAC_SD', 'QSRA', + ]], + 'dirs': ['share/cloudcompare/shaders'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/Clp/Clp-1.17.6-foss-2020b.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.6-foss-2020b.eb new file mode 100644 index 00000000000..4a649579d28 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.6-foss-2020b.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.6' + +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': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['f9cfcdd3db23bbc2d18b562012a7e25b99a40e8ce72dc296bd46dddb2970e12a'] + +builddependencies = [ + ('Autotools', '20200321'), + ('Doxygen', '1.8.20'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.3.5', '-metis'), + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# Use BLAS/LAPACK from OpenBLAS +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 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' % (l, SHLIB_EXT) for l 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/Clp/Clp-1.17.6-foss-2021a.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.6-foss-2021a.eb new file mode 100644 index 00000000000..70641c88028 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.6-foss-2021a.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.6' + +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': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['f9cfcdd3db23bbc2d18b562012a7e25b99a40e8ce72dc296bd46dddb2970e12a'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.4.0', '-metis'), + ('CoinUtils', '2.11.4'), + ('Osi', '0.108.6'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# Use BLAS/LAPACK from OpenBLAS +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 -lscalapack" ' + +# 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/Clp/Clp-1.17.7-foss-2021b.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.7-foss-2021b.eb new file mode 100644 index 00000000000..ccd520198c3 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.7-foss-2021b.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.7' + +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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Clp/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c4c2c0e014220ce8b6294f3be0f3a595a37bef58a14bf9bac406016e9e73b0f5'] + +builddependencies = [ + ('Autotools', '20210726'), + ('Doxygen', '1.9.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.4.1', '-metis'), + ('CoinUtils', '2.11.6'), + ('Osi', '0.108.7'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# Use BLAS/LAPACK from OpenBLAS +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 -lscalapack" ' + +# 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/Clp/Clp-1.17.8-foss-2022b.eb b/easybuild/easyconfigs/c/Clp/Clp-1.17.8-foss-2022b.eb new file mode 100644 index 00000000000..788e70df694 --- /dev/null +++ b/easybuild/easyconfigs/c/Clp/Clp-1.17.8-foss-2022b.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'Clp' +version = '1.17.8' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/coin-or/Clp/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f9931b5ba44f0daf445c6b48fc2c250dc12e667e59ace8ea7b025f158fe31556'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.5'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('METIS', '5.1.0'), + ('MUMPS', '5.6.1', '-metis'), + ('CoinUtils', '2.11.9'), + ('Osi', '0.108.8'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# Use BLAS/LAPACK from OpenBLAS +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 -lscalapack" ' + +# 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/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-10.2.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.2.0.eb new file mode 100644 index 00000000000..df007a1ade5 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.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': '10.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/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.3.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..650cb3c75ba --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-10.3.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': '10.3.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/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/Clustal-Omega/Clustal-Omega-1.2.4-GCC-12.3.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..04f5b0991d1 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-GCC-12.3.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': '12.3.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/Clustal-Omega/Clustal-Omega-1.2.4-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..4bd5b52b6a1 --- /dev/null +++ b/easybuild/easyconfigs/c/Clustal-Omega/Clustal-Omega-1.2.4-intel-compilers-2021.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': 'intel-compilers', 'version': '2021.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-10.3.0.eb b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..0d1f3dbfbda --- /dev/null +++ b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +## +# 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 +## +# 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': '10.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': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..602f5e0f704 --- /dev/null +++ b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +## +# 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 +## +# 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': '11.2.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': [] +} + +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/ClustalW2/ClustalW2-2.1-foss-2021a.eb b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-foss-2021a.eb new file mode 100644 index 00000000000..194049ef2c4 --- /dev/null +++ b/easybuild/easyconfigs/c/ClustalW2/ClustalW2-2.1-foss-2021a.eb @@ -0,0 +1,40 @@ +## +# 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 +## +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute +# foss-2021a modified by: +# Sebastien Moretti +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'ClustalW2' +version = '2.1' + +# license = LGPL3.0 +homepage = 'http://www.clustal.org/clustal2/' +description = """ClustalW2 is a general purpose multiple sequence alignment program for DNA or proteins.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +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': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cluster-Buster/Cluster-Buster-20200507-GCC-12.2.0.eb b/easybuild/easyconfigs/c/Cluster-Buster/Cluster-Buster-20200507-GCC-12.2.0.eb new file mode 100644 index 00000000000..0636ef933ae --- /dev/null +++ b/easybuild/easyconfigs/c/Cluster-Buster/Cluster-Buster-20200507-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'Cluster-Buster' +version = '20200507' + +homepage = 'https://github.com/weng-lab/cluster-buster' +description = """Cluster-Buster is a program for finding interesting functional regions, + such as transcriptional enhancers, in DNA sequences.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/weng-lab', + 'repo_name': '%(namelower)s', + 'commit': 'ac1d33cffff0c276216450ebced471595cf01488', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +files_to_copy = [(['cbust'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/cbust'], + 'dirs': [], +} + +sanity_check_commands = ['cbust -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..521b4389c86 --- /dev/null +++ b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'CmdStanR' +version = '0.5.0' +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': '2021b'} + +source_urls = ['https://github.com/stan-dev/cmdstanr/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['073847e839d00ba63b3fa24398e7e684d8c3f0797c7ccba7022a2caef6f04305'] + +dependencies = [ + ('R', '4.1.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..6761ca8bf85 --- /dev/null +++ b/easybuild/easyconfigs/c/CmdStanR/CmdStanR-0.5.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'CmdStanR' +version = '0.5.2' +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': '2022a'} + +source_urls = ['https://github.com/stan-dev/cmdstanr/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5bc2e164e7cce3bfb93d592df5e3059157c8d510b136535bdb6d09c3ef060f64'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +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/Co-phylog/Co-phylog-20201012-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/c/Co-phylog/Co-phylog-20201012-GCC-7.3.0-2.30.eb new file mode 100644 index 00000000000..69b8c501ef1 --- /dev/null +++ b/easybuild/easyconfigs/c/Co-phylog/Co-phylog-20201012-GCC-7.3.0-2.30.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'CmdCp' + +name = 'Co-phylog' +version = '20201012' + +homepage = 'https://github.com/yhg926/co-phylog' +description = """Co-phylog: an assembly-free phylogenomic approach for closely +related organisms H Yi, L Jin Nucleic acids research 41 (7), e75-e75""" + +toolchain = {'name': 'GCC', 'version': '7.3.0-2.30'} + +source_urls = ['https://github.com/yhg926/co-phylog/archive/'] +local_git_commit = '6f29045' +sources = ['%s.tar.gz' % (local_git_commit)] +checksums = ['2cafdda678f9fea32d79460be9867e98846c68f9e6affd56920e7449306345a7'] + +cmds_map = [ + ('.*', ' && '.join([ + "$CC fasta2co_v18.3.c $CFLAGS -Wall -o fasta2co", + "$CC fastq2co.c $CFLAGS -Wall -o fastq2co", + "$CC co2dist2.c $CFLAGS -Wall -o co2dist", + "$CC readco.c $CFLAGS -Wall -o readco", + ])), +] + +files_to_copy = [(['fasta2co', 'fastq2co', 'co2dist', 'readco'], 'bin')] + +postinstallcmds = ["chmod 755 %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['bin/fasta2co', 'bin/fastq2co', 'bin/co2dist', 'bin/readco'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99818-GCC-11.3.0.eb b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99818-GCC-11.3.0.eb new file mode 100644 index 00000000000..845ea2a2ccc --- /dev/null +++ b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99818-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'CoCoALib' +version = '0.99818' + +homepage = 'https://cocoa.dima.unige.it/cocoa/cocoalib/' +description = "CoCoALib is a free GPL3 C++ library for doing Computations in Commutative Algebra." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://cocoa.dima.unige.it/cocoa/cocoalib/tgz'] +sources = [SOURCE_TGZ] +checksums = ['7c7d6bb0bc3004ea76caaeb5f8de10ed09c8052a9131fd98716c36c6fc96d1ea'] + +dependencies = [ + ('GMP', '6.2.1'), + ('cddlib', '0.94m'), # optional +] + +# libreadline only needed for CoCoA-5 +configopts = "--only-cocoalib --no-readline --threadsafe-hack " +# Use cddlib and GMP from EB +configopts += "--with-libcddgmp=${EBROOTCDDLIB}/lib/libcddgmp.a --with-libgmp=$EBROOTGMP/lib/libgmp.a " + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +# Makefile is not smart enough to create missing directories +preinstallopts = "mkdir %(installdir)s/{include,lib} && " + +# Move doc and examples from include to share +postinstallcmds = [ + "mkdir %(installdir)s/share", + "mv %(installdir)s/include/CoCoA-%(version)s/{doc,examples} %(installdir)s/share/", +] + +sanity_check_paths = { + 'files': ['lib/libcocoa.a'], + 'dirs': ['include/CoCoA-%(version)s', 'share/doc', 'share/examples'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb new file mode 100644 index 00000000000..f85edd9ec85 --- /dev/null +++ b/easybuild/easyconfigs/c/CoCoALib/CoCoALib-0.99850-GCC-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'CoCoALib' +version = '0.99850' + +homepage = 'https://cocoa.dima.unige.it/cocoa/cocoalib/' +description = "CoCoALib is a free GPL3 C++ library for doing Computations in Commutative Algebra." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://cocoa.dima.unige.it/cocoa/cocoalib/tgz'] +sources = [SOURCE_TGZ] +checksums = ['d3e7af0153c6950f83f4e3556540f0177fedf5179f0f7667b7d6d670268fd445'] + +dependencies = [ + ('GMP', '6.3.0'), + ('cddlib', '0.94m'), # optional +] + +# libreadline only needed for CoCoA-5 +configopts = "--only-cocoalib --no-readline --threadsafe-hack " +# Use cddlib and GMP from EB +configopts += "--with-libcddgmp=${EBROOTCDDLIB}/lib/libcddgmp.a --with-libgmp=$EBROOTGMP/lib/libgmp.a " + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +# Makefile is not smart enough to create missing directories +preinstallopts = "mkdir %(installdir)s/{include,lib} && " + +# Move doc and examples from include to share +postinstallcmds = [ + "mkdir %(installdir)s/share", + "mv %(installdir)s/include/CoCoA-%(version)s/{doc,examples} %(installdir)s/share/", +] + +sanity_check_paths = { + 'files': ['lib/libcocoa.a'], + 'dirs': ['include/CoCoA-%(version)s', 'share/doc', 'share/examples'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb b/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb new file mode 100644 index 00000000000..6daeefb0299 --- /dev/null +++ b/easybuild/easyconfigs/c/CoSymLib/CoSymLib-0.10.9-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'CoSymLib' +version = '0.10.9' + +homepage = 'https://cosymlib.readthedocs.io' +description = """Cosymlib is a python library for computing continuous symmetry & shape measures +(CSMs & CShMs). Although its main aim is to provide simple and ready-to-use +tools for the analysis of the symmetry & shape of molecules, many of the +procedures contained in cosymlib can be easily applied to any finite +geometrical object defined by a set of vertices or a by mass distribution +function.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), +] + +use_pip = True + +# replace hardcoded library sonames for BLAS/LAPACK +_fix_linker_blas = 'sed -i \'s/libraries=.*/libraries=["flexiblas", "gfortran"],/g\' setup.py &&' + +exts_list = [ + ('symgroupy', '0.5.11', { + 'checksums': ['bf59460d29ee707289c859d5e10e3984d3cd0536e5b7b001962f428cb73b3c22'], + 'preinstallopts': _fix_linker_blas, + }), + ('wfnsympy', '0.3.5', { + 'checksums': ['f1bede9d9e4efdc79e2a1a4f62b02bd7758908ce6bf91a2641150e0f65c32a6c'], + 'preinstallopts': _fix_linker_blas, + }), + ('huckelpy', '0.2.3', { + 'checksums': ['25a4309d4997332b1179de93bb5b6437c61f8ba198a9e0bcd3aec28b6cd6ce28'], + }), + ('cosymlib', version, { + 'checksums': ['c3e74aa00570489cac609ce6f274a7b6626141948eb5a261d4b27c4e517cee94'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['cchir', 'cosym', 'esym', 'gsym', 'mosym', 'shape', + 'shape_classic', 'shape_map']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cosym --version"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb b/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb new file mode 100644 index 00000000000..636bef3b8e8 --- /dev/null +++ b/easybuild/easyconfigs/c/CodAn/CodAn-1.2-foss-2021b.eb @@ -0,0 +1,49 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Binary' + +name = 'CodAn' +version = '1.2' + +homepage = 'https://github.com/pedronachtigall/CodAn' +description = """CodAn (Coding sequence Annotator) is a computational tool designed to characterize the CDS and UTR +regions on transcripts from any Eukaryote species.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/pedronachtigall/CodAn/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34962ac67dc94da0bff6e032568e38388726bf1d7efceed462d6b7c841b087b7'] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), + ('BioPerl', '1.7.8'), + ('Perl', '5.34.0'), +] + +extract_sources = True + +install_cmd = "cp -r %(builddir)s/* %(installdir)s/ && " +install_cmd += "tar -xf %(installdir)s/%(name)s-%(version)s/CodAn.tar.gz && " +install_cmd += "mkdir %(installdir)s/bin && " +install_cmd += "mv %(installdir)s/%(name)s-%(version)s/bin/* %(installdir)s/bin && " +install_cmd += "chmod u+rwx,go+rx %(installdir)s/bin/* " + +sanity_check_paths = { + 'files': ['bin/%(namelower)s.py'], + 'dirs': [], +} + +local_sanity_check_cmd = "mkdir %(builddir)s/eb_test && " +local_sanity_check_cmd += "cp %(installdir)s/%(name)s-%(version)s/models/VERT_full.zip %(builddir)s/eb_test && " +local_sanity_check_cmd += "cp %(installdir)s/%(name)s-%(version)s/tutorial/transcripts.fa %(builddir)s/eb_test && " +local_sanity_check_cmd += "cd %(builddir)s/eb_test/ && " +local_sanity_check_cmd += "unzip VERT_full.zip && " +local_sanity_check_cmd += "codan.py -t transcripts.fa -m VERT_full | grep 'prediction finished!'" + +sanity_check_commands = [ + "%(namelower)s.py --help", + local_sanity_check_cmd, +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb new file mode 100644 index 00000000000..a82e6498b5f --- /dev/null +++ b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0-foss-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'MakeCp' + +name = 'CodingQuarry' +version = '2.0' + +homepage = 'https://sourceforge.net/p/codingquarry' +description = "Highly accurate hidden Markov model gene prediction in fungal genomes using RNA-seq transcripts" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['CodingQuarry_v%(version)s.tar.gz'] +patches = ['CodingQuarry-2.0_python3.patch'] +checksums = [ + {'CodingQuarry_v2.0.tar.gz': '1198afbf7cebcf0975c5b20d92b7a2dd6d956072fcde6e86fdce6aeae4842504'}, + {'CodingQuarry-2.0_python3.patch': '8e1b117431d8b104f2114875d8f751aa91c1c3c1b0ddd5a4f85251605c2ab9df'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), +] + +buildopts = 'CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['CodingQuarry', 'CufflinksGTF_to_CodingQuarryGFF3.py'], 'bin'), + 'QuarryFiles', + 'TESTING', +] + +fix_python_shebang_for = [ + 'bin/CufflinksGTF_to_CodingQuarryGFF3.py', + 'QuarryFiles/scripts/*.py', +] + +sanity_check_paths = { + 'files': ['bin/CodingQuarry', 'bin/CufflinksGTF_to_CodingQuarryGFF3.py'], + 'dirs': ['QuarryFiles/scripts', 'QuarryFiles/self_train', 'QuarryFiles/species', 'TESTING'], +} + +sanity_check_commands = [ + "CodingQuarry --help | grep '^CodingQuarry v. %(version)s'", + "mkdir -p %(builddir)s && cp -a %(installdir)s/TESTING %(builddir)s/TESTING", + "cd %(builddir)s/TESTING && CufflinksGTF_to_CodingQuarryGFF3.py Sp_transcripts.gtf > test.gff3", +] + +modextravars = {'QUARRY_PATH': '%(installdir)s/QuarryFiles'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch new file mode 100644 index 00000000000..ddf50218a42 --- /dev/null +++ b/easybuild/easyconfigs/c/CodingQuarry/CodingQuarry-2.0_python3.patch @@ -0,0 +1,36 @@ +make CufflinksGTF_to_CodingQuarryGFF3.py script compatible with Python 3.x +author: Kenneth Hoste (HPC-UGent) +--- CufflinksGTF_to_CodingQuarryGFF3.py.orig 2016-03-09 01:35:28.000000000 +0100 ++++ CufflinksGTF_to_CodingQuarryGFF3.py 2023-04-10 21:10:51.666438036 +0200 +@@ -5,7 +5,7 @@ + try : + myFile = open(sys.argv[1], 'rU') + except : +- print 'run: \n\npython CufflinksGTF_to_CodingQuarryGFF3.py transcripts.gtf > out.gff3\n' ++ print('run: \n\npython CufflinksGTF_to_CodingQuarryGFF3.py transcripts.gtf > out.gff3\n') + exit() + + number = 0 +@@ -18,8 +18,8 @@ + number += 1 + else : + number = 1 +- print '%s\t%s\texon\t%s\t%s\t%s\t%s\t%s\tID=exon:%s.%i;Parent=%s;' % \ +- (fields[0], fields[1], fields[3], fields[4], fields[5], fields[6], fields[7], details[3], number, details[3]) ++ print('%s\t%s\texon\t%s\t%s\t%s\t%s\t%s\tID=exon:%s.%i;Parent=%s;' % \ ++ (fields[0], fields[1], fields[3], fields[4], fields[5], fields[6], fields[7], details[3], number, details[3])) + IDprev = details[3] + + myFile.close() +--- QuarryFiles/scripts/fastaTranslate.py.orig 2016-03-09 01:35:28.000000000 +0100 ++++ QuarryFiles/scripts/fastaTranslate.py 2023-04-10 21:30:47.355740964 +0200 +@@ -33,7 +33,7 @@ + else : + protein+='*' + i+=3 +- print '>%s' % (record.id) +- print protein ++ print('>%s' % (record.id)) ++ print(protein) + + myFASTA.close() diff --git a/easybuild/easyconfigs/c/Cogent/Cogent-8.0.0-foss-2021a.eb b/easybuild/easyconfigs/c/Cogent/Cogent-8.0.0-foss-2021a.eb new file mode 100644 index 00000000000..4c4c6c07fcc --- /dev/null +++ b/easybuild/easyconfigs/c/Cogent/Cogent-8.0.0-foss-2021a.eb @@ -0,0 +1,65 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'Cogent' +version = '8.0.0' + +homepage = 'https://github.com/Magdoll/Cogent' +description = """ +Cogent is a tool for reconstructing the coding genome using high-quality +full-length transcriptome sequences. It is designed to be used on Iso-Seq data +and in cases where there is no reference genome or the ref genome is highly +incomplete. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +# standard URL for Cogent +# source_urls = ['https://github.com/Magdoll/Cogent/archive/refs/tags'] +# sources = ['v%(version)s.tar.gz'] + +# v8.0.0 bug fix URL +source_urls = ['https://github.com/Magdoll/Cogent/archive'] +sources = ['c44054bf88b94e77f475c3a6907da7609aee60ad.zip'] +checksums = ['90c8a810478d5d7b31441c1b818547e7de0aaf6a02001f36dcb618d3d10e1d48'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), + ('scikit-image', '0.18.3'), + ('Biopython', '1.79'), + ('bx-python', '0.8.11'), + ('python-parasail', '1.2.4'), + ('CapnProto', '0.9.1'), + ('minimap2', '2.20'), + ('Mash', '2.3'), + ('cDNA_Cupcake', '26.0.0'), + ('PuLP', '2.5.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['run_mash.py', + 'process_kmer_to_graph.py', + 'reconstruct_contig.py']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'run_mash.py -h', + 'process_kmer_to_graph.py -h', + 'reconstruct_contig.py -h', +] + +options = {'modulename': 'Cogent'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-10.3.0.eb b/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..a5b010a2a9c --- /dev/null +++ b/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'Coin' +version = '4.0.0' + +homepage = 'https://coin3d.github.io' +description = """Coin is an OpenGL-based, 3D graphics library that has its roots in the +Open Inventor 2.1 API, which Coin still is compatible with.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ["https://github.com/coin3d/%(namelower)s/releases/download/%(name)s-%(version)s"] +sources = ["%(namelower)s-%(version)s-src.tar.gz"] +checksums = ['e4f4bd57804b8ed0e017424ad2e45c112912a928b83f86c89963df9015251476'] + +# Boost is a header-only dependency +builddependencies = [ + ('Boost', '1.76.0'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), +] + +configopts = "-DCOIN_BUILD_TESTS=OFF" + +sanity_check_paths = { + 'files': ['lib/libCoin.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-11.2.0.eb b/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..c55c2e133f5 --- /dev/null +++ b/easybuild/easyconfigs/c/Coin/Coin-4.0.0-GCC-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'Coin' +version = '4.0.0' + +homepage = 'https://coin3d.github.io' +description = """Coin is an OpenGL-based, 3D graphics library that has its roots in the +Open Inventor 2.1 API, which Coin still is compatible with.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/coin3d/%(namelower)s/releases/download/%(name)s-%(version)s"] +sources = ["%(namelower)s-%(version)s-src.tar.gz"] +checksums = ['e4f4bd57804b8ed0e017424ad2e45c112912a928b83f86c89963df9015251476'] + +# Boost is a header-only dependency +builddependencies = [ + ('Boost', '1.77.0'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), +] + +configopts = "-DCOIN_BUILD_TESTS=OFF" + +sanity_check_paths = { + 'files': ['lib/libCoin.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'vis' 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/CoinUtils/CoinUtils-2.11.4-GCC-10.3.0.eb b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..ade743d252a --- /dev/null +++ b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.4-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = "ConfigureMake" + +name = 'CoinUtils' +version = '2.11.4' + +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://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['1b24f8f6057661b3225d24f4e671527f53bf13aff66e06cbbbd4f20cc7d31dce'] + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +builddependencies = [ + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +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/CoinUtils/CoinUtils-2.11.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..ebc08762adc --- /dev/null +++ b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.4-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +easyblock = "ConfigureMake" + +name = 'CoinUtils' +version = '2.11.4' + +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://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['1b24f8f6057661b3225d24f4e671527f53bf13aff66e06cbbbd4f20cc7d31dce'] + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('Autotools', '20200321'), + ('binutils', '2.35'), + ('Doxygen', '1.8.20'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +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/CoinUtils/CoinUtils-2.11.6-GCC-11.2.0.eb b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.6-GCC-11.2.0.eb new file mode 100644 index 00000000000..c7fb9762bb1 --- /dev/null +++ b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.6-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'CoinUtils' +version = '2.11.6' + +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 = ['6ea31d5214f7eb27fa3ffb2bdad7ec96499dd2aaaeb4a7d0abd90ef852fc79ca'] + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +builddependencies = [ + ('Autotools', '20210726'), + ('Doxygen', '1.9.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +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/CoinUtils/CoinUtils-2.11.9-GCC-12.2.0.eb b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.9-GCC-12.2.0.eb new file mode 100644 index 00000000000..b21da99803c --- /dev/null +++ b/easybuild/easyconfigs/c/CoinUtils/CoinUtils-2.11.9-GCC-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'CoinUtils' +version = '2.11.9' + +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 = ['15d572ace4cd3b7c8ce117081b65a2bd5b5a4ebaba54fadc99c7a244160f88b8'] + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.5'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +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/ColabFold/ColabFold-1.5.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/ColabFold/ColabFold-1.5.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8d8017276a6 --- /dev/null +++ b/easybuild/easyconfigs/c/ColabFold/ColabFold-1.5.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'ColabFold' +version = '1.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/sokrypton/ColabFold' +description = """Making protein folding accessible to all. Predict proteins structures both in +google colab and on your machine.""" +github_account = 'sokrypton' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('AlphaFold', '2.3.4', versionsuffix + '-%(name)s'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('py3Dmol', '2.0.1.post1'), +] + +use_pip = True + +exts_list = [ + ('colabfold', version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b3b82e831e241a6ab40f2b0c6d560ac5328c6a0b505a0186c75e397ca1a16477'], + # fix requirement on Python 3.10.x revisions and TensorFlow + 'preinstallopts': r"sed -i 's/^\(python =.*\)<=3.10\"$/\1<3.11\"/;s/flow-cpu/flow/' pyproject.toml &&", + 'use_pip_extras': 'alphafold', + }), +] + +postinstallcmds = [ + # Copy notebooks to installation directory + "mkdir %(installdir)s/notebooks", + "cp AlphaFold2.ipynb ESMFold.ipynb RoseTTAFold.ipynb %(installdir)s/notebooks/", +] + +sanity_check_paths = { + 'files': ['bin/colabfold_batch', 'bin/colabfold_search', 'bin/colabfold_split_msas'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'notebooks'], +} + +sanity_check_commands = [ + "colabfold_batch --help", +] + +sanity_pip_check = True + +modloadmsg = """ +%(name)s notebooks are located in $EBROOTCOLABFOLD/notebooks +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ColabFold/ColabFold-1.5.2-foss-2022a.eb b/easybuild/easyconfigs/c/ColabFold/ColabFold-1.5.2-foss-2022a.eb new file mode 100644 index 00000000000..c8ebee84c19 --- /dev/null +++ b/easybuild/easyconfigs/c/ColabFold/ColabFold-1.5.2-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'ColabFold' +version = '1.5.2' + +homepage = 'https://github.com/sokrypton/ColabFold' +description = """Making protein folding accessible to all. Predict proteins structures both in +google colab and on your machine.""" +github_account = 'sokrypton' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('AlphaFold', '2.3.4', '-%(name)s'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('py3Dmol', '2.0.1.post1'), +] + +use_pip = True + +exts_list = [ + ('colabfold', version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['b3b82e831e241a6ab40f2b0c6d560ac5328c6a0b505a0186c75e397ca1a16477'], + # fix requirement on Python 3.10.x revisions and TensorFlow + 'preinstallopts': r"sed -i 's/^\(python =.*\)<=3.10\"$/\1<3.11\"/;s/flow-cpu/flow/' pyproject.toml &&", + 'use_pip_extras': 'alphafold', + }), +] + +postinstallcmds = [ + # Copy notebooks to installation directory + "mkdir %(installdir)s/notebooks", + "cp AlphaFold2.ipynb ESMFold.ipynb RoseTTAFold.ipynb %(installdir)s/notebooks/", +] + +sanity_check_paths = { + 'files': ['bin/colabfold_batch', 'bin/colabfold_search', 'bin/colabfold_split_msas'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'notebooks'], +} + +sanity_check_commands = [ + "colabfold_batch --help", +] + +sanity_pip_check = True + +modloadmsg = """ +%(name)s notebooks are located in $EBROOTCOLABFOLD/notebooks +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CompareM/CompareM-0.1.2-foss-2021b.eb b/easybuild/easyconfigs/c/CompareM/CompareM-0.1.2-foss-2021b.eb new file mode 100644 index 00000000000..29fffcda612 --- /dev/null +++ b/easybuild/easyconfigs/c/CompareM/CompareM-0.1.2-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'CompareM' +version = '0.1.2' + +homepage = 'https://github.com/dparks1134/CompareM' +description = "A toolbox for comparative genomics." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('DIAMOND', '2.0.13'), + ('prodigal', '2.6.3'), +] + +use_pip = True + +exts_list = [ + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('biolib', '0.1.9', { + 'checksums': ['bc9ae68c6d76d46e4295fe0b1df5a48b575fe96374bd96d624c3330feb94856f'], + }), + ('comparem', version, { + 'checksums': ['bdfd3db957b151f6bdf711203d65bfda7209c5b46c5ce275da5bce2b4d490afa'], + }), +] + +sanity_check_paths = { + 'files': ['bin/comparem'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["comparem -h"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb new file mode 100644 index 00000000000..0ff4a4f9bdb --- /dev/null +++ b/easybuild/easyconfigs/c/Compass/Compass-2024.04-foss-2021b.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'Compass' +version = '2024.04' + +homepage = 'https://github.com/YosefLab/Compass' +description = """In-Silico Modeling of Metabolic Heterogeneity using Single-Cell Transcriptomes.""" +local_commit = "7664cb0" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('python-libsbml', '5.20.2'), + ('scikit-learn', '1.0.1'), + ('python-igraph', '0.9.8'), + ('leidenalg', '0.8.8'), + ('anndata', '0.9.2'), + ('CPLEX', '22.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('compass', version, { + 'source_urls': ['https://github.com/YosefLab/Compass/archive/'], + 'sources': [{'download_filename': '7664cb0.tar.gz', 'filename': '%(name)s-%(version)s-7664cb0.tar.gz'}], + 'checksums': ['87529c5fae108fa2a8e3e35438d3b25874faa78af670a2349228c76fa0843376'], + 'preinstallopts': "sed -i '/python-igraph/d' setup.py && ", + }), +] + +sanity_check_commands = [ + "compass -h", + "python -c 'import cplex'", + "python -c 'import igraph'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a52e00e9f4b --- /dev/null +++ b/easybuild/easyconfigs/c/Compress-Raw-Zlib/Compress-Raw-Zlib-2.202-GCCcore-11.3.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': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/P/PM/PMQS/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['96e20946eb457a32d2d7a0050b922e37b5ada41246bcdc824196d3f7c4da91b7'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('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/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/CVS/CVS-1.11.23-getline.patch b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/CVS-1.11.23-getline.patch similarity index 100% rename from easybuild/easyconfigs/c/CVS/CVS-1.11.23-getline.patch rename to easybuild/easyconfigs/c/ConcurrentVersionsSystem/CVS-1.11.23-getline.patch diff --git a/easybuild/easyconfigs/c/CVS/CVS-1.11.23-zlib-1.patch b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/CVS-1.11.23-zlib-1.patch similarity index 100% rename from easybuild/easyconfigs/c/CVS/CVS-1.11.23-zlib-1.patch rename to easybuild/easyconfigs/c/ConcurrentVersionsSystem/CVS-1.11.23-zlib-1.patch diff --git a/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCC-4.8.2.eb b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCC-4.8.2.eb new file mode 100644 index 00000000000..871628918c8 --- /dev/null +++ b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCC-4.8.2.eb @@ -0,0 +1,29 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'ConcurrentVersionsSystem' +version = '1.11.23' + +homepage = 'https://savannah.nongnu.org/projects/cvs' +description = """CVS is a version control system, an important component of + Source Configuration Management (SCM).""" + +toolchain = {'name': 'GCC', 'version': '4.8.2'} + +source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] +sources = ['cvs-%(version)s.tar.bz2'] + +patches = ['CVS-1.11.23-zlib-1.patch', 'CVS-1.11.23-getline.patch'] + +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6275858037f --- /dev/null +++ b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'ConcurrentVersionsSystem' +version = '1.11.23' + +homepage = 'https://savannah.nongnu.org/projects/cvs' +description = """CVS is a version control system, an important component of +Source Configuration Management (SCM). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [' https://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] +sources = ['cvs-%(version)s.tar.bz2'] +patches = [ + 'CVS-1.11.23-zlib-1.patch', + 'CVS-1.11.23-getline.patch', +] +checksums = [ + '400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9', # cvs-1.11.23.tar.bz2 + '3c0ee6509c4622778c093316437a5b047c51820e11cee3ed3a405c2a590a9ff4', # CVS-1.11.23-zlib-1.patch + '6a1aa65acfbb41b7639adc70248d908981f172c2529bb52d84359713f9541874', # CVS-1.11.23-getline.patch +] + +builddependencies = [ + ('binutils', '2.37') +] + +dependencies = [ + ('zlib', '1.2.11') +] + +sanity_check_paths = { + 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b43a426454f --- /dev/null +++ b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'ConcurrentVersionsSystem' +version = '1.11.23' + +homepage = 'https://savannah.nongnu.org/projects/cvs' +description = """CVS is a version control system, an important component of +Source Configuration Management (SCM). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [' https://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] +sources = ['cvs-%(version)s.tar.bz2'] +patches = [ + 'CVS-1.11.23-zlib-1.patch', + 'CVS-1.11.23-getline.patch', +] +checksums = [ + '400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9', # cvs-1.11.23.tar.bz2 + # CVS-1.11.23-zlib-1.patch + '3c0ee6509c4622778c093316437a5b047c51820e11cee3ed3a405c2a590a9ff4', + # CVS-1.11.23-getline.patch + '6a1aa65acfbb41b7639adc70248d908981f172c2529bb52d84359713f9541874', +] + +builddependencies = [ + ('binutils', '2.42') +] + +dependencies = [ + ('zlib', '1.3.1') +] + +sanity_check_paths = { + 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-4.9.3.eb b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-4.9.3.eb new file mode 100644 index 00000000000..3d594d8f915 --- /dev/null +++ b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-4.9.3.eb @@ -0,0 +1,30 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'ConcurrentVersionsSystem' +version = '1.11.23' + +homepage = 'https://savannah.nongnu.org/projects/cvs' +description = """CVS is a version control system, an important component of + Source Configuration Management (SCM).""" + +toolchain = {'name': 'GCCcore', 'version': '4.9.3'} + +source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] +sources = ['cvs-%(version)s.tar.bz2'] + +patches = ['CVS-1.11.23-zlib-1.patch', 'CVS-1.11.23-getline.patch'] + +builddependencies = [('binutils', '2.25')] +dependencies = [('zlib', '1.2.8')] + +sanity_check_paths = { + 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-6.4.0.eb b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-6.4.0.eb new file mode 100644 index 00000000000..196d0c4fc1d --- /dev/null +++ b/easybuild/easyconfigs/c/ConcurrentVersionsSystem/ConcurrentVersionsSystem-1.11.23-GCCcore-6.4.0.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +## + +easyblock = 'ConfigureMake' + +name = 'ConcurrentVersionsSystem' +version = '1.11.23' + +homepage = 'https://savannah.nongnu.org/projects/cvs' +description = """CVS is a version control system, an important component of + Source Configuration Management (SCM).""" + +toolchain = {'name': 'GCCcore', 'version': '6.4.0'} + +source_urls = [' http://ftp.gnu.org/non-gnu/cvs/source/stable/%(version)s/'] +sources = ['cvs-%(version)s.tar.bz2'] +patches = [ + 'CVS-1.11.23-zlib-1.patch', + 'CVS-1.11.23-getline.patch', +] +checksums = [ + '400f51b59d85116e79b844f2d5dbbad4759442a789b401a94aa5052c3d7a4aa9', # cvs-1.11.23.tar.bz2 + '3c0ee6509c4622778c093316437a5b047c51820e11cee3ed3a405c2a590a9ff4', # CVS-1.11.23-zlib-1.patch + '6a1aa65acfbb41b7639adc70248d908981f172c2529bb52d84359713f9541874', # CVS-1.11.23-getline.patch +] + +builddependencies = [('binutils', '2.28')] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/cvs', 'bin/cvsbug', 'bin/rcs2log'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-GCCcore-8.2.0.eb index da15c0b6470..013966d896c 100644 --- a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-GCCcore-8.2.0.eb @@ -30,7 +30,7 @@ dependencies = [ start_dir = 'src' -configopts = '-DCMAKE_BUILD_TYPE=Release -DWORKBENCH_MESA_DIR=${EBROOTMESA} ' +configopts = '-DWORKBENCH_MESA_DIR=${EBROOTMESA} ' configopts += '-DWORKBENCH_USE_QT5=TRUE -Wno-dev ' # It is necessary to deactivate the SIMD optimization in order to build diff --git a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-foss-2017b.eb b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-foss-2017b.eb index bb404ae72ba..6ea34df4932 100644 --- a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-foss-2017b.eb +++ b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-foss-2017b.eb @@ -28,7 +28,7 @@ dependencies = [ start_dir = 'src' -configopts = '-DCMAKE_BUILD_TYPE=Release -DWORKBENCH_MESA_DIR=${EBROOTMESA} ' +configopts = '-DWORKBENCH_MESA_DIR=${EBROOTMESA} ' configopts += '-DWORKBENCH_USE_QT5=TRUE -Wno-dev ' # It is necessary to deactivate the SIMD optimization in order to build diff --git a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-intel-2017b.eb b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-intel-2017b.eb index af146369690..c8b593dcf4b 100644 --- a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-intel-2017b.eb +++ b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.3.2-intel-2017b.eb @@ -28,7 +28,7 @@ dependencies = [ start_dir = 'src' -configopts = '-DCMAKE_BUILD_TYPE=Release -DWORKBENCH_MESA_DIR=${EBROOTMESA} ' +configopts = '-DWORKBENCH_MESA_DIR=${EBROOTMESA} ' configopts += '-DWORKBENCH_USE_QT5=TRUE -Wno-dev ' # It is necessary to deactivate the SIMD optimization in order to build diff --git a/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.5.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.5.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..55a199c0530 --- /dev/null +++ b/easybuild/easyconfigs/c/ConnectomeWorkbench/ConnectomeWorkbench-1.5.0-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'ConnectomeWorkbench' +version = '1.5.0' + +homepage = 'https://www.humanconnectome.org/software/connectome-workbench' +description = """Connectome Workbench is an open source, freely available visualization + and discovery tool used to map neuroimaging data, especially data generated by the + Human Connectome Project.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/Washington-University/workbench/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6410f5cdaed2158d99871962fb27ce9fdfad6fa7dad496b93ff8bce0a8070cc4'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Qt5', '5.15.2'), + ('Mesa', '21.1.1'), +] + +start_dir = 'src' + +configopts = '-DWORKBENCH_MESA_DIR=${EBROOTMESA} ' +configopts += '-DWORKBENCH_USE_QT5=TRUE -DWORKBENCH_USE_QT5_QOPENGL_WIDGET=TRUE -Wno-dev ' + +# It is necessary to deactivate the SIMD optimization in order to build +# kloewe/dot correctly. This should not affect the overall optimization since +# compiler flags are passed by EB via CFLAGS and CXXFLAGS. +# See https://github.com/Washington-University/workbench/issues/34 +configopts += '-DWORKBENCH_USE_SIMD=FALSE ' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/wb_command', 'bin/wb_shortcuts', 'bin/wb_view'], + 'dirs': ['share'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Control-FREEC/Control-FREEC-11.6-GCC-10.2.0.eb b/easybuild/easyconfigs/c/Control-FREEC/Control-FREEC-11.6-GCC-10.2.0.eb new file mode 100644 index 00000000000..f705159c83d --- /dev/null +++ b/easybuild/easyconfigs/c/Control-FREEC/Control-FREEC-11.6-GCC-10.2.0.eb @@ -0,0 +1,30 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'Control-FREEC' +version = '11.6' + +homepage = 'https://github.com/BoevaLab/FREEC' +description = """Copy number and genotype annotation from whole +genome and whole exome sequencing data.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/BoevaLab/FREEC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['36564f86a01236e720cf412780e87eb24f224470f5bae45a99edb2d4a3cd1734'] + +build_cmd = "cd src && make all" + +files_to_copy = ['src/freec', 'scripts', 'data', 'README.md'] + +sanity_check_paths = { + 'dirs': [''], + 'files': ['freec'], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2019b.eb b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2019b.eb new file mode 100644 index 00000000000..60a7b6fd9ea --- /dev/null +++ b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2019b.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CoordgenLibs' +version = '3.0.1' + +homepage = 'https://github.com/schrodinger/coordgenlibs' +description = "Schrodinger-developed 2D Coordinate Generation" + +toolchain = {'name': 'gompi', 'version': '2019b'} + +source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['737fd081bcb8a6913aa00b375be96458fe2821a58209c98e7a7e86a64d73a900'] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('Boost', '1.71.0'), + ('maeparser', '1.3.0'), +] + +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/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2021a.eb b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2021a.eb new file mode 100644 index 00000000000..75ff2d354dc --- /dev/null +++ b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2021a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CoordgenLibs' +version = '3.0.1' + +homepage = 'https://github.com/schrodinger/coordgenlibs' +description = "Schrodinger-developed 2D Coordinate Generation" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['737fd081bcb8a6913aa00b375be96458fe2821a58209c98e7a7e86a64d73a900'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Boost', '1.76.0'), + ('maeparser', '1.3.0'), +] + +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/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2022a.eb b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2022a.eb new file mode 100644 index 00000000000..bab82cf314a --- /dev/null +++ b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-gompi-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CoordgenLibs' +version = '3.0.1' + +homepage = 'https://github.com/schrodinger/coordgenlibs' +description = "Schrodinger-developed 2D Coordinate Generation" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['737fd081bcb8a6913aa00b375be96458fe2821a58209c98e7a7e86a64d73a900'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Boost', '1.79.0'), + ('maeparser', '1.3.0'), +] + +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/CoordgenLibs/CoordgenLibs-3.0.1-iimpi-2020a.eb b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-iimpi-2020a.eb new file mode 100644 index 00000000000..e08d7e569be --- /dev/null +++ b/easybuild/easyconfigs/c/CoordgenLibs/CoordgenLibs-3.0.1-iimpi-2020a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'CoordgenLibs' +version = '3.0.1' + +homepage = 'https://github.com/schrodinger/coordgenlibs' +description = "Schrodinger-developed 2D Coordinate Generation" + +toolchain = {'name': 'iimpi', 'version': '2020a'} + +source_urls = ['https://github.com/schrodinger/coordgenlibs/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['737fd081bcb8a6913aa00b375be96458fe2821a58209c98e7a7e86a64d73a900'] + +builddependencies = [('CMake', '3.16.4')] + +dependencies = [ + ('Boost', '1.72.0'), + ('maeparser', '1.3.0'), +] + +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/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/Coot/Coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.eb b/easybuild/easyconfigs/c/Coot/Coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.eb new file mode 100644 index 00000000000..6d09c67ecfa --- /dev/null +++ b/easybuild/easyconfigs/c/Coot/Coot-0.9.8.92-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Mazur +# Research IT +# Biozentrum - University of Basel +# 0.9.8.92 update by Adam Huffman, University of Oxford + +easyblock = "Tarball" + +name = 'Coot' +version = '0.9.8.92' +versionsuffix = '-binary-Linux-x86_64-scientific-linux-7.6-python-gtk2' + +homepage = 'http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot' +description = """Coot is for macromolecular model building, model completion +and validation, particularly suitable for protein modelling using X-ray data.""" + +toolchain = SYSTEM + +source_urls = ['http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot/binaries/release'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['3babef48f5cea17c702347e41c51e7492192c685ef1c7d8b796569eb9f80d8d9'] + +sanity_check_paths = { + 'files': ["bin/coot"], + 'dirs': ["lib"] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2e0b17c5c7e --- /dev/null +++ b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'CopyKAT' +local_commit = 'b795ff7' +version = '1.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/navinlabcode/copykat' +description = """CopyKAT: Inference of genomic copy number and subclonal structure of human tumors from + high-throughput single cell RNAseq data""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/navinlabcode/copykat/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['8b4e39591ad81d146873694b8311607bfec88ad57df8daa9244b2e31904193b5'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..26a7de55e4b --- /dev/null +++ b/easybuild/easyconfigs/c/CopyKAT/CopyKAT-1.1.0-foss-2022b-R-4.2.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'CopyKAT' +local_commit = 'b795ff7' +version = '1.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/navinlabcode/copykat' +description = """CopyKAT: Inference of genomic copy number and subclonal structure of human tumors from + high-throughput single cell RNAseq data""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/navinlabcode/copykat/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['8b4e39591ad81d146873694b8311607bfec88ad57df8daa9244b2e31904193b5'] + +dependencies = [ + ('R', '4.2.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Coreutils/Coreutils-9.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4a4de74ff38 --- /dev/null +++ b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.0-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = "Coreutils" +version = "9.0" + +homepage = 'https://www.gnu.org/software/coreutils/' +description = """The GNU Core Utilities are the basic file, shell and text +manipulation utilities of the GNU operating system. These are +the core utilities which are expected to exist on every +operating system. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/sort', 'bin/echo', 'bin/du', 'bin/date', 'bin/true'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7279f966bb8 --- /dev/null +++ b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = "Coreutils" +version = "9.1" + +homepage = 'https://www.gnu.org/software/coreutils/' +description = """The GNU Core Utilities are the basic file, shell and text +manipulation utilities of the GNU operating system. These are +the core utilities which are expected to exist on every +operating system. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +patches = ['Coreutils-9.1_avoid-syntax-error-on-glibc.patch'] +checksums = [ + {'coreutils-9.1.tar.xz': '61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423'}, + {'Coreutils-9.1_avoid-syntax-error-on-glibc.patch': + '57d081aaef10c65f34798475821e75352e57cc2248384a7f82e0960234a6b9d6'}, +] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/sort', 'bin/echo', 'bin/du', 'bin/date', 'bin/true'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..52a1be553ba --- /dev/null +++ b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = "Coreutils" +version = "9.1" + +homepage = 'https://www.gnu.org/software/coreutils/' +description = """The GNU Core Utilities are the basic file, shell and text +manipulation utilities of the GNU operating system. These are +the core utilities which are expected to exist on every +operating system. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +patches = ['Coreutils-9.1_avoid-syntax-error-on-glibc.patch'] +checksums = [ + {'coreutils-9.1.tar.xz': '61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423'}, + {'Coreutils-9.1_avoid-syntax-error-on-glibc.patch': + '57d081aaef10c65f34798475821e75352e57cc2248384a7f82e0960234a6b9d6'}, +] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/sort', 'bin/echo', 'bin/du', 'bin/date', 'bin/true'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1_avoid-syntax-error-on-glibc.patch b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1_avoid-syntax-error-on-glibc.patch new file mode 100644 index 00000000000..9a0cf753d29 --- /dev/null +++ b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.1_avoid-syntax-error-on-glibc.patch @@ -0,0 +1,43 @@ +From 84863a1c4dc8cca8fb0f6f670f67779cdd2d543b Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Sat, 30 Apr 2022 14:09:00 +0200 +Subject: string: Avoid syntax error on glibc systems with GCC 11. + +Reported by Tom Tromey in + +and by Satadru Pramanik in +. + +* lib/string.in.h (strndup): Don't rededeclare strndup if it is defined +as a macro. +--- + ChangeLog | 10 ++++++++++ + lib/string.in.h | 4 ++-- + 2 files changed, 12 insertions(+), 2 deletions(-) + + stdlib: Fix error in C++ mode on glibc systems (regr. 2022-04-13). +diff --git a/lib/string.in.h b/lib/string.in.h +index b6840fa..33160b2 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -583,7 +583,7 @@ _GL_FUNCDECL_RPL (strndup, char *, + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); + # else +-# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11 ++# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) +@@ -593,7 +593,7 @@ _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); + # endif + _GL_CXXALIASWARN (strndup); + #else +-# if __GNUC__ >= 11 ++# if __GNUC__ >= 11 && !defined strndup + /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) +-- +cgit v1.1 + diff --git a/easybuild/easyconfigs/c/Coreutils/Coreutils-9.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..60e5009dc91 --- /dev/null +++ b/easybuild/easyconfigs/c/Coreutils/Coreutils-9.5-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = "Coreutils" +version = "9.5" + +homepage = 'https://www.gnu.org/software/coreutils/' +description = """The GNU Core Utilities are the basic file, shell and text +manipulation utilities of the GNU operating system. These are +the core utilities which are expected to exist on every +operating system. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] + +checksums = ['cd328edeac92f6a665de9f323c93b712af1858bc2e0d88f3f7100469470a1b8a'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ['bin/sort', 'bin/echo', 'bin/du', 'bin/date', 'bin/true'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..97be8af13e4 --- /dev/null +++ b/easybuild/easyconfigs/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'CppHeaderParser' +version = '2.7.4' + +homepage = 'https://senexcanis.com/open-source/cppheaderparser' +description = """CppHeaderParser is a pure python module that will parse C++ +header files and generate a data structure representing the class.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +dependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['382b30416d95b0a5e8502b214810dcac2a56432917e2651447d3abe253e3cc42'], + }), +] + +fix_python_shebang_for = [ + 'lib/python%(pyshortver)s/site-packages/CppHeaderParser/*.py', + 'lib/python%(pyshortver)s/site-packages/CppHeaderParser/examples/*.py', +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..61e5d8e491f --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.2.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': '10.2.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.35'), +] + +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/CppUnit/CppUnit-1.15.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..853d8661541 --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-10.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': '10.3.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +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/CppUnit/CppUnit-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4fcb8d0cae6 --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-11.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': '11.3.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.38'), +] + +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/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..404431b947f --- /dev/null +++ b/easybuild/easyconfigs/c/CppUnit/CppUnit-1.15.1-GCCcore-12.2.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.2.0'} + +source_urls = ['https://dev-www.libreoffice.org/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89c5c6665337f56fd2db36bc3805a5619709d51fb136e51937072f63fcc717a7'] + +builddependencies = [ + ('binutils', '2.39'), +] + +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/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/Critic2/Critic2-1.2-foss-2023a.eb b/easybuild/easyconfigs/c/Critic2/Critic2-1.2-foss-2023a.eb new file mode 100644 index 00000000000..9d1605b7366 --- /dev/null +++ b/easybuild/easyconfigs/c/Critic2/Critic2-1.2-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'Critic2' +version = '1.2' + +homepage = 'https://aoterodelaroza.github.io/critic2/' +description = """Critic2 is a program for the analysis of quantum mechanical +calculation results in molecules and periodic solids.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'extra_fflags': '-ffree-line-length-none'} + +source_urls = ['https://github.com/aoterodelaroza/critic2/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b59ecffd83405dbcc4b5d157d4a94bf2756916f72e83e09a94d277d54d0f2225'] + +configopts = '-DLIBCINT_INCLUDE_DIRS=$EBROOTLIBCINT/include/ ' +configopts += '-DLIBCINT_LIBRARY=$EBROOTLIBCINT/lib64/libcint.so ' + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('libxc', '6.2.2'), + ('libcint', '5.4.0'), + ('libreadline', '8.2'), +] + +sanity_check_paths = { + 'files': ["bin/critic2"], + 'dirs': ["bin"], +} + +sanity_check_commands = ['critic2 -h'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/Crumble/Crumble-0.8.3-GCC-11.2.0.eb b/easybuild/easyconfigs/c/Crumble/Crumble-0.8.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..738c6c1fff6 --- /dev/null +++ b/easybuild/easyconfigs/c/Crumble/Crumble-0.8.3-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'Crumble' +version = '0.8.3' + +homepage = 'https://github.com/jkbonfield/crumble' +description = """Exploration of controlled loss of quality values for compressing CRAM files""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'jkbonfield' +source_urls = ['https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b1ab503f4c98a83e2c81fec4cf8d951c80957ae05b6a6a19b59ece6caf490c01'] + +dependencies = [ + ('HTSlib', '1.14'), +] + +sanity_check_commands = ['crumble -h'] + +sanity_check_paths = { + 'files': ['bin/crumble'], + 'dirs': ['bin', 'include/crumble'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-foss-2019a.eb b/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-foss-2019a.eb new file mode 100644 index 00000000000..64d2a0bc9d1 --- /dev/null +++ b/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-foss-2019a.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'CrystFEL' +version = '0.8.0' + +homepage = 'http://www.desy.de/~twhite/crystfel/' +description = """CrystFEL is a suite of programs for processing diffraction data acquired "serially" in a "snapshot" +manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser +source.""" + +toolchain = {'name': 'foss', 'version': '2019a'} + +source_urls = ['http://www.desy.de/~twhite/crystfel/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6139b818079a16aa4da90344d4f413810e741c321013a1d6980c01f5d79c7b3a'] + +builddependencies = [ + ('CMake', '3.13.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('HDF5', '1.10.5'), + ('GSL', '2.5'), + ('LibTIFF', '4.0.10'), + ('ncurses', '6.1'), + ('GLib', '2.60.1'), + ('GTK+', '3.24.8'), + ('cairo', '1.16.0'), + ('Gdk-Pixbuf', '2.38.1'), + ('FFTW', '3.3.8'), + ('util-linux', '2.33'), + ('zlib', '1.2.11'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib64/libcrystfel.%s' % SHLIB_EXT] + + ['bin/' + b for b in ['ambigator', 'cell_explorer', 'check_hkl', 'compare_hkl', 'geoptimiser', + 'get_hkl', 'hdfsee', 'indexamajig', 'list_events', 'make_pixelmap', 'partialator', + 'partial_sim', 'pattern_sim', 'process_hkl', 'render_hkl', 'whirligig']], + 'dirs': ['share/doc/crystfel/scripts/'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-intel-2019a.eb b/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-intel-2019a.eb new file mode 100644 index 00000000000..a0ae2b7bb56 --- /dev/null +++ b/easybuild/easyconfigs/c/CrystFEL/CrystFEL-0.8.0-intel-2019a.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'CrystFEL' +version = '0.8.0' + +homepage = 'http://www.desy.de/~twhite/crystfel/' +description = """CrystFEL is a suite of programs for processing diffraction data acquired "serially" in a "snapshot" +manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser +source.""" + +toolchain = {'name': 'intel', 'version': '2019a'} + +source_urls = ['http://www.desy.de/~twhite/crystfel/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6139b818079a16aa4da90344d4f413810e741c321013a1d6980c01f5d79c7b3a'] + +builddependencies = [ + ('CMake', '3.13.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('HDF5', '1.10.5'), + ('GSL', '2.5'), + ('LibTIFF', '4.0.10'), + ('ncurses', '6.1'), + ('GLib', '2.60.1'), + ('GTK+', '3.24.8'), + ('cairo', '1.16.0'), + ('Gdk-Pixbuf', '2.38.1'), + ('FFTW', '3.3.8'), + ('util-linux', '2.33'), + ('zlib', '1.2.11'), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib64/libcrystfel.%s' % SHLIB_EXT] + + ['bin/' + b for b in ['ambigator', 'cell_explorer', 'check_hkl', 'compare_hkl', 'geoptimiser', + 'get_hkl', 'hdfsee', 'indexamajig', 'list_events', 'make_pixelmap', 'partialator', + 'partial_sim', 'pattern_sim', 'process_hkl', 'render_hkl', 'whirligig']], + 'dirs': ['share/doc/crystfel/scripts/'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1-fosscuda-2019b.eb b/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1-fosscuda-2019b.eb new file mode 100644 index 00000000000..65f0a8979dc --- /dev/null +++ b/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1-fosscuda-2019b.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'CuCLARK' +version = '1.1' + +homepage = 'https://github.com/Funatiq/cuclark' +description = "Metagenomic classifier for CUDA-enabled GPUs" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +source_urls = ['https://github.com/Funatiq/cuclark/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['CuCLARK-%(version)s_fix-shfl.patch'] +checksums = [ + 'fd27082aa851f43ac65d8d57918e0c928eab7941c4d2e058993b9fbfdaa4d060', # v1.1.tar.gz + 'f2dc781168613395ed8803a37ab635d438e68d4e2e6569d5078e9fd2a92a9b66', # CuCLARK-1.1_fix-shfl.patch +] + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS" ' +# can't use compute_70, must use compute_60 arch because deprecated __ballot() is used +buildopts += 'NVCCFLAGS="-gencode arch=compute_60,code=sm_70 -O2"' + +local_binaries = ['cuCLARK', 'cuCLARK-l', 'getAccssnTaxID', 'getfilesToTaxNodes', 'getTargetsDef'] +local_scripts = ['classify_metagenome.sh', 'clean.sh', 'download_data.sh', 'download_taxondata.sh', + 'make_metadata.sh', 'resetCustomDB.sh', 'updateTaxonomy.sh', 'set_targets.sh'] + +files_to_copy = [(['exe/*'] + local_scripts, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries + local_scripts], + 'dirs': [], +} + +sanity_check_commands = ["cuCLARK --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1_fix-shfl.patch b/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1_fix-shfl.patch new file mode 100644 index 00000000000..00e6899dd95 --- /dev/null +++ b/easybuild/easyconfigs/c/CuCLARK/CuCLARK-1.1_fix-shfl.patch @@ -0,0 +1,15 @@ +replace use of deprecated/no longer supported in recent CUDA compute capabilities (7.0 & up) __shfl with __shfl_sync +see also https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#warp-shuffle-functions + +author: Kenneth Hoste (HPC-UGent) +--- cuclark-1.1/src/CuClarkDB.cu.orig 2017-01-04 10:35:20.000000000 +0100 ++++ cuclark-1.1/src/CuClarkDB.cu 2019-12-09 17:02:51.982293942 +0100 +@@ -1218,7 +1218,7 @@ + #endif + sharedResultRow[0+wid*(pitch/sizeof(RESULTS))] = total; + } +- total = __shfl(total, warpSize-1); // get total from last lane ++ total = __shfl_sync(0xFFFFFFFF, total, warpSize-1); // get total from last lane + } + + diff --git a/easybuild/easyconfigs/c/CuPy/CuPy-11.4.0-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/CuPy/CuPy-11.4.0-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..12a85d600f5 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/CuPy-11.4.0-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,70 @@ +easyblock = 'PythonBundle' + +name = 'CuPy' +version = '11.4.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': '2021b'} + +builddependencies = [ + ('pytest', '7.2.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('cuTENSOR', '1.6.1.5', versionsuffix, SYSTEM), + # Adding cuSPARSELt currently makes the build fail. Keeping it around for later versions to pick up. + # ('cuSPARSELt', '0.3.0.3', versionsuffix, SYSTEM), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +# A bunch of the tests are failing or are just having problems. +_skip_tests = [ + 'tests/cupyx_tests/scipy_tests', + 'tests/cupyx_tests/distributed_tests', + 'tests/cupyx_tests/tools_tests', + 'tests/example_tests', + 'tests/cupy_tests/testing_tests/test_parameterized.py', + 'tests/cupy_tests/fft_tests/test_fft.py', +] +_ignore_list = ' --ignore='.join(_skip_tests) + +_deselect_tests = [ + 'tests/cupy_tests/core_tests/test_carray.py::TestCArray32BitBoundary_param_', + # float16 has too low precision for these tests as they are written + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/17526#issuecomment-1470843170 for details. + 'tests/cupy_tests/linalg_tests/test_product.py::TestProduct', +] +_deselect_list = ' --deselect='.join(_deselect_tests) + +exts_list = [ + ('fastrlock', '0.5', { + 'checksums': ['9ae1a31f6e069b5f0f28ba63c594d0c952065de0a375f7b491d21ebaccc5166f'], + }), + ('cupy', version, { + # Must run tests here since the required version of pytest is a builddep + # Note! test_cudnn and some others will likely fail on T4 GPUs due to out of memory. + 'runtest': 'export CUPY_TEST_GPU_LIMIT=1 CUPY_CACHE_DIR="%%(builddir)s" && ' + 'pytest --ignore=%s --deselect=%s tests' % (_ignore_list, _deselect_list), + 'testinstall': True, + 'checksums': ['03d52b2626e02a3a2b46d714c1cd03e702c8fe33915fcca6ed8de5c539964f49'], + }), +] + +sanity_check_commands = [ + "python -c 'import cupy'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/CuPy/CuPy-12.1.0-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/c/CuPy/CuPy-12.1.0-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..fe28564b8e2 --- /dev/null +++ b/easybuild/easyconfigs/c/CuPy/CuPy-12.1.0-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,70 @@ +easyblock = 'PythonBundle' + +name = 'CuPy' +version = '12.1.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': '2022b'} + +builddependencies = [ + ('hypothesis', '6.68.2'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('CUDA', '12.0.0', '', SYSTEM), + ('cuDNN', '8.8.0.121', versionsuffix, SYSTEM), + ('NCCL', '2.16.2', versionsuffix), + ('cuTENSOR', '1.7.0.1', versionsuffix, SYSTEM), + # Adding cuSPARSELt currently makes the build fail. Keeping it around for later versions to pick up. + # ('cuSPARSELt', '0.3.0.3', versionsuffix, SYSTEM), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +# A bunch of the tests are failing or are just having problems. +_skip_tests = [ + 'tests/cupyx_tests/scipy_tests', + 'tests/cupyx_tests/distributed_tests', + 'tests/cupyx_tests/tools_tests', + 'tests/example_tests', + 'tests/cupy_tests/testing_tests/test_parameterized.py', + 'tests/cupy_tests/fft_tests/test_fft.py', +] +_ignore_list = ' --ignore='.join(_skip_tests) + +_deselect_tests = [ + 'tests/cupy_tests/core_tests/test_carray.py::TestCArray32BitBoundary_param_', + # float16 has too low precision for these tests as they are written + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/17526#issuecomment-1470843170 for details. + 'tests/cupy_tests/linalg_tests/test_product.py::TestProduct', +] +_deselect_list = ' --deselect='.join(_deselect_tests) + +exts_list = [ + ('fastrlock', '0.8.1', { + 'checksums': ['8a5f2f00021c4ac72e4dab910dc1863c0e008a2e7fb5c843933ae9bcfc3d0802'], + }), + ('cupy', version, { + # Must run tests here since the required version of pytest is a builddep + # Note! test_cudnn and some others will likely fail on T4 GPUs due to out of memory. + 'runtest': 'export CUPY_TEST_GPU_LIMIT=1 CUPY_CACHE_DIR="%%(builddir)s" && ' + 'pytest --ignore=%s --deselect=%s tests' % (_ignore_list, _deselect_list), + 'testinstall': True, + 'checksums': ['f6d31989cdb2d96581da12822e28b102f29e254427195c2017eac327869b7320'], + }), +] + +sanity_check_commands = [ + "python -c 'import cupy'", +] + +sanity_pip_check = True + +moduleclass = 'lib' 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-8.5.0-fosscuda-2020b.eb b/easybuild/easyconfigs/c/CuPy/CuPy-8.5.0-fosscuda-2020b.eb index 498590b96ea..dddce517cbc 100644 --- a/easybuild/easyconfigs/c/CuPy/CuPy-8.5.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/c/CuPy/CuPy-8.5.0-fosscuda-2020b.eb @@ -13,9 +13,9 @@ builddependencies = [('Cython', '0.29.22')] dependencies = [ ('Python', '3.8.6'), ('SciPy-bundle', '2020.11'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), - ('cuTENSOR', '1.2.2.5', '-CUDA-%(cudaver)s', True), + ('cuTENSOR', '1.2.2.5', '-CUDA-%(cudaver)s', SYSTEM), ] use_pip = True @@ -24,7 +24,7 @@ exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} postinstallcmds = [ # req for sanity check on build nodes without libcuda.so. # will be removed my patched __init__.py at sanity check import. - 'cp $EBROOTCUDA/./targets/x86_64-linux/lib/stubs/libcuda.* %(installdir)s/lib && ls %(installdir)s/lib' + 'cp $EBROOTCUDA/./targets/*-linux/lib/stubs/libcuda.* %(installdir)s/lib && ls %(installdir)s/lib' ] exts_list = [ ('fastrlock', '0.5', { 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/CubeGUI/CubeGUI-4.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..96ae02657f9 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.6-GCCcore-10.3.0.eb @@ -0,0 +1,62 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeGUI' +version = '4.6' + +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 graphical report explorer. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['CubeGUI-4.6_qtlibs_symlink_realpath.patch'] +checksums = [ + '1871c6736121d94a22314cb5daa8f3cbb978b58bfe54f677c4c9c9693757d0c5', # cubegui-4.6.tar.gz + '0b382346251b82792393e44103ddb44f9b1665dd3c652670171a0833984e8987', # CubeGUI-4.6_qtlibs_symlink_realpath.patch +] + +preconfigopts = 'autoreconf && autoreconf build-frontend/ && ' + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.36.1'), + ('Autotools', '20210128'), + ('CubeLib', '4.6'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +configopts = [ + "--with-qt=$EBROOTQT5" +] + +sanity_check_paths = { + 'files': ['bin/cube', 'bin/cubegui-config', + 'lib/libcube4gui.a', 'lib/libcube4gui.%s' % SHLIB_EXT], + 'dirs': ['include/cubegui', 'lib/cube-plugins'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.6_qtlibs_symlink_realpath.patch b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.6_qtlibs_symlink_realpath.patch new file mode 100644 index 00000000000..b8181ef7e74 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.6_qtlibs_symlink_realpath.patch @@ -0,0 +1,16 @@ +# Author: Satish Kamath (email: satishs.kamath@gmail.com) +# The path may be a symbolic link to the actual paths on different nodes and the paths generated by qmake are the actual paths which are textually different. +# The original code in the patch tries to manipulate the qtlib paths generated by qmake (the actual paths) using the symlink path (in $LIBPATH) +# which results in wrong library paths for QT in the makefile. This has been remedied using readlink. +diff -Nru cubegui-4.6_orig/build-config/m4/autotroll.m4 cubegui-4.6/build-config/m4/autotroll.m4 +--- cubegui-4.6_orig/build-config/m4/autotroll.m4 2021-08-06 13:03:13.758365694 +0200 ++++ cubegui-4.6/build-config/m4/autotroll.m4 2021-08-06 13:06:18.972956958 +0200 +@@ -741,7 +741,7 @@ + ]) + AS_IF([ test "x$LIBPATH" != "x" ], # perform correction only if one has found .so libraries instead of -lXXXX + [ +- at_cv_env_QT_LIBS="-L$LIBPATH "`echo $at_cv_env_QT_LIBS | sed "s,.so , ,g;s,.a , ,g;s,$LIBPATH/lib,-l,g"` ++ at_cv_env_QT_LIBS="-L$LIBPATH "`echo $at_cv_env_QT_LIBS | sed "s,.so , ,g;s,.a , ,g;s,$(readlink -m $LIBPATH)/lib,-l,g"` + echo "Fixed libraries are: $at_cv_env_QT_LIBS" + ]) + AC_SUBST([QT_LIBS], [$at_cv_env_QT_LIBS]) diff --git a/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..516af3a8db5 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeGUI/CubeGUI-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeGUI' +version = '4.8' + +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 graphical report explorer. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1df8fcaea95323e7eaf0cc010784a41243532c2123a27ce93cb7e3241557ff76'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Qt5', '5.15.5'), + ('CubeLib', '4.8'), +] + +configopts = [ + '--with-qt=$EBROOTQT5/bin ', +] + +sanity_check_paths = { + 'files': ['bin/cube', 'bin/cubegui-config', + 'lib/libcube4gui.a', 'lib/libcube4gui.%s' % SHLIB_EXT], + 'dirs': ['include/cubegui', 'lib/cube-plugins'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/c/CubeLib/CubeLib-4.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2e0efc2fe08 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.6-GCCcore-10.3.0.eb @@ -0,0 +1,56 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeLib' +version = '4.6' + +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': '10.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '36eaffa7688db8b9304c9e48ca5dc4edc2cb66538aaf48657b9b5ccd7979385b', # cubelib-4.4.4.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +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/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ef4602a8417 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeLib' +version = '4.8' + +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': '11.2.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +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/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a9337f666c2 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeLib' +version = '4.8' + +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': '11.3.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['171c93ac5afd6bc74c50a9a58efdaf8589ff5cc1e5bd773ebdfb2347b77e2f68'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/CubeLib/CubeLib-4.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d0f2aec8541 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeLib' +version = '4.8.1' + +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': '12.2.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e4d974248963edab48c5d0fc5831146d391b0ae4632cccafe840bf5f12cd80a9'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/CubeLib/CubeLib-4.8.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a0851bdeed2 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.1-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeLib' +version = '4.8.1' + +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': '12.3.0'} +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e4d974248963edab48c5d0fc5831146d391b0ae4632cccafe840bf5f12cd80a9'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +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/CubeLib/CubeLib-4.8.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5d1acddf2f6 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = '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': '12.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.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/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/CubeLib/CubeLib-4.8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6b2414be446 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeLib/CubeLib-4.8.2-GCCcore-13.3.0.eb @@ -0,0 +1,52 @@ +# Copyright 2019-2024 Juelich Supercomputing Centre, Germany +# Copyright 2023-2024 TU Dresden, Germany +# Authors:: Markus Geimer +# Alexander Grund +# Jan André Reuter +# 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.3.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.42'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('zlib', '1.3.1'), +] + +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.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b75e6eab177 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.6-GCCcore-10.3.0.eb @@ -0,0 +1,55 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeWriter' +version = '4.6' + +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': '10.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = [ + '99fe58ce7ab13061ebfbc360aedaecc28099a30636c5269a42c0cbaf57149aa8', # cubew-4.6.tar.gz +] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +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/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..01190debef1 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeWriter' +version = '4.8' + +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': '11.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +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/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aea69135267 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeWriter' +version = '4.8' + +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': '11.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['73c7f9e9681ee45d71943b66c01cfe675b426e4816e751ed2e0b670563ca4cf3'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/CubeWriter/CubeWriter-4.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0cfe13dabdc --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeWriter' +version = '4.8.1' + +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': '12.2.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['42cbd743d87c16e805c8e28e79292ab33de259f2cfba46f2682cb35c1bc032d6'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/CubeWriter/CubeWriter-4.8.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1bad3eecd60 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.1-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = 'CubeWriter' +version = '4.8.1' + +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': '12.3.0'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/cube/%(version_major_minor)s/dist'] +sources = ['cubew-%(version)s.tar.gz'] +checksums = ['42cbd743d87c16e805c8e28e79292ab33de259f2cfba46f2682cb35c1bc032d6'] + +builddependencies = [ + # use same binutils version that was used when building GCCcore + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +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/CubeWriter/CubeWriter-4.8.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..28a34b2c8a0 --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2019 Juelich Supercomputing Centre, Germany +# Authors:: 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 = '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': '12.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.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +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/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/CubeWriter/CubeWriter-4.8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e030f21ba6c --- /dev/null +++ b/easybuild/easyconfigs/c/CubeWriter/CubeWriter-4.8.2-GCCcore-13.3.0.eb @@ -0,0 +1,52 @@ +# Copyright:: Copyright 2019-2024 Juelich Supercomputing Centre, Germany +# Copyright 2023-2024 TU Dresden, Germany +# Authors:: Markus Geimer +# Alexander Grund +# Jan André Reuter +# 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.3.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.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), +] + +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/Cufflinks/Cufflinks-2.2.1-foss-2018b.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2018b.eb index 744472a8a39..c3ad4a5a02a 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2018b.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-foss-2018b.eb @@ -24,7 +24,7 @@ checksums = [ ] builddependencies = [ - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('SAMtools', '0.1.20'), ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-gompi-2019b.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-gompi-2019b.eb index 81654b4596c..5ec63582c06 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-gompi-2019b.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-gompi-2019b.eb @@ -24,7 +24,7 @@ checksums = [ ] builddependencies = [ - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('SAMtools', '0.1.20'), ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2017b.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2017b.eb index 89252c31854..c322edc64a1 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2017b.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2017b.eb @@ -15,7 +15,7 @@ checksums = [ '9199390a11376ffba0583741752faca277c82ce3ab665a66ba8dc5991c45088f', # Cufflinks-2.2.1_fix-boost-inc.patch ] -builddependencies = [('Eigen', '3.3.4', '', True)] +builddependencies = [('Eigen', '3.3.4', '', SYSTEM)] dependencies = [ ('Boost', '1.65.1'), ('SAMtools', '0.1.20'), diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2018a.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2018a.eb index 11a20f70733..94cc688d081 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2018a.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-2.2.1-intel-2018a.eb @@ -16,7 +16,7 @@ checksums = [ ] builddependencies = [ - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('SAMtools', '0.1.20'), ] dependencies = [ diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-11.2.0.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-11.2.0.eb new file mode 100644 index 00000000000..98ab2c0bfa1 --- /dev/null +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +name = 'Cufflinks' +version = '20190706' +local_commit = 'dc3b0cb' + +homepage = 'http://cole-trapnell-lab.github.io/%(namelower)s/' +description = "Transcript assembly, differential expression, and differential regulation for RNA-Seq" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'cole-trapnell-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['444c632083a473fe4fd99ff189cef5bbd95daee0912e8eefe79534bf225fbcb6'] + +builddependencies = [ + ('Eigen', '3.3.9'), + ('Autotools', '20210726'), + ('SAMtools', '1.14'), + ('Boost', '1.75.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('HTSlib', '1.14'), +] + +preconfigopts = 'autoreconf -i && export LIBS="${LIBS} -lhts" && export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--with-boost=${EBROOTBOOST} --with-bam=${EBROOTSAMTOOLS}' + +buildopts = "BOOST_FILESYSTEM_LIB=$EBROOTBOOST/lib/libboost_filesystem.a " +buildopts += "BOOST_SERIALIZATION_LIB=$EBROOTBOOST/lib/libboost_serialization.a " +buildopts += "BOOST_SYSTEM_LIB=$EBROOTBOOST/lib/libboost_system.a " +buildopts += "BOOST_THREAD_LIB=$EBROOTBOOST/lib/libboost_thread.a " + +sanity_check_paths = { + 'files': ['bin/cufflinks'], + 'dirs': [] +} + +sanity_check_commands = ["cufflinks 2>&1 | grep 'Usage:.* cufflinks'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-12.3.0.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-12.3.0.eb new file mode 100644 index 00000000000..3f087e541cb --- /dev/null +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-GCC-12.3.0.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +name = 'Cufflinks' +version = '20190706' +local_commit = 'dc3b0cb' + +homepage = 'http://cole-trapnell-lab.github.io/%(namelower)s/' +description = "Transcript assembly, differential expression, and differential regulation for RNA-Seq" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'cole-trapnell-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['Cufflinks-20190706_fix-automake.patch'] +checksums = [ + {'Cufflinks-20190706.tar.gz': '444c632083a473fe4fd99ff189cef5bbd95daee0912e8eefe79534bf225fbcb6'}, + {'Cufflinks-20190706_fix-automake.patch': '4eb2eb9e8e549eb6c2e17493801c36554dbfb009d9af86e28195e898a350b3a6'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('Autotools', '20220317'), + ('SAMtools', '1.18'), + ('Boost', '1.75.0'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('HTSlib', '1.18'), +] + +preconfigopts = 'autoreconf -i && export LIBS="${LIBS} -lhts" && export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--with-boost=${EBROOTBOOST} --with-bam=${EBROOTSAMTOOLS}' + +buildopts = "BOOST_FILESYSTEM_LIB=$EBROOTBOOST/lib/libboost_filesystem.a " +buildopts += "BOOST_SERIALIZATION_LIB=$EBROOTBOOST/lib/libboost_serialization.a " +buildopts += "BOOST_SYSTEM_LIB=$EBROOTBOOST/lib/libboost_system.a " +buildopts += "BOOST_THREAD_LIB=$EBROOTBOOST/lib/libboost_thread.a " + +sanity_check_paths = { + 'files': ['bin/cufflinks'], + 'dirs': [] +} + +sanity_check_commands = ["cufflinks 2>&1 | grep 'Usage:.* cufflinks'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-gompi-2019a.eb b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-gompi-2019a.eb index fb65a457aae..881426fe576 100644 --- a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-gompi-2019a.eb +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706-gompi-2019a.eb @@ -16,7 +16,7 @@ sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_ checksums = ['444c632083a473fe4fd99ff189cef5bbd95daee0912e8eefe79534bf225fbcb6'] builddependencies = [ - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('Autotools', '20180311'), ('SAMtools', '1.9'), ] diff --git a/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706_fix-automake.patch b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706_fix-automake.patch new file mode 100644 index 00000000000..332b4c724e4 --- /dev/null +++ b/easybuild/easyconfigs/c/Cufflinks/Cufflinks-20190706_fix-automake.patch @@ -0,0 +1,14 @@ +fix for: +error: AM_INIT_AUTOMAKE expanded multiple times +author: Kenneth Hoste (HPC-UGent) +--- cufflinks-dc3b0cb72a4ac2b6bbc887099e71fc0c21e107b7/configure.ac.orig 2019-07-06 18:28:01.000000000 +0200 ++++ cufflinks-dc3b0cb72a4ac2b6bbc887099e71fc0c21e107b7/configure.ac 2024-09-27 13:39:13.512597490 +0200 +@@ -14,7 +14,7 @@ + AC_CONFIG_SRCDIR([config.h.in]) + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR([build-aux]) +-AM_INIT_AUTOMAKE ++#AM_INIT_AUTOMAKE + + #AM_PATH_CPPUNIT(1.10.2) + diff --git a/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c60a84380db --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-0.29.33-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '0.29.33' + +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'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sources = [SOURCE_TAR_GZ] +checksums = ['5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a'] + +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.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..194048d611d --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.10' + +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': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +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.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c9e419d570a --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.10-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0.10' + +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': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.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.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/Cython/Cython-3.0.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ac694119ebc --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0.8-GCCcore-12.3.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.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6'] + +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.0a5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/Cython/Cython-3.0a5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..08933e60927 --- /dev/null +++ b/easybuild/easyconfigs/c/Cython/Cython-3.0a5-GCCcore-10.2.0.eb @@ -0,0 +1,54 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 The Cyprus Institute +# Authors:: Andreas Panteli , +# Thekla Loizou , +# George Tsouloupas +# License:: MIT/GPL +# +# Updated: Pavel Grochal (INUITS) +## +# Thomas Hoffmann, EMBL Heidelberg: Adapted to v0.29.22, GCCcore 10.2.0 +# 2021/03 +easyblock = 'PythonPackage' + +name = 'Cython' +version = '3.0a5' + +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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['22060abe55a55a59096982f3e81de2dc8f28c29917d20fa5182f49c4530e27ec'] + +builddependencies = [('binutils', '2.35')] + +# Can't use multi_dep because EBPYTHONPREFIXES are not loaded in order. +# This results in not beeing able to choose Cython version in multi_dep. +dependencies = [('Python', '3.8.6')] + +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/Cytoscape/Cytoscape-3.9.1-Java-11.eb b/easybuild/easyconfigs/c/Cytoscape/Cytoscape-3.9.1-Java-11.eb new file mode 100644 index 00000000000..3d967783b2c --- /dev/null +++ b/easybuild/easyconfigs/c/Cytoscape/Cytoscape-3.9.1-Java-11.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'Cytoscape' +version = '3.9.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://cytoscape.org/' +description = """Cytoscape is an open source software platform for visualizing + complex networks and integrating these with any type of attribute data. + A lot of Apps are available for various kinds of problem domains, + including bioinformatics, social network analysis, and semantic web.""" + +toolchain = SYSTEM + +_underscore_version = version.replace('.', '_') + +# https://github.com/cytoscape/cytoscape/releases/download/3.9.1/Cytoscape_3_9_1_unix.sh +source_urls = ['https://github.com/cytoscape/cytoscape/releases/download/3.9.1/'] +sources = ['%%(name)s_%s_unix.sh' % _underscore_version] + +checksums = ['0b20ac377dc01e6b0f7067104c2e463d8f834e50ee19dc302bb101dfcbc342a1'] + +dependencies = [ + ('Java', '11'), +] + +install_cmd = "./%%(name)s_%s_unix.sh -q -dir %%(installdir)s" % _underscore_version + +sanity_check_paths = { + 'files': ['cytoscape.sh', 'Cytoscape'], + 'dirs': ['framework', 'apps', 'sampleData'], +} + +sanity_check_commands = ["%(namelower)s.sh --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6b168c49490 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.17.2' + +homepage = 'https://c-ares.haxx.se' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://c-ares.haxx.se/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4803c844ce20ce510ef0eb83f8ea41fa24ecaae9d280c468c582d2bb25b3913d'] + +builddependencies = [('binutils', '2.35')] + +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/c-ares/c-ares-1.17.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8a1f5df0ed1 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.17.2-GCCcore-10.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.17.2' + +homepage = 'https://c-ares.haxx.se' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://c-ares.haxx.se/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4803c844ce20ce510ef0eb83f8ea41fa24ecaae9d280c468c582d2bb25b3913d'] + +builddependencies = [('binutils', '2.36.1')] + +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/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..895a03c1363 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.18.1' + +homepage = 'https://c-ares.org/' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'c-ares' +source_urls = [GITHUB_SOURCE] +sources = ['%s-%s.tar.gz' % (name.replace('-', ''), version.replace('.', '_'))] +checksums = ['414872549eec4e221b576693fdc9c9bce44ff794d0f1f06f2515b56a7f6ec9c9'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +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/c-ares/c-ares-1.18.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aacc900a81e --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.18.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.18.1' + +homepage = 'https://c-ares.org/' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'c-ares' +source_urls = [GITHUB_SOURCE] +sources = ['%s-%s.tar.gz' % (name.replace('-', ''), version.replace('.', '_'))] +checksums = ['414872549eec4e221b576693fdc9c9bce44ff794d0f1f06f2515b56a7f6ec9c9'] + +builddependencies = [ + ('binutils', '2.38'), + ('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/c-ares/c-ares-1.19.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/c-ares/c-ares-1.19.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..51111d72785 --- /dev/null +++ b/easybuild/easyconfigs/c/c-ares/c-ares-1.19.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'c-ares' +version = '1.19.1' + +homepage = 'https://c-ares.org/' +description = "c-ares is a C library for asynchronous DNS requests (including name resolves)" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'c-ares' +source_urls = [GITHUB_SOURCE] +sources = ['%s-%s.tar.gz' % (name.replace('-', ''), version.replace('.', '_'))] +checksums = ['9eadec0b34015941abdf3eb6aead694c8d96a192a792131186a7e0a86f2ad6d9'] + +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/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/cDNA_Cupcake/cDNA_Cupcake-24.2.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/c/cDNA_Cupcake/cDNA_Cupcake-24.2.0-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..b04f48e2a2d --- /dev/null +++ b/easybuild/easyconfigs/c/cDNA_Cupcake/cDNA_Cupcake-24.2.0-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,58 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v24.2.0 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'cDNA_Cupcake' +version = '24.2.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/Magdoll/cDNA_Cupcake' +description = """cDNA_Cupcake is a miscellaneous collection of Python and +R scripts used for analyzing sequencing data. +""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/Magdoll/cDNA_Cupcake/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9aa75ef3d00e9983772021dca3c5595df5ea23c39fb0004e4330e55edc782002'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('Biopython', '1.78', versionsuffix), + ('bx-python', '0.8.9', versionsuffix), + ('bcbio-gff', '0.6.6', versionsuffix), + ('scikit-learn', '0.23.1', versionsuffix), + ('Pysam', '0.16.0.1'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_pip_check = True +sanity_check_paths = { + # check for particular Cupcake ToFU scripts, + # https://github.com/Magdoll/cDNA_Cupcake/wiki/Cupcake-ToFU:-supporting-scripts-for-Iso-Seq-after-clustering-step + 'files': [ + 'bin/collapse_isoforms_by_sam.py', + 'bin/get_abundance_post_collapse.py', + 'bin/simple_stats_post_collapse.py' + ], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'collapse_isoforms_by_sam.py -h', + 'get_abundance_post_collapse.py -h', + 'simple_stats_post_collapse.py -h', +] + +options = {'modulename': 'cupcake'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cDNA_Cupcake/cDNA_Cupcake-26.0.0-foss-2021a.eb b/easybuild/easyconfigs/c/cDNA_Cupcake/cDNA_Cupcake-26.0.0-foss-2021a.eb new file mode 100644 index 00000000000..f088e26620f --- /dev/null +++ b/easybuild/easyconfigs/c/cDNA_Cupcake/cDNA_Cupcake-26.0.0-foss-2021a.eb @@ -0,0 +1,57 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v26.0.0 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'cDNA_Cupcake' +version = '26.0.0' + +homepage = 'https://github.com/Magdoll/cDNA_Cupcake' +description = """cDNA_Cupcake is a miscellaneous collection of Python and +R scripts used for analyzing sequencing data. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/Magdoll/cDNA_Cupcake/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb44ae28639c0841b3a3c85228379053bf80ee82a8dd6c260aac69c4f0d18458'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('bx-python', '0.8.11'), + ('bcbio-gff', '0.6.7'), + ('scikit-learn', '0.24.2'), + ('Pysam', '0.16.0.1'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_pip_check = True +sanity_check_paths = { + # check for particular Cupcake ToFU scripts, + # https://github.com/Magdoll/cDNA_Cupcake/wiki/Cupcake-ToFU:-supporting-scripts-for-Iso-Seq-after-clustering-step + 'files': [ + 'bin/collapse_isoforms_by_sam.py', + 'bin/get_abundance_post_collapse.py', + 'bin/simple_stats_post_collapse.py' + ], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'collapse_isoforms_by_sam.py -h', + 'get_abundance_post_collapse.py -h', + 'simple_stats_post_collapse.py -h', +] + +options = {'modulename': 'cupcake'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.49.1-GCCcore-5.4.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.49.1-GCCcore-5.4.0.eb index a4c5a87e6b9..34bc1da2fd4 100644 --- a/easybuild/easyconfigs/c/cURL/cURL-7.49.1-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/c/cURL/cURL-7.49.1-GCCcore-5.4.0.eb @@ -17,7 +17,7 @@ source_urls = ['http://curl.haxx.se/download/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['ff3e80c1ca6a068428726cd7dd19037a47cc538ce58ef61c59587191039b2ca6'] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.76.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.76.0-GCCcore-10.3.0.eb index 0c3b29d5863..27b19b6d9c6 100644 --- a/easybuild/easyconfigs/c/cURL/cURL-7.76.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/c/cURL/cURL-7.76.0-GCCcore-10.3.0.eb @@ -30,7 +30,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.11'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] configopts = '--with-zlib' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.78.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.78.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ad57d96beb2 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.78.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.78.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ed936c0b02c06d42cf84b39dd12bb14b62d77c7c4e875ade022280df5dcc81d7'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.83.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.83.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2813650a0d3 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.83.0-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.83.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0e64302a33d2fb79e0fc4e674260a22941e92ee2f11b894bf94d32b8f5531af'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.84.0-GCCcore-12.1.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.84.0-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..7ff88d2ae52 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.84.0-GCCcore-12.1.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.84.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3c6893d38d054d4e378267166858698899e9d87258e8ff1419d020c395384535'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4e108bdbc19 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '7.86.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dfdd39ba95e18847965cd3051ea6d22586609d9011d91df7bc5521288987a82'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..18bf937586b --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '8.0.1' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5fd29000a4089934f121eff456101f0a5d09e2a3e89da1d714adf06c4be887cb'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-13.1.0.eb b/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..10cd7fbe3f2 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-8.0.1-GCCcore-13.1.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '8.0.1' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5fd29000a4089934f121eff456101f0a5d09e2a3e89da1d714adf06c4be887cb'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-8.3.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cURL/cURL-8.3.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4b937590771 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-8.3.0-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '8.3.0' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d3a19aeea301085a56c32bc0f7d924a818a7893af253e41505d1e26d7db8e95a'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..02470220971 --- /dev/null +++ b/easybuild/easyconfigs/c/cURL/cURL-8.7.1-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'cURL' +version = '8.7.1' + +homepage = 'https://curl.haxx.se' + +description = """ + libcurl is a free and easy-to-use client-side URL transfer library, + supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, + LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. + libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP + form based upload, proxies, cookies, user+password authentication (Basic, + Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling + and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://curl.haxx.se/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f91249c87f68ea00cf27c44fdfa5a78423e41e71b7d408e5901a9896d905c495'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +configopts = '--with-zlib ' +configopts += '--with-ssl=$EBROOTOPENSSL ' + +modextravars = {'CURL_INCLUDES': '%(installdir)s/include'} + +sanity_check_paths = { + 'files': ['bin/curl', 'lib/libcurl.a', 'lib/libcurl.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/curl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.16.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.16.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e7f3d76f736 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.16.0-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.16.0' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('pixman', '0.40.0'), + ('expat', '2.4.1'), + ('GLib', '2.69.1'), + ('X11', '20210802'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-xlib-xcb " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6d0f9f552ef --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.17.4' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('pixman', '0.40.0'), + ('expat', '2.4.8'), + ('GLib', '2.72.1'), + ('X11', '20220504'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-xlib-xcb " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a9661b33bce --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.17.4-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'cairo' +version = '1.17.4' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('pixman', '0.42.2'), + ('expat', '2.4.9'), + ('GLib', '2.75.0'), + ('X11', '20221110'), +] + +# disable symbol lookup, which requires -lbfd, to avoid link issues with (non-PIC) libiberty.a provided by GCC +configopts = "--enable-symbol-lookup=no --enable-gobject=yes --enable-svg=yes --enable-tee=yes --enable-xlib-xcb " + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.17.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.17.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ec0a8d9382d --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.17.8-GCCcore-12.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + + +name = 'cairo' +version = '1.17.8' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['5b10c8892d1b58d70d3f0ba5b47863a061262fa56b9dc7944161f8c8b783bc64'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Ninja', '1.11.1'), + ('Meson', '1.1.1'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('freetype', '2.13.0'), + ('pixman', '0.42.2'), + ('expat', '2.5.0'), + ('GLib', '2.77.1'), + ('X11', '20230603'), +] + +configopts = "--default-library=both" # static and shared library + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e1033ed8ada --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + + +name = 'cairo' +version = '1.18.0' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Ninja', '1.11.1'), + ('Meson', '1.2.3'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), + ('libpng', '1.6.40'), + ('freetype', '2.13.2'), + ('pixman', '0.42.2'), + ('expat', '2.5.0'), + ('GLib', '2.78.1'), + ('X11', '20231019'), +] + +configopts = "--default-library=both" # static and shared library + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2622f010126 --- /dev/null +++ b/easybuild/easyconfigs/c/cairo/cairo-1.18.0-GCCcore-13.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + + +name = 'cairo' +version = '1.18.0' + +homepage = 'https://cairographics.org' +description = """Cairo is a 2D graphics library with support for multiple output devices. + Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, + PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [ + 'https://cairographics.org/releases/', + 'https://cairographics.org/snapshots/' +] +sources = [SOURCE_TAR_XZ] +checksums = ['243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Ninja', '1.12.1'), + ('Meson', '1.4.0'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.3.1'), + ('libpng', '1.6.43'), + ('freetype', '2.13.2'), + ('pixman', '0.43.4'), + ('expat', '2.6.2'), + ('GLib', '2.80.4'), + ('X11', '20240607'), +] + +configopts = "--default-library=both" # static and shared library + +sanity_check_paths = { + 'files': ['bin/cairo-trace', 'lib/cairo/libcairo-trace.%s' % SHLIB_EXT, 'lib/cairo/libcairo-trace.a', + 'lib/libcairo.a', 'lib/libcairo-gobject.a', 'lib/libcairo-script-interpreter.a', + 'lib/libcairo.%s' % SHLIB_EXT, 'lib/libcairo-gobject.%s' % SHLIB_EXT, + 'lib/libcairo-script-interpreter.%s' % SHLIB_EXT] + + ['include/cairo/cairo%s.h' % x for x in ['', '-deprecated', '-features', '-ft', '-gobject', '-pdf', '-ps', + '-script', '-script-interpreter', '-svg', '-version', '-xcb', + '-xlib', '-xlib-xrender']], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-11.3.0.eb b/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..972787a1a18 --- /dev/null +++ b/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# Updated to MesonNinja as the autogen.sh complained. +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MesonNinja' + +name = 'cairomm' +version = '1.16.2' + +homepage = 'http://cairographics.org' +description = "The Cairomm package provides a C++ interface to Cairo." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] +checksums = ['6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('Doxygen', '1.9.4'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('cairo', '1.17.4'), + ('libsigc++', '3.4.0'), + ('mm-common', '1.0.5'), + ('Boost', '1.79.0'), +] + +runtest = 'ninja test' + +sanity_check_paths = { + 'files': ['lib/libcairomm-1.16.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-12.3.0.eb b/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..286c56e1bbb --- /dev/null +++ b/easybuild/easyconfigs/c/cairomm/cairomm-1.16.2-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +# Updated to MesonNinja as the autogen.sh complained. +# Author: J. Sassmannshausen (Imperial College London) + +easyblock = 'MesonNinja' + +name = 'cairomm' +version = '1.16.2' + +homepage = 'http://cairographics.org' +description = "The Cairomm package provides a C++ interface to Cairo." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['http://cairographics.org/releases/'] +sources = [SOURCE_TAR_XZ] +checksums = ['6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Doxygen', '1.9.7'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('cairo', '1.17.8'), + ('libsigc++', '3.6.0'), + ('mm-common', '1.0.6'), + ('Boost', '1.82.0'), +] + +runtest = 'ninja test' + +sanity_check_paths = { + 'files': ['lib/libcairomm-1.16.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/canu/canu-1.8-GCCcore-8.2.0-Perl-5.28.1.eb b/easybuild/easyconfigs/c/canu/canu-1.8-GCCcore-8.2.0-Perl-5.28.1.eb index 5c98cf65e4e..5eb3e8890bb 100644 --- a/easybuild/easyconfigs/c/canu/canu-1.8-GCCcore-8.2.0-Perl-5.28.1.eb +++ b/easybuild/easyconfigs/c/canu/canu-1.8-GCCcore-8.2.0-Perl-5.28.1.eb @@ -16,7 +16,7 @@ checksums = ['30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4'] builddependencies = [('binutils', '2.31.1')] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Perl', '5.28.1'), ('gnuplot', '5.2.6'), ] diff --git a/easybuild/easyconfigs/c/canu/canu-1.8-foss-2017b-Perl-5.26.0.eb b/easybuild/easyconfigs/c/canu/canu-1.8-foss-2017b-Perl-5.26.0.eb index 31877e3e7dd..54dd03ba54b 100644 --- a/easybuild/easyconfigs/c/canu/canu-1.8-foss-2017b-Perl-5.26.0.eb +++ b/easybuild/easyconfigs/c/canu/canu-1.8-foss-2017b-Perl-5.26.0.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Perl', '5.26.0'), ('gnuplot', '5.2.2'), ('Boost', '1.65.1'), diff --git a/easybuild/easyconfigs/c/canu/canu-1.8-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/c/canu/canu-1.8-foss-2018b-Perl-5.28.0.eb index 1066c169c5e..114020eb165 100644 --- a/easybuild/easyconfigs/c/canu/canu-1.8-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/c/canu/canu-1.8-foss-2018b-Perl-5.28.0.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Perl', '5.28.0'), ('gnuplot', '5.2.5'), ('Boost', '1.67.0'), diff --git a/easybuild/easyconfigs/c/canu/canu-1.8-intel-2017b-Perl-5.26.0.eb b/easybuild/easyconfigs/c/canu/canu-1.8-intel-2017b-Perl-5.26.0.eb index e74e3dbe8b9..75b1d610731 100644 --- a/easybuild/easyconfigs/c/canu/canu-1.8-intel-2017b-Perl-5.26.0.eb +++ b/easybuild/easyconfigs/c/canu/canu-1.8-intel-2017b-Perl-5.26.0.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['30ecfe574166f54f79606038830f68927cf0efab33bdc3c6e43fd1448fa0b2e4'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Perl', '5.26.0'), ('gnuplot', '5.2.2'), ('Boost', '1.65.1'), diff --git a/easybuild/easyconfigs/c/canu/canu-1.9-GCCcore-8.3.0-Java-11.eb b/easybuild/easyconfigs/c/canu/canu-1.9-GCCcore-8.3.0-Java-11.eb index a1185d44d41..b9a96798841 100644 --- a/easybuild/easyconfigs/c/canu/canu-1.9-GCCcore-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/c/canu/canu-1.9-GCCcore-8.3.0-Java-11.eb @@ -16,7 +16,7 @@ checksums = ['6b086ab6086c050752166500378bc4b3b3543d4c617863e894d296171cee3385'] builddependencies = [('binutils', '2.32')] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Perl', '5.30.0'), ('gnuplot', '5.2.8'), ] diff --git a/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-10.2.0.eb index 7a7d3c59ec8..1a81cacc467 100644 --- a/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-10.2.0.eb @@ -19,7 +19,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Perl', '5.32.0'), ('gnuplot', '5.4.1'), ] diff --git a/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-9.3.0-Java-11.eb b/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-9.3.0-Java-11.eb index 990e0dcabec..8e5ee7b58b9 100644 --- a/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-9.3.0-Java-11.eb +++ b/easybuild/easyconfigs/c/canu/canu-2.1.1-GCCcore-9.3.0-Java-11.eb @@ -20,7 +20,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Perl', '5.30.2'), ('gnuplot', '5.2.8'), ] diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCC-12.2.0.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..89e36ac8b62 --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCC-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'canu' +version = '2.2' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s/'] +sources = ['canu-%(version)s.tar.xz'] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + # Makefile checks git version, before making (futile) attempt to update git submodules + ('git', '2.38.1', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.36.0'), + ('gnuplot', '5.4.6'), +] + +start_dir = 'src' + +files_to_copy = ['build/bin', 'build/lib', 'build/share', 'README*'] + +sanity_check_paths = { + 'files': ['bin/bogart', 'bin/canu', 'bin/meryl', 'bin/overlapPair', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb new file mode 100644 index 00000000000..441c3224e45 --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0-Java-11.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'canu' +version = '2.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'marbl' +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.32.1'), + ('gnuplot', '5.4.2'), +] + +skipsteps = ['configure', 'install'] + +start_dir = 'src' + +buildopts = 'TARGET_DIR=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/canu', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +modextrapaths = {'PERL5LIB': 'lib/site_perl'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1eff45bbc43 --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'canu' +version = '2.2' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s/'] +sources = ['canu-%(version)s.tar.xz'] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.36.1'), + # Makefile checks git version, before making (futile) attempt to update git submodules + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.32.1'), + ('gnuplot', '5.4.2'), +] + +start_dir = 'src' + +files_to_copy = ['build/bin', 'build/lib', 'build/share', 'README*'] + +sanity_check_paths = { + 'files': ['bin/bogart', 'bin/canu', 'bin/meryl', 'bin/overlapPair', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4d58483415e --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'canu' +version = '2.2' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s/'] +sources = ['canu-%(version)s.tar.xz'] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.37'), + # Makefile checks git version, before making (futile) attempt to update git submodules + ('git', '2.33.1', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.34.0'), + ('gnuplot', '5.4.2'), +] + +start_dir = 'src' + +files_to_copy = ['build/bin', 'build/lib', 'build/share', 'README*'] + +sanity_check_paths = { + 'files': ['bin/bogart', 'bin/canu', 'bin/meryl', 'bin/overlapPair', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2405338fec7 --- /dev/null +++ b/easybuild/easyconfigs/c/canu/canu-2.2-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'canu' +version = '2.2' + +homepage = 'https://canu.readthedocs.io' +description = "Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/marbl/canu/releases/download/v%(version)s/'] +sources = ['canu-%(version)s.tar.xz'] +checksums = ['e4d0c7b82149114f442ccd39e18f7fe2061c63b28d53700ad896e022b73b7404'] + +builddependencies = [ + ('binutils', '2.38'), + # Makefile checks git version, before making (futile) attempt to update git submodules + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.34.1'), + ('gnuplot', '5.4.4'), +] + +start_dir = 'src' + +files_to_copy = ['build/bin', 'build/lib', 'build/share', 'README*'] + +sanity_check_paths = { + 'files': ['bin/bogart', 'bin/canu', 'bin/meryl', 'bin/overlapPair', 'lib/libcanu.a'], + 'dirs': ['lib/site_perl', 'share'], +} +sanity_check_commands = [ + "canu -version", + "canu -options", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..cb2d2bdffbe --- /dev/null +++ b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'captum' +version = '0.5.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://captum.ai/' +description = """ +Captum is a model interpretability and understanding library for PyTorch. +Captum means comprehension in Latin and contains general purpose +implementations of integrated gradients, saliency maps, smoothgrad, vargrad and +others for PyTorch models. It has quick integration for models built with +domain-specific libraries such as torchvision, torchtext, and others.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['84af2c8793d34c440a351793b5ca705b8542745e2dc8bc24afb1d9b86f3bf6ec'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb new file mode 100644 index 00000000000..7836096aaf7 --- /dev/null +++ b/easybuild/easyconfigs/c/captum/captum-0.5.0-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'captum' +version = '0.5.0' + +homepage = 'https://captum.ai/' +description = """ +Captum is a model interpretability and understanding library for PyTorch. +Captum means comprehension in Latin and contains general purpose +implementations of integrated gradients, saliency maps, smoothgrad, vargrad and +others for PyTorch models. It has quick integration for models built with +domain-specific libraries such as torchvision, torchtext, and others.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['84af2c8793d34c440a351793b5ca705b8542745e2dc8bc24afb1d9b86f3bf6ec'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb b/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb new file mode 100644 index 00000000000..ad0813959d7 --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.4.0-foss-2021b.eb @@ -0,0 +1,49 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'casacore' +version = '3.4.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': '2021b'} + +source_urls = ['https://github.com/casacore/casacore/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '31f02ad2e26f29bab4a47a2a69e049d7bc511084a0b8263360e6157356f92ae1', # v3.4.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), +] + +dependencies = [ + ('CFITSIO', '3.49'), + ('WCSLIB', '7.11'), + ('HDF5', '1.12.1'), + ('GSL', '2.7'), + ('SciPy-bundle', '2021.10'), + ('Boost.Python', '1.77.0'), + ('ncurses', '6.2'), +] + +configopts = ' -DBUILD_PYTHON3=ON -DBUILD_PYTHON=OFF -Wno-dev -DDATA_DIR=%(installdir)s/data ' +configopts += '-DUSE_OPENMP=ON -DUSE_HDF5=ON -DUSE_MPI=ON ' + +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/casacore'], +} + +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-2022a.eb b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb new file mode 100644 index 00000000000..d98f5af249e --- /dev/null +++ b/easybuild/easyconfigs/c/casacore/casacore-3.5.0-foss-2022a.eb @@ -0,0 +1,59 @@ +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': '2022a'} + +source_urls = ['https://github.com/casacore/casacore/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '63f1c8eff932b0fcbd38c598a5811e6e5397b72835b637d6f426105a183b3f91', # v3.5.0.tar.gz +] + +# Install casacore data +postinstallcmds = [ + 'wget --retry-connrefused ftp://anonymous@ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar' + + ' -O /tmp/WSRT_Measures.ztar' + + ' && tar xfvz /tmp/WSRT_Measures.ztar --one-top-level=%(installdir)s/data' +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('wget', '1.21.3'), +] + +dependencies = [ + ('CFITSIO', '4.2.0'), + ('WCSLIB', '7.11'), + ('HDF5', '1.12.2'), + ('GSL', '2.7'), + ('Boost.Python', '1.79.0'), + ('SciPy-bundle', '2022.05'), + ('ncurses', '6.3'), +] + +configopts = '-DBUILD_PYTHON=NO -DBUILD_PYTHON3=YES -Wno-dev -DCXX11="ON" -DDATA_DIR=%(installdir)s/data ' +configopts += '-DUSE_OPENMP=ON -DUSE_HDF5=ON -DUSE_MPI=ON ' +# Without this, the wrong (system) python is picked up by cmake +# in cases where the system python is newer than the one used in these EasyConfigs +# See PR # 19119 +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +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/casacore'], +} + +sanity_check_commands = [('measuresdata', '')] + +moduleclass = 'lib' 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/castor/castor-1.7.11-foss-2022a.eb b/easybuild/easyconfigs/c/castor/castor-1.7.11-foss-2022a.eb new file mode 100644 index 00000000000..5095a3d9cb2 --- /dev/null +++ b/easybuild/easyconfigs/c/castor/castor-1.7.11-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'RPackage' + +name = 'castor' +version = '1.7.11' + +homepage = 'https://CRAN.R-project.org/package=castor' +description = """ +Efficient phylogenetic analyses on massive phylogenies comprising up to millions of tips. +Functions include pruning, rerooting, calculation of most-recent common ancestors, calculating +distances from the tree root and calculating pairwise distances. Calculation of phylogenetic +signal and mean trait depth (trait conservatism), ancestral state reconstruction and hidden +character prediction of discrete characters, simulating and fitting models of trait evolution, +fitting and simulating diversification models, dating trees, comparing trees, and +reading/writing trees in Newick format. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['c3fa63969ffbebc92878b857052110d3e22e9bbd06b28641604c32a5177fb2b3'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['%(name)s/R/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/category_encoders/category_encoders-2.4.1-foss-2021b.eb b/easybuild/easyconfigs/c/category_encoders/category_encoders-2.4.1-foss-2021b.eb new file mode 100644 index 00000000000..3c65be36c55 --- /dev/null +++ b/easybuild/easyconfigs/c/category_encoders/category_encoders-2.4.1-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'category_encoders' +version = '2.4.1' + +homepage = 'https://github.com/scikit-learn-contrib/category_encoders' +description = """ +A set of scikit-learn-style transformers for encoding categorical variables +into numeric by means of different techniques.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6e927c9681c68598980d2debed348c7ed39173c616ffe46936ac62c35086cbb4'] + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-learn', '1.0.1'), + ('statsmodels', '0.13.1'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.10.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.10.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5a6b4ee2256 --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.10.2-GCCcore-13.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.10.2' + +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.3.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['108100960bb7e64573ea925af2ee7611701241abb36ce0aae3354528403a7d87'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('zstd', '1.5.6'), + ('pkgconf', '2.2.0'), +] + +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.6.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5b623f231cc --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.1-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# Updated to 4.6.1: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.6.1' + +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': '11.2.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['59b28a57c3a45e48d6049001999c9f94cd4d3e9b0196994bed9a6a7437ffa3bc'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('Ninja', '1.10.2'), + ('zstd', '1.5.0'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('hiredis', '1.0.2'), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS=" -fuse-ld=bfd"' +configopts = '-DENABLE_DOCUMENTATION=OFF -DENABLE_IPO=ON -DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a" ' +# disable hunt for faster linker, since using ld.gold may fail (on CentOS 8, for example) +configopts += '-DUSE_FASTER_LINKER=OFF' + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = ['ccache --help'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..30f7490b38b --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# Updated to 4.6.1: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.6.3' + +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': '11.3.0'} + +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['f46ba3706ad80c30d4d5874dee2bf9227a7fcd0ccaac31b51919a3053d84bd05'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('zstd', '1.5.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('hiredis', '1.0.2'), +] + +# 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', + '-DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a"', + '-DHIREDIS_LIBRARY="$EBROOTHIREDIS/lib/libhiredis.a"', + # 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.6.3.eb b/easybuild/easyconfigs/c/ccache/ccache-4.6.3.eb new file mode 100644 index 00000000000..6157f2b62e4 --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.6.3.eb @@ -0,0 +1,54 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.6.3' + +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 = SYSTEM + +source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f46ba3706ad80c30d4d5874dee2bf9227a7fcd0ccaac31b51919a3053d84bd05'] + +osdependencies = [('glibc-static', 'libc6-dev')] + +local_gccver = '11.3.0' +builddependencies = [ + ('GCC', local_gccver), + ('CMake', '3.23.1', '', ('GCCcore', local_gccver)), + ('Ninja', '1.10.2', '', ('GCCcore', local_gccver)), + ('hiredis', '1.0.2', '', ('GCCcore', local_gccver)), + ('zstd', '1.5.2', '', ('GCCcore', local_gccver)), +] + +# 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 dependencies and binary statically + '-DCMAKE_EXE_LINKER_FLAGS="-static"', + '-DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a"', + '-DHIREDIS_LIBRARY="$EBROOTHIREDIS/lib/libhiredis.a"', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = [ + 'ccache --help', + # Ensure that the binary does not depend on any shared library + 'LC_ALL=C ldd $(which ccache) | grep -q "not a dynamic executable"', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.7.5.eb b/easybuild/easyconfigs/c/ccache/ccache-4.7.5.eb new file mode 100644 index 00000000000..ce5ba9b2ea6 --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.7.5.eb @@ -0,0 +1,54 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.7.5' + +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 = SYSTEM + +source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['fe304140b0c2e391e6c00fc123e7d202fa0313c569689ca67574686769ac0781'] + +osdependencies = [('glibc-static', 'libc6-dev')] + +local_gccver = '12.3.0' +builddependencies = [ + ('GCC', local_gccver), + ('CMake', '3.26.3', '', ('GCCcore', local_gccver)), + ('Ninja', '1.11.1', '', ('GCCcore', local_gccver)), + ('hiredis', '1.2.0', '', ('GCCcore', local_gccver)), + ('zstd', '1.5.5', '', ('GCCcore', local_gccver)), +] + +# 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 dependencies and binary statically + '-DCMAKE_EXE_LINKER_FLAGS="-static"', + '-DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a"', + '-DHIREDIS_LIBRARY="$EBROOTHIREDIS/lib/libhiredis.a"', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = [ + 'ccache --help', + # Ensure that the binary does not depend on any shared library + 'LC_ALL=C ldd $(which ccache) | grep -q "not a dynamic executable"', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb b/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb new file mode 100644 index 00000000000..0bbc94a62ba --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb @@ -0,0 +1,54 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.8.3' + +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 = SYSTEM + +source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d59dd569ad2bbc826c0bc335c8ebd73e78ed0f2f40ba6b30069347e63585d9ef'] + +osdependencies = [('glibc-static', 'libc6-dev')] + +local_gccver = '12.3.0' +builddependencies = [ + ('GCC', local_gccver), + ('CMake', '3.26.3', '', ('GCCcore', local_gccver)), + ('Ninja', '1.11.1', '', ('GCCcore', local_gccver)), + ('hiredis', '1.2.0', '', ('GCCcore', local_gccver)), + ('zstd', '1.5.5', '', ('GCCcore', local_gccver)), +] + +# 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 dependencies and binary statically + '-DCMAKE_EXE_LINKER_FLAGS="-static"', + '-DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a"', + '-DHIREDIS_LIBRARY="$EBROOTHIREDIS/lib/libhiredis.a"', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = [ + 'ccache --help', + # Ensure that the binary does not depend on any shared library + 'LC_ALL=C ldd $(which ccache) | grep -q "not a dynamic executable"', +] + +moduleclass = 'tools' 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.7.2-foss-2021b.eb b/easybuild/easyconfigs/c/cclib/cclib-1.7.2-foss-2021b.eb new file mode 100644 index 00000000000..cc730a59c2a --- /dev/null +++ b/easybuild/easyconfigs/c/cclib/cclib-1.7.2-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'cclib' +version = '1.7.2' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('periodictable', '1.6.1', { + 'checksums': ['7c501c9f73d77b1fb28cb51e85b28429c2c44a99ce3d1274894564c72d712603'], + }), + (name, version, { + 'checksums': ['bb16b422382f47ead65f92b6cd2d812409436c8306e0c5b049056337a11dfc3a'], + }), +] + +_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/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/cctbx-base/cctbx-base-2020.8-foss-2020b.eb b/easybuild/easyconfigs/c/cctbx-base/cctbx-base-2020.8-foss-2020b.eb new file mode 100644 index 00000000000..afe41e8b972 --- /dev/null +++ b/easybuild/easyconfigs/c/cctbx-base/cctbx-base-2020.8-foss-2020b.eb @@ -0,0 +1,64 @@ +# author: Denis Kristak (Inuits) +easyblock = 'PythonBundle' + +name = 'cctbx-base' +version = '2020.8' + +# local_pyver_special is used to create the wheel filename +# it contains the first two digits of the python version (with no delimiter) +local_pyver = '3.8.6' +local_pyver_special = ''.join(local_pyver.split('.')[:2]) + +homepage = 'https://github.com/cctbx/cctbx_project' +description = """ +The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the Phenix +project. The goal of the Phenix project is to advance automation of macromolecular structure determination. +Phenix depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable +library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific +applications. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', local_pyver), + ('Boost', '1.74.0'), + ('HDF5', '1.10.7'), + ('libGLU', '9.0.1'), + ('LIBSVM', '3.25'), + ('LibTIFF', '4.1.0'), + ('matplotlib', '3.3.3'), + ('mrcfile', '1.3.0'), +] + +local_metadata = "%(installdir)s/lib/python%(pyshortver)s/site-packages/cctbx_base-%(version)s.dist-info/METADATA" + +exts_list = [ + ('reportlab', '3.5.66', { + 'checksums': ['63fba51babad0047def4ffaa41d0065248ca39d680e98dc9e3010de5425539b4'], + }), + (name, version, { + 'sources': [{ + 'download_filename': 'cctbx_base-%s-0_py%sh167b89d-cp%s-cp%sm-manylinux2010_x86_64.whl' % ( + version, local_pyver_special, local_pyver_special, local_pyver_special + ), + 'filename': 'cctbx_base-%s-cp%s-cp%s-manylinux2010_x86_64.whl' % ( + version, local_pyver_special, local_pyver_special + ), + }], + 'checksums': ['5c7ac0710d9011072c678771876aa57ca3735986ed321d403f51989a7444e592'], + # remove deps (they fail during sanity check, even though they are installed) + 'postinstallcmds': ["echo '' > %s" % local_metadata], + 'modulename': 'cctbx', + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/smtbx.python', 'bin/cctbx.brehm_diederichs'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cctbx_website'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cctbx-base/cctbx-base-2020.8-fosscuda-2020b.eb b/easybuild/easyconfigs/c/cctbx-base/cctbx-base-2020.8-fosscuda-2020b.eb new file mode 100644 index 00000000000..b695ed8ce23 --- /dev/null +++ b/easybuild/easyconfigs/c/cctbx-base/cctbx-base-2020.8-fosscuda-2020b.eb @@ -0,0 +1,68 @@ +# author: Denis Kristak (Inuits) +easyblock = "PythonBundle" + +name = "cctbx-base" +version = "2020.8" +local_pyver = "3.8.6" + +# local_pyver_special is used to create the wheel filename +# it contains the first two digits of the python version (with no delimiter) +local_tmp = local_pyver.split('.') +local_tmp.pop() +# compose a string +local_pyver_special = ''.join(local_tmp) + +homepage = "https://github.com/cctbx/cctbx_project" +description = """ +The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the Phenix +project. The goal of the Phenix project is to advance automation of macromolecular structure determination. +Phenix depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable +library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific +applications. +""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', local_pyver), + ('Boost', '1.74.0'), + ('HDF5', '1.10.7'), + ('libGLU', '9.0.1'), + ('LIBSVM', '3.25'), + ('LibTIFF', '4.1.0'), + ('matplotlib', '3.3.3'), + ('mrcfile', '1.3.0'), +] + +local_metadata = "%(installdir)s/lib/python%(pyshortver)s/site-packages/cctbx_base-%(version)s.dist-info/METADATA" + + +exts_list = [ + ('reportlab', '3.5.66', { + 'checksums': ['63fba51babad0047def4ffaa41d0065248ca39d680e98dc9e3010de5425539b4'], + }), + (name, version, { + 'modulename': 'cctbx', + # remove deps (they fail during sanity check, even though they are installed) + 'postinstallcmds': ["echo '' > %s" % local_metadata], + 'sources': [{ + 'download_filename': 'cctbx_base-%s-0_py%sh167b89d-cp%s-cp%sm-manylinux2010_x86_64.whl' % ( + version, local_pyver_special, local_pyver_special, local_pyver_special + ), + 'filename': 'cctbx_base-%s-cp%s-cp%s-manylinux2010_x86_64.whl' % ( + version, local_pyver_special, local_pyver_special + ), + }], + 'checksums': ['5c7ac0710d9011072c678771876aa57ca3735986ed321d403f51989a7444e592'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + "files": ['bin/smtbx.python', 'bin/cctbx.brehm_diederichs'], + "dirs": ['lib/python%(pyshortver)s/site-packages/cctbx_website'], +} + +moduleclass = "lib" diff --git a/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d5ef7861ad7 --- /dev/null +++ b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'cddlib' +version = '0.94m' + +homepage = 'https://github.com/cddlib/cddlib' +description = "An efficient implementation of the Double Description Method" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'cddlib' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['766d8ec2135989830748e5e2fe57f307ed0706431c135541c3c081cbec0bc34f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +dependencies = [('GMP', '6.2.1')] + +preconfigopts = "autoreconf -f -i && " + +buildopts = "SUBDIRS='lib-src src'" # build sources but spare the documentation in latex +installopts = buildopts + +local_exes = ['adjacency', 'allfaces', 'cddexec', 'fourier', 'lcdd', 'projection', 'redcheck', 'scdd', 'testcdd1', + 'testcdd2', 'testlp1', 'testlp2', 'testlp3', 'testshoot'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + ['bin/%s_gmp' % x for x in local_exes] + + ['lib/%s.%s' % (l, e) for l in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + + ['include/cddlib/%s.h' % h for h in ['cdd', 'cddmp', 'cddtypes', 'setoper', 'splitmix64']], + 'dirs': ['share/doc'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c747475d137 --- /dev/null +++ b/easybuild/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'cddlib' +version = '0.94m' + +homepage = 'https://github.com/cddlib/cddlib' +description = "An efficient implementation of the Double Description Method" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'cddlib' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['766d8ec2135989830748e5e2fe57f307ed0706431c135541c3c081cbec0bc34f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +dependencies = [('GMP', '6.3.0')] + +preconfigopts = "autoreconf -f -i && " + +buildopts = "SUBDIRS='lib-src src'" # build sources but spare the documentation in latex +installopts = buildopts + +local_exes = ['adjacency', 'allfaces', 'cddexec', 'fourier', 'lcdd', 'projection', 'redcheck', 'scdd', 'testcdd1', + 'testcdd2', 'testlp1', 'testlp2', 'testlp3', 'testshoot'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + ['bin/%s_gmp' % x for x in local_exes] + + ['lib/%s.%s' % (l, e) for l in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + + ['include/cddlib/%s.h' % h for h in ['cdd', 'cddmp', 'cddtypes', 'setoper', 'splitmix64']], + 'dirs': ['share/doc'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb new file mode 100644 index 00000000000..b3f6ed923ba --- /dev/null +++ b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.5.7-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'cdo-bindings' +version = '1.5.7' + +homepage = 'https://github.com/Try2Code/cdo-bindings' +description = "Python interface to CDO." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('CDO', '2.0.5'), + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), # optional +] + +use_pip = True + +exts_list = [ + ('cdo', version, { + 'checksums': ['898c2b0ff97ec494569e5d94302350538efa898d42998bfed76b4f52c6c16f3c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.6.0-foss-2022a.eb b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.6.0-foss-2022a.eb new file mode 100644 index 00000000000..1921036c3c9 --- /dev/null +++ b/easybuild/easyconfigs/c/cdo-bindings/cdo-bindings-1.6.0-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'cdo-bindings' +version = '1.6.0' + +homepage = 'https://github.com/Try2Code/cdo-bindings' +description = "Python interface to CDO." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CDO', '2.0.6'), + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), # optional +] + +use_pip = True + +exts_list = [ + ('cdo', version, { + 'checksums': ['6bdfc38b3ba00c5375aa97e2fd0431a4186953cba5156e60247a8ab6a0dd7f7e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c70d2401d59 --- /dev/null +++ b/easybuild/easyconfigs/c/cdsapi/cdsapi-0.5.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'cdsapi' +version = '0.5.1' + +homepage = 'https://pypi.org/project/cdsapi' +description = "Climate Data Store API" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['19f3e92f1996cc1115d0b0281617edeaecf3eefca03fbd384cfbc520d5f0476d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('tqdm', '4.64.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb b/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb index 7d60fb1c61d..1556b0f9dad 100644 --- a/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/c/cell2location/cell2location-0.05-alpha-fosscuda-2020b.eb @@ -14,14 +14,15 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} builddependencies = [ ('Bison', '3.7.1'), + ('flex', '2.6.4'), # needed by louvain ] dependencies = [ ('Python', '3.8.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('SciPy-bundle', '2020.11'), ('leidenalg', '0.8.3'), - ('hyperopt', '0.2.5'), + ('Hyperopt', '0.2.5'), ('CMake', '3.18.4'), ('dill', '0.3.3'), ('IPython', '7.18.1'), @@ -44,12 +45,6 @@ preinstallopts = "sed -i 's/theano/Theano-PyMC/g' setup.py && " use_pip = True -exts_default_options = { - 'download_dep_fail': True, - 'sanity_pip_check': True, - 'use_pip': True, -} - exts_list = [ ('opt-einsum', '3.3.0', { 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', @@ -119,7 +114,7 @@ exts_list = [ (name, version, { 'source_urls': ['https://github.com/BayraktarLab/cell2location/archive/'], 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], - 'checksums': ['2df1fe2b2b4ec5fcebc6c1d6146ce0cd79115bd14059b0ae882a41f1029a4efc'], + 'checksums': ['b1d4fc0e1eb8292457793d6af8228189bd24dd87837b8f4435d0a0312ed20c6b'], }), ] diff --git a/easybuild/easyconfigs/c/centerline/centerline-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/c/centerline/centerline-1.0.1-foss-2022a.eb new file mode 100644 index 00000000000..6c73ce42def --- /dev/null +++ b/easybuild/easyconfigs/c/centerline/centerline-1.0.1-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'centerline' +version = '1.0.1' + +homepage = 'https://github.com/fitodic/centerline' +description = """ +Roads, rivers and similar linear structures are often represented by long and complex polygons. +Since one of the most important attributes of a linear structure is its length, extracting that +attribute from a polygon can prove to be more or less difficult. +This library tries to solve this problem by creating the the polygon's centerline using the +Voronoi diagram. For more info on how to use this package, see the official documentation. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Fiona', '1.8.21'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['f5d44ea81bece7338146286a9ad4bb080c27055aa6177907f49e51d624d8e12b'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["create_centerlines --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..56cee831b54 --- /dev/null +++ b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'cffi' +version = '1.15.1' + +homepage = 'https://cffi.readthedocs.io/en/latest/' +description = """C Foreign Function Interface for Python. Interact with almost any C code from +Python, based on C-like declarations that you can often copy-paste from header +files or documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + (name, version, { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b511d571cbe --- /dev/null +++ b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'cffi' +version = '1.15.1' + +homepage = 'https://cffi.readthedocs.io/en/latest/' +description = """C Foreign Function Interface for Python. Interact with almost any C code from +Python, based on C-like declarations that you can often copy-paste from header +files or documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + (name, version, { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..049e6ed5a68 --- /dev/null +++ b/easybuild/easyconfigs/c/cffi/cffi-1.15.1-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'cffi' +version = '1.15.1' + +homepage = 'https://cffi.readthedocs.io/en/latest/' +description = """C Foreign Function Interface for Python. Interact with almost any C code from +Python, based on C-like declarations that you can often copy-paste from header +files or documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + (name, version, { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..94a734e98da --- /dev/null +++ b/easybuild/easyconfigs/c/cffi/cffi-1.16.0-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'cffi' +version = '1.16.0' + +homepage = 'https://cffi.readthedocs.io/en/latest/' +description = """C Foreign Function Interface for Python. Interact with almost any C code from +Python, based on C-like declarations that you can often copy-paste from header +files or documentation. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('pycparser', '2.22', { + 'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'], + }), + (name, version, { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cfgrib/cfgrib-0.9.14.0-foss-2023a.eb b/easybuild/easyconfigs/c/cfgrib/cfgrib-0.9.14.0-foss-2023a.eb new file mode 100644 index 00000000000..b6b2b66159c --- /dev/null +++ b/easybuild/easyconfigs/c/cfgrib/cfgrib-0.9.14.0-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = "PythonBundle" + +name = 'cfgrib' +version = '0.9.14.0' + +homepage = 'https://github.com/ecmwf/cfgrib/' +description = """ +A Python interface to map GRIB files to the NetCDF Common Data Model following the CF +Convention using ecCodes. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ecCodes', '2.31.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('findlibs', '0.0.5', { + 'checksums': ['7a801571e999d0ee83f9b92cbb598c21f861ee26ca9dba74cea8958ba4335e7e'], + }), + ('eccodes', '1.7.1', { + 'checksums': ['d3c7e9bab779d35b624cfd7b3331de111602cba6a6f6368efcc12407f30b2697'], + }), + (name, version, { + 'checksums': ['2b9a1e6bd47397e585f878ffd8aaac5969f6c9a448da767c700917b89c275bb2'], + }), +] + +sanity_check_commands = ['python -m cfgrib selfcheck'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb b/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb new file mode 100644 index 00000000000..6f01647c03b --- /dev/null +++ b/easybuild/easyconfigs/c/charm-gems/charm-gems-1.3.3-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'charm-gems' +version = '1.3.3' + +homepage = 'https://github.com/simnibs/charm-gems' +description = """This repository contains the gems C++ code and python bindings used in +Freesurfer's Sequence-Adaptive Multimodal SEGmentation (SAMSEG) and in +SimNIBS 4.0 Complete Head Anatomy Reconstruction Method (CHARM) to +create individualized head models for electric field simulations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.26.3'), + ('make', '4.4.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +# update GCC version in vcl_compiler.h and install ITK from submodule +local_preinstallopts = "sed -i 's/error \"Dunno about this gcc\"/define VCL_GCC_123/' \\" +local_preinstallopts += "ITK/Modules/ThirdParty/VNL/src/vxl/vcl/vcl_compiler.h && " +local_preinstallopts += "mkdir ITK-build && cd ITK-build && " +local_preinstallopts += "cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF \\" +local_preinstallopts += "-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%(installdir)s/ITK-install ../ITK && " +local_preinstallopts += "make install && cd .. && " +local_preinstallopts += "export ITK_DIR=%(installdir)s/ITK-install && " + +exts_list = [ + (name, version, { + 'preinstallopts': local_preinstallopts, + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/simnibs', + 'repo_name': 'charm-gems', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } + }], + 'checksums': [None], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb deleted file mode 100644 index 8b3f74b6a9d..00000000000 --- a/easybuild/easyconfigs/c/check/check-0.12.0-GCCcore-6.4.0.eb +++ /dev/null @@ -1,31 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'check' -version = '0.12.0' - -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': '6.4.0'} - -source_urls = ['https://github.com/libcheck/check/archive'] -sources = ['%(version)s.tar.gz'] -checksums = ['7816b4c38f6e23ff873786f18d966e552837677bfae144041e0587e7c39e04e8'] - -builddependencies = [ - ('binutils', '2.28'), - ('CMake', '3.10.1'), -] - -sanity_check_paths = { - 'files': ['include/check.h', 'lib/libcheck.a', 'lib/libcompat.a'], - 'dirs': [], -} - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6db953d76b1 --- /dev/null +++ b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'chemprop' +version = '1.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/chemprop/chemprop' +description = 'Message Passing Neural Networks for Molecule Property Prediction' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tensorboardX', '2.5.1'), + ('xarray', '2022.6.0'), + ('Hyperopt', '0.2.7'), + ('Flask', '2.2.2'), + ('PyTorch', '1.12.0', versionsuffix), + ('matplotlib', '3.5.2'), + ('RDKit', '2022.09.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM) +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '20.4', { + 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], + }), + ('pandas_flavor', '0.2.0', { + 'checksums': ['7871655816de22dc766e916697ccc67449e1863c090ef5fd40d4d0fbd056e489'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('typing_inspect', '0.8.0', { + 'checksums': ['8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d'], + }), + ('typed-argument-parser', '1.7.2', { + 'modulename': 'tap', + 'checksums': ['4e44bc79010391cd9dec4b110e1474fedc8919138e93ca91222ea6b3b360daee'], + }), + (name, version, { + 'source_urls': ['https://github.com/chemprop/chemprop/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7ce6f71688291ffbe45728a605be9fda354f4cc30410bbe64511cd1a55b9bfb8'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb new file mode 100644 index 00000000000..dae50013213 --- /dev/null +++ b/easybuild/easyconfigs/c/chemprop/chemprop-1.5.2-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'chemprop' +version = '1.5.2' + +homepage = 'https://github.com/chemprop/chemprop' +description = 'Message Passing Neural Networks for Molecule Property Prediction' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tensorboardX', '2.5.1'), + ('xarray', '2022.6.0'), + ('Hyperopt', '0.2.7'), + ('Flask', '2.2.2'), + ('PyTorch', '1.12.0'), + ('matplotlib', '3.5.2'), + ('RDKit', '2022.09.4') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '20.4', { + 'checksums': ['4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8'], + }), + ('pandas_flavor', '0.2.0', { + 'checksums': ['7871655816de22dc766e916697ccc67449e1863c090ef5fd40d4d0fbd056e489'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('typing_inspect', '0.8.0', { + 'checksums': ['8b1ff0c400943b6145df8119c41c244ca8207f1f10c9c057aeed1560e4806e3d'], + }), + ('typed-argument-parser', '1.7.2', { + 'modulename': 'tap', + 'checksums': ['4e44bc79010391cd9dec4b110e1474fedc8919138e93ca91222ea6b3b360daee'], + }), + (name, version, { + 'source_urls': ['https://github.com/chemprop/chemprop/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7ce6f71688291ffbe45728a605be9fda354f4cc30410bbe64511cd1a55b9bfb8'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/chewBBACA/chewBBACA-3.3.9-foss-2022b.eb b/easybuild/easyconfigs/c/chewBBACA/chewBBACA-3.3.9-foss-2022b.eb new file mode 100644 index 00000000000..b9964db690a --- /dev/null +++ b/easybuild/easyconfigs/c/chewBBACA/chewBBACA-3.3.9-foss-2022b.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'chewBBACA' +version = '3.3.9' + +homepage = 'https://github.com/B-UMMI/chewBBACA' +description = """chewBBACA is a software suite for the creation and evaluation of core genome and whole genome +MultiLocus Sequence Typing (cg/wgMLST) schemas and results. The "BBACA" stands for "BSR-Based Allele Calling Algorithm". +BSR stands for BLAST Score Ratio as proposed by Rasko DA et al. The "chew" part adds extra coolness to the name and +could be thought of as "Comprehensive and Highly Efficient Workflow".""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + # Cython 3 is required, see https://github.com/althonos/pyrodigal/issues/40 + # Cython included with Python-bundle-PyPI (0.29.35) is too old + ('Cython', '3.0.8'), + ('Biopython', '1.81'), + ('plotly.py', '5.13.1'), + ('BLAST+', '2.14.0'), + ('prodigal', '2.6.3'), + ('MAFFT', '7.505', '-with-extensions'), + ('FastTree', '2.1.11'), + ('archspec', '0.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyrodigal', '3.5.1', { + 'checksums': ['20af59a6d968c88910b99d5f647bb7dd22d49e440ead95fe715cdd2c49f36e9f'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', '7.0.0', { + 'checksums': ['9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae'], + }), + ('SPARQLWrapper', '2.0.0', { + 'modulename': 'SPARQLWrapper', + 'checksums': ['3fed3ebcc77617a4a74d2644b86fd88e0f32e7f7003ac7b2b334c026201731f1'], + }), + (name, version, { + 'modulename': 'CHEWBBACA', + # relax numpy version requirement + 'preinstallopts': "sed -i 's/numpy~=1.24.3/numpy~=1.24.2/g' pyproject.toml && ", + 'runtest': "python setup.py test", + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['4bf0792b8cdd1783b50340ac713748ef2a351209cacb50ad4c9e2fe2e7fba772'], + }), +] + +sanity_check_paths = { + 'files': ['bin/chewBBACA.py', 'bin/chewie'], + 'dirs': [], +} + +sanity_check_commands = [ + 'chewBBACA.py --help', + 'chewie --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/chopper/chopper-0.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/chopper/chopper-0.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b1788fb34f9 --- /dev/null +++ b/easybuild/easyconfigs/c/chopper/chopper-0.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,315 @@ +easyblock = 'Cargo' + +name = 'chopper' +version = '0.9.0' + +homepage = 'https://github.com/wdecoster/chopper' +description = """Rust implementation of NanoFilt+NanoLyse, both +originally written in Python. This tool, intended for long read +sequencing such as PacBio or ONT, filters and trims a fastq file. +Filtering is done on average read quality and minimal or maximal read +length, and applying a headcrop (start of read) and tailcrop (end of +read) while printing the reads passing the filter.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'wdecoster' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'chopper-0.9.0_fix_incorrect_version.patch', +] +checksums = [ + {'v0.9.0.tar.gz': 'ae5b6f8f5ffde45582998b63cb45b4221b25ee37a9fde7a256e653c7f3f12075'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'anstream-0.6.13.tar.gz': 'd96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'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.82.tar.gz': 'f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.2.0.tar.gz': 'f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80'}, + {'bio-1.6.0.tar.gz': '7a72cb93babf08c85b375c2938ac678cc637936b3ebb72266d433cec2577f6c2'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'buffer-redux-1.0.1.tar.gz': '4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5'}, + {'bv-0.11.1.tar.gz': '8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340'}, + {'bytecount-0.6.8.tar.gz': '5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce'}, + {'bytemuck-1.15.0.tar.gz': '5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.94.tar.gz': '17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-4.5.4.tar.gz': '90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0'}, + {'clap_builder-4.5.2.tar.gz': 'ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4'}, + {'clap_derive-4.5.4.tar.gz': '528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'crc32fast-1.4.0.tar.gz': 'b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'editdistancek-1.0.2.tar.gz': '3e02df23d5b1c6f9e69fa603b890378123b93073df998a21e6e33b9db0a32613'}, + {'either-1.11.0.tar.gz': 'a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2'}, + {'enum-map-2.7.3.tar.gz': '6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9'}, + {'enum-map-derive-0.17.0.tar.gz': 'f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'getrandom-0.2.14.tar.gz': '94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexmap-2.2.6.tar.gz': '168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libz-ng-sys-1.1.15.tar.gz': 'c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5'}, + {'libz-sys-1.1.16.tar.gz': '5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.7.2.tar.gz': '6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d'}, + {'minimap2-0.1.17+minimap2.2.27.tar.gz': 'd920763956405bd0cbeead7e4415097d5780f8a8ce4e1dde0415d15736597dfd'}, + {'minimap2-sys-0.1.18+minimap2.2.27.tar.gz': '185d3f931e11c1df371455a01e93a0037041d011705b5ff1d283d619b234c47c'}, + {'miniz_oxide-0.7.2.tar.gz': '9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7'}, + {'multimap-0.9.1.tar.gz': 'e1a5d38b9b352dbd913288736af36af41c48d61b1a8cd34bcecd727561b7d511'}, + {'nalgebra-0.29.0.tar.gz': 'd506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff'}, + {'nalgebra-macros-0.1.0.tar.gz': '01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'ordered-float-3.9.2.tar.gz': 'f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'petgraph-0.6.4.tar.gz': 'e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.81.tar.gz': '3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.10.0.tar.gz': 'b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'regex-1.10.4.tar.gz': 'c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.3.tar.gz': 'adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustversion-1.0.15.tar.gz': '80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'safe_arch-0.7.1.tar.gz': 'f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.198.tar.gz': '9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc'}, + {'serde_derive-1.0.198.tar.gz': 'e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9'}, + {'simba-0.6.0.tar.gz': 'f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f'}, + {'simdutf8-0.1.4.tar.gz': 'f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a'}, + {'statrs-0.16.0.tar.gz': '2d08e5e1748192713cc281da8b16924fb46be7b0c2431854eadc785823e5696e'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.60.tar.gz': '909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3'}, + {'thiserror-1.0.58.tar.gz': '03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297'}, + {'thiserror-impl-1.0.58.tar.gz': 'c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7'}, + {'triple_accel-0.4.0.tar.gz': '22048bc95dfb2ffd05b1ff9a756290a009224b60b2f0e7525faeee7603851e63'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wide-0.7.16.tar.gz': '81a1851a719f11d1d2fea40e15c72f6c00de8c142d7ac47c1441cc7e4d0d5bc6'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'chopper-0.9.0_fix_incorrect_version.patch': 'b3f3dfa620fbda6d00a73eafc8508a73ac4d96f6edfb0e804b3ff0bc149e37cd'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Rust', '1.75.0'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), +] + +crates = [ + ('adler', '1.0.2'), + ('aho-corasick', '1.1.3'), + ('anstream', '0.6.13'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('anyhow', '1.0.82'), + ('approx', '0.5.1'), + ('atty', '0.2.14'), + ('autocfg', '1.2.0'), + ('bio', '1.6.0'), + ('bio-types', '1.0.1'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('buffer-redux', '1.0.1'), + ('bv', '0.11.1'), + ('bytecount', '0.6.8'), + ('bytemuck', '1.15.0'), + ('byteorder', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.94'), + ('cfg-if', '1.0.0'), + ('clap', '4.5.4'), + ('clap_builder', '4.5.2'), + ('clap_derive', '4.5.4'), + ('clap_lex', '0.7.0'), + ('cmake', '0.1.50'), + ('colorchoice', '1.0.0'), + ('crc32fast', '1.4.0'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('custom_derive', '0.1.7'), + ('derive-new', '0.5.9'), + ('editdistancek', '1.0.2'), + ('either', '1.11.0'), + ('enum-map', '2.7.3'), + ('enum-map-derive', '0.17.0'), + ('equivalent', '1.0.1'), + ('feature-probe', '0.1.1'), + ('fixedbitset', '0.4.2'), + ('flate2', '1.0.28'), + ('fxhash', '0.2.1'), + ('getrandom', '0.2.14'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('heck', '0.5.0'), + ('hermit-abi', '0.1.19'), + ('indexmap', '2.2.6'), + ('itertools', '0.11.0'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.11'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.153'), + ('libm', '0.2.8'), + ('libz-ng-sys', '1.1.15'), + ('libz-sys', '1.1.16'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.7.2'), + ('minimap2', '0.1.17+minimap2.2.27'), + ('minimap2-sys', '0.1.18+minimap2.2.27'), + ('miniz_oxide', '0.7.2'), + ('multimap', '0.9.1'), + ('nalgebra', '0.29.0'), + ('nalgebra-macros', '0.1.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('newtype_derive', '0.1.6'), + ('num-complex', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.18'), + ('ordered-float', '3.9.2'), + ('paste', '1.0.14'), + ('petgraph', '0.6.4'), + ('pkg-config', '0.3.30'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.81'), + ('quote', '1.0.36'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rawpointer', '0.2.1'), + ('rayon', '1.10.0'), + ('rayon-core', '1.12.1'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.3'), + ('rustc_version', '0.1.7'), + ('rustversion', '1.0.15'), + ('ryu', '1.0.17'), + ('safe_arch', '0.7.1'), + ('semver', '0.1.20'), + ('serde', '1.0.198'), + ('serde_derive', '1.0.198'), + ('simba', '0.6.0'), + ('simdutf8', '0.1.4'), + ('statrs', '0.16.0'), + ('strsim', '0.11.1'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('syn', '1.0.109'), + ('syn', '2.0.60'), + ('thiserror', '1.0.58'), + ('thiserror-impl', '1.0.58'), + ('triple_accel', '0.4.0'), + ('typenum', '1.17.0'), + ('unicode-ident', '1.0.12'), + ('utf8parse', '0.2.1'), + ('vcpkg', '0.2.15'), + ('vec_map', '0.8.2'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wide', '0.7.16'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('xz2', '0.1.7'), +] +sanity_check_paths = { + 'files': ['bin/chopper'], + 'dirs': [], +} + +sanity_check_commands = [ + 'chopper --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/chopper/chopper-0.9.0_fix_incorrect_version.patch b/easybuild/easyconfigs/c/chopper/chopper-0.9.0_fix_incorrect_version.patch new file mode 100644 index 00000000000..57c15b94db4 --- /dev/null +++ b/easybuild/easyconfigs/c/chopper/chopper-0.9.0_fix_incorrect_version.patch @@ -0,0 +1,28 @@ +Fix incorrect version number in the 0.9.0 tar file. + +Åke Sandgren, 2024-09-16 +diff --git a/Cargo.lock b/Cargo.lock +index 3e8f1fe..53fa5da 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -236,7 +236,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + + [[package]] + name = "chopper" +-version = "0.8.0" ++version = "0.9.0" + dependencies = [ + "approx", + "atty", +diff --git a/Cargo.toml b/Cargo.toml +index f268dce..7f7277a 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -1,6 +1,6 @@ + [package] + name = "chopper" +-version = "0.8.0" ++version = "0.9.0" + authors = ["wdecoster "] + edition = "2021" + diff --git a/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..bd7943a2e76 --- /dev/null +++ b/easybuild/easyconfigs/c/chromVARmotifs/chromVARmotifs-0.2.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'chromVARmotifs' +local_commit = '38bed55' +# see DESCRIPTION file +version = '0.2.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/GreenleafLab/chromVARmotifs' +description = """The goal of chromVARmotifs is to make it easy to use several different motif collections in R, + particularly for use with motifmatchr and chromVAR packages.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +source_urls = ['https://github.com/GreenleafLab/chromVARmotifs/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['6bc0894e1ffc9aa51d7eefce71ca0a586b271e7c6fd60211b179862eb51e4f1b'] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cicero/cicero-1.3.8-foss-2022a-R-4.2.1-Monocle3.eb b/easybuild/easyconfigs/c/cicero/cicero-1.3.8-foss-2022a-R-4.2.1-Monocle3.eb new file mode 100644 index 00000000000..11a64dc05a4 --- /dev/null +++ b/easybuild/easyconfigs/c/cicero/cicero-1.3.8-foss-2022a-R-4.2.1-Monocle3.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'cicero' +# see https://github.com/cole-trapnell-lab/cicero-release/tree/monocle3 +local_commit = '02d1e8d' +version = '1.3.8' +versionsuffix = '-R-%(rver)s-Monocle3' + +homepage = 'https://cole-trapnell-lab.github.io/cicero-release' +description = """Cicero is an R package that provides tools for analyzing single-cell chromatin accessibility + experiments.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/cole-trapnell-lab/cicero-release/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': 'cicero-%(version)s-monocle3.tar.gz'}] +checksums = ['603e4efecfbdd57f38c247d0a3cc389e1f8b006c03af6b348881bcc95894b30f'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', '-R-%(rver)s'), + ('Monocle3', '1.3.1', '-R-%(rver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..67528f3a994 --- /dev/null +++ b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'cimfomfa' +version = '22.273' + +homepage = 'https://github.com/micans/cimfomfa' +description = """This library supports both MCL, a cluster algorithm for graphs, and zoem, a +macro/DSL language. It supplies abstractions for memory management, I/O, +associative arrays, strings, heaps, and a few other things. The string library +has had heavy testing as part of zoem. Both understandably and regrettably I +chose long ago to make it C-string-compatible, hence nul bytes may not be part +of a string. At some point I hope to rectify this, perhaps unrealistically.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +# The Github repo only has earlier tags +source_urls = ['https://micans.org/mcl/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['b0f0549fda1d288ddd22a2675581636a6f4bde0f01e956fcf452d0f815b4964f'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libtingea.%s' % x for x in ('a', SHLIB_EXT)], + 'dirs': ['include/tingea'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dce95d1c54a --- /dev/null +++ b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'cimfomfa' +version = '22.273' + +homepage = 'https://github.com/micans/cimfomfa' +description = """This library supports both MCL, a cluster algorithm for graphs, and zoem, a +macro/DSL language. It supplies abstractions for memory management, I/O, +associative arrays, strings, heaps, and a few other things. The string library +has had heavy testing as part of zoem. Both understandably and regrettably I +chose long ago to make it C-string-compatible, hence nul bytes may not be part +of a string. At some point I hope to rectify this, perhaps unrealistically.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +# The Github repo only has earlier tags +source_urls = ['https://micans.org/mcl/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['b0f0549fda1d288ddd22a2675581636a6f4bde0f01e956fcf452d0f815b4964f'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libtingea.%s' % x for x in ('a', SHLIB_EXT)], + 'dirs': ['include/tingea'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..54c69ee2996 --- /dev/null +++ b/easybuild/easyconfigs/c/cimfomfa/cimfomfa-22.273-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'cimfomfa' +version = '22.273' + +homepage = 'https://github.com/micans/cimfomfa' +description = """This library supports both MCL, a cluster algorithm for graphs, and zoem, a +macro/DSL language. It supplies abstractions for memory management, I/O, +associative arrays, strings, heaps, and a few other things. The string library +has had heavy testing as part of zoem. Both understandably and regrettably I +chose long ago to make it C-string-compatible, hence nul bytes may not be part +of a string. At some point I hope to rectify this, perhaps unrealistically.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +# The Github repo only has earlier tags +source_urls = ['https://micans.org/mcl/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['b0f0549fda1d288ddd22a2675581636a6f4bde0f01e956fcf452d0f815b4964f'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libtingea.%s' % x for x in ('a', SHLIB_EXT)], + 'dirs': ['include/tingea'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0aef22c7496 --- /dev/null +++ b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'cliquer' +version = '1.21' + +homepage = 'https://users.aalto.fi/~pat/cliquer.html' +description = """Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph. + It uses an exact branch-and-bound algorithm developed by Patric Ostergard. It is designed with + the aim of being efficient while still being flexible and easy to use.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://users.aalto.fi/~pat/cliquer/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ff306d27eda82383c0257065e3ffab028415ac9af73bccfdd9c2405b797ed1f1'] + +builddependencies = [('binutils', '2.38')] + +local_sharedlib = 'libcliquer.%s' % SHLIB_EXT + +prebuildopts = 'sed -i "s/^CFLAGS=/CFLAGS=$CFLAGS /" Makefile && ' + +buildopts = ' && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +local_headers = ['cliquer', 'set', 'graph', 'misc', 'reorder', 'cliquerconf'] + +files_to_copy = [ + (['cl'], 'bin'), + ([local_sharedlib], 'lib'), + (['%s.h' % h for h in local_headers], 'include/cliquer'), +] + +sanity_check_paths = { + 'files': ['bin/cl', 'lib/%s' % local_sharedlib] + + ['include/cliquer/%s.h' % h for h in local_headers], + 'dirs': [], +} + +sanity_check_commands = ["cl --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3fa7d597761 --- /dev/null +++ b/easybuild/easyconfigs/c/cliquer/cliquer-1.21-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'cliquer' +version = '1.21' + +homepage = 'https://users.aalto.fi/~pat/cliquer.html' +description = """Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph. + It uses an exact branch-and-bound algorithm developed by Patric Ostergard. It is designed with + the aim of being efficient while still being flexible and easy to use.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://users.aalto.fi/~pat/cliquer/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ff306d27eda82383c0257065e3ffab028415ac9af73bccfdd9c2405b797ed1f1'] + +builddependencies = [('binutils', '2.40')] + +local_sharedlib = 'libcliquer.%s' % SHLIB_EXT + +prebuildopts = 'sed -i "s/^CFLAGS=/CFLAGS=$CFLAGS /" Makefile && ' + +buildopts = ' && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +local_headers = ['cliquer', 'set', 'graph', 'misc', 'reorder', 'cliquerconf'] + +files_to_copy = [ + (['cl'], 'bin'), + ([local_sharedlib], 'lib'), + (['%s.h' % h for h in local_headers], 'include/cliquer'), +] + +sanity_check_paths = { + 'files': ['bin/cl', 'lib/%s' % local_sharedlib] + + ['include/cliquer/%s.h' % h for h in local_headers], + 'dirs': [], +} + +sanity_check_commands = ["cl --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb b/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb new file mode 100644 index 00000000000..3531eb02047 --- /dev/null +++ b/easybuild/easyconfigs/c/cmocean/cmocean-2.0-foss-2022a.eb @@ -0,0 +1,31 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = "PythonBundle" + +name = 'cmocean' +version = '2.0' + +homepage = 'https://github.com/matplotlib/cmocean' +description = """This package contains colormaps for commonly-used +oceanographic variables. Most of the colormaps started from +matplotlib colormaps, but have now been adjusted using the viscm +tool to be perceptually uniform.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['13eea3c8994d8e303e32a2db0b3e686f6edfb41cb21e7b0e663c2b17eea9b03a'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..93f75f90c53 --- /dev/null +++ b/easybuild/easyconfigs/c/cmph/cmph-2.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'cmph' +version = '2.0' + +homepage = 'https://sourceforge.net/projects/cmph/' +description = """ +Cmph is a free minimal perfect hash C library, providing several algorithms in the literature +in a consistent, ease to use, API. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/%(name)s/files/%(name)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['ad6c9a75ff3da1fb1222cac0c1d9877f4f2366c5c61c92338c942314230cba76'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/cmph'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + "cmph -h", +] + +moduleclass = 'lib' 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-cli/code-cli-1.93.1-x64.eb b/easybuild/easyconfigs/c/code-cli/code-cli-1.93.1-x64.eb new file mode 100644 index 00000000000..48e53c03e62 --- /dev/null +++ b/easybuild/easyconfigs/c/code-cli/code-cli-1.93.1-x64.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'code-cli' +version = '1.93.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 = ['1fd27b23ca8c6f4b55922de3181b312a094d8aa18ad6e0a716b7b94224064288'] + +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.16.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.16.1.eb new file mode 100644 index 00000000000..6f0b3e039d9 --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.16.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.16.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': + 'e10bc642be9fe8a802f556737b1bbb910ef818979a35034b092c85e62a42d1a7', + 'code-server-%(version)s-linux-arm64.tar.gz': + 'a256429887531d855baaa6b14b25906f69fa4b4a977b1ae0def001016fb37b81', + } +] + +moduleclass = 'tools' 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/code-server/code-server-4.89.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb new file mode 100644 index 00000000000..dfd586cb4fc --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.89.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.89.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': + '5c3769b1ab5cbb2eceb092524dc46f558905e4260155b477d3a313f9ea25ca33', + 'code-server-%(version)s-linux-arm64.tar.gz': + '69d3d1f7158d6e2125bd2f831611ab959a2aa80d5a7d96422a44070eb2b8645b', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb new file mode 100644 index 00000000000..2b8d9965a8c --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.9.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.9.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': + '3ea79c9dc03544ea06abe7da660c1bc0e4376337070211d98ffa8c33889cd57e', + 'code-server-%(version)s-linux-arm64.tar.gz': + '6e9fedb726eb13b5ef60a77bf16a1ee9911684b7e211e90eee7a0e9e82bac9e4', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.90.2.eb b/easybuild/easyconfigs/c/code-server/code-server-4.90.2.eb new file mode 100644 index 00000000000..d85b34c752c --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.90.2.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.90.2' + +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': + 'c66b57759e41c66c28577eaefa4cce106f7b5ad5fb3ab394baea5eaa5b604cce', + 'code-server-%(version)s-linux-arm64.tar.gz': + '12e51e3575069c438aa4dee93bddfc221e7850192a7745b84fc77b420cedf205', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/code-server/code-server-4.93.1.eb b/easybuild/easyconfigs/c/code-server/code-server-4.93.1.eb new file mode 100644 index 00000000000..3217ab284bf --- /dev/null +++ b/easybuild/easyconfigs/c/code-server/code-server-4.93.1.eb @@ -0,0 +1,20 @@ +name = 'code-server' +version = '4.93.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': + '8c001f865cf082e914375e8f28e9e15b25faa1f3de455ddc30158d54fc2326d3', + 'code-server-%(version)s-linux-arm64.tar.gz': + '1e29278529d0d8376d1344ed816b37f4e88a5ba16ce74cb1173fe437c8519852', + } +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/colorize/colorize-0.7.7-GCC-12.3.0.eb b/easybuild/easyconfigs/c/colorize/colorize-0.7.7-GCC-12.3.0.eb new file mode 100644 index 00000000000..35921013c3e --- /dev/null +++ b/easybuild/easyconfigs/c/colorize/colorize-0.7.7-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'RubyGem' + +name = 'colorize' +version = '0.7.7' + +homepage = 'https://github.com/fazibear/colorize' +description = """Ruby gem for colorizing text using ANSI escape sequences. +Extends String class or add a ColorizedString with methods to set the text color, background color and text effects.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://rubygems.org/downloads/'] +sources = ['%(name)s-%(version)s.gem'] +checksums = ['d6ab95a5fcdea3c36c3327d38c1e79e2950ee1788506d8489ae35db330937a99'] + +gem_file = '%(name)s-%(version)s.gem' + +dependencies = [ + ('Ruby', '3.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['gems/%(namelower)s-%(version)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..805ff73105f --- /dev/null +++ b/easybuild/easyconfigs/c/colossalai/colossalai-0.1.8-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'colossalai' +version = '0.1.8' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://colossalai.org/' +description = """Colossal-AI: A Unified Deep Learning System for Big Model Era""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyTorch-Lightning', '1.5.9', versionsuffix), + ('torchvision', '0.11.1', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cfgv', '3.3.1', { + 'checksums': ['f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736'], + }), + ('identify', '2.5.1', { + 'checksums': ['3d11b16f3fe19f52039fb7e39c9c884b21cb1b586988114fbe42671f03de3e82'], + }), + ('nodeenv', '1.6.0', { + 'checksums': ['3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b'], + }), + ('pre_commit', '2.19.0', { + 'checksums': ['4233a1e38621c87d9dda9808c6606d7e7ba0e087cd56d3fe03202a01d2919615'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.4.4', { + 'checksums': ['4c586de507202505346f3e32d1363eb9ed6932f0c2f63184dea88983ff4971e2'], + }), + ('invoke', '1.7.1', { + 'checksums': ['7b6deaf585eee0a848205d0b8c0014b9bf6f287a8eb798818a642dff1df14b19'], + }), + ('fabric', '2.7.1', { + 'checksums': ['76f8fef59cf2061dbd849bbce4fe49bdd820884385004b0ca59136ac3db129e4'], + }), + (name, version, { + 'source_urls': ['https://github.com/hpcaitech/ColossalAI/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e0975cd9a0860a2d00d1f725baaee3652e2f601724968628d8750021ef483320'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..705bdc29700 --- /dev/null +++ b/easybuild/easyconfigs/c/conan/conan-1.58.0-GCCcore-11.3.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'conan' +version = '1.58.0' + +homepage = 'https://conan.io' +description = "Decentralized, open-source (MIT), C/C++ package manager." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('bottle', '0.12.23', { + 'checksums': ['683de3aa399fb26e87b274dbcf70b1a651385d459131716387abdc3792e04167'], + }), + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('node-semver', '0.6.1', { + 'checksums': ['4016f7c1071b0493f18db69ea02d3763e98a633606d7c7beca811e53b5ac66b7'], + 'modulename': 'semver', + }), + ('patch-ng', '1.17.4', { + 'checksums': ['627abc5bd723c8b481e96849b9734b10065426224d4d22cd44137004ac0d4ace'], + }), + ('pluginbase', '1.0.1', { + 'checksums': ['ff6c33a98fce232e9c73841d787a643de574937069f0d18147028d70d7dee287'], + }), + ('PyJWT', '2.6.0', { + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + 'modulename': 'jwt', + }), + (name, version, { + 'checksums': ['001039c40b523ac3b26bb675eb90887760b06c657a0d10d60157e382ba2f9b73'], + }), +] + +sanity_check_paths = { + 'files': ['bin/conan'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["conan --help"] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3c8de0638ed --- /dev/null +++ b/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'conan' +version = '1.60.2' # have to stick to an older version because catboost is not compatible with newer one + +homepage = 'https://conan.io' +description = "Decentralized, open-source (MIT), C/C++ package manager." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('bottle', '0.12.25', { + 'checksums': ['e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('node-semver', '0.6.1', { + 'modulename': 'semver', + 'checksums': ['4016f7c1071b0493f18db69ea02d3763e98a633606d7c7beca811e53b5ac66b7'], + }), + ('patch-ng', '1.17.4', { + 'checksums': ['627abc5bd723c8b481e96849b9734b10065426224d4d22cd44137004ac0d4ace'], + }), + ('pluginbase', '1.0.1', { + 'checksums': ['ff6c33a98fce232e9c73841d787a643de574937069f0d18147028d70d7dee287'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/conan-io/conan/archive/'], + 'checksums': ['63dc6e92fc7f1d77fe08488bd78cd8a20fdddf454e55e1244107d1aec974377c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/conan'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["conan --help"] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb index 9af97e3a882..818e21acc00 100644 --- a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.4.0-GCCcore-10.3.0.eb @@ -14,7 +14,7 @@ builddependencies = { } dependencies = [ - ('nodejs', '14.17.2'), + ('nodejs', '14.17.0'), ] source_urls = ['https://github.com/jupyterhub/configurable-http-proxy/archive/'] diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7ae94e8d06f --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.3-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.5.3' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = { + ('binutils', '2.38'), +} + +dependencies = [ + ('nodejs', '16.15.1'), +] + +source_urls = ['https://github.com/jupyterhub/configurable-http-proxy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b3bb67baa097ff670ad4e3c7770ccd5468f4fb56a91d91b735c9b8bdecee935e'] + +install_cmd = 'npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz' + +sanity_check_paths = { + 'files': ['bin/configurable-http-proxy'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..19c72968045 --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.5-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.5.5' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = { + ('binutils', '2.39'), +} + +dependencies = [ + ('nodejs', '18.12.1'), +] + +source_urls = ['https://github.com/jupyterhub/configurable-http-proxy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6f2fc05ae9277d76ab5fb4cfe7c98276cd6bd526ba1841dd9af2cea529526b66'] + +install_cmd = 'npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz' + +sanity_check_paths = { + 'files': ['bin/configurable-http-proxy'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fc58c50bc75 --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.5.6-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.5.6' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/jupyterhub/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4d9d94d0e6e44542ac973963b8a6545f4b40c0a2995e865ae9c80a2279e1e0ab'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('nodejs', '18.17.1'), +] + +install_cmd = "npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz" + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c8aae63595d --- /dev/null +++ b/easybuild/easyconfigs/c/configurable-http-proxy/configurable-http-proxy-4.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'Binary' + +name = 'configurable-http-proxy' +version = '4.6.1' + +homepage = 'https://github.com/jupyterhub/configurable-http-proxy' +description = """HTTP proxy for node.js including a REST API for updating the routing table. + Developed as a part of the Jupyter Hub multi-user server.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/jupyterhub/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['52bac444b1a0629e7817102949f685bdb719d0cbfd0abbaeaa91d42f1ed60852'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('nodejs', '20.9.0'), +] + +install_cmd = "npm install --no-package-lock -g --prefix %(installdir)s %(version)s.tar.gz" + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.12.1-foss-2022b.eb b/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.12.1-foss-2022b.eb new file mode 100644 index 00000000000..c1828ecce9e --- /dev/null +++ b/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.12.1-foss-2022b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'connected-components-3d' +version = '3.12.1' + +homepage = 'https://github.com/seung-lab/connected-components-3d/' +description = """cc3d is an implementation of connected components in three dimensions using a 26, 18, + or 6-connected neighborhood in 3D or 4 and 8-connected in 2D.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e40445bccbea51bb8ba256411f9e8fc7e43226502af5a913f090ec81181daf1f'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'cc3d'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.14.1-foss-2023a.eb b/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.14.1-foss-2023a.eb new file mode 100644 index 00000000000..5a366beb6d0 --- /dev/null +++ b/easybuild/easyconfigs/c/connected-components-3d/connected-components-3d-3.14.1-foss-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'connected-components-3d' +version = '3.14.1' + +homepage = 'https://github.com/seung-lab/connected-components-3d/' +description = """cc3d is an implementation of connected components in three dimensions using a 26, 18, + or 6-connected neighborhood in 3D or 4 and 8-connected in 2D.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fdc4099508b734b266a42ee12534ee42e29467c28506b137e8c1edc8c7513c92'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'cc3d'} + +moduleclass = 'data' 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/cooler/cooler-0.10.2-foss-2023a.eb b/easybuild/easyconfigs/c/cooler/cooler-0.10.2-foss-2023a.eb new file mode 100644 index 00000000000..57091228de3 --- /dev/null +++ b/easybuild/easyconfigs/c/cooler/cooler-0.10.2-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'cooler' +version = '0.10.2' + +homepage = 'https://open2c.github.io/cooler' +description = """Cooler is a support library for a storage format, also called cooler, used to store + genomic interaction data of any size, such as Hi-C contact matrices.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('pyfaidx', '0.8.1.1'), +] + +use_pip = True + +exts_list = [ + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('cytoolz', '0.12.3', { + 'checksums': ['4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282'], + }), + ('dill', '0.3.8', { + 'checksums': ['3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca'], + }), + ('multiprocess', '0.70.16', { + 'checksums': ['161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1'], + }), + (name, version, { + 'checksums': ['3780a2e69b2ec89882dfc2775de5d9b54ccb79569dc5f042b4851599388112dc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb new file mode 100644 index 00000000000..75afbccdbac --- /dev/null +++ b/easybuild/easyconfigs/c/cooler/cooler-0.9.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'cooler' +version = '0.9.1' + +homepage = 'https://open2c.github.io/cooler' +description = """Cooler is a support library for a storage format, also called cooler, used to store + genomic interaction data of any size, such as Hi-C contact matrices.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('PyYAML', '6.0'), + ('pyfaidx', '0.7.1'), +] + +use_pip = True + +exts_list = [ + # cooler 0.9.1 requires setuptools >= 64.0 + ('setuptools', '67.2.0', { + 'checksums': ['b440ee5f7e607bb8c9de15259dba2583dd41a38879a7abc1d43a71c59524da48'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('cytoolz', '0.12.1', { + 'checksums': ['fc33909397481c90de3cec831bfb88d97e220dc91939d996920202f184b4648e'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('multiprocess', '0.70.14', { + 'checksums': ['3eddafc12f2260d27ae03fe6069b12570ab4764ab59a75e81624fac453fbf46a'], + }), + (name, version, { + 'checksums': ['e29ee54797c71c5e3af520772e32d664e7fd09318f15c318777dd62125b15731'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/corner/corner-2.2.2-foss-2021b.eb b/easybuild/easyconfigs/c/corner/corner-2.2.2-foss-2021b.eb new file mode 100644 index 00000000000..dbd2c511b8b --- /dev/null +++ b/easybuild/easyconfigs/c/corner/corner-2.2.2-foss-2021b.eb @@ -0,0 +1,25 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'corner' +version = '2.2.2' + +homepage = 'https://corner.readthedocs.io/en/latest/' +description = """Make some beautiful corner plots.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4bc79f3b6778c270103f0926e64ef2606c48c3b6f92daf5382fc4babf5d608d1'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/c/coverage/coverage-5.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/coverage/coverage-5.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9d69f0f5eb8 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-5.5-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'coverage' +version = '5.5' + +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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), +] + +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/coverage/coverage-5.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/coverage/coverage-5.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..dcb38a14b2e --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-5.5-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'coverage' +version = '5.5' + +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +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/coverage/coverage-7.2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..724f8c3da15 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.2.3-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +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.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d298c2815fa4891edd9abe5ad6e6cb4207104c7dd9fd13aea3fdebf6f9b91259'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +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/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/coverage/coverage-7.2.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.2.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..75b1ec28581 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.2.7-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'coverage' +version = '7.2.7' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +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'], +} + +sanity_check_commands = ["coverage --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b35ff457d61 --- /dev/null +++ b/easybuild/easyconfigs/c/coverage/coverage-7.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'coverage' +version = '7.4.4' + +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': '13.2.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.5')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49'], + }), +] + +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/coxeter/coxeter-20180226-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/coxeter/coxeter-20180226-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..247bb5ac24d --- /dev/null +++ b/easybuild/easyconfigs/c/coxeter/coxeter-20180226-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'coxeter' +version = '20180226' +local_commit = '7b5a1f0' + +homepage = 'https://github.com/tscrim/coxeter' +description = """A library for the study of combinatorial aspects of Coxeter group theory""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/tscrim/coxeter/archive/%s/' % local_commit] +sources = [SOURCE_TAR_GZ] +patches = [ + 'coxeter-20180226_makefile.patch', + ('coxeter-20180226_sage_interface.patch', 0), +] +checksums = [ + {'coxeter-20180226.tar.gz': '5e0668c40b29c03c438a6ebc0f49f13aaf155b4bcbff56303a753390e6fce3aa'}, + {'coxeter-20180226_makefile.patch': '229ed201e41bae0ae7b22aa21d5007127aeb52fd158543dd5fff2e89797e211f'}, + {'coxeter-20180226_sage_interface.patch': '18ba75e51a944ffccb7fa440b823f68a0aad9066e8edcdd2b52bac6b43404bd3'}, +] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' +preinstallopts = 'mkdir -p "%(installdir)s/bin" "%(installdir)s/lib" && ' +installopts = 'SAGE_LOCAL="%(installdir)s"' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s', + 'lib/lib%%(name)s3.%s' % SHLIB_EXT, + ], + 'dirs': [ + 'include/%(name)s', + 'share/%(name)s', + ] +} + +sanity_check_commands = ['echo "qq" | coxeter'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/c/coxeter/coxeter-20180226_makefile.patch b/easybuild/easyconfigs/c/coxeter/coxeter-20180226_makefile.patch new file mode 100644 index 00000000000..d00d6860689 --- /dev/null +++ b/easybuild/easyconfigs/c/coxeter/coxeter-20180226_makefile.patch @@ -0,0 +1,101 @@ +Allows installation of files needed for Sagemath +Source: https://gitlab.archlinux.org/archlinux/packaging/packages/coxeter/-/blob/main/coxeter-makefile.patch +diff -u makefile.orig makefile +--- makefile.orig 2018-02-26 13:57:36.000000000 +0100 ++++ makefile 2024-08-16 14:15:51.889503570 +0200 +@@ -12,6 +12,7 @@ + gflags = -c $(includedirs) -g + + cflags = $(gflags) # the default setting ++cflags = -c $(includedirs) $(CPPFLAGS) $(CXXFLAGS) -fPIC + + ifdef optimize + NDEBUG = true +@@ -22,18 +23,74 @@ + cflags = $(pflags) + endif + +-cc = g++ ++EXENAME = coxeter ++LIBNAME = coxeter3 ++ifeq ($(UNAME),Darwin) ++ EXEEXT = ++ LIBPREFIX = lib ++ LIBEXT = .dylib ++ LIBDIR = lib ++ LINKFLAGS = -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,3.0,-current_version,3.0,-install_name,$(SAGE_LOCAL)/lib/$(LIBPREFIX)$(LIBNAME)$(LIBEXT) ++ LINKLIBS = ++else ++ifeq ($(UNAME),CYGWIN) ++ EXEEXT = .exe ++ LIBPREFIX = cyg ++ LIBEXT = .dll ++ LIBDIR = bin ++ IMPLIB = lib$(LIBNAME).dll.a ++ LINKFLAGS = -shared -Wl,--out-implib=$(IMPLIB) -Wl,--export-all-symbols ++ LINKLIBS = -lc ++else ++ EXEEXT = ++ LIBPREFIX = lib ++ LIBEXT = .so ++ LIBDIR = lib ++ LINKFLAGS = $(LDFLAGS) -shared -Wl,-soname,libcoxeter3.so ++ LINKLIBS = -lc ++endif ++endif ++LIBRARY = $(LIBPREFIX)$(LIBNAME)$(LIBEXT) + +-all: coxeter #clean ++all: coxeter executable + + coxeter: $(objects) +- $(cc) -o coxeter $(objects) ++ $(CXX) $(LINKFLAGS) -o $(LIBRARY) $(objects) $(LINKLIBS) ++ ++executable: $(objects) ++ $(CXX) $(LDFLAGS) -o $(EXENAME)$(EXEEXT) $(objects) ++ ++DATADIR="$$SAGE_LOCAL/share/coxeter/" ++INCLUDEDIR="$$SAGE_LOCAL/include/coxeter/" ++LIBRARYDIR="$$SAGE_LOCAL/$(LIBDIR)" ++ ++install: coxeter executable ++ cp $(EXENAME)$(EXEEXT) "$$SAGE_LOCAL/bin/" ++ cp $(LIBRARY) $(LIBRARYDIR) ++ if [ $(UNAME) = "CYGWIN" ]; then \ ++ cp $(IMPLIB) "$$SAGE_LOCAL/lib/"; \ ++ fi ++ ++ mkdir -p $(DATADIR) ++ cp -r coxeter_matrices headers messages $(DATADIR) ++ mkdir -p $(INCLUDEDIR) ++ cp -r *.h *.hpp $(INCLUDEDIR) ++ ++check: coxeter executable ++ $(EXENAME)$(EXEEXT) < test.input > test.output ++ ++ if ! diff test.output.expected test.output > /dev/null; then \ ++ echo >&2 "Error testing coxeter on test.input:"; \ ++ diff test.output.expected test.output; \ ++ exit 1; \ ++ fi ++ rm -f test.output + + clean: + rm -f $(objects) + + %.o:%.cpp +- $(cc) $(cflags) $*.cpp ++ $(CXX) $(cflags) $*.cpp + + # dependencies --- these were generated automatically by make depend on my + # system; they are explicitly copied for portability. Only local dependencies +@@ -43,7 +100,7 @@ + # contents of tmp in lieu of the dependencies listed here. + + %.d:%.cpp +- @$(cc) -MM $*.cpp ++ @$(CXX) -MM $*.cpp + depend: $(dependencies) + + affine.o: affine.cpp affine.h globals.h coxgroup.h coxtypes.h io.h list.h \ diff --git a/easybuild/easyconfigs/c/coxeter/coxeter-20180226_sage_interface.patch b/easybuild/easyconfigs/c/coxeter/coxeter-20180226_sage_interface.patch new file mode 100644 index 00000000000..2b4cd427ca9 --- /dev/null +++ b/easybuild/easyconfigs/c/coxeter/coxeter-20180226_sage_interface.patch @@ -0,0 +1,89 @@ +Adds sage interface. See https://github.com/tscrim/coxeter/pull/14 +Source: https://gitlab.archlinux.org/archlinux/packaging/packages/coxeter/-/blob/git.20180226-4/coxeter-sage.patch +diff -u /dev/null sage.h +--- /dev/null 2024-08-27 08:29:37.672016778 +0200 ++++ sage.h 2024-08-27 12:17:23.716096310 +0200 +@@ -0,0 +1,23 @@ ++/* ++ Coxeter version 3.0 Copyright (C) 2009 Mike Hansen ++ See file main.cpp for full copyright notice ++*/ ++ ++#ifndef SAGE_H /* guard against multiple inclusions */ ++#define SAGE_H ++ ++#include "globals.h" ++#include "coxgroup.h" ++#include "coxtypes.h" ++#include "schubert.h" ++#include "list.h" ++ ++namespace sage { ++ using namespace coxeter; ++ using namespace coxtypes; ++ using namespace list; ++ ++ void interval(List& result, CoxGroup& W, const CoxWord& g, const CoxWord& h); ++} ++ ++#endif +diff -u /dev/null sage.cpp +--- /dev/null 2024-08-27 08:29:37.672016778 +0200 ++++ sage.cpp 2024-08-27 12:17:23.716096310 +0200 +@@ -0,0 +1,56 @@ ++/* ++ Coxeter version 3.0 Copyright (C) 2009 Mike Hansen ++ See file main.cpp for full copyright notice ++*/ ++ ++#include "sage.h" ++ ++namespace sage { ++ ++ void interval(List& list, CoxGroup& W, const CoxWord& g, const CoxWord& h) ++ ++ /* ++ Returns a list of the elements in the Bruhat interval between g and h. ++ Note that this assumes that g and h are in order. ++ */ ++ { ++ if (not W.inOrder(g,h)) { ++ return; ++ } ++ ++ W.extendContext(h); ++ ++ CoxNbr x = W.contextNumber(g); ++ CoxNbr y = W.contextNumber(h); ++ ++ BitMap b(W.contextSize()); ++ W.extractClosure(b,y); ++ ++ BitMap::ReverseIterator b_rend = b.rend(); ++ List res(0); ++ ++ for (BitMap::ReverseIterator i = b.rbegin(); i != b_rend; ++i) ++ if (not W.inOrder(x,*i)) { ++ BitMap bi(W.contextSize()); ++ W.extractClosure(bi,*i); ++ CoxNbr z = *i; // andnot will invalidate iterator ++ b.andnot(bi); ++ b.setBit(z); // otherwise the decrement will not be correct ++ } else ++ res.append(*i); ++ ++ schubert::NFCompare nfc(W.schubert(),W.ordering()); ++ Permutation a(res.size()); ++ sortI(res,nfc,a); ++ ++ list.setSize(0); ++ for (size_t j = 0; j < res.size(); ++j) { ++ CoxWord w(0); ++ W.schubert().append(w, res[a[j]]); ++ list.append(w); ++ } ++ ++ return; ++ } ++ ++} diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.14-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.14-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..42a7a98c148 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.14-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.14' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/cpio/'] +sources = ['cpio-%(version)s.tar.bz2'] +checksums = ['fcdc15d60f7267a6fc7efcd6b9db7b6c8966c4f2fbbb964c24d41336fd3f2c12'] + +builddependencies = [ + ('binutils', '2.38'), + ('makeinfo', '6.8'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f97452acc3d --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.39'), + ('makeinfo', '7.0.3'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..88be666ec15 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.0.3'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..43cc1783368 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.1'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3640f333607 --- /dev/null +++ b/easybuild/easyconfigs/c/cpio/cpio-2.15-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' +name = 'cpio' +version = '2.15' + +homepage = "https://savannah.gnu.org/projects/cpio/" +description = """The cpio package contains tools for archiving.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db'] + +builddependencies = [ + ('binutils', '2.42'), + ('makeinfo', '7.1'), +] + +postinstallcmds = ['makeinfo --plaintext -o %(installdir)s/doc/cpio.txt doc/cpio.texi'] + +sanity_check_paths = { + 'files': ['bin/cpio'], + 'dirs': [] +} + +sanity_check_commands = ['cpio --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b8528af84e4 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'cppy' +version = '1.1.0' + +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': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), +] + +source_urls = ['https://github.com/nucleic/cppy/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['40a9672df1ec2d7f0b54f70e574101f42131c0f5e47980769f68085e728a4934'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c117ab10281 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'cppy' +version = '1.1.0' + +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': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +source_urls = ['https://github.com/nucleic/cppy/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['40a9672df1ec2d7f0b54f70e574101f42131c0f5e47980769f68085e728a4934'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1816a938378 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +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': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ab70c069ba6 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +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': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), +] + +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..23edeb73aa1 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-12.3.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': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), +] + +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/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/cppy/cppy-1.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3043857d925 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-GCCcore-13.3.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.3.0'} + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), +] + +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/cppy/cppy-1.2.1-manual_version.patch b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-manual_version.patch new file mode 100644 index 00000000000..b439cd08cc9 --- /dev/null +++ b/easybuild/easyconfigs/c/cppy/cppy-1.2.1-manual_version.patch @@ -0,0 +1,69 @@ +Putting a manually typed version in pyproject.toml, as it wouldnt resolve automatically. +Author: Denis Kristak (Inuits) +diff -ruN cppy-1.2.1_orig/pyproject.toml cppy-1.2.1/pyproject.toml +--- cppy-1.2.1_orig/pyproject.toml 2022-03-30 21:39:41.000000000 +0200 ++++ cppy-1.2.1/pyproject.toml 2023-08-14 14:04:36.664029166 +0200 +@@ -8,6 +8,7 @@ + + [project] + name = "cppy" ++version = "1.2.1" + readme = "README.rst" + requires-python = ">=3.7" + license = {file = "LICENSE"} +@@ -27,8 +28,7 @@ + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: Implementation :: CPython", + ] +-dynamic=["version"] +- ++dynamic=[] + + [project.urls] + homepage = "https://github.com/nucleic/cppy" +@@ -36,42 +36,10 @@ + repository = "https://github.com/nucleic/cppy" + changelog = "https://github.com/nucleic/cppy/blob/main/releasenotes.rst" + +- + [build-system] +-requires = ["setuptools>=61.2", "wheel", "setuptools_scm[toml]>=3.4.3"] ++requires = ["setuptools>=61.2", "wheel"] + build-backend = "setuptools.build_meta" + + [tool.setuptools] + packages = ["cppy"] +-package-data = {cppy = ["include/cppy/*.h"]} +- +-[tool.setuptools_scm] +-write_to = "cppy/version.py" +-write_to_template = """ +-# ----------------------------------------------------------------------------- +-# Copyright (c) 2014-2022, Nucleic Development Team. +-# +-# Distributed under the terms of the Modified BSD License. +-# +-# The full license is in the file LICENSE, distributed with this software. +-# ----------------------------------------------------------------------------- +-# This file is auto-generated by setuptools-scm do NOT edit it. +- +-from collections import namedtuple +- +-#: A namedtuple of the version info for the current release. +-_version_info = namedtuple("_version_info", "major minor micro status") +- +-parts = "{version}".split(".", 3) +-__version_info__ = _version_info( +- int(parts[0]), +- int(parts[1]), +- int(parts[2]), +- parts[3] if len(parts) == 4 else "", +-) +- +-# Remove everything but the 'version_info' from this module. +-del namedtuple, _version_info, parts +- +-__version__ = "{version}" +-""" ++package-data = {cppy = ["include/cppy/*.h"]} +\ No newline at end of file \ No newline at end of file diff --git a/easybuild/easyconfigs/c/cppyy/cppyy-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cppyy/cppyy-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1747d5f73c6 --- /dev/null +++ b/easybuild/easyconfigs/c/cppyy/cppyy-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'cppyy' +version = '3.0.0' + +homepage = "https://cppyy.readthedocs.io" +description = """cppyy is an automatic, run-time, Python-C++ bindings generator, + for calling C++ from Python and Python from C++.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +exts_list = [ + ('cppyy-cling', '6.28.0', { + 'modulename': False, + 'preinstallopts': 'export STDCXX=14 && ', + 'checksums': ['ae67fc338510d03b68dde08add5b519e2c6434d40fe07e23e7ebace3caa684e7'], + }), + ('cppyy-backend', '1.14.11', { + 'checksums': ['2d329adce65b421a4e8a1af36116fb1756571349dc6b22a9ac3dde54b2a30af1'], + }), + ('CPyCppyy', '1.12.13', { + 'modulename': False, + 'checksums': ['f8c8c05b1eb8f0ccaed07b5069efabecff791bbe5e1b5be86767d32974e833d4'], + }), + (name, version, { + 'checksums': ['9c7c1c113d771488cee0bf63f26d2bbf4f42de731eb63776e007cb0d9e23d3d8'], + }), + ('cppyythonizations', '1.2.2', { + 'source_tmpl': 'cppyythonizations-%(version)s-py3-none-any.whl', + 'checksums': ['fa7805cea410955583d0add18e6d5b2d17740310eed974fcc65271ee9ba6da20'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bcd242d9d23 --- /dev/null +++ b/easybuild/easyconfigs/c/cppyy/cppyy-3.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'cppyy' +version = '3.1.2' + +homepage = "https://cppyy.readthedocs.io" +description = """cppyy is an automatic, run-time, Python-C++ bindings generator, + for calling C++ from Python and Python from C++.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +exts_list = [ + ('cppyy-cling', '6.30.0', { + 'modulename': False, + 'preinstallopts': "export STDCXX=14 && ", + 'checksums': ['5d9e0551a4cb618eb3392001b3dc2c6294f02257f02fcd4d868999ba04f92af1'], + }), + ('cppyy-backend', '1.15.2', { + 'checksums': ['8d0ec169f6ea40d26999a61b274ce2ac880082e8d16aace6a0702933d3d835fc'], + }), + ('CPyCppyy', '1.12.16', { + 'modulename': False, + 'checksums': ['09a845652ac1a82777ec499dda862f54493c1560e9df4cadecda09ecde9e4202'], + }), + (name, version, { + 'checksums': ['7937d184af02e1510f44d5655e0bcc3c6a7888ef5b3f06c3dd09ba93d1c1f19b'], + }), + ('cppyythonizations', '1.2.3', { + 'source_tmpl': 'cppyythonizations-%(version)s-py3-none-any.whl', + 'checksums': ['a08bb4fbaf0fc6b980211e7b549b06869f5b9f9cb835b3ab6224cae5905fd8c2'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb b/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb new file mode 100644 index 00000000000..86ae2b180e9 --- /dev/null +++ b/easybuild/easyconfigs/c/cppzmq/cppzmq-4.9.0.eb @@ -0,0 +1,30 @@ +# ll4strw Lorentz Institute +easyblock = 'CMakeMake' + +name = 'cppzmq' +version = '4.9.0' + +homepage = 'https://github.com/zeromq/cppzmq' +description = "cppzmq is a C++ binding for libzmq." + +toolchain = SYSTEM + +source_urls = ['https://github.com/zeromq/%(name)s/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fdf5b100206953f674c94d40599bdb3ea255244dcc42fab0d75855ee3645581'] + +builddependencies = [ + ('GCCcore', '11.2.0'), # required for hierarchical module naming scheme + ('binutils', '2.37', '', ('GCCcore', '11.2.0')), + ('CMake', '3.22.1', '', ('GCCcore', '11.2.0')), + ('ZeroMQ', '4.3.4', '', ('GCCcore', '11.2.0')), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['include/zmq.hpp'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cpu_features/cpu_features-0.6.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/cpu_features/cpu_features-0.6.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..42da9feba78 --- /dev/null +++ b/easybuild/easyconfigs/c/cpu_features/cpu_features-0.6.0-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'cpu_features' +version = '0.6.0' + +homepage = 'https://github.com/google/cpu_features' +description = """A cross-platform C library to retrieve CPU features (such as available instructions) at runtime.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/google/cpu_features/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['95a1cf6f24948031df114798a97eea2a71143bd38a4d07d9a758dda3924c1932'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +modextrapaths = {'CPATH': 'include/cpu_features'} + +sanity_check_paths = { + 'files': ['bin/list_cpu_features', 'lib/libcpu_features.a'], + 'dirs': ['include/cpu_features/'] +} + +sanity_check_commands = ['list_cpu_features'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cramino/cramino-0.14.5-GCC-12.3.0.eb b/easybuild/easyconfigs/c/cramino/cramino-0.14.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..49c61ff64fb --- /dev/null +++ b/easybuild/easyconfigs/c/cramino/cramino-0.14.5-GCC-12.3.0.eb @@ -0,0 +1,351 @@ +easyblock = 'Cargo' + +name = 'cramino' +version = '0.14.5' + +homepage = 'https://github.com/wdecoster/cramino' +description = """A tool for quick quality assessment of cram and bam files, intended for long read sequencing.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wdecoster/cramino/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.14.5.tar.gz': 'd3b31ab76808ca76171e2539cfe30e66fe24cbd4af4ff9a941c282a0bc438032'}, + {'ahash-0.8.9.tar.gz': 'd713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anstream-0.6.12.tar.gz': '96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'anstyle-parse-0.2.3.tar.gz': 'c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c'}, + {'anstyle-query-1.0.2.tar.gz': 'e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648'}, + {'anstyle-wincon-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'arrow-50.0.0.tar.gz': 'aa285343fba4d829d49985bdc541e3789cf6000ed0e84be7c039438df4a4e78c'}, + {'arrow-arith-50.0.0.tar.gz': '753abd0a5290c1bcade7c6623a556f7d1659c5f4148b140b5b63ce7bd1a45705'}, + {'arrow-array-50.0.0.tar.gz': 'd390feeb7f21b78ec997a4081a025baef1e2e0d6069e181939b61864c9779609'}, + {'arrow-buffer-50.0.0.tar.gz': '69615b061701bcdffbc62756bc7e85c827d5290b472b580c972ebbbf690f5aa4'}, + {'arrow-cast-50.0.0.tar.gz': 'e448e5dd2f4113bf5b74a1f26531708f5edcacc77335b7066f9398f4bcf4cdef'}, + {'arrow-csv-50.0.0.tar.gz': '46af72211f0712612f5b18325530b9ad1bfbdc87290d5fbfd32a7da128983781'}, + {'arrow-data-50.0.0.tar.gz': '67d644b91a162f3ad3135ce1184d0a31c28b816a581e08f29e8e9277a574c64e'}, + {'arrow-ipc-50.0.0.tar.gz': '03dea5e79b48de6c2e04f03f62b0afea7105be7b77d134f6c5414868feefb80d'}, + {'arrow-json-50.0.0.tar.gz': '8950719280397a47d37ac01492e3506a8a724b3fb81001900b866637a829ee0f'}, + {'arrow-ord-50.0.0.tar.gz': '1ed9630979034077982d8e74a942b7ac228f33dd93a93b615b4d02ad60c260be'}, + {'arrow-row-50.0.0.tar.gz': '007035e17ae09c4e8993e4cb8b5b96edf0afb927cd38e2dff27189b274d83dcf'}, + {'arrow-schema-50.0.0.tar.gz': '0ff3e9c01f7cd169379d269f926892d0e622a704960350d09d331be3ec9e0029'}, + {'arrow-select-50.0.0.tar.gz': '1ce20973c1912de6514348e064829e50947e35977bb9d7fb637dc99ea9ffd78c'}, + {'arrow-string-50.0.0.tar.gz': '00f3b37f2aeece31a2636d1b037dabb69ef590e03bdc7eb68519b51ec86932a7'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.21.7.tar.gz': '9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567'}, + {'bio-types-1.0.1.tar.gz': '9d45749b87f21808051025e9bf714d14ff4627f9d8ca967eade6946ea769aa4a'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bumpalo-3.15.1.tar.gz': 'c764d619ca78fccbf3069b37bd7af92577f044bb15236036662d79b6559f25b7'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.86.tar.gz': '7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.34.tar.gz': '5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b'}, + {'clap-4.5.1.tar.gz': 'c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da'}, + {'clap_builder-4.5.1.tar.gz': '9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'const-random-0.1.17.tar.gz': '5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a'}, + {'const-random-macro-0.1.16.tar.gz': 'f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e'}, + {'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'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'csv-1.3.0.tar.gz': 'ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe'}, + {'csv-core-0.1.11.tar.gz': '5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70'}, + {'ctor-0.2.6.tar.gz': '30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e'}, + {'curl-sys-0.4.72+curl-8.6.0.tar.gz': '29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'env_filter-0.1.0.tar.gz': 'a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea'}, + {'env_logger-0.11.2.tar.gz': '6c012a26a7f605efc424dd53697843a72be7dc86ad2d01f7814337794a12231d'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'flatbuffers-23.5.26.tar.gz': '4dac53e22462d78c16d64a1cd22371b54cc3fe94aa15e7886a2fa6e5d1ab8640'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hts-sys-2.1.1.tar.gz': 'deebfb779c734d542e7f14c298597914b9b5425e4089aef482eacb5cab941915'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'iana-time-zone-0.1.60.tar.gz': 'e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'indexmap-2.2.3.tar.gz': '233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'js-sys-0.3.68.tar.gz': '406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee'}, + {'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.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libz-sys-1.1.15.tar.gz': '037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'num-0.4.1.tar.gz': 'b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af'}, + {'num-bigint-0.4.4.tar.gz': '608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-iter-0.1.44.tar.gz': 'd869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9'}, + {'num-rational-0.4.1.tar.gz': '0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'openssl-src-300.2.3+3.2.1.tar.gz': '5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843'}, + {'openssl-sys-0.9.100.tar.gz': 'ae94056a791d0e1217d18b6cbdccb02c61e3054fc69893607f4067e3bb0b1fd1'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.4.5.tar.gz': '5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rust-htslib-0.46.0.tar.gz': 'aec6f9ca4601beb4ae75ff8c99144dd15de5a873f6adf058da299962c760968e'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'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'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.50.tar.gz': '74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb'}, + {'thiserror-1.0.57.tar.gz': '1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b'}, + {'thiserror-impl-1.0.57.tar.gz': 'a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81'}, + {'tiny-keccak-2.0.2.tar.gz': '2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'unicode-bidi-0.3.15.tar.gz': '08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.23.tar.gz': 'a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5'}, + {'unzip-n-0.1.2.tar.gz': 'c2e7e85a0596447f0f2ac090e16bc4c516c6fe91771fb0c0ccf7fa3dae896b9c'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.91.tar.gz': 'c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f'}, + {'wasm-bindgen-backend-0.2.91.tar.gz': 'c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b'}, + {'wasm-bindgen-macro-0.2.91.tar.gz': 'b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed'}, + {'wasm-bindgen-macro-support-0.2.91.tar.gz': '642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66'}, + {'wasm-bindgen-shared-0.2.91.tar.gz': '4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'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'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, +] + +crates = [ + ('ahash', '0.8.9'), + ('aho-corasick', '1.1.2'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anstream', '0.6.12'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('arrow', '50.0.0'), + ('arrow-arith', '50.0.0'), + ('arrow-array', '50.0.0'), + ('arrow-buffer', '50.0.0'), + ('arrow-cast', '50.0.0'), + ('arrow-csv', '50.0.0'), + ('arrow-data', '50.0.0'), + ('arrow-ipc', '50.0.0'), + ('arrow-json', '50.0.0'), + ('arrow-ord', '50.0.0'), + ('arrow-row', '50.0.0'), + ('arrow-schema', '50.0.0'), + ('arrow-select', '50.0.0'), + ('arrow-string', '50.0.0'), + ('autocfg', '1.1.0'), + ('base64', '0.21.7'), + ('bio-types', '1.0.1'), + ('bitflags', '1.3.2'), + ('bumpalo', '3.15.1'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.86'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.34'), + ('clap', '4.5.1'), + ('clap_builder', '4.5.1'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('cmake', '0.1.50'), + ('colorchoice', '1.0.0'), + ('const-random', '0.1.17'), + ('const-random-macro', '0.1.16'), + ('core-foundation-sys', '0.8.6'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('crunchy', '0.2.2'), + ('csv', '1.3.0'), + ('csv-core', '0.1.11'), + ('ctor', '0.2.6'), + ('curl-sys', '0.4.72+curl-8.6.0'), + ('custom_derive', '0.1.7'), + ('derive-new', '0.5.9'), + ('either', '1.10.0'), + ('env_filter', '0.1.0'), + ('env_logger', '0.11.2'), + ('equivalent', '1.0.1'), + ('flatbuffers', '23.5.26'), + ('form_urlencoded', '1.2.1'), + ('fs-utils', '1.1.4'), + ('getrandom', '0.2.12'), + ('glob', '0.3.1'), + ('half', '2.3.1'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hts-sys', '2.1.1'), + ('humantime', '2.1.0'), + ('iana-time-zone', '0.1.60'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('ieee754', '0.2.6'), + ('indexmap', '2.2.3'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('js-sys', '0.3.68'), + ('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.153'), + ('libm', '0.2.8'), + ('libz-sys', '1.1.15'), + ('linear-map', '1.2.0'), + ('log', '0.4.20'), + ('lzma-sys', '0.1.20'), + ('memchr', '2.7.1'), + ('newtype_derive', '0.1.6'), + ('num', '0.4.1'), + ('num-bigint', '0.4.4'), + ('num-complex', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-iter', '0.1.44'), + ('num-rational', '0.4.1'), + ('num-traits', '0.2.18'), + ('once_cell', '1.19.0'), + ('openssl-src', '300.2.3+3.2.1'), + ('openssl-sys', '0.9.100'), + ('percent-encoding', '2.3.1'), + ('pkg-config', '0.3.30'), + ('proc-macro2', '1.0.78'), + ('quick-error', '1.2.3'), + ('quote', '1.0.35'), + ('rayon', '1.8.1'), + ('rayon-core', '1.12.1'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.5'), + ('regex-syntax', '0.8.2'), + ('rust-htslib', '0.46.0'), + ('rustc_version', '0.1.7'), + ('rustc_version', '0.4.0'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.17'), + ('semver', '0.1.20'), + ('semver', '1.0.22'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('serde_json', '1.0.114'), + ('static_assertions', '1.1.0'), + ('strsim', '0.11.0'), + ('strum_macros', '0.25.3'), + ('syn', '1.0.109'), + ('syn', '2.0.50'), + ('thiserror', '1.0.57'), + ('thiserror-impl', '1.0.57'), + ('tiny-keccak', '2.0.2'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.15'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.23'), + ('unzip-n', '0.1.2'), + ('url', '2.5.0'), + ('utf8parse', '0.2.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.91'), + ('wasm-bindgen-backend', '0.2.91'), + ('wasm-bindgen-macro', '0.2.91'), + ('wasm-bindgen-macro-support', '0.2.91'), + ('wasm-bindgen-shared', '0.2.91'), + ('windows-core', '0.52.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'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +builddependencies = [ + ('Rust', '1.75.0'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-GCC-12.3.0.eb b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-GCC-12.3.0.eb new file mode 100644 index 00000000000..c9e4de852a5 --- /dev/null +++ b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-GCC-12.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'crb-blast' +version = '0.6.9' + +homepage = 'https://github.com/cboursnell/crb-blast' +description = """Conditional Reciprocal Best BLAST - high confidence ortholog assignment.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('Ruby', '3.3.0'), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +exts_defaultclass = 'RubyGem' + +exts_list = [ + ('facade', '1.2.1', { + 'checksums': ['0764de5519088227675a2a67da23322500c3c507b89486d91296e031d87d036e'], + }), + ('pathname2', '1.8.4', { + 'checksums': ['1711264f3f7c1b380f96e1f0383b135d9703488f7b1acf66346a176efc257b7a'], + }), + ('fixwhich', '1.0.2', { + 'checksums': ['c6a8f796a7eb60ffbc29f0d2af85461761a36c2864d25e445ff18bfbd1657078'], + }), + ('bindeps', '1.2.1', { + 'checksums': ['3c11d75aa722bed67246852bb430a182361a128910d384b664b91f3e65bc34b5'], + }), + ('bio', '1.6.0.pre.20181210', { + 'checksums': ['c4114aeb99b012f90660b92ead4ca88c1578fd58252ed3ec46eb45dc4a2c6cc9'], + }), + ('threach', '0.2.0', { + 'checksums': ['432cbf3569bf9b09e26f93d0959fd6fb911c71e790e8a4cc4d1110e139a2ffca'], + }), + ('trollop', '2.9.10', { + 'checksums': ['ceca2d91f349163d6ee3e792d356d4ded7472e6da31ac6dcc5956d1b03607bf7'], + }), + (name, version, { + 'checksums': ['69c346e7d83efe9b9a383a39b57e7cce186a82b7074f275b14906f8f05678e3e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['gems/%(namelower)s-%(version)s'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +modextrapaths = {'GEM_PATH': ['']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021a.eb b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021a.eb new file mode 100644 index 00000000000..e52b70cf4a8 --- /dev/null +++ b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021a.eb @@ -0,0 +1,63 @@ +easyblock = 'Bundle' + +name = 'crb-blast' +version = '0.6.9' + +homepage = 'https://github.com/cboursnell/crb-blast' +description = """Conditional Reciprocal Best BLAST - high confidence ortholog assignment. + CRB-BLAST is a novel method for finding orthologs between one set of sequences and another. + This is particularly useful in genome and transcriptome annotation.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +dependencies = [ + ('Ruby', '3.0.1'), + ('BLAST+', '2.11.0'), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# this is a bundle of Ruby gems +exts_defaultclass = 'RubyGem' + +exts_list = [ + ('facade', '1.2.1', { + 'checksums': ['0764de5519088227675a2a67da23322500c3c507b89486d91296e031d87d036e'], + }), + ('pathname2', '1.8.4', { + 'checksums': ['1711264f3f7c1b380f96e1f0383b135d9703488f7b1acf66346a176efc257b7a'], + }), + ('fixwhich', '1.0.2', { + 'checksums': ['c6a8f796a7eb60ffbc29f0d2af85461761a36c2864d25e445ff18bfbd1657078'], + }), + ('bindeps', '1.2.1', { + 'checksums': ['3c11d75aa722bed67246852bb430a182361a128910d384b664b91f3e65bc34b5'], + }), + ('threach', '0.2.0', { + 'checksums': ['432cbf3569bf9b09e26f93d0959fd6fb911c71e790e8a4cc4d1110e139a2ffca'], + }), + ('bio', '1.5.2', { + 'checksums': ['68a453cdb87e5c8d7ad4b2ad5e76e81822193be0623f53cf53356ca95b55a6b4'], + }), + ('trollop', '2.9.10', { + 'checksums': ['ceca2d91f349163d6ee3e792d356d4ded7472e6da31ac6dcc5956d1b03607bf7'], + }), + (name, version, { + 'checksums': ['69c346e7d83efe9b9a383a39b57e7cce186a82b7074f275b14906f8f05678e3e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bioruby', 'bin/br_biofetch.rb', 'bin/br_bioflat.rb', 'bin/br_biogetseq.rb', + 'bin/br_pmfetch.rb', 'bin/%(name)s'], + 'dirs': ['gems'], +} + +sanity_check_commands = ["crb-blast --help"] + +modextrapaths = {'GEM_PATH': ['']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021b.eb b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021b.eb new file mode 100644 index 00000000000..75bf3cf868b --- /dev/null +++ b/easybuild/easyconfigs/c/crb-blast/crb-blast-0.6.9-gompi-2021b.eb @@ -0,0 +1,63 @@ +easyblock = 'Bundle' + +name = 'crb-blast' +version = '0.6.9' + +homepage = 'https://github.com/cboursnell/crb-blast' +description = """Conditional Reciprocal Best BLAST - high confidence ortholog assignment. + CRB-BLAST is a novel method for finding orthologs between one set of sequences and another. + This is particularly useful in genome and transcriptome annotation.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +dependencies = [ + ('Ruby', '3.0.1'), + ('BLAST+', '2.12.0'), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# this is a bundle of Ruby gems +exts_defaultclass = 'RubyGem' + +exts_list = [ + ('facade', '1.2.1', { + 'checksums': ['0764de5519088227675a2a67da23322500c3c507b89486d91296e031d87d036e'], + }), + ('pathname2', '1.8.4', { + 'checksums': ['1711264f3f7c1b380f96e1f0383b135d9703488f7b1acf66346a176efc257b7a'], + }), + ('fixwhich', '1.0.2', { + 'checksums': ['c6a8f796a7eb60ffbc29f0d2af85461761a36c2864d25e445ff18bfbd1657078'], + }), + ('bindeps', '1.2.1', { + 'checksums': ['3c11d75aa722bed67246852bb430a182361a128910d384b664b91f3e65bc34b5'], + }), + ('threach', '0.2.0', { + 'checksums': ['432cbf3569bf9b09e26f93d0959fd6fb911c71e790e8a4cc4d1110e139a2ffca'], + }), + ('bio', '1.5.2', { + 'checksums': ['68a453cdb87e5c8d7ad4b2ad5e76e81822193be0623f53cf53356ca95b55a6b4'], + }), + ('trollop', '2.9.10', { + 'checksums': ['ceca2d91f349163d6ee3e792d356d4ded7472e6da31ac6dcc5956d1b03607bf7'], + }), + (name, version, { + 'checksums': ['69c346e7d83efe9b9a383a39b57e7cce186a82b7074f275b14906f8f05678e3e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bioruby', 'bin/br_biofetch.rb', 'bin/br_bioflat.rb', 'bin/br_biogetseq.rb', + 'bin/br_pmfetch.rb', 'bin/%(name)s'], + 'dirs': ['gems'], +} + +sanity_check_commands = ["%(name)s --help"] + +modextrapaths = {'GEM_PATH': ['']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cromwell/cromwell-56-Java-11.eb b/easybuild/easyconfigs/c/cromwell/cromwell-56-Java-11.eb new file mode 100644 index 00000000000..4e68ade3eeb --- /dev/null +++ b/easybuild/easyconfigs/c/cromwell/cromwell-56-Java-11.eb @@ -0,0 +1,37 @@ +easyblock = 'JAR' + +name = 'cromwell' +version = '56' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://cromwell.readthedocs.io/' +description = """Cromwell is a Workflow Management System geared towards scientific workflows.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/broadinstitute/%(name)s/releases/download/%(version)s/'] +sources = [ + '%(name)s-%(version)s.jar', + 'womtool-%(version)s.jar', +] +checksums = [ + '955502419cfec2a687ea56f7f4a433b395af09c9a078e60a5676c7ad56c3965d', # cromwell-56.jar + '0f561c0d387412715f1f688ad5ae7cd4d8af3dc8d68c69ae9fc35ecae4f481c6', # womtool-56.jar +] + +dependencies = [('Java', '11')] + +postinstallcmds = [ + "mv %(installdir)s/%(name)s-%(version)s.jar %(installdir)s/%(name)s.jar", + "mv %(installdir)s/womtool-%(version)s.jar %(installdir)s/womtool.jar", +] + +sanity_check_paths = { + 'files': ['%(name)s.jar', 'womtool.jar'], + 'dirs': [], +} + +modloadmsg = "To execute %(name)s, run: java -jar $EBROOTCROMWELL/%(name)s.jar" +modloadmsg += "\nTo execute womtool, run: java -jar $EBROOTCROMWELL/womtool.jar" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..09d586708fb --- /dev/null +++ b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.2.0.eb @@ -0,0 +1,55 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'crossguid' +local_commit = 'ca1bf4b' +version = '20190529' + +homepage = 'https://github.com/graeme-hill/crossguid' +description = """ +CrossGuid is a minimal, cross platform, C++ GUID library. +It uses the best native GUID/UUID generator on the given platform and has a +generic class for parsing, stringifying, and comparing IDs. +The guid generation technique is determined by your platform:""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/graeme-hill/crossguid/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['crossguid-20190529_fix_libuuid.patch'] + +checksums = [ + '6be27e0b3a4907f0cd3cfadec255ee1b925569e1bd06e67a4d2f4267299b69c4', # crossguid-20190529.tar.gz + '9ee0f76e18b465ec93364d44d2adb7643081a5b5eee4524a14544472581d7782', # crossguid-20190529_fix_libuuid.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('util-linux', '2.37'), +] + +# build demo +# build static and shared libraries +configopts = ["-DCROSSGUID_TESTS=ON -DBUILD_SHARED_LIBS=%s" % local_shared for local_shared in ('OFF', 'ON')] + +# we want to have the crossguid-test +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin/', + 'cp -a crossguid-test %(installdir)s/bin/', +] + +sanity_check_paths = { + 'files': ['lib/libcrossguid.a', 'bin/crossguid-test'], + 'dirs': ['include'], +} + +sanity_check_commands = ["crossguid-test"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c080deabf3c --- /dev/null +++ b/easybuild/easyconfigs/c/crossguid/crossguid-20190529-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'crossguid' +local_commit = 'ca1bf4b' +version = '20190529' + +homepage = 'https://github.com/graeme-hill/crossguid' +description = """ +CrossGuid is a minimal, cross platform, C++ GUID library. +It uses the best native GUID/UUID generator on the given platform and has a +generic class for parsing, stringifying, and comparing IDs. +The guid generation technique is determined by your platform:""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/graeme-hill/crossguid/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['crossguid-20190529_fix_libuuid.patch'] + +checksums = [ + '6be27e0b3a4907f0cd3cfadec255ee1b925569e1bd06e67a4d2f4267299b69c4', # crossguid-20190529.tar.gz + '9ee0f76e18b465ec93364d44d2adb7643081a5b5eee4524a14544472581d7782', # crossguid-20190529_fix_libuuid.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('util-linux', '2.38'), +] + +# build demo +# build static and shared libraries +configopts = ["-DCROSSGUID_TESTS=ON -DBUILD_SHARED_LIBS=%s" % local_shared for local_shared in ('OFF', 'ON')] + +# we want to have the crossguid-test +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin/', + 'cp -a crossguid-test %(installdir)s/bin/', +] + +sanity_check_paths = { + 'files': ['lib/libcrossguid.a', 'bin/crossguid-test'], + 'dirs': ['include'], +} + +sanity_check_commands = [('crossguid-test')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch b/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch new file mode 100644 index 00000000000..d75df709152 --- /dev/null +++ b/easybuild/easyconfigs/c/crossguid/crossguid-20190529_fix_libuuid.patch @@ -0,0 +1,19 @@ +Updates the older Libuuid to LibUUID so CMake does not complain +Author: J. Sassmannshausen +diff --git a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/CMakeLists.txt b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/CMakeLists.txt +index 76b5a62..03291c5 100644 +--- a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/CMakeLists.txt ++++ b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/CMakeLists.txt +@@ -30,7 +30,7 @@ elseif(ANDROID) + # GUID_ANDROID is used in the headers, so make PUBLIC + target_compile_definitions(crossguid PUBLIC GUID_ANDROID) + else() +- find_package(Libuuid REQUIRED) ++ find_package(LibUUID REQUIRED) + if (NOT LIBUUID_FOUND) + message(FATAL_ERROR + "You might need to run 'sudo apt-get install uuid-dev' or similar") +diff --git a/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/cmake/FindLibuuid.cmake b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/cmake/FindLibUUID.cmake +similarity index 100% +rename from crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.orig/cmake/FindLibuuid.cmake +rename to crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681/cmake/FindLibUUID.cmake diff --git a/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..81b96e34eb7 --- /dev/null +++ b/easybuild/easyconfigs/c/cryoCARE/cryoCARE-0.2.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,58 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'cryoCARE' +version = '0.2.1' +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': '2021a'} + + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('TensorFlow', '2.6.0', versionsuffix), + ('mrcfile', '1.3.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + (name, version, { + 'checksums': ['b66989acb6eadf771de08a46e4860d041113527205eebb2cf5d13ae3dc9cb43b'], + }), +] + +sanity_check_commands = [ + 'cryoCARE_extract_train_data.py --help', + 'cryoCARE_train.py --help', + 'cryoCARE_predict.py --help', +] + +moduleclass = 'vis' 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/cryoDRGN/cryoDRGN-0.3.2-fosscuda-2020b.eb b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.2-fosscuda-2020b.eb index 5d9c5f8d478..2a47fefb4a8 100644 --- a/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.2-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.2-fosscuda-2020b.eb @@ -47,9 +47,27 @@ exts_list = [ 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/zhonge/cryodrgn/archive'], 'checksums': ['1efecc2a0add2392411076082c122039a490f5ddf3e01f1da38aea1a81592077'], + 'postinstallcmds': [ + 'cp utils/* analysis_scripts/* %(installdir)s/bin', + 'chmod +x %(installdir)s/bin/*.py', + ], }), ] -sanity_check_commands = ["%(namelower)s --help"] +fix_python_shebang_for = ['bin/*.py'] + +local_scripts = [ + 'add_psize', 'filter_mrcs', 'filter_pkl', 'filter_star', 'flip_hand', 'fsc', 'invert_contrast', 'kmeans', + 'phase_flip', 'plotfsc', 'plot_loss', 'plot_z1', 'plot_z2', 'plot_z_pca', 'run_umap', 'translate_stack', 'tsne', + 'view_header', 'view_stack', 'write_starfile' +] + +sanity_check_paths = { + 'files': ['bin/%s.py' % x for x in local_scripts], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s --help'] +sanity_check_commands += ['%s.py -h' % x for x in local_scripts] moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.5-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.5-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..893db52f7bb --- /dev/null +++ b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-0.3.5-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'cryoDRGN' +version = '0.3.5' +versionsuffix = '-CUDA-11.3.1' + +homepage = 'https://cb.csail.mit.edu/cb/cryodrgn/' +description = """cryoDRGN: Deep Reconstructing Generative Networks for cryo-EM heterogeneous + reconstruction. + CryoDRGN is a neural network based algorithm for heterogeneous cryo-EM reconstruction. In + particular, the method models a continuous distribution over 3D structures by using a neural + network based representation for the volume. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('IPython', '7.25.0'), + ('JupyterLab', '3.0.16'), + ('PyTorch', '1.10.0', versionsuffix), + ('numba', '0.53.1'), + ('plotly.py', '5.1.0'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('colorlover', '0.3.0', { + 'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'], + }), + ('cufflinks', '0.17.3', { + 'checksums': ['48c1b3406dc030004121966489eebc5518cea70fd4e3f16379b491328501a644'], + }), + ('pynndescent', '0.5.6', { + 'checksums': ['61fb31885baac469d67933e2c7c935b6edebb06ee498e2f0f9dfc97c59d3725c'], + }), + ('umap-learn', '0.5.3', { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), + ('cryodrgn', version, { + 'postinstallcmds': [ + 'cp utils/* analysis_scripts/* %(installdir)s/bin', + 'chmod +x %(installdir)s/bin/*.py', + ], + 'source_urls': ['https://github.com/zhonge/cryodrgn/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['93f0c939376154bcd5c677406251a6aff794e5d62299a01cdecae1c4947d38e4'], + }), +] + +fix_python_shebang_for = ['bin/*.py'] + +local_scripts = [ + 'add_psize', 'filter_mrcs', 'filter_pkl', 'filter_star', 'flip_hand', 'fsc', 'invert_contrast', 'kmeans', + 'phase_flip', 'plotfsc', 'plot_loss', 'plot_z1', 'plot_z2', 'plot_z_pca', 'run_umap', 'translate_stack', 'tsne', + 'view_header', 'view_stack', +] + +sanity_check_paths = { + 'files': ['bin/%s.py' % x for x in local_scripts], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s --help'] +sanity_check_commands += ['%s.py -h' % x for x in local_scripts] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-1.0.0-beta-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-1.0.0-beta-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..ecd4a3500a5 --- /dev/null +++ b/easybuild/easyconfigs/c/cryoDRGN/cryoDRGN-1.0.0-beta-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'cryoDRGN' +version = '1.0.0-beta' +versionsuffix = '-CUDA-11.3.1' + +homepage = 'https://cb.csail.mit.edu/cb/cryodrgn/' +description = """cryoDRGN: Deep Reconstructing Generative Networks for cryo-EM heterogeneous + reconstruction. + CryoDRGN is a neural network based algorithm for heterogeneous cryo-EM reconstruction. In + particular, the method models a continuous distribution over 3D structures by using a neural + network based representation for the volume. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('IPython', '7.25.0'), + ('JupyterLab', '3.0.16'), + ('PyTorch', '1.10.0', versionsuffix), + ('numba', '0.53.1'), + ('plotly.py', '5.1.0'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('colorlover', '0.3.0', { + 'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'], + }), + ('cufflinks', '0.17.3', { + 'checksums': ['48c1b3406dc030004121966489eebc5518cea70fd4e3f16379b491328501a644'], + }), + ('pynndescent', '0.5.6', { + 'checksums': ['61fb31885baac469d67933e2c7c935b6edebb06ee498e2f0f9dfc97c59d3725c'], + }), + ('umap-learn', '0.5.3', { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), + ('cryodrgn', version, { + 'postinstallcmds': [ + 'cp utils/* analysis_scripts/* %(installdir)s/bin', + 'chmod +x %(installdir)s/bin/*.py', + ], + 'source_urls': ['https://github.com/zhonge/cryodrgn/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['8e671289bf839ff65433c6758b9ad14d4d7ca419cf3852587b01d850691c57d2'], + }), +] + +fix_python_shebang_for = ['bin/*.py'] + +local_scripts = [ + 'add_psize', 'filter_mrcs', 'filter_pkl', 'filter_star', 'flip_hand', 'fsc', 'invert_contrast', 'kmeans', + 'phase_flip', 'plotfsc', 'plot_loss', 'plot_z1', 'plot_z2', 'plot_z_pca', 'run_umap', 'translate_stack', 'tsne', + 'view_header', 'view_stack', +] + +sanity_check_paths = { + 'files': ['bin/%s.py' % x for x in local_scripts], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s --help'] +sanity_check_commands += ['%s.py -h' % x for x in local_scripts] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/c/crypt4gh/crypt4gh-1.7-GCC-12.3.0.eb b/easybuild/easyconfigs/c/crypt4gh/crypt4gh-1.7-GCC-12.3.0.eb new file mode 100644 index 00000000000..c52d7b3d83d --- /dev/null +++ b/easybuild/easyconfigs/c/crypt4gh/crypt4gh-1.7-GCC-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'crypt4gh' +version = '1.7' + +homepage = 'https://github.com/EGA-archive/crypt4gh' +description = """crypt4gh is a Python tool to encrypt, decrypt or re-encrypt files, +according to the GA4GH encryption file format.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('PyYAML', '6.0'), + ('cryptography', '41.0.1'), + ('bcrypt', '4.0.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['1569bc4ff9b689c8852e3892ac3f6fea4b31948ca0b1e5bc28d0d2f80def2a28'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ['crypt4gh -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cryptography/cryptography-41.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cryptography/cryptography-41.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1a55594e9a4 --- /dev/null +++ b/easybuild/easyconfigs/c/cryptography/cryptography-41.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,142 @@ +easyblock = 'CargoPythonPackage' + +name = 'cryptography' +version = '41.0.1' + +homepage = 'https://github.com/pyca/cryptography' +description = "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Rust', '1.70.0'), # required for cryptography + ('hatchling', '1.18.0'), + ('setuptools-rust', '1.6.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('cffi', '1.15.1'), +] + +crates = [ + ('Inflector', '0.11.4'), + ('aliasable', '0.1.3'), + ('asn1', '0.15.2'), + ('asn1_derive', '0.15.2'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('indoc', '1.0.9'), + ('libc', '0.2.144'), + ('lock_api', '0.4.9'), + ('memoffset', '0.8.0'), + ('once_cell', '1.17.2'), + ('openssl', '0.10.54'), + ('openssl-macros', '0.1.1'), + ('openssl-sys', '0.9.88'), + ('ouroboros', '0.15.6'), + ('ouroboros_macro', '0.15.6'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.7'), + ('pem', '1.1.1'), + ('pkg-config', '0.3.27'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.59'), + ('pyo3', '0.18.3'), + ('pyo3-build-config', '0.18.3'), + ('pyo3-ffi', '0.18.3'), + ('pyo3-macros', '0.18.3'), + ('pyo3-macros-backend', '0.18.3'), + ('quote', '1.0.28'), + ('redox_syscall', '0.2.16'), + ('scopeguard', '1.1.0'), + ('smallvec', '1.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.18'), + ('target-lexicon', '0.12.7'), + ('unicode-ident', '1.0.9'), + ('unindent', '0.1.11'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('windows-sys', '0.45.0'), + ('windows-targets', '0.42.2'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_msvc', '0.42.2'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_msvc', '0.42.2'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'cryptography-41.0.1.tar.gz': 'd34579085401d3f49762d2f7d6634d6b6c2ae1242202e860f4d26b046e3a1006'}, + {'Inflector-0.11.4.tar.gz': 'fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3'}, + {'aliasable-0.1.3.tar.gz': '250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd'}, + {'asn1-0.15.2.tar.gz': '28c19b9324de5b815b6487e0f8098312791b09de0dbf3d5c2db1fe2d95bab973'}, + {'asn1_derive-0.15.2.tar.gz': 'a045c3ccad89f244a86bd1e6cf1a7bf645296e7692698b056399b6efd4639407'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'indoc-1.0.9.tar.gz': 'bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306'}, + {'libc-0.2.144.tar.gz': '2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'once_cell-1.17.2.tar.gz': '9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b'}, + {'openssl-0.10.54.tar.gz': '69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-sys-0.9.88.tar.gz': 'c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617'}, + {'ouroboros-0.15.6.tar.gz': 'e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db'}, + {'ouroboros_macro-0.15.6.tar.gz': '5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.7.tar.gz': '9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521'}, + {'pem-1.1.1.tar.gz': 'a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-1.0.59.tar.gz': '6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b'}, + {'pyo3-0.18.3.tar.gz': 'e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109'}, + {'pyo3-build-config-0.18.3.tar.gz': '9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3'}, + {'pyo3-ffi-0.18.3.tar.gz': 'fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c'}, + {'pyo3-macros-0.18.3.tar.gz': 'a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d'}, + {'pyo3-macros-backend-0.18.3.tar.gz': '97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918'}, + {'quote-1.0.28.tar.gz': '1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'smallvec-1.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.18.tar.gz': '32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e'}, + {'target-lexicon-0.12.7.tar.gz': 'fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5'}, + {'unicode-ident-1.0.9.tar.gz': 'b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0'}, + {'unindent-0.1.11.tar.gz': 'e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cryptography/cryptography-41.0.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cryptography/cryptography-41.0.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..396020d6259 --- /dev/null +++ b/easybuild/easyconfigs/c/cryptography/cryptography-41.0.5-GCCcore-13.2.0.eb @@ -0,0 +1,142 @@ +easyblock = 'CargoPythonPackage' + +name = 'cryptography' +version = '41.0.5' + +homepage = 'https://github.com/pyca/cryptography' +description = "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Rust', '1.73.0'), # required for cryptography + ('hatchling', '1.18.0'), + ('setuptools-rust', '1.8.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('cffi', '1.15.1'), +] + +crates = [ + ('Inflector', '0.11.4'), + ('aliasable', '0.1.3'), + ('asn1', '0.15.2'), + ('asn1_derive', '0.15.2'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('bitflags', '1.3.2'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('indoc', '1.0.9'), + ('libc', '0.2.144'), + ('lock_api', '0.4.9'), + ('memoffset', '0.8.0'), + ('once_cell', '1.17.2'), + ('openssl', '0.10.54'), + ('openssl-macros', '0.1.1'), + ('openssl-sys', '0.9.88'), + ('ouroboros', '0.15.6'), + ('ouroboros_macro', '0.15.6'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.7'), + ('pem', '1.1.1'), + ('pkg-config', '0.3.27'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.64'), + ('pyo3', '0.18.3'), + ('pyo3-build-config', '0.18.3'), + ('pyo3-ffi', '0.18.3'), + ('pyo3-macros', '0.18.3'), + ('pyo3-macros-backend', '0.18.3'), + ('quote', '1.0.28'), + ('redox_syscall', '0.2.16'), + ('scopeguard', '1.1.0'), + ('smallvec', '1.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.18'), + ('target-lexicon', '0.12.7'), + ('unicode-ident', '1.0.9'), + ('unindent', '0.1.11'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('windows-sys', '0.45.0'), + ('windows-targets', '0.42.2'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_msvc', '0.42.2'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_msvc', '0.42.2'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'cryptography-41.0.5.tar.gz': '392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7'}, + {'Inflector-0.11.4.tar.gz': 'fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3'}, + {'aliasable-0.1.3.tar.gz': '250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd'}, + {'asn1-0.15.2.tar.gz': '28c19b9324de5b815b6487e0f8098312791b09de0dbf3d5c2db1fe2d95bab973'}, + {'asn1_derive-0.15.2.tar.gz': 'a045c3ccad89f244a86bd1e6cf1a7bf645296e7692698b056399b6efd4639407'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'indoc-1.0.9.tar.gz': 'bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306'}, + {'libc-0.2.144.tar.gz': '2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'once_cell-1.17.2.tar.gz': '9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b'}, + {'openssl-0.10.54.tar.gz': '69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-sys-0.9.88.tar.gz': 'c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617'}, + {'ouroboros-0.15.6.tar.gz': 'e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db'}, + {'ouroboros_macro-0.15.6.tar.gz': '5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.7.tar.gz': '9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521'}, + {'pem-1.1.1.tar.gz': 'a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-1.0.64.tar.gz': '78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da'}, + {'pyo3-0.18.3.tar.gz': 'e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109'}, + {'pyo3-build-config-0.18.3.tar.gz': '9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3'}, + {'pyo3-ffi-0.18.3.tar.gz': 'fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c'}, + {'pyo3-macros-0.18.3.tar.gz': 'a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d'}, + {'pyo3-macros-backend-0.18.3.tar.gz': '97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918'}, + {'quote-1.0.28.tar.gz': '1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'smallvec-1.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.18.tar.gz': '32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e'}, + {'target-lexicon-0.12.7.tar.gz': 'fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5'}, + {'unicode-ident-1.0.9.tar.gz': 'b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0'}, + {'unindent-0.1.11.tar.gz': 'e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'windows-sys-0.45.0.tar.gz': '75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cryptography/cryptography-42.0.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/c/cryptography/cryptography-42.0.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..be6bff8c478 --- /dev/null +++ b/easybuild/easyconfigs/c/cryptography/cryptography-42.0.8-GCCcore-13.3.0.eb @@ -0,0 +1,131 @@ +easyblock = 'CargoPythonPackage' + +name = 'cryptography' +version = '42.0.8' + +homepage = 'https://github.com/pyca/cryptography' +description = "cryptography is a package designed to expose cryptographic primitives and recipes to Python developers." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Rust', '1.78.0'), # required for cryptography + ('hatchling', '1.24.2'), + ('setuptools-rust', '1.9.0'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('cffi', '1.16.0'), +] +crates = [ + ('asn1', '0.15.5'), + ('asn1_derive', '0.15.5'), + ('autocfg', '1.1.0'), + ('base64', '0.21.7'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('heck', '0.4.1'), + ('indoc', '2.0.4'), + ('libc', '0.2.152'), + ('lock_api', '0.4.11'), + ('memoffset', '0.9.0'), + ('once_cell', '1.19.0'), + ('openssl', '0.10.64'), + ('openssl-macros', '0.1.1'), + ('openssl-sys', '0.9.102'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('pem', '3.0.3'), + ('pkg-config', '0.3.29'), + ('portable-atomic', '1.6.0'), + ('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', '1.0.35'), + ('redox_syscall', '0.4.1'), + ('scopeguard', '1.2.0'), + ('self_cell', '1.0.3'), + ('smallvec', '1.13.1'), + ('syn', '2.0.48'), + ('target-lexicon', '0.12.13'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('vcpkg', '0.2.15'), + ('windows-targets', '0.48.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_msvc', '0.48.5'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'cryptography-42.0.8.tar.gz': '8d09d05439ce7baa8e9e95b07ec5b6c886f548deb7e0f69ef25f64b3bce842f2'}, + {'asn1-0.15.5.tar.gz': 'ae3ecbce89a22627b5e8e6e11d69715617138290289e385cde773b1fe50befdb'}, + {'asn1_derive-0.15.5.tar.gz': '861af988fac460ac69a09f41e6217a8fb9178797b76fcc9478444be6a59be19c'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.21.7.tar.gz': '9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'foreign-types-0.3.2.tar.gz': 'f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1'}, + {'foreign-types-shared-0.1.1.tar.gz': '00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'libc-0.2.152.tar.gz': '13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'openssl-0.10.64.tar.gz': '95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-sys-0.9.102.tar.gz': 'c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'pem-3.0.3.tar.gz': '1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310'}, + {'pkg-config-0.3.29.tar.gz': '2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'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-1.0.35.tar.gz': '291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'self_cell-1.0.3.tar.gz': '58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4f56df24c1c --- /dev/null +++ b/easybuild/easyconfigs/c/csvkit/csvkit-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,89 @@ +easyblock = 'PythonBundle' + +name = 'csvkit' +version = '1.1.0' + +homepage = 'https://github.com/wireservice/csvkit' +description = """csvkit is a suite of command-line tools for converting to and working with CSV, + the king of tabular file formats.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Python', '3.10.4'), + ('openpyxl', '3.0.10'), +] + +use_pip = True +sanity_pip_check = True + +fix_python_shebang_for = ['bin/*'] + +exts_list = [ + ('pytimeparse', '1.1.8', { + 'checksums': ['e86136477be924d7e670646a98561957e8ca7308d44841e21f5ddea757556a0a'], + }), + ('parsedatetime', '2.6', { + 'checksums': ['4cb368fbb18a0b7231f4d76119165451c8d2e35951455dfee97c62a87b04d455'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '8.0.0', { + 'modulename': 'slugify', + 'checksums': ['f1da83f3c7ab839b3f84543470cd95bdb5a81f1a0b80fed502f78b7dca256062'], + }), + ('leather', '0.3.4', { + 'checksums': ['b43e21c8fa46b2679de8449f4d953c06418666dc058ce41055ee8a8d3bb40918'], + }), + ('agate', '1.7.1', { + 'checksums': ['eadf46d980168b8922d5d396d6258eecd5e7dbef7e6f0c0b71e968545ea96389'], + }), + ('olefile', '0.46', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964'], + }), + ('agate-excel', '0.2.5', { + 'modulename': 'agateexcel', + 'checksums': ['62315708433108772f7f610ca769996b468a4ead380076dbaf6ffe262831b153'], + }), + ('dbfread', '2.0.7', { + 'checksums': ['07c8a9af06ffad3f6f03e8fe91ad7d2733e31a26d2b72c4dd4cfbae07ee3b73d'], + }), + ('agate-dbf', '0.2.2', { + 'modulename': 'agatedbf', + 'checksums': ['589682b78c5c03f2dc8511e6e3edb659fb7336cd118e248896bb0b44c2f1917b'], + }), + ('greenlet', '2.0.2', { + 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], + }), + ('SQLAlchemy', '1.4.46', { + 'checksums': ['6913b8247d8a292ef8315162a51931e2b40ce91681f1b6f18f697045200c4a30'], + }), + ('agate-sql', '0.5.9', { + 'modulename': 'agatesql', + 'checksums': ['30b642a32a5b671161abef9e8ec36352f2e78a24ce849054edac6946d8b9ddc6'], + }), + (name, version, { + 'checksums': ['ad836b4ebf17674284ec94e2adeb9bea97367c9c7310187c2d8e2e3f1ded9c13'], + }), +] + +local_binaries = ['in2csv', 'sql2csv', 'csvclean', 'csvcut', 'csvgrep', 'csvjoin', 'csvsort', 'csvstack', 'csvformat', + 'csvjson', 'csvlook', 'csvpy', 'csvsql', 'csvstat'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [('csvlook', '-h')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2019b.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2019b.eb index 9d4f7394fad..6311b4f1128 100644 --- a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2019b.eb +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2019b.eb @@ -18,7 +18,15 @@ toolchainopts = {'openmp': True} source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5'] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..87813b35bd9 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# +# Author: Ake Sandgren, HPC2N, Umea University + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('GSL', '2.7'), + ('wxWidgets', '3.1.5'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021b.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021b.eb new file mode 100644 index 00000000000..00eecab381d --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2021b.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# +# Author: Ake Sandgren, HPC2N, Umea University +# +# Author: Thomas Hoffmann, EMBL Heidelberg + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('GSL', '2.7',), + ('wxWidgets', '3.1.5'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb new file mode 100644 index 00000000000..59e562d1e6b --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# +# Author: Ake Sandgren, HPC2N, Umea University +# +# Author: Thomas Hoffmann, EMBL Heidelberg + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('GSL', '2.7',), + ('wxWidgets', '3.2.1'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022b.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022b.eb new file mode 100644 index 00000000000..ff2bc24f2a4 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.4'), + ('LibTIFF', '4.4.0'), + ('GSL', '2.7',), + ('wxWidgets', '3.2.2.1'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2023a.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2023a.eb new file mode 100644 index 00000000000..38f4a58c5d5 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-foss-2023a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# +# Author: Ake Sandgren, HPC2N, Umea University +# +# Author: Thomas Hoffmann, EMBL Heidelberg + +easyblock = 'ConfigureMake' + +name = 'ctffind' +version = '4.1.14' + +homepage = 'https://grigoriefflab.umassmed.edu/ctffind4' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('GSL', '2.7',), + ('wxWidgets', '3.2.2.1'), +] + +configopts = '--enable-openmp ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/ctffind'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2019b.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2019b.eb index 0df2cde3c70..2a4f2638a2e 100644 --- a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2019b.eb @@ -18,7 +18,15 @@ toolchainopts = {'openmp': True} source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5'] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2020b.eb b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2020b.eb index e011de44edf..978e186cf1c 100644 --- a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14-fosscuda-2020b.eb @@ -18,7 +18,15 @@ toolchainopts = {'openmp': True} source_urls = ['https://grigoriefflab.umassmed.edu/sites/default/files/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5'] +patches = [ + '%(name)s-%(version)s_asm-fix.patch', + '%(name)s-%(version)s_void-functions.patch' +] +checksums = [ + 'db17b2ebeb3c3b2b3764e42b820cd50d19ccccf6956c64257bfe5d5ba6b40cb5', # ctffind-4.1.14.tar.gz + 'e6d468b3f1569e2d42e077573529dbc3035a03715c436d2349ccaaab63b64f28', # ctffind-4.1.14_asm-fix.patch + '0a578328062881d86b10585f1b0efa81b7a1826baf3e7bcc5c749bba73e96d10', # ctffind-4.1.14_void-functions.patch +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_asm-fix.patch b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_asm-fix.patch new file mode 100644 index 00000000000..073e3e5f372 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_asm-fix.patch @@ -0,0 +1,17 @@ +Only use __asm__ on x86 - see https://grigoriefflab.umassmed.edu/comment/1703#comment-1703 +Patch added by Simon Branford (University of Birmingham) +--- src/core/matrix.cpp.orig 2021-07-10 19:11:51.226608000 +0100 ++++ src/core/matrix.cpp 2021-07-10 19:12:09.421456198 +0100 +@@ -4,7 +4,11 @@ + // think i got it from a book i had about game programming in c.. it's probably slower than what the compiler would do these days. + + #define AL_PI 3.14159265358979323846 +-#define _AL_SINCOS(x, s, c) __asm__ ("fsincos" : "=t" (c), "=u" (s) : "0" (x)) ++#if defined(__i386__) || defined(__x86_64__) ++#define _AL_SINCOS(x, s, c) __asm__ ("fsincos" : "=t" (c), "=u" (s) : "0" (x)) ++#else ++#define _AL_SINCOS(x, s, c) s = sinf(x); c = cosf(x); ++#endif + #define FLOATSINCOS(x, s, c) _AL_SINCOS((x) * AL_PI / 128.0, s ,c) + + #define MAKE_ROTATION_f(x, y, z) \ diff --git a/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_void-functions.patch b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_void-functions.patch new file mode 100644 index 00000000000..1ac0eb8913d --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind/ctffind-4.1.14_void-functions.patch @@ -0,0 +1,36 @@ +Change functions with no return from bool to void to prevent a segfault (https://grigoriefflab.umassmed.edu/comment/1696#comment-1696) +Patch added to EasyBuild by Simon Branford (University of Birmingham) +--- src/programs/ctffind/ctffind.cpp.orig 2021-08-09 16:18:25.313802000 +0100 ++++ src/programs/ctffind/ctffind.cpp 2021-08-09 16:19:52.881232575 +0100 +@@ -267,11 +267,11 @@ + float FindRotationalAlignmentBetweenTwoStacksOfImages(Image *self, Image *other_image, int number_of_images, float search_half_range, float search_step_size, float minimum_radius, float maximum_radius); + void ComputeImagesWithNumberOfExtremaAndCTFValues(CTF *ctf, Image *number_of_extrema, Image *ctf_values); + int ReturnSpectrumBinNumber(int number_of_bins, float number_of_extrema_profile[], Image *number_of_extrema, long address, Image *ctf_values, float ctf_values_profile[]); +-bool ComputeRotationalAverageOfPowerSpectrum( Image *spectrum, CTF *ctf, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], double average_renormalized[], float number_of_extrema_profile[], float ctf_values_profile[]); ++void ComputeRotationalAverageOfPowerSpectrum( Image *spectrum, CTF *ctf, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], double average_renormalized[], float number_of_extrema_profile[], float ctf_values_profile[]); + void ComputeEquiPhaseAverageOfPowerSpectrum( Image *spectrum, CTF *ctf, Curve *epa_pre_max, Curve *epa_post_max); + void OverlayCTF( Image *spectrum, CTF *ctf, Image *number_of_extrema, Image *ctf_values, int number_of_bins_in_1d_spectra, double spatial_frequency[], double rotational_average_astig[], float number_of_extrema_profile[], float ctf_values_profile[], Curve *equiphase_average_pre_max, Curve *equiphase_average_post_max); + void ComputeFRCBetween1DSpectrumAndFit( int number_of_bins, double average[], double fit[], float number_of_extrema_profile[], double frc[], double frc_sigma[], int first_fit_bin); +-bool RescaleSpectrumAndRotationalAverage( Image *spectrum, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], float number_of_extrema_profile[], float ctf_values_profile[], int last_bin_without_aliasing, int last_bin_with_good_fit ); ++void RescaleSpectrumAndRotationalAverage( Image *spectrum, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], float number_of_extrema_profile[], float ctf_values_profile[], int last_bin_without_aliasing, int last_bin_with_good_fit ); + void Renormalize1DSpectrumForFRC( int number_of_bins, double average[], double fit[], float number_of_extrema_profile[]); + float ReturnAzimuthToUseFor1DPlots(CTF *ctf); + +@@ -2419,7 +2419,7 @@ + + // Rescale the spectrum and its 1D rotational avereage so that the peaks and troughs are at 0.0 and 1.0. The location of peaks and troughs are worked out + // by parsing the suppilied 1D average_fit array +-bool RescaleSpectrumAndRotationalAverage( Image *spectrum, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], float number_of_extrema_profile[], float ctf_values_profile[], int last_bin_without_aliasing, int last_bin_with_good_fit ) ++void RescaleSpectrumAndRotationalAverage( Image *spectrum, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], float number_of_extrema_profile[], float ctf_values_profile[], int last_bin_without_aliasing, int last_bin_with_good_fit ) + { + MyDebugAssertTrue(spectrum->is_in_memory, "Spectrum memory not allocated"); + MyDebugAssertTrue(number_of_bins > 1,"Bad number of bins: %i\n",number_of_bins); +@@ -2762,7 +2762,7 @@ + } + + // +-bool ComputeRotationalAverageOfPowerSpectrum( Image *spectrum, CTF *ctf, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], double average_rank[], float number_of_extrema_profile[], float ctf_values_profile[]) ++void ComputeRotationalAverageOfPowerSpectrum( Image *spectrum, CTF *ctf, Image *number_of_extrema, Image *ctf_values, int number_of_bins, double spatial_frequency[], double average[], double average_fit[], double average_rank[], float number_of_extrema_profile[], float ctf_values_profile[]) + { + MyDebugAssertTrue(spectrum->is_in_memory, "Spectrum memory not allocated"); + MyDebugAssertTrue(number_of_extrema->is_in_memory,"Number of extrema image not allocated"); diff --git a/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb new file mode 100644 index 00000000000..29cb349d816 --- /dev/null +++ b/easybuild/easyconfigs/c/ctffind5/ctffind5-5.0.2-foss-2023a.eb @@ -0,0 +1,83 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'ConfigureMake' + +name = 'ctffind5' +version = '5.0.2' + +local_commit = 'b21db55a91366fe4f75301c56091d213bbd326eb' +local_branch = 'ctffind5_merge' + +homepage = 'https://grigoriefflab.umassmed.edu/ctf_estimation_ctffind_ctftilt' +description = """Program for finding CTFs of electron micrographs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +# Use git_config in order to allow setting CISTEM_CURRENT_BRANCH and CISTEM_VERSION_TEXT by configure +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': 'cisTEM-ctffind5-%s.tar.gz' % local_commit[:7], + 'git_config': { + 'url': 'https://github.com/timothygrant80', + 'repo_name': 'cisTEM', + 'commit': local_commit, + 'keep_git_dir': True, + } +}] + +# no checksume, due to git_config +checksums = [None] + +# Alternative source: +# https://grigoriefflab.umassmed.edu/sites/default/files/cisTEM-ctffind5-b21db55.tar.gz + +# switch branch in order to inject proper branch name into binary: +preconfigopts = 'git switch --create %s &&' % local_branch + +# disable all targets except for ctffind and applyctf (do not build any other cisTEM tool): +local_remove_targets = """sed -i "s/^bin_PROGRAMS/""" +local_remove_targets += """bin_PROGRAMS=ctffind applyctf\\nnoinst_PROGRAMS/g" """ +local_remove_targets += """ src/Makefile.am &&""" +preconfigopts += local_remove_targets + +# run autotools +preconfigopts += './regenerate_project.b &&' + + +local_configureopts = [ + # '--enable-latest-instruction-set', # don't use; managed by CFLAGS + '--enable-shared', + '--with-gnu-ld', + '--with-wx-config=$EBROOTWXWIDGETS/bin/wx-config', + '--disable-silent-rules', + '--enable-openmp', + '--disable-debugmode' + '--disable-staticmode', + '--enable-experimental', + '--without-cuda', +] + +configopts = ' '.join(local_configureopts) + +builddependencies = [ + ('Autotools', '20220317'), + ('git', '2.41.0', '-nodocs') +] + +dependencies = [ + ('wxWidgets', '3.2.2.1') +] + +sanity_check_paths = { + 'files': ['bin/ctffind', 'bin/applyctf'], + 'dirs': ['bin'], +} + +sanity_check_commands = [ + # ctffind command expects filename of input image via stdin, + # so we pipe in a newline via 'echo' to make it exit + 'echo | ctffind | grep Version | grep %(version)s', + 'echo | ctffind | grep "Library Version" | grep %s' % local_commit[:7], + 'echo | ctffind | grep "Branch" | grep %s' % local_branch, +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.5.0.56-CUDA-10.0.130.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.5.0.56-CUDA-10.0.130.eb index 6c683a45119..6a64dfa0b18 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.5.0.56-CUDA-10.0.130.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.5.0.56-CUDA-10.0.130.eb @@ -19,8 +19,10 @@ description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-ac toolchain = SYSTEM -# Nvidia developer registration required. -# Download link: https://developer.nvidia.com/rdp/cudnn-download +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] sources = ['%%(namelower)s-%s-linux-x64-v%%(version)s.tgz' % local_cuda_version_major_minor] checksums = ['701097882cb745d4683bb7ff6c33b8a35c7c81be31bac78f05bad130e7e0b781'] diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.2.24-CUDA-10.1.243.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.2.24-CUDA-10.1.243.eb index fc8f7094184..c43cc00f79e 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.2.24-CUDA-10.1.243.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.2.24-CUDA-10.1.243.eb @@ -19,8 +19,10 @@ description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-ac toolchain = SYSTEM -# Nvidia developer registration required. -# Download link: https://developer.nvidia.com/rdp/cudnn-download +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] sources = ['%%(namelower)s-%s-linux-x64-v%%(version)s.tgz' % local_cuda_version_major_minor] checksums = ['afbfd6a61e774beb3851742452c007de4f65f8ec0592d583bc6806f8d386cd1f'] diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-CUDA-10.0.130.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-CUDA-10.0.130.eb index eaeeaa1312e..13e777d8ffe 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-CUDA-10.0.130.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-CUDA-10.0.130.eb @@ -19,9 +19,10 @@ description = """The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-ac toolchain = SYSTEM -# Nvidia developer registration required. -# Download link: https://developer.nvidia.com/rdp/cudnn-download -# Download as cudnn-10.0-linux-x64-v7.6.4.38.tgz +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] sources = ['%%(namelower)s-%s-linux-x64-v%%(version)s.tgz' % local_cuda_version_major_minor] checksums = ['417bb5daf51377037eb2f5c87649000ca1b9cec0acb16cfe07cb1d3e9a961dbf'] diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019a.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019a.eb index 9a64bced11c..fc46a1bb656 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019a.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019a.eb @@ -18,8 +18,10 @@ a GPU-accelerated library of primitives for deep neural networks.""" # gcccuda 2019a uses CUDA 10.1 toolchain = {'name': 'gcccuda', 'version': '2019a'} -# Nvidia developer registration required. -# Download link: https://developer.nvidia.com/rdp/cudnn-download +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] sources = ['%(namelower)s-10.1-linux-%(cudnnarch)s-v%(version)s.tgz'] checksums = [ { diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019b.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019b.eb index 81baae2264b..ef2a412c095 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-7.6.4.38-gcccuda-2019b.eb @@ -8,8 +8,10 @@ a GPU-accelerated library of primitives for deep neural networks.""" # gcccuda 2019b uses CUDA 10.1 toolchain = {'name': 'gcccuda', 'version': '2019b'} -# Nvidia developer registration required. -# Download link: https://developer.nvidia.com/rdp/cudnn-download +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] sources = ['%(namelower)s-10.1-linux-%(cudnnarch)s-v%(version)s.tgz'] checksums = [ { diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.1.32-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.1.32-CUDA-11.3.1.eb index bad4ffe62ab..1c264d4ece5 100644 --- a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.1.32-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.1.32-CUDA-11.3.1.eb @@ -27,7 +27,7 @@ checksums = [ } ] -dependencies = [('CUDAcore', local_cuda_version)] +dependencies = [('CUDA', local_cuda_version)] sanity_check_paths = { 'files': ['include/cudnn.h', 'lib64/libcudnn_static.a'], diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.0.eb new file mode 100644 index 00000000000..0f8aaee850c --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.0.eb @@ -0,0 +1,41 @@ +## +# Author: Robert Mijakovic +## + +name = 'cuDNN' +version = '8.2.2.26' +local_cuda_version = '11.4.0' +local_cuda_version_majmin = '.'.join(local_cuda_version.split('.')[:2]) +versionsuffix = '-CUDA-%s' % local_cuda_version + +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 + +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] +local_tarball_tmpl = '-'.join(['%%(namelower)s', local_cuda_version_majmin, 'linux', '%s', 'v%%(version)s.tgz']) +sources = [local_tarball_tmpl % '%(cudnnarch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64sbsa': + 'e240d45d79eecb2257fcb8a219324f19d8e2d6e145fbd035a38d267580d65e9a', + local_tarball_tmpl % 'ppc64le': + 'b11b9e515a86978dc21ab50a7d2320bfb505cbce9dffa25480225c597c682b43', + local_tarball_tmpl % 'x64': + 'fbc631ce19688e87d7d2420403b20db97885b17f718f0f51d7e9fc0905d86e07', + } +] + +dependencies = [('CUDAcore', local_cuda_version)] + +sanity_check_paths = { + 'files': ['include/cudnn.h', 'lib64/libcudnn_static.a'], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.1.eb new file mode 100644 index 00000000000..cb08c8800bc --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.2.2.26-CUDA-11.4.1.eb @@ -0,0 +1,37 @@ +name = 'cuDNN' +version = '8.2.2.26' +local_cuda_version = '11.4.1' +local_cuda_version_majmin = '.'.join(local_cuda_version.split('.')[:2]) +versionsuffix = '-CUDA-%s' % local_cuda_version + +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 + +# By downloading, you accept the cuDNN Software License Agreement +# (https://docs.nvidia.com/deeplearning/sdk/cudnn-sla/index.html) +# accept_eula = True +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/v%s/' % '.'.join(version.split('.')[:3])] +local_tarball_tmpl = '-'.join(['%%(namelower)s', local_cuda_version_majmin, 'linux', '%s', 'v%%(version)s.tgz']) +sources = [local_tarball_tmpl % '%(cudnnarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x64': + 'fbc631ce19688e87d7d2420403b20db97885b17f718f0f51d7e9fc0905d86e07', + local_tarball_tmpl % 'ppc64le': + 'b11b9e515a86978dc21ab50a7d2320bfb505cbce9dffa25480225c597c682b43', + local_tarball_tmpl % 'aarch64sbsa': + 'e240d45d79eecb2257fcb8a219324f19d8e2d6e145fbd035a38d267580d65e9a', + } +] + +dependencies = [('CUDA', local_cuda_version)] + +sanity_check_paths = { + 'files': ['include/cudnn.h', 'lib64/libcudnn_static.a'], + 'dirs': ['include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.0.27-CUDA-11.6.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.0.27-CUDA-11.6.0.eb new file mode 100644 index 00000000000..5c7fe910c68 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.0.27-CUDA-11.6.0.eb @@ -0,0 +1,43 @@ +name = 'cuDNN' +version = '8.4.0.27' +local_cuda_version = '11.6.0' +local_cuda_version_majmin = '.'.join(local_cuda_version.split('.')[:2]) +versionsuffix = '-CUDA-%s' % local_cuda_version + +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 + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%s/' % + ('.'.join(version.split('.')[:3]), local_cuda_version_majmin) +] +local_cudnn_cuda_version = '%%(version)s_cuda{maj_min}'.format(maj_min=local_cuda_version_majmin) +local_tarball_tmpl = '-'.join(['%%(namelower)s', 'linux', '%s', local_cudnn_cuda_version, 'archive.tar.xz']) +sources = [local_tarball_tmpl % '%(cudnnarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x86_64': + 'd19bdafd9800c79d29e6f6fffa9f9e2c10d1132d6c2ff10b1593e057e74dd050', + local_tarball_tmpl % 'ppc64le': + '7ef72353331cf42b357f53cb4a4971fb07e2f0b2ae66e03d54933df52de411c8', + local_tarball_tmpl % 'sbsa': + '3972ab37b6f0271274931f69c5675c3b61d16f8f5a2dedd422a5efd7b0f358e5', + } +] + +dependencies = [('CUDA', local_cuda_version)] + +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/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb new file mode 100644 index 00000000000..2a974448907 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.5.2.eb @@ -0,0 +1,41 @@ +name = 'cuDNN' +version = '8.4.1.50' +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 8.4.1 is not specific to CUDA 11.6, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/11.6/' % local_short_ver, +] +sources = ['%(namelower)s-linux-%(cudnnarch)s-%(version)s_cuda11.6-archive.tar.xz'] +checksums = [ + { + '%(namelower)s-linux-x86_64-%(version)s_cuda11.6-archive.tar.xz': + 'ec96d2376d81fca42bdd3d4c3d705a99b29a065bab57f920561c763e29c67d01', + '%(namelower)s-linux-ppc64le-%(version)s_cuda11.6-archive.tar.xz': + '8b806cbfdc81352bf76716d1e53b42537665d110c6ffc068be910505c10e1b98', + '%(namelower)s-linux-sbsa-%(version)s_cuda11.6-archive.tar.xz': + '0b1b9fac5b78974e2fdaaa74843db18f636ce8f3d999d62ff2a615b9978fc360', + } +] + +dependencies = [('CUDA', '11.5.2')] + +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/cuDNN/cuDNN-8.4.1.50-CUDA-11.6.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.6.0.eb new file mode 100644 index 00000000000..d7f4c0e10db --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.6.0.eb @@ -0,0 +1,43 @@ +name = 'cuDNN' +version = '8.4.1.50' +local_cuda_version = '11.6.0' +local_cuda_version_majmin = '.'.join(local_cuda_version.split('.')[:2]) +versionsuffix = '-CUDA-%s' % local_cuda_version + +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 + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%s/' % + ('.'.join(version.split('.')[:3]), local_cuda_version_majmin) +] +local_cudnn_cuda_version = '%%(version)s_cuda{maj_min}'.format(maj_min=local_cuda_version_majmin) +local_tarball_tmpl = '-'.join(['%%(namelower)s', 'linux', '%s', local_cudnn_cuda_version, 'archive.tar.xz']) +sources = [local_tarball_tmpl % '%(cudnnarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x86_64': + 'ec96d2376d81fca42bdd3d4c3d705a99b29a065bab57f920561c763e29c67d01', + local_tarball_tmpl % 'ppc64le': + '8b806cbfdc81352bf76716d1e53b42537665d110c6ffc068be910505c10e1b98', + local_tarball_tmpl % 'sbsa': + '0b1b9fac5b78974e2fdaaa74843db18f636ce8f3d999d62ff2a615b9978fc360', + } +] + +dependencies = [('CUDA', local_cuda_version)] + +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/cuDNN/cuDNN-8.4.1.50-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9915457ce82 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.4.1.50-CUDA-11.7.0.eb @@ -0,0 +1,41 @@ +name = 'cuDNN' +version = '8.4.1.50' +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 8.4.1 is not specific to CUDA 11.6, +# see also https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions +local_short_ver = '.'.join(version.split('.')[:3]) +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/11.6/' % local_short_ver, +] +sources = ['%(namelower)s-linux-%(cudnnarch)s-%(version)s_cuda11.6-archive.tar.xz'] +checksums = [ + { + '%(namelower)s-linux-x86_64-%(version)s_cuda11.6-archive.tar.xz': + 'ec96d2376d81fca42bdd3d4c3d705a99b29a065bab57f920561c763e29c67d01', + '%(namelower)s-linux-ppc64le-%(version)s_cuda11.6-archive.tar.xz': + '8b806cbfdc81352bf76716d1e53b42537665d110c6ffc068be910505c10e1b98', + '%(namelower)s-linux-sbsa-%(version)s_cuda11.6-archive.tar.xz': + '0b1b9fac5b78974e2fdaaa74843db18f636ce8f3d999d62ff2a615b9978fc360', + } +] + +dependencies = [('CUDA', '11.7.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/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8ea684fedc1 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.5.0.96-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.5.0.96' +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]) +source_urls = ['https://developer.download.nvidia.com/compute/redist/cudnn/' + 'v%s/local_installers/%%(cudashortver)s/' % local_short_ver] +sources = ['%(namelower)s-linux-%(cudnnarch)s-%(version)s_cuda%(cudamajver)s-archive.tar.xz'] +checksums = [ + { + '%(namelower)s-linux-x86_64-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '5454a6fd94f008728caae9adad993c4e85ef36302e26bce43bea7d458a5e7b6d', + '%(namelower)s-linux-ppc64le-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '00373c3d5e0b536a5557d0d0eb50706777f213a222b4030e1b71b1bec43d205f', + '%(namelower)s-linux-sbsa-%(version)s_cuda%(cudamajver)s-archive.tar.xz': + '86780abbecd4634e7363fad1d000ae23b7905a5f8383bddbf7332c6934791dde', + } +] + +dependencies = [('CUDA', '11.7.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/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb new file mode 100644 index 00000000000..bc2f6803e9b --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.6.0.163-CUDA-11.8.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.6.0.163' +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 = '11' # Is there a way to make this parametric? '%(cudaver)'.split(...) obviously doesn't work... + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%%(cudashortver)s/' % local_short_ver # noqa: E501 +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'bbc396df47294c657edc09c600674d608cb1bfc80b82dcf4547060c21711159e', + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'c8a25e7e3df1bb9c4e18a4f24dd5f25cfd4bbe8b7054e34008e53b2be4f58a80', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'a0202278d3cbd4f3adc3f7816bff6071621cb042b0903698b477acac8928ac06', +}] + +dependencies = [('CUDA', '11.8.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/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb new file mode 100644 index 00000000000..8443701d7c4 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.7.0.84-CUDA-11.8.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.7.0.84' +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 = '11' + +source_urls = [ + 'https://developer.download.nvidia.com/compute/redist/cudnn/v%s/local_installers/%%(cudashortver)s/' % local_short_ver # noqa: E501 +] +sources = ['%%(namelower)s-linux-%%(cudnnarch)s-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major] +checksums = [{ + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '976c4cba7233c97ae74006afab5172976300ba40f5b250a21f8cf71f59c9f76d', + '%%(namelower)s-linux-ppc64le-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '0433d6d8b6841298e049e8a542750aa330a6e046a52ad95fae0c2f75dabe5575', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'cf967f78dbf6c075243cc83aa18759e370db3754aa15b12a0a14e8bf67a3a9d4', +}] + +dependencies = [('CUDA', '11.8.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/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb new file mode 100644 index 00000000000..3da8ab75fce --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.8.0.121-CUDA-12.0.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.8.0.121' +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: + 'cd41ab8b61f5beb54e32c3668ecd311ce926c39006fba256b053dd7d248419d4', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'fc668519a8344e9d05335bad4bc5d23a504cdc7579aea41f12d6aa0f3079e709', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'a0792b666caaf593a9dd4130979578fd3a78230f4407645c295700ef8e7aaaf2', +}] + +dependencies = [('CUDA', '12.0.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/cuDNN/cuDNN-8.9.2.26-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.2.26-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8fba5b522d0 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.2.26-CUDA-12.1.1.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.9.2.26' +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: + '4f5e5bd01570c4805b93fb199f8bb6f8475d016948c55abf48fed9ffe89d13e5', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '898d00c82f9ad8797bd6f6c639327b320a38fa4aeebfb2b3fbb2db0d38f7e1b0', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'ccafd7d15c2bf26187d52d79d9ccf95104f4199980f5075a7c1ee3347948ce32', +}] + +dependencies = [('CUDA', '12.1.1')] + +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/cuDNN/cuDNN-8.9.2.26-CUDA-12.2.0.eb b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.2.26-CUDA-12.2.0.eb new file mode 100644 index 00000000000..de4fa6034d9 --- /dev/null +++ b/easybuild/easyconfigs/c/cuDNN/cuDNN-8.9.2.26-CUDA-12.2.0.eb @@ -0,0 +1,40 @@ +name = 'cuDNN' +version = '8.9.2.26' +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: + '4f5e5bd01570c4805b93fb199f8bb6f8475d016948c55abf48fed9ffe89d13e5', + '%%(namelower)s-linux-sbsa-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + '898d00c82f9ad8797bd6f6c639327b320a38fa4aeebfb2b3fbb2db0d38f7e1b0', + '%%(namelower)s-linux-x86_64-%%(version)s_cuda%s-archive.tar.xz' % local_cuda_major: + 'ccafd7d15c2bf26187d52d79d9ccf95104f4199980f5075a7c1ee3347948ce32', +}] + +dependencies = [('CUDA', '12.2.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/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/cuQuantum/cuQuantum-24.08.0.5-CUDA-12.1.1.eb b/easybuild/easyconfigs/c/cuQuantum/cuQuantum-24.08.0.5-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f2437f12613 --- /dev/null +++ b/easybuild/easyconfigs/c/cuQuantum/cuQuantum-24.08.0.5-CUDA-12.1.1.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'cuQuantum' +local_shortver = '24.08.0' +version = local_shortver + '.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/cuquantum-sdk' +description = """NVIDIA cuQuantum is an SDK of libraries and tools for quantum computing workflows.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuquantum/redist/cuquantum/linux-x86_64/'] +sources = ['cuquantum-linux-x86_64-%(version)s_cuda%(cudamajver)s-archive.tar.xz'] +checksums = ['485968734706eeffcd3adc3b2d2086e59be7ff3ddd907e96f1eb97335beb344a'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.1.1')] + +sanity_check_paths = { + 'files': ['include/custatevec.h', 'include/cutensornet/types.h', + 'lib/libcutensornet.%s' % SHLIB_EXT, + 'lib/libcutensornet_static.a'], + 'dirs': ['distributed_interfaces'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..fc0a8cf610b --- /dev/null +++ b/easybuild/easyconfigs/c/cuSPARSELt/cuSPARSELt-0.3.0.3-CUDA-11.4.1.eb @@ -0,0 +1,32 @@ +easyblock = 'Tarball' + +name = 'cuSPARSELt' +version = '0.3.0.3' +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': + '46b258c2c333f7324e03bdf6b13576be6153b1218fb531025631650e36515f45', + 'libcusparse_lt-linux-sbsa-%(version)s-archive.tar.xz': + '6269885ec6cecc1a0aa95f344f35c882b6bf0a6ef55d1726e2cf59e11a3af68e', +}] + +dependencies = [('CUDA', '11.4.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/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-1.6.0.3-CUDA-11.3.1.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.0.3-CUDA-11.3.1.eb new file mode 100644 index 00000000000..0de8aeeda56 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.0.3-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.6.0' +version = local_shortver + '.3' +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 = ['b07e32a37eee1df7d9330e6d7faf9baf7fffd58007e2544164ea30aec49a5281'] + +local_cudamajver = '11' +dependencies = [('CUDA', local_cudamajver + '.3.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-1.6.1.5-CUDA-11.4.1.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.4.1.eb new file mode 100644 index 00000000000..470b423afa8 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.4.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.6.1' +version = local_shortver + '.5' +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 = ['793b425c30ffd423c4f3a2e94acaf4fcb6752264aa73b74695a002dd2fe94b1a'] + +local_cudamajver = '11' +dependencies = [('CUDA', local_cudamajver + '.4.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-1.6.1.5-CUDA-11.7.0.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.7.0.eb new file mode 100644 index 00000000000..32caad1f155 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.6.1.5-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.6.1' +version = local_shortver + '.5' +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 = ['793b425c30ffd423c4f3a2e94acaf4fcb6752264aa73b74695a002dd2fe94b1a'] + +local_cudamajver = '11' +dependencies = [('CUDA', local_cudamajver + '.7.0')] + +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-1.7.0.1-CUDA-12.0.0.eb b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.7.0.1-CUDA-12.0.0.eb new file mode 100644 index 00000000000..6e01ac55f36 --- /dev/null +++ b/easybuild/easyconfigs/c/cuTENSOR/cuTENSOR-1.7.0.1-CUDA-12.0.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'cuTENSOR' +local_shortver = '1.7.0' +version = local_shortver + '.1' +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 = ['dd3557891371a19e73e7c955efe5383b0bee954aba6a30e4892b0e7acb9deb26'] + +local_cudamajver = '12' +dependencies = [('CUDA', local_cudamajver + '.0.0')] + +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.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/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d90b8442fa5 --- /dev/null +++ b/easybuild/easyconfigs/c/currentNe/currentNe-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'currentNe' +version = '1.0.0' +local_commit = '37daed5' + +homepage = 'https://github.com/esrud/currentNe' +description = """Estimation of current effective population using artificial neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'esrud' +source_urls = [GITHUB_SOURCE] +sources = [{ + "download_filename": "%s.tar.gz" % local_commit, + "filename": "%(name)s-%(version)s.tar.gz", +}] +checksums = ['77aab8e7403b726b30f34474d3177a3b118afb4b0dc57636dc0b2b93274c6bca'] + +builddependencies = [ + ('binutils', '2.40'), + ('make', '4.4.1'), +] + +files_to_copy = [ + 'lib', + (['currentNe.cpp'], 'lib'), + (['currentNe'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/currentNe.cpp'], + 'dirs': ['bin', 'lib'] +} + +sanity_check_commands = ['currentNe -h 2>&1 | grep "USAGE"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb index 8ec464cbed7..6e863b30556 100644 --- a/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-1.18-GCCcore-8.3.0.eb @@ -38,6 +38,8 @@ exts_list = [ }), ] +fix_python_shebang_for = ['bin/cutadapt'] + sanity_check_paths = { 'files': ['bin/cutadapt'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-2.10-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-2.10-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b8f8f0dc947 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-2.10-GCCcore-10.2.0.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modufied by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Tom Strempel +# Helmholtz-Centre for Environmental Research - UFZ + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '2.10' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '0.8.4', { + 'checksums': ['dcd8f5ef5da5564f514a990573a48a0c347ee1fdbb9b6374d31592819868f7ba'], + }), + ('dnaio', '0.4.2', { + 'checksums': ['fa55a45bfd5d9272409b714158fb3a7de5dceac1034a0af84502c7f503ee84f8'], + }), + (name, version, { + 'checksums': ['936b88374b5b393a954852a0fe317a85b798dd4faf5ec52cf3ef4f3c062c242a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..31fce71f997 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.2.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '3.4' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('pigz', '2.6'), + ('Python', '3.8.6'), + ('python-isal', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.1.0', { + 'checksums': ['38277eb96313b2e8822e19e793791801a1f41bf13ee5b48616a97afc65e9adb3'], + }), + ('dnaio', '0.5.2', { + 'checksums': ['549e1c6afa192a4bf79c112b57cc5e927b286ab9a3c2803d6577613a7e3ff180'], + }), + (name, version, { + 'checksums': ['eb8d52d45a7d38bd3ddc901eb397599bca8716a20d39e2b1feeb20242352dab2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..49b3dd7c2a9 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.4-GCCcore-10.3.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '3.4' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('pigz', '2.6'), + ('Python', '3.9.5'), + ('python-isal', '0.11.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.1.0', { + 'checksums': ['38277eb96313b2e8822e19e793791801a1f41bf13ee5b48616a97afc65e9adb3'], + }), + ('dnaio', '0.5.1', { + 'checksums': ['c68ecffbf653dfe122f1c10fb8d7c5957ad68acc5c9035c66f81eba1a591d31c'], + }), + (name, version, { + 'checksums': ['eb8d52d45a7d38bd3ddc901eb397599bca8716a20d39e2b1feeb20242352dab2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-3.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..87a8e6ff5d9 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-3.5-GCCcore-11.2.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '3.5' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('pigz', '2.6'), + ('Python', '3.9.6'), + ('python-isal', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.4.0', { + 'checksums': ['69d6d1d8a18efe49fc3eb51cd558a2a538c6f76495d1732d259016f58b124498'], + }), + ('dnaio', '0.7.0', { + 'checksums': ['03a370a645a61cd7dfb7591d989faa9426ea3a0691e83c95374c23171206f45c'], + }), + (name, version, { + 'checksums': ['7b20c0efc28d49333c1aa238af9253c51da0763178c3e2bb5fc338b34765aed4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e80a64e1148 --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.2-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '4.2' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('pigz', '2.7'), + ('Python', '3.10.4'), + ('python-isal', '1.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + ('dnaio', '0.10.0', { + 'checksums': ['de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18'], + }), + (name, version, { + 'checksums': ['ab0ac450baecc1576cc5ccbc06eab2685be9ee7676763938237d954a644237f1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..34d1a1a425b --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.4-GCCcore-12.2.0.eb @@ -0,0 +1,56 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '4.4' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('pigz', '2.7'), + ('Python', '3.10.8'), + ('python-isal', '1.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + ('dnaio', '0.10.0', { + 'checksums': ['de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18'], + }), + (name, version, { + 'checksums': ['4554157c673022e1c433fcd6e3b803008fef60c8e71c01215e4aa04b0f09fe83'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cutadapt/cutadapt-4.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1f54c552c2e --- /dev/null +++ b/easybuild/easyconfigs/c/cutadapt/cutadapt-4.9-GCCcore-12.3.0.eb @@ -0,0 +1,60 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +# Modified by: Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Modified by: Albert Bogdanowicz +# Institute of Biochemistry and Biophysics PAS +# Modified by: Jasper Grimm +# University of York + +easyblock = 'PythonBundle' + +name = 'cutadapt' +version = '4.9' + +homepage = 'https://opensource.scilifelab.se/projects/cutadapt/' +description = """Cutadapt finds and removes adapter sequences, primers, poly-A tails and + other types of unwanted sequence from your high-throughput sequencing reads.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Cython', '3.0.8'), # required for dnaio +] + +dependencies = [ + ('pigz', '2.8'), + ('Python', '3.11.3'), + ('python-isal', '1.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + # note: newer xopen versions require newer python-isal + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + ('dnaio', '1.2.1', { + 'checksums': ['4786dc63614b9f3011463d9ea9d981723dd38d1091a415a557f71d8c74400f38'], + }), + (name, version, { + 'checksums': ['da3b45775b07334d2e2580a7b154d19ea7e872f0da813bb1ac2a4da712bfc223'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cutadapt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cutadapt --help", + "cutadapt --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3-foss-2022a.eb b/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3-foss-2022a.eb new file mode 100644 index 00000000000..ff4f7c8bdcd --- /dev/null +++ b/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'cuteSV' +version = '2.0.3' + +homepage = 'https://github.com/tjiangHIT/cuteSV' +description = """cuteSV uses tailored methods to collect the signatures of various types of SVs + and employs a clustering-and-refinement method to analyze the signatures to implement sensitive SV detection.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('PyVCF3', '1.0.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cigar', '0.1.3', { + 'checksums': ['5847f5e8968035b3a5b04dcfa879fb6c14dd3a42dce8994864806dcda8a4fcf2'], + }), + (name, version, { + 'modulename': '%(name)s', + 'patches': ['cuteSV-%(version)s_dep-fix.patch'], + 'checksums': [ + {'cuteSV-2.0.3.tar.gz': '79e03908990ca0089277eb7fb14f5ad77940030f0428aa50a609b41381cee089'}, + {'cuteSV-2.0.3_dep-fix.patch': 'c8743e5bc376364a90548429b190f8926c6cdae4072b80e8aab9d23785233dd2'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/cuteSV'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'from cuteSV.cuteSV_genotype import overlap_cover'", + "cuteSV --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3_dep-fix.patch b/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3_dep-fix.patch new file mode 100644 index 00000000000..94e0917f3e2 --- /dev/null +++ b/easybuild/easyconfigs/c/cuteSV/cuteSV-2.0.3_dep-fix.patch @@ -0,0 +1,12 @@ +use pyvcf3 instead of pyvcf which would need Python 2 + +author: Petr Král (INUITS) +--- cuteSV-cuteSV-v2.0.3/setup.py.orig 2023-05-12 04:58:30.000000000 +0200 ++++ cuteSV-cuteSV-v2.0.3/setup.py 2023-06-12 09:48:08.251609584 +0200 +@@ -21,5 +21,5 @@ + long_description = readme, + long_description_content_type = 'text/markdown', + zip_safe = False, +- install_requires = ['pysam', 'Biopython', 'Cigar', 'numpy', 'pyvcf'] ++ install_requires = ['pysam', 'Biopython', 'Cigar', 'numpy', 'pyvcf3'] + ) diff --git a/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb new file mode 100644 index 00000000000..91182ba8816 --- /dev/null +++ b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221008225030-foss-2021a.eb @@ -0,0 +1,108 @@ +## +# 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 = 'PythonBundle' + +name = 'cwltool' +version = '3.1.20221008225030' + +homepage = 'https://github.com/common-workflow-language/cwltool' +description = """Common workflow language (CWL) reference implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# The Qt5 dependency of Graphviz (required by pydot) may be long to build and +# requires a lot of disk space and memory! +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), + ('pydot', '1.4.2'), + ('lxml', '4.6.3'), + ('ruamel.yaml', '0.17.21'), + ('networkx', '2.5.1'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', '6.2.0', { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), + ('mistune', '2.0.4', { + 'checksums': ['9ee0a66053e2267aba772c71e06891fa8f1af6d4b01d5e84e267b4570d4d9808'], + }), + ('schema-salad', '8.3.20230109181936', { + 'modulename': 'schema_salad', + 'checksums': ['e0fb8fbe793dda42133f374642be9f1af1651bbfb3ca37e341d8866d695de45a'], + }), + ('shellescape', '3.8.1', { + 'checksums': ['40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26'], + }), + ('cwlformat', '2022.2.18', { + 'modulename': 'cwlformat', + 'source_tmpl': 'cwlformat-%(version)s-py3-none-any.whl', + 'checksums': ['d3e2dca192ce10e703ed4eb0bae26539db08d8ddd7c6a6fe9d1406c3f1b53cda'], + }), + ('cwl-upgrader', '1.2.4', { + 'modulename': 'cwlupgrader', + 'checksums': ['b25fc236407343d44cc830ac3f63eed395b8d872fc7e17db92cde583d4a3b2ec'], + }), + ('cwl-utils', '0.21', { + 'modulename': 'cwl_utils', + 'checksums': ['583f05010f7572f3a69310325472ccb6efc2db7f43dc6428d03552e0ffcbaaf9'], + }), + ('mypy-extensions', '0.4.3', { + 'modulename': 'mypy_extensions', + 'source_tmpl': 'mypy_extensions-%(version)s.tar.gz', + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('prov', '1.5.1', { + 'checksums': ['7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c'], + }), + ('bagit', '1.8.1', { + 'checksums': ['37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c'], + }), + (name, version, { + 'checksums': ['9fbf2996ba673d83eaf28c745560f68992c08ab668eab2447957dbaaee8881b0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cwltool'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cwltool --version"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb new file mode 100644 index 00000000000..170d12542ff --- /dev/null +++ b/easybuild/easyconfigs/c/cwltool/cwltool-3.1.20221018083734-foss-2021a.eb @@ -0,0 +1,108 @@ +## +# 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 = 'PythonBundle' + +name = 'cwltool' +version = '3.1.20221018083734' + +homepage = 'https://github.com/common-workflow-language/cwltool' +description = """Common workflow language (CWL) reference implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# The Qt5 dependency of Graphviz (required by pydot) may be long to build and +# requires a lot of disk space and memory! +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), + ('pydot', '1.4.2'), + ('lxml', '4.6.3'), + ('ruamel.yaml', '0.17.21'), + ('networkx', '2.5.1'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', '6.2.0', { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('schema-salad', '8.3.20221016151607', { + 'modulename': 'schema_salad', + 'checksums': ['c61a517c945cd383445ebecbc085b00766913a3fdd7df9699a0fa4c41728ca1f'], + }), + ('shellescape', '3.8.1', { + 'checksums': ['40b310b30479be771bf3ab28bd8d40753778488bd46ea0969ba0b35038c3ec26'], + }), + ('cwlformat', '2022.2.18', { + 'modulename': 'cwlformat', + 'source_tmpl': 'cwlformat-%(version)s-py3-none-any.whl', + 'checksums': ['d3e2dca192ce10e703ed4eb0bae26539db08d8ddd7c6a6fe9d1406c3f1b53cda'], + }), + ('cwl-upgrader', '1.2.4', { + 'modulename': 'cwlupgrader', + 'checksums': ['b25fc236407343d44cc830ac3f63eed395b8d872fc7e17db92cde583d4a3b2ec'], + }), + ('cwl-utils', '0.20', { + 'modulename': 'cwl_utils', + 'checksums': ['28472aaba50ab4e8380c29f31c27beb63f60a1af1690369ab7bb7e31e71e66d9'], + }), + ('mypy-extensions', '0.4.3', { + 'modulename': 'mypy_extensions', + 'source_tmpl': 'mypy_extensions-%(version)s.tar.gz', + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('prov', '1.5.1', { + 'checksums': ['7a2d72b0df43cd9c6e374d815c8ce3cd5ca371d54f98f837853ac9fcc98aee4c'], + }), + ('bagit', '1.8.1', { + 'checksums': ['37df1330d2e8640c8dee8ab6d0073ac701f0614d25f5252f9e05263409cee60c'], + }), + ('cwltool', '3.1.20221018083734', { + 'checksums': ['06d08f390ed7577ac66c6eef0c98f915363b5e36c04daa1353e3f2d0c5e19f17'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cwltool'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cwltool --version"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/cxxopts/cxxopts-3.0.0.eb b/easybuild/easyconfigs/c/cxxopts/cxxopts-3.0.0.eb new file mode 100644 index 00000000000..bccadbb251c --- /dev/null +++ b/easybuild/easyconfigs/c/cxxopts/cxxopts-3.0.0.eb @@ -0,0 +1,26 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'cxxopts' +version = '3.0.0' + +homepage = 'https://github.com/jarro2783/cxxopts' +description = """cxxopts is a lightweight C++ command line option parser""" + +toolchain = SYSTEM + +github_account = 'jarro2783' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['36f41fa2a46b3c1466613b63f3fa73dc24d912bc90d667147f1e43215a8c6d00'] + +builddependencies = [('CMake', '3.18.4')] + +sanity_check_paths = { + 'files': ["include/cxxopts.hpp"], + 'dirs': ["lib"] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/c/cysignals/cysignals-1.11.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..29375b8b3a0 --- /dev/null +++ b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.2-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +# +# Author: Fenglai Liu +# fenglai@accre.vanderbilt.edu +# Vanderbilt University +# +easyblock = 'PythonPackage' + +name = 'cysignals' +version = '1.11.2' + +homepage = 'https://pypi.org/project/cysignals/' +description = """The cysignals package provides mechanisms to handle +interrupts (and other signals and errors) in Cython code.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5858b1760fbe21848121b826b2463a67ac5a45caf3d73105497a68618c5a6fa6'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cysignals-CSI'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..08a87d938bb --- /dev/null +++ b/easybuild/easyconfigs/c/cysignals/cysignals-1.11.4-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +# +# Author: Fenglai Liu +# fenglai@accre.vanderbilt.edu +# Vanderbilt University +# +# Update: Petr Král (INUITS) +# +easyblock = 'PythonPackage' + +name = 'cysignals' +version = '1.11.4' + +homepage = 'https://pypi.org/project/cysignals/' +description = """The cysignals package provides mechanisms to handle +interrupts (and other signals and errors) in Cython code.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0f1e321e55a07f901c86a36a1e4497f6ff9dfe700681d0130a38c36e4eb238c3'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('Cython', '3.0.10'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/cysignals-CSI'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb new file mode 100644 index 00000000000..bbf5c1ba745 --- /dev/null +++ b/easybuild/easyconfigs/c/cython-blis/cython-blis-0.9.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'cython-blis' +version = '0.9.1' + +homepage = 'https://github.com/explosion/cython-blis' + +description = """Fast BLAS-like operations from Python and Cython, without the tears. +Provides the Blis linear algebra routines as a self-contained Python C-extension. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Cython', '0.29.33'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +source_urls = ['https://pypi.python.org/packages/source/b/blis/'] +sources = ['blis-%(version)s.tar.gz'] +checksums = ['7ceac466801f9d97ecb34e10dded8c24cf5e0927ea7e834da1cc9d2ed3fc366f'] + +options = {'modulename': 'blis'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/c/cyvcf2/cyvcf2-0.31.1-gfbf-2023a.eb b/easybuild/easyconfigs/c/cyvcf2/cyvcf2-0.31.1-gfbf-2023a.eb new file mode 100644 index 00000000000..6604fb2a1af --- /dev/null +++ b/easybuild/easyconfigs/c/cyvcf2/cyvcf2-0.31.1-gfbf-2023a.eb @@ -0,0 +1,45 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +easyblock = 'PythonBundle' + +name = 'cyvcf2' +version = '0.31.1' + +homepage = 'https://github.com/brentp/cyvcf2' +description = "cyvcf2 is a cython wrapper around htslib built for fast parsing of Variant Call Format (VCF) files." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('HTSlib', '1.18'), +] + +fix_python_shebang_for = ['bin/*'] + +use_pip = True + +exts_list = [ + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + (name, version, { + 'preinstallopts': 'CYVCF2_HTSLIB_MODE=EXTERNAL', + 'checksums': ['00bd0e09a3719d29fbc02bc8a40a690ac2c475e91744648750907d1816558fc5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cyvcf2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["cyvcf2 --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DALI/DALI-2.1.2-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/d/DALI/DALI-2.1.2-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..fde6e6c1e27 --- /dev/null +++ b/easybuild/easyconfigs/d/DALI/DALI-2.1.2-foss-2022b-R-4.2.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'DALI' +version = '2.1.2' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.16' + +homepage = 'https://github.com/vibscc/DALI' +description = "R-package for the analysis of single-cell TCR/BCR data in the Seurat ecosystem" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +source_urls = ['https://github.com/vibscc/DALI/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8162b52e8d9f836012e127dd4243cec0374d1165468180fa6f7c5f3793a811d6'] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch new file mode 100644 index 00000000000..6a99fcf0345 --- /dev/null +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch @@ -0,0 +1,23 @@ +Because we are not using USEARCH, this patch will set deafult search engine to used BLAST+ +Author: Filip Kružík (INUITS) + +--- DAS_Tool.orig 2022-01-18 16:13:32.781571000 +0100 ++++ DAS_Tool 2022-01-18 16:15:43.039420000 +0100 +@@ -52,7 +52,7 @@ + echo " -o, --outputbasename Basename of output files." + echo " -l, --labels Comma separated list of binning prediction names. (optional)" + echo " --search_engine Engine used for single copy gene identification [blast/diamond/usearch]." +- echo " (default: usearch)" ++ echo " (default: blast)" + echo " --write_bin_evals Write evaluation for each input bin set [0/1]. (default: 1)" + echo " --create_plots Create binning performance plots [0/1]. (default: 1)" + echo " --write_bins Export bins as fasta files [0/1]. (default: 0)" +@@ -117,7 +117,7 @@ + create_plots=1 + write_bins=0 + write_unbinned=0 +-search_engine="usearch" ++search_engine="blast" + b_weight=0.6 + c_weight=0.5 + db_dir=$DIR\/db 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 new file mode 100644 index 00000000000..f80eef6a25e --- /dev/null +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,59 @@ +easyblock = 'Tarball' + +name = 'DAS_Tool' +version = '1.1.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cmks/DAS_Tool' +description = """DAS Tool is an automated method that integrates the results of a flexible number of binning + algorithms to calculate an optimized, non-redundant set of bins from a single assembly.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/cmks/DAS_Tool/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch'] +checksums = [ + '2a55f67b5331251d8fd5adea867cc341363fbf7fa7ed5c3ce9c7679d8039f03a', # 1.1.1.tar.gz + 'dc89e6ab7129d170d24da28720cec0937b4d958b5ae46049373d57dde8b8a27a', # DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch +] + +dependencies = [ + ('R', '4.1.2'), + ('Python', '3.9.6'), + ('Ruby', '3.0.1'), + ('pullseq', '1.0.2'), + ('prodigal', '2.6.3'), + ('BLAST+', '2.12.0'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + (name, version, { + 'modulename': 'DASTool', + 'source_tmpl': 'DASTool_%(version)s.tar.gz', + 'source_urls': ['https://github.com/cmks/DAS_Tool/raw/%(version)s/package/'], + 'checksums': ['8d33997baaaec00d253b2d749cf1ace004ccdea2275b763d4d0f1c969916b72b'], + }), +] + +postinstallcmds = [ + "cd %(installdir)s && unzip db.zip -d db", + "chmod a+x %(installdir)s/DAS_Tool", +] + +sanity_check_paths = { + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], + 'dirs': ['DASTool/R'], +} + +# Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] + +modextrapaths = { + 'PATH': '', + 'R_LIBS_SITE': '', +} + +moduleclass = 'bio' 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 new file mode 100644 index 00000000000..4e5773b4b1c --- /dev/null +++ b/easybuild/easyconfigs/d/DAS_Tool/DAS_Tool-1.1.3-foss-2021a-R-4.1.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Tarball' + +name = 'DAS_Tool' +version = '1.1.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cmks/DAS_Tool' +description = """DAS Tool is an automated method that integrates the results of a flexible number of binning + algorithms to calculate an optimized, non-redundant set of bins from a single assembly.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/cmks/DAS_Tool/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch'] +checksums = [ + 'c2d41a38a7a92d53d412ac3f2b8ab5b9fa64c56021aa5c4dd51fefd7c96b68f4', # 1.1.3.tar.gz + 'dc89e6ab7129d170d24da28720cec0937b4d958b5ae46049373d57dde8b8a27a', # DAS_Tool-1.1.1-deafaultSearchEngBLAST.patch +] + +dependencies = [ + ('R', '4.1.0'), + ('Python', '3.9.5'), + ('Ruby', '3.0.1'), + ('pullseq', '1.0.2'), + ('prodigal', '2.6.3'), + ('BLAST+', '2.11.0'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + (name, version, { + 'modulename': 'DASTool', + 'source_tmpl': 'DASTool_%(version)s.tar.gz', + 'source_urls': ['https://github.com/cmks/DAS_Tool/raw/%(version)s/package/'], + 'checksums': ['050ba4fa061ceb398a6881652b4b5f14736581a35edd00ef9ae4cea986f38d18'], + }), +] + +postinstallcmds = [ + "cd %(installdir)s && unzip db.zip -d db", + "chmod a+x %(installdir)s/DAS_Tool", +] + +sanity_check_paths = { + 'files': ['DAS_Tool', 'db/arc.all.faa', 'db/arc.scg.lookup'], + 'dirs': ['DASTool/R'], +} + +# Help gets printed correctly, but the error code is 1 +sanity_check_commands = ['DAS_Tool -h | grep "DAS Tool version %s"' % version] + +modextrapaths = { + 'PATH': '', + 'R_LIBS_SITE': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.2.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.2.0.eb index 0993a0905ba..dd87d00a8cf 100644 --- a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.2.0.eb @@ -10,10 +10,8 @@ description = """Berkeley DB enables the development of custom data management toolchain = {'name': 'GCCcore', 'version': '8.2.0'} -# use Homebrew source mirror to allow auto-downloading source tarball -# (Oracle website requires reigstration) -source_urls = ['https://bintray.com/homebrew/mirror/download_file?file_path='] -sources = [{'download_filename': 'berkeley-db-%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +source_urls = ['https://gentoo.osuosl.org/distfiles/'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654'] builddependencies = [('binutils', '2.31.1')] diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.3.0.eb index 3b297f7f57b..d0803aa74f9 100644 --- a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-8.3.0.eb @@ -10,10 +10,8 @@ description = """Berkeley DB enables the development of custom data management toolchain = {'name': 'GCCcore', 'version': '8.3.0'} -# use Homebrew source mirror to allow auto-downloading source tarball -# (Oracle website requires reigstration) -source_urls = ['https://bintray.com/homebrew/mirror/download_file?file_path='] -sources = [{'download_filename': 'berkeley-db-%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +source_urls = ['https://gentoo.osuosl.org/distfiles/'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654'] builddependencies = [('binutils', '2.32')] diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-9.3.0.eb index 2c9691d0d9a..5997790bf6f 100644 --- a/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-18.1.32-GCCcore-9.3.0.eb @@ -10,10 +10,8 @@ description = """Berkeley DB enables the development of custom data management toolchain = {'name': 'GCCcore', 'version': '9.3.0'} -# use Homebrew source mirror to allow auto-downloading source tarball -# (Oracle website requires reigstration) -source_urls = ['https://bintray.com/homebrew/mirror/download_file?file_path='] -sources = [{'download_filename': 'berkeley-db-%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +source_urls = ['https://gentoo.osuosl.org/distfiles/'] +sources = [SOURCELOWER_TAR_GZ] checksums = ['fa1fe7de9ba91ad472c25d026f931802597c29f28ae951960685cde487c8d654'] builddependencies = [('binutils', '2.34')] diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-10.3.0.eb index 4b461e5efbd..2d38e9742d4 100644 --- a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-10.3.0.eb @@ -23,7 +23,7 @@ checksums = [ builddependencies = [('binutils', '2.36.1')] -dependencies = [('OpenSSL', '1.1', '', True)] +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e05ffa92185 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1217b252c49 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.1.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..0d52a3be447 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.1.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..83b4de99325 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5d02753039b --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..64022827805 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('OpenSSL', '3', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.2.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.2.0.eb new file mode 100644 index 00000000000..515c85e1a9c --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.2.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '8.2.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.31.1')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.3.0.eb b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..1a66d75ceb1 --- /dev/null +++ b/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-8.3.0.eb @@ -0,0 +1,33 @@ +name = 'DB' +version = '18.1.40' + +homepage = 'https://www.oracle.com/technetwork/products/berkeleydb' + +description = """Berkeley DB enables the development of custom data management + solutions, without the overhead traditionally associated with such custom + projects.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +# use http to allow auto-downloading... +source_urls = ['http://download.oracle.com/berkeley-db/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_doc_install.patch'] +checksums = [ + '0cecb2ef0c67b166de93732769abdeba0555086d51de1090df325e18ee8da9c8', # db-18.1.40.tar.gz + '441f48568156f72f02a8662998d293cc7edad687604b4f8af722f21c6db2a52d', # DB-18.1.40_fix_doc_install.patch +] + +builddependencies = [('binutils', '2.32')] + +dependencies = [('OpenSSL', '1.1', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['bin/db_%s' % x for x in ['archive', 'checkpoint', 'convert', 'deadlock', 'dump', 'hotbackup', + 'load', 'log_verify', 'printlog', 'recover', 'replicate', 'stat', + 'tuner', 'upgrade', 'verify']] + + ['include/db.h', 'lib/libdb.a', 'lib/libdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb new file mode 100755 index 00000000000..c9cbb4090d8 --- /dev/null +++ b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DBCSR' +version = '2.5.0' + +homepage = 'https://cp2k.github.io/dbcsr/develop/' +description = """DBCSR stands for Distributed Blocked Compressed Sparse Row. DBCSR is a library designed to + efficiently perform sparse matrix-matrix multiplication, among other operations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cp2k/dbcsr/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-cmake.patch'] +checksums = [ + {'dbcsr-2.5.0.tar.gz': '91fda9b2502e5d0a2a6cdd5a73ef096253cc7e75bd01ba5189a4726ad86aef08'}, + {'DBCSR-2.5.0_fix-cmake.patch': 'ccb9ba93dd5bd3107a3d1c190ec8b0d8af4e2df553b31dd7b224507220823dc9'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libxsmm', '1.17'), + ('Python', '3.9.6'), +] + +preconfigopts = 'export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${EBROOTLIBXSMM}/lib" && ' +configopts = '-DUSE_SMM=libxsmm-shared -DBLA_VENDOR=FlexiBLAS' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/dbcsr_tensor_api.mod', 'include/dbcsr.h', 'lib/libdbcsr.a'], + 'dirs': ['lib/cmake/dbcsr'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch new file mode 100755 index 00000000000..4711b97fb06 --- /dev/null +++ b/easybuild/easyconfigs/d/DBCSR/DBCSR-2.5.0_fix-cmake.patch @@ -0,0 +1,62 @@ +Fix finding of BLAS/LAPACK libraries and add libxsmm include directory +Patch by Simon Branford (University of Birmingham) +--- cmake/FindBLAS.cmake.orig 2023-01-16 20:06:01.198294000 +0000 ++++ cmake/FindBLAS.cmake 2023-01-16 20:15:19.521389856 +0000 +@@ -536,6 +536,22 @@ + endif() + endif() + ++# FlexiBLAS (https://github.com/mpimd-csc/flexiblas) ++if (BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT BLAS_LIBRARIES) ++ check_blas_libraries( ++ BLAS_LIBRARIES ++ BLAS ++ sgemm ++ "" ++ "flexiblas" ++ "" ++ "" ++ "" ++ ) ++ endif() ++endif () ++ + # OpenBLAS? (http://www.openblas.net) + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) +--- cmake/FindLAPACK.cmake.orig 2023-01-16 20:05:47.292543000 +0000 ++++ cmake/FindLAPACK.cmake 2023-01-16 20:16:11.193167061 +0000 +@@ -346,6 +346,22 @@ + endif() + endif() + ++ if(BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT LAPACK_LIBRARIES) ++ check_lapack_libraries( ++ LAPACK_LIBRARIES ++ LAPACK ++ cheev ++ "" ++ "flexiblas" ++ "" ++ "" ++ "" ++ "${BLAS_LIBRARIES}" ++ ) ++ endif() ++ endif() ++ + # OpenBLAS? (http://www.openblas.net) + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) +--- CMakeLists.txt.orig 2023-01-16 20:08:49.531879436 +0000 ++++ CMakeLists.txt 2023-01-16 20:08:25.968847202 +0000 +@@ -158,6 +158,7 @@ + pkg_check_modules(LIBXSMM REQUIRED IMPORTED_TARGET GLOBAL libxsmmf) + endif () + endif () ++include_directories("$ENV{EBROOTLIBXSMM}/include") + + # =================================== BLAS & LAPACK, PkgConfig + find_package(LAPACK REQUIRED) # needed for some of the integrated test routines, diff --git a/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-11.2.0.eb b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-11.2.0.eb new file mode 100644 index 00000000000..094f7bc25d2 --- /dev/null +++ b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-11.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': '11.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN'] +sources = [SOURCE_TAR_GZ] +checksums = ['4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78'] + +dependencies = [ + ('Perl', '5.34.0'), + ('MariaDB', '10.6.4'), + ('zlib', '1.2.11'), + ('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/DBD-mysql/DBD-mysql-4.050-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-11.3.0.eb new file mode 100644 index 00000000000..6d67a433eb4 --- /dev/null +++ b/easybuild/easyconfigs/d/DBD-mysql/DBD-mysql-4.050-GCC-11.3.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': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/D/DV/DVEEDEN'] +sources = [SOURCE_TAR_GZ] +checksums = ['4f48541ff15a0a7405f76adc10f81627c33996fbf56c95c26c094444c0928d78'] + +dependencies = [ + ('Perl', '5.34.1'), + ('MariaDB', '10.9.3'), + ('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/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/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb new file mode 100644 index 00000000000..0c8e9e7176c --- /dev/null +++ b/easybuild/easyconfigs/d/DBG2OLC/DBG2OLC-20200724-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CmdCp' + +name = 'DBG2OLC' +version = '20200724' +local_commit = '9514828' + +homepage = 'https://github.com/yechengxi/DBG2OLC' +description = """DBG2OLC:Efficient Assembly of Large Genomes Using Long Erroneous Reads of the Third Generation + Sequencing Technologies""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/yechengxi/DBG2OLC/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['52a05518a377a2bd784265a8dc05c49009f858d4c1c893b4dddbb12106bc0f99'] + +cmds_map = [('.*', "$CXX $CXXFLAGS $LDFLAGS -o DBG2OLC *.cpp")] + +files_to_copy = [(['DBG2OLC'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/DBG2OLC'], + 'dirs': [], +} + +sanity_check_commands = ["DBG2OLC 2>&1 | grep 'For third-gen sequencing: DBG2OLC'"] + +moduleclass = 'bio' 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 new file mode 100644 index 00000000000..97f6bce5acb --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.856-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.856' + +homepage = 'https://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['cdf9ba922fe39159d36b73f9fb815f5eaa375f3a3e4dc4de78e053b444cd66a9'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Perl', '5.32.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/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 new file mode 100644 index 00000000000..fc23c9d56ce --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.857-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.857' + +homepage = 'https://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['7528eaee49ccd3de268d9358226c6c7617d0d7d8786fcc31d7402c54d570a394'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('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/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 new file mode 100644 index 00000000000..a9579572f76 --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.858-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PerlModule' + +name = 'DB_File' +version = '1.858' + +homepage = 'https://perldoc.perl.org/DB_File.html' +description = """Perl5 access to Berkeley DB version 1.x.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['ceb7a2868bd71f87b31e8b7c38d6f8cc0a31fb0322a377ee448994f094d0a7f6'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.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/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/DB_File/DB_File-1.859-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e7120c9c13e --- /dev/null +++ b/easybuild/easyconfigs/d/DB_File/DB_File-1.859-GCCcore-13.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': '13.3.0'} + +source_urls = ['https://www.cpan.org/modules/by-module/DB_File/PMQS'] +sources = [SOURCE_TAR_GZ] +checksums = ['5674e0d2cd0b060c4d1253670ea022c64d842a55257f9eb8edb19c0f53e2565c'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Perl', '5.38.2'), + ('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/DBus/DBus-1.13.18-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb index 83b477ea363..b049fce1560 100644 --- a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.2.0.eb @@ -29,7 +29,9 @@ dependencies = [ ('expat', '2.2.9'), ] -configopts = '--without-systemdsystemunitdir' +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' sanity_check_paths = { 'files': ['bin/dbus-%s' % x for x in diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb index b3080c2464e..4c1a07e1b16 100644 --- a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-10.3.0.eb @@ -29,7 +29,9 @@ dependencies = [ ('expat', '2.2.9'), ] -configopts = '--without-systemdsystemunitdir' +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' sanity_check_paths = { 'files': ['bin/dbus-%s' % x for x in diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ef53a657402 --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.13.18-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.13.18' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['8078f5c25e34ab907ce06905d969dc8ef0ccbec367e1e1707c7ecf8460f4254e'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('expat', '2.4.1'), +] + +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.14.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.14.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..272fc875d0d --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.14.0-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.14.0' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ccd7cce37596e0a19558fd6648d1272ab43f011d80c8635aea8fd0bad58aebd4'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('expat', '2.4.8'), +] + +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e3189b0b860 --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.15.2-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.15.2' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7e640803084af59f5e477b7ded11fd888b5380910a895c51ca3aedd63c0626ca'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('expat', '2.4.9'), +] + +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.15.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.15.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..686c369b6a7 --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.15.4-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'DBus' +version = '1.15.4' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['bfe53d9e54a4977ec344928521b031af2e97cf78aea58f5d8e2b85ea0a80028b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('expat', '2.5.0'), +] + +configopts = '--with-systemdsystemunitdir=no ' +# disable documentation +configopts += '--disable-xml-docs --disable-doxygen-docs --disable-ducktype-docs' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..21251602a0c --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'DBus' +version = '1.15.8' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['84fc597e6ec82f05dc18a7d12c17046f95bad7be99fc03c15bc254c4701ed204'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('expat', '2.5.0'), +] + +configopts = '-DENABLE_SYSTEMD=OFF ' +# disable documentation +configopts += '-DDBUS_ENABLE_XML_DOCS=OFF -DDBUS_ENABLE_QTHELP_DOCS=OFF -DDBUS_ENABLE_DOXYGEN_DOCS=OFF ' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ca182becfcd --- /dev/null +++ b/easybuild/easyconfigs/d/DBus/DBus-1.15.8-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'DBus' +version = '1.15.8' + +homepage = 'https://dbus.freedesktop.org/' + +description = """ + D-Bus is a message bus system, a simple way for applications to talk + to one another. In addition to interprocess communication, D-Bus helps + coordinate process lifecycle; it makes it simple and reliable to code + a "single instance" application or daemon, and to launch applications + and daemons on demand when their services are needed. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['84fc597e6ec82f05dc18a7d12c17046f95bad7be99fc03c15bc254c4701ed204'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('expat', '2.6.2'), +] + +configopts = '-DENABLE_SYSTEMD=OFF ' +# disable documentation +configopts += '-DDBUS_ENABLE_XML_DOCS=OFF -DDBUS_ENABLE_QTHELP_DOCS=OFF -DDBUS_ENABLE_DOXYGEN_DOCS=OFF ' + +sanity_check_paths = { + 'files': ['bin/dbus-%s' % x for x in + ['cleanup-sockets', 'daemon', 'launch', 'monitor', + 'run-session', 'send', 'uuidgen']] + + ['lib/libdbus-1.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e155a7482d9 --- /dev/null +++ b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DCMTK' +version = '3.6.6' + +homepage = 'https://dicom.offis.de/dcmtk' +description = """DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. +It includes software for examining, constructing and converting DICOM image files, handling offline media, sending +and receiving images over a network connection, as well as demonstrative image storage and worklist servers.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dicom.offis.de/download/dcmtk/dcmtk%s/' % version.replace('.', '')] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['6859c62b290ee55677093cccfd6029c04186d91cf99c7642ae43627387f3458e'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1') +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.10'), + ('libiconv', '1.16'), +] + +sanity_check_paths = { + 'files': ['bin/dcmdump', 'bin/dcmj2pnm'], + 'dirs': ['lib'], +} + +sanity_check_commands = ['%s_tests | grep " 0 failed"' % x for x in [ + 'dcmdata', 'dcmect', 'dcmfg', 'dcmiod', 'dcmnet', 'dcmrt', 'dcmseg', 'dcmsr', 'dcmtls', 'ofstd']] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2e64cfeb8f1 --- /dev/null +++ b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.6-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DCMTK' +version = '3.6.6' + +homepage = 'https://dicom.offis.de/dcmtk' +description = """DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. +It includes software for examining, constructing and converting DICOM image files, handling offline media, sending +and receiving images over a network connection, as well as demonstrative image storage and worklist servers.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://dicom.offis.de/download/dcmtk/dcmtk%s/' % version.replace('.', '')] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['6859c62b290ee55677093cccfd6029c04186d91cf99c7642ae43627387f3458e'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1') +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.10'), + ('libiconv', '1.16'), +] + +sanity_check_paths = { + 'files': ['bin/dcmdump', 'bin/dcmj2pnm'], + 'dirs': ['lib'], +} + +sanity_check_commands = ['%s_tests | grep " 0 failed"' % x for x in [ + 'dcmdata', 'dcmect', 'dcmfg', 'dcmiod', 'dcmnet', 'dcmrt', 'dcmseg', 'dcmsr', 'dcmtls', 'ofstd']] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ffc3a669e07 --- /dev/null +++ b/easybuild/easyconfigs/d/DCMTK/DCMTK-3.6.7-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'DCMTK' +version = '3.6.7' + +homepage = 'https://dicom.offis.de/dcmtk' +description = """DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. +It includes software for examining, constructing and converting DICOM image files, handling offline media, sending +and receiving images over a network connection, as well as demonstrative image storage and worklist servers.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +local_stripped_version = version.replace('.', '') + +source_urls = ['https://dicom.offis.de/download/%(namelower)s/dcmtk{}/'.format(local_stripped_version)] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7c58298e3e8d60232ee6fc8408cfadd14463cc11a3c4ca4c59af5988c7e9710a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.13'), + ('libiconv', '1.17'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=OFF', + '-DBUILD_SHARED_LIBS=ON' +] + + +sanity_check_paths = { + 'files': ['bin/dcmdump', 'bin/dcmj2pnm'], + 'dirs': ['lib'], +} + +local_test_modules = ['dcmdata', 'dcmect', 'dcmfg', 'dcmiod', 'dcmnet', 'dcmrt', 'dcmseg', 'dcmsr', 'dcmtls', 'ofstd'] +sanity_check_commands = [ + '%s_tests | grep " 0 failed"' % s for s in local_test_modules +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/DEICODE/DEICODE-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/d/DEICODE/DEICODE-0.2.4-foss-2022a.eb new file mode 100644 index 00000000000..f81e65cc515 --- /dev/null +++ b/easybuild/easyconfigs/d/DEICODE/DEICODE-0.2.4-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'DEICODE' +version = '0.2.4' + +homepage = 'https://library.qiime2.org/plugins/deicode/19/' +description = """ +DEICODE is a form of Aitchison Distance that is robust to high levels of +sparsity. DEICODE utilizes a natural solution to the zero problem formulated in +recommendation systems called matrix completion. A simple way to interpret the +method is, as a robust compositional PCA (via SVD) where zero values do not +influence the resulting ordination. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-bio', '0.5.7'), + ('h5py', '3.7.0'), +] + +exts_list = [ + ('biom-format', '2.1.15', { + 'modulename': 'biom', + 'checksums': ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'], + }), + ('deicode', version, { + 'preinstallopts': """sed -i "/'nose /d" setup.py && """, + 'checksums': ['29472dc1f2d7c0cefeab3517d957a2476b5fb981861d1f3deeb75dfa291b34e4'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['deicode --help'] + +moduleclass = 'math' 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..24a8b13835c --- /dev/null +++ b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-GCC-12.3.0.eb @@ -0,0 +1,65 @@ +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 = [ + ('Perl', '5.36.1'), + ('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-*', '../rsem-eval/*.pm'], '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_perl_utils.pm', 'rsem-plot-model', 'rsem-preref', + 'rsem-sam-validator', 'rsem-scan-for-paired-end-reads', 'rsem-simulate-reads', + 'rsem-synthesis-reference-transcripts']], + 'dirs': [], +} + +sanity_check_commands = [r"rsem-eval-calculate-score --help 2>&1 | grep 'rsem-eval-calculate-score \[options\]'"] + +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 new file mode 100644 index 00000000000..1b493a4e5db --- /dev/null +++ b/easybuild/easyconfigs/d/DETONATE/DETONATE-1.11-intel-2017b.eb @@ -0,0 +1,54 @@ +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': 'intel', 'version': '2017b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['http://deweylab.biostat.wisc.edu/detonate/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '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_fix-cast-bool.patch +] + +builddependencies = [('CMake', '3.10.1')] + +dependencies = [ + ('Boost', '1.66.0'), + ('sparsehash', '2.0.3'), + ('SAMtools', '0.1.20'), + ('zlib', '1.2.11'), +] + +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-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-D3/DFT-D3-3.2.0-GCC-8.3.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb index 318ab375578..57198d99c60 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-GCC-8.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'GCC', 'version': '8.3.0'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..29e0a67ce67 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-iccifort-2020.4.304.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.2.0' + +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical + quantum chemical methods.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] +sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] +checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] + +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. +# Checksum last updated: 20 September 2018 +# Date tarball was reported to have been modified: 14 June 2016 +prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +sanity_check_commands = ["dftd3"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb index 85354a2bf7e..ce6a66aa85f 100644 --- a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-2019a.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'DFT-D3' version = '3.2.0' -homepage = 'http://www.thch.uni-bonn.de/tc/index.php?section=downloads&subsection=DFT-D3&lang=english' +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.""" toolchain = {'name': 'intel', 'version': '2019a'} -source_urls = ['https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dft-d3'] +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] # Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version # numbering. Also, the authors are prone (alas) to stealth upgrades, so that two # tarballs with the same version number can have different checksums. For this diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..98c1e9d2d9b --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.2.0' + +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical + quantum chemical methods.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. +# Checksum last updated: 20 September 2018 +# Date tarball was reported to have been modified: 14 June 2016 +sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] +checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] + +prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..2ef036162ce --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.2.0' + +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical + quantum chemical methods.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. +# Checksum last updated: 20 September 2018 +# Date tarball was reported to have been modified: 14 June 2016 +sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] +checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] + +prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +sanity_check_commands = ['dftd3'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..60c33ea0a87 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D3/DFT-D3-3.2.0-intel-compilers-2022.2.1.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'DFT-D3' +version = '3.2.0' + +homepage = 'https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3' +description = """DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical + quantum chemical methods.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} + +source_urls = ['https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3'] +# Note that the DFT-D3 tarball is named as "dftd3.tgz" with no version +# numbering. Also, the authors are prone (alas) to stealth upgrades, so that two +# tarballs with the same version number can have different checksums. For this +# reason, it is suggested to manually download and rename the tarball. The +# checksum may also need updating from time to time. +# Checksum last updated: 20 September 2018 +# Date tarball was reported to have been modified: 14 June 2016 +sources = [{'download_filename': 'dftd3.tgz', 'filename': SOURCELOWER_TGZ}] +checksums = ['d97cf9758f61aa81fd85425448fbf4a6e8ce07c12e9236739831a3af32880f59'] + +prebuildopts = "sed -i 's/OSTYPE=LINUXL/OSTYPE=LINUXI/' Makefile && " + +files_to_copy = [(['dftd3'], 'bin'), (['man.pdf'], 'doc')] + +sanity_check_paths = { + 'files': ['bin/dftd3'], + 'dirs': [], +} + +sanity_check_commands = ['dftd3'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.2.0-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.2.0-intel-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..857b136cb32 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.2.0-intel-2019b-Python-3.7.4.eb @@ -0,0 +1,38 @@ +easyblock = 'MesonNinja' + +name = 'DFT-D4' +version = '3.2.0' +versionsuffix = '-Python-%(pyver)s' + +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': '2019b'} + +source_urls = ['https://github.com/dftd4/dftd4/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['DFT-D4-%(version)s-remove_module_id.patch'] +checksums = [ + '9874db9e2329519db258dd75ee7ce7c97947f975b00087ba5fdf9a28741088f1', # v3.2.0.tar.gz + '8c3c81338cb57972580e4cf3db307aa2e44b8b3f6d1ba7ae24fa9d807490a93b', # DFT-D4-3.2.0-remove_module_id.patch +] + +builddependencies = [ + ('Ninja', '1.9.0'), + ('Meson', '0.59.1', versionsuffix), +] + +dependencies = [ + ('Python', '3.7.4'), +] + +configopts = '-Dpython=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/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch new file mode 100644 index 00000000000..85a7da6cd06 --- /dev/null +++ b/easybuild/easyconfigs/d/DFT-D4/DFT-D4-3.2.0-remove_module_id.patch @@ -0,0 +1,26 @@ +# The separate mod directory isn't helpful for a EB install since we install a unique version per compiler anyway. +# The pkg-config file can just include one path anyway +# so separating out the (compiler specific) mod files won't help either way. +# Author: mikael.ohman@chalmers.se +--- meson.build.orig 2021-05-10 23:11:21.509151845 +0200 ++++ meson.build 2021-05-10 23:32:55.890484048 +0200 +@@ -79,17 +79,16 @@ + dftd4_header, + ) + +- module_id = meson.project_name() / fc_id + '-' + fc.version() + meson.add_install_script( + find_program(files('config'/'install-mod.py')), +- get_option('includedir') / module_id, ++ get_option('includedir'), + ) + + pkg = import('pkgconfig') + pkg.generate( + dftd4_lib, + description: 'Generally Applicable Atomic-Charge Dependent London Dispersion Correction', +- subdirs: ['', module_id], ++ subdirs: [''], + ) + + asciidoc = find_program('asciidoctor', required: false) 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/DFTB+/DFTB+-21.1-intel-2021a.eb b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1-intel-2021a.eb new file mode 100644 index 00000000000..5711e31168d --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1-intel-2021a.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '21.1' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'extra_fflags': '-I$(EBROOTDFTD3MINLIB)/include'} + +local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/' +local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir) +local_external_extract += ' --strip-components=1 -xzf %%s' + +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = [ + 'dftbplus-%(version)s.tar.xz', + { + # Slater-Koster (slakos) data for testing + 'source_urls': ['https://github.com/dftbplus/testparams/archive'], + 'download_filename': '26439495c4b5b0d07be6ceec4dade3d149425465.tar.gz', + 'filename': 'slakos-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('slakos', 'slakos'), + }, + { + # GBSA (gbsa) data for testing + 'source_urls': ['https://github.com/grimme-lab/gbsa-parameters/archive'], + 'download_filename': '6836c4d997e4135e418cfbe273c96b1a3adb13e2.tar.gz', + 'filename': 'gbsa-data-%(version)s.tar.gz', + 'extract_cmd': local_external_extract % ('gbsa', 'gbsa'), + }, +] +patches = [ + '%(name)s-%(version)s_use_dftd3_from_EB.patch', + '%(name)s-%(version)s_fix_intel_omp_linking.patch', + '%(name)s-%(version)s_drop_intel_failing_tests.patch', +] +checksums = [ + '8c1eb8a38f72c421e2ae20118a6db3a656fa84e8b180ef387e549a73ae77f970', # dftbplus-21.1.tar.xz + '6f65da7b64ef255fd777de7a972c63f7fa8ed2041442823b2c601bc8f0e55d98', # slakos-data-21.1.tar.gz + 'd464f9f7b1883d1353b433d0c7eae2f5606af092d9b51d38e9ed15e072610a79', # gbsa-data-21.1.tar.gz + '3bd33d8e90e8182f516f15fb8f79d01929a0778e324b33c5fabc7d70112e643a', # DFTB+-21.1_use_dftd3_from_EB.patch + 'e922b0d9360d342190c4496173f938c2cb89f0bd0499b2f71abcaf70dc8e5fe1', # DFTB+-21.1_fix_intel_omp_linking.patch + 'f0c0e248d567739010897e7a46e471b1e332568bb0f9c1c06fd1e762d3f81aa4', # DFTB+-21.1_drop_intel_failing_tests.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('dftd3-lib', '0.9'), + ('ELSI', '2.7.1', '-PEXSI'), +] + +build_shared_libs = True + +configopts = '-DWITH_MPI=1 -DWITH_DFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 ' +configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube', + 'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [("python -c 'import dptools'")] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch new file mode 100644 index 00000000000..1de2a00c631 --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_drop_intel_failing_tests.patch @@ -0,0 +1,14 @@ +Drop tests that fail with Intel + +Åke Sandgren, 20211025 +diff -ru dftbplus-21.1.orig/test/prog/dftb+/tests dftbplus-21.1/test/prog/dftb+/tests +--- dftbplus-21.1.orig/test/prog/dftb+/tests 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/test/prog/dftb+/tests 2021-10-25 16:50:14.035199535 +0200 +@@ -109,7 +109,6 @@ + solvers/ice_NTPoly #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM_sparse #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 +-solvers/Si384_OMM #? WITH_ELSI and MPI_PROCS <= 4 and OMP_THREADS == 1 + solvers/Si32C32_OMM_kpoints #? WITH_ELSI and MPI_PROCS % 4 == 0 and MPI_PROCS <= 20 and OMP_THREADS == 1 + solvers/Si32C32_OMM_ks #? WITH_ELSI and MPI_PROCS % 8 == 0 and MPI_PROCS <= 40 and OMP_THREADS == 1 + solvers/Si32C32_OMM_k_sparse #? WITH_ELSI and MPI_PROCS % 4 == 0 and MPI_PROCS <= 20 and OMP_THREADS == 1 diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch new file mode 100644 index 00000000000..6c99d962d5a --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_fix_intel_omp_linking.patch @@ -0,0 +1,15 @@ +Need to have -qopenmp when linking with Intel and not just when compiling. + +Åke Sandgren, 20211025 +diff -ru dftbplus-21.1.orig/CMakeLists.txt dftbplus-21.1/CMakeLists.txt +--- dftbplus-21.1.orig/CMakeLists.txt 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/CMakeLists.txt 2021-10-25 15:11:38.797426208 +0200 +@@ -45,6 +45,8 @@ + if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "NAG" AND WITH_OMP) + set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_LIBRARIES "") + set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_OPTIONS "-openmp") ++ elseif("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "Intel" AND WITH_OMP) ++ set_property(TARGET OpenMP::OpenMP_Fortran PROPERTY INTERFACE_LINK_OPTIONS "-qopenmp") + endif() + endif() + diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch new file mode 100644 index 00000000000..9386d144930 --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-21.1_use_dftd3_from_EB.patch @@ -0,0 +1,12 @@ +Use dftd3 from EasyBuild instead of downloading it as an external + +Åke Sandgren, 20211020 +diff -ru dftbplus-21.1.orig/external/dftd3/CMakeLists.txt dftbplus-21.1/external/dftd3/CMakeLists.txt +--- dftbplus-21.1.orig/external/dftd3/CMakeLists.txt 2021-05-12 20:23:51.000000000 +0200 ++++ dftbplus-21.1/external/dftd3/CMakeLists.txt 2021-10-20 08:40:05.364957330 +0200 +@@ -1,4 +1,4 @@ + set(LIBRARY_ONLY TRUE) + set(INSTALL_EXPORT_NAME dftbplus-targets) +-add_subdirectory(origin) ++#add_subdirectory(origin) + set(EXPORTED_COMPILED_LIBRARIES ${EXPORTED_COMPILED_LIBRARIES} dftd3 PARENT_SCOPE) diff --git a/easybuild/easyconfigs/d/DFTB+/DFTB+-24.1-foss-2023a.eb b/easybuild/easyconfigs/d/DFTB+/DFTB+-24.1-foss-2023a.eb new file mode 100644 index 00000000000..c862fcea552 --- /dev/null +++ b/easybuild/easyconfigs/d/DFTB+/DFTB+-24.1-foss-2023a.eb @@ -0,0 +1,93 @@ +easyblock = 'CMakeMake' + +name = 'DFTB+' +version = '24.1' + +homepage = 'https://www.dftb-plus.info' +description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package. +It is based on the Density Functional Tight Binding (DFTB) method, containing +almost all of the useful extensions which have been developed for the DFTB +framework so far. Using DFTB+ you can carry out quantum mechanical simulations +like with ab-initio density functional theory based packages, but in an +approximate way gaining typically around two order of magnitude in speed.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': True, 'pic': True} + +_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/' +_external_extract = 'mkdir -p %s && tar -C %s' % (_external_dir, _external_dir) +_external_extract += ' --strip-components=1 -xzf %%s' + +source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'] +sources = [ + 'dftbplus-%(version)s.tar.xz', + { + # Slater-Koster (slakos) data for testing + 'source_urls': ['https://github.com/dftbplus/testparams/archive'], + 'download_filename': 'fbe3d62127d86bd8e49ad25a1e5793e6a095e8e7.tar.gz', + 'filename': 'slakos-data-%(version)s.tar.gz', + 'extract_cmd': _external_extract % ('slakos', 'slakos'), + }, + { + # GBSA (gbsa) data for testing + 'source_urls': ['https://github.com/grimme-lab/gbsa-parameters/archive'], + 'download_filename': '6836c4d997e4135e418cfbe273c96b1a3adb13e2.tar.gz', + 'filename': 'gbsa-data-%(version)s.tar.gz', + 'extract_cmd': _external_extract % ('gbsa', 'gbsa'), + }, +] +checksums = [ + {'dftbplus-24.1.tar.xz': '3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'}, + {'slakos-data-24.1.tar.gz': '78a0494c2ff9216d6a9199ba07d632b18b809e0198f43905c044b5748bde488d'}, + {'gbsa-data-24.1.tar.gz': 'd464f9f7b1883d1353b433d0c7eae2f5606af092d9b51d38e9ed15e072610a79'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('git', '2.41.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('dftd4', '3.7.0'), + ('ELSI', '2.11.0', '-PEXSI'), + ('libmbd', '0.12.6'), +] + +# Prefer dependencies from EB than bundled sources +configopts = '-DHYBRID_CONFIG_METHODS="Find;Submodule;Fetch" ' +configopts += '-DWITH_MPI=1 -DWITH_OMP=1 -DWITH_SDFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 ' +configopts += '-DBUILD_SHARED_LIBS=1 -DWITH_API=1 -DWITH_PYTHON=0 ' # Python bindings installed as extension +configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" ' + +runtest = 'test' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'runtest': False, +} +exts_list = [ + ('dptools', version, { + 'source_tmpl': 'dftbplus-%(version)s.tar.xz', + 'source_urls': ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'], + 'start_dir': 'tools/dptools', + 'checksums': ['3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'], + }), +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube', + 'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']] + + ['lib/libdftbplus.%s' % SHLIB_EXT, 'lib/libmpifx.%s' % SHLIB_EXT], + 'dirs': ['include/dftbplus', 'lib/cmake', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import dptools'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/DGL/DGL-0.6.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb b/easybuild/easyconfigs/d/DGL/DGL-0.6.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb new file mode 100644 index 00000000000..174ca4ba226 --- /dev/null +++ b/easybuild/easyconfigs/d/DGL/DGL-0.6.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'DGL' +version = '0.6.1' +local_pytorch_version = '1.8.1' +local_pysuff = '-Python-%(pyver)s' +versionsuffix = local_pysuff + '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://www.dgl.ai' +description = """DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. +DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest +of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/%(namelower)s_cu101'] +sources = ['%(namelower)s_cu101-%(version)s-cp37-cp37m-manylinux1_%(arch)s.whl'] + +checksums = ['6dbc7830fec82f29d4f884790290fef41c2cea45b0052748af2ec30679cf9cb2'] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', local_pysuff), + ('networkx', '2.4', local_pysuff), + ('PyTorch', local_pytorch_version, local_pysuff), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..71615bf8576 --- /dev/null +++ b/easybuild/easyconfigs/d/DGL/DGL-0.9.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,140 @@ +easyblock = 'CMakeMake' + +name = 'DGL' +version = '0.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.dgl.ai' +description = """DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. +DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest +of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +# GCC 10.3.0 vectorizer causes errors in nanoflann on skylake and later +# and since nanoflann is just a header file we need to turn it off for anything that uses it +toolchainopts = {'vectorize': False} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + { + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(namelower)s-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/KarypisLab/METIS/archive'], + 'download_filename': 'v5.1.1-DistDGL-v0.5.tar.gz', + 'filename': 'metis-5.1.1-DistDGL-v0.5.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS --strip-components=1 -xf %s", + }, + { + 'source_urls': ['https://github.com/KarypisLab/GKlib/archive'], + 'download_filename': 'METIS-v5.1.1-DistDGL-0.5.tar.gz', + 'filename': 'GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/METIS/GKlib --strip-components=1 -xf %s", + }, + { + 'filename': 'tensorpipe-20230206.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'tensorpipe', + 'commit': '6042f1a4cbce8eef997f11ed0012de137b317361', + 'recursive': True, + }, + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/tensorpipe --strip-components=1 -xf %s", + }, + # DGL really needs cub >= 1.17, CUDA 11.3 only have 1.11 + { + 'source_urls': ['https://github.com/NVIDIA/thrust/archive'], + 'download_filename': '1.17.0.tar.gz', + 'filename': 'thrust-1.17.0.tar.gz', + 'extract_cmd': "tar -C %(namelower)s-%(version)s/third_party/thrust --strip-components=1 -xf %s", + }, + { + 'source_urls': ['https://github.com/NVIDIA/cub/archive'], + 'download_filename': '1.17.0.tar.gz', + 'filename': 'cub-1.17.0.tar.gz', + 'extract_cmd': + "tar -C %(namelower)s-%(version)s/third_party/thrust/dependencies/cub --strip-components=1 -xf %s", + }, +] +patches = [ + '%(name)s-%(version)s_use_externals_instead_of_submodules.patch', +] +checksums = [ + '8d26ebb7ed976665bbf5bbd1792d8e6efb13a8fa16e5eb1efed75e07fb982e04', # dgl-0.9.1.tar.gz + 'cedf0b32d32a8496bac7eb078b2b8260fb00ddb8d50c27e4082968a01bc33331', # metis-5.1.1-DistDGL-v0.5.tar.gz + '52aa0d383d42360f4faa0ae9537ba2ca348eeab4db5f2dfd6343192d0ff4b833', # GKlib-METIS-v5.1.1-DistDGL-0.5.tar.gz + None, # tensorpipe-20230206.tar.gz + 'b02aca5d2325e9128ed9d46785b8e72366f758b873b95001f905f22afcf31bbf', # thrust-1.17.0.tar.gz + '16fd4860ae3196bc3eb08bf5754fa2a9697951ddae36dc9721e6614388893618', # cub-1.17.0.tar.gz + # DGL-0.9.1_use_externals_instead_of_submodules.patch' + '4c39420abc09d619de92ca4ee5c4472359b1f5ffe8acd898d4d665bdbeb2ce40', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), + ('DLPack', '0.3'), + ('DMLC-Core', '0.5'), + ('Parallel-Hashmap', '1.33'), + ('nanoflann', '1.4.0'), + ('libxsmm', '1.16.2'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('PyTorch', '1.12.1', versionsuffix), +] + +_copts = [ + '-DUSE_AVX=OFF', # AVX + LIBXSMM requires libxsmm tag 1.eol + '-DBUILD_CPP_TEST=ON', + '-DUSE_CUDA=ON', # Must be "ON", as opposed to "1" or so, due to bad CMake code in DGL + '-DUSE_NCCL=ON', + '-DUSE_SYSTEM_NCCL=ON', + '-DBUILD_WITH_SHARED_NCCL=ON', + '-DUSE_FP16=ON', +] +configopts = ' '.join(_copts) + +# Must not build shared libs, DGL uses internal versions of, among others, METIS +# but it doesn't install these internal libraries and simply assumes that everything is +# statically linked. +build_shared_libs = False + +runtest = 'test' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'easyblock': 'PythonPackage', + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'runtest': True, +} + +exts_list = [ + ('dgl', version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'start_dir': 'python', + 'installopts': '--use-feature=in-tree-build ', + 'checksums': ['8d26ebb7ed976665bbf5bbd1792d8e6efb13a8fa16e5eb1efed75e07fb982e04'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libdgl.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch b/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch new file mode 100644 index 00000000000..371f6170a36 --- /dev/null +++ b/easybuild/easyconfigs/d/DGL/DGL-0.9.1_use_externals_instead_of_submodules.patch @@ -0,0 +1,147 @@ +commit 58b57280a7f0f6853fb7239d8f13737437f519b5 +Author: Ake Sandgren +Date: Mon Feb 13 13:40:40 2023 +0100 + + Use external EasyBuild versions of some submodules + And make sure libxsmm links with flexiblas + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6ff98d5e..4dae1c72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -204,21 +204,21 @@ set_property(TARGET dgl PROPERTY CXX_STANDARD 14) + + # include directories + target_include_directories(dgl PRIVATE "include") +-target_include_directories(dgl PRIVATE "third_party/dlpack/include") +-target_include_directories(dgl PRIVATE "third_party/dmlc-core/include") +-target_include_directories(dgl PRIVATE "third_party/phmap/") ++#target_include_directories(dgl PRIVATE "third_party/dlpack/include") ++#target_include_directories(dgl PRIVATE "third_party/dmlc-core/include") ++#target_include_directories(dgl PRIVATE "third_party/phmap/") + target_include_directories(dgl PRIVATE "third_party/xbyak/") + target_include_directories(dgl PRIVATE "third_party/METIS/include/") + target_include_directories(dgl PRIVATE "tensoradapter/include") +-target_include_directories(dgl PRIVATE "third_party/nanoflann/include") +-target_include_directories(dgl PRIVATE "third_party/libxsmm/include") ++#target_include_directories(dgl PRIVATE "third_party/nanoflann/include") ++#target_include_directories(dgl PRIVATE "third_party/libxsmm/include") + + + # For serialization + if (USE_HDFS) + option(DMLC_HDFS_SHARED "dgl has to build with dynamic hdfs library" ON) + endif() +-add_subdirectory("third_party/dmlc-core") ++#add_subdirectory("third_party/dmlc-core") + list(APPEND DGL_LINKER_LIBS dmlc) + set(GOOGLE_TEST 0) # Turn off dmlc-core test + +@@ -234,17 +234,7 @@ endif(NOT MSVC) + + # Compile LIBXSMM + if((NOT MSVC) AND USE_LIBXSMM) +- if(REBUILD_LIBXSMM) +- add_custom_target(libxsmm COMMAND make realclean COMMAND make -j BLAS=0 +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/third_party/libxsmm +- ) +- else(REBUILD_LIBXSMM) +- add_custom_target(libxsmm COMMAND make -j BLAS=0 +- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/third_party/libxsmm +- ) +- endif(REBUILD_LIBXSMM) +- add_dependencies(dgl libxsmm) +- list(APPEND DGL_LINKER_LIBS -L${CMAKE_SOURCE_DIR}/third_party/libxsmm/lib/ xsmm) ++ list(APPEND DGL_LINKER_LIBS xsmm flexiblas) + endif((NOT MSVC) AND USE_LIBXSMM) + + if(NOT MSVC) +@@ -324,15 +314,17 @@ install(TARGETS dgl DESTINATION lib${LIB_SUFFIX}) + # Testing + if(BUILD_CPP_TEST) + message(STATUS "Build with unittest") +- add_subdirectory(./third_party/googletest) ++ #add_subdirectory(./third_party/googletest) + enable_testing() + include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR}) + include_directories("include") +- include_directories("third_party/dlpack/include") +- include_directories("third_party/xbyak") +- include_directories("third_party/dmlc-core/include") +- include_directories("third_party/phmap") +- include_directories("third_party/libxsmm/include") ++ #include_directories("third_party/dlpack/include") ++ if (USE_AVX) ++ include_directories("third_party/xbyak") ++ endif(USE_AVX) ++ #include_directories("third_party/dmlc-core/include") ++ #include_directories("third_party/phmap") ++ #include_directories("third_party/libxsmm/include") + file(GLOB_RECURSE TEST_SRC_FILES ${PROJECT_SOURCE_DIR}/tests/cpp/*.cc) + add_executable(runUnitTests ${TEST_SRC_FILES}) + target_link_libraries(runUnitTests gtest gtest_main) +diff --git a/include/dgl/runtime/ndarray.h b/include/dgl/runtime/ndarray.h +index cbcd79d5..db2caa16 100644 +--- a/include/dgl/runtime/ndarray.h ++++ b/include/dgl/runtime/ndarray.h +@@ -14,7 +14,7 @@ + #include + + #include "c_runtime_api.h" +-#include "dlpack/dlpack.h" ++#include + #include "serializer.h" + #include "shared_mem.h" + +diff --git a/include/dgl/zerocopy_serializer.h b/include/dgl/zerocopy_serializer.h +index 6c77c4df..53d2bfa0 100644 +--- a/include/dgl/zerocopy_serializer.h ++++ b/include/dgl/zerocopy_serializer.h +@@ -19,7 +19,7 @@ + #include + #include + +-#include "dmlc/logging.h" ++#include + + namespace dgl { + +diff --git a/include/intel/cpu_support.h b/include/intel/cpu_support.h +index 14c5f5c4..7c554f0d 100644 +--- a/include/intel/cpu_support.h ++++ b/include/intel/cpu_support.h +@@ -9,7 +9,7 @@ + #include + #include + #include +-#include "dmlc/logging.h" ++#include + #include "meta_utils.h" + #include "xbyak/xbyak.h" + #include "xbyak/xbyak_util.h" +diff --git a/src/graph/serialize/heterograph_serialize.cc b/src/graph/serialize/heterograph_serialize.cc +index ce3c8d51..6f7a75dc 100644 +--- a/src/graph/serialize/heterograph_serialize.cc ++++ b/src/graph/serialize/heterograph_serialize.cc +@@ -50,7 +50,7 @@ + #include "../heterograph.h" + #include "./graph_serialize.h" + #include "./streamwithcount.h" +-#include "dmlc/memory_io.h" ++#include + + namespace dgl { + namespace serialize { +diff --git a/src/graph/serialize/zerocopy_serializer.cc b/src/graph/serialize/zerocopy_serializer.cc +index cc3f5968..5fed2b8b 100644 +--- a/src/graph/serialize/zerocopy_serializer.cc ++++ b/src/graph/serialize/zerocopy_serializer.cc +@@ -7,7 +7,7 @@ + #include + + #include "dgl/runtime/ndarray.h" +-#include "dmlc/memory_io.h" ++#include + + namespace dgl { + diff --git a/easybuild/easyconfigs/d/DIA-NN/DIA-NN-1.8.1.eb b/easybuild/easyconfigs/d/DIA-NN/DIA-NN-1.8.1.eb new file mode 100644 index 00000000000..d3877dedc29 --- /dev/null +++ b/easybuild/easyconfigs/d/DIA-NN/DIA-NN-1.8.1.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'DIA-NN' +version = '1.8.1' + +homepage = 'https://github.com/vdemichev/DiaNN' +description = """DIA-NN is a universal software for data-independent acquisition (DIA) + proteomics data processing.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/vdemichev/DiaNN/releases/download/%(version)s'] +sources = ['diann_%(version)s.tar.gz'] +checksums = ['fb239a1191ae9f3aa497d4e933ef9435bd9fd4795222f100530d1e22e550bb2c'] + +sanity_check_paths = { + 'files': ['diann-%(version)s'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +sanity_check_commands = ['diann-%(version)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb new file mode 100644 index 00000000000..9b146a684ba --- /dev/null +++ b/easybuild/easyconfigs/d/DIALOGUE/DIALOGUE-1.0-20230228-foss-2021b-R-4.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'DIALOGUE' +local_commit = '7109f6a' +# see DESCRIPTION file in source to determine version, +# but add date stamp of commit since version is not always bumped +version = '1.0-20230228' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/livnatje/DIALOGUE' +description = """DIALOGUE is a dimensionality reduction method that uses cross-cell-type associations to + identify multicellular programs (MCPs) and map the cell transcriptome as a function of its environment.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/livnatje/DIALOGUE/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['28a57c61c6854ca4c54114a3067437de6cee0eb1090c46ea45619457affdfb08'] + +dependencies = [ + ('R', '4.2.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.11-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.11-GCC-10.3.0.eb new file mode 100644 index 00000000000..516ab46667d --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.11-GCC-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.0.11' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['41f3197aaafff9c42763fb7658b67f730ebc6dd3c0533c9c3d54bd3166e93f24'] + +separate_build_dir = True + +builddependencies = [ + ('CMake', '3.20.1') +] +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-10.3.0.eb new file mode 100644 index 00000000000..95476f692b1 --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.0.13' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/bbuchfink/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9b79c3a01913999dfa2543f4dd7a3494397a8723ea587207c14683b24e57eac1'] + +separate_build_dir = True + +builddependencies = [ + ('CMake', '3.20.1') +] +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["diamond help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-11.2.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-11.2.0.eb new file mode 100644 index 00000000000..e9d2b4684fe --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.0.13-GCC-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.0.13' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9b79c3a01913999dfa2543f4dd7a3494397a8723ea587207c14683b24e57eac1'] + +builddependencies = [('CMake', '3.21.1')] +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..6677093ea15 --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.0-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.0' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5bd04574bb454562301c10b8e2594be33a147894b173421c929939b52e251715'] + +builddependencies = [('CMake', '3.23.1')] +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..9d3344fae45 --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.8' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415'] + +builddependencies = [('CMake', '3.20.1')] +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.2.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.2.0.eb new file mode 100644 index 00000000000..980b6fffc53 --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.8' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415'] + +builddependencies = [('CMake', '3.24.3')] +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.3.0.eb b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.3.0.eb new file mode 100644 index 00000000000..6d2a83ec881 --- /dev/null +++ b/easybuild/easyconfigs/d/DIAMOND/DIAMOND-2.1.8-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'DIAMOND' +version = '2.1.8' + +homepage = 'https://github.com/bbuchfink/diamond' +description = "Accelerated BLAST compatible local sequence aligner" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'bbuchfink' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +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/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/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-int64.eb index c938fbf458e..82a95e63297 100644 --- a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-int64.eb +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-int64.eb @@ -15,14 +15,14 @@ sources = ['DIRAC-%(version)s-Source.tar.gz'] patches = [ '%(name)s-%(version)s_remove-broken-tests-intel.patch', '%(name)s-%(version)s_fix-bss_energy_test.patch', - '%(name)s-%(version)s_use_easybuild_opts_intel.patch', + '%(name)s-%(version)s_use_easybuild_opts.patch', '%(name)s-%(version)s_fix_test_path.patch', ] checksums = [ 'f0e3610bdd1fbcff90cdfb4cf3fd7582a4762f533af7d635c4bc4d114f402c32', # DIRAC-19.0-Source.tar.gz 'cb0e07097499fe59180d79a5db9ee883b9c83e16dcc6210fd945072c3a54c8a4', # DIRAC-19.0_remove-broken-tests-intel.patch 'e66be847d87ccfda23687de31a3a7c8d71c97b0accd290cf7ade4b4184f1fb93', # DIRAC-19.0_fix-bss_energy_test.patch - '666a9053d6c1287ee7aa471d18436133931959b3eacb7619d5197dbfb4e0c1fe', # DIRAC-19.0_use_easybuild_opts_intel.patch + '150b293250f1ca476a1d268534a236e06dbf5960d25c2a09f6d3f5e82c043316', # DIRAC-19.0_use_easybuild_opts.patch '527680cab911a8c7a52347d7ace516a497b725043537a6274670a1aaa97bfb0f', # DIRAC-19.0_fix_test_path.patch ] @@ -30,10 +30,7 @@ builddependencies = [('CMake', '3.16.4')] dependencies = [('Python', '2.7.18')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DENABLE_BLAS=off ' +configopts = '-DENABLE_BLAS=off ' configopts += '-DENABLE_LAPACK=off ' configopts += '-DMKL_FLAG=off ' configopts += '-DBLAS_LANG=Fortran ' @@ -47,7 +44,6 @@ configopts += '-DENABLE_RUNTIMECHECK=False ' configopts += '-DENABLE_64BIT_INTEGERS=True ' configopts += '-DEXPLICIT_LIBS="${LIBLAPACK_MT}" ' configopts += '-DENABLE_PCMSOLVER=OFF ' -configopts += '-G"Unix Makefiles" ' parallel = 1 diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-mpi-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-mpi-int64.eb index bdb2729a3aa..f8abf1845ff 100644 --- a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-mpi-int64.eb +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0-intel-2020a-Python-2.7.18-mpi-int64.eb @@ -15,7 +15,7 @@ sources = ['DIRAC-%(version)s-Source.tar.gz'] patches = [ '%(name)s-%(version)s_remove-broken-tests-intel.patch', '%(name)s-%(version)s_fix-bss_energy_test.patch', - '%(name)s-%(version)s_use_easybuild_opts_intel.patch', + '%(name)s-%(version)s_use_easybuild_opts.patch', '%(name)s-%(version)s_fix_test_path.patch', '%(name)s-%(version)s_fix_mpi_tests.patch', ] @@ -23,7 +23,7 @@ checksums = [ 'f0e3610bdd1fbcff90cdfb4cf3fd7582a4762f533af7d635c4bc4d114f402c32', # DIRAC-19.0-Source.tar.gz 'cb0e07097499fe59180d79a5db9ee883b9c83e16dcc6210fd945072c3a54c8a4', # DIRAC-19.0_remove-broken-tests-intel.patch 'e66be847d87ccfda23687de31a3a7c8d71c97b0accd290cf7ade4b4184f1fb93', # DIRAC-19.0_fix-bss_energy_test.patch - '666a9053d6c1287ee7aa471d18436133931959b3eacb7619d5197dbfb4e0c1fe', # DIRAC-19.0_use_easybuild_opts_intel.patch + '150b293250f1ca476a1d268534a236e06dbf5960d25c2a09f6d3f5e82c043316', # DIRAC-19.0_use_easybuild_opts.patch '527680cab911a8c7a52347d7ace516a497b725043537a6274670a1aaa97bfb0f', # DIRAC-19.0_fix_test_path.patch 'ccc26fc320f0967211b6390244b1fa359ba5d0294071d5d2cb9e36b4652a52b2', # DIRAC-19.0_fix_mpi_tests.patch ] @@ -32,10 +32,7 @@ builddependencies = [('CMake', '3.16.4')] dependencies = [('Python', '2.7.18')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DENABLE_BLAS=off ' +configopts = '-DENABLE_BLAS=off ' configopts += '-DENABLE_LAPACK=off ' configopts += '-DMKL_FLAG=off ' configopts += '-DBLAS_LANG=Fortran ' @@ -49,7 +46,6 @@ configopts += '-DENABLE_RUNTIMECHECK=False ' configopts += '-DENABLE_64BIT_INTEGERS=True ' configopts += '-DEXPLICIT_LIBS="${LIBSCALAPACK_MT}" ' configopts += '-DENABLE_PCMSOLVER=OFF ' -configopts += '-G"Unix Makefiles" ' parallel = 1 diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts.patch b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts.patch new file mode 100644 index 00000000000..e7e16b65880 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts.patch @@ -0,0 +1,70 @@ +# Take EasyBuild compiler flags for C, C++, and Fortran +# OCT 5th, 2020 by B. Hajgato (UGent) +# Updated by Alexander Grund (TU Dresden) +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.C.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.C.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.C.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.C.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -3,7 +3,5 @@ + message(STATUS "Added gcc -maix64 flag due to IBM AIX XL Fortran and integer*8") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -maix64 ") + endif() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g") +- set(CMAKE_C_FLAGS_RELEASE "-O2 -Wno-unused") +- set(CMAKE_C_FLAGS_DEBUG "-O0") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused") + endif() +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.CXX.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.CXX.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.CXX.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.CXX.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -1,5 +1,4 @@ + if(CMAKE_CXX_COMPILER_ID MATCHES GNU) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") +- set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -march=native -DNDEBUG -Wno-unused") +- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wno-sign-compare -Woverloaded-virtual -Wwrite-strings -Wno-unused") ++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") + endif() +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.Fortran.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.Fortran.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/GNU.Fortran.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/GNU.Fortran.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -4,7 +4,6 @@ + set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -maix64") + message(STATUS "Added gfortran -maix64 flag due to IBM AIX and integer*8") + endif() +- set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -funroll-all-loops -w") +- set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS} -O0 -fbounds-check -finit-real=nan -finit-integer=-9999 -Wall") +- #set(CMAKE_Fortran_FLAGS_DEBUG "-O0") ++ set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -funroll-all-loops -w") ++ set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS} -fbounds-check -finit-real=nan -finit-integer=-9999 -Wall") + endif() +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.C.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.C.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.C.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.C.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -1,5 +1,3 @@ + if(CMAKE_C_COMPILER_ID MATCHES Intel) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -wd981 -wd279 -wd383 -wd1572 -wd177") +- set(CMAKE_C_FLAGS_RELEASE "-O2") +- set(CMAKE_C_FLAGS_DEBUG "-O0") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd981 -wd279 -wd383 -wd1572 -wd177") + endif() +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.CXX.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.CXX.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.CXX.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.CXX.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -1,5 +1,4 @@ + if(CMAKE_CXX_COMPILER_ID MATCHES Intel) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas") +- set(CMAKE_CXX_FLAGS_RELEASE "-debug -O3 -DNDEBUG") +- set(CMAKE_CXX_FLAGS_DEBUG "-O0 -debug -DDEBUG") ++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") + endif() +diff -ur DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.Fortran.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.Fortran.cmake +--- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.Fortran.cmake 2021-08-04 17:42:21.340186361 +0200 ++++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.Fortran.cmake 2021-08-04 17:53:53.657008099 +0200 +@@ -1,5 +1,4 @@ + if(CMAKE_Fortran_COMPILER_ID MATCHES Intel) +- set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl -g -traceback -DVAR_IFORT") +- set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip") +- set(CMAKE_Fortran_FLAGS_DEBUG "-O0") ++ set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl -DVAR_IFORT") ++ set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -ip") + endif() diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts_intel.patch b/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts_intel.patch deleted file mode 100644 index d0cd900f24c..00000000000 --- a/easybuild/easyconfigs/d/DIRAC/DIRAC-19.0_use_easybuild_opts_intel.patch +++ /dev/null @@ -1,33 +0,0 @@ -# Take EasyBuild compiler flags for C, C++, and Fortran -# OCT 5th, 2020 by B. Hajgato (UGent) -diff -ru DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.C.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.C.cmake ---- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.C.cmake 2019-12-12 17:26:15.000000000 +0100 -+++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.C.cmake 2020-10-07 19:53:57.517988580 +0200 -@@ -1,5 +1,5 @@ - if(CMAKE_C_COMPILER_ID MATCHES Intel) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -wd981 -wd279 -wd383 -wd1572 -wd177") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -wd981 -wd279 -wd383 -wd1572 -wd177") - set(CMAKE_C_FLAGS_RELEASE "-O2") - set(CMAKE_C_FLAGS_DEBUG "-O0") - endif() -diff -ru DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.CXX.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.CXX.cmake ---- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.CXX.cmake 2019-12-12 17:26:15.000000000 +0100 -+++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.CXX.cmake 2020-10-07 19:54:10.338306645 +0200 -@@ -1,5 +1,5 @@ - if(CMAKE_CXX_COMPILER_ID MATCHES Intel) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas") -- set(CMAKE_CXX_FLAGS_RELEASE "-debug -O3 -DNDEBUG") -+ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") - set(CMAKE_CXX_FLAGS_DEBUG "-O0 -debug -DDEBUG") - endif() -diff -ru DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.Fortran.cmake DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.Fortran.cmake ---- DIRAC-19.0-Source.orig/cmake/custom/compiler_flags/Intel.Fortran.cmake 2019-12-12 17:26:15.000000000 +0100 -+++ DIRAC-19.0-Source/cmake/custom/compiler_flags/Intel.Fortran.cmake 2020-10-07 19:55:34.670398011 +0200 -@@ -1,5 +1,5 @@ - if(CMAKE_Fortran_COMPILER_ID MATCHES Intel) -- set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl -g -traceback -DVAR_IFORT") -- set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -ip") -+ set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -w -assume byterecl -DVAR_IFORT") -+ set(CMAKE_Fortran_FLAGS_RELEASE " ") - set(CMAKE_Fortran_FLAGS_DEBUG "-O0") - endif() diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb new file mode 100644 index 00000000000..f6c765a8720 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/6010450/files/'] +sources = ['DIRAC-%(version)s-Source.tar.gz'] +checksums = ['c8c011b5bc2ca36a2ef76b2deb911638321655fcae1d1b146cacfa1b5f783711'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('HDF5', '1.10.7') +] + +configopts = '-DMKL_FLAG=off ' +configopts += '-DMATH_LIBS="$LIBLAPACK" ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb new file mode 100644 index 00000000000..9ac0ca334a5 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a-int64.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' +versionsuffix = '-int64' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'i8': True} + +source_urls = ['https://zenodo.org/record/6010450/files/'] +sources = ['DIRAC-%(version)s-Source.tar.gz'] +checksums = ['c8c011b5bc2ca36a2ef76b2deb911638321655fcae1d1b146cacfa1b5f783711'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('HDF5', '1.10.7') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_64BIT_INTEGERS=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R symmetry_scf_energy" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb new file mode 100644 index 00000000000..633bda80386 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-22.0-intel-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '22.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/6010450/files/'] +sources = ['DIRAC-%(version)s-Source.tar.gz'] +checksums = ['c8c011b5bc2ca36a2ef76b2deb911638321655fcae1d1b146cacfa1b5f783711'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('HDF5', '1.10.7') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022a.eb new file mode 100644 index 00000000000..b3bada73def --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0') +] + +configopts = '-DMKL_FLAG=off ' +configopts += '-DMATH_LIBS="$LIBLAPACK" ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022b.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022b.eb new file mode 100644 index 00000000000..b69b0e9bc2d --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=off ' +configopts += '-DMATH_LIBS="$LIBLAPACK" ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2023a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2023a.eb new file mode 100644 index 00000000000..b2e2220079f --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('HDF5', '1.14.0'), + ('SciPy-bundle', '2023.07'), + ('h5py', '3.9.0') +] + +configopts = '-DMKL_FLAG=off ' +configopts += '-DMATH_LIBS="$LIBLAPACK" ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022a.eb new file mode 100644 index 00000000000..239c0061973 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b-int64.eb new file mode 100644 index 00000000000..7f4588b4537 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b-int64.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' +versionsuffix = '-int64' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True, 'i8': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_64BIT_INTEGERS=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R symmetry_scf_energy" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b.eb new file mode 100644 index 00000000000..2dba1046771 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a-int64.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a-int64.eb new file mode 100644 index 00000000000..8a06671ca31 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a-int64.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' +versionsuffix = '-int64' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True, 'i8': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_64BIT_INTEGERS=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R symmetry_scf_energy" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a.eb b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a.eb new file mode 100644 index 00000000000..5366c453837 --- /dev/null +++ b/easybuild/easyconfigs/d/DIRAC/DIRAC-23.0-intel-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'DIRAC' +version = '23.0' + +homepage = 'http://www.diracprogram.org' +description = "DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True, 'oneapi': False} + +source_urls = ['https://zenodo.org/record/7670749/files/'] +sources = ['DIRAC-%(version)s-Source.tgz'] +checksums = ['a0a6b6318b3cd2e3c6042221de720bb1e87eb758999e2108a48dedb9c564e1f8'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('HDF5', '1.14.0') +] + +configopts = '-DMKL_FLAG=sequential ' +configopts += '-DENABLE_MPI=True ' +configopts += '-DENABLE_EXATENSOR=off ' +configopts += '-DENABLE_PCMSOLVER=off ' + +pretestopts = 'export DIRAC_TMPDIR=%(builddir)s/scratch && ' +pretestopts += 'export DIRAC_MPI_COMMAND="%(mpi_cmd_prefix)s " && ' + +runtest = 'test ARGS="-R pam_test" ' + +sanity_check_paths = { + 'files': ['bin/pam-dirac', 'share/dirac/dirac.x'], + 'dirs': ['share/dirac/basis'], +} + +sanity_check_commands = ["pam-dirac --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DLPack/DLPack-0.3-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DLPack/DLPack-0.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..c487f04f841 --- /dev/null +++ b/easybuild/easyconfigs/d/DLPack/DLPack-0.3-GCC-10.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'DLPack' +version = '0.3' + +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': '10.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['703149f5b39ead42cc734c03c7c4bd581fcad1c5a3939e7a4b5bc82f54c3c32a'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['include/dlpack/dlpack.h', 'lib/cmake/dlpack/dlpackConfig.cmake'], + 'dirs': [], +} + +moduleclass = 'lib' 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/DL_POLY_4/DL_POLY_4-5.1.0-foss-2022b.eb b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-foss-2022b.eb new file mode 100644 index 00000000000..9651ab16abc --- /dev/null +++ b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-foss-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'CMakeMake' +name = "DL_POLY_4" +version = "5.1.0" +homepage = "https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx" +description = "DL_POLY is a general purpose classical molecular dynamics (MD) simulation software" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://gitlab.com/ccp5/dl-poly/-/archive/%(version)s/'] +sources = ['dl_poly_%(version)s.tar.bz2'] +checksums = ['da5364986cd71e047e080753f6ca75135bf19bd5607770b839dea3734c2fdfaa'] + +builddependencies = [('CMake', '3.24.3')] + +sanity_check_paths = { + 'files': ['bin/DLPOLY.Z'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-foss-2023a.eb b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-foss-2023a.eb new file mode 100644 index 00000000000..1d47dce62d0 --- /dev/null +++ b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-foss-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = "DL_POLY_4" +version = "5.1.0" + +homepage = "https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx" +description = "DL_POLY is a general purpose classical molecular dynamics (MD) simulation software" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://gitlab.com/ccp5/dl-poly/-/archive/%(version)s/'] +sources = ['dl_poly_%(version)s.tar.bz2'] +checksums = ['da5364986cd71e047e080753f6ca75135bf19bd5607770b839dea3734c2fdfaa'] + +builddependencies = [('CMake', '3.26.3')] + +sanity_check_paths = { + 'files': ['bin/DLPOLY.Z'], + 'dirs': [] +} + +sanity_check_commands = ['DLPOLY.Z -h'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-intel-2022b.eb b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-intel-2022b.eb new file mode 100644 index 00000000000..b48df994884 --- /dev/null +++ b/easybuild/easyconfigs/d/DL_POLY_4/DL_POLY_4-5.1.0-intel-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'CMakeMake' +name = "DL_POLY_4" +version = "5.1.0" +homepage = "https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx" +description = "DL_POLY is a general purpose classical molecular dynamics (MD) simulation software" + +toolchain = {'name': 'intel', 'version': '2022b'} + +source_urls = ['https://gitlab.com/ccp5/dl-poly/-/archive/%(version)s/'] +sources = ['dl_poly_%(version)s.tar.bz2'] +checksums = ['da5364986cd71e047e080753f6ca75135bf19bd5607770b839dea3734c2fdfaa'] + +builddependencies = [('CMake', '3.24.3')] + +sanity_check_paths = { + 'files': ['bin/DLPOLY.Z'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DL_POLY_Classic_GUI/DL_POLY_Classic_GUI-1.10.eb b/easybuild/easyconfigs/d/DL_POLY_Classic_GUI/DL_POLY_Classic_GUI-1.10.eb new file mode 100644 index 00000000000..84de0bbf36a --- /dev/null +++ b/easybuild/easyconfigs/d/DL_POLY_Classic_GUI/DL_POLY_Classic_GUI-1.10.eb @@ -0,0 +1,34 @@ +easyblock = 'JAR' + +name = 'DL_POLY_Classic_GUI' +version = '1.10' + +homepage = 'https://gitlab.com/DL_POLY_Classic/dl_poly' +description = """ +The DL_POLY Graphical User Interface (or GUI) is a program written in the +Java language and is intended for use with the DL_POLY molecular +simulation program. +This is the GUI for DL_POLY Classic, it can also be used for DL_POLY_4. +""" + +toolchain = SYSTEM + +source_urls = ['https://gitlab.com/DL_POLY_Classic/dl_poly/-/raw/RELEASE-%(version_major)s-%(version_minor)s/java/'] +sources = ['GUI.jar'] +checksums = ['8d3a5ed75d5ee8eb2e4403d8ed9355cd214c7e5b7afc8161c89a50edbc0a481d'] + +dependencies = [ + ('Java', '17', '', SYSTEM), +] + + +sanity_check_paths = { + 'files': ['GUI.jar'], + 'dirs': [''], +} + +modloadmsg = """ +To execute this Graphical User Interface run: java GUI +""" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.3.0.eb b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.3.0.eb new file mode 100644 index 00000000000..cbae873b66e --- /dev/null +++ b/easybuild/easyconfigs/d/DMLC-Core/DMLC-Core-0.5-GCC-10.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': '10.3.0'} + +github_account = 'dmlc' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd97475ae1ecf561a1cb1129552f9889d52b11b3beb4c56e5345d007d5020ece'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('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/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/DMTCP/DMTCP-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..09d769732a5 --- /dev/null +++ b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'DMTCP' +version = '3.0.0' + +homepage = 'http://dmtcp.sourceforge.net/index.html' +description = """DMTCP is a tool to transparently checkpoint the state of multiple +simultaneous applications, including multi-threaded and distributed applications. +It operates directly on the user binary executable, without any Linux kernel modules +or other kernel modifications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/dmtcp/dmtcp/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/dmtcp_command', 'bin/dmtcp_discover_rm', 'bin/dmtcp_nocheckpoint', 'bin/dmtcp_srun_helper', + 'bin/dmtcp_sshd', 'bin/dmtcp_coordinator', 'bin/dmtcp_launch', 'bin/dmtcp_restart', 'bin/dmtcp_ssh'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0474c5e8f88 --- /dev/null +++ b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'DMTCP' +version = '3.0.0' + +homepage = 'http://dmtcp.sourceforge.net/index.html' +description = """DMTCP is a tool to transparently checkpoint the state of multiple +simultaneous applications, including multi-threaded and distributed applications. +It operates directly on the user binary executable, without any Linux kernel modules +or other kernel modifications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/dmtcp/dmtcp/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/dmtcp_command', 'bin/dmtcp_discover_rm', 'bin/dmtcp_nocheckpoint', 'bin/dmtcp_srun_helper', + 'bin/dmtcp_sshd', 'bin/dmtcp_coordinator', 'bin/dmtcp_launch', 'bin/dmtcp_restart', 'bin/dmtcp_ssh'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9947d4f758d --- /dev/null +++ b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'DMTCP' +version = '3.0.0' + +homepage = 'http://dmtcp.sourceforge.net/index.html' +description = """DMTCP is a tool to transparently checkpoint the state of multiple +simultaneous applications, including multi-threaded and distributed applications. +It operates directly on the user binary executable, without any Linux kernel modules +or other kernel modifications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/dmtcp/dmtcp/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/dmtcp_command', 'bin/dmtcp_discover_rm', 'bin/dmtcp_nocheckpoint', 'bin/dmtcp_srun_helper', + 'bin/dmtcp_sshd', 'bin/dmtcp_coordinator', 'bin/dmtcp_launch', 'bin/dmtcp_restart', 'bin/dmtcp_ssh'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9721668c208 --- /dev/null +++ b/easybuild/easyconfigs/d/DMTCP/DMTCP-3.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'DMTCP' +version = '3.0.0' + +homepage = 'http://dmtcp.sourceforge.net/index.html' +description = """DMTCP is a tool to transparently checkpoint the state of multiple +simultaneous applications, including multi-threaded and distributed applications. +It operates directly on the user binary executable, without any Linux kernel modules +or other kernel modifications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/dmtcp/dmtcp/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2c7e95e1dbc55db33433bfee48a65f274298e98f246a36ab6dad1e0694750d37'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/dmtcp_command', 'bin/dmtcp_discover_rm', 'bin/dmtcp_nocheckpoint', 'bin/dmtcp_srun_helper', + 'bin/dmtcp_sshd', 'bin/dmtcp_coordinator', 'bin/dmtcp_launch', 'bin/dmtcp_restart', 'bin/dmtcp_ssh'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2018.1.0.post1-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2018.1.0.post1-foss-2018a-Python-3.6.4.eb index 61ccdb3b120..197ea4e94e2 100644 --- a/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2018.1.0.post1-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2018.1.0.post1-foss-2018a-Python-3.6.4.eb @@ -34,7 +34,7 @@ dependencies = [ ('Trilinos', '12.12.1', versionsuffix), ('zlib', '1.2.11'), ('libxml2', '2.9.7'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('PLY', '3.11', versionsuffix), ('VTK', '8.1.0', versionsuffix), ('petsc4py', '3.9.1', versionsuffix), diff --git a/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2019.1.0.post0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2019.1.0.post0-foss-2019b-Python-3.7.4.eb index 51c770e09cc..067b5659b17 100644 --- a/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2019.1.0.post0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/d/DOLFIN/DOLFIN-2019.1.0.post0-foss-2019b-Python-3.7.4.eb @@ -33,7 +33,7 @@ dependencies = [ ('Trilinos', '12.12.1', versionsuffix), ('zlib', '1.2.11'), ('libxml2', '2.9.9'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('PLY', '3.11', versionsuffix), ('VTK', '8.2.0', versionsuffix), ('petsc4py', '3.12.0', versionsuffix), diff --git a/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2022a.eb b/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2022a.eb new file mode 100644 index 00000000000..c18f4974acf --- /dev/null +++ b/easybuild/easyconfigs/d/DP3/DP3-6.0-foss-2022a.eb @@ -0,0 +1,51 @@ +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': '2022a'} + +sources = [{ + 'filename': '%(name)s-v%(version)s.tar.gz', + '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.24.3'), +] + +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.79.0'), + ('CFITSIO', '4.2.0'), + ('WCSLIB', '7.11'), + ('GSL', '2.7'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), + ('EveryBeam', '0.5.2'), + ('Armadillo', '11.4.3'), + ('AOFlagger', '3.4.0') +] + +# Without this, the wrong (system) python is picked up by cmake +# in cases where the system python is newer than the one used in these EasyConfigs +# See PR # 19119 +configopts = '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +sanity_check_paths = { + 'files': ['include/include/dp3/base/DP3.h', 'bin/DP3'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('DP3', '--version')] + +moduleclass = 'astro' 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/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb b/easybuild/easyconfigs/d/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb new file mode 100644 index 00000000000..e6bb3dd3a74 --- /dev/null +++ b/easybuild/easyconfigs/d/DRAGMAP/DRAGMAP-1.3.0-foss-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'DRAGMAP' +version = '1.3.0' + +homepage = 'https://github.com/Illumina/DRAGMAP' +description = 'Dragmap is the Dragen mapper/aligner Open Source Software.' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Illumina/DRAGMAP/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['baf546c2f53b13e2bce4c937201e38459f3ce2f1069722ca670d8726a4bae224'] + +dependencies = { + ('Boost', '1.77.0'), + ('googletest', '1.11.0'), +} + +skipsteps = ['configure'] +prebuildopts = 'sed -i "s|-msse4.2 -mavx2|$CXXFLAGS|g" config.mk &&' +buildopts = 'CC="$CC" CXX="$CXX"' +preinstallopts = 'mkdir %(installdir)s/bin &&' +installopts = 'DESTDIR=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/dragen-os'], + 'dirs': [] +} + +sanity_check_commands = ['dragen-os --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DROP/DROP-1.0.3-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/d/DROP/DROP-1.0.3-foss-2020b-R-4.0.3.eb index 020b8f5f672..e06ee84b7f4 100644 --- a/easybuild/easyconfigs/d/DROP/DROP-1.0.3-foss-2020b-R-4.0.3.eb +++ b/easybuild/easyconfigs/d/DROP/DROP-1.0.3-foss-2020b-R-4.0.3.eb @@ -13,7 +13,7 @@ dependencies = [ ('R', '4.0.3'), ('R-bundle-Bioconductor', '3.12', '-R-%(rver)s'), ('tMAE', '1.0.0', '-R-%(rver)s'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('GATK', '4.2.0.0', '-Java-%(javaver)s'), ('Graphviz', '2.47.0', '-Java-%(javaver)s'), ('Python', '3.8.6'), @@ -23,7 +23,7 @@ dependencies = [ ('HTSlib', '1.11'), # for tabix ('SAMtools', '1.11'), ('BCFtools', '1.11'), - ('Pandoc', '2.13', '', True), + ('Pandoc', '2.13', '', SYSTEM), ] # postinstallcmds for pandoc are required to avoid that import fails because pandoc/definitions dir is not installed diff --git a/easybuild/easyconfigs/d/DROP/DROP-1.1.0-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/d/DROP/DROP-1.1.0-foss-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..8091ae5611b --- /dev/null +++ b/easybuild/easyconfigs/d/DROP/DROP-1.1.0-foss-2020b-R-4.0.3.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'DROP' +version = '1.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://gagneurlab-drop.readthedocs.io' +description = "Pipeline to find aberrant events in RNA-Seq data, useful for diagnosis of rare disorders" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('R', '4.0.3'), + ('R-bundle-Bioconductor', '3.12', '-R-%(rver)s'), + ('tMAE', '1.0.0', '-R-%(rver)s'), + ('Java', '11', '', SYSTEM), + ('GATK', '4.2.0.0', '-Java-%(javaver)s'), + ('Graphviz', '2.47.0', '-Java-%(javaver)s'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('snakemake', '6.1.0'), + ('wget', '1.20.3'), + ('HTSlib', '1.11'), # for tabix + ('SAMtools', '1.11'), + ('BCFtools', '1.11'), + ('Pandoc', '2.13', '', SYSTEM), +] + +exts_list = [ + ('wbuild', '1.8.0', { + 'checksums': ['3088d3fcbc71106464f20e3546a73df400dc03d17f11e70bdb15d35d7e6c5a7e'], + }), + ('click-log', '0.3.2', { + 'checksums': ['16fd1ca3fc6b16c98cea63acf1ab474ea8e676849dc669d86afafb0ed7003124'], + }), + ('graphviz', '0.17', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['ef6e2c5deb9cdcc0c7eece1d89625fd07b0f2208ea2bcb483520907ddf8b4e12'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('about', '5.2', { + 'checksums': ['4a318ad1dcf6e9355b8ae18195c707d26413782b57ac5c740cc696b44350c959'], + }), + ('plumbum', '1.7.0', { + 'checksums': ['317744342c755319907c773cc87c3a30adaa3a41b0d34c0ce02d9d1904922dce'], + }), + ('pandoc', version, { + 'checksums': ['374f1791151b084e7aac17feeadf43b0c08f0ed39c666a907040f4ee18016b73'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/gagneurlab/drop/archive'], + 'checksums': ['705693610480aa319cec51c2c3118a8f96d2a781c85f9f1d7393e3cd3408d253'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/drop'], + 'dirs': [], +} + +sanity_check_commands = ['drop --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DROP/DROP-1.1.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/d/DROP/DROP-1.1.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..64d414e98e3 --- /dev/null +++ b/easybuild/easyconfigs/d/DROP/DROP-1.1.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'DROP' +version = '1.1.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://gagneurlab-drop.readthedocs.io' +description = "Pipeline to find aberrant events in RNA-Seq data, useful for diagnosis of rare disorders" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', '-R-%(rver)s'), + ('tMAE', '1.0.1', '-R-%(rver)s'), + ('Java', '11', '', SYSTEM), + ('GATK', '4.2.3.0', '-Java-%(javaver)s'), + ('Graphviz', '2.50.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('snakemake', '6.10.0'), + ('wget', '1.21.2'), + ('HTSlib', '1.14'), # for tabix + ('SAMtools', '1.14'), + ('BCFtools', '1.14'), + ('Pandoc', '2.13', '', SYSTEM), +] + +exts_list = [ + ('wbuild', '1.8.0', { + 'checksums': ['3088d3fcbc71106464f20e3546a73df400dc03d17f11e70bdb15d35d7e6c5a7e'], + }), + ('click-log', '0.3.2', { + 'checksums': ['16fd1ca3fc6b16c98cea63acf1ab474ea8e676849dc669d86afafb0ed7003124'], + }), + ('graphviz', '0.19.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('about', '5.2', { + 'checksums': ['4a318ad1dcf6e9355b8ae18195c707d26413782b57ac5c740cc696b44350c959'], + }), + ('plumbum', '1.7.2', { + 'checksums': ['0d1bf908076bbd0484d16412479cb97d6843069ee19f99e267e11dd980040523'], + }), + ('pandoc', '2.0.1', { + 'checksums': ['4d3850314fa56cb6164101ad8af561db0c0d5fd19d047e2ca8a9119bf47dac23'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/gagneurlab/drop/archive'], + 'checksums': ['18f2a2eb4fa587d00bb717c9ca7a5d20b397805db1542db68afdd6079a8e43f4'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/drop'], + 'dirs': [], +} + +sanity_check_commands = ['drop --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DUBStepR/DUBStepR-1.2.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/d/DUBStepR/DUBStepR-1.2.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..3e88b94a773 --- /dev/null +++ b/easybuild/easyconfigs/d/DUBStepR/DUBStepR-1.2.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,31 @@ +easyblock = 'RPackage' + +name = 'DUBStepR' +version = '1.2.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/prabhakarlab/DUBStepR' +description = """DUBStepR (Determining the Underlying Basis using Step-wise Regression) is a feature selection +algorithm for cell type identification in single-cell RNA-sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['c166bb94c734b70c1c5769b7ba558a0123a70c9d64e4a43d88e35986e141aa4e'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-boost177-dllimport.patch b/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-boost177-dllimport.patch new file mode 100644 index 00000000000..db46f2f1604 --- /dev/null +++ b/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-boost177-dllimport.patch @@ -0,0 +1,15 @@ +# Author: Jiri Furst +# Boost dll::import was renamed to dll::import_symbol +# see https://github.com/boostorg/dll/commit/6b2e3c7f660199f2bb0d69b667a38ee21cd49626 + +--- dakota-6.16.0-public-src-cli/src/PluginInterface.cpp.orig 2022-07-20 11:26:50.680437606 +0200 ++++ dakota-6.16.0-public-src-cli/src/PluginInterface.cpp 2022-07-20 11:27:59.736433721 +0200 +@@ -111,7 +111,7 @@ + { + if (pluginInterface) return; + try { +- pluginInterface = boost::dll::import ++ pluginInterface = boost::dll::import_symbol + (pluginPath, + "dakota_interface_plugin" // name of the symbol to import + // TODO: append .dll, .so, .dylib via diff --git a/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-foss-2021b.eb b/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-foss-2021b.eb new file mode 100644 index 00000000000..26d9e284228 --- /dev/null +++ b/easybuild/easyconfigs/d/Dakota/Dakota-6.16.0-foss-2021b.eb @@ -0,0 +1,70 @@ +# /!\ IMPORTANT: you need at least 8 cores to complete successfully the tests +# Author: Jir Furst +# Based on Dakota 6.15 easyconfig by Sebastien Varrette (Falkor) +easyblock = 'CMakeMake' + +name = 'Dakota' +version = '6.16.0' + +homepage = "https://dakota.sandia.gov/" +description = """ + The Dakota project delivers both state-of-the-art research and robust, usable + software for optimization and UQ. Broadly, the Dakota software's advanced + parametric analyses enable design exploration, model calibration, risk + analysis, and quantification of margins and uncertainty with computational + models. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +# Disable architecture optimization, otherwise the basic tests fail +toolchainopts = {'pic': True, 'usempi': True, 'optarch': False} + +source_urls = ['https://dakota.sandia.gov/sites/default/files/distributions/public/'] +sources = ["%(namelower)s-%(version_major_minor)s.0-public-src-cli.tar.gz"] +patches = ["%(name)s-%(version)s-boost177-dllimport.patch"] +checksums = [ + '49684ade2a937465d85b0fc69c96408be38bc1603ed2e7e8156d93eee3567d2f', # dakota-6.16.0-public-src-cli.tar.gz + '23aa52a4fe4267ba65368597b2b6c9e6e4bd4a1c8c4f1383055d73602ae9cc2d', # Dakota-6.16.0-boost177-dllimport.patch +] + +dependencies = [ + ('Boost', '1.77.0'), + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('HDF5', '1.12.1'), + ('GSL', '2.7'), +] + +builddependencies = [ + ('CMake', '3.21.1') +] + +separate_build_dir = True +build_shared_libs = True + +# disable GUI +configopts = "-DHAVE_X_GRAPHICS=OFF " +# set other dependencies +configopts += "-DBLAS_LIBS=${EBROOTFLEXIBLAS}/lib/libflexiblas.%s " % SHLIB_EXT +configopts += "-DLAPACK_LIBS=${EBROOTFLEXIBLAS}/lib/libflexiblas.%s " % SHLIB_EXT +configopts += "-DDAKOTA_HAVE_MPI=ON " +configopts += "-DBoost_NO_SYSTEM_PATHS=ON " +configopts += "-DDAKOTA_HAVE_HDF5=ON " +configopts += "-DDAKOTA_HAVE_GSL=ON " + +runtest = ' test ARGS="-L AcceptanceTest -j %(parallel)s" ' + +# Run install step in parallel +installopts = ' -j %(parallel)s ' + +sanity_check_paths = { + 'files': ["bin/dakota"], + 'dirs': [] +} + +sanity_check_commands = [ + "dakota -v", + "dakota -h", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1-gompi-2021a.eb b/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1-gompi-2021a.eb new file mode 100644 index 00000000000..4c7cd1ce6a2 --- /dev/null +++ b/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1-gompi-2021a.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'DaliLite' +version = '4.1' + +homepage = 'http://ekhidna2.biocenter.helsinki.fi/dali/' +description = """DaliLite is a light version of the software run by the Dali server. The web +server has search and data visualization options which are not included in this +package. DaliLite supports data import (import.pl) to convert PDB entries to +Dali's internal data format and pairwise comparison (dali.pl) to structurally +align a list of query structures to a list of target structures.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['http://ekhidna2.biocenter.helsinki.fi/dali'] +sources = [{'filename': SOURCE_TAR_GZ, 'download_filename': '%(name)s.v%(version_major)s.tar.gz'}] +patches = ['DaliLite-4.1_fix-labels-without-statements.patch'] +checksums = [ + '6267acefd2a477dd3720f9bbb5b911bbcfc97a9c0de58ebde651f48b4e0cb5cb', # DaliLite-4.1.tar.gz + # DaliLite-4.1_fix-labels-without-statements.patch + 'fb719f2d5ce33e5e47e565f4bb82d9e5d33cf4be341cd773daa0a33fcd65fe10', +] + +dependencies = [ + ('Perl', '5.32.1'), +] + +# Build +_make_home = "HOME=%(builddir)s/%(name)s.v%(version)s" + +prebuildopts = "make clean %s &&" % _make_home +buildopts = 'FC=${FC} FC_MPI=${MPIF90} CFLAGS="${FCFLAGS} -std=legacy -fallow-argument-mismatch" ' +buildopts += 'CC="${CC} ${CFLAGS}" CC_MPI=${MPICC} ' + _make_home + +# Installation +_bin_files = ['dsspcmbi', 'filter95fitz', 'fssp', 'mpicompare', 'pipe', 'pipedccp', 'puu', 'puutos', + 'selfdccp', 'serialcompare'] +_perl_scripts = ['dali.pl', 'dccp2dalicon.pl', 'fsspfilter.pl', 'fsspselect.pl', 'htmljs.pl', 'import.pl', + 'pairwise.pl', 'pipe96-free.pl', 'pipe96.pl', 'sortdccp.pl'] +_perl_mods = ['mpidali.pm', 'upgma.pm'] + +files_to_copy = [ + (['bin/%s' % x for x in _bin_files + _perl_scripts], 'bin'), + (['bin/%s' % x for x in _perl_mods], 'lib/perl5/site_perl/%(perlver)s/'), +] + +# Fix perl scritps +fix_perl_shebang_for = ['bin/%s' % x for x in _perl_scripts] +postinstallcmds = ["chmod 755 %(installdir)s/bin/*.pl"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bin_files + _perl_scripts], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/'], +} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/' +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1_fix-labels-without-statements.patch b/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1_fix-labels-without-statements.patch new file mode 100644 index 00000000000..7770b0b962d --- /dev/null +++ b/easybuild/easyconfigs/d/DaliLite/DaliLite-4.1_fix-labels-without-statements.patch @@ -0,0 +1,31 @@ +Remove statement labels from those lines without any statement +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/src/pipe.f.orig b/src/pipe.f +index d127f2e..e8096cb 100644 +--- a/src/pipe.f.orig ++++ b/src/pipe.f +@@ -36,12 +36,12 @@ c + !filnam=constructfilnam(cd1,dalidatpath_1,'.dat') + !open(91,file=filnam,status='old',err=11) + !goto 12 +-11 !filnam=constructfilnam(cd1,dalidatpath_2,'.dat') ++ !filnam=constructfilnam(cd1,dalidatpath_2,'.dat') + !open(11,file=filnam,status='old',err=10) +-12 !continue ++ !continue + ! try second dalidatpath + ! i=0 +-200 ! read(91,530,end=219) line ++ ! read(91,530,end=219) line + ! if(line(1:4).ne.'>>>>') goto 200 + ! read(line,551) ndom + ! i=i+1 +@@ -50,7 +50,7 @@ c + ! read(91,710,end=219) j,domns(j), + ! $ ((domseglist(i,k,j),k=1,2),i=1,domns(j)) + ! end do +-219 ! close(91) ++ ! close(91) + !close(91) + c + c output diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2016-intel-2017b-i8.eb b/easybuild/easyconfigs/d/Dalton/Dalton-2016-intel-2017b-i8.eb index 0c4d722d921..0653b39665e 100644 --- a/easybuild/easyconfigs/d/Dalton/Dalton-2016-intel-2017b-i8.eb +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2016-intel-2017b-i8.eb @@ -46,8 +46,7 @@ builddependencies = [('CMake', '3.9.5')] separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DENABLE_MPI=ON ' +configopts = '-DENABLE_MPI=ON ' configopts += '-DENABLE_OMP=ON ' # Only enable for BLAS/LAPACK having 8 byte integers (basically MKL) adjust the configopts 'i8' option accordingly configopts += '-DENABLE_64BIT_INTEGERS=ON ' diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.0-foss-2021a.eb b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0-foss-2021a.eb new file mode 100644 index 00000000000..28d3a0b10ae --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0-foss-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'Dalton' +version = '2020.0' + +homepage = 'https://daltonprogram.org/' +description = """The Dalton code is a powerful tool for a wide range of molecular properties + at different levels of theory. + Any published work arising from use of one of the Dalton2016 programs + must acknowledge that by a proper reference, + https://www.daltonprogram.org/www/citation.html.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://gitlab.com/dalton', + 'repo_name': 'dalton', + 'tag': '2020.0', + 'recursive': True, + }, +}] +patches = [ + '%(name)s-2016-fix-cmake-install.patch', + '%(name)s-%(version)s_use-EB-install-for-dalton-script.patch', + '%(name)s-%(version)s_fix-uninits.patch', + '%(name)s-2016-fix-bad-includepath-add.patch', + '%(name)s-%(version)s_use_flexiblas.patch', + '%(name)s-%(version)s_disable_failing_tests.patch', +] +checksums = [ + None, # Dalton-2020.0.tar.gz + '3159b03a488d6f5ee23d468be02ea62eacd08cbdf68cd64ef4e5a0d469a6718b', # Dalton-2016-fix-cmake-install.patch + # Dalton-2020.0_use-EB-install-for-dalton-script.patch + 'f38b434d2af609b667b341192d8f0d7e37ee1e0461cc68c780b049c7027bfcf5', + 'bc446cd1a9fb63836d1d621eb92be65fcd3a46095a0ba4ecb5b7f292dccbb609', # Dalton-2020.0_fix-uninits.patch + '6d4dab7af92674e3e6713143f4d8886925ac1328f64c4cc5d071e6eee855c350', # Dalton-2016-fix-bad-includepath-add.patch + 'c1ac29f4ebfcf42b2b3858008cbd25ffbe7035675b9d954b63a5851183f72abb', # Dalton-2020.0_use_flexiblas.patch + '296f550d4a4429a546c45304881a6091d482bc098c33d18b5aa123b516d8ae4b', # Dalton-2020.0_disable_failing_tests.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Python', '3.9.5'), +] + +configopts = '-DENABLE_MPI=ON ' +configopts += '-DENABLE_OMP=ON ' + +pretestopts = 'env EBROOTDALTON=%(builddir)s/easybuild_obj DALTON_TMPDIR=%(builddir)s ' +# Just run the essential tests +testopts = 'ARGS="-L essential" ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/dalton', 'bin/dalton.x'], + 'dirs': ['basis'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_disable_failing_tests.patch b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_disable_failing_tests.patch new file mode 100644 index 00000000000..26e59948c2c --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_disable_failing_tests.patch @@ -0,0 +1,24 @@ +Disable cc_rsp_mcdbterm and cc2_r12_he_a2 since they fail on AMD EPYC. + +Åke Sandgren, 20211015 +diff -ru dalton.orig/cmake/TestsDALTON.cmake dalton/cmake/TestsDALTON.cmake +--- dalton.orig/cmake/TestsDALTON.cmake 2021-10-05 14:33:14.000000000 +0200 ++++ dalton/cmake/TestsDALTON.cmake 2021-10-15 19:02:12.107878688 +0200 +@@ -358,7 +358,7 @@ + add_dalton_test(cc_rsp_gammafreq "dalton;serial;cc;short") + add_dalton_test(cc_rsp_gammafreq2 "dalton;serial;cc;short;essential") + add_dalton_test(cc_rsp_gammadirect "dalton;serial;cc;medium") +-add_dalton_test(cc_rsp_mcdbterm "dalton;serial;cc;short;essential") ++#add_dalton_test(cc_rsp_mcdbterm "dalton;serial;cc;short;essential") + add_dalton_test(cc_rsp_threephot "dalton;serial;cc;medium") + add_dalton_test(cc_rsp_twophot "dalton;serial;cc;medium") + add_dalton_test(cc_rsp_twophot2 "dalton;serial;cc;medium") +@@ -491,7 +491,7 @@ + add_dalton_test(r12_cabs "dalton;serial;mp2r12;long") + + add_dalton_test(cc2_r12_he "dalton;serial;ccr12;short;essential") +-add_dalton_test(cc2_r12_he_a2 "dalton;serial;ccr12;short;essential") ++#add_dalton_test(cc2_r12_he_a2 "dalton;serial;ccr12;short;essential") + add_dalton_test(cc2_r12_aux2_bh "dalton;serial;ccr12;short") + add_dalton_test(cc2_r12_aux2_bh_sym "dalton;serial;ccr12;short") + add_dalton_test(cc2_r12_aux_bh_a2 "dalton;serial;ccr12;medium") diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_fix-uninits.patch b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_fix-uninits.patch new file mode 100644 index 00000000000..e1725c45f54 --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_fix-uninits.patch @@ -0,0 +1,65 @@ +# Fix a bunch of uninitialized variables. +# +# Åke Sandgren +diff -ru dalton.orig/DALTON/abacus/herpar.F dalton/DALTON/abacus/herpar.F +--- dalton.orig/DALTON/abacus/herpar.F 2021-10-05 13:33:24.000000000 +0200 ++++ dalton/DALTON/abacus/herpar.F 2021-10-05 13:48:35.109344495 +0200 +@@ -1351,6 +1351,15 @@ + kfree = kwork + lfree = lwork + ++#ifdef VAR_MPI ++ ! Make dummy allocation so we don't trip on uninitialized ++ ! variables in call to HER_RVINIT ++ nelement_d = 1 ++ nelement_f = 1 ++ call memallocmpi(nelement_d*8,dmat_p) ++ call memallocmpi(nelement_f*8,fmat_p) ++#endif ++ + ! Receive initialization from master - 1 - common block information + ! ================================================================= + ! +@@ -1375,6 +1384,9 @@ + nelement_f = n2basx*rma_win_info%nmat_max_wo_win + end if + #ifdef VAR_MPI ++ ! Free the dummy allocations before doing the real allocations ++ call memfreempi(dmat_buff) ++ call memfreempi(fmat_buff) + call memallocmpi(nelement_d*8,dmat_p) + call memallocmpi(nelement_f*8,fmat_p) + #endif +diff -ru dalton.orig/DALTON/cc/ccsd_input.F dalton/DALTON/cc/ccsd_input.F +--- dalton.orig/DALTON/cc/ccsd_input.F 2021-10-05 13:33:24.000000000 +0200 ++++ dalton/DALTON/cc/ccsd_input.F 2021-10-05 13:50:01.384748651 +0200 +@@ -101,6 +101,7 @@ + LOGICAL SET, NEWDEF, SIRFF + CHARACTER PROMPT*1, WORD*7, TABLE(NTABLE)*7, WORD1*7 + CHARACTER*(80) LINE ++ INTEGER ITEST + C + SAVE SET + CSONIA/FRAN/TBPEDERSEN +@@ -138,6 +139,9 @@ + C + IF (SET) RETURN + SET = .TRUE. ++ ++ ITEST = 0 ++ + C + CSPAS:8/11-13: Initialization of CCSDINP, CCLR, CCSDSYM + C and other common blocks is moved to a new routine +diff -ru dalton.orig/DALTON/sirius/sirqmmm.F dalton/DALTON/sirius/sirqmmm.F +--- dalton.orig/DALTON/sirius/sirqmmm.F 2021-10-05 13:33:24.000000000 +0200 ++++ dalton/DALTON/sirius/sirqmmm.F 2021-10-05 13:50:43.212473540 +0200 +@@ -4333,6 +4333,8 @@ + CALL MPIXBCAST(CONMAT,1,'LOGICAL',MASTER) + + KELF = 1 ++ KELFEL = 1 ++ KELFNU = 1 + IF (SPLDIP) THEN + KELFEL = KELF + 3*POLDIM + KELFNU = KELFEL + 3*POLDIM diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use-EB-install-for-dalton-script.patch b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use-EB-install-for-dalton-script.patch new file mode 100644 index 00000000000..09e9937e888 --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use-EB-install-for-dalton-script.patch @@ -0,0 +1,43 @@ +# Use EasyBuild installation dir for dalton wrapper. +# No need to try to find it in a complicated way. +# +# Åke Sandgren +diff -ru dalton.orig/dalton.in dalton/dalton.in +--- dalton.orig/dalton.in 2021-10-05 14:33:14.000000000 +0200 ++++ dalton/dalton.in 2021-10-15 12:45:56.751803496 +0200 +@@ -16,17 +16,7 @@ + dalton="dalton" + DALTON="DALTON" + +-# radovan: this is to figure out the location of this script +-# http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in +-SOURCE="${BASH_SOURCE[0]}" +-while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink +- SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +- SOURCE="$(readlink "$SOURCE")" +- # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +- [[ $SOURCE != /* ]] && SOURCE="$SCRIPT_DIR/$SOURCE" +-done +-SCRIPT_DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +- ++SCRIPT_DIR="$EBROOTDALTON" + + ## If your computer ressource uses modules, then you can make sure the right modules are loaded + ## by uncommenting and adapting the two lines starting with #module following this comment. +@@ -38,7 +28,15 @@ + #module purge + #module load python intel openmpi-i8 + +-DALTON_EXECUTABLE=$SCRIPT_DIR/$dalton.x ++if [ -e "$SCRIPT_DIR/bin/$dalton.x" ]; then ++ DALTON_EXECUTABLE=$SCRIPT_DIR/bin/$dalton.x ++elif [ -e "$SCRIPT_DIR/$dalton.x" ]; then ++ # To make sure we can run tests from the build dir ++ DALTON_EXECUTABLE=$SCRIPT_DIR/$dalton.x ++else ++ echo "$dalton.x not found in $SCRIPT_DIR nor in $SCRIPT_DIR/bin" ++ exit 1 ++fi + + which mpirun > /dev/null # check if mpirun exists, if not, then assume mpiexec + if [ $? -eq 0 ]; then diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use_flexiblas.patch b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use_flexiblas.patch new file mode 100644 index 00000000000..daa7d942ab8 --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.0_use_flexiblas.patch @@ -0,0 +1,32 @@ +Use Flexiblas for foss/2021a toolchain + +Åke Sandgren, 20211007 +diff -ru dalton.orig/cmake/math/MathLibs.cmake dalton/cmake/math/MathLibs.cmake +--- dalton.orig/cmake/math/MathLibs.cmake 2021-10-05 14:33:14.000000000 +0200 ++++ dalton/cmake/math/MathLibs.cmake 2021-10-07 19:19:10.571066231 +0200 +@@ -74,19 +74,18 @@ + + #------------------------------------------------------------------------------- + # OPENBLAS +-# no lapack in OPENBLAS, set OPENBLAS_LAPACK_* to ATLAS and SYSTEM-NATIVE values + + set(OPENBLAS_BLAS_INCLUDE_PATH_SUFFIXES) +-set(OPENBLAS_LAPACK_INCLUDE_PATH_SUFFIXES atlas) ++set(OPENBLAS_LAPACK_INCLUDE_PATH_SUFFIXES) + +-set(OPENBLAS_BLAS_HEADERS cblas_openblas.h) +-set(OPENBLAS_LAPACK_HEADERS clapack.h) ++set(OPENBLAS_BLAS_HEADERS cblas.h) ++set(OPENBLAS_LAPACK_HEADERS lapack.h) + + set(OPENBLAS_BLAS_LIBRARY_PATH_SUFFIXES) +-set(OPENBLAS_LAPACK_LIBRARY_PATH_SUFFIXES atlas atlas-base atlas-base/atlas atlas-sse3) ++set(OPENBLAS_LAPACK_LIBRARY_PATH_SUFFIXES) + +-set(OPENBLAS_BLAS_LIBS openblas) +-set(OPENBLAS_LAPACK_LIBS atlas lapack) ++set(OPENBLAS_BLAS_LIBS flexiblas) ++set(OPENBLAS_LAPACK_LIBS flexiblas) + + #------------------------------------------------------------------------------- + # MKL diff --git a/easybuild/easyconfigs/d/Dalton/Dalton-2020.1-foss-2022b.eb b/easybuild/easyconfigs/d/Dalton/Dalton-2020.1-foss-2022b.eb new file mode 100644 index 00000000000..770eba258c5 --- /dev/null +++ b/easybuild/easyconfigs/d/Dalton/Dalton-2020.1-foss-2022b.eb @@ -0,0 +1,68 @@ +# Updated to version 2020.1 using the original 2020.0 EasyConfig +# As the patches created by Åke Sandgren for the 2020.0 version work as well, +# we fix the version here as it has been done for the 2016 patch +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'Dalton' +version = '2020.1' + +homepage = 'https://daltonprogram.org/' +description = """The Dalton code is a powerful tool for a wide range of molecular properties + at different levels of theory. + Any published work arising from use of one of the Dalton2016 programs + must acknowledge that by a proper reference, + https://www.daltonprogram.org/www/citation.html.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True, 'openmp': True} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://gitlab.com/dalton', + 'repo_name': 'dalton', + 'tag': '2020.1', + 'recursive': True, + }, +}] +patches = [ + '%(name)s-2016-fix-cmake-install.patch', + '%(name)s-2020.0_use-EB-install-for-dalton-script.patch', + '%(name)s-2020.0_fix-uninits.patch', + '%(name)s-2016-fix-bad-includepath-add.patch', + '%(name)s-2020.0_use_flexiblas.patch', + '%(name)s-2020.0_disable_failing_tests.patch', +] + +checksums = [ + None, # Dalton-2020.0.tar.gz + '3159b03a488d6f5ee23d468be02ea62eacd08cbdf68cd64ef4e5a0d469a6718b', # Dalton-2016-fix-cmake-install.patch + # Dalton-2020.0_use-EB-install-for-dalton-script.patch + 'f38b434d2af609b667b341192d8f0d7e37ee1e0461cc68c780b049c7027bfcf5', + 'bc446cd1a9fb63836d1d621eb92be65fcd3a46095a0ba4ecb5b7f292dccbb609', # Dalton-2020.0_fix-uninits.patch + '6d4dab7af92674e3e6713143f4d8886925ac1328f64c4cc5d071e6eee855c350', # Dalton-2016-fix-bad-includepath-add.patch + 'c1ac29f4ebfcf42b2b3858008cbd25ffbe7035675b9d954b63a5851183f72abb', # Dalton-2020.0_use_flexiblas.patch + '296f550d4a4429a546c45304881a6091d482bc098c33d18b5aa123b516d8ae4b', # Dalton-2020.0_disable_failing_tests.patch +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.8', '-bare'), +] + +configopts = '-DENABLE_MPI=ON ' +configopts += '-DENABLE_OMP=ON ' + +pretestopts = 'env EBROOTDALTON=%(builddir)s/easybuild_obj DALTON_TMPDIR=%(builddir)s ' +# Just run the essential tests +testopts = 'ARGS="-L essential" ' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/dalton', 'bin/dalton.x'], + 'dirs': ['basis'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/DeepDRR/DeepDRR-1.1.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/DeepDRR/DeepDRR-1.1.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9191c43123a --- /dev/null +++ b/easybuild/easyconfigs/d/DeepDRR/DeepDRR-1.1.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'DeepDRR' +version = '1.1.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://deepdrr.readthedocs.io/' +description = """ +DeepDRR provides state-of-the-art tools to generate realistic radiographs and +fluoroscopy from 3D CTs on a training set scale.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('scikit-image', '0.19.3'), + ('PyTorch', '1.12.1', versionsuffix), + ('PyTorch-bundle', '1.12.1', versionsuffix), + ('NiBabel', '4.0.2'), + ('pydicom', '2.3.0'), + ('PyVista', '0.43.8'), + ('PyCUDA', '2024.1', versionsuffix), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('Seaborn', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + ('nptyping', '2.5.0', { + 'checksums': ['e3d35b53af967e6fb407c3016ff9abae954d3a0568f7cc13a461084224e8e20a'], + }), + ('pynrrd', '1.0.0', { + 'modulename': 'nrrd', + 'checksums': ['4eb4caba03fbca1b832114515e748336cb67bce70c7f3ae36bfa2e135fc990d2'], + }), + ('deepdrr', version, { + 'preinstallopts': "sed -i 's/opencv-python/opencv-contrib-python/g' setup.py && ", + 'checksums': ['aa75571e2382b408051fb95b302a63f584781a35441b9969c293e54e5f69b484'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..ce1fb1bf8a9 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,70 @@ +# Loosely based on PR #7680 +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'DeepLabCut' +version = '2.2.0.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': '2021a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('scikit-learn', '0.24.2'), + ('scikit-image', '0.18.3'), + ('TensorFlow', '2.6.0', versionsuffix), + ('PyYAML', '5.4.1'), + ('PyTables', '3.6.1'), + ('wxPython', '4.1.1'), + ('OpenCV', '4.5.3', local_version), + ('numba', '0.53.1'), + ('libyaml', '0.2.5'), + ('imgaug', '0.4.0', versionsuffix), + ('tqdm', '4.61.2'), + ('ruamel.yaml', '0.17.21'), + ('statsmodels', '0.12.2'), + ('PyTorch', '1.10.0', versionsuffix), + ('MoviePy', '1.0.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('filterpy', '1.4.5', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], + }), + ('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'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + 'sources': ['msgpack-numpy-0.4.8.tar.gz'], + }), + + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'patches': ['deeplabcut-2.2.0.6-setup.py.patch'], + 'checksums': ['4aa6694201e2aa56b9bd3e97ab27b0bc54f1364303167216174d2376d8ae0f84', + # deeplabcut-2.2.0.6-setup.py.patch: + '1dbef23575b105a6b2fa39f28d67bf926701d4c0b4f48bed7a6b179b7e5df2b0'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a.eb b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a.eb new file mode 100644 index 00000000000..39f304ae009 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/DeepLabCut-2.2.0.6-foss-2021a.eb @@ -0,0 +1,67 @@ +# Loosely based on PR #7680 +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'DeepLabCut' +version = '2.2.0.6' +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': '2021a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('scikit-learn', '0.24.2'), + ('scikit-image', '0.18.3'), + ('TensorFlow', '2.6.0'), + ('PyYAML', '5.4.1'), + ('PyTables', '3.6.1'), + ('wxPython', '4.1.1'), + ('OpenCV', '4.5.3', '-contrib'), + ('numba', '0.53.1'), + ('libyaml', '0.2.5'), + ('imgaug', '0.4.0'), + ('tqdm', '4.61.2'), + ('ruamel.yaml', '0.17.21'), + ('statsmodels', '0.12.2'), + ('PyTorch', '1.10.0'), + ('MoviePy', '1.0.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('filterpy', '1.4.5', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['4f2a4d39e4ea601b9ab42b2db08b5918a9538c168cff1c6895ae26646f3d73b1'], + }), + ('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'], + }), + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + 'sources': ['msgpack-numpy-0.4.8.tar.gz'], + }), + + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'patches': ['deeplabcut-2.2.0.6-setup.py.patch'], + 'checksums': ['4aa6694201e2aa56b9bd3e97ab27b0bc54f1364303167216174d2376d8ae0f84', + # deeplabcut-2.2.0.6-setup.py.patch: + '1dbef23575b105a6b2fa39f28d67bf926701d4c0b4f48bed7a6b179b7e5df2b0'], + }), +] + +moduleclass = 'lib' 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/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch b/easybuild/easyconfigs/d/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch new file mode 100644 index 00000000000..9bef2d46b0c --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLabCut/deeplabcut-2.2.0.6-setup.py.patch @@ -0,0 +1,15 @@ +scikit-imiage version bumped to 0.18.3 to use the one in EasyBuild +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/deeplabcut-2.2.0.6.orig/setup.py b/deeplabcut-2.2.0.6/setup.py +index 3bff4f2..2e0926b 100644 +--- a/deeplabcut-2.2.0.6.orig/setup.py ++++ b/deeplabcut-2.2.0.6/setup.py +@@ -33,7 +33,7 @@ setuptools.setup( + "networkx", + "numpy", + "pandas>=1.0.1", +- "scikit-image>=0.17,<=0.18.1", ++ "scikit-image>=0.17,<=0.18.3", + "scikit-learn", + "scipy>=1.4", + "statsmodels>=0.11", 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/DeepLoc/DeepLoc-2.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..379eb0439bb --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'DeepLoc' +version = '2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.83'), + ('ONNX-Runtime', '1.19.2', versionsuffix), + ('ESM-2', '2.0.0', versionsuffix), # for fair-esm + ('PyTorch', '2.1.2', versionsuffix), + ('PyTorch-Lightning', '2.2.1', versionsuffix), + ('Transformers', '4.39.3'), + ('SentencePiece', '0.2.0'), + ('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.7.1', { + 'sources': ['bio-%(version)s-py%(pymajver)s-none-any.whl'], + 'checksums': ['851545804b08413a3f27fd5131edefc30acfdee513919eebabb29678d8632218'], + '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/DeepLoc/DeepLoc-2.0-foss-2023a.eb b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2023a.eb new file mode 100644 index 00000000000..558d3f61871 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepLoc/DeepLoc-2.0-foss-2023a.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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Biopython', '1.83'), + ('ONNX-Runtime', '1.19.2'), + ('ESM-2', '2.0.0'), # for fair-esm + ('PyTorch', '2.1.2'), + ('PyTorch-Lightning', '2.2.1'), + ('Transformers', '4.39.3'), + ('SentencePiece', '0.2.0'), + ('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.7.1', { + 'sources': ['bio-%(version)s-py%(pymajver)s-none-any.whl'], + 'checksums': ['851545804b08413a3f27fd5131edefc30acfdee513919eebabb29678d8632218'], + '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/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb b/easybuild/easyconfigs/d/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb new file mode 100644 index 00000000000..2b702203a84 --- /dev/null +++ b/easybuild/easyconfigs/d/DeepMod2/DeepMod2-0.0.1-foss-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'Tarball' + +name = 'DeepMod2' +version = '0.0.1' + +homepage = 'https://github.com/WGLab/DeepMod2' + +description = """ + DeepMod2 is a computational tool for detecting DNA methylation and modifications + from Oxford Nanopore reads. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'WGLab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['68b1e4334a0f867c513e9939c196389f7ed74be6bfa297e1e33dba314840660e'] + +builddependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pysam', '0.16.0.1'), + ('TensorFlow', '2.6.0'), + ('h5py', '3.2.1'), + ('tqdm', '4.61.2', '', {'name': 'GCCcore', 'version': '10.3.0'}), + ('numba', '0.53.1'), + ('ont-fast5-api', '4.0.0'), +] + +preinstall_cmd = "chmod a+x %(namelower)s" + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': ['src'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +modextrapaths = {'PATH': ''} + +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/Delly/Delly-1.1.5-GCC-11.3.0.eb b/easybuild/easyconfigs/d/Delly/Delly-1.1.5-GCC-11.3.0.eb new file mode 100644 index 00000000000..fdbd1ffc53e --- /dev/null +++ b/easybuild/easyconfigs/d/Delly/Delly-1.1.5-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'Delly' +version = '1.1.5' + +homepage = 'https://github.com/dellytools/delly/' +description = """Delly is an integrated structural variant (SV) prediction +method that can discover, genotype and visualize deletions, tandem duplications, +inversions and translocations at single-nucleotide resolution in short-read +massively parallel sequencing data. It uses paired-ends, split-reads and +read-depth to sensitively and accurately delineate genomic rearrangements +throughout the genome.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'dellytools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['aa5d994d4bd973e519931845c27f53a647d21ea6f649c651c0c2836b2bc7e801'] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('Boost', '1.79.0'), +] + +build_cmd = 'make PARALLEL=1 -B src/delly' + +files_to_copy = [ + (['src/delly'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/delly'], + 'dirs': ['bin'] +} + +sanity_check_commands = ['delly'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Delly/Delly-1.1.6-GCC-12.2.0.eb b/easybuild/easyconfigs/d/Delly/Delly-1.1.6-GCC-12.2.0.eb new file mode 100644 index 00000000000..4d86e151a7c --- /dev/null +++ b/easybuild/easyconfigs/d/Delly/Delly-1.1.6-GCC-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'Delly' +version = '1.1.6' + +homepage = 'https://github.com/dellytools/delly/' +description = """Delly is an integrated structural variant (SV) prediction +method that can discover, genotype and visualize deletions, tandem duplications, +inversions and translocations at single-nucleotide resolution in short-read +massively parallel sequencing data. It uses paired-ends, split-reads and +read-depth to sensitively and accurately delineate genomic rearrangements +throughout the genome.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'dellytools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['08961e9c81431eb486476fa71eea94941ad24ec1970b71e5a7720623a39bfd2a'] + +dependencies = [ + ('HTSlib', '1.17'), + ('Boost', '1.81.0'), +] + +build_cmd = 'make PARALLEL=1 -B src/delly' + +files_to_copy = [ + (['src/delly'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/delly'], + 'dirs': ['bin'] +} + +sanity_check_commands = ['delly'] + +moduleclass = 'bio' 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/Demystify/Demystify-0.0.17-foss-2020b.eb b/easybuild/easyconfigs/d/Demystify/Demystify-0.0.17-foss-2020b.eb new file mode 100644 index 00000000000..3a7d86ba8dc --- /dev/null +++ b/easybuild/easyconfigs/d/Demystify/Demystify-0.0.17-foss-2020b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Demystify' +version = '0.0.17' + +homepage = 'https://github.com/stacs-cp/demystify' +description = """ +Demystify is a tool which allows puzzles to be expressed in a high-level +constraint programming language and uses MUSes to automatically produce +descriptions of steps in the puzzle solving.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93779a131aa78f7de0dffdbe8e89124836b5eb6d0e9b4bc385821845a4628f52'] + +dependencies = [ + ('Python', '3.8.6'), + ('PySAT', '0.1.7.dev1'), + ('SciPy-bundle', '2020.11'), + ('Z3', '4.8.10', '-Python-%(pyver)s'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4182518015a --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-10.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.5.2' + +homepage = 'https://pypi.python.org/pypi/DendroPy/' +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3e5d2522170058ebc8d1ee63a7f2d25b915e34957dc02693ebfdc15f347a0101'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +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/DendroPy/DendroPy-4.5.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c15219fd20d --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.2.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.5.2' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3e5d2522170058ebc8d1ee63a7f2d25b915e34957dc02693ebfdc15f347a0101'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +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/DendroPy/DendroPy-4.5.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1ffdbf30d5e --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-11.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.5.2' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3e5d2522170058ebc8d1ee63a7f2d25b915e34957dc02693ebfdc15f347a0101'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +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/DendroPy/DendroPy-4.5.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ea5696314d1 --- /dev/null +++ b/easybuild/easyconfigs/d/DendroPy/DendroPy-4.5.2-GCCcore-12.2.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.5.2' + +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.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3e5d2522170058ebc8d1ee63a7f2d25b915e34957dc02693ebfdc15f347a0101'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +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/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/DensPart/DensPart-20220603-intel-2022a.eb b/easybuild/easyconfigs/d/DensPart/DensPart-20220603-intel-2022a.eb new file mode 100644 index 00000000000..d1e388e8183 --- /dev/null +++ b/easybuild/easyconfigs/d/DensPart/DensPart-20220603-intel-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'DensPart' +version = '20220603' +local_commit = '9bfd1e2' + +homepage = 'https://github.com/theochem/denspart' +description = "Atoms-in-molecules density partitioning schemes based on stockholder recipe" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/denspart/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['e2014368da19503aead56c176da0d6ec00ce13ea62d0cefde69cdfd06e1fcccd'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('iodata', '1.0.0a2'), + ('gbasis', '20210904'), + ('grid', '20220610'), + ('ASE', '3.22.1'), # required by denspart-from-gpaw + ('GPAW', '22.8.0'), # required by denspart-from-gpaw + ('PLAMS', '1.5.1'), # provides scm.plams, required by denspart-from-adf +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/denspart%s' % x for x in ['', '-from-adf', '-from-gpaw', '-from-horton3', '-write-extxyz']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "denspart -h", + "denspart-from-adf -h", + "denspart-from-gpaw -h", + "denspart-from-horton3 -h", + "denspart-write-extxyz -h", +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb new file mode 100644 index 00000000000..37b1d866da5 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2021a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.13' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True + +exts_list = [ + ('wrapt', '1.15.0', { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), + (name, version, { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb new file mode 100644 index 00000000000..2aebc2250e4 --- /dev/null +++ b/easybuild/easyconfigs/d/Deprecated/Deprecated-1.2.13-foss-2022a.eb @@ -0,0 +1,29 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'Deprecated' +version = '1.2.13' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), +] + + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + (name, version, { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), +] + +moduleclass = 'tools' 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/Detectron2/Detectron2-0.6-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/Detectron2/Detectron2-0.6-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..1a94e28f534 --- /dev/null +++ b/easybuild/easyconfigs/d/Detectron2/Detectron2-0.6-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'Detectron2' +version = '0.6' +versionsuffix = '-CUDA-%(cudaver)s' + +# WARNING: installation with CUDA requires a system with an actual GPU +# check in your build system that torch.cuda.is_available() is True + +homepage = "https://github.com/facebookresearch/detectron2" +description = """Detectron2 is Facebook AI Research's next generation library that provides +state-of-the-art detection and segmentation algorithms. It is the successor of +Detectron and maskrcnn-benchmark. It supports a number of computer vision +research projects and production applications in Facebook.""" +github_account = 'facebookresearch' + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyTorch', '1.10.0', versionsuffix), + ('torchvision', '0.11.3', versionsuffix), + ('tensorboard', '2.8.0'), + ('Hydra', '1.1.1'), # provides hydra-core, omegaconf + ('matplotlib', '3.4.2'), + ('OpenCV', '4.5.3', versionsuffix + '-contrib'), + ('pycocotools', '2.0.4'), + ('pydot', '1.4.2'), + ('tqdm', '4.61.2'), + ('YACS', '0.1.8'), + ('boto3', '1.20.13'), # needed by iopath + ('PyYAML', '5.4.1'), # needed by fvcore +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mypy_extensions', '0.4.3', { + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('pathspec', '0.9.0', { + 'checksums': ['e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1'], + }), + ('black', '21.4b2', { + 'checksums': ['fc9bcf3b482b05c1f35f6a882c079dc01b9c7795827532f4cc43c0ec88067bbc'], + }), + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('fvcore', '0.1.5.post20220414', { + 'checksums': ['3b95983a799047661422c01671da2fa4749f60fa947e2b0ad0520f1ebc11be43'], + }), + ('portalocker', '2.4.0', { + 'checksums': ['a648ad761b8ea27370cb5915350122cd807b820d2193ed5c9cc28f163df637f4'], + }), + ('iopath', '0.1.9', { + 'source_tmpl': '%(namelower)s-%(version)s-py3-none-any.whl', + 'checksums': ['9058ac24f0328decdf8dbe209b33074b8702a3c4d9ba2f7801d46cb61a880b6e'], + }), + ('detectron2', version, { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9757fed05fa32acc2116ea038185f08409d5e854573e70f41909a358b70d1004'], + 'preinstallopts': "FORCE_CUDA=1", + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/d/Detectron2/Detectron2-0.6-foss-2021a.eb b/easybuild/easyconfigs/d/Detectron2/Detectron2-0.6-foss-2021a.eb new file mode 100644 index 00000000000..ae71ba53b8b --- /dev/null +++ b/easybuild/easyconfigs/d/Detectron2/Detectron2-0.6-foss-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'Detectron2' +version = '0.6' + +homepage = "https://github.com/facebookresearch/detectron2" +description = """Detectron2 is Facebook AI Research's next generation library that provides +state-of-the-art detection and segmentation algorithms. It is the successor of +Detectron and maskrcnn-benchmark. It supports a number of computer vision +research projects and production applications in Facebook.""" +github_account = 'facebookresearch' + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyTorch', '1.10.0'), + ('torchvision', '0.11.3'), + ('tensorboard', '2.8.0'), + ('Hydra', '1.1.1'), # provides hydra-core, omegaconf + ('matplotlib', '3.4.2'), + ('OpenCV', '4.5.3', '-contrib'), + ('pycocotools', '2.0.4'), + ('pydot', '1.4.2'), + ('tqdm', '4.61.2'), + ('YACS', '0.1.8'), + ('boto3', '1.20.13'), # needed by iopath + ('PyYAML', '5.4.1'), # needed by fvcore +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mypy_extensions', '0.4.3', { + 'checksums': ['2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8'], + }), + ('pathspec', '0.9.0', { + 'checksums': ['e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1'], + }), + ('black', '21.4b2', { + 'checksums': ['fc9bcf3b482b05c1f35f6a882c079dc01b9c7795827532f4cc43c0ec88067bbc'], + }), + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('fvcore', '0.1.5.post20220414', { + 'checksums': ['3b95983a799047661422c01671da2fa4749f60fa947e2b0ad0520f1ebc11be43'], + }), + ('portalocker', '2.4.0', { + 'checksums': ['a648ad761b8ea27370cb5915350122cd807b820d2193ed5c9cc28f163df637f4'], + }), + ('iopath', '0.1.9', { + 'source_tmpl': '%(namelower)s-%(version)s-py3-none-any.whl', + 'checksums': ['9058ac24f0328decdf8dbe209b33074b8702a3c4d9ba2f7801d46cb61a880b6e'], + }), + ('detectron2', version, { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9757fed05fa32acc2116ea038185f08409d5e854573e70f41909a358b70d1004'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..8acae5c20c7 --- /dev/null +++ b/easybuild/easyconfigs/d/Devito/Devito-4.6.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,102 @@ +easyblock = 'PythonBundle' + +name = 'Devito' +version = '4.6.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.devitoproject.org' +description = """Devito is a domain-specific Language (DSL) and code generation framework for + performing optimised Finite Difference (FD) computation from high-level symbolic problem definitions. + Devito performs automated code generation and Just-In-time (JIT) compilation based on symbolic + equations defined in SymPy to create and execute highly optimised Finite Difference stencil kernels on + multiple computer platforms.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.8.2'), + ('PyYAML', '5.3'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('IPython', '7.15.0', versionsuffix), + ('dask', '2.18.1', versionsuffix), +] + +use_pip = True + +# order is important! +exts_list = [ + ('anytree', '2.8.0', { + 'checksums': ['3f0f93f355a91bc3e6245319bf4c1d50e3416cc7a35cc1133c1ff38306bbccab'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('cgen', '2020.1', { + 'checksums': ['4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf'], + }), + ('codecov', '2.1.12', { + 'checksums': ['a0da46bb5025426da895af90938def8ee12d37fcbcbbbc15b6dc64cf7ebc51c1'], + }), + ('setuptools_scm', '6.0.1', { + 'checksums': ['d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92'], + }), + ('platformdirs', '2.2.0', { + 'checksums': ['632daad3ab546bd8e6af0537d09805cec458dce201bccfe23012df73332e181e'], + }), + ('pytools', '2022.1', { + 'checksums': ['197aacf6e1f5d60c715b92438792acb7702aed59ebbfb147fa84eda780e54fee'], + }), + ('codepy', '2019.1', { + 'checksums': ['384f22c37fe987c0ca71951690c3c2fd14dacdeddbeb0fde4fd01cd84859c94e'], + }), + ('coverage', '6.3.1', { + 'checksums': ['6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8'], + }), + ('mccabe', '0.6.1', { + 'checksums': ['dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f'], + }), + ('pycodestyle', '2.8.0', { + 'checksums': ['eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f'], + }), + ('pyflakes', '2.4.0', { + 'checksums': ['05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c'], + }), + ('flake8', '4.0.1', { + 'checksums': ['806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d'], + }), + ('multidict', '6.0.2', { + 'checksums': ['5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013'], + }), + ('nbval', '0.9.6', { + 'checksums': ['cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('contexttimer', '0.3.3', { + 'checksums': ['35a1efd389af3f1ca509f33ff23e17d98b66c8fde5ba2a4eb8a8b7fa456598a5'], + }), + ('pyrevolve', '2.2', { + 'checksums': ['b49aea5cd6c520ac5fcd1d25fa23fe2c5502741d2965f3eee10be067e7b0efb4'], + }), + ('pytest-cov', '3.0.0', { + 'checksums': ['e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470'], + }), + ('pytest-runner', '5.3.1', { + 'modulename': 'pytest', + 'checksums': ['0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91'], + }), + # devito requires sympy<=1.9,>=1.7 + ('sympy', '1.9', { + 'checksums': ['c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc'], + }), + ('devito', version, { + 'checksums': ['e8acc4840953547c267706195df32738c95d0e51f7592eb0796a0efcc8cc5dbf'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb b/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb new file mode 100644 index 00000000000..1103677a97a --- /dev/null +++ b/easybuild/easyconfigs/d/DiCE-ML/DiCE-ML-0.9-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'DiCE-ML' +version = '0.9' + +homepage = 'https://interpret.ml/DiCE' +description = "Diverse Counterfactual Explanations (DiCE) for ML" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), +] + +sources = ['dice_ml-%(version)s.tar.gz'] +checksums = ['0c4c2cb57f2218ba324ef2931304ab42f5f685759688a5898b0eb85b7a25b97a'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb b/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb new file mode 100644 index 00000000000..b4315ca4f5f --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20221025-foss-2022a.eb @@ -0,0 +1,50 @@ +easyblock = 'MakeCp' + +name = 'Dice' +version = '20221025' +_commit = 'f14e4249c69ec30b53491297049546f3ef1d8a55' + +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': '2022a'} +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'] +checksums = [ + {'Dice-20221025.tar.gz': '56da2c0f4bc3e9a786ae8c3193cb06df5cf20a90af29ee95ad39a10e525db315'}, + {'Dice-20221025_icpt-mkl-to-flexiblas.patch': 'a712913e5b372017be0ea7508479094e96f06c0cfd46d0bfe61d85ef42cd1386'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Boost.MPI', '1.79.0'), + ('HDF5', '1.12.2'), +] + +# 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${EBROOTOPENBLAS}/include" LIB_MKL="${LIBBLAS}" ' # use OpenBLAS +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', 'FCIQMC', '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-20221025_icpt-mkl-to-flexiblas.patch b/easybuild/easyconfigs/d/Dice/Dice-20221025_icpt-mkl-to-flexiblas.patch new file mode 100644 index 00000000000..8cf99685cd3 --- /dev/null +++ b/easybuild/easyconfigs/d/Dice/Dice-20221025_icpt-mkl-to-flexiblas.patch @@ -0,0 +1,23 @@ +Replace Intel MKL subroutines with FlexiBLAS wrappers +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/executables/ICPT.cpp 2022-10-26 01:45:54.000000000 +0200 ++++ b/executables/ICPT.cpp 2022-11-26 11:23:28.845637000 +0100 +@@ -7,8 +7,7 @@ + #include "BlockContract.h" + #include "CxDefs.h" + #include "icpt.h" +-#include "mkl.h" +-#include "mkl_cblas.h" ++#include "flexiblas_api.h" + using ct::TArray; + using ct::FMemoryStack; + using boost::format; +@@ -25,7 +24,7 @@ + // - something to split up tensors (H) and combine them (RDM) + // regarding universal indices + +- mkl_set_num_threads(numthrds); ++ flexiblas_set_num_threads(numthrds); + + FJobContext + Job; 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/DiffBind/DiffBind-3.6.5-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/d/DiffBind/DiffBind-3.6.5-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..4829c59e0ef --- /dev/null +++ b/easybuild/easyconfigs/d/DiffBind/DiffBind-3.6.5-foss-2022a-R-4.2.1.eb @@ -0,0 +1,69 @@ +easyblock = 'Bundle' + +name = 'DiffBind' +version = '3.6.5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://bioconductor.org/packages/release/bioc/html/DiffBind.html' +description = """Compute differentially bound sites from multiple ChIP-seq experiments using + affinity (quantitative) data. Also enables occupancy (overlap) analysis and plotting functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('amap', '0.8-19', { + 'checksums': ['7349ea684b69eba0fcc48f78b7ac09a838d95d3bc0c6a94b6055605ac0291900'], + }), + ('systemPipeR', '2.2.2', { + 'checksums': ['35a6429a93559f90fcfc443e245dbe85ae350e979e700b6a369bbf249c5bcbfb'], + }), + ('RcppNumerical', '0.5-0', { + 'checksums': ['596127b4d5b5b24f8ab1f61c0e26b5d290b4f1d854f91bf08759eec637020b96'], + }), + ('apeglm', '1.18.0', { + 'checksums': ['7e65e0dc1441fc273cb8d51e9271d6a1a13444a0706ba7f1858674631e99fcde'], + }), + ('invgamma', '1.1', { + 'checksums': ['aaa8de7c2a852fa6df30d8262086f6a3eb2b1fefbbc66dfe2f6c25c68917ea89'], + }), + ('etrunct', '0.1', { + 'checksums': ['19b36c739e382be2f19bdbe4107337935d52a1ab8eb301326612318afdfbca2b'], + }), + ('ashr', '2.2-63', { + 'checksums': ['7fa1957ed3cf0f1f20939b6ebf71fc04ab983ca77616f7b80ce9e9e6fad457c9'], + }), + ('GreyListChIP', '1.28.1', { + 'checksums': ['0f367385fc951724a1d494819618ea3880633d400b90ad570a14672537dfa270'], + }), + (name, version, { + 'checksums': ['fd294fac901efb1a093c948bc6c34b96447c30b820f9f51bf529aab5d8d702b1'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DistributedStream/DistributedStream-1.0-gompi-2021a.eb b/easybuild/easyconfigs/d/DistributedStream/DistributedStream-1.0-gompi-2021a.eb new file mode 100644 index 00000000000..44a190e1357 --- /dev/null +++ b/easybuild/easyconfigs/d/DistributedStream/DistributedStream-1.0-gompi-2021a.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'DistributedStream' +version = '1.0' + +homepage = 'https://github.com/adrianjhpc/DistributedStream' +description = """A MPI distributed stream benchmark, useful to identifying nodes with poor memory performance and +characterising memory bandwidth variation over systems.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/adrianjhpc/DistributedStream/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5eec87a3edf91620d70876ff6f1801ddc3f72317bf2639cbdeaa25052549dbbf'] + +dependencies = [('Mini-XML', '3.2')] + +start_dir = 'src' + +prebuildopts = 'sed -i "s/-O3/$CFLAGS/g" Makefile && ' +buildopts = 'CC="$CC" MXMLINC="-I$EBROOTMINIMINXML/include" MXMLLIB="-L$EBROOTMINIMINXML/lib -lmxml"' + +files_to_copy = [(['src/distributed_streams'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/distributed_streams'], + 'dirs': [], +} + +sanity_check_commands = ["distributed_streams"] + +moduleclass = 'perf' 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/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..22ef8e3e6ba --- /dev/null +++ b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230131-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'DoubletFinder' +local_commit = '67fb8b5' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '2.0.3-20230131' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/chris-mcginnis-ucsf/DoubletFinder' +description = "R package for detecting doublets in single-cell RNA sequencing data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/chris-mcginnis-ucsf/DoubletFinder/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['9f3233a3d3a668baca6e8b2a32e3d13394cdb078b9db95a3a3e044b48240e444'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230819-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230819-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..fcc4a735bbc --- /dev/null +++ b/easybuild/easyconfigs/d/DoubletFinder/DoubletFinder-2.0.3-20230819-foss-2022b-R-4.2.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'DoubletFinder' +local_commit = '1b1d4e2' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '2.0.3-20230819' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/chris-mcginnis-ucsf/DoubletFinder' +description = "R package for detecting doublets in single-cell RNA sequencing data" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/chris-mcginnis-ucsf/DoubletFinder/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['dbba44cf9c20306e444e41df26d7eeb3f0687a2cd0b677b7afc87cd7ad28f268'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..da8dc7f5808 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.11.0-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.11.0' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['c9edfdf8c5f3e8bee0c4c967850caead27099883ee7ff8b11044e6d63faf3607'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('CMake', '3.29.3'), + ('flex', '2.6.4'), + ('pkgconf', '2.2.0'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +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.13-GCCcore-6.3.0.eb b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.13-GCCcore-6.3.0.eb index 90fd7aad74c..3b4f5c86dc5 100644 --- a/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.13-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.8.13-GCCcore-6.3.0.eb @@ -13,7 +13,7 @@ checksums = ['af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ('CMake', '3.7.2'), ('flex', '2.6.3'), ('Bison', '3.0.4'), 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 new file mode 100644 index 00000000000..ac945a27c93 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.1-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.9.1' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['67aeae1be4e1565519898f46f1f7092f1973cce8a767e93101ee0111717091d1'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('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 new file mode 100644 index 00000000000..55abc873d23 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.4-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.9.4' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['a15e9cd8c0d02b7888bc8356eac200222ecff1defd32f3fe05257d81227b1f37'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +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 new file mode 100644 index 00000000000..290047978c1 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.9.5' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['55b454b35d998229a96f3d5485d57a0a517ce2b78d025efb79d57b5a2e4b2eec'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8', '-bare'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +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 new file mode 100644 index 00000000000..49b8eccc8d2 --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.7-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.9.7' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['87007641c38e2c392c8596f36711eb97633b984c8430f389e7bcf6323a098d94'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('CMake', '3.26.3'), + ('flex', '2.6.4'), + ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +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 new file mode 100644 index 00000000000..1370a8b32bf --- /dev/null +++ b/easybuild/easyconfigs/d/Doxygen/Doxygen-1.9.8-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'Doxygen' +version = '1.9.8' + +homepage = 'https://www.doxygen.org' +description = """ + Doxygen is a documentation system for C++, C, Java, Objective-C, Python, + IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some + extent D. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s.src.tar.gz'] +checksums = ['05e3d228e8384b5f3af9c8fd6246d22804acb731a3a24ce285c8986ed7e14f62'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('CMake', '3.27.6'), + ('flex', '2.6.4'), + ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +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/Drake/Drake-1.0.3-Java-1.8.eb b/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb index 0c573b000c4..2f250520701 100644 --- a/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb +++ b/easybuild/easyconfigs/d/Drake/Drake-1.0.3-Java-1.8.eb @@ -17,7 +17,7 @@ checksums = ['c9c5b109a900b6f30257425feee7a4e05ef11cc34cf227b04207a2f8645316af'] dependencies = [('Java', '1.8')] postinstallcmds = [ - 'echo java -cp \$EBROOTDRAKE/drake.jar drake.core \"\$@\" > %(installdir)s/drake', + r'echo java -cp \$EBROOTDRAKE/drake.jar drake.core \"\$@\" > %(installdir)s/drake', 'chmod +x %(installdir)s/drake', ] diff --git a/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-GCC-10.3.0.eb b/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-GCC-10.3.0.eb new file mode 100644 index 00000000000..0fbc9622260 --- /dev/null +++ b/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-GCC-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'Dsuite' +version = '20210718' +local_commit = 'fd29369' + +homepage = 'https://github.com/millanek/Dsuite' +description = "Fast calculation of the ABBA-BABA statistics across many populations/species" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/millanek/Dsuite/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['4d56adf47119c0df6187a5372b9c2c2fed8da2b549af394c40e6edc0d76d7e8e'] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['Build/Dsuite'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Dsuite'], + 'dirs': [], +} + +sanity_check_commands = ["Dsuite --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..d5afc5d392d --- /dev/null +++ b/easybuild/easyconfigs/d/Dsuite/Dsuite-20210718-intel-compilers-2021.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'Dsuite' +version = '20210718' +local_commit = 'fd29369' + +homepage = 'https://github.com/millanek/Dsuite' +description = "Fast calculation of the ABBA-BABA statistics across many populations/species" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/millanek/Dsuite/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['4d56adf47119c0df6187a5372b9c2c2fed8da2b549af394c40e6edc0d76d7e8e'] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['Build/Dsuite'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/Dsuite'], + 'dirs': [], +} + +sanity_check_commands = ["Dsuite --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000000..737412283c0 --- /dev/null +++ b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0-CUDA-11.4.1.eb @@ -0,0 +1,58 @@ +## +# Authors: Eduardo Miguel Firvida Donestevez +# Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'DualSPHysics' +version = '5.0.175' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://dual.sphysics.org/' + +description = """DualSPHysics is based on the Smoothed Particle Hydrodynamics model named SPHysics. + + The code is developed to study free-surface flow phenomena where Eulerian methods + can be difficult to apply, such as waves or impact of dam-breaks on off-shore + structures. DualSPHysics is a set of C++, CUDA and Java codes designed to deal + with real-life engineering problems.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/DualSPHysics/DualSPHysics/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s.patch'] +checksums = [ + 'd65bb7b8b4a21582091a534142348e46cff0a288a97ef86643bc2dde15637575', # v5.0.175.tar.gz + 'b2fad86d99e31fe2e1b5c65bab60a4f14362401b6de00a395b3a1bd13f608366', # DualSPHysics-5.0.175.patch +] + +srcdir = 'src/source' + +builddependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('CMake', '3.21.1'), +] + +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/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb new file mode 100644 index 00000000000..d1621350717 --- /dev/null +++ b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175-GCC-11.2.0.eb @@ -0,0 +1,29 @@ +## +# Authors: Eduardo Miguel Firvida Donestevez +# Robert Mijakovic +## +name = 'DualSPHysics' +version = '5.0.175' + +homepage = 'https://dual.sphysics.org/' + +description = """DualSPHysics is based on the Smoothed Particle Hydrodynamics model named SPHysics. + + The code is developed to study free-surface flow phenomena where Eulerian methods + can be difficult to apply, such as waves or impact of dam-breaks on off-shore + structures. DualSPHysics is a set of C++, CUDA and Java codes designed to deal + with real-life engineering problems.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/DualSPHysics/DualSPHysics/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d65bb7b8b4a21582091a534142348e46cff0a288a97ef86643bc2dde15637575'] + +builddependencies = [ + ('CMake', '3.21.1'), + # only needed if EasyBuild is configured with rpath: + ('patchelf', '0.13'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175.patch b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175.patch new file mode 100644 index 00000000000..adad3dd6d3e --- /dev/null +++ b/easybuild/easyconfigs/d/DualSPHysics/DualSPHysics-5.0.175.patch @@ -0,0 +1,27 @@ +Author: Robert Mijakovic +Adds newly supported code generation for CUDA 11. +diff -Naur DualSPHysics-5.0.175/src/source/CMakeLists.txt DualSPHysics-5.0.175/src/source/CMakeLists.txt +--- DualSPHysics-5.0.175/src/source/CMakeLists.txt 2021-02-25 18:46:13.000000000 +0100 ++++ DualSPHysics-5.0.175/src/source/CMakeLists.txt 2021-10-13 18:46:17.000000000 +0200 +@@ -52,9 +52,12 @@ + elseif(CUDA_VERSION VERSION_GREATER "7.4" AND CUDA_VERSION VERSION_LESS "9.1") + message("Using cuda version >=7.5 and <9.1") + list(APPEND CUDA_NVCC_FLAGS "-use_fast_math -O3 -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\"") +- else() +- message("Using cuda version >=9.1") ++ elseif(CUDA_VERSION VERSION_GREATER "9.1" AND CUDA_VERSION VERSION_LESS "11.1") ++ message("Using cuda version >=9.1 and <11.1") + list(APPEND CUDA_NVCC_FLAGS "-use_fast_math -O3 -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\"") ++ else() ++ message("Using cuda version >=11.1") ++ list(APPEND CUDA_NVCC_FLAGS "-use_fast_math -O3 -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_80,code=\"sm_80,compute_80\"") + endif() + else() + message("CUDA Libraries were not found.") +@@ -201,4 +204,4 @@ + string(REGEX REPLACE "/MD" "/MT" ${CPP_FLAGS} "${${CPP_FLAGS}}") + endif(${CPP_FLAGS} MATCHES "/MD") + endforeach(CPP_FLAGS) +-endif() +\ No newline at end of file ++endif() diff --git a/easybuild/easyconfigs/d/DyMat/DyMat-0.7-foss-2021b-2020-12-12.eb b/easybuild/easyconfigs/d/DyMat/DyMat-0.7-foss-2021b-2020-12-12.eb new file mode 100644 index 00000000000..f7de7bbb8f3 --- /dev/null +++ b/easybuild/easyconfigs/d/DyMat/DyMat-0.7-foss-2021b-2020-12-12.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'DyMat' +version = '0.7' +local_commit = '3ce988f' +versionsuffix = '-2020-12-12' + +homepage = 'https://www.j-raedler.de/projects/DyMat' +description = "Read and process result files from Dymola and OpenModelica with Python." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/jraedler/DyMat/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': 'DyMat-%(version)s%(versionsuffix)s.tar.gz'}] +checksums = ['57ea1ac7c28aeb6fce1e3efdc7a5b11ee54ac015643453bff6b5996594bf84d2'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/DyMatExport.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cd %(builddir)s/DyMat-*/test && python Test.py", + "cd %(builddir)s/DyMat-*/test && DyMatExport.py --info DoublePendulum_Dymola-2012.mat", +] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dRep/dRep-3.0.0-foss-2021a.eb b/easybuild/easyconfigs/d/dRep/dRep-3.0.0-foss-2021a.eb new file mode 100644 index 00000000000..caf510d6dbb --- /dev/null +++ b/easybuild/easyconfigs/d/dRep/dRep-3.0.0-foss-2021a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'dRep' +version = '3.0.0' + +homepage = 'https://drep.readthedocs.io/en/latest/' +description = """dRep is a python program which performs rapid pair-wise comparison of genome sets. +One of it’s major purposes is for genome de-replication, but it can do a lot more.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/MrOlm/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d0746765b5f40ab6473cd860ed2a2e46b5508084afcf8b8389e91e7aeb66c6b1'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Seaborn', '0.11.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), + ('Mash', '2.3'), + ('MUMmer', '3.23'), + ('FastANI', '1.33'), + ('CheckM', '1.1.3'), + ('ANIcalculator', '1.0'), + ('prodigal', '2.6.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_binaries = ['dRep', 'parse_stb.py', 'ScaffoldLevel_dRep.py'] + +sanity_check_paths = { + 'files': ['bin/' + x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [ + 'parse_stb.py -h', + 'ScaffoldLevel_dRep.py -h', + 'dRep -h', + # fail in case any dependency reports an ERROR, except for centrifuge + # (which is not used anymore according to the installation documentation) + '! dRep check_dependencies | grep "ERROR" | grep -v "centrifuge"', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb b/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb new file mode 100644 index 00000000000..4ef780769ef --- /dev/null +++ b/easybuild/easyconfigs/d/dRep/dRep-3.4.2-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'dRep' +version = '3.4.2' + +homepage = 'https://drep.readthedocs.io/en/latest/' +description = """dRep is a python program which performs rapid pair-wise comparison of genome sets. +One of it’s major purposes is for genome de-replication, but it can do a lot more.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Seaborn', '0.12.1'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('Mash', '2.3'), + ('MUMmer', '4.0.0rc1'), + ('FastANI', '1.33'), + ('CheckM', '1.2.2'), + ('ANIcalculator', '1.0'), + ('prodigal', '2.6.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/MrOlm/%(namelower)s/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['9c02114a7df6d2de5810617a6715a770aee70872b293c4bd5c8076735d62e4e0'], + }), +] + +sanity_pip_check = True + +local_binaries = ['dRep', 'parse_stb.py', 'ScaffoldLevel_dRep.py'] + +sanity_check_paths = { + 'files': ['bin/' + x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = [ + 'parse_stb.py -h', + 'ScaffoldLevel_dRep.py -h', + 'dRep -h', + # fail in case any dependency reports an ERROR, except for centrifuge + # (which is not used anymore according to the installation documentation) + '! dRep check_dependencies | grep "ERROR" | grep -v "centrifuge"', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dask-labextension/dask-labextension-6.0.0-foss-2022a.eb b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-6.0.0-foss-2022a.eb new file mode 100644 index 00000000000..54f6a5881f7 --- /dev/null +++ b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-6.0.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'dask-labextension' +version = '6.0.0' + +homepage = 'https://github.com/dask/dask-labextension' +description = """This package provides a JupyterLab extension to manage Dask clusters, as well +as embed Dask's dashboard plots directly into JupyterLab panes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyter-server-proxy', '3.2.2'), + ('dask', '2022.10.0'), +] + +use_pip = True + +exts_list = [ + ('dask_labextension', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['6b9e6a66fec891d6533314b03a57e121eb9822aaf98c94139c913e7c30212002'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/dask_labextension', 'etc/jupyter', 'share/jupyter'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb new file mode 100644 index 00000000000..a0baf17a0ae --- /dev/null +++ b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'dask-labextension' +version = '7.0.0' + +homepage = 'https://github.com/dask/dask-labextension' +description = """This package provides a JupyterLab extension to manage Dask clusters, as well +as embed Dask's dashboard plots directly into JupyterLab panes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('JupyterLab', '4.0.5'), + ('jupyter-server-proxy', '4.0.0'), + ('dask', '2023.9.2'), +] + +use_pip = True + +exts_list = [ + ('dask_labextension', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['34fd1ee80a7259dc292a789cc82e4563d7cd1f5a26eb2ee8b434517482f82027'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/dask_labextension', 'etc/jupyter', 'share/jupyter'], +} + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb new file mode 100644 index 00000000000..7ff6ec31bf7 --- /dev/null +++ b/easybuild/easyconfigs/d/dask-labextension/dask-labextension-7.0.0-gfbf-2023b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'dask-labextension' +version = '7.0.0' + +homepage = 'https://github.com/dask/dask-labextension' +description = """This package provides a JupyterLab extension to manage Dask clusters, as well +as embed Dask's dashboard plots directly into JupyterLab panes.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('JupyterLab', '4.2.0'), + ('jupyter-server-proxy', '4.1.2'), + ('dask', '2024.5.1'), +] + +use_pip = True + +exts_list = [ + ('dask_labextension', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['34fd1ee80a7259dc292a789cc82e4563d7cd1f5a26eb2ee8b434517482f82027'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/dask_labextension', 'etc/jupyter', 'share/jupyter'], +} + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb b/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb new file mode 100644 index 00000000000..b012d3c6604 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2021.2.0-intelcuda-2020b.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2021.2.0' + +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': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('SciPy-bundle', '2020.11'), + ('bokeh', '2.2.3'), +] + +use_pip = True + +exts_list = [ + ('fsspec', '0.8.7', { + 'checksums': ['4b11557a90ac637089b10afa4c77adf42080c0696f6f2771c41ce92d73c41432'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('locket', '0.2.1', { + 'checksums': ['3e1faba403619fe201552f083f1ecbf23f550941bc51985ac6ed4d02d25056dd'], + }), + ('partd', '1.1.0', { + 'checksums': ['6e258bf0810701407ad1410d63d1a15cfd7b773fd9efe555dac6bb82cc8832b0'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.0.0', { + 'checksums': ['8e2969797627c8a663575c2fc6fcb53a05e37cdb83ee65f341fc6e0c3d0ced16'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + (name, version, { + 'checksums': ['e7054b8d685205e95c789900ae87d6174550180cbe38a3cb1142e10c73004c22'], + }), + ('distributed', version, { + 'checksums': ['9150b99b2c28e7c238c486b117154abd545c6990080d084aaff02f803f86f75e'], + }), + ('dask-mpi', '2.21.0', { + 'checksums': ['76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.7.2', { + 'checksums': ['1767f4146b2663d9d2eaef62b882a86e1df0bccdb8ae68ae3e5e546aa6796d35'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dask-%s' % x for x in ['mpi', 'scheduler', 'ssh', 'worker']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dask/dask-2021.9.1-foss-2021a.eb b/easybuild/easyconfigs/d/dask/dask-2021.9.1-foss-2021a.eb new file mode 100644 index 00000000000..f13e3ce2553 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2021.9.1-foss-2021a.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2021.9.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.05'), + ('bokeh', '2.4.1'), +] + +use_pip = True + +exts_list = [ + ('fsspec', '2021.10.1', { + 'checksums': ['c245626e3cb8de5cd91485840b215a385fa6f2b0f6ab87978305e99e2d842753'], + }), + ('toolz', '0.11.1', { + 'checksums': ['c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf'], + }), + ('locket', '0.2.1', { + 'checksums': ['3e1faba403619fe201552f083f1ecbf23f550941bc51985ac6ed4d02d25056dd'], + }), + ('partd', '1.2.0', { + 'checksums': ['aa67897b84d522dcbc86a98b942afab8c6aa2f7f677d904a616b74ef5ddbc3eb'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.0.0', { + 'checksums': ['8e2969797627c8a663575c2fc6fcb53a05e37cdb83ee65f341fc6e0c3d0ced16'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + (name, version, { + 'checksums': ['e11f2bf2cac809e5408fc107dcf727af3bc3472160f206cb4b828211396ad65c'], + }), + ('distributed', version, { + 'checksums': ['f4deb96a9dbef5b04ad030ab905dfed71b893d79a368bd5787b21268b4ed5ff8'], + }), + ('dask-mpi', '2.21.0', { + 'checksums': ['76e153fc8c58047d898970b33ede0ab1990bd4e69cc130c6627a96f11b12a1a7'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.7.2', { + 'checksums': ['1767f4146b2663d9d2eaef62b882a86e1df0bccdb8ae68ae3e5e546aa6796d35'], + }), +] + +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/dask/dask-2022.1.0-foss-2021b.eb b/easybuild/easyconfigs/d/dask/dask-2022.1.0-foss-2021b.eb new file mode 100644 index 00000000000..fa2c98cbe35 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2022.1.0-foss-2021b.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2022.1.0' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.10'), + ('bokeh', '2.4.2'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.11.2', { + 'checksums': ['6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33'], + }), + ('locket', '0.2.1', { + 'checksums': ['3e1faba403619fe201552f083f1ecbf23f550941bc51985ac6ed4d02d25056dd'], + }), + ('partd', '1.2.0', { + 'checksums': ['aa67897b84d522dcbc86a98b942afab8c6aa2f7f677d904a616b74ef5ddbc3eb'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.0.0', { + 'checksums': ['8e2969797627c8a663575c2fc6fcb53a05e37cdb83ee65f341fc6e0c3d0ced16'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + (name, version, { + 'checksums': ['aee6eb6517f13dc00a3cc7ed9e13c728baa5850b8a35a2b93793d593a23ecbb8'], + }), + ('distributed', version, { + 'checksums': ['71caba36b831ae4d4baacd44c702936198f236cae7d422edb50fe36ef5a68156'], + }), + ('dask-mpi', '2021.11.0', { + 'checksums': ['602d2e2d7816a4abc1eb17998e1acc93a43b6f82bf94a6accca169a42de21898'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.7.3', { + 'checksums': ['682d7cc0e6b319b6ab83a7a898680c12e9c77ddc77df380b40041290f55d4e79'], + }), +] + +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/dask/dask-2022.10.0-foss-2022a.eb b/easybuild/easyconfigs/d/dask/dask-2022.10.0-foss-2022a.eb new file mode 100644 index 00000000000..ab9413891e9 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2022.10.0-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2022.10.0' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2022.05'), + ('bokeh', '2.4.3'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.3.0', { + 'checksums': ['ce91abcdc6178d668bcaa431791a5a917d902341cb193f543fe445d494660485'], + }), + ('fsspec', '2021.7.0', { + 'checksums': ['792ebd3b54de0b30f1ce73f0ba0a8bcc864724f2d9f248cb8d0ece47db0cbde8'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '2.2.0', { + 'checksums': ['d7366c2e2293314112dcf2432108428a67b927b00005619feefc310d12d833f3'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'checksums': ['f277a3b300ecc1d0be232a339f346dff686e0becdb0843c0aaf2ae943d5492d3'], + }), + ('distributed', version, { + 'checksums': ['dcfbc9c528bcd9e4f9686e673956a90172826395ac5b258039e580777d50782f'], + }), + ('dask-mpi', '2022.4.0', { + 'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.1', { + 'checksums': ['16fd1b646a073ad3de75dde12a0dfe529b836f21a3bdbcee2a88bef24e9112a7'], + }), +] + +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/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/dask/dask-2023.7.1-foss-2022b.eb b/easybuild/easyconfigs/d/dask/dask-2023.7.1-foss-2022b.eb new file mode 100755 index 00000000000..f3760bb1376 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2023.7.1-foss-2022b.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2023.7.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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2023.02'), + ('bokeh', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.4.0', { + 'checksums': ['aa0ff35dbbcc807ae374db56332f4c1b39b46f67bf2975f5151e0b4186aed0d5'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '3.0.0', { + 'checksums': ['e321e263b6a97aafc0790c3cfb3c04656b7066e6738c37fffcca95d803c9fba5'], + }), + ('tblib', '2.0.0', { + 'checksums': ['a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + (name, version, { + 'checksums': ['bec23e3bfed427d86035f3ecfc1cd1ee6ef375ba40bfb1f8a5f03ad3f2fdbbba'], + }), + ('distributed', version, { + 'checksums': ['66442f6af32e03815de6d3a5251f8ad9bbd63bb018c48aa361efca5355e46749'], + }), + ('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/dask/dask-2023.9.2-foss-2023a.eb b/easybuild/easyconfigs/d/dask/dask-2023.9.2-foss-2023a.eb new file mode 100644 index 00000000000..cc2bda1e1ee --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2023.9.2-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2023.9.2' + +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.0', { + 'checksums': ['aa0ff35dbbcc807ae374db56332f4c1b39b46f67bf2975f5151e0b4186aed0d5'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '3.0.0', { + 'checksums': ['e321e263b6a97aafc0790c3cfb3c04656b7066e6738c37fffcca95d803c9fba5'], + }), + ('tblib', '2.0.0', { + 'checksums': ['a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7'], + }), + (name, version, { + 'checksums': ['34e04ed79870cd01119217562f417c6ce575b10fb8fdcd866e9c5cd10c088944'], + }), + ('distributed', version, { + 'checksums': ['b76b43be6a297c6cc6dc4eac7f5a05a8c6834aaf025ed37395d1d830448d540e'], + }), + ('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/dask/dask-2024.5.1-gfbf-2023b.eb b/easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb new file mode 100644 index 00000000000..36229e3f967 --- /dev/null +++ b/easybuild/easyconfigs/d/dask/dask-2024.5.1-gfbf-2023b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'dask' +version = '2024.5.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': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('PyYAML', '6.0.1'), + ('bokeh', '3.4.1'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('locket', '1.0.0', { + 'checksums': ['5c0d4c052a8bbbf750e056a8e65ccd309086f4f0f18a2eac306a8dfa4112a632'], + }), + ('partd', '1.4.2', { + 'checksums': ['d022c33afbdc8405c226621b015e8067888173d85f7f5ecebb3cafed9a20f02c'], + }), + ('HeapDict', '1.0.1', { + 'checksums': ['8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6'], + }), + ('zict', '3.0.0', { + 'checksums': ['e321e263b6a97aafc0790c3cfb3c04656b7066e6738c37fffcca95d803c9fba5'], + }), + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + (name, version, { + 'checksums': ['e071fda67031c314569e37ca70b3e88bb30f1d91ff8ee4122b541845847cc264'], + }), + ('distributed', version, { + 'checksums': ['c4e641e5fc014de3b43c584c70f703a7d44557b51b1143db812b8bc861aa84e2'], + }), + ('dask-mpi', '2022.4.0', { + 'checksums': ['0a04f1d7d35a06cdff506593330d4414ea242c9172498ce191f5742eac499e17'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-jobqueue', '0.8.5', { + 'checksums': ['f6923f9d7ff894b96efbf706118b2cd37fd37751d567e91c22dfd3e2eaa93202'], + }), +] + +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.18.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/datalad/datalad-0.18.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8ec6b98f4fb --- /dev/null +++ b/easybuild/easyconfigs/d/datalad/datalad-0.18.4-GCCcore-12.2.0.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'datalad' +version = "0.18.4" + +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.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.39') +] + +dependencies = [ + ('git-annex', '10.20230802'), + ('Python', '3.10.8'), + ('tqdm', '4.64.1'), + ('PLY', '3.11'), + ('scikit-build', '0.17.2'), +] + +use_pip = True + +exts_list = [ + ('humanize', '3.13.1', { + 'checksums': ['12f113f2e369dac7f35d3823f49262934f4a22a53a6d3d4c86b736f50db88c7b'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('patool', '1.12', { + 'modulename': 'patoolib', + 'checksums': ['e3180cf8bfe13bedbcf6f5628452fca0c2c84a3b5ae8c2d3f55720ea04cb1097'], + }), + ('annexremote', '1.6.0', { + 'checksums': ['779a43e5b1b4afd294761c6587dee8ac68f453a5a8cc40f419e9ca777573ae84'], + }), + ('looseversion', '1.2.0', { + 'checksums': ['c64e71c0b29030683b4ea75aee431db2d25c4e6e533590e52129f1d9e51de204'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('python-gitlab', '3.10.0', { + 'modulename': 'gitlab', + 'checksums': ['14930a16fdd7f36f67b9373e7d4d4720e8e374800028380289db3306e9f74614'], + }), + ('iso8601', '1.0.2', { + 'checksums': ['27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1'], + }), + (name, version, { + 'checksums': ['d832f3d70b79b7b66519ca30315791a6a265bdf8a86ddac5846489b75385cb09'], + }), +] + +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/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/datalad/datalad-1.1.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/d/datalad/datalad-1.1.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..66b0e738846 --- /dev/null +++ b/easybuild/easyconfigs/d/datalad/datalad-1.1.3-GCCcore-13.3.0.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'datalad' +version = "1.1.3" + +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': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), + ('poetry', '1.8.3') +] + +dependencies = [ + ('git-annex', '10.20240731'), + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('tqdm', '4.66.5'), + ('PLY', '3.11'), + ('scikit-build', '0.17.6'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.10.0', { + 'checksums': ['06b6eb0293e4b85e8d385397c5868926820db32b9b654b932f57fa41c23c9978'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('patool', '2.3.0', { + 'modulename': 'patoolib', + 'checksums': ['498e294fd8c7d50889d65019d431c6867bf3fb1fec5ea2d39d1d39d1215002f8'], + }), + ('annexremote', '1.6.5', { + 'checksums': ['ad0ccdd84a8771ad58922d172ee68b225ece77bf464abe4d24ff91a4896a423e'], + }), + ('looseversion', '1.3.0', { + 'checksums': ['ebde65f3f6bb9531a81016c6fef3eb95a61181adc47b7f949e9c0ea47911669e'], + }), + ('botocore', '1.35.0', { + 'checksums': ['6ab2f5a5cbdaa639599e3478c65462c6d6a10173dc8b941bfc69b0c9eb548f45'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.10.2', { + 'checksums': ['0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6'], + }), + ('boto3', '1.35.0', { + 'checksums': ['bdc242e3ea81decc6ea551b04b2c122f088c29269d8e093b55862946aa0fcfc6'], + }), + ('python_gitlab', '4.8.0', { + 'modulename': 'gitlab', + 'checksums': ['c2c4d7b1cd503d905afe5dfc0f3f6619934361f76ae855c6cec9a666864d37cf'], + }), + ('iso8601', '2.1.0', { + 'checksums': ['6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df'], + }), + (name, version, { + 'checksums': ['7b3a39419ac457df94552214ca64092297d544e15576c0be57f5d7ee35fba7ab'], + }), +] + +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/datamash/datamash-1.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/datamash/datamash-1.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f3364d92c73 --- /dev/null +++ b/easybuild/easyconfigs/d/datamash/datamash-1.8-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'datamash' +version = '1.8' + +homepage = 'https://www.gnu.org/software/datamash/' +description = "GNU datamash performs basic numeric, textual and statistical operations on input data files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['7ad97e8c7ef616dd03aa5bd67ae24c488272db3e7d1f5774161c18b75f29f6fd'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/datamash'], + 'dirs': ['share/man'] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dblatex/dblatex-0.3.12-foss-2023a.eb b/easybuild/easyconfigs/d/dblatex/dblatex-0.3.12-foss-2023a.eb new file mode 100644 index 00000000000..db41d0c240f --- /dev/null +++ b/easybuild/easyconfigs/d/dblatex/dblatex-0.3.12-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'dblatex' +version = '0.3.12' + +homepage = 'https://dblatex.sourceforge.net/' +description = """dblatex is a program that transforms your SGML/XML DocBook documents to DVI, + PostScript or PDF by translating them into pure LaTeX as a first process. + MathML 2.0 markups are supported, too. It started as a clone of DB2LaTeX.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://master.dl.sourceforge.net/project/dblatex/dblatex/dblatex-%(version)s/'] +sources = ['%(name)s3-%(version)s.tar.bz2'] +checksums = ['16e82786272ed1806a079d37914d7ba7a594db792dc4cc34c1c3737dbd4da079'] + +dependencies = [ + ('Python', '3.11.3'), + ('libxslt', '1.1.38'), + ('texlive', '20230313'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'dbtexmf.dblatex'} + +postinstallcmds = ["cp -r %(builddir)s/%(name)s3-%(version)s/scripts %(installdir)s/bin"] + +sanity_check_commands = ['dblatex --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..891d503ec8f --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.112' + +homepage = 'https://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] +checksums = ['7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.5'), # Python is needed for building against GLib. +] + +dependencies = [ + ('GLib', '2.68.2'), + ('DBus', '1.13.18'), + ('expat', '2.2.9'), +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..18c6be8c2e6 --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.112' + +homepage = 'https://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] +checksums = ['7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), + ('Python', '3.9.6', '-bare'), # Python is needed for building against GLib. +] + +dependencies = [ + ('GLib', '2.69.1'), + ('DBus', '1.13.18'), + ('expat', '2.4.1'), +] + +sanity_check_commands = [ + 'dbus-binding-tool --version', + 'dbus-binding-tool --help', +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..68fd32c517b --- /dev/null +++ b/easybuild/easyconfigs/d/dbus-glib/dbus-glib-0.112-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'dbus-glib' +version = '0.112' + +homepage = 'https://dbus.freedesktop.org/doc/dbus-glib' +description = """D-Bus is a message bus system, a simple way for applications to talk to one another.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://dbus.freedesktop.org/releases/dbus-glib'] +sources = [SOURCE_TAR_GZ] +checksums = ['7d550dccdfcd286e33895501829ed971eeb65c614e73aadb4a08aeef719b143a'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), # Python is needed for building against GLib. +] + +dependencies = [ + ('GLib', '2.72.1'), + ('DBus', '1.14.0'), + ('expat', '2.4.8'), +] + +sanity_check_commands = [ + 'dbus-binding-tool --version', + 'dbus-binding-tool --help', +] + +sanity_check_paths = { + 'files': ['bin/dbus-binding-tool', 'lib/libdbus-glib-1.%s' % SHLIB_EXT, 'lib/libdbus-glib-1.a'], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..7e26f246617 --- /dev/null +++ b/easybuild/easyconfigs/d/dclone/dclone-2.3-0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'dclone' +version = '2.3-0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/dclone' +description = """Low level functions for implementing maximum likelihood estimating procedures for complex models + using data cloning and Bayesian Markov chain Monte Carlo methods""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['50ff2f3f5b9c72b16a58e61d4f42af4e782ee44da83a5778ce1ada6af5872b70'] + +dependencies = [ + ('R', '4.2.1'), + ('rjags', '4-13', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..aa4abd25ae3 --- /dev/null +++ b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20211006-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dcm2niix' +version = '1.0.20211006' + +homepage = 'https://github.com/rordenlab/dcm2niix' +description = """dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rordenlab/dcm2niix/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['44b737d0101483de17ac1273f2d2c6a4d572a7b76ea040d69aa34d5e484144b9'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('pigz', '2.6'), + ('OpenJPEG', '2.4.0'), + ('CharLS', '2.3.4'), +] + +configopts = '-DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON -DOpenJPEG_DIR=$EBROOTOPENJPEG ' + +sanity_check_paths = { + 'files': ['bin/dcm2niix'], + 'dirs': [''], +} + +sanity_check_commands = ['dcm2niix -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0e272245b83 --- /dev/null +++ b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20220720-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dcm2niix' +version = '1.0.20220720' + +homepage = 'https://github.com/rordenlab/dcm2niix' +description = """dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rordenlab/dcm2niix/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a095545d6d70c5ce2efd90dcd58aebe536f135410c12165a9f231532ddab8991'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('pigz', '2.7'), + ('OpenJPEG', '2.5.0'), + ('CharLS', '2.4.1'), +] + +configopts = '-DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON -DOpenJPEG_DIR=$EBROOTOPENJPEG ' + +sanity_check_paths = { + 'files': ['bin/dcm2niix'], + 'dirs': [''], +} + +sanity_check_commands = ['dcm2niix -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20230411-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20230411-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9d52b9a5e66 --- /dev/null +++ b/easybuild/easyconfigs/d/dcm2niix/dcm2niix-1.0.20230411-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dcm2niix' +version = '1.0.20230411' + +homepage = 'https://github.com/rordenlab/dcm2niix' +description = """dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rordenlab/dcm2niix/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['990368e627a7d972a607ef965161e4ab0ddc5b0be35d659c1ce387c8ddae8301'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('pigz', '2.7'), + ('OpenJPEG', '2.5.0'), + ('CharLS', '2.4.2'), +] + +configopts = '-DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON -DOpenJPEG_DIR=$EBROOTOPENJPEG ' + +sanity_check_paths = { + 'files': ['bin/dcm2niix'], + 'dirs': [''], +} + +sanity_check_commands = ['dcm2niix -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-foss-2019a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-foss-2019a.eb new file mode 100644 index 00000000000..06af00f0bdd --- /dev/null +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-foss-2019a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'deal.II' +version = '9.1.1' + +homepage = 'https://www.dealii.org' +description = """deal.II is a C++ program library targeted at the computational solution of + partial differential equations using adaptive finite elements.""" + +toolchain = {'name': 'foss', 'version': '2019a'} + +source_urls = ['https://github.com/dealii/dealii/releases/download/v%(version)s/'] +sources = ['dealii-%(version)s.tar.gz'] +checksums = ['fc5b483f7fe58dfeb52d05054011280f115498e337af3e085bf272fd1fd81276'] + +builddependencies = [('CMake', '3.13.3')] + +dependencies = [ + ('Boost', '1.70.0'), + ('GSL', '2.5'), + ('HDF5', '1.10.5'), + ('METIS', '5.1.0'), + ('netCDF', '4.6.2'), + ('p4est', '2.2'), + ('PETSc', '3.11.1', '-Python-3.7.2'), + ('zlib', '1.2.11'), +] + +configopts = "-DCMAKE_BUILD_TYPE=Release " +configopts += "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_NETCDF=ON -DNETCDF_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST" +configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTBOOST" +configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libdeal_II.%s' % SHLIB_EXT], + 'dirs': ['include/deal.II', 'lib/cmake', 'lib/pkgconfig', 'share/deal.II'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-intel-2019a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-intel-2019a.eb index 5cf9458bf12..2b915e9a27c 100644 --- a/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-intel-2019a.eb +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.1.1-intel-2019a.eb @@ -20,22 +20,19 @@ dependencies = [ ('GSL', '2.5'), ('HDF5', '1.10.5'), ('METIS', '5.1.0'), - ('netCDF', '4.6.2'), ('p4est', '2.2'), ('PETSc', '3.11.1', '-Python-3.7.2'), ('zlib', '1.2.11'), ] -configopts = "-DCMAKE_BUILD_TYPE=Release " -configopts += "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " -configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_NETCDF=ON -DNETCDF_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST" -configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTBOOST" -configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB" +configopts = "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST " +configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTGSL " +configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTHDF5 " +configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTMETIS " +configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST " +configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTPETSC " +configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB " sanity_check_paths = { 'files': ['lib/libdeal_II.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.3.3-foss-2021a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.3.3-foss-2021a.eb new file mode 100644 index 00000000000..8a5a4ae839f --- /dev/null +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.3.3-foss-2021a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'deal.II' +version = '9.3.3' + +homepage = 'https://www.dealii.org' +description = """deal.II is a C++ program library targeted at the computational solution of + partial differential equations using adaptive finite elements.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/dealii/dealii/releases/download/v%(version)s/'] +sources = ['dealii-%(version)s.tar.gz'] +checksums = ['5dfb59174b341589e92b434398a1b7cc11ad053ce2315cf673f5efc5ba271a29'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Boost', '1.76.0'), + ('GSL', '2.7'), + ('HDF5', '1.10.7'), + ('METIS', '5.1.0'), + ('p4est', '2.8'), + ('PETSc', '3.15.1'), + ('zlib', '1.2.11'), +] + +configopts = "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST " +configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTGSL " +configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTHDF5 " +configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTMETIS " +configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST " +configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTPETSC " +configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB " + +sanity_check_paths = { + 'files': ['lib/libdeal_II.%s' % SHLIB_EXT], + 'dirs': ['include/deal.II', 'lib/cmake', 'lib/pkgconfig', 'share/deal.II'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb new file mode 100644 index 00000000000..025a60136b3 --- /dev/null +++ b/easybuild/easyconfigs/d/deal.II/deal.II-9.5.2-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'deal.II' +version = '9.5.2' + +homepage = 'https://www.dealii.org' +description = """deal.II is a C++ program library targeted at the computational solution of + partial differential equations using adaptive finite elements.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/dealii/dealii/releases/download/v%(version)s/'] +sources = ['dealii-%(version)s.tar.gz'] +checksums = ['7930e5218a9807d60cc05c300a3b70f36f4af22c3551a2cd1141fbab013bbaf1'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Boost', '1.82.0'), + ('GSL', '2.7'), + ('HDF5', '1.14.0'), + ('METIS', '5.1.0'), + ('p4est', '2.8.6'), + ('PETSc', '3.20.3'), + ('zlib', '1.2.13'), +] + +configopts = "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST " +configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTGSL " +configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTHDF5 " +configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTMETIS " +configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST " +configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTPETSC " +configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB " + +sanity_check_paths = { + 'files': ['lib/libdeal_II.%s' % SHLIB_EXT], + 'dirs': ['include/deal.II', 'lib/cmake', 'share/deal.II'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb index 72c6da312d2..c46fc2155b7 100644 --- a/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/d/decona/decona-0.1.2-foss-2019b-Python-3.7.4.eb @@ -21,7 +21,7 @@ install_cmd += "mkdir %(installdir)s/bin && cp -a decona/bin/decona %(installdir dependencies = [ ('Python', '3.7.4'), - ('nanofilt', '2.6.0', versionsuffix), + ('NanoFilt', '2.6.0', versionsuffix), ('qcat', '1.1.0', versionsuffix), ('CD-HIT', '4.8.1'), ('minimap2', '2.17'), diff --git a/easybuild/easyconfigs/d/decona/decona-1.4-20240731-foss-2023a.eb b/easybuild/easyconfigs/d/decona/decona-1.4-20240731-foss-2023a.eb new file mode 100644 index 00000000000..3e1eb388a12 --- /dev/null +++ b/easybuild/easyconfigs/d/decona/decona-1.4-20240731-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'decona' +version = '1.4-20240731' +local_commit = 'f7488ad' + +homepage = 'https://github.com/Saskia-Oosterbroek/decona' +description = "fastq to polished sequenses: pipeline suitable for mixed samples and long (Nanopore) reads" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/Saskia-Oosterbroek/decona/archive'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['7504160481ccdd3410fc79348c01a9a3bf0795ad73679cc305e1dcdf3e395962'] + +dependencies = [ + ('Python', '3.11.3'), + ('NanoFilt', '2.8.0'), + ('qcat', '1.1.0'), + ('CD-HIT', '4.8.1'), + ('minimap2', '2.26'), + ('Racon', '1.5.0'), + ('medaka', '1.11.3'), + ('BLAST+', '2.14.1'), +] + +fix_python_shebang_for = ['decona'] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['decona'], + 'dirs': [], +} + +sanity_check_commands = ["decona -v | grep 'This is Decona %s'" % version.split('-')[0]] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepTools/deepTools-3.5.0-foss-2021a.eb b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.0-foss-2021a.eb new file mode 100755 index 00000000000..16ec99822ae --- /dev/null +++ b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.0-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'deepTools' +version = '3.5.0' + +homepage = 'https://deeptools.readthedocs.io/' +description = """deepTools is a suite of python tools particularly developed for the efficient analysis of + high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('plotly.py', '5.1.0'), + ('Pysam', '0.16.0.1'), + ('pyBigWig', '0.3.18'), +] + +use_pip = True + +exts_list = [ + ('py2bit', '0.3.0', { + 'checksums': ['450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef'], + }), + ('deeptoolsintervals', '0.1.9', { + 'checksums': ['7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6'], + }), + ('numpydoc', '1.2', { + 'checksums': ['0cec233740c6b125913005d16e8a9996e060528afcb8b7cad3f2706629dfd6f7'], + }), + (name, version, { + 'checksums': ['1a14a29e60be13eac11bd204dab9aef73cd72fe56a94c587333f21087584c0d8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bamCompare', 'bin/bamCoverage', 'bin/bamPEFragmentSize', 'bin/computeGCBias', 'bin/computeMatrix', + 'bin/correctGCBias', 'bin/multiBamSummary', 'bin/plotCorrelation', 'bin/plotCoverage', + 'bin/plotHeatmap', 'bin/plotProfile'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb new file mode 100644 index 00000000000..44c477c20aa --- /dev/null +++ b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.1-foss-2021b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'deepTools' +version = '3.5.1' + +homepage = 'https://deeptools.readthedocs.io/' +description = """deepTools is a suite of python tools particularly developed for the efficient analysis of + high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('plotly.py', '5.4.0'), + ('Pysam', '0.17.0'), + ('pyBigWig', '0.3.18'), +] + +use_pip = True + +exts_list = [ + ('py2bit', '0.3.0', { + 'checksums': ['450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef'], + }), + ('deeptoolsintervals', '0.1.9', { + 'checksums': ['7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6'], + }), + ('numpydoc', '1.2', { + 'checksums': ['0cec233740c6b125913005d16e8a9996e060528afcb8b7cad3f2706629dfd6f7'], + }), + (name, version, { + 'checksums': ['62eea132513afa5f6bb51387e5866a5c3a26613aeb7e8c9600c38becf2ecb716'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bamCompare', 'bin/bamCoverage', 'bin/bamPEFragmentSize', 'bin/computeGCBias', 'bin/computeMatrix', + 'bin/correctGCBias', 'bin/multiBamSummary', 'bin/plotCorrelation', 'bin/plotCoverage', + 'bin/plotHeatmap', 'bin/plotProfile'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepTools/deepTools-3.5.2-foss-2022a.eb b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.2-foss-2022a.eb new file mode 100644 index 00000000000..e52c04711ec --- /dev/null +++ b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.2-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'deepTools' +version = '3.5.2' + +homepage = 'https://deeptools.readthedocs.io/' +description = """deepTools is a suite of python tools particularly developed for the efficient analysis of + high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('plotly.py', '5.12.0'), + ('Pysam', '0.19.1'), + ('pyBigWig', '0.3.18'), +] + +use_pip = True + +exts_list = [ + ('py2bit', '0.3.0', { + 'checksums': ['450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef'], + }), + ('deeptoolsintervals', '0.1.9', { + 'checksums': ['7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6'], + }), + ('numpydoc', '1.5.0', { + 'checksums': ['b0db7b75a32367a0e25c23b397842c65e344a1206524d16c8069f0a1c91b5f4c'], + }), + (name, version, { + 'checksums': ['9367f9037b1822b7d69d5abaf47ca25bf0e5dc4cb8be85bd55b6f63c90781941'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bamCompare', 'bin/bamCoverage', 'bin/bamPEFragmentSize', 'bin/computeGCBias', 'bin/computeMatrix', + 'bin/correctGCBias', 'bin/multiBamSummary', 'bin/plotCorrelation', 'bin/plotCoverage', + 'bin/plotHeatmap', 'bin/plotProfile'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "bamCompare --help", + "multiBamSummary --help", + "plotHeatmap --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepTools/deepTools-3.5.5-gfbf-2023a.eb b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.5-gfbf-2023a.eb new file mode 100644 index 00000000000..88204ce2678 --- /dev/null +++ b/easybuild/easyconfigs/d/deepTools/deepTools-3.5.5-gfbf-2023a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'deepTools' +version = '3.5.5' + +homepage = 'https://deeptools.readthedocs.io/' +description = """deepTools is a suite of python tools particularly developed for the efficient analysis of + high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('plotly.py', '5.16.0'), + ('Pysam', '0.22.0'), + ('pyBigWig', '0.3.22'), +] + +use_pip = True + +exts_list = [ + ('py2bit', '0.3.0', { + 'checksums': ['450555c40cba66957ac8c9a4b6afb625fb34c4bb41638de78c87661ff8b682ef'], + }), + ('deeptoolsintervals', '0.1.9', { + 'checksums': ['7d94c36fd2b6f10d8b99e536d2672e8228971f1fc810497d33527bba2c40d4f6'], + }), + ('numpydoc', '1.5.0', { + 'checksums': ['b0db7b75a32367a0e25c23b397842c65e344a1206524d16c8069f0a1c91b5f4c'], + }), + (name, version, { + 'checksums': ['1c04870187117fa42eb11de95e7ff136f1445965b49ad5dae46099c3ed273f7b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bamCompare', 'bin/bamCoverage', 'bin/bamPEFragmentSize', 'bin/computeGCBias', 'bin/computeMatrix', + 'bin/correctGCBias', 'bin/multiBamSummary', 'bin/plotCorrelation', 'bin/plotCoverage', + 'bin/plotHeatmap', 'bin/plotProfile'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "bamCompare --help", + "multiBamSummary --help", + "plotHeatmap --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-5.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b2738d105f5 --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '5.7.0' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsonpickle', '2.1.0', { + 'checksums': ['84684cfc5338a534173c8dd69809e40f2865d0be1f8a2b7af8465e5b968dcfa9'], + 'preinstallopts': """sed -i 's/setup()/setup(version="%(version)s")/g' setup.py && """ + }), + ('ordered-set', '4.0.2', { + 'checksums': ['ba93b2df055bca202116ec44b9bead3df33ea63a7d5827ff8e16738b97f33a95'], + }), + (name, version, { + 'checksums': ['838766484e323dcd9dec6955926a893a83767dc3f3f94542773e6aa096efe5d4'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fffd39905e0 --- /dev/null +++ b/easybuild/easyconfigs/d/deepdiff/deepdiff-5.8.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'deepdiff' +version = '5.8.1' + +homepage = 'https://zepworks.com/deepdiff/current/' +description = """DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsonpickle', '2.2.0', { + 'checksums': ['7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e'], + }), + ('ordered-set', '4.1.0', { + 'checksums': ['694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8'], + }), + (name, version, { + 'checksums': ['8d4eb2c4e6cbc80b811266419cb71dd95a157094a3947ccf937a94d44943c7b8'], + }), +] + +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/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a997ea3c39f --- /dev/null +++ b/easybuild/easyconfigs/d/deepfold/deepfold-20240308-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'deepfold' +version = '20240308' +_commit = 'c91701d1d92db341e85fba687644046d416b1f19' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/newtonjoo/deepfold' +description = """ +This package provides an implementation of DeepFold, a trainable, Transformer-based deep +protein folding model. We modified the open-source code of DeepMind AlphaFold v2.0 and +Uni-Fold-jax. +Pretrained models can be found in environment variable $DEEPFOLD_PARAMETERS +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('dm-haiku', '0.0.9', versionsuffix), + ('dm-tree', '0.1.8'), + ('TensorFlow', '2.11.0', versionsuffix), + ('tensorboardX', '2.5.1'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('ml-collections', '0.1.1'), + ('OpenMM', '8.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('immutabledict', '2.0.0', { + 'checksums': ['1b3ab650dc9db0df80fc198b9d31bee45062c4774b3dfbf3d2f3e1f6d4929258'], + }), + ('tzdata', '2024.1', { + 'checksums': ['2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd'], + }), + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), +] + +local_install_cmd = "mkdir -p %(installdir)s/bin && " +local_install_cmd += "cp %(name)s-*/*.py %(installdir)s/bin/ && " +local_install_cmd += "cp -r %(name)s-*/example_data %(installdir)s/ && " +local_install_cmd += "mkdir -p %(installdir)s/lib/python%(pyshortver)s/site-packages/ && " +local_install_cmd += "cp -r %(name)s-*/%(name)s %(installdir)s/lib/python%(pyshortver)s/site-packages/ && " +local_install_cmd += "chmod a+x %(installdir)s/bin/*.py" + +components = [ + (name, version, { + 'easyblock': 'PackedBinary', + 'sources': [{ + 'source_urls': ['https://github.com/newtonjoo/deepfold/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%(name)s-%(version)s.tar.gz', + }], + 'patches': ['%(name)s-%(version)s_fix-simtk-deprecation.patch'], + 'install_cmd': local_install_cmd, + 'checksums': [ + # deepfold-20240308.tar.gz + 'f75140ed5e5b3e64591d73593b8cefdee5b63a8adedc93da6fa62a564ae77803', + # deepfold-20240308_fix-simtk-deprecation.patch + '8a551dd8dc1d141aad391f287a65477bed6d204fbedbd5bd45c74bc6d5efcdf4', + ], + }), +] + +modextravars = { + 'DEEPFOLD_PARAMETERS': '/databases/bio/deepfold/params', +} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/run_from_pkl.py', 'bin/generate_pkl_features.py', 'bin/train.py'], + 'dirs': [], +} + +sanity_check_commands = ['train.py --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch b/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch new file mode 100644 index 00000000000..d08f7d7a2b1 --- /dev/null +++ b/easybuild/easyconfigs/d/deepfold/deepfold-20240308_fix-simtk-deprecation.patch @@ -0,0 +1,44 @@ +Fix ModuleNotFoundError for simtk.openmm. +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/amber_minimize.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/amber_minimize.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/amber_minimize.py 2024-03-22 16:58:35.884771000 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/amber_minimize.py 2024-03-22 16:38:55.688749393 +0100 +@@ -28,8 +28,8 @@ + import numpy as np + from simtk import openmm + from simtk import unit +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + ENERGY = unit.kilocalories_per_mole +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/cleanup.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/cleanup.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/cleanup.py 2024-03-22 16:58:35.884999000 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/cleanup.py 2024-03-29 14:23:44.288779000 +0100 +@@ -19,8 +19,8 @@ + import io + + import pdbfixer +-from simtk.openmm import app +-from simtk.openmm.app import element ++from openmm import app ++from openmm.app import element + + + def fix_pdb(pdbfile, alterations_info): +diff -Naru deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/utils.py deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/utils.py +--- deepfold-c91701d1d92db341e85fba687644046d416b1f19.orig/deepfold/relax/utils.py 2024-03-22 16:58:35.887221923 +0100 ++++ deepfold-c91701d1d92db341e85fba687644046d416b1f19/deepfold/relax/utils.py 2024-03-22 17:00:41.078566002 +0100 +@@ -17,8 +17,8 @@ + from deepfold.common import residue_constants + from Bio import PDB + import numpy as np +-from simtk.openmm import app as openmm_app +-from simtk.openmm.app.internal.pdbstructure import PdbStructure ++from openmm import app as openmm_app ++from openmm.app.internal.pdbstructure import PdbStructure + + + def overwrite_pdb_coordinates(pdb_str: str, pos) -> str: diff --git a/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..319fbdda612 --- /dev/null +++ b/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'deepmedic' +version = '0.8.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://biomedia.doc.ic.ac.uk/software/deepmedic/' +description = "Efficient Multi-Scale 3D Convolutional Neural Network for Segmentation of 3D Medical Scans." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('TensorFlow', '2.6.0', versionsuffix), + ('SciPy-bundle', '2021.05'), + ('NiBabel', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['0f6bcd349eeee919e0be7eab86569e1951ab9eb110ee272e8325abc94c928c0f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/deepMedicRun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['deepMedicRun -h'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a.eb b/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a.eb new file mode 100644 index 00000000000..820b9a8a961 --- /dev/null +++ b/easybuild/easyconfigs/d/deepmedic/deepmedic-0.8.2-foss-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'deepmedic' +version = '0.8.2' + +homepage = 'https://biomedia.doc.ic.ac.uk/software/deepmedic/' +description = "Efficient Multi-Scale 3D Convolutional Neural Network for Segmentation of 3D Medical Scans." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('TensorFlow', '2.6.0'), + ('SciPy-bundle', '2021.05'), + ('NiBabel', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['0f6bcd349eeee919e0be7eab86569e1951ab9eb110ee272e8325abc94c928c0f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/deepMedicRun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['deepMedicRun -h'] + +sanity_pip_check = True + +moduleclass = 'data' 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/detonate/detonate-1.11-intel-2017b.eb b/easybuild/easyconfigs/d/detonate/detonate-1.11-intel-2017b.eb deleted file mode 100644 index d15f2a4c8de..00000000000 --- a/easybuild/easyconfigs/d/detonate/detonate-1.11-intel-2017b.eb +++ /dev/null @@ -1,54 +0,0 @@ -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': 'intel', 'version': '2017b'} -toolchainopts = {'cstd': 'c++11'} - -source_urls = ['http://deweylab.biostat.wisc.edu/detonate/'] -sources = [SOURCE_TAR_GZ] -patches = [ - 'detonate-%(version)s_fix-deps.patch', - 'detonate-%(version)s_Intel-fixes.patch', -] -checksums = [ - 'e1d04af1b1d2504942a6941b346d430157da6117fac043b7ee83274717d99714', # detonate-1.11.tar.gz - '0ab353f66d5459e1fa18fa214026589fe214365f3532a3b9ea182757c7547691', # detonate-1.11_fix-deps.patch - 'c72a18250857883e7075ac512bbbd532e61a1aab38868d0dc932ca4bdc412817', # detonate-1.11_Intel-fixes.patch -] - -builddependencies = [('CMake', '3.10.1')] - -dependencies = [ - ('Boost', '1.66.0'), - ('sparsehash', '2.0.3'), - ('SAMtools', '0.1.20'), - ('zlib', '1.2.11'), -] - -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/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/dftd3-lib/dftd3-lib-0.10-GCC-11.3.0.eb b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.10-GCC-11.3.0.eb new file mode 100644 index 00000000000..d788355e010 --- /dev/null +++ b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.10-GCC-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'dftd3-lib' +version = '0.10' + +homepage = 'https://github.com/dftbplus/dftd3-lib' +description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers. +The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been +converted to free format and encapsulated into modules.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'dftbplus' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['dftd3-lib-0.9_fix-extras-syntax.patch'] +checksums = [ + {'0.10.tar.gz': 'db61bc6c7c699628e8c5bf2018ea38de03a53eac38014e06845829d765caf6bb'}, + {'dftd3-lib-0.9_fix-extras-syntax.patch': '717e719170258544555bfc33390a70c2573d971c6548d8f2c951a5606ec77f74'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +configopts = '-DCMAKE_INSTALL_INCLUDEDIR="%(installdir)s/include" ' + +sanity_check_paths = { + 'files': ['bin/dftd3', 'lib/libdftd3.a'], + 'dirs': ['include/dftd3/modfiles'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..6816b3972dc --- /dev/null +++ b/easybuild/easyconfigs/d/dftd3-lib/dftd3-lib-0.9-intel-compilers-2021.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'dftd3-lib' +version = '0.9' + +homepage = 'https://github.com/dftbplus/dftd3-lib' +description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers. +The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been +converted to free format and encapsulated into modules.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +github_account = 'dftbplus' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['dftd3-lib-%(version)s_fix-extras-syntax.patch'] +checksums = [ + '0a015659b5179dff1728a109c3e9b095e6bccc5704de9239aa3844008a9a82df', # 0.9.tar.gz + '717e719170258544555bfc33390a70c2573d971c6548d8f2c951a5606ec77f74', # dftd3-lib-0.9_fix-extras-syntax.patch +] + +parallel = 1 + +buildopts = 'FC="$FC" LN="$FC" FCFLAGS="$FCFLAGS" LNFLAGS="$LDFLAGS"' + +files_to_copy = [ + (['prg/dftd3', 'test/testapi'], 'bin'), + (['lib/libdftd3.a'], 'lib'), + (['lib/*.mod', 'prg/*.mod'], 'include'), + (['doc/man.pdf', 'CHANGELOG.rst', 'LICENSE', 'README.rst'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/dftd3', 'bin/testapi', 'lib/libdftd3.a'], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ["dftd3 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-gfbf-2022b.eb b/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-gfbf-2022b.eb new file mode 100644 index 00000000000..ff0118de885 --- /dev/null +++ b/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-gfbf-2022b.eb @@ -0,0 +1,40 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'dftd4' +version = '3.4.0' + +homepage = 'https://github.com/dftd4/dftd4' +description = """Generally Applicable Atomic-Charge Dependent London Dispersion Correction.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +github_account = 'dftd4' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f3b0a16a952817ae48e819626e13676fba3b61c8beea47b0f8ada2fbb679fb7b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), + ('multicharge', '0.2.0'), +] +# +# run suite of tests with ctest +test_cmd = 'ctest --parallel 1' +runtest = '' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.a'], + 'dirs': ['include/%(name)s', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["dftd4 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-iimkl-2022b.eb b/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-iimkl-2022b.eb new file mode 100644 index 00000000000..4a780c10181 --- /dev/null +++ b/easybuild/easyconfigs/d/dftd4/dftd4-3.4.0-iimkl-2022b.eb @@ -0,0 +1,43 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'dftd4' +version = '3.4.0' + +homepage = 'https://github.com/dftd4/dftd4' +description = """Generally Applicable Atomic-Charge Dependent London Dispersion Correction.""" + +toolchain = {'name': 'iimkl', 'version': '2022b'} + +github_account = 'dftd4' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f3b0a16a952817ae48e819626e13676fba3b61c8beea47b0f8ada2fbb679fb7b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), + ('multicharge', '0.2.0'), +] + +configopts = '-DBLAS_LIBRARIES="-lmkl_sequential -lmkl_intel_lp64 -lmkl_core" ' +configopts += '-DLAPACK_LIBRARIES="-lmkl_sequential -lmkl_intel_lp64 -lmkl_core" ' + +# run suite of tests with ctest +test_cmd = 'ctest --parallel 2' +runtest = '' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.a'], + 'dirs': ['include/%(name)s', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["dftd4 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/dftd4/dftd4-3.7.0-foss-2023a.eb b/easybuild/easyconfigs/d/dftd4/dftd4-3.7.0-foss-2023a.eb new file mode 100644 index 00000000000..912ed2baf4a --- /dev/null +++ b/easybuild/easyconfigs/d/dftd4/dftd4-3.7.0-foss-2023a.eb @@ -0,0 +1,50 @@ +# A. Domingo (Vrije Universiteit Brussel) +# J. Sassmannshausen (Imperial College London/UK) +# C. Willemyns (Vrije Universiteit Brussel) + +easyblock = 'CMakeNinja' + +name = 'dftd4' +version = '3.7.0' + +homepage = 'https://dftd4.readthedocs.io' +description = """ +The dftd4 project provides an implementation of the generally applicable, charge dependent +London-dispersion correction, termed DFT-D4. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': False, 'openmp': True, 'pic': True} + +github_account = 'dftd4' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f00b244759eff2c4f54b80a40673440ce951b6ddfa5eee1f46124297e056f69c'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.3.0'), + ('multicharge', '0.3.0'), +] + +build_shared_libs = True + +configopts = '-DWITH_BLAS=1 -DWITH_OpenMP=1' + +# run suite of tests with ctest +test_cmd = 'ctest' +runtest = '' + +sanity_check_paths = { + 'files': ['bin/dftd4', 'lib/libdftd4.%s' % SHLIB_EXT, 'include/dftd4.h'], + 'dirs': ['include/dftd4', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["dftd4 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/d/dialog/dialog-1.3-20231002-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dialog/dialog-1.3-20231002-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8800d1af1f0 --- /dev/null +++ b/easybuild/easyconfigs/d/dialog/dialog-1.3-20231002-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'dialog' +version = '1.3-20231002' + +homepage = 'https://invisible-island.net/' +description = 'A utility for creating TTY dialog boxes' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = ['https://invisible-island.net/archives/dialog/%(name)s-%(version)s.tgz'] +checksums = ['315640ab0719225d5cbcab130585c05f0791fcf073072a5fe9479969aa2b833b'] + +builddependencies = [ + ('Autotools', '20210128'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ["bin/dialog", "lib/libdialog.a"], + 'dirs': ["lib", "share"], +} + +sanity_check_commands = ['dialog --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-foss-2020b.eb b/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-foss-2020b.eb new file mode 100644 index 00000000000..4d594c37592 --- /dev/null +++ b/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-foss-2020b.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'dicom2nifti' +version = '2.3.0' + +homepage = 'https://github.com/icometrix/dicom2nifti' +description = "Python library for converting dicom files to nifti" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['808c4ddbcffd492d41ff20a2837b5e2a3cbe2058d43512fe97b99d678a758bfd'] + +dependencies = [ + ('Python', '3.8.6'), + ('pydicom', '2.1.2'), + ('NiBabel', '3.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/dicom2nifti'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dicom2nifti --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-fosscuda-2020b.eb b/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..20fcaa7cfc7 --- /dev/null +++ b/easybuild/easyconfigs/d/dicom2nifti/dicom2nifti-2.3.0-fosscuda-2020b.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'dicom2nifti' +version = '2.3.0' + +homepage = 'https://github.com/icometrix/dicom2nifti' +description = "Python library for converting dicom files to nifti" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['808c4ddbcffd492d41ff20a2837b5e2a3cbe2058d43512fe97b99d678a758bfd'] + +dependencies = [ + ('Python', '3.8.6'), + ('pydicom', '2.1.2'), + ('NiBabel', '3.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/dicom2nifti'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dicom2nifti --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f04774b1b55 --- /dev/null +++ b/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,83 @@ +easyblock = 'PythonBundle' + +name = 'dictys' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pinellolab/dictys' +description = "Context specific and dynamic gene regulatory network reconstruction and analysis." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('pybedtools', '0.9.1'), + ('SAMtools', '1.18'), + ('MACS2', '2.2.9.1'), + ('FFmpeg', '6.0'), + ('matplotlib', '3.7.2'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('h5py', '3.9.0'), + ('pyro-ppl', '1.9.0', versionsuffix), + ('adjustText', '0.7.3'), + ('Pysam', '0.22.0'), + ('paramiko', '3.2.0'), + ('Jupyter-bundle', '20230823'), + ('Qtconsole', '5.5.1'), + ('junos-eznc', '2.7.1'), +] + +# regenerate WellingtonC.c to works with python 3.11 + unpin matplotlib version +local_pyDNase_preinstallopts = ( + "cd pyDNase/footprinting && rm WellingtonC.c && cythonize -i WellingtonC.pyx && cd .. && cd .. && " + "sed -i 's/matplotlib < 2.0.0/matplotlib/' setup.py && " +) + +exts_list = [ + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('args', '0.1.0', { + 'checksums': ['a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814'], + }), + ('clint', '0.5.1', { + 'checksums': ['05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa'], + }), + ('pynetbox', '7.4.0', { + 'checksums': ['fd0b1f197b3880048408ff5ed84422dd599bcd9389e32cb06a09b9b0d55c1636'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('aerleon', '1.9.0', { + 'checksums': ['850cd621dda750263db313d4473302b48b82adaaa9220e6fd0677cb7900f95f6'], + }), + ('homer', '0.7.0', { + 'checksums': ['efaf9b3948f6aecdf88cc87c0296a18aed77c152489a7f85c571965fb16f9e57'], + }), + ('pyDNase', '0.3.0', { + 'preinstallopts': local_pyDNase_preinstallopts, + 'modulename': 'pyDNase', + 'checksums': ['dba03cadca37929a1cc41545e962136f29efc41f8e3c6de042c51c47ee04d558'], + }), + (name, version, { + 'checksums': ['59610a8c57e9fc525ec5d13b69efc8b513c78a85a595e0e2b0138da62a035978'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["dictys --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..0b97a82cfde --- /dev/null +++ b/easybuild/easyconfigs/d/dictys/dictys-1.1.0-foss-2023a.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'dictys' +version = '1.1.0' + +homepage = 'https://github.com/pinellolab/dictys' +description = "Context specific and dynamic gene regulatory network reconstruction and analysis." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch-bundle', '2.1.2'), + ('pybedtools', '0.9.1'), + ('SAMtools', '1.18'), + ('MACS2', '2.2.9.1'), + ('FFmpeg', '6.0'), + ('matplotlib', '3.7.2'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('h5py', '3.9.0'), + ('pyro-ppl', '1.9.0'), + ('adjustText', '0.7.3'), + ('Pysam', '0.22.0'), + ('paramiko', '3.2.0'), + ('Jupyter-bundle', '20230823'), + ('Qtconsole', '5.5.1'), + ('junos-eznc', '2.7.1'), +] + +# regenerate WellingtonC.c to works with python 3.11 + unpin matplotlib version +local_pyDNase_preinstallopts = ( + "cd pyDNase/footprinting && rm WellingtonC.c && cythonize -i WellingtonC.pyx && cd .. && cd .. && " + "sed -i 's/matplotlib < 2.0.0/matplotlib/' setup.py && " +) + +exts_list = [ + ('jupyter_console', '6.6.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485'], + }), + ('jupyter', '1.0.0', { + 'checksums': ['d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f'], + }), + ('args', '0.1.0', { + 'checksums': ['a785b8d837625e9b61c39108532d95b85274acd679693b71ebb5156848fcf814'], + }), + ('clint', '0.5.1', { + 'checksums': ['05224c32b1075563d0b16d0015faaf9da43aa214e4a2140e51f08789e7a4c5aa'], + }), + ('pynetbox', '7.4.0', { + 'checksums': ['fd0b1f197b3880048408ff5ed84422dd599bcd9389e32cb06a09b9b0d55c1636'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('aerleon', '1.9.0', { + 'checksums': ['850cd621dda750263db313d4473302b48b82adaaa9220e6fd0677cb7900f95f6'], + }), + ('homer', '0.7.0', { + 'checksums': ['efaf9b3948f6aecdf88cc87c0296a18aed77c152489a7f85c571965fb16f9e57'], + }), + ('pyDNase', '0.3.0', { + 'preinstallopts': local_pyDNase_preinstallopts, + 'modulename': 'pyDNase', + 'checksums': ['dba03cadca37929a1cc41545e962136f29efc41f8e3c6de042c51c47ee04d558'], + }), + (name, version, { + 'checksums': ['59610a8c57e9fc525ec5d13b69efc8b513c78a85a595e0e2b0138da62a035978'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["dictys --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dill/dill-0.3.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..68674f3f2c1 --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.4-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'dill' +version = '0.3.4' + +homepage = 'https://pypi.org/project/dill/' +description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority + of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse + of which is converting a byte stream back to on python object hierarchy.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_ZIP] +checksums = ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..377eb58517a --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.6-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'dill' +version = '0.3.6' + +homepage = 'https://pypi.org/project/dill/' +description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority + of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse + of which is converting a byte stream back to on python object hierarchy.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..69f1f370a90 --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'dill' +version = '0.3.7' + +homepage = 'https://pypi.org/project/dill/' +description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority + of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse + of which is converting a byte stream back to on python object hierarchy.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1576a8a0291 --- /dev/null +++ b/easybuild/easyconfigs/d/dill/dill-0.3.7-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'dill' +version = '0.3.7' + +homepage = 'https://pypi.org/project/dill/' +description = """dill extends python's pickle module for serializing and de-serializing python objects to the majority + of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse + of which is converting a byte stream back to on python object hierarchy.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb new file mode 100644 index 00000000000..48dba7492e1 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.2-gompi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.2' + +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': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['b1c65ce3179b5275cfdf0bf921c0565a4a3ebcfdab72d7cef014957c17136c7e'] + +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.2-iimpi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.2-iimpi-2022a.eb new file mode 100644 index 00000000000..523228ad609 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.2-iimpi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.2' + +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': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['b1c65ce3179b5275cfdf0bf921c0565a4a3ebcfdab72d7cef014957c17136c7e'] + +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.3.1-gompi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.3.1-gompi-2022a.eb new file mode 100644 index 00000000000..2f86924aff4 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.3.1-gompi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.3.1' + +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': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['1b245acad80b03eb83e815fd59dcfc598cfddd899de4504cf6a9572fe5359f40'] + +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.3.1-iimpi-2022a.eb b/easybuild/easyconfigs/d/dlb/dlb-3.3.1-iimpi-2022a.eb new file mode 100644 index 00000000000..7d1205a8d95 --- /dev/null +++ b/easybuild/easyconfigs/d/dlb/dlb-3.3.1-iimpi-2022a.eb @@ -0,0 +1,35 @@ +# vim: set syntax=python: +easyblock = 'ConfigureMake' + +name = 'dlb' +version = '3.3.1' + +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': '2022a'} +builddependencies = [('Python', '3.10.4', '-bare')] + +sources = [SOURCELOWER_TAR_GZ] +source_urls = ['https://pm.bsc.es/ftp/dlb/releases'] + +checksums = ['1b245acad80b03eb83e815fd59dcfc598cfddd899de4504cf6a9572fe5359f40'] + +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-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/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..ff8966f9f92 --- /dev/null +++ b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'dlib' +version = '19.22' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/davisking/dlib' +description = """Dlib is a modern C++ toolkit containing machine learning +algorithms and tools for creating complex software in C++ to solve real world +problems. It is used in both industry and academia in a wide range of domains +including robotics, embedded devices, mobile phones, and large high performance +computing environments.""" + +# dlib can use BLAS/LAPACK, so using full toolchain +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +github_account = 'davisking' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5f44b67f762691b92f3e41dcf9c95dd0f4525b59cacb478094e511fdacb5c096'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/dlib/image_io.h', 'lib/libdlib.a', 'lib64/libdlib.a'], + 'dirs': ['lib/pkgconfig', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a.eb b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a.eb new file mode 100644 index 00000000000..8db3464183c --- /dev/null +++ b/easybuild/easyconfigs/d/dlib/dlib-19.22-foss-2021a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'dlib' +version = '19.22' + +homepage = 'https://github.com/davisking/dlib' +description = """Dlib is a modern C++ toolkit containing machine learning +algorithms and tools for creating complex software in C++ to solve real world +problems. It is used in both industry and academia in a wide range of domains +including robotics, embedded devices, mobile phones, and large high performance +computing environments.""" + +# dlib can use BLAS/LAPACK, so using full toolchain +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'davisking' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5f44b67f762691b92f3e41dcf9c95dd0f4525b59cacb478094e511fdacb5c096'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +sanity_check_paths = { + 'files': ['include/dlib/image_io.h', 'lib/libdlib.a', 'lib64/libdlib.a'], + 'dirs': ['lib/pkgconfig', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dlib/dlib-19.24.6-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dlib/dlib-19.24.6-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..c3ffb7be647 --- /dev/null +++ b/easybuild/easyconfigs/d/dlib/dlib-19.24.6-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonPackage' + +name = 'dlib' +version = '19.24.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/davisking/dlib' +description = """Dlib is a modern C++ toolkit containing machine learning +algorithms and tools for creating complex software in C++ to solve real world +problems. It is used in both industry and academia in a wide range of domains +including robotics, embedded devices, mobile phones, and large high performance +computing environments.""" + +# dlib can use BLAS/LAPACK, so using full toolchain +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +sources = [SOURCE_TAR_GZ] +patches = ['dlib-19.24.6_FlexiBLAS.patch'] +checksums = [ + {'dlib-19.24.6.tar.gz': '77e3c28ac2c66141514b07cbb74b7c7f80381c019ce5fec99007980bc6490d7d'}, + {'dlib-19.24.6_FlexiBLAS.patch': '47fb348d5f1cd064a135d33cf49fdef56ade24a64218311743076cb6b313738b'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('Python', '3.11.3'), + ('libjxl', '0.8.2'), + ('X11', '20230603'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export CMAKE_BUILD_PARALLEL_LEVEL=%(parallel)s && " +preinstallopts += "sed -i 's/BLAS_REFERENCE cblas/BLAS_REFERENCE flexiblas/g' dlib/cmake_utils/find_blas.cmake && " + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dlib/dlib-19.24.6_FlexiBLAS.patch b/easybuild/easyconfigs/d/dlib/dlib-19.24.6_FlexiBLAS.patch new file mode 100644 index 00000000000..bb12f35adbc --- /dev/null +++ b/easybuild/easyconfigs/d/dlib/dlib-19.24.6_FlexiBLAS.patch @@ -0,0 +1,25 @@ +use FlexiBLAS as BLAS/LAPACK library +author: Kenneth Hoste (HPC-UGent) +diff -ru dlib-19.24.6.orig/dlib/cmake_utils/find_blas.cmake dlib-19.24.6/dlib/cmake_utils/find_blas.cmake +--- dlib-19.24.6.orig/dlib/cmake_utils/find_blas.cmake 2024-02-18 14:43:31.000000000 +0100 ++++ dlib-19.24.6/dlib/cmake_utils/find_blas.cmake 2024-09-20 20:35:35.927348475 +0200 +@@ -66,17 +66,15 @@ + + # First, search for libraries via pkg-config, which is the cleanest path + find_package(PkgConfig) +- pkg_check_modules(BLAS_REFERENCE cblas) +- pkg_check_modules(LAPACK_REFERENCE lapack) ++ pkg_check_modules(BLAS_REFERENCE flexiblas) + # Make sure the cblas found by pkgconfig actually has cblas symbols. + SET(CMAKE_REQUIRED_LIBRARIES "${BLAS_REFERENCE_LDFLAGS}") + CHECK_FUNCTION_EXISTS(cblas_ddot PKGCFG_HAVE_CBLAS) + if (BLAS_REFERENCE_FOUND AND LAPACK_REFERENCE_FOUND AND PKGCFG_HAVE_CBLAS) + set(blas_libraries "${BLAS_REFERENCE_LDFLAGS}") +- set(lapack_libraries "${LAPACK_REFERENCE_LDFLAGS}") + set(blas_found 1) + set(lapack_found 1) +- set(REQUIRES_LIBS "${REQUIRES_LIBS} cblas lapack") ++ set(REQUIRES_LIBS "${REQUIRES_LIBS} flexiblas") + message(STATUS "Found BLAS and LAPACK via pkg-config") + return() + endif() diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..65c6e384b88 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.9' +versionsuffix = '-CUDA-11.3.1' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('jax', '0.2.24', versionsuffix), # required by jmp, also provides absl-py +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b2e1c44658a --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25', versionsuffix), # required by jmp, also provides absl-py +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a.eb b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a.eb new file mode 100644 index 00000000000..a27a9594b4f --- /dev/null +++ b/easybuild/easyconfigs/d/dm-haiku/dm-haiku-0.0.9-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'dm-haiku' +version = '0.0.9' + +homepage = 'https://github.com/deepmind/dm-haiku' +description = """Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural +network library for TensorFlow.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25'), # required by jmp, also provides absl-py +] + +use_pip = True + +exts_list = [ + ('jmp', '0.0.4', { + 'checksums': ['5dfeb0fd7c7a9f72a70fff0aab9d0cbfae32a809c02f4037ff3485ceb33e1730'], + }), + (name, version, { + 'modulename': 'haiku', + 'checksums': ['97752b32cdbe5a3e2d1c60ea884d33eb4b36e7d410000f0d61b571417c925435'], + }), +] + +sanity_pip_check = True + +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-reverb/dm-reverb-0.7.0-foss-2021b.eb b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0-foss-2021b.eb new file mode 100644 index 00000000000..52279474a01 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0-foss-2021b.eb @@ -0,0 +1,41 @@ +name = 'dm-reverb' +version = '0.7.0' + +homepage = 'https://github.com/deepmind/reverb' +description = """ +Reverb is an efficient and easy-to-use data storage and transport system +designed for machine learning research. Reverb is primarily used as an +experience replay system for distributed reinforcement learning algorithms but +the system also supports multiple data structure representations such as FIFO, +LIFO, and priority queues.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/deepmind/reverb/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['dm-reverb-0.7.0_eb-build-environment.patch'] +checksums = [ + '11fd16db4dab60cc3e827fe8311921797c8e0371e55a2e0f2798ae7d9aabe47c', # v0.7.0.tar.gz + 'eb75e3ec778a1cafafd93d5dbd0d7530ea785c0378e0ee1ef2321ce7599aa7f0', # dm-reverb-0.7.0_eb-build-environment.patch +] + +builddependencies = [ + ('Bazel', '3.7.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.7.1'), + ('Abseil', '20210324.2'), + ('dm-tree', '0.1.6'), + ('gRPC', '1.44.0'), + ('protobuf', '3.17.3'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), +] + +sanity_pip_check = True + +options = {'modulename': 'reverb'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch new file mode 100644 index 00000000000..a1d6297a79c --- /dev/null +++ b/easybuild/easyconfigs/d/dm-reverb/dm-reverb-0.7.0_eb-build-environment.patch @@ -0,0 +1,687 @@ +Refactor the build environment to use dependencies from EasyBuild +* fix detection of Python installation +* disable toolchain definitions with gcc-7 +* use C++11 ABI as it is used in protobuf from EB +* define a single local repo using files from EB for the following dependencies: + * local com_google_protobuf replaces protobuf_archive, protobuf_protoc and + external com_google_protobuf + * local zlib replaces zlib_includes and external zlib + * local snappy replaces snappy_includes + * local pybind11 replaces http archive source + * local com_github_grpc_grpc replaces http archive source + * local com_google_absl replaces http archive source +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/WORKSPACE.orig b/WORKSPACE +index 5d47f95..6d587ab 100644 +--- a/WORKSPACE.orig ++++ b/WORKSPACE +@@ -13,8 +13,15 @@ workspace(name = "reverb") + # + # *WARNING* If using the REVERB_PROTOC_VERSION environment variable, sha256 + # checking is disabled. Use at your own risk. +-PROTOC_VERSION = "3.9.0" +-PROTOC_SHA256 = "15e395b648a1a6dda8fd66868824a396e9d3e89bc2c8648e3b9ab9801bea5d55" ++#PROTOC_VERSION = "3.9.0" ++#PROTOC_SHA256 = "15e395b648a1a6dda8fd66868824a396e9d3e89bc2c8648e3b9ab9801bea5d55" ++ ++load( ++ "//reverb/cc/platform/default:repo.bzl", ++ "cc_tf_configure", ++) ++ ++cc_tf_configure() + + load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +@@ -28,72 +35,6 @@ http_archive( + ], + ) + +-http_archive( +- name = "com_google_absl", +- sha256 = "35f22ef5cb286f09954b7cc4c85b5a3f6221c9d4df6b8c4a1e9d399555b366ee", # SHARED_ABSL_SHA +- strip_prefix = "abseil-cpp-997aaf3a28308eba1b9156aa35ab7bca9688e9f6", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz", +- "https://github.com/abseil/abseil-cpp/archive/997aaf3a28308eba1b9156aa35ab7bca9688e9f6.tar.gz", +- ], +-) +- + # Note that the Python dependencies are not tracked by bazel here, but + # in setup.py. + +-## Begin GRPC related deps +-http_archive( +- name = "com_github_grpc_grpc", +- patch_cmds = [ +- """sed -i.bak 's/"python",/"python3",/g' third_party/py/python_configure.bzl""", +- """sed -i.bak 's/PYTHONHASHSEED=0/PYTHONHASHSEED=0 python3/g' bazel/cython_library.bzl""", +- ], +- sha256 = "39bad059a712c6415b168cb3d922cb0e8c16701b475f047426c81b46577d844b", +- strip_prefix = "grpc-reverb_fix", +- urls = [ +- # Patched version of GRPC / boringSSL to make it compile with old TF GCC compiler +- "https://github.com/qstanczyk/grpc/archive/reverb_fix.tar.gz", +- ], +-) +- +- +-load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") +- +-grpc_deps() +- +-load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps") +- +-grpc_extra_deps() +- +- +-load("@upb//bazel:workspace_deps.bzl", "upb_deps") +- +-upb_deps() +- +-load( +- "@build_bazel_rules_apple//apple:repositories.bzl", +- "apple_rules_dependencies", +-) +- +-apple_rules_dependencies() +- +-load( +- "@build_bazel_apple_support//lib:repositories.bzl", +- "apple_support_dependencies", +-) +- +-apple_support_dependencies() +-## End GRPC related deps +- +-load( +- "//reverb/cc/platform/default:repo.bzl", +- "cc_tf_configure", +- "reverb_protoc_deps", +- "reverb_python_deps", +-) +- +-cc_tf_configure() +- +-reverb_python_deps() +- +-reverb_protoc_deps(version = PROTOC_VERSION, sha256 = PROTOC_SHA256) +diff --git a/reverb/cc/platform/default/BUILD.orig b/reverb/cc/platform/default/BUILD +index 372653e..897c346 100644 +--- a/reverb/cc/platform/default/BUILD.orig ++++ b/reverb/cc/platform/default/BUILD +@@ -18,7 +18,7 @@ reverb_cc_library( + srcs = ["snappy.cc"], + deps = [ + "//reverb/cc/platform:snappy_hdr", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ] + reverb_tf_deps(), + alwayslink = 1, + ) +@@ -30,7 +30,7 @@ reverb_cc_library( + "//reverb/cc/checkpointing:interface", + "//reverb/cc/platform:checkpointing_hdr", + "//reverb/cc/platform:tfrecord_checkpointer", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ], + alwayslink = 1, + ) +@@ -48,7 +48,7 @@ reverb_cc_library( + "//reverb/cc/platform:status_macros", + "//reverb/cc/platform:tfrecord_checkpointer", + "//reverb/cc/support:periodic_closure", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ] + reverb_grpc_deps(), + alwayslink = 1, + ) +@@ -60,7 +60,7 @@ reverb_cc_library( + "status_matchers.h", + ], + deps = [ +- "@com_google_absl//absl/status", ++ "@com_google_absl//:absl", + ], + ) + +@@ -68,7 +68,7 @@ reverb_cc_library( + name = "status_matchers", + hdrs = ["status_matchers.h"], + deps = [ +- "@com_google_absl//absl/status", ++ "@com_google_absl//:absl", + ], + ) + +@@ -77,8 +77,7 @@ reverb_cc_library( + srcs = ["thread.cc"], + deps = [ + "//reverb/cc/platform:thread_hdr", +- "@com_google_absl//absl/memory", +- "@com_google_absl//absl/strings", ++ "@com_google_absl//:absl", + ], + alwayslink = 1, + ) +@@ -101,7 +100,7 @@ reverb_cc_library( + hdrs = ["hash_map.h"], + deps = [ + ":hash", +- "@com_google_absl//absl/container:flat_hash_map", ++ "@com_google_absl//:absl", + ], + ) + +@@ -110,7 +109,7 @@ reverb_cc_library( + hdrs = ["hash_set.h"], + deps = [ + ":hash", +- "@com_google_absl//absl/container:flat_hash_set", ++ "@com_google_absl//:absl", + ], + ) + +diff --git a/reverb/cc/platform/default/repo.bzl.orig b/reverb/cc/platform/default/repo.bzl +index 1daac52..f6d55e3 100644 +--- a/reverb/cc/platform/default/repo.bzl.orig ++++ b/reverb/cc/platform/default/repo.bzl +@@ -91,13 +91,13 @@ def _find_python_solib_path(repo_ctx): + version = exec_result.stdout.splitlines()[-1] + basename = "lib{}.so".format(version) + exec_result = repo_ctx.execute( +- ["{}-config".format(version), "--configdir"], ++ ["{}-config".format(version), "--prefix"], + quiet = True, + ) + if exec_result.return_code != 0: + fail("Could not locate python shared library path:\n{}" + .format(exec_result.stderr)) +- solib_dir = exec_result.stdout.splitlines()[-1] ++ solib_dir = "{}/{}".format(exec_result.stdout.splitlines()[-1], "lib") + full_path = repo_ctx.path("{}/{}".format(solib_dir, basename)) + if not full_path.exists: + fail("Unable to find python shared library file:\n{}/{}" +@@ -125,64 +125,121 @@ cc_library( + ) + + def _nsync_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink(tf_include_path + "/external", "nsync_includes") ++ nsync_root = repo_ctx.os.environ.get("EBROOTNSYNC") ++ repo_ctx.symlink(nsync_root, "nsync") + repo_ctx.file( + "BUILD", + content = """ + cc_library( + name = "includes", +- hdrs = glob(["nsync_includes/nsync/public/*.h"]), +- includes = ["nsync_includes"], ++ hdrs = glob(["nsync/**/*.h"]), ++ includes = ["nsync/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _zlib_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink( +- tf_include_path + "/external/zlib", +- "zlib", +- ) ++def _zlib_repo_impl(repo_ctx): ++ zlib_root = repo_ctx.os.environ.get("EBROOTZLIB") ++ repo_ctx.symlink(zlib_root, "zlib") + repo_ctx.file( + "BUILD", + content = """ + cc_library( ++ name = "libz", ++ srcs = ["zlib/lib/libz.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( + name = "includes", + hdrs = glob(["zlib/**/*.h"]), +- includes = ["zlib"], ++ includes = ["zlib/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _snappy_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink( +- tf_include_path + "/external/snappy", +- "snappy", +- ) ++def _snappy_repo_impl(repo_ctx): ++ snappy_root = repo_ctx.os.environ.get("EBROOTSNAPPY") ++ repo_ctx.symlink(snappy_root, "snappy") + repo_ctx.file( + "BUILD", + content = """ + cc_library( ++ name = "libsnappy", ++ srcs = ["snappy/lib/libsnappy.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( + name = "includes", +- hdrs = glob(["snappy/*.h"]), +- includes = ["snappy"], ++ hdrs = glob(["snappy/**/*.h"]), ++ includes = ["snappy/include"], + visibility = ["//visibility:public"], + ) + """, + executable = False, + ) + +-def _protobuf_includes_repo_impl(repo_ctx): +- tf_include_path = _find_tf_include_path(repo_ctx) +- repo_ctx.symlink(tf_include_path, "tf_includes") ++def _pybind11_includes_repo_impl(repo_ctx): ++ pybind_root = repo_ctx.os.environ.get("EBROOTPYBIND11") ++ repo_ctx.symlink("{}/include".format(pybind_root), "include") ++ repo_ctx.symlink(Label("//third_party:pybind11.BUILD"), "BUILD") ++ ++def _protobuf_repo_impl(repo_ctx): ++ protobuf_root = repo_ctx.os.environ.get("EBROOTPROTOBUF") ++ repo_ctx.symlink(protobuf_root, "protobuf") + repo_ctx.symlink(Label("//third_party:protobuf.BUILD"), "BUILD") + ++def _absl_repo_impl(repo_ctx): ++ absl_root = repo_ctx.os.environ.get("EBROOTABSEIL") ++ repo_ctx.symlink(absl_root, "absl") ++ repo_ctx.file( ++ "BUILD", ++ content = """ ++cc_library( ++ name = "absl", ++ hdrs = glob(["absl/**/*.h", "absl/**/*.inc"]), ++ srcs = glob(["absl/lib/*.so"]), ++ includes = ["absl/include"], ++ visibility = ["//visibility:public"], ++) ++""", ++ executable = False, ++ ) ++ ++def _grpc_repo_impl(repo_ctx): ++ grpc_root = repo_ctx.os.environ.get("EBROOTGRPC") ++ repo_ctx.symlink(grpc_root, "grpc") ++ repo_ctx.file( ++ "BUILD", ++ content = """ ++cc_library( ++ name = "grpc++", ++ hdrs = glob(["grpc/**/*.h"]), ++ srcs = glob(["grpc/lib/*.so"]), ++ includes = ["grpc/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "grpc++_codegen_proto", ++ hdrs = glob([ ++ "grpc/include/*/impl/codegen/*.h", ++ "grpc/include/*/impl/codegen/security/*.h", ++ ]), ++ includes = ["grpc/include"], ++ visibility = ["//visibility:public"], ++) ++filegroup( ++ name = "grpc_cpp_plugin", ++ srcs = ["grpc/bin/grpc_cpp_plugin"], ++ visibility = ["//visibility:public"], ++) ++""", ++ executable = False, ++ ) ++ + def _tensorflow_includes_repo_impl(repo_ctx): + tf_include_path = _find_tf_include_path(repo_ctx) + repo_ctx.symlink(tf_include_path, "tensorflow_includes") +@@ -200,11 +257,11 @@ cc_library( + ), + includes = ["tensorflow_includes"], + deps = [ +- "@com_google_absl//absl/container:flat_hash_map", ++ "@com_google_absl//:absl", + "@eigen_archive//:includes", +- "@protobuf_archive//:includes", +- "@zlib_includes//:includes", +- "@snappy_includes//:includes", ++ "@com_google_protobuf//:includes", ++ "@zlib//:includes", ++ "@snappy//:includes", + ], + visibility = ["//visibility:public"], + ) +@@ -226,7 +283,12 @@ def _tensorflow_solib_repo_impl(repo_ctx): + cc_library( + name = "framework_lib", + srcs = ["tensorflow_solib/libtensorflow_framework.so.2"], +- deps = ["@python_includes", "@python_includes//:numpy_includes"], ++ deps = [ ++ "@python_includes", ++ "@python_includes//:numpy_includes", ++ "@zlib//:libz", ++ "@snappy//:libsnappy", ++ ], + visibility = ["//visibility:public"], + ) + """, +@@ -275,17 +337,29 @@ def cc_tf_configure(): + ) + make_nsync_repo(name = "nsync_includes") + make_zlib_repo = repository_rule( +- implementation = _zlib_includes_repo_impl, ++ implementation = _zlib_repo_impl, + ) +- make_zlib_repo(name = "zlib_includes") ++ make_zlib_repo(name = "zlib") + make_snappy_repo = repository_rule( +- implementation = _snappy_includes_repo_impl, ++ implementation = _snappy_repo_impl, + ) +- make_snappy_repo(name = "snappy_includes") ++ make_snappy_repo(name = "snappy") ++ make_pybind11_repo = repository_rule( ++ implementation = _pybind11_includes_repo_impl, ++ ) ++ make_pybind11_repo(name = "pybind11") + make_protobuf_repo = repository_rule( +- implementation = _protobuf_includes_repo_impl, ++ implementation = _protobuf_repo_impl, ++ ) ++ make_protobuf_repo(name = "com_google_protobuf") ++ make_absl_repo = repository_rule( ++ implementation = _absl_repo_impl, + ) +- make_protobuf_repo(name = "protobuf_archive") ++ make_absl_repo(name = "com_google_absl") ++ make_grpc_repo = repository_rule( ++ implementation = _grpc_repo_impl, ++ ) ++ make_grpc_repo(name = "com_github_grpc_grpc") + make_tfinc_repo = repository_rule( + implementation = _tensorflow_includes_repo_impl, + ) +@@ -298,65 +372,3 @@ def cc_tf_configure(): + implementation = _python_includes_repo_impl, + ) + make_python_inc_repo(name = "python_includes") +- +-def reverb_python_deps(): +- http_archive( +- name = "pybind11", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/pybind/pybind11/archive/v2.4.3.tar.gz", +- "https://github.com/pybind/pybind11/archive/v2.4.3.tar.gz", +- ], +- sha256 = "1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d", +- strip_prefix = "pybind11-2.4.3", +- build_file = clean_dep("//third_party:pybind11.BUILD"), +- ) +- +- http_archive( +- name = "absl_py", +- sha256 = "603febc9b95a8f2979a7bdb77d2f5e4d9b30d4e0d59579f88eba67d4e4cc5462", +- strip_prefix = "abseil-py-pypi-v0.9.0", +- urls = [ +- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", +- "https://github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", +- ], +- ) +- +-def _reverb_protoc_archive(ctx): +- version = ctx.attr.version +- sha256 = ctx.attr.sha256 +- +- override_version = ctx.os.environ.get("REVERB_PROTOC_VERSION") +- if override_version: +- sha256 = "" +- version = override_version +- +- urls = [ +- "https://github.com/protocolbuffers/protobuf/releases/download/v%s/protoc-%s-linux-x86_64.zip" % (version, version), +- ] +- ctx.download_and_extract( +- url = urls, +- sha256 = sha256, +- ) +- +- ctx.file( +- "BUILD", +- content = """ +-filegroup( +- name = "protoc_bin", +- srcs = ["bin/protoc"], +- visibility = ["//visibility:public"], +-) +-""", +- executable = False, +- ) +- +-reverb_protoc_archive = repository_rule( +- implementation = _reverb_protoc_archive, +- attrs = { +- "version": attr.string(mandatory = True), +- "sha256": attr.string(mandatory = True), +- }, +-) +- +-def reverb_protoc_deps(version, sha256): +- reverb_protoc_archive(name = "protobuf_protoc", version = version, sha256 = sha256) +diff --git a/reverb/cc/platform/default/build_rules.bzl.orig b/reverb/cc/platform/default/build_rules.bzl +index fa8560f..6bf3694 100644 +--- a/reverb/cc/platform/default/build_rules.bzl.orig ++++ b/reverb/cc/platform/default/build_rules.bzl +@@ -90,12 +90,12 @@ def reverb_cc_proto_library(name, srcs = [], deps = [], **kwargs): + srcs = srcs, + outs = gen_srcs + gen_hdrs, + tools = dep_srcs + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -E -e 's#reverb(/.*|$$)##') +- $(location @protobuf_protoc//:protoc_bin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --cpp_out=$$OUTDIR {}""".format( +@@ -165,12 +165,12 @@ def reverb_py_proto_library(name, srcs = [], deps = [], **kwargs): + srcs = srcs, + outs = gen_srcs, + tools = proto_deps + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -E -e 's#reverb(/.*|$$)##') +- $(location @protobuf_protoc//:protoc_bin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --python_out=$$OUTDIR {}""".format( +@@ -227,14 +227,14 @@ def reverb_cc_grpc_library( + srcs = srcs, + outs = gen_srcs + gen_hdrs + gen_mocks, + tools = proto_src_deps + [ +- "@protobuf_protoc//:protoc_bin", ++ "@com_google_protobuf//:protoc_bin", + "@tensorflow_includes//:protos", +- "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", ++ "@com_github_grpc_grpc//:grpc_cpp_plugin", + ], + cmd = """ + OUTDIR=$$(echo $(RULEDIR) | sed -e 's#reverb/.*##') +- $(location @protobuf_protoc//:protoc_bin) \ +- --plugin=protoc-gen-grpc=$(location @com_github_grpc_grpc//src/compiler:grpc_cpp_plugin) \ ++ $(location @com_google_protobuf//:protoc_bin) \ ++ --plugin=protoc-gen-grpc=$(location @com_github_grpc_grpc//:grpc_cpp_plugin) \ + --proto_path=external/tensorflow_includes/tensorflow_includes/ \ + --proto_path=. \ + --grpc_out={} {}""".format( +@@ -544,6 +544,8 @@ def reverb_tf_ops_visibility(): + + def reverb_tf_deps(): + return [ ++ "@zlib//:libz", ++ "@snappy//:libsnappy", + "@tensorflow_includes//:includes", + "@tensorflow_solib//:framework_lib", + ] +@@ -552,24 +554,4 @@ def reverb_grpc_deps(): + return ["@com_github_grpc_grpc//:grpc++"] + + def reverb_absl_deps(): +- return [ +- # We purposefully don't include absl::flat_hash_{map,set} so that users +- # are forced to use platform:hash_{map,set}, which uses a safer hasher. +- "@com_google_absl//absl/base", +- "@com_google_absl//absl/base:core_headers", +- "@com_google_absl//absl/functional:bind_front", +- "@com_google_absl//absl/memory", +- "@com_google_absl//absl/numeric:int128", +- "@com_google_absl//absl/random", +- "@com_google_absl//absl/random:distributions", +- "@com_google_absl//absl/status", +- "@com_google_absl//absl/status:statusor", +- "@com_google_absl//absl/strings", +- "@com_google_absl//absl/strings:cord", +- "@com_google_absl//absl/strings:str_format", +- "@com_google_absl//absl/synchronization", +- "@com_google_absl//absl/time", +- "@com_google_absl//absl/types:optional", +- "@com_google_absl//absl/types:span", +- "@com_google_absl//absl/flags:flag", +- ] ++ return ["@com_google_absl//:absl"] +diff --git a/third_party/protobuf.BUILD.orig b/third_party/protobuf.BUILD +index b8e9496..7d601a5 100644 +--- a/third_party/protobuf.BUILD.orig ++++ b/third_party/protobuf.BUILD +@@ -1,10 +1,10 @@ + _CHECK_VERSION = """ +-PROTOC_VERSION=$$($(location @protobuf_protoc//:protoc_bin) --version \ ++PROTOC_VERSION=$$($(location protobuf/bin/protoc) --version \ + | cut -d' ' -f2 | sed -e 's/\\./ /g') + PROTOC_VERSION=$$(printf '%d%03d%03d' $${PROTOC_VERSION}) + TF_PROTO_VERSION=$$(grep '#define PROTOBUF_MIN_PROTOC_VERSION' \ +- $(location tf_includes/google/protobuf/port_def.inc) | cut -d' ' -f3) +-if [ "$${PROTOC_VERSION}" -ne "$${TF_PROTO_VERSION}" ]; then ++ $(location protobuf/include/google/protobuf/port_def.inc) | cut -d' ' -f3) ++if [ "$${PROTOC_VERSION}" -lt "$${TF_PROTO_VERSION}" ]; then + echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1>&2 + echo Your protoc version does not match the tensorflow proto header \ + required version: "$${PROTOC_VERSION}" vs. "$${TF_PROTO_VERSION}" 1>&2 +@@ -20,9 +20,9 @@ genrule( + name = "compare_protobuf_version", + outs = ["versions_compared"], + srcs = [ +- "tf_includes/google/protobuf/port_def.inc", ++ "protobuf/include/google/protobuf/port_def.inc", + ], +- tools = ["@protobuf_protoc//:protoc_bin"], ++ tools = ["protobuf/bin/protoc"], + cmd = _CHECK_VERSION, + ) + +@@ -30,11 +30,45 @@ cc_library( + name = "includes", + data = [":versions_compared"], + hdrs = glob([ +- "tf_includes/google/protobuf/*.h", +- "tf_includes/google/protobuf/*.inc", +- "tf_includes/google/protobuf/**/*.h", +- "tf_includes/google/protobuf/**/*.inc", ++ "protobuf/include/google/protobuf/*.h", ++ "protobuf/include/google/protobuf/*.inc", ++ "protobuf/include/google/protobuf/**/*.h", ++ "protobuf/include/google/protobuf/**/*.inc", + ]), +- includes = ["tf_includes"], ++ includes = ["protobuf/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf_headers", ++ data = [":versions_compared"], ++ hdrs = glob([ ++ "protobuf/include/google/protobuf/*.h", ++ "protobuf/include/google/protobuf/*.inc", ++ "protobuf/include/google/protobuf/**/*.h", ++ "protobuf/include/google/protobuf/**/*.inc", ++ ]), ++ includes = ["protobuf/include"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf_lite", ++ srcs = ["protobuf/lib/libprotobuf-lite.so"], ++ visibility = ["//visibility:public"], ++) ++cc_library( ++ name = "protobuf", ++ srcs = ["protobuf/lib/libprotobuf.so"], ++ visibility = ["//visibility:public"], ++ deps = [":protobuf_lite"], ++) ++cc_library( ++ name = "protoc_lib", ++ srcs = ["protobuf/lib/libprotoc.so"], ++ visibility = ["//visibility:public"], ++ deps = [":protobuf"], ++) ++filegroup( ++ name = "protoc_bin", ++ srcs = ["protobuf/bin/protoc"], + visibility = ["//visibility:public"], + ) +diff --git a/reverb/cc/opensource/opensource_only.files.orig b/reverb/cc/opensource/opensource_only.files +index 375df63..d74bec1 100644 +--- a/reverb/cc/opensource/opensource_only.files.orig ++++ b/reverb/cc/opensource/opensource_only.files +@@ -1,8 +1,5 @@ + reverb/third_party/BUILD.oss + reverb/third_party/protobuf.BUILD.oss + reverb/third_party/pybind11.BUILD.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/BUILD.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/cc_toolchain_config.bzl.oss +-reverb/third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/dummy_toolchain.bzl.oss + reverb/platform/default/BUILD.oss + reverb/pip_package/BUILD.oss +diff --git a/third_party/opensource_only.files.orig b/third_party/opensource_only.files +index e1f9e12..f3e999c 100644 +--- a/third_party/opensource_only.files.orig ++++ b/third_party/opensource_only.files +@@ -6,6 +6,3 @@ reverb/pip_package/setup.py: + third_party/BUILD: + third_party/protobuf.BUILD: + third_party/pybind11.BUILD: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/BUILD: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/cc_toolchain_config.bzl: +-third_party/toolchains/preconfig/ubuntu16.04/gcc7_manylinux2010/dummy_toolchain.bzl: +diff --git a/.bazelrc.orig b/.bazelrc +index f4b08d3..89f82dd 100644 +--- a/.bazelrc.orig ++++ b/.bazelrc +@@ -13,7 +13,7 @@ build:manylinux2010 --crosstool_top=//third_party/toolchains/preconfig/ubuntu16. + + build -c opt + build --cxxopt="-std=c++14" +-build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" ++build --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=1" + build --auto_output_filter=subpackages + build --copt="-Wall" --copt="-Wno-sign-compare" + build --linkopt="-lrt -lm" diff --git a/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..de8beea1496 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'dm-tree' +version = '0.1.6' + +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': '10.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Bazel', '3.7.2'), +] +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d8839c61295 --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.6-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'dm-tree' +version = '0.1.6' + +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': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bazel', '3.7.2'), +] +dependencies = [('Python', '3.9.6')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.3.0.eb new file mode 100755 index 00000000000..94b5023db0f --- /dev/null +++ b/easybuild/easyconfigs/d/dm-tree/dm-tree-0.1.8-GCCcore-11.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': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'tree'} + +moduleclass = 'lib' 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/dominate/dominate-2.8.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/dominate/dominate-2.8.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b1a8dc8c869 --- /dev/null +++ b/easybuild/easyconfigs/d/dominate/dominate-2.8.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'dominate' +version = '2.8.0' + +homepage = 'https://github.com/Knio/dominate/' +description = """ +Dominate is a Python library for creating and manipulating HTML documents using +an elegant DOM API. It allows you to write HTML pages in pure Python very +concisely, which eliminates the need to learn another template language, and +lets you take advantage of the more powerful features of Python. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['4c90c3befaf88e612b71f4b39af7bcbef8977acfa855cec957225a8fbf504007'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..1c2ca1b3f4b --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.1.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.1.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'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/nanoporetech/%(name)s/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'), +] + +# 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 && " + +# don't use vendored HTSlib, use provided HTSlib dependency +preconfigopts += "sed -i '/add_dependencies.*htslib_project/d' ../dorado/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 -DHTSLIB_LIBRARIES=hts " +# 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/dorado/dorado-0.3.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.3.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6c8bfc91292 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.3.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,67 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.3.0' +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'} +toolchainopts = {'usempi': True} + +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 && " + +# 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 '/Htslib.cmake/d' ../dorado/CMakeLists.txt && " +# link with -lhts, not -lhtslib +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/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 -DHTSLIB_LIBRARIES=hts " +# 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/dorado/dorado-0.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.3.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d1b1e7a7376 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.3.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,67 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.3.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'} +toolchainopts = {'usempi': True} + +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 && " + +# 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 '/Htslib.cmake/d' ../dorado/CMakeLists.txt && " +# link with -lhts, not -lhtslib +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/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 -DHTSLIB_LIBRARIES=hts " +# 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/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/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..62d6434a9e1 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.5.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,74 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.5.3' +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/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..e292bfcc18b --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.6.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,80 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.6.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': '2023a'} +toolchainopts = {'usempi': True} + +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, +}] +patches = ['dorado-0.6.1_include-fstream.patch'] +checksums = [ + None, + 'a7692a2d67422d808b3b81f3a297b7b89299ab0091e5d01f0b8a9aee9b942377', +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), + ('HDF5', '1.14.0'), + ('zstd', '1.5.5'), + ('HTSlib', '1.18'), + ('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 && " + +# disable treating warnings like errors by stripping out -Werror +# cfr. https://github.com/nanoporetech/dorado/issues/779 +preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && " + +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/dorado/dorado-0.6.1_include-fstream.patch b/easybuild/easyconfigs/d/dorado/dorado-0.6.1_include-fstream.patch new file mode 100644 index 00000000000..c1165f3fe5c --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.6.1_include-fstream.patch @@ -0,0 +1,27 @@ +add missing include to fix compiler errors like: + + error: variable std::ofstream summary_out has initializer but incomplete type + +see also https://github.com/nanoporetech/dorado/pull/780 + +author: Kenneth Hoste (HPC-UGent) +--- dorado/dorado/cli/duplex.cpp.orig 2024-04-30 17:59:15.483935823 +0200 ++++ dorado/dorado/cli/duplex.cpp 2024-04-30 17:59:34.658694274 +0200 +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- dorado/dorado/cli/demux.cpp.orig 2024-04-30 18:13:40.327122548 +0200 ++++ dorado/dorado/cli/demux.cpp 2024-04-30 18:15:37.576760942 +0200 +@@ -17,6 +17,7 @@ + #include + + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..0e32e9616ca --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.7.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,89 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.7.3' +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': '2023a'} +toolchainopts = {'usempi': True} + +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, +}] +patches = [ + '%(name)s-%(version)s_include-fstream.patch', + '%(name)s-%(version)s_dont_install_external_libraries.patch', +] + +checksums = [ + None, + 'a32cbd34185bcc5ae3d552a072e396825aa7184187cd11c70a4380618387a530', + '2a250d606c0ae17f47d99981309fa204a1394ddd81851a1d530dcd0aea2306ac', +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), + ('HDF5', '1.14.0'), + ('zstd', '1.5.5'), + ('HTSlib', '1.18'), + ('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 && " +# 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 && " + +# disable treating warnings like errors by stripping out -Werror +# cfr. https://github.com/nanoporetech/dorado/issues/779 +preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && " + +_copts = [ + "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA", + "-DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc", + '-DOPENSSL_ROOT_DIR=$EBROOTOPENSSL', + "-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' + '-DCMAKE_C_FLAGS="$CFLAGS -pthread"', +] + +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['bin/dorado'], + 'dirs': [], +} + +sanity_check_commands = ["dorado basecaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.7.3_dont_install_external_libraries.patch b/easybuild/easyconfigs/d/dorado/dorado-0.7.3_dont_install_external_libraries.patch new file mode 100644 index 00000000000..67bd9efee78 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.7.3_dont_install_external_libraries.patch @@ -0,0 +1,54 @@ +Don't install external libraries in Dorado's lib directory. + +Åke Sandgren, 2024-09-02 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a84c7524..0791dda8 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -431,7 +431,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + else() + # bundle the libraries from the cuda toolkit + file(GLOB NATIVE_CUDA_LIBS "${CUDAToolkit_TARGET_DIR}/targets/${CMAKE_SYSTEM_PROCESSOR}-linux/lib/${LIB}") +- install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs) + endif() + endforeach() + +@@ -444,14 +444,14 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + RESOLVE_SYMLINKS("${DEBUG_LIBRARIES}" NEW_HDF_DEBUG_LIBRARIES) + foreach(HDF_LIB IN LISTS NEW_HDF_DEBUG_LIBRARIES) + if(${HDF_LIB} MATCHES "hdf5") +- install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Debug) ++ #install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Debug) + endif() + endforeach() + FILTER_LIST("${HDF5_C_LIBRARIES}" RELEASE_LIBRARIES optimized debug ${SHARED_LIB_EXT}) + RESOLVE_SYMLINKS("${RELEASE_LIBRARIES}" NEW_HDF_RELEASE_LIBRARIES) + foreach(HDF_LIB IN LISTS NEW_HDF_RELEASE_LIBRARIES) + if(${HDF_LIB} MATCHES "hdf5") +- install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Release ReleaseWithDebInfo) ++ #install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Release ReleaseWithDebInfo) + endif() + endforeach() + endif() +@@ -459,17 +459,17 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + find_library(SZ_DLL sz REQUIRED) + get_filename_component(SZ_DLL_PATH ${SZ_DLL} DIRECTORY) + file(GLOB SZ_DLLS "${SZ_DLL_PATH}/libsz.so*") +- install(FILES ${SZ_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${SZ_DLLS} DESTINATION lib COMPONENT redist_libs) + + find_library(AEC_DLL aec REQUIRED) + get_filename_component(AEC_DLL_PATH ${AEC_DLL} DIRECTORY) + file(GLOB AEC_DLLS "${AEC_DLL_PATH}/libaec.so*") +- install(FILES ${AEC_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${AEC_DLLS} DESTINATION lib COMPONENT redist_libs) + + # If zstd has been dynamically linked, add the .so to the package + get_filename_component(ZSTD_LIBRARY_PATH ${ZSTD_LIBRARY_RELEASE} DIRECTORY) + file(GLOB ZSTD_DLLS "${ZSTD_LIBRARY_PATH}/*zstd.so*") +- install(FILES ${ZSTD_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${ZSTD_DLLS} DESTINATION lib COMPONENT redist_libs) + + elseif(WIN32) + file(GLOB TORCH_DLLS "${TORCH_LIB}/lib/*.dll") diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.7.3_include-fstream.patch b/easybuild/easyconfigs/d/dorado/dorado-0.7.3_include-fstream.patch new file mode 100644 index 00000000000..bf8d2346e5d --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.7.3_include-fstream.patch @@ -0,0 +1,27 @@ +add missing include to fix compiler errors like: + + error: variable std::ofstream summary_out has initializer but incomplete type + +see also https://github.com/nanoporetech/dorado/pull/780 + +author: Kenneth Hoste (HPC-UGent) +--- dorado/dorado/cli/duplex.cpp.orig 2024-04-30 17:59:15.483935823 +0200 ++++ dorado/dorado/cli/duplex.cpp 2024-04-30 17:59:34.658694274 +0200 +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + #include + #include + #include +--- dorado/dorado/cli/demux.cpp.orig 2024-04-30 18:13:40.327122548 +0200 ++++ dorado/dorado/cli/demux.cpp 2024-04-30 18:15:37.576760942 +0200 +@@ -17,6 +17,7 @@ + #include + + #include ++#include + #include + #include + #include \ No newline at end of file diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..bf8dbf8c6a8 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,88 @@ +easyblock = 'CMakeMake' + +name = 'dorado' +version = '0.8.0' +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': '2023a'} +toolchainopts = {'usempi': True} + +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, +}] +patches = [ + '%(name)s-%(version)s_dont_install_external_libraries.patch', +] + +checksums = [ + None, + '28942b7057af00c574a5e70d33a58b4036fd09ae0b041f45b67581c8dda832b1', +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), + ('HDF5', '1.14.0'), + ('zstd', '1.5.5'), + ('HTSlib', '1.18'), + ('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 && " +# 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 && " +preconfigopts += "sed -i 's/htslib/hts/g' ../dorado/dorado/torch_utils/CMakeLists.txt && " + +# disable treating warnings like errors by stripping out -Werror +# cfr. https://github.com/nanoporetech/dorado/issues/779 +preconfigopts += "sed -i 's/-Werror//g' ../dorado/cmake/Warnings.cmake && " + +_copts = [ + "-DCUDA_TOOLKIT_ROOT_DIR=$EBROOTCUDA", + "-DCMAKE_CUDA_COMPILER=$EBROOTCUDA/bin/nvcc", + '-DOPENSSL_ROOT_DIR=$EBROOTOPENSSL', + "-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' + '-DCMAKE_C_FLAGS="$CFLAGS -pthread"', +] + +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['bin/dorado'], + 'dirs': [], +} + +sanity_check_commands = ["dorado basecaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dorado/dorado-0.8.0_dont_install_external_libraries.patch b/easybuild/easyconfigs/d/dorado/dorado-0.8.0_dont_install_external_libraries.patch new file mode 100644 index 00000000000..cd205c1cbb7 --- /dev/null +++ b/easybuild/easyconfigs/d/dorado/dorado-0.8.0_dont_install_external_libraries.patch @@ -0,0 +1,51 @@ +Don't install external libraries in Dorado's lib directory. +Simon Branford (University of Birmingham) +--- cmake/InstallRedistLibs.cmake.orig 2024-09-27 13:43:56.612497000 +0100 ++++ cmake/InstallRedistLibs.cmake 2024-09-27 13:44:31.683753000 +0100 +@@ -46,7 +46,7 @@ + else() + # bundle the libraries from the cuda toolkit + file(GLOB NATIVE_CUDA_LIBS "${CUDAToolkit_TARGET_DIR}/targets/${CMAKE_SYSTEM_PROCESSOR}-linux/lib/${LIB}") +- install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${NATIVE_CUDA_LIBS} DESTINATION lib COMPONENT redist_libs) + endif() + endforeach() + +@@ -59,14 +59,14 @@ + RESOLVE_SYMLINKS("${DEBUG_LIBRARIES}" NEW_HDF_DEBUG_LIBRARIES) + foreach(HDF_LIB IN LISTS NEW_HDF_DEBUG_LIBRARIES) + if(${HDF_LIB} MATCHES "hdf5") +- install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Debug) ++ #install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Debug) + endif() + endforeach() + FILTER_LIST("${HDF5_C_LIBRARIES}" RELEASE_LIBRARIES optimized debug ${SHARED_LIB_EXT}) + RESOLVE_SYMLINKS("${RELEASE_LIBRARIES}" NEW_HDF_RELEASE_LIBRARIES) + foreach(HDF_LIB IN LISTS NEW_HDF_RELEASE_LIBRARIES) + if(${HDF_LIB} MATCHES "hdf5") +- install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Release ReleaseWithDebInfo) ++ #install(FILES ${HDF_LIB} DESTINATION lib COMPONENT redist_libs CONFIGURATIONS Release ReleaseWithDebInfo) + endif() + endforeach() + endif() +@@ -74,17 +74,17 @@ + find_library(SZ_DLL sz REQUIRED) + get_filename_component(SZ_DLL_PATH ${SZ_DLL} DIRECTORY) + file(GLOB SZ_DLLS "${SZ_DLL_PATH}/libsz.so*") +- install(FILES ${SZ_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${SZ_DLLS} DESTINATION lib COMPONENT redist_libs) + + find_library(AEC_DLL aec REQUIRED) + get_filename_component(AEC_DLL_PATH ${AEC_DLL} DIRECTORY) + file(GLOB AEC_DLLS "${AEC_DLL_PATH}/libaec.so*") +- install(FILES ${AEC_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${AEC_DLLS} DESTINATION lib COMPONENT redist_libs) + + # If zstd has been dynamically linked, add the .so to the package + get_filename_component(ZSTD_LIBRARY_PATH ${ZSTD_LIBRARY_RELEASE} DIRECTORY) + file(GLOB ZSTD_DLLS "${ZSTD_LIBRARY_PATH}/*zstd.so*") +- install(FILES ${ZSTD_DLLS} DESTINATION lib COMPONENT redist_libs) ++ #install(FILES ${ZSTD_DLLS} DESTINATION lib COMPONENT redist_libs) + + elseif(WIN32) + file(GLOB TORCH_DLLS "${TORCH_LIB}/lib/*.dll") diff --git a/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-5.0.17-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-5.0.17-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9200f0b1ad6 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-5.0.17-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +# note: only works on recent OSs, required sufficiently recent glibc (2.14 or newer) +name = 'dotNET-Core-Runtime' +version = '5.0.17' + +homepage = 'https://www.microsoft.com/net/' +description = """.NET is a free, cross-platform, open source developer platform for building many different types + of applications.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.visualstudio.microsoft.com/download/pr/' + + 'e77438f6-865f-45e0-9a52-3e4b04aa609f/024a880ed4bfbfd3b9f222fec0b6aaff'] +sources = ['dotnet-runtime-%(version)s-linux-x64.tar.gz'] +checksums = ['12b44025aabf3d28242c47f84dd14237ad7f496715be55a7c5afd0fb34f66c8b'] + +dependencies = [('libunwind', '1.4.0')] + +sanity_check_paths = { + 'files': ['dotnet'], + 'dirs': ['shared/Microsoft.NETCore.App/%(version)s'], +} + +sanity_check_commands = ["dotnet --info"] + +modextrapaths = {'PATH': ['']} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-6.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-6.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2959307e390 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core-Runtime/dotNET-Core-Runtime-6.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +# note: only works on recent OSs, required sufficiently recent glibc (2.14 or newer) +name = 'dotNET-Core-Runtime' +version = '6.0.1' + +homepage = 'https://www.microsoft.com/net/' +description = """.NET is a free, cross-platform, open source developer platform for building many different types + of applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.visualstudio.microsoft.com/download/pr/' + + 'be8a513c-f3bb-4fbd-b382-6596cf0d67b5/968e205c44eabd205b8ea98be250b880'] +sources = ['dotnet-runtime-%(version)s-linux-x64.tar.gz'] +checksums = ['f77369477ee8c98402793a2b6ce1f46d663fd0373a93a4cef50eb22d8607773c'] + +dependencies = [('libunwind', '1.5.0')] + +sanity_check_paths = { + 'files': ['dotnet'], + 'dirs': ['shared/Microsoft.NETCore.App/%(version)s'], +} + +sanity_check_commands = ["dotnet --info"] + +modextrapaths = {'PATH': ['']} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb new file mode 100644 index 00000000000..46eb6c127d7 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.420.eb @@ -0,0 +1,56 @@ +easyblock = "Tarball" + +name = "dotNET-Core" +version = "6.0.420" # uses the SDK version string, runtime is 6.0.28 + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH) +source_urls = [ + 'https://download.visualstudio.microsoft.com/download/pr/' + 'b521d7d2-108b-43d9-861a-58b2505a125a/0023553690a68328b33bc30a38f151db', # x86_64 + 'https://download.visualstudio.microsoft.com/download/pr/' + 'd4704678-77d5-433e-97d3-a72b5a1f3316/b73d2c0c05f3df0c119b68418404a618', # arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + '4a4728b7-96e6-48f1-a072-6906205e6a58/de54331936784caded5ecd5d10b0ee81', # osx arm64 +] +sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] +checksums = [{ + 'dotnet-sdk-6.0.420-linux-x64.tar.gz': 'd6ed3530d0d01a5b2210c5ee7eb9ffb8510b6cdb94fe41704eb72e2543a5bbc7', + 'dotnet-sdk-6.0.420-linux-arm64.tar.gz': 'bdb39576bde027736200a636fecd116ddbef02b3249b96c6e129dda040198654', + 'dotnet-sdk-6.0.420-osx-arm64.tar.gz': 'f2e57cb199a00d9d4cabd04dde23445dda78bca30cc6fa758a0ef1fb7a9d1a21', +}] + +sanity_check_paths = { + "files": ["dotnet", "LICENSE.txt"], + "dirs": [ + "shared/Microsoft.NETCore.App/", + "shared/Microsoft.AspNetCore.App/", + "sdk", + ], +} + +sanity_check_commands = ['dotnet --help'] + +modextrapaths = {"PATH": ""} + +# We are not sending usage stats to Microsoft...hopefully. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. +# It is collected by Microsoft and shared with the community. +# You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using +# your favorite shell. +# Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry +modextravars = { + "DOTNET_ROOT": "%(installdir)s", + "DOTNET_CLI_TELEMETRY_OPTOUT": "1", +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb new file mode 100644 index 00000000000..ee025cdf51d --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-6.0.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'dotNET-Core' +version = '6.0' + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +dependencies = [('dotNET-Core', '%(version)s.420')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb new file mode 100644 index 00000000000..af56fd166a2 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.203.eb @@ -0,0 +1,56 @@ +easyblock = "Tarball" + +name = "dotNET-Core" +version = "8.0.203" # uses the SDK version string, runtime is 8.0.3 + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +local_variant = {'aarch64': 'linux-x64', 'x86_64': 'linux-x64', 'arm64': 'osx-x86'}.get(ARCH) +source_urls = [ + 'https://download.visualstudio.microsoft.com/download/pr/' + '656a3402-6889-400f-927f-7f956856e58b/93750973d6eedd17c6d963658e7ec214', # x86_64 + 'https://download.visualstudio.microsoft.com/download/pr/' + 'aed2eece-af6d-42e6-8683-21e7835b7479/786b4f225591440a741c1702407fb7b3', # arm64 + 'https://download.visualstudio.microsoft.com/download/pr/' + '9019f736-bf0c-45c6-8ea1-c2370f7c59f1/e88a79c0abd77fd38de8271b7c06b293', # osx arm64 +] +sources = ["dotnet-sdk-%%(version)s-%s.tar.gz" % local_variant] +checksums = [{ + 'dotnet-sdk-8.0.203-linux-x64.tar.gz': 'ce96088bec5b3a19397a4269b3c6041ca1da6147723c24603bbe0e6b36e0dd72', + 'dotnet-sdk-8.0.203-linux-arm64.tar.gz': '245834a0218a3ecd85f5adbef14e57a9970f2e56c498ad8fbfd3efcdad5c0b98', + 'dotnet-sdk-8.0.203-osx-arm64.tar.gz': '57221d5f2f558d368c7c9d1619f1450672443cd578d2db1f967dfc46b6e41447', +}] + +sanity_check_paths = { + "files": ["dotnet", "LICENSE.txt"], + "dirs": [ + "shared/Microsoft.NETCore.App/", + "shared/Microsoft.AspNetCore.App/", + "sdk", + ], +} + +sanity_check_commands = ['dotnet --help'] + +modextrapaths = {"PATH": ""} + +# We are not sending usage stats to Microsoft...hopefully. +# The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous. +# It is collected by Microsoft and shared with the community. +# You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using +# your favorite shell. +# Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry +modextravars = { + "DOTNET_ROOT": "%(installdir)s", + "DOTNET_CLI_TELEMETRY_OPTOUT": "1", +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb new file mode 100644 index 00000000000..e96d2cda876 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-Core/dotNET-Core-8.0.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'dotNET-Core' +version = '8.0' + +homepage = "https://www.microsoft.com/net/" +description = """.NET is a free, cross-platform, open source developer platform for building many different types of +applications. With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, +gaming, and IoT. + +Contains the SDK and the Runtime. +""" + +toolchain = SYSTEM + +dependencies = [('dotNET-Core', '%(version)s.203')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dotNET-SDK/dotNET-SDK-6.0.101-linux-x64.eb b/easybuild/easyconfigs/d/dotNET-SDK/dotNET-SDK-6.0.101-linux-x64.eb new file mode 100644 index 00000000000..26301f192c6 --- /dev/null +++ b/easybuild/easyconfigs/d/dotNET-SDK/dotNET-SDK-6.0.101-linux-x64.eb @@ -0,0 +1,36 @@ +## +# Authors:: Robert Qiao +# Robert Mijakovic +# +# License:: MIT +# Notes:: requires glibc v2.14 or higher +## +easyblock = 'Tarball' + +name = 'dotNET-SDK' +version = '6.0.101' +versionsuffix = '-linux-x64' + +homepage = 'https://www.microsoft.com/net/' +description = """.NET is a free, cross-platform, open source developer platform for building many different types + of applications.""" + +toolchain = SYSTEM +source_urls = ['https://download.visualstudio.microsoft.com/download/pr/' + + 'ede8a287-3d61-4988-a356-32ff9129079e/bdb47b6b510ed0c4f0b132f7f4ad9d5a'] +sources = ['%(namelower)s-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['95a1b5360b234e926f12327d68c4a0d7b7206134dca1b570a66dc7a8a4aed705'] + +sanity_check_paths = { + 'files': ['dotnet'], + 'dirs': ['shared/Microsoft.NETCore.App', 'shared/Microsoft.AspNetCore.App'], +} + +sanity_check_commands = ["dotnet --help"] + +modextrapaths = { + 'PATH': [''], + 'DOTNET_ROOT': [''], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.2.0.eb index 3ac6b74f888..e141a4203de 100644 --- a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.2.0.eb @@ -17,10 +17,6 @@ builddependencies = [ ('CMake', '3.13.3'), ] -separate_build_dir = True - -build_type = 'Release' - # Build static lib, static lib with -fPIC and shared lib configopts = [ '', diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.3.0.eb index 5e4a608dafd..295ca845f6f 100644 --- a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.4-GCCcore-8.3.0.eb @@ -17,10 +17,6 @@ builddependencies = [ ('CMake', '3.15.3'), ] -separate_build_dir = True - -build_type = 'Release' - # Build static lib, static lib with -fPIC and shared lib configopts = [ '', diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.2.0.eb index 23fc1b1e9fb..ba6b262e5e9 100644 --- a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.2.0.eb @@ -17,10 +17,6 @@ builddependencies = [ ('CMake', '3.18.4'), ] -separate_build_dir = True - -build_type = 'Release' - # Build static lib, static lib with -fPIC and shared lib configopts = [ '', diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.3.0.eb index 115873f2963..80a872dea0b 100644 --- a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-10.3.0.eb @@ -17,10 +17,6 @@ builddependencies = [ ('CMake', '3.20.1'), ] -separate_build_dir = True - -build_type = 'Release' - # Build static lib, static lib with -fPIC and shared lib configopts = [ '', diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..54f1be2f0cd --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'double-conversion' +version = '3.1.5' + +homepage = 'https://github.com/google/double-conversion' +description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a63ecb93182134ba4293fd5f22d6e08ca417caafa244afaa751cbfddf6415b13'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +# 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/d/double-conversion/double-conversion-3.1.5-GCCcore-9.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-9.3.0.eb index 54a669f1a95..e3b9916c69a 100644 --- a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.1.5-GCCcore-9.3.0.eb @@ -17,10 +17,6 @@ builddependencies = [ ('CMake', '3.16.4'), ] -separate_build_dir = True - -build_type = 'Release' - # Build static lib, static lib with -fPIC and shared lib configopts = [ '', diff --git a/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..922d510f660 --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'double-conversion' +version = '3.2.0' + +homepage = 'https://github.com/google/double-conversion' +description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3dbcdf186ad092a8b71228a5962009b5c96abde9a315257a3452eb988414ea3b'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +# 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/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..159f1a025a6 --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'double-conversion' +version = '3.2.1' + +homepage = 'https://github.com/google/double-conversion' +description = "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e40d236343cad807e83d192265f139481c51fc83a1c49e406ac6ce0a0ba7cd35'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# 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/d/double-conversion/double-conversion-3.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e0e20e455b5 --- /dev/null +++ b/easybuild/easyconfigs/d/double-conversion/double-conversion-3.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +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': '12.3.0'} + +source_urls = ['https://github.com/google/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['04ec44461850abbf33824da84978043b22554896b552c5fd11a9c5ae4b4d296e'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +# 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/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/d/drmaa-python/drmaa-python-0.7.9-GCCcore-12.2.0-slurm.eb b/easybuild/easyconfigs/d/drmaa-python/drmaa-python-0.7.9-GCCcore-12.2.0-slurm.eb new file mode 100644 index 00000000000..e5f9e796695 --- /dev/null +++ b/easybuild/easyconfigs/d/drmaa-python/drmaa-python-0.7.9-GCCcore-12.2.0-slurm.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'drmaa-python' +version = '0.7.9' +versionsuffix = '-slurm' + +homepage = 'https://github.com/pygridtools/drmaa-python' +description = """Distributed Resource Management Application API (DRMAA) bindings for Python.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/drmaa'] +sources = ['drmaa-%(version)s.tar.gz'] +checksums = ['12540cd98afc40d5c0b2f38d7b0e46468d1c45192a2f401f41fc2eda9c9f5542'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('slurm-drmaa', '1.1.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'drmaa'} + +sanity_check_commands = [ + "python -c 'from drmaa import helpers'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.2-gompi-2020b.eb b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.2-gompi-2020b.eb new file mode 100644 index 00000000000..e2c9c89b8c0 --- /dev/null +++ b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.2-gompi-2020b.eb @@ -0,0 +1,39 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'dtcmp' +version = '1.1.2' + +homepage = 'https://github.com/LLNL/dtcmp' +description = """The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined +comparison operations to compare the values of two items which can be arbitrary MPI datatypes. +Using these comparison operations, the library provides various routines for manipulating data, +which may be distributed over the processes of an MPI communicator.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['2187897220ef6cf1be753110adcd1b78571eb8f9386d90a835b79a3f9c60f18a'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('lwgrp', '1.0.3'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-lwgrp=$EBROOTLWGRP' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT, 'share/%(name)s/README.md'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2022a.eb b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2022a.eb new file mode 100644 index 00000000000..2d17d7a2344 --- /dev/null +++ b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2022a.eb @@ -0,0 +1,39 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'dtcmp' +version = '1.1.4' + +homepage = 'https://github.com/LLNL/dtcmp' +description = """The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined +comparison operations to compare the values of two items which can be arbitrary MPI datatypes. +Using these comparison operations, the library provides various routines for manipulating data, +which may be distributed over the processes of an MPI communicator.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5015b7b330b35e1871a6b5e53cf7045cfb0a29e61f9a678d1919f3bf14a85437'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('lwgrp', '1.0.5'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-lwgrp=$EBROOTLWGRP' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT, 'share/%(name)s/README.md'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2023a.eb b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2023a.eb new file mode 100644 index 00000000000..e6596fd46cd --- /dev/null +++ b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.4-gompi-2023a.eb @@ -0,0 +1,39 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'dtcmp' +version = '1.1.4' + +homepage = 'https://github.com/LLNL/dtcmp' +description = """The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined +comparison operations to compare the values of two items which can be arbitrary MPI datatypes. +Using these comparison operations, the library provides various routines for manipulating data, +which may be distributed over the processes of an MPI communicator.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5015b7b330b35e1871a6b5e53cf7045cfb0a29e61f9a678d1919f3bf14a85437'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('lwgrp', '1.0.5'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-lwgrp=$EBROOTLWGRP' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT, 'share/%(name)s/README.md'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.5-gompi-2024a.eb b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.5-gompi-2024a.eb new file mode 100644 index 00000000000..5143b629849 --- /dev/null +++ b/easybuild/easyconfigs/d/dtcmp/dtcmp-1.1.5-gompi-2024a.eb @@ -0,0 +1,39 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'dtcmp' +version = '1.1.5' + +homepage = 'https://github.com/LLNL/dtcmp' +description = """The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined +comparison operations to compare the values of two items which can be arbitrary MPI datatypes. +Using these comparison operations, the library provides various routines for manipulating data, +which may be distributed over the processes of an MPI communicator.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5c3d672fcf1be81e9afb65ef3f860a7dfe0f1bd79360ac63848acfe4d44439c9'] + +builddependencies = [ + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('lwgrp', '1.0.6'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-lwgrp=$EBROOTLWGRP' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT, 'share/%(name)s/README.md'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/d/dub/dub-1.38.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/d/dub/dub-1.38.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cfd077260fb --- /dev/null +++ b/easybuild/easyconfigs/d/dub/dub-1.38.1-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'dub' +version = '1.38.1' + +homepage = 'https://github.com/dlang/dub' +description = "Package and build manager for D applications and libraries" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/dlang/dub/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a7c9a2f819fdea7359f298cba76e81a24ca1536d756c3b4b98c2480463c37907'] + +builddependencies = [ + ('binutils', '2.40'), + ('LDC', '1.39.0'), +] + +cmds_map = [('.*', "ldmd2 -v -run build.d")] + +files_to_copy = [(['bin/dub'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/dub'], + 'dirs': [], +} + +sanity_check_commands = ["dub --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/d/dune-core/dune-core-2.8.0.post1-foss-2020b.eb b/easybuild/easyconfigs/d/dune-core/dune-core-2.8.0.post1-foss-2020b.eb new file mode 100644 index 00000000000..b6aae99f163 --- /dev/null +++ b/easybuild/easyconfigs/d/dune-core/dune-core-2.8.0.post1-foss-2020b.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'dune-core' +version = '2.8.0.post1' + +homepage = "https://www.dune-project.org/groups/core/" +description = """The Dune core modules build the stable basis of Dune. +They follow a consistent release cycle and have high requirements regarding stability and backwards compatibility. +These modules build the foundation for higher-level components. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('scikit-build', '0.11.1'), + ('Ninja', '1.10.1'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('CMake', '3.18.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('portalocker', '2.3.2', { + 'checksums': ['75cfe02f702737f1726d83e04eedfa0bda2cc5b974b1ceafb8d6b42377efbd5f'], + }), + ('dune-common', version, { + 'modulename': 'dune.common', + 'checksums': ['b6736c69d5213688405bc1d953ac907c1440ecda1174c0cf08bf6cf69ee585a1'], + }), + ('dune-geometry', version, { + 'modulename': 'dune.geometry', + 'checksums': ['7fc655c42fde485bc563d362d9309db332acd08229df2ad215fa0fd292e18a54'], + }), + ('dune-grid', version, { + 'modulename': 'dune.grid', + 'checksums': ['1faf909dba2a590086aa0a2e5926905fcbbe3521e9d920359c984ab496a3c5fb'], + }), + ('dune-localfunctions', version, { + 'modulename': 'dune.localfunctions', + 'checksums': ['d19cb354cbce72654220228613f53ed1be3b960718d8738523b987da6d108406'], + }), + ('dune-istl', version, { + 'modulename': 'dune.istl', + 'checksums': ['0227acaf6b93700036403c3fe8312c00b33edc9dc09d89b295768cbe84eff507'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/dune-fem/dune-fem-2.8.0.6-foss-2020b.eb b/easybuild/easyconfigs/d/dune-fem/dune-fem-2.8.0.6-foss-2020b.eb new file mode 100644 index 00000000000..52e3809d42a --- /dev/null +++ b/easybuild/easyconfigs/d/dune-fem/dune-fem-2.8.0.6-foss-2020b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'dune-fem' +version = '2.8.0.6' + +homepage = "https://www.dune-project.org/modules/dune-fem/" +description = """DUNE-FEM is a discretization module based on DUNE containing all +the building blocks required to implement efficient solvers for a wide range +of (systems of non linear) partial differential equations. DUNE-FEM can also +be used through an extensive Python interface which brings all +components of DUNE-FEM and the DUNE core modules to Python. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('scikit-build', '0.11.1'), + ('Ninja', '1.10.1'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PETSc', '3.14.4'), + ('CMake', '3.18.4'), + ('dune-core', '2.8.0.post1'), + ('matplotlib', '3.3.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('fenics-ufl', '2019.1.0', { + 'modulename': 'ufl', + 'checksums': ['f778cb914f0fe57be76ad288a9209c1f4034a65692e13907171d994a4747bf81'], + }), + ('dune-alugrid', '2.8.0.post1', { + 'modulename': 'dune.alugrid', + 'checksums': ['3ee0ecdc19add77535c211c60058bf28162f9ad3c54b8b3b2bfcafc4d6269c55'], + }), + ('dune-spgrid', '2.8.0.post1', { + 'modulename': 'dune.spgrid', + 'checksums': ['9c6047d5672aabef1b39e9604f03611a1097070935e3c2b1224f69f8758fa336'], + }), + ('dune-polygongrid', '2.8.0.post1', { + 'modulename': 'dune.polygongrid', + 'checksums': ['a1b3dd301a403db6ea0b0a2d9e267b292dd6c5b3d12801f5154890bd4b6d63a8'], + }), + (name, version, { + 'modulename': 'dune.fem', + 'checksums': ['85151aa6fe54d14ae7cee12feff90afc580e0e41f5636bf51a6fbb2b9921bf10'], + }), + ('dune-fem-dg', version, { + 'modulename': 'dune.femdg', + 'checksums': ['bb81fdaf0ba0f59915dca8080d82f2c6b1d2ad98cd51cf8548b0c96d88adebb0'], + }), + ('triangle', '20200424', { + 'checksums': ['fc207641f8f39986f7d2bee1b91688a588cd235d2e67777422f94e61fece27e9'], + }), + ('dune-vem', version, { + 'modulename': 'dune.vem', + 'checksums': ['452145b85f2755cda24aa683efd4cc6c90fd49af395333dd766fb6cf479f969b'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb new file mode 100644 index 00000000000..d20e6c93833 --- /dev/null +++ b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.1-foss-2022a.eb @@ -0,0 +1,88 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'PythonBundle' + +name = 'duplex-tools' +version = '0.3.1' + +homepage = 'https://github.com/nanoporetech/duplex-tools' +description = """ +Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided + to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for + recovering simplex basecalls from incorrectly concatenated pairs. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +_minimap2_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('edlib', '1.3.9'), + ('minimap2', _minimap2_ver), + ('python-parasail', '1.3.3'), + ('Pysam', '0.19.1'), + ('tqdm', '4.64.0'), + ('Arrow', '8.0.0'), + ('h5py', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mappy', _minimap2_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('lib-pod5', '0.1.5', { + 'source_tmpl': 'lib_pod5-%%(version)s-cp310-cp310-manylinux_2_17_%s.manylinux2014_%s.whl' % (ARCH, ARCH), + 'checksums': [{ + 'lib_pod5-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl': ( + '4e8993327268784bb0e1320595411f545d2019cf4952b04d63be584cf7208480' + ), + 'lib_pod5-%(version)s-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl': ( + '125f19ad83c299d0d6c67d18ce8e43da4e12bf12cf7141ab7d60fba7574239bd' + ), + }], + }), + ('vbz-h5py-plugin', '1.0.1', { + 'source_tmpl': 'vbz_h5py_plugin-%(version)s.tar.gz', + 'checksums': ['c784458bb0aad6303474cb2f10956179116b35555803fd1154eb4ef362519341'], + }), + ('pod5', '0.1.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4d66b95035c325a3a0bf6518d3b728f4324ccd6303aa9a00515b73cf1ef2d575'], + }), + ('pyfastx', '0.9.1', { + # PYPI source tarball is incomplete, causes ImportErrors + # see https://github.com/lmdu/pyfastx/issues/60 + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/lmdu/%(name)s/archive'], + 'checksums': ['cd2aaab5ed3cf56b24d45d01f2d76ff314ae381b9bba029ea4f7e3224ce4748a'], + }), + (name, version, { + 'source_tmpl': 'duplex_tools-%(version)s.tar.gz', + 'checksums': ['5cb16aca841873139f2d54da40a0b8db22bbda4a958bf45e679f538a7af9fb0d'], + }), +] + +_bins = ['dorado_stereo.sh', 'duplex_tools', 'minimap2.py', 'natsort', 'pod5', 'pyfastx'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'dorado_stereo.sh -h', + 'duplex_tools --help', + 'pod5 --help', + 'pyfastx --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2022a.eb b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2022a.eb new file mode 100644 index 00000000000..bed3911b036 --- /dev/null +++ b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2022a.eb @@ -0,0 +1,74 @@ +# Author: Jasper Grimm (UoY) +# Updated: Petr Král (INUITS) +easyblock = 'PythonBundle' + +name = 'duplex-tools' +version = '0.3.3' + +homepage = 'https://github.com/nanoporetech/duplex-tools' +description = """ +Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided + to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for + recovering simplex basecalls from incorrectly concatenated pairs. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +_minimap2_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('edlib', '1.3.9'), + ('minimap2', _minimap2_ver), + ('python-parasail', '1.3.3'), + ('Pysam', '0.19.1'), + ('tqdm', '4.64.0'), + ('Arrow', '8.0.0'), + ('h5py', '3.7.0'), + ('pod5-file-format', '0.1.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mappy', _minimap2_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('vbz-h5py-plugin', '1.0.1', { + 'source_tmpl': 'vbz_h5py_plugin-%(version)s.tar.gz', + 'checksums': ['c784458bb0aad6303474cb2f10956179116b35555803fd1154eb4ef362519341'], + }), + ('pyfastx', '1.1.0', { + # PYPI source tarball is incomplete, causes ImportErrors + # see https://github.com/lmdu/pyfastx/issues/60 + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/lmdu/%(name)s/archive'], + 'checksums': ['b9974b21d21067350694ea37d33f99647255546b90eee8addeb74c8d18d824e8'], + }), + (name, version, { + 'source_tmpl': 'duplex_tools-%(version)s.tar.gz', + 'checksums': ['883e0a6610d14328a640b6a31eaef90592d2967cda68db0547a4d99924281300'], + }), +] + +_bins = ['dorado_stereo.sh', 'duplex_tools', 'minimap2.py', 'natsort', 'pyfastx'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'dorado_stereo.sh -h', + 'duplex_tools --help', + 'pyfastx --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2023a.eb b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2023a.eb new file mode 100644 index 00000000000..fb67d050e02 --- /dev/null +++ b/easybuild/easyconfigs/d/duplex-tools/duplex-tools-0.3.3-foss-2023a.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +# Updated: Petr Král, Pavel Tománek (INUITS) +easyblock = 'PythonBundle' + +name = 'duplex-tools' +version = '0.3.3' + +homepage = 'https://github.com/nanoporetech/duplex-tools' +description = """ +Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided + to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for + recovering simplex basecalls from incorrectly concatenated pairs. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +_minimap2_ver = '2.26' +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('edlib', '1.3.9'), + ('minimap2', _minimap2_ver), + ('python-parasail', '1.3.4'), + ('Pysam', '0.22.0'), + ('tqdm', '4.66.1'), + ('Arrow', '14.0.1'), + ('h5py', '3.9.0'), + ('pod5-file-format', '0.3.10'), + ('parasail', '2.6.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mappy', _minimap2_ver, { + 'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('pyfastx', '2.0.1', { + # PYPI source tarball is incomplete, causes ImportErrors + # see https://github.com/lmdu/pyfastx/issues/60 + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'source_urls': ['https://github.com/lmdu/%(name)s/archive'], + 'checksums': ['93aff63ce88bc5cfe7152d8dcb3f2164356bcd8f95a68fb20af107e59a7f9b55'], + }), + (name, version, { + 'sources': [{'download_filename': 'duplex_tools-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['883e0a6610d14328a640b6a31eaef90592d2967cda68db0547a4d99924281300'], + }), +] + +_bins = ['dorado_stereo.sh', 'duplex_tools', 'minimap2.py', 'natsort', 'pyfastx'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'dorado_stereo.sh -h', + 'duplex_tools --help', + 'pyfastx --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dx-toolkit/dx-toolkit-0.350.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/dx-toolkit/dx-toolkit-0.350.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2b1396e8f5d --- /dev/null +++ b/easybuild/easyconfigs/d/dx-toolkit/dx-toolkit-0.350.1-GCCcore-12.2.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'dx-toolkit' +version = '0.350.1' + +homepage = 'https://documentation.dnanexus.com/downloads#dnanexus-platform-sdk' +description = """The DNAnexus Platform SDK - also called dx-toolkit - includes the dx command-line client; + tools for building and debugging apps; utilities for working with DNA data on the DNAnexus Platform; + and Python, Java, C++ and R bindings for working on the DNAnexus Platform. + """ + +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 = [ + ('argcomplete', '3.1.1', { + 'checksums': ['6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff'], + }), + ('websocket-client', '0.54.0', { + 'source_tmpl': 'websocket_client-%(version)s.tar.gz', + 'checksums': ['e51562c91ddb8148e791f0155fdb01325d99bb52c4cdbb291aee7a3563fd0849'], + 'modulename': 'websocket', + }), + ('dxpy', version, { + 'checksums': ['3378a233454beaefb8d291ed4a4450a784917347e3056812e4fd709be09aace4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/dx', 'bin/wsdump.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'dx --help', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/d/dxpy/dxpy-0.345.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/d/dxpy/dxpy-0.345.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7090297dbe6 --- /dev/null +++ b/easybuild/easyconfigs/d/dxpy/dxpy-0.345.0-GCCcore-12.2.0.eb @@ -0,0 +1,67 @@ +# Updated to latest version +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'dxpy' +version = '0.345.0' + +homepage = 'http://autodoc.dnanexus.com/' +description = "DNAnexus Platform API bindings for Python" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('FUSE', '3.14.1'), + ('BeautifulSoup', '4.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('argcomplete', '3.0.5', { + 'checksums': ['fe3ce77125f434a0dd1bffe5f4643e64126d5731ce8d173d36f62fa43d6eb6f7'], + }), + ('xattr', '0.10.1', { + 'checksums': ['c12e7d81ffaa0605b3ac8c22c2994a8e18a9cf1c59287a1b7722a2289c952ec5'], + }), + ('fusepy', '3.0.1', { + 'modulename': 'fuse', + 'patches': ['fusepy-3.0.1_fix-libfuse.patch'], + 'checksums': [ + '72ff783ec2f43de3ab394e3f7457605bf04c8cf288a2f4068b4cde141d4ee6bd', # fusepy-3.0.1.tar.gz + '7650c5f922c24b820f2b33e0b5b1af8923c1a5c4ff397701cd970ea33c757fbe', # fusepy-3.0.1_fix-libfuse.patch + ], + }), + ('backports.ssl_match_hostname', '3.7.0.1', { + 'checksums': ['bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2'], + }), + ('python-magic', '0.4.27', { + 'modulename': 'magic', + 'checksums': ['c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b'], + }), + ('websocket_client', '0.54.0', { + 'modulename': 'websocket', + 'checksums': ['e51562c91ddb8148e791f0155fdb01325d99bb52c4cdbb291aee7a3563fd0849'], + }), + (name, version, { + 'checksums': ['cf5b47e83866a9c87a4fc59262eac500e860f6a890e6a897a577eff68e28cff2'], + # strip away too strict version requirements for requests dependency + 'preinstallopts': "sed -i 's/requests.*/requests/g' requirements.txt && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/dx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["dx --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/d/dxpy/fusepy-3.0.1_fix-libfuse.patch b/easybuild/easyconfigs/d/dxpy/fusepy-3.0.1_fix-libfuse.patch new file mode 100644 index 00000000000..52eb7ae9be9 --- /dev/null +++ b/easybuild/easyconfigs/d/dxpy/fusepy-3.0.1_fix-libfuse.patch @@ -0,0 +1,17 @@ +fix name of FUSE library to search for (libfuse3.so for FUSE 3.x) +author: Kenneth Hoste (HPC-UGent) +updated to 3.0.1 +author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/fusepy-3.0.1.orig/fuse.py b/fusepy-3.0.1/fuse.py +index 7c2ddc4..f95730f 100644 +--- a/fusepy-3.0.1.orig/fuse.py ++++ b/fusepy-3.0.1/fuse.py +@@ -109,7 +109,7 @@ if not _libfuse_path: + if _libfuse_path: + _libfuse_path += r"bin\winfsp-%s.dll" % ("x64" if sys.maxsize > 0xffffffff else "x86") + else: +- _libfuse_path = find_library('fuse') ++ _libfuse_path = find_library('fuse3') + + if not _libfuse_path: + raise EnvironmentError('Unable to find libfuse') diff --git a/easybuild/easyconfigs/d/dynesty/dynesty-2.1.3-foss-2023a.eb b/easybuild/easyconfigs/d/dynesty/dynesty-2.1.3-foss-2023a.eb new file mode 100644 index 00000000000..9835112f86e --- /dev/null +++ b/easybuild/easyconfigs/d/dynesty/dynesty-2.1.3-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'dynesty' +version = '2.1.3' + +homepage = 'https://dynesty.readthedocs.io/' +description = """dynesty is a Pure Python, MIT-licensed Dynamic Nested Sampling package +for estimating Bayesian posteriors and evidences.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pytest', '7.4.2'), + ('pytest-xdist', '3.3.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('dill', '0.3.7'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('pytest-cov', '4.1.0', { + 'checksums': ['3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6'], + }), + ('coverage', '6.5.0', { + 'checksums': ['f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84'], + }), + ('coveralls', '3.3.1', { + 'checksums': ['b32a8bb5d2df585207c119d6c01567b81fba690c9c10a753bfe27a335bfc43ea'], + }), + (name, version, { + 'checksums': ['26b6c538ff59be4cfd27871b9b78e62c333052234f99c288e269ec022849a345'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-1.3.0-gfbf-2022a.eb b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-1.3.0-gfbf-2022a.eb new file mode 100644 index 00000000000..967a6c431d0 --- /dev/null +++ b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-1.3.0-gfbf-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'E-ANTIC' +version = '1.3.0' + +homepage = 'https://github.com/flatsurf/e-antic' +description = """E-ANTIC is a C/C++ library to deal with real embedded number fields built on +top of ANTIC (https://github.com/wbhart/antic). Its aim is to have as fast as +possible exact arithmetic operations and comparisons.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flatsurf/e-antic/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ae12cb87f09478f49c4acdf0f3ff888dc556267614c0a5a3bc8bfaa41b22deef'] + +dependencies = [ + ('ANTIC', '0.2.5'), + ('FLINT', '2.9.0'), + ('Arb', '2.23.0'), + ('Boost', '1.79.0'), + ('Python', '3.10.4'), + ('cppyy', '3.0.0'), +] + +configopts = '--without-benchmark --without-byexample --without-pytest --without-doc' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (lib, ext) for lib in ['eantic', 'eanticxx'] for ext in ['a', SHLIB_EXT]] + + ['include/e-antic/%s.h' % h for h in ['e-antic', 'fmpq_poly_extra', 'renf', + 'renf_elem', 'renfxx']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import pyeantic'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb new file mode 100644 index 00000000000..fcb851f1091 --- /dev/null +++ b/easybuild/easyconfigs/e/E-ANTIC/E-ANTIC-2.0.2-gfbf-2023b.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'E-ANTIC' +version = '2.0.2' + +homepage = 'https://github.com/flatsurf/e-antic' +description = """E-ANTIC is a C/C++ library to deal with real embedded number fields built on +top of ANTIC (https://github.com/wbhart/antic). Its aim is to have as fast as +possible exact arithmetic operations and comparisons.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flatsurf/e-antic/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8328e6490129dfec7f4aa478ebd54dc07686bd5e5e7f5f30dcf20c0f11b67f60'] + +dependencies = [ + ('FLINT', '3.1.1'), + ('Boost', '1.83.0'), + ('Python', '3.11.5'), + ('cppyy', '3.1.2'), +] + +configopts = '--without-benchmark --without-byexample --without-pytest --without-doc' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (lib, ext) for lib in ['eantic', 'eanticxx'] for ext in ['a', SHLIB_EXT]] + + ['include/e-antic/%s.h' % h for h in ['e-antic', 'fmpq_poly_extra', 'renf', + 'renf_elem', 'renfxx']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import pyeantic'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ECL/ECL-23.9.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/ECL/ECL-23.9.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7785b55e3af --- /dev/null +++ b/easybuild/easyconfigs/e/ECL/ECL-23.9.9-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ECL' +version = '23.9.9' + +homepage = 'https://ecl.common-lisp.dev/' +description = """ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language + as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), + conditions, loops, etc, plus a translator to C, which can produce standalone executables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://common-lisp.net/project/ecl/static/files/release'] +sources = [SOURCELOWER_TGZ] +checksums = ['c51bdab4ca6c1173dd3fe9cfe9727bcefb97bb0a3d6434b627ca6bdaeb33f880'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = "--enable-manual=no " + +sanity_check_paths = { + 'files': ['bin/ecl', 'bin/ecl-config', 'include/ecl/ecl.h', 'lib/libecl.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["ecl --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cb4390c3499 --- /dev/null +++ b/easybuild/easyconfigs/e/ECL/ECL-24.5.10-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ECL' +version = '24.5.10' + +homepage = 'https://ecl.common-lisp.dev/' +description = """ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language + as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), + conditions, loops, etc, plus a translator to C, which can produce standalone executables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://common-lisp.net/project/ecl/static/files/release'] +sources = [SOURCELOWER_TGZ] +checksums = ['e4ea65bb1861e0e495386bfa8bc673bd014e96d3cf9d91e9038f91435cbe622b'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = "--enable-manual=no " + +sanity_check_paths = { + 'files': ['bin/ecl', 'bin/ecl-config', 'include/ecl/ecl.h', 'lib/libecl.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["ecl --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/e/EDirect/EDirect-19.7.20230531-GCCcore-10.3.0.eb b/easybuild/easyconfigs/e/EDirect/EDirect-19.7.20230531-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8e19e535ef4 --- /dev/null +++ b/easybuild/easyconfigs/e/EDirect/EDirect-19.7.20230531-GCCcore-10.3.0.eb @@ -0,0 +1,63 @@ +## +# 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 = '19.7.20230531' + +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': '10.3.0'} + +source_urls = ['https://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/versions/%(version)s/'] +sources = [ + {'download_filename': 'edirect-%(version)s.tar.gz', + 'filename': 'edirect-%s.tar.gz' % version, + }, +] +checksums = [ + 'c25d2818a75fbfce4a81907f30a6c80ff13df6ada8b2f67d67d705fc887500d1', # edirect-19.7.20230531.tar.gz +] + +builddependencies = [ + ('Go', '1.20.4', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), +] + +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/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/EDirect/EDirect-20.5.20231006-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/EDirect/EDirect-20.5.20231006-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6d7b7e3bb2e --- /dev/null +++ b/easybuild/easyconfigs/e/EDirect/EDirect-20.5.20231006-GCCcore-12.3.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.3.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.11.3'), + ('Perl', '5.36.1'), +] + +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/EGA-QuickView/EGA-QuickView-20240620-GCC-12.3.0.eb b/easybuild/easyconfigs/e/EGA-QuickView/EGA-QuickView-20240620-GCC-12.3.0.eb new file mode 100644 index 00000000000..24e7302367a --- /dev/null +++ b/easybuild/easyconfigs/e/EGA-QuickView/EGA-QuickView-20240620-GCC-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'EGA-QuickView' +version = '20240620' +local_commit = 'fe2034d' + +homepage = 'https://github.com/EGA-archive/ega-quickview' +description = """EGA-QuickView is a FUSE file system to access EGA files remotely.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'EGA-archive' +source_urls = [GITHUB_SOURCE] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': '%(name)s-%(version)s.tar.gz', +}] +checksums = ['90836e42009736a8e20a2569918638f3cb2b53574265ca4f4bed7abd81a5e887'] + +builddependencies = [ + ('make', '4.4.1'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libsodium', '1.0.18'), + ('FUSE', '3.16.2'), + ('GLib', '2.77.1'), +] + +preconfigopts = "autoreconf -i && " +# fix Makefile to create /bin in installdir +preinstallopts = "sed -i 's/install: $(TARGET)/install: $(TARGET) $(bindir)/' Makefile && " + +sanity_check_paths = { + 'files': ['bin/ega-qv'], + 'dirs': [], +} + +sanity_check_commands = ['ega-qv -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb new file mode 100644 index 00000000000..b721a288373 --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'EGTtools' +version = '0.1.10.dev2' + +homepage = 'https://github.com/Socrats/EGTTools' +description = """ +EGTtools provides a centralized repository with analytical and numerical +methods to study/model game theoretical problems under the Evolutionary Game +Theory (EGT) framework.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.11.1'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('networkx', '2.6.3'), + ('Seaborn', '0.11.2'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_fix_include.patch'], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': [ + '0ae38d9945ecd5cb49e8bdd0dcedcd938e3380e5db93fdf74c681ac8abd2317e', # egttools-0.1.10.dev2.tar.gz + # EGTtools-0.1.10.dev2_fix_include.patch + '6237d0ad05d8aca7c9eccc6627f6e91a3511d3a4adbb72c6e881553f088f6c9a', + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch new file mode 100644 index 00000000000..9dd130a6f83 --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.10.dev2_fix_include.patch @@ -0,0 +1,13 @@ +Add missing include to avoid build error: "shared_ptr in namespace std does not name a template type" +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur egttools-0.1.10.dev2.orig/include/egttools/finite_populations/behaviors/NFGStrategies.hpp egttools-0.1.10.dev2/include/egttools/finite_populations/behaviors/NFGStrategies.hpp +--- egttools-0.1.10.dev2.orig/include/egttools/finite_populations/behaviors/NFGStrategies.hpp 2022-08-06 16:35:37.000000000 +0200 ++++ egttools-0.1.10.dev2/include/egttools/finite_populations/behaviors/NFGStrategies.hpp 2022-08-12 17:22:35.065010288 +0200 +@@ -25,6 +25,7 @@ + + #include + #include ++#include + #include + #include + diff --git a/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb new file mode 100644 index 00000000000..b400270aca9 --- /dev/null +++ b/easybuild/easyconfigs/e/EGTtools/EGTtools-0.1.11-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'EGTtools' +version = '0.1.11' + +homepage = 'https://github.com/Socrats/EGTTools' +description = """ +EGTtools provides a centralized repository with analytical and numerical +methods to study/model game theoretical problems under the Evolutionary Game +Theory (EGT) framework.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.15.0'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('Seaborn', '0.12.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['b736bc00f80e11987ca51eaa11f013a29ccca835a05b6eb91b3850c1e5680e8e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2018b.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2018b.eb index 185743cf6a6..a759779e0b1 100644 --- a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2018b.eb +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2018b.eb @@ -26,10 +26,14 @@ toolchain = {'name': 'foss', 'version': '2018b'} source_urls = ['https://github.com/DReichLab/EIG/archive'] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_Fix_makefile_openblas.patch'] +patches = [ + '%(name)s-%(version)s_Fix_makefile_openblas.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] checksums = [ 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz 'e49e3754f2326210114fe5a731a77c7ffd240c8a9134eb8e8e1517bfe06c71e1', # EIGENSOFT-7.2.1_Fix_makefile_openblas.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch ] dependencies = [ @@ -44,10 +48,10 @@ buildopts = ' && make install' files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] -fix_perl_shebang_for = ['bin/*.perl'] +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL"]], + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], 'dirs': [] } diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019a.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019a.eb index c6554e9d20e..fc4c22c0c96 100644 --- a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019a.eb +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019a.eb @@ -23,10 +23,14 @@ toolchain = {'name': 'foss', 'version': '2019a'} source_urls = ['https://github.com/DReichLab/EIG/archive'] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_Fix_makefile_openblas.patch'] +patches = [ + '%(name)s-%(version)s_Fix_makefile_openblas.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] checksums = [ 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz 'e49e3754f2326210114fe5a731a77c7ffd240c8a9134eb8e8e1517bfe06c71e1', # EIGENSOFT-7.2.1_Fix_makefile_openblas.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch ] dependencies = [ @@ -41,10 +45,10 @@ buildopts = ' && make install' files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] -fix_perl_shebang_for = ['bin/*.perl'] +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL"]], + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], 'dirs': [] } diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019b.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019b.eb index 928fcacc43a..c8b8ea7f661 100644 --- a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019b.eb +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2019b.eb @@ -26,10 +26,14 @@ toolchain = {'name': 'foss', 'version': '2019b'} source_urls = ['https://github.com/DReichLab/EIG/archive'] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_Fix_makefile_openblas.patch'] +patches = [ + '%(name)s-%(version)s_Fix_makefile_openblas.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] checksums = [ 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz 'e49e3754f2326210114fe5a731a77c7ffd240c8a9134eb8e8e1517bfe06c71e1', # EIGENSOFT-7.2.1_Fix_makefile_openblas.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch ] dependencies = [ @@ -44,10 +48,10 @@ buildopts = ' && make install' files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] -fix_perl_shebang_for = ['bin/*.perl'] +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL"]], + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], 'dirs': [] } diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2020b.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2020b.eb new file mode 100644 index 00000000000..09a11071180 --- /dev/null +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2020b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 6.1.4 modified by: +# Adam Huffman +# The Francis Crick Institute +# 7.2.1 modified by: +# Tom Strempel +# Helmholtz-Centre for Environmental Research - UFZ + +easyblock = 'MakeCp' + +name = 'EIGENSOFT' +version = '7.2.1' + +homepage = 'https://www.hsph.harvard.edu/alkes-price/software/' +description = """The EIGENSOFT package combines functionality from our population genetics methods (Patterson et al. +2006) and our EIGENSTRAT stratification correction method (Price et al. 2006). The EIGENSTRAT method uses principal +components analysis to explicitly model ancestry differences between cases and controls along continuous axes of +variation; the resulting correction is specific to a candidate marker’s variation in frequency across ancestral +populations, minimizing spurious associations while maximizing power to detect true associations. The EIGENSOFT +package has a built-in plotting script and supports multiple file formats and quantitative phenotypes.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/DReichLab/EIG/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_Fix_makefile_openblas.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] +checksums = [ + 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz + 'e49e3754f2326210114fe5a731a77c7ffd240c8a9134eb8e8e1517bfe06c71e1', # EIGENSOFT-7.2.1_Fix_makefile_openblas.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch +] + +dependencies = [ + ('GSL', '2.6'), + ('Perl', '5.32.0'), +] + +start_dir = 'src' + +# Run "make install" after make to copy all binaries to the bin dir +buildopts = ' && make install' + +files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] + +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2021a.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2021a.eb new file mode 100644 index 00000000000..f120ac870b6 --- /dev/null +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-foss-2021a.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 6.1.4 modified by: +# Adam Huffman +# The Francis Crick Institute +# 7.2.1 modified by: +# Tom Strempel +# Helmholtz-Centre for Environmental Research - UFZ + +easyblock = 'MakeCp' + +name = 'EIGENSOFT' +version = '7.2.1' + +homepage = 'https://www.hsph.harvard.edu/alkes-price/software/' +description = """The EIGENSOFT package combines functionality from our population genetics methods (Patterson et al. +2006) and our EIGENSTRAT stratification correction method (Price et al. 2006). The EIGENSTRAT method uses principal +components analysis to explicitly model ancestry differences between cases and controls along continuous axes of +variation; the resulting correction is specific to a candidate marker’s variation in frequency across ancestral +populations, minimizing spurious associations while maximizing power to detect true associations. The EIGENSOFT +package has a built-in plotting script and supports multiple file formats and quantitative phenotypes.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/DReichLab/EIG/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_Fix_makefile_openblas.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] +checksums = [ + 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz + 'e49e3754f2326210114fe5a731a77c7ffd240c8a9134eb8e8e1517bfe06c71e1', # EIGENSOFT-7.2.1_Fix_makefile_openblas.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch +] + +dependencies = [ + ('GSL', '2.7'), + ('Perl', '5.32.1'), +] + +start_dir = 'src' + +# Run "make install" after make to copy all binaries to the bin dir +buildopts = 'LDLIBS="-lgsl $LIBBLAS -llapacke $LIBS" && make install' + +files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] + +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-intel-2019a.eb b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-intel-2019a.eb index 12dbbc84f75..d1a248f2e08 100644 --- a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-intel-2019a.eb +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1-intel-2019a.eb @@ -23,10 +23,14 @@ toolchain = {'name': 'intel', 'version': '2019a'} source_urls = ['https://github.com/DReichLab/EIG/archive'] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_Use_mkl.patch'] +patches = [ + '%(name)s-%(version)s_Use_mkl.patch', + ('%(name)s-%(version)s_restore-ploteig.patch', 0), +] checksums = [ 'f09a46ec4b83c5062ec71eaca48a78f2373f1666fe23cbf17757150a679c8650', # v7.2.1.tar.gz 'e18c91afedec928ebedb05bc13e91baa13973dde60006af88666c40a37248f31', # EIGENSOFT-7.2.1_Use_mkl.patch + '8a7a0273ae4d0d3ec0c9927facd41a1a43b8540725af3bd06e007cd86afaf9e0', # EIGENSOFT-7.2.1_restore-ploteig.patch ] dependencies = [ @@ -41,10 +45,10 @@ buildopts = ' && make install' files_to_copy = ['bin', 'CONVERTF', 'EIGENSTRAT', 'POPGEN', 'README'] -fix_perl_shebang_for = ['bin/*.perl'] +fix_perl_shebang_for = ['bin/*.perl', 'bin/ploteig'] sanity_check_paths = { - 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL"]], + 'files': ['bin/%s' % x for x in ["baseprog", "convertf", "eigenstrat", "eigenstratQTL", "ploteig"]], 'dirs': [] } diff --git a/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1_restore-ploteig.patch b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1_restore-ploteig.patch new file mode 100644 index 00000000000..5a382a99919 --- /dev/null +++ b/easybuild/easyconfigs/e/EIGENSOFT/EIGENSOFT-7.2.1_restore-ploteig.patch @@ -0,0 +1,234 @@ +From 7a6036bf36d8d2ed038b83d26112cdde4f383747 Mon Sep 17 00:00:00 2001 +From: Matthew Mah +Date: Mon, 5 Mar 2018 15:14:52 -0500 +Subject: [PATCH] Restore ploteig in bin directory with Nick's version. Fixes + #25. + +--- + bin/ploteig | 217 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 217 insertions(+) + create mode 100755 bin/ploteig + +diff --git a/bin/ploteig b/bin/ploteig +new file mode 100755 +index 0000000..0871daa +--- /dev/null ++++ bin/ploteig +@@ -0,0 +1,217 @@ ++#!/usr/local/bin/perl -w ++ ++### ploteig -i eigfile -p pops -c a:b [-t title] [-s stem] [-g gstem] [-o outfile] [-x] [-k] [-y] [-z sep] -r colorstring -m xmul -n ymul ++use Getopt::Std ; ++use File::Basename ; ++ ++## pops : separated -x = make postscript and pdf -z use another separator ++## -k keep intermediate files ++## NEW if pops is a file names are read one per line ++## scaling on x, y axes ++ ++getopts('i:o:p:c:s:d:z:t:r:m:n:g:xkyq',\%opts) ; ++$postscmode = $opts{"x"} ; ++$oldkeystyle = $opts{"y"} ; ++$nopoptitle = $opts{"q"} ; ++$kflag = $opts{"k"} ; ++$keepflag = 1 if ($kflag) ; ++$keepflag = 1 unless ($postscmode) ; ++ ++$zsep = ":" ; ++if (defined $opts{"z"}) { ++ $zsep = $opts{"z"} ; ++ $zsep = "\+" if ($zsep eq "+") ; ++} ++ ++if (defined $opts{"r"}) { ++ $colorstr = $opts{"r"} ; ++ setcolor($colorstr) ; ++} ++$xmul = $opts{"m"} ; ++$xmul = 1 unless (defined $xmul) ; ++ ++$ymul = $opts{"n"} ; ++$ymul = 1 unless (defined $ymul) ; ++ ++$title = "" ; ++if (defined $opts{"t"}) { ++ $title = $opts{"t"} ; ++} ++if (defined $opts{"i"}) { ++ $infile = $opts{"i"} ; ++} ++else { ++ usage() ; ++ exit 0 ; ++} ++ ++open (FF, $infile) || die "can't open $infile\n" ; ++@L = () ; ++chomp @L ; ++$nf = 0 ; ++foreach $line (@L) { ++ next if ($line =~ /\#/) ; ++ @Z = split " ", $line ; ++ $x = @Z ; ++ $nf = $x if ($nf < $x) ; ++} ++printf "## number of fields: %d\n", $nf ; ++$popcol = $nf-1 ; ++ ++ ++if (defined $opts{"p"}) { ++ $pops = $opts{"p"} ; ++} ++else { ++ die "p parameter compulsory\n" ; ++} ++ ++$popsname = setpops ($pops) ; ++print "$popsname\n" ; ++ ++$c1 = 1; $c2 =2 ; ++if (defined $opts{"c"}) { ++ $cols = $opts{"c"} ; ++ ($c1, $c2) = split ":", $cols ; ++ die "bad c param: $cols\n" unless (defined $cols) ; ++} ++ ++$stem = "$infile.$c1:$c2" ; ++if (defined $opts{"s"}) { ++ $stem = $opts{"s"} ; ++} ++ ++if (defined $opts{"g"}) { ++ $stem = $gstem = $opts{"g"} ; ++} ++ ++$gstem = "$stem.$popsname" unless (defined $gstem) ; ++$gnfile = "$gstem.xtxt" ; ++ ++if (defined $opts{"o"}) { ++ $gnfile = $opts{"o"} ; ++} ++ ++ ++@T = () ; ## trash ++open (GG, ">$gnfile") || die "can't open $gnfile\n" ; ++print GG "## " unless ($postscmode) ; ++print GG "set terminal postscript color noenhanced\n" ; ++print GG "set title \"$title\" \n" ; ++print GG "set key outside\n" unless ($oldkeystyle) ; ++print GG "set xlabel \"eigenvector $c1\" \n" if ($xmul == 1) ; ++print GG "set xlabel \"eigenvector $c1 (* $xmul) \" \n" if ($xmul != 1) ; ++print GG "set ylabel \"eigenvector $c2\" \n" if ($ymul == 1) ; ++print GG "set ylabel \"eigenvector $c1 (* $ymul) \" \n" if ($ymul != 1) ; ++print GG "plot " ; ++$np = @P ; ++$lastpop = $P[$np-1] ; ++$d1 = $c1+1 ; ++$d2 = $c2+1 ; ++foreach $pop (@P) { ++ $dfile = "$stem:$pop" ; ++ push @T, $dfile ; ++ print GG " \"$dfile\" using (\$$d1)*$xmul:(\$$d2)*$ymul " ; ++ print GG "notitle " if (defined $nopoptitle) ; ++ print GG "title \"$pop\" " unless (defined $nopoptitle) ; ++ if (defined $COL{$pop}) { ++ $color = $COL{$pop} ; ++ print GG "lt rgb \"$color\" " ; ++ } ++ print GG ", \\\n" unless ($pop eq $lastpop) ; ++ open (YY, ">$dfile") || die "can't open $dfile\n" ; ++ foreach $line (@L) { ++ next if ($line =~ /\#/) ; ++ @Z = split " ", $line ; ++ next unless (defined $Z[$popcol]) ; ++ next unless ($Z[$popcol] eq $pop) ; ++ print YY "$line\n" ; ++ } ++ close YY ; ++} ++print GG "\n" ; ++print GG "## " if ($postscmode) ; ++print GG "pause 9999\n" ; ++close GG ; ++ ++if ($postscmode) { ++$psfile = "$stem.ps" ; ++ ++ if ($gnfile =~ /xtxt/) { ++ $psfile = $gnfile ; ++ $psfile =~ s/xtxt/ps/ ; ++ } ++system "gnuplot < $gnfile > $psfile" ; ++system "/home/np29/bin/fixgreen $psfile" ; ++system "ps2pdf $psfile " ; ++} ++unlink (@T) unless $keepflag ; ++ ++sub setcolor { ++ my ($colorst) = @_ ; ++ local ($cp, $pop, $color, @CP, $line) ; ++ if (-r $colorst) { ++ open (C1, $colorst) || die "can't open $colorst\n" ; ++ foreach $line () { ++ chomp $line ; ++ ($pop, $color) = split " ", $line ; ++ next if ($pop =~ /\#/) ; ++ next unless (defined $color) ; ++ print STDERR "setting color for $pop to $color\n" ; ++ $COL{$pop} = $color ; ++ } ++ close C1 ; ++ return ; ++ } ++ ++ @CP = split " ", $colorst ; ++ foreach $cp (@CP) { ++ ($pop, $color) = split ":", $cp ; ++ $COL{$pop} = $color ; ++ } ++} ++ ++sub usage { ++ ++print "ploteig -i eigfile -p pops -c a:b [-t title] [-s stem] [-o outfile] [-x] [-k] -c colorstringh [-m xmul] [-n ymul]\n" ; ++print "-i eigfile input file first col indiv-id last col population\n" ; ++print "## as output by smartpca in outputvecs \n" ; ++print "-c a:b a, b columns to plot. 1:2 would be common and leading 2 eigenvectors\n" ; ++print "-p pops Populations to plot. : delimited. eg -p Bantu:San:French\n" ; ++print "## pops can also be a filename. List populations 1 per line\n" ; ++print "[-s stem] stem will start various output files\n" ; ++print "[-o ofile] ofile will be gnuplot control file. Should have xtxt suffix\n"; ++print "[-x] make ps and pdf files\n" ; ++print "[-k] keep various intermediate files although -x set\n" ; ++print "## necessary if .xtxt file is to be hand edited\n" ; ++print "[-r colorstringpairs or colorstringfile]\n" ; ++print "[-g gstem] make gstem.xtxt gstem.ps gstem.pdf \n" ; ++print "[-y] put key at top right inside box (old mode)\n" ; ++print "[-t] title (legend)\n" ; ++ ++print "The xtxt file is a gnuplot file and can be easily hand edited. Intermediate files ++needed if you want to make your own plot\n" ; ++ ++} ++sub setpops { ++ my ($pops) = @_ ; ++ local (@a, $d, $b, $e) ; ++ ++ if (-e $pops) { ++ open (FF1, $pops) || die "can't open $pops\n" ; ++ @P = () ; ++ foreach $line () { ++ ($a) = split " ", $line ; ++ next unless (defined $a) ; ++ next if ($a =~ /\#/) ; ++ push @P, $a ; ++ } ++ $out = join ":", @P ; ++ print "## pops: $out\n" ; ++ ($b, $d , $e) = fileparse($pops) ; ++ return $b ; ++ } ++ @P = split $zsep, $pops ; ++ return $pops ; ++ ++} diff --git a/easybuild/easyconfigs/e/ELFIO/ELFIO-3.9.eb b/easybuild/easyconfigs/e/ELFIO/ELFIO-3.9.eb new file mode 100644 index 00000000000..3ef4dac2842 --- /dev/null +++ b/easybuild/easyconfigs/e/ELFIO/ELFIO-3.9.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ELFIO' +version = '3.9' + +homepage = 'http://elfio.sourceforge.net' +description = """ELFIO is a header-only C++ library intended + for reading and generating files in the ELF binary format.""" + +toolchain = SYSTEM + +github_account = 'serge1' +source_urls = [GITHUB_SOURCE] +sources = ['Release_%(version)s.tar.gz'] +checksums = ['bf93538afe916b333aef1d03e44c9b80dace61f4d097e581ae332cd2d4fa178e'] + +builddependencies = [('CMake', '3.18.4')] + +sanity_check_paths = { + 'files': ["include/%(namelower)s/%(namelower)s.hpp"], + 'dirs': ['share', 'include/%(namelower)s'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb index 628ef31ea84..cdb9474496c 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-foss-2018a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb index 67678268396..95da3909964 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-gimkl-2017a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'gimkl', 'version': '2017a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb index b6e5f63c308..cc5de66ed86 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2015.02.002-intel-2018a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2015.02.002' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018a'} diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb index 6168179ce80..ff851c4baf4 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2016b.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2016.05.004' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2016b'} @@ -20,6 +20,7 @@ toolchainopts = {'usempi': True} source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] +checksums = [None] builddependencies = [('Autotools', '20150215')] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb index 2ad603f3491..2bf1ad3f502 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2016.05.004-intel-2017a.eb @@ -12,7 +12,7 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2016.05.004' -homepage = 'http://elpa.rzg.mpg.de' +homepage = 'http://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2017a'} @@ -20,10 +20,10 @@ toolchainopts = {'usempi': True} source_urls = ['http://elpa.mpcdf.mpg.de/html/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] - patches = [ '%(name)s-%(version)s_install-libelpatest.patch', ] +checksums = [None, '0bf573f56e0ed9cafeb37c71c68969e40ef21f5293031c10916c0c6cc0b3c2e0'] builddependencies = [ ('Autotools', '20150215'), diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb index 47f41ad74c7..e135259e5f1 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-foss-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb index ee335129fa6..4c19eb0f0ad 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018a.eb @@ -12,13 +12,13 @@ easyblock = 'ConfigureMake' name = 'ELPA' version = '2017.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018a'} toolchainopts = {'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb index e17aecf1a26..c46a082d2fc 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2017.11.001-intel-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['59f99c3abe2190fac0db8a301d0b9581ee134f438669dbc92551a54f6f861820'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb index 9dc2f667053..3b520029727 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-foss-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['a76c3402eb9d1c19b183aedabde8c20f4cfa4692e73e529384207926aec04985'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb index 845d6ea97df..525a6774f96 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.05.001-intel-2018b.eb @@ -16,7 +16,7 @@ description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2018b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['a76c3402eb9d1c19b183aedabde8c20f4cfa4692e73e529384207926aec04985'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb index 423a053421b..dd6d92196d7 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2018.11.001-intel-2019a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2018.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['cc27fe8ba46ce6e6faa8aea02c8c9983052f8e73a00cfea38abf7613cb1e1b16'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb index 8e5a91433d9..43bfe0c9eae 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb index 3870f4f73e2..93429867da4 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-foss-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb index a473de68f4f..03847e7dfb0 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb index e5d77b8a343..9a20079e79c 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-intel-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb index 841fe6563af..2837953da54 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2019.11.001-iomkl-2019b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2019.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'iomkl', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['10374a8f042e23c7e1094230f7e2993b6f3580908a213dbdf089792d05aff357'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb index d7a0138e2a7..c1731fb6926 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.05.001-intel-2020a.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['66ff1cf332ce1c82075dc7b5587ae72511d2bcb3a45322c94af6b01996439ce5'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb index 312d380e03f..73968dfba38 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-foss-2020b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['15591f142eeaa98ab3201d27ca9ac328e21beabf0803b011a04183fcaf6efdde'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb index 209492c7de6..36d6628f6c9 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2020.11.001-intel-2020b.eb @@ -9,13 +9,13 @@ name = 'ELPA' version = '2020.11.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True} -source_urls = ['https://elpa.rzg.mpg.de/software/tarball-archive/Releases/%(version)s/'] +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['15591f142eeaa98ab3201d27ca9ac328e21beabf0803b011a04183fcaf6efdde'] diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb index 7d5757ab807..9cf93ca54a4 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'foss', 'version': '2021a'} @@ -17,12 +17,18 @@ 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'] -checksums = ['aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146'] +patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146', # elpa-new_release_2021.05.001.tar.gz + # ELPA-2021.05.001_fix_hardcoded_perl_path.patch + 'af3f8cd063100d403cb2fe53cfc85eb2d5a2ef3348a3e6d5cf2d3680ebb4ec02', +] builddependencies = [ ('Autotools', '20210128'), # remove_xcompiler script requires 'python' command, ('Python', '3.9.5'), + ('Perl', '5.32.1'), ] preconfigopts = './autogen.sh && ' diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb new file mode 100644 index 00000000000..85dab2c86d8 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-foss-2021b.eb @@ -0,0 +1,41 @@ +## +# 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 = '2021.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications .""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146', # elpa-new_release_2021.05.002.tar.gz + # ELPA-2021.05.001_fix_hardcoded_perl_path.patch + 'af3f8cd063100d403cb2fe53cfc85eb2d5a2ef3348a3e6d5cf2d3680ebb4ec02', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +preconfigopts = './autogen.sh && ' + +# 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-2021.05.001-intel-2021a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb index fcca817c0ea..1a48c031c3f 100644 --- a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021a.eb @@ -9,7 +9,7 @@ name = 'ELPA' version = '2021.05.001' -homepage = 'https://elpa.rzg.mpg.de' +homepage = 'https://elpa.mpcdf.mpg.de' description = """Eigenvalue SoLvers for Petaflop-Applications .""" toolchain = {'name': 'intel', 'version': '2021a'} @@ -17,14 +17,29 @@ 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'] -checksums = ['aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146'] +patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146', # elpa-new_release_2021.05.001.tar.gz + # ELPA-2021.05.001_fix_hardcoded_perl_path.patch + 'af3f8cd063100d403cb2fe53cfc85eb2d5a2ef3348a3e6d5cf2d3680ebb4ec02', +] builddependencies = [ ('Autotools', '20210128'), # remove_xcompiler script requires 'python' command, ('Python', '3.9.5'), + ('Perl', '5.32.1'), ] preconfigopts = './autogen.sh && ' +# 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/ELPA/ELPA-2021.05.001-intel-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb new file mode 100644 index 00000000000..e80bf97bb4f --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001-intel-2021b.eb @@ -0,0 +1,45 @@ +## +# 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 = '2021.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications .""" + +toolchain = {'name': 'intel', 'version': '2021b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'aea66a18e87574c7c292e852e45943e16f8bc3839f456635d1d610957840d146', # elpa-new_release_2021.05.001.tar.gz + # ELPA-2021.05.001_fix_hardcoded_perl_path.patch + 'af3f8cd063100d403cb2fe53cfc85eb2d5a2ef3348a3e6d5cf2d3680ebb4ec02', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +preconfigopts = './autogen.sh && ' +# 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/ELPA/ELPA-2021.05.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..bab15ed19e8 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,49 @@ +Fix hardcoded paths to perl. +We depend on EasyBuild Perl. + +Åke Sandgren, 20210824 +diff -ru elpa-new_release_2021.05.001.orig/fdep/fortran_dependencies.pl elpa-new_release_2021.05.001/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.001.orig/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.001/fdep/fortran_dependencies.pl 2021-08-24 18:15:00.133701035 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +diff -ru elpa-new_release_2021.05.001.orig/test_project_1stage/fdep/fortran_dependencies.pl elpa-new_release_2021.05.001/test_project_1stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.001.orig/test_project_1stage/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.001/test_project_1stage/fdep/fortran_dependencies.pl 2021-08-24 18:15:33.421492236 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -ru elpa-new_release_2021.05.001.orig/test_project_2stage/fdep/fortran_dependencies.pl elpa-new_release_2021.05.001/test_project_2stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.001.orig/test_project_2stage/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.001/test_project_2stage/fdep/fortran_dependencies.pl 2021-08-24 18:15:36.101475423 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -ru elpa-new_release_2021.05.001.orig/test_project_C/fdep/fortran_dependencies.pl elpa-new_release_2021.05.001/test_project_C/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.001.orig/test_project_C/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.001/test_project_C/fdep/fortran_dependencies.pl 2021-08-24 18:15:38.653459416 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -ru elpa-new_release_2021.05.001.orig/test_project_C_2stage/fdep/fortran_dependencies.pl elpa-new_release_2021.05.001/test_project_C_2stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.001.orig/test_project_C_2stage/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.001/test_project_C_2stage/fdep/fortran_dependencies.pl 2021-08-24 18:15:41.533441354 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb new file mode 100644 index 00000000000..03bbb928446 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002-intel-2020b.eb @@ -0,0 +1,39 @@ +## +# 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 = '2021.05.002' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications .""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/%(version)s_bugfix/'] +sources = ['elpa-%(version)s_bugfix.tar.gz'] +patches = ['%(name)s-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-2021.05.002_bugfix.tar.gz': 'deabc48de5b9e4b2f073d749d335c8f354a7ce4245b643a23b7951cd6c90224b'}, + {'ELPA-2021.05.002_fix_hardcoded_perl_path.patch': + '69d2a7dcb61a7a699dd469a134a693e74c72b157dc72b3eba7a5dc12eb29893d'}, +] + +builddependencies = [ + ('Autotools', '20200321'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.8.6'), + ('Perl', '5.32.0'), +] + +# 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-2021.05.002_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..da534f423e9 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.05.002_fix_hardcoded_perl_path.patch @@ -0,0 +1,39 @@ +Fix hardcoded paths to perl. +We depend on EasyBuild Perl. + +Åke Sandgren, 20210824 +diff -ru elpa-new_release_2021.05.002_bugfix.orig/fdep/fortran_dependencies.pl elpa-new_release_2021.05.002_bugfix/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.002_bugfix.orig/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.002_bugfix/fdep/fortran_dependencies.pl 2021-08-24 18:15:00.133701035 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +diff -ru elpa-new_release_2021.05.002_bugfix.orig/test_project_1stage/fdep/fortran_dependencies.pl elpa-new_release_2021.05.002_bugfix/test_project_1stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.002_bugfix.orig/test_project_1stage/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.002_bugfix/test_project_1stage/fdep/fortran_dependencies.pl 2021-08-24 18:15:33.421492236 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -ru elpa-new_release_2021.05.002_bugfix.orig/test_project_2stage/fdep/fortran_dependencies.pl elpa-new_release_2021.05.002_bugfix/test_project_2stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.002_bugfix.orig/test_project_2stage/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.002_bugfix/test_project_2stage/fdep/fortran_dependencies.pl 2021-08-24 18:15:36.101475423 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -ru elpa-new_release_2021.05.002_bugfix.orig/test_project_C/fdep/fortran_dependencies.pl elpa-new_release_2021.05.002_bugfix/test_project_C/fdep/fortran_dependencies.pl +--- elpa-new_release_2021.05.002_bugfix.orig/test_project_C/fdep/fortran_dependencies.pl 2021-06-07 11:35:08.000000000 +0200 ++++ elpa-new_release_2021.05.002_bugfix/test_project_C/fdep/fortran_dependencies.pl 2021-08-24 18:15:38.653459416 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb new file mode 100644 index 00000000000..1808c948f1b --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2021b.eb @@ -0,0 +1,43 @@ +## +# 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 = '2021.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.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-2021.11.001-foss-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb new file mode 100644 index 00000000000..2b914ff90d9 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-foss-2022a.eb @@ -0,0 +1,43 @@ +## +# 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 = '2021.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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-2021.11.001-intel-2021b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb new file mode 100644 index 00000000000..70fed7a024f --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2021b.eb @@ -0,0 +1,47 @@ +## +# 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 = '2021.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20210726'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.9.6'), + ('Perl', '5.34.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/ELPA/ELPA-2021.11.001-intel-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb new file mode 100644 index 00000000000..6aff08c337c --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022a.eb @@ -0,0 +1,47 @@ +## +# 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 = '2021.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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/ELPA/ELPA-2021.11.001-intel-2022b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022b.eb new file mode 100644 index 00000000000..62853f74ffb --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001-intel-2022b.eb @@ -0,0 +1,47 @@ +## +# 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 = '2021.11.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + 'e61048393a5e5f460858a11b216547fa3f434dd620c478cb20a52ebf543260f1', # elpa-new_release_2021.11.001.tar.gz + # ELPA-2021.11.001_fix_hardcoded_perl_path.patch + '5fc40b6f3f948fd026efc688f9bafba0461d68ad007d9dc161bfd1507e2fc13b', +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.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/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..5c7ae5eae05 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2021.11.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,40 @@ +--- elpa-new_release_2021.11.001/test_project_1stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_1stage/fdep/fortran_dependencies.pl 2022-01-25 17:07:21.169362000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/fdep/fortran_dependencies.pl 2022-01-25 17:08:17.272544000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +--- elpa-new_release_2021.11.001/test_project_C_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:06:20.088471000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:05:10.675886000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_C/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C/fdep/fortran_dependencies.pl 2022-01-25 17:04:14.834326000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..fe138398a7a --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,48 @@ +## +# 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 = '2022.05.001' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM) +] + +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-2022.05.001-foss-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a.eb new file mode 100644 index 00000000000..09d5330ca5b --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022a.eb @@ -0,0 +1,43 @@ +## +# 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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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-2022.05.001-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..0bf44c8db66 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,48 @@ +## +# 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 = '2022.05.001' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM) +] + +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-2022.05.001-foss-2022b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b.eb new file mode 100644 index 00000000000..c9bf9efef08 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-foss-2022b.eb @@ -0,0 +1,43 @@ +## +# 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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.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-2022.05.001-intel-2022a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022a.eb new file mode 100644 index 00000000000..2da3666b859 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022a.eb @@ -0,0 +1,47 @@ +## +# 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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +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/ELPA/ELPA-2022.05.001-intel-2022b.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022b.eb new file mode 100644 index 00000000000..473b2dce033 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001-intel-2022b.eb @@ -0,0 +1,47 @@ +## +# 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 = '2022.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +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-%(version)s_fix_hardcoded_perl_path.patch'] +checksums = [ + {'elpa-new_release_2022.05.001.tar.gz': '96ff14abe53cc3652ba290a0e309d238147fbbfe054d783efee9890f5f23802d'}, + {'ELPA-2022.05.001_fix_hardcoded_perl_path.patch': + '1666a133393b3947a80069ae170a51f4d574956f384c01b7018e4b551726a3a2'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.10.8'), + ('Perl', '5.36.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/ELPA/ELPA-2022.05.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..3bc5bbcd3c3 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2022.05.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,43 @@ +# Perl scripts in elpa hard-code the location of the perl interpreter +# We replace these so that it picks up on the perl interpreter from the PATH +# (i.e. the one provided as a build dependency by EasyBuild) +--- elpa-new_release_2021.11.001/test_project_1stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_1stage/fdep/fortran_dependencies.pl 2022-01-25 17:07:21.169362000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/fdep/fortran_dependencies.pl 2022-01-25 17:08:17.272544000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +--- elpa-new_release_2021.11.001/test_project_C_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:06:20.088471000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_2stage/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_2stage/fdep/fortran_dependencies.pl 2022-01-25 17:05:10.675886000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +--- elpa-new_release_2021.11.001/test_project_C/fdep/fortran_dependencies.pl 2021-12-17 08:20:49.000000000 +0100 ++++ elpa-new_release_2021.11.001_ok/test_project_C/fdep/fortran_dependencies.pl 2022-01-25 17:04:14.834326000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001-foss-2023a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001-foss-2023a.eb new file mode 100644 index 00000000000..6561f1917bb --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001-foss-2023a.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.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +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-%(version)s_fix_hardcoded_perl_path.patch', + '%(name)s-%(version)s_fix_AVX512_support.patch', +] +checksums = [ + {'%(namelower)s-new_release_%(version)s.tar.gz': + '7e07ca287ab07c0a73d97df71d5a5431c847b8e4d5c759aae99e12672e6decf3'}, + {'%(name)s-%(version)s_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'%(name)s-%(version)s_fix_AVX512_support.patch': + 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.11.3'), + ('Perl', '5.36.1'), +] + +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.05.001-intel-2023a.eb b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001-intel-2023a.eb new file mode 100644 index 00000000000..ec3779ae7ee --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001-intel-2023a.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.05.001' + +homepage = 'https://elpa.mpcdf.mpg.de/' +description = """Eigenvalue SoLvers for Petaflop-Applications.""" + +toolchain = {'name': 'intel', 'version': '2023a'} +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-%(version)s_fix_hardcoded_perl_path.patch', + '%(name)s-%(version)s_fix_AVX512_support.patch', +] +checksums = [ + {'%(namelower)s-new_release_%(version)s.tar.gz': + '7e07ca287ab07c0a73d97df71d5a5431c847b8e4d5c759aae99e12672e6decf3'}, + {'%(name)s-%(version)s_fix_hardcoded_perl_path.patch': + '0548105065777a2ed07dde306636251c4f96e555a801647564de37d1ddd7b0b5'}, + {'%(name)s-%(version)s_fix_AVX512_support.patch': + 'ecf08b64fe1da432a218040fa45d4ecfbb3269d58cb018b12da5a2d854bf96be'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + # remove_xcompiler script requires 'python' command, + ('Python', '3.11.3'), + ('Perl', '5.36.1'), +] + +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/ELPA/ELPA-2023.05.001_fix_AVX512_support.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001_fix_AVX512_support.patch new file mode 100644 index 00000000000..3a1365ced15 --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001_fix_AVX512_support.patch @@ -0,0 +1,119 @@ +# What: +# Fixes support for AVX512 on AMD CPUs. +# Error Msg.: +# "error: cannot convert a value of type 'int' to vector type '__vector(8) double' which has different size". +# Description: +# According to 'configure.ac' one of the 'HAVE_AVX512_XEON' or 'HAVE_AVX512_XEON_PHI' macro should automatically +# be defined if CPU has an AVX512 support. This works on Intel CPUs, however, on AMD CPUs the configure script +# ill-defines `HAVE_AVX512_XEON_PHI` and leaves `HAVE_AVX512_XEON` undefined. This leads to execution of the +# code path guarded by the `#ifdef HAVE_AVX512_XEON_PHI` directive, which calls for an undefined macro `_XOR_EPI`. +# I'm sure that the same error will also appear on Xeon-Phi, so this patch actually fixes a fundamental issue +# in the code. +# Upstream issue: +# https://github.com/marekandreas/elpa/issues/39 +# Author: maxim-masterov (SURF) +diff -Nru elpa-new_release_2023.05.001.orig/src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c elpa-new_release_2023.05.001/src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c +--- elpa-new_release_2023.05.001.orig/src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c 2023-08-01 16:22:09.499243000 +0200 ++++ elpa-new_release_2023.05.001/src/elpa2/kernels/complex_128bit_256bit_512bit_BLOCK_template.c 2023-08-07 12:38:56.128823725 +0200 +@@ -2571,12 +2571,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON +@@ -4306,12 +4306,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON +@@ -5847,12 +5847,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON +@@ -7218,12 +7218,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON +@@ -8408,12 +8408,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON +@@ -9423,12 +9423,12 @@ + #if VEC_SET == AVX_512 + #ifdef HAVE_AVX512_XEON_PHI + #ifdef DOUBLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #ifdef SINGLE_PRECISION_COMPLEX +- h1_real = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_real, (__m512i) sign); +- h1_imag = (__SIMD_DATATYPE) _XOR_EPI((__m512i) h1_imag, (__m512i) sign); ++ h1_real = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_real, (__m512i) sign); ++ h1_imag = (__SIMD_DATATYPE) _SIMD_XOR_EPI((__m512i) h1_imag, (__m512i) sign); + #endif + #endif + #ifdef HAVE_AVX512_XEON diff --git a/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001_fix_hardcoded_perl_path.patch b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001_fix_hardcoded_perl_path.patch new file mode 100644 index 00000000000..52bfbaee2dd --- /dev/null +++ b/easybuild/easyconfigs/e/ELPA/ELPA-2023.05.001_fix_hardcoded_perl_path.patch @@ -0,0 +1,48 @@ +# Perl scripts in elpa hard-code the location of the perl interpreter +# We replace these so that it picks up on the perl interpreter from the PATH +# (i.e. the one provided as a build dependency by EasyBuild) +diff -Nru elpa-new_release_2023.05.001.orig/fdep/fortran_dependencies.pl elpa-new_release_2023.05.001/fdep/fortran_dependencies.pl +--- elpa-new_release_2023.05.001.orig/fdep/fortran_dependencies.pl 2023-08-01 16:22:09.427685572 +0200 ++++ elpa-new_release_2023.05.001/fdep/fortran_dependencies.pl 2023-08-01 16:23:42.049660819 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + # + # Copyright 2015 Lorenz Hüdepohl + # +diff -Nru elpa-new_release_2023.05.001.orig/test_project_1stage/fdep/fortran_dependencies.pl elpa-new_release_2023.05.001/test_project_1stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2023.05.001.orig/test_project_1stage/fdep/fortran_dependencies.pl 2023-08-01 16:22:09.608936771 +0200 ++++ elpa-new_release_2023.05.001/test_project_1stage/fdep/fortran_dependencies.pl 2023-08-01 16:22:59.982851660 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -Nru elpa-new_release_2023.05.001.orig/test_project_2stage/fdep/fortran_dependencies.pl elpa-new_release_2023.05.001/test_project_2stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2023.05.001.orig/test_project_2stage/fdep/fortran_dependencies.pl 2023-08-01 16:22:09.612651547 +0200 ++++ elpa-new_release_2023.05.001/test_project_2stage/fdep/fortran_dependencies.pl 2023-08-01 16:23:09.349419243 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -Nru elpa-new_release_2023.05.001.orig/test_project_C/fdep/fortran_dependencies.pl elpa-new_release_2023.05.001/test_project_C/fdep/fortran_dependencies.pl +--- elpa-new_release_2023.05.001.orig/test_project_C/fdep/fortran_dependencies.pl 2023-08-01 16:22:09.616368307 +0200 ++++ elpa-new_release_2023.05.001/test_project_C/fdep/fortran_dependencies.pl 2023-08-01 16:23:21.194405678 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + +diff -Nru elpa-new_release_2023.05.001.orig/test_project_C_2stage/fdep/fortran_dependencies.pl elpa-new_release_2023.05.001/test_project_C_2stage/fdep/fortran_dependencies.pl +--- elpa-new_release_2023.05.001.orig/test_project_C_2stage/fdep/fortran_dependencies.pl 2023-08-01 16:22:09.621271936 +0200 ++++ elpa-new_release_2023.05.001/test_project_C_2stage/fdep/fortran_dependencies.pl 2023-08-01 16:23:29.288786729 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w ++#!/usr/bin/env perl + + use strict; + 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/ELSI-RCI/ELSI-RCI-0.1.0-GCC-10.3.0.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..7cfd4db094e --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..69dcafbd651 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-cmake.patch b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-cmake.patch new file mode 100644 index 00000000000..7c836666dfa --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-cmake.patch @@ -0,0 +1,15 @@ +Patch to install the Fortran modules and the pkgconfig file. +author: Alin M. Elena (STFC UKRI) +--- CMakeLists.txt.orig 2020-02-24 16:34:41.401661825 +0000 ++++ CMakeLists.txt 2020-02-24 18:55:41.086406296 +0000 +@@ -52,3 +52,10 @@ ENDIF() + CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/.elsi_rci.pc.in + ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/pkgconfig/elsi_rci.pc + @ONLY) ++install( ++ FILES ${PROJECT_BINARY_DIR}/lib/pkgconfig/elsi_rci.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig ++ COMPONENT pkgconfig) ++ ++install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include/ ++ FILES_MATCHING PATTERN "*.mod") diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-foss-2020b.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-foss-2020b.eb new file mode 100644 index 00000000000..24ee50dfb95 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-foss-2020b.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': False, 'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), +] + + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-2020b.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-2020b.eb new file mode 100644 index 00000000000..8e5e7166b30 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': False, 'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..7f403973ffd --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..829899b7d3f --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI-RCI/ELSI-RCI-0.1.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'ELSI-RCI' +version = '0.1.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI-RCI provides and enhances open-source software packages +which iteratively solve or circumvent eigenvalue problems in self-consistent +field calculations based on the Kohn-Sham density-functional theory. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.com/elsi_project/elsi_rci/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['ELSI-RCI-0.1.0-cmake.patch'] +checksums = [ + 'a737673c1009b919be0daf86e86d1f4387a26711a10bda88a5f3f6c0b944c580', # elsi-rci-0.1.0.tar.gz + 'd8205d8f67775aa6cfc75813566a64b2a4b01c9b856268e457ef153b7988de82', # ELSI-RCI-0.1.0-cmake.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +# Compilation of tests seem to be broken, so disable it +configopts = [ + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_TESTS=OFF -DBUILD_SHARED_LIBS=ON" +] + +runtest = False + +sanity_check_paths = { + 'files': ['include/elsi_rci.mod', 'lib/libelsi_rci.a', 'lib/libelsi_rci.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI.eb new file mode 100644 index 00000000000..a1be84f6de9 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0-foss-2023a-PEXSI.eb @@ -0,0 +1,47 @@ +name = 'ELSI' +version = '2.11.0' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'} + +source_urls = ['https://gitlab.com/elsi_project/elsi_interface/-/archive/v2.11.0/'] +sources = ['elsi_interface-v%(version)s.tar.gz'] +patches = [ + 'ELSI-2.11.0_bison_3.8_compat.patch', +] +checksums = [ + {'elsi_interface-v2.11.0.tar.gz': '2e6929827ed9c99a32381ed9da40482e862c28608d59d4f27db7dcbcaed1520d'}, + {'ELSI-2.11.0_bison_3.8_compat.patch': 'a1284f5c0f442129610aa0fb463cc2b54450e3511a2fd6c871fadc21a16e9504'}, +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('ELPA', '2023.05.001'), + ('NTPoly', '3.1.0'), +] + +abs_path_compilers = True +build_internal_pexsi = True + +configopts = '-DENABLE_BSEPACK=ON ' + +# Tests use 4 MPI ranks, they require a minimum of 4 cores +# Map each MPI process to a single CPU core to avoid tests fails +pretestopts = "export OMPI_MCA_rmaps_base_mapping_policy=slot:PE=1 && " + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0_bison_3.8_compat.patch b/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0_bison_3.8_compat.patch new file mode 100644 index 00000000000..255ed4a5575 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.11.0_bison_3.8_compat.patch @@ -0,0 +1,14 @@ +Make it compatible with Bison 3.7 +Author: Åke Sandgren, 20211020 +Update: Cintia Willemyns (Vrije Universiteit Brussel) +--- elsi_interface-v2.11.0.orig/external/SCOTCH/CMakeLists.txt 2024-09-10 19:01:11.447551000 +0200 ++++ elsi_interface-v2.11.0/external/SCOTCH/CMakeLists.txt 2024-09-10 19:08:44.913993743 +0200 +@@ -56,7 +56,7 @@ + COMMAND mv ${PROJECT_BINARY_DIR}/generated/tmp2.c ${PROJECT_BINARY_DIR}/generated/parser_yy.c + # Versions of bison > 2.X insert a '#include tmp2.h' in tmp2.c. A simple 'mv' will not work. + # The file needs to remain in the directory with the old name. Hence the 'cp' +- COMMAND cp ${PROJECT_BINARY_DIR}/generated/tmp2.h ${PROJECT_BINARY_DIR}/generated/parser_ly.h ++ COMMAND ln -s ${PROJECT_BINARY_DIR}/generated/tmp2.h ${PROJECT_BINARY_DIR}/generated/parser_ly.h + COMMAND flex -Pscotchyy -o${PROJECT_BINARY_DIR}/generated/tmp1.c ${SCOTCH_DIR}/parser_ll.l + COMMAND mv ${PROJECT_BINARY_DIR}/generated/tmp1.c ${PROJECT_BINARY_DIR}/generated/parser_ll.c + DEPENDS ${SCOTCH_DIR}/parser_yy.y ${SCOTCH_DIR}/parser_ll.l ${SCOTCH_DIR}/parser_yy.h ${SCOTCH_DIR}/parser_ll.h diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b-PEXSI.eb new file mode 100644 index 00000000000..347ad480808 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b-PEXSI.eb @@ -0,0 +1,39 @@ +name = 'ELSI' +version = '2.5.0' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/02/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-compiler-detection.patch'] +checksums = [ + 'f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f', + '4ffb0bb91fa385ffc4884fe0bb3a8b6ef69107aef9e6f0e8c4f5f19eaf7c0fb5', +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.3.2'), + ('CMake', '3.15.3'), +] + +dependencies = [ + ('ELPA', '2019.11.001'), + # SLEPc and internal PEXSI can't coexist due to conflicting dependencies + # ('SLEPc', '3.12.2', '-Python-3.7.4'), +] + +build_internal_pexsi = True + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b.eb new file mode 100644 index 00000000000..00a54e827fd --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-foss-2019b.eb @@ -0,0 +1,38 @@ +name = 'ELSI' +version = '2.5.0' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/02/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-compiler-detection.patch'] +checksums = [ + 'f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f', + '4ffb0bb91fa385ffc4884fe0bb3a8b6ef69107aef9e6f0e8c4f5f19eaf7c0fb5', +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.3.2'), + ('CMake', '3.15.3'), +] + +dependencies = [ + ('ELPA', '2019.11.001'), + ('SLEPc', '3.12.2', '-Python-3.7.4'), +] + +# SLEPc and internal PEXSI can't coexist due to conflicting dependencies +build_internal_pexsi = False + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b-PEXSI.eb index 7a3d6a93e71..84704deb0c4 100644 --- a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b-PEXSI.eb +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b-PEXSI.eb @@ -14,7 +14,11 @@ toolchainopts = {'usempi': True, 'pic': True} source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/02/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f'] +patches = ['%(name)s-%(version)s_fix-compiler-detection.patch'] +checksums = [ + 'f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f', + '4ffb0bb91fa385ffc4884fe0bb3a8b6ef69107aef9e6f0e8c4f5f19eaf7c0fb5', +] builddependencies = [ ('flex', '2.6.4'), diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b.eb index ca508d490f8..4ba1e4b7a8a 100644 --- a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b.eb +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0-intel-2019b.eb @@ -13,7 +13,11 @@ toolchainopts = {'usempi': True, 'pic': True} source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/02/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f'] +patches = ['%(name)s-%(version)s_fix-compiler-detection.patch'] +checksums = [ + 'f4d77c4291341c9708ab8070dc4ec683577b3556e7d9f214370d626dc6a4753f', + '4ffb0bb91fa385ffc4884fe0bb3a8b6ef69107aef9e6f0e8c4f5f19eaf7c0fb5', +] builddependencies = [ ('flex', '2.6.4'), diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0_fix-compiler-detection.patch b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0_fix-compiler-detection.patch new file mode 100644 index 00000000000..c61708a48f9 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.5.0_fix-compiler-detection.patch @@ -0,0 +1,40 @@ +Let CMake search for the compilers and only fail if they are not found. +See https://gitlab.com/elsi_project/elsi_interface/-/merge_requests/304 + +Author: Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8d22e53..f1570a8e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -67,14 +67,18 @@ SET(INC_PATHS "" CACHE STRING "List of include directories") + SET(LIBS "" CACHE STRING "List of external libraries to be linked against") + + ### Compilers ### +-IF(NOT DEFINED CMAKE_Fortran_COMPILER) ++INCLUDE(CheckLanguage) ++ ++CHECK_LANGUAGE(Fortran) ++IF(NOT CMAKE_Fortran_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}Fortran compiler must be set${COLORRESET}") + ELSE() + MESSAGE(STATUS "${GREEN}Fortran compiler${COLORRESET}: ${CMAKE_Fortran_COMPILER}") + ENABLE_LANGUAGE(Fortran) + ENDIF() + IF(ENABLE_PEXSI OR ENABLE_C_TESTS OR ELPA2_KERNEL STREQUAL "AVX512" OR ELPA2_KERNEL STREQUAL "AVX2" OR ELPA2_KERNEL STREQUAL "AVX") +- IF(NOT DEFINED CMAKE_C_COMPILER) ++ CHECK_LANGUAGE(C) ++ IF(NOT CMAKE_C_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}C compiler must be set${COLORRESET}") + ELSE() + MESSAGE(STATUS "${GREEN}C compiler${COLORRESET}: ${CMAKE_C_COMPILER}") +@@ -82,7 +86,8 @@ IF(ENABLE_PEXSI OR ENABLE_C_TESTS OR ELPA2_KERNEL STREQUAL "AVX512" OR ELPA2_KER + ENDIF() + ENDIF() + IF(ENABLE_PEXSI) +- IF(NOT DEFINED CMAKE_CXX_COMPILER) ++ CHECK_LANGUAGE(CXX) ++ IF(NOT CMAKE_CXX_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}C++ compiler must be set${COLORRESET}") + ELSE() + MESSAGE(STATUS "${GREEN}C++ compiler${COLORRESET}: ${CMAKE_CXX_COMPILER}") diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-foss-2020b-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-foss-2020b-PEXSI.eb new file mode 100644 index 00000000000..68020a6e291 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-foss-2020b-PEXSI.eb @@ -0,0 +1,46 @@ +name = 'ELSI' +version = '2.6.4' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11'} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/11/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'pexsi-1.2.0-mpi30.patch', + '%(name)s-%(version)s_fix-compiler-detection.patch', + 'ELSI-2.7.1_bison_3.7_compat.patch', +] +checksums = [ + 'e43fc12b4954ecd70813fcb45aaef39779f7d9bb5270bbc7246e88d92c8b1dc4', # elsi-2.6.4.tar.gz + 'd5580de710cee652c27622f167a10933f792546481d9c08d62f452885cb63abb', # pexsi-1.2.0-mpi30.patch + '43b7112e4b0e9e3da2d353947bf3a0b3d1773463d8af831ef335a0e073e95a37', # ELSI-2.6.4_fix-compiler-detection.patch + '986f95c2eb22c8a8bef13357a10242dcf0a0fac562c88bdc9bdf46cc6e7a1edb', # ELSI-2.7.1_bison_3.7_compat.patch +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('ELPA', '2020.11.001'), + ('NTPoly', '2.5.1'), +] + +build_internal_pexsi = True + +configopts = '-DENABLE_BSEPACK=ON -DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch $FFLAGS" ' + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-intel-2020b-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-intel-2020b-PEXSI.eb new file mode 100644 index 00000000000..ff84be63e3a --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4-intel-2020b-PEXSI.eb @@ -0,0 +1,46 @@ +name = 'ELSI' +version = '2.6.4' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2020/11/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'pexsi-1.2.0-mpi30.patch', + '%(name)s-%(version)s_fix-compiler-detection.patch', + 'ELSI-2.7.1_bison_3.7_compat.patch', +] +checksums = [ + 'e43fc12b4954ecd70813fcb45aaef39779f7d9bb5270bbc7246e88d92c8b1dc4', # elsi-2.6.4.tar.gz + 'd5580de710cee652c27622f167a10933f792546481d9c08d62f452885cb63abb', # pexsi-1.2.0-mpi30.patch + '43b7112e4b0e9e3da2d353947bf3a0b3d1773463d8af831ef335a0e073e95a37', # ELSI-2.6.4_fix-compiler-detection.patch + '986f95c2eb22c8a8bef13357a10242dcf0a0fac562c88bdc9bdf46cc6e7a1edb', # ELSI-2.7.1_bison_3.7_compat.patch +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('ELPA', '2020.11.001'), + ('NTPoly', '2.5.1'), +] + +build_internal_pexsi = True + +configopts = "-DENABLE_BSEPACK=ON" + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4_fix-compiler-detection.patch b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4_fix-compiler-detection.patch new file mode 100644 index 00000000000..5e931749a78 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.6.4_fix-compiler-detection.patch @@ -0,0 +1,36 @@ +Let CMake search for the compilers and only fail if they are not found. +See https://gitlab.com/elsi_project/elsi_interface/-/merge_requests/304 + +Author: Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f016ec7..9aaf8395 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,18 +55,23 @@ SET(INC_PATHS "" CACHE STRING "List of include directories") + SET(LIBS "" CACHE STRING "List of external libraries to be linked against") + + ### Compilers ### +-IF(NOT DEFINED CMAKE_Fortran_COMPILER) ++INCLUDE(CheckLanguage) ++ ++CHECK_LANGUAGE(Fortran) ++IF(NOT CMAKE_Fortran_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}Fortran compiler must be set${COLORRESET}") + ENDIF() + ENABLE_LANGUAGE(Fortran) + +-IF(NOT DEFINED CMAKE_C_COMPILER) ++CHECK_LANGUAGE(C) ++IF(NOT CMAKE_C_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}C compiler must be set${COLORRESET}") + ENDIF() + ENABLE_LANGUAGE(C) + + IF(ENABLE_PEXSI) +- IF(NOT DEFINED CMAKE_CXX_COMPILER) ++ CHECK_LANGUAGE(CXX) ++ IF(NOT CMAKE_CXX_COMPILER) + MESSAGE(FATAL_ERROR "${MAGENTA}C++ compiler must be set${COLORRESET}") + ENDIF() + ENABLE_LANGUAGE(CXX) diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-foss-2021a-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-foss-2021a-PEXSI.eb new file mode 100644 index 00000000000..1995ff511e0 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-foss-2021a-PEXSI.eb @@ -0,0 +1,46 @@ +name = 'ELSI' +version = '2.7.1' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2021/03/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'pexsi-1.2.0-mpi30.patch', + '%(name)s-2.6.4_fix-compiler-detection.patch', + 'ELSI-2.7.1_bison_3.7_compat.patch', +] +checksums = [ + '4a70b6047c39f4e0fd5eca1b2543bfa600acb8305a05ccaaf823ca045f8a4e4d', # elsi-2.7.1.tar.gz + 'd5580de710cee652c27622f167a10933f792546481d9c08d62f452885cb63abb', # pexsi-1.2.0-mpi30.patch + '43b7112e4b0e9e3da2d353947bf3a0b3d1773463d8af831ef335a0e073e95a37', # ELSI-2.6.4_fix-compiler-detection.patch + '986f95c2eb22c8a8bef13357a10242dcf0a0fac562c88bdc9bdf46cc6e7a1edb', # ELSI-2.7.1_bison_3.7_compat.patch +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('ELPA', '2021.05.001'), + ('NTPoly', '2.7.0'), +] + +build_internal_pexsi = True + +configopts = '-DENABLE_BSEPACK=ON ' + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-intel-2021a-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-intel-2021a-PEXSI.eb new file mode 100644 index 00000000000..6e3baf0eb4c --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1-intel-2021a-PEXSI.eb @@ -0,0 +1,46 @@ +name = 'ELSI' +version = '2.7.1' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11'} + +source_urls = ['http://wordpress.elsi-interchange.org/wp-content/uploads/2021/03/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'pexsi-1.2.0-mpi30.patch', + '%(name)s-2.6.4_fix-compiler-detection.patch', + 'ELSI-2.7.1_bison_3.7_compat.patch', +] +checksums = [ + '4a70b6047c39f4e0fd5eca1b2543bfa600acb8305a05ccaaf823ca045f8a4e4d', # elsi-2.7.1.tar.gz + 'd5580de710cee652c27622f167a10933f792546481d9c08d62f452885cb63abb', # pexsi-1.2.0-mpi30.patch + '43b7112e4b0e9e3da2d353947bf3a0b3d1773463d8af831ef335a0e073e95a37', # ELSI-2.6.4_fix-compiler-detection.patch + '986f95c2eb22c8a8bef13357a10242dcf0a0fac562c88bdc9bdf46cc6e7a1edb', # ELSI-2.7.1_bison_3.7_compat.patch +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('ELPA', '2021.05.001'), + ('NTPoly', '2.7.0'), +] + +build_internal_pexsi = True + +configopts = '-DENABLE_BSEPACK=ON ' + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1_bison_3.7_compat.patch b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1_bison_3.7_compat.patch new file mode 100644 index 00000000000..29c67c222de --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.7.1_bison_3.7_compat.patch @@ -0,0 +1,15 @@ +Make it compatible with Bison 3.7 + +Åke Sandgren, 20211020 +diff -ru elsi-2.7.1.orig/external/SCOTCH/CMakeLists.txt elsi-2.7.1/external/SCOTCH/CMakeLists.txt +--- elsi-2.7.1.orig/external/SCOTCH/CMakeLists.txt 2021-03-09 05:00:21.000000000 +0100 ++++ elsi-2.7.1/external/SCOTCH/CMakeLists.txt 2021-10-20 16:19:52.557606300 +0200 +@@ -54,7 +54,7 @@ + ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/generated/parser_ll.c ${PROJECT_BINARY_DIR}/generated/parser_yy.c + COMMAND bison -pscotchyy -y -b y -d -v -o${PROJECT_BINARY_DIR}/generated/tmp2.c ${SCOTCH_DIR}/parser_yy.y + COMMAND mv ${PROJECT_BINARY_DIR}/generated/tmp2.c ${PROJECT_BINARY_DIR}/generated/parser_yy.c +- COMMAND mv ${PROJECT_BINARY_DIR}/generated/tmp2.h ${PROJECT_BINARY_DIR}/generated/parser_ly.h ++ COMMAND ln -s ${PROJECT_BINARY_DIR}/generated/tmp2.h ${PROJECT_BINARY_DIR}/generated/parser_ly.h + COMMAND flex -Pscotchyy -o${PROJECT_BINARY_DIR}/generated/tmp1.c ${SCOTCH_DIR}/parser_ll.l + COMMAND mv ${PROJECT_BINARY_DIR}/generated/tmp1.c ${PROJECT_BINARY_DIR}/generated/parser_ll.c + DEPENDS ${SCOTCH_DIR}/parser_yy.y ${SCOTCH_DIR}/parser_ll.l ${SCOTCH_DIR}/parser_yy.h ${SCOTCH_DIR}/parser_ll.h diff --git a/easybuild/easyconfigs/e/ELSI/ELSI-2.9.1-foss-2022a-PEXSI.eb b/easybuild/easyconfigs/e/ELSI/ELSI-2.9.1-foss-2022a-PEXSI.eb new file mode 100644 index 00000000000..d5ef7e3da14 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/ELSI-2.9.1-foss-2022a-PEXSI.eb @@ -0,0 +1,45 @@ +name = 'ELSI' +version = '2.9.1' +versionsuffix = '-PEXSI' + +homepage = 'https://wordpress.elsi-interchange.org/' +description = """ELSI provides and enhances scalable, open-source software library solutions for + electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. + ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. + The ELSI infrastructure should also be useful for other challenging eigenvalue problems. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True, 'cstd': 'c++11', 'extra_fflags': '-fallow-argument-mismatch'} + +source_urls = ['https://wordpress.elsi-interchange.org/wp-content/uploads/2022/05'] +sources = ['elsi_interface-v%(version)s.tar.gz'] +patches = [ + 'pexsi-1.2.0-mpi30.patch', + 'ELSI-2.7.1_bison_3.7_compat.patch', +] +checksums = [ + {'elsi_interface-v2.9.1.tar.gz': 'ad3dc163159a79f7a83f360265f2446920c151ecce9c294136e630fe424f1d29'}, + {'pexsi-1.2.0-mpi30.patch': 'd5580de710cee652c27622f167a10933f792546481d9c08d62f452885cb63abb'}, + {'ELSI-2.7.1_bison_3.7_compat.patch': '986f95c2eb22c8a8bef13357a10242dcf0a0fac562c88bdc9bdf46cc6e7a1edb'}, +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('ELPA', '2021.11.001'), + ('NTPoly', '2.7.1'), +] + +abs_path_compilers = True +build_internal_pexsi = True + +configopts = '-DENABLE_BSEPACK=ON ' + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/ELSI/pexsi-1.2.0-mpi30.patch b/easybuild/easyconfigs/e/ELSI/pexsi-1.2.0-mpi30.patch new file mode 100644 index 00000000000..d1378648fe3 --- /dev/null +++ b/easybuild/easyconfigs/e/ELSI/pexsi-1.2.0-mpi30.patch @@ -0,0 +1,165 @@ +Patch to fix compilation with MPI 4. +author: Alin M. Elena (STFC UKRI) +--- external/PEXSI/include/pexsi/utility_impl.hpp.orig 2020-12-04 16:27:25.652001387 +0000 ++++ external/PEXSI/include/pexsi/utility_impl.hpp 2020-12-04 16:40:14.523500099 +0000 +@@ -367,12 +367,12 @@ inline void ParaWriteDistSparseMatrix ( + + /* create memory type */ + Int np1 = pspmat.size+1; +- MPI_Address( (void *)&np1, &disps[0]); +- MPI_Address(colptrChunk.Data(), &disps[1]); +- MPI_Address( (void *)&pspmat.nnz, &disps[2]); +- MPI_Address((void *)pspmat.rowindLocal.Data(), &disps[3]); +- MPI_Address( (void *)&pspmat.nnz, &disps[4]); +- MPI_Address((void *)pspmat.nzvalLocal.Data(), &disps[5]); ++ MPI_Get_address( (void *)&np1, &disps[0]); ++ MPI_Get_address(colptrChunk.Data(), &disps[1]); ++ MPI_Get_address( (void *)&pspmat.nnz, &disps[2]); ++ MPI_Get_address((void *)pspmat.rowindLocal.Data(), &disps[3]); ++ MPI_Get_address( (void *)&pspmat.nnz, &disps[4]); ++ MPI_Get_address((void *)pspmat.nzvalLocal.Data(), &disps[5]); + + MPI_Type_create_struct(6, blklens, disps, types, &memtype); + MPI_Type_commit(&memtype); +@@ -440,11 +440,11 @@ inline void ParaReadDistSparseMatrix ( c + /* define a struct that describes all our data */ + lens[0] = 1; + lens[1] = 1; +- MPI_Address(&pspmat.size, &disps[0]); +- MPI_Address(&pspmat.nnz, &disps[1]); ++ MPI_Get_address(&pspmat.size, &disps[0]); ++ MPI_Get_address(&pspmat.nnz, &disps[1]); + types[0] = MPI_INT; + types[1] = MPI_INT; +- MPI_Type_struct(2, lens, disps, types, &type); ++ MPI_Type_create_struct(2, lens, disps, types, &type); + MPI_Type_commit(&type); + + +@@ -470,10 +470,10 @@ inline void ParaReadDistSparseMatrix ( c + lens[0] = (mpirank==0)?1:0; + lens[1] = numColLocal + 1; + +- MPI_Address(&np1, &disps[0]); +- MPI_Address(pspmat.colptrLocal.Data(), &disps[1]); ++ MPI_Get_address(&np1, &disps[0]); ++ MPI_Get_address(pspmat.colptrLocal.Data(), &disps[1]); + +- MPI_Type_hindexed(2, lens, disps, MPI_INT, &type); ++ MPI_Type_create_hindexed(2, lens, disps, MPI_INT, &type); + MPI_Type_commit(&type); + + err= MPI_File_read_at_all(fin, myColPtrOffset, MPI_BOTTOM, 1, type, &status); +@@ -496,10 +496,10 @@ inline void ParaReadDistSparseMatrix ( c + lens[0] = (mpirank==0)?1:0; + lens[1] = pspmat.nnzLocal; + +- MPI_Address(&np1, &disps[0]); +- MPI_Address(pspmat.rowindLocal.Data(), &disps[1]); ++ MPI_Get_address(&np1, &disps[0]); ++ MPI_Get_address(pspmat.rowindLocal.Data(), &disps[1]); + +- MPI_Type_hindexed(2, lens, disps, MPI_INT, &type); ++ MPI_Type_create_hindexed(2, lens, disps, MPI_INT, &type); + MPI_Type_commit(&type); + + err= MPI_File_read_at_all(fin, myRowIdxOffset, MPI_BOTTOM, 1, type,&status); +@@ -516,8 +516,8 @@ inline void ParaReadDistSparseMatrix ( c + // lens[0] = (mpirank==0)?1:0; + // lens[1] = pspmat.nnzLocal; + // +-// MPI_Address(&np1, &disps[0]); +-// MPI_Address(pspmat.nzvalLocal.Data(), &disps[1]); ++// MPI_Get_address(&np1, &disps[0]); ++// MPI_Get_address(pspmat.nzvalLocal.Data(), &disps[1]); + // + // types[0] = MPI_INT; + // types[1] = MPI_DOUBLE; +@@ -748,11 +748,11 @@ inline void ParaReadDistSparseMatrix ( c + /* define a struct that describes all our data */ + lens[0] = 1; + lens[1] = 1; +- MPI_Address(&pspmat.size, &disps[0]); +- MPI_Address(&pspmat.nnz, &disps[1]); ++ MPI_Get_address(&pspmat.size, &disps[0]); ++ MPI_Get_address(&pspmat.nnz, &disps[1]); + types[0] = MPI_INT; + types[1] = MPI_INT; +- MPI_Type_struct(2, lens, disps, types, &type); ++ MPI_Type_create_struct(2, lens, disps, types, &type); + MPI_Type_commit(&type); + + +@@ -778,10 +778,10 @@ inline void ParaReadDistSparseMatrix ( c + lens[0] = (mpirank==0)?1:0; + lens[1] = numColLocal + 1; + +- MPI_Address(&np1, &disps[0]); +- MPI_Address(pspmat.colptrLocal.Data(), &disps[1]); ++ MPI_Get_address(&np1, &disps[0]); ++ MPI_Get_address(pspmat.colptrLocal.Data(), &disps[1]); + +- MPI_Type_hindexed(2, lens, disps, MPI_INT, &type); ++ MPI_Type_create_hindexed(2, lens, disps, MPI_INT, &type); + MPI_Type_commit(&type); + + err= MPI_File_read_at_all(fin, myColPtrOffset, MPI_BOTTOM, 1, type, &status); +@@ -804,11 +804,11 @@ inline void ParaReadDistSparseMatrix ( c + lens[0] = (mpirank==0)?1:0; + lens[1] = pspmat.nnzLocal; + +- MPI_Address(&np1, &disps[0]); +- MPI_Address(pspmat.rowindLocal.Data(), &disps[1]); ++ MPI_Get_address(&np1, &disps[0]); ++ MPI_Get_address(pspmat.rowindLocal.Data(), &disps[1]); + +-// MPI_Type_hindexed(2, lens, disps, MPI_INT, &type); +- MPI_Type_hindexed(2, lens, disps, MPI_INT, &type); ++// MPI_Type_create_hindexed(2, lens, disps, MPI_INT, &type); ++ MPI_Type_create_hindexed(2, lens, disps, MPI_INT, &type); + MPI_Type_commit(&type); + + err= MPI_File_read_at_all(fin, myRowIdxOffset, MPI_BOTTOM, 1, type,&status); +@@ -825,8 +825,8 @@ inline void ParaReadDistSparseMatrix ( c + // lens[0] = ((mpirank==0)?1:0)*sizeof(Int); + // lens[1] = pspmat.nnzLocal*sizeof(Complex); + // +-// MPI_Address(&np1, &disps[0]); +-// MPI_Address(pspmat.nzvalLocal.Data(), &disps[1]); ++// MPI_Get_address(&np1, &disps[0]); ++// MPI_Get_address(pspmat.nzvalLocal.Data(), &disps[1]); + // + // types[0] = MPI_INT; + // types[1] = MPI_DOUBLE_COMPLEX; +@@ -963,12 +963,12 @@ inline void ParaWriteDistSparseMatrix ( + + /* create memory type */ + Int np1 = pspmat.size+1; +- MPI_Address( (void *)&np1, &disps[0]); +- MPI_Address(colptrChunk.Data(), &disps[1]); +- MPI_Address( (void *)&pspmat.nnz, &disps[2]); +- MPI_Address((void *)pspmat.rowindLocal.Data(), &disps[3]); +- MPI_Address( (void *)&pspmat.nnz, &disps[4]); +- MPI_Address((void *)pspmat.nzvalLocal.Data(), &disps[5]); ++ MPI_Get_address( (void *)&np1, &disps[0]); ++ MPI_Get_address(colptrChunk.Data(), &disps[1]); ++ MPI_Get_address( (void *)&pspmat.nnz, &disps[2]); ++ MPI_Get_address((void *)pspmat.rowindLocal.Data(), &disps[3]); ++ MPI_Get_address( (void *)&pspmat.nnz, &disps[4]); ++ MPI_Get_address((void *)pspmat.nzvalLocal.Data(), &disps[5]); + + MPI_Type_create_struct(6, blklens, disps, types, &memtype); + MPI_Type_commit(&memtype); +--- external/PEXSI/include/pexsi/TreeBcast_v2_impl.hpp.orig 2020-12-18 18:03:17.282895534 +0000 ++++ external/PEXSI/include/pexsi/TreeBcast_v2_impl.hpp 2020-12-18 18:04:57.686747053 +0000 +@@ -64,8 +64,8 @@ namespace PEXSI{ + sendPostedCount_ = 0; + mainRoot_=ranks[0]; + #ifdef CHECK_MPI_ERROR +- MPI_Errhandler_set(this->comm_, MPI_ERRORS_RETURN); +- MPI_Errhandler_set(MPI_COMM_WORLD, MPI_ERRORS_RETURN); ++ MPI_Comm_set_errhandler(this->comm_, MPI_ERRORS_RETURN); ++ MPI_Comm_set_errhandler(MPI_COMM_WORLD, MPI_ERRORS_RETURN); + #endif + } + diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-10.2.0-Java-13.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-10.2.0-Java-13.eb index eaf6f22dc12..e32b7fad6ce 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-10.2.0-Java-13.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-10.2.0-Java-13.eb @@ -42,7 +42,7 @@ builddependencies = [('CMake', '3.18.4')] dependencies = [ ('X11', '20201008'), ('libharu', '2.3.0'), - ('Java', '13', '', True), + ('Java', '13', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.2.0-2.31.1.eb index a4cabd71a43..df004f43de0 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.2.0-2.31.1.eb @@ -37,7 +37,7 @@ builddependencies = [('CMake', '3.13.3')] dependencies = [ ('X11', '20190311'), ('libharu', '2.3.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.3.0-Java-11.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.3.0-Java-11.eb index e34109b6a96..aee6c64e90f 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-GCC-8.3.0-Java-11.eb @@ -42,7 +42,7 @@ builddependencies = [('CMake', '3.15.3')] dependencies = [ ('X11', '20190717'), ('libharu', '2.3.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2018b.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2018b.eb index 1e20c9bdaa4..ab468ed2c59 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2018b.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2018b.eb @@ -36,7 +36,7 @@ builddependencies = [('CMake', '3.11.4')] dependencies = [ ('X11', '20180604'), ('libharu', '2.3.0'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021a.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021a.eb new file mode 100644 index 00000000000..11a7dcee8c2 --- /dev/null +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021a.eb @@ -0,0 +1,58 @@ +# authors: Kenneth Hoste (Ghent University) +# George Tsouloupas +# Fotis Georgatos +# +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute +# foss-2021a modified by: +# Sebastien Moretti +# SIB Swiss Institute of Bioinformatics +easyblock = 'ConfigureMake' + +name = 'EMBOSS' +version = '6.6.0' + +homepage = 'http://emboss.sourceforge.net/' +description = """EMBOSS is 'The European Molecular Biology Open Software Suite' +. EMBOSS is a free Open Source software analysis package specially developed + for the needs of the molecular biology (e.g. EMBnet) user community.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'ftp://emboss.open-bio.org/pub/EMBOSS/', + 'ftp://emboss.open-bio.org/pub/EMBOSS/old/%(version_major_minor)s.0', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_disable-embossupdate.patch'] +checksums = [ + '7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e', # EMBOSS-6.6.0.tar.gz + '7e0a7deffd76f60093be9c5253605f2d6d2e3b0c2d3c9365035cc6bda43eb46c', # EMBOSS-6.6.0_disable-embossupdate.patch +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('X11', '20210518'), + ('libharu', '2.3.0'), + ('Java', '11', '', SYSTEM), +] + +configopts = " --with-hpdf=$EBROOTLIBHARU " + +# jemboss.jar does not build in a parallel build +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['seqret', 'aligncopy', 'profit', 'prophet']] + + ['lib/lib%s.a' % x for x in ['acd', 'ajax', 'ajaxdb', 'ajaxg', 'eexpat', 'ensembl', + 'epcre', 'eplplot', 'ezlib', 'nucleus']] + + ['share/EMBOSS/jemboss/lib/jemboss.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021b.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021b.eb new file mode 100644 index 00000000000..84ecb49dc1e --- /dev/null +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-foss-2021b.eb @@ -0,0 +1,58 @@ +# authors: Kenneth Hoste (Ghent University) +# George Tsouloupas +# Fotis Georgatos +# +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute +# foss-2021a modified by: +# Sebastien Moretti +# SIB Swiss Institute of Bioinformatics +easyblock = 'ConfigureMake' + +name = 'EMBOSS' +version = '6.6.0' + +homepage = 'http://emboss.sourceforge.net/' +description = """EMBOSS is 'The European Molecular Biology Open Software Suite' +. EMBOSS is a free Open Source software analysis package specially developed + for the needs of the molecular biology (e.g. EMBnet) user community.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'ftp://emboss.open-bio.org/pub/EMBOSS/', + 'ftp://emboss.open-bio.org/pub/EMBOSS/old/%(version_major_minor)s.0', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_disable-embossupdate.patch'] +checksums = [ + '7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e', # EMBOSS-6.6.0.tar.gz + '7e0a7deffd76f60093be9c5253605f2d6d2e3b0c2d3c9365035cc6bda43eb46c', # EMBOSS-6.6.0_disable-embossupdate.patch +] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('X11', '20210802'), + ('libharu', '2.3.0'), + ('Java', '11', '', SYSTEM), +] + +configopts = " --with-hpdf=$EBROOTLIBHARU " + +# jemboss.jar does not build in a parallel build +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['seqret', 'aligncopy', 'profit', 'prophet']] + + ['lib/lib%s.a' % x for x in ['acd', 'ajax', 'ajaxdb', 'ajaxg', 'eexpat', 'ensembl', + 'epcre', 'eplplot', 'ezlib', 'nucleus']] + + ['share/EMBOSS/jemboss/lib/jemboss.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb index 3a560dce5d2..c5ee371b0db 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -37,7 +37,7 @@ builddependencies = [('CMake', '3.13.3')] dependencies = [ ('X11', '20190311'), ('libharu', '2.3.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2017a-X11-20170314.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2017a-X11-20170314.eb index fc0789ffe30..71a682b454e 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2017a-X11-20170314.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2017a-X11-20170314.eb @@ -35,7 +35,7 @@ dependencies = [ ('X11', local_x11ver), ('libgd', '2.2.4'), ('libharu', '2.3.0'), - ('Java', '1.8.0_144', '', True), + ('Java', '1.8.0_144', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2018b.eb b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2018b.eb index 6c9d498a0a4..9da803147ab 100644 --- a/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2018b.eb +++ b/easybuild/easyconfigs/e/EMBOSS/EMBOSS-6.6.0-intel-2018b.eb @@ -33,7 +33,7 @@ dependencies = [ ('X11', '20180604'), ('libgd', '2.2.5'), ('libharu', '2.3.0'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ] configopts = " --with-hpdf=$EBROOTLIBHARU " diff --git a/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310-foss-2023a.eb b/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310-foss-2023a.eb new file mode 100644 index 00000000000..c68628823fb --- /dev/null +++ b/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'EMMAX' +# version is based on datestamp of files in emmax-beta-src.tar.gz +# (last checked on 13 Aug 2024) +version = '20100310' + +homepage = 'https://csg.sph.umich.edu//kang/emmax' +description = """EMMAX is a statistical test for large scale human or model organism + association mapping accounting for the sample structure""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://csg.sph.umich.edu//kang/emmax/download/'] +sources = [{'download_filename': 'emmax-beta-src.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['EMMAX-20100310_fix-build.patch'] +checksums = [ + {'EMMAX-20100310.tar.gz': '79670917a0ac74ff1899fb27361e2e07b0f3a7911a9d9c6e0c18cf066b8987ea'}, + {'EMMAX-20100310_fix-build.patch': 'fae62d1f9f7bd4b94c81cdeb01d5134cc2825bcab050ddbfa89ce232eca8497e'}, +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +buildopts = 'CC="$CC $CFLAGS" CLIBS="-lflexiblas -lm -lz"' + +files_to_copy = [(['emmax', 'emmax-kin'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/emmax', 'bin/emmax-kin'], + 'dirs': [], +} + +sanity_check_commands = [ + "emmax 2>&1 | grep '^Usage: emmax'", + "emmax-kin 2>&1 | grep '^Usage: emmax_IBS_kin'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310_fix-build.patch b/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310_fix-build.patch new file mode 100644 index 00000000000..c2827ab10a9 --- /dev/null +++ b/easybuild/easyconfigs/e/EMMAX/EMMAX-20100310_fix-build.patch @@ -0,0 +1,88 @@ +fix build with recent compiler & BLAS/LAPACK library +author: Kenneth Hoste (HPC-UGent) + +--- emmax-beta-src/emmax.c.orig 2024-08-13 16:28:41.536119000 +0200 ++++ emmax-beta-src/emmax.c 2024-08-13 16:54:06.856501202 +0200 +@@ -7,7 +7,8 @@ + #include + #include + #include +-#include ++#include ++#include + #include + //#include "lapack_wrapper.h" + +@@ -1621,15 +1622,13 @@ + double *W, + double *WORK, int LWORK, int *IWORK, int LIWORK) + { +- extern void dsyevd_ (char *JOBZp, char *UPLOp, int *Np, +- double *A, int *LDAp, +- double *W, +- double *WORK, int *LWORKp, int *IWORK, int *LIWORKp, +- int *INFOp); + int INFO; +- dsyevd_ (&JOBZ, &UPLO, &N, A, &LDA, ++ int32_t N32 = N; ++ int32_t LDA32 = LDA; ++ int32_t LWORK32 = LWORK; ++ dsyevd_ (&JOBZ, &UPLO, &N32, A, &LDA32, + W, +- WORK, &LWORK, IWORK, &LIWORK, &INFO); ++ WORK, &LWORK32, IWORK, &LIWORK, &INFO, 1, 1); + + return INFO; + } +@@ -1640,16 +1639,11 @@ + double *W, double *Z, int LDZ, int *ISUPPZ, + double *WORK, int LWORK, int *IWORK, int LIWORK) + { +- extern void dsyevr_ (char *JOBZp, char *RANGEp, char *UPLOp, int *Np, +- double *A, int *LDAp, double *VLp, double *VUp, +- int *ILp, int *IUp, double *ABSTOLp, int *Mp, +- double *W, double *Z, int *LDZp, int *ISUPPZ, +- double *WORK, int *LWORKp, int *IWORK, int *LIWORKp, +- int *INFOp); + int INFO; +- dsyevr_ (&JOBZ, &RANGE, &UPLO, &N, A, &LDA, &VL, &VU, +- &IL, &IU, &ABSTOL, M, W, Z, &LDZ, ISUPPZ, +- WORK, &LWORK, IWORK, &LIWORK, &INFO); ++ int32_t N32 = N, LDA32 = LDA, IL32 = IL, IU32 = IU, LDZ32 = LDZ, LWORK32 = LWORK, LIWORK32 = LIWORK; ++ dsyevr_ (&JOBZ, &RANGE, &UPLO, &N32, A, &LDA32, &VL, &VU, ++ &IL32, &IU32, &ABSTOL, M, W, Z, &LDZ32, ISUPPZ, ++ WORK, &LWORK32, IWORK, &LIWORK32, &INFO, 1, 1, 1); + + return INFO; + } +@@ -1739,16 +1733,27 @@ + } + + /* Turn Y into its LU form, store pivot matrix */ +- info = clapack_dgetrf (CblasColMajor, n, n, Y, n, ipiv); ++ dgetrf_(&n, &n, Y, &n, ipiv, &info); + + /* Don't bother continuing when illegal argument (info<0) or singularity (info>0) occurs */ +- if (info!=0) return info; ++ if (info != 0) { ++ free(ipiv); ++ return info; ++ } + + /* Feed this to the lapack inversion routine. */ +- info = clapack_dgetri (CblasColMajor, n, Y, n, ipiv); ++ int lwork = n * n; ++ double *work = malloc(lwork * sizeof(double)); ++ if (work == NULL) { ++ printf("malloc failed for work array in matrix_invert\n"); ++ free(ipiv); ++ return 2; ++ } ++ dgetri_(&n, Y, &n, ipiv, work, &lwork, &info); + + /* Cleanup and exit */ + free(ipiv); ++ free(work); + return info; + } + diff --git a/easybuild/easyconfigs/e/ESIpy/ESIpy-20240731-foss-2022a.eb b/easybuild/easyconfigs/e/ESIpy/ESIpy-20240731-foss-2022a.eb new file mode 100644 index 00000000000..290a85e008e --- /dev/null +++ b/easybuild/easyconfigs/e/ESIpy/ESIpy-20240731-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'ESIpy' +version = '20240731' +_commit = '25ff61c' + +homepage = 'https://github.com/jgrebol/ESIpy' +description = """Program aimed at the calculation of population analysis and aromaticity +indicators from different Hilbert space partitions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/jgrebol/ESIpy/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }, +] +checksums = ['d8b7bf723ea37426ba6a3d4ddc07c2e969c75afd1ff4843c7d21b2faa1f035b0'] + +dependencies = [ + ('Python', '3.10.4'), + ('PySCF', '2.1.1'), +] + +sanity_check_paths = { + 'files': ['esi.py'], + 'dirs': ['utils', 'examples'], +} + +sanity_check_commands = [ + "python -c 'import esi'", +] + +modextrapaths = { + 'PYTHONPATH': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb new file mode 100644 index 00000000000..80ff5c2bd6a --- /dev/null +++ b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-foss-2020b.eb @@ -0,0 +1,36 @@ +easyblock = 'Bundle' + +name = 'ESL-Bundle' +version = '0.6.1' + +homepage = 'https://esl.cecam.org' + +description = """ + The ESL Bundle is a collection of libraries and utilities broadly used in + electronic structure calculations, put together to make their use easier by + researchers and scientific software developers. ESL stands for Electronic + Structure Library, an initiative which distributes quality software and + promotes open standards for high-performance computing applications in the + field of electronic structure calculations. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('ELSI-RCI', '0.1.0'), + ('fdict', '0.8.0'), + ('flook', '0.8.1'), + ('libfdf', '0.2.2', '-serial'), + ('libmbd', '0.10.4'), + ('libPSML', '1.1.10'), + ('libpspio', '0.2.4'), + ('libxc', '4.3.4'), + ('libGridXC', '0.9.6'), + ('libvdwxc', '0.4.0'), + ('PSolver', '1.8.3'), + ('ELSI', '2.6.4', '-PEXSI'), + ('spglib', '1.16.1'), + ('Wannier90', '3.1.0'), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb new file mode 100644 index 00000000000..10c5d31e522 --- /dev/null +++ b/easybuild/easyconfigs/e/ESL-Bundle/ESL-Bundle-0.6.1-intel-2020b.eb @@ -0,0 +1,36 @@ +easyblock = 'Bundle' + +name = 'ESL-Bundle' +version = '0.6.1' + +homepage = 'https://esl.cecam.org' + +description = """ + The ESL Bundle is a collection of libraries and utilities broadly used in + electronic structure calculations, put together to make their use easier by + researchers and scientific software developers. ESL stands for Electronic + Structure Library, an initiative which distributes quality software and + promotes open standards for high-performance computing applications in the + field of electronic structure calculations. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +dependencies = [ + ('ELSI-RCI', '0.1.0'), + ('fdict', '0.8.0'), + ('flook', '0.8.1'), + ('libfdf', '0.2.2', '-serial'), + ('libmbd', '0.10.4'), + ('libPSML', '1.1.10'), + ('libpspio', '0.2.4'), + ('libxc', '4.3.4'), + ('libGridXC', '0.9.6'), + ('libvdwxc', '0.4.0'), + ('PSolver', '1.8.3'), + ('ELSI', '2.6.4', '-PEXSI'), + ('spglib', '1.16.1'), + ('Wannier90', '3.1.0'), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..b4cd134d85e --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), +] + +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.2.3', { + 'checksums': ['59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523'], + }), + ('fair-esm', version, { + 'modulename': 'esm, esm.pretrained', + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.eb new file mode 100644 index 00000000000..3b6ec3564b0 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2021a.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': '2021a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), +] + +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.2.3', { + 'checksums': ['59ff9fba864ffbb5fb710b64e8a9ba37c68fa339a2e2bb4f1b648d6901552523'], + }), + ('fair-esm', version, { + 'modulename': 'esm, esm.pretrained', + 'checksums': ['4ed34d4598ec75ed6550a4e581d023bf8d4a8375317ecba6269bb68135f80c85'], + }), +] + +moduleclass = 'bio' 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/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..eae9330bcdb --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'ESM-2' +version = '2.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2023a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), +] + +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/ESM-2/ESM-2-2.0.0-foss-2023a.eb b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a.eb new file mode 100644 index 00000000000..8b461b544cc --- /dev/null +++ b/easybuild/easyconfigs/e/ESM-2/ESM-2-2.0.0-foss-2023a.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': '2023a'} + +builddependencies = [ + ('Java', '11', '', SYSTEM), # needed by ANTLR4 runtime +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), +] + +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/ESM3/ESM3-3.0.0.post2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/ESM3/ESM3-3.0.0.post2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..1382c12efc6 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM3/ESM3-3.0.0.post2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'ESM3' +version = '3.0.0.post2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.evolutionaryscale.ai/' +description = """ESM3 is a frontier generative model for biology, able to jointly reason across +three fundamental biological properties of proteins: sequence, structure, and +function. These three data modalities are represented as tracks of discrete +tokens at the input and output of ESM3. You can present the model with a +combination of partial inputs across the tracks, and ESM3 will provide output +predictions for all the tracks. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('Transformers', '4.39.3'), + ('Biopython', '1.83'), + ('Biotite', '0.41.0'), + ('Brotli-python', '1.0.9'), + ('einops', '0.7.0'), + ('IPython', '8.14.0'), + ('scikit-learn', '1.3.1'), +] + +use_pip = True + +exts_list = [ + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + }), + ('cloudpathlib', '0.16.0', { + 'checksums': ['cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3'], + }), + ('esm', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5544b6974945d791205226408100429c2ea6e49b30265aea1d359caabe20bb14'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import esm'", + "python -c 'from esm.models.esm3 import ESM3'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESM3/ESM3-3.0.0.post2-foss-2023a.eb b/easybuild/easyconfigs/e/ESM3/ESM3-3.0.0.post2-foss-2023a.eb new file mode 100644 index 00000000000..60125c1af46 --- /dev/null +++ b/easybuild/easyconfigs/e/ESM3/ESM3-3.0.0.post2-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'ESM3' +version = '3.0.0.post2' + +homepage = 'https://www.evolutionaryscale.ai/' +description = """ESM3 is a frontier generative model for biology, able to jointly reason across +three fundamental biological properties of proteins: sequence, structure, and +function. These three data modalities are represented as tracks of discrete +tokens at the input and output of ESM3. You can present the model with a +combination of partial inputs across the tracks, and ESM3 will provide output +predictions for all the tracks. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch-bundle', '2.1.2'), + ('Transformers', '4.39.3'), + ('Biopython', '1.83'), + ('Biotite', '0.41.0'), + ('Brotli-python', '1.0.9'), + ('einops', '0.7.0'), + ('IPython', '8.14.0'), + ('scikit-learn', '1.3.1'), +] + +use_pip = True + +exts_list = [ + ('msgpack-numpy', '0.4.8', { + 'checksums': ['c667d3180513422f9c7545be5eec5d296dcbb357e06f72ed39cc683797556e69'], + }), + ('cloudpathlib', '0.16.0', { + 'checksums': ['cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3'], + }), + ('esm', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5544b6974945d791205226408100429c2ea6e49b30265aea1d359caabe20bb14'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import esm'", + "python -c 'from esm.models.esm3 import ESM3'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ESMF/ESMF-8.1.1-foss-2021a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.1.1-foss-2021a.eb new file mode 100644 index 00000000000..b6bf9ddfb37 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.1.1-foss-2021a.eb @@ -0,0 +1,34 @@ +name = 'ESMF' +version = '8.1.1' + +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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['%%(name)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + '58c2e739356f21a1b32673aa17a713d3c4af9d45d572f4ba9168c357d586dc75', # ESMF_8_1_1.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +dependencies = [ + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('netCDF-C++4', '4.3.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/ESMF/ESMF-8.1.1-intel-2021a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.1.1-intel-2021a.eb new file mode 100644 index 00000000000..6f09d884524 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.1.1-intel-2021a.eb @@ -0,0 +1,31 @@ +name = 'ESMF' +version = '8.1.1' + +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': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['%%(name)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + '58c2e739356f21a1b32673aa17a713d3c4af9d45d572f4ba9168c357d586dc75', # ESMF_8_1_1.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +dependencies = [ + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('netCDF-C++4', '4.3.1'), +] + +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/ESMF/ESMF-8.2.0-foss-2021b.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.2.0-foss-2021b.eb new file mode 100644 index 00000000000..fc84a489666 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.2.0-foss-2021b.eb @@ -0,0 +1,34 @@ +name = 'ESMF' +version = '8.2.0' + +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': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['%%(name)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + '3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485', # ESMF_8_2_0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +dependencies = [ + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('netCDF-C++4', '4.3.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/ESMF/ESMF-8.2.0-intel-2021b.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.2.0-intel-2021b.eb new file mode 100644 index 00000000000..52f1eb282b6 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.2.0-intel-2021b.eb @@ -0,0 +1,34 @@ +name = 'ESMF' +version = '8.2.0' + +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': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True, 'cstd': 'c++11', 'pic': True} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['%%(name)s_%s.tar.gz' % '_'.join(version.split('.'))] +patches = ['ESMF-6.1.1_libopts.patch'] +checksums = [ + '3693987aba2c8ae8af67a0e222bea4099a48afe09b8d3d334106f9d7fc311485', # ESMF_8_2_0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +dependencies = [ + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('netCDF-C++4', '4.3.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/ESMF/ESMF-8.3.0-foss-2022a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-foss-2022a.eb new file mode 100644 index 00000000000..215115944a2 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-foss-2022a.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.3.0' + +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 = [ + '0ff43ede83d1ac6beabd3d5e2a646f7574174b28a48d1b9f2c318a054ba268fd', # v8.3.0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +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/ESMF/ESMF-8.3.0-intel-2022a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-intel-2022a.eb new file mode 100644 index 00000000000..1d6572890e3 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.3.0-intel-2022a.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.3.0' + +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': 'intel', '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 = [ + '0ff43ede83d1ac6beabd3d5e2a646f7574174b28a48d1b9f2c318a054ba268fd', # v8.3.0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +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/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/ESMF/ESMF-8.6.0-foss-2023a.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb new file mode 100644 index 00000000000..356f3864756 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.0-foss-2023a.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.6.0' + +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': '2023a'} +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 = [ + 'ed057eaddb158a3cce2afc0712b49353b7038b45b29aee86180f381457c0ebe7', # v8.6.0.tar.gz + '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4', # ESMF-6.1.1_libopts.patch +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('netCDF-C++4', '4.3.1'), + ('libarchive', '3.6.2'), +] + +# 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/ESMF/ESMF-8.6.1-foss-2023b.eb b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.1-foss-2023b.eb new file mode 100644 index 00000000000..d8471ef09d1 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMF/ESMF-8.6.1-foss-2023b.eb @@ -0,0 +1,37 @@ +name = 'ESMF' +version = '8.6.1' + +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': '2023b'} +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.6.1.tar.gz': 'dc270dcba1c0b317f5c9c6a32ab334cb79468dda283d1e395d98ed2a22866364'}, + {'ESMF-6.1.1_libopts.patch': '3851627f07c32a7da55d99072d619942bd3a1d9dd002e1557716158e7aacdaf4'}, +] + +builddependencies = [('CMake', '3.27.6')] + +dependencies = [ + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('netCDF-C++4', '4.3.1'), + ('libarchive', '3.7.2'), +] + +# 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/ESMPy/ESMPy-8.0.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.0.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..6ba46627ddf --- /dev/null +++ b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.0.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'ESMPy' +version = '8.0.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://earthsystemmodeling.org/esmpy' +description = "Earth System Modeling Framework (ESMF) Python Interface" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/esmf-org/esmf/archive/'] +sources = ['ESMF_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['9172fb73f3fe95c8188d889ee72fdadb4f978b1d969e1d8e401e8d106def1d84'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), # for numpy, mpi4py + ('ESMF', version), +] + +start_dir = 'src/addon/ESMPy' + +download_dep_fail = True + +# ESMPy's setup.py script doesn't support using "pip install" +use_pip = False + +buildopts = "--ESMFMKFILE=$EBROOTESMF/lib/esmf.mk" + +options = {'modulename': 'ESMF'} + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0-foss-2023a.eb b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0-foss-2023a.eb new file mode 100644 index 00000000000..8510ec6f7c2 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'ESMPy' +version = '8.6.0' + +homepage = 'https://earthsystemmodeling.org/esmpy' +description = "Earth System Modeling Framework (ESMF) Python Interface" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pytest', '7.4.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ESMF', version), +] + +use_pip = True + +# downloads of data files from data.earthsystemmodeling.org are failing at the +# time of writting, switch to github.com: +_switch_data_url_regex = r"s/^\(DATA_URL.*earthsystemmodeling.org\)/# \1/;s/# \(DATA_URL.*github.com\)/\1/" + +_pre_test_cmds = [ + "sed -i '%s' src/esmpy/util/cache_data.py" % _switch_data_url_regex, + "unset ESMPY_DATA_DIR", + "export ESMPY_DATA_NEW_DIR=/tmp", + "", +] + +exts_list = [ + ('esmpy', version, { + 'patches': ['ESMPy-%(version)s_use-static-version.patch'], + 'source_urls': ['https://github.com/esmf-org/esmf/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': [ + {'v8.6.0.tar.gz': + 'ed057eaddb158a3cce2afc0712b49353b7038b45b29aee86180f381457c0ebe7'}, + {'ESMPy-8.6.0_use-static-version.patch': + '4878e0066593c993e7fc16638ab8e671693c402263b13d1c903b5c5b717f6468'}, + ], + 'start_dir': 'src/addon/%(name)s', + 'preinstallopts': "sed -i 's/EB_ESMPY_VERSION/%(version)s/' pyproject.toml && ", + 'pretestopts': " && ".join(_pre_test_cmds), + 'runtest': 'pytest', + 'testinstall': True, + }), +] + +sanity_pip_check = True + +# set data directory to a user-writable directory +# default: %(installdir)s/lib/python%(pyshortver)s/site-packages/esmpy/data +modextravars = {'ESMPY_DATA_DIR': '/tmp'} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0_use-static-version.patch b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0_use-static-version.patch new file mode 100644 index 00000000000..1a81dbd6151 --- /dev/null +++ b/easybuild/easyconfigs/e/ESMPy/ESMPy-8.6.0_use-static-version.patch @@ -0,0 +1,49 @@ +Replace dynamic versioning with a plain static version string. Tarballs of +ESMPy downloaded from github lack git repository data required by +setuptools-git-versioning. +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/pyproject.toml.orig b/pyproject.toml +index b3da4b6..e0e207d 100644 +--- a/src/addon/esmpy/pyproject.toml.orig ++++ b/src/addon/esmpy/pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning" ] ++requires = [ "setuptools>=41", "wheel" ] + build-backend = "setuptools.build_meta" + + [project] +@@ -12,15 +12,8 @@ license = { text = "University of Illinois-NCSA" } + dependencies = [ + "numpy", + 'importlib-metadata; python_version < "3.8"', +- # setuptools-git-versioning shouldn't be needed here, but is +- # included as a workaround for problems with the build-time +- # installation of this package with python 3.10 (given by the +- # build-system section above). By including it here, we at least +- # ensure that this package will be available for a second or +- # subsequent pip install of esmpy. +- 'setuptools-git-versioning; python_version >= "3.10"', + ] +-dynamic = [ "version" ] ++version = "EB_ESMPY_VERSION" + + [project.optional-dependencies] + testing = [ +@@ -28,16 +21,6 @@ testing = [ + "pytest-json-report", + ] + +-[tool.setuptools-git-versioning] +-enabled = true +-template = "{tag}" +-dev_template = "{tag}" +-dirty_template = "{tag}" +-starting_version = "8.6.0" # this is a backup for pip <= 22.0 where git-versioning doesn't work +- +-[tool.dynamic] +-version = "placeholder" # this is a placeholder for the version pulled with git-versioning +- + [tool.setuptools.packages.find] + where = [ "src" ] + exclude = [ "doc*" ] diff --git a/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..4808bb96632 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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'] +checksums = ['f7264d78fe1fd7774b89972fe10d5b15d2e9d620d406158dab90df5df0b9f255'] + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('Boost.MPI', '1.76.0'), + ('HDF5', '1.10.7'), + ('Mesa', '21.1.1'), + ('GSL', '2.7'), + ('IPython', '7.25.0'), + ('Pint', '0.20.1'), +] + +configopts = ' -DCMAKE_SKIP_RPATH=OFF -DWITH_TESTS=ON -DWITH_CUDA=ON' +# 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', 'cuda_init', '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-foss-2021a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2021a.eb new file mode 100644 index 00000000000..edaea20c78c --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2021a.eb @@ -0,0 +1,55 @@ +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'] +checksums = ['f7264d78fe1fd7774b89972fe10d5b15d2e9d620d406158dab90df5df0b9f255'] + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost.MPI', '1.76.0'), + ('HDF5', '1.10.7'), + ('Mesa', '21.1.1'), + ('GSL', '2.7'), + ('IPython', '7.25.0'), + ('Pint', '0.20.1'), +] + +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-foss-2022a-CUDA-11.8.0.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2022a-CUDA-11.8.0.eb new file mode 100644 index 00000000000..c524dee3c8c --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2022a-CUDA-11.8.0.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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'] +checksums = ['f7264d78fe1fd7774b89972fe10d5b15d2e9d620d406158dab90df5df0b9f255'] + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.8.0', '', SYSTEM), + ('SciPy-bundle', '2022.05'), + ('Boost.MPI', '1.79.0'), + ('HDF5', '1.12.2'), + ('Mesa', '22.0.3'), + ('GSL', '2.7'), + ('IPython', '8.5.0'), + ('Pint', '0.22'), +] + +configopts = ' -DCMAKE_SKIP_RPATH=OFF -DWITH_TESTS=ON -DWITH_CUDA=ON' +# 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', 'cuda_init', '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-foss-2022a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2022a.eb new file mode 100644 index 00000000000..e5bd5a63f74 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.1-foss-2022a.eb @@ -0,0 +1,55 @@ +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'] +checksums = ['f7264d78fe1fd7774b89972fe10d5b15d2e9d620d406158dab90df5df0b9f255'] + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost.MPI', '1.79.0'), + ('HDF5', '1.12.2'), + ('Mesa', '22.0.3'), + ('GSL', '2.7'), + ('IPython', '8.5.0'), + ('Pint', '0.22'), +] + +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-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/ESPResSo/ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..eb37f56eb35 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://espressomd.org/wordpress' +description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" + +source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] + +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'), + ('CUDA', '12.1.1', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.2', '6.0', '7.0', '7.5', '8.0', '8.6', '9.0'] + +configopts = ' -DCMAKE_SKIP_RPATH=OFF -DWITH_TESTS=ON -DWITH_CUDA=ON' +# 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.2-foss-2023a.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb new file mode 100644 index 00000000000..eb16f7546f5 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.2' + +homepage = 'https://espressomd.org/wordpress' +description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" + +source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] + +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.2-foss-2023b.eb b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023b.eb new file mode 100644 index 00000000000..950f31dba26 --- /dev/null +++ b/easybuild/easyconfigs/e/ESPResSo/ESPResSo-4.2.2-foss-2023b.eb @@ -0,0 +1,55 @@ +easyblock = 'CMakeMake' + +name = 'ESPResSo' +version = '4.2.2' + +homepage = 'https://espressomd.org/wordpress' +description = """A software package for performing and analyzing scientific Molecular Dynamics simulations.""" + +source_urls = ['https://github.com/espressomd/espresso/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2bc02f91632b0030f1203759768bd718bd8a0005f72696980b12331b4bfa0d76'] + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True, 'pic': True} + +builddependencies = [('CMake', '3.27.6')] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Boost.MPI', '1.83.0'), + ('HDF5', '1.14.3'), + ('Mesa', '23.1.9'), + ('GSL', '2.7'), + ('IPython', '8.17.2'), + ('Pint', '0.24'), +] + +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/ETE/ETE-3.1.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..18293697388 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +checksums = ['4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9'] + +dependencies = [ + ('lxml', '4.4.2'), + ('Python', '3.7.4'), + ('PyQt5', '5.13.2', versionsuffix), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +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.2-foss-2020b.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2020b.eb new file mode 100644 index 00000000000..f4d0c02af99 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.2' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +checksums = ['4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9'] + +dependencies = [ + ('lxml', '4.6.2'), + ('Python', '3.8.6'), + ('PyQt5', '5.15.1'), + ('SciPy-bundle', '2020.11'), +] + +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.2-foss-2021a.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021a.eb new file mode 100644 index 00000000000..05d4d90ee50 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.2' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/e/ete3'] +sources = ['ete3-%(version)s.tar.gz'] +checksums = ['4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9'] + +dependencies = [ + ('lxml', '4.6.3'), + ('Python', '3.9.5'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.05'), +] + +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.2-foss-2021b.eb b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b.eb new file mode 100644 index 00000000000..bce595d0c24 --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'ETE' +version = '3.1.2' + +homepage = 'http://etetoolkit.org' +description = """A Python framework for the analysis and visualization of trees""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +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 = [ + '4fc987b8c529889d6608fab1101f1455cb5cbd42722788de6aea9c7d0a8e59e9', # ete3-3.1.2.tar.gz + 'f71d1135e87e1035736f67b92ebcfebd2ae4d57e48f45e25c1a6144c60f11fbd', # ETE-3.1.2-foss-2021b_fix_binpath.patch +] + +dependencies = [ + ('lxml', '4.6.3'), + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.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/ETE/ETE-3.1.2-foss-2021b_fix_binpath.patch b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b_fix_binpath.patch new file mode 100644 index 00000000000..95d425871ed --- /dev/null +++ b/easybuild/easyconfigs/e/ETE/ETE-3.1.2-foss-2021b_fix_binpath.patch @@ -0,0 +1,14 @@ +Add support for using external binaries that are in the PATH +Author: Samuel Moors (VUB) +diff -ur ete3-3.1.2.orig/ete3/evol/evoltree.py ete3-3.1.2/ete3/evol/evoltree.py +--- ete3-3.1.2.orig/ete3/evol/evoltree.py 2020-08-30 09:08:26.000000000 +0200 ++++ ete3-3.1.2/ete3/evol/evoltree.py 2022-05-30 17:38:35.529290893 +0200 +@@ -248,6 +248,8 @@ + hlddir = os.getcwd() + os.chdir(fullpath) + bin_ = os.path.join(self.execpath, model_obj.properties['exec']) ++ if not os.path.exists(bin_): ++ bin_ = which(model_obj.properties['exec']) + try: + proc = Popen([bin_, 'tmp.ctl'], stdout=PIPE, stdin=PIPE) + except OSError: 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/EUKulele/EUKulele-2.0.6-foss-2022a.eb b/easybuild/easyconfigs/e/EUKulele/EUKulele-2.0.6-foss-2022a.eb new file mode 100644 index 00000000000..ddaf11c8df9 --- /dev/null +++ b/easybuild/easyconfigs/e/EUKulele/EUKulele-2.0.6-foss-2022a.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'EUKulele' +version = '2.0.6' + +homepage = 'https://github.com/AlexanderLabWHOI/EUKulele' +description = "Formalizing environmental eukaryotic taxonomic assignment" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Biopython', '1.79'), + ('SciPy-bundle', '2022.05'), + ('Seaborn', '0.12.1'), + ('PyYAML', '6.0'), + ('coverage', '7.2.7'), + ('matplotlib', '3.5.2'), + ('pytest-xdist', '2.5.0'), +] + +use_pip = True + +local_oset_sed = 'sed -i "s/collections import MutableSet/collections.abc import MutableSet/g" ./src/oset/pyoset.py ' +exts_list = [ + ('oset', '0.1.3', { + 'preinstallopts': local_oset_sed + ' && ', + 'checksums': ['4c1fd7dec96eeff9d3260995a8e37f9f415d0bdb79975f57824e68716ac8f904'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('multiprocess', '0.70.14', { + 'checksums': ['3eddafc12f2260d27ae03fe6069b12570ab4764ab59a75e81624fac453fbf46a'], + }), + ('joblib', '1.3.1', { + 'checksums': ['1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3'], + }), + ('python-coveralls', '2.9.3', { + 'modulename': 'coveralls', + 'checksums': ['bfaf7811e7dc5628e83b6b162962a4e2485dbff184b30e49f380374ed1bcee55'], + }), + ('pytest-cov', '4.1.0', { + 'checksums': ['3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('pybtex-docutils', '1.0.3', { + 'checksums': ['3a7ebdf92b593e00e8c1c538aa9a20bca5d92d84231124715acc964d51d93c6b'], + }), + ('sphinxcontrib-bibtex', '1.0.0', { + 'modulename': 'sphinxcontrib.bibtex', + 'checksums': ['629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0'], + }), + (name, version, { + 'modulename': 'EUKulele', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/AlexanderLabWHOI/EUKulele/archive/'], + 'checksums': ['ab4efb692886f25c2b94e9405b98f3935d78b7c716b66b5f7d43f3bca02184b4'], + }), +] + +sanity_check_paths = { + 'files': ['bin/EUKulele', 'bin/create_protein_table.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "EUKulele --help" +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb new file mode 100644 index 00000000000..cc4bc9b90bc --- /dev/null +++ b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'EVcouplings' +version = '0.1.1' + +homepage = 'https://github.com/debbiemarkslab/EVcouplings' +description = """ +Predict protein structure, function and mutations using evolutionary sequence covariation. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('numba', '0.58.1'), + ('SciPy-bundle', '2023.07'), + ('ruamel.yaml', '0.17.32'), + ('matplotlib', '3.7.2'), + ('bokeh', '3.2.2'), + ('Biopython', '1.83'), + ('Seaborn', '0.13.2'), + ('scikit-learn', '1.3.1'), + ('HMMER', '3.4'), + # Needs plmc installed with single precision + ('plmc', '20230121', '-32bit'), +] + +exts_list = [ + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('filelock', '3.13.4', { + 'checksums': ['d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4'], + }), + ('billiard', '4.2.0', { + 'checksums': ['9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c'], + }), + ('evcouplings', version, { + 'patches': ['EVcouplings-%(version)s_fix-import-Iterable-Mapping.patch'], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + {'evcouplings-0.1.1.zip': 'aba07acdc39a0da73f39f48a8cac915d5b671abc008c123bbe30e6759a2499d2'}, + {'EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch': + 'db2cff1de3488baaa1f0ac186c02c61432c27a3e5221525f1c773817722e7ba9'}, + ], + }), +] + +sanity_check_commands = [ + "evcouplings --help", +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch new file mode 100644 index 00000000000..59caa949d96 --- /dev/null +++ b/easybuild/easyconfigs/e/EVcouplings/EVcouplings-0.1.1_fix-import-Iterable-Mapping.patch @@ -0,0 +1,77 @@ +The Iterable and Mapping were removed from collections in Python 3.10 +Import Iterable and Mapping from collections.abc +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -Naru evcouplings-0.1.1.orig/evcouplings/align/protocol.py evcouplings-0.1.1/evcouplings/align/protocol.py +--- evcouplings-0.1.1.orig/evcouplings/align/protocol.py 2024-06-04 17:15:24.409905000 +0200 ++++ evcouplings-0.1.1/evcouplings/align/protocol.py 2024-06-04 17:16:54.492901448 +0200 +@@ -8,7 +8,8 @@ + + """ + +-from collections import OrderedDict, Iterable ++from collections import OrderedDict ++from collections.abc import Iterable + import re + from shutil import copy + import os +diff -Naru evcouplings-0.1.1.orig/evcouplings/compare/pdb.py evcouplings-0.1.1/evcouplings/compare/pdb.py +--- evcouplings-0.1.1.orig/evcouplings/compare/pdb.py 2024-06-04 17:15:24.419850000 +0200 ++++ evcouplings-0.1.1/evcouplings/compare/pdb.py 2024-06-04 17:52:31.882593767 +0200 +@@ -5,7 +5,8 @@ + Thomas A. Hopf + """ + +-from collections import OrderedDict, Iterable ++from collections import OrderedDict ++from collections.abc import Iterable + from os import path + from urllib.error import HTTPError + +diff -Naru evcouplings-0.1.1.orig/evcouplings/couplings/mapping.py evcouplings-0.1.1/evcouplings/couplings/mapping.py +--- evcouplings-0.1.1.orig/evcouplings/couplings/mapping.py 2024-06-04 17:15:24.405238000 +0200 ++++ evcouplings-0.1.1/evcouplings/couplings/mapping.py 2024-06-04 17:52:59.165312780 +0200 +@@ -7,7 +7,7 @@ + Anna G. Green (MultiSegmentCouplingsModel) + """ + +-from collections import Iterable ++from collections.abc import Iterable + from copy import deepcopy + from evcouplings.couplings.model import CouplingsModel + import pandas as pd +diff -Naru evcouplings-0.1.1.orig/evcouplings/couplings/model.py evcouplings-0.1.1/evcouplings/couplings/model.py +--- evcouplings-0.1.1.orig/evcouplings/couplings/model.py 2024-06-04 17:15:24.407628000 +0200 ++++ evcouplings-0.1.1/evcouplings/couplings/model.py 2024-06-04 17:53:16.476317130 +0200 +@@ -6,7 +6,7 @@ + Authors: + Thomas A. Hopf + """ +-from collections import Iterable ++from collections.abc import Iterable + from copy import deepcopy + + from numba import jit +diff -Naru evcouplings-0.1.1.orig/evcouplings/utils/app.py evcouplings-0.1.1/evcouplings/utils/app.py +--- evcouplings-0.1.1.orig/evcouplings/utils/app.py 2024-06-04 17:15:24.424719000 +0200 ++++ evcouplings-0.1.1/evcouplings/utils/app.py 2024-06-04 17:53:56.971793813 +0200 +@@ -14,7 +14,7 @@ + import re + from copy import deepcopy + from os import path, environ +-from collections import Mapping ++from collections.abc import Mapping + + import click + +diff -Naru evcouplings-0.1.1.orig/evcouplings/utils/tracker/mongodb.py evcouplings-0.1.1/evcouplings/utils/tracker/mongodb.py +--- evcouplings-0.1.1.orig/evcouplings/utils/tracker/mongodb.py 2024-06-04 17:15:24.421959000 +0200 ++++ evcouplings-0.1.1/evcouplings/utils/tracker/mongodb.py 2024-06-04 17:54:25.411050098 +0200 +@@ -16,7 +16,7 @@ + + import os + from datetime import datetime +-from collections import Mapping ++from collections.abc import Mapping + + from pymongo import MongoClient, errors + import gridfs diff --git a/easybuild/easyconfigs/e/EZC3D/EZC3D-1.5.2-foss-2022a.eb b/easybuild/easyconfigs/e/EZC3D/EZC3D-1.5.2-foss-2022a.eb new file mode 100644 index 00000000000..e7880604adc --- /dev/null +++ b/easybuild/easyconfigs/e/EZC3D/EZC3D-1.5.2-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = "CMakePythonPackage" + +name = 'EZC3D' +version = '1.5.2' + +homepage = 'https://pyomeca.github.io/Documentation/ezc3d/index.html' +description = """EZC3D is an easy to use reader, modifier and writer for C3D format files. It is +written en C++ with proper binders for Python and MATLAB/Octave scripting +langages.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'pyomeca' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['Release_%(version)s.tar.gz'] +checksums = ['469c2089c0f885c9dd994bb02d70939da1ec2ddd37ea353964aafa8a5b2d7165'] + +builddependencies = { + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('SWIG', '4.0.2'), +} + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +} + +# enable Python bindings +_py_install_dir = "%(installdir)s/lib/python%(pyshortver)s/site-packages/%(namelower)s" +configopts = "-DBINDER_PYTHON3=ON " +configopts += "-DPYTHON_INSTALL_PREFIX=%s" % _py_install_dir + +sanity_check_paths = { + 'files': ['lib/libezc3d.%s' % SHLIB_EXT], + 'dirs': ['include/ezc3d', _py_install_dir], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb index a5005270c7a..dd3b35aa893 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-3.9.4.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # vsc-install diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb index 7791f784dcc..b13e5a86759 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.0.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb index cc8897da43b..02a74160afc 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.0.1.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb index 65b2ca298a7..25051461eb8 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.0.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb index 49247ea233b..4f6dc72e076 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.1.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb index e6ac20b851f..8896f8fe35e 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.1.2.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb index b48d53735da..c010c13350f 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.0.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb index 0ad8c5b4556..3e3fae6d858 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.1.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb index 1091c23897b..e77acbb055c 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.2.2.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb index 9185e8fb088..e18538cfc10 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.0.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb index a3e700254a2..3115de22053 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.1.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb index 1e369883551..10cf17e0350 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.2.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb index 1b73dac291d..f1b3fda015a 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.3.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb index 9771d8a0655..ecf5449b562 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.3.4.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb index e3711e34964..c17fd29c7f5 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.0.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb index fb230445037..ee6a0035569 100644 --- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.1.eb @@ -8,7 +8,7 @@ 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 = {'name': 'dummy', 'version': 'dummy'} +toolchain = SYSTEM source_urls = [ # easybuild-framework diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb new file mode 100644 index 00000000000..295e753564e --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.4.2.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.4.2' + +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/4d/19/af2ba0d1dd90a54520bc9f41f2fcb6f01ea31dfb0c7244b54a32cfef1732/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/36/57/be2bbdf3003ed0bdc426181a179f477b12792a450b8dbab1b7a14209e8f7/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/33/2c/946a7f95b81bc0031706d6754ce9f976a8c385bdb400ba439ef431393d00/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '1e6580f210bc742ee1518d0a85389b32199b692de80548c80e93fa2a1a32dd01', # easybuild-framework-4.4.2.tar.gz + '4918f13ffcd97c8b9eb0a10517bdc5b28f67c3602882d4be0bee3afc401fd78c', # easybuild-easyblocks-4.4.2.tar.gz + '6ec2fa4d9116d45298318f31292726b6f6d1257580cff82138904c69ab38bc46', # easybuild-easyconfigs-4.4.2.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb new file mode 100644 index 00000000000..3522ff05e7a --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.0.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.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/f9/61/0d84b3271b7eeb8d74030e6045f8b366b0e8d642d86e3dff30b0c13cb84c/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/b4/12/196cf5878a89c1616ef763b173b443fbb988b9b74cfc8441b75623e14e89/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/7a/d5/57819d671972c2b79f506c7dc06c2be2fb13c77e4fdc7c8dfe3c2aff968e/' +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + 'f2d9889c5b226f985af0b7085b0a69cee5486b51209e4fceb28720a83ca7edec', # easybuild-framework-4.5.0.tar.gz + '79317eeef634c99aac7f4a393d2c6e7934f48ec31e934570faf963de6b9184b9', # easybuild-easyblocks-4.5.0.tar.gz + 'f75d08466d0692f134ca77390f63445b432af9955b2039205de8b57018edd9b6', # easybuild-easyconfigs-4.5.0.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb new file mode 100644 index 00000000000..7f2ef294c1c --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.1.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.1' + +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/b5/ef/8764968b5dc2eedb3eac6ac17e1bc3f7d283b18dd0409d26eefa0f80e720/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/13/16/1b107077b368e713a6cce53fc8b7df4c133ccc19d05818dfdf783d5d7d24/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/2c/77/f529f9e4c07631e4222055e487e26d26cddb4d321c85f64fb08117f73521/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + 'db6f9013c8cc8501957d23c699cf0eecfffe609a4c0439418325216e11a9be69', # easybuild-framework-4.5.1.tar.gz + '03f10044ddbfe5c48c3257ccd2bbeeecb3b215d0b604efa194ec95d670e7a1d2', # easybuild-easyblocks-4.5.1.tar.gz + 'd1b7e63f733b204a88259dc29fcd10481afd7aacac6ad37b996841ddd733f72b', # easybuild-easyconfigs-4.5.1.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb new file mode 100644 index 00000000000..4c088277872 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.2.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.2' + +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/c9/ab/97fb7e054494ff2526f32f061c9d64795b46cd553a3e6c119a4c05316496/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/ae/d3/933992ff3ba424c5de0ddcb514cabff9507d7dff6b18052fd28cde4dbe1a/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/aa/c6/d47ed3cd2765b3df0a786bc30595c340be29abe98825ebd52a19e26c3fdc/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '011f9916306492684841e98777cc64652fa5f738a0cd3e819d958be82c2305e8', # easybuild-framework-4.5.2.tar.gz + 'cbe7f5f0171b4a4846f723d77757875c7d80f2bbd76def95698f37addd472663', # easybuild-easyblocks-4.5.2.tar.gz + 'f6fd3870e267b59f18c0e43c29e80adb1544d6f52ea5676be84e9630bae2bce3', # easybuild-easyconfigs-4.5.2.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.3.eb new file mode 100644 index 00000000000..db0436a30e8 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.3.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.3' + +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/4a/12/63a8d8f4f7132da62a3d81f7f385ef2b88fd41536007bf2939ea6d8f7639/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/8a/7b/bbda3cd4f5c0aa0364e2f4392330e94e3d73c0c6dae703832e9a6ac7ab6c/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/07/78/41bcf3f94068a49a1d66f65711c95be02b1affeefb457e393601376ae335/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '67fc32ae51bd421a94f8ad764b71d806e01ed87548d58fb1a99b81719337b8ad', # easybuild-framework-4.5.3.tar.gz + '2ff3d075f305e18fa6a40dcd8a4d963c3487668232f70945e32bdaa871bb8707', # easybuild-easyblocks-4.5.3.tar.gz + 'b8677a153f702142512f492eaf2388e54c5638c3d8966eb5456cb54cc4ef2a9f', # easybuild-easyconfigs-4.5.3.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.4.eb new file mode 100644 index 00000000000..3efe84aba68 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.4.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.4' + +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/53/11/cf7d2baffc06b84a60cf7c08c6d2792af438ce189cd8a7494591e5b6ca23/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/01/89/bda8e81643d1718f6ac4cf08a5f1172c126a10e52159521f2b18ca9da08c/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/42/bc/c7b69d44a221fde05ae0d6f093a088f67f2f6138e868e9102a209c3036aa/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '3181c66b25c0bc8691fb91406ad58bca650eee792835f64a19276ebfb7e8f8b4', # easybuild-framework-4.5.4.tar.gz + 'e1c50ee4f5efb3425995153547bc56110d6c63c8d6f4fb40a5a48e5d5a455721', # easybuild-easyblocks-4.5.4.tar.gz + 'bfc0de9edf518210e05e7fababfee7a63510673facf0cf3a81f1eb22e03c8895', # easybuild-easyconfigs-4.5.4.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.5.5.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.5.eb new file mode 100644 index 00000000000..7023fee945c --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.5.5.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.5.5' + +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/14/f0/cc156a5f886d076fe7f0fef23a267710744608ce623aa85aee8f2cf65d2c/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/b1/c9/99a8888a3ecf544ec6091ff31daa7e39412323e4d13ad423a719d5dd3f67/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/47/96/34a70ba9ebc2b65046f4a5955f681b975dfa31131af9cd87e4ccbc05b0c7/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '9e45c18ab0105da68f5ccba1404515cba3bea4ba6a9fbecbe258addbf623a958', # easybuild-framework-4.5.5.tar.gz + 'aa59432efe389c3d2cfbae61c4083a40d7b9652ebd75bd03da7a8fdb8a139b53', # easybuild-easyblocks-4.5.5.tar.gz + 'ebb85680bc42653ec1816bfcd2e6c6433825191ce5c56ed152cbff5a0e4d7634', # easybuild-easyconfigs-4.5.5.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.6.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.0.eb new file mode 100644 index 00000000000..7fe22124767 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.0.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.6.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/e8/e4/16246c2e65b477eca58a9c3e55a86822d9e1846cd38eef0d316e09f2888e/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/5b/7e/ebb2e41cf8462cb112e31967459fa219755e8746ad2fc1467595bff1dee8/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/b0/e3/99328129438decc5974944c56e7278ddb03fe04b017c2cdf17da6b8e2c38/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '4010e9a0e507328a2b4bc7786c0cba81e63346b1a055fa46e2b6e67453abe30f', # easybuild-framework-4.6.0.tar.gz + 'd0e2104b3265e7f844677edb8659fd29bef4f14fab27502b8afa2b955f165756', # easybuild-easyblocks-4.6.0.tar.gz + '21e1a3681343708ceb3dbf895997de54706ec72fa7c79d17454a44720f298413', # easybuild-easyconfigs-4.6.0.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.6.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.1.eb new file mode 100644 index 00000000000..5edaba5f48e --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.1.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.6.1' + +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/8f/a8/0a0643997744b98ba58420ac61a4d90a07c7bc55c2e9758c6d6109c830c5/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/44/4e/9c383093e979de7493f9670c1101ab0a259b1e6d3ac975dc8b62d9c78a48/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/a2/23/85ebe66474384de982b949950e62c66fe6bf34dff34317e0a33c96949517/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + 'a085f503be7f01db4711db5c56395eb6867c2688ed652a3c1878fe4d253cf273', # easybuild-framework-4.6.1.tar.gz + 'a2a51c14c916a6561b3a66ca9dbfe09734dcc8450cd69f3196e6cc2541e2cc59', # easybuild-easyblocks-4.6.1.tar.gz + '14eb71e3ebac6c27f5000e450b8d6cf2c83f0a508558d06189314e1051f6be46', # easybuild-easyconfigs-4.6.1.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.6.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.2.eb new file mode 100644 index 00000000000..6168661c256 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.6.2.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.6.2' + +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/88/7f/67dd44ae3204cba36c66578b14e284ce5210d8217fb383eb24c1691a1bfd/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/fe/52/2609eb0d2b9e9678670c2faec23b14c9c180b4a1d2494fd91c29df2a9a5e/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/5c/6b/1ead89a64a19717e5b0a0c8453458e7186928a36280e9592092ee6d58273/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + '136a49ed40b4d7fed1b3d3d47f0f2804cb7744fd886eb9887672e85f7e820499', # easybuild-framework-4.6.2.tar.gz + 'b88059feeb2a97c944f6a71dc88cec683fef650ac081f8563b3f312cf8fe2794', # easybuild-easyblocks-4.6.2.tar.gz + 'b9a305200c8874852cfa3d07d72ed7295481c1b532f7579dcf1212deebcd393b', # easybuild-easyconfigs-4.6.2.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.7.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.0.eb new file mode 100644 index 00000000000..b83e8bec9ca --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.0.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.7.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/09/0d/513a4474666ac06a534d8a972157208d96f691ae9a02d421905673f1a1b4/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/38/d4/b2d82d63ba96c8df407b7e1dcbfd31906d6cc3ecf8d5cd99a407c79be3bb/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/15/96/d0067ed08519b92f34d3e44fa0aff8ed310190d9a95efde123ed6eabdf97/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + 'ea51c3cb88fca27daadd2fb55ee31f5f51fc60c4e3519ee9d275954540312df8', # easybuild-framework-4.7.0.tar.gz + 'c23e81cbaa3e4fa5ab1bb8b2db759332867d61110bf4ec34763ea170780f0655', # easybuild-easyblocks-4.7.0.tar.gz + 'c688f14a3b0dce45c6cc90d746f05127dbf7368bd9b5873ce50757992d8e6261', # easybuild-easyconfigs-4.7.0.tar.gz +] + +# 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/EasyBuild/EasyBuild-4.7.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.1.eb new file mode 100644 index 00000000000..8d9ac53bb93 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.1.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.7.1' + +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/76/4b/b7a88e791cce0d79db9f2319ab07c79584815ca9e497d178c39fa4621b8d/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/10/72/391eb5bde081da67fef0a59625ce7cf4939176416aed299ef55923e422b4/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/32/1a/e7c851db23ffb0fc5c3cc9c255318d533f642c86eff2c3c33e0ab063a449/', + +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.7.1.tar.gz': 'ad3d95c2b11f895666d83cda3422e785261ecb9d14e7c3e0c9cef427b7404d6b'}, + {'easybuild-easyblocks-4.7.1.tar.gz': '8c383dc4d02784e5ab610cec2df58c19ff9c1b7c03bb7585788ced1646e394e8'}, + {'easybuild-easyconfigs-4.7.1.tar.gz': '58c70e7e4a8958f932e4e7abab0194198a8f9baf19915bfa5191b431f3f1a864'}, +] + +# 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/EasyBuild/EasyBuild-4.7.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.2.eb new file mode 100644 index 00000000000..8153a7f1f36 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.7.2.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.7.2' + +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/07/e1/c9bb4ddce9e02dccbff5afb41a25e0d61274ba8db8def11aed4b7f4bb8aa/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/83/0c/c4953eadf14c7fd5af42873b97a02498a32cb6827213b5549ffab8730e52/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/80/86/791f7470292f1d6b26eb84e08a53ceb37c3d75e45d02ae48d8b51a3d4075/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.7.2.tar.gz': '508ed5ffbb450aa1212bd451b51b2555109b94964c6bbd2818a150eb47fb3662'}, + {'easybuild-easyblocks-4.7.2.tar.gz': '6347aac95c56a5172688db98fd2cad3e348df206dd2a9c0389adab3208046699'}, + {'easybuild-easyconfigs-4.7.2.tar.gz': 'd678c541bd1f0d3d2ccd2a203fb0eaa8f958d77c910138c3d2518f61047bc17e'}, +] + +# 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/EasyBuild/EasyBuild-4.8.0.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.0.eb new file mode 100644 index 00000000000..8aa03116c7b --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.0.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.8.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/c5/99/f1debe9cd43817f3a71a7e27760668a824b6f679cacb69e6c4cc7b7833f5/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/be/07/f78fbbb52e635b24e74e8aab2177c6e39732ebd8c6904594d97f87942832/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/d4/c8/d2750fe1f56ca3fac2cf3453c9a0be1951cca4036b7285ee06941e5f7d72/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.8.0.tar.gz': '3ce1b0af247e3465b71829fadb8df92b6299224dc50053078bfb1d5672b7ae0f'}, + {'easybuild-easyblocks-4.8.0.tar.gz': '982ddca8ca6d0a43970484330f34127c2cffcf49833a2599fb30c8b2a0b06ab5'}, + {'easybuild-easyconfigs-4.8.0.tar.gz': '92334a53d28e7b75a1566446dba9e1cbd6ce5d039d104ae7c3ff4cf8c0385700'}, +] + +# 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/EasyBuild/EasyBuild-4.8.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.1.eb new file mode 100644 index 00000000000..ce5994d0950 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.1.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.8.1' + +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/48/81/ba869b5b0a35256776050d68832cd2deef907bd49ed9ad37af987292f7b4/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/a2/d8/49510a1a42bff15321209cc5b97c4fbb9f875a5b5444ceb5c1aa99555574/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/8e/fb/ae4772bc01a0e9b64fe6c632a6fc83031f224553c835e6597df0dfd08178/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.8.1.tar.gz': '5e5a98b6dde42172a373b62710f7a62fb6ffea1a0bcdb587a662a14b984aa4d2'}, + {'easybuild-easyblocks-4.8.1.tar.gz': '8d51be0811a727c4bad166d3b03aa2dabf8e17ff26b8d48be8cf8970081e673a'}, + {'easybuild-easyconfigs-4.8.1.tar.gz': '880747d8c9ff0d621eff1b66a81c65a2c9a80488b9161f119557150934a22812'}, +] + +# 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/EasyBuild/EasyBuild-4.8.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.2.eb new file mode 100644 index 00000000000..3ee367b47ec --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.8.2.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.8.2' + +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/e5/40/17e4ddbe7aa160e67219a90c7c4f67baa4b0efc3a6c21ab0e2c858af8f4e/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/85/07/e59231a6f4a90f6bd7c24c9c3b923469024ab0072af95dac9409624796d1/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/4b/1e/27f7d6785b35978ebb70a518bb1ea699ace8d05395c902a6d518de8590bb/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.8.2.tar.gz': '87852289d099aed18e6778c556d8aed173ab1ff711c20e7d9ad32803336b3610'}, + {'easybuild-easyblocks-4.8.2.tar.gz': '796ba8268e2832c6cb78c681401ce401f4d3a6471e1407a3987e76e6f42b3fd7'}, + {'easybuild-easyconfigs-4.8.2.tar.gz': 'c191b09f68cc3a0be33d248edfb892a143424af119f6ae6fd076c7880343cd63'}, +] + +# 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/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/EasyBuild/EasyBuild-4.9.1.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb new file mode 100644 index 00000000000..5b5053253a3 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.1.eb @@ -0,0 +1,44 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.1' + +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/39/52/e61195776d676e96289b2956f6a1045c0577d836c776c04bc3694c6b4b89/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/ec/bd/c6117c19a49711752e095f425937d3405d90b1a60089d953f688ee89e6a8/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/2d/78/a9357a9ef22703bb982427a25989dc9f563f21073f08cba5dc914c13a182/', +] +sources = [ + 'easybuild-framework-%(version)s.tar.gz', + 'easybuild-easyblocks-%(version)s.tar.gz', + 'easybuild-easyconfigs-%(version)s.tar.gz', +] +checksums = [ + {'easybuild-framework-4.9.1.tar.gz': '8f0448d32fab13019e06dba80fa3e13681574df302452184e5f8543c13ff2123'}, + {'easybuild-easyblocks-4.9.1.tar.gz': 'da5adfa25356f62d28b170368c0d342bef08e18d843da713e011d7c344ad665e'}, + {'easybuild-easyconfigs-4.9.1.tar.gz': '86b4abe118ea85b82ad981b63ccf03a0539664b8797327f060fe655216da26c8'}, +] + +# 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/EasyBuild/EasyBuild-4.9.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.2.eb new file mode 100644 index 00000000000..cb476c53d7f --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.2.eb @@ -0,0 +1,56 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.2' + +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/cc/1f/676fc9e29c68e9c39c6dadf150ab4e5bf4907de4b9afd2bc6e0afd24ab7c/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/5d/85/e8593ceeb00c61253204e74d2a8360076ce016f42d83d33841f8e7de57a1/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/99/b2/d899b4310bc54a10e0fb46995a2abc333857db16d116f22a53b0313d13d7/', +] +# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version +# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_'; +# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358 +sources = [ + { + 'filename': 'easybuild_framework-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s", + }, + { + 'filename': 'easybuild_easyblocks-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s", + }, + { + 'filename': 'easybuild_easyconfigs-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s", + }, +] +checksums = [ + {'easybuild_framework-4.9.2.tar.gz': 'cc6e0fe7bab2a96d424656ed70bf33e3b083eef5ceaa5d5fed88aa7b91dd3d63'}, + {'easybuild_easyblocks-4.9.2.tar.gz': '48202a89995a3d0a19228a35e409228bb6aa190ec7d7a7560e449303954953df'}, + {'easybuild_easyconfigs-4.9.2.tar.gz': '52d6f6378fc331cda8a94ff196d5bd6bb74c8029c973ee6a92763c256571eec7'}, +] + +# 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/EasyBuild/EasyBuild-4.9.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.3.eb new file mode 100644 index 00000000000..4059b342213 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.3.eb @@ -0,0 +1,56 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.3' + +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/10/a0/e5484d4078f7450042cd7b7a1af24fd3f8d0cb4818f4578e4c322ba488d8/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/ee/40/4f6412917f83429f9389b977903c8905f216cb211c8bf3111f28c3017677/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/13/95/44d1e10ceaaf08219ef50d1d97d500ba3b6b34f2d76dd1ff64def71612dc/', +] +# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version +# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_'; +# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358 +sources = [ + { + 'filename': 'easybuild_framework-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s", + }, + { + 'filename': 'easybuild_easyblocks-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s", + }, + { + 'filename': 'easybuild_easyconfigs-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s", + }, +] +checksums = [ + {'easybuild_framework-4.9.3.tar.gz': '43bbcaa0a7b075eb6483054428ef4b1279a9fc850301171688f86899eaebfff8'}, + {'easybuild_easyblocks-4.9.3.tar.gz': '4f036be918f88fe2dadba87f15d696e9b4d3f8f06986c675b9fafc77b591649d'}, + {'easybuild_easyconfigs-4.9.3.tar.gz': 'f7f501c87cb16a8eb393f5e98cb3cd5f8e84314901e81ff50f8140681b415676'}, +] + +# 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/EasyBuild/EasyBuild-4.9.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb new file mode 100644 index 00000000000..064536bb936 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb @@ -0,0 +1,59 @@ +easyblock = 'EB_EasyBuildMeta' + +name = 'EasyBuild' +version = '4.9.4' + +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/bd/25/512d9e895a86f4df198274e8a5f6868406d97cc75da9acc5797f78139b52/', + # easybuild-easyblocks + 'https://files.pythonhosted.org/packages/d7/b0/b9289c78fafc21c5c01b225aeee89c69914166742e5f80955d49ed8f9722/', + # easybuild-easyconfigs + 'https://files.pythonhosted.org/packages/ed/2c/7b2b22235ffe9310a93cbfef06fb3723466aa8ccc4aca4888b59433e55a6/', +] +# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version +# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_'; +# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358 +sources = [ + { + 'filename': 'easybuild_framework-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s", + }, + { + 'filename': 'easybuild_easyblocks-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s", + }, + { + 'filename': 'easybuild_easyconfigs-%(version)s.tar.gz', + 'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s", + }, +] +patches = ['EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch'] +checksums = [ + {'easybuild_framework-4.9.4.tar.gz': '5b380a2e3a359f64f06789c390200b922a840f6b10b441e5163696a34bd9bc27'}, + {'easybuild_easyblocks-4.9.4.tar.gz': '1272f1e294090caafde8cbda72ae344ef400fdd161163781f67b3cffe761dd62'}, + {'easybuild_easyconfigs-4.9.4.tar.gz': 'beee4e098f5fee18f2029d6a0b893549aba26e075b147cc0008cb16fd4c8d982'}, + {'EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch': + '602d9abfdd90f435bdc877b1d2710a17ae577c790914e7bf61428dc7073ad1b6'}, +] + +# 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/EasyBuild/EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch new file mode 100644 index 00000000000..f93ba6247c4 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch @@ -0,0 +1,23 @@ +https://github.com/easybuilders/easybuild-framework/pull/4668 +From 688c6709504c4b54f881b9a674c3c5dfd6acd241 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= +Date: Fri, 4 Oct 2024 16:35:35 +0200 +Subject: [PATCH] fix typo in veryloose toolchain option + +--- + easybuild/toolchains/compiler/gcc.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/easybuild/toolchains/compiler/gcc.py b/easybuild/toolchains/compiler/gcc.py +index e9748f3bda..fd50ad2c03 100644 +--- a/easybuild/toolchains/compiler/gcc.py ++++ b/easybuild/toolchains/compiler/gcc.py +@@ -85,7 +85,7 @@ class Gcc(Compiler): + COMPILER_UNIQUE_OPTION_MAP['strict'] = [] + COMPILER_UNIQUE_OPTION_MAP['precise'] = [] + COMPILER_UNIQUE_OPTION_MAP['loose'] = ['fno-math-errno'] +- COMPILER_UNIQUE_OPTION_MAP['verloose'] = ['fno-math-errno'] ++ COMPILER_UNIQUE_OPTION_MAP['veryloose'] = ['fno-math-errno'] + + # used when 'optarch' toolchain option is enabled (and --optarch is not specified) + COMPILER_OPTIMAL_ARCHITECTURE_OPTION = { diff --git a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..f5a93adc6f7 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'EasyMocap' +version = '0.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://chingswy.github.io/easymocap-public-doc/' +description = """EasyMoCap is an open-source toolbox designed for markerless + human motion capture from RGB videos. This project offers a wide range of motion + capture methods across various settings.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('tqdm', '4.64.0'), + ('OpenCV', '4.6.0', '-CUDA-%(cudaver)s-contrib'), + ('flatbuffers', '2.0.7'), + ('matplotlib', '3.5.2'), + ('PortAudio', '19.7.0'), + # for pyrender + ('freetype-py', '2.4.0'), + ('imageio', '2.22.2'), + ('networkx', '2.8.4'), + ('PyOpenGL', '3.1.6'), + ('trimesh', '3.17.1'), + # for ipdb + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('chumpy', '0.70', { + 'checksums': ['a0275c2018784ca1302875567dc81761f5fd469fab9f3ac0f3e7c39e9180350a'], + }), + ('func_timeout', '4.3.5', { + 'checksums': ['74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd'], + }), + ('ipdb', '0.13.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4'], + }), + ('termcolor', '2.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63'], + }), + ('yacs', '0.1.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['99f893e30497a4b66842821bac316386f7bd5c4f47ad35c9073ef089aa33af32'], + }), + ('pyglet', '2.0.15', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9e4cc16efc308106fd3a9ff8f04e7a6f4f6a807c6ac8a331375efbbac8be85af'], + }), + ('pyrender', '0.1.45', { + # PyOpenGL requirement is too strict + 'preinstallopts': "sed -i 's/PyOpenGL==3.1.0/PyOpenGL>=3.1.0/g' setup.py && ", + 'checksums': ['284b2432bf6832f05c5216c4b979ceb514ea78163bf53b8ce2bdf0069cb3b92e'], + }), + # Building from source fails. See https://github.com/google/mediapipe/issues/5247 + ('mediapipe', '0.10.11', { + 'sources': ['mediapipe-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['fc5283a50227a93d7755fd0f83d0d6daeb0f1c841df1ac9101e96e32e7e03ba1'], + }), + ('sounddevice', '0.4.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5de768ba6fe56ad2b5aaa2eea794b76b73e427961c95acad2ee2ed7f866a4b20'], + }), + (name, version, { + 'source_urls': ['https://github.com/zju3dv/EasyMocap/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d4c42b82ea8a53662354ff70b775e505c654ca4fd51524029214acbc16aa9773'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb new file mode 100644 index 00000000000..b3ea4435687 --- /dev/null +++ b/easybuild/easyconfigs/e/EasyMocap/EasyMocap-0.2-foss-2022a.eb @@ -0,0 +1,79 @@ +easyblock = 'PythonBundle' + +name = 'EasyMocap' +version = '0.2' + +homepage = 'https://chingswy.github.io/easymocap-public-doc/' +description = """EasyMoCap is an open-source toolbox designed for markerless + human motion capture from RGB videos. This project offers a wide range of motion + capture methods across various settings.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), + ('tqdm', '4.64.0'), + ('OpenCV', '4.6.0', '-contrib'), + ('flatbuffers', '2.0.7'), + ('matplotlib', '3.5.2'), + ('PortAudio', '19.7.0'), + # for pyrender + ('freetype-py', '2.4.0'), + ('imageio', '2.22.2'), + ('networkx', '2.8.4'), + ('PyOpenGL', '3.1.6'), + ('trimesh', '3.17.1'), + # for ipdb + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('chumpy', '0.70', { + 'checksums': ['a0275c2018784ca1302875567dc81761f5fd469fab9f3ac0f3e7c39e9180350a'], + }), + ('func_timeout', '4.3.5', { + 'checksums': ['74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd'], + }), + ('ipdb', '0.13.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4'], + }), + ('termcolor', '2.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63'], + }), + ('yacs', '0.1.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['99f893e30497a4b66842821bac316386f7bd5c4f47ad35c9073ef089aa33af32'], + }), + ('pyglet', '2.0.15', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['9e4cc16efc308106fd3a9ff8f04e7a6f4f6a807c6ac8a331375efbbac8be85af'], + }), + ('pyrender', '0.1.45', { + # PyOpenGL requirement is too strict + 'preinstallopts': "sed -i 's/PyOpenGL==3.1.0/PyOpenGL>=3.1.0/g' setup.py && ", + 'checksums': ['284b2432bf6832f05c5216c4b979ceb514ea78163bf53b8ce2bdf0069cb3b92e'], + }), + # Building from source fails. See https://github.com/google/mediapipe/issues/5247 + ('mediapipe', '0.10.11', { + 'sources': ['mediapipe-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['fc5283a50227a93d7755fd0f83d0d6daeb0f1c841df1ac9101e96e32e7e03ba1'], + }), + ('sounddevice', '0.4.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5de768ba6fe56ad2b5aaa2eea794b76b73e427961c95acad2ee2ed7f866a4b20'], + }), + (name, version, { + 'source_urls': ['https://github.com/zju3dv/EasyMocap/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d4c42b82ea8a53662354ff70b775e505c654ca4fd51524029214acbc16aa9773'], + }), +] + +moduleclass = 'vis' 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/Eigen/Eigen-3.3.4.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.4.eb index 6147a422071..b118fa6bee6 100644 --- a/easybuild/easyconfigs/e/Eigen/Eigen-3.3.4.eb +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.4.eb @@ -16,9 +16,9 @@ checksums = ['b170583f59d6778be4bfeae88583c77ed610df5b803ce5cb4aa850d0e8017c2f'] # building CMake at core level is often difficult. # Change the GCCcore version if you want to reuse a different CMake you already have installed. builddependencies = [ - ('GCCcore', '6.4.0'), # Needed to access CMake when using HMNS - ('binutils', '2.28'), # Needed to pass CMakes compiler health check on old systems - ('CMake', '3.11.1', '-GCCcore-6.4.0'), + ('GCCcore', '7.3.0'), # Needed to access CMake when using HMNS + ('binutils', '2.30'), # Needed to pass CMakes compiler health check on old systems + ('CMake', '3.12.1', '-GCCcore-7.3.0'), ] moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.3.5.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.5.eb index 18ba0bdce86..e2bc644be1a 100644 --- a/easybuild/easyconfigs/e/Eigen/Eigen-3.3.5.eb +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.5.eb @@ -16,9 +16,9 @@ checksums = ['0208f8d3d5f3b9fd1a022c5f47d6ebbd6f11c4ed6e756764871bf4ffb1e117a1'] # building CMake at core level is often difficult. # Change the GCCcore version if you want to reuse a different CMake you already have installed. builddependencies = [ - ('GCCcore', '6.4.0'), # Needed to access CMake when using HMNS - ('binutils', '2.28'), # Needed to pass CMakes compiler health check on old systems - ('CMake', '3.11.1', '-GCCcore-6.4.0'), + ('GCCcore', '7.3.0'), # Needed to access CMake when using HMNS + ('binutils', '2.30'), # Needed to pass CMakes compiler health check on old systems + ('CMake', '3.12.1', '-GCCcore-7.3.0'), ] moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..749a4d82e86 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-10.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.3.9' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0fa5cafe78f66d2b501b43016858070d52ba47bd9b1016b0165a7b8e04675677'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.35'), # to make CMake compiler health check pass on old systems + ('CMake', '3.18.4'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0b4155d9416 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.3.9-GCCcore-11.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.3.9' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0fa5cafe78f66d2b501b43016858070d52ba47bd9b1016b0165a7b8e04675677'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.37'), # to make CMake compiler health check pass on old systems + ('CMake', '3.21.1'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..97fabdb318b --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-10.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.35'), # to make CMake compiler health check pass on old systems + ('CMake', '3.18.4'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..29a8b27adc6 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.37'), # to make CMake compiler health check pass on old systems + ('CMake', '3.21.1'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..45b94168ed0 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.38'), # to make CMake compiler health check pass on old systems + ('CMake', '3.23.1'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4195527a89f --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.39'), # to make CMake compiler health check pass on old systems + ('CMake', '3.24.3'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dfd909ce779 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.3.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.40'), # to make CMake compiler health check pass on old systems + ('CMake', '3.26.3'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..be01a493ef6 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.40'), # to make CMake compiler health check pass on old systems + ('CMake', '3.27.6'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f6a47336ef1 --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.42'), # to make CMake compiler health check pass on old systems + ('CMake', '3.29.3'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/EigenExa/EigenExa-2.11-intel-2020b.eb b/easybuild/easyconfigs/e/EigenExa/EigenExa-2.11-intel-2020b.eb new file mode 100644 index 00000000000..c9a3c391abe --- /dev/null +++ b/easybuild/easyconfigs/e/EigenExa/EigenExa-2.11-intel-2020b.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'EigenExa' +version = '2.11' + +homepage = 'https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/' +description = """EigenExa, a part of KMATHLIB, is a high performance eigen-solver.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['87dee8ac13f410a007e82df2688fa7f143883229dac729fd20836f4a28fac43d'] + +builddependencies = [ + ('Autotools', '20200321') +] + +preconfigopts = './cleanup && ./bootstrap && ' + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libEigenExa.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/Elk/Elk-7.2.42-foss-2021a.eb b/easybuild/easyconfigs/e/Elk/Elk-7.2.42-foss-2021a.eb new file mode 100644 index 00000000000..bed8499fc6b --- /dev/null +++ b/easybuild/easyconfigs/e/Elk/Elk-7.2.42-foss-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'MakeCp' + +name = 'Elk' +version = '7.2.42' + +homepage = 'http://elk.sourceforge.net/' +description = """An all-electron full-potential linearised +augmented-plane wave (FP-LAPW) code with many advanced features. Written +originally at Karl-Franzens-Universität Graz as a milestone of the +EXCITING EU Research and Training Network, the code is designed to be as +simple as possible so that new developments in the field of density +functional theory (DFT) can be added quickly and reliably. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True, 'opt': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TGZ] +checksums = ['73f03776dbf9b2147bfcc5b7c062af5befa0944608f6fc4b6a1e590615400fc6'] + +dependencies = [ + ('libxc', '5.1.5'), + ('Wannier90', '3.1.0'), +] + + +# make.inc file is generated interactively by "setup" command, creating it here +prebuildopts = 'echo "F90_OPTS = -std=legacy $FFLAGS" > make.inc && ' +prebuildopts += 'echo "F77_OPTS = -std=legacy $FFLAGS" >> make.inc && ' +prebuildopts += 'echo "LIB_LPK = $LIBLAPACK" >> make.inc && ' +prebuildopts += 'echo "LIB_FFT = $LIBFFT" >> make.inc && ' +prebuildopts += 'echo "LIB_W90 = -lwannier" >> make.inc && ' +prebuildopts += 'echo "LIB_libxc = -lxcf90 -lxc" >> make.inc && ' +prebuildopts += 'echo "SRC_libxc = libxcf90.f90 libxcifc.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_FFT = zfftifc_fftw.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_OBLAS = oblas_stub.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_BLIS = blis_stub.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_MKL = mkl_stub.f90" >> make.inc && ' + +buildopts = 'all' + +runtest = 'test' + +parallel = 1 + +files_to_copy = [( + [ + 'src/elk', 'src/spacegroup/spacegroup', 'src/eos/eos', + 'utilities/elk-bands/elk-bands', 'utilities/elk-optics/elk-optics.py', + 'utilities/wien2k-elk/se.pl' + ], 'bin' +)] + +sanity_check_paths = { + 'files': ['bin/elk', 'bin/spacegroup', 'bin/eos'], + 'dirs': [] +} + +sanity_check_commands = ["elk | grep '^Elk code version %(version)s'"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/e/Elk/Elk-8.5.2-foss-2022a.eb b/easybuild/easyconfigs/e/Elk/Elk-8.5.2-foss-2022a.eb new file mode 100644 index 00000000000..939ca43c870 --- /dev/null +++ b/easybuild/easyconfigs/e/Elk/Elk-8.5.2-foss-2022a.eb @@ -0,0 +1,63 @@ +easyblock = 'MakeCp' + +name = 'Elk' +version = '8.5.2' + +homepage = 'http://elk.sourceforge.net/' +description = """An all-electron full-potential linearised +augmented-plane wave (FP-LAPW) code with many advanced features. Written +originally at Karl-Franzens-Universität Graz as a milestone of the +EXCITING EU Research and Training Network, the code is designed to be as +simple as possible so that new developments in the field of density +functional theory (DFT) can be added quickly and reliably. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True, 'opt': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TGZ] +checksums = ['2d9d98ddadb8a6e031d32cb0957f41bc53099c286874bd1b38a08164352de7c0'] + +dependencies = [ + ('libxc', '5.2.3'), + ('Wannier90', '3.1.0'), +] + + +# make.inc file is generated interactively by "setup" command, creating it here +prebuildopts = 'echo "F90_OPTS = -std=legacy $FFLAGS" > make.inc && ' +prebuildopts += 'echo "F77_OPTS = -std=legacy $FFLAGS" >> make.inc && ' +prebuildopts += 'echo "LIB_LPK = $LIBLAPACK" >> make.inc && ' +prebuildopts += 'echo "LIB_FFT = $LIBFFT" >> make.inc && ' +prebuildopts += 'echo "LIB_W90 = -lwannier" >> make.inc && ' +prebuildopts += 'echo "LIB_libxc = -lxcf90 -lxc" >> make.inc && ' +prebuildopts += 'echo "SRC_libxc = libxcf90.f90 libxcifc.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_FFT = zfftifc_fftw.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_OBLAS = oblas_stub.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_BLIS = blis_stub.f90" >> make.inc && ' +prebuildopts += 'echo "SRC_MKL = mkl_stub.f90" >> make.inc && ' + +buildopts = 'all' + +runtest = 'test' + +parallel = 1 + +files_to_copy = [( + [ + 'src/elk', 'src/spacegroup/spacegroup', 'src/eos/eos', + 'utilities/elk-bands/elk-bands', 'utilities/elk-optics/elk-optics.py', + 'utilities/wien2k-elk/se.pl' + ], 'bin' +)] + +sanity_check_paths = { + 'files': ['bin/elk', 'bin/spacegroup', 'bin/eos'], + 'dirs': [] +} + +# Elk 8.5.2 reports its version as "8.5.02", so we test only major+minor versions +sanity_check_commands = ["elk | grep '^Elk code version %(version_major)s.%(version_minor)s'"] + +moduleclass = 'phys' 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/Emacs/Emacs-27.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/Emacs/Emacs-27.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ccf142dcff1 --- /dev/null +++ b/easybuild/easyconfigs/e/Emacs/Emacs-27.2-GCCcore-11.2.0.eb @@ -0,0 +1,48 @@ +# +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Robert Mijakovic +# reciPY derived from preexisting reciPy for GCCcore-9.2.0. +# +easyblock = 'ConfigureMake' + +name = 'Emacs' +version = '27.2' + +homepage = 'https://www.gnu.org/software/emacs/' +description = """GNU Emacs is an extensible, customizable text editor--and more. + At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming + language with extensions to support text editing.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['80ff6118fb730a6d8c704dccd6915a6c0e0a166ab1daeef9fe68afa9073ddb73'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('ncurses', '6.2'), + ('LibTIFF', '4.3.0'), + ('X11', '20210802'), + ('GTK3', '3.24.31'), +] + +# If you want to use Emacs plugins you must install the gnutls command line tools +# osdependencies = [('gnutls-utils')] + +configopts = '--with-gif=no --with-tiff=yes --with-x-toolkit=yes --with-xpm=yes --with-gnutls=no ' + +sanity_check_paths = { + 'files': ["bin/emacs", "bin/emacs-%(version)s", "bin/emacsclient", "bin/etags"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/Emacs/Emacs-28.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/e/Emacs/Emacs-28.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9bfb1e644e7 --- /dev/null +++ b/easybuild/easyconfigs/e/Emacs/Emacs-28.1-GCCcore-10.2.0.eb @@ -0,0 +1,49 @@ +# +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Robert Mijakovic +# reciPY derived from preexisting reciPy for GCCcore-9.2.0. +# Modder: Ben Langenberg +# +easyblock = 'ConfigureMake' + +name = 'Emacs' +version = '28.1' + +homepage = 'https://www.gnu.org/software/emacs/' +description = """GNU Emacs is an extensible, customizable text editor--and more. + At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming + language with extensions to support text editing.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +source_urls = [GNU_SOURCE] +checksums = ['1439bf7f24e5769f35601dbf332e74dfc07634da6b1e9500af67188a92340a28'] + +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.5'), + ('ncurses', '6.2'), + ('LibTIFF', '4.1.0'), + ('X11', '20201008'), + ('GTK+', '3.24.23'), +] + +# If you want to use Emacs plugins you must install the gnutls command line tools +# osdependencies = [('gnutls-utils')] + +configopts = '--with-gif=no --with-tiff=yes --with-x-toolkit=yes --with-xpm=yes --with-gnutls=no ' + +sanity_check_paths = { + 'files': ["bin/emacs", "bin/emacs-%(version)s", "bin/emacsclient", "bin/etags"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/Emacs/Emacs-28.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/Emacs/Emacs-28.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..09ab4bfa504 --- /dev/null +++ b/easybuild/easyconfigs/e/Emacs/Emacs-28.2-GCCcore-12.2.0.eb @@ -0,0 +1,50 @@ +# +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Robert Mijakovic +# reciPY derived from preexisting reciPy for GCCcore-9.2.0. +# Modder: Ben Langenberg +# Updated by: Thomas Eylenbosch (Gluo N.V.) + +easyblock = 'ConfigureMake' + +name = 'Emacs' +version = '28.2' + +homepage = 'https://www.gnu.org/software/emacs/' +description = """GNU Emacs is an extensible, customizable text editor--and more. + At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming + language with extensions to support text editing.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a6912b14ef4abb1edab7f88191bfd61c3edd7085e084de960a4f86485cb7cad8'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('ncurses', '6.3'), + ('LibTIFF', '4.4.0'), + ('X11', '20221110'), + ('GTK3', '3.24.35'), +] + +# If you want to use Emacs plugins you must install the gnutls command line tools +# osdependencies = [('gnutls-utils')] + +configopts = '--with-gif=no --with-tiff=yes --with-x-toolkit=yes --with-xpm=yes --with-gnutls=no ' + +sanity_check_paths = { + 'files': ["bin/emacs", "bin/emacs-%(version)s", "bin/emacsclient", "bin/etags"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/Embree/Embree-3.13.4.eb b/easybuild/easyconfigs/e/Embree/Embree-3.13.4.eb new file mode 100644 index 00000000000..c78954aadaa --- /dev/null +++ b/easybuild/easyconfigs/e/Embree/Embree-3.13.4.eb @@ -0,0 +1,21 @@ +easyblock = 'Tarball' + +name = 'Embree' +version = '3.13.4' + +homepage = 'https://embree.github.io' +description = "High Performance Ray Tracing Kernels" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.x86_64.linux.tar.gz'] +checksums = ['c9a7e9977e170a693117c3521f28152a6e2f2904ab28156a7a8baee339f96c43'] + +sanity_check_paths = { + 'files': ['bin/convert', 'include/embree3/rtcore.h', + 'include/embree3/rtcore_common.h', 'lib64/libembree3.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/embree3', 'lib64/cmake', 'share/man/man3'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/Embree/Embree-3.4.0-iccifort-2018.1.163-GCC-6.4.0-2.28.eb b/easybuild/easyconfigs/e/Embree/Embree-3.4.0-iccifort-2018.1.163-GCC-6.4.0-2.28.eb new file mode 100644 index 00000000000..8f17e9edb17 --- /dev/null +++ b/easybuild/easyconfigs/e/Embree/Embree-3.4.0-iccifort-2018.1.163-GCC-6.4.0-2.28.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'Embree' +version = '3.4.0' + +homepage = 'https://embree.github.io/' +description = """Intel® Embree is a collection of high-performance ray tracing kernels, developed at Intel. +The target users of Intel® Embree are graphics application engineers who want to improve the performance of +their photo-realistic rendering application by leveraging Embree's performance-optimized ray tracing kernels. +The kernels are optimized for the latest Intel® processors with support for SSE, AVX, AVX2, and AVX-512 instructions. +Intel® Embree supports runtime code selection to choose the traversal and build algorithms that best matches +the instruction set of your CPU. We recommend using Intel® Embree through its API to get the highest benefit +from future improvements. Intel® Embree is released as Open Source under the Apache 2.0 license.""" + +toolchain = {'name': 'iccifort', 'version': '2018.1.163-GCC-6.4.0-2.28'} + +source_urls = ['https://github.com/embree/embree/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['22229f19332d4fd08eb3bf60198211bda674f51632b977c9d7fd09531e09dd8d'] + +builddependencies = [('CMake', '3.11.4')] + +dependencies = [ + ('ispc', '1.10.0', '', SYSTEM), + ('tbb', '2018_U5'), +] + +configopts = '-DEMBREE_TUTORIALS=OFF ' + +sanity_check_paths = { + 'files': ['lib/libembree3.%s' % SHLIB_EXT], + 'dirs': ['bin/embree3/models', 'include/embree3', 'lib/cmake/embree-%(version)s', 'share'], +} + +moduleclass = 'vis' 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/Evcxr-REPL/Evcxr-REPL-0.14.2-GCCcore-12.2.0-Rust-1.65.0.eb b/easybuild/easyconfigs/e/Evcxr-REPL/Evcxr-REPL-0.14.2-GCCcore-12.2.0-Rust-1.65.0.eb new file mode 100644 index 00000000000..90325d9c67c --- /dev/null +++ b/easybuild/easyconfigs/e/Evcxr-REPL/Evcxr-REPL-0.14.2-GCCcore-12.2.0-Rust-1.65.0.eb @@ -0,0 +1,460 @@ +easyblock = 'Cargo' + +name = 'Evcxr-REPL' +version = '0.14.2' +local_rustver = '1.65.0' +versionsuffix = '-Rust-' + local_rustver + +homepage = 'https://github.com/evcxr' +description = "A Rust REPL (Read-Eval-Print loop) built using the evcxr evaluation context." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +crates = [ + ('evcxr_repl', version), + ('evcxr', version), + ('addr2line', '0.19.0'), + ('adler', '1.0.2'), + ('always-assert', '0.1.2'), + ('ansi_term', '0.12.1'), + ('anyhow', '1.0.68'), + ('anymap', '1.0.0-beta.2'), + ('ariadne', '0.1.5'), + ('arrayvec', '0.7.2'), + ('atty', '0.2.14'), + ('autocfg', '1.1.0'), + ('backtrace', '0.3.67'), + ('bitflags', '1.3.2'), + ('camino', '1.1.1'), + ('cargo-platform', '0.1.2'), + ('cargo_metadata', '0.15.2'), + ('cc', '1.0.78'), + ('cfg-if', '1.0.0'), + ('chalk-derive', '0.88.0'), + ('chalk-ir', '0.88.0'), + ('chalk-recursive', '0.88.0'), + ('chalk-solve', '0.88.0'), + ('clap', '2.34.0'), + ('clipboard-win', '4.4.2'), + ('colored', '2.0.0'), + ('countme', '3.0.1'), + ('cov-mark', '2.0.0-pre.1'), + ('crossbeam-channel', '0.5.6'), + ('crossbeam-deque', '0.8.2'), + ('crossbeam-epoch', '0.9.13'), + ('crossbeam-utils', '0.8.14'), + ('ctrlc', '3.2.4'), + ('dashmap', '5.4.0'), + ('dirs', '4.0.0'), + ('dirs-next', '2.0.0'), + ('dirs-sys', '0.3.7'), + ('dirs-sys-next', '0.1.2'), + ('dissimilar', '1.0.5'), + ('dot', '0.1.4'), + ('drop_bomb', '0.1.5'), + ('either', '1.8.0'), + ('ena', '0.14.0'), + ('endian-type', '0.1.2'), + ('errno', '0.2.8'), + ('errno-dragonfly', '0.1.2'), + ('error-code', '2.3.1'), + ('evcxr_input', '1.0.0'), + ('fastrand', '1.8.0'), + ('fd-lock', '3.0.8'), + ('filetime', '0.2.19'), + ('fixedbitset', '0.2.0'), + ('form_urlencoded', '1.1.0'), + ('fsevent-sys', '4.1.0'), + ('fst', '0.4.7'), + ('getrandom', '0.2.8'), + ('gimli', '0.27.0'), + ('hashbrown', '0.12.3'), + ('heck', '0.3.3'), + ('hermit-abi', '0.1.19'), + ('hermit-abi', '0.2.6'), + ('hkalbasi-rustc-ap-rustc_abi', '0.0.20221221'), + ('hkalbasi-rustc-ap-rustc_index', '0.0.20221221'), + ('home', '0.5.4'), + ('idna', '0.3.0'), + ('indexmap', '1.9.2'), + ('inotify', '0.9.6'), + ('inotify-sys', '0.1.5'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.3'), + ('itertools', '0.10.5'), + ('itoa', '1.0.5'), + ('jod-thread', '0.1.2'), + ('json', '0.12.4'), + ('kqueue', '1.0.7'), + ('kqueue-sys', '1.0.3'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.139'), + ('libloading', '0.7.4'), + ('libmimalloc-sys', '0.1.28'), + ('linux-raw-sys', '0.1.4'), + ('lock_api', '0.4.9'), + ('log', '0.4.17'), + ('memchr', '2.5.0'), + ('memoffset', '0.6.5'), + ('memoffset', '0.7.1'), + ('mimalloc', '0.1.32'), + ('miniz_oxide', '0.6.2'), + ('mio', '0.8.5'), + ('miow', '0.5.0'), + ('nibble_vec', '0.1.0'), + ('nix', '0.24.3'), + ('nix', '0.26.1'), + ('notify', '5.0.0'), + ('num_cpus', '1.15.0'), + ('object', '0.30.0'), + ('once_cell', '1.17.0'), + ('oorandom', '11.1.3'), + ('parking_lot', '0.11.2'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.8.6'), + ('parking_lot_core', '0.9.5'), + ('percent-encoding', '2.2.0'), + ('perf-event', '0.4.8'), + ('perf-event-open-sys', '4.0.0'), + ('petgraph', '0.5.1'), + ('pin-project-lite', '0.2.9'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.49'), + ('pulldown-cmark', '0.9.2'), + ('pulldown-cmark-to-cmark', '10.0.4'), + ('quote', '1.0.23'), + ('ra_ap_base_db', '0.0.145'), + ('ra_ap_cfg', '0.0.145'), + ('ra_ap_hir', '0.0.145'), + ('ra_ap_hir_def', '0.0.145'), + ('ra_ap_hir_expand', '0.0.145'), + ('ra_ap_hir_ty', '0.0.145'), + ('ra_ap_ide', '0.0.145'), + ('ra_ap_ide_assists', '0.0.145'), + ('ra_ap_ide_completion', '0.0.145'), + ('ra_ap_ide_db', '0.0.145'), + ('ra_ap_ide_diagnostics', '0.0.145'), + ('ra_ap_ide_ssr', '0.0.145'), + ('ra_ap_la-arena', '0.0.145'), + ('ra_ap_limit', '0.0.145'), + ('ra_ap_mbe', '0.0.145'), + ('ra_ap_parser', '0.0.145'), + ('ra_ap_paths', '0.0.145'), + ('ra_ap_profile', '0.0.145'), + ('ra_ap_project_model', '0.0.145'), + ('ra_ap_stdx', '0.0.145'), + ('ra_ap_syntax', '0.0.145'), + ('ra_ap_test_utils', '0.0.145'), + ('ra_ap_text_edit', '0.0.145'), + ('ra_ap_toolchain', '0.0.145'), + ('ra_ap_tt', '0.0.145'), + ('ra_ap_vfs', '0.0.145'), + ('ra_ap_vfs-notify', '0.0.145'), + ('radix_trie', '0.2.1'), + ('rayon', '1.6.1'), + ('rayon-core', '1.10.1'), + ('redox_syscall', '0.2.16'), + ('redox_users', '0.4.3'), + ('regex', '1.7.0'), + ('regex-syntax', '0.6.28'), + ('remove_dir_all', '0.5.3'), + ('rowan', '0.15.10'), + ('rustc-ap-rustc_lexer', '725.0.0'), + ('rustc-demangle', '0.1.21'), + ('rustc-hash', '1.1.0'), + ('rustix', '0.36.6'), + ('rustyline', '10.0.0'), + ('ryu', '1.0.12'), + ('salsa', '0.17.0-pre.2'), + ('salsa-macros', '0.17.0-pre.2'), + ('same-file', '1.0.6'), + ('scoped-tls', '1.0.1'), + ('scopeguard', '1.1.0'), + ('semver', '1.0.16'), + ('serde', '1.0.152'), + ('serde_derive', '1.0.152'), + ('serde_json', '1.0.91'), + ('sig', '1.0.0'), + ('smallvec', '1.10.0'), + ('smol_str', '0.1.23'), + ('static_assertions', '1.1.0'), + ('str-buf', '1.0.6'), + ('strsim', '0.8.0'), + ('structopt', '0.3.26'), + ('structopt-derive', '0.4.18'), + ('syn', '1.0.107'), + ('synstructure', '0.12.6'), + ('tempfile', '3.3.0'), + ('text-size', '1.1.0'), + ('textwrap', '0.11.0'), + ('thiserror', '1.0.38'), + ('thiserror-impl', '1.0.38'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.0'), + ('tracing', '0.1.37'), + ('tracing-attributes', '0.1.23'), + ('tracing-core', '0.1.30'), + ('typed-arena', '2.0.1'), + ('unicase', '2.6.0'), + ('unicode-bidi', '0.3.8'), + ('unicode-ident', '1.0.6'), + ('unicode-normalization', '0.1.22'), + ('unicode-segmentation', '1.10.0'), + ('unicode-width', '0.1.10'), + ('unicode-xid', '0.2.4'), + ('url', '2.3.1'), + ('utf8parse', '0.2.0'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.4'), + ('walkdir', '2.3.2'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('which', '4.3.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.42.0'), + ('windows_aarch64_gnullvm', '0.42.0'), + ('windows_aarch64_msvc', '0.42.0'), + ('windows_i686_gnu', '0.42.0'), + ('windows_i686_msvc', '0.42.0'), + ('windows_x86_64_gnu', '0.42.0'), + ('windows_x86_64_gnullvm', '0.42.0'), + ('windows_x86_64_msvc', '0.42.0'), + ('yansi', '0.5.1'), +] +sources = [] +checksums = [ + {'evcxr_repl-0.14.2.tar.gz': 'a4cedd22c6547be10582d51394384a272a37009b02f66b2cffe0abd911d7edb7'}, + {'evcxr-0.14.2.tar.gz': 'f88a50e152ccf988eadd6ff5570b7f7b05eb73ec575550c75bece8de9f4a9743'}, + {'addr2line-0.19.0.tar.gz': 'a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'always-assert-0.1.2.tar.gz': 'fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11'}, + {'ansi_term-0.12.1.tar.gz': 'd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2'}, + {'anyhow-1.0.68.tar.gz': '2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61'}, + {'anymap-1.0.0-beta.2.tar.gz': '8f1f8f5a6f3d50d89e3797d7593a50f96bb2aaa20ca0cc7be1fb673232c91d72'}, + {'ariadne-0.1.5.tar.gz': 'f1cb2a2046bea8ce5e875551f5772024882de0b540c7f93dfc5d6cf1ca8b030c'}, + {'arrayvec-0.7.2.tar.gz': '8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'backtrace-0.3.67.tar.gz': '233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'camino-1.1.1.tar.gz': '88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e'}, + {'cargo-platform-0.1.2.tar.gz': 'cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27'}, + {'cargo_metadata-0.15.2.tar.gz': '982a0cf6a99c350d7246035613882e376d58cebe571785abc5da4f648d53ac0a'}, + {'cc-1.0.78.tar.gz': 'a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chalk-derive-0.88.0.tar.gz': '4df80a3fbc1f0e59f560eeeebca94bf655566a8ad3023c210a109deb6056455a'}, + {'chalk-ir-0.88.0.tar.gz': 'f39e5272016916956298cceea5147006f897972c274a768ed4d6e074efe5d3fb'}, + {'chalk-recursive-0.88.0.tar.gz': 'd9d60b42ad7478d3e027e2f9ea4e99fbbb8fdee0c8c3cf068be269f57e603618'}, + {'chalk-solve-0.88.0.tar.gz': 'ab30620ea5b36819525eaab2204f4b8e1842fc7ee36826424a28bef59ae7fecf'}, + {'clap-2.34.0.tar.gz': 'a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c'}, + {'clipboard-win-4.4.2.tar.gz': 'c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219'}, + {'colored-2.0.0.tar.gz': 'b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd'}, + {'countme-3.0.1.tar.gz': '7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636'}, + {'cov-mark-2.0.0-pre.1.tar.gz': '0d48d8f76bd9331f19fe2aaf3821a9f9fb32c3963e1e3d6ce82a8c09cef7444a'}, + {'crossbeam-channel-0.5.6.tar.gz': 'c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521'}, + {'crossbeam-deque-0.8.2.tar.gz': '715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc'}, + {'crossbeam-epoch-0.9.13.tar.gz': '01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a'}, + {'crossbeam-utils-0.8.14.tar.gz': '4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f'}, + {'ctrlc-3.2.4.tar.gz': '1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71'}, + {'dashmap-5.4.0.tar.gz': '907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc'}, + {'dirs-4.0.0.tar.gz': 'ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059'}, + {'dirs-next-2.0.0.tar.gz': 'b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1'}, + {'dirs-sys-0.3.7.tar.gz': '1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6'}, + {'dirs-sys-next-0.1.2.tar.gz': '4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d'}, + {'dissimilar-1.0.5.tar.gz': 'bd5f0c7e4bd266b8ab2550e6238d2e74977c23c15536ac7be45e9c95e2e3fbbb'}, + {'dot-0.1.4.tar.gz': 'a74b6c4d4a1cff5f454164363c16b72fa12463ca6b31f4b5f2035a65fa3d5906'}, + {'drop_bomb-0.1.5.tar.gz': '9bda8e21c04aca2ae33ffc2fd8c23134f3cac46db123ba97bd9d3f3b8a4a85e1'}, + {'either-1.8.0.tar.gz': '90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797'}, + {'ena-0.14.0.tar.gz': 'd7402b94a93c24e742487327a7cd839dc9d36fec9de9fb25b09f2dae459f36c3'}, + {'endian-type-0.1.2.tar.gz': 'c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d'}, + {'errno-0.2.8.tar.gz': 'f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'error-code-2.3.1.tar.gz': '64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21'}, + {'evcxr_input-1.0.0.tar.gz': '15ed7e9b5d7d7506798f5154e9e6390a08a0d4fff03835247a4f423041059a78'}, + {'fastrand-1.8.0.tar.gz': 'a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499'}, + {'fd-lock-3.0.8.tar.gz': 'bb21c69b9fea5e15dbc1049e4b77145dd0ba1c84019c488102de0dc4ea4b0a27'}, + {'filetime-0.2.19.tar.gz': '4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9'}, + {'fixedbitset-0.2.0.tar.gz': '37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d'}, + {'form_urlencoded-1.1.0.tar.gz': 'a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8'}, + {'fsevent-sys-4.1.0.tar.gz': '76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2'}, + {'fst-0.4.7.tar.gz': '7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a'}, + {'getrandom-0.2.8.tar.gz': 'c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31'}, + {'gimli-0.27.0.tar.gz': 'dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.3.3.tar.gz': '6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hermit-abi-0.2.6.tar.gz': 'ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7'}, + {'hkalbasi-rustc-ap-rustc_abi-0.0.20221221.tar.gz': + 'adabaadad9aa7576f97af02241cdf5554d62fb3d51a84cb05d77ba28edd3013f'}, + {'hkalbasi-rustc-ap-rustc_index-0.0.20221221.tar.gz': + 'f4d3c48474e09afb0f5efbd6f758e05411699301a113c47d454d28ec7059d00e'}, + {'home-0.5.4.tar.gz': '747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'indexmap-1.9.2.tar.gz': '1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399'}, + {'inotify-0.9.6.tar.gz': 'f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff'}, + {'inotify-sys-0.1.5.tar.gz': 'e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'io-lifetimes-1.0.3.tar.gz': '46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.5.tar.gz': 'fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440'}, + {'jod-thread-0.1.2.tar.gz': '8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae'}, + {'json-0.12.4.tar.gz': '078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd'}, + {'kqueue-1.0.7.tar.gz': '2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98'}, + {'kqueue-sys-1.0.3.tar.gz': '8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.139.tar.gz': '201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79'}, + {'libloading-0.7.4.tar.gz': 'b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f'}, + {'libmimalloc-sys-0.1.28.tar.gz': '04d1c67deb83e6b75fa4fe3309e09cfeade12e7721d95322af500d3814ea60c9'}, + {'linux-raw-sys-0.1.4.tar.gz': 'f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.6.5.tar.gz': '5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce'}, + {'memoffset-0.7.1.tar.gz': '5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4'}, + {'mimalloc-0.1.32.tar.gz': '9b2374e2999959a7b583e1811a1ddbf1d3a4b9496eceb9746f1192a59d871eca'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'mio-0.8.5.tar.gz': 'e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de'}, + {'miow-0.5.0.tar.gz': '52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123'}, + {'nibble_vec-0.1.0.tar.gz': '77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43'}, + {'nix-0.24.3.tar.gz': 'fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069'}, + {'nix-0.26.1.tar.gz': '46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694'}, + {'notify-5.0.0.tar.gz': 'ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a'}, + {'num_cpus-1.15.0.tar.gz': '0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b'}, + {'object-0.30.0.tar.gz': '239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb'}, + {'once_cell-1.17.0.tar.gz': '6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'parking_lot-0.11.2.tar.gz': '7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.8.6.tar.gz': '60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc'}, + {'parking_lot_core-0.9.5.tar.gz': '7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'perf-event-0.4.8.tar.gz': 'b4d6393d9238342159080d79b78cb59c67399a8e7ecfa5d410bd614169e4e823'}, + {'perf-event-open-sys-4.0.0.tar.gz': '7c44fb1c7651a45a3652c4afc6e754e40b3d6e6556f1487e2b230bfc4f33c2a8'}, + {'petgraph-0.5.1.tar.gz': '467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7'}, + {'pin-project-lite-0.2.9.tar.gz': 'e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-1.0.49.tar.gz': '57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5'}, + {'pulldown-cmark-0.9.2.tar.gz': '2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63'}, + {'pulldown-cmark-to-cmark-10.0.4.tar.gz': '0194e6e1966c23cc5fd988714f85b18d548d773e81965413555d96569931833d'}, + {'quote-1.0.23.tar.gz': '8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b'}, + {'ra_ap_base_db-0.0.145.tar.gz': '14f435340f93872e1f6a883d49e79ef1fea6a8c3869ea49924c5db5ea5d0c99a'}, + {'ra_ap_cfg-0.0.145.tar.gz': '50b4b1e3e4e40f8b708b6322239f13fec1694d8922d610de3ac85c689f7c13e5'}, + {'ra_ap_hir-0.0.145.tar.gz': 'ae559abae8222cc897a8d949f0b5f7d4a891faf300c93059ecc8240f27ef70d0'}, + {'ra_ap_hir_def-0.0.145.tar.gz': '4b1550a71615d1deab0731d085d562af160b6a06c6e704b8007b2add17cefe90'}, + {'ra_ap_hir_expand-0.0.145.tar.gz': '98148e2166a66e989e88bbd3dfe3cd20efbab837055ecb214c392d55570f30b1'}, + {'ra_ap_hir_ty-0.0.145.tar.gz': '22e11c9851da709a396af07fe16646936989d3a9dbdcdd3b3dbb18ae746a78c8'}, + {'ra_ap_ide-0.0.145.tar.gz': 'f950087122a0875152dc58f310c64a9f4588109e255bdab119367c9790d87e29'}, + {'ra_ap_ide_assists-0.0.145.tar.gz': '0fa2f38b4fa5a44bc0a12fc7195b1d6ed16cc8cf042f90a5a867e4c2513977fb'}, + {'ra_ap_ide_completion-0.0.145.tar.gz': 'bf82a52480184d9a2efb97e052762c78ec23c0eaafd8153baf824b55210b730e'}, + {'ra_ap_ide_db-0.0.145.tar.gz': '047aac0646c34533e071155fc692b04b845490bec7766a6e9cde01387465a2bd'}, + {'ra_ap_ide_diagnostics-0.0.145.tar.gz': '722b44ac98ec7bb8b9975f6f42f8ce7c82f9a0266c4d13446f8a76bcde282cb8'}, + {'ra_ap_ide_ssr-0.0.145.tar.gz': 'b6126dd6185a49f605c84eb4052084f95e13622dc58b02214a5cd9f1fa14fec5'}, + {'ra_ap_la-arena-0.0.145.tar.gz': 'cf71adaf8a140c3373cbb03d86c3db974626562aee555abd1957d56ba5aabf78'}, + {'ra_ap_limit-0.0.145.tar.gz': '1fd75e20cd5741896e6ad364cadac507dd66877a1df4a983e97fd7004cd60740'}, + {'ra_ap_mbe-0.0.145.tar.gz': 'b7043e42bc29a16937c9a6270acb9021b42d6f99aabd3d44b6ef423d19f60348'}, + {'ra_ap_parser-0.0.145.tar.gz': 'da771e50178b36f4e85a7eab5b6dd2d9db5fe0fdd34ee514b332273879449b29'}, + {'ra_ap_paths-0.0.145.tar.gz': '5ce1afae1546fba5899a860db5b01ba553172055c5d2b26c6acc395da429c471'}, + {'ra_ap_profile-0.0.145.tar.gz': '7683f3102ec9e4c380b43c62ac832bddbf432647bbd8bd36c878f153101d7e51'}, + {'ra_ap_project_model-0.0.145.tar.gz': 'a6d6b4cfcfebf4c4052450a259d225742c0ccc32bc9c023243e97c6f2e0654fe'}, + {'ra_ap_stdx-0.0.145.tar.gz': '656645a79956fbfcb7134cbfa4bf4104bb21a3a6e49416ca2982e8da2d71c6fc'}, + {'ra_ap_syntax-0.0.145.tar.gz': '6d90286ad1ae5a15231f9695c43d7de3b5cd8a46280732b329f057a4bd5eb0fa'}, + {'ra_ap_test_utils-0.0.145.tar.gz': '992e76d4c5ed60120d9253a88479b48d242c13b470cbf4dec490e00d46a79fc2'}, + {'ra_ap_text_edit-0.0.145.tar.gz': 'b62505798cefd50acc0297b156003d333d0ba4aecd91ca5ee3da376e630770f7'}, + {'ra_ap_toolchain-0.0.145.tar.gz': '47e36e870dd4ad9122a2a70cbeac7c16745a199bad9c26ee93e790e451e6c356'}, + {'ra_ap_tt-0.0.145.tar.gz': 'ea5f415820596f8ebbbe7fce2bef874d8eb708e19630fbcb96a10f1e8a0c3711'}, + {'ra_ap_vfs-0.0.145.tar.gz': '858265d5b7596ff27da1e9bb8e99d0a88458e24985627a5992c5a20f6cb201ef'}, + {'ra_ap_vfs-notify-0.0.145.tar.gz': '94130b0b078567aee91236e03571d71620f9acde52e226807b4531db3451c446'}, + {'radix_trie-0.2.1.tar.gz': 'c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd'}, + {'rayon-1.6.1.tar.gz': '6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7'}, + {'rayon-core-1.10.1.tar.gz': 'cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'redox_users-0.4.3.tar.gz': 'b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b'}, + {'regex-1.7.0.tar.gz': 'e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a'}, + {'regex-syntax-0.6.28.tar.gz': '456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848'}, + {'remove_dir_all-0.5.3.tar.gz': '3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7'}, + {'rowan-0.15.10.tar.gz': '5811547e7ba31e903fe48c8ceab10d40d70a101f3d15523c847cce91aa71f332'}, + {'rustc-ap-rustc_lexer-725.0.0.tar.gz': 'f950742ef8a203aa7661aad3ab880438ddeb7f95d4b837c30d65db1a2c5df68e'}, + {'rustc-demangle-0.1.21.tar.gz': '7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustix-0.36.6.tar.gz': '4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549'}, + {'rustyline-10.0.0.tar.gz': '1d1cd5ae51d3f7bf65d7969d579d502168ef578f289452bd8ccc91de28fda20e'}, + {'ryu-1.0.12.tar.gz': '7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde'}, + {'salsa-0.17.0-pre.2.tar.gz': '9b223dccb46c32753144d0b51290da7230bb4aedcd8379d6b4c9a474c18bf17a'}, + {'salsa-macros-0.17.0-pre.2.tar.gz': 'ac6c2e352df550bf019da7b16164ed2f7fa107c39653d1311d1bba42d1582ff7'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'scoped-tls-1.0.1.tar.gz': 'e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'semver-1.0.16.tar.gz': '58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a'}, + {'serde-1.0.152.tar.gz': 'bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb'}, + {'serde_derive-1.0.152.tar.gz': 'af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e'}, + {'serde_json-1.0.91.tar.gz': '877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883'}, + {'sig-1.0.0.tar.gz': '6567e29578f9bfade6a5d94a32b9a4256348358d2a3f448cab0021f9a02614a2'}, + {'smallvec-1.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'smol_str-0.1.23.tar.gz': '7475118a28b7e3a2e157ce0131ba8c5526ea96e90ee601d9f6bb2e286a35ab44'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'str-buf-1.0.6.tar.gz': '9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0'}, + {'strsim-0.8.0.tar.gz': '8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a'}, + {'structopt-0.3.26.tar.gz': '0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10'}, + {'structopt-derive-0.4.18.tar.gz': 'dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0'}, + {'syn-1.0.107.tar.gz': '1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5'}, + {'synstructure-0.12.6.tar.gz': 'f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f'}, + {'tempfile-3.3.0.tar.gz': '5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4'}, + {'text-size-1.1.0.tar.gz': '288cb548dbe72b652243ea797201f3d481a0609a967980fcc5b2315ea811560a'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thiserror-1.0.38.tar.gz': '6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0'}, + {'thiserror-impl-1.0.38.tar.gz': '1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.0.tar.gz': 'cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c'}, + {'tracing-0.1.37.tar.gz': '8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8'}, + {'tracing-attributes-0.1.23.tar.gz': '4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a'}, + {'tracing-core-0.1.30.tar.gz': '24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a'}, + {'typed-arena-2.0.1.tar.gz': '0685c84d5d54d1c26f7d3eb96cd41550adb97baed141a761cf335d3d33bcd0ae'}, + {'unicase-2.6.0.tar.gz': '50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6'}, + {'unicode-bidi-0.3.8.tar.gz': '099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992'}, + {'unicode-ident-1.0.6.tar.gz': '84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-segmentation-1.10.0.tar.gz': '0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'unicode-xid-0.2.4.tar.gz': 'f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'utf8parse-0.2.0.tar.gz': '936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'walkdir-2.3.2.tar.gz': '808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'which-4.3.0.tar.gz': '1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b'}, + {'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.42.0.tar.gz': '5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7'}, + {'windows_aarch64_gnullvm-0.42.0.tar.gz': '41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e'}, + {'windows_aarch64_msvc-0.42.0.tar.gz': 'dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4'}, + {'windows_i686_gnu-0.42.0.tar.gz': 'fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7'}, + {'windows_i686_msvc-0.42.0.tar.gz': '84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246'}, + {'windows_x86_64_gnu-0.42.0.tar.gz': 'bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed'}, + {'windows_x86_64_gnullvm-0.42.0.tar.gz': '09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028'}, + {'windows_x86_64_msvc-0.42.0.tar.gz': 'f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Rust', local_rustver), +] + +sanity_check_paths = { + 'files': ['bin/evcxr'], + 'dirs': [], +} + +sanity_check_commands = ["evcxr --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2022a.eb b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2022a.eb new file mode 100644 index 00000000000..b61f0c86167 --- /dev/null +++ b/easybuild/easyconfigs/e/EveryBeam/EveryBeam-0.5.2-foss-2022a.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': '2022a'} + +sources = [{ + 'filename': '%(name)s-v%(version)s.tar.gz', + '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.24.3'), + ('wget', '1.21.3'), +] + +dependencies = [ + ('casacore', '3.5.0'), + ('Boost', '1.79.0'), + ('CFITSIO', '4.2.0'), + ('WCSLIB', '7.11'), + ('GSL', '2.7'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), + ('libxml2', '2.9.13'), +] + +# Without this, the wrong (system) python is picked up by cmake +# in cases where the system python is newer than the one used in these EasyConfigs +# See PR # 19119 +configopts = '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +sanity_check_paths = { + 'files': ['include/EveryBeam/beamformer.h', 'lib/libeverybeam.so'], + 'dirs': [], +} + +moduleclass = 'lib' 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/EvidentialGene/EvidentialGene-2022.01.14-gompi-2021b.eb b/easybuild/easyconfigs/e/EvidentialGene/EvidentialGene-2022.01.14-gompi-2021b.eb new file mode 100644 index 00000000000..f52d81c3f13 --- /dev/null +++ b/easybuild/easyconfigs/e/EvidentialGene/EvidentialGene-2022.01.14-gompi-2021b.eb @@ -0,0 +1,40 @@ +easyblock = "PackedBinary" + +name = "EvidentialGene" +version = '2022.01.14' +local_month = ['', 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'] +local_dlver = version.split('.')[0][-2:] + local_month[int(version.split('.')[1])] + version.split('.')[2] + +homepage = 'http://arthropods.eugenes.org/EvidentialGene/' +description = """EvidentialGene is a genome informatics project for + "Evidence Directed Gene Construction for Eukaryotes", + for constructing high quality, accurate gene sets for + animals and plants (any eukaryotes), being developed by + Don Gilbert at Indiana University, gilbertd at indiana edu.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = [ + 'http://arthropods.eugenes.org/EvidentialGene/other/evigene_old/', + 'http://arthropods.eugenes.org/EvidentialGene/other/evigene_old/evigene_older/', +] +sources = ['evigene%s.tar' % local_dlver] +checksums = ['d464240affb6d293f20dab440abe89381e580154502e777c020c0060c8947ba3'] + +dependencies = [ + ('Perl', '5.34.0'), + ('Exonerate', '2.4.0'), + ('CD-HIT', '4.8.1'), + ('BLAST+', '2.12.0'), +] + +fix_perl_shebang_for = ['scripts/*.pl', 'scripts/*/*.pl', 'scripts/*/*/*.pl'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['scripts/'], +} + +modextravars = {'evigene': '%(installdir)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/EvidentialGene/EvidentialGene-2023.07.15-gompi-2023a.eb b/easybuild/easyconfigs/e/EvidentialGene/EvidentialGene-2023.07.15-gompi-2023a.eb new file mode 100644 index 00000000000..c4ae0c4e12d --- /dev/null +++ b/easybuild/easyconfigs/e/EvidentialGene/EvidentialGene-2023.07.15-gompi-2023a.eb @@ -0,0 +1,40 @@ +easyblock = "PackedBinary" + +name = "EvidentialGene" +version = '2023.07.15' +local_month = ['', 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'] +local_dlver = version.split('.')[0][-2:] + local_month[int(version.split('.')[1])] + version.split('.')[2] + +homepage = 'http://arthropods.eugenes.org/EvidentialGene/' +description = """EvidentialGene is a genome informatics project for + "Evidence Directed Gene Construction for Eukaryotes", + for constructing high quality, accurate gene sets for + animals and plants (any eukaryotes), being developed by + Don Gilbert at Indiana University, gilbertd at indiana edu.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = [ + 'http://arthropods.eugenes.org/EvidentialGene/other/evigene_old/', + 'http://arthropods.eugenes.org/EvidentialGene/other/evigene_old/evigene_older/', +] +sources = ['evigene%s.tar' % local_dlver] +checksums = ['8fe8e5c21ac3f8b7134d8e26593fe66647eb8b7ba2c1cd1c158fc811769b9539'] + +dependencies = [ + ('Perl', '5.36.1'), + ('Exonerate', '2.4.0'), + ('CD-HIT', '4.8.1'), + ('BLAST+', '2.14.1'), +] + +fix_perl_shebang_for = ['scripts/*.pl', 'scripts/*/*.pl', 'scripts/*/*/*.pl'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['scripts/'], +} + +modextravars = {'evigene': '%(installdir)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ExaML/ExaML-3.0.22-gompi-2021a-hybrid-avx.eb b/easybuild/easyconfigs/e/ExaML/ExaML-3.0.22-gompi-2021a-hybrid-avx.eb new file mode 100644 index 00000000000..8c5ef0fc82c --- /dev/null +++ b/easybuild/easyconfigs/e/ExaML/ExaML-3.0.22-gompi-2021a-hybrid-avx.eb @@ -0,0 +1,35 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'ExaML' +version = '3.0.22' +versionsuffix = '-hybrid-avx' + +homepage = 'https://github.com/stamatak/ExaML/' +description = "Exascale Maximum Likelihood (ExaML) code for phylogenetic inference using MPI" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +github_account = 'stamatak' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['802e673b0c2ea83fdbe6b060048d83f22b6978933a04be64fb9b4334fe318ca3'] + +prebuildopts = 'cd examl &&' +buildopts = '-f Makefile.OMP.AVX.gcc CC="$CC" &&' +buildopts += 'cd ../parser && make -f Makefile.SSE3.gcc CC="$CC"' + +files_to_copy = [(['examl/examl-OMP-AVX', 'parser/parse-examl'], 'bin'), 'README.md', 'manual'] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s examl-OMP-AVX examl"] + +sanity_check_paths = { + 'files': ['bin/examl', 'bin/parse-examl'], + 'dirs': [], +} + +sanity_check_commands = ["examl -%s" % x for x in ['h', 'v']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Excel-Writer-XLSX/Excel-Writer-XLSX-1.09-foss-2020b.eb b/easybuild/easyconfigs/e/Excel-Writer-XLSX/Excel-Writer-XLSX-1.09-foss-2020b.eb new file mode 100644 index 00000000000..cffa913c11c --- /dev/null +++ b/easybuild/easyconfigs/e/Excel-Writer-XLSX/Excel-Writer-XLSX-1.09-foss-2020b.eb @@ -0,0 +1,33 @@ +easyblock = 'PerlModule' + +name = 'Excel-Writer-XLSX' +version = '1.09' + +homepage = 'https://metacpan.org/pod/Excel::Writer::XLSX' +description = """The Excel::Writer::XLSX module can be used to create an Excel file in the 2007+ XLSX format. +Multiple worksheets can be added to a workbook and formatting can be applied to cells. Text, numbers, and formulas +can be written to the cells.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://cpan.metacpan.org/authors/id/J/JM/JMCNAMARA/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['d679c6ac19e93c32ab77594c793e41b948c7bb3873b600e70ad637d093dca187'] + +dependencies = [ + ('Perl', '5.32.0'), + ('Archive-Zip', '1.68'), +] + +options = {'modulename': 'Excel::Writer::XLSX'} + +sanity_check_paths = { + 'files': ['bin/extract_vba'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/Excel/Writer/XLSX'], +} + +sanity_check_commands = [ + 'extract_vba --help 2>&1 | grep "This utility is used to extract the VBA project binary from an Excel"', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-10.3.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..9db08ac41a1 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [('GLib', '2.68.2')] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["exonerate", "fastaclip", "fastaoverlap"]], + 'dirs': ["share"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.2.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..dc295ab4445 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('GLib', '2.69.1'), +] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/fastaclip', 'bin/fastaoverlap'], + 'dirs': ['share'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..ff3739e4809 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('GLib', '2.72.1'), +] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +_bins = ['exonerate', 'fastaclip', 'fastacomposition', 'fastafetch', 'fastaoverlap', 'ipcress'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['share'], +} + +sanity_check_commands = ['%s -h | grep "from exonerate version %%(version)s"' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.2.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..ca9b769165c --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.2.0.eb @@ -0,0 +1,47 @@ +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [ + ('pkgconf', '1.9.3'), +] +dependencies = [ + ('GLib', '2.75.0'), +] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +_bins = ['exonerate', 'fastaclip', 'fastacomposition', 'fastafetch', 'fastaoverlap', 'ipcress'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['share'], +} + +sanity_check_commands = ['%s -h | grep "from exonerate version %%(version)s"' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..4e57e85a280 --- /dev/null +++ b/easybuild/easyconfigs/e/Exonerate/Exonerate-2.4.0-GCC-12.3.0.eb @@ -0,0 +1,47 @@ +# 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 +# foss-2016b modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'Exonerate' +version = '2.4.0' + +homepage = 'https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate' +# also https://github.com/nathanweeks/exonerate +description = """ Exonerate is a generic tool for pairwise sequence comparison. + It allows you to align sequences using a many alignment models, using either + exhaustive dynamic programming, or a variety of heuristics. """ + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/%(namelower)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f849261dc7c97ef1f15f222e955b0d3daf994ec13c9db7766f1ac7e77baa4042'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('GLib', '2.77.1'), +] + +# parallel build fails +parallel = 1 + +runtest = 'check' + +_bins = ['exonerate', 'fastaclip', 'fastacomposition', 'fastafetch', 'fastaoverlap', 'ipcress'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['share'], +} + +sanity_check_commands = ['%s -h | grep "from exonerate version %%(version)s"' % x for x in _bins] + +moduleclass = 'bio' 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/Extrae/Extrae-3.8.3-gompi-2021a.eb b/easybuild/easyconfigs/e/Extrae/Extrae-3.8.3-gompi-2021a.eb new file mode 100644 index 00000000000..f1082fc78ce --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-3.8.3-gompi-2021a.eb @@ -0,0 +1,34 @@ +## +# Author: Robert Mijakovic +## +name = 'Extrae' +version = '3.8.3' + +homepage = 'https://www.bsc.es/computer-sciences/performance-tools' +description = """Extrae is the core instrumentation package developed by +the Performance Tools group at BSC. Extrae is capable of instrumenting +applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 +using different instrumentation approaches. The information gathered by +Extrae typically includes timestamped events of runtime calls, +performance counters and source code references. Besides, Extrae +provides its own API to allow the user to manually instrument his or her +application.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://ftp.tools.bsc.es/%(namelower)s'] +sources = ['%(namelower)s-%(version)s-src.tar.bz2'] +checksums = [('32a3d6b01da2c9b8d177d91307d4c04c6db0923ca1d63bfb32768a172af7943b', + '1495dc9d16eef7f1966228c7301e0cab30a3861fe46d9551770c40ffd758d198')] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.76.0'), + ('libunwind', '1.4.0'), + ('libxml2', '2.9.10'), + ('libdwarf', '20210305'), + ('PAPI', '6.0.0.1'), +] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-change_libdwarf_path.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-change_libdwarf_path.patch new file mode 100644 index 00000000000..68b82db0cad --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-change_libdwarf_path.patch @@ -0,0 +1,62 @@ +# Change path to the libdwarf headers and adjust the aclocal version, since we change the *.m4 file too +# Author: maxim-masterov + +diff -Nru extrae-4.0.4.orig/config/macros.m4 extrae-4.0.4/config/macros.m4 +--- extrae-4.0.4.orig/config/macros.m4 2023-06-05 11:16:01.296643000 +0200 ++++ extrae-4.0.4/config/macros.m4 2023-06-05 11:21:10.535531000 +0200 +@@ -1666,8 +1666,8 @@ + if test -f "${DWARF_HOME}/include/libdwarf.h" -a \ + -f "${DWARF_HOME}/include/dwarf.h" ; then + libdwarf_found="yes" +- elif test -f "${DWARF_HOME}/include/libdwarf/libdwarf.h" -a \ +- -f "${DWARF_HOME}/include/libdwarf/dwarf.h" ; then ++ elif test -f "${DWARF_HOME}/include/libdwarf-0/libdwarf.h" -a \ ++ -f "${DWARF_HOME}/include/libdwarf-0/dwarf.h" ; then + libdwarf_found="yes" + else + AC_MSG_ERROR([Cannot find DWARF header files in ${dwarf_paths}/include]) +@@ -1678,8 +1678,8 @@ + -f "${DWARF_HOME}/include/dwarf.h" ; then + libdwarf_found="yes" + DWARF_LIBSDIR="${DWARF_LIBSDIR_MULTIARCH}" +- elif test -f "${DWARF_HOME}/include/libdwarf/libdwarf.h" -a \ +- -f "${DWARF_HOME}/include/libdwarf/dwarf.h" ; then ++ elif test -f "${DWARF_HOME}/include/libdwarf-0/libdwarf.h" -a \ ++ -f "${DWARF_HOME}/include/libdwarf-0/dwarf.h" ; then + libdwarf_found="yes" + DWARF_LIBSDIR="${DWARF_LIBSDIR_MULTIARCH}" + else +diff -Nru extrae-4.0.4.orig/configure extrae-4.0.4/configure +--- extrae-4.0.4.orig/configure 2023-06-05 11:16:01.298502695 +0200 ++++ extrae-4.0.4/configure 2023-06-05 11:32:55.962736435 +0200 +@@ -4683,7 +4683,7 @@ + fi + + # Initialize automake +-am__api_version='1.13' ++am__api_version='1.16' + + # Find a good install program. We prefer a C program (faster), + # so one script is as good as another. But avoid the broken or +@@ -30469,8 +30469,8 @@ + if test -f "${DWARF_HOME}/include/libdwarf.h" -a \ + -f "${DWARF_HOME}/include/dwarf.h" ; then + libdwarf_found="yes" +- elif test -f "${DWARF_HOME}/include/libdwarf/libdwarf.h" -a \ +- -f "${DWARF_HOME}/include/libdwarf/dwarf.h" ; then ++ elif test -f "${DWARF_HOME}/include/libdwarf-0/libdwarf.h" -a \ ++ -f "${DWARF_HOME}/include/libdwarf-0/dwarf.h" ; then + libdwarf_found="yes" + else + as_fn_error $? "Cannot find DWARF header files in ${dwarf_paths}/include" "$LINENO" 5 +@@ -30481,8 +30481,8 @@ + -f "${DWARF_HOME}/include/dwarf.h" ; then + libdwarf_found="yes" + DWARF_LIBSDIR="${DWARF_LIBSDIR_MULTIARCH}" +- elif test -f "${DWARF_HOME}/include/libdwarf/libdwarf.h" -a \ +- -f "${DWARF_HOME}/include/libdwarf/dwarf.h" ; then ++ elif test -f "${DWARF_HOME}/include/libdwarf-0/libdwarf.h" -a \ ++ -f "${DWARF_HOME}/include/libdwarf-0/dwarf.h" ; then + libdwarf_found="yes" + DWARF_LIBSDIR="${DWARF_LIBSDIR_MULTIARCH}" + else diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-gompi-2022a.eb b/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-gompi-2022a.eb new file mode 100644 index 00000000000..a10cfc0d34a --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.0.4-gompi-2022a.eb @@ -0,0 +1,40 @@ +name = 'Extrae' +version = '4.0.4' + +homepage = 'https://www.bsc.es/computer-sciences/performance-tools' +description = """Extrae is the core instrumentation package developed by +the Performance Tools group at BSC. Extrae is capable of instrumenting +applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 +using different instrumentation approaches. The information gathered by +Extrae typically includes timestamped events of runtime calls, +performance counters and source code references. Besides, Extrae +provides its own API to allow the user to manually instrument his or her +application.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://ftp.tools.bsc.es/%(namelower)s'] +sources = ['%(namelower)s-%(version)s-src.tar.bz2'] +patches = ['Extrae-4.0.4-change_libdwarf_path.patch'] +checksums = [ + # extrae-4.0.4-src.tar.bz2 + ('003bede870de6d88b705c1a13eabe63b6beb928d8f389f5dd70ca5db8450a1f9', + 'b867d395c344020c04e6630e9bfc10bf126e093df989d5563a2f3a6bc7568224'), + '74759b956246671a323acc3b267f9943bc2e190bb231259ad0c62784ec233a52', # Extrae-4.0.4-change_libdwarf_path.patch +] + +builddependencies = [ + ('Automake', '1.16.5'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('libunwind', '1.6.2'), + ('libxml2', '2.9.13'), + ('libdwarf', '0.4.1'), + ('PAPI', '7.0.0'), +] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-debug_add_event.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-debug_add_event.patch new file mode 100644 index 00000000000..bd5c925f69f --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-debug_add_event.patch @@ -0,0 +1,12 @@ +diff -Nru extrae-4.2.0.orig/src/tracer/hwc/papi_hwc.c extrae-4.2.0/src/tracer/hwc/papi_hwc.c +--- extrae-4.2.0.orig/src/tracer/hwc/papi_hwc.c 2024-07-01 16:12:04.562957639 +0200 ++++ extrae-4.2.0/src/tracer/hwc/papi_hwc.c 2024-07-02 17:21:19.783586061 +0200 +@@ -615,7 +615,7 @@ + char EventName[PAPI_MAX_STR_LEN]; + + PAPI_event_code_to_name (HWC_sets[i].counters[j], EventName); +- fprintf (stderr, PACKAGE_NAME": Error! Hardware counter %s (0x%08x) cannot be added in set %d (task %d, thread %d)\n", EventName, HWC_sets[i].counters[j], i+1, TASKID, threadid); ++ fprintf (stderr, PACKAGE_NAME": Error! Hardware counter %s (0x%08x) cannot be added in set %d (task %d, thread %d) because of %d\n", EventName, HWC_sets[i].counters[j], i+1, TASKID, threadid, rc); + HWC_sets[i].counters[j] = NO_COUNTER; + /* break; */ + } diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch new file mode 100644 index 00000000000..ae5847ad80e --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-detect_binutils.patch @@ -0,0 +1,42 @@ +diff -Nru extrae-4.2.0.orig/config/macros.m4 extrae-4.2.0/config/macros.m4 +--- extrae-4.2.0.orig/config/macros.m4 2024-07-01 16:12:03.689962036 +0200 ++++ extrae-4.2.0/config/macros.m4 2024-07-01 16:13:05.811649165 +0200 +@@ -779,6 +779,8 @@ + elif test -r "${binutils_home_dir}/lib/libbfd.a" -a \ + "${binutils_require_shared}" = "no" ; then + BFD_LIBSDIR="${binutils_home_dir}/lib" ++ elif test -r "${binutils_home_dir}/libbfd.so" ; then ++ BFD_LIBSDIR="${binutils_home_dir}" + else + dnl Try something more automatic using find command + libbfd_lib="" +@@ -814,6 +816,8 @@ + LIBERTY_LIBSDIR="${binutils_home_dir}/lib" + elif test -r "${binutils_home_dir}/lib/libiberty.a" ; then + LIBERTY_LIBSDIR="${binutils_home_dir}/lib" ++ elif test -r "${binutils_home_dir}/libiberty.a" ; then ++ LIBERTY_LIBSDIR="${binutils_home_dir}" + else + dnl Try something more automatic using find command + libiberty_lib="" +diff -Nru extrae-4.2.0.orig/configure extrae-4.2.0/configure +--- extrae-4.2.0.orig/configure 2024-07-01 16:12:03.308963954 +0200 ++++ extrae-4.2.0/configure 2024-07-01 16:17:00.458465744 +0200 +@@ -35074,6 +35074,8 @@ + elif test -r "${binutils_home_dir}/lib/libbfd.a" -a \ + "${binutils_require_shared}" = "no" ; then + BFD_LIBSDIR="${binutils_home_dir}/lib" ++ elif test -r "${binutils_home_dir}/libbfd.so" ; then ++ BFD_LIBSDIR="${binutils_home_dir}" + else + libbfd_lib="" + +@@ -35108,6 +35110,8 @@ + LIBERTY_LIBSDIR="${binutils_home_dir}/lib" + elif test -r "${binutils_home_dir}/lib/libiberty.a" ; then + LIBERTY_LIBSDIR="${binutils_home_dir}/lib" ++ elif test -r "${binutils_home_dir}/libiberty.a" ; then ++ LIBERTY_LIBSDIR="${binutils_home_dir}" + else + libiberty_lib="" + diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch new file mode 100644 index 00000000000..2d588694b4c --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-fix-hw-counters-checks.patch @@ -0,0 +1,137 @@ +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh 2024-07-01 16:12:03.454963219 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_CYC.sh 2024-07-03 16:51:00.533542188 +0200 +@@ -10,7 +10,29 @@ + EXTRAE_CONFIG_FILE=extrae-PAPI_TOT_CYC.xml ./check_Extrae_counters_xml + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + +-# Check ++# Check PAPI availability ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++# Check COUNTER availability ++PAPI_TOT_CYC_available=`papi_avail | grep PAPI_TOT_CYC | awk '{print $3}'` ++if [[ "$PAPI_TOT_CYC_available" == No ]] ++then ++ echo "PAPI_TOT_CYC is not available" ++ exit 0 ++fi ++ ++# Check that HW counters are accessible ++ACCESS_LEVEL=`sysctl kernel.perf_event_paranoid |awk '{print $3}'` ++if [ $ACCESS_LEVEL \> 1 ] ++then ++ echo "perf_event_paranoid configuration does not allow access to HW counters" ++ exit 0 ++fi ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_CYC + + rm -fr TRACE* set-0 ${TRACE}.??? +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh 2024-07-01 16:12:03.448963249 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS_CYC.sh 2024-07-03 16:52:55.509932826 +0200 +@@ -10,7 +10,30 @@ + EXTRAE_CONFIG_FILE=extrae-PAPI_TOT_INS_CYC.xml ./check_Extrae_counters_xml + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + +-# Check ++# Check PAPI availability ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++# Check COUNTER availability ++PAPI_TOT_CYC_available=`papi_avail | grep PAPI_TOT_CYC | awk '{print $3}'` ++if [[ "$PAPI_TOT_CYC_available" == No ]] ++then ++ echo "PAPI_TOT_CYC is not available" ++ exit 0 ++fi ++ ++# Check counters accessibility level ++ACCESS_LEVEL=`sysctl kernel.perf_event_paranoid |awk '{print $3}'` ++if [ $ACCESS_LEVEL \> 1 ] ++then ++ echo "perf_event_paranoid configuration does not allow access to HW counters" ++ exit 0 ++fi ++ ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_CYC + +diff -Nru extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh +--- extrae-4.2.0.orig/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh 2024-07-01 16:12:03.455963214 +0200 ++++ extrae-4.2.0/tests/functional/hw-counters/check_Extrae_PAPI_TOT_INS.sh 2024-07-03 16:54:17.878497036 +0200 +@@ -10,7 +10,29 @@ + EXTRAE_CONFIG_FILE=extrae-PAPI_TOT_INS.xml ./check_Extrae_counters_xml + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + +-# Check ++# Check PAPI availability ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++# Check COUNTERS availability ++PAPI_TOT_INS_available=`papi_avail | grep PAPI_TOT_INS | awk '{print $3}'` ++if [[ "$PAPI_TOT_INS_available" == No ]] ++then ++ echo "PAPI_TOT_INS is not available" ++ exit 0 ++fi ++ ++# Check COUNTERS accessibility level ++ACCESS_LEVEL=`sysctl kernel.perf_event_paranoid |awk '{print $3}'` ++if [ $ACCESS_LEVEL \> 1 ] ++then ++ echo "perf_event_paranoid configuration does not allow access to HW counters" ++ exit 0 ++fi ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + + rm -fr TRACE* set-0 ${TRACE}.??? +diff -Nru extrae-4.2.0.orig/tests/functional/xml/check_Extrae_xml_envvar_counters.sh extrae-4.2.0/tests/functional/xml/check_Extrae_xml_envvar_counters.sh +--- extrae-4.2.0.orig/tests/functional/xml/check_Extrae_xml_envvar_counters.sh 2024-07-01 16:12:03.484963068 +0200 ++++ extrae-4.2.0/tests/functional/xml/check_Extrae_xml_envvar_counters.sh 2024-07-03 16:56:41.975736132 +0200 +@@ -10,7 +10,29 @@ + COUNTERS=PAPI_TOT_INS EXTRAE_CONFIG_FILE=extrae_envvar_counters.xml ./check_Extrae_xml + ../../../src/merger/mpi2prv -f TRACE.mpits -o ${TRACE}.prv + +-# Check ++# Check PAPI availability ++if ! command -v papi_avail &> /dev/null ++then ++ echo "papi_avail could not be found" ++ exit 0 ++fi ++ ++# Check COUNTER availability ++PAPI_TOT_INS_available=`papi_avail | grep PAPI_TOT_INS | awk '{print $3}'` ++if [[ "$PAPI_TOT_INS_available" == No ]] ++then ++ echo "PAPI_TOT_INS is not available" ++ exit 0 ++fi ++ ++# Check COUNTERS accessibility level ++ACCESS_LEVEL=`sysctl kernel.perf_event_paranoid |awk '{print $3}'` ++if [ $ACCESS_LEVEL \> 1 ] ++then ++ echo "perf_event_paranoid configuration does not allow access to HW counters" ++ exit 0 ++fi ++ + CheckEntryInPCF ${TRACE}.pcf PAPI_TOT_INS + + rm -fr TRACE* set-0 ${TRACE}.??? diff --git a/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb new file mode 100644 index 00000000000..4fca4663aca --- /dev/null +++ b/easybuild/easyconfigs/e/Extrae/Extrae-4.2.0-gompi-2023b.eb @@ -0,0 +1,54 @@ +name = 'Extrae' +version = '4.2.0' + +homepage = 'https://tools.bsc.es/extrae' +description = """Extrae is the package devoted to generate Paraver trace-files for a post-mortem analysis. +Extrae is a tool that uses different interposition mechanisms to inject probes into the target application +so as to gather information regarding the application performance.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +toolchainopts = {'usempi': True} + +source_urls = ['https://ftp.tools.bsc.es/%(namelower)s'] + +sources = ['%(namelower)s-%(version)s-src.tar.bz2'] + +patches = [ + 'Extrae-4.2.0-detect_binutils.patch', + 'Extrae-4.2.0-fix-hw-counters-checks.patch', + 'Extrae-4.2.0-debug_add_event.patch', +] + +checksums = [ + # extrae-4.2.0-src.tar.bz2 + '7b83a1ed008440bbc1bda88297d2d0e9256780db1cf8401b3c12718451f8919a', + '1c7bf9d97405c5c2f9dba3604faf141c1563c70958e942822aab521eb7ea0c9e', # Extrae-4.2.0-detect_binutils.patch + '147d897a5a9ba6ebb1b5de32c964b2cd73534f31a540125a94fd37f2ceb1edfe', # Extrae-4.2.0-fix-hw-counters-checks.patch + '9c3541b16f1acf6ff56ab44a24d44c2ec91f9415be217c39f9c0a32e2093ccca', # Extrae-4.2.0-debug_add_event.patch +] + +builddependencies = [ + ('Automake', '1.16.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('Boost', '1.83.0'), + ('libxml2', '2.11.5'), + ('libdwarf', '0.9.2'), + ('PAPI', '7.1.0'), +] + +# libunwind causes segv errors on aarch64 +if ARCH != 'aarch64': + dependencies.append( + ('libunwind', '1.6.2'), + ) + +# Disable dynamic memory instrumentation for this release, has been seen to sometimes cause MPI test failures +configopts = '--disable-instrument-dynamic-memory' + +runtest = 'check' + +moduleclass = 'perf' 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/e3nn/e3nn-0.3.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..0dd9d35d940 --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0', versionsuffix), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2be3d9bf74c --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a-PyTorch-1.13.1-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' +local_pytorch_version = '1.13.1' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a.eb new file mode 100644 index 00000000000..acfcfad4838 --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0'), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8c30352e396 --- /dev/null +++ b/easybuild/easyconfigs/e/e3nn/e3nn-0.3.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'e3nn' +version = '0.3.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://e3nn.org/' +description = """ +Euclidean neural networks (e3nn) is a python library based on pytorch to create equivariant +neural networks for the group O(3). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('sympy', '1.12'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('opt_einsum_fx', '0.1.4', { + 'checksums': ['7eeb7f91ecb70be65e6179c106ea7f64fc1db6319e3d1289a4518b384f81e74f'], + }), + (name, version, { + 'checksums': ['532b34a5644153659253c59943fe4224cd9c3c46ce8a79f1dc7c00afccb44ecb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb b/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb new file mode 100644 index 00000000000..90f45d92626 --- /dev/null +++ b/easybuild/easyconfigs/e/eQuilibrator/eQuilibrator-0.4.7-foss-2021a.eb @@ -0,0 +1,110 @@ +## +# 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 = 'PythonBundle' + +name = 'eQuilibrator' +version = '0.4.7' + +homepage = 'https://equilibrator.weizmann.ac.il/' +description = """Calculation of standard thermodynamic potentials of biochemical reactions.""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('path', '15.0.1', { + 'checksums': ['298dca9d8e82a2cf224e302ed1cf48269cbc3d35502b94c335383ca053c1c2fa'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + ('component-contribution', '0.4.4', { + 'modulename': 'component_contribution', + 'checksums': ['1ddf8f10919661c7efb2a6d1086c16fc47ad94779db33a5795a4a11ce3d9f5e4'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('httpx', '0.23.0', { + 'checksums': ['f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef'], + }), + ('Pint', '0.20.1', { + 'modulename': 'pint', + 'checksums': ['387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067'], + }), + ('periodictable', '1.6.1', { + 'checksums': ['7c501c9f73d77b1fb28cb51e85b28429c2c44a99ce3d1274894564c72d712603'], + }), + ('SQLAlchemy', '1.3.24', { + 'modulename': 'sqlalchemy', + 'checksums': ['ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519'], + }), + ('python-Levenshtein-wheels', '0.13.2', { + 'modulename': 'Levenshtein', + 'checksums': ['7bd8fc3ceeeaca626848a0d7a01d02f5b93475f2d56eaa37921f1271dec7bfb1'], + }), + ('tenacity', '6.2.0', { + 'checksums': ['29ae90e7faf488a8628432154bb34ace1cca58244c6ea399fd33f066ac71339a'], + }), + ('equilibrator-cache', '0.4.3', { + 'modulename': 'equilibrator_cache', + 'checksums': ['e3f9425285ce4052f98fb0a26eaa8027137eb73897a2e0dec24255a26bb19d8c'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '5.0.2', { + 'modulename': 'slugify', + 'checksums': ['f13383a0b9fcbe649a1892b9c8eb4f8eab1d6d84b84bb7a624317afa98159cab'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('equilibrator-api', version, { + 'modulename': 'equilibrator_api', + 'checksums': ['3fb2e542787bef09f93d4a0fa37b389edd27b81d7a7bb909840a8d0bf7f2547d'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python3 -c 'from equilibrator_api import ComponentContribution;cc = ComponentContribution();" + "rxn = cc.parse_reaction_formula(\"kegg:C00002 + kegg:C00001 = kegg:C00008 + kegg:C00009\");" + "print(f\"delta_G_prime_0 = {cc.standard_dg_prime(rxn)}\")' && " + # Clean downloaded files for tests + "rm -Rf $HOME/.cache/equilibrator/" +] + +sanity_pip_check = True + +moduleclass = 'chem' 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/easel/easel-0.48-GCC-12.2.0.eb b/easybuild/easyconfigs/e/easel/easel-0.48-GCC-12.2.0.eb new file mode 100644 index 00000000000..3191b688777 --- /dev/null +++ b/easybuild/easyconfigs/e/easel/easel-0.48-GCC-12.2.0.eb @@ -0,0 +1,38 @@ +# easybuild easyconfig +# +# Fred Hutchinson Cancer Center +# John Dey +# +easyblock = 'ConfigureMake' + +name = 'easel' +version = '0.48' + +homepage = 'https://bioeasel.org/' +description = """Easel supports computational analysis of biological sequences using probabilistic models.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'EddyRivasLab' +source_urls = ['https://github.com/%(github_account)s/easel/archive/refs/tags'] +sources = [SOURCE_TAR_GZ] +checksums = ['c5d055acbe88fa834e81424a15fc5fa54ac787e35f2ea72d4ffd9ea2c1aa29cf'] + +builddependencies = [ + ('Autoconf', '2.71'), +] + +dependencies = [ +] + +preconfigopts = 'autoconf && ' +buildopts = '&& make check' + +sanity_check_paths = { + 'files': ['bin/easel'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ebGSEA/ebGSEA-0.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/e/ebGSEA/ebGSEA-0.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..56647181edb --- /dev/null +++ b/easybuild/easyconfigs/e/ebGSEA/ebGSEA-0.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,49 @@ +easyblock = 'Bundle' + +name = 'ebGSEA' +version = '0.1.0' +versionsuffix = '-R-%(rver)s' + +local_commit = 'b307931' + +homepage = 'https://github.com/aet21/ebGSEA' +description = """Gene Set Enrichment Analysis is one of the most common tasks in the analysis of omic data, + and is critical for biological interpretation. In the context of Epigenome Wide Association Studies (EWAS), + which typically rank individual cytosines according to the level of differential methylation, enrichment + analysis of biological pathways is challenging due to differences in CpG/probe density between genes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', 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 = [ + ('kpmt', '0.1.0', { + 'checksums': ['6342ad02c93bfa7a764d028821bb6115bb8bc8c55b057a5860736cc0e034a295'], + }), + (name, version, { + 'source_urls': ['https://github.com/aet21/ebGSEA/raw/%s/' % local_commit], + 'checksums': ['a7cb470a884d4455e2754b40bd010b43a0f048e968ab00101d11f91310fab380'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb new file mode 100644 index 00000000000..8a5bb9a339e --- /dev/null +++ b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.7.0.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'ecBuild' +version = '3.7.0' + +homepage = 'https://ecbuild.readthedocs.io/' + +description = """ +A CMake-based build system, consisting of a collection of CMake macros and +functions that ease the managing of software build systems """ + +toolchain = SYSTEM + +github_account = 'ecmwf' +sources = [ + { + 'source_urls': [GITHUB_SOURCE], + 'filename': '%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s --strip-components=1', + }, +] +checksums = ['44ba49b6b628e88bc0145f0cd1fdbdff37fbff2327c581f22a47cd10263a21b6'] + +buildininstalldir = True + +skipsteps = ['install'] + +sanity_check_paths = { + 'files': ['bin/ecbuild', 'cmake/ecbuild-config.cmake'], + 'dirs': ['bin', 'lib', 'share', 'cmake'], +} + +sanity_check_commands = ['ecbuild --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.0.eb b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.0.eb new file mode 100644 index 00000000000..7ecb3207f49 --- /dev/null +++ b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.0.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'ecBuild' +version = '3.8.0' + +homepage = 'https://ecbuild.readthedocs.io/' + +description = """ +A CMake-based build system, consisting of a collection of CMake macros and +functions that ease the managing of software build systems """ + +toolchain = SYSTEM + +github_account = 'ecmwf' +sources = [ + { + 'source_urls': [GITHUB_SOURCE], + 'filename': '%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s --strip-components=1', + }, +] +checksums = ['6fba30dae40a09ad0f14e16769e5df2b038024df8bbaca55adaddbb7fce49579'] + +buildininstalldir = True + +skipsteps = ['install'] + +sanity_check_paths = { + 'files': ['bin/ecbuild', 'cmake/ecbuild-config.cmake'], + 'dirs': ['bin', 'lib', 'share', 'cmake'], +} + +sanity_check_commands = ['ecbuild --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..97c3992ce77 --- /dev/null +++ b/easybuild/easyconfigs/e/ecBuild/ecBuild-3.8.5-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'ecBuild' +version = '3.8.5' + +homepage = 'https://ecbuild.readthedocs.io/' + +description = """ +A CMake-based build system, consisting of a collection of CMake macros and +functions that ease the managing of software build systems """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'ecmwf' +sources = [ + { + 'source_urls': [GITHUB_SOURCE], + 'filename': '%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s --strip-components=1', + }, +] +checksums = ['aa0c44cab0fffec4c0b3542e91ebcc736b3d41b68a068d30c023ec0df5f93425'] + +builddependencies = [('binutils', '2.42')] + +buildininstalldir = True + +skipsteps = ['install'] + +sanity_check_paths = { + 'files': ['bin/ecbuild', 'cmake/ecbuild-config.cmake'], + 'dirs': ['bin', 'lib', 'share', 'cmake'], +} + +sanity_check_commands = ['ecbuild --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.22.1-gompi-2021a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.22.1-gompi-2021a.eb new file mode 100644 index 00000000000..df77163295c --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.22.1-gompi-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.22.1' + +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': '2021a'} +toolchainopts = {'usempi': False, 'openmp': True} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['75c7ee96469bb30b0c8f7edbdc4429ece4415897969f75c36173545242bc9e85'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('netCDF', '4.8.0'), + ('JasPer', '2.0.28'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +# Python bindings are now provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_OMP_THREADS=ON" + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb new file mode 100644 index 00000000000..851fe34ed55 --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-gompi-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.24.2' + +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': '2021b'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['c60ad0fd89e11918ace0d84c01489f21222b11d6cad3ff7495856a0add610403'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('netCDF', '4.8.1'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-iimpi-2021b.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-iimpi-2021b.eb new file mode 100644 index 00000000000..618f16c9903 --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.24.2-iimpi-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.24.2' + +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': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['c60ad0fd89e11918ace0d84c01489f21222b11d6cad3ff7495856a0add610403'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('netCDF', '4.8.1'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +# Python bindings are provided by a separate package 'eccodes-python' +configopts = "-DENABLE_NETCDF=ON -DENABLE_PNG=ON -DENABLE_PYTHON=OFF " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb new file mode 100644 index 00000000000..1f313a6f013 --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-gompi-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.27.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': '2022a'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('netCDF', '4.9.0'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('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 " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb new file mode 100644 index 00000000000..33fddc6886a --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.27.0-iimpi-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'ecCodes' +version = '2.27.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': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': False} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/45757960/'] +sources = ['eccodes-%(version)s-Source.tar.gz'] +checksums = ['ede5b3ffd503967a5eac89100e8ead5e16a881b7585d02f033584ed0c4269c99'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('netCDF', '4.9.0'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('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 " +configopts += "-DENABLE_JPG=ON -DENABLE_JPG_LIBJASPER=ON " +configopts += "-DENABLE_ECCODES_THREADS=ON" # multi-threading with pthreads + +local_exes = ['%s_%s' % (a, b) + for a in ['bufr', 'grib', 'gts', 'metar'] + for b in ['compare', 'copy', 'dump', 'filter', 'get', 'ls']] +local_exes += ['codes_%s' % c for c in ['count', 'info', 'split_file']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + + ['lib/libeccodes_f90.%s' % SHLIB_EXT, 'lib/libeccodes.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ['%s -V' % x for x in local_exes if not x.startswith('codes_')] + +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-2023a.eb b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023a.eb new file mode 100644 index 00000000000..4a517a7ca7c --- /dev/null +++ b/easybuild/easyconfigs/e/ecCodes/ecCodes-2.31.0-gompi-2023a.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': '2023a'} +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.26.3'), + ('ecBuild', '3.8.0', '', SYSTEM), +] +dependencies = [ + ('netCDF', '4.9.2'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('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/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/ecFlow/ecFlow-5.7.0-GCC-10.2.0.eb b/easybuild/easyconfigs/e/ecFlow/ecFlow-5.7.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..d4ce0c41bf7 --- /dev/null +++ b/easybuild/easyconfigs/e/ecFlow/ecFlow-5.7.0-GCC-10.2.0.eb @@ -0,0 +1,57 @@ +# Written by Tom Strempel +# Modified by Ben Langenberg +easyblock = "CMakeMake" + +name = 'ecFlow' +version = '5.7.0' + +homepage = "https://ecflow.readthedocs.io/en/latest/index.html" +description = """ecFlow is a client/server workflow package that enables users + to run a large number of programs (with dependencies on each other and on time) + in a controlled environment. It provides reasonable tolerance for hardware and + software failures, combined with restart capabilities. + It is used at ECMWF to run all our operational suites across a range of platforms.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://confluence.ecmwf.int/download/attachments/8650755/'] +sources = ['%(name)s-%(version)s-Source.tar.gz'] +checksums = ['70cbabde5da705239a9e27b1e053dae4bdbee6c604c571a5ff07b47d0a84732f'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Boost', '1.74.0'), + ('Boost.Python', '1.74.0'), + ('Qt5', '5.14.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = " ".join([ + "-DBOOST_ROOT=$EBROOTBOOST", + "-DENABLE_STATIC_BOOST_LIBS=OFF", + "-DBoost_PYTHON38_LIBRARY_RELEASE=$EBROOTBOOSTPYTHON/lib/libboost_python38.so", + "-DPython3_ROOT_DIR=$EBROOTPYTHON", + "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python", + "-DPython3_INCLUDE_DIRS=$EBROOTPYTHON/include/python%(pyshortver)s", + "-DPython3_LIBRARIES=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s" % SHLIB_EXT, +]) +prebuildopts = 'export LDFLAGS="$LDFLAGS -lssl" && ' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/ecflow_client', 'bin/ecflow_server'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/ecflow', 'share/ecflow/etc'], +} + +sanity_check_commands = [ + "ecflow_client --help", + "python -c 'import ecflow'", +] + +moduleclass = "vis" diff --git a/easybuild/easyconfigs/e/eclib/eclib-20230424-GCC-11.3.0.eb b/easybuild/easyconfigs/e/eclib/eclib-20230424-GCC-11.3.0.eb new file mode 100644 index 00000000000..1c6d6c78a88 --- /dev/null +++ b/easybuild/easyconfigs/e/eclib/eclib-20230424-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'eclib' +version = '20230424' + +homepage = 'https://github.com/JohnCremona/eclib' +description = """The eclib package includes mwrank (for 2-descent on elliptic curves over Q) + and modular symbol code used to create the elliptic curve database.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/JohnCremona/eclib/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = ['1422decfcabebb0ad42f7f58c5aefe5bd8fa11757b45e31a186384fd037cd5c1'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.4'), +] + +preconfigopts = "autoreconf --install && " + +configopts = "--with-ntl=$EBROOTNTL --with-pari=$EBROOTPARI" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ecnf', 'mwrank', 'pcurve', 'qexp']] + + ['include/eclib/%s.h' % h for h in ['curve', 'egr', 'vector']] + + ['lib/libec.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +sanity_check_commands = ["mwrank -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb b/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb new file mode 100644 index 00000000000..10142dd830f --- /dev/null +++ b/easybuild/easyconfigs/e/eclib/eclib-20240408-GCC-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'eclib' +version = '20240408' + +homepage = 'https://github.com/JohnCremona/eclib' +description = """The eclib package includes mwrank (for 2-descent on elliptic curves over Q) + and modular symbol code used to create the elliptic curve database.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/JohnCremona/eclib/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = ['3ba908e2019de53fcba141449caa6fa82f03605bf83bf9da8092df538adabe7c'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.5'), +] + +preconfigopts = "autoreconf --install && " + +configopts = "--with-ntl=$EBROOTNTL --with-pari=$EBROOTPARI" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ecnf', 'mwrank', 'pcurve', 'qexp']] + + ['include/eclib/%s.h' % h for h in ['curve', 'egr', 'vector']] + + ['lib/libec.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +sanity_check_commands = ["mwrank -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.2.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.2.0.eb new file mode 100644 index 00000000000..e79e34bf1e4 --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.3.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.3.0.eb new file mode 100644 index 00000000000..4e4e33d596f --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-10.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.2.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.2.0.eb new file mode 100644 index 00000000000..7bf9d797877 --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb new file mode 100644 index 00000000000..3133e7e2d0e --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.2.0.eb b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.2.0.eb new file mode 100644 index 00000000000..0be9e7fb15e --- /dev/null +++ b/easybuild/easyconfigs/e/edlib/edlib-1.3.9-GCC-12.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +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.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['64c3dfab3ebe3e759565a0cc71eb4df23cf3ce1713fd558af3c473dddc2a3766'] + +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' 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/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb new file mode 100644 index 00000000000..8ebfa692352 --- /dev/null +++ b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.10-foss-2020b.eb @@ -0,0 +1,56 @@ +# Eggnog DB installation instructions: +# 1. 'export EGGNOG_DATA_DIR=//eggnog-mapper-data' +# 2. run 'download_eggnog_data.py' +# 3. Check the expected DB version with 'emapper.py --version' + +easyblock = 'PythonPackage' + +name = 'eggnog-mapper' +version = '2.1.10' + +homepage = 'https://github.com/eggnogdb/eggnog-mapper' +description = """EggNOG-mapper is a tool for fast functional annotation of novel +sequences. It uses precomputed orthologous groups and phylogenies from the +eggNOG database (http://eggnog5.embl.de) to transfer functional information from +fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation +of novel genomes, transcriptomes or even metagenomic gene catalogs.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'eggnogdb' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e905b99ae81991aea696ba45587ae81c2dce5f03fe51d9c2a580cc2987976c8e'] + +dependencies = [ + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('HMMER', '3.3.2'), + ('DIAMOND', '2.0.7'), + ('prodigal', '2.6.3'), + ('wget', '1.20.3'), + ('MMseqs2', '13-45111'), + ('XlsxWriter', '1.4.0'), +] + +# strip out (too) strict version requirements for dependencies +preinstallopts = "sed -i 's/==[0-9.]*//g' setup.cfg && " + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/create_dbs.py', 'bin/download_eggnog_data.py', 'bin/emapper.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'download_eggnog_data.py --help', + 'create_dbs.py --help', + 'emapper.py --version | grep %(version)s', +] + +options = {'modulename': 'eggnogmapper'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.7-foss-2021b.eb b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.7-foss-2021b.eb new file mode 100644 index 00000000000..49b9697d45e --- /dev/null +++ b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.7-foss-2021b.eb @@ -0,0 +1,56 @@ +# Eggnog DB installation instructions: +# 1. 'export EGGNOG_DATA_DIR=//eggnog-mapper-data' +# 2. run 'download_eggnog_data.py' +# 3. Check the expected DB version with 'emapper.py --version' + +easyblock = 'PythonPackage' + +name = 'eggnog-mapper' +version = '2.1.7' + +homepage = 'https://github.com/eggnogdb/eggnog-mapper' +description = """EggNOG-mapper is a tool for fast functional annotation of novel +sequences. It uses precomputed orthologous groups and phylogenies from the +eggNOG database (http://eggnog5.embl.de) to transfer functional information from +fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation +of novel genomes, transcriptomes or even metagenomic gene catalogs.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'eggnogdb' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['47654d7f596bb85431a00947479ae11c39f07833cf9465f02490c96a84ccf082'] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), + ('HMMER', '3.3.2'), + ('DIAMOND', '2.0.13'), + ('prodigal', '2.6.3'), + ('wget', '1.21.2'), + ('MMseqs2', '13-45111'), + ('XlsxWriter', '3.0.2'), +] + +# strip out (too) strict version requirements for dependencies +preinstallopts = "sed -i 's/==[0-9.]*//g' setup.cfg && " + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/create_dbs.py', 'bin/download_eggnog_data.py', 'bin/emapper.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'download_eggnog_data.py --help', + 'create_dbs.py --help', + 'emapper.py --version | grep %(version)s', +] + +options = {'modulename': 'eggnogmapper'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.9-foss-2022a.eb b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.9-foss-2022a.eb new file mode 100644 index 00000000000..f0acd8b8126 --- /dev/null +++ b/easybuild/easyconfigs/e/eggnog-mapper/eggnog-mapper-2.1.9-foss-2022a.eb @@ -0,0 +1,56 @@ +# Eggnog DB installation instructions: +# 1. 'export EGGNOG_DATA_DIR=//eggnog-mapper-data' +# 2. run 'download_eggnog_data.py' +# 3. Check the expected DB version with 'emapper.py --version' + +easyblock = 'PythonPackage' + +name = 'eggnog-mapper' +version = '2.1.9' + +homepage = 'https://github.com/eggnogdb/eggnog-mapper' +description = """EggNOG-mapper is a tool for fast functional annotation of novel +sequences. It uses precomputed orthologous groups and phylogenies from the +eggNOG database (http://eggnog5.embl.de) to transfer functional information from +fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation +of novel genomes, transcriptomes or even metagenomic gene catalogs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'eggnogdb' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['01f495a2a7cb9bf1d98cb40691b8598131c32d583cba652a98cdc20e5c8602eb'] + +dependencies = [ + ('Python', '3.10.4'), + ('Biopython', '1.79'), + ('HMMER', '3.3.2'), + ('DIAMOND', '2.1.0'), + ('prodigal', '2.6.3'), + ('wget', '1.21.3'), + ('MMseqs2', '14-7e284'), + ('XlsxWriter', '3.0.8'), +] + +# strip out (too) strict version requirements for dependencies +preinstallopts = "sed -i 's/==[0-9.]*//g' setup.cfg && " + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/create_dbs.py', 'bin/download_eggnog_data.py', 'bin/emapper.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'download_eggnog_data.py --help', + 'create_dbs.py --help', + 'emapper.py --version | grep %(version)s', +] + +options = {'modulename': 'eggnogmapper'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/eht-imaging/eht-imaging-1.2.2-foss-2021a.eb b/easybuild/easyconfigs/e/eht-imaging/eht-imaging-1.2.2-foss-2021a.eb new file mode 100644 index 00000000000..3a17162972b --- /dev/null +++ b/easybuild/easyconfigs/e/eht-imaging/eht-imaging-1.2.2-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = "PythonBundle" + +name = 'eht-imaging' +version = '1.2.2' + +homepage = 'https://github.com/achael/eht-imaging' +description = """Python modules for simulating and manipulating VLBI data and producing images with regularized maximum +likelihood methods.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('astropy', '4.3.1'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('networkx', '2.5.1'), + ('scikit-image', '0.18.3'), + ('NFFT', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ephem', '4.1', { + 'checksums': ['c076794a511a34b5b91871c1cf6374dbc323ec69fca3f50eb718f20b171259d6'], + }), + ('pyNFFT', '1.3.2', { + 'patches': ['pyNFFT-1.3.2_fix_nfft3util_header.patch'], + 'checksums': [ + 'ae41e720e569d0d99e3a44c82c36b35a49cfc9ecc23a1cd039fe9e2895aada2c', # pyNFFT-1.3.2.tar.gz + # pyNFFT-1.3.2_fix_nfft3util_header.patch + 'db7ed250c2ed09176e73d39f642b8ca2aa4115d739e174a39133031900d6f33a', + ], + }), + ('ehtim', version, { + 'checksums': ['f92de54be6c7e56335a67d0c3b5bb5f3925f55a29c49fd5fbea36a45070f1a8e'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/e/eht-imaging/pyNFFT-1.3.2_fix_nfft3util_header.patch b/easybuild/easyconfigs/e/eht-imaging/pyNFFT-1.3.2_fix_nfft3util_header.patch new file mode 100644 index 00000000000..9c22b9fd048 --- /dev/null +++ b/easybuild/easyconfigs/e/eht-imaging/pyNFFT-1.3.2_fix_nfft3util_header.patch @@ -0,0 +1,24 @@ +Ref. https://github.com/pyNFFT/pyNFFT/pull/58 + +From 224a84b6bb5a0cdc604693cf105a40a3093bc53c Mon Sep 17 00:00:00 2001 +From: Alexander +Date: Tue, 22 Aug 2017 13:28:09 +0300 +Subject: [PATCH] Fix compilation error with NFFT 3.3 + +--- + pynfft/cnfft3util.pxd | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pynfft/cnfft3util.pxd b/pynfft/cnfft3util.pxd +index 5dbdd18..5f1474b 100644 +--- a/pynfft/cnfft3util.pxd ++++ b/pynfft/cnfft3util.pxd +@@ -17,7 +17,7 @@ + + from cnfft3 cimport fftw_complex + +-cdef extern from "nfft3util.h": ++cdef extern from "nfft3.h": + + void nfft_vrand_unit_complex (fftw_complex *x, int n) + # Inits a vector of random complex numbers in \ diff --git a/easybuild/easyconfigs/e/einops/einops-0.3.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/e/einops/einops-0.3.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f9d83389844 --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.3.2-GCCcore-10.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'einops' +version = '0.3.2' + +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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5200e413539f0377f4177ef00dc019968f4177c49b1db3e836c7883df2a5fe2e'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..80b81ff50b5 --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'einops' +version = '0.4.1' + +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65ede824fa54ce99ba969c61152f9948eb8cad08d5f0ca97c95e3804bafcce48'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e31c2fbbbba --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'einops' +version = '0.4.1' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['65ede824fa54ce99ba969c61152f9948eb8cad08d5f0ca97c95e3804bafcce48'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7af581e455f --- /dev/null +++ b/easybuild/easyconfigs/e/einops/einops-0.7.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +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.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' 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/elastix/elastix-4.9.0-foss-2018a.eb b/easybuild/easyconfigs/e/elastix/elastix-4.9.0-foss-2018a.eb index 11cdeebdd2c..57ae89adca7 100644 --- a/easybuild/easyconfigs/e/elastix/elastix-4.9.0-foss-2018a.eb +++ b/easybuild/easyconfigs/e/elastix/elastix-4.9.0-foss-2018a.eb @@ -19,10 +19,6 @@ dependencies = [ ('ITK', '4.13.0', '-Python-2.7.14'), ] -configopts = '-DCMAKE_BUILD_TYPE=Release ' - -separate_build_dir = True - sanity_check_paths = { 'files': ['bin/elastix', 'bin/transformix'], 'dirs': ['include', 'lib'] diff --git a/easybuild/easyconfigs/e/elastix/elastix-5.0.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/e/elastix/elastix-5.0.0-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..23b0095b86f --- /dev/null +++ b/easybuild/easyconfigs/e/elastix/elastix-5.0.0-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'elastix' +version = '5.0.0' +versionsuffix = '-Python-3.7.4' + +homepage = 'http://elastix.isi.uu.nl/' +description = " elastix: a toolbox for rigid and nonrigid registration of images. " + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/SuperElastix/elastix/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a377ae0307231bf70c474e87ebbf07d649faca211febf1c1d981a2039fcfcd0e'] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('ITK', '5.0.1', versionsuffix), +] + +configopts = '-DCMAKE_BUILD_TYPE=Release ' + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/elastix', 'bin/transformix'], + 'dirs': ['include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/elbencho/elbencho-2.0-3-GCC-10.3.0.eb b/easybuild/easyconfigs/e/elbencho/elbencho-2.0-3-GCC-10.3.0.eb new file mode 100644 index 00000000000..2465c26d165 --- /dev/null +++ b/easybuild/easyconfigs/e/elbencho/elbencho-2.0-3-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = "MakeCp" + +name = "elbencho" +version = "2.0-3" + +homepage = "https://github.com/breuner/elbencho" +description = """ A distributed storage benchmark for files, objects & blocks with support for GPUs""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +dependencies = [ + ('Boost', '1.76.0'), + ('libaio', '0.3.112'), + ('numactl', '2.0.14'), + ('ncurses', '6.2'), +] + +github_account = 'breuner' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['24dc396855d60192252417bd962cf67c4787baba04345c81ff71fe9981777238'] + +buildopts = 'BUILD_VERBOSE=1 CXXFLAGS_EXTRA="$CXXFLAGS" LDFLAGS_EXTRA="$LDFLAGS"' + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['elbencho', 'elbencho-unstripped']], + 'dirs': [], +} + +sanity_check_commands = [('elbencho', '--help')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.185-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.185-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e71a4d7646e --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.185-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.185' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), + ('libarchive', '3.5.1'), + ('XZ', '5.2.5'), + ('zstd', '1.5.0'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.187-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.187-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e3284824d10 --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.187-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.187' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['e70b0dfbe610f90c4d1fe0d71af142a4e25c3c4ef9ebab8d2d72b65159d454c8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), + ('libarchive', '3.6.1'), + ('XZ', '5.2.5'), + ('zstd', '1.5.2'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6a873567a86 --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.189' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), + ('libarchive', '3.6.1'), + ('XZ', '5.2.7'), + ('zstd', '1.5.2'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d1d7854b68d --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.189-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.189' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), + ('libarchive', '3.6.2'), + ('XZ', '5.4.2'), + ('zstd', '1.5.5'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.190-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.190-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1e9d836097e --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.190-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.190' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), + ('libarchive', '3.7.2'), + ('XZ', '5.4.4'), + ('zstd', '1.5.5'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elfutils/elfutils-0.191-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/elfutils/elfutils-0.191-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e5eb4ef3c7d --- /dev/null +++ b/easybuild/easyconfigs/e/elfutils/elfutils-0.191-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'elfutils' +version = '0.191' + +homepage = 'https://elfutils.org/' + +description = """ + The elfutils project provides libraries and tools for ELF files + and DWARF data. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://sourceware.org/elfutils/ftp/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871'] + +builddependencies = [ + ('M4', '1.4.19'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('binutils', '2.42'), + ('bzip2', '1.0.8'), + ('libarchive', '3.7.4'), + ('XZ', '5.4.5'), + ('zstd', '1.5.6'), +] + +configopts = "--disable-debuginfod --disable-libdebuginfod" + +sanity_check_paths = { + 'files': ['bin/eu-elfcmp', 'include/dwarf.h', 'lib/libelf.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["eu-elfcmp --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/elprep/elprep-5.1.1.eb b/easybuild/easyconfigs/e/elprep/elprep-5.1.1.eb new file mode 100644 index 00000000000..22412a2c08d --- /dev/null +++ b/easybuild/easyconfigs/e/elprep/elprep-5.1.1.eb @@ -0,0 +1,27 @@ +easyblock = 'GoPackage' + +name = 'elprep' +version = '5.1.1' + +homepage = 'https://github.com/ExaScience/elprep' +description = """elPrep is a high-performance tool for analyzing .sam/.bam files (up to and including variant calling) + in sequencing pipelines.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/ExaScience/elprep/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4996acf8adb194a3da1631f936b4311524ec4cb59716f8459ed1cfda8b9aac8c'] + +builddependencies = [ + ('Go', '1.17.3'), +] + +sanity_check_commands = ['elprep -h'] + +sanity_check_paths = { + 'files': ['bin/elprep'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2021b.eb b/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2021b.eb new file mode 100644 index 00000000000..9d9e5ec1c4d --- /dev/null +++ b/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'emcee' +version = '3.1.4' + +homepage = 'https://emcee.readthedocs.io/' +description = """Emcee is an extensible, pure-Python implementation of +Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler. +It's designed for Bayesian parameter estimation and it's really sweet! """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8e0e19dc8bcef9c6d02f860bef8ddc6c876b8878a6ce666943e2c5cfd9317fed'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/emcee'], +} + +sanity_check_commands = [('pytest')] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2022a.eb b/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2022a.eb new file mode 100644 index 00000000000..2aa3fa0cb9d --- /dev/null +++ b/easybuild/easyconfigs/e/emcee/emcee-3.1.4-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'emcee' +version = '3.1.4' + +homepage = 'https://emcee.readthedocs.io/' +description = """Emcee is an extensible, pure-Python implementation of +Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler. +It's designed for Bayesian parameter estimation and it's really sweet! """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8e0e19dc8bcef9c6d02f860bef8ddc6c876b8878a6ce666943e2c5cfd9317fed'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/emcee'], +} + +sanity_check_commands = [('pytest')] + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/e/empanada-dl/empanada-dl-0.1.7-foss-2023a.eb b/easybuild/easyconfigs/e/empanada-dl/empanada-dl-0.1.7-foss-2023a.eb new file mode 100644 index 00000000000..168c3e3c751 --- /dev/null +++ b/easybuild/easyconfigs/e/empanada-dl/empanada-dl-0.1.7-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'empanada-dl' +version = '0.1.7' + +homepage = 'https://empanada.readthedocs.io/' +description = "Tool for panoptic segmentation of organelles in 2D and 3D electron microscopy (EM) images." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('numba', '0.58.1'), + ('OpenCV', '4.8.1', '-contrib'), + ('PyYAML', '6.0'), + ('zarr', '2.17.1'), + ('torchvision', '0.16.0'), + ('Albumentations', '1.4.0'), + ('dask', '2023.9.2'), + ('connected-components-3d', '3.14.1'), + ('matplotlib', '3.7.2'), + ('imagecodecs', '2024.1.1'), +] + +use_pip = True + +exts_list = [ + ('cztile', '0.1.2', { + 'checksums': ['3e42c4a93fd7b2df985b42e66dc3c585b3ebd9c1167e9f7e7d5c34c57697b929'], + }), + (name, version, { + # fix requirements - numpy version and opencv-python>=4.5.3 - pip is not aware of cv2 in OpenCV from EB + 'preinstallopts': "sed -i 's/numpy==1.22/numpy>=1.22/g' setup.cfg && sed -i '34d' setup.cfg && ", + 'modulename': 'empanada', + 'checksums': ['4289e69842242203be77cdb656a12fb2be4ed83816969b24a0b4eab1d67c3b91'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/empanada-napari/empanada-napari-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/e/empanada-napari/empanada-napari-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..e429617f718 --- /dev/null +++ b/easybuild/easyconfigs/e/empanada-napari/empanada-napari-1.1.0-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'empanada-napari' +version = '1.1.0' + +homepage = 'https://empanada.readthedocs.io/' +description = "Panoptic segmentation algorithms for 2D and 3D electron microscopy in napari." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('napari', '0.4.18'), + ('MLflow', '2.10.2'), + ('openpyxl', '3.1.2'), + ('SimpleITK', '2.3.1'), + ('imagecodecs', '2024.1.1'), + ('Albumentations', '1.4.0'), + ('connected-components-3d', '3.14.1'), + ('empanada-dl', '0.1.7'), +] + +exts_list = [ + ('ImageHash', '4.3.1', { + 'checksums': ['7038d1b7f9e0585beb3dd8c0a956f02b95a346c0b5f24a9e8cc03ebadaf0aa70'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/numpy==1.22/numpy>=1.22/g' setup.cfg && ", + 'checksums': ['f4890cb6f20689933e28903dd7d43238aeae32afb53fa225bdf41d4bdcfc2c71'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/enaBrowserTool/enaBrowserTool-1.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/e/enaBrowserTool/enaBrowserTool-1.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1ced86d0459 --- /dev/null +++ b/easybuild/easyconfigs/e/enaBrowserTool/enaBrowserTool-1.6-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen + +easyblock = 'Tarball' + +name = 'enaBrowserTool' +version = '1.6' + +homepage = 'https://github.com/enasequence/enaBrowserTools/' +description = """enaBrowserTools is a set of scripts that interface with the ENA +web services to download data from ENA easily, without any knowledge of scripting required.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +dependencies = [ + ('Python', '3.9.5'), +] + +source_urls = ['https://github.com/enasequence/enaBrowserTools/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['efec89cfdabe4d97004c0772cae7befaa2b5f7bc4f363ee23df50b9b84df93af'] + +modextrapaths = {'PATH': 'python3'} + +sanity_check_paths = { + 'dirs': ['python3'], + 'files': ['python3/enaGroupGet', 'python3/enaDataGet'], +} + +sanity_check_commands = ['enaDataGet -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..751a1a06f3a --- /dev/null +++ b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +# Updated from enchant-1.6.1-intel-2017a.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'enchant-2' +version = '2.3.3' + +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': '11.2.0'} + +source_urls = ['https://github.com/AbiWord/enchant/releases/download/v%(version)s'] +sources = ['enchant-%(version)s.tar.gz'] +checksums = [ + '3da12103f11cf49c3cf2fd2ce3017575c5321a489e5b9bfa81dd91ec413f3891' +] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -vfi && " + +dependencies = [ + ('hunspell', '1.7.1'), + ('GLib', '2.69.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/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0377d807772 --- /dev/null +++ b/easybuild/easyconfigs/e/enchant-2/enchant-2-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,51 @@ +# Updated from enchant-1.6.1-intel-2017a.eb +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'enchant-2' +version = '2.3.3' + +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': '11.3.0'} + +source_urls = ['https://github.com/AbiWord/enchant/releases/download/v%(version)s'] +sources = ['enchant-%(version)s.tar.gz'] +checksums = [ + '3da12103f11cf49c3cf2fd2ce3017575c5321a489e5b9bfa81dd91ec413f3891' +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -vfi && " + +dependencies = [ + ('hunspell', '1.7.1'), + ('GLib', '2.72.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/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/ensmallen/ensmallen-2.21.1-foss-2023a.eb b/easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb new file mode 100644 index 00000000000..b0a8a512f6d --- /dev/null +++ b/easybuild/easyconfigs/e/ensmallen/ensmallen-2.21.1-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'ensmallen' +version = '2.21.1' + +homepage = 'https://ensmallen.org/' +description = """ensmallen is a high-quality C++ library for non-linear numerical optimization""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mlpack/ensmallen/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['820eee4d8aa32662ff6a7d883a1bcaf4e9bf9ca0a3171d94c5398fe745008750'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Armadillo', '12.6.2'), +] + +sanity_check_paths = { + 'files': ['include/ensmallen.hpp', 'include/ensmallen_bits/function.hpp'], + 'dirs': ['lib', 'include', 'include/ensmallen_bits/', 'lib/cmake'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/e/epct/epct-3.2.0-foss-2022a.eb b/easybuild/easyconfigs/e/epct/epct-3.2.0-foss-2022a.eb new file mode 100644 index 00000000000..91db637d93a --- /dev/null +++ b/easybuild/easyconfigs/e/epct/epct-3.2.0-foss-2022a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'epct' +version = '3.2.0' + +homepage = 'https://gitlab.eumetsat.int/eumetlab/data-services/eumdac' +description = """ +This is the epct (EUMETSAT Product Customisation Toolbox) Python package for the EUMETSAT Data +Tailor. The EUMETSAT Data Tailor makes it possible for users to subset and aggregate EUMETSAT +data products in space and time, filter layers, generate quicklooks, project onto new +coordinate reference systems, and reformat into common GIS formats (netCDF, GeoTIFF, etc.). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dask', '2022.10.0'), + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), + ('GDAL', '3.5.0'), + ('h5py', '3.7.0'), + ('ecCodes', '2.27.0'), +] + +use_pip = True + +_fix_pkg_version = """sed -i 's/version = "0.0.0"/version = "%(version)s"/g' setup.py && """ +_relax_gdal_req = """sed -i 's/gdal==.*/gdal",/g' setup.py && """ + +exts_list = [ + ('findlibs', '0.0.2', { + 'checksums': ['6c7e038496f9a97783ab2cd5736bb68522d5bebd8b0eb17c976b6a4ae4032c8d'], + }), + ('Chameleon', '4.2.0', { + 'checksums': ['2a7bda67ba9f8fa31d1e17b8d1cefdae8687741293ffe0938e831e71843b4751'], + }), + ('cfgrib', '0.9.10.3', { + 'checksums': ['c10806058c80c48610c201bf05eb292401807806ab9423ab4965ae23dbb6b521'], + }), + ('eccodes', '1.5.0', { + 'checksums': ['e70c8f159140c343c215fd608ddf533be652ff05ad2ff17243c7b66cf92127fa'], + }), + ('structlog', '21.5.0', { + 'checksums': ['68c4c29c003714fe86834f347cb107452847ba52414390a7ee583472bde00fc9'], + }), + ('epct_plugin_gis', '3.1.0', { + 'preinstallopts': _fix_pkg_version + _relax_gdal_req, + 'source_tmpl': 'epct_plugin_gis-3.1.0.tar.bz2', + 'source_urls': [ + 'https://gitlab.eumetsat.int/open-source/data-tailor-plugins/epct_plugin_gis/-/archive/%(version)s/' + ], + 'checksums': ['05b292bbeae0870736f330126d6233dfc5d17031fa07714acb62854b0941f462'], + }), + (name, version, { + 'preinstallopts': _fix_pkg_version, + 'source_tmpl': '%(name)s-%(version)s.tar.bz2', + 'source_urls': ['https://gitlab.eumetsat.int/open-source/%(name)s/-/archive/%(version)s/'], + 'start_dir': 'epct', + 'checksums': ['e5ce1699a71bb446a5739c1b531bfefcf2956e5f1afba5d956b80bb187725b1f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.3.1-foss-2021a.eb b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.3.1-foss-2021a.eb new file mode 100644 index 00000000000..dc68a5e1ddc --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.3.1-foss-2021a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'epiScanpy' +version = '0.3.1' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Seaborn', '0.11.2'), + ('scanpy', '1.8.1'), # includes anndata + ('SciPy-bundle', '2021.05'), + ('Pysam', '0.16.0.1'), + ('scikit-learn', '0.24.2'), + ('statsmodels', '0.12.2'), + ('numba', '0.53.1'), + ('python-igraph', '0.9.6'), + ('tbb', '2020.3'), +] + +exts_list = [ + ('pyliftover', '0.4', { + 'checksums': ['72bcfb7de907569b0eb75e86c817840365297d63ba43a961da394187e399da41'], + }), + ('bamnostic', '1.1.7', { + 'checksums': ['27e70c6f3d258a00d8d3e1a5ded403ea02152fcf42288788fb5fb3c66f53939b'], + }), + ('python-louvain', '0.15', { + 'modulename': 'community.community_louvain', + 'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'], + }), + ('get_version', '3.2', { + 'use_pip': False, + 'checksums': ['b01a7d84d60a4839d035375151ae03b9ee902baa503effb0cf8ccd6d4d79aa1d'], + }), + ('legacy-api-wrap', '1.2', { + 'use_pip': False, + 'checksums': ['034a44612da7e9943d3964363a98937ab54d55e3301075374abe0d521eb8101b'], + }), + ('episcanpy', version, { + 'checksums': ['ee90ebec33d7c03bd11863de3d7fe60779e41e206952eca27ff95b4667cefdb2'], + # strip out tbb as required dependency, to ensure that 'pip check' passes; + # note that the tbb Python bindings are actually provided by the tbb dependency, + # but pip doesn't know about them due to the way in which they were installed... + 'preinstallopts': "sed -i 's/tbb//' requirements.txt && ", + 'modulename': 'episcanpy.api', + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb new file mode 100644 index 00000000000..c990d84ebe5 --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0-foss-2022a.eb @@ -0,0 +1,75 @@ +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Seaborn', '0.12.1'), + ('scanpy', '1.9.1'), # includes anndata + ('Pysam', '0.19.1'), + ('scikit-learn', '1.1.2'), + ('statsmodels', '0.13.1'), + ('numba', '0.56.4'), + ('python-igraph', '0.10.3'), + ('tbb', '2021.5.0'), +] + +# avoid hatchling requirement to install kneed +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts_kneed = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts_kneed += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts_kneed += """-e 's/^license-files = .*//g' """ +local_preinstallopts_kneed += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('pyliftover', '0.4', { + 'checksums': ['72bcfb7de907569b0eb75e86c817840365297d63ba43a961da394187e399da41'], + }), + ('bamnostic', '1.1.8', { + 'checksums': ['b36b1f9239c1d2d614d2e449efe9a0705efe59ebec099f79ac9464f3b1ff5732'], + }), + ('python-louvain', '0.16', { + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + 'modulename': 'community.community_louvain', + }), + ('get_version', '3.5.4', { + 'checksums': ['5901c846518d55d52c1f6f037f5d2433952b46bbf36e38c52f064ae836556343'], + }), + ('dunamai', '1.16.0', { + 'checksums': ['bfe8e23cc5a1ceed1c7f791674ea24cf832a53a5da73f046eeb43367ccfc3f77'], + }), + ('legacy-api-wrap', '1.2', { + 'checksums': ['034a44612da7e9943d3964363a98937ab54d55e3301075374abe0d521eb8101b'], + }), + ('kneed', '0.8.2', { + 'checksums': ['cbbd34e284f049cafa63f803cd3af0aff113d5347fb398942a74bff07ce6cc62'], + 'preinstallopts': local_preinstallopts_kneed, + }), + ('episcanpy', version, { + 'patches': ['epiScanpy-0.4.0_fix-import.patch'], + 'checksums': [ + {'episcanpy-0.4.0.tar.gz': '95739149db60521b0a14e4579f8ba87d410126ffb7b916abbc2d1aff3df40ce3'}, + {'epiScanpy-0.4.0_fix-import.patch': '593f8763a00159f3dae2aa42099a617e97b999c59cfa0452e013b7c820de4585'}, + ], + # strip out tbb as required dependency, to ensure that 'pip check' passes; + # note that the tbb Python bindings are actually provided by the tbb dependency, + # but pip doesn't know about them due to the way in which they were installed... + 'preinstallopts': "sed -i 's/tbb//' requirements.txt && ", + 'modulename': 'episcanpy.api', + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' 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/epiScanpy/epiScanpy-0.4.0_fix-import.patch b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0_fix-import.patch new file mode 100644 index 00000000000..08fa968b04a --- /dev/null +++ b/easybuild/easyconfigs/e/epiScanpy/epiScanpy-0.4.0_fix-import.patch @@ -0,0 +1,15 @@ +see https://github.com/colomemaria/epiScanpy/issues/130 + https://github.com/colomemaria/epiScanpy/pull/131 + +--- episcanpy-0.4.0/episcanpy/api/pl.py.orig 2023-03-13 15:00:13.363245608 +0100 ++++ episcanpy-0.4.0/episcanpy/api/pl.py 2023-03-13 15:01:02.729453156 +0100 +@@ -16,8 +16,8 @@ + from scanpy.plotting import umap, pca, diffmap, tsne, draw_graph + + from ..preprocessing._quality_control import cal_var, variability_features +-from ..preprocessing._tss_enrichment import tss_enrichment_plot as tss_enrichment +-from ..preprocessing._tss_enrichment import tss_enrichment_score_plot as tss_enrichment_socre ++from ..preprocessing._tss_enrichment import tss_enrichment_plot ++from ..preprocessing._tss_enrichment import tss_enrichment + + + 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/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4af59f56c33 --- /dev/null +++ b/easybuild/easyconfigs/e/exiv2/exiv2-0.27.5-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'exiv2' +version = '0.27.5' + +homepage = 'https://exiv2.org' +description = "Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'Exiv2' +source_urls = [GITHUB_RELEASE] +sources = ['%(name)s-%(version)s-Source.tar.gz'] +checksums = ['35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('expat', '2.4.1'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/exiv2', 'lib/libexiv2.%s' % SHLIB_EXT, 'lib/libexiv2-xmp.a', 'lib/pkgconfig/exiv2.pc'], + 'dirs': ['include/exiv2', 'lib/cmake'], +} + +sanity_check_commands = ["exiv2 --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/exiv2/exiv2-0.28.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/exiv2/exiv2-0.28.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0bd2cbba4bc --- /dev/null +++ b/easybuild/easyconfigs/e/exiv2/exiv2-0.28.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'exiv2' +version = '0.28.0' + +homepage = 'http://www.exiv2.org' +description = """ + Exiv2 is a C++ library and a command line utility to manage image metadata. It provides fast and easy read and write + access to the Exif, IPTC and XMP metadata of digital images in various formats. Exiv2 is available as free software and + with a commercial license, and is used in many projects. +""" + + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Exiv2/exiv2/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-Source.tar.gz'] +checksums = ['89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('expat', '2.5.0'), + ('Brotli', '1.0.9'), + ('inih', '57'), +] + +sanity_check_paths = { + 'files': ['bin/exiv2', 'lib/libexiv2.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["exiv2 --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-5.4.0.eb b/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-5.4.0.eb index a00b575cac8..4cf6ddc59a4 100644 --- a/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-5.4.0.eb @@ -10,7 +10,7 @@ description = """Expat is an XML parser library written in C. It is a stream-ori toolchain = {'name': 'GCCcore', 'version': '5.4.0'} toolchainopts = {'pic': True} -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] sources = [SOURCE_TAR_BZ2] diff --git a/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-6.3.0.eb b/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-6.3.0.eb index e68f2d8d88a..b897f140c89 100644 --- a/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/e/expat/expat-2.2.0-GCCcore-6.3.0.eb @@ -15,7 +15,7 @@ sources = [SOURCE_TAR_BZ2] checksums = ['d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff'] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] sanity_check_paths = { 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/e/expat/expat-2.4.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/expat/expat-2.4.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..061388ea159 --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.4.1-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.4.1' + +homepage = 'https://libexpat.github.io' + +description = """ + Expat is an XML parser library written in C. It is a stream-oriented parser + in which an application registers handlers for things the parser might find + in the XML document (like start tags) +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40'] + +builddependencies = [('binutils', '2.37')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fa885a3e7a8 --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.4.8' + +homepage = 'https://libexpat.github.io' + +description = """ + Expat is an XML parser library written in C. It is a stream-oriented parser + in which an application registers handlers for things the parser might find + in the XML document (like start tags) +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16'] + +builddependencies = [('binutils', '2.38')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-12.1.0.eb b/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..5f2063789b1 --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.4.8-GCCcore-12.1.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' +name = 'expat' +version = '2.4.8' + +homepage = 'https://libexpat.github.io' + +description = """ + Expat is an XML parser library written in C. It is a stream-oriented parser + in which an application registers handlers for things the parser might find + in the XML document (like start tags) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['a247a7f6bbb21cf2ca81ea4cbb916bfb9717ca523631675f99b3d4a5678dcd16'] + +builddependencies = [('binutils', '2.38')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2adfd581f7c --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.4.9-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.4.9' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['7f44d1469b110773a94b0d5abeeeffaef79f8bd6406b07e52394bcf48126437a'] + +builddependencies = [('binutils', '2.39')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5cca3ac204e --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.5.0' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67'] + +builddependencies = [('binutils', '2.40')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f99eeb2426b --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.5.0-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.5.0' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67'] + +builddependencies = [('binutils', '2.40')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..41b5a1340fb --- /dev/null +++ b/easybuild/easyconfigs/e/expat/expat-2.6.2-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'expat' +version = '2.6.2' + +homepage = 'https://libexpat.github.io' + +description = """Expat is an XML parser library written in C. It is a stream-oriented parser +in which an application registers handlers for things the parser might find +in the XML document (like start tags).""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libexpat/libexpat/releases/download/R_%s/' % version.replace('.', '_')] +sources = [SOURCE_TAR_BZ2] +checksums = ['9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0'] + +builddependencies = [('binutils', '2.42')] + +# Since expat 2.2.6, docbook2X is needed to produce manpage of xmlwf. +# Docbook2X needs XML-Parser and XML-Parser needs expat. +# -> circular dependency. "--without-docbook" breaks this circle. +configopts = ['--without-docbook'] + +sanity_check_paths = { + 'files': ['include/expat.h', 'lib/libexpat.a', 'lib/libexpat.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..1e133b2aea1 --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-10.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.3' + +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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a'] + +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/e/expecttest/expecttest-0.1.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1b233bad335 --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.3' + +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8eab7bea399 --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.3' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..30003e96055 --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.3' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8a91ea0f1eb --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.3-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.3' + +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': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['83057695811d94128aed13ed094a070db90e0a92ea40071f8ee073cbab57149a'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..a32a4481fae --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.1.5-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'expecttest' +version = '0.1.5' + +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': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5b3a6a165250860f5a14199f9c59461752beb3b45d48b93347d9afc7293a611c'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' 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/e/expecttest/expecttest-0.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/e/expecttest/expecttest-0.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a70bf3973ca --- /dev/null +++ b/easybuild/easyconfigs/e/expecttest/expecttest-0.2.1-GCCcore-13.3.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.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e52b1cf8a6f84506e6962a0bbdd248ea442124d826e849f263ec1c322ebb73f5'] + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] +dependencies = [ + ('Python', '3.12.3'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FACE/FACE-1.1.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/FACE/FACE-1.1.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..c235f2a1bfb --- /dev/null +++ b/easybuild/easyconfigs/f/FACE/FACE-1.1.1-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'FACE' +version = '1.1.1' + +homepage = 'https://github.com/szaghi/FACE' +description = """A Fortran Ansi Colors (and Styles) Environment. +A KISS pure Fortran Library for easy colorize (and stylize) strings.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/szaghi/FACE/releases/download/v%(version)s'] +sources = ['%(name)s-v%(version)s.tar.gz'] +patches = [ + 'FACE-1.1.1_fix_fobos_src_filename.patch', +] +checksums = [ + 'cdc75cad2b7f443ee18e4a9ea4d264bc63b069e93cda6aa3f6a15a515b1f3721', # FACE-v1.1.1.tar.gz + '9c51e758716db8a63be393a56fc3be22b3f4f4bf90f659844fe6a07bcfe16eb8', # FACE-1.1.1_fix_fobos_src_filename.patch +] + +builddependencies = [ + ('FoBiS', '3.0.5'), +] + +build_cmd = 'FoBiS.py build' +buildopts = '-mode face-shared-gnu ' +buildopts += '-verbose ' + +files_to_copy = [(['lib/mod/*.mod'], 'include'), (['lib/libface.%s' % SHLIB_EXT], 'lib')] + +sanity_check_paths = { + 'files': ['include/face.mod', 'lib/libface.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FACE/FACE-1.1.1_fix_fobos_src_filename.patch b/easybuild/easyconfigs/f/FACE/FACE-1.1.1_fix_fobos_src_filename.patch new file mode 100644 index 00000000000..92933aee308 --- /dev/null +++ b/easybuild/easyconfigs/f/FACE/FACE-1.1.1_fix_fobos_src_filename.patch @@ -0,0 +1,49 @@ +Pull in upstream fix for file name + +Åke Sandgren, 2022-01-24 + +commit 918c19faefabc7a8b35475474daa9dc98474d505 +Author: neok-m4700 +Date: Sun Jan 14 15:39:37 2018 +0100 + + consistency with source file naming + + `FoBiS.py build -tb -mode face-shared-gnu` fails without the changes proposed by this PR (no output lib nor module) + +diff --git a/fobos b/fobos +index 0ca7a8c..3f02f4b 100644 +--- a/fobos ++++ b/fobos +@@ -35,28 +35,28 @@ build_dir = exe + [face-static-gnu] + template = template-static-gnu + build_dir = lib +-target = face.f90 ++target = face.F90 + output = libface.a + mklib = static + + [face-shared-gnu] + template = template-shared-gnu + build_dir = lib +-target = face.f90 ++target = face.F90 + output = libface.so + mklib = shared + + [face-static-intel] + template = template-static-intel + build_dir = lib +-target = face.f90 ++target = face.F90 + output = libface.a + mklib = static + + [face-shared-intel] + template = template-shared-intel + build_dir = lib +-target = face.f90 ++target = face.F90 + output = libface.so + mklib = shared + diff --git a/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb new file mode 100644 index 00000000000..ddc7db52078 --- /dev/null +++ b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'FASTA' +version = '36.3.8i' +local_version_date = '14-Nov-2020' + +homepage = 'http://fasta.bioch.virginia.edu' +description = """The FASTA programs find regions of local or global (new) similarity between +protein or DNA sequences, either by searching Protein or DNA databases, or by identifying +local duplications within a sequence.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/wrpearson/fasta36/archive/'] +sources = ['v%%(version)s_%s.tar.gz' % local_version_date] +checksums = ['b4b1c3c9be6beebcbaf4215368e159d69255e34c0bdbc84affa10cdb473ce008'] + +buildopts = '-C ./src -f ../make/Makefile.linux_sse2 all' + +files_to_copy = ['bin', 'conf', 'data', 'doc', 'FASTA_LIST', 'misc', 'README', 'seq', 'sql', 'test'] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s fasta%(version_major)s fasta"] + +sanity_check_paths = { + 'files': ['FASTA_LIST', 'README'] + ['bin/fasta', 'bin/map_db'] + + ['bin/%s%%(version_major)s' % x for x in ['fasta', 'fastm', 'fastx', 'ggsearch', 'lalign', 'tfastf', + 'tfasts', 'tfasty', 'fastf', 'fasts', 'fasty', 'glsearch', + 'ssearch', 'tfastm', 'tfastx']], + 'dirs': ['conf', 'data', 'doc', 'misc', 'seq', 'sql', 'test'] +} + +sanity_check_commands = ["fasta --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-12.2.0.eb b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-12.2.0.eb new file mode 100644 index 00000000000..cac48a1006e --- /dev/null +++ b/easybuild/easyconfigs/f/FASTA/FASTA-36.3.8i-GCC-12.2.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = "FASTA" +version = "36.3.8i" +local_version_date = '14-Nov-2020' + +homepage = 'https://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml' +description = """The FASTA programs find regions of local or global (new) similarity between +protein or DNA sequences, either by searching Protein or DNA databases, or by identifying +local duplications within a sequence.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/wrpearson/fasta36/archive/'] +sources = ['v%%(version)s_%s.tar.gz' % local_version_date] +checksums = ['b4b1c3c9be6beebcbaf4215368e159d69255e34c0bdbc84affa10cdb473ce008'] + +buildopts = '-C ./src -f ../make/Makefile.linux_sse2 all' + +files_to_copy = ["bin", "conf", "data", "doc", "FASTA_LIST", "misc", "README", "seq", "sql", "test"] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s fasta%(version_major)s fasta"] + +sanity_check_paths = { + 'files': ["FASTA_LIST", "README"] + ['bin/%s' % x for x in ['map_db']] + + ['bin/%s%%(version_major)s' % x for x in ['fasta', 'fastm', 'fastx', 'ggsearch', 'lalign', 'tfastf', + 'tfasts', 'tfasty', 'fastf', 'fasts', 'fasty', 'glsearch', + 'ssearch', 'tfastm', 'tfastx']], + 'dirs': ["conf", "data", "doc", "misc", "seq", "sql", "test"] +} + +sanity_check_commands = ["fasta --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-10.3.0.eb b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-10.3.0.eb new file mode 100644 index 00000000000..be52bdfb220 --- /dev/null +++ b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-10.3.0.eb @@ -0,0 +1,63 @@ +## +# 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 = 'Bundle' + +name = 'FASTX-Toolkit' +version = '0.0.14' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """The FASTX-Toolkit is a collection of command line tools for + Short-Reads FASTA/FASTQ files preprocessing.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +default_easyblock = 'ConfigureMake' + +components = [ + ('libgtextutils', '0.7', { + 'source_urls': ['https://github.com/agordon/libgtextutils/releases/download/%(version)s/'], + 'sources': [SOURCE_TAR_GZ], + 'patches': ['libgtextutils-%(version)s_fix-bool.patch'], + 'checksums': [ + '792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a', # libgtextutils-0.7.tar.gz + 'bb16a4fd86c2eb12215d8780b09f0898771a73e53889a015e2351f2d737c9a00', # libgtextutils-0.7_fix-bool.patch + ], + 'start_dir': 'libgtextutils-%(version)s', + }), + (name, version, { + 'source_urls': ['https://github.com/agordon/fastx_toolkit/releases/download/%(version)s'], + 'sources': ['fastx_toolkit-%(version)s.tar.bz2'], + 'checksums': ['9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806'], + 'start_dir': 'fastx_toolkit-%(version)s', + 'preconfigopts': "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ", + 'configopts': 'CXXFLAGS="$CXXFLAGS -Wno-implicit-fallthrough"', + }), +] + +sanity_check_paths = { + 'files': + ['bin/fastx_%s' % x for x in + ['clipper', 'trimmer', 'quality_stats', 'artifacts_filter', 'reverse_complement', + 'collapser', 'uncollapser', 'renamer', 'barcode_splitter.pl', 'nucleotide_distribution_graph.sh', + 'nucleotide_distribution_line_graph.sh']] + + ['bin/fasta_%s' % x for x in + ['clipping_histogram.pl', 'formatter', 'nucleotide_changer']] + + ['bin/fastq_%s' % x for x in + ['quality_boxplot_graph.sh', 'quality_converter', 'to_fasta', 'quality_filter', + 'quality_trimmer', 'masker']] + + ['lib/libgtextutils.%s' % SHLIB_EXT, 'lib/libgtextutils.a'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.2.0.eb new file mode 100644 index 00000000000..5c21344e607 --- /dev/null +++ b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.2.0.eb @@ -0,0 +1,63 @@ +## +# 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 = 'Bundle' + +name = 'FASTX-Toolkit' +version = '0.0.14' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """The FASTX-Toolkit is a collection of command line tools for + Short-Reads FASTA/FASTQ files preprocessing.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +default_easyblock = 'ConfigureMake' + +components = [ + ('libgtextutils', '0.7', { + 'source_urls': ['https://github.com/agordon/libgtextutils/releases/download/%(version)s/'], + 'sources': [SOURCE_TAR_GZ], + 'patches': ['libgtextutils-%(version)s_fix-bool.patch'], + 'checksums': [ + '792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a', # libgtextutils-0.7.tar.gz + 'bb16a4fd86c2eb12215d8780b09f0898771a73e53889a015e2351f2d737c9a00', # libgtextutils-0.7_fix-bool.patch + ], + 'start_dir': 'libgtextutils-%(version)s', + }), + (name, version, { + 'source_urls': ['https://github.com/agordon/fastx_toolkit/releases/download/%(version)s'], + 'sources': ['fastx_toolkit-%(version)s.tar.bz2'], + 'checksums': ['9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806'], + 'start_dir': 'fastx_toolkit-%(version)s', + 'preconfigopts': "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ", + 'configopts': 'CXXFLAGS="$CXXFLAGS -Wno-implicit-fallthrough"', + }), +] + +sanity_check_paths = { + 'files': + ['bin/fastx_%s' % x for x in + ['clipper', 'trimmer', 'quality_stats', 'artifacts_filter', 'reverse_complement', + 'collapser', 'uncollapser', 'renamer', 'barcode_splitter.pl', 'nucleotide_distribution_graph.sh', + 'nucleotide_distribution_line_graph.sh']] + + ['bin/fasta_%s' % x for x in + ['clipping_histogram.pl', 'formatter', 'nucleotide_changer']] + + ['bin/fastq_%s' % x for x in + ['quality_boxplot_graph.sh', 'quality_converter', 'to_fasta', 'quality_filter', + 'quality_trimmer', 'masker']] + + ['lib/libgtextutils.%s' % SHLIB_EXT, 'lib/libgtextutils.a'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb new file mode 100644 index 00000000000..8589f7ecedc --- /dev/null +++ b/easybuild/easyconfigs/f/FASTX-Toolkit/FASTX-Toolkit-0.0.14-GCC-11.3.0.eb @@ -0,0 +1,95 @@ +## +# 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 = 'Bundle' + +name = 'FASTX-Toolkit' +version = '0.0.14' + +homepage = 'http://hannonlab.cshl.edu/fastx_toolkit/' +description = """The FASTX-Toolkit is a collection of command line tools for + Short-Reads FASTA/FASTQ files preprocessing.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +default_easyblock = 'ConfigureMake' + +dependencies = [ + ('GDGraph', '1.56'), + ('Perl', '5.34.1'), +] + +components = [ + ('libgtextutils', '0.7', { + 'source_urls': ['https://github.com/agordon/libgtextutils/releases/download/%(version)s/'], + 'sources': [SOURCE_TAR_GZ], + 'patches': ['libgtextutils-%(version)s_fix-bool.patch'], + 'checksums': [ + '792e0ea3c96ffe3ad65617a104b7dc50684932bc96d2adab501c952fd65c3e4a', # libgtextutils-0.7.tar.gz + 'bb16a4fd86c2eb12215d8780b09f0898771a73e53889a015e2351f2d737c9a00', # libgtextutils-0.7_fix-bool.patch + ], + 'start_dir': 'libgtextutils-%(version)s', + }), + (name, version, { + 'source_urls': ['https://github.com/agordon/fastx_toolkit/releases/download/%(version)s'], + 'sources': ['fastx_toolkit-%(version)s.tar.bz2'], + 'checksums': ['9e1f00c4c9f286be59ac0e07ddb7504f3b6433c93c5c7941d6e3208306ff5806'], + 'start_dir': 'fastx_toolkit-%(version)s', + 'preconfigopts': "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && ", + 'configopts': 'CXXFLAGS="$CXXFLAGS -Wno-implicit-fallthrough"', + }), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('PerlIO::gzip', '0.20', { + 'source_tmpl': 'PerlIO-gzip-0.20.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'], + 'checksums': ['4848679a3f201e3f3b0c5f6f9526e602af52923ffa471a2a3657db786bd3bdc5'], + }), +] + +fix_perl_shebang_for = ['bin/*.pl'] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/' +} + +sanity_check_paths = { + 'files': + ['bin/fastx_%s' % x for x in + ['clipper', 'trimmer', 'quality_stats', 'artifacts_filter', 'reverse_complement', + 'collapser', 'uncollapser', 'renamer', 'barcode_splitter.pl', 'nucleotide_distribution_graph.sh', + 'nucleotide_distribution_line_graph.sh']] + + ['bin/fasta_%s' % x for x in + ['clipping_histogram.pl', 'formatter', 'nucleotide_changer']] + + ['bin/fastq_%s' % x for x in + ['quality_boxplot_graph.sh', 'quality_converter', 'to_fasta', 'quality_filter', + 'quality_trimmer', 'masker']] + + ['lib/libgtextutils.%s' % SHLIB_EXT, 'lib/libgtextutils.a'], + 'dirs': [] +} + +sanity_check_commands = [ + 'fasta_clipping_histogram.pl', + 'fasta_formatter -h', + 'fastq_masker -h | grep "FASTX Toolkit %(version)s"', + 'fastq_quality_boxplot_graph.sh', + 'fastx_barcode_splitter.pl --help | grep "Barcode Splitter, by Assaf Gordon (gordon@cshl.edu), 11sep2008"', + 'fastx_clipper -h | grep "FASTX Toolkit %(version)s"', + 'fastx_nucleotide_distribution_graph.sh', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FBPIC/FBPIC-0.20.3-fosscuda-2020b.eb b/easybuild/easyconfigs/f/FBPIC/FBPIC-0.20.3-fosscuda-2020b.eb new file mode 100755 index 00000000000..03490cd20dc --- /dev/null +++ b/easybuild/easyconfigs/f/FBPIC/FBPIC-0.20.3-fosscuda-2020b.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'FBPIC' +version = '0.20.3' + +homepage = "https://fbpic.github.io/" +description = """FBPIC (Fourier-Bessel Particle-In-Cell) is a Particle-In-Cell (PIC) code for relativistic plasma + physics. It is especially well-suited for physical simulations of laser-wakefield acceleration and + plasma-wakefield acceleration.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('CuPy', '8.5.0'), + ('h5py', '3.1.0'), + ('numba', '0.53.1'), + ('pyFFTW', '0.12.0'), + ('SciPy-bundle', '2020.11'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('picmistandard', '0.0.14', { + 'checksums': ['8f83b25b281fc0309a0c4f75c7605afd5fa0ef4df3b3ac115069478c119bc8c3'], + }), + ('periodictable', '1.6.0', { + 'checksums': ['52e925220005c20e97601e7b04ad6cebc271680947ab9adcbb1a796ddbaa0f23'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'use_pip_extras': 'picmi', + 'checksums': ['967d7f087861679467eab31d4b3b12e823a539b1161a1b5f9054e3578a7e000f'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb new file mode 100644 index 00000000000..f177acda709 --- /dev/null +++ b/easybuild/easyconfigs/f/FDMNES/FDMNES-2024-02-29-gomkl-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'FDMNES' + +version = '2024-02-29' + +homepage = 'https://fdmnes.neel.cnrs.fr' +description = """X-ray spectroscopies are techniques which probe the electronic and structural +properties of the materials. Most often performed at synchrotron, they are extensively used +to analyse all classes of materials. The advances on the experimental side need the complementary +progress on the theoretical side to extract confidentely all the information the data can furnish. + +In this context, the purpose of our FDMNES project is to supply to the community a user friendly +ab initio code to simulate X-ray absorption and emission spectroscopies as well as resonant x-ray +scattering and x-ray Raman spectroscopies, among other techniques. + +FDMNES, for Finite Difference Method Near Edge Structure, uses the density functional theory (DFT). +It is thus specially devoted to the simulation of the K edges of all the chemical +elements and of the L23 edges of the heavy ones. +For the other edges, it includes advances by the use of the time dependent DFT (TD-DFT).""" + +toolchain = {'name': 'gomkl', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [{ + 'source_urls': ['https://cloud.neel.cnrs.fr/index.php/s/tDpQWmec7S4Ei4G'], + 'download_filename': 'download', + 'filename': '%(namelower)s_fortran_prog_%(version)s.zip', +}] +checksums = ['bcf0928dd8f44bb0098aed4b8d45c8cf4cedf7cee1a598342de6115d7066c2fb'] + +dependencies = [ + ('MUMPS', '5.6.1', '-metis-seq'), + ('OpenMPI', '4.1.5'), + ('SCOTCH', '7.0.3'), +] + +parallel = 1 + +prebuildopts = "sed -i 's/-llapack -lblas/$LIBLAPACK/g;" +# to avoid the `/bin/sh: line 1: -lscotch: command not found` error +prebuildopts += '/-lscotch/d;' +prebuildopts += 's/lpord \\\\/lpord -lscotch -lscotcherr -lpthread -Wl,--start-group ' +prebuildopts += '-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lgfortran/g;' +# to avoid the `undefined reference to 'main_rixs_'` error +prebuildopts += "s/mat_solve_mumps.o/mat_solve_mumps.o RIXS.o/g' makefile && echo Here && cat makefile && " + +buildopts = 'FC="$FC" FFLAGS="-c $FFLAGS -fallow-argument-mismatch -fallow-invalid-boz -I$EBROOTMUMPS/include"' + +files_to_copy = [ + (['%(builddir)s/fdmnes'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/fdmnes'], + 'dirs': [] +} + +sanity_check_commands = ['fdmnes --help'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/FDS/FDS-6.7.7-intel-2021b.eb b/easybuild/easyconfigs/f/FDS/FDS-6.7.7-intel-2021b.eb new file mode 100644 index 00000000000..cbaea91a5e9 --- /dev/null +++ b/easybuild/easyconfigs/f/FDS/FDS-6.7.7-intel-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'FDS' +version = '6.7.7' + +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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://github.com/firemodels/fds/archive/'] +sources = ['FDS%(version)s.tar.gz'] +checksums = ['0d46348ea1da1ca077c77baeb6dad6643c22508e9964775c96ce642af400dcaf'] + +unpack_options = '--strip-components=1' + +start_dir = 'Build' + +# just run make in the install dir +skipsteps = ['configure', 'install'] +buildininstalldir = True + +buildopts = 'impi_intel_linux_64 FFLAGS="$FFLAGS -fpp" FCOMPL="$FC" obj=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/FDS/FDS-6.7.9-intel-2022a.eb b/easybuild/easyconfigs/f/FDS/FDS-6.7.9-intel-2022a.eb new file mode 100644 index 00000000000..f26d9139e84 --- /dev/null +++ b/easybuild/easyconfigs/f/FDS/FDS-6.7.9-intel-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'FDS' +version = '6.7.9' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://github.com/firemodels/fds/archive/'] +sources = ['FDS%(version)s.tar.gz'] +checksums = ['b6889471a56d0ebf07dfc93bbd35600b7c9ea13f194478c9f797cb653624ecd2'] + +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/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 new file mode 100644 index 00000000000..be9707946a7 --- /dev/null +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2022a.eb @@ -0,0 +1,41 @@ +## +# 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' + +name = 'FFLAS-FFPACK' +version = '2.5.0' + +homepage = 'https://linbox-team.github.io/fflas-ffpack/' +description = "Finite Field Linear Algebra Subroutines / Package" + +toolchain = {'name': 'gfbf', 'version': '2022a'} + +source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23'] + +builddependencies = [('pkgconf', '1.8.0')] +dependencies = [ + ('Givaro', '4.2.0'), +] + +configopts = '--with-blas-libs="$LIBBLAS_MT" --with-blas-cflags="-I$BLAS_INC_DIR" ' +configopts += '--enable-openmp' + +buildopts = " && make autotune " + +sanity_check_paths = { + 'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["fflas-ffpack-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb new file mode 100644 index 00000000000..2bd469f7978 --- /dev/null +++ b/easybuild/easyconfigs/f/FFLAS-FFPACK/FFLAS-FFPACK-2.5.0-gfbf-2023b.eb @@ -0,0 +1,43 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'FFLAS-FFPACK' +version = '2.5.0' + +homepage = 'https://linbox-team.github.io/fflas-ffpack/' +description = "Finite Field Linear Algebra Subroutines / Package" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/linbox-team/fflas-ffpack/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dafb4c0835824d28e4f823748579be6e4c8889c9570c6ce9cce1e186c3ebbb23'] + +dependencies = [ + ('GMP', '6.3.0'), + ('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' + +buildopts = " && make autotune " + +sanity_check_paths = { + 'files': ['bin/fflas-ffpack-config', 'include/fflas-ffpack/fflas-ffpack.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["fflas-ffpack-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb new file mode 100644 index 00000000000..4b79e9e7c27 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gmpich-2024.06.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gmpich', 'version': '2024.06'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.05.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.05.eb new file mode 100644 index 00000000000..ff23461db85 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.05.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022.05'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb new file mode 100644 index 00000000000..dacac34b6e3 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022.10.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb new file mode 100644 index 00000000000..f02489825a9 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022a.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb new file mode 100644 index 00000000000..a8c00b01432 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023.09.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023.09.eb new file mode 100644 index 00000000000..4e136d40c73 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023.09.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2023.09'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023a.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023a.eb new file mode 100644 index 00000000000..e7c6416b64e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023a.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023b.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023b.eb new file mode 100644 index 00000000000..4ebcd8a75cd --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2023b.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb new file mode 100644 index 00000000000..b6ab2a2d4f0 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024.05.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb new file mode 100644 index 00000000000..2ed420c412f --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2024a.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb new file mode 100644 index 00000000000..48501672627 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW.MPI/FFTW.MPI-3.3.10-nvompi-2022.07.eb @@ -0,0 +1,19 @@ +name = 'FFTW.MPI' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'nvompi', 'version': '2022.07'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['fftw-%(version)s.tar.gz'] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +dependencies = [('FFTW', '3.3.10')] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb new file mode 100644 index 00000000000..99e7044835e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-11.3.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb new file mode 100644 index 00000000000..90dce63b19c --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb new file mode 100644 index 00000000000..4cc48a4800b --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-12.3.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb new file mode 100644 index 00000000000..32652387f8e --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.2.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb new file mode 100644 index 00000000000..bf18544e701 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-GCC-13.3.0.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9a75ff49951 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,20 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +# Does not work with nvc +with_quad_prec = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-gompi-2021b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-gompi-2021b.eb new file mode 100644 index 00000000000..cc44c633069 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-gompi-2021b.eb @@ -0,0 +1,17 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2021b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2021b.eb new file mode 100644 index 00000000000..e59cfb10c45 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2021b.eb @@ -0,0 +1,26 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +# no quad precision, requires GCC v4.6 or higher +# see also +# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails on AMD systems when configuring with --enable-avx-128-fma, +# because Intel compilers do not support FMA4 instructions +use_fma4 = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022a.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022a.eb new file mode 100644 index 00000000000..63d8bd8e1e6 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022a.eb @@ -0,0 +1,27 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +# no quad precision, requires GCC v4.6 or higher +# see also +# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails on AMD systems when configuring with --enable-avx-128-fma, +# because Intel compilers do not support FMA4 instructions +use_fma4 = False + + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022b.eb new file mode 100644 index 00000000000..441ffa2eca8 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.10-iimpi-2022b.eb @@ -0,0 +1,27 @@ +name = 'FFTW' +version = '3.3.10' + +homepage = 'https://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) +in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467'] + +# no quad precision, requires GCC v4.6 or higher +# see also +# https://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails on AMD systems when configuring with --enable-avx-128-fma, +# because Intel compilers do not support FMA4 instructions +use_fma4 = False + + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb new file mode 100644 index 00000000000..a3012e1e59c --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iomkl-2020b.eb @@ -0,0 +1,28 @@ +name = 'FFTW' +version = '3.3.8' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iomkl', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = ['FFTW-%(version)s_fix-icc-no-gcc.patch'] +checksums = [ + '6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303', # fftw-3.3.8.tar.gz + '1b3319b98a2ca4ead68290b3229385c0573e22749a5a2ffb49486a0bbb37dc1e', # FFTW-3.3.8_fix-icc-no-gcc.patch +] +# no quad precision, requires GCC v4.6 or higher +# see also +# http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails when configuring with --enable-avx-128-fma, Intel compilers do not support FMA4 instructions +use_fma4 = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iompi-2020b.eb b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iompi-2020b.eb new file mode 100644 index 00000000000..65082d495d4 --- /dev/null +++ b/easybuild/easyconfigs/f/FFTW/FFTW-3.3.8-iompi-2020b.eb @@ -0,0 +1,29 @@ +name = 'FFTW' +version = '3.3.8' + +homepage = 'http://www.fftw.org' +description = """FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) + in one or more dimensions, of arbitrary input size, and of both real and complex data.""" + +toolchain = {'name': 'iompi', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = ['FFTW-%(version)s_fix-icc-no-gcc.patch'] +checksums = [ + '6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303', # fftw-3.3.8.tar.gz + '1b3319b98a2ca4ead68290b3229385c0573e22749a5a2ffb49486a0bbb37dc1e', # FFTW-3.3.8_fix-icc-no-gcc.patch +] + +# no quad precision, requires GCC v4.6 or higher +# see also +# http://www.fftw.org/doc/Extended-and-quadruple-precision-in-Fortran.html +with_quad_prec = False + +# compilation fails when configuring with --enable-avx-128-fma, Intel compilers do not support FMA4 instructions +use_fma4 = False + +runtest = 'check' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb index 49875a9e83d..35d6aae750c 100644 --- a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-10.3.0.eb @@ -17,7 +17,8 @@ checksums = ['ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a'] builddependencies = [ ('binutils', '2.36.1'), - ('pkg-config', '0.29.2') + ('pkg-config', '0.29.2'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support ] dependencies = [ diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9b441413d60 --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '4.3.2' + +homepage = 'https://www.ffmpeg.org/' +description = """A complete, cross-platform solution to record, convert and stream audio and video.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ffmpeg.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support +] + +dependencies = [ + ('NASM', '2.15.05'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('x264', '20210613'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20210802'), + ('freetype', '2.11.0'), + ('fontconfig', '2.13.94'), + ('FriBidi', '1.0.10'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..481c69c9923 --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-4.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '4.4.2' + +homepage = 'https://www.ffmpeg.org/' +description = """A complete, cross-platform solution to record, convert and stream audio and video.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ffmpeg.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f98a482520c47507521a907914daa9efbc1384e0591b5afc3da18aa897de2948'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support +] + +dependencies = [ + ('NASM', '2.15.05'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('x264', '20220620'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20220504'), + ('freetype', '2.12.1'), + ('fontconfig', '2.14.0'), + ('FriBidi', '1.0.12'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6a468c1f81d --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '5.0.1' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['28df33d400a1c1c1b20d07a99197809a3b88ef765f5f07dc1ff067fac64c59d6'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.15.05'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('x264', '20220620'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20220504'), + ('freetype', '2.12.1'), + ('fontconfig', '2.14.0'), + ('FriBidi', '1.0.12'), + ('SDL2', '2.0.22'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..dfe40032efc --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-5.1.2-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '5.1.2' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['39a0bcc8d98549f16c570624678246a6ac736c066cebdb409f9502e915b22f2b'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('ffnvcodec', '11.1.5.2', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.15.05'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('x264', '20230226'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20221110'), + ('freetype', '2.12.1'), + ('fontconfig', '2.14.1'), + ('FriBidi', '1.0.12'), + ('SDL2', '2.26.3'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..caa80fed59d --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '6.0' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('ffnvcodec', '12.0.16.0', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.16.01'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('x264', '20230226'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20230603'), + ('freetype', '2.13.0'), + ('fontconfig', '2.14.2'), + ('FriBidi', '1.0.12'), + ('SDL2', '2.28.2'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c75695951f6 --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '6.0' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('ffnvcodec', '12.1.14.0', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.16.01'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('x264', '20231019'), + ('LAME', '3.100'), + ('x265', '3.5'), + ('X11', '20231019'), + ('freetype', '2.13.2'), + ('fontconfig', '2.14.2'), + ('FriBidi', '1.0.13'), + ('SDL2', '2.28.5'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FFmpeg/FFmpeg-7.0.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-7.0.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..246a8306b76 --- /dev/null +++ b/easybuild/easyconfigs/f/FFmpeg/FFmpeg-7.0.2-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FFmpeg' +version = '7.0.2' + +homepage = 'https://www.ffmpeg.org/' +description = "A complete, cross-platform solution to record, convert and stream audio and video." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://%(namelower)s.org/releases/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['1ed250407ea8f955cca2f1139da3229fbc13032a0802e4b744be195865ff1541'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('ffnvcodec', '12.2.72.0', '', SYSTEM), # optional nvenc/dec support +] +dependencies = [ + ('NASM', '2.16.03'), + ('zlib', '1.3.1'), + ('bzip2', '1.0.8'), + ('x264', '20240513'), + ('LAME', '3.100'), + ('x265', '3.6'), + ('X11', '20240607'), + ('freetype', '2.13.2'), + ('fontconfig', '2.15.0'), + ('FriBidi', '1.0.15'), + ('SDL2', '2.30.6'), +] + +configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" ' +configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig ' +configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages' + +sanity_check_paths = { + 'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] + + ['lib/lib%s.%s' % (x, y) for x in ['avdevice', 'avfilter', 'avformat', 'avcodec', 'postproc', + 'swresample', 'swscale', 'avutil'] for y in [SHLIB_EXT, 'a']], + 'dirs': ['include'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb b/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb new file mode 100644 index 00000000000..7e9bb34bb35 --- /dev/null +++ b/easybuild/easyconfigs/f/FHI-aims/FHI-aims-221103-intel-2022a.eb @@ -0,0 +1,57 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# Updated to 210716_3 +# J. Sassmannshausen (Imperial College London/UK) +## +easyblock = 'CMakeMake' + +name = 'FHI-aims' +version = '221103' + +homepage = 'https://fhi-aims.org/' +description = """FHI-aims is an efficient, accurate all-electron, +full-potential electronic structure code package for computational molecular +and materials science (non-periodic and periodic systems). The code supports +DFT (semilocal and hybrid) and many-body perturbation theory. FHI-aims is +particularly efficient for molecular systems and nanostructures, while +maintaining high numerical accuracy for all production tasks. Production +calculations handle up to several thousand atoms and can efficiently use (ten) +thousands of cores. +""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'opt': True, 'precise': True} + +download_instructions = """ +The source code must be downloaded manually from the FHI-aims club +(https://fhi-aims.org/get-the-code-menu/login). +Access to the FHI-aims club requires a valid license and registration. +Details on available license options and how to register to access +FHI-aims club may be found at: +https://fhi-aims.org/get-the-code-menu/get-the-code """ + +sources = ['%(namelower)s.%(version)s.tgz'] +checksums = ['1905147a15968b6b719a4f5d9495a958df648d3ccee58f5012734be5d6727749'] + +builddependencies = [('CMake', '3.24.3')] + +configopts = ' -DCMAKE_Fortran_COMPILER="$MPIF90" ' +configopts += ' -DLIBS="mkl_scalapack_lp64 mkl_blacs_intelmpi_lp64 mkl_intel_lp64 mkl_sequential mkl_core" ' +configopts += ' -DLIB_PATHS="$CMAKE_LIBRARY_PATH" ' +configopts += ' -DCMAKE_C_FLAGS="$CFLAGS -ip" ' +configopts += ' -DCMAKE_Fortran_FLAGS="$FFLAGS -ip" ' +configopts += ' -DFortran_MIN_FLAGS="-O0 -fp-model precise" ' +configopts += ' -DTARGET_NAME="aims.x" ' + +postinstallcmds = ["cp -ar %(builddir)s/%(namelower)s.%(version)s/{CHANGELOG.md,doc,external} %(installdir)s/", + "cp -ar %(builddir)s/%(namelower)s.%(version)s/{regression_tests,species_defaults} %(installdir)s/", + "cp -ar %(builddir)s/%(namelower)s.%(version)s/{testcases,utilities} %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/aims.x'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9e8c65680d0 --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.3-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.3.3' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.3.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d623911e08f --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.3.4-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.3.4' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..27ae550b774 --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.4.2' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6b89c621af0 --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.4.2' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a0abaac6ca9 --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.4.3' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f767483f7cd --- /dev/null +++ b/easybuild/easyconfigs/f/FLAC/FLAC-1.4.3-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FLAC' +version = '1.4.3' + +homepage = 'https://xiph.org/flac/' +description = """FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning +that audio is compressed in FLAC without any loss in quality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/flac/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['bin/flac', 'lib/libFLAC.a', 'lib/libFLAC++.a', + 'lib/libFLAC.%s' % SHLIB_EXT, 'lib/libFLAC++.%s' % SHLIB_EXT], + 'dirs': ['include/FLAC', 'include/FLAC++'], +} + +sanity_check_commands = ["flac --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..34f5aaf3db5 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,42 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.8.4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/mariusmuja/flann/' +description = "FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces." + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'openmp': True} +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['FLANN-%(version)s_fix-cmake.patch'] + +checksums = [ + 'ed5843113150b3d6bc4c325fecb51337838a9fc09ad64bdb6aea79d6e610ee13', # flann-1.8.4.tar.gz + '179699d853440c9d4446b8f338a1fde64c3e712dd4bc305790a2d5790fb25ed6', # FLANN-1.8.4_fix-cmake.patch +] + +builddependencies = [('CMake', '3.16.4')] +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', '-Python-3.8.2'), +] + +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" + +modextrapaths = {'PYTHONPATH': ['share/flann/python']} + +sanity_check_paths = { + 'files': ['lib/libflann_cpp_s.a', 'lib/libflann_s.a', + 'lib/libflann_cpp.%s' % SHLIB_EXT, 'lib/libflann.%s' % SHLIB_EXT], + 'dirs': ['include/flann', 'lib/pkgconfig', 'share/doc/flann', 'share/flann/python'], +} +sanity_check_commands = ["python -c 'import pyflann'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2016a-Python-2.7.11.eb index 82bf05536dc..2e3e8f058de 100644 --- a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2016a-Python-2.7.11.eb @@ -12,6 +12,7 @@ toolchainopts = {'openmp': True} source_urls = ['http://www.cs.ubc.ca/research/flann/uploads/FLANN/'] sources = ['flann-%(version)s-src.zip'] +checksums = ['dfbb9321b0d687626a644c70872a2c540b16200e7f4c7bd72f91ae032f445c08'] builddependencies = [('CMake', '3.5.2')] dependencies = [ @@ -20,7 +21,7 @@ dependencies = [ separate_build_dir = True -configopts = "-DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" modextrapaths = {'PYTHONPATH': ['share/flann/python']} diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2017b-Python-2.7.14.eb index 51ef4d7a5b9..cc78e9558be 100644 --- a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4-intel-2017b-Python-2.7.14.eb @@ -23,7 +23,7 @@ dependencies = [('Python', '2.7.14')] separate_build_dir = True -configopts = "-DCMAKE_BUILD_TYPE=Release -DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" modextrapaths = {'PYTHONPATH': ['share/flann/python']} diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch new file mode 100644 index 00000000000..a1932dfb573 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.8.4_fix-cmake.patch @@ -0,0 +1,30 @@ +# Flann fails to build with newer versions of CMake, see: +# https://stackoverflow.com/questions/50763621/building-flann-with-cmake-fails +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index 49c53f0..0976e41 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -29,7 +29,7 @@ if (BUILD_CUDA_LIB) + endif() + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann_cpp SHARED "") ++ add_library(flann_cpp SHARED empty.cpp) + set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) + +@@ -83,7 +83,7 @@ if (BUILD_C_BINDINGS) + set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann SHARED "") ++ add_library(flann SHARED empty.cpp) + set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) + target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) + else() +diff --git a/src/cpp/empty.cpp b/src/cpp/empty.cpp +new file mode 100644 +index 0000000..e69de29 diff --git a/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..5321fb0cc98 --- /dev/null +++ b/easybuild/easyconfigs/f/FLANN/FLANN-1.9.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,42 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'FLANN' +version = '1.9.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/mariusmuja/flann/' +description = "FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces." + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/mariusmuja/flann/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['FLANN-1.8.4_fix-cmake.patch'] +checksums = [ + 'b23b5f4e71139faa3bcb39e6bbcc76967fbaf308c4ee9d4f5bfbeceaa76cc5d3', # flann-1.9.1.tar.gz + '179699d853440c9d4446b8f338a1fde64c3e712dd4bc305790a2d5790fb25ed6', # FLANN-1.8.4_fix-cmake.patch +] + +builddependencies = [('CMake', '3.16.4')] +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', '-Python-3.8.2'), +] + +configopts = "-DUSE_OPENMP=ON -DUSE_MPI=ON -DBUILD_PYTHON_BINDINGS=ON -DBUILD_C_BINDINGS=ON" + +modextrapaths = {'PYTHONPATH': ['share/flann/python']} + +sanity_check_paths = { + 'files': ['lib/libflann_cpp_s.a', 'lib/libflann_s.a', + 'lib/libflann_cpp.%s' % SHLIB_EXT, 'lib/libflann.%s' % SHLIB_EXT], + 'dirs': ['include/flann', 'lib/pkgconfig', 'share/flann/python'], +} +sanity_check_commands = ["python -c 'import pyflann'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb new file mode 100644 index 00000000000..a7d6de3d521 --- /dev/null +++ b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'FLASH' +version = '2.2.00' + +homepage = 'https://ccb.jhu.edu/software/FLASH/' +description = """FLASH (Fast Length Adjustment of SHort reads) is a very fast +and accurate software tool to merge paired-end reads from next-generation +sequencing experiments. FLASH is designed to merge pairs of reads when the +original DNA fragments are shorter than twice the length of reads. The +resulting longer reads can significantly improve genome assemblies. They can +also improve transcriptome assembly when FLASH is used to merge RNA-seq data. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/dstreett/FLASH2/archive/'] +sources = ['%(version)s.zip'] +checksums = ['1e54b2dd7d21ca3e0595a3ffdd27ef3098f88c4de5b9302ec5ea074b49b79960'] + +files_to_copy = [(['flash2'], 'bin')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s flash2 flash"] + +sanity_check_paths = { + 'files': ['bin/flash2', 'bin/flash'], + 'dirs': [], +} + +sanity_check_commands = [ + "flash --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..022f8adffbe --- /dev/null +++ b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'FLASH' +version = '2.2.00' + +homepage = 'https://ccb.jhu.edu/software/FLASH/' +description = """FLASH (Fast Length Adjustment of SHort reads) is a very fast +and accurate software tool to merge paired-end reads from next-generation +sequencing experiments. FLASH is designed to merge pairs of reads when the +original DNA fragments are shorter than twice the length of reads. The +resulting longer reads can significantly improve genome assemblies. They can +also improve transcriptome assembly when FLASH is used to merge RNA-seq data. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/dstreett/FLASH2/archive/'] +sources = ['%(version)s.zip'] +checksums = ['1e54b2dd7d21ca3e0595a3ffdd27ef3098f88c4de5b9302ec5ea074b49b79960'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('zlib', '1.2.12')] + +files_to_copy = [(['flash2'], 'bin')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s flash2 flash"] + +sanity_check_paths = { + 'files': ['bin/flash2', 'bin/flash'], + 'dirs': [], +} + +sanity_check_commands = [ + "flash --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-foss-2020b.eb b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-foss-2020b.eb new file mode 100644 index 00000000000..68775a2c869 --- /dev/null +++ b/easybuild/easyconfigs/f/FLASH/FLASH-2.2.00-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'FLASH' +version = '2.2.00' + +homepage = 'https://ccb.jhu.edu/software/FLASH/' +description = """FLASH (Fast Length Adjustment of SHort reads) is a very fast +and accurate software tool to merge paired-end reads from next-generation +sequencing experiments. FLASH is designed to merge pairs of reads when the +original DNA fragments are shorter than twice the length of reads. The +resulting longer reads can significantly improve genome assemblies. They can +also improve transcriptome assembly when FLASH is used to merge RNA-seq data. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/dstreett/FLASH2/archive/'] +sources = ['%(version)s.zip'] +checksums = ['1e54b2dd7d21ca3e0595a3ffdd27ef3098f88c4de5b9302ec5ea074b49b79960'] + +files_to_copy = [(['flash2'], 'bin')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s flash2 flash"] + +sanity_check_paths = { + 'files': ['bin/flash2', 'bin/flash'], + 'dirs': [], +} + +sanity_check_commands = [ + "flash --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-2.7.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/FLINT/FLINT-2.7.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..6d6372b49bb --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.7.1-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '2.7.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': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-2.8.4-foss-2021b.eb b/easybuild/easyconfigs/f/FLINT/FLINT-2.8.4-foss-2021b.eb new file mode 100644 index 00000000000..493b0f97e4f --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.8.4-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '2.8.4' + +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': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-%(version)s_find_flexiblas.patch', +] +checksums = [ + {'flint-2.8.4.tar.gz': '61df92ea8c8e9dc692d46c71d7f50aaa09a33d4ba08d02a1784730a445e5e4be'}, + {'FLINT-2.8.4_find_flexiblas.patch': '35a3db14646daf584449f2b9c6880b66e7b082a665eba56234230610bab77c6e'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('NTL', '11.5.1'), +] + +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/FLINT/FLINT-2.8.4_find_flexiblas.patch b/easybuild/easyconfigs/f/FLINT/FLINT-2.8.4_find_flexiblas.patch new file mode 100644 index 00000000000..54412d05b23 --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.8.4_find_flexiblas.patch @@ -0,0 +1,23 @@ +Use FlexiBLAS when available + +Åke Sandgren, 2023-05-03 +diff -ru flint-2.8.4.orig/CMake/FindCBLAS.cmake flint-2.8.4/CMake/FindCBLAS.cmake +--- flint-2.8.4.orig/CMake/FindCBLAS.cmake 2021-11-17 18:43:50.000000000 +0100 ++++ flint-2.8.4/CMake/FindCBLAS.cmake 2023-05-03 09:29:36.599062848 +0200 +@@ -11,13 +11,13 @@ + find_path(CBLAS_INCLUDE_DIRS NAMES cblas.h + HINTS CBLAS_ROOT ENV CBLAS_ROOT + PATHS ${INCLUDE_INSTALL_DIR} ${CMAKE_INSTALL_PREFIX}/include +- PATH_SUFFIXES openblas cblas blis ++ PATH_SUFFIXES flexiblas openblas cblas blis + ) + +-find_library(CBLAS_LIBRARIES NAMES accelerate openblas cblas blas blis ++find_library(CBLAS_LIBRARIES NAMES accelerate flexiblas openblas cblas blas blis + HINTS CBLAS_ROOT ENV CBLAS_ROOT + PATHS ${LIB_INSTALL_DIR} ${CMAKE_INSTALL_PREFIX}/lib +- PATH_SUFFIXES openblas cblas blis ++ PATH_SUFFIXES flexiblas openblas cblas blis + ) + + include(FindPackageHandleStandardArgs) diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gcc-12.patch b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gcc-12.patch new file mode 100644 index 00000000000..53b39cf316d --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gcc-12.patch @@ -0,0 +1,18 @@ +Patch to run t-sdiv_qrnnd.c test with gcc-12.x compilers +See here: +https://github.com/flintlib/flint2/commit/fb8ddbcc06afa2a8f25637032fbb8211f6c6c122 +https://github.com/flintlib/flint2/issues/1175 +Author: J. Sassmannshausen (University College London/UK) +diff --git a/flint-2.9.0.orig/test/t-sdiv_qrnnd.c b/flint-2.9.0/test/t-sdiv_qrnnd.c +index 2e9822e..e2d65cd 100644 +--- a/flint-2.9.0.orig/test/t-sdiv_qrnnd.c ++++ b/flint-2.9.0/test/t-sdiv_qrnnd.c +@@ -33,7 +33,7 @@ int main(void) + { + d = n_randtest_not_zero(state); + nh = n_randtest(state); +- } while ((FLINT_ABS(nh) >= FLINT_ABS(d)/2) || (nh == WORD_MIN)); ++ } while ((nh == WORD_MIN) || (FLINT_ABS(nh) >= FLINT_ABS(d)/2)); + + nl = n_randtest(state); + diff --git a/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gfbf-2022a.eb b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gfbf-2022a.eb new file mode 100644 index 00000000000..8d6bb6cc6fb --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gfbf-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '2.9.0' + +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': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-2.8.4_find_flexiblas.patch', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('NTL', '11.5.1'), +] + +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/FLINT/FLINT-2.9.0-gfbf-2022b.eb b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gfbf-2022b.eb new file mode 100644 index 00000000000..b07b543281d --- /dev/null +++ b/easybuild/easyconfigs/f/FLINT/FLINT-2.9.0-gfbf-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'FLINT' +version = '2.9.0' + +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': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.flintlib.org'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '%(name)s-2.8.4_find_flexiblas.patch', + '%(name)s-%(version)s-gcc-12.patch', +] +checksums = [ + {'flint-2.9.0.tar.gz': '2fc090d51033c93208e6c10d406397a53c983ae5343b958eb25f72a57a4ce76a'}, + {'FLINT-2.8.4_find_flexiblas.patch': '35a3db14646daf584449f2b9c6880b66e7b082a665eba56234230610bab77c6e'}, + {'FLINT-2.9.0-gcc-12.patch': 'c253f0353eea129fab70e055b0fdee0d23ec391df03d1689503540c97d5432fb'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), + ('NTL', '11.5.1'), +] + +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/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/FLTK/FLTK-1.3.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..293f92a02b0 --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.7-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.7' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + '5d2ccb7ad94e595d3d97509c7a931554e059dd970b7b29e6fd84cb70fd5491c6', # fltk-1.3.7-source.tar.gz + 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf', # FLTK-1.3.6_fix-LDFLAGS.patch +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.37'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('xprop', '1.2.5'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..602304596e1 --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.8' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + 'f3c1102b07eb0e7a50538f9fc9037c18387165bc70d4b626e94ab725b9d4d1bf', # fltk-1.3.8-source.tar.gz + 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf', # FLTK-1.3.6_fix-LDFLAGS.patch +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.38'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('xprop', '1.2.5'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f0df37b2b8c --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.8' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + 'f3c1102b07eb0e7a50538f9fc9037c18387165bc70d4b626e94ab725b9d4d1bf', # fltk-1.3.8-source.tar.gz + 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf', # FLTK-1.3.6_fix-LDFLAGS.patch +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.39'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('xprop', '1.2.5'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fc14c7747d5 --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.8-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.8' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + 'f3c1102b07eb0e7a50538f9fc9037c18387165bc70d4b626e94ab725b9d4d1bf', # fltk-1.3.8-source.tar.gz + 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf', # FLTK-1.3.6_fix-LDFLAGS.patch +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('xprop', '1.2.6'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3afeffc0a2c --- /dev/null +++ b/easybuild/easyconfigs/f/FLTK/FLTK-1.3.9-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'FLTK' +version = '1.3.9' + +homepage = 'https://www.fltk.org' +description = """FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, + and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL + and its built-in GLUT emulation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://fltk.org/pub/%(namelower)s/%(version)s/'] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +patches = ['FLTK-1.3.6_fix-LDFLAGS.patch'] +checksums = [ + {'fltk-1.3.9-source.tar.gz': 'd736b0445c50d607432c03d5ba5e82f3fba2660b10bc1618db8e077a42d9511b'}, + {'FLTK-1.3.6_fix-LDFLAGS.patch': 'f8af2414a1ee193a186b0d98d1e3567add0ee003f44ec64dce2ce2dfd6d95ebf'}, +] + +configopts = '--enable-shared --enable-threads --enable-xft' + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.23.0'), +] + +dependencies = [ + ('Mesa', '23.1.9'), + ('libGLU', '9.0.3'), + ('libpng', '1.6.40'), + ('libjpeg-turbo', '3.0.1'), + ('xprop', '1.2.7'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/fltk-config', 'bin/fluid', 'lib/libfltk.a', 'lib/libfltk.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FLUENT/FLUENT-2019R3.eb b/easybuild/easyconfigs/f/FLUENT/FLUENT-2019R3.eb new file mode 100644 index 00000000000..3528e38c2e3 --- /dev/null +++ b/easybuild/easyconfigs/f/FLUENT/FLUENT-2019R3.eb @@ -0,0 +1,17 @@ +name = 'FLUENT' +version = '2019R3' + +homepage = 'http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+Fluent' +description = """ANSYS FLUENT software contains the broad physical modeling capabilities needed +to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from +air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, +from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants.""" + +toolchain = SYSTEM + +sources = ['FLUIDS_%(version)s_LINX64.tar'] +checksums = ['4c28dfc789a86a5ed1122f62ba08ec7e399743b1542d7b0742f7da523ea45acd'] + +subdir_version = '195' + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb b/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb new file mode 100644 index 00000000000..d1608e86558 --- /dev/null +++ b/easybuild/easyconfigs/f/FLUENT/FLUENT-2021R2.eb @@ -0,0 +1,17 @@ +name = 'FLUENT' +version = '2021R2' + +homepage = 'https://www.ansys.com/products/fluids/ansys-fluent' +description = """ANSYS FLUENT software contains the broad physical modeling capabilities needed +to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from +air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, +from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants.""" + +toolchain = SYSTEM + +sources = ['FLUIDS_%(version)s_LINX64.tgz'] +checksums = ['6d6a10e8db5fc807bea6b046521bd489fd452f93d1c9040fc44426e72e417b12'] + +subdir_version = '212' + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb b/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb new file mode 100644 index 00000000000..19cdbd46743 --- /dev/null +++ b/easybuild/easyconfigs/f/FMM3D/FMM3D-1.0.4-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FMM3D' +version = '1.0.4' + +homepage = 'https://fmm3d.readthedocs.io' +description = """Flatiron Institute Fast Multipole Libraries: a set of libraries to compute N-body +interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a +multi-core shared-memory machine.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/flatironinstitute/FMM3D/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26b16ce6f963bf33011cbd690a27d4cba2c3a3eb9ab8505febe1ca39abcfc40a'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), +] + +skipsteps = ['configure', 'build'] + +installopts = 'FAST_KER=ON PREFIX="%(installdir)s/lib" && ' +installopts += 'export FMM_FLIBS="%(installdir)s/lib/libfmm3d.a $FFLAGS" && ' +# also install Python bindings +installopts += "make python-dist && pip install --no-deps --ignore-installed --prefix %(installdir)s python/dist/*.whl" + +sanity_check_paths = { + 'files': ['lib/libfmm3d.a', 'lib/libfmm3d.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cd %(builddir)s/FMM3D-* && make test", + "python -c 'import fmm3dpy'", + "cd %(builddir)s/FMM3D-* && python python/test/test_hfmm.py", + "cd %(builddir)s/FMM3D-* && python python/test/test_lfmm.py", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FMM3D/FMM3D-20211018-foss-2020b.eb b/easybuild/easyconfigs/f/FMM3D/FMM3D-20211018-foss-2020b.eb new file mode 100644 index 00000000000..32ce0d7089d --- /dev/null +++ b/easybuild/easyconfigs/f/FMM3D/FMM3D-20211018-foss-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'FMM3D' +local_commit = '7ba20d6' +version = '20211018' + +homepage = 'https://fmm3d.readthedocs.io' +description = """Flatiron Institute Fast Multipole Libraries: a set of libraries to compute N-body +interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a +multi-core shared-memory machine.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/flatironinstitute/FMM3D/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['e6cd07f2a31159ce41705a117771a0bab819b192075e24a28b0cf8c5ca9f5ba5'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +skipsteps = ['configure', 'build'] + +installopts = 'FAST_KER=ON PREFIX="%(installdir)s/lib" && ' +installopts += 'export FMM_FLIBS="%(installdir)s/lib/libfmm3d.a $FFLAGS" && ' +# also install Python bindings +installopts += "make python-dist && pip install --no-deps --ignore-installed --prefix %(installdir)s python/dist/*.whl" + +sanity_check_paths = { + 'files': ['lib/libfmm3d.a', 'lib/libfmm3d.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cd %(builddir)s/FMM3D-* && make test", + "python -c 'import fmm3dpy'", + "cd %(builddir)s/FMM3D-* && python python/test/test_hfmm.py", + "cd %(builddir)s/FMM3D-* && python python/test/test_lfmm.py", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FMPy/FMPy-0.3.2-foss-2021a.eb b/easybuild/easyconfigs/f/FMPy/FMPy-0.3.2-foss-2021a.eb new file mode 100644 index 00000000000..5af7f211e5a --- /dev/null +++ b/easybuild/easyconfigs/f/FMPy/FMPy-0.3.2-foss-2021a.eb @@ -0,0 +1,81 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'FMPy' +version = '0.3.2' + +homepage = 'https://github.com/CATIA-Systems/FMPy' +description = "FMPy is a free Python library to simulate Functional Mock-up Units (FMUs)." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('lxml', '4.6.3'), + ('SciPy-bundle', '2021.05'), + ('dask', '2021.9.1'), + ('PyQt5', '5.15.4'), + ('PyQtGraph', '0.12.3'), + ('IPython', '7.25.0'), + ('plotly.py', '5.1.0'), + ('Flask', '1.1.4'), + ('Brotli-python', '1.0.9'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('lark-parser', '0.12.0', { + 'modulename': 'lark', + 'checksums': ['15967db1f1214013dca65b1180745047b9be457d73da224fcda3d9dd4e96a138'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('dash', '2.0.0', { + 'checksums': ['29277c24e2f795b069cb102ce1ab0cd3ad5cf9d3b4fd16c03da9671a5eea28a4'], + }), + ('dash-bootstrap-components', '1.0.0', { + 'source_tmpl': 'dash-bootstrap-components-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/dash-bootstrap-components/'], + 'checksums': ['498164307c3a05b295fcf92cc4e39a91f6eed5be6d960b03081feb8f791adf94'], + }), + ('dash-core-components', '2.0.0', { + 'source_tmpl': 'dash_core_components-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/dash-core-components/'], + 'checksums': ['c6733874af975e552f95a1398a16c2ee7df14ce43fa60bb3718a3c6e0b63ffee'], + }), + ('dash-html-components', '2.0.0', { + 'source_tmpl': 'dash_html_components-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/dash-html-components/'], + 'checksums': ['8703a601080f02619a6390998e0b3da4a5daabe97a1fd7a9cebc09d015f26e50'], + }), + ('dash-table', '5.0.0', { + 'source_tmpl': 'dash_table-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/d/dash-table/'], + 'checksums': ['18624d693d4c8ef2ddec99a6f167593437a7ea0bf153aa20f318c170c5bc7308'], + }), + ('Flask-Compress', '1.10.1', { + 'checksums': ['28352387efbbe772cfb307570019f81957a13ff718d994a9125fa705efb73680'], + }), + ('idna', '2.8', { + 'checksums': ['c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/CATIA-Systems/FMPy/archive/'], + 'use_pip_extras': 'complete', + 'checksums': ['d534d819972048557a44f797b1e2247961d871540b9dfae52e88ce6e49867296'], + }), +] + +sanity_check_commands = ["fmpy --help"] + +sanity_check_paths = { + 'files': ['bin/fmpy', 'bin/renderer'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/FMRIprep/FMRIprep-1.4.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/f/FMRIprep/FMRIprep-1.4.1-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..81bb446518f --- /dev/null +++ b/easybuild/easyconfigs/f/FMRIprep/FMRIprep-1.4.1-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,139 @@ +easyblock = 'PythonBundle' + +name = 'FMRIprep' +version = '1.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://fmriprep.readthedocs.io' +description = """FMRIprep is a functional magnetic resonance imaging (fMRI) data preprocessing pipeline that is + designed to provide an easily accessible, state-of-the-art interface that is robust to variations in scan + acquisition protocols and that requires minimal user input, while providing easily interpretable and comprehensive + error and output reporting.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +dependencies = [ + ('Python', '3.6.6'), + ('FSL', '5.0.11', versionsuffix), + ('ANTs', '2.3.1', versionsuffix), + ('AFNI', '18.3.00', versionsuffix), + ('C3D', '1.0.0', '', SYSTEM), + ('FreeSurfer', '6.0.1', '-centos6_x86_64', SYSTEM), + ('ICA-AROMA', '0.4.4-beta', versionsuffix), + ('Seaborn', '0.9.0', versionsuffix), + ('PyYAML', '3.13', versionsuffix), + ('scikit-learn', '0.20.0', versionsuffix), + ('scikit-image', '0.14.1', versionsuffix), + ('Nipype', '1.1.3', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('versioneer', '0.18', { + 'checksums': ['ead1f78168150011189521b479d3a0dd2f55c94f5b07747b484fd693c3fbf335'], + }), + ('indexed_gzip', '0.8.10', { + 'checksums': ['37957f14e70125d3e1bcb5ed83e7bca3a00212f4411e4f9af22cc2a626778616'], + }), + ('patsy', '0.5.1', { + 'checksums': ['f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991'], + }), + ('statsmodels', '0.10.1', { + 'checksums': ['320659a80f916c2edf9dfbe83512d9004bb562b72eedb7d9374562038697fa10'], + }), + ('svgutils', '0.3.1', { + 'checksums': ['cd52474765fd460ad2389947f77589de96142f6f0ce3f61e08ccfabeac2ff8af'], + }), + ('nilearn', '0.5.2', { + 'checksums': ['18b763d641e6903bdf8512e0ec5cdc14133fb4679e9a15648415e9be62c81b56'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('MarkupSafe', '1.1.1', { + 'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'], + }), + ('Jinja2', '2.10.1', { + 'checksums': ['065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013'], + }), + ('tqdm', '4.33.0', { + 'checksums': ['1dc82f87a8726602fa7177a091b5e8691d6523138a8f7acd08e58088f51e389f'], + }), + ('prov', '1.5.3', { + 'checksums': ['a0c951107eafd508d5a26caa54863dc11fee3da86778db2a559d32450d2030a9'], + }), + ('neurdflib', '5.0.0.post1', { + 'modulename': 'rdflib', + 'checksums': ['65ef138f7a20f646b5257d312e14c624a83abdac4df234e5edcc77dc63bef5e1'], + }), + ('num2words', '0.5.10', { + 'checksums': ['37cd4f60678f7e1045cdc3adf6acf93c8b41bf732da860f97d301f04e611cc57'], + }), + ('bids-validator', '1.2.4', { + 'checksums': ['cf456428219c7985c13e462380bff31453c6694532f67ca47fd89b19620d77d7'], + }), + ('SQLAlchemy', '1.3.6', { + 'checksums': ['217e7fc52199a05851eee9b6a0883190743c4fb9c8ac4313ccfceaffd852b0ff'], + }), + ('nipype', '1.2.0', { + 'checksums': ['a5b5afbfec522686a0ac7826b6cfd82496f4ef48f6c48afb602225b0aa7b5f25'], + }), + ('nitime', '0.8.1', { + 'checksums': ['269eae522f613c9ca8c3d62b66074a76b40d9484f468b4b8525f7c9342e96341'], + }), + ('grabbit', '0.2.6', { + 'checksums': ['134fdad2d079693f8836f1074241d01ba5ed38f768c26279a3fe39afb6757f5b'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('appdirs', '1.4.3', { + 'checksums': ['9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92'], + }), + ('rply', '0.7.7', { + 'checksums': ['4d6d25703efd28fb3d5707f7b3bd4fe66c306159a5c25af10ba26d206a66d00d'], + }), + ('citeproc-py', '0.4.0', { + 'modulename': 'citeproc', + 'checksums': ['ed513dbc76f782b5e98126d6bebbd1284841fcf199ec9dda552e2bce864adadf'], + }), + ('duecredit', '0.7.0', { + 'checksums': ['8a13be317afcf56bdccba6a5d3d82c2f4e3509ffa1aff47d61c1a91e6d454010'], + }), + ('tedana', '0.0.7', { + 'checksums': ['9f541bdf9ecd06b883e3bb2a753987279aabe7b7a55651a59916a798a6578c81'], + }), + ('pybids', '0.7.1', { + 'modulename': 'bids', + 'checksums': ['a4725f691e9fa05294338b049d2babc623a6feb718d2607a8c56146537e309b4'], + }), + ('templateflow', '0.3.0', { + 'checksums': ['14830702c293e870a69fdefca2928618179cdbb631ce84a99522aa859a1f4205'], + }), + ('niworkflows', '0.9.6', { + 'patches': ['niworkflows-0.9.6_fix-bus-error.patch'], + 'checksums': [ + '07275844f5e830562109acca7340f971b98e4a22e7938d8d5aceb2cb5891049c', # niworkflows-0.9.6.tar.gz + 'd42ea11f54b4be75e68764a3bb74e6d202e60e4e6b174ded217fe18acb439133', # niworkflows-0.9.6_fix-bus-error.patch + ], + }), + ('smriprep', '0.2.4', { + 'checksums': ['3bd2fbdf4ba9037d698eae06957c69bad2f15de5b20b84ee8b71bdaf35c27e1e'], + }), + (name, version, { + 'source_tmpl': 'fmriprep-%(version)s.tar.gz', + 'checksums': ['ed25582ce739afbd1887954303c5fe3e648eb1e7d18de017ceff0ff3f6e24d4d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/fmriprep'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fmriprep --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FMRIprep/niworkflows-0.9.6_fix-bus-error.patch b/easybuild/easyconfigs/f/FMRIprep/niworkflows-0.9.6_fix-bus-error.patch new file mode 100644 index 00000000000..601483e30e5 --- /dev/null +++ b/easybuild/easyconfigs/f/FMRIprep/niworkflows-0.9.6_fix-bus-error.patch @@ -0,0 +1,14 @@ +fix for "Bus Error" +see https://neurostars.org/t/bus-error-fmriprep/4641 and https://github.com/poldracklab/niworkflows/pull/378 +diff -ru niworkflows-0.9.6.orig/niworkflows/interfaces/itk.py niworkflows-0.9.6/niworkflows/interfaces/itk.py +--- niworkflows-0.9.6.orig/niworkflows/interfaces/itk.py 2019-07-09 08:30:30.000000000 +0200 ++++ niworkflows-0.9.6/niworkflows/interfaces/itk.py 2019-08-28 15:41:11.602201555 +0200 +@@ -262,7 +262,7 @@ + runtime = xfm.run().runtime + + if copy_dtype: +- nii = nb.load(out_file) ++ nii = nb.load(out_file, mmap=False) + in_dtype = nb.load(in_file).get_data_dtype() + + # Overwrite only iff dtypes don't match diff --git a/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb b/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb new file mode 100644 index 00000000000..bb40ce9b7d3 --- /dev/null +++ b/easybuild/easyconfigs/f/FMS/FMS-2022.02-gompi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'FMS' +version = '2022.02' + +homepage = 'https://github.com/NOAA-GFDL/FMS' +description = """The Flexible Modeling System (FMS) is a software framework for + supporting the efficient development, construction, execution, and scientific + interpretation of atmospheric, oceanic, and climate system models.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/NOAA-GFDL/FMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), +] + +separate_build_dir = True + +configopts = "-D64BIT=ON -DOPENMP=ON -DFPIC=ON" + +sanity_check_paths = { + 'files': ['lib/libfms_%s.a' % (x) for x in ['r4', 'r8']], + 'dirs': ['include_r4', 'include_r8', 'lib/cmake'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb b/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb new file mode 100644 index 00000000000..a121a552ee3 --- /dev/null +++ b/easybuild/easyconfigs/f/FMS/FMS-2022.02-iimpi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'FMS' +version = '2022.02' + +homepage = 'https://github.com/NOAA-GFDL/FMS' +description = """The Flexible Modeling System (FMS) is a software framework for + supporting the efficient development, construction, execution, and scientific + interpretation of atmospheric, oceanic, and climate system models.""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/NOAA-GFDL/FMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ad4978302b219e11b883b2f52519e1ee455137ad947474abb316c8654f72c874'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), +] + +separate_build_dir = True + +configopts = "-D64BIT=ON -DOPENMP=ON -DFPIC=ON" + +sanity_check_paths = { + 'files': ['lib/libfms_%s.a' % (x) for x in ['r4', 'r8']], + 'dirs': ['include_r4', 'include_r8', 'lib/cmake'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/f/FORD/FORD-6.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FORD/FORD-6.1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..25617e478e8 --- /dev/null +++ b/easybuild/easyconfigs/f/FORD/FORD-6.1.1-GCCcore-10.2.0.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'FORD' +version = '6.1.1' + +homepage = 'https://github.com/Fortran-FOSS-Programmers/ford/wiki' +description = 'FORD is an automatic documentation generator for modern Fortran programs' + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Graphviz', '2.47.0', '-Java-11'), + ('BeautifulSoup', '4.9.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('graphviz', '0.17', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['ef6e2c5deb9cdcc0c7eece1d89625fd07b0f2208ea2bcb483520907ddf8b4e12'], + }), + ('MarkupSafe', '2.0.1', { + 'checksums': ['594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a'], + }), + ('Jinja2', '3.0.1', { + 'checksums': ['703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4'], + }), + ('Pygments', '2.9.0', { + 'checksums': ['a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f'], + }), + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('markdown-include', '0.6.0', { + 'checksums': ['6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2'], + }), + ('md-environ', '0.1.0', { + 'checksums': ['fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793'], + }), + ('toposort', '1.6', { + 'checksums': ['a7428f56ef844f5055bb9e9e44b343983773ae6dce0fe5b101e08e27ffbd50ac'], + }), + ('tqdm', '4.62.0', { + 'checksums': ['3642d483b558eec80d3c831e23953582c34d7e4540db86d9e5ed9dad238dabc6'], + }), + (name, version, { + 'checksums': ['6c107316ecee48f174316f0deffa9e6407dabca414845b9fa66f4313341da9ac'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ford'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ed749e791ee --- /dev/null +++ b/easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'FORD' +version = '6.1.15' + +homepage = 'https://github.com/Fortran-FOSS-Programmers/ford/wiki' +description = 'FORD is an automatic documentation generator for modern Fortran programs' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0',), + ('BeautifulSoup', '4.10.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('graphviz', '0.20.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('markdown_include', '0.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['a06183b7c7225e73112737acdc6fe0ac0686c39457234eeb5ede23881fed001d'], + }), + ('python-markdown-math', '0.8', { + 'modulename': 'mdx_math', + 'checksums': ['8564212af679fc18d53f38681f16080fcd3d186073f23825c7ce86fadd3e3635'], + }), + ('md-environ', '0.1.0', { + 'checksums': ['fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793'], + }), + ('toposort', '1.7', { + 'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'], + }), + (name, version, { + 'checksums': ['d90000f528878738fc55f0f28aa34f36c5cb7f4819d851d10977f8499bf0cae6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ford'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f85c40e8755 --- /dev/null +++ b/easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'FORD' +version = '6.1.6' + +homepage = 'https://github.com/Fortran-FOSS-Programmers/ford/wiki' +description = 'FORD is an automatic documentation generator for modern Fortran programs' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Graphviz', '2.47.2',), + ('BeautifulSoup', '4.10.0'), + ('tqdm', '4.61.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('graphviz', '0.19.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078'], + }), + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('markdown-include', '0.6.0', { + 'checksums': ['6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2'], + }), + ('md-environ', '0.1.0', { + 'checksums': ['fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793'], + }), + ('toposort', '1.7', { + 'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'], + }), + (name, version, { + 'checksums': ['c286206e6ce8c12f2e00f6c73e3b76dae830dce7b5b6f52a54512585fcfae12a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ford'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d086f83d7f4 --- /dev/null +++ b/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'FOX-Toolkit' +version = '1.6.57' + +homepage = 'https://www.fox-toolkit.org/' +description = """FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and +effectively. It offers a wide, and growing, collection of Controls, and +provides state of the art facilities such as drag and drop, selection, as well +as OpenGL widgets for 3D graphical manipulation. FOX also implements icons, +images, and user-convenience features such as status line help, and tooltips.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://fox-toolkit.org/ftp'] +sources = ['fox-%(version)s.tar.gz'] +checksums = ['65ef15de9e0f3a396dc36d9ea29c158b78fad47f7184780357b929c94d458923'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libGLU', '9.0.2'), + ('X11', '20210802'), +] + +preconfigopts = """sed -i '/^CXXFLAGS=""$/d;/LDFLAGS="-s ${LDFLAGS}"/d' configure.ac && """ +preconfigopts += "autoreconf -f -i && " + +configopts = '--enable-release' + +sanity_check_paths = { + 'files': ['lib/lib%s-%%(version_major_minor)s.%s' % (n, x) for n in ['CHART', 'FOX'] for x in ['a', SHLIB_EXT]] + + ['bin/fox-config'], + 'dirs': ['include'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-9.3.0.eb b/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..3559c89032e --- /dev/null +++ b/easybuild/easyconfigs/f/FOX-Toolkit/FOX-Toolkit-1.6.57-GCCcore-9.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'FOX-Toolkit' +version = '1.6.57' + +homepage = 'https://www.fox-toolkit.org/' +description = """FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and +effectively. It offers a wide, and growing, collection of Controls, and +provides state of the art facilities such as drag and drop, selection, as well +as OpenGL widgets for 3D graphical manipulation. FOX also implements icons, +images, and user-convenience features such as status line help, and tooltips.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['http://fox-toolkit.org/ftp'] +sources = ['fox-%(version)s.tar.gz'] +checksums = ['65ef15de9e0f3a396dc36d9ea29c158b78fad47f7184780357b929c94d458923'] + +builddependencies = [ + ('binutils', '2.34'), + ('Autotools', '20180311'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libjpeg-turbo', '2.0.4'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.1.0'), + ('libGLU', '9.0.1'), + ('X11', '20200222'), +] + +preconfigopts = """sed -i '/^CXXFLAGS=""$/d;/LDFLAGS="-s ${LDFLAGS}"/d' configure.ac && """ +preconfigopts += "autoreconf -f -i && " + +configopts = '--enable-release' + +sanity_check_paths = { + 'files': ['lib/lib%s-%%(version_major_minor)s.%s' % (n, x) for n in ['CHART', 'FOX'] for x in ['a', SHLIB_EXT]] + + ['bin/fox-config'], + 'dirs': ['include'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FPM/FPM-1.15.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FPM/FPM-1.15.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2ffd9eef466 --- /dev/null +++ b/easybuild/easyconfigs/f/FPM/FPM-1.15.1-GCCcore-12.2.0.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'FPM' +version = '1.15.1' + +homepage = 'https://github.com/jordansissel/fpm' +description = """Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease + and sanity.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Ruby', '3.2.2'), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +exts_defaultclass = 'RubyGem' + +exts_list = [ + ('stud', '0.0.23', { + 'checksums': ['6ba26fa28fc50a8d59229b296a733b48d50f1473b1e3e7f5e339d5bbd829eb62'], + }), + ('dotenv', '2.8.1', { + 'checksums': ['c5944793349ae03c432e1780a2ca929d60b88c7d14d52d630db0508c3a8a17d8'], + }), + ('insist', '1.0.0', { + 'checksums': ['6f6759eee583dc4e00a6cc3f713cfa7c570572958ba1f5d65595046d795b832f'], + }), + ('mustache', '0.99.8', { + 'checksums': ['826a96db895819c13fffa4fa3c20b85e80b60aaec1f28f79e7db80092abdb0bc'], + }), + ('clamp', '1.0.1', { + 'checksums': ['5fa57e4337c30b384fc162a6391f477ce21e9b73ba2c16a18b3d99cb34a16649'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('pleaserun', '0.0.32', { + 'checksums': ['4dd8db18b81b48e2a875ec0c7fff3869454d1f93a9f5e2e6c4eb88812870d3ab'], + }), + ('rexml', '3.2.6', { + 'checksums': ['e0669a2d4e9f109951cb1fde723d8acd285425d81594a2ea929304af50282816'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('backports', '3.24.1', { + 'checksums': ['83a720ea9a3ee0cf5eab18b866e9282293ab4f54eb6430291b3c238481677fb8'], + }), + ('%(namelower)s', version, { + 'checksums': ['1ffbf342a89ca97fb5c02e66946c97e2bd5413810f7f440ddf32f00a16052dbf'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['gems/%(namelower)s-%(version)s'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +modextrapaths = {'GEM_PATH': ['']} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.2-foss-2018b-Python-2.7.15-CUDA-9.2.88.eb b/easybuild/easyconfigs/f/FSL/FSL-6.0.2-foss-2018b-Python-2.7.15-CUDA-9.2.88.eb index f96cf15c130..e5ab2e466bf 100644 --- a/easybuild/easyconfigs/f/FSL/FSL-6.0.2-foss-2018b-Python-2.7.15-CUDA-9.2.88.eb +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.2-foss-2018b-Python-2.7.15-CUDA-9.2.88.eb @@ -60,7 +60,7 @@ dependencies = [ ('VTK', '8.1.1', local_python_suffix), ('GSL', '2.5'), ('Qwt', '6.1.4'), - ('CUDA', local_CUDA_ver, '', True), + ('CUDA', local_CUDA_ver, '', SYSTEM), ] # FSLDIR needs to be defined when running postinstall to get the correct shebang diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.4-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/f/FSL/FSL-6.0.4-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..f61773e90bd --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.4-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,80 @@ +# This build still relies on the following libraries (or part of them) shipped with FSL: +# GDCHART, libprob, libcprob, cprob, newran, newmat +# Attempts to use externally built libraries failed. Worth trying again in the future... +# +# Added fslpy 3.5.3, which provides tools like imcp and imglob + +name = 'FSL' +version = '6.0.4' +versionsuffix = '-Python-3.7.4' + +homepage = 'https://www.fmrib.ox.ac.uk/fsl/' +description = """FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://www.fmrib.ox.ac.uk/fsldownloads/'] +sources = ['%(namelower)s-%(version)s-sources.tar.gz'] +patches = [ + 'FSL-6.0.4_Makefile_fixes.patch', + 'FSL-6.0.4_disable_cuda.patch', + 'FSL-6.0.4_build_fixes.patch', + 'FSL-6.0.2_Build_extras.patch', + 'FSL-6.0.1_Melodic-use-ifstream-good.patch', + 'FSL-6.0.1_Fix_fsl_exec_script.patch', +] +checksums = [ + '58b88f38e080b05d70724d57342f58e1baf56e2bd3b98506a72b4446cad5033e', # fsl-6.0.4-sources.tar.gz + '43217e86e715a149ec27dfad471383e8f142863aa6f3f943ab4db379bc851055', # FSL-6.0.4_Makefile_fixes.patch + '6b81e6f45edb43cc2a008f5760610fb0812e3666ffd6e208f283388d35e530cf', # FSL-6.0.4_disable_cuda.patch + '1bc83cfeffff21a68db47b6929e94634fc8aaf3db8e276e160e3f468f0889000', # FSL-6.0.4_build_fixes.patch + '168157f07818e7dfd04c222916e663e9d21db84b4b86df5b79bab56e3bf8ccf5', # FSL-6.0.2_Build_extras.patch + 'c07644fbd89cf9c70db5a1a8f4f2918ab5daeb60cdf0ce4ee2b91f8ae48173fa', # FSL-6.0.1_Melodic-use-ifstream-good.patch + 'aa155f8576dc5f010757ecf66fc0bf673454b6c6c40346cbb01cbe59236ed6ef', # FSL-6.0.1_Fix_fsl_exec_script.patch +] + +dependencies = [ + ('Python', '3.7.4'), + ('Boost', '1.71.0'), + ('libgd', '2.2.5'), + ('libxml2', '2.9.9'), + ('libxml++', '2.40.1'), + ('SQLite', '3.29.0'), + ('libpng', '1.6.37'), + ('Tk', '8.6.9'), + ('NLopt', '2.6.1'), + ('freeglut', '3.2.1'), + ('expat', '2.2.7'), + ('zlib', '1.2.11'), + ('VTK', '8.2.0', versionsuffix), + ('GSL', '2.6'), + ('Qwt', '6.1.4'), + ('h5py', '2.10.0', versionsuffix), +] + +modextrapaths = {'PYTHONPATH': ['fsl/lib/python%(pyshortver)s/site-packages']} + +# The executable files 'imglob' and 'imcp' come from fslpy +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('fslpy', '3.5.3', { + 'source_urls': ['https://pypi.python.org/packages/source/f/fslpy/'], + 'checksums': ['f80ef8b7b49f475bfb71946619d33c118a7cbbe106c72f7777aaf14d9e261530'], + 'installopts': '--prefix=%(installdir)s/fsl', + }), +] + +modextravars = { + 'FSLOUTPUTTYPE': 'NIFTI_GZ', + 'FSLMULTIFILEQUIT': 'TRUE', + 'FSLTCLSH': 'tclsh', + 'FSLWISH': 'wish8.6' +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.4_Makefile_fixes.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_Makefile_fixes.patch new file mode 100644 index 00000000000..486ecbd3377 --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_Makefile_fixes.patch @@ -0,0 +1,250 @@ +Fix the Makefile to use libraries built with EB instead of the ones +shipped with the code. +Also: invoke the system's tclsh, instead of the one shipped with fsl +Author: Caspar van Leeuwen (SURFsara) +diff -Nru fsl.orig/config/buildSettings.mk fsl/config/buildSettings.mk +--- fsl.orig/config/buildSettings.mk 2020-06-19 15:48:02.000000000 +0200 ++++ fsl/config/buildSettings.mk 2021-02-24 11:44:50.000000000 +0100 +@@ -18,7 +18,7 @@ + CHMOD = /bin/chmod + MKDIR = /bin/mkdir + INSTALL = install -p +-TCLSH = ${FSLDIR}/bin/fsltclsh ++TCLSH = tclsh + DEPENDFLAGS = -MM + MACHDBGFLAGS = -g + ##################################################################### +@@ -33,17 +33,17 @@ + LIB_CEPHES = ${FSLEXTLIB} + INC_CEPHES = ${FSLEXTINC}/cephes + # GD library +-LIB_GD = ${FSLEXTLIB} +-INC_GD = ${FSLEXTINC} ++LIB_GD = ${EBROOTLIBGD}/lib ++INC_GD = ${EBROOTLIBGD}/include + # GDC library + LIB_GDC = ${FSLEXTLIB} + INC_GDC = ${FSLEXTINC}/libgdc + # GSL library +-LIB_GSL = ${FSLEXTLIB} +-INC_GSL = ${FSLEXTINC}/gsl ++LIB_GSL = ${EBROOTGSL}/lib ++INC_GSL = ${EBROOTGSL}/include + # PNG library +-LIB_PNG = ${FSLEXTLIB} +-INC_PNG = ${FSLEXTINC} ++LIB_PNG = ${EBROOTLIBPNG}/lib ++INC_PNG = ${EBROOTLIBPNG}/include + # PROB library + # This is now for legacy support only + LIB_PROB = ${FSLEXTLIB} +@@ -55,21 +55,21 @@ + LIB_NEWRAN = ${FSLEXTLIB} + INC_NEWRAN = ${FSLEXTINC}/newran + # BOOST library +-BOOSTDIR = ${FSLEXTINC}/boost +-LIB_BOOST = ${BOOSTDIR} +-INC_BOOST = ${BOOSTDIR} ++BOOSTDIR = ${EBROOTBOOST} ++LIB_BOOST = ${BOOSTDIR}/lib ++INC_BOOST = ${BOOSTDIR}/include + # QWT library +-QWTDIR = /usr/local/qwt ++QWTDIR = ${EBROOTQWT} + INC_QWT = ${QWTDIR}/include + LIB_QWT = ${QWTDIR}/lib + # FFTW3 library +-LIB_FFTW3 = ${FSLEXTLIB} +-INC_FFTW3 = ${FSLEXTINC}/fftw3 ++LIB_FFTW3 = ${EBROOTFFTW}/lib ++INC_FFTW3 = ${EBROOTFFTW}/include + # LIBXML2 library +-INC_XML2 = ${FSLEXTINC}/libxml2 ++INC_XML2 = ${EBROOTLIBXML2}/include + # LIBXML++ library +-INC_XML++ = ${FSLEXTINC}/libxml++-2.6 +-INC_XML++CONF = ${FSLEXTLIB}/libxml++-2.6/include ++INC_XML++ = ${EBROOTLIBXMLPLUSPLUS}/include/libxml++-2.6 ++INC_XML++CONF = ${EBROOTLIBXMLPLUSPLUS}/lib/libxml++-2.6/include + # NEWMAT library/armadillo + INC_NEWMAT = ${FSLEXTINC}/armawrap/armawrap -DARMA_USE_LAPACK -DARMA_USE_BLAS -DARMA_64BIT_WORD + ##################################################################### +@@ -127,16 +127,16 @@ + ##################################################################### + ifeq ($(SYSTYPE), Linux) + ############### System Vars ##################################### +-CC = gcc +-CXX = c++ +-CXX11 = c++ ++CC := ${CC} ++CXX := ${CXX} ++CXX11 := ${CXX} -std=c++11 + CSTATICFLAGS = -static + CXXSTATICFLAGS = -static + ARCHFLAGS = -m64 + ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib' + PARALLELFLAGS = -fopenmp +-OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS} +-GNU_ANSI_FLAGS = -Wall -ansi -pedantic -Wno-long-long ++OPTFLAGS := ${OPTFLAGS} ${ARCHFLAGS} ++GNU_ANSI_FLAGS = -Wall -pedantic -Wno-long-long + SGI_ANSI_FLAGS = -ansi -fullwarn + ANSI_FLAGS = ${GNU_ANSI_FLAGS} + RANLIB = echo +@@ -144,7 +144,7 @@ + # CUDA development environment + CUDAVER := $(or $(CUDAVER),9.1) + #$(info $$CUDAVER is [${CUDAVER}]) +-CUDA_INSTALLATION = /opt/cuda-${CUDAVER} ++CUDA_INSTALLATION := ${EBROOTCUDA} + ifdef SINGULARITY_NAME + CUDA_INSTALLATION = /usr/local/cuda-${CUDAVER} + endif +@@ -158,16 +158,16 @@ + NVCC = ${CUDA_INSTALLATION}/bin/nvcc + ############### External Libs ##################################### + # ZLIB library +-LIB_ZLIB = ${FSLEXTLIB} +-INC_ZLIB = ${FSLEXTINC} ++LIB_ZLIB = ${EBROOTZLIB}/lib ++INC_ZLIB = ${EBROOTZLIB}/include + # QT library +-QTDIR = /usr/lib/qt3 ++QTDIR = ${EBROOTQT} + LIB_QT = ${QTDIR}/lib + INC_QT = ${QTDIR}/include + # VTK library +-VTKDIR_INC = /home/fs0/cowboy/var/caper_linux_64-gcc4.4/VTK7/include/vtk-7.0 +-VTKDIR_LIB = /home/fs0/cowboy/var/caper_linux_64-gcc4.4/VTK7/lib +-VTKSUFFIX = -7.0 ++VTKDIR_INC = ${EBROOTVTK}/include/vtk-`echo ${EBVERSIONVTK} | cut -f1-2 -d.` ++VTKDIR_LIB = ${EBROOTVTK}/lib ++VTKSUFFIX = -`echo ${EBVERSIONVTK} | cut -f1-2 -d.` + # openblas + LIB_NEWMAT = ${FSLEXTLIB} -lopenblas + # get and then parse gcc version to run context specific builds +diff -Nru fsl.orig/config/common/vars.mk fsl/config/common/vars.mk +--- fsl.orig/config/common/vars.mk 2020-06-19 15:48:02.000000000 +0200 ++++ fsl/config/common/vars.mk 2021-02-24 11:12:18.000000000 +0100 +@@ -24,14 +24,14 @@ + USRCFLAGS = + USRCXXFLAGS = + +-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ++LDFLAGS = ${EBVARLDFLAGS} ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} + +-AccumulatedIncFlags = -I${INC_BOOST} ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ++AccumulatedIncFlags = ${EBVARCPPFLAGS} -I${INC_BOOST} ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} + +-CFLAGS = ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \ ++CFLAGS = ${EBVARCFLAGS} ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \ + ${AccumulatedIncFlags} + +-CXXFLAGS = ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \ ++CXXFLAGS = ${EBVARCXXFLAGS} ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS} \ + ${AccumulatedIncFlags} + + HFILES = *.h +diff -Nru fsl.orig/etc/fslconf/fsl.csh fsl/etc/fslconf/fsl.csh +--- fsl.orig/etc/fslconf/fsl.csh 2019-11-26 14:56:10.000000000 +0100 ++++ fsl/etc/fslconf/fsl.csh 2021-02-24 09:58:49.000000000 +0100 +@@ -25,8 +25,8 @@ + # The following variables specify paths for programs and can be changed + # or replaced by different programs ( e.g. FSLDISPLAY=open for MacOSX) + +-setenv FSLTCLSH $FSLDIR/bin/fsltclsh +-setenv FSLWISH $FSLDIR/bin/fslwish ++setenv FSLTCLSH tclsh ++setenv FSLWISH wish + + # The following variables are used for running code in parallel across + # several machines ( i.e. for FDT ) +diff -Nru fsl.orig/etc/fslconf/fsl-devel.sh fsl/etc/fslconf/fsl-devel.sh +--- fsl.orig/etc/fslconf/fsl-devel.sh 2019-11-26 14:56:10.000000000 +0100 ++++ fsl/etc/fslconf/fsl-devel.sh 2021-02-24 09:59:22.000000000 +0100 +@@ -26,8 +26,8 @@ + # The following variables specify paths for programs and can be changed + # or replaced by different programs ( e.g. FSLDISPLAY=open for MacOSX) + +-FSLTCLSH=$FSLDIR/bin/fsltclsh +-FSLWISH=$FSLDIR/bin/fslwish ++FSLTCLSH=tclsh ++FSLWISH=wish + + export FSLTCLSH FSLWISH + +diff -Nru fsl.orig/etc/fslconf/fsl.sh fsl/etc/fslconf/fsl.sh +--- fsl.orig/etc/fslconf/fsl.sh 2019-11-26 14:56:10.000000000 +0100 ++++ fsl/etc/fslconf/fsl.sh 2021-02-24 09:59:46.000000000 +0100 +@@ -26,8 +26,8 @@ + # The following variables specify paths for programs and can be changed + # or replaced by different programs ( e.g. FSLDISPLAY=open for MacOSX) + +-FSLTCLSH=$FSLDIR/bin/fsltclsh +-FSLWISH=$FSLDIR/bin/fslwish ++FSLTCLSH=tclsh ++FSLWISH=wish + + export FSLTCLSH FSLWISH + +diff -Nru fsl.orig/src/film/Makefile fsl/src/film/Makefile +--- fsl.orig/src/film/Makefile 2020-07-15 11:54:04.000000000 +0200 ++++ fsl/src/film/Makefile 2021-02-24 10:01:51.000000000 +0100 +@@ -28,7 +28,7 @@ + ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ ${OBJS} ftoz.o ${LIBS} + + film_gls:${OBJS} film_gls.o +- ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ ${OBJS} film_gls.o ${LIBS} -l giftiio ++ ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ ${OBJS} film_gls.o ${LIBS} -lgiftiio + + film_gls_res:${OBJS} film_gls_res.o + ${CXX} ${CXXFLAGS} ${LDFLAGS} -o $@ ${OBJS} film_gls_res.o ${LIBS} +diff -Nru fsl.orig/src/fslsurface/Makefile fsl/src/fslsurface/Makefile +--- fsl.orig/src/fslsurface/Makefile 2014-12-16 15:52:05.000000000 +0100 ++++ fsl/src/fslsurface/Makefile 2021-02-24 13:46:49.000000000 +0100 +@@ -37,7 +37,7 @@ + USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB} + + +-LIBS=-lgiftiio -lexpat -lfirst_lib -lmeshclass ++LIBS=-lgiftiio -lexpat -lfirst_lib -lmeshclass -lglapi + + APPLY_ZLIB = -DHAVE_ZLIB + +diff -Nru fsl.orig/src/libmeshutils/Makefile fsl/src/libmeshutils/Makefile +--- fsl.orig/src/libmeshutils/Makefile 2014-12-16 15:20:18.000000000 +0100 ++++ fsl/src/libmeshutils/Makefile 2021-02-24 10:05:09.000000000 +0100 +@@ -3,7 +3,7 @@ + + PROJNAME = meshUtils + +-LD_LIBRARY_PATH=${FSLDIR}/lib ++#LD_LIBRARY_PATH=${FSLDIR}/lib + + USRINCFLAGS = -I${INC_NEWMAT} -I${INC_ZLIB} -I${INC_PROB} -I${INC_BOOST} + USRLDFLAGS = -L${LIB_PROB} -L${LIB_NEWMAT} -L${LIB_ZLIB} +diff -Nru fsl.orig/src/mist/Makefile fsl/src/mist/Makefile +--- fsl.orig/src/mist/Makefile 2019-01-07 15:22:09.000000000 +0100 ++++ fsl/src/mist/Makefile 2021-02-24 10:07:34.000000000 +0100 +@@ -1,16 +1,16 @@ + include ${FSLCONFDIR}/default.mk + +-NLOPT_INC = ${FSLEXTINC} +-NLOPT_LIB = ${FSLEXTLIB} +-SQLITE_INC = ${FSLEXTINC}/libsqlite +-SQLITE_LIB = ${FSLEXTLIB} ++NLOPT_INC = ${EBROOTNLOPT}/include ++NLOPT_LIB = ${EBROOTNLOPT}/lib ++SQLITE_INC = ${EBROOTSQLITE}/include ++SQLITE_LIB = ${EBROOTSQLITE}/lib + + PROJNAME = mist + + XFILES = mist/mist + SCRIPTS = bin/mist_1_train bin/mist_2_fit bin/mist_FA_reg bin/mist_display bin/mist_mesh_utils + +-USRCXXFLAGS = -std=c++11 ++USRCXXFLAGS = -std=c++11 -DBOOST_LOG_DYN_LINK + USRINCFLAGS = -I${FSLDIR}/include/newimage -I${INC_NEWMAT} -I${INC_ZLIB} -I${INC_GDC} -I${INC_GD} -I${SQLITE_INC} -I${NLOPT_INC} -I${VTKDIR_INC} -Icommon + USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_ZLIB} -L${LIB_BOOST} -L${LIB_GDC} -L${LIB_GD} -L${NLOPT_LIB} -L${VTKDIR_LIB} + diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.4_build_fixes.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_build_fixes.patch new file mode 100644 index 00000000000..87f47c8a180 --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_build_fixes.patch @@ -0,0 +1,30 @@ +The master project 'ptx2' produces an error during compilation: +tractvolsx.h:311:29: error: call of overloaded ‘round(float)’ is ambiguous +It has therefore been disabled. +Also: EasyBuild creates the site-packages directory for the python +package 'fslpy' in the wrong place, so it must be created in the fsl +directory, before 'fslpy' is installed. 'fslpy' provides the tools +imglob and imcp, which would otherwise have to be provided by the conda +script fslpython. These tools *must* be in the fsl/bin directory. +Author: Henrik R. Nagel (NTNU) +diff -Nru fsl.orig/build fsl/build +--- fsl.orig/build 2020-06-29 17:30:36.000000000 +0200 ++++ fsl/build 2021-02-26 17:30:26.000000000 +0100 +@@ -114,7 +114,6 @@ + nma \ + oxford_asl \ + possum \ +- ptx2 \ + qboot \ + randomise \ + relax \ +@@ -165,4 +164,9 @@ + else + echo "Build failed to build all projects."; + fi ++ ++# Create the site-packages directory for fslpy ++mkdir -p lib/python3.7/site-packages ++ln -s lib lib64 ++ + exit $finalStatus diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.4_disable_cuda.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_disable_cuda.patch new file mode 100644 index 00000000000..837ac06229b --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.4_disable_cuda.patch @@ -0,0 +1,16 @@ +CUDA must now be disabled explicitly. +Author: Henrik R. Nagel (NTNU) +diff -Nru fsl.orig/config/buildSettings.mk fsl/config/buildSettings.mk +--- fsl.orig/config/buildSettings.mk 2020-06-19 15:48:02.000000000 +0200 ++++ fsl/config/buildSettings.mk 2021-02-25 18:27:52.000000000 +0100 +@@ -182,8 +182,8 @@ + #$(info GCC PAT VER $(GCCPAT)) + #Project specific variables + EDDYBUILDPARAMETERS = "cuda=1 CUDAVER=8.0" "cuda=1 CUDAVER=9.1" "cpu=1" +-fdt_MASTERBUILD = COMPILE_GPU = 1 +-ptx2_MASTERBUILD = COMPILE_GPU = 1 ++fdt_MASTERBUILD = COMPILE_GPU = 0 ++ptx2_MASTERBUILD = COMPILE_GPU = 0 + define newline + + 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 new file mode 100644 index 00000000000..418940cf74a --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1-foss-2021a.eb @@ -0,0 +1,89 @@ +# This build still relies on the following libraries (or part of them) shipped with FSL: +# GDCHART, libprob, libcprob, cprob, newran, newmat +# Attempts to use externally built libraries failed. Worth trying again in the future... +# +# Added fslpy 3.5.3, which provides tools like imcp and imglob + +name = 'FSL' +version = '6.0.5.1' + +homepage = 'https://www.fmrib.ox.ac.uk/fsl/' +description = """FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://www.fmrib.ox.ac.uk/fsldownloads/'] +sources = ['%(namelower)s-%(version)s-sources.tar.gz'] +patches = [ + 'FSL-6.0.4_Makefile_fixes.patch', + 'FSL-6.0.5.1_disable_cuda.patch', + 'FSL-6.0.4_build_fixes.patch', + 'FSL-6.0.2_Build_extras.patch', + 'FSL-6.0.1_Fix_fsl_exec_script.patch', + 'FSL-6.0.5.1_fix-cprob-include.patch', + 'FSL-6.0.5.1_fix-compat-VTK-9.0.1.patch', +] +checksums = [ + 'd8ab2ebc87d3e33ce1097dde18d8a55f62d4a27b45efc4f68adccfb6e8e1425c', # fsl-6.0.5.1-sources.tar.gz + '43217e86e715a149ec27dfad471383e8f142863aa6f3f943ab4db379bc851055', # FSL-6.0.4_Makefile_fixes.patch + 'a1e844507207567b7a1df19b484d66b8b30194e455123b78cfd05e236ed864fb', # FSL-6.0.5.1_disable_cuda.patch + '1bc83cfeffff21a68db47b6929e94634fc8aaf3db8e276e160e3f468f0889000', # FSL-6.0.4_build_fixes.patch + '168157f07818e7dfd04c222916e663e9d21db84b4b86df5b79bab56e3bf8ccf5', # FSL-6.0.2_Build_extras.patch + 'aa155f8576dc5f010757ecf66fc0bf673454b6c6c40346cbb01cbe59236ed6ef', # FSL-6.0.1_Fix_fsl_exec_script.patch + '6c06d92979bf5ef4c24d71fc459a230017398a8124cfa253cbc0556a6cf2d420', # FSL-6.0.5.1_fix-cprob-include.patch + '0bee00eb136d3431fa7332aac7957b1c90bc93c381ecc6379d93e19a933ac4bc', # FSL-6.0.5.1_fix-compat-VTK-9.0.1.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('Boost', '1.76.0'), + ('libgd', '2.3.1'), + ('libxml2', '2.9.10'), + ('libxml++', '2.42.1'), + ('SQLite', '3.35.4'), + ('libpng', '1.6.37'), + ('Tk', '8.6.11'), + ('NLopt', '2.7.0'), + ('freeglut', '3.2.1'), + ('expat', '2.2.9'), + ('zlib', '1.2.11'), + ('VTK', '9.0.1'), + ('GSL', '2.7'), + ('Qwt', '6.2.0'), + ('h5py', '3.2.1'), + ('NiBabel', '3.2.1'), +] + +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', { + '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', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_disable_cuda.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_disable_cuda.patch new file mode 100644 index 00000000000..6082e083b67 --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_disable_cuda.patch @@ -0,0 +1,17 @@ +CUDA must now be disabled explicitly. +Author: Henrik R. Nagel (NTNU), ported to FSL 6.0.5.1 by Kenneth Hoste (HPC-UGent) +--- fsl/config/buildSettings.mk.orig 2022-06-22 19:09:08.833601000 +0200 ++++ fsl/config/buildSettings.mk 2022-06-22 19:13:27.969222000 +0200 +@@ -181,9 +181,9 @@ + #$(info GCC MIN VER $(GCCMIN)) + #$(info GCC PAT VER $(GCCPAT)) + #Project specific variables +-EDDYBUILDPARAMETERS = "cuda=1 CUDAVER=8.0" "cuda=1 CUDAVER=9.1" "cuda=1 CUDAVER=10.2" "cpu=1" +-fdt_MASTERBUILD = COMPILE_GPU = 1 +-ptx2_MASTERBUILD = COMPILE_GPU = 1 ++EDDYBUILDPARAMETERS = "cpu=1" ++fdt_MASTERBUILD = COMPILE_GPU = 0 ++ptx2_MASTERBUILD = COMPILE_GPU = 0 + define newline + + diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-compat-VTK-9.0.1.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-compat-VTK-9.0.1.patch new file mode 100644 index 00000000000..d313d8dfd02 --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-compat-VTK-9.0.1.patch @@ -0,0 +1,14 @@ +fix for compiler errors when using VTK v9.0.1 as dependency: + common/shape.cpp:359:61: error: binding reference of type ‘const vtkIdType*&’ {aka ‘const long long int*&’} to ‘vtkIdType*’ {aka ‘long long int*’} discards qualifiers +author: Kenneth Hoste (HPC-UGent) +--- fsl/src/mist/common/shape.cpp.orig 2022-06-24 19:10:57.716622000 +0200 ++++ fsl/src/mist/common/shape.cpp 2022-06-24 19:11:04.593519590 +0200 +@@ -354,7 +354,7 @@ + for (vtkIdType i = 0; i < cells->GetNumberOfIds(); i++) + { + vtkIdType npoints; +- vtkIdType *points; ++ const vtkIdType *points; + + m_polyData->GetCellPoints(cells->GetId(i), npoints, points); + diff --git a/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-cprob-include.patch b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-cprob-include.patch new file mode 100644 index 00000000000..6cc0e7aea5c --- /dev/null +++ b/easybuild/easyconfigs/f/FSL/FSL-6.0.5.1_fix-cprob-include.patch @@ -0,0 +1,123 @@ +fix for "cprob/libprob.h: No such file or directory" +author: Kenneth Hoste (HPC-UGent) +diff -ru fsl/src/bint/Makefile fsl.patched/src/bint/Makefile +--- fsl/src/bint/Makefile 2019-01-24 16:13:24.000000000 +0100 ++++ fsl.patched/src/bint/Makefile 2022-06-24 15:34:10.551524000 +0200 +@@ -2,8 +2,8 @@ + + PROJNAME = bint + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_ZLIB} + + LIBS = -lutils -lnewimage -lmiscmaths -lm -lnewmat -lNewNifti -lznz -lprob -lz + +diff -ru fsl/src/eddy/Makefile fsl.patched/src/eddy/Makefile +--- fsl/src/eddy/Makefile 2021-06-15 13:04:56.000000000 +0200 ++++ fsl.patched/src/eddy/Makefile 2022-06-24 15:34:10.567880609 +0200 +@@ -79,7 +79,7 @@ + EXENAME=eddy${TMPNAME_1}${TMPNAME_2} + endif + USRLDFLAGS=-L${LIB_NEWMAT} -Wl,-rpath,/opt/fmrib/fsl/lib -rdynamic +-USRINCFLAGS=-I. -I${INC_NEWMAT} -I${INC_PROB} -I${INC_BOOST} -I${INC_CUDA} -I$(CBF_DIR) -I$(INC_BASISFIELD) ++USRINCFLAGS=-I. -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_BOOST} -I${INC_CUDA} -I$(CBF_DIR) -I$(INC_BASISFIELD) + + OBJS=eddy.o CPUStackResampler.o BiasFieldEstimatorImpl.o MoveBySuscCF.o PostEddyAlignShellsFunctions.o EddyCommandLineOptions.o ECModels.o KMatrix.o HyParEstimator.o ECScanClasses.o EddyUtils.o EddyHelperClasses.o DiffusionGP.o b0Predictor.o + TESTOBJS=test_s2v_model.o PostEddyAlignShellsFunctions.o EddyCommandLineOptions.o ECModels.o KMatrix.o HyParEstimator.o ECScanClasses.o EddyUtils.o EddyHelperClasses.o DiffusionGP.o b0Predictor.o +diff -ru fsl/src/feat5/Makefile fsl.patched/src/feat5/Makefile +--- fsl/src/feat5/Makefile 2021-04-15 13:34:17.000000000 +0200 ++++ fsl.patched/src/feat5/Makefile 2022-06-24 15:35:08.189816000 +0200 +@@ -2,8 +2,8 @@ + + PROJNAME = feat5 + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_ZLIB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_CPROB} -I${INC_PROB} -I${INC_ZLIB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_CPROB} -L${LIB_PROB} -L${LIB_ZLIB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} + + IOLIBS = -lNewNifti -lznz + LIBS = -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lprob -lnewmat -lutils $(IOLIBS) -lm -lz -lgdc -lgd -lpng +diff -ru fsl/src/filmbabe/Makefile fsl.patched/src/filmbabe/Makefile +--- fsl/src/filmbabe/Makefile 2018-04-23 14:10:04.000000000 +0200 ++++ fsl.patched/src/filmbabe/Makefile 2022-06-24 15:35:08.191008000 +0200 +@@ -2,8 +2,8 @@ + + PROJNAME = filmbabe + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_CPROB} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_CPROB} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} + + LIBS = -lutils -lmiscplot -lmiscpic -lnewimage -lmiscmaths -lnewmat -lNewNifti -lprob -lgdc -lgd -lpng -lznz -lz -lm + +diff -ru fsl/src/libmeshutils/Makefile fsl.patched/src/libmeshutils/Makefile +--- fsl/src/libmeshutils/Makefile 2014-12-16 15:20:18.000000000 +0100 ++++ fsl.patched/src/libmeshutils/Makefile 2022-06-24 15:34:10.552399000 +0200 +@@ -5,8 +5,8 @@ + + LD_LIBRARY_PATH=${FSLDIR}/lib + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_ZLIB} -I${INC_PROB} -I${INC_BOOST} +-USRLDFLAGS = -L${LIB_PROB} -L${LIB_NEWMAT} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_ZLIB} -I${INC_PROB} -I${INC_CPROB} -I${INC_BOOST} ++USRLDFLAGS = -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_NEWMAT} -L${LIB_ZLIB} + + BUILT_VTKCONV = $(shell [ -f ../../libfslvtkconv* ]; echo $$?) + +diff -ru fsl/src/libvis/Makefile fsl.patched/src/libvis/Makefile +--- fsl/src/libvis/Makefile 2019-09-20 13:45:59.000000000 +0200 ++++ fsl.patched/src/libvis/Makefile 2022-06-24 15:34:10.550654000 +0200 +@@ -4,8 +4,8 @@ + + PROJNAME = libvis + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} -I${INC_BOOST} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} -I${INC_BOOST} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} + + LIBS = -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lfslio -lniftiio -lznz -lnewmat -lprob -lm -lgdc -lgd -lpng -lz + CXXFLAGS += -std=c++98 +--- fsl/src/miscvis/Makefile.orig 2022-06-24 15:42:23.119451000 +0200 ++++ fsl/src/miscvis/Makefile 2022-06-24 15:42:44.790736000 +0200 +@@ -2,8 +2,8 @@ + + PROJNAME = miscvis + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} + + LIBS = -lutils -lnewimage -lmiscplot -lmiscpic -lmiscmaths -lNewNifti -lznz -lnewmat -lcprob -lm -lgdc -lgd -lpng -lz + +--- fsl/src/mm/Makefile.orig 2022-06-24 15:43:04.736781000 +0200 ++++ fsl/src/mm/Makefile 2022-06-24 15:43:23.950776000 +0200 +@@ -2,8 +2,8 @@ + + PROJNAME = mm + +-USRINCFLAGS = -I${INC_NEWRAN} -I${INC_NEWMAT} -I${INC_PROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWRAN} -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWRAN} -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_GD} -I${INC_GDC} -I${INC_PNG} -I${INC_ZLIB} ++USRLDFLAGS = -L${LIB_NEWRAN} -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_GD} -L${LIB_GDC} -L${LIB_PNG} -L${LIB_ZLIB} + + LIBS = -lnewimage -lmiscmaths -lutils -lmiscplot -lmiscpic -lNewNifti -lznz -lm -lnewmat -lprob -lgdc -lgd -lpng -lz + +--- fsl/src/possum/Makefile.orig 2022-06-24 15:43:47.443376000 +0200 ++++ fsl/src/possum/Makefile 2022-06-24 15:44:13.001084000 +0200 +@@ -9,8 +9,8 @@ + #with the next line it will not do the table version automatically + #USRCXXFLAGS = -DNOTABLE + +-USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_ZLIB} +-USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_ZLIB} ++USRINCFLAGS = -I${INC_NEWMAT} -I${INC_PROB} -I${INC_CPROB} -I${INC_ZLIB} ++USRLDFLAGS = -L${LIB_NEWMAT} -L${LIB_PROB} -L${LIB_CPROB} -L${LIB_ZLIB} + + LIBS=-lnewimage -lmiscmaths -lnewmat -lutils -lprob -lNewNifti -lznz -lm -lz + diff --git a/easybuild/easyconfigs/f/FSON/FSON-1.0.5-GCC-10.2.0.eb b/easybuild/easyconfigs/f/FSON/FSON-1.0.5-GCC-10.2.0.eb new file mode 100644 index 00000000000..c81063b3dde --- /dev/null +++ b/easybuild/easyconfigs/f/FSON/FSON-1.0.5-GCC-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = "CMakeMake" + +name = 'FSON' +version = '1.0.5' + +homepage = "https://github.com/josephalevin/fson" +description = "Fortran 95 JSON Parser" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/josephalevin/fson/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d52f928d59b090eb47ed2bc880ee58d46cd8dd7e554e3df03c7c517d7a6b6012'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['lib64/libFSON.%s' % SHLIB_EXT], + 'dirs': ['include/fson'], +} + +moduleclass = "lib" diff --git a/easybuild/easyconfigs/f/FTGL/FTGL-2.1.3-rc5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FTGL/FTGL-2.1.3-rc5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6f17150fb6c --- /dev/null +++ b/easybuild/easyconfigs/f/FTGL/FTGL-2.1.3-rc5-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FTGL' +version = '2.1.3-rc5' + +homepage = 'http://ftgl.sourceforge.net/docs/html/' +description = """ FTGL is a free open source library to enable developers to use arbitrary +fonts in their OpenGL (www.opengl.org) applications. """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5458d62122454869572d39f8aa85745fc05d5518001bcefa63bd6cbb8d26565b'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('freetype', '2.10.3'), + ('libGLU', '9.0.1'), + ('Mesa', '20.2.1'), +] + +sanity_check_paths = { + 'files': ['lib/pkgconfig/ftgl.pc', 'lib/libftgl.a', 'lib/libftgl.la', 'lib/libftgl.%s' % SHLIB_EXT], + 'dirs': ['include/FTGL', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..87757d797fb --- /dev/null +++ b/easybuild/easyconfigs/f/FTGL/FTGL-2.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'FTGL' +version = '2.4.0' + +homepage = 'https://github.com/frankheckenbach/ftgl' +description = """ FTGL is a free open source library to enable developers to use arbitrary +fonts in their OpenGL (www.opengl.org) applications. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'frankheckenbach' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['aa97da1c3442a8fd3941037655df18016d70b5266381c81d81e8b5335f196ea8'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('libGLU', '9.0.2'), + ('Mesa', '22.0.3'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['lib/pkgconfig/ftgl.pc', 'lib/libftgl.a', 'lib/libftgl.la', 'lib/libftgl.%s' % SHLIB_EXT], + 'dirs': ['include/FTGL', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f82d2647ceb --- /dev/null +++ b/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'FUSE' +version = '3.14.1' + +homepage = 'https://github.com/libfuse/libfuse' +description = "The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libfuse/libfuse/releases/download/fuse-%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['126919d72b46b3e0eb58a9c6933a2a50c36f2ea69f61fe9e78bdba9f463ffa20'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('binutils', '2.38'), +] + +# avoid that root permissions are required when installing utils (like fusermount) +configopts = "-Dinitscriptdir=%(installdir)s/etc/init.d -Dudevrulesdir=%(installdir)s/udev/rules.d -Duseroot=false" + +sanity_check_paths = { + 'files': ['bin/fusermount3', 'etc/fuse.conf', 'lib/libfuse%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/fuse%(version_major)s.pc'], + 'dirs': ['include/fuse%(version_major)s', 'share/man'], +} + +sanity_check_commands = ["fusermount3 -h | grep '^fusermount3'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b16a0debad6 --- /dev/null +++ b/easybuild/easyconfigs/f/FUSE/FUSE-3.14.1-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'FUSE' +version = '3.14.1' + +homepage = 'https://github.com/libfuse/libfuse' +description = "The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/libfuse/libfuse/releases/download/fuse-%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['126919d72b46b3e0eb58a9c6933a2a50c36f2ea69f61fe9e78bdba9f463ffa20'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('binutils', '2.39') +] + +# avoid that root permissions are required when installing utils (like fusermount) +configopts = "-Dinitscriptdir=%(installdir)s/etc/init.d -Dudevrulesdir=%(installdir)s/udev/rules.d -Duseroot=false" + +sanity_check_paths = { + 'files': ['bin/fusermount3', 'etc/fuse.conf', 'lib/libfuse%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/fuse%(version_major)s.pc'], + 'dirs': ['include/fuse%(version_major)s', 'share/man'], +} + +sanity_check_commands = ["fusermount3 -h | grep '^fusermount3'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FUSE/FUSE-3.16.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FUSE/FUSE-3.16.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..341358950aa --- /dev/null +++ b/easybuild/easyconfigs/f/FUSE/FUSE-3.16.2-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'FUSE' +version = '3.16.2' + +homepage = 'https://github.com/libfuse/libfuse' +description = "The reference implementation of the Linux FUSE (Filesystem in Userspace) interface" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libfuse/libfuse/archive/'] +sources = ['fuse-%(version)s.tar.gz'] +checksums = ['1bc306be1a1f4f6c8965fbdd79c9ccca021fdc4b277d501483a711cbd7dbcd6c'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), +] + +# avoid that root permissions are required when installing utils (like fusermount) +configopts = "-Dinitscriptdir=%(installdir)s/etc/init.d -Dudevrulesdir=%(installdir)s/udev/rules.d -Duseroot=false" + +sanity_check_paths = { + 'files': ['bin/fusermount3', 'etc/fuse.conf', 'lib/libfuse%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/fuse%(version_major)s.pc'], + 'dirs': ['include/fuse%(version_major)s', 'share/man'], +} + +sanity_check_commands = ["fusermount3 -h | grep '^fusermount3'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FabIO/FabIO-0.11.0-fosscuda-2020b.eb b/easybuild/easyconfigs/f/FabIO/FabIO-0.11.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..7126f817a8a --- /dev/null +++ b/easybuild/easyconfigs/f/FabIO/FabIO-0.11.0-fosscuda-2020b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'FabIO' +version = '0.11.0' + +homepage = 'http://www.silx.org' +description = """FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. +FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, ...), +for a total of 20 different file formats (like CBF, EDF, TIFF, ...) and offers an unified interface to their headers +(as a python dictionary) and datasets (as a numpy ndarray of integers or floats).""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1d2fcf58006c82548a16004e607d4518613d49e4a2f02a3797703eee2b39c6d8'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb b/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb new file mode 100644 index 00000000000..289ac781efe --- /dev/null +++ b/easybuild/easyconfigs/f/FabIO/FabIO-0.14.0-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'FabIO' +version = '0.14.0' + +homepage = 'http://www.silx.org' +description = """FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. +FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, ...), +for a total of 20 different file formats (like CBF, EDF, TIFF, ...) and offers an unified interface to their headers +(as a python dictionary) and datasets (as a numpy ndarray of integers or floats).""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['72ab0cb7247ec97dc552447112a54cd77b5fbe6f5ede8fc9b070e4e1c13cf01e'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a55db18bfc6 --- /dev/null +++ b/easybuild/easyconfigs/f/Faiss/Faiss-1.7.4-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakePythonPackage' + +name = 'Faiss' +version = '1.7.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/facebookresearch/faiss' +description = """ +Faiss is a library for efficient similarity search and clustering of dense + vectors. It contains algorithms that search in sets of vectors of any size, up + to ones that possibly do not fit in RAM. It also contains supporting code for + evaluation and parameter tuning. Faiss is written in C++ with complete + wrappers for Python/numpy. Some of the most useful algorithms are implemented + on the GPU. It is developed primarily at Meta's Fundamental AI Research group. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'facebookresearch' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d9a7b31bf7fd6eb32c10b7ea7ff918160eed5be04fe63bb7b4b4b5f2bbde01ad'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), + ('SciPy-bundle', '2023.07'), +] + +_copts = [ + '-DFAISS_ENABLE_GPU=ON', + '-DFAISS_ENABLE_PYTHON=ON', + '-DFAISS_ENABLE_C_API=ON', + '-DBUILD_TESTING=ON', + '-DBUILD_SHARED_LIBS=ON', + '-DPython_EXECUTABLE="${EBROOTPYTHON}/bin/python"', + '-DCUDAToolkit_ROOT="${CUDA_ROOT}"', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', + '-DCMAKE_INSTALL_LIBDIR=%(installdir)s/lib', +] + +configopts = ' '.join(_copts) + +buildopts = 'faiss swigfaiss' + +postinstallcmds = [ + ' && '.join([ + # run a pip install in the 'faiss/python' subdir + 'cd ../easybuild_obj/%(namelower)s/python', + 'python -m pip install --prefix=%(installdir)s --no-build-isolation .', + # for some reason, 'libfaiss_python_callbacks.so' doesn't get installed, so copy this manually + 'cp libfaiss_python_callbacks.%s %%(installdir)s/lib/python%%(pyshortver)s/site-packages/faiss' % SHLIB_EXT + ]) +] + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include/%(namelower)s', 'lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-10.3.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-10.3.0.eb new file mode 100644 index 00000000000..b93bafcb428 --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-10.3.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.33' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + 'fb392ffa3c7942091a06de05c56c8e250523723c39da65ae8f245e65e440a74b', # v1.33.zip + 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5', # FastANI-1.2-memcpy.patch +] + +builddependencies = [('Autotools', '20210128')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.2.0.eb new file mode 100644 index 00000000000..55b00814caf --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.33' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + 'fb392ffa3c7942091a06de05c56c8e250523723c39da65ae8f245e65e440a74b', # v1.33.zip + 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5', # FastANI-1.2-memcpy.patch +] + +builddependencies = [('Autotools', '20210726')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb new file mode 100644 index 00000000000..67c94db4722 --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.33' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + 'fb392ffa3c7942091a06de05c56c8e250523723c39da65ae8f245e65e440a74b', # v1.33.zip + 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5', # FastANI-1.2-memcpy.patch +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.12'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.33-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..eee713c573b --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.33-intel-compilers-2021.4.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.33' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + 'fb392ffa3c7942091a06de05c56c8e250523723c39da65ae8f245e65e440a74b', # v1.33.zip + 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5', # FastANI-1.2-memcpy.patch +] + +builddependencies = [('Autotools', '20210726')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastANI/FastANI-1.34-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FastANI/FastANI-1.34-GCC-12.3.0.eb new file mode 100644 index 00000000000..53a457447e3 --- /dev/null +++ b/easybuild/easyconfigs/f/FastANI/FastANI-1.34-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'ConfigureMake' + +name = 'FastANI' +version = '1.34' + +homepage = "https://github.com/ParBLiSS/FastANI" +description = """FastANI is developed for fast alignment-free computation of + whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean + nucleotide identity of orthologous gene pairs shared between two microbial + genomes. FastANI supports pairwise comparison of both complete and draft + genome assemblies.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/ParBLiSS/FastANI/archive'] +sources = ['v%(version)s.zip'] +patches = ['FastANI-1.2-memcpy.patch'] +checksums = [ + {'v1.34.zip': 'cb15540634c725cb46dded7becaff38b27a7f709c0a8589db986674effcc6180'}, + {'FastANI-1.2-memcpy.patch': 'eebcf0b64c31ee360ca79136f644157064ac69747ed13cff70f5c9932c6bb0d5'}, +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.13'), +] + +preconfigopts = 'autoconf && ' + +sanity_check_paths = { + 'files': ['bin/fastANI'], + 'dirs': [] +} + +sanity_check_commands = ["fastANI --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..0149030d604 --- /dev/null +++ b/easybuild/easyconfigs/f/FastFold/FastFold-20220729-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'FastFold' +version = '20220729' +versionsuffix = '-CUDA-%(cudaver)s' +local_commit = '665e6c97a7d95d3db2df860d104fa3c456c71fe2' + +homepage = 'https://github.com/hpcaitech/FastFold' +description = "Optimizing Protein Structure Prediction Model Training and Inference on GPU Clusters" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('dm-tree', '0.1.6'), + ('einops', '0.4.1'), + ('colossalai', '0.1.8', versionsuffix), + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + (name, version, { + 'preinstallopts': "cp -a benchmark scripts tests %(installdir)s/ && ", + 'source_urls': ['https://github.com/hpcaitech/FastFold/archive/'], + 'sources': [{'download_filename': '665e6c97a7d95d3db2df860d104fa3c456c71fe2.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['79abc27d481f14c9086ee969f55a73645b9669e0608bdb44db22a839765e5739'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdbfixer'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'from fastfold.model.fastnn import Evoformer'", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastME/FastME-2.1.6.1-GCC-10.2.0.eb b/easybuild/easyconfigs/f/FastME/FastME-2.1.6.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..d835df6e321 --- /dev/null +++ b/easybuild/easyconfigs/f/FastME/FastME-2.1.6.1-GCC-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'FastME' +version = '2.1.6.1' + +homepage = 'http://www.atgc-montpellier.fr/fastme/' +description = "FastME: a comprehensive, accurate and fast distance-based phylogeny inference program." + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://gite.lirmm.fr/atgc/FastME/-/archive/v%(version)s/'] +sources = ['FastME-v%(version)s.tar.gz'] +checksums = ['fae0609576873cb137ad4f63529b3ccba8f747b857c23c7870236aba440076ca'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +preconfigopts = "autoreconf -if && " + +sanity_check_paths = { + 'files': ['bin/fastme'], + 'dirs': [] +} + +sanity_check_commands = ["fastme --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastME/FastME-2.1.6.3-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FastME/FastME-2.1.6.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..03f7b77ed2c --- /dev/null +++ b/easybuild/easyconfigs/f/FastME/FastME-2.1.6.3-GCC-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'FastME' +version = '2.1.6.3' + +homepage = 'http://www.atgc-montpellier.fr/fastme/' +description = "FastME: a comprehensive, accurate and fast distance-based phylogeny inference program." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gite.lirmm.fr/atgc/FastME/-/archive/v%(version)s/'] +sources = ['FastME-v%(version)s.tar.gz'] +checksums = ['d49ff78cca7b76eadf8443efb33f071a7e8a152618ffa3d8e790f167d0a0b176'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -if && " + +sanity_check_paths = { + 'files': ['bin/fastme'], + 'dirs': [] +} + +sanity_check_commands = ["fastme --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-1.8.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-1.8.eb index 9251dd40828..daee979d9db 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-1.8.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-1.8.eb @@ -21,7 +21,7 @@ checksums = [ '684701634440864750c9a0b99d81e122a1def78672d436daf5497bff61d9a356', # FastQC_shebang.patch ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] postinstallcmds = ["chmod +x %(installdir)s/fastqc"] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-11.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-11.eb index f075347905b..ef747fd9625 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-11.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.8-Java-11.eb @@ -25,7 +25,7 @@ checksums = [ '684701634440864750c9a0b99d81e122a1def78672d436daf5497bff61d9a356', # FastQC_shebang.patch ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] postinstallcmds = ["chmod +x %(installdir)s/fastqc"] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.9-Java-11.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.9-Java-11.eb index bbe1b9f0240..5fa46779ccc 100644 --- a/easybuild/easyconfigs/f/FastQC/FastQC-0.11.9-Java-11.eb +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.11.9-Java-11.eb @@ -25,7 +25,7 @@ checksums = [ '684701634440864750c9a0b99d81e122a1def78672d436daf5497bff61d9a356', # FastQC_shebang.patch ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] postinstallcmds = ["chmod +x %(installdir)s/fastqc"] diff --git a/easybuild/easyconfigs/f/FastQC/FastQC-0.12.1-Java-11.eb b/easybuild/easyconfigs/f/FastQC/FastQC-0.12.1-Java-11.eb new file mode 100644 index 00000000000..0863208509b --- /dev/null +++ b/easybuild/easyconfigs/f/FastQC/FastQC-0.12.1-Java-11.eb @@ -0,0 +1,42 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PackedBinary' + +name = 'FastQC' +version = '0.12.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/fastqc/' +description = """FastQC is a quality control application for high throughput +sequence data. It reads in sequence data in a variety of formats and can either +provide an interactive application to review the results of several different +QC checks, or create an HTML based report which can be integrated into a +pipeline.""" + +toolchain = SYSTEM + +source_urls = ['https://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.zip'] +patches = ['FastQC_shebang.patch'] +checksums = [ + '5f4dba8780231a25a6b8e11ab2c238601920c9704caa5458d9de559575d58aa7', # fastqc_v0.12.1.zip + '684701634440864750c9a0b99d81e122a1def78672d436daf5497bff61d9a356', # FastQC_shebang.patch +] + +dependencies = [('Java', '11', '', SYSTEM)] + +postinstallcmds = ["chmod +x %(installdir)s/fastqc"] + +sanity_check_paths = { + 'files': ['fastqc', 'fastqc_icon.ico', 'INSTALL.txt', 'jbzip2-0.9.jar', + 'LICENSE.txt', 'LICENSE_JHDF5.txt', 'README.txt', + 'RELEASE_NOTES.txt', 'run_fastqc.bat', + 'cisd-jhdf5.jar'], + 'dirs': ['Configuration', 'Help', 'Templates', 'uk', 'net', 'org'], +} + +sanity_check_commands = [('fastqc', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastQTL/FastQTL-2.184-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FastQTL/FastQTL-2.184-GCC-11.2.0.eb new file mode 100644 index 00000000000..27fcdb8a5a5 --- /dev/null +++ b/easybuild/easyconfigs/f/FastQTL/FastQTL-2.184-GCC-11.2.0.eb @@ -0,0 +1,67 @@ +# 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 +# updated to GCC 11.2.0 +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'FastQTL' +version = '2.184' + +homepage = 'http://fastqtl.sourceforge.net/' +description = 'FastQTL is a QTL mapper' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://fastqtl.sourceforge.net/files/'] +sources = ['%(name)s-%(version)s.linux.tgz'] +patches = ['FastQTL-makefile.patch'] + +checksums = [ + 'b8d8959a9fbeba106483a2a3e178eaf918b907ad9f9aab7988b6817bb2108879', + 'e289eaeaf1d18f17d0baabf23d632bf0599a4d6eaa7bcc173e6d7e305315466b', # FastQTL-makefile.patch +] + +builddependencies = [ + ('libRmath', '4.1.2'), + ('binutils', '2.37'), + ('tabix', '0.2.6'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('GSL', '2.7'), + ('Boost', '1.77.0'), + ('FlexiBLAS', '3.0.4'), + ('OpenBLAS', '0.3.18'), +] + +files_to_copy = [ + 'bin', + 'doc', + 'example', + 'LICENCE', + 'README', + 'script', +] + +# a simple fastQTL --help returns an exit code > 0 +sanity_check_commands = [ + "fastQTL --help 2>&1 | grep 'Version : v2.0'", +] + +sanity_check_paths = { + 'files': ['bin/fastQTL'], + 'dirs': [] +} + +# delete the binary provided with the tarball +# it's not static and it doesn't work ;) +postinstallcmds = ['rm %(installdir)s/bin/fastQTL.static'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastQTL/FastQTL-makefile.patch b/easybuild/easyconfigs/f/FastQTL/FastQTL-makefile.patch new file mode 100644 index 00000000000..d67a7b42cd7 --- /dev/null +++ b/easybuild/easyconfigs/f/FastQTL/FastQTL-makefile.patch @@ -0,0 +1,47 @@ +Patch for Makefile to include Eigen, libRmath, Boost, Tabix and FlexiBLAS +J. Sassmannshausen +diff --git a/FastQTL.orig/Makefile b/FastQTL/Makefile +index a7b23ec..d9504ec 100644 +--- a/FastQTL.orig/Makefile ++++ b/FastQTL/Makefile +@@ -1,16 +1,16 @@ + #PLEASE SPECIFY THE R path here where you built the R math library standalone +-RMATH=~/Software/R-3.1.3/src ++RMATH=${EBROOTLIBRMATH}/lib64 + + #compiler + CXX=g++ + + #internal paths + VPATH=$(shell for file in `find src -name *.cpp`; do echo $$(dirname $$file); done) +-PATH_TABX=lib/Tabix +-PATH_EIGN=lib/Eigen ++PATH_TABX=${EBROOTTABIX} ++PATH_EIGN=${EBROOTEIGEN} + + #compiler flags +-CXXFLAG_OPTI=-O3 -D_FAST_CORRELATION ++CXXFLAG_OPTI=-O3 -D_FAST_CORRELATION -std=gnu++98 + CXXFLAG_DEBG=-g + CXXFLAG_WARN=-Wall -Wextra -Wno-sign-compare + CXXFLAG_MACX=-mmacosx-version-min=10.7 -stdlib=libc++ +@@ -21,15 +21,15 @@ LDFLAG_DEBG=-g + LDFLAG_MACX=-mmacosx-version-min=10.7 -stdlib=libc++ + + #includes +-INC_BASE=-Isrc -I$(PATH_TABX) -I$(PATH_EIGN) ++INC_BASE=-Isrc -I$(PATH_TABX) -I$(PATH_EIGN)/include/Eigen + INC_MATH=-I$(RMATH)/include/ + INC_MACX=-I/usr/local/include/ + + #libraries + #LIB_BASE=-lm -lboost_iostreams -lboost_program_options -lz -lgsl -lblas +-LIB_BASE=-lm -lz -lboost_iostreams -lboost_program_options -lgsl -lblas +-LIB_MATH=$(RMATH)/nmath/standalone/libRmath.a +-LIB_TABX=$(PATH_TABX)/libtabix.a ++LIB_BASE=-L${EBROOTBOOST}/lib64 -lm -lz -lboost_iostreams -lboost_program_options -lgsl -lflexiblas ++LIB_MATH=$(RMATH)/libRmath.a ++LIB_TABX=$(PATH_TABX)/lib64/libtabix.a + LIB_MACX=-L/usr/local/lib/ + + #files (binary, objects, headers & sources) diff --git a/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..ace0d3db725 --- /dev/null +++ b/easybuild/easyconfigs/f/FastQ_Screen/FastQ_Screen-0.14.0-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'FastQ_Screen' +version = '0.14.0' + +homepage = 'http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s/' +description = """FastQ Screen allows you to screen a library of sequences in FastQ + format against a set of sequence databases so you can see if the composition of the + library matches with what you expect.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://www.bioinformatics.babraham.ac.uk/projects/%(namelower)s'] +sources = ['%(namelower)s_v%(version)s.tar.gz'] +checksums = ['5ee9c02617201e908e1693eebc356bed9d7693c915a83dda0d33a37cc34af654'] + +dependencies = [ + ('Perl', '5.34.1'), + ('GDGraph', '1.56'), + ('BWA', '0.7.17'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.4.5'), +] + +fix_perl_shebang_for = ['fastq_screen'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['fastq_screen'], + 'dirs': [], +} + +sanity_check_commands = ["fastq_screen -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.2.0.eb index 11318dc50bb..2d4bc28f2bd 100644 --- a/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.2.0.eb @@ -27,6 +27,11 @@ cmds_map = [('%(name)s-%(version)s.c', '$CC -DOPENMP $CFLAGS $LIBS %%(source)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': [], diff --git a/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fdcb06c67f3 --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-10.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': '10.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.36.1')] + +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/FastTree/FastTree-2.1.11-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9bbfa3f435b --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.2.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': '11.2.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.37')] + +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/FastTree/FastTree-2.1.11-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c1bb41ac734 --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-11.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': '11.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.38')] + +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/FastTree/FastTree-2.1.11-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..abb4f293128 --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-12.2.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.2.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.39')] + +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/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/FastTree/FastTree-2.1.11-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b44229828a4 --- /dev/null +++ b/easybuild/easyconfigs/f/FastTree/FastTree-2.1.11-GCCcore-13.2.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': '13.2.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/FastViromeExplorer/FastViromeExplorer-20180422-foss-2019b.eb b/easybuild/easyconfigs/f/FastViromeExplorer/FastViromeExplorer-20180422-foss-2019b.eb index 0fad82d9d44..e16acdff154 100644 --- a/easybuild/easyconfigs/f/FastViromeExplorer/FastViromeExplorer-20180422-foss-2019b.eb +++ b/easybuild/easyconfigs/f/FastViromeExplorer/FastViromeExplorer-20180422-foss-2019b.eb @@ -14,7 +14,7 @@ sources = [{'download_filename': 'FastViromeExplorer-%s.tar.gz' % local_commit, checksums = ['3a8e7842e83539cd36f619f1e01761e2c5b87a44a5f51328287b6dd20ef47384'] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('kallisto', '0.46.1'), ('SAMtools', '1.10'), ] diff --git a/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-10.3.0.eb b/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..a826d27d2a3 --- /dev/null +++ b/easybuild/easyconfigs/f/Fastaq/Fastaq-3.17.0-GCC-10.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': '10.3.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-docker3.tar.gz'] +checksums = ['f65235f5d89f4621cf8e15676448e17d85620c05096cb6413134c4e29717ff5f'] + +dependencies = [ + ('Python', '3.9.5'), + ('SAMtools', '0.1.19'), + ('gzip', '1.10'), +] + +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/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/Ferret/Ferret-7.3-intel-2017b.eb b/easybuild/easyconfigs/f/Ferret/Ferret-7.3-intel-2017b.eb index 3c6dcc5750c..afc3e88aa32 100644 --- a/easybuild/easyconfigs/f/Ferret/Ferret-7.3-intel-2017b.eb +++ b/easybuild/easyconfigs/f/Ferret/Ferret-7.3-intel-2017b.eb @@ -22,7 +22,7 @@ dependencies = [ ('cURL', '7.56.0'), ('ncurses', '6.0'), ('libreadline', '7.0'), - ('Java', '1.8.0_152', '', True), + ('Java', '1.8.0_152', '', SYSTEM), ] parallel = 1 diff --git a/easybuild/easyconfigs/f/Ferret/Ferret-7.5.0-foss-2019b.eb b/easybuild/easyconfigs/f/Ferret/Ferret-7.5.0-foss-2019b.eb index 1b061234a1c..ad0059c286e 100644 --- a/easybuild/easyconfigs/f/Ferret/Ferret-7.5.0-foss-2019b.eb +++ b/easybuild/easyconfigs/f/Ferret/Ferret-7.5.0-foss-2019b.eb @@ -24,7 +24,7 @@ dependencies = [ ('cURL', '7.66.0'), ('ncurses', '6.1'), ('libreadline', '8.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] # /bin/csh is required for installation by bin/make_executable_tar, bin/make_environment_tar diff --git a/easybuild/easyconfigs/f/Ferret/Ferret-7.6.0-foss-2022a.eb b/easybuild/easyconfigs/f/Ferret/Ferret-7.6.0-foss-2022a.eb new file mode 100644 index 00000000000..af203d81f3d --- /dev/null +++ b/easybuild/easyconfigs/f/Ferret/Ferret-7.6.0-foss-2022a.eb @@ -0,0 +1,49 @@ +name = 'Ferret' +version = '7.6.0' +homepage = 'https://ferret.pmel.noaa.gov/Ferret/' +description = """Ferret is an interactive computer visualization and analysis environment +designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True, 'extra_fflags': '-fallow-argument-mismatch -fallow-invalid-boz'} + +source_urls = ['https://github.com/NOAA-PMEL/Ferret/archive/'] +sources = ['v%s.tar.gz' % version] +checksums = ['69832d740bd44c9eadd198a5de4d96c4c01ae90ae28c2c3414c1bb9f43e475d1'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('X11', '20220504'), + ('netCDF-Fortran', '4.6.0'), + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), + ('cURL', '7.83.0'), + ('ncurses', '6.3'), + ('libreadline', '8.1.2'), + ('tcsh', '6.24.01'), + ('Java', '11', '', SYSTEM), +] + +parallel = 1 + +prebuildopts = 'export CPP_X11="-I${EBROOTX11}/include" && ' +buildopts = 'CDFLIB="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lsz"' + +modextravars = { + 'FER_DIR': '%(installdir)s', + 'FER_DSETS': '%(installdir)s/fer_dsets', + 'FER_DATA': '. %(installdir)s/fer_dsets/data %(installdir)s/contrib', + 'FER_DESCR': '. %(installdir)s/fer_dsets/descr', + 'FER_GRIDS': '. %(installdir)s/fer_dsets/grids', + 'FER_GO': '. %(installdir)s/go %(installdir)s/examples %(installdir)s/contrib', + 'FER_EXTERNAL_FUNCTIONS': '%(installdir)s/ext_func/libs', + 'FER_PALETTE': '. %(installdir)s/ppl', + 'SPECTRA': '%(installdir)s/ppl', + 'FER_FONTS': '%(installdir)s/ppl/fonts', + 'PLOTFONTS': '%(installdir)s/ppl/fonts', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb new file mode 100644 index 00000000000..c655cd16540 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-1.8.eb @@ -0,0 +1,49 @@ +easyblock = 'PackedBinary' + +name = 'Fiji' +version = '2.9.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fiji.sc' +description = """Fiji is an image processing package—a 'batteries-included' distribution of + ImageJ, bundling a lot of plugins which facilitate scientific image analysis. +This release is based on ImageJ-2.1.0 and Fiji-2.1.1""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.imagej.net/fiji/releases/%(version)s/'] +sources = ['fiji-%(version)s-nojre.zip'] +checksums = ['970fb80cf2a4fe8bfcecc2cc9a8617b9ab28f19fbe229ea6ae2f7f42674c8a42'] + +dependencies = [('Java', '1.8', '', SYSTEM)] + +postinstallcmds = [ + # Remove binaries for other platforms + 'rm %(installdir)s/{ImageJ-win32.exe,ImageJ-win64.exe}', + # Enable any update site (edit existing site with same parameters to enable it) + # Full list at https://imagej.github.io/list-of-update-sites/ + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ImageScience"' + ' https://sites.imagej.net/ImageScience/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "3D ImageJ Suite"' + ' https://sites.imagej.net/Tboudier/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ilastik"' + ' https://sites.imagej.net/Ilastik/', + # Add a new update site + # '%(installdir)s/ImageJ-linux64 --headless --update add-update-site "New Name"' + # ' https://site.url/NewName/', + # Update the installation + '%(installdir)s/ImageJ-linux64 --headless --update update', +] + +sanity_check_paths = { + 'files': ['ImageJ-linux64'], + 'dirs': [], +} + +modloadmsg = """ +Additional plugins can be installed in your $HOME/.plugins folder or requested to user support +Use ImageJ/Fiji in headless mode in your scripts with the command `ImageJ-linux64 --headless` +More information at https://imagej.net/Headless +""" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb new file mode 100644 index 00000000000..a0253523720 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiji/Fiji-2.9.0-Java-8.eb @@ -0,0 +1,49 @@ +easyblock = 'PackedBinary' + +name = 'Fiji' +version = '2.9.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fiji.sc' +description = """Fiji is an image processing package—a 'batteries-included' distribution of + ImageJ, bundling a lot of plugins which facilitate scientific image analysis. +This release is based on ImageJ-2.1.0 and Fiji-2.1.1""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.imagej.net/fiji/releases/%(version)s/'] +sources = ['fiji-%(version)s-nojre.zip'] +checksums = ['970fb80cf2a4fe8bfcecc2cc9a8617b9ab28f19fbe229ea6ae2f7f42674c8a42'] + +dependencies = [('Java', '8', '', SYSTEM)] + +postinstallcmds = [ + # Remove binaries for other platforms + 'rm %(installdir)s/{ImageJ-win32.exe,ImageJ-win64.exe}', + # Enable any update site (edit existing site with same parameters to enable it) + # Full list at https://imagej.github.io/list-of-update-sites/ + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ImageScience"' + ' https://sites.imagej.net/ImageScience/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "3D ImageJ Suite"' + ' https://sites.imagej.net/Tboudier/', + '%(installdir)s/ImageJ-linux64 --headless --update edit-update-site "ilastik"' + ' https://sites.imagej.net/Ilastik/', + # Add a new update site + # '%(installdir)s/ImageJ-linux64 --headless --update add-update-site "New Name"' + # ' https://site.url/NewName/', + # Update the installation + '%(installdir)s/ImageJ-linux64 --headless --update update', +] + +sanity_check_paths = { + 'files': ['ImageJ-linux64'], + 'dirs': [], +} + +modloadmsg = """ +Additional plugins can be installed in your $HOME/.plugins folder or requested to user support +Use ImageJ/Fiji in headless mode in your scripts with the command `ImageJ-linux64 --headless` +More information at https://imagej.net/Headless +""" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-20170530.eb b/easybuild/easyconfigs/f/Fiji/Fiji-20170530.eb index b1a1a6b217b..b7dd6766d3f 100644 --- a/easybuild/easyconfigs/f/Fiji/Fiji-20170530.eb +++ b/easybuild/easyconfigs/f/Fiji/Fiji-20170530.eb @@ -14,7 +14,7 @@ source_urls = ['https://downloads.imagej.net/fiji/Life-Line/'] sources = ['%(namelower)s-nojre-%(version)s.zip'] checksums = ['cf9fb45c48b22a7888b479968477f1f7a300a9c833e47244cbe0d1e93890bd20'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] postinstallcmds = [ # Remove binaries for other platforms diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-20191119-2057.eb b/easybuild/easyconfigs/f/Fiji/Fiji-20191119-2057.eb index 3309bd66a45..c4f26af3680 100644 --- a/easybuild/easyconfigs/f/Fiji/Fiji-20191119-2057.eb +++ b/easybuild/easyconfigs/f/Fiji/Fiji-20191119-2057.eb @@ -17,7 +17,7 @@ sources = [{ }] checksums = ['7fad8e8f8676edbcfe7eb979421ab163e8d48bb7950a815f7821cbe58b8bb051'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] postinstallcmds = [ # Remove binaries for other platforms diff --git a/easybuild/easyconfigs/f/Fiji/Fiji-20201104-1356.eb b/easybuild/easyconfigs/f/Fiji/Fiji-20201104-1356.eb index efe07f936b3..aac8b8d8de9 100644 --- a/easybuild/easyconfigs/f/Fiji/Fiji-20201104-1356.eb +++ b/easybuild/easyconfigs/f/Fiji/Fiji-20201104-1356.eb @@ -17,7 +17,7 @@ sources = [{ }] checksums = ['ea60c212f0c123c2e947f0171b3a3ec83c38f0a6bd4c2bf2d5a5c53ba5e464cb'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] postinstallcmds = [ # Remove binaries for other platforms diff --git a/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..8ed16b2cc4c --- /dev/null +++ b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'Filtlong' +version = '0.2.1' + +homepage = 'https://github.com/rrwick/Filtlong' +description = """Filtlong is a tool for filtering long reads by quality. It can take a set + of long reads and produce a smaller, better subset. It uses both read length (longer is better) + and read identity (higher is better) when choosing which reads pass the filter""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/rrwick/Filtlong/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e6f47675e87f98cf2481a60bef5cad38396f1e4db653a5c1673139f37770273a'] + +unpack_options = '--strip-components=1' + +parallel = 1 + +dependencies = [ + ('zlib', '1.2.11'), +] + +files_to_copy = ["*"] + +sanity_check_paths = { + 'files': ['bin/filtlong'], + 'dirs': [] +} + +sanity_check_commands = ["filtlong --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-12.3.0.eb b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..25bf2c570f0 --- /dev/null +++ b/easybuild/easyconfigs/f/Filtlong/Filtlong-0.2.1-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'Filtlong' +version = '0.2.1' + +homepage = 'https://github.com/rrwick/Filtlong' +description = """Filtlong is a tool for filtering long reads by quality. It can take a set + of long reads and produce a smaller, better subset. It uses both read length (longer is better) + and read identity (higher is better) when choosing which reads pass the filter""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/rrwick/Filtlong/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e6f47675e87f98cf2481a60bef5cad38396f1e4db653a5c1673139f37770273a'] + +unpack_options = '--strip-components=1' + +parallel = 1 + +dependencies = [ + ('zlib', '1.2.13'), +] + +files_to_copy = ["*"] + +sanity_check_paths = { + 'files': ['bin/filtlong'], + 'dirs': [] +} + +sanity_check_commands = ["filtlong --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2020b.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2020b.eb new file mode 100644 index 00000000000..fd9e2798fc3 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2020b.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.20' + +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': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('GDAL', '3.2.1'), + ('Shapely', '1.8a1'), +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fio --help"] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2021a.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2021a.eb new file mode 100644 index 00000000000..0e2c959b361 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.20' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('GDAL', '3.3.0'), + ('Shapely', '1.8a1'), # optional +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b'], + }), +] + +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/Fiona/Fiona-1.8.20-intel-2020b.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-intel-2020b.eb new file mode 100644 index 00000000000..4deaf150393 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.20-intel-2020b.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.20' + +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': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('GDAL', '3.2.1'), + ('Shapely', '1.8a1'), +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["fio --help"] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2021b.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2021b.eb new file mode 100644 index 00000000000..5e0371f6538 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.21' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('GDAL', '3.3.2'), + ('Shapely', '1.8.2'), # optional for 'calc' extras +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc'], + 'use_pip_extras': 'calc', + }), +] + +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/Fiona/Fiona-1.8.21-foss-2022a.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2022a.eb new file mode 100644 index 00000000000..a1a8ffdd7e0 --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.8.21-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.8.21' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('GDAL', '3.5.0'), + ('Shapely', '1.8.2'), # optional for 'calc' extras +] + +use_pip = True + +exts_list = [ + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'checksums': ['3a0edca2a7a070db405d71187214a43d2333a57b4097544a3fcc282066a58bfc'], + 'use_pip_extras': 'calc', + }), +] + +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/Fiona/Fiona-1.9.2-foss-2022b.eb b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.2-foss-2022b.eb new file mode 100644 index 00000000000..024b51efc9f --- /dev/null +++ b/easybuild/easyconfigs/f/Fiona/Fiona-1.9.2-foss-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Fiona' +version = '1.9.2' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('GDAL', '3.6.2'), + ('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', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + (name, version, { + 'use_pip_extras': 'calc', + 'checksums': ['f9263c5f97206bf2eb2c010d52e8ffc54e96886b0e698badde25ff109b32952a'], + }), +] + +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/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-1.1.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb index e580bb5698a..b42acb6357c 100644 --- a/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/Flask/Flask-1.1.4-GCCcore-10.3.0.eb @@ -34,6 +34,12 @@ exts_list = [ ('Flask-Cors', '3.0.10', { 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], }), + ('cachelib', '0.4.1', { + 'checksums': ['68e27dae1bb73ba02071f1cf413111d96f8175fd37176f35a5ccb9bdf6848c5c'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..65e24299f37 --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-2.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '2.0.2' + +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': '11.2.0'} + +dependencies = [ + ('Python', '3.9.6'), +] + +builddependencies = [('binutils', '2.37')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('itsdangerous', '2.0.1', { + 'checksums': ['9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0'], + }), + ('Werkzeug', version, { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + ('asgiref', '3.4.1', { + 'checksums': ['4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9'], + }), + (name, version, { + 'checksums': ['7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2'], + }), + ('Flask-Cors', '3.0.10', { + 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], + }), + ('cachelib', '0.6.0', { + 'checksums': ['0baa926a23924c04ae1354091478b15b3b24e6cf5931dd159452afda5f65babd'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), +] + +sanity_check_paths = { + 'files': ['bin/flask'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['flask --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..644e98a242f --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-2.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '2.2.2' + +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': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), +] + +builddependencies = [('binutils', '2.38')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('Werkzeug', version, { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('asgiref', '3.5.2', { + 'checksums': ['4a29362a6acebe09bf1d6640db38c1dc3d9217c68e6f9f6204d72667fc19a424'], + }), + (name, version, { + 'checksums': ['642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b'], + }), + ('Flask-Cors', '3.0.10', { + 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], + }), + ('cachelib', '0.9.0', { + 'checksums': ['38222cc7c1b79a23606de5c2607f4925779e37cdcea1c2ad21b8bae94b5425a5'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), +] + +sanity_check_paths = { + 'files': ['bin/flask'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['flask --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..26e22ef4b44 --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-2.2.3-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '2.2.3' + +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': '12.2.0'} + +dependencies = [ + ('Python', '3.10.8'), +] + +builddependencies = [('binutils', '2.39')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('Werkzeug', version, { + 'checksums': ['2e1ccc9417d4da358b9de6f174e3ac094391ea1d4fbef2d667865d819dfd0afe'], + }), + ('asgiref', '3.6.0', { + 'checksums': ['9567dfe7bd8d3c8c892227827c41cce860b368104c3431da67a0c5a65a949506'], + }), + (name, version, { + 'checksums': ['7eb373984bf1c770023fce9db164ed0c3353cd0b53f130f4693da0ca756a2e6d'], + }), + ('Flask-Cors', '3.0.10', { + 'checksums': ['b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de'], + }), + ('cachelib', '0.10.2', { + 'checksums': ['593faeee62a7c037d50fc835617a01b887503f972fb52b188ae7e50e9cb69740'], + }), + ('Flask-Session', '0.4.0', { + 'checksums': ['c9ed54321fa8c4ca0132ffd3369582759eda7252fb4b3bee480e690d1ba41f46'], + }), +] + +sanity_check_paths = { + 'files': ['bin/flask'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['flask --version'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/Flask/Flask-2.3.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/Flask/Flask-2.3.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b45a8f33f43 --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-2.3.3-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '2.3.3' + +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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('itsdangerous', '2.1.2', {'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a']}), + ('werkzeug', '2.3.7', {'checksums': ['2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8']}), + ('asgiref', '3.7.2', {'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed']}), + ('blinker', '1.6.2', {'checksums': ['4afd3de66ef3a9f8067559fb7a1cbe555c17dcbe15971b05d1b625c3e7abe213']}), + ('flask', version, {'checksums': ['09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc']}), + ('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/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/Flask/Flask-3.0.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/Flask/Flask-3.0.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..46b9452f48b --- /dev/null +++ b/easybuild/easyconfigs/f/Flask/Flask-3.0.3-GCCcore-13.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'PythonBundle' + +name = 'Flask' +version = '3.0.3' + +homepage = 'https://flask.palletsprojects.com/' +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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('itsdangerous', '2.2.0', { + 'checksums': ['e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173'], + }), + ('werkzeug', '3.0.4', { + 'checksums': ['34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306'], + }), + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('blinker', '1.8.2', { + 'checksums': ['8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83'], + }), + ('flask', version, { + 'checksums': ['ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842'], + }), + ('msgspec', '0.18.6', { + 'checksums': ['a59fc3b4fcdb972d09138cb516dbde600c99d07c38fd9372a6ef500d2d031b4e'], + }), + ('Flask-Cors', '5.0.0', { + 'sources': ['flask_cors-%(version)s.tar.gz'], + 'checksums': ['5aadb4b950c4e93745034594d9f3ea6591f734bb3662e16e255ffbf5e89c88ef'], + }), + ('cachelib', '0.13.0', { + 'checksums': ['209d8996e3c57595bee274ff97116d1d73c4980b2fd9a34c7846cd07fd2e1a48'], + }), + ('Flask-Session', '0.8.0', { + 'sources': ['flask_session-%(version)s.tar.gz'], + 'checksums': ['20e045eb01103694e70be4a49f3a80dbb1b57296a22dc6f44bbf3f83ef0742ff'], + }), +] + +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/Flax/Flax-0.8.4-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/f/Flax/Flax-0.8.4-gfbf-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4aeb0c7d815 --- /dev/null +++ b/easybuild/easyconfigs/f/Flax/Flax-0.8.4-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Flax' +version = '0.8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://flax.readthedocs.io' +description = """Flax is a high-performance neural network library and ecosystem for JAX that is +designed for flexibility: Try new forms of training by forking an example and +by modifying the training loop, not by adding features to a framework.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25', versionsuffix), + ('Optax', '0.2.2', versionsuffix), + ('protobuf-python', '4.24.0'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('orbax_checkpoint', '0.5.15', { + 'modulename': 'orbax.checkpoint', + 'checksums': ['15195e8d1b381b56f23a62a25599a3644f5d08655fa64f60bb1b938b8ffe7ef3'], + }), + ('tensorstore', '0.1.60', { + 'checksums': ['88da8f1978982101b8dbb144fd29ee362e4e8c97fc595c4992d555f80ce62a79'], + }), + ('flax', '0.8.4', { + 'checksums': ['968683f850198e1aa5eb2d9d1e20bead880ef7423c14f042db9d60848cb1c90b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/f/Flax/Flax-0.8.4-gfbf-2023a.eb b/easybuild/easyconfigs/f/Flax/Flax-0.8.4-gfbf-2023a.eb new file mode 100644 index 00000000000..dedc08531c3 --- /dev/null +++ b/easybuild/easyconfigs/f/Flax/Flax-0.8.4-gfbf-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'Flax' +version = '0.8.4' + +homepage = 'https://flax.readthedocs.io' +description = """Flax is a high-performance neural network library and ecosystem for JAX that is +designed for flexibility: Try new forms of training by forking an example and +by modifying the training loop, not by adding features to a framework.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25'), + ('Optax', '0.2.2'), + ('protobuf-python', '4.24.0'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('orbax_checkpoint', '0.5.15', { + 'modulename': 'orbax.checkpoint', + 'checksums': ['15195e8d1b381b56f23a62a25599a3644f5d08655fa64f60bb1b938b8ffe7ef3'], + }), + ('tensorstore', '0.1.60', { + 'checksums': ['88da8f1978982101b8dbb144fd29ee362e4e8c97fc595c4992d555f80ce62a79'], + }), + ('flax', '0.8.4', { + 'checksums': ['968683f850198e1aa5eb2d9d1e20bead880ef7423c14f042db9d60848cb1c90b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-10.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-10.3.0.eb index b0f9ad78754..47fcb322dc7 100644 --- a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-10.3.0.eb @@ -1,3 +1,5 @@ +easyblock = 'Bundle' + name = 'FlexiBLAS' version = '3.0.4' @@ -9,19 +11,44 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} -source_urls = ['https://csc.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c'] - builddependencies = [ ('CMake', '3.20.1'), ('Python', '3.9.5'), # required for running the tests + ('BLIS', '0.8.1'), ] -# note: first listed library will be used as default by FlexiBLAS, -# unless otherwise specified via easyconfig parameter flexiblas_default dependencies = [ ('OpenBLAS', '0.3.15'), ] +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://csc.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..f779e1cdeac --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4-GCC-11.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.0.4' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.21.1'), + ('Python', '3.9.6'), # required for running the tests + ('BLIS', '0.8.1'), + # imkl is commented out, since installing it requires accepting the Intel oneAPI EULA; + # note: also commented out the lines below to add imkl to 'backends'! + # ('imkl', {'arch=x86_64': '2021.4.0', 'arch=*': False}, '', SYSTEM), +] + +dependencies = [ + ('OpenBLAS', '0.3.18'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# if ARCH == 'x86_64': +# local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://csc.mpi-magdeburg.mpg.de/mpcsc/software/flexiblas/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['50a88f2e88994dda91b2a2621850afd9654b3b84820e737e335687a46751be5c'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch new file mode 100644 index 00000000000..65afad7a02a --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-imkl.patch @@ -0,0 +1,24 @@ +CMake-related fixes to use correct backend for MKL + +Author: Bart Oldeman +diff -ur flexiblas-3.0.4/src/CMakeLists.txt flexiblas-3.0.4.new/src/CMakeLists.txt +--- flexiblas-3.0.4/src/CMakeLists.txt 2020-10-22 09:07:49.000000000 +0000 ++++ flexiblas-3.0.4.new/src/CMakeLists.txt 2021-09-28 17:28:59.862127651 +0000 +@@ -331,7 +331,7 @@ + INCLUDE(CheckFunctionExists) + + # SET(BLA_STATIC TRUE) +-MACRO(BuildBackendBlas VENDOR BACKEND_CODE) ++MACRO(BuildBackendBlas VENDOR BACKEND_CODE_PARAM) + MESSAGE(STATUS "Build additional BLAS interface: ${VENDOR}") + MESSAGE(STATUS "-- Libs: ${${VENDOR}_LIBRARY}") + MESSAGE(STATUS "-- Linker Flags: ${${VENDOR}_LINKER_FLAGS}") +@@ -356,6 +356,8 @@ + # Use the MKL Backend Code if it is MKL + IF(_MKL_VERSION) + SET(BACKEND_CODE backends/intel_mkl/backend.c) ++ ELSE() ++ SET(BACKEND_CODE ${BACKEND_CODE_PARAM}) + ENDIF() + + SET(CMAKE_REQUIRED_LIBRARIES ${__CMAKE_REQUIRED_LIBRARIES}) diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch new file mode 100644 index 00000000000..ce6b2d8b3ab --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch @@ -0,0 +1,6750 @@ +Sync intel with gnu wrapper. The only difference should be in [cz]dot[uc]; without +these wrapper_blas_intel.c won't compile. + +Bart Oldeman +diff -ur flexiblas-3.0.4/src/wrapper_blas_intel.c flexiblas-3.0.4.new/src/wrapper_blas_intel.c +--- flexiblas-3.0.4/src/wrapper_blas_intel.c 2020-10-22 09:07:55.000000000 +0000 ++++ flexiblas-3.0.4.new/src/wrapper_blas_intel.c 2021-10-03 22:52:02.359617295 +0000 +@@ -235,6 +235,8 @@ + return 0; + } + ++static TLS_STORE uint8_t hook_pos_caxpy = 0; ++ + void FC_GLOBAL(caxpy,CAXPY)(blasint* n, float complex* ca, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); +@@ -261,6 +263,40 @@ + + + ++void flexiblas_real_caxpy_(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.caxpy.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_caxpy(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_caxpy_"))); ++ ++ ++void flexiblas_chain_caxpy_(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_caxpy++; ++ if ( hook_pos_caxpy < __flexiblas_hooks->caxpy.nhook ) { ++ fn = __flexiblas_hooks->caxpy.f77_hook_function[hook_pos_caxpy]; ++ } else { ++ hook_pos_caxpy = 0; ++ fn = current_backend->blas.caxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_caxpy(void* n, void* ca, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_caxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ccopy = 0; ++ + void FC_GLOBAL(ccopy,CCOPY)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -287,6 +323,40 @@ + + + ++void flexiblas_real_ccopy_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.ccopy.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ccopy(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_ccopy_"))); ++ ++ ++void flexiblas_chain_ccopy_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_ccopy++; ++ if ( hook_pos_ccopy < __flexiblas_hooks->ccopy.nhook ) { ++ fn = __flexiblas_hooks->ccopy.f77_hook_function[hook_pos_ccopy]; ++ } else { ++ hook_pos_ccopy = 0; ++ fn = current_backend->blas.ccopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ccopy(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_ccopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cdotc = 0; ++ + void FC_GLOBAL(cdotc,CDOTC)( float complex* returnvalue, blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -327,6 +397,56 @@ + + + ++void flexiblas_real_cdotc_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ fn = current_backend->blas.cdotc.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_cdotc( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cdotc_"))); ++ ++ ++void flexiblas_chain_cdotc_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ ++ ++ hook_pos_cdotc++; ++ if ( hook_pos_cdotc < __flexiblas_hooks->cdotc.nhook ) { ++ fn = __flexiblas_hooks->cdotc.f77_hook_function[hook_pos_cdotc]; ++ } else { ++ hook_pos_cdotc = 0; ++ fn = current_backend->blas.cdotc.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_cdotc( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cdotc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cdotu = 0; ++ + void FC_GLOBAL(cdotu,CDOTU)( float complex* returnvalue, blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -367,6 +487,56 @@ + + + ++void flexiblas_real_cdotu_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ fn = current_backend->blas.cdotu.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_cdotu( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cdotu_"))); ++ ++ ++void flexiblas_chain_cdotu_( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ float complex (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ void (*fn_intel) (float complex *ret, void* n, void* cx, void* incx, void* cy, void* incy); ++ float complex ret; ++ ++ ++ ++ hook_pos_cdotu++; ++ if ( hook_pos_cdotu < __flexiblas_hooks->cdotu.nhook ) { ++ fn = __flexiblas_hooks->cdotu.f77_hook_function[hook_pos_cdotu]; ++ } else { ++ hook_pos_cdotu = 0; ++ fn = current_backend->blas.cdotu.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ } ++ ++ *((float complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_cdotu( void * returnvalue, void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cdotu_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgbmv = 0; ++ + void FC_GLOBAL(cgbmv,CGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -393,6 +563,40 @@ + + + ++void flexiblas_real_cgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.cgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_cgbmv_"))); ++ ++ ++void flexiblas_chain_cgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_cgbmv++; ++ if ( hook_pos_cgbmv < __flexiblas_hooks->cgbmv.nhook ) { ++ fn = __flexiblas_hooks->cgbmv.f77_hook_function[hook_pos_cgbmv]; ++ } else { ++ hook_pos_cgbmv = 0; ++ fn = current_backend->blas.cgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_cgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgemm = 0; ++ + void FC_GLOBAL(cgemm,CGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -419,6 +623,40 @@ + + + ++void flexiblas_real_cgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cgemm_"))); ++ ++ ++void flexiblas_chain_cgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cgemm++; ++ if ( hook_pos_cgemm < __flexiblas_hooks->cgemm.nhook ) { ++ fn = __flexiblas_hooks->cgemm.f77_hook_function[hook_pos_cgemm]; ++ } else { ++ hook_pos_cgemm = 0; ++ fn = current_backend->blas.cgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgemv = 0; ++ + void FC_GLOBAL(cgemv,CGEMV)(char* trans, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -445,6 +683,40 @@ + + + ++void flexiblas_real_cgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.cgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_cgemv_"))); ++ ++ ++void flexiblas_chain_cgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_cgemv++; ++ if ( hook_pos_cgemv < __flexiblas_hooks->cgemv.nhook ) { ++ fn = __flexiblas_hooks->cgemv.f77_hook_function[hook_pos_cgemv]; ++ } else { ++ hook_pos_cgemv = 0; ++ fn = current_backend->blas.cgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_cgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgerc = 0; ++ + void FC_GLOBAL(cgerc,CGERC)(blasint* m, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -471,6 +743,40 @@ + + + ++void flexiblas_real_cgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cgerc.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cgerc_"))); ++ ++ ++void flexiblas_chain_cgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cgerc++; ++ if ( hook_pos_cgerc < __flexiblas_hooks->cgerc.nhook ) { ++ fn = __flexiblas_hooks->cgerc.f77_hook_function[hook_pos_cgerc]; ++ } else { ++ hook_pos_cgerc = 0; ++ fn = current_backend->blas.cgerc.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cgerc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgeru = 0; ++ + void FC_GLOBAL(cgeru,CGERU)(blasint* m, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -497,6 +803,40 @@ + + + ++void flexiblas_real_cgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cgeru.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cgeru_"))); ++ ++ ++void flexiblas_chain_cgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cgeru++; ++ if ( hook_pos_cgeru < __flexiblas_hooks->cgeru.nhook ) { ++ fn = __flexiblas_hooks->cgeru.f77_hook_function[hook_pos_cgeru]; ++ } else { ++ hook_pos_cgeru = 0; ++ fn = current_backend->blas.cgeru.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cgeru_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chbmv = 0; ++ + void FC_GLOBAL(chbmv,CHBMV)(char* uplo, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -523,6 +863,40 @@ + + + ++void flexiblas_real_chbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chbmv_"))); ++ ++ ++void flexiblas_chain_chbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chbmv++; ++ if ( hook_pos_chbmv < __flexiblas_hooks->chbmv.nhook ) { ++ fn = __flexiblas_hooks->chbmv.f77_hook_function[hook_pos_chbmv]; ++ } else { ++ hook_pos_chbmv = 0; ++ fn = current_backend->blas.chbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chemm = 0; ++ + void FC_GLOBAL(chemm,CHEMM)(char* side, char* uplo, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -549,6 +923,40 @@ + + + ++void flexiblas_real_chemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.chemm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_chemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_chemm_"))); ++ ++ ++void flexiblas_chain_chemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_chemm++; ++ if ( hook_pos_chemm < __flexiblas_hooks->chemm.nhook ) { ++ fn = __flexiblas_hooks->chemm.f77_hook_function[hook_pos_chemm]; ++ } else { ++ hook_pos_chemm = 0; ++ fn = current_backend->blas.chemm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_chemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_chemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chemv = 0; ++ + void FC_GLOBAL(chemv,CHEMV)(char* uplo, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -575,6 +983,40 @@ + + + ++void flexiblas_real_chemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chemv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chemv_"))); ++ ++ ++void flexiblas_chain_chemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chemv++; ++ if ( hook_pos_chemv < __flexiblas_hooks->chemv.nhook ) { ++ fn = __flexiblas_hooks->chemv.f77_hook_function[hook_pos_chemv]; ++ } else { ++ hook_pos_chemv = 0; ++ fn = current_backend->blas.chemv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher = 0; ++ + void FC_GLOBAL(cher,CHER)(char* uplo, blasint* n, float* alpha, float complex* x, blasint* incx, float complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -601,6 +1043,40 @@ + + + ++void flexiblas_real_cher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.cher.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_cher_"))); ++ ++ ++void flexiblas_chain_cher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_cher++; ++ if ( hook_pos_cher < __flexiblas_hooks->cher.nhook ) { ++ fn = __flexiblas_hooks->cher.f77_hook_function[hook_pos_cher]; ++ } else { ++ hook_pos_cher = 0; ++ fn = current_backend->blas.cher.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_cher_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher2 = 0; ++ + void FC_GLOBAL(cher2,CHER2)(char* uplo, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -627,6 +1103,40 @@ + + + ++void flexiblas_real_cher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.cher2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_cher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_cher2_"))); ++ ++ ++void flexiblas_chain_cher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_cher2++; ++ if ( hook_pos_cher2 < __flexiblas_hooks->cher2.nhook ) { ++ fn = __flexiblas_hooks->cher2.f77_hook_function[hook_pos_cher2]; ++ } else { ++ hook_pos_cher2 = 0; ++ fn = current_backend->blas.cher2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_cher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_cher2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cher2k = 0; ++ + void FC_GLOBAL(cher2k,CHER2K)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -653,6 +1163,40 @@ + + + ++void flexiblas_real_cher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cher2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cher2k_"))); ++ ++ ++void flexiblas_chain_cher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cher2k++; ++ if ( hook_pos_cher2k < __flexiblas_hooks->cher2k.nhook ) { ++ fn = __flexiblas_hooks->cher2k.f77_hook_function[hook_pos_cher2k]; ++ } else { ++ hook_pos_cher2k = 0; ++ fn = current_backend->blas.cher2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cher2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cherk = 0; ++ + void FC_GLOBAL(cherk,CHERK)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float complex* a, blasint* lda, float* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -679,6 +1223,40 @@ + + + ++void flexiblas_real_cherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.cherk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_cherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_cherk_"))); ++ ++ ++void flexiblas_chain_cherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_cherk++; ++ if ( hook_pos_cherk < __flexiblas_hooks->cherk.nhook ) { ++ fn = __flexiblas_hooks->cherk.f77_hook_function[hook_pos_cherk]; ++ } else { ++ hook_pos_cherk = 0; ++ fn = current_backend->blas.cherk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_cherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_cherk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpmv = 0; ++ + void FC_GLOBAL(chpmv,CHPMV)(char* uplo, blasint* n, float complex* alpha, float complex* ap, float complex* x, blasint* incx, float complex* beta, float complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -705,6 +1283,40 @@ + + + ++void flexiblas_real_chpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.chpmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_chpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_chpmv_"))); ++ ++ ++void flexiblas_chain_chpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_chpmv++; ++ if ( hook_pos_chpmv < __flexiblas_hooks->chpmv.nhook ) { ++ fn = __flexiblas_hooks->chpmv.f77_hook_function[hook_pos_chpmv]; ++ } else { ++ hook_pos_chpmv = 0; ++ fn = current_backend->blas.chpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_chpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_chpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpr = 0; ++ + void FC_GLOBAL(chpr,CHPR)(char* uplo, blasint* n, float* alpha, float complex* x, blasint* incx, float complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -731,6 +1343,40 @@ + + + ++void flexiblas_real_chpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.chpr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_chpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_chpr_"))); ++ ++ ++void flexiblas_chain_chpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_chpr++; ++ if ( hook_pos_chpr < __flexiblas_hooks->chpr.nhook ) { ++ fn = __flexiblas_hooks->chpr.f77_hook_function[hook_pos_chpr]; ++ } else { ++ hook_pos_chpr = 0; ++ fn = current_backend->blas.chpr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_chpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_chpr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_chpr2 = 0; ++ + void FC_GLOBAL(chpr2,CHPR2)(char* uplo, blasint* n, float complex* alpha, float complex* x, blasint* incx, float complex* y, blasint* incy, float complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -757,6 +1403,40 @@ + + + ++void flexiblas_real_chpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.chpr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_chpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_chpr2_"))); ++ ++ ++void flexiblas_chain_chpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_chpr2++; ++ if ( hook_pos_chpr2 < __flexiblas_hooks->chpr2.nhook ) { ++ fn = __flexiblas_hooks->chpr2.f77_hook_function[hook_pos_chpr2]; ++ } else { ++ hook_pos_chpr2 = 0; ++ fn = current_backend->blas.chpr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_chpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_chpr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_crotg = 0; ++ + void FC_GLOBAL(crotg,CROTG)(float complex* ca, float complex* cb, float* c, float complex* s) + { + void (*fn) (void* ca, void* cb, void* c, void* s); +@@ -783,6 +1463,40 @@ + + + ++void flexiblas_real_crotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ fn = current_backend->blas.crotg.f77_blas_function; ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_crotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_real_crotg_"))); ++ ++ ++void flexiblas_chain_crotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ ++ ++ hook_pos_crotg++; ++ if ( hook_pos_crotg < __flexiblas_hooks->crotg.nhook ) { ++ fn = __flexiblas_hooks->crotg.f77_hook_function[hook_pos_crotg]; ++ } else { ++ hook_pos_crotg = 0; ++ fn = current_backend->blas.crotg.f77_blas_function; ++ } ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_crotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_chain_crotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cscal = 0; ++ + void FC_GLOBAL(cscal,CSCAL)(blasint* n, float complex* ca, float complex* cx, blasint* incx) + { + void (*fn) (void* n, void* ca, void* cx, void* incx); +@@ -809,6 +1523,40 @@ + + + ++void flexiblas_real_cscal_(void* n, void* ca, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx); ++ ++ fn = current_backend->blas.cscal.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_cscal(void* n, void* ca, void* cx, void* incx) __attribute__((alias("flexiblas_real_cscal_"))); ++ ++ ++void flexiblas_chain_cscal_(void* n, void* ca, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx); ++ ++ ++ ++ hook_pos_cscal++; ++ if ( hook_pos_cscal < __flexiblas_hooks->cscal.nhook ) { ++ fn = __flexiblas_hooks->cscal.f77_hook_function[hook_pos_cscal]; ++ } else { ++ hook_pos_cscal = 0; ++ fn = current_backend->blas.cscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_cscal(void* n, void* ca, void* cx, void* incx) __attribute__((alias("flexiblas_chain_cscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csrot = 0; ++ + void FC_GLOBAL(csrot,CSROT)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy, float* c, float* s) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); +@@ -835,6 +1583,40 @@ + + + ++void flexiblas_real_csrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.csrot.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_csrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_csrot_"))); ++ ++ ++void flexiblas_chain_csrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_csrot++; ++ if ( hook_pos_csrot < __flexiblas_hooks->csrot.nhook ) { ++ fn = __flexiblas_hooks->csrot.f77_hook_function[hook_pos_csrot]; ++ } else { ++ hook_pos_csrot = 0; ++ fn = current_backend->blas.csrot.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_csrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_csrot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csscal = 0; ++ + void FC_GLOBAL(csscal,CSSCAL)(blasint* n, float* sa, float complex* cx, blasint* incx) + { + void (*fn) (void* n, void* sa, void* cx, void* incx); +@@ -861,6 +1643,40 @@ + + + ++void flexiblas_real_csscal_(void* n, void* sa, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* cx, void* incx); ++ ++ fn = current_backend->blas.csscal.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_csscal(void* n, void* sa, void* cx, void* incx) __attribute__((alias("flexiblas_real_csscal_"))); ++ ++ ++void flexiblas_chain_csscal_(void* n, void* sa, void* cx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* cx, void* incx); ++ ++ ++ ++ hook_pos_csscal++; ++ if ( hook_pos_csscal < __flexiblas_hooks->csscal.nhook ) { ++ fn = __flexiblas_hooks->csscal.f77_hook_function[hook_pos_csscal]; ++ } else { ++ hook_pos_csscal = 0; ++ fn = current_backend->blas.csscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) cx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_csscal(void* n, void* sa, void* cx, void* incx) __attribute__((alias("flexiblas_chain_csscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cswap = 0; ++ + void FC_GLOBAL(cswap,CSWAP)(blasint* n, float complex* cx, blasint* incx, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); +@@ -887,6 +1703,40 @@ + + + ++void flexiblas_real_cswap_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ fn = current_backend->blas.cswap.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_cswap(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_real_cswap_"))); ++ ++ ++void flexiblas_chain_cswap_(void* n, void* cx, void* incx, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy); ++ ++ ++ ++ hook_pos_cswap++; ++ if ( hook_pos_cswap < __flexiblas_hooks->cswap.nhook ) { ++ fn = __flexiblas_hooks->cswap.f77_hook_function[hook_pos_cswap]; ++ } else { ++ hook_pos_cswap = 0; ++ fn = current_backend->blas.cswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_cswap(void* n, void* cx, void* incx, void* cy, void* incy) __attribute__((alias("flexiblas_chain_cswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csymm = 0; ++ + void FC_GLOBAL(csymm,CSYMM)(char* side, char* uplo, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -913,6 +1763,40 @@ + + + ++void flexiblas_real_csymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csymm_"))); ++ ++ ++void flexiblas_chain_csymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csymm++; ++ if ( hook_pos_csymm < __flexiblas_hooks->csymm.nhook ) { ++ fn = __flexiblas_hooks->csymm.f77_hook_function[hook_pos_csymm]; ++ } else { ++ hook_pos_csymm = 0; ++ fn = current_backend->blas.csymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csyr2k = 0; ++ + void FC_GLOBAL(csyr2k,CSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -939,6 +1823,40 @@ + + + ++void flexiblas_real_csyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csyr2k_"))); ++ ++ ++void flexiblas_chain_csyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csyr2k++; ++ if ( hook_pos_csyr2k < __flexiblas_hooks->csyr2k.nhook ) { ++ fn = __flexiblas_hooks->csyr2k.f77_hook_function[hook_pos_csyr2k]; ++ } else { ++ hook_pos_csyr2k = 0; ++ fn = current_backend->blas.csyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_csyrk = 0; ++ + void FC_GLOBAL(csyrk,CSYRK)(char* uplo, char* trans, blasint* n, blasint* k, float complex* alpha, float complex* a, blasint* lda, float complex* beta, float complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -965,6 +1883,40 @@ + + + ++void flexiblas_real_csyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.csyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_csyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_csyrk_"))); ++ ++ ++void flexiblas_chain_csyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_csyrk++; ++ if ( hook_pos_csyrk < __flexiblas_hooks->csyrk.nhook ) { ++ fn = __flexiblas_hooks->csyrk.f77_hook_function[hook_pos_csyrk]; ++ } else { ++ hook_pos_csyrk = 0; ++ fn = current_backend->blas.csyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_csyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_csyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctbmv = 0; ++ + void FC_GLOBAL(ctbmv,CTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -991,6 +1943,40 @@ + + + ++void flexiblas_real_ctbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctbmv_"))); ++ ++ ++void flexiblas_chain_ctbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctbmv++; ++ if ( hook_pos_ctbmv < __flexiblas_hooks->ctbmv.nhook ) { ++ fn = __flexiblas_hooks->ctbmv.f77_hook_function[hook_pos_ctbmv]; ++ } else { ++ hook_pos_ctbmv = 0; ++ fn = current_backend->blas.ctbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctbsv = 0; ++ + void FC_GLOBAL(ctbsv,CTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1017,6 +2003,40 @@ + + + ++void flexiblas_real_ctbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctbsv_"))); ++ ++ ++void flexiblas_chain_ctbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctbsv++; ++ if ( hook_pos_ctbsv < __flexiblas_hooks->ctbsv.nhook ) { ++ fn = __flexiblas_hooks->ctbsv.f77_hook_function[hook_pos_ctbsv]; ++ } else { ++ hook_pos_ctbsv = 0; ++ fn = current_backend->blas.ctbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctpmv = 0; ++ + void FC_GLOBAL(ctpmv,CTPMV)(char* uplo, char* trans, char* diag, blasint* n, float complex* ap, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1043,6 +2063,40 @@ + + + ++void flexiblas_real_ctpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ctpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ctpmv_"))); ++ ++ ++void flexiblas_chain_ctpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctpmv++; ++ if ( hook_pos_ctpmv < __flexiblas_hooks->ctpmv.nhook ) { ++ fn = __flexiblas_hooks->ctpmv.f77_hook_function[hook_pos_ctpmv]; ++ } else { ++ hook_pos_ctpmv = 0; ++ fn = current_backend->blas.ctpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctpsv = 0; ++ + void FC_GLOBAL(ctpsv,CTPSV)(char* uplo, char* trans, char* diag, blasint* n, float complex* ap, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1069,6 +2123,40 @@ + + + ++void flexiblas_real_ctpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ctpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ctpsv_"))); ++ ++ ++void flexiblas_chain_ctpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctpsv++; ++ if ( hook_pos_ctpsv < __flexiblas_hooks->ctpsv.nhook ) { ++ fn = __flexiblas_hooks->ctpsv.f77_hook_function[hook_pos_ctpsv]; ++ } else { ++ hook_pos_ctpsv = 0; ++ fn = current_backend->blas.ctpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrmm = 0; ++ + void FC_GLOBAL(ctrmm,CTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1095,6 +2183,40 @@ + + + ++void flexiblas_real_ctrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ctrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ctrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ctrmm_"))); ++ ++ ++void flexiblas_chain_ctrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ctrmm++; ++ if ( hook_pos_ctrmm < __flexiblas_hooks->ctrmm.nhook ) { ++ fn = __flexiblas_hooks->ctrmm.f77_hook_function[hook_pos_ctrmm]; ++ } else { ++ hook_pos_ctrmm = 0; ++ fn = current_backend->blas.ctrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ctrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ctrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrmv = 0; ++ + void FC_GLOBAL(ctrmv,CTRMV)(char* uplo, char* trans, char* diag, blasint* n, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -1121,6 +2243,40 @@ + + + ++void flexiblas_real_ctrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctrmv_"))); ++ ++ ++void flexiblas_chain_ctrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctrmv++; ++ if ( hook_pos_ctrmv < __flexiblas_hooks->ctrmv.nhook ) { ++ fn = __flexiblas_hooks->ctrmv.f77_hook_function[hook_pos_ctrmv]; ++ } else { ++ hook_pos_ctrmv = 0; ++ fn = current_backend->blas.ctrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrsm = 0; ++ + void FC_GLOBAL(ctrsm,CTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1147,6 +2303,40 @@ + + + ++void flexiblas_real_ctrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ctrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ctrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ctrsm_"))); ++ ++ ++void flexiblas_chain_ctrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ctrsm++; ++ if ( hook_pos_ctrsm < __flexiblas_hooks->ctrsm.nhook ) { ++ fn = __flexiblas_hooks->ctrsm.f77_hook_function[hook_pos_ctrsm]; ++ } else { ++ hook_pos_ctrsm = 0; ++ fn = current_backend->blas.ctrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ctrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ctrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ctrsv = 0; ++ + void FC_GLOBAL(ctrsv,CTRSV)(char* uplo, char* trans, char* diag, blasint* n, float complex* a, blasint* lda, float complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -1173,6 +2363,40 @@ + + + ++void flexiblas_real_ctrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ctrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ctrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ctrsv_"))); ++ ++ ++void flexiblas_chain_ctrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ctrsv++; ++ if ( hook_pos_ctrsv < __flexiblas_hooks->ctrsv.nhook ) { ++ fn = __flexiblas_hooks->ctrsv.f77_hook_function[hook_pos_ctrsv]; ++ } else { ++ hook_pos_ctrsv = 0; ++ fn = current_backend->blas.ctrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ctrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ctrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dasum = 0; ++ + double FC_GLOBAL(dasum,DASUM)(blasint* n, double* dx, blasint* incx) + { + double (*fn) (void* n, void* dx, void* incx); +@@ -1200,6 +2424,42 @@ + + + ++double flexiblas_real_dasum_(void* n, void* dx, void* incx) ++{ ++ double (*fn) (void* n, void* dx, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dasum.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dasum(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_real_dasum_"))); ++ ++ ++double flexiblas_chain_dasum_(void* n, void* dx, void* incx) ++{ ++ double (*fn) (void* n, void* dx, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dasum++; ++ if ( hook_pos_dasum < __flexiblas_hooks->dasum.nhook ) { ++ fn = __flexiblas_hooks->dasum.f77_hook_function[hook_pos_dasum]; ++ } else { ++ hook_pos_dasum = 0; ++ fn = current_backend->blas.dasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dasum(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_chain_dasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_daxpy = 0; ++ + void FC_GLOBAL(daxpy,DAXPY)(blasint* n, double* da, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); +@@ -1226,6 +2486,40 @@ + + + ++void flexiblas_real_daxpy_(void* n, void* da, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.daxpy.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_daxpy(void* n, void* da, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_daxpy_"))); ++ ++ ++void flexiblas_chain_daxpy_(void* n, void* da, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_daxpy++; ++ if ( hook_pos_daxpy < __flexiblas_hooks->daxpy.nhook ) { ++ fn = __flexiblas_hooks->daxpy.f77_hook_function[hook_pos_daxpy]; ++ } else { ++ hook_pos_daxpy = 0; ++ fn = current_backend->blas.daxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_daxpy(void* n, void* da, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_daxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dcopy = 0; ++ + void FC_GLOBAL(dcopy,DCOPY)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1252,6 +2546,40 @@ + + + ++void flexiblas_real_dcopy_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.dcopy.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dcopy(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_dcopy_"))); ++ ++ ++void flexiblas_chain_dcopy_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_dcopy++; ++ if ( hook_pos_dcopy < __flexiblas_hooks->dcopy.nhook ) { ++ fn = __flexiblas_hooks->dcopy.f77_hook_function[hook_pos_dcopy]; ++ } else { ++ hook_pos_dcopy = 0; ++ fn = current_backend->blas.dcopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dcopy(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_dcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ddot = 0; ++ + double FC_GLOBAL(ddot,DDOT)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1279,6 +2607,42 @@ + + + ++double flexiblas_real_ddot_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ double ret; ++ ++ fn = current_backend->blas.ddot.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_real_ddot(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_ddot_"))); ++ ++ ++double flexiblas_chain_ddot_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ double (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ double ret; ++ ++ ++ ++ hook_pos_ddot++; ++ if ( hook_pos_ddot < __flexiblas_hooks->ddot.nhook ) { ++ fn = __flexiblas_hooks->ddot.f77_hook_function[hook_pos_ddot]; ++ } else { ++ hook_pos_ddot = 0; ++ fn = current_backend->blas.ddot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_chain_ddot(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_ddot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgbmv = 0; ++ + void FC_GLOBAL(dgbmv,DGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1305,6 +2669,40 @@ + + + ++void flexiblas_real_dgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dgbmv_"))); ++ ++ ++void flexiblas_chain_dgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dgbmv++; ++ if ( hook_pos_dgbmv < __flexiblas_hooks->dgbmv.nhook ) { ++ fn = __flexiblas_hooks->dgbmv.f77_hook_function[hook_pos_dgbmv]; ++ } else { ++ hook_pos_dgbmv = 0; ++ fn = current_backend->blas.dgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgemm = 0; ++ + void FC_GLOBAL(dgemm,DGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1331,6 +2729,40 @@ + + + ++void flexiblas_real_dgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dgemm_"))); ++ ++ ++void flexiblas_chain_dgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dgemm++; ++ if ( hook_pos_dgemm < __flexiblas_hooks->dgemm.nhook ) { ++ fn = __flexiblas_hooks->dgemm.f77_hook_function[hook_pos_dgemm]; ++ } else { ++ hook_pos_dgemm = 0; ++ fn = current_backend->blas.dgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgemv = 0; ++ + void FC_GLOBAL(dgemv,DGEMV)(char* trans, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1357,6 +2789,40 @@ + + + ++void flexiblas_real_dgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dgemv_"))); ++ ++ ++void flexiblas_chain_dgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dgemv++; ++ if ( hook_pos_dgemv < __flexiblas_hooks->dgemv.nhook ) { ++ fn = __flexiblas_hooks->dgemv.f77_hook_function[hook_pos_dgemv]; ++ } else { ++ hook_pos_dgemv = 0; ++ fn = current_backend->blas.dgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dger = 0; ++ + void FC_GLOBAL(dger,DGER)(blasint* m, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -1383,6 +2849,40 @@ + + + ++void flexiblas_real_dger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.dger.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_dger_"))); ++ ++ ++void flexiblas_chain_dger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_dger++; ++ if ( hook_pos_dger < __flexiblas_hooks->dger.nhook ) { ++ fn = __flexiblas_hooks->dger.f77_hook_function[hook_pos_dger]; ++ } else { ++ hook_pos_dger = 0; ++ fn = current_backend->blas.dger.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_dger_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dnrm2 = 0; ++ + double FC_GLOBAL(dnrm2,DNRM2)(blasint* n, double* x, blasint* incx) + { + double (*fn) (void* n, void* x, void* incx); +@@ -1410,6 +2910,42 @@ + + + ++double flexiblas_real_dnrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dnrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_dnrm2_"))); ++ ++ ++double flexiblas_chain_dnrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dnrm2++; ++ if ( hook_pos_dnrm2 < __flexiblas_hooks->dnrm2.nhook ) { ++ fn = __flexiblas_hooks->dnrm2.f77_hook_function[hook_pos_dnrm2]; ++ } else { ++ hook_pos_dnrm2 = 0; ++ fn = current_backend->blas.dnrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_dnrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drot = 0; ++ + void FC_GLOBAL(drot,DROT)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy, double* c, double* s) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); +@@ -1436,6 +2972,40 @@ + + + ++void flexiblas_real_drot_(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.drot.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_drot(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_drot_"))); ++ ++ ++void flexiblas_chain_drot_(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_drot++; ++ if ( hook_pos_drot < __flexiblas_hooks->drot.nhook ) { ++ fn = __flexiblas_hooks->drot.f77_hook_function[hook_pos_drot]; ++ } else { ++ hook_pos_drot = 0; ++ fn = current_backend->blas.drot.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_drot(void* n, void* dx, void* incx, void* dy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_drot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotg = 0; ++ + void FC_GLOBAL(drotg,DROTG)(double* da, double* db, double* c, double* s) + { + void (*fn) (void* da, void* db, void* c, void* s); +@@ -1462,6 +3032,40 @@ + + + ++void flexiblas_real_drotg_(void* da, void* db, void* c, void* s) ++{ ++ void (*fn) (void* da, void* db, void* c, void* s); ++ ++ fn = current_backend->blas.drotg.f77_blas_function; ++ fn((void*) da, (void*) db, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_drotg(void* da, void* db, void* c, void* s) __attribute__((alias("flexiblas_real_drotg_"))); ++ ++ ++void flexiblas_chain_drotg_(void* da, void* db, void* c, void* s) ++{ ++ void (*fn) (void* da, void* db, void* c, void* s); ++ ++ ++ ++ hook_pos_drotg++; ++ if ( hook_pos_drotg < __flexiblas_hooks->drotg.nhook ) { ++ fn = __flexiblas_hooks->drotg.f77_hook_function[hook_pos_drotg]; ++ } else { ++ hook_pos_drotg = 0; ++ fn = current_backend->blas.drotg.f77_blas_function; ++ } ++ fn((void*) da, (void*) db, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_drotg(void* da, void* db, void* c, void* s) __attribute__((alias("flexiblas_chain_drotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotm = 0; ++ + void FC_GLOBAL(drotm,DROTM)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy, double* dparam) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); +@@ -1488,6 +3092,40 @@ + + + ++void flexiblas_real_drotm_(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); ++ ++ fn = current_backend->blas.drotm.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) dparam); ++ ++ return; ++} ++void flexiblas_real_drotm(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) __attribute__((alias("flexiblas_real_drotm_"))); ++ ++ ++void flexiblas_chain_drotm_(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy, void* dparam); ++ ++ ++ ++ hook_pos_drotm++; ++ if ( hook_pos_drotm < __flexiblas_hooks->drotm.nhook ) { ++ fn = __flexiblas_hooks->drotm.f77_hook_function[hook_pos_drotm]; ++ } else { ++ hook_pos_drotm = 0; ++ fn = current_backend->blas.drotm.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy, (void*) dparam); ++ ++ return; ++} ++void flexiblas_chain_drotm(void* n, void* dx, void* incx, void* dy, void* incy, void* dparam) __attribute__((alias("flexiblas_chain_drotm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_drotmg = 0; ++ + void FC_GLOBAL(drotmg,DROTMG)(double* dd1, double* dd2, double* dx1, double* dy1, double* dparam) + { + void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); +@@ -1514,6 +3152,40 @@ + + + ++void flexiblas_real_drotmg_(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) ++{ ++ void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); ++ ++ fn = current_backend->blas.drotmg.f77_blas_function; ++ fn((void*) dd1, (void*) dd2, (void*) dx1, (void*) dy1, (void*) dparam); ++ ++ return; ++} ++void flexiblas_real_drotmg(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) __attribute__((alias("flexiblas_real_drotmg_"))); ++ ++ ++void flexiblas_chain_drotmg_(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) ++{ ++ void (*fn) (void* dd1, void* dd2, void* dx1, void* dy1, void* dparam); ++ ++ ++ ++ hook_pos_drotmg++; ++ if ( hook_pos_drotmg < __flexiblas_hooks->drotmg.nhook ) { ++ fn = __flexiblas_hooks->drotmg.f77_hook_function[hook_pos_drotmg]; ++ } else { ++ hook_pos_drotmg = 0; ++ fn = current_backend->blas.drotmg.f77_blas_function; ++ } ++ fn((void*) dd1, (void*) dd2, (void*) dx1, (void*) dy1, (void*) dparam); ++ ++ return; ++} ++void flexiblas_chain_drotmg(void* dd1, void* dd2, void* dx1, void* dy1, void* dparam) __attribute__((alias("flexiblas_chain_drotmg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsbmv = 0; ++ + void FC_GLOBAL(dsbmv,DSBMV)(char* uplo, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1540,6 +3212,40 @@ + + + ++void flexiblas_real_dsbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dsbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dsbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dsbmv_"))); ++ ++ ++void flexiblas_chain_dsbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dsbmv++; ++ if ( hook_pos_dsbmv < __flexiblas_hooks->dsbmv.nhook ) { ++ fn = __flexiblas_hooks->dsbmv.f77_hook_function[hook_pos_dsbmv]; ++ } else { ++ hook_pos_dsbmv = 0; ++ fn = current_backend->blas.dsbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dsbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dsbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dscal = 0; ++ + void FC_GLOBAL(dscal,DSCAL)(blasint* n, double* da, double* dx, blasint* incx) + { + void (*fn) (void* n, void* da, void* dx, void* incx); +@@ -1566,6 +3272,40 @@ + + + ++void flexiblas_real_dscal_(void* n, void* da, void* dx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx); ++ ++ fn = current_backend->blas.dscal.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dscal(void* n, void* da, void* dx, void* incx) __attribute__((alias("flexiblas_real_dscal_"))); ++ ++ ++void flexiblas_chain_dscal_(void* n, void* da, void* dx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx); ++ ++ ++ ++ hook_pos_dscal++; ++ if ( hook_pos_dscal < __flexiblas_hooks->dscal.nhook ) { ++ fn = __flexiblas_hooks->dscal.f77_hook_function[hook_pos_dscal]; ++ } else { ++ hook_pos_dscal = 0; ++ fn = current_backend->blas.dscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dscal(void* n, void* da, void* dx, void* incx) __attribute__((alias("flexiblas_chain_dscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsdot = 0; ++ + double FC_GLOBAL(dsdot,DSDOT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -1593,6 +3333,42 @@ + + + ++double flexiblas_real_dsdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ double ret; ++ ++ fn = current_backend->blas.dsdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_real_dsdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_dsdot_"))); ++ ++ ++double flexiblas_chain_dsdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ double (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ double ret; ++ ++ ++ ++ hook_pos_dsdot++; ++ if ( hook_pos_dsdot < __flexiblas_hooks->dsdot.nhook ) { ++ fn = __flexiblas_hooks->dsdot.f77_hook_function[hook_pos_dsdot]; ++ } else { ++ hook_pos_dsdot = 0; ++ fn = current_backend->blas.dsdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++double flexiblas_chain_dsdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_dsdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspmv = 0; ++ + void FC_GLOBAL(dspmv,DSPMV)(char* uplo, blasint* n, double* alpha, double* ap, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1619,6 +3395,40 @@ + + + ++void flexiblas_real_dspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dspmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dspmv_"))); ++ ++ ++void flexiblas_chain_dspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dspmv++; ++ if ( hook_pos_dspmv < __flexiblas_hooks->dspmv.nhook ) { ++ fn = __flexiblas_hooks->dspmv.f77_hook_function[hook_pos_dspmv]; ++ } else { ++ hook_pos_dspmv = 0; ++ fn = current_backend->blas.dspmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dspmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspr = 0; ++ + void FC_GLOBAL(dspr,DSPR)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -1645,6 +3455,40 @@ + + + ++void flexiblas_real_dspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.dspr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_dspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_dspr_"))); ++ ++ ++void flexiblas_chain_dspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_dspr++; ++ if ( hook_pos_dspr < __flexiblas_hooks->dspr.nhook ) { ++ fn = __flexiblas_hooks->dspr.f77_hook_function[hook_pos_dspr]; ++ } else { ++ hook_pos_dspr = 0; ++ fn = current_backend->blas.dspr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_dspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_dspr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dspr2 = 0; ++ + void FC_GLOBAL(dspr2,DSPR2)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -1671,6 +3515,40 @@ + + + ++void flexiblas_real_dspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.dspr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_dspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_dspr2_"))); ++ ++ ++void flexiblas_chain_dspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_dspr2++; ++ if ( hook_pos_dspr2 < __flexiblas_hooks->dspr2.nhook ) { ++ fn = __flexiblas_hooks->dspr2.f77_hook_function[hook_pos_dspr2]; ++ } else { ++ hook_pos_dspr2 = 0; ++ fn = current_backend->blas.dspr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_dspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_dspr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dswap = 0; ++ + void FC_GLOBAL(dswap,DSWAP)(blasint* n, double* dx, blasint* incx, double* dy, blasint* incy) + { + void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); +@@ -1697,6 +3575,40 @@ + + + ++void flexiblas_real_dswap_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ fn = current_backend->blas.dswap.f77_blas_function; ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dswap(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_real_dswap_"))); ++ ++ ++void flexiblas_chain_dswap_(void* n, void* dx, void* incx, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* dx, void* incx, void* dy, void* incy); ++ ++ ++ ++ hook_pos_dswap++; ++ if ( hook_pos_dswap < __flexiblas_hooks->dswap.nhook ) { ++ fn = __flexiblas_hooks->dswap.f77_hook_function[hook_pos_dswap]; ++ } else { ++ hook_pos_dswap = 0; ++ fn = current_backend->blas.dswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) dx, (void*) incx, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dswap(void* n, void* dx, void* incx, void* dy, void* incy) __attribute__((alias("flexiblas_chain_dswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsymm = 0; ++ + void FC_GLOBAL(dsymm,DSYMM)(char* side, char* uplo, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1723,6 +3635,40 @@ + + + ++void flexiblas_real_dsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsymm_"))); ++ ++ ++void flexiblas_chain_dsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsymm++; ++ if ( hook_pos_dsymm < __flexiblas_hooks->dsymm.nhook ) { ++ fn = __flexiblas_hooks->dsymm.f77_hook_function[hook_pos_dsymm]; ++ } else { ++ hook_pos_dsymm = 0; ++ fn = current_backend->blas.dsymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsymv = 0; ++ + void FC_GLOBAL(dsymv,DSYMV)(char* uplo, blasint* n, double* alpha, double* a, blasint* lda, double* x, blasint* incx, double* beta, double* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -1749,6 +3695,40 @@ + + + ++void flexiblas_real_dsymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.dsymv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_dsymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_dsymv_"))); ++ ++ ++void flexiblas_chain_dsymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_dsymv++; ++ if ( hook_pos_dsymv < __flexiblas_hooks->dsymv.nhook ) { ++ fn = __flexiblas_hooks->dsymv.f77_hook_function[hook_pos_dsymv]; ++ } else { ++ hook_pos_dsymv = 0; ++ fn = current_backend->blas.dsymv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_dsymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_dsymv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr = 0; ++ + void FC_GLOBAL(dsyr,DSYR)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -1775,6 +3755,40 @@ + + + ++void flexiblas_real_dsyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.dsyr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dsyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_dsyr_"))); ++ ++ ++void flexiblas_chain_dsyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_dsyr++; ++ if ( hook_pos_dsyr < __flexiblas_hooks->dsyr.nhook ) { ++ fn = __flexiblas_hooks->dsyr.f77_hook_function[hook_pos_dsyr]; ++ } else { ++ hook_pos_dsyr = 0; ++ fn = current_backend->blas.dsyr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dsyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_dsyr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr2 = 0; ++ + void FC_GLOBAL(dsyr2,DSYR2)(char* uplo, blasint* n, double* alpha, double* x, blasint* incx, double* y, blasint* incy, double* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -1801,6 +3815,40 @@ + + + ++void flexiblas_real_dsyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.dsyr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_dsyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_dsyr2_"))); ++ ++ ++void flexiblas_chain_dsyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_dsyr2++; ++ if ( hook_pos_dsyr2 < __flexiblas_hooks->dsyr2.nhook ) { ++ fn = __flexiblas_hooks->dsyr2.f77_hook_function[hook_pos_dsyr2]; ++ } else { ++ hook_pos_dsyr2 = 0; ++ fn = current_backend->blas.dsyr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_dsyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_dsyr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyr2k = 0; ++ + void FC_GLOBAL(dsyr2k,DSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* b, blasint* ldb, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -1827,6 +3875,40 @@ + + + ++void flexiblas_real_dsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsyr2k_"))); ++ ++ ++void flexiblas_chain_dsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsyr2k++; ++ if ( hook_pos_dsyr2k < __flexiblas_hooks->dsyr2k.nhook ) { ++ fn = __flexiblas_hooks->dsyr2k.f77_hook_function[hook_pos_dsyr2k]; ++ } else { ++ hook_pos_dsyr2k = 0; ++ fn = current_backend->blas.dsyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dsyrk = 0; ++ + void FC_GLOBAL(dsyrk,DSYRK)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double* a, blasint* lda, double* beta, double* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -1853,6 +3935,40 @@ + + + ++void flexiblas_real_dsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.dsyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_dsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_dsyrk_"))); ++ ++ ++void flexiblas_chain_dsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_dsyrk++; ++ if ( hook_pos_dsyrk < __flexiblas_hooks->dsyrk.nhook ) { ++ fn = __flexiblas_hooks->dsyrk.f77_hook_function[hook_pos_dsyrk]; ++ } else { ++ hook_pos_dsyrk = 0; ++ fn = current_backend->blas.dsyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_dsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_dsyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtbmv = 0; ++ + void FC_GLOBAL(dtbmv,DTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1879,6 +3995,40 @@ + + + ++void flexiblas_real_dtbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtbmv_"))); ++ ++ ++void flexiblas_chain_dtbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtbmv++; ++ if ( hook_pos_dtbmv < __flexiblas_hooks->dtbmv.nhook ) { ++ fn = __flexiblas_hooks->dtbmv.f77_hook_function[hook_pos_dtbmv]; ++ } else { ++ hook_pos_dtbmv = 0; ++ fn = current_backend->blas.dtbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtbsv = 0; ++ + void FC_GLOBAL(dtbsv,DTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -1905,6 +4055,40 @@ + + + ++void flexiblas_real_dtbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtbsv_"))); ++ ++ ++void flexiblas_chain_dtbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtbsv++; ++ if ( hook_pos_dtbsv < __flexiblas_hooks->dtbsv.nhook ) { ++ fn = __flexiblas_hooks->dtbsv.f77_hook_function[hook_pos_dtbsv]; ++ } else { ++ hook_pos_dtbsv = 0; ++ fn = current_backend->blas.dtbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtpmv = 0; ++ + void FC_GLOBAL(dtpmv,DTPMV)(char* uplo, char* trans, char* diag, blasint* n, double* ap, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1931,6 +4115,40 @@ + + + ++void flexiblas_real_dtpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.dtpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_dtpmv_"))); ++ ++ ++void flexiblas_chain_dtpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtpmv++; ++ if ( hook_pos_dtpmv < __flexiblas_hooks->dtpmv.nhook ) { ++ fn = __flexiblas_hooks->dtpmv.f77_hook_function[hook_pos_dtpmv]; ++ } else { ++ hook_pos_dtpmv = 0; ++ fn = current_backend->blas.dtpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtpsv = 0; ++ + void FC_GLOBAL(dtpsv,DTPSV)(char* uplo, char* trans, char* diag, blasint* n, double* ap, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -1957,6 +4175,40 @@ + + + ++void flexiblas_real_dtpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.dtpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_dtpsv_"))); ++ ++ ++void flexiblas_chain_dtpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtpsv++; ++ if ( hook_pos_dtpsv < __flexiblas_hooks->dtpsv.nhook ) { ++ fn = __flexiblas_hooks->dtpsv.f77_hook_function[hook_pos_dtpsv]; ++ } else { ++ hook_pos_dtpsv = 0; ++ fn = current_backend->blas.dtpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrmm = 0; ++ + void FC_GLOBAL(dtrmm,DTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -1983,6 +4235,40 @@ + + + ++void flexiblas_real_dtrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.dtrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dtrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_dtrmm_"))); ++ ++ ++void flexiblas_chain_dtrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dtrmm++; ++ if ( hook_pos_dtrmm < __flexiblas_hooks->dtrmm.nhook ) { ++ fn = __flexiblas_hooks->dtrmm.f77_hook_function[hook_pos_dtrmm]; ++ } else { ++ hook_pos_dtrmm = 0; ++ fn = current_backend->blas.dtrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dtrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dtrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrmv = 0; ++ + void FC_GLOBAL(dtrmv,DTRMV)(char* uplo, char* trans, char* diag, blasint* n, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -2009,6 +4295,40 @@ + + + ++void flexiblas_real_dtrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtrmv_"))); ++ ++ ++void flexiblas_chain_dtrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtrmv++; ++ if ( hook_pos_dtrmv < __flexiblas_hooks->dtrmv.nhook ) { ++ fn = __flexiblas_hooks->dtrmv.f77_hook_function[hook_pos_dtrmv]; ++ } else { ++ hook_pos_dtrmv = 0; ++ fn = current_backend->blas.dtrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrsm = 0; ++ + void FC_GLOBAL(dtrsm,DTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -2035,6 +4355,40 @@ + + + ++void flexiblas_real_dtrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.dtrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dtrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_dtrsm_"))); ++ ++ ++void flexiblas_chain_dtrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dtrsm++; ++ if ( hook_pos_dtrsm < __flexiblas_hooks->dtrsm.nhook ) { ++ fn = __flexiblas_hooks->dtrsm.f77_hook_function[hook_pos_dtrsm]; ++ } else { ++ hook_pos_dtrsm = 0; ++ fn = current_backend->blas.dtrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dtrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dtrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dtrsv = 0; ++ + void FC_GLOBAL(dtrsv,DTRSV)(char* uplo, char* trans, char* diag, blasint* n, double* a, blasint* lda, double* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -2061,6 +4415,40 @@ + + + ++void flexiblas_real_dtrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.dtrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_dtrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_dtrsv_"))); ++ ++ ++void flexiblas_chain_dtrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_dtrsv++; ++ if ( hook_pos_dtrsv < __flexiblas_hooks->dtrsv.nhook ) { ++ fn = __flexiblas_hooks->dtrsv.f77_hook_function[hook_pos_dtrsv]; ++ } else { ++ hook_pos_dtrsv = 0; ++ fn = current_backend->blas.dtrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_dtrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_dtrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dzasum = 0; ++ + double FC_GLOBAL(dzasum,DZASUM)(blasint* n, double complex* zx, blasint* incx) + { + double (*fn) (void* n, void* zx, void* incx); +@@ -2088,6 +4476,42 @@ + + + ++double flexiblas_real_dzasum_(void* n, void* zx, void* incx) ++{ ++ double (*fn) (void* n, void* zx, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dzasum.f77_blas_function; ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dzasum(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_real_dzasum_"))); ++ ++ ++double flexiblas_chain_dzasum_(void* n, void* zx, void* incx) ++{ ++ double (*fn) (void* n, void* zx, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dzasum++; ++ if ( hook_pos_dzasum < __flexiblas_hooks->dzasum.nhook ) { ++ fn = __flexiblas_hooks->dzasum.f77_hook_function[hook_pos_dzasum]; ++ } else { ++ hook_pos_dzasum = 0; ++ fn = current_backend->blas.dzasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dzasum(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_chain_dzasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dznrm2 = 0; ++ + double FC_GLOBAL(dznrm2,DZNRM2)(blasint* n, double complex* x, blasint* incx) + { + double (*fn) (void* n, void* x, void* incx); +@@ -2115,6 +4539,42 @@ + + + ++double flexiblas_real_dznrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ fn = current_backend->blas.dznrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_real_dznrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_dznrm2_"))); ++ ++ ++double flexiblas_chain_dznrm2_(void* n, void* x, void* incx) ++{ ++ double (*fn) (void* n, void* x, void* incx); ++ double ret; ++ ++ ++ ++ hook_pos_dznrm2++; ++ if ( hook_pos_dznrm2 < __flexiblas_hooks->dznrm2.nhook ) { ++ fn = __flexiblas_hooks->dznrm2.f77_hook_function[hook_pos_dznrm2]; ++ } else { ++ hook_pos_dznrm2 = 0; ++ fn = current_backend->blas.dznrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++double flexiblas_chain_dznrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_dznrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_icamax = 0; ++ + int FC_GLOBAL(icamax,ICAMAX)(blasint* n, float complex* cx, blasint* incx) + { + blasint (*fn) (void* n, void* cx, void* incx); +@@ -2142,6 +4602,42 @@ + + + ++blasint flexiblas_real_icamax_(void* n, void* cx, void* incx) ++{ ++ blasint (*fn) (void* n, void* cx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.icamax.f77_blas_function; ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_icamax(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_real_icamax_"))); ++ ++ ++blasint flexiblas_chain_icamax_(void* n, void* cx, void* incx) ++{ ++ blasint (*fn) (void* n, void* cx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_icamax++; ++ if ( hook_pos_icamax < __flexiblas_hooks->icamax.nhook ) { ++ fn = __flexiblas_hooks->icamax.f77_hook_function[hook_pos_icamax]; ++ } else { ++ hook_pos_icamax = 0; ++ fn = current_backend->blas.icamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_icamax(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_chain_icamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_idamax = 0; ++ + int FC_GLOBAL(idamax,IDAMAX)(blasint* n, double* dx, blasint* incx) + { + blasint (*fn) (void* n, void* dx, void* incx); +@@ -2169,6 +4665,42 @@ + + + ++blasint flexiblas_real_idamax_(void* n, void* dx, void* incx) ++{ ++ blasint (*fn) (void* n, void* dx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.idamax.f77_blas_function; ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_idamax(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_real_idamax_"))); ++ ++ ++blasint flexiblas_chain_idamax_(void* n, void* dx, void* incx) ++{ ++ blasint (*fn) (void* n, void* dx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_idamax++; ++ if ( hook_pos_idamax < __flexiblas_hooks->idamax.nhook ) { ++ fn = __flexiblas_hooks->idamax.f77_hook_function[hook_pos_idamax]; ++ } else { ++ hook_pos_idamax = 0; ++ fn = current_backend->blas.idamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) dx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_idamax(void* n, void* dx, void* incx) __attribute__((alias("flexiblas_chain_idamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_isamax = 0; ++ + int FC_GLOBAL(isamax,ISAMAX)(blasint* n, float* sx, blasint* incx) + { + blasint (*fn) (void* n, void* sx, void* incx); +@@ -2196,6 +4728,42 @@ + + + ++blasint flexiblas_real_isamax_(void* n, void* sx, void* incx) ++{ ++ blasint (*fn) (void* n, void* sx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.isamax.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_isamax(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_real_isamax_"))); ++ ++ ++blasint flexiblas_chain_isamax_(void* n, void* sx, void* incx) ++{ ++ blasint (*fn) (void* n, void* sx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_isamax++; ++ if ( hook_pos_isamax < __flexiblas_hooks->isamax.nhook ) { ++ fn = __flexiblas_hooks->isamax.f77_hook_function[hook_pos_isamax]; ++ } else { ++ hook_pos_isamax = 0; ++ fn = current_backend->blas.isamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_isamax(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_chain_isamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_izamax = 0; ++ + int FC_GLOBAL(izamax,IZAMAX)(blasint* n, double complex* zx, blasint* incx) + { + blasint (*fn) (void* n, void* zx, void* incx); +@@ -2223,6 +4791,42 @@ + + + ++blasint flexiblas_real_izamax_(void* n, void* zx, void* incx) ++{ ++ blasint (*fn) (void* n, void* zx, void* incx); ++ blasint ret; ++ ++ fn = current_backend->blas.izamax.f77_blas_function; ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_real_izamax(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_real_izamax_"))); ++ ++ ++blasint flexiblas_chain_izamax_(void* n, void* zx, void* incx) ++{ ++ blasint (*fn) (void* n, void* zx, void* incx); ++ blasint ret; ++ ++ ++ ++ hook_pos_izamax++; ++ if ( hook_pos_izamax < __flexiblas_hooks->izamax.nhook ) { ++ fn = __flexiblas_hooks->izamax.f77_hook_function[hook_pos_izamax]; ++ } else { ++ hook_pos_izamax = 0; ++ fn = current_backend->blas.izamax.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) zx, (void*) incx); ++ ++ return ret; ++} ++blasint flexiblas_chain_izamax(void* n, void* zx, void* incx) __attribute__((alias("flexiblas_chain_izamax_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sasum = 0; ++ + float FC_GLOBAL(sasum,SASUM)(blasint* n, float* sx, blasint* incx) + { + float (*fn) (void* n, void* sx, void* incx); +@@ -2250,6 +4854,42 @@ + + + ++float flexiblas_real_sasum_(void* n, void* sx, void* incx) ++{ ++ float (*fn) (void* n, void* sx, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.sasum.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_sasum(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_real_sasum_"))); ++ ++ ++float flexiblas_chain_sasum_(void* n, void* sx, void* incx) ++{ ++ float (*fn) (void* n, void* sx, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_sasum++; ++ if ( hook_pos_sasum < __flexiblas_hooks->sasum.nhook ) { ++ fn = __flexiblas_hooks->sasum.f77_hook_function[hook_pos_sasum]; ++ } else { ++ hook_pos_sasum = 0; ++ fn = current_backend->blas.sasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_sasum(void* n, void* sx, void* incx) __attribute__((alias("flexiblas_chain_sasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_saxpy = 0; ++ + void FC_GLOBAL(saxpy,SAXPY)(blasint* n, float* sa, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); +@@ -2276,6 +4916,40 @@ + + + ++void flexiblas_real_saxpy_(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.saxpy.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_saxpy(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_saxpy_"))); ++ ++ ++void flexiblas_chain_saxpy_(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_saxpy++; ++ if ( hook_pos_saxpy < __flexiblas_hooks->saxpy.nhook ) { ++ fn = __flexiblas_hooks->saxpy.f77_hook_function[hook_pos_saxpy]; ++ } else { ++ hook_pos_saxpy = 0; ++ fn = current_backend->blas.saxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_saxpy(void* n, void* sa, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_saxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scasum = 0; ++ + float FC_GLOBAL(scasum,SCASUM)(blasint* n, float complex* cx, blasint* incx) + { + float (*fn) (void* n, void* cx, void* incx); +@@ -2303,6 +4977,42 @@ + + + ++float flexiblas_real_scasum_(void* n, void* cx, void* incx) ++{ ++ float (*fn) (void* n, void* cx, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.scasum.f77_blas_function; ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_scasum(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_real_scasum_"))); ++ ++ ++float flexiblas_chain_scasum_(void* n, void* cx, void* incx) ++{ ++ float (*fn) (void* n, void* cx, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_scasum++; ++ if ( hook_pos_scasum < __flexiblas_hooks->scasum.nhook ) { ++ fn = __flexiblas_hooks->scasum.f77_hook_function[hook_pos_scasum]; ++ } else { ++ hook_pos_scasum = 0; ++ fn = current_backend->blas.scasum.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) cx, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_scasum(void* n, void* cx, void* incx) __attribute__((alias("flexiblas_chain_scasum_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scnrm2 = 0; ++ + float FC_GLOBAL(scnrm2,SCNRM2)(blasint* n, float complex* x, blasint* incx) + { + float (*fn) (void* n, void* x, void* incx); +@@ -2330,6 +5040,42 @@ + + + ++float flexiblas_real_scnrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.scnrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_scnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_scnrm2_"))); ++ ++ ++float flexiblas_chain_scnrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_scnrm2++; ++ if ( hook_pos_scnrm2 < __flexiblas_hooks->scnrm2.nhook ) { ++ fn = __flexiblas_hooks->scnrm2.f77_hook_function[hook_pos_scnrm2]; ++ } else { ++ hook_pos_scnrm2 = 0; ++ fn = current_backend->blas.scnrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_scnrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_scnrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_scopy = 0; ++ + void FC_GLOBAL(scopy,SCOPY)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2356,6 +5102,40 @@ + + + ++void flexiblas_real_scopy_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.scopy.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_scopy(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_scopy_"))); ++ ++ ++void flexiblas_chain_scopy_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_scopy++; ++ if ( hook_pos_scopy < __flexiblas_hooks->scopy.nhook ) { ++ fn = __flexiblas_hooks->scopy.f77_hook_function[hook_pos_scopy]; ++ } else { ++ hook_pos_scopy = 0; ++ fn = current_backend->blas.scopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_scopy(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_scopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sdot = 0; ++ + float FC_GLOBAL(sdot,SDOT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2383,6 +5163,42 @@ + + + ++float flexiblas_real_sdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ fn = current_backend->blas.sdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_real_sdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sdot_"))); ++ ++ ++float flexiblas_chain_sdot_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ ++ ++ hook_pos_sdot++; ++ if ( hook_pos_sdot < __flexiblas_hooks->sdot.nhook ) { ++ fn = __flexiblas_hooks->sdot.f77_hook_function[hook_pos_sdot]; ++ } else { ++ hook_pos_sdot = 0; ++ fn = current_backend->blas.sdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_chain_sdot(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sdsdot = 0; ++ + float FC_GLOBAL(sdsdot,SDSDOT)(blasint* n, float* sb, float* sx, blasint* incx, float* sy, blasint* incy) + { + float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); +@@ -2410,6 +5226,42 @@ + + + ++float flexiblas_real_sdsdot_(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ fn = current_backend->blas.sdsdot.f77_blas_function; ++ ret = fn((void*) n, (void*) sb, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_real_sdsdot(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sdsdot_"))); ++ ++ ++float flexiblas_chain_sdsdot_(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) ++{ ++ float (*fn) (void* n, void* sb, void* sx, void* incx, void* sy, void* incy); ++ float ret; ++ ++ ++ ++ hook_pos_sdsdot++; ++ if ( hook_pos_sdsdot < __flexiblas_hooks->sdsdot.nhook ) { ++ fn = __flexiblas_hooks->sdsdot.f77_hook_function[hook_pos_sdsdot]; ++ } else { ++ hook_pos_sdsdot = 0; ++ fn = current_backend->blas.sdsdot.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) sb, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return ret; ++} ++float flexiblas_chain_sdsdot(void* n, void* sb, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sdsdot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgbmv = 0; ++ + void FC_GLOBAL(sgbmv,SGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2436,6 +5288,40 @@ + + + ++void flexiblas_real_sgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sgbmv_"))); ++ ++ ++void flexiblas_chain_sgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sgbmv++; ++ if ( hook_pos_sgbmv < __flexiblas_hooks->sgbmv.nhook ) { ++ fn = __flexiblas_hooks->sgbmv.f77_hook_function[hook_pos_sgbmv]; ++ } else { ++ hook_pos_sgbmv = 0; ++ fn = current_backend->blas.sgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgemm = 0; ++ + void FC_GLOBAL(sgemm,SGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2462,6 +5348,40 @@ + + + ++void flexiblas_real_sgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.sgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_sgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_sgemm_"))); ++ ++ ++void flexiblas_chain_sgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_sgemm++; ++ if ( hook_pos_sgemm < __flexiblas_hooks->sgemm.nhook ) { ++ fn = __flexiblas_hooks->sgemm.f77_hook_function[hook_pos_sgemm]; ++ } else { ++ hook_pos_sgemm = 0; ++ fn = current_backend->blas.sgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_sgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_sgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgemv = 0; ++ + void FC_GLOBAL(sgemv,SGEMV)(char* trans, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2488,6 +5408,40 @@ + + + ++void flexiblas_real_sgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sgemv_"))); ++ ++ ++void flexiblas_chain_sgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sgemv++; ++ if ( hook_pos_sgemv < __flexiblas_hooks->sgemv.nhook ) { ++ fn = __flexiblas_hooks->sgemv.f77_hook_function[hook_pos_sgemv]; ++ } else { ++ hook_pos_sgemv = 0; ++ fn = current_backend->blas.sgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sger = 0; ++ + void FC_GLOBAL(sger,SGER)(blasint* m, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -2514,6 +5468,40 @@ + + + ++void flexiblas_real_sger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.sger.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_sger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_sger_"))); ++ ++ ++void flexiblas_chain_sger_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_sger++; ++ if ( hook_pos_sger < __flexiblas_hooks->sger.nhook ) { ++ fn = __flexiblas_hooks->sger.f77_hook_function[hook_pos_sger]; ++ } else { ++ hook_pos_sger = 0; ++ fn = current_backend->blas.sger.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_sger(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_sger_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_snrm2 = 0; ++ + float FC_GLOBAL(snrm2,SNRM2)(blasint* n, float* x, blasint* incx) + { + float (*fn) (void* n, void* x, void* incx); +@@ -2541,6 +5529,42 @@ + + + ++float flexiblas_real_snrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ fn = current_backend->blas.snrm2.f77_blas_function; ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_real_snrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_real_snrm2_"))); ++ ++ ++float flexiblas_chain_snrm2_(void* n, void* x, void* incx) ++{ ++ float (*fn) (void* n, void* x, void* incx); ++ float ret; ++ ++ ++ ++ hook_pos_snrm2++; ++ if ( hook_pos_snrm2 < __flexiblas_hooks->snrm2.nhook ) { ++ fn = __flexiblas_hooks->snrm2.f77_hook_function[hook_pos_snrm2]; ++ } else { ++ hook_pos_snrm2 = 0; ++ fn = current_backend->blas.snrm2.f77_blas_function; ++ } ++ ret = fn((void*) n, (void*) x, (void*) incx); ++ ++ return ret; ++} ++float flexiblas_chain_snrm2(void* n, void* x, void* incx) __attribute__((alias("flexiblas_chain_snrm2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srot = 0; ++ + void FC_GLOBAL(srot,SROT)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy, float* c, float* s) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); +@@ -2567,6 +5591,40 @@ + + + ++void flexiblas_real_srot_(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.srot.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_srot(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_srot_"))); ++ ++ ++void flexiblas_chain_srot_(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_srot++; ++ if ( hook_pos_srot < __flexiblas_hooks->srot.nhook ) { ++ fn = __flexiblas_hooks->srot.f77_hook_function[hook_pos_srot]; ++ } else { ++ hook_pos_srot = 0; ++ fn = current_backend->blas.srot.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_srot(void* n, void* sx, void* incx, void* sy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_srot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotg = 0; ++ + void FC_GLOBAL(srotg,SROTG)(float* sa, float* sb, float* c, float* s) + { + void (*fn) (void* sa, void* sb, void* c, void* s); +@@ -2593,6 +5651,40 @@ + + + ++void flexiblas_real_srotg_(void* sa, void* sb, void* c, void* s) ++{ ++ void (*fn) (void* sa, void* sb, void* c, void* s); ++ ++ fn = current_backend->blas.srotg.f77_blas_function; ++ fn((void*) sa, (void*) sb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_srotg(void* sa, void* sb, void* c, void* s) __attribute__((alias("flexiblas_real_srotg_"))); ++ ++ ++void flexiblas_chain_srotg_(void* sa, void* sb, void* c, void* s) ++{ ++ void (*fn) (void* sa, void* sb, void* c, void* s); ++ ++ ++ ++ hook_pos_srotg++; ++ if ( hook_pos_srotg < __flexiblas_hooks->srotg.nhook ) { ++ fn = __flexiblas_hooks->srotg.f77_hook_function[hook_pos_srotg]; ++ } else { ++ hook_pos_srotg = 0; ++ fn = current_backend->blas.srotg.f77_blas_function; ++ } ++ fn((void*) sa, (void*) sb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_srotg(void* sa, void* sb, void* c, void* s) __attribute__((alias("flexiblas_chain_srotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotm = 0; ++ + void FC_GLOBAL(srotm,SROTM)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy, float* sparam) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); +@@ -2619,6 +5711,40 @@ + + + ++void flexiblas_real_srotm_(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); ++ ++ fn = current_backend->blas.srotm.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) sparam); ++ ++ return; ++} ++void flexiblas_real_srotm(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) __attribute__((alias("flexiblas_real_srotm_"))); ++ ++ ++void flexiblas_chain_srotm_(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy, void* sparam); ++ ++ ++ ++ hook_pos_srotm++; ++ if ( hook_pos_srotm < __flexiblas_hooks->srotm.nhook ) { ++ fn = __flexiblas_hooks->srotm.f77_hook_function[hook_pos_srotm]; ++ } else { ++ hook_pos_srotm = 0; ++ fn = current_backend->blas.srotm.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy, (void*) sparam); ++ ++ return; ++} ++void flexiblas_chain_srotm(void* n, void* sx, void* incx, void* sy, void* incy, void* sparam) __attribute__((alias("flexiblas_chain_srotm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_srotmg = 0; ++ + void FC_GLOBAL(srotmg,SROTMG)(float* sd1, float* sd2, float* sx1, float* sy1, float* sparam) + { + void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); +@@ -2645,6 +5771,40 @@ + + + ++void flexiblas_real_srotmg_(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) ++{ ++ void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); ++ ++ fn = current_backend->blas.srotmg.f77_blas_function; ++ fn((void*) sd1, (void*) sd2, (void*) sx1, (void*) sy1, (void*) sparam); ++ ++ return; ++} ++void flexiblas_real_srotmg(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) __attribute__((alias("flexiblas_real_srotmg_"))); ++ ++ ++void flexiblas_chain_srotmg_(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) ++{ ++ void (*fn) (void* sd1, void* sd2, void* sx1, void* sy1, void* sparam); ++ ++ ++ ++ hook_pos_srotmg++; ++ if ( hook_pos_srotmg < __flexiblas_hooks->srotmg.nhook ) { ++ fn = __flexiblas_hooks->srotmg.f77_hook_function[hook_pos_srotmg]; ++ } else { ++ hook_pos_srotmg = 0; ++ fn = current_backend->blas.srotmg.f77_blas_function; ++ } ++ fn((void*) sd1, (void*) sd2, (void*) sx1, (void*) sy1, (void*) sparam); ++ ++ return; ++} ++void flexiblas_chain_srotmg(void* sd1, void* sd2, void* sx1, void* sy1, void* sparam) __attribute__((alias("flexiblas_chain_srotmg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssbmv = 0; ++ + void FC_GLOBAL(ssbmv,SSBMV)(char* uplo, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2671,6 +5831,40 @@ + + + ++void flexiblas_real_ssbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.ssbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ssbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_ssbmv_"))); ++ ++ ++void flexiblas_chain_ssbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_ssbmv++; ++ if ( hook_pos_ssbmv < __flexiblas_hooks->ssbmv.nhook ) { ++ fn = __flexiblas_hooks->ssbmv.f77_hook_function[hook_pos_ssbmv]; ++ } else { ++ hook_pos_ssbmv = 0; ++ fn = current_backend->blas.ssbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ssbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_ssbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sscal = 0; ++ + void FC_GLOBAL(sscal,SSCAL)(blasint* n, float* sa, float* sx, blasint* incx) + { + void (*fn) (void* n, void* sa, void* sx, void* incx); +@@ -2697,6 +5891,40 @@ + + + ++void flexiblas_real_sscal_(void* n, void* sa, void* sx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx); ++ ++ fn = current_backend->blas.sscal.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_sscal(void* n, void* sa, void* sx, void* incx) __attribute__((alias("flexiblas_real_sscal_"))); ++ ++ ++void flexiblas_chain_sscal_(void* n, void* sa, void* sx, void* incx) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx); ++ ++ ++ ++ hook_pos_sscal++; ++ if ( hook_pos_sscal < __flexiblas_hooks->sscal.nhook ) { ++ fn = __flexiblas_hooks->sscal.f77_hook_function[hook_pos_sscal]; ++ } else { ++ hook_pos_sscal = 0; ++ fn = current_backend->blas.sscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_sscal(void* n, void* sa, void* sx, void* incx) __attribute__((alias("flexiblas_chain_sscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspmv = 0; ++ + void FC_GLOBAL(sspmv,SSPMV)(char* uplo, blasint* n, float* alpha, float* ap, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2723,6 +5951,40 @@ + + + ++void flexiblas_real_sspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.sspmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_sspmv_"))); ++ ++ ++void flexiblas_chain_sspmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_sspmv++; ++ if ( hook_pos_sspmv < __flexiblas_hooks->sspmv.nhook ) { ++ fn = __flexiblas_hooks->sspmv.f77_hook_function[hook_pos_sspmv]; ++ } else { ++ hook_pos_sspmv = 0; ++ fn = current_backend->blas.sspmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sspmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_sspmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspr = 0; ++ + void FC_GLOBAL(sspr,SSPR)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -2749,6 +6011,40 @@ + + + ++void flexiblas_real_sspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.sspr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_sspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_sspr_"))); ++ ++ ++void flexiblas_chain_sspr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_sspr++; ++ if ( hook_pos_sspr < __flexiblas_hooks->sspr.nhook ) { ++ fn = __flexiblas_hooks->sspr.f77_hook_function[hook_pos_sspr]; ++ } else { ++ hook_pos_sspr = 0; ++ fn = current_backend->blas.sspr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_sspr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_sspr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sspr2 = 0; ++ + void FC_GLOBAL(sspr2,SSPR2)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -2775,6 +6071,40 @@ + + + ++void flexiblas_real_sspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.sspr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_sspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_sspr2_"))); ++ ++ ++void flexiblas_chain_sspr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_sspr2++; ++ if ( hook_pos_sspr2 < __flexiblas_hooks->sspr2.nhook ) { ++ fn = __flexiblas_hooks->sspr2.f77_hook_function[hook_pos_sspr2]; ++ } else { ++ hook_pos_sspr2 = 0; ++ fn = current_backend->blas.sspr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_sspr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_sspr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sswap = 0; ++ + void FC_GLOBAL(sswap,SSWAP)(blasint* n, float* sx, blasint* incx, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); +@@ -2801,6 +6131,40 @@ + + + ++void flexiblas_real_sswap_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ fn = current_backend->blas.sswap.f77_blas_function; ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_sswap(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_real_sswap_"))); ++ ++ ++void flexiblas_chain_sswap_(void* n, void* sx, void* incx, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sx, void* incx, void* sy, void* incy); ++ ++ ++ ++ hook_pos_sswap++; ++ if ( hook_pos_sswap < __flexiblas_hooks->sswap.nhook ) { ++ fn = __flexiblas_hooks->sswap.f77_hook_function[hook_pos_sswap]; ++ } else { ++ hook_pos_sswap = 0; ++ fn = current_backend->blas.sswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) sx, (void*) incx, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_sswap(void* n, void* sx, void* incx, void* sy, void* incy) __attribute__((alias("flexiblas_chain_sswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssymm = 0; ++ + void FC_GLOBAL(ssymm,SSYMM)(char* side, char* uplo, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2827,6 +6191,40 @@ + + + ++void flexiblas_real_ssymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssymm_"))); ++ ++ ++void flexiblas_chain_ssymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssymm++; ++ if ( hook_pos_ssymm < __flexiblas_hooks->ssymm.nhook ) { ++ fn = __flexiblas_hooks->ssymm.f77_hook_function[hook_pos_ssymm]; ++ } else { ++ hook_pos_ssymm = 0; ++ fn = current_backend->blas.ssymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssymv = 0; ++ + void FC_GLOBAL(ssymv,SSYMV)(char* uplo, blasint* n, float* alpha, float* a, blasint* lda, float* x, blasint* incx, float* beta, float* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -2853,6 +6251,40 @@ + + + ++void flexiblas_real_ssymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.ssymv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_ssymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_ssymv_"))); ++ ++ ++void flexiblas_chain_ssymv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_ssymv++; ++ if ( hook_pos_ssymv < __flexiblas_hooks->ssymv.nhook ) { ++ fn = __flexiblas_hooks->ssymv.f77_hook_function[hook_pos_ssymv]; ++ } else { ++ hook_pos_ssymv = 0; ++ fn = current_backend->blas.ssymv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_ssymv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_ssymv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr = 0; ++ + void FC_GLOBAL(ssyr,SSYR)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -2879,6 +6311,40 @@ + + + ++void flexiblas_real_ssyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.ssyr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_ssyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_ssyr_"))); ++ ++ ++void flexiblas_chain_ssyr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_ssyr++; ++ if ( hook_pos_ssyr < __flexiblas_hooks->ssyr.nhook ) { ++ fn = __flexiblas_hooks->ssyr.f77_hook_function[hook_pos_ssyr]; ++ } else { ++ hook_pos_ssyr = 0; ++ fn = current_backend->blas.ssyr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_ssyr(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_ssyr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr2 = 0; ++ + void FC_GLOBAL(ssyr2,SSYR2)(char* uplo, blasint* n, float* alpha, float* x, blasint* incx, float* y, blasint* incy, float* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -2905,6 +6371,40 @@ + + + ++void flexiblas_real_ssyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.ssyr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_ssyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_ssyr2_"))); ++ ++ ++void flexiblas_chain_ssyr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_ssyr2++; ++ if ( hook_pos_ssyr2 < __flexiblas_hooks->ssyr2.nhook ) { ++ fn = __flexiblas_hooks->ssyr2.f77_hook_function[hook_pos_ssyr2]; ++ } else { ++ hook_pos_ssyr2 = 0; ++ fn = current_backend->blas.ssyr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_ssyr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_ssyr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyr2k = 0; ++ + void FC_GLOBAL(ssyr2k,SSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* b, blasint* ldb, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -2931,6 +6431,40 @@ + + + ++void flexiblas_real_ssyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssyr2k_"))); ++ ++ ++void flexiblas_chain_ssyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssyr2k++; ++ if ( hook_pos_ssyr2k < __flexiblas_hooks->ssyr2k.nhook ) { ++ fn = __flexiblas_hooks->ssyr2k.f77_hook_function[hook_pos_ssyr2k]; ++ } else { ++ hook_pos_ssyr2k = 0; ++ fn = current_backend->blas.ssyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ssyrk = 0; ++ + void FC_GLOBAL(ssyrk,SSYRK)(char* uplo, char* trans, blasint* n, blasint* k, float* alpha, float* a, blasint* lda, float* beta, float* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -2957,6 +6491,40 @@ + + + ++void flexiblas_real_ssyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.ssyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_ssyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_ssyrk_"))); ++ ++ ++void flexiblas_chain_ssyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_ssyrk++; ++ if ( hook_pos_ssyrk < __flexiblas_hooks->ssyrk.nhook ) { ++ fn = __flexiblas_hooks->ssyrk.f77_hook_function[hook_pos_ssyrk]; ++ } else { ++ hook_pos_ssyrk = 0; ++ fn = current_backend->blas.ssyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_ssyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_ssyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stbmv = 0; ++ + void FC_GLOBAL(stbmv,STBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -2983,6 +6551,40 @@ + + + ++void flexiblas_real_stbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.stbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_stbmv_"))); ++ ++ ++void flexiblas_chain_stbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_stbmv++; ++ if ( hook_pos_stbmv < __flexiblas_hooks->stbmv.nhook ) { ++ fn = __flexiblas_hooks->stbmv.f77_hook_function[hook_pos_stbmv]; ++ } else { ++ hook_pos_stbmv = 0; ++ fn = current_backend->blas.stbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_stbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stbsv = 0; ++ + void FC_GLOBAL(stbsv,STBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3009,6 +6611,40 @@ + + + ++void flexiblas_real_stbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.stbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_stbsv_"))); ++ ++ ++void flexiblas_chain_stbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_stbsv++; ++ if ( hook_pos_stbsv < __flexiblas_hooks->stbsv.nhook ) { ++ fn = __flexiblas_hooks->stbsv.f77_hook_function[hook_pos_stbsv]; ++ } else { ++ hook_pos_stbsv = 0; ++ fn = current_backend->blas.stbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_stbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stpmv = 0; ++ + void FC_GLOBAL(stpmv,STPMV)(char* uplo, char* trans, char* diag, blasint* n, float* ap, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3035,6 +6671,40 @@ + + + ++void flexiblas_real_stpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.stpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_stpmv_"))); ++ ++ ++void flexiblas_chain_stpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_stpmv++; ++ if ( hook_pos_stpmv < __flexiblas_hooks->stpmv.nhook ) { ++ fn = __flexiblas_hooks->stpmv.f77_hook_function[hook_pos_stpmv]; ++ } else { ++ hook_pos_stpmv = 0; ++ fn = current_backend->blas.stpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_stpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_stpsv = 0; ++ + void FC_GLOBAL(stpsv,STPSV)(char* uplo, char* trans, char* diag, blasint* n, float* ap, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3061,6 +6731,40 @@ + + + ++void flexiblas_real_stpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.stpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_stpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_stpsv_"))); ++ ++ ++void flexiblas_chain_stpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_stpsv++; ++ if ( hook_pos_stpsv < __flexiblas_hooks->stpsv.nhook ) { ++ fn = __flexiblas_hooks->stpsv.f77_hook_function[hook_pos_stpsv]; ++ } else { ++ hook_pos_stpsv = 0; ++ fn = current_backend->blas.stpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_stpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_stpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strmm = 0; ++ + void FC_GLOBAL(strmm,STRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -3087,6 +6791,40 @@ + + + ++void flexiblas_real_strmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.strmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_strmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_strmm_"))); ++ ++ ++void flexiblas_chain_strmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_strmm++; ++ if ( hook_pos_strmm < __flexiblas_hooks->strmm.nhook ) { ++ fn = __flexiblas_hooks->strmm.f77_hook_function[hook_pos_strmm]; ++ } else { ++ hook_pos_strmm = 0; ++ fn = current_backend->blas.strmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_strmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_strmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strmv = 0; ++ + void FC_GLOBAL(strmv,STRMV)(char* uplo, char* trans, char* diag, blasint* n, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -3113,6 +6851,40 @@ + + + ++void flexiblas_real_strmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.strmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_strmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_strmv_"))); ++ ++ ++void flexiblas_chain_strmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_strmv++; ++ if ( hook_pos_strmv < __flexiblas_hooks->strmv.nhook ) { ++ fn = __flexiblas_hooks->strmv.f77_hook_function[hook_pos_strmv]; ++ } else { ++ hook_pos_strmv = 0; ++ fn = current_backend->blas.strmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_strmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_strmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strsm = 0; ++ + void FC_GLOBAL(strsm,STRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -3139,6 +6911,40 @@ + + + ++void flexiblas_real_strsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.strsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_strsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_strsm_"))); ++ ++ ++void flexiblas_chain_strsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_strsm++; ++ if ( hook_pos_strsm < __flexiblas_hooks->strsm.nhook ) { ++ fn = __flexiblas_hooks->strsm.f77_hook_function[hook_pos_strsm]; ++ } else { ++ hook_pos_strsm = 0; ++ fn = current_backend->blas.strsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_strsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_strsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_strsv = 0; ++ + void FC_GLOBAL(strsv,STRSV)(char* uplo, char* trans, char* diag, blasint* n, float* a, blasint* lda, float* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -3165,6 +6971,40 @@ + + + ++void flexiblas_real_strsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.strsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_strsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_strsv_"))); ++ ++ ++void flexiblas_chain_strsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_strsv++; ++ if ( hook_pos_strsv < __flexiblas_hooks->strsv.nhook ) { ++ fn = __flexiblas_hooks->strsv.f77_hook_function[hook_pos_strsv]; ++ } else { ++ hook_pos_strsv = 0; ++ fn = current_backend->blas.strsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_strsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_strsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zaxpy = 0; ++ + void FC_GLOBAL(zaxpy,ZAXPY)(blasint* n, double complex* za, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); +@@ -3191,6 +7031,40 @@ + + + ++void flexiblas_real_zaxpy_(void* n, void* za, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zaxpy.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zaxpy(void* n, void* za, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zaxpy_"))); ++ ++ ++void flexiblas_chain_zaxpy_(void* n, void* za, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zaxpy++; ++ if ( hook_pos_zaxpy < __flexiblas_hooks->zaxpy.nhook ) { ++ fn = __flexiblas_hooks->zaxpy.f77_hook_function[hook_pos_zaxpy]; ++ } else { ++ hook_pos_zaxpy = 0; ++ fn = current_backend->blas.zaxpy.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zaxpy(void* n, void* za, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zaxpy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zcopy = 0; ++ + void FC_GLOBAL(zcopy,ZCOPY)(blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3217,6 +7091,40 @@ + + + ++void flexiblas_real_zcopy_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zcopy.f77_blas_function; ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zcopy(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zcopy_"))); ++ ++ ++void flexiblas_chain_zcopy_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zcopy++; ++ if ( hook_pos_zcopy < __flexiblas_hooks->zcopy.nhook ) { ++ fn = __flexiblas_hooks->zcopy.f77_hook_function[hook_pos_zcopy]; ++ } else { ++ hook_pos_zcopy = 0; ++ fn = current_backend->blas.zcopy.f77_blas_function; ++ } ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zcopy(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdotc = 0; ++ + void FC_GLOBAL(zdotc,ZDOTC)( double complex* returnvalue, blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3257,6 +7165,56 @@ + + + ++void flexiblas_real_zdotc_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ fn = current_backend->blas.zdotc.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_zdotc( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zdotc_"))); ++ ++ ++void flexiblas_chain_zdotc_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ ++ ++ hook_pos_zdotc++; ++ if ( hook_pos_zdotc < __flexiblas_hooks->zdotc.nhook ) { ++ fn = __flexiblas_hooks->zdotc.f77_hook_function[hook_pos_zdotc]; ++ } else { ++ hook_pos_zdotc = 0; ++ fn = current_backend->blas.zdotc.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_zdotc( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zdotc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdotu = 0; ++ + void FC_GLOBAL(zdotu,ZDOTU)( double complex* returnvalue, blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3297,6 +7255,56 @@ + + + ++void flexiblas_real_zdotu_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ fn = current_backend->blas.zdotu.f77_blas_function; fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_real_zdotu( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zdotu_"))); ++ ++ ++void flexiblas_chain_zdotu_( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ double complex (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ void (*fn_intel) (double complex *ret, void* n, void* zx, void* incx, void* zy, void* incy); ++ double complex ret; ++ ++ ++ ++ hook_pos_zdotu++; ++ if ( hook_pos_zdotu < __flexiblas_hooks->zdotu.nhook ) { ++ fn = __flexiblas_hooks->zdotu.f77_hook_function[hook_pos_zdotu]; ++ } else { ++ hook_pos_zdotu = 0; ++ fn = current_backend->blas.zdotu.f77_blas_function; ++ } fn_intel = (void *) fn; ++ ++ if(current_backend->info.intel_interface == 0 ) { ++ ret = fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } else { ++ fn_intel( &ret, (void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ } ++ ++ *((double complex *)returnvalue) = ret; ++ return; ++} ++void flexiblas_chain_zdotu( void * returnvalue, void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zdotu_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdrot = 0; ++ + void FC_GLOBAL(zdrot,ZDROT)(blasint* n, double complex* cx, blasint* incx, double complex* cy, blasint* incy, double* c, double* s) + { + void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); +@@ -3323,6 +7331,40 @@ + + + ++void flexiblas_real_zdrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ fn = current_backend->blas.zdrot.f77_blas_function; ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_zdrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_real_zdrot_"))); ++ ++ ++void flexiblas_chain_zdrot_(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) ++{ ++ void (*fn) (void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s); ++ ++ ++ ++ hook_pos_zdrot++; ++ if ( hook_pos_zdrot < __flexiblas_hooks->zdrot.nhook ) { ++ fn = __flexiblas_hooks->zdrot.f77_hook_function[hook_pos_zdrot]; ++ } else { ++ hook_pos_zdrot = 0; ++ fn = current_backend->blas.zdrot.f77_blas_function; ++ } ++ fn((void*) n, (void*) cx, (void*) incx, (void*) cy, (void*) incy, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_zdrot(void* n, void* cx, void* incx, void* cy, void* incy, void* c, void* s) __attribute__((alias("flexiblas_chain_zdrot_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zdscal = 0; ++ + void FC_GLOBAL(zdscal,ZDSCAL)(blasint* n, double* da, double complex* zx, blasint* incx) + { + void (*fn) (void* n, void* da, void* zx, void* incx); +@@ -3349,6 +7391,40 @@ + + + ++void flexiblas_real_zdscal_(void* n, void* da, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* zx, void* incx); ++ ++ fn = current_backend->blas.zdscal.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_zdscal(void* n, void* da, void* zx, void* incx) __attribute__((alias("flexiblas_real_zdscal_"))); ++ ++ ++void flexiblas_chain_zdscal_(void* n, void* da, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* da, void* zx, void* incx); ++ ++ ++ ++ hook_pos_zdscal++; ++ if ( hook_pos_zdscal < __flexiblas_hooks->zdscal.nhook ) { ++ fn = __flexiblas_hooks->zdscal.f77_hook_function[hook_pos_zdscal]; ++ } else { ++ hook_pos_zdscal = 0; ++ fn = current_backend->blas.zdscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_zdscal(void* n, void* da, void* zx, void* incx) __attribute__((alias("flexiblas_chain_zdscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgbmv = 0; ++ + void FC_GLOBAL(zgbmv,ZGBMV)(char* trans, blasint* m, blasint* n, blasint* kl, blasint* ku, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3375,6 +7451,40 @@ + + + ++void flexiblas_real_zgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zgbmv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zgbmv_"))); ++ ++ ++void flexiblas_chain_zgbmv_(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zgbmv++; ++ if ( hook_pos_zgbmv < __flexiblas_hooks->zgbmv.nhook ) { ++ fn = __flexiblas_hooks->zgbmv.f77_hook_function[hook_pos_zgbmv]; ++ } else { ++ hook_pos_zgbmv = 0; ++ fn = current_backend->blas.zgbmv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) kl, (void*) ku, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zgbmv(void* trans, void* m, void* n, void* kl, void* ku, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zgbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgemm = 0; ++ + void FC_GLOBAL(zgemm,ZGEMM)(char* transa, char* transb, blasint* m, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3401,6 +7511,40 @@ + + + ++void flexiblas_real_zgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zgemm.f77_blas_function; ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zgemm_"))); ++ ++ ++void flexiblas_chain_zgemm_(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zgemm++; ++ if ( hook_pos_zgemm < __flexiblas_hooks->zgemm.nhook ) { ++ fn = __flexiblas_hooks->zgemm.f77_hook_function[hook_pos_zgemm]; ++ } else { ++ hook_pos_zgemm = 0; ++ fn = current_backend->blas.zgemm.f77_blas_function; ++ } ++ fn((void*) transa, (void*) transb, (void*) m, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zgemm(void* transa, void* transb, void* m, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zgemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgemv = 0; ++ + void FC_GLOBAL(zgemv,ZGEMV)(char* trans, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3427,6 +7571,40 @@ + + + ++void flexiblas_real_zgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zgemv.f77_blas_function; ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zgemv_"))); ++ ++ ++void flexiblas_chain_zgemv_(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zgemv++; ++ if ( hook_pos_zgemv < __flexiblas_hooks->zgemv.nhook ) { ++ fn = __flexiblas_hooks->zgemv.f77_hook_function[hook_pos_zgemv]; ++ } else { ++ hook_pos_zgemv = 0; ++ fn = current_backend->blas.zgemv.f77_blas_function; ++ } ++ fn((void*) trans, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zgemv(void* trans, void* m, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zgemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgerc = 0; ++ + void FC_GLOBAL(zgerc,ZGERC)(blasint* m, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3453,6 +7631,40 @@ + + + ++void flexiblas_real_zgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zgerc.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zgerc_"))); ++ ++ ++void flexiblas_chain_zgerc_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zgerc++; ++ if ( hook_pos_zgerc < __flexiblas_hooks->zgerc.nhook ) { ++ fn = __flexiblas_hooks->zgerc.f77_hook_function[hook_pos_zgerc]; ++ } else { ++ hook_pos_zgerc = 0; ++ fn = current_backend->blas.zgerc.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zgerc(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zgerc_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgeru = 0; ++ + void FC_GLOBAL(zgeru,ZGERU)(blasint* m, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3479,6 +7691,40 @@ + + + ++void flexiblas_real_zgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zgeru.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zgeru_"))); ++ ++ ++void flexiblas_chain_zgeru_(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zgeru++; ++ if ( hook_pos_zgeru < __flexiblas_hooks->zgeru.nhook ) { ++ fn = __flexiblas_hooks->zgeru.f77_hook_function[hook_pos_zgeru]; ++ } else { ++ hook_pos_zgeru = 0; ++ fn = current_backend->blas.zgeru.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zgeru(void* m, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zgeru_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhbmv = 0; ++ + void FC_GLOBAL(zhbmv,ZHBMV)(char* uplo, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3505,6 +7751,40 @@ + + + ++void flexiblas_real_zhbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhbmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhbmv_"))); ++ ++ ++void flexiblas_chain_zhbmv_(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhbmv++; ++ if ( hook_pos_zhbmv < __flexiblas_hooks->zhbmv.nhook ) { ++ fn = __flexiblas_hooks->zhbmv.f77_hook_function[hook_pos_zhbmv]; ++ } else { ++ hook_pos_zhbmv = 0; ++ fn = current_backend->blas.zhbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhbmv(void* uplo, void* n, void* k, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhemm = 0; ++ + void FC_GLOBAL(zhemm,ZHEMM)(char* side, char* uplo, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3531,6 +7811,40 @@ + + + ++void flexiblas_real_zhemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zhemm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zhemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zhemm_"))); ++ ++ ++void flexiblas_chain_zhemm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zhemm++; ++ if ( hook_pos_zhemm < __flexiblas_hooks->zhemm.nhook ) { ++ fn = __flexiblas_hooks->zhemm.f77_hook_function[hook_pos_zhemm]; ++ } else { ++ hook_pos_zhemm = 0; ++ fn = current_backend->blas.zhemm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zhemm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zhemm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhemv = 0; ++ + void FC_GLOBAL(zhemv,ZHEMV)(char* uplo, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3557,6 +7871,40 @@ + + + ++void flexiblas_real_zhemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhemv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhemv_"))); ++ ++ ++void flexiblas_chain_zhemv_(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhemv++; ++ if ( hook_pos_zhemv < __flexiblas_hooks->zhemv.nhook ) { ++ fn = __flexiblas_hooks->zhemv.f77_hook_function[hook_pos_zhemv]; ++ } else { ++ hook_pos_zhemv = 0; ++ fn = current_backend->blas.zhemv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhemv(void* uplo, void* n, void* alpha, void* a, void* lda, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhemv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher = 0; ++ + void FC_GLOBAL(zher,ZHER)(char* uplo, blasint* n, double* alpha, double complex* x, blasint* incx, double complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); +@@ -3583,6 +7931,40 @@ + + + ++void flexiblas_real_zher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ fn = current_backend->blas.zher.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_real_zher_"))); ++ ++ ++void flexiblas_chain_zher_(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda); ++ ++ ++ ++ hook_pos_zher++; ++ if ( hook_pos_zher < __flexiblas_hooks->zher.nhook ) { ++ fn = __flexiblas_hooks->zher.f77_hook_function[hook_pos_zher]; ++ } else { ++ hook_pos_zher = 0; ++ fn = current_backend->blas.zher.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zher(void* uplo, void* n, void* alpha, void* x, void* incx, void* a, void* lda) __attribute__((alias("flexiblas_chain_zher_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher2 = 0; ++ + void FC_GLOBAL(zher2,ZHER2)(char* uplo, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* a, blasint* lda) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); +@@ -3609,6 +7991,40 @@ + + + ++void flexiblas_real_zher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ fn = current_backend->blas.zher2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_real_zher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_real_zher2_"))); ++ ++ ++void flexiblas_chain_zher2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda); ++ ++ ++ ++ hook_pos_zher2++; ++ if ( hook_pos_zher2 < __flexiblas_hooks->zher2.nhook ) { ++ fn = __flexiblas_hooks->zher2.f77_hook_function[hook_pos_zher2]; ++ } else { ++ hook_pos_zher2 = 0; ++ fn = current_backend->blas.zher2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) a, (void*) lda); ++ ++ return; ++} ++void flexiblas_chain_zher2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* a, void* lda) __attribute__((alias("flexiblas_chain_zher2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zher2k = 0; ++ + void FC_GLOBAL(zher2k,ZHER2K)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3635,6 +8051,40 @@ + + + ++void flexiblas_real_zher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zher2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zher2k_"))); ++ ++ ++void flexiblas_chain_zher2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zher2k++; ++ if ( hook_pos_zher2k < __flexiblas_hooks->zher2k.nhook ) { ++ fn = __flexiblas_hooks->zher2k.f77_hook_function[hook_pos_zher2k]; ++ } else { ++ hook_pos_zher2k = 0; ++ fn = current_backend->blas.zher2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zher2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zher2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zherk = 0; ++ + void FC_GLOBAL(zherk,ZHERK)(char* uplo, char* trans, blasint* n, blasint* k, double* alpha, double complex* a, blasint* lda, double* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -3661,6 +8111,40 @@ + + + ++void flexiblas_real_zherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zherk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zherk_"))); ++ ++ ++void flexiblas_chain_zherk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zherk++; ++ if ( hook_pos_zherk < __flexiblas_hooks->zherk.nhook ) { ++ fn = __flexiblas_hooks->zherk.f77_hook_function[hook_pos_zherk]; ++ } else { ++ hook_pos_zherk = 0; ++ fn = current_backend->blas.zherk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zherk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zherk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpmv = 0; ++ + void FC_GLOBAL(zhpmv,ZHPMV)(char* uplo, blasint* n, double complex* alpha, double complex* ap, double complex* x, blasint* incx, double complex* beta, double complex* y, blasint* incy) + { + void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); +@@ -3687,6 +8171,40 @@ + + + ++void flexiblas_real_zhpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ fn = current_backend->blas.zhpmv.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zhpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_real_zhpmv_"))); ++ ++ ++void flexiblas_chain_zhpmv_(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy); ++ ++ ++ ++ hook_pos_zhpmv++; ++ if ( hook_pos_zhpmv < __flexiblas_hooks->zhpmv.nhook ) { ++ fn = __flexiblas_hooks->zhpmv.f77_hook_function[hook_pos_zhpmv]; ++ } else { ++ hook_pos_zhpmv = 0; ++ fn = current_backend->blas.zhpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) ap, (void*) x, (void*) incx, (void*) beta, (void*) y, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zhpmv(void* uplo, void* n, void* alpha, void* ap, void* x, void* incx, void* beta, void* y, void* incy) __attribute__((alias("flexiblas_chain_zhpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpr = 0; ++ + void FC_GLOBAL(zhpr,ZHPR)(char* uplo, blasint* n, double* alpha, double complex* x, blasint* incx, double complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); +@@ -3713,6 +8231,40 @@ + + + ++void flexiblas_real_zhpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ fn = current_backend->blas.zhpr.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_zhpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_real_zhpr_"))); ++ ++ ++void flexiblas_chain_zhpr_(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* ap); ++ ++ ++ ++ hook_pos_zhpr++; ++ if ( hook_pos_zhpr < __flexiblas_hooks->zhpr.nhook ) { ++ fn = __flexiblas_hooks->zhpr.f77_hook_function[hook_pos_zhpr]; ++ } else { ++ hook_pos_zhpr = 0; ++ fn = current_backend->blas.zhpr.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_zhpr(void* uplo, void* n, void* alpha, void* x, void* incx, void* ap) __attribute__((alias("flexiblas_chain_zhpr_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zhpr2 = 0; ++ + void FC_GLOBAL(zhpr2,ZHPR2)(char* uplo, blasint* n, double complex* alpha, double complex* x, blasint* incx, double complex* y, blasint* incy, double complex* ap) + { + void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); +@@ -3739,6 +8291,40 @@ + + + ++void flexiblas_real_zhpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ fn = current_backend->blas.zhpr2.f77_blas_function; ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_real_zhpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_real_zhpr2_"))); ++ ++ ++void flexiblas_chain_zhpr2_(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) ++{ ++ void (*fn) (void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap); ++ ++ ++ ++ hook_pos_zhpr2++; ++ if ( hook_pos_zhpr2 < __flexiblas_hooks->zhpr2.nhook ) { ++ fn = __flexiblas_hooks->zhpr2.f77_hook_function[hook_pos_zhpr2]; ++ } else { ++ hook_pos_zhpr2 = 0; ++ fn = current_backend->blas.zhpr2.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) n, (void*) alpha, (void*) x, (void*) incx, (void*) y, (void*) incy, (void*) ap); ++ ++ return; ++} ++void flexiblas_chain_zhpr2(void* uplo, void* n, void* alpha, void* x, void* incx, void* y, void* incy, void* ap) __attribute__((alias("flexiblas_chain_zhpr2_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zrotg = 0; ++ + void FC_GLOBAL(zrotg,ZROTG)(double complex* ca, double complex* cb, double* c, double complex* s) + { + void (*fn) (void* ca, void* cb, void* c, void* s); +@@ -3765,6 +8351,40 @@ + + + ++void flexiblas_real_zrotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ fn = current_backend->blas.zrotg.f77_blas_function; ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_real_zrotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_real_zrotg_"))); ++ ++ ++void flexiblas_chain_zrotg_(void* ca, void* cb, void* c, void* s) ++{ ++ void (*fn) (void* ca, void* cb, void* c, void* s); ++ ++ ++ ++ hook_pos_zrotg++; ++ if ( hook_pos_zrotg < __flexiblas_hooks->zrotg.nhook ) { ++ fn = __flexiblas_hooks->zrotg.f77_hook_function[hook_pos_zrotg]; ++ } else { ++ hook_pos_zrotg = 0; ++ fn = current_backend->blas.zrotg.f77_blas_function; ++ } ++ fn((void*) ca, (void*) cb, (void*) c, (void*) s); ++ ++ return; ++} ++void flexiblas_chain_zrotg(void* ca, void* cb, void* c, void* s) __attribute__((alias("flexiblas_chain_zrotg_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zscal = 0; ++ + void FC_GLOBAL(zscal,ZSCAL)(blasint* n, double complex* za, double complex* zx, blasint* incx) + { + void (*fn) (void* n, void* za, void* zx, void* incx); +@@ -3791,6 +8411,40 @@ + + + ++void flexiblas_real_zscal_(void* n, void* za, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx); ++ ++ fn = current_backend->blas.zscal.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_zscal(void* n, void* za, void* zx, void* incx) __attribute__((alias("flexiblas_real_zscal_"))); ++ ++ ++void flexiblas_chain_zscal_(void* n, void* za, void* zx, void* incx) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx); ++ ++ ++ ++ hook_pos_zscal++; ++ if ( hook_pos_zscal < __flexiblas_hooks->zscal.nhook ) { ++ fn = __flexiblas_hooks->zscal.f77_hook_function[hook_pos_zscal]; ++ } else { ++ hook_pos_zscal = 0; ++ fn = current_backend->blas.zscal.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_zscal(void* n, void* za, void* zx, void* incx) __attribute__((alias("flexiblas_chain_zscal_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zswap = 0; ++ + void FC_GLOBAL(zswap,ZSWAP)(blasint* n, double complex* zx, blasint* incx, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); +@@ -3817,6 +8471,40 @@ + + + ++void flexiblas_real_zswap_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ fn = current_backend->blas.zswap.f77_blas_function; ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zswap(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_real_zswap_"))); ++ ++ ++void flexiblas_chain_zswap_(void* n, void* zx, void* incx, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* zx, void* incx, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zswap++; ++ if ( hook_pos_zswap < __flexiblas_hooks->zswap.nhook ) { ++ fn = __flexiblas_hooks->zswap.f77_hook_function[hook_pos_zswap]; ++ } else { ++ hook_pos_zswap = 0; ++ fn = current_backend->blas.zswap.f77_blas_function; ++ } ++ fn((void*) n, (void*) zx, (void*) incx, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zswap(void* n, void* zx, void* incx, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zswap_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsymm = 0; ++ + void FC_GLOBAL(zsymm,ZSYMM)(char* side, char* uplo, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3843,6 +8531,40 @@ + + + ++void flexiblas_real_zsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsymm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsymm_"))); ++ ++ ++void flexiblas_chain_zsymm_(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsymm++; ++ if ( hook_pos_zsymm < __flexiblas_hooks->zsymm.nhook ) { ++ fn = __flexiblas_hooks->zsymm.f77_hook_function[hook_pos_zsymm]; ++ } else { ++ hook_pos_zsymm = 0; ++ fn = current_backend->blas.zsymm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsymm(void* side, void* uplo, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsymm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsyr2k = 0; ++ + void FC_GLOBAL(zsyr2k,ZSYR2K)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); +@@ -3869,6 +8591,40 @@ + + + ++void flexiblas_real_zsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsyr2k.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsyr2k_"))); ++ ++ ++void flexiblas_chain_zsyr2k_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsyr2k++; ++ if ( hook_pos_zsyr2k < __flexiblas_hooks->zsyr2k.nhook ) { ++ fn = __flexiblas_hooks->zsyr2k.f77_hook_function[hook_pos_zsyr2k]; ++ } else { ++ hook_pos_zsyr2k = 0; ++ fn = current_backend->blas.zsyr2k.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsyr2k(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* b, void* ldb, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsyr2k_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zsyrk = 0; ++ + void FC_GLOBAL(zsyrk,ZSYRK)(char* uplo, char* trans, blasint* n, blasint* k, double complex* alpha, double complex* a, blasint* lda, double complex* beta, double complex* c, blasint* ldc) + { + void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); +@@ -3895,6 +8651,40 @@ + + + ++void flexiblas_real_zsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ fn = current_backend->blas.zsyrk.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_real_zsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_real_zsyrk_"))); ++ ++ ++void flexiblas_chain_zsyrk_(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) ++{ ++ void (*fn) (void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc); ++ ++ ++ ++ hook_pos_zsyrk++; ++ if ( hook_pos_zsyrk < __flexiblas_hooks->zsyrk.nhook ) { ++ fn = __flexiblas_hooks->zsyrk.f77_hook_function[hook_pos_zsyrk]; ++ } else { ++ hook_pos_zsyrk = 0; ++ fn = current_backend->blas.zsyrk.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) n, (void*) k, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) c, (void*) ldc); ++ ++ return; ++} ++void flexiblas_chain_zsyrk(void* uplo, void* trans, void* n, void* k, void* alpha, void* a, void* lda, void* beta, void* c, void* ldc) __attribute__((alias("flexiblas_chain_zsyrk_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztbmv = 0; ++ + void FC_GLOBAL(ztbmv,ZTBMV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3921,6 +8711,40 @@ + + + ++void flexiblas_real_ztbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztbmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztbmv_"))); ++ ++ ++void flexiblas_chain_ztbmv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztbmv++; ++ if ( hook_pos_ztbmv < __flexiblas_hooks->ztbmv.nhook ) { ++ fn = __flexiblas_hooks->ztbmv.f77_hook_function[hook_pos_ztbmv]; ++ } else { ++ hook_pos_ztbmv = 0; ++ fn = current_backend->blas.ztbmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztbmv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztbmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztbsv = 0; ++ + void FC_GLOBAL(ztbsv,ZTBSV)(char* uplo, char* trans, char* diag, blasint* n, blasint* k, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); +@@ -3947,6 +8771,40 @@ + + + ++void flexiblas_real_ztbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztbsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztbsv_"))); ++ ++ ++void flexiblas_chain_ztbsv_(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztbsv++; ++ if ( hook_pos_ztbsv < __flexiblas_hooks->ztbsv.nhook ) { ++ fn = __flexiblas_hooks->ztbsv.f77_hook_function[hook_pos_ztbsv]; ++ } else { ++ hook_pos_ztbsv = 0; ++ fn = current_backend->blas.ztbsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) k, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztbsv(void* uplo, void* trans, void* diag, void* n, void* k, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztbsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztpmv = 0; ++ + void FC_GLOBAL(ztpmv,ZTPMV)(char* uplo, char* trans, char* diag, blasint* n, double complex* ap, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3973,6 +8831,40 @@ + + + ++void flexiblas_real_ztpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ztpmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ztpmv_"))); ++ ++ ++void flexiblas_chain_ztpmv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztpmv++; ++ if ( hook_pos_ztpmv < __flexiblas_hooks->ztpmv.nhook ) { ++ fn = __flexiblas_hooks->ztpmv.f77_hook_function[hook_pos_ztpmv]; ++ } else { ++ hook_pos_ztpmv = 0; ++ fn = current_backend->blas.ztpmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztpmv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztpmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztpsv = 0; ++ + void FC_GLOBAL(ztpsv,ZTPSV)(char* uplo, char* trans, char* diag, blasint* n, double complex* ap, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); +@@ -3999,6 +8891,40 @@ + + + ++void flexiblas_real_ztpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ fn = current_backend->blas.ztpsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_real_ztpsv_"))); ++ ++ ++void flexiblas_chain_ztpsv_(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztpsv++; ++ if ( hook_pos_ztpsv < __flexiblas_hooks->ztpsv.nhook ) { ++ fn = __flexiblas_hooks->ztpsv.f77_hook_function[hook_pos_ztpsv]; ++ } else { ++ hook_pos_ztpsv = 0; ++ fn = current_backend->blas.ztpsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) ap, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztpsv(void* uplo, void* trans, void* diag, void* n, void* ap, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztpsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrmm = 0; ++ + void FC_GLOBAL(ztrmm,ZTRMM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4025,6 +8951,40 @@ + + + ++void flexiblas_real_ztrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ztrmm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ztrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ztrmm_"))); ++ ++ ++void flexiblas_chain_ztrmm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ztrmm++; ++ if ( hook_pos_ztrmm < __flexiblas_hooks->ztrmm.nhook ) { ++ fn = __flexiblas_hooks->ztrmm.f77_hook_function[hook_pos_ztrmm]; ++ } else { ++ hook_pos_ztrmm = 0; ++ fn = current_backend->blas.ztrmm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ztrmm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ztrmm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrmv = 0; ++ + void FC_GLOBAL(ztrmv,ZTRMV)(char* uplo, char* trans, char* diag, blasint* n, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -4051,6 +9011,40 @@ + + + ++void flexiblas_real_ztrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztrmv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztrmv_"))); ++ ++ ++void flexiblas_chain_ztrmv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztrmv++; ++ if ( hook_pos_ztrmv < __flexiblas_hooks->ztrmv.nhook ) { ++ fn = __flexiblas_hooks->ztrmv.f77_hook_function[hook_pos_ztrmv]; ++ } else { ++ hook_pos_ztrmv = 0; ++ fn = current_backend->blas.ztrmv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztrmv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztrmv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrsm = 0; ++ + void FC_GLOBAL(ztrsm,ZTRSM)(char* side, char* uplo, char* transa, char* diag, blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4077,6 +9071,40 @@ + + + ++void flexiblas_real_ztrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.ztrsm.f77_blas_function; ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_ztrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_ztrsm_"))); ++ ++ ++void flexiblas_chain_ztrsm_(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_ztrsm++; ++ if ( hook_pos_ztrsm < __flexiblas_hooks->ztrsm.nhook ) { ++ fn = __flexiblas_hooks->ztrsm.f77_hook_function[hook_pos_ztrsm]; ++ } else { ++ hook_pos_ztrsm = 0; ++ fn = current_backend->blas.ztrsm.f77_blas_function; ++ } ++ fn((void*) side, (void*) uplo, (void*) transa, (void*) diag, (void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_ztrsm(void* side, void* uplo, void* transa, void* diag, void* m, void* n, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_ztrsm_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_ztrsv = 0; ++ + void FC_GLOBAL(ztrsv,ZTRSV)(char* uplo, char* trans, char* diag, blasint* n, double complex* a, blasint* lda, double complex* x, blasint* incx) + { + void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); +@@ -4103,6 +9131,40 @@ + + + ++void flexiblas_real_ztrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ fn = current_backend->blas.ztrsv.f77_blas_function; ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_real_ztrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_real_ztrsv_"))); ++ ++ ++void flexiblas_chain_ztrsv_(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) ++{ ++ void (*fn) (void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx); ++ ++ ++ ++ hook_pos_ztrsv++; ++ if ( hook_pos_ztrsv < __flexiblas_hooks->ztrsv.nhook ) { ++ fn = __flexiblas_hooks->ztrsv.f77_hook_function[hook_pos_ztrsv]; ++ } else { ++ hook_pos_ztrsv = 0; ++ fn = current_backend->blas.ztrsv.f77_blas_function; ++ } ++ fn((void*) uplo, (void*) trans, (void*) diag, (void*) n, (void*) a, (void*) lda, (void*) x, (void*) incx); ++ ++ return; ++} ++void flexiblas_chain_ztrsv(void* uplo, void* trans, void* diag, void* n, void* a, void* lda, void* x, void* incx) __attribute__((alias("flexiblas_chain_ztrsv_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_caxpby = 0; ++ + void FC_GLOBAL(caxpby,CAXPBY)(blasint* n, float complex* ca, float complex* cx, blasint* incx, float complex* cb, float complex* cy, blasint* incy) + { + void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); +@@ -4129,6 +9191,40 @@ + + + ++void flexiblas_real_caxpby_(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); ++ ++ fn = current_backend->blas.caxpby.f77_blas_function; ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cb, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_caxpby(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) __attribute__((alias("flexiblas_real_caxpby_"))); ++ ++ ++void flexiblas_chain_caxpby_(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) ++{ ++ void (*fn) (void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy); ++ ++ ++ ++ hook_pos_caxpby++; ++ if ( hook_pos_caxpby < __flexiblas_hooks->caxpby.nhook ) { ++ fn = __flexiblas_hooks->caxpby.f77_hook_function[hook_pos_caxpby]; ++ } else { ++ hook_pos_caxpby = 0; ++ fn = current_backend->blas.caxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) ca, (void*) cx, (void*) incx, (void*) cb, (void*) cy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_caxpby(void* n, void* ca, void* cx, void* incx, void* cb, void* cy, void* incy) __attribute__((alias("flexiblas_chain_caxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_daxpby = 0; ++ + void FC_GLOBAL(daxpby,DAXPBY)(blasint* n, double* da, double* dx, blasint* incx, double* db, double* dy, blasint* incy) + { + void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); +@@ -4155,6 +9251,40 @@ + + + ++void flexiblas_real_daxpby_(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); ++ ++ fn = current_backend->blas.daxpby.f77_blas_function; ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) db, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_daxpby(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) __attribute__((alias("flexiblas_real_daxpby_"))); ++ ++ ++void flexiblas_chain_daxpby_(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) ++{ ++ void (*fn) (void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy); ++ ++ ++ ++ hook_pos_daxpby++; ++ if ( hook_pos_daxpby < __flexiblas_hooks->daxpby.nhook ) { ++ fn = __flexiblas_hooks->daxpby.f77_hook_function[hook_pos_daxpby]; ++ } else { ++ hook_pos_daxpby = 0; ++ fn = current_backend->blas.daxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) da, (void*) dx, (void*) incx, (void*) db, (void*) dy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_daxpby(void* n, void* da, void* dx, void* incx, void* db, void* dy, void* incy) __attribute__((alias("flexiblas_chain_daxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zaxpby = 0; ++ + void FC_GLOBAL(zaxpby,ZAXPBY)(blasint* n, double complex* za, double complex* zx, blasint* incx, double complex* zb, double complex* zy, blasint* incy) + { + void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); +@@ -4181,6 +9311,40 @@ + + + ++void flexiblas_real_zaxpby_(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); ++ ++ fn = current_backend->blas.zaxpby.f77_blas_function; ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zb, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_zaxpby(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) __attribute__((alias("flexiblas_real_zaxpby_"))); ++ ++ ++void flexiblas_chain_zaxpby_(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) ++{ ++ void (*fn) (void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy); ++ ++ ++ ++ hook_pos_zaxpby++; ++ if ( hook_pos_zaxpby < __flexiblas_hooks->zaxpby.nhook ) { ++ fn = __flexiblas_hooks->zaxpby.f77_hook_function[hook_pos_zaxpby]; ++ } else { ++ hook_pos_zaxpby = 0; ++ fn = current_backend->blas.zaxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) za, (void*) zx, (void*) incx, (void*) zb, (void*) zy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_zaxpby(void* n, void* za, void* zx, void* incx, void* zb, void* zy, void* incy) __attribute__((alias("flexiblas_chain_zaxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_saxpby = 0; ++ + void FC_GLOBAL(saxpby,SAXPBY)(blasint* n, float* sa, float* sx, blasint* incx, float* sb, float* sy, blasint* incy) + { + void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); +@@ -4207,6 +9371,40 @@ + + + ++void flexiblas_real_saxpby_(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); ++ ++ fn = current_backend->blas.saxpby.f77_blas_function; ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sb, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_real_saxpby(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) __attribute__((alias("flexiblas_real_saxpby_"))); ++ ++ ++void flexiblas_chain_saxpby_(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) ++{ ++ void (*fn) (void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy); ++ ++ ++ ++ hook_pos_saxpby++; ++ if ( hook_pos_saxpby < __flexiblas_hooks->saxpby.nhook ) { ++ fn = __flexiblas_hooks->saxpby.f77_hook_function[hook_pos_saxpby]; ++ } else { ++ hook_pos_saxpby = 0; ++ fn = current_backend->blas.saxpby.f77_blas_function; ++ } ++ fn((void*) n, (void*) sa, (void*) sx, (void*) incx, (void*) sb, (void*) sy, (void*) incy); ++ ++ return; ++} ++void flexiblas_chain_saxpby(void* n, void* sa, void* sx, void* incx, void* sb, void* sy, void* incy) __attribute__((alias("flexiblas_chain_saxpby_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_comatcopy = 0; ++ + void FC_GLOBAL(comatcopy,COMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float complex* alpha, float complex* a, blasint* lda, float complex* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4233,6 +9431,40 @@ + + + ++void flexiblas_real_comatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.comatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_comatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_comatcopy_"))); ++ ++ ++void flexiblas_chain_comatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_comatcopy++; ++ if ( hook_pos_comatcopy < __flexiblas_hooks->comatcopy.nhook ) { ++ fn = __flexiblas_hooks->comatcopy.f77_hook_function[hook_pos_comatcopy]; ++ } else { ++ hook_pos_comatcopy = 0; ++ fn = current_backend->blas.comatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_comatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_comatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zomatcopy = 0; ++ + void FC_GLOBAL(zomatcopy,ZOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double complex* alpha, double complex* a, blasint* lda, double complex* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4259,6 +9491,40 @@ + + + ++void flexiblas_real_zomatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.zomatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zomatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_zomatcopy_"))); ++ ++ ++void flexiblas_chain_zomatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_zomatcopy++; ++ if ( hook_pos_zomatcopy < __flexiblas_hooks->zomatcopy.nhook ) { ++ fn = __flexiblas_hooks->zomatcopy.f77_hook_function[hook_pos_zomatcopy]; ++ } else { ++ hook_pos_zomatcopy = 0; ++ fn = current_backend->blas.zomatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zomatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_zomatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_domatcopy = 0; ++ + void FC_GLOBAL(domatcopy,DOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double* alpha, double* a, blasint* lda, double* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4285,6 +9551,40 @@ + + + ++void flexiblas_real_domatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.domatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_domatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_domatcopy_"))); ++ ++ ++void flexiblas_chain_domatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_domatcopy++; ++ if ( hook_pos_domatcopy < __flexiblas_hooks->domatcopy.nhook ) { ++ fn = __flexiblas_hooks->domatcopy.f77_hook_function[hook_pos_domatcopy]; ++ } else { ++ hook_pos_domatcopy = 0; ++ fn = current_backend->blas.domatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_domatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_domatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_somatcopy = 0; ++ + void FC_GLOBAL(somatcopy,SOMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float* alpha, float* a, blasint* lda, float* b, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); +@@ -4311,6 +9611,40 @@ + + + ++void flexiblas_real_somatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ fn = current_backend->blas.somatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_somatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_real_somatcopy_"))); ++ ++ ++void flexiblas_chain_somatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb); ++ ++ ++ ++ hook_pos_somatcopy++; ++ if ( hook_pos_somatcopy < __flexiblas_hooks->somatcopy.nhook ) { ++ fn = __flexiblas_hooks->somatcopy.f77_hook_function[hook_pos_somatcopy]; ++ } else { ++ hook_pos_somatcopy = 0; ++ fn = current_backend->blas.somatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_somatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* b, void* ldb) __attribute__((alias("flexiblas_chain_somatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cimatcopy = 0; ++ + void FC_GLOBAL(cimatcopy,CIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float complex* alpha, float complex* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4337,6 +9671,40 @@ + + + ++void flexiblas_real_cimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.cimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_cimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_cimatcopy_"))); ++ ++ ++void flexiblas_chain_cimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_cimatcopy++; ++ if ( hook_pos_cimatcopy < __flexiblas_hooks->cimatcopy.nhook ) { ++ fn = __flexiblas_hooks->cimatcopy.f77_hook_function[hook_pos_cimatcopy]; ++ } else { ++ hook_pos_cimatcopy = 0; ++ fn = current_backend->blas.cimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_cimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_cimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zimatcopy = 0; ++ + void FC_GLOBAL(zimatcopy,ZIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double complex* alpha, double complex* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4363,6 +9731,40 @@ + + + ++void flexiblas_real_zimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.zimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_zimatcopy_"))); ++ ++ ++void flexiblas_chain_zimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_zimatcopy++; ++ if ( hook_pos_zimatcopy < __flexiblas_hooks->zimatcopy.nhook ) { ++ fn = __flexiblas_hooks->zimatcopy.f77_hook_function[hook_pos_zimatcopy]; ++ } else { ++ hook_pos_zimatcopy = 0; ++ fn = current_backend->blas.zimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_zimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dimatcopy = 0; ++ + void FC_GLOBAL(dimatcopy,DIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, double* alpha, double* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4389,6 +9791,40 @@ + + + ++void flexiblas_real_dimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.dimatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_dimatcopy_"))); ++ ++ ++void flexiblas_chain_dimatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_dimatcopy++; ++ if ( hook_pos_dimatcopy < __flexiblas_hooks->dimatcopy.nhook ) { ++ fn = __flexiblas_hooks->dimatcopy.f77_hook_function[hook_pos_dimatcopy]; ++ } else { ++ hook_pos_dimatcopy = 0; ++ fn = current_backend->blas.dimatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dimatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_dimatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_simatcopy = 0; ++ + void FC_GLOBAL(simatcopy,SIMATCOPY)(char* order, char* trans, blasint* rows, blasint* cols, float* alpha, float* a, blasint* lda, blasint* ldb) + { + void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); +@@ -4415,6 +9851,40 @@ + + + ++void flexiblas_real_simatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ fn = current_backend->blas.simatcopy.f77_blas_function; ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_simatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_real_simatcopy_"))); ++ ++ ++void flexiblas_chain_simatcopy_(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) ++{ ++ void (*fn) (void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb); ++ ++ ++ ++ hook_pos_simatcopy++; ++ if ( hook_pos_simatcopy < __flexiblas_hooks->simatcopy.nhook ) { ++ fn = __flexiblas_hooks->simatcopy.f77_hook_function[hook_pos_simatcopy]; ++ } else { ++ hook_pos_simatcopy = 0; ++ fn = current_backend->blas.simatcopy.f77_blas_function; ++ } ++ fn((void*) order, (void*) trans, (void*) rows, (void*) cols, (void*) alpha, (void*) a, (void*) lda, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_simatcopy(void* order, void* trans, void* rows, void* cols, void* alpha, void* a, void* lda, void* ldb) __attribute__((alias("flexiblas_chain_simatcopy_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_sgeadd = 0; ++ + void FC_GLOBAL(sgeadd,SGEADD)(blasint* m, blasint* n, float* alpha, float* a, blasint* lda, float* beta, float* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4441,6 +9911,40 @@ + + + ++void flexiblas_real_sgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.sgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_sgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_sgeadd_"))); ++ ++ ++void flexiblas_chain_sgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_sgeadd++; ++ if ( hook_pos_sgeadd < __flexiblas_hooks->sgeadd.nhook ) { ++ fn = __flexiblas_hooks->sgeadd.f77_hook_function[hook_pos_sgeadd]; ++ } else { ++ hook_pos_sgeadd = 0; ++ fn = current_backend->blas.sgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_sgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_sgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_dgeadd = 0; ++ + void FC_GLOBAL(dgeadd,DGEADD)(blasint* m, blasint* n, double* alpha, double* a, blasint* lda, double* beta, double* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4467,6 +9971,40 @@ + + + ++void flexiblas_real_dgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.dgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_dgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_dgeadd_"))); ++ ++ ++void flexiblas_chain_dgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_dgeadd++; ++ if ( hook_pos_dgeadd < __flexiblas_hooks->dgeadd.nhook ) { ++ fn = __flexiblas_hooks->dgeadd.f77_hook_function[hook_pos_dgeadd]; ++ } else { ++ hook_pos_dgeadd = 0; ++ fn = current_backend->blas.dgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_dgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_dgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_cgeadd = 0; ++ + void FC_GLOBAL(cgeadd,CGEADD)(blasint* m, blasint* n, float complex* alpha, float complex* a, blasint* lda, float complex* beta, float complex* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4493,6 +10031,40 @@ + + + ++void flexiblas_real_cgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.cgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_cgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_cgeadd_"))); ++ ++ ++void flexiblas_chain_cgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_cgeadd++; ++ if ( hook_pos_cgeadd < __flexiblas_hooks->cgeadd.nhook ) { ++ fn = __flexiblas_hooks->cgeadd.f77_hook_function[hook_pos_cgeadd]; ++ } else { ++ hook_pos_cgeadd = 0; ++ fn = current_backend->blas.cgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_cgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_cgeadd_"))); ++ ++ ++static TLS_STORE uint8_t hook_pos_zgeadd = 0; ++ + void FC_GLOBAL(zgeadd,ZGEADD)(blasint* m, blasint* n, double complex* alpha, double complex* a, blasint* lda, double complex* beta, double complex* b, blasint* ldb) + { + void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); +@@ -4519,4 +10091,36 @@ + + + ++void flexiblas_real_zgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ fn = current_backend->blas.zgeadd.f77_blas_function; ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_real_zgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_real_zgeadd_"))); ++ ++ ++void flexiblas_chain_zgeadd_(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) ++{ ++ void (*fn) (void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb); ++ ++ ++ ++ hook_pos_zgeadd++; ++ if ( hook_pos_zgeadd < __flexiblas_hooks->zgeadd.nhook ) { ++ fn = __flexiblas_hooks->zgeadd.f77_hook_function[hook_pos_zgeadd]; ++ } else { ++ hook_pos_zgeadd = 0; ++ fn = current_backend->blas.zgeadd.f77_blas_function; ++ } ++ fn((void*) m, (void*) n, (void*) alpha, (void*) a, (void*) lda, (void*) beta, (void*) b, (void*) ldb); ++ ++ return; ++} ++void flexiblas_chain_zgeadd(void* m, void* n, void* alpha, void* a, void* lda, void* beta, void* b, void* ldb) __attribute__((alias("flexiblas_chain_zgeadd_"))); ++ ++ + diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch new file mode 100644 index 00000000000..ed695ca92f6 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.0.4_remove-semicolon.patch @@ -0,0 +1,15 @@ +Testing with ifort fails with this semicolon. + +https://github.com/Reference-LAPACK/lapack/commit/64e8a7500d817869e5fcde35afd39af8bc7a8086.diff +diff --git a/TESTING/dbal.in b/TESTING/dbal.in +index c00fe3e83..828629b15 100644 +--- a/test/lapack-3.9.0/dbal.in ++++ b/test/lapack-3.9.0/dbal.in +@@ -209,6 +209,6 @@ DBL: Tests DGEBAL + 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.63043209914231165391D-03 0.10000000000000000000D+01 0.79310682416114036641D+03 + 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.00000000000000000000D+00 0.12608641982846233078D-02 0.10000000000000000000D+01 + +- 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291; ++ 2.494800386918399765D+291 1.582914569427869018D+175 1.004336277661868922D+59 3.186183822264904554D-58 5.053968264940243633D-175 0.40083367200179455560D-291 + + 0 diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..b7e48d80eff --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.1.3-GCC-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.1.3' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), # required for running the tests + ('BLIS', '0.8.1'), +] + +dependencies = [ + ('OpenBLAS', '0.3.20'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['aac6175660e8475ce478b88673eee330671f8aecc0cb852a25833e23e29a0620'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['328c1bea493a32cac5257d84157dc686cc3ab0b004e2bea22044e0a59f6f8a19'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..3485cb581bd --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-GCC-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.2.0' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), # required for running the tests + ('BLIS', '0.9.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.20'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['a3f4d66a30b6fa6473e492de86d34abc5f9d4e69d4d91ba23618388e8df05904'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 00000000000..0ad1849f775 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,73 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.2.0' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} +local_extra_flags = "-D__ELF__" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), # required for running the tests +] + +dependencies = [ + ('OpenBLAS', '0.3.20'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'patches': [ + 'FlexiBLAS-3.0.4_fix-imkl.patch', + 'FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch', + 'FlexiBLAS-3.0.4_remove-semicolon.patch', + 'FlexiBLAS-3.2.0_remove-intel-suffix.patch', + ], + 'checksums': [ + 'a3f4d66a30b6fa6473e492de86d34abc5f9d4e69d4d91ba23618388e8df05904', # flexiblas-3.2.0.tar.gz + 'a078e46ad126574cc42314abd5b40461cdc6e950af79d105dbf92875c254c87c', # FlexiBLAS-3.0.4_fix-imkl.patch + # FlexiBLAS-3.0.4_fix-wrapper_blas_intel.patch + '30ae7d1edbcff2beb18bca9b751dcaf0bf9a996d41fbe669b0a11592ec01c7ac', + # FlexiBLAS-3.0.4_remove-semicolon.patch + 'a3bbcff7aeca6f8bab989e7e3a8069f2b7b660e4559042221eecaa30dc0ce300', + # FlexiBLAS-3.2.0_remove-intel-suffix.patch + '98b70ac9b10c9e45cd7c2251f8b710cda704b04311b33b6fe1a56be51aa43bc4', + ], + 'configopts': '-DABI=Intel', + 'backends': local_backends, + }), + ('LAPACK', '3.10.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch new file mode 100644 index 00000000000..7fced99a11c --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.0_remove-intel-suffix.patch @@ -0,0 +1,16 @@ +Avoid using the _intel suffix name for library +We can only have 1 library per version regardless, and the ABI is +determined by the toolchain like with all other stuff we compile. + +Author: micketeer@gmail.com +--- CMakeLists.txt.orig 2022-11-28 18:35:05.033932657 +0000 ++++ CMakeLists.txt 2022-11-28 18:35:20.226889430 +0000 +@@ -167,7 +167,7 @@ + ENDIF() + + IF ( ABI STREQUAL "Intel") +- SET(FLEXIBLAS_ABI_INTEL TRUE) ++ SET(FLEXIBLAS_ABI_INTEL FALSE) + SET(USE_INTERFACE_INTEL TRUE) + ELSEIF ( ABI STREQUAL "XL" ) + SET(FLEXIBLAS_ABI_IBM TRUE) diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..9a77c6b3a77 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.2.1' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.8', '-bare'), # required for running the tests + ('BLIS', '0.9.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.21'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': ['https://github.com/mpimd-csc/flexiblas/releases/download/v%(version)s/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5be7e508e2dbb751b3bf372639d8e82a11f79e9ef6cbf243b64981c24a5703cf'], + 'backends': local_backends, + }), + ('LAPACK', '3.10.1', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..9ea54c6b1e5 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-12.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.3.1' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), # required for running the tests + ('BLIS', '0.9.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.23'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': + ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.3.1/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['bbeebf5e5a006924558fec43f49affbe1aaa4cbacfc472a9ff6066ffda142e18'], + 'backends': local_backends, + }), + ('LAPACK', '3.11.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['4b9ba79bfd4921ca820e83979db76ab3363155709444a787979e81c22285ffa9'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..4c6e509040b --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.3.1-GCC-13.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.3.1' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.27.6'), + ('Python', '3.11.5'), # required for running the tests + ('BLIS', '0.9.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.24'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': + ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.3.1/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['bbeebf5e5a006924558fec43f49affbe1aaa4cbacfc472a9ff6066ffda142e18'], + 'backends': local_backends, + }), + ('LAPACK', '3.11.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['4b9ba79bfd4921ca820e83979db76ab3363155709444a787979e81c22285ffa9'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb new file mode 100644 index 00000000000..9b9f5e8edb2 --- /dev/null +++ b/easybuild/easyconfigs/f/FlexiBLAS/FlexiBLAS-3.4.4-GCC-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'FlexiBLAS' +version = '3.4.4' + +homepage = 'https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release' +description = """FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation +used by a program without recompiling or relinking it.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} +local_extra_flags = "-fstack-protector-strong -fstack-clash-protection" +toolchainopts = {'pic': True, 'extra_cflags': local_extra_flags, 'extra_fflags': local_extra_flags} + +builddependencies = [ + ('CMake', '3.29.3'), + ('Python', '3.12.3'), # required for running the tests + ('BLIS', '1.0'), +] + +dependencies = [ + ('OpenBLAS', '0.3.27'), +] + +# note: first listed backend will be used as default by FlexiBLAS, +# unless otherwise specified via easyconfig parameter flexiblas_default +local_backends = ['OpenBLAS', 'BLIS'] + +# imkl supplies its backend via the imkl module, not as a dependency +if ARCH == 'x86_64': + local_backends.append('imkl') + +default_component_specs = {'start_dir': '%(namelower)s-%(version)s'} +sanity_check_all_components = True + +# Also build and install LAPACKE, which FlexiBLAS does not support yet +components = [ + (name, version, { + 'source_urls': + ['https://gitlab.mpi-magdeburg.mpg.de/api/v4/projects/386/packages/generic/flexiblas-source/v3.4.4/'], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['05040ae092142dd0bf38d1bb9ce33f6b475d9f9bb455e33be997932ae855c22b'], + 'backends': local_backends, + }), + ('LAPACK', '3.12.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/Reference-LAPACK/lapack/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'], + 'configopts': ('-DBUILD_SHARED_LIBS=ON -DUSE_OPTIMIZED_BLAS=ON -DLAPACKE=ON ' + '-DUSE_OPTIMIZED_LAPACK=ON -DBUILD_DEPRECATED=ON ' + '-DCMAKE_INSTALL_INCLUDEDIR=%(installdir)s/include/flexiblas'), + 'sanity_check_paths': { + 'files': ['lib/liblapacke.%s' % SHLIB_EXT, 'include/flexiblas/lapacke.h'], + 'dirs': [], + }, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/Flye/Flye-2.9-GCC-10.3.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9-GCC-10.3.0.eb new file mode 100644 index 00000000000..f56d88a8df4 --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9' + +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 = ['158ea620d4aa92a53dae1832b09fd605e17552e45b83eecbf28e41a4516a6957'] + +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-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..115a6b83c7e --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9-intel-compilers-2021.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9' + +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': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['158ea620d4aa92a53dae1832b09fd605e17552e45b83eecbf28e41a4516a6957'] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True + +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.1-GCC-11.2.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..5942fa94383 --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9.1-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9.1' + +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': '11.2.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['25a2375cd9ba6b2285f930951ad0fde81628baa97d8709172aa59e931a96678e'] + +dependencies = [('Python', '3.9.6')] + +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.2-GCC-11.3.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..88d323f84e9 --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9.2-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9.2' + +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': '11.3.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4b9534b912c805d44b83d497b40102bed807678b82be62667129bf1641676402'] + +dependencies = [('Python', '3.10.4')] + +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-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/Flye/Flye-2.9.4-GCC-13.2.0.eb b/easybuild/easyconfigs/f/Flye/Flye-2.9.4-GCC-13.2.0.eb new file mode 100644 index 00000000000..c11373f69a1 --- /dev/null +++ b/easybuild/easyconfigs/f/Flye/Flye-2.9.4-GCC-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Flye' +version = '2.9.4' + +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': '13.2.0'} + +source_urls = ['https://github.com/fenderglass/Flye/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['197a2dfe39fc324a39d8e1901af4f539609159c4a64a578ec8e60f73f5ea4696'] + +dependencies = [('Python', '3.11.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/FoBiS/FoBiS-3.0.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FoBiS/FoBiS-3.0.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..41535813788 --- /dev/null +++ b/easybuild/easyconfigs/f/FoBiS/FoBiS-3.0.5-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'FoBiS' +version = '3.0.5' + +homepage = 'https://github.com/szaghi/FoBiS' +description = "A Fortran Building System for automatic building modern Fortran projects" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +dependencies = [ + ('binutils', '2.36.1'), + ('Python', '3.9.5'), + ('BeautifulSoup', '4.10.0'), + ('FORD', '6.1.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('PreForM.py', '1.1.3', { + 'modulename': 'PreForM', + 'checksums': ['420457c236801e8803f4e8b8c7e44a7b65a5becc11d5d75404da537b1e09f3a8'], + }), + ('configparser', '5.2.0', { + 'checksums': ['1b35798fdf1713f1c3139016cfcbc461f09edbf099d1fb658d4b7479fcaa3daa'], + }), + ('FoBiS.py', version, { + 'modulename': 'fobis', + 'checksums': ['ef23fde4199277abc693d539a81e0728571c349174da6b7476579f82482ab96c'], + }), +] + +sanity_check_commands = ["FoBiS.py -h"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/FoX/FoX-4.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/f/FoX/FoX-4.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..26d2888084a --- /dev/null +++ b/easybuild/easyconfigs/f/FoX/FoX-4.1.2-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'FoX' +version = '4.1.2' + +homepage = 'http://homepages.see.leeds.ac.uk/~earawa/FoX/' +description = """FoX is an XML library written in Fortran 95. +It allows software developers to read, write and modify XML documents from Fortran applications without the +complications of dealing with multi-language development.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://homepages.see.leeds.ac.uk/~earawa/FoX/source/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3b749138229e7808d0009a97e2ac47815ad5278df6879a9cc64351a7921ba06f'] + +sanity_check_paths = { + 'files': ['lib/libFoX_%s.a' % x for x in ['common', 'dom', 'fsys', 'sax', 'utils', 'wcml', 'wkml', 'wxml']], + 'dirs': ['finclude', 'lib', 'bin'] +} + +modextrapaths = { + 'CPATH': ['finclude'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4870fb3bdfa --- /dev/null +++ b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-10.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': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [("Perl", "5.32.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/FragGeneScan/FragGeneScan-1.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ad2ea72a080 --- /dev/null +++ b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-11.2.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.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [("Perl", "5.34.0")] + +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/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/FragGeneScan/FragGeneScan-1.31-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8466e596a3d --- /dev/null +++ b/easybuild/easyconfigs/f/FragGeneScan/FragGeneScan-1.31-GCCcore-12.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': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['cd3212d0f148218eb3b17d24fcd1fc897fb9fee9b2c902682edde29f895f426c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Perl', '5.36.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/FragPipe/FragPipe-20.0-Java-11.eb b/easybuild/easyconfigs/f/FragPipe/FragPipe-20.0-Java-11.eb new file mode 100644 index 00000000000..1a87ec68749 --- /dev/null +++ b/easybuild/easyconfigs/f/FragPipe/FragPipe-20.0-Java-11.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'FragPipe' +version = '20.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fragpipe.nesvilab.org' +description = """FragPipe is a Java Graphical User Interface (GUI) for a suite of computational + tools enabling comprehensive analysis of mass spectrometry-based proteomics data.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/Nesvilab/%(name)s/releases/download/%(version)s/'] +sources = ['%(name)s-%(version)s.zip'] +checksums = ['0d77db85ae26c190a915823e1c68238f3a19533810734b008564b2a8d85d1bd6'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'lib/%(namelower)s-%(version)s.jar'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s -h | grep -q v%(version)s"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeBarcodes/FreeBarcodes-3.0.a5-foss-2021b.eb b/easybuild/easyconfigs/f/FreeBarcodes/FreeBarcodes-3.0.a5-foss-2021b.eb new file mode 100644 index 00000000000..805353e127c --- /dev/null +++ b/easybuild/easyconfigs/f/FreeBarcodes/FreeBarcodes-3.0.a5-foss-2021b.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'FreeBarcodes' +local_freebayes_commit = 'a684c11' +# see freebarcodes/__init__.py for version +version = '3.0.a5' + +homepage = 'https://github.com/hawkjo/freebarcodes' +description = "A package for the generation and decoding of FREE divergence error-correcting DNA barcodes" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('Biopython', '1.79'), +] + +use_pip = True + +exts_list = [ + ('dill', '0.3.4', { + 'sources': ['dill-%(version)s.zip'], + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('multiprocess', '0.70.12.2', { + 'sources': ['multiprocess-%(version)s.zip'], + 'checksums': ['206bb9b97b73f87fec1ed15a19f8762950256aa84225450abc7150d02855a083'], + }), + ('pox', '0.3.0', { + 'sources': ['pox-%(version)s.zip'], + 'checksums': ['cb968350b186466bb4905a21084587ec3aa6fd7aa0ef55d416ee0d523e2abe31'], + }), + ('ppft', '1.6.6.4', { + 'sources': ['ppft-%(version)s.zip'], + 'checksums': ['473442cc6731856990bd25bd6b454bb98720007de4523a73c560bdd0060463d2'], + }), + ('pathos', '0.2.8', { + 'sources': ['pathos-%(version)s.zip'], + 'checksums': ['1f0f27a90f7ab66c423ba796529000fde9360d17b2d8e50097641ff405fc6f15'], + }), + (name, version, { + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/hawkjo/', + 'repo_name': 'freebarcodes', + 'commit': 'a684c11', + }, + }], + 'checksums': [None], + }), +] + +sanity_check_paths = { + 'files': ['bin/freebarcodes'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "freebarcodes --help", + "cd %(builddir)s && freebarcodes generate 8 1 && ls -l barcodes8-1.txt", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6953a03bafa --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.2.0.eb @@ -0,0 +1,39 @@ +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': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(name)s%s.zip' % ''.join(version.split('.'))] +patches = ['%(name)s-%(version)s-fix-makefile.patch'] +checksums = [ + 'f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd', # FreeImage3180.zip + '3eaa1eb9562ccfd0cb95a37879bb7e3e8c745166596d75af529478181ef006a0', # FreeImage-3.18.0-fix-makefile.patch +] + +builddependencies = [('binutils', '2.35')] + +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' +] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['include/FreeImage.h', 'include/FreeImagePlus.h', 'lib/libfreeimage.a', 'lib/libfreeimage.%s' % SHLIB_EXT, + 'lib/libfreeimageplus.a', 'lib/libfreeimageplus.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6791fe420e5 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +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': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(name)s%s.zip' % ''.join(version.split('.'))] +patches = ['%(name)s-%(version)s-fix-makefile.patch'] +checksums = [ + 'f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd', # FreeImage3180.zip + '3eaa1eb9562ccfd0cb95a37879bb7e3e8c745166596d75af529478181ef006a0', # FreeImage-3.18.0-fix-makefile.patch +] + +builddependencies = [('binutils', '2.36.1')] + +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' +] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['include/FreeImage.h', 'include/FreeImagePlus.h', 'lib/libfreeimage.a', 'lib/libfreeimage.%s' % SHLIB_EXT, + 'lib/libfreeimageplus.a', 'lib/libfreeimageplus.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..63540c629e0 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.2.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': '11.2.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.37')] + +dependencies = [('zlib', '1.2.11')] + +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/FreeImage/FreeImage-3.18.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..11730391a1b --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-11.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': '11.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.38')] + +dependencies = [('zlib', '1.2.12')] + +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/FreeImage/FreeImage-3.18.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..a06e1d1dbf0 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeImage/FreeImage-3.18.0-GCCcore-12.2.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.2.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.39')] + +dependencies = [('zlib', '1.2.12')] + +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/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/FreeSurfer/FreeSurfer-7.1.1-centos6_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos6_x86_64.eb index 0bb1d8a557f..3ff7305bc66 100644 --- a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos6_x86_64.eb +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos6_x86_64.eb @@ -12,17 +12,21 @@ source_urls = [ 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' ] + +# The FreeSurfer and MCR versions are linked. Fresurfer > v7 uses MCR 8.4 (R2014b). +# Please check the documentation for the latest linked versions: +# https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime sources = [ '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', - 'runtime2012bLinux.tar.gz' + 'runtime2014bLinux.tar.gz' ] + checksums = [ - # freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.1.tar.gz - '4026a5d5df41fd5a82a1b8c43a011cf0da4a0055737822e6b011fdb1370284a3', - '3ef4231d566fca45436eda03ae3bb93ffa7af0974a48112348c0d76c62b5fa64', # runtime2012bLinux.tar.gz + '4026a5d5df41fd5a82a1b8c43a011cf0da4a0055737822e6b011fdb1370284a3', # freesurfer-linux-centos6_x86_64-7.1.1.tar.gz + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz ] -postinstallcmds = ['cp -a %(builddir)s/MCRv80/ %(installdir)s'] +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] license_text = """email@example.com 00000 diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos7_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos7_x86_64.eb index 10dfb815724..e0c851d4607 100644 --- a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos7_x86_64.eb +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos7_x86_64.eb @@ -12,17 +12,21 @@ source_urls = [ 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' ] + +# The FreeSurfer and MCR versions are linked. Fresurfer > v7 uses MCR 8.4 (R2014b). +# Please check the documentation for the latest linked versions: +# https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime sources = [ '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', - 'runtime2012bLinux.tar.gz' + 'runtime2014bLinux.tar.gz' ] + checksums = [ - # freesurfer-Linux-centos7_x86_64-stable-pub-v7.1.1.tar.gz - '6098b166fee8644f44f9ec88f3ffe88d05f2bc033cca60443e99e3e56f2e166b', - '3ef4231d566fca45436eda03ae3bb93ffa7af0974a48112348c0d76c62b5fa64', # runtime2012bLinux.tar.gz + '6098b166fee8644f44f9ec88f3ffe88d05f2bc033cca60443e99e3e56f2e166b', # freesurfer-linux-centos7_x86_64-7.1.1.tar.gz + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz ] -postinstallcmds = ['cp -a %(builddir)s/MCRv80/ %(installdir)s'] +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] license_text = """email@example.com 00000 diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos8_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos8_x86_64.eb index 5b67471c76d..0d0830a6309 100644 --- a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos8_x86_64.eb +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.1.1-centos8_x86_64.eb @@ -14,15 +14,17 @@ source_urls = [ ] sources = [ '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', - 'runtime2012bLinux.tar.gz' + 'runtime2014bLinux.tar.gz' ] checksums = [ - # freesurfer-Linux-centoss86_x86_64-stable-pub-v7.1.1.tar.gz - '6098b166fee8644f44f9ec88f3ffe88d05f2bc033cca60443e99e3e56f2e166b', - '3ef4231d566fca45436eda03ae3bb93ffa7af0974a48112348c0d76c62b5fa64', # runtime2012bLinux.tar.gz + '6098b166fee8644f44f9ec88f3ffe88d05f2bc033cca60443e99e3e56f2e166b', # freesurfer-linux-centos8_x86_64-7.1.1.tar.gz + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz ] -postinstallcmds = ['cp -a %(builddir)s/MCRv80/ %(installdir)s'] +# The FreeSurfer and MCR versions are linked. Fresurfer > v7 uses MCR 8.4 (R2014b). +# Please check the documentation for the latest linked versions: +# https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] license_text = """email@example.com 00000 diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos7_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos7_x86_64.eb new file mode 100644 index 00000000000..c918d56dab9 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos7_x86_64.eb @@ -0,0 +1,33 @@ +name = 'FreeSurfer' +version = '7.2.0' +versionsuffix = '-centos7_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', + 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' +] +sources = [ + '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', + 'runtime2014bLinux.tar.gz' +] +checksums = [ + # freesurfer-linux-centos7_x86_64-7.2.0.tar.gz + '4cca78602f898bf633428b9d82cbb9b07e3ab97a86c620122050803779c86d62', + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz +] + +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos8_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos8_x86_64.eb new file mode 100644 index 00000000000..5fc7c985195 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-centos8_x86_64.eb @@ -0,0 +1,33 @@ +name = 'FreeSurfer' +version = '7.2.0' +versionsuffix = '-centos8_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', + 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' +] +sources = [ + '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', + 'runtime2014bLinux.tar.gz' +] +checksums = [ + # freesurfer-linux-centos8_x86_64-7.2.0.tar.gz + '1eecbe0f027b95ee9ec7cce4c0846e14e7bf623fa1937ac57911a26f8f23d3e6', + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz +] + +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-ubuntu18_amd64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-ubuntu18_amd64.eb new file mode 100644 index 00000000000..18fc67d8672 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.2.0-ubuntu18_amd64.eb @@ -0,0 +1,33 @@ +name = 'FreeSurfer' +version = '7.2.0' +versionsuffix = '-ubuntu18_amd64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = [ + 'https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/', + 'https://surfer.nmr.mgh.harvard.edu/fswiki/MatlabRuntime?action=AttachFile&do=get&target=' +] +sources = [ + '%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz', + 'runtime2014bLinux.tar.gz' +] +checksums = [ + # freesurfer-linux-ubuntu18_amd64-7.2.0.tar.gz + 'e0cbd55809359ce7f8019d6e8794524cd9f182ab9d1a151644d6ccd3ee582cd2', + '944852af2b5a493f5261fd619af828c6e4afc0c90e6f7e709acfb616c5b51648', # runtime2014bLinux.tar.gz +] + +postinstallcmds = ['cp -a %(builddir)s/MCRv84/ %(installdir)s'] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb new file mode 100644 index 00000000000..b748541a3a9 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos7_x86_64.eb @@ -0,0 +1,28 @@ +name = 'FreeSurfer' +version = '7.3.2' +versionsuffix = '-centos7_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +checksums = [ + {'freesurfer-linux-centos7_x86_64-7.3.2.tar.gz': + '58518d3ee5abd2e05109208aed2eef145c4e3b994164df8c4e0033c1343b9e56'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos8_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos8_x86_64.eb new file mode 100644 index 00000000000..1fc9fd09b84 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.3.2-centos8_x86_64.eb @@ -0,0 +1,28 @@ +name = 'FreeSurfer' +version = '7.3.2' +versionsuffix = '-centos8_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +checksums = [ + # freesurfer-linux-centos8_x86_64-7.3.2.tar.gz + '1448e64000b02a06aaad81548a4c8f92faf575f8320e67bdcd15a430ad10879b', +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-centos8_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-centos8_x86_64.eb new file mode 100644 index 00000000000..d50470775f8 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-centos8_x86_64.eb @@ -0,0 +1,28 @@ +name = 'FreeSurfer' +version = '7.4.0' +versionsuffix = '-centos8_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +checksums = [ + {'freesurfer-linux-centos8_x86_64-7.4.0.tar.gz': + 'a2eb8ca6d12c9133c4af90167d6b9fa532f7ace98cc0e1bc97c8a6135b53c237'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu20_amd64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu20_amd64.eb new file mode 100644 index 00000000000..68ca847668d --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu20_amd64.eb @@ -0,0 +1,28 @@ +name = 'FreeSurfer' +version = '7.4.0' +versionsuffix = '-ubuntu20_amd64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +checksums = [ + {'freesurfer-linux-ubuntu20_amd64-7.4.0.tar.gz': + '2149e0d54220abf81b0caa5736b648b56f409b1e6578d921d0f7e4d62d586ca5'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu22_amd64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu22_amd64.eb new file mode 100644 index 00000000000..0ae8d331302 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.0-ubuntu22_amd64.eb @@ -0,0 +1,28 @@ +name = 'FreeSurfer' +version = '7.4.0' +versionsuffix = '-ubuntu22_amd64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +checksums = [ + {'freesurfer-linux-ubuntu22_amd64-7.4.0.tar.gz': + 'acd7f8b9a75cf41fab837caa95f2c9017079c15ca4446df2c47c88c321264f82'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos7_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos7_x86_64.eb new file mode 100644 index 00000000000..bb76714227e --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos7_x86_64.eb @@ -0,0 +1,30 @@ +name = 'FreeSurfer' +version = '7.4.1' +versionsuffix = '-centos7_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +patches = ['%(namelower)s-%(version)s-hardcoded-path.patch'] +checksums = [ + {'freesurfer-linux-centos7_x86_64-7.4.1.tar.gz': + '313a96caeb246c5985f483633b5cf43f86ed8f7ccc6d6acfac8eedb638443010'}, + {'freesurfer-7.4.1-hardcoded-path.patch': 'f75d8eeb90086d290b8122c5174b77c210ea5d900bdc3040736aef4d69e65295'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos8_x86_64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos8_x86_64.eb new file mode 100644 index 00000000000..965b5259c75 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-centos8_x86_64.eb @@ -0,0 +1,30 @@ +name = 'FreeSurfer' +version = '7.4.1' +versionsuffix = '-centos8_x86_64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +patches = ['%(namelower)s-%(version)s-hardcoded-path.patch'] +checksums = [ + {'freesurfer-linux-centos8_x86_64-7.4.1.tar.gz': + '302f2745886fcb571f2050bc2e2a7b4ff982e844bcc20c842d0d0b32b514c56a'}, + {'freesurfer-7.4.1-hardcoded-path.patch': 'f75d8eeb90086d290b8122c5174b77c210ea5d900bdc3040736aef4d69e65295'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu20_amd64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu20_amd64.eb new file mode 100644 index 00000000000..984c6cdfbf1 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu20_amd64.eb @@ -0,0 +1,30 @@ +name = 'FreeSurfer' +version = '7.4.1' +versionsuffix = '-ubuntu20_amd64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +patches = ['%(namelower)s-%(version)s-hardcoded-path.patch'] +checksums = [ + {'freesurfer-linux-ubuntu20_amd64-7.4.1.tar.gz': + 'f61ab4bf6594f996e1a664eb00ab60fb731b7642751bacd4f32a915820a1d7c8'}, + {'freesurfer-7.4.1-hardcoded-path.patch': 'f75d8eeb90086d290b8122c5174b77c210ea5d900bdc3040736aef4d69e65295'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu22_amd64.eb b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu22_amd64.eb new file mode 100644 index 00000000000..d7d14eab1c5 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/FreeSurfer-7.4.1-ubuntu22_amd64.eb @@ -0,0 +1,30 @@ +name = 'FreeSurfer' +version = '7.4.1' +versionsuffix = '-ubuntu22_amd64' + +homepage = 'https://surfer.nmr.mgh.harvard.edu/' +description = """FreeSurfer is a set of tools for analysis and visualization +of structural and functional brain imaging data. FreeSurfer contains a fully +automatic structural imaging stream for processing cross sectional and +longitudinal data.""" + +toolchain = SYSTEM + +source_urls = ['https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/%(version)s/'] +sources = ['%(namelower)s-linux%(versionsuffix)s-%(version)s.tar.gz'] +patches = ['%(namelower)s-%(version)s-hardcoded-path.patch'] +checksums = [ + {'freesurfer-linux-ubuntu22_amd64-7.4.1.tar.gz': + '6db470445f3b2e973fcfdc9231c775896e54a4dbfc4ce0d5ef5775bc7dca182d'}, + {'freesurfer-7.4.1-hardcoded-path.patch': 'f75d8eeb90086d290b8122c5174b77c210ea5d900bdc3040736aef4d69e65295'}, +] + +dependencies = [('MCR', 'R2019b.8')] + +postinstallcmds = ["ln -s $EBROOTMCR/v97 %(installdir)s/MCRv97"] + +license_text = """email@example.com +00000 +g1bb3r1sh""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FreeSurfer/freesurfer-7.4.1-hardcoded-path.patch b/easybuild/easyconfigs/f/FreeSurfer/freesurfer-7.4.1-hardcoded-path.patch new file mode 100644 index 00000000000..84e81f19d68 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeSurfer/freesurfer-7.4.1-hardcoded-path.patch @@ -0,0 +1,64 @@ +A bug was discovered in FreeSurver versions 7.4.0 and 7.4.1 which means the path to freesurver is hard coded. +See: https://surfer.nmr.mgh.harvard.edu/fswiki/recon-all-clinical +Thanks to Santiago Lacalle Puig (Imperial College London/UK) for this. +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/freesurfer.orig/bin/recon-all-clinical.sh b/freesurfer/bin/recon-all-clinical.sh +index 7af36a5..f0906d9 100755 +--- a/freesurfer.orig/bin/recon-all-clinical.sh ++++ b/freesurfer/bin/recon-all-clinical.sh +@@ -20,9 +20,9 @@ if( $1 == "--help") then + echo " " + echo "Use this script to process clinical scans of arbitrary orientation, resolution, and " + echo "contrast. It essentially runs a combination of:" +- echo "* SynthSeg: to obtain an aseg.auto_noCCseg.mgz and to compute a Talairach transform" +- echo "* SynthSR: not really needed for volumes / surfaces, but still nice to have a 1mm MPRAGE" +- echo "* SynthSurfaces (or whatever Karthik will name it!): to fit surfaces." ++ echo "* SynthSeg: to obtain a volumetric segmentation and linear registration to Talairach space" ++ echo "* SynthSR: to have a higher resolution 1mm MPRAGE for visualization" ++ echo "* SynthDist: to fit surfaces by predicting the distance maps and reconstructing topologically accurate cortical surfaces" + echo " " + echo "Using this module is very simple: you just provide an input scan, the subject name, the" + echo "number of threads you want to use, and (optionally) the subjects directory:" +@@ -560,7 +560,7 @@ set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsavera + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/lh.hOc4v.mpm.vpnl.label --trgsubject $SNAME --trglabel ./lh.hOc4v.mpm.vpnl.label --hemi lh --regmethod surface" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --ctab /usr/local/freesurfer/dev/average/colortable_vpnl.txt --hemi lh --a mpm.vpnl --maxstatwinner --noverbose --l lh.FG1.mpm.vpnl.label --l lh.FG2.mpm.vpnl.label --l lh.FG3.mpm.vpnl.label --l lh.FG4.mpm.vpnl.label --l lh.hOc1.mpm.vpnl.label --l lh.hOc2.mpm.vpnl.label --l lh.hOc3v.mpm.vpnl.label --l lh.hOc4v.mpm.vpnl.label" ++set cmd="mris_label2annot --s $SNAME --ctab $FREESURFER_HOME/average/colortable_vpnl.txt --hemi lh --a mpm.vpnl --maxstatwinner --noverbose --l lh.FG1.mpm.vpnl.label --l lh.FG2.mpm.vpnl.label --l lh.FG3.mpm.vpnl.label --l lh.FG4.mpm.vpnl.label --l lh.hOc1.mpm.vpnl.label --l lh.hOc2.mpm.vpnl.label --l lh.hOc3v.mpm.vpnl.label --l lh.hOc4v.mpm.vpnl.label" + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/lh.BA1_exvivo.thresh.label --trgsubject $SNAME --trglabel ./lh.BA1_exvivo.thresh.label --hemi lh --regmethod surface" + $cmd |& tee -a $LogFile +@@ -590,9 +590,9 @@ set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsavera + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/lh.perirhinal_exvivo.thresh.label --trgsubject $SNAME --trglabel ./lh.perirhinal_exvivo.thresh.label --hemi lh --regmethod surface" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --hemi lh --ctab /usr/local/freesurfer/dev/average/colortable_BA.txt --l lh.BA1_exvivo.label --l lh.BA2_exvivo.label --l lh.BA3a_exvivo.label --l lh.BA3b_exvivo.label --l lh.BA4a_exvivo.label --l lh.BA4p_exvivo.label --l lh.BA6_exvivo.label --l lh.BA44_exvivo.label --l lh.BA45_exvivo.label --l lh.V1_exvivo.label --l lh.V2_exvivo.label --l lh.MT_exvivo.label --l lh.perirhinal_exvivo.label --l lh.entorhinal_exvivo.label --a BA_exvivo --maxstatwinner --noverbose" ++set cmd="mris_label2annot --s $SNAME --hemi lh --ctab $FREESURFER_HOME/average/colortable_BA.txt --l lh.BA1_exvivo.label --l lh.BA2_exvivo.label --l lh.BA3a_exvivo.label --l lh.BA3b_exvivo.label --l lh.BA4a_exvivo.label --l lh.BA4p_exvivo.label --l lh.BA6_exvivo.label --l lh.BA44_exvivo.label --l lh.BA45_exvivo.label --l lh.V1_exvivo.label --l lh.V2_exvivo.label --l lh.MT_exvivo.label --l lh.perirhinal_exvivo.label --l lh.entorhinal_exvivo.label --a BA_exvivo --maxstatwinner --noverbose" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --hemi lh --ctab /usr/local/freesurfer/dev/average/colortable_BA.txt --l lh.BA1_exvivo.thresh.label --l lh.BA2_exvivo.thresh.label --l lh.BA3a_exvivo.thresh.label --l lh.BA3b_exvivo.thresh.label --l lh.BA4a_exvivo.thresh.label --l lh.BA4p_exvivo.thresh.label --l lh.BA6_exvivo.thresh.label --l lh.BA44_exvivo.thresh.label --l lh.BA45_exvivo.thresh.label --l lh.V1_exvivo.thresh.label --l lh.V2_exvivo.thresh.label --l lh.MT_exvivo.thresh.label --l lh.perirhinal_exvivo.thresh.label --l lh.entorhinal_exvivo.thresh.label --a BA_exvivo.thresh --maxstatwinner --noverbose" ++set cmd="mris_label2annot --s $SNAME --hemi lh --ctab $FREESURFER_HOME/average/colortable_BA_thresh.txt --l lh.BA1_exvivo.thresh.label --l lh.BA2_exvivo.thresh.label --l lh.BA3a_exvivo.thresh.label --l lh.BA3b_exvivo.thresh.label --l lh.BA4a_exvivo.thresh.label --l lh.BA4p_exvivo.thresh.label --l lh.BA6_exvivo.thresh.label --l lh.BA44_exvivo.thresh.label --l lh.BA45_exvivo.thresh.label --l lh.V1_exvivo.thresh.label --l lh.V2_exvivo.thresh.label --l lh.MT_exvivo.thresh.label --l lh.perirhinal_exvivo.thresh.label --l lh.entorhinal_exvivo.thresh.label --a BA_exvivo.thresh --maxstatwinner --noverbose" + $cmd |& tee -a $LogFile + set cmd="mris_anatomical_stats -th3 -mgz -f ../stats/lh.BA_exvivo.stats -b -a ./lh.BA_exvivo.annot -c ./BA_exvivo.ctab $SNAME lh white" + $cmd |& tee -a $LogFile +@@ -642,7 +642,7 @@ set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsavera + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/rh.hOc4v.mpm.vpnl.label --trgsubject $SNAME --trglabel ./rh.hOc4v.mpm.vpnl.label --hemi rh --regmethod surface" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --ctab /usr/local/freesurfer/dev/average/colortable_vpnl.txt --hemi rh --a mpm.vpnl --maxstatwinner --noverbose --l rh.FG1.mpm.vpnl.label --l rh.FG2.mpm.vpnl.label --l rh.FG3.mpm.vpnl.label --l rh.FG4.mpm.vpnl.label --l rh.hOc1.mpm.vpnl.label --l rh.hOc2.mpm.vpnl.label --l rh.hOc3v.mpm.vpnl.label --l rh.hOc4v.mpm.vpnl.label" ++set cmd="mris_label2annot --s $SNAME --ctab $FREESURFER_HOME/average/colortable_vpnl.txt --hemi rh --a mpm.vpnl --maxstatwinner --noverbose --l rh.FG1.mpm.vpnl.label --l rh.FG2.mpm.vpnl.label --l rh.FG3.mpm.vpnl.label --l rh.FG4.mpm.vpnl.label --l rh.hOc1.mpm.vpnl.label --l rh.hOc2.mpm.vpnl.label --l rh.hOc3v.mpm.vpnl.label --l rh.hOc4v.mpm.vpnl.label" + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/rh.BA1_exvivo.thresh.label --trgsubject $SNAME --trglabel ./rh.BA1_exvivo.thresh.label --hemi rh --regmethod surface" + $cmd |& tee -a $LogFile +@@ -672,9 +672,9 @@ set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsavera + $cmd |& tee -a $LogFile + set cmd="mri_label2label --srcsubject fsaverage --srclabel $SUBJECTS_DIR/fsaverage/label/rh.perirhinal_exvivo.thresh.label --trgsubject $SNAME --trglabel ./rh.perirhinal_exvivo.thresh.label --hemi rh --regmethod surface" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --hemi rh --ctab /usr/local/freesurfer/dev/average/colortable_BA.txt --l rh.BA1_exvivo.label --l rh.BA2_exvivo.label --l rh.BA3a_exvivo.label --l rh.BA3b_exvivo.label --l rh.BA4a_exvivo.label --l rh.BA4p_exvivo.label --l rh.BA6_exvivo.label --l rh.BA44_exvivo.label --l rh.BA45_exvivo.label --l rh.V1_exvivo.label --l rh.V2_exvivo.label --l rh.MT_exvivo.label --l rh.perirhinal_exvivo.label --l rh.entorhinal_exvivo.label --a BA_exvivo --maxstatwinner --noverbose" ++set cmd="mris_label2annot --s $SNAME --hemi rh --ctab $FREESURFER_HOME/average/colortable_BA.txt --l rh.BA1_exvivo.label --l rh.BA2_exvivo.label --l rh.BA3a_exvivo.label --l rh.BA3b_exvivo.label --l rh.BA4a_exvivo.label --l rh.BA4p_exvivo.label --l rh.BA6_exvivo.label --l rh.BA44_exvivo.label --l rh.BA45_exvivo.label --l rh.V1_exvivo.label --l rh.V2_exvivo.label --l rh.MT_exvivo.label --l rh.perirhinal_exvivo.label --l rh.entorhinal_exvivo.label --a BA_exvivo --maxstatwinner --noverbose" + $cmd |& tee -a $LogFile +-set cmd="mris_label2annot --s $SNAME --hemi rh --ctab /usr/local/freesurfer/dev/average/colortable_BA.txt --l rh.BA1_exvivo.thresh.label --l rh.BA2_exvivo.thresh.label --l rh.BA3a_exvivo.thresh.label --l rh.BA3b_exvivo.thresh.label --l rh.BA4a_exvivo.thresh.label --l rh.BA4p_exvivo.thresh.label --l rh.BA6_exvivo.thresh.label --l rh.BA44_exvivo.thresh.label --l rh.BA45_exvivo.thresh.label --l rh.V1_exvivo.thresh.label --l rh.V2_exvivo.thresh.label --l rh.MT_exvivo.thresh.label --l rh.perirhinal_exvivo.thresh.label --l rh.entorhinal_exvivo.thresh.label --a BA_exvivo.thresh --maxstatwinner --noverbose" ++set cmd="mris_label2annot --s $SNAME --hemi rh --ctab $FREESURFER_HOME/average/colortable_BA_thresh.txt --l rh.BA1_exvivo.thresh.label --l rh.BA2_exvivo.thresh.label --l rh.BA3a_exvivo.thresh.label --l rh.BA3b_exvivo.thresh.label --l rh.BA4a_exvivo.thresh.label --l rh.BA4p_exvivo.thresh.label --l rh.BA6_exvivo.thresh.label --l rh.BA44_exvivo.thresh.label --l rh.BA45_exvivo.thresh.label --l rh.V1_exvivo.thresh.label --l rh.V2_exvivo.thresh.label --l rh.MT_exvivo.thresh.label --l rh.perirhinal_exvivo.thresh.label --l rh.entorhinal_exvivo.thresh.label --a BA_exvivo.thresh --maxstatwinner --noverbose" + $cmd |& tee -a $LogFile + set cmd="mris_anatomical_stats -th3 -mgz -f ../stats/rh.BA_exvivo.stats -b -a ./rh.BA_exvivo.annot -c ./BA_exvivo.ctab $SNAME rh white" + $cmd |& tee -a $LogFile + diff --git a/easybuild/easyconfigs/f/FreeTDS/FreeTDS-1.3.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FreeTDS/FreeTDS-1.3.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8467c1d6f61 --- /dev/null +++ b/easybuild/easyconfigs/f/FreeTDS/FreeTDS-1.3.3-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +# easybuild easyconfig +# +easyblock = 'ConfigureMake' + +name = 'FreeTDS' +version = '1.3.3' + +homepage = "https://www.freetds.org/" +description = """FreeTDS is a set of libraries for Unix and Linux that allows your programs to + natively talk to Microsoft SQL Server and Sybase databases.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://www.freetds.org/files/stable'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a21a0aa351185049e11e237a795a61e3ca68d2e798259b3b5ea4a9797d5a5535'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-openssl' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bsqldb', 'datacopy', 'defncopy', 'fisql', 'freebcp', + 'osql', 'tdspool', 'tsql']] + + ['etc/%s' % x for x in ['freetds.conf', 'locales.conf', 'pool.conf']] + + ['include/%s' % x for x in ['bkpublic.h', 'cstypes.h', 'odbcss.h', 'sqlfront.h', + 'syberror.h', 'tds_sysdep_public.h', 'cspublic.h', + 'ctpublic.h', 'sqldb.h', 'sybdb.h', 'sybfront.h']] + + ['lib/libct.%s' % x for x in ['a', 'la', SHLIB_EXT]] + + ['lib/libsybdb.%s' % x for x in ['a', 'la', SHLIB_EXT]], + 'dirs': ['bin', 'etc', 'include', 'lib', 'share/doc', 'share/man', 'share/man/man5'], +} + +_bins = ['bsqldb', 'datacopy', 'defncopy', 'fisql', 'freebcp', 'tdspool', 'tsql'] +sanity_check_commands = ['%s -h 2>&1 |grep -i "^usage:"' % x for x in _bins] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6bc2457695b --- /dev/null +++ b/easybuild/easyconfigs/f/FreeXL/FreeXL-1.0.6-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FreeXL' +version = '1.0.6' + +homepage = 'https://www.gaia-gis.it/fossil/freexl/index' + +description = """ +FreeXL is an open source library to extract valid data from within an +Excel (.xls) spreadsheet. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gaia-gis.it/gaia-sins'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3de8b57a3d130cb2881ea52d3aa9ce1feedb1b57b7daa4eb37f751404f90fc22'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['lib/libfreexl.a'], + 'dirs': [] +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..89ac34d49c8 --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.10-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.10' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7f1c687c7831499bcacae5e8675945a39bacbad16ecaa945e9454a32df653c01'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5bcf88c38fe --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.12' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..357b9f24de3 --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.12' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/fribidi/fribidi/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4df1d5562a9 --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.12-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.12' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/fribidi/fribidi/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0cd233f97fc8c67bb3ac27ce8440def5d3ffacf516765b91c2cc654498293495'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..bd7cef70af5 --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.13-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.13' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/fribidi/fribidi/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7fa16c80c81bd622f7b198d31356da139cc318a63fc7761217af4130903f54a2'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.15-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.15-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a31f21a37dd --- /dev/null +++ b/easybuild/easyconfigs/f/FriBidi/FriBidi-1.0.15-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'FriBidi' +version = '1.0.15' + +homepage = 'https://github.com/fribidi/fribidi' + +description = """ + The Free Implementation of the Unicode Bidirectional Algorithm. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/fribidi/fribidi/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0bbc7ff633bfa208ae32d7e369cf5a7d20d5d2557a0b067c9aa98bcbf9967587'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'include/%(namelower)s/%(namelower)s.h', + 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lang' 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/FunGAP/FunGAP-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1-foss-2022a.eb new file mode 100644 index 00000000000..f2205d273fb --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1-foss-2022a.eb @@ -0,0 +1,105 @@ +easyblock = 'Tarball' + +name = 'FunGAP' +version = '1.1.1' + +homepage = 'https://github.com/CompSynBioLab-KoreaUniv/FunGAP' +description = "Fungal Genome Annotation Pipeline using evidence-based gene model evaluation." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Tag v1.1.1 points to an old commit still in v1.1.0 +# pull correct sources from specific commit +_commit = '924f3ba080f98cbf181b0b21601e095619479ce6' + +source_urls = ['https://github.com/CompSynBioLab-KoreaUniv/FunGAP/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + 'FunGAP-%(version)s_fix-snap-detection.patch', + 'FunGAP-%(version)s_relax-dependency-checks.patch', + 'FunGAP-%(version)s_replace-deprecated-pa-repeatmodeler.patch', + 'FunGAP-%(version)s_fix-maker-exes.patch', + 'FunGAP-%(version)s_fix-augustus-calls-in-runbreaker.patch', +] +checksums = [ + {'FunGAP-1.1.1.tar.gz': '3d827c4b11452afdd51b71766e0e3193b7efad31db4536606115f2cac0b964c8'}, + {'FunGAP-1.1.1_fix-snap-detection.patch': 'f782224ce186e1e2d8953898122b79d616f8a749b00ec662ec5a3fa1903550fa'}, + {'FunGAP-1.1.1_relax-dependency-checks.patch': '73f9ae2a20cf03c34f852642a28d3b7e9858250f653ff1e711c3c9a56ae2fd77'}, + {'FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch': + 'c528aab74a070d6eedc9ff2097b6149e8d36759b9ff93c46302994179a38a774'}, + {'FunGAP-1.1.1_fix-maker-exes.patch': 'de344cf45dad047ab46a17462e19ce0789a89071c1484cbdedd9d898f9601bd0'}, + {'FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch': + '150b6f79f95d0c8abece42231c5dcedf8610a811db9cc63ac6cc047f0dcfdc64'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('AUGUSTUS', '3.5.0'), + ('BamTools', '2.5.2'), + ('bcbio-gff', '0.7.0'), + ('BRAKER', '2.1.6'), + ('BUSCO', '5.4.5'), + ('HISAT2', '2.2.1'), + ('MAKER', '3.01.04'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('PfamScan', '1.6'), + ('RepeatModeler', '2.0.4'), + ('SAMtools', '1.16.1'), + ('SNAP-HMM', '20221022'), + ('Trinity', '2.15.1'), + ('wget', '1.21.3'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('markdown2', '2.4.8', { + 'checksums': ['90475aca3d9c8e7df6d70c51de5bbbe9edf7fcf6a380bd1044d321500f5445da'], + }), +] + +# FunGAP needs the Pfam database (280 MB download, 1.5 GB on disk) +# if it's already available in your system change _pfam_db_dir to its location +_pfam_db_dir = '%(installdir)s/db' +_pfam_db_url = 'https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release' +_pfam_db_install_cmds = [ + "mkdir -p %s" % _pfam_db_dir, + "wget -P %s %s/{Pfam-A.hmm.gz,Pfam-A.hmm.dat.gz,active_site.dat.gz}" % (_pfam_db_dir, _pfam_db_url), + "gzip -d %s/*.gz" % _pfam_db_dir, + "hmmpress %s/Pfam-A.hmm" % _pfam_db_dir, +] + +postinstallcmds = [ + # install Pfam DB if missing + "if [ ! -f %s/Pfam-A.hmm ]; then %s; fi" % (_pfam_db_dir, " && ".join(_pfam_db_install_cmds)), + # execute set_dependencies.py, which creates configuration file and runs some quick tests + ("cd %%(installdir)s && ./set_dependencies.py --pfam_db_path %s --genemark_path $EBROOTGENEMARKMINET " + "--maker_path $EBROOTMAKER/bin --snap_path $EBROOTSNAPMINHMM/bin" % _pfam_db_dir), +] + +sanity_check_paths = { + 'files': ['fungap.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': ['', 'lib/python%(pyshortver)s/site-packages'] +} + +modextravars = { + 'FUNGAP_DIR': '%(installdir)s', +} + +sanity_check_commands = [ + ('fungap.py', '--help'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch new file mode 100644 index 00000000000..a245df16275 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-augustus-calls-in-runbreaker.patch @@ -0,0 +1,54 @@ +Set paths to AUGUSTUS installation preferably from its environment variables +Fix location of getAnnoFastaFromJoingenes.py script from AUGUSTUS +see https://github.com/CompSynBioLab-KoreaUniv/FunGAP/pull/98 +author: Alex Domingo (Vrije Universirteit Brussel) +--- run_braker.py.orig 2023-04-03 12:07:35.178272000 +0200 ++++ run_braker.py 2023-04-03 12:24:48.713953000 +0200 +@@ -124,8 +124,19 @@ + logger_time.debug('START: BRAKER') + + if not os.path.exists(gff3_braker): +- augustus_config_path = os.path.join( +- os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../config') ++ augustus_bin_path = os.environ[ ++ 'AUGUSTUS_BIN_PATH' ++ ] or os.path.dirname(D_CONF['AUGUSTUS_PATH']) ++ augustus_config_path = os.environ[ ++ 'AUGUSTUS_CONFIG_PATH' ++ ] or os.path.join( ++ os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../config' ++ ) ++ augustus_scripts_path = os.environ[ ++ 'AUGUSTUS_SCRIPTS_PATH' ++ ] or os.path.join( ++ os.path.dirname(D_CONF['AUGUSTUS_PATH']), '../scripts' ++ ) + config_species = os.path.join( + augustus_config_path, 'species', prefix) + species = prefix +@@ -140,7 +151,6 @@ + bamtools_path = os.path.dirname(D_CONF['BAMTOOLS_PATH']) + genemark_path = os.path.dirname(D_CONF['GENEMARK_PATH']) + samtools_path = os.path.dirname(D_CONF['SAMTOOLS_PATH']) +- augustus_scripts_path = os.path.dirname(D_CONF['AUGUSTUS_PATH']) + working_dir = os.path.join(output_dir, prefix) + if not os.path.exists(working_dir): + os.mkdir(working_dir) +@@ -153,7 +163,7 @@ + braker_bin, fungus_flag, num_cores, adjusted_assembly, + bam_file, species, augustus_config_path, bamtools_path, + genemark_path, samtools_path, working_dir, +- translation_table, augustus_scripts_path, log_braker)) ++ translation_table, augustus_bin_path, log_braker)) + logger_txt.debug('[Run] %s', command1) + os.system(command1) + +@@ -165,7 +175,7 @@ + + augustus_dir = os.path.dirname(D_CONF['AUGUSTUS_PATH']) + get_anno_script = os.path.join( +- augustus_dir, 'getAnnoFastaFromJoingenes.py') ++ augustus_scripts_path, 'getAnnoFastaFromJoingenes.py') + if not os.path.exists(get_anno_script): + get_anno_script = os.path.join( + augustus_dir, diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch new file mode 100644 index 00000000000..b172ca04d47 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-maker-exes.patch @@ -0,0 +1,20 @@ +The paths to MAKER executables set by MAKER are already correct, avoid +tampering with them. +author: Alex Domingo (Vrije Universiteit Brussel) +--- run_maker.py.orig 2023-03-21 09:19:05.057679000 +0100 ++++ run_maker.py 2023-03-21 09:19:49.143408491 +0100 +@@ -463,14 +463,6 @@ + replace('maker_opts.ctl', 'protein_pass=0', 'protein_pass=1') + replace('maker_opts.ctl', 'rm_pass=0', 'rm_pass=1') + +- # Program paths +- for program in [ +- 'makeblastdb', 'blastn', 'blastx', 'tblastx', 'RepeatMasker', +- 'exonerate', 'snap', 'augustus', 'tRNAscan-SE', 'snoscan']: +- replace('maker_exe.ctl', '{}='.format(program), '{}={}'.format( +- program, os.path.join(os.path.dirname(maker_bin), program) +- )) +- + # Last run, keep_preds=1 + if version == '4': + replace('maker_opts.ctl', 'keep_preds=0', 'keep_preds=1') diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch new file mode 100644 index 00000000000..c8dd7ab6262 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_fix-snap-detection.patch @@ -0,0 +1,61 @@ +Fix detection of fathom, forge and hmm-assembler.pl, which are not part of MAKER but SNAP +see https://github.com/CompSynBioLab-KoreaUniv/FunGAP/pull/97 +author: Alex Domingo (Vrije Universiteit Brussel) +--- set_dependencies.py.orig 2023-03-16 15:27:00.506475000 +0100 ++++ set_dependencies.py 2023-03-16 15:31:31.102674857 +0100 +@@ -44,6 +44,10 @@ + help='Maker bin path' + ) + parser.add_argument( ++ '-s', '--snap_path', nargs=1, required=True, ++ help='SNAP-HMM bin path' ++ ) ++ parser.add_argument( + '-r', '--with_repeat_modeler', nargs='?', default='', + help='User-defined RepeatModeler bin path' + ) +@@ -76,6 +80,7 @@ + pfam_db_path = os.path.abspath(args.pfam_db_path[0]) + i_genemark_path = os.path.abspath(args.genemark_path[0]) + i_maker_path = os.path.abspath(args.maker_path[0]) ++ i_snap_path = os.path.abspath(args.snap_path[0]) + if args.with_repeat_modeler: + with_repeat_modeler = os.path.abspath(args.with_repeat_modeler) + else: +@@ -104,8 +109,9 @@ + pfam_scan_path, blastp_path, blastn_path, blastx_path, + makeblastdb_path, samtools_path, bamtools_path, augustus_path + ) = get_path( +- i_genemark_path, i_maker_path, with_repeat_modeler, with_augustus, +- with_hisat2, with_trinity, with_braker, with_busco, with_pfam_scan ++ i_genemark_path, i_maker_path, i_snap_path, with_repeat_modeler, ++ with_augustus, with_hisat2, with_trinity, with_braker, with_busco, ++ with_pfam_scan + ) + check_working( + genemark_path, gmhmme3_path, probuild_path, build_database_path, +@@ -159,8 +165,9 @@ + + + def get_path( +- i_genemark_path, i_maker_path, with_repeat_modeler, with_augustus, +- with_hisat2, with_trinity, with_braker, with_busco, with_pfam_scan): ++ i_genemark_path, i_maker_path, i_snap_path, with_repeat_modeler, ++ with_augustus, with_hisat2, with_trinity, with_braker, with_busco, ++ with_pfam_scan): + '''Get path''' + print('\n** Checking the installed locations of dependencies **\n') + +@@ -198,9 +205,9 @@ + gff3_merge_path = check_binary('Maker', i_maker_path, 'gff3_merge') + fasta_merge_path = check_binary('Maker', i_maker_path, 'fasta_merge') + maker2zff_path = check_binary('Maker', i_maker_path, 'maker2zff') +- fathom_path = check_binary('Snap', i_maker_path, 'fathom') +- forge_path = check_binary('Snap', i_maker_path, 'forge') +- hmm_assembler_path = check_binary('Snap', i_maker_path, 'hmm-assembler.pl') ++ fathom_path = check_binary('Snap', i_snap_path, 'fathom') ++ forge_path = check_binary('Snap', i_snap_path, 'forge') ++ hmm_assembler_path = check_binary('Snap', i_snap_path, 'hmm-assembler.pl') + build_database_path = check_binary( + 'RepeatModeler (BuildDatabase)', with_repeat_modeler, 'BuildDatabase', + ) diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch new file mode 100644 index 00000000000..68d88fe47b2 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_relax-dependency-checks.patch @@ -0,0 +1,29 @@ +Disable too strict check on version of AUGUSTUS and the GeneMark key in the +home directory of the user +author: Alex Domingo (Vrije Universiteit Brusel) +--- set_dependencies.py.orig 2023-03-16 15:50:03.802522000 +0100 ++++ set_dependencies.py 2023-03-16 15:50:28.562603082 +0100 +@@ -284,15 +284,15 @@ + check_working_internal(samtools_path, [samtools_path, '--help']) + check_working_internal(bamtools_path, [bamtools_path, '--help']) + check_working_internal(augustus_path, [augustus_path, '--help']) +- check_augustus_version(augustus_path) ++ # check_augustus_version(augustus_path) + +- # For GeneMark, check the .gm_key +- home_path = os.path.expanduser('~') +- if not os.path.exists(os.path.join(home_path, '.gm_key')): +- sys.exit( +- '\n[ERROR] You do not have .gm_key in your home directory.\n' +- 'Check https://wiki.gacrc.uga.edu/wiki/GeneMark' +- ) ++ # # For GeneMark, check the .gm_key ++ # home_path = os.path.expanduser('~') ++ # if not os.path.exists(os.path.join(home_path, '.gm_key')): ++ # sys.exit( ++ # '\n[ERROR] You do not have .gm_key in your home directory.\n' ++ # 'Check https://wiki.gacrc.uga.edu/wiki/GeneMark' ++ # ) + + def check_augustus_version(augustus_path): + '''Check Augustus version 3.3.3''' diff --git a/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch new file mode 100644 index 00000000000..8d75c3a8ae6 --- /dev/null +++ b/easybuild/easyconfigs/f/FunGAP/FunGAP-1.1.1_replace-deprecated-pa-repeatmodeler.patch @@ -0,0 +1,22 @@ +Replace deprecated -pa option in newer versions of RepeatModeler with -threads +author: Alex Domingo (Vrije Universiteit Brussel) +--- run_repeat_modeler.py.orig 2023-03-17 09:23:21.857374000 +0100 ++++ run_repeat_modeler.py 2023-03-17 09:24:17.655942000 +0100 +@@ -73,7 +73,7 @@ + + # BuildDatabase -name Choanephora_cucurbitarum + # ../Choanephora_cucurbitarum_assembly.fna +- # RepeatModeler -database Choanephora_cucurbitarum -pa 25 ++ # RepeatModeler -database Choanephora_cucurbitarum -threads 25 + + # Get repeat model + repeat_lib = os.path.join(output_dir, '*', 'consensi.fa.classified') +@@ -89,7 +89,7 @@ + os.system(command1) + + log_file2 = os.path.join(log_dir, 'repeat_modeler.log') +- command2 = '{} -database {} -pa {} > {} 2>&1'.format( ++ command2 = '{} -database {} -threads {} > {} 2>&1'.format( + repeatmodeler_bin, genome_assembly, num_cores, log_file2 + ) + logger_txt.debug('[Run] %s', command2) diff --git a/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.20-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.20-foss-2019b-Python-2.7.16.eb index 5db5fc0424e..6d3a32e9eac 100644 --- a/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.20-foss-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.20-foss-2019b-Python-2.7.16.eb @@ -13,7 +13,7 @@ github_account = 'ndaniel' toolchain = {'name': 'foss', 'version': '2019b'} dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Python', '2.7.16'), ('SciPy-bundle', '2019.10', versionsuffix), ('Biopython', '1.75', versionsuffix), @@ -24,7 +24,7 @@ dependencies = [ ('Kent_tools', '401'), # required for liftOver ('SRA-Toolkit', '2.10.4'), ('STAR', '2.7.2b'), - ('picard', '2.21.6', '-Java-11', True), # optional + ('picard', '2.21.6', '-Java-11', SYSTEM), # optional ('Velvet', '1.2.10', '-mt-kmer_191'), # optional ('openpyxl', '2.6.4', versionsuffix), # optional ('parallel', '20190922'), # optional diff --git a/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.30-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.30-foss-2019b-Python-2.7.16.eb index 1f85b510834..19f5df4c694 100644 --- a/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.30-foss-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/f/FusionCatcher/FusionCatcher-1.30-foss-2019b-Python-2.7.16.eb @@ -13,7 +13,7 @@ github_account = 'ndaniel' toolchain = {'name': 'foss', 'version': '2019b'} dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Python', '2.7.16'), ('SciPy-bundle', '2019.10', versionsuffix), ('Biopython', '1.75', versionsuffix), @@ -24,7 +24,7 @@ dependencies = [ ('Kent_tools', '401'), # required for liftOver ('SRA-Toolkit', '2.10.4'), ('STAR', '2.7.2b'), - ('picard', '2.21.6', '-Java-11', True), # optional + ('picard', '2.21.6', '-Java-11', SYSTEM), # optional ('Velvet', '1.2.10', '-mt-kmer_191'), # optional ('openpyxl', '2.6.4', versionsuffix), # optional ('parallel', '20190922'), # optional 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/f90wrap/f90wrap-0.2.11-foss-2022a.eb b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.11-foss-2022a.eb new file mode 100644 index 00000000000..65b88622430 --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.11-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'f90wrap' +version = '0.2.11' + +homepage = 'https://github.com/jameskermode/f90wrap' +description = """f90wrap is a tool to automatically generate Python extension modules which +interface to Fortran code that makes use of derived types. It builds on the +capabilities of the popular f2py utility by generating a simpler Fortran 90 +interface to the original Fortran code which is then suitable for wrapping with +f2py, together with a higher-level Pythonic wrapper that makes the existance of +an additional layer transparent to the final user.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7f5eda60efbf9ce5bdffb0c864922910c2766bf9eefd3af290c81051226f7fc7'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/f2py-f90wrap', 'bin/f90doc', 'bin/f90wrap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + ('f90wrap', '--help'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb new file mode 100644 index 00000000000..153e5ca422f --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'f90wrap' +version = '0.2.13' + +homepage = 'https://github.com/jameskermode/f90wrap' +description = """f90wrap is a tool to automatically generate Python extension modules which +interface to Fortran code that makes use of derived types. It builds on the +capabilities of the popular f2py utility by generating a simpler Fortran 90 +interface to the original Fortran code which is then suitable for wrapping with +f2py, together with a higher-level Pythonic wrapper that makes the existance of +an additional layer transparent to the final user.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +patches = ['f90wrap-0.2.13_fix_old_typing.patch'] +checksums = [ + {'f90wrap-0.2.13.tar.gz': 'a61b73bb1cf028db54ad4b0c48627080d88e14463803dd55713c70f3e88b911e'}, + {'f90wrap-0.2.13_fix_old_typing.patch': 'e6fad329e4436b0ad2bd093d0a8dd22bf03fe6128dfe9e38d0db6bd0c2ed79e1'}, +] + +builddependencies = [ + ('meson-python', '0.15.0') +] +dependencies = [ + ('Python', '3.11.3'), + ("SciPy-bundle", "2023.07"), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/f2py-f90wrap', 'bin/f90doc', 'bin/f90wrap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + ('f90wrap', '--help'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch new file mode 100644 index 00000000000..a232ec81e8f --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.13_fix_old_typing.patch @@ -0,0 +1,37 @@ +Fixed old numpy API usage in f90wrap. This has been fixed in commit 108f819 and version 0.2.14 +--- f90wrap/arraydatamodule.c.orig 2024-04-19 14:22:57.488265190 +0200 ++++ f90wrap/arraydatamodule.c 2024-04-19 14:30:08.923493156 +0200 +@@ -59,13 +59,13 @@ + /* Processing variable this */ + this_Dims[0]=sizeof_fortran_t; + capi_this_intent |= F2PY_INTENT_IN; +- capi_this_tmp = array_from_pyobj(PyArray_INT,this_Dims,this_Rank,capi_this_intent,this_capi); ++ capi_this_tmp = array_from_pyobj(NPY_INT,this_Dims,this_Rank,capi_this_intent,this_capi); + if (capi_this_tmp == NULL) { + if (!PyErr_Occurred()) + PyErr_SetString(PyExc_TypeError,"failed in converting 1st argument `this' of get_array to C/Fortran array" ); + goto fail; + } else { +- this = (int *)(capi_this_tmp->data); ++ this = (int *)(PyArray_DATA(capi_this_tmp)); + } + + /* Processing variable arrayfunc */ +@@ -107,7 +107,7 @@ + /* Construct array */ + descr = PyArray_DescrNewFromType(typenum); + array = (PyArrayObject*) PyArray_NewFromDescr(&PyArray_Type, descr, nd, dimensions, NULL, +- data, NPY_FORTRAN | NPY_WRITEABLE | NPY_ALIGNED, NULL); ++ data, NPY_ARRAY_F_CONTIGUOUS | NPY_ARRAY_WRITEABLE | NPY_ARRAY_ALIGNED, NULL); + free(dimensions); + if((PyObject *)capi_this_tmp!=this_capi) { + Py_XDECREF(capi_this_tmp); +@@ -125,7 +125,7 @@ + + static PyMethodDef arraydata_methods[] = { + {"get_array", get_array, METH_VARARGS, +- "Make an array from integer(sizeof_fortran_t) array containing reference to derived type object,\n and fortran array function.\n\get_array(sizeof_fortran_t, fpointer,array_fobj[,key]) -> array"}, ++ "Make an array from integer(sizeof_fortran_t) array containing reference to derived type object,\n and fortran array function.\n\\get_array(sizeof_fortran_t, fpointer,array_fobj[,key]) -> array"}, + {NULL, NULL} + }; + diff --git a/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.8-foss-2021a.eb b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.8-foss-2021a.eb new file mode 100644 index 00000000000..d4004ab3cc4 --- /dev/null +++ b/easybuild/easyconfigs/f/f90wrap/f90wrap-0.2.8-foss-2021a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'f90wrap' +version = '0.2.8' + +homepage = 'https://github.com/jameskermode/f90wrap' +description = """f90wrap is a tool to automatically generate Python extension modules which +interface to Fortran code that makes use of derived types. It builds on the +capabilities of the popular f2py utility by generating a simpler Fortran 90 +interface to the original Fortran code which is then suitable for wrapping with +f2py, together with a higher-level Pythonic wrapper that makes the existance of +an additional layer transparent to the final user.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['23524b66ffb71365d93a701065cefb33bc3ba869bed18d0884d08fac05f097f2'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/f2py-f90wrap', 'bin/f90doc', 'bin/f90wrap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = [ + ('f90wrap', '--help'), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/face-recognition/face-recognition-1.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/f/face-recognition/face-recognition-1.3.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..d06d8172e1d --- /dev/null +++ b/easybuild/easyconfigs/f/face-recognition/face-recognition-1.3.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'face-recognition' +version = '1.3.0' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://github.com/ageitgey/face_recognition' +description = """Recognize and manipulate faces from Python or from the command line with + the world’s simplest face recognition library.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Pillow', '10.0.0'), + ('dlib', '19.24.6', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('face-recognition-models', '0.3.0', { + 'sources': ['face_recognition_models-%(version)s.tar.gz'], + 'checksums': ['b79bd200a88c87c9a9d446c990ae71c5a626d1f3730174e6d570157ff1d896cf'], + }), + (name, version, { + 'sources': ['face_recognition-%(version)s.tar.gz'], + 'checksums': ['5e5efdd1686aa566af0d3cc1313b131e4b197657a8ffd03669e6d3fad92705ec'], + }), +] + +sanity_check_paths = { + 'files': ['bin/face_detection', 'bin/face_recognition'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "face_detection --help", + "face_recognition --help", +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/f/fasta-reader/fasta-reader-3.0.2-GCC-12.3.0.eb b/easybuild/easyconfigs/f/fasta-reader/fasta-reader-3.0.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..59c31e5cfe8 --- /dev/null +++ b/easybuild/easyconfigs/f/fasta-reader/fasta-reader-3.0.2-GCC-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'fasta-reader' +version = '3.0.2' + +homepage = 'https://github.com/EBI-Metagenomics/fasta-reader-py' +description = "FASTA file reader" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # for fsspec +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['fasta_reader-%(version)s.tar.gz'], + 'checksums': ['71493559a791f355def4918612a3bbd44992f7e1227a61a7d815018aefde4d79'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..73aaa73c4a0 --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +# Updated: Denis Kristak (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': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.0.0_build-libs.patch'] +checksums = [ + 'cc1c04729b0c8ba3647cbb7e15e2b490ce701d73773f30f5892d68c36a1dceae', # v1.0.0.tar.gz + '7f804486c6bafd9b1572cb5f86ff28dbebb4d6da551bde1091d6ff8f82748bf4', # fastahack-1.0.0_build-libs.patch +] + +builddependencies = [('binutils', '2.35')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfastahack.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..efdaf909659 --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +# Updated: Denis Kristak (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': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.0.0_build-libs.patch'] +checksums = [ + 'cc1c04729b0c8ba3647cbb7e15e2b490ce701d73773f30f5892d68c36a1dceae', # v1.0.0.tar.gz + '7f804486c6bafd9b1572cb5f86ff28dbebb4d6da551bde1091d6ff8f82748bf4', # fastahack-1.0.0_build-libs.patch +] + +builddependencies = [('binutils', '2.36.1')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfastahack.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['fastahack --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d22dd68d7cc --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +# Updated: Denis Kristak (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': '11.2.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.37')] + +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/fastahack/fastahack-1.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..95a22a66ce6 --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-11.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': '11.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.38')] + +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/fastahack/fastahack-1.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2d430c8a5f2 --- /dev/null +++ b/easybuild/easyconfigs/f/fastahack/fastahack-1.0.0-GCCcore-12.2.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.2.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.39')] + +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/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/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..066ee5baf35 --- /dev/null +++ b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'fastai' +version = '2.7.10' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.fast.ai/' +description = """The fastai deep learning library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('scikit-learn', '1.1.2'), + ('spaCy', '3.4.4'), +] + +exts_list = [ + ('fastdownload', '0.0.7', { + 'checksums': ['20507edb8e89406a1fbd7775e6e2a3d81a4dd633dd506b0e9cf0e1613e831d6a'], + }), + ('fastcore', '1.5.27', { + 'checksums': ['c6b66b35569d17251e25999bafc7d9bcdd6446c1e710503c08670c3ff1eef271'], + }), + ('fastprogress', '1.0.3', { + 'checksums': ['7a17d2b438890f838c048eefce32c4ded47197ecc8ea042cecc33d3deb8022f5'], + }), + (name, version, { + 'checksums': ['ccef6a185ae3a637efc9bcd9fea8e48b75f454d0ebad3b6df426f22fae20039d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb new file mode 100644 index 00000000000..50b4ecd47fc --- /dev/null +++ b/easybuild/easyconfigs/f/fastai/fastai-2.7.10-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'fastai' +version = '2.7.10' + +homepage = 'https://www.fast.ai/' +description = """The fastai deep learning library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('Pillow', '9.1.1'), + ('scikit-learn', '1.1.2'), + ('spaCy', '3.4.4'), +] + +exts_list = [ + ('fastdownload', '0.0.7', { + 'checksums': ['20507edb8e89406a1fbd7775e6e2a3d81a4dd633dd506b0e9cf0e1613e831d6a'], + }), + ('fastcore', '1.5.27', { + 'checksums': ['c6b66b35569d17251e25999bafc7d9bcdd6446c1e710503c08670c3ff1eef271'], + }), + ('fastprogress', '1.0.3', { + 'checksums': ['7a17d2b438890f838c048eefce32c4ded47197ecc8ea042cecc33d3deb8022f5'], + }), + (name, version, { + 'checksums': ['ccef6a185ae3a637efc9bcd9fea8e48b75f454d0ebad3b6df426f22fae20039d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fastfilters/fastfilters-0.3-foss-2023a.eb b/easybuild/easyconfigs/f/fastfilters/fastfilters-0.3-foss-2023a.eb new file mode 100644 index 00000000000..a9d67a03798 --- /dev/null +++ b/easybuild/easyconfigs/f/fastfilters/fastfilters-0.3-foss-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'fastfilters' +version = '0.3' + +homepage = 'https://github.com/ilastik/fastfilters/' +description = """Fast gaussian and derivative convolutional filters.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'optarch': False} + +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/ilastik', + 'repo_name': 'fastfilters', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('pybind11', '2.11.1'), +] + +configopts = '-DFF_INSTALL_DIR="%(installdir)s/lib/python%(pyshortver)s/site-packages/" ' +configopts += '-DPYTHON_EXECUTABLE="$EBROOTPYTHON/bin/python"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib', 'include'], +} + +sanity_check_commands = ["python -c 'import fastfilters'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.eb b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.eb new file mode 100644 index 00000000000..be269c4a4cd --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet-contrib/fastjet-contrib-1.049-gompi-2022a.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.049' + +homepage = 'https://fastjet.hepforge.org/contrib/' +description = """3rd party extensions of FastJet""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.hepforge.org/contrib/downloads/'] +sources = ['fjcontrib-' + version + '.tar.gz'] +checksums = ['ae2ed6206bc6278b65e99a4f78df0eeb2911f301a28fb57b50c573c0d5869987'] + +dependencies = [ + ('fastjet', '3.4.0') +] + +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-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.0-gompi-2022a.eb b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0-gompi-2022a.eb new file mode 100644 index 00000000000..631c87a53f4 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0-gompi-2022a.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'fastjet' +version = '3.4.0' + +homepage = 'https://fastjet.fr/' +description = """A software package for jet finding in pp and e+e- collisions""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://fastjet.fr/repo/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['fastjet-3.4.0_excludeSISCone.patch'] +checksums = [ + 'ee07c8747c8ead86d88de4a9e4e8d1e9e7d7614973f5631ba8297f7a02478b91', + '698902b4c4d54873d640239461cccc036234986ae8d6a33ceb649462ade971d3' # fastjet-3.4.0_excludeSISCone.patch +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('siscone', '3.0.5'), + ('CGAL', '4.14.3'), +] +# For CGAL >=5 +# configopts = '--enable-cgal-header-only --enable-pyext --enable-allplugins --enable-allcxxplugins ' +configopts = '--enable-cgal --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/fastjet/fastjet-3.4.0_excludeSISCone.patch b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0_excludeSISCone.patch new file mode 100644 index 00000000000..5adb5bcab24 --- /dev/null +++ b/easybuild/easyconfigs/f/fastjet/fastjet-3.4.0_excludeSISCone.patch @@ -0,0 +1,75 @@ +# Author: Alexander Puck Neuwirth +# We don't want to use the shipped siscone, but use the system/easybuild +# installed version of siscone +--- fastjet-3.4.0.orig/configure.ac 2021-06-25 15:38:14.000000000 +0200 ++++ fastjet-3.4.0/configure.ac 2022-11-11 12:22:21.863457311 +0100 +@@ -438,6 +438,12 @@ + fi + + dnl SISCone ++AC_ARG_WITH(bundle-siscone, ++ [ --with-bundle-siscone Build the bundled SISCone library [default=no]], ++ [bundle_siscone=$withval], ++ [bundle_siscone=no]) ++AM_CONDITIONAL(BUNDLE_SISCONE, test x$bundle_siscone != xno) ++ + ACX_CHECK_PLUGIN(SISCone, siscone, SISCONE, yes, + [CONFIG_LIBS_PLUGINS=${CONFIG_LIBS_PLUGINS}" -lsiscone_spherical -lsiscone" + CONFIG_LIBS_PLUGINS_STATIC=${CONFIG_LIBS_PLUGINS_STATIC}" \${installationdir}/lib/libsiscone.a \${installationdir}/lib/libsiscone_spherical.a"]) +--- fastjet-3.4.0.orig/example/Makefile.am 2021-06-25 15:37:05.000000000 +0200 ++++ fastjet-3.4.0/example/Makefile.am 2022-11-11 12:45:45.876416000 +0100 +@@ -43,7 +43,7 @@ + 03_plugin_CXXFLAGS = $(AM_CXXFLAGS) $(CGAL_CPPFLAGS) -I$(srcdir)/../include + 03_plugin_LDADD = ../src/libfastjet.la $(CGAL_LIBS) + 03_plugin_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-03_plugin_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++03_plugin_LDADD += ../plugins/SISCone/libSISConePlugin.la + else + EXTRA_DIST += 03-plugin.cc + endif +@@ -125,7 +125,7 @@ + fastjet_areas_LDADD = ../src/libfastjet.la $(CGAL_LIBS) + if BUILD_PLUGIN_SISCONE + fastjet_areas_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-fastjet_areas_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++fastjet_areas_LDADD += ../plugins/SISCone/libSISConePlugin.la + endif + + fastjet_timing_plugins_SOURCES = fastjet_timing_plugins.cc CmdLine.cc +@@ -135,7 +135,7 @@ + fastjet_timing_plugins_LDADD += ../tools/libfastjettools.la + if BUILD_PLUGIN_SISCONE + fastjet_timing_plugins_CXXFLAGS += -I$(srcdir)/../plugins/SISCone -I$(srcdir)/../plugins/SISCone/siscone +-fastjet_timing_plugins_LDADD += ../plugins/SISCone/libSISConePlugin.la ../plugins/SISCone/siscone/siscone/libsiscone.la ../plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++fastjet_timing_plugins_LDADD += ../plugins/SISCone/libSISConePlugin.la + endif + if BUILD_PLUGIN_CDFCONES + fastjet_timing_plugins_CXXFLAGS += -I$(srcdir)/../plugins/CDFCones +--- fastjet-3.4.0.orig/plugins/SISCone/Makefile.am 2021-06-25 15:37:05.000000000 +0200 ++++ fastjet-3.4.0/plugins/SISCone/Makefile.am 2022-11-11 12:47:47.412329000 +0100 +@@ -1,12 +1,22 @@ +-SUBDIRS = siscone fastjet . ++SUBDIRS = fastjet . + + if MONOLITHIC_PLUGINS + noinst_LTLIBRARIES = libSISConePlugin.la + else + lib_LTLIBRARIES = libSISConePlugin.la + endif +-libSISConePlugin_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir) -I$(srcdir)/siscone -I$(srcdir)/../../include -I./siscone ++libSISConePlugin_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(srcdir) -I$(srcdir)/../../include ++ ++if BUNDLE_SISCONE ++SUBDIRS += siscone ++libSISConePlugin_la_CXXFLAGS += -I$(srcdir)/siscone ++libSISConePlugin_la_LIBADD = \ ++ $(top_builddir)/plugins/SISCone/siscone/siscone/libsiscone.la \ ++ $(top_builddir)/plugins/SISCone/siscone/siscone/spherical/libsiscone_spherical.la ++else ++libSISConePlugin_la_LIBADD = -lsiscone -lsiscone_spherical ++endif + libSISConePlugin_la_SOURCES = SISConeBasePlugin.cc SISConePlugin.cc SISConeSphericalPlugin.cc +-libSISConePlugin_la_LIBADD = ../../src/libfastjet.la siscone/siscone/libsiscone.la siscone/siscone/spherical/libsiscone_spherical.la ++ + + EXTRA_DIST = makefile.static 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/fastml/fastml-2.3-GCC-11.3.0.eb b/easybuild/easyconfigs/f/fastml/fastml-2.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..58a5162ab77 --- /dev/null +++ b/easybuild/easyconfigs/f/fastml/fastml-2.3-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'fastml' +version = '2.3' + +homepage = 'http://fastml.tau.ac.il/' +description = """Maximum likelihood reconstruction of ancestral amino-acid sequences. +A branch-and-bound algorithm for the inference of ancestral amino-acid +sequences when the replacement rate varies among sites.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++03'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c02901d83ab9457852c67e8e14f41a02d2a0653130ed941b288108ba5272611d'] + +parallel = 1 + +# increase maximum template depth +prebuildopts = "sed -i 's/-depth-32/-depth-64/g' {programs/Makefile*,libs/phylogeny/Makefile} && " + +files_to_copy = [ + (['programs/fastml/fastml'], 'bin'), + (['programs/fastml/libfastml.a', 'libs/phylogeny/libEvolTree.a'], 'lib'), + (['AUTHORS', 'Readme.md'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/lib%(name)s.a', 'lib/libEvolTree.a'], + 'dirs': ['share'], +} + +sanity_check_commands = [ + ("fastml", "-h"), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastp/fastp-0.20.1-iccifort-2020.1.217.eb b/easybuild/easyconfigs/f/fastp/fastp-0.20.1-iccifort-2020.1.217.eb new file mode 100644 index 00000000000..529db9c4abd --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.20.1-iccifort-2020.1.217.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'fastp' +version = '0.20.1' + +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': 'iccifort', 'version': '2020.1.217'} + +# https://github.com/OpenGene/fastp +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e1b663717850bed7cb560c0c540e9a05dd9448ec76978faaf853a6959fd5b1b3'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +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/fastp/fastp-0.23.2-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..e3fa5600720 --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'fastp' +version = '0.23.2' + +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': '10.3.0'} + +# https://github.com/OpenGene/fastp +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['185bd58732e57474fa08aae90e154fbc05f3e437ee2b434386dd2266d60d8ef6'] + +dependencies = [ + ('zlib', '1.2.11'), + ('ISA-L', '2.30.0'), + ('libdeflate', '1.8'), +] + +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/fastp/fastp-0.23.2-GCC-11.2.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..3811081f326 --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'fastp' +version = '0.23.2' + +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': '11.2.0'} + +# https://github.com/OpenGene/fastp +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['185bd58732e57474fa08aae90e154fbc05f3e437ee2b434386dd2266d60d8ef6'] + +dependencies = [ + ('zlib', '1.2.11'), + ('libdeflate', '1.8'), + ('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/fastp/fastp-0.23.2-GCC-11.3.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..fb6a98ab824 --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.2-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'fastp' +version = '0.23.2' + +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': '11.3.0'} + +# https://github.com/OpenGene/fastp +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['185bd58732e57474fa08aae90e154fbc05f3e437ee2b434386dd2266d60d8ef6'] + +dependencies = [ + ('zlib', '1.2.12'), + ('libdeflate', '1.10'), + ('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/fastp/fastp-0.23.4-GCC-12.2.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..250e5c1f5a6 --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-12.2.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.2.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.12'), + ('libdeflate', '1.15'), + ('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/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/fastp/fastp-0.23.4-GCC-13.2.0.eb b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-13.2.0.eb new file mode 100644 index 00000000000..49b2a29c4f9 --- /dev/null +++ b/easybuild/easyconfigs/f/fastp/fastp-0.23.4-GCC-13.2.0.eb @@ -0,0 +1,38 @@ +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': '13.2.0'} + +github_account = 'OpenGene' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4fad6db156e769d46071add8a778a13a5cb5186bc1e1a5f9b1ffd499d84d72b5'] + +dependencies = [ + ('zlib', '1.2.13'), + ('libdeflate', '1.19'), + ('ISA-L', '2.31.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-0.7.2-foss-2021a.eb b/easybuild/easyconfigs/f/fastparquet/fastparquet-0.7.2-foss-2021a.eb new file mode 100644 index 00000000000..4e5947b7081 --- /dev/null +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-0.7.2-foss-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'fastparquet' +version = '0.7.2' + +homepage = "https://fastparquet.readthedocs.io/" +description = """fastparquet is a python implementation of the parquet format, aiming to integrate +into python-based big data work-flows. It is used implicitly by the projects +Dask, Pandas and intake-parquet.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Rust', '1.52.1'), # needed by maturin +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('maturin', '0.11.5', { + 'checksums': ['07074778b063a439fdfd5501bd1d1823a216ec5b657d3ecde78fd7f2c4782422'], + }), + ('thrift', '0.15.0', { + 'checksums': ['87c8205a71cf8bbb111cb99b1f7495070fbc9cabb671669568854210da5b3e29'], + }), + ('cramjam', '2.5.0', { + 'checksums': ['a92c0c2db4c6a3804eaffa253c7ca49f849e7a893a31c902a8123d7c36b2b487'], + }), + (name, version, { + 'checksums': ['3c4bd638260357df55a9e71d0bd797c12f14f691a61dfd91a66f5b8d2a247683'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fastparquet/fastparquet-0.8.0-foss-2021b.eb b/easybuild/easyconfigs/f/fastparquet/fastparquet-0.8.0-foss-2021b.eb new file mode 100644 index 00000000000..baed58072cf --- /dev/null +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-0.8.0-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'fastparquet' +version = '0.8.0' + +homepage = "https://fastparquet.readthedocs.io/" +description = """fastparquet is a python implementation of the parquet format, aiming to integrate +into python-based big data work-flows. It is used implicitly by the projects +Dask, Pandas and intake-parquet.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('patchelf', '0.13'), + ('Rust', '1.54.0'), # needed by maturin +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('maturin', '0.12.6', { + 'checksums': ['2b14cfae808b45a130e19b2999acea423d2e10e7a29ae2336996ba72ba442ff6'], + }), + ('thrift', '0.15.0', { + 'checksums': ['87c8205a71cf8bbb111cb99b1f7495070fbc9cabb671669568854210da5b3e29'], + }), + ('cramjam', '2.5.0', { + 'checksums': ['a92c0c2db4c6a3804eaffa253c7ca49f849e7a893a31c902a8123d7c36b2b487'], + }), + (name, version, { + 'checksums': ['5a8137f2e0d3a77e8db41e875d3159ddf925bbfaaf37ce6d6eedd02f5bfce55a'], + }), +] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..95fbef237e5 --- /dev/null +++ b/easybuild/easyconfigs/f/fastparquet/fastparquet-2023.4.0-gfbf-2022b.eb @@ -0,0 +1,103 @@ +easyblock = 'CargoPythonBundle' + +name = 'fastparquet' +version = '2023.4.0' + +homepage = "https://fastparquet.readthedocs.io/" +description = """fastparquet is a python implementation of the parquet format, aiming to integrate +into python-based big data work-flows. It is used implicitly by the projects +Dask, Pandas and intake-parquet.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +builddependencies = [ + ('patchelf', '0.17.2'), + ('maturin', '1.1.0'), # for cramjam +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.7.6'), + ('alloc-no-stdlib', '2.0.4'), + ('alloc-stdlib', '0.2.2'), + ('autocfg', '1.1.0'), + ('bitflags', '1.3.2'), + ('brotli', '3.3.4'), + ('brotli-decompressor', '2.3.2'), + ('bzip2', '0.4.3'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.73'), + ('cfg-if', '1.0.0'), + ('crc32fast', '1.3.2'), + ('flate2', '1.0.23'), + ('getrandom', '0.2.8'), + ('indoc', '1.0.6'), + ('jobserver', '0.1.24'), + ('libc', '0.2.126'), + ('libmimalloc-sys', '0.1.25'), + ('lock_api', '0.4.7'), + ('lz4', '1.23.3'), + ('lz4-sys', '1.9.4'), + ('matrixmultiply', '0.3.2'), + ('memoffset', '0.6.5'), + ('mimalloc', '0.1.29'), + ('miniz_oxide', '0.5.1'), + ('ndarray', '0.15.4'), + ('num-complex', '0.4.1'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.15'), + ('numpy', '0.17.2'), + ('once_cell', '1.10.0'), + ('parking_lot', '0.12.0'), + ('parking_lot_core', '0.9.3'), + ('pkg-config', '0.3.25'), + ('proc-macro2', '1.0.39'), + ('pyo3', '0.17.3'), + ('pyo3-build-config', '0.17.3'), + ('pyo3-ffi', '0.17.3'), + ('pyo3-macros', '0.17.3'), + ('pyo3-macros-backend', '0.17.3'), + ('quote', '1.0.18'), + ('rawpointer', '0.2.1'), + ('redox_syscall', '0.2.13'), + ('scopeguard', '1.1.0'), + ('smallvec', '1.8.0'), + ('snap', '1.0.5'), + ('syn', '1.0.95'), + ('target-lexicon', '0.12.3'), + ('unicode-ident', '1.0.0'), + ('unindent', '0.1.9'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-sys', '0.36.1'), + ('windows_aarch64_msvc', '0.36.1'), + ('windows_i686_gnu', '0.36.1'), + ('windows_i686_msvc', '0.36.1'), + ('windows_x86_64_gnu', '0.36.1'), + ('windows_x86_64_msvc', '0.36.1'), + ('zstd', '0.11.2+zstd.1.5.2'), + ('zstd-safe', '5.0.2+zstd.1.5.2'), + ('zstd-sys', '2.0.1+zstd.1.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('thrift', '0.16.0', { + 'checksums': ['2b5b6488fcded21f9d312aa23c9ff6a0195d0f6ae26ddbd5ad9e3e25dfc14408'], + }), + ('cramjam', '2.6.2', { + 'checksums': ['1ffdc8d1381b5fee57b33b537e38fa7fd29e8d8f3b544dbab1d71dbfaaec3bef'], + }), + (name, version, { + 'checksums': ['917e6d288ea07e10b28b5fa4b4c0b70f60b14971ece3ba5bf30690320a53aa70'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..169e3d2d6b2 --- /dev/null +++ b/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'fastq-tools' +version = '0.8.3' + +homepage = 'https://homes.cs.washington.edu/~dcjones/%(name)s/' +description = """This package provides a number of small and efficient programs to perform + common tasks with high throughput sequencing data in the FASTQ format. All of the programs + work with typical FASTQ files as well as gzipped FASTQ files.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'dcjones' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = ['0cd7436e81129090e707f69695682df80623b06448d95df483e572c61ddf538e'] + +builddependencies = [('Autotools', '20210128')] + +dependencies = [ + ('PCRE', '8.44'), + ('zlib', '1.2.11'), +] + +# unsetting LIBS is needed because configure script can't handle it properly if it is already defined +preconfigopts = './autogen.sh && unset LIBS && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['fastq-grep', 'fastq-kmers', 'fastq-match', 'fastq-qscale', + 'fastq-qual', 'fastq-qualadj', 'fastq-sample', 'fastq-sort', + 'fastq-uniq']], + 'dirs': ['share/man/man1'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-11.2.0.eb b/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..636f79669bf --- /dev/null +++ b/easybuild/easyconfigs/f/fastq-tools/fastq-tools-0.8.3-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'fastq-tools' +version = '0.8.3' + +homepage = 'https://homes.cs.washington.edu/~dcjones/fastq-tools/' +description = """This package provides a number of small and efficient programs to perform + common tasks with high throughput sequencing data in the FASTQ format. All of the programs + work with typical FASTQ files as well as gzipped FASTQ files.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'dcjones' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = ['0cd7436e81129090e707f69695682df80623b06448d95df483e572c61ddf538e'] + +builddependencies = [('Autotools', '20210726')] + +dependencies = [ + ('PCRE', '8.45'), + ('zlib', '1.2.11'), +] + +# unsetting LIBS is needed because configure script can't handle it properly if it is already defined +preconfigopts = './autogen.sh && unset LIBS && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['fastq-grep', 'fastq-kmers', 'fastq-match', 'fastq-qscale', + 'fastq-qual', 'fastq-qualadj', 'fastq-sample', 'fastq-sort', + 'fastq-uniq']], + 'dirs': ['share/man/man1'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.2.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..bfae886c932 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="gnu" FFLAGS="$FFLAGS"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..8a89448a3c8 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="gnu" FFLAGS="$FFLAGS"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..3b5996e2d24 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="gnu" FFLAGS="$FFLAGS"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..1158369a84e --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-iccifort-2020.4.304.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="intel" FFLAGS="$FFLAGS" FPP="$FC -E -P"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..487ef3592c6 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="intel" FFLAGS="$FFLAGS" FPP="$FC -E -P"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..24192355419 --- /dev/null +++ b/easybuild/easyconfigs/f/fdict/fdict-0.8.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'fdict' +version = '0.8.0' + +homepage = 'https://github.com/zerothi/fdict' +description = """ +A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary. +""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://github.com/zerothi/fdict/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['26ab63038d3c629994ec43dfecc3831a38ea85136a4cb7d574798c21b40d427c'] + +buildopts = 'VENDOR="intel" FFLAGS="$FFLAGS" FPP="$FC -E -P"' + +files_to_copy = [ + (['libfdict.a'], 'lib'), + (['variable.mod', 'dictionary.mod'], 'include'), + (['settings.bash'], 'share'), +] + +sanity_check_paths = { + 'files': ['include/dictionary.mod', 'lib/libfdict.a'], + 'dirs': ['share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5f7b29effc1 --- /dev/null +++ b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.2.0.eb @@ -0,0 +1,46 @@ +# 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': '10.2.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.35')] + +dependencies = [('zlib', '1.2.11')] + +prebuildopts = 'CFLAGS="$CFLAGS -fcommon"' + +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/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6daf5a68037 --- /dev/null +++ b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +# 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': '10.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.36.1')] + +dependencies = [('zlib', '1.2.11')] + +prebuildopts = 'CFLAGS="$CFLAGS -fcommon"' + +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/fermi-lite/fermi-lite-20190320-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..42f7409c5e6 --- /dev/null +++ b/easybuild/easyconfigs/f/fermi-lite/fermi-lite-20190320-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +# 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': '11.2.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.37')] + +dependencies = [('zlib', '1.2.11')] + +prebuildopts = 'CFLAGS="$CFLAGS -fcommon"' + +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/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/ffnvcodec/ffnvcodec-11.1.5.2.eb b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-11.1.5.2.eb new file mode 100644 index 00000000000..fa442ed401f --- /dev/null +++ b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-11.1.5.2.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '11.1.5.2' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.0.16.0.eb b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.0.16.0.eb new file mode 100644 index 00000000000..dc51b3036ce --- /dev/null +++ b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.0.16.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '12.0.16.0' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.1.14.0.eb b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.1.14.0.eb new file mode 100644 index 00000000000..cf37dfdf36b --- /dev/null +++ b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.1.14.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '12.1.14.0' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.2.72.0.eb b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.2.72.0.eb new file mode 100644 index 00000000000..cc4461c3a8b --- /dev/null +++ b/easybuild/easyconfigs/f/ffnvcodec/ffnvcodec-12.2.72.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ffnvcodec' +version = '12.2.72.0' + +homepage = 'https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git' + +description = """FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present +(picked up dynamically).""" + +toolchain = SYSTEM + +sources = [{ + 'git_config': { + 'url': 'https://git.videolan.org/git/ffmpeg/', + 'repo_name': 'nv-codec-headers', + 'tag': 'n%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +skipsteps = ['configure'] + +preinstallopts = 'sed -i "s|PREFIX =.*|PREFIX ?= %(installdir)s|" Makefile && ' + +sanity_check_paths = { + 'files': ['include/ffnvcodec/nvEncodeAPI.h', 'lib/pkgconfig/ffnvcodec.pc'], + 'dirs': [], +} + +moduleclass = 'lib' 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/fgbio/fgbio-2.2.1-Java-8.eb b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1-Java-8.eb new file mode 100644 index 00000000000..56e28293e92 --- /dev/null +++ b/easybuild/easyconfigs/f/fgbio/fgbio-2.2.1-Java-8.eb @@ -0,0 +1,43 @@ +easyblock = 'CmdCp' + +name = 'fgbio' +version = '2.2.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://fulcrumgenomics.github.io/fgbio' +description = "A set of tools to analyze genomic data with a focus on Next Generation Sequencing." + +toolchain = SYSTEM + +source_urls = ['https://github.com/fulcrumgenomics/fgbio/archive/'] +sources = ['%(version)s.zip'] +checksums = ['0810b10365f501bcba1e00e02bd4543270bc8eb8bfb18cca07e89bafedbc2a79'] + +builddependencies = [ + ('sbt', '1.3.13', versionsuffix), +] + +dependencies = [('Java', '8')] + +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\\nexec java -jar "${EBROOTFGBIO}/lib/%(name)s-%(version)s.jar" "$@"\' >> %(name)s' + ' && chmod +x %(name)s' +)] + +files_to_copy = [ + (['%(name)s'], 'bin'), + (['target/scala-*/%(name)s-%(version)s.jar'], 'lib'), +] + +sanity_check_paths = { + '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 = ['%(name)s --help 2>&1 | grep -q Version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/file/file-5.41-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/file/file-5.41-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9489d186e9a --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.41-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'file' +version = '5.41' + +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': '11.2.0'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] +checksums = ['13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), +] + +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/file/file-5.43-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1128c37d6ac --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-11.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': '11.3.0'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +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/file/file-5.43-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b02ba70dd64 --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-12.2.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.2.0'} + +source_urls = ['ftp://ftp.astron.com/pub/file/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8c8015e91ae0e8d0321d94c78239892ef9dbc70c4ade0008c0e95894abfb1991'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +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/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/file/file-5.43-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dcd8b7cbfa0 --- /dev/null +++ b/easybuild/easyconfigs/f/file/file-5.43-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +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': '13.2.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'] +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5aafc945508 --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +# Updated: Denis Kristak (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': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-20191210_build-libs.patch'] +checksums = [ + '89835829a7829f7a25783b2cf9d482f1e3c794703343c9214c15c66a8c7f4aae', # df20dcc.tar.gz + '051438f76dd04219abfb283f61101c04d748407031e180b7ae3841344416ec4f', # filevercmp-20191210_build-libs.patch +] + +builddependencies = [('binutils', '2.35')] + +skipsteps = ['configure'] + +installopts = 'DESTDIR="" PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfilevercmp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6ec6d1ba82c --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +# Updated: Denis Kristak (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': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-20191210_build-libs.patch'] +checksums = [ + '89835829a7829f7a25783b2cf9d482f1e3c794703343c9214c15c66a8c7f4aae', # df20dcc.tar.gz + '051438f76dd04219abfb283f61101c04d748407031e180b7ae3841344416ec4f', # filevercmp-20191210_build-libs.patch +] + +builddependencies = [('binutils', '2.36.1')] + +skipsteps = ['configure'] + +installopts = 'DESTDIR="" PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/libfilevercmp.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['filevercmp abca bcac'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7e587ae740c --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Updated: Denis Kristak (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': '11.2.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.37')] + +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/filevercmp/filevercmp-20191210-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..678a0fa2178 --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-11.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': '11.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.38')] + +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/filevercmp/filevercmp-20191210-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f9acad2dfe3 --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210-GCCcore-12.2.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.2.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.39')] + +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/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/filevercmp/filevercmp-20191210_build-libs.patch b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210_build-libs.patch new file mode 100644 index 00000000000..49fde8b526a --- /dev/null +++ b/easybuild/easyconfigs/f/filevercmp/filevercmp-20191210_build-libs.patch @@ -0,0 +1,90 @@ +# Patch to build static and dynamic libraries. Based on PR by outpaddling: +# https://github.com/ekg/filevercmp/pull/2 +# Updated: Denis Kristak (INUITS) +diff -ruN filevercmp-master_orig/Makefile filevercmp-master/Makefile +--- filevercmp-master_orig/Makefile 2019-12-10 10:58:23.000000000 +0100 ++++ filevercmp-master/Makefile 2021-07-13 16:35:15.738330513 +0200 +@@ -4,18 +4,69 @@ + + OBJS= main.o filevercmp.o + +-all: filevercmp ++# Use ?= to allow overriding from the env or command-line, e.g. ++# ++# make CXXFLAGS="-O3 -fPIC" install ++# ++# Package managers will override many of these variables automatically, so ++# this is aimed at making it easy to create packages (Debian packages, ++# FreeBSD ports, MacPorts, pkgsrc, etc.) ++ ++CC ?= cc ++CFLAGS ?= -O -g #-m64 #-arch ppc ++ ++PREFIX ?= /usr/local ++STRIP ?= strip ++INSTALL ?= install -c ++MKDIR ?= mkdir -p ++AR ?= ar ++ARFLAGS ?= rs ++ ++BIN = filevercmp ++LIB = libfilevercmp.a ++SOVERSION = 0 ++SLIB = libfilevercmp.so ++OBJS = filevercmp.o ++ ++LIBDIR = $(DESTDIR)$(PREFIX)/lib ++BINDIR = $(DESTDIR)$(PREFIX)/bin ++INCDIR = $(DESTDIR)$(PREFIX)/include/filevercmp ++ ++.SUFFIXES:.c .o .pico .so ++ ++.c.o: ++ $(CC) $(CFLAGS) -I. -c -o $@ $< ++ ++.c.pico: ++ $(CC) $(CFLAGS) -I. -fPIC -c -o $@ $< ++ ++all: $(BIN) $(SLIB) $(LIB) ++ ++$(LIB): $(OBJS) ++ $(AR) $(ARFLAGS) $@ $^ ++ ++$(SLIB): $(OBJS:.o=.pico) ++ $(CC) -shared -Wl,-soname,$(SLIB).$(SOVERSION) $(LDFLAGS) -o $@ $^ $(LIBS) ++ ln -sf $@ $(SLIB).$(SOVERSION) ++ ++$(BIN): $(OBJS) main.c ++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) ++ ++install: all ++ $(MKDIR) $(BINDIR) ++ $(MKDIR) $(LIBDIR) ++ $(MKDIR) $(INCDIR) ++ $(INSTALL) $(BIN) $(BINDIR) ++ $(INSTALL) *.h $(INCDIR) ++ $(INSTALL) $(LIB) $(SLIB) $(SLIB).$(SOVERSION) $(LIBDIR) ++ ++install-strip: install ++ $(STRIP) $(BINDIR)/$(BIN) $(LIBDIR)/$(LIB) ++ ++cleanlocal: ++ rm -rf $(BIN) $(LIB) $(SLIB) $(OBJS) $(DESTDIR) ++ rm -fr gmon.out *.o a.out *.dSYM $(BIN) *~ *.a tabix.aux tabix.log \ ++ tabix.pdf *.class libtabix.*.dylib ++ cd htslib && $(MAKE) clean + +-clean: +- rm -f filevercmp ${OBJS} +- +-.PHONY: all clean +- +-filevercmp.o: filevercmp.c filevercmp.h +- $(CC) $(CPPFLAGS) $(CFLAGS) -c filevercmp.c +- +-main.o: main.c filevercmp.h +- $(CC) $(CPPFLAGS) $(CFLAGS) -c main.c +- +-filevercmp: ${OBJS} +- $(CC) $(LDFLAGS) $(CPPFLAGS) $(CFLAGS) -o filevercmp ${OBJS} ++clean: cleanlocal-recur diff --git a/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb b/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb new file mode 100644 index 00000000000..8cf70e725c4 --- /dev/null +++ b/easybuild/easyconfigs/f/finder/finder-1.1.0-foss-2021b.eb @@ -0,0 +1,70 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Binary' + +name = 'finder' +version = '1.1.0' + +homepage = 'https://github.com/sagnikbanerjee15/Finder/' +description = """finder is a gene annotator pipeline which automates the process of downloading short reads, +aligning them and using the assembled transcripts to generate gene annotations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = [ + 'https://github.com/sagnikbanerjee15/Finder/archive/', + 'ftp://ftp.ensemblgenomes.org/pub/plants/release-49/fasta/arabidopsis_thaliana/dna/' +] +sources = ['%(name)s_v%(version)s.tar.gz', 'Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa.gz'] +patches = ['finder-%(version)s_run_bare_option.patch'] +checksums = [ + {'finder_v1.1.0.tar.gz': 'be416a01b94f2ac183fb9c4945b09b8f40ac0e40b12e2c08c343bd2aad28bf98'}, + {'Arabidopsis_thaliana.TAIR10.dna_sm.toplevel.fa.gz': + '4598dbd9f6913527933e9822e0d15d7016571de1f8e925c37917e840e8a453bd'}, + {'finder-1.1.0_run_bare_option.patch': '43ee4046bcecc1a1555ef0dc9b98487281c0344028ef6cf1428d24bbfd6cd1ca'}, +] + +dependencies = [ + ('STAR', '2.7.9a'), + ('SAMtools', '1.14'), + ('BEDTools', '2.30.0'), + ('AUGUSTUS', '3.4.0'), + ('BRAKER', '2.1.6'), + ('GeneMark-ET', '4.71'), + ('PsiCLASS', '1.0.3'), + ('olego', '1.1.9'), + ('GUSHR', '2020-09-28'), + ('gffread', '0.12.7'), + ('BEDOPS', '2.4.41'), + ('RegTools', '0.5.2'), + ('BLAST+', '2.12.0'), + ('CodAn', '1.2'), + ('GffCompare', '0.12.6'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('Autotools', '20210726'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('Boost', '1.77.0'), + ('ruffus', '2.8.4'), + ('SRA-Toolkit', '3.0.0'), +] + +extract_sources = True + +install_cmd = "cp -r %(builddir)s/Finder-finder_v%(version)s/* %(installdir)s/ " + + +sanity_check_paths = { + 'files': ['run_finder'], + "dirs": [], +} + +modextrapaths = { + 'PATH': ['utils'] +} + +sanity_check_commands = ["finder --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch b/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch new file mode 100644 index 00000000000..5973e8a7e7f --- /dev/null +++ b/easybuild/easyconfigs/f/finder/finder-1.1.0_run_bare_option.patch @@ -0,0 +1,84 @@ +adding option to the run_finder script, to be able to run without using singularity or docker +author: Denis Kristak (INUITS) +diff -ruN Finder-finder_v1.1.0_orig/run_finder Finder-finder_v1.1.0/run_finder +--- Finder-finder_v1.1.0_orig/run_finder 2021-12-19 20:46:57.000000000 +0100 ++++ Finder-finder_v1.1.0/run_finder 2022-12-15 12:08:39.120630477 +0100 +@@ -45,7 +45,7 @@ + optional_named.add_argument( "--skip_cpd", "--skip_cpd", help = "Turn on this option to skip changepoint detection. Could be effective for grasses", action = "store_true" ) + optional_named.add_argument( "--exonerate_gff3", "-egff3", help = "Enter the exonerate output in gff3 format" ) + optional_named.add_argument( "--star_shared_mem", "--star_shared_mem", help = "Turn on this option if you want STAR to load the genome index into shared memory. This saves memory if multiple finder runs are executing on the same host, but might not work in your cluster environment.", action = "store_true" ) +- optional_named.add_argument( "--framework", "-fm", help = "Enter your choice of framework", choices = ["docker", "singularity"], default = "docker" ) ++ optional_named.add_argument( "--framework", "-fm", help = "Enter your choice of framework", choices = ["docker", "singularity", "bare"], default = "bare" ) + + # optional_named.add_argument("--intron_gff3","-intron_gff3",help="Enter the name and location of the file containing introns in gff3 format") + # optional_named.add_argument("--ground_truth_gtf","-gt_gtf",help="Enter the gtf filename of the actual annotation [for developmental purposes]") +@@ -86,6 +86,12 @@ + singularity_cmd += f" bash -c {command}" + os.system( singularity_cmd ) + ++def runBareCommand( command ): ++ """ ++ Runs the command directly on the system ++ """ ++ # Runs the main command ++ os.system( command ) + + def main(): + commandLineArg = sys.argv +@@ -98,8 +104,8 @@ + f"{'/'.join(options.genome.split('/')[:-1])}:{'/'.join(options.genome.split('/')[:-1])}", + f"{options.output_directory}:{options.output_directory}"] + +- cmd = f" \" ulimit -n $(ulimit -Hn) && " +- cmd += f" finder " ++ # cmd = f" \" " ++ cmd = f" finder " + cmd += f" --metadatafile {options.metadatafile} " + cmd += f" --output_directory {options.output_directory} " + cmd += f" --genome {options.genome} " +@@ -137,20 +143,16 @@ + cmd += f" --genemark_license {options.genemark_license}" + volumes_list.append( f"{'/'.join(options.genemark_license.split('/')[:-1])}:{'/'.join(options.genemark_license.split('/')[:-1])}" ) + +- cmd += f" \" " ++ # cmd += f" \" " + + volumes_list = list( set( volumes_list ) ) + + os.system( f"mkdir -p {options.output_directory}" ) +- os.system( f"which docker > {options.output_directory}/find_docker" ) +- os.system( f"which singularity > {options.output_directory}/find_singularity" ) ++ os.system( f"which docker > {options.output_directory}/find_docker 2> {options.output_directory}/find_docker.err" ) ++ os.system( f"which singularity > {options.output_directory}/find_singularity 2> {options.output_directory}/find_singularity.err" ) + +- docker_installed = 1 if "Command not found" not in open( f"{options.output_directory}/find_docker", "r" ).read() else 0 +- singularity_installed = 1 if "Command not found" not in open( f"{options.output_directory}/find_singularity", "r" ).read() else 0 +- +- if docker_installed == 0 and singularity_installed == 0: +- print( "You need to have either docker or singularity installed" ) +- sys.exit() ++ docker_installed = 1 if "no docker in" not in open( f"{options.output_directory}/find_docker", "r" ).read() else 0 ++ singularity_installed = 1 if "no singularity in" not in open( f"{options.output_directory}/find_singularity", "r" ).read() else 0 + + framework_of_choice = "" + if options.framework == "docker": +@@ -165,6 +167,9 @@ + else: + framework_of_choice = "docker" + ++ elif options.framework == "bare": ++ framework_of_choice = "bare" ++ + if framework_of_choice == "docker": + os.system( "docker pull sagnikbanerjee15/finder:1.1.0" ) + runDockerCommand( name = "finder", +@@ -189,6 +194,9 @@ + memory = '300g' + ) + ++ elif framework_of_choice == "bare": ++ runBareCommand(command=cmd) ++ + + if __name__ == "__main__": + main() 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.30-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fio/fio-3.30-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..019e1f56d07 --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.30-GCCcore-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.30' + +homepage = 'https://github.com/axboe/fio' + +description = 'Flexible I/O tester' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['305647377527a2827223065582dd8a9269e69866426b341699d55bb4e4d3cc71'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': [], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fio/fio-3.32-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fio/fio-3.32-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..06bbde187fe --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.32-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.32' + +homepage = 'https://github.com/axboe/fio' +docurls = 'https://fio.readthedocs.io/en/latest/index.html' +description = 'Flexible I/O tester' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['409e459840912e68be487dbbda9a7a1b3f6ddf1478e3f456f278f957ce4f7b66'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['bin', 'man', 'share'], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0b7184963e5 --- /dev/null +++ b/easybuild/easyconfigs/f/fio/fio-3.34-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'fio' +version = '3.34' + +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.2.0'} + +github_account = 'axboe' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['42ea28c78d269c4cc111b7516213f4d4b32986797a710b0ff364232cc7a3a0b7'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/fio'], + 'dirs': ['bin', 'man', 'share'], +} + +sanity_check_commands = ['fio -h'] + +moduleclass = 'tools' 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/fish/fish-3.7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/fish/fish-3.7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0c7e084ac23 --- /dev/null +++ b/easybuild/easyconfigs/f/fish/fish-3.7.1-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'fish' + +version = '3.7.1' + +homepage = 'https://fishshell.com/' +description = """ +fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/fish-shell/fish-shell/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['614c9f5643cd0799df391395fa6bbc3649427bb839722ce3b114d3bbc1a3b250'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3') +] + +dependencies = [ + ('ncurses', '6.5'), +] + +configopts = '-DBUILD_DOCS=off ' + +sanity_check_paths = { + 'files': ['bin/fish'], + 'dirs': [], +} + +sanity_check_commands = ['fish --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..7223c3f1260 --- /dev/null +++ b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,97 @@ +easyblock = 'PythonBundle' + +name = 'flair-NLP' +version = '0.11.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/flairNLP/flair' +description = "A very simple framework for state-of-the-art NLP" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('lxml', '4.6.3'), + ('gensim', '4.2.0'), + ('Hyperopt', '0.2.7'), + ('BeautifulSoup', '4.10.0'), + ('SentencePiece', '0.1.96'), + ('tokenizers', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('bpemb', '0.3.3', { + 'checksums': ['ad86ba9b1623ecc3be6fcc5ba4408e23a30e118b7e1d683d292f4be788798ffe'], + }), + ('conllu', '4.4.2', { + 'checksums': ['d5ba2f9ebf5c9af86d560e11681a172f6cd8a934967baa6839ba9a0648919c10'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('ftfy', '6.1.1', { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), + ('gdown', '4.4.0', { + 'checksums': ['18fc3a4da4a2273deb7aa29c7486be4df3919d904158ad6a6a3e25c8115470d7'], + }), + ('huggingface_hub', '0.7.0', { + 'checksums': ['8154dc2fad84b32a4bca18372a647d9381ed8550a80b11050758357b8fcea639'], + }), + ('Janome', '0.4.2', { + 'checksums': ['14c31bbfc11724da299b4b71a06bccb3af9a105e7c912bc38a22132d8991ec97'], + }), + ('overrides', '3.1.0', { + 'checksums': ['30f761124579e59884b018758c4d7794914ef02a6c038621123fec49ea7599c6'], + }), + ('importlib_metadata', '3.10.1', { + 'checksums': ['c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1'], + }), + ('konoha', '4.6.5', { + 'checksums': ['c83023e3bda68aa910bfc115c6ab72d10b2b9478093253b4e17a20b0acf6bb7f'], + }), + ('langdetect', '1.0.9', { + 'checksums': ['cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0'], + }), + ('mpld3', '0.5.8', { + 'checksums': ['1a167dbef836dd7c66d8aa71c06a32d50bffa18725f304d93cb74fdb3545043b'], + }), + ('pptree', '3.1', { + 'checksums': ['4dd0ba2f58000cbd29d68a5b64bac29bcb5a663642f79404877c0059668a69f6'], + }), + ('segtok', '1.5.11', { + 'checksums': ['8ab2dd44245bcbfec25b575dc4618473bbdf2af8c2649698cd5a370f42f3db23'], + }), + ('sqlitedict', '2.0.0', { + 'checksums': ['23a370416f4e1e962daa293382f3a8dbc4127e6a0abc06a5d4e58e6902f05d17'], + }), + ('transformers', '4.19.2', { + 'checksums': ['e19a4ff07458eda143c738e5259caf48449fcf078a63d6b1bd1aa806543440a3'], + }), + ('Wikipedia-API', '0.5.4', { + 'checksums': ['5173d4db641cdb78d96f2b052df2232bcdc00cf32a424c43402958a40f783992'], + 'modulename': 'wikipediaapi', + }), + ('flair', version, { + # can't use PyPI source tarball, because requirements.txt is missing; + # see also https://github.com/flairNLP/flair/issues/2759 + 'source_urls': ['https://github.com/flairNLP/flair/archive/refs/tags'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c780320d6d85075e25638a7157a16409f46bc9496db31fbbaa92aeac448f1cf9'], + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb new file mode 100644 index 00000000000..dd85efe2e48 --- /dev/null +++ b/easybuild/easyconfigs/f/flair-NLP/flair-NLP-0.11.3-foss-2021a.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'flair-NLP' +version = '0.11.3' + +homepage = 'https://github.com/flairNLP/flair' +description = "A very simple framework for state-of-the-art NLP" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('lxml', '4.6.3'), + ('gensim', '4.2.0'), + ('Hyperopt', '0.2.7'), + ('BeautifulSoup', '4.10.0'), + ('SentencePiece', '0.1.96'), + ('tokenizers', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('bpemb', '0.3.3', { + 'checksums': ['ad86ba9b1623ecc3be6fcc5ba4408e23a30e118b7e1d683d292f4be788798ffe'], + }), + ('conllu', '4.4.2', { + 'checksums': ['d5ba2f9ebf5c9af86d560e11681a172f6cd8a934967baa6839ba9a0648919c10'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('ftfy', '6.1.1', { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), + ('gdown', '4.4.0', { + 'checksums': ['18fc3a4da4a2273deb7aa29c7486be4df3919d904158ad6a6a3e25c8115470d7'], + }), + ('huggingface_hub', '0.7.0', { + 'checksums': ['8154dc2fad84b32a4bca18372a647d9381ed8550a80b11050758357b8fcea639'], + }), + ('Janome', '0.4.2', { + 'checksums': ['14c31bbfc11724da299b4b71a06bccb3af9a105e7c912bc38a22132d8991ec97'], + }), + ('overrides', '3.1.0', { + 'checksums': ['30f761124579e59884b018758c4d7794914ef02a6c038621123fec49ea7599c6'], + }), + ('importlib_metadata', '3.10.1', { + 'checksums': ['c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1'], + }), + ('konoha', '4.6.5', { + 'checksums': ['c83023e3bda68aa910bfc115c6ab72d10b2b9478093253b4e17a20b0acf6bb7f'], + }), + ('langdetect', '1.0.9', { + 'checksums': ['cbc1fef89f8d062739774bd51eda3da3274006b3661d199c2655f6b3f6d605a0'], + }), + ('mpld3', '0.5.8', { + 'checksums': ['1a167dbef836dd7c66d8aa71c06a32d50bffa18725f304d93cb74fdb3545043b'], + }), + ('pptree', '3.1', { + 'checksums': ['4dd0ba2f58000cbd29d68a5b64bac29bcb5a663642f79404877c0059668a69f6'], + }), + ('segtok', '1.5.11', { + 'checksums': ['8ab2dd44245bcbfec25b575dc4618473bbdf2af8c2649698cd5a370f42f3db23'], + }), + ('sqlitedict', '2.0.0', { + 'checksums': ['23a370416f4e1e962daa293382f3a8dbc4127e6a0abc06a5d4e58e6902f05d17'], + }), + ('transformers', '4.19.2', { + 'checksums': ['e19a4ff07458eda143c738e5259caf48449fcf078a63d6b1bd1aa806543440a3'], + }), + ('Wikipedia-API', '0.5.4', { + 'checksums': ['5173d4db641cdb78d96f2b052df2232bcdc00cf32a424c43402958a40f783992'], + 'modulename': 'wikipediaapi', + }), + ('flair', version, { + # can't use PyPI source tarball, because requirements.txt is missing; + # see also https://github.com/flairNLP/flair/issues/2759 + 'source_urls': ['https://github.com/flairNLP/flair/archive/refs/tags'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c780320d6d85075e25638a7157a16409f46bc9496db31fbbaa92aeac448f1cf9'], + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/flash-attention/flash-attention-2.6.3-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/f/flash-attention/flash-attention-2.6.3-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..754eef2c70e --- /dev/null +++ b/easybuild/easyconfigs/f/flash-attention/flash-attention-2.6.3-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'flash-attention' +version = '2.6.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/Dao-AILab/flash-attention' +description = """Fast and memory-efficient exact attention.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('Ninja', '1.11.1')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('einops', '0.7.0'), + ('CUTLASS', '3.4.0', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'flash_attn', + # solves Invalid cross-device link error + # https://github.com/Dao-AILab/flash-attention/issues/875 + 'preinstallopts': "sed -i 's/os.rename/shutil.move/' setup.py && ", + 'source_urls': ['https://github.com/Dao-AILab/flash-attention/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['136e149165d4c8c67273d16daa957b5cd5e6fc629061ffd39fa5a25224454d6c'], + }), +] + +sanity_check_commands = [ + "python -c 'from flash_attn import flash_attn_qkvpacked_func, flash_attn_func'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3a19ada08f2 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '2.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2'] + +dependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7913bb7c2be --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-2.0-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '2.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2'] + +dependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.1.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7c07088aa79 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.1.4-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '23.1.4' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['04d2141ea38866600beda17ffebf739b23f4f500cc22606076cc83079155106d'] + +dependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.5.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.5.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dbe82860108 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-23.5.26-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '23.5.26' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89'] + +dependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-24.3.25-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-24.3.25-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6e3bd315965 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers-python/flatbuffers-python-24.3.25-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'flatbuffers-python' +version = '24.3.25' + +homepage = 'https://github.com/google/flatbuffers/' +description = """Python Flatbuffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/f/flatbuffers'] +sources = [{'download_filename': 'flatbuffers-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4'] + +dependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +preinstallopts = 'VERSION=%(version)s ' +options = {'modulename': 'flatbuffers'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6fbc058da44 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('Ninja', '1.10.2'), + ('Python', '3.9.6'), +] + +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/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..080188887fd --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.0' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('Python', '3.10.4'), +] + +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/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..019f393bdd0 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '2.0.7' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library + +Includes the Flatbuffers compiler, C/C++ bindings and Python runtime library. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4c7986174dc3941220bf14feaacaad409c3e1526d9ad7f490366fede9a6f43fa'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +# Install into the same dir as the Python extension which is /lib +configopts = '-DFLATBUFFERS_ENABLE_PCH=ON -DCMAKE_INSTALL_LIBDIR=lib' + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('flatbuffers', version, { + 'sources': { + 'download_filename': SOURCE_TAR_GZ, + 'filename': '%(name)s-python-%(version)s.tar.gz', + }, + 'checksums': ['0ae7d69c5b82bf41962ca5fde9cc43033bc9501311d975fd5a25e8a7d29c1245'], + }), +] + +sanity_check_paths = { + 'files': ['include/flatbuffers/flatbuffers.h', 'bin/flatc', 'lib/libflatbuffers.a'], + 'dirs': ['lib/cmake', 'lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6a6c59241f7 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.1.4-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '23.1.4' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['801871ff3747838c0dd9730fc44ca9cc453ff42f9c8a0a2f1b33776d2ca5e4b9'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('Python', '3.10.8'), +] + +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/flatbuffers/flatbuffers-23.5.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.5.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b9e6f5ee059 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-23.5.26-GCCcore-12.3.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': '12.3.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.26.3'), + ('Ninja', '1.11.1'), + ('Python', '3.11.3'), +] + +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/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/flatbuffers/flatbuffers-24.3.25-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-24.3.25-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..42c0b9a28f1 --- /dev/null +++ b/easybuild/easyconfigs/f/flatbuffers/flatbuffers-24.3.25-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeNinja' + +name = 'flatbuffers' +version = '24.3.25' + +homepage = 'https://github.com/google/flatbuffers/' +description = """FlatBuffers: Memory Efficient Serialization Library""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/flatbuffers/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4157c5cacdb59737c5d627e47ac26b140e9ee28b1102f812b36068aab728c1ed'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('Python', '3.12.3'), +] + +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/flex/flex-2.6.3.eb b/easybuild/easyconfigs/f/flex/flex-2.6.3.eb index ab3d8511d39..21e844915f7 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.3.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.3.eb @@ -14,12 +14,12 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['68b2742233e747c462f781462a2a1e299dc6207401dac8f0bbb316f48565c2aa'] -checksums = ['a5f65570cd9107ec8a8ec88f17b31bb1'] - +# Do not add help2man, it depends on Perl and we do not want Perl at SYSTEM level. +# This results in not building man pages for the flex at SYSTEM level. builddependencies = [ ('Bison', '3.0.4'), - ('help2man', '1.47.4'), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.1.0.eb index e615af45793..b0c78713c4d 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.1.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.6.1'), ('help2man', '1.47.15'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.2.0.eb index d6bae199dd3..f9dd97bb264 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.7.1'), ('help2man', '1.47.16'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.35', '', True), + ('binutils', '2.35', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.3.0.eb index cf948060781..9c8be6a9616 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-10.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.7.6'), ('help2man', '1.48.3'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.1.0.eb index 4ca376c2d43..0b7ca6dcc6a 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.1.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.7.6'), ('help2man', '1.48.3'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..78207419ed1 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('help2man', '1.48.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.37', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dcf62626f8b --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.2'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.4.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..cab31c1aaf1 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-11.4.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..98d514c2d78 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.1.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.2'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..63776909de0 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.2'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.39', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a1d5afb9dbd --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..6d11a9f3e06 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.1.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a9504117294 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dda9307eaea --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..fc4217d30c2 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.1.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..d91f13aa5d0 --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-14.2.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'https://github.com/westes/flex' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.3'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-5.5.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-5.5.0.eb index ffa930b4898..6e2346cb45a 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-5.5.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.5'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.3.0.eb index 20fcbab0a05..9f150f124f7 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.3.0.eb @@ -18,7 +18,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.4'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ] # glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.4.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.4.0.eb index 17af2c37c99..9879fbf3e84 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-6.4.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.4'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.2.0.eb index 85ed2ec7911..e22e1391359 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.4'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.29', '', True), + ('binutils', '2.29', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.3.0.eb index 94729110abe..aed4ab61424 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.4'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.4.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.4.0.eb index ae0550f73c3..179da80d419 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-7.4.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.2.2'), ('help2man', '1.47.8'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb index ac19425d0d4..92b958e6a97 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.1.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.6'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.2.0.eb index 01fb067c997..059e88ff05c 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.0.5'), ('help2man', '1.47.7'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.3.0.eb index f5fc0ba9248..11a535f092d 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.3.2'), ('help2man', '1.47.8'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.4.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.4.0.eb index 36aad7de33d..39338043fd8 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-8.4.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.3.2'), ('help2man', '1.47.8'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.1.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.1.0.eb index 256f72bf9e9..b1e5c067383 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.1.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.3.2'), ('help2man', '1.47.10'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.2.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.2.0.eb index 6a58f80946f..de9e537294f 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.3.2'), ('help2man', '1.47.10'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.3.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.3.0.eb index 5f380c6db6e..f61ebc628c7 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.5.3'), ('help2man', '1.47.12'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.4.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.4.0.eb index 7d4dffd6bd2..6cae0620be3 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.4.0.eb @@ -20,7 +20,7 @@ builddependencies = [ ('Bison', '3.7.6'), ('help2man', '1.48.3'), # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.5.0.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..24974f71c4d --- /dev/null +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4-GCCcore-9.5.0.eb @@ -0,0 +1,34 @@ +name = 'flex' +version = '2.6.4' + +homepage = 'http://flex.sourceforge.net/' + +description = """ + Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, + sometimes called a tokenizer, is a program which recognizes lexical patterns + in text. +""" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('help2man', '1.49.2'), + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +# glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct +# header, see https://github.com/westes/flex/issues/241 +preconfigopts = 'export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" && ' + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/f/flex/flex-2.6.4.eb b/easybuild/easyconfigs/f/flex/flex-2.6.4.eb index e15e819b098..16d474262c5 100644 --- a/easybuild/easyconfigs/f/flex/flex-2.6.4.eb +++ b/easybuild/easyconfigs/f/flex/flex-2.6.4.eb @@ -16,13 +16,14 @@ source_urls = ['https://github.com/westes/flex/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995'] +# Do not add help2man, it depends on Perl and we do not want Perl at SYSTEM level. +# This results in not building man pages for the flex at SYSTEM level. builddependencies = [ - ('Bison', '3.5.3'), - ('help2man', '1.47.4'), + ('Bison', '3.8.2'), ] dependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ] # glibc 2.26 requires _GNU_SOURCE defined to expose reallocarray in the correct diff --git a/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a19ba324250 --- /dev/null +++ b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-12.3.0.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'flit' +version = '3.9.0' + +homepage = 'https://github.com/pypa/flit' +description = "A simple packaging tool for simple packages." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('certifi', '2023.5.7', { + 'checksums': ['0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7'], + }), + ('urllib3', '1.26.16', { + 'checksums': ['8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14'], + }), + ('charset-normalizer', '3.1.0', { + 'checksums': ['34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5'], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('setuptools_scm', '7.1.0', { + 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], + }), + ('typing_extensions', '4.6.3', { + 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], + }), + ('flit_scm', '1.7.0', { + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('docutils', '0.20.1', { + 'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + (name, version, { + 'checksums': ['d75edf5eb324da20d53570a6a6f87f51e606eee8384925cd66a90611140844c7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9ef1de6c8b7 --- /dev/null +++ b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.2.0.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'flit' +version = '3.9.0' + +homepage = 'https://github.com/pypa/flit' +description = "A simple packaging tool for simple packages." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('certifi', '2023.7.22', { + 'checksums': ['539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082'], + }), + ('urllib3', '2.0.7', { + 'checksums': ['c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84'], + }), + ('charset-normalizer', '3.3.1', { + 'checksums': ['d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('setuptools-scm', '8.0.4', { + 'checksums': ['b5f43ff6800669595193fd09891564ee9d1d7dcb196cab4b2506d53a2e1c95c7'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('flit_scm', '1.7.0', { + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('docutils', '0.20.1', { + 'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + (name, version, { + 'checksums': ['d75edf5eb324da20d53570a6a6f87f51e606eee8384925cd66a90611140844c7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..650b15edaa5 --- /dev/null +++ b/easybuild/easyconfigs/f/flit/flit-3.9.0-GCCcore-13.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'flit' +version = '3.9.0' + +homepage = 'https://github.com/pypa/flit' +description = "A simple packaging tool for simple packages." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('idna', '3.7', { + 'checksums': ['028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc'], + }), + ('certifi', '2024.6.2', { + 'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'], + }), + ('urllib3', '2.2.1', { + 'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'], + }), + ('charset-normalizer', '3.3.2', { + 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + }), + ('packaging', '24.1', { + 'checksums': ['026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002'], + }), + ('setuptools-scm', '8.1.0', { + 'sources': ['setuptools_scm-%(version)s.tar.gz'], + 'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'], + }), + ('typing-extensions', '4.12.2', { + 'sources': ['typing_extensions-%(version)s.tar.gz'], + 'checksums': ['1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8'], + }), + ('flit-scm', '1.7.0', { + 'sources': ['flit_scm-%(version)s.tar.gz'], + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('requests', '2.32.3', { + 'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'], + }), + ('docutils', '0.21.2', { + 'checksums': ['3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f'], + }), + ('tomli-w', '1.0.0', { + 'sources': ['tomli_w-%(version)s.tar.gz'], + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + (name, version, { + 'checksums': ['d75edf5eb324da20d53570a6a6f87f51e606eee8384925cd66a90611140844c7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.2.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..fc27032402f --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.2')] + +parallel = 1 + +local_comp_flags = 'VENDOR="gnu" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..220d66b7494 --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="gnu" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..2adf960c7c5 --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="gnu" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.3.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..bf12e82517f --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-GCC-11.3.0.eb @@ -0,0 +1,23 @@ +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [ + ('flook-%(version)s_setup.make', './setup.make'), + 'flook-%(version)s_flook.pc.in.patch', +] +checksums = [ + {'flook-0.8.1.tar.gz': 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e'}, + {'flook-0.8.1_setup.make': '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0'}, + {'flook-0.8.1_flook.pc.in.patch': '73ff61d8bc224c32cb285313615a465c0ce0a6b34e22ef5cf08291a27cee8796'}, +] + +dependencies = [('Lua', '5.4.4')] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-iccifort-2020.4.304.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..ffd6dc3cff1 --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-iccifort-2020.4.304.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.2')] + +parallel = 1 + +local_comp_flags = 'VENDOR="intel" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..99b8846126f --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="intel" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..bf8b3b0072e --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'flook' +version = '0.8.1' + +homepage = 'https://github.com/ElectronicStructureLibrary/flook' +description = """The fortran-Lua-hook library.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://github.com/ElectronicStructureLibrary/flook/archive/'] +sources = ['v%(version)s/flook-%(version)s.tar.gz'] +patches = [('flook-%(version)s_setup.make', './setup.make')] +checksums = [ + 'beb15b8cb57b7a2facc7a5094326aaa877fda4fe35f8aabac023232c2e12d97e', # flook-0.8.1.tar.gz + '6df3f53faa8a8fe61534ded997c5e748d0327c13b18972fbbf49eacbda30d6e0', # flook-0.8.1_setup.make +] + +dependencies = [('Lua', '5.4.3')] + +parallel = 1 + +local_comp_flags = 'VENDOR="intel" FFLAGS="$FFLAGS" CFLAGS="$CFLAGS"' +buildopts = 'liball %s' % local_comp_flags + +files_to_copy = [ + (['libflookall.a', 'libflook.a'], 'lib'), + (['flook.mod'], 'include'), +] + +sanity_check_paths = { + 'files': ['include/flook.mod', 'lib/libflook.a', 'lib/libflookall.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1_flook.pc.in.patch b/easybuild/easyconfigs/f/flook/flook-0.8.1_flook.pc.in.patch new file mode 100644 index 00000000000..485caf113fa --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1_flook.pc.in.patch @@ -0,0 +1,14 @@ +Patch to fix missing link libraries in pkgconfig +for correctly linking with external Lua. +author: Arnold H. Kole (Utrecht University) +diff --git a/flook.pc.in b/flook.pc.in +index 680b5e0..b46f8ad 100644 +--- a/flook.pc.in ++++ b/flook.pc.in +@@ -10,5 +10,5 @@ Version: @PROJECT_VERSION@ + URL: https://github.com/ElectronicStructureLibrary/flook + Cflags: -I${includedir} + Libs.private: -ldl +-Libs: -L${libdir} -lflookall ++Libs: -L${libdir} -lflookall -llua -ldl + diff --git a/easybuild/easyconfigs/f/flook/flook-0.8.1_setup.make b/easybuild/easyconfigs/f/flook/flook-0.8.1_setup.make new file mode 100644 index 00000000000..1d0046f690a --- /dev/null +++ b/easybuild/easyconfigs/f/flook/flook-0.8.1_setup.make @@ -0,0 +1,8 @@ +.f90.o: + $(FC) -c $(FFLAGS) $(INC) $< +.F90.o: + $(FC) -c $(FFLAGS) $(INC) $< +.c.o: + $(CC) -c $(CFLAGS) $(INC) $< +LUA_DIR = $(EBROOTLUA) +INC += -I$(LUA_DIR)/include diff --git a/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..ff0965141f5 --- /dev/null +++ b/easybuild/easyconfigs/f/flowFDA/flowFDA-0.99-20220602-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'flowFDA' +local_commit = 'a7e931d' +version = '0.99-20220602' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/FMKerckhof/flowFDA' +description = """R package for analysing flow cytometry experiments with model based clustering, + functional principal component analysis""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/FMKerckhof/flowFDA/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['80942abd4760bbaa815c909749e0d2746cf7838967b555f7035d1bf0ff149724'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fmt/fmt-10.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fmt/fmt-10.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ad80d0891f9 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-10.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '10.0.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fmt/fmt-10.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fmt/fmt-10.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6866b4ac550 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-10.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '10.1.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['d725fa83a8b57a3cedf238828fa6b167f963041e8f9f7327649bddc68ae316f4'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' 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/fmt/fmt-10.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-10.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..45cfe72e73f --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-10.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '10.2.1' + +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 = ['312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9'] + + +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/fmt/fmt-7.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-7.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6d690690a62 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-7.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '7.1.1' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['57f8a384285f7e2d8b8da43eb269bb409bad20c440a2153e366be7c799a41cb0'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37') +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..23b7cc2ad3e --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '8.1.1' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37') +] + +# build static and shared libraries +configopts = ["-DCMAKE_POSTITION_INDEPENDENT_CODE=TRUE", "-DBUILD_SHARED_LIBS=TRUE"] + +sanity_check_paths = { + 'files': ['lib/libfmt.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ee5eb6a8fa8 --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '9.1.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cfaa82feaea --- /dev/null +++ b/easybuild/easyconfigs/f/fmt/fmt-9.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'fmt' +version = '9.1.0' + +homepage = 'http://fmtlib.net/' +description = "fmt (formerly cppformat) is an open-source formatting library." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/'] +sources = ['fmt-%(version)s.zip'] +checksums = ['cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39') +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libfmt.a'], + 'dirs': ['include/fmt', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.93-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.93-GCCcore-10.3.0.eb index ce22e2d81eb..afc50b525be 100644 --- a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.93-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.93-GCCcore-10.3.0.eb @@ -21,6 +21,7 @@ builddependencies = [ ('binutils', '2.36.1'), ('gperf', '3.1'), ('pkg-config', '0.29.2'), + ('Python', '3.9.5', '-bare'), ] dependencies = [ diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.94-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.94-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6829e30b095 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.13.94-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.13.94' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['246d1640a7e54fba697b28e4445f4d9eb63dda1b511d19986249368ee7191882'] + +builddependencies = [ + ('binutils', '2.37'), + ('gperf', '3.1'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.6', '-bare'), +] + +dependencies = [ + ('expat', '2.4.1'), + ('freetype', '2.11.0'), + ('util-linux', '2.37'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6cee0a74ce9 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.14.0' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b8f607d556e8257da2f3616b4d704be30fd73bd71e367355ca78963f9a7f0434'] + +builddependencies = [ + ('binutils', '2.38'), + ('gperf', '3.1'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('expat', '2.4.8'), + ('freetype', '2.12.1'), + ('util-linux', '2.38'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6a514ecbd3c --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.1-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.14.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ae480e9ca34382790312ff062c625ec70df94d6d9a9366e2b2b3d525f7f90387'] + +builddependencies = [ + ('binutils', '2.39'), + ('gperf', '3.1'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8', '-bare'), +] + +dependencies = [ + ('expat', '2.4.9'), + ('freetype', '2.12.1'), + ('util-linux', '2.38.1'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8e0aff02c97 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.14.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3ba2dd92158718acec5caaf1a716043b5aa055c27b081d914af3ccb40dce8a55'] + +builddependencies = [ + ('binutils', '2.40'), + ('gperf', '3.1'), + ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('expat', '2.5.0'), + ('freetype', '2.13.0'), + ('util-linux', '2.39'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e1b60608681 --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.14.2-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.14.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3ba2dd92158718acec5caaf1a716043b5aa055c27b081d914af3ccb40dce8a55'] + +builddependencies = [ + ('binutils', '2.40'), + ('gperf', '3.1'), + ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('expat', '2.5.0'), + ('freetype', '2.13.2'), + ('util-linux', '2.39'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e2586c86e8c --- /dev/null +++ b/easybuild/easyconfigs/f/fontconfig/fontconfig-2.15.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'fontconfig' +version = '2.15.0' + +homepage = 'https://www.freedesktop.org/wiki/Software/fontconfig/' + +description = """ + Fontconfig is a library designed to provide system-wide font configuration, + customization and application access. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.freedesktop.org/software/fontconfig/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['f5f359d6332861bd497570848fcb42520964a9e83d5e3abe397b6b6db9bcaaf4'] + +builddependencies = [ + ('binutils', '2.42'), + ('gperf', '3.1'), + ('pkgconf', '2.2.0'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('expat', '2.6.2'), + ('freetype', '2.13.2'), + ('util-linux', '2.40'), +] + +configopts = '--disable-docs ' + +sanity_check_paths = { + 'files': ['include/fontconfig/fontconfig.h', 'lib/libfontconfig.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8453a35a695 --- /dev/null +++ b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'fonttools' +version = '4.53.1' + +homepage = 'https://python-markdown.github.io/' +description = """ +fontTools is a library for manipulating fonts, written in Python. +The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, +which is also called TTX. +It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'] + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'fontTools'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cfaada6dee8 --- /dev/null +++ b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'fonttools' +version = '4.53.1' + +homepage = 'https://python-markdown.github.io/' +description = """ +fontTools is a library for manipulating fonts, written in Python. +The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, +which is also called TTX. +It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'] + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'fontTools'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf71a8f341f --- /dev/null +++ b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'fonttools' +version = '4.53.1' + +homepage = 'https://python-markdown.github.io/' +description = """ +fontTools is a library for manipulating fonts, written in Python. +The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, +which is also called TTX. +It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'fontTools'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0e8a62e088b --- /dev/null +++ b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'fonttools' +version = '4.53.1' + +homepage = 'https://python-markdown.github.io/' +description = """ +fontTools is a library for manipulating fonts, written in Python. +The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, +which is also called TTX. +It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.5')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'fontTools'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ed395cfd0ee --- /dev/null +++ b/easybuild/easyconfigs/f/fonttools/fonttools-4.53.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'fonttools' +version = '4.53.1' + +homepage = 'https://python-markdown.github.io/' +description = """ +fontTools is a library for manipulating fonts, written in Python. +The project includes the TTX tool, that can convert TrueType and OpenType fonts to and from an XML text format, +which is also called TTX. +It supports TrueType, OpenType, AFM and to an extent Type 1 and some Mac-specific formats.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Python', '3.12.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'fontTools'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/f/forbear/forbear-1.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/f/forbear/forbear-1.2.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..4b66aff9361 --- /dev/null +++ b/easybuild/easyconfigs/f/forbear/forbear-1.2.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'forbear' +version = '1.2.0' + +homepage = 'https://github.com/szaghi/forbear' +description = "A Fortran Library for building and running fancy progress bar" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/szaghi/forbear/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'forbear-1.2.0_use_external_FACE.patch', +] +checksums = [ + '3cff81c27c33edada152cca8429b0d6e45ac109f1f135561cd01aacf4d5fd3be', # v1.2.0.tar.gz + '99e5dd2d901b1b70eb9a89a5754de56dfe705c15c45cd69e83d6c52ff5a9c80b', # forbear-1.2.0_use_external_FACE.patch +] + +builddependencies = [ + ('FoBiS', '3.0.5'), +] + +dependencies = [ + ('FACE', '1.1.1'), +] + +build_cmd = 'FoBiS.py build' +buildopts = '-mode shared-gnu ' +buildopts += '-verbose ' + +files_to_copy = [(['shared/mod/*.mod'], 'include'), (['shared/libforbear.%s' % SHLIB_EXT], 'lib')] + +sanity_check_paths = { + 'files': ['include/forbear.mod', 'lib/libforbear.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/forbear/forbear-1.2.0_use_external_FACE.patch b/easybuild/easyconfigs/f/forbear/forbear-1.2.0_use_external_FACE.patch new file mode 100644 index 00000000000..70cdcb09067 --- /dev/null +++ b/easybuild/easyconfigs/f/forbear/forbear-1.2.0_use_external_FACE.patch @@ -0,0 +1,97 @@ +Use external FACE build + +Åke Sandgren, 2022-01-25 +diff --git a/fobos b/fobos +index 4359fca..76da757 100644 +--- a/fobos ++++ b/fobos +@@ -117,6 +117,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-gnu] + compiler = gnu +@@ -130,6 +132,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-shared-gnu-debug] + compiler = gnu +@@ -144,6 +148,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-gnu-debug] + compiler = gnu +@@ -158,6 +164,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-shared-intel] + compiler = intel +@@ -171,6 +179,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-intel] + compiler = intel +@@ -184,6 +194,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-shared-intel-debug] + compiler = intel +@@ -198,6 +210,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-intel-debug] + compiler = intel +@@ -212,6 +226,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-pgi] + compiler = pgi +@@ -225,6 +241,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + [template-static-pgi-debug] + compiler = pgi +@@ -239,6 +257,8 @@ colors = True + quiet = False + log = True + jobs = 2 ++include = $EBROOTFACE/include ++ext_libs = face + + # rules + [rule-makedoc] diff --git a/easybuild/easyconfigs/f/foss/foss-2021b.eb b/easybuild/easyconfigs/f/foss/foss-2021b.eb new file mode 100644 index 00000000000..3820db82907 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2021b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '11.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.1', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.0.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.1.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2022.05.eb b/easybuild/easyconfigs/f/foss/foss-2022.05.eb new file mode 100644 index 00000000000..c6ded56db6a --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022.05.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022.05' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '11.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.0', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2022.10.eb b/easybuild/easyconfigs/f/foss/foss-2022.10.eb new file mode 100644 index 00000000000..023dc177384 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022.10.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022.10' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2022a.eb b/easybuild/easyconfigs/f/foss/foss-2022a.eb new file mode 100644 index 00000000000..99d57d2d5fa --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '11.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.0', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2022b.eb b/easybuild/easyconfigs/f/foss/foss-2022b.eb new file mode 100644 index 00000000000..c1a658b5020 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2022b.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2022b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2023.09.eb b/easybuild/easyconfigs/f/foss/foss-2023.09.eb new file mode 100644 index 00000000000..a02c284e598 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2023.09.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2023.09' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.6', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2023a.eb b/easybuild/easyconfigs/f/foss/foss-2023a.eb new file mode 100644 index 00000000000..d1f0461c876 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2023a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.5', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2023b.eb b/easybuild/easyconfigs/f/foss/foss-2023b.eb new file mode 100644 index 00000000000..24bbd688d58 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2023b.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2023b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '4.1.6', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2024.05.eb b/easybuild/easyconfigs/f/foss/foss-2024.05.eb new file mode 100644 index 00000000000..0d3f8fac41a --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2024.05.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2024.05' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/foss/foss-2024a.eb b/easybuild/easyconfigs/f/foss/foss-2024a.eb new file mode 100644 index 00000000000..7e9a4ba5112 --- /dev/null +++ b/easybuild/easyconfigs/f/foss/foss-2024a.eb @@ -0,0 +1,28 @@ +easyblock = 'Toolchain' + +name = 'foss' +version = '2024a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# toolchain used to build foss dependencies +local_comp_mpi_tc = ('gompi', version) + +# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..229958da639 --- /dev/null +++ b/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'fplll' +version = '5.4.5' + +homepage = 'https://github.com/fplll/fplll' +description = """fplll contains implementations of several lattice algorithms. + The implementation relies on floating-point orthogonalization, and the 1982 paper from +Lenstra, Lenstra Jr. and Lovasz (LLL) is central to the code, hence the name.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/fplll/fplll/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['76d3778f0326597ed7505bab19493a9bf6b73a5c5ca614e8fb82f42105c57d00'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('MPFR', '4.1.0'), +] + +sanity_check_paths = { + 'files': ['bin/fplll', 'lib/libfplll.%s' % SHLIB_EXT, 'include/fplll.h'], + 'dirs': ['share'] +} + +sanity_check_commands = ["fplll --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5184f1f3c1e --- /dev/null +++ b/easybuild/easyconfigs/f/fplll/fplll-5.4.5-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'fplll' +version = '5.4.5' + +homepage = 'https://github.com/fplll/fplll' +description = """fplll contains implementations of several lattice algorithms. + The implementation relies on floating-point orthogonalization, and the 1982 paper from +Lenstra, Lenstra Jr. and Lovasz (LLL) is central to the code, hence the name.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/fplll/fplll/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['76d3778f0326597ed7505bab19493a9bf6b73a5c5ca614e8fb82f42105c57d00'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('MPFR', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/fplll', 'lib/libfplll.%s' % SHLIB_EXT, 'include/fplll.h'], + 'dirs': ['share'] +} + +sanity_check_commands = ["fplll --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb b/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb index 60f21578c56..5d4d5c538a3 100644 --- a/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb +++ b/easybuild/easyconfigs/f/fpocket/fpocket-3.1.4.2-gompi-2020a.eb @@ -20,7 +20,7 @@ dependencies = [('netCDF', '4.7.4')] parallel = 1 # Don't overwrite $LD_LIBRARY_PATH, but append fpocket paths to it. -prebuildopts = 'sed -i "s/LD_LIBRARY_PATH=/LD_LIBRARY_PATH=\$(LD_LIBRARY_PATH):/g" makefile && ' +prebuildopts = r'sed -i "s/LD_LIBRARY_PATH=/LD_LIBRARY_PATH=\$(LD_LIBRARY_PATH):/g" makefile && ' # Use CFLAGS from EB prebuildopts += 'sed -i "s/-O2.*c99/$CFLAGS/g" makefile && ' diff --git a/easybuild/easyconfigs/f/fpylll/fpylll-0.5.9-foss-2022a.eb b/easybuild/easyconfigs/f/fpylll/fpylll-0.5.9-foss-2022a.eb new file mode 100644 index 00000000000..0942fca804b --- /dev/null +++ b/easybuild/easyconfigs/f/fpylll/fpylll-0.5.9-foss-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'fpylll' +version = '0.5.9' + +homepage = 'https://pypi.org/project/fpylll' +description = "A Python wrapper for fplll." + +# can be moved down to gfbf in more recent toolchain versions +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['be16d40fd94ddea771ccef44434732dfbf9a88cf15cd5f9020ec7a8197f16358'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('cysignals', '1.11.2'), + ('fplll', '5.4.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/fpylll/fpylll-0.6.1-foss-2023b.eb b/easybuild/easyconfigs/f/fpylll/fpylll-0.6.1-foss-2023b.eb new file mode 100644 index 00000000000..5361252deb7 --- /dev/null +++ b/easybuild/easyconfigs/f/fpylll/fpylll-0.6.1-foss-2023b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'fpylll' +version = '0.6.1' + +homepage = 'https://pypi.org/project/fpylll' +description = "A Python wrapper for fplll." + +# can be moved down to gfbf in more recent toolchain versions +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['dfd9529a26c50993a2a716177debd7994312219070574cad31b35b4f0c040a19'] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('cysignals', '1.11.4'), + ('fplll', '5.4.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-10.2.0.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-10.2.0.eb new file mode 100644 index 00000000000..f57fb4074be --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-10.2.0.eb @@ -0,0 +1,64 @@ +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.5' + +homepage = 'https://github.com/freebayes/freebayes' +description = "Bayesian haplotype-based genetic polymorphism discovery and genotyping." + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['freebayes-1.3.5_fix-meson-build.patch'] +checksums = [ + 'af195a8c54b742d01af5a7e1fd1781a89290d726b310216c83e78c650d7aee49', # v1.3.5.tar.gz + 'c408bda1092d6f72d14eb22ab842e12ba27f52be35d82e3a33506e64e04077d8', # freebayes-1.3.5_fix-meson-build.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('Meson', '0.55.3'), + ('Ninja', '1.10.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('parallel', '20210322'), + ('VCFtools', '0.1.16'), + ('vcflib', '1.0.2'), + ('SeqLib', '1.2.0'), + ('fastahack', '1.0.0'), + ('intervaltree', '0.1'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +# freebayes expects intervaltree headers in its source directory +local_intervaltree_path = '%(builddir)s/%(name)s-%(version)s/intervaltree' +preconfigopts = "mv %(i)s %(i)s.orig && " % {'i': local_intervaltree_path} +preconfigopts += "ln -s $EBROOTINTERVALTREE/include/intervaltree %(i)s && " % {'i': local_intervaltree_path} +# workaround for direct includes of multichoose headers +preconfigopts += 'CPPFLAGS="-I${EBROOTMULTICHOOSE}/include/multichoose ${CPPFLAGS}" ' +# add missing linker flags for fastahack and smithwaterman +preconfigopts += 'LDFLAGS="-lsw -lfastahack ${LDFLAGS}"' + +configopts = "--buildtype release" + +postinstallcmds = [ + # add extra scripts + "cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s/", + # only make freebayes-parallel directly executable + "cd %(installdir)s/bin && ln -s ../scripts/freebayes-parallel", +] + +sanity_check_paths = { + 'files': ['bin/freebayes', 'bin/bamleftalign', 'bin/freebayes-parallel'], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["freebayes --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-9.3.0-Python-3.8.2.eb new file mode 100644 index 00000000000..32a031a8418 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5-GCC-9.3.0-Python-3.8.2.eb @@ -0,0 +1,59 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.5' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/ekg/freebayes' +description = """FreeBayes is a Bayesian genetic variant detector designed to find small + polymorphisms, specifically SNPs (single-nucleotide polymorphisms), indels (insertions and + deletions), MNPs (multi-nucleotide polymorphisms), and complex events (composite insertion and + substitution events) smaller than the length of a short-read sequencing alignment. +""" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +github_account = name +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.3.5_find-external-libs.patch', + '%(name)s-1.3.5_fix-includes.patch', + '%(name)s-1.3.5_install-libs-headers.patch', +] +checksums = [ + 'af195a8c54b742d01af5a7e1fd1781a89290d726b310216c83e78c650d7aee49', # v1.3.5.tar.gz + '68b62f532fb658cbee20aa0a9d19a4f5ab942f64510753bc01eb44006bad15dc', # freebayes-1.3.5_find-external-libs.patch + '4c6c74b30bf3b2f04b8a50bbdef26e74f6e2412f3efbd81512226e557c2a53d1', # freebayes-1.3.5_fix-includes.patch + '9a30129ea9457cfd49234b5b4cca0b3f9ac64765f122632f8eb9a1295ee6cb13', # freebayes-1.3.5_install-libs-headers.patch +] + +builddependencies = [ + ('CMake', '3.16.4'), + ('Meson', '0.55.1', versionsuffix), + ('Ninja', '1.10.0'), + ('pkgconfig', '1.5.1', versionsuffix), +] + +dependencies = [ + ('Python', '3.8.2'), + ('SAMtools', '1.11'), + ('parallel', '20200522'), + ('intervaltree', '0.1'), + ('libffi', '3.3'), + ('SeqLib', '1.2.0'), + ('vcflib', '1.0.2', versionsuffix), + ('VCFtools', '0.1.16'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/bamleftalign', 'scripts/%(name)s-parallel'], + 'dirs': ['bin', 'scripts'], +} +sanity_check_commands = ["%(name)s -h"] + +modextrapaths = {'PATH': ['scripts']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_find-external-libs.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_find-external-libs.patch new file mode 100644 index 00000000000..41e9c926767 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_find-external-libs.patch @@ -0,0 +1,52 @@ +Created by 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.5.orig/meson.build freebayes-1.3.5/meson.build +--- freebayes-1.3.5.orig/meson.build 2021-05-13 15:56:53.000000000 +0100 ++++ freebayes-1.3.5/meson.build 2021-05-13 16:00:25.000000000 +0100 +@@ -16,10 +16,12 @@ + lzma_dep = dependency('liblzma') + thread_dep = dependency('threads') + +-htslib_dep = dependency('htslib', required : false) +-tabixpp_dep = cc.find_library('tabixpp', required : false) +-vcflib_dep = dependency('libvcflib', required : false) +-seqlib_dep = dependency('libseqlib', required : false) ++htslib_dep = dependency('htslib', required : true) ++tabixpp_dep = cc.find_library('tabixpp', required : true) ++vcflib_dep = cc.find_library('libvcflib', required : true) ++seqlib_dep = cc.find_library('libseqlib', required : true) ++fastahack_dep = cc.find_library('libfastahack', required : true) ++sw_dep = cc.find_library('libsw', required : true) + + # for setting a warning_level on the external code in custom_* targets below + warn_quiet = ['warning_level=0'] +@@ -191,7 +193,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, + ) + +@@ -200,7 +202,8 @@ + include_directories : incdir, + cpp_args : extra_cpp_args, + 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 + ) +@@ -210,7 +213,8 @@ + include_directories : incdir, + cpp_args : extra_cpp_args, + 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.5_fix-includes.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_fix-includes.patch new file mode 100644 index 00000000000..7e8d4afc8ae --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_fix-includes.patch @@ -0,0 +1,171 @@ +Created by Jasper Grimm (UoY) +Patch include statements to match installed include hierarchy +diff -Nru freebayes-1.3.5/src/Allele.cpp freebayes-1.3.5b/src/Allele.cpp +--- freebayes-1.3.5/src/Allele.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/Allele.cpp 2021-05-13 16:26:23.000000000 +0100 +@@ -1,5 +1,5 @@ + #include "Allele.h" +-#include "multichoose.h" ++#include "multichoose/multichoose.h" + #include "TryCatch.h" + + +diff -Nru freebayes-1.3.5/src/AlleleParser.cpp freebayes-1.3.5b/src/AlleleParser.cpp +--- freebayes-1.3.5/src/AlleleParser.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/AlleleParser.cpp 2021-05-13 16:26:24.000000000 +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 -Nru freebayes-1.3.5/src/AlleleParser.h freebayes-1.3.5b/src/AlleleParser.h +--- freebayes-1.3.5/src/AlleleParser.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/AlleleParser.h 2021-05-13 16:26:24.000000000 +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 -Nru freebayes-1.3.5/src/BedReader.cpp freebayes-1.3.5b/src/BedReader.cpp +--- freebayes-1.3.5/src/BedReader.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/BedReader.cpp 2021-05-13 16:26:23.000000000 +0100 +@@ -7,10 +7,10 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + #include "Utility.h" + #include "BedReader.h" +-#include "../intervaltree/IntervalTree.h" ++#include "intervaltree/IntervalTree.h" + + using namespace std; + +diff -Nru freebayes-1.3.5/src/BedReader.h freebayes-1.3.5b/src/BedReader.h +--- freebayes-1.3.5/src/BedReader.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/BedReader.h 2021-05-13 16:26:23.000000000 +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 -Nru freebayes-1.3.5/src/Bias.h freebayes-1.3.5b/src/Bias.h +--- freebayes-1.3.5/src/Bias.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/Bias.h 2021-05-13 16:26:24.000000000 +0100 +@@ -7,7 +7,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -Nru freebayes-1.3.5/src/CNV.h freebayes-1.3.5b/src/CNV.h +--- freebayes-1.3.5/src/CNV.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/CNV.h 2021-05-13 16:26:24.000000000 +0100 +@@ -10,7 +10,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -Nru freebayes-1.3.5/src/Contamination.h freebayes-1.3.5b/src/Contamination.h +--- freebayes-1.3.5/src/Contamination.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/Contamination.h 2021-05-13 16:26:24.000000000 +0100 +@@ -8,7 +8,7 @@ + #include + #include + #include +-#include "split.h" ++#include "fastahack/split.h" + + using namespace std; + +diff -Nru freebayes-1.3.5/src/DataLikelihood.cpp freebayes-1.3.5b/src/DataLikelihood.cpp +--- freebayes-1.3.5/src/DataLikelihood.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/DataLikelihood.cpp 2021-05-13 16:26:24.000000000 +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 -Nru freebayes-1.3.5/src/FBFasta.h freebayes-1.3.5b/src/FBFasta.h +--- freebayes-1.3.5/src/FBFasta.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/FBFasta.h 2021-05-13 16:26:24.000000000 +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 -Nru freebayes-1.3.5/src/freebayes.cpp freebayes-1.3.5b/src/freebayes.cpp +--- freebayes-1.3.5/src/freebayes.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/freebayes.cpp 2021-05-13 16:26:23.000000000 +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 -Nru freebayes-1.3.5/src/Genotype.cpp freebayes-1.3.5b/src/Genotype.cpp +--- freebayes-1.3.5/src/Genotype.cpp 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/Genotype.cpp 2021-05-13 16:26:23.000000000 +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 -Nru freebayes-1.3.5/src/Parameters.h freebayes-1.3.5b/src/Parameters.h +--- freebayes-1.3.5/src/Parameters.h 2021-02-10 09:21:07.000000000 +0000 ++++ freebayes-1.3.5b/src/Parameters.h 2021-05-13 16:26:24.000000000 +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/freebayes/freebayes-1.3.5_fix-meson-build.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_fix-meson-build.patch new file mode 100644 index 00000000000..f3df628718e --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_fix-meson-build.patch @@ -0,0 +1,33 @@ +fix discovery of vcflib and SeqLib from external libraries +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/meson.build 2021-02-10 10:21:07.000000000 +0100 ++++ b/meson.build 2021-07-31 18:10:17.491193000 +0200 +@@ -18,8 +18,8 @@ + + htslib_dep = dependency('htslib', required : false) + tabixpp_dep = cc.find_library('tabixpp', required : false) +-vcflib_dep = dependency('libvcflib', required : false) +-seqlib_dep = dependency('libseqlib', required : false) ++vcflib_dep = cc.find_library('libvcflib', required : false) ++seqlib_dep = cc.find_library('libseqlib', required : false) + + # for setting a warning_level on the external code in custom_* targets below + warn_quiet = ['warning_level=0'] +@@ -113,6 +113,8 @@ + override_options : warn_quiet) + vcflib_dep = declare_dependency(link_with : vcflib_lib, + include_directories : vcflib_inc) ++else ++ vcflib_inc = [] + endif + + +@@ -138,6 +140,8 @@ + override_options : warn_quiet) + seqlib_dep = declare_dependency(link_with : seqlib_lib, + include_directories : seqlib_inc) ++else ++ seqlib_inc = [] + endif + + diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_install-libs-headers.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_install-libs-headers.patch new file mode 100644 index 00000000000..c1a34e2432b --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.5_install-libs-headers.patch @@ -0,0 +1,78 @@ +Created by Jasper Grimm (UoY) +Install header files and scripts +Rename static lib to freebayes, and set install to True +Add target to build shared library +diff -Nru freebayes-1.3.5b/meson.build freebayes-1.3.5c/meson.build +--- freebayes-1.3.5b/meson.build 2021-05-13 16:00:36.000000000 +0100 ++++ freebayes-1.3.5c/meson.build 2021-05-13 16:22:17.000000000 +0100 +@@ -173,6 +173,38 @@ + freebayes_src = files('src/freebayes.cpp') + bamleftalign_src = files('src/bamleftalign.cpp') + ++# FreeBayes headers ++freebayes_headers = files( ++ 'src/Allele.h', ++ 'src/AlleleParser.h', ++ 'src/BedReader.h', ++ 'src/Bias.h', ++ 'src/CNV.h', ++ 'src/Contamination.h', ++ 'src/DataLikelihood.h', ++ 'src/Dirichlet.h', ++ 'src/Ewens.h', ++ 'src/FBFasta.h', ++ 'src/Genotype.h', ++ 'src/IndelAllele.h', ++ 'src/LeftAlign.h', ++ 'src/Logging.h', ++ 'src/Marginals.h', ++ 'src/Multinomial.h', ++ 'src/NonCall.h', ++ 'src/Parameters.h', ++ 'src/Product.h', ++ 'src/Result.h', ++ 'src/ResultData.h', ++ 'src/Sample.h', ++ 'src/SegfaultHandler.h', ++ 'src/Sum.h', ++ 'src/TryCatch.h', ++ 'src/Utility.h', ++ 'src/version_git.h', ++ ) ++ ++ + # Include paths + incdir = include_directories( + 'src', +@@ -188,15 +220,29 @@ + ) + + freebayes_lib = static_library( +- 'freebayes_common', ++ 'freebayes', + freebayes_common_src, + include_directories : incdir, + cpp_args : extra_cpp_args, + dependencies : [zlib_dep, lzma_dep, thread_dep, htslib_dep, tabixpp_dep, + vcflib_dep, seqlib_dep, fastahack_dep, sw_dep], +- install : false, ++ install : true, + ) + ++freebayes_slib = shared_library( ++ 'freebayes', ++ freebayes_common_src, ++ include_directories : incdir, ++ cpp_args : extra_cpp_args, ++ dependencies : [zlib_dep, lzma_dep, thread_dep, htslib_dep, tabixpp_dep, ++ vcflib_dep, seqlib_dep, fastahack_dep, sw_dep], ++ install : true ++ ) ++ ++install_headers(freebayes_headers, subdir : 'freebayes') ++ ++install_subdir('scripts', install_dir : '') ++ + executable('freebayes', + freebayes_src, + include_directories : incdir, diff --git a/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..cc4ea323667 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021a-R-4.1.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.6' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/freebayes/freebayes' +description = "Bayesian haplotype-based genetic polymorphism discovery and genotyping." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.3.6_find-external-libs.patch', + '%(name)s-1.3.5_fix-includes.patch', + '%(name)s-1.3.6_install-libs-headers.patch', +] +checksums = [ + 'd668c0b433cc0f11498ace10e48d72a7f0f40ca23b391b72e975ffafd1c13044', # v1.3.6.tar.gz + '4836a9ceaa9044e6e66b3ca0387b058a5e0505ddeaa62c428b526b5e234aff3b', # freebayes-1.3.6_find-external-libs.patch + '4c6c74b30bf3b2f04b8a50bbdef26e74f6e2412f3efbd81512226e557c2a53d1', # freebayes-1.3.5_fix-includes.patch + '5ba006ca6956905bbd81107a17e02287c515890ee25884c444ebf5b95da1caae', # freebayes-1.3.6_install-libs-headers.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('R', '4.1.0'), + ('parallel', '20210622'), + ('libffi', '3.3'), + ('VCFtools', '0.1.16'), + ('vcflib', '1.0.3', versionsuffix), + ('SeqLib', '1.2.0'), +] + +configopts = "--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.6-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..0751b860c54 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6-foss-2021b-R-4.1.2.eb @@ -0,0 +1,54 @@ +easyblock = 'MesonNinja' + +name = 'freebayes' +version = '1.3.6' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/freebayes/freebayes' +description = "Bayesian haplotype-based genetic polymorphism discovery and genotyping." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.3.6_find-external-libs.patch', + '%(name)s-1.3.5_fix-includes.patch', + '%(name)s-1.3.6_install-libs-headers.patch', +] +checksums = [ + 'd668c0b433cc0f11498ace10e48d72a7f0f40ca23b391b72e975ffafd1c13044', # v1.3.6.tar.gz + '4836a9ceaa9044e6e66b3ca0387b058a5e0505ddeaa62c428b526b5e234aff3b', # freebayes-1.3.6_find-external-libs.patch + '4c6c74b30bf3b2f04b8a50bbdef26e74f6e2412f3efbd81512226e557c2a53d1', # freebayes-1.3.5_fix-includes.patch + '5ba006ca6956905bbd81107a17e02287c515890ee25884c444ebf5b95da1caae', # freebayes-1.3.6_install-libs-headers.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('R', '4.1.2'), + ('parallel', '20210722'), + ('libffi', '3.4.2'), + ('VCFtools', '0.1.16'), + ('vcflib', '1.0.3', versionsuffix), + ('SeqLib', '1.2.0'), +] + +configopts = "--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.6_find-external-libs.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6_find-external-libs.patch new file mode 100644 index 00000000000..492aee5f283 --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6_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('libvcflib', static: static_build, required: false) ++ seqlib_dep = cc.find_library('libseqlib', static: static_build, required: false) ++ fastahack_dep = cc.find_library('libfastahack', required : false) ++ sw_dep = cc.find_library('libsw', 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.6_install-libs-headers.patch b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6_install-libs-headers.patch new file mode 100644 index 00000000000..a6e399a64db --- /dev/null +++ b/easybuild/easyconfigs/f/freebayes/freebayes-1.3.6_install-libs-headers.patch @@ -0,0 +1,95 @@ +Created by Jasper Grimm (UoY) +Install header files and scripts +Rename static lib to freebayes, and set install to True +Add target to build shared library +diff -Nru freebayes-1.3.6_p2/meson.build freebayes-1.3.6_p3/meson.build +--- freebayes-1.3.6_p2/meson.build 2022-03-29 12:59:54.000000000 +0100 ++++ freebayes-1.3.6_p3/meson.build 2022-03-29 14:18:24.000000000 +0100 +@@ -203,6 +203,37 @@ + freebayes_src = files('src/freebayes.cpp') + bamleftalign_src = files('src/bamleftalign.cpp') + ++# FreeBayes headers ++freebayes_headers = files( ++ 'src/Allele.h', ++ 'src/AlleleParser.h', ++ 'src/BedReader.h', ++ 'src/Bias.h', ++ 'src/CNV.h', ++ 'src/Contamination.h', ++ 'src/DataLikelihood.h', ++ 'src/Dirichlet.h', ++ 'src/Ewens.h', ++ 'src/FBFasta.h', ++ 'src/Genotype.h', ++ 'src/IndelAllele.h', ++ 'src/LeftAlign.h', ++ 'src/Logging.h', ++ 'src/Marginals.h', ++ 'src/Multinomial.h', ++ 'src/NonCall.h', ++ 'src/Parameters.h', ++ 'src/Product.h', ++ 'src/Result.h', ++ 'src/ResultData.h', ++ 'src/Sample.h', ++ 'src/SegfaultHandler.h', ++ 'src/Sum.h', ++ 'src/TryCatch.h', ++ 'src/Utility.h', ++ 'src/version_git.h', ++ ) ++ + # Include paths + incdir = include_directories( + 'src', +@@ -218,15 +249,29 @@ + ) + + freebayes_lib = static_library( +- 'freebayes_common', ++ 'freebayes', + freebayes_common_src, + include_directories : incdir, + cpp_args : extra_cpp_args, + dependencies : [zlib_dep, lzma_dep, thread_dep, htslib_dep, tabixpp_dep, + vcflib_dep, seqlib_dep, fastahack_dep, sw_dep], +- install : false, ++ install : true, + ) + ++freebayes_slib = shared_library( ++ 'freebayes', ++ freebayes_common_src, ++ include_directories : incdir, ++ cpp_args : extra_cpp_args, ++ dependencies : [zlib_dep, lzma_dep, thread_dep, htslib_dep, tabixpp_dep, ++ vcflib_dep, seqlib_dep, fastahack_dep, sw_dep], ++ install : true, ++ ) ++ ++install_headers(freebayes_headers, subdir : 'freebayes') ++ ++install_subdir('scripts', install_dir : '') ++ + if static_build + link_arguments = '-static' + else +@@ -241,7 +286,7 @@ + dependencies: [zlib_dep, lzma_dep, thread_dep, + htslib_dep, tabixpp_dep, vcflib_dep, seqlib_dep, + fastahack_dep, sw_dep], +- link_with : freebayes_lib, ++ link_with : freebayes_slib, + install: true + ) + +@@ -253,7 +298,7 @@ + dependencies: [zlib_dep, lzma_dep, thread_dep, + htslib_dep, vcflib_dep, seqlib_dep, + fastahack_dep, sw_dep], +- link_with : freebayes_lib, ++ link_with : freebayes_slib, + install: true + ) + 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/freeglut/freeglut-3.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5384e413955 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.2.1' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['freeglut-3.2.1_gcc10_fix-1.patch'] +checksums = [ + 'd4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68', # freeglut-3.2.1.tar.gz + 'f278467e03348b87d9b4ae69f491e503ab80c6d82433cf7468eac89b7f859d37', # freeglut-3.2.1_gcc10_fix-1.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), +] + +configopts = ' -DX11_X11_LIB="$EBROOTX11/lib/libX11.%s" ' % SHLIB_EXT +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTX11/lib/libXext.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..819686d9ba8 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.2.2' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c5944a082df0bba96b5756dddb1f75d0cd72ce27b5395c6c1dde85c2ff297a50'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), +] + +configopts = ' -DX11_X11_LIB="$EBROOTX11/lib/libX11.%s" ' % SHLIB_EXT +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTX11/lib/libXext.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0f9d2c52215 --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.4.0' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), +] + +configopts = ' -DX11_X11_LIB="$EBROOTX11/lib/libX11.%s" ' % SHLIB_EXT +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTX11/lib/libXext.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c583a0ee0ab --- /dev/null +++ b/easybuild/easyconfigs/f/freeglut/freeglut-3.4.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'freeglut' +version = '3.4.0' + +homepage = 'http://freeglut.sourceforge.net/' +description = "freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), +] + +configopts = ' -DX11_X11_LIB="$EBROOTX11/lib/libX11.%s" ' % SHLIB_EXT +configopts += ' -DX11_X11_INCLUDE_PATH="$EBROOTX11/include/X11" ' +configopts += ' -DX11_Xext_LIB="$EBROOTX11/lib/libXext.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xrandr_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' +configopts += ' -DX11_Xi_LIB="$EBROOTX11/lib/libXrandr.%s" ' % SHLIB_EXT +configopts += ' -DX11_Xi_INCLUDE_PATH="$EBROOTX11/include/X11/extensions/" ' + +sanity_check_paths = { + 'files': [('lib/libglut.a', 'lib64/libglut.a'), ('lib/libglut.%s' % SHLIB_EXT, 'lib64/libglut.%s' % SHLIB_EXT)], + 'dirs': ['include/GL'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb index 9c6c6da3372..369b48c506a 100644 --- a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.2.0-GCCcore-8.3.0-Python-3.7.4.eb @@ -24,7 +24,7 @@ download_dep_fail = True use_pip = True # drop [toml] from setup_requires, see https://github.com/rougier/freetype-py/pull/129 -preinstallopts = "sed -i 's/setuptools_scm\[toml\]/setuptools_scm/g' setup.py && " +preinstallopts = r"sed -i 's/setuptools_scm\[toml\]/setuptools_scm/g' setup.py && " options = {'modulename': 'freetype'} diff --git a/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88afc9e98b1 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype-py/freetype-py-2.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'freetype-py' +version = '2.4.0' + +homepage = 'https://github.com/rougier/freetype-py' +description = "Python binding for the freetype library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_ZIP] +checksums = ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('Python', '3.10.4'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'freetype'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.10.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.10.3-GCCcore-10.2.0.eb index c9318c29a87..841fd645934 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.10.3-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.10.3-GCCcore-10.2.0.eb @@ -27,6 +27,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('libpng', '1.6.37'), ('zlib', '1.2.11'), + ('Brotli', '1.0.9'), ] configopts = '--enable-freetype-config --with-harfbuzz=no' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.10.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.10.4-GCCcore-10.3.0.eb index 57a183eaabc..35b5de5ccc5 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.10.4-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.10.4-GCCcore-10.3.0.eb @@ -27,6 +27,7 @@ dependencies = [ ('bzip2', '1.0.8'), ('libpng', '1.6.37'), ('zlib', '1.2.11'), + ('Brotli', '1.0.9'), ] configopts = '--enable-freetype-config --with-harfbuzz=no' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.11.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.11.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5531188111c --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.11.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.11.0' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['a45c6b403413abd5706f3582f04c8339d26397c4304b78fa552f2215df64101f'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('Brotli', '1.0.9'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5a647e0de88 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.12.1' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('Brotli', '1.0.9'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4b7d4298ad1 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.12.1' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['efe71fd4b8246f1b0b1b9bfca13cfff1c9ad85930340c27df469733bbb620938'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('Brotli', '1.0.9'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.13.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.13.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7dc1c7cfa62 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.13.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.13.0' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['a7aca0e532a276ea8d85bd31149f0a74c33d19c8d287116ef8f5f8357b4f1f80'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('Brotli', '1.0.9'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8a4076fe6a1 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.13.2' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('Brotli', '1.1.0'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1c6fa03dfa0 --- /dev/null +++ b/easybuild/easyconfigs/f/freetype/freetype-2.13.2-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +name = 'freetype' +version = '2.13.2' + +homepage = 'https://www.freetype.org' + +description = """ + FreeType 2 is a software font engine that is designed to be small, efficient, + highly customizable, and portable while capable of producing high-quality + output (glyph images). It can be used in graphics libraries, display servers, + font conversion tools, text image generation tools, and many other products + as well. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] +sources = [SOURCE_TAR_GZ] +checksums = ['1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), + ('Brotli', '1.1.0'), +] + +configopts = '--enable-freetype-config --with-harfbuzz=no' + +sanity_check_paths = { + 'files': ['bin/freetype-config', 'lib/libfreetype.a', + 'lib/libfreetype.%s' % SHLIB_EXT, 'lib/pkgconfig/freetype2.pc'], + 'dirs': ['include/freetype2'], +} + +sanity_check_commands = ["freetype-config --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.5-GCCcore-5.4.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.5-GCCcore-5.4.0.eb index 266f40adb09..191eede5cf5 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.6.5-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.5-GCCcore-5.4.0.eb @@ -18,7 +18,7 @@ dependencies = [ ('zlib', '1.2.8'), ] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] configopts = '--with-harfbuzz=no' diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.6.5-foss-2016b.eb b/easybuild/easyconfigs/f/freetype/freetype-2.6.5-foss-2016b.eb index f59391c7f98..f91471301f9 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.6.5-foss-2016b.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.6.5-foss-2016b.eb @@ -8,8 +8,12 @@ description = """FreeType 2 is a software font engine that is designed to be sma toolchain = {'name': 'foss', 'version': '2016b'} -source_urls = [GNU_SAVANNAH_SOURCE] +source_urls = [ + GNU_SAVANNAH_SOURCE, + SOURCEFORGE_SOURCE, +] sources = [SOURCE_TAR_GZ] +checksums = ['3bb24add9b9ec53636a63ea8e867ed978c4f8fdd8f1fa5ccfd41171163d4249a'] dependencies = [ ('libpng', '1.6.24'), diff --git a/easybuild/easyconfigs/f/freetype/freetype-2.7.1-GCCcore-6.3.0.eb b/easybuild/easyconfigs/f/freetype/freetype-2.7.1-GCCcore-6.3.0.eb index a9afba8996d..f8625f2b6eb 100644 --- a/easybuild/easyconfigs/f/freetype/freetype-2.7.1-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/f/freetype/freetype-2.7.1-GCCcore-6.3.0.eb @@ -19,7 +19,7 @@ dependencies = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] configopts = '--with-harfbuzz=no' diff --git a/easybuild/easyconfigs/f/fsm-lite/fsm-lite-1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fsm-lite/fsm-lite-1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..65a1167d998 --- /dev/null +++ b/easybuild/easyconfigs/f/fsm-lite/fsm-lite-1.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = "MakeCp" + +name = 'fsm-lite' +version = '1.0' + +homepage = "https://github.com/nvalimak/fsm-lite" +description = """A singe-core implemetation of frequency-based substring mining.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/nvalimak/%(name)s/archive/'] +sources = ['v%(version)s-stable.tar.gz'] +checksums = ['f781a9fbab5265bd09b3b5b7e1cba904582ec201c3d30baed36e28a03de3ac61'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('sdsl-lite', '2.0.3'), +] + +prebuildopts = "sed -i '1s/.*/SDSL_INSTALL_PREFIX=${EBROOTSDSLMINLITE}/' Makefile && make depend &&" + +files_to_copy = [(['fsm-lite'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/fsm-lite'], + 'dirs': [], +} + +sanity_check_commands = ["fsm-lite --help 2>&1 | grep usage"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-10.2.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..a298d8f0994 --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +# Updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'fsom' +version = '20141119' +local_commit = 'a6ef318' + +homepage = 'https://github.com/ekg/fsom' +description = """A tiny C library for managing SOM (Self-Organizing Maps) neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [ + '%(name)s-20141119_build-libs.patch', + '%(name)s-20141119_fix-abs-overload.patch' +] +checksums = [ + '832ec7d0aff53e04fdb8bbaa5be2177de362afac6ed58a59a97abb7eef29cb60', # a6ef318.tar.gz + 'a6349a6462473f011260074eca6ad9826e3c6aeb20674b696c5848d10610cdd7', # fsom-20141119_build-libs.patch + '54dd6ae76033535fe1b0231142d8bd41a815950dc3fd269dc321f698d4973639', # fsom-20141119_fix-abs-overload.patch +] + +builddependencies = [('binutils', '2.35')] + +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/fsom/fsom-20141119-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..390143a24ac --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +# Updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'fsom' +version = '20141119' +local_commit = 'a6ef318' + +homepage = 'https://github.com/ekg/fsom' +description = """A tiny C library for managing SOM (Self-Organizing Maps) neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [ + '%(name)s-20141119_build-libs.patch', + '%(name)s-20141119_fix-abs-overload.patch' +] +checksums = [ + '832ec7d0aff53e04fdb8bbaa5be2177de362afac6ed58a59a97abb7eef29cb60', # a6ef318.tar.gz + 'a6349a6462473f011260074eca6ad9826e3c6aeb20674b696c5848d10610cdd7', # fsom-20141119_build-libs.patch + '54dd6ae76033535fe1b0231142d8bd41a815950dc3fd269dc321f698d4973639', # fsom-20141119_fix-abs-overload.patch +] + +builddependencies = [('binutils', '2.36.1')] + +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/fsom/fsom-20141119-GCCcore-11.2.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7b037baa146 --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20141119-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +# Updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'fsom' +version = '20141119' +local_commit = 'a6ef318' + +homepage = 'https://github.com/ekg/fsom' +description = """A tiny C library for managing SOM (Self-Organizing Maps) neural networks.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = [ + '%(name)s-%(version)s_build-libs.patch', + '%(name)s-%(version)s_fix-abs-overload.patch' +] +checksums = [ + '832ec7d0aff53e04fdb8bbaa5be2177de362afac6ed58a59a97abb7eef29cb60', # a6ef318.tar.gz + 'a6349a6462473f011260074eca6ad9826e3c6aeb20674b696c5848d10610cdd7', # fsom-20141119_build-libs.patch + '54dd6ae76033535fe1b0231142d8bd41a815950dc3fd269dc321f698d4973639', # fsom-20141119_fix-abs-overload.patch +] + +builddependencies = [('binutils', '2.37')] + +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/fsom/fsom-20151117-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..abc5225cee2 --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-11.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': '11.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.38')] + +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/fsom/fsom-20151117-GCCcore-12.2.0.eb b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b9de5b70eff --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20151117-GCCcore-12.2.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.2.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.39')] + +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/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/fsom/fsom-20151117_build-libs.patch b/easybuild/easyconfigs/f/fsom/fsom-20151117_build-libs.patch new file mode 100644 index 00000000000..e4fb74b8f99 --- /dev/null +++ b/easybuild/easyconfigs/f/fsom/fsom-20151117_build-libs.patch @@ -0,0 +1,84 @@ +# Patch to build static and dynamic libraries. Based on PR by outpaddling: +# https://github.com/ekg/fsom/pull/4 +# Updated: Petr Král (INUITS) + +--- fsom-56695e1611d824cda97f08e932d25d08419170cd/Makefile.orig 2015-11-17 13:39:52.000000000 +0100 ++++ fsom-56695e1611d824cda97f08e932d25d08419170cd/Makefile 2023-07-12 13:04:52.141543805 +0200 +@@ -1,22 +1,62 @@ ++# Use ?= to allow overriding from the env or command-line, e.g. ++# ++# make CXXFLAGS="-O3 -fPIC" install ++# ++# Package managers will override many of these variables automatically, so ++# this is aimed at making it easy to create packages (Debian packages, ++# FreeBSD ports, MacPorts, pkgsrc, etc.) + + CXX ?= g++ + CXXFLAGS ?= -w -O3 -pipe -fomit-frame-pointer -ffast-math + +-OBJS = fsom.o split.o main.o ++PREFIX ?= /usr/local ++STRIP ?= strip ++INSTALL ?= install -c ++MKDIR ?= mkdir -p ++AR ?= ar ++ARFLAGS ?= rs ++ ++BIN = fsom ++LIB = libfsom.a ++SOVERSION = 0 ++SLIB = libfsom.so ++OBJS = fsom.o split.o ++MAIN = main.o ++ ++BINDIR = $(DESTDIR)$(PREFIX)/bin ++INCDIR = $(DESTDIR)$(PREFIX)/include/fsom ++LIBDIR = $(DESTDIR)$(PREFIX)/lib ++ ++.SUFFIXES:.c .cpp .o .pico .so ++ ++.c.o .cpp.o: ++ $(CXX) $(CXXFLAGS) -I. -c -o $@ $< ++ ++.c.pico .cpp.pico: ++ $(CXX) $(CXXFLAGS) -I. -fPIC -c -o $@ $< ++ ++all: $(BIN) $(SLIB) $(LIB) ++ ++$(LIB): $(OBJS) ++ $(AR) $(ARFLAGS) $@ $^ ++ ++$(SLIB): $(OBJS:.o=.pico) ++ $(CXX) -shared -Wl,-soname,$(SLIB).$(SOVERSION) $(LDFLAGS) -o $@ $^ $(LIBS) ++ ln -sf $@ $(SLIB).$(SOVERSION) ++ ++$(BIN): $(OBJS) $(MAIN) ++ $(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) ++ ++install: all ++ $(MKDIR) $(BINDIR) ++ $(MKDIR) $(INCDIR) ++ $(MKDIR) $(LIBDIR) ++ $(INSTALL) $(BIN) $(BINDIR) ++ $(INSTALL) *.h $(INCDIR) ++ $(INSTALL) $(LIB) $(SLIB) $(SLIB).$(SOVERSION) $(LIBDIR) + +-all: fsom +- +-fsom: ${OBJS} +- ${CXX} -o fsom ${OBJS} -lm +- +-fsom.o: fsom.c +- ${CXX} ${CXXFLAGS} -c fsom.c +- +-split.o: split.cpp +- ${CXX} ${CXXFLAGS} -c split.cpp +- +-main.o: main.cpp +- ${CXX} ${CXXFLAGS} -c main.cpp ++install-strip: install ++ $(STRIP) $(BINDIR)/$(BIN) $(LIBDIR)/$(LIB) $(LIBDIR)/$(SLIB) + + clean: +- rm -f *.o fsom ++ rm -rf *.o *.pico $(BIN) $(LIB) $(SLIB) $(DESTDIR) diff --git a/easybuild/easyconfigs/f/ftfy/ftfy-6.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/ftfy/ftfy-6.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5e0c755cc15 --- /dev/null +++ b/easybuild/easyconfigs/f/ftfy/ftfy-6.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'ftfy' +version = '6.1.1' + +homepage = 'http://ftfy.readthedocs.org' +description = """ftfy (fixes text for you) fixes Unicode that’s broken in various ways. +The goal of ftfy is to take in bad Unicode and output good Unicode, for use +in your Unicode-aware code. This is different from taking in non-Unicode and +outputting Unicode, which is not a goal of ftfy. It also isn’t designed to +protect you from having to write Unicode-aware code. ftfy helps those who help +themselves.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['bfc2019f84fcd851419152320a6375604a0f1459c281b5b199b2cd0d2e727f8f'], + }), +] + +moduleclass = "tools" 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/f/fumi_tools/fumi_tools-0.18.2-GCC-10.3.0.eb b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..5605691648e --- /dev/null +++ b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'fumi_tools' +version = '0.18.2' + +homepage = 'https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools' +description = """This tool is intended to deduplicate UMIs from single-end and paired-end + sequencing data. Reads are considered identical when their UMIs have the same sequence, + they have the same length and map at the same position.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://ccb-gitlab.cs.uni-saarland.de/tobias/%(name)s/uploads/bff8865d9eeaaa27849dd580aa2a9dd1/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3570890e232f4a1862541c08d5755f11a12cf8972e2ee7461adc270ba4a220f1'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pigz', '2.6'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-GCC-11.2.0.eb b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..50353828879 --- /dev/null +++ b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'fumi_tools' +version = '0.18.2' + +homepage = 'https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools' +description = """This tool is intended to deduplicate UMIs from single-end and paired-end + sequencing data. Reads are considered identical when their UMIs have the same sequence, + they have the same length and map at the same position.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://ccb-gitlab.cs.uni-saarland.de/tobias/%(name)s/uploads/bff8865d9eeaaa27849dd580aa2a9dd1/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3570890e232f4a1862541c08d5755f11a12cf8972e2ee7461adc270ba4a220f1'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('pigz', '2.6'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..e5dde653607 --- /dev/null +++ b/easybuild/easyconfigs/f/fumi_tools/fumi_tools-0.18.2-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'fumi_tools' +version = '0.18.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools' +description = """This tool is intended to deduplicate UMIs from single-end and paired-end + sequencing data. Reads are considered identical when their UMIs have the same sequence, + they have the same length and map at the same position.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools/uploads/bff8865d9eeaaa27849dd580aa2a9dd1/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3570890e232f4a1862541c08d5755f11a12cf8972e2ee7461adc270ba4a220f1'] + +builddependencies = [('CMake', '3.12.1')] + +dependencies = [ + ('Python', '3.6.6'), + ('pigz', '2.4'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb new file mode 100644 index 00000000000..18991c61de3 --- /dev/null +++ b/easybuild/easyconfigs/f/funannotate/funannotate-1.8.13-foss-2021b.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'funannotate' +version = '1.8.13' + +homepage = 'https://funannotate.readthedocs.io' +description = """funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work + with higher eukaryotes)""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# see also https://github.com/nextgenusfs/funannotate/blob/master/docs/dependencies.rst +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Biopython', '1.79'), + ('GOATOOLS', '1.3.1'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), + ('DBD-mysql', '4.050'), + ('CodingQuarry', '2.0'), + ('Trinity', '2.15.1'), + ('AUGUSTUS', '3.4.0'), + ('BamTools', '2.5.2'), + ('BEDTools', '2.30.0'), + ('BLAST+', '2.12.0'), # provides makeblastdb, tblastn + ('BLAT', '3.7'), + ('DIAMOND', '2.0.13'), + ('eggnog-mapper', '2.1.7'), + ('ETE', '3.1.2'), + ('Exonerate', '2.4.0'), + ('FASTA', '36.3.8i'), + ('GlimmerHMM', '3.0.4c'), + ('GMAP-GSNAP', '2021-12-17'), # provides gmap + ('GeneMark-ET', '4.71'), # provides gmes_petap.pl + ('HISAT2', '2.2.1'), + ('HMMER', '3.3.2'), # provides hmmscan, hmmsearch + ('kallisto', '0.48.0'), + ('MAFFT', '7.490', '-with-extensions'), + ('minimap2', '2.22'), + ('pigz', '2.6'), + ('Proteinortho', '6.2.3'), + ('Kent_tools', '422'), # provides pslCDnaFilter + ('Salmon', '1.4.0'), + ('SAMtools', '1.14'), + ('SignalP', '6.0g', '-fast'), + ('SNAP', '2.0.1'), + ('StringTie', '2.2.1'), + ('tRNAscan-SE', '2.0.12'), + ('tantan', '40'), + ('trimAl', '1.4.1'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('BioPerl', '1.7.8'), +] + +use_pip = True + +exts_list = [ + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + (name, version, { + 'checksums': ['40819741bcb38ef3a410a242cc5f172cb0e0083570daddfe5807fb6bc0c3c384'], + }), +] + +sanity_check_paths = { + 'files': ['bin/funannotate'], + 'dirs': [], +} + +sanity_check_commands = [ + "funannotate --help 2>&1 | grep 'Usage:[ ]*funannotate'", + "funannotate check --show-versions", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb index 6648c32dd2c..3b00140697d 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2020b.eb @@ -10,27 +10,36 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2020b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCLAGS -fallow-argument-mismatch" ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb new file mode 100644 index 00000000000..a5d1e9b1a63 --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'futile' +version = '1.8.3' + +homepage = 'https://launchpad.net/futile' +description = """ + The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules + and wrapper that encapsulate the most common low-level operations of a Fortran code. + """ + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] + +unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " +unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" +start_dir = "futile-%(version)s" + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' + +sanity_check_paths = { + 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb new file mode 100644 index 00000000000..013ed079619 --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'futile' +version = '1.8.3' + +homepage = 'https://launchpad.net/futile' +description = """ + The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules + and wrapper that encapsulate the most common low-level operations of a Fortran code. + """ + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] + +unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " +unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" +start_dir = "futile-%(version)s" + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' + +sanity_check_paths = { + 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2022a.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2022a.eb new file mode 100644 index 00000000000..988ef7be561 --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'futile' +version = '1.8.3' + +homepage = 'https://launchpad.net/futile' +description = """ + The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules + and wrapper that encapsulate the most common low-level operations of a Fortran code. + """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = ['futile_index_bug.patch'] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch +] + +unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " +unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" +start_dir = "futile-%(version)s" + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +preconfigopts = 'export FCFLAGS="$FCLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' + +sanity_check_paths = { + 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb index 318f3bb9b99..a06c36e332b 100644 --- a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2020b.eb @@ -10,13 +10,17 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2020b'} -toolchainopts = {'usempi': True} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] -patches = ['futile_intel_bug.patch'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] checksums = [ '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch ] @@ -24,17 +28,20 @@ unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 & unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" start_dir = "futile-%(version)s" -configopts = 'CC=$MPICC FC=$MPIFC ' -configopts += '--enable-mpi ' -configopts += '--with-ext-linalg="-L$SCALAPACK_LIB_DIR $LIBSCALAPACK ' -configopts += '-L$BLACS_LIB_DIR $LIBBLACS -L$LAPACK_LIB_DIR $LIBLAPACK -L$BLAS_LIB_DIR $LIBBLAS" ' -configopts += '--with-yaml-path=$EBROOTLIBYAML ' +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] -dependencies = [('libyaml', '0.2.5')] +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' sanity_check_paths = { 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + - [('lib/libfutile-1.a', 'lib64/libfutile-1.a')], + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb new file mode 100644 index 00000000000..49a07900cb6 --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021a.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'futile' +version = '1.8.3' + +homepage = 'https://launchpad.net/futile' +description = """ + The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules + and wrapper that encapsulate the most common low-level operations of a Fortran code. + """ + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch + 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch +] + +unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " +unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" +start_dir = "futile-%(version)s" + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' + +sanity_check_paths = { + 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb new file mode 100644 index 00000000000..7d1b1f4cf7a --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile-1.8.3-intel-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'futile' +version = '1.8.3' + +homepage = 'https://launchpad.net/futile' +description = """ + The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules + and wrapper that encapsulate the most common low-level operations of a Fortran code. + """ + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'openmp': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +patches = [ + 'futile_index_bug.patch', + 'futile_intel_bug.patch', +] +checksums = [ + '39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388', # bigdft-suite-1.8.3.tar.gz + '5ef5f8ad7644259da0d2d2bcb64c44b923cb64b1eedf03898d0da18228ea392f', # futile_index_bug.patch + 'e3681e6dda9364a1be4fba937423b8ac1774c3ebfd1ff04211482df25a188e95', # futile_intel_bug.patch +] + +unpack_options = " spred-suite/futile-%(version_major_minor)s.tar.gz --strip 1 && " +unpack_options += "tar xzf futile-%(version_major_minor)s.tar.gz --transform='s,%(version_major_minor)s,%(version)s,'" +start_dir = "futile-%(version)s" + +builddependencies = [ + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libyaml', '0.2.5'), +] + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' +configopts += '--with-yaml-path=$EBROOTLIBYAML ' + +sanity_check_paths = { + 'files': ['include/futile.mod', 'include/futile.h', 'bin/futilevars.sh'] + + ['lib/libfutile-1.a', 'lib/libfutile-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/f/futile/futile_index_bug.patch b/easybuild/easyconfigs/f/futile/futile_index_bug.patch new file mode 100644 index 00000000000..f7649622add --- /dev/null +++ b/easybuild/easyconfigs/f/futile/futile_index_bug.patch @@ -0,0 +1,21 @@ +Patch to fix the redefinition of an index variable caught by GCC 11. +author: Micael Oliveira (Max Planck Institute for the Structure and Dynamics of Matter) +diff -rup futile-1.8.3.orig/flib/f_input_file.f90 futile-1.8.3/flib/f_input_file.f90 +--- futile-1.8.3.orig/flib/f_input_file.f90 2018-12-13 10:27:01.000000000 +0100 ++++ futile-1.8.3/flib/f_input_file.f90 2022-01-07 11:35:42.036739693 +0100 +@@ -172,7 +172,6 @@ contains + type(dictionary), pointer :: dict + character(len = *), intent(in) :: file, key + +- integer :: i + type(dictionary), pointer :: ref,iter + character(len = max_field_length) :: val, profile_ + double precision, dimension(2) :: rg +@@ -366,6 +365,7 @@ contains + character(max_field_length), dimension(:), allocatable :: keys + double precision :: var + integer :: dlen, skeys ++ integer :: i + + if (associated(dict%child)) then + if (dict_len(dict) >= 1) then diff --git a/easybuild/easyconfigs/g/G-PhoCS/G-PhoCS-1.2.3-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/g/G-PhoCS/G-PhoCS-1.2.3-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000000..c9bb146c289 --- /dev/null +++ b/easybuild/easyconfigs/g/G-PhoCS/G-PhoCS-1.2.3-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'G-PhoCS' +version = '1.2.3' + +homepage = 'http://compgen.cshl.edu/GPhoCS/' + +description = """G-PhoCS is a software package for inferring ancestral population sizes, population divergence +times, and migration rates from individual genome sequences. G-PhoCS accepts as input a set of multiple sequence +alignments from separate neutrally evolving loci along the genome. Parameter inference is done in a Bayesian manner, +using a Markov Chain Monte Carlo (MCMC) to jointly sample model parameters and genealogies at the input loci. +""" + +toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'} + +source_urls = ['http://compgen.cshl.edu/GPhoCS/downloads/'] +sources = ['GPhoCS-%(version)s.tar.gz'] +checksums = ['e3854591f68b2111d5095f64221007456ae7a601bf760a21bd00ca5c21273776'] + +parallel = 1 + +buildopts = 'CC="$CC"' + +local_dash_ver = '-'.join(version.split('.')) +files_to_copy = [(['bin/readTrace', 'bin/G-PhoCS-%s' % local_dash_ver], 'bin')] + +postinstallcmds = ["cd %%(installdir)s/bin && ln -s G-PhoCS-%s G-PhoCS" % local_dash_ver] + +sanity_check_paths = { + 'files': ['bin/G-PhoCS', 'bin/readTrace'], + 'dirs': [], +} + +sanity_check_commands = [ + "G-PhoCS --help | grep 'G-Phocs ver %(version)s'", + "readTrace --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb new file mode 100644 index 00000000000..2b3ea044a2d --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20220930-R2-gompi-2022a.eb @@ -0,0 +1,44 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20220930-R2' + +maxcpus = '1024' +maxnodes = '1024' +hyperthreading = False + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +dependencies = [ + ('OpenBLAS', '0.3.20', '-int8'), + ('libxc', '5.2.3'), +] + +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" +sources = ['gamess-%(version)s.tar.gz'] +checksums = ['22c8c2dc3ef007c36a32d9ff5a9e1803ac9006f24065455c22de40dd26fb2a7a'] + +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch new file mode 100644 index 00000000000..1f5e924f957 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230630_add_slurm_support_mpi_target.patch @@ -0,0 +1,26 @@ +Add support for Slurm scheduler on MPI targets that do not have any nodefile +given by the user. +author: Alex Domingo (Vrije Universiteit Brussel) +--- rungms.orig 2023-07-01 08:04:29.000000000 +0200 ++++ rungms 2023-12-13 16:29:19.738351362 +0100 +@@ -188,6 +188,7 @@ + set SCHED=none + if ($?PBS_O_LOGNAME) set SCHED=PBS + if ($?SGE_O_LOGNAME) set SCHED=SGE ++if ($?SLURM_JOB_ID) set SCHED=SLURM + if ($SCHED == SGE) then + set SCR=$TMPDIR + echo "SGE has assigned the following compute nodes to this run:" +@@ -805,6 +806,12 @@ + set NNODES=$NNODES[1] + echo "MPI was given $NNODES nodes by PBS..." + breaksw ++ case SLURM: ++ scontrol show hostname "$SLURM_NODELIST" > $HOSTFILE ++ set NNODES=`wc -l $HOSTFILE` ++ set NNODES=$NNODES[1] ++ echo "MPI was given $NNODES nodes by Slurm..." ++ breaksw + default: + # Use use provided list (a new feature to be tested). + if (-e $NCPUS) then diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb new file mode 100644 index 00000000000..b396d24c18b --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-gompi-2022a.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20230930-R2' + +maxcpus = '1024' +maxnodes = '1024' +hyperthreading = False + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': False} + +dependencies = [ + ('OpenBLAS', '0.3.20', '-int8'), + ('libxc', '5.2.3'), +] + +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" +sources = ['gamess-%(version)s.tar.gz'] +patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] +checksums = [ + {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': + 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, +] + +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..2a6fc990c6f --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930-R2-intel-compilers-2022.1.0.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2017 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC, +# Ghent University / The Francis Crick Institute +# +# Authors:: +# * Kenneth Hoste +# * Ward Poelmans +# * Oliver Stueker +# License:: MIT/GPL +## +name = 'GAMESS-US' +version = '20230930-R2' + +ddi_comm = 'sockets' +maxcpus = '1024' +maxnodes = '1' +hyperthreading = False + +homepage = 'https://www.msg.chem.iastate.edu/gamess/' +description = """The General Atomic and Molecular Electronic Structure System (GAMESS) +is a general ab initio quantum chemistry package. +This module can be used on a maximum of %s nodes and %s CPUs per node. + """ % (maxnodes, maxcpus) + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('imkl', '2022.1.0', '', SYSTEM), + ('libxc', '5.2.3'), +] + +download_instructions = """ +1. Manually download via http://www.msg.chem.iastate.edu/gamess/download.html (requires registration) +2. Rename gamess-current.tar.gz to gamess-%(version)s.tar.gz +""" +sources = ['gamess-%(version)s.tar.gz'] +patches = ['GAMESS-US-20230930_add_slurm_support_mpi_target.patch'] +checksums = [ + {'gamess-20230930-R2.tar.gz': '2b7cf4af17fb2eab5bf3609bf820437728cd36d87f44857dce25bafa9e9622ad'}, + {'GAMESS-US-20230930_add_slurm_support_mpi_target.patch': + 'ceed5f160678aba3b1885337a3e5955177b9df465c0ef2f50e4c5e52fe11f70d'}, +] + +# custom location of gamess workdir +# scratch_dir = '/path/to/fast/storage' +# user_scratch_dir = '/path/to/fast/storage' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930_add_slurm_support_mpi_target.patch b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930_add_slurm_support_mpi_target.patch new file mode 100644 index 00000000000..1f5e924f957 --- /dev/null +++ b/easybuild/easyconfigs/g/GAMESS-US/GAMESS-US-20230930_add_slurm_support_mpi_target.patch @@ -0,0 +1,26 @@ +Add support for Slurm scheduler on MPI targets that do not have any nodefile +given by the user. +author: Alex Domingo (Vrije Universiteit Brussel) +--- rungms.orig 2023-07-01 08:04:29.000000000 +0200 ++++ rungms 2023-12-13 16:29:19.738351362 +0100 +@@ -188,6 +188,7 @@ + set SCHED=none + if ($?PBS_O_LOGNAME) set SCHED=PBS + if ($?SGE_O_LOGNAME) set SCHED=SGE ++if ($?SLURM_JOB_ID) set SCHED=SLURM + if ($SCHED == SGE) then + set SCR=$TMPDIR + echo "SGE has assigned the following compute nodes to this run:" +@@ -805,6 +806,12 @@ + set NNODES=$NNODES[1] + echo "MPI was given $NNODES nodes by PBS..." + breaksw ++ case SLURM: ++ scontrol show hostname "$SLURM_NODELIST" > $HOSTFILE ++ set NNODES=`wc -l $HOSTFILE` ++ set NNODES=$NNODES[1] ++ echo "MPI was given $NNODES nodes by Slurm..." ++ breaksw + default: + # Use use provided list (a new feature to be tested). + if (-e $NCPUS) then diff --git a/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..1778ef1545b --- /dev/null +++ b/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'GAPPadder' +version = '20170601' +local_commit = 'a359750' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/simoncchu/GAPPadder' +description = "GAPPadder is tool for closing gaps on draft genomes with short sequencing data" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/simoncchu/GAPPadder/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d255e863cc2627116d7cb1d112283a7cf794d349de28f673daf32ce68d8bba90'] + +dependencies = [ + ('Python', '2.7.18'), + ('Biopython', '1.76', versionsuffix), + ('KMC', '3.2.1', versionsuffix), + ('Velvet', '1.2.10', '-mt-kmer_191'), + ('BWA', '0.7.17'), + ('SAMtools', '1.14'), + ('BamTools', '2.5.2'), +] + +# remove prebuilt binaries +prebuildopts = "rm TERefiner_1 TERefiner/TERefiner_1 ContigsMerger ContigsCompactor-*/ContigsMerger/ContigsMerger && " +prebuildopts += "cd TERefiner && " +prebuildopts += "make BAMTOOLS=$EBROOTBAMTOOLS/include/bamtools BAMTOOLS_LD=$EBROOTNBAMTOOLS/lib && cd .. && " +prebuildopts += "cd ContigsCompactor-v0.2.0/ContigsMerger && " + +files_to_copy = [ + (['TERefiner/TERefiner_1', 'ContigsCompactor-v0.2.0/ContigsMerger/ContigsMerger'], 'bin'), + '*.py', + 'configuration.json', +] + +sanity_check_paths = { + 'files': ['bin/TERefiner_1', 'bin/ContigsMerger', 'configuration.json', 'main.py', 'pick_contigs.py'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb b/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb index 16b75da45cb..ffb2cd9c28e 100644 --- a/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb +++ b/easybuild/easyconfigs/g/GARLI/GARLI-2.01-gompi-2019a.eb @@ -20,10 +20,10 @@ checksums = ['e7fd4c115f9112fd9a019dcb6314e3a9d989f56daa0f833a28dc8249e50988ef'] builddependencies = [('Autotools', '20180311')] -configopts = '--with-ncl=$EBROOTNCL' +configopts = '--with-ncl=$EBROOTNEXUSMINCL' dependencies = [ - ('ncl', '2.1.18'), + ('NEXUS-CL', '2.1.18'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb new file mode 100644 index 00000000000..2d4407c3699 --- /dev/null +++ b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2-gompi-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'GATB-Core' +version = '1.4.2' + +homepage = 'https://gatb.inria.fr/software/gatb-core' +description = """GATB-Core is a high-performance and low memory footprint C++ library that provides a set of highly + efficient algorithms to analyse NGS data sets""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/GATB/gatb-core/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch'] +checksums = [ + {'v1.4.2.tar.gz': '824c84a3712973746b977a9d49923fd499021a894225231100eaad1a66e9742d'}, + {'GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch': + '938ff686e1fc8170b8ef4a73c1c0af059eb3eb76a6251b44a3dfddf991e05c63'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('HDF5', '1.12.2'), +] + +start_dir = 'gatb-core' + +preconfigopts = "rm -r %(start_dir)s/thirdparty/{boost,hdf5} && " + +sanity_check_paths = { + 'files': ['bin/dbginfo', 'bin/leon', 'lib/libgatbcore.a'], + 'dirs': ['include/gatb'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch new file mode 100644 index 00000000000..e9e4b86b9c2 --- /dev/null +++ b/easybuild/easyconfigs/g/GATB-Core/GATB-Core-1.4.2_no-thirdparty-boost-hdf5.patch @@ -0,0 +1,232 @@ +don't use vendored boost/hdf5 from gatb-core/thirdparty +author: Kenneth Hoste (HPC-UGent) +diff -ru gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt gatb-core-1.4.2/gatb-core/CMakeLists.txt +--- gatb-core-1.4.2.orig/gatb-core/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/CMakeLists.txt 2023-03-31 21:25:42.862864064 +0200 +@@ -209,7 +209,7 @@ + set (gatb-core-includes ${PROJECT_BINARY_DIR}/include ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE} ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/thirdparty ${gatb-core-extra-libraries-inc}) + + # We define the libraries used for linking binary based on gatb core +-set (gatb-core-libraries gatbcore-static dl pthread z hdf5-static ${gatb-core-extra-libraries}) ++set (gatb-core-libraries gatbcore-static dl pthread z hdf5 ${gatb-core-extra-libraries}) + + # We define the directory where to find cmake helpers + set (gatb-core-cmake ${CMAKE_MODULE_PATH}) +@@ -252,12 +252,6 @@ + ADD_SUBDIRECTORY(thirdparty) + + ################################################################################ +-# DEPENDENCIES +-################################################################################ +-# we must be sure that hdf5 is built and installed before building gatb-core +-ADD_DEPENDENCIES (gatbcore-static hdf5-static hdf5_postbuild) +- +-################################################################################ + # DOCUMENTATION GENERATION + ################################################################################ + IF (EXISTS "${PROJECT_SOURCE_DIR}/doc") +@@ -286,7 +280,6 @@ + INSTALL (FILES ${PROJECT_SOURCE_DIR}/doc/misc/README.txt DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/LICENCE DESTINATION . OPTIONAL) + INSTALL (FILES ${PROJECT_SOURCE_DIR}/THIRDPARTIES.md DESTINATION . OPTIONAL) +- INSTALL (DIRECTORY ${PROJECT_SOURCE_DIR}/thirdparty/boost DESTINATION ./include) + ENDIF() + + ################################################################################ +--- gatb-core-1.4.2.orig/gatb-core/thirdparty/CMakeLists.txt 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/thirdparty/CMakeLists.txt 2023-03-31 14:39:11.999034862 +0200 +@@ -1,54 +1,3 @@ +-################################################################################ +-# HDF5 GENERATION +-################################################################################ +- +-#SET (HDF5_ENABLE_THREADSAFE ON) +-#SET (H5_HAVE_THREADSAFE 1) +- +-########## MOMENTARY DEACTIVATED => CRASH ON MACOS TO BE INVESTIGATED ########## +-SET (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools") +-#SET (CMAKE_EXE_LINKER_FLAGS "-lpthread -lz") +- +-SET (HDF5_EXTERNALLY_CONFIGURED ON) +- +-#SET (HDF5_INSTALL_BIN_DIR ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) +-#SET (HDF5_INSTALL_LIB_DIR ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_BIN_DIR bin) +-SET (HDF5_INSTALL_LIB_DIR lib) +- +-SET (HDF5_INSTALL_INCLUDE_DIR ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5) +-SET (HDF5_INSTALL_DATA_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +-SET (HDF5_INSTALL_CMAKE_DIR ${PROJECT_BINARY_DIR}/share/${CMAKE_BUILD_TYPE}) +- +-IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) +- SET (HDF5_EXPORTED_TARGETS "gatb-hdf5") +-ENDIF() +- +-IF (NOT DEFINED GATB_CORE_EXCLUDE_HDF5_ZLIB) +- OPTION (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" ON) +-ENDIF() +- +-# We don't want warnings from HDF5 compilation +-set (COMPILE_DEFINITIONS "${COMPILE_DEFINITIONS} -w") +-add_definitions (${COMPILE_DEFINITIONS}) +- +-# add HDF5 generation +-ADD_SUBDIRECTORY (hdf5) +- +-# We add a custom target for copying header files. +-add_custom_target (hdf5_postbuild ALL) +- +-# We build the output directory +-add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${HDF5_INSTALL_INCLUDE_DIR}) +- +-# We define all the header files to be copied +-file (GLOB headerfiles ${PROJECT_SOURCE_DIR}/thirdparty/hdf5/src/*.h ${PROJECT_BINARY_DIR}/thirdparty/hdf5/H5pubconf.h) +- +-# We copy each header file +-foreach (header ${headerfiles}) +- add_custom_command (TARGET hdf5_postbuild POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header} ${HDF5_INSTALL_INCLUDE_DIR} ) +-endforeach() +- + # include other smaller libraries (json, Boophf) + + add_custom_target (thirdparty_copy ALL) +@@ -63,7 +12,6 @@ + # INSTALL + ################################################################################ + IF (NOT DEFINED GATB_CORE_INSTALL_EXCLUDE) +- INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/hdf5 DESTINATION include) + INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/json DESTINATION include) + INSTALL (DIRECTORY ${PROJECT_BINARY_DIR}/include/${CMAKE_BUILD_TYPE}/BooPHF DESTINATION include) + ENDIF () +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/LargeInt.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/LargeInt.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include ++#include + + #include + #include +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt128.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -33,7 +33,7 @@ + /********************************************************************************/ + + #include +-#include ++#include + + #include + #include +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt16.hpp 2023-03-31 10:40:57.005450131 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt32.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt64.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + extern const unsigned char revcomp_4NT[]; + extern const unsigned char comp_NT []; +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/math/NativeInt8.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/Abundance.hpp 2023-03-31 10:40:57.006450171 +0200 +@@ -31,7 +31,7 @@ + /********************************************************************************/ + + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/misc/api/IHistogram.hpp 2023-03-31 10:40:57.007450212 +0200 +@@ -28,7 +28,7 @@ + + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5.hpp 2023-03-31 10:40:57.007450212 +0200 +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/CollectionHDF5Patch.hpp 2023-03-31 10:40:57.008450252 +0200 +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include + + /********************************************************************************/ + namespace gatb { +diff -ru gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp +--- gatb-core-1.4.2.orig/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2020-04-12 23:15:34.000000000 +0200 ++++ gatb-core-1.4.2/gatb-core/src/gatb/tools/storage/impl/StorageHDF5.hpp 2023-03-31 10:40:57.008450252 +0200 +@@ -33,7 +33,7 @@ + #include + #include + #include +-#include ++#include + #include + + /********************************************************************************/ diff --git a/easybuild/easyconfigs/g/GATE/GATE-9.1-foss-2021b.eb b/easybuild/easyconfigs/g/GATE/GATE-9.1-foss-2021b.eb new file mode 100644 index 00000000000..e7da77dcd26 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-9.1-foss-2021b.eb @@ -0,0 +1,28 @@ +name = 'GATE' +version = '9.1' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/OpenGATE/Gate/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['aaab874198500b81d45b27cc6d6a51e72cca9519910b893a5c85c8e6d3ffa4fc'] + +builddependencies = [('CMake', '3.22.1')] +dependencies = [ + ('Geant4', '10.7.1'), + ('CLHEP', '2.4.4.0'), + ('ROOT', '6.24.06'), +] + +preinstallopts = "sed -i 's|/usr/local/bin|%(installdir)s/bin|g' Makefile &&" + +# enable extra capabilities (Davis requires Geant4 10.04 or newer) +configopts = "-DGATE_USE_OPTICAL=1 -DGATE_USE_DAVIS=1" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2021b.eb b/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2021b.eb new file mode 100644 index 00000000000..c211c0ef874 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2021b.eb @@ -0,0 +1,31 @@ +name = 'GATE' +version = '9.2' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/OpenGATE/Gate/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['GATE-9.2_fix-Geant4-11.0.patch'] +checksums = [ + '6fad86002dacae9d1f76ed0c455847d5d8960f667570292066b211a8b83247ee', # v9.2.tar.gz + '093a88718ff23edf332ac5a29b2810e77df40d63dd70e3b36f55195e4bb9e0b7', # GATE-9.2_fix-Geant4-11.0.patch +] + +builddependencies = [('CMake', '3.22.1')] +dependencies = [ + ('Geant4', '11.0.1'), + ('CLHEP', '2.4.5.1'), + ('ROOT', '6.24.06'), +] + +preinstallopts = "sed -i 's|/usr/local/bin|%(installdir)s/bin|g' Makefile &&" + +# enable extra capabilities (Davis requires Geant4 10.04 or newer) +configopts = "-DGATE_USE_OPTICAL=1 -DGATE_USE_DAVIS=1" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2022a.eb b/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2022a.eb new file mode 100644 index 00000000000..284d0bb64f4 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-9.2-foss-2022a.eb @@ -0,0 +1,31 @@ +name = 'GATE' +version = '9.2' + +homepage = 'http://www.opengatecollaboration.org/' +description = """GATE is an advanced opensource software developed by the international OpenGATE collaboration and + dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography + (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/OpenGATE/Gate/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['GATE-9.2_fix-Geant4-11.0.patch'] +checksums = [ + '6fad86002dacae9d1f76ed0c455847d5d8960f667570292066b211a8b83247ee', # v9.2.tar.gz + '093a88718ff23edf332ac5a29b2810e77df40d63dd70e3b36f55195e4bb9e0b7', # GATE-9.2_fix-Geant4-11.0.patch +] + +builddependencies = [('CMake', '3.23.1')] +dependencies = [ + ('Geant4', '11.0.2'), + ('CLHEP', '2.4.5.3'), + ('ROOT', '6.26.06'), +] + +preinstallopts = "sed -i 's|/usr/local/bin|%(installdir)s/bin|g' Makefile &&" + +# enable extra capabilities (Davis requires Geant4 10.04 or newer) +configopts = "-DGATE_USE_OPTICAL=1 -DGATE_USE_DAVIS=1" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/g/GATE/GATE-9.2_fix-Geant4-11.0.patch b/easybuild/easyconfigs/g/GATE/GATE-9.2_fix-Geant4-11.0.patch new file mode 100644 index 00000000000..bfc4d3840a4 --- /dev/null +++ b/easybuild/easyconfigs/g/GATE/GATE-9.2_fix-Geant4-11.0.patch @@ -0,0 +1,380 @@ +see https://github.com/OpenGATE/Gate/pull/507 + https://github.com/OpenGATE/Gate/pull/508 + +From 1a4e09504359feb06ae68b331b7c54fb080e008d Mon Sep 17 00:00:00 2001 +From: Christian Pommranz +Date: Mon, 4 Apr 2022 21:53:37 +0200 +Subject: [PATCH] Fix gjs compilation against Geant4 v11.0 + +closes #507 +--- + cluster_tools/jobsplitter/gjs.cc | 2 +- + .../jobsplitter/src/GateMacfileParser.cc | 125 +++++++++--------- + .../jobsplitter/src/GateToPlatform.cc | 4 +- + 3 files changed, 66 insertions(+), 65 deletions(-) + +diff --git a/cluster_tools/jobsplitter/gjs.cc b/cluster_tools/jobsplitter/gjs.cc +index 6f786a958..5f6be6a43 100644 +--- a/cluster_tools/jobsplitter/gjs.cc ++++ b/cluster_tools/jobsplitter/gjs.cc +@@ -140,7 +140,7 @@ int main(int argc,char** argv) + if (size>4 && indicator==0) + { + G4String ss(argv[nextArg]); +- if (ss.contains(".mac")) ++ if (G4StrUtil::contains(ss, ".mac")) + { + indicator=1; + macfile=argv[nextArg]; +diff --git a/cluster_tools/jobsplitter/src/GateMacfileParser.cc b/cluster_tools/jobsplitter/src/GateMacfileParser.cc +index e01c97d74..bc45838f8 100644 +--- a/cluster_tools/jobsplitter/src/GateMacfileParser.cc ++++ b/cluster_tools/jobsplitter/src/GateMacfileParser.cc +@@ -122,7 +122,7 @@ G4int GateMacfileParser::GenerateResolvedMacros(G4String directory) + void GateMacfileParser::CleanAbort(ofstream& output, ofstream& splitfile) + { + //erase created files and the directory before error exit +- if( outputDir.contains(".Gate/") ) ++ if( G4StrUtil::contains(outputDir, ".Gate/")) + { //just in case to avoid a catastrophe + if (output) output.close(); + if (splitfile) splitfile.close(); +@@ -226,7 +226,7 @@ void GateMacfileParser::InsertAliases() + nAliases = (G4int)(listOfAliases.size()); + for (G4int i=1;i>lambda; + lambda=log(2.0)/lambda; + macline=""; + } +- else if (macline.contains("/gate/application/setTimeStop")) ++ else if (G4StrUtil::contains(macline, "/gate/application/setTimeStop")) + { + // We first check if we already encountered the addSlice command + if (addSlice!=-1.) +@@ -366,13 +366,13 @@ void GateMacfileParser::DealWithTimeCommands(ofstream& output,G4int splitNumber, + CleanAbort(output,splitfile); + exit(1); + } +- G4String temp=timeStop_str(position-1); +- if (!strcmp(temp,".")) timeStop_str=timeStop_str+"0"; ++ char temp=timeStop_str[position-1]; ++ if (temp != '.') timeStop_str=timeStop_str+"0"; + stringstream timeStop_ss(timeStop_str); + timeStop_ss>>timeStop; + splitfile<<"Stop time is: "<>timeStart; + splitfile<<"Start time is: "<>timeSlice; + splitfile<<"Timeslice is: "<>newAddSlice; +@@ -471,7 +471,7 @@ void GateMacfileParser::DealWithTimeCommands(ofstream& output,G4int splitNumber, + splitfile<<"New add slice: "<0) + { + subString=macline.substr(size,macline.length()); + macline=subString; +- } ++ } + + //remove intermediate spaces >1 + subString=macline; +- while (macline.contains(" ")) ++ while (G4StrUtil::contains(macline, " ")) + { + position=macline.find(" "); + subString=macline.substr(position+1,macline.length()); +@@ -1049,7 +1050,7 @@ const G4String GateMacfileParser::ExtractFileName(G4String key) + + bool GateMacfileParser::TreatOutputStream(G4String key, G4String def, G4String& origFile, char* SplitNumberAsString) + { +- if (!macline.contains(key)) return false; // nothing to do ++ if (!G4StrUtil::contains(macline, key)) return false; // nothing to do + origFile = ExtractFileName(key); // token after key + // look for possible unresolved aliases and replace them with default name + if( Braced(origFile) ) +diff --git a/cluster_tools/jobsplitter/src/GateToPlatform.cc b/cluster_tools/jobsplitter/src/GateToPlatform.cc +index 5b789b1e0..15462d6c9 100644 +--- a/cluster_tools/jobsplitter/src/GateToPlatform.cc ++++ b/cluster_tools/jobsplitter/src/GateToPlatform.cc +@@ -330,10 +330,10 @@ int GateToPlatform::GenerateCondorSubmitfile() + { + scriptFile.getline(buffer,256); + scriptline=buffer; +- if (scriptline.contains("#GJS PART => DO NOT REMOVE")!=0) noCopy=1; ++ if (G4StrUtil::contains(scriptline, "#GJS PART => DO NOT REMOVE")!=0) noCopy=1; + if (noCopy==0) + { +- if (scriptline.contains("Executable")!=0 && scriptline.contains("$GC_EXEC")!=0) ++ if (G4StrUtil::contains(scriptline, "Executable")!=0 && G4StrUtil::contains(scriptline, "$GC_EXEC")!=0) + submitFile<<"Executable = "<, 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 +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.2.3.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': '11.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['12fbd03142311419a050dba8009d615ee8faceb32b46aad8f4448dafd61e11eb'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +modloadmsg = "WARNING: GATK v%(version)s support for Java 11 is in beta state. Use at your own risk.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..d9e3451ed2f --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.2.5.0-GCCcore-11.2.0-Java-11.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 +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.2.5.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': '11.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['203f17868f0a73a8322d2f8bd568b9f7b4bb81e36d37db5b6a142d8050ef049f'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +modloadmsg = "WARNING: GATK v%(version)s support for Java 11 is in beta state. Use at your own risk.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-10.3.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-10.3.0-Java-11.eb new file mode 100644 index 00000000000..c89b60d9311 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-10.3.0-Java-11.eb @@ -0,0 +1,54 @@ +## +# 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 +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.2.6.1' +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': '10.3.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['1125cfc862301d437310506c8774d36c3a90d00d52c7b5d6b59dac7241203628'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.5'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +modloadmsg = "WARNING: GATK v%(version)s support for Java 11 is in beta state. Use at your own risk.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..1d4af9b3398 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.2.6.1-GCCcore-11.2.0-Java-11.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 +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.2.6.1' +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': '11.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['1125cfc862301d437310506c8774d36c3a90d00d52c7b5d6b59dac7241203628'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +modloadmsg = "WARNING: GATK v%(version)s support for Java 11 is in beta state. Use at your own risk.\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb new file mode 100644 index 00000000000..81e5752680f --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.3.0.0-GCCcore-11.3.0-Java-11.eb @@ -0,0 +1,53 @@ +## +# 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 +## + +easyblock = 'Tarball' + +name = 'GATK' +version = '4.3.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': '11.3.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['e2c27229b34c3e22445964adf00639a0909887bbfcc040f6910079177bc6e2dd'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.4.0.0-GCCcore-12.2.0-Java-17.eb b/easybuild/easyconfigs/g/GATK/GATK-4.4.0.0-GCCcore-12.2.0-Java-17.eb new file mode 100644 index 00000000000..fc1500ea5e8 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.4.0.0-GCCcore-12.2.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.4.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.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['444600f7b38b46ad0b3606b7d40ce921e0ff1910a50165872f1c73c7c4a1a390'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('Python', '3.10.8'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} + +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GATK/GATK-4.4.0.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/g/GATK/GATK-4.4.0.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..24c6db0fec5 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.4.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.4.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 = ['444600f7b38b46ad0b3606b7d40ce921e0ff1910a50165872f1c73c7c4a1a390'] + +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/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/GATK/GATK-4.6.0.0-GCCcore-13.2.0-Java-17.eb b/easybuild/easyconfigs/g/GATK/GATK-4.6.0.0-GCCcore-13.2.0-Java-17.eb new file mode 100644 index 00000000000..1c700e8eab0 --- /dev/null +++ b/easybuild/easyconfigs/g/GATK/GATK-4.6.0.0-GCCcore-13.2.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.6.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': '13.2.0'} + +source_urls = ['https://github.com/broadinstitute/gatk/releases/download/%(version)s/'] +sources = ['gatk-%(version)s.zip'] +checksums = ['a5d31e34630f355e5a119894f2587fec47049fedff04300f6633c31ef14c3a66'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('Python', '3.11.5'), +] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['gatk'], + 'dirs': [], +} + +sanity_check_commands = [ + "gatk --help", + "gatk --list", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb index f0eb2e141fb..93638db31a3 100644 --- a/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-2.3-intel-2020a-Python-3.8.2.eb @@ -1,6 +1,7 @@ easyblock = 'PythonPackage' name = 'GBprocesS' +local_commit = '82e21929' version = '2.3' versionsuffix = '-Python-%(pyver)s' @@ -14,9 +15,18 @@ used.""" toolchain = {'name': 'intel', 'version': '2020a'} -source_urls = ['https://gitlab.com/dschaumont/GBprocesS/-/archive/%(version)s/'] -sources = ['GBprocesS-%(version)s.tar.gz'] -checksums = ['374fa7bc096e0cbc83746f505bea134117debed99b7510cb4123878aeaea9456'] +# need to use git_config rather than just downloading source tarball, +# because .git subdirectory is required by setuptools-scm to determine version +sources = [{ + 'filename': 'GBprocesS-%%(version)s-%s.tar.gz' % local_commit, + 'git_config': { + 'url': 'https://gitlab.com/dschaumont', + 'repo_name': name, + 'commit': local_commit, + 'keep_git_dir': True, + }, +}] +checksums = [None] dependencies = [ ('Python', '3.8.2'), @@ -29,17 +39,8 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -# The package uses setuptools-scm, so we avoid using the "version" part of it. -pretestopts = ( - "sed -i 's/" - "__version__ = get_distribution(__name__).version/" - "__version__ = \"%(version)s\"/g' gbprocess/__init__.py && " - "sed -i \"s|use_scm_version={'write_to': 'gbprocess/version.py'}|version='%(version)s'|g\" setup.py && " -) - -runtest = 'python -m unittest discover -v -s ./test -p test_*.py' - sanity_check_commands = [ + "cd %(builddir)s/GBprocesS && python -m unittest discover -v -s ./test -p test_*.py", "touch %(builddir)s/17146FL-13-01-01_S97_L002_R1_001.fastq", "touch %(builddir)s/17146FL-13-01-01_S97_L002_R2_001.fastq", # Trivial configuration file to use when running gbprocess sanity check diff --git a/easybuild/easyconfigs/g/GBprocesS/GBprocesS-4.0.0.post1-foss-2022a.eb b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-4.0.0.post1-foss-2022a.eb new file mode 100644 index 00000000000..c1080cec28f --- /dev/null +++ b/easybuild/easyconfigs/g/GBprocesS/GBprocesS-4.0.0.post1-foss-2022a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonPackage' + +name = 'GBprocesS' +local_commit = '26119ab3' +version = '4.0.0.post1' + +homepage = 'https://gbprocess.readthedocs.io/' +description = """GBprocesS allows for the extraction of genomic inserts from NGS +data for GBS experiments. Preprocessing is performed in different stages that +are part of a linear pipeline where the steps are performed in order. GBprocesS +provides a flexible way to adjust the functionality to your needs, as the +operations required and the execution order vary depending on the GBS protocol +used.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# need to use git_config rather than just downloading source tarball, +# because .git subdirectory is required by setuptools-scm to determine version +sources = [{ + 'filename': 'GBprocesS-%%(version)s-%s.tar.gz' % local_commit, + 'git_config': { + 'url': 'https://gitlab.com/ilvo', + 'repo_name': name, + 'commit': local_commit, + 'keep_git_dir': True, + }, +}] +checksums = [None] + +dependencies = [ + ('Python', '3.10.4'), + ('cutadapt', '4.2'), + ('Biopython', '1.79'), + ('PEAR', '0.9.11'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = "sed -i 's/cutadapt~=3.5.0/cutadapt/g' setup.cfg && " + +postinstallcmds = ["cp -a test %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/gbprocess'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'test'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s/GBprocesS", + "cd %(builddir)s/GBprocesS && cp -a %(installdir)s/test . && python -m unittest discover -v -s ./test -p test_*.py", + "touch %(builddir)s/17146FL-13-01-01_S97_L002_R1_001.fastq", + "touch %(builddir)s/17146FL-13-01-01_S97_L002_R2_001.fastq", + # Trivial configuration file to use when running gbprocess sanity check + # See https://gitlab.com/dschaumont/GBprocesS/-/blob/master/docs/user_guide.rst + "echo '[General]' > %(builddir)s/config.ini", + "echo 'cores = 1' >> %(builddir)s/config.ini", + "echo 'input_directory = %(builddir)s/' >> %(builddir)s/config.ini", + "echo 'sequencing_type = pe' >> %(builddir)s/config.ini", + "echo 'input_file_name_template = {run:25}_R{orientation:1}_001{extension}' >> %(builddir)s/config.ini", + "echo 'temp_dir = %(builddir)s/' >> %(builddir)s/config.ini", + "gbprocess --debug -c %(builddir)s/config.ini", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GCC/GCC-11.2.0.eb b/easybuild/easyconfigs/g/GCC/GCC-11.2.0.eb new file mode 100644 index 00000000000..e3841d432c7 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '11.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of (dummy-built) binutils + ('binutils', '2.37', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-11.3.0.eb b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb new file mode 100644 index 00000000000..ee32dbadf52 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '11.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.38', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-11.4.0.eb b/easybuild/easyconfigs/g/GCC/GCC-11.4.0.eb new file mode 100644 index 00000000000..b72e811f68d --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-11.4.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '11.4.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.40', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-12.1.0.eb b/easybuild/easyconfigs/g/GCC/GCC-12.1.0.eb new file mode 100644 index 00000000000..d9d69140de7 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-12.1.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '12.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.38', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-12.2.0.eb b/easybuild/easyconfigs/g/GCC/GCC-12.2.0.eb new file mode 100644 index 00000000000..81e62378c1d --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-12.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '12.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.39', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-12.3.0.eb b/easybuild/easyconfigs/g/GCC/GCC-12.3.0.eb new file mode 100644 index 00000000000..e2701264c4c --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '12.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.40', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-13.1.0.eb b/easybuild/easyconfigs/g/GCC/GCC-13.1.0.eb new file mode 100644 index 00000000000..8bf33a423ce --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-13.1.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '13.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.40', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-13.2.0.eb b/easybuild/easyconfigs/g/GCC/GCC-13.2.0.eb new file mode 100644 index 00000000000..174dfc982ce --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-13.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '13.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.40', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-13.3.0.eb b/easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb new file mode 100644 index 00000000000..3428422c0b9 --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-13.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '13.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.42', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-14.1.0.eb b/easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb new file mode 100644 index 00000000000..5d90c08c99e --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-14.1.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '14.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.42', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-14.2.0.eb b/easybuild/easyconfigs/g/GCC/GCC-14.2.0.eb new file mode 100644 index 00000000000..7126db6c52d --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-14.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '14.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.42', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCC/GCC-9.5.0.eb b/easybuild/easyconfigs/g/GCC/GCC-9.5.0.eb new file mode 100644 index 00000000000..79a95b0cf0b --- /dev/null +++ b/easybuild/easyconfigs/g/GCC/GCC-9.5.0.eb @@ -0,0 +1,22 @@ +easyblock = 'Bundle' + +name = 'GCC' +version = '9.5.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +dependencies = [ + ('GCCcore', version), + # binutils built on top of GCCcore, which was built on top of binutils (built with system toolchain) + ('binutils', '2.38', '', ('GCCcore', version)), +] + +altroot = 'GCCcore' +altversion = 'GCCcore' + +# 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/g/GCCcore/GCC-10.x_fix-libsanitizer-cyclades.patch b/easybuild/easyconfigs/g/GCCcore/GCC-10.x_fix-libsanitizer-cyclades.patch new file mode 100644 index 00000000000..1805e34302a --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCC-10.x_fix-libsanitizer-cyclades.patch @@ -0,0 +1,123 @@ +From a7e72b282177fbaa6a852324641c871313d326da Mon Sep 17 00:00:00 2001 +From: Tamar Christina +Date: Fri, 21 May 2021 10:30:59 +0100 +Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer + +The Linux kernel has removed the interface to cyclades from +the latest kernel headers[1] due to them being orphaned for the +past 13 years. + +libsanitizer uses this header when compiling against glibc, but +glibcs itself doesn't seem to have any references to cyclades. + +Further more it seems that the driver is broken in the kernel and +the firmware doesn't seem to be available anymore. + +As such since this is breaking the build of libsanitizer (and so the +GCC bootstrap[2]) I propose to remove this. + +[1] https://lkml.org/lkml/2021/3/2/153 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + +libsanitizer/ChangeLog: + + PR sanitizer/100379 + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick + llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. + * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. + +(cherry picked from commit 745dae5923aba02982563481d75a21595df22ff8) +--- + .../sanitizer_common_interceptors_ioctl.inc | 9 --------- + .../sanitizer_platform_limits_posix.cpp | 11 ----------- + .../sanitizer_platform_limits_posix.h | 10 ---------- + 3 files changed, 30 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 490a04b2181..42e43a04441 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -366,15 +366,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index aa845df4dde..badf6a401cc 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -443,7 +442,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -809,15 +807,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index d82fd5e4005..dc6423bc297 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -974,7 +974,6 @@ extern unsigned struct_vt_mode_sz; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +-extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1319,15 +1318,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-extern unsigned IOCTL_CYGETDEFTHRESH; +-extern unsigned IOCTL_CYGETDEFTIMEOUT; +-extern unsigned IOCTL_CYGETMON; +-extern unsigned IOCTL_CYGETTHRESH; +-extern unsigned IOCTL_CYGETTIMEOUT; +-extern unsigned IOCTL_CYSETDEFTHRESH; +-extern unsigned IOCTL_CYSETDEFTIMEOUT; +-extern unsigned IOCTL_CYSETTHRESH; +-extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; +-- +2.27.0 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCC-9.x_fix-libsanitizer-cyclades.patch b/easybuild/easyconfigs/g/GCCcore/GCC-9.x_fix-libsanitizer-cyclades.patch new file mode 100644 index 00000000000..34119830b4f --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCC-9.x_fix-libsanitizer-cyclades.patch @@ -0,0 +1,121 @@ +From 2b40941d23b1570cdd90083b58fa0f66aa58c86e Mon Sep 17 00:00:00 2001 +From: Tamar Christina +Date: Fri, 21 May 2021 12:16:56 +0100 +Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer + +The Linux kernel has removed the interface to cyclades from +the latest kernel headers[1] due to them being orphaned for the +past 13 years. + +libsanitizer uses this header when compiling against glibc, but +glibcs itself doesn't seem to have any references to cyclades. + +Further more it seems that the driver is broken in the kernel and +the firmware doesn't seem to be available anymore. + +As such since this is breaking the build of libsanitizer (and so the +GCC bootstrap[2]) I propose to remove this. + +[1] https://lkml.org/lkml/2021/3/2/153 +[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + +libsanitizer/ChangeLog: + + PR sanitizer/100379 + * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick + llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. + * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. + * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. +--- + .../sanitizer_common_interceptors_ioctl.inc | 9 --------- + .../sanitizer_platform_limits_posix.cc | 11 ----------- + .../sanitizer_platform_limits_posix.h | 10 ---------- + 3 files changed, 30 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +index 5408ea17c59..7a9cd3f5968 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -365,15 +365,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index d823a12190c..e8fce8a0287 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -466,7 +465,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -833,15 +831,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 6a673a7c995..f921bf2b5b5 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -1040,7 +1040,6 @@ struct __sanitizer_cookie_io_functions_t { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +- extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1385,15 +1384,6 @@ struct __sanitizer_cookie_io_functions_t { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- extern unsigned IOCTL_CYGETDEFTHRESH; +- extern unsigned IOCTL_CYGETDEFTIMEOUT; +- extern unsigned IOCTL_CYGETMON; +- extern unsigned IOCTL_CYGETTHRESH; +- extern unsigned IOCTL_CYGETTIMEOUT; +- extern unsigned IOCTL_CYSETDEFTHRESH; +- extern unsigned IOCTL_CYSETDEFTIMEOUT; +- extern unsigned IOCTL_CYSETTHRESH; +- extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; +-- +2.27.0 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb index bc096d39ad9..5ad49480069 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.1.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ @@ -28,19 +29,26 @@ sources = [ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '954057239c89d25bc7a62bfbceb58026363ad74f079c63fdba27f95abbf60900', # gcc-10.1.0.tar.gz - 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea', # gmp-6.2.0.tar.bz2 - 'c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc', # mpfr-4.0.2.tar.bz2 - '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz - '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd', # isl-0.22.1.tar.bz2 - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch + {'gcc-10.1.0.tar.gz': '954057239c89d25bc7a62bfbceb58026363ad74f079c63fdba27f95abbf60900'}, + {'gmp-6.2.0.tar.bz2': 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea'}, + {'mpfr-4.0.2.tar.bz2': 'c05e3f02d09e0e9019384cdd58e0f19c64e6db1fd6f5ecf77b4b1c61ca253acc'}, + {'mpc-1.1.0.tar.gz': '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e'}, + {'isl-0.22.1.tar.bz2': '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.34'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb index 65f6fc7c6cd..880ff3864f6 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.2.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 @@ -36,26 +37,34 @@ patches = [ 'GCCcore-10.2.0_fix-has-include-Fortran.patch', 'GCCcore-10.2.0_fix-ice-on-arm.patch', 'GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d', # gcc-10.2.0.tar.gz - 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea', # gmp-6.2.0.tar.bz2 - 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 - '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e', # mpc-1.1.0.tar.gz - '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd', # isl-0.22.1.tar.bz2 - '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66', # newlib-3.3.0.tar.gz - 'a25b6f7761bb61c0d8e2a183bcf51fbaaeeac26868dcfc015e3b16a33fe11705', # nvptx-tools-20180301.tar.gz - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch - '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108', # GCCcore-9.3.0_nvptx_sm_35_default.patch - 'f94fa117f3401b28fda0741f3f45439c09dc956d1ed27f9a3ebe40c0e7e404b6', # GCCcore-10.2.0_fix-has-include-Fortran.patch - '44edbf1cddb2d7037f9606b6995d9ef20ff664b810a3e3ef383420a4366ed278', # GCCcore-10.2.0_fix-ice-on-arm.patch - # GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch - 'fb160374ba691d8267a19dee4268305a6e34123cab9e65176b5168c36e9f0962', + {'gcc-10.2.0.tar.gz': '27e879dccc639cd7b0cc08ed575c1669492579529b53c9ff27b0b96265fa867d'}, + {'gmp-6.2.0.tar.bz2': 'f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.1.0.tar.gz': '6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e'}, + {'isl-0.22.1.tar.bz2': '1a668ef92eb181a7c021e8531a3ca89fd71aa1b3744db56f68365ab0a224c5cd'}, + {'newlib-3.3.0.tar.gz': '58dd9e3eaedf519360d92d84205c3deef0b3fc286685d1c562e245914ef72c66'}, + {'nvptx-tools-20180301.tar.gz': 'a25b6f7761bb61c0d8e2a183bcf51fbaaeeac26868dcfc015e3b16a33fe11705'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.3.0_nvptx_sm_35_default.patch': '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108'}, + {'GCCcore-10.2.0_fix-has-include-Fortran.patch': + 'f94fa117f3401b28fda0741f3f45439c09dc956d1ed27f9a3ebe40c0e7e404b6'}, + {'GCCcore-10.2.0_fix-ice-on-arm.patch': '44edbf1cddb2d7037f9606b6995d9ef20ff664b810a3e3ef383420a4366ed278'}, + {'GCCcore-10.2.0_fix-vec-builtins-conversion-on-ppc.patch': + 'fb160374ba691d8267a19dee4268305a6e34123cab9e65176b5168c36e9f0962'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.35'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb index abac9ee3662..26437d79b56 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-10.3.0.eb @@ -15,8 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL + 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies + 'https://libisl.sourceforge.io/', # fallback URL for isl 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] @@ -34,23 +34,30 @@ patches = [ 'GCCcore-9.3.0_gmp-c99.patch', 'GCCcore-9.3.0_nvptx_sm_35_default.patch', 'gcc-10.3.0_fix-ice-in-tsubst.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', ] checksums = [ - '8fcf994811ad4e5c7ac908e8cf62af2c1982319e5551f62ae72016064dacdf16', # gcc-10.3.0.tar.gz - 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 - 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 - '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz - 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d', # isl-0.23.tar.bz2 - 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz - '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch - '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108', # GCCcore-9.3.0_nvptx_sm_35_default.patch - '74e6e019458aa2feb36ae3c45f45e164725ca5edd66f4fe9f873c8ee78c35717', # gcc-10.3.0_fix-ice-in-tsubst.patch + {'gcc-10.3.0.tar.gz': '8fcf994811ad4e5c7ac908e8cf62af2c1982319e5551f62ae72016064dacdf16'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.23.tar.bz2': 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20210115.tar.gz': '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.3.0_nvptx_sm_35_default.patch': '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108'}, + {'gcc-10.3.0_fix-ice-in-tsubst.patch': '74e6e019458aa2feb36ae3c45f45e164725ca5edd66f4fe9f873c8ee78c35717'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.36.1'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb index 3b4548535a2..b9512e90cc6 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0.eb @@ -15,8 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies - 'http://isl.gforge.inria.fr/', # original HTTP source for ISL + 'https://gcc.gnu.org/pub/gcc/infrastructure/', # HTTPS mirror for GCC dependencies + 'https://libisl.sourceforge.io/', # fallback URL for isl 'https://sourceware.org/pub/newlib/', # for newlib 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools ] @@ -32,21 +32,32 @@ sources = [ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-10.x_fix-libsanitizer-cyclades.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', + 'GCCcore-11.1.0_fix-AVX2-intrinsics.patch', + 'GCCcore-11.3.0_fix-vectorizer.patch', ] checksums = [ - 'e7abb1b4cb58aaa67c5eb49d98e89d13363b8e258ac2b5b105c197b441c09f85', # gcc-11.1.0.tar.gz - 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 - 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 - '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz - 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d', # isl-0.23.tar.bz2 - 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz - '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz - '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch - '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch + {'gcc-11.1.0.tar.gz': 'e7abb1b4cb58aaa67c5eb49d98e89d13363b8e258ac2b5b105c197b441c09f85'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.23.tar.bz2': 'c58922c14ae7d0791a77932f377840890f19bc486b653fa64eba7f1026fb214d'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20210115.tar.gz': '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCC-10.x_fix-libsanitizer-cyclades.patch': 'ba1f1cdc3a370281a9c1a45758db48b7edbddb70a9f6b10951fe8a77e4931832'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, + {'GCCcore-11.1.0_fix-AVX2-intrinsics.patch': 'a06c09cc6ba25ec4e0a28280eb6b25cdb331f7835d07ebb3a83536214d3d68fa'}, + {'GCCcore-11.3.0_fix-vectorizer.patch': '7dff25b678e2f65b81d9bf0c8402ad46c25a04b0c0d610db50b763ecc5f9ef98'}, ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.36.1'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch new file mode 100644 index 00000000000..08381e2694d --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.1.0_fix-AVX2-intrinsics.patch @@ -0,0 +1,129 @@ +Fix wrongly implemented _mm_loadu_si32/16 resulting in failures in e.g. PyTorch tests +due to wrong values as the order in the vectorized elements is wrong. + +From 85568e505c3b06708ec0fb21d1ab4f78e0c66896 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek +Date: Mon, 14 Mar 2022 10:44:38 +0100 +Subject: [PATCH 1/1] i386: Fix up _mm_loadu_si{16,32} [PR99754] + +These intrinsics are supposed to do an unaligned may_alias load +of a 16-bit or 32-bit value and store it as the first element of +a 128-bit integer vector, with all other elements cleared. + +The current _mm_storeu_* implementation implements that correctly, uses +__*_u types to do the store and extracts the first element of a vector into +it. +But _mm_loadu_si{16,32} gets it all wrong. It performs an aligned +non-may_alias load and because _mm_set_epi{16,32} has the args reversed, +it also inserts it into the last vector element instead of first. + +The following patch fixes that. + +Note, while the Intrinsics guide for _mm_loadu_si32 says SSE2, +for _mm_loadu_si16 it says strangely SSE. But the intrinsics +returns __m128i, which is only defined in emmintrin.h, and +_mm_set_epi16 is also only SSE2 and later in emmintrin.h. +Even clang defines it in emmintrin.h and ends up with inlining +failure when calling _mm_loadu_si16 from sse,no-sse2 function. +So, isn't that a bug in the intrinsic guide instead? + +2022-03-14 Jakub Jelinek + + PR target/99754 + * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into + first rather than last element of the vector, use __m32_u to do + a really unaligned load, use just 0 instead of (int)0. + (_mm_loadu_si16): Put loaded value into first rather than last + element of the vector, use __m16_u to do a really unaligned load, + use just 0 instead of (short)0. + + * gcc.target/i386/pr99754-1.c: New test. + * gcc.target/i386/pr99754-2.c: New test. +--- + gcc/config/i386/emmintrin.h | 5 ++--- + gcc/testsuite/gcc.target/i386/pr99754-1.c | 20 +++++++++++++++++++ + gcc/testsuite/gcc.target/i386/pr99754-2.c | 24 +++++++++++++++++++++++ + 3 files changed, 46 insertions(+), 3 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/i386/pr99754-1.c + create mode 100644 gcc/testsuite/gcc.target/i386/pr99754-2.c + +diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h +index eb6de5c5038..ead06228572 100644 +--- a/gcc/config/i386/emmintrin.h ++++ b/gcc/config/i386/emmintrin.h +@@ -718,14 +718,13 @@ _mm_loadu_si64 (void const *__P) + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_loadu_si32 (void const *__P) + { +- return _mm_set_epi32 (*(int *)__P, (int)0, (int)0, (int)0); ++ return _mm_set_epi32 (0, 0, 0, (*(__m32_u *)__P)[0]); + } + + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_loadu_si16 (void const *__P) + { +- return _mm_set_epi16 (*(short *)__P, (short)0, (short)0, (short)0, +- (short)0, (short)0, (short)0, (short)0); ++ return _mm_set_epi16 (0, 0, 0, 0, 0, 0, 0, (*(__m16_u *)__P)[0]); + } + + extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +diff --git a/gcc/testsuite/gcc.target/i386/pr99754-1.c b/gcc/testsuite/gcc.target/i386/pr99754-1.c +new file mode 100644 +index 00000000000..9c953724881 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr99754-1.c +@@ -0,0 +1,20 @@ ++/* PR target/99754 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -msse2" } */ ++/* { dg-require-effective-target sse2 } */ ++ ++#include "sse2-check.h" ++#include ++ ++static void ++sse2_test (void) ++{ ++ union { unsigned char buf[32]; long long ll; } u; ++ u.buf[1] = 0xfe; ++ u.buf[2] = 0xca; ++ u.buf[17] = 0xaa; ++ u.buf[18] = 0x55; ++ _mm_storeu_si16 (&u.buf[17], _mm_loadu_si16 (&u.buf[1])); ++ if (u.buf[17] != 0xfe || u.buf[18] != 0xca) ++ abort (); ++} +diff --git a/gcc/testsuite/gcc.target/i386/pr99754-2.c b/gcc/testsuite/gcc.target/i386/pr99754-2.c +new file mode 100644 +index 00000000000..f7a1dd3e124 +--- /dev/null ++++ b/gcc/testsuite/gcc.target/i386/pr99754-2.c +@@ -0,0 +1,24 @@ ++/* PR target/99754 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -msse2" } */ ++/* { dg-require-effective-target sse2 } */ ++ ++#include "sse2-check.h" ++#include ++ ++static void ++sse2_test (void) ++{ ++ union { unsigned char buf[32]; long long ll; } u; ++ u.buf[1] = 0xbe; ++ u.buf[2] = 0xba; ++ u.buf[3] = 0xfe; ++ u.buf[4] = 0xca; ++ u.buf[17] = 0xaa; ++ u.buf[18] = 0x55; ++ u.buf[19] = 0xaa; ++ u.buf[20] = 0x55; ++ _mm_storeu_si32 (&u.buf[17], _mm_loadu_si32 (&u.buf[1])); ++ if (u.buf[17] != 0xbe || u.buf[18] != 0xba || u.buf[19] != 0xfe || u.buf[20] != 0xca) ++ abort (); ++} +-- +2.31.1 + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb new file mode 100644 index 00000000000..69d454317bb --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.2.0.eb @@ -0,0 +1,71 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '11.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': 'd0524fb.tar.gz', 'filename': 'nvptx-tools-20210115.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', + 'GCCcore-11.1.0_fix-AVX2-intrinsics.patch', + 'GCCcore-11.3.0_fix-vectorizer.patch', +] +checksums = [ + {'gcc-11.2.0.tar.gz': 'f0837f1bf8244a5cc23bd96ff6366712a791cfae01df8e25b137698aca26efc1'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.24.tar.bz2': 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20210115.tar.gz': '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, + {'GCCcore-11.1.0_fix-AVX2-intrinsics.patch': 'a06c09cc6ba25ec4e0a28280eb6b25cdb331f7835d07ebb3a83536214d3d68fa'}, + {'GCCcore-11.3.0_fix-vectorizer.patch': '7dff25b678e2f65b81d9bf0c8402ad46c25a04b0c0d610db50b763ecc5f9ef98'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.37'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb new file mode 100644 index 00000000000..479660986dc --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '11.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': '7292758.tar.gz', 'filename': 'nvptx-tools-20220412.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCCcore-11.3.0_fuse-ld-mold.patch', + 'GCCcore-11_fix-libsanitzer-glibc-2.36.patch', + 'GCCcore-11.3.0_fix-vectorizer.patch', +] +checksums = [ + {'gcc-11.3.0.tar.gz': '98438e6cc7294298b474cf0da7655d9a8c8b796421bb0210531c294a950374ed'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.24.tar.bz2': 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20220412.tar.gz': '20e3c1eeae7f375c36455b6036c4801de16b854910ff54268bbd3346f3685080'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCCcore-11.3.0_fuse-ld-mold.patch': 'bba64714f8b84ad58b3b43c0d21b4ffc298274ae699f514ed2934f002146d840'}, + {'GCCcore-11_fix-libsanitzer-glibc-2.36.patch': '5c6c3b4655883a23dd9da7ef99751e5db23f35189c03689d2ab755b22cb39a60'}, + {'GCCcore-11.3.0_fix-vectorizer.patch': '7dff25b678e2f65b81d9bf0c8402ad46c25a04b0c0d610db50b763ecc5f9ef98'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fix-vectorizer.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fix-vectorizer.patch new file mode 100644 index 00000000000..372397d96fe --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fix-vectorizer.patch @@ -0,0 +1,137 @@ +From 9ed4a849afb5b18b462bea311e7eee454c2c9f68 Mon Sep 17 00:00:00 2001 +From: Richard Biener +Date: Fri, 14 Oct 2022 11:14:59 +0200 +Subject: [PATCH] tree-optimization/107254 - check and support live lanes from + permutes + +The following fixes an omission from adding SLP permute nodes which +is live lanes originating from those. We have to check that we +can extract the lane and have to actually code generate them. + + PR tree-optimization/107254 + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): + For permutes also analyze live lanes. + (vect_schedule_slp_node): For permutes also code generate + live lane extracts. + + * gfortran.dg/vect/pr107254.f90: New testcase. +--- + gcc/testsuite/gfortran.dg/vect/pr107254.f90 | 49 +++++++++++++++++++++ + gcc/tree-vect-slp.cc | 33 +++++++++++--- + 2 files changed, 77 insertions(+), 5 deletions(-) + create mode 100644 gcc/testsuite/gfortran.dg/vect/pr107254.f90 + +diff --git a/gcc/testsuite/gfortran.dg/vect/pr107254.f90 b/gcc/testsuite/gfortran.dg/vect/pr107254.f90 +new file mode 100644 +index 0000000000000..85bcb5f3fa2e3 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/vect/pr107254.f90 +@@ -0,0 +1,49 @@ ++! { dg-do run } ++ ++subroutine dlartg( f, g, s, r ) ++ implicit none ++ double precision :: f, g, r, s ++ double precision :: d, p ++ ++ d = sqrt( f*f + g*g ) ++ p = 1.d0 / d ++ if( abs( f ) > 1 ) then ++ s = g*sign( p, f ) ++ r = sign( d, f ) ++ else ++ s = g*sign( p, f ) ++ r = sign( d, f ) ++ end if ++end subroutine ++ ++subroutine dhgeqz( n, h, t ) ++ implicit none ++ integer n ++ double precision h( n, * ), t( n, * ) ++ integer jc ++ double precision c, s, temp, temp2, tempr ++ temp2 = 10d0 ++ call dlartg( 10d0, temp2, s, tempr ) ++ c = 0.9d0 ++ s = 1.d0 ++ do jc = 1, n ++ temp = c*h( 1, jc ) + s*h( 2, jc ) ++ h( 2, jc ) = -s*h( 1, jc ) + c*h( 2, jc ) ++ h( 1, jc ) = temp ++ temp2 = c*t( 1, jc ) + s*t( 2, jc ) ++ t( 2, jc ) = -s*t( 1, jc ) + c*t( 2, jc ) ++ t( 1, jc ) = temp2 ++ enddo ++end subroutine dhgeqz ++ ++program test ++ implicit none ++ double precision h(2,2), t(2,2) ++ h = 0 ++ t(1,1) = 1 ++ t(2,1) = 0 ++ t(1,2) = 0 ++ t(2,2) = 0 ++ call dhgeqz( 2, h, t ) ++ if (t(2,2).ne.0) STOP 1 ++end program test +diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c +index 229f2663ebcc6..af27fd56e0242 100644 +--- a/gcc/tree-vect-slp.c ++++ b/gcc/tree-vect-slp.c +@@ -5930,7 +5930,23 @@ vect_slp_analyze_node_operations_1 (vec_info *vinfo, slp_tree node, + + /* Handle purely internal nodes. */ + if (SLP_TREE_CODE (node) == VEC_PERM_EXPR) +- return vectorizable_slp_permutation (vinfo, NULL, node, cost_vec); ++ { ++ if (!vectorizable_slp_permutation (vinfo, NULL, node, cost_vec)) ++ return false; ++ ++ stmt_vec_info slp_stmt_info; ++ unsigned int i; ++ FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, slp_stmt_info) ++ { ++ if (STMT_VINFO_LIVE_P (slp_stmt_info) ++ && !vectorizable_live_operation (vinfo, ++ slp_stmt_info, NULL, node, ++ node_instance, i, ++ false, cost_vec)) ++ return false; ++ } ++ return true; ++ } + + gcc_assert (STMT_SLP_TYPE (stmt_info) != loop_vect); + +@@ -8897,8 +8913,6 @@ vect_schedule_slp_node (vec_info *vinfo, + } + } + +- bool done_p = false; +- + /* Handle purely internal nodes. */ + if (SLP_TREE_CODE (node) == VEC_PERM_EXPR) + { +@@ -8909,9 +8923,18 @@ vect_schedule_slp_node (vec_info *vinfo, + but open-code it here (partly). */ + bool done = vectorizable_slp_permutation (vinfo, &si, node, NULL); + gcc_assert (done); +- done_p = true; ++ stmt_vec_info slp_stmt_info; ++ unsigned int i; ++ FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, slp_stmt_info) ++ if (STMT_VINFO_LIVE_P (slp_stmt_info)) ++ { ++ done = vectorizable_live_operation (vinfo, ++ slp_stmt_info, &si, node, ++ instance, i, true, NULL); ++ gcc_assert (done); ++ } + } +- if (!done_p) ++ else + vect_transform_stmt (vinfo, stmt_info, &si, node, instance); + } + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch new file mode 100644 index 00000000000..72d3a1ace1d --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.3.0_fuse-ld-mold.patch @@ -0,0 +1,126 @@ +From ad964f7eaef9c03ce68a01cfdd7fde9d56524868 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Tue, 21 Dec 2021 17:43:55 +0100 +Subject: [PATCH] Support ld.mold linker. + +gcc/ChangeLog: + + * collect2.c (main): Add ld.mold. + * common.opt: Add -fuse-ld=mold. + * doc/invoke.texi: Document it. + * gcc.c (driver_handle_option): Handle -fuse-ld=mold. + * opts.c (common_handle_option): Likewise. +--- + gcc/collect2.c | 10 +++++++--- + gcc/common.opt | 4 ++++ + gcc/doc/invoke.texi | 4 ++++ + gcc/gcc.c | 4 ++++ + gcc/opts.c | 1 + + 5 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/gcc/collect2.c b/gcc/collect2.c +index d47fe3f91959c..b322527847c70 100644 +--- a/gcc/collect2.c ++++ b/gcc/collect2.c +@@ -785,6 +785,7 @@ + USE_GOLD_LD, + USE_BFD_LD, + USE_LLD_LD, ++ USE_MOLD_LD, + USE_LD_MAX + } selected_linker = USE_DEFAULT_LD; + static const char *const ld_suffixes[USE_LD_MAX] = +@@ -793,7 +794,8 @@ + PLUGIN_LD_SUFFIX, + "ld.gold", + "ld.bfd", +- "ld.lld" ++ "ld.lld", ++ "ld.mold" + }; + static const char *const real_ld_suffix = "real-ld"; + static const char *const collect_ld_suffix = "collect-ld"; +@@ -970,6 +972,8 @@ + selected_linker = USE_GOLD_LD; + else if (strcmp (argv[i], "-fuse-ld=lld") == 0) + selected_linker = USE_LLD_LD; ++ else if (strcmp (argv[i], "-fuse-ld=mold") == 0) ++ selected_linker = USE_MOLD_LD; + else if (strncmp (argv[i], "-o", 2) == 0) + { + /* Parse the output filename if it's given so that we can make +@@ -1082,7 +1086,7 @@ + ld_file_name = 0; + #ifdef DEFAULT_LINKER + if (selected_linker == USE_BFD_LD || selected_linker == USE_GOLD_LD || +- selected_linker == USE_LLD_LD) ++ selected_linker == USE_LLD_LD || selected_linker == USE_MOLD_LD) + { + char *linker_name; + # ifdef HOST_EXECUTABLE_SUFFIX +@@ -1317,7 +1321,7 @@ + else if (!use_collect_ld + && strncmp (arg, "-fuse-ld=", 9) == 0) + { +- /* Do not pass -fuse-ld={bfd|gold|lld} to the linker. */ ++ /* Do not pass -fuse-ld={bfd|gold|lld|mold} to the linker. */ + ld1--; + ld2--; + } +diff --git a/gcc/common.opt b/gcc/common.opt +index 2ed818d6057de..dba3fa886f9c6 100644 +--- a/gcc/common.opt ++++ b/gcc/common.opt +@@ -3046,6 +3046,10 @@ fuse-ld=lld + Common Driver Negative(fuse-ld=lld) + Use the lld LLVM linker instead of the default linker. + ++fuse-ld=mold ++Common Driver Negative(fuse-ld=mold) ++Use the Modern linker (MOLD) linker instead of the default linker. ++ + fuse-linker-plugin + Common Undocumented Var(flag_use_linker_plugin) + +diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi +index e644c63767b88..54fa75ba138ea 100644 +--- a/gcc/doc/invoke.texi ++++ b/gcc/doc/invoke.texi +@@ -16266,6 +16266,10 @@ Use the @command{gold} linker instead of the default linker. + @opindex fuse-ld=lld + Use the LLVM @command{lld} linker instead of the default linker. + ++@item -fuse-ld=mold ++@opindex fuse-ld=mold ++Use the Modern Linker (@command{mold}) instead of the default linker. ++ + @cindex Libraries + @item -l@var{library} + @itemx -l @var{library} +diff --git a/gcc/gcc.c b/gcc/gcc.c +index b75b50b87b2bf..06e18a75b52cc 100644 +--- a/gcc/gcc.c ++++ b/gcc/gcc.c +@@ -4282,6 +4282,10 @@ driver_handle_option (struct gcc_options *opts, + use_ld = ".gold"; + break; + ++ case OPT_fuse_ld_mold: ++ use_ld = ".mold"; ++ break; ++ + case OPT_fcompare_debug_second: + compare_debug_second = 1; + break; +diff --git a/gcc/opts.c b/gcc/opts.c +index e4e47ff77b3d7..f820052307c36 100644 +--- a/gcc/opts.c ++++ b/gcc/opts.c +@@ -3105,6 +3105,7 @@ common_handle_option (struct gcc_options *opts, + case OPT_fuse_ld_bfd: + case OPT_fuse_ld_gold: + case OPT_fuse_ld_lld: ++ case OPT_fuse_ld_mold: + case OPT_fuse_linker_plugin: + /* No-op. Used by the driver and passed to us because it starts with f.*/ + break; diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.4.0.eb new file mode 100644 index 00000000000..e7a933e69e9 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11.4.0.eb @@ -0,0 +1,68 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '11.4.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.2.0.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.3.0.20230120.tar.gz', + {'download_filename': '93e0090.tar.gz', 'filename': 'nvptx-tools-20230122.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCCcore-11.3.0_fuse-ld-mold.patch', +] +checksums = [ + {'gcc-11.4.0.tar.gz': 'af828619dd1970734dda3cfb792ea3f2cba61b5a00170ba8bce4910749d73c07'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.3.0.20230120.tar.gz': '83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150'}, + {'nvptx-tools-20230122.tar.gz': 'af05fac26e9a83d337758a5495dc35f7a7bbfd90cd09f4a5d3242d059f235e08'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch': + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4'}, + {'GCCcore-11.3.0_fuse-ld-mold.patch': 'bba64714f8b84ad58b3b43c0d21b4ffc298274ae699f514ed2934f002146d840'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-11_fix-libsanitzer-glibc-2.36.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-11_fix-libsanitzer-glibc-2.36.patch new file mode 100644 index 00000000000..466910c3970 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-11_fix-libsanitzer-glibc-2.36.patch @@ -0,0 +1,41 @@ +From 2701442d0cf6292f6624443c15813d6d1a3562fe Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Mon, 11 Jul 2022 22:03:14 +0200 +Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream + +9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include to resolve fsconfig_command/mount_attr conflict with glibc 2.36 +--- + .../sanitizer_platform_limits_posix.cpp | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +index 8ed3e92d270..97fd07acf9d 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -73,7 +73,9 @@ + #include + #include + #include ++#if SANITIZER_ANDROID + #include ++#endif + #include + #include + #include +@@ -869,10 +871,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); + unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT; + unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT; + #endif +- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS; +- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION; +- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS; +- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION; ++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long); ++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long); ++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long); ++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long); + unsigned IOCTL_GIO_CMAP = GIO_CMAP; + unsigned IOCTL_GIO_FONT = GIO_FONT; + unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP; +-- +2.31.1 diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb new file mode 100644 index 00000000000..38ef50f122c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0.eb @@ -0,0 +1,78 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '12.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': '7292758.tar.gz', 'filename': 'nvptx-tools-20220412.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-12.1.0_allow-pragma-wself-init.patch', + 'GCCcore-12.1.0_fix-double-destruct.patch', + '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'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.24.tar.bz2': 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20220412.tar.gz': '20e3c1eeae7f375c36455b6036c4801de16b854910ff54268bbd3346f3685080'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-12.1.0_allow-pragma-wself-init.patch': + '464f5faa9b23e805995d10dcdacca83df6321cac70826e9a3bc5bc9cd737f6a1'}, + {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, + {'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch': + '0ea675960795e238a43ae7d685a0082b21f0b63cf2fe499f6d55e89e0aaee392'}, + {'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 = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_allow-pragma-wself-init.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_allow-pragma-wself-init.patch new file mode 100644 index 00000000000..1e7f3876bbe --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_allow-pragma-wself-init.patch @@ -0,0 +1,451 @@ +From aabebf76e9d9a805ea5b443d4ee4f49f13155d87 Mon Sep 17 00:00:00 2001 +From: Marek Polacek +Date: Tue, 26 Jul 2022 13:55:58 -0400 +Subject: [PATCH] c-family: Honor -Wno-init-self for cv-qual vars [PR102633] + +Since r11-5188-g32934a4f45a721, we drop qualifiers during l-to-r +conversion by creating a NOP_EXPR. For e.g. + + const int i = i; + +that means that the DECL_INITIAL is '(int) i' and not 'i' anymore. +Consequently, we don't suppress_warning here: + +711 case DECL_EXPR: +715 if (VAR_P (DECL_EXPR_DECL (*expr_p)) +716 && !DECL_EXTERNAL (DECL_EXPR_DECL (*expr_p)) +717 && !TREE_STATIC (DECL_EXPR_DECL (*expr_p)) +718 && (DECL_INITIAL (DECL_EXPR_DECL (*expr_p)) == DECL_EXPR_DECL (*expr_p)) +719 && !warn_init_self) +720 suppress_warning (DECL_EXPR_DECL (*expr_p), OPT_Winit_self); + +because of the check on line 718 -- (int) i is not i. So -Wno-init-self +doesn't disable the warning as it's supposed to. + +The following patch fixes it by moving the suppress_warning call from +c_gimplify_expr to the front ends, at points where we haven't created +the NOP_EXPR yet. + + PR middle-end/102633 + +gcc/c-family/ChangeLog: + + * c-gimplify.cc (c_gimplify_expr) : Don't call + suppress_warning here. + +gcc/c/ChangeLog: + + * c-parser.cc (c_parser_initializer): Add new tree parameter. Use it. + Call suppress_warning. + (c_parser_declaration_or_fndef): Pass d down to c_parser_initializer. + (c_parser_omp_declare_reduction): Pass omp_priv down to + c_parser_initializer. + +gcc/cp/ChangeLog: + + * decl.cc (cp_finish_decl): Call suppress_warning. + +gcc/testsuite/ChangeLog: + + * c-c++-common/Winit-self1.c: New test. + * c-c++-common/Winit-self2.c: New test. + +(cherry picked from commit 04ce2400b35225302e0d6883bb0817378180f5d7) +--- + gcc/c-family/c-gimplify.cc | 12 --------- + gcc/c/c-parser.cc | 19 ++++++++++++--- + gcc/cp/decl.cc | 8 ++++++ + gcc/testsuite/c-c++-common/Winit-self1.c | 31 ++++++++++++++++++++++++ + gcc/testsuite/c-c++-common/Winit-self2.c | 31 ++++++++++++++++++++++++ + 5 files changed, 85 insertions(+), 16 deletions(-) + create mode 100644 gcc/testsuite/c-c++-common/Winit-self1.c + create mode 100644 gcc/testsuite/c-c++-common/Winit-self2.c + +diff --git a/gcc/c-family/c-gimplify.cc b/gcc/c-family/c-gimplify.cc +index 2b683a399821e..7e55fd73f810d 100644 +--- a/gcc/c-family/c-gimplify.cc ++++ b/gcc/c-family/c-gimplify.cc +@@ -704,18 +704,6 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED, + break; + } + +- case DECL_EXPR: +- /* This is handled mostly by gimplify.cc, but we have to deal with +- not warning about int x = x; as it is a GCC extension to turn off +- this warning but only if warn_init_self is zero. */ +- if (VAR_P (DECL_EXPR_DECL (*expr_p)) +- && !DECL_EXTERNAL (DECL_EXPR_DECL (*expr_p)) +- && !TREE_STATIC (DECL_EXPR_DECL (*expr_p)) +- && (DECL_INITIAL (DECL_EXPR_DECL (*expr_p)) == DECL_EXPR_DECL (*expr_p)) +- && !warn_init_self) +- suppress_warning (DECL_EXPR_DECL (*expr_p), OPT_Winit_self); +- break; +- + case PREINCREMENT_EXPR: + case PREDECREMENT_EXPR: + case POSTINCREMENT_EXPR: +diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc +index a21449bb83a4c..80f86c177fad3 100644 +--- a/gcc/c/c-parser.cc ++++ b/gcc/c/c-parser.cc +@@ -1513,7 +1513,7 @@ static struct c_arg_info *c_parser_parms_list_declarator (c_parser *, tree, + static struct c_parm *c_parser_parameter_declaration (c_parser *, tree, bool); + static tree c_parser_simple_asm_expr (c_parser *); + static tree c_parser_gnu_attributes (c_parser *); +-static struct c_expr c_parser_initializer (c_parser *); ++static struct c_expr c_parser_initializer (c_parser *, tree); + static struct c_expr c_parser_braced_init (c_parser *, tree, bool, + struct obstack *); + static void c_parser_initelt (c_parser *, struct obstack *); +@@ -2278,7 +2278,7 @@ c_parser_declaration_or_fndef (c_parser *parser, bool fndef_ok, + int flag_sanitize_save = flag_sanitize; + if (TREE_CODE (d) == PARM_DECL) + flag_sanitize = 0; +- init = c_parser_initializer (parser); ++ init = c_parser_initializer (parser, d); + flag_sanitize = flag_sanitize_save; + finish_init (); + } +@@ -5206,11 +5206,13 @@ c_parser_type_name (c_parser *parser, bool alignas_ok) + Any expression without commas is accepted in the syntax for the + constant-expressions, with non-constant expressions rejected later. + ++ DECL is the declaration we're parsing this initializer for. ++ + This function is only used for top-level initializers; for nested + ones, see c_parser_initval. */ + + static struct c_expr +-c_parser_initializer (c_parser *parser) ++c_parser_initializer (c_parser *parser, tree decl) + { + if (c_parser_next_token_is (parser, CPP_OPEN_BRACE)) + return c_parser_braced_init (parser, NULL_TREE, false, NULL); +@@ -5219,6 +5221,15 @@ c_parser_initializer (c_parser *parser) + struct c_expr ret; + location_t loc = c_parser_peek_token (parser)->location; + ret = c_parser_expr_no_commas (parser, NULL); ++ /* This is handled mostly by gimplify.cc, but we have to deal with ++ not warning about int x = x; as it is a GCC extension to turn off ++ this warning but only if warn_init_self is zero. */ ++ if (VAR_P (decl) ++ && !DECL_EXTERNAL (decl) ++ && !TREE_STATIC (decl) ++ && ret.value == decl ++ && !warn_init_self) ++ suppress_warning (decl, OPT_Winit_self); + if (TREE_CODE (ret.value) != STRING_CST + && TREE_CODE (ret.value) != COMPOUND_LITERAL_EXPR) + ret = convert_lvalue_to_rvalue (loc, ret, true, true); +@@ -22393,7 +22404,7 @@ c_parser_omp_declare_reduction (c_parser *parser, enum pragma_context context) + location_t loc = c_parser_peek_token (parser)->location; + rich_location richloc (line_table, loc); + start_init (omp_priv, NULL_TREE, 0, &richloc); +- struct c_expr init = c_parser_initializer (parser); ++ struct c_expr init = c_parser_initializer (parser, omp_priv); + finish_init (); + finish_decl (omp_priv, loc, init.value, + init.original_type, NULL_TREE); +diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc +index 64fba7fafac74..7569785988e29 100644 +--- a/gcc/cp/decl.cc ++++ b/gcc/cp/decl.cc +@@ -8240,6 +8240,14 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, + && !TYPE_REF_P (type)) + TREE_CONSTANT (decl) = 1; + } ++ /* This is handled mostly by gimplify.cc, but we have to deal with ++ not warning about int x = x; as it is a GCC extension to turn off ++ this warning but only if warn_init_self is zero. */ ++ if (!DECL_EXTERNAL (decl) ++ && !TREE_STATIC (decl) ++ && decl == tree_strip_any_location_wrapper (init) ++ && !warn_init_self) ++ suppress_warning (decl, OPT_Winit_self); + } + + if (flag_openmp +diff --git a/gcc/testsuite/c-c++-common/Winit-self1.c b/gcc/testsuite/c-c++-common/Winit-self1.c +new file mode 100644 +index 0000000000000..740b83b5e9f3d +--- /dev/null ++++ b/gcc/testsuite/c-c++-common/Winit-self1.c +@@ -0,0 +1,31 @@ ++/* PR middle-end/102633 */ ++/* { dg-do compile } */ ++/* { dg-options "-Wuninitialized -Wno-init-self" } */ ++ ++int ++fn1 (void) ++{ ++ int i = i; ++ return i; ++} ++ ++int ++fn2 () ++{ ++ const int j = j; ++ return j; ++} ++ ++int ++fn3 () ++{ ++ volatile int k = k; ++ return k; ++} ++ ++int ++fn4 () ++{ ++ const volatile int l = l; ++ return l; ++} +diff --git a/gcc/testsuite/c-c++-common/Winit-self2.c b/gcc/testsuite/c-c++-common/Winit-self2.c +new file mode 100644 +index 0000000000000..13aa9efdf2615 +--- /dev/null ++++ b/gcc/testsuite/c-c++-common/Winit-self2.c +@@ -0,0 +1,31 @@ ++/* PR middle-end/102633 */ ++/* { dg-do compile } */ ++/* { dg-options "-Wuninitialized -Winit-self" } */ ++ ++int ++fn1 (void) ++{ ++ int i = i; /* { dg-warning "used uninitialized" } */ ++ return i; ++} ++ ++int ++fn2 () ++{ ++ const int j = j; /* { dg-warning "used uninitialized" } */ ++ return j; ++} ++ ++int ++fn3 () ++{ ++ volatile int k = k; /* { dg-warning "used uninitialized" } */ ++ return k; ++} ++ ++int ++fn4 () ++{ ++ const volatile int l = l; /* { dg-warning "used uninitialized" } */ ++ return l; ++} + +From 732d744e82332e7cc269694197c0df2a3635730f Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek +Date: Mon, 16 Jan 2023 09:40:14 +0100 +Subject: [PATCH] c, c++: Allow ignoring -Winit-self through pragmas [PR105593] + +As mentioned in the PR, various x86 intrinsics need to return +an uninitialized vector. Currently they use self initialization +to avoid -Wuninitialized warnings, which works fine in C, but +doesn't work in C++ where -Winit-self is enabled in -Wall. +We don't have an attribute to mark a variable as knowingly +uninitialized (the uninitialized attribute exists but means +something else, only in the -ftrivial-auto-var-init context), +and trying to suppress either -Wuninitialized or -Winit-self +inside of the _mm_undefined_ps etc. intrinsic definitions +doesn't work, one needs to currently disable through pragmas +-Wuninitialized warning at the point where _mm_undefined_ps etc. +result is actually used, but that goes against the intent of +those intrinsics. + +The -Winit-self warning option actually doesn't do any warning, +all we do is record a suppression for -Winit-self if !warn_init_self +on the decl definition and later look that up in uninit pass. + +The following patch changes those !warn_init_self tests which +are true only based on the command line option setting, not based +on GCC diagnostic pragma overrides to +!warning_enabled_at (DECL_SOURCE_LOCATION (decl), OPT_Winit_self) +such that it takes them into account. + +2023-01-16 Jakub Jelinek + + PR c++/105593 +gcc/c/ + * c-parser.cc (c_parser_initializer): Check warning_enabled_at + at the DECL_SOURCE_LOCATION (decl) for OPT_Winit_self instead + of warn_init_self. +gcc/cp/ + * decl.cc (cp_finish_decl): Check warning_enabled_at + at the DECL_SOURCE_LOCATION (decl) for OPT_Winit_self instead + of warn_init_self. +gcc/testsuite/ + * c-c++-common/Winit-self3.c: New test. + * c-c++-common/Winit-self4.c: New test. + * c-c++-common/Winit-self5.c: New test. + +(cherry picked from commit 98b41fd4045b7856e7b85dd58d67c600bd909379) +--- + gcc/c/c-parser.cc | 2 +- + gcc/cp/decl.cc | 2 +- + gcc/testsuite/c-c++-common/Winit-self3.c | 36 ++++++++++++++++++++++++ + gcc/testsuite/c-c++-common/Winit-self4.c | 36 ++++++++++++++++++++++++ + gcc/testsuite/c-c++-common/Winit-self5.c | 36 ++++++++++++++++++++++++ + 5 files changed, 110 insertions(+), 2 deletions(-) + create mode 100644 gcc/testsuite/c-c++-common/Winit-self3.c + create mode 100644 gcc/testsuite/c-c++-common/Winit-self4.c + create mode 100644 gcc/testsuite/c-c++-common/Winit-self5.c + +diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc +index 80f86c177fad3..78a313fe31ef2 100644 +--- a/gcc/c/c-parser.cc ++++ b/gcc/c/c-parser.cc +@@ -5228,7 +5228,7 @@ c_parser_initializer (c_parser *parser, tree decl) + && !DECL_EXTERNAL (decl) + && !TREE_STATIC (decl) + && ret.value == decl +- && !warn_init_self) ++ && !warning_enabled_at (DECL_SOURCE_LOCATION (decl), OPT_Winit_self)) + suppress_warning (decl, OPT_Winit_self); + if (TREE_CODE (ret.value) != STRING_CST + && TREE_CODE (ret.value) != COMPOUND_LITERAL_EXPR) +diff --git a/gcc/cp/decl.cc b/gcc/cp/decl.cc +index 7569785988e29..fd1a1cbbf2cb0 100644 +--- a/gcc/cp/decl.cc ++++ b/gcc/cp/decl.cc +@@ -8246,7 +8246,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, + if (!DECL_EXTERNAL (decl) + && !TREE_STATIC (decl) + && decl == tree_strip_any_location_wrapper (init) +- && !warn_init_self) ++ && !warning_enabled_at (DECL_SOURCE_LOCATION (decl), OPT_Winit_self)) + suppress_warning (decl, OPT_Winit_self); + } + +diff --git a/gcc/testsuite/c-c++-common/Winit-self3.c b/gcc/testsuite/c-c++-common/Winit-self3.c +new file mode 100644 +index 0000000000000..b83135f193bdd +--- /dev/null ++++ b/gcc/testsuite/c-c++-common/Winit-self3.c +@@ -0,0 +1,36 @@ ++/* PR c++/105593 */ ++/* { dg-do compile } */ ++/* { dg-options "-W -Wall" } */ ++ ++void bar (int); ++ ++static inline int ++baz (void) ++{ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" ++ int u = u; /* { dg-bogus "'u' is used uninitialized" } */ ++#pragma GCC diagnostic pop ++ return u; ++} ++ ++void ++foo (void) ++{ ++ int u = baz (); ++ bar (u); ++} ++ ++static inline int ++qux (void) ++{ ++ int u = u; /* { dg-warning "'u' is used uninitialized" "" { target c++ } } */ ++ return u; /* { dg-message "'u' was declared here" "" { target c++ } .-1 } */ ++} ++ ++void ++corge (void) ++{ ++ int u = qux (); ++ bar (u); ++} +diff --git a/gcc/testsuite/c-c++-common/Winit-self4.c b/gcc/testsuite/c-c++-common/Winit-self4.c +new file mode 100644 +index 0000000000000..b38b7cc60b578 +--- /dev/null ++++ b/gcc/testsuite/c-c++-common/Winit-self4.c +@@ -0,0 +1,36 @@ ++/* PR c++/105593 */ ++/* { dg-do compile } */ ++/* { dg-options "-W -Wall -Winit-self" } */ ++ ++void bar (int); ++ ++static inline int ++baz (void) ++{ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" ++ int u = u; /* { dg-bogus "'u' is used uninitialized" } */ ++#pragma GCC diagnostic pop ++ return u; ++} ++ ++void ++foo (void) ++{ ++ int u = baz (); ++ bar (u); ++} ++ ++static inline int ++qux (void) ++{ ++ int u = u; /* { dg-warning "'u' is used uninitialized" } */ ++ return u; /* { dg-message "'u' was declared here" "" { target *-*-* } .-1 } */ ++} ++ ++void ++corge (void) ++{ ++ int u = qux (); ++ bar (u); ++} +diff --git a/gcc/testsuite/c-c++-common/Winit-self5.c b/gcc/testsuite/c-c++-common/Winit-self5.c +new file mode 100644 +index 0000000000000..db2d9a132194c +--- /dev/null ++++ b/gcc/testsuite/c-c++-common/Winit-self5.c +@@ -0,0 +1,36 @@ ++/* PR c++/105593 */ ++/* { dg-do compile } */ ++/* { dg-options "-W -Wall -Wno-init-self" } */ ++ ++void bar (int); ++ ++static inline int ++baz (void) ++{ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" ++ int u = u; /* { dg-bogus "'u' is used uninitialized" } */ ++#pragma GCC diagnostic pop ++ return u; ++} ++ ++void ++foo (void) ++{ ++ int u = baz (); ++ bar (u); ++} ++ ++static inline int ++qux (void) ++{ ++ int u = u; /* { dg-bogus "'u' is used uninitialized" } */ ++ return u; ++} ++ ++void ++corge (void) ++{ ++ int u = qux (); ++ bar (u); ++} diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch new file mode 100644 index 00000000000..5ab5363a7a4 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch @@ -0,0 +1,218 @@ +From 72af61b122127b112215d496d65c64cfdc56fce8 Mon Sep 17 00:00:00 2001 +From: Jakub Jelinek +Date: Mon, 16 Jan 2023 09:41:38 +0100 +Subject: [PATCH] x86: Avoid -Wuninitialized warnings on _mm*_undefined_* in + C++ [PR105593] + +In https://gcc.gnu.org/pipermail/gcc-patches/2023-January/609844.html +I've posted a patch to allow ignoring -Winit-self using GCC diagnostic +pragmas, such that one can mark self-initialization as intentional +disabling of -Wuninitialized warnings. + +The following incremental patch uses that in the x86 intrinsic +headers. + +2023-01-16 Jakub Jelinek + + PR c++/105593 +gcc/ + * config/i386/xmmintrin.h (_mm_undefined_ps): Temporarily + disable -Winit-self using pragma GCC diagnostic ignored. + * config/i386/emmintrin.h (_mm_undefined_pd, _mm_undefined_si128): + Likewise. + * config/i386/avxintrin.h (_mm256_undefined_pd, _mm256_undefined_ps, + _mm256_undefined_si256): Likewise. + * config/i386/avx512fintrin.h (_mm512_undefined_pd, + _mm512_undefined_ps, _mm512_undefined_epi32): Likewise. + * config/i386/avx512fp16intrin.h (_mm_undefined_ph, + _mm256_undefined_ph, _mm512_undefined_ph): Likewise. +gcc/testsuite/ + * g++.target/i386/pr105593.C: New test. + +(cherry picked from commit 6b0907b4fc455377e5f8109f427d97da02b6aec9) +--- + gcc/config/i386/avx512fintrin.h | 9 +++++++++ + gcc/config/i386/avx512fp16intrin.h | 9 +++++++++ + gcc/config/i386/avxintrin.h | 9 +++++++++ + gcc/config/i386/emmintrin.h | 6 ++++++ + gcc/config/i386/xmmintrin.h | 3 +++ + gcc/testsuite/g++.target/i386/pr105593.C | 20 ++++++++++++++++++++ + 6 files changed, 56 insertions(+) + create mode 100644 gcc/testsuite/g++.target/i386/pr105593.C + +diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h +index 77d6249c2bc50..24316c5a49572 100644 +--- a/gcc/config/i386/avx512fintrin.h ++++ b/gcc/config/i386/avx512fintrin.h +@@ -185,7 +185,10 @@ extern __inline __m512 + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm512_undefined_ps (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m512 __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +@@ -195,7 +198,10 @@ extern __inline __m512d + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm512_undefined_pd (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m512d __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +@@ -203,7 +209,10 @@ extern __inline __m512i + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm512_undefined_epi32 (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m512i __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +diff --git a/gcc/config/i386/avx512fp16intrin.h b/gcc/config/i386/avx512fp16intrin.h +index e43acaab12a11..b16ccfcb7f17c 100644 +--- a/gcc/config/i386/avx512fp16intrin.h ++++ b/gcc/config/i386/avx512fp16intrin.h +@@ -204,7 +204,10 @@ extern __inline __m128h + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm_undefined_ph (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m128h __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +@@ -212,7 +215,10 @@ extern __inline __m256h + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm256_undefined_ph (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m256h __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +@@ -220,7 +226,10 @@ extern __inline __m512h + __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) + _mm512_undefined_ph (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m512h __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +diff --git a/gcc/config/i386/avxintrin.h b/gcc/config/i386/avxintrin.h +index c76d600ee5ce9..d5aff7ddcfa59 100644 +--- a/gcc/config/i386/avxintrin.h ++++ b/gcc/config/i386/avxintrin.h +@@ -1207,21 +1207,30 @@ _mm256_movemask_ps (__m256 __A) + extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm256_undefined_pd (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m256d __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + + extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm256_undefined_ps (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m256 __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + + extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm256_undefined_si256 (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m256i __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h +index 654a8e8c9adba..069b1a193a20d 100644 +--- a/gcc/config/i386/emmintrin.h ++++ b/gcc/config/i386/emmintrin.h +@@ -99,7 +99,10 @@ _mm_setr_pd (double __W, double __X) + extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_undefined_pd (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m128d __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +@@ -785,7 +788,10 @@ _mm_move_epi64 (__m128i __A) + extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_undefined_si128 (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m128i __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h +index 626590806010e..f1c704a2d4325 100644 +--- a/gcc/config/i386/xmmintrin.h ++++ b/gcc/config/i386/xmmintrin.h +@@ -109,7 +109,10 @@ typedef float __v4sf __attribute__ ((__vector_size__ (16))); + extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_undefined_ps (void) + { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Winit-self" + __m128 __Y = __Y; ++#pragma GCC diagnostic pop + return __Y; + } + +diff --git a/gcc/testsuite/g++.target/i386/pr105593.C b/gcc/testsuite/g++.target/i386/pr105593.C +new file mode 100644 +index 0000000000000..3897f706bb11c +--- /dev/null ++++ b/gcc/testsuite/g++.target/i386/pr105593.C +@@ -0,0 +1,20 @@ ++// PR c++/105593 ++// { dg-do compile { target c++14 } } ++// { dg-options "-mavx512fp16 -W -Wall -O2" } ++ ++#include ++ ++auto f1 () { return _mm_undefined_pd (); } ++auto f2 () { return _mm_undefined_ps (); } ++auto f3 () { return _mm_undefined_si128 (); } ++auto f4 () { return _mm_undefined_ph (); } ++auto f5 () { return _mm256_undefined_pd (); } ++auto f6 () { return _mm256_undefined_ps (); } ++auto f7 () { return _mm256_undefined_si256 (); } ++auto f8 () { return _mm256_undefined_ph (); } ++auto f9 () { return _mm512_undefined_pd (); } ++auto f10 () { return _mm512_undefined_ps (); } ++auto f11 () { return _mm512_undefined_epi32 (); } ++auto f12 () { return _mm512_undefined_ph (); } ++ ++// { dg-bogus "is used uninitialized" "" { target *-*-* } 0 } diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-double-destruct.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-double-destruct.patch new file mode 100644 index 00000000000..55c77a2427d --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.1.0_fix-double-destruct.patch @@ -0,0 +1,195 @@ +Backport of upstream commit 7fae9873a74c7a5a62044bb6a4cde8e3ac1a5e5d (by Jason Merrill ) +Fixes a misoptimization in C++ where an object might get destroyed twice +when an exception is throw while it is returned. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112301 + +Author: Alexander Grund (TU Dresden) + +diff --git a/gcc/cp/except.cc b/gcc/cp/except.cc +index da0a65c613d..31138ebc75f 100644 +--- a/gcc/cp/except.cc ++++ b/gcc/cp/except.cc +@@ -1355,6 +1355,14 @@ maybe_splice_retval_cleanup (tree compound_stmt) + tsi_delink (&iter); + } + tree dtor = build_cleanup (retval); ++ if (!function_body) ++ { ++ /* Clear the sentinel so we don't try to destroy the retval again on ++ rethrow (c++/112301). */ ++ tree clear = build2 (MODIFY_EXPR, boolean_type_node, ++ current_retval_sentinel, boolean_false_node); ++ dtor = build2 (COMPOUND_EXPR, void_type_node, clear, dtor); ++ } + tree cond = build3 (COND_EXPR, void_type_node, current_retval_sentinel, + dtor, void_node); + tree cleanup = build_stmt (loc, CLEANUP_STMT, +diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc +index ab48f11c9be..3520360225c 100644 +--- a/gcc/cp/semantics.cc ++++ b/gcc/cp/semantics.cc +@@ -4817,6 +4817,7 @@ public: + tree var; + tree result; + hash_table > visited; ++ bool in_nrv_cleanup; + }; + + /* Helper function for walk_tree, used by finalize_nrv below. */ +@@ -4840,7 +4841,35 @@ finalize_nrv_r (tree* tp, int* walk_subtrees, void* data) + thrown. */ + else if (TREE_CODE (*tp) == CLEANUP_STMT + && CLEANUP_DECL (*tp) == dp->var) +- CLEANUP_EH_ONLY (*tp) = 1; ++ { ++ dp->in_nrv_cleanup = true; ++ cp_walk_tree (&CLEANUP_BODY (*tp), finalize_nrv_r, data, 0); ++ dp->in_nrv_cleanup = false; ++ cp_walk_tree (&CLEANUP_EXPR (*tp), finalize_nrv_r, data, 0); ++ *walk_subtrees = 0; ++ ++ CLEANUP_EH_ONLY (*tp) = true; ++ ++ /* If a cleanup might throw, we need to clear current_retval_sentinel on ++ the exception path so an outer cleanup added by ++ maybe_splice_retval_cleanup doesn't run. */ ++ if (cp_function_chain->throwing_cleanup) ++ { ++ tree clear = build2 (MODIFY_EXPR, boolean_type_node, ++ current_retval_sentinel, ++ boolean_false_node); ++ ++ /* We're already only on the EH path, just prepend it. */ ++ tree &exp = CLEANUP_EXPR (*tp); ++ exp = build2 (COMPOUND_EXPR, void_type_node, clear, exp); ++ } ++ } ++ /* Disable maybe_splice_retval_cleanup within the NRV cleanup scope, we don't ++ want to destroy the retval before the variable goes out of scope. */ ++ else if (TREE_CODE (*tp) == CLEANUP_STMT ++ && dp->in_nrv_cleanup ++ && CLEANUP_DECL (*tp) == dp->result) ++ CLEANUP_EXPR (*tp) = void_node; + /* Replace the DECL_EXPR for the NRV with an initialization of the + RESULT_DECL, if needed. */ + else if (TREE_CODE (*tp) == DECL_EXPR +@@ -4896,6 +4925,7 @@ finalize_nrv (tree *tp, tree var, tree result) + + data.var = var; + data.result = result; ++ data.in_nrv_cleanup = false; + cp_walk_tree (tp, finalize_nrv_r, &data, 0); + } + +diff --git a/gcc/testsuite/g++.dg/eh/return1.C b/gcc/testsuite/g++.dg/eh/return1.C +index ac2225405da..7224b2c162e 100644 +--- a/gcc/testsuite/g++.dg/eh/return1.C ++++ b/gcc/testsuite/g++.dg/eh/return1.C +@@ -16,13 +16,14 @@ extern "C" int printf (const char *, ...); + + struct X + { +- X(bool throws) : throws_(throws) { ++c; DEBUG; } +- X(const X& x); // not defined ++ X(bool throws) : i(-42), throws_(throws) { ++c; DEBUG; } ++ X(const X& x): i(x.i), throws_(x.throws_) { ++c; DEBUG; } + ~X() THROWS + { +- ++d; DEBUG; ++ i = ++d; DEBUG; + if (throws_) { throw 1; } + } ++ int i; + private: + bool throws_; + }; +@@ -54,6 +55,75 @@ X i() + return X(false); + } + ++// c++/112301 ++X i3() ++{ ++ try { ++ X x(true); ++ return X(false); ++ } catch(...) { throw; } ++} ++ ++X i4() ++{ ++ try { ++ X x(true); ++ X x2(false); ++ return x2; ++ } catch(...) { throw; } ++} ++ ++X i4a() ++{ ++ try { ++ X x2(false); ++ X x(true); ++ return x2; ++ } catch(...) { throw; } ++} ++ ++X i4b() ++{ ++ X x(true); ++ X x2(false); ++ return x2; ++} ++ ++X i4c() ++{ ++ X x2(false); ++ X x(true); ++ return x2; ++} ++ ++X i5() ++{ ++ X x2(false); ++ ++ try { ++ X x(true); ++ return x2; ++ } catch(...) { ++ if (x2.i != -42) ++ d += 42; ++ throw; ++ } ++} ++ ++X i6() ++{ ++ X x2(false); ++ ++ try { ++ X x(true); ++ return x2; ++ } catch(...) { ++ if (x2.i != -42) ++ d += 42; ++ } ++ return x2; ++} ++ + X j() + { + try { +@@ -92,6 +162,13 @@ int main() + + try { i(); } + catch (...) {} ++ try { i3(); } catch (...) {} ++ try { i4(); } catch (...) {} ++ try { i4a(); } catch (...) {} ++ try { i4b(); } catch (...) {} ++ try { i4c(); } catch (...) {} ++ try { i5(); } catch (...) {} ++ try { i6(); } catch (...) {} + + try { j(); } catch (...) {} + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb new file mode 100644 index 00000000000..50d5b1bcd9c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0.eb @@ -0,0 +1,81 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '12.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': '472b6e7.tar.gz', 'filename': 'nvptx-tools-20220610.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-12.1.0_allow-pragma-wself-init.patch', + 'GCCcore-12.1.0_fix-double-destruct.patch', + '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.2.0_improve-cuda-compatibility.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', +] +checksums = [ + {'gcc-12.2.0.tar.gz': 'ac6b317eb4d25444d87cf29c0d141dedc1323a1833ec9995211b13e1a851261c'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'mpc-1.2.1.tar.gz': '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'}, + {'isl-0.24.tar.bz2': 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'}, + {'newlib-4.1.0.tar.gz': 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154'}, + {'nvptx-tools-20220610.tar.gz': '53e7973af841935490b8a7b9e4d1331f775589b54e21f9921f18589183fb9997'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-12.1.0_allow-pragma-wself-init.patch': + '464f5faa9b23e805995d10dcdacca83df6321cac70826e9a3bc5bc9cd737f6a1'}, + {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, + {'GCCcore-12.1.0_fix-Wuninitialized-in-AVX-headers.patch': + '0ea675960795e238a43ae7d685a0082b21f0b63cf2fe499f6d55e89e0aaee392'}, + {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': + 'bb3db707727b9975b0005346ef04230a96b3ad896f004a34262a82a244b5d436'}, + {'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 = [ + ('M4', '1.4.19'), + ('binutils', '2.39'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-avx512-misoptimization.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-avx512-misoptimization.patch new file mode 100644 index 00000000000..04f468739d8 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-avx512-misoptimization.patch @@ -0,0 +1,25 @@ +Fix a typo causing inverted semantics when (even AVX2) code is compiled for AVX512 systems, e.g. via -march=native +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112443 where the changeset is from. + +diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md +index 2ce1aed4ad9..d7e058c2517 100644 +--- a/gcc/config/i386/sse.md ++++ b/gcc/config/i386/sse.md +@@ -16350,7 +16350,7 @@ + (match_dup 4))] + UNSPEC_BLENDV))] + { +- if (INTVAL (operands[5]) == 1) ++ if (INTVAL (operands[5]) == 5) + std::swap (operands[1], operands[2]); + operands[3] = gen_lowpart (mode, operands[3]); + }) +@@ -16380,7 +16380,7 @@ + (match_dup 4))] + UNSPEC_BLENDV))] + { +- if (INTVAL (operands[5]) == 1) ++ if (INTVAL (operands[5]) == 5) + std::swap (operands[1], operands[2]); + }) + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-vectorizer.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-vectorizer.patch new file mode 100644 index 00000000000..ba4e65259e4 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_fix-vectorizer.patch @@ -0,0 +1,137 @@ +From 9ed4a849afb5b18b462bea311e7eee454c2c9f68 Mon Sep 17 00:00:00 2001 +From: Richard Biener +Date: Fri, 14 Oct 2022 11:14:59 +0200 +Subject: [PATCH] tree-optimization/107254 - check and support live lanes from + permutes + +The following fixes an omission from adding SLP permute nodes which +is live lanes originating from those. We have to check that we +can extract the lane and have to actually code generate them. + + PR tree-optimization/107254 + * tree-vect-slp.cc (vect_slp_analyze_node_operations_1): + For permutes also analyze live lanes. + (vect_schedule_slp_node): For permutes also code generate + live lane extracts. + + * gfortran.dg/vect/pr107254.f90: New testcase. +--- + gcc/testsuite/gfortran.dg/vect/pr107254.f90 | 49 +++++++++++++++++++++ + gcc/tree-vect-slp.cc | 33 +++++++++++--- + 2 files changed, 77 insertions(+), 5 deletions(-) + create mode 100644 gcc/testsuite/gfortran.dg/vect/pr107254.f90 + +diff --git a/gcc/testsuite/gfortran.dg/vect/pr107254.f90 b/gcc/testsuite/gfortran.dg/vect/pr107254.f90 +new file mode 100644 +index 0000000000000..85bcb5f3fa2e3 +--- /dev/null ++++ b/gcc/testsuite/gfortran.dg/vect/pr107254.f90 +@@ -0,0 +1,49 @@ ++! { dg-do run } ++ ++subroutine dlartg( f, g, s, r ) ++ implicit none ++ double precision :: f, g, r, s ++ double precision :: d, p ++ ++ d = sqrt( f*f + g*g ) ++ p = 1.d0 / d ++ if( abs( f ) > 1 ) then ++ s = g*sign( p, f ) ++ r = sign( d, f ) ++ else ++ s = g*sign( p, f ) ++ r = sign( d, f ) ++ end if ++end subroutine ++ ++subroutine dhgeqz( n, h, t ) ++ implicit none ++ integer n ++ double precision h( n, * ), t( n, * ) ++ integer jc ++ double precision c, s, temp, temp2, tempr ++ temp2 = 10d0 ++ call dlartg( 10d0, temp2, s, tempr ) ++ c = 0.9d0 ++ s = 1.d0 ++ do jc = 1, n ++ temp = c*h( 1, jc ) + s*h( 2, jc ) ++ h( 2, jc ) = -s*h( 1, jc ) + c*h( 2, jc ) ++ h( 1, jc ) = temp ++ temp2 = c*t( 1, jc ) + s*t( 2, jc ) ++ t( 2, jc ) = -s*t( 1, jc ) + c*t( 2, jc ) ++ t( 1, jc ) = temp2 ++ enddo ++end subroutine dhgeqz ++ ++program test ++ implicit none ++ double precision h(2,2), t(2,2) ++ h = 0 ++ t(1,1) = 1 ++ t(2,1) = 0 ++ t(1,2) = 0 ++ t(2,2) = 0 ++ call dhgeqz( 2, h, t ) ++ if (t(2,2).ne.0) STOP 1 ++end program test +diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc +index 229f2663ebcc6..af27fd56e0242 100644 +--- a/gcc/tree-vect-slp.cc ++++ b/gcc/tree-vect-slp.cc +@@ -5930,7 +5930,23 @@ vect_slp_analyze_node_operations_1 (vec_info *vinfo, slp_tree node, + + /* Handle purely internal nodes. */ + if (SLP_TREE_CODE (node) == VEC_PERM_EXPR) +- return vectorizable_slp_permutation (vinfo, NULL, node, cost_vec); ++ { ++ if (!vectorizable_slp_permutation (vinfo, NULL, node, cost_vec)) ++ return false; ++ ++ stmt_vec_info slp_stmt_info; ++ unsigned int i; ++ FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, slp_stmt_info) ++ { ++ if (STMT_VINFO_LIVE_P (slp_stmt_info) ++ && !vectorizable_live_operation (vinfo, ++ slp_stmt_info, NULL, node, ++ node_instance, i, ++ false, cost_vec)) ++ return false; ++ } ++ return true; ++ } + + gcc_assert (STMT_SLP_TYPE (stmt_info) != loop_vect); + +@@ -8897,8 +8913,6 @@ vect_schedule_slp_node (vec_info *vinfo, + } + } + +- bool done_p = false; +- + /* Handle purely internal nodes. */ + if (SLP_TREE_CODE (node) == VEC_PERM_EXPR) + { +@@ -8909,9 +8923,18 @@ vect_schedule_slp_node (vec_info *vinfo, + but open-code it here (partly). */ + bool done = vectorizable_slp_permutation (vinfo, &si, node, NULL); + gcc_assert (done); +- done_p = true; ++ stmt_vec_info slp_stmt_info; ++ unsigned int i; ++ FOR_EACH_VEC_ELT (SLP_TREE_SCALAR_STMTS (node), i, slp_stmt_info) ++ if (STMT_VINFO_LIVE_P (slp_stmt_info)) ++ { ++ done = vectorizable_live_operation (vinfo, ++ slp_stmt_info, &si, node, ++ instance, i, true, NULL); ++ gcc_assert (done); ++ } + } +- if (!done_p) ++ else + vect_transform_stmt (vinfo, stmt_info, &si, node, instance); + } + diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_improve-cuda-compatibility.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_improve-cuda-compatibility.patch new file mode 100644 index 00000000000..c1538d09041 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.2.0_improve-cuda-compatibility.patch @@ -0,0 +1,20 @@ +The GCC stdlib uses a GCC feature not supported by nvcc until CUDA 12. +I.e. CUDA 12 does not support GCC 12 (only GCC <= 11) erroring at +> if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get)) + +As the same isn't supported by clang use the same fix. +See https://gcc.gnu.org/bugzilla//show_bug.cgi?id=104990 + +Author: Alexander Grund (TU Dresden) + +--- gcc-12.2.0-orig/libstdc++-v3/include/bits/locale_facets_nonio.tcc ++++ gcc-12.2.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc +@@ -1465,7 +1465,7 @@ + ctype<_CharT> const& __ctype = use_facet >(__loc); + __err = ios_base::goodbit; + bool __use_state = false; +-#if __GNUC__ >= 5 && !defined(__clang__) ++#if __GNUC__ >= 5 && !defined(__clang__) && (!defined(__CUDACC__) || (__CUDACC_VER_MAJOR__ >= 12)) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wpmf-conversions" + // Nasty hack. The C++ standard mandates that get invokes the do_get diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb new file mode 100644 index 00000000000..222f1b68dc8 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-12.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '12.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.2.0.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.3.0.20230120.tar.gz', + {'download_filename': '93e0090.tar.gz', 'filename': 'nvptx-tools-20230122.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + '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.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'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.3.0.20230120.tar.gz': '83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150'}, + {'nvptx-tools-20230122.tar.gz': 'af05fac26e9a83d337758a5495dc35f7a7bbfd90cd09f4a5d3242d059f235e08'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-12.1.0_fix-double-destruct.patch': '2e09c125318b6c15ec60f1807d77fb7d1f32b64a4e5d1c9a3da89ba2ca738d35'}, + {'GCCcore-12.2.0_fix-avx512-misoptimization.patch': + '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 = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' 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 new file mode 100644 index 00000000000..d44266b72bf --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.1.0.eb @@ -0,0 +1,73 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '13.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.2.0.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.3.0.20230120.tar.gz', + {'download_filename': '93e0090.tar.gz', 'filename': 'nvptx-tools-20230122.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + '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'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.3.0.20230120.tar.gz': '83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150'}, + {'nvptx-tools-20230122.tar.gz': 'af05fac26e9a83d337758a5495dc35f7a7bbfd90cd09f4a5d3242d059f235e08'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'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 = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2876160159d --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.2.0.eb @@ -0,0 +1,76 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '13.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.2.0.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.3.0.20230120.tar.gz', + {'download_filename': '2c6d503.tar.gz', 'filename': 'nvptx-tools-20230725.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + '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'}, + {'gmp-6.2.1.tar.bz2': 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'}, + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.3.0.20230120.tar.gz': '83a62a99af59e38eb9b0c58ed092ee24d700fff43a22c03e433955113ef35150'}, + {'nvptx-tools-20230725.tar.gz': '17ce1f2c64f09c6f1cb709e3af869bb90b0102c412f25da55f338e35bc74b2e2'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'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 = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' 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/GCCcore/GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb new file mode 100644 index 00000000000..77acc578454 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-13.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '13.3.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.3.0.tar.bz2', + 'mpfr-4.2.1.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.4.0.20231231.tar.gz', + {'download_filename': '9962793.tar.gz', 'filename': 'nvptx-tools-20240419.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-12.x_riscv_multiarch_support.patch', +] +checksums = [ + {'gcc-13.3.0.tar.gz': '3a2b10cab86e32358fdac871546d57e2700e9bdb5875ef33fff5b601265b9e32'}, + {'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, + {'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, + {'nvptx-tools-20240419.tar.gz': 'a4f65efe0ba960d75a18741faf2b93dbf51c2492a53b734d590ce5da4bd3f237'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, + {'GCCcore-12.x_riscv_multiarch_support.patch': '92fc2b17b6943611a657904500fbf3db8160eddbcea320828d4a50a885e2778f'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.42'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb new file mode 100644 index 00000000000..fc0025ce01c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.1.0.eb @@ -0,0 +1,63 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '14.1.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.3.0.tar.bz2', + 'mpfr-4.2.1.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.4.0.20231231.tar.gz', + {'download_filename': '9962793.tar.gz', 'filename': 'nvptx-tools-20240419.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', +] +checksums = [ + {'gcc-14.1.0.tar.gz': 'a0be066c02775002a0fa65ad3c65fb56a8bfd923d072a26ed148c0439ecdb68f'}, + {'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, + {'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, + {'nvptx-tools-20240419.tar.gz': 'a4f65efe0ba960d75a18741faf2b93dbf51c2492a53b734d590ce5da4bd3f237'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.42'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-14.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.2.0.eb new file mode 100644 index 00000000000..438a848145f --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-14.2.0.eb @@ -0,0 +1,63 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '14.2.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 + 'https://sourceware.org/pub/newlib/', # for newlib + 'https://github.com/MentorEmbedded/nvptx-tools/archive', # for nvptx-tools +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.3.0.tar.bz2', + 'mpfr-4.2.1.tar.bz2', + 'mpc-1.3.1.tar.gz', + 'isl-0.26.tar.bz2', + 'newlib-4.4.0.20231231.tar.gz', + {'download_filename': '3136cf9.tar.gz', 'filename': 'nvptx-tools-20240801.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', +] +checksums = [ + {'gcc-14.2.0.tar.gz': '7d376d445f93126dc545e2c0086d0f647c3094aae081cdb78f42ce2bc25e7293'}, + {'gmp-6.3.0.tar.bz2': 'ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'}, + {'mpfr-4.2.1.tar.bz2': 'b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'}, + {'mpc-1.3.1.tar.gz': 'ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'}, + {'isl-0.26.tar.bz2': '5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'}, + {'newlib-4.4.0.20231231.tar.gz': '0c166a39e1bf0951dfafcd68949fe0e4b6d3658081d6282f39aeefc6310f2f13'}, + {'nvptx-tools-20240801.tar.gz': 'a1106bf11b66d12e67194d8aa37196bb96996b614f44b3d3bc1b5854eefec03c'}, + {'GCCcore-6.2.0-fix-find-isl.patch': '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68'}, + {'GCCcore-9.3.0_gmp-c99.patch': '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e'}, +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.42'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb index d253c513a44..5b31a2f935b 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.3.0.eb @@ -17,10 +17,10 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] - sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.1.0.tar.bz2', @@ -28,22 +28,21 @@ sources = [ 'mpc-1.0.3.tar.gz', 'isl-0.15.tar.bz2', ] - patches = [('mpfr-%s-allpatches-20151029.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version)] +checksums = [ + 'b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db', # gcc-5.3.0.tar.bz2 + '498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8', # gmp-6.1.0.tar.bz2 + 'b87feae279e6da95a0b45eabdb04f3a35422dab0d30113d58a7803c0d73a79dc', # mpfr-3.1.3.tar.gz + '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz + '8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b', # isl-0.15.tar.bz2 + 'ccbe4044c12db40d9f85ae5fd2ed443a3b19b95c86ebef05c82f41509cf6d1b4', # mpfr-3.1.3-allpatches-20151029.patch +] builddependencies = [ ('binutils', '2.26'), ('M4', '1.4.17'), ] -checksums = [ - 'c9616fd448f980259c31de613e575719', # gcc-5.3.0.tar.bz2 - '86ee6e54ebfc4a90b643a65e402c4048', # gmp-6.1.0.tar.bz2 - '7b650781f0a7c4a62e9bc8bdaaa0018b', # mpfr-3.1.3.tar.gz - 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz - '8428efbbc6f6e2810ce5c1ba73ecf98c', # isl-0.15.tar.bz2 - '6476b450c3db177b2250f3549362380e', # mpfr-3.1.3-allpatches-20151029.patch -] languages = ['c', 'c++', 'fortran'] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.4.0.eb index 8a57a97c052..2d1a6ef5883 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.4.0.eb @@ -17,10 +17,10 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] - sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.1.0.tar.bz2', @@ -28,22 +28,21 @@ sources = [ 'mpc-1.0.3.tar.gz', 'isl-0.15.tar.bz2', ] - patches = [('mpfr-%s-allpatches-20160601.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version)] +checksums = [ + '608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a', # gcc-5.4.0.tar.bz2 + '498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8', # gmp-6.1.0.tar.bz2 + '0d4de7e1476f79d24c38d5bc04a06fcc9a1bb9cf35fd654ceada29af03ad1844', # mpfr-3.1.4.tar.gz + '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz + '8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b', # isl-0.15.tar.bz2 + '73816930b9d1324127e41096f0c82ba9a1e82502c3c8e7ed82915d9cbb1a1e40', # mpfr-3.1.4-allpatches-20160601.patch +] builddependencies = [ ('binutils', '2.26'), ('M4', '1.4.17'), ] -checksums = [ - '4c626ac2a83ef30dfb9260e6f59c2b30', # gcc-5.4.0.tar.bz2 - '86ee6e54ebfc4a90b643a65e402c4048', # gmp-6.1.0.tar.bz2 - '482ab3c120ffc959f631b4ba9ec59a46', # mpfr-3.1.4.tar.gz - 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz - '8428efbbc6f6e2810ce5c1ba73ecf98c', # isl-0.15.tar.bz2 - '22164533561142b70fda09af4e775acc', # mpfr-3.1.4-allpatches-20150603.patch -] languages = ['c', 'c++', 'fortran'] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.5.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.5.0.eb index 926ce1fdeff..4d483888f09 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-5.5.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.1.0.eb index e3852c98e80..4c776b97184 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.1.0.eb @@ -16,12 +16,12 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for GCC dependencies 'http://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror 'https://ftp.gnu.org/gnu/gcc/gcc-%(version)s/', # Alternative GCC + '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 ] - sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.1.1.tar.bz2', @@ -29,24 +29,25 @@ sources = [ 'mpc-1.0.3.tar.gz', 'isl-0.16.1.tar.bz2', ] - -builddependencies = [ - ('M4', '1.4.17'), - ('binutils', '2.27'), -] - patches = [ ('mpfr-%s-allpatches-20160804.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version), ('%s-%s_fix-find-isl.patch' % (name, version)), 'GCCcore-6.x-fix-ubsan.patch', ] - checksums = [ - '8fb6cb98b8459f5863328380fbf06bd1', # gcc-6.1.0.tar.bz2 - '4c175f86e11eb32d8bf9872ca3a8e11d', # gmp-6.1.1.tar.bz2 - 'b8a2f6b0e68bef46e53da2ac439e1cf4', # mpfr-3.1.4.tar.gz - 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz - 'ac1f25a0677912952718a51f5bc20f32', # isl-0.16.1.tar.bz2 + '09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351', # gcc-6.1.0.tar.bz2 + 'a8109865f2893f1373b0a8ed5ff7429de8db696fc451b1036bd7bdf95bbeffd6', # gmp-6.1.1.tar.bz2 + 'd3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775', # mpfr-3.1.4.tar.bz2 + '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz + '412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2', # isl-0.16.1.tar.bz2 + '919e0de301f557fc3be8db7652d611adcd339b450994b990b47f6c49d9fac181', # mpfr-3.1.4-allpatches-20160804.patch + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.1.0_fix-find-isl.patch + 'a021bdc9da72438475168639d71dcbd8953becef8230eabd46bc5719519c164e', # GCCcore-6.x-fix-ubsan.patch +] + +builddependencies = [ + ('M4', '1.4.17'), + ('binutils', '2.27'), ] languages = ['c', 'c++', 'fortran'] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.2.0.eb index 8a83c3b247d..2df660db490 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.2.0.eb @@ -17,10 +17,10 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] - sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.1.1.tar.bz2', @@ -28,24 +28,25 @@ sources = [ 'mpc-1.0.3.tar.gz', 'isl-0.16.1.tar.bz2', ] - -builddependencies = [ - ('M4', '1.4.17'), - ('binutils', '2.27'), -] - patches = [ ('mpfr-%s-allpatches-20160804.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version), '%(name)s-%(version)s-fix-find-isl.patch', 'GCCcore-6.x-fix-ubsan.patch', ] - checksums = [ - '9768625159663b300ae4de2f4745fcc4', # gcc-6.2.0.tar.bz2 - '4c175f86e11eb32d8bf9872ca3a8e11d', # gmp-6.1.1.tar.bz2 - 'b8a2f6b0e68bef46e53da2ac439e1cf4', # mpfr-3.1.4.tar.gz - 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz - 'ac1f25a0677912952718a51f5bc20f32', # isl-0.16.1.tar.bz2 + '9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5', # gcc-6.2.0.tar.bz2 + 'a8109865f2893f1373b0a8ed5ff7429de8db696fc451b1036bd7bdf95bbeffd6', # gmp-6.1.1.tar.bz2 + 'd3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775', # mpfr-3.1.4.tar.bz2 + '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz + '412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2', # isl-0.16.1.tar.bz2 + '919e0de301f557fc3be8db7652d611adcd339b450994b990b47f6c49d9fac181', # mpfr-3.1.4-allpatches-20160804.patch + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch + 'a021bdc9da72438475168639d71dcbd8953becef8230eabd46bc5719519c164e', # GCCcore-6.x-fix-ubsan.patch +] + +builddependencies = [ + ('M4', '1.4.17'), + ('binutils', '2.27'), ] languages = ['c', 'c++', 'fortran'] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.3.0.eb index dcc70c8436a..c9b568e3b7b 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.3.0.eb @@ -17,7 +17,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.4.0.eb index 67069b60574..62cb3dac487 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.4.0.eb @@ -21,7 +21,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP (no HTTPS) mirror for 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:// does not work here!) ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.5.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.5.0.eb index 53a05acc638..c11963512d7 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-6.5.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-6.5.0.eb @@ -22,7 +22,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.1.0.eb index a4b046b22c5..bf8045247a3 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.1.0.eb @@ -17,10 +17,10 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] - sources = [ 'gcc-%(version)s.tar.bz2', 'gmp-6.1.2.tar.bz2', @@ -28,23 +28,23 @@ sources = [ 'mpc-1.0.3.tar.gz', 'isl-0.16.1.tar.bz2', ] - -builddependencies = [ - ('M4', '1.4.18'), - ('binutils', '2.28'), -] - patches = [ ('mpfr-%s-allpatches-20161219.patch' % local_mpfr_version, '../mpfr-%s' % local_mpfr_version), 'GCCcore-6.2.0-fix-find-isl.patch', ] - checksums = [ - '6bf56a2bca9dac9dbbf8e8d1036964a8', # gcc-7.1.0.tar.bz2 - '8ddbb26dc3bd4e2302984debba1406a5', # gmp-6.1.2.tar.bz2 - 'b1d23a55588e3b2a13e3be66bc69fd8d', # mpfr-3.1.5.tar.gz - 'd6a1d5f8ddea3abd2cc3e98f58352d26', # mpc-1.0.3.tar.gz - 'ac1f25a0677912952718a51f5bc20f32', # isl-0.16.1.tar.bz2 + '8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17', # gcc-7.1.0.tar.bz2 + '5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2', # gmp-6.1.2.tar.bz2 + 'ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658', # mpfr-3.1.5.tar.bz2 + '617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3', # mpc-1.0.3.tar.gz + '412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2', # isl-0.16.1.tar.bz2 + '223001d1ef6e9a2c8275eb66c07670d2ea378a0b0082c60857ecc273d0ee44b7', # mpfr-3.1.5-allpatches-20161219.patch + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch +] + +builddependencies = [ + ('M4', '1.4.18'), + ('binutils', '2.28'), ] languages = ['c', 'c++', 'fortran'] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.2.0.eb index b23891e03ef..6aa77192675 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.2.0.eb @@ -17,7 +17,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.3.0.eb index d678689f563..237e121fc05 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.3.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.4.0.eb index 31499195016..e277b2e5c54 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-7.4.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'http://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'http://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb index c4d39070f95..13a5c03ec2f 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.1.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP (no HTTPS) mirror for 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:// does not work here!) ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb index 9ade6ff683a..141cc3d6fae 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.2.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP (no HTTPS) mirror for 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:// does not work here!) ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.3.0.eb index 37a04c23347..d61a2fae367 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.3.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.4.0.eb index b8fc3a2b366..5f2b82a3257 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-8.4.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.1.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.1.0.eb index 2b1aa9b12a7..549a8c7d14f 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.1.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ @@ -28,6 +29,8 @@ sources = [ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-8.3.0_fix-xsmin-ppc.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-9.x_fix-libsanitizer-cyclades.patch', ] checksums = [ 'be303f7a8292982a35381489f5a9178603cbe9a4715ee4fa4a815d6bcd2b658d', # gcc-9.1.0.tar.gz @@ -37,6 +40,8 @@ checksums = [ 'd18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859', # isl-0.21.tar.bz2 '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch 'bea1bce8f50ea6d51b038309eb61dec00a8681fb653d211c539be80f184609a3', # GCCcore-8.3.0_fix-xsmin-ppc.patch + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch + 'b48e48736062e64a6da7cbe7e21a6c1c89422d1f49ef547c73b479a3f3f4935f', # GCC-9.x_fix-libsanitizer-cyclades.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.2.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.2.0.eb index 5c1a4628db7..fbb4d77d076 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.2.0.eb @@ -17,7 +17,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 ] sources = [ @@ -31,6 +32,8 @@ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-8.3.0_fix-xsmin-ppc.patch', 'GCCcore-9.2.0-fix-glibc-2.31-libsanitizer.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-9.x_fix-libsanitizer-cyclades.patch', ] checksums = [ 'a931a750d6feadacbeecb321d73925cd5ebb6dfa7eff0802984af3aef63759f4', # gcc-9.2.0.tar.gz @@ -42,6 +45,8 @@ checksums = [ 'bea1bce8f50ea6d51b038309eb61dec00a8681fb653d211c539be80f184609a3', # GCCcore-8.3.0_fix-xsmin-ppc.patch # GCCcore-9.2.0-fix-glibc-2.31-libsanitizer.patch '459006b69e19ffdc3102ad78b81c124741faaac4c42b6117365314d908cb506f', + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch + 'b48e48736062e64a6da7cbe7e21a6c1c89422d1f49ef547c73b479a3f3f4935f', # GCC-9.x_fix-libsanitizer-cyclades.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.3.0.eb index a0037cc1561..b47467b1233 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.3.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 @@ -35,6 +36,8 @@ patches = [ 'GCCcore-%(version)s_gmp-c99.patch', 'GCCcore-%(version)s_vect_broadcasts_masmintel.patch', 'GCCcore-%(version)s_nvptx_sm_35_default.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', + 'GCC-9.x_fix-libsanitizer-cyclades.patch', ] checksums = [ '5258a9b6afe9463c2e56b9e8355b1a4bee125ca828b8078f910303bc2ef91fa6', # gcc-9.3.0.tar.gz @@ -49,10 +52,12 @@ checksums = [ '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch 'a32ac9c7d999a8b91bf93dba6a9d81b6ff58b3c89c425ff76090cbc90076685c', # GCCcore-9.3.0_vect_broadcasts_masmintel.patch '8d8b9834a570b5789d47296311953b6307d4427957a73e102de43cca7a6fa108', # GCCcore-9.3.0_nvptx_sm_35_default.patch + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch + 'b48e48736062e64a6da7cbe7e21a6c1c89422d1f49ef547c73b479a3f3f4935f', # GCC-9.x_fix-libsanitizer-cyclades.patch ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.34'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.4.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.4.0.eb index 814431d3215..17c3c74be73 100644 --- a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.4.0.eb @@ -15,7 +15,8 @@ source_urls = [ 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC 'ftp://gcc.gnu.org/pub/gcc/infrastructure/', # GCC dependencies - 'http://gcc.cybermirror.org/infrastructure/', # HTTP mirror for 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 @@ -32,6 +33,7 @@ sources = [ patches = [ 'GCCcore-6.2.0-fix-find-isl.patch', 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', ] checksums = [ '07ea650894cde75ab0f7cfbee0e69832c8a789b01efa2de3bfba7569338e24cb', # gcc-9.4.0.tar.gz @@ -43,10 +45,11 @@ checksums = [ '466abe1cef9cf294318ecb3c221593356f7a9e1674be987d576bc70d833d84a2', # nvptx-tools-20210115.tar.gz '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch ] builddependencies = [ - ('M4', '1.4.18'), + ('M4', '1.4.19'), ('binutils', '2.36.1'), ] diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.5.0.eb b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.5.0.eb new file mode 100644 index 00000000000..17ce889ff68 --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.5.0.eb @@ -0,0 +1,66 @@ +easyblock = 'EB_GCC' + +name = 'GCCcore' +version = '9.5.0' + +homepage = 'https://gcc.gnu.org/' +description = """The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, + as well as libraries for these languages (libstdc++, libgcj,...).""" + +toolchain = SYSTEM + +source_urls = [ + 'https://ftpmirror.gnu.org/gnu/gcc/gcc-%(version)s', # GCC auto-resolving HTTP mirror + 'https://sourceware.org/pub/gcc/releases/gcc-%(version)s', # fallback URL for GCC + 'https://ftpmirror.gnu.org/gnu/gmp', # idem for GMP + 'https://ftpmirror.gnu.org/gnu/mpfr', # idem for MPFR + 'https://ftpmirror.gnu.org/gnu/mpc', # idem for MPC + '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 +] +sources = [ + 'gcc-%(version)s.tar.gz', + 'gmp-6.2.1.tar.bz2', + 'mpfr-4.1.0.tar.bz2', + 'mpc-1.2.1.tar.gz', + 'isl-0.24.tar.bz2', + 'newlib-4.1.0.tar.gz', + {'download_filename': '7292758.tar.gz', 'filename': 'nvptx-tools-20220412.tar.gz'}, +] +patches = [ + 'GCCcore-6.2.0-fix-find-isl.patch', + 'GCCcore-9.3.0_gmp-c99.patch', + 'GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch', +] +checksums = [ + '15b34072105272a3eb37f6927409f7ce9aa0dd1498efebc35f851d6e6f029a4d', # gcc-9.5.0.tar.gz + 'eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c', # gmp-6.2.1.tar.bz2 + 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926', # mpfr-4.1.0.tar.bz2 + '17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459', # mpc-1.2.1.tar.gz + 'fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0', # isl-0.24.tar.bz2 + 'f296e372f51324224d387cc116dc37a6bd397198756746f93a2b02e9a5d40154', # newlib-4.1.0.tar.gz + '20e3c1eeae7f375c36455b6036c4801de16b854910ff54268bbd3346f3685080', # nvptx-tools-20220412.tar.gz + '5ad909606d17d851c6ad629b4fddb6c1621844218b8d139fed18c502a7696c68', # GCCcore-6.2.0-fix-find-isl.patch + '0e135e1cc7cec701beea9d7d17a61bab34cfd496b4b555930016b98db99f922e', # GCCcore-9.3.0_gmp-c99.patch + '03a2e4aeda78d398edd680d6a1ba842b8ceb29c126ebb7fe2e3541ddfe4fbed4', # GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch +] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +languages = ['c', 'c++', 'fortran'] + +withisl = True +withnvptx = True + +# Perl is only required when building with NVPTX support +if withnvptx: + osdependencies = ['perl'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch new file mode 100644 index 00000000000..411f035218c --- /dev/null +++ b/easybuild/easyconfigs/g/GCCcore/GCCcore-9.x-11.x_fix-unsigned-fpe-traps.patch @@ -0,0 +1,33 @@ +From 99b520f031c0e491d7e170916df11dd645d60617 Mon Sep 17 00:00:00 2001 +From: Andrew Pinski +Date: Thu, 29 Jul 2021 19:48:46 -0700 +Subject: [PATCH] Fix PR 101683: FP exceptions for float->unsigned + +Just like the old bug PR9651, unsigned_fix rtl should +also be handled as a trapping instruction. + +OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. + +gcc/ChangeLog: + + PR rtl-optimization/101683 + * rtlanal.c (may_trap_p_1): Handle UNSIGNED_FIX. +--- + gcc/rtlanal.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c +index 3b8d88afd4d..f7f3acb75db 100644 +--- a/gcc/rtlanal.c ++++ b/gcc/rtlanal.c +@@ -3261,6 +3261,7 @@ may_trap_p_1 (const_rtx x, unsigned flags) + break; + + case FIX: ++ case UNSIGNED_FIX: + /* Conversion of floating point might trap. */ + if (flag_trapping_math && HONOR_NANS (XEXP (x, 0))) + return 1; +-- +2.27.0 + diff --git a/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta-foss-2021b.eb b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta-foss-2021b.eb new file mode 100644 index 00000000000..4da0008b1b0 --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta-foss-2021b.eb @@ -0,0 +1,69 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakeMakeCp' + +name = 'GCTA' +version = '1.94.0beta' +_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': 'foss', 'version': '2021b'} + +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 = [ + '9220a6c40f31e3b1ce3d25f7eee3d8c62403bee8d6ed624bd8b61891badcb14f', # GCTA-1.94.0beta.tar.gz + 'a7c70c237d49d64fc1668ced373036c09b41d7c61d0b8b24b47e2fb76474455d', # plink-ng-3744540.tar.gz + '320a5d82d12cf453f1396b228723ac18dc98e32bc459394dd4d712fc16b24747', # GCTA-1.94.0beta_allow-BLAS-selection.patch + '643282a2e2c02fc683431b673a4623a498129870431481d33d33e19a509026ce', # GCTA-1.94.0beta_lapack-compatibility.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + # Eigen and SpectrA are header-only C++ libraries + ('Eigen', '3.4.0'), + ('SpectrA', '1.0.1'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('SQLite', '3.36'), + ('zstd', '1.5.0'), + ('GSL', '2.7'), + ('FlexiBLAS', '3.0.4'), +] + +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/GCTA/GCTA-1.94.0beta-gfbf-2022a.eb b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta-gfbf-2022a.eb new file mode 100644 index 00000000000..6ddc39e6bbb --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta-gfbf-2022a.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakeMakeCp' + +name = 'GCTA' +version = '1.94.0beta' +_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': '2022a'} + +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 = [ + '9220a6c40f31e3b1ce3d25f7eee3d8c62403bee8d6ed624bd8b61891badcb14f', # GCTA-1.94.0beta.tar.gz + 'a7c70c237d49d64fc1668ced373036c09b41d7c61d0b8b24b47e2fb76474455d', # plink-ng-3744540.tar.gz + '320a5d82d12cf453f1396b228723ac18dc98e32bc459394dd4d712fc16b24747', # GCTA-1.94.0beta_allow-BLAS-selection.patch + '643282a2e2c02fc683431b673a4623a498129870431481d33d33e19a509026ce', # GCTA-1.94.0beta_lapack-compatibility.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + # Eigen and SpectrA are header-only C++ libraries + ('Eigen', '3.4.0'), + ('SpectrA', '1.0.1'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('SQLite', '3.38.3'), + ('zstd', '1.5.2'), + ('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/GCTA/GCTA-1.94.0beta_allow-BLAS-selection.patch b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta_allow-BLAS-selection.patch new file mode 100644 index 00000000000..ce7441656cf --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta_allow-BLAS-selection.patch @@ -0,0 +1,218 @@ +Author: Jasper Grimm +Description: Allow selection of BLAS, instead of automatically enabling MKL or + OpenBLAS depending on system architecture. +------------------------------------------------------------------------------- +diff -Nru gcta-1.94.0beta.orig/CMakeLists.txt gcta-1.94.0beta/CMakeLists.txt +--- gcta-1.94.0beta.orig/CMakeLists.txt 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/CMakeLists.txt 2022-06-08 14:35:08.000000000 +0100 +@@ -63,15 +63,9 @@ + + + message(STATUS "ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECTURE}") +-if(CMAKE_LIBRARY_ARCHITECTURE STREQUAL "aarch64") +- SET(OPENBLAS "$ENV{OPENBLAS}") +- IF(NOT OPENBLAS) +- MESSAGE(FATAL_ERROR "Specify environment variable OPENBLAS to the location of OPENBLAS package") +- ENDIF() +- INCLUDE_DIRECTORIES("${OPENBLAS}/include") +- +- find_library(lib_openblas NAMES openblas PATHS "${OPENBLAS}" "${OPENBLAS}/lib") +- set(BLAS_LIB ${lib_openblas}) ++if(NOT USE_MKL) ++ INCLUDE_DIRECTORIES("$ENV{BLAS_INC_DIR}") ++ set(BLAS_LIB "$ENV{LIBBLAS}") + + if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -pthread") +diff -Nru gcta-1.94.0beta.orig/include/cpu_f77blas.h gcta-1.94.0beta/include/cpu_f77blas.h +--- gcta-1.94.0beta.orig/include/cpu_f77blas.h 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/include/cpu_f77blas.h 2022-06-08 14:35:08.000000000 +0100 +@@ -37,7 +37,7 @@ + #define GCTA_CPU_ARM 0 + #endif + +-#if GCTA_CPU_x86 ++#if USE_MKL + #ifndef EIGEN_USE_MKL_ALL + #define EIGEN_USE_MKL_ALL + #endif +diff -Nru gcta-1.94.0beta.orig/include/cpu.h gcta-1.94.0beta/include/cpu.h +--- gcta-1.94.0beta.orig/include/cpu.h 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/include/cpu.h 2022-06-08 14:35:08.000000000 +0100 +@@ -37,7 +37,7 @@ + #define GCTA_CPU_ARM 0 + #endif + +-#if GCTA_CPU_x86 ++#if USE_MKL + #ifndef EIGEN_USE_MKL_ALL + #define EIGEN_USE_MKL_ALL + #endif +diff -Nru gcta-1.94.0beta.orig/include/Matrix.hpp gcta-1.94.0beta/include/Matrix.hpp +--- gcta-1.94.0beta.orig/include/Matrix.hpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/include/Matrix.hpp 2022-06-08 14:35:08.000000000 +0100 +@@ -29,7 +29,7 @@ + int info, cols = (int)A.cols(); + char uplo = 'L'; + LOGGER.ts("LLT"); +-#if GCTA_CPU_x86 ++#if USE_MKL + dpotrf(&uplo, &cols, vi, &cols, &info); + #else + dpotrf_(&uplo, &cols, vi, &cols, &info); +@@ -38,7 +38,7 @@ + if(info == 0){ + logdet = A.diagonal().array().square().log().sum(); + //LOGGER.ts("LLT_INV"); +-#if GCTA_CPU_x86 ++#if USE_MKL + dpotri(&uplo, &cols, vi, &cols, &info); + #else + dpotri_(&uplo, &cols, vi, &cols, &info); +diff -Nru gcta-1.94.0beta.orig/main/mkl.cpp gcta-1.94.0beta/main/mkl.cpp +--- gcta-1.94.0beta.orig/main/mkl.cpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/main/mkl.cpp 2022-06-08 14:35:07.000000000 +0100 +@@ -362,7 +362,7 @@ + // MKL's Cholesky decomposition + int info = 0, int_n = (int) n; + char uplo = 'L'; +-#if GCTA_CPU_x86 ++#if USE_MKL + dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info); + #else + dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info); +@@ -383,7 +383,7 @@ + + //LOGGER << "start inverse" << endl; + // Calcualte V inverse +-#if GCTA_CPU_x86 ++#if USE_MKL + dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info); + #else + dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info); +@@ -428,7 +428,7 @@ + int LWORK = N*N; + double *WORK = new double[n * n]; + int INFO; +-#if GCTA_CPU_x86 ++#if USE_MKL + dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO); + #else + dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO); +@@ -447,7 +447,7 @@ + } + + // Calcualte V inverse +-#if GCTA_CPU_x86 ++#if USE_MKL + dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO); + #else + dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO); +@@ -490,7 +490,7 @@ + int LWORK = N*N; + double *WORK = new double[n * n]; + int INFO; +-#if GCTA_CPU_x86 ++#if USE_MKL + dgetrf(&N, &N, Vi_mkl, &N, IPIV, &INFO); + #else + dgetrf_(&N, &N, Vi_mkl, &N, IPIV, &INFO); +@@ -511,7 +511,7 @@ + } + + // Calcualte V inverse +-#if GCTA_CPU_x86 ++#if USE_MKL + dgetri(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO); + #else + dgetri_(&N, Vi_mkl, &N, IPIV, WORK, &LWORK, &INFO); +diff -Nru gcta-1.94.0beta.orig/src/FastFAM.cpp gcta-1.94.0beta/src/FastFAM.cpp +--- gcta-1.94.0beta.orig/src/FastFAM.cpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/src/FastFAM.cpp 2022-06-08 14:35:08.000000000 +0100 +@@ -22,7 +22,7 @@ + #include + #include + +-#if GCTA_CPU_x86 ++#if USE_MKL + #include + #endif + +@@ -1137,7 +1137,7 @@ + const double b1 = 0; + const double b2 = 1.0; + const int incr = 1; +-#if GCTA_CPU_x86 ++#if USE_MKL + dgemv(&nT, &num_covar, &numi_indi, &a1, H.data(), &num_covar, y.data(), &incr, &b1, Hy, &incr); + dgemv(&nT, &numi_indi, &num_covar, &a2, covar.data(), &numi_indi, Hy, &incr, &b2, y.data(), &incr); + #else +diff -Nru gcta-1.94.0beta.orig/src/GRM.cpp gcta-1.94.0beta/src/GRM.cpp +--- gcta-1.94.0beta.orig/src/GRM.cpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/src/GRM.cpp 2022-06-08 14:35:08.000000000 +0100 +@@ -972,20 +972,20 @@ + static char uplo='L'; + // A * At + if(part_keep_indices.first == 0){ +-#if GCTA_CPU_x86 ++#if USE_MKL + dsyrk(&uplo, ¬rans, &n, &curNumValidMarkers, &alpha, stdGeno, &n_sample, &beta, grm, &m); + #else + dsyrk_(&uplo, ¬rans, &n, &curNumValidMarkers, &alpha, stdGeno, &n_sample, &beta, grm, &m); + #endif + }else{ + //dgemm(¬rans, &trans, &m, &n, &num_marker, &alpha, stdGeno + part_keep_indices.first, &n_sample, stdGeno, &n_sample, &beta, grm, &m); +-#if GCTA_CPU_x86 ++#if USE_MKL + dgemm(¬rans, &trans, &m, &s_n, &curNumValidMarkers, &alpha, stdGeno + part_keep_indices.first, &n_sample, stdGeno, &n_sample, &beta, grm, &m); + #else + dgemm_(¬rans, &trans, &m, &s_n, &curNumValidMarkers, &alpha, stdGeno + part_keep_indices.first, &n_sample, stdGeno, &n_sample, &beta, grm, &m); + #endif + double * grm_start = grm + ((uint64_t)s_n) * m; +-#if GCTA_CPU_x86 ++#if USE_MKL + dsyrk(&uplo, ¬rans, &m, &curNumValidMarkers, &alpha, stdGeno + part_keep_indices.first, &n_sample, &beta, grm_start, &m); + #else + dsyrk_(&uplo, ¬rans, &m, &curNumValidMarkers, &alpha, stdGeno + part_keep_indices.first, &n_sample, &beta, grm_start, &m); +diff -Nru gcta-1.94.0beta.orig/src/LD.cpp gcta-1.94.0beta/src/LD.cpp +--- gcta-1.94.0beta.orig/src/LD.cpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/src/LD.cpp 2022-06-08 14:35:08.000000000 +0100 +@@ -62,7 +62,7 @@ + double alpha = 1.0 / (nr - 1); + double *ptr1 = geno_buffer[cacl_index_buffer].get(); + double *res1 = new double[nc1 * nc1]; +-#if GCTA_CPU_x86 ++#if USE_MKL + dsyrk(&uplo, &trans, &nc1, &nr, &alpha, ptr1, &nr, &zero, res1, &nc1); + #else + dsyrk_(&uplo, &trans, &nc1, &nr, &alpha, ptr1, &nr, &zero, res1, &nc1); +@@ -76,7 +76,7 @@ + nc2 = cur_buffer_offset[!cacl_index_buffer] / nr; + double *ptr2 = geno_buffer[!cacl_index_buffer].get(); + res2 = new double[nc2 * nc1]; +-#if GCTA_CPU_x86 ++#if USE_MKL + dgemm(&trans, ¬rans, &nc2, &nc1, &nr, &alpha, ptr2, &nr, ptr1, &nr, &zero, res2, &nc2); + #else + dgemm_(&trans, ¬rans, &nc2, &nc1, &nr, &alpha, ptr2, &nr, ptr1, &nr, &zero, res2, &nc2); +diff -Nru gcta-1.94.0beta.orig/src/StatLib.cpp gcta-1.94.0beta/src/StatLib.cpp +--- gcta-1.94.0beta.orig/src/StatLib.cpp 2022-06-08 14:30:39.000000000 +0100 ++++ gcta-1.94.0beta/src/StatLib.cpp 2022-06-08 14:35:08.000000000 +0100 +@@ -89,7 +89,7 @@ + int info = 0; + int lda = n; + int lwork = n; +-#if GCTA_CPU_x86 ++#if USE_MKL + dgeqrf(&n, &n, X, &lda, tau, work, &lwork, &info); + #else + dgeqrf_(&n, &n, X, &lda, tau, work, &lwork, &info); +@@ -113,7 +113,7 @@ + + char side = 'L'; + char t = 'N'; +-#if GCTA_CPU_x86 ++#if USE_MKL + dormqr(&side, &t, &n, &n, &n, X, &lda, tau, c, + &lda, work, &lwork, &info); + #else diff --git a/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta_lapack-compatibility.patch b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta_lapack-compatibility.patch new file mode 100644 index 00000000000..21590ee46f3 --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.0beta_lapack-compatibility.patch @@ -0,0 +1,157 @@ +Author: Jasper Grimm +Description: Update function names to be compatible with recent LAPACK +------------------------------------------------------------------------------- +diff -Nru gcta-1.94.0beta_p1/include/Matrix.hpp gcta-1.94.0beta_p2/include/Matrix.hpp +--- gcta-1.94.0beta_p1/include/Matrix.hpp 2022-06-08 14:48:52.000000000 +0100 ++++ gcta-1.94.0beta_p2/include/Matrix.hpp 2022-06-08 14:49:55.000000000 +0100 +@@ -32,7 +32,7 @@ + #if USE_MKL + dpotrf(&uplo, &cols, vi, &cols, &info); + #else +- dpotrf_(&uplo, &cols, vi, &cols, &info); ++ LAPACK_dpotrf(&uplo, &cols, vi, &cols, &info); + #endif + //LOGGER << " LLT time: " << LOGGER.tp("LLT") << std::endl; + if(info == 0){ +@@ -41,7 +41,7 @@ + #if USE_MKL + dpotri(&uplo, &cols, vi, &cols, &info); + #else +- dpotri_(&uplo, &cols, vi, &cols, &info); ++ LAPACK_dpotri(&uplo, &cols, vi, &cols, &info); + #endif + //LOGGER << " LLT inverse time: " << LOGGER.tp("LLT_INV") << std::endl; + if(info == 0){ +diff -Nru gcta-1.94.0beta_p1/main/mkl.cpp gcta-1.94.0beta_p2/main/mkl.cpp +--- gcta-1.94.0beta_p1/main/mkl.cpp 2022-06-08 14:48:52.000000000 +0100 ++++ gcta-1.94.0beta_p2/main/mkl.cpp 2022-06-08 14:49:54.000000000 +0100 +@@ -365,7 +365,7 @@ + #if USE_MKL + dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info); + #else +- dpotrf_(&uplo, &int_n, Vi_mkl, &int_n, &info); ++ LAPACK_dpotrf(&uplo, &int_n, Vi_mkl, &int_n, &info); + #endif + //LOGGER << "Finished decompose" << endl; + //spotrf( &uplo, &n, Vi_mkl, &n, &info ); +@@ -386,7 +386,7 @@ + #if USE_MKL + dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info); + #else +- dpotri_(&uplo, &int_n, Vi_mkl, &int_n, &info); ++ LAPACK_dpotri(&uplo, &int_n, Vi_mkl, &int_n, &info); + #endif + //LOGGER << "Inverse finished" << endl; + //spotri( &uplo, &n, Vi_mkl, &n, &info ); +diff -Nru gcta-1.94.0beta_p1/src/StatLib.cpp gcta-1.94.0beta_p2/src/StatLib.cpp +--- gcta-1.94.0beta_p1/src/StatLib.cpp 2022-06-08 14:48:52.000000000 +0100 ++++ gcta-1.94.0beta_p2/src/StatLib.cpp 2022-06-08 14:49:55.000000000 +0100 +@@ -117,7 +117,7 @@ + dormqr(&side, &t, &n, &n, &n, X, &lda, tau, c, + &lda, work, &lwork, &info); + #else +- dormqr_(&side, &t, &n, &n, &n, X, &lda, tau, c, ++ LAPACK_dormqr(&side, &t, &n, &n, &n, X, &lda, tau, c, + &lda, work, &lwork, &info); + #endif + if(info != 0){ +diff -Nru gcta-1.94.0beta_p1/submods/plink-ng/1.9/plink_matrix.c gcta-1.94.0beta_p2/submods/plink-ng/1.9/plink_matrix.c +--- gcta-1.94.0beta_p1/submods/plink-ng/1.9/plink_matrix.c 2022-06-08 14:45:46.000000000 +0100 ++++ gcta-1.94.0beta_p2/submods/plink-ng/1.9/plink_matrix.c 2022-06-08 14:49:47.000000000 +0100 +@@ -288,7 +288,7 @@ + } + #else // !NOLAPACK + int32_t invert_matrix(__CLPK_integer dim, double* matrix, MATRIX_INVERT_BUF1_TYPE* int_1d_buf, double* dbl_2d_buf) { +- // dgetrf_/dgetri_ is more efficient than dpotrf_/dpotri_ on OS X. ++ // dgetrf_/dgetri_ is more efficient than LAPACK_dpotrf/LAPACK_dpotri on OS X. + __CLPK_integer lwork = dim * dim; + __CLPK_integer info; + dgetrf_(&dim, &dim, matrix, &dim, int_1d_buf, &info); +diff -Nru gcta-1.94.0beta_p1/submods/plink-ng/2.0/plink2_matrix.cc gcta-1.94.0beta_p2/submods/plink-ng/2.0/plink2_matrix.cc +--- gcta-1.94.0beta_p1/submods/plink-ng/2.0/plink2_matrix.cc 2022-06-08 14:45:48.000000000 +0100 ++++ gcta-1.94.0beta_p2/submods/plink-ng/2.0/plink2_matrix.cc 2022-06-08 14:49:51.000000000 +0100 +@@ -110,7 +110,7 @@ + __CLPK_integer* lwork, __CLPK_integer* iwork, + __CLPK_integer* liwork, __CLPK_integer* info); + +- int dpotrf_(char* uplo, __CLPK_integer* n, __CLPK_doublereal* a, ++ int LAPACK_dpotrf(char* uplo, __CLPK_integer* n, __CLPK_doublereal* a, + __CLPK_integer* lda, __CLPK_integer* info); + + +@@ -118,7 +118,7 @@ + __CLPK_doublereal* a, __CLPK_integer* lda, __CLPK_doublereal* b, + __CLPK_integer* ldb, __CLPK_integer* info); + +- int dpotri_(char* uplo, __CLPK_integer* n, __CLPK_doublereal* a, ++ int LAPACK_dpotri(char* uplo, __CLPK_integer* n, __CLPK_doublereal* a, + __CLPK_integer* lda, __CLPK_integer* info); + + # ifndef USE_CBLAS_XGEMM +@@ -569,11 +569,11 @@ + BoolErr InvertSymmdefMatrix(__CLPK_integer dim, double* matrix, __maybe_unused MatrixInvertBuf1* int_1d_buf, __maybe_unused double* dbl_2d_buf) { + char uplo = 'U'; + __CLPK_integer info; +- dpotrf_(&uplo, &dim, matrix, &dim, &info); ++ LAPACK_dpotrf(&uplo, &dim, matrix, &dim, &info); + if (info) { + return 1; + } +- dpotri_(&uplo, &dim, matrix, &dim, &info); ++ LAPACK_dpotri(&uplo, &dim, matrix, &dim, &info); + assert(info == 0); + return 0; + } +@@ -583,7 +583,7 @@ + char uplo = 'U'; + double norm = dlansy_(&cc, &uplo, &dim, matrix, &dim, dbl_2d_buf); + __CLPK_integer info; +- dpotrf_(&uplo, &dim, matrix, &dim, &info); ++ LAPACK_dpotrf(&uplo, &dim, matrix, &dim, &info); + if (info > 0) { + return 1; + } +@@ -592,7 +592,7 @@ + if (rcond < kMatrixSingularRcond) { + return 1; + } +- dpotri_(&uplo, &dim, matrix, &dim, &info); ++ LAPACK_dpotri(&uplo, &dim, matrix, &dim, &info); + return 0; + } + +@@ -639,7 +639,7 @@ + char uplo = 'U'; + double norm = dlansy_(&cc, &uplo, &dim, half_inverted, &dim, dbl_2d_buf); + __CLPK_integer info; +- dpotrf_(&uplo, &dim, half_inverted, &dim, &info); ++ LAPACK_dpotrf(&uplo, &dim, half_inverted, &dim, &info); + if (info > 0) { + return 1; + } +@@ -667,7 +667,7 @@ + void InvertSymmdefFmatrixSecondHalf(__CLPK_integer dim, uint32_t stride, double* half_inverted, float* inverted_result, __maybe_unused MatrixInvertBuf1* int_1d_buf, __maybe_unused double* dbl_2d_buf) { + char uplo = 'U'; + __CLPK_integer info; +- dpotri_(&uplo, &dim, half_inverted, &dim, &info); ++ LAPACK_dpotri(&uplo, &dim, half_inverted, &dim, &info); + const double* read_row = half_inverted; + float* write_row = inverted_result; + for (uint32_t row_idx = 0; row_idx != S_CAST(uint32_t, dim); ++row_idx) { +@@ -1348,14 +1348,14 @@ + char uplo = 'U'; + __CLPK_integer tmp_n = predictor_ct; + __CLPK_integer info; +- dpotrf_(&uplo, &tmp_n, xtx_inv, &tmp_n, &info); ++ LAPACK_dpotrf(&uplo, &tmp_n, xtx_inv, &tmp_n, &info); + if (info) { + return 1; + } + memcpy(fitted_coefs_phenomaj, xt_y_phenomaj, predictor_ct * pheno_ct * sizeof(double)); + dpotrs_(&uplo, &tmp_n, &pheno_ct, xtx_inv, &tmp_n, fitted_coefs_phenomaj, &tmp_n, &info); + assert(!info); +- dpotri_(&uplo, &tmp_n, xtx_inv, &tmp_n, &info); ++ LAPACK_dpotri(&uplo, &tmp_n, xtx_inv, &tmp_n, &info); + return (info != 0); + } + #endif // !NOLAPACK diff --git a/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2022a.eb b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2022a.eb new file mode 100644 index 00000000000..3579318b3ca --- /dev/null +++ b/easybuild/easyconfigs/g/GCTA/GCTA-1.94.1-gfbf-2022a.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': '2022a'} + +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.23.1'), + # Eigen and SpectrA are header-only C++ libraries + ('Eigen', '3.4.0'), + ('SpectrA', '1.0.1'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('SQLite', '3.38.3'), + ('zstd', '1.5.2'), + ('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/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/GConf/GConf-3.2.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..10711489c57 --- /dev/null +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-10.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'GConf' +version = '3.2.6' + +homepage = 'https://developer.gnome.org/gconf/' +description = """GConf is a system for storing application preferences. + It is intended for user preferences; not configuration + of something like Apache, or arbitrary data storage.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +patches = [ + '%(name)s-%(version)s_call-dbus_g_thread_init.patch', + '%(name)s-%(version)s_fix_wrong_return_value.patch', + '%(name)s-%(version)s_gconf-path-max-hurd.patch', + '%(name)s-%(version)s_readd_gconf_engine_key_is_writable.patch', +] +checksums = [ + '1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', # GConf-3.2.6.tar.xz + 'ed55bff5bc239115ae27b8520a923ae0d5cab6cb15ca9921a8c23b939306489f', # GConf-3.2.6_call-dbus_g_thread_init.patch + 'f8f7745c3648953098eb56af0f64adc69d8c0b0e78c8db351746a2b4c58e8bb4', # GConf-3.2.6_fix_wrong_return_value.patch + 'ee5524c3cb985088bbe4884531ddc48ba22d2fced2a34865304c77e194a55bde', # GConf-3.2.6_gconf-path-max-hurd.patch + # GConf-3.2.6_readd_gconf_engine_key_is_writable.patch + 'b95dfc2f0474d9162fc686f26cd4d3da5c9b01a9c609dc0a4f2b2bd901d497f3', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('GObject-Introspection', '1.68.0'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('dbus-glib', '0.112'), + ('libxml2', '2.9.10'), + ('GTK3', '3.24.29'), + ('intltool', '0.51.0'), +] + +configopts = '--disable-orbit ' + +local_check_filelist = ['bin/gconf%s' % x for x in ['-merge-tree', 'tool-2']] +local_check_filelist += ['bin/gsettings-%s-convert' % x for x in ['data', 'schema']] +local_check_filelist += ['lib/libgconf-2.%s' % x for x in ['a', 'so']] + +sanity_check_paths = { + 'files': local_check_filelist, + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8145961cb31 --- /dev/null +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'GConf' +version = '3.2.6' + +# The homeage is no longer reachable! +# homepage = 'https://developer.gnome.org/gconf/' +# The project was depricated with the move to Gnome-3 +# Possible alternative, although 6 years old: +homepage = 'https://gitlab.gnome.org/iainl/gconf' +description = """GConf is a system for storing application preferences. + It is intended for user preferences; not configuration + of something like Apache, or arbitrary data storage.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +patches = [ + '%(name)s-%(version)s_call-dbus_g_thread_init.patch', + '%(name)s-%(version)s_fix_wrong_return_value.patch', + '%(name)s-%(version)s_gconf-path-max-hurd.patch', + '%(name)s-%(version)s_readd_gconf_engine_key_is_writable.patch', +] +checksums = [ + '1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', # GConf-3.2.6.tar.xz + 'ed55bff5bc239115ae27b8520a923ae0d5cab6cb15ca9921a8c23b939306489f', # GConf-3.2.6_call-dbus_g_thread_init.patch + 'f8f7745c3648953098eb56af0f64adc69d8c0b0e78c8db351746a2b4c58e8bb4', # GConf-3.2.6_fix_wrong_return_value.patch + 'ee5524c3cb985088bbe4884531ddc48ba22d2fced2a34865304c77e194a55bde', # GConf-3.2.6_gconf-path-max-hurd.patch + # GConf-3.2.6_readd_gconf_engine_key_is_writable.patch + 'b95dfc2f0474d9162fc686f26cd4d3da5c9b01a9c609dc0a4f2b2bd901d497f3', +] + +builddependencies = [ + ('binutils', '2.37'), + ('GObject-Introspection', '1.68.0'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('dbus-glib', '0.112'), + ('libxml2', '2.9.10'), + ('GTK3', '3.24.31'), + ('intltool', '0.51.0'), +] + +configopts = '--disable-orbit ' + +local_check_filelist = ['bin/gconf%s' % x for x in ['-merge-tree', 'tool-2']] +local_check_filelist += ['bin/gsettings-%s-convert' % x for x in ['data', 'schema']] +local_check_filelist += ['lib/libgconf-2.%s' % x for x in ['a', 'so']] + +sanity_check_paths = { + 'files': local_check_filelist, + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..29f16349867 --- /dev/null +++ b/easybuild/easyconfigs/g/GConf/GConf-3.2.6-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'GConf' +version = '3.2.6' + +# The homeage is no longer reachable! +# homepage = 'https://developer.gnome.org/gconf/' +# The project was depricated with the move to Gnome-3 +# Possible alternative, although 6 years old: +homepage = 'https://gitlab.gnome.org/iainl/gconf' +description = """GConf is a system for storing application preferences. + It is intended for user preferences; not configuration + of something like Apache, or arbitrary data storage.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/GConf/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +patches = [ + '%(name)s-%(version)s_call-dbus_g_thread_init.patch', + '%(name)s-%(version)s_fix_wrong_return_value.patch', + '%(name)s-%(version)s_gconf-path-max-hurd.patch', + '%(name)s-%(version)s_readd_gconf_engine_key_is_writable.patch', +] +checksums = [ + '1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c', # GConf-3.2.6.tar.xz + 'ed55bff5bc239115ae27b8520a923ae0d5cab6cb15ca9921a8c23b939306489f', # GConf-3.2.6_call-dbus_g_thread_init.patch + 'f8f7745c3648953098eb56af0f64adc69d8c0b0e78c8db351746a2b4c58e8bb4', # GConf-3.2.6_fix_wrong_return_value.patch + 'ee5524c3cb985088bbe4884531ddc48ba22d2fced2a34865304c77e194a55bde', # GConf-3.2.6_gconf-path-max-hurd.patch + # GConf-3.2.6_readd_gconf_engine_key_is_writable.patch + 'b95dfc2f0474d9162fc686f26cd4d3da5c9b01a9c609dc0a4f2b2bd901d497f3', +] + +builddependencies = [ + ('binutils', '2.38'), + ('GObject-Introspection', '1.72.0'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('dbus-glib', '0.112'), + ('libxml2', '2.9.13'), + ('GTK3', '3.24.33'), + ('intltool', '0.51.0'), +] + +configopts = '--disable-orbit ' + +local_check_filelist = ['bin/gconf%s' % x for x in ['-merge-tree', 'tool-2']] +local_check_filelist += ['bin/gsettings-%s-convert' % x for x in ['data', 'schema']] +local_check_filelist += ['lib/libgconf-2.%s' % x for x in ['a', 'so']] + +sanity_check_paths = { + 'files': local_check_filelist, + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' 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 new file mode 100644 index 00000000000..d796bd89fa9 --- /dev/null +++ b/easybuild/easyconfigs/g/GD/GD-2.73-GCCcore-10.3.0.eb @@ -0,0 +1,57 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester (The Francis Crick Insitute, London, UK) +# Update to v2.71: Alex Domingo (Vrije Universiteit Brussel) +# Update to v2.73: Sebastien Moretti (SIB Swiss Institute of Bioinformatics) +# + +easyblock = 'Bundle' + +name = 'GD' +version = '2.73' + +homepage = 'https://github.com/lstein/Perl-GD' +description = """GD.pm - Interface to Gd Graphics Library""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('X11', '20210518'), + ('libgd', '2.3.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('ExtUtils::PkgConfig', '1.16', { + 'source_tmpl': 'ExtUtils-PkgConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + (name, version, { + 'source_tmpl': 'release_%(version_major)s_%(version_minor)s.tar.gz', + 'source_urls': ['https://github.com/lstein/Perl-GD/archive/'], + 'checksums': ['55a666ef35588eeb89bea6936a335b711f9356c9c1b737bea164fb8d1b15061f'], + }), +] + +sanity_check_paths = { + '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 = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +moduleclass = 'bio' 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 new file mode 100644 index 00000000000..fa02d657bb3 --- /dev/null +++ b/easybuild/easyconfigs/g/GD/GD-2.75-GCCcore-11.3.0.eb @@ -0,0 +1,57 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester (The Francis Crick Insitute, London, UK) +# Update to v2.71: Alex Domingo (Vrije Universiteit Brussel) +# Update to v2.73: Sebastien Moretti (SIB Swiss Institute of Bioinformatics) +# + +easyblock = 'Bundle' + +name = 'GD' +version = '2.75' + +homepage = 'https://github.com/lstein/Perl-GD' +description = """GD.pm - Interface to Gd Graphics Library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('X11', '20220504'), + ('libgd', '2.3.3'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('ExtUtils::PkgConfig', '1.16', { + 'source_tmpl': 'ExtUtils-PkgConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + (name, version, { + 'source_tmpl': 'release_%(version_major)s_%(version_minor)s.tar.gz', + 'source_urls': ['https://github.com/lstein/Perl-GD/archive/'], + 'checksums': ['b82ca67fa67446f16ee7ba8bccee2062644816a83cb2ee4e4de2fa3ee8ab359d'], + }), +] + +sanity_check_paths = { + '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 = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +moduleclass = 'bio' 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-2.4.4-foss-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-foss-2021b.eb new file mode 100644 index 00000000000..0546c798085 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-foss-2021b.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.4.4' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'extra_cxxflags': "-fpermissive"} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + 'GDAL-3.0.0_fix-python-CC-CXX.patch', + 'GDAL-2.4.4_fix-include-limits.patch', +] +checksums = [ + {'gdal-2.4.4.tar.xz': 'a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8'}, + {'GDAL-3.0.0_fix-python-CC-CXX.patch': '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381'}, + {'GDAL-2.4.4_fix-include-limits.patch': 'f8d9f74dabc1167a88d41f5c715d9d9b098016c94eec0339b2f6f8dfe3c05deb'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('netCDF', '4.8.1'), + ('expat', '2.4.1'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HDF', '4.2.15'), +] + +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb new file mode 100644 index 00000000000..4f817551b4a --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4-intel-2021b.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '2.4.4' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'extra_cxxflags': "-fpermissive"} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + 'GDAL-3.0.0_fix-python-CC-CXX.patch', + 'GDAL-2.4.4_fix-include-limits.patch', +] +checksums = [ + {'gdal-2.4.4.tar.xz': 'a383bd3cf555d6e1169666b01b5b3025b2722ed39e834f1b65090f604405dcd8'}, + {'GDAL-3.0.0_fix-python-CC-CXX.patch': '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381'}, + {'GDAL-2.4.4_fix-include-limits.patch': 'f8d9f74dabc1167a88d41f5c715d9d9b098016c94eec0339b2f6f8dfe3c05deb'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('netCDF', '4.8.1'), + ('expat', '2.4.1'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HDF', '4.2.15'), +] + +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +prebuildopts = 'env LDSHARED="$CC -shared" ' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch new file mode 100644 index 00000000000..9734b37c312 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-2.4.4_fix-include-limits.patch @@ -0,0 +1,13 @@ +add missing include statement for limits header file +fixes "error: numeric_limits is not a member of std" +author: Kenneth Hoste (HPC-UGent) +--- /tmp/vsc40023/easybuild_build/GDAL/2.4.4/foss-2021b/gdal-2.4.4/ogr/ogrsf_frmts/cad/libopencad/dwg/r2000.cpp.orig 2023-01-11 17:38:21.326828174 +0100 ++++ /tmp/vsc40023/easybuild_build/GDAL/2.4.4/foss-2021b/gdal-2.4.4/ogr/ogrsf_frmts/cad/libopencad/dwg/r2000.cpp 2023-01-11 17:38:36.009850820 +0100 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #if ((defined(__sun__) || defined(__FreeBSD__)) && __GNUC__ == 4 && __GNUC_MINOR__ == 8) || defined(__ANDROID__) + // gcc 4.8 on Solaris 11.3 or FreeBSD 11 doesn't have std::string 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 4b4c7fecd75..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 @@ -42,13 +42,13 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +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=$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 4ee0696bbbf..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 @@ -42,13 +42,13 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +preconfigopts = r"sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' configopts += ' --without-hdf4 --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' prebuildopts = 'export LDSHARED="$CC -shared" && ' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb index ea56b033afc..2484b33b3cd 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-foss-2020b.eb @@ -20,6 +20,10 @@ checksums = [ '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381', # GDAL-3.0.0_fix-python-CC-CXX.patch ] +builddependencies = [ + ('pkg-config', '0.29.2'), +] + dependencies = [ ('Python', '3.8.6'), ('netCDF', '4.7.4'), @@ -33,7 +37,7 @@ dependencies = [ ('LibTIFF', '4.1.0'), ('zlib', '1.2.11'), ('cURL', '7.72.0'), - ('PCRE2', '10.35'), + ('PCRE', '8.44'), ('PROJ', '7.2.1'), ('libgeotiff', '1.6.0'), ('SciPy-bundle', '2020.11'), @@ -41,12 +45,12 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE2 --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb index efb8bd1d9a8..a2b483559ef 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-fosscuda-2020b.eb @@ -20,6 +20,10 @@ checksums = [ '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381', # GDAL-3.0.0_fix-python-CC-CXX.patch ] +builddependencies = [ + ('pkg-config', '0.29.2'), +] + dependencies = [ ('Python', '3.8.6'), ('netCDF', '4.7.4'), @@ -33,7 +37,7 @@ dependencies = [ ('LibTIFF', '4.1.0'), ('zlib', '1.2.11'), ('cURL', '7.72.0'), - ('PCRE2', '10.35'), + ('PCRE', '8.44'), ('PROJ', '7.2.1'), ('libgeotiff', '1.6.0'), ('SciPy-bundle', '2020.11'), @@ -41,12 +45,12 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE2 --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb index f41af638de0..1168e3faf6c 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.2.1-intel-2020b.eb @@ -24,6 +24,10 @@ checksums = [ 'fdf6a84d16141ccc9bc4ce98a762357ba374dea87d1f2a41a1a23be80b7ca69d', # GDAL-3.2.1_cpp-conformance.patch ] +builddependencies = [ + ('pkg-config', '0.29.2'), +] + dependencies = [ ('Python', '3.8.6'), ('netCDF', '4.7.4'), @@ -37,7 +41,7 @@ dependencies = [ ('LibTIFF', '4.1.0'), ('zlib', '1.2.11'), ('cURL', '7.72.0'), - ('PCRE2', '10.35'), + ('PCRE', '8.44'), ('PROJ', '7.2.1'), ('libgeotiff', '1.6.0'), ('SciPy-bundle', '2020.11'), @@ -45,12 +49,12 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE2 --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' prebuildopts = "env LDSHARED='icc -shared' " diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb index dd20522630b..4a7a24c3204 100644 --- a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.0-foss-2021a.eb @@ -37,7 +37,7 @@ dependencies = [ ('LibTIFF', '4.2.0'), ('zlib', '1.2.11'), ('cURL', '7.76.0'), - ('PCRE2', '10.36'), + ('PCRE', '8.44'), ('PROJ', '8.0.1'), ('libgeotiff', '1.6.0'), ('SciPy-bundle', '2021.05'), @@ -45,12 +45,12 @@ dependencies = [ ('HDF', '4.2.15'), ] -preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE2 --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb new file mode 100644 index 00000000000..5634a3d1021 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.3.2-foss-2021b.eb @@ -0,0 +1,65 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '3.3.2' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GDAL-3.0.0_fix-python-CC-CXX.patch'] +checksums = [ + '630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3', # gdal-3.3.2.tar.xz + '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381', # GDAL-3.0.0_fix-python-CC-CXX.patch +] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('netCDF', '4.8.1'), + ('expat', '2.4.1'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HDF', '4.2.15'), +] + +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-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..e251ec038b9 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.5.0-foss-2022a.eb @@ -0,0 +1,67 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '3.5.0' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GDAL-3.0.0_fix-python-CC-CXX.patch'] +checksums = [ + 'd49121e5348a51659807be4fb866aa840f8dbec4d1acba6d17fdefa72125bfc9', # gdal-3.5.0.tar.xz + '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381', # GDAL-3.0.0_fix-python-CC-CXX.patch +] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('netCDF', '4.9.0'), + ('expat', '2.4.8'), + ('GEOS', '3.10.3'), + ('SQLite', '3.38.3'), + ('libxml2', '2.9.13'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.12'), + ('cURL', '7.83.0'), + ('PCRE', '8.45'), + ('PROJ', '9.0.0'), + ('libgeotiff', '1.7.1'), + ('SciPy-bundle', '2022.05'), + ('HDF5', '1.12.2'), + ('HDF', '4.2.15'), + ('OpenJPEG', '2.5.0'), +] + +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' +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 = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..576d90e74d6 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2-foss-2022b.eb @@ -0,0 +1,81 @@ +easyblock = 'CMakeMake' + +name = 'GDAL' +version = '3.6.2' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GDAL-3.6.2_fix-python-CC-CXX.patch'] +checksums = [ + {'gdal-3.6.2.tar.xz': '35f40d2e08061b342513cdcddc2b997b3814ef8254514f0ef1e8bc7aa56cf681'}, + {'GDAL-3.6.2_fix-python-CC-CXX.patch': '859b874b0c8ff7626a76d51f008bf05b7f89a35b325bdd1d126d2364154acc63'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('netCDF', '4.9.0'), + ('expat', '2.4.9'), + ('GEOS', '3.11.1'), + ('SQLite', '3.39.4'), + ('libxml2', '2.10.3'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('LibTIFF', '4.4.0'), + ('zlib', '1.2.12'), + ('cURL', '7.86.0'), + ('PCRE', '8.45'), + ('PROJ', '9.1.1'), + ('libgeotiff', '1.7.1'), + ('SciPy-bundle', '2023.02'), + ('HDF5', '1.14.0'), + ('HDF', '4.2.15'), + ('Armadillo', '11.4.3'), + ('CFITSIO', '4.2.0'), + ('zstd', '1.5.2'), + ('giflib', '5.2.1'), + ('json-c', '0.16'), + ('Xerces-C++', '3.2.4'), + ('PCRE2', '10.40'), + ('OpenEXR', '3.1.5'), + ('Brunsli', '0.1'), + ('Qhull', '2020.2'), + ('LERC', '4.0.0'), + ('OpenJPEG', '2.5.0'), +] + +# common configopts for static, shared library builds +_base_configopts = ' '.join([ + '-DGDAL_USE_INTERNAL_LIBS=OFF', + '-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include', + '-DPython_ROOT=$EBROOTPYTHON', + '-DGDAL_USE_MYSQL=OFF', +]) + +# iterative build for both static and shared libraries +configopts = [' '.join([_base_configopts, x]) for x in ['-DBUILD_SHARED_LIBS=OFF', '']] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch new file mode 100644 index 00000000000..58528a793e6 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.6.2_fix-python-CC-CXX.patch @@ -0,0 +1,18 @@ +to ensure that correct compiler commands are used +Kenneth Hoste (HPC-UGent), updated for v3.6.2 by Jasper Grimm (UoY) +diff -ruN gdal-3.6.2.orig/swig/python/setup.py.in gdal-3.6.2/swig/python/setup.py.in +--- gdal-3.6.2.orig/swig/python/setup.py.in 2023-01-24 10:50:11.000000000 +0000 ++++ gdal-3.6.2/swig/python/setup.py.in 2023-01-02 14:38:17.000000000 +0000 +@@ -16,6 +16,12 @@ + from setuptools import find_packages + from setuptools import Extension + ++for key in ['CC', 'CXX']: ++ seqkey = '%s_SEQ' % key ++ if seqkey in os.environ: ++ os.environ[key] = os.environ[seqkey] ++ print('$%s set to %s (via $%s)' % (key, os.environ[key], seqkey)) ++ + # If CXX is defined in the environment, it will be used to link the .so + # but setuptools will be confused if it is made of several words like 'ccache g++' + # and it will try to use only the first word. 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 new file mode 100644 index 00000000000..88e35cd4db4 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.7.1-foss-2023a.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'GDAL' +version = '3.7.1' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/%(namelower)s/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['%(name)s-3.6.2_fix-python-CC-CXX.patch'] + +checksums = [ + {'gdal-3.7.1.tar.xz': '9297948f0a8ba9e6369cd50e87c7e2442eda95336b94d2b92ef1829d260b9a06'}, + {'GDAL-3.6.2_fix-python-CC-CXX.patch': '859b874b0c8ff7626a76d51f008bf05b7f89a35b325bdd1d126d2364154acc63'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('Bison', '3.8.2'), +] +dependencies = [ + ('Python', '3.11.3'), + ('netCDF', '4.9.2'), + ('expat', '2.5.0'), + ('GEOS', '3.12.0'), + ('SQLite', '3.42.0'), + ('libarchive', '3.6.2'), + ('libxml2', '2.11.4'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('zlib', '1.2.13'), + ('cURL', '8.0.1'), + ('PCRE', '8.45'), + ('PROJ', '9.2.0'), + ('libgeotiff', '1.7.1'), + ('SciPy-bundle', '2023.07'), + ('HDF5', '1.14.0'), + ('HDF', '4.2.16-2'), + ('Armadillo', '12.6.2'), + ('CFITSIO', '4.3.0'), + ('zstd', '1.5.5'), + ('giflib', '5.2.1'), + ('json-c', '0.16'), + ('Xerces-C++', '3.2.4'), + ('PCRE2', '10.42'), + ('OpenEXR', '3.1.7'), + ('Brunsli', '0.1'), + ('Qhull', '2020.2'), + ('LERC', '4.0.0'), + ('OpenJPEG', '2.5.0'), + ('SWIG', '4.1.1'), +] + +# iterative build for both static and shared libraries +local_configopts_common = "-DGDAL_USE_INTERNAL_LIBS=OFF -DGDAL_USE_MYSQL=OFF " +local_configopts_common += "-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include -DPython_ROOT=$EBROOTPYTHON " + +configopts = [ + local_configopts_common + "-DBUILD_SHARED_LIBS=OFF", + local_configopts_common +] + + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import osgeo.%(namelower)s'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDAL/GDAL-3.9.0-foss-2023b.eb b/easybuild/easyconfigs/g/GDAL/GDAL-3.9.0-foss-2023b.eb new file mode 100644 index 00000000000..21299457516 --- /dev/null +++ b/easybuild/easyconfigs/g/GDAL/GDAL-3.9.0-foss-2023b.eb @@ -0,0 +1,81 @@ +easyblock = 'CMakeMake' + +name = 'GDAL' +version = '3.9.0' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://download.osgeo.org/%(namelower)s/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['%(name)s-3.6.2_fix-python-CC-CXX.patch'] +checksums = [ + {'gdal-3.9.0.tar.xz': '577f80e9d14ff7c90b6bfbc34201652b4546700c01543efb4f4c3050e0b3fda2'}, + {'GDAL-3.6.2_fix-python-CC-CXX.patch': '859b874b0c8ff7626a76d51f008bf05b7f89a35b325bdd1d126d2364154acc63'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), + ('Bison', '3.8.2'), +] +dependencies = [ + ('Python', '3.11.5'), + ('netCDF', '4.9.2'), + ('expat', '2.5.0'), + ('GEOS', '3.12.1'), + ('SQLite', '3.43.1'), + ('libarchive', '3.7.2'), + ('libxml2', '2.11.5'), + ('libpng', '1.6.40'), + ('libjpeg-turbo', '3.0.1'), + ('LibTIFF', '4.6.0'), + ('zlib', '1.2.13'), + ('cURL', '8.3.0'), + ('PCRE', '8.45'), + ('PROJ', '9.3.1'), + ('libgeotiff', '1.7.3'), + ('SciPy-bundle', '2023.11'), + ('HDF5', '1.14.3'), + ('HDF', '4.2.16-2'), + ('Armadillo', '12.8.0'), + ('CFITSIO', '4.3.1'), + ('zstd', '1.5.5'), + ('giflib', '5.2.1'), + ('json-c', '0.17'), + ('Xerces-C++', '3.2.5'), + ('PCRE2', '10.42'), + ('OpenEXR', '3.2.0'), + ('Brunsli', '0.1'), + ('Qhull', '2020.2'), + ('LERC', '4.0.0'), + ('OpenJPEG', '2.5.0'), + ('SWIG', '4.1.1'), +] + +# iterative build for both static and shared libraries +local_configopts_common = "-DGDAL_USE_INTERNAL_LIBS=OFF -DGDAL_USE_MYSQL=OFF " +local_configopts_common += "-DGEOTIFF_INCLUDE_DIR=$EBROOTLIBGEOTIFF/include -DPython_ROOT=$EBROOTPYTHON " + +configopts = [ + local_configopts_common + "-DBUILD_SHARED_LIBS=OFF", + local_configopts_common +] + + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import osgeo.%(namelower)s'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GDB/GDB-10.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GDB/GDB-10.1-GCCcore-10.2.0.eb index ce542957783..0300093f744 100644 --- a/easybuild/easyconfigs/g/GDB/GDB-10.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GDB/GDB-10.1-GCCcore-10.2.0.eb @@ -41,4 +41,9 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-10.3.0.eb index a036bbe3b5d..887741cbd05 100644 --- a/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-10.3.0.eb @@ -41,4 +41,9 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-9.3.0-Python-3.8.2.eb index a232a09da3b..2ee9015802d 100644 --- a/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GDB/GDB-10.2-GCCcore-9.3.0-Python-3.8.2.eb @@ -42,4 +42,9 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-11.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GDB/GDB-11.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a456f0500a8 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-11.1-GCCcore-11.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '11.1' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94'] + +builddependencies = [ + ('binutils', '2.37'), + ('makeinfo', '6.8'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('expat', '2.4.1'), + ('Python', '3.9.6'), + ('ISL', '0.24'), + ('MPC', '1.2.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDB/GDB-12.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3ade2afc70d --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-12.1-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '12.1' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0e1793bf8f2b54d53f46dea84ccfd446f48f81b297b28c4f7fc017b818d69fed'] + +builddependencies = [ + ('binutils', '2.38'), + ('makeinfo', '6.8'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('expat', '2.4.8'), + ('Python', '3.10.4'), + ('ISL', '0.24'), + ('MPC', '1.2.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..089bb508103 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '13.2' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a'] + +builddependencies = [ + ('binutils', '2.39'), + ('makeinfo', '7.0.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('expat', '2.4.9'), + ('Python', '3.10.8'), + ('ISL', '0.26'), + ('MPC', '1.3.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..431a3fa995e --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '13.2' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('expat', '2.5.0'), + ('Python', '3.11.3'), + ('ISL', '0.26'), + ('MPC', '1.3.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ac981628400 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-13.2-GCCcore-13.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '13.2' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['fd5bebb7be1833abdb6e023c2f498a354498281df9d05523d8915babeb893f0a'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.1'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('expat', '2.5.0'), + ('Python', '3.11.5'), + ('ISL', '0.26'), + ('MPC', '1.3.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7cb65516ac9 --- /dev/null +++ b/easybuild/easyconfigs/g/GDB/GDB-14.2-GCCcore-13.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'GDB' +version = '14.2' + +homepage = 'https://www.gnu.org/software/gdb/gdb.html' +description = "The GNU Project Debugger" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['2d4dd8061d8ded12b6c63f55e45344881e8226105f4d2a9b234040efa5ce7772'] + +builddependencies = [ + ('binutils', '2.42'), + ('makeinfo', '7.1'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('libreadline', '8.2'), + ('ncurses', '6.5'), + ('expat', '2.6.2'), + ('Python', '3.12.3'), + ('ISL', '0.26'), + ('MPC', '1.3.1'), +] + +preconfigopts = "mkdir obj && cd obj && " +configure_cmd_prefix = '../' +prebuildopts = "cd obj && " +preinstallopts = prebuildopts + +configopts = '--with-system-zlib --with-system-readline --with-expat=$EBROOTEXPAT ' +configopts += '--with-python=$EBROOTPYTHON/bin/python --with-isl=$EBROOTISL --with-mpc=$EBROOTMPC ' +configopts += '--enable-tui --enable-plugins --disable-install-libbfd ' + +sanity_check_paths = { + 'files': ['bin/gdb', 'bin/gdbserver'], + 'dirs': [], +} + +sanity_check_commands = [ + 'gdb --help', + 'gdbserver --help', +] + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3f7946de5fc --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.20-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.20' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['d299731e229fe7595001f17e6b81e6f9a27daac3df7295543753525242cea0b2'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..298041d52e0 --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.21-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.21' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f29dbdd3b6b4c30c9803e6466b88b139d67f5585768565fe29f0be65ad737744'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9386c090914 --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.8' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['33077958ec2fb43361cd4e2889dc901cc4d45c30b7f134950fc57ecd4f0637e1'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..044e0a80dc9 --- /dev/null +++ b/easybuild/easyconfigs/g/GDCM/GDCM-3.0.8-GCCcore-9.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'GDCM' +version = '3.0.8' + +homepage = 'https://sourceforge.net/projects/gdcm' +description = "Grassroots DICOM: Cross-platform DICOM implementation" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['33077958ec2fb43361cd4e2889dc901cc4d45c30b7f134950fc57ecd4f0637e1'] + +builddependencies = [ + ('binutils', '2.34'), + ('CMake', '3.16.4'), +] + +configopts = "-DGDCM_BUILD_DOCBOOK_MANPAGES=0" + +sanity_check_paths = { + 'files': ['lib/libgdcmCommon.a', 'lib/libgdcmDICT.a'], + 'dirs': ['include/gdcm-%(version_major_minor)s', 'lib/gdcm-%(version_major_minor)s'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..c2bce301db6 --- /dev/null +++ b/easybuild/easyconfigs/g/GDGraph/GDGraph-1.56-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Bundle' + +name = 'GDGraph' +version = '1.56' + +homepage = 'https://metacpan.org/release/GDGraph' +description = "GDGraph is a Perl package to generate charts" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/lstein/Perl-GD/archive/'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('libgd', '2.3.3'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +# this is a bundle of Perl modules +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('ExtUtils::PkgConfig', '1.16', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'sources': ['ExtUtils-PkgConfig-%(version)s.tar.gz'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + ('GD', '2.76', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'sources': ['GD-%(version)s.tar.gz'], + 'checksums': ['693d9e3d709e9188a682cb9090a77b70aac12a04e84128677577b94e4331775b'], + }), + ('GD::Text', '0.86', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MV/MVERB/'], + 'sources': ['GDTextUtil-%(version)s.tar.gz'], + 'checksums': ['886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc'], + }), + ('GD::Graph', version, { + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BP/BPS/'], + 'sources': ['GDGraph-%(version)s.tar.gz'], + 'checksums': ['6f49cc4e59015480db9c9b6b18afd8c50be30886687b69411513d06f38971113'], + }), +] + +sanity_check_paths = { + 'files': ['bin/bdf2gdfont.pl'], + '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/%(arch)s-linux-thread-multi', +]} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GDMA/GDMA-2.3.3_20230603-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GDMA/GDMA-2.3.3_20230603-GCC-12.3.0.eb new file mode 100644 index 00000000000..d22b6d74689 --- /dev/null +++ b/easybuild/easyconfigs/g/GDMA/GDMA-2.3.3_20230603-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'GDMA' +version = '2.3.3_20230603' +_commit = '6b8e81ec' + +homepage = 'https://gitlab.com/anthonyjs/gdma' +description = """ +The GDMA program carries out Distributed Multipole Analysis of wavefunctions +calculated by the Gaussian system of programs or the Psi4 package, using the +formatted checkpoint files that they can produce. The result is a set of +multipole moments at sites defined by the user (usually at the positions of the +atomic nuclei) which, given an accurate wavefunction, provide an accurate +description of the electrostatic field of the molecule.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +sources = [{ + 'source_urls': ['https://gitlab.com/anthonyjs/gdma/-/archive/'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['cc008932ae8768e6cbd444337a998e02b2100c123492c260d6020590e76bec1e'] + +parallel = 1 + +skipsteps = ['configure'] + +# avoid using git to obtain the commit: not a cloned repo +prebuildopts = """sed -i "/^log =/,/^commit =/c commit = '%s'" src/version.py && """ % _commit + +preinstallopts = 'mkdir -p %(installdir)s/bin && ' +installopts = 'INSTALL_DIR=%(installdir)s/bin' + +sanity_check_paths = { + 'files': ['bin/gdma'], + 'dirs': [], +} + +sanity_check_commands = ['echo|gdma'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb index ecc2aa7e0a6..915d01b254a 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.1.1.eb @@ -23,25 +23,25 @@ builddependencies = [ ] dependencies = [ - ('CUDAcore', local_cudaversion, '', True), # needed by GDRCopy binaries, which are tools for testing + ('CUDAcore', local_cudaversion, '', SYSTEM), # needed by GDRCopy binaries, which are tools for testing ('Check', '0.15.2'), ] -# This easyconfig only installs the library and binaries of GDRCopy. Please -# keep in mind that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb new file mode 100644 index 00000000000..443bbdd4af7 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-10.2.0-CUDA-11.2.1.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.1' +local_cudaversion = '11.2.1' +versionsuffix = '-CUDA-%s' % local_cudaversion + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cecc7dcc071107f77396f5553c9109790b6d2298ae29eb2dbbdd52b2a213e4ea'] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CUDAcore', local_cudaversion, '', SYSTEM), # needed by GDRCopy binaries, which are tools for testing + ('Check', '0.15.2'), +] + +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "PREFIX=%(installdir)s CUDA=$EBROOTCUDACORE" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib exes %s" % local_envopts +installopts = local_envopts + +sanity_check_paths = { + 'files': ['bin/copybw', 'bin/copylat', 'bin/sanity', 'lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb index 63ed61f6150..3c02c5d5c02 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.1-GCCcore-9.3.0-CUDA-11.0.2.eb @@ -23,25 +23,25 @@ builddependencies = [ ] dependencies = [ - ('CUDAcore', local_cudaversion, '', True), + ('CUDAcore', local_cudaversion, '', SYSTEM), ('Check', '0.15.2'), ] -# This easyconfig only installs the library and binaries of GDRCopy. Please -# keep in mind that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library and binaries of GDRCopy. Please +keep in mind that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb index 85810e2394d..f6498b61ef3 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.2.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb index e9750d55747..cd3d0ee01c6 100644 --- a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.2-GCCcore-10.3.0.eb @@ -20,21 +20,21 @@ builddependencies = [ ('pkg-config', '0.29.2'), ] -# This easyconfig only installs the library of GDRCopy. Please keep in mind -# that GDRCopy also needs the following kernel modules at runtime: -# -# 1. Kernel module for GDRCopy: improves Host to GPU communication -# https://github.com/NVIDIA/gdrcopy -# RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' -# Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 -# -# 2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication -# https://github.com/Mellanox/nv_peer_memory -# RPM: 'nvidia_peer_memory' -# Requirements: Mellanox HCA with MLNX_OFED 2.1 -# -# These kernel modules are not listed as system dependencies to lower the system -# requirements to build this easyconfig, as they are not needed for the build. +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b6d234c96b7 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.3' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d155d8ae274 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.3' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..44973308cfc --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.3' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b85d15901889aa42de6c4a9233792af40dd94543e82abe0439e544c87fd79475'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b0c0227e952 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.3.1' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['59b3cc97a4fc6008a5407506d9e67ecc4144cfad61c261217fabcb671cd30ca8'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..56d6902c8a7 --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4-GCCcore-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.4' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['39e74d505ca16160567f109cc23478580d157da897f134989df1d563e55f7a5b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f8e2370943b --- /dev/null +++ b/easybuild/easyconfigs/g/GDRCopy/GDRCopy-2.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'GDRCopy' +version = '2.4.1' + +homepage = 'https://github.com/NVIDIA/gdrcopy' +description = "A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['faa7e816e9bad3301e53d6721457f7ef5ab42b7aa3b01ffda51f8e5620bb20ed'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +build_info_msg = """This easyconfig only installs the library of GDRCopy. Please keep in mind +that GDRCopy also needs the following kernel modules at runtime: + +1. Kernel module for GDRCopy: improves Host to GPU communication + https://github.com/NVIDIA/gdrcopy + RPM: 'gdrcopy-kmod', DEB: 'gdrdrv-dkms' + Requirements: version of GDRCopy kernel module (gdrdrv.ko) >= 2.0 + +2. (optional) Kernel module for GPUDirect RDMA: improves GPU to GPU communication + https://github.com/Mellanox/nv_peer_memory + RPM: 'nvidia_peer_memory' + Requirements: Mellanox HCA with MLNX_OFED 2.1 + +These kernel modules are not listed as system dependencies to lower the system +requirements to build this easyconfig, as they are not needed for the build.""" + +skipsteps = ['configure'] + +local_envopts = "prefix=%(installdir)s" +prebuildopts = "PATH=$PATH:/sbin " # ensures that ldconfig is found +buildopts = "config lib %s" % local_envopts +install_cmd = "make lib_install" +installopts = local_envopts + +sanity_check_paths = { + 'files': ['lib/libgdrapi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GEGL/GEGL-0.4.30-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GEGL/GEGL-0.4.30-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..a2f4f7da5a1 --- /dev/null +++ b/easybuild/easyconfigs/g/GEGL/GEGL-0.4.30-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MesonNinja' + +name = 'GEGL' +version = '0.4.30' + +homepage = 'https://www.gegl.org' +description = """GEGL (Generic Graphics Library) is a data flow based image processing framework, + providing floating point processing and non-destructive image processing capabilities to + GNU Image Manipulation Program (GIMP) and other projects.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.gimp.org/pub/gegl/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c112782cf4096969e23217ccdfabe42284e35d5435ff0c43d40e4c70faeca8dd'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('babl', '0.1.86'), + ('JSON-GLib', '1.6.2'), + ('libpng', '1.6.37'), + ('cairo', '1.16.0'), +] + +sanity_check_paths = { + 'files': ['bin/gegl', 'lib/libgegl-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/gegl-%(version_major_minor)s', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["gegl --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022a.eb b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022a.eb new file mode 100644 index 00000000000..6ab102385f2 --- /dev/null +++ b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022a.eb @@ -0,0 +1,50 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'GEM' +version = '1.5.1' + +homepage = 'https://github.com/large-scale-gxe-methods/GEM' + +description = """ +GEM (Gene-Environment interaction analysis for Millions of samples) is a +software program for large-scale gene-environment interaction testing in +samples from unrelated individuals. It enables genome-wide association +studies in up to millions of samples while allowing for multiple exposures, +control for genotype-covariate interactions, and robust inference. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/large-scale-gxe-methods/GEM/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-makefile-thirdparty.patch'] +checksums = [ + {'v1.5.1.tar.gz': 'fcac26c43f362b18e568f06345c660bc8921f6aa4956bccd8b33317b60a94d18'}, + {'GEM-1.5.1-makefile-thirdparty.patch': '155a9bebae55a98291927aa04bda5f2dd261755d757681d59457968169f37143'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Armadillo', '11.4.3'), + ('libdeflate', '1.10'), + ('zstd', '1.5.2'), +] + +start_dir = 'src' + +files_to_copy = [(['GEM'], 'bin'), 'example', 'README.md'] + +sanity_check_paths = { + 'files': ['bin/GEM'], + 'dirs': [], +} + +# Using --version or --help results in a return value of 1 +sanity_check_commands = ["GEM --version | grep v1.5.1"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022b.eb b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022b.eb new file mode 100644 index 00000000000..f0223b7f410 --- /dev/null +++ b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-foss-2022b.eb @@ -0,0 +1,50 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'GEM' +version = '1.5.1' + +homepage = 'https://github.com/large-scale-gxe-methods/GEM' + +description = """ +GEM (Gene-Environment interaction analysis for Millions of samples) is a +software program for large-scale gene-environment interaction testing in +samples from unrelated individuals. It enables genome-wide association +studies in up to millions of samples while allowing for multiple exposures, +control for genotype-covariate interactions, and robust inference. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/large-scale-gxe-methods/GEM/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-makefile-thirdparty.patch'] +checksums = [ + {'v1.5.1.tar.gz': 'fcac26c43f362b18e568f06345c660bc8921f6aa4956bccd8b33317b60a94d18'}, + {'GEM-1.5.1-makefile-thirdparty.patch': '155a9bebae55a98291927aa04bda5f2dd261755d757681d59457968169f37143'}, +] + +builddependencies = [ + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Armadillo', '11.4.3'), + ('libdeflate', '1.15'), + ('zstd', '1.5.2'), +] + +start_dir = 'src' + +files_to_copy = [(['GEM'], 'bin'), 'example', 'README.md'] + +sanity_check_paths = { + 'files': ['bin/GEM'], + 'dirs': [], +} + +# Using --version or --help results in a return value of 1 +sanity_check_commands = ["GEM --version | grep v1.5.1"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GEM/GEM-1.5.1-makefile-thirdparty.patch b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-makefile-thirdparty.patch new file mode 100644 index 00000000000..70078684fd8 --- /dev/null +++ b/easybuild/easyconfigs/g/GEM/GEM-1.5.1-makefile-thirdparty.patch @@ -0,0 +1,67 @@ +Patch for makefile, and ReadBGEN.cpp to use EasyBuild provided +third party software. Does not change the original DOS format to UNIX! +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/GEM-1.5.1.orig/src/ReadBGEN.cpp b/GEM-1.5.1/src/ReadBGEN.cpp +index ecbc243..7162579 100755 +--- a/GEM-1.5.1.orig/src/ReadBGEN.cpp ++++ b/GEM-1.5.1/src/ReadBGEN.cpp +@@ -2,8 +2,8 @@ + #include "declars.h" + #include "ReadBGEN.h" + #include "ReadParameters.h" +-#include "../thirdparty/zstd-1.5.5/lib/zstd.h" +-#include "../thirdparty/libdeflate-1.18/libdeflate.h" ++#include "zstd.h" ++#include "libdeflate.h" + + /************************************** + This function is revised based on the Parse function in BOLT-LMM v2.3 source code +diff --git a/GEM-1.5.1.orig/src/makefile b/GEM-1.5.1/src/makefile +index 969daae..3b968b2 100644 +--- a/GEM-1.5.1.orig/src/makefile ++++ b/GEM-1.5.1/src/makefile +@@ -1,12 +1,10 @@ + CC=gcc # Do not change this for libdeflate package. + CXX=g++ +-CXXFLAGS = -std=c++11 -O2 -g ++CXXFLAGS = -std=c++11 -O2 + +-BOOST_INC=../boost +-Eigen_INC=../eigen + BOOST_LIB=-lboost_thread -lboost_program_options -lboost_system -lboost_filesystem + +-DYN_LIBS=-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -ldl -lpthread -lm -larmadillo ++DYN_LIBS=-lflexiblas -lzstd -ldeflate -ldl -lpthread -lm -larmadillo + + + # Uncomment line below for LAPACK/BLAS only and comment other lines beginning with LIBS. +@@ -14,18 +12,16 @@ DYN_LIBS=-lmkl_gf_lp64 -lmkl_sequential -lmkl_core -ldl -lpthread -lm -larmadill + + #LIBS= -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -ldl -lpthread -lm -lboost_program_options -lboost_thread -lboost_system -lboost_filesystem + +-C_SOURCES= $(wildcard ../thirdparty/zstd-1.5.5/lib/common/*.c) $(wildcard ../thirdparty/zstd-1.5.5/lib/compress/*.c) $(wildcard ../thirdparty/zstd-1.5.5/lib/decompress/*.c) $(wildcard ../thirdparty/libdeflate-1.18/lib/*.c) $(wildcard ../thirdparty/libdeflate-1.18/lib/x86/*.c) $(wildcard ../thirdparty/libdeflate-1.18/lib/arm/*.c) + CXX_SOURCES= MatrixUtils.cpp ReadParameters.cpp TimeUtils.cpp BinaryEUtils.cpp ReadBGEN.cpp ReadPGEN.cpp ReadBed.cpp GEM.cpp + CC_SOURCES=$(wildcard ../thirdparty/plink-2.0/*.cc) + CXX_OBJECTS= $(CXX_SOURCES:.cpp=.o) +-C_OBJECTS= $(C_SOURCES:.c=.o) + CC_OBJ= $(CC_SOURCES:.cc=.o) +-OBJS= $(CXX_OBJECTS) $(C_OBJECTS) $(CC_OBJ) ++OBJS= $(CXX_OBJECTS) $(CC_OBJ) + + #targets + all: GEM + +-GEM: $(CXX_OBJECTS) $(C_OBJECTS) $(CC_OBJ) ++GEM: $(CXX_OBJECTS) $(CC_OBJ) + $(CXX) $^ $(CXXFLAGS) $(BOOST_LIB_TD) $(BOOST_LIB) -o $@ $(DYN_LIBS) + + %.o: %.c +@@ -35,7 +31,7 @@ GEM: $(CXX_OBJECTS) $(C_OBJECTS) $(CC_OBJ) + $(CXX) $(CXXFLAGS) -c $< -o $@ + + %.o: %.cpp +- $(CXX) $(CXXFLAGS) -c $< -o $@ -I$(BOOST_INC) -I$(Eigen_INC) ++ $(CXX) $(CXXFLAGS) -I${EBROOTZSTD}/include -I${EBROOTLIBDEFLATE}/include -I${EBROOTEIGEN}/include -c $< -o $@ + + .PHONY: clean + clean: diff --git a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.97-foss-2016b.eb b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.97-foss-2016b.eb index 8606dd48d2a..66240220c01 100644 --- a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.97-foss-2016b.eb +++ b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.97-foss-2016b.eb @@ -18,7 +18,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['9b22a61f01af27e60d483cb7bca73e397d8ca4719c741349a8551984c6c33976'] builddependencies = [ - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.1-foss-2018b.eb b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.1-foss-2018b.eb index 4824b4d661d..149f74bea8f 100644 --- a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.1-foss-2018b.eb +++ b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.1-foss-2018b.eb @@ -18,7 +18,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['6beeed4a9e727a96fdea9e86e39bbe9cbc9f0540ad3a1053814e95b0863a7e6b'] builddependencies = [ - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2020a.eb b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2020a.eb new file mode 100644 index 00000000000..0209363b19e --- /dev/null +++ b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2020a.eb @@ -0,0 +1,42 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'GEMMA' +version = '0.98.5' + +homepage = 'https://github.com/genetics-statistics/GEMMA' +description = "Genome-wide Efficient Mixed Model Association" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/genetics-statistics/GEMMA/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677'] + +builddependencies = [ + ('Eigen', '3.3.7'), + ('Perl', '5.30.2'), + ('Ruby', '2.7.2'), +] + +dependencies = [ + ('GSL', '2.6'), + ('zlib', '1.2.11') +] + +files_to_copy = ["bin", "doc", "example", "LICENSE", "README.md", "RELEASE-NOTES.md", "scripts", "VERSION"] + +runtest = 'check' + +sanity_check_commands = ["gemma -h", "gemma -license"] + +sanity_check_paths = { + 'files': ["bin/gemma"], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2021b.eb b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2021b.eb new file mode 100644 index 00000000000..9e0b069c771 --- /dev/null +++ b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2021b.eb @@ -0,0 +1,50 @@ +# 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 +# Updated to 0.98.5 +# J Sassmannshausen NHS/GSTT + +easyblock = 'MakeCp' + +name = 'GEMMA' +version = '0.98.5' + +homepage = 'https://github.com/genetics-statistics/GEMMA' +description = "Genome-wide Efficient Mixed Model Association" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/genetics-statistics/GEMMA/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677', +] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('Perl', '5.34.0'), + ('Ruby', '3.0.1'), +] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('FlexiBLAS', '3.0.4'), +] + +buildopts = 'WITH_OPENBLAS="" LIBS="$LIBS $LIBBLAS -lgsl -lz "' # Needed for FlexiBLAS +testopts = 'WITH_OPENBLAS="" LIBS="$LIBS $LIBBLAS -lgsl -lz"' # Needed for the make check below + +files_to_copy = ["bin", "doc", "example", "LICENSE", "README.md", "RELEASE-NOTES.md", "scripts", "VERSION"] + +runtest = 'check' + +sanity_check_commands = ["gemma -h", "gemma -license"] + +sanity_check_paths = { + 'files': ["bin/gemma"], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2022b.eb b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2022b.eb new file mode 100644 index 00000000000..d3428bccfd0 --- /dev/null +++ b/easybuild/easyconfigs/g/GEMMA/GEMMA-0.98.5-foss-2022b.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 +# Updated to 0.98.5 +# J Sassmannshausen NHS/GSTT + +easyblock = 'MakeCp' + +name = 'GEMMA' +version = '0.98.5' + +homepage = 'https://github.com/genetics-statistics/GEMMA' +description = "Genome-wide Efficient Mixed Model Association" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/genetics-statistics/GEMMA/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ed336deee29e370f96ec8f1a240f7b62550e57dcd1694245ce7ec8f42241677'] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('Perl', '5.36.0'), + ('Ruby', '3.2.2'), +] + +dependencies = [ + ('GSL', '2.7'), + ('zlib', '1.2.12'), + ('FlexiBLAS', '3.2.1'), +] + +buildopts = 'WITH_OPENBLAS="" LIBS="$LIBS $LIBBLAS -lgsl -lz "' # Needed for FlexiBLAS +testopts = 'WITH_OPENBLAS="" LIBS="$LIBS $LIBBLAS -lgsl -lz"' # Needed for the make check below + +files_to_copy = ["bin", "doc", "example", "LICENSE", "README.md", "RELEASE-NOTES.md", "scripts", "VERSION"] + +runtest = 'check' + +sanity_check_commands = ["gemma -h", "gemma -license"] + +sanity_check_paths = { + 'files': ["bin/gemma"], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.10.3-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.10.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..c78a111c17d --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.10.3-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.10.3' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c141b07d61958a758345d5f54e3c735834b2f4303edb9f67fb26914f0d44770'] + +builddependencies = [('CMake', '3.23.1')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos_c.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..42a88ada5cc --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.11.1-GCC-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.11.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2'] + +builddependencies = [('CMake', '3.24.3')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.12.0-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..92f9459f967 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.0-GCC-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.12.0' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['d96db96011259178a35555a0f6d6e75a739e52a495a6b2aa5efb3d75390fbc39'] + +builddependencies = [('CMake', '3.26.3')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.12.1-GCC-13.2.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..8dc235ab95c --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.12.1-GCC-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'GEOS' +version = '3.12.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03'] + +builddependencies = [('CMake', '3.27.6')] + +# Build static and shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb new file mode 100644 index 00000000000..4ce0c6ab74a --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.8.0-GCC-8.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.8.0' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '8.3.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = [ + '99114c3dc95df31757f44d2afde73e61b9f742f0b683fd1894cbbee05dda62d5', # geos-3.8.0.tar.bz2 +] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..f929067beb6 --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-GCC-11.2.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.9.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..e2593941ddb --- /dev/null +++ b/easybuild/easyconfigs/g/GEOS/GEOS-3.9.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.9.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['7e630507dcac9dc07565d249a26f06a15c9f5b0c52dd29129a0e3d381d7e382a'] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos.a', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-foss-2022a.eb b/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-foss-2022a.eb new file mode 100644 index 00000000000..6698ca78b96 --- /dev/null +++ b/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'GFF3-toolkit' +version = '2.1.0' + +homepage = 'https://gff3toolkit.readthedocs.io' +description = "Python programs for processing GFF3 files" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://pypi.python.org/packages/source/g/gff3tool'] +sources = ['gff3tool-%(version)s.tar.gz'] +patches = ['GFF3-toolkit-2.1.0-remove-hardcode.patch'] +checksums = [ + {'gff3tool-2.1.0.tar.gz': 'e842ef4afdb66926a2b63bf2619c7ef30bd9b76a5f1084a5c57bf8b39cc4f15d'}, + {'GFF3-toolkit-2.1.0-remove-hardcode.patch': '03696635af25ab1e3d650b46c7aeaaaadb31e7eac766039c758150f3f3162cb7'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('BLAST+', '2.13.0'), +] + +# GFF3-toolkit has hardcoded path to BLAST+ libraries, so we have to add a symlink to the required path for this to work +local_blast_path = '%(installdir)s/lib/python%(pyshortver)s/site-packages/gff3tool/lib/ncbi-blast+' +preinstallopts = "mkdir -p %s && " % local_blast_path +preinstallopts += "ln -s $EBROOTBLASTPLUS/bin %s && " % local_blast_path + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'gff3tool'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-remove-hardcode.patch b/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-remove-hardcode.patch new file mode 100644 index 00000000000..99aa1e1e734 --- /dev/null +++ b/easybuild/easyconfigs/g/GFF3-toolkit/GFF3-toolkit-2.1.0-remove-hardcode.patch @@ -0,0 +1,88 @@ +This patch removes the hardcoded part of the setup.py that downloads and installs BLAST+ +Author: Orient Kružík (INUITS) +diff -ruN gff3tool-2.1.0_orig/setup.py gff3tool-2.1.0/setup.py +--- gff3tool-2.1.0_orig/setup.py 2023-10-22 17:15:12.175583000 +0200 ++++ gff3tool-2.1.0/setup.py 2023-10-22 17:20:48.098956000 +0200 +@@ -6,69 +6,12 @@ + """ + # Always prefer setuptools over distutils + from setuptools import setup, find_packages +-from distutils.command.build import build + # To use a consistent encoding + from codecs import open +-from os import path, remove, mkdir +-import shutil +-import tarfile +-try: +- from urllib.request import urlretrieve +-except ImportError: +- from urllib import urlretrieve +- +-import platform +-import sys +-from wheel.bdist_wheel import bdist_wheel as _bdist_wheel +- ++from os import path + + here = path.abspath(path.dirname(__file__)) + +- +-class bdist_wheel(_bdist_wheel): +- def finalize_options(self): +- _bdist_wheel.finalize_options(self) +- # Mark us as not a pure python package +- self.root_is_pure = False +- +-class CustomBuildCommand(build): +- def run(self): +- platform_system = platform.system( +- ) # Linux: Linux; Mac:Darwin; Windows: Windows +- +- blast_path = path.join(here, 'gff3tool', 'lib', 'ncbi-blast+') +- blast_file = path.join(blast_path, 'blast.tgz') +- +- mkdir(blast_path) +- +- if platform_system == 'Linux': +- urlretrieve( +- 'https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.31/ncbi-blast-2.2.31+-x64-linux.tar.gz', +- blast_file) +- elif platform_system == 'Windows': +- urlretrieve( +- 'https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.31/ncbi-blast-2.2.31+-x64-win64.tar.gz', +- blast_file) +- elif platform_system == 'Darwin': +- urlretrieve( +- 'https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.31/ncbi-blast-2.2.31+-universal-macosx.tar.gz', +- blast_file) +- else: +- sys.error( +- 'GFF3 Toolkit currently only supports linux, windows, and MacOS' +- ) +- +- tar = tarfile.open(blast_file, 'r:gz') +- tar.extractall(blast_path) +- tar.close() +- +- extract_path = path.join(blast_path, 'ncbi-blast-2.2.31+') +- shutil.move(path.join(extract_path, 'bin'), blast_path) +- if path.exists(blast_file): +- remove(blast_file) +- if path.exists(extract_path): +- shutil.rmtree(extract_path) +- + # Get the long description from the README file + with open(path.join(here, 'README.md'), encoding='utf-8') as f: + long_description = f.read() +@@ -170,11 +113,6 @@ + # + packages=find_packages(exclude=['contrib', 'docs', 'tests']), # Required + +- cmdclass={ +- 'build': CustomBuildCommand, +- 'bdist_wheel': bdist_wheel +- }, +- + # This field lists other packages that your project depends on to run. + # Any package you put here will be installed by pip when your project is + # installed, so they must be valid existing projects. diff --git a/easybuild/easyconfigs/g/GHC/GHC-9.10.1-x86_64.eb b/easybuild/easyconfigs/g/GHC/GHC-9.10.1-x86_64.eb new file mode 100644 index 00000000000..2074b920ebd --- /dev/null +++ b/easybuild/easyconfigs/g/GHC/GHC-9.10.1-x86_64.eb @@ -0,0 +1,82 @@ +# 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.10.1' +versionsuffix = '-x86_64' + +homepage = 'https://haskell.org/ghc/' +description = """The Glorious/Glasgow Haskell Compiler""" + +toolchain = SYSTEM + +builddependencies = [ + ('binutils', '2.42'), + ('M4', '1.4.19'), +] + +default_easyblock = 'ConfigureMake' + +local_distro_tarball = 'centos7' + +components = [ + ('GMP', '6.3.0', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_BZ2], + 'checksums': ['ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'], + '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', + 'start_dir': '%(namelower)s-%(version)s', + }), + (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': ['fab143f10f845629cb1b373309b5680667cbaab298cf49827e383ee8a9ddf683'], + # 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/GHC/GHC-9.2.2-x86_64.eb b/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb new file mode 100644 index 00000000000..e09ebe9ff50 --- /dev/null +++ b/easybuild/easyconfigs/g/GHC/GHC-9.2.2-x86_64.eb @@ -0,0 +1,82 @@ +# 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.2.2' +versionsuffix = '-x86_64' + +homepage = 'https://haskell.org/ghc/' +description = """The Glorious/Glasgow Haskell Compiler""" + +toolchain = SYSTEM + +builddependencies = [ + ('binutils', '2.32'), + ('M4', '1.4.19'), +] + +default_easyblock = 'ConfigureMake' + +local_distro_tarball = 'centos7' + +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} +components = [ + ('GMP', '6.2.0', { + 'source_urls': [GNU_SOURCE], + 'sources': [SOURCELOWER_TAR_BZ2], + 'checksums': ['f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea'], + 'configopts': ' --enable-cxx', + }), + ('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" CXXFLAGS="$CXXFLAGS -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': ['5100aa7dea87aaf2ed596be83c93165d7199492f6db431d874fcfa07e8ac76ab'], + # ghc-8.6.5-x86_64-centos7-linux.tar.xz + 'skipsteps': ['build'], + 'preinstallopts': 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ', + }), +] + +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/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..4fae7c08b54 --- /dev/null +++ b/easybuild/easyconfigs/g/GI-DocGen/GI-DocGen-2023.3-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +# 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'), +] + +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/GIMP/GIMP-2.10.24-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GIMP/GIMP-2.10.24-GCC-10.3.0.eb new file mode 100644 index 00000000000..4cbc9293217 --- /dev/null +++ b/easybuild/easyconfigs/g/GIMP/GIMP-2.10.24-GCC-10.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'GIMP' +version = '2.10.24' + +homepage = 'https://www.gimp.org' +description = "GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://download.gimp.org/mirror/pub/gimp/v%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['bd1bb762368c0dd3175cf05006812dd676949c3707e21f4e6857435cb435989e'] + +builddependencies = [ + ('intltool', '0.51.0'), +] + +dependencies = [ + ('GTK2', '2.24.33'), + ('Gdk-Pixbuf', '2.42.6'), + ('babl', '0.1.86'), + ('GEGL', '0.4.30'), + ('ATK', '2.36.0'), + ('Pango', '1.48.5'), + ('HarfBuzz', '2.8.1'), + ('LibTIFF', '4.2.0'), + ('libjpeg-turbo', '2.0.6'), + ('libmypaint', '1.6.1'), + ('LittleCMS', '2.12'), + ('glib-networking', '2.68.1'), + ('JSON-GLib', '1.6.2'), + ('gexiv2', '0.12.2'), + ('librsvg', '2.51.2'), + ('poppler', '21.06.1'), +] + +configopts = "--disable-python" + +sanity_check_paths = { + 'files': ['bin/gimp', 'bin/gimp-console', 'lib/libgimp-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['etc/gimp', 'include/gimp-%(version_major)s.0', 'libexec', 'share'], +} + +sanity_check_commands = [ + "gimp --version", + "gimp-console --help", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..9bec3e8ff96 --- /dev/null +++ b/easybuild/easyconfigs/g/GKeyll/GKeyll-20220803-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,50 @@ +# Author J. Sassmannshause (Imperial College London/UK) + +easyblock = 'Waf' + +name = 'GKeyll' +version = '20220803' +local_commit = '4c3e568' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://gkeyll.readthedocs.io' +description = """Gkeyll v2.0 (pronounced as in the book “The Strange Case of Dr. Jekyll +and Mr. Hyde”) is a computational plasma physics code mostly written in C/C++ and LuaJIT. +Gkeyll contains solvers for gyrokinetic equations, Vlasov-Maxwell equations, and +multi-fluid equations. Gkeyll contains ab-initio and novel implementations of a number +of algorithms, and perhaps is unique in using a JIT compiled typeless dynamic language +for as its main implementation language.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True} + +github_account = 'ammarhakim' +source_urls = ['https://github.com/ammarhakim/gkyl/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['075867b602e3a50c13e72f7f0dc680c3591467ce61debd3c9a11f3e5dced0503'] + +dependencies = [ + ('Python', '3.8.2'), + ('ADIOS', '20210804', versionsuffix), + ('Eigen', '3.3.7'), + ('LuaJIT2-OpenResty', '2.1-20220411'), +] + +configopts = '--luajit-inc-dir=$EBROOTLUAJIT2MINOPENRESTY/include/luajit-2.1/ ' +configopts += '--extra-link-libs=" hdf5 mxml bz2 lz4 z zfp gomp" ' + +# Seems to be required as else all cores are being used +buildopts = ' -j %(parallel)s' + +sanity_check_paths = { + 'files': ['bin/gkyl', 'bin/gkyl', 'lib/libcomm.%s' % SHLIB_EXT, + 'lib/libdatastruct.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = [ + "gkyl -version", + "ctest_Range -?", +] + +moduleclass = 'phys' 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/GL2PS/GL2PS-1.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..661634cc4e9 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.4.2' + +homepage = 'https://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] +checksums = ['8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('freeglut', '3.2.1'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..46eedfaa2df --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.4.2' + +homepage = 'https://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] +checksums = ['8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), +] + +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('freeglut', '3.2.2'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6bd5ffab398 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.4.2' + +homepage = 'https://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] +checksums = ['8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('freeglut', '3.4.0'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..55df4c13600 --- /dev/null +++ b/easybuild/easyconfigs/g/GL2PS/GL2PS-1.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'GL2PS' +version = '1.4.2' + +homepage = 'https://www.geuz.org/gl2ps/' +description = """GL2PS: an OpenGL to PostScript printing library""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://geuz.org/gl2ps/src/'] +sources = [SOURCELOWER_TGZ] +checksums = ['8d1c00c1018f96b4b97655482e57dcb0ce42ae2f1d349cd6d4191e7848d9ffe9'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('freeglut', '3.4.0'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['include/gl2ps.h', 'lib/libgl2ps.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLFW/GLFW-3.3.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GLFW/GLFW-3.3.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ec19911769d --- /dev/null +++ b/easybuild/easyconfigs/g/GLFW/GLFW-3.3.4-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'GLFW' +version = '3.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': '11.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['cc8ac1d024a0de5fd6f68c4133af77e1918261396319c24fd697775a6bc93b63'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210802'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['include/GLFW/glfw3.h', 'include/GLFW/glfw3native.h', + 'lib/libglfw3.a', 'lib/libglfw.%s' % SHLIB_EXT, 'lib/pkgconfig/glfw3.pc'], + 'dirs': ['include/GLFW', 'lib/cmake/glfw3', 'lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLFW/GLFW-3.3.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLFW/GLFW-3.3.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c8fe2ff276d --- /dev/null +++ b/easybuild/easyconfigs/g/GLFW/GLFW-3.3.8-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'GLFW' +version = '3.3.8' + +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': '11.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f30f42e05f11e5fc62483e513b0488d5bceeab7d9c5da0ffe2252ad81816c713'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['include/GLFW/glfw3.h', 'include/GLFW/glfw3native.h', + 'lib/libglfw3.a', 'lib/libglfw.%s' % SHLIB_EXT, 'lib/pkgconfig/glfw3.pc'], + 'dirs': ['include/GLFW', 'lib/cmake/glfw3', 'lib/pkgconfig'], +} + +moduleclass = 'vis' 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/GLFW/GLFW-3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dda659e47c2 --- /dev/null +++ b/easybuild/easyconfigs/g/GLFW/GLFW-3.4-GCCcore-12.3.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.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c038d34200234d071fae9345bc455e4a8f2f544ab60150765d7704e08f3dac01'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('Wayland', '1.22.0'), + ('X11', '20230603'), +] + +# 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/GLI/GLI-4.5.31-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GLI/GLI-4.5.31-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..ca2a334a1af --- /dev/null +++ b/easybuild/easyconfigs/g/GLI/GLI-4.5.31-GCCcore-10.2.0.eb @@ -0,0 +1,53 @@ +easyblock = "ConfigureMake" + +name = "GLI" +version = "4.5.31" + +homepage = "https://pgi-jcns.fz-juelich.de/portal/pages/gli.html" +description = "Graphics Language Interpreter" + +toolchain = {"name": "GCCcore", "version": "10.2.0"} +toolchainopts = {"pic": True} + +source_urls = ["http://iffwww.iff.kfa-juelich.de/gli/"] +sources = [SOURCELOWER_TAR_GZ] +checksums = ["13b7def217672ab4fa01e39977af26f3fbbe0f7bbe7e7c42c2c4aa0ea5fc8c05"] + +builddependencies = [("binutils", "2.35")] + +dependencies = [ + ('X11', '20201008'), + ('zlib', '1.2.11'), + ('Tk', '8.6.10'), + ('Tcl', '8.6.10'), + ('libtirpc', '1.3.1') +] + +preconfigopts = 'cd src && ' +preconfigopts += 'sed -i -e "/ac_cv_c_zlib=.*with_zlib/s,},}/libz.so," configure && ' +configopts = 'CFLAGS=-DUSE_INTERP_RESULT LIBS=-ltirpc ' +configopts += '--with-zlib=$EBROOTZLIB/lib --with-zlibinclude=$EBROOTZLIB/include ' +configopts += '--with-tcllib=$EBROOTTCL/lib --with-tklib=$EBROOTTK/lib' + +prebuildopts = 'cd src &&' + +preinstallopts = 'cd src &&' + +parallel = 1 + +modextravars = { + "GLI_WSTYPE": "217", + "GLI_HOME": "%(installdir)s" +} + +modextrapaths = { + "PATH": "", + "LD_LIBRARY_PATH": "", +} + +sanity_check_paths = { + "files": ["libgks.a", "libgks.%s" % SHLIB_EXT, "libgli.a", "libgus.%s" % SHLIB_EXT], + "dirs": ["demo", "tcl/lib"], +} + +moduleclass = "vis" diff --git a/easybuild/easyconfigs/g/GLI/GLI-4.5.31-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLI/GLI-4.5.31-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5f8d5037d42 --- /dev/null +++ b/easybuild/easyconfigs/g/GLI/GLI-4.5.31-GCCcore-12.2.0.eb @@ -0,0 +1,53 @@ +easyblock = "ConfigureMake" + +name = "GLI" +version = "4.5.31" + +homepage = "https://pgi-jcns.fz-juelich.de/portal/pages/gli.html" +description = "Graphics Language Interpreter" + +toolchain = {"name": "GCCcore", "version": "12.2.0"} +toolchainopts = {"pic": True} + +source_urls = ["http://iffwww.iff.kfa-juelich.de/gli/"] +sources = [SOURCELOWER_TAR_GZ] +checksums = ["13b7def217672ab4fa01e39977af26f3fbbe0f7bbe7e7c42c2c4aa0ea5fc8c05"] + +builddependencies = [("binutils", "2.39")] + +dependencies = [ + ('X11', '20221110'), + ('zlib', '1.2.12'), + ('Tk', '8.6.12'), + ('Tcl', '8.6.12'), + ('libtirpc', '1.3.3') +] + +preconfigopts = 'cd src && ' +preconfigopts += 'sed -i -e "/ac_cv_c_zlib=.*with_zlib/s,},}/libz.so," configure && ' +configopts = 'CFLAGS=-DUSE_INTERP_RESULT LIBS=-ltirpc ' +configopts += '--with-zlib=$EBROOTZLIB/lib --with-zlibinclude=$EBROOTZLIB/include ' +configopts += '--with-tcllib=$EBROOTTCL/lib --with-tklib=$EBROOTTK/lib' + +prebuildopts = 'cd src &&' + +preinstallopts = 'cd src &&' + +parallel = 1 + +modextravars = { + "GLI_WSTYPE": "217", + "GLI_HOME": "%(installdir)s" +} + +modextrapaths = { + "PATH": "", + "LD_LIBRARY_PATH": "", +} + +sanity_check_paths = { + "files": ["libgks.a", "libgks.%s" % SHLIB_EXT, "libgli.a", "libgus.%s" % SHLIB_EXT], + "dirs": ["demo", "tcl/lib"], +} + +moduleclass = "vis" diff --git a/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2016b.eb b/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2016b.eb index 47d9f67b516..56c96e97fcf 100644 --- a/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2016b.eb +++ b/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2016b.eb @@ -11,22 +11,27 @@ easyblock = 'MakeCp' name = 'GLIMMER' version = '3.02b' -homepage = 'http://www.cbcb.umd.edu/software/%(namelower)s/' +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/index.shtml' description = """Glimmer is a system for finding genes in microbial DNA, especially the genomes of bacteria, archaea, and viruses.""" toolchain = {'name': 'foss', 'version': '2016b'} -source_urls = ['http://www.cbcb.umd.edu/software/glimmer'] +source_urls = ['http://ccb.jhu.edu/software/%(namelower)s'] sources = ['%%(namelower)s%s.tar.gz' % ''.join(version.split('.'))] +# original source tarball did not have a README file, but no other changes in source files +checksums = [('a531f83b6162064539bebedbef5bec6b99df32b5d2877ba4431d2fa93faa78a3', + 'ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6')] buildopts = '-C ./src' files_to_copy = ['bin', 'docs', 'glim302notes.pdf', 'lib', 'LICENSE', 'sample-run', 'scripts'] sanity_check_paths = { - 'files': ['bin/%(namelower)s3', 'glim302notes.pdf', 'LICENSE'], + 'files': ['bin/glimmer3', 'glim302notes.pdf', 'LICENSE'], 'dirs': ['docs', 'lib', 'sample-run', 'scripts'], } +sanity_check_commands = ["glimmer3 --help 2>&1 | grep 'USAGE:[ ]*glimmer3'"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2018b.eb b/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2018b.eb index 8e1a574fde6..34ccceea479 100644 --- a/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2018b.eb +++ b/easybuild/easyconfigs/g/GLIMMER/GLIMMER-3.02b-foss-2018b.eb @@ -12,23 +12,27 @@ easyblock = 'MakeCp' name = 'GLIMMER' version = '3.02b' -homepage = 'http://www.cbcb.umd.edu/software/%(namelower)s/' +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/index.shtml' description = """Glimmer is a system for finding genes in microbial DNA, especially the genomes of bacteria, archaea, and viruses.""" toolchain = {'name': 'foss', 'version': '2018b'} -source_urls = ['http://www.cbcb.umd.edu/software/%(namelower)s'] +source_urls = ['http://ccb.jhu.edu/software/%(namelower)s'] sources = ['%(namelower)s302b.tar.gz'] -checksums = ['a531f83b6162064539bebedbef5bec6b99df32b5d2877ba4431d2fa93faa78a3'] +# original source tarball did not have a README file, but no other changes in source files +checksums = [('a531f83b6162064539bebedbef5bec6b99df32b5d2877ba4431d2fa93faa78a3', + 'ecf28e03d0a675aed7360ca34ca7f19993f5c3ea889273e657ced9fa7d1e2bf6')] buildopts = "-C ./src" files_to_copy = ['bin', 'docs', 'glim302notes.pdf', 'lib', 'LICENSE', 'sample-run', 'scripts'] sanity_check_paths = { - 'files': ['bin/%(namelower)s3', 'glim302notes.pdf', 'LICENSE'], + 'files': ['bin/glimmer3', 'glim302notes.pdf', 'LICENSE'], 'dirs': ['docs', 'lib', 'sample-run', 'scripts'], } +sanity_check_commands = ["glimmer3 --help 2>&1 | grep 'USAGE:[ ]*glimmer3'"] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..8ae4197452c --- /dev/null +++ b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-10.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'MakeCp' + +name = 'GLIMPSE' +version = '2.0.0' + +homepage = 'https://github.com/odelaneau/GLIMPSE' +description = "GLIMPSE2 is a set of tools for phasing and imputation for low-coverage sequencing datasets" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/odelaneau/GLIMPSE/archive/'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/odelaneau/', + 'repo_name': 'GLIMPSE', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, +}] +checksums = [None] + +builddependencies = [ + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('bzip2', '1.0.8'), + ('cURL', '7.76.0'), + ('HTSlib', '1.12'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), +] + +prebuildopts = 'ls */makefile | xargs sed -i "s/^CXXFLAG=.*/CXXFLAG=${CXXFLAGS}/g" && ' +prebuildopts += 'ls */makefile | xargs sed -i "s/^LDFLAG=.*/LDFLAG=${CXXFLAGS}/g" && ' +buildopts = 'CXX="$CXX" HTSSRC=${EBROOTHTSLIB} HTSLIB_LIB="-lhts -lcurl" BOOST_INC=$EBROOTBOOST/include ' +buildopts += 'BOOST_LIB_IO="-lboost_iostreams" BOOST_LIB_PO="-lboost_program_options" ' +buildopts += 'BOOST_LIB_SE="-lboost_serialization" ' + +files_to_copy = [(['*/bin/*'], 'bin')] + +local_binaries = ['GLIMPSE2_chunk', 'GLIMPSE2_concordance', 'GLIMPSE2_ligate', + 'GLIMPSE2_phase', 'GLIMPSE2_split_reference'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..64c4f92026e --- /dev/null +++ b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MakeCp' + +name = 'GLIMPSE' +version = '2.0.0' + +homepage = 'https://github.com/odelaneau/GLIMPSE' +description = "GLIMPSE2 is a set of tools for phasing and imputation for low-coverage sequencing datasets" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/odelaneau/GLIMPSE/archive/'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/odelaneau/', + 'repo_name': 'GLIMPSE', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, +}] +checksums = [None] + +builddependencies = [ + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('bzip2', '1.0.8'), + ('cURL', '7.83.0'), + ('HTSlib', '1.15.1'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), +] + +prebuildopts = 'ls */makefile | xargs sed -i "s/^CXXFLAG=.*/CXXFLAG=${CXXFLAGS}/g" && ' +prebuildopts += 'ls */makefile | xargs sed -i "s/^LDFLAG=.*/LDFLAG=${CXXFLAGS}/g" && ' +buildopts = 'CXX="$CXX" HTSSRC=${EBROOTHTSLIB} HTSLIB_LIB="-lhts -lcurl" BOOST_INC=$EBROOTBOOST/include ' +buildopts += 'BOOST_LIB_IO="-lboost_iostreams" BOOST_LIB_PO="-lboost_program_options" ' +buildopts += 'BOOST_LIB_SE="-lboost_serialization" ' + +files_to_copy = [(['*/bin/*'], 'bin')] + +local_binaries = ['GLIMPSE2_chunk', 'GLIMPSE2_concordance', 'GLIMPSE2_ligate', + 'GLIMPSE2_phase', 'GLIMPSE2_split_reference'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..ec062251633 --- /dev/null +++ b/easybuild/easyconfigs/g/GLIMPSE/GLIMPSE-2.0.0-GCC-12.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MakeCp' + +name = 'GLIMPSE' +version = '2.0.0' + +homepage = 'https://github.com/odelaneau/GLIMPSE' +description = "GLIMPSE2 is a set of tools for phasing and imputation for low-coverage sequencing datasets" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/odelaneau/GLIMPSE/archive/'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/odelaneau/', + 'repo_name': 'GLIMPSE', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, +}] +checksums = [None] + +builddependencies = [ + ('git', '2.38.1', '-nodocs'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('bzip2', '1.0.8'), + ('cURL', '7.86.0'), + ('HTSlib', '1.17'), + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), +] + +prebuildopts = 'ls */makefile | xargs sed -i "s/^CXXFLAG=.*/CXXFLAG=${CXXFLAGS}/g" && ' +prebuildopts += 'ls */makefile | xargs sed -i "s/^LDFLAG=.*/LDFLAG=${CXXFLAGS}/g" && ' +buildopts = 'CXX="$CXX" HTSSRC=${EBROOTHTSLIB} HTSLIB_LIB="-lhts -lcurl" BOOST_INC=$EBROOTBOOST/include ' +buildopts += 'BOOST_LIB_IO="-lboost_iostreams" BOOST_LIB_PO="-lboost_program_options" ' +buildopts += 'BOOST_LIB_SE="-lboost_serialization" ' + +files_to_copy = [(['*/bin/*'], 'bin')] + +local_binaries = ['GLIMPSE2_chunk', 'GLIMPSE2_concordance', 'GLIMPSE2_ligate', + 'GLIMPSE2_phase', 'GLIMPSE2_split_reference'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5-gompi-2021b.eb b/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5-gompi-2021b.eb new file mode 100644 index 00000000000..f77603abc72 --- /dev/null +++ b/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5-gompi-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'CmdCp' + +name = 'GLM-AED' +version = '3.3.0a5' + +homepage = 'https://github.com/AquaticEcoDynamics/glm-aed' +description = """The General Lake Model (GLM) is a water balance and one-dimensional vertical +stratification hydrodynamic model, which is dynamically coupled with the AED +water quality modelling library. GLM-AED is suitable for simulating conditions +in a wide range of natural and engineered lakes, including shallow (well-mixed) +and deep (stratified) systems. The model has been successfully applied to +systems from the scale of individual ponds and wetlands, to actively operated +reservoirs, upto the scale of the Great Lakes.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/AquaticEcoDynamics', + 'repo_name': '%(namelower)s', + 'tag': 'v%(version)s', + 'recursive': True, + } +}] +patches = ['GLM-AED-3.3.0a5_disable-deb-pkg.patch'] +checksums = [ + None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + 'b5c1a0c0d1c5a47068ad38ec54def75373ea0bb04f6fa43c0d0a0f7f960e26c6', # GLM-AED-3.3.0a5_disable-deb-pkg.patch +] + +dependencies = [ + ('netCDF-Fortran', '4.5.3'), +] + +start_dir = 'glm-source' + +# Use build environment from EasyBuild +_prebuildcmd = "sed -i 's/FFLAGS=/FFLAGS+=/g' */Makefile && " +cmds_map = [('.*', _prebuildcmd + "./build_glm.sh --gfort")] + +files_to_copy = [(['GLM/glm'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/glm'], + 'dirs': [], +} + +sanity_check_commands = ["glm -h"] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5_disable-deb-pkg.patch b/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5_disable-deb-pkg.patch new file mode 100644 index 00000000000..3cb63c76e4d --- /dev/null +++ b/easybuild/easyconfigs/g/GLM-AED/GLM-AED-3.3.0a5_disable-deb-pkg.patch @@ -0,0 +1,44 @@ +Disable build of DEB package on Ubuntu systems +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/glm-source/build_glm.sh.orig b/glm-source/build_glm.sh +index c0c64a4..255abd4 100755 +--- a/glm-source/build_glm.sh.orig ++++ b/glm-source/build_glm.sh +@@ -216,37 +216,6 @@ ${CURDIR}/vers.sh $VERSION + #${CURDIR}/vers.sh $VERSION + cd ${CURDIR}/.. + +-if [ "$OSTYPE" = "Linux" ] ; then +- if [ $(lsb_release -is) = Ubuntu ] ; then +- if [ ! -d binaries/ubuntu/$(lsb_release -rs) ] ; then +- mkdir -p binaries/ubuntu/$(lsb_release -rs)/ +- fi +- cd ${CURDIR} +- if [ -x glm+ ] ; then +- /bin/cp debian/control-with+ debian/control +- else +- /bin/cp debian/control-no+ debian/control +- fi +- VERSDEB=`head -1 debian/changelog | cut -f2 -d\( | cut -f1 -d-` +- echo debian version $VERSDEB +- if [ "$VERSION" != "$VERSDEB" ] ; then +- echo updating debian version +- dch --newversion ${VERSION}-0 "new version ${VERSION}" +- fi +- VERSRUL=`grep 'version=' debian/rules | cut -f2 -d=` +- if [ "$VERSION" != "$VERSRUL" ] ; then +- sed -i "s/version=$VERSRUL/version=$VERSION/" debian/rules +- fi +- +- fakeroot ${MAKE} -f debian/rules binary || exit 1 +- +- cd .. +- +- mv glm*.deb binaries/ubuntu/$(lsb_release -rs)/ +- else +- echo "No package build for $(lsb_release -is)" +- fi +-fi + if [ "$OSTYPE" = "Darwin" ] ; then + MOSLINE=`grep 'SOFTWARE LICENSE AGREEMENT FOR ' '/System/Library/CoreServices/Setup Assistant.app/Contents/Resources/en.lproj/OSXSoftwareLicense.rtf'` + # pre Lion : MOSNAME=`echo ${MOSLINE} | awk -F 'Mac OS X ' '{print $NF}' | tr -d '\\' | tr ' ' '_'` diff --git a/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..699976590a7 --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..22d687ed0f4 --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a2b24730aaf --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4333f4a93a0 --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-0.9.9.8-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '0.9.9.8' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'GLM-0.9.9.8_fix_missing_install.patch', +] +checksums = [ + '7d508ab72cb5d43227a3711420f06ff99b0a0cb63ee2f93631b162bfe1fe9592', # 0.9.9.8.tar.gz + '1cc199f9d66679b0b5e9a9fbe20bca0d9b15760fa172ca8759dd15bab35802ca', # GLM-0.9.9.8_fix_missing_install.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLM/GLM-1.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GLM/GLM-1.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e57a89d030a --- /dev/null +++ b/easybuild/easyconfigs/g/GLM/GLM-1.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'GLM' +version = '1.0.1' + +homepage = 'https://github.com/g-truc/glm' +description = """ +OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics +software based on the OpenGL Shading Language (GLSL) specifications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/g-truc/glm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9f3174561fd26904b23f0db5e560971cbf9b3cbda0b280f04d5c379d03bf234c'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include/glm/gtc', 'include/glm/gtx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..13994a3781c --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +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': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..685f4c6618f --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +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': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..226f44dc49b --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +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': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp" + +sanity_check_paths = { + 'files': ['bin/glpsol', 'include/glpk.h'] + + ['lib/libglpk.%s' % x for x in [SHLIB_EXT, 'a']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..16cc2ff079e --- /dev/null +++ b/easybuild/easyconfigs/g/GLPK/GLPK-5.0-GCCcore-12.3.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': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4a1013eebb50f728fc601bdd833b0b2870333c3b3e5a816eeba921d95bec6f15'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('GMP', '6.2.1'), +] + +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/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/GLib/GLib-2.62.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.62.0-GCCcore-8.3.0.eb index bce91181c63..d75c72c3c0d 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.62.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.62.0-GCCcore-8.3.0.eb @@ -23,7 +23,7 @@ builddependencies = [ # (build)dependency on Python or it will use the system version # EasyBuild itself uses. ('Python', '3.7.4'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('binutils', '2.32'), ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.68.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.68.2-GCCcore-10.3.0.eb index 14e8b9b0979..4846b0e2477 100644 --- a/easybuild/easyconfigs/g/GLib/GLib-2.68.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/GLib/GLib-2.68.2-GCCcore-10.3.0.eb @@ -11,7 +11,11 @@ toolchainopts = {'pic': True} source_urls = [FTPGNOME_SOURCE] sources = [SOURCELOWER_TAR_XZ] -checksums = ['ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb'] +patches = ['%(name)s-%(version)s_fix-close_range-use.patch'] +checksums = [ + 'ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb', # glib-2.68.2.tar.xz + 'a13278694107a795a8f55c78703eeebc841f774400e1ebaf5c8c3047c82a239d', # GLib-2.68.2_fix-close_range-use.patch +] builddependencies = [ # Python is required for building against GLib, at least when diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.68.2_fix-close_range-use.patch b/easybuild/easyconfigs/g/GLib/GLib-2.68.2_fix-close_range-use.patch new file mode 100644 index 00000000000..d14bcc671e0 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.68.2_fix-close_range-use.patch @@ -0,0 +1,29 @@ +From 6e59d21b273f026e82adc56fecbec67d1ffa72a4 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 8 Jul 2021 17:26:43 -0700 +Subject: [PATCH] correctly use 3 parameters for close_range + +libc implementation has 3 parameter e.g. +https://www.freebsd.org/cgi/man.cgi?query=close_range&sektion=2&format=html + +Signed-off-by: Khem Raj +--- + glib/gspawn.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/gspawn.c b/glib/gspawn.c +index 95f5b868eb..a15fb1ca13 100644 +--- a/glib/gspawn.c ++++ b/glib/gspawn.c +@@ -1494,7 +1494,7 @@ safe_closefrom (int lowfd) + * + * Handle ENOSYS in case it’s supported in libc but not the kernel; if so, + * fall back to safe_fdwalk(). */ +- if (close_range (lowfd, G_MAXUINT) != 0 && errno == ENOSYS) ++ if (close_range (lowfd, G_MAXUINT, 0) != 0 && errno == ENOSYS) + #endif /* HAVE_CLOSE_RANGE */ + (void) safe_fdwalk (close_func, GINT_TO_POINTER (lowfd)); + #endif +-- +GitLab + diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.69.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.69.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c9f6dab66c4 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.69.1-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.69.1' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['f92f34057a091fc8638d91f10cece842cb8618e9a1090b0ddb19cc15a21bf39c'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.9.6'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('gettext', '0.21'), + ('libxml2', '2.9.10'), + ('PCRE', '8.45'), + ('util-linux', '2.37'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e6aea6b5a56 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.72.1-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.72.1' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c07e57147b254cef92ce80a0378dc0c02a4358e7de4702e9f403069781095fe2'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.10.4'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('gettext', '0.21'), + ('libxml2', '2.9.13'), + ('PCRE', '8.45'), + ('util-linux', '2.38'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0390a9a2e54 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.75.0-GCCcore-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.75.0' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['6dde8e55cc4a2c83d96797120b08bcffb5f645b2e212164ae22d63c40e0e6360'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.10.8'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('gettext', '0.21.1'), + ('libxml2', '2.10.3'), + ('PCRE2', '10.40'), + ('util-linux', '2.38.1'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.77.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.77.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e3f656498ac --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.77.1-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.77.1' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['dce8d0c9e916d8c81a64436bd4ee4d6515a52dd3d157c994e1cdb9b3d6300a03'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.11.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('gettext', '0.21.1'), + ('libxml2', '2.11.4'), + ('PCRE2', '10.42'), + ('util-linux', '2.39'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.78.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.78.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..44fbd9759a5 --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.78.1-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.78.1' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['915bc3d0f8507d650ead3832e2f8fb670fce59aac4d7754a7dab6f1e6fed78b2'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.11.5'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('gettext', '0.22'), + ('libxml2', '2.11.5'), + ('PCRE2', '10.42'), + ('util-linux', '2.39'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLib/GLib-2.80.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GLib/GLib-2.80.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f95eacd4a7b --- /dev/null +++ b/easybuild/easyconfigs/g/GLib/GLib-2.80.4-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MesonNinja' + +name = 'GLib' +version = '2.80.4' + +homepage = 'https://www.gtk.org/' +description = """GLib is one of the base libraries of the GTK+ project""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['24e029c5dfc9b44e4573697adf33078a9827c48938555004b3b9096fa4ea034f'] + +builddependencies = [ + # Python is required for building against GLib, at least when + # gdbus-codegen or one of the other python scripts are used. + # Since Meson 0.50 and later are Python >=3.5 only we can't build + # Python specific versions of GLib that uses Python 2.x + # thus Python should not be a runtime dependency for GLib. + # Packages that use GLib should either have an explicit + # (build)dependency on Python or it will use the system version + # EasyBuild itself uses. + ('Python', '3.12.3'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('libffi', '3.4.5'), + ('gettext', '0.22.5'), + ('libxml2', '2.12.7'), + ('PCRE2', '10.43'), + ('util-linux', '2.40'), +] + +# avoid using hardcoded path to Python binary in build step +preconfigopts = "export PYTHON=python && " + +configopts = "--buildtype=release --default-library=both " + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['lib/libglib-%(version_major)s.0.a', 'lib/libglib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLibmm/GLibmm-2.66.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.66.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c51b5487854 --- /dev/null +++ b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.66.4-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'GLibmm' +version = '2.66.4' + +homepage = 'https://www.gtk.org/' +description = """C++ bindings for Glib""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnome.org/pub/gnome/sources/glibmm/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['199ace5682d81b15a1d565480b4a950682f2db6402c8aa5dd7217d71edff81d5'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('libsigc++', '2.10.8'), +] + +sanity_check_paths = { + 'files': ['lib/libglibmm-2.4.%s' % SHLIB_EXT, 'lib/libgiomm-2.4.%s' % SHLIB_EXT, + 'include/glibmm-2.4/glibmm.h', 'include/giomm-2.4/giomm.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLibmm/GLibmm-2.72.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.72.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..728b2ec6a20 --- /dev/null +++ b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.72.1-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'GLibmm' +version = '2.72.1' + +homepage = 'https://www.gtk.org/' +description = """C++ bindings for Glib""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnome.org/pub/gnome/sources/glibmm/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['2a7649a28ab5dc53ac4dabb76c9f61599fbc628923ab6a7dd74bf675d9155cd8'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('libsigc++', '3.4.0'), +] + +sanity_check_paths = { + 'files': ['lib/libglibmm-2.68.%s' % SHLIB_EXT, 'lib/libgiomm-2.68.%s' % SHLIB_EXT, + 'include/glibmm-2.68/glibmm.h', 'include/giomm-2.68/giomm.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLibmm/GLibmm-2.75.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.75.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ba2c86f4057 --- /dev/null +++ b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.75.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'GLibmm' +version = '2.75.0' + +homepage = 'https://www.gtk.org/' +description = """C++ bindings for Glib""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnome.org/pub/gnome/sources/glibmm/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['60bb12e66488aa8ce41f0eb2f3612f89f5ddc887e3e4d45498524bf60b266b3d'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('libsigc++', '3.6.0'), +] + +sanity_check_paths = { + 'files': ['lib/libglibmm-2.68.%s' % SHLIB_EXT, 'lib/libgiomm-2.68.%s' % SHLIB_EXT, + 'include/glibmm-2.68/glibmm.h', 'include/giomm-2.68/giomm.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLibmm/GLibmm-2.77.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.77.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..768bdcbb2ed --- /dev/null +++ b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.77.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'GLibmm' +version = '2.77.0' + +homepage = 'https://www.gtk.org/' +description = """C++ bindings for Glib""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnome.org/pub/gnome/sources/glibmm/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['7cb34684e7ac6dfbf83492a52dff3f919e2fff63eb7810613bf71eb272d5450e'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('libsigc++', '3.6.0'), +] + +sanity_check_paths = { + 'files': ['lib/libglibmm-2.68.%s' % SHLIB_EXT, 'lib/libgiomm-2.68.%s' % SHLIB_EXT, + 'include/glibmm-2.68/glibmm.h', 'include/giomm-2.68/giomm.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GLibmm/GLibmm-2.78.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.78.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1cfbeec1c85 --- /dev/null +++ b/easybuild/easyconfigs/g/GLibmm/GLibmm-2.78.1-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'GLibmm' +version = '2.78.1' + +homepage = 'https://www.gtk.org/' +description = """C++ bindings for Glib""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnome.org/pub/gnome/sources/glibmm/%(version_major_minor)s/'] +sources = ['%(namelower)s-%(version)s.tar.xz'] +checksums = ['f473f2975d26c3409e112ed11ed36406fb3843fa975df575c22d4cb843085f61'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('GLib', '2.78.1'), + ('libsigc++', '3.6.0'), +] + +sanity_check_paths = { + 'files': ['lib/libglibmm-2.68.%s' % SHLIB_EXT, 'lib/libgiomm-2.68.%s' % SHLIB_EXT, + 'include/glibmm-2.68/glibmm.h', 'include/giomm-2.68/giomm.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2021-12-17-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2021-12-17-GCC-11.2.0.eb new file mode 100644 index 00000000000..b184438655e --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2021-12-17-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +# 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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2021-12-17' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9e8368bc997d79292f84a3553bc1a09c1d5ea5337d252dadc0f6ed85b4bb6dae'] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb new file mode 100644 index 00000000000..ea2e6aa59ea --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +# 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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2023-02-17' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-%(version)s_cleanup-headers.patch', + 'GMAP-GSNAP-%(version)s_fix-typecast.patch', +] +checksums = [ + {'gmap-gsnap-2023-02-17.tar.gz': 'd54abb6bc59da46823f5a1a9d94872a6b90468699112a6f375ddc7b91340db06'}, + {'GMAP-GSNAP-2023-02-17_cleanup-headers.patch': '7d17d4cbc717556e3a64475eb931b692e9d564b486acf6c9dbf4c2bf29853832'}, + {'GMAP-GSNAP-2023-02-17_fix-typecast.patch': 'eafe728cf00cf52320bbf4b710ef76b662df92533d22fa67dc273855c180296f'}, +] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +sanity_check_commands = [ + "gmap --help", + "gsnap --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch new file mode 100644 index 00000000000..99caa1f4ce8 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_cleanup-headers.patch @@ -0,0 +1,52 @@ +Remove includes of non-existing headers +author: Alex Domingo (Vrije Universiteit Brussel) +--- src/simde/x86/avx512/fmadd.h.orig 2023-02-22 01:14:34.516573000 +0100 ++++ src/simde/x86/avx512/fmadd.h 2023-02-22 01:14:41.974985000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fmsub.h.orig 2023-02-22 01:28:37.589836000 +0100 ++++ src/simde/x86/avx512/fmsub.h 2023-02-22 01:28:46.136128842 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fnmadd.h.orig 2023-02-22 01:35:50.825564000 +0100 ++++ src/simde/x86/avx512/fnmadd.h 2023-02-15 15:36:00.000000000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/fnmsub.h.orig 2023-02-22 01:42:35.610381000 +0100 ++++ src/simde/x86/avx512/fnmsub.h 2023-02-22 01:42:43.828398000 +0100 +@@ -30,7 +30,6 @@ + + #include "types.h" + #include "mov.h" +-#include "../fma.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS +--- src/simde/x86/avx512/scalef.h.orig 2023-02-22 01:48:02.614308000 +0100 ++++ src/simde/x86/avx512/scalef.h 2023-02-22 01:48:09.999588167 +0100 +@@ -3,7 +3,6 @@ + + #include "types.h" + #include "flushsubnormal.h" +-#include "../svml.h" + + HEDLEY_DIAGNOSTIC_PUSH + SIMDE_DISABLE_UNWANTED_DIAGNOSTICS diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch new file mode 100644 index 00000000000..16a9d28c3f2 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-02-17_fix-typecast.patch @@ -0,0 +1,13 @@ +Fix typecast syntax +author: Alex Domingo (Vrije Universiteit Brussel) +--- src/select64-common.h.orig 2023-02-22 02:29:16.028806000 +0100 ++++ src/select64-common.h 2023-02-22 02:28:24.058561000 +0100 +@@ -67,7 +67,7 @@ + return place + kSelectInByte[((x >> place) & 0xFF) | (byteRank << 8)]; + #elif defined(__GNUC__) || defined(__clang__) + // GCC and Clang won't inline the intrinsics. +- uint64_t result = uint64_t(1) << k; ++ uint64_t result = (uint64_t)(1) << k; + + asm("pdep %1, %0, %0\n\t" + "tzcnt %0, %0" diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-10.3.0.eb new file mode 100644 index 00000000000..855eec4f731 --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-10.3.0.eb @@ -0,0 +1,55 @@ +# 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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2023-04-20' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-2023-02-17_cleanup-headers.patch', + 'GMAP-GSNAP-2023-02-17_fix-typecast.patch', +] +checksums = [ + {'gmap-gsnap-2023-04-20.tar.gz': 'f858bc699cbcc9b3f06751ace55c86bfc21e4ca821a90b10681feac2172b725e'}, + {'GMAP-GSNAP-2023-02-17_cleanup-headers.patch': '7d17d4cbc717556e3a64475eb931b692e9d564b486acf6c9dbf4c2bf29853832'}, + {'GMAP-GSNAP-2023-02-17_fix-typecast.patch': 'eafe728cf00cf52320bbf4b710ef76b662df92533d22fa67dc273855c180296f'}, +] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +sanity_check_commands = [ + "gmap --help", + "gsnap --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.2.0.eb new file mode 100644 index 00000000000..c2372d6232a --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.2.0.eb @@ -0,0 +1,55 @@ +# 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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2023-04-20' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-2023-02-17_cleanup-headers.patch', + 'GMAP-GSNAP-2023-02-17_fix-typecast.patch', +] +checksums = [ + {'gmap-gsnap-2023-04-20.tar.gz': 'f858bc699cbcc9b3f06751ace55c86bfc21e4ca821a90b10681feac2172b725e'}, + {'GMAP-GSNAP-2023-02-17_cleanup-headers.patch': '7d17d4cbc717556e3a64475eb931b692e9d564b486acf6c9dbf4c2bf29853832'}, + {'GMAP-GSNAP-2023-02-17_fix-typecast.patch': 'eafe728cf00cf52320bbf4b710ef76b662df92533d22fa67dc273855c180296f'}, +] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +sanity_check_commands = [ + "gmap --help", + "gsnap --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.3.0.eb new file mode 100644 index 00000000000..bdd355aef6b --- /dev/null +++ b/easybuild/easyconfigs/g/GMAP-GSNAP/GMAP-GSNAP-2023-04-20-GCC-12.3.0.eb @@ -0,0 +1,55 @@ +# 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 +# 2016-11-07 modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'GMAP-GSNAP' +version = '2023-04-20' + +homepage = 'http://research-pub.gene.com/gmap/' +description = """GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences + GSNAP: Genomic Short-read Nucleotide Alignment Program""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['http://research-pub.gene.com/gmap/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'GMAP-GSNAP-2023-02-17_cleanup-headers.patch', + 'GMAP-GSNAP-2023-02-17_fix-typecast.patch', +] +checksums = [ + {'gmap-gsnap-2023-04-20.tar.gz': 'f858bc699cbcc9b3f06751ace55c86bfc21e4ca821a90b10681feac2172b725e'}, + {'GMAP-GSNAP-2023-02-17_cleanup-headers.patch': '7d17d4cbc717556e3a64475eb931b692e9d564b486acf6c9dbf4c2bf29853832'}, + {'GMAP-GSNAP-2023-02-17_fix-typecast.patch': 'eafe728cf00cf52320bbf4b710ef76b662df92533d22fa67dc273855c180296f'}, +] + +# with these deps you can use standard compressed files +# details in http://research-pub.gene.com/gmap/src/README +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +# GSNAP uses MAX_STACK_READLENGTH to control the use of stack or heap memory depending on the read length +# details in http://research-pub.gene.com/gmap/src/README +# configopts = 'MAX_STACK_READLENGTH=300' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/gmap', 'bin/gsnap'], + 'dirs': [], +} + +sanity_check_commands = [ + "gmap --help", + "gsnap --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fcd43ea1f12 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GMP-ECM' +version = '7.0.5' + +homepage = 'https://gitlab.inria.fr/zimmerma/ecm' +description = "Yet another implementation of the Elliptic Curve Method." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.inria.fr/zimmerma/ecm/uploads/89f6f0d65d3e980cef33dc922004e4b2'] +sources = ['ecm-%(version)s.tar.gz'] +checksums = ['c721dd22e557c4a5dac9ac7e156a400cd2298812dd1f9b56e89966de01471ba8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +dependencies = [('GMP', '6.2.1')] + +configopts = "--with-gmp=$EBROOTGMP --enable-shared " + +sanity_check_paths = { + 'files': ['bin/ecm', 'include/ecm.h'] + ['lib/libecm.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..41f00635646 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP-ECM/GMP-ECM-7.0.5-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'GMP-ECM' +version = '7.0.5' + +homepage = 'https://gitlab.inria.fr/zimmerma/ecm' +description = "Yet another implementation of the Elliptic Curve Method." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.inria.fr/zimmerma/ecm/uploads/89f6f0d65d3e980cef33dc922004e4b2'] +sources = ['ecm-%(version)s.tar.gz'] +checksums = ['c721dd22e557c4a5dac9ac7e156a400cd2298812dd1f9b56e89966de01471ba8'] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.40'), +] + +dependencies = [('GMP', '6.3.0')] + +configopts = "--with-gmp=$EBROOTGMP --enable-shared " + +sanity_check_paths = { + 'files': ['bin/ecm', 'include/ecm.h'] + ['lib/libecm.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e2a92bee0a6 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.2.1' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..33d857b7858 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.2.1' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8d18902ab40 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.2.1' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..15f01302836 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.2.1-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.2.1' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1be7b653e2c --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.3.0' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..29f69f73299 --- /dev/null +++ b/easybuild/easyconfigs/g/GMP/GMP-6.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GMP' +version = '6.3.0' + +homepage = 'https://gmplib.org/' +description = """ + GMP is a free library for arbitrary precision arithmetic, operating on signed + integers, rational numbers, and floating point numbers. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'precise': True, 'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), +] + +# enable C++ interface +configopts = '--enable-cxx' + +# copy libgmp.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a .libs/libgmp.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (l, e) for l in ['gmp', 'gmpxx'] for e in [SHLIB_EXT, 'a']] + + ['include/gmp.h', 'include/gmpxx.h'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2019b.eb b/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2019b.eb new file mode 100644 index 00000000000..98a54697a3e --- /dev/null +++ b/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2019b.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'GMT' +version = '6.2.0' +local_gshhg_ver = '2.3.7' +local_dcw_ver = '2.0.0' + +homepage = 'https://www.generic-mapping-tools.org/' +description = """GMT is an open source collection of about 80 command-line tools for manipulating + geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, + etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps + to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another + 40 more specialized and discipline-specific tools. """ + +toolchain = {'name': 'foss', 'version': '2019b'} + +# 'https://gmt.soest.hawaii.edu/files/download?name=' needs browser with javascript magic +source_urls = [ + 'ftp://ftp.soest.hawaii.edu/gmt', + 'ftp://ftp.soest.hawaii.edu/gshhg', + 'ftp://ftp.soest.hawaii.edu/dcw', +] +sources = [ + '%(namelower)s-%(version)s-src.tar.gz', + # coastlines, rivers, and political boundaries + 'gshhg-gmt-%s.tar.gz' % local_gshhg_ver, + # country polygons + 'dcw-gmt-%s.tar.gz' % local_dcw_ver, +] +patches = ['GMT-5.1.2_netCDF.patch'] +checksums = [ + 'ab7062912aeead1021770fad4756e0a99860fde8ea9b428fb00c22fa15a3bbfc', # gmt-6.2.0-src.tar.gz + '9bb1a956fca0718c083bef842e625797535a00ce81f175df08b042c2a92cfe7f', # gshhg-gmt-2.3.7.tar.gz + 'd71d209c837a805fed0773c03fadbb26e8c90eb6b68e496ac4a1298c3246cc7a', # dcw-gmt-2.0.0.tar.gz + '2ebe26d55521fba8d0eae48f662611491f7cc0e489833bded11628e9a71f252f', # GMT-5.1.2_netCDF.patch +] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('PCRE', '8.43'), + ('GDAL', '3.0.2', '-Python-3.7.4'), + ('netCDF', '4.7.1'), + ('Ghostscript', '9.50'), + ('cURL', '7.66.0'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +configopts = '-DCOPY_GSHHG=TRUE -DGSHHG_ROOT=%%(builddir)s/gshhg-gmt-%s ' % local_gshhg_ver +configopts += '-DCOPY_DCW=TRUE -DDCW_ROOT=%%(builddir)s/dcw-gmt-%s ' % local_dcw_ver + +sanity_check_paths = { + 'files': ['bin/%s' % b for b in ['gmt', 'isogmt', 'gmtswitch', 'gmt_shell_functions.sh']] + + ['lib64/libgmt.%s.%s' % (SHLIB_EXT, version)], + 'dirs': ['include/%(namelower)s', 'share'] +} + +modextrapaths = {'GMTHOME': ''} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2020b.eb b/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2020b.eb new file mode 100644 index 00000000000..51623405d17 --- /dev/null +++ b/easybuild/easyconfigs/g/GMT/GMT-6.2.0-foss-2020b.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'GMT' +version = '6.2.0' +local_gshhg_ver = '2.3.7' +local_dcw_ver = '2.0.0' + +homepage = 'https://www.generic-mapping-tools.org/' +description = """GMT is an open source collection of about 80 command-line tools for manipulating + geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, + etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps + to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another + 40 more specialized and discipline-specific tools. """ + +toolchain = {'name': 'foss', 'version': '2020b'} + +# 'https://gmt.soest.hawaii.edu/files/download?name=' needs browser with javascript magic +source_urls = [ + 'ftp://ftp.soest.hawaii.edu/gmt', + 'ftp://ftp.soest.hawaii.edu/gshhg', + 'ftp://ftp.soest.hawaii.edu/dcw', +] +sources = [ + '%(namelower)s-%(version)s-src.tar.gz', + # coastlines, rivers, and political boundaries + 'gshhg-gmt-%s.tar.gz' % local_gshhg_ver, + # country polygons + 'dcw-gmt-%s.tar.gz' % local_dcw_ver, +] +patches = ['GMT-5.1.2_netCDF.patch'] +checksums = [ + 'ab7062912aeead1021770fad4756e0a99860fde8ea9b428fb00c22fa15a3bbfc', # gmt-6.2.0-src.tar.gz + '9bb1a956fca0718c083bef842e625797535a00ce81f175df08b042c2a92cfe7f', # gshhg-gmt-2.3.7.tar.gz + 'd71d209c837a805fed0773c03fadbb26e8c90eb6b68e496ac4a1298c3246cc7a', # dcw-gmt-2.0.0.tar.gz + '2ebe26d55521fba8d0eae48f662611491f7cc0e489833bded11628e9a71f252f', # GMT-5.1.2_netCDF.patch +] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('PCRE', '8.44'), + ('GDAL', '3.2.1'), + ('netCDF', '4.7.4'), + ('Ghostscript', '9.53.3'), + ('cURL', '7.72.0'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +configopts = '-DCOPY_GSHHG=TRUE -DGSHHG_ROOT=%%(builddir)s/gshhg-gmt-%s ' % local_gshhg_ver +configopts += '-DCOPY_DCW=TRUE -DDCW_ROOT=%%(builddir)s/dcw-gmt-%s ' % local_dcw_ver + +sanity_check_paths = { + 'files': ['bin/%s' % b for b in ['gmt', 'isogmt', 'gmtswitch', 'gmt_shell_functions.sh']] + + ['lib64/libgmt.%s.%s' % (SHLIB_EXT, version)], + 'dirs': ['include/%(namelower)s', 'share'] +} + +modextrapaths = {'GMTHOME': ''} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.1.6-foss-2020b.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.1.6-foss-2020b.eb new file mode 100644 index 00000000000..18701693a49 --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.1.6-foss-2020b.eb @@ -0,0 +1,52 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.1.6' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/tanghaibao/goatools/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['41222308c2bc34eefd3292326a61bc215bd32831b4b2652eff00b1b8e3fcf8c6'] + +builddependencies = [('cURL', '7.72.0')] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('XlsxWriter', '1.4.0'), + ('statsmodels', '0.12.1'), + ('pydot', '1.4.2'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "sed -i 's/==[0-9]*.[0-9]*.[0-9]*//g' requirements.txt && " +# wget was here only to download some src files which we download via sources +preinstallopts += "sed -i 's/wget//g' requirements.txt && " + +local_data_dir = '%(builddir)s/%(namelower)s-%(version)s/data/*' +postinstallcmds = ["mkdir %%(installdir)s/data && cp -r %s %%(installdir)s/data" % local_data_dir] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb new file mode 100644 index 00000000000..0c453259ec8 --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2021b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.3.1' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# must download sources via git to preserve .git directory, +# since setuptools-scm is used to determine version +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '7.78.0')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('XlsxWriter', '3.0.2'), + ('statsmodels', '0.13.1'), + ('pydot', '1.4.2'), + ('openpyxl', '3.0.9'), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb new file mode 100644 index 00000000000..2f591eb3897 --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.3.1-foss-2022a.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.3.1' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# must download sources via git to preserve .git directory, +# since setuptools-scm is used to determine version +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '7.83.0')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XlsxWriter', '3.0.8'), + ('statsmodels', '0.13.1'), + ('pydot', '1.4.2'), + ('openpyxl', '3.0.10'), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2022b.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2022b.eb new file mode 100644 index 00000000000..46728a39e63 --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2022b.eb @@ -0,0 +1,73 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Pavel Tománek (Inuits) +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.4.5' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2022b'} + +# must download sources via git to preserve .git directory, +# since setuptools-scm is used to determine version +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '7.86.0')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('XlsxWriter', '3.1.2'), + ('statsmodels', '0.14.0'), + ('pydot', '2.0.0'), + ('openpyxl', '3.1.2'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('ftpretty', '0.4.0', { + 'checksums': ['61233b9212f2cceec96ee2c972738fa31cae7248e92d0874c99c04ee739bb5a9'], + }), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb new file mode 100644 index 00000000000..02e35cba627 --- /dev/null +++ b/easybuild/easyconfigs/g/GOATOOLS/GOATOOLS-1.4.5-foss-2023a.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonPackage' + +name = 'GOATOOLS' +version = '1.4.5' + +homepage = 'https://github.com/tanghaibao/goatools' +description = "A Python library for Gene Ontology analyses" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/tanghaibao', + 'repo_name': 'goatools', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [('cURL', '8.0.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('XlsxWriter', '3.1.3'), + ('statsmodels', '0.14.1'), + ('pydot', '2.0.0'), + ('openpyxl', '3.1.2'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('ftpretty', '0.4.0', { + 'checksums': ['61233b9212f2cceec96ee2c972738fa31cae7248e92d0874c99c04ee739bb5a9'], + }), +] + +download_dep_fail = True +use_pip = True + +postinstallcmds = ["cp -a %(builddir)s/goatools/data/ %(installdir)s/"] + +sanity_check_paths = { + 'files': ['bin/find_enrichment.py'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +# example test run, see https://github.com/tanghaibao/goatools/blob/master/run.sh +sanity_check_commands = [ + "mkdir -p %(builddir)s", + "cd %(builddir)s && curl -OL http://geneontology.org/ontology/go-basic.obo", + "cd %(builddir)s && curl -OL http://www.geneontology.org/ontology/subsets/goslim_generic.obo", + "cd %(builddir)s && cp -a %(installdir)s/data .", + "cd %(builddir)s && find_enrichment.py --pval=0.05 --indent data/study data/population data/association", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..565232387de --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3-GCC-11.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'Bundle' + +name = 'GOBNILP' +version = '1.6.3' +_nodots_version = version.replace('.', '') +_scip_version = '3.2.1' +_scip_nodots_version = _scip_version.replace('.', '') + +homepage = 'https://www.cs.york.ac.uk/aig/sw/gobnilp/' +description = """GOBNILP (Globally Optimal Bayesian Network learning using Integer Linear +Programming) is a C program which learns Bayesian networks from complete +discrete data or from local scores.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('SCIP', _scip_version), + ('ZIMPL', '3.3.4'), + ('SoPlex', '2.2.1'), + ('GMP', '6.2.1'), + ('libreadline', '8.1'), + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +default_easyblock = 'MakeCp' + +components = [ + ('LOP', _scip_version, { + 'source_urls': ['https://github.com/scipopt/scip/archive/refs/tags/'], + 'sources': ['v%s.tar.gz' % _scip_nodots_version], + 'patches': ['LOP-%(version)s_standalone-scip-lop-build.patch'], + 'checksums': [ + {'v321.tar.gz': + '015bdda4e681782fd03b61421b93aa3c1b913e5eea18bb8730d5fb9e4d67b4cb'}, + {'LOP-3.2.1_standalone-scip-lop-build.patch': + 'f996e56f1311fa4a613635b38969da731faf0ea9f10097799b1fa9a84598651e'}, + ], + 'start_dir': 'scip-%s/examples/%%(name)s' % _scip_nodots_version, + 'buildopts': '%(namelower)s COMP=gnu OPT=opt LPS=spx2', + 'files_to_copy': [(['bin/%(namelower)s'], 'bin')], + }), + (name, version, { + 'source_urls': ['http://www.cs.york.ac.uk/aig/sw/gobnilp'], + 'sources': ['%(namelower)s%(version)s.tar.gz'], + 'patches': ['%(name)s-%(version)s_use-eb-build-env.patch'], + 'checksums': [ + {'gobnilp1.6.3.tar.gz': + 'b31e5c87032f85f7404654beca47d472fd6c5dd7a5f82108bd5043ff0b8fa33c'}, + {'GOBNILP-1.6.3_use-eb-build-env.patch': + '9235ec8b9d05d9915f9961d4b46c2220e0d3b75f555a226a5667dcc69d76dae9'}, + ], + 'start_dir': '%(namelower)s' + _nodots_version, + 'files_to_copy': [(['bin/%(namelower)s'], 'bin')], + }), +] + +sanity_check_paths = { + 'files': ['bin/gobnilp', 'bin/lop'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch new file mode 100644 index 00000000000..e730aa76abf --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/GOBNILP-1.6.3_use-eb-build-env.patch @@ -0,0 +1,79 @@ +Use build environment and dependencies from EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2023-03-31 18:33:07.943785000 +0200 ++++ Makefile 2023-03-31 18:42:53.636293000 +0200 +@@ -5,15 +5,25 @@ + # This file was created by editing the Makefile for the linear ordering + # example in SCIP + +-# Set the path the SCIP directory +-SCIPDIR = scip +- +-# Include default project Makefile from SCIP +-include $(SCIPDIR)/make/make.project ++# Set paths and flags to SCIP libraries ++SCIPDIR = $(EBROOTSCIP) ++SCIPLIB = scip ++OBJSCIPLIB = objscip ++LPILIB = lpispx2 ++NLPILIB = nlpi.cppad ++LPSLDFLAGS = -lzimpl -lsoplex -lgmp -lreadline -lncurses -lz ++ ++# Set paths to LOP ++LOPSRC = ../scip-321/examples/LOP/src ++LOPOBJ = ../scip-321/examples/LOP/obj/cons_linearordering.o + + # This missing for scip < 3 + VALGRIND = false + ++SRCDIR = src ++OBJDIR = obj ++BINDIR = bin ++ + # Declare the phony targets + .PHONY: all doxygen manual pedmanual gobnilp clean test + +@@ -46,7 +57,7 @@ + MAINSRC = $(wildcard $(SRCDIR)/*.c) + MAINOBJ = $(notdir $(MAINSRC:.c=.o)) + +-MAIN = $(MAINNAME).$(BASE).$(LPS)$(EXEEXTENSION) ++MAIN = $(MAINNAME) + MAINFILE = $(BINDIR)/$(MAIN) + ifeq ($(OSTYPE),mingw) + MAINSHORTLINK = $(BINDIR)/$(MAINNAME).exe +@@ -63,7 +74,7 @@ + LATEXCMD = @pdflatex -halt-on-error -interaction=errorstopmode + + #Needs to appear first so that "make" makes gobnilp +-gobnilp: $(SCIP) $(MAINFILE) $(MAINSHORTLINK) ++gobnilp: $(MAINFILE) $(MAINSHORTLINK) + + #----------------------------------------------------------------------- + #---------------------------- All ---------------------------- +@@ -161,19 +172,16 @@ + + $(MAINSHORTLINK): $(MAINFILE) + @rm -f $@ +- @cd $(dir $@) && ln -s $(notdir $(MAINFILE)) $(notdir $@) + +-$(MAINFILE): $(BINDIR) $(OBJDIR) $(SCIPLIBFILE) $(LPILIBFILE) $(NLPILIBFILE) $(MAINOBJFILES) +- @echo "-> linking $@" +- @$(LINKCXX) $(STATICFLAG) $(MAINOBJFILES) \ +- $(LINKCXX_L)$(SCIPDIR)/lib $(LINKCXX_l)$(SCIPLIB)$(LINKLIBSUFFIX) \ +- $(LINKCXX_l)$(OBJSCIPLIB)$(LINKLIBSUFFIX) $(LINKCXX_l)$(LPILIB)$(LINKLIBSUFFIX) $(LINKCXX_l)$(NLPILIB)$(LINKLIBSUFFIX) \ +- $(OFLAGS) $(LPSLDFLAGS) \ +- $(LDFLAGS) $(LINKCXX_o)$@ ++$(MAINFILE): $(BINDIR) $(OBJDIR) $(MAINOBJFILES) ++ echo "-> linking $@" ++ $(CXX) -static $(MAINOBJFILES) $(LOPOBJ) \ ++ -L$(SCIPDIR)/lib -l$(SCIPLIB) -l$(OBJSCIPLIB) -l$(LPILIB) -l$(NLPILIB) \ ++ $(LDFLAGS) $(LPSLDFLAGS) -o $@ + + $(OBJDIR)/%.o: $(SRCDIR)/%.c + @echo "-> compiling $*.c" +- @$(CC) $(FLAGS) $(OFLAGS) $(BINOFLAGS) $(CFLAGS) -c -g $< $(CC_o)$@ ++ @$(CC) $(CFLAGS) $(CPPFLAGS) -I$(LOPSRC) -c -g $< -o $@ + + $(OBJDIR): + @-mkdir -p $(OBJDIR) diff --git a/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch b/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch new file mode 100644 index 00000000000..9fbb54ef086 --- /dev/null +++ b/easybuild/easyconfigs/g/GOBNILP/LOP-3.2.1_standalone-scip-lop-build.patch @@ -0,0 +1,41 @@ +Build LOP example standalone without triggering a full build of SCIP +author: Alex Domingo (Vrije Universiteit Brussel) +--- Makefile.orig 2023-03-31 18:52:55.793723000 +0200 ++++ Makefile 2023-03-31 18:54:59.590029000 +0200 +@@ -29,6 +29,7 @@ + #----------------------------------------------------------------------------- + + include $(SCIPDIR)/make/make.project ++OBJDIR = obj + + #----------------------------------------------------------------------------- + # Main Program +@@ -39,9 +40,9 @@ + MAINSRC = $(addprefix $(SRCDIR)/,$(MAINOBJ:.o=.c)) + MAINDEP = $(SRCDIR)/depend.cmain.$(OPT) + +-MAIN = $(MAINNAME).$(BASE).$(LPS)$(EXEEXTENSION) ++MAIN = $(MAINNAME) + MAINFILE = $(BINDIR)/$(MAIN) +-MAINSHORTLINK = $(BINDIR)/$(MAINNAME) ++MAINSHORTLINK = $(MAINNAME) + MAINOBJFILES = $(addprefix $(OBJDIR)/,$(MAINOBJ)) + + #----------------------------------------------------------------------------- +@@ -79,7 +80,6 @@ + + $(MAINSHORTLINK): $(MAINFILE) + @rm -f $@ +- cd $(dir $@) && ln -s $(notdir $(MAINFILE)) $(notdir $@) + + $(OBJDIR): + @-mkdir -p $(OBJDIR) +@@ -123,7 +123,7 @@ + + + # main target +-$(MAINFILE): $(BINDIR) $(OBJDIR) $(SCIPLIBFILE) $(LPILIBFILE) $(NLPILIBFILE) $(MAINOBJFILES) ++$(MAINFILE): $(BINDIR) $(OBJDIR) $(MAINOBJFILES) + @echo "-> linking $@" + ifeq ($(VERBOSE),true) + $(LINKCXX) $(MAINOBJFILES) \ diff --git a/easybuild/easyconfigs/g/GOMC/GOMC-2.76-20230613-GCC-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GOMC/GOMC-2.76-20230613-GCC-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..fbe1458a01a --- /dev/null +++ b/easybuild/easyconfigs/g/GOMC/GOMC-2.76-20230613-GCC-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'GOMC' +version = '2.76-20230613' +versionsuffix = '-CUDA-%(cudaver)s' +_commit = '9fc85fb' + +homepage = 'https://gomc-wsu.org/' +description = """GPU Optimized Monte Carlo (GOMC) is a parallel molecular +simulation code designed for high-performance simulation of large systems.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/GOMC-WSU/GOMC/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }, +] +checksums = ['14725836707e4525cc7daea219a6eb47a8aeb675d01ef6d16ad60a9986dd3c1e'] + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['6.0', '7.0', '7.5', '8.0', '8.6'] +configopts = '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s" ' + +preinstallopts = 'mkdir %(installdir)s/bin &&' +install_cmd = 'cp' +installopts = '%(builddir)s/easybuild_obj/%(name)s_{CPU,GPU}_* %(installdir)s/bin' + +_gomc_exe = ['GOMC_CPU_GCMC', 'GOMC_CPU_GEMC', 'GOMC_CPU_NPT', 'GOMC_CPU_NVT', 'GOMC_GPU_GCMC', + 'GOMC_GPU_GEMC', 'GOMC_GPU_NPT', 'GOMC_GPU_NVT'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _gomc_exe], + 'dirs': [], +} + +sanity_check_commands = ['%s | grep "Info: GOMC"' % x for x in _gomc_exe] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GOTCHA/GOTCHA-1.0.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GOTCHA/GOTCHA-1.0.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4810ca2d6d3 --- /dev/null +++ b/easybuild/easyconfigs/g/GOTCHA/GOTCHA-1.0.7-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = "CMakeMake" + +name = "GOTCHA" +version = "1.0.7" + +homepage = "https://gotcha.readthedocs.io/en/latest/" +description = """Gotcha is a library that wraps functions. Tools can use gotcha to install hooks into other +libraries, for example putting a wrapper function around libc's malloc. It is similar to LD_PRELOAD, but +operates via a programmable API. This enables easy methods of accomplishing tasks like code instrumentation +or wholesale replacement of mechanisms in programs without disrupting their source code.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/GOTCHA/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1ecc1917a46ba0a63b75f0668b280e447afcb7623ad171caa35c596355d986f7'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Check', '0.15.2') +] + +configopts = [ + "-DGOTCHA_ENABLE_TESTS=ON", + "-DDEPENDENCIES_PREINSTALLED=ON" +] + +sanity_check_paths = { + 'files': [('lib/libgotcha.%s' % SHLIB_EXT, 'lib64/libgotcha.%s' % SHLIB_EXT), + 'lib/cmake/gotcha/gotcha-config.cmake', + 'include/gotcha/gotcha.h'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.63.1-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.63.1-GCCcore-8.3.0-Python-3.7.4.eb index 7935cf54c15..afc3ea274bb 100644 --- a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.63.1-GCCcore-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.63.1-GCCcore-8.3.0-Python-3.7.4.eb @@ -20,7 +20,7 @@ checksums = ['476379bde8d080d92dd1bb1684f6aa8d79d90ddb81fc85dfa3576e36f9777ab6'] builddependencies = [ ('binutils', '2.32'), ('pkg-config', '0.29.2'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('flex', '2.6.4'), ('Bison', '3.3.2'), diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.68.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.68.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4309184ce19 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.68.0-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.68.0' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('cairo', '1.16.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('GLib', '2.69.1'), + ('libffi', '3.4.2'), + ('util-linux', '2.37'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.72.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.72.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0ef33f9c6c0 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.72.0-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.72.0' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['02fe8e590861d88f83060dd39cda5ccaa60b2da1d21d0f95499301b186beaabc'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('cairo', '1.17.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('GLib', '2.72.1'), + ('libffi', '3.4.2'), + ('util-linux', '2.38'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f4d572664a7 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.74.0-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.74.0' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['347b3a719e68ba4c69ff2d57ee2689233ea8c07fc492205e573386779e42d653'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('cairo', '1.17.4'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('GLib', '2.75.0'), + ('libffi', '3.4.4'), + ('util-linux', '2.38.1'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.76.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.76.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5b64d4bc2ab --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.76.1-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.76.1' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['196178bf64345501dcdc4d8469b36aa6fe80489354efe71cb7cb8ab82a3738bf'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('cairo', '1.17.8'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('GLib', '2.77.1'), + ('libffi', '3.4.4'), + ('util-linux', '2.39'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.78.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.78.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1a8a0f4320b --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.78.1-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.78.1' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('cairo', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('GLib', '2.78.1'), + ('libffi', '3.4.4'), + ('util-linux', '2.39'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..83ab6981ae3 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1-GCCcore-13.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'GObject-Introspection' +version = '1.80.1' + +homepage = 'https://gi.readthedocs.io/en/latest/' +description = """GObject introspection is a middleware layer between C libraries + (using GObject) and language bindings. The C library can be scanned at + compile time and generate a metadata file, in addition to the actual + native C library. Then at runtime, language bindings can read this + metadata and automatically provide bindings to call into the C library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GObject-Introspection-1.80.1_install-GLib-GIR-files.patch'] +checksums = [ + {'gobject-introspection-1.80.1.tar.xz': 'a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8'}, + {'GObject-Introspection-1.80.1_install-GLib-GIR-files.patch': + 'c1909f1b7fd30784ae789ac0b5e45e0ca3dd2456890b864efa86a2f8c2e563aa'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('CMake', '3.29.3'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('Python', '3.12.3'), + ('Bison', '3.8.2'), + ('cairo', '1.18.0'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('GLib', '2.80.4'), + ('libffi', '3.4.5'), + ('util-linux', '2.40'), +] + +preconfigopts = "env GI_SCANNER_DISABLE_CACHE=true " +configopts = "-Dcairo=enabled" + +sanity_check_paths = { + 'files': ['bin/g-ir-%s' % x for x in ['annotation-tool', 'compiler', 'generate', 'scanner']] + + ['lib/libgirepository-1.0.' + SHLIB_EXT], + 'dirs': ['include', 'share'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1_install-GLib-GIR-files.patch b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1_install-GLib-GIR-files.patch new file mode 100644 index 00000000000..5c09ded1cb2 --- /dev/null +++ b/easybuild/easyconfigs/g/GObject-Introspection/GObject-Introspection-1.80.1_install-GLib-GIR-files.patch @@ -0,0 +1,52 @@ +This reverts a commit from upstream +> build: Do not install generated GLib GIR files +> +> GLib 2.79 ships its own introspection data. + +However GObject-Introspection requires (optionally) Cairo, which requires GLib +which requires GLib-Introspection for generating the introspection data. + +So there is a cyclic dependency, see https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/517 + +Author: Alexander Grund (TU Dresden) + +diff --git a/gir/meson.build b/gir/meson.build +index 3a016831..312aa886 100644 +--- a/gir/meson.build ++++ b/gir/meson.build +@@ -241,6 +241,8 @@ glib_gir = custom_target('gir-glib', + output: 'GLib-2.0.gir', + depends: [gir_giscanner_pymod, glib_gir_dep, gdump], + depend_files: gir_giscanner_built_files, ++ install: true, ++ install_dir: girdir, + env: g_ir_scanner_env, + command: glib_command + [ + '--cflags-begin'] + glib_includes + extra_giscanner_cflags + [ +@@ -308,6 +310,8 @@ gobject_gir = custom_target('gir-gobject', + output: 'GObject-2.0.gir', + depends: [glib_gir, gir_giscanner_pymod, gobject_gir_dep, gdump], + depend_files: gir_giscanner_built_files, ++ install: true, ++ install_dir: girdir, + env: g_ir_scanner_env, + command: gobject_command + [ + '--include-uninstalled=' + glib_gir.full_path(), +@@ -360,6 +364,8 @@ uninstalled_gir_files += custom_target('gir-gmodule', + output: 'GModule-2.0.gir', + depends: [glib_gir, gir_giscanner_pymod, gmodule_gir_dep, gdump], + depend_files: gir_giscanner_built_files, ++ install: true, ++ install_dir: girdir, + env: g_ir_scanner_env, + command: gmodule_command + [ + '--include-uninstalled=' + glib_gir.full_path(), +@@ -455,6 +461,8 @@ gio_gir = custom_target('gir-gio', + output: 'Gio-2.0.gir', + depends: [gobject_gir, gir_giscanner_pymod, gio_gir_dep, gdump], + depend_files: gir_giscanner_built_files, ++ install: true, ++ install_dir: girdir, + env: g_ir_scanner_env, + command: gio_command + [ + '--include-uninstalled=' + gobject_gir.full_path(), 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-20.1.0-Add-Easybuild-configuration-files.patch b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-Add-Easybuild-configuration-files.patch index e64b4d0f7da..551d7ead70d 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-Add-Easybuild-configuration-files.patch +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-Add-Easybuild-configuration-files.patch @@ -24,7 +24,7 @@ new file mode 100644 index 0000000..5be60fa --- /dev/null +++ b/doc/platforms/Linux/EasyBuild/config_foss.py -@@ -0,0 +1,49 @@ +@@ -0,0 +1,53 @@ +# Convert static library specs from EasyBuild to GPAW +def static_eblibs_to_gpawlibs(lib_specs): + return [libfile[3:-2] for libfile in os.getenv(lib_specs).split(',')] diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-foss-2019b-Python-3.7.4.eb index 49832a9822a..67b6ba7a5f0 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-foss-2019b-Python-3.7.4.eb @@ -21,7 +21,7 @@ patches = [ checksums = [ 'c84307eb9943852d78d966c0c8856fcefdefa68621139906909908fb641b8421', # gpaw-20.1.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', # GPAW-20.1.0-Wrap-pragma-omp-simd-in-ifdef-_OPENMP-blocks.patch 'bf0e0179ce9261197a10a3a934ce3a8d46489b635a3130a5ceb2fe0fee67bb14', ] @@ -32,7 +32,7 @@ dependencies = [ ('ASE', '3.19.0', versionsuffix), ('libxc', '4.3.4'), ('libvdwxc', '0.4.0'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-intel-2019b-Python-3.7.4.eb index f87fd8a0abd..e2df43f33a3 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.1.0-intel-2019b-Python-3.7.4.eb @@ -21,7 +21,7 @@ patches = [ checksums = [ 'c84307eb9943852d78d966c0c8856fcefdefa68621139906909908fb641b8421', # gpaw-20.1.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', # GPAW-20.1.0-Wrap-pragma-omp-simd-in-ifdef-_OPENMP-blocks.patch 'bf0e0179ce9261197a10a3a934ce3a8d46489b635a3130a5ceb2fe0fee67bb14', ] @@ -32,7 +32,7 @@ dependencies = [ ('SciPy-bundle', '2019.10', versionsuffix), ('ASE', '3.19.0', versionsuffix), ('libxc', '4.3.4'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2019b-ASE-3.20.1-Python-3.7.4.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2019b-ASE-3.20.1-Python-3.7.4.eb index 67379b2bc14..3226c8a9aca 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2019b-ASE-3.20.1-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2019b-ASE-3.20.1-Python-3.7.4.eb @@ -24,7 +24,7 @@ patches = [ checksums = [ '77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d', # gpaw-20.10.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', '50d3d46d87baf365e64eeb2cedf66fe9a28a763e04c157f9c1f8a610fd71eab5', # GPAW-20.10.0-test-mpi.patch ] @@ -34,7 +34,7 @@ dependencies = [ ('ASE', _aseversion, _pythonsuffix), ('libxc', '4.3.4'), ('libvdwxc', '0.4.0'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2020b.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2020b.eb index 1dd3ad51a45..6758eb60891 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2020b.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-foss-2020b.eb @@ -19,7 +19,7 @@ patches = [ checksums = [ '77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d', # gpaw-20.10.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', '50d3d46d87baf365e64eeb2cedf66fe9a28a763e04c157f9c1f8a610fd71eab5', # GPAW-20.10.0-test-mpi.patch ] @@ -29,7 +29,7 @@ dependencies = [ ('ASE', '3.20.1'), ('libxc', '4.3.4'), ('libvdwxc', '0.4.0'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2019b-ASE-3.20.1-Python-3.7.4.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2019b-ASE-3.20.1-Python-3.7.4.eb index 784eb04d4fa..d19ddaf4ded 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2019b-ASE-3.20.1-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2019b-ASE-3.20.1-Python-3.7.4.eb @@ -24,7 +24,7 @@ patches = [ checksums = [ '77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d', # gpaw-20.10.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', '50d3d46d87baf365e64eeb2cedf66fe9a28a763e04c157f9c1f8a610fd71eab5', # GPAW-20.10.0-test-mpi.patch ] @@ -33,7 +33,7 @@ dependencies = [ ('SciPy-bundle', '2019.10', _pythonsuffix), ('ASE', _aseversion, _pythonsuffix), ('libxc', '4.3.4'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2020b.eb b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2020b.eb index 8264ef0a7fd..0714f4060f1 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2020b.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-20.10.0-intel-2020b.eb @@ -19,7 +19,7 @@ patches = [ checksums = [ '77c3d3918f5cc118e448f8063af4807d163b31d502067f5cbe31fc756eb3971d', # gpaw-20.10.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', '50d3d46d87baf365e64eeb2cedf66fe9a28a763e04c157f9c1f8a610fd71eab5', # GPAW-20.10.0-test-mpi.patch ] @@ -29,7 +29,7 @@ dependencies = [ ('SciPy-bundle', '2020.11'), ('ASE', '3.20.1'), ('libxc', '4.3.4'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-foss-2020b-ASE-3.21.1.eb b/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-foss-2020b-ASE-3.21.1.eb index 77370423b34..7c888723000 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-foss-2020b-ASE-3.21.1.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-foss-2020b-ASE-3.21.1.eb @@ -20,7 +20,7 @@ patches = [ checksums = [ '96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3', # gpaw-21.1.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', ] dependencies = [ @@ -29,7 +29,7 @@ dependencies = [ ('ASE', _aseversion), ('libxc', '4.3.4'), ('libvdwxc', '0.4.0'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-intel-2020b-ASE-3.21.1.eb b/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-intel-2020b-ASE-3.21.1.eb index f8f2758be19..978ddc9ef57 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-intel-2020b-ASE-3.21.1.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-21.1.0-intel-2020b-ASE-3.21.1.eb @@ -20,7 +20,7 @@ patches = [ checksums = [ '96843b68e04bd1c12606036c9f99b0ddfa5e6ee08ce46835e6bb347a6bd560a3', # gpaw-21.1.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', ] dependencies = [ @@ -28,7 +28,7 @@ dependencies = [ ('SciPy-bundle', '2020.11'), ('ASE', _aseversion), ('libxc', '4.3.4'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_intel.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..465fd9c9b07 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2020b-ASE-3.22.0.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '21.6.0' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +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': '2020b'} +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 = [ + '5bb805bf514a7b04e3fdfce6f7864d150032badc5cd2805c57513af982d7a9cc', # gpaw-21.6.0.tar.gz + # GPAW-20.1.0-Add-Easybuild-configuration-files.patch + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('ASE', _aseversion), + ('libxc', '4.3.4'), + ('libvdwxc', '0.4.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-21.6.0-foss-2021a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2021a.eb index c88a6eea7e1..2abce4c3ad2 100644 --- a/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2021a.eb +++ b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-foss-2021a.eb @@ -19,7 +19,7 @@ patches = [ checksums = [ '5bb805bf514a7b04e3fdfce6f7864d150032badc5cd2805c57513af982d7a9cc', # gpaw-21.6.0.tar.gz # GPAW-20.1.0-Add-Easybuild-configuration-files.patch - 'a12440bf63af70b891a63989b0f048bb8ebf4f60499020ea09259937f04cd042', + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', ] dependencies = [ @@ -28,7 +28,7 @@ dependencies = [ ('ASE', '3.22.0'), ('libxc', '5.1.5'), ('libvdwxc', '0.4.0'), - ('GPAW-setups', '0.9.20000', '', True), + ('GPAW-setups', '0.9.20000', '', SYSTEM), ] prebuildopts = 'GPAW_CONFIG=doc/platforms/Linux/EasyBuild/config_foss.py' diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-intel-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-intel-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..56885619470 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-21.6.0-intel-2020b-ASE-3.22.0.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '21.6.0' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +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': '2020b'} +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 = [ + '5bb805bf514a7b04e3fdfce6f7864d150032badc5cd2805c57513af982d7a9cc', # gpaw-21.6.0.tar.gz + # GPAW-20.1.0-Add-Easybuild-configuration-files.patch + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', +] + +# The intel version is not built with libvdwxc support, as that library is incompatible with MKL. +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('ASE', _aseversion), + ('libxc', '4.3.4'), + ('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-22.8.0-Remove-MPI-compiler-hack.patch b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Remove-MPI-compiler-hack.patch new file mode 100644 index 00000000000..da9d3311269 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Remove-MPI-compiler-hack.patch @@ -0,0 +1,35 @@ +Author: Jakob Schiøtz +Date: Thu Jan 27 11:55:07 CET 2022 + +This patch removes the part of setup.py responsible for replacing the +normal compiler with an MPI aware compiler, as that is already done +correctly by the EasyBuild system. + +--- setup.old 2022-01-26 14:37:48.522572258 +0100 ++++ setup.py 2022-01-26 14:39:55.973416534 +0100 +@@ -104,25 +104,6 @@ + if platform_id: + os.environ['_PYTHON_HOST_PLATFORM'] = get_platform() + '-' + platform_id + +-if compiler is not None: +- # A hack to change the used compiler and linker: +- try: +- # distutils is deprecated and will be removed in 3.12 +- from distutils.sysconfig import get_config_vars +- except ImportError: +- from sysconfig import get_config_vars +- +- # If CC is set then the following hack will not work +- assert not os.environ.get('CC'), 'Please unset CC' +- +- vars = get_config_vars() +- for key in ['CC', 'LDSHARED']: +- if key in vars: +- value = vars[key].split() +- # first argument is the compiler/linker. Replace with mpicompiler: +- value[0] = compiler +- vars[key] = ' '.join(value) +- + for flag, name in [(noblas, 'GPAW_WITHOUT_BLAS'), + (nolibxc, 'GPAW_WITHOUT_LIBXC'), + (fftw, 'GPAW_WITH_FFTW'), diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch new file mode 100644 index 00000000000..f52f396627a --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch @@ -0,0 +1,53 @@ +From 79eb7a47726f7e0f644d0b9bddf3840b227a2f73 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jens=20J=C3=B8rgen=20Mortensen?= +Date: Wed, 21 Sep 2022 12:10:16 +0200 +Subject: [PATCH] Test too strict for EasyBuild intel/2020b toolchain + +--- + gpaw/test/gllb/test_variants.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/gpaw/test/gllb/test_variants.py b/gpaw/test/gllb/test_variants.py +index 0b9ede0..8a51261 100644 +--- a/gpaw/test/gllb/test_variants.py ++++ b/gpaw/test/gllb/test_variants.py +@@ -1,8 +1,8 @@ +-import pytest + import numpy as np ++import pytest + from ase.build import bulk +-from gpaw.test import gen + from gpaw import GPAW ++from gpaw.test import gen + + + def run(xc): +@@ -19,7 +19,7 @@ def run(xc): + xc=xc, + convergence={'density': 1e-5}, + kpts={'size': (1, 1, 1), 'gamma': True}, +- txt='{}.out'.format(xc)) ++ txt=f'{xc}.out') + atoms.calc = calc + atoms.get_potential_energy() + eig_n = calc.get_eigenvalues(kpt=0) +@@ -35,7 +35,7 @@ def test_wrappers(xc, in_tmp_dir, add_cwd_to_setup_paths): + # Check values against regular xc + ref_eig_n = run({'GLLBLDA': 'LDA', 'GLLBPBE': 'PBE'}[xc]) + assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=1e-8), \ +- "{} error = {}".format(xc, np.max(np.abs(eig_n - ref_eig_n))) ++ f'{xc} error = {np.max(np.abs(eig_n - ref_eig_n))}' + + + refs = {'GLLB': +@@ -70,5 +70,5 @@ refs = {'GLLB': + def test_eigenvalues(xc, in_tmp_dir, add_cwd_to_setup_paths): + eig_n = run(xc) + ref_eig_n = refs[xc] +- assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=5e-6), \ +- "{} error = {}".format(xc, np.max(np.abs(eig_n - ref_eig_n))) ++ assert np.allclose(eig_n, ref_eig_n, rtol=0, atol=2e-5), \ ++ f'{xc} error = {np.max(np.abs(eig_n - ref_eig_n))}' +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2021b.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2021b.eb new file mode 100644 index 00000000000..cc8928a6e81 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2021b.eb @@ -0,0 +1,50 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '22.8.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': '2021b'} +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), + ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), +] +checksums = [ + '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c', # gpaw-22.8.0.tar.gz + # GPAW-20.1.0-Add-Easybuild-configuration-files.patch + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', + '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e', # GPAW-22.8.0-Remove-MPI-compiler-hack.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('ASE', '3.22.1'), + ('libxc', '5.1.6'), + ('PyYAML', '5.4.1'), + ('libvdwxc', '0.4.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-22.8.0-foss-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb new file mode 100644 index 00000000000..2a7e04552e6 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '22.8.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), + ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), + ('GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch', 1), +] +checksums = [ + {'gpaw-22.8.0.tar.gz': '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, + {'GPAW-22.8.0-Remove-MPI-compiler-hack.patch': '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e'}, + {'GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch': + '207d98ab3b390330f832a77edf5e436b9ec46610add6c0487acaa63b2aa489a1'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ASE', '3.22.1'), + ('libxc', '5.2.3'), + ('libvdwxc', '0.4.0'), + ('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-22.8.0-intel-2021b.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2021b.eb new file mode 100644 index 00000000000..343180bbb51 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2021b.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '22.8.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': '2021b'} +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), + ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), +] +checksums = [ + '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c', # gpaw-22.8.0.tar.gz + # GPAW-20.1.0-Add-Easybuild-configuration-files.patch + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15', + '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e', # GPAW-22.8.0-Remove-MPI-compiler-hack.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('ASE', '3.22.1'), + ('libxc', '5.1.6'), + ('PyYAML', '5.4.1'), + ('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-22.8.0-intel-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb new file mode 100644 index 00000000000..8055d042a4c --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-22.8.0-intel-2022a.eb @@ -0,0 +1,52 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '22.8.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), + ('GPAW-22.8.0-Remove-MPI-compiler-hack.patch', 0), + ('GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch', 1), +] +checksums = [ + {'gpaw-22.8.0.tar.gz': '311eae8cb046f720e77e2e955042758c6e66d37c1fcbaf5d35e2834294a4ed6c'}, + {'GPAW-20.1.0-Add-Easybuild-configuration-files.patch': + '2b337399479bf018a86156ed073dd7a78ec8c0df1f28b015f9284c6bf9fa5f15'}, + {'GPAW-22.8.0-Remove-MPI-compiler-hack.patch': '44ca47fefb1bd409bae7da0a2f35125571dc927dc98f7cbca948ce86d25aa77e'}, + {'GPAW-22.8.0-Test-too-strict-for-EasyBuild.patch': + '207d98ab3b390330f832a77edf5e436b9ec46610add6c0487acaa63b2aa489a1'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ASE', '3.22.1'), + ('libxc', '5.2.3'), + ('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-23.9.1-foss-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2022a.eb new file mode 100644 index 00000000000..3b483fafeee --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '23.9.1' + +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-23.9.1.tar.gz': '19a24840b876003528864b7a0b38fc0d456800b83b8666b1f724273660745b47'}, + {'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-23.9.1-foss-2023a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb new file mode 100644 index 00000000000..60828cc4f31 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '23.9.1' + +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-23.9.1.tar.gz': '19a24840b876003528864b7a0b38fc0d456800b83b8666b1f724273660745b47'}, + {'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-23.9.1-intel-2022a.eb b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-intel-2022a.eb new file mode 100644 index 00000000000..65e38c0e70b --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-23.9.1-intel-2022a.eb @@ -0,0 +1,48 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '23.9.1' + +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-23.9.1.tar.gz': '19a24840b876003528864b7a0b38fc0d456800b83b8666b1f724273660745b47'}, + {'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-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/GPAW/GPAW-24.6.0-foss-2023a-ASE-3.23.0.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-foss-2023a-ASE-3.23.0.eb new file mode 100644 index 00000000000..62db4b69440 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-foss-2023a-ASE-3.23.0.eb @@ -0,0 +1,52 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.6.0' +_aseversion = '3.23.0' +versionsuffix = '-ASE-' + _aseversion + +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.6.0.tar.gz': 'fb48ef0db48c0e321ce5967126a47900bba20c7efb420d6e7b5459983bd8f6f6'}, + {'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', _aseversion), + ('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.6.0-intel-2023a-ASE-3.23.0.eb b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-intel-2023a-ASE-3.23.0.eb new file mode 100644 index 00000000000..dc4091af2d3 --- /dev/null +++ b/easybuild/easyconfigs/g/GPAW/GPAW-24.6.0-intel-2023a-ASE-3.23.0.eb @@ -0,0 +1,51 @@ +easyblock = "PythonPackage" + +name = 'GPAW' +version = '24.6.0' +_aseversion = '3.23.0' +versionsuffix = '-ASE-' + _aseversion + +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.6.0.tar.gz': 'fb48ef0db48c0e321ce5967126a47900bba20c7efb420d6e7b5459983bd8f6f6'}, + {'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', _aseversion), + ('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/GPflow/GPflow-2.9.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8838542f89b --- /dev/null +++ b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'GPflow' +version = '2.9.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://gpflow.github.io' +description = """GPflow is a package for building Gaussian process models in Python. It +implements modern Gaussian process inference for composable kernels and +likelihoods.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0', versionsuffix), + ('tensorflow-probability', '0.19.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('dropstackframe', '0.1.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['d619c7f87d144660f4569d447648830932f7920d570fd14f0dec552c81a0eb22'], + }), + ('lark', '1.1.9', { + 'checksums': ['15fa5236490824c2c4aba0e22d2d6d823575dcaf4cdd1848e34b6ad836240fba'], + }), + ('check_shapes', '1.1.1', { + 'checksums': ['b699fcb1e60bb17e2c97007e444b89eeeea2a9102ff11d61fb52454af5348403'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('gpflow', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/GPflow/GPflow/archive/'], + 'checksums': ['a32914c2b581b1dd2ac9a6f40352adb5f6f2c32f53028382e542014dd829553e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2022a.eb b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2022a.eb new file mode 100644 index 00000000000..b94a4e3bc29 --- /dev/null +++ b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'GPflow' +version = '2.9.2' + +homepage = 'https://gpflow.github.io' +description = """GPflow is a package for building Gaussian process models in Python. It +implements modern Gaussian process inference for composable kernels and +likelihoods.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0'), + ('tensorflow-probability', '0.19.0'), +] + +use_pip = True + +exts_list = [ + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('dropstackframe', '0.1.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['d619c7f87d144660f4569d447648830932f7920d570fd14f0dec552c81a0eb22'], + }), + ('lark', '1.1.9', { + 'checksums': ['15fa5236490824c2c4aba0e22d2d6d823575dcaf4cdd1848e34b6ad836240fba'], + }), + ('check_shapes', '1.1.1', { + 'checksums': ['b699fcb1e60bb17e2c97007e444b89eeeea2a9102ff11d61fb52454af5348403'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('gpflow', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/GPflow/GPflow/archive/'], + 'checksums': ['a32914c2b581b1dd2ac9a6f40352adb5f6f2c32f53028382e542014dd829553e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2023a.eb b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2023a.eb new file mode 100644 index 00000000000..a2a0f0a5adc --- /dev/null +++ b/easybuild/easyconfigs/g/GPflow/GPflow-2.9.2-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'GPflow' +version = '2.9.2' + +homepage = 'https://gpflow.github.io' +description = """GPflow is a package for building Gaussian process models in Python. It +implements modern Gaussian process inference for composable kernels and +likelihoods.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('TensorFlow', '2.13.0'), + ('tensorflow-probability', '0.20.0'), +] + +use_pip = True + +exts_list = [ + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('dropstackframe', '0.1.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['d619c7f87d144660f4569d447648830932f7920d570fd14f0dec552c81a0eb22'], + }), + ('lark', '1.1.9', { + 'checksums': ['15fa5236490824c2c4aba0e22d2d6d823575dcaf4cdd1848e34b6ad836240fba'], + }), + ('check_shapes', '1.1.1', { + 'checksums': ['b699fcb1e60bb17e2c97007e444b89eeeea2a9102ff11d61fb52454af5348403'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('gpflow', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/GPflow/GPflow/archive/'], + 'checksums': ['a32914c2b581b1dd2ac9a6f40352adb5f6f2c32f53028382e542014dd829553e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GPy/GPy-1.10.0-foss-2021b.eb b/easybuild/easyconfigs/g/GPy/GPy-1.10.0-foss-2021b.eb new file mode 100644 index 00000000000..18477ef9c28 --- /dev/null +++ b/easybuild/easyconfigs/g/GPy/GPy-1.10.0-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'GPy' +version = '1.10.0' + +homepage = 'https://sheffieldml.github.io/GPy' +description = "GPy is a Gaussian Process (GP) framework written in Python" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), +] + +use_pip = True + +exts_list = [ + ('paramz', '0.9.5', { + 'checksums': ['0917211c0f083f344e7f1bc997e0d713dbc147b6380bc19f606119394f820b9a'], + }), + (name, version, { + 'checksums': ['a2b793ef8d0ac71739e7ba1c203bc8a5afa191058b42caa617e0e29aa52aa6fb'], + 'modulename': name, + }), +] + + +# note: running the tests takes 15-20min! +sanity_check_commands = ["python -c 'import GPy; GPy.tests()'"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GPyOpt/GPyOpt-1.2.6-foss-2023a.eb b/easybuild/easyconfigs/g/GPyOpt/GPyOpt-1.2.6-foss-2023a.eb new file mode 100644 index 00000000000..ca08a08a88c --- /dev/null +++ b/easybuild/easyconfigs/g/GPyOpt/GPyOpt-1.2.6-foss-2023a.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'GPyOpt' +version = '1.2.6' + +homepage = 'https://sheffieldml.github.io/GPyOpt' +description = "GPyOpt is a Python open-source library for Bayesian Optimization" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +use_pip = True + +exts_list = [ + ('paramz', '0.9.6', { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['4916be6f77f457316bcac8460be9c226026aed81fe7be302b32c0ba74e2ac6dd'], + }), + ('GPy', '1.13.2', { + 'modulename': 'GPy', + 'checksums': ['a38256b4dda536a5b5e6134a3924b42d454e987ee801fb6fc8b55a922da27920'], + }), + ('python-dateutil', '2.9.0.post0', { + 'modulename': 'dateutil', + 'checksums': ['37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3'], + }), + ('pyDOE', '0.3.8', { + 'modulename': '%(name)s', + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['cbd6f14ae26d3c9f736013205f53ea1191add4567033c3ee77b7dd356566c4b6'], + }), + ('sobol-seq', '0.2.0', { + 'sources': ['sobol_seq-%(version)s.tar.gz'], + 'checksums': ['e16e701bd7b03ec6ce65b3a64c9205799f6a2d00c2054dd8c4ff4343f3981172'], + }), + ('emcee', '2.2.1', { + 'checksums': ['b83551e342b37311897906b3b8acf32979f4c5542e0a25786ada862d26241172'], + }), + (name, version, { + 'modulename': 'GPyOpt', + 'checksums': ['e714daa035bb529a6db23c53665a762a4ab3456b9329c19ad3b03983f94c9b2a'], + }), +] + +local_GPy_file = '%(installdir)s/lib/python%(pyshortver)s/site-packages/GPy/plotting/matplot_dep/plot_definitions.py' + +# Fix GPy with matplotlib>=3.4.0 +# see issue 953 and fix from https://github.com/SheffieldML/GPy/pull/960 +postinstallcmds = [ + 'sed -i ' + '''-e 's|ax._process_unit_info(xdata=X, ydata=y1)|ax._process_unit_info([("x", X), ("y", y1)], convert=False)|' ''' + '''-e 's|ax._process_unit_info(ydata=y2)|ax._process_unit_info([("y", y2)], convert=False)|' %s''' % local_GPy_file, +] + + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.10-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.10-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..7ac2f0969e8 --- /dev/null +++ b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.10-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GPyTorch' +version = '1.10' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://gpytorch.ai' +description = "GPyTorch is a Gaussian process library implemented using PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('scikit-learn', '1.1.2'), +] + +use_pip = True + +exts_list = [ + ('linear-operator', '0.4.0', { + 'source_tmpl': 'linear_operator-%(version)s.tar.gz', + 'checksums': ['7c57c9f8f258c9785c0db4dd7625f4dd03a340313d7314cba0b633644909f5c6'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['6dc978ab9fbf220a845a4f1ea13104180fc50e6934081f421b37f6120afb7f18'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..9cea5b81569 --- /dev/null +++ b/easybuild/easyconfigs/g/GPyTorch/GPyTorch-1.9.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'GPyTorch' +version = '1.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://gpytorch.ai' +description = "GPyTorch is a Gaussian process library implemented using PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.12.1', versionsuffix), + ('scikit-learn', '0.24.2'), +] + +use_pip = True + +exts_list = [ + ('linear-operator', '0.3.0', { + 'source_tmpl': 'linear_operator-%(version)s.tar.gz', + 'checksums': ['84bf572631a7e1576de6920d81600ca0fedcf6bda2f29dbaf440d6e72ce6abab'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['0bdbba6f6d5957a0f43ef6dc7fec39c47e8a55f632ca33760c6189f259b3ccc3'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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.6.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb index e510b702e29..bdc49cd4e20 100644 --- a/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GRASS/GRASS-7.6.0-foss-2018b-Python-2.7.15.eb @@ -51,7 +51,7 @@ dependencies = [ ('zstd', '1.4.0'), ] -preconfigopts = "sed -e 's/-lblas/\$LIBBLAS/g' -e 's/-llapack/\$LIBLAPACK/g' -i configure &&" +preconfigopts = r"sed -e 's/-lblas/\$LIBBLAS/g' -e 's/-llapack/\$LIBLAPACK/g' -i configure &&" configopts = '--enable-64bit ' configopts += '--enable-largefile=yes ' configopts += '--with-cairo=yes ' 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 new file mode 100644 index 00000000000..97d62f13261 --- /dev/null +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0-foss-2021b.eb @@ -0,0 +1,96 @@ +easyblock = 'ConfigureMake' + +name = 'GRASS' +version = '8.2.0' + +homepage = "https://grass.osgeo.org" +description = """The Geographic Resources Analysis Support System - used + for geospatial data management and analysis, image processing, + graphics and maps production, spatial modeling, and visualization""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://grass.osgeo.org/grass%s/source' % ''.join(version.split('.')[:2])] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_GCC_ldlibs.patch'] +checksums = [ + {'grass-8.2.0.tar.gz': '621c3304a563be19c0220ae28f931a5e9ba74a53218c5556cd3f7fbfcca33a80'}, + {'GRASS-8.2.0_GCC_ldlibs.patch': '771edf64c583218d28529c53845218a6ab774179999b9b92edb4de32954edc49'}, +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('gettext', '0.21'), + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('netCDF', '4.8.1'), + ('GDAL', '3.3.2'), + ('libspatialite', '5.0.1'), + ('GEOS', '3.9.1'), + ('PROJ', '8.1.0'), + ('SQLite', '3.36'), + ('freetype', '2.11.0'), + ('LibTIFF', '4.3.0'), + ('cairo', '1.16.0'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('wxPython', '4.2.0'), + ('zstd', '1.5.0'), +] + +preconfigopts = "sed -e 's/-lblas/$LIBBLAS/g' -e 's/-llapack/$LIBLAPACK/g' -i configure && " + +configopts = '--enable-largefile=yes ' +configopts += '--with-cairo=yes ' +configopts += '--with-cxx ' +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 += '--with-lapack ' +configopts += '--with-lapack-libs=$LAPACK_LIB_DIR ' +configopts += '--with-lapack-includes=$LAPACK_INC_DIR ' +configopts += '--with-blas ' +configopts += '--with-blas-libs=$BLAS_LIB_DIR ' +configopts += '--with-blas-includes=$BLAS_INC_DIR ' +configopts += '--with-netcdf=$EBROOTNETCDF/bin/nc-config ' +configopts += '--without-odbc ' +configopts += '--with-opengl ' +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-libs=$EBROOTPROJ/lib ' +configopts += '--with-proj-includes=$EBROOTPROJ/include --with-proj-share=$EBROOTPROJ/share/proj ' +configopts += '--with-pthread ' +configopts += '--with-readline ' +configopts += '--with-readline-libs=$EBROOTLIBREADLINE/lib --with-readline-includes=$EBROOTLIBREADLINE/include ' +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-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 = [ + 'ln -s grass%(version_major)s%(version_minor)s %(installdir)s/grass%(version_major)s', +] + +sanity_check_paths = { + 'files': ['bin/grass'], + 'dirs': ['grass%(version_major)s%(version_minor)s'] +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch new file mode 100644 index 00000000000..d8af9023033 --- /dev/null +++ b/easybuild/easyconfigs/g/GRASS/GRASS-8.2.0_GCC_ldlibs.patch @@ -0,0 +1,15 @@ +Use mathlib and threads in the LDFLAGS + +Åke Sandgren, 2022-12-07 +diff -ru grass-8.2.0.orig/configure grass-8.2.0/configure +--- grass-8.2.0.orig/configure 2022-06-03 15:27:06.000000000 +0200 ++++ grass-8.2.0/configure 2022-12-07 14:23:37.234003038 +0100 +@@ -4031,7 +4031,7 @@ + SHLIB_LD_FLAGS="-Wl,-soname,\$(notdir \$@)" + SHLIB_SUFFIX=".so" + SHLIB_LD="${CC} -shared" +- LDFLAGS="-Wl,--export-dynamic" ++ LDFLAGS="-pthread -lm -Wl,--export-dynamic" + LD_SEARCH_FLAGS='-Wl,-rpath-link,${LIB_RUNTIME_DIR} -Wl,-rpath,${INST_DIR}/lib' + LD_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" + ;; diff --git a/easybuild/easyconfigs/g/GRIDSS/GRIDSS-2.13.2-foss-2021b-Java-11.eb b/easybuild/easyconfigs/g/GRIDSS/GRIDSS-2.13.2-foss-2021b-Java-11.eb new file mode 100644 index 00000000000..68924b5d99d --- /dev/null +++ b/easybuild/easyconfigs/g/GRIDSS/GRIDSS-2.13.2-foss-2021b-Java-11.eb @@ -0,0 +1,48 @@ +# # +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Jordi Blasco +# License:: GPL-v3.0 +# Author: Åke Sandgren (HPC2N) +# # + +easyblock = 'BinariesTarball' + +name = 'GRIDSS' +version = '2.13.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/PapenfussLab/gridss/wiki/GRIDSS-Documentation' +description = """GRIDSS is a module software suite containing tools useful for +the detection of genomic rearrangements. GRIDSS includes a genome-wide +break-end assembler, as well as a structural variation caller for Illumina +sequencing data. GRIDSS calls variants based on alignment-guided positional de +Bruijn graph genome-wide break-end assembly, split read, and read pair +evidence.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'PapenfussLab' +source_urls = [GITHUB_LOWER_RELEASE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4d5651b1fc27928c0f76f1e8e7b90a74e6feae0c1cb9abea17fa2bd359f1d704'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('picard', '2.25.1', versionsuffix, SYSTEM), + ('R', '4.1.2'), + ('SAMtools', '1.14'), + ('BWA', '0.7.17'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gridss-%(version)s-gridss-jar-with-dependencies.jar', 'gridss.config.R', + 'gridss_somatic_filter', 'libgridss.R', 'gridss']], + 'dirs': [], +} + +modextrapaths = { + 'GRIDSS_JAR': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-foss-2019b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-foss-2019b.eb index 41bfe8d5061..6050943b9f4 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-foss-2019b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-foss-2019b.eb @@ -37,13 +37,15 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', 'GROMACS-2018_dont_do_gpu_tests_on_cpu_build.patch', + 'GROMACS-2019_fix_cpu_detection.patch', ] checksums = [ '4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573', # gromacs-2019.3.tar.gz # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', # GROMACS-2018_dont_do_gpu_tests_on_cpu_build.patch - '727cc1afd9061002390e474b01aeb40efd984e6b7febd1cfe5e69a0a82b21f06' + '727cc1afd9061002390e474b01aeb40efd984e6b7febd1cfe5e69a0a82b21f06', + '6e305416773639e050f8cef6195e9de6f4555b213d093210bb0b2c0f37e9ef91', # GROMACS-2019_fix_cpu_detection.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-fosscuda-2019b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-fosscuda-2019b.eb index e7c29a6de9b..31b3d4f24d6 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.3-fosscuda-2019b.eb @@ -37,6 +37,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2019_fix_cpu_detection.patch', ] checksums = [ '4211a598bf3b7aca2b14ad991448947da9032566f13239b1a05a2d4824357573', # gromacs-2019.3.tar.gz @@ -44,6 +45,7 @@ checksums = [ '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', # GROMACS-2019_increase_test_timeout_for_GPU.patch '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + '6e305416773639e050f8cef6195e9de6f4555b213d093210bb0b2c0f37e9ef91', # GROMACS-2019_fix_cpu_detection.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-foss-2019b-PLUMED-2.5.4.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-foss-2019b-PLUMED-2.5.4.eb new file mode 100644 index 00000000000..582265358ee --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-foss-2019b-PLUMED-2.5.4.eb @@ -0,0 +1,58 @@ +## +# 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 +# * J. Sassmannshausen (Crick HPC team) +# * Lars Viklund +# License:: MIT/GPL +# + +name = 'GROMACS' +version = '2019.4' +local_plum_ver = '2.5.4' +versionsuffix = '-PLUMED-%s' % local_plum_ver + +homepage = 'http://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 builds. +""" + +toolchain = {'name': 'foss', 'version': '2019b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2018_dont_do_gpu_tests_on_cpu_build.patch', +] +checksums = [ + 'ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867', # gromacs-2019.4.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2018_dont_do_gpu_tests_on_cpu_build.patch + '727cc1afd9061002390e474b01aeb40efd984e6b7febd1cfe5e69a0a82b21f06', +] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [ + ('PLUMED', local_plum_ver, '-Python-3.7.4'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b-PLUMED-2.5.4.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b-PLUMED-2.5.4.eb new file mode 100644 index 00000000000..c7f4b27ddd7 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b-PLUMED-2.5.4.eb @@ -0,0 +1,60 @@ +## +# 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 +# * Lars Viklund +# License:: MIT/GPL +# 2019.3 version +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# + +name = 'GROMACS' +version = '2019.4' +local_plum_ver = '2.5.4' +versionsuffix = '-PLUMED-%s' % local_plum_ver + +homepage = 'http://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 binaries. +""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', +] +checksums = [ + 'ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867', # gromacs-2019.4.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', +] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [ + ('PLUMED', local_plum_ver, '-Python-3.7.4'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b.eb new file mode 100644 index 00000000000..23d4e624864 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019.4-fosscuda-2019b.eb @@ -0,0 +1,54 @@ +## +# 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 +# * Lars Viklund +# License:: MIT/GPL +# 2019.3 version +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# + +name = 'GROMACS' +version = '2019.4' + +homepage = 'http://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 binaries. +""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', +] +checksums = [ + 'ba4366eedfc8a1dbf6bddcef190be8cd75de53691133f305a7f9c296e5ca1867', # gromacs-2019.4.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', +] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_cpu_detection.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_cpu_detection.patch new file mode 100644 index 00000000000..abcb6023c92 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2019_fix_cpu_detection.patch @@ -0,0 +1,47 @@ +There is a bug in the CPU detection when using CMake from 2019b toolchain. +Taking the diff between 2019 and 2019.4 makes the problem go away. + +Åke Sandgren, 20211026 +diff -ru gromacs-2019/cmake/gmxDetectCpu.cmake gromacs-2019.4/cmake/gmxDetectCpu.cmake +--- gromacs-2019/cmake/gmxDetectCpu.cmake 2017-07-23 18:42:23.000000000 +0200 ++++ gromacs-2019.4/cmake/gmxDetectCpu.cmake 2019-10-02 08:23:32.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # This file is part of the GROMACS molecular simulation package. + # +-# Copyright (c) 2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by ++# Copyright (c) 2012,2013,2014,2015,2016,2017,2019, by the GROMACS development team, led by + # Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, + # and including many others, as listed in the AUTHORS file in the + # top-level source directory and at http://www.gromacs.org. +@@ -78,13 +78,13 @@ + # for x86 we need inline assembly to use cpuid + gmx_test_inline_asm_gcc_x86(GMX_X86_GCC_INLINE_ASM) + if(GMX_X86_GCC_INLINE_ASM) +- set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM=1") ++ set(GCC_INLINE_ASM_DEFINE -DGMX_X86_GCC_INLINE_ASM=1) + else() +- set(GCC_INLINE_ASM_DEFINE "-DGMX_X86_GCC_INLINE_ASM=0") ++ set(GCC_INLINE_ASM_DEFINE -DGMX_X86_GCC_INLINE_ASM=0) + endif() + +- set(_compile_definitions "${GCC_INLINE_ASM_DEFINE} -I${PROJECT_SOURCE_DIR}/src -DGMX_CPUINFO_STANDALONE ${GMX_STDLIB_CXX_FLAGS} -DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE}") +- set(LINK_LIBRARIES "${GMX_STDLIB_LIBRARIES}") ++ set(_compile_definitions ${GCC_INLINE_ASM_DEFINE};-I${PROJECT_SOURCE_DIR}/src;-DGMX_CPUINFO_STANDALONE=1;-DGMX_TARGET_X86=${GMX_TARGET_X86_VALUE}) ++ set(LINK_LIBRARIES ${GMX_STDLIB_LIBRARIES}) + try_compile(CPU_DETECTION_COMPILED + "${PROJECT_BINARY_DIR}" + "${PROJECT_SOURCE_DIR}/src/gromacs/hardware/cpuinfo.cpp" +@@ -93,7 +93,11 @@ + OUTPUT_VARIABLE CPU_DETECTION_COMPILED_OUTPUT + COPY_FILE ${CPU_DETECTION_BINARY}) + if(NOT CPU_DETECTION_COMPILED AND NOT RUN_CPU_DETECTION_COMPILATION_QUIETLY) +- message(STATUS "Did not detect build CPU ${LOWERTYPE} - detection program did not compile") ++ if(GMX_TARGET_X86) ++ message(WARNING "CPU detection program did not compile on x86 host - this should never happen. It is VERY bad for performance, since you will lose all SIMD support. Please file a bug report.") ++ else() ++ message(WARNING "Did not detect build CPU ${LOWERTYPE} - detection program did not compile. Please file a bug report if this is a common platform.") ++ endif() + endif() + set(RUN_CPU_DETECTION_COMPILATION_QUIETLY TRUE CACHE INTERNAL "Keep quiet on any future compilation attempts") + endif() diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020-fosscuda-2019b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020-fosscuda-2019b.eb index c38602c4db9..686ba6389a4 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020-fosscuda-2019b.eb @@ -34,6 +34,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2020_add-missing-sync.patch', ] checksums = [ '477e56142b3dcd9cb61b8f67b24a55760b04d1655e8684f979a75a5eec40ba01', # gromacs-2020.tar.gz @@ -41,6 +42,7 @@ checksums = [ '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', # GROMACS-2019_increase_test_timeout_for_GPU.patch '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + '3c9d7017422a722a960d26ad955d7a0f72a1305a6234bcb53851cc62662b96c9', # GROMACS-2020_add-missing-sync.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.3-fosscuda-2019b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.3-fosscuda-2019b.eb index 0f66c5d02ad..b717b38c5e5 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.3-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.3-fosscuda-2019b.eb @@ -34,6 +34,7 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2020_add-missing-sync.patch', ] checksums = [ '903183691132db14e55b011305db4b6f4901cc4912d2c56c131edfef18cc92a9', # gromacs-2020.3.tar.gz @@ -41,6 +42,7 @@ checksums = [ '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', # GROMACS-2019_increase_test_timeout_for_GPU.patch '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + '3c9d7017422a722a960d26ad955d7a0f72a1305a6234bcb53851cc62662b96c9', # GROMACS-2020_add-missing-sync.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.5-fosscuda-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.5-fosscuda-2020a-Python-3.8.2.eb index 0b802e3a1b0..0e0b5ada105 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.5-fosscuda-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020.5-fosscuda-2020a-Python-3.8.2.eb @@ -44,6 +44,7 @@ patches = [ 'GROMACS-2020_fix_gmxapi_gmx_allowed_cmd_name.patch', 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', 'GROMACS-2020.4_correct_gcc9_check.patch', + 'GROMACS-2020_add-missing-sync.patch', ] checksums = [ '7b6aff647f7c8ee1bf12204d02cef7c55f44402a73195bd5f42cf11850616478', # gromacs-2020.5.tar.gz @@ -58,6 +59,7 @@ checksums = [ # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', 'fd614b84a48b7702dbb59410f2c6a1604864942caf9594e50c29a73e87023871', # GROMACS-2020.4_correct_gcc9_check.patch + '3c9d7017422a722a960d26ad955d7a0f72a1305a6234bcb53851cc62662b96c9', # GROMACS-2020_add-missing-sync.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2020_add-missing-sync.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020_add-missing-sync.patch new file mode 100644 index 00000000000..706888bd2e4 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2020_add-missing-sync.patch @@ -0,0 +1,39 @@ +Add missing sync in LINCS and SETTLE CUDA kernels +https://gitlab.com/gromacs/gromacs/-/merge_requests/2499 +Patch added to EasyBuild by Simon Branford (University of Birmingham) +diff --git a/src/gromacs/mdlib/lincs_cuda.cu b/src/gromacs/mdlib/lincs_cuda.cu +index 27ad86f17f..4964a3d040 100644 +--- a/src/gromacs/mdlib/lincs_cuda.cu ++++ b/src/gromacs/mdlib/lincs_cuda.cu +@@ -382,11 +382,15 @@ __launch_bounds__(c_maxThreadsPerBlock) __global__ + sm_threadVirial[d * blockDim.x + (threadIdx.x + dividedAt)]; + } + } +- // Syncronize if not within one warp ++ // Synchronize if not within one warp + if (dividedAt > warpSize / 2) + { + __syncthreads(); + } ++ else ++ { ++ __syncwarp(); ++ } + } + // First 6 threads in the block add the results of 6 tensor components to the global memory address. + if (threadIdx.x < 6) +diff --git a/src/gromacs/mdlib/settle_cuda.cu b/src/gromacs/mdlib/settle_cuda.cu +index c02f0d5884..c6ca1e2452 100644 +--- a/src/gromacs/mdlib/settle_cuda.cu ++++ b/src/gromacs/mdlib/settle_cuda.cu +@@ -352,6 +352,10 @@ __launch_bounds__(c_maxThreadsPerBlock) __global__ + { + __syncthreads(); + } ++ else ++ { ++ __syncwarp(); ++ } + } + // First 6 threads in the block add the 6 components of virial to the global memory address + if (tib < 6) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021-fosscuda-2020b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021-fosscuda-2020b.eb index 5a529a9533b..706f52ed24b 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021-fosscuda-2020b.eb @@ -40,6 +40,7 @@ patches = [ 'GROMACS-2019_increase_test_timeout_for_GPU.patch', 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021_add-missing-sync.patch', ] checksums = [ 'efa78ab8409b0f5bf0fbca174fb8fbcf012815326b5c71a9d7c385cde9a8f87b', # gromacs-2021.tar.gz @@ -51,6 +52,7 @@ checksums = [ 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.2-fosscuda-2020b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.2-fosscuda-2020b.eb index 13d039f411a..abde5c23639 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.2-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.2-fosscuda-2020b.eb @@ -40,6 +40,7 @@ patches = [ 'GROMACS-2019_increase_test_timeout_for_GPU.patch', 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021_add-missing-sync.patch', ] checksums = [ 'd940d865ea91e78318043e71f229ce80d32b0dc578d64ee5aa2b1a4be801aadb', # gromacs-2021.2.tar.gz @@ -51,6 +52,7 @@ checksums = [ 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch ] builddependencies = [ diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1-PLUMED-2.7.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1-PLUMED-2.7.2.eb new file mode 100644 index 00000000000..60b10be1daf --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1-PLUMED-2.7.2.eb @@ -0,0 +1,100 @@ +# 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 +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.3' +_plumedver = '2.7.2' +_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. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021.3_skip_test_for_plumed.patch', + 'GROMACS-2021_add-missing-sync.patch', +] +checksums = [ + 'e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6', # gromacs-2021.3.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch + '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', + 'c06d0a8c3e75b232224f46bc3b70e135c4c02ec4151712970f5edd85d890f018', # GROMACS-2021.3_skip_test_for_plumed.patch + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('PLUMED', _plumedver), + ('UCX-CUDA', '1.10.0', _cuda_suffix), +] + +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.2.0', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['3954bf123da12fc60bcfaeed8263f5e2d3e16e5136c2bb5c8207b20fa7406788'], + }), +] + +# PLUMED-2.7.2 does not officially support GROMACS-2021.3, but seems to work fine +ignore_plumed_version_check = True + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..88ab48e3311 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,92 @@ +# 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 +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.3' +versionsuffix = '-CUDA-%(cudaver)s' + +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. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021_add-missing-sync.patch', +] +checksums = [ + 'e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6', # gromacs-2021.3.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch + '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', versionsuffix), +] + +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.2.0', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['3954bf123da12fc60bcfaeed8263f5e2d3e16e5136c2bb5c8207b20fa7406788'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-PLUMED-2.7.2.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-PLUMED-2.7.2.eb new file mode 100644 index 00000000000..2eede738232 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a-PLUMED-2.7.2.eb @@ -0,0 +1,96 @@ +# 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 +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.3' +_plumedver = '2.7.2' +versionsuffix = '-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 CPU only 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': '2021a'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021.3_skip_test_for_plumed.patch', +] +checksums = [ + 'e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6', # gromacs-2021.3.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch + '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', + # GROMACS-2021.3_skip_test_for_plumed.patch + 'c06d0a8c3e75b232224f46bc3b70e135c4c02ec4151712970f5edd85d890f018', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('PLUMED', _plumedver), +] +# PLUMED-2.7.2 does not officially support GROMACS-2021.3, but seems to work fine +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.2.0', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['3954bf123da12fc60bcfaeed8263f5e2d3e16e5136c2bb5c8207b20fa7406788'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a.eb new file mode 100644 index 00000000000..9e518ea3825 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3-foss-2021a.eb @@ -0,0 +1,88 @@ +# 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 +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.3' + +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 builds +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch', +] +checksums = [ + 'e109856ec444768dfbde41f3059e3123abdb8fe56ca33b1a83f31ed4575a1cc6', # gromacs-2021.3.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2020.5_fix_threads_gpu_Gmxapitests.patch + '89fbb7e2754de45573632c74f53563bb979df9758c949238a35865391d6b53fb', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), +] + +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.2.0', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['3954bf123da12fc60bcfaeed8263f5e2d3e16e5136c2bb5c8207b20fa7406788'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3_skip_test_for_plumed.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3_skip_test_for_plumed.patch new file mode 100644 index 00000000000..b9f86bf473b --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.3_skip_test_for_plumed.patch @@ -0,0 +1,26 @@ +Skip test checking output of 'mdrun -h' when patched with PLUMED, as it adds an extra option '-hrex' +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur gromacs-2021.3.orig/src/programs/mdrun/tests/CMakeLists.txt gromacs-2021.3/src/programs/mdrun/tests/CMakeLists.txt +--- gromacs-2021.3.orig/src/programs/mdrun/tests/CMakeLists.txt 2021-08-18 11:49:23.000000000 +0200 ++++ gromacs-2021.3/src/programs/mdrun/tests/CMakeLists.txt 2021-11-16 17:04:47.612357764 +0100 +@@ -51,20 +51,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) + + set(testname "MdrunModulesTests") + set(exename "mdrun-modules-test") diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1-PLUMED-2.8.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1-PLUMED-2.8.0.eb new file mode 100644 index 00000000000..f54123b4866 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1-PLUMED-2.8.0.eb @@ -0,0 +1,104 @@ +# 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 +# * Dugan Witherick +# * Christoph Siegert +# * J. Sassmannshausen +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.5' +_plumedver = '2.8.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': '2021b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021.3_skip_test_for_plumed.patch', + 'GROMACS-2021_add-missing-sync.patch', +] +checksums = [ + 'eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6', # gromacs-2021.5.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch + '7d39da0b431fbc9e94e857552246eb0ec892f26b13e519b3706785cc5e01a563', + # GROMACS-2021.3_skip_test_for_plumed.patch + 'c06d0a8c3e75b232224f46bc3b70e135c4c02ec4151712970f5edd85d890f018', + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('scikit-build', '0.11.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('PLUMED', _plumedver), + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', _cuda_suffix), +] + +# PLUMED-2.8.0 does not officially support GROMACS-2021.5, but seems to work fine +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.2.2.1', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['e24d507585e1a7808a5ee3ed04da5d6577f2a8961bbeafa7068528e00aa6b20d'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..2ae42d897ca --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,93 @@ +# 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 = '2021.5' +versionsuffix = '-CUDA-%(cudaver)s' + +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. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021_add-missing-sync.patch', +] +checksums = [ + 'eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6', # gromacs-2021.5.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch + '7d39da0b431fbc9e94e857552246eb0ec892f26b13e519b3706785cc5e01a563', + '52ee257309ff7761c2dd5b26de7dbc63f8ba698082adb88e2843f90e3f9168bf', # GROMACS-2021_add-missing-sync.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +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.2.2.1', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['e24d507585e1a7808a5ee3ed04da5d6577f2a8961bbeafa7068528e00aa6b20d'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-PLUMED-2.8.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-PLUMED-2.8.0.eb new file mode 100644 index 00000000000..f9233c3c161 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b-PLUMED-2.8.0.eb @@ -0,0 +1,99 @@ +# 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 +# * Dugan Witherick +# * Christoph Siegert +# * J. Sassmannshausen +# License:: MIT/GPL + +name = 'GROMACS' +version = '2021.5' +_plumedver = '2.8.0' +versionsuffix = '-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 CPU only 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': '2021b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch', + 'GROMACS-2021.3_skip_test_for_plumed.patch', +] +checksums = [ + 'eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6', # gromacs-2021.5.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch + '7d39da0b431fbc9e94e857552246eb0ec892f26b13e519b3706785cc5e01a563', + # GROMACS-2021.3_skip_test_for_plumed.patch + 'c06d0a8c3e75b232224f46bc3b70e135c4c02ec4151712970f5edd85d890f018', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('scikit-build', '0.11.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('PLUMED', _plumedver), +] + +# PLUMED-2.7.3 does not officially support GROMACS-2021.5, but seems to work fine +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.2.2.1', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['e24d507585e1a7808a5ee3ed04da5d6577f2a8961bbeafa7068528e00aa6b20d'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b.eb new file mode 100644 index 00000000000..b55f57ae0d5 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5-foss-2021b.eb @@ -0,0 +1,89 @@ +# 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 = '2021.5' + +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 builds +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch', +] +checksums = [ + 'eba63fe6106812f72711ef7f76447b12dd1ee6c81b3d8d4d0e3098cd9ea009b6', # gromacs-2021.5.tar.gz + # GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275', + # GROMACS-2019_increase_test_timeout_for_GPU.patch + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234', + # GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49', + # GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch + '7d39da0b431fbc9e94e857552246eb0ec892f26b13e519b3706785cc5e01a563', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('scikit-build', '0.11.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), +] + +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.2.2.1', { + 'preinstallopts': "export GMXTOOLCHAINDIR=%(installdir)s/share/cmake/gromacs_mpi && ", + 'checksums': ['e24d507585e1a7808a5ee3ed04da5d6577f2a8961bbeafa7068528e00aa6b20d'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch new file mode 100644 index 00000000000..d0bfe9eacf9 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch @@ -0,0 +1,66 @@ +Don't overwrite PYTHONPATH when executing tests, add to it instead. +Unset OMP_NUM_THREADS when GMX_THREAD_MPI enabled. + +Åke Sandgren, 20200309 +Dugan Witherick, 20210112 +Christoph Siegert, 20220203 + +diff -ruN gromacs-2021.5.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt gromacs-2021.5/python_packaging/sample_restraint/tests/CMakeGROMACS.txt +--- gromacs-2021.5.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2022-02-03 12:46:42.308693114 +0100 ++++ gromacs-2021.5/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2022-02-03 15:49:25.973628494 +0100 +@@ -21,13 +21,21 @@ + get_target_property(GMXBIN gmx RUNTIME_OUTPUT_DIRECTORY) + get_target_property(GMXAPI_PYTHON_STAGING_DIR _gmxapi staging_dir) + get_target_property(PLUGINPATH gmxapi_extension LIBRARY_OUTPUT_DIRECTORY) +-add_custom_target(gmxapi_extension_pytest +- COMMAND ${CMAKE_COMMAND} +- -E env GMXBIN=${GMXBIN} PYTHONPATH=${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} +- ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR +- ${CMAKE_CURRENT_SOURCE_DIR} +- DEPENDS gmxapi_extension _gmxapi) ++if (NOT GMX_THREAD_MPI) ++ add_custom_target(gmxapi_extension_pytest ++ COMMAND ${CMAKE_COMMAND} -E env GMXBIN=${GMXBIN} PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} ++ ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} ++ DEPENDS gmxapi_extension _gmxapi ++ WORKING_DIRECTORY ${PLUGINPATH}) ++else() ++ add_custom_target(gmxapi_extension_pytest ++ COMMAND ${CMAKE_COMMAND} -E env --unset=OMP_NUM_THREADS GMXBIN=${GMXBIN} PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} ++ ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} ++ DEPENDS gmxapi_extension _gmxapi ++ WORKING_DIRECTORY ${PLUGINPATH}) ++endif() + # The current test fixtures require the `gmx` tool-wrapper executable. ++ + add_dependencies(gmxapi_extension_pytest gmx) + + add_dependencies(tests gmxapi_extension_histogram-test gmxapi_extension_bounding-test) +diff -ruN gromacs-2021.5.orig/python_packaging/src/test/CMakeLists.txt gromacs-2021.5/python_packaging/src/test/CMakeLists.txt +--- gromacs-2021.5.orig/python_packaging/src/test/CMakeLists.txt 2022-02-03 12:46:42.383694802 +0100 ++++ gromacs-2021.5/python_packaging/src/test/CMakeLists.txt 2022-02-03 14:33:29.920236268 +0100 +@@ -63,11 +63,19 @@ + + # TODO: (#2961) Let the Python package discover required resources instead of passing GMXBIN + get_target_property(GMXBIN gmx RUNTIME_OUTPUT_DIRECTORY) +-add_custom_target(gmxapi_pytest +- COMMAND ${CMAKE_COMMAND} -E env GMXBIN=${GMXBIN} +- ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} +- DEPENDS _gmxapi +- WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) ++if (NOT GMX_THREAD_MPI) ++ add_custom_target(gmxapi_pytest ++ COMMAND ${CMAKE_COMMAND} -E env GMXBIN=${GMXBIN} ++ ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} ++ DEPENDS _gmxapi ++ WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) ++else() ++ add_custom_target(gmxapi_pytest ++ COMMAND ${CMAKE_COMMAND} -E env --unset=OMP_NUM_THREADS GMXBIN=${GMXBIN} ++ ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} ++ DEPENDS _gmxapi ++ WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) ++endif() + # The current test fixtures require the `gmx` tool-wrapper executable. + add_dependencies(gmxapi_pytest gmx) + diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021_add-missing-sync.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021_add-missing-sync.patch new file mode 100644 index 00000000000..78b6264feef --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2021_add-missing-sync.patch @@ -0,0 +1,39 @@ +Add missing sync in LINCS and SETTLE CUDA kernels +https://gitlab.com/gromacs/gromacs/-/merge_requests/2499 +Patch added to EasyBuild by Simon Branford (University of Birmingham) +diff --git a/src/gromacs/mdlib/lincs_gpu.cu b/src/gromacs/mdlib/lincs_gpu.cu +index 27ad86f17f..4964a3d040 100644 +--- a/src/gromacs/mdlib/lincs_gpu.cu ++++ b/src/gromacs/mdlib/lincs_gpu.cu +@@ -382,11 +382,15 @@ __launch_bounds__(c_maxThreadsPerBlock) __global__ + sm_threadVirial[d * blockDim.x + (threadIdx.x + dividedAt)]; + } + } +- // Syncronize if not within one warp ++ // Synchronize if not within one warp + if (dividedAt > warpSize / 2) + { + __syncthreads(); + } ++ else ++ { ++ __syncwarp(); ++ } + } + // First 6 threads in the block add the results of 6 tensor components to the global memory address. + if (threadIdx.x < 6) +diff --git a/src/gromacs/mdlib/settle_gpu.cu b/src/gromacs/mdlib/settle_gpu.cu +index c02f0d5884..c6ca1e2452 100644 +--- a/src/gromacs/mdlib/settle_gpu.cu ++++ b/src/gromacs/mdlib/settle_gpu.cu +@@ -352,6 +352,10 @@ __launch_bounds__(c_maxThreadsPerBlock) __global__ + { + __syncthreads(); + } ++ else ++ { ++ __syncwarp(); ++ } + } + // First 6 threads in the block add the 6 components of virial to the global memory address + if (tib < 6) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..fdefe9a299b --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,91 @@ +# 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.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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 binaries. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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-%(version)s_fix_env_for_subprocesses.patch', + 'GROMACS-%(version)s_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-%(version)s_fix_tests_for_gmx_thread_mpi.patch', +] +checksums = [ + {'gromacs-2023.1.tar.gz': 'eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'}, + {'GROMACS-2023.1_fix_env_for_subprocesses.patch': + '39ba066c936cddc190bab13c47d6af1575f5d7737d5c0719fe46211a13cd3539'}, + {'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.24.3'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), +] + +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.0', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2023.1.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a.eb new file mode 100644 index 00000000000..23dfc2084f5 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1-foss-2022a.eb @@ -0,0 +1,89 @@ +# 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.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': '2022a'} +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-%(version)s_fix_env_for_subprocesses.patch', + 'GROMACS-%(version)s_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-%(version)s_fix_tests_for_gmx_thread_mpi.patch', +] +checksums = [ + {'gromacs-2023.1.tar.gz': 'eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'}, + {'GROMACS-2023.1_fix_env_for_subprocesses.patch': + '39ba066c936cddc190bab13c47d6af1575f5d7737d5c0719fe46211a13cd3539'}, + {'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.24.3'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), +] + +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.0', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2023.1.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_env_for_subprocesses.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_env_for_subprocesses.patch new file mode 100644 index 00000000000..b9f3bb536bd --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_env_for_subprocesses.patch @@ -0,0 +1,206 @@ +Fix for providing a more carefully filtered environment for subprocesses, based on GROMACS PR #3574: +https://gitlab.com/gromacs/gromacs/-/merge_requests/3574 + +Author: Bob Dröge, University of Groningen + +diff -ru gromacs-2023.1-orig/python_packaging/gmxapi/src/gmxapi/commandline.py gromacs-2023.1/python_packaging/gmxapi/src/gmxapi/commandline.py +--- gromacs-2023.1-orig/python_packaging/gmxapi/src/gmxapi/commandline.py 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/gmxapi/src/gmxapi/commandline.py 2023-05-09 10:42:28.800802318 +0200 +@@ -507,16 +507,9 @@ + shell = gmx.make_constant(False) + + if env is None: +- +- @gmx.function_wrapper( +- # allow_duplicate=True +- ) +- def _env() -> dict: +- import os +- +- return dict(os.environ) +- +- env = _env().output.data ++ env = gmx.function_wrapper(allow_duplicate=True)( ++ gmxapi.runtime.filtered_mpi_environ ++ )().output.data + cli_args = {"command": command, "shell": shell, "env": env} + cli_args.update(**kwargs) + if stdin is not None: +diff -ru gromacs-2023.1-orig/python_packaging/gmxapi/src/gmxapi/runtime.py gromacs-2023.1/python_packaging/gmxapi/src/gmxapi/runtime.py +--- gromacs-2023.1-orig/python_packaging/gmxapi/src/gmxapi/runtime.py 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/gmxapi/src/gmxapi/runtime.py 2023-05-09 10:44:50.869215242 +0200 +@@ -67,6 +67,8 @@ + """ + + __all__ = ( ++ "filtered_mpi_environ", ++ "filtered_prefixes", + "scoped_resources", + "ResourceAllocation", + "ResourceAssignment", +@@ -75,12 +77,11 @@ + + import dataclasses + import functools ++import os + import threading + import typing + import warnings + import weakref +-from typing import TYPE_CHECKING +-from _weakref import ReferenceType + from contextlib import contextmanager + + import gmxapi.utility +@@ -100,9 +101,9 @@ + logger.info("Importing {}".format(__name__)) + + +-if TYPE_CHECKING: ++if typing.TYPE_CHECKING: + try: +- import Comm as Communicator ++ import mpi4py.MPI.Comm as Communicator + except ImportError: + Communicator = None + +@@ -760,3 +761,43 @@ + yield resources + finally: + resources.close() ++ ++ ++filtered_prefixes = ( ++ "DCMF_", # IBM ++ "MPICH_", ++ "MPIEXEC_", ++ "MPIO_", # IBM ++ "MV2_", # MVAPICH2 and some forks ++ "MVAPICH_", ++ "HYDRA_", # MPICH ++ "OMPI_", # OpenMPI ++ "PMI_", # Process Management Interface ++ "PMIX_", # Newer PMI and batch systems ++ "I_MPI_", # Intel MPI ++) ++"""MPI-related environment variable prefixes. ++ ++Environment variable prefixes known to be associated with MPI implementations, ++which may affect MPI context detection, and which should not matter outside of ++MPI contexts. ++ ++References: ++ * :issue:`4423` ++ * :issue:`4736` ++ ++""" ++ ++ ++def filtered_mpi_environ() -> dict: ++ """Return a filtered environment variables map with MPI-related entries removed. ++ ++ See Also: ++ :py:data:`filtered_prefixes` ++ ++ """ ++ return { ++ key: value ++ for key, value in os.environ.items() ++ if not any(key.startswith(prefix) for prefix in filtered_prefixes) ++ } +diff -ru gromacs-2023.1-orig/python_packaging/gmxapi/test/conftest.py gromacs-2023.1/python_packaging/gmxapi/test/conftest.py +--- gromacs-2023.1-orig/python_packaging/gmxapi/test/conftest.py 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/gmxapi/test/conftest.py 2023-05-09 10:46:49.399228381 +0200 +@@ -73,7 +73,8 @@ + Prepare the MD input in a freshly created working directory. + Solvate a 5nm cubic box with spc water. Return a dictionary of the artifacts produced. + """ +- import gmxapi as gmx ++ import gmxapi ++ import gmxapi.runtime + from gmxapi.testsupport import scoped_chdir + + # TODO: (#2896) Fetch MD input from package / library data. +@@ -108,7 +109,7 @@ + fh.write("\n") + + assert os.path.exists(topfile) +- solvate = gmx.commandline_operation( ++ solvate = gmxapi.commandline_operation( + gmxcli, + arguments=["solvate", "-box", "5", "5", "5"], + # We use the default solvent instead of specifying one. +@@ -117,7 +118,6 @@ + "-p": topfile, + "-o": structurefile, + }, +- env={"PATH": os.getenv("PATH")}, + ) + assert os.path.exists(topfile) + +@@ -154,7 +154,7 @@ + # it will be created in the current working directory. + mdout_mdp = os.path.join(tempdir, "mdout.mdp") + +- grompp = gmx.commandline_operation( ++ grompp = gmxapi.commandline_operation( + gmxcli, + "grompp", + input_files={ +@@ -164,7 +164,6 @@ + "-po": mdout_mdp, + }, + output_files={"-o": tprfile}, +- env={"PATH": os.getenv("PATH")}, + ) + tprfilename = grompp.output.file["-o"].result() + if grompp.output.returncode.result() != 0: +diff -ru gromacs-2023.1-orig/python_packaging/sample_restraint/tests/conftest.py gromacs-2023.1/python_packaging/sample_restraint/tests/conftest.py +--- gromacs-2023.1-orig/python_packaging/sample_restraint/tests/conftest.py 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/sample_restraint/tests/conftest.py 2023-05-09 10:48:39.500098358 +0200 +@@ -48,7 +48,8 @@ + + Prepare the MD input in a freshly created working directory. + """ +- import gmxapi as gmx ++ import gmxapi ++ import gmxapi.runtime + from gmxapi.testsupport import scoped_chdir + + # TODO: (#2896) Fetch MD input from package / library data. +@@ -83,8 +84,8 @@ + fh.write("\n") + + assert os.path.exists(topfile) +- assert gmx.version.api_is_at_least(0, 3, 1) +- solvate = gmx.commandline_operation( ++ assert gmxapi.version.api_is_at_least(0, 3, 1) ++ solvate = gmxapi.commandline_operation( + gmxcli, + arguments=["solvate", "-box", "5", "5", "5"], + # We use the default solvent instead of specifying one. +@@ -93,7 +94,6 @@ + "-p": topfile, + "-o": structurefile, + }, +- env={"PATH": os.getenv("PATH")}, + ) + assert os.path.exists(topfile) + +@@ -128,7 +128,7 @@ + # it will be created in the current working directory. + mdout_mdp = os.path.join(tempdir, "mdout.mdp") + +- grompp = gmx.commandline_operation( ++ grompp = gmxapi.commandline_operation( + gmxcli, + "grompp", + input_files={ +@@ -138,7 +138,6 @@ + "-po": mdout_mdp, + }, + output_files={"-o": tprfile}, +- env={"PATH": os.getenv("PATH")}, + ) + tprfilename = grompp.output.file["-o"].result() + if grompp.output.returncode.result() != 0: diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch new file mode 100644 index 00000000000..8860ace45e0 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch @@ -0,0 +1,68 @@ +Make testing of GMX_THREAD_MPI work. +Don't drop relevant PYTHONPATH and LD_LIBRARY_PATH settings. +Make sure OMP_NUM_THREADS is not set so it doesn't fail when -ntomp is set. +Don't use mpiexec for GMX_THREAD_MPI runs. + +Åke Sandgren, 2023-06-27 +diff -ru gromacs-2023.1.orig/python_packaging/gmxapi/test/CMakeLists.txt gromacs-2023.1/python_packaging/gmxapi/test/CMakeLists.txt +--- gromacs-2023.1.orig/python_packaging/gmxapi/test/CMakeLists.txt 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/gmxapi/test/CMakeLists.txt 2023-06-27 08:08:49.967184214 +0200 +@@ -61,7 +61,7 @@ + endif() + + add_custom_target(gmxapi_pytest +- COMMAND ${PYTHON_EXECUTABLE} -m pytest ++ COMMAND ${CMAKE_COMMAND} -E env --unset=OMP_NUM_THREADS ${PYTHON_EXECUTABLE} -m pytest + -rA -l --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS _gmxapi + WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) +@@ -70,6 +70,7 @@ + + add_dependencies(check gmxapi_pytest) + ++if (GMX_MPI) + if(MPIEXEC_EXECUTABLE) + if(NOT GMXAPI_MPI4PY_FOUND) + if (MPI_C_COMPILER) +@@ -107,3 +108,4 @@ + + add_dependencies(check gmxapi_pytest_mpi) + endif() ++endif() +diff -ru gromacs-2023.1.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt gromacs-2023.1/python_packaging/sample_restraint/tests/CMakeGROMACS.txt +--- gromacs-2023.1.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2023-04-21 15:12:07.000000000 +0200 ++++ gromacs-2023.1/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2023-06-27 09:10:31.134866196 +0200 +@@ -21,15 +21,18 @@ + get_target_property(PLUGINPATH gmxapi_extension LIBRARY_OUTPUT_DIRECTORY) + add_custom_target(gmxapi_extension_pytest + COMMAND ${CMAKE_COMMAND} +- -E env PYTHONPATH=${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} ++ -E env --unset=OMP_NUM_THREADS LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} + ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR + ${CMAKE_CURRENT_SOURCE_DIR} +- DEPENDS gmxapi_extension _gmxapi) ++ DEPENDS gmxapi_extension _gmxapi ++ WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) ++ + # The current test fixtures require the `gmx` tool-wrapper executable. + add_dependencies(gmxapi_extension_pytest gmx) + + add_dependencies(check gmxapi_extension_pytest) + ++if (GMX_MPI) + if(MPIEXEC_EXECUTABLE) + if(NOT GMXAPI_MPI4PY_FOUND) + if (MPI_C_COMPILER) +@@ -58,10 +61,11 @@ + # (https://www.open-mpi.org/doc/v3.0/man1/mpiexec.1.php) + add_custom_target( + gmxapi_extension_pytest_mpi +- COMMAND ${MPIEXEC_EXECUTABLE} -n 4 -x PYTHONPATH=${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} ++ COMMAND ${MPIEXEC_EXECUTABLE} -n 4 -x PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} + ${PYTHON_EXECUTABLE} -m mpi4py -m pytest -x --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS gmxapi_extension _gmxapi gmx + ) + + add_dependencies(check gmxapi_extension_pytest_mpi) + endif() ++endif() diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch new file mode 100644 index 00000000000..ae22b6c7828 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch @@ -0,0 +1,14 @@ +Make sure env OMP_NUM_THREADS matches -ntomp argument during testing. + +Åke Sandgren, 2023-06-22 +diff -ru gromacs-2023.1.orig/src/testutils/TestMacros.cmake gromacs-2023.1/src/testutils/TestMacros.cmake +--- gromacs-2023.1.orig/src/testutils/TestMacros.cmake 2023-04-21 15:12:08.000000000 +0200 ++++ gromacs-2023.1/src/testutils/TestMacros.cmake 2023-06-22 16:29:28.338270785 +0200 +@@ -288,6 +288,7 @@ + endif () + set(_cmd ${_prefix_cmd} $) + if (ARG_OPENMP_THREADS) ++ set(_cmd "env" "OMP_NUM_THREADS=${ARG_OPENMP_THREADS}" ${_cmd}) + if (GMX_OPENMP) + list(APPEND _cmd -ntomp ${ARG_OPENMP_THREADS}) + endif() diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..e2b86108e93 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,88 @@ +# 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' +versionsuffix = '-CUDA-%(cudaver)s' + +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 binaries. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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-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'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), +] + +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-foss-2022a.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2022a.eb new file mode 100644 index 00000000000..9a72a3c43d4 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2022a.eb @@ -0,0 +1,86 @@ +# 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' + +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': '2022a'} +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-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'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), +] + +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-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-foss-2023a-PLUMED-2.9.0.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a-PLUMED-2.9.0.eb new file mode 100644 index 00000000000..943aa4ac839 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a-PLUMED-2.9.0.eb @@ -0,0 +1,100 @@ +# 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' +versionsuffix = '-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 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 +next to PLUMED.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +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', + '%(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 = [ + ('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-foss-2023a.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a.eb new file mode 100644 index 00000000000..1b95cb75a41 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2023.3-foss-2023a.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 = '2023.3' + +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': '2023a'} +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-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'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('mpi4py', '3.1.4'), +] + +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..1aa835572d7 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1-foss-2023b.eb @@ -0,0 +1,90 @@ +# 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', + 'GROMACS-2024.1_fix-tests-filesystem-race.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'}, + {'GROMACS-2024.1_fix-tests-filesystem-race.patch': + '25b933b37bc40576ee25ebae24442ae15fafe7cd5ac4b066e1dc8de488d58b4c'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('scikit-build-core', '0.9.3'), +] + +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.5.0', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2024.1.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['937d8f12a36fffbf2af7add71adbb5aa5c5537892d46c9a76afbecab1aa0aac7'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch new file mode 100644 index 00000000000..f32de88e608 --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.1_fix-tests-filesystem-race.patch @@ -0,0 +1,152 @@ +diff --git a/api/gmxapi/cpp/tests/CMakeLists.txt b/api/gmxapi/cpp/tests/CMakeLists.txt +index ca741dc930b4ed9cbde2ba4c84e50d4579e1adc6..7c00e390a32e92926d08b006df4ad335273143fb 100644 +--- a/api/gmxapi/cpp/tests/CMakeLists.txt ++++ b/api/gmxapi/cpp/tests/CMakeLists.txt +@@ -107,4 +107,10 @@ if (GMX_MPI) + set_tests_properties(GmxapiMpiTests PROPERTIES + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif () ++ if (TEST GmxapiExternalInterfaceTests AND TEST GmxapiMpiTests) ++ # Because the gmxapi tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ set_tests_properties(GmxapiMpiTests PROPERTIES DEPENDS GmxapiExternalInterfaceTests) ++ endif() + endif () +diff --git a/src/programs/mdrun/tests/CMakeLists.txt b/src/programs/mdrun/tests/CMakeLists.txt +index 23dc2840aed9660f6fb84a4d5a295a2cb36feace..e24ae102d511b735257d60ce2c59e6a1d1956400 100644 +--- a/src/programs/mdrun/tests/CMakeLists.txt ++++ b/src/programs/mdrun/tests/CMakeLists.txt +@@ -113,6 +113,12 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(MdrunTestsOneRank ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + gmx_register_gtest_test(MdrunTestsTwoRanks ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST MdrunTestsTwoRanks AND TEST MdrunTestsOneRank) ++ set_tests_properties(MdrunTestsTwoRanks PROPERTIES DEPENDS MdrunTestsOneRank) ++endif() + + # The orires test is separate, as it supports only a single MPI rank + set(testname "MdrunSingleRankAlgorithmsTests") +@@ -129,13 +135,31 @@ gmx_add_gtest_executable(${exename} + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(${testname} ${exename} OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) + ++set(exename "minimize-test") ++ ++gmx_add_gtest_executable(${exename} MPI ++ CPP_SOURCE_FILES ++ # files with code for tests ++ minimize.cpp ++ # pseudo-library for code for mdrun ++ $ ++ ) ++target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) ++gmx_register_gtest_test(Minimize1RankTests ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++gmx_register_gtest_test(Minimize2RankTests ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++# Because the minimizer tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST Minimize2RankTests AND TEST Minimize1RankTests) ++ set_tests_properties(Minimize2RankTests PROPERTIES DEPENDS Minimize1RankTests) ++endif() ++ + set(testname "MdrunNonIntegratorTests") + set(exename "mdrun-non-integrator-test") + + gmx_add_gtest_executable(${exename} + CPP_SOURCE_FILES + # files with code for tests +- minimize.cpp + nonbonded_bench.cpp + normalmodes.cpp + rerun.cpp +@@ -169,7 +193,6 @@ gmx_add_gtest_executable(${exename} MPI + CPP_SOURCE_FILES + # files with code for tests + domain_decomposition.cpp +- minimize.cpp + mimic.cpp + # pseudo-library for code for mdrun + $ +@@ -177,6 +200,13 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS QUICK_GPU_TEST) + ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654. These test binaries both test aspects of MiMiC. ++if (TEST MdrunMpiTests AND TEST MdrunModulesTests) ++ set_tests_properties(MdrunMpiTests PROPERTIES DEPENDS MdrunModulesTests) ++endif() ++ + # Multi sim only makes sense with real MPI, and ideally at least 4 ranks, + # to allow for multiple simulations (>= 2 sims) each using DD (>= 2 ranks per sim) + set(testname "MdrunMultiSimTests") +@@ -235,6 +265,12 @@ gmx_add_gtest_executable(${exename} MPI + target_link_libraries(${exename} PRIVATE mdrun_test_infrastructure) + gmx_register_gtest_test(MdrunMpi1RankPmeTests ${exename} MPI_RANKS 1 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) + gmx_register_gtest_test(MdrunMpi2RankPmeTests ${exename} MPI_RANKS 2 OPENMP_THREADS 2 INTEGRATION_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++# Because the mdrun tests depend on writing files whose names are not ++# unique across test cases, prevent CTest from running these tests ++# concurrently. See #4654 ++if (TEST MdrunMpi2RankPmeTests AND TEST MdrunMpi1RankPmeTests) ++ set_tests_properties(MdrunMpi2RankPmeTests PROPERTIES DEPENDS MdrunMpi1RankPmeTests) ++endif() + + # Slow-running tests that target testing multiple-rank coordination behaviors + # These tests are extremely slow without optimization or OpenMP, so only run them for +@@ -256,6 +292,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS QUICK_GPU_TEST) + set(testname "MdrunCoordinationBasicTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS QUICK_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationBasicTests2Ranks AND TEST MdrunCoordinationBasicTests1Rank) ++ set_tests_properties(MdrunCoordinationBasicTests2Ranks PROPERTIES DEPENDS MdrunCoordinationBasicTests1Rank) ++ endif() + endif() + + set(exename "mdrun-coordination-coupling-test") +@@ -274,6 +316,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + set(testname "MdrunCoordinationCouplingTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationCouplingTests2Ranks AND TEST MdrunCoordinationCouplingTests1Rank) ++ set_tests_properties(MdrunCoordinationCouplingTests2Ranks PROPERTIES DEPENDS MdrunCoordinationCouplingTests1Rank) ++ endif() + endif() + + set(exename "mdrun-coordination-constraints-test") +@@ -292,6 +340,12 @@ if (CMAKE_BUILD_TYPE MATCHES "Rel" AND GMX_OPENMP) + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 1 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) + set(testname "MdrunCoordinationConstraintsTests2Ranks") + gmx_register_gtest_test(${testname} ${exename} MPI_RANKS 2 SLOW_TEST IGNORE_LEAKS SLOW_GPU_TEST) ++ # Because the mdrun tests depend on writing files whose names are not ++ # unique across test cases, prevent CTest from running these tests ++ # concurrently. See #4654 ++ if (TEST MdrunCoordinationConstraintsTests2Ranks AND TEST MdrunCoordinationConstraintsTests1Rank) ++ set_tests_properties(MdrunCoordinationConstraintsTests2Ranks PROPERTIES DEPENDS MdrunCoordinationConstraintsTests1Rank) ++ endif() + endif() + + # Keeping the FEP tests separate for now to be able to judge runtime more easily +diff --git a/src/testutils/testinit.cpp b/src/testutils/testinit.cpp +index ca3ed8db2c52940a128701e2e5ae4999904a2802..5db9bb1af05631eab768c259e4e4f328e0efa7ff 100644 +--- a/src/testutils/testinit.cpp ++++ b/src/testutils/testinit.cpp +@@ -191,7 +191,7 @@ void initTestUtils(const std::filesystem::path& dataPath, + { + fprintf(stderr, + "NOTE: You are running %s on %d MPI ranks, " +- "but it is does not contain MPI-enabled tests. " ++ "but it does not contain MPI-enabled tests. " + "The test will now exit.\n", + context.programName(), + gmx_node_num()); diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.3-foss-2023b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.3-foss-2023b.eb new file mode 100644 index 00000000000..a5ece3769bb --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.3-foss-2023b.eb @@ -0,0 +1,85 @@ +# 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.3' + +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.3.tar.gz': 'bbda056ee59390be7d58d84c13a9ec0d4e3635617adf2eb747034922cba1f029'}, + {'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-core', '0.9.3'), +] + +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" && ', + 'checksums': ['c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GSD/GSD-3.2.0-foss-2022a.eb b/easybuild/easyconfigs/g/GSD/GSD-3.2.0-foss-2022a.eb new file mode 100644 index 00000000000..8623f4ba1b4 --- /dev/null +++ b/easybuild/easyconfigs/g/GSD/GSD-3.2.0-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'GSD' +version = '3.2.0' + +homepage = 'https://gsd.readthedocs.io' +description = """The GSD file format is the native file format for +HOOMD-blue. GSD files store trajectories of the HOOMD-blue system state +in a binary file with efficient random access to frames. GSD allows all +particle and topology properties to vary from one frame to the next. Use +the GSD Python API to specify the initial condition for a HOOMD-blue +simulation or analyze trajectory output with a script. Read a GSD +trajectory with a visualization tool to explore the behavior of the +simulation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'glotzerlab' +source_urls = [GITHUB_LOWER_RELEASE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fc7a9293d379032fc7d207884c0a50fe686b02ee5b8ebf3433989e2086f47c2'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_commands = [ + 'python -c "import gsd.hoomd"', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..7c9005c5f82 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-11.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': '11.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-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..1b9e6e11d40 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-11.3.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': '11.3.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-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.2.0.eb new file mode 100644 index 00000000000..e1e6de28f31 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.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': '12.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-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.3.0.eb new file mode 100644 index 00000000000..6b836923e91 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-GCC-12.3.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': '12.3.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-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-2021.2.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..0466c9d75b8 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2021.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': 'intel-compilers', 'version': '2021.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-2021.4.0.eb b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..be5907f7849 --- /dev/null +++ b/easybuild/easyconfigs/g/GSL/GSL-2.7-intel-compilers-2021.4.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': '2021.4.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/GST-plugins-bad/GST-plugins-bad-1.20.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.20.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..eddb9cebdb8 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.20.2-GCC-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-bad' +version = '1.20.2' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['4adc4c05f41051f8136b80cda99b0d049a34e777832f9fea7c5a70347658745b'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GLib', '2.72.1'), + ('GStreamer', '1.20.2'), + ('Gdk-Pixbuf', '2.42.8'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('Graphene', '1.10.8'), + ('GST-plugins-base', '1.20.2'), +] + +sanity_check_paths = { + 'files': ['bin/gst-transcoder-1.0', 'bin/playout'] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['adaptivedemux', 'badaudio', 'codecs', 'player']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb new file mode 100755 index 00000000000..bc36176bdfb --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-bad' +version = '1.22.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GLib', '2.75.0'), + ('GStreamer', '1.22.1'), + ('Gdk-Pixbuf', '2.42.10'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('Graphene', '1.10.8'), + ('GST-plugins-base', '1.22.1'), +] + +sanity_check_paths = { + 'files': ['bin/gst-transcoder-1.0', 'bin/playout'] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['adaptivedemux', 'badaudio', 'codecs', 'player']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..9814e447313 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-bad/GST-plugins-bad-1.22.5-GCC-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-bad' +version = '1.22.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-bad'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.76.1'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('GLib', '2.77.1'), + ('GStreamer', '1.22.5'), + ('Gdk-Pixbuf', '2.42.10'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('Graphene', '1.10.8'), + ('GST-plugins-base', '1.22.5'), +] + +sanity_check_paths = { + 'files': ['bin/gst-transcoder-1.0', 'bin/playout'] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['adaptivedemux', 'badaudio', 'codecs', 'player']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2016a.eb index 083ad67f279..b3f086375fe 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2016a.eb @@ -19,7 +19,7 @@ dependencies = [('GStreamer', '0.10.36')] # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2018b.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2018b.eb index 74bd62f7515..b77d7997cff 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2018b.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-foss-2018b.eb @@ -21,7 +21,7 @@ dependencies = [ # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb index 23b2a931e08..7c60f600376 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016a.eb @@ -19,7 +19,7 @@ dependencies = [('GStreamer', '0.10.36')] # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016b.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016b.eb index 60907564e6e..37624651adc 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016b.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2016b.eb @@ -19,7 +19,7 @@ dependencies = [('GStreamer', '0.10.36')] # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2017a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2017a.eb index 858a8095477..d7288a32aba 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2017a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-0.10.36-intel-2017a.eb @@ -19,7 +19,7 @@ dependencies = [('GStreamer', '0.10.36')] # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.16.2-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.16.2-GCC-8.3.0.eb index 3954ca17648..504355c6118 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.16.2-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.16.2-GCC-8.3.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_XZ] checksums = ['b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a'] builddependencies = [ - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), ('gettext', '0.20.1'), diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.4-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..04579014adc --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.4-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.18.4' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323'] + +builddependencies = [ + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.6'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GLib', '2.68.2'), + ('GTK3', '3.24.29'), + ('GStreamer', '1.18.4'), + ('Gdk-Pixbuf', '2.42.6'), + ('X11', '20210518'), + ('Mesa', '21.1.1'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.5-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.5-GCC-11.2.0.eb new file mode 100644 index 00000000000..f806b941c5b --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.18.5-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.18.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['960b7af4585700db0fdd5b843554e11e2564fed9e061f591fae88a7be6446fa3'] + +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.6'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GLib', '2.69.1'), + ('GTK3', '3.24.31'), + ('GStreamer', '1.18.5'), + ('Gdk-Pixbuf', '2.42.6'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.20.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.20.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..11969bcfc0a --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.20.2-GCC-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.20.2' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ab0656f2ad4d38292a803e0cb4ca090943a9b43c8063f650b4d3e3606c317f17'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GLib', '2.72.1'), + ('GStreamer', '1.20.2'), + ('Gdk-Pixbuf', '2.42.8'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('Graphene', '1.10.8'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..739ab50a8d1 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.1-GCC-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.22.1' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['59bcaeacc5646b8dbdcfa4ef20ca6e818dd234910efb4cee1bbea441a3801c69'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GLib', '2.75.0'), + ('GStreamer', '1.22.1'), + ('Gdk-Pixbuf', '2.42.10'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('Graphene', '1.10.8'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.5-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..0f4b63ac607 --- /dev/null +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.22.5-GCC-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MesonNinja' + +name = 'GST-plugins-base' +version = '1.22.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gst-plugins-base'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.76.1'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('GLib', '2.77.1'), + ('GStreamer', '1.22.5'), + ('Gdk-Pixbuf', '2.42.10'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('Graphene', '1.10.8'), +] + +sanity_check_paths = { + 'files': ['bin/gst-%s-1.0' % x for x in ['discoverer', 'play', 'device-monitor']] + + ['lib/libgst%s-1.0.%s' % (x, SHLIB_EXT) for x in ['app', 'audio', 'video']], + 'dirs': ['include', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.6.4-foss-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.6.4-foss-2016a.eb index 663148178bc..69edf4e5879 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.6.4-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.6.4-foss-2016a.eb @@ -18,7 +18,7 @@ checksums = ['7a193e2a66b0d7411160ef2a373184c8aa3cdeaa576fa270be346716220d9606'] dependencies = [('GStreamer', '1.6.4')] builddependencies = [ - ('Bison', '3.0.4', '', True), + ('Bison', '3.0.4', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.8.3-foss-2016a.eb b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.8.3-foss-2016a.eb index 0c4cb354f0c..178b50575df 100644 --- a/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.8.3-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GST-plugins-base/GST-plugins-base-1.8.3-foss-2016a.eb @@ -23,7 +23,7 @@ dependencies = [ builddependencies = [ ('Autotools', '20150215'), ('pkg-config', '0.29.1'), - ('Bison', '3.0.4', '', True), + ('Bison', '3.0.4', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2016a.eb index 31e79963a2f..c3a7851b678 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2016a.eb @@ -23,7 +23,7 @@ dependencies = [ # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2018b.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2018b.eb index 941ced47c5b..dd3738d82c9 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2018b.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-foss-2018b.eb @@ -23,8 +23,8 @@ dependencies = [ # does not work with Bison 3.x builddependencies = [ - ('flex', '2.6.4', '', True), - ('Bison', '2.7', '', True), + ('flex', '2.6.4', '', SYSTEM), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb index 49d0445dfd4..fd95931f5df 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016a.eb @@ -23,7 +23,7 @@ dependencies = [ # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016b.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016b.eb index df0cc749083..d24fcda642a 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016b.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-0.10.36-intel-2016b.eb @@ -23,7 +23,7 @@ dependencies = [ # does not work with Bison 3.x builddependencies = [ - ('Bison', '2.7', '', True), + ('Bison', '2.7', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb index 3c94c21acae..1e320e100bf 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.0-GCC-8.2.0-2.31.1.eb @@ -13,9 +13,16 @@ toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.16.0.tar.xz': '0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ + ('Perl', '5.28.1'), ('Bison', '3.0.5'), ('flex', '2.6.4'), ('GObject-Introspection', '1.60.1', '-Python-3.7.2'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb index 92e0c55eca2..370fa85b4cf 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.16.2-GCC-8.3.0.eb @@ -13,9 +13,16 @@ toolchain = {'name': 'GCC', 'version': '8.3.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.16.2.tar.xz': 'e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ + ('Perl', '5.30.0'), ('Bison', '3.3.2'), ('flex', '2.6.4'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb index a4c5be90916..cc7e4f4623c 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.2.0.eb @@ -13,11 +13,18 @@ toolchain = {'name': 'GCC', 'version': '10.2.0'} source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] sources = [SOURCELOWER_TAR_XZ] -checksums = ['9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.4.tar.xz': '9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] builddependencies = [ ('Meson', '0.55.3'), ('Ninja', '1.10.1'), + ('Perl', '5.32.0'), ('Bison', '3.7.1'), ('flex', '2.6.4'), ('GObject-Introspection', '1.66.1'), diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..11f4d5afc2e --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.4-GCC-10.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.18.4' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.4.tar.xz': '9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('Perl', '5.32.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.68.2'), + ('GTK3', '3.24.29'), + ('libunwind', '1.4.0'), +] + +configopts = '-Dlibdw=disabled ' + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb new file mode 100644 index 00000000000..45f9ea5e5d0 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18.5-GCC-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.18.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.18.5.tar.xz': '55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('Perl', '5.34.0'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.69.1'), + ('GTK3', '3.24.31'), + ('libunwind', '1.5.0'), +] + +configopts = '-Dlibdw=disabled ' + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch new file mode 100644 index 00000000000..4fff14d8b7a --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.18_fix_bad_suid.patch @@ -0,0 +1,22 @@ +Do NOT make files setuid or try to do setcap. +That's a recipe for disaster. + +Åke Sandgren, 20221031 +diff -ru gstreamer-1.20.2.orig/libs/gst/helpers/ptp_helper_post_install.sh gstreamer-1.20.2/libs/gst/helpers/ptp_helper_post_install.sh +--- gstreamer-1.20.2.orig/libs/gst/helpers/ptp_helper_post_install.sh 2022-05-03 00:29:29.000000000 +0200 ++++ gstreamer-1.20.2/libs/gst/helpers/ptp_helper_post_install.sh 2022-10-31 16:39:11.959435316 +0100 +@@ -11,14 +11,10 @@ + setuid-root) + echo "$0: permissions before: " + ls -l "$ptp_helper" +- chown root "$ptp_helper" || true +- chmod u+s "$ptp_helper" || true + echo "$0: permissions after: " + ls -l "$ptp_helper" + ;; + capabilities) +- echo "Calling $setcap cap_net_bind_service,cap_net_admin+ep $ptp_helper" +- $setcap cap_net_bind_service,cap_net_admin+ep "$ptp_helper" || true + ;; + none) + echo "No perms/caps to set for $ptp_helper" diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..d942105b5f7 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.20.2-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.20.2' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.20.2.tar.xz': 'df24e8792691a02dfe003b3833a51f1dbc6c3331ae625d143b17da939ceb5e0a'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('Perl', '5.34.1'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('zlib', '1.2.12'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.72.1'), + ('libunwind', '1.6.2'), + ('elfutils', '0.187'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..20ecd1c402d --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.1-GCC-12.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.22.1' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.22.1.tar.xz': 'cd3ca759f926763615fdfcea63c9761198c42889bc0615ceec73e22b24fde771'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('Perl', '5.36.0'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('zlib', '1.2.12'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.75.0'), + ('libunwind', '1.6.2'), + ('elfutils', '0.189'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.5-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..edec2378608 --- /dev/null +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.22.5-GCC-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MesonNinja' + +name = 'GStreamer' +version = '1.22.5' + +homepage = 'https://gstreamer.freedesktop.org/' +description = """GStreamer is a library for constructing graphs of media-handling + components. The applications it supports range from simple + Ogg/Vorbis playback, audio/video streaming to complex audio + (mixing) and video (non-linear editing) processing.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gstreamer.freedesktop.org/src/gstreamer'] +sources = [SOURCELOWER_TAR_XZ] +patches = [ + '%(name)s-1.18_fix_bad_suid.patch', +] +checksums = [ + {'gstreamer-1.22.5.tar.xz': '4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61'}, + {'GStreamer-1.18_fix_bad_suid.patch': '3d963ffdaf157ed92f46a071c4ef46f548c0b19186427e8404cb066705bbb61a'}, +] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Perl', '5.36.1'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('GObject-Introspection', '1.76.1'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('zlib', '1.2.13'), + ('GMP', '6.2.1'), + ('GSL', '2.7'), + ('GLib', '2.77.1'), + ('libunwind', '1.6.2'), + ('elfutils', '0.189'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'share', 'libexec'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.6.4-foss-2016a.eb b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.6.4-foss-2016a.eb index 0fd9f637575..c7044fe5592 100644 --- a/easybuild/easyconfigs/g/GStreamer/GStreamer-1.6.4-foss-2016a.eb +++ b/easybuild/easyconfigs/g/GStreamer/GStreamer-1.6.4-foss-2016a.eb @@ -22,7 +22,7 @@ dependencies = [ ] builddependencies = [ - ('Bison', '3.0.4', '', True), + ('Bison', '3.0.4', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.0.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.0.2-intel-2019b-Python-3.7.4.eb index a3ec2738504..c35fe8da4a6 100644 --- a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.0.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.0.2-intel-2019b-Python-3.7.4.eb @@ -23,7 +23,7 @@ dependencies = [ ('matplotlib', '3.1.1', versionsuffix), ('prodigal', '2.6.3'), ('HMMER', '3.2.1'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('FastANI', '1.3'), ('FastTree', '2.1.11'), ] diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.3.0-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.3.0-intel-2020a-Python-3.8.2.eb index 54dc20a75fc..13e7349e42f 100644 --- a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.3.0-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.3.0-intel-2020a-Python-3.8.2.eb @@ -23,7 +23,7 @@ dependencies = [ ('matplotlib', '3.2.1', versionsuffix), ('prodigal', '2.6.3'), ('HMMER', '3.3.1'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('FastANI', '1.31'), ('FastTree', '2.1.11'), ('tqdm', '4.47.0'), diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.5.0-intel-2020b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.5.0-intel-2020b.eb index 0ff0be7b625..5f2ae473469 100644 --- a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.5.0-intel-2020b.eb +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.5.0-intel-2020b.eb @@ -22,7 +22,7 @@ dependencies = [ ('matplotlib', '3.3.3'), ('prodigal', '2.6.3'), ('HMMER', '3.3.2'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ('FastANI', '1.33'), ('FastTree', '2.1.11'), ('tqdm', '4.56.2'), diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2020b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2020b.eb new file mode 100644 index 00000000000..d40e1ff699c --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2020b.eb @@ -0,0 +1,43 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'GTDB-Tk' +version = '1.7.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://pypi.python.org/packages/source/g/gtdbtk'] +sources = ['gtdbtk-%(version)s.tar.gz'] +checksums = ['36b65074845e7edef4d7aeead286c770fb9a03ddbff63946533fa2e1934e8f26'] + +dependencies = [ + ('Python', '3.8.6'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.3.3'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('tqdm', '4.56.2'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'gtdbtk'} + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2021a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2021a.eb new file mode 100644 index 00000000000..8022a696c23 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-foss-2021a.eb @@ -0,0 +1,43 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'GTDB-Tk' +version = '1.7.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/g/gtdbtk'] +sources = ['gtdbtk-%(version)s.tar.gz'] +checksums = ['36b65074845e7edef4d7aeead286c770fb9a03ddbff63946533fa2e1934e8f26'] + +dependencies = [ + ('Python', '3.9.5'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.2'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('tqdm', '4.61.2'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'gtdbtk'} + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-intel-2020b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-intel-2020b.eb new file mode 100644 index 00000000000..4d81bd500b9 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-1.7.0-intel-2020b.eb @@ -0,0 +1,43 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'GTDB-Tk' +version = '1.7.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['https://pypi.python.org/packages/source/g/gtdbtk'] +sources = ['gtdbtk-%(version)s.tar.gz'] +checksums = ['36b65074845e7edef4d7aeead286c770fb9a03ddbff63946533fa2e1934e8f26'] + +dependencies = [ + ('Python', '3.8.6'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.3.3'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('tqdm', '4.56.2'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'gtdbtk'} + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-foss-2021a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-foss-2021a.eb new file mode 100644 index 00000000000..741d72ebed0 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-foss-2021a.eb @@ -0,0 +1,44 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'GTDB-Tk' +version = '2.0.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/g/gtdbtk'] +sources = ['gtdbtk-%(version)s.tar.gz'] +checksums = ['53496443d6fcca675c3f3078d76cef25c2040e894fd403b74397980578ddb815'] + +dependencies = [ + ('Python', '3.9.5'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.2'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.61.2'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'gtdbtk'} + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-intel-2021b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-intel-2021b.eb new file mode 100644 index 00000000000..d7ed1a25516 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.0.0-intel-2021b.eb @@ -0,0 +1,44 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'GTDB-Tk' +version = '2.0.0' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'intel', 'version': '2021b'} + +source_urls = ['https://pypi.io/packages/source/g/gtdbtk'] +sources = ['gtdbtk-%(version)s.tar.gz'] +checksums = ['53496443d6fcca675c3f3078d76cef25c2040e894fd403b74397980578ddb815'] + +dependencies = [ + ('Python', '3.9.6'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.3'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('tqdm', '4.62.3'), + ('Mash', '2.3'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'gtdbtk'} + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb new file mode 100644 index 00000000000..594099d8567 --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.1.1-foss-2021b.eb @@ -0,0 +1,45 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'GTDB-Tk' +version = '2.1.1' + +homepage = 'https://github.com/Ecogenomics/GTDBTk' +description = "A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.3'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'gtdbtk', + 'source_tmpl': 'gtdbtk-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/g/gtdbtk'], + 'checksums': ['2276723f627c5374b76b4c2cb8b07e8a218ef9f6e72091fcbc6a98ecf6c8796d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2022a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2022a.eb new file mode 100644 index 00000000000..70a975a9f1e --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.3.2-foss-2022a.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.5.2'), + ('prodigal', '2.6.3'), + ('HMMER', '3.3.2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('FastANI', '1.33'), + ('FastTree', '2.1.11'), + ('Mash', '2.3'), + ('tqdm', '4.64.0'), + ('pydantic', '1.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'gtdbtk', + 'source_tmpl': 'gtdbtk-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/g/gtdbtk'], + 'checksums': ['80efd31e10007d835f56a3d6fdf039a59db3b6ba4be26b234692da5e688aa99f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gtdbtk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' 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/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb new file mode 100644 index 00000000000..271be65a5dd --- /dev/null +++ b/easybuild/easyconfigs/g/GTDB-Tk/GTDB-Tk-2.4.0-foss-2023a.eb @@ -0,0 +1,46 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'GTDB-Tk' +version = '2.4.0' + +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': ['e67bab2c8f3e47c7242c70236c78e85bb9dc4721636bbf5044b171f18f22b1f7'], + }), +] + +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 7d7e14c196c..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 @@ -15,6 +15,7 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} builddependencies = [ ('binutils', '2.32'), + ('Autotools', '20180311'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), ('gettext', '0.20.1'), ('pkg-config', '0.29.2'), @@ -40,18 +41,24 @@ default_component_specs = { } components = [ + (name, version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['4c775c38cf1e3c534ef0ca52ca6c7a890fe169981af66141c713e054e68930a9'], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], }), ('adwaita-icon-theme', '3.34.3', { + 'preconfigopts': 'autoreconf -f -i && ', 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['e7c2d8c259125d5f35ec09522b88c8fe7ecf625224ab0811213ef0a95d90b908'], - }), - (name, version, { - 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['4c775c38cf1e3c534ef0ca52ca6c7a890fe169981af66141c713e054e68930a9'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + 'e7c2d8c259125d5f35ec09522b88c8fe7ecf625224ab0811213ef0a95d90b908', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], }), ] 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 0fac0e6076c..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 @@ -15,6 +15,7 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} builddependencies = [ ('binutils', '2.34'), + ('Autotools', '20180311'), ('GObject-Introspection', '1.64.0', '-Python-3.8.2'), ('gettext', '0.20.1'), ('pkg-config', '0.29.2'), @@ -40,18 +41,24 @@ default_component_specs = { } components = [ + (name, version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['f210255b221cb0f0db3e7b21399983b715c9dda6eb1e5c2f7fdf38f4f1b6bac0'], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], }), ('adwaita-icon-theme', '3.36.0', { + 'preconfigopts': 'autoreconf -f -i && ', 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['1a172112b6da482d3be3de6a0c1c1762886e61e12b4315ae1aae9b69da1ed518'], - }), - (name, version, { - 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['f210255b221cb0f0db3e7b21399983b715c9dda6eb1e5c2f7fdf38f4f1b6bac0'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '1a172112b6da482d3be3de6a0c1c1762886e61e12b4315ae1aae9b69da1ed518', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], }), ] 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 daf5522a2c4..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 @@ -15,6 +15,7 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} builddependencies = [ ('binutils', '2.35'), + ('Autotools', '20200321'), ('GObject-Introspection', '1.66.1'), ('gettext', '0.21'), ('pkg-config', '0.29.2'), @@ -40,18 +41,24 @@ default_component_specs = { } components = [ + (name, version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1'], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + }), ('hicolor-icon-theme', '0.17', { 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], }), ('adwaita-icon-theme', '3.38.0', { + 'preconfigopts': 'autoreconf -f -i && ', 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97'], - }), - (name, version, { - 'source_urls': [FTPGNOME_SOURCE], - 'checksums': ['5d864d248357a2251545b3387b35942de5f66e4c66013f0962eb5cb6f8dae2b1'], - 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility ", + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], }), ] 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/GTK+/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK+/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch new file mode 100644 index 00000000000..bf0b97f9489 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK+/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch @@ -0,0 +1,16 @@ +As we don't have SVG support we disable the search for the converter. + +Author: Alexander Grund (TU Dresden) + +diff -aur a/configure.ac b/configure.ac +--- a/configure.ac 2021-07-16 15:16:15.774630738 +0200 ++++ b/configure.ac 2021-07-16 15:15:10.138814059 +0200 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 24x24 32x32 48x48 64x64 96x96" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi diff --git a/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7fbe95339ed --- /dev/null +++ b/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'GTK2' +version = '2.24.33' + +homepage = 'https://developer.gnome.org/gtk+/stable/' +description = """ + The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/gtk+/%(version_major_minor)s'] +sources = ['gtk+-%(version)s.tar.xz'] +checksums = ['ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.68.0'), +] +dependencies = [ + ('ATK', '2.36.0'), + ('Gdk-Pixbuf', '2.42.6'), + ('Pango', '1.48.5'), +] + +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " + +sanity_check_paths = { + 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-x11-2.0.%s' % SHLIB_EXT], + 'dirs': ['include/gtk-2.0'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1330c197693 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK2/GTK2-2.24.33-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'GTK2' +version = '2.24.33' + +homepage = 'https://www.gtk.org' +description = """ + The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnome.org/pub/GNOME/sources/gtk+/%(version_major_minor)s'] +sources = ['gtk+-%(version)s.tar.xz'] +checksums = ['ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('GObject-Introspection', '1.72.0'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('Gdk-Pixbuf', '2.42.8'), + ('Pango', '1.50.7'), +] + +configopts = "--disable-silent-rules --disable-glibtest --enable-introspection=yes --disable-visibility " + +sanity_check_paths = { + 'files': ['bin/gtk-update-icon-cache', 'lib/libgtk-x11-2.0.%s' % SHLIB_EXT], + 'dirs': ['include/gtk-2.0'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTK2/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK2/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch new file mode 100644 index 00000000000..bf0b97f9489 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK2/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch @@ -0,0 +1,16 @@ +As we don't have SVG support we disable the search for the converter. + +Author: Alexander Grund (TU Dresden) + +diff -aur a/configure.ac b/configure.ac +--- a/configure.ac 2021-07-16 15:16:15.774630738 +0200 ++++ b/configure.ac 2021-07-16 15:15:10.138814059 +0200 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 24x24 32x32 48x48 64x64 96x96" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi 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 new file mode 100644 index 00000000000..764e62264ce --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.29-GCCcore-10.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.29' + +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': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('cairo', '1.16.0'), + ('Perl', '5.32.1'), +] + +dependencies = [ + ('ATK', '2.36.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.6'), + ('Pango', '1.48.5'), + ('libepoxy', '1.5.8'), + ('X11', '20210518'), + ('FriBidi', '1.0.10'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'checksums': ['f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa'], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '3.38.0', { + 'preconfigopts': 'autoreconf -f -i && ', + 'source_urls': [FTPGNOME_SOURCE], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '6683a1aaf2430ccd9ea638dd4bfe1002bc92b412050c3dba20e480f979faaf97', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + }), +] + +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/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3e7711b6758 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.31-GCCcore-11.2.0.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.31' + +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': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('GObject-Introspection', '1.68.0'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('cairo', '1.16.0'), + ('Perl', '5.34.0'), +] +dependencies = [ + ('ATK', '2.36.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.6'), + ('Pango', '1.48.8'), + ('libepoxy', '1.5.8'), + ('X11', '20210802'), + ('FriBidi', '1.0.10'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + 'checksums': ['423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9'], + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '40.1.1', { + 'preconfigopts': 'autoreconf -f -i && ', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '0b6c436ed6ad9887a88ada1f72a0197b1eb73b020d8d344abab4c7fa7250f8f6', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + }), +] + +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/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..46df16bd25a --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.33-GCCcore-11.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.33' + +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': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('cairo', '1.17.4'), + ('Perl', '5.34.1'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.8'), + ('Pango', '1.50.7'), + ('libepoxy', '1.5.10'), + ('X11', '20220504'), + ('FriBidi', '1.0.12'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + 'configopts': "--disable-silent-rules --disable-glibtest --enable-introspection=yes", + 'checksums': ['588b06522e25d1579e989b6f9d8a1bdbf2fe13cde01a04e904ff346a225e7801'], + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '42.0', { + 'preconfigopts': 'autoreconf -f -i && ', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + }), +] + +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/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..09011131966 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.35-GCCcore-12.2.0.eb @@ -0,0 +1,77 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.35' + +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': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('cairo', '1.17.4'), + ('Perl', '5.36.0'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('Pango', '1.50.12'), + ('libepoxy', '1.5.10'), + ('X11', '20221110'), + ('FriBidi', '1.0.12'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK+', version, { + 'source_urls': [FTPGNOME_SOURCE], + '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", + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '42.0', { + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + 'preconfigopts': 'autoreconf -f -i && ', + }), +] + +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/GTK3/GTK3-3.24.37-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.37-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..242862f3de7 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/GTK3-3.24.37-GCCcore-12.3.0.eb @@ -0,0 +1,79 @@ +easyblock = 'Bundle' + +name = 'GTK3' +version = '3.24.37' + +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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GObject-Introspection', '1.76.1'), +] + +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('cairo', '1.17.8'), + ('Gdk-Pixbuf', '2.42.10'), + ('GLib', '2.77.1'), + ('Pango', '1.50.14'), + ('libepoxy', '1.5.10'), + ('X11', '20230603'), + ('FriBidi', '1.0.12'), + ('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': ['6745f0b4c053794151fd0f0e2474b077cccff5f83e9dd1bf3d39fe9fe5fb7f57'], + }), + ('hicolor-icon-theme', '0.17', { + 'easyblock': 'ConfigureMake', + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '44.0', { + 'easyblock': 'ConfigureMake', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-44.0_disable-svg-conversion.patch'], + 'checksums': [ + '4889c5601bbfecd25d80ba342209d0a936dcf691ee56bd6eca4cde361f1a664c', + # adwaita-icon-theme-44.0_disable-svg-conversion.patch + '9957c8b3d2a1cf8d89d6e943e59c683dbf5c5b37687316265cc82e755208f40b', + ], + 'preconfigopts': 'autoreconf -f -i && ', + }), +] + +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/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/GTK3/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK3/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch new file mode 100644 index 00000000000..bf0b97f9489 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch @@ -0,0 +1,16 @@ +As we don't have SVG support we disable the search for the converter. + +Author: Alexander Grund (TU Dresden) + +diff -aur a/configure.ac b/configure.ac +--- a/configure.ac 2021-07-16 15:16:15.774630738 +0200 ++++ b/configure.ac 2021-07-16 15:15:10.138814059 +0200 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 24x24 32x32 48x48 64x64 96x96" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi diff --git a/easybuild/easyconfigs/g/GTK3/adwaita-icon-theme-44.0_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK3/adwaita-icon-theme-44.0_disable-svg-conversion.patch new file mode 100644 index 00000000000..b15d0c22404 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK3/adwaita-icon-theme-44.0_disable-svg-conversion.patch @@ -0,0 +1,16 @@ +diff -aur a/configure.ac b/configure.ac +As we don't have SVG support we disable the search for the converter. +Adopted from: +Author: Alexander Grund (TU Dresden) + +--- a/configure.ac 2023-08-18 17:58:28.032333478 +0200 ++++ b/configure.ac 2023-08-18 17:59:51.554807635 +0200 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 32x32" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb new file mode 100755 index 00000000000..0a39ef44d91 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3-GCC-12.2.0.eb @@ -0,0 +1,85 @@ +easyblock = 'Bundle' + +name = 'GTK4' +version = '4.11.3' + +homepage = 'https://docs.gtk.org/gtk4/' +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': 'GCC', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.74.0'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('cairo', '1.17.4'), + ('Perl', '5.36.0'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('Pango', '1.50.12'), + ('libepoxy', '1.5.10'), + ('X11', '20221110'), + ('FriBidi', '1.0.12'), + ('GST-plugins-bad', '1.22.5'), + ('Wayland', '1.22.0'), + ('PyGObject', '3.44.1'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK', version, { + 'easyblock': 'MesonNinja', + 'source_urls': [FTPGNOME_SOURCE], + 'configopts': "-Dintrospection=enabled -Dgtk_doc=false", + 'patches': ['GTK4-4.11.3_g_set_str.patch'], + 'checksums': [ + '22b9b21a13b205d4f430b9d73a0d216f133047cf638a2563fcd9297a4b39eb00', + '96c114de353f2798ce57de9823c6d2eaa6b92175b49c3333d209dd3d3a0b7ce4'], # GTK4-4.11.3_g_set_str.patch + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '44.0', { + 'preconfigopts': 'autoreconf -f -i && ', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-44.0_disable-svg-conversion.patch'], + 'checksums': [ + '4889c5601bbfecd25d80ba342209d0a936dcf691ee56bd6eca4cde361f1a664c', + # adwaita-icon-theme-44.0_disable-svg-conversion.patch + 'f70ad3d11d52e3104cf1548eccd161efc9448d41f9521c7ac4670228b19ca2b9' + ], + }), +] + +postinstallcmds = ['gtk4-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk4-demo', 'gtk4-demo-application', 'gtk4-icon-browser', 'gtk4-widget-factory', + 'gtk4-builder-tool', 'gtk4-launch', 'gtk4-query-settings', + 'gtk4-update-icon-cache', 'gtk4-widget-factory']] + + ['lib/libgtk-4.%s' % SHLIB_EXT], + 'dirs': ['include/%s-%%(version_major)s.0/%s' % ('gtk', x) for x in ['gdk', 'gsk', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3_g_set_str.patch b/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3_g_set_str.patch new file mode 100755 index 00000000000..df6cc614987 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.11.3_g_set_str.patch @@ -0,0 +1,13 @@ +Correct GLib version check on g_set_str +Patch by Simon Branford (University of Birmingham) +--- gdk/gdkprivate.h.orig 2023-07-24 20:41:16.096936629 +0100 ++++ gdk/gdkprivate.h 2023-07-24 20:41:24.875062247 +0100 +@@ -22,7 +22,7 @@ + #define I_(string) g_intern_static_string (string) + #endif + +-#if !GLIB_CHECK_VERSION (2, 75, 1) ++#if !GLIB_CHECK_VERSION (2, 75, 0) + static inline gboolean + g_set_str (char **str_pointer, + const char *new_str) diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..5ac3810bfa1 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.13.1-GCC-12.3.0.eb @@ -0,0 +1,81 @@ +easyblock = 'Bundle' + +name = 'GTK4' +version = '4.13.1' + +homepage = 'https://docs.gtk.org/gtk4/' +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': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.76.1'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), + ('cairo', '1.17.8'), + ('Perl', '5.36.1'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.10'), + ('Pango', '1.50.14'), + ('libepoxy', '1.5.10'), + ('X11', '20230603'), + ('FriBidi', '1.0.12'), + ('GST-plugins-bad', '1.22.5'), + ('Wayland', '1.22.0'), + ('PyGObject', '3.46.0'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK', version, { + 'easyblock': 'MesonNinja', + 'source_urls': [FTPGNOME_SOURCE], + 'configopts': "-Dintrospection=enabled -Dgtk_doc=false", + 'checksums': [ + '53d832a37653fb4672ad7b3d3be656082eeee402177d971fdf8e0cba9a55b9a1', + ], + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '45.0', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'checksums': [ + '2442bfb06f4e6cc95bf6e2682fdff98fa5eddc688751b9d6215c623cb4e42ff1', + ], + }), +] + +postinstallcmds = ['gtk4-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk4-demo', 'gtk4-demo-application', 'gtk4-icon-browser', 'gtk4-widget-factory', + 'gtk4-builder-tool', 'gtk4-launch', 'gtk4-query-settings', + 'gtk4-update-icon-cache', 'gtk4-widget-factory']] + + ['lib/libgtk-4.%s' % SHLIB_EXT], + 'dirs': ['include/%s-%%(version_major)s.0/%s' % ('gtk', x) for x in ['gdk', 'gsk', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTK4/GTK4-4.7.0-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GTK4/GTK4-4.7.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..0e6a712b8f0 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/GTK4-4.7.0-GCC-11.3.0.eb @@ -0,0 +1,82 @@ +easyblock = 'Bundle' + +name = 'GTK4' +version = '4.7.0' + +homepage = 'https://docs.gtk.org/gtk4/' +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': 'GCC', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('GObject-Introspection', '1.72.0'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('cairo', '1.17.4'), + ('Perl', '5.34.1'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] +dependencies = [ + ('ATK', '2.38.0'), + ('at-spi2-atk', '2.38.0'), + ('Gdk-Pixbuf', '2.42.8'), + ('Pango', '1.50.7'), + ('libepoxy', '1.5.10'), + ('X11', '20220504'), + ('FriBidi', '1.0.12'), + ('GST-plugins-bad', '1.20.2'), + ('Wayland', '1.20.0'), + ('PyGObject', '3.42.1'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCELOWER_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('GTK', version, { + 'easyblock': 'MesonNinja', + 'source_urls': [FTPGNOME_SOURCE], + 'configopts': "-Dintrospection=enabled -Dgtk_doc=false", + 'checksums': ['913fcd9d065efb348723e18c3b9113e23b92072e927ebd2f61d32745c8228b94'], + }), + ('hicolor-icon-theme', '0.17', { + 'source_urls': ['https://icon-theme.freedesktop.org/releases/'], + 'checksums': ['317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8'], + }), + ('adwaita-icon-theme', '42.0', { + 'preconfigopts': 'autoreconf -f -i && ', + 'source_urls': ['https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major)s'], + 'patches': ['adwaita-icon-theme-3.34.3_disable-svg-conversion.patch'], + 'checksums': [ + '5e85b5adc8dee666900fcaf271ba717f7dcb9d0a03d96dae08f9cbd27e18b1e0', + # adwaita-icon-theme-3.34.3_disable-svg-conversion.patch + 'f4b86855d50759ecfc1e8f6550ec0f3a7a4ea2c80b9f5fc1685fe8967d1c5342', + ], + }), +] + +postinstallcmds = ['gtk4-update-icon-cache'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gtk4-demo', 'gtk4-demo-application', 'gtk4-icon-browser', 'gtk4-widget-factory', + 'gtk4-builder-tool', 'gtk4-launch', 'gtk4-query-settings', + 'gtk4-update-icon-cache', 'gtk4-widget-factory']] + + ['lib/libgtk-4.%s' % SHLIB_EXT], + 'dirs': ['include/%s-%%(version_major)s.0/%s' % ('gtk', x) for x in ['gdk', 'gsk', 'gtk']] + + ['share/icons/hicolor', 'share/icons/Adwaita'], +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch new file mode 100644 index 00000000000..bf0b97f9489 --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-3.34.3_disable-svg-conversion.patch @@ -0,0 +1,16 @@ +As we don't have SVG support we disable the search for the converter. + +Author: Alexander Grund (TU Dresden) + +diff -aur a/configure.ac b/configure.ac +--- a/configure.ac 2021-07-16 15:16:15.774630738 +0200 ++++ b/configure.ac 2021-07-16 15:15:10.138814059 +0200 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 24x24 32x32 48x48 64x64 96x96" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi diff --git a/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-44.0_disable-svg-conversion.patch b/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-44.0_disable-svg-conversion.patch new file mode 100755 index 00000000000..a81806274be --- /dev/null +++ b/easybuild/easyconfigs/g/GTK4/adwaita-icon-theme-44.0_disable-svg-conversion.patch @@ -0,0 +1,17 @@ +As we don't have SVG support we disable the search for the converter. + +Author: Alexander Grund (TU Dresden) +Updated for v44.0 by Simon Branford (University of Birmingham) + +diff -aur a/configure.ac b/configure.ac +--- configure.ac.orig 2023-07-24 21:38:28.066689617 +0100 ++++ configure.ac 2023-07-24 21:38:54.077313220 +0100 +@@ -49,7 +49,7 @@ + AM_CONDITIONAL(ALLOW_RENDERING, test "x$allow_rendering" = "xyes") + + symbolic_encode_sizes="16x16 32x32" +-AC_PATH_PROG([GTK_ENCODE_SYMBOLIC_SVG], [gtk-encode-symbolic-svg], [false]) ++GTK_ENCODE_SYMBOLIC_SVG="false" + if test "x$GTK_ENCODE_SYMBOLIC_SVG" = "xfalse"; then + symbolic_encode_sizes="" + fi diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..45f971e0556 --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), +] +dependencies = [ + ('GLib', '2.69.1'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..81da084b988 --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] +dependencies = [ + ('GLib', '2.72.1'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..32cd1e37484 --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'https://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), +] +dependencies = [ + ('GLib', '2.75.0'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1e284e153a1 --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] +dependencies = [ + ('GLib', '2.77.1'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dd36868a20d --- /dev/null +++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GTS' +version = '0.7.6' + +homepage = 'http://gts.sourceforge.net/' +description = """GTS stands for the GNU Triangulated Surface Library. +It is an Open Source Free Software Library intended to provide a set of useful +functions to deal with 3D surfaces meshed with interconnected triangles.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e'] + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('binutils', '2.42'), +] +dependencies = [ + ('GLib', '2.80.4'), +] + +sanity_check_paths = { + 'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'], + 'dirs': [], +} + +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/GULP/GULP-6.1-foss-2021b.eb b/easybuild/easyconfigs/g/GULP/GULP-6.1-foss-2021b.eb new file mode 100644 index 00000000000..707e2eb1bb0 --- /dev/null +++ b/easybuild/easyconfigs/g/GULP/GULP-6.1-foss-2021b.eb @@ -0,0 +1,63 @@ +# Contribution from Imperial College London / UK +# Based on GULP-6.0-foss-2020b.eb +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'GULP' +version = '6.1' + +homepage = 'https://gulp.curtin.edu.au/gulp/' +description = """GULP is a program for performing a variety of types of simulation on materials + using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs + and grain boundaries), or 3-D (periodic solids)Band Unfolding code for Plane-wave based calculations""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCELOWER_TGZ] +patches = [ + 'GULP-6.1_fftw-blas-linking-gcc-11.patch', +] +checksums = [ + {'gulp-6.1.tgz': '1b52fe2928ccf2cea5d2c3466162764d0de6b4d06e86fe292ab37859d6a0e6d6'}, + {'GULP-6.1_fftw-blas-linking-gcc-11.patch': 'd32babd56e859a9378548981a00b876a88b66e392cb532d33193b6e3362f7940'}, +] + +download_instructions = """Download requires registration, please see +https://gulp.curtin.edu.au/gulp/request.cfm?rel=download +and follow the instructions there""" + +start_dir = 'Src' + +# Use external FFTW (-f), enable parallel/MPI build (-m) and set the base compiler (-c). +# Building it this way means both the serial and parallel build are available. +# The serial build can be used like this: +# $ gulp < FILE.gin > OUT.gout +# For the parallel run, just add mpirun: +# $ mpirun -n X gulp < FILE.gin > OUT.gout + +build_cmd = "./mkgulp -f -m -c gfortran" + +# When building in parallel, it appears that with more than 4 cores it gets confused +maxparallel = 4 + + +files_to_copy = [ + (['gulp'], 'bin'), + (['../Docs', '../Examples', '../Libraries', '../Utils'], ''), +] + +sanity_check_paths = { + 'files': ['bin/gulp'], + 'dirs': ['Docs', 'Examples', 'Libraries', 'Utils'], +} + +modextrapaths = { + 'GULP_LIB': 'Libraries', + 'GULP_DOC': 'Docs', + 'GULP_EXAMPLES': 'Examples', + 'GULP_UTILS': 'Utils', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GULP/GULP-6.1_fftw-blas-linking-gcc-11.patch b/easybuild/easyconfigs/g/GULP/GULP-6.1_fftw-blas-linking-gcc-11.patch new file mode 100644 index 00000000000..a43f7ed0e14 --- /dev/null +++ b/easybuild/easyconfigs/g/GULP/GULP-6.1_fftw-blas-linking-gcc-11.patch @@ -0,0 +1,54 @@ +Removing hard-coded paths in the mkgulp file, which is creating the makefile +Using the suggested compiler flags for gfortran-10 +author: J. Sassmannshausen (Imperial College London/UK) +--- gulp-6.1.orig/Src/mkgulp.orig 2022-10-14 05:14:21.541000000 +0200 ++++ gulp-6.1/Src/mkgulp 2022-10-18 13:18:12.812436767 +0200 +@@ -196,7 +196,7 @@ + # Include file directories + # + #--USER--Start +-echo 'INC=-I.. ' >> makefile ++echo 'INC=-I.. -I'${EBROOTFFTW}/include >> makefile + #--USER--End + # If using Macports then use the following instead + #--USER--Start +@@ -242,7 +242,7 @@ + else + # NB: For gfortran v10 then use these lines + echo 'RUNF90=mpif90 -fallow-argument-mismatch ' >> makefile +- echo 'RUNCC=mpif90 ' >> makefile ++ echo 'RUNCC=mpif90 -fallow-argument-mismatch ' >> makefile + # echo 'RUNF90=mpif90 ' >> makefile + # echo 'RUNCC=mpif90 ' >> makefile + # +@@ -251,14 +251,14 @@ + # On the Mac the following is sufficient when using Macports: + # echo 'MLIBS=-L/opt/local/lib/lapack/ -llapack -lblas ' >> makefile + # If using the accelerate framework then leave blank: +- echo 'MLIBS=' >> makefile ++ echo 'MLIBS=-L'${EBROOTFLEXIBLAS}'/lib -lflexiblas' >> makefile + # Or if optimised maths libraries are not available then: + # echo 'MLIBS=lapack.o blas.o' >> makefile + #--USER--End + # Provide the location and name of Scalapack, Blacs, and Pblas libraries if running in parallel: + #--USER--Start + # For homebrew installation of Scalapack: +- echo 'SLIBS=-L/opt/homebrew/lib -lscalapack ' >> makefile ++ echo 'SLIBS=-L'${EBROOTSCALAPACK}'/lib -lscalapack ' >> makefile + # echo 'SLIBS=-L/opt/local/lib -lscalapack ' >> makefile + #--USER--End + fi +@@ -371,11 +371,11 @@ + echo 'FDEFS=-DFFTW3 ' >> makefile + if [ "$parallel" = "" ] + #--USER--Start +- echo 'FLIBS=-L/usr/local/lib/ -lfftw3.a' >> makefile ++ echo 'FLIBS=-L'${EBROOTFFTW}'/lib -lfftw3' >> makefile + #--USER--End + then + #--USER--Start +- echo 'FLIBS=-L/usr/local/lib/ -lfftw3 -lfftw3_mpi' >> makefile ++ echo 'FLIBS=-L'${EBROOTFFTW}'/lib -lfftw3 -lfftw3_mpi' >> makefile + # The following is for NCI + # echo 'FLIBS=-mkl -lfftw3x_cdft_openmpi_lp64' + #--USER--End diff --git a/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb b/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb new file mode 100644 index 00000000000..2e995926f1c --- /dev/null +++ b/easybuild/easyconfigs/g/GUSHR/GUSHR-2020-09-28-foss-2021b.eb @@ -0,0 +1,53 @@ +# author: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GUSHR' +version = '2020-09-28' +local_commit = 'ee26d5c' + +homepage = 'https://github.com/Gaius-Augustus/GUSHR' +description = """ +Assembly-free construction of UTRs from short read RNA-Seq data on the basis of coding sequence annotation. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://github.com/Gaius-Augustus/GUSHR/archive', + 'http://bioinf.uni-greifswald.de/bioinf/braker/', +] +sources = [ + { + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, + }, + { + 'filename': 'RNAseq.bam', + 'extract_cmd': 'cp %s %(builddir)s/', + } +] +checksums = [ + {'GUSHR-2020-09-28.tar.gz': '81fd9c372a45af1688c2954932f94efc4c637144f874e16be41d1b18936a5303'}, + {'RNAseq.bam': '877072947678b6cfd05a7d1124e2008f88a29d56926d8eefb20ef21c137cf5aa'}, +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('AUGUSTUS', '3.4.0'), + ('GLib', '2.69.1'), +] + +sanity_check_paths = { + 'files': ['gushr.py'], + 'dirs': [], +} + +local_sanity_cmd = 'cp %(builddir)s/RNAseq.bam %(installdir)s/example && ' +local_sanity_cmd += 'cd %(installdir)s/example && ' +local_sanity_cmd += '../gushr.py -b RNAseq.bam -t augustus.gtf -g genome.fa -o gushr -c 10 ' + +sanity_check_commands = [ + local_sanity_cmd +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GapFiller/GapFiller-2.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GapFiller/GapFiller-2.1.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..8e6de771d67 --- /dev/null +++ b/easybuild/easyconfigs/g/GapFiller/GapFiller-2.1.2-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'GapFiller' +version = '2.1.2' + +homepage = 'https://sourceforge.net/projects/gapfiller' +description = """GapFiller is a seed-and-extend local assembler to fill the gap within paired reads. + It can be used for both DNA and RNA and it has been tested on Illumina data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++11', 'extra_cxxflags': '-fpermissive'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a4c5235b1ee17e277d08cc945dbfa05af084559e546a2b7f15c9c1b703f4b237'] + +dependencies = [ + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), +] + +buildopts = 'bin_PROGRAMS=GapFiller ' +buildopts += 'GapFiller_CFLAGS="$CFLAGS $LDFLAGS -lz" GapFiller_CXXFLAGS="$CXXFLAGS $LDFLAGS -lz"' +installopts = 'bin_PROGRAMS=GapFiller ' + +postinstallcmds = ["cp -a README %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/GapFiller', 'README'], + 'dirs': [], +} + +sanity_check_commands = ["GapFiller --help"] + +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/Gdk-Pixbuf/Gdk-Pixbuf-2.38.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.1-GCCcore-8.2.0.eb index a394b340004..6358948ab16 100644 --- a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.1-GCCcore-8.2.0.eb @@ -38,7 +38,7 @@ dependencies = [ ] configopts = "--buildtype=release --default-library=both " -configopts += "-Dgio_sniffing=false -Dgir=true " +configopts += "-Dgio_sniffing=false -Dgir=true -Dman=false " sanity_check_paths = { 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.2-GCCcore-8.3.0.eb index f9a6e400916..c5c7b931108 100644 --- a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.38.2-GCCcore-8.3.0.eb @@ -22,7 +22,7 @@ checksums = [ ] builddependencies = [ - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('binutils', '2.32'), ('pkg-config', '0.29.2'), @@ -38,7 +38,7 @@ dependencies = [ ] configopts = "--buildtype=release --default-library=both " -configopts += "-Dgio_sniffing=false -Dgir=true " +configopts += "-Dgio_sniffing=false -Dgir=true -Dman=false " sanity_check_paths = { 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-10.2.0.eb index 2d4114f9681..84d05664734 100644 --- a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-10.2.0.eb @@ -34,7 +34,7 @@ dependencies = [ ] configopts = "--buildtype=release --default-library=both " -configopts += "-Dgio_sniffing=false -Dgir=true " +configopts += "-Dgio_sniffing=false -Dgir=true -Dman=false " sanity_check_paths = { 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-9.3.0.eb index 933fe2247c5..a7901baed20 100644 --- a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.40.0-GCCcore-9.3.0.eb @@ -36,7 +36,7 @@ dependencies = [ ] configopts = "--buildtype=release --default-library=both " -configopts += "-Dgio_sniffing=false -Dgir=true " +configopts += "-Dgio_sniffing=false -Dgir=true -Dman=false " sanity_check_paths = { 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4c2a7cd38ba --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.10' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('X11', '20221110'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3d1ffb27864 --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.10' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GObject-Introspection', '1.76.1'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('X11', '20230603'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ac99b2584dd --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.10-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.10' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('GObject-Introspection', '1.78.1'), +] + +dependencies = [ + ('GLib', '2.78.1'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('LibTIFF', '4.6.0'), + ('X11', '20231019'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.11-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.11-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2ac4237f4c0 --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.11-GCCcore-13.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.11' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['49dcb402388708647e8c321d56b6fb30f21e51e515d0c5a942268d23052a2f00'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('GObject-Introspection', '1.80.1'), +] + +dependencies = [ + ('GLib', '2.80.4'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('LibTIFF', '4.6.0'), + ('X11', '20240607'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3e94b11e6ee --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.6-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.6' + +homepage = 'https://developer.gnome.org/gdk-pixbuf/stable/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f'] + +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.68.0'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('X11', '20210802'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c730b3e3f19 --- /dev/null +++ b/easybuild/easyconfigs/g/Gdk-Pixbuf/Gdk-Pixbuf-2.42.8-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'Gdk-Pixbuf' +version = '2.42.8' + +homepage = 'https://docs.gtk.org/gdk-pixbuf/' +description = """ + The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. + It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it + was distributed as part of GTK+ 2 but it was split off into a separate package + in preparation for the change to GTK+ 3. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['84acea3acb2411b29134b32015a5b1aaa62844b19c4b1ef8b8971c6b0759f4c6'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('GObject-Introspection', '1.72.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('X11', '20220504'), +] + +configopts = "--buildtype=release --default-library=both " +configopts += "-Dgio_sniffing=false -Dintrospection=enabled -Dman=false" + +sanity_check_paths = { + 'files': ['lib/libgdk_pixbuf-%(version_major)s.0.a', 'lib/libgdk_pixbuf-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/gdk-pixbuf-%(version_major)s.0', 'lib/gdk-pixbuf-%(version_major)s.0', 'share'], +} + +sanity_check_commands = ["gdk-pixbuf-pixdata --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gdspy/Gdspy-1.6.13-foss-2022a.eb b/easybuild/easyconfigs/g/Gdspy/Gdspy-1.6.13-foss-2022a.eb new file mode 100644 index 00000000000..6890ad35f69 --- /dev/null +++ b/easybuild/easyconfigs/g/Gdspy/Gdspy-1.6.13-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'Gdspy' +version = '1.6.13' + +homepage = 'https://github.com/heitzmann/gdspy' +description = "Gdspy is a Python module for creation and manipulation of GDSII stream files." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('gdspy', version, { + 'sources': ['%(namelower)s-%(version)s.zip'], + 'checksums': ['38c61a7267f90767d90b8fcdda96c7a629df26e06f7153084c773f3d6363f4f0'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.1.eb b/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.1.eb new file mode 100644 index 00000000000..5f9812478e6 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.1.eb @@ -0,0 +1,53 @@ +easyblock = 'Tarball' +name = 'Geant4-data' +version = '11.1' # version should somewhat match the Geant4 version it should be used in + +homepage = 'https://geant4.web.cern.ch/' +description = """Datasets for Geant4.""" + +toolchain = SYSTEM + +# Pick up the correct sets and versions from cmake/Modules/G4DatasetDefinitions.cmake +# in the Geant source +local_datasets = [ + ('G4NDL', '4.7', 'G4NDL', 'G4NEUTRONHPDATA'), # NDL + ('G4EMLOW', '8.2', 'G4EMLOW', 'G4LEDATA'), # Low energy electromagnetics + ('PhotonEvaporation', '5.7', 'G4PhotonEvaporation', 'G4LEVELGAMMADATA'), # Photon evaporation + ('RadioactiveDecay', '5.6', 'G4RadioactiveDecay', 'G4RADIOACTIVEDATA'), # Radioisotopes + ('G4SAIDDATA', '2.0', 'G4SAIDDATA', 'G4SAIDXSDATA'), # SAID + ('G4PARTICLEXS', '4.0', 'G4PARTICLEXS', 'G4PARTICLEXSDATA'), # Particle XS - replaces Neutron XS + ('G4PII', '1.3', 'G4PII', 'G4PIIDATA'), # PII + ('RealSurface', '2.2', 'G4RealSurface', 'G4REALSURFACEDATA'), # Optical Surfaces + ('G4ABLA', '3.1', 'G4ABLA', 'G4ABLADATA'), # ABLA + ('G4INCL', '1.0', 'G4INCL', 'G4INCLDATA'), # INCL + ('G4ENSDFSTATE', '2.3', 'G4ENSDFSTATE', 'G4ENSDFSTATEDATA'), # ENSDFSTATE + ('G4TENDL', '1.4', 'G4TENDL', 'G4PARTICLEHPDATA'), # TENDL +] + +source_urls = ['https://cern.ch/geant4-data/datasets'] +sources = ['%s.%s.tar.gz' % (x[2], x[1]) for x in local_datasets] +checksums = [ + {'G4NDL.4.7.tar.gz': '7e7d3d2621102dc614f753ad928730a290d19660eed96304a9d24b453d670309'}, + {'G4EMLOW.8.2.tar.gz': '3d7768264ff5a53bcb96087604bbe11c60b7fea90aaac8f7d1252183e1a8e427'}, + {'G4PhotonEvaporation.5.7.tar.gz': '761e42e56ffdde3d9839f9f9d8102607c6b4c0329151ee518206f4ee9e77e7e5'}, + {'G4RadioactiveDecay.5.6.tar.gz': '3886077c9c8e5a98783e6718e1c32567899eeb2dbb33e402d4476bc2fe4f0df1'}, + {'G4SAIDDATA.2.0.tar.gz': '1d26a8e79baa71e44d5759b9f55a67e8b7ede31751316a9e9037d80090c72e91'}, + {'G4PARTICLEXS.4.0.tar.gz': '9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95'}, + {'G4PII.1.3.tar.gz': '6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926'}, + {'G4RealSurface.2.2.tar.gz': '9954dee0012f5331267f783690e912e72db5bf52ea9babecd12ea22282176820'}, + {'G4ABLA.3.1.tar.gz': '7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed'}, + {'G4INCL.1.0.tar.gz': '716161821ae9f3d0565fbf3c2cf34f4e02e3e519eb419a82236eef22c2c4367d'}, + {'G4ENSDFSTATE.2.3.tar.gz': '9444c5e0820791abd3ccaace105b0e47790fadce286e11149834e79c4a8e9203'}, + {'G4TENDL.1.4.tar.gz': '4b7274020cc8b4ed569b892ef18c2e088edcdb6b66f39d25585ccee25d9721e0'}, +] + +start_dir = '..' + +modextrapaths = {x[3]: x[0] + x[1] for x in local_datasets} + +sanity_check_paths = { + 'files': [], + 'dirs': [x[0] + x[1] for x in local_datasets], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.2.eb b/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.2.eb new file mode 100644 index 00000000000..a085843d7d2 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4-data/Geant4-data-11.2.eb @@ -0,0 +1,54 @@ +easyblock = 'Tarball' +name = 'Geant4-data' +version = '11.2' # version should somewhat match the Geant4 version it should be used in + +homepage = 'https://geant4.web.cern.ch/' +description = """Datasets for Geant4.""" + +toolchain = SYSTEM + +# Pick up the correct sets and versions from cmake/Modules/G4DatasetDefinitions.cmake +# in the Geant source, +# see also https://github.com/Geant4/geant4/blob/v11.2.2/cmake/Modules/G4DatasetDefinitions.cmake +local_datasets = [ + ('G4NDL', '4.7.1', 'G4NDL', 'G4NEUTRONHPDATA'), # NDL + ('G4EMLOW', '8.5', 'G4EMLOW', 'G4LEDATA'), # Low energy electromagnetics + ('PhotonEvaporation', '5.7', 'G4PhotonEvaporation', 'G4LEVELGAMMADATA'), # Photon evaporation + ('RadioactiveDecay', '5.6', 'G4RadioactiveDecay', 'G4RADIOACTIVEDATA'), # Radioisotopes + ('G4SAIDDATA', '2.0', 'G4SAIDDATA', 'G4SAIDXSDATA'), # SAID + ('G4PARTICLEXS', '4.0', 'G4PARTICLEXS', 'G4PARTICLEXSDATA'), # Particle XS - replaces Neutron XS + ('G4PII', '1.3', 'G4PII', 'G4PIIDATA'), # PII + ('RealSurface', '2.2', 'G4RealSurface', 'G4REALSURFACEDATA'), # Optical Surfaces + ('G4ABLA', '3.3', 'G4ABLA', 'G4ABLADATA'), # ABLA + ('G4INCL', '1.2', 'G4INCL', 'G4INCLDATA'), # INCL + ('G4ENSDFSTATE', '2.3', 'G4ENSDFSTATE', 'G4ENSDFSTATEDATA'), # ENSDFSTATE + ('G4TENDL', '1.4', 'G4TENDL', 'G4PARTICLEHPDATA'), # TENDL +] + +source_urls = ['https://cern.ch/geant4-data/datasets'] +sources = ['%s.%s.tar.gz' % (x[2], x[1]) for x in local_datasets] +checksums = [ + {'G4NDL.4.7.1.tar.gz': 'd3acae48622118d2579de24a54d533fb2416bf0da9dd288f1724df1485a46c7c'}, + {'G4EMLOW.8.5.tar.gz': '66baca49ac5d45e2ac10c125b4fb266225e511803e66981909ce9cd3e9bcef73'}, + {'G4PhotonEvaporation.5.7.tar.gz': '761e42e56ffdde3d9839f9f9d8102607c6b4c0329151ee518206f4ee9e77e7e5'}, + {'G4RadioactiveDecay.5.6.tar.gz': '3886077c9c8e5a98783e6718e1c32567899eeb2dbb33e402d4476bc2fe4f0df1'}, + {'G4SAIDDATA.2.0.tar.gz': '1d26a8e79baa71e44d5759b9f55a67e8b7ede31751316a9e9037d80090c72e91'}, + {'G4PARTICLEXS.4.0.tar.gz': '9381039703c3f2b0fd36ab4999362a2c8b4ff9080c322f90b4e319281133ca95'}, + {'G4PII.1.3.tar.gz': '6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926'}, + {'G4RealSurface.2.2.tar.gz': '9954dee0012f5331267f783690e912e72db5bf52ea9babecd12ea22282176820'}, + {'G4ABLA.3.3.tar.gz': '1e041b3252ee9cef886d624f753e693303aa32d7e5ef3bba87b34f36d92ea2b1'}, + {'G4INCL.1.2.tar.gz': 'f880b16073ee0a92d7494f3276a6d52d4de1d3677a0d4c7c58700396ed0e1a7e'}, + {'G4ENSDFSTATE.2.3.tar.gz': '9444c5e0820791abd3ccaace105b0e47790fadce286e11149834e79c4a8e9203'}, + {'G4TENDL.1.4.tar.gz': '4b7274020cc8b4ed569b892ef18c2e088edcdb6b66f39d25585ccee25d9721e0'}, +] + +start_dir = '..' + +modextrapaths = {x[3]: x[0] + x[1] for x in local_datasets} + +sanity_check_paths = { + 'files': [], + 'dirs': [x[0] + x[1] for x in local_datasets], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-10.7.1-GCC-11.2.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-10.7.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..f742fdacf04 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-10.7.1-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'Geant4' +version = '10.7.1' + +homepage = 'https://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['a22800227713b46ba0b71bc674f6c937e5cc0cf17a6becf4a10d5ef90693a60b'] + +builddependencies = [('CMake', '3.22.1')] +dependencies = [ + ('expat', '2.4.1'), + # recommended CLHEP version, see https://geant4-data.web.cern.ch/geant4-data/ReleaseNotes/ReleaseNotes4.10.7.html + ('CLHEP', '2.4.4.0'), +] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.0.0-GCC-11.2.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..f909ffdb14a --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.0-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'Geant4' +version = '11.0.0' + +homepage = 'https://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['98959447637fe7acc52b532e39906e6109845f9df11bb2a7439e6024a4c74e33'] + +builddependencies = [('CMake', '3.21.1')] +dependencies = [ + ('expat', '2.4.1'), + # recommended CLHEP version, see https://geant4-data.web.cern.ch/ReleaseNotes/ReleaseNotes.11.0.html + ('CLHEP', '2.4.5.1'), +] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.0.1-GCC-11.2.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..346a936d545 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.1-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'Geant4' +version = '11.0.1' + +homepage = 'https://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['e7bdcb4ce85987b8d4d77eaee15fb6a8f861faaa5accbd355a7dbf28fdf94318'] + +builddependencies = [('CMake', '3.21.1')] +dependencies = [ + ('expat', '2.4.1'), + # recommended CLHEP version, see https://geant4-data.web.cern.ch/ReleaseNotes/ReleaseNotes.11.0.html + ('CLHEP', '2.4.5.1'), +] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.2.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..78635c02ef3 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +name = 'Geant4' +version = '11.0.2' + +homepage = 'https://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['ddabe8d5cc3bd465c969f375cc43ee537ff33c17dc2943b8a4420cfa83cfcfcc'] + +builddependencies = [('CMake', '3.22.1')] +dependencies = [ + ('expat', '2.4.1'), + # recommended CLHEP version, see https://geant4-data.web.cern.ch/ReleaseNotes/ReleaseNotes.11.0.html + ('CLHEP', '2.4.5.1'), +] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..7fe2129d33f --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.0.2-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +name = 'Geant4' +version = '11.0.2' + +homepage = 'https://geant4.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['ddabe8d5cc3bd465c969f375cc43ee537ff33c17dc2943b8a4420cfa83cfcfcc'] + +builddependencies = [('CMake', '3.23.1')] +dependencies = [ + ('expat', '2.4.8'), + # (bugfix update of) recommended CLHEP version, + # see https://geant4-data.web.cern.ch/ReleaseNotes/ReleaseNotes.11.0.html + ('CLHEP', '2.4.5.3'), +] + +configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF" + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..d535658d41f --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2-GCC-11.3.0.eb @@ -0,0 +1,48 @@ +name = 'Geant4' +version = '11.1.2' + +homepage = 'https://geant4.web.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch', +] +checksums = [ + {'geant4-11.1.2.tar.gz': 'b0d0ca79188f85e5a6a178cf8e5ebde16cfeb30959f8862517daab60e0ae2691'}, + {'Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch': + '822265b7cbcaacdffd28b1094786a3c94122aff63338e514d5d3810cdf9218a6'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('expat', '2.4.8'), + # recommended CLHEP version, see https://geant4.web.cern.ch/download/release-notes/notes-v11.1.0.html + ('CLHEP', '2.4.6.2'), + ('Xerces-C++', '3.2.4'), + ('Qt5', '5.15.5'), + ('Geant4-data', '11.1', '', SYSTEM), +] + +_copts = [ + "-DGEANT4_INSTALL_DATA=OFF", + "-DGEANT4_USE_SYSTEM_ZLIB=ON", + "-DGEANT4_USE_SYSTEM_EXPAT=ON", + "-DGEANT4_USE_SYSTEM_CLHEP=ON", + "-DGEANT4_USE_QT=ON", + "-DGEANT4_USE_GDML=ON", + "-DGEANT4_USE_OPENGL_X11=ON", + "-DGEANT4_USE_RAYTRACER_X11=ON", +] +configopts = ' '.join(_copts) + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch b/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch new file mode 100644 index 00000000000..ce997291c17 --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch @@ -0,0 +1,50 @@ +Make geant4make.sh and geant4.sh pick up the data dirs from the Geant4-data module + +Åke Sandgren, 2023-06-21 +diff -ru geant4-11.1.2.orig/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake geant4-11.1.2/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake +--- geant4-11.1.2.orig/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake 2023-06-19 17:14:55.000000000 +0200 ++++ geant4-11.1.2/cmake/Modules/G4ConfigureGNUMakeHelpers.cmake 2023-06-21 16:07:17.147729642 +0200 +@@ -499,11 +499,12 @@ + endif() + + # - Resource file paths +- set(GEANT4_TC_DATASETS ) +- foreach(_ds ${GEANT4_EXPORTED_DATASETS}) +- _g4tc_setenv_command(_dssetenvcmd ${SHELL_FAMILY} ${${_ds}_ENVVAR} ${${_ds}_PATH}) +- set(GEANT4_TC_DATASETS "${GEANT4_TC_DATASETS}${_dssetenvcmd}\n") +- endforeach() ++# Take the env vars from the EB Geant4-data module ++# set(GEANT4_TC_DATASETS ) ++# foreach(_ds ${GEANT4_EXPORTED_DATASETS}) ++# _g4tc_setenv_command(_dssetenvcmd ${SHELL_FAMILY} ${${_ds}_ENVVAR} ${${_ds}_PATH}) ++# set(GEANT4_TC_DATASETS "${GEANT4_TC_DATASETS}${_dssetenvcmd}\n") ++# endforeach() + + set(GEANT4_TC_TOOLS_FONT_PATH "# FREETYPE SUPPORT NOT AVAILABLE") + if(GEANT4_USE_FREETYPE) +@@ -987,8 +988,8 @@ + + # - Set data paths + set(GEANT4_ENV_DATASETS ) +- _g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIR}) +- set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n") ++# _g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIR}) ++# set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n") + set(_dssetenvcmd " + # - Variables for individual datasets + # Uncomment the line and edit the path to the dataset if installed in not standard location.") +@@ -1072,10 +1073,10 @@ + + # - Set data paths + set(GEANT4_ENV_DATASETS ) +- _g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIRW}) +- set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n") +- set(_dssetenvcmd "FOR /F %%i IN ( \"%GEANT4_DATA_DIR%\" ) DO set \"GEANT4_DATA_DIR=%%~fi\"") +- set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n\n") ++# _g4tc_setenv_command(_dssetenvcmd ${_shell} GEANT4_DATA_DIR ${GEANT4_DATA_DIRW}) ++# set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n") ++# set(_dssetenvcmd "FOR /F %%i IN ( \"%GEANT4_DATA_DIR%\" ) DO set \"GEANT4_DATA_DIR=%%~fi\"") ++# set(GEANT4_ENV_DATASETS "${GEANT4_ENV_DATASETS}${_dssetenvcmd}\n\n") + set(_dssetenvcmd " + rem - Variables for individual datasets + rem Uncomment the line and edit the path to the dataset if installed in not standard location.") diff --git a/easybuild/easyconfigs/g/Geant4/Geant4-11.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/g/Geant4/Geant4-11.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..d4cdf6c78cb --- /dev/null +++ b/easybuild/easyconfigs/g/Geant4/Geant4-11.2.2-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +name = 'Geant4' +version = '11.2.2' + +homepage = 'https://geant4.web.cern.ch/' +description = """Geant4 is a toolkit for the simulation of the passage of particles through matter. + Its areas of application include high energy, nuclear and accelerator physics, + as well as studies in medical and space science.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'Geant4' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +patches = [ + 'Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch', +] +checksums = [ + {'geant4-11.2.2.tar.gz': '0b0cfce14e9143079c4440d27ee21f889c4c4172ac5ee7586746b940ffcf812a'}, + {'Geant4-11.1.2_use_data_env_vars_from_Geant4-data_module.patch': + '822265b7cbcaacdffd28b1094786a3c94122aff63338e514d5d3810cdf9218a6'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('expat', '2.5.0'), + # recommended CLHEP version, see https://geant4.web.cern.ch/download/release-notes/notes-v11.1.0.html + ('CLHEP', '2.4.7.1'), + ('Xerces-C++', '3.2.4'), + ('Qt5', '5.15.10'), + ('Geant4-data', '11.2', '', SYSTEM), +] + +_copts = [ + "-DGEANT4_INSTALL_DATA=OFF", + "-DGEANT4_USE_SYSTEM_ZLIB=ON", + "-DGEANT4_USE_SYSTEM_EXPAT=ON", + "-DGEANT4_USE_SYSTEM_CLHEP=ON", + "-DGEANT4_USE_QT=ON", + "-DGEANT4_USE_GDML=ON", + "-DGEANT4_USE_OPENGL_X11=ON", + "-DGEANT4_USE_RAYTRACER_X11=ON", +] +configopts = ' '.join(_copts) + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/GenMap/GenMap-1.3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GenMap/GenMap-1.3.0-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..2a1f332ae41 --- /dev/null +++ b/easybuild/easyconfigs/g/GenMap/GenMap-1.3.0-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'GenMap' +version = '1.3.0' + +homepage = 'https://github.com/cpockrandt/genmap' + +description = """GenMap - Fast and Exact Computation of Genome Mappability""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/cpockrandt/genmap/archive/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['d237b284bb26d000039078e7be81bbebae21ee65d614ce89bd47a45f99fafb64'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('SeqAn', '2.4.0'), +] + +configopts = "-DSeqAn_DIR=$EBROOTSEQAN/util/cmake" + +sanity_check_paths = { + 'files': ["bin/genmap"], + 'dirs': [], +} + +sanity_check_commands = ["genmap %s --help" % x for x in ["", "index", "map"]] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..017e077aa13 --- /dev/null +++ b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GeneMark-ET' +version = '4.71' + +homepage = 'http://exon.gatech.edu/GeneMark' +description = "Eukaryotic gene prediction suite with automatic training" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = ['gmes_linux_64-%(version)s.tar.gz'] +checksums = [( + '29adf580ccee6f69d19045bedc3a53e7a71b4c39a95409be3e96d3e9dca83c95', + '629f430e7262bdb5df8f24413e65d26e35eb10ea34212145b692ee4689591e54', +)] + +download_instructions = """ +1. complete the license form: http://exon.gatech.edu/GeneMark/license_download.cgi +2. rename the tarball: `mv gmes_linux_64.tar.gz gmes_linux_64-%(version)s.tar.gz` +""" + +dependencies = [('Perl', '5.34.0')] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['gmes.cfg', 'gmes_petap.pl'], + 'dirs': ['lib'], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..63aaf53f794 --- /dev/null +++ b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.71-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'Tarball' + +name = 'GeneMark-ET' +version = '4.71' + +homepage = 'http://exon.gatech.edu/GeneMark' +description = "Eukaryotic gene prediction suite with automatic training" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = ['gmes_linux_64-%(version)s.tar.gz'] +checksums = [( + '29adf580ccee6f69d19045bedc3a53e7a71b4c39a95409be3e96d3e9dca83c95', + '629f430e7262bdb5df8f24413e65d26e35eb10ea34212145b692ee4689591e54', +)] + +download_instructions = """ +1. complete the license form: http://exon.gatech.edu/GeneMark/license_download.cgi +2. rename the tarball: `mv gmes_linux_64.tar.gz gmes_linux_64-%(version)s.tar.gz` +""" + +# To run this code, install the key: copy key "gm_key" into user's home directory as: +# gunzip gm_key.gz +# cp gm_key_64 ~/.gm_key + +dependencies = [('Perl', '5.34.1')] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['gmes.cfg', 'gmes_petap.pl'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "gmes_petap.pl | grep 'Usage:'", +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.72-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.72-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..75ffcc9f5f7 --- /dev/null +++ b/easybuild/easyconfigs/g/GeneMark-ET/GeneMark-ET-4.72-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +# updated: Denis Kristak (INUITS) +# Update: Petr Král (INUITS) +easyblock = 'Tarball' + +name = 'GeneMark-ET' +version = '4.72' + +homepage = 'http://exon.gatech.edu/GeneMark' +description = "Eukaryotic gene prediction suite with automatic training" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = ['gmes_linux_64-%(version)s.tar.gz'] +checksums = ['629f430e7262bdb5df8f24413e65d26e35eb10ea34212145b692ee4689591e54'] + +download_instructions = """ +1. complete the license form: http://exon.gatech.edu/GeneMark/license_download.cgi +2. rename the tarball: `mv gmes_linux_64.tar.gz gmes_linux_64-%(version)s.tar.gz` +""" + +# To run this code, install the key: copy key "gm_key" into user's home directory as: +# gunzip gm_key.gz +# cp gm_key_64 ~/.gm_key + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), +] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['gmes.cfg', 'gmes_petap.pl'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "gmes_petap.pl | grep 'Usage:'", +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GenerativeModels/GenerativeModels-0.2.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/g/GenerativeModels/GenerativeModels-0.2.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..01f477df11e --- /dev/null +++ b/easybuild/easyconfigs/g/GenerativeModels/GenerativeModels-0.2.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'GenerativeModels' +version = '0.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://monai.io/' +description = """ +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'Project-MONAI' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('monai-weekly', '1.2.dev2304', { + 'modulename': 'monai', + 'checksums': ['3c7458c195871147824cdebfef4a84227756960b4f0ba63b969eeeffdec5f13d'], + }), + (name, version, { + 'modulename': 'generative', + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': ['5ceab1c1e9791f84dde89b06384a0107e0847245f76e07dc2fe18bf3d8bf2a63'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' 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/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb b/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb index dd9fd8fbd67..740580b329a 100644 --- a/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb +++ b/easybuild/easyconfigs/g/GenomeThreader/GenomeThreader-1.7.3-Linux_x86_64-64bit.eb @@ -4,12 +4,12 @@ name = 'GenomeThreader' version = '1.7.3' versionsuffix = '-Linux_x86_64-64bit' -homepage = 'http://genomethreader.org' +homepage = 'https://genomethreader.org' description = "GenomeThreader is a software tool to compute gene structure predictions." toolchain = SYSTEM -source_urls = ['http://genomethreader.org/distributions/'] +source_urls = ['https://genomethreader.org/distributions/'] sources = ['gth-%(version)s%(versionsuffix)s.tar.gz'] checksums = ['cdcf7f0c642c14c9dc6b9270e3172de96696f42c25185beabc9a1f68c9c41a57'] diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b-Python-2.7.15.eb index 83da6f1465b..ddd7ce465e2 100644 --- a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b-Python-2.7.15.eb @@ -17,6 +17,7 @@ toolchain = {'name': 'foss', 'version': '2018b'} # Bundled libraries can be globally disabled with the option useshared=yes # However, it is preferable to use the bundled libraries due to the very old versions of some of them +builddependencies = [('pkg-config', '0.29.2')] dependencies = [ ('Python', '2.7.15'), ('Pango', '1.42.4'), diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b.eb index f15f088c3d1..ee56c245a32 100644 --- a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b.eb +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.5.10-foss-2018b.eb @@ -20,6 +20,7 @@ checksums = ['a6aa7f158a3cef90fea8d0fe24bfad0c3ee96b17b3ba0c1f6462582593af679e'] # Bundled libraries can be globally disabled with the option useshared=yes # However, it is preferable to use the bundled libraries due to the very old versions of some of them +builddependencies = [('pkg-config', '0.29.2')] dependencies = [('Pango', '1.42.4')] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-10.2.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-10.2.0.eb index 26842544fe9..7b91aa07cbe 100644 --- a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-10.2.0.eb @@ -24,6 +24,7 @@ checksums = [ # Bundled libraries can be globally disabled with the option useshared=yes # However, it is preferable to use the bundled libraries due to the very old versions of some of them +builddependencies = [('pkg-config', '0.29.2')] dependencies = [('Pango', '1.47.0')] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0-Python-2.7.16.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0-Python-2.7.16.eb index af5b1a01f65..0b7164cb4e3 100644 --- a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0-Python-2.7.16.eb +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0-Python-2.7.16.eb @@ -17,6 +17,7 @@ toolchain = {'name': 'GCC', 'version': '8.3.0'} # Bundled libraries can be globally disabled with the option useshared=yes # However, it is preferable to use the bundled libraries due to the very old versions of some of them +builddependencies = [('pkg-config', '0.29.2')] dependencies = [ ('Python', '2.7.16'), ('Pango', '1.44.7'), diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0.eb index 4acb5dc3a59..eb8943ccadd 100644 --- a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-8.3.0.eb @@ -20,6 +20,7 @@ checksums = ['528ca143a7f1d42af8614d60ea1e5518012913a23526d82e434f0dad2e2d863f'] # Bundled libraries can be globally disabled with the option useshared=yes # However, it is preferable to use the bundled libraries due to the very old versions of some of them +builddependencies = [('pkg-config', '0.29.2')] dependencies = [('Pango', '1.44.7')] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-9.3.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-9.3.0.eb new file mode 100644 index 00000000000..61723dec866 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.1-GCC-9.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'GenomeTools' +version = '1.6.1' + +homepage = 'http://genometools.org' +description = "A comprehensive software library for efficient processing of structured genome annotations." + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +github_account = 'genometools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['528ca143a7f1d42af8614d60ea1e5518012913a23526d82e434f0dad2e2d863f'] + +# GenomeTools-1.6.1 has the following libraries bundled with it: +# bzip2-1.0.6, cgilua-5.1.3, expat-2.0.1, lpeg-0.10.2, lua-5.1.5, luafilesystem-1.5.0, md5-1.2, +# samtools-0.1.18, sqlite-3.8.7.1, tre-0.8.0, zlib-1.2.8 +# +# Bundled libraries can be globally disabled with the option useshared=yes +# However, it is preferable to use the bundled libraries due to the very old versions of some of them + +builddependencies = [('pkg-config', '0.29.2')] +dependencies = [('Pango', '1.44.7')] + +skipsteps = ['configure'] + +buildopts = 'useshared=no errorcheck=no cairo=yes' +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/gt', 'bin/genometools-config', 'lib/libgenometools.a', 'lib/libgenometools.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..00b9948dcb4 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'GenomeTools' +version = '1.6.2' + +homepage = 'http://genometools.org' +description = "A comprehensive software library for efficient processing of structured genome annotations." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'genometools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac'] + +# GenomeTools-1.6.2 has the following libraries bundled with it: +# bzip2-1.0.6, cgilua-5.1.3, expat-2.0.1, lpeg-0.10.2, lua-5.1.5, luafilesystem-1.5.0, md5-1.2, +# samtools-0.1.18, sqlite-3.33.0, tre-0.8.0, zlib-1.2.8 +# +# Bundled libraries can be globally disabled with the option useshared=yes +# However, it is preferable to use the bundled libraries due to the very old versions of some of them + +builddependencies = [('pkg-config', '0.29.2')] +dependencies = [('Pango', '1.48.5')] + +skipsteps = ['configure'] + +buildopts = 'useshared=no errorcheck=no cairo=yes threads=yes' +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/gt', 'bin/genometools-config', 'lib/libgenometools.a', 'lib/libgenometools.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..f0ed002a625 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'GenomeTools' +version = '1.6.2' + +homepage = 'http://genometools.org' +description = "A comprehensive software library for efficient processing of structured genome annotations." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'genometools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac'] + +# GenomeTools-1.6.2 has the following libraries bundled with it: +# bzip2-1.0.6, cgilua-5.1.3, expat-2.0.1, lpeg-0.10.2, lua-5.1.5, luafilesystem-1.5.0, md5-1.2, +# samtools-0.1.18, sqlite-3.33.0, tre-0.8.0, zlib-1.2.8 +# +# Bundled libraries can be globally disabled with the option useshared=yes +# However, it is preferable to use the bundled libraries due to the very old versions of some of them + +builddependencies = [('pkgconf', '1.8.0')] +dependencies = [('Pango', '1.50.7')] + +skipsteps = ['configure'] + +buildopts = 'useshared=no errorcheck=no cairo=yes threads=yes' +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/gt', 'bin/genometools-config', 'lib/libgenometools.a', 'lib/libgenometools.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ['gt -help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-12.2.0.eb b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..cf8fe304a78 --- /dev/null +++ b/easybuild/easyconfigs/g/GenomeTools/GenomeTools-1.6.2-GCC-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'GenomeTools' +version = '1.6.2' + +homepage = 'http://genometools.org' +description = "A comprehensive software library for efficient processing of structured genome annotations." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'genometools' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['974825ddc42602bdce3d5fbe2b6e2726e7a35e81b532a0dc236f6e375d18adac'] + +# GenomeTools-1.6.2 has the following libraries bundled with it: +# bzip2-1.0.6, cgilua-5.1.3, expat-2.0.1, lpeg-0.10.2, lua-5.1.5, luafilesystem-1.5.0, md5-1.2, +# samtools-0.1.18, sqlite-3.33.0, tre-0.8.0, zlib-1.2.8 +# +# Bundled libraries can be globally disabled with the option useshared=yes +# However, it is preferable to use the bundled libraries due to the very old versions of some of them + +builddependencies = [('pkgconf', '1.9.3')] +dependencies = [('Pango', '1.50.12')] + +skipsteps = ['configure'] + +buildopts = 'useshared=no errorcheck=no cairo=yes threads=yes' +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/gt', 'bin/genometools-config', 'lib/libgenometools.a', 'lib/libgenometools.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ['gt -help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb b/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb index 93bffdd51d9..21a8e3a9f28 100644 --- a/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb +++ b/easybuild/easyconfigs/g/Genome_Profiler/Genome_Profiler-2.1-foss-2016b-Perl-5.24.0.eb @@ -23,7 +23,7 @@ dependencies = [ ('Perl', '5.24.0'), ] -cmds_map = [("GeP.*\.pl", "cp %(source)s GeP.pl")] +cmds_map = [(r"GeP.*\.pl", "cp %(source)s GeP.pl")] files_to_copy = [(['GeP.pl'], 'bin')] diff --git a/easybuild/easyconfigs/g/GeoDict/GeoDict-2024.SP2-gmpich-2024.06.eb b/easybuild/easyconfigs/g/GeoDict/GeoDict-2024.SP2-gmpich-2024.06.eb new file mode 100644 index 00000000000..42186eafddb --- /dev/null +++ b/easybuild/easyconfigs/g/GeoDict/GeoDict-2024.SP2-gmpich-2024.06.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'GeoDict' +version = '2024.SP2' + +homepage = 'https://www.math2market.com/geodict-software/geodict-applications.html' +description = """ +The innovative and easy-to-use material simulator GeoDict is the most complete software +solution for multi-scale 3D image processing, modeling of materials, visualization, material +property characterization, simulation-based material development, and optimization of +processes. +""" + +toolchain = {'name': 'gmpich', 'version': '2024.06'} + +source_urls = [ + 'https://www.gddownload.de/Releases' +] +sources = [ + '%(name)s2024-3-4-Linux-x86_64-ServicePack2.tar.gz', + '%(name)s2024-3-4-Linux-x86_64-ServicePack2-Tools.tar.gz' +] +checksums = [ + {'GeoDict2024-3-4-Linux-x86_64-ServicePack2.tar.gz': + '049401063d892eac65696d7d1ed8d4b915c9a81bb13e325cc0657c60ce8aeb28'}, + {'GeoDict2024-3-4-Linux-x86_64-ServicePack2-Tools.tar.gz': + '1b50fb840e8e78c225c748d73eaca60faedd822de33f20c716b1e98b15492eac'}, +] + +dependencies = [ + ('X11', '20230603'), +] + +modextrapaths = {'PATH': '.'} + +sanity_check_paths = { + 'files': ['geodict2024'], + 'dirs': ['Python', 'Tools'], +} + +moduleclass = 'geo' 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/GetOrganelle/GetOrganelle-1.7.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.2-foss-2020a-Python-3.8.2.eb index 1e00e8c37de..112304a7a38 100644 --- a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.2-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.2-foss-2020a-Python-3.8.2.eb @@ -15,7 +15,7 @@ checksums = ['54923ca971d68620aaf036a324b554084b00f7c209b0b3a234f815c82ee6d079'] dependencies = [ ('Python', '3.8.2'), - ('Bandage', '0.8.1', '_Centos', True), + ('Bandage', '0.8.1', '_Centos', SYSTEM), ('SciPy-bundle', '2020.03', versionsuffix), ('sympy', '1.6.2', versionsuffix), ('SPAdes', '3.14.1', versionsuffix), diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.4-pre2-foss-2020b.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.4-pre2-foss-2020b.eb index 095a77b88cf..2eabe89e524 100644 --- a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.4-pre2-foss-2020b.eb +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.4-pre2-foss-2020b.eb @@ -15,7 +15,7 @@ checksums = ['ee3dc807e0fb59c1788717a155238115d7a860191f686ef2c5a5b685aa2a2948'] dependencies = [ ('Python', '3.8.6'), - ('Bandage', '0.8.1', '_Centos', True), + ('Bandage', '0.8.1', '_Centos', SYSTEM), ('SciPy-bundle', '2020.11'), ('sympy', '1.7.1'), ('SPAdes', '3.15.2'), diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb new file mode 100644 index 00000000000..3bab9913aba --- /dev/null +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.5.3-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'GetOrganelle' +version = '1.7.5.3' + +homepage = 'https://github.com/Kinggerm/GetOrganelle' +description = """This toolkit assemblies organelle genome from genomic skimming data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Kinggerm/GetOrganelle/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1fcc815ce25c8c4ca3e0c12adde6b484744ca8c374e35278baa54047890bc855'] + +dependencies = [ + ('Python', '3.9.6'), + ('Bandage', '0.9.0'), + ('SciPy-bundle', '2021.10'), + ('sympy', '1.9'), + ('SPAdes', '3.15.3'), + ('Bowtie2', '2.4.4'), + ('BLAST+', '2.12.0'), + ('Perl', '5.34.0'), + ('matplotlib', '3.4.3') +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': False} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_commands = ["get_organelle_from_reads.py -h"] + +sanity_check_paths = { + 'files': ['bin/check_annotations.py', 'bin/get_organelle_from_reads.py', 'bin/slim_graph.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.6.1-foss-2021b.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.6.1-foss-2021b.eb new file mode 100644 index 00000000000..2898fcacaac --- /dev/null +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.6.1-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'GetOrganelle' +version = '1.7.6.1' + +homepage = 'https://github.com/Kinggerm/GetOrganelle' +description = """This toolkit assemblies organelle genome from genomic skimming data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/Kinggerm/GetOrganelle/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['de768619864ca40d7e97e5059db1187c64c53f764c4065731d955c1c53e4ef1d'] + +dependencies = [ + ('Python', '3.9.6'), + ('Bandage', '0.9.0'), + ('SciPy-bundle', '2021.10'), + ('sympy', '1.9'), + ('SPAdes', '3.15.3'), + ('Bowtie2', '2.4.4'), + ('BLAST+', '2.12.0'), + ('Perl', '5.34.0'), + ('matplotlib', '3.4.3') +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': False} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_commands = ["get_organelle_from_reads.py -h"] + +sanity_check_paths = { + 'files': ['bin/check_annotations.py', 'bin/get_organelle_from_reads.py', 'bin/slim_graph.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.0-foss-2022a.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.0-foss-2022a.eb new file mode 100644 index 00000000000..1dee0e28933 --- /dev/null +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.0-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'GetOrganelle' +version = '1.7.7.0' + +homepage = 'https://github.com/Kinggerm/GetOrganelle' +description = """This toolkit assemblies organelle genome from genomic skimming data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Kinggerm/GetOrganelle/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dd351b5cd33688adfcd8bff9794ae0cc0ce01a572dac2bcf6c9d7db77b3e4883'] + +dependencies = [ + ('Python', '3.10.4'), + ('Bandage', '0.9.0'), + ('SciPy-bundle', '2022.05'), + ('sympy', '1.10.1'), + ('SPAdes', '3.15.5'), + ('Bowtie2', '2.4.5'), + ('BLAST+', '2.13.0'), + ('Perl', '5.34.1'), + ('matplotlib', '3.5.2') +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': False} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_commands = ["get_organelle_from_reads.py -h"] + +sanity_check_paths = { + 'files': ['bin/check_annotations.py', 'bin/get_organelle_from_reads.py', 'bin/slim_graph.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.1-foss-2023a.eb b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.1-foss-2023a.eb new file mode 100644 index 00000000000..4c6746689d9 --- /dev/null +++ b/easybuild/easyconfigs/g/GetOrganelle/GetOrganelle-1.7.7.1-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'GetOrganelle' +version = '1.7.7.1' + +homepage = 'https://github.com/Kinggerm/GetOrganelle' +description = """This toolkit assemblies organelle genome from genomic skimming data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/Kinggerm/GetOrganelle/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['cf8e14766de43967182be839de20c9d1709b60fae38a0b3d175742dfad7a5d44'] + +dependencies = [ + ('Python', '3.11.3'), + ('Bandage', '0.9.0'), + ('SciPy-bundle', '2023.07'), + ('sympy', '1.12'), + ('SPAdes', '3.15.4'), + ('Bowtie2', '2.5.1'), + ('BLAST+', '2.14.1'), + ('Perl', '5.36.1'), + ('matplotlib', '3.7.2') +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': False} + +fix_python_shebang_for = ['bin/*.py'] + +sanity_pip_check = True + +sanity_check_commands = ["get_organelle_from_reads.py -h"] + +sanity_check_paths = { + 'files': ['bin/check_annotations.py', 'bin/get_organelle_from_reads.py', 'bin/slim_graph.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.2-GCC-10.3.0.eb b/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..b1e07dea5d7 --- /dev/null +++ b/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.2-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'GffCompare' +version = '0.12.2' + +# Some docs also at GitHub site - this is referred to as canonical +homepage = 'https://ccb.jhu.edu/software/stringtie/gffcompare.shtml' +description = """GffCompare provides classification and reference annotation mapping and + matching statistics for RNA-Seq assemblies (transfrags) or other generic GFF/GTF files.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +# Switched to GitHub sources owing to SSL error at original download site +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d1419aabe2bb7dae474a4ddf4559de4d1002b9455d6b2af1e0b59b0639af0bd'] + +buildopts = " release" + +files_to_copy = ['%(namelower)s', 'LICENSE', 'README.md'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s -v'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.6-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.6-GCC-11.2.0.eb new file mode 100644 index 00000000000..7146893a15f --- /dev/null +++ b/easybuild/easyconfigs/g/GffCompare/GffCompare-0.12.6-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'GffCompare' +version = '0.12.6' + +# Some docs also at GitHub site - this is referred to as canonical +homepage = 'https://ccb.jhu.edu/software/stringtie/gffcompare.shtml' +description = """GffCompare provides classification and reference annotation mapping and + matching statistics for RNA-Seq assemblies (transfrags) or other generic GFF/GTF files.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +# Switched to GitHub sources owing to SSL error at original download site +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0e713bc9177d874c935802d11669776da5e9377a8c4d031153b48a783d3391d0'] + +buildopts = " release" + +files_to_copy = ['%(namelower)s', 'LICENSE', 'README.md'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(namelower)s -v'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e5af9bec775 --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '10.0.0' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a57764d70caf85e2fc0b0f59b83b92e25775631714dcdb97cc6e0cea414bb5a3'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.4'), + ('expat', '2.4.9'), + ('GLib', '2.75.0'), + ('cairo', '1.17.4'), + ('LibTIFF', '4.4.0'), + ('GTK3', '3.24.35'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = "mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && mv libpng libpng.no && " +preconfigopts += 'export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' + +configopts = "--with-system-libtiff --enable-dynamic" + +# also build and install shared libs +build_cmd_targets = ['', 'so'] +installopts = 'soinstall' + +postinstallcmds = [ + # install header files + "mkdir -p %(installdir)s/include/ghostscript", + "install -v -m644 base/*.h %(installdir)s/include/ghostscript", + "install -v -m644 psi/*.h %(installdir)s/include/ghostscript", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/ghostscript', 'include/ghostscript', 'share/man'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.01.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.01.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e5b59d6447b --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.01.2-GCCcore-12.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '10.01.2' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10012'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a4cd61a07fec161bee35da0211a5e5cde8ff8a0aaf942fc0176715e499d21661'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('freetype', '2.13.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('expat', '2.5.0'), + ('GLib', '2.77.1'), + ('cairo', '1.17.8'), + ('LibTIFF', '4.5.0'), + ('GTK3', '3.24.37'), +] + +# 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/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/Ghostscript/Ghostscript-10.03.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.03.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..174aec3f515 --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-10.03.1-GCCcore-13.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '10.03.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.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['31cd01682ad23a801cc3bbc222a55f07c4ea3e068bdfb447792d54db21a2e8ad'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('libpng', '1.6.43'), + ('freetype', '2.13.2'), + ('libjpeg-turbo', '3.0.1'), + ('expat', '2.6.2'), + ('GLib', '2.80.4'), + ('cairo', '1.18.0'), + ('LibTIFF', '4.6.0'), +] + +# 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/Ghostscript/Ghostscript-9.54.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-9.54.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fa55b13e03a --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-9.54.0-GCCcore-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '9.54.0' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0646bb97f6f4d10a763f4919c54fa28b4fbdd3dff8e7de3410431c81762cade0'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('libjpeg-turbo', '2.0.6'), + ('expat', '2.4.1'), + ('GLib', '2.69.1'), + ('cairo', '1.16.0'), + ('LibTIFF', '4.3.0'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = "mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && mv libpng libpng.no && " +preconfigopts += 'export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' + +configopts = "--with-system-libtiff --enable-dynamic" + +# Avoid race condition in build if too much parallelism is used +maxparallel = 4 + +postinstallcmds = [ + # build and install shared libs + "make so && make soinstall", + # install header files + "mkdir -p %(installdir)s/include/ghostscript", + "install -v -m644 base/*.h %(installdir)s/include/ghostscript", + "install -v -m644 psi/*.h %(installdir)s/include/ghostscript", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/ghostscript', 'include/ghostscript', 'share/man'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e04d1119352 --- /dev/null +++ b/easybuild/easyconfigs/g/Ghostscript/Ghostscript-9.56.1-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'Ghostscript' +version = '9.56.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs%s/' % version.replace('.', ''), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1598b9a38659cce8448d42a73054b2f9cbfcc40a9b97eeec5f22d4d6cd1de8e6'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.3'), + ('expat', '2.4.8'), + ('GLib', '2.72.1'), + ('cairo', '1.17.4'), + ('LibTIFF', '4.3.0'), + ('GTK2', '2.24.33'), +] + +# Do not use local copies of zlib, jpeg, freetype, and png +preconfigopts = "mv zlib zlib.no && mv jpeg jpeg.no && mv freetype freetype.no && mv libpng libpng.no && " +preconfigopts += 'export LIBS="$LIBS -L$EBROOTZLIB/lib -lz" && ' + +configopts = "--with-system-libtiff --enable-dynamic" + +# Avoid race condition in build if too much parallelism is used +maxparallel = 4 + +postinstallcmds = [ + # build and install shared libs + "make so && make soinstall", + # install header files + "mkdir -p %(installdir)s/include/ghostscript", + "install -v -m644 base/*.h %(installdir)s/include/ghostscript", + "install -v -m644 psi/*.h %(installdir)s/include/ghostscript", +] + +sanity_check_paths = { + 'files': ['bin/gs', 'lib/libgs.%s' % SHLIB_EXT], + 'dirs': ['lib/ghostscript', 'include/ghostscript', 'share/man'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/Gibbs2/Gibbs2-1.0-GCC-10.3.0.eb b/easybuild/easyconfigs/g/Gibbs2/Gibbs2-1.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..1c861900a12 --- /dev/null +++ b/easybuild/easyconfigs/g/Gibbs2/Gibbs2-1.0-GCC-10.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Gibbs2' +version = '1.0' + +homepage = 'https://aoterodelaroza.github.io/gibbs2/' +description = """Gibbs2 is a program for the calculation of thermodynamic properties in periodic solids under arbitrary + conditions of temperature and pressure. Gibbs2 uses the results of periodic solid-state quantum-mechanical + calculations, specifically the energy-volume curve and possibly the harmonic phonon frequencies, to compute the + thermodynamic properties of the solid within the framework of the quasiharmonic approximation.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://aoterodelaroza.github.io/assets/gibbs2/versions/'] +sources = [SOURCELOWER_ZIP] +checksums = ['4ded7abcfe0cd4af1e06842face358c800577a7bc6850507d51488da24205f32'] + +builddependencies = [ + ('CMake', '3.20.1'), + # ('numdiff', '5.9.0'), # needed for tests +] + +start_dir = '%(namelower)s-%(version)s' + +# The tests comparison includes the full path to the directory the tests are run in. So they fail. +# configopts = "-DBUILD_TESTING=ON " +# runtest = 'test' + +sanity_check_paths = { + 'files': ["bin/%(namelower)s"], + 'dirs': [] +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb new file mode 100644 index 00000000000..a57ae34779f --- /dev/null +++ b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2022a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'GimmeMotifs' +version = '0.17.2' + +homepage = 'https://github.com/vanheeringen-lab/gimmemotifs' +description = "Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('pybedtools', '0.9.0'), + ('Pysam', '0.19.1'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), + ('statsmodels', '0.13.1'), + ('tqdm', '4.64.0'), + ('genomepy', '0.15.0'), + ('qnorm', '0.8.1'), + ('Arrow', '8.0.0'), # provides pyarrow, required by feather-format + ('HTSeq', '2.0.2'), # required by biofluff + ('pyBigWig', '0.3.18'), # required by biofluff +] + +use_pip = True + +exts_list = [ + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('biofluff', '3.0.4', { + 'modulename': 'fluff', + 'checksums': ['ef7b0a54103a830f197f21aa3d1ade8bdcddf613b437ea38c95260bb45324d6b'], + }), + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + ('feather-format', '0.4.1', { + 'modulename': 'feather', + 'checksums': ['45f67e3745d394d4f160ca6d636bbfd4f8b68d01199dc1649b6e487d3e878903'], + }), + ('iteround', '1.0.4', { + 'source_urls': ['https://github.com/cgdeboer/iteround/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['445e4f0c793ae558e4db3cdee7e23d77459b9c586e8021667aa60c14ba7ff45f'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('loguru', '0.6.0', { + 'checksums': ['066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c'], + }), + ('xxhash', '3.2.0', { + 'checksums': ['1afd47af8955c5db730f630ad53ae798cf7fae0acb64cebb3cf94d35c47dd088'], + }), + ('xdg', '6.0.0', { + 'checksums': ['24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92'], + }), + ('gimmemotifs', version, { + 'preinstallopts': """sed -i '/"configparser"/d' setup.py && """, + 'checksums': ['fbf70997abce6a75451c10b96994f8dbc03152b01df5cf30bf4397c98a9b54d2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gimme'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gimme --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2023a.eb b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2023a.eb new file mode 100644 index 00000000000..64b42485b8f --- /dev/null +++ b/easybuild/easyconfigs/g/GimmeMotifs/GimmeMotifs-0.17.2-foss-2023a.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'GimmeMotifs' +version = '0.17.2' + +homepage = 'https://github.com/vanheeringen-lab/gimmemotifs' +description = "Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('pybedtools', '0.9.1'), + ('Pysam', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('Seaborn', '0.13.2'), + ('statsmodels', '0.14.1'), + ('tqdm', '4.66.1'), + ('genomepy', '0.16.1'), + ('qnorm', '0.8.1'), + ('Arrow', '14.0.1'), # provides pyarrow, required by feather-format + ('HTSeq', '2.0.7'), # required by biofluff + ('pyBigWig', '0.3.22'), # required by biofluff +] + +use_pip = True + +exts_list = [ + ('palettable', '3.3.3', { + 'checksums': ['094dd7d9a5fc1cca4854773e5c1fc6a315b33bd5b3a8f47064928facaf0490a8'], + }), + ('biofluff', '3.0.4', { + 'modulename': 'fluff', + # remove pyBigWig dependency - pip_check fails with "import pybigwig" + 'preinstallopts': "sed -i '/pyBigWig/d' setup.py && ", + 'checksums': ['ef7b0a54103a830f197f21aa3d1ade8bdcddf613b437ea38c95260bb45324d6b'], + }), + ('diskcache', '5.6.3', { + 'checksums': ['2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc'], + }), + ('feather-format', '0.4.1', { + 'modulename': 'feather', + 'checksums': ['45f67e3745d394d4f160ca6d636bbfd4f8b68d01199dc1649b6e487d3e878903'], + }), + ('iteround', '1.0.4', { + 'source_urls': ['https://github.com/cgdeboer/iteround/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['445e4f0c793ae558e4db3cdee7e23d77459b9c586e8021667aa60c14ba7ff45f'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('xxhash', '3.4.1', { + 'checksums': ['0379d6cf1ff987cd421609a264ce025e74f346e3e145dd106c0cc2e3ec3f99a9'], + }), + ('xdg', '6.0.0', { + 'checksums': ['24278094f2d45e846d1eb28a2ebb92d7b67fc0cab5249ee3ce88c95f649a1c92'], + }), + ('gimmemotifs', version, { + 'preinstallopts': """sed -i '/"configparser"/d' setup.py && """, + 'checksums': ['fbf70997abce6a75451c10b96994f8dbc03152b01df5cf30bf4397c98a9b54d2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gimme'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gimme --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..08fa5f81e1a --- /dev/null +++ b/easybuild/easyconfigs/g/Giotto-Suite/Giotto-Suite-3.0.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,126 @@ +easyblock = 'Bundle' + +name = 'Giotto-Suite' +version = '3.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/drieslab/Giotto' +description = """Giotto Suite is focused on building a modular platform for analyzing spatial-omics technologies + and strives to be interoperable with other popular spatial analysis tools and classes. Using established packages + optimized for large(r) data, Giotto Suite adopts fast and memory efficient methods to create an interactive + analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('python-igraph', '0.10.3'), + ('python-louvain', '0.16'), + ('leidenalg', '0.9.1'), + ('networkx', '2.8.4'), + ('smfishHmrf', '1.3.3'), + ('SpatialDE', '1.1.3'), + ('scanpy', '1.9.1'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.16/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.16/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 + ], + 'source_tmpl': '%(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)) + +exts_list = [ + ('smfishHmrf', '0.1', { + 'checksums': ['4b098f348a3460209eedc9592288bbe20e9072f56aa13407cb65ff10aebfd5cc'], + }), + ('BiocGenerics', '0.44.0', { + 'checksums': ['8518e462c1ef103ab059d059d871afc444e48f56fe6b3afdb60dc1abf6c9b09d'], + }), + ('S4Vectors', '0.36.1', { + 'checksums': ['db4c251e674bd7cc66f4ed9d301294b3478686436204aec9c5740e0fabd59a9a'], + }), + ('IRanges', '2.32.0', { + 'checksums': ['097935916b5cb33804e1ea09fa6c4ee7ddeaa03eef99138a05b1896b28dc6a4b'], + }), + ('limma', '3.54.0', { + 'checksums': ['aae6bb0af0bd80677a01c48c96b99fc1a58c4a670a21fec87e135038972dc7cb'], + }), + ('BiocParallel', '1.32.5', { + 'checksums': ['395ed5c19fb706ca73c841c843c3a89f8a88f774a26415bfdbac0dca92a5a6f9'], + }), + ('MatrixGenerics', '1.10.0', { + 'checksums': ['09fbea178608186571acabc18cd2b81fe5c7aa2d143f5d456ceaed55e01b4815'], + }), + ('DelayedArray', '0.24.0', { + 'checksums': ['d764b4f487b49ca04150ea7d8f5f180683cd80575d67a162e4a99cd52bd8815a'], + }), + ('sparseMatrixStats', '1.10.0', { + 'checksums': ['60f523d2c70b926768070373b9fd05dafcc53e822b3dfd406fe95b4b541e02e7'], + }), + ('Matrix', '1.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('DelayedMatrixStats', '1.20.0', { + 'checksums': ['63ca262c2b92966759ba9d2ebdea7500a4dd859e9f87c17408522f80693e9661'], + }), + ('beachmat', '2.14.0', { + 'checksums': ['d52485edb2919fe2b1a75999fd583c8eee7b9608fbe406bcf8d1c99312e44169'], + }), + ('RcppAnnoy', '0.0.20', { + 'checksums': ['dcc6c7e091154d0a5698472e0fc7ed77976941c7376d21e019c90c3efaeacf85'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.6.0', { + 'checksums': ['815ac82cc510995eaccfc521fdb65c153f25e8432d301b0da8fbe5f6d337b953'], + }), + ('BiocSingular', '1.14.0', { + 'checksums': ['738abd56358dd2bd56890380345b05d453be000005ba93d40571bbc8aaff3110'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('uwot', '0.1.11', { + 'checksums': ['4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + (name, version, { + 'modulename': 'Giotto', + 'source_urls': ['https://github.com/drieslab/Giotto/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['cbe08439d2e1a3edac1f46032c4c8511ef2cc9371bf49e0730ba7ee0e4c942ca'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['Giotto'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GitPython/GitPython-3.1.24-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.24-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..32c24dc4bb7 --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.24-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.24' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('git', '2.33.1', '-nodocs'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('smmap', '5.0.0', { + 'checksums': ['c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936'], + }), + ('gitdb', '4.0.9', { + 'checksums': ['bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa'], + }), + (name, version, { + 'modulename': 'git', + 'checksums': ['df83fdf5e684fef7c6ee2c02fc68a5ceb7e7e759d08b694088d0cacb4eba59e5'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GitPython/GitPython-3.1.27-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.27-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dfc6291a3e3 --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.27-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.27' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('git', '2.36.0', '-nodocs'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('smmap', '5.0.0', { + 'checksums': ['c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936'], + }), + ('gitdb', '4.0.9', { + 'checksums': ['bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa'], + }), + (name, version, { + 'modulename': 'git', + 'checksums': ['1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GitPython/GitPython-3.1.31-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.31-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..84adb82aa2e --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.31-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.31' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('git', '2.38.1', '-nodocs'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('smmap', '5.0.0', { + 'checksums': ['c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936'], + }), + ('gitdb', '4.0.10', { + 'checksums': ['6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a'], + }), + (name, version, { + 'modulename': 'git', + 'checksums': ['8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GitPython/GitPython-3.1.40-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.40-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c09abda742a --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.40-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.40' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('git', '2.41.0', '-nodocs'), +] + +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': ['22b126e9ffb671fdd0c129796343a02bf67bf2994b35449ffc9321aa755e18a4'], + }), +] + +moduleclass = 'lib' 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/GitPython/GitPython-3.1.43-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.43-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e6ca0d7b0aa --- /dev/null +++ b/easybuild/easyconfigs/g/GitPython/GitPython-3.1.43-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'GitPython' +version = '3.1.43' + +homepage = 'https://gitpython.readthedocs.org' +description = """ GitPython is a python library used to interact with Git repositories """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.12.3'), + ('git', '2.45.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('smmap', '5.0.1', {'checksums': ['dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62']}), + ('gitdb', '4.0.11', {'checksums': ['bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b']}), + (name, version, { + 'modulename': 'git', + 'checksums': ['35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ee09ead5dc2 --- /dev/null +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +## +# 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' + +name = 'Givaro' +version = '4.2.0' + +homepage = 'https://github.com/linbox-team/givaro' +description = "C++ library for arithmetic and algebraic computations" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/linbox-team/givaro/archive'] +sources = ['v%(version)s.zip'] +checksums = ['bf51b47ac9a02be233fc39ac78d959d13630bcc78997007ffec410d940ed4c64'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --enable-inline" + +sanity_check_paths = { + 'files': ['bin/givaro-config', 'include/givaro-config.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["givaro-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5f488bdd7d0 --- /dev/null +++ b/easybuild/easyconfigs/g/Givaro/Givaro-4.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,48 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'Givaro' +version = '4.2.0' + +homepage = 'https://github.com/linbox-team/givaro' +description = "C++ library for arithmetic and algebraic computations" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/linbox-team/givaro/archive'] +sources = ['v%(version)s.zip'] +checksums = ['bf51b47ac9a02be233fc39ac78d959d13630bcc78997007ffec410d940ed4c64'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +preconfigopts = "env NOCONFIGURE=1 ./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --enable-inline" + +prebuildopts = "sed -i 's/#include /#include \\n" +prebuildopts += "#include /g' src/library/poly1/givdegree.h && " + +sanity_check_paths = { + 'files': ['bin/givaro-config', 'include/givaro-config.h'], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["givaro-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..10f1e5eb15e --- /dev/null +++ b/easybuild/easyconfigs/g/Giza/Giza-1.4.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Giza' +version = '1.4.1' + +homepage = "https://danieljprice.github.io/giza/" +description = """Giza is an open, lightweight scientific plotting library built on +top of cairo that provides uniform output to multiple devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/danieljprice/giza/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['67c8eba2cc44a4eb16ff89b10147fa1a157be5801668391726200735c522faf7'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('cairo', '1.18.0'), + ('Pango', '1.51.0'), + ('X11', '20231019'), +] + +preconfigopts = 'CFLAGS=-std=gnu99 ' + +sanity_check_paths = { + 'files': ['lib/libgiza.%s' % SHLIB_EXT, 'lib/libcpgplot.%s' % SHLIB_EXT, 'lib/libpgplot.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-10.2.0.eb b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-10.2.0.eb new file mode 100644 index 00000000000..947e4cda9a7 --- /dev/null +++ b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-10.2.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'GlimmerHMM' +version = '3.0.4c' + +homepage = 'https://ccb.jhu.edu/software/glimmerhmm' +description = """GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model. + Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally + it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted + from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ccb.jhu.edu/software/%(namelower)s/dl'] +sources = [SOURCE_TAR_GZ] +checksums = ['31ee2ceb8f31338205b2de626d83d0f92d2cd55a04d48a6803193a2d0ad1b4a3'] + +start_dir = 'sources' + +# make sure -O0 is not used as compiler option +prebuildopts = "ls makefile train/makefile | xargs sed -i 's/-O0 .*//g' && " + +# also build in 'train' subdirectory to overwrite pre-compiled binaries +buildopts = "&& cd ../train && make" + +local_train_files = ['build1', 'build2', 'build-icm', 'build-icm-noframe', 'erfapp', 'falsecomp', + 'findsites', 'karlin', 'score', 'score2', 'scoreATG', 'scoreATG2', 'scoreSTOP', + 'scoreSTOP2', 'splicescore', 'trainGlimmerHMM'] +files_to_copy = [ + (['sources/%(namelower)s'], 'bin'), + (['train/%s' % x for x in local_train_files], 'bin'), + 'trained_dir', 'README', 'train/readme.train', +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['trained_dir'], +} + +sanity_check_commands = [('%(namelower)s -h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb new file mode 100644 index 00000000000..2abdf04dc93 --- /dev/null +++ b/easybuild/easyconfigs/g/GlimmerHMM/GlimmerHMM-3.0.4c-GCC-11.2.0.eb @@ -0,0 +1,57 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'GlimmerHMM' +version = '3.0.4c' + +homepage = 'https://ccb.jhu.edu/software/glimmerhmm' +description = """GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model. + Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally + it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted + from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ccb.jhu.edu/software/%(namelower)s/dl'] +sources = [SOURCE_TAR_GZ] +checksums = ['31ee2ceb8f31338205b2de626d83d0f92d2cd55a04d48a6803193a2d0ad1b4a3'] + +dependencies = [ + ('Perl', '5.34.0'), +] + +start_dir = 'sources' + +# make sure -O0 is not used as compiler option +prebuildopts = "ls makefile train/makefile | xargs sed -i 's/-O0 .*//g' && " + +# also build in 'train' subdirectory to overwrite pre-compiled binaries +buildopts = "&& cd ../train && make" + +local_train_files = ['build1', 'build2', 'build-icm', 'build-icm-noframe', 'erfapp', 'falsecomp', + 'findsites', 'karlin', 'score', 'score2', 'scoreATG', 'scoreATG2', 'scoreSTOP', + 'scoreSTOP2', 'splicescore', 'trainGlimmerHMM'] +files_to_copy = [ + (['sources/%(namelower)s'], 'bin'), + (['train/%s' % x for x in local_train_files], 'bin'), + (['train/*.pm'], 'lib/perl%(perlmajver)s'), + 'trained_dir', 'README', 'train/readme.train', +] + +fix_perl_shebang_for = ['bin/trainGlimmerHMM'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['trained_dir'], +} + +sanity_check_commands = [ + "%(namelower)s -h", + r"trainGlimmerHMM -h 2>&1 | grep '^[ ]*Train GlimmerHMM module'", +] + +modextrapaths = {'PERL5LIB': 'lib/perl%(perlmajver)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb new file mode 100644 index 00000000000..e4e9eeba6c6 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-intel-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['64df7d1ea4053d24d84ca361e67a6f51c7b17ed7d626cb18a9fbc759f4a078ac'] + +configopts = ' --with-mpi --enable-i8' +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 +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-iomkl-2021a.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-iomkl-2021a.eb new file mode 100644 index 00000000000..e462c994af7 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8-iomkl-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'iomkl', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(name)s/ga/releases/download/'] +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 += '-lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"' +# select armci network as (Comex) MPI-1 two-sided +configopts += ' --with-mpi-ts' + + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..5015406bc10 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.1-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8.1' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['844639b52444f839854cf9735203a76a9052fd485f2d4eae70d21d03a7ecaade'] + +configopts = ' --with-mpi --enable-i8' +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 +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..9c3e9f7dbf8 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8.2' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] + +configopts = ' --with-mpi --enable-i8' +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 +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..f3e14181a88 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.8.2-intel-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.8.2' + +homepage = 'https://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['51599e4abfe36f05cecfaffa33be19efbe9e9fa42d035fd3f866469b663c22a2'] + +configopts = ' --with-mpi --enable-i8' +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 +configopts += ' --with-mpi-ts' + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', + 'lib/libcomex.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..65e2cb11638 --- /dev/null +++ b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.1.1-GCCcore-10.2.0.eb @@ -0,0 +1,50 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Globus-CLI' +version = '3.1.1' + +homepage = "https://docs.globus.org/cli/" +description = """A Command Line Wrapper over the Globus SDK for Python, which provides an interface to Globus services + from the shell, and is suited to both interactive and simple scripting use cases.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('click', '8.0.3', { + 'checksums': ['410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b'], + }), + ('PyJWT', '2.3.0', { + 'modulename': 'jwt', + 'checksums': ['b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41'], + }), + ('globus-sdk', '3.0.3', { + 'checksums': ['f608ce7772dca3c2c8de22b4e89fadae82de7e326f18df3440c99ecac0ae5f55'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + (name, version, { + 'modulename': 'globus_cli', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['480876fd45f5921369854197a7b6681df1d67831d8c5f503f5d44b8cf39d4e7a'], + }), +] + +fix_python_shebang_for = ['bin/globus', 'bin/jp.py', 'bin/pyjwt'] + +sanity_check_commands = ['globus --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..45f561b1ab2 --- /dev/null +++ b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Globus-CLI' +version = '3.2.0' + +homepage = "https://docs.globus.org/cli/" +description = """A Command Line Wrapper over the Globus SDK for Python, which provides an interface to Globus services + from the shell, and is suited to both interactive and simple scripting use cases.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('click', '8.0.4', { + # click in Python v3.9.5 easyconfig is too old for globus-sdk + 'checksums': ['8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb'], + }), + ('PyJWT', '2.4.0', { + 'modulename': 'jwt', + 'checksums': ['d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba'], + }), + ('globus-sdk', '3.2.0', { + 'checksums': ['33bc60bf769b2c42eddc2e50c03d3c56ba74660f593a2a207bb46ebd6a8be85a'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + (name, version, { + 'modulename': 'globus_cli', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['860a3245582c79e42168588e5f0478004f29106f74b548ef8d757bb5e8309b96'], + }), +] + +fix_python_shebang_for = ['bin/globus', 'bin/jp.py', 'bin/pyjwt'] + +sanity_check_commands = ['globus --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.6.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.6.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1ac2753ebc0 --- /dev/null +++ b/easybuild/easyconfigs/g/Globus-CLI/Globus-CLI-3.6.0-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'Globus-CLI' +version = '3.6.0' + +homepage = "https://docs.globus.org/cli/" +description = """A Command Line Wrapper over the Globus SDK for Python, which provides an interface to Globus services + from the shell, and is suited to both interactive and simple scripting use cases.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyJWT', '2.4.0', { + 'modulename': 'jwt', + 'checksums': ['d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba'], + }), + ('typing-extensions', '4.3.0', { + # typing-extensions in Python v3.9.6 easyconfig is too old for globus-sdk + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6'], + }), + ('globus-sdk', '3.9.0', { + 'checksums': ['456f707b25a8c502607134f1d699b5970ef1aa9d17877474db73fc6d87c711e9'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + (name, version, { + 'modulename': 'globus_cli', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['dd1b8d1f384c0010556adc50970ffd1dd2f03ce8d0a5ae315961f32fa0554407'], + }), +] + +fix_python_shebang_for = ['bin/globus', 'bin/jp.py', 'bin/pyjwt'] + +sanity_check_commands = ['globus --help'] + +moduleclass = 'data' 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 94a5cbb5961..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,20 +17,26 @@ 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'), ] 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 new file mode 100644 index 00000000000..bd61ab588dd --- /dev/null +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.3-GCCcore-11.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'GnuTLS' +version = '3.7.3' + +homepage = 'https://www.gnutls.org' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a'] + +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'), + ('libidn2', '2.3.2'), + ('p11-kit', '0.24.1'), + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), +] + +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-idn --with-p11-kit --without-tpm --without-tpm2" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['certtool', 'gnutls-cli', 'gnutls-cli-debug', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]], + 'dirs': ['include/gnutls', 'lib/guile'], +} + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..259078c2228 --- /dev/null +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'GnuTLS' +version = '3.7.8' + +homepage = 'https://www.gnutls.org' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('nettle', '3.8'), + ('Guile', '3.0.8'), + ('libtasn1', '4.19.0'), + ('libidn2', '2.3.2'), + ('p11-kit', '0.24.1'), + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), +] + +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-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', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]], + 'dirs': ['include/gnutls', 'lib/guile'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..320c4782a22 --- /dev/null +++ b/easybuild/easyconfigs/g/GnuTLS/GnuTLS-3.7.8-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'GnuTLS' +version = '3.7.8' + +homepage = 'https://www.gnutls.org' +description = """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple + C language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS #12, + OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.gnupg.org/ftp/gcrypt/gnutls/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('nettle', '3.9.1'), + ('Guile', '3.0.9'), + ('libtasn1', '4.19.0'), + ('libidn2', '2.3.7'), + ('p11-kit', '0.25.3'), + ('zlib', '1.2.13'), + ('zstd', '1.5.5'), +] + +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-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', + 'gnutls-serv', 'ocsptool', 'psktool', 'srptool']] + + ['lib/libgnutls%s' % x for x in ['.%s' % SHLIB_EXT, 'xx.%s' % SHLIB_EXT, '-openssl.%s' % SHLIB_EXT]], + 'dirs': ['include/gnutls', 'lib/guile'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/Go/Go-1.12.1-GCCcore-7.3.0.eb b/easybuild/easyconfigs/g/Go/Go-1.12.1-GCCcore-7.3.0.eb index efe696b4984..da1e8ab0a6a 100644 --- a/easybuild/easyconfigs/g/Go/Go-1.12.1-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/g/Go/Go-1.12.1-GCCcore-7.3.0.eb @@ -17,7 +17,7 @@ checksums = ['0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a'] builddependencies = [ ('binutils', '2.30'), # go requires Go to install from source, see https://golang.org/doc/install/source - ('Go', '1.12', '', True), + ('Go', '1.12', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/Go/Go-1.16.6.eb b/easybuild/easyconfigs/g/Go/Go-1.16.6.eb new file mode 100644 index 00000000000..f0fc4a279e7 --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.16.6.eb @@ -0,0 +1,25 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Go' +version = '1.16.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/'] +sources = ['%(namelower)s%(version)s.linux-amd64.tar.gz'] +checksums = ['be333ef18b3016e9d7cb7b1ff1fdb0cac800ca0be4cf2290fe613b3d069dfe0d'] + +sanity_check_paths = { + 'files': ['bin/go', 'bin/gofmt'], + 'dirs': ['api', 'doc', 'lib', 'pkg'], +} + +modextravars = {'GOROOT': '%(installdir)s'} +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/g/Go/Go-1.17.3.eb b/easybuild/easyconfigs/g/Go/Go-1.17.3.eb new file mode 100644 index 00000000000..bc03da2a2a5 --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.17.3.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.17.3' + +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': '550f9845451c0c94be679faf116291e7807a8d78b43149f9506c1b15eb89008c', + 'go%(version)s.linux-arm64.tar.gz': '06f505c8d27203f78706ad04e47050b49092f1b06dc9ac4fbee4f0e4d015c8d4', +}] + +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.17.6.eb b/easybuild/easyconfigs/g/Go/Go-1.17.6.eb new file mode 100644 index 00000000000..87a77e8703a --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.17.6.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.17.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': '231654bbf2dab3d86c1619ce799e77b03d96f9b50770297c8f4dff8836fc8ca2', + 'go%(version)s.linux-arm64.tar.gz': '82c1a033cce9bc1b47073fd6285233133040f0378439f3c4659fe77cc534622a', +}] + +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.18.1.eb b/easybuild/easyconfigs/g/Go/Go-1.18.1.eb new file mode 100644 index 00000000000..6cb96858b66 --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.18.1.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Go' +version = '1.18.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': 'b3b815f47ababac13810fc6021eb73d65478e0b2db4b09d348eefad9581a2334', + 'go%(version)s.linux-arm64.tar.gz': '56a91851c97fb4697077abbca38860f735c32b38993ff79b088dac46e4735633', +}] + +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.18.3.eb b/easybuild/easyconfigs/g/Go/Go-1.18.3.eb new file mode 100644 index 00000000000..fc45e80f1eb --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.18.3.eb @@ -0,0 +1,33 @@ +# Update to 1.18.3 +# Jordi Camps / CNAG + +easyblock = 'Tarball' + +name = 'Go' +version = "1.18.3" + +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': '956f8507b302ab0bb747613695cdae10af99bbd39a90cae522b7c0302cc27245', + 'go%(version)s.linux-arm64.tar.gz': 'beacbe1441bee4d7978b900136d1d6a71d150f0a9bb77e9d50c822065623a35a', +}] + +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.20.4.eb b/easybuild/easyconfigs/g/Go/Go-1.20.4.eb new file mode 100644 index 00000000000..a294c0de68f --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.20.4.eb @@ -0,0 +1,34 @@ +# Update to 1.20.4 +# Jordi Camps / CNAG +# Sebastien Moretti / SIB + +easyblock = 'Tarball' + +name = 'Go' +version = "1.20.4" + +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': '698ef3243972a51ddb4028e4a1ac63dc6d60821bf18e59a807e051fee0a385bd', + 'go%(version)s.linux-arm64.tar.gz': '105889992ee4b1d40c7c108555222ca70ae43fccb42e20fbf1eebb822f5e72c6', +}] + +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.21.1.eb b/easybuild/easyconfigs/g/Go/Go-1.21.1.eb new file mode 100644 index 00000000000..8772f597710 --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.21.1.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'Go' +version = "1.21.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': 'b3075ae1ce5dab85f89bc7905d1632de23ca196bd8336afd93fa97434cfa55ae', + 'go%(version)s.linux-arm64.tar.gz': '7da1a3936a928fd0b2602ed4f3ef535b8cd1990f1503b8d3e1acc0fa0759c967', +}] + +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.21.2.eb b/easybuild/easyconfigs/g/Go/Go-1.21.2.eb new file mode 100644 index 00000000000..f7d40229738 --- /dev/null +++ b/easybuild/easyconfigs/g/Go/Go-1.21.2.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'Go' +version = '1.21.2' + +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': 'f5414a770e5e11c6e9674d4cd4dd1f4f630e176d1828d3427ea8ca4211eee90d', + 'go%(version)s.linux-arm64.tar.gz': '23e208ca44a3cb46cd4308e48a27c714ddde9c8c34f2e4211dbca95b6d456554', +}] + +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.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/Godon/Godon-20210913-x86_64.eb b/easybuild/easyconfigs/g/Godon/Godon-20210913-x86_64.eb new file mode 100644 index 00000000000..aa401a18c4f --- /dev/null +++ b/easybuild/easyconfigs/g/Godon/Godon-20210913-x86_64.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 +# +# Compilation with GO looks to use a broken dependency +# +# SO use the pre-compiled binaries! +## + +easyblock = 'Binary' + +name = 'Godon' +version = '20210913' +versionsuffix = '-x86_64' + +software_license = 'LicenseGPLv3' + +homepage = 'https://bitbucket.org/Davydov/godon/' +description = """Godon is codon models software written in Go.""" + +toolchain = SYSTEM + +source_urls = ['https://bitbucket.org/Davydov/godon/downloads'] +sources = [{ + 'download_filename': 'godon-master-linux-gnu-x86_64', + 'filename': 'godon-%(version)s-linux-gnu-x86_64', +}] +checksums = ['159058f7577093548f3ced1540d1ff9fd5f7915cdfcb8f8cd7fb40f5c202fcca'] + +extract_sources = False + +install_cmd = "mkdir -p %(installdir)s/bin/ && cp -a godon-%(version)s-linux-gnu-x86_64 %(installdir)s/bin/ && " +install_cmd += "cd %(installdir)s/bin && ln -s godon-%(version)s-linux-gnu-x86_64 godon" + +sanity_check_paths = { + 'files': ["bin/godon"], + 'dirs': [], +} + +sanity_check_commands = ["godon --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2016a.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2016a.eb new file mode 100644 index 00000000000..481b7333b3b --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'Grace' +version = '5.1.25' + +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' +description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.""" + +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac'] + +toolchain = {'name': 'foss', 'version': '2016a'} + +dependencies = [ + ('motif', '2.3.5'), + ('netCDF', '4.4.0'), +] + +runtest = 'tests' + +# we also need to run make links right before or after make install. +installopts = 'links' + +sanity_check_paths = { + 'files': ['bin/xmgrace'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2017b-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2017b-5build1.eb index 0879fd8c8d5..2fcc7792509 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2017b-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2017b-5build1.eb @@ -4,12 +4,12 @@ name = 'Grace' version = '5.1.25' versionsuffix = '-5build1' -homepage = 'http://plasma-gate.weizmann.ac.il/Grace/' +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" toolchain = {'name': 'foss', 'version': '2017b'} -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/'] +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s%(versionsuffix)s.patch'] checksums = [ @@ -23,7 +23,6 @@ dependencies = [ ('libpng', '1.6.32'), ('zlib', '1.2.11'), ('libjpeg-turbo', '1.5.2'), - ('FFTW', '3.3.6'), ('netCDF', '4.5.0'), ] diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2018a-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2018a-5build1.eb index 7f69fb3a8e8..416f3a359de 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2018a-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2018a-5build1.eb @@ -4,12 +4,12 @@ name = 'Grace' version = '5.1.25' versionsuffix = '-5build1' -homepage = 'http://plasma-gate.weizmann.ac.il/Grace/' +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" toolchain = {'name': 'foss', 'version': '2018a'} -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/'] +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s%(versionsuffix)s.patch'] checksums = [ @@ -23,7 +23,6 @@ dependencies = [ ('libpng', '1.6.34'), ('zlib', '1.2.11'), ('libjpeg-turbo', '1.5.3'), - ('FFTW', '3.3.7'), ('netCDF', '4.6.0'), ] diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019a-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019a-5build1.eb index 3dffd5e015c..da9cb277c78 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019a-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019a-5build1.eb @@ -4,12 +4,12 @@ name = 'Grace' version = '5.1.25' versionsuffix = '-5build1' -homepage = 'http://plasma-gate.weizmann.ac.il/Grace/' +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" toolchain = {'name': 'foss', 'version': '2019a'} -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/'] +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s%(versionsuffix)s.patch'] checksums = [ @@ -23,7 +23,6 @@ dependencies = [ ('libpng', '1.6.36'), ('zlib', '1.2.11'), ('libjpeg-turbo', '2.0.2'), - ('FFTW', '3.3.8'), ('netCDF', '4.6.2'), ] diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019b-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019b-5build1.eb index 5e74c6f85e8..c13e85e1612 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019b-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2019b-5build1.eb @@ -9,7 +9,7 @@ description = """Grace is a WYSIWYG tool to make two-dimensional plots of numeri toolchain = {'name': 'foss', 'version': '2019b'} -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/'] +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s%(versionsuffix)s.patch'] checksums = [ @@ -20,7 +20,6 @@ checksums = [ dependencies = [ ('motif', '2.3.8'), ('zlib', '1.2.11'), - ('FFTW', '3.3.8'), ('netCDF', '4.7.1'), ] diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb new file mode 100644 index 00000000000..58caa63a65a --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Grace' +version = '5.1.25' + +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' +description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Grace-5.1.25-tirpc-dependency.patch'] +checksums = [ + '751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac', # grace-5.1.25.tar.gz + '093af4ddf344300aa31561c97e2765ed3fab609b70a5d199ac64a60dbd9e0c34', # Grace-5.1.25-tirpc-dependency.patch +] + +dependencies = [ + ('motif', '2.3.8'), + ('zlib', '1.2.11'), + ('netCDF', '4.8.0'), + ('libtirpc', '1.3.2'), +] + +runtest = 'tests' + +postinstallcmds = ['mv %(installdir)s/grace/* %(installdir)s && rmdir %(installdir)s/grace'] + +sanity_check_paths = { + 'files': ['lib/libgrace_np.a', 'bin/convcal', 'bin/fdf2fit', 'bin/grconvert', 'bin/xmgrace'], + 'dirs': ['include', 'fonts', 'templates'], +} + +modextravars = { + 'GRACE_HOME': '%(installdir)s', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021b.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021b.eb new file mode 100644 index 00000000000..7a3b2949619 --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Grace' +version = '5.1.25' + +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' +description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Grace-5.1.25-tirpc-dependency.patch'] +checksums = [ + '751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac', # grace-5.1.25.tar.gz + '093af4ddf344300aa31561c97e2765ed3fab609b70a5d199ac64a60dbd9e0c34', # Grace-5.1.25-tirpc-dependency.patch +] + +dependencies = [ + ('motif', '2.3.8'), + ('zlib', '1.2.11'), + ('netCDF', '4.8.1'), + ('libtirpc', '1.3.2'), +] + +runtest = 'tests' + +postinstallcmds = ['mv %(installdir)s/grace/* %(installdir)s && rmdir %(installdir)s/grace'] + +sanity_check_paths = { + 'files': ['lib/libgrace_np.a', 'bin/convcal', 'bin/fdf2fit', 'bin/grconvert', 'bin/xmgrace'], + 'dirs': ['include', 'fonts', 'templates'], +} + +modextravars = { + 'GRACE_HOME': '%(installdir)s', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2016a.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2016a.eb new file mode 100644 index 00000000000..7389a01eb0d --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2016a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'Grace' +version = '5.1.25' + +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' +description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.""" + +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['751ab9917ed0f6232073c193aba74046037e185d73b77bab0f5af3e3ff1da2ac'] + +toolchain = {'name': 'intel', 'version': '2016a'} + +dependencies = [ + ('motif', '2.3.5'), + ('netCDF', '4.4.0'), +] + +runtest = 'tests' + +# we also need to run make links right before or after make install. +installopts = 'links' + +sanity_check_paths = { + 'files': ['bin/xmgrace'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2017b-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2017b-5build1.eb index a224be48e35..92baaa17a8e 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2017b-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2017b-5build1.eb @@ -4,12 +4,12 @@ name = 'Grace' version = '5.1.25' versionsuffix = '-5build1' -homepage = 'http://plasma-gate.weizmann.ac.il/Grace/' +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" toolchain = {'name': 'intel', 'version': '2017b'} -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace5/'] +source_urls = ['https://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] sources = [SOURCELOWER_TAR_GZ] patches = ['%(name)s-%(version)s%(versionsuffix)s.patch'] checksums = [ diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2019a-5build1.eb b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2019a-5build1.eb index f049d7217d0..b8958fd758d 100644 --- a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2019a-5build1.eb +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-intel-2019a-5build1.eb @@ -4,7 +4,7 @@ name = 'Grace' version = '5.1.25' versionsuffix = '-5build1' -homepage = 'http://plasma-gate.weizmann.ac.il/Grace/' +homepage = 'https://plasma-gate.weizmann.ac.il/Grace/' description = """Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.""" toolchain = {'name': 'intel', 'version': '2019a'} diff --git a/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch new file mode 100644 index 00000000000..12d11fb2ce6 --- /dev/null +++ b/easybuild/easyconfigs/g/Grace/Grace-5.1.25-tirpc-dependency.patch @@ -0,0 +1,32 @@ +grconvert has a dependency on XDR from a RPC library and will be omitted +from the build if not present. + +On RedHat-like distros this is commonly missing and as such we add +libtirpc as a drop-in replacement for the OS packages that no longer +exist. + +Author: Lars Viklund (HPC2N) +diff -ru grace-5.1.25.orig/ac-tools/configure.in grace-5.1.25/ac-tools/configure.in +--- grace-5.1.25.orig/ac-tools/configure.in 2014-08-16 23:56:08.000000000 +0200 ++++ grace-5.1.25/ac-tools/configure.in 2022-03-11 19:51:21.025110130 +0100 +@@ -515,7 +515,7 @@ + fi + + dnl **** Check for XDR +-AC_SEARCH_LIBS(xdrstdio_create, nsl rpc xdr rpclib, XDR_LIB=$mdw_cv_lib_xdrstdio_create, XDR_LIB="NONE") ++AC_SEARCH_LIBS(xdrstdio_create, nsl rpc xdr rpclib tirpc, XDR_LIB=$mdw_cv_lib_xdrstdio_create, XDR_LIB="NONE") + + if test "${XDR_LIB}" = "NONE"; then + XDR_LIB= +diff -ru grace-5.1.25.orig/configure grace-5.1.25/configure +--- grace-5.1.25.orig/configure 2015-02-14 23:59:46.000000000 +0100 ++++ grace-5.1.25/configure 2022-03-11 19:50:45.678153923 +0100 +@@ -8000,7 +8000,7 @@ + return 0; + } + _ACEOF +-for ac_lib in '' nsl rpc xdr rpclib; do ++for ac_lib in '' nsl rpc xdr rpclib tirpc; do + if test -z "$ac_lib"; then + ac_res="none required" + else diff --git a/easybuild/easyconfigs/g/Gradle/Gradle-6.9.1.eb b/easybuild/easyconfigs/g/Gradle/Gradle-6.9.1.eb new file mode 100644 index 00000000000..ed371c4b234 --- /dev/null +++ b/easybuild/easyconfigs/g/Gradle/Gradle-6.9.1.eb @@ -0,0 +1,23 @@ +easyblock = 'PackedBinary' + +name = 'Gradle' +version = '6.9.1' + +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 = ['b13f5d97f08000996bf12d9dd70af3f2c6b694c2c663ab1b545e9695562ad1ee'] + +sanity_check_paths = { + 'files': ['bin/gradle'], + 'dirs': [], +} + +moduleclass = 'devel' 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/GraphDB/GraphDB-10.1.5.eb b/easybuild/easyconfigs/g/GraphDB/GraphDB-10.1.5.eb new file mode 100644 index 00000000000..454deb0fc87 --- /dev/null +++ b/easybuild/easyconfigs/g/GraphDB/GraphDB-10.1.5.eb @@ -0,0 +1,40 @@ +## +# 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 = 'GraphDB' +version = '10.1.5' + +homepage = 'https://graphdb.ontotext.com/' +description = """GraphDB is an enterprise ready Semantic Graph Database, compliant +with W3C Standards. Semantic graph databases (also called RDF triplestores) provide +the core infrastructure for solutions where modelling agility, data integration, +relationship exploration and cross-enterprise data publishing and consumption are important.""" +# software_license = 'GraphDB-Free is free to use however, is not open source' +download_instructions = """Fill a form to request GraphDB at https://www.ontotext.com/products/graphdb/download/""" + +toolchain = SYSTEM + +source_urls = ['https://download.ontotext.com/owlim/125bea40-b12b-11ed-aef3-42843b1b6b38/'] +sources = ['graphdb-%(version)s-dist.zip'] +checksums = ['849377177c0571f9b6a59049df7ee9b9a19511d538872f21b415db1c5bb8285e'] + +dependencies = [ + ('Java', '11'), +] + +extract_sources = True + +sanity_check_paths = { + 'files': ['bin/graphdb', 'README'], + 'dirs': ['bin', 'conf', 'configs', 'doc', 'examples', 'lib', 'tools'], +} + +sanity_check_commands = ["graphdb -h"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb b/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb new file mode 100644 index 00000000000..85543e1ade9 --- /dev/null +++ b/easybuild/easyconfigs/g/GraphMap/GraphMap-0.5.2-foss-2019b.eb @@ -0,0 +1,60 @@ +easyblock = 'MakeCp' + +name = 'GraphMap' +version = '0.5.2' + +homepage = 'https://github.com/isovic/graphmap' +description = "A highly sensitive and accurate mapper for long, error-prone reads" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'cstd': 'c++11', 'openmp': True} + +sources = [ + { + 'source_urls': ['https://github.com/isovic/graphmap/archive'], + 'filename': 'graphmap-20170526.tar.gz', + 'download_filename': 'eb8c75d68b03be95464318afa69b645a59f8f6b7.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/seqlib/archive'], + 'filename': 'seqlib-20170526.tar.gz', + 'download_filename': 'd980be7a3cc0bc802eb910c10f084279f337992f.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/argparser/archive'], + 'filename': 'argparser-20160623.tar.gz', + 'download_filename': '72af9764acefbcc92ff76e3aba8a83d9a3e33671.tar.gz', + }, + { + 'source_urls': ['https://github.com/isovic/gindex/archive'], + 'filename': 'gindex-20170304.tar.gz', + 'download_filename': 'b1fb5ad35763632db66377348bb16fec29f381e4.tar.gz', + }, +] +checksums = [ + 'f08c21f65a83922f43d3430faacf8cfeebbea6ee54dceac4ac438f985a170965', # graphmap-20170526.tar.gz + '77a19d9239125f91f9a8093bb4d03638e6ba9aa4ce0e586fa8f81a422fc9118c', # seqlib-20170526.tar.gz + '22132721986528851da838ccd1b3f223d4a68318f580ade3234c3b528ad8d7f4', # argparser-20160623.tar.gz + '87474a597f4e1d75cd9d188c5179014b87989ea02d440f5bba07b308ad3ae4af', # gindex-20170304.tar.gz +] + +files_to_copy = [(['bin/Linux-x64/graphmap'], 'bin')] + +# Move sources dependencies to expected folders +prebuildopts = "mv %(builddir)s/seqlib-*/* %(builddir)s/graphmap-*/codebase/seqlib/ && " +prebuildopts += "mv %(builddir)s/argparser-*/* %(builddir)s/graphmap-*/codebase/argumentparser/ && " +prebuildopts += "mv %(builddir)s/gindex-*/* %(builddir)s/graphmap-*/codebase/gindex/ && " + +# build flags inherited from original Makefile +buildopts = 'GCC="$CXX" ' +buildopts += 'CC_FLAGS_RELEASE="$CXXFLAGS -DRELEASE_VERSION -c ' +buildopts += '-fdata-sections -ffunction-sections -fmessage-length=0 -ffreestanding -Werror=return-type -pthread"' + +sanity_check_paths = { + 'files': ['bin/graphmap'], + 'dirs': [], +} + +sanity_check_commands = ['graphmap align -h 2>&1 | grep "GraphMap Version"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5fa19ae02fb --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'Graphene' +version = '1.10.8' + +homepage = 'https://ebassi.github.io/graphene/' +description = "Graphene is a thin layer of types for graphic libraries" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('GObject-Introspection', '1.72.0'), + ('binutils', '2.38'), +] +dependencies = [('GLib', '2.72.1')] + +configopts = "-Dgobject_types=true -Dintrospection=enabled" + +sanity_check_paths = { + 'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'], + 'dirs': ['include/graphene-1.0', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b73f8a3c5b7 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'Graphene' +version = '1.10.8' + +homepage = 'https://ebassi.github.io/graphene/' +description = "Graphene is a thin layer of types for graphic libraries" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('GObject-Introspection', '1.74.0'), + ('binutils', '2.39'), +] +dependencies = [('GLib', '2.75.0')] + +configopts = "-Dgobject_types=true -Dintrospection=enabled" + +sanity_check_paths = { + 'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'], + 'dirs': ['include/graphene-1.0', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0d432c32c3a --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'Graphene' +version = '1.10.8' + +homepage = 'https://ebassi.github.io/graphene/' +description = "Graphene is a thin layer of types for graphic libraries" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('GObject-Introspection', '1.76.1'), + ('binutils', '2.40'), +] +dependencies = [('GLib', '2.77.1')] + +configopts = "-Dgobject_types=true -Dintrospection=enabled" + +sanity_check_paths = { + 'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'], + 'dirs': ['include/graphene-1.0', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b8b16bdc898 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphene/Graphene-1.10.8-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'Graphene' +version = '1.10.8' + +homepage = 'https://ebassi.github.io/graphene/' +description = "Graphene is a thin layer of types for graphic libraries" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'ebassi' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['922dc109d2dc5dc56617a29bd716c79dd84db31721a8493a13a5f79109a4a4ed'] + +builddependencies = [ + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('GObject-Introspection', '1.78.1'), + ('binutils', '2.40'), +] +dependencies = [('GLib', '2.78.1')] + +configopts = "-Dgobject_types=true -Dintrospection=enabled" + +sanity_check_paths = { + 'files': ['lib/libgraphene-1.0.%s' % SHLIB_EXT, 'share/gir-1.0/Graphene-1.0.gir'], + 'dirs': ['include/graphene-1.0', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.36-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.36-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..30eb94d80ff --- /dev/null +++ b/easybuild/easyconfigs/g/GraphicsMagick/GraphicsMagick-1.3.36-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'GraphicsMagick' +version = '1.3.36' + +homepage = 'http://www.graphicsmagick.org/' +description = """GraphicsMagick is the swiss army knife of image processing.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/%(version_major_minor)s/', +] +sources = [SOURCE_TAR_GZ] +patches = [ + 'GraphicsMagick_pkgconfig_libtiff.patch' +] +checksums = [ + '1e6723c48c4abbb31197fadf8396b2d579d97e197123edc70a4f057f0533d563', # GraphicsMagick-1.3.36.tar.gz + '25b4c5361f30e23c809a078ac4b26e670d2b8341496323480037e2095d969294', # GraphicsMagick_pkgconfig_libtiff.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('X11', '20210802'), + ('bzip2', '1.0.8'), + ('freetype', '2.11.0'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('libxml2', '2.9.10'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('Ghostscript', '9.54.0'), +] + +modextrapaths = {'CPATH': ['include/GraphicsMagick']} + +sanity_check_paths = { + 'files': ['bin/gm', 'lib/libGraphicsMagick.a', 'lib/libGraphicsMagick++.a', + 'lib/libGraphicsMagickWand.a'], + 'dirs': ['include/GraphicsMagick', 'lib/pkgconfig'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b-Python-2.7.15.eb index 3393732425c..062902b979a 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b-Python-2.7.15.eb @@ -54,7 +54,7 @@ dependencies = [ ('Gdk-Pixbuf', '2.36.12'), ('Ghostscript', '9.23'), ('GTS', '0.7.6'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('libgd', '2.2.5'), ('Pango', '1.42.4'), ('Perl', '5.28.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b.eb index dad37c034a9..15a13ec7078 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-foss-2018b.eb @@ -51,7 +51,7 @@ dependencies = [ ('Gdk-Pixbuf', '2.36.12'), ('Ghostscript', '9.23'), ('GTS', '0.7.6'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('libgd', '2.2.5'), ('Pango', '1.42.4'), ('Perl', '5.28.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-intel-2018a.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-intel-2018a.eb index ae0ee795432..604d4417f17 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-intel-2018a.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.40.1-intel-2018a.eb @@ -41,7 +41,7 @@ dependencies = [ ('freetype', '2.9'), ('Ghostscript', '9.22', '-cairo-1.14.12'), ('GTS', '0.7.6'), - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('libpng', '1.6.34'), ('Pango', '1.41.1'), ('Perl', '5.26.1'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-GCCcore-8.3.0-Java-11.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-GCCcore-8.3.0-Java-11.eb index bc1b89f5f65..7ac2a75670e 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-GCCcore-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-GCCcore-8.3.0-Java-11.eb @@ -40,7 +40,7 @@ dependencies = [ ('Gdk-Pixbuf', '2.38.2'), ('Ghostscript', '9.50'), ('GTS', '0.7.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('libgd', '2.2.5'), ('Pango', '1.44.7'), ('Perl', '5.30.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b-Python-3.7.4.eb index 1ca2e2d4744..26ac994d037 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b-Python-3.7.4.eb @@ -44,7 +44,7 @@ dependencies = [ ('Gdk-Pixbuf', '2.38.2'), ('Ghostscript', '9.50'), ('GTS', '0.7.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('libgd', '2.2.5'), ('Pango', '1.44.7'), ('Perl', '5.30.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b.eb index def5b531355..bd1974fc84c 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.42.2-foss-2019b.eb @@ -38,7 +38,7 @@ dependencies = [ ('Gdk-Pixbuf', '2.38.2'), ('Ghostscript', '9.50'), ('GTS', '0.7.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('libgd', '2.2.5'), ('Pango', '1.44.7'), ('Perl', '5.30.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11-Python-3.8.2.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11-Python-3.8.2.eb index ac21ce695d2..f19b861f72c 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11-Python-3.8.2.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11-Python-3.8.2.eb @@ -33,7 +33,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Python', '3.8.2'), ('FriBidi', '1.0.9'), ('Gdk-Pixbuf', '2.40.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11.eb index 5d7b20ee277..e532aad271a 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.44.1-GCCcore-9.3.0-Java-11.eb @@ -32,7 +32,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('FriBidi', '1.0.9'), ('Gdk-Pixbuf', '2.40.0'), ('Ghostscript', '9.52'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.0-GCCcore-10.2.0-Java-11.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.0-GCCcore-10.2.0-Java-11.eb index fe7ec68c3fe..740e71bf496 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.0-GCCcore-10.2.0-Java-11.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.0-GCCcore-10.2.0-Java-11.eb @@ -33,7 +33,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Python', '3.8.6'), ('FriBidi', '1.0.10'), ('Gdk-Pixbuf', '2.40.0'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.2-GCCcore-10.3.0.eb index 82bbddffe8d..efaf644fa43 100644 --- a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.47.2-GCCcore-10.3.0.eb @@ -32,7 +32,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Python', '3.9.5'), ('FriBidi', '1.0.10'), ('Gdk-Pixbuf', '2.42.6'), diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e96a04c6708 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0-GCCcore-11.2.0.eb @@ -0,0 +1,89 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '2.50.0' +local_pyver_major = '3' + +homepage = 'https://www.graphviz.org/' +description = """Graphviz is open source graph visualization software. Graph visualization + is a way of representing structural information as diagrams of + abstract graphs and networks. It has important applications in networking, + bioinformatics, software engineering, database and web design, machine learning, + and in visual interfaces for other technical domains.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Graphviz-2.50.0_skip-install-data-hook.patch'] +checksums = [ + 'afa48581f764a35e148909cc96a0308ec2356b5225b64af12492f3392f20ef1c', # graphviz-2.50.0.tar.gz + 'a49c59ae40e8a9af999a46aa8ea5b79b4325e99f5a15a4377aeea0e22afcb898', # Graphviz-2.50.0_skip-install-data-hook.patch +] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('SWIG', '4.0.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), + ('FriBidi', '1.0.10'), + ('Gdk-Pixbuf', '2.42.6'), + ('Ghostscript', '9.54.0'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.48.8'), + ('Perl', '5.34.0'), + ('Qt5', '5.15.2'), + ('Tcl', '8.6.11'), + ('zlib', '1.2.11'), +] + +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' + +prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && ' + +postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot', + 'dot_builtins', 'dotty', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml', + 'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv', + 'lneato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten', 'vimdot']] + + ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut', + 'libpathplan', 'libxdot']], + 'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major, + 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = [ + ("test ! -d $EBROOTTCL/lib/*/graphviz", ''), + ("test ! -d $EBROOTTCL/lib64/*/graphviz", ''), + ('python', '-c "import gv"'), +] + +modextrapaths = { + 'CLASSPATH': 'lib/graphviz/java', + 'LD_LIBRARY_PATH': 'lib/graphviz/java', + 'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major, + 'TCLLIBPATH': 'lib/graphviz/tcl', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0_skip-install-data-hook.patch b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0_skip-install-data-hook.patch new file mode 100644 index 00000000000..b9685f60923 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-2.50.0_skip-install-data-hook.patch @@ -0,0 +1,104 @@ +don't create directories and install language bindings in non-owned directories +author: Kenneth Hoste (HPC-UGent) +update version 2.42.2: Alex Domingo (VUB) +update version 2.50.0: Christoph Siegert (Leipzig University) + +diff --git a/tclpkg/Makefile.am b/tclpkg/Makefile.am +index f1a1e3d..c4ce18e 100644 +--- a/tclpkg/Makefile.am ++++ b/tclpkg/Makefile.am +@@ -27,94 +27,6 @@ pkgIndex.tcl: @TCL_PKGINDEX@ @TCL_PKGINDEX_GD@ @TCL_PKGINDEX_SWIG@ + cat @TCL_PKGINDEX@ @TCL_PKGINDEX_GD@ @TCL_PKGINDEX_SWIG@ end >$@ + rm -f end + +-if ENABLE_SHARED +-# Installation of softlinks into non-owned directories is done as a +-# separate step, with soft failures, so that a developer can do: +-# ./configure --prefix=$HOME/graphviz; make; make install +-# without root privileges. +-install-data-hook: +-if WITH_LUA +- -mkdir -p $(DESTDIR)@LUA_INSTALL_DIR@; +- if test -w $(DESTDIR)@LUA_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@LUA_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgluadir)/libgv_lua.so gv.so;) \ +- else \ +- echo "Warning: @LUA_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of lua binding."; \ +- fi +-endif +-if WITH_PERL +- -mkdir -p $(DESTDIR)@PERL_INSTALL_DIR@; +- if test -w $(DESTDIR)@PERL_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@PERL_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgperldir)/libgv_perl.so gv.so; \ +- cp -f $(DESTDIR)$(pkgperldir)/gv.pm gv.pm;) \ +- else \ +- echo "Warning: @PERL_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of perl binding."; \ +- fi +-endif +-if WITH_PHP +- -mkdir -p $(DESTDIR)@PHP_INSTALL_DIR@; +- if test -w $(DESTDIR)@PHP_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@PHP_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgphpdir)/libgv_php.so gv.so;) \ +- else \ +- echo "Warning: @PHP_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +- -mkdir -p $(DESTDIR)@PHP_INSTALL_DATADIR@; +- if test -w $(DESTDIR)@PHP_INSTALL_DATADIR@; then \ +- (cd $(DESTDIR)@PHP_INSTALL_DATADIR@; \ +- cp -f $(DESTDIR)$(pkgphpdir)/gv.php gv.php;) \ +- else \ +- echo "Warning: @PHP_INSTALL_DATADIR@ is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +-endif +-if WITH_PYTHON +- -mkdir -p $(DESTDIR)@PYTHON_INSTALL_DIR@; +- if test -w $(DESTDIR)@PYTHON_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@PYTHON_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgpythondir)/libgv_python.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpythondir)/gv.py gv.py;) \ +- else \ +- echo "Warning: @PYTHON_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of python binding."; \ +- fi +-endif +-if WITH_PYTHON3 +- -mkdir -p $(DESTDIR)@PYTHON3_INSTALL_DIR@; +- if test -w $(DESTDIR)@PYTHON3_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@PYTHON3_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgpython3dir)/libgv_python3.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpython3dir)/gv.py gv.py;) \ +- else \ +- echo "Warning: @PYTHON3_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of python3 binding."; \ +- fi +-endif +-if WITH_RUBY +- -mkdir -p $(DESTDIR)@RUBY_INSTALL_DIR@; +- if test -w $(DESTDIR)@RUBY_INSTALL_DIR@; then \ +- (cd $(DESTDIR)@RUBY_INSTALL_DIR@; \ +- cp -f $(DESTDIR)$(pkgrubydir)/libgv_ruby.so gv.so;) \ +- else \ +- echo "Warning: @RUBY_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of ruby binding."; \ +- fi +-endif +-if WITH_TCL +- -mkdir -p $(DESTDIR)@TCL_INSTALL_DIR@; +- if test -w $(DESTDIR)@TCL_INSTALL_DIR@/; then \ +- (cd $(DESTDIR)@TCL_INSTALL_DIR@; \ +- cp -rf $(DESTDIR)$(pkgtcldir) @PACKAGE_NAME@;) \ +- else \ +- echo "Warning: @TCL_INSTALL_DIR@ is not writable."; \ +- echo "Skipping system installation of tcl bindings."; \ +- fi +-endif +-endif + + # removal of installs into @xxx_INSTALL_DIR@ fail if root + # has installed a system copy 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 new file mode 100644 index 00000000000..10a270e5598 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,99 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '5.0.0' +local_pyver_major = '3' + +homepage = 'https://www.graphviz.org/' +description = """Graphviz is open source graph visualization software. Graph visualization + is a way of representing structural information as diagrams of + abstract graphs and networks. It has important applications in networking, + bioinformatics, software engineering, database and web design, machine learning, + and in visual interfaces for other technical domains.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_skip-install-data-hook.patch'] +checksums = [ + 'f8cc576694ae93659f453b6b4a4c2f04572a90cfccdca2d4271f2e7c60bb3d60', # graphviz-5.0.0.tar.gz + '4cafb6eac6f59fa4e90cef6e83c276ad5e4e24b10992b18d4b51c6d28dfe4ca1', # Graphviz-5.0.0_skip-install-data-hook.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('SWIG', '4.0.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.4'), + ('FriBidi', '1.0.12'), + ('Gdk-Pixbuf', '2.42.8'), + ('Ghostscript', '9.56.1'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.50.7'), + ('Perl', '5.34.1'), + ('Qt5', '5.15.5'), + ('Tcl', '8.6.12'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libjpeg-turbo', '2.1.3'), + ('expat', '2.4.8'), +] + +preconfigopts = './autogen.sh NOCONFIG && ' + +_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 && ' + +postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot', + 'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml', + 'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv', + 'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten', + 'vimdot']] + + ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut', + 'libpathplan', 'libxdot']], + 'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major, + 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = [ + ("test ! -d $EBROOTTCL/lib/*/graphviz", ''), + ("test ! -d $EBROOTTCL/lib64/*/graphviz", ''), + ('python', '-c "import gv"'), +] + +modextrapaths = { + 'CLASSPATH': 'lib/graphviz/java', + 'LD_LIBRARY_PATH': 'lib/graphviz/java', + 'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major, + 'TCLLIBPATH': 'lib/graphviz/tcl', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch b/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch new file mode 100644 index 00000000000..96c30b27410 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-5.0.0_skip-install-data-hook.patch @@ -0,0 +1,96 @@ +don't create directories and install language bindings in non-owned directories +author: Kenneth Hoste (HPC-UGent) +update version 2.42.2: Alex Domingo (VUB) +update version 5.0.0: Simon Pinches +diff -Nru graphviz-5.0.0-orig/tclpkg/Makefile.am graphviz-5.0.0/tclpkg/Makefile.am +--- graphviz-5.0.0-orig/tclpkg/Makefile.am 2022-07-07 17:40:57.000000000 +0200 ++++ graphviz-5.0.0/tclpkg/Makefile.am 2022-08-09 11:38:18.162458502 +0200 +@@ -33,87 +33,7 @@ + # ./configure --prefix=$HOME/graphviz; make; make install + # without root privileges. + install-data-hook: +-if WITH_LUA +- -mkdir -p $(DESTDIR)$(LUA_INSTALL_DIR); +- if test -w $(DESTDIR)$(LUA_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(LUA_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgluadir)/libgv_lua.so gv.so;) \ +- else \ +- echo "Warning: $(LUA_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of lua binding."; \ +- fi +-endif +-if WITH_PERL +- -mkdir -p $(DESTDIR)$(PERL_INSTALL_DIR); +- if test -w $(DESTDIR)$(PERL_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PERL_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgperldir)/libgv_perl.so gv.so; \ +- cp -f $(DESTDIR)$(pkgperldir)/gv.pm gv.pm;) \ +- else \ +- echo "Warning: $(PERL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of perl binding."; \ +- fi +-endif +-if WITH_PHP +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/libgv_php.so gv.so;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DATADIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DATADIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DATADIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/gv.php gv.php;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DATADIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +-endif +-if WITH_PYTHON +- -mkdir -p $(DESTDIR)$(PYTHON_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpythondir)/libgv_python.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpythondir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python binding."; \ +- fi +-endif +-if WITH_PYTHON3 +- -mkdir -p $(DESTDIR)$(PYTHON3_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON3_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON3_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpython3dir)/libgv_python3.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpython3dir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON3_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python3 binding."; \ +- fi +-endif +-if WITH_RUBY +- -mkdir -p $(DESTDIR)$(RUBY_INSTALL_DIR); +- if test -w $(DESTDIR)$(RUBY_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(RUBY_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgrubydir)/libgv_ruby.so gv.so;) \ +- else \ +- echo "Warning: $(RUBY_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of ruby binding."; \ +- fi +-endif +-if WITH_TCL +- -mkdir -p $(DESTDIR)$(TCL_INSTALL_DIR); +- if test -w $(DESTDIR)$(TCL_INSTALL_DIR)/; then \ +- (cd $(DESTDIR)$(TCL_INSTALL_DIR); \ +- cp -rf $(DESTDIR)$(pkgtcldir) $(PACKAGE_NAME);) \ +- else \ +- echo "Warning: $(TCL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of tcl bindings."; \ +- fi +-endif ++ echo "(installing in non-owned directories has been patched out)" + endif + + # removal of installs into $(xxx_INSTALL_DIR) fail if root 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 new file mode 100644 index 00000000000..c21c34aba1d --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,98 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '8.1.0' +local_pyver_major = '3' + +homepage = 'https://www.graphviz.org/' +description = """Graphviz is open source graph visualization software. Graph visualization + is a way of representing structural information as diagrams of + abstract graphs and networks. It has important applications in networking, + bioinformatics, software engineering, database and web design, machine learning, + and in visual interfaces for other technical domains.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_skip-install-data-hook.patch'] +checksums = [ + {'graphviz-8.1.0.tar.gz': '2e4dfee3c24925ad51d1e76a9fb2b19b26a5a0049ef7be6d3e52667aac72eabe'}, + {'Graphviz-8.1.0_skip-install-data-hook.patch': '834666f1b5a8eff35f30899419e322739d71a2936408b27c8ffb4423a99a38e1'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('SWIG', '4.1.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.10.8'), + ('FriBidi', '1.0.12'), + ('Gdk-Pixbuf', '2.42.10'), + ('Ghostscript', '10.0.0'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.50.12'), + ('Perl', '5.36.0'), + ('Qt5', '5.15.7'), + ('Tcl', '8.6.12'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libjpeg-turbo', '2.1.4'), + ('expat', '2.4.9'), +] + +preconfigopts = './autogen.sh NOCONFIG && ' + +_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 && ' + +postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot', + 'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml', + 'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv', + 'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten', + 'vimdot']] + + ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut', + 'libpathplan', 'libxdot']], + 'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major, + 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = [ + ("test ! -d $EBROOTTCL/lib/*/graphviz", ''), + ("test ! -d $EBROOTTCL/lib64/*/graphviz", ''), + ('python', '-c "import gv"'), +] + +modextrapaths = { + 'CLASSPATH': 'lib/graphviz/java', + 'LD_LIBRARY_PATH': 'lib/graphviz/java', + 'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major, + 'TCLLIBPATH': 'lib/graphviz/tcl', +} + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..f6cb4095265 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,98 @@ +easyblock = 'ConfigureMake' + +name = 'Graphviz' +version = '8.1.0' +local_pyver_major = '3' + +homepage = 'https://www.graphviz.org/' +description = """Graphviz is open source graph visualization software. Graph visualization + is a way of representing structural information as diagrams of + abstract graphs and networks. It has important applications in networking, + bioinformatics, software engineering, database and web design, machine learning, + and in visual interfaces for other technical domains.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_skip-install-data-hook.patch'] +checksums = [ + {'graphviz-8.1.0.tar.gz': '2e4dfee3c24925ad51d1e76a9fb2b19b26a5a0049ef7be6d3e52667aac72eabe'}, + {'Graphviz-8.1.0_skip-install-data-hook.patch': '834666f1b5a8eff35f30899419e322739d71a2936408b27c8ffb4423a99a38e1'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('SWIG', '4.1.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Python', '3.11.3'), + ('FriBidi', '1.0.12'), + ('Gdk-Pixbuf', '2.42.10'), + ('Ghostscript', '10.01.2'), + ('GTS', '0.7.6'), + ('libgd', '2.3.3'), + ('Pango', '1.50.14'), + ('Perl', '5.36.1'), + ('Qt5', '5.15.10'), + ('Tcl', '8.6.13'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('libjpeg-turbo', '2.1.5.1'), + ('expat', '2.5.0'), +] + +preconfigopts = './autogen.sh NOCONFIG && ' + +_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 && ' + +postinstallcmds = ['%(installdir)s/bin/dot -c'] # Writes plugin configuration + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot', + 'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml', + 'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv', + 'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten', + 'vimdot']] + + ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut', + 'libpathplan', 'libxdot']], + 'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major, + 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = [ + ("test ! -d $EBROOTTCL/lib/*/graphviz", ''), + ("test ! -d $EBROOTTCL/lib64/*/graphviz", ''), + ('python', '-c "import gv"'), +] + +modextrapaths = { + 'CLASSPATH': 'lib/graphviz/java', + 'LD_LIBRARY_PATH': 'lib/graphviz/java', + 'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major, + 'TCLLIBPATH': 'lib/graphviz/tcl', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0_skip-install-data-hook.patch b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0_skip-install-data-hook.patch new file mode 100644 index 00000000000..b9df6864d38 --- /dev/null +++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0_skip-install-data-hook.patch @@ -0,0 +1,88 @@ +don't create directories and install language bindings in non-owned directories +author: Kenneth Hoste (HPC-UGent) +update version 2.42.2: Alex Domingo (VUB) +update version 5.0.0: Simon Pinches +update version 8.1.0: Simon Branford (University of Birmingham) +diff -Nru graphviz-5.0.0-orig/tclpkg/Makefile.am graphviz-5.0.0/tclpkg/Makefile.am +--- graphviz-5.0.0-orig/tclpkg/Makefile.am 2023-08-08 16:31:24.730129000 +0100 ++++ graphviz-5.0.0/tclpkg/Makefile.am 2023-08-08 16:31:14.040830751 +0100 +@@ -32,78 +32,7 @@ + # ./configure --prefix=$HOME/graphviz; make; make install + # without root privileges. + install-data-hook: +-if WITH_LUA +- -mkdir -p $(DESTDIR)$(LUA_INSTALL_DIR); +- if test -w $(DESTDIR)$(LUA_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(LUA_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgluadir)/libgv_lua.so gv.so;) \ +- else \ +- echo "Warning: $(LUA_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of lua binding."; \ +- fi +-endif +-if WITH_PERL +- -mkdir -p $(DESTDIR)$(PERL_INSTALL_DIR); +- if test -w $(DESTDIR)$(PERL_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PERL_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgperldir)/libgv_perl.so gv.so; \ +- cp -f $(DESTDIR)$(pkgperldir)/gv.pm gv.pm;) \ +- else \ +- echo "Warning: $(PERL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of perl binding."; \ +- fi +-endif +-if WITH_PHP +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/libgv_php.so gv.so;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +-if WITH_SWIG_PHP_DATA +- -mkdir -p $(DESTDIR)$(PHP_INSTALL_DATADIR); +- if test -w $(DESTDIR)$(PHP_INSTALL_DATADIR); then \ +- (cd $(DESTDIR)$(PHP_INSTALL_DATADIR); \ +- cp -f $(DESTDIR)$(pkgphpdir)/gv.php gv.php;) \ +- else \ +- echo "Warning: $(PHP_INSTALL_DATADIR) is not writable."; \ +- echo "Skipping system installation of php binding."; \ +- fi +-endif +-endif +-if WITH_PYTHON3 +- -mkdir -p $(DESTDIR)$(PYTHON3_INSTALL_DIR); +- if test -w $(DESTDIR)$(PYTHON3_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(PYTHON3_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgpython3dir)/libgv_python3.so _gv.so; \ +- cp -f $(DESTDIR)$(pkgpython3dir)/gv.py gv.py;) \ +- else \ +- echo "Warning: $(PYTHON3_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of python3 binding."; \ +- fi +-endif +-if WITH_RUBY +- -mkdir -p $(DESTDIR)$(RUBY_INSTALL_DIR); +- if test -w $(DESTDIR)$(RUBY_INSTALL_DIR); then \ +- (cd $(DESTDIR)$(RUBY_INSTALL_DIR); \ +- cp -f $(DESTDIR)$(pkgrubydir)/libgv_ruby.so gv.so;) \ +- else \ +- echo "Warning: $(RUBY_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of ruby binding."; \ +- fi +-endif +-if WITH_TCL +- -mkdir -p $(DESTDIR)$(TCL_INSTALL_DIR); +- if test -w $(DESTDIR)$(TCL_INSTALL_DIR)/; then \ +- (cd $(DESTDIR)$(TCL_INSTALL_DIR); \ +- cp -rf $(DESTDIR)$(pkgtcldir) $(PACKAGE_NAME);) \ +- else \ +- echo "Warning: $(TCL_INSTALL_DIR) is not writable."; \ +- echo "Skipping system installation of tcl bindings."; \ +- fi +-endif ++ echo "(installing in non-owned directories has been patched out)" + endif + + # removal of installs into $(xxx_INSTALL_DIR) fail if root diff --git a/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..83d43fa2522 --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-11.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': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +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-2.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5c3a5d69c9d --- /dev/null +++ b/easybuild/easyconfigs/g/Greenlet/Greenlet-2.0.2-GCCcore-12.2.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.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +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-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/Groovy/Groovy-4.0.3-Java-11.eb b/easybuild/easyconfigs/g/Groovy/Groovy-4.0.3-Java-11.eb new file mode 100644 index 00000000000..9f4f17f0f07 --- /dev/null +++ b/easybuild/easyconfigs/g/Groovy/Groovy-4.0.3-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'Groovy' +version = '4.0.3' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://groovy-lang.org' +description = """Groovy is a powerful, optionally typed and dynamic language, with static-typing and static +compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, +familiar and easy to learn syntax.""" + +toolchain = SYSTEM + +source_urls = ['https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/'] +sources = ['apache-groovy-sdk-%(version)s.zip'] +checksums = ['7c2e0df8d4c2b4695cb127bcef31e40223671215866fcf23da6fdccbb5ff93c5'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['bin/groovy', 'bin/grape'], + 'dirs': [], +} + +sanity_check_commands = ["groovy --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GtkSourceView/GtkSourceView-3.24.11-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/GtkSourceView/GtkSourceView-3.24.11-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0319076daf4 --- /dev/null +++ b/easybuild/easyconfigs/g/GtkSourceView/GtkSourceView-3.24.11-GCCcore-10.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'GtkSourceView' +version = '3.24.11' + +homepage = 'https://wiki.gnome.org/Projects/GtkSourceView' +description = """ + GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+ + widget for multiline text editing. GtkSourceView adds support for syntax + highlighting, undo/redo, file loading and saving, search and replace, a + completion system, printing, displaying line numbers, and other features + typical of a source code editor. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd'] + +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.66.1'), +] + +dependencies = [ + ('GLib', '2.66.1'), + ('GTK+', '3.24.23'), + ('libxml2', '2.9.10'), +] + +configopts = "--disable-silent-rules --enable-introspection=yes " + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['include/%(namelower)s-%(version_major)s.0', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb b/easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb new file mode 100644 index 00000000000..7b9bbd1be45 --- /dev/null +++ b/easybuild/easyconfigs/g/Gubbins/Gubbins-2.4.0.eb @@ -0,0 +1,43 @@ +## +# 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:: GPLv2.0 +# +# Notes:: This is a conda version installation +## + +easyblock = 'Conda' + +name = 'Gubbins' +version = '2.4.0' + +homepage = 'https://sanger-pathogens.github.io/gubbins' +description = """ +Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) +is an algorithm that iteratively identifies loci containing elevated densities of base +substitutions while concurrently constructing a phylogeny based on the putative point mutations +outside of these regions. Simulations demonstrate the algorithm generates highly accurate +reconstructions under realistic models of short-term bacterial evolution, and can be run +in only a few hours on alignments of hundreds of bacterial genome sequences. +""" + +toolchain = SYSTEM + +channels = ['r', 'conda-forge', 'bioconda'] + +requirements = '%(namelower)s=%(version)s python=3.6' + +dependencies = [ + ('Miniconda3', '4.7.10', '', SYSTEM) +] + +sanity_check_commands = [('gubbins', '-h')] + +sanity_check_paths = { + 'files': ['bin/run_gubbins.py'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Gubbins/Gubbins-3.3.5-foss-2022b.eb b/easybuild/easyconfigs/g/Gubbins/Gubbins-3.3.5-foss-2022b.eb new file mode 100644 index 00000000000..57a08aeb182 --- /dev/null +++ b/easybuild/easyconfigs/g/Gubbins/Gubbins-3.3.5-foss-2022b.eb @@ -0,0 +1,65 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'Gubbins' +version = '3.3.5' + +homepage = "https://nickjcroucher.github.io/gubbins/" +description = """Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that + iteratively identifies loci containing elevated densities of base substitutions, which are marked as recombinations, + while concurrently constructing a phylogeny based on the putative point mutations outside of these regions. + Simulations demonstrate the algorithm generates highly accurate reconstructions under realistic models of short-term + bacterial evolution, and can be run in only a few hours on alignments of hundreds of bacterial genome sequences.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/nickjcroucher/gubbins/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4ee363f82708bdda0c00d1c6c334cf20127bd852ee488619f61140771a279774'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Autoconf-archive', '2023.02.20'), + ('pkgconf', '1.9.3'), + ('Check', '0.15.2'), + ('subunit', '1.4.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Biopython', '1.81'), + ('DendroPy', '4.5.2'), + ('numba', '0.58.1'), + ('SciPy-bundle', '2023.02'), + ('FastTree', '2.1.11'), + ('IQ-TREE', '2.2.2.6'), + ('rapidNJ', '2.3.3'), + ('RAxML', '8.2.12', '-avx2'), + ('RAxML-NG', '1.2.0'), + ('SKA2', '0.3.7'), + ('dill', '0.3.7'), + ('multiprocess', '0.70.15'), +] + +preconfigopts = "autoreconf -i && " +# runtest = 'check' # runs the Python tests and this causes package to be installed into the Python install +postinstallcmds = [ + """sed -i 's/self.executable = "iqtree"/self.executable = "iqtree2"/' python/gubbins/treebuilders.py""", + "cd python && python -m pip install --prefix %(installdir)s --no-build-isolation . " +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/gubbins', 'lib/libgubbins.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = [ + "gubbins --help", + "run_gubbins.py --version", + 'python -c "import gubbins"', + 'python -m pip check', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/Guile/Guile-2.0.14-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Guile/Guile-2.0.14-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..06a1dc6a05a --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-2.0.14-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '2.0.14' + +homepage = 'http://www.gnu.org/software/guile' +description = """Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for +the GNU operating system. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8aeb2f353881282fe01694cce76bb72f7ffdd296a12c7a1a39255c27b0dfe5f1'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('gc', '8.2.6'), + ('GMP', '6.3.0'), + ('libffi', '3.4.5'), + ('libunistring', '1.2'), + ('libtool', '2.4.7'), + ('libreadline', '8.2'), + ('XZ', '5.4.5'), +] + +configopts = " --enable-error-on-warning=no" + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["guile", 'guile-config', 'guile-snarf', 'guile-tools']] + + ["lib/libguile-%(version_major_minor)s.a", + "include/guile/%(version_major_minor)s/libguile.h"], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Guile/Guile-3.0.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Guile/Guile-3.0.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..46917679856 --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-3.0.10-GCCcore-13.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '3.0.10' + +homepage = 'https://www.gnu.org/software/guile/' + +description = """ + Guile is a programming language, designed to help programmers create flexible + applications that can be extended by users or other programmers with plug-ins, + modules, or scripts. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2dbdbc97598b2faf31013564efb48e4fed44131d28e996c26abe8a5b23b56c2a'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('gc', '8.2.6'), + ('GMP', '6.3.0'), + ('libffi', '3.4.5'), + ('libunistring', '1.2'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s guile guile%(version_major)s"] + +sanity_check_paths = { + 'files': ['bin/guild', 'bin/guile', 'bin/guile-config', + 'bin/guile-snarf', 'bin/guile-tools', + 'include/guile/%(version_major_minor)s/libguile.h', + 'lib/libguile-%(version_major_minor)s.a', + 'lib/libguile-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/guile/%(version_major_minor)s/libguile', + 'lib/guile/%(version_major_minor)s/ccache'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Guile/Guile-3.0.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Guile/Guile-3.0.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a5cf58c0819 --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-3.0.7-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '3.0.7' + +homepage = 'https://www.gnu.org/software/guile/' + +description = """ + Guile is a programming language, designed to help programmers create flexible + applications that can be extended by users or other programmers with plug-ins, + modules, or scripts. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c7935b7a29e42443f6a35d35cf20ffa7d028c399303f872cd1219598a83656ae'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('gc', '8.2.0'), + ('GMP', '6.2.1'), + ('libffi', '3.4.2'), + ('libunistring', '1.0'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s guile guile%(version_major)s"] + +sanity_check_paths = { + 'files': ['bin/guild', 'bin/guile', 'bin/guile-config', + 'bin/guile-snarf', 'bin/guile-tools', + 'include/guile/%(version_major_minor)s/libguile.h', + 'lib/libguile-%(version_major_minor)s.a', + 'lib/libguile-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/guile/%(version_major_minor)s/libguile', + 'lib/guile/%(version_major_minor)s/ccache'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Guile/Guile-3.0.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Guile/Guile-3.0.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6a2591a4271 --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-3.0.8-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '3.0.8' + +homepage = 'https://www.gnu.org/software/guile/' + +description = """ + Guile is a programming language, designed to help programmers create flexible + applications that can be extended by users or other programmers with plug-ins, + modules, or scripts. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f25ae0c26e911af1b5005292d4f56621879f74d6958b30741cf67d8b6feb2016'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('gc', '8.2.2'), + ('GMP', '6.2.1'), + ('libffi', '3.4.2'), + ('libunistring', '1.0'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s guile guile%(version_major)s"] + +sanity_check_paths = { + 'files': ['bin/guild', 'bin/guile', 'bin/guile-config', + 'bin/guile-snarf', 'bin/guile-tools', + 'include/guile/%(version_major_minor)s/libguile.h', + 'lib/libguile-%(version_major_minor)s.a', + 'lib/libguile-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/guile/%(version_major_minor)s/libguile', + 'lib/guile/%(version_major_minor)s/ccache'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..cd161186dfc --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-10.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '3.0.9' + +homepage = 'https://www.gnu.org/software/guile/' + +description = """ + Guile is a programming language, designed to help programmers create flexible + applications that can be extended by users or other programmers with plug-ins, + modules, or scripts. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['18525079ad29a0d46d15c76581b5d91c8702301bfd821666d2e1d13726162811'] + +builddependencies = [ + ('Autotools', '20200321'), + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('gc', '8.2.2'), + ('GMP', '6.2.0'), + ('libffi', '3.3'), + ('libunistring', '1.1'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s guile guile%(version_major)s"] + +sanity_check_paths = { + 'files': ['bin/guild', 'bin/guile', 'bin/guile-config', + 'bin/guile-snarf', 'bin/guile-tools', + 'include/guile/%(version_major_minor)s/libguile.h', + 'lib/libguile-%(version_major_minor)s.a', + 'lib/libguile-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/guile/%(version_major_minor)s/libguile', + 'lib/guile/%(version_major_minor)s/ccache'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5cc6d1882f6 --- /dev/null +++ b/easybuild/easyconfigs/g/Guile/Guile-3.0.9-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Guile' +version = '3.0.9' + +homepage = 'https://www.gnu.org/software/guile/' + +description = """ + Guile is a programming language, designed to help programmers create flexible + applications that can be extended by users or other programmers with plug-ins, + modules, or scripts. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['18525079ad29a0d46d15c76581b5d91c8702301bfd821666d2e1d13726162811'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('gc', '8.2.4'), + ('GMP', '6.2.1'), + ('libffi', '3.4.4'), + ('libunistring', '1.1'), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s guile guile%(version_major)s"] + +sanity_check_paths = { + 'files': ['bin/guild', 'bin/guile', 'bin/guile-config', + 'bin/guile-snarf', 'bin/guile-tools', + 'include/guile/%(version_major_minor)s/libguile.h', + 'lib/libguile-%(version_major_minor)s.a', + 'lib/libguile-%%(version_major_minor)s.%s' % SHLIB_EXT], + 'dirs': ['include/guile/%(version_major_minor)s/libguile', + 'lib/guile/%(version_major_minor)s/ccache'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/g/Gurobi/Gurobi-10.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-10.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..16411d9bf00 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-10.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +name = 'Gurobi' +version = '10.0.1' + +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': '11.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + {'gurobi10.0.1_linux64.tar.gz': 'a0b551156df2c94107b3428cae278716a0a6c913f63ac132573852b9725b6c59'}, + {'Gurobi-9.0.1_use-eb-python-gurobi-shell.patch': + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +# 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' +license_file = HOME + '/licenses/%(name)s.lic' + + +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-10.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-10.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4eeb0dae621 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-10.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +name = 'Gurobi' +version = '10.0.1' + +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.2.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + {'gurobi10.0.1_linux64.tar.gz': 'a0b551156df2c94107b3428cae278716a0a6c913f63ac132573852b9725b6c59'}, + {'Gurobi-9.0.1_use-eb-python-gurobi-shell.patch': + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +# 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-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/Gurobi/Gurobi-11.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0e8c4d8115e --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-11.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,63 @@ +name = 'Gurobi' +version = '11.0.2' + +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/'] +local_archs = {'aarch64': 'armlinux64', 'x86_64': 'linux64'} +sources = ['gurobi%%(version)s_%s.tar.gz' % local_archs[ARCH]] +patches = ['Gurobi-11.0.0_use-eb-python-gurobi-shell.patch'] +checksums = [ + {'gurobi11.0.2_linux64.tar.gz': 'f43ac8a3edb987b9a0a61452acd9d8dbe9eb37368c6da7ce36e5247cb2a1a368', + 'gurobi11.0.2_armlinux64.tar.gz': '311b38a89717e26f3f829479ef8e6776674b2711c427a90b84ac9978acd19ff2'}, + {'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', version, { + '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': + '871e818026c8f288d7440fcd4b842becdf1006f43495fc4f6e3ec6d9b8ba3d7a', + 'gurobipy-%(version)s-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl': + '86265b7a9a8f3e531c1bbee6e61c1e7d0b68264e976795b4cf7aec68b9e66eb8', + }], + }), +] + +# 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-9.0.1-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.0.1-GCCcore-9.3.0-Python-3.8.2.eb new file mode 100644 index 00000000000..302ab9d01a0 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.0.1-GCCcore-9.3.0-Python-3.8.2.eb @@ -0,0 +1,38 @@ +name = 'Gurobi' +version = '9.0.1' +versionsuffix = '-Python-%(pyver)s' + +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': '9.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-%(version)s_use-eb-python-gurobi-shell.patch'] +checksums = [ + '17e2facda111180eee61eeded0b8716230bbe09faa7c61356dc79f002ff86cb7', # gurobi9.0.1_linux64.tar.gz + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01', # Gurobi-9.0.1_use-eb-python-gurobi-shell.patch +] + +builddependencies = [ + ('binutils', '2.34'), +] + +dependencies = [ + ('Python', '3.8.2'), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +license_file = HOME + '/licenses/%(name)s/%(namelower)s.lic' + +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-9.1.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.1.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b4f9b36ccdf --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.1.2-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +name = 'Gurobi' +version = '9.1.2' + +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': '10.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + '7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b', # gurobi9.1.2_linux64.tar.gz + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01', # Gurobi-9.0.1_use-eb-python-gurobi-shell.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +# license is not mandatory for installation +license_file = HOME + '/licenses/%(name)s.lic' + +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-9.5.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..58a507ee4b4 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.0-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +name = 'Gurobi' +version = '9.5.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': '10.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + 'bb542e5a5d1685f6e364eaf05ea6c5572485ffc37a2245169cf3cb40288bc29e', # gurobi9.5.0_linux64.tar.gz + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01', # Gurobi-9.0.1_use-eb-python-gurobi-shell.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +# license is mandatory for installation +license_file = HOME + '/licenses/%(name)s.lic' + +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-9.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cfe0bac03ec --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +name = 'Gurobi' +version = '9.5.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': '11.2.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + 'bb542e5a5d1685f6e364eaf05ea6c5572485ffc37a2245169cf3cb40288bc29e', # gurobi9.5.0_linux64.tar.gz + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01', # Gurobi-9.0.1_use-eb-python-gurobi-shell.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +# license is mandatory for installation +license_file = HOME + '/licenses/%(name)s.lic' + +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-9.5.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6cf6ccd4d05 --- /dev/null +++ b/easybuild/easyconfigs/g/Gurobi/Gurobi-9.5.2-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +name = 'Gurobi' +version = '9.5.2' + +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': '11.3.0'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['%(namelower)s%(version)s_linux64.tar.gz'] +patches = ['%(name)s-9.0.1_use-eb-python-gurobi-shell.patch'] +checksums = [ + '95d8ca18b7f86116ba834a27fd6228c5b1708ae67927e7ea0e954c09374a2d0f', # gurobi9.5.0_linux64.tar.gz + 'b4a998182d05f969d1de519f4746ac9e0c6646dd35233231b6ab5963dfa67d01', # Gurobi-9.0.1_use-eb-python-gurobi-shell.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +# remove bundled Python interpreter in favour of the dependency in EB +postinstallcmds = ['rm %(installdir)s/bin/python*'] + +# license is mandatory for installation +license_file = HOME + '/licenses/%(name)s.lic' + +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/Gymnasium/Gymnasium-0.29.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/g/Gymnasium/Gymnasium-0.29.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..b9248ab9aac --- /dev/null +++ b/easybuild/easyconfigs/g/Gymnasium/Gymnasium-0.29.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'Gymnasium' +version = '0.29.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://gymnasium.farama.org/' +description = """ +Gymnasium is an open source Python library for developing and comparing reinforcement learning +algorithms by providing a standard API to communicate between learning algorithms and +environments, as well as a standard set of environments compliant with that API. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenCV', '4.8.1', versionsuffix + '-contrib'), + ('pygame', '2.5.2'), + ('MuJoCo', '3.1.4'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('Farama-Notifications', '0.0.4', { + 'checksums': ['13fceff2d14314cf80703c8266462ebf3733c7d165336eee998fc58e545efd18'], + }), + ('box2d-py', '2.3.8', { + 'modulename': 'Box2D', + 'checksums': ['bdacfbbc56079bb317548efe49d3d5a86646885cc27f4a2ee97e4b2960921ab7'], + }), + ('gymnasium', version, { + 'use_pip_extras': 'all', + 'checksums': ['1a532752efcb7590478b1cc7aa04f608eb7a2fdad5570cd217b66b6a35274bb1'], + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'toy_text'] +sanity_check_commands = ["python -c 'import gymnasium.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/Gymnasium/Gymnasium-0.29.1-foss-2023a.eb b/easybuild/easyconfigs/g/Gymnasium/Gymnasium-0.29.1-foss-2023a.eb new file mode 100644 index 00000000000..e389e3ef7d7 --- /dev/null +++ b/easybuild/easyconfigs/g/Gymnasium/Gymnasium-0.29.1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'Gymnasium' +version = '0.29.1' + +homepage = 'https://gymnasium.farama.org/' +description = """ +Gymnasium is an open source Python library for developing and comparing reinforcement learning +algorithms by providing a standard API to communicate between learning algorithms and +environments, as well as a standard set of environments compliant with that API. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenCV', '4.8.1', '-contrib'), + ('pygame', '2.5.2'), + ('MuJoCo', '3.1.4'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('Farama-Notifications', '0.0.4', { + 'checksums': ['13fceff2d14314cf80703c8266462ebf3733c7d165336eee998fc58e545efd18'], + }), + ('box2d-py', '2.3.8', { + 'modulename': 'Box2D', + 'checksums': ['bdacfbbc56079bb317548efe49d3d5a86646885cc27f4a2ee97e4b2960921ab7'], + }), + ('gymnasium', version, { + 'use_pip_extras': 'all', + 'checksums': ['1a532752efcb7590478b1cc7aa04f608eb7a2fdad5570cd217b66b6a35274bb1'], + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'toy_text'] +sanity_check_commands = ["python -c 'import gymnasium.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..1ccb3cd0734 --- /dev/null +++ b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.2.0.eb @@ -0,0 +1,24 @@ +name = 'g2clib' +version = '1.6.3' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['83e4f2061b3d4a8bd431ba860dda8c5cf103b25f42d265b7b724b9acafad177c'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('JasPer', '2.0.24'), + ('libpng', '1.6.37'), +] + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f71f64347e5 --- /dev/null +++ b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-10.3.0.eb @@ -0,0 +1,24 @@ +name = 'g2clib' +version = '1.6.3' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['83e4f2061b3d4a8bd431ba860dda8c5cf103b25f42d265b7b724b9acafad177c'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('JasPer', '2.0.28'), + ('libpng', '1.6.37'), +] + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3977d898ca3 --- /dev/null +++ b/easybuild/easyconfigs/g/g2clib/g2clib-1.6.3-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +name = 'g2clib' +version = '1.6.3' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['83e4f2061b3d4a8bd431ba860dda8c5cf103b25f42d265b7b724b9acafad177c'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('JasPer', '2.0.33'), + ('libpng', '1.6.37'), +] + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cc05f88f67a --- /dev/null +++ b/easybuild/easyconfigs/g/g2clib/g2clib-1.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'g2clib' +version = '1.7.0' + +homepage = 'https://github.com/NOAA-EMC/NCEPLIBS-g2c' +description = """Library contains GRIB2 encoder/decoder ('C' version).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NOAA-EMC/NCEPLIBS-g2c/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['73afba9da382fed73ed8692d77fa037bb313280879cd4012a5e5697dccf55175'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('JasPer', '2.0.33'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), +] + +sanity_check_paths = { + 'files': ['lib/libg2c.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9f965a3a424 --- /dev/null +++ b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +name = 'g2lib' +version = '3.2.0' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder and search/indexing routines.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_makefile.patch', +] +checksums = [ + '9d3866de32e13e80798bfb08dbbea9223f32cec3fce3c57b6838e76f27d5a1d3', # g2lib-3.2.0.tar + 'e434394a6ec8bd68dbd57e3fdb44c47372b07380e362ed955bb038b78dd81812', # g2lib-3.2.0_makefile.patch +] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('JasPer', '2.0.24'), + ('libpng', '1.6.37'), +] + +buildopts = 'CFLAGS="$CFLAGS -DLINUXG95 -D__64BIT__" FC=$FC CC=$CC ' +buildopts += 'FFLAGS="$FFLAGS -fno-range-check -fallow-invalid-boz -fallow-argument-mismatch -I."' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3933cb8116e --- /dev/null +++ b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +name = 'g2lib' +version = '3.2.0' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder and search/indexing routines.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_makefile.patch', +] +checksums = [ + '9d3866de32e13e80798bfb08dbbea9223f32cec3fce3c57b6838e76f27d5a1d3', # g2lib-3.2.0.tar + 'e434394a6ec8bd68dbd57e3fdb44c47372b07380e362ed955bb038b78dd81812', # g2lib-3.2.0_makefile.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('JasPer', '2.0.28'), + ('libpng', '1.6.37'), +] + +buildopts = 'CFLAGS="$CFLAGS -DLINUXG95 -D__64BIT__" FC=$FC CC=$CC ' +buildopts += 'FFLAGS="$FFLAGS -fno-range-check -fallow-invalid-boz -fallow-argument-mismatch -I."' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..04674a29ff7 --- /dev/null +++ b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +name = 'g2lib' +version = '3.2.0' + +homepage = 'https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/' +description = """Library contains GRIB2 encoder/decoder and search/indexing routines.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [homepage] +sources = ['%(name)s-%(version)s.tar'] +patches = [ + '%(name)s-%(version)s_makefile.patch', +] +checksums = [ + '9d3866de32e13e80798bfb08dbbea9223f32cec3fce3c57b6838e76f27d5a1d3', # g2lib-3.2.0.tar + 'e434394a6ec8bd68dbd57e3fdb44c47372b07380e362ed955bb038b78dd81812', # g2lib-3.2.0_makefile.patch +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('JasPer', '4.0.0'), + ('libpng', '1.6.40'), +] + +buildopts = 'CFLAGS="$CFLAGS -DLINUXG95 -D__64BIT__" FC=$FC CC=$CC ' +buildopts += 'FFLAGS="$FFLAGS -fno-range-check -fallow-invalid-boz -fallow-argument-mismatch -I."' + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0_makefile.patch b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0_makefile.patch new file mode 100644 index 00000000000..1841fa47e0f --- /dev/null +++ b/easybuild/easyconfigs/g/g2lib/g2lib-3.2.0_makefile.patch @@ -0,0 +1,40 @@ +# Author: maxim-masterov (SURF) +# Based on: g2lib-3.1.0_makefile.patch by Samuel Moors (VUB) +# Fixes order of compilation and indentation in the makefile +diff -Nru g2lib-3.2.0.orig/makefile g2lib-3.2.0/makefile +--- g2lib-3.2.0.orig/makefile 2021-08-20 11:12:18.401270276 +0200 ++++ g2lib-3.2.0/makefile 2021-08-20 11:16:07.212439526 +0200 +@@ -171,6 +171,7 @@ + .SUFFIXES: .a .f .F .c + + $(LIB): $(LIB)(gridtemplates.o) \ ++ $(LIB)(intmath.o) \ + $(LIB)(pdstemplates.o) \ + $(LIB)(drstemplates.o) \ + $(LIB)(gribmod.o) \ +@@ -182,7 +183,6 @@ + $(LIB)(gb_info.o) \ + $(LIB)(gf_getfld.o) \ + $(LIB)(gf_free.o) \ +- $(LIB)(intmath.o) \ + $(LIB)(gf_unpack1.o) \ + $(LIB)(gf_unpack2.o) \ + $(LIB)(gf_unpack3.o) \ +@@ -217,7 +217,7 @@ + $(LIB)(pngunpack.o) \ + $(LIB)(enc_png.o) \ + $(LIB)(dec_png.o) \ +- $(LIB)(mova2i.o) \ ++ $(LIB)(mova2i.o) \ + $(LIB)(g2_gbytesc.o) \ + $(LIB)(skgb.o) \ + $(LIB)(ixgb2.o) \ +@@ -232,7 +232,7 @@ + $(LIB)(putgb2.o) \ + $(LIB)(g2grids.o) \ + $(LIB)(params.o) \ +- $(LIB)(params_ecmwf.o) \ ++ $(LIB)(params_ecmwf.o) \ + $(LIB)(getidx.o) \ + $(LIB)(gdt2gds.o) + diff --git a/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a7c26ea7739 --- /dev/null +++ b/easybuild/easyconfigs/g/gRPC/gRPC-1.44.0-GCCcore-11.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'gRPC' +version = '1.44.0' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'grpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8c05641b9f91cbc92f51cc4a5b3a226788d7a63f20af4ca7aaca50d92cc94a0d'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('Abseil', '20210324.2'), + ('c-ares', '1.18.1'), + ('protobuf', '3.17.3'), + ('zlib', '1.2.11'), + ('RE2', '2022-02-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/gRPC/gRPC-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gRPC/gRPC-1.57.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b3d6deae4ae --- /dev/null +++ b/easybuild/easyconfigs/g/gRPC/gRPC-1.57.0-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'gRPC' +version = '1.57.0' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'grpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8393767af531b2d0549a4c26cf8ba1f665b16c16fb6c9238a7755e45444881dd'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('Abseil', '20230125.3'), + ('c-ares', '1.19.1'), + ('protobuf', '24.0'), + ('zlib', '1.2.13'), + ('RE2', '2023-08-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/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/gap/gap-4.12.2-foss-2022a.eb b/easybuild/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb new file mode 100644 index 00000000000..581ded19e05 --- /dev/null +++ b/easybuild/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'ConfigureMake' + +name = 'gap' +version = '4.12.2' + +homepage = 'https://www.gap-system.org' +description = """GAP is a system for computational discrete algebra, +with particular emphasis on Computational Group Theory.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gap-system.org/pub/gap/gap-%(version_major_minor)s/tar.gz/'] +sources = [SOURCE_TAR_GZ] +checksums = ['672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8'] + +unpack_options = '--strip-components=1' + +builddependencies = [ + ('Perl', '5.34.1'), # needed to install NormalizInterface +] + +dependencies = [ + ('GMP', '6.2.1'), + ('libreadline', '8.1.2'), + ('zlib', '1.2.12'), + ('4ti2', '1.6.9'), # needed by 4ti2Interface, HeLP + ('cddlib', '0.94m'), # needed by CddInterface + ('cURL', '7.83.0'), # needed by curlInterface + ('lrslib', '7.2'), # needed by HeLP + ('ncurses', '6.3'), # needed by Browse + ('Normaliz', '3.10.1'), # needed by NormalizInterface, HeLP + ('Singular', '4.3.2p10'), # needed by singular + ('ZeroMQ', '4.3.4'), # needed by ZeroMQInterface +] + +# install target is incomplete and hardcodes the build path +buildininstalldir = True + +# Disable bundled script to download and build Normaliz +prebuildopts = "sed -i 's|./build-normaliz.sh|continue # build-normaliz.sh|' bin/BuildPackages.sh && " +# BuildPackages.sh tries to build any GAP packages that require compilation +# If one fails due to missing dependencies, it's skipped automatically +buildopts = ' && cd pkg && ../bin/BuildPackages.sh' + +runtest = "testinstall" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gap', 'gac']] + + ['include/gap/%s.h' % h for h in ['gap', 'system', 'version']] + + ['lib/libgap.%s' % SHLIB_EXT], + 'dirs': ['share/gap'] +} + +sanity_check_commands = ["gap --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gap/gap-4.13.0-foss-2023b.eb b/easybuild/easyconfigs/g/gap/gap-4.13.0-foss-2023b.eb new file mode 100644 index 00000000000..248ab5ded0a --- /dev/null +++ b/easybuild/easyconfigs/g/gap/gap-4.13.0-foss-2023b.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'gap' +version = '4.13.0' + +homepage = 'https://www.gap-system.org' +description = """GAP is a system for computational discrete algebra, +with particular emphasis on Computational Group Theory.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gap-system.org/pub/gap/gap-%(version_major_minor)s/tar.gz/'] +sources = [SOURCE_TAR_GZ] +checksums = ['cc76ecbe33d6719450a593e613fb87e9e4247faa876f632dd0f97c398f92265d'] + +unpack_options = '--strip-components=1' + +builddependencies = [ + ('Perl', '5.38.0'), # needed to install NormalizInterface +] + +dependencies = [ + ('GMP', '6.3.0'), + ('libreadline', '8.2'), + ('zlib', '1.2.13'), + ('4ti2', '1.6.10'), # needed by 4ti2Interface, HeLP + ('cddlib', '0.94m'), # needed by CddInterface + ('cURL', '8.3.0'), # needed by curlInterface + ('lrslib', '7.2'), # needed by HeLP + ('ncurses', '6.4'), # needed by Browse + ('Normaliz', '3.10.3'), # needed by NormalizInterface, HeLP + ('Singular', '4.4.0'), # needed by singular + ('ZeroMQ', '4.3.5'), # needed by ZeroMQInterface +] + +# install target is incomplete and hardcodes the build path +buildininstalldir = True + +# Disable bundled script to download and build Normaliz +prebuildopts = "sed -i 's|./build-normaliz.sh|continue # build-normaliz.sh|' bin/BuildPackages.sh && " +# BuildPackages.sh tries to build any GAP packages that require compilation +# If one fails due to missing dependencies, it's skipped automatically +buildopts = ' && cd pkg && ../bin/BuildPackages.sh' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gap', 'gac']] + + ['include/gap/%s.h' % h for h in ['gap', 'system', 'version']] + + ['lib/libgap.%s' % SHLIB_EXT], + 'dirs': ['share/gap'] +} + +sanity_check_commands = ["gap tst/testinstall.g"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-10.3.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..5387b9d1825 --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-10.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gawk' +version = '5.1.1' + +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': '10.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6168d8d1dc8f74bd17d9dc22fa9634c49070f232343b744901da15fb4f06bffd'] + +sanity_check_paths = { + 'files': ['bin/gawk'], + 'dirs': [], +} + +sanity_check_commands = ["gawk --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..26a2216bd7c --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gawk' +version = '5.1.1' + +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': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6168d8d1dc8f74bd17d9dc22fa9634c49070f232343b744901da15fb4f06bffd'] + +sanity_check_paths = { + 'files': ['bin/gawk'], + 'dirs': [], +} + +sanity_check_commands = ["gawk --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.3.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..a692900e134 --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.1.1-GCC-11.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'gawk' +version = '5.1.1' + +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': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6168d8d1dc8f74bd17d9dc22fa9634c49070f232343b744901da15fb4f06bffd'] + +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-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-12.3.0.eb b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..8c63821d169 --- /dev/null +++ b/easybuild/easyconfigs/g/gawk/gawk-5.3.0-GCC-12.3.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.3.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/gbasis/gbasis-20210904-intel-2022a.eb b/easybuild/easyconfigs/g/gbasis/gbasis-20210904-intel-2022a.eb new file mode 100644 index 00000000000..035d42cae64 --- /dev/null +++ b/easybuild/easyconfigs/g/gbasis/gbasis-20210904-intel-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'gbasis' +local_commit = '2eb9e49' +version = '20210904' + +homepage = 'https://github.com/theochem/gbasis' +description = """Python library for analytical evaluation and integration of Gaussian-type basis functions and + related quantities.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/gbasis/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['86b20647d756b6979d52d721309eb7f86cdd6e01b50a78d651958e16ecbabecb'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('iodata', '1.0.0a2'), +] + +download_dep_fail = True +use_pip = True + +# inject a proper version rather than using 0.0.0 +preinstallopts = r"""sed -i 's/version="0.0.0"/version="%(version)s"/g' setup.py && """ + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1ba5994d947 --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.0' +local_libatomic_version = '7.6.12' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + '2540f7356cb74f6c5b75326c6d38a066edd796361fd7d4ed26e494d9856fed8f', # gc-8.2.0.tar.gz + 'f0ab566e25fce08b560e1feab6a3db01db4a38e5bc687804334ef3920c549f3e', # libatomic_ops-7.6.12.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5061399f2ff --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-10.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.2' +local_libatomic_version = '7.8.0' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a + garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + {'gc-8.2.2.tar.gz': 'f30107bcb062e0920a790ffffa56d9512348546859364c23a14be264b38836a0'}, + {'libatomic_ops-7.8.0.tar.gz': '15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31'}, +] + +builddependencies = [ + ('binutils', '2.35'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0539f756059 --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.2' +local_libatomic_version = '7.6.14' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + 'f30107bcb062e0920a790ffffa56d9512348546859364c23a14be264b38836a0', # gc-8.2.2.tar.gz + '390f244d424714735b7050d056567615b3b8f29008a663c262fb548f1802d292', # libatomic_ops-7.6.14.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fbd0f278c0a --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.4-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.4' +local_libatomic_version = '7.8.0' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + '3d0d3cdbe077403d3106bb40f0cbb563413d6efdbb2a7e1cd6886595dec48fc2', # gc-8.2.4.tar.gz + '15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31', # libatomic_ops-7.8.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.40'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..934fbf3f7ac --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.6' +local_libatomic_version = '7.8.2' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + {'gc-8.2.6.tar.gz': 'b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc'}, + {'libatomic_ops-7.8.2.tar.gz': 'd305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3a120e6a4e9 --- /dev/null +++ b/easybuild/easyconfigs/g/gc/gc-8.2.6-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'gc' +version = '8.2.6' +local_libatomic_version = '7.8.2' + +homepage = 'https://hboehm.info/gc/' +description = """The Boehm-Demers-Weiser conservative garbage collector can be used as a +garbage collecting replacement for C malloc or C++ new. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [ + 'https://github.com/ivmai/bdwgc/releases/download/v%(version)s/', # preferred for gc-%(version)s.tar.gz + 'https://hboehm.info/gc/gc_source/', # alternate for gc-%(version)s.tar.gz + 'https://github.com/ivmai/libatomic_ops/releases/download/v%s/' % local_libatomic_version, +] +sources = [ + SOURCE_TAR_GZ, + 'libatomic_ops-%s.tar.gz' % local_libatomic_version, +] +checksums = [ + {'gc-8.2.6.tar.gz': 'b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc'}, + {'libatomic_ops-7.8.2.tar.gz': 'd305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] + +preconfigopts = 'ln -s %(builddir)s/libatomic_ops*/ libatomic_ops && ' + +configopts = "--enable-static" + +sanity_check_paths = { + 'files': ['include/gc.h', 'lib/libcord.a', 'lib/libcord.%s' % SHLIB_EXT, + 'lib/libgc.a', 'lib/libgc.%s' % SHLIB_EXT], + 'dirs': ['include/gc', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gcloud/gcloud-382.0.0.eb b/easybuild/easyconfigs/g/gcloud/gcloud-382.0.0.eb new file mode 100644 index 00000000000..888df763d0b --- /dev/null +++ b/easybuild/easyconfigs/g/gcloud/gcloud-382.0.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Tarball' + +name = "gcloud" +version = "382.0.0" + +homepage = "https://cloud.google.com/sdk" +description = "Libraries and tools for interacting with Google Cloud products and services." + +toolchain = SYSTEM + +source_urls = ["https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"] +sources = ["google-cloud-sdk-%(version)s-linux-x86_64.tar.gz"] +checksums = ['335e5a2b4099505372914acfccbb978cf9d4efd8047bda59f910c26daefd554e'] + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +sanity_check_paths = { + 'files': ["bin/gcloud"], + 'dirs': [] +} + +sanity_check_commands = ["gcloud version"] + +moduleclass = "tools" diff --git a/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb b/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb new file mode 100644 index 00000000000..a3c1bf161fe --- /dev/null +++ b/easybuild/easyconfigs/g/gcloud/gcloud-472.0.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Tarball' + +name = "gcloud" +version = "472.0.0" + +homepage = "https://cloud.google.com/sdk" +description = "Libraries and tools for interacting with Google Cloud products and services." + +toolchain = SYSTEM + +source_urls = ["https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"] +sources = ["google-cloud-sdk-%(version)s-linux-x86_64.tar.gz"] +checksums = ['da57049ca6de98815d92bd66b45798056d5082d94dd83f376ab706b9cf2c518b'] + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +sanity_check_paths = { + 'files': ["bin/gcloud"], + 'dirs': [] +} + +sanity_check_commands = ["gcloud version"] + +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/gdbm/gdbm-1.18.1-foss-2020a.eb b/easybuild/easyconfigs/g/gdbm/gdbm-1.18.1-foss-2020a.eb index 98da9e05090..51a867d5e32 100644 --- a/easybuild/easyconfigs/g/gdbm/gdbm-1.18.1-foss-2020a.eb +++ b/easybuild/easyconfigs/g/gdbm/gdbm-1.18.1-foss-2020a.eb @@ -26,4 +26,4 @@ sanity_check_paths = { sanity_check_commands = ['gdbmtool --help'] -moduleclass = 'base' +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gdbm/gdbm-1.21-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/gdbm/gdbm-1.21-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9072dc51ea2 --- /dev/null +++ b/easybuild/easyconfigs/g/gdbm/gdbm-1.21-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'gdbm' +version = '1.21' + +homepage = "https://www.gnu.org.ua/software/gdbm/gdbm.html" +description = """GNU dbm (or GDBM, for short) is a library of database functions that use extensible hashing + and work similar to the standard UNIX dbm. + These routines are provided to a programmer needing to create and manipulate a hashed database.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/gdbm'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['b0b7dbdefd798de7ddccdd8edf6693a30494f7789777838042991ef107339cc2'] + +builddependencies = [ + ('binutils', '2.35') +] + +dependencies = [ + ('libreadline', '8.0') +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gdbm_dump', 'gdbm_load', 'gdbmtool']] + + ['include/gdbm.h', 'lib/libgdbm.%s' % SHLIB_EXT], + 'dirs': ['share/man'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gemelli/gemelli-0.0.9-foss-2022a.eb b/easybuild/easyconfigs/g/gemelli/gemelli-0.0.9-foss-2022a.eb new file mode 100644 index 00000000000..3282ecb61c4 --- /dev/null +++ b/easybuild/easyconfigs/g/gemelli/gemelli-0.0.9-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'gemelli' +version = '0.0.9' + +homepage = 'https://github.com/biocore/gemelli' +description = """ +Gemelli is a tool box for running both Robust Aitchison PCA (RPCA) and +Compositional Tensor Factorization (CTF) on sparse compositional omics +datasets. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('scikit-bio', '0.5.7'), + ('h5py', '3.7.0'), +] + +exts_list = [ + ('tax2tree', '1.1', { + 'modulename': 't2t', + 'checksums': ['f1d28fb99c41bb10cc3c06bfd232891b0ad713f674a5c2ac2991dd99ed512da1'], + }), + ('iow', '1.0.6', { + 'modulename': 'bp', + 'preinstallopts': """sed -i "/'nose /d" setup.py && """, + 'checksums': ['ac4f579a0881f1c827f75033a304341ae91d3a527cc6aed3fea53749f1b9951c'], + }), + ('biom-format', '2.1.15', { + 'modulename': 'biom', + 'checksums': ['3bda2096e663dc1cb6f90f51b394da0838b9be5164a44370c134ce5b3b2a4dd3'], + }), + (name, version, { + 'preinstallopts': """sed -i "/'nose /d" setup.py && """, + 'checksums': ['e4fcf3087c12d8bd21397c1f3a88723282c294184b2ba7b899d5389305ad4729'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['gemelli --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..961d8a5428c --- /dev/null +++ b/easybuild/easyconfigs/g/gemmi/gemmi-0.6.5-GCCcore-12.3.0.eb @@ -0,0 +1,57 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'CMakePythonPackage' + +name = 'gemmi' +version = '0.6.5' + +homepage = 'https://gemmi.readthedocs.io/' +description = """Gemmi is a library, accompanied by a set of programs, developed primarily for +use in macromolecular crystallography (MX). For working with: + +macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files), refinement +restraints (CIF files), reflection data (MTZ and mmCIF formats), data on a 3D +grid (electron density maps, masks, MRC/CCP4 format) crystallographic symmetry. +Parts of this library can be useful in structural bioinformatics (for symmetry- +aware analysis of protein models), and in other molecular-structure sciences +that use CIF files (we have the fastest open-source CIF parser).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'opt': True} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9159506a16e0d22bbeeefc4d34137099318307db1b2bebf06fb2ae501571b19c'] + +github_account = 'project-gemmi' + +configopts = [ + '-DSTRIP_BINARY=ON ' + '-DUSE_FORTRAN=1 -DBUILD_SHARED_LIBS=%s' % x for x in ['OFF', 'ON']] + +builddependencies = [ + ('pybind11', '2.11.1'), + ('pybind11-stubgen', '2.5.1'), + ('CMake', '3.26.3'), + ('scikit-build-core', '0.5.0'), + ('meson-python', '0.13.2'), + ('binutils', '2.40') +] +dependencies = [('Python', '3.11.3')] + +local_pipcmd = "mkdir %(builddir)s/pybuild &&" +local_pipcmd += "python -m pip install -ve %(builddir)s/%(name)s-%(version)s" +local_pipcmd += " --no-deps --ignore-installed --prefix=%(installdir)s --no-build-isolation" +local_pipcmd += ' --config-settings="cmake.args=-DSTANDALONE_PYTHON_MODULE=OFF"' # use lib/libgemmi_cpp.so +local_pipcmd += ' --config-settings="cmake.args=-DBUILD_GEMMI_PROGRAM=OFF"' +local_pipcmd += ' --config-settings="cmake.args=-DINSTALL_DEV_FILES=OFF"' +local_pipcmd += ' --config-settings=editable.rebuild=true -Cbuild-dir=%(builddir)s/pybuild ' +postinstallcmds = [local_pipcmd] + +sanity_check_paths = { + 'files': ['bin/gemmi', 'lib/libgemmi_cpp.%s' % SHLIB_EXT, 'lib/libgemmi_cpp.a'], + 'dirs': ['bin', 'lib', 'include/gemmi', 'lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s.dist-info'] +} + +sanity_check_commands = ['gemmi -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..10ee38c02ba --- /dev/null +++ b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'gengetopt' +version = '2.23' + +homepage = 'https://www.gnu.org/software/gengetopt/gengetopt.html' +description = "Gengetopt is a tool to write command line option parsing code for C programs." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('makeinfo', '6.7', '-minimal'), +] + +sanity_check_paths = { + 'files': ['bin/gengetopt'], + 'dirs': ['share'], +} + +sanity_check_commands = ["gengetopt --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..09ec20b23bb --- /dev/null +++ b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'gengetopt' +version = '2.23' + +homepage = 'https://www.gnu.org/software/gengetopt/gengetopt.html' +description = "Gengetopt is a tool to write command line option parsing code for C programs." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac'] + +builddependencies = [ + ('binutils', '2.38'), + ('makeinfo', '6.8'), +] + +sanity_check_paths = { + 'files': ['bin/gengetopt'], + 'dirs': ['share'], +} + +sanity_check_commands = ["gengetopt --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c6654530643 --- /dev/null +++ b/easybuild/easyconfigs/g/gengetopt/gengetopt-2.23-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'gengetopt' +version = '2.23' + +homepage = 'https://www.gnu.org/software/gengetopt/gengetopt.html' +description = "Gengetopt is a tool to write command line option parsing code for C programs." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab807584ac'] + +builddependencies = [ + ('binutils', '2.40'), + ('makeinfo', '7.1'), +] + +sanity_check_paths = { + 'files': ['bin/gengetopt'], + 'dirs': ['share'], +} + +sanity_check_commands = ["gengetopt --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb b/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb new file mode 100644 index 00000000000..916e6419964 --- /dev/null +++ b/easybuild/easyconfigs/g/genomepy/genomepy-0.15.0-foss-2022a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'genomepy' +version = '0.15.0' + +homepage = 'https://github.com/vanheeringen-lab/genomepy' +description = "genomepy is designed to provide a simple and straightforward way to download and use genomic data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('Biopython', '1.79'), + ('mygene', '3.2.2'), + ('pyfaidx', '0.7.1'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True + +# avoid hatchling requirement to install genomepy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ +local_preinstallopts += "rm -r paper && " + +local_postinstallcmds = [ + # copy default configuration file (only needed because we're not using hatchling for the installation) + "cp -a genomepy/config/default.yaml %(installdir)s/lib/python%(pyshortver)s/site-packages/genomepy/config/", +] + +exts_list = [ + ('diskcache', '5.4.0', { + 'checksums': ['8879eb8c9b4a2509a5e633d2008634fb2b0b35c2b36192d89655dbde02419644'], + }), + ('loguru', '0.6.0', { + 'checksums': ['066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c'], + }), + ('mysql-connector-python', '8.0.32', { + 'sources': ['mysql_connector_python-%(version)s-py2.py3-none-any.whl'], + 'checksums': ['e0299236297b63bf6cbb61d81a9d400bc01cad4743d1abe5296ef349de15ee53'], + 'modulename': 'mysqlx', + }), + ('norns', '0.1.6', { + 'checksums': ['1f3c6ccbe79b2cb3076f66a352cd76462593adbabe9ebb262f879a9d0a6634e4'], + # remove 'nose' requirement (not compatible with Python 3.10, and not really needed) + 'preinstallopts': "sed -i '/nose/d' setup.py && ", + }), + ('pyfaidx', '0.7.2.1', { + 'checksums': ['30f0d20a9e3d53353fb20eb69b7e22e6f01a53ed4f21b3e17dd408f0be5051a0'], + }), + (name, version, { + 'checksums': ['9656f94d2e47e8b1cd11abc3f8e519c39011fcd5d211d8ab940d7063b5ddbe4a'], + 'preinstallopts': local_preinstallopts, + 'postinstallcmds': local_postinstallcmds, + }), +] + +sanity_check_paths = { + 'files': ['bin/genomepy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["genomepy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/genomepy/genomepy-0.16.1-foss-2023a.eb b/easybuild/easyconfigs/g/genomepy/genomepy-0.16.1-foss-2023a.eb new file mode 100644 index 00000000000..345af8fe325 --- /dev/null +++ b/easybuild/easyconfigs/g/genomepy/genomepy-0.16.1-foss-2023a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'genomepy' +version = '0.16.1' + +homepage = 'https://github.com/vanheeringen-lab/genomepy' +description = "genomepy is designed to provide a simple and straightforward way to download and use genomic data" + +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'), + ('Biopython', '1.83'), + ('mygene', '3.2.2'), + ('pyfaidx', '0.8.1.1'), + ('PyYAML', '6.0'), + ('protobuf-python', '4.24.0'), +] + +use_pip = True + +exts_list = [ + ('diskcache', '5.6.3', { + 'checksums': ['2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc'], + }), + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('mysql-connector-python', '8.4.0', { + 'modulename': 'mysql.connector', + 'sources': ['mysql_connector_python-%(version)s-py2.py3-none-any.whl'], + 'checksums': ['35939c4ff28f395a5550bae67bafa4d1658ea72ea3206f457fff64a0fbec17e4'], + }), + ('norns', '0.1.6', { + 'preinstallopts': "sed -i '/nose/d' setup.py && ", + 'checksums': ['1f3c6ccbe79b2cb3076f66a352cd76462593adbabe9ebb262f879a9d0a6634e4'], + }), + (name, version, { + 'checksums': ['22e81827acfdb4d9e6adda1f8e4cfafbb97f1c1788348e86b930c9daa51088c5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/genomepy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["genomepy --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/genozip/genozip-13.0.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/genozip/genozip-13.0.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0c6be10dfe5 --- /dev/null +++ b/easybuild/easyconfigs/g/genozip/genozip-13.0.5-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'genozip' +version = '13.0.5' + +homepage = 'https://genozip.com' +description = "Genozip is a compressor for genomic files - it compresses FASTQ, SAM/BAM/CRAM, VCF, FASTA and others." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/divonlan/genozip/archive/refs/tags/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['be2d5cbe1f5f84c2dc1a1d580361fc7f22a14ece4dac545ca2750ca07d49fac3'] + +builddependencies = [ + ('binutils', '2.37') +] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/genocat', 'bin/genozip', 'bin/genounzip', 'bin/genols'], + 'dirs': ['bin'], +} + +sanity_check_commands = ['genozip --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb b/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb new file mode 100644 index 00000000000..2270b2977d2 --- /dev/null +++ b/easybuild/easyconfigs/g/gensim/gensim-4.2.0-foss-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'gensim' +version = '4.2.0' + +homepage = 'https://radimrehurek.com/gensim' +description = """Gensim is a Python library for topic modelling, document indexing and similarity retrieval with + large corpora.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy, pandas +] + +use_pip = True + +exts_list = [ + ('smart_open', '6.0.0', { + 'checksums': ['d60106b96f0bcaedf5f1cd46ff5524a1c3d02d5653425618bb0fa66e158d22b0'], + }), + (name, version, { + 'checksums': ['995ebd2970a31d47c100aaac10212f47e2bf12e2b06536d38883c951ff34eef1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gensim/gensim-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/g/gensim/gensim-4.3.2-foss-2023a.eb new file mode 100644 index 00000000000..cb315af1a31 --- /dev/null +++ b/easybuild/easyconfigs/g/gensim/gensim-4.3.2-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'gensim' +version = '4.3.2' + +homepage = 'https://radimrehurek.com/gensim' +description = """Gensim is a Python library for topic modelling, document indexing and similarity retrieval with + large corpora.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('wrapt', '1.15.0'), +] + +use_pip = True + +exts_list = [ + ('smart_open', '7.0.4', { + 'checksums': ['62b65852bdd1d1d516839fcb1f6bc50cd0f16e05b4ec44b52f43d38bcb838524'], + }), + (name, version, { + 'checksums': ['99ac6af6ffd40682e70155ed9f92ecbf4384d59fb50af120d343ea5ee1b308ab'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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.10.2-foss-2021a.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.10.2-foss-2021a.eb new file mode 100644 index 00000000000..65cc54a2dc7 --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.10.2-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.10.2' + +homepage = 'https://github.com/geopandas/geopandas' +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Shapely', '1.8a1'), + ('Fiona', '1.8.20'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), + ('scikit-learn', '0.24.2'), + ('pyproj', '3.1.0'), +] + +use_pip = True + +exts_list = [ + ('descartes', '1.1.0', { + 'checksums': ['135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('Deprecated', '1.2.10', { + 'checksums': ['525ba66fb5f90b07169fdd48b6373c18f1ee12728ca277ca44567a367d9d7f74'], + }), + ('mapclassify', '2.3.0', { + 'checksums': ['bfe1ec96afe7f866560d25f9f00e5c4dae97d5b69dfe758dbe02c4993261365b'], + }), + (name, version, { + 'checksums': ['efbf47e70732e25c3727222019c92b39b2e0a66ebe4fe379fbe1aa43a2a871db'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.11.0-foss-2021b.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.11.0-foss-2021b.eb new file mode 100644 index 00000000000..976a82d9f3d --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.11.0-foss-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.11.0' + +homepage = 'https://github.com/geopandas/geopandas' +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Shapely', '1.8.2'), + ('Fiona', '1.8.21'), + ('matplotlib', '3.4.3'), + ('networkx', '2.6.3'), # needed by mapclassify + ('pyproj', '3.3.1'), + ('scikit-learn', '1.0.1'), # needed by mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.4.3', { + 'checksums': ['51b81e1f1ee7f64a4ca1e9f61f01216c364a3f086a48b1be38eb057199cb19bf'], + }), + (name, version, { + 'checksums': ['562fe7dc19a6e0f61532d654c4752f7bf46e0714990c5844fe3de3f9c99cb873'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb new file mode 100644 index 00000000000..ee3dee5c65a --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.12.2' + +homepage = 'https://github.com/geopandas/geopandas' +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), + ('Fiona', '1.8.21'), + ('matplotlib', '3.5.2'), + ('pyproj', '3.4.0'), + ('networkx', '2.8.4'), # needed by mapclassify + ('scikit-learn', '1.1.2'), # needed by mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.4.3', { + 'checksums': ['51b81e1f1ee7f64a4ca1e9f61f01216c364a3f086a48b1be38eb057199cb19bf'], + }), + (name, version, { + 'checksums': ['0acdacddefa176525e4da6d9aeeece225da26055c4becdc6e97cf40fa97c27f4'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb new file mode 100644 index 00000000000..a887dfe6e14 --- /dev/null +++ b/easybuild/easyconfigs/g/geopandas/geopandas-0.12.2-foss-2022b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'geopandas' +version = '0.12.2' + +homepage = 'https://github.com/geopandas/geopandas' +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Shapely', '2.0.1'), + ('Fiona', '1.9.2'), + ('matplotlib', '3.7.0'), + ('pyproj', '3.5.0'), + ('networkx', '3.0'), # needed by mapclassify + ('scikit-learn', '1.2.1'), # needed by mapclassify +] + +use_pip = True + +exts_list = [ + ('mapclassify', '2.4.3', { + 'checksums': ['51b81e1f1ee7f64a4ca1e9f61f01216c364a3f086a48b1be38eb057199cb19bf'], + }), + (name, version, { + 'checksums': ['0acdacddefa176525e4da6d9aeeece225da26055c4becdc6e97cf40fa97c27f4'], + }), +] + +sanity_pip_check = True + +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/georges/georges-2019.2-foss-2021a.eb b/easybuild/easyconfigs/g/georges/georges-2019.2-foss-2021a.eb new file mode 100644 index 00000000000..983cbb100ce --- /dev/null +++ b/easybuild/easyconfigs/g/georges/georges-2019.2-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'georges' +version = '2019.2' + +homepage = 'https://github.com/ULB-Metronu/georges' +description = """Georges the lemur opinionated particle accelerator modeling Python package. +Also a thin wrapper over MAD-X/PTC, BDSim and G4Beamline.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('LMfit', '1.0.3'), + ('matplotlib', '3.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mistune', '0.8.4', { + 'checksums': ['59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e'], + }), + ('m2r', '0.2.1', { + 'checksums': ['bf90bad66cda1164b17e5ba4a037806d2443f2a4d5ddc9f6a5554a0322aaed99'], + }), + ('pyDOE', '0.3.8', { + 'modulename': '%(name)s', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['cbd6f14ae26d3c9f736013205f53ea1191add4567033c3ee77b7dd356566c4b6'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/ULB-Metronu/georges/archive/'], + 'checksums': ['5801c0655101e46401f4c052edc72e1dbf278fca76acf66a3ee3b10820527276'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/g/geosphere/geosphere-1.5-18-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/g/geosphere/geosphere-1.5-18-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..a9a6bf52ae9 --- /dev/null +++ b/easybuild/easyconfigs/g/geosphere/geosphere-1.5-18-foss-2022a-R-4.2.1.eb @@ -0,0 +1,26 @@ +easyblock = 'RPackage' + +name = 'geosphere' +version = '1.5-18' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/geosphere/index.html' +description = """Spherical trigonometry for geographic applications. + That is, compute distances and related measures for angular (longitude/latitude) locations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cran.r-project.org/src/contrib/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['99ff6ff050cc8c2d565b6bb1488607fc7950a6d448930f8d9642eccefbc6dac0'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.8-GCCcore-5.4.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.8-GCCcore-5.4.0.eb index 4a9705e7ef7..7bbdba6432e 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.8-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.8-GCCcore-5.4.0.eb @@ -24,7 +24,7 @@ dependencies = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.19.8.1-GCCcore-6.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.19.8.1-GCCcore-6.3.0.eb index 691a5661ac0..7acb30d5912 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.19.8.1-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.19.8.1-GCCcore-6.3.0.eb @@ -24,7 +24,7 @@ dependencies = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-8.3.0.eb index a783c28471b..cf0317df5d5 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-8.3.0.eb @@ -29,4 +29,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-9.3.0.eb index 27b89d2bef1..1ecd5f36852 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.20.1-GCCcore-9.3.0.eb @@ -29,4 +29,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.20.1.eb b/easybuild/easyconfigs/g/gettext/gettext-0.20.1.eb index 19857c19d59..0967e62738e 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.20.1.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.20.1.eb @@ -31,4 +31,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.2.0.eb index e0d0f8a84f0..1303c6d1923 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.2.0.eb @@ -29,4 +29,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.3.0.eb index 10bb6ad3a5a..c3753a010e5 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-10.3.0.eb @@ -29,4 +29,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8944747f686 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('libxml2', '2.9.10'), + ('ncurses', '6.2'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..74724934445 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libxml2', '2.9.13'), + ('ncurses', '6.3'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a7ad515633f --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21.1' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('libxml2', '2.10.3'), + ('ncurses', '6.3'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d3c0439ba9c --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.1-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21.1' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libxml2', '2.11.4'), + ('ncurses', '6.4'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb new file mode 100644 index 00000000000..9525991ab15 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.1.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.21.1' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45'] + +dependencies = [ + ('ncurses', '6.3'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.21.eb b/easybuild/easyconfigs/g/gettext/gettext-0.21.eb index 3faa2c38fab..db1772fc35b 100644 --- a/easybuild/easyconfigs/g/gettext/gettext-0.21.eb +++ b/easybuild/easyconfigs/g/gettext/gettext-0.21.eb @@ -31,4 +31,9 @@ sanity_check_paths = { 'dirs': ['include'], } +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3bf5207d463 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libxml2', '2.11.5'), + ('ncurses', '6.4'), + ('libiconv', '1.17'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b5e182315e9 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libxml2', '2.12.7'), + ('ncurses', '6.5'), + ('libiconv', '1.17'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb new file mode 100644 index 00000000000..9c596a9eb89 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.5.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22.5' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec1705b1e969b83a9f073144ec806151db88127f5e40fe5a94cb6c8fa48996a0'] + +dependencies = [ + ('ncurses', '6.5'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.eb new file mode 100644 index 00000000000..4212074dac6 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab'] + +dependencies = [ + ('ncurses', '6.4'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022a.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022a.eb new file mode 100644 index 00000000000..b85e69731d7 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2022a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2022a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '11.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.2.0', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb new file mode 100644 index 00000000000..1ed2f9c0bad --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2022b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2023.09.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2023.09.eb new file mode 100644 index 00000000000..d464a726be8 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2023.09.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2023.09' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2023a.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2023a.eb new file mode 100644 index 00000000000..e36028da349 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2023a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2023a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '12.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2023b.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2023b.eb new file mode 100644 index 00000000000..a0d0eef1463 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2023b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2023b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb new file mode 100644 index 00000000000..f0c1233309a --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2024.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2024.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2024a.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2024a.eb new file mode 100644 index 00000000000..51b74722cb5 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2024a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2024a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.4.4', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2de4e4299bb --- /dev/null +++ b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'MakeCp' + +name = 'gffread' +version = '0.12.7' + +homepage = 'https://ccb.jhu.edu/software/stringtie/gff.shtml#gffread' +description = """GFF/GTF parsing utility providing format conversions, +region filtering, FASTA sequence extraction and more.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bfde1c857495e578f5b3af3c007a9aa40593e69450eafcc6a42c3e8ef08ed1f5'] + +builddependencies = [('binutils', '2.36.1')] + +buildopts = " release" + +files_to_copy = [ + (['%(name)s'], 'bin'), + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0123e140499 --- /dev/null +++ b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'MakeCp' + +name = 'gffread' +version = '0.12.7' + +homepage = 'https://ccb.jhu.edu/software/stringtie/gff.shtml#gffread' +description = """GFF/GTF parsing utility providing format conversions, +region filtering, FASTA sequence extraction and more.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bfde1c857495e578f5b3af3c007a9aa40593e69450eafcc6a42c3e8ef08ed1f5'] + +builddependencies = [('binutils', '2.37')] + +buildopts = " release" + +files_to_copy = [ + (['%(name)s'], 'bin'), + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9c763a7f5db --- /dev/null +++ b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'MakeCp' + +name = 'gffread' +version = '0.12.7' + +homepage = 'https://ccb.jhu.edu/software/stringtie/gff.shtml#gffread' +description = """GFF/GTF parsing utility providing format conversions, +region filtering, FASTA sequence extraction and more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bfde1c857495e578f5b3af3c007a9aa40593e69450eafcc6a42c3e8ef08ed1f5'] + +builddependencies = [('binutils', '2.39')] + +buildopts = " release" + +files_to_copy = [ + (['%(name)s'], 'bin'), + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..eba4233b57f --- /dev/null +++ b/easybuild/easyconfigs/g/gffread/gffread-0.12.7-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'MakeCp' + +name = 'gffread' +version = '0.12.7' + +homepage = 'https://ccb.jhu.edu/software/stringtie/gff.shtml#gffread' +description = """GFF/GTF parsing utility providing format conversions, +region filtering, FASTA sequence extraction and more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bfde1c857495e578f5b3af3c007a9aa40593e69450eafcc6a42c3e8ef08ed1f5'] + +builddependencies = [('binutils', '2.40')] + +buildopts = " release" + +files_to_copy = [ + (['%(name)s'], 'bin'), + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gffutils/gffutils-0.12-foss-2022b.eb b/easybuild/easyconfigs/g/gffutils/gffutils-0.12-foss-2022b.eb new file mode 100644 index 00000000000..dce3bfc54fd --- /dev/null +++ b/easybuild/easyconfigs/g/gffutils/gffutils-0.12-foss-2022b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'gffutils' +version = '0.12' + +homepage = 'https://github.com/daler/gffutils' +description = """Gffutils is a Python package for working with and manipulating + the GFF and GTF format files typically used for genomic annotations.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('pyfaidx', '0.7.2.1'), + ('Biopython', '1.81'), + ('pybedtools', '0.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('argh', '0.28.1', { + 'checksums': ['b2093086f0e809a3ecc24b64a2145309ee8f56d034936cd59e57c558a357329d'], + }), + ('argcomplete', '3.1.1', { + 'checksums': ['6c4c563f14f01440aaffa3eae13441c5db2357b5eec639abe7c0b15334627dff'], + }), + ('simplejson', '3.19.1', { + 'checksums': ['6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c'], + }), + (name, version, { + 'checksums': ['b31e261db5bd8737cb712c361c129eb2c373ef62f03b62770320589f10da1983'], + }), +] + +sanity_check_commands = [ + "python -c 'from gffutils import helpers'" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gffutils/gffutils-0.13-foss-2023a.eb b/easybuild/easyconfigs/g/gffutils/gffutils-0.13-foss-2023a.eb new file mode 100644 index 00000000000..2b52f3965bc --- /dev/null +++ b/easybuild/easyconfigs/g/gffutils/gffutils-0.13-foss-2023a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'gffutils' +version = '0.13' + +homepage = 'https://github.com/daler/gffutils' +description = """Gffutils is a Python package for working with and manipulating + the GFF and GTF format files typically used for genomic annotations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('pyfaidx', '0.8.1.1'), + ('Biopython', '1.83'), + ('pybedtools', '0.9.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('argh', '0.31.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2edac856ff50126f6e47d884751328c9f466bacbbb6cbfdac322053d94705494'], + }), + ('argcomplete', '3.5.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b'], + }), + ('simplejson', '3.19.3', { + 'checksums': ['8e086896c36210ab6050f2f9f095a5f1e03c83fa0e7f296d6cba425411364680'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['58e7bb579796fff70e728380ef2d8ffd4a3bc895e53e6529855a0cf87ba6a77a'], + }), +] + +sanity_check_commands = [ + "python -c 'from gffutils import helpers'" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.1.2-foss-2016a.eb b/easybuild/easyconfigs/g/gflags/gflags-2.1.2-foss-2016a.eb index 5f269fd40d5..881d2c07ffd 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.1.2-foss-2016a.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.1.2-foss-2016a.eb @@ -15,12 +15,13 @@ toolchainopts = {'pic': True} sources = ['v%(version)s.tar.gz'] source_urls = ['https://github.com/gflags/gflags/archive/'] +checksums = ['d8331bd0f7367c8afd5fcb5f5e85e96868a00fd24b7276fa5fcee1e5575c2662'] builddependencies = [ ('CMake', '3.4.3'), ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-GCCcore-6.4.0.eb index 957c6fd7d75..f10c4ca4939 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-GCCcore-6.4.0.eb @@ -23,7 +23,7 @@ builddependencies = [ ('CMake', '3.10.2'), ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017a.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017a.eb index 63223f41d74..8220e3b61da 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017a.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017a.eb @@ -29,7 +29,7 @@ builddependencies = [ ('CMake', '3.9.1') ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017b.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017b.eb index 0dd1faf061f..b00999db0ac 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017b.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.1-intel-2017b.eb @@ -29,7 +29,7 @@ builddependencies = [ ('CMake', '3.9.1') ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c4ec8d0dbac --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-10.2.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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +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/gflags/gflags-2.2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..42681054385 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-10.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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +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/gflags/gflags-2.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f333c1b70f8 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-11.2.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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +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/gflags/gflags-2.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1b40f295dc0 --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-11.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +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/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/gflags/gflags-2.2.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..de0ad50b22c --- /dev/null +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-13.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': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/gflags/gflags/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.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/gflags/gflags-2.2.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.2.0.eb index 0a0d09b9bde..0d147f50672 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.2.0.eb @@ -22,7 +22,7 @@ builddependencies = [ ('CMake', '3.13.3'), ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.3.0.eb index 9d038e815c1..fff3411438a 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-8.3.0.eb @@ -22,7 +22,7 @@ builddependencies = [ ('CMake', '3.15.3'), ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-9.3.0.eb index 9433d212418..d3d4062b124 100644 --- a/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/g/gflags/gflags-2.2.2-GCCcore-9.3.0.eb @@ -22,7 +22,7 @@ builddependencies = [ ('CMake', '3.16.4'), ] -configopts = '-DBUILD_SHARED_LIBS=on -DBUILD_STATIC_LIBS=on' +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON' sanity_check_paths = { 'files': ['bin/gflags_completions.sh'] + diff --git a/easybuild/easyconfigs/g/gh/gh-2.20.2.eb b/easybuild/easyconfigs/g/gh/gh-2.20.2.eb new file mode 100644 index 00000000000..b78e0a508e2 --- /dev/null +++ b/easybuild/easyconfigs/g/gh/gh-2.20.2.eb @@ -0,0 +1,27 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +# +easyblock = 'GoPackage' + +name = 'gh' +version = '2.20.2' + +homepage = 'https://github.com/cli/cli' +description = """gh is GitHub on the command line.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cli/cli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['221380a32559984b64cdda81fabb60e5d4ed00db49ffe8390ddc149bef25c5a7'] + +builddependencies = [ + ('Go', '1.18.3'), +] + +installopts = './cmd/%(namelower)s' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gh/gh-2.52.0.eb b/easybuild/easyconfigs/g/gh/gh-2.52.0.eb new file mode 100644 index 00000000000..53a5bb57d66 --- /dev/null +++ b/easybuild/easyconfigs/g/gh/gh-2.52.0.eb @@ -0,0 +1,28 @@ +easyblock = 'GoPackage' + +name = 'gh' +version = '2.52.0' + +homepage = 'https://github.com/cli/' +description = "GitHub’s official command line tool" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cli/cli/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['41de39d0f1bcacb454d9b8a46e5b97ff8b8e803cd26d284e553e45bf025325d9'] + +builddependencies = [ + ('Go', '1.22.1') +] + +installopts = './cmd/%(name)s' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [] +} + +sanity_check_commands = ['%(name)s --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/giac/giac-1.9.0-69-gfbf-2022a.eb b/easybuild/easyconfigs/g/giac/giac-1.9.0-69-gfbf-2022a.eb new file mode 100644 index 00000000000..91ec9e19713 --- /dev/null +++ b/easybuild/easyconfigs/g/giac/giac-1.9.0-69-gfbf-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'giac' +version = '1.9.0-69' + +homepage = 'https://www-fourier.ujf-grenoble.fr/~parisse/giac.html' +description = """Giac is a C++ library, it is the CAS computing kernel. + It may be used inside other C++ programs, and also Python, Java and Javascript programs.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'cstd': 'gnu++14'} + +source_urls = ['https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/'] +sources = ['giac_%(version)s.tar.gz'] +checksums = ['3cc1de5d19896d8da9a71da632264937901d5d4047f159bf9450b5ea5fe6d9c8'] + +dependencies = [ + ('FLTK', '1.3.8'), + ('GLPK', '5.0'), + ('GMP-ECM', '7.0.5'), + ('GSL', '2.7'), + ('MPFI', '1.5.4'), + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.4'), + ('CoCoALib', '0.99818'), + ('cURL', '7.83.0'), + ('cliquer', '1.21'), + ('libpng', '1.6.37'), + ('libreadline', '8.1.2'), + ('nauty', '2.8.6'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['cas_help', 'hevea2mml', 'icas', 'pgiac', 'xcas']] + + ['lib/libgiac.%s' % e for e in ['a', SHLIB_EXT]] + + ['include/giac/giac.h'], + 'dirs': ['share'], +} + +sanity_check_commands = ["giac <(echo '?findhelp') | grep \"Returns the help about the command\""] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb new file mode 100644 index 00000000000..7680e38cbdb --- /dev/null +++ b/easybuild/easyconfigs/g/giac/giac-1.9.0-99-gfbf-2023b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'giac' +version = '1.9.0-99' + +homepage = 'https://www-fourier.ujf-grenoble.fr/~parisse/giac.html' +description = """Giac is a C++ library, it is the CAS computing kernel. + It may be used inside other C++ programs, and also Python, Java and Javascript programs.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'cstd': 'gnu++14'} + +source_urls = ['https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/'] +sources = ['giac_%(version)s.tar.gz'] +checksums = ['166775fbf2becd583c6ffa23ca6ca8a0b44dd7790dca8d966da767d3f6647ce4'] + +dependencies = [ + ('FLTK', '1.3.9'), + ('GLPK', '5.0'), + ('GMP-ECM', '7.0.5'), + ('GSL', '2.7'), + ('MPFI', '1.5.4'), + ('NTL', '11.5.1'), + ('PARI-GP', '2.15.5'), + ('CoCoALib', '0.99850'), + ('cURL', '8.3.0'), + ('cliquer', '1.21'), + ('libpng', '1.6.40'), + ('libreadline', '8.2'), + ('nauty', '2.8.8'), + ('hevea', '2.36'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['cas_help', 'hevea2mml', 'icas', 'pgiac', 'xcas']] + + ['lib/libgiac.%s' % e for e in ['a', SHLIB_EXT]] + + ['include/giac/giac.h'], + 'dirs': ['share'], +} + +sanity_check_commands = ["giac <(echo '?findhelp') | grep \"Returns the help about the command\""] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..340aaeaf312 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0d33033c2a6 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e3089e87fd4 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a37009e56b8 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..aa13dd4df30 --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..66ef70d59ce --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.1' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'] + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [('binutils', '2.42')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/giflib/giflib-5.2.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/giflib/giflib-5.2.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d8db77830fe --- /dev/null +++ b/easybuild/easyconfigs/g/giflib/giflib-5.2.2-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'giflib' +version = '5.2.2' + +homepage = 'http://giflib.sourceforge.net/' +description = """giflib is a library for reading and writing gif images. +It is API and ABI compatible with libungif which was in wide use while +the LZW compression algorithm was patented.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['be7ffbd057cadebe2aa144542fd90c6838c6a083b5e8a9048b8ee3b66b29d5fb'] + +builddependencies = [ + ('binutils', '2.42'), + ('ImageMagick', '7.1.1-38'), +] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/giftool'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gifsicle/gifsicle-1.92-GCCcore-8.2.0.eb b/easybuild/easyconfigs/g/gifsicle/gifsicle-1.92-GCCcore-8.2.0.eb index ec28d95cf35..a56f14839cf 100644 --- a/easybuild/easyconfigs/g/gifsicle/gifsicle-1.92-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/g/gifsicle/gifsicle-1.92-GCCcore-8.2.0.eb @@ -18,7 +18,7 @@ checksums = ['f8a944f47faa9323bcc72c6e2239e0608bf30693894aee61512aba107a4c6b55'] toolchain = {'name': 'GCCcore', 'version': '8.2.0'} -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] configure_cmd = "./bootstrap.sh && ./configure" diff --git a/easybuild/easyconfigs/g/gifsicle/gifsicle-1.93-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gifsicle/gifsicle-1.93-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..639f0f05b8c --- /dev/null +++ b/easybuild/easyconfigs/g/gifsicle/gifsicle-1.93-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +# Contribution from the Crick Scientific Computing team +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'gifsicle' +version = '1.93' + +github_account = 'kohler' +homepage = 'https://github.com/%(github_account)s/%(namelower)s' +description = """Gifsicle is a command-line tool for creating, editing, +and getting information about GIF images and animations. +Making a GIF animation with gifsicle is easy.""" + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['941c0b1c3ebc748949a0d14363f0fb3c9d2c06ee122b3548315b9233eb956d88'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('X11', '20220504'), +] + +preconfigopts = "autoreconf -i &&" + +sanity_check_paths = { + 'files': ['bin/gifsicle'], + 'dirs': [] +} + +sanity_check_commands = [('gifview --help'), ('gifsicle --help')] + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..0e64dba099a --- /dev/null +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.2.0.eb @@ -0,0 +1,47 @@ +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.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('GHC', '9.2.2', '-x86_64', SYSTEM), + ('Stack', '2.11.1', '-x86_64', SYSTEM), + ('git', '2.38.1', '-nodocs'), + ('libnsl', '2.0.0'), +] + +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 = "export STACK_ROOT=$(mktemp -d) && 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-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..d21f13320b1 --- /dev/null +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20230802-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +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'), + ('libnsl', '2.0.1'), +] + +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 = "export STACK_ROOT=$(mktemp -d) && 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-annex/git-annex-10.20240731-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/git-annex/git-annex-10.20240731-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9701f4ce94d --- /dev/null +++ b/easybuild/easyconfigs/g/git-annex/git-annex-10.20240731-GCCcore-13.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'MakeCp' + +name = 'git-annex' +version = '10.20240731' + +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': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42') +] + +dependencies = [ + ('GHC', '9.10.1', '-x86_64', SYSTEM), + ('Stack', '3.1.1', '-x86_64', SYSTEM), + ('git', '2.45.1'), + ('libnsl', '2.0.1'), +] + +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 = "export STACK_ROOT=$(mktemp -d) && 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.2.0.eb b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.2.0.eb new file mode 100644 index 00000000000..35a82d52add --- /dev/null +++ b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MakeCp' + +name = 'git-lfs' +version = '3.2.0' + +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 + +github_account = name +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f8e6bbe043b97db8a5c16da7289e149a3fed9f4d4f11cffcc6e517c7870cd9e5'] + +builddependencies = [('Go', '1.17.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.4.0.eb b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.4.0.eb new file mode 100644 index 00000000000..9d16d16f7e1 --- /dev/null +++ b/easybuild/easyconfigs/g/git-lfs/git-lfs-3.4.0.eb @@ -0,0 +1,28 @@ +easyblock = 'MakeCp' + +name = 'git-lfs' +version = '3.4.0' + +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 = ['fa93f65cc5c15b96037a72cf243bc2cc04c94ea5cccc346664425d6d4bac66c2'] + +builddependencies = [('Go', '1.21.2')] + +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.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/git/git-2.32.0-GCCcore-10.3.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.32.0-GCCcore-10.3.0-nodocs.eb index 5559af9962b..6a9f8e88f5b 100644 --- a/easybuild/easyconfigs/g/git/git-2.32.0-GCCcore-10.3.0-nodocs.eb +++ b/easybuild/easyconfigs/g/git/git-2.32.0-GCCcore-10.3.0-nodocs.eb @@ -27,7 +27,7 @@ dependencies = [ ('expat', '2.2.9'), ('gettext', '0.21'), ('Perl', '5.32.1'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] preconfigopts = 'make configure && ' diff --git a/easybuild/easyconfigs/g/git/git-2.33.1-GCCcore-11.2.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.33.1-GCCcore-11.2.0-nodocs.eb new file mode 100644 index 00000000000..08aff1076cb --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.33.1-GCCcore-11.2.0-nodocs.eb @@ -0,0 +1,47 @@ +## +# Author: Robert Mijakovic +## +# updated to 2.33.1 +# J. Sassmannshausen / GSTT + +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.33.1' +versionsuffix = '-nodocs' + +homepage = 'https://git-scm.com/' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa459f95153a2c51af149c062f614018c027caf75a8dd92b3f64defe0a78f42f'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('cURL', '7.78.0'), + ('expat', '2.4.1'), + ('gettext', '0.21'), + ('Perl', '5.34.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb new file mode 100644 index 00000000000..658c91a6dd5 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.36.0-GCCcore-11.3.0-nodocs.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## +# updated to 2.33.1 +# J. Sassmannshausen / GSTT + +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.36.0' +versionsuffix = '-nodocs' + +homepage = 'https://git-scm.com/' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['59dbc158dce293798570166fe7acfe225514f2868bc2d6e25c1a5a00c4ac0888'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('expat', '2.4.8'), + ('gettext', '0.21'), + ('Perl', '5.34.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb new file mode 100644 index 00000000000..001f08105d6 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.38.1-GCCcore-12.2.0-nodocs.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## +# updated to 2.33.1 +# J. Sassmannshausen / GSTT + +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.38.1' +versionsuffix = '-nodocs' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91456b031324f7909f35e067dcfb907956d1a5c3d2069cfc5b4549e42089e546'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '7.86.0'), + ('expat', '2.4.9'), + ('gettext', '0.21.1'), + ('Perl', '5.36.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.41.0-GCCcore-12.3.0-nodocs.eb b/easybuild/easyconfigs/g/git/git-2.41.0-GCCcore-12.3.0-nodocs.eb new file mode 100644 index 00000000000..c327d507709 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.41.0-GCCcore-12.3.0-nodocs.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.41.0' +versionsuffix = '-nodocs' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4f0b74bbde2800b00d3a50a7f389bcf1d59f1265b6986c00048d8ba4892ab01a'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '8.0.1'), + ('expat', '2.5.0'), + ('gettext', '0.21.1'), + ('Perl', '5.36.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.42.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/git/git-2.42.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..05e36521107 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.42.0-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.42.0' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['60c06eb7ce840903169ed4872224b2409dd8d8a518e9df847c6dc0ef10d35d99'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '8.3.0'), + ('expat', '2.5.0'), + ('gettext', '0.22'), + ('Perl', '5.38.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3cd07e7cc61 --- /dev/null +++ b/easybuild/easyconfigs/g/git/git-2.45.1-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'git' +version = '2.45.1' + +homepage = 'https://git-scm.com' +description = """Git is a free and open source distributed version control system designed +to handle everything from small to very large projects with speed and efficiency.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/git/git/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d98c8f70d58f49f7546d59b25e25f2deae6999eb036a33b0fe6f5d07c33f67c6'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('cURL', '8.7.1'), + ('expat', '2.6.2'), + ('gettext', '0.22.5'), + ('Perl', '5.38.2'), + ('OpenSSL', '3', '', SYSTEM), +] + +preconfigopts = 'make configure && ' + +# Work around git build system bug. If LIBS contains -lpthread, then configure +# will not append -lpthread to LDFLAGS, but Makefile ignores LIBS. +configopts = "--with-perl=${EBROOTPERL}/bin/perl --enable-pthreads='-lpthread'" + +postinstallcmds = ['cd contrib/subtree; make install'] + +sanity_check_paths = { + 'files': ['bin/git'], + 'dirs': ['libexec/git-core', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gkmSVM/gkmSVM-0.82.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/g/gkmSVM/gkmSVM-0.82.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..e57a62d8ca5 --- /dev/null +++ b/easybuild/easyconfigs/g/gkmSVM/gkmSVM-0.82.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,25 @@ +easyblock = 'RPackage' + +name = 'gkmSVM' +version = '0.82.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/gkmSVM/index.html' +description = """Gapped-Kmer Support Vector Machine.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cran.r-project.org/src/contrib/Archive/%(name)s'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['751d536cde502ebf8a39f6a2b8d57939ec1f045bce954b8054f0650d16c14cd4'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-egl.eb new file mode 100644 index 00000000000..0f0590e91a8 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Mesa', '21.1.7'), + ('X11', '20210802'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-glx.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-glx.eb new file mode 100644 index 00000000000..ee2333cef8f --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-glx.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-glx' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Mesa', '21.1.7'), + ('X11', '20210802'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-osmesa.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-osmesa.eb new file mode 100644 index 00000000000..7380689e647 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.2.0-osmesa.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-osmesa' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Mesa', '21.1.7'), + ('X11', '20210802'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb new file mode 100644 index 00000000000..0bd382da354 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Mesa', '22.0.3'), + ('X11', '20220504'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-osmesa.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-osmesa.eb new file mode 100644 index 00000000000..11e014811b7 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-11.3.0-osmesa.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-osmesa' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Mesa', '22.0.3'), + ('X11', '20220504'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb new file mode 100644 index 00000000000..81bca17cbb7 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-egl.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-egl' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb new file mode 100644 index 00000000000..64045ea6e21 --- /dev/null +++ b/easybuild/easyconfigs/g/glew/glew-2.2.0-GCCcore-12.3.0-osmesa.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' +versionsuffix = '-osmesa' +# available: -glx, -osmesa, -egl +# GLEW does support GLX (onscreen or requiring VirtualGL), EGL (technically can do both onscreen and +# offscreen), and OSMESA (offscreen software only). + +name = 'glew' +version = '2.2.0' + +homepage = 'https://github.com/nigels-com/glew' +description = """The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source +C/C++ extension loading library. GLEW provides efficient run-time mechanisms +for determining which OpenGL extensions are supported on the target platform.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nigels-com/glew/releases/download/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tgz'] +checksums = ['d4fc82893cfb00109578d0a1a2337fb8ca335b3ceccf97b97e5cc7f08e4353e1'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +local_system = 'SYSTEM=linux`echo %(versionsuffix)s|sed -e "s/-glx//g"`' +buildopts = local_system + +skipsteps = ['configure'] + +preinstallopts = 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s ' +install_cmd = 'make install.all ' + local_system + +sanity_check_paths = { + 'files': ['lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT] + + ['bin/glewinfo', 'bin/visualinfo'] + + ['include/GL/%s.h' % h for h in ['glew', 'glxew', 'wglew']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glib-networking/glib-networking-2.68.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.68.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..692e5b0ce68 --- /dev/null +++ b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.68.1-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MesonNinja' + +name = 'glib-networking' +version = '2.68.1' + +homepage = 'https://gitlab.gnome.org/GNOME/glib-networking' +description = "Network extensions for GLib" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/glib-networking/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['42fa5a90f92d4376e32ae029b7cd29c4710dce9fce70be3e2d03eccb6790913a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('GnuTLS', '3.7.2'), +] + +sanity_check_paths = { + 'files': ['lib/gio/modules/libgiognutls.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'GIO_EXTRA_MODULES': 'lib/gio/modules'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a43faefb8bb --- /dev/null +++ b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MesonNinja' + +name = 'glib-networking' +version = '2.72.1' + +homepage = 'https://gitlab.gnome.org/GNOME/glib-networking' +description = "Network extensions for GLib" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/glib-networking/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['675a654ae55d381490c5d76b84e088f684125415fbd2d46f74dfa5522c4a1268'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('GnuTLS', '3.7.3'), + ('libidn2', '2.3.2'), +] + +sanity_check_paths = { + 'files': ['lib/gio/modules/libgiognutls.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'GIO_EXTRA_MODULES': 'lib/gio/modules'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..89649bba2dd --- /dev/null +++ b/easybuild/easyconfigs/g/glib-networking/glib-networking-2.72.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MesonNinja' + +name = 'glib-networking' +version = '2.72.1' + +homepage = 'https://gitlab.gnome.org/GNOME/glib-networking' +description = "Network extensions for GLib" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/glib-networking/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['675a654ae55d381490c5d76b84e088f684125415fbd2d46f74dfa5522c4a1268'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('GnuTLS', '3.7.8'), + ('libidn2', '2.3.2'), +] + +sanity_check_paths = { + 'files': ['lib/gio/modules/libgiognutls.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'GIO_EXTRA_MODULES': 'lib/gio/modules'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/glog/glog-0.5.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/glog/glog-0.5.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d6dded49867 --- /dev/null +++ b/easybuild/easyconfigs/g/glog/glog-0.5.0-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'glog' +version = '0.5.0' + +homepage = 'https://github.com/google/glog' +description = "A C++ implementation of the Google logging module." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/google/glog/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('gflags', '2.2.2'), + ('libunwind', '1.4.0'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['include/glog/logging.h', 'include/glog/raw_logging.h', 'lib/libglog.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3eea2ff72c4 --- /dev/null +++ b/easybuild/easyconfigs/g/glog/glog-0.6.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'glog' +version = '0.6.0' + +homepage = 'https://github.com/google/glog' +description = "A C++ implementation of the Google logging module." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/google/glog/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('gflags', '2.2.2'), + ('libunwind', '1.6.2'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['include/glog/logging.h', 'include/glog/raw_logging.h', 'lib/libglog.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gmpflf/gmpflf-2024.06.eb b/easybuild/easyconfigs/g/gmpflf/gmpflf-2024.06.eb new file mode 100644 index 00000000000..bd4f74361b7 --- /dev/null +++ b/easybuild/easyconfigs/g/gmpflf/gmpflf-2024.06.eb @@ -0,0 +1,27 @@ +easyblock = 'Toolchain' + +name = 'gmpflf' +version = '2024.06' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + MPICH for MPI support, FlexiBLAS (OpenBLAS and LAPACK), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_gccver = '12.3.0' + +# toolchain used to build gmpflf dependencies +local_comp_mpi_tc = ('gmpich', version) + +# we need GCC and MPICH as explicit dependencies instead of gompi toolchain +# because of toolchain preparation functions +dependencies = [ + ('GCC', local_gccver), + ('MPICH', '4.2.1', '', ('GCC', local_gccver)), + ('FlexiBLAS', '3.3.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gmpich/gmpich-2024.06.eb b/easybuild/easyconfigs/g/gmpich/gmpich-2024.06.eb new file mode 100644 index 00000000000..14afd408f3d --- /dev/null +++ b/easybuild/easyconfigs/g/gmpich/gmpich-2024.06.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gmpich' +version = '2024.06' + + +homepage = '(none)' +description = """gcc and GFortran based compiler toolchain, + including MPICH for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.3.0' + +dependencies = [ + ('GCC', local_gccver), + ('MPICH', '4.2.1', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0b5-iccifort-2020.4.304.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0b5-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..3d95fae8add --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.0b5-iccifort-2020.4.304.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.0b5' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8951bcfc61c0f40102b92a4777daf9eb85445b537c4d09086deb0e097190bef0'] + +dependencies = [ + ('Python', '3.8.6'), + ('GMP', '6.2.0'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..e3f43a071aa --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.2' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] + +dependencies = [ + ('Python', '3.9.6'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..59aba6600bd --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.2' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] + +dependencies = [ + ('Python', '3.10.4'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..f194fb5a771 --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2021.4.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.2' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] + +dependencies = [ + ('Python', '3.9.6'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..9223b7f00cd --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.2-intel-compilers-2022.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.1.2' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da75140bca128ece795895477e53b43773e3748aa90ba6170eae7ca2c74b82d1'] + +dependencies = [ + ('Python', '3.10.4'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.2.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.2.0.eb new file mode 100644 index 00000000000..ee56d5dc87c --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.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': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bc297f1fd8c377ae67a4f493fc0f926e5d1b157e5c342e30a4d84dc7b9f95d96'] + +dependencies = [ + ('Python', '3.10.8'), + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), + ('MPC', '1.3.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.3.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..fe7a2d87e48 --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.1.5-GCC-12.3.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': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bc297f1fd8c377ae67a4f493fc0f926e5d1b157e5c342e30a4d84dc7b9f95d96'] + +dependencies = [ + ('Python', '3.11.3'), + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), + ('MPC', '1.3.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' 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/gmpy2/gmpy2-2.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..45d90e26d6a --- /dev/null +++ b/easybuild/easyconfigs/g/gmpy2/gmpy2-2.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'gmpy2' +version = '2.2.0' + +homepage = 'https://github.com/aleaxit/gmpy' +description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e19e62dfeb1e4a57079f0bf51c51dec30633d9fe9e89cb9a083e05e4823afa70'] + +builddependencies = [ + ('binutils', '2.42') +] + +dependencies = [ + ('Python', '3.12.3'), + ('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/gmsh/gmsh-4.11.1-foss-2022a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.11.1-foss-2022a.eb new file mode 100644 index 00000000000..0be178bc935 --- /dev/null +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.11.1-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'gmsh' +version = '4.11.1' + +homepage = 'https://gmsh.info/' +description = "Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://%(name)s.info/src/'] +sources = ['%(name)s-%(version)s-source.tgz'] +checksums = ['c5fe1b7cbd403888a814929f2fd0f5d69e27600222a18c786db5b76e8005b365'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('SWIG', '4.0.2'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PETSc', '3.17.4'), + ('SLEPc', '3.17.2'), + ('FLTK', '1.3.8'), + ('occt', '7.5.0p1'), +] + +separate_build_dir = True + +configopts = "-DENABLE_BUILD_SHARED=ON -DENABLE_WRAP_PYTHON=ON -DENABLE_METIS=1" + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/onelab.py', 'lib/%(name)s.py', 'lib/libgmsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +modextrapaths = {'PYTHONPATH': ['lib']} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb new file mode 100644 index 00000000000..72f3c6cb8eb --- /dev/null +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.12.2-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'gmsh' +version = '4.12.2' + +homepage = 'https://gmsh.info/' +description = "Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://%(name)s.info/src/'] +sources = ['%(name)s-%(version)s-source.tgz'] +checksums = ['13e09d9ca8102e5c40171d6ee150c668742b98c3a6ca57f837f7b64e1e2af48f'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PETSc', '3.20.3'), + ('SLEPc', '3.20.1'), + ('FLTK', '1.3.8'), + ('occt', '7.8.0'), +] + +separate_build_dir = True + +configopts = "-DENABLE_BUILD_SHARED=ON -DENABLE_WRAP_PYTHON=ON -DENABLE_METIS=1" + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/onelab.py', 'lib/%(name)s.py', 'lib/libgmsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +modextrapaths = {'PYTHONPATH': ['lib']} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gmsh/gmsh-4.9.0-foss-2021a.eb b/easybuild/easyconfigs/g/gmsh/gmsh-4.9.0-foss-2021a.eb new file mode 100644 index 00000000000..72064658427 --- /dev/null +++ b/easybuild/easyconfigs/g/gmsh/gmsh-4.9.0-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'gmsh' +version = '4.9.0' + +homepage = 'https://gmsh.info/' +description = """Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {"usempi": True} + +source_urls = ['https://gmsh.info/src/'] +sources = ['%(name)s-%(version)s-source.tgz'] +checksums = ['b8ef133c9b66ffe12df1747e72d4acf19f1eb1e9cd95eb0f577cbc4081d9bea3'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('SWIG', '4.0.2'), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('PETSc', '3.15.1'), + ('SLEPc', '3.15.1'), + ('FLTK', '1.3.6'), + ('occt', '7.5.0p1'), +] + +separate_build_dir = True + +configopts = '-DENABLE_BUILD_SHARED=ON -DENABLE_WRAP_PYTHON=ON -DENABLE_METIS=1' + +modextrapaths = {'PYTHONPATH': ['lib']} + +sanity_check_paths = { + 'files': ['bin/gmsh', 'bin/onelab.py', 'lib/gmsh.py', 'lib/libgmsh.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["gmsh --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..67d7657a048 --- /dev/null +++ b/easybuild/easyconfigs/g/gnupg-bundle/gnupg-bundle-20240306-GCCcore-13.2.0.eb @@ -0,0 +1,66 @@ +easyblock = 'Bundle' + +name = 'gnupg-bundle' +version = '20240306' + +homepage = 'https://www.gnupg.org/software/index.html' +description = """GnuPG — The Universal Crypto Engine""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_BZ2], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libgpg-error', '1.48', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgpg-error/'], + 'checksums': ['89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f'], + }), + ('libassuan', '2.5.7', { # 2024-03-06 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libassuan/'], + 'checksums': ['0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76'], + }), + ('libgcrypt', '1.10.3', { # 2023-11-14 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libgcrypt/'], + 'checksums': ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'], + }), + ('libksba', '1.6.6', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/libksba/'], + 'checksums': ['5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4'], + }), + ('npth', '1.7', { # 2024-02-23 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/npth/'], + 'checksums': ['8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05'], + }), + ('gnupg', '2.4.5', { # 2024-03-07 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gnupg/'], + 'checksums': ['f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277'], + }), + ('gpgme', '1.23.2', { # 2023-11-28 + 'source_urls': ['https://www.gnupg.org/ftp/gcrypt/gpgme/'], + 'checksums': ['9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224'], + }), +] + +sanity_check_paths = { + 'files': [ + 'bin/gpgrt-config', + 'bin/libassuan-config', + 'bin/libgcrypt-config', + 'include/gpg-error.h', + 'include/gcrypt.h', + 'include/gpgrt.h', + 'include/gpgme.h', + 'include/npth.h', + 'include/assuan.h', + ], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.1-GCCcore-10.2.0.eb index cd32053b881..afa4c64d21f 100644 --- a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.1-GCCcore-10.2.0.eb @@ -44,6 +44,9 @@ dependencies = [ preconfigopts = 'autoreconf && ' +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + configopts = '--with-qt=qt5 --without-latex ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-10.3.0.eb index f4127746086..1022e3122d1 100644 --- a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-10.3.0.eb @@ -33,6 +33,9 @@ dependencies = [ preconfigopts = 'autoreconf && ' +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + configopts = '--with-qt=qt5 --without-latex ' sanity_check_paths = { diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b932c85048e --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.4.2' + +homepage = 'http://gnuplot.sourceforge.net' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['e57c75e1318133951d32a83bcdc4aff17fed28722c4e71f2305cfc2ae1cae7ba'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('cairo', '1.16.0'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('libgd', '2.3.3'), + ('Pango', '1.48.8'), + ('libcerf', '1.17'), + ('X11', '20210802'), + ('Qt5', '5.15.2'), + ('Lua', '5.4.3'), +] + +preconfigopts = 'autoreconf && ' + +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + +configopts = '--with-qt=qt5 --without-latex ' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} +# make sure that pdf terminal type is available +sanity_check_commands = ["gnuplot -e 'set terminal pdf'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..899f0ad50be --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.4-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.4.4' + +homepage = 'http://gnuplot.sourceforge.net' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['372300b7867f5b3538b25fc5d0ac7734af6e3fe0d202b6db926e4369913f0902'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('cairo', '1.17.4'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('libgd', '2.3.3'), + ('Pango', '1.50.7'), + ('libcerf', '2.1'), + ('X11', '20220504'), + ('Qt5', '5.15.5'), + ('Lua', '5.4.4'), +] + +preconfigopts = 'autoreconf && ' + +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + +configopts = '--with-qt=qt5 --without-latex ' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} +# make sure that pdf terminal type is available +sanity_check_commands = ["gnuplot -e 'set terminal pdf'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ee98f8ad3ad --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.6-GCCcore-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.4.6' + +homepage = 'http://gnuplot.sourceforge.net' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['02fc27918200ed64d8f0c3b84fe81b95b59cd47ad99f270939ae497c19f27419'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('cairo', '1.17.4'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('libgd', '2.3.3'), + ('Pango', '1.50.12'), + ('libcerf', '2.3'), + ('X11', '20221110'), + ('Qt5', '5.15.7'), + ('Lua', '5.4.4'), +] + +preconfigopts = 'autoreconf && ' + +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + +configopts = '--with-qt=qt5 --without-latex --disable-wxwidgets' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} +# make sure that pdf terminal type is available +sanity_check_commands = ["gnuplot -e 'set terminal pdf'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..db4fa67aa22 --- /dev/null +++ b/easybuild/easyconfigs/g/gnuplot/gnuplot-5.4.8-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'gnuplot' +version = '5.4.8' + +homepage = 'http://gnuplot.sourceforge.net' +description = """Portable interactive, function plotting utility""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [('https://sourceforge.net/projects/gnuplot/files/gnuplot/%(version)s', 'download')] +sources = [SOURCE_TAR_GZ] +checksums = ['931279c7caad1aff7d46cb4766f1ff41c26d9be9daf0bcf0c79deeee3d91f5cf'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('cairo', '1.17.8'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('libgd', '2.3.3'), + ('Pango', '1.50.14'), + ('libcerf', '2.3'), + ('X11', '20230603'), + ('Qt5', '5.15.10'), + ('Lua', '5.4.6'), +] + +preconfigopts = 'autoreconf && ' + +# make sure that right Lua library is used (bypassing pkg-config) +preconfigopts += 'export LUA_CFLAGS="-I$EBROOTLUA/include" && export LUA_LIBS="$EBROOTLUA/lib/liblua.a" && ' + +configopts = '--with-qt=qt5 --without-latex --disable-wxwidgets' + +sanity_check_paths = { + 'files': ['bin/gnuplot'], + 'dirs': [] +} +# make sure that pdf terminal type is available +sanity_check_commands = ["gnuplot -e 'set terminal pdf'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/gobff/gobff-2021a.eb b/easybuild/easyconfigs/g/gobff/gobff-2021a.eb new file mode 100644 index 00000000000..11ed05a0dee --- /dev/null +++ b/easybuild/easyconfigs/g/gobff/gobff-2021a.eb @@ -0,0 +1,29 @@ +easyblock = "Toolchain" + +name = 'gobff' +version = '2021a' + +homepage = '(none)' +description = 'GCC and GFortran based compiler toolchain with OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.' + +toolchain = SYSTEM + +local_comp_name = 'GCC' +local_comp_version = '10.3.0' +local_comp = (local_comp_name, local_comp_version) + +# toolchain used to build dependencies +local_comp_mpi_tc_name = 'gompi' +local_comp_mpi_tc = (local_comp_mpi_tc_name, version) + +# compiler toolchain dependencies +dependencies = [ + local_comp, + ('OpenMPI', '4.1.1', '', local_comp), # part of gompi toolchain + ('BLIS', '0.8.1', '', local_comp), + ('libFLAME', '5.2.0', '', local_comp), + ('ScaLAPACK', '2.1.0', '-bf', local_comp_mpi_tc), + ('FFTW', '3.3.9', '', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gofasta/gofasta-0.0.5.eb b/easybuild/easyconfigs/g/gofasta/gofasta-0.0.5.eb new file mode 100644 index 00000000000..ed65ae508e8 --- /dev/null +++ b/easybuild/easyconfigs/g/gofasta/gofasta-0.0.5.eb @@ -0,0 +1,31 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'GoPackage' + +name = 'gofasta' +version = '0.0.5' + +homepage = 'https://github.com/cov-ert/gofasta' +description = """Some functions for dealing with alignments, +developed to handle SARS-CoV-2 data as part of the COG-UK project.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cov-ert/gofasta/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2d66f1bfd68cc673b4991634eedda14faf5f8c3e6ca578b18d68b3763a45606b'] + +builddependencies = [ + ('Go', '1.16.5'), +] + +sanity_check_commands = ['gofasta -h'] + +sanity_check_paths = { + 'files': ['bin/gofasta'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb b/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb new file mode 100644 index 00000000000..8d7a31b6a83 --- /dev/null +++ b/easybuild/easyconfigs/g/gomkl/gomkl-2021b.eb @@ -0,0 +1,19 @@ +easyblock = "Toolchain" + +name = 'gomkl' +version = '2021b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL""" + +toolchain = SYSTEM + +local_comp = ('GCC', '11.2.0') + +dependencies = [ + local_comp, + ('OpenMPI', '4.1.1', '', local_comp), + ('imkl', '2021.4.0'), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb b/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb new file mode 100644 index 00000000000..125f99c761b --- /dev/null +++ b/easybuild/easyconfigs/g/gomkl/gomkl-2022a.eb @@ -0,0 +1,19 @@ +easyblock = "Toolchain" + +name = 'gomkl' +version = '2022a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL""" + +toolchain = SYSTEM + +local_comp = ('GCC', '11.3.0') + +dependencies = [ + local_comp, + ('OpenMPI', '4.1.4', '', local_comp), + ('imkl', '2022.1.0', '', ('gompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gomkl/gomkl-2023a.eb b/easybuild/easyconfigs/g/gomkl/gomkl-2023a.eb new file mode 100644 index 00000000000..38c7bb778e8 --- /dev/null +++ b/easybuild/easyconfigs/g/gomkl/gomkl-2023a.eb @@ -0,0 +1,19 @@ +easyblock = "Toolchain" + +name = 'gomkl' +version = '2023a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL""" + +toolchain = SYSTEM + +local_comp = ('GCC', '12.3.0') + +dependencies = [ + local_comp, + ('OpenMPI', '4.1.5', '', local_comp), + ('imkl', '2023.1.0', '', ('gompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2021b.eb b/easybuild/easyconfigs/g/gompi/gompi-2021b.eb new file mode 100644 index 00000000000..d5860d74ef0 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2021b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2021b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '11.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.1', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022.05.eb b/easybuild/easyconfigs/g/gompi/gompi-2022.05.eb new file mode 100644 index 00000000000..5c575de6aa1 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '11.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb b/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb new file mode 100644 index 00000000000..9d5e2752969 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022.10.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022.10' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022a.eb b/easybuild/easyconfigs/g/gompi/gompi-2022a.eb new file mode 100644 index 00000000000..f2ad0f8735d --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '11.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2022b.eb b/easybuild/easyconfigs/g/gompi/gompi-2022b.eb new file mode 100644 index 00000000000..f49f5d2e300 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2022b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.4', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2023.09.eb b/easybuild/easyconfigs/g/gompi/gompi-2023.09.eb new file mode 100644 index 00000000000..3d093c34535 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2023.09.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2023.09' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.6', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2023a.eb b/easybuild/easyconfigs/g/gompi/gompi-2023a.eb new file mode 100644 index 00000000000..142e0492f73 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2023a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2023a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '12.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.5', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2023b.eb b/easybuild/easyconfigs/g/gompi/gompi-2023b.eb new file mode 100644 index 00000000000..1ba98abe624 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2023b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2023b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.2.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '4.1.6', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb new file mode 100644 index 00000000000..c3f4137cd28 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2024.05.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2024.05' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/gompi/gompi-2024a.eb b/easybuild/easyconfigs/g/gompi/gompi-2024a.eb new file mode 100644 index 00000000000..c49f4050ff8 --- /dev/null +++ b/easybuild/easyconfigs/g/gompi/gompi-2024a.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gompi' +version = '2024a' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, + including OpenMPI for MPI support.""" + +toolchain = SYSTEM + +local_gccver = '13.3.0' + +# compiler toolchain dependencies +dependencies = [ + ('GCC', local_gccver), # includes both GCC and binutils + ('OpenMPI', '5.0.3', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..dee6a5104d1 --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.11.0' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/google/googletest/archive/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..03e441dbae3 --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.11.0' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/googletest/archive/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..20cae145de0 --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.12.1' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/googletest/archive/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['81964fe578e9bd7c94dfdb09c8e4d6e6759e19967e397dbea48d1c10e45d0df2'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.13.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.13.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d54ca5d0453 --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.13.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.13.0' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/google/googletest/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ad7fdba11ea011c1d925b3289cf4af2c66a352e18d4c7264392fead75e919363'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.14.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c098771dd9e --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.14.0-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.14.0' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/googletest/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/googletest/googletest-1.15.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/googletest/googletest-1.15.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..16b74bdae1b --- /dev/null +++ b/easybuild/easyconfigs/g/googletest/googletest-1.15.2-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.15.2' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/google/googletest/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0f33857f082 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ebe8489c322 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5f019911975 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..72563a3b1cd --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..87e489a7978 --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0cc2e3debee --- /dev/null +++ b/easybuild/easyconfigs/g/gperf/gperf-3.1-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'gperf' +version = '3.1' + +homepage = 'https://www.gnu.org/software/gperf/' +description = """ + GNU gperf is a perfect hash function generator. For a given list of strings, + it produces a hash function and hash table, in form of C or C++ code, for + looking up a value depending on the input string. The hash function is + perfect, which means that the hash table has no collisions, and the hash + table lookup needs a single string comparison only. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/gperf'], + 'dirs': [], +} + +sanity_check_commands = ["gperf --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/gperftools/gperftools-2.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..73c262cf7ed --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.10-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.10' + +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': '11.3.0'} + +github_account = 'gperftools' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b0dcfe3aca1a8355955f4b415ede43530e3bb91953b6ffdd75c45891070fe0f1'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +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/gperftools/gperftools-2.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2dc99bb16e9 --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.12-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.12' + +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.3.0'} + +github_account = 'gperftools' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['1cc42af8c0ec117695ecfa49ef518d9eaf7b215a2657b51f655daa2dc07101ce'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +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/gperftools/gperftools-2.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..73a117d1b30 --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.13-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.13' + +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': '13.2.0'} + +github_account = 'gperftools' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fd43adbe0419cb0eaaa3e439845cc89fe7d42c22eff7fd2d6b7e87ae2acbce1d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +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/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/gperftools/gperftools-2.9.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.9.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9cd22be218a --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.9.1-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'gperftools' +version = '2.9.1' + +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': '11.2.0'} + +github_account = 'gperftools' +source_urls = [GITHUB_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['484a88279d2fa5753d7e9dea5f86954b64975f20e796a6ffaf2f3426a674a06a'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), +] + +dependencies = [ + ('libunwind', '1.5.0'), +] + +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/gpustat/gpustat-0.6.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/gpustat/gpustat-0.6.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6b59c0217ec --- /dev/null +++ b/easybuild/easyconfigs/g/gpustat/gpustat-0.6.0-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'gpustat' +version = '0.6.0' + +homepage = 'https://github.com/wookayin/gpustat' +description = 'dstat-like utilization monitor for NVIDIA GPUs' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +# This software works directly against the nvidia drivers and doesn't require CUDA. +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True + +exts_list = [ + ('blessings', '1.7', { + 'checksums': ['98e5854d805f50a5b58ac2333411b0482516a8210f23f43308baeb58d77c157d'], + }), + ('nvidia-ml-py3', '7.352.0', { + 'modulename': 'pynvml', + 'checksums': ['390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277'], + }), + (name, version, { + 'checksums': ['f69135080b2668b662822633312c2180002c10111597af9631bb02e042755b6c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gpustat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gpustat --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gpustat/gpustat-1.0.0b1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gpustat/gpustat-1.0.0b1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..805edd2da4f --- /dev/null +++ b/easybuild/easyconfigs/g/gpustat/gpustat-1.0.0b1-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'gpustat' +version = '1.0.0b1' + +homepage = 'https://github.com/wookayin/gpustat' +description = "A simple command-line utility for querying and monitoring GPU status" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +# This software works directly against the nvidia drivers and doesn't require CUDA. +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('blessed', '1.19.0', { + 'checksums': ['4db0f94e5761aea330b528e84a250027ffe996b5a94bf03e502600c9a5ad7a61'], + }), + ('nvidia-ml-py3', '7.352.0', { + 'modulename': 'pynvml', + 'checksums': ['390f02919ee9d73fe63a98c73101061a6b37fa694a793abf56673320f1f51277'], + }), + (name, version, { + 'checksums': ['a25c460c5751180265814f457249ba5100baf7a055b23ad762a4e3ab3f6496dd'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gpustat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gpustat --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gpustat/gpustat-1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gpustat/gpustat-1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a581373ba1e --- /dev/null +++ b/easybuild/easyconfigs/g/gpustat/gpustat-1.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'gpustat' +version = '1.1' + +homepage = 'https://github.com/wookayin/gpustat' +description = "A simple command-line utility for querying and monitoring GPU status" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +# This software works directly against the nvidia drivers and doesn't require CUDA. +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + ('blessed', '1.20.0', { + 'checksums': ['2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680'], + }), + ('nvidia-ml-py', '11.525.112', { + 'modulename': 'pynvml', + 'checksums': ['c64e473953b65ec0ccc76cf3601c3130a0ac8060bbcaea912cc00fa8e4c9868d'], + }), + (name, version, { + 'checksums': ['c8fc105404aac11884f70ed2fa06cfd210d3cd389ccae4a9bc38579c72460cee'], + }), +] + +sanity_check_paths = { + 'files': ['bin/gpustat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["gpustat --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/grace/grace-5.1.25-foss-2016a.eb b/easybuild/easyconfigs/g/grace/grace-5.1.25-foss-2016a.eb deleted file mode 100644 index 674925f1b99..00000000000 --- a/easybuild/easyconfigs/g/grace/grace-5.1.25-foss-2016a.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'grace' -version = '5.1.25' - -homepage = 'http://freecode.com/projects/grace' -description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.""" - -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] -sources = [SOURCE_TAR_GZ] - -toolchain = {'name': 'foss', 'version': '2016a'} - -dependencies = [ - ('motif', '2.3.5'), - ('netCDF', '4.4.0'), -] - -runtest = 'tests' - -# we also need to run make links right before or after make install. -installopts = 'links' - -sanity_check_paths = { - 'files': ['bin/xmgrace'], - 'dirs': [], -} - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb b/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb deleted file mode 100644 index e538b0ca3bf..00000000000 --- a/easybuild/easyconfigs/g/grace/grace-5.1.25-intel-2016a.eb +++ /dev/null @@ -1,29 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'grace' -version = '5.1.25' - -homepage = 'http://freecode.com/projects/grace' -description = """Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.""" - -source_urls = ['ftp://plasma-gate.weizmann.ac.il/pub/grace/src/stable'] -sources = [SOURCE_TAR_GZ] - -toolchain = {'name': 'intel', 'version': '2016a'} - -dependencies = [ - ('motif', '2.3.5'), - ('netCDF', '4.4.0'), -] - -runtest = 'tests' - -# we also need to run make links right before or after make install. -installopts = 'links' - -sanity_check_paths = { - 'files': ['bin/xmgrace'], - 'dirs': [], -} - -moduleclass = 'vis' 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/graph-tool/graph-tool-2.59-foss-2023a.eb b/easybuild/easyconfigs/g/graph-tool/graph-tool-2.59-foss-2023a.eb new file mode 100644 index 00000000000..307e764d139 --- /dev/null +++ b/easybuild/easyconfigs/g/graph-tool/graph-tool-2.59-foss-2023a.eb @@ -0,0 +1,62 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'ConfigureMake' + +name = 'graph-tool' +version = '2.59' + +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': '2023a'} +toolchainopts = {'cstd': 'c++17', 'openmp': True} + +source_urls = ['https://downloads.skewed.de/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['cde479c0a7254b72f6e795d03b0273b0a7d81611a6a3364ba649c2c85c99acae'] + +builddependencies = [ + ('gawk', '5.3.0'), + ('pkgconf', '1.9.5'), + ('expat', '2.5.0'), + ('CGAL', '5.6'), + ('GMP', '6.2.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Boost.Python', '1.82.0'), + ('sparsehash', '2.0.4'), + ('matplotlib', '3.7.2'), + ('PyCairo', '1.25.0'), + ('cairomm', '1.16.2'), + ('PyGObject', '3.46.0'), + ('GTK3', '3.24.37'), +] + +configopts = '--enable-openmp --with-cgal=$EBROOTCGAL --with-boost=$EBROOTBOOST ' +configopts += '--with-boost-python=boost_python311 ' +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, BlockState'", + "python -c 'import graph_tool.inference'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0a3fc8da20e --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..17c53bfd399 --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f60b4dd57e1 --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4b71d740405 --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e7e24e4484a --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0c6ebe10a4c --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f72fbb4cc7a --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7e199ecf26b --- /dev/null +++ b/easybuild/easyconfigs/g/graphite2/graphite2-1.3.14-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'graphite2' +version = '1.3.14' + +homepage = 'https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home' +description = """Graphite is a "smart font" system developed specifically to + handle the complexities of lesser-known languages of the world.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/silnrsi/graphite/archive/'] +sources = ['%(version)s.zip'] +checksums = ['36e15981af3bf7a3ca3daf53295c8ffde04cf7d163e3474e4d0836e2728b4149'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/gr2fonttest'] + + ['lib/lib%%(name)s.%s' % x for x in [SHLIB_EXT, 'la']], + 'dirs': ['include/%(name)s', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..47df85eff8b --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.20.1' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7791b18b3dc --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.20.1' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Graphviz', '8.1.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb new file mode 100644 index 00000000000..d5d827a43aa --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-foss-2016b-Python-2.7.12.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.5.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'foss', 'version': '2016b'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] + +dependencies = [ + ('Python', '2.7.12'), + ('Graphviz', '2.38.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb new file mode 100644 index 00000000000..c7c137b925d --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-2.7.12.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.5.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'intel', 'version': '2016b'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] + +dependencies = [ + ('Python', '2.7.12'), + ('Graphviz', '2.38.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb new file mode 100644 index 00000000000..3b72a1b71be --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.5.1-intel-2016b-Python-3.5.2.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.5.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'intel', 'version': '2016b'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['d8f8f369a5c109d3fc971bbc1860b6848515d210aee8f5019c460351dbb00a50'] + +dependencies = [ + ('Python', '3.5.2'), + ('Graphviz', '2.38.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb new file mode 100644 index 00000000000..e02e7841e5c --- /dev/null +++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.8.2-intel-2018a-Python-3.6.4.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'graphviz-python' +version = '0.8.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pypi.python.org/pypi/graphviz' +description = """Simple Python interface for Graphviz""" + +toolchain = {'name': 'intel', 'version': '2018a'} + +source_urls = ['https://pypi.python.org/packages/source/g/graphviz'] +sources = ['graphviz-%(version)s.zip'] +checksums = ['606741c028acc54b1a065b33045f8c89ee0927ea77273ec409ac988f2c3d1091'] + +dependencies = [ + ('Python', '3.6.4'), + ('Graphviz', '2.40.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'graphviz'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb deleted file mode 100644 index 346cabf772e..00000000000 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-foss-2016b-Python-2.7.12.eb +++ /dev/null @@ -1,19 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'graphviz' -version = '0.5.1' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://pypi.python.org/pypi/graphviz' -description = """Simple Python interface for Graphviz""" - -toolchain = {'name': 'foss', 'version': '2016b'} - -sources = [SOURCE_ZIP] - -dependencies = [ - ('Python', '2.7.12'), - ('Graphviz', '2.38.0'), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb deleted file mode 100644 index 3d13addde20..00000000000 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-2.7.12.eb +++ /dev/null @@ -1,19 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'graphviz' -version = '0.5.1' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://pypi.python.org/pypi/graphviz' -description = """Simple Python interface for Graphviz""" - -toolchain = {'name': 'intel', 'version': '2016b'} - -sources = [SOURCE_ZIP] - -dependencies = [ - ('Python', '2.7.12'), - ('Graphviz', '2.38.0'), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb b/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb deleted file mode 100644 index 47c26978fe3..00000000000 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.5.1-intel-2016b-Python-3.5.2.eb +++ /dev/null @@ -1,19 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'graphviz' -version = '0.5.1' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://pypi.python.org/pypi/graphviz' -description = """Simple Python interface for Graphviz""" - -toolchain = {'name': 'intel', 'version': '2016b'} - -sources = [SOURCE_ZIP] - -dependencies = [ - ('Python', '3.5.2'), - ('Graphviz', '2.38.0'), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb deleted file mode 100644 index d066bb3b71c..00000000000 --- a/easybuild/easyconfigs/g/graphviz/graphviz-0.8.2-intel-2018a-Python-3.6.4.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'graphviz' -version = '0.8.2' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://pypi.python.org/pypi/graphviz' -description = """Simple Python interface for Graphviz""" - -toolchain = {'name': 'intel', 'version': '2018a'} - -sources = [SOURCE_ZIP] -checksums = ['606741c028acc54b1a065b33045f8c89ee0927ea77273ec409ac988f2c3d1091'] - -dependencies = [ - ('Python', '3.6.4'), - ('Graphviz', '2.40.1'), -] - -moduleclass = 'vis' diff --git a/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb b/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb new file mode 100644 index 00000000000..efcdd9e7be4 --- /dev/null +++ b/easybuild/easyconfigs/g/grid/grid-20220610-intel-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'grid' +version = '20220610' +local_commit = '0677fc7' + +homepage = 'https://grid.qcdevs.org/' +description = """Grid is a free and open-source Python library for numerical integration, + interpolation and differentiation of interest for the quantum chemistry community.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/grid/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['d8189c33a9d5fc89ad0fa83089431944b346686519ec8d3c350848cf28b81d7a'] + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('sympy', '1.10.1'), +} + +download_dep_fail = True +use_pip = True + +preinstallopts = """sed -i 's|version=get_version()|version="%(version)s"|g' setup.py && """ + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ddc36e9736c --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.37'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0cea653ddcc --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.38'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.1.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..b7b41cdb5ac --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.38'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e2b37f3dcd4 --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.39'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..957f3fbd53c --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.22.4' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] + +builddependencies = [ + ('binutils', '2.40'), +] + +configopts = '--with-doc=no' + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-8.3.0.eb index be1a78b6ad3..dbb280e82ab 100644 --- a/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-8.3.0.eb @@ -15,7 +15,7 @@ checksums = ['e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293'] builddependencies = [ ('binutils', '2.32'), - ('makeinfo', '6.7'), + ('makeinfo', '6.7', '-minimal'), ] sanity_check_paths = { 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 new file mode 100644 index 00000000000..dccb74c587a --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.23.0' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13'] + +builddependencies = [ + ('binutils', '2.40'), + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..000049dbdda --- /dev/null +++ b/easybuild/easyconfigs/g/groff/groff-1.23.0-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'groff' +version = '1.23.0' + +homepage = 'https://www.gnu.org/software/groff' +description = """Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands + and produces formatted output.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/groff'] +sources = [SOURCE_TAR_GZ] +checksums = ['6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13'] + +builddependencies = [ + ('binutils', '2.42'), + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/groff', 'bin/nroff', 'bin/troff'], + 'dirs': ['lib/groff', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..27e974c5de0 --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'grpcio' +version = '1.57.0' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('binutils', '2.39'), + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-03-01'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('protobuf-python', '4.23.0'), + ('Abseil', '20230125.2'), +] + +exts_list = [ + (name, version, { + 'modulename': 'grpc', + 'preinstallopts': ( + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.57.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.57.0.tar.gz': + '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, + {'grpcio-1.57.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01d839324bb --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'grpcio' +version = '1.57.0' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('binutils', '2.40'), + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-08-01'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('protobuf-python', '4.24.0'), + ('Abseil', '20230125.3'), +] + +exts_list = [ + (name, version, { + 'modulename': 'grpc', + 'preinstallopts': ( + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && " + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + 'export GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions" &&' + "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True " + "GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True " + "GRPC_PYTHON_BUILD_SYSTEM_RE2=True " + "GRPC_PYTHON_BUILD_SYSTEM_ABSL=True " + ), + 'patches': ['grpcio-1.57.0_use-ebroot.patch'], + 'checksums': [ + {'grpcio-1.57.0.tar.gz': + '4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'}, + {'grpcio-1.57.0_use-ebroot.patch': + '5faf822cd817b723ae9361e43656d0ecc7b3333a166bbab2df80b43ae588e510'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch new file mode 100644 index 00000000000..3a7bc8cc255 --- /dev/null +++ b/easybuild/easyconfigs/g/grpcio/grpcio-1.57.0_use-ebroot.patch @@ -0,0 +1,51 @@ +diff --git a/setup.py b/setup.py +index 97c1dcec54..cc7bc8552e 100644 +--- a/setup.py ++++ b/setup.py +@@ -313,29 +313,33 @@ if "win32" in sys.platform: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + + if BUILD_WITH_SYSTEM_OPENSSL: ++ EBROOTOPENSSL = os.environ.get('EBROOTOPENSSL') + CORE_C_FILES = filter( + lambda x: "third_party/boringssl" not in x, CORE_C_FILES + ) + CORE_C_FILES = filter(lambda x: "src/boringssl" not in x, CORE_C_FILES) +- SSL_INCLUDE = (os.path.join("/usr", "include", "openssl"),) ++ SSL_INCLUDE = (os.path.join(EBROOTOPENSSL, "include", "openssl"),) + + if BUILD_WITH_SYSTEM_ZLIB: ++ EBROOTZLIB = os.environ.get('EBROOTZLIB') + CORE_C_FILES = filter(lambda x: "third_party/zlib" not in x, CORE_C_FILES) +- ZLIB_INCLUDE = (os.path.join("/usr", "include"),) ++ ZLIB_INCLUDE = (os.path.join(EBROOTZLIB, "include"),) + + if BUILD_WITH_SYSTEM_CARES: + CORE_C_FILES = filter(lambda x: "third_party/cares" not in x, CORE_C_FILES) + CARES_INCLUDE = (os.path.join("/usr", "include"),) + + if BUILD_WITH_SYSTEM_RE2: ++ EBROOTRE2 = os.environ.get('EBROOTRE2') + CORE_C_FILES = filter(lambda x: "third_party/re2" not in x, CORE_C_FILES) +- RE2_INCLUDE = (os.path.join("/usr", "include", "re2"),) ++ RE2_INCLUDE = (os.path.join(EBROOTRE2, "include", "re2"),) + + if BUILD_WITH_SYSTEM_ABSL: ++ EBROOTABSEIL = os.environ.get('EBROOTABSEIL') + CORE_C_FILES = filter( + lambda x: "third_party/abseil-cpp" not in x, CORE_C_FILES + ) +- ABSL_INCLUDE = (os.path.join("/usr", "include"),) ++ ABSL_INCLUDE = (os.path.join(EBROOTABSEIL, "include"),) + + EXTENSION_INCLUDE_DIRECTORIES = ( + (PYTHON_STEM,) +@@ -378,7 +382,7 @@ if BUILD_WITH_SYSTEM_RE2: + EXTENSION_LIBRARIES += ("re2",) + if BUILD_WITH_SYSTEM_ABSL: + EXTENSION_LIBRARIES += tuple( +- lib.stem[3:] for lib in pathlib.Path("/usr").glob("lib*/libabsl_*.so") ++ lib.stem[3:] for lib in pathlib.Path(EBROOTABSEIL).glob("lib*/libabsl_*.so") + ) + + DEFINE_MACROS = (("_WIN32_WINNT", 0x600),) 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/g/gsutil/gsutil-5.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gsutil/gsutil-5.10-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..70185fe515c --- /dev/null +++ b/easybuild/easyconfigs/g/gsutil/gsutil-5.10-GCCcore-11.2.0.eb @@ -0,0 +1,117 @@ + +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Center - Seattle Washington - US +# +easyblock = 'PythonBundle' + +name = 'gsutil' +version = '5.10' + +homepage = 'https://cloud.google.com/storage/docs/gsutil' +description = """gsutil is a Python application that lets you access Cloud Storage from the command line.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), + ('Rust', '1.54.0'), # required for setuptools-rust, which is needed for cryptography +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('typing-extensions', '4.2.0', { + 'source_tmpl': 'typing_extensions-4.2.0.tar.gz', + 'checksums': ['f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376'], + }), + ('importlib-metadata', '4.11.3', { + 'source_tmpl': 'importlib_metadata-%(version)s.tar.gz', + 'checksums': ['ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539'], + }), + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('crcmod', '1.7', { + 'checksums': ['dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e'], + }), + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('fasteners', '0.17.3', { + 'checksums': ['a9a42a208573d4074c77d041447336cf4e3c1389a256fd3e113ef59cf29b7980'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('gcs-oauth2-boto-plugin', '3.0', { + 'modulename': 'gcs_oauth2_boto_plugin', + 'checksums': ['f4120b08b7f8d32904674c98f07d4caf4083a58343c0c0fa0016e0f0254dfe31'], + }), + ('httplib2', '0.20.4', { + 'checksums': ['58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('oauth2client', '4.1.3', { + 'checksums': ['d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6'], + }), + ('google-apitools', '0.5.32', { + 'modulename': 'apitools', + 'checksums': ['c3763e52289f61e21c41d5531e20fbda9cc8484a088b8686fd460770db8bad13'], + }), + ('pyu2f', '0.1.5', { + 'checksums': ['a3caa3a11842fc7d5746376f37195e6af5f17c0a15737538bb1cebf656fb306b'], + }), + ('cachetools', '5.1.0', { + 'checksums': ['8b3b8fa53f564762e5b221e9896798951e7f915513abf2ba072ce0f07f3f5a98'], + }), + ('google-auth', '2.6.6', { + 'modulename': 'google.auth', + 'checksums': ['1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312'], + }), + ('google-reauth', '0.1.1', { + 'modulename': 'google_reauth', + 'checksums': ['f9f6852a55c2c5453d581cd01f3d1278e86147c03d008409800390a834235892'], + }), + ('cffi', '1.15.0', { + 'checksums': ['920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954'], + }), + ('cryptography', '37.0.2', { + 'preinstallopts': "export CARGO_HOME=%(builddir)s/cargo && ", + 'checksums': ['f224ad253cc9cea7568f49077007d2263efa57396a2f2f78114066fd54b5c68e'], + }), + ('pyOpenSSL', '22.0.0', { + 'modulename': 'OpenSSL', + 'checksums': ['660b1b1425aac4a1bea1d94168a85d99f0b3144c869dd4390d27629d0087f1bf'], + }), + ('retry_decorator', '1.1.1', { + 'checksums': ['e1e8ad02e518fe11073f2ea7d80b6b8be19daa27a60a1838aff7c731ddcf2ebe'], + }), + ('SocksiPy-branch', '1.01', { + 'modulename': 'socks', + 'checksums': ['17a95060e28c3b9038a9b8c1865c54f8c1c5bef15d561bf777c9bbf3c80e8406'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + (name, version, { + 'modulename': 'gslib', + 'checksums': ['21a02310b425072d3bd580c675b1af48bb30c0f4d1b7b2427893cf70b216387e'], + }), +] + +sanity_check_commands = ['gsutil help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..209e6e8c1fc --- /dev/null +++ b/easybuild/easyconfigs/g/gsutil/gsutil-5.29-GCCcore-13.2.0.eb @@ -0,0 +1,90 @@ +easyblock = 'PythonBundle' + +name = 'gsutil' +version = '5.29' + +homepage = 'https://cloud.google.com/storage/docs/gsutil' +description = """gsutil is a Python application that lets you access Cloud Storage from the command line.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('aiohttp', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('httplib2', '0.20.4', { + 'checksums': ['58a98e45b4b1a48273073f905d2961666ecf0fbac4250ea5b47aef259eb5c585'], + }), + ('argcomplete', '3.3.0', { + 'checksums': ['fd03ff4a5b9e6580569d34b273f741e85cd9e072f3feeeee3eba4891c70eda62'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('google-auth', '2.17.0', { + 'modulename': 'google.auth', + 'checksums': ['f51d26ebb3e5d723b9a7dbd310b6c88654ef1ad1fc35750d1fdba48ca4d82f52'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('google-apitools', '0.5.32', { + 'modulename': 'apitools', + 'checksums': ['c3763e52289f61e21c41d5531e20fbda9cc8484a088b8686fd460770db8bad13'], + }), + ('google-auth-httplib2', '0.2.0', { + 'checksums': ['38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05'], + }), + ('google-reauth', '0.1.1', { + 'checksums': ['f9f6852a55c2c5453d581cd01f3d1278e86147c03d008409800390a834235892'], + }), + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('pyOpenSSL', '24.1.0', { + 'modulename': 'OpenSSL', + 'checksums': ['cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('oauth2client', '4.1.3', { + 'checksums': ['d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6'], + }), + ('pyasn1_modules', '0.4.0', { + 'checksums': ['831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6'], + }), + ('pyu2f', '0.1.5', { + 'checksums': ['a3caa3a11842fc7d5746376f37195e6af5f17c0a15737538bb1cebf656fb306b'], + }), + ('crcmod', '1.7', { + 'checksums': ['dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e'], + }), + ('gcs-oauth2-boto-plugin', '3.2', { + 'checksums': ['a46817f3abed2bc4f6b4b12b0de7c8bf5ff5f1822dc03c45fa1ae6ed7a455843'], + }), + ('retry_decorator', '1.1.1', { + 'checksums': ['e1e8ad02e518fe11073f2ea7d80b6b8be19daa27a60a1838aff7c731ddcf2ebe'], + }), + (name, version, { + 'modulename': 'gslib', + 'checksums': ['0ba61c0ca97a592a2ed9d6eeb74b20434831bc6ceba380138103b24d2d53b921'], + }), +] + +sanity_check_commands = ['gsutil help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb b/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb new file mode 100644 index 00000000000..b18c6a53181 --- /dev/null +++ b/easybuild/easyconfigs/g/gsw/gsw-3.6.16-foss-2022a.eb @@ -0,0 +1,35 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'gsw' +version = '3.6.16' + +homepage = 'https://github.com/TEOS-10/GSW-python' +description = """This Python implementation of the Thermodynamic Equation of +Seawater 2010 (TEOS-10) is based primarily on numpy ufunc wrappers of the GSW-C +implementation. This library replaces the original python-gsw pure-python +implementation.. The primary reasons for this change are that by building on +the C implementation we reduce code duplication and we gain an immediate update +to the 75-term equation. +Additional benefits include a major increase in speed, a reduction in memory +usage, and the inclusion of more functions. The penalty is that a C +(or MSVC C++ for Windows) compiler is required to build the package from source.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d24d820c8b43dbf72206cf5e3b0ed800b05aa85ca40afd39c9abd19849714197'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/g/gtk-doc/gtk-doc-1.34.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gtk-doc/gtk-doc-1.34.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dd18263d557 --- /dev/null +++ b/easybuild/easyconfigs/g/gtk-doc/gtk-doc-1.34.0-GCCcore-12.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'gtk-doc' +version = '1.34.0' + +homepage = 'https://gitlab.gnome.org/GNOME/gtk-doc' +description = """Documentation tool for public library API""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/gtk-doc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e1d544fa70ae60014a241b674c9d989f4ad6a96554652ebf73bbe94b4da1aa35'] + +builddependencies = [ + ('binutils', '2.40'), + ('yelp-tools', '42.1'), + ('Ninja', '1.11.1'), + ('Meson', '1.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Pygments', '2.18.0'), + ('GLib', '2.77.1'), +] + +sanity_check_paths = { + 'files': [ + 'bin/gtkdoc-depscan', + 'bin/gtkdoc-fixxref', + 'bin/gtkdoc-check', + 'bin/gtkdocize', + 'bin/gtkdoc-mkdb', + 'bin/gtkdoc-mkhtml', + 'bin/gtkdoc-mkhtml2', + 'bin/gtkdoc-mkman', + 'bin/gtkdoc-mkpdf', + 'bin/gtkdoc-rebase', + 'bin/gtkdoc-scan', + 'bin/gtkdoc-scangobj', + ], + 'dirs': [ + 'lib/cmake/GtkDoc', + 'share/%(name)s', + ], +} + +sanity_check_commands = ['gtkdoc-depscan'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gubbins/gubbins-2.4.0.eb b/easybuild/easyconfigs/g/gubbins/gubbins-2.4.0.eb deleted file mode 100644 index 3bd71c3f03d..00000000000 --- a/easybuild/easyconfigs/g/gubbins/gubbins-2.4.0.eb +++ /dev/null @@ -1,43 +0,0 @@ -## -# 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:: GPLv2.0 -# -# Notes:: This is a conda version installation -## - -easyblock = 'Conda' - -name = 'gubbins' -version = '2.4.0' - -homepage = 'https://sanger-pathogens.github.io/gubbins' -description = """ -Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) -is an algorithm that iteratively identifies loci containing elevated densities of base -substitutions while concurrently constructing a phylogeny based on the putative point mutations -outside of these regions. Simulations demonstrate the algorithm generates highly accurate -reconstructions under realistic models of short-term bacterial evolution, and can be run -in only a few hours on alignments of hundreds of bacterial genome sequences. -""" - -toolchain = SYSTEM - -channels = ['r', 'conda-forge', 'bioconda'] - -requirements = '%(namelower)s=%(version)s python=3.6' - -dependencies = [ - ('Miniconda3', '4.7.10', '', True) -] - -sanity_check_commands = [('gubbins', '-h')] - -sanity_check_paths = { - 'files': ['bin/run_gubbins.py'], - 'dirs': ['bin'], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..3f1a7405848 --- /dev/null +++ b/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'gym-pybullet-drones' +local_commit = '3d7b12edd4915a27e6cec9f2c0eb4b5479f7735e' +version = '2.0.0-%s' % local_commit[:7] +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://utiasdsl.github.io/gym-pybullet-drones/' +description = """PyBullet-based Gym for single and multi-agent +reinforcement learning with nano-quadcopters""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), + ('pytest', '7.4.2'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Gymnasium', '0.29.1', versionsuffix), + ('PyBullet', '3.2.6'), + ('Stable-Baselines3', '2.3.2', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('transforms3d', '0.4.2', { + 'checksums': ['e8b5df30eaedbee556e81c6938e55aab5365894e47d0a17615d7db7fd2393680'], + }), + (name, version, { + 'preinstallopts': """sed -i -e 's/gymnasium.*/gymnasium="*"/' """ + """-e 's/transforms3d.*/transforms3d="*"/' pyproject.toml && """, + 'source_urls': ['https://github.com/utiasDSL/gym-pybullet-drones/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8ff745f590328e2a8fc4701c90d77056d7041f09f28e0ccb821efcc599ae0d8e'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a.eb b/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a.eb new file mode 100644 index 00000000000..7f2f12c79bc --- /dev/null +++ b/easybuild/easyconfigs/g/gym-pybullet-drones/gym-pybullet-drones-2.0.0-3d7b12e-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'gym-pybullet-drones' +local_commit = '3d7b12edd4915a27e6cec9f2c0eb4b5479f7735e' +version = '2.0.0-%s' % local_commit[:7] + +homepage = 'https://utiasdsl.github.io/gym-pybullet-drones/' +description = """PyBullet-based Gym for single and multi-agent +reinforcement learning with nano-quadcopters""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), + ('pytest', '7.4.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Gymnasium', '0.29.1'), + ('PyBullet', '3.2.6'), + ('Stable-Baselines3', '2.3.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('transforms3d', '0.4.2', { + 'checksums': ['e8b5df30eaedbee556e81c6938e55aab5365894e47d0a17615d7db7fd2393680'], + }), + (name, version, { + 'preinstallopts': """sed -i -e 's/gymnasium.*/gymnasium="*"/' """ + """-e 's/transforms3d.*/transforms3d="*"/' pyproject.toml && """, + 'source_urls': ['https://github.com/utiasDSL/gym-pybullet-drones/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8ff745f590328e2a8fc4701c90d77056d7041f09f28e0ccb821efcc599ae0d8e'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.10-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..633d7f7791b --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.10-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.10' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['c91f74430bf7bc20402e1f657d0b252cb80aa66ba333a25704512af346633c68'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d5a319eea58 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.12' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['gzip-1.12_fix-gnulib-strndup-redeclaration.patch'] +checksums = [ + '5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085', # gzip-1.12.tar.gz + # gzip-1.12_fix-gnulib-strndup-redeclaration.patch + '9c67e3e88848f7ff1f19f29d87f286bac1cc8f027f7eea9bcaf53883b95032e4', +] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..22956fb64c7 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.12' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['gzip-1.12_fix-gnulib-strndup-redeclaration.patch'] +checksums = [ + '5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085', # gzip-1.12.tar.gz + # gzip-1.12_fix-gnulib-strndup-redeclaration.patch + '9c67e3e88848f7ff1f19f29d87f286bac1cc8f027f7eea9bcaf53883b95032e4', +] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..917a7468794 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.12-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.12' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['gzip-1.12_fix-gnulib-strndup-redeclaration.patch'] +checksums = [ + '5b4fb14d38314e09f2fc8a1c510e7cd540a3ea0e3eb9b0420046b82c3bf41085', # gzip-1.12.tar.gz + # gzip-1.12_fix-gnulib-strndup-redeclaration.patch + '9c67e3e88848f7ff1f19f29d87f286bac1cc8f027f7eea9bcaf53883b95032e4', +] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.12_fix-gnulib-strndup-redeclaration.patch b/easybuild/easyconfigs/g/gzip/gzip-1.12_fix-gnulib-strndup-redeclaration.patch new file mode 100644 index 00000000000..f8cbf883a92 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.12_fix-gnulib-strndup-redeclaration.patch @@ -0,0 +1,27 @@ +Patch taken from: +https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00080.html +2022-04-30 Bruno Haible +---------------------------------------------- +diff --git a/lib/string.in.h b/lib/string.in.h +index b6840fa912..33160b2525 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -583,7 +583,7 @@ _GL_FUNCDECL_RPL (strndup, char *, + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); + # else +-# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11 ++# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) +@@ -593,7 +593,7 @@ _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); + # endif + _GL_CXXALIASWARN (strndup); + #else +-# if __GNUC__ >= 11 ++# if __GNUC__ >= 11 && !defined strndup + /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c11c6bf95f0 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.13' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..62e179b0998 --- /dev/null +++ b/easybuild/easyconfigs/g/gzip/gzip-1.13-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'gzip' +version = '1.13' + +homepage = 'https://www.gnu.org/software/gzip/' +description = "gzip (GNU zip) is a popular data compression program as a replacement for compress" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['20fc818aeebae87cdbf209d35141ad9d3cf312b35a5e6be61bfcfbf9eddd212a'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ["bin/gunzip", "bin/gzip", "bin/uncompress"], + 'dirs': [], +} + +sanity_check_commands = [True, ('gzip', '--version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..0b7aef32343 --- /dev/null +++ b/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'HD-BET' +version = '20220318' +versionsuffix = '-CUDA-%(cudaver)s' +_commit = '56c7fb8e6509563aa6377cdb0f2dd4e7ad359252' + +homepage = 'https://github.com/MIC-DKFZ/HD-BET' +description = "Tool for brain extraction." + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'MIC-DKFZ' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % _commit] +checksums = ['744eb7b084feefb4243855529537a47fa4d1c1d93b6b967969c2ede8b9b8b46a'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyTorch', '1.10.0', versionsuffix), + ('scikit-image', '0.18.3'), + ('SimpleITK', '2.1.1'), + ('batchgenerators', '0.25'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'HD_BET'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a.eb b/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a.eb new file mode 100644 index 00000000000..e671387837e --- /dev/null +++ b/easybuild/easyconfigs/h/HD-BET/HD-BET-20220318-foss-2021a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'HD-BET' +version = '20220318' +_commit = '56c7fb8e6509563aa6377cdb0f2dd4e7ad359252' + +homepage = 'https://github.com/MIC-DKFZ/HD-BET' +description = "Tool for brain extraction." + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'MIC-DKFZ' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % _commit] +checksums = ['744eb7b084feefb4243855529537a47fa4d1c1d93b6b967969c2ede8b9b8b46a'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyTorch', '1.10.0'), + ('scikit-image', '0.18.3'), + ('SimpleITK', '2.1.1'), + ('batchgenerators', '0.25'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'HD_BET'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.24-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.24-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..f3b8f0febc7 --- /dev/null +++ b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.24-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'HDBSCAN' +version = '0.8.24' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'http://hdbscan.readthedocs.io/en/latest/' +description = """The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense + regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library + provides a high performance implementation of this algorithm, along with tools for analysing the resulting + clustering.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fe31a7ea0ce2c9babd190a195e491834ff9f64c74daa4ca94fa65a88f701269a'] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('scikit-learn', '0.21.3', versionsuffix), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.27-foss-2021a.eb b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.27-foss-2021a.eb new file mode 100644 index 00000000000..31a036d1a47 --- /dev/null +++ b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.27-foss-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'HDBSCAN' +version = '0.8.27' + +homepage = 'http://hdbscan.readthedocs.io/en/latest/' +description = """The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense + regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library + provides a high performance implementation of this algorithm, along with tools for analysing the resulting + clustering.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e3a418d0d36874f7b6a1bf0b7461f3857fc13a525fd48ba34caed2fe8973aa26'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb new file mode 100644 index 00000000000..f89267e310b --- /dev/null +++ b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.29-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'HDBSCAN' +version = '0.8.29' + +homepage = 'http://hdbscan.readthedocs.io/en/latest/' +description = """The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense + regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library + provides a high performance implementation of this algorithm, along with tools for analysing the resulting + clustering.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['7e9d7351610eaadddb281e3149a74e22e329bc0b5325f631031d4b63a6a770ae'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.38.post1-foss-2023a.eb b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.38.post1-foss-2023a.eb new file mode 100644 index 00000000000..b260708eab8 --- /dev/null +++ b/easybuild/easyconfigs/h/HDBSCAN/HDBSCAN-0.8.38.post1-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'HDBSCAN' +version = '0.8.38.post1' + +homepage = 'http://hdbscan.readthedocs.io/en/latest/' +description = """The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense + regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library + provides a high performance implementation of this algorithm, along with tools for analysing the resulting + clustering.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5fbdba2ffb5a99a8b52fa2915658ced6bed59f4d0d5f40b1c673646c928aac0b'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb new file mode 100644 index 00000000000..315d8227b8f --- /dev/null +++ b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'HDDM' +version = '0.9.9' + +homepage = 'https://hddm.readthedocs.io/' +description = """HDDM is a Python toolbox for hierarchical Bayesian parameter estimation + of the Drift Diffusion Model (via PyMC).""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('tqdm', '4.62.3'), + ('PyMC', '2.3.8'), + ('ArviZ', '0.11.4'), + ('PyTorch', '1.12.1'), +] + +use_pip = True + +exts_list = [ + ('kabuki', '0.6.5', { + 'checksums': ['ffd8aabba4355a6ee55287120c02e8fb6300482970e3dbe615e07ed8102dba69'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('ssm-simulators', '0.3.0', { + 'modulename': 'ssms', + 'checksums': ['5477025d0c2a6a7f8aa3aa336a1368ff3256d86956f1bb93d7cc507a5651a860'], + }), + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'checksums': ['2ed64db2be7acb5ef4c8b07dcf8ea4680fdfd168876be19db9cf885dd490fe5f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/hddm_demo.py'], + 'dirs': [], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb new file mode 100644 index 00000000000..8033ec45b87 --- /dev/null +++ b/easybuild/easyconfigs/h/HDDM/HDDM-0.9.9-intel-2021b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'HDDM' +version = '0.9.9' + +homepage = 'https://hddm.readthedocs.io/' +description = """HDDM is a Python toolbox for hierarchical Bayesian parameter estimation + of the Drift Diffusion Model (via PyMC).""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('tqdm', '4.62.3'), + ('PyMC', '2.3.8'), + ('ArviZ', '0.11.4'), +] + +use_pip = True + +exts_list = [ + ('kabuki', '0.6.5', { + 'checksums': ['ffd8aabba4355a6ee55287120c02e8fb6300482970e3dbe615e07ed8102dba69'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('ssm-simulators', '0.3.0', { + 'modulename': 'ssms', + 'checksums': ['5477025d0c2a6a7f8aa3aa336a1368ff3256d86956f1bb93d7cc507a5651a860'], + }), + ('patsy', '0.5.6', { + 'checksums': ['95c6d47a7222535f84bff7f63d7303f2e297747a598db89cf5c67f0c0c7d2cdb'], + }), + (name, version, { + 'checksums': ['2ed64db2be7acb5ef4c8b07dcf8ea4680fdfd168876be19db9cf885dd490fe5f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/hddm_demo.py'], + 'dirs': [], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HDF-EOS/HDF-EOS-2.20-GCCcore-10.2.0.eb b/easybuild/easyconfigs/h/HDF-EOS/HDF-EOS-2.20-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..801944ccbed --- /dev/null +++ b/easybuild/easyconfigs/h/HDF-EOS/HDF-EOS-2.20-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'HDF-EOS' +version = '2.20' + +homepage = 'https://hdfeos.org/' +description = """HDF-EOS libraries are software libraries built on HDF libraries. + It supports three data structures for remote sensing data: Grid, Point and Swath.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos/'] +sources = [ + {'download_filename': 'cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903', + 'filename': '%(name)s%(version)sv1.00.tar.Z'} +] +checksums = ['cb0f900d2732ab01e51284d6c9e90d0e852d61bba9bce3b43af0430ab5414903'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('HDF', '4.2.15'), + ('Szip', '2.1.1'), +] + +preconfigopts = 'export CC="$EBROOTHDF/bin/h4cc -Df2cFortran" && ' + +configopts = "--with-szlib=$EBROOTSZIP --enable-install-include" + +sanity_check_paths = { + 'files': ['include/HdfEosDef.h', 'include/HDFEOSVersion.h', 'lib/libGctp.a', 'lib/libhdfeos.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..58e32a5f2b2 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF-EOS2/HDF-EOS2-3.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'HDF-EOS2' +version = '3.0' + +homepage = 'https://hdfeos.org/' +description = """HDF-EOS libraries are software libraries built on HDF libraries. + It supports three data structures for remote sensing data: Grid, Point and Swath.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://git.earthdata.nasa.gov/projects/DAS/repos/hdfeos/raw/'] +sources = [ + {'download_filename': '%(namelower)s-%(version)s-src.tar.gz?at=3128a738021501c821549955f6c78348e5f33850', + 'filename': SOURCE_TAR_GZ} +] +checksums = ['3a5564b4d69b541139ff7dfdad948696cf31d9d1a6ea8af290c91a4c0ee37188'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('HDF', '4.2.15'), + ('Szip', '2.1.1'), +] + +preconfigopts = 'export CC="$EBROOTHDF/bin/h4cc -Df2cFortran" && ' + +# `--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'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF-EOS5/HDF-EOS5-1.16-gompi-2020b.eb b/easybuild/easyconfigs/h/HDF-EOS5/HDF-EOS5-1.16-gompi-2020b.eb new file mode 100644 index 00000000000..49eb02b40fd --- /dev/null +++ b/easybuild/easyconfigs/h/HDF-EOS5/HDF-EOS5-1.16-gompi-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'HDF-EOS5' +version = '1.16' + +homepage = 'https://hdfeos.org/' +description = """HDF-EOS libraries are software libraries built on HDF libraries. + It supports three data structures for remote sensing data: Grid, Point and Swath.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://git.earthdata.nasa.gov/rest/git-lfs/storage/DAS/hdfeos5/'] +sources = [ + {'download_filename': '7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452', + 'filename': '%(name)s.%(version)s.tar.Z'} +] +checksums = ['7054de24b90b6d9533329ef8dc89912c5227c83fb447792103279364e13dd452'] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Szip', '2.1.1'), +] + +preconfigopts = 'export CC="$EBROOTHDF5/bin/h5pcc -Df2cFortran" && ' + +configopts = "--with-szlib=$EBROOTSZIP --enable-install-include" + +sanity_check_paths = { + 'files': ['include/HE5_HdfEosDef.h', 'include/HE5_GctpFunc.h', 'lib/libGctp.a', 'lib/libhe5_hdfeos.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb index e115932f8ee..3e25fa94133 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.11-intel-2016a.eb @@ -3,15 +3,16 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.11' -homepage = 'http://www.hdfgroup.org/products/hdf4/' +homepage = 'http://support.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': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +checksums = ['c3f7753b2fb9b27d09eced4d2164605f111f270c9a60b37a578f7de02de86d24'] builddependencies = [ ('flex', '2.6.0'), diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.12-intel-2017a.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.12-intel-2017a.eb index 36b03f18536..5fade2d2248 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.12-intel-2017a.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.12-intel-2017a.eb @@ -3,15 +3,16 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.12' -homepage = 'http://www.hdfgroup.org/products/hdf4/' +homepage = 'http://support.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': 'intel', 'version': '2017a'} toolchainopts = {'pic': True} +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +checksums = ['dd419c55e85d1a0e13f3ea5ed35d00710033ccb16c85df088eb7925d486e040c'] builddependencies = [ ('flex', '2.6.3'), diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.13-GCCcore-6.4.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.13-GCCcore-6.4.0.eb index f1b4395af48..39dc5507935 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.13-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.13-GCCcore-6.4.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.13' -homepage = 'http://www.hdfgroup.org/products/hdf4/' +homepage = 'http://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -14,7 +14,7 @@ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} toolchainopts = {'pic': True} sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] checksums = ['be9813c1dc3712c2df977d4960e1f13f20f447dfa8c3ce53331d610c1f470483'] builddependencies = [ diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.13-intel-2017a-no-netcdf.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.13-intel-2017a-no-netcdf.eb index 84bff2749e9..74e44dbfc26 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.13-intel-2017a-no-netcdf.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.13-intel-2017a-no-netcdf.eb @@ -4,7 +4,7 @@ name = 'HDF' version = '4.2.13' versionsuffix = '-no-netcdf' -homepage = 'http://www.hdfgroup.org/products/hdf4/' +homepage = 'http://support.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. This version suppresses the netcdf api, that gives issues with some applications""" @@ -12,7 +12,7 @@ toolchain = {'name': 'intel', 'version': '2017a'} toolchainopts = {'pic': True} sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] checksums = ['be9813c1dc3712c2df977d4960e1f13f20f447dfa8c3ce53331d610c1f470483'] builddependencies = [ diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-6.4.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-6.4.0.eb index 1f31e675f7a..56e705f36a2 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-6.4.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.14' -homepage = 'http://www.hdfgroup.org/products/hdf4/' +homepage = 'http://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a'] diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-7.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-7.3.0.eb index 204d917a179..51b65acec93 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-7.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.14' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['https://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a'] diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.2.0.eb index bf3fff366f2..a78efd6cee2 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.2.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.14' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a'] diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.3.0.eb index ff08dc71e80..fdee3ff0383 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.14-GCCcore-8.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.14' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2d383e87c8a0ca6a5352adbd1d5546e6cc43dc21ff7d90f93efa644d85c0b14a'] diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.2.0.eb index bdb2cb878ee..91e084fc238 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.2.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.15' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] patches = ['HDF-4.2.15_fix-aarch64.patch'] checksums = [ diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.3.0.eb index 869a6a796a2..7fff3f348bb 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-10.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.15' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] patches = ['HDF-4.2.15_fix-aarch64.patch'] checksums = [ diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7acaaafc09d --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.15' + +homepage = 'https://support.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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['HDF-4.2.15_fix-aarch64.patch'] +checksums = [ + 'dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459', # hdf-4.2.15.tar.gz + '1b4341e309cccefc6ea4310c8f8b08cc3dfe1fa9609b7fa7aee80e4dac598473', # HDF-4.2.15_fix-aarch64.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '2.0.6'), + ('Szip', '2.1.1'), + ('zlib', '1.2.11'), + ('libtirpc', '1.3.2'), +] + +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 = [ + # -fallow-argument-mismatch is required to compile with GCC 10.x + local_common_configopts + 'FFLAGS="$FFLAGS -fallow-argument-mismatch"', + # 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", +] + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', + 'lib/libmfhdf.%s' % SHLIB_EXT], + 'dirs': ['include/hdf'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4af8d274164 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.15' + +homepage = 'https://support.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['HDF-4.2.15_fix-aarch64.patch'] +checksums = [ + 'dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459', # hdf-4.2.15.tar.gz + '1b4341e309cccefc6ea4310c8f8b08cc3dfe1fa9609b7fa7aee80e4dac598473', # HDF-4.2.15_fix-aarch64.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.3'), + ('Szip', '2.1.1'), + ('zlib', '1.2.12'), + ('libtirpc', '1.3.2'), +] + +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 = [ + # -fallow-argument-mismatch is required to compile with GCC 10.x + local_common_configopts + 'FFLAGS="$FFLAGS -fallow-argument-mismatch"', + # 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", +] + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', + 'lib/libmfhdf.%s' % SHLIB_EXT], + 'dirs': ['include/hdf'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..abab2d962f5 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-12.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.15' + +homepage = 'https://support.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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['HDF-4.2.15_fix-aarch64.patch'] +checksums = [ + 'dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459', # hdf-4.2.15.tar.gz + '1b4341e309cccefc6ea4310c8f8b08cc3dfe1fa9609b7fa7aee80e4dac598473', # HDF-4.2.15_fix-aarch64.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.4'), + ('Szip', '2.1.1'), + ('zlib', '1.2.12'), + ('libtirpc', '1.3.3'), +] + +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 = [ + # -fallow-argument-mismatch is required to compile with GCC 10.x + local_common_configopts + 'FFLAGS="$FFLAGS -fallow-argument-mismatch"', + # 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", +] + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', + 'lib/libmfhdf.%s' % SHLIB_EXT], + 'dirs': ['include/hdf'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-9.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-9.3.0.eb index fd6e6693977..7e6b5eefbe8 100644 --- a/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.15-GCCcore-9.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'HDF' version = '4.2.15' -homepage = 'https://www.hdfgroup.org/products/hdf4/' +homepage = 'https://support.hdfgroup.org/products/hdf4/' description = """ HDF (also known as HDF4) is a library and multi-object file format for @@ -13,7 +13,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] sources = [SOURCELOWER_TAR_GZ] patches = ['HDF-4.2.15_fix-aarch64.patch'] checksums = [ diff --git a/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..175aaba4731 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-2-GCCcore-12.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.16-2' + +homepage = 'https://support.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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://support.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', '2.1.5.1'), + ('Szip', '2.1.1'), + ('zlib', '1.2.13'), + ('libtirpc', '1.3.3'), +] + +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/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..f2c20e888b9 --- /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://support.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://support.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/HDF/HDF-4.2.16-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fd9d8d3d4ea --- /dev/null +++ b/easybuild/easyconfigs/h/HDF/HDF-4.2.16-GCCcore-12.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'HDF' +version = '4.2.16' + +homepage = 'https://support.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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://support.hdfgroup.org/ftp/HDF/releases/HDF%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2bd48dcefb5ab4829fba27dca6fad20b842d495dfd64944b2412b2b0968bf167'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('Szip', '2.1.1'), + ('zlib', '1.2.13'), + ('libtirpc', '1.3.3'), +] + +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, + # netcdf must be disabled to allow HDF to be used by GDAL + local_common_configopts + "--enable-shared --disable-netcdf", +] + +modextrapaths = {'CPATH': 'include/hdf'} + +sanity_check_paths = { + 'files': ['bin/h4cc', 'bin/ncdump', 'lib/libdf.a', 'lib/libhdf4.settings', 'lib/libmfhdf.a', + 'lib/libmfhdf.%s' % SHLIB_EXT], + 'dirs': ['include/hdf'], +} + +sanity_check_commands = [ + "h4cc --help", + "ncdump -V", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb new file mode 100644 index 00000000000..9862e5f86f1 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCC-8.3.0-serial.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +version = '1.10.5' +versionsuffix = '-serial' + +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': 'GCC', 'version': '8.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb deleted file mode 100644 index 7bc2b35825e..00000000000 --- a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.5-GCCcore-8.3.0-serial.eb +++ /dev/null @@ -1,26 +0,0 @@ -name = 'HDF5' -version = '1.10.5' -versionsuffix = '-serial' - -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': 'GCCcore', 'version': '8.3.0'} -toolchainopts = {'pic': True} - -source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['6d4ce8bf902a97b050f6f491f4268634e252a63dadd6656a1a9be5b7b7726fa8'] - -builddependencies = [ - ('binutils', '2.32'), -] - -dependencies = [ - ('zlib', '1.2.11'), - ('Szip', '2.1.1'), -] - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.6-iompi-2020a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.6-iompi-2020a.eb new file mode 100644 index 00000000000..ddde88aa068 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.6-iompi-2020a.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.10.6' + +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': 'iompi', 'version': '2020a'} +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 = ['5f9a3ee85db4ea1d3b1fa9159352aebc2af72732fc2f58c96a3f0768dba0e9aa'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.7-iompi-2021a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.7-iompi-2021a.eb new file mode 100644 index 00000000000..2b0187340e2 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.7-iompi-2021a.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.10.7' + +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': 'iompi', 'version': '2021a'} +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 = ['7a1a0a54371275ce2dfc5cd093775bb025c365846512961e7e5ceaecb437ef15'] +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2021b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2021b.eb new file mode 100644 index 00000000000..56617ae1c6d --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2021b.eb @@ -0,0 +1,28 @@ +# Updated to version 1.10.8, needed for HISAT2-2.2.1 +# J. Sassmannshausen + +name = 'HDF5' +version = '1.10.8' + +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': '2021b'} +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_BZ2] +checksums = ['66ec544b195a4cb9f6ffed034fd82e52429d6112747c2996ab69853f606e546b'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +# needed to build HL-tools: gif2h5 gif2h5 and h5watch +# beware that gif tools are affected by multiple CVEs: CVE-2018-17433, CVE-2018-17436, CVE-2020-10809 +# configopts = "--enable-hltools" + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb new file mode 100644 index 00000000000..3091b947d74 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.10.8-gompi-2022a.eb @@ -0,0 +1,28 @@ +# Updated to version 1.10.8, needed for HISAT2-2.2.1 +# J. Sassmannshausen + +name = 'HDF5' +version = '1.10.8' + +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': '2022a'} +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_BZ2] +checksums = ['66ec544b195a4cb9f6ffed034fd82e52429d6112747c2996ab69853f606e546b'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +# needed to build HL-tools: gif2h5 gif2h5 and h5watch +# beware that gif tools are affected by multiple CVEs: CVE-2018-17433, CVE-2018-17436, CVE-2020-10809 +# configopts = "--enable-hltools" + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021a.eb new file mode 100644 index 00000000000..05f4456f763 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021a.eb @@ -0,0 +1,24 @@ +## +# Author: Robert Mijakovic +## +name = 'HDF5' +version = '1.12.1' + +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': '2021a'} +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 = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021b.eb new file mode 100644 index 00000000000..06409128712 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-gompi-2021b.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.12.1' + +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': '2021b'} +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 = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-iimpi-2021b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-iimpi-2021b.eb new file mode 100644 index 00000000000..c854127cb09 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.1-iimpi-2021b.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.12.1' + +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': '2021b'} +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 = ['79c66ff67e666665369396e9c90b32e238e501f345afd2234186bfb8331081ca'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb new file mode 100644 index 00000000000..ce6efc4e6ba --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-GCC-11.3.0-serial.eb @@ -0,0 +1,23 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.12.2' +versionsuffix = '-serial' + +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': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-NVHPC-22.7-CUDA-11.7.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-NVHPC-22.7-CUDA-11.7.0-serial.eb new file mode 100644 index 00000000000..292ed3d9084 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-NVHPC-22.7-CUDA-11.7.0-serial.eb @@ -0,0 +1,23 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.12.2' +versionsuffix = "-serial" + +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': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-gompi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-gompi-2022a.eb new file mode 100644 index 00000000000..19a00c01481 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-gompi-2022a.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.12.2' + +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': '2022a'} +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 = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-iimpi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-iimpi-2022a.eb new file mode 100644 index 00000000000..9f8df24dff4 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-iimpi-2022a.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.12.2' + +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': '2022a'} +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 = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-nvompi-2022.07.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-nvompi-2022.07.eb new file mode 100644 index 00000000000..753cb09454a --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.12.2-nvompi-2022.07.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.12.2' + +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': 'nvompi', 'version': '2022.07'} +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 = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb new file mode 100644 index 00000000000..60a4e24dfdb --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-GCC-11.3.0-serial.eb @@ -0,0 +1,22 @@ +name = 'HDF5' +version = '1.13.1' +versionsuffix = '-serial' + +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': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-gompi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-gompi-2022a.eb new file mode 100644 index 00000000000..069d7bb84d9 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-gompi-2022a.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.13.1' + +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': '2022a'} +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 = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-iimpi-2022a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-iimpi-2022a.eb new file mode 100644 index 00000000000..68b63efb0a2 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.13.1-iimpi-2022a.eb @@ -0,0 +1,21 @@ +name = 'HDF5' +version = '1.13.1' + +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': '2022a'} +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 = ['051655873105112f7aeccd5f59ab21f35f7f4907f06921ae61aaf1ef1c71fd53'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb new file mode 100644 index 00000000000..fc3bdeb419e --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2022b.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +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': '2022b'} +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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +# 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.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2023a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2023a.eb new file mode 100644 index 00000000000..b66881857ec --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-gompi-2023a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +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': '2023a'} +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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +# 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.0-iimpi-2022b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb new file mode 100644 index 00000000000..8c20eb4138e --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2022b.eb @@ -0,0 +1,25 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +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': '2022b'} +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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +_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.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb new file mode 100644 index 00000000000..0a18df1abcc --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.0-iimpi-2023a.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +# Note: Odd minor releases are only RCs and should not be used. +version = '1.14.0' + +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': '2023a'} +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 = ['a571cc83efda62e1a51a0a912dd916d01895801c5025af91669484a1575a6ef4'] + +# 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-gompi-2023b.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb new file mode 100644 index 00000000000..5cb05f4a4a1 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-gompi-2023b.eb @@ -0,0 +1,30 @@ +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] +patches = ['HDF5-1.14.3_suppress_fp_exceptions.patch'] +checksums = [ + {'hdf5-1.14.3.tar.gz': '09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'}, + {'HDF5-1.14.3_suppress_fp_exceptions.patch': 'bf33e579c93a16043c54b266321bbe95e4a8797f7fe6d096a13ce905ed2ffde7'}, +] + +# 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..e180d8619ee --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3-iimpi-2023b.eb @@ -0,0 +1,30 @@ +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] +patches = ['HDF5-1.14.3_suppress_fp_exceptions.patch'] +checksums = [ + {'hdf5-1.14.3.tar.gz': '09cdb287aa7a89148c1638dd20891fdbae08102cf433ef128fd345338aa237c7'}, + {'HDF5-1.14.3_suppress_fp_exceptions.patch': 'bf33e579c93a16043c54b266321bbe95e4a8797f7fe6d096a13ce905ed2ffde7'}, +] + +# 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_suppress_fp_exceptions.patch b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3_suppress_fp_exceptions.patch new file mode 100644 index 00000000000..420125db46d --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.3_suppress_fp_exceptions.patch @@ -0,0 +1,223 @@ +See: https://github.com/HDFGroup/hdf5/commit/e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b + +Created using +git checkout hdf5-1_14_3 +git cherry-pick e0d095ebf020706ec7d7c82e6674b18f1a0a2d5b + +commit 7c58dd64db0a6c04dea46dee1c7effbe8103ae82 +Author: Dana Robinson <43805+derobins@users.noreply.github.com> +Date: Tue Nov 7 08:13:30 2023 -0800 + + Disable FP exceptions in H5T init code (#3837) + + The H5T floating-point datatype initialization code can raise exceptions when handling signaling NaNs. This change disables FE_INVALID exceptions during initialization. + + Also removes the -ieee=full change for NAG Fortran as that shouldn't be necessary anymore. + + Fixes #3831 + +diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1 +index 328f8d3cec..079f08d96c 100644 +--- a/config/linux-gnulibc1 ++++ b/config/linux-gnulibc1 +@@ -173,10 +173,7 @@ case $FC_BASENAME in + nagfor) + + F9XSUFFIXFLAG="" +- # NOTE: The default is -ieee=stop, which will cause problems +- # when the H5T module performs floating-point type +- # introspection +- AM_FCFLAGS="$AM_FCFLAGS -ieee=full" ++ AM_FCFLAGS="$AM_FCFLAGS" + FSEARCH_DIRS="" + + # Production +diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt +index 200576332b..7de2a56974 100644 +--- a/release_docs/RELEASE.txt ++++ b/release_docs/RELEASE.txt +@@ -250,6 +250,29 @@ Bug Fixes since HDF5-1.14.2 release + =================================== + Library + ------- ++ - Suppressed floating-point exceptions in H5T init code ++ ++ The floating-point datatype initialization code in H5Tinit_float.c ++ could raise FE_INVALID exceptions while munging bits and performing ++ comparisons that might involve NaN. This was not a problem when the ++ initialization code was executed in H5detect at compile time (prior ++ to 1.14.3), but now that the code is executed at library startup ++ (1.14.3+), these exceptions can be caught by user code, as is the ++ default in the NAG Fortran compiler. ++ ++ Starting in 1.14.4, we now suppress floating-point exceptions while ++ initializing the floating-point types and clear FE_INVALID before ++ restoring the original environment. ++ ++ Fixes GitHub #3831 ++ ++ - Fixed a file handle leak in the core VFD ++ ++ When opening a file with the core VFD and a file image, if the file ++ already exists, the file check would leak the POSIX file handle. ++ ++ Fixes GitHub issue #635 ++ + - Fixed some issues with chunk index metadata not getting read + collectively when collective metadata reads are enabled + +@@ -619,12 +642,6 @@ Known Problems + this release with link errors. As a result, Windows binaries for this release + will not include Fortran. The problem will be addressed in HDF5 1.14.4. + +- IEEE standard arithmetic enables software to raise exceptions such as overflow, +- division by zero, and other illegal operations without interrupting or halting +- the program flow. The HDF5 C library intentionally performs these exceptions. +- Therefore, the "-ieee=full" nagfor switch is necessary when compiling a program +- to avoid stopping on an exception. +- + CMake files do not behave correctly with paths containing spaces. + Do not use spaces in paths because the required escaping for handling spaces + results in very complex and fragile build files. +diff --git a/src/H5Tinit_float.c b/src/H5Tinit_float.c +index 3b9e127fe4..3213f00fec 100644 +--- a/src/H5Tinit_float.c ++++ b/src/H5Tinit_float.c +@@ -51,19 +51,23 @@ + * Function: DETECT_F + * + * Purpose: This macro takes a floating point type like `double' and +- * a base name like `natd' and detects byte order, mantissa +- * location, exponent location, sign bit location, presence or +- * absence of implicit mantissa bit, and exponent bias and +- * initializes a detected_t structure with those properties. ++ * and detects byte order, mantissa location, exponent location, ++ * sign bit location, presence or absence of implicit mantissa ++ * bit, and exponent bias and initializes a detected_t structure ++ * with those properties. ++ * ++ * Note that these operations can raise floating-point ++ * exceptions and building with some compiler options ++ * (especially Fortran) can cause problems. + *------------------------------------------------------------------------- + */ +-#define DETECT_F(TYPE, VAR, INFO) \ ++#define DETECT_F(TYPE, INFO) \ + do { \ +- TYPE _v1, _v2, _v3; \ +- unsigned char _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)]; \ +- unsigned char _pad_mask[sizeof(TYPE)]; \ +- unsigned char _byte_mask; \ +- int _i, _j, _last = (-1); \ ++ TYPE _v1, _v2, _v3; \ ++ uint8_t _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)]; \ ++ uint8_t _pad_mask[sizeof(TYPE)]; \ ++ uint8_t _byte_mask; \ ++ int _i, _j, _last = -1; \ + \ + memset(&INFO, 0, sizeof(INFO)); \ + INFO.size = sizeof(TYPE); \ +@@ -81,7 +85,7 @@ + _v1 = (TYPE)4.0L; \ + H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE)); \ + for (_i = 0; _i < (int)sizeof(TYPE); _i++) \ +- for (_byte_mask = (unsigned char)1; _byte_mask; _byte_mask = (unsigned char)(_byte_mask << 1)) { \ ++ for (_byte_mask = (uint8_t)1; _byte_mask; _byte_mask = (uint8_t)(_byte_mask << 1)) { \ + _buf1[_i] ^= _byte_mask; \ + H5MM_memcpy((void *)&_v2, (const void *)_buf1, sizeof(TYPE)); \ + H5_GCC_CLANG_DIAG_OFF("float-equal") \ +@@ -118,7 +122,7 @@ + _v1 = (TYPE)1.0L; \ + _v2 = (TYPE)-1.0L; \ + if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.sign)) < 0) \ +- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order"); \ ++ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine sign bit"); \ + \ + /* Mantissa */ \ + INFO.mpos = 0; \ +@@ -126,12 +130,11 @@ + _v1 = (TYPE)1.0L; \ + _v2 = (TYPE)1.5L; \ + if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.msize)) < 0) \ +- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order"); \ ++ HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine mantissa"); \ + INFO.msize += 1 + (unsigned)(INFO.imp ? 0 : 1) - INFO.mpos; \ + \ + /* Exponent */ \ +- INFO.epos = INFO.mpos + INFO.msize; \ +- \ ++ INFO.epos = INFO.mpos + INFO.msize; \ + INFO.esize = INFO.sign - INFO.epos; \ + \ + _v1 = (TYPE)1.0L; \ +@@ -456,17 +459,24 @@ H5T__set_precision(H5T_fpoint_det_t *d) + herr_t H5_NO_UBSAN + H5T__init_native_float_types(void) + { ++ fenv_t saved_fenv; + H5T_fpoint_det_t det; + H5T_t *dt = NULL; + herr_t ret_value = SUCCEED; + + FUNC_ENTER_PACKAGE + ++ /* Turn off floating-point exceptions while initializing to avoid ++ * tripping over signaling NaNs while looking at "don't care" bits. ++ */ ++ if (feholdexcept(&saved_fenv) != 0) ++ HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't save floating-point environment"); ++ + /* H5T_NATIVE_FLOAT */ + + /* Get the type's characteristics */ + memset(&det, 0, sizeof(H5T_fpoint_det_t)); +- DETECT_F(float, FLOAT, det); ++ DETECT_F(float, det); + + /* Allocate and fill type structure */ + if (NULL == (dt = H5T__alloc())) +@@ -497,7 +507,7 @@ H5T__init_native_float_types(void) + + /* Get the type's characteristics */ + memset(&det, 0, sizeof(H5T_fpoint_det_t)); +- DETECT_F(double, DOUBLE, det); ++ DETECT_F(double, det); + + /* Allocate and fill type structure */ + if (NULL == (dt = H5T__alloc())) +@@ -528,7 +538,7 @@ H5T__init_native_float_types(void) + + /* Get the type's characteristics */ + memset(&det, 0, sizeof(H5T_fpoint_det_t)); +- DETECT_F(long double, LDOUBLE, det); ++ DETECT_F(long double, det); + + /* Allocate and fill type structure */ + if (NULL == (dt = H5T__alloc())) +@@ -561,6 +571,14 @@ H5T__init_native_float_types(void) + H5T_native_order_g = det.order; + + done: ++ /* Clear any FE_INVALID exceptions from NaN handling */ ++ if (feclearexcept(FE_INVALID) != 0) ++ HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't clear floating-point exceptions"); ++ ++ /* Restore the original environment */ ++ if (feupdateenv(&saved_fenv) != 0) ++ HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't restore floating-point environment"); ++ + if (ret_value < 0) { + if (dt != NULL) { + dt->shared = H5FL_FREE(H5T_shared_t, dt->shared); +diff --git a/src/H5private.h b/src/H5private.h +index 14a0ac3225..3aaa0d5245 100644 +--- a/src/H5private.h ++++ b/src/H5private.h +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/h/HERRO/HERRO-0.1.0_20240808-foss-2023a.eb b/easybuild/easyconfigs/h/HERRO/HERRO-0.1.0_20240808-foss-2023a.eb new file mode 100644 index 00000000000..a4057965c49 --- /dev/null +++ b/easybuild/easyconfigs/h/HERRO/HERRO-0.1.0_20240808-foss-2023a.eb @@ -0,0 +1,382 @@ +easyblock = 'Cargo' + +name = 'HERRO' +version = '0.1.0_20240808' +local_commit = 'deccc46' + +homepage = 'https://github.com/lbcb-sci/herro' +description = """ +HERRO is a highly-accurate, haplotype-aware, deep-learning tool for error correction of Nanopore R10.4.1 or +R9.4.1 reads (read length of >= 10 kbps is recommended). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/lbcb-sci/herro/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] + +builddependencies = [ + ('Rust', '1.75.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('bzip2', '1.0.8'), + ('libffi', '3.4.4'), + ('libnsl', '2.0.1'), + ('SQLite', '3.42.0'), + ('util-linux', '2.39'), + ('zlib', '1.2.13'), + ('ncurses', '6.4'), + ('libreadline', '8.2'), + ('SeqKit', '2.3.1', '', SYSTEM), + ('Tk', '8.6.13'), + ('XZ', '5.4.2'), + ('matplotlib', '3.7.2'), + ('edlib', '1.3.9'), + ('h5py', '3.9.0'), + ('duplex-tools', '0.3.3'), + ('PyTorch', '2.1.2'), + ('Pillow', '10.0.0'), + ('zstd', '1.5.5'), + ('parasail', '2.6.2'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'preinstallopts': '', + 'installopts': '', +} + +exts_list = [ + ('zstandard', '0.22.0', { + 'checksums': ['8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70'], + }), + ('Porechop', '20240119', { + 'modulename': 'porechop', + 'source_urls': ['https://github.com/dehui333/Porechop/archive/'], + 'sources': [{'download_filename': 'd2e77c6.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['6e5ff3a780fc2855b0101b4a6102437d9a0fc201e40ffabc44c0c67d7c9ad621'], + }), +] + +# use tch version 0.14.0 - compatible with PyTorch 2.1 +local_torch_opts = "sed -i 's/tch = \"0.13.0\"/tch = \"0.14.0\"/' Cargo.toml && " +local_torch_opts += 'export LIBTORCH_BYPASS_VERSION_CHECK=1 && export LIBTORCH_USE_PYTORCH=1 && ' +local_torch_opts += 'export LIBTORCH=$EBROOTPYTORCH/lib && RUSTFLAGS="-Ctarget-cpu=native"' +prebuildopts = pretestopts = preinstallopts = local_torch_opts + +# copy scripts to /bin to be easier to run scripts for users +postinstallcmds = [ + 'cp -a %(start_dir)s/scripts/* %(installdir)s/bin', + 'rm %(installdir)s/bin/herro-env.yml', + "chmod a+rx %(installdir)s/bin/*.sh", + "chmod a-x %(installdir)s/bin/*.py", +] + +_bins = [ + 'herro', + 'porechop', + 'no_split.sh', + 'postprocess_corrected.sh', + 'create_batched_alignments.sh', + 'porechop_with_split.sh', + 'preprocess.sh', + 'batch.py', + 'create_clusters.py', +] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["herro --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +modloadmsg = """ +To run scripts from /scripts directory just run .sh +Do not run it as scripts/.sh +For example - run preprocess.sh as: + $ preprocess.sh +""" + +crates = [ + ('adler2', '2.0.0'), + ('aes', '0.8.4'), + ('anstream', '0.6.15'), + ('anstyle', '1.0.8'), + ('anstyle-parse', '0.2.5'), + ('anstyle-query', '1.1.1'), + ('anstyle-wincon', '3.0.4'), + ('anyhow', '1.0.86'), + ('approx', '0.5.1'), + ('autocfg', '1.3.0'), + ('base64ct', '1.6.0'), + ('block-buffer', '0.10.4'), + ('buffer-redux', '1.0.2'), + ('bytecount', '0.6.8'), + ('byteorder', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.1.13'), + ('cfg-if', '1.0.0'), + ('cipher', '0.4.4'), + ('clap', '4.4.18'), + ('clap_builder', '4.4.18'), + ('clap_derive', '4.4.7'), + ('clap_lex', '0.6.0'), + ('colorchoice', '1.0.2'), + ('console', '0.15.8'), + ('constant_time_eq', '0.1.5'), + ('cpufeatures', '0.2.13'), + ('crc32fast', '1.4.2'), + ('crossbeam-channel', '0.5.13'), + ('crossbeam-utils', '0.8.20'), + ('crunchy', '0.2.2'), + ('crypto-common', '0.1.6'), + ('deranged', '0.3.11'), + ('digest', '0.10.7'), + ('either', '1.13.0'), + ('encode_unicode', '0.3.6'), + ('flate2', '1.0.32'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.15'), + ('glob', '0.3.1'), + ('half', '2.4.1'), + ('heck', '0.4.1'), + ('hmac', '0.12.1'), + ('indicatif', '0.17.8'), + ('inout', '0.1.3'), + ('instant', '0.1.13'), + ('is_terminal_polyfill', '1.70.1'), + ('itertools', '0.12.1'), + ('itoa', '1.0.11'), + ('jemalloc-sys', '0.5.4+5.3.0-patched'), + ('jemallocator', '0.5.4'), + ('jobserver', '0.1.32'), + ('lazy_static', '1.5.0'), + ('libc', '0.2.158'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.9'), + ('memchr', '2.7.4'), + ('miniz_oxide', '0.8.0'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('npyz', '0.8.3'), + ('npyz-derive', '0.7.0'), + ('num-bigint', '0.4.6'), + ('num-complex', '0.4.6'), + ('num-conv', '0.1.0'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.19.0'), + ('ordered-float', '4.2.2'), + ('password-hash', '0.4.2'), + ('pbkdf2', '0.11.0'), + ('pest', '2.7.11'), + ('pest_derive', '2.7.11'), + ('pest_generator', '2.7.11'), + ('pest_meta', '2.7.11'), + ('pkg-config', '0.3.30'), + ('portable-atomic', '1.7.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.20'), + ('proc-macro2', '1.0.86'), + ('py_literal', '0.4.0'), + ('quote', '1.0.36'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rawpointer', '0.2.1'), + ('rustc-hash', '1.1.0'), + ('ryu', '1.0.18'), + ('safetensors', '0.3.3'), + ('serde', '1.0.208'), + ('serde_derive', '1.0.208'), + ('serde_json', '1.0.125'), + ('sha1', '0.10.6'), + ('sha2', '0.10.8'), + ('shlex', '1.3.0'), + ('strsim', '0.10.0'), + ('subtle', '2.6.1'), + ('syn', '1.0.109'), + ('syn', '2.0.75'), + ('tch', '0.14.0'), + ('thiserror', '1.0.63'), + ('thiserror-impl', '1.0.63'), + ('time', '0.3.36'), + ('time-core', '0.1.2'), + ('torch-sys', '0.14.0'), + ('typenum', '1.17.0'), + ('ucd-trie', '0.1.6'), + ('unicode-ident', '1.0.12'), + ('unicode-width', '0.1.13'), + ('utf8parse', '0.2.2'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.52.6'), + ('windows_aarch64_gnullvm', '0.52.6'), + ('windows_aarch64_msvc', '0.52.6'), + ('windows_i686_gnu', '0.52.6'), + ('windows_i686_gnullvm', '0.52.6'), + ('windows_i686_msvc', '0.52.6'), + ('windows_x86_64_gnu', '0.52.6'), + ('windows_x86_64_gnullvm', '0.52.6'), + ('windows_x86_64_msvc', '0.52.6'), + ('xz2', '0.1.7'), + ('zerocopy', '0.7.35'), + ('zerocopy-derive', '0.7.35'), + ('zip', '0.6.6'), + ('zstd', '0.11.2+zstd.1.5.2'), + ('zstd', '0.13.2'), + ('zstd-safe', '5.0.2+zstd.1.5.2'), + ('zstd-safe', '7.2.1'), + ('zstd-sys', '2.0.13+zstd.1.5.6'), +] + +checksums = [ + {'HERRO-0.1.0_20240808.tar.gz': '885f64ab097c89cf8ec8ec38625c6325271997e89636de756aa12fb68aab7598'}, + {'adler2-2.0.0.tar.gz': '512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627'}, + {'aes-0.8.4.tar.gz': 'b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0'}, + {'anstream-0.6.15.tar.gz': '64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526'}, + {'anstyle-1.0.8.tar.gz': '1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1'}, + {'anstyle-parse-0.2.5.tar.gz': 'eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb'}, + {'anstyle-query-1.1.1.tar.gz': '6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a'}, + {'anstyle-wincon-3.0.4.tar.gz': '5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8'}, + {'anyhow-1.0.86.tar.gz': 'b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da'}, + {'approx-0.5.1.tar.gz': 'cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'base64ct-1.6.0.tar.gz': '8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'buffer-redux-1.0.2.tar.gz': '4e8acf87c5b9f5897cd3ebb9a327f420e0cae9dd4e5c1d2e36f2c84c571a58f1'}, + {'bytecount-0.6.8.tar.gz': '5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.1.13.tar.gz': '72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.4.4.tar.gz': '773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad'}, + {'clap-4.4.18.tar.gz': '1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c'}, + {'clap_builder-4.4.18.tar.gz': '4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7'}, + {'clap_derive-4.4.7.tar.gz': 'cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'colorchoice-1.0.2.tar.gz': 'd3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'constant_time_eq-0.1.5.tar.gz': '245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc'}, + {'cpufeatures-0.2.13.tar.gz': '51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad'}, + {'crc32fast-1.4.2.tar.gz': 'a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3'}, + {'crossbeam-channel-0.5.13.tar.gz': '33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2'}, + {'crossbeam-utils-0.8.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'flate2-1.0.32.tar.gz': '9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'half-2.4.1.tar.gz': '6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'inout-0.1.3.tar.gz': 'a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5'}, + {'instant-0.1.13.tar.gz': 'e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222'}, + {'is_terminal_polyfill-1.70.1.tar.gz': '7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'jemalloc-sys-0.5.4+5.3.0-patched.tar.gz': 'ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2'}, + {'jemallocator-0.5.4.tar.gz': 'a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc'}, + {'jobserver-0.1.32.tar.gz': '48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'libc-0.2.158.tar.gz': 'd8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.9.tar.gz': '9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'miniz_oxide-0.8.0.tar.gz': 'e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'npyz-0.8.3.tar.gz': '13f27ea175875c472b3df61ece89a6d6ef4e0627f43704e400c782f174681ebd'}, + {'npyz-derive-0.7.0.tar.gz': 'a285bd6c2f2a9a4b12b0f3813ad3e01a37e02d3de508c6d80a009f5e1af69aed'}, + {'num-bigint-0.4.6.tar.gz': 'a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9'}, + {'num-complex-0.4.6.tar.gz': '73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'ordered-float-4.2.2.tar.gz': '4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6'}, + {'password-hash-0.4.2.tar.gz': '7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700'}, + {'pbkdf2-0.11.0.tar.gz': '83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917'}, + {'pest-2.7.11.tar.gz': 'cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95'}, + {'pest_derive-2.7.11.tar.gz': '2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a'}, + {'pest_generator-2.7.11.tar.gz': '3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183'}, + {'pest_meta-2.7.11.tar.gz': 'a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'portable-atomic-1.7.0.tar.gz': 'da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.20.tar.gz': '77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04'}, + {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'}, + {'py_literal-0.4.0.tar.gz': '102df7a3d46db9d3891f178dcc826dc270a6746277a9ae6436f8d29fd490a8e1'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'safetensors-0.3.3.tar.gz': 'd93279b86b3de76f820a8854dd06cbc33cfa57a417b19c47f6a25280112fb1df'}, + {'serde-1.0.208.tar.gz': 'cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2'}, + {'serde_derive-1.0.208.tar.gz': '24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf'}, + {'serde_json-1.0.125.tar.gz': '83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed'}, + {'sha1-0.10.6.tar.gz': 'e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'subtle-2.6.1.tar.gz': '13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.75.tar.gz': 'f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9'}, + {'tch-0.14.0.tar.gz': '0ed5dddab3812892bf5fb567136e372ea49f31672931e21cec967ca68aec03da'}, + {'thiserror-1.0.63.tar.gz': 'c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724'}, + {'thiserror-impl-1.0.63.tar.gz': 'a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261'}, + {'time-0.3.36.tar.gz': '5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'torch-sys-0.14.0.tar.gz': '803446f89fb877a117503dbfb8375b6a29fa8b0e0f44810fac3863c798ecef22'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'ucd-trie-0.1.6.tar.gz': 'ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-width-0.1.13.tar.gz': '0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.52.6.tar.gz': '9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973'}, + {'windows_aarch64_gnullvm-0.52.6.tar.gz': '32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3'}, + {'windows_aarch64_msvc-0.52.6.tar.gz': '09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469'}, + {'windows_i686_gnu-0.52.6.tar.gz': '8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b'}, + {'windows_i686_gnullvm-0.52.6.tar.gz': '0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66'}, + {'windows_i686_msvc-0.52.6.tar.gz': '240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66'}, + {'windows_x86_64_gnu-0.52.6.tar.gz': '147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78'}, + {'windows_x86_64_gnullvm-0.52.6.tar.gz': '24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d'}, + {'windows_x86_64_msvc-0.52.6.tar.gz': '589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'}, + {'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, + {'zstd-0.11.2+zstd.1.5.2.tar.gz': '20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4'}, + {'zstd-0.13.2.tar.gz': 'fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9'}, + {'zstd-safe-5.0.2+zstd.1.5.2.tar.gz': '1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db'}, + {'zstd-safe-7.2.1.tar.gz': '54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059'}, + {'zstd-sys-2.0.13+zstd.1.5.6.tar.gz': '38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa'}, +] + +moduleclass = 'bio' 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/HH-suite/HH-suite-3.0-beta.3-intel-2018a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.0-beta.3-intel-2018a.eb index 868b3e1e569..cba105c466c 100644 --- a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.0-beta.3-intel-2018a.eb +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.0-beta.3-intel-2018a.eb @@ -29,10 +29,6 @@ builddependencies = [('CMake', '3.10.2')] preconfigopts = 'cp -a ../ffindex_soedinglab-%s/* ' % local_ffindex_commit preconfigopts += '%(builddir)s/%(namelower)s-%(version)s/lib/ffindex && ' -configopts = '-DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ' - -separate_build_dir = True - modextravars = {'HHLIB': '%(installdir)s'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.2.0-fosscuda-2019b.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.2.0-fosscuda-2019b.eb new file mode 100644 index 00000000000..65e1c4e22b6 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.2.0-fosscuda-2019b.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## + +easyblock = 'CMakeMake' + +name = "HH-suite" +version = "3.2.0" + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """HH-suite is an open-source software package for sensitive protein sequence searching. + It contains programs that can search for similar protein sequences in protein sequence databases.""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +toolchainopts = {'openmp': True} + +source_urls = ["https://github.com/soedinglab/hh-suite/archive"] +sources = ["v%(version)s.tar.gz"] +checksums = ['6b870dcfbc1ffb9dd664a45415fcd13cf5970f49d1c7b824160c260fa138e6d6'] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [ + ('libpng', '1.6.37'), +] + +sanity_check_paths = { + 'files': ["bin/hhalign", "bin/hhblits", "bin/hhconsensus", "bin/hhfilter", "bin/hhmake", "bin/hhsearch"], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2020b.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2020b.eb new file mode 100644 index 00000000000..3eae6fe8e46 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2020b.eb @@ -0,0 +1,70 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package +for sensitive protein sequence searching based on the pairwise +alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('Perl', '5.32.0'), + ('Python', '3.8.6'), +] + +_binaries = [ + 'hhalign', 'hhalign_mpi', 'hhalign_omp', + 'hhblits', 'hhblits_mpi', 'hhblits_omp', + 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp', + 'hhmake', 'hhfilter', 'hhconsensus', +] + +_scriptfiles = [ + 'hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py', +] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021a.eb new file mode 100644 index 00000000000..8838f04e411 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021a.eb @@ -0,0 +1,70 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package +for sensitive protein sequence searching based on the pairwise +alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('Python', '3.9.5'), +] + +_binaries = [ + 'hhalign', 'hhalign_mpi', 'hhalign_omp', + 'hhblits', 'hhblits_mpi', 'hhblits_omp', + 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp', + 'hhmake', 'hhfilter', 'hhconsensus', +] + +_scriptfiles = [ + 'hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py', +] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021b.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021b.eb new file mode 100644 index 00000000000..9e79945692b --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2021b.eb @@ -0,0 +1,90 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package + for sensitive protein sequence searching based on the pairwise + alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('Python', '3.9.6'), +] + +_binaries_help = [ + 'cstranslate', 'cstranslate_mpi', 'hhalign', 'hhalign_mpi', 'hhalign_omp', 'hhconsensus', + 'hhfilter', 'hhmake' +] + +_binaries_h = [ + 'a3m_database_extract', 'a3m_database_filter', 'a3m_database_reduce', 'a3m_extract', 'a3m_reduce', + 'hhblits', 'hhblits_ca3m', 'hhblits_mpi', 'hhblits_omp', 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp' +] + +_binaries_version = ['ffindex_build', 'ffindex_from_fasta', 'ffindex_modify'] + +_binaries_v = ['ffindex_from_fasta_with_split'] + +_binaries_helpless = [ + 'ffindex_apply', 'ffindex_apply_mpi', 'ffindex_get', + 'ffindex_order', 'ffindex_reduce', 'ffindex_unpack' +] + +_scriptfiles = ['hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py'] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries_help] + + ['bin/%s' % x for x in _binaries_h] + + ['bin/%s' % x for x in _binaries_version] + + ['bin/%s' % x for x in _binaries_v] + + ['bin/%s' % x for x in _binaries_helpless] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +sanity_check_commands = ['%s --help' % x for x in _binaries_help] +sanity_check_commands += ['%s -h' % x for x in _binaries_h] +sanity_check_commands += ['%s --version' % x for x in _binaries_version] +sanity_check_commands += ['%s -v' % x for x in _binaries_v] +sanity_check_commands += ['%s 2>&1 | grep USAGE' % x for x in _binaries_helpless] + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb new file mode 100644 index 00000000000..1e8dd76e708 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2022a.eb @@ -0,0 +1,90 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package + for sensitive protein sequence searching based on the pairwise + alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('Python', '3.10.4'), +] + +_binaries_help = [ + 'cstranslate', 'cstranslate_mpi', 'hhalign', 'hhalign_mpi', 'hhalign_omp', 'hhconsensus', + 'hhfilter', 'hhmake' +] + +_binaries_h = [ + 'a3m_database_extract', 'a3m_database_filter', 'a3m_database_reduce', 'a3m_extract', 'a3m_reduce', + 'hhblits', 'hhblits_ca3m', 'hhblits_mpi', 'hhblits_omp', 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp' +] + +_binaries_version = ['ffindex_build', 'ffindex_from_fasta', 'ffindex_modify'] + +_binaries_v = ['ffindex_from_fasta_with_split'] + +_binaries_helpless = [ + 'ffindex_apply', 'ffindex_apply_mpi', 'ffindex_get', + 'ffindex_order', 'ffindex_reduce', 'ffindex_unpack' +] + +_scriptfiles = ['hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py'] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries_help] + + ['bin/%s' % x for x in _binaries_h] + + ['bin/%s' % x for x in _binaries_version] + + ['bin/%s' % x for x in _binaries_v] + + ['bin/%s' % x for x in _binaries_helpless] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +sanity_check_commands = ['%s --help' % x for x in _binaries_help] +sanity_check_commands += ['%s -h' % x for x in _binaries_h] +sanity_check_commands += ['%s --version' % x for x in _binaries_version] +sanity_check_commands += ['%s -v' % x for x in _binaries_v] +sanity_check_commands += ['%s 2>&1 | grep USAGE' % x for x in _binaries_helpless] + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb new file mode 100644 index 00000000000..c725a0bd92e --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompi-2023a.eb @@ -0,0 +1,90 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package + for sensitive protein sequence searching based on the pairwise + alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('Python', '3.11.3'), +] + +_binaries_help = [ + 'cstranslate', 'cstranslate_mpi', 'hhalign', 'hhalign_mpi', 'hhalign_omp', 'hhconsensus', + 'hhfilter', 'hhmake' +] + +_binaries_h = [ + 'a3m_database_extract', 'a3m_database_filter', 'a3m_database_reduce', 'a3m_extract', 'a3m_reduce', + 'hhblits', 'hhblits_ca3m', 'hhblits_mpi', 'hhblits_omp', 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp' +] + +_binaries_version = ['ffindex_build', 'ffindex_from_fasta', 'ffindex_modify'] + +_binaries_v = ['ffindex_from_fasta_with_split'] + +_binaries_helpless = [ + 'ffindex_apply', 'ffindex_apply_mpi', 'ffindex_get', + 'ffindex_order', 'ffindex_reduce', 'ffindex_unpack' +] + +_scriptfiles = ['hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py'] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries_help] + + ['bin/%s' % x for x in _binaries_h] + + ['bin/%s' % x for x in _binaries_version] + + ['bin/%s' % x for x in _binaries_v] + + ['bin/%s' % x for x in _binaries_helpless] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +sanity_check_commands = ['%s --help' % x for x in _binaries_help] +sanity_check_commands += ['%s -h' % x for x in _binaries_h] +sanity_check_commands += ['%s --version' % x for x in _binaries_version] +sanity_check_commands += ['%s -v' % x for x in _binaries_v] +sanity_check_commands += ['%s 2>&1 | grep USAGE' % x for x in _binaries_helpless] + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..f49756dd464 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2019b-Python-3.7.4.eb @@ -0,0 +1,67 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package +for sensitive protein sequence searching based on the pairwise +alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompic', 'version': '2019b'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [ + ('Perl', '5.30.0'), + ('Python', '3.7.4'), +] + +_binaries = [ + 'hhalign', 'hhalign_mpi', 'hhalign_omp', + 'hhblits', 'hhblits_mpi', 'hhblits_omp', + 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp', + 'hhmake', 'hhfilter', 'hhconsensus', +] + +_scriptfiles = [ + 'hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py', +] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2020b.eb b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2020b.eb new file mode 100644 index 00000000000..5e469b0e3d1 --- /dev/null +++ b/easybuild/easyconfigs/h/HH-suite/HH-suite-3.3.0-gompic-2020b.eb @@ -0,0 +1,70 @@ +## +# This file is an EasyBuild recipy as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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 +## +# Updated to use gompi-2020b toolchain: +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'HH-suite' +version = '3.3.0' + +homepage = 'https://github.com/soedinglab/hh-suite' +description = """The HH-suite is an open-source software package +for sensitive protein sequence searching based on the pairwise +alignment of hidden Markov models (HMMs).""" + +toolchain = {'name': 'gompic', 'version': '2020b'} + +source_urls = ['https://github.com/soedinglab/hh-suite/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dd67f7f3bf601e48c9c0bc4cf1fbe3b946f787a808bde765e9436a48d27b0964'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('Perl', '5.32.0'), + ('Python', '3.8.6'), +] + +_binaries = [ + 'hhalign', 'hhalign_mpi', 'hhalign_omp', + 'hhblits', 'hhblits_mpi', 'hhblits_omp', + 'hhsearch', 'hhsearch_mpi', 'hhsearch_omp', + 'hhmake', 'hhfilter', 'hhconsensus', +] + +_scriptfiles = [ + 'hhmakemodel.py', 'hh_reader.py', 'hhsuitedb.py', 'cif2fasta.py', +] + +fix_perl_shebang_for = ['scripts/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['scripts/%s' % y for y in _scriptfiles], + 'dirs': ['data', 'scripts'] +} + +modextrapaths = { + 'PATH': 'scripts', + 'PERL5LIB': 'scripts', +} + +modextravars = { + 'HHLIB': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb b/easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb new file mode 100644 index 00000000000..1c2c5c78f5b --- /dev/null +++ b/easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb @@ -0,0 +1,116 @@ +easyblock = 'CMakeMake' + +name = 'HIP' +version = '4.5.0' +versionsuffix = '-amd' + +homepage = 'https://github.com/ROCm-Developer-Tools/HIP' +description = """HIP is a C++ Runtime API and Kernel Language that allows +developers to create portable applications for AMD and NVIDIA GPUs from single +source code.""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [ + { + 'source_urls': ['https://github.com/ROCm-Developer-Tools/hipamd/archive/'], + 'download_filename': 'rocm-%(version)s.tar.gz', + 'filename': 'hipamd-rocm-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/ROCm-Developer-Tools/ROCclr/archive/'], + 'download_filename': 'rocm-%(version)s.tar.gz', + 'filename': 'ROCclr-rocm-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/ROCm-Developer-Tools/HIP/archive/'], + 'download_filename': 'rocm-%(version)s.tar.gz', + 'filename': 'HIP-rocm-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/'], + 'download_filename': 'rocm-%(version)s.tar.gz', + 'filename': 'ROCm-OpenCL-Runtime-rocm-%(version)s.tar.gz', + }, +] + +patches = ['hipamd-rocm-%(version)s-remove-testing.patch'] + +checksums = [ + '7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6', # hipamd-rocm-4.5.0.tar.gz + 'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e', # ROCclr-rocm-4.5.0.tar.gz + '4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2', # HIP-rocm-4.5.0.tar.gz + '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8', # ROCm-OpenCL-Runtime-rocm-4.5.0.tar.gz + 'bd7651bdb4c38622c7a3ea4fd1be91118917bdf1e1125686c7fc2ecd0ea9db14', # hipamd-4.5.0-remove-testing.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('Clang-AOMP', '%(version)s'), + ('Perl', '5.34.0'), + ('ROCR-Runtime', '%(version)s'), + ('ROCm-CompilerSupport', '%(version)s'), + ('libglvnd', '1.3.3'), + ('libxml2', '2.9.10'), + ('numactl', '2.0.14'), + ('rocm-cmake', '%(version)s'), + ('rocminfo', '%(version)s'), + ('zlib', '1.2.11'), +] + +# AMD uses 'gfx' to identify the GPU, the first number identifies the generation, according to +# https://www.x.org/wiki/RadeonFeature/#index5h2 while the rest identifies the specific GPU. +# In the context of EasyBuild this identifier can be thought of as equivalent to the 'sm_' +# nomenclature of Nvidia. +local_default_gfx = 'gfx900' + +configopts = "-DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/" +configopts += " -DHIP_COMMON_DIR=%(builddir)s/HIP-rocm-%(version)s/" +configopts += " -DHIP_PLATFORM=amd" +configopts += " -DOFFLOAD_ARCH_STR='%s'" % local_default_gfx +configopts += " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/" + +postinstallcmds = [ + 'sed -i "s|HIP_CLANG_INCLUDE_PATH = .*|' + 'HIP_CLANG_INCLUDE_PATH = \\$ENV{\"HIP_CLANG_INCLUDE_PATH\"};|g" %(installdir)s/bin/hipcc', + 'sed -i "s|ROCM_AGENT_ENUM = .*|ROCM_AGENT_ENUM = \"rocm_agent_enumerator\";|g" %(installdir)s/bin/hipcc', +] + +sanity_check_paths = { + 'files': ['bin/hipcc', 'bin/hipconfig', 'include/hip/hip_common.h', 'include/hip/hip_runtime.h', + 'lib/libamdhip64.%s' % SHLIB_EXT], + 'dirs': [], +} +sanity_check_commands = [ + 'hipcc --help', + 'hipconfig --full' +] + +modextravars = { + 'HIP_COMPILER': 'clang', + 'HIP_INCLUDE_PATH': '%(installdir)s/include', + 'HIP_LIB_PATH': '%(installdir)s/lib', + 'HIP_PATH': '%(installdir)s', + 'HIP_RUNTIME': 'rocclr', + 'ROCM_PATH': '%(installdir)s', +} + +modluafooter = """ +setenv("DEVICE_LIB_PATH", os.getenv("EBROOTCLANGMINAOMP") .. "/amdgcn/bitcode") +setenv("HIP_CLANG_INCLUDE_PATH", os.getenv("EBROOTCLANGMINAOMP") .. "/include") +setenv("HIP_CLANG_PATH", os.getenv("EBROOTCLANGMINAOMP") .. "/bin") +setenv("HSA_PATH", os.getenv("EBROOTROCRMINRUNTIME")) +""" + +modtclfooter = """ +setenv DEVICE_LIB_PATH $::env(EBROOTCLANGMINAOMP)/amdgcn/bitcode +setenv HIP_CLANG_INCLUDE_PATH $::env(EBROOTCLANGMINAOMP)/include +setenv HIP_CLANG_PATH $::env(EBROOTCLANGMINAOMP)/bin +setenv HSA_PATH $::env(EBROOTROCRMINRUNTIME) +""" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HIP/hipamd-rocm-4.5.0-remove-testing.patch b/easybuild/easyconfigs/h/HIP/hipamd-rocm-4.5.0-remove-testing.patch new file mode 100644 index 00000000000..5aa1e1f214a --- /dev/null +++ b/easybuild/easyconfigs/h/HIP/hipamd-rocm-4.5.0-remove-testing.patch @@ -0,0 +1,36 @@ +# skip testing steps +# Author: Jørgen Nordmoen (University of Oslo) +--- hipamd-rocm-4.5.0/CMakeLists.txt.orig 2021-11-12 14:26:59.514400918 +0100 ++++ hipamd-rocm-4.5.0/CMakeLists.txt 2021-11-12 14:27:23.551183553 +0100 +@@ -487,31 +487,6 @@ + ############################# + # Testing steps + ############################# +-# HIT is not compatible with Windows +-if(NOT WIN32) +-set(HIP_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}) +-set(HIP_SRC_PATH ${CMAKE_CURRENT_SOURCE_DIR}) +-if(HIP_PLATFORM STREQUAL "nvidia") +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_SRC_PATH}/include" "${HIP_ROOT_DIR}/include" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_INCLUDE_DIR}/hip/" "${HIP_ROOT_DIR}/include/hip/" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_DIR}/cmake" "${HIP_ROOT_DIR}/cmake" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-if(${RUN_HIT} EQUAL 0) +- execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${HIP_COMMON_BIN_DIR}" "${HIP_ROOT_DIR}/bin" RESULT_VARIABLE RUN_HIT ERROR_QUIET) +-endif() +-if(HIP_CATCH_TEST EQUAL "1") +- enable_testing() +- add_subdirectory(${HIP_COMMON_DIR}/tests/catch ${PROJECT_BINARY_DIR}/catch) +-else() +- if(${RUN_HIT} EQUAL 0) +- set(CMAKE_MODULE_PATH "${HIP_ROOT_DIR}/cmake" ${CMAKE_MODULE_PATH}) +- include(${HIP_COMMON_DIR}/tests/hit/HIT.cmake) +- include(${HIP_COMMON_DIR}/tests/Tests.cmake) +- else() +- message(STATUS "Testing targets will not be available. To enable them please ensure that the HIP installation directory is writeable. Use -DCMAKE_INSTALL_PREFIX to specify a suitable location") +- endif() +-endif() +-endif() + + ############################# + # Code analysis diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021a.eb new file mode 100644 index 00000000000..59e1d8054bd --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021a.eb @@ -0,0 +1,59 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1', + '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726', # hisat2-libname-fix.patch +] + +dependencies = [ + ('NGS', '2.10.9'), + ('ncbi-vdb', '2.10.9'), +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += "USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINVDB" + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021b.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021b.eb new file mode 100644 index 00000000000..218c01b5448 --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2021b.eb @@ -0,0 +1,59 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1', + '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726', # hisat2-libname-fix.patch +] + +dependencies = [ + ('NGS', '2.11.2'), + ('ncbi-vdb', '2.11.2'), +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += "USE_SRA=1 NCBI_NGS_DIR=$EBROOTNGS NCBI_VDB_DIR=$EBROOTNCBIMINVDB" + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb new file mode 100644 index 00000000000..6ddb5b2dc0e --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022a.eb @@ -0,0 +1,61 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + {'hisat2-2.2.1-source.zip': '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1'}, + {'hisat2-libname-fix.patch': '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726'}, +] + +dependencies = [ + ('ncbi-vdb', '3.0.2'), + ('SRA-Toolkit', '3.0.3'), # provides NGS +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR="$EBROOTSRAMINTOOLKIT" NCBI_VDB_DIR="$EBROOTNCBIMINVDB" ' +# add new libncbi-ngs from the NGS merge into SRA-Toolkit v3 +buildopts += 'SRA_LIB="-lncbi-ngs-c++ -lngs-c++ -lncbi-ngs -lncbi-vdb -ldl"' + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb new file mode 100644 index 00000000000..f48521d0c62 --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2022b.eb @@ -0,0 +1,61 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + {'hisat2-2.2.1-source.zip': '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1'}, + {'hisat2-libname-fix.patch': '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726'}, +] + +dependencies = [ + ('ncbi-vdb', '3.0.5'), + ('SRA-Toolkit', '3.0.5'), # provides NGS +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR="$EBROOTSRAMINTOOLKIT" NCBI_VDB_DIR="$EBROOTNCBIMINVDB" ' +# add new libncbi-ngs from the NGS merge into SRA-Toolkit v3 +buildopts += 'SRA_LIB="-lncbi-ngs-c++ -lngs-c++ -lncbi-ngs -lncbi-vdb -ldl"' + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2023a.eb b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2023a.eb new file mode 100644 index 00000000000..89974da79ff --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/HISAT2-2.2.1-gompi-2023a.eb @@ -0,0 +1,61 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +# 2.2.1 - changes from Adam Huffman +# Bumped to foss-2021b +# J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'HISAT2' +version = '2.2.1' + +homepage = 'https://daehwankimlab.github.io/hisat2' +description = """HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads + (both DNA and RNA) against the general human population (as well as against a single reference genome).""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +sources = [{ + 'source_urls': ['https://cloud.biohpc.swmed.edu/index.php/s/fE9QCsX3NH4QwBi'], + 'download_filename': 'download', + 'filename': '%(namelower)s-%(version)s-source.zip', +}] +patches = [ + 'hisat2-libname-fix.patch', +] +checksums = [ + {'hisat2-2.2.1-source.zip': '48e933330d4d8470d2b3dfe7ec3918f2e98a75f7381891e23b7df1fb4f135eb1'}, + {'hisat2-libname-fix.patch': '8aa91d1dd6455b96c10ce48827f8313b006241d815fbe6382422dbae3b610726'}, +] + +dependencies = [ + ('ncbi-vdb', '3.0.10'), + ('SRA-Toolkit', '3.0.10'), # provides NGS +] + +buildopts = 'CC="$CC" CPP="$CXX" RELEASE_FLAGS="$CFLAGS" ' +buildopts += 'USE_SRA=1 NCBI_NGS_DIR="$EBROOTSRAMINTOOLKIT" NCBI_VDB_DIR="$EBROOTNCBIMINVDB" ' +# add new libncbi-ngs from the NGS merge into SRA-Toolkit v3 +buildopts += 'SRA_LIB="-lncbi-ngs-c++ -lngs-c++ -lncbi-ngs -lncbi-vdb -ldl"' + +local_executables = ['hisat2', 'hisat2-align-l', 'hisat2-align-s', 'hisat2-build', 'hisat2-build-l', 'hisat2-build-s', + 'hisat2-inspect', 'hisat2-inspect-s', 'hisat2-inspect-l', 'hisat2-repeat', 'extract_exons.py', + 'extract_splice_sites.py', 'hisat2_extract_exons.py', 'hisat2_extract_snps_haplotypes_UCSC.py', + 'hisat2_extract_snps_haplotypes_VCF.py', 'hisat2_extract_splice_sites.py', + 'hisat2_read_statistics.py', 'hisat2_simulate_reads.py'] +files_to_copy = [(local_executables, 'bin'), 'scripts', 'example'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts', 'example'], +} + +sanity_check_commands = ["hisat2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HISAT2/hisat2-libname-fix.patch b/easybuild/easyconfigs/h/HISAT2/hisat2-libname-fix.patch new file mode 100644 index 00000000000..9af29d77a5a --- /dev/null +++ b/easybuild/easyconfigs/h/HISAT2/hisat2-libname-fix.patch @@ -0,0 +1,15 @@ +removes static from lib names as it caused problems when linking +J. Sassmannshausen +diff --git a/hisat2-2.2.1.orig/Makefile b/hisat2-2.2.1/Makefile +index 60445ce..0b422f8 100644 +--- a/hisat2-2.2.1.orig/Makefile ++++ b/hisat2-2.2.1/Makefile +@@ -94,7 +94,7 @@ SRA_LIB = + SERACH_INC = + ifeq (1,$(USE_SRA)) + SRA_DEF = -DUSE_SRA +- SRA_LIB = -lncbi-ngs-c++-static -lngs-c++-static -lncbi-vdb-static -ldl ++ SRA_LIB = -lncbi-ngs-c++ -lngs-c++ -lncbi-vdb -ldl + SEARCH_INC += -I$(NCBI_NGS_DIR)/include -I$(NCBI_VDB_DIR)/include + SEARCH_LIBS += -L$(NCBI_NGS_DIR)/lib64 -L$(NCBI_VDB_DIR)/lib64 + endif diff --git a/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb index 97dfa48ddc7..6d170d9620c 100644 --- a/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/h/HLAminer/HLAminer-1.4-foss-2018b-Perl-5.28.0.eb @@ -28,8 +28,8 @@ postinstallcmds = [ ( "cd %(installdir)s/bin && " "sed -i '1 i#!/usr/bin/env perl' *.pl && " - "sed -i 's,\.\.\/bin/,,g' *.sh ncbiBlastConfig.txt && " - "sed -i 's,\.\./database,$EBROOTHLAMINER/database,g' *.sh && " + r"sed -i 's,\.\.\/bin/,,g' *.sh ncbiBlastConfig.txt && " + r"sed -i 's,\.\./database,$EBROOTHLAMINER/database,g' *.sh && " "sed -i 's,/home/pubseq/BioSw/bwa/bwa-0.5.9/bwa,bwa,g' *.sh" ), ] diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2019b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2019b.eb index 60c018b7653..16d64bf06ba 100644 --- a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2019b.eb +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2019b.eb @@ -34,13 +34,23 @@ source_urls = [ 'http://eddylab.org/software/hmmer/', 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', ] -sources = ['hmmer-%(version)s.tar.gz'] -checksums = ['92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] -builddependencies = [('Python', '3.7.4')] +builddependencies = [ + ('Python', '3.7.4'), + ('Perl', '5.30.0'), +] configopts = '--enable-mpi' +buildopts = ' V=1 ' + +testopts = buildopts runtest = 'check' installopts = ' && cd easel && make install' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020a.eb index da4b727da5e..587aa80b012 100644 --- a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020a.eb +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020a.eb @@ -34,13 +34,23 @@ source_urls = [ 'http://eddylab.org/software/hmmer/', 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', ] -sources = ['hmmer-%(version)s.tar.gz'] -checksums = ['92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] -builddependencies = [('Python', '3.8.2')] +builddependencies = [ + ('Python', '3.8.2'), + ('Perl', '5.30.2', '-minimal'), +] configopts = '--enable-mpi' +buildopts = ' V=1 ' + +testopts = buildopts runtest = 'check' installopts = ' && cd easel && make install' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020b.eb index a39fc442b6c..55a9044d7fb 100644 --- a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020b.eb +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2020b.eb @@ -34,13 +34,23 @@ source_urls = [ 'http://eddylab.org/software/hmmer/', 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', ] -sources = ['hmmer-%(version)s.tar.gz'] -checksums = ['92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] -builddependencies = [('Python', '3.8.6')] +builddependencies = [ + ('Python', '3.8.6'), + ('Perl', '5.32.0', '-minimal'), +] configopts = '--enable-mpi' +buildopts = ' V=1 ' + +testopts = buildopts runtest = 'check' installopts = ' && cd easel && make install' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021a.eb new file mode 100644 index 00000000000..c7d127f9f00 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021a.eb @@ -0,0 +1,78 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# 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 = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] + +builddependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1', '-minimal'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021b.eb new file mode 100644 index 00000000000..5f8c0591214 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2021b.eb @@ -0,0 +1,79 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# 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 = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] + +builddependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb new file mode 100644 index 00000000000..1e4307e3803 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022a.eb @@ -0,0 +1,79 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# 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 +## + +easyblock = 'ConfigureMake' + +name = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + {'hmmer-3.3.2.tar.gz': '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'}, + {'HMMER-3.3.2_fix_perl.patch': '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d'}, +] + +builddependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022b.eb new file mode 100644 index 00000000000..e5a79c3da27 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompi-2022b.eb @@ -0,0 +1,79 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# 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 +## + +easyblock = 'ConfigureMake' + +name = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + {'hmmer-3.3.2.tar.gz': '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'}, + {'HMMER-3.3.2_fix_perl.patch': '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d'}, +] + +builddependencies = [ + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompic-2020b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompic-2020b.eb new file mode 100644 index 00000000000..bb4ec04a67b --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-gompic-2020b.eb @@ -0,0 +1,78 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# 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 = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompic', 'version': '2020b'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] + +builddependencies = [ + ('Python', '3.8.6'), + ('Perl', '5.32.0', '-minimal'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2020b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2020b.eb index ea00c7b7ecb..3c33d7fa1ec 100644 --- a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2020b.eb +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2020b.eb @@ -34,13 +34,23 @@ source_urls = [ 'http://eddylab.org/software/hmmer/', 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', ] -sources = ['hmmer-%(version)s.tar.gz'] -checksums = ['92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] -builddependencies = [('Python', '3.8.6')] +builddependencies = [ + ('Python', '3.8.6'), + ('Perl', '5.32.0', '-minimal'), +] configopts = '--enable-mpi' +buildopts = ' V=1 ' + +testopts = buildopts runtest = 'check' installopts = ' && cd easel && make install' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2021b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2021b.eb new file mode 100644 index 00000000000..769e545364a --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2-iimpi-2021b.eb @@ -0,0 +1,78 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# 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 = 'HMMER' +version = '3.3.2' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_perl.patch'] +checksums = [ + '92fee9b5efe37a5276352d3502775e7c46e9f7a0ee45a331eacb2a0cac713c69', # hmmer-3.3.2.tar.gz + '9f04123ca33118549b94adf6a07df9ab1cb7b680dd706d7b76ee0794f2def22d', # HMMER-3.3.2_fix_perl.patch +] + +builddependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0', '-minimal'), +] + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2_fix_perl.patch b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2_fix_perl.patch new file mode 100644 index 00000000000..d9db1ff3190 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.3.2_fix_perl.patch @@ -0,0 +1,796 @@ +HMMER uses /usr/bin/perl in lots of places. +Use EB built perl instead. + +Åke Sandgren, 20210831 +diff -ru hmmer-3.3.2.orig/easel/demotic/blast2profmark hmmer-3.3.2/easel/demotic/blast2profmark +--- hmmer-3.3.2.orig/easel/demotic/blast2profmark 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/blast2profmark 2021-08-31 18:04:58.046079800 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_blast; + +diff -ru hmmer-3.3.2.orig/easel/demotic/blast2tbl hmmer-3.3.2/easel/demotic/blast2tbl +--- hmmer-3.3.2.orig/easel/demotic/blast2tbl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/blast2tbl 2021-08-31 18:04:58.038079850 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_blast; + +diff -ru hmmer-3.3.2.orig/easel/demotic/fasta2profmark hmmer-3.3.2/easel/demotic/fasta2profmark +--- hmmer-3.3.2.orig/easel/demotic/fasta2profmark 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/fasta2profmark 2021-08-31 18:04:58.038079850 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_fasta; + +diff -ru hmmer-3.3.2.orig/easel/demotic/fasta2tbl hmmer-3.3.2/easel/demotic/fasta2tbl +--- hmmer-3.3.2.orig/easel/demotic/fasta2tbl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/fasta2tbl 2021-08-31 18:04:58.054079751 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_fasta; + +diff -ru hmmer-3.3.2.orig/easel/demotic/h22profmark hmmer-3.3.2/easel/demotic/h22profmark +--- hmmer-3.3.2.orig/easel/demotic/h22profmark 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/h22profmark 2021-08-31 18:04:58.054079751 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_h2; + +diff -ru hmmer-3.3.2.orig/easel/demotic/h22tbl hmmer-3.3.2/easel/demotic/h22tbl +--- hmmer-3.3.2.orig/easel/demotic/h22tbl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/h22tbl 2021-08-31 18:04:58.050079776 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_h2; + +diff -ru hmmer-3.3.2.orig/easel/demotic/hmmer2profmark hmmer-3.3.2/easel/demotic/hmmer2profmark +--- hmmer-3.3.2.orig/easel/demotic/hmmer2profmark 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/hmmer2profmark 2021-08-31 18:04:58.042079825 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_hmmer; + +diff -ru hmmer-3.3.2.orig/easel/demotic/hmmer2tbl hmmer-3.3.2/easel/demotic/hmmer2tbl +--- hmmer-3.3.2.orig/easel/demotic/hmmer2tbl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/hmmer2tbl 2021-08-31 18:04:58.058079726 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_hmmer; + +diff -ru hmmer-3.3.2.orig/easel/demotic/infernal_tab2gff.pl hmmer-3.3.2/easel/demotic/infernal_tab2gff.pl +--- hmmer-3.3.2.orig/easel/demotic/infernal_tab2gff.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/infernal_tab2gff.pl 2021-08-31 18:04:58.046079800 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl -w -I/groups/eddy/home/jonest/Demotic ++#!/usr/bin/env perl + + # TAJ 6/23/08 last mod 7/10/08 + # Purpose: flexibly convert "cmsearch --tabfile TAB.out" output to GFF format +diff -ru hmmer-3.3.2.orig/easel/demotic/test.pl hmmer-3.3.2/easel/demotic/test.pl +--- hmmer-3.3.2.orig/easel/demotic/test.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/demotic/test.pl 2021-08-31 18:04:58.042079825 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + use demotic_blast; + +diff -ru hmmer-3.3.2.orig/easel/devkit/autodoc hmmer-3.3.2/easel/devkit/autodoc +--- hmmer-3.3.2.orig/easel/devkit/autodoc 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/autodoc 2021-08-31 18:04:58.074079627 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Usage: + # ./autodoc +diff -ru hmmer-3.3.2.orig/easel/devkit/c2optlist hmmer-3.3.2/easel/devkit/c2optlist +--- hmmer-3.3.2.orig/easel/devkit/c2optlist 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/c2optlist 2021-08-31 18:04:58.086079553 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + + # c2optlist
+diff -ru hmmer-3.3.2.orig/easel/devkit/cexcerpt hmmer-3.3.2/easel/devkit/cexcerpt +--- hmmer-3.3.2.orig/easel/devkit/cexcerpt 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/cexcerpt 2021-08-31 18:04:58.082079577 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # cexcerpt + # +diff -ru hmmer-3.3.2.orig/easel/devkit/ctags-fix hmmer-3.3.2/easel/devkit/ctags-fix +--- hmmer-3.3.2.orig/easel/devkit/ctags-fix 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/ctags-fix 2021-08-31 18:04:58.070079651 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # To be used in an idiomatic pipe for listing all keywords in a codebase: + # +diff -ru hmmer-3.3.2.orig/easel/devkit/man2optlist hmmer-3.3.2/easel/devkit/man2optlist +--- hmmer-3.3.2.orig/easel/devkit/man2optlist 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/man2optlist 2021-08-31 18:04:58.074079627 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + + # man2optlist <.man file> +diff -ru hmmer-3.3.2.orig/easel/devkit/rmanprocess.pl hmmer-3.3.2/easel/devkit/rmanprocess.pl +--- hmmer-3.3.2.orig/easel/devkit/rmanprocess.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/rmanprocess.pl 2021-08-31 18:04:58.078079602 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # rmanprocess.pl + # +diff -ru hmmer-3.3.2.orig/easel/devkit/sedition hmmer-3.3.2/easel/devkit/sedition +--- hmmer-3.3.2.orig/easel/devkit/sedition 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/sedition 2021-08-31 18:04:58.090079528 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # sedition [ ]... + # +diff -ru hmmer-3.3.2.orig/easel/devkit/sedition-pp hmmer-3.3.2/easel/devkit/sedition-pp +--- hmmer-3.3.2.orig/easel/devkit/sedition-pp 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/sedition-pp 2021-08-31 18:04:58.078079602 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # sedition-pp + # +diff -ru hmmer-3.3.2.orig/easel/devkit/sqc hmmer-3.3.2/easel/devkit/sqc +--- hmmer-3.3.2.orig/easel/devkit/sqc 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/devkit/sqc 2021-08-31 18:04:58.086079553 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # sqc :: + # quality control script for exercising code, regression testing, +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-afetch.itest.pl hmmer-3.3.2/easel/miniapps/esl-afetch.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-afetch.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-afetch.itest.pl 2021-08-31 18:04:58.034079874 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Testing the esl-afetch miniapp + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-alimanip.itest.pl hmmer-3.3.2/easel/miniapps/esl-alimanip.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-alimanip.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-alimanip.itest.pl 2021-08-31 18:04:58.010080022 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-alimanip miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-alimap.itest.pl hmmer-3.3.2/easel/miniapps/esl-alimap.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-alimap.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-alimap.itest.pl 2021-08-31 18:04:58.014079998 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-alimap miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-alimask.itest.pl hmmer-3.3.2/easel/miniapps/esl-alimask.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-alimask.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-alimask.itest.pl 2021-08-31 18:04:58.010080022 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of esl-alimask miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-alimerge.itest.pl hmmer-3.3.2/easel/miniapps/esl-alimerge.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-alimerge.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-alimerge.itest.pl 2021-08-31 18:04:58.022079948 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of esl-alimerge miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-alistat.itest.pl hmmer-3.3.2/easel/miniapps/esl-alistat.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-alistat.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-alistat.itest.pl 2021-08-31 18:04:58.018079973 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-alistat miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-compalign.itest.pl hmmer-3.3.2/easel/miniapps/esl-compalign.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-compalign.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-compalign.itest.pl 2021-08-31 18:04:58.014079998 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-compalign miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-construct.itest.pl hmmer-3.3.2/easel/miniapps/esl-construct.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-construct.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-construct.itest.pl 2021-08-31 18:04:58.030079899 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-construct miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-mask.itest.pl hmmer-3.3.2/easel/miniapps/esl-mask.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-mask.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-mask.itest.pl 2021-08-31 18:04:58.018079973 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of esl-mask miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-seqrange.itest.pl hmmer-3.3.2/easel/miniapps/esl-seqrange.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-seqrange.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-seqrange.itest.pl 2021-08-31 18:04:58.030079899 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-seqrange miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-ssdraw.itest.pl hmmer-3.3.2/easel/miniapps/esl-ssdraw.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-ssdraw.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-ssdraw.itest.pl 2021-08-31 18:04:58.026079924 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of the esl-ssdraw miniapp. + # +diff -ru hmmer-3.3.2.orig/easel/miniapps/esl-translate.itest.pl hmmer-3.3.2/easel/miniapps/esl-translate.itest.pl +--- hmmer-3.3.2.orig/easel/miniapps/esl-translate.itest.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/miniapps/esl-translate.itest.pl 2021-08-31 18:04:58.026079924 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + BEGIN { + $builddir = shift; +diff -ru hmmer-3.3.2.orig/easel/testsuite/coverage_report.pl hmmer-3.3.2/easel/testsuite/coverage_report.pl +--- hmmer-3.3.2.orig/easel/testsuite/coverage_report.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/testsuite/coverage_report.pl 2021-08-31 18:04:58.070079651 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Measures testsuite coverage (as percentage of source lines), + # using gcov. +diff -ru hmmer-3.3.2.orig/easel/testsuite/i1-degen-residues.pl hmmer-3.3.2/easel/testsuite/i1-degen-residues.pl +--- hmmer-3.3.2.orig/easel/testsuite/i1-degen-residues.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/testsuite/i1-degen-residues.pl 2021-08-31 18:04:58.062079701 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integration tests of reading all valid protein sequence residue characters. + # +diff -ru hmmer-3.3.2.orig/easel/testsuite/i2-ncbi-indices.pl hmmer-3.3.2/easel/testsuite/i2-ncbi-indices.pl +--- hmmer-3.3.2.orig/easel/testsuite/i2-ncbi-indices.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/testsuite/i2-ncbi-indices.pl 2021-08-31 18:04:58.058079726 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Testing that we can read FASTA files, even if they have NCBI + # formatted BLAST databases in the same directory. +diff -ru hmmer-3.3.2.orig/easel/testsuite/i3-blank-gf.pl hmmer-3.3.2/easel/testsuite/i3-blank-gf.pl +--- hmmer-3.3.2.orig/easel/testsuite/i3-blank-gf.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/testsuite/i3-blank-gf.pl 2021-08-31 18:04:58.062079701 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Bug #e5: blank text line following #=GF handled improperly. + # +diff -ru hmmer-3.3.2.orig/easel/testsuite/valgrind_report.pl hmmer-3.3.2/easel/testsuite/valgrind_report.pl +--- hmmer-3.3.2.orig/easel/testsuite/valgrind_report.pl 2020-11-26 22:17:20.000000000 +0100 ++++ hmmer-3.3.2/easel/testsuite/valgrind_report.pl 2021-08-31 18:04:58.066079676 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Run the testsuite under Valgrind, to check for memory leakage. + # +diff -ru hmmer-3.3.2.orig/profmark/pmark-master.pl hmmer-3.3.2/profmark/pmark-master.pl +--- hmmer-3.3.2.orig/profmark/pmark-master.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/pmark-master.pl 2021-08-31 18:04:57.970080270 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # The top level script that runs a pmark benchmark. + # +diff -ru hmmer-3.3.2.orig/profmark/rocplot.pl hmmer-3.3.2/profmark/rocplot.pl +--- hmmer-3.3.2.orig/profmark/rocplot.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/rocplot.pl 2021-08-31 18:04:57.982080196 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + $nsearches = 2809; + +diff -ru hmmer-3.3.2.orig/profmark/x-fps-fasta hmmer-3.3.2/profmark/x-fps-fasta +--- hmmer-3.3.2.orig/profmark/x-fps-fasta 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-fasta 2021-08-31 18:04:57.974080245 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for FASTA searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-fps-ncbiblast hmmer-3.3.2/profmark/x-fps-ncbiblast +--- hmmer-3.3.2.orig/profmark/x-fps-ncbiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-ncbiblast 2021-08-31 18:04:57.998080097 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for NCBI BLASTP searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-fps-ncbiblast+ hmmer-3.3.2/profmark/x-fps-ncbiblast+ +--- hmmer-3.3.2.orig/profmark/x-fps-ncbiblast+ 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-ncbiblast+ 2021-08-31 18:04:57.986080171 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for NCBI BLASTP+ searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-fps-phmmer hmmer-3.3.2/profmark/x-fps-phmmer +--- hmmer-3.3.2.orig/profmark/x-fps-phmmer 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-phmmer 2021-08-31 18:04:58.002080072 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for phmmer searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-fps-ssearch hmmer-3.3.2/profmark/x-fps-ssearch +--- hmmer-3.3.2.orig/profmark/x-fps-ssearch 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-ssearch 2021-08-31 18:04:57.974080245 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for SSEARCH searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-fps-wublast hmmer-3.3.2/profmark/x-fps-wublast +--- hmmer-3.3.2.orig/profmark/x-fps-wublast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-fps-wublast 2021-08-31 18:04:57.994080122 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for WU-BLAST searches by FPS + # (family-pairwise-search; best E-value of all individual queries). +diff -ru hmmer-3.3.2.orig/profmark/x-h2-fs hmmer-3.3.2/profmark/x-h2-fs +--- hmmer-3.3.2.orig/profmark/x-h2-fs 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-h2-fs 2021-08-31 18:04:57.966080295 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for H2's hmmsearch. + # +diff -ru hmmer-3.3.2.orig/profmark/x-h2-ls hmmer-3.3.2/profmark/x-h2-ls +--- hmmer-3.3.2.orig/profmark/x-h2-ls 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-h2-ls 2021-08-31 18:04:57.958080344 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for H2's hmmsearch (ls mode). + # +diff -ru hmmer-3.3.2.orig/profmark/x-hmmsearch hmmer-3.3.2/profmark/x-hmmsearch +--- hmmer-3.3.2.orig/profmark/x-hmmsearch 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-hmmsearch 2021-08-31 18:04:57.986080171 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for hmmsearch. + # +diff -ru hmmer-3.3.2.orig/profmark/x-hmmsearch-max hmmer-3.3.2/profmark/x-hmmsearch-max +--- hmmer-3.3.2.orig/profmark/x-hmmsearch-max 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-hmmsearch-max 2021-08-31 18:04:57.998080097 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for hmmsearch --max. + # +diff -ru hmmer-3.3.2.orig/profmark/x-iterate-jackhmmer hmmer-3.3.2/profmark/x-iterate-jackhmmer +--- hmmer-3.3.2.orig/profmark/x-iterate-jackhmmer 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-iterate-jackhmmer 2021-08-31 18:04:57.994080122 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + $n_iterations = 1; + # $n_iterations = 2; # uncomment as needed for -n2, -n3 tests... +diff -ru hmmer-3.3.2.orig/profmark/x-iterate-psiblast hmmer-3.3.2/profmark/x-iterate-psiblast +--- hmmer-3.3.2.orig/profmark/x-iterate-psiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-iterate-psiblast 2021-08-31 18:04:57.970080270 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + BEGIN { + $top_builddir = shift; +diff -ru hmmer-3.3.2.orig/profmark/x-phmmer-consensus hmmer-3.3.2/profmark/x-phmmer-consensus +--- hmmer-3.3.2.orig/profmark/x-phmmer-consensus 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-phmmer-consensus 2021-08-31 18:04:57.978080221 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for phmmer searches using a + # consensus sequence query. +diff -ru hmmer-3.3.2.orig/profmark/x-psiblast hmmer-3.3.2/profmark/x-psiblast +--- hmmer-3.3.2.orig/profmark/x-psiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-psiblast 2021-08-31 18:04:58.006080047 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for PSI-BLAST + # +diff -ru hmmer-3.3.2.orig/profmark/x-psiblast+ hmmer-3.3.2/profmark/x-psiblast+ +--- hmmer-3.3.2.orig/profmark/x-psiblast+ 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-psiblast+ 2021-08-31 18:04:57.962080319 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for PSI-BLAST+ + # +diff -ru hmmer-3.3.2.orig/profmark/x-sam hmmer-3.3.2/profmark/x-sam +--- hmmer-3.3.2.orig/profmark/x-sam 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-sam 2021-08-31 18:04:57.990080147 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + # Do a piece of a profmark benchmark, for SAM. + # +diff -ru hmmer-3.3.2.orig/profmark/x-single-ncbiblast hmmer-3.3.2/profmark/x-single-ncbiblast +--- hmmer-3.3.2.orig/profmark/x-single-ncbiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-single-ncbiblast 2021-08-31 18:04:58.002080072 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + BEGIN { + $top_builddir = shift; +diff -ru hmmer-3.3.2.orig/profmark/x-single-phmmer hmmer-3.3.2/profmark/x-single-phmmer +--- hmmer-3.3.2.orig/profmark/x-single-phmmer 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-single-phmmer 2021-08-31 18:04:57.982080196 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + $top_builddir = shift; + $top_srcdir = shift; +diff -ru hmmer-3.3.2.orig/profmark/x-single-ssearch hmmer-3.3.2/profmark/x-single-ssearch +--- hmmer-3.3.2.orig/profmark/x-single-ssearch 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/profmark/x-single-ssearch 2021-08-31 18:04:57.966080295 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl -w ++#!/usr/bin/env perl + + BEGIN { + $top_builddir = shift; +diff -ru hmmer-3.3.2.orig/src/hmmpress.itest.pl hmmer-3.3.2/src/hmmpress.itest.pl +--- hmmer-3.3.2.orig/src/hmmpress.itest.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/src/hmmpress.itest.pl 2021-08-31 18:04:58.090079528 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Integrated test of hmmpress + # +diff -ru hmmer-3.3.2.orig/test-speed/component-benchmark.pl hmmer-3.3.2/test-speed/component-benchmark.pl +--- hmmer-3.3.2.orig/test-speed/component-benchmark.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/component-benchmark.pl 2021-08-31 18:04:57.910080641 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Component speed benchmarks + # +diff -ru hmmer-3.3.2.orig/test-speed/speedA-list.pl hmmer-3.3.2/test-speed/speedA-list.pl +--- hmmer-3.3.2.orig/test-speed/speedA-list.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/speedA-list.pl 2021-08-31 18:04:57.902080691 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Usage: ./speedA-list.pl + # Example: hmmstat Pfam-A.hmm | ./speedA-list.pl +diff -ru hmmer-3.3.2.orig/test-speed/speed-master.pl hmmer-3.3.2/test-speed/speed-master.pl +--- hmmer-3.3.2.orig/test-speed/speed-master.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/speed-master.pl 2021-08-31 18:04:57.898080716 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # The top level script that runs speed benchmarks + # +diff -ru hmmer-3.3.2.orig/test-speed/x-fasta hmmer-3.3.2/test-speed/x-fasta +--- hmmer-3.3.2.orig/test-speed/x-fasta 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-fasta 2021-08-31 18:04:57.914080616 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a FASTA install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-hmmer2 hmmer-3.3.2/test-speed/x-hmmer2 +--- hmmer-3.3.2.orig/test-speed/x-hmmer2 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-hmmer2 2021-08-31 18:04:57.894080740 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a HMMER2 build tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-hmmsearch hmmer-3.3.2/test-speed/x-hmmsearch +--- hmmer-3.3.2.orig/test-speed/x-hmmsearch 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-hmmsearch 2021-08-31 18:04:57.906080666 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a HMMER3 build tree is in $top_builddir, with binaries in src/ subdir of it + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-ncbiblast hmmer-3.3.2/test-speed/x-ncbiblast +--- hmmer-3.3.2.orig/test-speed/x-ncbiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-ncbiblast 2021-08-31 18:04:57.910080641 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that an NCBI BLAST install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-ncbiblast+ hmmer-3.3.2/test-speed/x-ncbiblast+ +--- hmmer-3.3.2.orig/test-speed/x-ncbiblast+ 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-ncbiblast+ 2021-08-31 18:04:57.898080716 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that an NCBI BLAST+ install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-psiblast hmmer-3.3.2/test-speed/x-psiblast +--- hmmer-3.3.2.orig/test-speed/x-psiblast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-psiblast 2021-08-31 18:04:57.918080592 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that an NCBI BLAST install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-psiblast+ hmmer-3.3.2/test-speed/x-psiblast+ +--- hmmer-3.3.2.orig/test-speed/x-psiblast+ 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-psiblast+ 2021-08-31 18:04:57.890080765 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that an NCBI BLAST+ install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-sam hmmer-3.3.2/test-speed/x-sam +--- hmmer-3.3.2.orig/test-speed/x-sam 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-sam 2021-08-31 18:04:57.906080666 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a SAM binary install is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-ssearch hmmer-3.3.2/test-speed/x-ssearch +--- hmmer-3.3.2.orig/test-speed/x-ssearch 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-ssearch 2021-08-31 18:04:57.894080740 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a FASTA install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/test-speed/x-wublast hmmer-3.3.2/test-speed/x-wublast +--- hmmer-3.3.2.orig/test-speed/x-wublast 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/test-speed/x-wublast 2021-08-31 18:04:57.914080616 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # We assume that a WU BLAST install tree is in $top_builddir + # $top_srcdir is unused: pass "." or $top_builddir +diff -ru hmmer-3.3.2.orig/testsuite/h3.pm hmmer-3.3.2/testsuite/h3.pm +--- hmmer-3.3.2.orig/testsuite/h3.pm 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/h3.pm 2021-08-31 18:04:57.922080567 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + package h3; + +diff -ru hmmer-3.3.2.orig/testsuite/i10-duplicate-names.pl hmmer-3.3.2/testsuite/i10-duplicate-names.pl +--- hmmer-3.3.2.orig/testsuite/i10-duplicate-names.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i10-duplicate-names.pl 2021-08-31 18:04:57.946080419 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Check how we handle duplicate names, for both queries and targets. + # Indexing HMM or sequence files does require unique names/accessions. +diff -ru hmmer-3.3.2.orig/testsuite/i11-hmmalign-mapali.pl hmmer-3.3.2/testsuite/i11-hmmalign-mapali.pl +--- hmmer-3.3.2.orig/testsuite/i11-hmmalign-mapali.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i11-hmmalign-mapali.pl 2021-08-31 18:04:57.930080517 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Another test of the hmmalign --mapali option, after Elena reports + # bug #h73 in bad interaction of checksum calculation and marking +diff -ru hmmer-3.3.2.orig/testsuite/i12-delete-corruption.pl hmmer-3.3.2/testsuite/i12-delete-corruption.pl +--- hmmer-3.3.2.orig/testsuite/i12-delete-corruption.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i12-delete-corruption.pl 2021-08-31 18:04:57.934080493 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Bug #h77: hmmalign corrupts column preceding an all-delete column + # +diff -ru hmmer-3.3.2.orig/testsuite/i13-msa-integrity.pl hmmer-3.3.2/testsuite/i13-msa-integrity.pl +--- hmmer-3.3.2.orig/testsuite/i13-msa-integrity.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i13-msa-integrity.pl 2021-08-31 18:04:57.958080344 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Look for any problems in hmmalign that corrupt the input sequences. + # +diff -ru hmmer-3.3.2.orig/testsuite/i14-hmmemit-consensus.pl hmmer-3.3.2/testsuite/i14-hmmemit-consensus.pl +--- hmmer-3.3.2.orig/testsuite/i14-hmmemit-consensus.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i14-hmmemit-consensus.pl 2021-08-31 18:04:57.938080468 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Tests hmmemit -c and hmmemit -C consensus-generating options. + # +diff -ru hmmer-3.3.2.orig/testsuite/i15-hmmconvert.pl hmmer-3.3.2/testsuite/i15-hmmconvert.pl +--- hmmer-3.3.2.orig/testsuite/i15-hmmconvert.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i15-hmmconvert.pl 2021-08-31 18:04:57.922080567 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Bug #h80: hmmconvert can't read H2 Nucleic files + # +diff -ru hmmer-3.3.2.orig/testsuite/i16-build-allins.pl hmmer-3.3.2/testsuite/i16-build-allins.pl +--- hmmer-3.3.2.orig/testsuite/i16-build-allins.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i16-build-allins.pl 2021-08-31 18:04:57.954080369 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Bug #h82: hmmbuild corrupts resave alignment on all-insert seq + # +diff -ru hmmer-3.3.2.orig/testsuite/i17-stdin.pl hmmer-3.3.2/testsuite/i17-stdin.pl +--- hmmer-3.3.2.orig/testsuite/i17-stdin.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i17-stdin.pl 2021-08-31 18:04:57.942080443 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test that programs accept and reject argument of '-' (for reading + # data from stdin, rather than from files) as they're supposed to. +diff -ru hmmer-3.3.2.orig/testsuite/i18-nhmmer-generic.pl hmmer-3.3.2/testsuite/i18-nhmmer-generic.pl +--- hmmer-3.3.2.orig/testsuite/i18-nhmmer-generic.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i18-nhmmer-generic.pl 2021-08-31 18:04:57.938080468 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test of hmmbuild/nhmmer as used to build a DNA model, then query a + # a database of long (1MB). +diff -ru hmmer-3.3.2.orig/testsuite/i20-fmindex-core.pl hmmer-3.3.2/testsuite/i20-fmindex-core.pl +--- hmmer-3.3.2.orig/testsuite/i20-fmindex-core.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i20-fmindex-core.pl 2021-08-31 18:04:57.950080394 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test of makenhmmerdb and the core fm-index search functionality, using extactmatch + # +diff -ru hmmer-3.3.2.orig/testsuite/i21-rewind.pl hmmer-3.3.2/testsuite/i21-rewind.pl +--- hmmer-3.3.2.orig/testsuite/i21-rewind.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i21-rewind.pl 2021-08-31 18:04:57.930080517 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test that the search tools (hmmsearch, phmmer, nhmmer) + # produce the correct set of hits when the target sequence +diff -ru hmmer-3.3.2.orig/testsuite/i5-hmmbuild-naming.pl hmmer-3.3.2/testsuite/i5-hmmbuild-naming.pl +--- hmmer-3.3.2.orig/testsuite/i5-hmmbuild-naming.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i5-hmmbuild-naming.pl 2021-08-31 18:04:57.942080443 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test that HMM naming in hmmbuild works as advertised. + # Written to test for #h50. +diff -ru hmmer-3.3.2.orig/testsuite/i6-hmmalign-mapali.pl hmmer-3.3.2/testsuite/i6-hmmalign-mapali.pl +--- hmmer-3.3.2.orig/testsuite/i6-hmmalign-mapali.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i6-hmmalign-mapali.pl 2021-08-31 18:04:57.950080394 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test the hmmalign --mapali option. + # +diff -ru hmmer-3.3.2.orig/testsuite/i7-hmmbuild-fragments.pl hmmer-3.3.2/testsuite/i7-hmmbuild-fragments.pl +--- hmmer-3.3.2.orig/testsuite/i7-hmmbuild-fragments.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i7-hmmbuild-fragments.pl 2021-08-31 18:04:57.926080542 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Test the ability of hmmbuild to deal with crappy alignments + # of lots of sequence fragments. +diff -ru hmmer-3.3.2.orig/testsuite/i8-nonresidues.pl hmmer-3.3.2/testsuite/i8-nonresidues.pl +--- hmmer-3.3.2.orig/testsuite/i8-nonresidues.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i8-nonresidues.pl 2021-08-31 18:04:57.926080542 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Regression test of handling a nonresidue '*' character. By design, + # '*' residues score 0 in insert states and N,C,J; and -inf in match +diff -ru hmmer-3.3.2.orig/testsuite/i9-optional-annotation.pl hmmer-3.3.2/testsuite/i9-optional-annotation.pl +--- hmmer-3.3.2.orig/testsuite/i9-optional-annotation.pl 2020-11-26 22:16:58.000000000 +0100 ++++ hmmer-3.3.2/testsuite/i9-optional-annotation.pl 2021-08-31 18:04:57.954080369 +0200 +@@ -1,4 +1,4 @@ +-#! /usr/bin/perl ++#!/usr/bin/env perl + + # Check that we can deal with HMMs with no optional annotation, in either + # hmmscan or hmmsearch mode. diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb new file mode 100644 index 00000000000..99f585d998b --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb @@ -0,0 +1,78 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# 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 +## + +easyblock = 'ConfigureMake' + +name = 'HMMER' +version = '3.4' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3'] + +builddependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), +] + +# replace hardcoded /usr/bin/perl shebang lines with '/usr/bin/env perl' across all files +preconfigopts = "grep '/usr/bin/perl' . | cut -f1 -d: | xargs echo sed -i 's@/usr/bin/perl@/usr/bin/env perl@g' && " + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb new file mode 100644 index 00000000000..bb76dc1e937 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb @@ -0,0 +1,78 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Nils Christian , +# Fotis Georgatos +# Updated by: Filip Kružík (INUITS) +# 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 +## + +easyblock = 'ConfigureMake' + +name = 'HMMER' +version = '3.4' + +homepage = 'http://hmmer.org/' +description = """HMMER is used for searching sequence databases for homologs + of protein sequences, and for making protein sequence alignments. It + implements methods using probabilistic models called profile hidden Markov + models (profile HMMs). Compared to BLAST, FASTA, and other sequence + alignment and database search tools based on older scoring methodology, + HMMER aims to be significantly more accurate and more able to detect remote + homologs because of the strength of its underlying mathematical models. In the + past, this strength came at significant computational expense, but in the new + HMMER3 project, HMMER is now essentially as fast as BLAST.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} + +source_urls = [ + 'http://eddylab.org/software/hmmer/', + 'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3'] + +builddependencies = [ + ('Python', '3.11.5'), + ('Perl', '5.38.0'), +] + +# replace hardcoded /usr/bin/perl shebang lines with '/usr/bin/env perl' across all files +preconfigopts = "grep '/usr/bin/perl' . | cut -f1 -d: | xargs echo sed -i 's@/usr/bin/perl@/usr/bin/env perl@g' && " + +configopts = '--enable-mpi' + +buildopts = ' V=1 ' + +testopts = buildopts +runtest = 'check' + +installopts = ' && cd easel && make install' + +local_bin_files = ['alimask', 'esl-afetch', 'esl-alimanip', 'esl-alimap', 'esl-alimask', + 'esl-alimerge', 'esl-alipid', 'esl-alirev', 'esl-alistat', 'esl-compalign', + 'esl-compstruct', 'esl-construct', 'esl-histplot', 'esl-mask', 'esl-reformat', + 'esl-selectn', 'esl-seqrange', 'esl-seqstat', 'esl-sfetch', 'esl-shuffle', + 'esl-ssdraw', 'esl-translate', 'esl-weight', 'hmmalign', 'hmmbuild', + 'hmmconvert', 'hmmemit', 'hmmfetch', 'hmmlogo', 'hmmpgmd', 'hmmpress', + 'hmmscan', 'hmmsearch', 'hmmsim', 'hmmstat', 'jackhmmer', 'makehmmerdb', + 'nhmmer', 'nhmmscan', 'phmmer'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_bin_files], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = [ + "esl-construct -h", + "hmmsearch -h", + "nhmmer -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.2.0.eb b/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.2.0.eb new file mode 100644 index 00000000000..496d7c1314c --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'HMMER2' +version = '2.3.2' + +homepage = 'http://hmmer.org' +description = """HMMER is used for searching sequence databases for sequence homologs, + and for making sequence alignments.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['http://eddylab.org/software/hmmer'] +sources = ['hmmer-%(version)s.tar.gz'] +checksums = ['d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4'] + +postinstallcmds = ["cd %(installdir)s/bin && for cmd in $(ls); do mv ${cmd} ${cmd}2; done"] + +local_cmd_suffixes = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'index', 'pfam', 'search'] + +sanity_check_paths = { + 'files': ['bin/hmm%s2' % x for x in local_cmd_suffixes], + 'dirs': ['man'], +} + +sanity_check_commands = ["hmm%s2 -h" % x for x in local_cmd_suffixes] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.3.0.eb b/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..e143715f7b6 --- /dev/null +++ b/easybuild/easyconfigs/h/HMMER2/HMMER2-2.3.2-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'HMMER2' +version = '2.3.2' + +homepage = 'http://hmmer.org' +description = """HMMER is used for searching sequence databases for sequence homologs, + and for making sequence alignments.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['http://eddylab.org/software/hmmer'] +sources = ['hmmer-%(version)s.tar.gz'] +checksums = ['d20e1779fcdff34ab4e986ea74a6c4ac5c5f01da2993b14e92c94d2f076828b4'] + +postinstallcmds = ["cd %(installdir)s/bin && for cmd in $(ls); do mv ${cmd} ${cmd}2; done"] + +local_cmd_suffixes = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'index', 'pfam', 'search'] + +sanity_check_paths = { + 'files': ['bin/hmm%s2' % x for x in local_cmd_suffixes], + 'dirs': ['man'], +} + +sanity_check_commands = ["hmm%s2 -h" % x for x in local_cmd_suffixes] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HOLE2/HOLE2-2.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/HOLE2/HOLE2-2.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..addf2b3cf87 --- /dev/null +++ b/easybuild/easyconfigs/h/HOLE2/HOLE2-2.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'HOLE2' +version = '2.3.1' + +homepage = 'https://www.holeprogram.org/' +description = """HOLE is a program that allows the analysis and visualisation of +the pore dimensions of the holes through molecular structures of ion channels""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/osmart/hole2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1109dd3d15a63b6c72833314f3ef0fcfdf56341e634fbd2195df7427e6b435ae'] + +builddependencies = [ + ('binutils', '2.40'), +] + +skipsteps = ['configure'] + +prebuildopts = "".join([ + "source source.apache && ", + "cd src && ", +]) + +preinstallopts = prebuildopts +install_cmd = "make install-all PREFIX=%(installdir)s" + +parallel = 1 + +local_binary = [ + 'bln2gnu', 'capost2gnu', 'grd2gnu', 'hole', 'labqpt', 'make_post2gnu', + 'make_post_map', 'qplot', 'qpt_conv', 'sos_triangle', 'sph_process', + 'vdwdot', 'vmd_triangles_to_lines' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binary], + 'dirs': ['bin', 'share/hole2/rad'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..49de16a3d99 --- /dev/null +++ b/easybuild/easyconfigs/h/HOMER/HOMER-4.11-foss-2023a-R-4.3.2.eb @@ -0,0 +1,49 @@ +easyblock = 'Binary' + +name = 'HOMER' +version = '4.11' +versionsuffix = '-R-%(rver)s' + +homepage = "http://homer.ucsd.edu/homer/" +description = """HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and + next-gen sequencing analysis. It is a collection of command line programs for unix-style operating systems written + in Perl and C++. HOMER was primarily written as a de novo motif discovery algorithm and is well suited for finding + 8-20 bp motifs in large scale genomics data. HOMER contains many useful tools for analyzing ChIP-Seq, GRO-Seq, + RNA-Seq, DNase-Seq, Hi-C and numerous other types of functional genomics sequencing data sets.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['http://homer.ucsd.edu/homer'] +sources = ['configureHomer.pl'] +checksums = ['ccdaa3004a0e0df0882634671d4a1acc88364761e0e6c7ea329ebbf1eb729537'] + +builddependencies = [ + ('wget', '1.24.5'), + ('Zip', '3.0'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('R', '4.3.2'), + ('SAMtools', '1.18'), + ('R-bundle-Bioconductor', '3.18', versionsuffix) +] + +postinstallcmds = ["cd %(installdir)s && perl ./configureHomer.pl -install homer -version v%(version)s"] + +sanity_check_paths = { + 'files': [ + 'bin/homer', + 'bin/getGenomeTilingPeaks', + 'config.txt', + 'DoughnutDocumentation.pdf', + 'data/accession/homologene.data', + 'motifs/hnf1b.motif', + ], + 'dirs': ['bin', 'data', 'motifs', 'update'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HOMER/HOMER-4.11.1-foss-2022b.eb b/easybuild/easyconfigs/h/HOMER/HOMER-4.11.1-foss-2022b.eb new file mode 100644 index 00000000000..0131cad9771 --- /dev/null +++ b/easybuild/easyconfigs/h/HOMER/HOMER-4.11.1-foss-2022b.eb @@ -0,0 +1,57 @@ +easyblock = 'Binary' + +name = 'HOMER' +version = '4.11.1' + +homepage = 'http://homer.ucsd.edu/homer/' +description = """HOMER (Hypergeometric Optimization of Motif EnRichment) is a suite of tools for Motif Discovery and +next-gen sequencing analysis. It is a collection of command line programs for unix-style operating systems written +in Perl and C++. HOMER was primarily written as a de novo motif discovery algorithm and is well suited for finding +8-20 bp motifs in large scale genomics data. HOMER contains many useful tools for analyzing ChIP-Seq, GRO-Seq, +RNA-Seq, DNase-Seq, Hi-C and numerous other types of functional genomics sequencing data sets.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['http://homer.ucsd.edu/homer/data/software'] +sources = ['homer.v%(version)s.zip'] +checksums = ['80d1cd00616729894017b24a36a2ef81f9cde8bd364e875aead1e0cfb500c82b'] + +extract_sources = True + +builddependencies = [ + ('wget', '1.21.4'), + ('Zip', '3.0'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('weblogo', '2.8.2'), + ('SAMtools', '1.17'), + ('Kent_tools', '461'), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', '-R-4.2.2') +] + +buildininstalldir = True +skipsteps = ['install'] + +# This installs the entire suite, to install only base Homer package run : +# cd %(installdir)s; perl ./configureHomer.pl -install homer +postinstallcmds = ['perl ./configureHomer.pl -install -all -keepScript'] + +sanity_check_paths = { + 'dirs': ['bin', 'data', 'motifs', 'update'], + 'files': [ + 'bin/homer', + 'bin/getGenomeTilingPeaks', + 'config.txt', + 'DoughnutDocumentation.pdf', + 'data/accession/homologene.data', + 'motifs/hnf1b.motif', + ], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..ab46959e6c7 --- /dev/null +++ b/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'HOOMD-blue' +version = "4.0.1" +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = "https://glotzerlab.engin.umich.edu/hoomd-blue/" +description = """HOOMD-blue is a general-purpose particle simulation +toolkit, implementing molecular dynamics and hard particle Monte Carlo +optimized for fast execution on both GPUs and CPUs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'glotzerlab' +source_urls = [GITHUB_LOWER_RELEASE] +sources = ['hoomd-%(version)s.tar.gz'] +checksums = ['b63dd8debb96f9c530983bd54ecbafa8fd07e017ded3ea64604cfb1f41a644b8'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tbb', '2021.5.0'), + ('Eigen', '3.4.0'), + ('Cereal', '1.3.2', '', SYSTEM), +] + +_copts = [ + '-DENABLE_GPU=ON', + '-DHOOMD_GPU_PLATFORM=CUDA', + '-DENABLE_MPI=ON', + '-DBUILD_MD=ON', + '-DBUILD_METAL=ON', + '-DENABLE_TBB=ON', + '-DBUILD_TESTING=ON', + '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', +] +configopts = ' '.join(_copts) + +postinstallcmds = [ + 'ln -s hoomd/include %(installdir)s/include', +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['hoomd/__init__.py', 'hoomd/include/hoomd/Compute.h'], + 'dirs': ['lib/cmake'], +} + +sanity_check_commands = [ + "python -c 'import hoomd'", +] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a.eb b/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a.eb new file mode 100644 index 00000000000..f576061ecc4 --- /dev/null +++ b/easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.0.1-foss-2022a.eb @@ -0,0 +1,61 @@ +easyblock = 'CMakeMake' + +name = 'HOOMD-blue' +version = "4.0.1" + +homepage = "https://bitbucket.org/glotzer/hoomd-blue" +description = """HOOMD-blue is a general-purpose particle simulation +toolkit, implementing molecular dynamics and hard particle Monte Carlo +optimized for fast execution on both GPUs and CPUs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'glotzerlab' +source_urls = [GITHUB_LOWER_RELEASE] +sources = ['hoomd-%(version)s.tar.gz'] +checksums = ['b63dd8debb96f9c530983bd54ecbafa8fd07e017ded3ea64604cfb1f41a644b8'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tbb', '2021.5.0'), + ('Eigen', '3.4.0'), + ('Cereal', '1.3.2', '', SYSTEM), +] + +_copts = [ + '-DENABLE_GPU=OFF', + '-DENABLE_MPI=ON', + '-DBUILD_MD=ON', + '-DBUILD_METAL=ON', + '-DENABLE_TBB=ON', + '-DBUILD_TESTING=ON', + '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', +] +configopts = ' '.join(_copts) + +postinstallcmds = [ + 'ln -s hoomd/include %(installdir)s/include', +] + +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +runtest = 'test' + +sanity_check_paths = { + 'files': ['hoomd/__init__.py', 'hoomd/include/hoomd/Compute.h'], + 'dirs': ['lib/cmake'], +} + +sanity_check_commands = [ + "python -c 'import hoomd'", +] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0-foss-2022a.eb b/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0-foss-2022a.eb new file mode 100644 index 00000000000..ed86b442b73 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0-foss-2022a.eb @@ -0,0 +1,24 @@ +name = 'HPCC' +version = '1.5.0' + +homepage = 'https://hpcchallenge.org/' +description = """ +HPC Challenge is a benchmark suite that measures a range memory access +patterns. The HPC Challenge benchmark consists of basically 7 tests: HPL, +DGEMM, STREAM, PTRANS, RandomAccess, FFT, Communication bandwidth and latency +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://hpcchallenge.org/projectsfiles/hpcc/download/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix_recent_mpi.patch'] +checksums = [ + {'hpcc-1.5.0.tar.gz': '0a6fef7ab9f3347e549fed65ebb98234feea9ee18aea0c8f59baefbe3cf7ffb8'}, + {'HPCC-1.5.0_fix_recent_mpi.patch': '56f1e48af423dea3b78f5614fe102586a1da7c951d6959c26e359ca1e6ad8066'}, +] + +parallel = 1 + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0_fix_recent_mpi.patch b/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0_fix_recent_mpi.patch new file mode 100644 index 00000000000..8f73d442794 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCC/HPCC-1.5.0_fix_recent_mpi.patch @@ -0,0 +1,51 @@ +Fix build error with recent MPI version +https://github.com/icl-utk-edu/hpcc/commit/d2b9a19b4498fdced2860f3394c03f27714b6160 +From d71a04d69c727b9baf0a78bb445db3ffc4ab4c91 Mon Sep 17 00:00:00 2001 +From: Francois Mazen +Date: Sat, 15 May 2021 14:49:14 +0200 +Subject: [PATCH] Apply debian patch. + +--- + hpl/src/comm/HPL_packL.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/hpl/src/comm/HPL_packL.c b/hpl/src/comm/HPL_packL.c +index ddfa230..948c08d 100644 +--- a/hpl/src/comm/HPL_packL.c ++++ b/hpl/src/comm/HPL_packL.c +@@ -169,7 +169,7 @@ int HPL_packL + type[nbufs] = MPI_DOUBLE; + blen[nbufs] = m1; + if( ierr == MPI_SUCCESS ) +- ierr = MPI_Address( bufs[nbufs], &disp[nbufs] ); ++ ierr = MPI_Get_address( bufs[nbufs], &disp[nbufs] ); + + nbufs++; len -= m1; j1++; ibuf += m1; + /* +@@ -183,7 +183,7 @@ int HPL_packL + type[nbufs] = MPI_DOUBLE; + blen[nbufs] = m1; + if( ierr == MPI_SUCCESS ) +- ierr = MPI_Address( bufs[nbufs], &disp[nbufs] ); ++ ierr = MPI_Get_address( bufs[nbufs], &disp[nbufs] ); + + nbufs++; len -= m1; j1++; ibuf += m1; + } +@@ -197,7 +197,7 @@ int HPL_packL + type[nbufs] = MPI_DOUBLE; + blen[nbufs] = len; + if( ierr == MPI_SUCCESS ) +- ierr = MPI_Address( bufs[nbufs], &disp[nbufs] ); ++ ierr = MPI_Get_address( bufs[nbufs], &disp[nbufs] ); + nbufs++; + } + +@@ -208,7 +208,7 @@ int HPL_packL + * construct the struct type + */ + if( ierr == MPI_SUCCESS ) +- ierr = MPI_Type_struct( nbufs, blen, disp, type, ++ ierr = MPI_Type_create_struct( nbufs, blen, disp, type, + &PANEL->dtypes[IBUF] ); + /* + * release temporaries diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021a.eb new file mode 100644 index 00000000000..766a6e714c7 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021a.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021b.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021b.eb new file mode 100644 index 00000000000..c0604e4ec12 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2021b.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022a.eb new file mode 100644 index 00000000000..50f11033d46 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022a.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022b.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022b.eb new file mode 100644 index 00000000000..0ec809f2922 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2022b.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2023a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2023a.eb new file mode 100644 index 00000000000..7114062d22c --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-foss-2023a.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021a.eb new file mode 100644 index 00000000000..a57e12821ab --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021a.eb @@ -0,0 +1,17 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4'] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021b.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021b.eb new file mode 100644 index 00000000000..72cf9c60b89 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2021b.eb @@ -0,0 +1,17 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4'] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022a.eb new file mode 100644 index 00000000000..81cbc0c02a1 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022a.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022b.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022b.eb new file mode 100644 index 00000000000..e6958a4ad27 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2022b.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2023a.eb b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2023a.eb new file mode 100644 index 00000000000..771c57d4d87 --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1-intel-2023a.eb @@ -0,0 +1,24 @@ +name = 'HPCG' +version = '3.1' + +homepage = 'https://software.sandia.gov/hpcg' +description = """The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than + the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['http://www.hpcg-benchmark.org/downloads'] +sources = [SOURCELOWER_TAR_GZ] +# Newer compilers require loop's upper-bound variable to be +# explicitly designated as private/shared/firstprivate/lastprivate +patches = ['HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch'] +checksums = [ + '33a434e716b79e59e745f77ff72639c32623e7f928eeb7977655ffcaade0f4a4', # hpcg-3.1.tar.gz + # HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch + '23b9de83042eb7a8207fdddcfa79ae2cc1a17e8e623e2224c7751d7c328ee482', +] + +runtest = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/HPCG/HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch b/easybuild/easyconfigs/h/HPCG/HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch new file mode 100644 index 00000000000..704cd4c73ee --- /dev/null +++ b/easybuild/easyconfigs/h/HPCG/HPCG-3.1_fix-loop-upper-bound-variable-to-be-explicitly-designated-as-shared.patch @@ -0,0 +1,24 @@ +From e9e0b7e6cae23e1f30dd983c2ce2d3bd34d56f75 Mon Sep 17 00:00:00 2001 +From: Piotr Luszczek +Date: Mon, 17 Feb 2020 12:04:33 -0500 +Subject: [PATCH] Add missing variable designation, fixes issue #64 + +Newer compilers (GCC 9.2) require loop's upper-bound variable to be +explicitly designated as private/shared/firstprivate/lastprivate +--- + src/ComputeResidual.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ComputeResidual.cpp b/src/ComputeResidual.cpp +index afc57c6..2e9498b 100644 +--- a/src/ComputeResidual.cpp ++++ b/src/ComputeResidual.cpp +@@ -53,7 +53,7 @@ int ComputeResidual(const local_int_t n, const Vector & v1, const Vector & v2, d + double local_residual = 0.0; + + #ifndef HPCG_NO_OPENMP +- #pragma omp parallel default(none) shared(local_residual, v1v, v2v) ++ #pragma omp parallel default(none) shared(n, local_residual, v1v, v2v) + { + double threadlocal_residual = 0.0; + #pragma omp for diff --git a/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb new file mode 100644 index 00000000000..5a0f068b7d1 --- /dev/null +++ b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826-foss-2020b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMakeCp' + +name = 'HPDBSCAN' +version = '20210826' +local_commit = 'ae0c74c' + +homepage = 'https://github.com/Markus-Goetz/hpdbscan' +description = "Highly parallel density based spatial clustering for application with noise" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/Markus-Goetz/hpdbscan/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}] +patches = ['HPDBSCAN-20210826_fix-numpy-headers.patch'] +checksums = [ + {'HPDBSCAN-20210826.tar.gz': '52ff343f77aeea5a425a911d88a57314c6bc877c18209eb53819d114421a868d'}, + {'HPDBSCAN-20210826_fix-numpy-headers.patch': 'cceb6a8cc15cb9bfbf92e5944f0398c1ac9db85a04fea3f7b1e0a0595fb530b1'}, +] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for mpi4py + ('SWIG', '4.0.2'), +] + +# There is not an install method, so build in the source directory to simplify files_to_copy +separate_build_dir = False + +files_to_copy = [ + (['hpdbscan'], 'bin'), + (['libhpdbscan.%s' % SHLIB_EXT], 'lib'), + (['hpdbscan.py', '_hpdbscan.%s' % SHLIB_EXT], 'lib/python%(pyshortver)s/site-packages'), + 'include', 'LICENSE.txt', +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/hpdbscan', 'lib/libhpdbscan.%s' % SHLIB_EXT, 'include/hpdbscan.h'], + 'dirs': [], +} + +# Check the Python bindings +_hpdbscan_python_check = 'python -c "import hpdbscan; import numpy; ' +_hpdbscan_python_check += 'clusterer = hpdbscan.HPDBSCAN(epsilon=0.3, min_points=4); ' +_hpdbscan_python_check += 'clusterer.cluster(numpy.random.rand(100, 3))"' + +sanity_check_commands = [ + "hpdbscan --help", + _hpdbscan_python_check, +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826_fix-numpy-headers.patch b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826_fix-numpy-headers.patch new file mode 100644 index 00000000000..bbc6f3764ba --- /dev/null +++ b/easybuild/easyconfigs/h/HPDBSCAN/HPDBSCAN-20210826_fix-numpy-headers.patch @@ -0,0 +1,81 @@ +Fix finding numpy includes such as ``. +Fixes failing compilation unless the numpy headers are in the compilers search path (e.g. $CPATH) +See https://github.com/Markus-Goetz/hpdbscan/pull/12 + +Author: Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6c3e450..b25c597 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,7 @@ TARGET_COMPILE_OPTIONS(hpdbscan-bin PRIVATE ${OpenMP_CXX_FLAGS}) + + ## hdf5 + FIND_PACKAGE(HDF5 1.8.10 REQUIRED) +-INCLUDE_DIRECTORIES("${HDF5_INCLUDE_DIRS}") ++TARGET_INCLUDE_DIRECTORIES(hpdbscan-bin PRIVATE "${HDF5_INCLUDE_DIRS}") + TARGET_LINK_LIBRARIES(hpdbscan-bin PRIVATE "${HDF5_LIBRARIES}") + + ## swig and python detection for optional bindings +@@ -57,10 +57,9 @@ IF(SWIG_FOUND) + MESSAGE("PYTHON HEADERS NOT FOUND, BUILDING WITHOUT BINDINGS") + MESSAGE("TRY INSTALLING THE python-dev OR python-devel PACKAGE") + ELSE() +- INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS}) + FIND_PACKAGE(NumPy) +- IF(NUMPY_FOUND) +- EXECUTE_PROCESS(COMMAND swig -c++ -python -I"${PYTHON_INCLUDE_DIRS}" -I"${NUMPY_INCLUDE_DIRS}" -o "${CMAKE_CURRENT_BINARY_DIR}/hpdbscan_wrap.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/swig/hpdbscan.i") ++ IF(NumPy_FOUND) ++ EXECUTE_PROCESS(COMMAND swig -c++ -python -o "${CMAKE_CURRENT_BINARY_DIR}/hpdbscan_wrap.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/swig/hpdbscan.i") + ADD_LIBRARY(hpdbscan-binding SHARED ${CMAKE_CURRENT_BINARY_DIR}/hpdbscan_wrap.cpp) + IF(MPI_FOUND) + FIND_PACKAGE(MPI4PY) +@@ -71,8 +70,10 @@ IF(SWIG_FOUND) + MESSAGE("MPI FOUND, BUT MPI4PY MISSING, BINDING WILL BE BUILT WITHOUT MPI SUPPORT") + ENDIF() + ENDIF() ++ TARGET_INCLUDE_DIRECTORIES(hpdbscan-binding PRIVATE ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS}) + TARGET_LINK_LIBRARIES(hpdbscan-binding PRIVATE ${OpenMP_CXX_FLAGS}) + TARGET_COMPILE_OPTIONS(hpdbscan-binding PRIVATE ${OpenMP_CXX_FLAGS}) ++ TARGET_INCLUDE_DIRECTORIES(hpdbscan-binding PRIVATE "${HDF5_INCLUDE_DIRS}") + TARGET_LINK_LIBRARIES(hpdbscan-binding PRIVATE "${HDF5_LIBRARIES}") + + # rename the library +diff --git a/cmake/FindNumPy.cmake b/cmake/FindNumPy.cmake +index ba0d7fd..8e353b5 100644 +--- a/cmake/FindNumPy.cmake ++++ b/cmake/FindNumPy.cmake +@@ -1,28 +1,15 @@ + # modified from https://github.com/live-clones/xdmf/blob/master/CMake/FindMPI4PY.cmake + +-IF(NOT NUMPY_INCLUDE_DIR) ++IF(NOT NUMPY_INCLUDE_DIRS) + EXECUTE_PROCESS(COMMAND + "${PYTHON_EXECUTABLE}" "-c" "import numpy as np; print(np.get_include())" +- OUTPUT_VARIABLE NUMPY_INCLUDE_DIR ++ OUTPUT_VARIABLE NUMPY_COMMAND_OUTPUT + RESULT_VARIABLE NUMPY_COMMAND_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE) +- IF(NUMPY_COMMAND_RESULT) +- MESSAGE("numpy not found") +- SET(NUMPY_FOUND FALSE) +- ELSE() +- IF(NUMPY_INCLUDE_DIR MATCHES "Traceback") +- MESSAGE("numpy matches traceback") +- ## Did not successfully include NUMPY +- SET(NUMPY_FOUND FALSE) +- ELSE() +- ## successful +- SET(NUMPY_FOUND TRUE) +- SET(NUMPY_INCLUDE_DIR ${NUMPY_INCLUDE_DIR} CACHE STRING "numpy include path") +- ENDIF() ++ IF(NOT NUMPY_COMMAND_RESULT AND NOT NUMPY_COMMAND_OUTPUT MATCHES "Traceback") ++ SET(NUMPY_INCLUDE_DIRS ${NUMPY_COMMAND_OUTPUT} CACHE STRING "numpy include path") + ENDIF() +-ELSE() +- SET(NUMPY_FOUND TRUE) + ENDIF() + + INCLUDE(FindPackageHandleStandardArgs) +-FIND_PACKAGE_HANDLE_STANDARD_ARGS(NUMPY DEFAULT_MSG NUMPY_INCLUDE_DIR) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(NumPy DEFAULT_MSG NUMPY_INCLUDE_DIRS) diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.0.15-intel-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/h/HPL/HPL-2.0.15-intel-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6b6030dc02b --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.0.15-intel-2022a-CUDA-11.7.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'HPL' +local_patch_version = '15' +version = '2.0.%s' % local_patch_version +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +download_instructions = """Download CUDA Accelerated Linpack from +https://developer.nvidia.com/computeworks-developer-exclusive-downloads""" +sources = ['hpl-%%(version_major_minor)s_FERMI_v%s.tgz' % local_patch_version] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + {'hpl-2.0_FERMI_v15.tgz': '16dd21af22fced613923a6cb09805d63952fc9c9f278cb7582061a43fe39a408'}, + {'HPL_parallel-make.patch': '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6'}, +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), +] + +buildopts = "TOPdir=${PWD}" + +files_to_copy = [ + (['bin/CUDA/HPL.dat', 'bin/CUDA/xhpl'], 'bin'), + (['src/cuda/libdgemm.so*'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/HPL.dat', 'bin/xhpl', 'lib/libdgemm.so'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2021b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2021b.eb new file mode 100644 index 00000000000..cb0f9c84deb --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2021b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.05.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.05.eb new file mode 100644 index 00000000000..a4a3eaef701 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.05.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb new file mode 100644 index 00000000000..453f6a14c83 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022.10.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022.10'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022a.eb new file mode 100644 index 00000000000..094c6181614 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb new file mode 100644 index 00000000000..286030ee656 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2022b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023.09.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023.09.eb new file mode 100644 index 00000000000..9818105d1ba --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023.09.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2023.09'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023a.eb new file mode 100644 index 00000000000..c43eaacea0d --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023b.eb new file mode 100644 index 00000000000..e0abd95827b --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2023b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb new file mode 100644 index 00000000000..8dd7ddcfa9c --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024.05.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2024.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024a.eb new file mode 100644 index 00000000000..8a70a42bb41 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-foss-2024a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'foss', 'version': '2024a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-gmpflf-2024.06.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-gmpflf-2024.06.eb new file mode 100644 index 00000000000..a6a7fb49164 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-gmpflf-2024.06.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gmpflf', 'version': '2024.06'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-gobff-2021a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-gobff-2021a.eb new file mode 100644 index 00000000000..f7aeff9dc56 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-gobff-2021a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gobff', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb new file mode 100644 index 00000000000..170c480afe8 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-gomkl-2022a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'gomkl', 'version': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2021b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2021b.eb new file mode 100644 index 00000000000..ceceb8db9c6 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2021b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.00.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.00.eb new file mode 100644 index 00000000000..fbc0e91b70f --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.00.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.00'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb new file mode 100644 index 00000000000..fb7197f51a4 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.09.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.09'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb new file mode 100644 index 00000000000..6b5eb683de8 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.11.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.11'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb new file mode 100644 index 00000000000..b2d20c3f790 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022.12.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022.12'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022a.eb new file mode 100644 index 00000000000..c890efd86c2 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb new file mode 100644 index 00000000000..8b309fa2a4b --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2022b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb new file mode 100644 index 00000000000..10fe0118177 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.03.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023.03'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.07.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.07.eb new file mode 100644 index 00000000000..287a40fcf40 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023.07.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023.07'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023a.eb new file mode 100644 index 00000000000..2d3af45a7c4 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023b.eb new file mode 100644 index 00000000000..3da773db627 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2023b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2024a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2024a.eb new file mode 100644 index 00000000000..5544839d177 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-intel-2024a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'intel', 'version': '2024a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021a.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021a.eb new file mode 100644 index 00000000000..bb523b79659 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021a.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'iomkl', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb new file mode 100755 index 00000000000..9f525d9df18 --- /dev/null +++ b/easybuild/easyconfigs/h/HPL/HPL-2.3-iomkl-2021b.eb @@ -0,0 +1,21 @@ +name = 'HPL' +version = '2.3' + +homepage = 'https://www.netlib.org/benchmark/hpl/' +description = """HPL is a software package that solves a (random) dense linear system in double precision (64 bits) + arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available + implementation of the High Performance Computing Linpack Benchmark.""" + +toolchain = {'name': 'iomkl', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.netlib.org/benchmark/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +# fix Make dependencies, so parallel build also works +patches = ['HPL_parallel-make.patch'] +checksums = [ + '32c5c17d22330e6f2337b681aded51637fb6008d3f0eb7c277b163fadd612830', # hpl-2.3.tar.gz + '2a5bf9c4f328049828ddecec7ba3f05a9e25d236f4212747c53bd22fea80c5e6', # HPL_parallel-make.patch +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-0.11.3-foss-2021b.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.11.3-foss-2021b.eb new file mode 100644 index 00000000000..a43094253e1 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-0.11.3-foss-2021b.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'HTSeq' +version = '0.11.3' + +homepage = 'https://github.com/simon-anders/htseq' +description = """HTSeq is a Python library to facilitate processing and analysis + of data from high-throughput sequencing (HTS) experiments.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] + +checksums = ['abd13b48021340fea783a9dff110534c19a306b54182501e1aa7b324d458b080'] + +builddependencies = [('SWIG', '4.0.2')] + +dependencies = [ + ('Python', '3.9.6'), + ('Pysam', '0.17.0'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-count', 'bin/%(namelower)s-qa'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s/scripts'], +} + +sanity_check_commands = ['%(namelower)s-count --help'] + +sanity_pip_check = True + +options = {'modulename': '%(name)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb new file mode 100644 index 00000000000..241a26b0ee6 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.2-foss-2022a.eb @@ -0,0 +1,41 @@ +# Updated to PythonBundle and latest version from Pypi +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'HTSeq' +version = '2.0.2' + +homepage = 'https://github.com/simon-anders/htseq' +description = """HTSeq is a Python library to facilitate processing and analysis + of data from high-throughput sequencing (HTS) experiments.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('SWIG', '4.0.2')] + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['e2c7442d6ff3f97293cfa0da276576f0996eae0a66eb3c2006332ef198f7ea09'], + 'modulename': '%(name)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-count', 'bin/%(namelower)s-qa'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s/scripts'], +} + +sanity_check_commands = ['%(namelower)s-count --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.7-foss-2023a.eb b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.7-foss-2023a.eb new file mode 100644 index 00000000000..60ffab860b4 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSeq/HTSeq-2.0.7-foss-2023a.eb @@ -0,0 +1,43 @@ +# Updated to PythonBundle and latest version from Pypi +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: P.Tománek (Inuits) + +easyblock = 'PythonBundle' + +name = 'HTSeq' +version = '2.0.7' + +homepage = 'https://github.com/simon-anders/htseq' +description = """HTSeq is a Python library to facilitate processing and analysis + of data from high-throughput sequencing (HTS) experiments.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('SWIG', '4.1.1')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Pysam', '0.22.0'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('htseq', version, { + 'modulename': 'HTSeq', + 'checksums': ['c1490cede77fb04c8f3a9efeb44d41399cd466a6082180529e63c1dade203fdd'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-count', 'bin/%(namelower)s-qa'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s/scripts'], +} + +sanity_check_commands = ['%(namelower)s-count --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.12-GCC-10.3.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.12-GCC-10.3.0.eb new file mode 100644 index 00000000000..c84cf566142 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.12-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.12' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2280141b46e953ba4ae01b98335a84f8e6ccbdb6d5cdbab7f70ee4f7e3b6f4ca'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.76.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.14-GCC-11.2.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.14-GCC-11.2.0.eb new file mode 100644 index 00000000000..9436242f53d --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.14-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.14' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['ed221b8f52f4812f810eebe0cc56cd8355a5c9d21c62d142ac05ad0da147935f'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..bb7636b2af0 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.15.1-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.15.1' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8d7f8bf9658226942eeab70af2a22aca618577eaa8fe2ed9416ee306d5351aa1'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb new file mode 100644 index 00000000000..c0a8278c4ed --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.17-GCC-12.2.0.eb @@ -0,0 +1,39 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.17' + +homepage = "https://www.htslib.org/" +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['763779288c40f07646ec7ad98b96c378c739171d162ad98398868783b721839f'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('cURL', '7.86.0'), +] + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.18-GCC-12.3.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.18-GCC-12.3.0.eb new file mode 100644 index 00000000000..65824f66485 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.18-GCC-12.3.0.eb @@ -0,0 +1,40 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.18' + +homepage = 'https://www.htslib.org/' +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['f1ab53a593a2320a1bfadf4ef915dae784006c5b5c922c8a8174d7530a9af18f'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('cURL', '8.0.1'), +] + + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..8cb7e2957b4 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSlib/HTSlib-1.19.1-GCC-13.2.0.eb @@ -0,0 +1,40 @@ +# 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 +# 1.4 modified by: +# Adam Huffman, Jonas Demeulemeester +# The Francis Crick Institute +# Updated to 1.14 +# J. Sassmannshausen /GSTT + +easyblock = 'ConfigureMake' + +name = 'HTSlib' +version = '1.19.1' + +homepage = 'https://www.htslib.org/' +description = """A C library for reading/writing high-throughput sequencing data. + This package includes the utilities bgzip and tabix""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['222d74d3574fb67b158c6988c980eeaaba8a0656f5e4ffb76b5fa57f035933ec'] + +# cURL added for S3 support +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('cURL', '8.3.0'), +] + + +sanity_check_paths = { + 'files': ['bin/bgzip', 'bin/tabix', 'lib/libhts.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb new file mode 100644 index 00000000000..e9af6f66373 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-0.15-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'HTSplotter' +version = '0.15' + +homepage = 'https://github.com/CBIGR/HTSplotter' +description = """HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro +perturbation screens.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('h5py', '3.7.0'), + ('Seaborn', '0.12.1'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('minio', '7.1.13', { + 'checksums': ['8828615a20cde82df79c5a52005252ad29bb022cde25177a4a43952a04c3222c'], + }), + ('pypdf', '3.4.1', { + 'checksums': ['8b0badc787062e8fb0d8393eb2a76903717fb24e5cc84e2b03cde5ac3881700f'], + }), + ('PyPDF2', '3.0.1', { + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + 'modulename': 'PyPDF2', + }), + ('PyPDF3', '1.0.6', { + 'checksums': ['c946f3273419e37258e35e72273f49904ab15723d87a761c1115ef99799f8c5f'], + 'modulename': 'PyPDF3', + }), + (name, version, { + 'checksums': ['9504709ac2d04dbcd0694ca0370a44b7e302b667771fb492b596d9662a2a85a9'], + 'modulename': 'HTSplotter', + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb new file mode 100644 index 00000000000..00810cd3b19 --- /dev/null +++ b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2022b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'HTSplotter' +version = '2.11' + +homepage = 'https://github.com/CBIGR/HTSplotter' +description = """HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro +perturbation screens.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('h5py', '3.8.0'), + ('Seaborn', '0.12.2'), + ('tqdm', '4.64.1'), +] + +use_pip = True + +exts_list = [ + ('minio', '7.1.13', { + 'checksums': ['8828615a20cde82df79c5a52005252ad29bb022cde25177a4a43952a04c3222c'], + }), + ('pypdf', '3.6.0', { + 'checksums': ['7d7bd0603f4e87a7064597aa968fcf77a065b596cfbe6e5003a5b00a043db230'], + }), + ('PyPDF2', '3.0.1', { + 'modulename': 'PyPDF2', + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + }), + ('PyPDF3', '1.0.6', { + 'modulename': 'PyPDF3', + 'checksums': ['c946f3273419e37258e35e72273f49904ab15723d87a761c1115ef99799f8c5f'], + }), + (name, version, { + 'modulename': 'HTSplotter', + 'checksums': ['51c0cee4e8eeecfd03f32dd707e0fa433cec91abb9334ec1d28e7f82615dbe29'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2023a.eb b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2023a.eb new file mode 100644 index 00000000000..5a631178a6b --- /dev/null +++ b/easybuild/easyconfigs/h/HTSplotter/HTSplotter-2.11-foss-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'HTSplotter' +version = '2.11' + +homepage = 'https://github.com/CBIGR/HTSplotter' +description = """HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro +perturbation screens.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('Seaborn', '0.13.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2_cffi', '23.1.0', { + 'modulename': 'argon2', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea'], + }), + ('minio', '7.2.9', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['fe5523d9c4a4d6cfc07e96905852841bccdb22b22770e1efca4bf5ae8b65774b'], + }), + ('pypdf', '5.0.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['67603e2e96cdf70e676564520933c017d450f16075b9966be5fee128812ace8c'], + }), + ('pypdf2', '3.0.1', { + 'modulename': 'PyPDF2', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d16e4205cfee272fbdc0568b68d82be796540b1537508cef59388f839c191928'], + }), + ('PyPDF3', '1.0.6', { + 'modulename': 'PyPDF3', + 'checksums': ['c946f3273419e37258e35e72273f49904ab15723d87a761c1115ef99799f8c5f'], + }), + (name, version, { + 'modulename': 'HTSplotter', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6067735d14f15ca2fd35963701a96e39edaf0899742bfa7ccc8f9867a0279346'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-10.2.0-native-Java-1.8.eb b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-10.2.0-native-Java-1.8.eb index cb15f9404ed..795f421b233 100644 --- a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-10.2.0-native-Java-1.8.eb +++ b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-10.2.0-native-Java-1.8.eb @@ -29,7 +29,7 @@ checksums = [ builddependencies = [ ('binutils', '2.35'), - ('Maven', '3.6.3', '', True), + ('Maven', '3.6.3', '', SYSTEM), ('protobuf', '2.5.0'), # *must* be this version - https://issues.apache.org/jira/browse/HADOOP-13363 ('CMake', '3.18.4'), ('snappy', '1.1.8'), @@ -39,7 +39,7 @@ builddependencies = [ # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('libtirpc', '1.3.1'), ] diff --git a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-8.3.0-native.eb b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-8.3.0-native.eb index c1fa9fa3cdc..039bc9f1132 100644 --- a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-8.3.0-native.eb +++ b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.10.0-GCCcore-8.3.0-native.eb @@ -29,7 +29,7 @@ checksums = [ builddependencies = [ ('binutils', '2.32'), - ('Maven', '3.6.3', '', True), + ('Maven', '3.6.3', '', SYSTEM), ('protobuf', '2.5.0'), # *must* be this version - https://issues.apache.org/jira/browse/HADOOP-13363 ('CMake', '3.15.3'), ('snappy', '1.1.7'), @@ -39,7 +39,7 @@ builddependencies = [ # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('libtirpc', '1.2.6'), ] diff --git a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.9.2-GCCcore-7.3.0-native.eb b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.9.2-GCCcore-7.3.0-native.eb index 1e22b4574c8..22aad2469d9 100644 --- a/easybuild/easyconfigs/h/Hadoop/Hadoop-2.9.2-GCCcore-7.3.0-native.eb +++ b/easybuild/easyconfigs/h/Hadoop/Hadoop-2.9.2-GCCcore-7.3.0-native.eb @@ -24,7 +24,7 @@ checksums = [ builddependencies = [ ('binutils', '2.30'), - ('Maven', '3.6.0', '', True), + ('Maven', '3.6.0', '', SYSTEM), ('protobuf', '2.5.0'), # *must* be this version ('CMake', '3.12.1'), ('snappy', '1.1.7'), @@ -32,7 +32,7 @@ builddependencies = [ ('bzip2', '1.0.6'), ] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] build_native_libs = True diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb index 5662fb3cc49..61d5d7f6ffc 100644 --- a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.1-GCCcore-10.3.0.eb @@ -30,7 +30,8 @@ dependencies = [ ('freetype', '2.10.4'), ] -preconfigopts = "./autogen.sh && " +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2be2036a9b2 --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-2.8.2-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '2.8.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['4164f68103e7b52757a732227cfa2a16cfa9984da513843bb4eb7669adc6f220'] + +builddependencies = [ + ('binutils', '2.37'), + ('GObject-Introspection', '1.68.0'), + ('pkg-config', '0.29.2'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('GLib', '2.69.1'), + ('ICU', '69.1'), + ('cairo', '1.16.0'), + ('freetype', '2.11.0'), +] + +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..389711e5230 --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-4.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '4.2.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['99fcd30e2f4c66d05af3d61ad4cdba2abc2a51ecabb7eb6dc222520a892b50b0'] + +builddependencies = [ + ('binutils', '2.38'), + ('GObject-Introspection', '1.72.0'), + ('pkgconf', '1.8.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GLib', '2.72.1'), + ('ICU', '71.1'), + ('cairo', '1.17.4'), + ('freetype', '2.12.1'), +] + +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..413af61094b --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '5.3.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['77c8c903f4539b050a6d3a5be79705c7ccf7b1cb66d68152a651486e261edbd2'] + +builddependencies = [ + ('binutils', '2.39'), + ('GObject-Introspection', '1.74.0'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GLib', '2.75.0'), + ('ICU', '72.1'), + ('cairo', '1.17.4'), + ('freetype', '2.12.1'), +] + +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2ffe6643c7c --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-5.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '5.3.1' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['77c8c903f4539b050a6d3a5be79705c7ccf7b1cb66d68152a651486e261edbd2'] + +builddependencies = [ + ('binutils', '2.40'), + ('GObject-Introspection', '1.76.1'), + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('ICU', '73.2'), + ('cairo', '1.17.8'), + ('freetype', '2.13.0'), +] + +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-8.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-8.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..efab63ddcc6 --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-8.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'HarfBuzz' +version = '8.2.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['0546aac7b2493b3681047914550860157f8799fc80bf5cb528927a9643d6ab3d'] + +builddependencies = [ + ('binutils', '2.40'), + ('GObject-Introspection', '1.78.1'), + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GLib', '2.78.1'), + ('ICU', '74.1'), + ('cairo', '1.18.0'), + ('freetype', '2.13.2'), +] + +# define $GTKDOCIZE to 'echo' as workaround for https://github.com/easybuilders/easybuild-easyconfigs/issues/16567 +preconfigopts = "GTKDOCIZE=echo ./autogen.sh && " +configopts = "--enable-introspection=yes --with-gobject=yes --enable-static --enable-shared --with-cairo " + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..40540c3fcdc --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0-GCCcore-13.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'MesonNinja' + +name = 'HarfBuzz' +version = '9.0.0' + +homepage = 'https://www.freedesktop.org/wiki/Software/HarfBuzz' +description = """HarfBuzz is an OpenType text shaping engine.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'harfbuzz' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['HarfBuzz-9.0.0_fix-subset-test.patch'] +checksums = [ + {'9.0.0.tar.gz': 'b7e481b109d19aefdba31e9f5888aa0cdfbe7608fed9a43494c060ce1f8a34d2'}, + {'HarfBuzz-9.0.0_fix-subset-test.patch': '1635505c27c312dca507863f2a865eb88d42e35ff4cc241cfa0e90c0ade8b790'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('GObject-Introspection', '1.80.1'), + ('pkgconf', '2.2.0'), + ('Ninja', '1.12.1'), + ('Meson', '1.4.0'), + ('fonttools', '4.53.1'), # For tests +] + +dependencies = [ + ('GLib', '2.80.4'), + ('ICU', '75.1'), + ('cairo', '1.18.0'), + ('freetype', '2.13.2'), +] + +configopts = '--default-library=both' # static and shared library +configopts += ' -Dgobject=enabled -Dintrospection=enabled' +configopts += ' -Dglib=enabled' +configopts += ' -Dicu=enabled' +configopts += ' -Dcairo=enabled' +configopts += ' -Dfreetype=enabled' + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' + +sanity_check_paths = { + 'files': ['lib/libharfbuzz.%s' % SHLIB_EXT, 'bin/hb-view'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0_fix-subset-test.patch b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0_fix-subset-test.patch new file mode 100644 index 00000000000..25a2b619fc8 --- /dev/null +++ b/easybuild/easyconfigs/h/HarfBuzz/HarfBuzz-9.0.0_fix-subset-test.patch @@ -0,0 +1,26 @@ +The test "feature_variation_instance_collect_lookups" fails when run in environments +where the decimal separator is not a dot ("."). +Fix this by using the C locale. +See https://github.com/harfbuzz/harfbuzz/pull/4857 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/subset/run-tests.py b/test/subset/run-tests.py +index 9e09d95d1d9..c0c256d8974 100755 +--- a/test/subset/run-tests.py ++++ b/test/subset/run-tests.py +@@ -135,10 +135,13 @@ def check_ots (path): + + has_ots = has_ots() + ++env = os.environ.copy() ++env['LC_ALL'] = 'C' + process = subprocess.Popen ([hb_subset, '--batch'], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, +- stderr=sys.stdout) ++ stderr=sys.stdout, ++ env=env) + + fails = 0 + for path in args: diff --git a/easybuild/easyconfigs/h/Harminv/Harminv-1.4.2-foss-2020b.eb b/easybuild/easyconfigs/h/Harminv/Harminv-1.4.2-foss-2020b.eb new file mode 100644 index 00000000000..7065f827a27 --- /dev/null +++ b/easybuild/easyconfigs/h/Harminv/Harminv-1.4.2-foss-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'Harminv' +version = '1.4.2' + +homepage = 'https://github.com/stevengj/harminv' +description = """Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - + given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially + decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those + sinusoids.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': True, 'unroll': True, 'pic': True, 'cstd': 'c99'} + +source_urls = ['https://github.com/stevengj/harminv/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5a9a1bf710972442f065d0d62c62d0c4ec3da4a3696d7160a35602c9470bc7a2'] + +builddependencies = [('pkg-config', '0.29.2')] + +configopts = "--with-pic --with-blas=openblas --with-lapack=openblas --enable-shared" + +sanity_check_paths = { + 'files': ['bin/harminv', 'lib/libharminv.a', 'lib/libharminv.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'math' 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/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..649dff6c435 --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.1.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,64 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'Health-GPS' +version = '1.1.3.0' + +homepage = 'https://github.com/imperialCHEPI/healthgps' +description = """ +Health-GPS microsimulation is part of the STOP project, and support researchers +and policy makers in the analysis of the health and economic impacts of alternative +measures to tackle chronic diseases and obesity in children. The model reproduces +the characteristics of a population and simulates key individual event histories +associated with key components of relevant behaviours, such as physical activity, +and diseases such as diabetes or cancer. +To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation +folder, must be in the current path. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/imperialCHEPI/healthgps/archive'] +sources = ['v.%(version)s.tar.gz'] +patches = ['Health-GPS-20220316-CMake.patch'] + +checksums = [ + '62ff13811ca0ec313aa166bb53bc89516c3135bc78a6fba6711c5a0d8d4c98ec', # Health-GPS-1.1.3.0.tar.gz + '315e70c12edfe15535dbd54ac99ea66d41df3989a0917b8da7f024fdea2af609', # Health-GPS-20220316-CMake.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('crossguid', '20190529'), + ('nlohmann_json', '3.10.5'), + ('rapidcsv', '8.64'), + ('fmt', '9.1.0'), + ('googletest', '1.11.0'), + ('cxxopts', '3.0.0', '', SYSTEM), + ('indicators', '2.2'), +] + +# We need to make sure we find the data-dir, so we just link it. +# This is bash, so we need to do a hack about the source directory. +prebuildopts = 'ln -s ../healthgps*/data data && ' + +files_to_copy = [ + (['src/HealthGPS.Console/HealthGPS.Console', 'src/HealthGPS.Tests/HealthGPS.Tests'], 'bin'), + 'data' +] + +sanity_check_paths = { + 'files': ['bin/HealthGPS.Console', 'bin/HealthGPS.Tests'], + 'dirs': ['data'], +} + +sanity_check_commands = ['HealthGPS.Tests'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9b0f805733b --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-1.2.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,68 @@ +# Contribution from Imperial College London, UK +# Author Israel Vieira +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'Health-GPS' +version = '1.2.2.0' + +homepage = 'https://github.com/imperialCHEPI/healthgps' +description = """ +Health-GPS microsimulation is part of the STOP project, and supports researchers +and policy makers in the analysis of the health and economic impacts of alternative +measures to tackle chronic diseases and obesity in children. The model reproduces +the characteristics of a population and simulates key individual event histories +associated with key components of relevant behaviours, such as physical activity, +and diseases such as diabetes or cancer. +To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation +folder, must be in the current path. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/imperialCHEPI/healthgps/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Health-GPS-20220316-CMake.patch'] + +checksums = [ + 'c90a076e5cd0ca2d12b57b78318bbed4a30c93d472a9eaa51e16d541a55fe160', # Health-GPS-1.2.2.0.tar.gz + '315e70c12edfe15535dbd54ac99ea66d41df3989a0917b8da7f024fdea2af609', # Health-GPS-20220316-CMake.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), +] + +# TBB is optional, include to link the application against the system library (GCC STL Only). +dependencies = [ + ('crossguid', '20190529'), + ('nlohmann_json', '3.10.5'), + ('rapidcsv', '8.64'), + ('fmt', '9.1.0'), + ('googletest', '1.11.0'), + ('cxxopts', '3.0.0', '', SYSTEM), + ('indicators', '2.2'), + ('tbb', '2021.5.0'), # optional - some HPC do not support non-OpenMP threads well. +] + +# We need to make sure we find the data-dir, so we just link it. +# This is bash, so we need to do a hack about the source directory. +prebuildopts = 'ln -s ../healthgps*/data data && ' + +files_to_copy = [ + (['src/HealthGPS.Console/HealthGPS.Console', 'src/HealthGPS.Tests/HealthGPS.Tests'], 'bin'), + 'data' +] + + +sanity_check_paths = { + 'files': ['bin/HealthGPS.Console', 'bin/HealthGPS.Tests'], + 'dirs': ['data'], +} + +sanity_check_commands = ['HealthGPS.Tests'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch new file mode 100644 index 00000000000..d6c9d394e7e --- /dev/null +++ b/easybuild/easyconfigs/h/Health-GPS/Health-GPS-20220316-CMake.patch @@ -0,0 +1,42 @@ +Patch to removed the build dependency to vcpkg as we are using EasyBuild for that +author: J. Sassmannshausen +diff --git a/healthgps.orig/CMakePresets.json b/healthgps/CMakePresets.json +index d29ef60..b3a3132 100644 +--- a/healthgps.orig/CMakePresets.json ++++ b/healthgps/CMakePresets.json +@@ -6,9 +6,9 @@ + "description": "Shared configuration presets", + "hidden": true, + "generator": "Ninja", +- "binaryDir": "${sourceDir}/out/build/${presetName}", ++ "binaryDir": "${sourceDir}/build", + "cacheVariables": { +- "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}" ++ "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install/${presetName}" + } + }, + { +@@ -18,15 +18,7 @@ + "inherits": "base", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", +- "CMAKE_CXX_COMPILER": "g++", +- "CMAKE_TOOLCHAIN_FILE": { +- "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", +- "type": "FILEPATH" +- } +- }, +- "vendor": { +- "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "Linux" ] }, +- "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" } ++ "CMAKE_CXX_COMPILER": "g++" + } + }, + { +@@ -108,4 +100,4 @@ + "configurePreset": "x64-debug" + } + ] +-} +\ No newline at end of file ++} diff --git a/easybuild/easyconfigs/h/HepMC/HepMC-2.06.11-gompi-2022a.eb b/easybuild/easyconfigs/h/HepMC/HepMC-2.06.11-gompi-2022a.eb new file mode 100644 index 00000000000..ca033f0fd1c --- /dev/null +++ b/easybuild/easyconfigs/h/HepMC/HepMC-2.06.11-gompi-2022a.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'CMakeMake' + +name = 'HepMC' +version = '2.06.11' + +homepage = 'http://hepmc.web.cern.ch/hepmc/' +description = """HepMC is a standard for storing Monte Carlo event data.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://hepmc.web.cern.ch/hepmc/releases/'] +sources = ['hepmc%(version)s.tgz'] +checksums = ['86b66ea0278f803cde5774de8bd187dd42c870367f1cbf6cdaec8dc7cf6afc10'] + +builddependencies = [('CMake', '3.23.1')] + +configopts = '-Dmomentum=GEV -Dlength=MM' + +sanity_check_paths = { + 'files': ['lib/libHepMC.so'], + 'dirs': ['include/HepMC'] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.3.0.eb b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.3.0.eb new file mode 100644 index 00000000000..113308b1508 --- /dev/null +++ b/easybuild/easyconfigs/h/HepMC3/HepMC3-3.2.5-GCC-11.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.5' + +homepage = 'http://hepmc.web.cern.ch/hepmc/' +description = """HepMC is a standard for storing Monte Carlo event data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://hepmc.web.cern.ch/hepmc/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['cd0f75c80f75549c59cc2a829ece7601c77de97cb2a5ab75790cac8e1d585032'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4') +] + +configopts = '-DHEPMC3_ENABLE_ROOTIO=OFF -Dmomentum=GEV -Dlength=MM ' +configopts += '-DHEPMC3_ENABLE_PYTHON=ON ' +configopts += '-DHEPMC3_Python_SITEARCH310=%(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/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/HiC-Pro/HiC-Pro-3.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/h/HiC-Pro/HiC-Pro-3.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..815a40116be --- /dev/null +++ b/easybuild/easyconfigs/h/HiC-Pro/HiC-Pro-3.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,59 @@ +easyblock = 'MakeCp' + +name = 'HiC-Pro' +version = '3.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://nservant.github.io/HiC-Pro' +description = """HiC-Pro was designed to process Hi-C data, from raw fastq files (paired-end Illumina data) + to the normalized contact maps.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nservant/HiC-Pro/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['25a88d89813e8e9653f59ca0bd6eaad8b0c8dbb5e578e233f2b3db7b04256f2f'] + +dependencies = [ + ('R', '4.2.1'), + ('Bowtie2', '2.4.5'), + ('Pysam', '0.19.1'), + ('SAMtools', '1.16.1'), + ('bx-python', '0.9.0'), + ('iced', '0.5.10'), +] + +# there's no configure script, "configure" is a Makefile target +skipsteps = ['configure'] + +# "configure" target only takes prefix as argument, the rest is read from config-install.txt +prebuildopts = 'sed -i "s|BOWTIE2_PATH = |BOWTIE2_PATH = $EBROOTBOWTIE2|" config-install.txt && ' +prebuildopts += 'sed -i "s|SAMTOOLS_PATH = |SAMTOOLS_PATH = $EBROOTSAMTOOLS|" config-install.txt && ' +prebuildopts += 'sed -i "s|R_PATH = |R_PATH = $EBROOTR|" config-install.txt && ' +prebuildopts += 'sed -i "s|PYTHON_PATH = |PYTHON_PATH = $EBROOTPYTHON|" config-install.txt && ' + +# configure +prebuildopts += 'make configure prefix=%(installdir)s && ' + +# install +files_to_copy = [ + 'annotation', + 'doc', + 'scripts', + (['bin/utils', 'bin/HiC-Pro'], 'bin'), + 'config-system.txt', +] + +modextrapaths = { + 'PATH': ['bin/utils', 'scripts'], + 'SCRIPTS': ['scripts'] +} + +sanity_check_paths = { + 'files': ['config-system.txt', 'scripts/build_matrix', 'scripts/cutsite_trimming', 'bin/HiC-Pro'], + 'dirs': ['annotation', 'bin/utils', 'doc'], +} + +sanity_check_commands = ["HiC-Pro --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb b/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb new file mode 100644 index 00000000000..be8ef5e31a2 --- /dev/null +++ b/easybuild/easyconfigs/h/HiCExplorer/HiCExplorer-3.7.2-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'HiCExplorer' +version = '3.7.2' + +homepage = 'http://hicexplorer.readthedocs.org/' +description = """HiCexplorer addresses the common tasks of Hi-C analysis from processing to visualization.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), # required for krbalancing + ('conan', '1.58.0'), # required for krbalancing +] + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('scikit-learn', '1.1.2'), + ('Biopython', '1.79'), + ('PyTables', '3.8.0'), + ('h5py', '3.7.0'), + ('pybedtools', '0.9.0'), + ('Unidecode', '1.3.6'), + ('cooler', '0.9.1'), + ('pyGenomeTracks', '3.8'), + ('pyBigWig', '0.3.18'), + ('imbalanced-learn', '0.10.1'), + ('Hyperopt', '0.2.7'), + ('IPython', '8.5.0'), # for ipykernel + ('graphviz-python', '0.20.1'), + ('krbalancing', '0.5.0b0'), +] + +use_pip = True + +exts_list = [ + # stick to termcolor 1.x, to avoid hatchling required build dependency + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('cleanlab', '2.2.0', { + 'checksums': ['401e27dee2531a06ea9abe8a73fab8f29c1c92758ece2f8b84e171a9310b0a71'], + }), + ('fit-nbinom', '1.1', { + 'sources': ['fit_nbinom-%(version)s.tar.gz'], + 'checksums': ['bd9600f24f00ab0ec7e8d96b7fcf1ff96ea37d129c9258e0be4bee3262a1688b'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), + ('hic2cool', '0.8.3', { + 'checksums': ['c244b89bd23a021c80b0a5b2a5d827dc2f313a4e6497e1ac45044fdc3b109a77'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + (name, version, { + 'source_urls': ['https://github.com/deeptools/HiCExplorer/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['dca71065dd4e549d578db96870b8d650b48f3dc852918ef19a345f436f612037'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb new file mode 100644 index 00000000000..c01429eabad --- /dev/null +++ b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'HiCMatrix' +version = '17' + +homepage = 'https://github.com/deeptools/HiCMatrix' +description = "This library implements the central class of HiCExplorer to manage Hi-C interaction matrices." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTables', '3.8.0'), + ('cooler', '0.9.1'), +] + +use_pip = True + +exts_list = [ + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/deeptools/HiCMatrix/archive/'], + 'checksums': ['40d0d0ed670ca8084bd67ec1fe9eb7aff6c180ca0e0fca277f5ad76d25ed97bb'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17.2-foss-2023a.eb b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17.2-foss-2023a.eb new file mode 100644 index 00000000000..474b8906ff5 --- /dev/null +++ b/easybuild/easyconfigs/h/HiCMatrix/HiCMatrix-17.2-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'HiCMatrix' +version = '17.2' + +homepage = 'https://github.com/deeptools/HiCMatrix' +description = "This library implements the central class of HiCExplorer to manage Hi-C interaction matrices." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTables', '3.8.0'), + ('cooler', '0.10.2'), +] + +use_pip = True + +exts_list = [ + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/deeptools/HiCMatrix/archive/'], + 'checksums': ['a2428676b5aad014e7b1653e3effe94f7ea8a68cc78be83e4b67f2255f6b4fbb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb new file mode 100644 index 00000000000..acc366be210 --- /dev/null +++ b/easybuild/easyconfigs/h/HiGHS/HiGHS-1.7.0-gfbf-2023b.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'HiGHS' +version = '1.7.0' + +homepage = 'https://ergo-code.github.io/HiGHS' +description = """Open source serial and parallel solvers for large-scale sparse linear programming (LP), +mixed-integer programming (MIP), and quadratic programming (QP) models.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/ERGO-Code/HiGHS/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('highspy', version, { + 'source_urls': ['https://github.com/ERGO-Code/HiGHS/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d10175ad66e7f113ac5dc00c9d6650a620663a6884fbf2942d6eb7a3d854604f'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/highs'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb new file mode 100644 index 00000000000..bedb87011ed --- /dev/null +++ b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'HighFive' +version = '2.6.2' + +homepage = 'https://github.com/BlueBrain/HighFive' +description = """HighFive is a modern header-only C++11 friendly interface for libhdf5.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +github_account = 'BlueBrain' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ab51b9fbb49e877dd1aa7b53b4b26875f41e4e0b8ee0fc2f1d735e0d1e43d708'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1') +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('Boost', '1.76.0'), + ('Eigen', '3.3.9'), +] + +sanity_check_paths = { + 'files': ['include/highfive/H5File.hpp'], + 'dirs': [], +} + +configopts = '-DHIGHFIVE_USE_EIGEN=ON -DHIGHFIVE_PARALLEL_HDF5=ON' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb new file mode 100644 index 00000000000..d0d48e20834 --- /dev/null +++ b/easybuild/easyconfigs/h/HighFive/HighFive-2.6.2-gompi-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'HighFive' +version = '2.6.2' + +homepage = 'https://github.com/BlueBrain/HighFive' +description = """HighFive is a modern header-only C++11 friendly interface for libhdf5.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'BlueBrain' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ab51b9fbb49e877dd1aa7b53b4b26875f41e4e0b8ee0fc2f1d735e0d1e43d708'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38') +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('Boost', '1.79.0'), + ('Eigen', '3.4.0'), +] + +sanity_check_paths = { + 'files': ['include/highfive/H5File.hpp'], + 'dirs': [], +} + +configopts = '-DHIGHFIVE_USE_EIGEN=ON -DHIGHFIVE_PARALLEL_HDF5=ON' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/HighFive/HighFive-2.7.1-gompi-2023a.eb b/easybuild/easyconfigs/h/HighFive/HighFive-2.7.1-gompi-2023a.eb new file mode 100644 index 00000000000..e17e6e8507b --- /dev/null +++ b/easybuild/easyconfigs/h/HighFive/HighFive-2.7.1-gompi-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'HighFive' +version = '2.7.1' + +homepage = 'https://github.com/BlueBrain/HighFive' +description = """HighFive is a modern header-only C++11 friendly interface for libhdf5.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'BlueBrain' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['25b4c51a94d1e670dc93b9b73f51e79b65d8ff49bcd6e5d5582d5ecd2789a249'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40') +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('Boost', '1.82.0'), + ('Eigen', '3.4.0'), +] + +sanity_check_paths = { + 'files': ['include/highfive/H5File.hpp'], + 'dirs': [], +} + +configopts = '-DHIGHFIVE_USE_EIGEN=ON -DHIGHFIVE_PARALLEL_HDF5=ON' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0f1af103e84 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'Highway' +version = '0.12.2' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e1d47ce510429fdcf31f41697ca74fb0dcd59d933196e531a86d51751a56f4cc'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('googletest', '1.10.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..75bb63a652c --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-0.12.2-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '0.12.2' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e1d47ce510429fdcf31f41697ca74fb0dcd59d933196e531a86d51751a56f4cc'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9202b5b1d43 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.3' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..198469448b6 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.3' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +patches = ['Highway-1.0.3_disable_AVX3_DL.patch'] +checksums = [ + '566fc77315878473d9a6bd815f7de78c73734acdcb745c3dde8579560ac5440e', + {'Highway-1.0.3_disable_AVX3_DL.patch': '5729765a75c42551056f95f24fc81031293066253978548c573d06eb33bf9853'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('googletest', '1.12.1'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch new file mode 100644 index 00000000000..cbbdc731467 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.3_disable_AVX3_DL.patch @@ -0,0 +1,31 @@ +Using AVX3_DL in the baseline doesn't work in 1.0.3 causing the build to fail with +> #error "Logic error: best baseline should be included in dynamic targets" + +This is caused by using a wrong defined and fixed by +https://github.com/google/highway/commit/f0f688b6d6d1ec94489cc989ccb9729b0342aa58 +However that leads to a test failure: +> HwyConvertTestGroup/HwyConvertTest.TestAllTruncate/AVX3_DL +> u8x16 expect [0+ ->]: +> 0x00,0x01,0x02,0x03,0x04,0x05,0x06, +> u8x16 actual [0+ ->]: +> 0x00,0x1A,0x02,0x1A,0x04,0x1A,0x06, +> Abort at .../hwy/tests/convert_test.cc:386: AVX3_DL, u8x16 lane 1 mismatch: expected '0x01', got '0x1A'. + +Hence AVX3_DL in 1.0.3 seems to be broken and must not be used. +This patch disables it by making the condition always false. + +Author: Alexander Grund (TU Dresden) + +diff --git a/hwy/detect_targets.h b/hwy/detect_targets.h +index 2beca95b..379c4525 100644 +--- a/hwy/detect_targets.h ++++ b/hwy/detect_targets.h +@@ -340,7 +340,7 @@ + #if HWY_BASELINE_AVX3 != 0 && defined(__AVXVNNI__) && defined(__VAES__) && \ + defined(__VPCLMULQDQ__) && defined(__AVX512VBMI__) && \ + defined(__AVX512VBMI2__) && defined(__AVX512VPOPCNTDQ__) && \ +- defined(__AVX512BITALG__) ++ defined(__AVX512BITALG__) && 0 + #define HWY_BASELINE_AVX3_DL HWY_AVX3_DL + #else + #define HWY_BASELINE_AVX3_DL 0 diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6b5785ddb81 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-11.3.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 = 'Highway' +version = '1.0.4' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['faccd343935c9e98afd1016e9d20e0b8b89d908508d1af958496f8c2d3004ac2'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..993087b828c --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.4' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +patches = ['Highway-1.0.4-zen4-fix-TruncateTo-bug.patch'] + +checksums = [ + {'1.0.4.tar.gz': 'faccd343935c9e98afd1016e9d20e0b8b89d908508d1af958496f8c2d3004ac2'}, + {'Highway-1.0.4-zen4-fix-TruncateTo-bug.patch': + 'e571413c290076a729dbb1df105a4bfa106099238d1b438e74a9dfc9557eb4a2'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.4-zen4-fix-TruncateTo-bug.patch b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-zen4-fix-TruncateTo-bug.patch new file mode 100644 index 00000000000..f489a6bd15f --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.4-zen4-fix-TruncateTo-bug.patch @@ -0,0 +1,59 @@ +A single test failed when building on AMD Genoa a.k.a Zen4 with the error message +reported in https://github.com/google/highway/issues/1913 + +Building v1.0.5 passed all tests. Hence, this patch uses some of the changes made +in v1.0.5 to let the single failing test succeed. + +Looking at the PRs added by v1.0.5 a promising candidate was identified +(https://github.com/google/highway/pull/1276) and all changed files in the PR +were "studied in detail" (assessed if the changes could be related to the failing +test on Zen4). Luckily, the four changes provided in the patch below were +found to resolve the issue. It was also tested if a subset of these four changes +would resolve the issue, but this did not succeed. + +Author: Thomas Roeblitz (University of Bergen) + +diff --git a/hwy/ops/x86_256-inl.h b/hwy/ops/x86_256-inl.h +index 4e2e83e8..2fbf99c7 100644 +--- a/hwy/ops/x86_256-inl.h ++++ b/hwy/ops/x86_256-inl.h +@@ -4185,7 +4185,7 @@ HWY_INLINE Vec128 LookupAndConcatHalves(Vec256 v) { + #if HWY_TARGET <= HWY_AVX3_DL + alignas(32) static constexpr uint32_t kMap[8] = { + LO, HI, 0x10101010 + LO, 0x10101010 + HI, 0, 0, 0, 0}; +- const auto result = _mm256_permutexvar_epi8(v.raw, Load(d32, kMap).raw); ++ const auto result = _mm256_permutexvar_epi8(Load(d32, kMap).raw, v.raw); + #else + alignas(32) static constexpr uint32_t kMap[8] = {LO, HI, ~0u, ~0u, + ~0u, ~0u, LO, HI}; +@@ -4208,7 +4208,7 @@ HWY_INLINE Vec128 LookupAndConcatQuarters(Vec256 v) { + #if HWY_TARGET <= HWY_AVX3_DL + alignas(32) static constexpr uint16_t kMap[16] = { + LO, HI, 0x1010 + LO, 0x1010 + HI, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +- const auto result = _mm256_permutexvar_epi8(v.raw, Load(d16, kMap).raw); ++ const auto result = _mm256_permutexvar_epi8(Load(d16, kMap).raw, v.raw); + return LowerHalf(Vec128{_mm256_castsi256_si128(result)}); + #else + constexpr uint16_t ff = static_cast(~0u); +@@ -4229,7 +4229,7 @@ HWY_API Vec32 TruncateTo(D /* tag */, Vec256 v) { + #if HWY_TARGET <= HWY_AVX3_DL + alignas(32) static constexpr uint32_t kMap[8] = {0x18100800u, 0, 0, 0, + 0, 0, 0, 0}; +- const auto result = _mm256_permutexvar_epi8(v.raw, Load(d32, kMap).raw); ++ const auto result = _mm256_permutexvar_epi8(Load(d32, kMap).raw, v.raw); + return LowerHalf(LowerHalf(LowerHalf(Vec256{result}))); + #else + alignas(32) static constexpr uint32_t kMap[8] = {0xFFFF0800u, ~0u, ~0u, ~0u, +diff --git a/hwy/ops/x86_512-inl.h b/hwy/ops/x86_512-inl.h +index 167922d8..83f2ee67 100644 +--- a/hwy/ops/x86_512-inl.h ++++ b/hwy/ops/x86_512-inl.h +@@ -3497,7 +3497,7 @@ HWY_API Vec128 TruncateTo(D /* tag */, const Vec512 v) { + alignas(16) static constexpr uint8_t k8From32[16] = { + 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60}; + const Vec512 bytes{ +- _mm512_permutexvar_epi32(LoadDup128(d8, k8From32).raw, v.raw)}; ++ _mm512_permutexvar_epi8(LoadDup128(d8, k8From32).raw, v.raw)}; + #else + const Full512 d32; + // In each 128 bit block, gather the lower byte of 4 uint32_t lanes into the diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.0.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.0.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b737b106291 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.0.7-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.0.7' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5434488108186c170a5e2fca5e3c9b6ef59a1caa4d520b008a9b8be6b8abe6c5'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('googletest', '1.14.0'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Highway/Highway-1.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/Highway/Highway-1.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..27739befe52 --- /dev/null +++ b/easybuild/easyconfigs/h/Highway/Highway-1.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'Highway' +version = '1.2.0' + +homepage = 'https://github.com/google/highway' + +description = """Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same +operation to 'lanes'.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/google/highway/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['7e0be78b8318e8bdbf6fa545d2ecb4c90f947df03f7aadc42c1967f019e63343'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('googletest', '1.15.2'), +] + +configopts = "-DHWY_SYSTEM_GTEST=ON" + +runtest = "test" + +sanity_check_paths = { + 'files': ['lib/libhwy.a'], + 'dirs': ['include/hwy'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.21.3-fosscuda-2020b-PyTorch-1.7.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.21.3-fosscuda-2020b-PyTorch-1.7.1.eb index 7335bc5ac23..5a3037fc26a 100644 --- a/easybuild/easyconfigs/h/Horovod/Horovod-0.21.3-fosscuda-2020b-PyTorch-1.7.1.eb +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.21.3-fosscuda-2020b-PyTorch-1.7.1.eb @@ -12,7 +12,6 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} builddependencies = [ ('CMake', '3.18.4'), - ('flatbuffers', '1.12.0'), ] dependencies = [ ('Python', '3.8.6'), diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.0-fosscuda-2020b-PyTorch-1.8.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.0-fosscuda-2020b-PyTorch-1.8.1.eb index 450a4626c5f..838513f4e84 100644 --- a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.0-fosscuda-2020b-PyTorch-1.8.1.eb +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.0-fosscuda-2020b-PyTorch-1.8.1.eb @@ -12,7 +12,6 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} builddependencies = [ ('CMake', '3.18.4'), - ('flatbuffers', '1.12.0'), ] dependencies = [ ('Python', '3.8.6'), diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.5.3.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.5.3.eb new file mode 100644 index 00000000000..fbf6e95ce61 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.5.3.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.22.1' +local_tf_version = '2.5.3' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +# Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend +maxparallel = 1 + +exts_list = [ + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + ('horovod', version, { + 'checksums': ['c45bfcb9bd96852d79c62976eda12e9320b58b64f55bee3772877b3fc6243f2a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.6.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.6.0.eb new file mode 100644 index 00000000000..eb686e3e46a --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-foss-2021a-CUDA-11.3.1-TensorFlow-2.6.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.22.1' +local_tf_version = '2.6.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), + ('flatbuffers', '2.0.0'), +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +# Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend +maxparallel = 1 + +exts_list = [ + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + ('horovod', version, { + 'checksums': ['c45bfcb9bd96852d79c62976eda12e9320b58b64f55bee3772877b3fc6243f2a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2019b-TensorFlow-2.5.0-Python-3.7.4.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2019b-TensorFlow-2.5.0-Python-3.7.4.eb new file mode 100644 index 00000000000..26d34bc73f7 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2019b-TensorFlow-2.5.0-Python-3.7.4.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.22.1' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s-Python-%%(pyver)s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +builddependencies = [ + ('CMake', '3.15.3'), + ('flatbuffers', '1.12.0'), +] +dependencies = [ + ('Python', '3.7.4'), + ('PyYAML', '5.1.2'), + ('NCCL', '2.11.4'), + ('TensorFlow', local_tf_version, '-Python-%(pyver)s'), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +parallel = 1 # Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend + +exts_list = [ + ('cloudpickle', '1.5.0', { + 'checksums': ['820c9245cebdec7257211cbe88745101d5d6a042bca11336d78ebd4897ddbc82'], + }), + ('horovod', version, { + 'checksums': ['c45bfcb9bd96852d79c62976eda12e9320b58b64f55bee3772877b3fc6243f2a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..1382aa8245d --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.22.1-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.22.1' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-{}'.format(local_tf_version) + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('CMake', '3.18.4'), + ('flatbuffers', '1.12.0'), +] +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), + ('TensorFlow', local_tf_version), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +parallel = 1 # Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend + +exts_list = [ + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + ('horovod', version, { + 'checksums': ['c45bfcb9bd96852d79c62976eda12e9320b58b64f55bee3772877b3fc6243f2a'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb new file mode 100644 index 00000000000..f2cc41c3079 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.23.0' +local_pt_version = '1.10.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +parallel = 1 # Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('horovod', version, { + 'checksums': ['72ab3e5f59df6a000473999937e52e6831ad1a5e4e7bd23885a04bcdd4d8691c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..ad341bc26e5 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.23.0-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.23.0' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-{}'.format(local_tf_version) + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('CMake', '3.18.4'), + ('flatbuffers', '1.12.0'), +] +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), + ('TensorFlow', local_tf_version), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +parallel = 1 # Bug in CMake causes a race condition on horovod_cuda_kernels_generated_cuda_kernels.cu.o.NVCC-depend + +exts_list = [ + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + ('horovod', version, { + 'checksums': ['72ab3e5f59df6a000473999937e52e6831ad1a5e4e7bd23885a04bcdd4d8691c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.25.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.25.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb new file mode 100644 index 00000000000..c383032bf6d --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.25.0-foss-2021a-CUDA-11.3.1-PyTorch-1.10.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.25.0' +local_pt_version = '1.10.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.1.0', { + 'checksums': ['bb233e876a58491d9590a676f93c7a5473a08f747d5ab9df7f9ce564b3e7938e'], + }), + ('horovod', version, { + 'checksums': ['bc9fed57b67c1b55259671d2439cdbc93aa897ea6e5da459e11e7556972b2355'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.11.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.11.0.eb new file mode 100644 index 00000000000..c5bb81abe26 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.11.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.11.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.12.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.12.1.eb new file mode 100644 index 00000000000..6768a32d62e --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021a-CUDA-11.3.1-PyTorch-1.12.1.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.12.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.7.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.7.1.eb new file mode 100644 index 00000000000..055e911b986 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.7.1.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_tf_version = '2.7.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), +] +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.4.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb new file mode 100644 index 00000000000..36db415d50f --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.4.1-TensorFlow-2.8.4.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_tf_version = '2.8.4' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), +] +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.4.1', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.5.2-PyTorch-1.12.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.5.2-PyTorch-1.12.1.eb new file mode 100644 index 00000000000..3d12f136c42 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2021b-CUDA-11.5.2-PyTorch-1.12.1.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.12.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), +] +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('CUDA', '11.5.2', '', SYSTEM), + ('NCCL', '2.10.3', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..d2c40bc50ae --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.12.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.1.eb new file mode 100644 index 00000000000..d385ae1932e --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.12.1.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.12.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.13.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.13.1.eb new file mode 100644 index 00000000000..4473bc2e53c --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-PyTorch-1.13.1.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.13.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', local_cuda_suffix), + ('PyTorch', local_pt_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.11.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.11.0.eb new file mode 100644 index 00000000000..32fac5e88fe --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.11.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_tf_version = '2.11.0' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', local_cuda_suffix), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'patches': ['Horovod-0.28.1_support_flatbuffers_2.0.6.patch'], + 'checksums': [ + '92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0', + '9696ffb3b2bad1d6dd5a9f37bc58078ca7c585f933bcbec037036ad9fc0b297d', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.9.1.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.9.1.eb new file mode 100644 index 00000000000..b27e65b21c4 --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-CUDA-11.7.0-TensorFlow-2.9.1.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_tf_version = '2.9.1' +local_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = local_cuda_suffix + '-TensorFlow-%s' % local_tf_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', local_cuda_suffix), + ('TensorFlow', local_tf_version, local_cuda_suffix), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITHOUT_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'patches': ['Horovod-0.28.1_support_flatbuffers_2.0.6.patch'], + 'checksums': [ + '92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0', + '9696ffb3b2bad1d6dd5a9f37bc58078ca7c585f933bcbec037036ad9fc0b297d', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..089c87eaf0a --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = """Horovod is a distributed training framework for TensorFlow, PyTorch and MXnet. +This build only has PyTorch enabled.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('PyTorch', local_pt_version), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["horovodrun --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-fosscuda-2020b-PyTorch-1.9.0.eb b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-fosscuda-2020b-PyTorch-1.9.0.eb new file mode 100644 index 00000000000..3d2eb91b26c --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1-fosscuda-2020b-PyTorch-1.9.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Horovod' +version = '0.28.1' +local_pt_version = '1.9.0' +versionsuffix = '-PyTorch-%s' % local_pt_version + +homepage = 'https://github.com/uber/horovod' +description = "Horovod is a distributed training framework for TensorFlow." + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('CMake', '3.18.4'), +] +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), + ('PyTorch', local_pt_version), +] + +use_pip = True +sanity_pip_check = True + +preinstallopts = 'HOROVOD_WITH_MPI=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL ' +preinstallopts += 'HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITHOUT_MXNET=1 ' + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('horovod', version, { + 'checksums': ['92a43f5a94c43907a56805bad15f19700c62ffc83b7ca483f9e104e229f67ef0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/horovodrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1_support_flatbuffers_2.0.6.patch b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1_support_flatbuffers_2.0.6.patch new file mode 100644 index 00000000000..e2284062b1f --- /dev/null +++ b/easybuild/easyconfigs/h/Horovod/Horovod-0.28.1_support_flatbuffers_2.0.6.patch @@ -0,0 +1,110 @@ +TF 2.10+ (for us: 2.9+) use flatbuffers 2.0.6 which horovod isn't yet compatible with, +see https://github.com/horovod/horovod/issues/3956 + +Manually update the calls +Author: Alexander Grund (TU Dresden) + +diff --git a/horovod/common/wire/message_generated.h b/horovod/common/wire/message_generated.h +index 33d46e2..9a7f856 100644 +--- a/horovod/common/wire/message_generated.h ++++ b/horovod/common/wire/message_generated.h +@@ -279,18 +279,18 @@ struct Request FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_REQUEST_RANK) && +- VerifyField(verifier, VT_REQUEST_TYPE) && +- VerifyField(verifier, VT_TENSOR_TYPE) && ++ VerifyField(verifier, VT_REQUEST_RANK, 4) && ++ VerifyField(verifier, VT_REQUEST_TYPE, 1) && ++ VerifyField(verifier, VT_TENSOR_TYPE, 1) && + VerifyOffset(verifier, VT_TENSOR_NAME) && + verifier.VerifyString(tensor_name()) && +- VerifyField(verifier, VT_ROOT_RANK) && +- VerifyField(verifier, VT_DEVICE) && ++ VerifyField(verifier, VT_ROOT_RANK, 4) && ++ VerifyField(verifier, VT_DEVICE, 4) && + VerifyOffset(verifier, VT_TENSOR_SHAPE) && + verifier.VerifyVector(tensor_shape()) && +- VerifyField(verifier, VT_PRESCALE_FACTOR) && +- VerifyField(verifier, VT_POSTSCALE_FACTOR) && +- VerifyField(verifier, VT_REDUCE_OP) && ++ VerifyField(verifier, VT_PRESCALE_FACTOR, 8) && ++ VerifyField(verifier, VT_POSTSCALE_FACTOR, 8) && ++ VerifyField(verifier, VT_REDUCE_OP, 1) && + verifier.EndTable(); + } + }; +@@ -411,7 +411,7 @@ struct RequestList FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VerifyOffset(verifier, VT_REQUESTS) && + verifier.VerifyVector(requests()) && + verifier.VerifyVectorOfTables(requests()) && +- VerifyField(verifier, VT_SHUTDOWN) && ++ VerifyField(verifier, VT_SHUTDOWN, 1) && + verifier.EndTable(); + } + }; +@@ -504,7 +504,7 @@ struct Response FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_RESPONSE_TYPE) && ++ VerifyField(verifier, VT_RESPONSE_TYPE, 1) && + VerifyOffset(verifier, VT_TENSOR_NAMES) && + verifier.VerifyVector(tensor_names()) && + verifier.VerifyVectorOfStrings(tensor_names()) && +@@ -514,11 +514,11 @@ struct Response FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyVector(devices()) && + VerifyOffset(verifier, VT_TENSOR_SIZES) && + verifier.VerifyVector(tensor_sizes()) && +- VerifyField(verifier, VT_TENSOR_TYPE) && +- VerifyField(verifier, VT_PRESCALE_FACTOR) && +- VerifyField(verifier, VT_POSTSCALE_FACTOR) && +- VerifyField(verifier, VT_LAST_JOINED_RANK) && +- VerifyField(verifier, VT_REDUCE_OP) && ++ VerifyField(verifier, VT_TENSOR_TYPE, 1) && ++ VerifyField(verifier, VT_PRESCALE_FACTOR, 8) && ++ VerifyField(verifier, VT_POSTSCALE_FACTOR, 8) && ++ VerifyField(verifier, VT_LAST_JOINED_RANK, 4) && ++ VerifyField(verifier, VT_REDUCE_OP, 1) && + verifier.EndTable(); + } + }; +@@ -641,7 +641,7 @@ struct ResponseList FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VerifyOffset(verifier, VT_RESPONSES) && + verifier.VerifyVector(responses()) && + verifier.VerifyVectorOfTables(responses()) && +- VerifyField(verifier, VT_SHUTDOWN) && ++ VerifyField(verifier, VT_SHUTDOWN, 1) && + verifier.EndTable(); + } + }; +diff --git a/horovod/tensorflow/custom_call_config_generated.h b/horovod/tensorflow/custom_call_config_generated.h +index 1406a2f..0e2543a 100644 +--- a/horovod/tensorflow/custom_call_config_generated.h ++++ b/horovod/tensorflow/custom_call_config_generated.h +@@ -109,18 +109,18 @@ struct CustomCallConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TENSOR_NAME) && + verifier.VerifyString(tensor_name()) && +- VerifyField(verifier, VT_TENSOR_TYPE) && ++ VerifyField(verifier, VT_TENSOR_TYPE, 1) && + VerifyOffset(verifier, VT_INPUT_SHAPES) && + verifier.VerifyVector(input_shapes()) && + verifier.VerifyVectorOfTables(input_shapes()) && + VerifyOffset(verifier, VT_OUTPUT_SHAPES) && + verifier.VerifyVector(output_shapes()) && + verifier.VerifyVectorOfTables(output_shapes()) && +- VerifyField(verifier, VT_PRESCALE_FACTOR) && +- VerifyField(verifier, VT_POSTSCALE_FACTOR) && +- VerifyField(verifier, VT_ROOT_RANK) && +- VerifyField(verifier, VT_REDUCE_OP) && +- VerifyField(verifier, VT_PROCESS_SET_ID) && ++ VerifyField(verifier, VT_PRESCALE_FACTOR, 4) && ++ VerifyField(verifier, VT_POSTSCALE_FACTOR, 4) && ++ VerifyField(verifier, VT_ROOT_RANK, 4) && ++ VerifyField(verifier, VT_REDUCE_OP, 4) && ++ VerifyField(verifier, VT_PROCESS_SET_ID, 4) && + verifier.EndTable(); + } + }; diff --git a/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.33-gompi-2021a.eb b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.33-gompi-2021a.eb new file mode 100644 index 00000000000..7b083e8bb5a --- /dev/null +++ b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.33-gompi-2021a.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ + +easyblock = "CMakeMake" + +name = 'HyPhy' +version = '2.5.33' + +homepage = 'https://veg.github.io/hyphy-site/' +description = """HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package + for the analysis of genetic sequences (in particular the inference of natural selection) + using techniques in phylogenetics, molecular evolution, and machine learning""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/veg/hyphy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['7859981f645efa31911672803164715983068b3f56b597bc19908527639fa54b'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('cURL', '7.76.0'), +] + +buildopts = [ + 'hyphy', + 'HYPHYMPI', +] + +sanity_check_paths = { + 'files': ['bin/hyphy', 'bin/HYPHYMPI'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb new file mode 100644 index 00000000000..9960f8c8f57 --- /dev/null +++ b/easybuild/easyconfigs/h/HyPhy/HyPhy-2.5.60-gompi-2022a.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'HyPhy' +version = '2.5.60' + +homepage = 'https://veg.github.io/hyphy-site/' +description = """HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package + for the analysis of genetic sequences (in particular the inference of natural selection) + using techniques in phylogenetics, molecular evolution, and machine learning""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/veg/hyphy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['bc3a5062ee3cee47de16c394189fb8a5feed48f9a8c12302432d6faa7f2ac301'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('cURL', '7.83.0'), +] + +buildopts = [ + 'hyphy', + 'HYPHYMPI', +] + +sanity_check_paths = { + 'files': ['bin/hyphy', 'bin/HYPHYMPI'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/HyPo/HyPo-1.0.3-GCC-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/h/HyPo/HyPo-1.0.3-GCC-8.3.0-Python-3.7.4.eb index 5d84f8de4eb..3e9deac9f64 100644 --- a/easybuild/easyconfigs/h/HyPo/HyPo-1.0.3-GCC-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/h/HyPo/HyPo-1.0.3-GCC-8.3.0-Python-3.7.4.eb @@ -28,7 +28,8 @@ preconfigopts = "rm -r %(builddir)s/hypo*/external/install/htslib/lib && " configopts = "-Doptimise_for_native=ON " # using 'Conda' as build type to make CMake honor the specified location for dependencies -configopts += "-DCMAKE_BUILD_TYPE=Conda -DHTSLIB_INSTALL_DIR=$EBROOTHTSLIB -DSDSLLIB_INSTALL_DIR=$EBROOTSDSL" +build_type = 'Conda' +configopts += "-DHTSLIB_INSTALL_DIR=$EBROOTHTSLIB -DSDSLLIB_INSTALL_DIR=$EBROOTSDSL" sanity_check_paths = { 'files': ['bin/hypo'], diff --git a/easybuild/easyconfigs/h/Hybpiper/Hybpiper-2.1.6-foss-2022b.eb b/easybuild/easyconfigs/h/Hybpiper/Hybpiper-2.1.6-foss-2022b.eb new file mode 100644 index 00000000000..c87bbddded1 --- /dev/null +++ b/easybuild/easyconfigs/h/Hybpiper/Hybpiper-2.1.6-foss-2022b.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'Hybpiper' +version = '2.1.6' + +homepage = 'https://github.com/mossmatters/HybPiper' +description = """HybPiper was designed for targeted sequence capture, + in which DNA sequencing libraries are enriched for gene regions of interest, + especially for phylogenetics. HybPiper is a suite of Python scripts/modules + that wrap and connect bioinformatics tools in order to extract target + sequences from high-throughput DNA sequencing reads.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('Seaborn', '0.12.2'), + ('matplotlib', '3.7.0'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('psutil', '5.9.5'), + ('Exonerate', '2.4.0'), + ('BLAST+', '2.14.0'), + ('DIAMOND', '2.1.8'), + ('BWA', '0.7.17'), + ('BBMap', '39.01'), + ('SPAdes', '3.15.4'), + ('parallel', '20230722'), + ('SAMtools', '1.17'), + ('MAFFT', '7.505', '-with-extensions'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Pebble', '5.0.3', { + 'checksums': ['bdcfd9ea7e0aedb895b204177c19e6d6543d9962f4e3402ebab2175004863da8'], + }), + ('progressbar2', '4.2.0', { + 'modulename': 'progressbar', + 'checksums': ['1393922fcb64598944ad457569fbeb4b3ac189ef50b5adb9cef3284e87e394ce'], + }), + ('python-utils', '3.7.0', { + 'checksums': ['1970468fff1c0adbd60b9a751e6a786223a9f0373c954571912d9cf4be49b552'], + }), + (name, version, { + 'source_urls': ['https://github.com/mossmatters/HybPiper/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['ac175b2b02cd9fcc1d195a4edd68dd1e004c6d2e2bb5658f4cce9b2a4339b4c9'], + }), +] + +sanity_check_commands = [ + "hybpiper check_dependencies" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0bb49bddc8e --- /dev/null +++ b/easybuild/easyconfigs/h/Hydra/Hydra-1.1.1-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Hydra' +version = '1.1.1' + +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': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('Java', '11', '', SYSTEM), # needed by ANTLR runtime +] + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), # needed by omegaconf +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('antlr4-python3-runtime', '4.8', { + 'modulename': 'antlr4', + 'checksums': ['15793f5d0512a372b4e7d2284058ad32ce7dd27126b105fb0b2245130445db33'], + }), + ('omegaconf', '2.1.1', { + 'checksums': ['c65e05530369484e074a24038fe31812c73561aa9d916abfd1209e4073136ae5'], + }), + ('hydra', version, { + 'source_urls': ['https://github.com/%(github_account)s/%(namelower)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['03840c5192d47c3b0a4cf57e1815f8626d36f2fed81efed59202f6bd93ac822c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ef233b53ed6 --- /dev/null +++ b/easybuild/easyconfigs/h/Hydra/Hydra-1.3.2-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +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': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('Java', '17', '', SYSTEM), # needed by ANTLR runtime +] + +dependencies = [ + ('Python', '3.10.4'), + ('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/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/HyperQueue/HyperQueue-0.13.0.eb b/easybuild/easyconfigs/h/HyperQueue/HyperQueue-0.13.0.eb new file mode 100644 index 00000000000..bcb5f1b6be5 --- /dev/null +++ b/easybuild/easyconfigs/h/HyperQueue/HyperQueue-0.13.0.eb @@ -0,0 +1,28 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'PackedBinary' + +name = 'HyperQueue' +version = '0.13.0' + +homepage = 'https://it4innovations.github.io/hyperqueue/' +description = """HyperQueue lets you build a computation plan consisting of a large amount of tasks +and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs +and distributes them to fully utilize allocated nodes. +You thus do not have to manually aggregate your tasks into SLURM/PBS jobs.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/It4innovations/hyperqueue/releases/download/v%(version)s/'] +sources = ['hq-v%(version)s-linux-x64.tar.gz'] +checksums = ['4c3dac11cc01ef2a0c222099e484fd1b23ac52d8db234855ec1f0685543b4e0d'] + +sanity_check_paths = { + 'files': ['hq'], + 'dirs': [], +} + +sanity_check_commands = ['hq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb new file mode 100644 index 00000000000..f9b60c91c8e --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb @@ -0,0 +1,52 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.4' +local_python_versionsuffix = '-Python-%(pyver)s' +local_java_versionsuffix = '-Java-%(javaver)s' +versionsuffix = local_python_versionsuffix + local_java_versionsuffix + +homepage = 'https://github.com/hyperopt/hyperopt' +description = "Distributed Asynchronous Hyperparameter Optimization in Python" + +toolchain = {'name': 'intel', 'version': '2019b'} + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', local_python_versionsuffix), # for numpy, scipy + ('networkx', '2.4', local_python_versionsuffix), + ('scikit-learn', '0.21.3', local_python_versionsuffix), + ('Java', '1.8', '', SYSTEM), + ('Spark', '2.4.5', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tqdm', '4.46.0', { + 'checksums': ['4733c4a10d0f2a4d098d801464bdaf5240c7dadd2a7fde4ee93b0a0efd9fb25e'], + }), + ('cloudpickle', '1.4.1', { + 'checksums': ['0b6258a20a143603d53b037a20983016d4e978f554ec4f36b3d0895b947099ae'], + }), + ('pymongo', '3.10.1', { + 'checksums': ['993257f6ca3cde55332af1f62af3e04ca89ce63c08b56a387cdd46136c72f2fa'], + }), + ('lightgbm', '2.3.1', { + 'checksums': ['bd1817be401e74c0d8b049e97ea2f35d2ce155cfa130119ce4195ea207bd6388'], + }), + ('hyperopt', version, { + 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', + 'checksums': ['6e72089a42eb70cf84b0567d4552a908adff7cfc5cf6b1c38add41adc775d9c6'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb new file mode 100644 index 00000000000..e78c32c2658 --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.5-fosscuda-2020b.eb @@ -0,0 +1,49 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.5' + +homepage = 'https://github.com/hyperopt/hyperopt' +description = "Distributed Asynchronous Hyperparameter Optimization in Python" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for numpy, scipy + ('networkx', '2.5'), + ('scikit-learn', '0.23.2'), + ('tqdm', '4.56.2'), + ('Java', '11', '', SYSTEM), + ('Spark', '3.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cloudpickle', '1.6.0', { + 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], + }), + ('pymongo', '3.11.3', { + 'checksums': ['db5098587f58fbf8582d9bda2462762b367207246d3e19623782fb449c3c5fcc'], + }), + ('lightgbm', '3.2.0', { + 'checksums': ['000c6e0e225834a8a94a84571cf41e4b7c7b97a0db6d286c1237de8ba6066726'], + }), + ('py4j', '0.10.9.2', { + 'checksums': ['624f97c363b8dd84822bc666b12fa7f7d97824632b2ff3d852cc491359ce7615'], + }), + ('hyperopt', version, { + 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', + 'checksums': ['bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb new file mode 100644 index 00000000000..9cc986b48f5 --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.7' + +homepage = 'http://hyperopt.github.io/hyperopt/' +description = """hyperopt is a Python library for optimizing over awkward search spaces with real-valued, + discrete, and conditional dimensions.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('py4j', '0.10.9.5', { + 'checksums': ['276a4a3c5a2154df1860ef3303a927460e02e97b047dc0a47c1c3fb8cce34db6'], + }), + ('hyperopt', version, { + 'checksums': ['1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb new file mode 100644 index 00000000000..fed0543f366 --- /dev/null +++ b/easybuild/easyconfigs/h/Hyperopt/Hyperopt-0.2.7-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Hyperopt' +version = '0.2.7' + +homepage = 'http://hyperopt.github.io/hyperopt/' +description = """hyperopt is a Python library for optimizing over awkward search spaces with real-valued, + discrete, and conditional dimensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('py4j', '0.10.9.7', { + 'checksums': ['0b6e5315bb3ada5cf62ac651d107bb2ebc02def3dee9d9548e3baac644ea8dbb'], + }), + ('hyperopt', version, { + 'checksums': ['1bf89ae58050bbd32c7307199046117feee245c2fd9ab6255c7308522b7ca149'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-foss-2019a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-foss-2019a.eb index e31136e3c07..97250fc49df 100644 --- a/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-foss-2019a.eb +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-foss-2019a.eb @@ -9,9 +9,10 @@ description = """Hypre is a library for solving large, sparse linear systems of toolchain = {'name': 'foss', 'version': '2019a'} toolchainopts = {'pic': True} -source_urls = ['https://github.com/LLNL/hypre/archive/'] +source_urls = ['https://github.com/hypre-space/hypre/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['58d215146e1c7c2c11be4cb1eac0d1663a45584efbe5f603205d8c4766b7579f'] +checksums = [('58d215146e1c7c2c11be4cb1eac0d1663a45584efbe5f603205d8c4766b7579f', + '50d0c0c86b4baad227aa9bdfda4297acafc64c3c7256c27351f8bae1ae6f2402')] start_dir = 'src' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-intel-2019a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-intel-2019a.eb index 759501b07d9..d50fa6f5bb0 100644 --- a/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-intel-2019a.eb +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.15.1-intel-2019a.eb @@ -9,9 +9,10 @@ description = """Hypre is a library for solving large, sparse linear systems of toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'pic': True} -source_urls = ['https://github.com/LLNL/hypre/archive/'] +source_urls = ['https://github.com/hypre-space/hypre/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['58d215146e1c7c2c11be4cb1eac0d1663a45584efbe5f603205d8c4766b7579f'] +checksums = [('58d215146e1c7c2c11be4cb1eac0d1663a45584efbe5f603205d8c4766b7579f', + '50d0c0c86b4baad227aa9bdfda4297acafc64c3c7256c27351f8bae1ae6f2402')] start_dir = 'src' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.20.0-intel-2020b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.20.0-intel-2020b.eb new file mode 100644 index 00000000000..6b3ba1660ed --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.20.0-intel-2020b.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.20.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5be77b28ddf945c92cde4b52a272d16fb5e9a7dc05e714fc5765948cba802c01'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-fosscuda-2020b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..de1ee211cf6 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-fosscuda-2020b.eb @@ -0,0 +1,25 @@ +name = 'Hypre' +version = '2.21.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_use-c++14-for-nvcc.patch'] +checksums = [ + 'e380f914fe7efe22afc44cdf553255410dc8a02a15b2e5ebd279ba88817feaf5', # v2.21.0.tar.gz + 'e7914139e0a8b8804f22d75b135a1457849558bc57800b7845fea0f318b76bff', # Hypre-2.21.0_use-c++14-for-nvcc.patch +] + +start_dir = 'src' + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb new file mode 100644 index 00000000000..900b8bfcad7 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0-intel-2021a.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'Hypre' +version = '2.21.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e380f914fe7efe22afc44cdf553255410dc8a02a15b2e5ebd279ba88817feaf5'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0_use-c++14-for-nvcc.patch b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0_use-c++14-for-nvcc.patch new file mode 100644 index 00000000000..7c25fd7f5ca --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.21.0_use-c++14-for-nvcc.patch @@ -0,0 +1,13 @@ +Change only the CUDA compliation to use c++14 +Patch by Simon Branford (University of Birmingham) +--- src/configure.orig 2021-06-19 12:44:05.690180000 +0100 ++++ src/configure 2021-06-19 12:44:19.303311554 +0100 +@@ -8886,7 +8886,7 @@ + + if test "$hypre_user_chose_cuflags" = "no" + then +- CUFLAGS="-lineinfo -expt-extended-lambda -dc -std=c++11 --x cu" ++ CUFLAGS="-lineinfo -expt-extended-lambda -dc -std=c++14 --x cu" + if test "$hypre_using_debug" = "yes" + then + CUFLAGS="-g -O0 ${CUFLAGS}" diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.24.0-intel-2021b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.24.0-intel-2021b.eb new file mode 100644 index 00000000000..9bb18b55b78 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.24.0-intel-2021b.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.24.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f480e61fc25bf533fc201fdf79ec440be79bb8117650627d1f25151e8be2fdb5'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.25.0-foss-2022a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.25.0-foss-2022a.eb new file mode 100644 index 00000000000..f61c133f632 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.25.0-foss-2022a.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.25.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f9fc8371d91239fca694284dab17175bfda3821d7b7a871fd2e8f9d5930f303c'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb new file mode 100644 index 00000000000..f04fecd72d4 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.27.0-foss-2022b.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.27.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['507a3d036bb1ac21a55685ae417d769dd02009bde7e09785d0ae7446b4ae1f98'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.29.0-foss-2023a.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.29.0-foss-2023a.eb new file mode 100644 index 00000000000..383207b44d0 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.29.0-foss-2023a.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.29.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['98b72115407a0e24dbaac70eccae0da3465f8f999318b2c9241631133f42d511'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/Hypre/Hypre-2.31.0-foss-2023b.eb b/easybuild/easyconfigs/h/Hypre/Hypre-2.31.0-foss-2023b.eb new file mode 100644 index 00000000000..62d72e357a8 --- /dev/null +++ b/easybuild/easyconfigs/h/Hypre/Hypre-2.31.0-foss-2023b.eb @@ -0,0 +1,18 @@ +name = 'Hypre' +version = '2.31.0' + +homepage = 'https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods' +description = """Hypre is a library for solving large, sparse linear systems of equations on massively + parallel computers. The problems of interest arise in the simulation codes being developed at LLNL + and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/hypre-space/hypre/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9a7916e2ac6615399de5010eb39c604417bb3ea3109ac90e199c5c63b0cb4334'] + +start_dir = 'src' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-foss-2018b.eb b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-foss-2018b.eb index 0b79b7cfc94..605d20f196f 100644 --- a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-foss-2018b.eb +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-foss-2018b.eb @@ -3,13 +3,13 @@ easyblock = 'ConfigureMake' name = 'h4toh5' version = '2.2.3' -homepage = 'http://www.hdfgroup.org/h4toh5/' +homepage = "https://docs.hdfgroup.org/archive/support/products/hdf5_tools/h4toh5/index.html" description = """The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, as well as a conversion library for converting between individual HDF4 and HDF5 objects.""" toolchain = {'name': 'foss', 'version': '2018b'} -source_urls = ['http://www.hdfgroup.org/ftp/HDF5/tools/%s/src' % name] +source_urls = ['http://support.hdfgroup.org/ftp/HDF5/tools/%s/src' % name] sources = ['h4h5tools-%(version)s.tar.gz'] checksums = ['ba167d9e5ec1f9014a95e3f5d0621f814caa6e83508e235ce60cfd315e3a9d3f'] diff --git a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2019b.eb b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2019b.eb index 81636ad6de3..079d5eb7de1 100644 --- a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2019b.eb +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2019b.eb @@ -3,13 +3,13 @@ easyblock = 'ConfigureMake' name = 'h4toh5' version = '2.2.3' -homepage = 'http://www.hdfgroup.org/h4toh5/' +homepage = "https://docs.hdfgroup.org/archive/support/products/hdf5_tools/h4toh5/index.html" description = """The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, as well as a conversion library for converting between individual HDF4 and HDF5 objects.""" toolchain = {'name': 'gompi', 'version': '2019b'} -source_urls = ['http://www.hdfgroup.org/ftp/HDF5/tools/%s/src' % name] +source_urls = ['http://support.hdfgroup.org/ftp/HDF5/tools/%s/src' % name] sources = ['h4h5tools-%(version)s%(versionsuffix)s.tar.gz'] checksums = ['ba167d9e5ec1f9014a95e3f5d0621f814caa6e83508e235ce60cfd315e3a9d3f'] diff --git a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2020b.eb b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2020b.eb new file mode 100644 index 00000000000..50fe19e455a --- /dev/null +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.3-gompi-2020b.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'h4toh5' +version = '2.2.3' + +homepage = "https://docs.hdfgroup.org/archive/support/products/hdf5_tools/h4toh5/index.html" +description = """The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, + as well as a conversion library for converting between individual HDF4 and HDF5 objects.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = ['http://support.hdfgroup.org/ftp/HDF5/tools/%s/src' % name] +sources = ['h4h5tools-%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['ba167d9e5ec1f9014a95e3f5d0621f814caa6e83508e235ce60cfd315e3a9d3f'] + +dependencies = [ + ('HDF', '4.2.15'), + ('HDF5', '1.10.7'), + ('HDF-EOS', '2.20'), +] + +configopts = "CC=$EBROOTHDF/bin/h4cc --with-hdf5=$EBROOTHDF5 --with-hdfeos2=$EBROOTHDFMINEOS " + +sanity_check_paths = { + 'files': ['bin/h4toh5', 'bin/h5toh4', 'include/h4toh5.h', 'lib/libh4toh5.a'], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb new file mode 100644 index 00000000000..28d67776a1b --- /dev/null +++ b/easybuild/easyconfigs/h/h4toh5/h4toh5-2.2.5-gompi-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'h4toh5' +version = '2.2.5' + +homepage = "https://docs.hdfgroup.org/archive/support/products/hdf5_tools/h4toh5/index.html" +description = """The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, + as well as a conversion library for converting between individual HDF4 and HDF5 objects.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/%(name)s/%(name)s-%(version)s/src/'] +sources = ['h4h5tools-%(version)s.tar.gz'] +checksums = ['79f6505c1df3ad0c2cc1a19b9b433b5d955dfd7d2dffefc080d89fdde01fd6f2'] + +dependencies = [ + ('HDF', '4.2.15'), + ('HDF5', '1.12.2'), + ('HDF-EOS2', '3.0'), +] + +configopts = "CC=$EBROOTHDF/bin/h4cc --with-hdf5=$EBROOTHDF5 --with-hdfeos2=$EBROOTHDFMINEOS" + +sanity_check_paths = { + 'files': ['bin/h4toh5', 'bin/h5toh4', 'include/h4toh5.h', 'lib/libh4toh5.a'], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.1.0-foss-2021b.eb b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.1.0-foss-2021b.eb new file mode 100644 index 00000000000..7efee9efd0a --- /dev/null +++ b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.1.0-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'h5netcdf' +version = '1.1.0' + +homepage = 'https://h5netcdf.org/' +description = """A Python interface for the netCDF4 file-format that reads and writes local or +remote HDF5 files directly via h5py or h5pyd, without relying on the Unidata +netCDF library.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('h5py', '3.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['932c3b573bed7370ebfc9e802cd60f1a4da5236efb11b36eeff897324d76bf56'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2022a.eb b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2022a.eb new file mode 100644 index 00000000000..f9de3cf3b26 --- /dev/null +++ b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'h5netcdf' +version = '1.2.0' + +homepage = 'https://h5netcdf.org/' +description = """A Python interface for the netCDF4 file-format that reads and writes local or +remote HDF5 files directly via h5py or h5pyd, without relying on the Unidata +netCDF library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('h5py', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['7f6b2733bde06ea2575b79a6450d9bd5c38918ff4cb2a355bf22bbe8c86c6bcf'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2023a.eb b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2023a.eb new file mode 100644 index 00000000000..311855957b7 --- /dev/null +++ b/easybuild/easyconfigs/h/h5netcdf/h5netcdf-1.2.0-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'h5netcdf' +version = '1.2.0' + +homepage = 'https://h5netcdf.org/' +description = """A Python interface for the netCDF4 file-format that reads and writes local or +remote HDF5 files directly via h5py or h5pyd, without relying on the Unidata +netCDF library.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['7f6b2733bde06ea2575b79a6450d9bd5c38918ff4cb2a355bf22bbe8c86c6bcf'], + 'preinstallopts': """sed -i 's/^dynamic = .*/version = "%(version)s"/g' pyproject.toml && """, + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.10.0-foss-2019b-serial-Python-3.7.4.eb b/easybuild/easyconfigs/h/h5py/h5py-2.10.0-foss-2019b-serial-Python-3.7.4.eb new file mode 100644 index 00000000000..baf227005b5 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-2.10.0-foss-2019b-serial-Python-3.7.4.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '2.10.0' +versionsuffix = '-serial-Python-%(pyver)s' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': False} + +sources = [SOURCE_TAR_GZ] +patches = ['h5py-%(version)s_avoid-mpi-init.patch'] +checksums = [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch +] + +builddependencies = [('pkgconfig', '1.5.1', '-Python-%(pyver)s')] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', '-Python-%(pyver)s'), + ('HDF5', '1.10.5', '-serial'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = 'HDF5_MPI=OFF HDF5_DIR="$EBROOTHDF5" ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-2.10.0-intel-2020a-Python-2.7.18.eb b/easybuild/easyconfigs/h/h5py/h5py-2.10.0-intel-2020a-Python-2.7.18.eb new file mode 100644 index 00000000000..0f90a6b7b59 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-2.10.0-intel-2020a-Python-2.7.18.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '2.10.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +patches = ['h5py-%(version)s_avoid-mpi-init.patch'] +checksums = [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch +] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('HDF5', '1.10.6'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-foss-2020b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-foss-2020b.eb index 140b138358a..3d235989290 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-foss-2020b.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-foss-2020b.eb @@ -26,6 +26,9 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during intall, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-fosscuda-2020b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-fosscuda-2020b.eb index 59473c4bdbf..2ccf55fe6a1 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-fosscuda-2020b.eb @@ -26,6 +26,9 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intel-2020b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intel-2020b.eb index 591338dd644..ab4a302e173 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intel-2020b.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intel-2020b.eb @@ -26,6 +26,9 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intelcuda-2020b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intelcuda-2020b.eb index f6bb27ac98f..f8dce1b3d79 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intelcuda-2020b.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-3.1.0-intelcuda-2020b.eb @@ -26,6 +26,9 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb new file mode 100644 index 00000000000..9ad8bf43027 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.11.0-foss-2023b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.11.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['7b7e8f78072a2edec87c9836f25f34203fd492a4475709a18b417a33cfb21fa9'] + +builddependencies = [('pkgconf', '2.0.3')] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('mpi4py', '3.1.5'), + ('HDF5', '1.14.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.2.1-foss-2021a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-foss-2021a.eb index 36656ead5b2..744dfd6903e 100644 --- a/easybuild/easyconfigs/h/h5py/h5py-3.2.1-foss-2021a.eb +++ b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-foss-2021a.eb @@ -26,6 +26,9 @@ use_pip = True sanity_pip_check = True download_dep_fail = True -preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ' +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb new file mode 100644 index 00000000000..a21aff6972d --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.2.1-gomkl-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.2.1' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e'] + +builddependencies = [('pkgconfig', '1.5.4', '-python')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('HDF5', '1.10.7'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.6.0-foss-2021b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.6.0-foss-2021b.eb new file mode 100644 index 00000000000..0240e4f1dd4 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.6.0-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.6.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.6.0-intel-2021b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.6.0-intel-2021b.eb new file mode 100644 index 00000000000..067d8089229 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.6.0-intel-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.6.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.7.0-foss-2022a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-foss-2022a.eb new file mode 100644 index 00000000000..d4bf0c2f790 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.7.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('HDF5', '1.12.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb new file mode 100644 index 00000000000..c29d68aa634 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.7.0-intel-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.7.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('HDF5', '1.12.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb b/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb new file mode 100644 index 00000000000..8b6ce004741 --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.8.0-foss-2022b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.8.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['6fead82f0c4000cf38d53f9c030780d81bfa0220218aee13b90b7701c937d95f'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('mpi4py', '3.1.4'), + ('HDF5', '1.14.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/h5py/h5py-3.9.0-foss-2023a.eb b/easybuild/easyconfigs/h/h5py/h5py-3.9.0-foss-2023a.eb new file mode 100644 index 00000000000..be41083febf --- /dev/null +++ b/easybuild/easyconfigs/h/h5py/h5py-3.9.0-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'h5py' +version = '3.9.0' + +homepage = 'https://www.h5py.org/' +description = """HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, + version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous + amounts of data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [SOURCE_TAR_GZ] +checksums = ['e604db6521c1e367c6bd7fad239c847f53cc46646f2d2651372d05ae5e95f817'] + +builddependencies = [('pkgconfig', '1.5.5', '-python')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('mpi4py', '3.1.4'), + ('HDF5', '1.14.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# h5py's setup.py will disable setup_requires if H5PY_SETUP_REQUIRES is set to 0 +# without this environment variable, pip will fetch the minimum numpy version h5py supports during install, +# even though SciPy-bundle provides a newer version that satisfies h5py's install_requires dependency. +preinstallopts = 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" H5PY_SETUP_REQUIRES=0 ' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/hampel/hampel-0.0.5-foss-2022a.eb b/easybuild/easyconfigs/h/hampel/hampel-0.0.5-foss-2022a.eb new file mode 100644 index 00000000000..58b53b5774b --- /dev/null +++ b/easybuild/easyconfigs/h/hampel/hampel-0.0.5-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'hampel' +version = '0.0.5' + +homepage = 'https://github.com/MichaelisTrofficus/hampel_filter' +description = """ +The Hampel filter is generally used to detect anomalies in data with a timeseries +structure. It basically consists of a sliding window of a parameterizable size. For each +window, each observation will be compared with the Median Absolute Deviation (MAD). The +observation will be considered an outlier in the case in which it exceeds the MAD by n +times (the parameter n is also parameterizable). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['c9baa3ea022c76d5cfc1ad8959de8df6c4a232ecdf0dffd599a03609aeae5fdb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/h/harmony/harmony-0.1.0-20210528-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/h/harmony/harmony-0.1.0-20210528-foss-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..4bb25703763 --- /dev/null +++ b/easybuild/easyconfigs/h/harmony/harmony-0.1.0-20210528-foss-2020b-R-4.0.3.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'harmony' +local_commit = '2586afd' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '0.1.0-20210528' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://portals.broadinstitute.org/harmony' +description = "Harmony is a general-purpose R package with an efficient algorithm for integrating multiple data sets." + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/immunogenomics/harmony/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['55c4aaa3cef0c06216a2a51946fb4ed7b189967e34c88bb0dfa53c4d52135d2f'] + +dependencies = [ + ('R', '4.0.3'), + ('R-bundle-Bioconductor', '3.12', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a1c10cc3b01 --- /dev/null +++ b/easybuild/easyconfigs/h/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'hatch-jupyter-builder' +version = "0.9.1" + +homepage = 'https://hatch-jupyter-builder.readthedocs.io' +description = """Hatch Jupyter Builder is a plugin for the hatchling Python build backend. It is +primarily targeted for package authors who are providing JavaScript as part of +their Python packages. +Typical use cases are Jupyter Lab Extensions and Jupyter Widgets.""" + + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('hatchling', '1.18.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('hatch_nodejs_version', '0.3.2', { + 'checksums': ['8a7828d817b71e50bbbbb01c9bfc0b329657b7900c56846489b9c958de15b54c'], + }), + ('hatch_jupyter_builder', '0.9.1', { + 'checksums': ['79278198d124c646b799c5e8dca8504aed9dcaaa88d071a09eb0b5c2009a58ad'], + }), +] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..0913e467088 --- /dev/null +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'hatchling' +version = '1.18.0' + +homepage = 'https://hatch.pypa.io' +description = """Extensible, standards compliant build backend used by Hatch, +a modern, extensible Python project manager.""" + +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 = [ + ('pathspec', '0.11.1', { + 'checksums': ['2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687'], + }), + ('pluggy', '1.2.0', { + 'checksums': ['d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3'], + }), + ('editables', '0.3', { + 'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'], + }), + ('trove_classifiers', '2023.5.24', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d9d7ae14fb90bf3d50bef99c3941b176b5326509e6e9037e622562d6352629d0'], + }), + (name, version, { + 'checksums': ['50e99c3110ce0afc3f7bdbadff1c71c17758e476731c27607940cfa6686489ca'], + }), + ('hatch_vcs', '0.3.0', { + 'checksums': ['cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee'], + }), + ('hatch_fancy_pypi_readme', '23.1.0', { + 'checksums': ['b1df44063094af1e8248ceacd47a92c9cf313d6b9823bf66af8a927c3960287d'], + }), + ('hatch-requirements-txt', '0.4.1', { + 'source_tmpl': 'hatch_requirements_txt-%(version)s.tar.gz', + 'checksums': ['2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..a78cea4bf74 --- /dev/null +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.18.0-GCCcore-13.2.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'hatchling' +version = '1.18.0' + +homepage = 'https://hatch.pypa.io' +description = """Extensible, standards compliant build backend used by Hatch, +a modern, extensible Python project manager.""" + +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 = [ + ('pathspec', '0.11.2', { + 'checksums': ['e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3'], + }), + ('pluggy', '1.3.0', { + 'checksums': ['cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12'], + }), + ('editables', '0.5', { + 'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'], + }), + ('trove_classifiers', '2023.10.18', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['20a3da8e3cb65587cc9f5d5b837bf74edeb480bba9bd8cd4f03ab056d6b06c4c'], + }), + (name, version, { + 'checksums': ['50e99c3110ce0afc3f7bdbadff1c71c17758e476731c27607940cfa6686489ca'], + }), + ('hatch_vcs', '0.3.0', { + 'checksums': ['cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee'], + }), + ('hatch_fancy_pypi_readme', '23.1.0', { + 'checksums': ['b1df44063094af1e8248ceacd47a92c9cf313d6b9823bf66af8a927c3960287d'], + }), + ('hatch-requirements-txt', '0.4.1', { + 'source_tmpl': 'hatch_requirements_txt-%(version)s.tar.gz', + 'checksums': ['2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hatchling/hatchling-1.24.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hatchling/hatchling-1.24.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d936671cca9 --- /dev/null +++ b/easybuild/easyconfigs/h/hatchling/hatchling-1.24.2-GCCcore-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'hatchling' +version = '1.24.2' + +homepage = 'https://hatch.pypa.io' +description = """Extensible, standards compliant build backend used by Hatch, +a modern, extensible Python project manager.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pathspec', '0.12.1', { + 'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'], + }), + ('pluggy', '1.5.0', { + 'checksums': ['2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1'], + }), + ('editables', '0.5', { + 'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'], + }), + ('trove-classifiers', '2024.5.22', { + 'sources': ['trove_classifiers-%(version)s-py3-none-any.whl'], + 'checksums': ['c43ade18704823e4afa3d9db7083294bc4708a5e02afbcefacd0e9d03a7a24ef'], + }), + (name, version, { + 'checksums': ['41ddc27cdb25db9ef7b68bef075f829c84cb349aa1bff8240797d012510547b0'], + }), + ('hatch-vcs', '0.4.0', { + 'sources': ['hatch_vcs-%(version)s.tar.gz'], + 'checksums': ['093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7'], + }), + ('hatch-fancy-pypi-readme', '24.1.0', { + 'sources': ['hatch_fancy_pypi_readme-%(version)s.tar.gz'], + 'checksums': ['44dd239f1a779b9dcf8ebc9401a611fd7f7e3e14578dcf22c265dfaf7c1514b8'], + }), + ('hatch-requirements-txt', '0.4.1', { + 'source_tmpl': 'hatch_requirements_txt-%(version)s.tar.gz', + 'checksums': ['2c686e5758fd05bb55fa7d0c198fdd481f8d3aaa3c693260f5c0d74ce3547d20'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' 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/hector/hector-2.5.0-GCC-11.2.0.eb b/easybuild/easyconfigs/h/hector/hector-2.5.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..dc312cac53a --- /dev/null +++ b/easybuild/easyconfigs/h/hector/hector-2.5.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'hector' +version = '2.5.0' + +homepage = 'https://github.com/JGCRI/hector' +description = """This is the repository for Hector, an open source, object-oriented, +simple global climate carbon-cycle model. It runs essentially instantaneously while +still representing the most critical global scale earth system processes, and is +one of a class of models heavily used for for emulating complex climate models +and uncertainty analyses.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/JGCRI/hector/archive'] +sources = [{'download_filename': 'rcmip-tier1.tar.gz', 'filename': 'v%(version)s.tar.gz'}] +checksums = ['457fec10f0c59e65b1b00c5d6c9aa66b38cd94c0c5a89444d059bebeb3fba3c9'] + +dependencies = [ + ('Boost', '1.79.0'), +] + +buildopts = 'hector' + +files_to_copy = [ + (['src/hector'], 'bin'), + (['src/libhector.a'], 'lib'), + 'R', 'man', 'LICENSE.md', 'README.md', 'DESCRIPTION', 'scripts', 'data-raw', 'inst', +] + +sanity_check_paths = { + 'files': ['bin/hector'], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.1.0.eb index 2c4fe36c213..594056facd2 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.1.0.eb @@ -14,7 +14,7 @@ checksums = ['f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.2.0.eb index b2566498fcf..4aa3a420ef1 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.10-GCCcore-9.2.0.eb @@ -14,7 +14,7 @@ checksums = ['f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.12-GCCcore-9.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.12-GCCcore-9.3.0.eb index 10eb7812dcd..77bffeabf8a 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.12-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.12-GCCcore-9.3.0.eb @@ -14,7 +14,7 @@ checksums = ['7d0ba64cf9d16ec97cc11aafb659b55aa7bdec99072ff2aec5fcecf0fbeab160'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.15-GCCcore-10.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.15-GCCcore-10.1.0.eb index 2d8893f9c12..113edba6b65 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.15-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.15-GCCcore-10.1.0.eb @@ -14,7 +14,7 @@ checksums = ['c25a35b30eceb315361484b0ff1f81c924e8ee5c8881576f1ee762f001dbcd1c'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.34', '', True), + ('binutils', '2.34', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.16-GCCcore-10.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.16-GCCcore-10.2.0.eb index 16eb74c38c5..48daa7126a1 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.16-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.16-GCCcore-10.2.0.eb @@ -14,7 +14,7 @@ checksums = ['3ef8580c5b86e32ca092ce8de43df204f5e6f714b0cd32bc6237e6cd0f34a8f4'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.35', '', True), + ('binutils', '2.35', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-6.4.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-6.4.0.eb index c354ad33693..c1f8fcc9061 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-6.4.0.eb @@ -18,7 +18,7 @@ checksums = ['d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.2.0.eb index 63e4b751a13..ab49db02c27 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.2.0.eb @@ -14,7 +14,7 @@ checksums = ['d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.29', '', True), + ('binutils', '2.29', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.3.0.eb index 50e6f6e2199..d125e15db98 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.4-GCCcore-7.3.0.eb @@ -14,7 +14,7 @@ checksums = ['d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.5-GCCcore-5.5.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.5-GCCcore-5.5.0.eb index 54568207731..c429f8c03fd 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.5-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.5-GCCcore-5.5.0.eb @@ -14,7 +14,7 @@ checksums = ['7ca60b2519fdbe97f463fe2df66a6188d18b514bfd44127d985f0234ee2461b1'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb index a6acf99d4a7..8a4a5572203 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.6-GCCcore-8.1.0.eb @@ -14,7 +14,7 @@ checksums = ['d91b0295b72a638e4a564f643e4e6d1928779131f628c00f356c13bf336de46f'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.30', '', True), + ('binutils', '2.30', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.7-GCCcore-8.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.7-GCCcore-8.2.0.eb index 3de5a41822f..81085956428 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.7-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.7-GCCcore-8.2.0.eb @@ -14,7 +14,7 @@ checksums = ['585b8e88ed04bdb426403cf7d9b0c0bb9c7630755b0096c2b018a024b29bec0d'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-7.4.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-7.4.0.eb index d2c9f0677aa..d71469d2a1a 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-7.4.0.eb @@ -14,7 +14,7 @@ checksums = ['528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.3.0.eb index 21de8022b13..2c4f4f0dbdb 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.3.0.eb @@ -14,7 +14,7 @@ checksums = ['528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.4.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.4.0.eb index 08d063f0300..6d131fe3331 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.47.8-GCCcore-8.4.0.eb @@ -14,7 +14,7 @@ checksums = ['528f6a81ad34cbc76aa7dce5a82f8b3d2078ef065271ab81fda033842018a8dc'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.32', '', True), + ('binutils', '2.32', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-10.3.0.eb index 8697c849e41..2253777a680 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-10.3.0.eb @@ -14,7 +14,7 @@ checksums = ['8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.1.0.eb index c5323938915..7b7405ce180 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.1.0.eb @@ -14,7 +14,7 @@ checksums = ['8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ea6ea4b507b --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.48.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.37', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-9.4.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-9.4.0.eb index a3563b02d50..2e1ff3703b1 100644 --- a/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/h/help2man/help2man-1.48.3-GCCcore-9.4.0.eb @@ -14,7 +14,7 @@ checksums = ['8361ff3c643fbd391064e97e5f54592ca28b880eaffbf566a68e0ad800d1a8ac'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d434ddefe0d --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.2' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..6c618e880ac --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.2' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3fa0f481563 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.2' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.39', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-9.5.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..dbe1f931596 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.2-GCCcore-9.5.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.2' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['9e2e0e213a7e0a36244eed6204d902b6504602a578b6ecd15268b1454deadd36'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.38', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-11.4.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..701913a5ae0 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-11.4.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d3579d82fd8 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..7cf3afc6f6c --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..371d5d25c68 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.40', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..631d7becc2b --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..4edcbfa5190 --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.1.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.2.0.eb b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..2161ee0b1af --- /dev/null +++ b/easybuild/easyconfigs/h/help2man/help2man-1.49.3-GCCcore-14.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'help2man' +version = '1.49.3' + +homepage = 'https://www.gnu.org/software/help2man/' +description = """help2man produces simple manual pages from the '--help' and '--version' output of other commands.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_XZ] +checksums = ['4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f'] + +builddependencies = [ + # use same binutils version that was used when building GCC toolchain + ('binutils', '2.42', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/help2man'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb new file mode 100644 index 00000000000..8b2f9b128eb --- /dev/null +++ b/easybuild/easyconfigs/h/hevea/hevea-2.36-GCC-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'hevea' +version = '2.36' + +homepage = 'http://pauillac.inria.fr/~maranget/hevea/' +description = """A quite complete and fast LATEX to HTML translator""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['http://pauillac.inria.fr/~maranget/hevea/distri'] +sources = [SOURCE_TAR_GZ] +checksums = ['5d6759d7702a295c76a12c1b2a1a16754ab0ec1ffed73fc9d0b138b41e720648'] + +builddependencies = [ + ('ocamlbuild', '0.14.3'), +] + +dependencies = [ + ('texlive', '20230313'), +] + +skipsteps = ['configure'] + +buildopts = 'PREFIX="" ' + +installopts = 'DESTDIR="%(installdir)s" ' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/%(name)s'], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/h/hic-straw/hic-straw-1.3.1-foss-2022a.eb b/easybuild/easyconfigs/h/hic-straw/hic-straw-1.3.1-foss-2022a.eb new file mode 100644 index 00000000000..e713ea63376 --- /dev/null +++ b/easybuild/easyconfigs/h/hic-straw/hic-straw-1.3.1-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'hic-straw' +version = '1.3.1' + +homepage = 'https://github.com/aidenlab/straw' +description = "Straw is a library which allows rapid streaming of contact data from .hic files." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fb0f878127f6b1d096303c67793477c83fddf3f4a1a8e29a9d92952634989876'] + +builddependencies = [('pybind11', '2.9.2')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('cURL', '7.83.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'hicstraw'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hifiasm/hifiasm-0.15.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.15.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8232fbde83d --- /dev/null +++ b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.15.2-GCCcore-10.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'hifiasm' +version = '0.15.2' + +homepage = 'https://github.com/chhylp123/hifiasm' +description = """Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'chhylp123' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e49e38341d6c943902cebc8b0e517e20a6e919659f3dab2bcc24c062524a72da'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CXX="$CXX" CPPFLAGS="$CPPFLAGS"' + +files_to_copy = [ + ([name], 'bin'), + (['*.h'], 'include/hifiasm'), + 'LICENSE', 'README.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hifiasm/hifiasm-0.16.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.16.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..56ac4c7cf62 --- /dev/null +++ b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.16.1-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) +# Update: Sebastien Moretti (SIB) + +easyblock = 'MakeCp' + +name = 'hifiasm' +version = '0.16.1' + +homepage = 'https://github.com/chhylp123/hifiasm' +description = """Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'chhylp123' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['674b23cf274adfc0f65c2656e9dc24354240d93c397e1d3b88fdd7f673942639'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CXX="$CXX" CPPFLAGS="$CPPFLAGS"' + +files_to_copy = [ + ([name], 'bin'), + (['*.h'], 'include/hifiasm'), + 'LICENSE', 'README.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8d271908c78 --- /dev/null +++ b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.5-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +# Author: Jasper Grimm (UoY) +# Update: Sebastien Moretti (SIB) + +easyblock = 'MakeCp' + +name = 'hifiasm' +version = '0.19.5' + +homepage = 'https://github.com/chhylp123/hifiasm' +description = """Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'chhylp123' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['18ed6889972e38d0088ccbdafee90756158977d6b1e1b6e56f522b870d71c072'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +buildopts = 'CC="$CC" CXX="$CXX" CPPFLAGS="$CPPFLAGS"' + +files_to_copy = [ + ([name], 'bin'), + (['*.h'], 'include/hifiasm'), + 'LICENSE', 'README.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..15f778b5880 --- /dev/null +++ b/easybuild/easyconfigs/h/hifiasm/hifiasm-0.19.7-GCCcore-12.2.0.eb @@ -0,0 +1,42 @@ +# Author: Jasper Grimm (UoY) +# Update: Sebastien Moretti (SIB), Denis Kristak (Inuits) + +easyblock = 'MakeCp' + +name = 'hifiasm' +version = '0.19.7' + +homepage = 'https://github.com/chhylp123/hifiasm' +description = """Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.""" +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'chhylp123' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['16d6127c7efb2d450630f25402a05e7d691b411465b304950d84d8afd53d5ee6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +buildopts = 'CC="$CC" CXX="$CXX" CPPFLAGS="$CPPFLAGS"' + +files_to_copy = [ + ([name], 'bin'), + (['*.h'], 'include/hifiasm'), + 'LICENSE', 'README.md', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} +sanity_check_commands = ["%(name)s -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-GCC-10.2.0.eb b/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..98698a165f1 --- /dev/null +++ b/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-GCC-10.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'hipSYCL' +version = '0.9.1' + +homepage = 'https://github.com/illuhad/hipSYCL' +description = """hipSYCL is a modern SYCL implementation targeting CPUs and +GPUs, with a focus on leveraging existing toolchains such as CUDA or HIP""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ["https://github.com/illuhad/hipSYCL/archive/refs/tags/"] +sources = ["v%(version)s.tar.gz"] +checksums = ['0a1ae3a79c743fd826dd9d666e0b9cec8b66940756d4ab6e4961e93604dff559'] + +dependencies = [ + ('Boost', '1.74.0'), + ('Clang', '11.0.1'), + ('Python', '3.8.6'), +] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +configopts = '-DCMAKE_C_COMPILER="$EBROOTCLANG/bin/clang" ' +configopts += '-DCMAKE_CXX_COMPILER="$EBROOTCLANG/bin/clang++" ' +configopts += '-DLLVM_DIR=$EBROOTCLANG ' +configopts += '-DCLANG_EXECUTABLE_PATH=$EBROOTCLANG/bin/clang++ ' +configopts += '-DWITH_CPU_BACKEND=ON ' +configopts += '-DWITH_CUDA_BACKEND=OFF ' +configopts += '-DWITH_ROCM_BACKEND=OFF ' + +sanity_check_paths = { + 'files': ['bin/syclcc-clang', 'include/sycl/sycl.hpp', + 'lib/hipSYCL/librt-backend-omp.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'include/hipSYCL', 'include/SYCL', 'lib'], +} +sanity_check_commands = ['syclcc --help'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-gcccuda-2020b.eb b/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-gcccuda-2020b.eb new file mode 100644 index 00000000000..91fe900751e --- /dev/null +++ b/easybuild/easyconfigs/h/hipSYCL/hipSYCL-0.9.1-gcccuda-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'hipSYCL' +version = '0.9.1' + +homepage = 'https://github.com/illuhad/hipSYCL' +description = """hipSYCL is a modern SYCL implementation targeting CPUs and +GPUs, with a focus on leveraging existing toolchains such as CUDA or HIP""" + +toolchain = {'name': 'gcccuda', 'version': '2020b'} + +source_urls = ["https://github.com/illuhad/hipSYCL/archive/refs/tags/"] +sources = ["v%(version)s.tar.gz"] +checksums = ['0a1ae3a79c743fd826dd9d666e0b9cec8b66940756d4ab6e4961e93604dff559'] + +dependencies = [ + ('Boost', '1.74.0'), + ('Clang', '11.0.1'), + ('Python', '3.8.6'), +] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +configopts = '-DCMAKE_C_COMPILER="$EBROOTCLANG/bin/clang" ' +configopts += '-DCMAKE_CXX_COMPILER="$EBROOTCLANG/bin/clang++" ' +configopts += '-DLLVM_DIR=$EBROOTCLANG ' +configopts += '-DCLANG_EXECUTABLE_PATH=$EBROOTCLANG/bin/clang++ ' +configopts += '-DWITH_CPU_BACKEND=ON ' +configopts += '-DWITH_CUDA_BACKEND=ON ' + +sanity_check_paths = { + 'files': ['bin/syclcc-clang', 'include/sycl/sycl.hpp', + 'lib/hipSYCL/librt-backend-cuda.%s' % SHLIB_EXT], + 'dirs': ['include/CL', 'include/hipSYCL', 'include/SYCL', 'lib'], +} +sanity_check_commands = ['syclcc --help'] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/h/hipify-clang/hipify-clang-4.2.0-gcccuda-2020b.eb b/easybuild/easyconfigs/h/hipify-clang/hipify-clang-4.2.0-gcccuda-2020b.eb index d06d9b20df6..ee5c6c8ec69 100644 --- a/easybuild/easyconfigs/h/hipify-clang/hipify-clang-4.2.0-gcccuda-2020b.eb +++ b/easybuild/easyconfigs/h/hipify-clang/hipify-clang-4.2.0-gcccuda-2020b.eb @@ -22,7 +22,7 @@ builddependencies = [ dependencies = [ ('Clang', '11.0.1'), - # ('cuDNN', '8.0.4.30', '-CUDA-11.1.1', True), + # ('cuDNN', '8.0.4.30', '-CUDA-11.1.1', SYSTEM), # ('Python', '3.8.6'), ] diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..28463835271 --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +# Author J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'hiredis' +version = '1.0.2' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/redis/hiredis/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + 'e0ab696e2f07deb4252dda45b703d09854e53b9703c7d52182ce5a22616c3819', # v1.0.2.tar.gz +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['lib/libhiredis.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3d70862e8f0 --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +# Author: Alexander Grund (TU Dresden) +# Based on EC by J. Sassmannshausen (Imperial College London) + +easyblock = 'CMakeMake' + +name = 'hiredis' +version = '1.0.2' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'redis' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_build-also-static-library.patch', + '%(name)s-%(version)s_use-same-name-for-static-lib.patch' +] +checksums = [ + 'e0ab696e2f07deb4252dda45b703d09854e53b9703c7d52182ce5a22616c3819', # v1.0.2.tar.gz + # hiredis-1.0.2_build-also-static-library.patch + '224cb6fdbf8488cc6583323f5cde09e98d10fd201ddfd117572594ed98eb642c', + # hiredis-1.0.2_use-same-name-for-static-lib.patch + '7ef1c90331a0ed92e7ae2905827c3c8bb79e19545b0bae3b44a06a11564ec8de', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['lib/libhiredis.a', 'lib/libhiredis.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_build-also-static-library.patch b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_build-also-static-library.patch new file mode 100644 index 00000000000..85f0463b3bf --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_build-also-static-library.patch @@ -0,0 +1,151 @@ +From https://github.com/redis/hiredis/pull/851 + +From 07c3618ffe7912c2ebc589ea45501c687a19cf2c Mon Sep 17 00:00:00 2001 +From: masariello +Date: Wed, 22 Jul 2020 14:23:53 +0100 +Subject: [PATCH 1/2] Add static library target and cpack support + +--- + CMakeLists.txt | 42 +++++++++++++++++++++++++++++++++++++++--- + hiredis.targets | 11 +++++++++++ + 2 files changed, 50 insertions(+), 3 deletions(-) + create mode 100644 hiredis.targets + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87a4ac614..55c026b8f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,6 +40,7 @@ IF(WIN32) + ENDIF() + + ADD_LIBRARY(hiredis SHARED ${hiredis_sources}) ++ADD_LIBRARY(hiredis_static STATIC ${hiredis_sources}) + + SET_TARGET_PROPERTIES(hiredis + PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE +@@ -48,16 +49,47 @@ IF(WIN32 OR MINGW) + TARGET_LINK_LIBRARIES(hiredis PRIVATE ws2_32) + ENDIF() + +-TARGET_INCLUDE_DIRECTORIES(hiredis PUBLIC $ $) ++TARGET_INCLUDE_DIRECTORIES(hiredis PUBLIC $ $) ++TARGET_INCLUDE_DIRECTORIES(hiredis_static PUBLIC $ $) + + CONFIGURE_FILE(hiredis.pc.in hiredis.pc @ONLY) + +-INSTALL(TARGETS hiredis ++set(CPACK_PACKAGE_VENDOR "Redis") ++set(CPACK_PACKAGE_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. ++ ++Apart from supporting sending commands and receiving replies, it comes with a \ ++reply parser that is decoupled from the I/O layer. It is a stream parser designed \ ++for easy reusability, which can for instance be used in higher level language bindings \ ++for efficient reply parsing. ++ ++Hiredis only supports the binary-safe Redis protocol, so you can use it with any Redis \ ++version >= 1.2.0. ++ ++The library comes with multiple APIs. There is the synchronous API, the asynchronous API \ ++and the reply parsing API.") ++set(CPACK_PACKAGE_HOMEPAGE_URL "https://github.com/redis/hiredis") ++set(CPACK_PACKAGE_CONTACT "michael dot grunder at gmail dot com") ++set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) ++set(CPACK_RPM_PACKAGE_AUTOREQPROV ON) ++ ++include(CPack) ++ ++INSTALL(TARGETS hiredis hiredis_static + EXPORT hiredis-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ++# For NuGet packages ++INSTALL(FILES hiredis.targets ++ DESTINATION build/native) ++ + INSTALL(FILES hiredis.h read.h sds.h async.h alloc.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hiredis) + +@@ -98,6 +130,8 @@ IF(ENABLE_SSL) + ssl.c) + ADD_LIBRARY(hiredis_ssl SHARED + ${hiredis_ssl_sources}) ++ ADD_LIBRARY(hiredis_ssl_static STATIC ++ ${hiredis_ssl_sources}) + + IF (APPLE) + SET_PROPERTY(TARGET hiredis_ssl PROPERTY LINK_FLAGS "-Wl,-undefined -Wl,dynamic_lookup") +@@ -109,13 +143,15 @@ IF(ENABLE_SSL) + VERSION "${HIREDIS_SONAME}") + + TARGET_INCLUDE_DIRECTORIES(hiredis_ssl PRIVATE "${OPENSSL_INCLUDE_DIR}") ++ TARGET_INCLUDE_DIRECTORIES(hiredis_ssl_static PRIVATE "${OPENSSL_INCLUDE_DIR}") ++ + TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE ${OPENSSL_LIBRARIES}) + IF (WIN32 OR MINGW) + TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE hiredis) + ENDIF() + CONFIGURE_FILE(hiredis_ssl.pc.in hiredis_ssl.pc @ONLY) + +- INSTALL(TARGETS hiredis_ssl ++ INSTALL(TARGETS hiredis_ssl hiredis_ssl_static + EXPORT hiredis_ssl-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +diff --git a/hiredis.targets b/hiredis.targets +new file mode 100644 +index 000000000..effd8a561 +--- /dev/null ++++ b/hiredis.targets +@@ -0,0 +1,11 @@ ++ ++ ++ ++ ++ $(MSBuildThisFileDirectory)\..\..\include;%(AdditionalIncludeDirectories) ++ ++ ++ $(MSBuildThisFileDirectory)\..\..\lib;%(AdditionalLibraryDirectories) ++ ++ ++ +\ No newline at end of file + +From 1b40ec509628c73ac272c8599a3c923e34800d54 Mon Sep 17 00:00:00 2001 +From: Alessio M +Date: Fri, 4 Sep 2020 09:37:11 +0100 +Subject: [PATCH 2/2] fixed issue with unit test linking on windows with SSL + +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4bdee1864..53e9f5871 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,7 +50,8 @@ SET_TARGET_PROPERTIES(hiredis + PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE + VERSION "${HIREDIS_SONAME}") + IF(WIN32 OR MINGW) +- TARGET_LINK_LIBRARIES(hiredis PRIVATE ws2_32) ++ TARGET_LINK_LIBRARIES(hiredis PUBLIC ws2_32 crypt32) ++ TARGET_LINK_LIBRARIES(hiredis_static PUBLIC ws2_32 crypt32) + ENDIF() + + TARGET_INCLUDE_DIRECTORIES(hiredis PUBLIC $ $) +@@ -152,6 +153,7 @@ IF(ENABLE_SSL) + TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE ${OPENSSL_LIBRARIES}) + IF (WIN32 OR MINGW) + TARGET_LINK_LIBRARIES(hiredis_ssl PRIVATE hiredis) ++ TARGET_LINK_LIBRARIES(hiredis_ssl_static PUBLIC hiredis_static) + ENDIF() + CONFIGURE_FILE(hiredis_ssl.pc.in hiredis_ssl.pc @ONLY) + diff --git a/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_use-same-name-for-static-lib.patch b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_use-same-name-for-static-lib.patch new file mode 100644 index 00000000000..4e6003d989e --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.0.2_use-same-name-for-static-lib.patch @@ -0,0 +1,43 @@ +From https://patch-diff.githubusercontent.com/raw/redis/hiredis/pull/1057 + +From dd4bf97836d07df0a4502b72f9024d0231156711 Mon Sep 17 00:00:00 2001 +From: Orgad Shaneh +Date: Tue, 29 Mar 2022 17:16:19 +0300 +Subject: [PATCH] Use the same name for static and shared libraries + +On all system except MSVC, the targets are different. + +Unix: libhiredis.so, libhiredis.a +MinGW: libhiredis.dll+libhiredis.dll.a, libhiredis.a +MSVC: hiredis.dll+hiredis.lib, hiredis_static.lib +--- + CMakeLists.txt | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fe6720b28..899cd14d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,6 +50,11 @@ ADD_LIBRARY(hiredis_static STATIC ${hiredis_sources}) + ADD_LIBRARY(hiredis::hiredis ALIAS hiredis) + ADD_LIBRARY(hiredis::hiredis_static ALIAS hiredis_static) + ++IF(NOT MSVC) ++ SET_TARGET_PROPERTIES(hiredis_static ++ PROPERTIES OUTPUT_NAME hiredis) ++ENDIF() ++ + SET_TARGET_PROPERTIES(hiredis + PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE + VERSION "${HIREDIS_SONAME}") +@@ -160,6 +165,10 @@ IF(ENABLE_SSL) + ${hiredis_ssl_sources}) + ADD_LIBRARY(hiredis_ssl_static STATIC + ${hiredis_ssl_sources}) ++ IF(NOT MSVC) ++ SET_TARGET_PROPERTIES(hiredis_ssl_static ++ PROPERTIES OUTPUT_NAME hiredis_ssl) ++ ENDIF() + + IF (APPLE) + SET_PROPERTY(TARGET hiredis_ssl PROPERTY LINK_FLAGS "-Wl,-undefined -Wl,dynamic_lookup") 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-12.3.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d02c31b8c22 --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-12.3.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.3.0'} +toolchainopts = {'pic': True} + +github_account = 'redis' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['82ad632d31ee05da13b537c124f819eb88e18851d9cb0c30ae0552084811588c'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = ['', '-DBUILD_SHARED_LIBS=false'] # It builds the shared library by default + +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/hiredis/hiredis-1.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..bc3a5a1c715 --- /dev/null +++ b/easybuild/easyconfigs/h/hiredis/hiredis-1.2.0-GCCcore-13.3.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.3.0'} +toolchainopts = {'pic': True} + +github_account = 'redis' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['82ad632d31ee05da13b537c124f819eb88e18851d9cb0c30ae0552084811588c'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +dependencies = [ + ('OpenSSL', '3', '', 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/histolab/histolab-0.4.1-foss-2021a.eb b/easybuild/easyconfigs/h/histolab/histolab-0.4.1-foss-2021a.eb new file mode 100644 index 00000000000..af59853ca95 --- /dev/null +++ b/easybuild/easyconfigs/h/histolab/histolab-0.4.1-foss-2021a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'histolab' +version = '0.4.1' + +homepage = 'https://github.com/histolab/histolab' +description = 'Library for Digital Pathology Image Processing' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/histolab/histolab/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['71b7e93f94ff8ad76426cb73e1d26fd899fd8568f8ce9f5c42a6d8f3fbbfe641'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pillow', '8.2.0'), + ('scikit-image', '0.18.3'), + ('openslide-python', '1.1.2'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = ["sed -i 's|scikit-image [<>].*|scikit-image|g' requirements.txt &&"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/histolab/histolab-0.4.1-foss-2021b.eb b/easybuild/easyconfigs/h/histolab/histolab-0.4.1-foss-2021b.eb new file mode 100644 index 00000000000..f078e041938 --- /dev/null +++ b/easybuild/easyconfigs/h/histolab/histolab-0.4.1-foss-2021b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'histolab' +version = '0.4.1' + +homepage = 'https://github.com/histolab/histolab' +description = 'Library for Digital Pathology Image Processing' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/histolab/histolab/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['71b7e93f94ff8ad76426cb73e1d26fd899fd8568f8ce9f5c42a6d8f3fbbfe641'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), + ('scikit-image', '0.19.1'), + ('openslide-python', '1.1.2'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = ["sed -i 's|<0.19.1|<0.19.2|g' requirements.txt &&"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/histolab/histolab-0.6.0-foss-2022a.eb b/easybuild/easyconfigs/h/histolab/histolab-0.6.0-foss-2022a.eb new file mode 100644 index 00000000000..a7dc410e6f0 --- /dev/null +++ b/easybuild/easyconfigs/h/histolab/histolab-0.6.0-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'histolab' +version = '0.6.0' + +homepage = 'https://github.com/histolab/histolab' +description = """Library for Digital Pathology Image Processing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('poetry', '1.2.2')] +dependencies = [ + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), + ('scikit-image', '0.19.3'), + ('SciPy-bundle', '2022.05'), + ('openslide-python', '1.2.0'), +] + +use_pip = True + +exts_list = [ + # requires importlib-metadata = ">=4.12,<7.0" + ('importlib_metadata', '6.11.0', { + 'checksums': ['1231cf92d825c9e03cfc4da076a16de6422c863558229ea0b22b675657463443'], + }), + ('certifi', '2024.6.2', { + 'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'], + }), + (name, version, { + 'checksums': ['fcb8cf70fdf32a58e2980905d657ea53a541503a436e8303f0cb0da6e9f2e20f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/histolab/histolab-0.7.0-foss-2023a.eb b/easybuild/easyconfigs/h/histolab/histolab-0.7.0-foss-2023a.eb new file mode 100644 index 00000000000..3aa69b74e7b --- /dev/null +++ b/easybuild/easyconfigs/h/histolab/histolab-0.7.0-foss-2023a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'histolab' +version = '0.7.0' + +homepage = 'https://github.com/histolab/histolab' +description = """Library for Digital Pathology Image Processing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('Pillow', '10.0.0'), + ('scikit-image', '0.22.0'), + ('SciPy-bundle', '2023.07'), + ('openslide-python', '1.3.1'), +] + +use_pip = True + +local_preinstallopts = """sed -i 's/scikit-image = ">=0.19.0,<0.19.4"/scikit-image = ">=0.19.0"/' pyproject.toml && """ +local_preinstallopts += """sed -i 's/numpy = ">=1.23.2,<=1.24.4"/numpy = ">=1.23.2"/' pyproject.toml && """ +local_preinstallopts += """sed -i 's/scipy = ">=1.5.0,<1.10.1"/scipy = ">=1.5.0"/' pyproject.toml && """ + +exts_list = [ + ('certifi', '2024.6.2', { + 'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['c0f6a6d0381f0ca056f524e3b8217b0a8304ea79a0cdc88f76a39b1bf7531031'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/h/hivtrace/hivtrace-0.6.2-foss-2021a.eb b/easybuild/easyconfigs/h/hivtrace/hivtrace-0.6.2-foss-2021a.eb new file mode 100644 index 00000000000..5aeb814708a --- /dev/null +++ b/easybuild/easyconfigs/h/hivtrace/hivtrace-0.6.2-foss-2021a.eb @@ -0,0 +1,69 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Iñaki Mtz de Ilarduya Muñoz +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'PythonBundle' + +name = 'hivtrace' +version = '0.6.2' + +homepage = 'https://github.com/veg/hivtrace' +description = """HIV-TRACE is an application that identifies potential transmission clusters within a + supplied FASTA file with an option to find potential links against the Los Alamos HIV Sequence Database.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('TN93', '1.0.7'), + ('cURL', '7.76.0'), + ('Pysam', '0.16.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hyphy-python', '0.1.10', { + 'modulename': 'HyPhy', + 'checksums': ['b83f7e890c0c21b301c1c761967bd6328df9fad972653888b02baad71055c186'], + }), + ('fakemp', '0.9.1', { + 'checksums': ['320885d5851e0c568cd4247fa81e48f055e435822643e5bda9d82edc53c3b938'], + }), + ('hppy', '0.9.9', { + 'checksums': ['9112acc888c51c14a88669f084a7ebf39fa62bdd47924a1e3cee6824cfbc4610'], + }), + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + ('bioext', '0.19.9', { + 'modulename': 'BioExt', + 'checksums': ['bada8d7e83928a8c934e1e482bc945f43a3234c6c4ea3afcef7fa34c0ea610a3'], + }), + ('hivclustering', '1.6.2', { + 'checksums': ['673fa81b6b44ae7a7bfa32897bc01c26cfe807052aadc3d1f5a729b0df3a335f'], + }), + (name, version, { + 'checksums': ['f4aabd2bbc326aecb9ab22de8f6877628f908cfa8eee458feb06d48bb19425e6'], + }), +] + +# This two files come bundled compressed but the software expects them uncompressed +postinstallcmds = [ + 'gunzip -d %(installdir)s/lib/python%(pyshortver)s/site-packages/hivtrace/rsrc/LANL.FASTA.gz', + 'gunzip -d %(installdir)s/lib/python%(pyshortver)s/site-packages/hivtrace/rsrc/LANL.TN93OUTPUT.csv.gz', +] + +sanity_check_paths = { + 'files': ['bin/hivtrace'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'hivtrace --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..247df603580 --- /dev/null +++ b/easybuild/easyconfigs/h/hmmcopy_utils/hmmcopy_utils-20210728-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'hmmcopy_utils' +version = '20210728' +_commit = '29a8d1d' + +homepage = 'https://github.com/shahcompbio/hmmcopy_utils' +description = """ +Tools for extracting read counts and gc and mappability statistics in preparation for running +HMMCopy. +""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'shahcompbio' +source_urls = ['https://github.com/shahcompbio/hmmcopy_utils/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['84f6ed50e6124c3774b96660939d49fc81ca1568887510b7368a5005860b0850'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +skipsteps = ['install'] + +postinstallcmds = [ + 'cp -a %(builddir)s/easybuild_obj/bin %(installdir)s/', + 'cp -a %(start_dir)s/util %(installdir)s/', + 'cp -a %(start_dir)s/lib %(installdir)s/', +] + +sanity_check_paths = { + 'files': ['bin/readCounter', 'bin/mapCounter', 'bin/gcCounter'], + 'dirs': ['util', 'lib'], +} + +sanity_check_commands = [ + "mapCounter --help", + "gcCounter --help", + "readCounter --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-foss-2022b.eb b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-foss-2022b.eb new file mode 100644 index 00000000000..ce3407ae7b0 --- /dev/null +++ b/easybuild/easyconfigs/h/hmmlearn/hmmlearn-0.3.0-foss-2022b.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': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d13a91ea3695df881465e3d36132d7eef4e84d483f4ba538a4b46e24b5ea100f'] + +dependencies = [ + ('Python', '3.10.8'), + ('scikit-learn', '1.2.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' 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/horton/horton-2.1.1-intel-2020a-Python-2.7.18.eb b/easybuild/easyconfigs/h/horton/horton-2.1.1-intel-2020a-Python-2.7.18.eb new file mode 100644 index 00000000000..26358925ae1 --- /dev/null +++ b/easybuild/easyconfigs/h/horton/horton-2.1.1-intel-2020a-Python-2.7.18.eb @@ -0,0 +1,91 @@ +easyblock = 'Bundle' + +name = 'horton' +version = '2.1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://theochem.github.io/horton' +description = """HORTON is a Helpful Open-source Research TOol for N-fermion systems, written + primarily in the Python programming language. (HORTON is named after the helpful + pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON + is to provide a platform for testing new ideas on the quantum many-body problem + at a reasonable computational cost. Although HORTON is primarily designed to be + a quantum-chemistry program, it can perform computations involving model + Hamiltonians, and could be extended for computations in nuclear physics.""" + +toolchain = {'name': 'intel', 'version': '2020a'} + +dependencies = [ + ('Python', '2.7.18'), + ('h5py', '2.10.0', versionsuffix), + ('matplotlib', '2.2.5', versionsuffix), +] + +local_horton_prebuildopts = ' '.join([ + 'BLAS_EXTRA_COMPILE_ARGS=-DMKL_ILP64:-I${MKLROOT}/include', + 'BLAS_LIBRARY_DIRS=${MKLROOT}/lib/intel64', + 'BLAS_LIBRARIES=mkl_intel_ilp64:mkl_core:mkl_sequential:pthread:m:mkl_def', + 'LIBRARY_PATH=%(installdir)s/lib:$LIBRARY_PATH', +]) + +# Avoid need for X11 in tests by specifying "backend: agg" in matplotlibrc +local_horton_runtest = ' '.join([ + 'export MPLBACKEND=agg;', + '%s python setup.py build_ext -i; ' % local_horton_prebuildopts, + 'nosetests -v', +]) + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +# Horton 2.1.1 requires very specific versions of libxc (2.2.2) and Libint (2.0.3), +# so we install these as components along with Horton itself +components = [ + ('Libint', '2.0.3', { + 'toolchainopts': {'pic': True}, + 'source_urls': ['http://downloads.sourceforge.net/project/libint/libint-for-mpqc'], + 'sources': ['libint-%(version)s-stable.tgz'], + 'checksums': ['5d4944ed6e60b08d05b4e396b10dc7deee7968895984f4892fd17159780f5b02'], + 'start_dir': 'libint-%(version)s-stable', + 'easyblock': 'EB_Libint', + }), + ('libxc', '2.2.2', { + 'easyblock': 'ConfigureMake', + # Results for some functionals (e.g. mgga_c_tpss) deviate with too aggressive optimization settings. + # Tests also fail with Intel Compilers on Haswell when optarch is enabled. + 'toolchainopts': {'lowopt': True, 'optarch': False}, + 'source_urls': ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'], + 'checksums': ['6ca1d0bb5fdc341d59960707bc67f23ad54de8a6018e19e02eee2b16ea7cc642'], + 'configopts': 'FC="$F77" FCFLAGS="$FFLAGS" --enable-shared --enable-fortran', + 'parallel': 1, + 'runtest': 'check', + }), + (name, version, { + 'source_urls': ['https://github.com/theochem/horton/releases/download/%(version)s'], + 'checksums': ['4b3f87920d881030ba80f097326a744de2cfee5316aa4499cc9a6501f64b5060'], + 'easyblock': 'PythonPackage', + 'download_dep_fail': True, + 'use_pip': False, + 'prebuildopts': local_horton_prebuildopts, + 'runtest': local_horton_runtest, + }), +] + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['include/xc.h', 'lib/libint2.a', 'lib/libint2.%s' % SHLIB_EXT] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include/horton', 'include/libint2', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import horton'", + "horton-esp-fit.py --version", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/h/how_are_we_stranded_here/how_are_we_stranded_here-1.0.1-foss-2021b.eb b/easybuild/easyconfigs/h/how_are_we_stranded_here/how_are_we_stranded_here-1.0.1-foss-2021b.eb new file mode 100644 index 00000000000..14feb29031f --- /dev/null +++ b/easybuild/easyconfigs/h/how_are_we_stranded_here/how_are_we_stranded_here-1.0.1-foss-2021b.eb @@ -0,0 +1,64 @@ +easyblock = 'Bundle' + +name = 'how_are_we_stranded_here' +version = '1.0.1' + +homepage = 'https://github.com/signalbash/how_are_we_stranded_here' +description = "Python package for testing strandedness of RNA-Seq fastq files" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.22.1'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('RSeQC', '4.0.0'), + ('SciPy-bundle', '2021.10'), + ('HDF5', '1.12.1'), + ('HTSlib', '1.14'), +] + +default_component_specs = { + 'sources': ['v%(version)s.tar.gz'], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('kallisto', '0.44.0', { + 'source_urls': ['https://github.com/pachterlab/kallisto/archive/refs/tags/'], + 'easyblock': 'CMakeMake', + 'patches': ['%(name)s-%(version)s-include_limits.patch'], + 'preconfigopts': "cd ../%(name)s-%(version)s/ext/htslib/ && \ + sed -i '/AC_PROG_CC/a AC_CANONICAL_HOST' configure.ac && \ + autoreconf -i && autoheader && autoconf && cd - && ", + 'checksums': [ + '35a81201a56f4557697e6fe693dc6b701bbbd0a7b2b6e1c6c845ef816d67ca29', # v0.44.0.tag.gz + '4ad7d54f104fe779560107109fd0fc65ffc9af22822765be96816c1424b91da0', # kallisto-0.44.0-include_limits.patch + ], + }), + (name, version, { + 'source_urls': ["https://github.com/signalbash/how_are_we_stranded_here/archive/refs/tags/"], + 'easyblock': 'PythonPackage', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, + 'checksums': ['f66b3f7035d55c4584c4843582c9d94d3fa597cc1dc9ad9f36ffc2d3849a5210'], + }), +] + +parallel = 1 # Build doesn't complete without this + +sanity_check_paths = { + 'files': ['bin/check_strandedness'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["check_strandedness --help"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/how_are_we_stranded_here/kallisto-0.44.0-include_limits.patch b/easybuild/easyconfigs/h/how_are_we_stranded_here/kallisto-0.44.0-include_limits.patch new file mode 100644 index 00000000000..f93f03c6781 --- /dev/null +++ b/easybuild/easyconfigs/h/how_are_we_stranded_here/kallisto-0.44.0-include_limits.patch @@ -0,0 +1,33 @@ +Version 0.44.0 does not include limits library by its own, this fixes it. + +diff -ruN kallisto_orig/src/Inspect.h kallisto/src/Inspect.h +--- kallisto_orig/src/Inspect.h 2022-09-05 15:33:04.350000000 +0200 ++++ kallisto/src/Inspect.h 2022-09-05 15:33:31.070000000 +0200 +@@ -3,6 +3,7 @@ + + #include + #include ++#include + #include "KmerIndex.h" + #include "GeneModel.h" + +diff -ruN kallisto_orig/src/MinCollector.cpp kallisto/src/MinCollector.cpp +--- kallisto_orig/src/MinCollector.cpp 2022-09-05 15:33:04.350000000 +0200 ++++ kallisto/src/MinCollector.cpp 2022-09-05 15:33:53.640000000 +0200 +@@ -1,5 +1,6 @@ + #include "MinCollector.h" + #include ++#include + + // utility functions + +diff -ruN kallisto_orig/src/main.cpp kallisto/src/main.cpp +--- kallisto_orig/src/main.cpp 2022-09-05 15:33:04.350000000 +0200 ++++ kallisto/src/main.cpp 2022-09-05 15:34:20.330000000 +0200 +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + #include diff --git a/easybuild/easyconfigs/h/htop/htop-3.2.1.eb b/easybuild/easyconfigs/h/htop/htop-3.2.1.eb new file mode 100644 index 00000000000..c1cdf13a220 --- /dev/null +++ b/easybuild/easyconfigs/h/htop/htop-3.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'htop' +version = "3.2.1" + +homepage = 'https://htop.dev' + +description = """An interactive process viewer for Unix""" + +toolchain = SYSTEM + +github_account = 'htop-dev' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['b5ffac1949a8daaabcffa659c0964360b5008782aae4dfa7702d2323cfb4f438'] + +dependencies = [ + ('ncurses', '6.2'), +] + +preconfigopts = 'LIBS="$LIBS -ltinfo" && ./autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/htop'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/htop/htop-3.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/htop/htop-3.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aefffe2b36a --- /dev/null +++ b/easybuild/easyconfigs/h/htop/htop-3.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'htop' +version = "3.2.2" + +homepage = 'https://htop.dev' + +description = """An interactive process viewer for Unix""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'htop-dev' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['3829c742a835a0426db41bb039d1b976420c21ec65e93b35cd9bfd2d57f44ac8'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38') +] + +dependencies = [ + ('ncurses', '6.3'), +] + +preconfigopts = 'LIBS="$LIBS -ltinfo" && ./autogen.sh && ' + +sanity_check_paths = { + 'files': ['bin/htop'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb b/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb new file mode 100644 index 00000000000..b87c313ff3c --- /dev/null +++ b/easybuild/easyconfigs/h/humann/humann-3.6-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'humann' +version = '3.6' + +homepage = 'http://huttenhower.sph.harvard.edu/humann' +description = """HUMAnN v3 is a pipeline for efficiently + and accurately determining the coverage and abundance + of microbial pathways in a community from metagenomic data. +Sequencing a metagenome typically produces millions + of short DNA/RNA reads. This process, referred + to as functional profiling, aims to describe the metabolic potential + of a microbial community and its members. More generally, + functional profiling answers the question: + What are the microbes in my community-of-interest doing (or capable of doing)?""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = { + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +} + +exts_list = [ + (name, version, { + 'checksums': ['addce81db58bacfdd5465423455d25e385aa8dd14349253c3a7054bf7d3747dc'], + }), + +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..96a79ee0df8 --- /dev/null +++ b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +# Contribution from Imperial College London/UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'hunspell' +version = '1.7.1' + +homepage = 'http://hunspell.github.io/' +description = """Hunspell is a spell checker and morphological analyzer +library and program designed for languageswith rich morphology and +complex word compounding or character encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/hunspell/hunspell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6e3557624c608b3e6525b8bd277706db4f5a857c28fdb3cfa8d0d2b67776da8a'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('gettext', '0.21'), +] + +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/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5e59a4c5630 --- /dev/null +++ b/easybuild/easyconfigs/h/hunspell/hunspell-1.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +# Contribution from Imperial College London/UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'hunspell' +version = '1.7.1' + +homepage = 'https://hunspell.github.io/' +description = """Hunspell is a spell checker and morphological analyzer +library and program designed for languageswith rich morphology and +complex word compounding or character encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/hunspell/hunspell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6e3557624c608b3e6525b8bd277706db4f5a857c28fdb3cfa8d0d2b67776da8a'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('gettext', '0.21'), +] + +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/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.10.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cbe85325933 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.10.0-GCCcore-13.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.10.0' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c7fd8a1404a9719c76aadc642864b9f77aed1dc1fc8882d6af861a9260ba240d'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('numactl', '2.0.18'), + ('libxml2', '2.12.7'), + ('libpciaccess', '0.18.1'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..273bef65c43 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.5.0' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +# need to build with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake +# cfr. https://github.com/open-mpi/hwloc/issues/315 +toolchainopts = {'vectorize': False} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['38aa8102faec302791f6b4f0d23960a3ffa25af3af6af006c64dbecac23f852c'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('numactl', '2.0.14'), + ('libxml2', '2.9.10'), + ('libpciaccess', '0.16'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..15cba2b35a9 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.7.1' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4cb0a781ed980b03ad8c48beb57407aa67c4b908e45722954b9730379bc7f6d5'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('numactl', '2.0.14'), + ('libxml2', '2.9.13'), + ('libpciaccess', '0.16'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..e1493dc0953 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.8.0' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['20b2bd4df436827d8e50f7afeafb6f967259f2fb374ce7330244f8d0ed2dde6f'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('numactl', '2.0.16'), + ('libxml2', '2.10.3'), + ('libpciaccess', '0.17'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..f454c0bc263 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.1-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.9.1' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['a440e2299f7451dc10a57ddbfa3f116c2a6c4be1bb97c663edd3b9c7b3b3b4cf'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('numactl', '2.0.16'), + ('libxml2', '2.11.4'), + ('libpciaccess', '0.17'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' 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 new file mode 100644 index 00000000000..e0816fd2d78 --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.9.2' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ffb554d5735e0e0a19d1fd4b2b86e771d3b58b2d97f257eedacae67ade5054b3'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('numactl', '2.0.16'), + ('libxml2', '2.11.5'), + ('libpciaccess', '0.17'), +] + +configopts = "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb b/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb deleted file mode 100644 index 94664ec45e6..00000000000 --- a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.4-intel-2019b-Python-3.7.4-Java-1.8.eb +++ /dev/null @@ -1,52 +0,0 @@ -# Author: Pavel Grochal (INUITS) -# License: GPLv2 - -easyblock = 'PythonBundle' - -name = 'hyperopt' -version = '0.2.4' -local_python_versionsuffix = '-Python-%(pyver)s' -local_java_versionsuffix = '-Java-%(javaver)s' -versionsuffix = local_python_versionsuffix + local_java_versionsuffix - -homepage = 'https://github.com/hyperopt/hyperopt' -description = "Distributed Asynchronous Hyperparameter Optimization in Python" - -toolchain = {'name': 'intel', 'version': '2019b'} - -builddependencies = [ - ('CMake', '3.15.3'), -] - -dependencies = [ - ('Python', '3.7.4'), - ('SciPy-bundle', '2019.10', local_python_versionsuffix), # for numpy, scipy - ('networkx', '2.4', local_python_versionsuffix), - ('scikit-learn', '0.21.3', local_python_versionsuffix), - ('Java', '1.8', '', True), - ('Spark', '2.4.5', versionsuffix), -] - -use_pip = True -sanity_pip_check = True - -exts_list = [ - ('tqdm', '4.46.0', { - 'checksums': ['4733c4a10d0f2a4d098d801464bdaf5240c7dadd2a7fde4ee93b0a0efd9fb25e'], - }), - ('cloudpickle', '1.4.1', { - 'checksums': ['0b6258a20a143603d53b037a20983016d4e978f554ec4f36b3d0895b947099ae'], - }), - ('pymongo', '3.10.1', { - 'checksums': ['993257f6ca3cde55332af1f62af3e04ca89ce63c08b56a387cdd46136c72f2fa'], - }), - ('lightgbm', '2.3.1', { - 'checksums': ['bd1817be401e74c0d8b049e97ea2f35d2ce155cfa130119ce4195ea207bd6388'], - }), - (name, version, { - 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', - 'checksums': ['6e72089a42eb70cf84b0567d4552a908adff7cfc5cf6b1c38add41adc775d9c6'], - }), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb b/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb deleted file mode 100644 index 4f7660f2938..00000000000 --- a/easybuild/easyconfigs/h/hyperopt/hyperopt-0.2.5-fosscuda-2020b.eb +++ /dev/null @@ -1,49 +0,0 @@ -# Author: Denis Krišťák (INUITS) - -easyblock = 'PythonBundle' - -name = 'hyperopt' -version = '0.2.5' - -homepage = 'https://github.com/hyperopt/hyperopt' -description = "Distributed Asynchronous Hyperparameter Optimization in Python" - -toolchain = {'name': 'fosscuda', 'version': '2020b'} - -builddependencies = [ - ('CMake', '3.18.4'), -] - -dependencies = [ - ('Python', '3.8.6'), - ('SciPy-bundle', '2020.11'), # for numpy, scipy - ('networkx', '2.5'), - ('scikit-learn', '0.23.2'), - ('tqdm', '4.56.2'), - ('Java', '11', '', True), - ('Spark', '3.1.1'), -] - -use_pip = True -sanity_pip_check = True - -exts_list = [ - ('cloudpickle', '1.6.0', { - 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], - }), - ('pymongo', '3.11.3', { - 'checksums': ['db5098587f58fbf8582d9bda2462762b367207246d3e19623782fb449c3c5fcc'], - }), - ('lightgbm', '3.2.0', { - 'checksums': ['000c6e0e225834a8a94a84571cf41e4b7c7b97a0db6d286c1237de8ba6066726'], - }), - ('py4j', '0.10.9.2', { - 'checksums': ['624f97c363b8dd84822bc666b12fa7f7d97824632b2ff3d852cc491359ce7615'], - }), - (name, version, { - 'use_pip_extras': 'SparkTrials,MongoTrials,ATPE', - 'checksums': ['bc6047d50f956ae64eebcb34b1fd40f186a93e214957f20e87af2f10195295cc'], - }), -] - -moduleclass = 'math' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-4.57.1-GCCcore-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-4.57.1-GCCcore-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..1a30b129637 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-4.57.1-GCCcore-11.2.0-Python-2.7.18.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '4.57.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3c4369a4b0a1348561048bcda5f1db951a1b8e2a514ea8e8c70d36e656bf6fa0'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '2.7.18')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.103.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.103.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e9bb1d78543 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.103.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.103.1' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d299d5c21d6408eab3be670c94c974f3acf0b511c61fe81804b09091e393ee1f'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), # required for attrs, sortedcontainers +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.14.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.14.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c0818d95bc7 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.14.6-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.14.6' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2586eae07e48b35ab5a2d61d607d29ba76939ce140c427d66ccf5db4ddc788d2'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.46.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.46.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6d6e33e62dc --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.46.7-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.46.7' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['967009fa561b3a3f8363a73d71923357271c37dc7fa27b30c2d21a1b6092b240'] + +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/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..108e338d483 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.68.2' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a7eb2b0c9a18560d8197fe35047ceb58e7e8ab7623a3e5a82613f6a2cd71cffa'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.82.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.82.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3accab32735 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.82.0-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.82.0' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ffece8e40a34329e7112f7408f2c45fe587761978fdbc6f4f91bf0d683a7d4d9'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # required for attrs, sortedcontainers +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.90.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.90.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c47eee7e268 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.90.0-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.90.0' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0ab33900b9362318bd03d911a77a0dda8629c1877420074d87ae466919f6e4c0'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # required for attrs, sortedcontainers +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb new file mode 100644 index 00000000000..1bb91f3fb97 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01-foss-2023a.eb @@ -0,0 +1,216 @@ +# This file is an EasyBuild recipe as per https://easybuild.io +# Author: Jens Henrik Göbbert +# Forschungszentrum Juelich GmbH (FZJ) +# Juelich Supercomputing Centre (JSC) + +easyblock = 'ConfigureMake' + +name = 'ICON' +version = '2024.01' + +local_tag = 'release-%(version)s-public' + +homepage = "https://www.icon-model.org/" +description = """ +ICON is a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction +that provides actionable information for society and advances our understanding of the Earth's climate system. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = [('https://gitlab.dkrz.de/icon/icon-model/-/archive/%s/' % local_tag)] +sources = [('icon-model-%s.tar.gz' % local_tag)] + +patches = [ + 'ICON-2024.01_lzacc-undefined.patch', +] +checksums = [ + '53f0c6fb2622725b184b220ace307665d7965ae3609ebe4a51e5e36539a495b0', + '5612f304dc0241016e3126134737549d7bb719cb879451ef3a9623a29a218414', +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07', '', ('gfbf', '2023a')), + ('Perl', '5.36.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), + ('libfyaml', '0.9'), + ('ecCodes', '2.31.0'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('HDF5', '1.14.0'), +] + +# Details on configuration settings and order can be found here: +# https://gitlab.dkrz.de/icon/icon-model/-/blob/icon-2024.01-public/doc/Quick_Start.md#icon-deptable +configopts = ( + # C/C++ + 'CFLAGS="' + ' -mpc64 -march=native ' + ' -g -gdwarf-4 ' + '" ' + 'ICON_CFLAGS="-O3" ' + 'ICON_BUNDLED_CFLAGS="-O2" ' + # 'CPPFLAGS="''" # $CPATH set by easybuild + # Fortran + 'FCFLAGS="' + ' -mpc64 -march=native ' + ' -g -gdwarf-4 ' + ' -ffree-line-length-none ' + # ' -fmodule-private -fimplicit-none -fmax-identifier-length=63 ' # Test possible code-style-issues + # ' -Wall -Wcharacter-truncation -Wconversion -Wunderflow -Wunused-parameter -Wno-surprising ' + ' -I${EBROOTHDF5}/include ' + ' -I${EBROOTNETCDFMINFORTRAN}/include ' + ' -I${EBROOTECCODES}/include ' + '" ' + 'ICON_FCFLAGS="' + ' -O2 ' + ' -std=f2008 -fall-intrinsics ' # Set standard but allow other intrinsics, too + ' -DDO_NOT_COMBINE_PUT_AND_NOCHECK ' # Set lock_assert=0 instead of MPI_MODE_NOCHECK for a MPI_Win_lock() + # ' -fbacktrace -fbounds-check -fstack-protector-all ' # For testing purpose (performance decrease) + # ' -finit-real=nan -finit-integer=-2147483648 -finit-character=127 ' # For testing (performance decrease) + '" ' + 'ICON_BUNDLED_FCFLAGS="-O2" ' + 'ICON_OCEAN_FCFLAGS="' + ' -O3 ' + ' -fno-tree-loop-vectorize ' + '" ' + 'ICON_ECRAD_FCFLAGS="' + ' -fallow-invalid-boz ' # Degrades a specific error to a warning + '" ' + # Linker + # 'LDFLAGS="''" # $LIBRARY_PATH set by easybuild + 'LIBS="' + ' -Wl,--disable-new-dtags -Wl,--as-needed ' + ' -lxml2 ' + ' -lfyaml ' + ' -leccodes_f90 -leccodes ' + ' -llapacke -lflexiblas ' + ' -lnetcdff -lnetcdf ' + ' -lhdf5_hl_fortran -lhdf5_fortran -lhdf5 ' + ' -lz ' + ' -lstdc++ ' + '" ' + 'MPI_LAUNCH=false ' +) + +# Model Features: +configopts += ( + '--enable-atmo ' # atmosphere component [default=yes] + '--enable-les ' # Large-Eddy Simulation component [default=yes] + '--enable-upatmo ' # upper atmosphere component [default=yes] + '--enable-ocean ' # ocean component [default=yes] + '--enable-jsbach ' # land component JSBACH [default=yes] + '--enable-jsbach-hd ' # hydrological discharge scheme of the JSBACH land component [default=auto] + '--enable-waves ' # ocean surface wave component [default=no] + '--enable-coupling ' # coupling [default=yes] + '--enable-aes ' # AES physics package [default=yes] + '--enable-nwp ' # NWP physics package [default=yes] + '--enable-ecrad ' # ECMWF radiation scheme (ECRAD) [default=no] + '--enable-rte-rrtmgp ' # RTE+RRTMGP toolbox for radiation calculations [default=yes] + '--enable-art ' # aerosols and reactive trace component ART [default=no] + '--enable-art-gpl ' # GPL-licensed code parts of the ART component [default=no] + '--enable-comin ' # ICON community interfaces [default=no] + + # Subject to a license agreement + # '--enable-acm-license ' # accepting ACM Software License Agreement [default=no] + # '--enable-rttov ' # radiative transfer model for TOVS [default=no] + # https://nwp-saf.eumetsat.int/site/software/rttov/download/#Software + # '--enable-dace ' # DACE modules for data assimilation [default=no] + # "Data Assimilation Coding Environment (DACE)" + # http://www.cosmo-model.org/content/support/software/#dace + # '--enable-emvorado ' # radar forward operator EMVORADO [default=no] + # "Efficient Modular VOlume scan RADar Operator (EMVORADO)" + # '--enable-hd=yes ' # Hydrological Discharge (HD) model [default=no]: + # 05deg|yes enable for the 0.5-degree global domain + # 5min enable for the 5min global domain + # no disable the HD model +) + +# Infrastructural Features: +configopts += ( + '--enable-mpi ' # MPI (parallelization) support [default=yes] + '--disable-mpi-checks ' # configure-time checks of MPI library [default=yes] + # '--enable-active-target-sync ' # MPI active target mode [default=no] + # '--enable-mpi-rget ' # MPI_Rget routine [default=auto] - if MPI library supports standard 3.0 or higher + # '--enable-mpi-gpu ' # GPU-aware MPI features [default=no] + '--enable-async-io-rma ' # MPI RMA for asynchronous I/O [default=yes] + '--enable-openmp ' # OpenMP support [default=no] - do not combine with --enable-gpu + # '--enable-gpu=yes ' # GPU support [default=no]: - do not combine with --enable-openmp + # openacc+cuda with OpenACC and CUDA + # openacc+hip with OpenACC and HIP + # openacc alias for 'openacc+cuda' + # yes alias for 'openacc+cuda' + # no disable GPU support + '--enable-grib2 ' # GRIB2 I/O [default=no] + # '--enable-parallel-netcdf ' # parallel features of NetCDF [default=no] - ICON hangs with netCDF>=4.8.0 + '--enable-cdi-pio ' # parallel features of CDI [default=no] + # '--enable-sct ' # SCT timer [default=no] + '--enable-yaxt ' # YAXT data exchange [default=no] + # '--enable-explicit-fpp ' # explicit Fortran preprocessing [default=auto] + # '--enable-serialization ' # Serialbox2 serialization [default=no]: + # read enable READ mode + # perturb enable READ & PERTURB mode + # create enable CREATE mode + # yes alias for 'read' + # no disable serialization + # '--enable-testbed ' # ICON Testbed infrastructure [default=no] + # '--enable-memory-tracing ' # native dynamic memory tracing facility [default=no]: + # mtrace enable tracing with mtrace (glibc) + # yes alias for 'mtrace' + # no disable memory tracing +) + +# Optimization Features: +configopts += ( + '' + # '--enable-loop-exchange ' # loop exchange [default=auto] - enabled if no GPU support requested + # '--enable-dim-swap ' # dimension swap [default=auto] + # '--enable-realloc-buf ' # reallocatable buffer in the communication [default=no] + '--enable-vectorized-lrtm ' # parallelization-invariant version of LRTM [default=no] + # '--enable-mixed-precision ' # mixed precision dycore [default=no] + # '--enable-intel-consistency ' # Intel compiler directives enforcing consistency [default=auto] + # '--enable-pgi-inlib ' # PGI/NVIDIA cross-file function inlining via an inline library [default=no] + # '--enable-nccl ' # NCCL for communication [default=no] + # '--enable-cuda-graphs ' # CUDA graphs [default=no] + # '--enable-fcgroup- ' # Fortran compile group for extra set of compiler flags + '--enable-fcgroup-OCEAN=src/hamocc:src/ocean:src/sea_ice ' +) + +# External Libraries: +configopts += ( + '' + # '--with-external-tixi ' # https://gitlab.dkrz.de/icon-libraries/libtixi - a modified version of TIXI + # '--with-external-yac ' # https://gitlab.dkrz.de/dkrz-sw/yac + # '--with-external-mtime ' # https://gitlab.dkrz.de/icon-libraries/libmtime + # '--with-external-cdi ' # https://code.mpimet.mpg.de/projects/cdi/ + # '--with-external-ppm ' # https://gitlab.dkrz.de/jahns/ppm + # '--with-external-yaxt ' # https://gitlab.dkrz.de/dkrz-sw/yaxt + # '--with-external-sct ' # https://gitlab.dkrz.de/dkrz-sw/sct + # '--with-external-ecrad ' # https://confluence.ecmwf.int/display/ECRAD/ECMWF+Radiation+Scheme+Home + # '--with-external-rte-rrtmgp ' # https://github.com/earth-system-radiation/rte-rrtmgp +) + +postinstallcmds = [ + # Transfer required data + '%%(builddir)s/icon-model-%s/utils/move_to_prefix.sh ' % local_tag, + # Generate the runscripts + ( + 'cd %(installdir)s && ' + './make_runscripts --all ' + ), +] + +sanity_check_paths = { + 'files': ['bin/icon'], + 'dirs': ['bin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch b/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch new file mode 100644 index 00000000000..f826398c934 --- /dev/null +++ b/easybuild/easyconfigs/i/ICON/ICON-2024.01_lzacc-undefined.patch @@ -0,0 +1,40 @@ +diff -Naur icon-model.orig/src/parallel_infrastructure/mo_communication_yaxt.f90 icon-model/src/parallel_infrastructure/mo_communication_yaxt.f90 +--- icon-model.orig/src/parallel_infrastructure/mo_communication_yaxt.f90 2024-02-11 18:27:08.000000000 +0100 ++++ icon-model/src/parallel_infrastructure/mo_communication_yaxt.f90 2024-02-13 09:28:31.775211101 +0100 +@@ -2541,7 +2541,11 @@ + + CALL exchange_data_grf_bottom(redist_coll, cpy_size, nfields, ndim2tot,& + & npats, src_fsize4d, dst_fsize4d, needs_cpy, & +- & recv, send) ++ & recv, send & ++#ifdef _OPENACC ++ & ,lzacc & ++#endif ++ & ) + + #if defined(_OPENACC) && ! defined(__USE_G2G) + IF (i_am_accel_node) THEN +@@ -2559,7 +2563,11 @@ + END SUBROUTINE exchange_data_grf + + SUBROUTINE exchange_data_grf_bottom(redist_coll, cpy_size, nfields, ndim2tot,& +- npats, src_fsize4d, dst_fsize4d, needs_cpy, recv, send) ++ npats, src_fsize4d, dst_fsize4d, needs_cpy, recv, send & ++#ifdef _OPENACC ++ & ,lzacc & ++#endif ++ & ) + TYPE(xt_redist), INTENT(IN) :: redist_coll + + !> size of copy array needed for contiguous buffering +@@ -2576,6 +2584,10 @@ + ! recv itself is intent(in), but the pointed to data will be modified + TYPE(t_ptr_3d), PTR_INTENT(in) :: recv(nfields), send(nfields) + ++#ifdef _OPENACC ++ LOGICAL :: lzacc ++#endif ++ + REAL(dp), TARGET :: cpy_buf(cpy_size) + REAL(dp), POINTER :: cpy(:,:,:) + INTEGER :: i, ofs, cpy_psum, nblk, incr, nl, npnts, np, last diff --git a/easybuild/easyconfigs/i/ICU/ICU-69.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/ICU/ICU-69.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..df38950abb9 --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-69.1-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '69.1' + +homepage = 'https://icu-project.org/' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745'] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ICU/ICU-71.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ICU/ICU-71.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b9651a1c3ec --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-71.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '71.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['67a7e6e51f61faf1306b6935333e13b2c48abd8da6d2f46ce6adca24b1e21ebf'] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4', '-bare'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9b141a4671d --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-72.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '72.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['a2d2d38217092a7ed56635e34467f92f976b370e20182ad325edea6681a71d68'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ICU/ICU-73.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/ICU/ICU-73.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b89633b59d8 --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-73.2-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '73.2' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ICU/ICU-74.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/ICU/ICU-74.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..db1bede945b --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-74.1-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '74.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.5'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cb7075fa963 --- /dev/null +++ b/easybuild/easyconfigs/i/ICU/ICU-75.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'ICU' +version = '75.1' + +homepage = 'https://icu.unicode.org' +description = """ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization + support for software applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/unicode-org/icu/releases/download/release-%(version_major)s-%(version_minor)s'] +sources = ['icu4c-%(version_major)s_%(version_minor)s-src.tgz'] +checksums = ['cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['lib/libicu%s.%s' % (x, SHLIB_EXT) for x in ['data', 'i18n', 'io', 'test', 'tu', 'uc']], + 'dirs': ['bin', 'include/unicode', 'share/icu', 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..6b69859e259 --- /dev/null +++ b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-10.3.0.eb @@ -0,0 +1,49 @@ +# 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 +# Updated: Pavel Grochal (INUITS) +# License: GPLv2 + +# "make install" doesnt copy all the compiled binaries so we use the "MakeCp" easyblock +# to be sure everything is copied and we run ./configure in prebuildopts + +# modified by Tom Strempel +easyblock = 'MakeCp' + +name = 'IDBA-UD' +version = '1.1.3' + +homepage = 'https://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/' +description = """ IDBA-UD is a iterative De Bruijn Graph De Novo Assembler for Short Reads +Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. +IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth +contigs are removed iteratively with cutoff threshold from low to high to reduce the errors +in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled +locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD +can iterate k value of de Bruijn graph to a very large value with less gaps and less branches +to form long contigs in both low-depth and high-depth regions.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/loneknightpy/idba/releases/download/%(version)s'] +sources = ['idba-%(version)s.tar.gz'] +checksums = ['030e24463c6d725c1c202baabf773b605b51e310844fd0f27f4688ecfbae26d0'] + +prebuildopts = './configure && ' + +# we delete every .o and Makefile file which is left in bin folder +buildopts = ' && rm -fr bin/*.o bin/Makefile*' + +files_to_copy = ["bin", "script", "ChangeLog", "NEWS"] + +pretestopts = "cd test && " +runtest = "check" + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["idba", "idba_hybrid", "idba_tran", + "idba_ud", "parallel_blat", "idba_tran_test"]], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-11.2.0.eb b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..8d4d05d6460 --- /dev/null +++ b/easybuild/easyconfigs/i/IDBA-UD/IDBA-UD-1.1.3-GCC-11.2.0.eb @@ -0,0 +1,49 @@ +# 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 +# Updated: Pavel Grochal (INUITS) +# License: GPLv2 + +# "make install" doesnt copy all the compiled binaries so we use the "MakeCp" easyblock +# to be sure everything is copied and we run ./configure in prebuildopts + +# modified by Tom Strempel +easyblock = 'MakeCp' + +name = 'IDBA-UD' +version = '1.1.3' + +homepage = 'https://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/' +description = """ IDBA-UD is a iterative De Bruijn Graph De Novo Assembler for Short Reads +Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. +IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth +contigs are removed iteratively with cutoff threshold from low to high to reduce the errors +in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled +locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD +can iterate k value of de Bruijn graph to a very large value with less gaps and less branches +to form long contigs in both low-depth and high-depth regions.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/loneknightpy/idba/releases/download/%(version)s'] +sources = ['idba-%(version)s.tar.gz'] +checksums = ['030e24463c6d725c1c202baabf773b605b51e310844fd0f27f4688ecfbae26d0'] + +prebuildopts = './configure && ' + +# we delete every .o and Makefile file which is left in bin folder +buildopts = ' && rm -fr bin/*.o bin/Makefile*' + +files_to_copy = ["bin", "script", "ChangeLog", "NEWS"] + +pretestopts = "cd test && " +runtest = "check" + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["idba", "idba_hybrid", "idba_tran", + "idba_ud", "parallel_blat", "idba_tran_test"]], + 'dirs': [""], +} + +moduleclass = 'bio' 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/IEntropy/IEntropy-2024.06.12-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/i/IEntropy/IEntropy-2024.06.12-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..ee26df679bf --- /dev/null +++ b/easybuild/easyconfigs/i/IEntropy/IEntropy-2024.06.12-foss-2023a-R-4.3.2.eb @@ -0,0 +1,36 @@ +easyblock = 'RPackage' + +name = 'IEntropy' +version = '2024.06.12' +local_commit = '3cd58ab' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/LinLi-0909/IEntropy' +description = """Here, by deriving entropy decomposition formula, we proposed a feature selection method, +intrinsic entropy (IE) model, to identify the informative genes for accurately clustering analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/LinLi-0909/IEntropy/archive/'] +sources = [{ + "download_filename": "%s.tar.gz" % local_commit, + "filename": "%(name)s-%(version)s.tar.gz" +}] +checksums = ['7449340df7218c790dcdff5dbb14ba7d613bd9bdfb0a440296a561bbb742f9c1'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +unpack_sources = True +start_dir = 'IEntropy' + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +sanity_check_commands = ['Rscript -e "library(IEntropy)"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IGMPlot/IGMPlot-2.6.9b-GCC-11.2.0.eb b/easybuild/easyconfigs/i/IGMPlot/IGMPlot-2.6.9b-GCC-11.2.0.eb new file mode 100644 index 00000000000..dea32d51f80 --- /dev/null +++ b/easybuild/easyconfigs/i/IGMPlot/IGMPlot-2.6.9b-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'IGMPlot' +version = '2.6.9b' + +homepage = 'http://igmplot.univ-reims.fr' +description = """IGMPlot is a free open-source program developed to identify molecular interactions and + prepare data to build 2D and 3D representations of them in the molecular environment.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['http://igmplot.univ-reims.fr/download/'] +sources = ['IGMPLOT-%(version)s.tbz2'] +checksums = ['a7b57ecd03e6b8b1dbaab9231b6d89df9e74b350060b626bd495e1dd41ffe407'] + +start_dir = 'source' + +buildopts = 'CC="$CXX" CFLAGS="$CXXFLAGS -I src/include" ' + +files_to_copy = [(['source/IGMPLOT'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IGMPLOT'], + 'dirs': [], +} + +sanity_check_commands = ["cd %(builddir)s/IGMPLOT-%(version)s/samples/01_example/test01 && IGMPLOT param.igm"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.12.3-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.12.3-Java-11.eb new file mode 100644 index 00000000000..7e992b8bba5 --- /dev/null +++ b/easybuild/easyconfigs/i/IGV/IGV-2.12.3-Java-11.eb @@ -0,0 +1,34 @@ +# EasyBuild easyconfig +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# Big Data Institute, University of Oxford + +easyblock = 'Tarball' + +name = 'IGV' +version = '2.12.3' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/software/igv/' +description = """This package contains command line utilities for + preprocessing, computing feature count density (coverage), sorting, and + indexing data files.""" + +toolchain = SYSTEM + +source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_major)s.%(version_minor)s'] +sources = ['%(name)s_%(version)s.zip'] +checksums = ['c87a109deb35994e1b28dee80b5acfd623ec3257f031fcd9cfce008cd32a4cf2'] + +dependencies = [('Java', '11', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb new file mode 100755 index 00000000000..d30a9dbd0fc --- /dev/null +++ b/easybuild/easyconfigs/i/IGV/IGV-2.16.0-Java-11.eb @@ -0,0 +1,34 @@ +# EasyBuild easyconfig +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# Big Data Institute, University of Oxford + +easyblock = 'Tarball' + +name = 'IGV' +version = '2.16.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/software/igv/' +description = """This package contains command line utilities for + preprocessing, computing feature count density (coverage), sorting, and + indexing data files.""" + +toolchain = SYSTEM + +source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_major)s.%(version_minor)s'] +sources = ['%(name)s_%(version)s.zip'] +checksums = ['7fe76a793b1aa9ac90a1733acfe4ea01fd8e7e42729e9daee84e79e1f43b2a26'] + +dependencies = [('Java', '11', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.17.4-Java-17.eb b/easybuild/easyconfigs/i/IGV/IGV-2.17.4-Java-17.eb new file mode 100644 index 00000000000..35e427d0ad0 --- /dev/null +++ b/easybuild/easyconfigs/i/IGV/IGV-2.17.4-Java-17.eb @@ -0,0 +1,34 @@ +# EasyBuild easyconfig +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Modified by Adam Huffman +# Big Data Institute, University of Oxford + +easyblock = 'Tarball' + +name = 'IGV' +version = '2.17.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.broadinstitute.org/software/igv/' +description = """This package contains command line utilities for + preprocessing, computing feature count density (coverage), sorting, and + indexing data files.""" + +toolchain = SYSTEM + +source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_major)s.%(version_minor)s'] +sources = ['%(name)s_%(version)s.zip'] +checksums = ['6a36ae64fa3b74182db654a93f6254256305a8afa6b878f381b5d04fc1e8eaa5'] + +dependencies = [('Java', '17', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.5.0-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.5.0-Java-11.eb index 175e1547ee9..1716dc4a133 100644 --- a/easybuild/easyconfigs/i/IGV/IGV-2.5.0-Java-11.eb +++ b/easybuild/easyconfigs/i/IGV/IGV-2.5.0-Java-11.eb @@ -22,7 +22,7 @@ source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_ sources = ['%(name)s_%(version)s.zip'] checksums = ['44efdd0500dd6ace8e1c70dad0d758d9ab90492b391d2af4a416f03808fee471'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] sanity_check_paths = { 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.8.0-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.8.0-Java-11.eb index 870e1a93e0d..9369fb4f3ad 100644 --- a/easybuild/easyconfigs/i/IGV/IGV-2.8.0-Java-11.eb +++ b/easybuild/easyconfigs/i/IGV/IGV-2.8.0-Java-11.eb @@ -22,7 +22,7 @@ source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_ sources = ['%(name)s_%(version)s.zip'] checksums = ['33f3ac57017907b931f90c35b63b2de2e4f8d2452f0fbb5be39d30288fc9b2c6'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] sanity_check_paths = { 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], diff --git a/easybuild/easyconfigs/i/IGV/IGV-2.9.4-Java-11.eb b/easybuild/easyconfigs/i/IGV/IGV-2.9.4-Java-11.eb index 3e9176b8a21..f257993866e 100644 --- a/easybuild/easyconfigs/i/IGV/IGV-2.9.4-Java-11.eb +++ b/easybuild/easyconfigs/i/IGV/IGV-2.9.4-Java-11.eb @@ -22,7 +22,7 @@ source_urls = ['http://data.broadinstitute.org/igv/projects/downloads/%(version_ sources = ['%(name)s_%(version)s.zip'] checksums = ['05717ec6d0386a5eafe93c8b1af371c0013355eae74312b78eae5fdd99fc5fc1'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] sanity_check_paths = { 'files': ['%(namelower)s.sh', 'lib/%(namelower)s.jar'], diff --git a/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb b/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb new file mode 100644 index 00000000000..06667a1bbf8 --- /dev/null +++ b/easybuild/easyconfigs/i/IJulia/IJulia-1.23.3-Julia-1.6.7.eb @@ -0,0 +1,75 @@ +easyblock = 'JuliaBundle' + +name = 'IJulia' +version = '1.23.3' +_julia_ver = '1.6.7' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/JuliaLang/IJulia.jl' +description = "Julia kernel for Jupyter" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Parsers', '2.4.2', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['44036a59b047f704d6b7841e3edf12fe2a53aa797254086fdd0709f0cdebac89'], + }), + ('JSON', '0.21.3', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['bd02a015da24b03f79d55967b29f5ceaba2477b559242576d74f02623bb1b6b1'], + }), + ('MbedTLS', '1.1.7', { + 'source_urls': ['https://github.com/JuliaLang/MbedTLS.jl/archive/'], + 'checksums': ['3df27a16ea31acf4eaf6cc9f3bd25b81960c10662722ffa22b13cb0e6ac11b12'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.7.0', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2077b1192e1cfa206caf441d9d91b0ca83aa935db89918f1fd69cd25c2415ced'], + }), + ('SoftGlobalScope', '1.1.0', { + 'source_urls': ['https://github.com/stevengj/SoftGlobalScope.jl/archive/'], + 'checksums': ['8d4264386c859403938498cd9ddd5e94e10181deba4a3e71d391b16750e3848b'], + }), + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('libsodium_jll', '1.0.20+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libsodium_jll.jl/archive/'], + 'sources': [{'filename': 'libsodium-v%(version)s.tar.gz'}], + 'checksums': ['f7c3a17acc3a478ec10a4a49a0dd04694140f4483644ec9db638706ea9844aba'], + }), + ('ZeroMQ_jll', '4.3.4+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/ZeroMQ_jll.jl/archive/'], + 'sources': [{'filename': 'ZeroMQ-v%(version)s.tar.gz'}], + 'checksums': ['aa98ae3c7e050fc6bdf0b0132bb607dea2f6c062da7870b1ecada9f3c8ea8d72'], + }), + ('ZMQ', '1.2.1', { + 'source_urls': ['https://github.com/JuliaInterop/ZMQ.jl/archive/'], + 'checksums': ['8b42555340d0208e5a36cd5e8f29a3f0d44c13c064382d4b1e5d00c1c4a9dd96'], + }), + (name, version, { + 'source_urls': ['https://github.com/JuliaLang/IJulia.jl/archive/'], + 'checksums': ['1471ed94093efd24bae5e6ff1d3f7fa61901bf8834a737eeae2a9e620f50f07c'], + 'preinstallopts': "mkdir -p %(installdir)s/jupyter && export JUPYTER_DATA_DIR=%(installdir)s/jupyter && ", + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'jupyter', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb new file mode 100644 index 00000000000..4bdcde0a98d --- /dev/null +++ b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.0-Julia-1.8.5.eb @@ -0,0 +1,80 @@ +easyblock = 'JuliaBundle' + +name = 'IJulia' +version = '1.24.0' +_julia_ver = '1.8.5' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/JuliaLang/IJulia.jl' +description = "Julia kernel for Jupyter" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('SnoopPrecompile', '2.10.0', { + 'source_urls': ['https://github.com/timholy/SnoopCompile.jl/archive/'], + 'checksums': ['e7af878e693c105ab5d792c8672b1534112f10b9693a2722a5aa8099c18c6d9a'], + 'start_dir': '%(name)s', + }), + ('Parsers', '2.5.1', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['72494acac42c7dff16e1a6ac1305f13001f3743e0021d158d097399f0567d926'], + }), + ('JSON', '0.21.3', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['bd02a015da24b03f79d55967b29f5ceaba2477b559242576d74f02623bb1b6b1'], + }), + ('MbedTLS', '1.1.7', { + 'source_urls': ['https://github.com/JuliaLang/MbedTLS.jl/archive/'], + 'checksums': ['3df27a16ea31acf4eaf6cc9f3bd25b81960c10662722ffa22b13cb0e6ac11b12'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.7.0', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2077b1192e1cfa206caf441d9d91b0ca83aa935db89918f1fd69cd25c2415ced'], + }), + ('SoftGlobalScope', '1.1.0', { + 'source_urls': ['https://github.com/stevengj/SoftGlobalScope.jl/archive/'], + 'checksums': ['8d4264386c859403938498cd9ddd5e94e10181deba4a3e71d391b16750e3848b'], + }), + ('libsodium_jll', '1.0.20+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libsodium_jll.jl/archive/'], + 'sources': [{'filename': 'libsodium-v%(version)s.tar.gz'}], + 'checksums': ['f7c3a17acc3a478ec10a4a49a0dd04694140f4483644ec9db638706ea9844aba'], + }), + ('ZeroMQ_jll', '4.3.4+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/ZeroMQ_jll.jl/archive/'], + 'sources': [{'filename': 'ZeroMQ-v%(version)s.tar.gz'}], + 'checksums': ['aa98ae3c7e050fc6bdf0b0132bb607dea2f6c062da7870b1ecada9f3c8ea8d72'], + }), + ('ZMQ', '1.2.1', { + 'source_urls': ['https://github.com/JuliaInterop/ZMQ.jl/archive/'], + 'checksums': ['8b42555340d0208e5a36cd5e8f29a3f0d44c13c064382d4b1e5d00c1c4a9dd96'], + }), + (name, version, { + 'preinstallopts': "mkdir -p %(installdir)s/jupyter && export JUPYTER_DATA_DIR=%(installdir)s/jupyter && ", + 'source_urls': ['https://github.com/JuliaLang/IJulia.jl/archive/'], + 'checksums': ['85b3ee48aee1688bcb89b8fb93c332551e3a75cfc7d17bb346daed36dedc358e'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'jupyter', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IJulia/IJulia-1.24.2-Julia-1.10.3.eb b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.2-Julia-1.10.3.eb new file mode 100644 index 00000000000..f2072785aa5 --- /dev/null +++ b/easybuild/easyconfigs/i/IJulia/IJulia-1.24.2-Julia-1.10.3.eb @@ -0,0 +1,84 @@ +easyblock = 'JuliaBundle' + +name = 'IJulia' +version = '1.24.2' +_julia_ver = '1.10.3' +versionsuffix = "-Julia-%s" % _julia_ver + +homepage = 'https://github.com/JuliaLang/IJulia.jl' +description = "Julia kernel for Jupyter" + +toolchain = SYSTEM + +dependencies = [ + ('Julia', _julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Preferences', '1.4.3', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['02b995891818b91266f98bcb46eefc513dfb66b177b5a6a0d1cff97be3e4582d'], + }), + ('JLLWrappers', '1.5.0', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['6e83b81afd0c57636e80bcf52ad51f6ba43d98643cac999727b958d9ab3d4a01'], + }), + ('SnoopPrecompile', '2.10.8', { + 'source_urls': ['https://github.com/timholy/SnoopCompile.jl/archive/'], + 'start_dir': '%(name)s', + 'checksums': ['9b3204ce72fa3d0f1a359428e9f2ae43db2ee91f7ba77407056aced39d74d9d6'], + }), + ('PrecompileTools', '1.2.1', { + 'source_urls': ['https://github.com/JuliaLang/PrecompileTools.jl/archive/'], + 'checksums': ['af58b384e08b488b2da5ad19e72817b8b0ddb026997f8cf85f2964cc2c26cd34'], + }), + ('Parsers', '2.8.1', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['6ea035be48ef5daaecdff62ac8f29c6110aaf20f3349058a4f96e2503f55b693'], + }), + ('JSON', '0.21.4', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['c6b620ad4150ec5a154367f50c9579af800e3a89a6d8f9cb5dd30215a5d3f552'], + }), + ('MbedTLS', '1.1.9', { + 'source_urls': ['https://github.com/JuliaLang/MbedTLS.jl/archive/'], + 'checksums': ['d421bb36f9eb7f8840bd7108c2c33a9a5532454ac9465861e2f7797f89c1f56b'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.10.0', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2007170cad58d6f27626500abd52bd782023b8ecb7a7d05a678d7aec3c0f9948'], + }), + ('SoftGlobalScope', '1.1.0', { + 'source_urls': ['https://github.com/stevengj/SoftGlobalScope.jl/archive/'], + 'checksums': ['8d4264386c859403938498cd9ddd5e94e10181deba4a3e71d391b16750e3848b'], + }), + ('libsodium_jll', '1.0.20+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/libsodium_jll.jl/archive/'], + 'sources': [{'filename': 'libsodium-v%(version)s.tar.gz'}], + 'checksums': ['f7c3a17acc3a478ec10a4a49a0dd04694140f4483644ec9db638706ea9844aba'], + }), + ('ZeroMQ_jll', '4.3.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/ZeroMQ_jll.jl/archive/'], + 'sources': [{'filename': 'ZeroMQ-v%(version)s.tar.gz'}], + 'checksums': ['29d1f35e48c1436743a6da28518cb7aeccb32af4b439c3976df1967c6a252e87'], + }), + ('ZMQ', '1.2.4', { + 'source_urls': ['https://github.com/JuliaInterop/ZMQ.jl/archive/'], + 'checksums': ['a15fe752d2b049ad7521d03909ae8ad6c28e4cf46fc823f666cbc1cc6f5795ba'], + }), + (name, version, { + 'preinstallopts': "mkdir -p %(installdir)s/jupyter && export JUPYTER_DATA_DIR=%(installdir)s/jupyter && ", + 'source_urls': ['https://github.com/JuliaLang/IJulia.jl/archive/'], + 'checksums': ['de215348c7c41e1ca15c0d21f5f9a78bedce77b02ef89d67f38702c4d57ee80d'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'jupyter', +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/IMAGE/IMAGE-1.1-foss-2022b.eb b/easybuild/easyconfigs/i/IMAGE/IMAGE-1.1-foss-2022b.eb new file mode 100644 index 00000000000..3b7413af016 --- /dev/null +++ b/easybuild/easyconfigs/i/IMAGE/IMAGE-1.1-foss-2022b.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'IMAGE' +version = '1.1' + +homepage = 'https://github.com/JesperGrud/IMAGE' +description = """IMAGE (Motif Activity and Gene Expression changes of transcription factors) is software for +integrated analysis of motif activity and gene expression changes of transcription factors. IMAGE makes prediction +of causal transcription factors based on transcriptome profiling and genome-wide maps of enhancer activity.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/JesperGrud/IMAGE/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e286cd5e7eb5aaaf9e103a9651ece39ff4ce260c463facdf1758b6d72a285062'] + +dependencies = [ + ('Perl', '5.36.0'), + ('HOMER', '4.11.1'), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', '-R-4.2.2'), +] + +postinstallcmds = [ + 'mkdir %(installdir)s/bin', + 'mv %(installdir)s/IMAGE.pl %(installdir)s/bin/', + 'chmod +x %(installdir)s/bin/IMAGE.pl', + ( + 'sed -i "s|my \\$TMPDIR = \\$INSTALLDIR . \\$TMP;|my \\$TMPDIR = \\$TMP;|g" ' + '%(installdir)s/bin/IMAGE.pl' + ), + ( + 'sed -i "s|my \\$UTILDIR = \\$INSTALLDIR . \\$UTIL;|my \\$UTILDIR = \'%(installdir)s\' . \\$UTIL;|g" ' + '%(installdir)s/bin/IMAGE.pl' + ), +] + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'dirs': ['bin', 'utils', 'tmp'], + 'files': [ + 'utils/Collection.motif', + 'utils/extractSequence', + 'utils/Genename_Motif.txt', + 'utils/Parallel.sh', + 'utils/Regression.R', + 'utils/SplitMotifLibrary.sh', + 'bin/IMAGE.pl', + ] +} + +sanity_check_commands = [ + "IMAGE.pl", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2020b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2020b.eb new file mode 100644 index 00000000000..9db2f7831fc --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2021b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2021b.eb new file mode 100644 index 00000000000..b2237fce1b3 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb new file mode 100644 index 00000000000..41596b5c2c5 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb new file mode 100644 index 00000000000..de35e64fb68 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-gompi-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb new file mode 100644 index 00000000000..fb15cec75f5 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb new file mode 100644 index 00000000000..18ee2daf4b4 --- /dev/null +++ b/easybuild/easyconfigs/i/IMB/IMB-2021.3-iimpi-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'IMB' +version = '2021.3' + +homepage = 'https://software.intel.com/en-us/articles/intel-mpi-benchmarks' +description = """The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and + global communication operations for a range of message sizes""" + +docurls = ['https://software.intel.com/en-us/imb-user-guide'] + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/intel/mpi-benchmarks/archive/'] +sources = ['IMB-v%(version)s.tar.gz'] +checksums = ['9b58a4a7eef7c0c877513152340948402fd87cb06270d2d81308dc2ef740f4c7'] + +buildopts = 'all CC="$MPICC"' + +parallel = 1 + +files_to_copy = [(['IMB-*'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/IMB-EXT', 'bin/IMB-IO', 'bin/IMB-MPI1', 'bin/IMB-MT', + 'bin/IMB-NBC', 'bin/IMB-P2P', 'bin/IMB-RMA'], + 'dirs': [], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2022a.eb b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2022a.eb new file mode 100644 index 00000000000..246ea7b40b6 --- /dev/null +++ b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'IML' +version = '1.0.5' + +homepage = 'https://cs.uwaterloo.ca/~astorjoh/iml.html' +description = """IML is a free library of C source code which implements algorithms for computing + exact solutions to dense systems of linear equations over the integers.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} + +source_urls = ['http://www.cs.uwaterloo.ca/~astorjoh'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['1dad666850895a5709b00b97422e2273f293cfadea7697a9f90b90953e847c2a'] + +dependencies = [('GMP', '6.2.1')] + +configopts = '--with-cblas="$LIBBLAS" --with-gmp-include=$EBROOTGMP/include --with-gmp-lib=$EBROOTGMP/lib ' + +sanity_check_paths = { + 'files': ['include/iml.h', 'lib/libiml.a'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb new file mode 100644 index 00000000000..29698d8351f --- /dev/null +++ b/easybuild/easyconfigs/i/IML/IML-1.0.5-gfbf-2023b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'IML' +version = '1.0.5' + +homepage = 'https://cs.uwaterloo.ca/~astorjoh/iml.html' +description = """IML is a free library of C source code which implements algorithms for computing + exact solutions to dense systems of linear equations over the integers.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['http://www.cs.uwaterloo.ca/~astorjoh'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['1dad666850895a5709b00b97422e2273f293cfadea7697a9f90b90953e847c2a'] + +dependencies = [('GMP', '6.3.0')] + +configopts = '--with-cblas="$LIBBLAS" --with-gmp-include=$EBROOTGMP/include --with-gmp-lib=$EBROOTGMP/lib ' + +sanity_check_paths = { + 'files': ['include/iml.h', 'lib/libiml.a'], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-foss-2020b.eb b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-foss-2020b.eb new file mode 100644 index 00000000000..d3a1580f52b --- /dev/null +++ b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-foss-2020b.eb @@ -0,0 +1,93 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04 +easyblock = 'ConfigureMake' + +name = 'IMOD' +version = '4.11.5' + +homepage = 'https://bio3d.colorado.edu/imod/' +description = """IMOD is a set of image processing, modeling and display +programs used for tomographic reconstruction and for 3D reconstruction of EM +serial sections and optical sections. The package contains tools for assembling +and aligning data within multiple types and sizes of image stacks, viewing 3-D +data from any orientation, and modeling and display of the image files. IMOD +was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim +Kremer, Quanren Xiong, and John Heumann at the University of Colorado.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True, 'openmp': True} + +# download manually from mercurial repository and create source tarball: +# hg clone --debug http://bio3d.colorado.edu/imod/nightlyBuilds/IMOD +# get lunch +# cd IMOD +# hg update -r IMOD_4-11-5 +# cd .. +# tar czf IMOD-4.11.5.tar.gz IMOD +sources = [SOURCE_TAR_GZ] +patches = ['IMOD-%(version)s_fix-csvtohtml-py3.patch'] +checksums = [ + # can't include a valid checksum for source tarball, since it has to be created manually + None, # IMOD-4.11.5.tar.gz + '8ba0c3cbe30d755ab3fb918688982e818795b9f7f41218bd6bf231c85bea4971', # IMOD-4.11.5_fix-csvtohtml-py3.patch +] + +dependencies = [ + ('LibTIFF', '4.1.0'), + ('Qt5', '5.14.2'), + ('Java', '11', '', SYSTEM), + ('HDF5', '1.10.7'), + ('Python', '3.8.6'), +] + +# parallel build sometimes fails +parallel = 1 + +# modify all qmake pro files in order to pass CFLAGS +local_qmake_pass_cflags = "find -name *.pro -exec sed -i -e '$aQMAKE_CXXFLAGS += $$(CFLAGS)' {} \\; &&" + +# exports required for configure and build +local_exports = 'export QTDIR=$EBROOTQT5 &&' +local_exports += 'export HDF5_DIR=$EBROOTHDF5 &&' +local_exports += 'export QMAKESPEC=$EBROOTQT5/mkspecs/`qmake -query QMAKE_SPEC` &&' +# readw_or_imod.f and others with gfortran10: +# Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/INTEGER(2)) +# => set -fallow-argument-mismatch. Runs through without this option with GCC 8.3.0. +local_exports += 'export CFLAGS="$CFLAGS -fallow-argument-mismatch" &&' # required for gfortran10 + +preconfigopts = local_exports +preconfigopts += local_qmake_pass_cflags + +# IMOD's configure script is named setup and does not know the parameter --prefix, but -i. +# CFLAGs are passed with -flags. +configure_cmd = './setup ' +configure_cmd += '-flags "$CFLAGS" ' # inject CFLAGS +configure_cmd += '-i %(installdir)s ' # set installdir +configure_cmd += ' #' # avoid passing unknown arg --prefix + +prebuildopts = local_exports + +# create some missing directories required for installation process: +preinstallopts = 'mkdir %(installdir)s/{man/cat1,bin,autodoc,SystemTemplate,lib/imodplug,com,html,Plugins} -p && ' + +# patch hardcoded /usr/bin/python to use Python included as dependency +preinstallopts += "find pysrc -name '*.py' | xargs sed -i 's@^#!/usr/bin/python@#!/usr/bin/env python@g' && " +preinstallopts += "ls manpages/{csvtohtml,adocdefaults} | xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' && " +preinstallopts += "xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' html/makeqhp && " + +modextravars = { + 'IMOD_DIR': "%(installdir)s", + 'IMOD_PLUGIN_DIR': '%(installdir)s/lib/imodplug', + 'IMOD_JAVADIR': '$JAVA_HOME', + 'FOR_DISABLE_STACK_TRACE': '1', +} +modloadmsg = 'Please set the environment variable $IMOD_CALIB_DIR if appropriate.' +# Observed problems with alias on a tcl based module system. Use bin/subm python script instead. +# modaliases = { +# 'subm': 'submfg $* &' +# } +sanity_check_paths = { + 'files': ['VERSION', 'bin/subm'], + 'dirs': ['bin', 'lib', 'com', 'autodoc', 'pylib', 'Plugins', 'man', 'SystemTemplate'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-fosscuda-2020b.eb b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-fosscuda-2020b.eb new file mode 100644 index 00000000000..1f1c6e82c8a --- /dev/null +++ b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5-fosscuda-2020b.eb @@ -0,0 +1,106 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04 +easyblock = 'ConfigureMake' + +name = 'IMOD' +version = '4.11.5' + +homepage = 'https://bio3d.colorado.edu/imod/' +description = """IMOD is a set of image processing, modeling and display +programs used for tomographic reconstruction and for 3D reconstruction of EM +serial sections and optical sections. The package contains tools for assembling +and aligning data within multiple types and sizes of image stacks, viewing 3-D +data from any orientation, and modeling and display of the image files. IMOD +was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim +Kremer, Quanren Xiong, and John Heumann at the University of Colorado.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'pic': True, 'openmp': True} +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +# download manually from mercurial repository and create source tarball: +# hg clone --debug http://bio3d.colorado.edu/imod/nightlyBuilds/IMOD +# get lunch +# cd IMOD +# hg update -r IMOD_4-11-5 +# cd .. +# tar czf IMOD-4.11.5.tar.gz IMOD +sources = [SOURCE_TAR_GZ] +# can't include a valid checksum, since tarball has to be created manually +patches = ['IMOD-%(version)s_fix-csvtohtml-py3.patch'] +checksums = [ + # can't include a valid checksum for source tarball, since it has to be created manually + None, # IMOD-4.11.5.tar.gz + '8ba0c3cbe30d755ab3fb918688982e818795b9f7f41218bd6bf231c85bea4971', # IMOD-4.11.5_fix-csvtohtml-py3.patch +] + +dependencies = [ + ('LibTIFF', '4.1.0'), + ('Qt5', '5.14.2'), + ('Java', '11', '', SYSTEM), + ('HDF5', '1.10.7'), + ('Python', '3.8.6'), +] + +# parallel build sometimes fails +parallel = 1 + +# replace hardcoded CUDA compute capabilitites in machines/rhlinux. +local_cuda_replace = 'echo %(cuda_cc_space_sep)s|sed "s/\\.//g"|' +local_cuda_replace += ' awk \'{' +local_cuda_replace += ' printf "-arch sm_"$1; ' +local_cuda_replace += ' for (i=1;i<=NF; i++){printf(" -gencode=arch=compute_%s,code=sm_%s",$i,$i) } ' +local_cuda_replace += ' }\'' +local_cudaarch_sed = 'sed -i "s/-arch sm_35/`' + local_cuda_replace + '`/g" machines/rhlinux &&' + +# modify all qmake pro files in order to pass CFLAGS +local_qmake_pass_cflags = "find -name *.pro -exec sed -i -e '$aQMAKE_CXXFLAGS += $$(CFLAGS)' {} \\; &&" + +# exports required for configure and build +local_exports = 'export QTDIR=$EBROOTQT5 &&' +local_exports += 'export HDF5_DIR=$EBROOTHDF5 &&' +local_exports += 'export QMAKESPEC=$EBROOTQT5/mkspecs/`qmake -query QMAKE_SPEC` &&' +local_exports += 'export CUDA_DIR=$CUDA_HOME &&' +# readw_or_imod.f and others with gfortran10: +# Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/INTEGER(2)) +# => set -fallow-argument-mismatch. Runs through without this option with GCC 8.3.0. +local_exports += 'export CFLAGS="$CFLAGS -fallow-argument-mismatch" &&' # required for gfortran10 + +preconfigopts = local_exports +preconfigopts += local_cudaarch_sed +preconfigopts += local_qmake_pass_cflags + +# IMOD's configure script is named setup and does not know the parameter --prefix, but -i. +# CFLAGs are passed with -flags. +configure_cmd = './setup ' +configure_cmd += '-flags "$CFLAGS" ' # inject CFLAGS +configure_cmd += '-i %(installdir)s ' # set installdir +configure_cmd += ' #' # avoid passing unknown arg --prefix + +prebuildopts = local_exports + +# create some missing directories required for installation process: +preinstallopts = 'mkdir %(installdir)s/{man/cat1,bin,autodoc,SystemTemplate,lib/imodplug,com,html,Plugins} -p &&' + +# patch hardcoded /usr/bin/python to use Python included as dependency +preinstallopts += "find pysrc -name '*.py' | xargs sed -i 's@^#!/usr/bin/python@#!/usr/bin/env python@g' && " +preinstallopts += "ls manpages/{csvtohtml,adocdefaults} | xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' && " +preinstallopts += "xargs sed -i 's@^#!.*/python -u@#!/usr/bin/env python@g' html/makeqhp && " + +modextravars = { + 'IMOD_DIR': "%(installdir)s", + 'IMOD_PLUGIN_DIR': '%(installdir)s/lib/imodplug', + 'IMOD_JAVADIR': '$JAVA_HOME', + 'FOR_DISABLE_STACK_TRACE': '1', +} +modloadmsg = 'Please set the environment variable $IMOD_CALIB_DIR if appropriate.' +# Observed problems with alias on a tcl based module system. Use bin/subm python script instead. +# modaliases = { +# 'subm': 'submfg $* &' +# } +sanity_check_paths = { + 'files': ['VERSION', 'bin/subm'], + 'dirs': ['bin', 'lib', 'com', 'autodoc', 'pylib', 'Plugins', 'man', 'SystemTemplate'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5_fix-csvtohtml-py3.patch b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5_fix-csvtohtml-py3.patch new file mode 100644 index 00000000000..868084826ef --- /dev/null +++ b/easybuild/easyconfigs/i/IMOD/IMOD-4.11.5_fix-csvtohtml-py3.patch @@ -0,0 +1,22 @@ +fix csvtohtml for use with Python 3 +author: Kenneth Hoste (HPC-UGent) +--- IMOD/manpages/csvtohtml.orig 2021-09-03 13:27:28.865210827 +0200 ++++ IMOD/manpages/csvtohtml 2021-09-03 13:27:34.320159119 +0200 +@@ -15,7 +15,7 @@ + return last + + import csv, sys +-sys.path.append('../pysrc') ++sys.path.insert(0, '../pysrc') + from imodpy import * + + insertTag = 'INSERT CSV FILE' +@@ -80,7 +80,7 @@ + inrows.append(row) + maxlen = min(maxUse, max(maxlen, len(row))) + +-print maxlen ++print(maxlen) + + for row in inrows: + lastNonEmpty = lastNonEmptyIndex(row) diff --git a/easybuild/easyconfigs/i/INTEGRATE-Neo/INTEGRATE-Neo-1.2.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/i/INTEGRATE-Neo/INTEGRATE-Neo-1.2.1-foss-2018b-Python-3.6.6.eb index abf9e6ec074..78711215507 100644 --- a/easybuild/easyconfigs/i/INTEGRATE-Neo/INTEGRATE-Neo-1.2.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/i/INTEGRATE-Neo/INTEGRATE-Neo-1.2.1-foss-2018b-Python-3.6.6.eb @@ -22,7 +22,7 @@ dependencies = [ ('Python', '3.6.6'), ('BWA', '0.7.17'), ('HLAminer', '1.4', '-Perl-5.28.0'), - ('netMHC', '4.0a', '', True), + ('netMHC', '4.0a', '', SYSTEM), ] start_dir = '%(name)s-V-%(version)s' diff --git a/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb b/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb new file mode 100644 index 00000000000..770777c7b5e --- /dev/null +++ b/easybuild/easyconfigs/i/IOR/IOR-3.3.0-gompi-2022a.eb @@ -0,0 +1,40 @@ +# 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 +# Author: Robert Mijakovic +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'IQ-TREE' +version = '2.1.3' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +# 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 = ['%(name)s-2.1.2_use_EB_LSD2.patch'] +checksums = [ + '38ec7cfa36bee9958aa806773156c445beac9f01082d3593188f20fbbbb06894', # v2.1.3.tar.gz + 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816', # IQ-TREE-2.1.2_use_EB_LSD2.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), +] +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.76.0'), + ('LSD2', '2.3'), +] + +local_conf_opts = ' -DUSE_LSD2=ON ' +configopts = [ + '-DIQTREE_FLAGS=omp' + local_conf_opts, + '-DIQTREE_FLAGS=mpi' + local_conf_opts, +] + +sanity_check_paths = { + 'files': ['bin/iqtree2', 'bin/iqtree2-mpi'], + 'dirs': [], +} + +sanity_check_commands = ["iqtree2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1-gompi-2021b.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1-gompi-2021b.eb new file mode 100644 index 00000000000..d87d337950e --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1-gompi-2021b.eb @@ -0,0 +1,57 @@ +# Updated to v2.1.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'IQ-TREE' +version = '2.2.1' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +# 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 = [ + '25d799201cb4a2c5484d4e53f2a58b2c25a1c5435e6316f87d2e7ae3605ee9bb', # v2.2.1.tar.gz + 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816', # IQ-TREE-2.1.2_use_EB_LSD2.patch + '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c', # IQ-TREE-2.2.1_fix-mpi.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Eigen', '3.3.9'), +] +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.77.0'), + ('LSD2', '2.3'), +] + +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", + "cd $TMPDIR/test-mpi && cp -a %(installdir)s/example.phy . && mpirun -np 1 iqtree2-mpi -s example.phy", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1_fix-mpi.patch b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1_fix-mpi.patch new file mode 100644 index 00000000000..9a6aee528b3 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.1_fix-mpi.patch @@ -0,0 +1,13 @@ +fix MPI compilation issues by not requiring that CLANG_UNDER_VS preprocessor symbol is defined to include mpi.h +author: Kenneth Hoste (HPC-UGent) +--- iqtree2-2.2.1/pll/genericParallelization.h.orig 2022-06-01 18:11:42.563407234 +0200 ++++ iqtree2-2.2.1/pll/genericParallelization.h 2022-06-01 18:10:02.554264000 +0200 +@@ -63,7 +63,7 @@ + /******************/ + /* MPI SPECIFIC */ + /******************/ +-#if defined(_FINE_GRAIN_MPI) || (defined(_IQTREE_MPI) && defined(CLANG_UNDER_VS)) ++#if defined(_FINE_GRAIN_MPI) || defined(_IQTREE_MPI) + #include + #ifdef DEBUG_MPI_EACH_SEND + #define DEBUG_PRINT(text, elem) printf(text, elem) diff --git a/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.3-gompi-2022a.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.3-gompi-2022a.eb new file mode 100644 index 00000000000..0ea0821beb2 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.3-gompi-2022a.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.3' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +# 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.3.tar.gz': 'fb15dfcdf63ce20f371763fff925804809f2fd5b7faaad1fb09a6f2bc7c2ba01'}, + {'IQ-TREE-2.1.2_use_EB_LSD2.patch': 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816'}, + {'IQ-TREE-2.2.1_fix-mpi.patch': '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('LSD2', '2.3'), +] + +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", + "cd $TMPDIR/test-mpi && cp -a %(installdir)s/example.phy . && mpirun -np 1 iqtree2-mpi -s example.phy", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022a.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022a.eb new file mode 100644 index 00000000000..9f8e8abad12 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022a.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.6' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +# 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.6.tar.gz': 'f5d10c033f2ed1c81bb473f572c7a9fe72a275a48e2e93ad74e5f1c3d32fa8b9'}, + {'IQ-TREE-2.1.2_use_EB_LSD2.patch': 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816'}, + {'IQ-TREE-2.2.1_fix-mpi.patch': '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('LSD2', '2.3'), +] + +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/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022b.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022b.eb new file mode 100644 index 00000000000..bc6834e8e80 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.2.2.6-gompi-2022b.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.6' + +# HTTPS is not working +homepage = 'http://www.iqtree.org/' +description = """Efficient phylogenomic software by maximum likelihood""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +# 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.6.tar.gz': 'f5d10c033f2ed1c81bb473f572c7a9fe72a275a48e2e93ad74e5f1c3d32fa8b9'}, + {'IQ-TREE-2.1.2_use_EB_LSD2.patch': 'daa2ab12d44e26eb5607c4ed6acb9d970e230a83dabcf21461f37bc48263b816'}, + {'IQ-TREE-2.2.1_fix-mpi.patch': '9ead6808efd11d4c01dd265cca6094cffd6377746d3b2fc84b43d2faeee0777c'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.81.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/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/IQ-TREE/IQ-TREE-2.3.5-gompi-2023a.eb b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.3.5-gompi-2023a.eb new file mode 100644 index 00000000000..ca4c707da69 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.3.5-gompi-2023a.eb @@ -0,0 +1,55 @@ +# Updated to v2.1.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'IQ-TREE' +version = '2.3.5' + +# 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/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'IQ-TREE-2.3.5_use_EB_LSD2.patch', +] +checksums = [ + {'v2.3.5.tar.gz': '8e323e0b7c46e97901d3500f11e810703e0e5d25848188047eca9602d03fa6b1'}, + {'IQ-TREE-2.3.5_use_EB_LSD2.patch': 'b4578b01f06ae52b94b332622c0f6630497cd29cb61010f58f7c5018c2c32a5f'}, +] + +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/IQ-TREE/IQ-TREE-2.3.5_use_EB_LSD2.patch b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.3.5_use_EB_LSD2.patch new file mode 100644 index 00000000000..b567f096fa9 --- /dev/null +++ b/easybuild/easyconfigs/i/IQ-TREE/IQ-TREE-2.3.5_use_EB_LSD2.patch @@ -0,0 +1,36 @@ +diff -ruN iqtree2-2.3.5/CMakeLists.txt iqtree2-2.3.5-orig/CMakeLists.txt +--- iqtree2-2.3.5/CMakeLists.txt 2024-06-26 04:33:33.000000000 +0000 ++++ iqtree2-2.3.5-orig/CMakeLists.txt 2024-07-03 08:23:41.030462539 +0000 +@@ -758,10 +758,6 @@ + add_subdirectory(terracetphast) + endif() + +-if (USE_LSD2) +- add_subdirectory(lsd2) +-endif() +- + add_library(kernelsse tree/phylokernelsse.cpp) + + if (NOT BINARY32 AND NOT IQTREE_FLAGS MATCHES "novx") +@@ -820,9 +816,6 @@ + if (USE_TERRAPHAST) + set_target_properties(terracetphast terraphast PROPERTIES COMPILE_FLAGS "${SSE_FLAGS}") + endif() +- if (USE_LSD2) +- set_target_properties(lsd2 PROPERTIES COMPILE_FLAGS "${SSE_FLAGS}") +- endif() + if (USE_BOOSTER) + set_target_properties(booster PROPERTIES COMPILE_FLAGS "${SSE_FLAGS}") + endif() +diff -ruN iqtree2-2.3.5/main/timetree.cpp iqtree2-2.3.5-orig/main/timetree.cpp +--- iqtree2-2.3.5/main/timetree.cpp 2024-06-26 04:33:33.000000000 +0000 ++++ iqtree2-2.3.5-orig/main/timetree.cpp 2024-07-03 08:24:32.438606710 +0000 +@@ -8,7 +8,7 @@ + #include "timetree.h" + + #ifdef USE_LSD2 +-#include "lsd2/src/lsd.h" ++#include "lsd.h" + #endif + + /** map from taxon name to date */ diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb index fe42a2e870a..515926174ff 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2019b-R-3.6.2-Python-3.7.4.eb @@ -44,7 +44,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel local_kerneldir = '%(installdir)s/IRkernel' @@ -53,8 +56,6 @@ postinstallcmds = [ 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir) ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb index db893db1a39..68c33b16ff9 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-foss-2020a-R-3.6.3-Python-3.8.2.eb @@ -45,7 +45,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel # We start the kernel with default bitmapType 'cairo'. This is a more sensible default @@ -58,8 +61,6 @@ postinstallcmds = [ ' %s/kernels/ir/kernel.json') % local_kerneldir ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb index 32f9762476c..c9b0e435d6c 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.1-fosscuda-2019b-R-3.6.2-Python-3.7.4.eb @@ -44,7 +44,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel local_kerneldir = '%(installdir)s/IRkernel' @@ -53,8 +56,6 @@ postinstallcmds = [ 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir) ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb index 51142541134..6aba48fcb51 100644 --- a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2020a-R-4.0.0-Python-3.8.2.eb @@ -45,7 +45,10 @@ exts_list = [ }), ] -modextrapaths = {'R_LIBS_SITE': ''} +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} # IPython notebook looks for the json kernel file in kernels/IRkernel # We start the kernel with default bitmapType 'cairo'. This is a more sensible default @@ -58,8 +61,6 @@ postinstallcmds = [ ' %s/kernels/ir/kernel.json') % local_kerneldir ] -modextravars = {'JUPYTER_PATH': local_kerneldir} - sanity_check_paths = { 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], 'dirs': [name], diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..33da48260c8 --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.2-foss-2021a-R-4.1.0.eb @@ -0,0 +1,69 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('R', '4.1.0'), + ('Python', '3.9.5'), + ('IPython', '7.25.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('repr', '1.1.3', { + 'checksums': ['531b43d413b51cbc96e3b9162493c975d9395bb9532e500ad51cd99b36a53562'], + }), + ('IRdisplay', '1.0', { + 'checksums': ['8967ec58656ede561d20ab07dd9ef27de088c0ea099e325242b3860a63964b96'], + }), + ('pbdZMQ', '0.3-5', { + 'checksums': ['4d8088b3365d612a661f0078bcba50357cb3a7ec04a699348b4312fd6fd811ed'], + }), + (name, version, { + 'checksums': ['5fb4dbdb741d05043120a8be0eb73f054b607d9854f314bd79cfec08d219ff91'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3-foss-2021b-R-4.2.0.eb new file mode 100644 index 00000000000..3e23b19870d --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3-foss-2021b-R-4.2.0.eb @@ -0,0 +1,69 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.2.0'), + ('Python', '3.9.6'), + ('IPython', '7.26.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('repr', '1.1.4', { + 'checksums': ['6f799ca83e0940618dd8c22e62ffdce5ec11ba3366c5306ae58b55b53c097040'], + }), + ('IRdisplay', '1.1', { + 'checksums': ['83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b'], + }), + ('pbdZMQ', '0.3-7', { + 'checksums': ['df2d2be14b2f57a64d76cdda4c01fd1c3d9aa12221c63524c01c71849df11808'], + }), + (name, version, { + 'checksums': ['5a7fcbfd978dfb3cca6702a68a21c147551995fc400084ae8382ffcbbdae1903'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..1e1a3e3a625 --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,69 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('repr', '1.1.5', { + 'checksums': ['8cc9071446553affbdf58f9106f34c409d797cbda20b3cdf6b95350dd2095efa'], + }), + ('IRdisplay', '1.1', { + 'checksums': ['83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b'], + }), + ('pbdZMQ', '0.3-9', { + 'checksums': ['d033238d0a9810581f6b40c7c75263cfc495a585653bbff98e957c37954e0fb6'], + }), + (name, version, { + 'checksums': ['e1c6d8bddc23e5039dd9c537feb371f937d60028fb753b90345698c58ae424a6'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..43953215612 --- /dev/null +++ b/easybuild/easyconfigs/i/IRkernel/IRkernel-1.3.2-gfbf-2023a-R-4.3.2.eb @@ -0,0 +1,72 @@ +easyblock = 'Bundle' + +name = 'IRkernel' +version = '1.3.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://irkernel.github.io' +description = """The R kernel for the 'Jupyter' environment executes R code + which the front-end (Jupyter Notebook or other front-ends) submits to the + kernel via the network.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('ZeroMQ', '4.3.4'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('uuid', '1.1-1', { + 'checksums': ['1611240eb706e6f53400b25c9cf792ad90f151b72ed0918a1e756997f7abb716'], + }), + ('repr', '1.1.7', { + 'checksums': ['73bd696b4d4211096e0d1e382d5ce6591527d2ff400cc7ae8230f0235eed021b'], + }), + ('IRdisplay', '1.1', { + 'checksums': ['83eb030ff91f546cb647899f8aa3f5dc9fe163a89a981696447ea49cc98e8d2b'], + }), + ('pbdZMQ', '0.3-11', { + 'checksums': ['da7e204d857370201f75a05fbd808a2f409d440cc96855bb8f48f4a5dd75405b'], + }), + (name, version, { + 'checksums': ['e1c6d8bddc23e5039dd9c537feb371f937d60028fb753b90345698c58ae424a6'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', + 'JUPYTER_PATH': '%(name)s' +} + +# IPython notebook looks for the json kernel file in kernels/IRkernel +# We start the kernel with default bitmapType 'cairo'. This is a more sensible default +# for headless nodes. See https://github.com/IRkernel/IRkernel/issues/388 +local_kerneldir = '%(installdir)s/IRkernel' +postinstallcmds = [ + 'mkdir -p %s/kernels/ir' % local_kerneldir, + 'cp %s/kernelspec/* %s/kernels/ir' % (local_kerneldir, local_kerneldir), + ('sed -i \'s/"IRkernel::main()"/"options(bitmapType=\\x27cairo\\x27); IRkernel::main()"/g\'' + ' %s/kernels/ir/kernel.json') % local_kerneldir +] + +sanity_check_paths = { + 'files': ['%s/kernels/ir/kernel.json' % local_kerneldir], + 'dirs': [name], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..df76b6b84fa --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.2.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20200321'), + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +dependencies = [('NASM', '2.15.05')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +_bins = ['bin/igzip'] +_includes = ['include/%(namelower)s.h'] +_includes += ['include/isa-l/%s.h' % i for i in ['crc64', 'crc', 'erasure_code', 'gf_vect_mul', 'igzip_lib', + 'mem_routines', 'raid', 'test', 'types']] +_libs = ['lib/libisal.%s' % l for l in ['a', 'la', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _bins + _includes + _libs, + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = [ + "igzip --help", + "igzip --version", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..943166392af --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20210128'), + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [('NASM', '2.15.05')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +_bins = ['bin/igzip'] +_includes = ['include/%(namelower)s.h'] +_includes += ['include/isa-l/%s.h' % i for i in ['crc64', 'crc', 'erasure_code', 'gf_vect_mul', 'igzip_lib', + 'mem_routines', 'raid', 'test', 'types']] +_libs = ['lib/libisal.%s' % l for l in ['a', 'la', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _bins + _includes + _libs, + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = [ + "igzip --help", + "igzip --version", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..319c7856561 --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [('NASM', '2.15.05')] + +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', 'types']] +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/ISA-L/ISA-L-2.30.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c547fdfabd7 --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [('NASM', '2.15.05')] + +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', 'types']] +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/ISA-L/ISA-L-2.30.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e8130fe40ec --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [('NASM', '2.15.05')] + +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', 'types']] +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/ISA-L/ISA-L-2.30.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2ab89e8f71e --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.30.0-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'ISA-L' +version = '2.30.0' + +homepage = 'https://github.com/intel/isa-l' +description = "Intelligent Storage Acceleration Library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +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', 'types']] +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/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/ISA-L/ISA-L-2.31.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.31.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1e79d2b10db --- /dev/null +++ b/easybuild/easyconfigs/i/ISA-L/ISA-L-2.31.0-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +# 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.3.0'} + +github_account = 'intel' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e218b7b2e241cfb8e8b68f54a6e5eed80968cc387c4b1af03708b54e9fb236f1'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] +dependencies = [('NASM', '2.16.03')] + +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/ISCE2/ISCE2-2.6.3-foss-2023a.eb b/easybuild/easyconfigs/i/ISCE2/ISCE2-2.6.3-foss-2023a.eb new file mode 100644 index 00000000000..ceae2b31949 --- /dev/null +++ b/easybuild/easyconfigs/i/ISCE2/ISCE2-2.6.3-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'ISCE2' +version = '2.6.3' + +homepage = 'https://github.com/isce-framework/isce2' +description = """ISCE is a framework designed for the purpose of processing Interferometric Synthetic + Aperture Radar (InSAR) data. The framework aspects of it have been designed as a general software + development framework. It may have additional utility in a general sense for building other + types of software packages. In its InSAR aspect ISCE supports data from many space-borne + satellites and one air-borne platform.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/isce-framework/isce2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['13fd55ffcadcdd723b61053241d5e49905157b0b0ac6ed8532e4faccaa6d77f1'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('FFTW', '3.3.10'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Cython', '3.0.8'), + ('GDAL', '3.7.1'), + ('motif', '2.3.8'), + ('OpenCV', '4.8.1', '-contrib'), + ('pybind11', '2.11.1'), +] + +fix_python_shebang_for = ['bin/*.py'] + +modextrapaths = {'PYTHONPATH': 'packages'} + +sanity_check_paths = { + 'files': ['bin/stripmapApp.py'], + 'dirs': ['packages'], +} + +sanity_check_commands = [ + "python -c 'import isce'", + "stripmapApp.py --help 2>&1 | grep 'ISCE VERSION = %(version)s'", +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6138d673f70 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.24' + +homepage = 'http://isl.gforge.inria.fr/' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://isl.gforge.inria.fr/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'] + +builddependencies = [('binutils', '2.37')] +dependencies = [('GMP', '6.2.1')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0ff69001149 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.24-GCCcore-11.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.24' + +homepage = 'http://isl.gforge.inria.fr/' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://isl.gforge.inria.fr/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0'] + +builddependencies = [('binutils', '2.38')] +dependencies = [('GMP', '6.2.1')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2d70b546fc5 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.26' + +homepage = 'https://libisl.sourceforge.io' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://libisl.sourceforge.io'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'] + +builddependencies = [('binutils', '2.39')] +dependencies = [('GMP', '6.2.1')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..131df5b488a --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-12.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.26' + +homepage = 'https://libisl.sourceforge.io' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://libisl.sourceforge.io'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('GMP', '6.2.1')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0454bbaa21d --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.26' + +homepage = 'https://libisl.sourceforge.io' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://libisl.sourceforge.io'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('GMP', '6.3.0')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2f2eb41a3a0 --- /dev/null +++ b/easybuild/easyconfigs/i/ISL/ISL-0.26-GCCcore-13.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'ISL' +version = '0.26' + +homepage = 'https://libisl.sourceforge.io' +description = "isl is a library for manipulating sets and relations of integer points bounded by linear constraints." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://libisl.sourceforge.io'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('GMP', '6.3.0')] + +sanity_check_paths = { + 'files': ['lib/libisl.%s' % SHLIB_EXT, 'lib/libisl.a'], + 'dirs': ['include/isl'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.12.2-foss-2016b-Python-2.7.12.eb b/easybuild/easyconfigs/i/ITK/ITK-4.12.2-foss-2016b-Python-2.7.12.eb index f3fc7b1e120..6b3e12cf9ee 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.12.2-foss-2016b-Python-2.7.12.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.12.2-foss-2016b-Python-2.7.12.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.12.2' @@ -6,7 +6,7 @@ versionsuffix = '-Python-%(pyver)s' homepage = 'https://itk.org' description = """Insight Segmentation and Registration Toolkit (ITK) provides - an extensive suite of software tools for registering and segmenting + an extensive suite of software tools for registering and segmenting multidimensional imaging data.""" toolchain = {'name': 'foss', 'version': '2016b'} @@ -14,7 +14,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/InsightSoftwareConsortium/ITK/releases/download/v%(version)s/'] sources = ['InsightToolkit-%(version)s.tar.gz'] -checksums = ['8ba2183111723c4405af80724c60d07484c2bff8120ee4cef543bb726d07855e'] +patches = ['ITK-4.12.2_update-download-URLs.patch'] +checksums = [ + '8ba2183111723c4405af80724c60d07484c2bff8120ee4cef543bb726d07855e', # InsightToolkit-4.12.2.tar.gz + '73f8588b4a0c7595c654ecebb1030158a27d1b18c2a461560d6b188b5f89102d', # ITK-4.12.2_update-download-URLs.patch +] builddependencies = [ ('CMake', '3.7.1'), @@ -30,25 +34,26 @@ dependencies = [ ('X11', '20160819') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "export LC_ALL=C && " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.12.2_update-download-URLs.patch b/easybuild/easyconfigs/i/ITK/ITK-4.12.2_update-download-URLs.patch new file mode 100644 index 00000000000..fcda0ce99c0 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-4.12.2_update-download-URLs.patch @@ -0,0 +1,211 @@ +From 716fe079a6fad64f63f1166c7cb1565acef982ee Mon Sep 17 00:00:00 2001 +From: Matt McCormick +Date: Wed, 6 Jun 2018 11:32:18 -0400 +Subject: [PATCH] BUG: Migrate midas3.kitware.com to data.kitware.com + +midas3.kitware.com is deprecated. + +Change-Id: Iba445e27b6c0f136cc6c5a361c088075dfa1facb + + +Backported to 4.12.2 +Author (backport): Alexander Grund (TU Dresden) + +diff --git a/CMake/ITKExternalData.cmake b/CMake/ITKExternalData.cmake +index a97d725922..4e2dcd2965 100644 +--- a/CMake/ITKExternalData.cmake ++++ b/CMake/ITKExternalData.cmake +@@ -37,9 +37,6 @@ if(NOT ITK_FORBID_DOWNLOADS) + # Data published on Girder + "https://data.kitware.com:443/api/v1/file/hashsum/%(algo)/%(hash)/download" + +- # Data published on MIDAS +- "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=%(hash)&algorithm=%(algo)" +- + # Data published by developers using git-gerrit-push. + "https://itk.org/files/ExternalData/%(algo)/%(hash)" + +diff --git a/CMake/itkExternal_FFTW.cmake b/CMake/itkExternal_FFTW.cmake +index 7b44f0d68c..bcfae61c2e 100644 +--- a/CMake/itkExternal_FFTW.cmake ++++ b/CMake/itkExternal_FFTW.cmake +@@ -82,15 +82,15 @@ else() + endif() + + set(_fftw_target_version 3.3.4) +- set(_fftw_url_md5 "2edab8c06b24feeb3b82bbb3ebf3e7b3") +- set(_fftw_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_fftw_url_md5}&name=fftw-${_fftw_target_version}.tar.gz") ++ set(_fftw_url_hash "1ee2c7bec3657f6846e63c6dfa71410563830d2b951966bf0123bd8f4f2f5d6b50f13b76d9a7b0eae70e44856f829ca6ceb3d080bb01649d1572c9f3f68e8eb1") ++ set(_fftw_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_fftw_url_hash}/download") + + if(ITK_USE_FFTWF) + itk_download_attempt_check(FFTW) + ExternalProject_add(fftwf + PREFIX fftwf + URL "${_fftw_url}" +- URL_MD5 "${_fftw_url_md5}" ++ URL_HASH SHA512="${_fftw_url_hash}" + DOWNLOAD_NAME "fftw-${_fftw_target_version}.tar.gz" + CONFIGURE_COMMAND + env +@@ -118,7 +118,7 @@ else() + ExternalProject_add(fftwd + PREFIX fftwd + URL "${_fftw_url}" +- URL_MD5 "${_fftw_url_md5}" ++ URL_HASH SHA512="${_fftw_url_hash}" + DOWNLOAD_NAME "fftw-${_fftw_target_version}.tar.gz" + CONFIGURE_COMMAND + env +diff --git a/Utilities/Maintenance/JREUpdate.py b/Utilities/Maintenance/JREUpdate.py +index 09bb5d37f2..2026ec7a7d 100755 +--- a/Utilities/Maintenance/JREUpdate.py ++++ b/Utilities/Maintenance/JREUpdate.py +@@ -10,8 +10,8 @@ plugin "just works". + The Fiji fellows maintain Git repositories that tracks the OpenJDK JRE. + Here we clone that repository and create the JRE tarball from it. + +-Currently, the tarball needs to be uploaded manually to midas3.kitware.com. +-In the future, pydas can be used for automatic upload. ++Currently, the tarball needs to be uploaded manually to data.kitware.com. ++In the future, the Python girder client can be used for automatic upload. + """ + + from __future__ import print_function +diff --git a/Utilities/Maintenance/SourceTarball.bash b/Utilities/Maintenance/SourceTarball.bash +index 1c0335674e..221d88813b 100755 +--- a/Utilities/Maintenance/SourceTarball.bash ++++ b/Utilities/Maintenance/SourceTarball.bash +@@ -57,7 +57,7 @@ download_object() { + algo="$1" ; hash="$2" ; path="$3" + mkdir -p $(dirname "$path") && + if wget "https://www.itk.org/files/ExternalData/$algo/$hash" -O "$path.tmp$$" 1>&2 || \ +- wget "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${hash}&algorithm=${algo}" -O "$path.tmp$$" 1>&2; then ++ wget "https://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=${hash}&algorithm=${algo}" -O "$path.tmp$$" 1>&2; then + mv "$path.tmp$$" "$path" + else + rm -f "$path.tmp$$" +diff --git a/Wrapping/Generators/CastXML/CMakeLists.txt b/Wrapping/Generators/CastXML/CMakeLists.txt +index f15d0cce01..f4f698b78a 100644 +--- a/Wrapping/Generators/CastXML/CMakeLists.txt ++++ b/Wrapping/Generators/CastXML/CMakeLists.txt +@@ -25,23 +25,22 @@ else() + # If 64 bit Linux build host, use the CastXML binary + if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") + +- set(_castxml_hash 48d812ca105d7aa10fdc2d16678f7388) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-linux.tar.gz") ++ set(_castxml_hash 1e0f51ab98592ac9934bb1c93040fd473519a02d1e3ce0090443f4f3566eb8354eb3e5bd04a2c91d832d33d0d712363c508bd2304da34db9963787890808ec9e) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + # If 64 bit Windows build host, use the CastXML binary + elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64") + +- set(_castxml_hash dd0cf24fd9d9a06ed49189f11e72c9f0) +- set(_castxml_url https://midas3.kitware.com/midas/download/bitstream/460537/castxml-windows.zip) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-windows.zip") ++ set(_castxml_hash 1c379ea91f4c0d9b8127d841edee7c415fdde40665a2a3682aef22def75bd1cea99d26bb3b1b243e61e976d78233ed12a2614236e76206d1ae083583f4bc17ea) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + # If 64 bit Mac OS X build host ( >= 10.9, Mavericks), use the CastXML binary + elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64" AND (NOT CMAKE_HOST_SYSTEM_VERSION VERSION_LESS "13.0.0")) + +- set(_castxml_hash 5de72fb4970513f805457db9a2c4e6a3) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-macosx.tar.gz") ++ set(_castxml_hash 2fa32cd083ed901499774eb34249c70c2d32a93c55e27dbb62f5ec3c7386ab6745dbbad78c653a0909b05b5d965839ec31ad9fca294cc0b7af9dfc15e2a7e063) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + endif() +@@ -53,7 +52,7 @@ else() + endif() + ExternalProject_Add(castxml + URL ${_castxml_url} +- URL_MD5 ${_castxml_hash} ++ URL_HASH SHA512=${_castxml_hash} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/castxml-prefix/src/castxml" "${CMAKE_CURRENT_BINARY_DIR}/castxml" +@@ -98,9 +97,10 @@ else() + itk_download_attempt_check(Clang) + endif() + set(llvm_version 3.7.0) ++ set(llvm_hash 57b5ded48d777f10f26963a4) + ExternalProject_Add(llvm +- URL https://midas3.kitware.com/midas/download/bitstream/457222/llvm-${llvm_version}.src.tar.gz +- URL_MD5 255939e1ba0a40d687a683e41323baca ++ URL "https://data.kitware.com/api/v1/file/${llvm_hash}/download" ++ URL_HASH MD5=${llvm_hash} + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm-${llvm_version} + CMAKE_ARGS -Wno-dev + CMAKE_GENERATOR "${CMAKE_GENERATOR}" +@@ -113,12 +113,13 @@ else() + -DLLVM_INCLUDE_DOCS:BOOL=OFF + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm + ) ++ set(clang_hash 57b5dec48d777f10f2696395) + ExternalProject_Add(clang + # This is the upstream source code repackages in a .tar.gz for + # compatibility with older CMake. Also the tests/ and doc/ directories + # are removed to remove symlink files and save space. +- URL https://midas3.kitware.com/midas/download/bitstream/457221/cfe-${llvm_version}.src.tar.gz +- URL_MD5 d4290cab76f44be2d38631f819b8c2ec ++ URL "https://data.kitware.com/api/v1/file/${clang_hash}/download" ++ URL_HASH_MD5=${clang_hash} + DEPENDS llvm + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/cfe-${llvm_version} + CMAKE_ARGS -Wno-dev +diff --git a/Wrapping/Generators/SwigInterface/CMakeLists.txt b/Wrapping/Generators/SwigInterface/CMakeLists.txt +index b92cf8cb83..cd27f7a41b 100644 +--- a/Wrapping/Generators/SwigInterface/CMakeLists.txt ++++ b/Wrapping/Generators/SwigInterface/CMakeLists.txt +@@ -24,8 +24,8 @@ mark_as_advanced(ITK_USE_SYSTEM_SWIG) + set(swig_version_min 3.0.0) + + set(ITK_SWIG_VERSION 3.0.12) +-set(swig_md5 "82133dfa7bba75ff9ad98a7046be687c") +-set(swigwin_md5 "a49524dad2c91ae1920974e7062bfc93") ++set(swig_hash "85605bd98bf2b56f5bfca23ae23d76d764d76a174b05836c8686825e912d6326c370e9cf2134c0bf4f425560be103b16bf9c9d075077f52e713a69082616e906") ++set(swigwin_hash "90734503b9c3cd54c3351182d116d100fdcb379fe2e4a510264f81f1e07d5035c778416c665b1fbeeeea56e8aec55af27c53c7f4b082ff54d4fc3a6c0cd382a8") + + if(WIN32) + set(swig_ep "${CMAKE_CURRENT_BINARY_DIR}/swigwin-${ITK_SWIG_VERSION}/swig.exe") +@@ -68,8 +68,8 @@ else() + itk_download_attempt_check(SWIG) + endif() + ExternalProject_Add(swig +- URL "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${swigwin_md5}&name=swigwin-${ITK_SWIG_VERSION}.zip" +- URL_MD5 ${swigwin_md5} ++ URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${swigwin_hash}/download" ++ URL_HASH SHA512=${swigwin_hash} + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/swigwin-${SWIG_VERSION} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" +@@ -141,11 +141,10 @@ else() + install + ) + endif() +- set(pcre_md5 890c808122bd90f398e6bc40ec862102) +- set(pcre_version 8.40) ++ set(pcre_hash f919957ce6e1f52b5579faa7fccfe192944884dc56ad831ebb3e3787f752fe2f14567fe302d884fa86900018e92b758e4589406f7e8d7af1baa2a1d6add40865) + ExternalProject_Add(PCRE +- URL "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${pcre_md5}&name=pcre-${pcre_version}.tar.gz" +- URL_MD5 ${pcre_md5} ++ URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${pcre_hash}/download" ++ URL_HASH SHA512=${pcre_hash} + CONFIGURE_COMMAND + ${pcre_env} + ../PCRE/configure +@@ -245,8 +244,8 @@ message(STATUS \"Swig configure successfully completed.\") + endif() + + ExternalProject_Add(swig +- URL "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${swig_md5}&name=swig-${ITK_SWIG_VERSION}.tar.gz" +- URL_MD5 ${swig_md5} ++ URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${swig_hash}/download" ++ URL_HASH SHA512=${swig_hash} + CONFIGURE_COMMAND + ${extra_swig_configure_env} ${CMAKE_COMMAND} -P "${_swig_configure_script}" + ${extra_external_project_commands} diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-2.7.14.eb index c983270e9ea..9a879ce0860 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-2.7.14.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.0' @@ -14,7 +14,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/InsightSoftwareConsortium/ITK/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['37122d65b89699df33f34e0859f1e7adf5a6222060dc1c47383ff7aa4531223a'] +patches = ['ITK-4.13.0_update-download-URLs.patch'] +checksums = [ + '37122d65b89699df33f34e0859f1e7adf5a6222060dc1c47383ff7aa4531223a', # v4.13.0.tar.gz + 'a05c883634077de177af09f166bad7cfcd73bfebec671394299a08a55e109bc0', # ITK-4.13.0_update-download-URLs.patch +] builddependencies = [ ('CMake', '3.10.2'), @@ -30,25 +34,26 @@ dependencies = [ ('X11', '20180131') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "export LC_ALL=C && " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-3.6.4.eb index 31bc442fec8..5cf0c0a4a9d 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.0-foss-2018a-Python-3.6.4.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.0' @@ -14,7 +14,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/InsightSoftwareConsortium/ITK/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['37122d65b89699df33f34e0859f1e7adf5a6222060dc1c47383ff7aa4531223a'] +patches = ['ITK-4.13.0_update-download-URLs.patch'] +checksums = [ + '37122d65b89699df33f34e0859f1e7adf5a6222060dc1c47383ff7aa4531223a', # v4.13.0.tar.gz + 'a05c883634077de177af09f166bad7cfcd73bfebec671394299a08a55e109bc0', # ITK-4.13.0_update-download-URLs.patch +] builddependencies = [ ('CMake', '3.10.2'), @@ -30,25 +34,26 @@ dependencies = [ ('X11', '20180131') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "export LC_ALL=C && " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.0_update-download-URLs.patch b/easybuild/easyconfigs/i/ITK/ITK-4.13.0_update-download-URLs.patch new file mode 100644 index 00000000000..ab20a7f7fd4 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.0_update-download-URLs.patch @@ -0,0 +1,151 @@ +From 716fe079a6fad64f63f1166c7cb1565acef982ee Mon Sep 17 00:00:00 2001 +From: Matt McCormick +Date: Wed, 6 Jun 2018 11:32:18 -0400 +Subject: [PATCH] BUG: Migrate midas3.kitware.com to data.kitware.com + +midas3.kitware.com is deprecated. + +Change-Id: Iba445e27b6c0f136cc6c5a361c088075dfa1facb +--- + CMake/ITKExternalData.cmake | 3 --- + CMake/itkExternal_FFTW.cmake | 8 +++--- + Documentation/Release.md | 2 +- + Utilities/Maintenance/JREUpdate.py | 4 +-- + Utilities/Maintenance/SourceTarball.bash | 2 +- + Wrapping/Generators/CastXML/CMakeLists.txt | 27 +++++++++---------- + .../Generators/SwigInterface/CMakeLists.txt | 19 +++++++------ + 7 files changed, 30 insertions(+), 35 deletions(-) + +diff --git a/CMake/ITKExternalData.cmake b/CMake/ITKExternalData.cmake +index a97d725922c..4e2dcd29651 100644 +--- a/CMake/ITKExternalData.cmake ++++ b/CMake/ITKExternalData.cmake +@@ -37,9 +37,6 @@ if(NOT ITK_FORBID_DOWNLOADS) + # Data published on Girder + "https://data.kitware.com:443/api/v1/file/hashsum/%(algo)/%(hash)/download" + +- # Data published on MIDAS +- "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=%(hash)&algorithm=%(algo)" +- + # Data published by developers using git-gerrit-push. + "https://itk.org/files/ExternalData/%(algo)/%(hash)" + +diff --git a/CMake/itkExternal_FFTW.cmake b/CMake/itkExternal_FFTW.cmake +index 7b44f0d68cb..bcfae61c2ec 100644 +--- a/CMake/itkExternal_FFTW.cmake ++++ b/CMake/itkExternal_FFTW.cmake +@@ -82,15 +82,15 @@ else() + endif() + + set(_fftw_target_version 3.3.4) +- set(_fftw_url_md5 "2edab8c06b24feeb3b82bbb3ebf3e7b3") +- set(_fftw_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_fftw_url_md5}&name=fftw-${_fftw_target_version}.tar.gz") ++ set(_fftw_url_hash "1ee2c7bec3657f6846e63c6dfa71410563830d2b951966bf0123bd8f4f2f5d6b50f13b76d9a7b0eae70e44856f829ca6ceb3d080bb01649d1572c9f3f68e8eb1") ++ set(_fftw_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_fftw_url_hash}/download") + + if(ITK_USE_FFTWF) + itk_download_attempt_check(FFTW) + ExternalProject_add(fftwf + PREFIX fftwf + URL "${_fftw_url}" +- URL_MD5 "${_fftw_url_md5}" ++ URL_HASH SHA512="${_fftw_url_hash}" + DOWNLOAD_NAME "fftw-${_fftw_target_version}.tar.gz" + CONFIGURE_COMMAND + env +@@ -118,7 +118,7 @@ else() + ExternalProject_add(fftwd + PREFIX fftwd + URL "${_fftw_url}" +- URL_MD5 "${_fftw_url_md5}" ++ URL_HASH SHA512="${_fftw_url_hash}" + DOWNLOAD_NAME "fftw-${_fftw_target_version}.tar.gz" + CONFIGURE_COMMAND + env +diff --git a/Utilities/Maintenance/SourceTarball.bash b/Utilities/Maintenance/SourceTarball.bash +index 1c0335674e2..221d88813bc 100755 +--- a/Utilities/Maintenance/SourceTarball.bash ++++ b/Utilities/Maintenance/SourceTarball.bash +@@ -57,7 +57,7 @@ download_object() { + algo="$1" ; hash="$2" ; path="$3" + mkdir -p $(dirname "$path") && + if wget "https://www.itk.org/files/ExternalData/$algo/$hash" -O "$path.tmp$$" 1>&2 || \ +- wget "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${hash}&algorithm=${algo}" -O "$path.tmp$$" 1>&2; then ++ wget "https://slicer.kitware.com/midas3/api/rest?method=midas.bitstream.download&checksum=${hash}&algorithm=${algo}" -O "$path.tmp$$" 1>&2; then + mv "$path.tmp$$" "$path" + else + rm -f "$path.tmp$$" +diff --git a/Wrapping/Generators/CastXML/CMakeLists.txt b/Wrapping/Generators/CastXML/CMakeLists.txt +index f0254b2f4e6..efa83e0325f 100644 +--- a/Wrapping/Generators/CastXML/CMakeLists.txt ++++ b/Wrapping/Generators/CastXML/CMakeLists.txt +@@ -25,23 +25,22 @@ else() + # If 64 bit Linux build host, use the CastXML binary + if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") + +- set(_castxml_hash 84c2851a4df419b5834114bbfafa8d3e) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-linux.tar.gz") ++ set(_castxml_hash 1e0f51ab98592ac9934bb1c93040fd473519a02d1e3ce0090443f4f3566eb8354eb3e5bd04a2c91d832d33d0d712363c508bd2304da34db9963787890808ec9e) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + # If 64 bit Windows build host, use the CastXML binary + elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64") + +- set(_castxml_hash b862fcc384b496c0d9a39dea0386454a) +- set(_castxml_url https://midas3.kitware.com/midas/download/bitstream/460537/castxml-windows.zip) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-windows.zip") ++ set(_castxml_hash 1c379ea91f4c0d9b8127d841edee7c415fdde40665a2a3682aef22def75bd1cea99d26bb3b1b243e61e976d78233ed12a2614236e76206d1ae083583f4bc17ea) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + # If 64 bit Mac OS X build host ( >= 10.9, Mavericks), use the CastXML binary + elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64" AND (NOT CMAKE_HOST_SYSTEM_VERSION VERSION_LESS "13.0.0")) + +- set(_castxml_hash e784aa985f59f57f4d71339bd60e27a8) +- set(_castxml_url "https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${_castxml_hash}&name=castxml-macosx.tar.gz") ++ set(_castxml_hash 2fa32cd083ed901499774eb34249c70c2d32a93c55e27dbb62f5ec3c7386ab6745dbbad78c653a0909b05b5d965839ec31ad9fca294cc0b7af9dfc15e2a7e063) ++ set(_castxml_url "https://data.kitware.com/api/v1/file/hashsum/sha512/${_castxml_hash}/download") + set(_download_castxml_binaries 1) + + endif() +@@ -53,7 +52,7 @@ else() + endif() + ExternalProject_Add(castxml + URL ${_castxml_url} +- URL_MD5 ${_castxml_hash} ++ URL_HASH SHA512=${_castxml_hash} + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/castxml-prefix/src/castxml" "${CMAKE_CURRENT_BINARY_DIR}/castxml" +@@ -98,10 +97,10 @@ else() + itk_download_attempt_check(Clang) + endif() + set(llvm_version 5.0.0) +- set(llvm_md5 e3782305ff4a60ad9bbc3a926425786f) ++ set(llvm_hash a65412cb45c73f73fcdef8016d3538114c1d0d1c6a5ed030a20e5049a6582b7926f184f2a3c065550e92e8ac27743bbf1a87b76be85949c0114d0320264018bd) + ExternalProject_Add(llvm +- URL https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${llvm_md5}&name=llvm-${llvm_version}.src.tar.gz +- URL_MD5 ${llvm_md5} ++ URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${llvm_hash}/download" ++ URL_HASH SHA512=${llvm_hash} + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm-${llvm_version} + CMAKE_ARGS -Wno-dev + CMAKE_GENERATOR "${CMAKE_GENERATOR}" +@@ -115,13 +114,13 @@ else() + -DLLVM_INCLUDE_DOCS:BOOL=OFF + INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm + ) +- set(clang_md5 79eddb9b1f6e6ee8e9eeff1245d3f359) ++ set(clang_hash f4d46cb0e76b84d8270da7bc62927c6c3acfa42cf9982012842f5e56b4b846ca4fc6ddb1ed6370cc5b6cd224c0dc420a7f3550d867855c23bcc20a3a3ee2d1bc) + ExternalProject_Add(clang + # This is the upstream source code repackages in a .tar.gz for + # compatibility with older CMake. Also the tests/ and doc/ directories + # are removed to remove symlink files and save space. +- URL https://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=${clang_md5}&name=cfe-${llvm_version}.src.tar.gz +- URL_MD5 ${clang_md5} ++ URL "https://data.kitware.com/api/v1/file/hashsum/sha512/${clang_hash}/download" ++ URL_HASH SHA512=${clang_hash} + DEPENDS llvm + SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/cfe-${llvm_version} + CMAKE_ARGS -Wno-dev diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-2.7.14.eb index aabbde17e3a..faeb777f5e9 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-2.7.14.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.1' @@ -30,25 +30,26 @@ dependencies = [ ('X11', '20180131') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-3.6.4.eb index c1cdf667eb3..db5f2054718 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018a-Python-3.6.4.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.1' @@ -30,25 +30,26 @@ dependencies = [ ('X11', '20180131') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-2.7.15.eb index fd19870d6e2..6266d444fad 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-2.7.15.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.1' @@ -30,25 +30,26 @@ dependencies = [ ('X11', '20180604') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-3.6.6.eb index 2a3d5f3e9f5..b2247978c7f 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2018b-Python-3.6.6.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '4.13.1' @@ -30,25 +30,26 @@ dependencies = [ ('X11', '20180604') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], 'dirs': ['include/ITK-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..4d7e044fc45 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-4.13.1-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,66 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +easyblock = 'CMakePythonPackage' + +name = 'ITK' +version = '4.13.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'pic': True} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b352060d8b7289916a3cb033dfdbcf423423ba474643b79706966e679268e3d7'] + +builddependencies = [ + ('CMake', '3.15.3'), + ('Bison', '3.3.2'), + ('Eigen', '3.3.7', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.7.4'), + ('double-conversion', '3.1.4'), + ('expat', '2.2.7'), + ('HDF5', '1.10.5'), + ('libjpeg-turbo', '2.0.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.0.10'), + ('VTK', '8.2.0', versionsuffix), + ('zlib', '1.2.11'), + ('SWIG', '4.0.1'), + ('PCRE', '8.43'), +] + +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' + +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " + +sanity_check_paths = { + 'files': ['bin/itkTestDriver', + 'lib/libITKVtkGlue-%(version_major_minor)s.a', + 'lib/libitkjpeg-%(version_major_minor)s.a', 'lib/libitkpng-%(version_major_minor)s.a'], + 'dirs': ['include/ITK-%(version_major_minor)s', + 'lib/python%(pyshortver)s/site-packages', + 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019a-Python-3.7.2.eb index 2a71979fdb2..a435dbd1e32 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019a-Python-3.7.2.eb @@ -1,13 +1,13 @@ # # Alex Domingo and Fenglai Liu -# +# # alex.domingo.toro@vub.be # fenglai@accre.vanderbilt.edu # # Vrije Universiteit Brussel (VUB) # Vanderbilt University # -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '5.0.1' @@ -30,7 +30,7 @@ checksums = ['c6b3c33ecc73104c906e0e1a1bfaa41a09af24bf53a4ec5e5c265d7e82bdf69f'] builddependencies = [ ('CMake', '3.13.3'), ('Bison', '3.0.5'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -44,23 +44,21 @@ dependencies = [ ('LibTIFF', '4.0.10'), ] -separate_build_dir = True +local_sys_deps = ['EIGEN', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'SWIG', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] preconfigopts = 'Eigen3_DIR=$EBROOTEIGEN ' -configopts = '-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DITK_WRAP_PYTHON=ON -DITK_LEGACY_SILENT=ON ' -configopts += '-DITK_USE_SYSTEM_SWIG=ON -DITK_USE_SYSTEM_EIGEN=ON -DITK_USE_SYSTEM_HDF5=ON ' -configopts += '-DITK_USE_SYSTEM_JPEG=ON -DJPEG_INCLUDE_DIR=$EBROOTLIBJPEGMINTURBO/include ' -configopts += '-DJPEG_LIBRARY=$EBROOTLIBJPEGMINTURBO/lib64/libjpeg.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_PNG=ON -DPNG_PNG_INCLUDE_DIR=$EBROOTLIBPNG/include ' -configopts += '-DPNG_LIBRARY=$EBROOTLIBPNG/lib/libpng.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_TIFF=ON -DTIFF_INCLUDE_DIR=$EBROOTLIBTIFF/include ' -configopts += '-DTIFF_LIBRARY=$EBROOTLIBTIFF/lib/libtiff.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_ZLIB=ON -DZLIB_INCLUDE_DIR=$EBROOTZLIB/include ' -configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' + +build_shared_libs = True -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', @@ -74,8 +72,4 @@ sanity_check_paths = { 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019b-Python-3.7.4.eb index 4ecc1f13527..63a9196709b 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.0.1-foss-2019b-Python-3.7.4.eb @@ -1,13 +1,13 @@ # # Alex Domingo and Fenglai Liu -# +# # alex.domingo.toro@vub.be # fenglai@accre.vanderbilt.edu # # Vrije Universiteit Brussel (VUB) # Vanderbilt University # -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '5.0.1' @@ -30,7 +30,7 @@ checksums = ['c6b3c33ecc73104c906e0e1a1bfaa41a09af24bf53a4ec5e5c265d7e82bdf69f'] builddependencies = [ ('CMake', '3.15.3'), ('Bison', '3.3.2'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ @@ -44,24 +44,21 @@ dependencies = [ ('LibTIFF', '4.0.10'), ] -separate_build_dir = True +local_sys_deps = ['EIGEN', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'SWIG', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] preconfigopts = 'Eigen3_DIR=$EBROOTEIGEN ' -configopts = '-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DITK_WRAP_PYTHON=ON -DITK_LEGACY_SILENT=ON ' -configopts += '-DITK_USE_SYSTEM_SWIG=ON -DITK_USE_SYSTEM_EIGEN=ON -DITK_USE_SYSTEM_HDF5=ON ' -configopts += '-DITK_USE_SYSTEM_JPEG=ON -DJPEG_INCLUDE_DIR=$EBROOTLIBJPEGMINTURBO/include ' -configopts += '-DJPEG_LIBRARY=$EBROOTLIBJPEGMINTURBO/lib*/libjpeg.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_PNG=ON -DPNG_PNG_INCLUDE_DIR=$EBROOTLIBPNG/include ' -configopts += '-DPNG_LIBRARY=$EBROOTLIBPNG/lib/libpng.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_TIFF=ON -DTIFF_INCLUDE_DIR=$EBROOTLIBTIFF/include ' -configopts += '-DTIFF_LIBRARY=$EBROOTLIBTIFF/lib/libtiff.%s ' % SHLIB_EXT -configopts += '-DITK_USE_SYSTEM_ZLIB=ON -DZLIB_INCLUDE_DIR=$EBROOTZLIB/include ' -configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) +# Don't depend on MPICXX (which makes linking to ITK painful) +configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' + +build_shared_libs = True +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 prebuildopts = "LC_ALL=C " -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " sanity_check_paths = { 'files': ['bin/itkTestDriver', @@ -75,8 +72,4 @@ sanity_check_paths = { 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.0b01-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/i/ITK/ITK-5.0b01-foss-2018b-Python-3.6.6.eb index c9b063e7075..5ffe31bd951 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.0b01-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.0b01-foss-2018b-Python-3.6.6.eb @@ -1,4 +1,4 @@ -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '5.0b01' @@ -30,25 +30,24 @@ dependencies = [ ('X11', '20180604') ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DITK_WRAP_PYTHON=ON ' -configopts += '-DBUILD_TESTING=OFF -DITK_USE_SYSTEM_SWIG=ON ' -configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' - -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sys_deps = ['HDF5', 'SWIG'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -separate_build_dir = True +configopts = '-DITK_WRAP_PYTHON=ON ' +configopts += '-DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' +configopts += ' '.join(local_sys_cmake) -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " sanity_check_paths = { 'files': ['bin/itkTestDriver', - 'lib/libITKVtkGlue-%(version_major)s.0.a', 'lib/libitkhdf5.a', + 'lib/libITKVtkGlue-%(version_major)s.0.a', 'lib/libitkjpeg-%(version_major)s.0.a', 'lib/libitkpng-%(version_major)s.0.a'], 'dirs': ['include/ITK-%(version_major)s.0', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a-Python-3.8.2.eb index 8827c4fb24f..1f129fdda19 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a-Python-3.8.2.eb @@ -2,7 +2,7 @@ # Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University # Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) # -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '5.1.2' @@ -16,7 +16,6 @@ description = """Insight Segmentation and Registration Toolkit (ITK) provides toolchain = {'name': 'foss', 'version': '2020a'} toolchainopts = {'pic': True, 'cstd': 'c++11'} - source_urls = ['https://github.com/InsightSoftwareConsortium/ITK/archive/'] sources = ['v%(version)s.tar.gz'] patches = ['%(name)s-%(version)s_fix_wrap_vtkglue.patch'] @@ -47,25 +46,22 @@ dependencies = [ local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'SWIG', 'ZLIB'] local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' configopts += '-DITK_WRAP_PYTHON=ON ' configopts += ' '.join(local_sys_cmake) -prebuildopts = "LC_ALL=C " +build_shared_libs = True -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', 'ITKReview', 'ITKVTK', 'ITKVtkGlue'] sanity_check_paths = { 'files': ['bin/itkTestDriver'] + - ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (i, SHLIB_EXT) for i in local_lib_names], 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a.eb index afeb4c9c2cf..93e38ad421c 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-foss-2020a.eb @@ -42,12 +42,15 @@ dependencies = [ local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK configopts += ' '.join(local_sys_cmake) +build_shared_libs = True + +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 prebuildopts = "LC_ALL=C " local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', @@ -55,7 +58,7 @@ local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF sanity_check_paths = { 'files': ['bin/itkTestDriver'] + - ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (i, SHLIB_EXT) for i in local_lib_names], 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], } diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a-Python-3.8.2.eb index be676ecd362..ce90113f564 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a-Python-3.8.2.eb @@ -2,7 +2,7 @@ # Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University # Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) # -easyblock = 'CMakeMake' +easyblock = 'CMakePythonPackage' name = 'ITK' version = '5.1.2' @@ -16,7 +16,6 @@ description = """Insight Segmentation and Registration Toolkit (ITK) provides toolchain = {'name': 'fosscuda', 'version': '2020a'} toolchainopts = {'pic': True, 'cstd': 'c++11'} - source_urls = ['https://github.com/InsightSoftwareConsortium/ITK/archive/'] sources = ['v%(version)s.tar.gz'] patches = ['%(name)s-%(version)s_fix_wrap_vtkglue.patch'] @@ -47,26 +46,23 @@ dependencies = [ local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'SWIG', 'ZLIB'] local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON ' configopts += '-DITK_WRAP_PYTHON=ON ' configopts += '-DITK_USE_CUFFTW=ON ' configopts += ' '.join(local_sys_cmake) -prebuildopts = "LC_ALL=C " +build_shared_libs = True -preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 +prebuildopts = "LC_ALL=C " local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', 'ITKReview', 'ITKVTK', 'ITKVtkGlue'] sanity_check_paths = { 'files': ['bin/itkTestDriver'] + - ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (i, SHLIB_EXT) for i in local_lib_names], 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], } -sanity_check_commands = [('python', "-c 'import %(namelower)s'")] - -modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} - moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a.eb index ab7b2e46867..e4cfb4c1e83 100644 --- a/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a.eb +++ b/easybuild/easyconfigs/i/ITK/ITK-5.1.2-fosscuda-2020a.eb @@ -42,13 +42,16 @@ dependencies = [ local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] -configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts = '-DBUILD_TESTING=OFF ' configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' configopts += '-DITK_USE_CUFFTW:BOOL=ON ' configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK configopts += ' '.join(local_sys_cmake) +build_shared_libs = True + +# See https://insightsoftwareconsortium.atlassian.net/browse/ITK-3538 prebuildopts = "LC_ALL=C " local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', @@ -56,7 +59,7 @@ local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF sanity_check_paths = { 'files': ['bin/itkTestDriver'] + - ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (i, SHLIB_EXT) for i in local_lib_names], 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], } diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2020b.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2020b.eb new file mode 100644 index 00000000000..4ad17d850e9 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2020b.eb @@ -0,0 +1,60 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Bison', '3.7.1'), + ('Eigen', '3.3.8'), +] + +dependencies = [ + ('expat', '2.2.9'), + ('HDF5', '1.10.7'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.1.0'), + ('VTK', '9.0.1'), + ('zlib', '1.2.11'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021a.eb new file mode 100644 index 00000000000..0a4b96c2863 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021a.eb @@ -0,0 +1,60 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Bison', '3.7.6'), + ('Eigen', '3.3.9'), +] + +dependencies = [ + ('expat', '2.2.9'), + ('HDF5', '1.10.7'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.2.0'), + ('VTK', '9.0.1'), + ('zlib', '1.2.11'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021b.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021b.eb new file mode 100644 index 00000000000..738552724da --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2021b.eb @@ -0,0 +1,59 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Bison', '3.7.6'), + ('Eigen', '3.3.9'), +] +dependencies = [ + ('expat', '2.4.1'), + ('HDF5', '1.12.1'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('VTK', '9.1.0'), + ('zlib', '1.2.11'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb new file mode 100644 index 00000000000..4db02230269 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-foss-2022a.eb @@ -0,0 +1,68 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['ITK-5.2.1_allow_legacy_with_wrapping.patch'] +checksums = [ + {'v5.2.1.tar.gz': '6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'}, + {'ITK-5.2.1_allow_legacy_with_wrapping.patch': '66d2c60498a18d5d826a7274624fdd12c41c99d84b382ac405525037a369b666'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Bison', '3.8.2'), + ('Eigen', '3.4.0'), +] +dependencies = [ + ('expat', '2.4.8'), + ('HDF5', '1.12.2'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('VTK', '9.2.2'), + ('zlib', '1.2.12'), + ('Python', '3.10.4'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=ON -DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # SimpleITK-2.1.x relies on ITK legacy interfaces +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = ["python -c 'import itk'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1-fosscuda-2020b.eb b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..0d9fe14e51c --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1-fosscuda-2020b.eb @@ -0,0 +1,60 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.2.1' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6022b2b64624b8bcec3333fe48d5f74ff6ebceb3bdf98258ba7d7fbbc76b99ab'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Bison', '3.7.1'), + ('Eigen', '3.3.8'), +] + +dependencies = [ + ('expat', '2.2.9'), + ('HDF5', '1.10.7'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.1.0'), + ('VTK', '9.0.1'), + ('zlib', '1.2.11'), +] + +local_sys_deps = ['EIGEN', 'EXPAT', 'HDF5', 'JPEG', 'PNG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] + +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +configopts += '-DITK_WRAP_PYTHON:BOOL=OFF ' +configopts += '-DITK_LEGACY_REMOVE:BOOL=OFF ' # needed by SimpleITK +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'share'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.2.1_allow_legacy_with_wrapping.patch b/easybuild/easyconfigs/i/ITK/ITK-5.2.1_allow_legacy_with_wrapping.patch new file mode 100644 index 00000000000..9fd0304ea8c --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.2.1_allow_legacy_with_wrapping.patch @@ -0,0 +1,19 @@ +Allow enabling legacy code in ITK and build its wrappers at the same time. +The goal is to build the native Python wrapper of ITK while making it possible +to have third-party software that still relies on older interfaces. +author: Alex Domingo (Vrije Universiteit Brussel) +--- CMakeLists.txt.orig 2023-12-14 15:26:20.086769773 +0100 ++++ CMakeLists.txt 2021-08-12 03:08:23.000000000 +0200 +@@ -334,9 +334,9 @@ + #----------------------------------------------------------------------------- + # Provide compatibility options. + # During major release updates deprecated interface may be needed for backwards compatibility +-cmake_dependent_option(ITK_LEGACY_REMOVE +- "Remove current legacy code completely." OFF +- "NOT ITK_WRAPPING" ON) ++#cmake_dependent_option(ITK_LEGACY_REMOVE ++# "Remove current legacy code completely." OFF ++# "NOT ITK_WRAPPING" ON) + + # During minor releases bugs may be identified that identify broken interface, or + # useless interfaces that need to be retained to not break backwards compatibilty. diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2022b.eb b/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2022b.eb new file mode 100644 index 00000000000..9ba65978898 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2022b.eb @@ -0,0 +1,78 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak, Pavel Tománek (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.3.0' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ITK-5.3.0_vtk-include.patch', + 'ITK-5.3.0_fix-compatibility-swig-4-1.patch', +] +checksums = [ + {'ITK-5.3.0.tar.gz': '64e7e8094a5023c8f68ee042459d6319581fadb35e2fe90a4ae230ce36369db1'}, + {'ITK-5.3.0_vtk-include.patch': '138ebd2e0e7f9001aba5f4a7e8145ffcf0093913d50f109ecff447773fd52a48'}, + {'ITK-5.3.0_fix-compatibility-swig-4-1.patch': '0138878d96e90d6bfdc81fd4f2b5ec413d61c1de666a16842b417c2686ebf506'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Bison', '3.8.2'), + ('Eigen', '3.4.0'), + ('SWIG', '4.1.1'), + ('Perl', '5.36.0'), +] +dependencies = [ + ('Python', '3.10.8'), + ('double-conversion', '3.2.1'), + ('expat', '2.4.9'), + ('HDF5', '1.14.0'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('VTK', '9.2.6'), + ('zlib', '1.2.12'), +] + +# Features +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +# Enable Python bindings +configopts += '-DITK_WRAP_PYTHON:BOOL=ON -DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' +configopts += '-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig -DSWIG_DIR=$EBROOTSWIG ' +configopts += '-DPY_SITE_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' +# Dependencies from EB +local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'FFTW', 'HDF5', 'JPEG', 'PNG', 'SWIG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = ["python -c 'import itk'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2023a.eb b/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2023a.eb new file mode 100644 index 00000000000..e51e8bbd718 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.3.0-foss-2023a.eb @@ -0,0 +1,78 @@ +# Contributors: +# Fenglai Liu (fenglai@accre.vanderbilt.edu) - Vanderbilt University +# Alex Domingo (alex.domingo.toro@vub.be) - Vrije Universiteit Brussel (VUB) +# Denis Kristak (INUITS) +# +easyblock = 'CMakeMake' + +name = 'ITK' +version = '5.3.0' + +homepage = 'https://itk.org' +description = """Insight Segmentation and Registration Toolkit (ITK) provides + an extensive suite of software tools for registering and segmenting + multidimensional imaging data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +github_account = 'InsightSoftwareConsortium' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'ITK-5.3.0_add-vtk-include-dir.patch', + 'ITK-5.3.0_fix-compatibility-swig-4-1.patch', +] +checksums = [ + {'v5.3.0.tar.gz': '64e7e8094a5023c8f68ee042459d6319581fadb35e2fe90a4ae230ce36369db1'}, + {'ITK-5.3.0_add-vtk-include-dir.patch': 'df7e834a024db5d1a1459d898bd43a044351e29759ab0bf69ce03d64da95b3f7'}, + {'ITK-5.3.0_fix-compatibility-swig-4-1.patch': '0138878d96e90d6bfdc81fd4f2b5ec413d61c1de666a16842b417c2686ebf506'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Bison', '3.8.2'), + ('Eigen', '3.4.0'), + ('SWIG', '4.1.1'), + ('Perl', '5.36.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('double-conversion', '3.3.0'), + ('expat', '2.5.0'), + ('HDF5', '1.14.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('VTK', '9.3.0'), + ('zlib', '1.2.13'), +] + +# Features +configopts = '-DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF ' +configopts += '-DModule_ITKReview=ON -DModule_ITKVtkGlue=ON -DModule_SimpleITKFilters=ON ' +# Enable Python bindings +configopts += '-DITK_WRAP_PYTHON:BOOL=ON -DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' +configopts += '-DSWIG_EXECUTABLE=$EBROOTSWIG/bin/swig -DSWIG_DIR=$EBROOTSWIG ' +configopts += '-DPY_SITE_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' +# Dependencies from EB +local_sys_deps = ['DOUBLECONVERSION', 'EIGEN', 'EXPAT', 'FFTW', 'HDF5', 'JPEG', 'PNG', 'SWIG', 'TIFF', 'ZLIB'] +local_sys_cmake = ['-DITK_USE_SYSTEM_%s=ON' % d for d in local_sys_deps] +configopts += ' '.join(local_sys_cmake) + +prebuildopts = "LC_ALL=C " + +local_lib_names = ['ITKCommon', 'ITKIOHDF5', 'ITKIOJPEG', 'ITKIOPNG', 'ITKIOTIFF', + 'ITKReview', 'ITKVTK', 'ITKVtkGlue', 'itkSimpleITKFilters'] + +sanity_check_paths = { + 'files': ['bin/itkTestDriver'] + + ['lib/lib%s-%%(version_major)s.%%(version_minor)s.%s' % (l, SHLIB_EXT) for l in local_lib_names], + 'dirs': ['include/ITK-%(version_major)s.%(version_minor)s', 'lib/python%(pyshortver)s/site-packages', 'share'], +} + +sanity_check_commands = ["python -c 'import itk'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.3.0_add-vtk-include-dir.patch b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_add-vtk-include-dir.patch new file mode 100644 index 00000000000..a484240a1de --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_add-vtk-include-dir.patch @@ -0,0 +1,13 @@ +Manually add the include directory of VTK +dirty fix for issue https://github.com/InsightSoftwareConsortium/ITK/issues/4375 +author: Alex Domingo (Vrije Universiteit Brussel) +--- Wrapping/CMakeLists.txt.orig 2023-12-21 13:41:44.845008000 +0100 ++++ Wrapping/CMakeLists.txt 2023-12-21 13:42:14.794328946 +0100 +@@ -112,6 +112,7 @@ + ############################################################################### + # Configure specific wrapper modules + ############################################################################### ++include_directories("$ENV{EBROOTVTK}/include/vtk-9.3/") + + unset(WRAP_ITK_MODULES CACHE) + diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.3.0_fix-compatibility-swig-4-1.patch b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_fix-compatibility-swig-4-1.patch new file mode 100644 index 00000000000..d545817a813 --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_fix-compatibility-swig-4-1.patch @@ -0,0 +1,28 @@ +From d2361b89fefb07b669b4cf67257fc3bf06afd9f5 Mon Sep 17 00:00:00 2001 +From: Nicklas Larsson +Date: Mon, 18 Sep 2023 20:12:18 +0200 +Subject: [PATCH] BUG: define SWIGPY_SLICEOBJECT + +SWIG v 4.1.0+ use PyObject instead of PySliceObject after +https://github.com/swig/swig/commit/e683168018558f4e73dc26629c4bbec224d23438 + +This adds the definition of SWIGPY_SLICEOBJECT. +--- + Wrapping/Generators/Python/module_ext.i.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Wrapping/Generators/Python/module_ext.i.in b/Wrapping/Generators/Python/module_ext.i.in +index 53f05530135..826d336348a 100644 +--- a/Wrapping/Generators/Python/module_ext.i.in ++++ b/Wrapping/Generators/Python/module_ext.i.in +@@ -6,8 +6,10 @@ + + #if PY_VERSION_HEX >= 0x03020000 + # define SWIGPY_SLICE_ARG(obj) ((PyObject*) (obj)) ++# define SWIGPY_SLICEOBJECT PyObject + #else + # define SWIGPY_SLICE_ARG(obj) ((PySliceObject*) (obj)) ++# define SWIGPY_SLICEOBJECT PySliceObject + #endif + %} + diff --git a/easybuild/easyconfigs/i/ITK/ITK-5.3.0_vtk-include.patch b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_vtk-include.patch new file mode 100644 index 00000000000..f77306c9f8e --- /dev/null +++ b/easybuild/easyconfigs/i/ITK/ITK-5.3.0_vtk-include.patch @@ -0,0 +1,13 @@ +Manually add the include directory of VTK +dirty fix for issue https://github.com/InsightSoftwareConsortium/ITK/issues/4375 +author: Alex Domingo (Vrije Universiteit Brussel) +--- Wrapping/CMakeLists.txt.orig 2023-12-21 13:41:44.845008000 +0100 ++++ Wrapping/CMakeLists.txt 2023-12-21 13:42:14.794328946 +0100 +@@ -112,6 +112,7 @@ + ############################################################################### + # Configure specific wrapper modules + ############################################################################### ++include_directories("$ENV{EBROOTVTK}/include/vtk-9.2/") + + unset(WRAP_ITK_MODULES CACHE) + \ No newline at end of file diff --git a/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d456df2601d --- /dev/null +++ b/easybuild/easyconfigs/i/ITSTool/ITSTool-2.0.7-GCCcore-11.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': '11.3.0'} + +source_urls = ['http://files.itstool.org/itstool/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6b9a7cd29a12bb95598f5750e8763cee78836a1a207f85b74d8b3275b27e87ca'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('libxml2-python', '2.9.13'), +] + +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/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/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..02cb2e734b1 --- /dev/null +++ b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'ITSx' +version = '1.1.3' + +homepage = 'https://microbiology.se/software/itsx/' +description = '''ITSx: Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of +fungi and other eukaryotes for use in environmental sequencing.''' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://microbiology.se/sw/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['6f6d7ff6350f82439dee5348f6e8bda512be25193c603d4e56cc215c520091bf'] + +dependencies = [('Perl', '5.32.1')] + +fix_perl_shebang_for = ['ITSx'] + +sanity_check_paths = { + 'files': ['ITSx'], + 'dirs': ['ITSx_db'], +} + +sanity_check_commands = ['ITSx --help'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7392f5fd08a --- /dev/null +++ b/easybuild/easyconfigs/i/ITSx/ITSx-1.1.3-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'ITSx' +version = '1.1.3' + +homepage = 'https://microbiology.se/software/itsx/' +description = '''ITSx: Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of +fungi and other eukaryotes for use in environmental sequencing.''' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://microbiology.se/sw/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['6f6d7ff6350f82439dee5348f6e8bda512be25193c603d4e56cc215c520091bf'] + +dependencies = [('Perl', '5.34.1')] + +fix_perl_shebang_for = ['ITSx'] + +sanity_check_paths = { + 'files': ['ITSx'], + 'dirs': ['ITSx_db'], +} + +sanity_check_commands = ['ITSx --help'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb new file mode 100644 index 00000000000..74281e92445 --- /dev/null +++ b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.18.0-x64-linux.eb @@ -0,0 +1,28 @@ +# Easybuild Easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Research Center - Seattle Washington +easyblock = "Tarball" + +name = 'IgBLAST' +version = '1.18.0' +versionsuffix = '-x64-linux' + +homepage = 'https://ncbi.github.io/igblast' +description = """IgBLAST faclilitates the analysis of immunoglobulin and T cell receptor variable domain sequences.""" + +toolchain = SYSTEM + +source_urls = ['ftp://ftp.ncbi.nih.gov/blast/executables/igblast/release/%(version)s'] +sources = ['ncbi-%(namelower)s-%(version)s-x64-linux.tar.gz'] +checksums = ['e1feef1f16bc6bf7df35713288baf7523a56362eee8c36625d0608cf6a5c31f1'] + +sanity_check_paths = { + 'files': ["bin/igblastn", 'bin/igblastp'], + 'dirs': ['bin'] +} + +modextravars = {'IGDATA': '%(installdir)s/internal_data'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.21.0-x64-linux.eb b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.21.0-x64-linux.eb new file mode 100644 index 00000000000..8d3bf7d2572 --- /dev/null +++ b/easybuild/easyconfigs/i/IgBLAST/IgBLAST-1.21.0-x64-linux.eb @@ -0,0 +1,30 @@ +# Easybuild Easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Center - Seattle Washington +easyblock = "Tarball" + +name = 'IgBLAST' +version = '1.21.0' +versionsuffix = '-x64-linux' + +homepage = 'https://ncbi.github.io/igblast' +description = """IgBLAST faclilitates the analysis of immunoglobulin and T cell receptor variable domain sequences.""" + +toolchain = SYSTEM + +source_urls = ['ftp://ftp.ncbi.nih.gov/blast/executables/igblast/release/%(version)s'] +sources = ['ncbi-%(namelower)s-%(version)s-x64-linux.tar.gz'] +checksums = ['737d19aed8f3d8d717fcd8a2fa22e93b0830dd9cced729f41a67df95c8aef136'] + +sanity_check_paths = { + 'files': ["bin/igblastn", 'bin/igblastp'], + 'dirs': ['bin'] +} + +sanity_check_commands = ['%(namelower)sn -h'] + +modextravars = {'IGDATA': '%(installdir)s/internal_data'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51a.eb b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51a.eb index 7d9f547d493..ac587d50840 100644 --- a/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51a.eb +++ b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51a.eb @@ -16,7 +16,7 @@ sources = ['ij%(version_major)s%(version_minor)s-src.zip'] checksums = ['1fe77bedd792f095bc51d7b12083319b04124bb82f2dc5eb0552089880cf1a4f'] # specify dependency on Java/1.8 "wrapper", rather than a specific Java version -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] builddependencies = [('ant', '1.10.1', '-Java-%(javaver)s')] diff --git a/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51k.eb b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51k.eb index 2beb2a43b9f..c4f4f2b720f 100644 --- a/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51k.eb +++ b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.51k.eb @@ -10,16 +10,16 @@ toolchain = SYSTEM source_urls = [ 'https://imagej.nih.gov/ij/download/src/', - 'http://www.mecourse.com/landinig/software/', + 'https://github.com/landinig/IJ-Morphology/raw/953503d/', # use git hash not main ] sources = [ 'ij%(version_major)s%(version_minor)s-src.zip', # datestamp is determined by most recent file in zipball - {'download_filename': 'morphology.zip', 'filename': 'morphology-20160920.zip'}, + {'download_filename': 'morphology.zip', 'filename': 'morphology-20210426.zip'}, ] checksums = [ '186adf6756bb1008b1d9596ffb7e92efcaeca7411b19489368aa9e135751c0e1', # ij151k-src.zip - 'a273f53dd7f7af2692230374be7c88cb704845fa6c8bbb4b8ae48778d3226f38', # morphology-20160920.zip + '157f4b55759bf58458acfe073eff9af2e6bb305add2c8658f03f0ce579b3d578', # morphology-20210426.zip ] dependencies = [ @@ -36,6 +36,6 @@ sanity_check_paths = { 'dirs': ['plugins'], } -modloadmsg = "To use ImageJ, run 'java -jar $EBROOTIMAGEJ/ij.jar -Dij1.plugins.dir=$EBROOTIMAGEJ/plugins'\n" +modloadmsg = "To use ImageJ, run 'java -jar $EBROOTIMAGEJ/ij.jar -ijpath $EBROOTIMAGEJ'\n" moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ImageJ/ImageJ-1.52q-Java-1.8.eb b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.52q-Java-1.8.eb new file mode 100644 index 00000000000..918c0cee60a --- /dev/null +++ b/easybuild/easyconfigs/i/ImageJ/ImageJ-1.52q-Java-1.8.eb @@ -0,0 +1,42 @@ +easyblock = 'PackedBinary' + +name = 'ImageJ' +version = '1.52q' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://imagej.nih.gov/ij' +description = "Image Processing and Analysis in Java" + +toolchain = SYSTEM + +source_urls = [ + 'https://imagej.nih.gov/ij/download/src/', + 'https://github.com/landinig/IJ-Morphology/raw/953503d/', # use git hash not main +] +sources = [ + 'ij%(version_major)s%(version_minor)s-src.zip', + # datestamp is determined by most recent file in zipball + {'download_filename': 'morphology.zip', 'filename': 'morphology-20210426.zip'}, +] +checksums = [ + '2181455c75b630b9fbc11f838fe76ab490ac6d41e4aa39fcc467155847deae0e', # ij152q-src.zip + '157f4b55759bf58458acfe073eff9af2e6bb305add2c8658f03f0ce579b3d578', # morphology-20210426.zip +] + +dependencies = [ + ('Java', '1.8'), +] + +builddependencies = [('ant', '1.10.1', '-Java-%(javaver)s')] + +install_cmd = "cd source && ant build && cp ij.jar %(installdir)s && " +install_cmd += "mkdir -p %(installdir)s/plugins && cp -a %(builddir)s/Morphology/* %(installdir)s/plugins/" + +sanity_check_paths = { + 'files': ['ij.jar'], + 'dirs': ['plugins'], +} + +modloadmsg = "To use ImageJ, run 'java -jar $EBROOTIMAGEJ/ij.jar -ijpath $EBROOTIMAGEJ'\n" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-1-GCCcore-9.3.0.eb index 0d6ab6b1978..b08495a6ea2 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-1-GCCcore-9.3.0.eb @@ -24,6 +24,7 @@ dependencies = [ ('libjpeg-turbo', '2.0.4'), ('LibTIFF', '4.1.0'), ('LittleCMS', '2.9'), + ('Pango', '1.44.7'), ] builddependencies = [ diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-35-GCCcore-10.2.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-35-GCCcore-10.2.0.eb index 980874e68be..f0077dead9e 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-35-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.10-35-GCCcore-10.2.0.eb @@ -24,6 +24,7 @@ dependencies = [ ('libjpeg-turbo', '2.0.5'), ('LibTIFF', '4.1.0'), ('LittleCMS', '2.11'), + ('Pango', '1.47.0'), ] builddependencies = [ 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 f2d23dbd601..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 @@ -24,6 +24,9 @@ dependencies = [ ('libjpeg-turbo', '2.0.6'), ('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.0.9-5-GCCcore-8.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.9-5-GCCcore-8.3.0.eb index 86774a66a7a..458934f12f4 100644 --- a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.9-5-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.0.9-5-GCCcore-8.3.0.eb @@ -24,6 +24,7 @@ dependencies = [ ('libjpeg-turbo', '2.0.3'), ('LibTIFF', '4.0.10'), ('LittleCMS', '2.9'), + ('Pango', '1.44.7'), ] 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 new file mode 100644 index 00000000000..6a78cb9c5a9 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-37-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.0-37' + +homepage = 'https://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/ImageMagick/ImageMagick/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a54888a1a46dbb808705a3e6c6b5ecb93ee30189a8ae6ea0f02300a0ab0d0996'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20220504'), + ('Ghostscript', '9.56.1'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('LittleCMS', '2.13.1'), + ('Pango', '1.50.7'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.12'), +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..7d03b87d1d8 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-4-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.0-4' + +homepage = 'https://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/ImageMagick/ImageMagick/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3e840e01849a93cafa5f314087d2281422ff7ec1eb104b90787095c4c298e837'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20210802'), + ('Ghostscript', '9.54.0'), + ('JasPer', '2.0.33'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('LittleCMS', '2.12'), + ('Pango', '1.48.8'), + ('pixman', '0.40.0'), + ('FriBidi', '1.0.10'), +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..e758d987dfa --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.0-53-GCCcore-12.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.0-53' + +homepage = 'https://www.imagemagick.org/' +description = """ImageMagick is a software suite to create, edit, compose, or convert bitmap images""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/ImageMagick/ImageMagick/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4d4cade8f435736b62382b472fe75206b8eef540a968860ace5476a96799b5ef'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20221110'), + ('Ghostscript', '10.0.0'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '2.1.4'), + ('LibTIFF', '4.4.0'), + ('LittleCMS', '2.14'), + ('Pango', '1.50.12'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.12'), +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..4fe1068022b --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-15-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.1-15' + +homepage = 'https://www.imagemagick.org/' +description = "ImageMagick is a software suite to create, edit, compose, or convert bitmap images" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['2372192a76af9be43c0543dd7ae6dfbf34b11fc0203583453ce3f9f707c36bcc'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20230603'), + ('Ghostscript', '10.01.2'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('LittleCMS', '2.15'), + ('Pango', '1.50.14'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.12'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-34-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-34-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2ccdcb32a55 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-34-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.1-34' + +homepage = 'https://www.imagemagick.org/' +description = "ImageMagick is a software suite to create, edit, compose, or convert bitmap images" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['19f4303774b56be182c576b266c34bc824fcaef1d1d243192344d015adb0ec28'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20231019'), + ('Ghostscript', '10.02.1'), + ('JasPer', '4.0.0'), + ('libjpeg-turbo', '3.0.1'), + ('LibTIFF', '4.6.0'), + ('LittleCMS', '2.15'), + ('Pango', '1.51.0'), + ('pixman', '0.42.2'), + ('FriBidi', '1.0.13'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..776471b14b2 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38-GCCcore-13.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'ImageMagick' +version = '7.1.1-38' + +homepage = 'https://www.imagemagick.org/' +description = "ImageMagick is a software suite to create, edit, compose, or convert bitmap images" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['ImageMagick-7.1.1-38_fix-linking.patch'] +checksums = [ + {'7.1.1-38.tar.gz': '5e449530ccec8b85ae2bfd1ad773184fb7a4737d40fd9439db8a5d4beee4403e'}, + {'ImageMagick-7.1.1-38_fix-linking.patch': '0fbe8e3b6621e3e0d1efec59949fecb45924bc6e65851b9b6399bb3eff8d55d9'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('bzip2', '1.0.8'), + ('X11', '20240607'), + ('Ghostscript', '10.03.1'), + ('JasPer', '4.2.4'), + ('libjpeg-turbo', '3.0.1'), + ('LibTIFF', '4.6.0'), + ('LittleCMS', '2.16'), + ('Pango', '1.54.0'), + ('pixman', '0.43.4'), + ('FriBidi', '1.0.15'), +] + +preconfigopts = 'PKG_CONFIG=$EBROOTPKGCONF/bin/pkgconf' +configopts = "--with-gslib --with-x" + +sanity_check_paths = { + 'files': ['bin/magick'], + 'dirs': ['etc/%(name)s-%(version_major)s', 'include/%(name)s-%(version_major)s', 'lib', 'share'], +} + +sanity_check_commands = [ + 'magick --help', +] + +modextravars = {'MAGICK_HOME': '%(installdir)s'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38_fix-linking.patch b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38_fix-linking.patch new file mode 100644 index 00000000000..2c9d54a4ac0 --- /dev/null +++ b/easybuild/easyconfigs/i/ImageMagick/ImageMagick-7.1.1-38_fix-linking.patch @@ -0,0 +1,27 @@ +The configure script sets this to a path inside the install location which is empty during build. +However this path(s) is/are used by the compiler/linker to find libraries. `pkg-config` used during configure assumes this is the same during build as on invocation of itself and omits any path already contained in the variable. + +This combination causes build failures due to dependent libraries not being found in the link step unless there happens to be some other way the paths get pulled in. E.g. if HarfBuzz is built using (the deprecated) configure&make it has `*.la` files which contain the required link flags. If HarfBuzz is built using the new Meson build system those files are no longer present and the linker paths will be missing. + +As there doesn't seem to be a specific reason for the variable to be set to an empty directory in the Makefile just remove it. + +See https://github.com/ImageMagick/ImageMagick/pull/7613 + +Author: Alexander Grund (TU Dresden) + +--- + Makefile.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 47b78566f0c..3a9761cfd5b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -3288,7 +3288,6 @@ LIBOBJS = @LIBOBJS@ + LIBOPENJP2_CFLAGS = @LIBOPENJP2_CFLAGS@ + LIBOPENJP2_LIBS = @LIBOPENJP2_LIBS@ + LIBRARY_EXTRA_CPPFLAGS = @LIBRARY_EXTRA_CPPFLAGS@ +-LIBRARY_PATH = @LIBRARY_PATH@ + LIBS = @LIBS@ + LIBSTDCLDFLAGS = @LIBSTDCLDFLAGS@ + LIBTOOL = @LIBTOOL@ diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.11-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.11-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..05efb6d6c62 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.11-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.11' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9057849585e49b8b85abe7cc1e76e22963b01bfdc3b6d83eac90c499cd760063'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..36142e01453 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.5-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.5' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1e9c7c94797cf7b7e61908aed1f80a331088cc7d8873318f70376e4aed5f25fb'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ea408912dc7 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.6-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.6' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea5592230f5ab917bea3ceab266cf38eb4aa4a523078d46eac0f5a89c52304db'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b6497fabaeb --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.7-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.7' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bff1fa140f4af0e7f02c6cb78d41b9a7d5508e6bcdfda3a583e35460eb6d4b47'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/Imath/Imath-3.1.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/Imath/Imath-3.1.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f12adef66b3 --- /dev/null +++ b/easybuild/easyconfigs/i/Imath/Imath-3.1.9-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'Imath' +version = '3.1.9' + +homepage = 'https://imath.readthedocs.io/en/latest/' +description = """ +Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AcademySoftwareFoundation/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f1d8aacd46afed958babfced3190d2d3c8209b66da451f556abd6da94c165cf3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': ['lib/libImath.%s' % SHLIB_EXT], + 'dirs': ['include/Imath'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/InChI/InChI-1.06-GCC-10.3.0.eb b/easybuild/easyconfigs/i/InChI/InChI-1.06-GCC-10.3.0.eb new file mode 100644 index 00000000000..c0333eda150 --- /dev/null +++ b/easybuild/easyconfigs/i/InChI/InChI-1.06-GCC-10.3.0.eb @@ -0,0 +1,78 @@ +## +# 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:: Based on Fedora RPM spec file https://src.fedoraproject.org/rpms/inchi/blob/rawhide/f/inchi.spec +# Patch made by Fedora to fix program name, linker and compilation options +# https://src.fedoraproject.org/rpms/inchi/blob/rawhide/f/inchi-rpm.patch +## +easyblock = 'MakeCp' + +name = 'InChI' +version = '1.06' + +# NOTE not in the license list of EB +# software_license = 'IUPAC/InChI-Trust Licence' +software_license_urls = ['https://www.inchi-trust.org/download/%(version_major)s%(version_minor)s/LICENCE.pdf'] +docurls = [ + 'https://www.inchi-trust.org/download/%(version_major)s%(version_minor)s/INCHI-1-DOC.zip', + 'https://www.inchi-trust.org/download/%(version_major)s%(version_minor)s/readme.txt', +] + +homepage = 'https://www.inchi-trust.org/' +description = """The IUPAC International Chemical Identifier (InChI TM) is a non-proprietary +identifier for chemical substances that can be used in printed and electronic +data sources thus enabling easier linking of diverse data compilations.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.inchi-trust.org/download/%(version_major)s%(version_minor)s/'] +sources = [ + {'download_filename': 'INCHI-1-SRC.zip', 'filename': 'INCHI-%(version)s-SRC.zip'}, + {'download_filename': 'INCHI-1-TEST.zip', 'filename': 'INCHI-%(version)s-TEST.zip'}, +] +patches = ['InChI-%(version)s_fedora-build-fixes.patch'] +checksums = [ + '4874e310c0f2f81b881e90dd0c534752e1b9421d7d92ccfb037710022c7e7efd', # INCHI-1.06-SRC.zip + '3c870ef97c8ebc86f64946db395582b87d79732000fa73d173f46c05ca19c1ff', # INCHI-1.06-TEST.zip + '98acd66e46d3c5c2c3b1531e9c84e129b503e23d3a7602f3f64f37c74e420840', # InChI-1.06_fedora-build-fixes.patch +] + +# dos2unix may be another builddependency useful to "clean" some files +builddependencies = [ + ('make', '4.3'), +] + +build_cmd = 'cd INCHI_API/demos/inchi_main/gcc && ' +build_cmd += 'SHARED_LINK_PARM="$OPTFLAGS" ' +build_cmd += 'OPTFLAGS="$OPTFLAGS -Wno-comment -Wno-parentheses -Wno-unused -Wno-unused-but-set-variable" ' +build_cmd += 'make -j %(parallel)s && ' +build_cmd += 'cd - && cd INCHI_EXE/inchi-1/gcc && ' +build_cmd += 'LINKER_OPTIONS="$OPTFLAGS" ' +build_cmd += 'OPTFLAGS="$OPTFLAGS -Wno-comment -Wno-parentheses -Wno-unused -Wno-unused-but-set-variable" ' +build_cmd += 'make' + +files_to_copy = [ + (['INCHI_EXE/bin/Linux/inchi-1'], 'bin'), + (['INCHI_API/bin/Linux/libinchi.so*'], 'lib'), + (['INCHI_BASE/src/ichisize.h', 'INCHI_BASE/src/inchi_api.h', 'INCHI_BASE/src/ixa.h'], 'include'), + 'LICENCE.pdf', + 'readme.txt', +] + +# NOTE libinchi.so are not symlinks in the final build, but redundant copies! +# NOTE `keepsymlinks = True` does not look to do it, so use this trick +postinstallcmds = ["cd %%(installdir)s/lib/ && rm -f libinchi.so.1 && " + "ln -s libinchi.so.1.* libinchi.so.1 && ln -s libinchi.so.1 libinchi.%s" % SHLIB_EXT] + +sanity_check_paths = { + 'files': ['bin/inchi-1', 'lib/libinchi.%s' % SHLIB_EXT, 'LICENCE.pdf', 'readme.txt'], + 'dirs': ['lib', 'include'] +} + +sanity_check_commands = ["inchi-1"] +# NOTE currently no real tests because they are complicated to run (not in a good format, zipped, ...) + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/i/InChI/InChI-1.06_fedora-build-fixes.patch b/easybuild/easyconfigs/i/InChI/InChI-1.06_fedora-build-fixes.patch new file mode 100644 index 00000000000..d1c2c06f960 --- /dev/null +++ b/easybuild/easyconfigs/i/InChI/InChI-1.06_fedora-build-fixes.patch @@ -0,0 +1,57 @@ +Patch made by Fedora to fix program name, linker and compilation options +https://src.fedoraproject.org/rpms/inchi/blob/rawhide/f/inchi-rpm.patch + +diff -up INCHI-1-SRC/INCHI_API/demos/inchi_main/gcc/makefile.r INCHI-1-SRC/INCHI_API/demos/inchi_main/gcc/makefile +--- INCHI-1-SRC/INCHI_API/demos/inchi_main/gcc/makefile.r 2019-06-22 20:25:28.000000000 +0200 ++++ INCHI-1-SRC/INCHI_API/demos/inchi_main/gcc/makefile 2020-10-13 14:18:22.809829859 +0200 +@@ -30,7 +30,7 @@ INCHI_LIB_PATHNAME = $(LIB_DIR)/$(INCHI_ + # === Main program name ==== + ifndef API_CALLER_NAME + ifndef CALLER_IS_MOL2INCHI +- API_CALLER_NAME = inchi_main$ ++ API_CALLER_NAME = inchi_main + else + API_CALLER_NAME = mol2inchi$ + endif +@@ -43,9 +43,9 @@ endif + # === Linker to create Main program ===== + ifndef LINKER + ifdef ISLINUX +- LINKER_CWD_PATH = -Wl,-R,"" ++ LINKER_CWD_PATH = + endif +- LINKER = gcc -s $(LINKER_CWD_PATH) ++ LINKER = gcc $(LINKER_CWD_PATH) + endif + ifndef P_LIBR + P_LIBR = ../../../libinchi/src/ +@@ -70,7 +70,7 @@ endif + # === C Compiler Options ======= + ifndef C_OPTIONS + ifndef CALLER_IS_MOL2INCHI +- C_OPTIONS = -ansi -O3 -c ++ C_OPTIONS = -ansi $(OPTFLAGS) -c + else + C_OPTIONS = -O3 -c + endif +diff -up INCHI-1-SRC/INCHI_EXE/inchi-1/gcc/makefile.r INCHI-1-SRC/INCHI_EXE/inchi-1/gcc/makefile +--- INCHI-1-SRC/INCHI_EXE/inchi-1/gcc/makefile.r 2016-09-08 19:08:16.000000000 +0200 ++++ INCHI-1-SRC/INCHI_EXE/inchi-1/gcc/makefile 2020-10-13 14:18:22.809829859 +0200 +@@ -13,7 +13,7 @@ ifndef CPP_COMPILER + CPP_COMPILER = g++ + endif + ifndef LINKER +- LINKER = g++ -s ++ LINKER = gcc + endif + ifndef INCHI_EXECUTABLE_NAME + ifdef windir +@@ -36,7 +36,7 @@ ifndef P_BASE + endif + #P_INCL = -I$(P_MAIN) -I$(P_BASE) + P_INCL = -I$(P_MAIN) -I$(P_BASE) +-C_COMPILER_OPTIONS = $(P_INCL) -ansi -DCOMPILE_ANSI_ONLY -DTARGET_EXE_STANDALONE -O3 -c ++C_COMPILER_OPTIONS = $(P_INCL) -ansi -DCOMPILE_ANSI_ONLY -DTARGET_EXE_STANDALONE $(OPTFLAGS) -c + #C_COMPILER_OPTIONS = -c $(P_INCL) -ansi -O3 -fsigned-char -ffunction-sections -fexpensive-optimizations -fstack-check -fexceptions -Wall -pedantic -Wbad-function-cast -Wreturn-type -Wformat -Wuninitialized -Wcast-align -Wshadow -Wunused -Wunused-value -Wunused-variable -Wunused-function -Wunused-parameter -Wunused-label -Wcomment -Wcast-qual -Wconversion -Wimplicit-int -Wmissing-braces -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wsign-compare -Wfloat-equal -Wstrict-prototypes -Wwrite-strings -Wundef -Waggregate-return -Wchar-subscripts -Wformat-nonliteral -Wnested-externs -Wsequence-point -Wpointer-arith -mfancy-math-387 -mieee-fp -mno-soft-float + ifdef windir + # no -ansi option due to reported MinGw bug diff --git a/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb b/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb new file mode 100644 index 00000000000..5a860841eb5 --- /dev/null +++ b/easybuild/easyconfigs/i/InParanoid/InParanoid-5.0-20220607-GCC-10.3.0.eb @@ -0,0 +1,62 @@ +## +# 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 = 'Tarball' + +name = 'InParanoid' +version = '5.0-20220607' +local_commit = '79d8e39bb243d403ce57b699c1ae104a8a640389' + +homepage = 'https://inparanoid.sbc.su.se' +description = """InParanoid: ortholog groups with inparalogs.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://bitbucket.org/sonnhammergroup/inparanoid/get/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['efe1a35bbb70608385780c4bf62969a29c46dd8132fbe472034422d23ad4b0c2'] # for commit 79d8e39 + +# NOTE some dependencies are not listed on the web site such as Java! +dependencies = [ + ('Perl', '5.32.1'), # brings libmoose-perl and libparallel-forkmanager-perl + ('BioPerl', '1.7.8'), + ('Java', '11', '', SYSTEM), + ('BLAST', '2.2.26', '-Linux_x86_64', SYSTEM), + ('DIAMOND', '2.0.13'), +] + +# NOTE inparanoid.pl uses only local (same directory) paths, so patch it +postinstallcmds = [ + "rm -rf %(installdir)s/docker/ %(installdir)s/singularity/", + "chmod a+rx %(installdir)s/*.pl", + "chmod -x %(installdir)s/*.jar", + "perl -i -pe 's|helpfile = \"help\"|helpfile = \"%(installdir)s/help\"|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|seqstat = \"|seqstat = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|blastParser = \"|blastParser = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + "perl -i -pe 's|diamondParser = \"|diamondParser = \"%(installdir)s/|' %(installdir)s/inparanoid.pl", + r"""perl -i -pe 's|copy\("\./|copy\("%(installdir)s/|' %(installdir)s/inparanoid.pl""", + r"perl -i -pe 's|\./$blastParser|$blastParser|g' %(installdir)s/inparanoid.pl", +] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['inparanoid.pl', 'blast_parser.pl', 'diamondParser.pl'], + 'dirs': ['matrices', 'testInput'], +} + +modextrapaths = { + 'PATH': '', +} + +sanity_check_commands = [ + "cd %(builddir)s && inparanoid.pl -input-dir %(installdir)s/testInput/", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb b/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb new file mode 100644 index 00000000000..6507aebe1f9 --- /dev/null +++ b/easybuild/easyconfigs/i/Inferelator/Inferelator-0.6.1-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Inferelator' +version = '0.6.1' + +homepage = 'https://github.com/flatironinstitute/inferelator' +description = """Inferelator 3.0 is a package for gene regulatory network inference that is based on + regularized regression.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('inferelator', version, { + 'checksums': ['4ae106ca5f67c876983f025013e8b1464c1eaaf9e54f204888bf90369c8e6852'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb new file mode 100644 index 00000000000..968e466b4e5 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2020b.eb @@ -0,0 +1,39 @@ +## +# 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 +# Updated:: Denis Kristak (INUITS) +# $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 = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb new file mode 100644 index 00000000000..2f490f5de24 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021a.eb @@ -0,0 +1,40 @@ +## +# 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:: BSD +# Updated:: Denis Kristak (INUITS) +# Updated:: Sebastien Moretti (SIB) +# $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 = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021b.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021b.eb new file mode 100644 index 00000000000..b4cf81be85e --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2021b.eb @@ -0,0 +1,39 @@ +## +# 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 +# Updated:: Denis Kristak (INUITS) +# $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 = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022a.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022a.eb new file mode 100644 index 00000000000..a3af0dda34b --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022a.eb @@ -0,0 +1,39 @@ +## +# 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 +# Updated:: Denis Kristak (INUITS) +# $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 = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022b.eb b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022b.eb new file mode 100644 index 00000000000..57d29e7b2b7 --- /dev/null +++ b/easybuild/easyconfigs/i/Infernal/Infernal-1.1.4-foss-2022b.eb @@ -0,0 +1,39 @@ +## +# 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 +# Updated:: Denis Kristak (INUITS) +# $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 = 'Infernal' +version = "1.1.4" + +homepage = 'http://eddylab.org/infernal/' +description = """Infernal ("INFERence of RNA ALignment") is for searching DNA sequence databases + for RNA structure and sequence similarities.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['http://eddylab.org/%(namelower)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f9493c7dee9fbf25f6405706818883d24b9f5e455121a0662c96c8f0307f95fc'] + +local_bins = ['align', 'build', 'calibrate', 'convert', 'emit', 'fetch', 'press', 'scan', 'search', 'stat'] + +sanity_check_paths = { + 'files': ['bin/cm%s' % x for x in local_bins], + 'dirs': [] +} + +sanity_check_commands = ['cm%s -h' % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2019_update5.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2019_update5.eb index b27635916ca..179e26005de 100644 --- a/easybuild/easyconfigs/i/Inspector/Inspector-2019_update5.eb +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2019_update5.eb @@ -7,7 +7,7 @@ description = """Intel Inspector XE is an easy to use memory error checker and t toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15827/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15827/'] sources = ['inspector_%(version)s.tar.gz'] checksums = ['676fd0b25a56fba63495c048abf485b08583cbb01eb0cf6e1174ee7b352af6d5'] diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2021.4.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2021.4.0.eb new file mode 100644 index 00000000000..494b031a5e1 --- /dev/null +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2021.4.0.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'Inspector' +version = '2021.4.0' + +homepage = 'https://software.intel.com/en-us/inspector' +description = """Intel Inspector is a dynamic memory and threading error + checking tool for users developing serial and parallel applications""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18239/'] +sources = ['l_inspector_oneapi_p_%(version)s.266_offline.sh'] +checksums = ['c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274'] + +dontcreateinstalldir = True + +requires_runtime_license = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb new file mode 100644 index 00000000000..22f082dd1f4 --- /dev/null +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2022.0.0.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'Inspector' +version = '2022.0.0' + +homepage = 'https://software.intel.com/en-us/inspector' +description = """Intel Inspector is a dynamic memory and threading error + checking tool for users developing serial and parallel applications""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18363/'] +sources = ['l_inspector_oneapi_p_%(version)s.56_offline.sh'] +checksums = ['79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741'] + +dontcreateinstalldir = True + +requires_runtime_license = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb new file mode 100644 index 00000000000..33515e7a8e5 --- /dev/null +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2022.1.0.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'Inspector' +version = '2022.1.0' + +homepage = 'https://software.intel.com/en-us/inspector' +description = """Intel Inspector is a dynamic memory and threading error + checking tool for users developing serial and parallel applications""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18712/'] +sources = ['l_inspector_oneapi_p_%(version)s.123_offline.sh'] +checksums = ['8551180aa30be3abea11308fb11ea9a296f0e056ab07d9254585448a0b23333e'] + +dontcreateinstalldir = True + +requires_runtime_license = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/Inspector/Inspector-2023.2.0.eb b/easybuild/easyconfigs/i/Inspector/Inspector-2023.2.0.eb new file mode 100644 index 00000000000..dba0ea08d61 --- /dev/null +++ b/easybuild/easyconfigs/i/Inspector/Inspector-2023.2.0.eb @@ -0,0 +1,19 @@ + +name = 'Inspector' +version = '2023.2.0' + +homepage = 'https://software.intel.com/en-us/inspector' +description = """Intel Inspector is a dynamic memory and threading error + checking tool for users developing serial and parallel applications""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2a99eafd-5109-41a1-9762-aee0c7ecbeb7/'] +sources = ['l_inspector_oneapi_p_%(version)s.49304_offline.sh'] +checksums = ['36b2ca94e5a69b68cbf9cbfde0a8e1aa58d02fb03f4d81db69769c96c20d4130'] + +dontcreateinstalldir = True + +requires_runtime_license = False + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb new file mode 100644 index 00000000000..c0357dea2d0 --- /dev/null +++ b/easybuild/easyconfigs/i/IntelClusterChecker/IntelClusterChecker-2021.5.0.eb @@ -0,0 +1,42 @@ +## +# Author: Andre Gemuend +## +easyblock = "IntelBase" +name = 'IntelClusterChecker' +version = '2021.5.0' + +homepage = 'https://software.intel.com/en-us/cluster-checker' +description = """Intel Cluster Checker verifies the configuration and +performance of Linux OS-based clusters. Anomalies and performance differences +can be identified and practical resolutions provided. +""" + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18359/'] +sources = ['l_clck_p_%(version)s.560_offline.sh'] +checksums = ['2b661eff4a87607fd29e21fe29883873c0a7216d7d0a99557dc48b6eae9adeb0'] + +dontcreateinstalldir = True + +modextrapaths = { + 'CPLUS_INCLUDE_PATH': 'clck/%(version)s/include', + 'MANPATH': 'clck/%(version)s/man', + 'CLCK_ROOT': 'clck/%(version)s', + 'LIBRARY_PATH': 'clck/%(version)s/lib/intel64', + 'PATH': 'clck/%(version)s/bin/intel64' +} + +sanity_check_paths = { + 'files': ['clck/%(version)s/bin/clckvars.sh', + 'clck/%(version)s/bin/clckvars.csh', + 'clck/%(version)s/bin/intel64/clck', + 'clck/%(version)s/bin/intel64/clck-analyze', + 'clck/%(version)s/bin/intel64/clck-collect', + 'clck/%(version)s/bin/intel64/clckdb'], + 'dirs': [], +} + +sanity_check_commands = ["clck -h"] + +moduleclass = 'perf' 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/IntelPython/IntelPython-2.7.15-2019.2.066.eb b/easybuild/easyconfigs/i/IntelPython/IntelPython-2.7.15-2019.2.066.eb index c46f42bb81b..48ab0a8f836 100644 --- a/easybuild/easyconfigs/i/IntelPython/IntelPython-2.7.15-2019.2.066.eb +++ b/easybuild/easyconfigs/i/IntelPython/IntelPython-2.7.15-2019.2.066.eb @@ -15,7 +15,7 @@ description = """ Accelerating Python* performance on modern architectures from Intel. """ -source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15115/'] +source_urls = ['http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15115/'] sources = ['l_pythoni%s_p_%s.tar.gz' % (local_pysver, local_relver)] checksums = ['dd0b73db5d0d79c3cdf779d10092eae32780d720b74ed8fde2a2c46e23143de1'] diff --git a/easybuild/easyconfigs/i/IntelPython/IntelPython-3.6.8-2019.2.066.eb b/easybuild/easyconfigs/i/IntelPython/IntelPython-3.6.8-2019.2.066.eb index fd51e3b2082..d0c2dc13c67 100644 --- a/easybuild/easyconfigs/i/IntelPython/IntelPython-3.6.8-2019.2.066.eb +++ b/easybuild/easyconfigs/i/IntelPython/IntelPython-3.6.8-2019.2.066.eb @@ -15,7 +15,7 @@ description = """ Accelerating Python* performance on modern architectures from Intel. """ -source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15115/'] +source_urls = ['http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15115/'] sources = ['l_pythoni%s_p_%s.tar.gz' % (local_pysver, local_relver)] checksums = ['804883fc1413ee72b0ae421a8ac82ab158fc01c8b4631a44a9d2ef1a19324751'] 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/InterProScan/InterProScan-5.26-65.0-intel-2017b.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.26-65.0-intel-2017b.eb index 76b2b69e139..03a9b9f0119 100644 --- a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.26-65.0-intel-2017b.eb +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.26-65.0-intel-2017b.eb @@ -26,7 +26,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_152', '', True), + ('Java', '1.8.0_152', '', SYSTEM), ('Perl', '5.26.0'), ('libgd', '2.2.5'), ('Python', '2.7.14'), diff --git a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.27-66.0-intel-2017b.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.27-66.0-intel-2017b.eb index 1542ef84a85..bb69e1b65bb 100644 --- a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.27-66.0-intel-2017b.eb +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.27-66.0-intel-2017b.eb @@ -26,7 +26,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_152', '', True), + ('Java', '1.8.0_152', '', SYSTEM), ('Perl', '5.26.0'), ('libgd', '2.2.5'), ('Python', '2.7.14'), diff --git a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.28-67.0-intel-2018a.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.28-67.0-intel-2018a.eb index c82158bd56c..129c5160aa2 100644 --- a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.28-67.0-intel-2018a.eb +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.28-67.0-intel-2018a.eb @@ -26,7 +26,7 @@ checksums = [ ] dependencies = [ - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('Perl', '5.26.1'), ('libgd', '2.2.5'), ('Python', '2.7.14'), diff --git a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.52-86.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.52-86.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fdfeaac821f --- /dev/null +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.52-86.0-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Tarball' + +name = 'InterProScan' +version = '5.52-86.0' + +homepage = 'https://www.ebi.ac.uk/interpro/' +description = """InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines + different protein signature recognition methods into one resource.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +# from my location, the ftp download is 30x faster than http/https +source_urls = [ + 'ftp://ftp.ebi.ac.uk/pub/software/unix/iprscan/%(version_major)s/%(version)s/', + 'https://ftp.ebi.ac.uk/pub/software/unix/iprscan/%(version_major)s/%(version)s/', +] +sources = ['%(namelower)s-%(version)s-64-bit.tar.gz'] +checksums = ['50a03c47fb16c669c265e99ba05c4a8558b82047f713c9945f362d3d4be6069a'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.32.1'), + ('libgd', '2.3.1'), + ('Python', '3.9.5'), + ('pftoolsV3', '3.2.11'), +] + +postinstallcmds = [ + "cd %(installdir)s && python initial_setup.py", + "rm -v %(installdir)s/bin/prosite/*V3", + "ln -s $EBROOTPFTOOLSV3/bin/pfscanV3 %(installdir)s/bin/prosite/pfscanV3", + "ln -s $EBROOTPFTOOLSV3/bin/pfsearchV3 %(installdir)s/bin/prosite/pfsearchV3", +] + +sanity_check_paths = { + 'files': ['interproscan-%(version_major)s.jar', 'interproscan.sh', 'interproscan.properties'], + 'dirs': ['bin', 'lib', 'data/panther/15.0'], +} + +sanity_check_commands = ["interproscan.sh 2>&1 | grep 'Welcome to InterProScan-%(version)s'"] + +# also include top install directory in $PATH, to make interproscan.sh available +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.55-88.0-foss-2021a.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.55-88.0-foss-2021a.eb new file mode 100644 index 00000000000..aa12f6d8bf5 --- /dev/null +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.55-88.0-foss-2021a.eb @@ -0,0 +1,59 @@ +easyblock = 'Binary' + +name = 'InterProScan' +version = '5.55-88.0' + +homepage = 'https://www.ebi.ac.uk/interpro/' +# also https://github.com/ebi-pf-team/interproscan +description = """InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines + different protein signature recognition methods into one resource [code only: libraries and external binaries + but no data].""" +# software_license = 'LicenseApachev2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://ftp.ebi.ac.uk/pub/software/unix/iprscan/%(version_major)s/%(version)s/alt/', +] +sources = [ + '%(namelower)s-core-%(version)s.tar.gz', +] +checksums = [ + '661e62d6070f2507978ac8879e897e29df0478cbb387ba3c72ca36de52b1af02', # interproscan-core-5.55-88.0.tar.gz +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.32.1'), + ('libgd', '2.3.1'), + ('Python', '3.9.5'), + ('PCRE', '8.44'), +] +# NOTE some analyses done by InterProScan require extra tools not included in the interproscan +# distribution because of license issues. +# Those tools are SignalP, TMHMM and Phobius. +# To allow InterProScan to use them you have to copy or symlink their executable in the +# corresponding %(installdir)s/bin/TOOL/VERSION/ folder. + +extract_sources = False + +# NOTE The data can be added manually afterwards with for example a symlink called *data* +# in %(installdir)s/ +# But simpler to use the InterProScan_data-*.eb file. The regular InterProScan data package +# does not contain the lookup_service data way too large! +install_cmd = 'tar xfz %(namelower)s-core-%(version)s.tar.gz && ' +install_cmd += 'cd %(namelower)s-%(version)s/ && ' +install_cmd += 'find . -type d -name bin32 | xargs rm -Rf && ' +install_cmd += 'rm -f test* && rm -Rf src/ && ' +install_cmd += 'chmod -x *.jar && ' +install_cmd += 'cp -r * %(installdir)s/ && cd .. && ' +install_cmd += 'rm -Rf %(namelower)s-%(version)s/' + +sanity_check_paths = { + 'files': ['interproscan-%(version_major)s.jar', 'interproscan.sh', 'interproscan.properties'], + 'dirs': ['bin', 'lib'], +} + +sanity_check_commands = ["interproscan.sh 2>&1 | grep 'Welcome to InterProScan-%(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/InterProScan/InterProScan-5.62-94.0-foss-2022b.eb b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.62-94.0-foss-2022b.eb new file mode 100644 index 00000000000..fb71e8845fa --- /dev/null +++ b/easybuild/easyconfigs/i/InterProScan/InterProScan-5.62-94.0-foss-2022b.eb @@ -0,0 +1,53 @@ +easyblock = 'Binary' + +name = 'InterProScan' +version = '5.62-94.0' + +homepage = 'https://www.ebi.ac.uk/interpro/' +# also https://github.com/ebi-pf-team/interproscan +description = """InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines + different protein signature recognition methods into one resource [code only: libraries and external binaries + but no data].""" +# software_license = 'LicenseApachev2' + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/software/unix/iprscan/%(version_major)s/%(version)s/alt/'] +sources = ['interproscan-core-%(version)s.tar.gz'] +checksums = ['98caccaea4d47dbbb0975e7a09a4253b7e7b2796163567d2763f39d0a822c2a9'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Perl', '5.36.0'), + ('libgd', '2.3.3'), + ('Python', '3.10.8'), + ('PCRE', '8.45'), +] +# NOTE some analyses done by InterProScan require extra tools not included in the interproscan +# distribution because of license issues. +# Those tools are SignalP, TMHMM and Phobius. +# To allow InterProScan to use them you have to copy or symlink their executable in the +# corresponding %(installdir)s/bin/TOOL/VERSION/ folder. + +extract_sources = False + +# NOTE The data can be added manually afterwards with for example a symlink called *data* +# in %(installdir)s/ +# But simpler to use the InterProScan_data-*.eb file. The regular InterProScan data package +# does not contain the lookup_service data way too large! +install_cmd = 'tar xfz %(namelower)s-core-%(version)s.tar.gz && ' +install_cmd += 'cd %(namelower)s-%(version)s/ && ' +install_cmd += 'find . -type d -name bin32 | xargs rm -Rf && ' +install_cmd += 'rm -f test* && rm -Rf src/ && ' +install_cmd += 'chmod -x *.jar && ' +install_cmd += 'cp -r * %(installdir)s/ && cd .. && ' +install_cmd += 'rm -Rf %(namelower)s-%(version)s/' + +sanity_check_paths = { + 'files': ['interproscan-%(version_major)s.jar', 'interproscan.sh', 'interproscan.properties'], + 'dirs': ['bin', 'lib'], +} + +sanity_check_commands = ["interproscan.sh 2>&1 | grep 'Welcome to InterProScan-%(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/InterProScan_data/InterProScan_data-5.55-88.0-foss-2021a.eb b/easybuild/easyconfigs/i/InterProScan_data/InterProScan_data-5.55-88.0-foss-2021a.eb new file mode 100644 index 00000000000..d6622f2f8a5 --- /dev/null +++ b/easybuild/easyconfigs/i/InterProScan_data/InterProScan_data-5.55-88.0-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'Binary' + +name = 'InterProScan_data' +version = '5.55-88.0' + +homepage = 'https://www.ebi.ac.uk/interpro/' +# also https://github.com/ebi-pf-team/interproscan +description = """InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines + different protein signature recognition methods into one resource [data only].""" +# software_license = 'LicenseApachev2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://ftp.ebi.ac.uk/pub/software/unix/iprscan/%(version_major)s/%(version)s/alt/', +] +sources = [ + 'interproscan-data-%(version)s.tar.gz', +] +checksums = [ + '2beffa16b367a1884800f0d65c2dcb1e772d7330688e76b8f02f9cc48564f12a', # interproscan-data-5.55-88.0.tar.gz +] + +dependencies = [ + ('InterProScan', '%(version)s'), +] + +extract_sources = False + +# NOTE The regular InterProScan data package does not contain the lookup_service data way too large! +install_cmd = 'tar xfz interproscan-data-%(version)s.tar.gz --directory %(installdir)s/ --strip-components=1 && ' +install_cmd += 'rm -f interproscan-data-%(version)s.tar.gz && ' +install_cmd += 'rm -rf $EBROOTINTERPROSCAN/data && ' +install_cmd += 'ln -s %(installdir)s/data $EBROOTINTERPROSCAN/data' + +# NOTE finalize the data indexing that needs to be done before/at the first use +postinstallcmds = ["$EBROOTINTERPROSCAN/interproscan.sh || true"] + +sanity_check_paths = { + 'files': [], + 'dirs': ['data/antifam', 'data/cdd', 'data/gene3d', 'data/hamap', + 'data/panther', 'data/pfam', 'data/phobius', 'data/pirsf', + 'data/pirsr', 'data/prints', 'data/prosite', 'data/sfld', + 'data/smart', 'data/superfamily', 'data/tigrfam', 'data/tmhmm'], +} + +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/Iris/Iris-1.0.5-GCC-11.2.0-Java-15.eb b/easybuild/easyconfigs/i/Iris/Iris-1.0.5-GCC-11.2.0-Java-15.eb new file mode 100644 index 00000000000..90f8eac533d --- /dev/null +++ b/easybuild/easyconfigs/i/Iris/Iris-1.0.5-GCC-11.2.0-Java-15.eb @@ -0,0 +1,40 @@ +easyblock = 'CmdCp' + +name = 'Iris' +version = '1.0.5' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/mkirsche/Iris' +description = """A module for improving the insertion sequences of structural variant calls""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'mkirsche' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a71718d418fb8b1afacbe2b3a6b91fd50cadc9e12c0b532739b955e455913b0b'] + +dependencies = [ + ('Java', '15', '', SYSTEM), + ('minimap2', '2.22'), + ('HTSlib', '1.14'), + ('SAMtools', '1.14'), + ('Racon', '1.5.0'), +] + +cmds_map = [('.*', "./build_jar.sh")] + +files_to_copy = [ + 'iris.jar', +] + +modloadmsg = "To execute Iris run: java -jar $EBROOTIRIS/%(namelower)s.jar" + +sanity_check_commands = ['java -jar $EBROOTIRIS/iris.jar'] + +sanity_check_paths = { + 'files': ['iris.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoNet/IsoNet-0.1_20210822_04_674f67f-fosscuda-2020b.eb b/easybuild/easyconfigs/i/IsoNet/IsoNet-0.1_20210822_04_674f67f-fosscuda-2020b.eb new file mode 100644 index 00000000000..48e8d55811f --- /dev/null +++ b/easybuild/easyconfigs/i/IsoNet/IsoNet-0.1_20210822_04_674f67f-fosscuda-2020b.eb @@ -0,0 +1,67 @@ +# Thomas Hofffmann, EMBL Heidelberg, structures-it@embl.de, 2021/09 +easyblock = 'Tarball' # there is no setup.py -> unpack tarball and move to site-packages in postinstall. + +name = 'IsoNet' +# There is no version tag available in github. Using commit and date instead. +local_commit = '674f67f1afb8aa1353c0d67ccb55263c1f20576f' +local_version = '0.1' +local_commit_date = '20210822' +local_commit_count = '04' +version = '%s_%s_%s_%s' % (local_version, local_commit_date, local_commit_count, local_commit[:7]) + +homepage = 'https://github.com/Heng-Z/IsoNet' +description = """IsoNet stands for for ISOtropic reconstructioN of Electron Tomography. It trains +deep convolutional neural networks to reconstruct meaningful contents in the mis +sing wedge for electron tomography, and to increase signal-to-noise ratio, +using the information learned from the original tomogram. The software requires +tomograms as input. Observing at about 30A resolution, the IsoNet generated +tomograms are largely isotropic.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = ['https://github.com/Heng-Z/IsoNet/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['dac1583bbab0d6b09496657b5d237b9c35c9a70ee9c0089a174e571b78892d49'] + +install_type = 'subdir' +postinstallcmds = [ + 'find %(installdir)s/isonet -name \'*.pyc\' -exec rm {} \\;' + '&& mv %(installdir)s/isonet %(installdir)s/lib/python%(pyshortver)s/site-packages/IsoNet' +] + +dependencies = [ + ('Python', '3.8.6'), + ('TensorFlow', '2.4.1'), + ('PyQt5', '5.15.1'), + ('SciPy-bundle', '2020.11'), + ('mrcfile', '1.3.0'), + ('tqdm', '4.56.2'), + ('scikit-image', '0.18.1') # acc. to requirements.txt: ==0.17.2 ! +] +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} +exts_defaultclass = 'PythonPackage' +exts_list = [ + ('fire', '0.4.0', { + 'modulename': 'fire', + 'source_urls': ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'], + 'checksums': ['c5e2b8763699d1142393a46d0e3e790c5eb2f0706082df8f647878842c216a62'], + }), +] + +modextrapaths = { + 'PATH': 'lib/python%(pyshortver)s/site-packages/IsoNet/bin', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/' +} +sanity_check_commands = [ + 'isonet.py check', + 'isonet.py --help', +] +sanity_check_paths = { + 'files': [], + 'dirs': ["lib/python%(pyshortver)s/site-packages/IsoNet"] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.3.0-foss-2022b.eb b/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.3.0-foss-2022b.eb new file mode 100644 index 00000000000..004bb7d155a --- /dev/null +++ b/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.3.0-foss-2022b.eb @@ -0,0 +1,45 @@ +easyblock = 'Tarball' + +name = 'IsoQuant' +version = '3.3.0' + +homepage = 'https://github.com/ablab/IsoQuant' +description = """IsoQuant is a tool for the genome-based analysis of long RNA reads, + such as PacBio or Oxford Nanopores. IsoQuant allows to reconstruct and quantify + transcript models with high precision and decent recall. If the reference annotation is given, + IsoQuant also assigns reads to the annotated isoforms based on their intron and exon structure. + IsoQuant further performs annotated gene, isoform, exon and intron quantification. + If reads are grouped (e.g. according to cell type), counts are reported according to the provided grouping.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/ablab/%(name)s/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] + +checksums = ['5c0e793a33f1b39b9f4888f7bade7f827f68bfb113535e08099906f7ad4689ce'] + +dependencies = [ + ('Python', '3.10.8'), + ('gffutils', '0.12'), + ('Biopython', '1.81'), + ('SciPy-bundle', '2023.02'), + ('pybedtools', '0.9.0'), + ('Pysam', '0.21.0'), + ('pyfaidx', '0.7.2.1'), + ('minimap2', '2.26'), + ('SAMtools', '1.17'), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['isoquant.py'], + 'dirs': [], +} + +sanity_check_commands = ["mkdir -p %(builddir)s && cd %(builddir)s && isoquant.py --test"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.5.0-foss-2023a.eb b/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.5.0-foss-2023a.eb new file mode 100644 index 00000000000..41248bcbf73 --- /dev/null +++ b/easybuild/easyconfigs/i/IsoQuant/IsoQuant-3.5.0-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'Tarball' + +name = 'IsoQuant' +version = '3.5.0' + +homepage = 'https://github.com/ablab/IsoQuant' +description = """IsoQuant is a tool for the genome-based analysis of long RNA reads, + such as PacBio or Oxford Nanopores. IsoQuant allows to reconstruct and quantify + transcript models with high precision and decent recall. If the reference annotation is given, + IsoQuant also assigns reads to the annotated isoforms based on their intron and exon structure. + IsoQuant further performs annotated gene, isoform, exon and intron quantification. + If reads are grouped (e.g. according to cell type), counts are reported according to the provided grouping.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/ablab/%(name)s/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['8cbba80b5eb0ed85fe0b519693157eb97820bc1d79ff44435736bf799af85c1f'] + +dependencies = [ + ('Python', '3.11.3'), + ('gffutils', '0.13'), + ('Biopython', '1.83'), + ('SciPy-bundle', '2023.07'), + ('pybedtools', '0.9.1'), + ('Pysam', '0.22.0'), + ('pyfaidx', '0.8.1.1'), + ('minimap2', '2.26'), + ('SAMtools', '1.18'), + ('PyYAML', '6.0'), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['isoquant.py'], + 'dirs': [], +} + +sanity_check_commands = ["mkdir -p %(builddir)s && cd %(builddir)s && isoquant.py --test"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoSeq/IsoSeq-3.8.2-linux-x86_64.eb b/easybuild/easyconfigs/i/IsoSeq/IsoSeq-3.8.2-linux-x86_64.eb new file mode 100644 index 00000000000..7640ceca208 --- /dev/null +++ b/easybuild/easyconfigs/i/IsoSeq/IsoSeq-3.8.2-linux-x86_64.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'IsoSeq' +version = '3.8.2' +versionsuffix = '-linux-x86_64' + +homepage = 'https://github.com/PacificBiosciences/ioseq3' +description = """IsoSeq v3 contains the newest tools to identify transcripts + in PacBio single-molecule sequencing data. Starting in SMRT + Link v6.0.0, those tools power the IsoSeq GUI-based analysis + application. A composable workflow of existing tools and + algorithms, combined with a new clustering technique, allows + to process the ever-increasing yield of PacBio machines with + similar performance to IsoSeq versions 1 and 2. Starting with + version 3.4, support for UMI and cell barcode based + deduplication has been added. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/PacificBiosciences/%(namelower)s/releases/download/v%(version)s'] +sources = [{'download_filename': 'isoseq3', 'filename': 'isoseq3-%(version)s'}] +checksums = ["3d012810dc4cb54f89a7c80b26fc5f27da26c11f7ad6062cab462a6c691678f7"] + +extract_sources = False + +install_cmd = "cp isoseq3-%(version)s %(installdir)s/isoseq3 && chmod a+rx %(installdir)s/isoseq3" + +sanity_check_paths = { + 'files': ['isoseq3'], + 'dirs': [], +} + +sanity_check_commands = ["isoseq3 --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoSeq/IsoSeq-4.0.0-linux-x86_64.eb b/easybuild/easyconfigs/i/IsoSeq/IsoSeq-4.0.0-linux-x86_64.eb new file mode 100644 index 00000000000..5485419a346 --- /dev/null +++ b/easybuild/easyconfigs/i/IsoSeq/IsoSeq-4.0.0-linux-x86_64.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'IsoSeq' +version = '4.0.0' +versionsuffix = '-linux-x86_64' + +homepage = 'https://github.com/PacificBiosciences/ioseq3' +description = """IsoSeq v3 contains the newest tools to identify transcripts + in PacBio single-molecule sequencing data. Starting in SMRT + Link v6.0.0, those tools power the IsoSeq GUI-based analysis + application. A composable workflow of existing tools and + algorithms, combined with a new clustering technique, allows + to process the ever-increasing yield of PacBio machines with + similar performance to IsoSeq versions 1 and 2. Starting with + version 3.4, support for UMI and cell barcode based + deduplication has been added. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/PacificBiosciences/%(namelower)s/releases/download/v%(version)s'] +sources = [{'download_filename': 'isoseq', 'filename': 'isoseq-%(version)s'}] +checksums = ['5766001507cf2a351b260cf38b717351dd676a7c87eb7c285c3c43a4a458f4b2'] + +extract_sources = False + +install_cmd = "cp isoseq-%(version)s %(installdir)s/isoseq && chmod a+rx %(installdir)s/isoseq" + +sanity_check_paths = { + 'files': ['isoseq'], + 'dirs': [], +} + +sanity_check_commands = ["isoseq --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/IsoformSwitchAnalyzeR/IsoformSwitchAnalyzeR-1.18.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/i/IsoformSwitchAnalyzeR/IsoformSwitchAnalyzeR-1.18.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..fb68eb66e3a --- /dev/null +++ b/easybuild/easyconfigs/i/IsoformSwitchAnalyzeR/IsoformSwitchAnalyzeR-1.18.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,50 @@ +easyblock = 'Bundle' + +name = 'IsoformSwitchAnalyzeR' +version = '1.18.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://bioconductor.org/packages/release/bioc/html/IsoformSwitchAnalyzeR.html' +description = """Analysis of alternative splicing and isoform switches with predicted functional consequences + (e.g. gain/loss of protein domains etc.) from quantification of all types of RNASeq by tools such as + Kallisto, Salmon, StringTie, Cufflinks/Cuffdiff etc.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('DEXSeq', '1.42.0', { + 'checksums': ['550910c28638c78d74ea57ef8af01ef7d76ba91b36668432cf6c5f54774dfdb7'], + }), + ('tximeta', '1.14.1', { + 'checksums': ['28e7d85a5f840356d54db528439ec9b2944a766e0a217afb50e0c796272db843'], + }), + (name, version, { + 'checksums': ['6d6e3acc1b16a1067fe6fccd20a5b7853871dc1c71f08df5ed35a8fe555a2f58'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/i7z/i7z-0.27.2_fix_gcc-10.patch b/easybuild/easyconfigs/i/i7z/i7z-0.27.2_fix_gcc-10.patch new file mode 100644 index 00000000000..3c65993d11d --- /dev/null +++ b/easybuild/easyconfigs/i/i7z/i7z-0.27.2_fix_gcc-10.patch @@ -0,0 +1,16 @@ +# Add -fcommon to the CFLAGS +# see https://bugs.gentoo.org/706690 +# +# Daniel Hedman, 20220416 +diff -ru i7z.orig/Makefile i7z/Makefile +--- i7z.orig/Makefile 2022-04-01 19:33:00.000000000 +0900 ++++ i7z/Makefile 2022-04-01 19:33:23.000000000 +0900 +@@ -8,7 +8,7 @@ + #here + CFLAGS_FOR_AVOIDING_SEG_FAULT = -fno-schedule-insns2 -fno-schedule-insns -fno-inline-small-functions -fno-caller-saves + CFLAGS ?= -O3 +-CFLAGS += $(CFLAGS_FOR_AVOIDING_SEG_FAULT) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILD_MAIN -Wimplicit-function-declaration ++CFLAGS += $(CFLAGS_FOR_AVOIDING_SEG_FAULT) -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILD_MAIN -Wimplicit-function-declaration -fcommon + + LBITS := $(shell getconf LONG_BIT) + ifeq ($(LBITS),64) diff --git a/easybuild/easyconfigs/i/i7z/i7z-20131012-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/i7z/i7z-20131012-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f3652d8c8da --- /dev/null +++ b/easybuild/easyconfigs/i/i7z/i7z-20131012-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'i7z' +version = '20131012' +local_commit = '5023138' + +homepage = 'https://github.com/ajaiantilal/i7z' +description = """A better i7 (and now i3, i5) reporting tool for Linux +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/ajaiantilal/i7z/archive'] +sources = ['%s.tar.gz' % local_commit] +patches = [ + ('i7z-0.27.2_fix_gcc-10.patch'), +] +checksums = [ + 'e127bddf850e7febd39cef2d2b13dca5fe19cc2a1bb1099d72b683be5d8bd1c0', # 5023138.tar.gz + 'e45dbcd5845e9a4480c8a287b47572bc3b93f69d71ae4dc7ab5157b2aa04826e', # i7z-0.27.2_fix_gcc-10.patch +] + +builddependencies = [ + ('binutils', '2.37') +] + +dependencies = [ + ('ncurses', '6.2'), +] + +files_to_copy = [( + [ + 'i7z', + 'i7z_32bit', + 'i7z_64bit' + ], 'bin')] + +sanity_check_paths = { + 'files': ['bin/i7z', 'bin/i7z_32bit', 'bin/i7z_64bit'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/icc/icc-2018.1.163-GCC-6.4.0-2.28.eb b/easybuild/easyconfigs/i/icc/icc-2018.1.163-GCC-6.4.0-2.28.eb index ca49a084587..f6eb99cebdc 100644 --- a/easybuild/easyconfigs/i/icc/icc-2018.1.163-GCC-6.4.0-2.28.eb +++ b/easybuild/easyconfigs/i/icc/icc-2018.1.163-GCC-6.4.0-2.28.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12382/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12382/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] checksums = ['ddbfdf88eed095817650ec0a226ef3b9c07c41c855d258e80eaade5173fedb6e'] diff --git a/easybuild/easyconfigs/i/icc/icc-2018.3.222-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/icc/icc-2018.3.222-GCC-7.3.0-2.30.eb index 9b3a071f005..c04b1a09909 100644 --- a/easybuild/easyconfigs/i/icc/icc-2018.3.222-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/icc/icc-2018.3.222-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13003/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13003/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] checksums = ['d8b7e6633faa2e0b7d4eebf3260cb3a200b951cb2cf7b5db957c5ae71508d34b'] diff --git a/easybuild/easyconfigs/i/icc/icc-2018.5.274-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/icc/icc-2018.5.274-GCC-7.3.0-2.30.eb index 3918ba3f3f1..f2d6c096878 100644 --- a/easybuild/easyconfigs/i/icc/icc-2018.5.274-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/icc/icc-2018.5.274-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13723/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13723/'] # released as "2018 update 4" despite internal version number if 2018.5.274, so can't use %(version_minor)s template sources = ['parallel_studio_xe_%(version_major)s_update4_composer_edition_for_cpp.tgz'] checksums = ['3850ab2a01fe8888af8fed65b7d24e0ddf45a84efe9635ff0f118c38dfc4544b'] diff --git a/easybuild/easyconfigs/i/icc/icc-2019.0.117-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/icc/icc-2019.0.117-GCC-8.2.0-2.31.1.eb index b78d2e8e11c..5cf05e6a559 100644 --- a/easybuild/easyconfigs/i/icc/icc-2019.0.117-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/icc/icc-2019.0.117-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13582/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13582/'] sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_cpp.tgz'] checksums = ['17932a54a76d04432de16e6db15a6ed80fa80ed20193f3b717fd391f623e23e1'] diff --git a/easybuild/easyconfigs/i/icc/icc-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/icc/icc-2019.1.144-GCC-8.2.0-2.31.1.eb index 7b37d3169dc..f2341a844c3 100644 --- a/easybuild/easyconfigs/i/icc/icc-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/icc/icc-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14865/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14865/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] checksums = ['4a156bbeac9bd8d67e74b33ad6f3ae02d4c24c8444365465db6dc50d3e891946'] diff --git a/easybuild/easyconfigs/i/icc/icc-2019.2.187-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/icc/icc-2019.2.187-GCC-8.2.0-2.31.1.eb index f192fd17472..9f9b71a21df 100644 --- a/easybuild/easyconfigs/i/icc/icc-2019.2.187-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/icc/icc-2019.2.187-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15093/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15093/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] checksums = ['fc434a2e005af223f43d258c16f004134def726a8d2a225e830af85d553bee55'] diff --git a/easybuild/easyconfigs/i/icc/icc-2019.3.199-GCC-8.3.0-2.32.eb b/easybuild/easyconfigs/i/icc/icc-2019.3.199-GCC-8.3.0-2.32.eb index 65821a417db..2d194db100a 100644 --- a/easybuild/easyconfigs/i/icc/icc-2019.3.199-GCC-8.3.0-2.32.eb +++ b/easybuild/easyconfigs/i/icc/icc-2019.3.199-GCC-8.3.0-2.32.eb @@ -8,7 +8,7 @@ description = "Intel C and C++ compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15273/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15273/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_cpp.tgz'] checksums = ['969985e83ebf7bfe3c3ac3b771a7d16ba9b5dfbda84e7c2a60ef25fb827b58ae'] diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2019.4.243.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2019.4.243.eb index 5cefbfc2dee..85453f37251 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2019.4.243.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2019.4.243.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15537/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2019.5.281.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2019.5.281.eb index c080762f21d..b4eb6588ec7 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2019.5.281.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2019.5.281.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15813/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166-GCC-9.2.0.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166-GCC-9.2.0.eb index a8f9c94588f..a21e15527d5 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166-GCC-9.2.0.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166-GCC-9.2.0.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/'] sources = ['parallel_studio_xe_%(version_major)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166.eb index 70593480c69..4ad42c13a31 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.0.166.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/'] sources = ['parallel_studio_xe_%(version_major)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb index 89d42319787..98e64dff918 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.1.217.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iccifort/iccifort-2020.4.304.eb b/easybuild/easyconfigs/i/iccifort/iccifort-2020.4.304.eb index fbd8bc1719b..056539c7f76 100644 --- a/easybuild/easyconfigs/i/iccifort/iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/i/iccifort/iccifort-2020.4.304.eb @@ -8,7 +8,7 @@ description = "Intel C, C++ & Fortran compilers" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17117/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17117/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition.tgz'] patches = ['iccifort-%(version)s_no_mpi_rt_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/iced/iced-0.5.10-foss-2022a.eb b/easybuild/easyconfigs/i/iced/iced-0.5.10-foss-2022a.eb new file mode 100644 index 00000000000..74e5869b557 --- /dev/null +++ b/easybuild/easyconfigs/i/iced/iced-0.5.10-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'iced' +version = '0.5.10' + +homepage = 'https://github.com/hiclib/iced' +description = "Implements the ICE normalization of hic data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e8cb680c26117c11378be422e632a0dd806f653bfa9fcc647b97f523c9dea6bf'] + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["ice --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..2b39682fdb8 --- /dev/null +++ b/easybuild/easyconfigs/i/idemux/idemux-0.1.6-GCCcore-10.2.0.eb @@ -0,0 +1,48 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'idemux' +version = '0.1.6' + +homepage = 'https://github.com/Lexogen-Tools/idemux' +description = """idemux - inline barcode demultiplexing +Idemux is a command line tool designed to demultiplex paired-end FASTQ files from QuantSeq-Pool.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('coverage', '5.5'), +] + +use_pip = True + +exts_list = [ + ('pytest-runner', '5.3.0', { + 'modulename': 'ptr', + 'checksums': ['ca3f58ff4957e8be6c54c55d575b235725cbbcf4dc0d5091c29c6444cfc8a5fe'], + }), + ('tqdm', '4.60.0', { + 'checksums': ['ebdebdb95e3477ceea267decfc0784859aa3df3e27e22d23b83e9b272bf157ae'], + }), + (name, version, { + 'checksums': ['590980baaf810c8a02705efd50eb4ace644c360470fc3dc4491d077bbb6b26fc'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/idemux'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["idemux -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/ifort/ifort-2018.1.163-GCC-6.4.0-2.28.eb b/easybuild/easyconfigs/i/ifort/ifort-2018.1.163-GCC-6.4.0-2.28.eb index 66cf55bd0c0..2ce7d5ee7f1 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2018.1.163-GCC-6.4.0-2.28.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2018.1.163-GCC-6.4.0-2.28.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12383/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12383/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] patches = ['ifort_%(version)s_no_mpi_mic_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/ifort/ifort-2018.3.222-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/ifort/ifort-2018.3.222-GCC-7.3.0-2.30.eb index 8572f079dca..3bdc51210af 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2018.3.222-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2018.3.222-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13004/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13004/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] patches = ['ifort_%(version)s_no_mpi_mic_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/ifort/ifort-2018.5.274-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/ifort/ifort-2018.5.274-GCC-7.3.0-2.30.eb index 7668ec76749..3f9f1de0c45 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2018.5.274-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2018.5.274-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13724/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13724/'] # released as "2018 update 4" despite internal version number if 2018.5.274, so can't use %(version_minor)s template sources = ['parallel_studio_xe_%(version_major)s_update4_composer_edition_for_fortran.tgz'] patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch'] diff --git a/easybuild/easyconfigs/i/ifort/ifort-2019.0.117-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/ifort/ifort-2019.0.117-GCC-8.2.0-2.31.1.eb index 3457239087d..453cf476095 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2019.0.117-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2019.0.117-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13583/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13583/'] sources = ['parallel_studio_xe_%(version_major)s_composer_edition_for_fortran.tgz'] patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/ifort/ifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/ifort/ifort-2019.1.144-GCC-8.2.0-2.31.1.eb index c47117b085b..c6c03d9340f 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14866/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14866/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/ifort/ifort-2019.2.187-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/ifort/ifort-2019.2.187-GCC-8.2.0-2.31.1.eb index 924762c6de2..5a043c03822 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2019.2.187-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2019.2.187-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15094/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15094/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch'] checksums = [ diff --git a/easybuild/easyconfigs/i/ifort/ifort-2019.3.199-GCC-8.3.0-2.32.eb b/easybuild/easyconfigs/i/ifort/ifort-2019.3.199-GCC-8.3.0-2.32.eb index b8eb911adc2..b996c679995 100644 --- a/easybuild/easyconfigs/i/ifort/ifort-2019.3.199-GCC-8.3.0-2.32.eb +++ b/easybuild/easyconfigs/i/ifort/ifort-2019.3.199-GCC-8.3.0-2.32.eb @@ -8,7 +8,7 @@ description = "Intel Fortran compiler" toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15274/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15274/'] sources = ['parallel_studio_xe_%(version_major)s_update%(version_minor)s_composer_edition_for_fortran.tgz'] patches = ['ifort-%(version)s_no_mpi_mic_dependency.patch'] checksums = [ 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/igraph/igraph-0.10.12-foss-2023b.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.12-foss-2023b.eb new file mode 100644 index 00000000000..6e5f77cd3c8 --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.12-foss-2023b.eb @@ -0,0 +1,42 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) +# Update: Pavel Tománek (INUITS) +# Update: Petr Král (INUITS) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.12' + +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': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['b011f7f9f38a3e59924cc9ff652e6d33105fa03fcaf3792f47d752626a0a4625'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.11.5'), + ('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/igraph/igraph-0.10.3-foss-2022a.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.3-foss-2022a.eb new file mode 100644 index 00000000000..7500c79b988 --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.3-foss-2022a.eb @@ -0,0 +1,40 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.3' + +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': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['5f72398c7847bb167f85159b7a9fe1fe69ce0f241c5de5d30b2b347f9dc3f7c6'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.9.13'), + ('zlib', '1.2.12'), + ('arpack-ng', '3.8.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/igraph/igraph-0.10.6-foss-2022b.eb b/easybuild/easyconfigs/i/igraph/igraph-0.10.6-foss-2022b.eb new file mode 100644 index 00000000000..6945d8d2c8e --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.10.6-foss-2022b.eb @@ -0,0 +1,40 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.10.6' + +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': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['99bf91ee90febeeb9a201f3e0c1d323c09214f0b5f37a4290dc3b63f52839d6d'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.10.3'), + ('zlib', '1.2.12'), + ('arpack-ng', '3.8.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/igraph/igraph-0.9.4-foss-2021a.eb b/easybuild/easyconfigs/i/igraph/igraph-0.9.4-foss-2021a.eb new file mode 100644 index 00000000000..60d6cf9f3e0 --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.9.4-foss-2021a.eb @@ -0,0 +1,51 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.9.4' + +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': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['a3285cccf4f043c9ced2bc8d8d2609ff8398cb92ed49fdf86264ed91929137dd'] + +builddependencies = [ + ('Autotools', '20210128'), + ('pkg-config', '0.29.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.9.10'), + ('zlib', '1.2.11'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('arpack-ng', '3.8.0'), +] + +# Build static and shared libraries +configopts = ["-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON"] + +# extra folder `igraph` is wrong, since all other software expects it to be in ./include folder directly +postinstallcmds = [ + 'mv %(installdir)s/include/igraph/* %(installdir)s/include/ && rmdir %(installdir)s/include/igraph ', +] + +_includes = ['include/igraph%s.h' % x for x in ['', '_blas', '_constants', '_lapack', '_types', '_version']] +_libs = ['lib/libigraph.%s' % x for x in ['a', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _includes + _libs, + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/igraph/igraph-0.9.5-foss-2021b.eb b/easybuild/easyconfigs/i/igraph/igraph-0.9.5-foss-2021b.eb new file mode 100644 index 00000000000..004d9503d9c --- /dev/null +++ b/easybuild/easyconfigs/i/igraph/igraph-0.9.5-foss-2021b.eb @@ -0,0 +1,51 @@ +# Author: Denis Krišťák (INUITS) +# Modified: Jasper Grimm (UoY) + +easyblock = 'CMakeMake' + +name = 'igraph' +version = '0.9.5' + +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': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/igraph/igraph/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['c4e3f67892e1e287865d799162406b3f94916ad6f2cc069a9239e36ca495a17a'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkgconf', '1.8.0'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('GLPK', '5.0'), + ('libxml2', '2.9.10'), + ('zlib', '1.2.11'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('arpack-ng', '3.8.0'), +] + +# Build static and shared libraries +configopts = ["-DBUILD_SHARED_LIBS=OFF", "-DBUILD_SHARED_LIBS=ON"] + +# extra folder `igraph` is wrong, since all other software expects it to be in ./include folder directly +postinstallcmds = [ + 'mv %(installdir)s/include/igraph/* %(installdir)s/include/ && rmdir %(installdir)s/include/igraph ', +] + +_includes = ['include/igraph%s.h' % x for x in ['', '_blas', '_constants', '_lapack', '_types', '_version']] +_libs = ['lib/libigraph.%s' % x for x in ['a', SHLIB_EXT]] + +sanity_check_paths = { + 'files': _includes + _libs, + '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-2022a.eb b/easybuild/easyconfigs/i/iimkl/iimkl-2022a.eb new file mode 100644 index 00000000000..39d917dbeb9 --- /dev/null +++ b/easybuild/easyconfigs/i/iimkl/iimkl-2022a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimkl' +version = '2022a' + +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 = '2022.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('imkl', local_comp_ver, '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb b/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb new file mode 100644 index 00000000000..634c1d81092 --- /dev/null +++ b/easybuild/easyconfigs/i/iimkl/iimkl-2022b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimkl' +version = '2022b' + +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 = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('imkl', local_comp_ver, '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimkl/iimkl-2023a.eb b/easybuild/easyconfigs/i/iimkl/iimkl-2023a.eb new file mode 100644 index 00000000000..e20470accb9 --- /dev/null +++ b/easybuild/easyconfigs/i/iimkl/iimkl-2023a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimkl' +version = '2023a' + +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.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('imkl', local_comp_ver, '', SYSTEM), +] + +moduleclass = 'toolchain' 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/iimpi/iimpi-2021b.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2021b.eb new file mode 100644 index 00000000000..16600a0f9db --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2021b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2021b' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', local_comp_ver, '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.00.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.00.eb new file mode 100644 index 00000000000..715e4a7748a --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.00.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.00' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.0.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.5.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.05.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.05.eb new file mode 100644 index 00000000000..e5a33925a5e --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.05.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.05' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb new file mode 100644 index 00000000000..f29ac7e5524 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.09.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.09' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb new file mode 100644 index 00000000000..49aa4591617 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.11.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.11' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb new file mode 100644 index 00000000000..eb3bcfddd79 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022.12.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022.12' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.0.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.8.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022a.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022a.eb new file mode 100644 index 00000000000..346e185e46d --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022a' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb new file mode 100644 index 00000000000..91d6d4d7055 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2022b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2022b' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb new file mode 100644 index 00000000000..0bb3e2c0aba --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023.03.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023.03' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023.07.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023.07.eb new file mode 100644 index 00000000000..7f614dd3c9e --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023.07.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023.07' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.10.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023.11.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023.11.eb new file mode 100644 index 00000000000..93f36545c50 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023.11.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023.11' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2024.0.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.11.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023a.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023a.eb new file mode 100644 index 00000000000..c9de798ba2f --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023a' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2023b.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2023b.eb new file mode 100644 index 00000000000..705731a704f --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2023b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2023b' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2023.2.1' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.10.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iimpi/iimpi-2024a.eb b/easybuild/easyconfigs/i/iimpi/iimpi-2024a.eb new file mode 100644 index 00000000000..d6150133621 --- /dev/null +++ b/easybuild/easyconfigs/i/iimpi/iimpi-2024a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iimpi' +version = '2024a' + +homepage = 'https://software.intel.com/parallel-studio-xe' +description = """Intel C/C++ and Fortran compilers, alongside Intel MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2024.2.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('impi', '2021.13.0', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/ilastik-napari/ilastik-napari-0.2.4-foss-2023a.eb b/easybuild/easyconfigs/i/ilastik-napari/ilastik-napari-0.2.4-foss-2023a.eb new file mode 100644 index 00000000000..64e20f93f38 --- /dev/null +++ b/easybuild/easyconfigs/i/ilastik-napari/ilastik-napari-0.2.4-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'ilastik-napari' +version = '0.2.4' + +homepage = 'https://github.com/ilastik/ilastik-napari/' +description = "Napari plugin for interactive pixel classification." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('napari', '0.4.18'), + ('QtPy', '2.4.1'), + ('scikit-learn', '1.3.1'), + ('numba', '0.58.1'), + ('fastfilters', '0.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sparse', '0.15.4', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['76ec76fee2aee82a84eb97155dd530a9644e3b1fdea2406bc4b454698b36d938'], + }), + (name, version, { + 'source_tmpl': 'ilastik_napari-%(version)s.tar.gz', + 'modulename': 'ilastik', + 'checksums': ['8e971a70389f9257eaca7561637301f996f316fdff2cb223c5828d162970bec4'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2021.8.26-foss-2020b.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2021.8.26-foss-2020b.eb new file mode 100644 index 00000000000..acd6766b2c3 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2021.8.26-foss-2020b.eb @@ -0,0 +1,71 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2021.8.26' + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +local_openjpeg_maj_min = '2.4' +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # required for numpy + ('matplotlib', '3.3.3'), + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('Blosc', '1.21.0'), + ('Blosc2', '2.0.3'), + ('CFITSIO', '3.49'), + ('CharLS', '2.2.0'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.11'), + ('LERC', '3.0'), + ('libaec', '1.0.6'), + ('libavif', '0.9.0'), + ('libdeflate', '1.7'), + ('libjpeg-turbo', '2.0.5'), + ('libjxl', '0.6.1'), + ('LibLZF', '3.4'), + ('libpng', '1.6.37'), + ('XZ', '5.2.5'), + ('LibTIFF', '4.1.0'), + ('libwebp', '1.1.0'), + ('lz4', '1.9.2'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), + ('zlib-ng', '2.0.5'), + ('Zopfli', '1.0.3'), + ('zfp', '0.5.5'), + ('zstd', '1.4.5'), + ('Brunsli', '0.1'), + ('HDF5', '1.10.7'), + ('h5py', '3.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitshuffle', '0.3.5', { + 'sources': ['%(version)s.tar.gz'], + 'source_urls': ['https://github.com/kiyo-masui/bitshuffle/archive/'], + 'checksums': ['c3f4461d8013e3d9db0d58defec77b143164652de505a1fba3df088eaa19be2f'], + }), + (name, version, { + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['e87994d918ea951a589ec46648c24d9c7e56b7b5c2466d93f3b07883f0ecea19'], + # required for '#include "openjpeg.h"' to work + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-%s/:$CPATH && " % local_openjpeg_maj_min, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb new file mode 100644 index 00000000000..284a8b29cb8 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2021a.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2022.9.26' + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +local_openjpeg_maj_min = '2.4' +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # required for numpy + ('matplotlib', '3.4.2'), + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('Blosc', '1.21.0'), + ('Blosc2', '2.0.4'), + ('CFITSIO', '3.49'), + ('CharLS', '2.3.4'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.12'), + ('LERC', '3.0'), + ('libaec', '1.0.6'), + ('libavif', '0.11.1'), + ('libdeflate', '1.8'), + ('libjpeg-turbo', '2.0.6'), + ('libjxl', '0.5'), + ('LibLZF', '3.6'), + ('libpng', '1.6.37'), + ('XZ', '5.2.5'), + ('LibTIFF', '4.2.0'), + ('libwebp', '1.2.0'), + ('lz4', '1.9.3'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), + ('zlib-ng', '2.0.6'), + ('Zopfli', '1.0.3'), + ('zfp', '1.0.0'), + ('zstd', '1.4.9'), + ('Brunsli', '0.1'), + ('HDF5', '1.10.7'), + ('h5py', '3.2.1'), + ('libheif', '1.12.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitshuffle', '0.3.5', { + 'source_urls': ['https://github.com/kiyo-masui/bitshuffle/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['c3f4461d8013e3d9db0d58defec77b143164652de505a1fba3df088eaa19be2f'], + }), + (name, version, { + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-%s/:$CPATH && " % local_openjpeg_maj_min, + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['04d5757d8fd7819844b0f8d9eed05025dca4962f280d0010b42c7c9c993fe371'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2022a.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2022a.eb new file mode 100644 index 00000000000..f33ff8c46b9 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2022.9.26-foss-2022a.eb @@ -0,0 +1,70 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2022.9.26' # opting for older version because of compatibility issues with LibTIFF + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +local_openjpeg_maj_min = '2.5' +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('Blosc', '1.21.3'), + ('Blosc2', '2.6.1'), + ('CFITSIO', '4.2.0'), + ('CharLS', '2.4.1'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.13.1'), + ('LERC', '4.0.0'), + ('libaec', '1.0.6'), + ('libavif', '0.11.1'), + ('libdeflate', '1.10'), + ('libjpeg-turbo', '2.1.3'), + ('libjxl', '0.8.1'), + ('LibLZF', '3.6'), + ('libpng', '1.6.37'), + ('XZ', '5.2.5'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.4'), + ('lz4', '1.9.3'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('zlib-ng', '2.0.7'), + ('Zopfli', '1.0.3'), + ('zfp', '1.0.0'), + ('zstd', '1.5.2'), + ('Brunsli', '0.1'), + ('HDF5', '1.12.2'), + ('h5py', '3.7.0'), + ('libheif', '1.16.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitshuffle', '0.5.1', { + 'checksums': ['988f224739aa6858475a4c59172968c7b51cc657d2249580c8f96848708fbae3'], + }), + (name, version, { + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-2.5/:$CPATH && ", + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['04d5757d8fd7819844b0f8d9eed05025dca4962f280d0010b42c7c9c993fe371'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb new file mode 100644 index 00000000000..25c939f0627 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1-foss-2023a.eb @@ -0,0 +1,78 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits), Cintia Willemyns (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'imagecodecs' +version = '2024.1.1' + +homepage = 'https://github.com/cgohlke/imagecodecs' +description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, +compression, and decompression functions for use in the tifffile, czifile, zarr, and other +scientific image input/output modules.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +local_openjpeg_maj_min = '2.5' +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Cython', '3.0.8'), + ('matplotlib', '3.7.2'), + ('Brotli', '1.0.9'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.8.0'), + ('CFITSIO', '4.3.0'), + ('CharLS', '2.4.2'), + ('giflib', '5.2.1'), + ('jxrlib', '1.1'), + ('LittleCMS', '2.15'), + ('LERC', '4.0.0'), + ('libaec', '1.0.6'), + ('libavif', '1.0.4'), + ('libdeflate', '1.18'), + ('libjpeg-turbo', '2.1.5.1'), + ('libjxl', '0.8.2'), + ('LibLZF', '3.6'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('lz4', '1.9.4'), + ('OpenJPEG', local_openjpeg_maj_min + '.0'), + ('snappy', '1.1.10'), + ('zlib-ng', '2.1.6'), + ('Zopfli', '1.0.3'), + ('zfp', '1.0.1'), + ('zstd', '1.5.5'), + ('Brunsli', '0.1'), + ('HDF5', '1.14.0'), + ('h5py', '3.9.0'), + ('libheif', '1.17.6'), + ('bitshuffle', '0.5.1'), # Cannot be as extension because Cython 3.0.8 is too new +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + (name, version, { + 'buildopts': '--global-option="build_ext" --global-option="--lite"', + 'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix", + 'patches': ['imagecodecs-2024.1.1_fix-aec-version.patch'], + 'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-2.5/:$CPATH && ", + 'source_urls': [ + 'https://github.com/cgohlke/imagecodecs/releases/download/v%(version)s/imagecodecs-2024.1.1.tar.gz' + ], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': [ + {'imagecodecs-2024.1.1.tar.gz': 'fde46bd698d008255deef5411c59b35c0e875295e835bf6079f7e2ab22f216eb'}, + {'imagecodecs-2024.1.1_fix-aec-version.patch': + '7feb0a5fe37893d1a186f85c8f6cdb940704605ee2da5ea8e5d555ec5bfa01aa'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch new file mode 100644 index 00000000000..045dca394d7 --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.1.1_fix-aec-version.patch @@ -0,0 +1,16 @@ +Determine version of libaec from header does not work and causes error +Author: Cintia Willemyns (Vrije Universiteit Brussel) +--- imagecodecs-2024.1.1.orig/imagecodecs/_aec.pyx 2024-05-27 15:12:24.533724000 +0200 ++++ imagecodecs-2024.1.1/imagecodecs/_aec.pyx 2024-05-27 15:13:02.238325670 +0200 +@@ -76,10 +76,7 @@ + + def aec_version(): + """Return libaec library version string.""" +- return ( +- f'libaec {AEC_VERSION_MAJOR}.{AEC_VERSION_MINOR}.{AEC_VERSION_PATCH}' +- ) +- ++ return 'libaec 1.0.6' + + def aec_check(data): + """Return whether data is AEC encoded.""" diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb b/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb new file mode 100644 index 00000000000..c2ba92e6930 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.10.5-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.10.5' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f3f6e9a73d62f12348f098364219f4fc64462760bc07abfe16d14db0e4974845'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pillow', '8.2.0'), +] + +download_dep_fail = True +use_pip = True + +# The requirement on pillow >= 8.3.2 exists due to CVE-2021-23437, which is patched in EB +preinstallopts = "sed -i 's/pillow >= 8.3.2/pillow/' setup.py && " + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.13.5-foss-2021b.eb b/easybuild/easyconfigs/i/imageio/imageio-2.13.5-foss-2021b.eb new file mode 100644 index 00000000000..224177afe57 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.13.5-foss-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.13.5' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c7ec2be58e401b6eaa838f8eaf8368ed54b2de4a1b001fe6551644f1a30a843d'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb b/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb new file mode 100644 index 00000000000..a340e81b29e --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.22.2-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.22.2' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['db7010cd10712518819a4187baf61b05988361ea20c23e829918727b27acb977'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.31.1-foss-2022b.eb b/easybuild/easyconfigs/i/imageio/imageio-2.31.1-foss-2022b.eb new file mode 100755 index 00000000000..a06ef30cd77 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.31.1-foss-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.31.1' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f8436a02af02fd63f272dab50f7d623547a38f0e04a4a73e2b02ae1b8b180f27'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Pillow', '9.4.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.33.1-gfbf-2023a.eb b/easybuild/easyconfigs/i/imageio/imageio-2.33.1-gfbf-2023a.eb new file mode 100644 index 00000000000..063b77078b5 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.33.1-gfbf-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.33.1' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['78722d40b137bd98f5ec7312119f8aea9ad2049f76f434748eb306b6937cc1ce'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.34.1-gfbf-2023b.eb b/easybuild/easyconfigs/i/imageio/imageio-2.34.1-gfbf-2023b.eb new file mode 100644 index 00000000000..8f602262f3d --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.34.1-gfbf-2023b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.34.1' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f13eb76e4922f936ac4a7fec77ce8a783e63b93543d4ea3e40793a6cabd9ac7d'] + +dependencies = [ + ('Python', '3.11.5'), + ('matplotlib', '3.8.2'), + ('Pillow', '10.2.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.9.0-foss-2020b.eb b/easybuild/easyconfigs/i/imageio/imageio-2.9.0-foss-2020b.eb new file mode 100644 index 00000000000..51d59be8f6b --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.9.0-foss-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.9.0' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'] + +dependencies = [ + ('Python', '3.8.6'), + ('Pillow', '8.0.1'), + ('SciPy-bundle', '2020.11'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imageio/imageio-2.9.0-fosscuda-2020b.eb b/easybuild/easyconfigs/i/imageio/imageio-2.9.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..2213be16264 --- /dev/null +++ b/easybuild/easyconfigs/i/imageio/imageio-2.9.0-fosscuda-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'imageio' +version = '2.9.0' + +homepage = 'https://imageio.github.io' +description = """Imageio is a Python library that provides an easy interface to read and write a wide range of + image data, including animated images, video, volumetric data, and scientific formats.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'] + +dependencies = [ + ('Python', '3.8.6'), + ('Pillow', '8.0.1'), + ('SciPy-bundle', '2020.11'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/imake/imake-1.0.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/imake/imake-1.0.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..94027a521e9 --- /dev/null +++ b/easybuild/easyconfigs/i/imake/imake-1.0.8-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'imake' +version = '1.0.8' + +homepage = 'https://www.x.org/' +description = """imake is a Makefile-generator that is intended to make it +easier to develop software portably for multiple systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://artfiles.org/x.org/pub/individual/util/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8178a09bfef33ad5f61cb5cb62283df7d3a5682f014507d2e7cfd922485a5c00'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('xproto', '7.0.31'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ccmakedep', 'cleanlinks', 'imake', + 'makeg', 'mergelib', 'mkdirhier', + 'mkhtmlindex', 'revpath', 'xmkmf']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb new file mode 100644 index 00000000000..71e4129bc23 --- /dev/null +++ b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.10.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'imbalanced-learn' +version = '0.10.1' + +homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' +description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in + datasets showing strong between-class imbalance.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + # Python 3.10.4 uses joblib 1.1.0 but imbalanced-learn 0.10.1 needs joblib >=1.1.1 + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + (name, version, { + 'modulename': 'imblearn', + 'checksums': ['bc7609619ec3c38c442292928239ad3d10b5deb0af8a29c83822b7b57b319f8b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.12.3-gfbf-2023a.eb b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.12.3-gfbf-2023a.eb new file mode 100644 index 00000000000..4881e78a0e7 --- /dev/null +++ b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.12.3-gfbf-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'imbalanced-learn' +version = '0.12.3' + +homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' +description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in + datasets showing strong between-class imbalance.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('scikit-learn', '1.3.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'imblearn', + 'checksums': ['5b00796a01419e9102bd425e27c319d58d1f6cf2dfa751e02ed7f4edf67c3c1b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb new file mode 100644 index 00000000000..ba39fe52cf2 --- /dev/null +++ b/easybuild/easyconfigs/i/imbalanced-learn/imbalanced-learn-0.9.0-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'imbalanced-learn' +version = '0.9.0' + +homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' +description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in + datasets showing strong between-class imbalance.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-learn', '1.0.1'), +] + +exts_list = [ + (name, version, { + 'modulename': 'imblearn', + 'checksums': ['836a4c137cc3c10310d4f6cd5ec34600ff488d7f8c243a997c3f9b551c91d0b2'], + }), +] + +use_pip = True + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..0fafc26240c --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,35 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' +versionsuffix = '-CUDA-11.3.1' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Pillow', '8.2.0'), + ('matplotlib', '3.4.2'), + ('scikit-image', '0.18.3'), + ('OpenCV', '4.5.3', versionsuffix + '-contrib'), + ('Shapely', '1.8a1'), + ('imageio', '2.10.5'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7', # imgaug-0.4.0.tar.gz + '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8', # imgaug-0.4.0_openvc_requirement.patch +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a.eb new file mode 100644 index 00000000000..b7fac2d92c5 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021a.eb @@ -0,0 +1,35 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. + +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Pillow', '8.2.0'), + ('matplotlib', '3.4.2'), + ('scikit-image', '0.18.3'), + ('OpenCV', '4.5.3', '-contrib'), + ('Shapely', '1.8a1'), + ('imageio', '2.10.5'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7', # imgaug-0.4.0.tar.gz + '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8', # imgaug-0.4.0_openvc_requirement.patch +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..e724dbda37e --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,35 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' +versionsuffix = '-CUDA-11.4.1' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('Pillow', '8.3.2'), + ('matplotlib', '3.4.3'), + ('scikit-image', '0.19.1'), + ('OpenCV', '4.5.5', versionsuffix + '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.13.5'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7', # imgaug-0.4.0.tar.gz + '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8', # imgaug-0.4.0_openvc_requirement.patch +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b.eb new file mode 100644 index 00000000000..647d4b46efe --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2021b.eb @@ -0,0 +1,34 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('Pillow', '8.3.2'), + ('matplotlib', '3.4.3'), + ('scikit-image', '0.19.1'), + ('OpenCV', '4.5.5', '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.13.5'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7', # imgaug-0.4.0.tar.gz + '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8', # imgaug-0.4.0_openvc_requirement.patch +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..565a626ba4f --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,36 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), + ('matplotlib', '3.5.2'), + ('scikit-image', '0.19.3'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.22.2'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + {'imgaug-0.4.0.tar.gz': '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7'}, + {'imgaug-0.4.0_openvc_requirement.patch': '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb new file mode 100644 index 00000000000..643f7eaca51 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.0-foss-2022a.eb @@ -0,0 +1,34 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.0' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), + ('matplotlib', '3.5.2'), + ('scikit-image', '0.19.3'), + ('OpenCV', '4.6.0', '-contrib'), + ('Shapely', '1.8.2'), + ('imageio', '2.22.2'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['imgaug-0.4.0_openvc_requirement.patch'] +checksums = [ + {'imgaug-0.4.0.tar.gz': '46bab63ed38f8980630ff721a09ca2281b7dbd4d8c11258818b6ebcc69ea46c7'}, + {'imgaug-0.4.0_openvc_requirement.patch': '2ff0b66ba38fdcf5f267a3d0ad1dc2710fee3c2f8cd3d086c56ea538a2a9ffc8'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..68ed2ab3aca --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'imgaug' +version = '0.4.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://imgaug.readthedocs.io/en/latest/' +description = """ This python library helps you with augmenting images for your machine learning projects. + It converts a set of input images into a new, much larger set of slightly altered images. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Pillow', '10.0.0'), + ('matplotlib', '3.7.2'), + ('scikit-image', '0.22.0'), + ('OpenCV', '4.8.1', versionsuffix + '-contrib'), + ('Shapely', '2.0.1'), + ('imageio', '2.33.1'), +] + +source_urls = ['https://github.com/nsetzer/imgaug/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['imgaug-0.4.1_openvc_requirement.patch'] +checksums = [ + {'0.4.1.tar.gz': 'dd9655f8d871da35c37cf674ba35c76175a77aeac517e8dafe6673c8f853115f'}, + {'imgaug-0.4.1_openvc_requirement.patch': '0e0993322184c56115ea04262f8eacef4a86a9aa7b26c8cd67258ccaa441d8a7'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch new file mode 100644 index 00000000000..b80e5644b53 --- /dev/null +++ b/easybuild/easyconfigs/i/imgaug/imgaug-0.4.1_openvc_requirement.patch @@ -0,0 +1,34 @@ +imgaug specifies a requirement for opencv-python-headless which causes conflicts for other installations of OpenCV +this patch removes the requirement, and will work as long as we load an appropriate (standard) OpenCV module +See https://github.com/aleju/imgaug/issues/473 + +author: Andrew Edmondson (University of Birmingham) + +--- setup.py.orig 2024-03-04 09:20:57.356025008 +0100 ++++ setup.py 2024-03-04 09:22:09.182207006 +0100 +@@ -15,16 +15,11 @@ + "Pillow", + "matplotlib", + "scikit-image>=0.18", +- "opencv-python-headless", + "imageio<=2.6.1; python_version<'3.5'", + "imageio; python_version>='3.5'", + "Shapely" + ] + +-ALT_INSTALL_REQUIRES = { +- "opencv-python-headless": ["opencv-python", "opencv-contrib-python", "opencv-contrib-python-headless"], +-} +- + + def check_alternative_installation(install_require, alternative_install_requires): + """If some version version of alternative requirement installed, return alternative, +@@ -54,8 +49,6 @@ + return install_requires + + +-INSTALL_REQUIRES = get_install_requirements(INSTALL_REQUIRES, ALT_INSTALL_REQUIRES) +- + setup( + name="imgaug3", + version="0.4.1", diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-gompi-2021b.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-gompi-2021b.eb new file mode 100644 index 00000000000..03a7f2798db --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-gompi-2021b.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-iimpi-2021b.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-iimpi-2021b.eb new file mode 100644 index 00000000000..e411b2b3923 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2021.4.0-iimpi-2021b.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2021b'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.0.1-iimpi-2022.00.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.0.1-iimpi-2022.00.eb new file mode 100644 index 00000000000..07d65f3a80f --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.0.1-iimpi-2022.00.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.0.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.00'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022.05.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022.05.eb new file mode 100644 index 00000000000..203a8e9f0ef --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022.05.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.05'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb new file mode 100644 index 00000000000..a18ad2d9d36 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.1.0-iimpi-2022a.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022a'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb new file mode 100644 index 00000000000..ed5487ee565 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.0-iimpi-2022.09.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.09'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb new file mode 100644 index 00000000000..ff00372cf4e --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022.11.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.11'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb new file mode 100644 index 00000000000..91a574e686f --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2022.2.1-iimpi-2022b.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022b'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb new file mode 100644 index 00000000000..b7a82175d15 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.0.0-iimpi-2022.12.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2022.12'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb new file mode 100644 index 00000000000..3809bf2daac --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023.03.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023.03'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023a.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023a.eb new file mode 100644 index 00000000000..8dc2ddc903a --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.1.0-iimpi-2023a.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023a'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023.07.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023.07.eb new file mode 100644 index 00000000000..4d6319fcee1 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023.07.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023.07'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023b.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023b.eb new file mode 100644 index 00000000000..7d3a8dc7f2c --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2023.2.0-iimpi-2023b.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2023.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023b'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.0.0-iimpi-2023.11.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.0.0-iimpi-2023.11.eb new file mode 100644 index 00000000000..9bbc1b2f5c3 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.0.0-iimpi-2023.11.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2024.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2023.11'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.2.0-iimpi-2024a.eb b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.2.0-iimpi-2024a.eb new file mode 100644 index 00000000000..b26ab65f452 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl-FFTW/imkl-FFTW-2024.2.0-iimpi-2024a.eb @@ -0,0 +1,11 @@ +name = 'imkl-FFTW' +version = '2024.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "FFTW interfaces using Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iimpi', 'version': '2024a'} + +dependencies = [('imkl', version, '', SYSTEM)] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28-serial.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28-serial.eb index 65486c1a522..1af220dba70 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28-serial.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28-serial.eb @@ -12,7 +12,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iccifort', 'version': '2018.1.163-GCC-6.4.0-2.28'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12384/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12384/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iimpi-2018a.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iimpi-2018a.eb index 770acb76d87..a90fc9aaaac 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iimpi-2018a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.1.163-iimpi-2018a.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2018a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12384/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12384/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gimpi-2018b.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gimpi-2018b.eb index f340d755ee2..c873144967b 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gimpi-2018b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gimpi-2018b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gimpi', 'version': '2018b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gompi-2018b.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gompi-2018b.eb index 6ead35efc9a..89a3f33d184 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gompi-2018b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-gompi-2018b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompi', 'version': '2018b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iimpi-2018b.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iimpi-2018b.eb index 7f53145d6a3..450dc0082e2 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iimpi-2018b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iimpi-2018b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2018b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iompi-2018b.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iompi-2018b.eb index aeabee4d300..0fcf2f60e8e 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iompi-2018b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.3.222-iompi-2018b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iompi', 'version': '2018b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2018.4.274-iimpi-2018.04.eb b/easybuild/easyconfigs/i/imkl/imkl-2018.4.274-iimpi-2018.04.eb index 02dba60737e..7d2dc1809af 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2018.4.274-iimpi-2018.04.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2018.4.274-iimpi-2018.04.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2018.04'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13725/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13725/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['18eb3cde3e6a61a88f25afff25df762a560013f650aaf363f7d3d516a0d04881'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.0.117-iimpi-2019.00.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.0.117-iimpi-2019.00.eb index a382ae20ac7..d222e9cd3b3 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.0.117-iimpi-2019.00.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.0.117-iimpi-2019.00.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019.00'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13575/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['4e1fe2c705cfc47050064c0d6c4dee1a8c6740ac1c4f64dde9c7511c4989c7ad'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-gompi-2019a.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-gompi-2019a.eb index aa6a03a6929..ae7e676174e 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-gompi-2019a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-gompi-2019a.eb @@ -9,7 +9,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompi', 'version': '2019a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019.01.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019.01.eb index e63cc1a2695..15e03750772 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019.01.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019.01.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019.01'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019a.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019a.eb index 782473ec9fa..dcd07853ae8 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpi-2019a.eb @@ -9,7 +9,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpic-2019a.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpic-2019a.eb index b8fb1ebef4c..af64b61bfd7 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpic-2019a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iimpic-2019a.eb @@ -9,7 +9,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpic', 'version': '2019a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iompi-2019.01.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iompi-2019.01.eb index 3a5e6baedc4..e7a42454f04 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iompi-2019.01.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.1.144-iompi-2019.01.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iompi', 'version': '2019.01'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.2.187-iimpi-2019.02.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.2.187-iimpi-2019.02.eb index 645ffaf31a7..8cd693cc5ec 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.2.187-iimpi-2019.02.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.2.187-iimpi-2019.02.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019.02'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15095/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15095/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['2bf004e6b5adb4f956993d6c20ea6ce289bb630314dd501db7f2dd5b9978ed1d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.3.199-iimpi-2019.03.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.3.199-iimpi-2019.03.eb index 2c06461ab97..8685b03cc91 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.3.199-iimpi-2019.03.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.3.199-iimpi-2019.03.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019.03'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15275/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15275/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['06de2b54f4812e7c39a118536259c942029fe1d6d8918ad9df558a83c4162b8f'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompi-2019b.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompi-2019b.eb index 3c2759d1539..940151b46dc 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompi-2019b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompi-2019b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompi', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompic-2019b.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompic-2019b.eb index 3421505968c..91ca97f6bc6 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompic-2019b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-gompic-2019b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompic', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpi-2019b.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpi-2019b.eb index d95d740ea28..61489356fe3 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpi-2019b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpi-2019b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpic-2019b.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpic-2019b.eb index 62cf27a5251..b1e88a55dd3 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpic-2019b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iimpic-2019b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpic', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iompi-2019b.eb b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iompi-2019b.eb index 906ad9525cd..8e7d6fa5ec2 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iompi-2019b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2019.5.281-iompi-2019b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iompi', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.0.166-iimpi-2020.00.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.0.166-iimpi-2020.00.eb index 610ba004009..d27b6e67346 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.0.166-iimpi-2020.00.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.0.166-iimpi-2020.00.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2020.00'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16232/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16232/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['f6d92deb3ff10b11ba3df26b2c62bb4f0f7ae43e21905a91d553e58f0f5a8ae0'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-gompi-2020a.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-gompi-2020a.eb index dcb4894a2a4..d662fdae171 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-gompi-2020a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-gompi-2020a.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompi', 'version': '2020a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020.06-impi-18.5.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020.06-impi-18.5.eb index 89aac0e1547..a683875dd81 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020.06-impi-18.5.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020.06-impi-18.5.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2020.06-impi-18.5'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb index 3111a3509b0..aef431b9b6d 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpi-2020a.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2020a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpic-2020a.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpic-2020a.eb index 3475dab254a..dbfbc356455 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpic-2020a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iimpic-2020a.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpic', 'version': '2020a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iompi-2020a.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iompi-2020a.eb index 3eca90fc0a2..1f80ac1e253 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iompi-2020a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.1.217-iompi-2020a.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iompi', 'version': '2020a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-NVHPC-21.2.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-NVHPC-21.2.eb new file mode 100644 index 00000000000..71a9f0f37b9 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-NVHPC-21.2.eb @@ -0,0 +1,26 @@ +# This is an easyconfig file for EasyBuild, see https://easybuilders.github.io/easybuild/ + +name = 'imkl' +version = '2020.4.304' + +homepage = 'https://software.intel.com/mkl' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" + +toolchain = {'name': 'NVHPC', 'version': '21.2'} + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = True + +components = ['intel-mkl'] + +license_file = HOME + '/licenses/intel/license.lic' + +interfaces = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompi-2020b.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompi-2020b.eb index 541c3c12aea..1526523c788 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompi-2020b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompi-2020b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'gompi', 'version': '2020b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompic-2020b.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompic-2020b.eb new file mode 100644 index 00000000000..570499af77d --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-gompic-2020b.eb @@ -0,0 +1,26 @@ +# This is an easyconfig file for EasyBuild, see https://easybuilders.github.io/easybuild/ + +name = 'imkl' +version = '2020.4.304' + +homepage = 'https://software.intel.com/mkl' +description = """Intel Math Kernel Library is a library of highly optimized, + extensively threaded math routines for science, engineering, and financial + applications that require maximum performance. Core math functions include + BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.""" + +toolchain = {'name': 'gompic', 'version': '2020b'} + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] +sources = ['l_mkl_%(version)s.tgz'] +checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] + +dontcreateinstalldir = True + +components = ['intel-mkl'] + +license_file = HOME + '/licenses/intel/license.lic' + +interfaces = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpi-2020b.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpi-2020b.eb index e1f7dd0c3fd..15ccb6b8c77 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpi-2020b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpi-2020b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpi', 'version': '2020b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpic-2020b.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpic-2020b.eb index a350ab4a6ed..73aac3a85e7 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpic-2020b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iimpic-2020b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iimpic', 'version': '2020b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iompi-2020b.eb b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iompi-2020b.eb index 89d0c991d88..68e2a157d3d 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iompi-2020b.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2020.4.304-iompi-2020b.eb @@ -11,7 +11,7 @@ description = """Intel Math Kernel Library is a library of highly optimized, toolchain = {'name': 'iompi', 'version': '2020b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/'] sources = ['l_mkl_%(version)s.tgz'] checksums = ['2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.1.1-iimpi-2020.12.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.1.1-iimpi-2020.12.eb index 737f7462d7d..363e95f7dc9 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.1.1-iimpi-2020.12.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.1.1-iimpi-2020.12.eb @@ -7,7 +7,7 @@ description = "Intel oneAPI Math Kernel Library" toolchain = {'name': 'iimpi', 'version': '2020.12'} # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17402/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17402/'] sources = ['l_onemkl_p_%(version)s.52_offline.sh'] checksums = ['818b6bd9a6c116f4578cda3151da0612ec9c3ce8b2c8a64730d625ce5b13cc0c'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-gompi-2021a.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-gompi-2021a.eb index ff7c13049ea..77a41fb58ed 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-gompi-2021a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-gompi-2021a.eb @@ -7,7 +7,7 @@ description = "Intel oneAPI Math Kernel Library" toolchain = {'name': 'gompi', 'version': '2021a'} # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17757/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17757/'] sources = ['l_onemkl_p_%(version)s.296_offline.sh'] checksums = ['816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iimpi-2021a.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iimpi-2021a.eb index aa8f14f2250..741b626f55c 100644 --- a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iimpi-2021a.eb +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iimpi-2021a.eb @@ -7,7 +7,7 @@ description = "Intel oneAPI Math Kernel Library" toolchain = {'name': 'iimpi', 'version': '2021a'} # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17757/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17757/'] sources = ['l_onemkl_p_%(version)s.296_offline.sh'] checksums = ['816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae'] diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iompi-2021a.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iompi-2021a.eb new file mode 100644 index 00000000000..2bb82fd3380 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.2.0-iompi-2021a.eb @@ -0,0 +1,14 @@ +name = 'imkl' +version = '2021.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iompi', 'version': '2021a'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17757/'] +sources = ['l_onemkl_p_%(version)s.296_offline.sh'] +checksums = ['816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb new file mode 100644 index 00000000000..a4746816d23 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.3.0-gompi-2021a.eb @@ -0,0 +1,17 @@ +## +# Author: Robert Mijakovic +## +name = 'imkl' +version = '2021.3.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17901'] +sources = ['l_onemkl_p_%(version)s.520_offline.sh'] +checksums = ['a06e1cdbfd8becc63440b473b153659885f25a6e3c4dcb2907ad9cd0c3ad59ce'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb new file mode 100644 index 00000000000..4f45be5badc --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0-iompi-2021b.eb @@ -0,0 +1,14 @@ +name = 'imkl' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'iompi', 'version': '2021b'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18222/'] +sources = ['l_onemkl_p_%(version)s.640_offline.sh'] +checksums = ['9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb new file mode 100644 index 00000000000..bacd9ba4607 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2021.4.0.eb @@ -0,0 +1,16 @@ +name = 'imkl' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18222/'] +sources = ['l_onemkl_p_%(version)s.640_offline.sh'] +checksums = ['9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915'] + +interfaces = False + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb new file mode 100644 index 00000000000..c348328e0e4 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.0.1.eb @@ -0,0 +1,16 @@ +name = 'imkl' +version = '2022.0.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18444/'] +sources = ['l_onemkl_p_%(version)s.117_offline.sh'] +checksums = ['22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160'] + +interfaces = False + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb new file mode 100644 index 00000000000..955038d0fc1 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0-gompi-2022a.eb @@ -0,0 +1,19 @@ +## +# Author: Robert Mijakovic +## +name = 'imkl' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18721/'] +sources = ['l_onemkl_p_%(version)s.223_offline.sh'] +checksums = ['4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e'] + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb new file mode 100644 index 00000000000..b0653443859 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.1.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18721/'] +sources = ['l_onemkl_p_%(version)s.223_offline.sh'] +checksums = ['4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb new file mode 100644 index 00000000000..a3c46807fc6 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18898/'] +sources = ['l_onemkl_p_%(version)s.8748_offline.sh'] +checksums = ['07d7caedd4b9f025c6fd439a0d2c2f279b18ecbbb63cadb864f6c63c1ed942db'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb new file mode 100644 index 00000000000..f2a7a15068e --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2022.2.1.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19038/'] +sources = ['l_onemkl_p_%(version)s.16993_offline.sh'] +checksums = ['eedd4b795720de776b1fc5f542ae0fac37ec235cdb567f7c2ee3182e73e3e59d'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb new file mode 100644 index 00000000000..f29032bc3dd --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.0.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19138/'] +sources = ['l_onemkl_p_%(version)s.25398_offline.sh'] +checksums = ['0d61188e91a57bdb575782eb47a05ae99ea8eebefee6b2dfe20c6708e16e9927'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.1.0-gompi-2023a.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0-gompi-2023a.eb new file mode 100644 index 00000000000..17ed1c0a2aa --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0-gompi-2023a.eb @@ -0,0 +1,19 @@ +## +# Author: Robert Mijakovic +## +name = 'imkl' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cd17b7fe-500e-4305-a89b-bd5b42bfd9f8/'] +sources = ['l_onemkl_p_%(version)s.46342_offline.sh'] +checksums = ['cc28c94cab23c185520b93c5a04f3979d8da6b4c90cee8c0681dd89819d76167'] + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb new file mode 100644 index 00000000000..2dd371edc01 --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.1.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cd17b7fe-500e-4305-a89b-bd5b42bfd9f8/'] +sources = ['l_onemkl_p_%(version)s.46342_offline.sh'] +checksums = ['cc28c94cab23c185520b93c5a04f3979d8da6b4c90cee8c0681dd89819d76167'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2023.2.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2023.2.0.eb new file mode 100644 index 00000000000..6768a2ccefd --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2023.2.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2023.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/adb8a02c-4ee7-4882-97d6-a524150da358/'] +sources = ['l_onemkl_p_%(version)s.49497_offline.sh'] +checksums = ['4a0d93da85a94d92e0ad35dc0fc3b3ab7f040bd55ad374c4d5ec81a57a2b872b'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2024.0.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2024.0.0.eb new file mode 100644 index 00000000000..5ba9d3b884a --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2024.0.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2024.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/86d6a4c1-c998-4c6b-9fff-ca004e9f7455'] +sources = ['l_onemkl_p_%(version)s.49673_offline.sh'] +checksums = ['2a3be7d01d75ba8cc3059f9a32ae72e5bfc93e68e72e94e79d7fa6ea2f7814de'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/imkl/imkl-2024.2.0.eb b/easybuild/easyconfigs/i/imkl/imkl-2024.2.0.eb new file mode 100644 index 00000000000..30331a8a80a --- /dev/null +++ b/easybuild/easyconfigs/i/imkl/imkl-2024.2.0.eb @@ -0,0 +1,18 @@ +name = 'imkl' +version = '2024.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html' +description = "Intel oneAPI Math Kernel Library" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/cdff21a5-6ac7-4b41-a7ec-351b5f9ce8fd'] +sources = ['l_onemkl_p_%(version)s.664_offline.sh'] +checksums = ['f1f46f5352c197a9840e08fc191a879dad79ebf742fe782e386ba8006f262f7a'] + +interfaces = False + +installopts = "--download-cache=%(builddir)s/cache --download-dir=%(builddir)s/download --log-dir=%(builddir)s/log" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/i/impi/impi-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28.eb b/easybuild/easyconfigs/i/impi/impi-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28.eb index 21ad001e53c..a0341a987d6 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2018.1.163-GCC-6.4.0-2.28'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12405/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12405/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['130b11571c3f71af00a722fa8641db5a1552ac343d770a8304216d8f5d00e75c'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.3.222-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/impi/impi-2018.3.222-GCC-7.3.0-2.30.eb index e39879ac218..60f2eed4dd9 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.3.222-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.3.222-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'GCC', 'version': '7.3.0-2.30'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13063/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13063/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.3.222-iccifort-2018.3.222-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/impi/impi-2018.3.222-iccifort-2018.3.222-GCC-7.3.0-2.30.eb index f4e9e1a638f..0fc63f042f8 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.3.222-iccifort-2018.3.222-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.3.222-iccifort-2018.3.222-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2018.3.222-GCC-7.3.0-2.30'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13063/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13063/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-7.3.0-2.30.eb index 060befc0a5a..75004db76a8 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2018.5.274-GCC-7.3.0-2.30.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2018.5.274-GCC-7.3.0-2.30'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13651/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13651/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb index e6c3602e1e3..d4574181af9 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -6,7 +6,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13651/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13651/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifortcuda-2019a.eb b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifortcuda-2019a.eb index 137bf491a27..c28ff1e7e55 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifortcuda-2019a.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.4.274-iccifortcuda-2019a.eb @@ -6,7 +6,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifortcuda', 'version': '2019a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13651/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13651/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2019.5.281.eb b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2019.5.281.eb index 8f89b212fa4..4cb68a33fc8 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2019.5.281.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2019.5.281.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.5.281'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15614/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15614/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['3198257c19e82cd327d739b10120933e0547da8cddf8a8005677717326236796'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2020.1.217.eb b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2020.1.217.eb index 4c7b3a6b0df..e27d2ec5b55 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifort-2020.1.217.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2020.1.217'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15614/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15614/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['3198257c19e82cd327d739b10120933e0547da8cddf8a8005677717326236796'] diff --git a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifortcuda-2019b.eb b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifortcuda-2019b.eb index 02e2ace8251..2f959f48e46 100644 --- a/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifortcuda-2019b.eb +++ b/easybuild/easyconfigs/i/impi/impi-2018.5.288-iccifortcuda-2019b.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifortcuda', 'version': '2019b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15614/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15614/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['3198257c19e82cd327d739b10120933e0547da8cddf8a8005677717326236796'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.0.117-iccifort-2019.0.117-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/impi/impi-2019.0.117-iccifort-2019.0.117-GCC-8.2.0-2.31.1.eb index 2f60b422703..77755c77620 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.0.117-iccifort-2019.0.117-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.0.117-iccifort-2019.0.117-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.0.117-GCC-8.2.0-2.31.1'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13584/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13584/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['dfb403f49c1af61b337aa952b71289c7548c3a79c32c57865eab0ea0f0e1bc08'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.1.144-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/impi/impi-2019.1.144-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb index 8e2ed0b3980..6a222b3ed18 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.1.144-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.1.144-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.1.144-GCC-8.2.0-2.31.1'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14879/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14879/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['dac86a5db6b86503313742b17535856a432955604f7103cb4549a9bfc256c3cd'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.12.320-iccifort-2020.4.304.eb b/easybuild/easyconfigs/i/impi/impi-2019.12.320-iccifort-2020.4.304.eb index a5ba5409ff0..2bf8b19fb29 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.12.320-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.12.320-iccifort-2020.4.304.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17836/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17836/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['8108fbf2353a9f1926036bb67647b65c0e4933a3eb66e1dc933960e5b055f320'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.2.187-iccifort-2019.2.187-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/i/impi/impi-2019.2.187-iccifort-2019.2.187-GCC-8.2.0-2.31.1.eb index 7cdc6aca429..5f75ad2ec68 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.2.187-iccifort-2019.2.187-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.2.187-iccifort-2019.2.187-GCC-8.2.0-2.31.1.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.2.187-GCC-8.2.0-2.31.1'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15040/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15040/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['6a3305933b5ef9e3f7de969e394c91620f3fa4bb815a4f439577739d04778b20'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.3.199-iccifort-2019.3.199-GCC-8.3.0-2.32.eb b/easybuild/easyconfigs/i/impi/impi-2019.3.199-iccifort-2019.3.199-GCC-8.3.0-2.32.eb index c0b1f565c0a..cb1ec1f179c 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.3.199-iccifort-2019.3.199-GCC-8.3.0-2.32.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.3.199-iccifort-2019.3.199-GCC-8.3.0-2.32.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2019.3.199-GCC-8.3.0-2.32'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15260/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15260/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['5304346c863f64de797250eeb14f51c5cfc8212ff20813b124f20e7666286990'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.6.166-iccifort-2020.0.166-GCC-9.2.0.eb b/easybuild/easyconfigs/i/impi/impi-2019.6.166-iccifort-2020.0.166-GCC-9.2.0.eb index e19a15d6e33..49f0fa7a8d7 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.6.166-iccifort-2020.0.166-GCC-9.2.0.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.6.166-iccifort-2020.0.166-GCC-9.2.0.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2020.0.166-GCC-9.2.0'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16120/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16120/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb index d0ad0188c0d..07f8323810c 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifort-2020.1.217.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2020.1.217'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16546/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifortcuda-2020a.eb b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifortcuda-2020a.eb index 557e0a8eab1..8a5646c25c1 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifortcuda-2020a.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.7.217-iccifortcuda-2020a.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifortcuda', 'version': '2020a'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16546/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifort-2020.4.304.eb b/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifort-2020.4.304.eb index d4a9ef76ae4..d723d12dc1c 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifort-2020.4.304.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifort', 'version': '2020.4.304'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17263/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7'] diff --git a/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifortcuda-2020b.eb b/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifortcuda-2020b.eb index 3305cf60a8d..7082d103ec8 100644 --- a/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifortcuda-2020b.eb +++ b/easybuild/easyconfigs/i/impi/impi-2019.9.304-iccifortcuda-2020b.eb @@ -8,7 +8,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'iccifortcuda', 'version': '2020b'} -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17263/'] sources = ['l_mpi_%(version)s.tgz'] checksums = ['618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7'] diff --git a/easybuild/easyconfigs/i/impi/impi-2021.1.1-intel-compilers-2021.1.2.eb b/easybuild/easyconfigs/i/impi/impi-2021.1.1-intel-compilers-2021.1.2.eb index 1a0fbe3b035..d8a92d6db7e 100644 --- a/easybuild/easyconfigs/i/impi/impi-2021.1.1-intel-compilers-2021.1.2.eb +++ b/easybuild/easyconfigs/i/impi/impi-2021.1.1-intel-compilers-2021.1.2.eb @@ -7,7 +7,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'intel-compilers', 'version': '2021.1.2'} # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17397/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17397/'] sources = ['l_mpi_oneapi_p_%(version)s.76_offline.sh'] checksums = ['8b7693a156c6fc6269637bef586a8fd3ea6610cac2aae4e7f48c1fbb601625fe'] diff --git a/easybuild/easyconfigs/i/impi/impi-2021.10.0-intel-compilers-2023.2.1.eb b/easybuild/easyconfigs/i/impi/impi-2021.10.0-intel-compilers-2023.2.1.eb new file mode 100644 index 00000000000..4a92f37d8fe --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.10.0-intel-compilers-2023.2.1.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.10.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/4f5871da-0533-4f62-b563-905edfb2e9b7/'] +sources = ['l_mpi_oneapi_p_%(version)s.49374_offline.sh'] +checksums = ['ab2e97d87b139201a2e7dab9a61ac6e8927b7783b459358c4ad69a1b1c064f40'] + +dependencies = [('UCX', '1.15.0')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.11.0-intel-compilers-2024.0.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.11.0-intel-compilers-2024.0.0.eb new file mode 100644 index 00000000000..7186cfcf051 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.11.0-intel-compilers-2024.0.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.11.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2024.0.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/2c45ede0-623c-4c8e-9e09-bed27d70fa33'] +sources = ['l_mpi_oneapi_p_%(version)s.49513_offline.sh'] +checksums = ['9a96caeb7abcf5aa08426216db38a2c7936462008b9825036266bc79cb0e30d8'] + +dependencies = [('UCX', '1.15.0')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.13.0-intel-compilers-2024.2.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.13.0-intel-compilers-2024.2.0.eb new file mode 100644 index 00000000000..2e99bc6c0d8 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.13.0-intel-compilers-2024.2.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.13.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2024.2.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/9f84e1e8-11b2-4bd1-8512-3e3343585956'] +sources = ['l_mpi_oneapi_p_%(version)s.719_offline.sh'] +checksums = ['5e23cf495c919e17032577e3059438f632297ee63f2cdb906a2547298823cc64'] + +dependencies = [('UCX', '1.16.0')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb index 345fd82fc3d..ecd3c9521f1 100644 --- a/easybuild/easyconfigs/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/i/impi/impi-2021.2.0-intel-compilers-2021.2.0.eb @@ -7,7 +7,7 @@ description = "Intel MPI Library, compatible with MPICH ABI" toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17729/'] sources = ['l_mpi_oneapi_p_%(version)s.215_offline.sh'] checksums = ['d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3'] diff --git a/easybuild/easyconfigs/i/impi/impi-2021.3.0-intel-compilers-2021.3.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.3.0-intel-compilers-2021.3.0.eb new file mode 100644 index 00000000000..1507acd5413 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.3.0-intel-compilers-2021.3.0.eb @@ -0,0 +1,19 @@ +## +# Author: Robert Mijakovic +## +name = 'impi' +version = '2021.3.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2021.3.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17947'] +sources = ['l_mpi_oneapi_p_%(version)s.294_offline.sh'] +checksums = ['04c48f864ee4c723b1b4ca62f2bea8c04d5d7e3de19171fd62b17868bc79bc36'] + +dependencies = [('UCX', '1.10.0')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.4.0-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.4.0-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..24180258119 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.4.0-intel-compilers-2021.4.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18186/'] +sources = ['l_mpi_oneapi_p_%(version)s.441_offline.sh'] +checksums = ['cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29'] + +dependencies = [('UCX', '1.11.2')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.5.0-intel-compilers-2022.0.1.eb b/easybuild/easyconfigs/i/impi/impi-2021.5.0-intel-compilers-2022.0.1.eb new file mode 100644 index 00000000000..ea941c35ab2 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.5.0-intel-compilers-2022.0.1.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.5.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.0.1'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18370/'] +sources = ['l_mpi_oneapi_p_%(version)s.495_offline.sh'] +checksums = ['3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471'] + +dependencies = [('UCX', '1.11.2')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..288c103cd03 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.6.0-intel-compilers-2022.1.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.6.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18714/'] +sources = ['l_mpi_oneapi_p_%(version)s.602_offline.sh'] +checksums = ['e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6'] + +dependencies = [('UCX', '1.12.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb new file mode 100644 index 00000000000..2df8a69062f --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.7.0-intel-compilers-2022.2.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.7.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18926/'] +sources = ['l_mpi_oneapi_p_%(version)s.8711_offline.sh'] +checksums = ['4eb1e1487b67b98857bc9b7b37bcac4998e0aa6d1b892b2c87b003bf84fb38e9'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..aa2976fafaf --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.7.1-intel-compilers-2022.2.1.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.7.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19010/'] +sources = ['l_mpi_oneapi_p_%(version)s.16815_offline.sh'] +checksums = ['90e7804f2367d457cd4cbf7aa29f1c5676287aa9b34f93e7c9a19e4b8583fff7'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb new file mode 100644 index 00000000000..89dce35e1f2 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.8.0-intel-compilers-2023.0.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.8.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.0.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19131/'] +sources = ['l_mpi_oneapi_p_%(version)s.25329_offline.sh'] +checksums = ['0fcb1171fc42fd4b2d863ae474c0b0f656b0fa1fdc1df435aa851ccd6d1eaaf7'] + +dependencies = [('UCX', '1.13.1')] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..f890b966ec3 --- /dev/null +++ b/easybuild/easyconfigs/i/impi/impi-2021.9.0-intel-compilers-2023.1.0.eb @@ -0,0 +1,16 @@ +name = 'impi' +version = '2021.9.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html' +description = "Intel MPI Library, compatible with MPICH ABI" + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/718d6f8f-2546-4b36-b97b-bc58d5482ebf/'] +sources = ['l_mpi_oneapi_p_%(version)s.43482_offline.sh'] +checksums = ['5c170cdf26901311408809ced28498b630a494428703685203ceef6e62735ef8'] + +dependencies = [('UCX', '1.14.1')] + +moduleclass = 'mpi' 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/imutils/imutils-0.5.4-fosscuda-2020b.eb b/easybuild/easyconfigs/i/imutils/imutils-0.5.4-fosscuda-2020b.eb new file mode 100644 index 00000000000..0c948731f6f --- /dev/null +++ b/easybuild/easyconfigs/i/imutils/imutils-0.5.4-fosscuda-2020b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'imutils' +version = '0.5.4' + +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': 'fosscuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['03827a9fca8b5c540305c0844a62591cf35a0caec199cb0f2f0a4a0fb15d8f24'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('OpenCV', '4.5.1', '-contrib'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9b76a995eb8 --- /dev/null +++ b/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +# Contribution from Imperial College London/UK +# uploaded: J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'indicators' +version = '2.2' + +homepage = 'https://github.com/p-ranav/indicators' +description = """ +- Thread-safe progress bars and spinners +- Header-only library. Grab a copy of include/indicators. +- Single-header version in single_include/indicators. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/p-ranav/indicators/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b768f1b7ca64a413503f72d5460cc617c1458c17fb7a8c0ee503d753e1f20d03'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37') +] + +# build demo and sample program +configopts = ["-DINDICATORS_SAMPLES=ON -DINDICATORS_DEMO=ON -DINDICATORS_BUILD_TESTS=ON"] + +install_cmd = "make install && " +install_cmd += "mkdir %(installdir)s/bin/ && " +install_cmd += "cp demo/demo %(installdir)s/bin/ && " +install_cmd += "cp samples/*bar* samples/dynamic* %(installdir)s/bin/ && " +install_cmd += "cp samples/progress_spinner samples/time_meter samples/max_progress %(installdir)s/bin/" + +sanity_check_paths = { + 'files': ['bin/demo', 'bin/time_meter'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [('demo')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ba18df6c7bc --- /dev/null +++ b/easybuild/easyconfigs/i/indicators/indicators-2.2-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# Contribution from Imperial College London/UK +# uploaded: J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'indicators' +version = '2.2' + +homepage = 'https://github.com/p-ranav/indicators' +description = """ +- Thread-safe progress bars and spinners +- Header-only library. Grab a copy of include/indicators. +- Single-header version in single_include/indicators. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/p-ranav/indicators/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b768f1b7ca64a413503f72d5460cc617c1458c17fb7a8c0ee503d753e1f20d03'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +# build demo and sample program +configopts = ["-DINDICATORS_SAMPLES=ON -DINDICATORS_DEMO=ON -DINDICATORS_BUILD_TESTS=ON"] + +install_cmd = "make install && " +install_cmd += "mkdir %(installdir)s/bin/ && " +install_cmd += "cp demo/demo %(installdir)s/bin/ && " +install_cmd += "cp samples/*bar* samples/dynamic* %(installdir)s/bin/ && " +install_cmd += "cp samples/progress_spinner samples/time_meter samples/max_progress %(installdir)s/bin/" + +sanity_check_paths = { + 'files': ['bin/demo', 'bin/time_meter'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [('demo')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.10.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.10.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..6bd180c0b08 --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.10.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,53 @@ +easyblock = 'Bundle' + +name = 'inferCNV' +version = '1.10.1' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.14' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('R', '4.1.2'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-12', '-R-%(rver)s'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_biocver, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_biocver, + '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' +} + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyclust', '0.1-30', { + 'checksums': ['f7645bfaecfe7a19d213a7d5c42c750f0ccbdd85549dae6e8ba9d2ba4bc2c93b'], + }), + ('infercnv', version, { + 'checksums': ['60235405e928cc16e5d3c1238f2149a3acdf3340ede24f1ca38d70f455fcb3c2'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.12.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.12.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..71e6a1c5b06 --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.12.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'inferCNV' +version = '1.12.0' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.15' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('R', '4.2.1'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-13', '-R-%(rver)s'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/release/bioc/src/contrib/', # current version of packages + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_biocver, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_biocver, + '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' +} + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyclust', '0.1-33', { + 'checksums': ['38786608193bcad6aeb5517f2d5f836c9773bdd09fc484b4bd40b06a71f5a413'], + }), + ('infercnv', version, { + 'checksums': ['740d5e8c29f76a07b0a5a9175b8babed3cbc6933c4cf3cc64105d4de5c10c005'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.14.2-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.14.2-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..06120b55395 --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.14.2-foss-2022b-R-4.2.2.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'inferCNV' +version = '1.14.2' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.16' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-13', '-R-%(rver)s'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/release/bioc/src/contrib/', # current version of packages + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_biocver, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_biocver, + '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' +} + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyclust', '0.1-33', { + 'checksums': ['38786608193bcad6aeb5517f2d5f836c9773bdd09fc484b4bd40b06a71f5a413'], + }), + ('infercnv', version, { + 'checksums': ['7705f9d2796303f55034e026578a5877caf80b8dc929a15918b242a89a0ca512'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.21.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.21.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..7404bfe1502 --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.21.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'inferCNV' +version = '1.21.0' +versionsuffix = '-R-%(rver)s' +local_biocver = '3.18' +local_commit = '124eec089e5d9ab5a2a2352461d03db6cdcf0ea0' +github_account = 'broadinstitute' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('R', '4.3.2'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-15', '-R-%(rver)s'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/release/bioc/src/contrib/', # current version of packages + 'https://bioconductor.org/packages/%s/bioc/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/bioc/src/contrib/Archive/%%(name)s' % local_biocver, + 'https://bioconductor.org/packages/%s/data/annotation/src/contrib/' % local_biocver, + 'https://bioconductor.org/packages/%s/data/experiment/src/contrib/' % local_biocver, + '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' +} + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyclust', '0.1-34', { + 'checksums': ['d2047030e9f24c5dc8bbb378867fbcb8e71d1f1c2ab77e9285f79f670568f5f3'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['c8886c0a7c292e28a5fb0acaab3ae00eb2b3906aa0a1d146d5931819a37daefb'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2020b.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2020b.eb new file mode 100644 index 00000000000..7236c47e7ff --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2020b.eb @@ -0,0 +1,33 @@ +easyblock = 'RPackage' + +name = 'inferCNV' +version = '1.3.3' +local_biocver = '3.12' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +source_urls = [GITHUB_SOURCE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['693f7399a232a6cdd7f84bb4038420bdc5ca681545f9b124edb256c390fba541'] + +github_account = 'broadinstitute' +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('R', '4.0.3'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-10', '-R-%(rver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +options = {'modulename': 'infercnv'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2021a.eb b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2021a.eb new file mode 100644 index 00000000000..153e7e14922 --- /dev/null +++ b/easybuild/easyconfigs/i/inferCNV/inferCNV-1.3.3-foss-2021a.eb @@ -0,0 +1,33 @@ +easyblock = 'RPackage' + +name = 'inferCNV' +version = '1.3.3' +local_biocver = '3.13' + +homepage = 'https://github.com/broadinstitute/inferCNV/wiki' +description = """InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence + for somatic large-scale chromosomal copy number alterations, such as gains or + deletions of entire chromosomes or large segments of chromosomes.""" + +source_urls = [GITHUB_SOURCE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['693f7399a232a6cdd7f84bb4038420bdc5ca681545f9b124edb256c390fba541'] + +github_account = 'broadinstitute' +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('R', '4.1.0'), + ('R-bundle-Bioconductor', local_biocver, '-R-%(rver)s'), + ('rjags', '4-10', '-R-%(rver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['infercnv'], +} + +options = {'modulename': 'infercnv'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb new file mode 100644 index 00000000000..37e665fc2b5 --- /dev/null +++ b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.0-foss-2021b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'infercnvpy' +version = '0.4.0' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('leidenalg', '0.8.8'), + ('scanpy', '1.8.2'), +] + +use_pip = True + +# avoid hatchling requirement to install infercnvpy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '65.6.0', { + 'checksums': ['d1eebf881c6114e51df1664bc2c9133d022f78d12d5f4f665b9191f084e2862d'], + }), + ('gtfparse', '1.2.1', { + 'checksums': ['559d4d36b0bd5d4494f925cab3c00cd969783ebb6408fa025df92663965834b8'], + }), + ('pyreadr', '0.4.7', { + 'checksums': ['901110d62b4bedaef288f4db81425fb696edc721fe2c34c1083f5fb11050a73c'], + }), + ('tqdm', '4.64.1', { + 'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['00b8d78726db0a70bdb4d887fd503a484873244a60b9f58a0979aa75ba6e48cb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb new file mode 100644 index 00000000000..58e1804543b --- /dev/null +++ b/easybuild/easyconfigs/i/infercnvpy/infercnvpy-0.4.2-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'infercnvpy' +version = '0.4.2' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('IPython', '8.5.0'), + ('leidenalg', '0.9.1'), + ('scanpy', '1.9.1'), + ('polars', '0.15.6'), # required by gtfparse +] + +use_pip = True + +# avoid hatchling requirement to install infercnvpy +# (since installing it introduces conflicting version requirements with poetry included with Python) +local_preinstallopts = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +local_preinstallopts += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + +exts_list = [ + ('setuptools', '67.6.1', { + 'checksums': ['257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a'], + }), + ('gtfparse', '2.0.1', { + 'checksums': ['c45439af58cb48120910bebe4625371d8fb5735f12a749e8933c9d6f2b1a558c'], + }), + ('pyreadr', '0.4.7', { + 'checksums': ['901110d62b4bedaef288f4db81425fb696edc721fe2c34c1083f5fb11050a73c'], + }), + ('session-info', '1.0.0', { + 'sources': ['session_info-%(version)s.tar.gz'], + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['3cfd23afc2dbbca3508a305032c032440d2af292d037d43a7b5046c7bd36ed22'], + 'preinstallopts': local_preinstallopts, + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' 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/inih/inih-57-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/inih/inih-57-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..901c52d2b33 --- /dev/null +++ b/easybuild/easyconfigs/i/inih/inih-57-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'inih' +version = '57' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/benhoyt/inih/archive/refs/tags/'] +sources = ['r%(version)s.tar.gz'] +checksums = ['f03f98ca35c3adb56b2358573c8d3eda319ccd5287243d691e724b7eafa970b3'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +# installing manpages requires an extra build dependency (docbook xsl) +# configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libinih.%s' % SHLIB_EXT, 'include/ini.h'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.1.2.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.1.2.eb index 820a237e44d..67a5c1f5701 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.1.2.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.1.2.eb @@ -9,11 +9,11 @@ toolchain = SYSTEM # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html sources = [ { - 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17513/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17513/'], 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.63_offline.sh', }, { - 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17508/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17508/'], 'filename': 'l_fortran-compiler_p_%(version)s.62_offline.sh', }, ] diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.2.0.eb index 4fe1af0da99..e4986d623f0 100644 --- a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.2.0.eb +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.2.0.eb @@ -9,11 +9,11 @@ toolchain = SYSTEM # see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html sources = [ { - 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17749/'], 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.118_offline.sh', }, { - 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/'], + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17756/'], 'filename': 'l_fortran-compiler_p_%(version)s.136_offline.sh', }, ] diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.3.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.3.0.eb new file mode 100644 index 00000000000..cececeebef0 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.3.0.eb @@ -0,0 +1,35 @@ +## +# Author: Robert Mijakovic +## +name = 'intel-compilers' +version = '2021.3.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17928/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.3168_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17959/'], + 'filename': 'l_fortran-compiler_p_%(version)s.3168_offline.sh', + }, +] +checksums = [ + # l_dpcpp-cpp-compiler_p_2021.3.0.3168_offline.sh + 'f848d81b7cabc76c2841c9757abb2290921efd7b82491d830605f5785600e7a1', + 'c4553f7e707be8e8e196f625e4e7fbc8eff5474f64ab85fc7146b5ed53ebc87c', # l_fortran-compiler_p_2021.3.0.3168_offline.sh +] + +local_gccver = '10.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.36.1', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..977bf5ced0e --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2021.4.0.eb @@ -0,0 +1,32 @@ +name = 'intel-compilers' +version = '2021.4.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18209/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.3201_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18210/'], + 'filename': 'l_fortran-compiler_p_%(version)s.3224_offline.sh', + }, +] +checksums = [ + # l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh + '9206bff1c2fdeb1ca0d5f79def90dcf3e6c7d5711b9b5adecd96a2ba06503828', + 'de2fcf40e296c2e882e1ddf2c45bb8d25aecfbeff2f75fcd7494068d621eb7e0', # l_fortran-compiler_p_2021.4.0.3224_offline.sh +] + +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.1.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.1.eb new file mode 100644 index 00000000000..967197cdfd7 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.1.eb @@ -0,0 +1,31 @@ +name = 'intel-compilers' +version = '2022.0.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18435/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.71_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18436/'], + 'filename': 'l_fortran-compiler_p_%(version)s.70_offline.sh', + }, +] +checksums = [ + 'c7cddc64c3040eece2dcaf48926ba197bb27e5a46588b1d7b3beddcdc379926a', # l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh + '2cb28a04f93554bfeffd6cad8bd0e7082735f33d73430655dea86df8933f50d1', # l_fortran-compiler_p_2022.0.1.70_offline.sh +] + +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.2.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.2.eb new file mode 100644 index 00000000000..011509935b0 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.0.2.eb @@ -0,0 +1,31 @@ +name = 'intel-compilers' +version = '2022.0.2' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18478/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.84_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18481/'], + 'filename': 'l_fortran-compiler_p_%(version)s.83_offline.sh', + }, +] +checksums = [ + 'ade5bbd203e7226ca096d7bf758dce07857252ec54e83908cac3849e6897b8f3', # l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh + '78532b4118fc3d7afd44e679fc8e7aed1e84efec0d892908d9368e0c7c6b190c', # l_fortran-compiler_p_2022.0.2.83_offline.sh +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..92ac06db492 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.1.0.eb @@ -0,0 +1,32 @@ +name = 'intel-compilers' +version = '2022.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18717/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.137_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18703/'], + 'filename': 'l_fortran-compiler_p_%(version)s.134_offline.sh', + }, +] +checksums = [ + # l_dpcpp-cpp-compiler_p_2022.1.0.137_offline.sh + '1027819581ba820470f351abfc2b2658ff2684ed8da9ed0e722a45774a2541d6', + '583082abe54a657eb933ea4ba3e988eef892985316be13f3e23e18a3c9515020', # l_fortran-compiler_p_2022.1.0.134_offline.sh +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb new file mode 100644 index 00000000000..8c1390dae95 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.0.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2022.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18849/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.8772_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18909/'], + 'filename': 'l_fortran-compiler_p_%(version)s.8773_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2022.2.0.8772_offline.sh': + '8ca97f7ea8abf7876df6e10ce2789ea8cbc310c100ad7bf0b5ffccc4f3c7f2c9'}, + {'l_fortran-compiler_p_2022.2.0.8773_offline.sh': + '4054e4bf5146d55638d21612396a19ea623d22cbb8ac63c0a7150773541e0311'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..e67292301d5 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2022.2.1.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2022.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19030/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.16991_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18998/'], + 'filename': 'l_fortran-compiler_p_%(version)s.16992_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2022.2.1.16991_offline.sh': + '3f0f02f9812a0cdf01922d2df9348910c6a4cb4f9dfe50fc7477a59bbb1f7173'}, + {'l_fortran-compiler_p_2022.2.1.16992_offline.sh': + '64f1d1efbcdc3ac2182bec18313ca23f800d94f69758db83a1394490d9d4b042'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb new file mode 100644 index 00000000000..f1e9b21f009 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.0.0.eb @@ -0,0 +1,33 @@ +name = 'intel-compilers' +version = '2023.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19123/'], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.25393_offline.sh', + }, + { + 'source_urls': ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19105/'], + 'filename': 'l_fortran-compiler_p_%(version)s.25394_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2023.0.0.25393_offline.sh': + '473eb019282c2735d65c6058f6890e60b79a5698ae18d2c1e4489fed8dd18a02'}, + {'l_fortran-compiler_p_2023.0.0.25394_offline.sh': + 'fd7525bf90646c8e43721e138f29c9c6f99e96dfe5648c13633f30ec64ac8b1b'}, +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb new file mode 100644 index 00000000000..58579245be7 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.1.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2023.1.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/89283df8-c667-47b0-b7e1-c4573e37bd3e/', + ], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.46347_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/150e0430-63df-48a0-8469-ecebff0a1858/', + ], + 'filename': 'l_fortran-compiler_p_%(version)s.46348_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2023.1.0.46347_offline.sh': + '3ac1c1179501a2646cbb052b05426554194573b4f8e2344d7699eed03fbcfa1d'}, + {'l_fortran-compiler_p_2023.1.0.46348_offline.sh': + '7639af4b6c928e9e3ba92297a054f78a55f4f4d0db9db0d144cc6653004e4f24'}, +] + +local_gccver = '12.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.2.1.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.2.1.eb new file mode 100644 index 00000000000..ee6cfeb0026 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2023.2.1.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2023.2.1' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ebf5d9aa-17a7-46a4-b5df-ace004227c0e/', + ], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.8_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/0d65c8d4-f245-4756-80c4-6712b43cf835/', + ], + 'filename': 'l_fortran-compiler_p_%(version)s.8_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2023.2.1.8_offline.sh': + 'f5656b2f5bb5d904639e6ef1f90a2d2e760d2906e82ebc0dd387709738ca714b'}, + {'l_fortran-compiler_p_2023.2.1.8_offline.sh': + 'd4e36abc014c184698fec318a127f15a696b5333b3b0282aba1968b351207185'}, +] + +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.0.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.0.0.eb new file mode 100644 index 00000000000..1a5031d0409 --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.0.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2024.0.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/5c8e686a-16a7-4866-b585-9cf09e97ef36/', + ], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.49524_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/89b0fcf9-5c00-448a-93a1-5ee4078e008e/', + ], + 'filename': 'l_fortran-compiler_p_%(version)s.49493_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2024.0.0.49524_offline.sh': + 'd10bad2009c98c631fbb834aae62012548daeefc806265ea567316cd9180a684'}, + {'l_fortran-compiler_p_2024.0.0.49493_offline.sh': + '57faf854b8388547ee4ef2db387a9f6f3b4d0cebd67b765cf5e844a0a970d1f9'}, +] + +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.2.0.eb b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.2.0.eb new file mode 100644 index 00000000000..90e271fe60a --- /dev/null +++ b/easybuild/easyconfigs/i/intel-compilers/intel-compilers-2024.2.0.eb @@ -0,0 +1,37 @@ +name = 'intel-compilers' +version = '2024.2.0' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Intel C, C++ & Fortran compilers (classic and oneAPI)" + +toolchain = SYSTEM + +# see https://software.intel.com/content/www/us/en/develop/articles/oneapi-standalone-components.html +sources = [ + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6780ac84-6256-4b59-a647-330eb65f32b6/' + ], + 'filename': 'l_dpcpp-cpp-compiler_p_%(version)s.495_offline.sh', + }, + { + 'source_urls': [ + 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/801143de-6c01-4181-9911-57e00fe40181/' + ], + 'filename': 'l_fortran-compiler_p_%(version)s.426_offline.sh', + }, +] +checksums = [ + {'l_dpcpp-cpp-compiler_p_2024.2.0.495_offline.sh': + '9463aa979314d2acc51472d414ffcee032e9869ca85ac6ff4c71d39500e5173d'}, + {'l_fortran-compiler_p_2024.2.0.426_offline.sh': + 'fd19a302662b2f86f76fc115ef53a69f16488080278dba4c573cc705f3a52ffa'}, +] + +local_gccver = '13.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.42', '', ('GCCcore', local_gccver)), +] + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/i/intel/intel-2021b.eb b/easybuild/easyconfigs/i/intel/intel-2021b.eb new file mode 100644 index 00000000000..8d5b83ca141 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2021b.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2021b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', local_comp_ver, '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.00.eb b/easybuild/easyconfigs/i/intel/intel-2022.00.eb new file mode 100644 index 00000000000..d4c1c743073 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.00.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.00' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.0.1' +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.5.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.05.eb b/easybuild/easyconfigs/i/intel/intel-2022.05.eb new file mode 100644 index 00000000000..1dd52139097 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.05.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.05' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.1.0' +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.09.eb b/easybuild/easyconfigs/i/intel/intel-2022.09.eb new file mode 100644 index 00000000000..8e5967bdb58 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.09.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.09' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.0' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.11.eb b/easybuild/easyconfigs/i/intel/intel-2022.11.eb new file mode 100644 index 00000000000..9dd32ad27d5 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.11.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.11' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022.12.eb b/easybuild/easyconfigs/i/intel/intel-2022.12.eb new file mode 100644 index 00000000000..d93caf59b40 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022.12.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022.12' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.0.0' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.8.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022a.eb b/easybuild/easyconfigs/i/intel/intel-2022a.eb new file mode 100644 index 00000000000..59f22dc713b --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022a.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.1.0' +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.6.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2022b.eb b/easybuild/easyconfigs/i/intel/intel-2022b.eb new file mode 100644 index 00000000000..a2553d65c7e --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2022b.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2022b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2022.2.1' +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.7.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023.03.eb b/easybuild/easyconfigs/i/intel/intel-2023.03.eb new file mode 100644 index 00000000000..a57e1ebc96e --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023.03.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023.03' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +local_gccver = '12.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023.07.eb b/easybuild/easyconfigs/i/intel/intel-2023.07.eb new file mode 100644 index 00000000000..fbb6901e524 --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023.07.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023.07' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.2.1' +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.10.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', '2023.2.0', '', SYSTEM), + ('imkl-FFTW', '2023.2.0', '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023.11.eb b/easybuild/easyconfigs/i/intel/intel-2023.11.eb new file mode 100644 index 00000000000..88f7db5e4ab --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023.11.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023.11' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2024.0.0' +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.11.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', '2024.0.0', '', SYSTEM), + ('imkl-FFTW', '2024.0.0', '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023a.eb b/easybuild/easyconfigs/i/intel/intel-2023a.eb new file mode 100644 index 00000000000..2b3f1b90ddc --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023a.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.1.0' +local_gccver = '12.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.9.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', SYSTEM), + ('imkl-FFTW', local_comp_ver, '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2023b.eb b/easybuild/easyconfigs/i/intel/intel-2023b.eb new file mode 100644 index 00000000000..c6c86c8f37d --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2023b.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2023b' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2023.2.1' +local_gccver = '13.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.40', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.10.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', '2023.2.0', '', SYSTEM), + ('imkl-FFTW', '2023.2.0', '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intel/intel-2024a.eb b/easybuild/easyconfigs/i/intel/intel-2024a.eb new file mode 100644 index 00000000000..7b08707e0fc --- /dev/null +++ b/easybuild/easyconfigs/i/intel/intel-2024a.eb @@ -0,0 +1,22 @@ +easyblock = 'Toolchain' + +name = 'intel' +version = '2024a' + +homepage = 'https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain' +description = "Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2024.2.0' +local_gccver = '13.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.42', '', ('GCCcore', local_gccver)), + ('intel-compilers', local_comp_ver), + ('impi', '2021.13.0', '', ('intel-compilers', local_comp_ver)), + ('imkl', '2024.2.0', '', SYSTEM), + ('imkl-FFTW', '2024.2.0', '', ('iimpi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.0.2-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.0.2-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..c32e4755def --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.0.2-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,40 @@ +# 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 + +easyblock = 'PythonBundle' + +name = 'intervaltree-python' +version = '3.0.2' +versionsuffix = '-Python-%(pyver)s' + +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': 'foss', 'version': '2018b'} + +dependencies = [ + ('Python', '3.6.6'), +] + +use_pip = True + +exts_list = [ + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', version, { + 'checksums': ['cb4f61c81dcb4fea6c09903f3599015a83c9bdad1f0bbd232495e6681e19e273'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..081b2c943d5 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +# 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': '10.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.36.1')] + +dependencies = [('Python', '3.9.5')] + +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-11.2.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..69c4a126501 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# 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': '11.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.37')] + +dependencies = [('Python', '3.9.6')] + +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-11.3.0.eb b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cf74f765780 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree-python/intervaltree-python-3.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# 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': '11.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.38')] + +dependencies = [('Python', '3.10.4')] + +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.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-10.2.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..bdf771c0994 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +# Updated: Denis Kristak (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': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7ba41f164a98bdcd570f1416fde1634b23d3b0d885b11ccebeec76f58810c307'] + +builddependencies = [('binutils', '2.35')] + +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/intervaltree/intervaltree-0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..dd0d16ad302 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +# Updated: Denis Kristak (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': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7ba41f164a98bdcd570f1416fde1634b23d3b0d885b11ccebeec76f58810c307'] + +builddependencies = [('binutils', '2.36.1')] + +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/intervaltree/intervaltree-0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..164fe620dca --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +# Updated: Denis Kristak (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': '11.2.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.37')] + +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/intervaltree/intervaltree-0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..882c7ce71a2 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-11.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': '11.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.38')] + +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/intervaltree/intervaltree-0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..06f61418ed7 --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1-GCCcore-12.2.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.2.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.39')] + +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/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/intervaltree/intervaltree-0.1_fix-numeric_limits.patch b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1_fix-numeric_limits.patch new file mode 100644 index 00000000000..4e57c278fef --- /dev/null +++ b/easybuild/easyconfigs/i/intervaltree/intervaltree-0.1_fix-numeric_limits.patch @@ -0,0 +1,38 @@ +From f0c4046514f41072be20da07b69d8a92220c9294 Mon Sep 17 00:00:00 2001 +From: Juhani Numminen +Date: Thu, 11 Mar 2021 14:56:33 +0200 +Subject: [PATCH] include for numeric_limits + +Omission of this include will cause build failures with GCC 11. +https://www.gnu.org/software/gcc/gcc-11/porting_to.html + +Original bug report: https://bugs.debian.org/984212 +--- + IntervalTree.h | 1 + + interval_tree_test.cpp | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/IntervalTree.h b/IntervalTree.h +index eb9fc62..ec6640c 100644 +--- a/IntervalTree.h ++++ b/IntervalTree.h +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #ifdef USE_INTERVAL_TREE_NAMESPACE + namespace interval_tree { +diff --git a/interval_tree_test.cpp b/interval_tree_test.cpp +index fbfee2f..58ec91c 100644 +--- a/interval_tree_test.cpp ++++ b/interval_tree_test.cpp +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + #include + #include + #include "IntervalTree.h" diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8945f9aecf5 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8e4d0c83cd7 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..68c3f09136f --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Perl', '5.36.0'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4e0a8b32b26 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Perl-bundle-CPAN', '5.36.1'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f8c69c422a2 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Perl-bundle-CPAN', '5.38.0'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e5797e51b02 --- /dev/null +++ b/easybuild/easyconfigs/i/intltool/intltool-0.51.0-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'intltool' +version = '0.51.0' + +homepage = 'https://freedesktop.org/wiki/Software/intltool/' +description = """intltool is a set of tools to centralize translation of + many different file formats using GNU gettext-compatible PO files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://launchpad.net/intltool/trunk/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +patches = ['intltool-%(version)s_fix-Perl-compat.patch'] +checksums = [ + '67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd', # intltool-0.51.0.tar.gz + 'e839f7228b2b92301831bca88ed0bc7bce5dbf862568f1644642988204903db6', # intltool-0.51.0_fix-Perl-compat.patch +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Perl-bundle-CPAN', '5.38.2'), +] + +fix_perl_shebang_for = ['bin/intltool-*'] + +sanity_check_paths = { + 'files': ['bin/intltool%s' % x for x in ['-extract', '-merge', '-prepare', '-update', 'ize']], + 'dirs': [] +} + +sanity_check_commands = ["intltool-merge --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb b/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb new file mode 100644 index 00000000000..1328e3eb2c7 --- /dev/null +++ b/easybuild/easyconfigs/i/iodata/iodata-1.0.0a2-intel-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'iodata' +version = '1.0.0a2' + +homepage = 'https://github.com/theochem/iodata' +description = """Python library for reading, writing, and converting computational chemistry file formats and + generating input files.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/theochem/iodata/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c72ea17282d110ca3f85113f670bc9309ea68b4f86e1684b44778455622141bb'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True + +# inject correct version rather than relying on dynamically determined version +preinstallopts = r"""sed -i "s/version=VERSION/version='%(version)s'/g" setup.py && """ + +sanity_check_paths = { + 'files': ['bin/iodata-convert'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["iodata-convert --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/i/iomkl/iomkl-2021a.eb b/easybuild/easyconfigs/i/iomkl/iomkl-2021a.eb new file mode 100644 index 00000000000..1bfdccc4bbf --- /dev/null +++ b/easybuild/easyconfigs/i/iomkl/iomkl-2021a.eb @@ -0,0 +1,18 @@ +easyblock = 'Toolchain' + +name = 'iomkl' +version = '2021a' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Compiler toolchain including Intel compilers, Open MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2021.2.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', ('iompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb b/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb new file mode 100755 index 00000000000..3ebbaf3278b --- /dev/null +++ b/easybuild/easyconfigs/i/iomkl/iomkl-2021b.eb @@ -0,0 +1,18 @@ +easyblock = 'Toolchain' + +name = 'iomkl' +version = '2021b' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = "Compiler toolchain including Intel compilers, Open MPI and Intel Math Kernel Library (MKL)." + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), + ('imkl', local_comp_ver, '', ('iompi', version)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iompi/iompi-2021a.eb b/easybuild/easyconfigs/i/iompi/iompi-2021a.eb new file mode 100644 index 00000000000..844e9e075d5 --- /dev/null +++ b/easybuild/easyconfigs/i/iompi/iompi-2021a.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iompi' +version = '2021a' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = """Intel C/C++ and Fortran compilers, alongside Open MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2021.2.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iompi/iompi-2021b.eb b/easybuild/easyconfigs/i/iompi/iompi-2021b.eb new file mode 100755 index 00000000000..f2a3e584b44 --- /dev/null +++ b/easybuild/easyconfigs/i/iompi/iompi-2021b.eb @@ -0,0 +1,18 @@ +# This is an easyconfig file for EasyBuild, see http://easybuilders.github.io/easybuild +easyblock = 'Toolchain' + +name = 'iompi' +version = '2021b' + +homepage = 'https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html' +description = """Intel C/C++ and Fortran compilers, alongside Open MPI.""" + +toolchain = SYSTEM + +local_comp_ver = '2021.4.0' +dependencies = [ + ('intel-compilers', local_comp_ver), + ('OpenMPI', '4.1.1', '', ('intel-compilers', local_comp_ver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/i/iperf/iperf-2.1.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/i/iperf/iperf-2.1.9-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..baf0cfe8d03 --- /dev/null +++ b/easybuild/easyconfigs/i/iperf/iperf-2.1.9-GCCcore-10.2.0.eb @@ -0,0 +1,36 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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-90.html +## + +easyblock = 'ConfigureMake' + +name = 'iperf' +version = '2.1.9' + +homepage = 'https://sourceforge.net/projects/iperf2/' +description = """Iperf 2: TCP and UDP bandwidth performance measurement tool""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = [('https://sourceforge.net/projects/iperf2/files', 'download')] +checksums = ['5c0771aab00ef14520013aef01675977816e23bb8f5d9fde016f90eb2f1be788'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['bin/iperf'], + 'dirs': [] +} + +sanity_check_commands = ["iperf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/iperf/iperf-3.15.eb b/easybuild/easyconfigs/i/iperf/iperf-3.15.eb new file mode 100644 index 00000000000..2135aea41dc --- /dev/null +++ b/easybuild/easyconfigs/i/iperf/iperf-3.15.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'iperf' +version = '3.15' + +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 = ['bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff'] + +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/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-2022a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2022a.eb new file mode 100644 index 00000000000..0d3dd0f948f --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-foss-2022a.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), +] + +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/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb new file mode 100644 index 00000000000..47ab1aff28c --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.3-gfbf-2023a.eb @@ -0,0 +1,34 @@ +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': 'gfbf', '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 = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb new file mode 100644 index 00000000000..e780d34c757 --- /dev/null +++ b/easybuild/easyconfigs/i/ipympl/ipympl-0.9.4-gfbf-2023b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'ipympl' +version = '0.9.4' + +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': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('JupyterLab', '4.2.0'), + ('matplotlib', '3.8.2'), + ('Pillow', '10.2.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5b0c08c6f4f6ea655ba58239363457c10fb921557f5038c1a46db4457d6d6b0e'], + }), +] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb new file mode 100644 index 00000000000..02ff2d9db54 --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.11-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.11' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['4d93a5b6a64aa3c6bde25769fd6a7fd32c0a8ced4ffa6e87795f5926db0a78c9'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb new file mode 100644 index 00000000000..fb7c54c2f53 --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.12-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.12' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['aa5382dc82cf9d002255d289348286a908b78e1246940ee605e92b4adf8586dd'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb new file mode 100644 index 00000000000..503020560f8 --- /dev/null +++ b/easybuild/easyconfigs/i/irodsfs/irodsfs-0.8.9-linux-amd64.eb @@ -0,0 +1,25 @@ +easyblock = 'Binary' + +name = 'irodsfs' +version = '0.8.9' +versionsuffix = '-linux-amd64' + +homepage = 'https://github.com/cyverse/irodsfs' +description = """FUSE implementation of iRODS Client written in Golang.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/cyverse/irodsfs/releases/download/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['47a5ee716b00e4c4c3da74d39bed189a160d86eff91aab4904e772dca62e004b'] + +extract_sources = True + +sanity_check_paths = { + 'files': ['%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/isoCirc/isoCirc-1.0.4-foss-2020b.eb b/easybuild/easyconfigs/i/isoCirc/isoCirc-1.0.4-foss-2020b.eb new file mode 100644 index 00000000000..1e5a19bc40a --- /dev/null +++ b/easybuild/easyconfigs/i/isoCirc/isoCirc-1.0.4-foss-2020b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'isoCirc' +version = '1.0.4' + +homepage = 'https://github.com/Xinglab/isoCirc' +description = """isoCirc: computational pipeline to identify high-confidence +BSJs and full-length circRNA isoforms from isoCirc long-read data +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Pysam', '0.16.0.1'), + ('pybedtools', '0.8.2'), + ('minimap2', '2.18'), + ('pyfaidx', '0.5.9.5'), +] + +use_pip = True + +exts_list = [ + ('argcomplete', '1.12.3', { + 'checksums': ['2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445'], + }), + ('argh', '0.26.2', { + 'checksums': ['e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65'], + }), + ('crlibm', '1.0.3', { + 'checksums': ['48e17981f90d69c6bb0013f68bacbe7a157de864a533d15dd196ca7e98348a35'], + }), + ('gffutils', '0.10.1', { + 'checksums': ['a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb'], + }), + ('mappy', '2.20', { + 'checksums': ['00c8720783ac982b514b01b86349ede9809eeaccdf1328acb5a16dfeef51458b'], + }), + ('pyinterval', '1.2.0', { + 'modulename': 'interval', + 'checksums': ['8c46224a05815affa803ed5620432236bba620a246701b860d98ae7358a41d21'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/Xinglab/isoCirc/archive'], + 'start_dir': 'isoCirc_pipeline', + 'checksums': ['c5879820d7e61b4fc25a4357df8967d65f6d6c05aff705d5338a16707ffa849d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['isocirc', 'isocircPlot']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + "isocirc --help", + ( + "cd %(builddir)s/%(name)s/%(name)s-%(version)s/test_data && " + "isocirc -t 1 read_toy.fa chr16_toy.fa chr16_toy.gtf chr16_circRNA_toy.bed output" + ), +] +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/i/ispc/ispc-1.10.0.eb b/easybuild/easyconfigs/i/ispc/ispc-1.10.0.eb index c83e203d15d..5c8c24efaf6 100644 --- a/easybuild/easyconfigs/i/ispc/ispc-1.10.0.eb +++ b/easybuild/easyconfigs/i/ispc/ispc-1.10.0.eb @@ -13,9 +13,9 @@ description = """Intel SPMD Program Compilers; An open-source compiler for high- toolchain = SYSTEM -sources = ['ispc-v%(version)s-linux.tar.gz'] -source_urls = [('http://sourceforge.net/projects/ispcmirror/files/v%(version)s', 'download')] -checksums = ['453211ade91c33826f4facb1336114831adbd35196d016e09d589a6ad8699aa3'] +source_urls = ['https://github.com/ispc/ispc/releases/download/v%(version)s/'] +sources = ['ispc-v%(version)sb-linux.tar.gz'] +checksums = ['7fbcf27be161d80a28ab258b3beef3f137a72ac4edc9aa92b1cca044521ff6ca'] sanity_check_paths = { 'files': ["bin/ispc"], diff --git a/easybuild/easyconfigs/i/ispc/ispc-1.12.0.eb b/easybuild/easyconfigs/i/ispc/ispc-1.12.0.eb index 450f335d81a..cb286e82948 100644 --- a/easybuild/easyconfigs/i/ispc/ispc-1.12.0.eb +++ b/easybuild/easyconfigs/i/ispc/ispc-1.12.0.eb @@ -13,9 +13,9 @@ description = """Intel SPMD Program Compilers; An open-source compiler for high- toolchain = SYSTEM -source_urls = [('http://sourceforge.net/projects/ispcmirror/files/v%(version)s', 'download')] -sources = ['ispc-v%(version)s-linux.tar.gz'] -checksums = ['79decaef42bc5433ab30f5879eb91af14473a42e8b51ec727a97f61ee918497e'] +source_urls = ['https://github.com/ispc/ispc/releases/download/v%(version)s/'] +sources = ['ispc-v%(version)sb-linux.tar.gz'] +checksums = ['7a2bdd5fff5c1882639cfbd66bca31dbb68c7177f3013e80b0813a37fe0fdc23'] sanity_check_paths = { 'files': ["bin/ispc"], diff --git a/easybuild/easyconfigs/i/ispc/ispc-1.6.0.eb b/easybuild/easyconfigs/i/ispc/ispc-1.6.0.eb index b266d99faac..0b7e085e0e3 100644 --- a/easybuild/easyconfigs/i/ispc/ispc-1.6.0.eb +++ b/easybuild/easyconfigs/i/ispc/ispc-1.6.0.eb @@ -13,8 +13,9 @@ description = """Intel SPMD Program Compilers; An open-source compiler for high- toolchain = SYSTEM +source_urls = ['https://github.com/ispc/ispc/releases/download/v%(version)s/'] sources = ['ispc-v%(version)s-linux.tar.gz'] -source_urls = [('http://sourceforge.net/projects/ispcmirror/files/v%(version)s', 'download')] +checksums = ['67abd92645ead651ced74c4e358313414f5786f0275d975ef4888f168ca342d1'] sanity_check_paths = { 'files': ["ispc"], diff --git a/easybuild/easyconfigs/i/itac/itac-2021.10.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.10.0.eb new file mode 100644 index 00000000000..ebcda8277d3 --- /dev/null +++ b/easybuild/easyconfigs/i/itac/itac-2021.10.0.eb @@ -0,0 +1,20 @@ + +name = 'itac' +version = '2021.10.0' + +homepage = 'https://software.intel.com/en-us/intel-trace-analyzer/' +description = """The Intel Trace Collector is a low-overhead tracing library that performs + event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application + activities gathered by the Intel Trace Collector through graphical displays. """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/226adf12-b7f6-407e-95a9-8e9ab76d7631/'] +sources = ['l_itac_oneapi_p_%(version)s.14_offline.sh'] +checksums = ['cfff2ee19c793b64074b5490a16acbe8c9767f41d391d7c71c0004fdcec501c7'] + +dontcreateinstalldir = True + +preferredmpi = 'impi5' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb new file mode 100644 index 00000000000..ea2cfcb2650 --- /dev/null +++ b/easybuild/easyconfigs/i/itac/itac-2021.2.0.eb @@ -0,0 +1,22 @@ +## +# Author: Robert Mijakovic +## +name = 'itac' +version = '2021.2.0' + +homepage = 'https://software.intel.com/en-us/intel-trace-analyzer/' +description = """The Intel Trace Collector is a low-overhead tracing library that performs + event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application + activities gathered by the Intel Trace Collector through graphical displays. """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17686/'] +sources = ['l_itac_oneapi_p_%(version)s.152_offline.sh'] +checksums = ['dca9d1cb2b77c43496009e191916e0d37c2e6606c228e37c11091778d038dd90'] + +dontcreateinstalldir = True + +preferredmpi = 'impi5' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb new file mode 100644 index 00000000000..ea05e25db95 --- /dev/null +++ b/easybuild/easyconfigs/i/itac/itac-2021.5.0.eb @@ -0,0 +1,22 @@ +## +# Author: Robert Mijakovic +## +name = 'itac' +version = '2021.5.0' + +homepage = 'https://software.intel.com/en-us/intel-trace-analyzer/' +description = """The Intel Trace Collector is a low-overhead tracing library that performs + event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application + activities gathered by the Intel Trace Collector through graphical displays. """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18367/'] +sources = ['l_itac_oneapi_p_%(version)s.370_offline.sh'] +checksums = ['c2b31298d8b4069a62d9352873c7f6e17ce240ad7293f9bacdc6de3794675b58'] + +dontcreateinstalldir = True + +preferredmpi = 'impi5' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb b/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb new file mode 100644 index 00000000000..0f35b870046 --- /dev/null +++ b/easybuild/easyconfigs/i/itac/itac-2021.6.0.eb @@ -0,0 +1,22 @@ +## +# Author: Robert Mijakovic +## +name = 'itac' +version = '2021.6.0' + +homepage = 'https://software.intel.com/en-us/intel-trace-analyzer/' +description = """The Intel Trace Collector is a low-overhead tracing library that performs + event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application + activities gathered by the Intel Trace Collector through graphical displays. """ + +toolchain = SYSTEM + +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18694/'] +sources = ['l_itac_oneapi_p_%(version)s.434_offline.sh'] +checksums = ['1ecc2735da960041b051e377cadb9f6ab2f44e8aa44d0f642529a56a3cbba436'] + +dontcreateinstalldir = True + +preferredmpi = 'impi5' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021a.eb new file mode 100644 index 00000000000..f8c13975668 --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021a.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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.0' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.eb new file mode 100644 index 00000000000..84549cc8f4d --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-foss-2021b.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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.0' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-fosscuda-2020b.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..78f0374a76a --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.0-fosscuda-2020b.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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.0' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb new file mode 100644 index 00000000000..b821886818f --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.1-foss-2022a.eb @@ -0,0 +1,37 @@ +# 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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.1' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['f9258355b5e9eb13bd33c5fa720f0cbebacea7d0a4a42b71b0fb14501ee14229'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['bin/jags', 'libexec/jags-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["echo 'list modules' | jags"] + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2022b.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2022b.eb new file mode 100644 index 00000000000..8095b016e26 --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2022b.eb @@ -0,0 +1,37 @@ +# 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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.2' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download') +] +sources = [SOURCE_TAR_GZ] +checksums = ['871f556af403a7c2ce6a0f02f15cf85a572763e093d26658ebac55c4ab472fc8'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + +sanity_check_paths = { + 'files': ['bin/jags', 'libexec/jags-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["echo 'list modules' | jags"] + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb new file mode 100644 index 00000000000..8c83d04b731 --- /dev/null +++ b/easybuild/easyconfigs/j/JAGS/JAGS-4.3.2-foss-2023a.eb @@ -0,0 +1,38 @@ +# 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 = 'ConfigureMake' + +name = 'JAGS' +version = '4.3.2' + +homepage = 'http://mcmc-jags.sourceforge.net/' +description = """JAGS is Just Another Gibbs Sampler. It is a program for analysis + of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + ('https://sourceforge.net/projects/mcmc-%(namelower)s/files/%(name)s/%(version_major)s.x/Source/', 'download'), +] +sources = [SOURCE_TAR_GZ] +checksums = ['871f556af403a7c2ce6a0f02f15cf85a572763e093d26658ebac55c4ab472fc8'] + +configopts = ' --with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK"' + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'libexec/%(namelower)s-terminal', 'lib/libjags.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["echo 'list modules' | %(namelower)s"] + +modextrapaths = { + 'JAGS_INCLUDE': 'include/%(name)s', + 'JAGS_LIB': 'lib', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/JSON-GLib/JSON-GLib-1.6.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JSON-GLib/JSON-GLib-1.6.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9c8b4312ad7 --- /dev/null +++ b/easybuild/easyconfigs/j/JSON-GLib/JSON-GLib-1.6.2-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MesonNinja' + +name = 'JSON-GLib' +version = '1.6.2' + +homepage = 'https://wiki.gnome.org/Projects/JsonGlib' +description = """JSON-GLib implements a full JSON parser and generator using GLib and GObject, + and integrates JSON with GLib data types.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.gnome.org/sources/json-glib/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['a33d66c6d038bda46b910c6c6d59c4e15db014e363dc997a0414c2e07d134f24'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GLib', '2.68.2'), + ('GObject-Introspection', '1.68.0'), +] + +sanity_check_paths = { + 'files': ['bin/json-glib-format', 'bin/json-glib-validate', + 'lib/libjson-glib-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': ['include/json-glib-%(version_major)s.0/json-glib', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = [ + "json-glib-format --help", + "json-glib-validate --help", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JUBE/JUBE-2.4.2.eb b/easybuild/easyconfigs/j/JUBE/JUBE-2.4.2.eb new file mode 100644 index 00000000000..8a1b74a328a --- /dev/null +++ b/easybuild/easyconfigs/j/JUBE/JUBE-2.4.2.eb @@ -0,0 +1,33 @@ +easyblock = "VersionIndependentPythonPackage" + +name = "JUBE" +version = "2.4.2" + +homepage = "https://www.fz-juelich.de/jsc/jube" +description = """The JUBE benchmarking environment provides a script based +framework to easily create benchmark sets, run those sets on different +computer systems and evaluate the results. +""" + +toolchain = SYSTEM + +source_urls = ['https://apps.fz-juelich.de/jsc/jube/jube2/download.php?file='] +sources = [SOURCE_TAR_GZ] +checksums = ['d1de15e9792802f83521b582d1d144ec81e3d5a28c01dbd945288ea29b946729'] + +options = {'modulename': 'jube2'} + +sanity_check_paths = { + 'files': ['bin/jube'], + 'dirs': [], +} + +sanity_check_commands = ['jube --version'] + +modextrapaths = { + 'JUBE_INCLUDE_PATH': 'share/jube/platform/slurm' +} + +modluafooter = 'execute {cmd=\'eval "$(jube complete)"\',modeA={"load"}}' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JUnit/JUnit-4.12-Java-1.8.eb b/easybuild/easyconfigs/j/JUnit/JUnit-4.12-Java-1.8.eb index d773a1008c5..9c828ff708b 100644 --- a/easybuild/easyconfigs/j/JUnit/JUnit-4.12-Java-1.8.eb +++ b/easybuild/easyconfigs/j/JUnit/JUnit-4.12-Java-1.8.eb @@ -17,7 +17,7 @@ sources = ['%(namelower)s-%(version)s.jar'] checksums = ['59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a'] # specify dependency on Java/1.8 "wrapper", rather than a specific Java version -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': sources, diff --git a/easybuild/easyconfigs/j/Jansson/Jansson-2.13.1-GCC-11.2.0.eb b/easybuild/easyconfigs/j/Jansson/Jansson-2.13.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..26a65302e13 --- /dev/null +++ b/easybuild/easyconfigs/j/Jansson/Jansson-2.13.1-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'Jansson' +version = "2.13.1" + +homepage = 'https://www.digip.org/jansson/' +description = """Jansson is a C library for encoding, decoding and manipulating JSON data. + Its main features and design principles are: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/akheron/jansson/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f22901582138e3203959c9257cf83eba9929ac41d7be4a42557213a22ebcc7a0'] + +# For configure, the ld.gold linker does not know anything about --default-symver and thus crashes +# So we simnply use the bfd linker +# preconfigopts = 'autoreconf -i && CC="$CC -fuse-ld=bfd" ' +# This is not required with CMake + +builddependencies = [('CMake', '3.22.1')] + +configopts = '-DJANSSON_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libjansson.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +runtest = 'check' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-11.3.0.eb b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-11.3.0.eb new file mode 100644 index 00000000000..37c841b0d79 --- /dev/null +++ b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'Jansson' +version = "2.14" + +homepage = 'https://www.digip.org/jansson/' +description = """Jansson is a C library for encoding, decoding and manipulating JSON data. + Its main features and design principles are: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/akheron/jansson/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b'] + +# For configure, the ld.gold linker does not know anything about --default-symver and thus crashes +# So we simnply use the bfd linker +# preconfigopts = 'autoreconf -i && CC="$CC -fuse-ld=bfd" ' +# This is not required with CMake + +builddependencies = [('CMake', '3.23.1')] + +configopts = '-DJANSSON_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libjansson.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +runtest = 'check' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb new file mode 100644 index 00000000000..a8aeb721b5f --- /dev/null +++ b/easybuild/easyconfigs/j/Jansson/Jansson-2.14-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +# Contribution from Imperial College London +# uploaded by J. Sassmannshausen +# Update: P.Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'Jansson' +version = "2.14" + +homepage = 'https://www.digip.org/jansson/' +description = """Jansson is a C library for encoding, decoding and manipulating JSON data. + Its main features and design principles are: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/akheron/jansson/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c739578bf6b764aa0752db9a2fdadcfe921c78f1228c7ec0bb47fa804c55d17b'] + +# For configure, the ld.gold linker does not know anything about --default-symver and thus crashes +# So we simnply use the bfd linker +# preconfigopts = 'autoreconf -i && CC="$CC -fuse-ld=bfd" ' +# This is not required with CMake + +builddependencies = [('CMake', '3.26.3')] + +configopts = '-DJANSSON_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['lib/libjansson.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +runtest = 'check' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a3a9a8e799c --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '2.0.33' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['38b8f74565ee9e7fec44657e69adb5c9b2a966ca5947ced5717cde18a7d2eca6'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ff6ab7548cf --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-2.0.33-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '2.0.33' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['38b8f74565ee9e7fec44657e69adb5c9b2a966ca5947ced5717cde18a7d2eca6'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2f1a4dceecc --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '4.0.0' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1568d4b64e4 --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '4.0.0' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ab5a601586c --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-4.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '4.0.0' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['977c4c2e4210f4e37313cd2232d99e73d57ab561917b3c060bcdd5e83a0a13f1'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..14ce45ca6ad --- /dev/null +++ b/easybuild/easyconfigs/j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'JasPer' +version = '4.2.4' + +homepage = 'https://www.ece.uvic.ca/~frodo/jasper/' + +description = """ + The JasPer Project is an open-source initiative to provide a free + software-based reference implementation of the codec specified in + the JPEG-2000 Part-1 standard. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +github_account = 'jasper-software' +source_urls = [GITHUB_SOURCE] +sources = ['version-%(version)s.tar.gz'] +checksums = ['23a3d58cdeacf3abdf9fa1d81dcefee58da6ab330940790c0f27019703bfd2cd'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +configopts = '-DJAS_ENABLE_DOC=OFF ' + +sanity_check_paths = { + 'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)], + 'dirs': ['include'], +} + +sanity_check_commands = ['jasper --version'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/Jasmine/Jasmine-1.1.4-GCC-11.2.0-Java-15.eb b/easybuild/easyconfigs/j/Jasmine/Jasmine-1.1.4-GCC-11.2.0-Java-15.eb new file mode 100644 index 00000000000..781822576b5 --- /dev/null +++ b/easybuild/easyconfigs/j/Jasmine/Jasmine-1.1.4-GCC-11.2.0-Java-15.eb @@ -0,0 +1,41 @@ +easyblock = 'CmdCp' + +name = 'Jasmine' +version = '1.1.4' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/mkirsche/Jasmine' +description = """SV Merging Across Samples""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'mkirsche' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b52e13964b41f7659368965cd9e0537b151a6b52cf41dc8634ba67b1384113ec'] + +dependencies = [ + ('Java', '15', '', SYSTEM), + ('Iris', '1.0.5', versionsuffix), +] + +cmds_map = [('.*', "./build_jar.sh $EBROOTIRIS/iris.jar")] + +files_to_copy = [ + 'jasmine.jar', + 'jasmine_igv.jar', + 'jasmine_split.jar', +] + +modloadmsg = """To execute jasmine run: java -jar $EBROOTJASMINE/%(namelower)s.jar, + java -jar $EBROOTJASMINE/%(namelower)s_igv.jar, or + java -jar $EBROOTJASMINE/%(namelower)s_split.jar""" + +sanity_check_commands = ['java -jar $EBROOTJASMINE/jasmine.jar'] + +sanity_check_paths = { + 'files': ['jasmine.jar', 'jasmine_igv.jar', 'jasmine_split.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_202.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_202.eb index 6219a3794e8..b5f365164e3 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_202.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_202.eb @@ -10,11 +10,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_212.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_212.eb index 2f7ac0a4e4c..854577beceb 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_212.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_212.eb @@ -7,11 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['3160c50aa8d8e081c8c7fe0f859ea452922eca5d2ae8f8ef22011ae87e6fedfb'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_221.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_221.eb index 7c7c4130442..bdc62964d0a 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_221.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_221.eb @@ -7,11 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['bac52b7f120a03c4c0815ca8fc77c02a8f3db2ded121ffad7449525f377e2479'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_231.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_231.eb index 80106409f15..f178687591c 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_231.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_231.eb @@ -7,11 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['a011584a2c9378bf70c6903ef5fbf101b30b08937441dc2ec67932fb3620b2cf'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_241.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_241.eb index 53ed1bd56d9..6a672c170ca 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_241.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_241.eb @@ -7,12 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['419d32677855f676076a25aed58e79432969142bbd778ff8eb57cb618c69e8cb'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_271.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_271.eb index 3d0757252d3..d9c98062344 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_271.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_271.eb @@ -7,11 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['eba7926a683bb65c6f4e1c502ce624346c42b00fb5531deba296f2560b452c78'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_281.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_281.eb index 178694d4363..8c09d548a07 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.0_281.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_281.eb @@ -7,11 +7,14 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM -# download the tar.gz directly from -# http://www.oracle.com/technetwork/java/javase/downloads/index.html (local_vp, local_vs) = version.split('_') local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] checksums = ['85e8c7da7248c7450fb105567a78841d0973597850776c24a527feb02ef3e586'] +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.0_311.eb b/easybuild/easyconfigs/j/Java/Java-1.8.0_311.eb new file mode 100644 index 00000000000..79002ebe0ea --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-1.8.0_311.eb @@ -0,0 +1,20 @@ +name = 'Java' +version = '1.8.0_311' + +homepage = 'https://java.com/' +description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy + Java applications on desktops and servers.""" + +toolchain = SYSTEM + +(local_vp, local_vs) = version.split('_') +local_altver = '%su%s' % (local_vp.split('.')[1], local_vs) +sources = ['jdk-%s-linux-x64.tar.gz' % local_altver] +checksums = ['759823389014292e84742a226b0e8fbaa08efa32adc6e6435a690c5576df3bb4'] + +download_instructions = """ +1. Visit https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html +2. Download %s +""" % sources[0] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-1.8.eb b/easybuild/easyconfigs/j/Java/Java-1.8.eb index 63e9532dd32..ed823a63205 100644 --- a/easybuild/easyconfigs/j/Java/Java-1.8.eb +++ b/easybuild/easyconfigs/j/Java/Java-1.8.eb @@ -14,7 +14,7 @@ description = """Java Platform, Standard Edition (Java SE) lets you develop and toolchain = SYSTEM dependencies = [ - ('Java', {'arch=x86_64': '%(version)s.0_281', + ('Java', {'arch=x86_64': '%(version)s.0_311', 'arch=POWER': '%(version)s_191-b26-OpenJDK', 'arch=AArch64': '%(version)s_265-b01-OpenJDK-aarch64'}), ] diff --git a/easybuild/easyconfigs/j/Java/Java-11.0.16.eb b/easybuild/easyconfigs/j/Java/Java-11.0.16.eb new file mode 100644 index 00000000000..54edbc4e9f1 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-11.0.16.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '11.0.16' +local_build = '8' + +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 = '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): + 'f79506f80c796d8e6a382f00bd8c528a330c5e29581aaf5cb61e1831742d166f', + local_tarball_tmpl % ('aarch64', local_build): + 'bb345cabf3e305ff3ce390918d5f69e5cfbced3d9844e0b0531c2690f9ed06ef', + local_tarball_tmpl % ('ppc64le', local_build): + '40dea12da26443ad731f9348187b65451711659337e83b6409a2bcf0f057cd2a', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-11.0.18.eb b/easybuild/easyconfigs/j/Java/Java-11.0.18.eb new file mode 100644 index 00000000000..c41c7c582f9 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-11.0.18.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '11.0.18' +local_build = '10' + +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 = '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): + '4a29efda1d702b8ff38e554cf932051f40ec70006caed5c4857a8cbc7a0b7db7', + local_tarball_tmpl % ('aarch64', local_build): + '04d5eeff6a6449bcdca0f52cd97bafd43ce09d40ef1e73fa0e1add63bea4a9c8', + local_tarball_tmpl % ('ppc64le', local_build): + '459148d489b08ceec2d901e950ac36722b4c55e907e979291ddfc954ebdcea47', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-11.0.20.eb b/easybuild/easyconfigs/j/Java/Java-11.0.20.eb new file mode 100644 index 00000000000..a66db856ead --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-11.0.20.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '11.0.20' +local_build = '8' + +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 = '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): + '7a99258af2e3ee9047e90f1c0c1775fd6285085759501295358d934d662e01f9', + local_tarball_tmpl % ('aarch64', local_build): + 'eb821c049c2d2f7c3fbf8ddcce2d608d3aa7d488700e76bfbbebabba93021748', + local_tarball_tmpl % ('ppc64le', local_build): + '1125931b3a38e6e305a1932fc6cfd0b023a0fbec2cab10e835a2ee2c50848b42', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-11.eb b/easybuild/easyconfigs/j/Java/Java-11.eb index 9d3c3075a85..199c7cf1cfc 100644 --- a/easybuild/easyconfigs/j/Java/Java-11.eb +++ b/easybuild/easyconfigs/j/Java/Java-11.eb @@ -1,7 +1,3 @@ -# Contribution from the Crick HPC team -# uploaded by J. Sassmannshausen -# updated to version 202 - easyblock = 'ModuleRC' name = 'Java' @@ -9,14 +5,10 @@ version = '11' homepage = 'https://java.com/' description = """Java Platform, Standard Edition (Java SE) lets you develop and deploy - Java applications on desktops and servers.""" +Java applications on desktops and servers.""" toolchain = SYSTEM -dependencies = [ - ('Java', {'arch=x86_64': '%(version)s.0.2', - 'arch=AArch64': '%(version)s.0.8-aarch64', - 'arch=POWER': '%(version)s.0.6-ppc64le'}), -] +dependencies = [('Java', '%(version)s.0.20')] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-15.0.1.eb b/easybuild/easyconfigs/j/Java/Java-15.0.1.eb new file mode 100644 index 00000000000..bb6dfec4233 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-15.0.1.eb @@ -0,0 +1,15 @@ +name = 'Java' +version = '15.0.1' + +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 + +source_urls = [ + 'https://download.java.net/java/GA/jdk%(version)s/51f4f36ad4ef43e39d0dfdbaf6549e32/9/GPL/'] +sources = ['openjdk-%(version)s_linux-x64_bin.tar.gz'] +checksums = ['83ec3a7b1649a6b31e021cde1e58ab447b07fb8173489f27f427e731c89ed84a'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-15.eb b/easybuild/easyconfigs/j/Java/Java-15.eb new file mode 100644 index 00000000000..78c52a44db6 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-15.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '15' + +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.1')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-16.0.1.eb b/easybuild/easyconfigs/j/Java/Java-16.0.1.eb new file mode 100644 index 00000000000..02f8adce5e5 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-16.0.1.eb @@ -0,0 +1,23 @@ +name = 'Java' +version = '16.0.1' + +homepage = 'https://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 = 'openjdk-%%(version)s_linux-%s_bin.tar.gz' + +source_urls = ['https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL'] +sources = [local_tarball_tmpl % '%(jdkarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x64': + 'b1198ffffb7d26a3fdedc0fa599f60a0d12aa60da1714b56c1defbce95d8b235', + local_tarball_tmpl % 'aarch64': + '602b005074777df2a0b4306e20152a6446803edd87ccbab95b2f313c4d9be6ba', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-16.eb b/easybuild/easyconfigs/j/Java/Java-16.eb new file mode 100644 index 00000000000..6501276ce44 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-16.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '16' + +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.1')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.1.eb b/easybuild/easyconfigs/j/Java/Java-17.0.1.eb new file mode 100644 index 00000000000..b32ffe92e25 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-17.0.1.eb @@ -0,0 +1,23 @@ +name = 'Java' +version = '17.0.1' + +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 = 'openjdk-%%(version)s_linux-%s_bin.tar.gz' + +source_urls = ['https://download.java.net/java/GA/jdk%(version)s/2a2082e5a09d4267845be086888add4f/12/GPL/'] +sources = [local_tarball_tmpl % '%(jdkarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x64': + '1c0a73cbb863aad579b967316bf17673b8f98a9bb938602a140ba2e5c38f880a', + local_tarball_tmpl % 'aarch64': + '86653d48787e5a1c029df10da7808194fe8bd931ddd72ff3d42850bf1afb317e', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.2.eb b/easybuild/easyconfigs/j/Java/Java-17.0.2.eb new file mode 100644 index 00000000000..2e19cdba6cc --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-17.0.2.eb @@ -0,0 +1,23 @@ +name = 'Java' +version = '17.0.2' + +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 = 'openjdk-%%(version)s_linux-%s_bin.tar.gz' + +source_urls = ['https://download.java.net/java/GA/jdk%(version)s/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/'] +sources = [local_tarball_tmpl % '%(jdkarch)s'] +checksums = [ + { + local_tarball_tmpl % 'x64': + '0022753d0cceecacdd3a795dd4cea2bd7ffdf9dc06e22ffd1be98411742fbb44', + local_tarball_tmpl % 'aarch64': + '13bfd976acf8803f862e82c7113fb0e9311ca5458b1decaef8a09ffd91119fa4', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.4.eb b/easybuild/easyconfigs/j/Java/Java-17.0.4.eb new file mode 100644 index 00000000000..2fed82fb259 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-17.0.4.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '17.0.4' +local_build = '8' + +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 = '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): + 'c0851d610b03cb51e9b360fef3e9ec2026c62837a143e7786649ba94f38cc0d1', + local_tarball_tmpl % ('aarch64', local_build): + '8c23b0b9c65cfe223a07edb8752026afd1e8ec1682630c2d92db4dd5aa039204', + local_tarball_tmpl % ('ppc64le', local_build): + 'e80a0f6626bd28ea20c43524b3ab10af48b3789317aea5b7019c146fe6268d94', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-17.0.6.eb b/easybuild/easyconfigs/j/Java/Java-17.0.6.eb new file mode 100644 index 00000000000..71d89858ea4 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-17.0.6.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '17.0.6' +local_build = '10' + +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 = '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): + 'a0b1b9dd809d51a438f5fa08918f9aca7b2135721097f0858cf29f77a35d4289', + local_tarball_tmpl % ('aarch64', local_build): + '9e0e88bbd9fa662567d0c1e22d469268c68ac078e9e5fe5a7244f56fec71f55f', + local_tarball_tmpl % ('ppc64le', local_build): + 'cb772c3fdf3f9fed56f23a37472acf2b80de20a7113fe09933891c6ef0ecde95', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-17.eb b/easybuild/easyconfigs/j/Java/Java-17.eb new file mode 100644 index 00000000000..1efea31e843 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-17.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '17' + +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.6')] + +moduleclass = 'lang' 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..bcbc951be1b --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-21.0.2.eb @@ -0,0 +1,32 @@ +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', + local_tarball_tmpl % ('riscv64', local_build): + '791a37ddb040e1a02bbfc61abfbc7e7321431a28054c9ac59ba1738fd5320b02', + } +] + +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.345.eb b/easybuild/easyconfigs/j/Java/Java-8.345.eb new file mode 100644 index 00000000000..a13f77db4f2 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-8.345.eb @@ -0,0 +1,30 @@ +name = 'Java' +version = '8.345' +local_build = 'b01' + +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): + 'ed6c9db3719895584fb1fd69fc79c29240977675f26631911c5a1dbce07b7d58', + local_tarball_tmpl % ('aarch64', local_build): + 'c1965fb24dded7d7944e2da36cd902adf3b7b1d327aaa21ea507cff00a5a0090', + local_tarball_tmpl % ('ppc64le', local_build): + 'f2be72678f6c2ad283453d0e21a6cb03144dda356e4edf79f818d99c37feaf34', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Java/Java-8.362.eb b/easybuild/easyconfigs/j/Java/Java-8.362.eb new file mode 100644 index 00000000000..f8c6b809aa0 --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-8.362.eb @@ -0,0 +1,31 @@ +name = 'Java' +version = '8.362' +local_build = 'b09' + +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): + '1486a792fb224611ce0cd0e83d4aacd3503b56698549f8e9a9f0a6ebb83bdba1', + local_tarball_tmpl % ('aarch64', local_build): + '9290a8beefd7a94f0eb030f62d402411a852100482b9c5b63714bacc57002c2a', + local_tarball_tmpl % ('ppc64le', local_build): + '69658dd316c6a160915655971573179766e19c6610ea03880c1e578a0e518f74', + + } +] + +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 new file mode 100644 index 00000000000..759f3e84bbe --- /dev/null +++ b/easybuild/easyconfigs/j/Java/Java-8.eb @@ -0,0 +1,14 @@ +easyblock = 'ModuleRC' + +name = 'Java' +version = '8' + +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.402')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/JavaFX/JavaFX-11.0.2_linux-x64_bin-sdk.eb b/easybuild/easyconfigs/j/JavaFX/JavaFX-11.0.2_linux-x64_bin-sdk.eb new file mode 100644 index 00000000000..31dd004f828 --- /dev/null +++ b/easybuild/easyconfigs/j/JavaFX/JavaFX-11.0.2_linux-x64_bin-sdk.eb @@ -0,0 +1,27 @@ +# 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 + +easyblock = 'Tarball' + +name = 'JavaFX' +version = '11.0.2' +versionsuffix = '_linux-x64_bin-sdk' + +homepage = 'https://openjfx.io/' +description = """ OpenJFX is an open source, next generation client application platform for desktop, + mobile and embedded systems built on Java """ + +toolchain = SYSTEM + +source_urls = ['https://download2.gluonhq.com/openjfx/%(version)s/'] +sources = ['openjfx-%(version)s%(versionsuffix)s.zip'] +checksums = ['40ef06cd50ea535d45403d9c44e9cb405b631c547734b5b50a6cb7b222293f97'] + +sanity_check_paths = { + 'files': ['lib/javafx.base.jar', 'lib/libfxplugins.so'], + 'dirs': [] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Jblob/Jblob-3.0.eb b/easybuild/easyconfigs/j/Jblob/Jblob-3.0.eb new file mode 100644 index 00000000000..2e6802c4bb7 --- /dev/null +++ b/easybuild/easyconfigs/j/Jblob/Jblob-3.0.eb @@ -0,0 +1,33 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'Tarball' + +name = 'Jblob' +version = '3.0' + +homepage = "https://www.wdc-climate.de/ui/info?site=jblob" +description = """Jblob - WDC Climate dataset download""" + +toolchain = SYSTEM + +source_urls = ['http://www.wdc-climate.de/jblob/'] +sources = [SOURCELOWER_ZIP] +checksums = ['576b5956358386a8832c6d1d13c410705e54888354a10cfd4f094513458067e4'] + +dependencies = [('Java', '11')] + +# remove hardcoded JBLOB_HOME from launch script +preinstallopts = "sed -i '/^JBLOB_HOME/d' jblob" + +sanity_check_paths = { + 'files': ['jblob'], + 'dirs': [], +} + +modextrapaths = { + 'PATH': '', + 'JBLOB_HOME': '', +} + +sanity_check_commands = ["jblob --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.2.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..116f07001d5 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.2.0.eb @@ -0,0 +1,40 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.3.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..aaefa9c251e --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..0d6ce04a273 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..7a8ca29098b --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..eb710390ef2 --- /dev/null +++ b/easybuild/easyconfigs/j/Jellyfish/Jellyfish-2.3.0-GCC-12.2.0.eb @@ -0,0 +1,40 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'Jellyfish' +version = '2.3.0' + +homepage = 'http://www.genome.umd.edu/jellyfish.html' +description = "Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/gmarcais/Jellyfish/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e195b7cf7ba42a90e5e112c0ed27894cd7ac864476dc5fb45ab169f5b930ea5a'] + +parallel = 1 + +# The tests for the Bloom filter are statistical tests and can randomly fail, +# they actually don't make a lot of sense +runtest = "check GTEST_FILTER=-'*Bloom*'" + +postinstallcmds = ["cp config.h %(installdir)s/include/%(namelower)s-%(version)s/%(namelower)s/"] + +sanity_check_paths = { + 'files': ['bin/jellyfish'], + 'dirs': [] +} + +modextrapaths = {'CPATH': 'include/%(namelower)s-%(version)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/Jmol/Jmol-16.1.41-Java-11.eb b/easybuild/easyconfigs/j/Jmol/Jmol-16.1.41-Java-11.eb new file mode 100644 index 00000000000..4cf536b39bf --- /dev/null +++ b/easybuild/easyconfigs/j/Jmol/Jmol-16.1.41-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'Jmol' +version = '16.1.41' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://jmol.sourceforge.net/' +description = """Jmol: an open-source Java viewer for chemical structures in 3D""" + +toolchain = SYSTEM + +source_urls = ['https://sourceforge.net/projects/jmol/files/Jmol/Version%2016.1/Jmol%2016.1.41/'] +sources = ['%(name)s-%(version)s-binary.tar.gz'] +checksums = ['f75bcf8a94b9153a8297b0544aee3b680a487ead9ef1d0f5496fcb1064165a2a'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['jmol', 'Jmol.jar'], + 'dirs': [], +} + +modextrapaths = { + 'JMOL_HOME': '' +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/Jorg/Jorg-1.0.1-foss-2020b.eb b/easybuild/easyconfigs/j/Jorg/Jorg-1.0.1-foss-2020b.eb new file mode 100644 index 00000000000..582026b28fe --- /dev/null +++ b/easybuild/easyconfigs/j/Jorg/Jorg-1.0.1-foss-2020b.eb @@ -0,0 +1,33 @@ +# Author: Ben Langenberg ben.langenberg@ufz.de +# Helmholtz-Centre for Environmental Research +# Leipzig - Germany + +easyblock = 'PackedBinary' + +name = 'Jorg' +version = '1.0.1' + +homepage = 'https://github.com/lmlui/Jorg' +description = "A MAG Circularization Method By Lauren Lui, Torben Nielsen, and Adam Arkin" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'Helmholtz-UFZ' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['90a63d9dcd32fe7f65946798c98f1551cea20ceab6446e9e5898cbbe6f0be52d'] +prepend_to_path = ['.'] + +dependencies = [ + ('MIRA', '5.0rc2'), + ('seqtk', '1.3'), +] + +sanity_check_paths = { + 'files': ['jorg'], + 'dirs': [], +} + +sanity_check_commands = ['jorg --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e682bf7892c --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.4-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.4' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['e34a628a8142643b976c7233ef381457efad79468c67cb1ae0b83a33d7493999'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.so'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..76b697e431a --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.5' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b74a74ba9ca --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.5' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..750dba0edd8 --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.5' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dd5dda233d2 --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.5' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b1d3f620566 --- /dev/null +++ b/easybuild/easyconfigs/j/JsonCpp/JsonCpp-1.9.5-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "CMakeNinja" + +name = 'JsonCpp' +version = '1.9.5' + +homepage = 'https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html' +description = """ JsonCpp is a C++ library that allows manipulating JSON values, + including serialization and deserialization to and from strings. It can also preserve existing comment in + unserialization/serialization steps, making it a convenient format to store user input files. """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/open-source-parsers/jsoncpp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['include/json/json.h', 'lib/libjsoncpp.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f64b356b398 --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Judy' +version = '1.0.5' + +homepage = 'http://judy.sourceforge.net/' +description = "A C library that implements a dynamic array." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://downloads.sourceforge.net/judy'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['Judy-1.0.5_parallel-make.patch'] # fix Make dependencies, so parallel build also works + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), +] +checksums = [ + 'd2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb', # Judy-1.0.5.tar.gz + '14c2eba71088f3db9625dc4605c6d7183d72412d75ef6c9fd9b95186165cf009', # Judy-1.0.5_parallel-make.patch +] + +preconfigopts = "sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac && " +preconfigopts += "autoreconf -i && " + +configopts = '--enable-shared --enable-static' + +sanity_check_paths = { + 'files': ["include/%(name)s.h", "lib/lib%(name)s.a", "lib/lib%(name)s.la", "lib/lib%%(name)s.%s" % SHLIB_EXT], + 'dirs': ["share/man"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..32dbb74b6cf --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Judy' +version = '1.0.5' + +homepage = 'http://judy.sourceforge.net/' +description = "A C library that implements a dynamic array." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://downloads.sourceforge.net/judy'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['Judy-1.0.5_parallel-make.patch'] # fix Make dependencies, so parallel build also works + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] +checksums = [ + 'd2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb', # Judy-1.0.5.tar.gz + '14c2eba71088f3db9625dc4605c6d7183d72412d75ef6c9fd9b95186165cf009', # Judy-1.0.5_parallel-make.patch +] + +preconfigopts = "sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac && " +preconfigopts += "autoreconf -i && " + +configopts = '--enable-shared --enable-static' + +sanity_check_paths = { + 'files': ["include/%(name)s.h", "lib/lib%(name)s.a", "lib/lib%(name)s.la", "lib/lib%%(name)s.%s" % SHLIB_EXT], + 'dirs': ["share/man"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..29e5a68235b --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Judy' +version = '1.0.5' + +homepage = 'http://judy.sourceforge.net/' +description = "A C library that implements a dynamic array." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://downloads.sourceforge.net/judy'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['Judy-1.0.5_parallel-make.patch'] # fix Make dependencies, so parallel build also works + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] +checksums = [ + 'd2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb', # Judy-1.0.5.tar.gz + '14c2eba71088f3db9625dc4605c6d7183d72412d75ef6c9fd9b95186165cf009', # Judy-1.0.5_parallel-make.patch +] + +preconfigopts = "sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac && " +preconfigopts += "autoreconf -i && " + +configopts = '--enable-shared --enable-static' + +sanity_check_paths = { + 'files': ["include/%(name)s.h", "lib/lib%(name)s.a", "lib/lib%(name)s.la", "lib/lib%%(name)s.%s" % SHLIB_EXT], + 'dirs': ["share/man"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..183e8e08ea4 --- /dev/null +++ b/easybuild/easyconfigs/j/Judy/Judy-1.0.5-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Judy' +version = '1.0.5' + +homepage = 'http://judy.sourceforge.net/' +description = "A C library that implements a dynamic array." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://downloads.sourceforge.net/judy'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['Judy-1.0.5_parallel-make.patch'] # fix Make dependencies, so parallel build also works + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] +checksums = [ + 'd2704089f85fdb6f2cd7e77be21170ced4b4375c03ef1ad4cf1075bd414a63eb', # Judy-1.0.5.tar.gz + '14c2eba71088f3db9625dc4605c6d7183d72412d75ef6c9fd9b95186165cf009', # Judy-1.0.5_parallel-make.patch +] + +preconfigopts = "sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac && " +preconfigopts += "autoreconf -i && " + +configopts = '--enable-shared --enable-static' + +sanity_check_paths = { + 'files': ["include/%(name)s.h", "lib/lib%(name)s.a", "lib/lib%(name)s.la", "lib/lib%%(name)s.%s" % SHLIB_EXT], + 'dirs': ["share/man"] +} + +moduleclass = 'lib' 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..6081619a331 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.10.0-linux-x86_64.eb @@ -0,0 +1,30 @@ +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.10.0-linux-x86_64.tar.gz': 'a7298207f72f2b27b2ab1ce392a6ea37afbd1fbee0f1f8d190b054dcaba878fe'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.10.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.10.3-linux-x86_64.eb new file mode 100644 index 00000000000..599edfd33ea --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.10.3-linux-x86_64.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'Julia' +version = '1.10.3' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.10.3-linux-x86_64.tar.gz': '81b910c922fff0e27ae1f256f2cc803db81f3960215281eddd2d484721928c70'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb new file mode 100644 index 00000000000..767a23c33a4 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.10.4-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.10.4' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.10.4-linux-x86_64.tar.gz': '079f61757c3b5b40d2ade052b3cc4816f50f7ef6df668825772562b3746adff1'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.10.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.10.5-linux-x86_64.eb new file mode 100644 index 00000000000..4c623699101 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.10.5-linux-x86_64.eb @@ -0,0 +1,38 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara +# Paul Melis + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.10.5' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.10.5-linux-x86_64.tar.gz': '33497b93cf9dd65e8431024fd1db19cbfbe30bd796775a59d53e2df9a8de6dc0'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +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..17abf7d929c --- /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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.6.0-linux-aarch64.tar.gz': '0f496972d26cea88151204d03e6bd87702aa1ff983de3b1e4f320c48ef67325f'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.2-linux-x86_64.eb new file mode 100644 index 00000000000..164cc65c5ed --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.2-linux-x86_64.eb @@ -0,0 +1,29 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.2' +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 = ['3eb4b5775b0df1ad38f6c409e989501ab445c95bcb01ab02bd60f5bd1e823240'] + +sanity_check_paths = { + 'files': ['bin/julia', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.4-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.4-linux-x86_64.eb new file mode 100644 index 00000000000..10bef0f7c20 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.4-linux-x86_64.eb @@ -0,0 +1,31 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.4' +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 = ['52244ae47697e8073dfbc9d1251b0422f0dbd1fbe1a41da4b9f7ddf0506b2132'] + +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'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb new file mode 100644 index 00000000000..dd9ad4890db --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.5-linux-x86_64.eb @@ -0,0 +1,38 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.5' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.6.5-linux-x86_64.tar.gz': 'b8fe23ee547254a2fe14be587284ed77c78c06c2d8e9aad5febce0d21cab8e2c'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb new file mode 100644 index 00000000000..03bdc16da5a --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.6-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.6' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.6.6-linux-x86_64.tar.gz': 'c25ff71a4242207ab2681a0fcc5df50014e9d99f814e77cacbc5027e20514945'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb new file mode 100644 index 00000000000..7046809d33d --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.6.7-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.6.7' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.6.7-linux-x86_64.tar.gz': '6c4522d595e4cbcd00157ac458a72f8aec01757053d2073f99daa39e442b2a36'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb new file mode 100644 index 00000000000..39df361aa99 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.0-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.7.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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.7.0-linux-x86_64.tar.gz': '7299f3a638aec5e0b9e14eaf0e6221c4fe27189aa0b38ac5a36f03f0dc4c0d40'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb new file mode 100644 index 00000000000..87f911a7da0 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.1-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.7.1' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.7.1-linux-x86_64.tar.gz': '44658e9c7b45e2b9b5b59239d190cca42de05c175ea86bc346c294a8fe8d9f11'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb new file mode 100644 index 00000000000..5e48ff39fbe --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.2-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.7.2' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.7.2-linux-x86_64.tar.gz': 'a75244724f3b2de0e7249c861fbf64078257c16fb4203be78f1cf4dd5973ba95'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb new file mode 100644 index 00000000000..0f1649345d9 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.7.3-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.7.3' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.7.3-linux-x86_64.tar.gz': '9b2f4fa12d92b4dcc5d11dc66fb118c47681a76d3df8da064cc97573f2f5c739'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb new file mode 100644 index 00000000000..701b6bcbde7 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.0-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.8.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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.8.0-linux-x86_64.tar.gz': 'e80d732ccb7f79e000d798cb8b656dc3641ab59516d6e4e52e16765017892a00'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb new file mode 100644 index 00000000000..c85c5bdc291 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.2-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.8.2' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.8.2-linux-x86_64.tar.gz': '671cf3a450b63a717e1eedd7f69087e3856f015b2e146cb54928f19a3c05e796'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb new file mode 100644 index 00000000000..6e60397495d --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.8.5-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.8.5' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.8.5-linux-x86_64.tar.gz': 'e71a24816e8fe9d5f4807664cbbb42738f5aa9fe05397d35c81d4c5d649b9d05'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.0-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.0-linux-x86_64.eb new file mode 100644 index 00000000000..2e89fb8640b --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.9.0-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.9.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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.9.0-linux-x86_64.tar.gz': '00c614466ef9809c2eb23480e38d196a2c577fff2730c4f83d135b913d473359'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.2-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.2-linux-x86_64.eb new file mode 100644 index 00000000000..fef2c5a347c --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.9.2-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.9.2' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.9.2-linux-x86_64.tar.gz': '4c2d799f442d7fe718827b19da2bacb72ea041b9ce55f24eee7b1313f57c4383'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} + +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/Julia-1.9.3-linux-x86_64.eb b/easybuild/easyconfigs/j/Julia/Julia-1.9.3-linux-x86_64.eb new file mode 100644 index 00000000000..1d0f85d9874 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/Julia-1.9.3-linux-x86_64.eb @@ -0,0 +1,37 @@ +# 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 +# Updated by: Dugan Witherick, University of Warwick +# Robert Mijakovic +# Wahid Mainassara + +easyblock = 'Tarball' + +name = 'Julia' +version = '1.9.3' +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'] +patches = [('julia.wrapper', 'bin/')] +checksums = [ + {'julia-1.9.3-linux-x86_64.tar.gz': 'd76670cc9ba3e0fd4c1545dd3d00269c0694976a1176312795ebce1692d323d1'}, + {'julia.wrapper': 'd10aeaff53cca9875f7b0ce9218eae3bd21870b654e26c4c52aa8bfcc9da702d'}, +] + +# install wrapper with linking safeguards for Julia libraries +postinstallcmds = ["cd %(installdir)s/bin && mv julia julia.bin && mv julia.wrapper julia"] + +sanity_check_paths = { + 'files': ['bin/julia', 'bin/julia.bin', 'include/julia/julia.h', 'lib/libjulia.%s' % SHLIB_EXT], + 'dirs': ['bin', 'etc', 'include', 'lib', 'lib/julia', 'share'] +} +sanity_check_commands = ['julia --help'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/j/Julia/julia.wrapper b/easybuild/easyconfigs/j/Julia/julia.wrapper new file mode 100755 index 00000000000..613b8a831f1 --- /dev/null +++ b/easybuild/easyconfigs/j/Julia/julia.wrapper @@ -0,0 +1,2 @@ +#!/bin/sh +LD_LIBRARY_PATH="$EBROOTJULIA/lib:$EBROOTJULIA/lib/julia:$LD_LIBRARY_PATH" julia.bin "$@" diff --git a/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20230823-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20230823-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a524ccf341d --- /dev/null +++ b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20230823-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Bundle' + +name = 'Jupyter-bundle' +version = '20230823' + +homepage = "https://jupyter.org/" + +description = """ + This bundle collects a range of Jupyter interfaces (Lab, Notebook and nbclassic), + extensions (Jupyter Server Proxy, Jupyter Resource Monitor, Jupyter Lmod) and + the JupyterHub. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +dependencies = [ + ('JupyterHub', '4.0.2'), + ('JupyterLab', '4.0.5'), + ('JupyterNotebook', '7.0.2'), + ('nbclassic', '1.0.0'), + ('jupyter-server-proxy', '4.0.0'), + ('jupyterlmod', '4.0.3'), + ('jupyter-resource-usage', '1.0.0'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d6ac6ce1ad0 --- /dev/null +++ b/easybuild/easyconfigs/j/Jupyter-bundle/Jupyter-bundle-20240522-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'Bundle' + +name = 'Jupyter-bundle' +version = '20240522' + +homepage = "https://jupyter.org/" + +description = """ + This bundle collects a range of Jupyter interfaces (Lab, Notebook and nbclassic), + extensions (Jupyter Server Proxy, Jupyter Resource Monitor, Jupyter Lmod) and + the JupyterHub. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +dependencies = [ + ('JupyterHub', '4.1.5'), + ('JupyterLab', '4.2.0'), + ('JupyterNotebook', '7.2.0'), + ('nbclassic', '1.0.0'), + ('jupyter-server-proxy', '4.1.2'), + # ('jupyterlmod', '5.0.0'), -- not ready yet, waiting for https://github.com/cmd-ntrf/jupyter-lmod/pull/70 + ('jupyter-resource-usage', '1.0.2'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-1.4.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-1.4.1-GCCcore-10.3.0.eb index 3457f1b8086..97b36ac60d2 100644 --- a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-1.4.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-1.4.1-GCCcore-10.3.0.eb @@ -18,7 +18,7 @@ dependencies = [ ('IPython', '7.25.0'), ('Mako', '1.1.4'), ('configurable-http-proxy', '4.4.0'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] use_pip = True diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..62506bfa2f0 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,123 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '3.0.0' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = { + ('binutils', '2.38'), +} + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('Mako', '1.2.0'), + ('configurable-http-proxy', '4.5.3'), + ('OpenSSL', '1.1', '', SYSTEM), + ('jupyter-server-proxy', '3.2.2'), # optional, but commonly used together + ('PycURL', '7.45.2'), # optional, recommended with large number of users +] + +use_pip = True + +local_batchspawner_commit = '2a9eda0' + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.0.0', { + 'checksums': ['65c9389bef7d1bb0b168813b6be21964df32016923aac7515bdf05366acbab6c'], + }), + ('greenlet', '1.1.3.post0', { + 'checksums': ['f5e09dc5c6e1796969fd4b775ea1417d70e49a5df29aaa8e5d10675d9e11872c'], + }), + ('SQLAlchemy', '1.4.42', { + 'checksums': ['177e41914c476ed1e1b77fd05966ea88c094053e17a85303c4ce007f88eff363'], + }), + ('alembic', '1.8.1', { + 'checksums': ['cd0b5e45b14b706426b833f06369b9a6d5ee03f826ec3238723ce8caaf6e5ffa'], + }), + ('oauthlib', '3.2.1', { + 'checksums': ['1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721'], + }), + ('pyOpenSSL', '21.0.0', { + 'modulename': 'OpenSSL', + 'checksums': ['5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3'], + }), + ('python-json-logger', '2.0.4', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['764d762175f99fcc4630bd4853b09632acb60a6224acb27ce08cd70f0b1b81bd'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('ruamel.yaml.clib', '0.2.6', { + 'modulename': False, + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('jupyterhub', version, { + 'checksums': ['05cdfebd800cf3e55566fb5b61110c5f64fed8ca3c56ef0142290baffbc7fb69'], + }), + ('batchspawner', '1.2.0-%s' % local_batchspawner_commit, { + 'sources': { + 'filename': 'main.tar.gz', + 'git_config': { + 'url': 'https://github.com/jupyterhub/', + 'repo_name': 'batchspawner', + 'commit': local_batchspawner_commit, + } + }, + 'checksums': [None], + }), + ('jupyterhub-systemdspawner', '0.16', { + 'modulename': 'systemdspawner', + 'checksums': ['a7aeea1e8cb081a9c4de14475504199bbe249d93ea317da5c09d536b7b11b300'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.5.0', { + 'modulename': 'jwt', + 'checksums': ['e77ab89480905d86998442ac5788f35333fa85f65047a534adc38edf3c88fc3b'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.1.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['190e760da620acea25246eb215ff671da7aee8a1603f9cbf3c359a404f009088'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyterhub'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/jupyterhub'], +} + +sanity_pip_check = True + +sanity_check_commands = ['jupyterhub --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..103b8b17283 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,122 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '4.0.1' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = { + ('binutils', '2.39'), +} + +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), + ('Mako', '1.2.4'), + ('configurable-http-proxy', '4.5.5'), + ('OpenSSL', '1.1', '', SYSTEM), + ('jupyter-server-proxy', '3.2.2'), # optional, but commonly used together + ('PycURL', '7.45.2'), # optional, recommended with large number of users +] + +use_pip = True + +local_batchspawner_commit = '2a9eda0' + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.1.0', { + 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], + }), + ('greenlet', '2.0.2', { + 'checksums': ['e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0'], + }), + ('async_generator', '1.10', { + 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], + }), + ('SQLAlchemy', '2.0.19', { + 'checksums': ['77a14fa20264af73ddcdb1e2b9c5a829b8cc6b8304d0f093271980e36c200a3f'], + }), + ('alembic', '1.11.1', { + 'checksums': ['6a810a6b012c88b33458fceb869aef09ac75d6ace5291915ba7fae44de372c01'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('pyOpenSSL', '23.2.0', { + 'modulename': 'OpenSSL', + 'checksums': ['276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac'], + }), + ('ruamel.yaml', '0.17.32', { + 'checksums': ['ec939063761914e14542972a5cba6d33c23b0859ab6342f61cf070cfc600efc2'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('jupyterhub', version, { + 'checksums': ['8e283ff59e5c4016712077d2549ed74acd915a32836fe00218678a8781bd7ede'], + }), + ('batchspawner', '1.2.0-%s' % local_batchspawner_commit, { + 'sources': { + 'filename': 'main.tar.gz', + 'git_config': { + 'url': 'https://github.com/jupyterhub/', + 'repo_name': 'batchspawner', + 'commit': local_batchspawner_commit, + } + }, + 'checksums': [None], + }), + ('jupyterhub-systemdspawner', '1.0.1', { + 'modulename': 'systemdspawner', + 'checksums': ['8d614f19d89564321fe55d80ecd134a0e2bf276274d45861495c9bb5a80add28'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.2.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['826228e6e9ca37736361e2e60c5723e245ec72e34fdc42cc218fc54a67f968e1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyterhub'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/jupyterhub'], +} + +sanity_pip_check = True + +sanity_check_commands = ['jupyterhub --help'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..04740042f7a --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,117 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '4.0.2' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('bcrypt', '4.0.1'), + ('configurable-http-proxy', '4.5.6'), + ('OpenSSL', '1.1', '', SYSTEM), + ('tornado', '6.3.2'), + ('PycURL', '7.45.2'), # optional, recommended with large number of users + ('SQLAlchemy', '2.0.25'), +] + +sanity_pip_check = True +use_pip = True + +local_batchspawner_commit = '2a9eda060a875a2b65ca9521368fe052a09c3266' + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.1.0', { + 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], + }), + ('async_generator', '1.10', { + 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('pyOpenSSL', '23.2.0', { + 'modulename': 'OpenSSL', + 'checksums': ['276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac'], + }), + ('ruamel.yaml', '0.17.32', { + 'checksums': ['ec939063761914e14542972a5cba6d33c23b0859ab6342f61cf070cfc600efc2'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('prometheus_client', '0.17.1', { + 'checksums': ['21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091'], + }), + ('jupyterhub', version, { + 'checksums': ['d4e450eed8d90dfbcf0eca08f00f2093a0bce74dc51f7cfc0b7057f602341a1d'], + }), + # Needs unreleased features for JupyterHub 4.X compatibility, hence install from commit + ('batchspawner', '1.2.0-%s' % local_batchspawner_commit, { + 'source_urls': [GITHUB_SOURCE], + 'sources': { + 'filename': '%(name)s-%(version)s.tar.gz', + 'download_filename': '%s.tar.gz' % local_batchspawner_commit + }, + 'checksums': ['d5cf239ba75522d928ed33971c180532f590131905c42eac1be2651ccad85283'], + }), + ('jupyterhub-systemdspawner', '1.0.1', { + 'modulename': 'systemdspawner', + 'checksums': ['8d614f19d89564321fe55d80ecd134a0e2bf276274d45861495c9bb5a80add28'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.2.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['826228e6e9ca37736361e2e60c5723e245ec72e34fdc42cc218fc54a67f968e1'], + }), +] + +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/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..76751fb0f5f --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterHub/JupyterHub-4.1.5-GCCcore-13.2.0.eb @@ -0,0 +1,109 @@ +easyblock = 'PythonBundle' + +name = 'JupyterHub' +version = '4.1.5' + +homepage = 'https://jupyter.org' +description = """JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed + for centralized deployments in companies, university classrooms and research labs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('bcrypt', '4.1.3'), + ('configurable-http-proxy', '4.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('tornado', '6.4'), + ('PycURL', '7.45.3'), # optional, recommended with large number of users + ('SQLAlchemy', '2.0.29'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('certipy', '0.1.3', { + 'checksums': ['695704b7716b033375c9a1324d0d30f27110a28895c40151a90ec07ff1032859'], + }), + ('pamela', '1.1.0', { + 'checksums': ['d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be'], + }), + ('async_generator', '1.10', { + 'checksums': ['6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('pyOpenSSL', '24.1.0', { + 'modulename': 'OpenSSL', + 'checksums': ['cabed4bfaa5df9f1a16c0ef64a0cb65318b5cd077a7eda7d6970131ca2f41a6f'], + }), + ('ruamel.yaml', '0.18.6', { + 'checksums': ['8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b'], + }), + ('ruamel.yaml.clib', '0.2.8', { + 'modulename': False, + 'checksums': ['beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jupyter-telemetry', '0.1.0', { + 'source_tmpl': 'jupyter_telemetry-%(version)s.tar.gz', + 'checksums': ['445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314'], + }), + ('prometheus_client', '0.20.0', { + 'checksums': ['287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89'], + }), + ('jupyterhub', version, { + 'checksums': ['63ba1fc718436c151946a58a3b403ec4fe8b3f624fb195bc1d8e70c39b33e194'], + }), + ('batchspawner', '1.3.0', { + 'checksums': ['c0f422eb6a6288f7f711db8b780055b37c1a5c630283cdeb2ef9b5e94ba78caa'], + }), + ('jupyterhub-systemdspawner', '1.0.1', { + 'modulename': 'systemdspawner', + 'checksums': ['8d614f19d89564321fe55d80ecd134a0e2bf276274d45861495c9bb5a80add28'], + }), + ('jupyterhub-simplespawner', '0.1', { + 'modulename': 'simplespawner', + 'checksums': ['5fcc295b310dd7a99c0f00226be311121fd99b36a5d127e8685f3ffa29712d0d'], + }), + ('ldap3', '2.9.1', { + 'checksums': ['f3e7fc4718e3f09dda568b57100095e0ce58633bcabbed8667ce3f8fbaa4229f'], + }), + ('jupyterhub-ldapauthenticator', '1.3.2', { + 'modulename': 'ldapauthenticator', + 'checksums': ['758081bbdb28b26313bb18c9d8aa2b8fcdc9162e4d3ab196c626567e64f1ab8b'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('jupyterhub-jwtauthenticator-v2', '2.0.3', { + 'modulename': 'jwtauthenticator', + 'checksums': ['b94b6dff8246250904c5ee511da3f062680eb657dabe766d75993cbe72747d41'], + }), + ('onetimepass', '1.0.1', { + 'checksums': ['a569dac076d6e3761cbc55e36952144a637ca1b075c6d509de1c1dbc5e7f6a27'], + }), + ('jupyterhub-nativeauthenticator', '1.2.0', { + 'modulename': 'nativeauthenticator', + 'checksums': ['826228e6e9ca37736361e2e60c5723e245ec72e34fdc42cc218fc54a67f968e1'], + }), +] + +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/j/JupyterLab/JupyterLab-2.2.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-2.2.8-GCCcore-10.2.0.eb old mode 100644 new mode 100755 index ce2bcb29a86..1f63a8e3025 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-2.2.8-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-2.2.8-GCCcore-10.2.0.eb @@ -29,13 +29,8 @@ exts_list = [ 'checksums': ['5431d9dde96659364b7cc877693d5d21e7b80cea7ae3959ecc2b87518e5f5d8c'], }), (name, version, { - 'patches': ['%(name)s-1.2.5_set-app-path-for-easybuild.patch'], 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', - 'checksums': [ - 'c8377bee30504919c1e79949f9fe35443ab7f5c4be622c95307e8108410c8b8c', # jupyterlab-2.2.8.tar.gz - # JupyterLab-1.2.5_set-app-path-for-easybuild.patch - 'a219b1071f37f848f7e79c6800149c0b2386a2b748be43288bc32af8e7dab668', - ], + 'checksums': ['c8377bee30504919c1e79949f9fe35443ab7f5c4be622c95307e8108410c8b8c'], }), ] diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb index 6a8b7a7bec4..83e3efa4e84 100644 --- a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.0.16-GCCcore-10.3.0.eb @@ -48,19 +48,20 @@ exts_list = [ ('jupyterlab_server', '2.6.0', { 'checksums': ['f300adf6bb0a952bebe9c807a3b2a345d62da39b476b4f69ea0dc6b5f3f6b97d'], }), - (name, version, { - 'patches': ['%(name)s-1.2.5_set-app-path-for-easybuild.patch'], - 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', - 'checksums': [ - '7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23', # jupyterlab-3.0.16.tar.gz - # JupyterLab-1.2.5_set-app-path-for-easybuild.patch - 'a219b1071f37f848f7e79c6800149c0b2386a2b748be43288bc32af8e7dab668', - ], + ('jupyterlab', version, { + 'checksums': ['7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23'], }), ] sanity_check_commands = ["jupyter lab --help"] -modextravars = {'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab'} +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d4ac5f149b9 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.1.6-GCCcore-11.2.0.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '3.1.6' + +homepage = "https://jupyter.org/" +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('IPython', '7.26.0'), +] + +use_pip = True +sanity_pip_check = True + + +exts_list = [ + ('anyio', '3.3.0', { + 'checksums': ['ae57a67583e5ff8b4af47666ff5651c3732d45fd26c929253748e796af860374'], + }), + ('json5', '0.9.6', { + 'checksums': ['9175ad1bc248e22bb8d95a8e8d765958bf0008fef2fe8abab5bc04e0f1ac8302'], + }), + ('jupyter_server', '1.10.2', { + 'checksums': ['d3a3b68ebc6d7bfee1097f1712cf7709ee39c92379da2cc08724515bb85e72bf'], + }), + ('requests-unixsocket', '0.2.0', { + 'checksums': ['9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea'], + }), + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('websocket-client', '1.2.0', { + 'modulename': 'websocket', + 'checksums': ['7665ba6c645989b28b61670874ab753e6929179e9fc90565ace6ac090f59c559'], + }), + ('nbclassic', '0.3.1', { + 'checksums': ['f920f8d09849bea7950e1017ff3bd101763a8d68f565a51ce053572e65aa7947'], + }), + ('jupyterlab_server', '2.7.0', { + 'checksums': ['31457ef564febc42043bc539356c804f6f9144f602e2852150bf0820ed6d7e18'], + }), + ('jupyterlab', version, { + 'checksums': ['6d2ada6a333861f33a1b555d3cb7b07aa9d1ab80f07997b3d0c43878a98c1174'], + }), +] + +sanity_check_commands = ["jupyter lab --help"] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..303ede67642 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.2.8-GCCcore-10.3.0.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '3.2.8' + +homepage = "https://jupyter.org/" +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('IPython', '7.25.0'), +] + +use_pip = True +sanity_pip_check = True + + +exts_list = [ + ('anyio', '3.5.0', { + 'checksums': ['a0aeffe2fb1fdf374a8e4b471444f0f3ac4fb9f5a5b542b48824475e0042a5a6'], + }), + ('json5', '0.9.6', { + 'checksums': ['9175ad1bc248e22bb8d95a8e8d765958bf0008fef2fe8abab5bc04e0f1ac8302'], + }), + ('jupyter_server', '1.13.4', { + 'checksums': ['5fb5a219385338b1d13a013a68f54688b6a69ecff4e757fd230e27ecacdbf212'], + }), + ('requests-unixsocket', '0.3.0', { + 'checksums': ['28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e'], + }), + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('websocket-client', '1.2.3', { + 'modulename': 'websocket', + 'checksums': ['1315816c0acc508997eb3ae03b9d3ff619c9d12d544c9a9b553704b1cc4f6af5'], + }), + ('nbclassic', '0.3.5', { + 'checksums': ['99444dd63103af23c788d9b5172992f12caf8c3098dd5a35c787f0df31490c29'], + }), + ('jupyterlab_server', '2.10.3', { + 'checksums': ['3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a'], + }), + ('jupyterlab', version, { + 'checksums': ['5e4e99868c4f385372686767781408acbb9004b690b198b45597ba869802334b'], + }), +] + +sanity_check_commands = ["jupyter lab --help"] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f74d9b48ea3 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-3.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '3.5.0' + +homepage = "https://jupyter.org/" +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.10', { + 'checksums': ['ad9f048c5b5a4c3802524474ce40a622fae789860a86f10cc4f7e5f9cf9b46ab'], + }), + ('notebook_shim', '0.1.0', { + 'checksums': ['7897e47a36d92248925a2143e3596f19c60597708f7bef50d81fcd31d7263e85'], + }), + ('nbclassic', '0.4.8', { + 'checksums': ['c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283'], + }), + ('jupyterlab_server', '2.13.0', { + 'checksums': ['2040298a133458aa22f287a877d6bb91ff973f6298d562264f9f7b75e92a5ace'], + }), + ('jupyterlab', version, { + 'checksums': ['e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2'], + }), +] + +sanity_check_commands = ["jupyter lab --help"] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..aa4cce7aaca --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.0.3' + +homepage = "https://jupyter.org/" +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('maturin', '1.1.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('trove-classifiers', '2023.7.6', { + 'source_tmpl': 'trove_classifiers-%(version)s-py3-none-any.whl', + 'checksums': ['b420d5aa048ee7c456233a49203f7d58d1736af4a6cde637657d78c13ab7969b'], + }), + ('hatchling', '1.18.0', { + 'checksums': ['50e99c3110ce0afc3f7bdbadff1c71c17758e476731c27607940cfa6686489ca'], + }), + ('attrs', '23.1.0', { + 'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'], + }), + ('rpds_py', '0.9.2', { + 'modulename': 'rpds', + 'checksums': ['8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945'], + }), + ('referencing', '0.30.0', { + 'checksums': ['47237742e990457f7512c7d27486394a9aadaf876cbfaa4be65b27b4f4d47c6b'], + }), + ('jsonschema_specifications', '2023.7.1', { + 'checksums': ['c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb'], + }), + ('jsonschema', '4.18.4', { + 'checksums': ['fb3642735399fa958c0d2aad7057901554596c63349f4f6b283c493cf692a25d'], + }), + ('json5', '0.9.14', { + 'checksums': ['9ed66c3a6ca3510a976a9ef9b8c0787de24802724ab1860bc0153c7fdd589b02'], + }), + ('jupyterlab_server', '2.23.0', { + 'checksums': ['83c01aa4ad9451cd61b383e634d939ff713850f4640c0056b2cdb2b6211a74c7'], + }), + ('jupyter-lsp', '2.2.0', { + 'checksums': ['8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1'], + }), + ('async-lru', '2.0.3', { + 'checksums': ['b714c9d1415fca4e264da72a9e2abc66880ce7430e03a973341f88ea4c0d4869'], + }), + ('jupyterlab', version, { + 'checksums': ['e14d1ce46a613028111d0d476a1d7d6b094003b7462bac669f5b478317abcb39'], + }), +] + +sanity_check_commands = ["jupyter lab --help"] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..df819f0e4fc --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.0.5-GCCcore-12.3.0.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.0.5' + +homepage = 'https://jupyter.org/' +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.14', { + 'checksums': ['9ed66c3a6ca3510a976a9ef9b8c0787de24802724ab1860bc0153c7fdd589b02'], + }), + ('jupyterlab_server', '2.24.0', { + 'checksums': ['4e6f99e0a5579bbbc32e449c4dbb039561d4f1a7827d5733273ed56738f21f07'], + }), + ('jupyter-lsp', '2.2.0', { + 'checksums': ['8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1'], + }), + ('async-lru', '2.0.4', { + 'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'], + }), + ('jupyterlab', version, { + 'checksums': ['de49deb75f9b9aec478ed04754cbefe9c5d22fd796a5783cdc65e212983d3611'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter lab --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8410c3f15b8 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterLab/JupyterLab-4.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'JupyterLab' +version = '4.2.0' + +homepage = 'https://jupyter.org/' +description = """JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar + building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, + etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter + Notebook.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('json5', '0.9.25', { + 'checksums': ['548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae'], + }), + ('jupyterlab_server', '2.27.1', { + 'checksums': ['097b5ac709b676c7284ac9c5e373f11930a561f52cd5a86e4fc7e5a9c8a8631d'], + }), + ('jupyter-lsp', '2.2.5', { + 'checksums': ['793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001'], + }), + ('async-lru', '2.0.4', { + 'checksums': ['b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('jupyterlab', version, { + 'checksums': ['356e9205a6a2ab689c47c8fe4919dba6c076e376d03f26baadc05748c2435dd5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter-lab', 'bin/jupyter-labextension', 'bin/jupyter-labhub'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter lab --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} +modextravars = { + # only one path allowed as JUPYTERLAB_DIR + 'JUPYTERLAB_DIR': '%(installdir)s/share/jupyter/lab', +} + +# keep user's configuration in their home directory +# note: '~' is not expanded by JupyterLab +modluafooter = """ +setenv("JUPYTERLAB_SETTINGS_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "user-settings")) +setenv("JUPYTERLAB_WORKSPACES_DIR", pathJoin(os.getenv("HOME"), ".jupyter", "lab", "workspaces")) +""" +modtclfooter = """ +setenv JUPYTERLAB_SETTINGS_DIR "$::env(HOME)/.jupyter/lab/user-settings" +setenv JUPYTERLAB_WORKSPACES_DIR "$::env(HOME)/.jupyter/lab/workspaces" +""" + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..ce1d02d63c1 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'JupyterNotebook' +version = '7.0.2' + +homepage = 'https://jupyter.org/' +description = """The Jupyter Notebook is the original web application for creating and + sharing computational documents. It offers a simple, streamlined, document-centric experience.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/n/notebook'] +sources = ['notebook-%(version)s.tar.gz'] +checksums = ['d70d6a07418c829bd5f54337ce993b7105261d9026f9d3fe68e9b8aa1a20da9a'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.2'), + ('JupyterLab', '4.0.5'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'notebook'} + +sanity_check_paths = { + 'files': ['bin/jupyter-notebook'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter notebook --help'] + +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 new file mode 100644 index 00000000000..afe231a13cf --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'JupyterNotebook' +version = '7.0.3' + +homepage = 'https://jupyter.org/' +description = """The Jupyter Notebook is the original web application for creating and + sharing computational documents. It offers a simple, streamlined, document-centric experience.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/n/notebook'] +sources = ['notebook-%(version)s.tar.gz'] +checksums = ['07f3c5062fd0e6e69864437a0347abc485d991aae87a92c47d659699f571b729'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.0'), + ('JupyterLab', '4.0.3'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'notebook'} + +sanity_check_paths = { + 'files': ['bin/jupyter-notebook'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter notebook --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a391a9329e2 --- /dev/null +++ b/easybuild/easyconfigs/j/JupyterNotebook/JupyterNotebook-7.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'JupyterNotebook' +version = '7.2.0' + +homepage = 'https://jupyter.org/' +description = """The Jupyter Notebook is the original web application for creating and + sharing computational documents. It offers a simple, streamlined, document-centric experience.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/n/notebook'] +sources = ['notebook-%(version)s.tar.gz'] +checksums = ['34a2ba4b08ad5d19ec930db7484fb79746a1784be9e1a5f8218f9af8656a141f'] + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), + ('JupyterLab', '4.2.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'notebook'} + +sanity_check_paths = { + 'files': ['bin/jupyter-notebook'], + 'dirs': ['etc/jupyter', 'share/jupyter'], +} + +sanity_check_commands = ['jupyter notebook --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/TensorFlow-2.1.0_fix-cuda-build.patch b/easybuild/easyconfigs/j/jax/TensorFlow-2.1.0_fix-cuda-build.patch new file mode 100644 index 00000000000..5873bdc5ed0 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/TensorFlow-2.1.0_fix-cuda-build.patch @@ -0,0 +1,47 @@ +fix for "undeclared inclusion(s) in rule" errors when building TensorFlow 1.14.0 with CUDA support, +if the installation directory for GCC is hosted in a path that is a symlink to another path; +the symlinked path is resolved in several places (both by 'gcc' itself and by the TF build process), +which makes hard comparisons between paths fail +author: Alexander Grund based on original patch by Kenneth Hoste (HPC-UGent) +diff --git a/third_party/gpus/cuda_configure.bzl b/third_party/gpus/cuda_configure.bzl +index ba4bd8ad75..dab492ecda 100644 +--- a/third_party/gpus/cuda_configure.bzl ++++ b/third_party/gpus/cuda_configure.bzl +@@ -303,11 +303,36 @@ def _get_cxx_inc_directories_impl(repository_ctx, cc, lang_is_cpp): + else: + inc_dirs = result.stderr[index1 + 1:index2].strip() + +- return [ ++ compiler_includes = [ + _normalize_include_path(repository_ctx, _cxx_inc_convert(p)) + for p in inc_dirs.split("\n") + ] + ++ # fix include path by also including paths where resolved symlink is replaced by original path ++ # Try to find real path to CC installation to "see through" compiler wrappers ++ # GCC has the path to g++ ++ index1 = result.stderr.find("COLLECT_GCC=") ++ if index1 != -1: ++ index1 = result.stderr.find("=", index1) ++ index2 = result.stderr.find("\n", index1) ++ cc_topdir = repository_ctx.path(result.stderr[index1 + 1 : index2]).dirname.dirname ++ else: ++ # Clang has the directory ++ index1 = result.stderr.find("InstalledDir: ") ++ if index1 != -1: ++ index1 = result.stderr.find(" ", index1) ++ index2 = result.stderr.find("\n", index1) ++ cc_topdir = repository_ctx.path(result.stderr[index1 + 1 : index2]).dirname ++ else: ++ # Fallback to the CC path ++ cc_topdir = repository_ctx.path(cc).dirname.dirname ++ cc_topdir_resolved = str(cc_topdir.realpath).strip() ++ cc_topdir = str(cc_topdir).strip() ++ if cc_topdir_resolved != cc_topdir: ++ original_compiler_includes = [p.replace(cc_topdir_resolved, cc_topdir) for p in compiler_includes] ++ compiler_includes = compiler_includes + original_compiler_includes ++ return compiler_includes ++ + def get_cxx_inc_directories(repository_ctx, cc, tf_sysroot): + """Compute the list of default C and C++ include directories.""" + diff --git a/easybuild/easyconfigs/j/jax/TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch b/easybuild/easyconfigs/j/jax/TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch new file mode 100644 index 00000000000..93157c49ad0 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch @@ -0,0 +1,20 @@ +Use non-canonical paths to populate the include paths in the toolchain in Bazel. +Otherwise, build will fail due to mismatch in include paths. +author: Alex Domingo (Vrije Universiteit Brussel) +--- third_party/gpus/cuda_configure.bzl.orig 2021-10-25 11:48:32.896463000 +0200 ++++ third_party/gpus/cuda_configure.bzl 2021-10-25 11:51:56.719009257 +0200 +@@ -274,8 +274,12 @@ + sysroot = [] + if tf_sysroot: + sysroot += ["--sysroot", tf_sysroot] +- result = raw_exec(repository_ctx, [cc, "-E", "-x" + lang, "-", "-v"] + +- sysroot) ++ ++ result = raw_exec( ++ repository_ctx, ++ [cc, "-no-canonical-prefixes", "-E", "-x" + lang, "-", "-v"] + sysroot ++ ) ++ + stderr = err_out(result) + index1 = stderr.find(_INC_DIR_MARKER_BEGIN) + if index1 == -1: diff --git a/easybuild/easyconfigs/j/jax/TensorFlow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d_mlir-build-env.patch b/easybuild/easyconfigs/j/jax/TensorFlow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d_mlir-build-env.patch new file mode 100644 index 00000000000..ad451807936 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/TensorFlow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d_mlir-build-env.patch @@ -0,0 +1,12 @@ +make TensorFlow pick up on build environment defined by EasyBuild +author: Denis Kristak, Pavel Grochal (INUITS) +--- tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d/third_party/mlir/tblgen.bzl.orig 2021-08-13 16:18:12.735593126 +0200 ++++ tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d/third_party/mlir/tblgen.bzl 2021-08-13 16:18:48.615675683 +0200 +@@ -173,6 +173,7 @@ + inputs = trans_srcs, + executable = ctx.executable.tblgen, + arguments = [args], ++ use_default_shell_env = True, + mnemonic = "TdGenerate", + ) + diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.19-foss-2020b.eb b/easybuild/easyconfigs/j/jax/jax-0.2.19-foss-2020b.eb new file mode 100644 index 00000000000..e583b752f42 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.19-foss-2020b.eb @@ -0,0 +1,111 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.2.19' +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('Cython', '0.29.22'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.28.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('flatbuffers-python', '1.12'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = '4039feeb743bc42cd0a3d8146ce63fc05d23eb8d' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +local_jax_prebuildopts = "sed -i 's$pathToSed$%s$g' WORKSPACE && " % local_tf_builddir + +use_pip = True + +# running the tests with lots of cores results in test failures because not enough threads can be started, +# so limit to a reasonable number of cores to use at maximum +maxparallel = 5 + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.13.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + ('jaxlib', '0.1.70', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + '%(name)s-%(version)s_add-bazel-args-to-shutdown.patch', + '%(name)s-%(version)s_no-tensorflow-download.patch', + ('TensorFlow-%s_mlir-build-env.patch' % local_tf_commit, '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.1.70.tar.gz + '5d136c4b72bb254a3700cbac276ebe77108841936ff6d728050775f24a8e36fe', + # tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d.tar.gz + '0f13410284b9186e436350e9617b3bed2d65f1dc1a220fd37ad9ef43c2035663', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # jaxlib-0.1.70_no-tensorflow-download.patch + '1496c6be9336fb563b997f8da83d690a9b3a0a6e29fdd87fac60409300a2fd95', + # TensorFlow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d-build-env.patch + 'd067836b1d18d66a8c69fb3db311855c8a56c0106d42a11299a1733c385e9c22', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-%(version)s_fix-update-of-cache-access-time.patch', + ], + 'checksums': [ + 'fb6f665b1461ac67954c1004da00d12e1c41b65b744a5fa0311d26d1a784a96c', # jax-v0.2.19.tar.gz + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + ], + 'runtest': 'pytest -n %(parallel)s tests', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb b/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb new file mode 100644 index 00000000000..039ed9bd0d2 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.19-fosscuda-2020b.eb @@ -0,0 +1,125 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.2.19' +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('Cython', '0.29.22'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.28.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('flatbuffers-python', '1.12'), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = '4039feeb743bc42cd0a3d8146ce63fc05d23eb8d' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +local_jax_prebuildopts = "sed -i 's$pathToSed$%s$g' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.13.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + ('jaxlib', '0.1.70', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + '%(name)s-%(version)s_add-bazel-args-to-shutdown.patch', + '%(name)s-%(version)s_no-tensorflow-download.patch', + '%(name)s-%(version)s_fix-gpu-translation-rule.patch', + ('TensorFlow-%s_mlir-build-env.patch' % local_tf_commit, '../' + local_tf_dir), + ('TensorFlow-2.1.0_fix-cuda-build.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.1.70.tar.gz + '5d136c4b72bb254a3700cbac276ebe77108841936ff6d728050775f24a8e36fe', + # tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d.tar.gz + '0f13410284b9186e436350e9617b3bed2d65f1dc1a220fd37ad9ef43c2035663', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # jaxlib-0.1.70_no-tensorflow-download.patch + '1496c6be9336fb563b997f8da83d690a9b3a0a6e29fdd87fac60409300a2fd95', + # jaxlib-0.1.70_fix-gpu-translation-rule.patch + 'ce3cf8ee3b393f6580fb88bc39cc2660be46f2a48a315a3779403725ad49f946', + # TensorFlow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d-build-env.patch + 'd067836b1d18d66a8c69fb3db311855c8a56c0106d42a11299a1733c385e9c22', + # TensorFlow-2.1.0_fix-cuda-build.patch + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-%(version)s_fix-update-of-cache-access-time.patch', + 'jax-%(version)s_skip-heap-profiler-test.patch' + ], + 'checksums': [ + 'fb6f665b1461ac67954c1004da00d12e1c41b65b744a5fa0311d26d1a784a96c', # jax-v0.2.19.tar.gz + # jax-0.2.19_increase-cache-test-sleep-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + # jax-0.2.19_skip-heap-profiler-test.patch + 'a431ce1b6588b5098872f36575dc2c5023b1010760bf6aaa889125c9a09227b0', + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.19_fix-update-of-cache-access-time.patch b/easybuild/easyconfigs/j/jax/jax-0.2.19_fix-update-of-cache-access-time.patch new file mode 100644 index 00000000000..adf64ed5098 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.19_fix-update-of-cache-access-time.patch @@ -0,0 +1,18 @@ +Recent kernels do not update the access time on read. +So do that manually. +See https://github.com/google/jax/issues/7944 + +Author: Alexander Grund (TU Dresden) + +diff --git a/jax/experimental/compilation_cache/file_system_cache.py b/jax/experimental/compilation_cache/file_system_cache.py +index b85969de..4c22d8e3 100644 +--- a/jax/experimental/compilation_cache/file_system_cache.py ++++ b/jax/experimental/compilation_cache/file_system_cache.py +@@ -33,6 +33,7 @@ class FileSystemCache(CacheInterface): + path_to_key = os.path.join(self._path, key) + if os.path.exists(path_to_key): + with open(path_to_key, "rb") as file: ++ os.utime(file.fileno()) + return file.read() + else: + return None diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.19_skip-heap-profiler-test.patch b/easybuild/easyconfigs/j/jax/jax-0.2.19_skip-heap-profiler-test.patch new file mode 100644 index 00000000000..7284c016b9c --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.19_skip-heap-profiler-test.patch @@ -0,0 +1,14 @@ +skip this test with jax 0.2.19 + jaxlib 0.1.70, since it's broken: +RuntimeError: Invalid argument: GetOnDeviceSizeInBytes called on deleted or donated buffer +author: Kenneth Hoste (HPC-UGent) +--- jax-jax-v0.2.19/tests/heap_profiler_test.py.orig 2021-08-21 14:50:01.396950980 +0200 ++++ jax-jax-v0.2.19/tests/heap_profiler_test.py 2021-08-21 14:50:17.368215928 +0200 +@@ -27,7 +27,7 @@ + # These tests simply test that the heap profiler API does not crash; they do + # not check functional correctness. + +- def testBasics(self): ++ def disabled_testBasics(self): + client = jax.lib.xla_bridge.get_backend() + _ = client.heap_profile() + diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.20-foss-2021a.eb b/easybuild/easyconfigs/j/jax/jax-0.2.20-foss-2021a.eb new file mode 100644 index 00000000000..a0492416164 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.20-foss-2021a.eb @@ -0,0 +1,110 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.2.20' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +local_jax_prebuildopts = "sed -i 's$pathToSed$%s$g' WORKSPACE && " % local_tf_builddir + +use_pip = True +sanity_pip_check = True + +# running the tests with lots of cores results in test failures because not enough threads can be started, +# so limit to a reasonable number of cores to use at maximum +maxparallel = 5 + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.13.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + ('jaxlib', '0.1.71', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + 'jaxlib-%(version)s_no-tensorflow-download.patch', + ('jaxlib-%(version)s_fix-llvm-env.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.1.71.tar.gz + '07a602e4e2e37fe46c17eeb6c25e80932f6abc5d1dde59e7868e7e3bb08f46c6', + # tensorflow-b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee.tar.gz + '6b14b66a74728736359afcb491820fa3e713ea4a74bff0defe920f3453a3a0f0', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # jaxlib-0.1.71_no-tensorflow-download.patch + '693cff114553fa5591aa4cb3d777c9b7dea1ded1effef76d7d45d11cd2fc3819', + # jaxlib-0.1.71_fix-llvm-env.patch + '73f5a83dd13c71cc1ed2c3db084a67861d418a8dd56d862cb2310a522de1a4ee', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.2.19_fix-update-of-cache-access-time.patch', + ], + 'checksums': [ + '2e40bd8e2493a3609177b122c583636c0c88c5e695f8041190eefdfd42a6fc5b', # jax-v0.2.20.tar.gz + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..a50c9db2fc7 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,131 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.2.24' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), +] + +# running the tests with lots of cores results in test failures because not enough threads can be started, +# and running with a single core also results in systematic test failures +# 4 cores seems to work best +parallel = 4 + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'e98b052c08e5d1e7906ac2f6caf95c51a1e04985' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.15.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('jaxlib', '0.1.73', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.1.73.tar.gz + '4cb1a7a9881c6566cf6d0d88f70ba2b8732e8b1dc6010da7deaff399f21873ed', + # tensorflow-e98b052c08e5d1e7906ac2f6caf95c51a1e04985.tar.gz + 'b2c8b912e7be71306ab6fee063fb4ec1dfbe7158e7e8469d674f8af6583434d4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.2.19_fix-update-of-cache-access-time.patch', + 'jax-0.2.24-foss-2021a_unimplemented.patch', + ], + 'checksums': [ + # jax-v0.2.24.tar.gz + '9ffbf86e97a05591eaa1a7a5194cf9ceaed8cf6c2aaa8ffc394568a3a131cae0', + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + # jax-0.2.24-foss-2021a_unimplemented.patch + '96fe1b15b55611727b0ae76409b89c44ae21a1c10002507ca8e3c06c2b134f4e', + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a.eb b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a.eb new file mode 100644 index 00000000000..1591cf9842a --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a.eb @@ -0,0 +1,116 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.2.24' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), +] + +# running the tests with lots of cores results in test failures because not enough threads can be started, +# and running with a single core also results in systematic test failures +# 4 cores seems to work best +parallel = 4 + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'e98b052c08e5d1e7906ac2f6caf95c51a1e04985' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.15.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('jaxlib', '0.1.73', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + ], + 'checksums': [ + # jaxlib-v0.1.73.tar.gz + '4cb1a7a9881c6566cf6d0d88f70ba2b8732e8b1dc6010da7deaff399f21873ed', + # tensorflow-e98b052c08e5d1e7906ac2f6caf95c51a1e04985.tar.gz + 'b2c8b912e7be71306ab6fee063fb4ec1dfbe7158e7e8469d674f8af6583434d4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.2.19_fix-update-of-cache-access-time.patch', + 'jax-0.2.24-foss-2021a_unimplemented.patch', + ], + 'checksums': [ + # jax-v0.2.24.tar.gz + '9ffbf86e97a05591eaa1a7a5194cf9ceaed8cf6c2aaa8ffc394568a3a131cae0', + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + # jax-0.2.24-foss-2021a_unimplemented.patch + '96fe1b15b55611727b0ae76409b89c44ae21a1c10002507ca8e3c06c2b134f4e', + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a_unimplemented.patch b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a_unimplemented.patch new file mode 100644 index 00000000000..93164d66c3a --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.2.24-foss-2021a_unimplemented.patch @@ -0,0 +1,12 @@ +Test raises UNIMPLEMENTED error. So remove. +Patch by Simon Branford (University of Birmginham) +--- tests/host_callback_test.py.orig 2021-11-19 14:12:54.608037000 +0000 ++++ tests/host_callback_test.py 2021-11-19 14:14:09.582155863 +0000 +@@ -2087,6 +2087,7 @@ + expected_res = np.linalg.eigvals(m) + self.assertAllClose(expected_res, fun(m)) + ++ @skip("Raises UNIMPLEMENTED error") + def test_call_doc_example_hlo(self): + """Examples from the documentation: simplest, call a function.""" + diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c7812a8bd25 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.14-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,126 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.14' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'd250676d7776cfbca38e8690b75e1376afecf58d' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.1.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['3aa39f898329c2156ff525dfa69ce709e42d77aab18bf4917719d6f260aa6a08'], + }), + ('jaxlib', '0.3.14', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.14.tar.gz + '6d6b660cb915b3fbf151dc67a471623e5f83b6a66493b9e438273d290a43b40f', + # tensorflow-d250676d7776cfbca38e8690b75e1376afecf58d.tar.gz + 'a99890443df024e52d9c7b075e9916250c6cc6b778d62c384b7dcd1903d8f4f1', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.6.0', { + 'checksums': ['6677241051835d0db11c4947bcad938f57b51ea102290624f892f1e4e51b70e5'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.3.9_relax-test-tolerance.patch', + 'jax-0.3.14_relax-test-tolerances.patch', + ], + 'checksums': [ + '225624375094d2067bc3af5abe0a73c6b530916edc1422c30a451d3f3e1b5a82', # jax-v0.3.14.tar.gz + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d', # jax-0.3.9_relax-test-tolerance.patch + # jax-0.3.14_relax-test-tolerances.patch + '387e98a89ca03ca898a1925d7c2d57d0568f6a72b0cb516469903dddd9424689', + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest -vv tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.14_relax-test-tolerances.patch b/easybuild/easyconfigs/j/jax/jax-0.3.14_relax-test-tolerances.patch new file mode 100644 index 00000000000..0a4129647a2 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.14_relax-test-tolerances.patch @@ -0,0 +1,40 @@ +Relax the tolerance of tests that fail by a small amount +Patch by Simon Branford (University of Birmingham) +--- tests/scipy_optimize_test.py.orig 2022-06-30 18:36:30.056986000 +0100 ++++ tests/scipy_optimize_test.py 2022-06-30 18:36:21.840235000 +0100 +@@ -90,9 +90,14 @@ + ) + return result.x + ++ if func.__name__ == 'eggholder': ++ atol = 4e-5 ++ else: ++ atol = 2e-5 ++ + jax_res = min_op(x0) + scipy_res = scipy.optimize.minimize(func(np), x0, method='BFGS').x +- self.assertAllClose(scipy_res, jax_res, atol=2e-5, check_dtypes=False) ++ self.assertAllClose(scipy_res, jax_res, atol=atol, check_dtypes=False) + + def test_fixes4594(self): + n = 2 +--- tests/linalg_test.py.orig 2022-07-07 18:14:10.363577000 +0100 ++++ tests/linalg_test.py 2022-07-07 18:17:21.971203822 +0100 +@@ -286,6 +286,8 @@ + args_maker = lambda: [rng(shape, dtype)] + a, = args_maker() + tol = 1e-4 if dtype in (np.float64, np.complex128) else 1e-1 ++ if dtype == np.complex64: ++ tol = 1 + jtu.check_grads(lambda x: jnp.linalg.eigvals(x), (a,), order=1, + modes=['fwd', 'rev'], rtol=tol, atol=tol) + +@@ -304,7 +306,7 @@ + a, = args_maker() + w1, _ = jnp.linalg.eig(a) + w2 = jnp.linalg.eigvals(a) +- self.assertAllClose(w1, w2, rtol={np.complex128: 1e-14}) ++ self.assertAllClose(w1, w2, rtol={np.complex128: 1e-14, np.complex64: 1e-4}) + + @jtu.skip_on_devices("gpu", "tpu") + def testEigvalsInf(self): diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..cc8ee4c2d2e --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,123 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +# Downgrade to foss/2021b: T. Hoffmann (EMBL) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.23' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.33.1', '-nodocs'), + ('matplotlib', '3.5.2'), # required by some jax tests; also loads Pillow/9.1.1 +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', '0.3.22', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.22.tar.gz + '680a6f5265ba26d5515617a95ae47244005366f879a5c321782fde60f34e6d0d', + # tensorflow-cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057.tar.gz + '9a7a7a87356bdeef5874fae135de380466482b593469035be3609a9cd2c153c4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.9_relax-test-tolerance.patch', + 'jax-0.3.23_correctly-skip-from_dlpack-tests.patch', + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + ], + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.3.23.tar.gz': 'fa8c68a82fa2fcf3d272bf239c77e7028bb6077466a53349ce85f6e85ed623db'}, + {'jax-0.3.9_relax-test-tolerance.patch': + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d'}, + {'jax-0.3.23_correctly-skip-from_dlpack-tests.patch': + 'a69ce7280ca8bb42e671217f00d9147f8c64b4b7ba65dea7f05f2c6de757b279'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb new file mode 100644 index 00000000000..769a042f02f --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23-foss-2022a.eb @@ -0,0 +1,117 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.23' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', '0.3.22', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.22.tar.gz + '680a6f5265ba26d5515617a95ae47244005366f879a5c321782fde60f34e6d0d', + # tensorflow-cb946f223b9b3fa04efdbb7a0e6a9dabb22a7057.tar.gz + '9a7a7a87356bdeef5874fae135de380466482b593469035be3609a9cd2c153c4', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.9_relax-test-tolerance.patch', + 'jax-0.3.23_correctly-skip-from_dlpack-tests.patch', + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + ], + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.3.23.tar.gz': 'fa8c68a82fa2fcf3d272bf239c77e7028bb6077466a53349ce85f6e85ed623db'}, + {'jax-0.3.9_relax-test-tolerance.patch': + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d'}, + {'jax-0.3.23_correctly-skip-from_dlpack-tests.patch': + 'a69ce7280ca8bb42e671217f00d9147f8c64b4b7ba65dea7f05f2c6de757b279'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch b/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch new file mode 100644 index 00000000000..7354e39c8e3 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23_correctly-skip-from_dlpack-tests.patch @@ -0,0 +1,15 @@ +np.from_dlpack was not added until numpy 1.23 +Patch based off https://github.com/google/jax/pull/12900 and added by Simon Branford (University of Birmingham) +diff --git a/tests/array_interoperability_test.py b/tests/array_interoperability_test.py +index cc2f3a6c08d..ac04ee637c8 100644 +--- a/tests/array_interoperability_test.py ++++ b/tests/array_interoperability_test.py +@@ -200,7 +200,7 @@ def testNumpyToJax(self, shape, dtype): + "shape": shape, "dtype": dtype} + for shape in all_shapes + for dtype in torch_dtypes)) +- @unittest.skipIf(numpy_version < (1, 22, 0), "Requires numpy 1.22 or newer") ++ @unittest.skipIf(numpy_version < (1, 23, 0), "Requires numpy 1.23 or newer") + @jtu.skip_on_devices("gpu") + def testJaxToNumpy(self, shape, dtype): + rng = jtu.rand_default(self.rng()) diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch b/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch new file mode 100644 index 00000000000..38729edac87 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.23_relax-testPoly5-tolerance.patch @@ -0,0 +1,14 @@ +Relax the tolerance for the testPoly5 test +Patch by Simon Branford (University of Birmingham) +--- tests/lax_numpy_test.py 2022-10-12 16:23:43.000000000 +0100 ++++ tests/lax_numpy_test.py 2022-10-21 13:33:59.871417000 +0100 +@@ -1277,6 +1277,9 @@ + if jtu.device_under_test() == "tpu": + tol[np.int32] = tol[np.float32] = 1e-1 + tol = jtu.tolerance(dtype, tol) ++ if rank == 2 and dtype == np.int8 and a_shape == (12,): ++ # relax tolerance (from 1e-3) for testPoly5 ++ tol = 2e-3 + args_maker = lambda: [rng(a_shape * rank, dtype)] + self._CheckAgainstNumpy(np.poly, jnp.poly, args_maker, check_dtypes=False, tol=tol) + self._CompileAndCheck(jnp.poly, args_maker, check_dtypes=True, rtol=tol, atol=tol) diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..4ddfd6746ec --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,130 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.25' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'f0fe8d4c04fab1f157854a1aa3c136377901cdef' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', version, { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.25.tar.gz + '73ebc7868631cd9d520385557bbd7f08762d748a5a6a1bebef0f3b8d7ba748ef', + # tensorflow-f0fe8d4c04fab1f157854a1aa3c136377901cdef.tar.gz + '9ebba3031e8a81993682e4b9e43891ebb8480b6287e635df8e7efaa45ab5ede7', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch', + 'jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch', + 'jax-0.4.4_cusparse.patch', + ], + 'checksums': [ + {'jax-v0.3.25.tar.gz': '49e8ce88ddd7dd0de86116c9d75d98a577a9061377ec423493fbac5ea29f79f0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch': + '70f16f2dba03ab162ce6e13ea61774524b485e9630209bbd4bec81fd16c8812f'}, + {'jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch': + '335a8e206d14338176bf4136a131afe5d7b75999ac2c67f0ae79031322e25936'}, + {'jax-0.4.4_cusparse.patch': '7414115533cce9f37c60850c09c69563a0ed6477c73f03c4132b9c2ae75ae60f'}, + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb new file mode 100644 index 00000000000..fb821e58e1d --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25-foss-2022a.eb @@ -0,0 +1,114 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.25' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = 'f0fe8d4c04fab1f157854a1aa3c136377901cdef' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.3.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['463c38a08d2e4cef6c498b76ba5bd4858e4c6ef51da1a5a1f27139a022e20248'], + }), + ('jaxlib', version, { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.25.tar.gz + '73ebc7868631cd9d520385557bbd7f08762d748a5a6a1bebef0f3b8d7ba748ef', + # tensorflow-f0fe8d4c04fab1f157854a1aa3c136377901cdef.tar.gz + '9ebba3031e8a81993682e4b9e43891ebb8480b6287e635df8e7efaa45ab5ede7', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch', + ], + 'checksums': [ + {'jax-v0.3.25.tar.gz': '49e8ce88ddd7dd0de86116c9d75d98a577a9061377ec423493fbac5ea29f79f0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch': + '70f16f2dba03ab162ce6e13ea61774524b485e9630209bbd4bec81fd16c8812f'}, + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch new file mode 100644 index 00000000000..50eef092964 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-qdwh-test-rank-deficient-deficient.patch @@ -0,0 +1,14 @@ +This test is known to fail on certain CPU arquitectures +see https://github.com/google/jax/issues/14793 +author: Alex Domingo (Vrije Universiteit Brussel) +--- tests/qdwh_test.py.orig 2023-04-06 10:38:07.838718000 +0200 ++++ tests/qdwh_test.py 2023-04-06 10:38:24.168026081 +0200 +@@ -168,7 +168,7 @@ + [dict(m=m, n=n) for m, n in [(10, 10), (8, 8)]], + log_cond=np.linspace(1, 4, 4), + ) +- def testQdwhWithOnRankDeficientInput(self, m, n, log_cond): ++ def disabled_testQdwhWithOnRankDeficientInput(self, m, n, log_cond): + """Tests qdwh with rank-deficient input.""" + a = jnp.triu(jnp.ones((m, n))).astype(_QDWH_TEST_DTYPE) + diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch new file mode 100644 index 00000000000..8a70ed941cf --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.25_skip-test-bcoo-dot-general-cusparse.patch @@ -0,0 +1,14 @@ +Skip flaky tests with cuSPARSE as its API is quite variable, +might solve itself in future versions of CUDA or jax +see https://github.com/google/jax/issues/14663 +author: Alex Domingo (Vrije Universiteit Brussel) +--- tests/sparse_test.py.orig 2023-04-06 23:41:58.192895000 +0200 ++++ tests/sparse_test.py 2023-04-06 23:59:56.319161821 +0200 +@@ -1173,6 +1173,7 @@ + ], + dtype=jtu.dtypes.floating + jtu.dtypes.complex, + ) ++ @unittest.skip("CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2 on CUDA 11.7.0") + def test_bcoo_dot_general_cusparse( + self, lhs_shape, rhs_shape, dtype, lhs_contracting, rhs_contracting): + rng = jtu.rand_small(self.rng()) diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..d77b7c6e666 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,124 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'e011187e26dbeed80dede66eb48729d184e3bb1d' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.15.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('jaxlib', '0.3.7', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + # jaxlib-v0.3.7.tar.gz + '60a1ec2f32e28eda90998440c3a3f71dd55abd3e5b033849255ab157c4765632', + # tensorflow-e011187e26dbeed80dede66eb48729d184e3bb1d.tar.gz + 'ef5a001226c37f59eca9c9bf0506b962cf220906bcc8f24df4d1ed6011a593e9', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + # TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.2.19_fix-update-of-cache-access-time.patch', + 'jax-0.3.9_relax-test-tolerance.patch', + ], + 'checksums': [ + '45c526496d525fd04c0c9c705971f4cfa31e6a9f7d25e55a4e3bdcb3a4bbe6ce', # jax-v0.3.9.tar.gz + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d', # jax-0.3.9_relax-test-tolerance.patch + ], + # deliberately not testing in parallel, as that results in (additional) failing tests; + # use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, + # see https://github.com/google/jax/issues/7323 and + # https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; + # use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; + # use NVIDIA_TF32_OVERRIDE=0 to avoid lossing numerical precision by disabling TF32 Tensor Cores; + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + "JAX_ENABLE_X64=true pytest -vv tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a.eb b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a.eb new file mode 100644 index 00000000000..bf75f491f46 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.9-foss-2021a.eb @@ -0,0 +1,115 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.3.9' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('pytest-xdist', '2.3.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.32.0', '-nodocs'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), +] + +# running the tests with lots of cores results in test failures because not enough threads can be started, +# and running with a single core also results in systematic test failures +# 4 cores seems to work best +parallel = 4 + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in jaxlib-*/WORKSPACE +local_tf_commit = 'e011187e26dbeed80dede66eb48729d184e3bb1d' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '0.15.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('jaxlib', '0.3.7', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + 'jaxlib-0.1.70_add-bazel-args-to-shutdown.patch', + ], + 'checksums': [ + # jaxlib-v0.3.7.tar.gz + '60a1ec2f32e28eda90998440c3a3f71dd55abd3e5b033849255ab157c4765632', + # tensorflow-e011187e26dbeed80dede66eb48729d184e3bb1d.tar.gz + 'ef5a001226c37f59eca9c9bf0506b962cf220906bcc8f24df4d1ed6011a593e9', + # jaxlib_local-tensorflow-repo.sed + 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5', + # jaxlib-0.1.70_add-bazel-args-to-shutdown.patch + 'c0ea6abd7827d3c37bdd60c30c7b0613fc86b91274c6a1a4cf13a3c7f9ce7631', + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': [ + 'jax-0.2.19_fix-update-of-cache-access-time.patch', + 'jax-0.3.9_relax-test-tolerance.patch', + ], + 'checksums': [ + '45c526496d525fd04c0c9c705971f4cfa31e6a9f7d25e55a4e3bdcb3a4bbe6ce', # jax-v0.3.9.tar.gz + # jax-0.2.19_fix-update-of-cache-access-time.patch + 'e20562f67d63cc7e3478f7a92940291b2c8e328d605426bbabf89d8c2e1dd806', + '3da3c8b4d9ff3449b51a4f39d6bbadd348ea3bd4ca493a6f1292743f86fa7b3d', # jax-0.3.9_relax-test-tolerance.patch + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.3.9_relax-test-tolerance.patch b/easybuild/easyconfigs/j/jax/jax-0.3.9_relax-test-tolerance.patch new file mode 100644 index 00000000000..89819a2a3de --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.3.9_relax-test-tolerance.patch @@ -0,0 +1,17 @@ +Relax tolerance for tests/linalg_test.py::ScipyLinalgTest::testLu_shape=float64[50,50] +which failes by a small amount on AMD Rome +Patch by Simon Branford (University of Birmingham) +--- tests/linalg_test.py.orig 2022-06-21 19:05:51.211914000 +0100 ++++ tests/linalg_test.py 2022-06-21 19:10:57.704763179 +0100 +@@ -1031,8 +1031,9 @@ + x, = args_maker() + p, l, u = jsp.linalg.lu(x) + self.assertAllClose(x, np.matmul(p, np.matmul(l, u)), +- rtol={np.float32: 1e-3, np.float64: 1e-12, +- np.complex64: 1e-3, np.complex128: 1e-12}) ++ rtol={np.float32: 1e-3, np.float64: 1e-11, ++ np.complex64: 1e-3, np.complex128: 1e-12}, ++ atol={np.float64: 1e-14}) + self._CompileAndCheck(jsp.linalg.lu, args_maker) + + def testLuOfSingularMatrix(self): diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..75355c6c842 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,135 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +# Updated by: Pavel Tománek (INUITS) +# Updated by: Thomas Hoffmann (EMBL Heidelberg) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.25' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://jax.readthedocs.io/' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +cuda_compute_capabilities = ["5.0", "6.0", "6.1", "7.0", "7.5", "8.0", "8.6", "9.0"] + +builddependencies = [ + ('Bazel', '6.3.1'), + ('pytest-xdist', '3.3.1'), + ('git', '2.41.0', '-nodocs'), # bazel uses git to fetch repositories + ('matplotlib', '3.7.2'), # required for tests/lobpcg_test.py + ('poetry', '1.5.1'), + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('absl-py', '2.1.0'), + ('flatbuffers-python', '23.5.26'), + ('ml_dtypes', '0.3.2'), + ('zlib', '1.2.13'), +] + +# downloading xla and other tarballs to avoid that Bazel downloads it during the build +local_extract_cmd = 'mkdir -p %(builddir)s/archives && cp %s %(builddir)s/archives' +# note: following commits *must* be the exact same onces used upstream +# XLA_COMMIT from jax-jaxlib: third_party/xla/workspace.bzl +local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' +# TFRT_COMMIT from xla: third_party/tsl/third_party/tf_runtime/workspace.bzl +local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' + +# Use sources downloaded by EasyBuild +_jaxlib_buildopts = '--bazel_options="--distdir=%(builddir)s/archives" ' +# Use dependencies from EasyBuild +_jaxlib_buildopts += '--bazel_options="--action_env=TF_SYSTEM_LIBS=pybind11" ' +_jaxlib_buildopts += '--bazel_options="--action_env=CPATH=$EBROOTPYBIND11/include" ' +# Avoid warning (treated as error) in upb/table.c +_jaxlib_buildopts += '--bazel_options="--copt=-Wno-maybe-uninitialized" ' + +components = [ + ('jaxlib', version, { + 'sources': [ + { + 'source_urls': ['https://github.com/google/jax/archive/'], + 'filename': '%(name)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/openxla/xla/archive'], + 'download_filename': '%s.tar.gz' % local_xla_commit, + 'filename': 'xla-%s.tar.gz' % local_xla_commit[:8], + 'extract_cmd': local_extract_cmd, + }, + { + 'source_urls': ['https://github.com/tensorflow/runtime/archive'], + 'download_filename': '%s.tar.gz' % local_tfrt_commit, + 'filename': 'tf_runtime-%s.tar.gz' % local_tfrt_commit[:8], + 'extract_cmd': local_extract_cmd, + }, + ], + 'patches': ['jax-0.4.25_fix-pybind11-systemlib.patch'], + 'checksums': [ + {'jaxlib-v0.4.25.tar.gz': + 'fc1197c401924942eb14185a61688d0c476e3e81ff71f9dc95e620b57c06eec8'}, + {'xla-4ccfe33c.tar.gz': + '8a59b9af7d0850059d7043f7043c780066d61538f3af536e8a10d3d717f35089'}, + {'tf_runtime-0aeefb16.tar.gz': + 'a3df827d7896774cb1d80bf4e1c79ab05c268f29bd4d3db1fb5a4b9c2079d8e3'}, + {'jax-0.4.25_fix-pybind11-systemlib.patch': + 'daad5b726d1a138431b05eb60ecf4c89c7b5148eb939721800bdf43d804ca033'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'buildopts': _jaxlib_buildopts + }), +] + +# Some tests require an isolated run: +local_isolated_tests = [ + 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_scan_custom_jvp', + 'tests/host_callback_test.py::HostCallbackTapTest::test_tap_transforms_doc', + 'tests/lax_scipy_special_functions_test.py::LaxScipySpcialFunctionsTest' + + '::testScipySpecialFun_gammainc_s_2x1x4_float32_float32', +] +# deliberately not testing in parallel, as that results in (additional) failing tests; +# use XLA_PYTHON_CLIENT_ALLOCATOR=platform to allocate and deallocate GPU memory during testing, +# see https://github.com/google/jax/issues/7323 and +# https://github.com/google/jax/blob/main/docs/gpu_memory_allocation.rst; +# use CUDA_VISIBLE_DEVICES=0 to avoid failing tests on systems with multiple GPUs; +# use NVIDIA_TF32_OVERRIDE=0 to avoid loosing numerical precision by disabling TF32 Tensor Cores; +local_test_exports = [ + "NVIDIA_TF32_OVERRIDE=0", + "CUDA_VISIBLE_DEVICES=0", + "XLA_PYTHON_CLIENT_ALLOCATOR=platform", + "JAX_ENABLE_X64=true", +] +local_test = ''.join(['export %s;' % x for x in local_test_exports]) +# run all tests at once except for local_isolated_tests: +local_test += "pytest -vv tests %s && " % ' '.join(['--deselect %s' % x for x in local_isolated_tests]) +# run remaining local_isolated_tests separately: +local_test += ' && '.join(['pytest -vv %s' % x for x in local_isolated_tests]) + +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'patches': ['jax-0.4.25_fix_env_test_no_log_spam.patch'], + 'checksums': [ + {'jax-v0.4.25.tar.gz': '8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'}, + {'jax-0.4.25_fix_env_test_no_log_spam.patch': + 'a18b5f147569d9ad41025124333a0f04fd0d0e0f9e4309658d7f6b9b838e2e2a'}, + ], + 'runtest': local_test, + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a.eb b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a.eb new file mode 100644 index 00000000000..a4a86382ad6 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25-gfbf-2023a.eb @@ -0,0 +1,109 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +# Updated by: Pavel Tománek (INUITS) +# Updated by: Thomas Hoffmann (EMBL Heidelberg) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.25' + +homepage = 'https://jax.readthedocs.io/' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('Bazel', '6.3.1'), + ('pytest-xdist', '3.3.1'), + ('git', '2.41.0', '-nodocs'), # bazel uses git to fetch repositories + ('matplotlib', '3.7.2'), # required for tests/lobpcg_test.py + ('poetry', '1.5.1'), + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('absl-py', '2.1.0'), + ('flatbuffers-python', '23.5.26'), + ('ml_dtypes', '0.3.2'), + ('zlib', '1.2.13'), +] + +# downloading xla and other tarballs to avoid that Bazel downloads it during the build +local_extract_cmd = 'mkdir -p %(builddir)s/archives && cp %s %(builddir)s/archives' +# note: following commits *must* be the exact same onces used upstream +# XLA_COMMIT from jax-jaxlib: third_party/xla/workspace.bzl +local_xla_commit = '4ccfe33c71665ddcbca5b127fefe8baa3ed632d4' +# TFRT_COMMIT from xla: third_party/tsl/third_party/tf_runtime/workspace.bzl +local_tfrt_commit = '0aeefb1660d7e37964b2bb71b1f518096bda9a25' + +# Use sources downloaded by EasyBuild +_jaxlib_buildopts = '--bazel_options="--distdir=%(builddir)s/archives" ' +# Use dependencies from EasyBuild +_jaxlib_buildopts += '--bazel_options="--action_env=TF_SYSTEM_LIBS=pybind11" ' +_jaxlib_buildopts += '--bazel_options="--action_env=CPATH=$EBROOTPYBIND11/include" ' +# Avoid warning (treated as error) in upb/table.c +_jaxlib_buildopts += '--bazel_options="--copt=-Wno-maybe-uninitialized" ' + +components = [ + ('jaxlib', version, { + 'sources': [ + { + 'source_urls': ['https://github.com/google/jax/archive/'], + 'filename': '%(name)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/openxla/xla/archive'], + 'download_filename': '%s.tar.gz' % local_xla_commit, + 'filename': 'xla-%s.tar.gz' % local_xla_commit[:8], + 'extract_cmd': local_extract_cmd, + }, + { + 'source_urls': ['https://github.com/tensorflow/runtime/archive'], + 'download_filename': '%s.tar.gz' % local_tfrt_commit, + 'filename': 'tf_runtime-%s.tar.gz' % local_tfrt_commit[:8], + 'extract_cmd': local_extract_cmd, + }, + ], + 'patches': ['jax-0.4.25_fix-pybind11-systemlib.patch'], + 'checksums': [ + {'jaxlib-v0.4.25.tar.gz': + 'fc1197c401924942eb14185a61688d0c476e3e81ff71f9dc95e620b57c06eec8'}, + {'xla-4ccfe33c.tar.gz': + '8a59b9af7d0850059d7043f7043c780066d61538f3af536e8a10d3d717f35089'}, + {'tf_runtime-0aeefb16.tar.gz': + 'a3df827d7896774cb1d80bf4e1c79ab05c268f29bd4d3db1fb5a4b9c2079d8e3'}, + {'jax-0.4.25_fix-pybind11-systemlib.patch': + 'daad5b726d1a138431b05eb60ecf4c89c7b5148eb939721800bdf43d804ca033'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'buildopts': _jaxlib_buildopts + }), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': [ + { + 'source_urls': ['https://github.com/google/jax/archive/'], + 'filename': '%(name)s-v%(version)s.tar.gz', + }, + ], + 'patches': ['jax-0.4.25_fix_env_test_no_log_spam.patch'], + 'checksums': [ + {'jax-v0.4.25.tar.gz': '8b30af49688c0c13b82c6f5ce992727c00b5fc6d04a4c6962012f4246fa664eb'}, + {'jax-0.4.25_fix_env_test_no_log_spam.patch': + 'a18b5f147569d9ad41025124333a0f04fd0d0e0f9e4309658d7f6b9b838e2e2a'}, + ], + 'runtest': "pytest -n %(parallel)s tests", + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix-pybind11-systemlib.patch b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix-pybind11-systemlib.patch new file mode 100644 index 00000000000..c404ee6917f --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix-pybind11-systemlib.patch @@ -0,0 +1,38 @@ +Add missing value for System Pybind11 Bazel config + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/xla/fix-pybind11-systemlib.patch b/third_party/xla/fix-pybind11-systemlib.patch +new file mode 100644 +index 000000000..68bd2063d +--- /dev/null ++++ b/third_party/xla/fix-pybind11-systemlib.patch +@@ -0,0 +1,13 @@ ++--- xla-orig/third_party/tsl/third_party/systemlibs/pybind11.BUILD +++++ xla-4ccfe33c71665ddcbca5b127fefe8baa3ed632d4/third_party/tsl/third_party/systemlibs/pybind11.BUILD ++@@ -6,3 +6,10 @@ ++ "@tsl//third_party/python_runtime:headers", ++ ], ++ ) +++ +++# Needed by pybind11_bazel. +++config_setting( +++ name = "osx", +++ constraint_values = ["@platforms//os:osx"], +++) +++ +diff --git a/third_party/xla/workspace.bzl b/third_party/xla/workspace.bzl +index ebc8d9838..125e1c173 100644 +--- a/third_party/xla/workspace.bzl ++++ b/third_party/xla/workspace.bzl +@@ -29,6 +29,9 @@ def repo(): + sha256 = XLA_SHA256, + strip_prefix = "xla-{commit}".format(commit = XLA_COMMIT), + urls = tf_mirror_urls("https://github.com/openxla/xla/archive/{commit}.tar.gz".format(commit = XLA_COMMIT)), ++ patch_file = [ ++ "//third_party/xla:fix-pybind11-systemlib.patch", ++ ], + ) + + # For development, one often wants to make changes to the TF repository as well + diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch new file mode 100644 index 00000000000..ad919608437 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.25_fix_env_test_no_log_spam.patch @@ -0,0 +1,18 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/03 +# avoid overriding LD_LIBRARY_PATH, which would lead to test error: error while loading shared libraries: libpython3.11.so.1.0: cannot open shared object file: No such file or directory' +diff -ru jax-jax-v0.4.25/tests/logging_test.py jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py +--- jax-jax-v0.4.25/tests/logging_test.py 2024-02-24 19:25:17.000000000 +0100 ++++ jax-jax-v0.4.25_fix_env_test_no_log_spam/tests/logging_test.py 2024-03-15 12:00:34.133022613 +0100 +@@ -72,8 +72,11 @@ + python = sys.executable + assert "python" in python + # Make sure C++ logging is at default level for the test process. ++ import os ++ tmp_env=os.environ.copy() ++ tmp_env['TF_CPP_MIN_LOG_LEVEL']='1' + proc = subprocess.run([python, "-c", program], capture_output=True, +- env={"TF_CPP_MIN_LOG_LEVEL": "1"}) ++ env=tmp_env) + + lines = proc.stdout.split(b"\n") + lines.extend(proc.stderr.split(b"\n")) diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb new file mode 100755 index 00000000000..ef6d2138b86 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,116 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = '43e9d313548ded301fa54f25a4192d3bcb123330' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.4.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('jaxlib', '0.4.4', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + {'jaxlib-v0.4.4.tar.gz': '881f402c7983b56b185e182d5315dd64c9f5320be96213d0415996ece1826806'}, + {'tensorflow-43e9d313548ded301fa54f25a4192d3bcb123330.tar.gz': + '23aae276b2705bfbdaea3c472da24130598f13ac0439cfb7149befb781d97a8f'}, + {'jaxlib_local-tensorflow-repo.sed': 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5'}, + {'TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch': + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + (name, version, { + 'patches': [ + 'jax-0.3.23_relax-testPoly5-tolerance.patch', + 'jax-0.4.4_cusparse.patch', + ], + 'runtest': "NVIDIA_TF32_OVERRIDE=0 CUDA_VISIBLE_DEVICES=0 XLA_PYTHON_CLIENT_ALLOCATOR=platform " + + "JAX_ENABLE_X64=true pytest -vv tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.4.4.tar.gz': '755eb9b12ab4880e78690f28fc7bd2b491be4e551d8b966e6974753c878dd2c0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + {'jax-0.4.4_cusparse.patch': '7414115533cce9f37c60850c09c69563a0ed6477c73f03c4132b9c2ae75ae60f'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb new file mode 100755 index 00000000000..4404537f35c --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4-foss-2022a.eb @@ -0,0 +1,107 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Updated by: Alex Domingo (Vrije Universiteit Brussel) +easyblock = 'PythonBundle' + +name = 'jax' +version = '0.4.4' + +homepage = 'https://pypi.python.org/pypi/jax' +description = """Composable transformations of Python+NumPy programs: +differentiate, vectorize, JIT to GPU/TPU, and more""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('pytest-xdist', '2.5.0'), + # git 2.x required to fetch repository 'io_bazel_rules_docker' + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), # required for tests/lobpcg_test.py +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('flatbuffers-python', '2.0'), +] + +# downloading TensorFlow tarball to avoid that Bazel downloads it during the build +# note: this *must* be the exact same commit as used in WORKSPACE +local_tf_commit = '43e9d313548ded301fa54f25a4192d3bcb123330' +local_tf_dir = 'tensorflow-%s' % local_tf_commit +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +# replace remote TensorFlow repository with the local one from EB +local_jax_prebuildopts = "sed -i -f jaxlib_local-tensorflow-repo.sed WORKSPACE && " +local_jax_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +use_pip = True + +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, +} + +components = [ + ('absl-py', '1.4.0', { + 'options': {'modulename': 'absl'}, + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('jaxlib', '0.4.4', { + 'sources': [ + '%(name)s-v%(version)s.tar.gz', + { + 'download_filename': '%s.tar.gz' % local_tf_commit, + 'filename': 'tensorflow-%s.tar.gz' % local_tf_commit, + } + ], + 'source_urls': [ + 'https://github.com/google/jax/archive/', + 'https://github.com/tensorflow/tensorflow/archive/' + ], + 'patches': [ + ('jaxlib_local-tensorflow-repo.sed', '.'), + ('TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch', '../' + local_tf_dir), + ], + 'checksums': [ + {'jaxlib-v0.4.4.tar.gz': '881f402c7983b56b185e182d5315dd64c9f5320be96213d0415996ece1826806'}, + {'tensorflow-43e9d313548ded301fa54f25a4192d3bcb123330.tar.gz': + '23aae276b2705bfbdaea3c472da24130598f13ac0439cfb7149befb781d97a8f'}, + {'jaxlib_local-tensorflow-repo.sed': 'abb5c3b97f4e317bce9f22ed3eeea3b9715365818d8b50720d937e2d41d5c4e5'}, + {'TensorFlow-2.7.0_cuda-noncanonical-include-paths.patch': + '0a759010c253d49755955cd5f028e75de4a4c447dcc8f5a0d9f47cce6881a9db'}, + ], + 'start_dir': 'jax-jaxlib-v%(version)s', + 'prebuildopts': local_jax_prebuildopts, + }), +] + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + (name, version, { + 'patches': ['jax-0.3.23_relax-testPoly5-tolerance.patch'], + 'runtest': "pytest -n %(parallel)s tests", + 'source_tmpl': '%(name)s-v%(version)s.tar.gz', + 'source_urls': ['https://github.com/google/jax/archive/'], + 'checksums': [ + {'jax-v0.4.4.tar.gz': '755eb9b12ab4880e78690f28fc7bd2b491be4e551d8b966e6974753c878dd2c0'}, + {'jax-0.3.23_relax-testPoly5-tolerance.patch': + 'be64bf36dde4884a97b6c8bb22c6b14ab5b24033cd40bfe7ce18363c55c30e87'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch b/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch new file mode 100755 index 00000000000..ab9a4479fe3 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jax-0.4.4_cusparse.patch @@ -0,0 +1,39 @@ +Skip tests: + ** On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order + cuSparseTest.test_coo_matmat1 + cuSparseTest.test_coo_matmat3 + cuSparseTest.test_coo_matmat5 + test_coo_sorted_indices_gpu_lowerings + ** On entry to cusparseSpMM_bufferSize(): opA != CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2 + cuSparseTest.test_coo_matmat6 + cuSparseTest.test_coo_matmat7 + ** On entry to cusparseSpMM_bufferSize(): CUSPARSE_SPMM_COO_ALG2 does not support 64-bit indices + test_coo_matmat_layout +Patch by Simon Branford (University of Birmingham) +--- tests/sparse_test.py.orig 2023-02-23 08:59:00.381238000 +0000 ++++ tests/sparse_test.py 2023-02-23 10:39:59.054404886 +0000 +@@ -445,6 +445,8 @@ + with self.gpu_matmul_dtype_warning_context(dtype): + self.assertAllClose(op(M) @ v, jit(matvec)(*args), rtol=MATMUL_TOL) + ++ @unittest.skip("""1, 3, 5: On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order; ++6, 7: On entry to cusparseSpMM_bufferSize(): opA != CUSPARSE_OPERATION_NON_TRANSPOSE is not supported with CUSPARSE_SPMM_COO_ALG2""") + @jtu.sample_product( + shape=[(5, 8), (8, 5), (5, 5), (8, 8)], + dtype=all_dtypes, +@@ -465,6 +467,7 @@ + with self.gpu_matmul_dtype_warning_context(dtype): + self.assertAllClose(op(M) @ B, jit(matmat)(*args), rtol=MATMUL_TOL) + ++ @unittest.skip("On entry to cusparseSpMM_bufferSize(): CUSPARSE_SPMM_COO_ALG2 does not support 64-bit indices") + def test_coo_matmat_layout(self): + # Regression test for https://github.com/google/jax/issues/7533 + d = jnp.array([1.0, 2.0, 3.0, 4.0]) +@@ -494,6 +497,7 @@ + + @unittest.skipIf(not GPU_LOWERING_ENABLED, "test requires cusparse/hipsparse") + @unittest.skipIf(jtu.device_under_test() != "gpu", "test requires GPU") ++ @unittest.skip("On entry to cusparseSpMM_bufferSize(): matrix B and C must be in column-major order") + def test_coo_sorted_indices_gpu_lowerings(self): + dtype = jnp.float32 + diff --git a/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_add-bazel-args-to-shutdown.patch b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_add-bazel-args-to-shutdown.patch new file mode 100644 index 00000000000..674500ea870 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_add-bazel-args-to-shutdown.patch @@ -0,0 +1,18 @@ +Pass bazel_startup_options also to the shutdown call to avoid it still using $HOME. +See https://github.com/google/jax/issues/7639 + +Author: Alexander Grund (TU Dresden) + +diff --git a/build/build.py b/build/build.py +index dc275042..44a68a71 100755 +--- a/build/build.py ++++ b/build/build.py +@@ -597,7 +597,7 @@ def main(): + f"--cpu={wheel_cpu}"]) + print(" ".join(command)) + shell(command) +- shell([bazel_path, "shutdown"]) ++ shell([bazel_path] + args.bazel_startup_options + ["shutdown"]) + + + if __name__ == "__main__": diff --git a/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_fix-gpu-translation-rule.patch b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_fix-gpu-translation-rule.patch new file mode 100644 index 00000000000..10f841afd9c --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_fix-gpu-translation-rule.patch @@ -0,0 +1,100 @@ +see https://github.com/google/jax/pull/7560 + +From f8081a9a529e82e6390275491b2c6d6becbb3283 Mon Sep 17 00:00:00 2001 +From: Jake VanderPlas +Date: Tue, 10 Aug 2021 10:13:29 -0700 +Subject: [PATCH] [sparse] fix GPU translation rule for coo/csr matmat + +--- + jaxlib/cusparse.py | 12 ++++++------ + tests/sparse_test.py | 18 +++++++++++++++++- + 2 files changed, 23 insertions(+), 7 deletions(-) + +diff --git a/jaxlib/cusparse.py b/jaxlib/cusparse.py +index 6264c7ba48..7e0adf21a1 100644 +--- a/jaxlib/cusparse.py ++++ b/jaxlib/cusparse.py +@@ -137,8 +137,9 @@ def csr_matmat(c, data, indices, indptr, B, *, shape, transpose=False, compute_d + dtype = np.dtype(c.get_shape(data).element_type()) + index_dtype = np.dtype(c.get_shape(indices).element_type()) + B_dtype = np.dtype(c.get_shape(B).element_type()) ++ B_shape = c.get_shape(B).dimensions() + rows, cols = shape +- _, Ccols = c.get_shape(B).dimensions() ++ _, Ccols = B_shape + nnz, = c.get_shape(data).dimensions() + + if compute_dtype is None: +@@ -154,11 +155,10 @@ def csr_matmat(c, data, indices, indptr, B, *, shape, transpose=False, compute_d + b"cusparse_csr_matmat", + operands=(data, indices, indptr, B), + operand_shapes_with_layout=( +- # All are 1D, so no layout necessary + c.get_shape(data), + c.get_shape(indices), + c.get_shape(indptr), +- c.get_shape(B), ++ _Shape.array_shape(B_dtype, B_shape, (1, 0)), + ), + shape_with_layout=_Shape.tuple_shape(( + _Shape.array_shape(compute_dtype, (out_size, Ccols), (1, 0)), +@@ -272,8 +272,9 @@ def coo_matmat(c, data, row, col, B, *, shape, transpose=False, compute_dtype=No + dtype = np.dtype(c.get_shape(data).element_type()) + index_dtype = np.dtype(c.get_shape(row).element_type()) + B_dtype = np.dtype(c.get_shape(B).element_type()) ++ B_shape = c.get_shape(B).dimensions() + rows, cols = shape +- _, Ccols = c.get_shape(B).dimensions() ++ _, Ccols = B_shape + nnz, = c.get_shape(data).dimensions() + + if compute_dtype is None: +@@ -289,11 +290,10 @@ def coo_matmat(c, data, row, col, B, *, shape, transpose=False, compute_dtype=No + b"cusparse_coo_matmat", + operands=(data, row, col, B), + operand_shapes_with_layout=( +- # All are 1D, so no layout necessary + c.get_shape(data), + c.get_shape(row), + c.get_shape(col), +- c.get_shape(B), ++ _Shape.array_shape(B_dtype, B_shape, (1, 0)), + ), + shape_with_layout=_Shape.tuple_shape(( + _Shape.array_shape(compute_dtype, (out_size, Ccols), (1, 0)), +diff --git a/tests/sparse_test.py b/tests/sparse_test.py +index 993d995afd..af30e27aec 100644 +--- a/tests/sparse_test.py ++++ b/tests/sparse_test.py +@@ -202,7 +202,6 @@ def test_coo_matvec(self, shape, dtype, transpose): + self.assertAllClose(op(M) @ v, matvec(*args), rtol=MATMUL_TOL) + self.assertAllClose(op(M) @ v, jit(matvec)(*args), rtol=MATMUL_TOL) + +- @unittest.skipIf(jtu.device_under_test() != "gpu", "test requires GPU") + @parameterized.named_parameters(jtu.cases_from_list( + {"testcase_name": "_{}_T={}".format(jtu.format_shape_dtype_string(shape, dtype), transpose), + "shape": shape, "dtype": dtype, "transpose": transpose} +@@ -229,6 +228,23 @@ def test_coo_matmat(self, shape, dtype, transpose): + y, dy = jvp(lambda x: sparse.coo_matmat(x, M.row, M.col, B, shape=shape, transpose=transpose).sum(), (M.data, ), (jnp.ones_like(M.data), )) + self.assertAllClose((op(M) @ B).sum(), y, rtol=MATMUL_TOL) + ++ def test_coo_matmat_layout(self): ++ # Regression test for https://github.com/google/jax/issues/7533 ++ d = jnp.array([1.0, 2.0, 3.0, 4.0]) ++ i = jnp.array([0, 0, 1, 2]) ++ j = jnp.array([0, 2, 0, 0]) ++ shape = (3, 3) ++ ++ x = jnp.arange(9).reshape(3, 3).astype(d.dtype) ++ ++ def f(x): ++ return sparse.coo_matmat(d, i, j, x.T, shape=shape) ++ ++ result = f(x) ++ result_jit = jit(f)(x) ++ ++ self.assertAllClose(result, result_jit) ++ + @unittest.skipIf(jtu.device_under_test() != "gpu", "test requires GPU") + def test_gpu_translation_rule(self): + version = xla_bridge.get_backend().platform_version diff --git a/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_no-tensorflow-download.patch b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_no-tensorflow-download.patch new file mode 100644 index 00000000000..3c5bba917d5 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib-0.1.70_no-tensorflow-download.patch @@ -0,0 +1,38 @@ +avoid downloading TensorFlow during the build, add placeholder to inject location of pre-downloaded TensorFlow sources +author: Denis Kristak (INUITS) +diff -ruN jax-jaxlib-v0.1.70_orig/WORKSPACE jax-jaxlib-v0.1.70/WORKSPACE +--- jax-jaxlib-v0.1.70_orig/WORKSPACE 2021-08-12 13:12:54.025608000 +0200 ++++ jax-jaxlib-v0.1.70/WORKSPACE 2021-08-12 13:32:51.581961000 +0200 +@@ -5,21 +5,20 @@ + # b) get the sha256 hash of the commit by running: + # curl -L https://github.com/tensorflow/tensorflow/archive/.tar.gz | sha256sum + # and update the sha256 with the result. +-http_archive( ++# http_archive( ++# name = "org_tensorflow", ++# sha256 = "0f13410284b9186e436350e9617b3bed2d65f1dc1a220fd37ad9ef43c2035663", ++# strip_prefix = "tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d", ++# urls = [ ++# "https://github.com/tensorflow/tensorflow/archive/4039feeb743bc42cd0a3d8146ce63fc05d23eb8d.tar.gz", ++# ], ++# ) ++ ++local_repository( + name = "org_tensorflow", +- sha256 = "0f13410284b9186e436350e9617b3bed2d65f1dc1a220fd37ad9ef43c2035663", +- strip_prefix = "tensorflow-4039feeb743bc42cd0a3d8146ce63fc05d23eb8d", +- urls = [ +- "https://github.com/tensorflow/tensorflow/archive/4039feeb743bc42cd0a3d8146ce63fc05d23eb8d.tar.gz", +- ], ++ path = "pathToSed", + ) + +-# For development, one can use a local TF repository instead. +-# local_repository( +-# name = "org_tensorflow", +-# path = "tensorflow", +-# ) +- + load("//third_party/pocketfft:workspace.bzl", pocketfft = "repo") + pocketfft() + diff --git a/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_fix-llvm-env.patch b/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_fix-llvm-env.patch new file mode 100644 index 00000000000..60660b0d2a9 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_fix-llvm-env.patch @@ -0,0 +1,33 @@ +Enable use_default_shell_env for the MLIR table generator so that the environment (action_env etc.) is correctly passed to the tool +See https://github.com/google/jax/issues/7842 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/llvm/workspace.bzl b/third_party/llvm/workspace.bzl +index c0c7ef3db29..63ccda6dc65 100644 +--- a/third_party/llvm/workspace.bzl ++++ b/third_party/llvm/workspace.bzl +@@ -16,4 +16,5 @@ def repo(name): + "https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT), + ], + build_file = "//third_party/llvm:BUILD.bazel", ++ patch_file = "//third_party/llvm:fix-ctx.run.patch", + ) +diff --git a/third_party/llvm/fix-ctx.run.patch b/third_party/llvm/fix-ctx.run.patch +new file mode 100644 +index 00000000000..65aff1fcd3f +--- /dev/null ++++ b/third_party/llvm/fix-ctx.run.patch +@@ -0,0 +1,12 @@ ++diff --git a/utils/bazel/llvm-project-overlay/mlir/tblgen.bzl b/utils/bazel/llvm-project-overlay/mlir/tblgen.bzl ++index 64685aa1cbc10..177789797a3e0 100644 ++--- a/utils/bazel/llvm-project-overlay/mlir/tblgen.bzl +++++ b/utils/bazel/llvm-project-overlay/mlir/tblgen.bzl ++@@ -169,6 +169,7 @@ def _gentbl_rule_impl(ctx): ++ inputs = trans_srcs, ++ executable = ctx.executable.tblgen, ++ arguments = [args], +++ use_default_shell_env = True, ++ mnemonic = "TdGenerate", ++ ) ++ diff --git a/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_no-tensorflow-download.patch b/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_no-tensorflow-download.patch new file mode 100644 index 00000000000..972056bfd46 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib-0.1.71_no-tensorflow-download.patch @@ -0,0 +1,30 @@ +avoid downloading TensorFlow during the build, add placeholder to inject location of pre-downloaded TensorFlow sources +author: Denis Kristak (INUITS), updated for jaxlib 0.1.71 by Kenneth Hoste (HPC-UGent) +--- jax-jaxlib-v0.1.71/WORKSPACE.orig 2021-09-07 17:47:01.537446458 +0200 ++++ jax-jaxlib-v0.1.71/WORKSPACE 2021-09-07 18:58:49.934107116 +0200 +@@ -5,13 +5,18 @@ + # b) get the sha256 hash of the commit by running: + # curl -L https://github.com/tensorflow/tensorflow/archive/.tar.gz | sha256sum + # and update the sha256 with the result. +-http_archive( +- name = "org_tensorflow", +- sha256 = "6b14b66a74728736359afcb491820fa3e713ea4a74bff0defe920f3453a3a0f0", +- strip_prefix = "tensorflow-b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee", +- urls = [ +- "https://github.com/tensorflow/tensorflow/archive/b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee.tar.gz", +- ], ++#http_archive( ++# name = "org_tensorflow", ++# sha256 = "6b14b66a74728736359afcb491820fa3e713ea4a74bff0defe920f3453a3a0f0", ++# strip_prefix = "tensorflow-b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee", ++# urls = [ ++# "https://github.com/tensorflow/tensorflow/archive/b5b1ff47ad250c3e38dcadef5f6bc414b0a533ee.tar.gz", ++# ], ++#) ++ ++local_repository( ++ name = "org_tensorflow", ++ path = "pathToSed", + ) + + # For development, one can use a local TF repository instead. diff --git a/easybuild/easyconfigs/j/jax/jaxlib_local-tensorflow-repo.sed b/easybuild/easyconfigs/j/jax/jaxlib_local-tensorflow-repo.sed new file mode 100644 index 00000000000..1116ca24ca9 --- /dev/null +++ b/easybuild/easyconfigs/j/jax/jaxlib_local-tensorflow-repo.sed @@ -0,0 +1,12 @@ +/^http_archive(/{ + :a;N;/\n)/!ba; + /org_tensorflow/{ + s/^/# /; + s/\n/\n# /g; + s|$|\ +local_repository(\ + name = "org_tensorflow",\ + path = "EB_TF_REPOPATH",\ +)|; + } +} diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.2.0.eb index 5d3338697be..cc565979b70 100644 --- a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.2.0.eb @@ -32,14 +32,14 @@ builddependencies = [ files_to_copy = [ (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), - (['libjbig/jbig85.h', 'libjbig/jbig.h'], 'include'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), ] sanity_check_paths = { 'files': ['lib/libjbig85.a', 'lib/libjbig.a', 'bin/pbmtojbg', 'bin/jbgtopbm', - 'include/jbig.h', + 'include/jbig.h', 'include/jbig_ar.h', ], 'dirs': ['bin', 'include', 'lib'] } diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c457de1248e --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' + +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932', # jbigkit-2.1.tar.gz + '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce', # jbigkit-2.1_libpath.patch + '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696', # jbigkit-2.1_shlib.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c6915b68bf7 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' + +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932', # jbigkit-2.1.tar.gz + '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce', # jbigkit-2.1_libpath.patch + '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696', # jbigkit-2.1_shlib.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0bbedae22a8 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' + +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932', # jbigkit-2.1.tar.gz + '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce', # jbigkit-2.1_libpath.patch + '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696', # jbigkit-2.1_shlib.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8dc21fe2bd7 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932', # jbigkit-2.1.tar.gz + '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce', # jbigkit-2.1_libpath.patch + '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696', # jbigkit-2.1_shlib.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b6086a98262 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + {'jbigkit-2.1.tar.gz': 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'}, + {'jbigkit-2.1_libpath.patch': '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce'}, + {'jbigkit-2.1_shlib.patch': '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8c90f029573 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + {'jbigkit-2.1.tar.gz': 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'}, + {'jbigkit-2.1_libpath.patch': '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce'}, + {'jbigkit-2.1_shlib.patch': '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ae9f9537e31 --- /dev/null +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'jbigkit' +version = '2.1' + +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' +description = """JBIG-KIT is a software implementation of the JBIG1 data + compression standard (ITU-T T.82), which was designed for bi-level image + data, such as scanned documents.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cl.cam.ac.uk/~mgk25/jbigkit/download'] +sources = [SOURCE_TAR_GZ] +patches = [ + '%(name)s-%(version)s_libpath.patch', + '%(name)s-%(version)s_shlib.patch', +] +checksums = [ + {'jbigkit-2.1.tar.gz': 'de7106b6bfaf495d6865c7dd7ac6ca1381bd12e0d81405ea81e7f2167263d932'}, + {'jbigkit-2.1_libpath.patch': '97c88956090097b484fcdb90e12eab82212e67ddc862f035d7c6446a696786ce'}, + {'jbigkit-2.1_shlib.patch': '54ae429e8ec949eceee0f902b676f572f1cdfbff46f77c7222acdeafb643a696'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +files_to_copy = [ + (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), + (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), +] + +sanity_check_paths = { + 'files': ['lib/libjbig85.a', 'lib/libjbig.a', + 'bin/pbmtojbg', 'bin/jbgtopbm', + 'include/jbig.h', 'include/jbig_ar.h', + ], + 'dirs': ['bin', 'include', 'lib'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-8.3.0.eb index 56ad0a98b56..127ae1d7b62 100644 --- a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-8.3.0.eb @@ -4,7 +4,8 @@ easyblock = 'MakeCp' name = 'jbigkit' version = '2.1' -homepage = '' +homepage = 'https://www.cl.cam.ac.uk/~mgk25/jbigkit/' + description = """JBIG-KIT is a software implementation of the JBIG1 data compression standard (ITU-T T.82), which was designed for bi-level image data, such as scanned documents.""" @@ -31,14 +32,14 @@ builddependencies = [ files_to_copy = [ (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), - (['libjbig/jbig85.h', 'libjbig/jbig.h'], 'include'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), ] sanity_check_paths = { 'files': ['lib/libjbig85.a', 'lib/libjbig.a', 'bin/pbmtojbg', 'bin/jbgtopbm', - 'include/jbig.h', + 'include/jbig.h', 'include/jbig_ar.h', ], 'dirs': ['bin', 'include', 'lib'] } diff --git a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-9.3.0.eb index 5a349c2cea2..17e3d06b740 100644 --- a/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/j/jbigkit/jbigkit-2.1-GCCcore-9.3.0.eb @@ -32,14 +32,14 @@ builddependencies = [ files_to_copy = [ (['libjbig/libjbig%s.%s' % (x, y) for x in ['85', ''] for y in ['a', SHLIB_EXT, SHLIB_EXT + '.0']], 'lib'), - (['libjbig/jbig85.h', 'libjbig/jbig.h'], 'include'), + (['libjbig/jbig85.h', 'libjbig/jbig.h', 'libjbig/jbig_ar.h'], 'include'), (['pbmtools/pbmtojbg', 'pbmtools/jbgtopbm'], 'bin'), ] sanity_check_paths = { 'files': ['lib/libjbig85.a', 'lib/libjbig.a', 'bin/pbmtojbg', 'bin/jbgtopbm', - 'include/jbig.h', + 'include/jbig.h', 'include/jbig_ar.h', ], 'dirs': ['bin', 'include', 'lib'] } diff --git a/easybuild/easyconfigs/j/jedi-language-server/jedi-language-server-0.39.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jedi-language-server/jedi-language-server-0.39.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..add060e8df7 --- /dev/null +++ b/easybuild/easyconfigs/j/jedi-language-server/jedi-language-server-0.39.0-GCCcore-11.3.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'jedi-language-server' +version = "0.39.0" + +homepage = 'https://github.com/pappasam/jedi-language-server' +description = """ + A Python Language Server powered by Jedi. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), + ('jedi', '0.18.1'), + ('poetry', '1.2.2'), + ('pydantic', '1.10.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('exceptiongroup', '1.1.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e'], + }), + ('cattrs', '22.2.0', { + 'checksums': ['f0eed5642399423cf656e7b66ce92cdc5b963ecafd041d1b24d136fdde7acf6d'], + }), + ('attrs', '21.4.0', { + 'modulename': 'attr', + 'checksums': ['626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd'], + }), + ('docstring-to-markdown', '0.13', { + 'checksums': ['3025c428638ececae920d6d26054546a20335af3504a145327e657e7ad7ce1ce'], + }), + ('lsprotocol', '2023.0.0', { + 'checksums': ['c9d92e12a3f4ed9317d3068226592860aab5357d93cf5b2451dc244eee8f35f2'], + }), + ('pygls', '0.12.4', { + 'checksums': ['63b859411307ed6f99fb9dd0e71be507a17ae9b3de5c5d07c497f5bddadcc46a'], + }), + ('typeguard', '2.13.3', { + 'checksums': ['00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4'], + }), + (name, version, { + 'source_tmpl': 'jedi_language_server-%(version)s.tar.gz', + 'checksums': ['8ae12605f934cf9c3fc60d02ec6d8ee5ef66441ea4f117d87e3f634bf0e6e48e'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jedi/jedi-0.18.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jedi/jedi-0.18.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5b2a8950603 --- /dev/null +++ b/easybuild/easyconfigs/j/jedi/jedi-0.18.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'jedi' +version = "0.18.1" + +homepage = 'https://jedi.readthedocs.io/en/latest/' +description = """ + Jedi is a static analysis tool for Python that is typically used in IDEs/editors plugins. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('parso', '0.8.3', { + 'checksums': ['8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0'], + }), + (name, version, { + 'checksums': ['74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..eca3a2e905d --- /dev/null +++ b/easybuild/easyconfigs/j/jedi/jedi-0.19.1-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'jedi' +version = "0.19.1" + +homepage = 'https://github.com/davidhalter/jedi' +description = """ + Jedi - an awesome autocompletion, static analysis and refactoring library for Python. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('parso', '0.8.3', { + 'checksums': ['8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0'], + }), + (name, version, { + 'checksums': ['cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python3.11/site-packages/jedi'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..721378bfdb6 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.2.1' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ed51b0b37098af4ca6ed31c22324635263f8ad6471889e0592a9c0dba9136aea'] + +builddependencies = [ + ('Autotools', '20210128'), + ('binutils', '2.36.1'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8d8d04374eb --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.2.1' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ed51b0b37098af4ca6ed31c22324635263f8ad6471889e0592a9c0dba9136aea'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8d87581a842 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.2.1' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ed51b0b37098af4ca6ed31c22324635263f8ad6471889e0592a9c0dba9136aea'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..217d5554931 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..aae1125cf83 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..356d56465fa --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..023c3001dd3 --- /dev/null +++ b/easybuild/easyconfigs/j/jemalloc/jemalloc-5.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'jemalloc' +version = '5.3.0' + +homepage = 'http://jemalloc.net' +description = """jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and + scalable concurrency support.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/jemalloc/jemalloc/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179'] + +builddependencies = [ + ('Autotools', '20231222'), + ('binutils', '2.42'), +] + +# From version 5.2.1 (or maybe earlier) it does no longer build, +# nor try to install, documentation if xsltproc is missing. +# So we can use normal installation. +preconfigopts = "./autogen.sh && " +configopts = "--with-version=%(version)s-0-g0000 " # build with version info + +sanity_check_paths = { + 'files': ['bin/jeprof', 'lib/libjemalloc.a', 'lib/libjemalloc_pic.a', 'lib/libjemalloc.%s' % SHLIB_EXT, + 'include/jemalloc/jemalloc.h'], + 'dirs': [], +} + +# jemalloc can be used via $LD_PRELOAD, but we don't enable this by +# default, you need to opt-in to it +# modextrapaths = {'LD_PRELOAD': ['lib/libjemalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb b/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb index 401fa1f345d..6525e8ac55c 100644 --- a/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/j/jhbuild/jhbuild-3.15.92-GCCcore-4.9.3.eb @@ -12,6 +12,7 @@ toolchain = {'name': 'GCCcore', 'version': '4.9.3'} sources = ['%(version)s.tar.gz'] source_urls = [('https://github.com/GNOME/jhbuild/archive/')] +checksums = [None] # jhbuild is python so it has a python dependency, but we want to give people freedom to use whatever python they # chose during a build process @@ -28,7 +29,7 @@ dependencies = [ ('flex', '2.6.0'), ('Bison', '3.0.4'), ('M4', '1.4.17'), - ('CVS', '1.11.23'), + ('ConcurrentVersionsSystem', '1.11.23'), ] # We use the simple install method as per: @@ -39,7 +40,7 @@ skipsteps = ['configure'] prebuildopts = './autogen.sh --prefix=%(installdir)s &&' # Make sure there are no "not found" in the sanitycheck output -sanity_check_commands = [('! jhbuild', 'sanitycheck| grep not\ found')] +sanity_check_commands = [('! jhbuild', r'sanitycheck| grep not\ found')] sanity_check_paths = { 'files': ['bin/jhbuild'], diff --git a/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8ff0092960e --- /dev/null +++ b/easybuild/easyconfigs/j/jiter/jiter-0.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,191 @@ +easyblock = 'CargoPythonBundle' + +name = 'jiter' +version = '0.4.1' + +homepage = 'https://github.com/pydantic/jiter/tree/main' +description = "Fast iterable JSON parser" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('ahash', '0.8.11'), + ('autocfg', '1.3.0'), + ('bencher', '0.1.5'), + ('bitflags', '2.5.0'), + ('bitvec', '1.0.1'), + ('cfg-if', '1.0.0'), + ('codspeed', '2.6.0'), + ('codspeed-bencher-compat', '2.6.0'), + ('colored', '2.1.0'), + ('equivalent', '1.0.1'), + ('funty', '2.0.0'), + ('getrandom', '0.2.15'), + ('hashbrown', '0.14.5'), + ('heck', '0.4.1'), + ('indexmap', '2.2.6'), + ('indoc', '2.0.5'), + ('itoa', '1.0.11'), + ('lazy_static', '1.4.0'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('libc', '0.2.155'), + ('lock_api', '0.4.12'), + ('memoffset', '0.9.1'), + ('num-bigint', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.3'), + ('parking_lot_core', '0.9.10'), + ('paste', '1.0.15'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.84'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('quote', '1.0.36'), + ('radium', '0.7.0'), + ('redox_syscall', '0.5.1'), + ('ryu', '1.0.18'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.203'), + ('serde_derive', '1.0.203'), + ('serde_json', '1.0.117'), + ('smallvec', '1.13.2'), + ('static_assertions', '1.1.0'), + ('syn', '2.0.66'), + ('tap', '1.0.1'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('wyz', '0.5.1'), + ('zerocopy', '0.7.34'), + ('zerocopy-derive', '0.7.34'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'jiter-0.4.1.tar.gz': '741851cf5f37cf3583f2a56829d734c9fd17334770c9a326e6d25291603d4278'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'bencher-0.1.5.tar.gz': '7dfdb4953a096c551ce9ace855a604d702e6e62d77fac690575ae347571717f5'}, + {'bitflags-2.5.0.tar.gz': 'cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1'}, + {'bitvec-1.0.1.tar.gz': '1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'codspeed-2.6.0.tar.gz': '3a104ac948e0188b921eb3fcbdd55dcf62e542df4c7ab7e660623f6288302089'}, + {'codspeed-bencher-compat-2.6.0.tar.gz': 'ceaba84ea2634603a0f199c07fa39ff4dda61f89a3f9149fb89b035bc317b671'}, + {'colored-2.1.0.tar.gz': 'cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'funty-2.0.0.tar.gz': 'e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'hashbrown-0.14.5.tar.gz': 'e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indexmap-2.2.6.tar.gz': '168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'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'}, + {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'num-bigint-0.4.5.tar.gz': 'c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.3.tar.gz': 'f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'paste-1.0.15.tar.gz': '57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.84.tar.gz': 'ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6'}, + {'pyo3-0.21.2.tar.gz': 'a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8'}, + {'pyo3-build-config-0.21.2.tar.gz': '7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50'}, + {'pyo3-ffi-0.21.2.tar.gz': '01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403'}, + {'pyo3-macros-0.21.2.tar.gz': '77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c'}, + {'pyo3-macros-backend-0.21.2.tar.gz': '08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'radium-0.7.0.tar.gz': 'dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09'}, + {'redox_syscall-0.5.1.tar.gz': '469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.203.tar.gz': '7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094'}, + {'serde_derive-1.0.203.tar.gz': '500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba'}, + {'serde_json-1.0.117.tar.gz': '455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'syn-2.0.66.tar.gz': 'c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5'}, + {'tap-1.0.1.tar.gz': '55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'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'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'wyz-0.5.1.tar.gz': '05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed'}, + {'zerocopy-0.7.34.tar.gz': 'ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087'}, + {'zerocopy-derive-0.7.34.tar.gz': '15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b'}, +] + +_rust_ver = '1.75.0' +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['741851cf5f37cf3583f2a56829d734c9fd17334770c9a326e6d25291603d4278'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/joypy/joypy-0.2.6-foss-2023a.eb b/easybuild/easyconfigs/j/joypy/joypy-0.2.6-foss-2023a.eb new file mode 100644 index 00000000000..db6e77ea520 --- /dev/null +++ b/easybuild/easyconfigs/j/joypy/joypy-0.2.6-foss-2023a.eb @@ -0,0 +1,28 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'joypy' +version = '0.2.6' + +homepage = 'https://github.com/sbebo/joypy' +description = "Joyplots in Python with matplotlib & pandas" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_WHL] +checksums = ['fffe882e8281e56e08b374a3148436cb448562ba39e4d566204c7e8ee2caddab'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jq/jq-1.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/j/jq/jq-1.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..926327a17f6 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.5-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.5' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c'] + +builddependencies = [ + ('binutils', '2.35'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ["jq --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4f44b8686e1 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210726'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..06922fad5b8 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8ffe5702c24 --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..587daad9bbd --- /dev/null +++ b/easybuild/easyconfigs/j/jq/jq-1.6-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'jq' +version = '1.6' + +homepage = 'https://stedolan.github.io/jq/' +description = """jq is a lightweight and flexible command-line JSON processor.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/stedolan/jq/releases/download/jq-%(version)s'] +sources = ['jq-%(version)s.tar.gz'] +checksums = ['5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -fi && " + +configopts = '--with-oniguruma=builtin' + +sanity_check_paths = { + 'files': ['bin/jq'], + 'dirs': [], +} + +sanity_check_commands = ['jq --help', 'jq --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.2.0.eb index 3368d5ac787..150611776a2 100644 --- a/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.2.0.eb @@ -20,6 +20,8 @@ builddependencies = [ ('CMake', '3.18.4'), ] +# disable using Valgrind during the tests to avoid failures caused by using an OS Valgrind +pretestopts = 'USE_VALGRIND=0 ' runtest = 'test' sanity_check_paths = { diff --git a/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6c6699becc4 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.15' +local_suff = '-20200726' + +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': '10.3.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['4ba9a090a42cf1e12b84c64e4464bb6fb893666841d5843cc5bef90774028882'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +# 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-c/json-c-0.15-GCCcore-11.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..90622de3d49 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.15-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.15' +local_suff = '-20200726' + +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': '11.2.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['4ba9a090a42cf1e12b84c64e4464bb6fb893666841d5843cc5bef90774028882'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +# 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-c/json-c-0.16-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..de8e08d45c8 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.16' +local_suff = '-20220414' + +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': '11.3.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['3ecaeedffd99a60b1262819f9e60d7d983844073abc74e495cb822b251904185'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +# 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-c/json-c-0.16-GCCcore-12.2.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..82ffdd9d1ab --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.16' +local_suff = '-20220414' + +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': '12.2.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['3ecaeedffd99a60b1262819f9e60d7d983844073abc74e495cb822b251904185'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# 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-c/json-c-0.16-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..50a777efb87 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.16-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'json-c' +version = '0.16' +local_suff = '-20220414' + +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': '12.3.0'} + +source_urls = ['https://github.com/json-c/json-c/archive/'] +sources = ['json-c-%%(version)s%s.tar.gz' % local_suff] +checksums = ['3ecaeedffd99a60b1262819f9e60d7d983844073abc74e495cb822b251904185'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +# 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-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-c/json-c-0.17-GCCcore-13.3.0.eb b/easybuild/easyconfigs/j/json-c/json-c-0.17-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..87642888aa1 --- /dev/null +++ b/easybuild/easyconfigs/j/json-c/json-c-0.17-GCCcore-13.3.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.3.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.42'), + ('CMake', '3.29.3'), +] + +# 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-GCC-10.2.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..fdd554d13d3 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-10.2.0.eb @@ -0,0 +1,34 @@ +# 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': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.20.1'), +] + +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/json-fortran/json-fortran-8.3.0-GCC-10.3.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..f3c50666fd3 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +# 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': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +configopts = [ + '-DUSE_GNU_INSTALL_CONVENTION=TRUE', +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libjsonfortran.a', 'lib/libjsonfortran.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..084d0843686 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +# 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': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = [ + '-DUSE_GNU_INSTALL_CONVENTION=TRUE', +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libjsonfortran.a', 'lib/libjsonfortran.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.3.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..7ba292f3ba8 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +# 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': 'GCC', 'version': '11.3.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], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..c5227d71731 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-GCC-12.2.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': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.39'), + ('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/json-fortran/json-fortran-8.3.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..074e64ca5ca --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-iccifort-2020.4.304.eb @@ -0,0 +1,34 @@ +# 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': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.20.1'), +] + +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/json-fortran/json-fortran-8.3.0-intel-compilers-2022.0.1.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.0.1.eb new file mode 100644 index 00000000000..877f807c977 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.0.1.eb @@ -0,0 +1,34 @@ +# 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.0.1'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +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/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/json-fortran/json-fortran-8.3.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..5dd55223ef0 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.3.0-intel-compilers-2022.2.1.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.2.1'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5fe9ad709a726416cec986886503e0526419742e288c4e43f63c1c22026d1e8a'] + +builddependencies = [ + ('binutils', '2.39'), + ('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/json-fortran/json-fortran-8.5.2-GCC-13.2.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.5.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..da205b23c09 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.5.2-GCC-13.2.0.eb @@ -0,0 +1,32 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'json-fortran' +version = '8.5.2' + +homepage = 'https://github.com/jacobwilliams/json-fortran' +description = "JSON-Fortran: A Modern Fortran JSON API" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ba7243ab28d4d06c5d0baef27dab0041cee0f050dea9ec3a854a03f4e3e9667a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +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/json-fortran/json-fortran-8.5.2-intel-compilers-2023.2.1.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.5.2-intel-compilers-2023.2.1.eb new file mode 100644 index 00000000000..50d89ee34e2 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-8.5.2-intel-compilers-2023.2.1.eb @@ -0,0 +1,32 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'json-fortran' +version = '8.5.2' + +homepage = 'https://github.com/jacobwilliams/json-fortran' +description = "JSON-Fortran: A Modern Fortran JSON API" + +toolchain = {'name': 'intel-compilers', 'version': '2023.2.1'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ba7243ab28d4d06c5d0baef27dab0041cee0f050dea9ec3a854a03f4e3e9667a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +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/json-fortran/json-fortran-9.0.2-GCC-12.3.0.eb b/easybuild/easyconfigs/j/json-fortran/json-fortran-9.0.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..03dceec3b87 --- /dev/null +++ b/easybuild/easyconfigs/j/json-fortran/json-fortran-9.0.2-GCC-12.3.0.eb @@ -0,0 +1,32 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'json-fortran' +version = '9.0.2' + +homepage = 'https://github.com/jacobwilliams/json-fortran' +description = "JSON-Fortran: A Modern Fortran JSON API" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/jacobwilliams/json-fortran/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a599a77e406e59cdb7672d780e69156b6ce57cb8ce515d21d1744c4065a85976'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.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/junos-eznc/junos-eznc-2.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/junos-eznc/junos-eznc-2.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ceaec648de3 --- /dev/null +++ b/easybuild/easyconfigs/j/junos-eznc/junos-eznc-2.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'junos-eznc' +version = '2.7.1' + +homepage = 'https://github.com/Juniper/py-junos-eznc' +description = "Python library for Junos automation." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('lxml', '4.9.2'), + ('PyYAML', '6.0'), + ('Python-bundle-PyPI', '2023.06'), + ('bcrypt', '4.0.1'), +] + +exts_list = [ + ('yamlordereddictloader', '0.4.2', { + 'checksums': ['36af2f6210fcff5da4fc4c12e1d815f973dceb41044e795e1f06115d634bca13'], + }), + ('transitions', '0.9.2', { + 'checksums': ['2f8490dbdbd419366cef1516032ab06d07ccb5839ef54905e842a472692d4204'], + }), + ('scp', '0.15.0', { + 'checksums': ['f1b22e9932123ccf17eebf19e0953c6e9148f589f93d91b872941a696305c83f'], + }), + ('pyserial', '3.5', { + 'modulename': 'serial', + 'checksums': ['3c77e014170dfffbd816e6ffc205e9842efb10be9f58ec16d3e8675b4925cddb'], + }), + ('ncclient', '0.6.15', { + 'checksums': ['6757cb41bc9160dfe47f22f5de8cf2f1adf22f27463fb50453cc415ab96773d8'], + }), + ('paramiko', '3.4.0', { + # Juniper fork of paramiko - compatible with junos-eznc + 'source_urls': ['https://github.com/Juniper/paramiko/archive/'], + 'sources': [{'download_filename': 'v%(version)s-JNPR.tar.gz', 'filename': '%(name)s-%(version)s-JNPR.tar.gz'}], + 'checksums': ['6b3b62e18a2b693169eaa50a7cdd2ab5637fc423205ce85e109cb37722f9eeda'], + }), + (name, version, { + 'modulename': 'jnpr.junos', + # delete 'os.system("pip install git+https://github.com/Juniper/paramiko.git@v3.4.0-JNPR")' from setup.py + 'preinstallopts': "sed -i '/pip install/d' setup.py && ", + 'checksums': ['371f0298bf03e0cb4c017c43f6f4122263584eda0d690d0112e93f13daae41ac'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-collaboration/jupyter-collaboration-2.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-collaboration/jupyter-collaboration-2.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1755481085e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-collaboration/jupyter-collaboration-2.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-collaboration' +version = "2.1.1" + +homepage = 'https://github.com/jupyterlab/jupyter-collaboration' +description = """JupyterLab Real-Time Collaboration is a Jupyter Server Extension and JupyterLab +extensions providing support for Y documents and adding collaboration UI +elements in JupyterLab.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), + ('maturin', '1.3.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('JupyterLab', '4.2.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('sqlite_anyio', '0.2.0', { + 'checksums': ['9ecbcddf105e5862f7975a9827b684a19a987aad46f10699eadb22ea33bbd060'], + }), + ('pycrdt', '0.8.27', { + 'checksums': ['a486a967ab82d92e51211757d888367b9d1882cfd4db6199485a8fd3d2271dce'], + }), + ('pycrdt_websocket', '0.13.4', { + 'checksums': ['dce8259345ac14e08e9cf124cd1d66ea1b9d17ab1af79e63f50a611fb676421c'], + }), + ('jupyter_ydoc', '2.0.1', { + 'checksums': ['716dda8cb8af881fec2fbc88aea3fb0d3bb24bbeb80a99a8aff2e01d089d5b0d'], + }), + ('jupyter_server_fileid', '0.9.2', { + 'checksums': ['ffb11460ca5f8567644f6120b25613fca8e3f3048b38d14c6e3fe1902f314a9b'], + }), + ('jupyter_collaboration', version, { + 'checksums': ['4f50c25c6d81126c16deaf92d2bd78a39b2fcb86690dce696b4006b740d71c1f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter-fileid'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'etc/jupyter', 'share/jupyter'], +} + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..83241cc32e2 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = "PythonBundle" + +name = 'jupyter-contrib-nbextensions' +version = '0.7.0' + +homepage = 'https://github.com/ipython-contrib/jupyter_contrib_nbextensions' +description = 'A collection of various notebook extensions for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('jupyter_contrib_core', '0.4.2', { + 'checksums': ['1887212f3ca9d4487d624c0705c20dfdf03d5a0b9ea2557d3aaeeb4c38bdcabb'], + }), + ('jupyter_highlight_selected_word', '0.2.0', { + 'checksums': ['9fa740424859a807950ca08d2bfd28a35154cd32dd6d50ac4e0950022adc0e7b'], + }), + ('jupyter_nbextensions_configurator', '0.6.1', { + 'checksums': ['4b9e1270ccc1f8e0a421efb8979a737f586813023a4855b9453f61c3ca599b82'], + }), + ('jupyter_contrib_nbextensions', version, { + 'checksums': ['06e33f005885eb92f89cbe82711e921278201298d08ab0d886d1ba09e8c3e9ca'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/jupyter-contrib', 'bin/jupyter-contrib-nbextension', 'bin/jupyter-nbextensions_configurator'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1e0ea2bdea5 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-contrib-nbextensions/jupyter-contrib-nbextensions-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,62 @@ +easyblock = "PythonBundle" + +name = 'jupyter-contrib-nbextensions' +version = '0.7.0' + +homepage = 'https://github.com/ipython-contrib/jupyter_contrib_nbextensions' +description = 'A collection of various notebook extensions for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), + ('jupyter-server', '2.7.2'), +] + +use_pip = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('nbclassic', '1.0.0', { + 'checksums': ['0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'], + }), + # need jupyter_client in v7 - notebook 6.5.7 has requirement jupyter-client<8,>=5.3.4 + ('jupyter_client', '7.4.9', { + 'checksums': ['52be28e04171f07aed8f20e1616a5a552ab9fee9cbbe6c1896ae170c3880d392'], + }), + # use notebook v6, in v7 the extension are moved to jupyter lab + ('notebook', '6.5.7', { + 'checksums': ['04eb9011dfac634fbd4442adaf0a8c27cd26beef831fe1d19faf930c327768e4'], + }), + ('jupyter_contrib_core', '0.4.2', { + 'checksums': ['1887212f3ca9d4487d624c0705c20dfdf03d5a0b9ea2557d3aaeeb4c38bdcabb'], + }), + ('jupyter_highlight_selected_word', '0.2.0', { + 'checksums': ['9fa740424859a807950ca08d2bfd28a35154cd32dd6d50ac4e0950022adc0e7b'], + }), + ('jupyter_nbextensions_configurator', '0.6.3', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['cece496f3f62cf80bb0b04867ea463c32ed5db19ff5814fe18a3a7f1bb9da95b'], + }), + ('jupyter_contrib_nbextensions', version, { + 'checksums': ['06e33f005885eb92f89cbe82711e921278201298d08ab0d886d1ba09e8c3e9ca'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/jupyter-contrib', 'bin/jupyter-contrib-nbextension', 'bin/jupyter-nbextensions_configurator'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..095d491ef49 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = "PythonBundle" + +name = 'jupyter-matlab-proxy' +version = '0.12.2' + +homepage = 'https://github.com/mathworks/jupyter-matlab-proxy' +description = 'MATLAB Integration for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server-proxy', '4.0.0'), + ('matlab-proxy', '0.18.1'), +] + +use_pip = True + +exts_list = [ + ('jupyter_matlab_proxy', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['2f1fcb8cba3b60ceccfbaa118ce1de0ca54d6c630c6d6ec61c052dca7f62cb6b'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +sanity_check_commands = [ + "python -c 'import jupyter_matlab_proxy'", + "python -c 'import jupyter_matlab_kernel'", +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7081ae11f7f --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = "PythonPackage" + +name = 'jupyter-matlab-proxy' +version = '0.3.4' + +homepage = 'https://github.com/mathworks/jupyter-matlab-proxy' +description = 'MATLAB Integration for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = ['jupyter-matlab-proxy-%(version)s_eb-matlab-license-file.patch'] +checksums = [ + '05235c77aadf6ffb2b7193f6c6e4962eff68e4e5908370525363180d81bf9348', # jupyter-matlab-proxy-0.3.4.tar.gz + # jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch + '6d83f73019313394982b7f8eb1d28859442460668284e4d86e2c5d465cfb00ba', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('nodejs', '14.17.0'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('JupyterLab', '3.0.16'), # Contains most of the jupyter dependencies we need. + ('jupyter-server-proxy', '3.2.1'), + ('Xvfb', '1.20.11'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/matlab-jupyter-app'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +modloadmsg = 'jupyter-matlab-proxy requires MATLAB to be loaded separately (2020b or later)' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch new file mode 100644 index 00000000000..7f7c8ffd3a0 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.3.4_eb-matlab-license-file.patch @@ -0,0 +1,27 @@ +Use the license file from EB's MATLAB installation by default +Author: Mikael Öhman micketeer@gmail.com +--- jupyter_matlab_proxy/settings.py.orig 2021-11-26 14:55:13.268435797 +0100 ++++ jupyter_matlab_proxy/settings.py 2021-11-26 15:29:37.560690125 +0100 +@@ -102,6 +102,13 @@ + return settings + + else: ++ if mwi_env.get_env_name_network_license_manager() in os.environ: ++ license_file = os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ elif 'EBROOTMATLAB' in os.environ: ++ license_file = os.environ.get('EBROOTMATLAB') + '/licenses/network.lic' ++ else: ++ license_file = None ++ + matlab_startup_file = str( + Path(__file__).resolve().parent / "matlab" / "startup.m" + ) +@@ -127,7 +134,7 @@ + "mwapikey": str(uuid.uuid4()), + "matlab_protocol": "https", + "nlm_conn_str": mwi_validators.validate_mlm_license_file( +- os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ license_file + ), + "matlab_config_file": Path.home() / ".matlab" / "proxy_app_config.json", + "ws_env": ws_env, diff --git a/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9c9d20a4914 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-matlab-proxy/jupyter-matlab-proxy-0.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = "PythonBundle" + +name = 'jupyter-matlab-proxy' +version = '0.5.0' + +homepage = 'https://github.com/mathworks/jupyter-matlab-proxy' +description = 'MATLAB Integration for Jupyter' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyter-server-proxy', '3.2.2'), + ('jupyter-contrib-nbextensions', '0.7.0'), + ('matlab-proxy', '0.5.4'), +] + +use_pip = True + +exts_list = [ + ('jupyter_matlab_proxy', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['50425827b1ac157c8aa52fa44435ad33013520605699033bb2a1d97441b6a22b'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +sanity_check_commands = [ + "python -c 'import jupyter_matlab_proxy'", + "python -c 'import jupyter_matlab_kernel'", +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..11fb4cfd097 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1-GCCcore-10.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = '0.6.1' + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = """Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('IPython', '7.25.0'), +] + +use_pip = True + +exts_list = [ + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('anyio', '3.3.4', { + 'checksums': ['67da67b5b21f96b9d3d65daa6ea99f5d5282cb09f50eb4456f8fb51dffefc3ff'], + }), + ('requests-unixsocket', '0.3.0', { + 'checksums': ['28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e'], + }), + ('jupyter_server', '1.11.1', { + 'checksums': ['ab7ab1cc38512f15026cbcbb96300fb46ec8b24aa162263d9edd00e0a749b1e8'], + }), + (name, version, { + 'patches': ['jupyter-resource-usage-0.6.1_compatibility.patch'], + 'checksums': [ + '8b766b9dded49e582cc38ebeb7f19af2eae50ccf77730afbe96f4a09def9874b', # jupyter-resource-usage-0.6.1.tar.gz + # jupyter-resource-usage-0.6.1_compatibility.patch + 'b030065413bac04bd40088cd92be98bac3e92d68189d03d338986444af3953f4', + ], + }), +] + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter/', +} + +sanity_check_paths = { + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'lib/python%(pyshortver)s/site-packages/jupyter_server' + ], + 'files': ['bin/jupyter-server'], +} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1_compatibility.patch b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1_compatibility.patch new file mode 100644 index 00000000000..af8d04126b3 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.1_compatibility.patch @@ -0,0 +1,17 @@ +# Author: Caspar van Leeuwen +# Institute: SURF +# A 'jupyter serverextension enable --py jupyter_resource_usage' would fail, because +# _jupyter_server_extension_paths was not defined, and that's what notebook 6.4.0 +# is looking for when loading extensions. This property got renamed in later versions +# of notebook. We define it here in the __init__ for backward compatibility. +# See https://github.com/jupyter-server/jupyter-resource-usage/issues/91 +diff -Nru jupyter-resource-usage-0.6.1.orig/jupyter_resource_usage/__init__.py jupyter-resource-usage-0.6.1/jupyter_resource_usage/__init__.py +--- jupyter-resource-usage-0.6.1.orig/jupyter_resource_usage/__init__.py 2022-07-08 18:35:27.007610190 +0200 ++++ jupyter-resource-usage-0.6.1/jupyter_resource_usage/__init__.py 2022-07-08 18:35:59.866559304 +0200 +@@ -35,4 +35,6 @@ + ] + + ++# For backward compatibility + load_jupyter_server_extension = load_jupyter_server_extension ++_jupyter_server_extension_paths = _jupyter_server_extension_points diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..37c5915ff8e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2-GCCcore-10.3.0.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = '0.6.2' + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = """Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('IPython', '7.25.0'), +] + +use_pip = True + +exts_list = [ + ('websocket-client', '1.4.1', { + 'modulename': 'websocket', + 'checksums': ['f9611eb65c8241a67fb373bef040b3cf8ad377a9f6546a12b620b6511e8ea9ef'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('requests-unixsocket', '0.3.0', { + 'checksums': ['28304283ea9357d45fff58ad5b11e47708cfbf5806817aa59b2a363228ee971e'], + }), + ('jupyter_server', '1.11.1', { + 'checksums': ['ab7ab1cc38512f15026cbcbb96300fb46ec8b24aa162263d9edd00e0a749b1e8'], + }), + (name, version, { + 'patches': [ + 'jupyter-resource-usage-0.6.1_compatibility.patch', + 'jupyter-resource-usage-0.6.2_fix_update_cpu.patch', + ], + 'checksums': [ + '735acfe9516c68d1f50c25f74b236075da2adde49f734b24f6d2578ab9aa8d0c', # jupyter-resource-usage-0.6.2.tar.gz + # jupyter-resource-usage-0.6.1_compatibility.patch + 'b030065413bac04bd40088cd92be98bac3e92d68189d03d338986444af3953f4', + # jupyter-resource-usage-0.6.2_fix_update_cpu.patch + 'e2d2ea15211c90faebb57c1170a105f94fe0fd28055a69969dd53dad9ff7f990', + ], + }), +] + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter/', +} + +sanity_check_paths = { + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'lib/python%(pyshortver)s/site-packages/jupyter_server' + ], + 'files': ['bin/jupyter-server'], +} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch new file mode 100644 index 00000000000..181500591a5 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.2_fix_update_cpu.patch @@ -0,0 +1,16 @@ +# Author: Caspar van Leeuwen, SURF +# If the CPU was idle (i.e. cpuPercent=0), the display showing CPU usage wouldn't update, +# because of a faulty logic. This patch fixes that. +# See https://github.com/jupyter-server/jupyter-resource-usage/pull/147 +diff -Nru jupyter-resource-usage-0.6.2.orig/jupyter_resource_usage/static/main.js jupyter-resource-usage-0.6.2/jupyter_resource_usage/static/main.js +--- jupyter-resource-usage-0.6.2.orig/jupyter_resource_usage/static/main.js 2022-09-30 19:02:36.892711996 +0200 ++++ jupyter-resource-usage-0.6.2/jupyter_resource_usage/static/main.js 2022-09-30 19:02:59.994787990 +0200 +@@ -74,7 +74,7 @@ + + // Handle CPU display + var cpuPercent = data['cpu_percent']; +- if (cpuPercent) { ++ if (cpuPercent !== undefined) { + // Remove hide CSS class if the metrics API gives us a CPU percent to display + $('#jupyter-resource-usage-display-cpu').removeClass('jupyter-resource-usage-hide'); + var maxCpu = data['cpu_count']; diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3de71514e8c --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-0.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = '0.6.3' + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = """Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['230faa15c19a8aa0456028c327c9c00759d2ef5713096ee3a0eb82c85be8d9c2'], + }), +] + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter/', +} + +sanity_check_paths = { + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + ], + 'files': [], +} + +sanity_pip_check = True + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..0eadab83cb0 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = "1.0.0" + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = "Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('jupyter_resource_usage', version, { + 'checksums': ['74b35b5040c6034e06062f72f8bc5b4a473549e009151be488dd3f61866b854b'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'share/jupyter' + ], +} + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3062f3f80b5 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-resource-usage/jupyter-resource-usage-1.0.2-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-resource-usage' +version = "1.0.2" + +homepage = 'https://github.com/jupyter-server/jupyter-resource-usage' +description = "Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('jupyter_resource_usage', version, { + 'checksums': ['20babc5a63fd53724b12e50b9046ca07784fb56004c39d0442990116fb925a4b'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [ + 'lib/python%(pyshortver)s/site-packages/jupyter_resource_usage', + 'share/jupyter' + ], +} + +# Add the notebook extension to the search path for jupyter notebooks +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..858508c7559 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = "PythonPackage" + +name = 'jupyter-rsession-proxy' +version = '2.1.0' + +homepage = 'https://github.com/jupyterhub/jupyter-rsession-proxy' +description = "Jupyter extensions for running an RStudio rsession proxy" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ddbae33bb8a3e8915b76206b9255ba8517c56c1b021241f59d5448fcce2cd64e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyter-server-proxy', '3.2.2'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8a4e803d985 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-rsession-proxy/jupyter-rsession-proxy-2.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = 'jupyter-rsession-proxy' +version = '2.2.0' + +homepage = 'https://github.com/jupyterhub/jupyter-rsession-proxy' +description = "Jupyter extensions for running an RStudio rsession proxy" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4073f4b4241fe6e976de2c3d49a438b7d82589712e9ee06c19f325a8ec557018'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('jupyter-server-proxy', '4.0.0'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..46515f5f9c2 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '3.2.1' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('JupyterHub', '1.4.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.8.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('anyio', version, { + 'checksums': ['07968db9fa7c1ca5435a133dc62f988d84ef78e1d9b22814a59d1c62618afbc5'], + }), + ('requests-unixsocket', '0.2.0', { + 'checksums': ['9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea'], + }), + ('websocket-client', '1.1.0', { + 'modulename': 'websocket', + 'checksums': ['b68e4959d704768fa20e35c9d508c8dc2bbc041fd8d267c0d7345cffe2824568'], + }), + ('jupyter-server', '1.9.0', { + 'source_tmpl': 'jupyter_server-%(version)s.tar.gz', + 'checksums': ['7d19006380f6217458a9db309b54e3dab87ced6c06329c61823907bef2a6f51b'], + }), + ('simpervisor', '0.4', { + 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], + }), + (name, version, { + 'checksums': ['080e9910592d06422bdd93dfc1fa8350c6fdaec9fbbd050630e90f7a5593a4f7'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..883460432b6 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '3.2.2' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.8.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '0.4', { + 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], + }), + (name, version, { + 'checksums': ['54690ea9467035d187c930c599e76065017baf16e118e6eebae0d3a008c4d946'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +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 new file mode 100644 index 00000000000..c2b3d7a52c4 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-3.2.2-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '3.2.2' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.8.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '0.4', { + 'checksums': ['cec79e13cdbd6edb04a5c98c1ff8d4bd9713e706c069226909a1ef0e89d393c5'], + }), + (name, version, { + 'checksums': ['54690ea9467035d187c930c599e76065017baf16e118e6eebae0d3a008c4d946'], + }), +] + +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 new file mode 100644 index 00000000000..96efada6218 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '4.0.0' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.2'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.8.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '1.0.0', { + 'checksums': ['7eb87ca86d5e276976f5bb0290975a05d452c6a7b7f58062daea7d8369c823c1'], + }), + ('jupyter_server_proxy', version, { + 'checksums': ['f5dc12dd204baca71b013df3522c14403692a2d37cb7adcd77851dbab71533b5'], + }), +] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c71b66da33e --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server-proxy/jupyter-server-proxy-4.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server-proxy' +version = '4.1.2' + +homepage = 'https://github.com/jupyterhub/jupyter-server-proxy' +description = """Jupyter Server Proxy lets you run arbitrary external processes +(such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) +alongside your notebook server and provide authenticated web access to them +using a path like /rstudio next to others like /lab. Alongside the python +package that provides the main functionality, the JupyterLab extension +(@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window +to get to RStudio for example.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('jupyter-server', '2.14.0'), + ('OpenSSL', '1.1', '', SYSTEM), + ('aiohttp', '3.9.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('simpervisor', '1.0.0', { + 'checksums': ['7eb87ca86d5e276976f5bb0290975a05d452c6a7b7f58062daea7d8369c823c1'], + }), + ('jupyter_server_proxy', version, { + 'checksums': ['6fd8ce88a0100e637b48f1d3aa32f09672bcb2813dc057d70567f0a40b1237f5'], + }), +] + +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-core-5.7.2_fix_jupyter_path.patch b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch new file mode 100644 index 00000000000..04788ab7eb6 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-core-5.7.2_fix_jupyter_path.patch @@ -0,0 +1,32 @@ +# 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 +--- a/jupyter_core/paths.py ++++ b/jupyter_core/paths.py +@@ -228,6 +228,10 @@ + + ENV_JUPYTER_PATH: list[str] = [str(Path(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 +@@ -306,6 +310,10 @@ + ] + ENV_CONFIG_PATH: list[str] = [str(Path(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]: + """Return the search path for Jupyter config files as a list. diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb new file mode 100755 index 00000000000..1057a0deaff --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-1.21.0-GCCcore-11.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = '1.21.0' + +homepage = "https://jupyter.org/" +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('notebook_shim', '0.1.0', { + 'checksums': ['7897e47a36d92248925a2143e3596f19c60597708f7bef50d81fcd31d7263e85'], + }), + ('nbclassic', '0.4.8', { + 'checksums': ['c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283'], + }), + ('jupyter_server', version, { + 'checksums': ['d0adca19913a3763359be7f0b8c2ea8bfde356f4b8edd8e3149d7d0fbfaa248b'], + }), +] + +modextrapaths = { + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ee8dfa23154 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.14.0-GCCcore-13.2.0.eb @@ -0,0 +1,185 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = "2.14.0" + +homepage = 'https://jupyter.org/' +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.3.1'), # needed by rpds_py + ('hatch-jupyter-builder', '0.9.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), + ('PyYAML', '6.0.1'), + ('PyZMQ', '25.1.2'), + ('tornado', '6.4'), + ('BeautifulSoup', '4.12.2'), # needed by nbconvert +] + +sanity_pip_check = True +use_pip = True + +# WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them +# use the versions published in a single release commit instead of blindly pushing to last available version, +# see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa + +exts_list = [ + ('websocket_client', '1.8.0', { + 'modulename': 'websocket', + 'checksums': ['3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da'], + }), + ('terminado', '0.18.1', { + 'checksums': ['de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e'], + }), + ('Send2Trash', '1.8.3', { + 'checksums': ['b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf'], + }), + ('prometheus_client', '0.20.0', { + 'checksums': ['287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89'], + }), + ('overrides', '7.7.0', { + 'checksums': ['55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a'], + }), + ('jupyter_core', '5.7.2', { + 'patches': ['jupyter-core-%(version)s_fix_jupyter_path.patch'], + 'checksums': [ + {'jupyter_core-5.7.2.tar.gz': 'aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9'}, + {'jupyter-core-5.7.2_fix_jupyter_path.patch': + '1ed5088728c1ad49687b66e31ed23965c36645ad285693785b2b96c4ff1b2f93'}, + ], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + ('tinycss2', '1.3.0', { + 'checksums': ['152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d'], + }), + ('pandocfilters', '1.5.1', { + 'checksums': ['002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e'], + }), + ('mistune', '3.0.2', { + 'checksums': ['fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab_pygments', '0.3.0', { + 'checksums': ['721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('bleach', '6.1.0', { + 'checksums': ['0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe'], + }), + ('nbformat', '5.10.4', { + 'checksums': ['322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a'], + }), + ('nbclient', '0.10.0', { + 'checksums': ['4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09'], + }), + ('jupyter_client', '8.6.1', { + 'checksums': ['e842515e2bab8e19186d89fdfea7abd15e39dd581f94e399f00e2af5a1652d3f'], + }), + ('nbconvert', '7.16.4', { + 'checksums': ['86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4'], + }), + ('jupyter_server_terminals', '0.5.3', { + 'checksums': ['5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269'], + }), + ('rfc3986_validator', '0.1.1', { + 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], + }), + ('rfc3339_validator', '0.1.4', { + 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], + }), + ('rpds_py', '0.18.1', { + 'modulename': 'rpds', + 'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jsonschema_specifications', '2023.12.1', { + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('jsonschema', '4.22.0', { + 'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'], + }), + ('jupyter_events', '0.10.0', { + 'checksums': ['670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2_cffi', '23.1.0', { + 'modulename': 'argon2', + 'checksums': ['879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('anyio', '4.3.0', { + 'checksums': ['f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6'], + }), + ('jupyter_server', version, { + 'checksums': ['659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677'], + }), + ('jupyterlab_widgets', '3.0.10', { + 'checksums': ['04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0'], + }), + ('widgetsnbextension', '4.0.10', { + 'checksums': ['64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f'], + }), + ('comm', '0.2.2', { + 'checksums': ['3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e'], + }), + ('ipywidgets', '8.1.2', { + 'checksums': ['d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9'], + }), + # The following few extensions are needed for e.g. JupyterLab but also nbclassic. + # Avoid duplication by making it part of this bundle + ('notebook_shim', '0.2.4', { + 'checksums': ['b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb'], + }), + ('nest_asyncio', '1.6.0', { + 'checksums': ['6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe'], + }), + ('ipykernel', '6.29.4', { + 'checksums': ['3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter'], + 'dirs': ['share/jupyter', 'etc/jupyter'], +} + +sanity_check_commands = ['jupyter --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..77484efe933 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.0-GCCcore-12.2.0.eb @@ -0,0 +1,191 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = '2.7.0' + +homepage = "https://jupyter.org/" +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +# WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them +# use the versions published in a single release commit instead of blindly pushing to last available version, +# see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa + +exts_list = [ + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('hatch_nodejs_version', '0.3.1', { + 'checksums': ['0e55fd713d92c5c1ccfee778efecaa780fd8bcd276d4ca7aff9f6791f6f76d9c'], + }), + ('hatch_jupyter_builder', '0.8.3', { + 'checksums': ['0dbd14a8aef6636764f88a8fd1fcc9a91921e5c50356e6aab251782f264ae960'], + }), + ('websocket-client', '1.6.1', { + 'modulename': 'websocket', + 'checksums': ['c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd'], + }), + ('tornado', '6.3.2', { + 'checksums': ['4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba'], + }), + ('terminado', '0.17.1', { + 'checksums': ['6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333'], + }), + ('Send2Trash', '1.8.2', { + 'checksums': ['c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312'], + }), + ('pyzmq', '25.1.0', { + 'modulename': 'zmq', + 'checksums': ['80c41023465d36280e801564a69cbfce8ae85ff79b080e1913f6e90481fb8957'], + }), + ('prometheus_client', '0.17.1', { + 'checksums': ['21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091'], + }), + ('overrides', '7.3.1', { + 'checksums': ['8b97c6c1e1681b78cbc9424b138d880f0803c2254c5ebaabdde57bb6c62093f2'], + }), + ('jupyter_core', '5.3.1', { + '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'], + }), + ('tinycss2', '1.2.1', { + 'checksums': ['8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627'], + }), + ('pandocfilters', '1.5.0', { + 'checksums': ['0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38'], + }), + ('mistune', '3.0.1', { + 'checksums': ['e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab_pygments', '0.2.2', { + 'checksums': ['7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('bleach', '6.0.0', { + 'checksums': ['1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('nbformat', '5.9.1', { + 'checksums': ['3a7f52d040639cbd8a3890218c8b0ffb93211588c57446c90095e32ba5881b5d'], + }), + ('nbclient', '0.8.0', { + 'checksums': ['f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55'], + }), + ('jupyter_client', '8.3.0', { + 'checksums': ['3af69921fe99617be1670399a0b857ad67275eefcfa291e2c81a160b7b650f5f'], + }), + ('nbconvert', '7.7.2', { + 'checksums': ['36d3e7bf32f0c075878176cdeeb645931c994cbed5b747bc7a570ba8cd2321f3'], + }), + ('jupyter_server_terminals', '0.4.4', { + 'checksums': ['57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d'], + }), + ('rfc3986_validator', '0.1.1', { + 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], + }), + ('rfc3339_validator', '0.1.4', { + 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jupyter_events', '0.6.3', { + 'checksums': ['9a6e9995f75d1b7146b436ea24d696ce3a35bfa8bfe45e0c33c334c79464d0b3'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2-cffi', '21.3.0', { + 'modulename': 'argon2', + 'checksums': ['d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.7.1', { + 'checksums': ['44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780'], + }), + ('jupyter_server', version, { + 'checksums': ['36da0a266d31a41ac335a366c88933c17dfa5bb817a48f5c02c16d303bc9477f'], + }), + ('notebook_shim', '0.2.3', { + 'checksums': ['f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9'], + }), + ('nest_asyncio', '1.5.7', { + 'checksums': ['6a80f7b98f24d9083ed24608977c09dd608d83f91cccc24c9d2cba6d10e01c10'], + }), + ('ipykernel', '6.25.0', { + 'checksums': ['e342ce84712861be4b248c4a73472be4702c1b0dd77448bfd6bcfb3af9d5ddf9'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.6.7', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['53f7a456bc50706a0eaabecf2d3ce44c4d5010e46dfc65b6b81a518b42866267'], + }), + ('comm', '0.1.3', { + 'checksums': ['a61efa9daffcfbe66fd643ba966f846a624e4e6d6767eda9cf6e993aadaab93e'], + }), + ('nbclassic', '1.0.0', { + 'checksums': ['0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'], + }), + ('jupyterlab_widgets', '3.0.8', { + 'checksums': ['d428ab97b8d87cc7c54cbf37644d6e0f0e662f23876e05fa460a73ec3257252a'], + }), + ('widgetsnbextension', '4.0.8', { + 'checksums': ['9ec291ba87c2dfad42c3d5b6f68713fa18be1acd7476569516b2431682315c17'], + }), + ('ipywidgets', '8.0.7', { + 'checksums': ['50ace0a8886e9a0d68b980db82f94c25d55d21ff2340ed36f802dd9365e94acf'], + }), +] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +sanity_check_paths = { + 'files': [ + 'bin/jupyter', + ], + 'dirs': [ + 'share/jupyter', + ], +} + +sanity_check_commands = [ + "jupyter --help", +] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..9da7cc3f037 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-server/jupyter-server-2.7.2-GCCcore-12.3.0.eb @@ -0,0 +1,194 @@ +easyblock = 'PythonBundle' + +name = 'jupyter-server' +version = "2.7.2" + +homepage = 'https://jupyter.org/' +description = """The Jupyter Server provides the backend (i.e. the core services, APIs, and REST +endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and +Voila.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.1.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('hatchling', '1.18.0'), # needed as dependency for hatch_jupyter_builder + ('IPython', '8.14.0'), + ('BeautifulSoup', '4.12.2'), # needed by nbconvert + ('PyYAML', '6.0'), + ('PyZMQ', '25.1.1'), + ('tornado', '6.3.2'), +] + +sanity_pip_check = True +use_pip = True + +# WARNING: the versions of ipywidgets, widgetsnbextension and jupyterlab_widgets are tied between them +# use the versions published in a single release commit instead of blindly pushing to last available version, +# see for instance https://github.com/jupyter-widgets/ipywidgets/commit/b728926f58ed3ffef08f716998ac6c226dafc1aa + +exts_list = [ + ('hatch_nodejs_version', '0.3.1', { + 'checksums': ['0e55fd713d92c5c1ccfee778efecaa780fd8bcd276d4ca7aff9f6791f6f76d9c'], + }), + ('hatch_jupyter_builder', '0.8.3', { + 'checksums': ['0dbd14a8aef6636764f88a8fd1fcc9a91921e5c50356e6aab251782f264ae960'], + }), + ('websocket-client', '1.6.1', { + 'modulename': 'websocket', + 'checksums': ['c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd'], + }), + ('terminado', '0.17.1', { + 'checksums': ['6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333'], + }), + ('Send2Trash', '1.8.2', { + 'checksums': ['c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312'], + }), + ('prometheus_client', '0.17.1', { + 'checksums': ['21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091'], + }), + ('overrides', '7.4.0', { + 'checksums': ['9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757'], + }), + ('jupyter_core', '5.3.1', { + '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'], + }), + ('tinycss2', '1.2.1', { + 'checksums': ['8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627'], + }), + ('pandocfilters', '1.5.0', { + 'checksums': ['0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38'], + }), + ('mistune', '3.0.1', { + 'checksums': ['e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c'], + }), + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('jupyter_packaging', '0.12.3', { + 'checksums': ['9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4'], + }), + ('jupyterlab_pygments', '0.2.2', { + 'checksums': ['7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('bleach', '6.0.0', { + 'checksums': ['1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('nbformat', '5.9.2', { + 'checksums': ['5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192'], + }), + ('nbclient', '0.8.0', { + 'checksums': ['f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55'], + }), + ('jupyter_client', '8.3.0', { + 'checksums': ['3af69921fe99617be1670399a0b857ad67275eefcfa291e2c81a160b7b650f5f'], + }), + ('nbconvert', '7.7.4', { + 'checksums': ['1113d039fa3fc3a846ffa5a3b0a019e85aaa94c566a09fa0c400fb7638e46087'], + }), + ('jupyter_server_terminals', '0.4.4', { + 'checksums': ['57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d'], + }), + ('rfc3986_validator', '0.1.1', { + 'checksums': ['3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055'], + }), + ('rfc3339_validator', '0.1.4', { + 'checksums': ['138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b'], + }), + ('rpds_py', '0.9.2', { + 'modulename': 'rpds', + 'checksums': ['8d70e8f14900f2657c249ea4def963bed86a29b81f81f5b76b5a9215680de945'], + }), + ('referencing', '0.30.2', { + 'checksums': ['794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0'], + }), + ('python-json-logger', '2.0.7', { + 'modulename': 'pythonjsonlogger', + 'checksums': ['23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c'], + }), + ('jsonschema_specifications', '2023.7.1', { + 'checksums': ['c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb'], + }), + ('jsonschema', '4.18.0', { + 'checksums': ['8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4'], + }), + ('jupyter_events', '0.7.0', { + 'checksums': ['7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615'], + }), + ('argon2-cffi-bindings', '21.2.0', { + 'modulename': '_argon2_cffi_bindings', + 'checksums': ['bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3'], + }), + ('argon2_cffi', '23.1.0', { + 'modulename': 'argon2', + 'checksums': ['879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.7.1', { + 'checksums': ['44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780'], + }), + ('jupyter_server', version, { + 'checksums': ['d64fb4e593907290e5df916e3c9399c15ab2cd7bdb71cbcd1d36452dbfb30523'], + }), + ('jupyterlab_widgets', '3.0.8', { + 'checksums': ['d428ab97b8d87cc7c54cbf37644d6e0f0e662f23876e05fa460a73ec3257252a'], + }), + ('widgetsnbextension', '4.0.8', { + 'checksums': ['9ec291ba87c2dfad42c3d5b6f68713fa18be1acd7476569516b2431682315c17'], + }), + ('comm', '0.1.4', { + 'checksums': ['354e40a59c9dd6db50c5cc6b4acc887d82e9603787f83b68c01a80a923984d15'], + }), + ('ipywidgets', '8.1.0', { + 'checksums': ['ce97dd90525b3066fd00094690964e7eac14cf9b7745d35565b5eeac20cce687'], + }), + # The following few extensions are needed for e.g. JupyterLab but also nbclassic. + # Avoid duplication by making it part of this bundle + ('notebook_shim', '0.2.3', { + 'checksums': ['f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9'], + }), + ('nest_asyncio', '1.5.7', { + 'checksums': ['6a80f7b98f24d9083ed24608977c09dd608d83f91cccc24c9d2cba6d10e01c10'], + }), + ('ipykernel', '6.25.1', { + 'checksums': ['050391364c0977e768e354bdb60cbbfbee7cbb943b1af1618382021136ffd42f'], + }), + ('ipython_genutils', '0.2.0', { + 'checksums': ['eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8'], + }), + ('debugpy', '1.6.7.post1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['1093a5c541af079c13ac8c70ab8b24d1d35c8cacb676306cf11e57f699c02926'], + }), +] + +sanity_check_paths = { + 'files': ['bin/jupyter'], + 'dirs': ['share/jupyter', 'etc/jupyter'], +} + +sanity_check_commands = ['jupyter --help'] + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyter-vscode-proxy/jupyter-vscode-proxy-0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jupyter-vscode-proxy/jupyter-vscode-proxy-0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1f8a364ba25 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyter-vscode-proxy/jupyter-vscode-proxy-0.6-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = "PythonBundle" + +name = 'jupyter-vscode-proxy' +version = '0.6' + +homepage = 'https://github.com/betatim/vscode-binder' +description = "VS Code extension for Jupyter" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('jupyter-server-proxy', '4.0.0'), + ('code-server', '4.90.2', '', SYSTEM), +] + +use_pip = True + +exts_list = [ + ('jupyter_vscode_proxy', version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['c72037d1234f0cd489ecb0ab40ec8b150fc9cd7006b4d9c7036200e76689da78'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b52bbae206b --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlab-lmod/jupyterlab-lmod-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'Binary' + +name = 'jupyterlab-lmod' +version = '1.0.2' + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """ JupyterLab extension that allows user to interact with environment modules +before launching kernels. The extension use Lmod's Python interface to accomplish +module related task like loading, unloading, saving collection, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://registry.npmjs.org/jupyterlab-lmod/-'] +sources = [SOURCE_TGZ] +checksums = ['f6db445f14741ef342f3dbc857afea1ea347893adb6bdbef9027c42522cfbf7a'] + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('JupyterLab', '3.5.0'), + ('jupyterlmod', '3.0.0'), +] + +# WARNING: this module of jupyterlab-lmod will replace the JupyterLab App directory (JUPYTERLAB_DIR) +# current version of jupyterlab-lmod can only be installed as source extension in JUPYTERLAB_DIR +# this is not an issue with the default installation of JupyterLab in EB as it has no apps/extensions +_jupyterlab_dir = '%(installdir)s/share/jupyter/lab' + +install_cmd = "mkdir -p %s && " % _jupyterlab_dir +install_cmd += "JUPYTERLAB_DIR=%s " % _jupyterlab_dir +install_cmd += "jupyter labextension install %s" % SOURCE_TGZ + +sanity_check_commands = [ + "jupyter labextension check %(name)s", +] + +sanity_check_paths = { + 'files': [], + 'dirs': ["%s/%s" % (_jupyterlab_dir, x) for x in ['extensions', 'schemas', 'staging', 'static', 'themes']], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} +modextravars = { + 'JUPYTERLAB_DIR': _jupyterlab_dir, +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..85768e925c3 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-3.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'jupyterlmod' +version = '3.0.0' + +# This easyconfig only installs the notebook extension of Jupyter Lmod +# not the extension for Jupyter Lab + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """Jupyter interactive notebook server extension that allows user to interact with +environment modules before launching kernels. The extension use Lmod's Python +interface to accomplish module related task like loading, unloading, saving +collection, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['da769078650766b1fca6ef1e673d15ddd6ce7428001e05cc364cba246a77c3fe'], + }), +] + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..552befac655 --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'jupyterlmod' +version = '4.0.3' + +# This easyconfig installs the notebook and lab extension of Jupyter Lmod + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """Jupyter interactive notebook server extension that allows users to interact with +environment modules before launching kernels. The extension uses Lmod's Python +interface to accomplish module-related tasks like loading, unloading, saving +collections, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('jupyter-server', '1.21.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['9939bd7927c2c347f9884247bac58018ca44d56184c5f29e9d704a9b3a09a299'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +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 new file mode 100644 index 00000000000..f096b4542fa --- /dev/null +++ b/easybuild/easyconfigs/j/jupyterlmod/jupyterlmod-4.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'jupyterlmod' +version = '4.0.3' + +# This easyconfig installs the notebook and lab extension of Jupyter Lmod + +homepage = 'https://github.com/cmd-ntrf/jupyter-lmod' +description = """Jupyter interactive notebook server extension that allows users to interact with +environment modules before launching kernels. The extension uses Lmod's Python +interface to accomplish module-related tasks like loading, unloading, saving +collections, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), + ('jupyter-server', '2.7.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('jupyterlmod', '4.0.3', { + 'sources': ['%(name)s-%(version)s-py3-none-any.whl'], + 'checksums': ['9939bd7927c2c347f9884247bac58018ca44d56184c5f29e9d704a9b3a09a299'] + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'share/jupyter'], +} + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6a5a37d6d69 --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303', # jxrlib_1.1.orig.tar.gz + 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74', # jxrlib-1.1_cmake.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6257a6cbb8b --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +# Update: Thomas Hoffmann (EMBL) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303', # jxrlib_1.1.orig.tar.gz + 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74', # jxrlib-1.1_cmake.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..db73ae8495a --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +# Update: Thomas Hoffmann (EMBL) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + {'jxrlib_1.1.orig.tar.gz': 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303'}, + {'jxrlib-1.1_cmake.patch': 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f8aeb2b413a --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +# Update: Thomas Hoffmann (EMBL) +## + +easyblock = 'CMakeMake' + +name = 'jxrlib' +version = '1.1' + +homepage = 'https://github.com/4creators/jxrlib' +description = """Open source implementation of jpegxr""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/'] +sources = ['%(name)s_%(version)s.orig.tar.gz'] +patches = [('jxrlib-%(version)s_cmake.patch', 1)] +checksums = [ + {'jxrlib_1.1.orig.tar.gz': 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303'}, + {'jxrlib-1.1_cmake.patch': 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['JxrDecApp', 'JxrEncApp'] + +modextrapaths = {'CPATH': 'include/jxrlib'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1_cmake.patch b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1_cmake.patch new file mode 100644 index 00000000000..7e261de9389 --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1_cmake.patch @@ -0,0 +1,206 @@ +source: https://sources.debian.org/patches/jxrlib/1.1-6/usecmake.patch/ + +From 68a6e95de65ba6c6774586b73902eb8f47836f92 Mon Sep 17 00:00:00 2001 +From: Dean M Greer +Date: Tue, 24 Feb 2021 21:07:30 -0400 +Subject: [PATCH] Add ability to build using cmake +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..2d6cfac +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,142 @@ ++# Copyright Mathieu Malaterre ++# BSD (Same as jxrlib) ++# Based on https://jxrlib.codeplex.com/discussions/440294 ++cmake_minimum_required(VERSION 2.8) ++project(jxrlib C) ++ ++# Need shared libs for ABI ++set(BUILD_SHARED_LIBS ON) ++ ++# helper macro to preserve original Makefile convention ++macro(JXR_MAKE_OBJ SET_NAME) ++ foreach(src ${SRC_${SET_NAME}}) ++ list(APPEND OBJ_${SET_NAME} ${DIR_${SET_NAME}}/${src}) ++ endforeach() ++endmacro() ++ ++if(NOT MSVC) ++ add_definitions(-D__ANSI__) ++ add_compile_options(-Wno-error=implicit-function-declaration) ++endif() ++ ++include(TestBigEndian) ++test_big_endian(ISBIGENDIAN) ++if(ISBIGENDIAN) ++ set(DEF_ENDIAN _BIG__ENDIAN_) ++endif() ++ ++set(DIR_SYS image/sys) ++set(DIR_DEC image/decode) ++set(DIR_ENC image/encode) ++ ++set(DIR_GLUE jxrgluelib) ++set(DIR_TEST jxrtestlib) ++set(DIR_EXEC jxrencoderdecoder) ++ ++set(VERSION "@VERSION@") ++set(SOVERSION "0") ++ ++if(NOT JXRLIB_INSTALL_BINDIR) ++ set(JXRLIB_INSTALL_BINDIR "bin") ++endif() ++ ++if(NOT JXRLIB_INSTALL_LIBDIR) ++ set(JXRLIB_INSTALL_LIBDIR "lib") ++endif() ++ ++if(NOT JXRLIB_INSTALL_INCLUDEDIR) ++ set(JXRLIB_INSTALL_INCLUDEDIR "include/jxrlib") ++endif() ++ ++include_directories( ++ common/include ++ ${DIR_SYS} ++ ${DIR_GLUE} ++ ${DIR_TEST} ++) ++ ++# JPEG-XR ++set(SRC_SYS adapthuff.c image.c strcodec.c strPredQuant.c strTransform.c perfTimerANSI.c) ++JXR_MAKE_OBJ(SYS) ++set(SRC_DEC decode.c postprocess.c segdec.c strdec.c strInvTransform.c strPredQuantDec.c JXRTranscode.c) ++JXR_MAKE_OBJ(DEC) ++set(SRC_ENC encode.c segenc.c strenc.c strFwdTransform.c strPredQuantEnc.c) ++JXR_MAKE_OBJ(ENC) ++ ++add_library(jpegxr ${OBJ_ENC} ${OBJ_DEC} ${OBJ_SYS}) ++set_property(TARGET jpegxr ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET jpegxr PROPERTY LINK_INTERFACE_LIBRARIES "") ++set_property(TARGET jpegxr PROPERTY COMPILE_FLAGS -w) ++set_property(TARGET jpegxr PROPERTY VERSION ${VERSION}) ++set_property(TARGET jpegxr PROPERTY SOVERSION ${SOVERSION}) ++install(TARGETS jpegxr ++ EXPORT JXRLibTargets ++ RUNTIME DESTINATION ${JXRLIB_INSTALL_BINDIR} COMPONENT Applications ++ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIBDIR} COMPONENT Libraries ++) ++ ++# JXR-GLUE ++set(SRC_GLUE JXRGlue.c JXRMeta.c JXRGluePFC.c JXRGlueJxr.c) ++JXR_MAKE_OBJ(GLUE) ++set(SRC_TEST JXRTest.c JXRTestBmp.c JXRTestHdr.c JXRTestPnm.c JXRTestTif.c JXRTestYUV.c) ++JXR_MAKE_OBJ(TEST) ++ ++add_library(jxrglue ${OBJ_GLUE} ${OBJ_TEST}) ++set_property(TARGET jxrglue ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET jxrglue PROPERTY COMPILE_FLAGS -w) ++set_property(TARGET jxrglue PROPERTY VERSION ${VERSION}) ++set_property(TARGET jxrglue PROPERTY SOVERSION ${SOVERSION}) ++install(TARGETS jxrglue ++ EXPORT JXRLibTargets ++ RUNTIME DESTINATION ${JXRLIB_INSTALL_BINDIR} COMPONENT Applications ++ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIBDIR} COMPONENT Libraries ++) ++ ++target_link_libraries(jxrglue PRIVATE jpegxr m) ++ ++# Enc app files ++set(ENCAPP JxrEncApp) ++add_executable(${ENCAPP} ${DIR_EXEC}/${ENCAPP}.c) ++set_property(TARGET ${ENCAPP} ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET ${ENCAPP} PROPERTY COMPILE_FLAGS -w) ++target_link_libraries(${ENCAPP} jxrglue) # jpegxr) ++install(TARGETS ${ENCAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BINDIR}) ++ ++# Dec app files ++set(DECAPP JxrDecApp) ++add_executable(${DECAPP} ${DIR_EXEC}/${DECAPP}.c) ++set_property(TARGET ${DECAPP} ++ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} ++) ++set_property(TARGET ${DECAPP} PROPERTY COMPILE_FLAGS -w) ++target_link_libraries(${DECAPP} jxrglue) # jpegxr) ++install(TARGETS ${DECAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BINDIR}) ++ ++# Generate pkgconfig file ++include(JoinPaths.cmake) ++join_paths(JXRLIB_PKGCONF_LIBDIR "\${prefix}" "${JXRLIB_INSTALL_LIBDIR}") ++join_paths(JXRLIB_PKGCONF_INCLUDEDIR "\${prefix}" "${JXRLIB_INSTALL_INCLUDEDIR}") ++configure_file( ++ "${PROJECT_SOURCE_DIR}/jxrlib.pc.in" ++ ${PROJECT_BINARY_DIR}/jxrlib.pc ++ @ONLY ++) ++install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc ++ DESTINATION ${JXRLIB_INSTALL_LIBDIR}/pkgconfig ++) ++ ++# install rules ++install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrtestlib/JXRTest.h ++ image/sys/windowsmediaphoto.h ++ DESTINATION ${JXRLIB_INSTALL_INCLUDEDIR} COMPONENT Headers ++) ++install(DIRECTORY common/include/ DESTINATION ${JXRLIB_INSTALL_INCLUDEDIR} ++ FILES_MATCHING PATTERN "*.h" ++) +diff --git a/JoinPaths.cmake b/JoinPaths.cmake +new file mode 100644 +index 0000000..a767270 +--- /dev/null ++++ b/JoinPaths.cmake +@@ -0,0 +1,26 @@ ++# This module provides a function for joining paths ++# known from most languages ++# ++# SPDX-License-Identifier: (MIT OR CC0-1.0) ++# Copyright 2020 Jan Tojnar ++# https://github.com/jtojnar/cmake-snips ++# ++# Modelled after Python’s os.path.join ++# https://docs.python.org/3.7/library/os.path.html#os.path.join ++# Windows not supported ++function(join_paths joined_path first_path_segment) ++ set(temp_path "${first_path_segment}") ++ foreach(current_segment IN LISTS ARGN) ++ if(NOT ("${current_segment}" STREQUAL "")) ++ string(REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}/?" "" new_segment "${current_segment}") ++ if(NOT ("${new_segment}" STREQUAL "")) ++ if(NOT IS_ABSOLUTE "${current_segment}" OR NOT "${current_segment}" MATCHES "^${new_segment}$") ++ set(temp_path "${temp_path}/${new_segment}") ++ else() ++ set(temp_path "${current_segment}") ++ endif() ++ endif() ++ endif() ++ endforeach() ++ set(${joined_path} "${temp_path}" PARENT_SCOPE) ++endfunction() +diff --git a/jxrlib.pc.in b/jxrlib.pc.in +new file mode 100644 +index 0000000..be9170c +--- /dev/null ++++ b/jxrlib.pc.in +@@ -0,0 +1,12 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=@JXRLIB_PKGCONF_LIBDIR@ ++includedir=@JXRLIB_PKGCONF_INCLUDEDIR@ ++ ++Name: jxrlib ++Description: A library for reading JPEG XR images. ++ ++Version: @VERSION@ ++Libs: -L${libdir} -ljpegxr -ljxrglue ++Libs.private: -lm ++Cflags: -I${includedir} -D__ANSI__ -DDISABLE_PERF_MEASUREMENT +-- +2.24.3 (Apple Git-128) diff --git a/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb b/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb new file mode 100644 index 00000000000..cfd3b1b4d0f --- /dev/null +++ b/easybuild/easyconfigs/k/KITE/KITE-1.1-gompi-2022a.eb @@ -0,0 +1,40 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'KITE' +version = '1.1' + +homepage = 'https://github.com/quantum-kite/kite' +description = """KITE is an open-source Python/C++ software suite for efficient real-space tight-binding (TB) +simulations of electronic structure and bulk quantum transport properties of disordered systems scalable to +multi billions of atomic orbitals.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/quantum-kite/kite/archive/'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'a480fe46f2220ab6c2d6b9914e0673580121de703523dc22658fe50dc676e47e', # 1.1.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Eigen', '3.4.0'), + ('HDF5', '1.12.2'), +] + +sanity_check_paths = { + 'files': ['bin/KITEx'], + 'dirs': [], +} + +sanity_check_commands = ['KITEx |grep "^Starting program..."'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..d69650ebbaa --- /dev/null +++ b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'KMC' +version = '3.2.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://sun.aei.polsl.pl/kmc' +description = "KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/refresh-bio/KMC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7db333091a754508163a097c41720cf32a80abe160bef60f3fc82c8da1d67896'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('Python', '2.7.18'), +] + +# Makefile does static linking with libc.a, libpthread.a, libm.a +osdependencies = [('glibc-static', 'libc6-dev')] + +prebuildopts = "sed -i 's@[^ ]*/libz.a@${EBROOTZLIB}/lib/libz.a@g' Makefile && " +prebuildopts += "sed -i 's@[^ ]*/libbz2.a@${EBROOTBZIP2}/lib/libbz2.a@g' Makefile && " +prebuildopts += "sed -i 's/python3-config --extension-suffix/echo .so/g' Makefile && " +prebuildopts += "sed -i 's/python3/python/g' Makefile && " + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/kmc_dump'], + 'dirs': [], +} + +sanity_check_commands = [ + "kmc", + "kmc_dump", + "python -c 'import py_kmc_api'", +] + +# Python bindings are also located in bin/ +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..0df6c5ef67f --- /dev/null +++ b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'KMC' +version = '3.2.1' + +homepage = 'http://sun.aei.polsl.pl/kmc' +description = "KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/refresh-bio/KMC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7db333091a754508163a097c41720cf32a80abe160bef60f3fc82c8da1d67896'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('Python', '3.9.6'), +] + +# Makefile does static linking with libc.a, libpthread.a, libm.a +osdependencies = [('glibc-static', 'libc6-dev')] + +prebuildopts = "sed -i 's@[^ ]*/libz.a@${EBROOTZLIB}/lib/libz.a@g' Makefile && " +prebuildopts += "sed -i 's@[^ ]*/libbz2.a@${EBROOTBZIP2}/lib/libbz2.a@g' Makefile && " + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/kmc_dump'], + 'dirs': [], +} + +sanity_check_commands = [ + "kmc", + "kmc_dump", + "python -c 'import py_kmc_api'", +] + +# Python bindings are also located in bin/ +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KMC/KMC-3.2.2-GCC-12.2.0.eb b/easybuild/easyconfigs/k/KMC/KMC-3.2.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..f3b30ce7394 --- /dev/null +++ b/easybuild/easyconfigs/k/KMC/KMC-3.2.2-GCC-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'KMC' +version = '3.2.2' + +homepage = 'http://sun.aei.polsl.pl/kmc' +description = "KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/refresh-bio/KMC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b648a750ef1cb11feb63439858dbcf765cdb4f777c15dff766d7282cfcee8b9'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), + ('Python', '3.10.8'), +] + +# Makefile does static linking with libc.a, libpthread.a, libm.a +osdependencies = [('glibc-static', 'libc6-dev')] + +prebuildopts = """sed -i 's@^#include.*zlib.h.*@#include "zlib.h"@g' ./kmc_core/fastq_reader.h && """ +prebuildopts += """sed -i 's@^#include.*zlib.h.*@#include "zlib.h"@g' ./kmc_tools/fastq_reader.h && """ + +buildopts = "LIB_ZLIB=$EBROOTZLIB/lib/libz.a" + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/kmc_dump'], + 'dirs': [], +} + +sanity_check_commands = [ + "kmc", + "kmc_dump", + "python -c 'import py_kmc_api'", +] + +# Python bindings are also located in bin/ +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb b/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb new file mode 100644 index 00000000000..9afb54946de --- /dev/null +++ b/easybuild/easyconfigs/k/KMCP/KMCP-0.9.1.eb @@ -0,0 +1,24 @@ +easyblock = 'GoPackage' + +name = 'KMCP' +version = '0.9.1' + +homepage = 'https://bioinf.shenwei.me/kmcp' + +description = """ +KMCP: accurate metagenomic profiling of both prokaryotic and viral populations +by pseudo-mapping +""" + +toolchain = SYSTEM + +github_account = 'shenwei356' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e75012e82d0abf89971e4afbdf783829fd289da1c703dcee6a936ea9f4f1cf0a'] + +builddependencies = [('Go', '1.18.3')] + +installopts = './kmcp' + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb new file mode 100644 index 00000000000..1445dd5e925 --- /dev/null +++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'KaHIP' +version = '3.14' + +homepage = 'https://kahip.github.io/' +description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +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/KaHIP/KaHIP-3.14-gompi-2022b.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022b.eb new file mode 100644 index 00000000000..719fd73c34d --- /dev/null +++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.14-gompi-2022b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'KaHIP' +version = '3.14' + +homepage = 'https://kahip.github.io/' +description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9da04f3b0ea53b50eae670d6014ff54c0df2cb40f6679b2f6a96840c1217f242'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.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/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-10.3.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2f09b3ca33d --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +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': '10.3.0'} + +sources = ['kaleido-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ecbb94f8b36 --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +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': '11.3.0'} + +sources = ['kaleido-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9858859ed7a --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.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': '12.2.0'} + +sources = ['kaleido-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl'] +checksums = ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..231466bb169 --- /dev/null +++ b/easybuild/easyconfigs/k/Kaleido/Kaleido-0.2.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.3')] + +if ARCH == 'x86_64': + local_source_tmpl = '%(namelower)s-%(version)s-py2.py3-none-manylinux1_%(arch)s.whl' +elif ARCH == 'aarch64': + local_source_tmpl = '%(namelower)s-%(version)s-py2.py3-none-manylinux2014_%(arch)s.whl' + +exts_list = [ + (name, version, { + 'source_tmpl': local_source_tmpl, + 'checksums': ['aa21cf1bf1c78f8fa50a9f7d45e1003c387bd3d6fe0a767cfbbf344b95bdc3a8'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' 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/Kalign/Kalign-2.0.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-2.0.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..dd1f62fb098 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-2.0.4-GCCcore-10.2.0.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'Kalign' +version = '2.0.4' + +homepage = 'https://msa.sbc.su.se/cgi-bin/msa.cgi' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://msa.sbc.su.se/downloads/kalign/'] +sources = [{'filename': SOURCELOWER_TAR_GZ, 'download_filename': 'current.tar.gz'}] +checksums = ['8cf20ac4e1807dc642e7ffba8f42a117313beccaee4f87c5555d53a2eeac4cbb'] # kalign.tar.gz + +builddependencies = [('binutils', '2.35')] + +install_cmd = "mkdir %(installdir)s/bin && cp kalign %(installdir)s/bin" + +sanity_check_paths = { + 'files': ['bin/kalign'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..aeeec32aa8e --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'Kalign' +version = '3.3.1' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7f10acf9a3fa15deabbc0304e7c14efa25cea39108318c9f02b47257de2d7390'] # 3.3.1.tar.gz + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), +] + +configure_cmd_prefix = "autoreconf -vfi && " + +sanity_check_paths = { + 'files': ['bin/kchaos', 'bin/kalign'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..dcdd0424498 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.1-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'Kalign' +version = '3.3.1' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7f10acf9a3fa15deabbc0304e7c14efa25cea39108318c9f02b47257de2d7390'] # 3.3.1.tar.gz + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] + +configure_cmd_prefix = "autoreconf -vfi && " + +sanity_check_paths = { + 'files': ['bin/kchaos', 'bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9b5d84c9779 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'Kalign' +version = '3.3.2' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c0b357feda32e16041cf286a4e67626a52bbf78c39e2237b485d54fb38ef319a'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +configure_cmd_prefix = "autoreconf -vfi && " + +sanity_check_paths = { + 'files': ['bin/kchaos', 'bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fda9c28356f --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +easyblock = 'CMakeMake' + +name = 'Kalign' +version = '3.3.5' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['75f3a127d2a9eef1eafd931fb0785736eb3f82826be506e7edd00daf1ba26212'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..62ff0095f46 --- /dev/null +++ b/easybuild/easyconfigs/k/Kalign/Kalign-3.4.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +easyblock = 'CMakeMake' + +name = 'Kalign' +version = '3.4.0' + +homepage = 'https://github.com/TimoLassmann/kalign' +description = "Kalign is a fast multiple sequence alignment program for biological sequences." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/TimoLassmann/kalign/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['67d1a562d54b3b7622cc3164588c05b9e2bf8f1a5140bb48a4e816c61a87d4a8'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/kalign'], + 'dirs': [], +} + +sanity_check_commands = ["kalign --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb index f9110e0bf89..49423ef5929 100644 --- a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-411-GCC-10.2.0.eb @@ -23,6 +23,7 @@ dependencies = [ ('util-linux', '2.36'), ] +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' buildopts += 'MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb new file mode 100644 index 00000000000..7f53d9e0856 --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-418-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '418' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +checksums = ['2ecb1a74f85129ebad71dbe4bf06ccc006fb24ef615ae5afa08ca2c008beabcf'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +dependencies = [ + ('MariaDB', '10.6.4'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('util-linux', '2.36'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb new file mode 100644 index 00000000000..a971d0c1684 --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '422' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +patches = ['%(name)s-%(version)s-openssl.patch'] +checksums = [ + '1edf66ad5f7c8c79586e9f878b5971d7d467c8c5efbeb31c69085d24a6e4671f', # userApps.v422.src.tgz + 'eedd328fc8a8e01806f4de9e8dce5b2a149edf493a17c3758803853e7881f240', # Kent_tools-422-openssl.patch +] + +dependencies = [ + ('MariaDB', '10.6.4'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('util-linux', '2.37'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.11.0'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp /" %(builddir)s/userApps/kent/src/parasol/makefile && ' +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-openssl.patch b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-openssl.patch new file mode 100644 index 00000000000..e492ca729b4 --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-422-openssl.patch @@ -0,0 +1,45 @@ +Patch to ensure SSL will be picked up by EasyBuild and not the OS. Important for older OpenSSL versions +Author: J. Sassmannshausen / GSTT +diff --git a/userApps.orig/kent/src/inc/common.mk b/userApps/kent/src/inc/common.mk +index d200b43..cb257d6 100644 +--- a/userApps.orig/kent/src/inc/common.mk ++++ b/userApps/kent/src/inc/common.mk +@@ -133,7 +133,7 @@ endif + ifneq (${SSL_DIR}, "/usr/include/openssl") + ifneq ($(UNAME_S),Darwin) + ifneq ($(wildcard ${SSL_DIR}),) +- L+=-L${SSL_DIR}/lib ++ L+=-L${SSL_DIR}/lib -lssl -lcrypto + endif + endif + HG_INC+=-I${SSL_DIR}/include +@@ -142,29 +142,6 @@ endif + ifeq (${IS_HGWDEV},yes) + L+=/hive/groups/browser/freetype/freetype-2.10.0/objs/.libs/libfreetype.a -lbz2 + L+=/usr/lib64/libssl.a /usr/lib64/libcrypto.a -lkrb5 -lk5crypto -ldl +-else +- ifneq ($(wildcard /opt/local/lib/libssl.a),) +- L+=/opt/local/lib/libssl.a +- else +- ifneq ($(wildcard /usr/lib/x86_64-linux-gnu/libssl.a),) +- L+=/usr/lib/x86_64-linux-gnu/libssl.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libssl.a),) +- L+=/usr/local/opt/openssl/lib/libssl.a +- else +- L+=-lssl +- endif +- endif +- endif +- ifneq ($(wildcard /opt/local/lib/libcrypto.a),) +- L+=/opt/local/lib/libcrypto.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libcrypto.a),) +- L+=/usr/local/opt/openssl/lib/libcrypto.a +- else +- L+=-lcrypto +- endif +- endif + endif + + # autodetect where libm is installed diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb new file mode 100644 index 00000000000..9f19803cbeb --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442-GCC-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '442' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +patches = ['%(name)s-442_openssl.patch'] +checksums = [ + {'userApps.v442.src.tgz': 'c54711b4a4c35de3c8c3094ed21b95a8b330e4132e19ef4c21020b24406d910c'}, + {'Kent_tools-442_openssl.patch': '219ff93006553098c21d5ff05248163c952a5086e2547b2b29f88a2d1a0a2e53'}, +] + +dependencies = [ + ('MariaDB', '10.9.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('util-linux', '2.38'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.12.1'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp -a /" %(builddir)s/userApps/kent/src/parasol/makefile && ' + +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s 2>&1 | grep '^usage:'" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch new file mode 100644 index 00000000000..7d41735813c --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-442_openssl.patch @@ -0,0 +1,60 @@ +Patch to ensure SSL will be picked up by EasyBuild and not the OS. Important for older OpenSSL versions +original Author: J. Sassmannshausen / GSTT +updated for v442 by Samuel Moors (Vrije Universiteit Brussel) +diff -ur userApps.orig/kent/src/inc/common.mk userApps/kent/src/inc/common.mk +--- userApps.orig/kent/src/inc/common.mk 2023-01-18 01:19:26.000000000 +0100 ++++ userApps/kent/src/inc/common.mk 2023-02-01 14:06:02.404382429 +0100 +@@ -133,7 +133,7 @@ + ifneq (${SSL_DIR}, "/usr/include/openssl") + ifneq ($(UNAME_S),Darwin) + ifneq ($(wildcard ${SSL_DIR}),) +- L+=-L${SSL_DIR}/lib ++ L+=-L${SSL_DIR}/lib -lssl -lcrypto + endif + endif + HG_INC+=-I${SSL_DIR}/include +@@ -142,44 +142,6 @@ + ifeq (${IS_HGWDEV},yes) + L+=/hive/groups/browser/freetype/freetype-2.10.0/objs/.libs/libfreetype.a -lbz2 + L+=/usr/lib64/libssl.a /usr/lib64/libcrypto.a -lkrb5 -lk5crypto -ldl +-else +- ifeq (${CONDA_BUILD},1) +- L+=${PREFIX}/lib/libssl.a ${PREFIX}/lib/libcrypto.a -ldl +- else +- ifneq ($(wildcard /opt/homebrew/Cellar/openssl@3/3.0.7/lib/libssl.a),) +- L+=/opt/homebrew/Cellar/openssl@3/3.0.7/lib/libssl.a +- else +- ifneq ($(wildcard /opt/local/lib/libssl.a),) +- L+=/opt/local/lib/libssl.a +- else +- ifneq ($(wildcard /usr/lib/x86_64-linux-gnu/libssl.a),) +- L+=/usr/lib/x86_64-linux-gnu/libssl.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libssl.a),) +- L+=/usr/local/opt/openssl/lib/libssl.a +- else +- L+=-lssl +- endif +- endif +- endif +- endif +- ifneq ($(wildcard /opt/homebrew/Cellar/openssl@3/3.0.7/lib/libcrypto.a),) +- L+=/opt/homebrew/Cellar/openssl@3/3.0.7/lib/libcrypto.a +- else +- ifneq ($(wildcard /opt/local/lib/libcrypto.a),) +- L+=/opt/local/lib/libcrypto.a +- else +- ifneq ($(wildcard /usr/local/opt/openssl/lib/libcrypto.a),) +- L+=/usr/local/opt/openssl/lib/libcrypto.a +- else +- L+=-lcrypto +- endif +- endif +- endif +- ifneq ($(wildcard /opt/homebrew/Cellar/zstd/1.5.2/lib/libzstd.a),) +- L+=/opt/homebrew/Cellar/zstd/1.5.2/lib/libzstd.a +- endif +- endif + endif + + # autodetect where libm is installed diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-457-GCC-12.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-457-GCC-12.2.0.eb new file mode 100644 index 00000000000..82fa09f6d5a --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-457-GCC-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '457' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +patches = ['%(name)s-442_openssl.patch'] +checksums = [ + {'userApps.v457.src.tgz': 'fa52259d4998fea75555fe7952c79d2f9a572e3be52a4274e6bb2db706d152fc'}, + {'Kent_tools-442_openssl.patch': '219ff93006553098c21d5ff05248163c952a5086e2547b2b29f88a2d1a0a2e53'}, +] + +dependencies = [ + ('MariaDB', '10.11.2'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('util-linux', '2.38.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.12.1'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp -a /" %(builddir)s/userApps/kent/src/parasol/makefile && ' + +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s 2>&1 | grep '^usage:'" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-461-GCC-12.2.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-461-GCC-12.2.0.eb new file mode 100644 index 00000000000..9679801e25f --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-461-GCC-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '461' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +checksums = [ + {'userApps.v461.src.tgz': 'ff350f030906bea2cdfa5c57d713568123e17c1a5c0ce578d2d9633ca1b742bc'}, +] + +dependencies = [ + ('MariaDB', '10.11.2'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('util-linux', '2.38.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.12.1'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp -a /" %(builddir)s/userApps/kent/src/parasol/makefile && ' + +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s 2>&1 | grep '^usage:'" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kent_tools/Kent_tools-468-GCC-12.3.0.eb b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-468-GCC-12.3.0.eb new file mode 100644 index 00000000000..e4fd527e908 --- /dev/null +++ b/easybuild/easyconfigs/k/Kent_tools/Kent_tools-468-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'Kent_tools' +version = '468' + +homepage = 'https://genome.cse.ucsc.edu/' +description = """Kent utilities: collection of tools used by the UCSC genome browser.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +source_urls = [ + 'https://hgdownload.cse.ucsc.edu/admin/exe/', + 'https://hgdownload.cse.ucsc.edu/admin/exe/userApps.archive/', +] +sources = ['userApps.v%(version)s.src.tgz'] +checksums = ['f57b49be7e4eeb0719ac9414ca8878f93916fc3eb8dd408c8f7e076a999d1ca8'] + +dependencies = [ + ('MariaDB', '11.6.0'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('util-linux', '2.39'), + ('OpenSSL', '1.1', '', SYSTEM), + ('freetype', '2.13.0'), +] + +prebuildopts = 'sed -i "s/rsync -a /cp -a /" %(builddir)s/userApps/kent/src/parasol/makefile && ' + +buildopts = 'CC="$CC" COPT="$CFLAGS -fcommon" PNGLIB="-L$EBROOTLIBPNG/lib -lpng" ZLIB="-L$EBROOTZLIB/lib -lz" ' +buildopts += 'SSL_DIR="$EBROOTOPENSSL" SSLDIR="$EBROOTOPENSSL" MYSQLLIBS="-L$EBROOTMARIADB/lib -lmariadb -lstdc++" ' + +local_binaries = ['blat', 'bedPartition', 'getRna', 'liftOver', 'mafGene', 'splitFile', 'twoBitToFa'] + +files_to_copy = [(['bin/*'], 'bin'), 'licenseBlat.txt', 'licenseUcscGenomeBrowser.txt'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ["%s 2>&1 | grep '^usage:'" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-foss-2020b.eb b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-foss-2020b.eb index 32ae992ae3b..2f81c7cf31e 100644 --- a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-foss-2020b.eb +++ b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-foss-2020b.eb @@ -14,8 +14,7 @@ dependencies = [ ('Python', '3.8.6'), ('Theano', '1.1.2', '-PyMC'), ('PyYAML', '5.3.1'), - ('h5py', '3.1.0'), - ('TensorFlow', '2.4.1'), + ('TensorFlow', '2.4.1'), # provides h5py 2.1.0 ] use_pip = True diff --git a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..f8e15be6954 --- /dev/null +++ b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'Keras' +version = '2.4.3' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-2.5.0' + +homepage = 'https://keras.io/' +description = """ +Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow. +""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('Theano', '1.1.2', '-PyMC'), + ('PyYAML', '5.3.1'), + ('TensorFlow', local_tf_version), # provides h5py 2.1.0 +] + +use_pip = True + +exts_list = [ + ('Keras_Applications', '1.0.8', { + 'checksums': ['5579f9a12bcde9748f4a12233925a59b93b73ae6947409ff34aa2ba258189fe5'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + (name, version, { + 'checksums': ['fedd729b52572fb108a98e3d97e1bac10a81d3917d2103cc20ab2a5f03beb973'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b.eb b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b.eb index 48fc18c305e..06a6be6a596 100644 --- a/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/k/Keras/Keras-2.4.3-fosscuda-2020b.eb @@ -14,8 +14,7 @@ dependencies = [ ('Python', '3.8.6'), ('Theano', '1.1.2', '-PyMC'), ('PyYAML', '5.3.1'), - ('h5py', '3.1.0'), - ('TensorFlow', '2.4.1'), + ('TensorFlow', '2.4.1'), # provides h5py 2.1.0 ] use_pip = True diff --git a/easybuild/easyconfigs/k/KerasTuner/KerasTuner-1.3.5-foss-2022a.eb b/easybuild/easyconfigs/k/KerasTuner/KerasTuner-1.3.5-foss-2022a.eb new file mode 100644 index 00000000000..83d26febf7b --- /dev/null +++ b/easybuild/easyconfigs/k/KerasTuner/KerasTuner-1.3.5-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'KerasTuner' +version = '1.3.5' + +homepage = 'https://keras.io/keras_tuner' +description = """KerasTuner is an easy-to-use, scalable hyperparameter optimization framework that solves the pain +points of hyperparameter search.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('kt-legacy', '1.0.5', { + 'checksums': ['dbbade58f12c6a6da6062f4b045a6395a8d4195815e3e064bc3e609b69c8a26c'], + 'modulename': 'kerastuner', + }), + ('keras-tuner', version, { + 'checksums': ['5f65fbf932e17883290b40cf4b95987129947cf607972594b453e3c26e5314b7'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8972c7fe9c5 --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PackedBinary' + +name = 'Kraken' +version = '1.1.1' + +homepage = 'https://ccb.jhu.edu/software/%(namelower)s/' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# Part is compiled with CXX, the rest is in Perl +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1_CXX-CXXFLAGS.patch'] +checksums = [ + '73e48f40418f92b8cf036ca1da727ca3941da9b78d4c285b81ba3267326ac4ee', # v1.1.1.tar.gz + '84c017d6a80ccaac1e23561c83cac90bcc3d62baa8d31657a7dafbc2c3f29726', # Kraken-1.1.1_CXX-CXXFLAGS.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('wget', '1.21.1'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_%(namelower)s.sh %(installdir)s' + +sanity_check_paths = { + 'files': ['add_to_library.sh', 'build_kraken_db.sh', 'check_for_jellyfish.sh', 'classify', 'clean_db.sh', + 'cp_into_tempfile.pl', 'db_shrink', 'db_sort', 'download_genomic_library.sh', + 'download_taxonomy.sh', 'kraken', 'kraken-build', 'kraken-filter', 'krakenlib.pm', + 'kraken-mpa-report', 'kraken-report', 'kraken-translate', 'make_seqid_to_taxid_map', + 'read_merger.pl', 'report_gi_numbers.pl', 'set_lcas', 'shrink_db.sh', + 'standard_installation.sh', 'upgrade_db.sh', 'verify_gi_numbers.pl'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..49027ca7778 --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken/Kraken-1.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PackedBinary' + +name = 'Kraken' +version = '1.1.1' + +homepage = 'https://ccb.jhu.edu/software/%(namelower)s/' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# Part is compiled with CXX, the rest is in Perl +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1_CXX-CXXFLAGS.patch'] +checksums = [ + '73e48f40418f92b8cf036ca1da727ca3941da9b78d4c285b81ba3267326ac4ee', # v1.1.1.tar.gz + '84c017d6a80ccaac1e23561c83cac90bcc3d62baa8d31657a7dafbc2c3f29726', # Kraken-1.1.1_CXX-CXXFLAGS.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('wget', '1.21.3'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_%(namelower)s.sh %(installdir)s' + +sanity_check_paths = { + 'files': ['add_to_library.sh', 'build_kraken_db.sh', 'check_for_jellyfish.sh', 'classify', 'clean_db.sh', + 'cp_into_tempfile.pl', 'db_shrink', 'db_sort', 'download_genomic_library.sh', + 'download_taxonomy.sh', 'kraken', 'kraken-build', 'kraken-filter', 'krakenlib.pm', + 'kraken-mpa-report', 'kraken-report', 'kraken-translate', 'make_seqid_to_taxid_map', + 'read_merger.pl', 'report_gi_numbers.pl', 'set_lcas', 'shrink_db.sh', + 'standard_installation.sh', 'upgrade_db.sh', 'verify_gi_numbers.pl'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-foss-2018b-Perl-5.28.0.eb index da6339de567..c7c4353fe4d 100644 --- a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-foss-2018b-Perl-5.28.0.eb @@ -20,10 +20,14 @@ toolchainopts = {'openmp': True, 'cstd': 'c++11'} github_account = 'DerrickWood' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-2.0.7-beta_CXX-CXXFLAGS.patch'] +patches = [ + '%(name)s-2.0.7-beta_CXX-CXXFLAGS.patch', + 'Kraken2-2.1.2_fix_ncbi_https_server.patch', +] checksums = [ '0287cf4df4b5d5511a9132d9ab37a8d76864bae445579efb9cb76db7e9c09eba', # v2.0.9-beta.tar.gz '191291e51a846d193a12486ab84496d5dd221a05c84648688b1351bb84d7adb2', # Kraken2-2.0.7-beta_CXX-CXXFLAGS.patch + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-gompi-2020a-Perl-5.30.2.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-gompi-2020a-Perl-5.30.2.eb index 12213f38a84..4254c46096b 100644 --- a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-gompi-2020a-Perl-5.30.2.eb +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.0.9-beta-gompi-2020a-Perl-5.30.2.eb @@ -20,10 +20,14 @@ toolchainopts = {'openmp': True, 'cstd': 'c++11'} github_account = 'DerrickWood' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['%(name)s-2.0.7-beta_CXX-CXXFLAGS.patch'] +patches = [ + '%(name)s-2.0.7-beta_CXX-CXXFLAGS.patch', + 'Kraken2-2.1.2_fix_ncbi_https_server.patch', +] checksums = [ '0287cf4df4b5d5511a9132d9ab37a8d76864bae445579efb9cb76db7e9c09eba', # v2.0.9-beta.tar.gz - '191291e51a846d193a12486ab84496d5dd221a05c84648688b1351bb84d7adb2' # Kraken2-2.0.7-beta_CXX-CXXFLAGS.patch + '191291e51a846d193a12486ab84496d5dd221a05c84648688b1351bb84d7adb2', # Kraken2-2.0.7-beta_CXX-CXXFLAGS.patch + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.1-gompi-2020b.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.1-gompi-2020b.eb index f24d9c3b21e..7069cfa02d0 100644 --- a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.1-gompi-2020b.eb +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.1-gompi-2020b.eb @@ -19,11 +19,15 @@ toolchainopts = {'openmp': True, 'cstd': 'c++11'} github_account = 'DerrickWood' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['Kraken2-2.1.1_fix_installation_for_easybuild.patch'] +patches = [ + 'Kraken2-2.1.1_fix_installation_for_easybuild.patch', + 'Kraken2-2.1.2_fix_ncbi_https_server.patch', +] checksums = [ '8f3e928cdb32b9e8e6f55b44703d1557b2a5fc3f30f63e8d16e465e19a81dee4', # v2.1.1.tar.gz # Kraken2-2.1.1_fix_installation_for_easybuild.patch '5ea9093becbdf7705a29fd2e56050118700c850ac5374aae5ee9b5e5924d3a11', + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch ] dependencies = [ diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021a.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021a.eb new file mode 100644 index 00000000000..9c1671e01bd --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'PackedBinary' + +name = 'Kraken2' +version = '2.1.2' + +homepage = 'https://github.com/DerrickWood/kraken2/wiki' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# part is compiled with $CXX, the rest is in Perl +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Kraken2-2.1.1_fix_installation_for_easybuild.patch', + 'Kraken2-2.1.2_fix_ncbi_https_server.patch', +] +checksums = [ + 'e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3', # v2.1.2.tar.gz + # Kraken2-2.1.1_fix_installation_for_easybuild.patch + '5ea9093becbdf7705a29fd2e56050118700c850ac5374aae5ee9b5e5924d3a11', + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch +] + +dependencies = [ + ('Perl', '5.32.1'), + ('BLAST+', '2.11.0'), + ('wget', '1.21.1'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_kraken2.sh %(installdir)s/bin' + +# Kraken2 databases can be downloaded from https://benlangmead.github.io/aws-indexes/k2 +# or built as described in https://github.com/DerrickWood/kraken2/wiki/Manual#kraken-2-databases +# The following commands will build and install the standard databases (100GB) in local_db_path +# local_db_path = '%(installdir)s/db' +# postinstallcmds = [ +# 'mkdir %s' % local_db_path, +# 'cd %%(installdir)s/bin && ./kraken2-build --standard --threads %%(parallel)s --db %s' % local_db_path, +# ] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + '16S_gg_installation.sh', '16S_rdp_installation.sh', '16S_silva_installation.sh', 'add_to_library.sh', + 'build_db', 'build_gg_taxonomy.pl', 'build_kraken2_db.sh', 'build_rdp_taxonomy.pl', 'build_silva_taxonomy.pl', + 'classify', 'clean_db.sh', 'cp_into_tempfile.pl', 'download_genomic_library.sh', 'download_taxonomy.sh', + 'dump_table', 'estimate_capacity', 'kraken2', 'kraken2-build', 'kraken2-inspect', 'kraken2lib.pm', + 'lookup_accession_numbers.pl', 'make_seqid2taxid_map.pl', 'mask_low_complexity.sh', 'rsync_from_ncbi.pl', + 'scan_fasta_file.pl']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021b.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021b.eb new file mode 100644 index 00000000000..7e70470c5f2 --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2021b.eb @@ -0,0 +1,62 @@ +easyblock = 'PackedBinary' + +name = 'Kraken2' +version = '2.1.2' + +homepage = 'https://github.com/DerrickWood/kraken2/wiki' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# part is compiled with $CXX, the rest is in Perl +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-2.1.1_fix_installation_for_easybuild.patch', + '%(name)s-%(version)s_fix_ncbi_https_server.patch', +] +checksums = [ + 'e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3', # v2.1.2.tar.gz + # Kraken2-2.1.1_fix_installation_for_easybuild.patch + '5ea9093becbdf7705a29fd2e56050118700c850ac5374aae5ee9b5e5924d3a11', + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch +] + +dependencies = [ + ('Perl', '5.34.0'), + ('BLAST+', '2.12.0'), + ('wget', '1.21.2'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_kraken2.sh %(installdir)s/bin' + +# Kraken2 databases can be downloaded from https://benlangmead.github.io/aws-indexes/k2 +# or built as described in https://github.com/DerrickWood/kraken2/wiki/Manual#kraken-2-databases +# The following commands will build and install the standard databases (100GB) in local_db_path +# local_db_path = '%(installdir)s/db' +# postinstallcmds = [ +# 'mkdir %s' % local_db_path, +# 'cd %%(installdir)s/bin && ./kraken2-build --standard --threads %%(parallel)s --db %s' % local_db_path, +# ] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + '16S_gg_installation.sh', '16S_rdp_installation.sh', '16S_silva_installation.sh', 'add_to_library.sh', + 'build_db', 'build_gg_taxonomy.pl', 'build_kraken2_db.sh', 'build_rdp_taxonomy.pl', 'build_silva_taxonomy.pl', + 'classify', 'clean_db.sh', 'cp_into_tempfile.pl', 'download_genomic_library.sh', 'download_taxonomy.sh', + 'dump_table', 'estimate_capacity', 'kraken2', 'kraken2-build', 'kraken2-inspect', 'kraken2lib.pm', + 'lookup_accession_numbers.pl', 'make_seqid2taxid_map.pl', 'mask_low_complexity.sh', 'rsync_from_ncbi.pl', + 'scan_fasta_file.pl']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb new file mode 100644 index 00000000000..9ed7324537c --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2-gompi-2022a.eb @@ -0,0 +1,70 @@ +easyblock = 'PackedBinary' + +name = 'Kraken2' +version = '2.1.2' + +homepage = 'https://github.com/DerrickWood/kraken2/wiki' +description = """Kraken is a system for assigning taxonomic labels to short DNA sequences, + usually obtained through metagenomic studies. Previous attempts by other + bioinformatics software to accomplish this task have often used sequence + alignment or machine learning techniques that were quite slow, leading to + the development of less sensitive but much faster abundance estimation + programs. Kraken aims to achieve high sensitivity and high speed by + utilizing exact alignments of k-mers and a novel classification algorithm.""" + +# part is compiled with $CXX, the rest is in Perl +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'openmp': True, 'cstd': 'c++11'} + +github_account = 'DerrickWood' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-2.1.1_fix_installation_for_easybuild.patch', + '%(name)s-%(version)s_fix_ncbi_https_server.patch', +] +checksums = [ + 'e5f431e8bc3d5493a79e1d8125f4aacbad24f9ea2cc9657b66da06a32bef6ff3', # v2.1.2.tar.gz + # Kraken2-2.1.1_fix_installation_for_easybuild.patch + '5ea9093becbdf7705a29fd2e56050118700c850ac5374aae5ee9b5e5924d3a11', + '8db78096340352e97589a189a86a020ff31bd60f0c332a1794d532fabd5bd116', # Kraken2-2.1.2_fix_ncbi_https_server.patch +] + +dependencies = [ + ('Perl', '5.34.1'), + ('BLAST+', '2.13.0'), + ('wget', '1.21.3'), +] + +install_cmd = 'cd %(builddir)s/%(namelower)s-%(version)s && ' +install_cmd += './install_kraken2.sh %(installdir)s/bin' + +# Kraken2 databases can be downloaded from https://benlangmead.github.io/aws-indexes/k2 +# or built as described in https://github.com/DerrickWood/kraken2/wiki/Manual#kraken-2-databases +# The following commands will build and install the standard databases (100GB) in local_db_path +# local_db_path = '%(installdir)s/db' +# postinstallcmds = [ +# 'mkdir %s' % local_db_path, +# 'cd %%(installdir)s/bin && ./kraken2-build --standard --threads %%(parallel)s --db %s' % local_db_path, +# ] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + '16S_gg_installation.sh', '16S_rdp_installation.sh', '16S_silva_installation.sh', 'add_to_library.sh', + 'build_db', 'build_gg_taxonomy.pl', 'build_kraken2_db.sh', 'build_rdp_taxonomy.pl', 'build_silva_taxonomy.pl', + 'classify', 'clean_db.sh', 'cp_into_tempfile.pl', 'download_genomic_library.sh', 'download_taxonomy.sh', + 'dump_table', 'estimate_capacity', 'kraken2', 'kraken2-build', 'kraken2-inspect', 'kraken2lib.pm', + 'lookup_accession_numbers.pl', 'make_seqid2taxid_map.pl', 'mask_low_complexity.sh', 'rsync_from_ncbi.pl', + 'scan_fasta_file.pl']], + 'dirs': [], +} + +sanity_check_commands = [ + 'kraken2 --help', + 'kraken2-build --help', + 'kraken2-inspect --help', + 'build_db -h', + 'classify -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2_fix_ncbi_https_server.patch b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2_fix_ncbi_https_server.patch new file mode 100644 index 00000000000..039833e73ff --- /dev/null +++ b/easybuild/easyconfigs/k/Kraken2/Kraken2-2.1.2_fix_ncbi_https_server.patch @@ -0,0 +1,14 @@ +Allow syncing from NCBI servers using HTTPS +Fixes issue https://github.com/DerrickWood/kraken2/issues/508 +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/scripts/rsync_from_ncbi.pl 2021-10-14 01:16:34.847950000 +0200 ++++ b/scripts/rsync_from_ncbi.pl 2021-10-14 01:16:55.110006000 +0200 +@@ -43,7 +43,7 @@ + my $full_path = $ftp_path . "/" . basename($ftp_path) . $suffix; + # strip off server/leading dir name to allow --files-from= to work w/ rsync + # also allows filenames to just start with "all/", which is nice +- if (! ($full_path =~ s#^ftp://${qm_server}${qm_server_path}/##)) { ++ if (! ($full_path =~ s#^(ftp|https)://${qm_server}${qm_server_path}/##)) { + die "$PROG: unexpected FTP path (new server?) for $ftp_path\n"; + } + $manifest{$full_path} = $taxid; diff --git a/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..7e0b6557ddd --- /dev/null +++ b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.3-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'KrakenUniq' +version = '1.0.3' + +homepage = 'https://github.com/fbreitwieser/krakenuniq/' +description = """KrakenUniq: confident and fast metagenomics classification using unique k-mer counts""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'fbreitwieser' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['559b45081688118b4872e1b9153f83d0ae3414649a1b299ab4f9996d9e154403'] + +dependencies = [ + ('Jellyfish', '2.3.0'), + ('Perl', '5.34.1'), + ('bzip2', '1.0.8'), + ('Compress-Raw-Zlib', '2.202'), +] + +extract_sources = True + +install_cmd = './install_krakenuniq.sh -l %(installdir)s/bin %(installdir)s ' + +sanity_check_commands = [ + 'krakenuniq --version', + 'krakenuniq-download --db %(installdir)s/DBDIR taxonomy && rm -r %(installdir)s/DBDIR' +] +sanity_check_paths = { + 'files': ['bin/krakenuniq', 'bin/krakenuniq-build', 'bin/krakenuniq-report'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..cf5cd9e7a25 --- /dev/null +++ b/easybuild/easyconfigs/k/KrakenUniq/KrakenUniq-1.0.4-GCC-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'KrakenUniq' +version = '1.0.4' + +homepage = 'https://github.com/fbreitwieser/krakenuniq/' +description = """KrakenUniq: confident and fast metagenomics classification using unique k-mer counts""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'fbreitwieser' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5e2ef21878c1c4ce92be9925e47b9ccae0ecb59a79d71cc4cbb53d057e0de9ec'] + +dependencies = [ + ('Jellyfish', '2.3.0'), + ('Perl', '5.36.0'), + ('bzip2', '1.0.8'), + ('Compress-Raw-Zlib', '2.202'), +] + +extract_sources = True + +install_cmd = './install_krakenuniq.sh -l %(installdir)s/bin %(installdir)s ' + +sanity_check_commands = [ + 'krakenuniq --version', + 'krakenuniq-download --db %(installdir)s/DBDIR taxonomy && rm -r %(installdir)s/DBDIR' +] +sanity_check_paths = { + 'files': ['bin/krakenuniq', 'bin/krakenuniq-build', 'bin/krakenuniq-report'], + 'dirs': ['bin'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/Kratos/Kratos-6.0-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/k/Kratos/Kratos-6.0-foss-2018a-Python-3.6.4.eb index 1feb856eb57..2084383830f 100644 --- a/easybuild/easyconfigs/k/Kratos/Kratos-6.0-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/k/Kratos/Kratos-6.0-foss-2018a-Python-3.6.4.eb @@ -27,7 +27,7 @@ dependencies = [ separate_build_dir = True # see configure.sh script for default set of configuration options -configopts = "-DCMAKE_BUILD_TYPE=Release -DKRATOS_INSTALL_PREFIX=%(installdir)s " +configopts = "-DKRATOS_INSTALL_PREFIX=%(installdir)s " configopts += "-DBOOST_ROOT=$EBROOTBOOST -DBoost_NO_SYSTEM_PATHS=ON -DBoost_NO_BOOST_CMAKE=ON " configopts += "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python -DINSTALL_EMBEDDED_PYTHON=ON -DINSTALL_PYTHON_FILES=ON " configopts += "-DMESHING_APPLICATION=ON -DEXTERNAL_SOLVERS_APPLICATION=ON -DSTRUCTURAL_MECHANICS_APPLICATION=ON " diff --git a/easybuild/easyconfigs/k/Kratos/Kratos-6.0-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/k/Kratos/Kratos-6.0-intel-2018a-Python-3.6.4.eb index 7df486aa091..70c8492910a 100644 --- a/easybuild/easyconfigs/k/Kratos/Kratos-6.0-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/k/Kratos/Kratos-6.0-intel-2018a-Python-3.6.4.eb @@ -31,7 +31,7 @@ dependencies = [ separate_build_dir = True # see configure.sh script for default set of configuration options -configopts = "-DCMAKE_BUILD_TYPE=Release -DKRATOS_INSTALL_PREFIX=%(installdir)s " +configopts = "-DKRATOS_INSTALL_PREFIX=%(installdir)s " configopts += "-DBOOST_ROOT=$EBROOTBOOST -DBoost_NO_SYSTEM_PATHS=ON -DBoost_NO_BOOST_CMAKE=ON " configopts += "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python -DINSTALL_EMBEDDED_PYTHON=ON -DINSTALL_PYTHON_FILES=ON " configopts += "-DMESHING_APPLICATION=ON -DEXTERNAL_SOLVERS_APPLICATION=ON -DSTRUCTURAL_MECHANICS_APPLICATION=ON " diff --git a/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8-GCC-10.3.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..ed750ec4e87 --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8-GCC-10.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' + +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': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/marbl/Krona/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar'] +checksums = ['56efc028b6226a1aea8ec4e9f049836b07d4833e7e4d5b9189118ed51a47c9c0'] + +dependencies = [('Perl', '5.32.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/KronaTools/KronaTools-2.8.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..25657b328af --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.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': '11.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.34.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-11.3.0.eb b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8eb58d4954b --- /dev/null +++ b/easybuild/easyconfigs/k/KronaTools/KronaTools-2.8.1-GCCcore-11.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': '11.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.34.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/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/KyotoCabinet/KyotoCabinet-1.2.80-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/KyotoCabinet/KyotoCabinet-1.2.80-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..92a1ca70d10 --- /dev/null +++ b/easybuild/easyconfigs/k/KyotoCabinet/KyotoCabinet-1.2.80-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'KyotoCabinet' +version = '1.2.80' + +homepage = 'https://dbmx.net/kyotocabinet/' +description = "Kyoto Cabinet is a library of routines for managing a database." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://dbmx.net/kyotocabinet/pkg/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4c85d736668d82920bfdbdb92ac3d66b7db1108f09581a769dd9160a02def349'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/kcdirmgr', 'bin/kcdirtest', 'bin/kcstashtest', 'bin/kcpolymgr', 'bin/kcpolytest'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.46.2-foss-2020b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.46.2-foss-2020b.eb index aa268d4e373..d57bbc1de73 100644 --- a/easybuild/easyconfigs/k/kallisto/kallisto-0.46.2-foss-2020b.eb +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.46.2-foss-2020b.eb @@ -25,6 +25,7 @@ builddependencies = [ dependencies = [('HDF5', '1.10.7')] preconfigopts = "cd ../%(name)s-%(version)s/ext/htslib/ && autoreconf && cd - &&" +configopts = '-DUSE_HDF5=ON' parallel = 1 diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021a.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021a.eb new file mode 100644 index 00000000000..3f83a6f896b --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021a.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.48.0' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0'] + +builddependencies = [ + ('Autotools', '20210128'), + ('CMake', '3.20.1'), + ('zlib', '1.2.11'), +] + +dependencies = [('HDF5', '1.10.7')] + +preconfigopts = "cd ../%(name)s-%(version)s/ext/htslib/ && " +preconfigopts += "sed -i '/AC_PROG_CC/a AC_CANONICAL_HOST' configure.ac && " +preconfigopts += "autoreconf -i && cd - && " +configopts = '-DUSE_HDF5=ON' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb new file mode 100644 index 00000000000..a44f872bb10 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2021b.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.48.0' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0'] + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.22.1'), + ('zlib', '1.2.11'), +] + +dependencies = [('HDF5', '1.12.1')] + +preconfigopts = "cd ../%(name)s-%(version)s/ext/htslib/ && " +preconfigopts += "sed -i '/AC_PROG_CC/a AC_CANONICAL_HOST' configure.ac && " +preconfigopts += "autoreconf -i && cd - && " +configopts = '-DUSE_HDF5=ON' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb new file mode 100644 index 00000000000..18ebd60e3a9 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0-gompi-2022a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.48.0' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['kallisto-%(version)s_use-external-htslib.patch'] +checksums = [ + {'v0.48.0.tar.gz': '1797ac4d1f0771e3f1f25dd7972bded735fcb43f853cf52184d3d9353a6269b0'}, + {'kallisto-0.48.0_use-external-htslib.patch': 'fa9a96c7f8731006b6c87e1397429a292ebb3aa3e5d3db4fc9520d8c8a13f920'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('HTSlib', '1.15.1'), +] + +parallel = 1 + +configopts = '-DUSE_HDF5=ON' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = [ + "kallisto version", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto index -i ts.idx transcripts.fasta.gz", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto quant -i ts.idx -o out -b 100 reads_{1,2}.fastq.gz", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch new file mode 100644 index 00000000000..87a4f6a0e31 --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.48.0_use-external-htslib.patch @@ -0,0 +1,74 @@ +Use external HTSlib from EasyBuild environment +author: Alex Domingo (Vrije Univeristeit Brussel) +--- CMakeLists.txt.orig 2023-02-21 14:15:06.928502000 +0100 ++++ CMakeLists.txt 2023-02-21 14:20:48.902166000 +0100 +@@ -41,22 +41,6 @@ + message("shared build") + ENDIF(LINK MATCHES static) + +- +-include(ExternalProject) +-ExternalProject_Add(htslib +- PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib +- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/htslib +- BUILD_IN_SOURCE 1 +- CONFIGURE_COMMAND autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure +- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl +- BUILD_COMMAND make lib-static +- INSTALL_COMMAND "" +-) +- +-include_directories(${htslib_PREFIX}/src/htslib) +- +- +- + # add_compile_options(-Wdeprecated-register) + + add_subdirectory(src) +--- src/CMakeLists.txt.orig 2023-02-21 14:20:56.996543000 +0100 ++++ src/CMakeLists.txt 2023-02-21 15:10:35.835647000 +0100 +@@ -3,7 +3,7 @@ + + list(REMOVE_ITEM sources main.cpp) + +-include_directories(../ext/htslib) ++include_directories(SYSTEM $ENV{EBROOTHTSLIB}/include) + + add_library(kallisto_core ${sources} ${headers}) + target_include_directories(kallisto_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +@@ -11,7 +11,8 @@ + add_executable(kallisto main.cpp) + + find_package( Threads REQUIRED ) +-target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a) ++find_library($ENV{EBROOTHTSLIB}/lib hts) ++target_link_libraries(kallisto kallisto_core pthread hts) + + if(LINK MATCHES static) + set(BUILD_SHARED_LIBS OFF) +--- src/kseq.h.orig 2023-02-21 15:34:20.910947000 +0100 ++++ src/kseq.h 2023-02-21 17:09:01.242218765 +0100 +@@ -28,6 +28,8 @@ + #include + #include + ++#include "htslib/kstring.h" ++ + #define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r + #define KS_SEP_TAB 1 // isspace() && !' ' + #define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows) +@@ -74,14 +76,6 @@ + return (int)ks->buf[ks->begin++]; \ + } + +-#ifndef KSTRING_T +-#define KSTRING_T kstring_t +-typedef struct __kstring_t { +- size_t l, m; +- char *s; +-} kstring_t; +-#endif +- + #ifndef kroundup32 + #define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) + #endif diff --git a/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb b/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb new file mode 100644 index 00000000000..86bc46c567b --- /dev/null +++ b/easybuild/easyconfigs/k/kallisto/kallisto-0.50.1-gompi-2022b.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'kallisto' +version = '0.50.1' + +homepage = 'https://pachterlab.github.io/kallisto/' +description = """kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally + of target sequences using high-throughput sequencing reads.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +github_account = 'pachterlab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.50.1.tar.gz': '030752bab3b0e33cd3f23f6d8feddd74194e5513532ffbf23519e84db2a86d34'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('HTSlib', '1.17'), +] + +parallel = 1 + +configopts = '-DUSE_HDF5=ON' + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = [ + "kallisto version", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto index -i ts.idx transcripts.fasta.gz", + "cd %(builddir)s/%(name)s-%(version)s/test && kallisto quant -i ts.idx -o out -b 100 reads_{1,2}.fastq.gz", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb new file mode 100644 index 00000000000..5095d96038d --- /dev/null +++ b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'kb-python' +version = '0.27.3' + +homepage = 'https://www.kallistobus.tools/' +description = """kallisto | bustools is a workflow for pre-processing single-cell RNA-seq data. + Pre-processing single-cell RNA-seq involves: (1) association of reads with their cells of origin, + (2) collapsing of reads according to unique molecular identifiers (UMIs), and (3) generation of + gene or feature counts from the reads to generate a cell x gene matrix.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('h5py', '3.6.0'), + ('IPython', '7.26.0'), + ('loompy', '3.0.7'), + ('Pysam', '0.17.0'), + ('Python', '3.9.6'), + ('scanpy', '1.8.2'), + ('scikit-learn', '1.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('shortuuid', '1.0.11', { + 'checksums': ['fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789'], + }), + ('ngs-tools', '1.8.3', { + 'checksums': ['c50e36105654cdea14b4c7971994a3e710157663aaf0fd72c4d83a486f12cdb0'], + }), + ('tenacity', '8.1.0', { + 'checksums': ['e48c437fdf9340f5666b92cd7990e96bc5fc955e1298baf4a907e3972067a445'], + }), + ('plotly', '5.13.0', { + 'checksums': ['81a3aae4021d5ab91790fc71c3433791f41bfc71586e857f7777f429a955039a'], + }), + (name, version, { + 'sources': ['kb_python-%(version)s.tar.gz'], + 'checksums': ['dc98f6ceb4402d666b7e0d19be17c63d33e8b710a35cdc33de7c0f457122f43f'], + }), +] + +sanity_check_commands = ['kb info | grep "kb_python %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2022a.eb b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2022a.eb new file mode 100644 index 00000000000..8633efb7165 --- /dev/null +++ b/easybuild/easyconfigs/k/kb-python/kb-python-0.27.3-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'kb-python' +version = '0.27.3' + +homepage = 'https://www.kallistobus.tools/' +description = """kallisto | bustools is a workflow for pre-processing single-cell RNA-seq data. + Pre-processing single-cell RNA-seq involves: (1) association of reads with their cells of origin, + (2) collapsing of reads according to unique molecular identifiers (UMIs), and (3) generation of + gene or feature counts from the reads to generate a cell x gene matrix.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('h5py', '3.7.0'), + ('IPython', '8.5.0'), + ('loompy', '3.0.7'), + ('Pysam', '0.19.1'), + ('Python', '3.10.4'), + ('scanpy', '1.9.1'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('shortuuid', '1.0.11', { + 'checksums': ['fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789'], + }), + ('ngs-tools', '1.8.3', { + 'checksums': ['c50e36105654cdea14b4c7971994a3e710157663aaf0fd72c4d83a486f12cdb0'], + }), + ('tenacity', '8.2.2', { + 'checksums': ['43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0'], + }), + ('plotly', '5.15.0', { + 'checksums': ['822eabe53997d5ebf23c77e1d1fcbf3bb6aa745eb05d532afd4b6f9a2e2ab02f'], + }), + (name, version, { + 'sources': ['kb_python-%(version)s.tar.gz'], + 'checksums': ['dc98f6ceb4402d666b7e0d19be17c63d33e8b710a35cdc33de7c0f457122f43f'], + }), +] + +sanity_check_commands = ['kb info | grep "kb_python %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-foss-2019a.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-foss-2019a.eb index ede81d82e98..48fa5205f93 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-foss-2019a.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-foss-2019a.eb @@ -29,8 +29,6 @@ sources = ['%(name)s-%(version)s.txz'] checksums = ['16c7dd362cf95288b6288e1a76caf8baef652eb2cf8af500a5eb4767ba2fe80c'] parallel = 1 -separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-intel-2019a.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-intel-2019a.eb index add215ba79a..4462a6902a4 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-intel-2019a.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.2-intel-2019a.eb @@ -29,9 +29,6 @@ sources = ['%(name)s-%(version)s.txz'] checksums = ['16c7dd362cf95288b6288e1a76caf8baef652eb2cf8af500a5eb4767ba2fe80c'] parallel = 1 -separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' - modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' } diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2019b.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2019b.eb index 4ac7ff3989a..d2bbb80d815 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2019b.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2019b.eb @@ -29,9 +29,6 @@ sources = ['%(name)s-%(version)s.txz'] checksums = ['88a5416006c65a2940d82fad49de0885aead05bfa8b59f87d287db5516b9c467'] parallel = 1 -separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' - modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' } diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2020a.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2020a.eb index 3fc9c6cb46f..36a0c912cde 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2020a.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-foss-2020a.eb @@ -29,8 +29,6 @@ dependencies = [ ] parallel = 1 -separate_build_dir = True -build_type = 'Release' modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2019b.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2019b.eb index b3f1e459c75..6951314c438 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2019b.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2019b.eb @@ -29,9 +29,6 @@ sources = ['%(name)s-%(version)s.txz'] checksums = ['88a5416006c65a2940d82fad49de0885aead05bfa8b59f87d287db5516b9c467'] parallel = 1 -separate_build_dir = True -configopts = '-DCMAKE_BUILD_TYPE=Release ' - modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' } diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2020a.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2020a.eb index 944a2f80e09..50e1ba1f84c 100644 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2020a.eb +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.1.3-intel-2020a.eb @@ -29,8 +29,6 @@ dependencies = [ ] parallel = 1 -separate_build_dir = True -build_type = 'Release' modextravars = { 'KIM_API_CMAKE_PREFIX_DIR': '%(installdir)s/lib64' diff --git a/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCC-10.2.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..a3d76ec4646 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCC-10.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'kim-api' +version = '2.2.1' + +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': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e'] + +dependencies = [ + ('CMake', '3.18.4'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 + +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/k/kim-api/kim-api-2.2.1-GCC-10.3.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..732c7773479 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCC-10.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'kim-api' +version = '2.2.1' + +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': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e'] + +dependencies = [ + ('CMake', '3.20.1'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 + +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/k/kim-api/kim-api-2.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCCcore-10.2.0.eb deleted file mode 100644 index 6c0ae0afd6e..00000000000 --- a/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-GCCcore-10.2.0.eb +++ /dev/null @@ -1,46 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'kim-api' -version = '2.2.1' - -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': 'GCCcore', 'version': '10.2.0'} - -source_urls = ['https://s3.openkim.org/kim-api/'] -sources = ['%(name)s-%(version)s.txz'] -checksums = ['1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e'] - -builddependencies = [('binutils', '2.35')] - -dependencies = [ - ('CMake', '3.18.4'), # Also needed to install models, thus not just a builddependency. -] - -parallel = 1 -separate_build_dir = True -build_type = 'Release' - -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/k/kim-api/kim-api-2.2.1-iccifort-2020.4.304.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..825a324d757 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.2.1-iccifort-2020.4.304.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'kim-api' +version = '2.2.1' + +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': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['1d5a12928f7e885ebe74759222091e48a7e46f77e98d9147e26638c955efbc8e'] + +dependencies = [ + ('CMake', '3.18.4'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 + +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/k/kim-api/kim-api-2.3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..7f3a0b38ef7 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +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': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991'] + +dependencies = [ + ('CMake', '3.22.1'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 +separate_build_dir = True +build_type = 'Release' + +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/k/kim-api/kim-api-2.3.0-GCC-11.3.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..1775b989448 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-11.3.0.eb @@ -0,0 +1,44 @@ +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': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991'] + +dependencies = [ + ('CMake', '3.23.1'), # Also needed to install models, thus not just a builddependency. +] + +parallel = 1 +separate_build_dir = True +build_type = 'Release' + +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/k/kim-api/kim-api-2.3.0-GCC-12.2.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..c6034f2db8b --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-12.2.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': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991'] + +dependencies = [ + ('CMake', '3.24.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/k/kim-api/kim-api-2.3.0-GCC-12.3.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..3d14e990f5a --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-12.3.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': 'GCC', 'version': '12.3.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/k/kim-api/kim-api-2.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..5b1bf9a4cd6 --- /dev/null +++ b/easybuild/easyconfigs/k/kim-api/kim-api-2.3.0-GCC-13.2.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': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://s3.openkim.org/kim-api/'] +sources = ['%(name)s-%(version)s.txz'] +checksums = ['93673bb8fbc0625791f2ee67915d1672793366d10cabc63e373196862c14f991'] + +dependencies = [ + ('CMake', '3.27.6'), # 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/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/k/kineto/kineto-0.4.0-GCC-11.3.0.eb b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..45b6114f29d --- /dev/null +++ b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'kineto' +version = '0.4.0' + +homepage = 'https://github.com/pytorch/kineto' +description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/pytorch/kineto/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.4', '-bare'), +] + +start_dir = 'libkineto' + +sanity_check_paths = { + 'files': ['lib/libkineto.a'], + 'dirs': ['include/kineto'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..4dd6b4afdf1 --- /dev/null +++ b/easybuild/easyconfigs/k/kineto/kineto-0.4.0-GCC-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'kineto' +version = '0.4.0' + +homepage = 'https://github.com/pytorch/kineto' +description = "A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/pytorch/kineto/archive/'] +sources = [{ + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': name, + 'tag': 'v%(version)s', + 'recursive': True, + }, + 'filename': SOURCE_TAR_GZ, +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), +] + +start_dir = 'libkineto' + +sanity_check_paths = { + 'files': ['lib/libkineto.a'], + 'dirs': ['include/kineto'], +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/k/king/king-2.2.4.eb b/easybuild/easyconfigs/k/king/king-2.2.4.eb index 4f9dd94cc27..d3c17829c0e 100644 --- a/easybuild/easyconfigs/k/king/king-2.2.4.eb +++ b/easybuild/easyconfigs/k/king/king-2.2.4.eb @@ -7,7 +7,7 @@ easyblock = 'BinariesTarball' name = 'king' version = '2.2.4' -homepage = 'https://people.virginia.edu/~wc9c/KING/' +homepage = 'https://kingrelatedness.com/' description = """KING is a toolset that makes use of high-throughput SNP data typically seen in a genome-wide association study (GWAS) or a sequencing project. Applications of KING include family relationship @@ -16,7 +16,7 @@ substructure identification, forensics, gene mapping, etc.""" toolchain = SYSTEM -source_urls = ['https://people.virginia.edu/~wc9c/KING/executables'] +source_urls = ['https://kingrelatedness.com/executables/'] sources = ['Linux-%%(name)s%s.tar.gz' % version.replace('.', '')] checksums = ['405e603875d04e19559598f2b27e5e8113d5b4424388a92fa0b40251897c592b'] diff --git a/easybuild/easyconfigs/k/king/king-2.2.7.eb b/easybuild/easyconfigs/k/king/king-2.2.7.eb new file mode 100644 index 00000000000..d6eb005690c --- /dev/null +++ b/easybuild/easyconfigs/k/king/king-2.2.7.eb @@ -0,0 +1,28 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'BinariesTarball' + +name = 'king' +version = '2.2.7' + +homepage = 'https://kingrelatedness.com/' +description = """KING is a toolset that makes use of high-throughput +SNP data typically seen in a genome-wide association study (GWAS) or +a sequencing project. Applications of KING include family relationship +inference and pedigree error checking, quality control, population +substructure identification, forensics, gene mapping, etc.""" + +toolchain = SYSTEM + +source_urls = ['https://kingrelatedness.com/executables/'] +sources = ['Linux-%%(name)s%s.tar.gz' % version.replace('.', '')] +checksums = ['8fcc5c7cce1df80f80dc3ace4e64c9047a4156e361f787d368a89f7e654231da'] + +sanity_check_paths = { + 'files': ['bin/king'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kma/kma-1.4.12a-GCC-12.2.0.eb b/easybuild/easyconfigs/k/kma/kma-1.4.12a-GCC-12.2.0.eb new file mode 100644 index 00000000000..350f33cd863 --- /dev/null +++ b/easybuild/easyconfigs/k/kma/kma-1.4.12a-GCC-12.2.0.eb @@ -0,0 +1,36 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# 1.4.2 - updated by Adam Huffman, University of Oxford + +easyblock = 'MakeCp' + +name = 'kma' +version = '1.4.12a' + +homepage = 'https://bitbucket.org/genomicepidemiology/kma' +description = """KMA is a mapping method designed to map raw reads directly against redundant databases, +in an ultra-fast manner using seed and extend.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +# https://bitbucket.org/genomicepidemiology/kma +bitbucket_account = 'genomicepidemiology' +source_urls = [BITBUCKET_SOURCE] +sources = ['%(version)s.tar.bz2'] +checksums = ['e19758106647a15f7809ce47b9dbefd27a76b8527cd0368259d631fb13a6b996'] + +dependencies = [ + ('zlib', '1.2.12'), +] + +local_bin_list = ['kma', 'kma_index', 'kma_shm', 'kma_update'] + +files_to_copy = [(local_bin_list, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_list], + 'dirs': [] +} +sanity_check_commands = ['%s -h' % f for f in local_bin_list] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/kneaddata/kneaddata-0.12.0-foss-2022a.eb b/easybuild/easyconfigs/k/kneaddata/kneaddata-0.12.0-foss-2022a.eb new file mode 100644 index 00000000000..0a640c31fb6 --- /dev/null +++ b/easybuild/easyconfigs/k/kneaddata/kneaddata-0.12.0-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'kneaddata' +version = '0.12.0' + +homepage = 'http://huttenhower.sph.harvard.edu/kneaddata' +description = """KneadData is a tool designed to perform quality control on metagenomic and +metatranscriptomic sequencing data, especially data from microbiome experiments.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Trimmomatic', '0.39', '-Java-%(javaver)s', SYSTEM), + ('Bowtie2', '2.4.5'), + ('Java', '11', '', SYSTEM), + ('TRF', '4.09.1'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +exts_list = [ + (name, version, { + 'checksums': ['b211bf973ea50cc89dd5935761ca3b101d422cfb62b215aae08f5ed92a624a58'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fe21c19fe3a --- /dev/null +++ b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'krbalancing' +version = '0.5.0b0' + +homepage = 'https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm' +description = "A C++ extension for Python which computes K.R. balanced matrices." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pybind11', '2.9.2'), + ('conan', '1.58.0'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/dilawar/Knight-Ruiz-Matrix-balancing-algorithm/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': ['krbalancing-0.5.0b0_fix-CMakeLists.patch'], + 'checksums': [ + {'krbalancing-0.5.0b0.tar.gz': 'b53d7cd1e84759b0dde7a6fa277d4ffe9bdbaead65db9a9a06aa2653ff0594ea'}, + {'krbalancing-0.5.0b0_fix-CMakeLists.patch': + '6950ef427402c26a403fb97f3b44f0cd3d29f01f0c41b0c3b7b2da3f0bbbee00'}, + ], + 'preinstallopts': "export CONAN_USER_HOME=%(builddir)s && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch new file mode 100644 index 00000000000..cef69f9315c --- /dev/null +++ b/easybuild/easyconfigs/k/krbalancing/krbalancing-0.5.0b0_fix-CMakeLists.patch @@ -0,0 +1,42 @@ +remove workaround for problem with conan and pybind11 (which is fixed in recent conan versions), +and fix for: ERROR: No remote 'conan-center' defined in remotes +author: Kenneth Hoste (HPC-UGent) +see also https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm/issues/24 +--- Knight-Ruiz-Matrix-balancing-algorithm-0.5.0b0/CMakeLists.txt.orig 2023-02-15 10:51:06.719532727 +0100 ++++ Knight-Ruiz-Matrix-balancing-algorithm-0.5.0b0/CMakeLists.txt 2023-02-15 10:50:25.589499665 +0100 +@@ -27,31 +27,20 @@ + message(STATUS " project version ${CMAKE_PROJECT_VERSION}") + add_definitions(-DCMAKE_PROJECT_VERSION=\"${CMAKE_PROJECT_VERSION}\") + +-# pybind11 config file has a bug that makes is impossible to use with +-# conan_cmake_configure. +-# https://github.com/conan-io/conan-center-index/pull/4445 + conan_cmake_configure(REQUIRES +- # pybind11/2.6.1 ++ pybind11/2.6.1 + eigen/3.3.9 + GENERATORS cmake_find_package) +-# find_package(pybind11 REQUIRED) + + conan_cmake_autodetect(settings) + conan_cmake_install(PATH_OR_REFERENCE . + BUILD missing +- REMOTE conan-center ++ REMOTE conancenter + SETTINGS ${settings}) + ++find_package(pybind11 REQUIRED) + find_package(Eigen3 REQUIRED) + +- +-# hack around pybind11 bug +-# https://github.com/conan-io/conan-center-index/pull/4445 +-conan_cmake_run(REQUIRES pybind11/2.6.1 +- BASIC_SETUP NO_OUTPUT_DIRS CMAKE_TARGETS +- BUILD missing) +- +- + pybind11_add_module(krbalancing src/krbalancing.cpp) +-target_link_libraries(krbalancing PRIVATE Eigen3::Eigen CONAN_PKG::pybind11) ++target_link_libraries(krbalancing PRIVATE Eigen3::Eigen pybind11::pybind11) + target_link_libraries(krbalancing PRIVATE OpenMP::OpenMP_CXX) diff --git a/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb index e7a9e16bb55..40c4ad01393 100644 --- a/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/LADR/LADR-2009-11A-GCCcore-10.2.0.eb @@ -32,6 +32,8 @@ sanity_check_paths = { 'dirs': ['share'], } -sanity_check_commands = [("prover9 -h 2>&1 | grep 'Usage: prover9 \[-h\] \[-x\] \[-p\] \[-t \] \[-f \]'", '')] +sanity_check_commands = [( + r"prover9 -h 2>&1 | grep 'Usage: prover9 \[-h\] \[-x\] \[-p\] \[-t \] \[-f \]'", '' +)] moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9e8668e6a50 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e', # lame-3.100.tar.gz + '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256', # LAME-3.99.5_check-tgetent.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [('ncurses', '6.2')] + +preconfigopts = "autoconf && " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5efdefb761f --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e', # lame-3.100.tar.gz + '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256', # LAME-3.99.5_check-tgetent.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [('ncurses', '6.3')] + +preconfigopts = "autoconf && " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7d4bae408d5 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + {'lame-3.100.tar.gz': 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e'}, + {'LAME-3.99.5_check-tgetent.patch': '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [('ncurses', '6.3')] + +preconfigopts = "autoconf && " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a4c7dbd4278 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e', # lame-3.100.tar.gz + '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256', # LAME-3.99.5_check-tgetent.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [('ncurses', '6.4')] + +preconfigopts = "autoconf && " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1bffb9a1939 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e', # lame-3.100.tar.gz + '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256', # LAME-3.99.5_check-tgetent.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [('ncurses', '6.4')] + +preconfigopts = "autoconf && " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1fa3ca78fd9 --- /dev/null +++ b/easybuild/easyconfigs/l/LAME/LAME-3.100-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'LAME' +version = '3.100' + +homepage = 'http://lame.sourceforge.net/' +description = """LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://sourceforge.net/projects/lame/files/lame/%(version_major_minor)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LAME-3.99.5_check-tgetent.patch'] +checksums = [ + 'ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e', # lame-3.100.tar.gz + '8bfb6a73f2db1511baf90fbd7174f11043ec4b592a4917edc30ccfb53bf37256', # LAME-3.99.5_check-tgetent.patch +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [('ncurses', '6.5')] + +preconfigopts = "autoconf && " + +# configure is broken: add workaround to find libncurses... +preconfigopts += "FRONTEND_LDADD='-L${EBROOTNCURSES}/lib' " + +sanity_check_paths = { + 'files': ['bin/lame', 'include/lame/lame.h', 'lib/libmp3lame.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos-CUDA-11.3.1.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos-CUDA-11.3.1.eb new file mode 100644 index 00000000000..8586d51a9bc --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos-CUDA-11.3.1.eb @@ -0,0 +1,174 @@ +name = 'LAMMPS' +version = '23Jun2022' +versionsuffix = '-kokkos' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix += _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': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + 'stable_%(version)s_update1.tar.gz', +] +patches = ['LAMMPS-23June2022_fix-timestep-balance-example.patch'] +checksums = [ + {'stable_23Jun2022_update1.tar.gz': '58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'}, + {'LAMMPS-23June2022_fix-timestep-balance-example.patch': + '0ad6c953f08b0d539b189b7aa7cef76774aebb9d633b07d5b6001ac0fcea3081'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.2'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', _cuda_suffix), + ('NCCL', '2.10.3', _cuda_suffix), + ('Python', '3.9.5'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('netCDF', '4.8.0'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.76.0'), + ('HDF5', '1.10.7'), + # ('tbb', '2020.3'), # Optionally required by Intel package but has a link problem when using nvlink + ('PCRE', '8.44'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.2.1'), + ('Eigen', '3.3.9'), + ('PLUMED', '2.7.2'), + ('ScaFaCoS', '1.0.1'), + ('SciPy-bundle', '2021.05'), + # VTK package is auto-disabled if this dep is not available + # ('VTK', '9.0.1'), +] + +# 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) + + +# include the following extra packages into the build +general_packages = [ + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SDK', + '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', + 'MANIFOLD', + # 'MACHDYN', # Some issue related to Eigen 3.3.9 when using Kokkos + 'MANYBODY', + 'MC', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPENMP', + '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 +# cuda_compute_capabilities = ['8.0'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos.eb new file mode 100644 index 00000000000..b0e9ecf29df --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021a-kokkos.eb @@ -0,0 +1,169 @@ +name = 'LAMMPS' +version = '23Jun2022' +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': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + 'stable_%(version)s_update1.tar.gz', +] +patches = ['LAMMPS-23June2022_fix-timestep-balance-example.patch'] +checksums = [ + {'stable_23Jun2022_update1.tar.gz': '58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'}, + {'LAMMPS-23June2022_fix-timestep-balance-example.patch': + '0ad6c953f08b0d539b189b7aa7cef76774aebb9d633b07d5b6001ac0fcea3081'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('netCDF', '4.8.0'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.76.0'), + ('HDF5', '1.10.7'), + ('PCRE', '8.44'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.2.1'), + ('Eigen', '3.3.9'), + ('PLUMED', '2.7.2'), + ('ScaFaCoS', '1.0.1'), + ('SciPy-bundle', '2021.05'), + # VTK package is auto-disabled if this dep is not available + # ('VTK', '9.0.1'), +] +if ARCH == 'x86_64': + # TBB is an optional dependency when building on Intel arch + dependencies += [('tbb', '2020.3'), ] + +# 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) + + +# include the following extra packages into the build +general_packages = [ + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SDK', + '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', + 'MANIFOLD', + 'MACHDYN', + 'MANYBODY', + 'MC', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPENMP', + '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/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-CUDA-11.4.1.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-CUDA-11.4.1.eb new file mode 100644 index 00000000000..52a83a2780b --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos-CUDA-11.4.1.eb @@ -0,0 +1,175 @@ +name = 'LAMMPS' +version = '23Jun2022' +versionsuffix = '-kokkos' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix += _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': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [ + 'stable_%(version)s_update1.tar.gz', +] +patches = ['LAMMPS-23June2022_fix-timestep-balance-example.patch'] +checksums = [ + {'stable_23Jun2022_update1.tar.gz': '58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'}, + {'LAMMPS-23June2022_fix-timestep-balance-example.patch': + '0ad6c953f08b0d539b189b7aa7cef76774aebb9d633b07d5b6001ac0fcea3081'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.3'), +] +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', _cuda_suffix), + ('NCCL', '2.10.3', _cuda_suffix), + ('Python', '3.9.6'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('netCDF', '4.8.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.78.0'), + ('HDF5', '1.12.1'), + # ('tbb', '2020.3'), # Optionally required by Intel package but has a link problem when using nvlink + ('PCRE', '8.45'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.7.3'), + ('ScaFaCoS', '1.0.1'), + ('SciPy-bundle', '2021.10'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.1.0'), +] + +# 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) + +# GCC 11/12 defaults to C++17 standard, need to be consistent +configopts = "-DKokkos_CXX_STANDARD=17 " + +# include the following extra packages into the build +general_packages = [ + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SDK', + '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', + 'MANIFOLD', + 'MACHDYN', + 'MANYBODY', + 'MC', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPENMP', + '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 +# cuda_compute_capabilities = ['8.0'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos.eb new file mode 100644 index 00000000000..02df689ed2a --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2021b-kokkos.eb @@ -0,0 +1,169 @@ +name = 'LAMMPS' +version = '23Jun2022' +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': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['stable_%(version)s_update1.tar.gz'] +patches = ['LAMMPS-23June2022_fix-timestep-balance-example.patch'] +checksums = [ + {'stable_23Jun2022_update1.tar.gz': '58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'}, + {'LAMMPS-23June2022_fix-timestep-balance-example.patch': + '0ad6c953f08b0d539b189b7aa7cef76774aebb9d633b07d5b6001ac0fcea3081'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), + ('archspec', '0.1.3'), +] +dependencies = [ + ('Python', '3.9.6'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('netCDF', '4.8.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('cURL', '7.78.0'), + ('HDF5', '1.12.1'), + ('PCRE', '8.45'), + ('libxml2', '2.9.10'), + ('FFmpeg', '4.3.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.7.3'), + ('SciPy-bundle', '2021.10'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.1.0'), +] +if ARCH == 'x86_64': + # TBB and ScaFaCoSis an optional dependency when building on Intel arch + dependencies += [ + ('tbb', '2020.3'), + ('ScaFaCoS', '1.0.1'), + ] + +# 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) + + +# include the following extra packages into the build +general_packages = [ + 'ASPHERE', + 'ATC', + 'AWPMD', + 'BOCS', + 'BODY', + 'BPM', + 'BROWNIAN', + 'CG-DNA', + 'CG-SDK', + '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', + 'MANIFOLD', + 'MACHDYN', + 'MANYBODY', + 'MC', + 'MEAM', + 'MGPT', + 'MISC', + 'ML-IAP', + 'ML-PACE', + 'ML-RANN', + 'ML-SNAP', + 'MOFFF', + 'MOLECULE', + 'MOLFILE', + 'MPIIO', + 'NETCDF', + 'OPENMP', + '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/LAMMPS/LAMMPS-23Jun2022-foss-2022a-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2022a-kokkos.eb new file mode 100644 index 00000000000..49d6a09592c --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23Jun2022-foss-2022a-kokkos.eb @@ -0,0 +1,172 @@ +name = 'LAMMPS' +version = '23Jun2022' +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': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +# 'https://github.com/lammps/lammps/archive/' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['stable_%(version)s_update4.tar.gz'] +patches = ['LAMMPS-23June2022_fix-timestep-balance-example.patch'] +checksums = [ + {'stable_23Jun2022_update4.tar.gz': '42541b4dbd0d339d16ddb377e76d192bc3d1d5712fdf9e2cdc838fc980d0a0cf'}, + {'LAMMPS-23June2022_fix-timestep-balance-example.patch': + '0ad6c953f08b0d539b189b7aa7cef76774aebb9d633b07d5b6001ac0fcea3081'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('archspec', '0.1.4'), +] +dependencies = [ + ('Python', '3.10.4'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('netCDF', '4.9.0'), + ('GSL', '2.7'), + ('zlib', '1.2.12'), + ('gzip', '1.12'), + ('cURL', '7.83.0'), + ('HDF5', '1.12.2'), + ('PCRE', '8.45'), + ('libxml2', '2.9.13'), + ('FFmpeg', '4.4.2'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.8.1'), + ('ScaFaCoS', '1.0.4'), + ('SciPy-bundle', '2022.05'), + # VTK package is auto-disabled if this dep is not available + ('VTK', '9.2.2'), +] +if ARCH == 'x86_64': + # TBB is an optional dependency when building on Intel arch + dependencies += [('tbb', '2021.5.0'), ] + +# 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/LAMMPS/LAMMPS-23June2022_fix-timestep-balance-example.patch b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23June2022_fix-timestep-balance-example.patch new file mode 100644 index 00000000000..d01f00767ce --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-23June2022_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_23Jun2022_update1.orig/examples/balance/in.balance lammps-stable_23Jun2022_update1/examples/balance/in.balance +--- lammps-stable_23Jun2022_update1.orig/examples/balance/in.balance 2022-08-05 22:57:43.000000000 +0200 ++++ lammps-stable_23Jun2022_update1/examples/balance/in.balance 2023-11-16 15:12:32.007322455 +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_23Jun2022_update1.orig/examples/balance/in.balance.bond.fast lammps-stable_23Jun2022_update1/examples/balance/in.balance.bond.fast +--- lammps-stable_23Jun2022_update1.orig/examples/balance/in.balance.bond.fast 2022-08-05 22:57:43.000000000 +0200 ++++ lammps-stable_23Jun2022_update1/examples/balance/in.balance.bond.fast 2023-11-16 15:12:42.151429264 +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_23Jun2022_update1.orig/examples/balance/in.balance.bond.slow lammps-stable_23Jun2022_update1/examples/balance/in.balance.bond.slow +--- lammps-stable_23Jun2022_update1.orig/examples/balance/in.balance.bond.slow 2022-08-05 22:57:43.000000000 +0200 ++++ lammps-stable_23Jun2022_update1/examples/balance/in.balance.bond.slow 2023-11-16 15:12:51.438706639 +0100 +@@ -58,5 +58,6 @@ + + thermo_style custom step temp epair press f_10[3] f_10 + thermo 100 ++timestep 0.001 + + run 40000 diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024-foss-2023b-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024-foss-2023b-kokkos.eb new file mode 100644 index 00000000000..177e6b4d2ce --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-29Aug2024-foss-2023b-kokkos.eb @@ -0,0 +1,177 @@ +name = 'LAMMPS' +version = '29Aug2024' +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': '2023b'} +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', +] +checksums = [ + {'stable_29Aug2024.tar.gz': '6112e0cc352c3140a4874c7f74db3c0c8e30134024164509ecf3772b305fde2e'}, + {'LAMMPS-2Aug2023_install_lammps_python_package_in_eb_software_module.patch': + '723c944b62b9d28427d25e80a7a67049631702d344df49268a6846aa0cd0fe04'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), + ('archspec', '0.2.2'), +] +dependencies = [ + ('Python', '3.11.5'), + ('libpng', '1.6.40'), + ('libjpeg-turbo', '3.0.1'), + ('netCDF', '4.9.2'), + ('GSL', '2.7'), + ('zlib', '1.2.13'), + ('gzip', '1.13'), + ('cURL', '8.3.0'), + ('HDF5', '1.14.3'), + ('PCRE', '8.45'), + ('libxml2', '2.11.5'), + ('FFmpeg', '6.0'), + ('Voro++', '0.4.6'), + ('kim-api', '2.3.0'), + ('Eigen', '3.4.0'), + ('PLUMED', '2.9.2'), + ('SciPy-bundle', '2023.11'), + # 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.29'), +] +if ARCH == 'x86_64': + # TBB and ScaFaCos are an optional dependency when building on Intel arch + dependencies += [ + ('tbb', '2021.13.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/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/LAMMPS/LAMMPS-3Mar2020-foss-2019b-Python-3.7.4-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2019b-Python-3.7.4-kokkos.eb index b0941e89897..bb60e5f730f 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2019b-Python-3.7.4-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2019b-Python-3.7.4-kokkos.eb @@ -25,9 +25,11 @@ sources = [ 'stable_%(version)s.tar.gz', {'filename': 'lammps_vs_yaff_test_single_point_energy.py', 'extract_cmd': "cp %s %(builddir)s"}, ] +patches = ['LAMMPS-3Mar2020_fix-docs-build.patch'] checksums = [ 'a1a2e3e763ef5baecea258732518d75775639db26e60af1634ab385ed89224d1', # stable_3Mar2020.tar.gz 'c28fa5a1ea9608e4fd8686937be501c3bed8cc03ce1956f1cf0a1efce2c75349', # lammps_vs_yaff_test_single_point_energy.py + '7f010853d81022f286cf32e3babe252d5cc7c0bfb274bee5a2c64e810e170239', # LAMMPS-3Mar2020_fix-docs-build.patch ] local_source_dir_name = '%(namelower)s-%(version)s' @@ -54,7 +56,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('Voro++', '0.4.6'), ('kim-api', '2.1.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('yaff', '1.6.0', local_python_versionsuffix), ('PLUMED', '2.5.3', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2020a-Python-3.8.2-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2020a-Python-3.8.2-kokkos.eb index 9cc825d8371..64fb76ca4d1 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2020a-Python-3.8.2-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-foss-2020a-Python-3.8.2-kokkos.eb @@ -26,10 +26,14 @@ sources = [ {'filename': 'lammps_vs_yaff_test_single_point_energy.py', 'extract_cmd': "cp %s %(builddir)s"}, ] # see https://github.com/lammps/lammps/pull/1483 for why this is needed -patches = ['lammps-stable_3Mar2020_hack_openmp_gcc9.patch'] +patches = [ + 'LAMMPS-3Mar2020_fix-docs-build.patch', + 'lammps-stable_3Mar2020_hack_openmp_gcc9.patch', +] checksums = [ 'a1a2e3e763ef5baecea258732518d75775639db26e60af1634ab385ed89224d1', # stable_3Mar2020.tar.gz 'c28fa5a1ea9608e4fd8686937be501c3bed8cc03ce1956f1cf0a1efce2c75349', # lammps_vs_yaff_test_single_point_energy.py + '7f010853d81022f286cf32e3babe252d5cc7c0bfb274bee5a2c64e810e170239', # LAMMPS-3Mar2020_fix-docs-build.patch '41a0bcb828be22d38bb489bbd4b1fd7803d7771a2308371f01e961c52b8c869f', # lammps-stable_3Mar2020_hack_openmp_gcc9.patch ] diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2019b-Python-3.7.4-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2019b-Python-3.7.4-kokkos.eb index ad1ed742081..a96f4e1bf04 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2019b-Python-3.7.4-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2019b-Python-3.7.4-kokkos.eb @@ -25,9 +25,15 @@ sources = [ 'stable_%(version)s.tar.gz', {'filename': 'lammps_vs_yaff_test_single_point_energy.py', 'extract_cmd': "cp %s %(builddir)s"}, ] +patches = [ + 'LAMMPS-3Mar2020_fix-docs-build.patch', + 'lammps-stable_3Mar2020_intel_ebflag.patch', +] checksums = [ 'a1a2e3e763ef5baecea258732518d75775639db26e60af1634ab385ed89224d1', # stable_3Mar2020.tar.gz 'c28fa5a1ea9608e4fd8686937be501c3bed8cc03ce1956f1cf0a1efce2c75349', # lammps_vs_yaff_test_single_point_energy.py + '7f010853d81022f286cf32e3babe252d5cc7c0bfb274bee5a2c64e810e170239', # LAMMPS-3Mar2020_fix-docs-build.patch + '3b04681bf8d5c60818a197905f68c83e477ef41824278ebc05d437ecac6d5c0a', # lammps-stable_3Mar2020_intel_ebflag.patch ] local_source_dir_name = '%(namelower)s-%(version)s' @@ -54,7 +60,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('Voro++', '0.4.6'), ('kim-api', '2.1.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('yaff', '1.6.0', local_python_versionsuffix), ('PLUMED', '2.5.3', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2020a-Python-3.8.2-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2020a-Python-3.8.2-kokkos.eb index 04cff2d8894..b7c188891e1 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2020a-Python-3.8.2-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-3Mar2020-intel-2020a-Python-3.8.2-kokkos.eb @@ -25,9 +25,15 @@ sources = [ 'stable_%(version)s.tar.gz', {'filename': 'lammps_vs_yaff_test_single_point_energy.py', 'extract_cmd': "cp %s %(builddir)s"}, ] +patches = [ + 'LAMMPS-3Mar2020_fix-docs-build.patch', + 'lammps-stable_3Mar2020_intel_ebflag.patch', +] checksums = [ 'a1a2e3e763ef5baecea258732518d75775639db26e60af1634ab385ed89224d1', # stable_3Mar2020.tar.gz 'c28fa5a1ea9608e4fd8686937be501c3bed8cc03ce1956f1cf0a1efce2c75349', # lammps_vs_yaff_test_single_point_energy.py + '7f010853d81022f286cf32e3babe252d5cc7c0bfb274bee5a2c64e810e170239', # LAMMPS-3Mar2020_fix-docs-build.patch + '3b04681bf8d5c60818a197905f68c83e477ef41824278ebc05d437ecac6d5c0a', # lammps-stable_3Mar2020_intel_ebflag.patch ] local_source_dir_name = '%(namelower)s-%(version)s' diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-foss-2019b-Python-3.7.4-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-foss-2019b-Python-3.7.4-kokkos.eb index b380301035a..3b651f5bb18 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-foss-2019b-Python-3.7.4-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-foss-2019b-Python-3.7.4-kokkos.eb @@ -56,7 +56,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('Voro++', '0.4.6'), ('kim-api', '2.1.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('yaff', '1.6.0', local_python_versionsuffix), ('PLUMED', '2.5.3', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos-OCTP.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos-OCTP.eb index f8494e9734b..f6d6351c64b 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos-OCTP.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos-OCTP.eb @@ -63,7 +63,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('Voro++', '0.4.6'), ('kim-api', '2.1.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('yaff', '1.6.0', local_python_versionsuffix), ('PLUMED', '2.5.3', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos.eb b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos.eb index 35c2a48a208..23b825e617b 100644 --- a/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos.eb +++ b/easybuild/easyconfigs/l/LAMMPS/LAMMPS-7Aug2019-intel-2019b-Python-3.7.4-kokkos.eb @@ -56,7 +56,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('Voro++', '0.4.6'), ('kim-api', '2.1.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('yaff', '1.6.0', local_python_versionsuffix), ('PLUMED', '2.5.3', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/l/LAMMPS/lammps-stable_3Mar2020_intel_ebflag.patch b/easybuild/easyconfigs/l/LAMMPS/lammps-stable_3Mar2020_intel_ebflag.patch new file mode 100644 index 00000000000..51cc9e246a6 --- /dev/null +++ b/easybuild/easyconfigs/l/LAMMPS/lammps-stable_3Mar2020_intel_ebflag.patch @@ -0,0 +1,26 @@ +# remove hard coded -xHost flag for intel compilers (useful on AMD systems, as -xHost may lead to mmx/sse code) +# OCT 26th 2020 by B. Hajgato (UGent) +diff -ru lammps-stable_3Mar2020.orig/cmake/Modules/Packages/USER-INTEL.cmake lammps-stable_3Mar2020/cmake/Modules/Packages/USER-INTEL.cmake +--- lammps-stable_3Mar2020.orig/cmake/Modules/Packages/USER-INTEL.cmake 2020-03-03 16:27:12.000000000 +0100 ++++ lammps-stable_3Mar2020/cmake/Modules/Packages/USER-INTEL.cmake 2020-10-27 08:54:15.816960998 +0100 +@@ -77,7 +77,7 @@ + if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512") + else() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHost") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") + endif() + include(CheckCXXCompilerFlag) + foreach(_FLAG -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -restrict) +diff -ru lammps-stable_3Mar2020.orig/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi lammps-stable_3Mar2020/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi +--- lammps-stable_3Mar2020.orig/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi 2020-03-03 16:27:12.000000000 +0100 ++++ lammps-stable_3Mar2020/src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi 2020-10-26 16:41:59.900088648 +0100 +@@ -7,7 +7,7 @@ + # specify flags and libraries needed for your compiler + + CC = mpiicpc -std=c++11 +-OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits \ ++OPTFLAGS = ${EBVAROPTFLAGS} -fp-model fast=2 -no-prec-div -qoverride-limits \ + -qopt-zmm-usage=high + CCFLAGS = -qopenmp -qno-offload -ansi-alias -restrict \ + -DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG $(OPTFLAGS) \ diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..3496ab88eb2 --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.2.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.10.1' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..37ad94e5b2f --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.10.1-GCC-11.3.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.10.1' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd005cd021f144d7d5f7f33c943942db9f03a28d110d6a3b80d718a295f7f714'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..d68bd9e25a5 --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-12.3.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.12.0' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..1924c7c0697 --- /dev/null +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.12.0-GCC-13.2.0.eb @@ -0,0 +1,16 @@ +name = 'LAPACK' +version = '3.12.0' + +homepage = 'https://www.netlib.org/lapack/' +description = """LAPACK is written in Fortran90 and provides routines for solving systems of + simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue + problems, and singular value problems.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b'] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb index 3990b2cebeb..14d4bb284cb 100644 --- a/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/l/LAPACK/LAPACK-3.9.1-GCC-10.2.0.eb @@ -9,7 +9,7 @@ description = """LAPACK is written in Fortran90 and provides routines for solvin toolchain = {'name': 'GCC', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/'] +source_urls = ['https://github.com/Reference-LAPACK/lapack/archive/refs/tags'] sources = ['v%(version)s.tar.gz'] checksums = ['d0085d2caf997ff39299c05d4bacb6f3d27001d25a4cc613d48c1f352b73e7e0'] diff --git a/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb b/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb new file mode 100644 index 00000000000..df13c6cd070 --- /dev/null +++ b/easybuild/easyconfigs/l/LASSO-Python/LASSO-Python-2.0.0-foss-2022b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'LASSO-Python' +version = '2.0.0' + +homepage = 'https://open-lasso-python.github.io/lasso-python/' +description = """This python library is designed for general purpose usage in +the field of Computer Aided Engineering (CAE). It's name originates from the +original initiator and donator of the project Lasso GmbH. The library is now +maintained by an open-source community.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('h5py', '3.8.0'), + ('SciPy-bundle', '2023.02'), + ('plotly.py', '5.13.1'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.2.0', { + 'modulename': 'markdown_it', + 'checksums': ['7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + (name, version, { + 'modulename': 'lasso', + 'source_tmpl': 'lasso_python-%(version)s.tar.gz', + 'checksums': ['67776e1876764680ac179fb750695aac63ecdbdf4f1ac8439f7e76fa3956727c'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/LASTZ/LASTZ-1.02.00-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.02.00-GCCcore-8.2.0.eb new file mode 100644 index 00000000000..ba661013128 --- /dev/null +++ b/easybuild/easyconfigs/l/LASTZ/LASTZ-1.02.00-GCCcore-8.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'LASTZ' +version = '1.02.00' + +homepage = 'https://www.bx.psu.edu/~rsharris/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': 'GCCcore', 'version': '8.2.0'} + +source_urls = ['https://www.bx.psu.edu/miller_lab/dist/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['LASTZ-%(version)s_Makefile.patch'] +checksums = [ + '054515f27fdf9392f3d2e84ca421103b5e5575ba7a1979addf3c277212114a21', # lastz-1.02.00.tar.gz + '9bdceb84925cff083546c5f5165f27f850dbdd43fa0eda8b4f34f3cc0ecb3b6a', # LASTZ-1.02.00_Makefile.patch +] + +builddependencies = [('binutils', '2.31.1')] + +skipsteps = ['configure'] + +installopts = 'installDir=%(installdir)s/bin' + +sanity_check_paths = { + 'files': ['bin/lastz', 'bin/lastz_D'], + 'dirs': [], +} + +moduleclass = 'bio' 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/LBFGS++/LBFGS++-0.1.0.eb b/easybuild/easyconfigs/l/LBFGS++/LBFGS++-0.1.0.eb new file mode 100644 index 00000000000..ecdefcc470c --- /dev/null +++ b/easybuild/easyconfigs/l/LBFGS++/LBFGS++-0.1.0.eb @@ -0,0 +1,20 @@ +easyblock = "Tarball" + +name = 'LBFGS++' +version = '0.1.0' + +homepage = 'https://lbfgspp.statr.me' +description = 'A header-only C++ library for L-BFGS and L-BFGS-B algorithms' + +toolchain = SYSTEM + +source_urls = ['https://github.com/yixuan/LBFGSpp/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c8fb9a9ae18e4dbecf096cc0d0f2eaf3d56fd13a646a5589428c435b07c7a456'] + +sanity_check_paths = { + 'files': ['include/LBFGS.h', 'include/LBFGSB.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.24.0-x86_64.eb b/easybuild/easyconfigs/l/LDC/LDC-1.24.0-x86_64.eb new file mode 100644 index 00000000000..7b726673f51 --- /dev/null +++ b/easybuild/easyconfigs/l/LDC/LDC-1.24.0-x86_64.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'LDC' +version = '1.24.0' +versionsuffix = '-x86_64' + +homepage = 'https://wiki.dlang.org/LDC' +description = "The LLVM-based D Compiler" + +toolchain = SYSTEM + +source_urls = ['https://github.com/ldc-developers/ldc/releases/download/v%(version)s/'] +sources = ['ldc2-%(version)s-linux%(versionsuffix)s.tar.xz'] +checksums = ['868e070fe90b06549f5fb19882a58a920c0052fad29b764eee9f409f08892ba3'] + +unpack_options = '--strip-components=1' + +sanity_check_paths = { + 'files': ['bin/dub', 'bin/ldc2', 'bin/ldmd2', 'lib/libdruntime-ldc.a'], + 'dirs': [], +} + +sanity_check_commands = ["ldc2 --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.25.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.25.1-GCCcore-10.2.0.eb index f509313572d..a022ed94c45 100644 --- a/easybuild/easyconfigs/l/LDC/LDC-1.25.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/LDC/LDC-1.25.1-GCCcore-10.2.0.eb @@ -17,7 +17,7 @@ builddependencies = [ ('CMake', '3.18.4'), ('Ninja', '1.10.1'), # building LDC from source required LDC 0.17.x - ('LDC', '0.17.6', '-%(arch)s', True), + ('LDC', '0.17.6', '-%(arch)s', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.26.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.26.0-GCCcore-10.3.0.eb index 01d38679892..55231353b25 100644 --- a/easybuild/easyconfigs/l/LDC/LDC-1.26.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/LDC/LDC-1.26.0-GCCcore-10.3.0.eb @@ -17,7 +17,7 @@ builddependencies = [ ('CMake', '3.20.1'), ('Ninja', '1.10.2'), # building LDC from source required LDC 0.17.x - ('LDC', '0.17.6', '-%(arch)s', True), + ('LDC', '0.17.6', '-%(arch)s', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..91983a9e242 --- /dev/null +++ b/easybuild/easyconfigs/l/LDC/LDC-1.30.0-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeNinja' + +name = 'LDC' +version = '1.30.0' + +homepage = 'https://wiki.dlang.org/LDC' +description = "The LLVM-based D Compiler" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/ldc-developers/ldc/releases/download/v%(version)s'] +sources = ['ldc-%(version)s-src.tar.gz'] +checksums = ['fdbb376f08242d917922a6a22a773980217fafa310046fc5d6459490af23dacd'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + # building LDC from source requires LDC + ('LDC', '1.24.0', '-%(arch)s', SYSTEM), +] + +dependencies = [ + ('LLVM', '14.0.3'), +] + +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/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/LDC/LDC-1.39.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LDC/LDC-1.39.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f0d3a361152 --- /dev/null +++ b/easybuild/easyconfigs/l/LDC/LDC-1.39.0-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeNinja' + +name = 'LDC' +version = '1.39.0' + +homepage = 'https://wiki.dlang.org/LDC' +description = "The LLVM-based D Compiler" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/ldc-developers/ldc/releases/download/v%(version)s'] +sources = ['ldc-%(version)s-src.tar.gz'] +checksums = ['839bac36f6073318e36f0b163767e03bdbd3f57d99256b97494ac439b59a4562'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('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/LEMON/LEMON-1.3.1-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/l/LEMON/LEMON-1.3.1-GCC-8.2.0-2.31.1.eb index 5bf9e1fc226..193bd3e93cb 100644 --- a/easybuild/easyconfigs/l/LEMON/LEMON-1.3.1-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/l/LEMON/LEMON-1.3.1-GCC-8.2.0-2.31.1.eb @@ -19,7 +19,7 @@ builddependencies = [('CMake', '3.13.3')] separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=TRUE'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] runtest = 'check' diff --git a/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..a75e046b3d0 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.2.0.eb @@ -0,0 +1,44 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'LERC' +version = '3.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': '10.2.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +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/LERC/LERC-3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..244ff0d0dde --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-3.0-GCCcore-10.3.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 = '3.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': '10.3.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8c0148f5c22d823eff7b2c999b0781f8095e49a7d3195f13c68c5541dd5740a1'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +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/LERC/LERC-4.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0e4b8e45445 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-11.3.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': '11.3.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +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/LERC/LERC-4.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..195f472bdb3 --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.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': '12.2.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +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/LERC/LERC-4.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..20a4a92f02a --- /dev/null +++ b/easybuild/easyconfigs/l/LERC/LERC-4.0.0-GCCcore-12.3.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': '12.3.0'} + +source_urls = ['https://github.com/Esri/lerc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91431c2b16d0e3de6cbaea188603359f87caed08259a645fd5a3805784ee30a0'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +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/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/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..3bcded3044d --- /dev/null +++ b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.3-GCC-11.3.0.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'LHAPDF' +version = '6.5.3' + +homepage = 'http://lhapdf.hepforge.org/' +description = """ +Les Houches Parton Density Function + +LHAPDF is the standard tool for evaluating parton distribution functions (PDFs) in high-energy physics. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hepforge.org/archive/lhapdf/'] +sources = [SOURCE_TAR_GZ] +checksums = ['57435cd695e297065d53e69bd29090765c934936b6a975ff8c559766f2230359'] + +dependencies = [ + ('Python', '3.10.4'), +] + +configopts = "--disable-static --enable-python" + +sanity_check_paths = { + 'files': ["bin/lhapdf", "bin/lhapdf-config", "lib/libLHAPDF.%s" % SHLIB_EXT], + 'dirs': ["share/LHAPDF"], +} + +sanity_check_commands = [ + "lhapdf --version", + "lhapdf-config --version", + "python -c 'import lhapdf'", +] + +modloadmsg = """ +To use/install your own PDF data, you need to adjust the $LHAPDF_DATA_PATH: +export LHAPDF_DATA_PATH=/local/.../path/:$LHAPDF_DATA_PATH` +Then you can run `lhapdf update` followed by `lhapdf install your_pdf`. +""" + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'LHAPDF_DATA_PATH': '/path/to/share/LHAPDF/', # please adapt +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.4-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..083cb931db2 --- /dev/null +++ b/easybuild/easyconfigs/l/LHAPDF/LHAPDF-6.5.4-GCC-12.3.0.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'LHAPDF' +version = '6.5.4' + +homepage = 'http://lhapdf.hepforge.org/' +description = """ +Les Houches Parton Density Function + +LHAPDF is the standard tool for evaluating parton distribution functions (PDFs) in high-energy physics. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['http://www.hepforge.org/archive/lhapdf/'] +sources = [SOURCE_TAR_GZ] +checksums = ['2443a4b32cc3b0597c8248bd6e25703ace9c91a7a253c5f60b1b5428ef9c869e'] + +dependencies = [ + ('Python', '3.11.3'), +] + +configopts = "--disable-static --enable-python" + +sanity_check_paths = { + 'files': ["bin/lhapdf", "bin/lhapdf-config", "lib/libLHAPDF.%s" % SHLIB_EXT], + 'dirs': ["share/LHAPDF"], +} + +sanity_check_commands = [ + "lhapdf --version", + "lhapdf-config --version", + "python -c 'import lhapdf'", +] + +modloadmsg = """ +To use/install your own PDF data, you need to adjust the $LHAPDF_DATA_PATH: +`export LHAPDF_DATA_PATH=/local/.../path/:$LHAPDF_DATA_PATH` +Then you can run `lhapdf update` followed by `lhapdf install your_pdf`. +""" + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'LHAPDF_DATA_PATH': '/path/to/LHAPDF_DATA_PATH', # please adapt +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LIANA/LIANA-0.1.11-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/l/LIANA/LIANA-0.1.11-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2584ae7e67f --- /dev/null +++ b/easybuild/easyconfigs/l/LIANA/LIANA-0.1.11-foss-2022a-R-4.2.1.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'LIANA' +version = '0.1.11' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://saezlab.github.io/liana/' +description = """LIANA: a LIgand-receptor ANalysis frAmework. LIANA enables the use of any + combination of ligand-receptor methods and resources, and their consensus.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 + 'https://bioconductor.org/packages/release/bioc/src/contrib/' # contrib for Bioconductor packages +] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': source_urls, +} + +exts_list = [ + ('rlang', '1.0.4', { + 'checksums': ['1fb789d46c6a855ce37eba63c353b85aa600c4a2a7ca6075f2632540b42a8696'], + }), + ('tidyselect', '1.2.0', { + 'checksums': ['538d26b727e37d618e2efd3b00836048f103112a03e6994bf07a02392e269e3b'], + }), + ('OmnipathR', '3.8.0', { + 'checksums': ['0e12ea562e135a8c670b5b4ec4000463c9ee12bd6d957bfcc2db36b5ecd85664'], + }), + (name, version, { + 'source_urls': ['https://github.com/saezlab/liana/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['fd866f4b66ee3d98c63f43d5437527c541ce624fe303a2ee2fdb729770afa91e'], + 'modulename': 'liana' + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['liana'], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb new file mode 100644 index 00000000000..3da0742b89c --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM-MATLAB/LIBSVM-MATLAB-3.30-GCCcore-11.3.0-MATLAB-2022b-r5.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM-MATLAB' +version = '3.30' +local_matlab_ver = '2022b-r5' +versionsuffix = '-MATLAB-%s' % local_matlab_ver + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """MATLAB interface of LIBSVM, an integrated software for support vector classification, + (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). + It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True, 'pic': True} + +source_urls = ['https://github.com/cjlin1/libsvm/archive'] +sources = ['v%s.tar.gz' % version.replace('.', '')] +checksums = ['e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('MATLAB', local_matlab_ver, '', SYSTEM), +] + +start_dir = 'matlab' + +buildopts = "MATLABDIR=$EBROOTMATLAB" + +files_to_copy = [ + (['matlab/*.mexa64'], ''), +] + +sanity_check_paths = { + 'files': ['libsvmwrite.mexa64', 'libsvmread.mexa64', 'svmpredict.mexa64', 'svmtrain.mexa64'], + 'dirs': [], +} + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM-Python/LIBSVM-Python-3.30-foss-2022a.eb b/easybuild/easyconfigs/l/LIBSVM-Python/LIBSVM-Python-3.30-foss-2022a.eb new file mode 100644 index 00000000000..4606d99e571 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM-Python/LIBSVM-Python-3.30-foss-2022a.eb @@ -0,0 +1,52 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/08 +easyblock = 'PythonBundle' + +name = 'LIBSVM-Python' +version = '3.30' + +homepage = 'https://pypi.org/project/libsvm-official/' +description = """This tool provides a simple Python interface to LIBSVM, a library for support +vector machines (http://www.csie.ntu.edu.tw/~cjlin/libsvm). The interface is +very easy to use as the usage is the same as that of LIBSVM. The interface is +developed with the built-in Python library "ctypes".""" + +toolchain = {'name': 'foss', 'version': '2022a'} + + +dependencies = [ + ('Python', '3.10.4'), + ('LIBSVM', version), + ('SciPy-bundle', '2022.05'), +] + +sanity_pip_check = True +use_pip = True +exts_list = [ + (name, version, { + 'modulename': 'libsvm', + 'source_urls': ['https://github.com/cjlin1/libsvm/archive/refs/tags/'], + 'sources': ['v%s.tar.gz' % version.replace('.', '')], + 'start_dir': 'python', + 'checksums': ['e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80'], + }), +] + +_t = "from libsvm.svm import *; from libsvm.svmutil import *; import numpy as np; import scipy as sc;" +_t += "prob = svm_problem(np.asarray([1, -1]), sc.sparse.csr_matrix(([1, 1, -1, -1], ([0, 0, 1, 1], [0, 2, 0, 2]))));" +_t += "param = svm_parameter('-c 4');" +_t += "m = libsvm.svm_train(prob, param);" +_t += "svm_save_model('%(builddir)s/heart_scale.model', m);" +_t += "x0, max_idx = gen_svm_nodearray((np.asarray([0,2]), np.asarray([1,1])));" +_t += "label = libsvm.svm_predict(m, x0);" +_t += "y, x = svm_read_problem('%%(builddir)s/LIBSVMPython/libsvm-%s/heart_scale');" % version.replace('.', '') +_t += "m = svm_train(y[:200], x[:200], '-c 4');" +_t += "p_label, p_acc, p_val = svm_predict(y[200:], x[200:], m);" + +sanity_check_commands = ['python -c "%s"' % _t] + +sanity_check_paths = { + 'files': [], + 'dirs': ["lib/python%(pyshortver)s/site-packages/libsvm"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..54bac051fb8 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM' +version = '3.25' + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression + (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'cjlin1' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +patches = ['LIBSVM-3.23_shared_lib.patch'] +checksums = [ + '1f587ec0df6fd422dfe50f942f8836ac179b0723b768fe9d2fabdfd1601a0963', # v325.tar.gz + 'c0ede89365949644f5d7f11382a3f176fd76317c7f5ae5769226ff7c3a801fe6', # LIBSVM-3.23_shared_lib.patch +] + +dependencies = [('binutils', '2.35')] + +local_bins = ['svm-%s' % x for x in ['predict', 'scale', 'train']] + +files_to_copy = [ + (local_bins, 'bin'), + (['svm.o'], 'lib'), + (['libsvm*'], 'lib'), + (['svm.h'], 'include/libsvm'), + 'tools' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['lib/libsvm.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4847897c51d --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM' +version = '3.25' + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression + (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'cjlin1' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +patches = ['LIBSVM-3.23_shared_lib.patch'] +checksums = [ + '1f587ec0df6fd422dfe50f942f8836ac179b0723b768fe9d2fabdfd1601a0963', # v325.tar.gz + 'c0ede89365949644f5d7f11382a3f176fd76317c7f5ae5769226ff7c3a801fe6', # LIBSVM-3.23_shared_lib.patch +] + +dependencies = [('binutils', '2.36.1')] + +local_bins = ['svm-%s' % x for x in ['predict', 'scale', 'train']] + +files_to_copy = [ + (local_bins, 'bin'), + (['svm.o'], 'lib'), + (['libsvm*'], 'lib'), + (['svm.h'], 'include/libsvm'), + 'tools' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['lib/libsvm.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..958b5331c8a --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.25-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM' +version = '3.25' + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression + (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'cjlin1' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +patches = ['LIBSVM-3.23_shared_lib.patch'] +checksums = [ + '1f587ec0df6fd422dfe50f942f8836ac179b0723b768fe9d2fabdfd1601a0963', # v325.tar.gz + 'c0ede89365949644f5d7f11382a3f176fd76317c7f5ae5769226ff7c3a801fe6', # LIBSVM-3.23_shared_lib.patch +] + +dependencies = [('binutils', '2.37')] + +local_bins = ['svm-%s' % x for x in ['predict', 'scale', 'train']] + +files_to_copy = [ + (local_bins, 'bin'), + (['svm.o'], 'lib'), + (['libsvm*'], 'lib'), + (['svm.h'], 'include/libsvm'), + 'tools' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['lib/libsvm.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7e0be3a1e33 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30-GCCcore-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'MakeCp' + +name = 'LIBSVM' +version = '3.30' + +homepage = 'https://www.csie.ntu.edu.tw/~cjlin/libsvm/' +description = """LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression + (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'openmp': True, 'pic': True} + +github_account = 'cjlin1' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +patches = [ + 'LIBSVM-3.23_shared_lib.patch', + 'LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch', + 'LIBSVM-3.30_makefile_flags_test.patch' +] +checksums = [ + {'v330.tar.gz': 'e4fe41308c87cc210aec73e4f5f0fb4da14234d90e7a131763fbad3788ca2d80'}, + {'LIBSVM-3.23_shared_lib.patch': 'c0ede89365949644f5d7f11382a3f176fd76317c7f5ae5769226ff7c3a801fe6'}, + {'LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch': + 'f51e4d0b6899041799f43a09aad1e3711a93615a8cc453243042ed8357cabb28'}, + {'LIBSVM-3.30_makefile_flags_test.patch': 'cec86f35714a2bf131d83eaaf4d4bbc53dd93e92d0d5a7b6751774d6d237daba'}, +] + +dependencies = [('binutils', '2.38')] + +runtest = 'test' + +local_bins = ['svm-%s' % x for x in ['predict', 'scale', 'train']] + +files_to_copy = [ + (local_bins, 'bin'), + (['svm.o'], 'lib'), + (['libsvm*'], 'lib'), + (['svm.h'], 'include/libsvm'), + 'tools' +] + +sanity_check_commands = [ + 'cd %%(builddir)s/libsvm-%s/ && svm-scale heart_scale' % version.replace('.', ''), + 'cd %%(builddir)s/libsvm-%s/ && svm-train heart_scale' % version.replace('.', ''), + 'cd %%(builddir)s/libsvm-%s/ && echo "1">t && svm-predict t heart_scale.model out' % version.replace('.', '') +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['lib/libsvm.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch new file mode 100644 index 00000000000..d79d00d78a0 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_add_namespace_for_benefit_of_Xmipp.patch @@ -0,0 +1,83 @@ +Taken from https://github.com/cossorzano/libsvm which Xmipp uses. + +Also added "using namespace libsvm" to svm-train.c and svm-predict.c + +Åke Sandgren 2022-10-19 + +commit 2a0db2ec1330db8cd45bf5ba7d55d850ce5c8318 +Author: Carlos Oscar Sorzano +Date: Fri Nov 5 13:37:31 2021 +0100 + + Namespace added + +diff --git a/svm.cpp b/svm.cpp +index fa44818..814b1b6 100644 +--- a/svm.cpp ++++ b/svm.cpp +@@ -1,3 +1,7 @@ ++/* This file has been taken from LibSVM 3.25 */ ++/* Authors: Chih-Chung Chang and Chih-Jen Lin, LIBSVM :*/ ++/* Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm */ ++ + #include + #include + #include +@@ -8,6 +12,8 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; ++ + int libsvm_version = LIBSVM_VERSION; + typedef float Qfloat; + typedef signed char schar; +diff --git a/svm.h b/svm.h +index 5dfc1f7..ba47063 100644 +--- a/svm.h ++++ b/svm.h +@@ -1,3 +1,7 @@ ++/* This file has been taken from LibSVM 3.25 */ ++/* Authors: Chih-Chung Chang and Chih-Jen Lin, LIBSVM : */ ++/* Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm */ ++ + #ifndef _LIBSVM_H + #define _LIBSVM_H + +@@ -22,8 +26,10 @@ struct svm_problem + struct svm_node **x; + }; + +-enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */ +-enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED }; /* kernel_type */ ++namespace libsvm { ++ enum { C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR }; /* svm_type */ ++ enum { LINEAR, POLY, RBF, SIGMOID, PRECOMPUTED }; /* kernel_type */ ++} + + struct svm_parameter + { +diff --git a/svm-train.c b/svm-train.c +index b6ce987..064c29b 100644 +--- a/svm-train.c ++++ b/svm-train.c +@@ -4,6 +4,8 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; ++ + #define Malloc(type,n) (type *)malloc((n)*sizeof(type)) + + void print_null(const char *s) {} +diff --git a/svm-predict.c b/svm-predict.c +index 7a0fa15..328f815 100644 +--- a/svm-predict.c ++++ b/svm-predict.c +@@ -4,6 +4,7 @@ + #include + #include + #include "svm.h" ++using namespace libsvm; + + int print_null(const char *s,...) {return 0;} + diff --git a/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_makefile_flags_test.patch b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_makefile_flags_test.patch new file mode 100644 index 00000000000..570dcbbc978 --- /dev/null +++ b/easybuild/easyconfigs/l/LIBSVM/LIBSVM-3.30_makefile_flags_test.patch @@ -0,0 +1,34 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/08 +# pass CFLAGS and LDFLAGS to make +# add target test +diff -ru libsvm-330/Makefile libsvm-330_flags/Makefile +--- libsvm-330/Makefile 2022-08-10 15:06:45.000000000 +0200 ++++ libsvm-330_flags/Makefile 2023-08-03 10:57:04.906648202 +0200 +@@ -1,5 +1,5 @@ + CXX ?= g++ +-CFLAGS = -Wall -Wconversion -O3 -fPIC ++CFLAGS ?= -Wall -Wconversion -O3 -fPIC + SHVER = 3 + OS = $(shell uname) + +@@ -9,7 +9,7 @@ + if [ "$(OS)" = "Darwin" ]; then \ + SHARED_LIB_FLAG="-dynamiclib -Wl,-install_name,libsvm.so.$(SHVER)"; \ + else \ +- SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER)"; \ ++ SHARED_LIB_FLAG="-shared -Wl,-soname,libsvm.so.$(SHVER) $(LDFLAGS)"; \ + fi; \ + $(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER) + +@@ -23,3 +23,11 @@ + $(CXX) $(CFLAGS) -c svm.cpp + clean: + rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER) ++ ++ ++test: ++ ./svm-scale heart_scale ++ ./svm-train heart_scale ++ echo 1 > t ++ ./svm-predict t heart_scale.model out ++ diff --git a/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..423df27aa0a --- /dev/null +++ b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMakeCp' + +name = 'LISFLOOD-FP' +version = '8.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.seamlesswave.com/LISFLOOD8.0.html' +description = """The LISFLOOD-FP is a raster-based hydrodynamic model originally developed by +the University of Bristol. It has undergone extensive development since +conception and includes a collection of numerical schemes implemented to solve +a variety of mathematical approximations of the 2D shallow water equations of +different complexity. +The local inertia solver, known as the ACC solver, is widely used to simulate +floods with gradually-varying, subcritical flow over sufficiently rough +surfaces with Manning’s coefficient of at least 0.03. It has a version with +CPU-specific optimisations and enhanced with a subgrid channel model. +LISFLOOD-FP also includes second-order discontinuous Galerkin (DG2) and +first-order finite volume (FV1) solvers of the full shallow water equations for +modelling a wide range of flows, including rapidly-propagating, supercritical +flows, shock waves, or flows over very smooth surfaces. The DG2/FV1 solvers are +parallelised for the multi-core CPU architecture, but do not integrate with the +subgrid channel model nor with the CPU-specific optimisations. +""" + +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://zenodo.org/record/6912932/files/'] +sources = [{'download_filename': '%(name)s%20v%(version)s.zip', 'filename': SOURCE_ZIP}] +patches = ['LISFLOOD-FP-%(version)s_thrust_cub_check.patch'] +checksums = [ + {'LISFLOOD-FP-8.1.zip': '57df4ff38f8a47e6907bc4a98466bca6eecb540862a89b9db7e1c4fbe9259d95'}, + {'LISFLOOD-FP-8.1_thrust_cub_check.patch': 'de2c031d76d517ebe8dc21405bde8eafdc12c64924b9b4fae330bd0d5c58ae93'}, +] + +builddependencies = [ + ('CMake', '3.24.3') +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('netCDF', '4.9.0') +] + +# CUB bundled in LISFLOOD is not compatible with our CUDA Toolkit +# remove in favour of CUB provided in CUDA Toolkit +preconfigopts = "rm -rf %(builddir)s/%(name)s-trunk/cuda/cub &" + +# Default CUDA compute capabilities (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] +configopts = '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"' + +_lisflood_bins = ['DG2downscale', 'generateDG2DEM', 'generateDG2start', 'lisflood'] + +files_to_copy = [(_lisflood_bins, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _lisflood_bins], + 'dirs': [], +} + +sanity_check_commands = ["lisflood -version"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a.eb b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a.eb new file mode 100644 index 00000000000..0922eeff5ef --- /dev/null +++ b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1-gompi-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMakeCp' + +name = 'LISFLOOD-FP' +version = '8.1' + +homepage = 'https://www.seamlesswave.com/LISFLOOD8.0.html' +description = """The LISFLOOD-FP is a raster-based hydrodynamic model originally developed by +the University of Bristol. It has undergone extensive development since +conception and includes a collection of numerical schemes implemented to solve +a variety of mathematical approximations of the 2D shallow water equations of +different complexity. +The local inertia solver, known as the ACC solver, is widely used to simulate +floods with gradually-varying, subcritical flow over sufficiently rough +surfaces with Manning’s coefficient of at least 0.03. It has a version with +CPU-specific optimisations and enhanced with a subgrid channel model. +LISFLOOD-FP also includes second-order discontinuous Galerkin (DG2) and +first-order finite volume (FV1) solvers of the full shallow water equations for +modelling a wide range of flows, including rapidly-propagating, supercritical +flows, shock waves, or flows over very smooth surfaces. The DG2/FV1 solvers are +parallelised for the multi-core CPU architecture, but do not integrate with the +subgrid channel model nor with the CPU-specific optimisations. +""" + +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://zenodo.org/record/6912932/files/'] +sources = [{'download_filename': '%(name)s%20v%(version)s.zip', 'filename': SOURCE_ZIP}] +checksums = ['57df4ff38f8a47e6907bc4a98466bca6eecb540862a89b9db7e1c4fbe9259d95'] + +builddependencies = [ + ('CMake', '3.24.3') +] + +dependencies = [ + ('netCDF', '4.9.0') +] + +_lisflood_bins = ['DG2downscale', 'generateDG2DEM', 'generateDG2start', 'lisflood'] + +files_to_copy = [(_lisflood_bins, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _lisflood_bins], + 'dirs': [], +} + +sanity_check_commands = ["lisflood -version"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1_thrust_cub_check.patch b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1_thrust_cub_check.patch new file mode 100644 index 00000000000..44fda459635 --- /dev/null +++ b/easybuild/easyconfigs/l/LISFLOOD-FP/LISFLOOD-FP-8.1_thrust_cub_check.patch @@ -0,0 +1,16 @@ +Check the compatibility between Thrust in CUDA Toolkit and any bundled CUB. +Ignoring this check is just a bad idea, the build will fail anyway if those +are not compatible. +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/CMakeLists.txt.orig b/CMakeLists.txt +index 4038ffd..a23571d 100644 +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -74,7 +74,6 @@ if (CMAKE_CUDA_COMPILER) + enable_language(CUDA) + set_property(TARGET lisflood PROPERTY CUDA_SEPARABLE_COMPILATION ON) + +- add_compile_definitions(CUDA THRUST_IGNORE_CUB_VERSION_CHECK) + target_sources(lisflood PRIVATE + cuda/cuda_boundary.cu + cuda/cuda_dem.cu diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-12.0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6a81e472cdf --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-12.0.1-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ +## +# Author: Robert Mijakovic +## +name = 'LLVM' +version = '12.0.1' + +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.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = ['llvm-%(version)s.src.tar.xz'] +checksums = ['7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('Python', '3.9.5', '-bare'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +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-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-12.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..bc7a24dd95c --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-12.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +name = 'LLVM' +version = '12.0.1' + +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.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] +sources = ['llvm-%(version)s.src.tar.xz'] +checksums = ['7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +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.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5f275e0f1aa --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-14.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +name = 'LLVM' +version = '14.0.3' + +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.""" + +toolchain = {'name': 'GCCcore', 'version': '11.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'] +checksums = ['1e09e8c26e1b67bc94a128b62e9b9c24b70c697a2436a479c9e5eedc4ae29654'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Python', '3.10.4'), +] + +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.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/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fad97fede29 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-15.0.5-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +name = 'LLVM' +version = '15.0.5' + +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.""" + +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', + 'cmake-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-15.0.5.src.tar.xz': '4428688b567ab1c9911aa9e13cb44c9bc1b14431713c14de491e10369f2b0370'}, + {'cmake-15.0.5.src.tar.xz': '61a9757f2fb7dd4c992522732531eb58b2bb031a2ca68848ff1cfda1fc07b7b3'}, +] + +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-16.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-16.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..124bba69e5e --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-16.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +name = 'LLVM' +version = '16.0.6' + +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.""" + +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', + 'cmake-%(version)s.src.tar.xz', + 'third-party-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-%(version)s.src.tar.xz': 'e91db44d1b3bb1c33fcea9a7d1f2423b883eaa9163d3d56ca2aa6d2f0711bc29'}, + {'cmake-%(version)s.src.tar.xz': '39d342a4161095d2f28fb1253e4585978ac50521117da666e2b1f6f28b62f514'}, + {'third-party-%(version)s.src.tar.xz': '15f5b9aeeba938530af977d5f9205612737a091a7f0f6c8075df8723b7713f70'}, +] + +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-16.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-16.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3cbf84f26fe --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-16.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,48 @@ +name = 'LLVM' +version = '16.0.6' + +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.""" + +toolchain = {'name': 'GCCcore', 'version': '13.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', + 'cmake-%(version)s.src.tar.xz', + 'third-party-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-16.0.6.src.tar.xz': 'e91db44d1b3bb1c33fcea9a7d1f2423b883eaa9163d3d56ca2aa6d2f0711bc29'}, + {'cmake-16.0.6.src.tar.xz': '39d342a4161095d2f28fb1253e4585978ac50521117da666e2b1f6f28b62f514'}, + {'third-party-16.0.6.src.tar.xz': '15f5b9aeeba938530af977d5f9205612737a091a7f0f6c8075df8723b7713f70'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('Python', '3.11.5'), +] + +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-18.1.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-18.1.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a0c29eba130 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-18.1.8-GCCcore-13.3.0.eb @@ -0,0 +1,48 @@ +name = 'LLVM' +version = '18.1.8' + +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.""" + +toolchain = {'name': 'GCCcore', 'version': '13.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', + 'cmake-%(version)s.src.tar.xz', + 'third-party-%(version)s.src.tar.xz', +] +checksums = [ + {'llvm-18.1.8.src.tar.xz': 'f68cf90f369bc7d0158ba70d860b0cb34dbc163d6ff0ebc6cfa5e515b9b2e28d'}, + {'cmake-18.1.8.src.tar.xz': '59badef592dd34893cd319d42b323aaa990b452d05c7180ff20f23ab1b41e837'}, + {'third-party-18.1.8.src.tar.xz': 'b76b810f3d3dc5d08e83c4236cb6e395aa9bd5e3ea861e8c319b216d093db074'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), +] + +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-3.9.0-foss-2016b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-foss-2016b.eb index c67faef292c..e3a624c70b3 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-foss-2016b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-foss-2016b.eb @@ -17,6 +17,7 @@ toolchainopts = {'cstd': 'gnu++11'} source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948'] builddependencies = [ ('CMake', '3.6.1'), @@ -31,7 +32,6 @@ dependencies = [ configopts = "-DBUILD_SHARED_LIBS=ON " # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-intel-2016b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-intel-2016b.eb index 7252e90e8be..37c35fb33e0 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-intel-2016b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.0-intel-2016b.eb @@ -17,8 +17,11 @@ toolchainopts = {'cstd': 'gnu++11'} source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] - patches = ['LLVM-3.9.0-intel-fix-loop.patch'] +checksums = [ + '66c73179da42cee1386371641241f79ded250e117a79f571bbd69e56daa48948', # llvm-3.9.0.src.tar.xz + '8c15c2888b3c4700cad030af4c0ccfbc086b1541859116a36ed810ad8547192a', # LLVM-3.9.0-intel-fix-loop.patch +] builddependencies = [ ('CMake', '3.6.1'), @@ -33,7 +36,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-3.9.1-foss-2017a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.1-foss-2017a.eb index 741ddda8b5d..e5601c17ae7 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-3.9.1-foss-2017a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-3.9.1-foss-2017a.eb @@ -17,6 +17,7 @@ toolchainopts = {'cstd': 'gnu++11'} source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['1fd90354b9cf19232e8f168faf2220e79be555df3aa743242700879e8fd329ee'] builddependencies = [ ('CMake', '3.7.2'), @@ -31,7 +32,6 @@ dependencies = [ configopts = "-DBUILD_SHARED_LIBS=ON " # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-foss-2017a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-foss-2017a.eb index 80c6f388ec5..57ffd380f8a 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-foss-2017a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-foss-2017a.eb @@ -17,6 +17,7 @@ toolchainopts = {'cstd': 'gnu++11'} source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be'] builddependencies = [ ('CMake', '3.7.2'), @@ -31,7 +32,6 @@ dependencies = [ configopts = "-DBUILD_SHARED_LIBS=ON " # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-intel-2017a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-intel-2017a.eb index 0122c286a5e..db6643e8f6b 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-intel-2017a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.0-intel-2017a.eb @@ -17,6 +17,7 @@ toolchainopts = {'cstd': 'gnu++11'} source_urls = ["http://llvm.org/releases/%(version)s"] sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['8d10511df96e73b8ff9e7abbfb4d4d432edbdbe965f1f4f07afaf370b8a533be'] builddependencies = [ ('CMake', '3.7.2'), @@ -31,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017a.eb b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017a.eb index 9787394f8fb..b88b7b77deb 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017a.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017a.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb index 0803920d392..d730299b86b 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += '-DCMAKE_BUILD_TYPE=Release ' sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-foss-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-foss-2017b.eb index 353f40d8fbb..92fb3075a67 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-foss-2017b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-foss-2017b.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON ' # required to install extra tools in bin/ configopts += '-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=ON ' -configopts += '-DCMAKE_BUILD_TYPE=Release ' sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-fosscuda-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-fosscuda-2017b.eb index ef87d251b82..cb000e66209 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-fosscuda-2017b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-fosscuda-2017b.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON ' # required to install extra tools in bin/ configopts += '-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=ON ' -configopts += '-DCMAKE_BUILD_TYPE=Release ' sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intel-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intel-2017b.eb index e4e7c04f11d..96fe79a1ce5 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intel-2017b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intel-2017b.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intelcuda-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intelcuda-2017b.eb index 38fcfaf3b0b..2c059a786c1 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intelcuda-2017b.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.0-intelcuda-2017b.eb @@ -32,7 +32,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' # required to install extra tools in bin/ configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " -configopts += "-DCMAKE_BUILD_TYPE=Release " sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.1-GCCcore-6.4.0.eb index e1fbd9619ac..47096a65443 100644 --- a/easybuild/easyconfigs/l/LLVM/LLVM-5.0.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/l/LLVM/LLVM-5.0.1-GCCcore-6.4.0.eb @@ -33,7 +33,6 @@ dependencies = [ configopts = '-DBUILD_SHARED_LIBS=ON ' # required to install extra tools in bin/ configopts += '-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=ON ' -configopts += '-DCMAKE_BUILD_TYPE=Release ' sanity_check_paths = { 'files': ['bin/llvm-ar', 'bin/FileCheck'], diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8ed7a0228ea --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.29' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb'] + +builddependencies = [('binutils', '2.37')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'], 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..87af8c0082c --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.29' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb'] + +builddependencies = [('binutils', '2.38')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'], 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9facacba56e --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.29-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.29' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb'] + +builddependencies = [('binutils', '2.39')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'], 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..52b24212404 --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.31' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0'] + +builddependencies = [('binutils', '2.40')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +local_binaries = ['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'] + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (local_binaries, 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["%s -V" % x for x in local_binaries] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..946dd8e0961 --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.31' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0'] + +builddependencies = [('binutils', '2.40')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +local_binaries = ['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'] + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (local_binaries, 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["%s -V" % x for x in local_binaries] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a10be56a891 --- /dev/null +++ b/easybuild/easyconfigs/l/LMDB/LMDB-0.9.31-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'LMDB' +version = '0.9.31' + +homepage = 'https://symas.com/lmdb' +description = """LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance + of a pure in-memory database while retaining the persistence of standard disk-based databases.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/LMDB/lmdb/archive/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0'] + +builddependencies = [('binutils', '2.42')] + +buildopts = 'CC="$CC" OPT="$CFLAGS"' + +runtest = 'test' + +local_binaries = ['mdb_copy', 'mdb_dump', 'mdb_load', 'mdb_stat'] + +files_to_copy = [ + (['lmdb.h', 'midl.h'], 'include'), + (local_binaries, 'bin'), + (['liblmdb.a', 'liblmdb.%s' % SHLIB_EXT], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mdb_copy', 'bin/mdb_dump', 'bin/mdb_load', 'bin/mdb_stat', 'include/lmdb.h', + 'include/midl.h', 'lib/liblmdb.a', 'lib/liblmdb.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["%s -V" % x for x in local_binaries] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2021a.eb b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2021a.eb new file mode 100644 index 00000000000..c44b966b7d7 --- /dev/null +++ b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2021a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'LMfit' +version = '1.0.3' + +homepage = 'https://lmfit.github.io/lmfit-py' +description = """Lmfit provides a high-level interface to non-linear optimization +and curve fitting problems for Python""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('asteval', '0.9.25', { + 'checksums': ['bea22b7d8fa16bcba95ebc72052ae5d8ca97114c9959bb47f8b8eebf30e4342f'], + }), + ('uncertainties', '3.1.6', { + 'checksums': ['7c4db5aaafd227e95485b61fba5d235dc8133aeecd98f8fc1224c038ce063e2d'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d067c3ea501f035af5d3c079e6e6e35dc3cc1ac7d439429a425b0aeb5a7858a2'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2022a.eb b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2022a.eb new file mode 100644 index 00000000000..6b753c7eca3 --- /dev/null +++ b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'LMfit' +version = '1.0.3' + +homepage = 'https://lmfit.github.io/lmfit-py' +description = """Lmfit provides a high-level interface to non-linear optimization +and curve fitting problems for Python""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('asteval', '0.9.27', { + 'checksums': ['de838c33aed4c9bb25737eadbb7d1edaaf875e2bab505cc079f1a4b35de03e47'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d067c3ea501f035af5d3c079e6e6e35dc3cc1ac7d439429a425b0aeb5a7858a2'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-intel-2022a.eb b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-intel-2022a.eb new file mode 100644 index 00000000000..d68900b073e --- /dev/null +++ b/easybuild/easyconfigs/l/LMfit/LMfit-1.0.3-intel-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'LMfit' +version = '1.0.3' + +homepage = 'https://lmfit.github.io/lmfit-py' +description = """Lmfit provides a high-level interface to non-linear optimization +and curve fitting problems for Python""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('asteval', '0.9.27', { + 'checksums': ['de838c33aed4c9bb25737eadbb7d1edaaf875e2bab505cc079f1a4b35de03e47'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d067c3ea501f035af5d3c079e6e6e35dc3cc1ac7d439429a425b0aeb5a7858a2'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LMfit/LMfit-1.2.1-foss-2021b.eb b/easybuild/easyconfigs/l/LMfit/LMfit-1.2.1-foss-2021b.eb new file mode 100644 index 00000000000..f56e1afc397 --- /dev/null +++ b/easybuild/easyconfigs/l/LMfit/LMfit-1.2.1-foss-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'LMfit' +version = '1.2.1' + +homepage = 'https://lmfit.github.io/lmfit-py' +description = """Lmfit provides a high-level interface to non-linear optimization +and curve fitting problems for Python""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('asteval', '0.9.30', { + 'checksums': ['a3021215568186eb866bec4dce2730f0fda3863eef9ff79e2f7b6cc4a84c26df'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['00cef5bd145bf81b73630b78926af24b24f1805421e6211ca585588aa7cc415b'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LOHHLA/LOHHLA-2018.11.05-foss-2018b-R-3.5.1.eb b/easybuild/easyconfigs/l/LOHHLA/LOHHLA-2018.11.05-foss-2018b-R-3.5.1.eb index e8d3bf16a0c..ea74d83de75 100644 --- a/easybuild/easyconfigs/l/LOHHLA/LOHHLA-2018.11.05-foss-2018b-R-3.5.1.eb +++ b/easybuild/easyconfigs/l/LOHHLA/LOHHLA-2018.11.05-foss-2018b-R-3.5.1.eb @@ -29,7 +29,7 @@ dependencies = [ ('BEDTools', '2.27.1'), ('SAMtools', '1.9'), ('novoalign', '3.09.01', versionsuffix), - ('picard', '2.18.27', '-Java-1.8', True), + ('picard', '2.18.27', '-Java-1.8', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/LPeg/LPeg-1.0.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LPeg/LPeg-1.0.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d0801000f6d --- /dev/null +++ b/easybuild/easyconfigs/l/LPeg/LPeg-1.0.2-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +## + +easyblock = 'MakeCp' + +name = 'LPeg' +version = '1.0.2' + +homepage = 'http://www.inf.puc-rio.br/~roberto/lpeg/' +description = """LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://www.inf.puc-rio.br/~roberto/lpeg/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['48d66576051b6c78388faad09b70493093264588fcd0f258ddaab1cdd4a15ffe'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Lua', '5.4.2'), +] + +files_to_copy = [ + (['lpeg.%s' % SHLIB_EXT], 'lib'), + (['*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/lpeg.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LRBinner/LRBinner-0.1-foss-2023a.eb b/easybuild/easyconfigs/l/LRBinner/LRBinner-0.1-foss-2023a.eb new file mode 100644 index 00000000000..143e59d35c5 --- /dev/null +++ b/easybuild/easyconfigs/l/LRBinner/LRBinner-0.1-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'LRBinner' +version = '0.1' + +homepage = 'https://github.com/anuradhawick/LRBinner' +description = "LRBinner is a long-read binning tool published in WABI 2021 proceedings and AMB. " + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('HMMER', '3.4'), + ('Seaborn', '0.13.2'), + ('h5py', '3.9.0'), + ('PyTorch', '2.1.2'), + ('tqdm', '4.66.1'), + ('Biopython', '1.83'), + ('scikit-learn', '1.3.1'), + ('FragGeneScan', '1.31'), + ('HDBSCAN', '0.8.38.post1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tabulate', '0.9.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f'], + }), + (name, version, { + 'modulename': 'mbcclr_utils', + 'preinstallopts': "sed -i 's/pytorch/torch/g' setup.py && ", + 'source_urls': ['https://github.com/anuradhawick/LRBinner/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['2d77dde8ab1272c432b20eb18a352326c622e929261562ef6d680c6638cc4bd1'], + }), +] + +sanity_check_commands = ['LRBinner --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..82407cd707a --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.2-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.2' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '10.2.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 = [ + '6573398d0e77bc5fe76587d8676428b77fe15fe6e45fb8526f448d1c739d3cd9', # v.2.2.tar.gz + # LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6', +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8e7a2ffbb55 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +# Updated to v2.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.3' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '10.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 = [ + 'c7819be1204ebf77e3660bba91dbd8629ba9437216814f276a11b9156dbb0649', # v.2.3.tar.gz + # LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c9bd84d8797 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +# Updated to v2.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.3' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '11.2.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 = [ + 'c7819be1204ebf77e3660bba91dbd8629ba9437216814f276a11b9156dbb0649', # v.2.3.tar.gz + # LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6', +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c13e24fcc53 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.3-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +# Updated to v2.3 by +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'CMakeMake' + +name = 'LSD2' +version = '2.3' + +homepage = 'https://github.com/tothuhien/lsd2' +description = "Least-squares methods to estimate rates and dates from phylogenies" + +toolchain = {'name': 'GCCcore', 'version': '11.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 = [ + 'c7819be1204ebf77e3660bba91dbd8629ba9437216814f276a11b9156dbb0649', # v.2.3.tar.gz + # LSD2-1.9.7_fix_cmake_to_build_lib_and_binary.patch + '8ef6e8c3a9a5aa2099678ed84a7e54ef687e3900894694c4eec1f5399f0487f6', +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['bin/lsd2', 'lib/liblsd2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9e53a5268c9 --- /dev/null +++ b/easybuild/easyconfigs/l/LSD2/LSD2-2.4.1-GCCcore-12.2.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.2.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.39'), + ('CMake', '3.24.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/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/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb b/easybuild/easyconfigs/l/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb new file mode 100644 index 00000000000..c101180486c --- /dev/null +++ b/easybuild/easyconfigs/l/LTR_retriever/LTR_retriever-2.9.0-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'LTR_retriever' +version = '2.9.0' + +homepage = 'https://github.com/oushujun/LTR_retriever' +description = """LTR_retriever is a highly accurate and sensitive program for + identification of LTR retrotransposons; The LTR Assembly Index (LAI) is also + included in this package. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'oushujun' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2d94f6179c33990a77fa9fdcefb842c8481b4c30833c9c12cbbe54cb3fdda73'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BLAST+', '2.13.0'), + ('RepeatMasker', '4.1.4'), + ('HMMER', '3.3.2'), + ('CD-HIT', '4.8.1'), + ('TRF', '4.09.1'), +] + +sanity_check_paths = { + 'files': ['LTR_retriever'], + 'dirs': ['bin', 'database'], +} + +sanity_check_commands = [("LTR_retriever -h 2>&1 | grep 'Usage: LTR_retriever'", '')] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9434b4e9093 --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.37')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..108c91bc2a7 --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.38')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e1ced572aa5 --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.39')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..38c850b17e8 --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.40')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3b46b64940c --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.40')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4d8ccd20b1f --- /dev/null +++ b/easybuild/easyconfigs/l/LZO/LZO-2.10-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'LZO' +version = '2.10' + +homepage = 'https://www.oberhumer.com/opensource/lzo/' +description = "Portable lossless data compression library" + +source_urls = [homepage + 'download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072'] + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [('binutils', '2.42')] + +configopts = '--enable-shared' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/liblzo2.a', 'lib/liblzo2.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/L_RNA_scaffolder/L_RNA_scaffolder-20190530-GCC-11.3.0.eb b/easybuild/easyconfigs/l/L_RNA_scaffolder/L_RNA_scaffolder-20190530-GCC-11.3.0.eb new file mode 100644 index 00000000000..778fc080c64 --- /dev/null +++ b/easybuild/easyconfigs/l/L_RNA_scaffolder/L_RNA_scaffolder-20190530-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'L_RNA_scaffolder' +local_commit = '98f19e3' +version = '20190530' + +homepage = 'https://github.com/CAFS-bioinformatics/L_RNA_scaffolder' +description = "L_RNA_scaffolder is a genome scaffolding tool with long trancriptome reads" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/CAFS-bioinformatics/L_RNA_scaffolder/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['ef4c5bf3511e9947bdb33201bdcaf1ff779ca315a2139f73bb549fb6bfc05f5a'] + +dependencies = [ + ('BioPerl', '1.7.8'), +] + +fix_perl_shebang_for = ['*.pl'] + +# make sure exec permissions are set for all binaries and scripts (everything except README.md and easybuild subdir) +postinstallcmds = ["ls -d %(installdir)s/* | egrep -v '/README.md|/easybuild$' | xargs chmod a+x"] + +sanity_check_paths = { + 'files': ['calculate-lc', 'calculate-pid', 'convert', 'convert_linker', 'count_connection_frequency', + 'delete_block', 'delete_linker', 'delete_same_fragment', 'filter_scaffold.pl', + 'find_end_node', 'find_reliable_connection', 'find_start_node', 'form_block', + 'form_path.pl', 'generate_scaffold.pl', 'generate_unscaffold.pl', 'L_RNA_scaffolder.sh', 'link_block', + 'order', 'overlap', 'route.pl', 'search_guider', 'select_nodes'], + 'dirs': [], +} + +sanity_check_commands = ["L_RNA_scaffolder.sh -? | grep '^Usage: sh L_RNA_scaffolder.sh'"] + +modextrapaths = {'PATH': ''} + +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/Lace/Lace-1.14.1-foss-2022a.eb b/easybuild/easyconfigs/l/Lace/Lace-1.14.1-foss-2022a.eb new file mode 100644 index 00000000000..16441a8ab89 --- /dev/null +++ b/easybuild/easyconfigs/l/Lace/Lace-1.14.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'Lace' +version = '1.14.1' + +homepage = 'https://github.com/Oshlack/Lace' +description = "Building SuperTranscripts: A linear representation of transcriptome data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/Oshlack/Lace/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['79629e1cb0b7f21c9767daa24fd8cdc229d6b1c45e5e361e80ae9211678366f5'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('BLAT', '3.7'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'Lace'} + +sanity_check_paths = { + 'files': ['bin/Lace'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["Lace -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb b/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb new file mode 100644 index 00000000000..640990af4c3 --- /dev/null +++ b/easybuild/easyconfigs/l/LangChain/LangChain-0.2.1-foss-2023a.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'LangChain' +version = '0.2.1' +_rust_ver = '1.75.0' + +homepage = 'https://github.com/langchain-ai/langchain' +description = """ +LangChain is a framework for developing applications powered by large language models (LLMs). +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('pydantic', '2.5.3'), + ('PyYAML', '6.0'), + ('SQLAlchemy', '2.0.25'), +] + +exts_list = [ + ('jsonpointer', '2.4', { + 'checksums': ['585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88'], + }), + ('jsonpatch', '1.33', { + 'checksums': ['9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('langchain-core', '0.2.3', { + 'sources': ['langchain_core-%(version)s.tar.gz'], + 'checksums': ['fbc75a64b9c0b7655d96ca57a707df1e6c09efc1539c36adbd73260612549810'], + }), + ('langchain-text-splitters', '0.2.0', { + 'sources': ['langchain_text_splitters-%(version)s.tar.gz'], + 'checksums': ['b32ab4f7397f7d42c1fa3283fefc2547ba356bd63a68ee9092865e5ad83c82f9'], + }), + ('orjson', '3.9.14', { + 'checksums': ['06fb40f8e49088ecaa02f1162581d39e2cf3fd9dbbfe411eb2284147c99bad79'], + }), + ('langsmith', '0.1.65', { + 'checksums': ['d3c2eb2391478bd79989f02652cf66e29a7959d677614b6993a47cef43f7f43b'], + }), + ('tenacity', '8.3.0', { + 'checksums': ['953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2'], + }), + (name, version, { + 'modulename': 'langchain', + 'sources': ['langchain-%(version)s.tar.gz'], + 'checksums': ['5758a315e1ac92eb26dafec5ad0fafa03cafa686aba197d5bb0b1dd28cc03ebe'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b6dd4bfcb8b --- /dev/null +++ b/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,99 @@ +easyblock = "PythonBundle" + +name = 'LayoutParser' +version = '0.3.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://layout-parser.github.io/' +description = "A Unified Toolkit for Deep Learning Based Document Image Analysis" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('Pillow', '9.1.1'), + ('PyYAML', '6.0'), + ('ImageMagick', '7.1.0-37'), # needed by Wand + ('poppler', '22.12.0'), # needed by pdf2image + ('protobuf-python', '3.19.4'), # needed by google-api-core + ('pycocotools', '2.0.6'), # needed by effdet + ('PyTorch-Image-Models', '0.9.2', versionsuffix), # needed by effdet + ('tqdm', '4.64.0'), # needed by iopath + ('torchvision', '0.13.1', versionsuffix), # layoutmodels extra +] + +use_pip = True + +# remove opencv-python from requirements: since pip is not aware of cv2 in OpenCV from EB +_del_opencv_req = "sed -i '/opencv-python/d' setup.py &&" +# relax dependency on PyTorch of effdet +_relax_torch_req = "sed -i 's/torch >= 1.12.1/torch >= 1.12.0/' setup.py &&" + +exts_list = [ + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('iopath', '0.1.10', { + 'checksums': ['3311c16a4d9137223e20f141655759933e1eda24f8bff166af834af3c645ef01'], + }), + ('Wand', '0.6.11', { + 'checksums': ['b661700da9f8f1e931e52726e4fc643a565b9514f5883d41b773e3c37c9fa995'], + }), + ('pdfminer.six', '20221105', { + 'modulename': 'pdfminer', + 'checksums': ['8448ab7b939d18b64820478ecac5394f482d7a79f5f7eaa7703c6c959c175e1d'], + 'use_pip_extras': 'image', + }), + ('pdfplumber', '0.9.0', { + 'checksums': ['a43a213e125ed72b2358c0d3428f9b72f83939109ec33b77ef9325eeab9846f0'], + }), + ('pdf2image', '1.16.3', { + 'checksums': ['74208810c2cef4d9e347769b8e62a52303982ddb4f2dfd744c7ab4b940ae287e'], + }), + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.3.0', { + 'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google.api', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('google-api-core', '1.32.0', { + 'modulename': 'google.api_core', + 'checksums': ['101c3c4cf8e7d53badd1dbca7071464353a04b17319a3dbb3a94eaa893da091c'], + 'use_pip_extras': 'grpc', + }), + ('google-cloud-vision', '1.0.2', { + 'modulename': 'google.cloud.vision', + 'checksums': ['0c349f771ee49027781e05df2efa6fc1a8b4f7d1d74ab57675f9151a04b01d6f'], + }), + ('pytesseract', '0.3.8', { + 'checksums': ['6148a01e4375760862e8f56ea718e22b5d13b281454df46ea8dac9807793fc5a'], + }), + ('effdet', '0.4.1', { + 'checksums': ['ac5589fd304a5650c201986b2ef5f8e10c111093a71b1c49fa6b8817710812b5'], + 'preinstallopts': _relax_torch_req, + }), + ('layoutparser', version, { + 'checksums': ['0dfb2194c36a5ad1075b8310f3cbc280c00306d1758cef127d20283f7ce085ea'], + 'preinstallopts': _del_opencv_req, + 'use_pip_extras': 'ocr,gcv,tesseract,layoutmodels,effdet', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a.eb b/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a.eb new file mode 100644 index 00000000000..792b0550540 --- /dev/null +++ b/easybuild/easyconfigs/l/LayoutParser/LayoutParser-0.3.4-foss-2022a.eb @@ -0,0 +1,97 @@ +easyblock = "PythonBundle" + +name = 'LayoutParser' +version = '0.3.4' + +homepage = 'https://layout-parser.github.io/' +description = "A Unified Toolkit for Deep Learning Based Document Image Analysis" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('OpenCV', '4.6.0', '-contrib'), + ('Pillow', '9.1.1'), + ('PyYAML', '6.0'), + ('ImageMagick', '7.1.0-37'), # needed by Wand + ('poppler', '22.12.0'), # needed by pdf2image + ('protobuf-python', '3.19.4'), # needed by google-api-core + ('pycocotools', '2.0.6'), # needed by effdet + ('PyTorch-Image-Models', '0.9.2'), # needed by effdet + ('tqdm', '4.64.0'), # needed by iopath + ('torchvision', '0.13.1'), # layoutmodels extra +] + +use_pip = True + +# remove opencv-python from requirements: since pip is not aware of cv2 in OpenCV from EB +_del_opencv_req = "sed -i '/opencv-python/d' setup.py &&" +# relax dependency on PyTorch of effdet +_relax_torch_req = "sed -i 's/torch >= 1.12.1/torch >= 1.12.0/' setup.py &&" + +exts_list = [ + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('iopath', '0.1.10', { + 'checksums': ['3311c16a4d9137223e20f141655759933e1eda24f8bff166af834af3c645ef01'], + }), + ('Wand', '0.6.11', { + 'checksums': ['b661700da9f8f1e931e52726e4fc643a565b9514f5883d41b773e3c37c9fa995'], + }), + ('pdfminer.six', '20221105', { + 'modulename': 'pdfminer', + 'checksums': ['8448ab7b939d18b64820478ecac5394f482d7a79f5f7eaa7703c6c959c175e1d'], + 'use_pip_extras': 'image', + }), + ('pdfplumber', '0.9.0', { + 'checksums': ['a43a213e125ed72b2358c0d3428f9b72f83939109ec33b77ef9325eeab9846f0'], + }), + ('pdf2image', '1.16.3', { + 'checksums': ['74208810c2cef4d9e347769b8e62a52303982ddb4f2dfd744c7ab4b940ae287e'], + }), + ('antlr4-python3-runtime', '4.9.3', { + 'modulename': 'antlr4', + 'checksums': ['f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b'], + }), + ('omegaconf', '2.3.0', { + 'checksums': ['d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google.api', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('google-api-core', '1.32.0', { + 'modulename': 'google.api_core', + 'checksums': ['101c3c4cf8e7d53badd1dbca7071464353a04b17319a3dbb3a94eaa893da091c'], + 'use_pip_extras': 'grpc', + }), + ('google-cloud-vision', '1.0.2', { + 'modulename': 'google.cloud.vision', + 'checksums': ['0c349f771ee49027781e05df2efa6fc1a8b4f7d1d74ab57675f9151a04b01d6f'], + }), + ('pytesseract', '0.3.8', { + 'checksums': ['6148a01e4375760862e8f56ea718e22b5d13b281454df46ea8dac9807793fc5a'], + }), + ('effdet', '0.4.1', { + 'checksums': ['ac5589fd304a5650c201986b2ef5f8e10c111093a71b1c49fa6b8817710812b5'], + 'preinstallopts': _relax_torch_req, + }), + ('layoutparser', version, { + 'checksums': ['0dfb2194c36a5ad1075b8310f3cbc280c00306d1758cef127d20283f7ce085ea'], + 'preinstallopts': _del_opencv_req, + 'use_pip_extras': 'ocr,gcv,tesseract,layoutmodels,effdet', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/Leptonica/Leptonica-1.82.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.82.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..35dbc6b8a35 --- /dev/null +++ b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.82.0-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'Leptonica' +version = '1.82.0' + +homepage = 'http://www.leptonica.org' +description = """Leptonica is a collection of pedagogically-oriented open source software + that is broadly useful for image processing and image analysis applications.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/DanBloomberg/leptonica/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('libpng', '1.6.37'), + ('LibTIFF', '4.2.0'), + ('libjpeg-turbo', '2.0.6'), + ('giflib', '5.2.1'), + ('libwebp', '1.2.0'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/convertformat', 'lib/liblept.%s' % SHLIB_EXT], + 'dirs': ['include/leptonica', 'lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d4743b6cc7d --- /dev/null +++ b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.83.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'Leptonica' +version = '1.83.0' + +homepage = 'http://www.leptonica.org' +description = """Leptonica is a collection of pedagogically-oriented open source software + that is broadly useful for image processing and image analysis applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/DanBloomberg/leptonica/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['206591dd58cf84ef380836dad133b58c9d1af92491f5a9825c346a162044bcfe'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('giflib', '5.2.1'), + ('libwebp', '1.2.4'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/convertformat'], + 'dirs': ['include/leptonica', 'lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/Leptonica/Leptonica-1.84.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.84.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee92fb98c62 --- /dev/null +++ b/easybuild/easyconfigs/l/Leptonica/Leptonica-1.84.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'Leptonica' +version = '1.84.1' + +homepage = 'http://www.leptonica.org' +description = """Leptonica is a collection of pedagogically-oriented open source software + that is broadly useful for image processing and image analysis applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/DanBloomberg/leptonica/releases/download/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2b3e1254b1cca381e77c819b59ca99774ff43530209b9aeb511e1d46588a64f6'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('giflib', '5.2.1'), + ('libwebp', '1.3.1'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/convertformat'], + 'dirs': ['include/leptonica', 'lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LevelDB/LevelDB-1.22-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LevelDB/LevelDB-1.22-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..35889241c08 --- /dev/null +++ b/easybuild/easyconfigs/l/LevelDB/LevelDB-1.22-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'LevelDB' +version = '1.22' + +homepage = 'https://github.com/google/leveldb' +description = """LevelDB is a fast key-value storage library written at Google that provides an +ordered mapping from string keys to string values.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/leveldb/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['55423cac9e3306f4a9502c738a001e4a339d1a38ffbee7572d4a07d5d63949b2'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +configopts = "-DBUILD_SHARED_LIBS=ON -DLEVELDB_BUILD_BENCHMARKS=OFF " + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('leveldb', '0.201', { + 'checksums': ['1cffe776842917e09f073bd6ea5856c64136aebddbe51bd17ea29913472fecbf'], + }), +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_paths = { + 'files': ['include/leveldb/cache.h', 'include/leveldb/table.h', + 'lib/libleveldb.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pip check"] + +moduleclass = 'devel' 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/LiBis/LiBis-20200428-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/l/LiBis/LiBis-20200428-foss-2019b-Python-3.7.4.eb index 1788ec1f1d8..4eadb4441ed 100644 --- a/easybuild/easyconfigs/l/LiBis/LiBis-20200428-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/l/LiBis/LiBis-20200428-foss-2019b-Python-3.7.4.eb @@ -24,7 +24,7 @@ checksums = [ dependencies = [ ('Python', '3.7.4'), - ('FastQC', '0.11.9', '-Java-11', True), + ('FastQC', '0.11.9', '-Java-11', SYSTEM), ('SciPy-bundle', '2019.10', versionsuffix), # pandas ('matplotlib', '3.1.1', versionsuffix), ('cutadapt', '2.7', versionsuffix), diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..7b980f3eae2 --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.4-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'ConfigureMake' + +name = 'LibLZF' +version = '3.4' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['ec62974877b4b85f6e37db97e71678c7abfe83091b57d32ec69fa37b2c3c9499'] + +builddependencies = [ + ('binutils', '2.35'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..63540846348 --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-10.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 = 'ConfigureMake' + +name = 'LibLZF' +version = '3.6' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f278878029d --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-11.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), Denis Kristak +easyblock = 'ConfigureMake' + +name = 'LibLZF' +version = '3.6' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..500e9679115 --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-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), Denis Kristak +easyblock = 'ConfigureMake' + +name = 'LibLZF' +version = '3.6' + +homepage = 'http://oldhome.schmorp.de/marc/liblzf.html' +description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files +and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still +written in portable C.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://dist.schmorp.de/liblzf/Attic/'] +sources = ['liblzf-%(version)s.tar.gz'] +checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_commands = ['lzf -h'] + +sanity_check_paths = { + 'files': ['bin/lzf', 'lib/liblzf.a'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibSoup/LibSoup-2.70.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/LibSoup/LibSoup-2.70.0-GCCcore-8.3.0.eb index 3f85cfec974..00e1326a7f7 100644 --- a/easybuild/easyconfigs/l/LibSoup/LibSoup-2.70.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/LibSoup/LibSoup-2.70.0-GCCcore-8.3.0.eb @@ -18,7 +18,7 @@ checksums = ['54b020f74aefa438918d8e53cff62e2b1e59efe2de53e06b19a4b07b1f4d5342'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('pkg-config', '0.29.2'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), diff --git a/easybuild/easyconfigs/l/LibSoup/LibSoup-2.74.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LibSoup/LibSoup-2.74.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fd45e035337 --- /dev/null +++ b/easybuild/easyconfigs/l/LibSoup/LibSoup-2.74.0-GCCcore-10.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MesonNinja' + +name = 'LibSoup' +version = '2.74.0' + +homepage = 'https://wiki.gnome.org/Projects/libsoup' +description = """libsoup is an HTTP client/server library for GNOME. It +uses GObjects and the glib main loop, to integrate well with GNOME +applications, and also has a synchronous API, for use in threaded +applications.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'cstd': 'gnu11'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['33b1d4e0d639456c675c227877e94a8078d731233e2d57689c11abcef7d3c48e'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.68.0'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('libxml2', '2.9.10'), + ('SQLite', '3.35.4'), + ('GLib', '2.68.2'), + ('libpsl', '0.21.1'), + ('cURL', '7.76.0'), +] + +# uncomment for checking TLS support +# osdependencies = [('gnutls-devel', 'gnutls-dev', 'libgnutls-devel')] + +# remove option -Dtls_check=false for checking TLS support +configopts = '-Dgssapi=disabled -Dvapi=disabled -Dtls_check=false ' + +sanity_check_paths = { + 'files': ['lib/libsoup-2.4.%s' % SHLIB_EXT, 'lib/libsoup-gnome-2.4.%s' % SHLIB_EXT], + 'dirs': ['include/libsoup-2.4/libsoup', 'include/libsoup-gnome-2.4/libsoup', 'lib/pkgconfig'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.7-GCC-11.2.0.eb b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..f30142975fd --- /dev/null +++ b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.7-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MesonNinja' + +name = 'LibSoup' +version = '3.0.7' + +homepage = 'https://wiki.gnome.org/Projects/libsoup' +description = """libsoup is an HTTP client/server library for GNOME. It +uses GObjects and the glib main loop, to integrate well with GNOME +applications, and also has a synchronous API, for use in threaded +applications.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'cstd': 'gnu11'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['ebdf90cf3599c11acbb6818a9d9e3fc9d2c68e56eb829b93962972683e1bf7c8'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.68.0'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('libxml2', '2.9.10'), + ('SQLite', '3.36'), + ('GLib', '2.69.1'), + ('libpsl', '0.21.1'), + ('cURL', '7.78.0'), + ('GnuTLS', '3.7.3'), + ('nghttp2', '1.48.0'), + ('glib-networking', '2.72.1'), + ('Brotli', '1.0.9'), +] + +sanity_check_paths = { + 'files': ['lib/libsoup-3.0.%s' % SHLIB_EXT], + 'dirs': ['include/libsoup-3.0/libsoup/', 'lib/pkgconfig'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb new file mode 100644 index 00000000000..98036c143ff --- /dev/null +++ b/easybuild/easyconfigs/l/LibSoup/LibSoup-3.0.8-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MesonNinja' + +name = 'LibSoup' +version = '3.0.8' + +homepage = 'https://wiki.gnome.org/Projects/libsoup' +description = """libsoup is an HTTP client/server library for GNOME. It +uses GObjects and the glib main loop, to integrate well with GNOME +applications, and also has a synchronous API, for use in threaded +applications.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu11'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c8739dc1c23c2b1e3b816d7598b3fa1764a3e1a2a2f5257b1bc4466d867caced'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), + ('GObject-Introspection', '1.72.0'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('GLib', '2.72.1'), + ('libpsl', '0.21.1'), + ('cURL', '7.83.0'), + ('GnuTLS', '3.7.8'), + ('nghttp2', '1.48.0'), + ('glib-networking', '2.72.1'), + ('Brotli', '1.0.9'), +] + +sanity_check_paths = { + 'files': ['lib/libsoup-3.0.%s' % SHLIB_EXT], + 'dirs': ['include/libsoup-3.0/libsoup/', 'lib/pkgconfig'] +} + +moduleclass = 'lib' 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 43be2ea49e0..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 @@ -7,7 +7,7 @@ # $Id$ # # This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ +# https://hpcbios.readthedocs.org/en/latest/ ## easyblock = 'ConfigureMake' @@ -30,13 +30,18 @@ builddependencies = [('binutils', '2.35')] dependencies = [ ('zlib', '1.2.11'), - ('libjpeg-turbo', '2.0.5') + ('libjpeg-turbo', '2.0.5'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('zstd', '1.4.5'), ] -configopts = " --enable-ld-version-script " +configopts = "--enable-ld-version-script " +configopts += "--disable-webp " sanity_check_paths = { - 'files': ['bin/tiffinfo'], + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], 'dirs': [], } 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 afb2bc14767..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 @@ -7,7 +7,7 @@ # $Id$ # # This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ +# https://hpcbios.readthedocs.org/en/latest/ ## easyblock = 'ConfigureMake' @@ -30,13 +30,18 @@ builddependencies = [('binutils', '2.32')] dependencies = [ ('zlib', '1.2.11'), - ('libjpeg-turbo', '2.0.3') + ('libjpeg-turbo', '2.0.3'), + ('XZ', '5.2.4'), + ('jbigkit', '2.1'), + ('zstd', '1.4.4'), ] -configopts = " --enable-ld-version-script " +configopts = "--enable-ld-version-script " +configopts += "--disable-webp " sanity_check_paths = { - 'files': ['bin/tiffinfo'], + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], 'dirs': [], } 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 ee0d9664265..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 @@ -7,7 +7,7 @@ # $Id$ # # This work implements a part of the HPCBIOS project and is a component of the policy: -# http://hpcbios.readthedocs.org/en/latest/ +# https://hpcbios.readthedocs.org/en/latest/ ## easyblock = 'ConfigureMake' @@ -30,13 +30,18 @@ builddependencies = [('binutils', '2.34')] dependencies = [ ('zlib', '1.2.11'), - ('libjpeg-turbo', '2.0.4') + ('libjpeg-turbo', '2.0.4'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('zstd', '1.4.4'), ] -configopts = " --enable-ld-version-script " +configopts = "--enable-ld-version-script " +configopts += "--disable-webp " sanity_check_paths = { - 'files': ['bin/tiffinfo'], + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.2.0-GCCcore-10.3.0.eb index ea453d26399..06ba435fef8 100644 --- a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.2.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.2.0-GCCcore-10.3.0.eb @@ -19,14 +19,21 @@ builddependencies = [('binutils', '2.36.1')] dependencies = [ ('zlib', '1.2.11'), - ('libjpeg-turbo', '2.0.6') + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('zstd', '1.4.9'), ] -configopts = " --enable-ld-version-script " +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-libdeflate " sanity_check_paths = { - 'files': ['bin/tiffinfo'], + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], 'dirs': [], } +sanity_check_commands = ["tiffinfo -h"] + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..aff028c58ab --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.3.0' + +homepage = 'https://libtiff.maptools.org/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.osgeo.org/libtiff/', +] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('zstd', '1.5.0'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-libdeflate " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7e67eb521f7 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.3.0' + +homepage = 'https://libtiff.maptools.org/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.osgeo.org/libtiff/', +] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('zstd', '1.5.2'), + ('libdeflate', '1.10'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d9ac3eaca8f --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.4.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.4'), + ('XZ', '5.2.7'), + ('jbigkit', '2.1'), + ('zstd', '1.5.2'), + ('libdeflate', '1.15'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9d9e6c1971c --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.5.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('zlib', '1.2.13'), + ('libjpeg-turbo', '2.1.5.1'), + ('XZ', '5.4.2'), + ('jbigkit', '2.1'), + ('zstd', '1.5.5'), + ('libdeflate', '1.18'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-sphinx " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a4fde1fe8b6 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.6.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('zlib', '1.2.13'), + ('libjpeg-turbo', '3.0.1'), + ('XZ', '5.4.4'), + ('jbigkit', '2.1'), + ('zstd', '1.5.5'), + ('libdeflate', '1.19'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-sphinx " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..01e24006610 --- /dev/null +++ b/easybuild/easyconfigs/l/LibTIFF/LibTIFF-4.6.0-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LibTIFF' +version = '4.6.0' + +homepage = 'https://libtiff.gitlab.io/libtiff/' +description = "tiff: Library and tools for reading and writing TIFF data files" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/libtiff/'] +sources = ['tiff-%(version)s.tar.gz'] +checksums = ['88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('zlib', '1.3.1'), + ('libjpeg-turbo', '3.0.1'), + ('XZ', '5.4.5'), + ('jbigkit', '2.1'), + ('zstd', '1.5.6'), + ('libdeflate', '1.20'), +] + +configopts = "--enable-ld-version-script " +configopts += "--disable-webp --disable-sphinx " + +sanity_check_paths = { + 'files': ['bin/tiffdump', 'bin/tiffinfo', 'include/tiff.h', 'lib/libtiff.a', 'lib/libtiff.%s' % SHLIB_EXT, + 'lib/libtiffxx.a', 'lib/libtiffxx.%s' % SHLIB_EXT, 'lib/pkgconfig/libtiff-4.pc'], + 'dirs': [], +} + +sanity_check_commands = ["tiffinfo -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/LibUUID/LibUUID-1.0.3-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/LibUUID/LibUUID-1.0.3-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..75b312a23e8 --- /dev/null +++ b/easybuild/easyconfigs/l/LibUUID/LibUUID-1.0.3-GCCcore-8.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'LibUUID' +version = '1.0.3' + +homepage = 'http://sourceforge.net/projects/libuuid/' + +description = """Portable uuid C library""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://raw.githubusercontent.com/karelzak/util-linux/stable/v2.32/libuuid/src', +] +sources = [ + SOURCELOWER_TAR_GZ, + {'filename': 'libuuid.sym', 'extract_cmd': 'cp %s %(builddir)s'}, +] +checksums = [ + '46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644', # libuuid-1.0.3.tar.gz + '5932866797560bf5822c3340b64dff514afb6cef23a824f96991f8e9e9d29028', # libuuid.sym +] + +builddependencies = [ + ('binutils', '2.32'), +] + +preconfigopts = 'LDFLAGS="$LDFLAGS -Wl,--version-script=%(builddir)s/libuuid.sym"' + +sanity_check_paths = { + 'files': [ + 'include/uuid/uuid.h', + 'lib/libuuid.a', + 'lib/libuuid.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020a.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020a.eb new file mode 100644 index 00000000000..97a00710a0c --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020a.eb @@ -0,0 +1,32 @@ +name = 'Libint' +version = '1.1.6' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/evaleev/libint/archive/'] +sources = ['release-%s.tar.gz' % '-'.join(version.split('.'))] +checksums = ['f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6'] + +builddependencies = [('Autotools', '20180311')] + +preconfigopts = "aclocal -I lib/autoconf && libtoolize && autoconf && " + +# these are important for CP2K +# see https://github.com/cp2k/cp2k/blob/master/cp2k/tools/hfx_tools/libint_tools/README_LIBINT +configopts = "--with-libint-max-am=5 --with-libderiv-max-am1=4 " + +configopts += " --enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.%s' % (x, y) for x in ['deriv', 'int', 'r12'] for y in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020b.eb b/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020b.eb new file mode 100644 index 00000000000..b85944e7d72 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-1.1.6-foss-2020b.eb @@ -0,0 +1,32 @@ +name = 'Libint' +version = '1.1.6' + +homepage = 'https://sourceforge.net/p/libint/' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/evaleev/libint/archive/'] +sources = ['release-%s.tar.gz' % '-'.join(version.split('.'))] +checksums = ['f201b0c621df678cfe8bdf3990796b8976ff194aba357ae398f2f29b0e2985a6'] + +builddependencies = [('Autotools', '20200321')] + +preconfigopts = "aclocal -I lib/autoconf && libtoolize && autoconf && " + +# these are important for CP2K +# see https://github.com/cp2k/cp2k/blob/master/cp2k/tools/hfx_tools/libint_tools/README_LIBINT +configopts = "--with-libint-max-am=5 --with-libderiv-max-am1=4 " + +configopts += " --enable-deriv --enable-r12" + +sanity_check_paths = { + 'files': ['include/lib%(x)s/lib%(x)s.h' % {'x': x} for x in ['deriv', 'int', 'r12']] + + ['include/libint/hrr_header.h', 'include/libint/vrr_header.h'] + + ['lib/lib%s.%s' % (x, y) for x in ['deriv', 'int', 'r12'] for y in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.4.2-intel-2018a.eb b/easybuild/easyconfigs/l/Libint/Libint-2.4.2-intel-2018a.eb index f36862909d7..a9f94d66090 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.4.2-intel-2018a.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.4.2-intel-2018a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('Autotools', '20170619'), ('GMP', '6.1.2'), ('Boost', '1.66.0', '-Python-2.7.14'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('Python', '2.7.14'), ] diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.5.0-gompi-2019a.eb b/easybuild/easyconfigs/l/Libint/Libint-2.5.0-gompi-2019a.eb index 7bdd390fc27..ea2d5040ce7 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.5.0-gompi-2019a.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.5.0-gompi-2019a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('Autotools', '20180311'), ('GMP', '6.1.2'), ('Boost', '1.70.0'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('Python', '2.7.15'), ] diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.5.0-iimpi-2019a.eb b/easybuild/easyconfigs/l/Libint/Libint-2.5.0-iimpi-2019a.eb index 3983e2d6057..87d30d047ad 100644 --- a/easybuild/easyconfigs/l/Libint/Libint-2.5.0-iimpi-2019a.eb +++ b/easybuild/easyconfigs/l/Libint/Libint-2.5.0-iimpi-2019a.eb @@ -16,7 +16,7 @@ builddependencies = [ ('Autotools', '20180311'), ('GMP', '6.1.2'), ('Boost', '1.70.0'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('Python', '2.7.15'), ] diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.6.0-GCC-10.3.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.6.0-GCC-10.3.0-lmax-6-cp2k.eb new file mode 100644 index 00000000000..3944c683f1d --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.6.0-GCC-10.3.0-lmax-6-cp2k.eb @@ -0,0 +1,52 @@ +## +# Author: Robert Mijakovic +## +name = 'Libint' +version = '2.6.0' +local_lmax = 6 +# custom configuration, to be used as dependency for CP2K +versionsuffix = '-lmax-%s-cp2k' % local_lmax + +homepage = 'https://github.com/evaleev/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Libint-%(version)s_fix-LIBINT2-MAX-AM-default1.patch', + 'Libint-2.6.0_remove-test-eri.patch', +] +checksums = [ + '4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa', # v2.6.0.tar.gz + # Libint-2.6.0_fix-LIBINT2-MAX-AM-default1.patch + 'e5445c89639d113be7726c2bc1164d2f6ea75e76abbb1c94acd55c508693d5ab', + # Libint-2.6.0_remove-test-eri.patch + 'e47868901250078adeb35b80ab866ba8063ad9756881d1b557cb925334df653b', +] + +builddependencies = [ + ('Autotools', '20210128'), + ('GMP', '6.2.1'), + ('Boost', '1.76.0'), + ('Eigen', '3.3.9'), + ('Python', '3.9.5'), +] + +# configure options as required by CP2K, +# see Jenkinsfile in https://github.com/cp2k/libint-cp2k +local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1) +local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1) + +libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax +libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am +libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--enable-generic-code --disable-unrolling' + +with_fortran = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.6.0-iimpi-2021a-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.6.0-iimpi-2021a-lmax-6-cp2k.eb new file mode 100644 index 00000000000..47c9ccee72c --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.6.0-iimpi-2021a-lmax-6-cp2k.eb @@ -0,0 +1,44 @@ +name = 'Libint' +version = '2.6.0' +local_lmax = 6 +# custom configuration, to be used as dependency for CP2K +versionsuffix = '-lmax-%s-cp2k' % local_lmax + +homepage = 'https://github.com/evaleev/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['Libint-%(version)s_fix-LIBINT2-MAX-AM-default1.patch'] +checksums = [ + '4ae47e8f0b5632c3d2a956469a7920896708e9f0e396ec10071b8181e4c8d9fa', # v2.6.0.tar.gz + # Libint-2.6.0_fix-LIBINT2-MAX-AM-default1.patch + 'e5445c89639d113be7726c2bc1164d2f6ea75e76abbb1c94acd55c508693d5ab', +] + +builddependencies = [ + ('Autotools', '20210128'), + ('GMP', '6.2.1'), + ('Boost', '1.76.0'), + ('Eigen', '3.3.9'), + ('Python', '2.7.18', '-bare'), +] + +# configure options as required by CP2K, +# see Jenkinsfile in https://github.com/cp2k/libint-cp2k +local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1) +local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1) + +libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax +libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am +libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--enable-generic-code --disable-unrolling' + +with_fortran = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb new file mode 100644 index 00000000000..4a56e599763 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-11.3.0-lmax-6-cp2k.eb @@ -0,0 +1,55 @@ +## +# This easyconfig is based on the easy config written originally by Robert Mijakovic +# Author: Ben Czaja (SURF) +## +name = 'Libint' +version = '2.7.2' +local_lmax = 6 +# custom configuration, to be used as dependency for CP2K +versionsuffix = '-lmax-%s-cp2k' % local_lmax + +homepage = 'https://github.com/evaleev/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Libint-2.7.2_remove-test-permute.patch', + 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', +] +checksums = [ + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('GMP', '6.2.1'), + ('Boost', '1.79.0'), + ('Eigen', '3.4.0'), + ('Python', '3.10.4'), + ('CMake', '3.23.1'), +] + +# configure options as required by CP2K, +# see Jenkinsfile in https://github.com/cp2k/libint-cp2k +local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1) +local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1) + +libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax +libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am +libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--enable-generic-code --disable-unrolling' + +with_fortran = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb new file mode 100644 index 00000000000..cc27408e814 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.2.0-lmax-6-cp2k.eb @@ -0,0 +1,55 @@ +## +# This easyconfig is based on the easy config written originally by Robert Mijakovic +# Author: Ben Czaja (SURF) +## +name = 'Libint' +version = '2.7.2' +local_lmax = 6 +# custom configuration, to be used as dependency for CP2K +versionsuffix = '-lmax-%s-cp2k' % local_lmax + +homepage = 'https://github.com/evaleev/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Libint-2.7.2_remove-test-permute.patch', + 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', +] +checksums = [ + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('GMP', '6.2.1'), + ('Boost', '1.81.0'), + ('Eigen', '3.4.0'), + ('Python', '3.10.8'), + ('CMake', '3.24.3'), +] + +# configure options as required by CP2K, +# see Jenkinsfile in https://github.com/cp2k/libint-cp2k +local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1) +local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1) + +libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax +libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am +libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--enable-generic-code --disable-unrolling' + +with_fortran = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb new file mode 100644 index 00000000000..df4157f143d --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2-GCC-12.3.0-lmax-6-cp2k.eb @@ -0,0 +1,55 @@ +## +# This easyconfig is based on the easy config written originally by Robert Mijakovic +# Author: Ben Czaja (SURF) +## +name = 'Libint' +version = '2.7.2' +local_lmax = 6 +# custom configuration, to be used as dependency for CP2K +versionsuffix = '-lmax-%s-cp2k' % local_lmax + +homepage = 'https://github.com/evaleev/libint' +description = """Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body + matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://github.com/evaleev/libint/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Libint-2.7.2_remove-test-permute.patch', + 'Libint-2.7.2_remove-test-eri.patch', + 'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch', +] +checksums = [ + {'v2.7.2.tar.gz': 'fd0466ce9eb6786b8c5bbe3d510e387ed44b198a163264dfd7e60b337e295fd9'}, + {'Libint-2.7.2_remove-test-permute.patch': 'b019e66a2a3dc7e83ee8a60aa1ae78955a8af4df90ab07b7e57d2ee004ce3677'}, + {'Libint-2.7.2_remove-test-eri.patch': '4dd7b2993b6fdebb57e5c14faa9bf46117ae42100c686ace82fe26b7cb0312ab'}, + {'Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch': + 'd974418064b3ea3be914d95ae23c64f307f33d205b0ab3c79fd6ecf9fc6b57fd'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('GMP', '6.2.1'), + ('Boost', '1.82.0'), + ('Eigen', '3.4.0'), + ('Python', '3.11.3'), + ('CMake', '3.26.3'), +] + +# configure options as required by CP2K, +# see Jenkinsfile in https://github.com/cp2k/libint-cp2k +local_eri_max_am = '%s,%s' % (local_lmax, local_lmax - 1) +local_eri23_max_am = '%s,%s' % (local_lmax + 2, local_lmax + 1) + +libint_compiler_configopts = '--enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=%s ' % local_lmax +libint_compiler_configopts += '--with-eri-max-am=%s ' % local_eri_max_am +libint_compiler_configopts += '--with-eri2-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--with-eri3-max-am=%s ' % local_eri23_max_am +libint_compiler_configopts += '--enable-generic-code --disable-unrolling' + +with_fortran = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-eri.patch b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-eri.patch new file mode 100644 index 00000000000..8b1ce717603 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-eri.patch @@ -0,0 +1,15 @@ +Disable Fortran ERI tests as those have very strict error tolerances. This patch is updated from Libint-2.6.0_remove-test-eri.patch +See https://github.com/evaleev/libint/issues/188 +author: Ben Czaja (SURF) based on orginal patch from Alex Domingo (Vrije Universiteit Brussel) +diff -W 152 -Nru libint-2.7.2-orig/export/cmake/CMakeLists.txt.export libint-2.7.2/export/cmake/CMakeLists.txt.export +--- libint-2.7.2-orig/export/cmake/CMakeLists.txt.export 2022-06-20 07:51:55.000000000 +0200 ++++ libint-2.7.2/export/cmake/CMakeLists.txt.export 2022-08-16 17:38:22.347117248 +0200 +@@ -443,7 +443,7 @@ + PROPERTIES FIXTURES_REQUIRED LIBINT2_FORTRAN_EXAMPLE_EXEC) + + if (LIBINT_HAS_CXX_API) +- add_executable(fortran_test-libint2 EXCLUDE_FROM_ALL fortran/test.cc fortran/test-eri.cc $) ++ add_executable(fortran_test-libint2 EXCLUDE_FROM_ALL fortran/test.cc $) + target_link_libraries(fortran_test-libint2 libint2_cxx libint_f) + target_include_directories(fortran_test-libint2 PRIVATE $) + add_test(libint2/fortran_test/build "${CMAKE_COMMAND}" --build ${PROJECT_BINARY_DIR} --target fortran_test-libint2) diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-permute.patch b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-permute.patch new file mode 100644 index 00000000000..698f33be731 --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_remove-test-permute.patch @@ -0,0 +1,19 @@ +Disable 2-e 3-c integrals permute correctly (deriv_order=1) unit test +See https://github.com/evaleev/libint/issues/252 +author: Ben Czaja (SURF) +diff -W 152 -Nru libint-2.7.2-orig/tests/unit/test-permute.cc libint-2.7.2/tests/unit/test-permute.cc +--- libint-2.7.2-orig/tests/unit/test-permute.cc 2022-06-20 07:51:55.000000000 +0200 ++++ libint-2.7.2/tests/unit/test-permute.cc 2022-08-17 11:29:30.415136451 +0200 +@@ -539,9 +539,9 @@ + SECTION( "deriv_order=0" ) { + validate3<0>(obs, dfbs, atoms); + } // section +- SECTION( "deriv_order=1" ) { +- validate3<1>(obs, dfbs, atoms); +- } // section ++ // SECTION( "deriv_order=1" ) { ++ // validate3<1>(obs, dfbs, atoms); ++ // } // section + SECTION( "deriv_order=2" ) { + validate3<2>(obs, dfbs, atoms); + } // section \ No newline at end of file diff --git a/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch new file mode 100644 index 00000000000..62beccd45dc --- /dev/null +++ b/easybuild/easyconfigs/l/Libint/Libint-2.7.2_update-catch-hpp-fix-MINSIGSTKSZ.patch @@ -0,0 +1,6622 @@ +fix for: +/tmp/easybuild/Libint/2.7.2/GCC-12.3.0-lmax-6-cp2k/libint-2.7.2/libint-2.7.2/tests/unit/catch.hpp:10822:58: error: call to non-constexpr function long int sysconf(int) +10822 | static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; + | ^~~~~~~~~~~ + +see https://github.com/evaleev/libint/issues/328 + https://github.com/evaleev/libint/pull/334 + +From 37aed36be4cb037867758b0a9a17db29d5c87f4d Mon Sep 17 00:00:00 2001 +From: Eduard Valeyev +Date: Mon, 4 Mar 2024 09:17:09 -0500 +Subject: [PATCH] bump Catch2 to 2.13.10, resolves #328 + +see https://github.com/catchorg/Catch2/releases/tag/v2.13.10 +--- + tests/unit/catch.hpp | 5182 +++++++++++++++++++++--------------------- + 1 file changed, 2639 insertions(+), 2543 deletions(-) + +diff --git a/tests/unit/catch.hpp b/tests/unit/catch.hpp +index 4eb22c23c..9b309bddc 100644 +--- a/tests/unit/catch.hpp ++++ b/tests/unit/catch.hpp +@@ -1,9 +1,9 @@ + /* +- * Catch v2.13.4 +- * Generated: 2020-12-29 14:48:00.116107 ++ * Catch v2.13.10 ++ * Generated: 2022-10-16 11:01:23.452308 + * ---------------------------------------------------------- + * This file has been merged from multiple headers. Please don't edit it directly +- * Copyright (c) 2020 Two Blue Cubes Ltd. All rights reserved. ++ * Copyright (c) 2022 Two Blue Cubes Ltd. All rights reserved. + * + * Distributed under the Boost Software License, Version 1.0. (See accompanying + * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +@@ -15,7 +15,7 @@ + + #define CATCH_VERSION_MAJOR 2 + #define CATCH_VERSION_MINOR 13 +-#define CATCH_VERSION_PATCH 4 ++#define CATCH_VERSION_PATCH 10 + + #ifdef __clang__ + # pragma clang system_header +@@ -36,7 +36,7 @@ + # pragma clang diagnostic ignored "-Wcovered-switch-default" + # endif + #elif defined __GNUC__ +-// Because REQUIREs trigger GCC's -Wparentheses, and because still ++ // Because REQUIREs trigger GCC's -Wparentheses, and because still + // supported version of g++ have only buggy support for _Pragmas, + // Wparentheses have to be suppressed globally. + # pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details +@@ -66,13 +66,16 @@ + #if !defined(CATCH_CONFIG_IMPL_ONLY) + // start catch_platform.h + ++// See e.g.: ++// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h.auto.html + #ifdef __APPLE__ +-# include +-# if TARGET_OS_OSX == 1 +-# define CATCH_PLATFORM_MAC +-# elif TARGET_OS_IPHONE == 1 +-# define CATCH_PLATFORM_IPHONE +-# endif ++# include ++# if (defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1) || \ ++ (defined(TARGET_OS_MAC) && TARGET_OS_MAC == 1) ++# define CATCH_PLATFORM_MAC ++# elif (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1) ++# define CATCH_PLATFORM_IPHONE ++# endif + + #elif defined(linux) || defined(__linux) || defined(__linux__) + # define CATCH_PLATFORM_LINUX +@@ -93,7 +96,7 @@ + // start catch_user_interfaces.h + + namespace Catch { +-unsigned int rngSeed(); ++ unsigned int rngSeed(); + } + + // end catch_user_interfaces.h +@@ -132,9 +135,9 @@ unsigned int rngSeed(); + + #endif + +-// We have to avoid both ICC and Clang, because they try to mask themselves +-// as gcc, and we want only GCC in this block +-#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) ++// Only GCC compiler should be used in this block, so other compilers trying to ++// mask themselves as GCC should be ignored. ++#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) && !defined(__LCC__) + # define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" ) + # define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" ) + +@@ -183,13 +186,13 @@ unsigned int rngSeed(); + //////////////////////////////////////////////////////////////////////////////// + // Assume that non-Windows platforms support posix signals by default + #if !defined(CATCH_PLATFORM_WINDOWS) +-#define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS ++ #define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS + #endif + + //////////////////////////////////////////////////////////////////////////////// + // We know some environments not to support full POSIX signals + #if defined(__CYGWIN__) || defined(__QNX__) || defined(__EMSCRIPTEN__) || defined(__DJGPP__) +-#define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS ++ #define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS + #endif + + #ifdef __OS400__ +@@ -237,9 +240,6 @@ unsigned int rngSeed(); + // Visual C++ + #if defined(_MSC_VER) + +-# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) +-# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) +- + // Universal Windows platform does not support SEH + // Or console colours (or console at all...) + # if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +@@ -248,13 +248,18 @@ unsigned int rngSeed(); + # define CATCH_INTERNAL_CONFIG_WINDOWS_SEH + # endif + ++# if !defined(__clang__) // Handle Clang masquerading for msvc ++ + // MSVC traditional preprocessor needs some workaround for __VA_ARGS__ + // _MSVC_TRADITIONAL == 0 means new conformant preprocessor + // _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor +-# if !defined(__clang__) // Handle Clang masquerading for msvc + # if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) + # define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + # endif // MSVC_TRADITIONAL ++ ++// Only do this if we're not using clang on Windows, which uses `diagnostic push` & `diagnostic pop` ++# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) ++# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) + # endif // __clang__ + + #endif // _MSC_VER +@@ -279,7 +284,7 @@ unsigned int rngSeed(); + //////////////////////////////////////////////////////////////////////////////// + // Embarcadero C++Build + #if defined(__BORLANDC__) +-#define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN ++ #define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN + #endif + + //////////////////////////////////////////////////////////////////////////////// +@@ -290,7 +295,7 @@ unsigned int rngSeed(); + // Otherwise all supported compilers support COUNTER macro, + // but user still might want to turn it off + #if ( !defined(__JETBRAINS_IDE__) || __JETBRAINS_IDE__ >= 20170300L ) +-#define CATCH_INTERNAL_CONFIG_COUNTER ++ #define CATCH_INTERNAL_CONFIG_COUNTER + #endif + + //////////////////////////////////////////////////////////////////////////////// +@@ -299,7 +304,7 @@ unsigned int rngSeed(); + // This means that it is detected as Windows, but does not provide + // the same set of capabilities as real Windows does. + #if defined(UNDER_RTSS) || defined(RTX64_BUILD) +-#define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH ++ #define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH + #define CATCH_INTERNAL_CONFIG_NO_ASYNC + #define CATCH_CONFIG_COLOUR_NONE + #endif +@@ -310,28 +315,28 @@ unsigned int rngSeed(); + + // Various stdlib support checks that require __has_include + #if defined(__has_include) +-// Check if string_view is available and usable +-#if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW +-#endif +- +-// Check if optional is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +- +-// Check if byte is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# include +-# if __cpp_lib_byte > 0 +-# define CATCH_INTERNAL_CONFIG_CPP17_BYTE +-# endif +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +- +-// Check if variant is available and usable +-# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +-# if defined(__clang__) && (__clang_major__ < 8) +-// work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 ++ // Check if string_view is available and usable ++ #if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW ++ #endif ++ ++ // Check if optional is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ ++ // Check if byte is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # include ++ # if defined(__cpp_lib_byte) && (__cpp_lib_byte > 0) ++ # define CATCH_INTERNAL_CONFIG_CPP17_BYTE ++ # endif ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ ++ // Check if variant is available and usable ++ # if __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # if defined(__clang__) && (__clang_major__ < 8) ++ // work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 + // fix should be in clang 8, workaround in libstdc++ 8.2 + # include + # if defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +@@ -339,10 +344,10 @@ unsigned int rngSeed(); + # else + # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT + # endif // defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +-# else +-# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT +-# endif // defined(__clang__) && (__clang_major__ < 8) +-# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) ++ # else ++ # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT ++ # endif // defined(__clang__) && (__clang_major__ < 8) ++ # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) + #endif // defined(__has_include) + + #if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) +@@ -478,61 +483,61 @@ std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy); + + namespace Catch { + +-struct CaseSensitive { enum Choice { +- Yes, +- No +- }; }; ++ struct CaseSensitive { enum Choice { ++ Yes, ++ No ++ }; }; + +-class NonCopyable { +- NonCopyable( NonCopyable const& ) = delete; +- NonCopyable( NonCopyable && ) = delete; +- NonCopyable& operator = ( NonCopyable const& ) = delete; +- NonCopyable& operator = ( NonCopyable && ) = delete; ++ class NonCopyable { ++ NonCopyable( NonCopyable const& ) = delete; ++ NonCopyable( NonCopyable && ) = delete; ++ NonCopyable& operator = ( NonCopyable const& ) = delete; ++ NonCopyable& operator = ( NonCopyable && ) = delete; + +- protected: +- NonCopyable(); +- virtual ~NonCopyable(); +-}; ++ protected: ++ NonCopyable(); ++ virtual ~NonCopyable(); ++ }; + +-struct SourceLineInfo { ++ struct SourceLineInfo { + +- SourceLineInfo() = delete; +- SourceLineInfo( char const* _file, std::size_t _line ) noexcept +- : file( _file ), +- line( _line ) +- {} ++ SourceLineInfo() = delete; ++ SourceLineInfo( char const* _file, std::size_t _line ) noexcept ++ : file( _file ), ++ line( _line ) ++ {} + +- SourceLineInfo( SourceLineInfo const& other ) = default; +- SourceLineInfo& operator = ( SourceLineInfo const& ) = default; +- SourceLineInfo( SourceLineInfo&& ) noexcept = default; +- SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; ++ SourceLineInfo( SourceLineInfo const& other ) = default; ++ SourceLineInfo& operator = ( SourceLineInfo const& ) = default; ++ SourceLineInfo( SourceLineInfo&& ) noexcept = default; ++ SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; + +- bool empty() const noexcept { return file[0] == '\0'; } +- bool operator == ( SourceLineInfo const& other ) const noexcept; +- bool operator < ( SourceLineInfo const& other ) const noexcept; ++ bool empty() const noexcept { return file[0] == '\0'; } ++ bool operator == ( SourceLineInfo const& other ) const noexcept; ++ bool operator < ( SourceLineInfo const& other ) const noexcept; + +- char const* file; +- std::size_t line; +-}; ++ char const* file; ++ std::size_t line; ++ }; + +-std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); ++ std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); + +-// Bring in operator<< from global namespace into Catch namespace +-// This is necessary because the overload of operator<< above makes +-// lookup stop at namespace Catch +-using ::operator<<; ++ // Bring in operator<< from global namespace into Catch namespace ++ // This is necessary because the overload of operator<< above makes ++ // lookup stop at namespace Catch ++ using ::operator<<; + +-// Use this in variadic streaming macros to allow +-// >> +StreamEndStop +-// as well as +-// >> stuff +StreamEndStop +-struct StreamEndStop { +- std::string operator+() const; +-}; +-template +-T const& operator + ( T const& value, StreamEndStop ) { +- return value; +-} ++ // Use this in variadic streaming macros to allow ++ // >> +StreamEndStop ++ // as well as ++ // >> stuff +StreamEndStop ++ struct StreamEndStop { ++ std::string operator+() const; ++ }; ++ template ++ T const& operator + ( T const& value, StreamEndStop ) { ++ return value; ++ } + } + + #define CATCH_INTERNAL_LINEINFO \ +@@ -541,9 +546,9 @@ T const& operator + ( T const& value, StreamEndStop ) { + // end catch_common.h + namespace Catch { + +-struct RegistrarForTagAliases { +- RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); +-}; ++ struct RegistrarForTagAliases { ++ RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); ++ }; + + } // end namespace Catch + +@@ -562,26 +567,26 @@ struct RegistrarForTagAliases { + + namespace Catch { + +-class TestSpec; ++ class TestSpec; + +-struct ITestInvoker { +- virtual void invoke () const = 0; +- virtual ~ITestInvoker(); +-}; ++ struct ITestInvoker { ++ virtual void invoke () const = 0; ++ virtual ~ITestInvoker(); ++ }; + +-class TestCase; +-struct IConfig; ++ class TestCase; ++ struct IConfig; + +-struct ITestCaseRegistry { +- virtual ~ITestCaseRegistry(); +- virtual std::vector const& getAllTests() const = 0; +- virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; +-}; ++ struct ITestCaseRegistry { ++ virtual ~ITestCaseRegistry(); ++ virtual std::vector const& getAllTests() const = 0; ++ virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; ++ }; + +-bool isThrowSafe( TestCase const& testCase, IConfig const& config ); +-bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); +-std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); +-std::vector const& getAllTestCasesSorted( IConfig const& config ); ++ bool isThrowSafe( TestCase const& testCase, IConfig const& config ); ++ bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); ++ std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); ++ std::vector const& getAllTestCasesSorted( IConfig const& config ); + + } + +@@ -595,90 +600,90 @@ std::vector const& getAllTestCasesSorted( IConfig const& config ); + + namespace Catch { + +-/// A non-owning string class (similar to the forthcoming std::string_view) +-/// Note that, because a StringRef may be a substring of another string, +-/// it may not be null terminated. +-class StringRef { +- public: +- using size_type = std::size_t; +- using const_iterator = const char*; ++ /// A non-owning string class (similar to the forthcoming std::string_view) ++ /// Note that, because a StringRef may be a substring of another string, ++ /// it may not be null terminated. ++ class StringRef { ++ public: ++ using size_type = std::size_t; ++ using const_iterator = const char*; + +- private: +- static constexpr char const* const s_empty = ""; ++ private: ++ static constexpr char const* const s_empty = ""; + +- char const* m_start = s_empty; +- size_type m_size = 0; ++ char const* m_start = s_empty; ++ size_type m_size = 0; + +- public: // construction +- constexpr StringRef() noexcept = default; ++ public: // construction ++ constexpr StringRef() noexcept = default; + +- StringRef( char const* rawChars ) noexcept; ++ StringRef( char const* rawChars ) noexcept; + +- constexpr StringRef( char const* rawChars, size_type size ) noexcept +- : m_start( rawChars ), +- m_size( size ) +- {} ++ constexpr StringRef( char const* rawChars, size_type size ) noexcept ++ : m_start( rawChars ), ++ m_size( size ) ++ {} + +- StringRef( std::string const& stdString ) noexcept +- : m_start( stdString.c_str() ), +- m_size( stdString.size() ) +- {} ++ StringRef( std::string const& stdString ) noexcept ++ : m_start( stdString.c_str() ), ++ m_size( stdString.size() ) ++ {} + +- explicit operator std::string() const { +- return std::string(m_start, m_size); +- } ++ explicit operator std::string() const { ++ return std::string(m_start, m_size); ++ } + +- public: // operators +- auto operator == ( StringRef const& other ) const noexcept -> bool; +- auto operator != (StringRef const& other) const noexcept -> bool { +- return !(*this == other); +- } ++ public: // operators ++ auto operator == ( StringRef const& other ) const noexcept -> bool; ++ auto operator != (StringRef const& other) const noexcept -> bool { ++ return !(*this == other); ++ } + +- auto operator[] ( size_type index ) const noexcept -> char { +- assert(index < m_size); +- return m_start[index]; +- } ++ auto operator[] ( size_type index ) const noexcept -> char { ++ assert(index < m_size); ++ return m_start[index]; ++ } + +- public: // named queries +- constexpr auto empty() const noexcept -> bool { +- return m_size == 0; +- } +- constexpr auto size() const noexcept -> size_type { +- return m_size; +- } ++ public: // named queries ++ constexpr auto empty() const noexcept -> bool { ++ return m_size == 0; ++ } ++ constexpr auto size() const noexcept -> size_type { ++ return m_size; ++ } + +- // Returns the current start pointer. If the StringRef is not +- // null-terminated, throws std::domain_exception +- auto c_str() const -> char const*; ++ // Returns the current start pointer. If the StringRef is not ++ // null-terminated, throws std::domain_exception ++ auto c_str() const -> char const*; + +- public: // substrings and searches +- // Returns a substring of [start, start + length). +- // If start + length > size(), then the substring is [start, size()). +- // If start > size(), then the substring is empty. +- auto substr( size_type start, size_type length ) const noexcept -> StringRef; ++ public: // substrings and searches ++ // Returns a substring of [start, start + length). ++ // If start + length > size(), then the substring is [start, size()). ++ // If start > size(), then the substring is empty. ++ auto substr( size_type start, size_type length ) const noexcept -> StringRef; + +- // Returns the current start pointer. May not be null-terminated. +- auto data() const noexcept -> char const*; ++ // Returns the current start pointer. May not be null-terminated. ++ auto data() const noexcept -> char const*; + +- constexpr auto isNullTerminated() const noexcept -> bool { +- return m_start[m_size] == '\0'; +- } ++ constexpr auto isNullTerminated() const noexcept -> bool { ++ return m_start[m_size] == '\0'; ++ } + +- public: // iterators +- constexpr const_iterator begin() const { return m_start; } +- constexpr const_iterator end() const { return m_start + m_size; } +-}; ++ public: // iterators ++ constexpr const_iterator begin() const { return m_start; } ++ constexpr const_iterator end() const { return m_start + m_size; } ++ }; + +-auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; +-auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; ++ auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; ++ auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; + +-constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { +- return StringRef( rawChars, size ); +-} ++ constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { ++ return StringRef( rawChars, size ); ++ } + } // namespace Catch + + constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { +- return Catch::StringRef( rawChars, size ); ++ return Catch::StringRef( rawChars, size ); + } + + // end catch_stringref.h +@@ -916,30 +921,30 @@ constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) n + #include + + namespace Catch { +-template +-struct always_false : std::false_type {}; +- +-template struct true_given : std::true_type {}; +-struct is_callable_tester { +- template +- true_given()(std::declval()...))> static test(int); +- template +- std::false_type static test(...); +-}; ++ template ++ struct always_false : std::false_type {}; ++ ++ template struct true_given : std::true_type {}; ++ struct is_callable_tester { ++ template ++ true_given()(std::declval()...))> static test(int); ++ template ++ std::false_type static test(...); ++ }; + +-template +-struct is_callable; ++ template ++ struct is_callable; + +-template +-struct is_callable : decltype(is_callable_tester::test(0)) {}; ++ template ++ struct is_callable : decltype(is_callable_tester::test(0)) {}; + + #if defined(__cpp_lib_is_invocable) && __cpp_lib_is_invocable >= 201703 +-// std::result_of is deprecated in C++17 and removed in C++20. Hence, it is +-// replaced with std::invoke_result here. +-template +-using FunctionReturnType = std::remove_reference_t>>; ++ // std::result_of is deprecated in C++17 and removed in C++20. Hence, it is ++ // replaced with std::invoke_result here. ++ template ++ using FunctionReturnType = std::remove_reference_t>>; + #else +-// Keep ::type here because we still support C++11 ++ // Keep ::type here because we still support C++11 + template + using FunctionReturnType = typename std::remove_reference::type>::type>::type; + #endif +@@ -947,7 +952,7 @@ using FunctionReturnType = std::remove_reference_t + class TestInvokerAsMethod : public ITestInvoker { +- void (C::*m_testAsMethod)(); +- public: +- TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAsMethod( testAsMethod ) {} ++ void (C::*m_testAsMethod)(); ++public: ++ TestInvokerAsMethod( void (C::*testAsMethod)() ) noexcept : m_testAsMethod( testAsMethod ) {} + +- void invoke() const override { +- C obj; +- (obj.*m_testAsMethod)(); +- } ++ void invoke() const override { ++ C obj; ++ (obj.*m_testAsMethod)(); ++ } + }; + + auto makeTestInvoker( void(*testAsFunction)() ) noexcept -> ITestInvoker*; + + template + auto makeTestInvoker( void (C::*testAsMethod)() ) noexcept -> ITestInvoker* { +- return new(std::nothrow) TestInvokerAsMethod( testAsMethod ); ++ return new(std::nothrow) TestInvokerAsMethod( testAsMethod ); + } + + struct NameAndTags { +- NameAndTags( StringRef const& name_ = StringRef(), StringRef const& tags_ = StringRef() ) noexcept; +- StringRef name; +- StringRef tags; ++ NameAndTags( StringRef const& name_ = StringRef(), StringRef const& tags_ = StringRef() ) noexcept; ++ StringRef name; ++ StringRef tags; + }; + + struct AutoReg : NonCopyable { +- AutoReg( ITestInvoker* invoker, SourceLineInfo const& lineInfo, StringRef const& classOrMethod, NameAndTags const& nameAndTags ) noexcept; +- ~AutoReg(); ++ AutoReg( ITestInvoker* invoker, SourceLineInfo const& lineInfo, StringRef const& classOrMethod, NameAndTags const& nameAndTags ) noexcept; ++ ~AutoReg(); + }; + + } // end namespace Catch + + #if defined(CATCH_CONFIG_DISABLE) +-#define INTERNAL_CATCH_TESTCASE_NO_REGISTRATION( TestName, ... ) \ ++ #define INTERNAL_CATCH_TESTCASE_NO_REGISTRATION( TestName, ... ) \ + static void TestName() + #define INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION( TestName, ClassName, ... ) \ + namespace{ \ +@@ -1007,57 +1012,57 @@ struct AutoReg : NonCopyable { + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(Name, Tags, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG_NO_REGISTRATION(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else + #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG_NO_REGISTRATION( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_NO_REGISTRATION_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + #endif + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TESTCASE2( TestName, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TESTCASE2( TestName, ... ) \ + static void TestName(); \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &TestName ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ + static void TestName() +-#define INTERNAL_CATCH_TESTCASE( ... ) \ +- INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TESTCASE( ... ) \ ++ INTERNAL_CATCH_TESTCASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), __VA_ARGS__ ) + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( &QualifiedMethod ), CATCH_INTERNAL_LINEINFO, "&" #QualifiedMethod, Catch::NameAndTags{ __VA_ARGS__ } ); } /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TEST_CASE_METHOD2( TestName, ClassName, ... )\ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TEST_CASE_METHOD2( TestName, ClassName, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ \ +@@ -1068,18 +1073,18 @@ struct AutoReg : NonCopyable { + } \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION \ + void TestName::test() +-#define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \ +- INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), ClassName, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEST_CASE_METHOD( ClassName, ... ) \ ++ INTERNAL_CATCH_TEST_CASE_METHOD2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), ClassName, __VA_ARGS__ ) + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_REGISTER_TESTCASE( Function, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( Catch::makeTestInvoker( Function ), CATCH_INTERNAL_LINEINFO, Catch::StringRef(), Catch::NameAndTags{ __VA_ARGS__ } ); /* NOLINT */ \ + CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION + +-/////////////////////////////////////////////////////////////////////////////// +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ... )\ ++ /////////////////////////////////////////////////////////////////////////////// ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_2(TestName, TestFunc, Name, Tags, Signature, ... )\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1109,22 +1114,22 @@ struct AutoReg : NonCopyable { + INTERNAL_CATCH_DEFINE_SIG_TEST(TestFunc,INTERNAL_CATCH_REMOVE_PARENS(Signature)) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE(Name, Tags, ...) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename TestType, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_SIG(Name, Tags, Signature, ...) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \ ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(TestName, TestFuncName, Name, Tags, Signature, TmplTypes, TypesList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1158,22 +1163,22 @@ struct AutoReg : NonCopyable { + static void TestFuncName() + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T,__VA_ARGS__) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T,__VA_ARGS__) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, typename T, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE(Name, Tags, ...)\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_SIG(Name, Tags, Signature, ...)\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\ ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2(TestName, TestFunc, Name, Tags, TmplList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ +@@ -1200,10 +1205,10 @@ struct AutoReg : NonCopyable { + template \ + static void TestFunc() + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \ +- INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), Name, Tags, TmplList ) ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE(Name, Tags, TmplList) \ ++ INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), Name, Tags, TmplList ) + +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \ ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, Signature, ... ) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1233,22 +1238,22 @@ struct AutoReg : NonCopyable { + INTERNAL_CATCH_DEFINE_SIG_TEST_METHOD(TestName, INTERNAL_CATCH_REMOVE_PARENS(Signature)) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( ClassName, Name, Tags,... ) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ ++ INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____C_L_A_S_S____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... ) \ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, Signature, __VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\ ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2(TestNameClass, TestName, ClassName, Name, Tags, Signature, TmplTypes, TypesList)\ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ +@@ -1285,22 +1290,22 @@ struct AutoReg : NonCopyable { + void TestName::test() + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD( ClassName, Name, Tags, ... )\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, typename T,__VA_ARGS__ ) ) + #endif + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ +- INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature, __VA_ARGS__ ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ ++ INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature, __VA_ARGS__ ) + #else +-#define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ +- INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) ) ++ #define INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_SIG( ClassName, Name, Tags, Signature, ... )\ ++ INTERNAL_CATCH_EXPAND_VARGS( INTERNAL_CATCH_TEMPLATE_PRODUCT_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, Signature,__VA_ARGS__ ) ) + #endif + +-#define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \ ++ #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( TestNameClass, TestName, ClassName, Name, Tags, TmplList) \ + CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ +@@ -1331,7 +1336,7 @@ struct AutoReg : NonCopyable { + void TestName::test() + + #define INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD(ClassName, Name, Tags, TmplList) \ +- INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____ ), INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_M_P_L_A_T_E____T_E_S_T____F_U_N_C____ ), ClassName, Name, Tags, TmplList ) ++ INTERNAL_CATCH_TEMPLATE_LIST_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_F_U_N_C_ ), ClassName, Name, Tags, TmplList ) + + // end catch_test_registry.h + // start catch_capture.hpp +@@ -1344,61 +1349,61 @@ struct AutoReg : NonCopyable { + + namespace Catch { + +-// ResultWas::OfType enum +-struct ResultWas { enum OfType { +- Unknown = -1, +- Ok = 0, +- Info = 1, +- Warning = 2, ++ // ResultWas::OfType enum ++ struct ResultWas { enum OfType { ++ Unknown = -1, ++ Ok = 0, ++ Info = 1, ++ Warning = 2, + +- FailureBit = 0x10, ++ FailureBit = 0x10, + +- ExpressionFailed = FailureBit | 1, +- ExplicitFailure = FailureBit | 2, ++ ExpressionFailed = FailureBit | 1, ++ ExplicitFailure = FailureBit | 2, + +- Exception = 0x100 | FailureBit, ++ Exception = 0x100 | FailureBit, + +- ThrewException = Exception | 1, +- DidntThrowException = Exception | 2, ++ ThrewException = Exception | 1, ++ DidntThrowException = Exception | 2, + +- FatalErrorCondition = 0x200 | FailureBit ++ FatalErrorCondition = 0x200 | FailureBit + +- }; }; ++ }; }; + +-bool isOk( ResultWas::OfType resultType ); +-bool isJustInfo( int flags ); ++ bool isOk( ResultWas::OfType resultType ); ++ bool isJustInfo( int flags ); + +-// ResultDisposition::Flags enum +-struct ResultDisposition { enum Flags { +- Normal = 0x01, ++ // ResultDisposition::Flags enum ++ struct ResultDisposition { enum Flags { ++ Normal = 0x01, + +- ContinueOnFailure = 0x02, // Failures fail test, but execution continues +- FalseTest = 0x04, // Prefix expression with ! +- SuppressFail = 0x08 // Failures are reported but do not fail the test +- }; }; ++ ContinueOnFailure = 0x02, // Failures fail test, but execution continues ++ FalseTest = 0x04, // Prefix expression with ! ++ SuppressFail = 0x08 // Failures are reported but do not fail the test ++ }; }; + +-ResultDisposition::Flags operator | ( ResultDisposition::Flags lhs, ResultDisposition::Flags rhs ); ++ ResultDisposition::Flags operator | ( ResultDisposition::Flags lhs, ResultDisposition::Flags rhs ); + +-bool shouldContinueOnFailure( int flags ); +-inline bool isFalseTest( int flags ) { return ( flags & ResultDisposition::FalseTest ) != 0; } +-bool shouldSuppressFailure( int flags ); ++ bool shouldContinueOnFailure( int flags ); ++ inline bool isFalseTest( int flags ) { return ( flags & ResultDisposition::FalseTest ) != 0; } ++ bool shouldSuppressFailure( int flags ); + + } // end namespace Catch + + // end catch_result_type.h + namespace Catch { + +-struct AssertionInfo +-{ +- StringRef macroName; +- SourceLineInfo lineInfo; +- StringRef capturedExpression; +- ResultDisposition::Flags resultDisposition; +- +- // We want to delete this constructor but a compiler bug in 4.8 means +- // the struct is then treated as non-aggregate +- //AssertionInfo() = delete; +-}; ++ struct AssertionInfo ++ { ++ StringRef macroName; ++ SourceLineInfo lineInfo; ++ StringRef capturedExpression; ++ ResultDisposition::Flags resultDisposition; ++ ++ // We want to delete this constructor but a compiler bug in 4.8 means ++ // the struct is then treated as non-aggregate ++ //AssertionInfo() = delete; ++ }; + + } // end namespace Catch + +@@ -1419,35 +1424,35 @@ struct AssertionInfo + + namespace Catch { + +-std::ostream& cout(); +-std::ostream& cerr(); +-std::ostream& clog(); ++ std::ostream& cout(); ++ std::ostream& cerr(); ++ std::ostream& clog(); + +-class StringRef; ++ class StringRef; + +-struct IStream { +- virtual ~IStream(); +- virtual std::ostream& stream() const = 0; +-}; ++ struct IStream { ++ virtual ~IStream(); ++ virtual std::ostream& stream() const = 0; ++ }; + +-auto makeStream( StringRef const &filename ) -> IStream const*; ++ auto makeStream( StringRef const &filename ) -> IStream const*; + +-class ReusableStringStream : NonCopyable { +- std::size_t m_index; +- std::ostream* m_oss; +- public: +- ReusableStringStream(); +- ~ReusableStringStream(); ++ class ReusableStringStream : NonCopyable { ++ std::size_t m_index; ++ std::ostream* m_oss; ++ public: ++ ReusableStringStream(); ++ ~ReusableStringStream(); + +- auto str() const -> std::string; ++ auto str() const -> std::string; + +- template +- auto operator << ( T const& value ) -> ReusableStringStream& { +- *m_oss << value; +- return *this; +- } +- auto get() -> std::ostream& { return *m_oss; } +-}; ++ template ++ auto operator << ( T const& value ) -> ReusableStringStream& { ++ *m_oss << value; ++ return *this; ++ } ++ auto get() -> std::ostream& { return *m_oss; } ++ }; + } + + // end catch_stream.h +@@ -1457,32 +1462,32 @@ class ReusableStringStream : NonCopyable { + + namespace Catch { + +-namespace Detail { +-struct EnumInfo { +- StringRef m_name; +- std::vector> m_values; ++ namespace Detail { ++ struct EnumInfo { ++ StringRef m_name; ++ std::vector> m_values; + +- ~EnumInfo(); ++ ~EnumInfo(); + +- StringRef lookup( int value ) const; +-}; +-} // namespace Detail ++ StringRef lookup( int value ) const; ++ }; ++ } // namespace Detail + +-struct IMutableEnumValuesRegistry { +- virtual ~IMutableEnumValuesRegistry(); ++ struct IMutableEnumValuesRegistry { ++ virtual ~IMutableEnumValuesRegistry(); + +- virtual Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::vector const& values ) = 0; ++ virtual Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::vector const& values ) = 0; + +- template +- Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::initializer_list values ) { +- static_assert(sizeof(int) >= sizeof(E), "Cannot serialize enum to int"); +- std::vector intValues; +- intValues.reserve( values.size() ); +- for( auto enumValue : values ) +- intValues.push_back( static_cast( enumValue ) ); +- return registerEnum( enumName, allEnums, intValues ); +- } +-}; ++ template ++ Detail::EnumInfo const& registerEnum( StringRef enumName, StringRef allEnums, std::initializer_list values ) { ++ static_assert(sizeof(int) >= sizeof(E), "Cannot serialize enum to int"); ++ std::vector intValues; ++ intValues.reserve( values.size() ); ++ for( auto enumValue : values ) ++ intValues.push_back( static_cast( enumValue ) ); ++ return registerEnum( enumName, allEnums, intValues ); ++ } ++ }; + + } // Catch + +@@ -1544,55 +1549,55 @@ inline id performOptionalSelector( id obj, SEL sel ) { + #endif + + namespace Catch { +-namespace Detail { ++ namespace Detail { + +-extern const std::string unprintableString; ++ extern const std::string unprintableString; + +-std::string rawMemoryToString( const void *object, std::size_t size ); ++ std::string rawMemoryToString( const void *object, std::size_t size ); + +-template +-std::string rawMemoryToString( const T& object ) { +- return rawMemoryToString( &object, sizeof(object) ); +-} ++ template ++ std::string rawMemoryToString( const T& object ) { ++ return rawMemoryToString( &object, sizeof(object) ); ++ } + +-template +-class IsStreamInsertable { +- template +- static auto test(int) +- -> decltype(std::declval() << std::declval(), std::true_type()); ++ template ++ class IsStreamInsertable { ++ template ++ static auto test(int) ++ -> decltype(std::declval() << std::declval(), std::true_type()); + +- template +- static auto test(...)->std::false_type; ++ template ++ static auto test(...)->std::false_type; + +- public: +- static const bool value = decltype(test(0))::value; +-}; ++ public: ++ static const bool value = decltype(test(0))::value; ++ }; + +-template +-std::string convertUnknownEnumToString( E e ); ++ template ++ std::string convertUnknownEnumToString( E e ); + +-template +-typename std::enable_if< +- !std::is_enum::value && !std::is_base_of::value, +- std::string>::type convertUnstreamable( T const& ) { +- return Detail::unprintableString; +-} +-template +-typename std::enable_if< +- !std::is_enum::value && std::is_base_of::value, +- std::string>::type convertUnstreamable(T const& ex) { +- return ex.what(); +-} ++ template ++ typename std::enable_if< ++ !std::is_enum::value && !std::is_base_of::value, ++ std::string>::type convertUnstreamable( T const& ) { ++ return Detail::unprintableString; ++ } ++ template ++ typename std::enable_if< ++ !std::is_enum::value && std::is_base_of::value, ++ std::string>::type convertUnstreamable(T const& ex) { ++ return ex.what(); ++ } + +-template +-typename std::enable_if< +- std::is_enum::value +- , std::string>::type convertUnstreamable( T const& value ) { +- return convertUnknownEnumToString( value ); +-} ++ template ++ typename std::enable_if< ++ std::is_enum::value ++ , std::string>::type convertUnstreamable( T const& value ) { ++ return convertUnknownEnumToString( value ); ++ } + + #if defined(_MANAGED) +-//! Convert a CLR string to a utf8 std::string ++ //! Convert a CLR string to a utf8 std::string + template + std::string clrReferenceToString( T^ ref ) { + if (ref == nullptr) +@@ -1603,215 +1608,215 @@ typename std::enable_if< + } + #endif + +-} // namespace Detail ++ } // namespace Detail + +-// If we decide for C++14, change these to enable_if_ts +-template +-struct StringMaker { +- template +- static +- typename std::enable_if<::Catch::Detail::IsStreamInsertable::value, std::string>::type +- convert(const Fake& value) { +- ReusableStringStream rss; +- // NB: call using the function-like syntax to avoid ambiguity with +- // user-defined templated operator<< under clang. +- rss.operator<<(value); +- return rss.str(); +- } ++ // If we decide for C++14, change these to enable_if_ts ++ template ++ struct StringMaker { ++ template ++ static ++ typename std::enable_if<::Catch::Detail::IsStreamInsertable::value, std::string>::type ++ convert(const Fake& value) { ++ ReusableStringStream rss; ++ // NB: call using the function-like syntax to avoid ambiguity with ++ // user-defined templated operator<< under clang. ++ rss.operator<<(value); ++ return rss.str(); ++ } + +- template +- static +- typename std::enable_if::value, std::string>::type +- convert( const Fake& value ) { ++ template ++ static ++ typename std::enable_if::value, std::string>::type ++ convert( const Fake& value ) { + #if !defined(CATCH_CONFIG_FALLBACK_STRINGIFIER) +- return Detail::convertUnstreamable(value); ++ return Detail::convertUnstreamable(value); + #else +- return CATCH_CONFIG_FALLBACK_STRINGIFIER(value); ++ return CATCH_CONFIG_FALLBACK_STRINGIFIER(value); + #endif +- } +-}; ++ } ++ }; + +-namespace Detail { ++ namespace Detail { + +-// This function dispatches all stringification requests inside of Catch. +-// Should be preferably called fully qualified, like ::Catch::Detail::stringify +-template +-std::string stringify(const T& e) { +- return ::Catch::StringMaker::type>::type>::convert(e); +-} ++ // This function dispatches all stringification requests inside of Catch. ++ // Should be preferably called fully qualified, like ::Catch::Detail::stringify ++ template ++ std::string stringify(const T& e) { ++ return ::Catch::StringMaker::type>::type>::convert(e); ++ } + +-template +-std::string convertUnknownEnumToString( E e ) { +- return ::Catch::Detail::stringify(static_cast::type>(e)); +-} ++ template ++ std::string convertUnknownEnumToString( E e ) { ++ return ::Catch::Detail::stringify(static_cast::type>(e)); ++ } + + #if defined(_MANAGED) +-template ++ template + std::string stringify( T^ e ) { + return ::Catch::StringMaker::convert(e); + } + #endif + +-} // namespace Detail ++ } // namespace Detail + +-// Some predefined specializations ++ // Some predefined specializations + +-template<> +-struct StringMaker { +- static std::string convert(const std::string& str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(const std::string& str); ++ }; + + #ifdef CATCH_CONFIG_CPP17_STRING_VIEW +-template<> +-struct StringMaker { +- static std::string convert(std::string_view str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::string_view str); ++ }; + #endif + +-template<> +-struct StringMaker { +- static std::string convert(char const * str); +-}; +-template<> +-struct StringMaker { +- static std::string convert(char * str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(char const * str); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(char * str); ++ }; + + #ifdef CATCH_CONFIG_WCHAR +-template<> +-struct StringMaker { +- static std::string convert(const std::wstring& wstr); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(const std::wstring& wstr); ++ }; + + # ifdef CATCH_CONFIG_CPP17_STRING_VIEW +-template<> +-struct StringMaker { +- static std::string convert(std::wstring_view str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::wstring_view str); ++ }; + # endif + +-template<> +-struct StringMaker { +- static std::string convert(wchar_t const * str); +-}; +-template<> +-struct StringMaker { +- static std::string convert(wchar_t * str); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(wchar_t const * str); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(wchar_t * str); ++ }; + #endif + +-// TBD: Should we use `strnlen` to ensure that we don't go out of the buffer, +-// while keeping string semantics? +-template +-struct StringMaker { +- static std::string convert(char const* str) { +- return ::Catch::Detail::stringify(std::string{ str }); +- } +-}; +-template +-struct StringMaker { +- static std::string convert(signed char const* str) { +- return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); +- } +-}; +-template +-struct StringMaker { +- static std::string convert(unsigned char const* str) { +- return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); +- } +-}; ++ // TBD: Should we use `strnlen` to ensure that we don't go out of the buffer, ++ // while keeping string semantics? ++ template ++ struct StringMaker { ++ static std::string convert(char const* str) { ++ return ::Catch::Detail::stringify(std::string{ str }); ++ } ++ }; ++ template ++ struct StringMaker { ++ static std::string convert(signed char const* str) { ++ return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); ++ } ++ }; ++ template ++ struct StringMaker { ++ static std::string convert(unsigned char const* str) { ++ return ::Catch::Detail::stringify(std::string{ reinterpret_cast(str) }); ++ } ++ }; + + #if defined(CATCH_CONFIG_CPP17_BYTE) +-template<> +-struct StringMaker { +- static std::string convert(std::byte value); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::byte value); ++ }; + #endif // defined(CATCH_CONFIG_CPP17_BYTE) +-template<> +-struct StringMaker { +- static std::string convert(int value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(long long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned int value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned long value); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned long long value); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(int value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(long long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned int value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned long value); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned long long value); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(bool b); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(bool b); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(char c); +-}; +-template<> +-struct StringMaker { +- static std::string convert(signed char c); +-}; +-template<> +-struct StringMaker { +- static std::string convert(unsigned char c); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(char c); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(signed char c); ++ }; ++ template<> ++ struct StringMaker { ++ static std::string convert(unsigned char c); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(std::nullptr_t); +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(std::nullptr_t); ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(float value); +- static int precision; +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(float value); ++ static int precision; ++ }; + +-template<> +-struct StringMaker { +- static std::string convert(double value); +- static int precision; +-}; ++ template<> ++ struct StringMaker { ++ static std::string convert(double value); ++ static int precision; ++ }; + +-template +-struct StringMaker { +- template +- static std::string convert(U* p) { +- if (p) { +- return ::Catch::Detail::rawMemoryToString(p); +- } else { +- return "nullptr"; +- } +- } +-}; ++ template ++ struct StringMaker { ++ template ++ static std::string convert(U* p) { ++ if (p) { ++ return ::Catch::Detail::rawMemoryToString(p); ++ } else { ++ return "nullptr"; ++ } ++ } ++ }; + +-template +-struct StringMaker { +- static std::string convert(R C::* p) { +- if (p) { +- return ::Catch::Detail::rawMemoryToString(p); +- } else { +- return "nullptr"; +- } +- } +-}; ++ template ++ struct StringMaker { ++ static std::string convert(R C::* p) { ++ if (p) { ++ return ::Catch::Detail::rawMemoryToString(p); ++ } else { ++ return "nullptr"; ++ } ++ } ++ }; + + #if defined(_MANAGED) +-template ++ template + struct StringMaker { + static std::string convert( T^ ref ) { + return ::Catch::Detail::clrReferenceToString(ref); +@@ -1819,23 +1824,23 @@ template + }; + #endif + +-namespace Detail { +-template +-std::string rangeToString(InputIterator first, Sentinel last) { +- ReusableStringStream rss; +- rss << "{ "; +- if (first != last) { +- rss << ::Catch::Detail::stringify(*first); +- for (++first; first != last; ++first) +- rss << ", " << ::Catch::Detail::stringify(*first); +- } +- rss << " }"; +- return rss.str(); +-} +-} ++ namespace Detail { ++ template ++ std::string rangeToString(InputIterator first, Sentinel last) { ++ ReusableStringStream rss; ++ rss << "{ "; ++ if (first != last) { ++ rss << ::Catch::Detail::stringify(*first); ++ for (++first; first != last; ++first) ++ rss << ", " << ::Catch::Detail::stringify(*first); ++ } ++ rss << " }"; ++ return rss.str(); ++ } ++ } + + #ifdef __OBJC__ +-template<> ++ template<> + struct StringMaker { + static std::string convert(NSString * nsstring) { + if (!nsstring) +@@ -1979,71 +1984,71 @@ namespace Catch { + #endif // CATCH_CONFIG_ENABLE_VARIANT_STRINGMAKER + + namespace Catch { +-// Import begin/ end from std here +-using std::begin; +-using std::end; +- +-namespace detail { +-template +-struct void_type { +- using type = void; +-}; ++ // Import begin/ end from std here ++ using std::begin; ++ using std::end; ++ ++ namespace detail { ++ template ++ struct void_type { ++ using type = void; ++ }; + +-template +-struct is_range_impl : std::false_type { +-}; ++ template ++ struct is_range_impl : std::false_type { ++ }; + +-template +-struct is_range_impl()))>::type> : std::true_type { +-}; +-} // namespace detail ++ template ++ struct is_range_impl()))>::type> : std::true_type { ++ }; ++ } // namespace detail + +-template +-struct is_range : detail::is_range_impl { +-}; ++ template ++ struct is_range : detail::is_range_impl { ++ }; + + #if defined(_MANAGED) // Managed types are never ranges +-template ++ template + struct is_range { + static const bool value = false; + }; + #endif + +-template +-std::string rangeToString( Range const& range ) { +- return ::Catch::Detail::rangeToString( begin( range ), end( range ) ); +-} ++ template ++ std::string rangeToString( Range const& range ) { ++ return ::Catch::Detail::rangeToString( begin( range ), end( range ) ); ++ } + +-// Handle vector specially +-template +-std::string rangeToString( std::vector const& v ) { +- ReusableStringStream rss; +- rss << "{ "; +- bool first = true; +- for( bool b : v ) { +- if( first ) +- first = false; +- else +- rss << ", "; +- rss << ::Catch::Detail::stringify( b ); +- } +- rss << " }"; +- return rss.str(); +-} ++ // Handle vector specially ++ template ++ std::string rangeToString( std::vector const& v ) { ++ ReusableStringStream rss; ++ rss << "{ "; ++ bool first = true; ++ for( bool b : v ) { ++ if( first ) ++ first = false; ++ else ++ rss << ", "; ++ rss << ::Catch::Detail::stringify( b ); ++ } ++ rss << " }"; ++ return rss.str(); ++ } + +-template +-struct StringMaker::value && !::Catch::Detail::IsStreamInsertable::value>::type> { +- static std::string convert( R const& range ) { +- return rangeToString( range ); +- } +-}; ++ template ++ struct StringMaker::value && !::Catch::Detail::IsStreamInsertable::value>::type> { ++ static std::string convert( R const& range ) { ++ return rangeToString( range ); ++ } ++ }; + +-template +-struct StringMaker { +- static std::string convert(T const(&arr)[SZ]) { +- return rangeToString(arr); +- } +-}; ++ template ++ struct StringMaker { ++ static std::string convert(T const(&arr)[SZ]) { ++ return rangeToString(arr); ++ } ++ }; + + } // namespace Catch + +@@ -2194,228 +2199,228 @@ namespace Catch { \ + + namespace Catch { + +-struct ITransientExpression { +- auto isBinaryExpression() const -> bool { return m_isBinaryExpression; } +- auto getResult() const -> bool { return m_result; } +- virtual void streamReconstructedExpression( std::ostream &os ) const = 0; ++ struct ITransientExpression { ++ auto isBinaryExpression() const -> bool { return m_isBinaryExpression; } ++ auto getResult() const -> bool { return m_result; } ++ virtual void streamReconstructedExpression( std::ostream &os ) const = 0; + +- ITransientExpression( bool isBinaryExpression, bool result ) +- : m_isBinaryExpression( isBinaryExpression ), +- m_result( result ) +- {} ++ ITransientExpression( bool isBinaryExpression, bool result ) ++ : m_isBinaryExpression( isBinaryExpression ), ++ m_result( result ) ++ {} + +- // We don't actually need a virtual destructor, but many static analysers +- // complain if it's not here :-( +- virtual ~ITransientExpression(); ++ // We don't actually need a virtual destructor, but many static analysers ++ // complain if it's not here :-( ++ virtual ~ITransientExpression(); + +- bool m_isBinaryExpression; +- bool m_result; ++ bool m_isBinaryExpression; ++ bool m_result; + +-}; ++ }; + +-void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs ); ++ void formatReconstructedExpression( std::ostream &os, std::string const& lhs, StringRef op, std::string const& rhs ); + +-template +-class BinaryExpr : public ITransientExpression { +- LhsT m_lhs; +- StringRef m_op; +- RhsT m_rhs; ++ template ++ class BinaryExpr : public ITransientExpression { ++ LhsT m_lhs; ++ StringRef m_op; ++ RhsT m_rhs; + +- void streamReconstructedExpression( std::ostream &os ) const override { +- formatReconstructedExpression +- ( os, Catch::Detail::stringify( m_lhs ), m_op, Catch::Detail::stringify( m_rhs ) ); +- } ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ formatReconstructedExpression ++ ( os, Catch::Detail::stringify( m_lhs ), m_op, Catch::Detail::stringify( m_rhs ) ); ++ } + +- public: +- BinaryExpr( bool comparisonResult, LhsT lhs, StringRef op, RhsT rhs ) +- : ITransientExpression{ true, comparisonResult }, +- m_lhs( lhs ), +- m_op( op ), +- m_rhs( rhs ) +- {} +- +- template +- auto operator && ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ public: ++ BinaryExpr( bool comparisonResult, LhsT lhs, StringRef op, RhsT rhs ) ++ : ITransientExpression{ true, comparisonResult }, ++ m_lhs( lhs ), ++ m_op( op ), ++ m_rhs( rhs ) ++ {} + +- template +- auto operator || ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator && ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator == ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator || ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator != ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator == ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator > ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator != ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator < ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator > ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator >= ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator < ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- template +- auto operator <= ( T ) const -> BinaryExpr const { +- static_assert(always_false::value, +- "chained comparisons are not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } +-}; ++ template ++ auto operator >= ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +-template +-class UnaryExpr : public ITransientExpression { +- LhsT m_lhs; ++ template ++ auto operator <= ( T ) const -> BinaryExpr const { ++ static_assert(always_false::value, ++ "chained comparisons are not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } ++ }; + +- void streamReconstructedExpression( std::ostream &os ) const override { +- os << Catch::Detail::stringify( m_lhs ); +- } ++ template ++ class UnaryExpr : public ITransientExpression { ++ LhsT m_lhs; + +- public: +- explicit UnaryExpr( LhsT lhs ) +- : ITransientExpression{ false, static_cast(lhs) }, +- m_lhs( lhs ) +- {} +-}; ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ os << Catch::Detail::stringify( m_lhs ); ++ } + +-// Specialised comparison functions to handle equality comparisons between ints and pointers (NULL deduces as an int) +-template +-auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return static_cast(lhs == rhs); } +-template +-auto compareEqual( T* const& lhs, int rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } +-template +-auto compareEqual( T* const& lhs, long rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } +-template +-auto compareEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } +-template +-auto compareEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } ++ public: ++ explicit UnaryExpr( LhsT lhs ) ++ : ITransientExpression{ false, static_cast(lhs) }, ++ m_lhs( lhs ) ++ {} ++ }; + +-template +-auto compareNotEqual( LhsT const& lhs, RhsT&& rhs ) -> bool { return static_cast(lhs != rhs); } +-template +-auto compareNotEqual( T* const& lhs, int rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } +-template +-auto compareNotEqual( T* const& lhs, long rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } +-template +-auto compareNotEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } +-template +-auto compareNotEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } ++ // Specialised comparison functions to handle equality comparisons between ints and pointers (NULL deduces as an int) ++ template ++ auto compareEqual( LhsT const& lhs, RhsT const& rhs ) -> bool { return static_cast(lhs == rhs); } ++ template ++ auto compareEqual( T* const& lhs, int rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } ++ template ++ auto compareEqual( T* const& lhs, long rhs ) -> bool { return lhs == reinterpret_cast( rhs ); } ++ template ++ auto compareEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } ++ template ++ auto compareEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) == rhs; } + +-template +-class ExprLhs { +- LhsT m_lhs; +- public: +- explicit ExprLhs( LhsT lhs ) : m_lhs( lhs ) {} ++ template ++ auto compareNotEqual( LhsT const& lhs, RhsT&& rhs ) -> bool { return static_cast(lhs != rhs); } ++ template ++ auto compareNotEqual( T* const& lhs, int rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } ++ template ++ auto compareNotEqual( T* const& lhs, long rhs ) -> bool { return lhs != reinterpret_cast( rhs ); } ++ template ++ auto compareNotEqual( int lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } ++ template ++ auto compareNotEqual( long lhs, T* const& rhs ) -> bool { return reinterpret_cast( lhs ) != rhs; } + +- template +- auto operator == ( RhsT const& rhs ) -> BinaryExpr const { +- return { compareEqual( m_lhs, rhs ), m_lhs, "==", rhs }; +- } +- auto operator == ( bool rhs ) -> BinaryExpr const { +- return { m_lhs == rhs, m_lhs, "==", rhs }; +- } ++ template ++ class ExprLhs { ++ LhsT m_lhs; ++ public: ++ explicit ExprLhs( LhsT lhs ) : m_lhs( lhs ) {} + +- template +- auto operator != ( RhsT const& rhs ) -> BinaryExpr const { +- return { compareNotEqual( m_lhs, rhs ), m_lhs, "!=", rhs }; +- } +- auto operator != ( bool rhs ) -> BinaryExpr const { +- return { m_lhs != rhs, m_lhs, "!=", rhs }; +- } ++ template ++ auto operator == ( RhsT const& rhs ) -> BinaryExpr const { ++ return { compareEqual( m_lhs, rhs ), m_lhs, "==", rhs }; ++ } ++ auto operator == ( bool rhs ) -> BinaryExpr const { ++ return { m_lhs == rhs, m_lhs, "==", rhs }; ++ } + +- template +- auto operator > ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs > rhs), m_lhs, ">", rhs }; +- } +- template +- auto operator < ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs < rhs), m_lhs, "<", rhs }; +- } +- template +- auto operator >= ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs >= rhs), m_lhs, ">=", rhs }; +- } +- template +- auto operator <= ( RhsT const& rhs ) -> BinaryExpr const { +- return { static_cast(m_lhs <= rhs), m_lhs, "<=", rhs }; +- } +- template +- auto operator | (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs | rhs), m_lhs, "|", rhs }; +- } +- template +- auto operator & (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs & rhs), m_lhs, "&", rhs }; +- } +- template +- auto operator ^ (RhsT const& rhs) -> BinaryExpr const { +- return { static_cast(m_lhs ^ rhs), m_lhs, "^", rhs }; +- } ++ template ++ auto operator != ( RhsT const& rhs ) -> BinaryExpr const { ++ return { compareNotEqual( m_lhs, rhs ), m_lhs, "!=", rhs }; ++ } ++ auto operator != ( bool rhs ) -> BinaryExpr const { ++ return { m_lhs != rhs, m_lhs, "!=", rhs }; ++ } + +- template +- auto operator && ( RhsT const& ) -> BinaryExpr const { +- static_assert(always_false::value, +- "operator&& is not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator > ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs > rhs), m_lhs, ">", rhs }; ++ } ++ template ++ auto operator < ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs < rhs), m_lhs, "<", rhs }; ++ } ++ template ++ auto operator >= ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs >= rhs), m_lhs, ">=", rhs }; ++ } ++ template ++ auto operator <= ( RhsT const& rhs ) -> BinaryExpr const { ++ return { static_cast(m_lhs <= rhs), m_lhs, "<=", rhs }; ++ } ++ template ++ auto operator | (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs | rhs), m_lhs, "|", rhs }; ++ } ++ template ++ auto operator & (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs & rhs), m_lhs, "&", rhs }; ++ } ++ template ++ auto operator ^ (RhsT const& rhs) -> BinaryExpr const { ++ return { static_cast(m_lhs ^ rhs), m_lhs, "^", rhs }; ++ } + +- template +- auto operator || ( RhsT const& ) -> BinaryExpr const { +- static_assert(always_false::value, +- "operator|| is not supported inside assertions, " +- "wrap the expression inside parentheses, or decompose it"); +- } ++ template ++ auto operator && ( RhsT const& ) -> BinaryExpr const { ++ static_assert(always_false::value, ++ "operator&& is not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } + +- auto makeUnaryExpr() const -> UnaryExpr { +- return UnaryExpr{ m_lhs }; +- } +-}; ++ template ++ auto operator || ( RhsT const& ) -> BinaryExpr const { ++ static_assert(always_false::value, ++ "operator|| is not supported inside assertions, " ++ "wrap the expression inside parentheses, or decompose it"); ++ } ++ ++ auto makeUnaryExpr() const -> UnaryExpr { ++ return UnaryExpr{ m_lhs }; ++ } ++ }; + +-void handleExpression( ITransientExpression const& expr ); ++ void handleExpression( ITransientExpression const& expr ); + +-template +-void handleExpression( ExprLhs const& expr ) { +- handleExpression( expr.makeUnaryExpr() ); +-} ++ template ++ void handleExpression( ExprLhs const& expr ) { ++ handleExpression( expr.makeUnaryExpr() ); ++ } + +-struct Decomposer { +- template +- auto operator <= ( T const& lhs ) -> ExprLhs { +- return ExprLhs{ lhs }; +- } ++ struct Decomposer { ++ template ++ auto operator <= ( T const& lhs ) -> ExprLhs { ++ return ExprLhs{ lhs }; ++ } + +- auto operator <=( bool value ) -> ExprLhs { +- return ExprLhs{ value }; +- } +-}; ++ auto operator <=( bool value ) -> ExprLhs { ++ return ExprLhs{ value }; ++ } ++ }; + + } // end namespace Catch + +@@ -2431,155 +2436,155 @@ struct Decomposer { + + namespace Catch { + +-class AssertionResult; +-struct AssertionInfo; +-struct SectionInfo; +-struct SectionEndInfo; +-struct MessageInfo; +-struct MessageBuilder; +-struct Counts; +-struct AssertionReaction; +-struct SourceLineInfo; ++ class AssertionResult; ++ struct AssertionInfo; ++ struct SectionInfo; ++ struct SectionEndInfo; ++ struct MessageInfo; ++ struct MessageBuilder; ++ struct Counts; ++ struct AssertionReaction; ++ struct SourceLineInfo; + +-struct ITransientExpression; +-struct IGeneratorTracker; ++ struct ITransientExpression; ++ struct IGeneratorTracker; + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +-struct BenchmarkInfo; ++ struct BenchmarkInfo; + template > + struct BenchmarkStats; + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + +-struct IResultCapture { ++ struct IResultCapture { + +- virtual ~IResultCapture(); ++ virtual ~IResultCapture(); + +- virtual bool sectionStarted( SectionInfo const& sectionInfo, +- Counts& assertions ) = 0; +- virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0; +- virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0; ++ virtual bool sectionStarted( SectionInfo const& sectionInfo, ++ Counts& assertions ) = 0; ++ virtual void sectionEnded( SectionEndInfo const& endInfo ) = 0; ++ virtual void sectionEndedEarly( SectionEndInfo const& endInfo ) = 0; + +- virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; ++ virtual auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker& = 0; + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +- virtual void benchmarkPreparing( std::string const& name ) = 0; ++ virtual void benchmarkPreparing( std::string const& name ) = 0; + virtual void benchmarkStarting( BenchmarkInfo const& info ) = 0; + virtual void benchmarkEnded( BenchmarkStats<> const& stats ) = 0; + virtual void benchmarkFailed( std::string const& error ) = 0; + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + +- virtual void pushScopedMessage( MessageInfo const& message ) = 0; +- virtual void popScopedMessage( MessageInfo const& message ) = 0; +- +- virtual void emplaceUnscopedMessage( MessageBuilder const& builder ) = 0; +- +- virtual void handleFatalErrorCondition( StringRef message ) = 0; +- +- virtual void handleExpr +- ( AssertionInfo const& info, +- ITransientExpression const& expr, +- AssertionReaction& reaction ) = 0; +- virtual void handleMessage +- ( AssertionInfo const& info, +- ResultWas::OfType resultType, +- StringRef const& message, +- AssertionReaction& reaction ) = 0; +- virtual void handleUnexpectedExceptionNotThrown +- ( AssertionInfo const& info, +- AssertionReaction& reaction ) = 0; +- virtual void handleUnexpectedInflightException +- ( AssertionInfo const& info, +- std::string const& message, +- AssertionReaction& reaction ) = 0; +- virtual void handleIncomplete +- ( AssertionInfo const& info ) = 0; +- virtual void handleNonExpr +- ( AssertionInfo const &info, +- ResultWas::OfType resultType, +- AssertionReaction &reaction ) = 0; +- +- virtual bool lastAssertionPassed() = 0; +- virtual void assertionPassed() = 0; +- +- // Deprecated, do not use: +- virtual std::string getCurrentTestName() const = 0; +- virtual const AssertionResult* getLastResult() const = 0; +- virtual void exceptionEarlyReported() = 0; +-}; ++ virtual void pushScopedMessage( MessageInfo const& message ) = 0; ++ virtual void popScopedMessage( MessageInfo const& message ) = 0; ++ ++ virtual void emplaceUnscopedMessage( MessageBuilder const& builder ) = 0; ++ ++ virtual void handleFatalErrorCondition( StringRef message ) = 0; ++ ++ virtual void handleExpr ++ ( AssertionInfo const& info, ++ ITransientExpression const& expr, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleMessage ++ ( AssertionInfo const& info, ++ ResultWas::OfType resultType, ++ StringRef const& message, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleUnexpectedExceptionNotThrown ++ ( AssertionInfo const& info, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleUnexpectedInflightException ++ ( AssertionInfo const& info, ++ std::string const& message, ++ AssertionReaction& reaction ) = 0; ++ virtual void handleIncomplete ++ ( AssertionInfo const& info ) = 0; ++ virtual void handleNonExpr ++ ( AssertionInfo const &info, ++ ResultWas::OfType resultType, ++ AssertionReaction &reaction ) = 0; ++ ++ virtual bool lastAssertionPassed() = 0; ++ virtual void assertionPassed() = 0; ++ ++ // Deprecated, do not use: ++ virtual std::string getCurrentTestName() const = 0; ++ virtual const AssertionResult* getLastResult() const = 0; ++ virtual void exceptionEarlyReported() = 0; ++ }; + +-IResultCapture& getResultCapture(); ++ IResultCapture& getResultCapture(); + } + + // end catch_interfaces_capture.h + namespace Catch { + +-struct TestFailureException{}; +-struct AssertionResultData; +-struct IResultCapture; +-class RunContext; ++ struct TestFailureException{}; ++ struct AssertionResultData; ++ struct IResultCapture; ++ class RunContext; + +-class LazyExpression { +- friend class AssertionHandler; +- friend struct AssertionStats; +- friend class RunContext; ++ class LazyExpression { ++ friend class AssertionHandler; ++ friend struct AssertionStats; ++ friend class RunContext; + +- ITransientExpression const* m_transientExpression = nullptr; +- bool m_isNegated; +- public: +- LazyExpression( bool isNegated ); +- LazyExpression( LazyExpression const& other ); +- LazyExpression& operator = ( LazyExpression const& ) = delete; ++ ITransientExpression const* m_transientExpression = nullptr; ++ bool m_isNegated; ++ public: ++ LazyExpression( bool isNegated ); ++ LazyExpression( LazyExpression const& other ); ++ LazyExpression& operator = ( LazyExpression const& ) = delete; + +- explicit operator bool() const; ++ explicit operator bool() const; + +- friend auto operator << ( std::ostream& os, LazyExpression const& lazyExpr ) -> std::ostream&; +-}; ++ friend auto operator << ( std::ostream& os, LazyExpression const& lazyExpr ) -> std::ostream&; ++ }; + +-struct AssertionReaction { +- bool shouldDebugBreak = false; +- bool shouldThrow = false; +-}; ++ struct AssertionReaction { ++ bool shouldDebugBreak = false; ++ bool shouldThrow = false; ++ }; + +-class AssertionHandler { +- AssertionInfo m_assertionInfo; +- AssertionReaction m_reaction; +- bool m_completed = false; +- IResultCapture& m_resultCapture; +- +- public: +- AssertionHandler +- ( StringRef const& macroName, +- SourceLineInfo const& lineInfo, +- StringRef capturedExpression, +- ResultDisposition::Flags resultDisposition ); +- ~AssertionHandler() { +- if ( !m_completed ) { +- m_resultCapture.handleIncomplete( m_assertionInfo ); +- } +- } ++ class AssertionHandler { ++ AssertionInfo m_assertionInfo; ++ AssertionReaction m_reaction; ++ bool m_completed = false; ++ IResultCapture& m_resultCapture; + +- template +- void handleExpr( ExprLhs const& expr ) { +- handleExpr( expr.makeUnaryExpr() ); +- } +- void handleExpr( ITransientExpression const& expr ); ++ public: ++ AssertionHandler ++ ( StringRef const& macroName, ++ SourceLineInfo const& lineInfo, ++ StringRef capturedExpression, ++ ResultDisposition::Flags resultDisposition ); ++ ~AssertionHandler() { ++ if ( !m_completed ) { ++ m_resultCapture.handleIncomplete( m_assertionInfo ); ++ } ++ } + +- void handleMessage(ResultWas::OfType resultType, StringRef const& message); ++ template ++ void handleExpr( ExprLhs const& expr ) { ++ handleExpr( expr.makeUnaryExpr() ); ++ } ++ void handleExpr( ITransientExpression const& expr ); + +- void handleExceptionThrownAsExpected(); +- void handleUnexpectedExceptionNotThrown(); +- void handleExceptionNotThrownAsExpected(); +- void handleThrowingCallSkipped(); +- void handleUnexpectedInflightException(); ++ void handleMessage(ResultWas::OfType resultType, StringRef const& message); + +- void complete(); +- void setCompleted(); ++ void handleExceptionThrownAsExpected(); ++ void handleUnexpectedExceptionNotThrown(); ++ void handleExceptionNotThrownAsExpected(); ++ void handleThrowingCallSkipped(); ++ void handleUnexpectedInflightException(); + +- // query +- auto allowThrows() const -> bool; +-}; ++ void complete(); ++ void setCompleted(); + +-void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str, StringRef const& matcherString ); ++ // query ++ auto allowThrows() const -> bool; ++ }; ++ ++ void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str, StringRef const& matcherString ); + + } // namespace Catch + +@@ -2591,80 +2596,80 @@ void handleExceptionMatchExpr( AssertionHandler& handler, std::string const& str + + namespace Catch { + +-struct MessageInfo { +- MessageInfo( StringRef const& _macroName, +- SourceLineInfo const& _lineInfo, +- ResultWas::OfType _type ); +- +- StringRef macroName; +- std::string message; +- SourceLineInfo lineInfo; +- ResultWas::OfType type; +- unsigned int sequence; +- +- bool operator == ( MessageInfo const& other ) const; +- bool operator < ( MessageInfo const& other ) const; +- private: +- static unsigned int globalCount; +-}; ++ struct MessageInfo { ++ MessageInfo( StringRef const& _macroName, ++ SourceLineInfo const& _lineInfo, ++ ResultWas::OfType _type ); ++ ++ StringRef macroName; ++ std::string message; ++ SourceLineInfo lineInfo; ++ ResultWas::OfType type; ++ unsigned int sequence; + +-struct MessageStream { ++ bool operator == ( MessageInfo const& other ) const; ++ bool operator < ( MessageInfo const& other ) const; ++ private: ++ static unsigned int globalCount; ++ }; + +- template +- MessageStream& operator << ( T const& value ) { +- m_stream << value; +- return *this; +- } ++ struct MessageStream { + +- ReusableStringStream m_stream; +-}; ++ template ++ MessageStream& operator << ( T const& value ) { ++ m_stream << value; ++ return *this; ++ } + +-struct MessageBuilder : MessageStream { +- MessageBuilder( StringRef const& macroName, +- SourceLineInfo const& lineInfo, +- ResultWas::OfType type ); ++ ReusableStringStream m_stream; ++ }; + +- template +- MessageBuilder& operator << ( T const& value ) { +- m_stream << value; +- return *this; +- } ++ struct MessageBuilder : MessageStream { ++ MessageBuilder( StringRef const& macroName, ++ SourceLineInfo const& lineInfo, ++ ResultWas::OfType type ); + +- MessageInfo m_info; +-}; ++ template ++ MessageBuilder& operator << ( T const& value ) { ++ m_stream << value; ++ return *this; ++ } ++ ++ MessageInfo m_info; ++ }; + +-class ScopedMessage { +- public: +- explicit ScopedMessage( MessageBuilder const& builder ); +- ScopedMessage( ScopedMessage& duplicate ) = delete; +- ScopedMessage( ScopedMessage&& old ); +- ~ScopedMessage(); ++ class ScopedMessage { ++ public: ++ explicit ScopedMessage( MessageBuilder const& builder ); ++ ScopedMessage( ScopedMessage& duplicate ) = delete; ++ ScopedMessage( ScopedMessage&& old ); ++ ~ScopedMessage(); + +- MessageInfo m_info; +- bool m_moved; +-}; ++ MessageInfo m_info; ++ bool m_moved; ++ }; + +-class Capturer { +- std::vector m_messages; +- IResultCapture& m_resultCapture = getResultCapture(); +- size_t m_captured = 0; +- public: +- Capturer( StringRef macroName, SourceLineInfo const& lineInfo, ResultWas::OfType resultType, StringRef names ); +- ~Capturer(); ++ class Capturer { ++ std::vector m_messages; ++ IResultCapture& m_resultCapture = getResultCapture(); ++ size_t m_captured = 0; ++ public: ++ Capturer( StringRef macroName, SourceLineInfo const& lineInfo, ResultWas::OfType resultType, StringRef names ); ++ ~Capturer(); + +- void captureValue( size_t index, std::string const& value ); ++ void captureValue( size_t index, std::string const& value ); + +- template +- void captureValues( size_t index, T const& value ) { +- captureValue( index, Catch::Detail::stringify( value ) ); +- } ++ template ++ void captureValues( size_t index, T const& value ) { ++ captureValue( index, Catch::Detail::stringify( value ) ); ++ } + +- template +- void captureValues( size_t index, T const& value, Ts const&... values ) { +- captureValue( index, Catch::Detail::stringify(value) ); +- captureValues( index+1, values... ); +- } +-}; ++ template ++ void captureValues( size_t index, T const& value, Ts const&... values ) { ++ captureValue( index, Catch::Detail::stringify(value) ); ++ captureValues( index+1, values... ); ++ } ++ }; + + } // end namespace Catch + +@@ -2672,9 +2677,9 @@ class Capturer { + #if !defined(CATCH_CONFIG_DISABLE) + + #if !defined(CATCH_CONFIG_DISABLE_STRINGIFICATION) +-#define CATCH_INTERNAL_STRINGIFY(...) #__VA_ARGS__ ++ #define CATCH_INTERNAL_STRINGIFY(...) #__VA_ARGS__ + #else +-#define CATCH_INTERNAL_STRINGIFY(...) "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION" ++ #define CATCH_INTERNAL_STRINGIFY(...) "Disabled by CATCH_CONFIG_DISABLE_STRINGIFICATION" + #endif + + #if defined(CATCH_CONFIG_FAST_COMPILE) || defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +@@ -2821,30 +2826,30 @@ class Capturer { + + namespace Catch { + +-struct Counts { +- Counts operator - ( Counts const& other ) const; +- Counts& operator += ( Counts const& other ); ++ struct Counts { ++ Counts operator - ( Counts const& other ) const; ++ Counts& operator += ( Counts const& other ); + +- std::size_t total() const; +- bool allPassed() const; +- bool allOk() const; ++ std::size_t total() const; ++ bool allPassed() const; ++ bool allOk() const; + +- std::size_t passed = 0; +- std::size_t failed = 0; +- std::size_t failedButOk = 0; +-}; ++ std::size_t passed = 0; ++ std::size_t failed = 0; ++ std::size_t failedButOk = 0; ++ }; + +-struct Totals { ++ struct Totals { + +- Totals operator - ( Totals const& other ) const; +- Totals& operator += ( Totals const& other ); ++ Totals operator - ( Totals const& other ) const; ++ Totals& operator += ( Totals const& other ); + +- Totals delta( Totals const& prevTotals ) const; ++ Totals delta( Totals const& prevTotals ) const; + +- int error = 0; +- Counts assertions; +- Counts testCases; +-}; ++ int error = 0; ++ Counts assertions; ++ Counts testCases; ++ }; + } + + // end catch_totals.h +@@ -2852,27 +2857,27 @@ struct Totals { + + namespace Catch { + +-struct SectionInfo { +- SectionInfo +- ( SourceLineInfo const& _lineInfo, +- std::string const& _name ); ++ struct SectionInfo { ++ SectionInfo ++ ( SourceLineInfo const& _lineInfo, ++ std::string const& _name ); + +- // Deprecated +- SectionInfo +- ( SourceLineInfo const& _lineInfo, +- std::string const& _name, +- std::string const& ) : SectionInfo( _lineInfo, _name ) {} ++ // Deprecated ++ SectionInfo ++ ( SourceLineInfo const& _lineInfo, ++ std::string const& _name, ++ std::string const& ) : SectionInfo( _lineInfo, _name ) {} + +- std::string name; +- std::string description; // !Deprecated: this will always be empty +- SourceLineInfo lineInfo; +-}; ++ std::string name; ++ std::string description; // !Deprecated: this will always be empty ++ SourceLineInfo lineInfo; ++ }; + +-struct SectionEndInfo { +- SectionInfo sectionInfo; +- Counts prevAssertions; +- double durationInSeconds; +-}; ++ struct SectionEndInfo { ++ SectionInfo sectionInfo; ++ Counts prevAssertions; ++ double durationInSeconds; ++ }; + + } // end namespace Catch + +@@ -2883,18 +2888,18 @@ struct SectionEndInfo { + + namespace Catch { + +-auto getCurrentNanosecondsSinceEpoch() -> uint64_t; +-auto getEstimatedClockResolution() -> uint64_t; +- +-class Timer { +- uint64_t m_nanoseconds = 0; +- public: +- void start(); +- auto getElapsedNanoseconds() const -> uint64_t; +- auto getElapsedMicroseconds() const -> uint64_t; +- auto getElapsedMilliseconds() const -> unsigned int; +- auto getElapsedSeconds() const -> double; +-}; ++ auto getCurrentNanosecondsSinceEpoch() -> uint64_t; ++ auto getEstimatedClockResolution() -> uint64_t; ++ ++ class Timer { ++ uint64_t m_nanoseconds = 0; ++ public: ++ void start(); ++ auto getElapsedNanoseconds() const -> uint64_t; ++ auto getElapsedMicroseconds() const -> uint64_t; ++ auto getElapsedMilliseconds() const -> unsigned int; ++ auto getElapsedSeconds() const -> double; ++ }; + + } // namespace Catch + +@@ -2903,22 +2908,22 @@ class Timer { + + namespace Catch { + +-class Section : NonCopyable { +- public: +- Section( SectionInfo const& info ); +- ~Section(); ++ class Section : NonCopyable { ++ public: ++ Section( SectionInfo const& info ); ++ ~Section(); + +- // This indicates whether the section should be executed or not +- explicit operator bool() const; ++ // This indicates whether the section should be executed or not ++ explicit operator bool() const; + +- private: +- SectionInfo m_info; ++ private: ++ SectionInfo m_info; + +- std::string m_name; +- Counts m_assertions; +- bool m_sectionIncluded; +- Timer m_timer; +-}; ++ std::string m_name; ++ Counts m_assertions; ++ bool m_sectionIncluded; ++ Timer m_timer; ++ }; + + } // end namespace Catch + +@@ -2944,51 +2949,51 @@ class Section : NonCopyable { + + namespace Catch { + +-class TestCase; +-struct ITestCaseRegistry; +-struct IExceptionTranslatorRegistry; +-struct IExceptionTranslator; +-struct IReporterRegistry; +-struct IReporterFactory; +-struct ITagAliasRegistry; +-struct IMutableEnumValuesRegistry; ++ class TestCase; ++ struct ITestCaseRegistry; ++ struct IExceptionTranslatorRegistry; ++ struct IExceptionTranslator; ++ struct IReporterRegistry; ++ struct IReporterFactory; ++ struct ITagAliasRegistry; ++ struct IMutableEnumValuesRegistry; + +-class StartupExceptionRegistry; ++ class StartupExceptionRegistry; + +-using IReporterFactoryPtr = std::shared_ptr; ++ using IReporterFactoryPtr = std::shared_ptr; + +-struct IRegistryHub { +- virtual ~IRegistryHub(); ++ struct IRegistryHub { ++ virtual ~IRegistryHub(); + +- virtual IReporterRegistry const& getReporterRegistry() const = 0; +- virtual ITestCaseRegistry const& getTestCaseRegistry() const = 0; +- virtual ITagAliasRegistry const& getTagAliasRegistry() const = 0; +- virtual IExceptionTranslatorRegistry const& getExceptionTranslatorRegistry() const = 0; ++ virtual IReporterRegistry const& getReporterRegistry() const = 0; ++ virtual ITestCaseRegistry const& getTestCaseRegistry() const = 0; ++ virtual ITagAliasRegistry const& getTagAliasRegistry() const = 0; ++ virtual IExceptionTranslatorRegistry const& getExceptionTranslatorRegistry() const = 0; + +- virtual StartupExceptionRegistry const& getStartupExceptionRegistry() const = 0; +-}; ++ virtual StartupExceptionRegistry const& getStartupExceptionRegistry() const = 0; ++ }; + +-struct IMutableRegistryHub { +- virtual ~IMutableRegistryHub(); +- virtual void registerReporter( std::string const& name, IReporterFactoryPtr const& factory ) = 0; +- virtual void registerListener( IReporterFactoryPtr const& factory ) = 0; +- virtual void registerTest( TestCase const& testInfo ) = 0; +- virtual void registerTranslator( const IExceptionTranslator* translator ) = 0; +- virtual void registerTagAlias( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ) = 0; +- virtual void registerStartupException() noexcept = 0; +- virtual IMutableEnumValuesRegistry& getMutableEnumValuesRegistry() = 0; +-}; ++ struct IMutableRegistryHub { ++ virtual ~IMutableRegistryHub(); ++ virtual void registerReporter( std::string const& name, IReporterFactoryPtr const& factory ) = 0; ++ virtual void registerListener( IReporterFactoryPtr const& factory ) = 0; ++ virtual void registerTest( TestCase const& testInfo ) = 0; ++ virtual void registerTranslator( const IExceptionTranslator* translator ) = 0; ++ virtual void registerTagAlias( std::string const& alias, std::string const& tag, SourceLineInfo const& lineInfo ) = 0; ++ virtual void registerStartupException() noexcept = 0; ++ virtual IMutableEnumValuesRegistry& getMutableEnumValuesRegistry() = 0; ++ }; + +-IRegistryHub const& getRegistryHub(); +-IMutableRegistryHub& getMutableRegistryHub(); +-void cleanUp(); +-std::string translateActiveException(); ++ IRegistryHub const& getRegistryHub(); ++ IMutableRegistryHub& getMutableRegistryHub(); ++ void cleanUp(); ++ std::string translateActiveException(); + + } + + // end catch_interfaces_registry_hub.h + #if defined(CATCH_CONFIG_DISABLE) +-#define INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( translatorName, signature) \ ++ #define INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( translatorName, signature) \ + static std::string translatorName( signature ) + #endif + +@@ -2997,58 +3002,58 @@ std::string translateActiveException(); + #include + + namespace Catch { +-using exceptionTranslateFunction = std::string(*)(); ++ using exceptionTranslateFunction = std::string(*)(); + +-struct IExceptionTranslator; +-using ExceptionTranslators = std::vector>; ++ struct IExceptionTranslator; ++ using ExceptionTranslators = std::vector>; + +-struct IExceptionTranslator { +- virtual ~IExceptionTranslator(); +- virtual std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const = 0; +-}; ++ struct IExceptionTranslator { ++ virtual ~IExceptionTranslator(); ++ virtual std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const = 0; ++ }; + +-struct IExceptionTranslatorRegistry { +- virtual ~IExceptionTranslatorRegistry(); ++ struct IExceptionTranslatorRegistry { ++ virtual ~IExceptionTranslatorRegistry(); + +- virtual std::string translateActiveException() const = 0; +-}; ++ virtual std::string translateActiveException() const = 0; ++ }; + +-class ExceptionTranslatorRegistrar { +- template +- class ExceptionTranslator : public IExceptionTranslator { +- public: ++ class ExceptionTranslatorRegistrar { ++ template ++ class ExceptionTranslator : public IExceptionTranslator { ++ public: + +- ExceptionTranslator( std::string(*translateFunction)( T& ) ) +- : m_translateFunction( translateFunction ) +- {} ++ ExceptionTranslator( std::string(*translateFunction)( T& ) ) ++ : m_translateFunction( translateFunction ) ++ {} + +- std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const override { ++ std::string translate( ExceptionTranslators::const_iterator it, ExceptionTranslators::const_iterator itEnd ) const override { + #if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +- return ""; ++ return ""; + #else +- try { +- if( it == itEnd ) +- std::rethrow_exception(std::current_exception()); +- else +- return (*it)->translate( it+1, itEnd ); +- } +- catch( T& ex ) { +- return m_translateFunction( ex ); +- } ++ try { ++ if( it == itEnd ) ++ std::rethrow_exception(std::current_exception()); ++ else ++ return (*it)->translate( it+1, itEnd ); ++ } ++ catch( T& ex ) { ++ return m_translateFunction( ex ); ++ } + #endif +- } ++ } + +- protected: +- std::string(*m_translateFunction)( T& ); +- }; ++ protected: ++ std::string(*m_translateFunction)( T& ); ++ }; + +- public: +- template +- ExceptionTranslatorRegistrar( std::string(*translateFunction)( T& ) ) { +- getMutableRegistryHub().registerTranslator +- ( new ExceptionTranslator( translateFunction ) ); +- } +-}; ++ public: ++ template ++ ExceptionTranslatorRegistrar( std::string(*translateFunction)( T& ) ) { ++ getMutableRegistryHub().registerTranslator ++ ( new ExceptionTranslator( translateFunction ) ); ++ } ++ }; + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -3070,115 +3075,115 @@ class ExceptionTranslatorRegistrar { + namespace Catch { + namespace Detail { + +-class Approx { +- private: +- bool equalityComparisonImpl(double other) const; +- // Validates the new margin (margin >= 0) +- // out-of-line to avoid including stdexcept in the header +- void setMargin(double margin); +- // Validates the new epsilon (0 < epsilon < 1) +- // out-of-line to avoid including stdexcept in the header +- void setEpsilon(double epsilon); +- +- public: +- explicit Approx ( double value ); +- +- static Approx custom(); +- +- Approx operator-() const; +- +- template ::value>::type> +- Approx operator()( T const& value ) { +- Approx approx( static_cast(value) ); +- approx.m_epsilon = m_epsilon; +- approx.m_margin = m_margin; +- approx.m_scale = m_scale; +- return approx; +- } ++ class Approx { ++ private: ++ bool equalityComparisonImpl(double other) const; ++ // Validates the new margin (margin >= 0) ++ // out-of-line to avoid including stdexcept in the header ++ void setMargin(double margin); ++ // Validates the new epsilon (0 < epsilon < 1) ++ // out-of-line to avoid including stdexcept in the header ++ void setEpsilon(double epsilon); + +- template ::value>::type> +- explicit Approx( T const& value ): Approx(static_cast(value)) +- {} ++ public: ++ explicit Approx ( double value ); + +- template ::value>::type> +- friend bool operator == ( const T& lhs, Approx const& rhs ) { +- auto lhs_v = static_cast(lhs); +- return rhs.equalityComparisonImpl(lhs_v); +- } ++ static Approx custom(); + +- template ::value>::type> +- friend bool operator == ( Approx const& lhs, const T& rhs ) { +- return operator==( rhs, lhs ); +- } ++ Approx operator-() const; + +- template ::value>::type> +- friend bool operator != ( T const& lhs, Approx const& rhs ) { +- return !operator==( lhs, rhs ); +- } ++ template ::value>::type> ++ Approx operator()( T const& value ) const { ++ Approx approx( static_cast(value) ); ++ approx.m_epsilon = m_epsilon; ++ approx.m_margin = m_margin; ++ approx.m_scale = m_scale; ++ return approx; ++ } + +- template ::value>::type> +- friend bool operator != ( Approx const& lhs, T const& rhs ) { +- return !operator==( rhs, lhs ); +- } ++ template ::value>::type> ++ explicit Approx( T const& value ): Approx(static_cast(value)) ++ {} + +- template ::value>::type> +- friend bool operator <= ( T const& lhs, Approx const& rhs ) { +- return static_cast(lhs) < rhs.m_value || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator == ( const T& lhs, Approx const& rhs ) { ++ auto lhs_v = static_cast(lhs); ++ return rhs.equalityComparisonImpl(lhs_v); ++ } + +- template ::value>::type> +- friend bool operator <= ( Approx const& lhs, T const& rhs ) { +- return lhs.m_value < static_cast(rhs) || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator == ( Approx const& lhs, const T& rhs ) { ++ return operator==( rhs, lhs ); ++ } + +- template ::value>::type> +- friend bool operator >= ( T const& lhs, Approx const& rhs ) { +- return static_cast(lhs) > rhs.m_value || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator != ( T const& lhs, Approx const& rhs ) { ++ return !operator==( lhs, rhs ); ++ } + +- template ::value>::type> +- friend bool operator >= ( Approx const& lhs, T const& rhs ) { +- return lhs.m_value > static_cast(rhs) || lhs == rhs; +- } ++ template ::value>::type> ++ friend bool operator != ( Approx const& lhs, T const& rhs ) { ++ return !operator==( rhs, lhs ); ++ } + +- template ::value>::type> +- Approx& epsilon( T const& newEpsilon ) { +- double epsilonAsDouble = static_cast(newEpsilon); +- setEpsilon(epsilonAsDouble); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator <= ( T const& lhs, Approx const& rhs ) { ++ return static_cast(lhs) < rhs.m_value || lhs == rhs; ++ } + +- template ::value>::type> +- Approx& margin( T const& newMargin ) { +- double marginAsDouble = static_cast(newMargin); +- setMargin(marginAsDouble); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator <= ( Approx const& lhs, T const& rhs ) { ++ return lhs.m_value < static_cast(rhs) || lhs == rhs; ++ } + +- template ::value>::type> +- Approx& scale( T const& newScale ) { +- m_scale = static_cast(newScale); +- return *this; +- } ++ template ::value>::type> ++ friend bool operator >= ( T const& lhs, Approx const& rhs ) { ++ return static_cast(lhs) > rhs.m_value || lhs == rhs; ++ } + +- std::string toString() const; ++ template ::value>::type> ++ friend bool operator >= ( Approx const& lhs, T const& rhs ) { ++ return lhs.m_value > static_cast(rhs) || lhs == rhs; ++ } + +- private: +- double m_epsilon; +- double m_margin; +- double m_scale; +- double m_value; +-}; ++ template ::value>::type> ++ Approx& epsilon( T const& newEpsilon ) { ++ double epsilonAsDouble = static_cast(newEpsilon); ++ setEpsilon(epsilonAsDouble); ++ return *this; ++ } ++ ++ template ::value>::type> ++ Approx& margin( T const& newMargin ) { ++ double marginAsDouble = static_cast(newMargin); ++ setMargin(marginAsDouble); ++ return *this; ++ } ++ ++ template ::value>::type> ++ Approx& scale( T const& newScale ) { ++ m_scale = static_cast(newScale); ++ return *this; ++ } ++ ++ std::string toString() const; ++ ++ private: ++ double m_epsilon; ++ double m_margin; ++ double m_scale; ++ double m_value; ++ }; + } // end namespace Detail + + namespace literals { +-Detail::Approx operator "" _a(long double val); +-Detail::Approx operator "" _a(unsigned long long val); ++ Detail::Approx operator "" _a(long double val); ++ Detail::Approx operator "" _a(unsigned long long val); + } // end namespace literals + + template<> + struct StringMaker { +- static std::string convert(Catch::Detail::Approx const& value); ++ static std::string convert(Catch::Detail::Approx const& value); + }; + + } // end namespace Catch +@@ -3192,30 +3197,30 @@ struct StringMaker { + + namespace Catch { + +-bool startsWith( std::string const& s, std::string const& prefix ); +-bool startsWith( std::string const& s, char prefix ); +-bool endsWith( std::string const& s, std::string const& suffix ); +-bool endsWith( std::string const& s, char suffix ); +-bool contains( std::string const& s, std::string const& infix ); +-void toLowerInPlace( std::string& s ); +-std::string toLower( std::string const& s ); +-//! Returns a new string without whitespace at the start/end +-std::string trim( std::string const& str ); +-//! Returns a substring of the original ref without whitespace. Beware lifetimes! +-StringRef trim(StringRef ref); +- +-// !!! Be aware, returns refs into original string - make sure original string outlives them +-std::vector splitStringRef( StringRef str, char delimiter ); +-bool replaceInPlace( std::string& str, std::string const& replaceThis, std::string const& withThis ); +- +-struct pluralise { +- pluralise( std::size_t count, std::string const& label ); +- +- friend std::ostream& operator << ( std::ostream& os, pluralise const& pluraliser ); +- +- std::size_t m_count; +- std::string m_label; +-}; ++ bool startsWith( std::string const& s, std::string const& prefix ); ++ bool startsWith( std::string const& s, char prefix ); ++ bool endsWith( std::string const& s, std::string const& suffix ); ++ bool endsWith( std::string const& s, char suffix ); ++ bool contains( std::string const& s, std::string const& infix ); ++ void toLowerInPlace( std::string& s ); ++ std::string toLower( std::string const& s ); ++ //! Returns a new string without whitespace at the start/end ++ std::string trim( std::string const& str ); ++ //! Returns a substring of the original ref without whitespace. Beware lifetimes! ++ StringRef trim(StringRef ref); ++ ++ // !!! Be aware, returns refs into original string - make sure original string outlives them ++ std::vector splitStringRef( StringRef str, char delimiter ); ++ bool replaceInPlace( std::string& str, std::string const& replaceThis, std::string const& withThis ); ++ ++ struct pluralise { ++ pluralise( std::size_t count, std::string const& label ); ++ ++ friend std::ostream& operator << ( std::ostream& os, pluralise const& pluraliser ); ++ ++ std::size_t m_count; ++ std::string m_label; ++ }; + } + + // end catch_string_manip.h +@@ -3229,37 +3234,37 @@ struct pluralise { + + namespace Catch { + namespace Matchers { +-namespace Impl { +- +-template struct MatchAllOf; +-template struct MatchAnyOf; +-template struct MatchNotOf; +- +-class MatcherUntypedBase { +- public: +- MatcherUntypedBase() = default; +- MatcherUntypedBase ( MatcherUntypedBase const& ) = default; +- MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = delete; +- std::string toString() const; +- +- protected: +- virtual ~MatcherUntypedBase(); +- virtual std::string describe() const = 0; +- mutable std::string m_cachedToString; +-}; ++ namespace Impl { ++ ++ template struct MatchAllOf; ++ template struct MatchAnyOf; ++ template struct MatchNotOf; ++ ++ class MatcherUntypedBase { ++ public: ++ MatcherUntypedBase() = default; ++ MatcherUntypedBase ( MatcherUntypedBase const& ) = default; ++ MatcherUntypedBase& operator = ( MatcherUntypedBase const& ) = delete; ++ std::string toString() const; ++ ++ protected: ++ virtual ~MatcherUntypedBase(); ++ virtual std::string describe() const = 0; ++ mutable std::string m_cachedToString; ++ }; + + #ifdef __clang__ + # pragma clang diagnostic push + # pragma clang diagnostic ignored "-Wnon-virtual-dtor" + #endif + +-template +-struct MatcherMethod { +- virtual bool match( ObjectT const& arg ) const = 0; +-}; ++ template ++ struct MatcherMethod { ++ virtual bool match( ObjectT const& arg ) const = 0; ++ }; + + #if defined(__OBJC__) +-// Hack to fix Catch GH issue #1661. Could use id for generic Object support. ++ // Hack to fix Catch GH issue #1661. Could use id for generic Object support. + // use of const for Object pointers is very uncommon and under ARC it causes some kind of signature mismatch that breaks compilation + template<> + struct MatcherMethod { +@@ -3271,111 +3276,111 @@ struct MatcherMethod { + # pragma clang diagnostic pop + #endif + +-template +-struct MatcherBase : MatcherUntypedBase, MatcherMethod { ++ template ++ struct MatcherBase : MatcherUntypedBase, MatcherMethod { + +- MatchAllOf operator && ( MatcherBase const& other ) const; +- MatchAnyOf operator || ( MatcherBase const& other ) const; +- MatchNotOf operator ! () const; +-}; ++ MatchAllOf operator && ( MatcherBase const& other ) const; ++ MatchAnyOf operator || ( MatcherBase const& other ) const; ++ MatchNotOf operator ! () const; ++ }; + +-template +-struct MatchAllOf : MatcherBase { +- bool match( ArgT const& arg ) const override { +- for( auto matcher : m_matchers ) { +- if (!matcher->match(arg)) +- return false; +- } +- return true; +- } +- std::string describe() const override { +- std::string description; +- description.reserve( 4 + m_matchers.size()*32 ); +- description += "( "; +- bool first = true; +- for( auto matcher : m_matchers ) { +- if( first ) +- first = false; +- else +- description += " and "; +- description += matcher->toString(); +- } +- description += " )"; +- return description; +- } ++ template ++ struct MatchAllOf : MatcherBase { ++ bool match( ArgT const& arg ) const override { ++ for( auto matcher : m_matchers ) { ++ if (!matcher->match(arg)) ++ return false; ++ } ++ return true; ++ } ++ std::string describe() const override { ++ std::string description; ++ description.reserve( 4 + m_matchers.size()*32 ); ++ description += "( "; ++ bool first = true; ++ for( auto matcher : m_matchers ) { ++ if( first ) ++ first = false; ++ else ++ description += " and "; ++ description += matcher->toString(); ++ } ++ description += " )"; ++ return description; ++ } + +- MatchAllOf operator && ( MatcherBase const& other ) { +- auto copy(*this); +- copy.m_matchers.push_back( &other ); +- return copy; +- } ++ MatchAllOf operator && ( MatcherBase const& other ) { ++ auto copy(*this); ++ copy.m_matchers.push_back( &other ); ++ return copy; ++ } + +- std::vector const*> m_matchers; +-}; +-template +-struct MatchAnyOf : MatcherBase { ++ std::vector const*> m_matchers; ++ }; ++ template ++ struct MatchAnyOf : MatcherBase { + +- bool match( ArgT const& arg ) const override { +- for( auto matcher : m_matchers ) { +- if (matcher->match(arg)) +- return true; +- } +- return false; +- } +- std::string describe() const override { +- std::string description; +- description.reserve( 4 + m_matchers.size()*32 ); +- description += "( "; +- bool first = true; +- for( auto matcher : m_matchers ) { +- if( first ) +- first = false; +- else +- description += " or "; +- description += matcher->toString(); +- } +- description += " )"; +- return description; +- } ++ bool match( ArgT const& arg ) const override { ++ for( auto matcher : m_matchers ) { ++ if (matcher->match(arg)) ++ return true; ++ } ++ return false; ++ } ++ std::string describe() const override { ++ std::string description; ++ description.reserve( 4 + m_matchers.size()*32 ); ++ description += "( "; ++ bool first = true; ++ for( auto matcher : m_matchers ) { ++ if( first ) ++ first = false; ++ else ++ description += " or "; ++ description += matcher->toString(); ++ } ++ description += " )"; ++ return description; ++ } + +- MatchAnyOf operator || ( MatcherBase const& other ) { +- auto copy(*this); +- copy.m_matchers.push_back( &other ); +- return copy; +- } ++ MatchAnyOf operator || ( MatcherBase const& other ) { ++ auto copy(*this); ++ copy.m_matchers.push_back( &other ); ++ return copy; ++ } + +- std::vector const*> m_matchers; +-}; ++ std::vector const*> m_matchers; ++ }; + +-template +-struct MatchNotOf : MatcherBase { ++ template ++ struct MatchNotOf : MatcherBase { + +- MatchNotOf( MatcherBase const& underlyingMatcher ) : m_underlyingMatcher( underlyingMatcher ) {} ++ MatchNotOf( MatcherBase const& underlyingMatcher ) : m_underlyingMatcher( underlyingMatcher ) {} + +- bool match( ArgT const& arg ) const override { +- return !m_underlyingMatcher.match( arg ); +- } ++ bool match( ArgT const& arg ) const override { ++ return !m_underlyingMatcher.match( arg ); ++ } + +- std::string describe() const override { +- return "not " + m_underlyingMatcher.toString(); +- } +- MatcherBase const& m_underlyingMatcher; +-}; ++ std::string describe() const override { ++ return "not " + m_underlyingMatcher.toString(); ++ } ++ MatcherBase const& m_underlyingMatcher; ++ }; + +-template +-MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { +- return MatchAllOf() && *this && other; +-} +-template +-MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { +- return MatchAnyOf() || *this || other; +-} +-template +-MatchNotOf MatcherBase::operator ! () const { +- return MatchNotOf( *this ); +-} ++ template ++ MatchAllOf MatcherBase::operator && ( MatcherBase const& other ) const { ++ return MatchAllOf() && *this && other; ++ } ++ template ++ MatchAnyOf MatcherBase::operator || ( MatcherBase const& other ) const { ++ return MatchAnyOf() || *this || other; ++ } ++ template ++ MatchNotOf MatcherBase::operator ! () const { ++ return MatchNotOf( *this ); ++ } + +-} // namespace Impl ++ } // namespace Impl + + } // namespace Matchers + +@@ -3392,16 +3397,16 @@ namespace Matchers { + namespace Exception { + + class ExceptionMessageMatcher : public MatcherBase { +- std::string m_message; +- public: ++ std::string m_message; ++public: + +- ExceptionMessageMatcher(std::string const& message): +- m_message(message) +- {} ++ ExceptionMessageMatcher(std::string const& message): ++ m_message(message) ++ {} + +- bool match(std::exception const& ex) const override; ++ bool match(std::exception const& ex) const override; + +- std::string describe() const override; ++ std::string describe() const override; + }; + + } // namespace Exception +@@ -3417,57 +3422,57 @@ Exception::ExceptionMessageMatcher Message(std::string const& message); + namespace Catch { + namespace Matchers { + +-namespace Floating { ++ namespace Floating { + +-enum class FloatingPointKind : uint8_t; ++ enum class FloatingPointKind : uint8_t; + +-struct WithinAbsMatcher : MatcherBase { +- WithinAbsMatcher(double target, double margin); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- double m_margin; +-}; ++ struct WithinAbsMatcher : MatcherBase { ++ WithinAbsMatcher(double target, double margin); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ double m_margin; ++ }; + +-struct WithinUlpsMatcher : MatcherBase { +- WithinUlpsMatcher(double target, uint64_t ulps, FloatingPointKind baseType); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- uint64_t m_ulps; +- FloatingPointKind m_type; +-}; ++ struct WithinUlpsMatcher : MatcherBase { ++ WithinUlpsMatcher(double target, uint64_t ulps, FloatingPointKind baseType); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ uint64_t m_ulps; ++ FloatingPointKind m_type; ++ }; + +-// Given IEEE-754 format for floats and doubles, we can assume +-// that float -> double promotion is lossless. Given this, we can +-// assume that if we do the standard relative comparison of +-// |lhs - rhs| <= epsilon * max(fabs(lhs), fabs(rhs)), then we get +-// the same result if we do this for floats, as if we do this for +-// doubles that were promoted from floats. +-struct WithinRelMatcher : MatcherBase { +- WithinRelMatcher(double target, double epsilon); +- bool match(double const& matchee) const override; +- std::string describe() const override; +- private: +- double m_target; +- double m_epsilon; +-}; ++ // Given IEEE-754 format for floats and doubles, we can assume ++ // that float -> double promotion is lossless. Given this, we can ++ // assume that if we do the standard relative comparison of ++ // |lhs - rhs| <= epsilon * max(fabs(lhs), fabs(rhs)), then we get ++ // the same result if we do this for floats, as if we do this for ++ // doubles that were promoted from floats. ++ struct WithinRelMatcher : MatcherBase { ++ WithinRelMatcher(double target, double epsilon); ++ bool match(double const& matchee) const override; ++ std::string describe() const override; ++ private: ++ double m_target; ++ double m_epsilon; ++ }; + +-} // namespace Floating ++ } // namespace Floating + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred +-Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlpDiff); +-Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpDiff); +-Floating::WithinAbsMatcher WithinAbs(double target, double margin); +-Floating::WithinRelMatcher WithinRel(double target, double eps); +-// defaults epsilon to 100*numeric_limits::epsilon() +-Floating::WithinRelMatcher WithinRel(double target); +-Floating::WithinRelMatcher WithinRel(float target, float eps); +-// defaults epsilon to 100*numeric_limits::epsilon() +-Floating::WithinRelMatcher WithinRel(float target); ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred ++ Floating::WithinUlpsMatcher WithinULP(double target, uint64_t maxUlpDiff); ++ Floating::WithinUlpsMatcher WithinULP(float target, uint64_t maxUlpDiff); ++ Floating::WithinAbsMatcher WithinAbs(double target, double margin); ++ Floating::WithinRelMatcher WithinRel(double target, double eps); ++ // defaults epsilon to 100*numeric_limits::epsilon() ++ Floating::WithinRelMatcher WithinRel(double target); ++ Floating::WithinRelMatcher WithinRel(float target, float eps); ++ // defaults epsilon to 100*numeric_limits::epsilon() ++ Floating::WithinRelMatcher WithinRel(float target); + + } // namespace Matchers + } // namespace Catch +@@ -3483,39 +3488,39 @@ namespace Matchers { + namespace Generic { + + namespace Detail { +-std::string finalizeDescription(const std::string& desc); ++ std::string finalizeDescription(const std::string& desc); + } + + template + class PredicateMatcher : public MatcherBase { +- std::function m_predicate; +- std::string m_description; +- public: ++ std::function m_predicate; ++ std::string m_description; ++public: + +- PredicateMatcher(std::function const& elem, std::string const& descr) +- :m_predicate(std::move(elem)), +- m_description(Detail::finalizeDescription(descr)) +- {} ++ PredicateMatcher(std::function const& elem, std::string const& descr) ++ :m_predicate(std::move(elem)), ++ m_description(Detail::finalizeDescription(descr)) ++ {} + +- bool match( T const& item ) const override { +- return m_predicate(item); +- } ++ bool match( T const& item ) const override { ++ return m_predicate(item); ++ } + +- std::string describe() const override { +- return m_description; +- } ++ std::string describe() const override { ++ return m_description; ++ } + }; + + } // namespace Generic + +-// The following functions create the actual matcher objects. +-// The user has to explicitly specify type to the function, because +-// inferring std::function is hard (but possible) and +-// requires a lot of TMP. +-template +-Generic::PredicateMatcher Predicate(std::function const& predicate, std::string const& description = "") { +- return Generic::PredicateMatcher(predicate, description); +-} ++ // The following functions create the actual matcher objects. ++ // The user has to explicitly specify type to the function, because ++ // inferring std::function is hard (but possible) and ++ // requires a lot of TMP. ++ template ++ Generic::PredicateMatcher Predicate(std::function const& predicate, std::string const& description = "") { ++ return Generic::PredicateMatcher(predicate, description); ++ } + + } // namespace Matchers + } // namespace Catch +@@ -3528,63 +3533,63 @@ Generic::PredicateMatcher Predicate(std::function const& pred + namespace Catch { + namespace Matchers { + +-namespace StdString { ++ namespace StdString { + +-struct CasedString +-{ +- CasedString( std::string const& str, CaseSensitive::Choice caseSensitivity ); +- std::string adjustString( std::string const& str ) const; +- std::string caseSensitivitySuffix() const; ++ struct CasedString ++ { ++ CasedString( std::string const& str, CaseSensitive::Choice caseSensitivity ); ++ std::string adjustString( std::string const& str ) const; ++ std::string caseSensitivitySuffix() const; + +- CaseSensitive::Choice m_caseSensitivity; +- std::string m_str; +-}; ++ CaseSensitive::Choice m_caseSensitivity; ++ std::string m_str; ++ }; + +-struct StringMatcherBase : MatcherBase { +- StringMatcherBase( std::string const& operation, CasedString const& comparator ); +- std::string describe() const override; ++ struct StringMatcherBase : MatcherBase { ++ StringMatcherBase( std::string const& operation, CasedString const& comparator ); ++ std::string describe() const override; + +- CasedString m_comparator; +- std::string m_operation; +-}; ++ CasedString m_comparator; ++ std::string m_operation; ++ }; + +-struct EqualsMatcher : StringMatcherBase { +- EqualsMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct ContainsMatcher : StringMatcherBase { +- ContainsMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct StartsWithMatcher : StringMatcherBase { +- StartsWithMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; +-struct EndsWithMatcher : StringMatcherBase { +- EndsWithMatcher( CasedString const& comparator ); +- bool match( std::string const& source ) const override; +-}; ++ struct EqualsMatcher : StringMatcherBase { ++ EqualsMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct ContainsMatcher : StringMatcherBase { ++ ContainsMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct StartsWithMatcher : StringMatcherBase { ++ StartsWithMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; ++ struct EndsWithMatcher : StringMatcherBase { ++ EndsWithMatcher( CasedString const& comparator ); ++ bool match( std::string const& source ) const override; ++ }; + +-struct RegexMatcher : MatcherBase { +- RegexMatcher( std::string regex, CaseSensitive::Choice caseSensitivity ); +- bool match( std::string const& matchee ) const override; +- std::string describe() const override; ++ struct RegexMatcher : MatcherBase { ++ RegexMatcher( std::string regex, CaseSensitive::Choice caseSensitivity ); ++ bool match( std::string const& matchee ) const override; ++ std::string describe() const override; + +- private: +- std::string m_regex; +- CaseSensitive::Choice m_caseSensitivity; +-}; ++ private: ++ std::string m_regex; ++ CaseSensitive::Choice m_caseSensitivity; ++ }; + +-} // namespace StdString ++ } // namespace StdString + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred + +-StdString::EqualsMatcher Equals( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::ContainsMatcher Contains( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::StartsWithMatcher StartsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); +-StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::EqualsMatcher Equals( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::ContainsMatcher Contains( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::EndsWithMatcher EndsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::StartsWithMatcher StartsWith( std::string const& str, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); ++ StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice caseSensitivity = CaseSensitive::Yes ); + + } // namespace Matchers + } // namespace Catch +@@ -3597,163 +3602,163 @@ StdString::RegexMatcher Matches( std::string const& regex, CaseSensitive::Choice + namespace Catch { + namespace Matchers { + +-namespace Vector { +-template +-struct ContainsElementMatcher : MatcherBase> { ++ namespace Vector { ++ template ++ struct ContainsElementMatcher : MatcherBase> { + +- ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {} ++ ContainsElementMatcher(T const &comparator) : m_comparator( comparator) {} + +- bool match(std::vector const &v) const override { +- for (auto const& el : v) { +- if (el == m_comparator) { +- return true; +- } +- } +- return false; +- } ++ bool match(std::vector const &v) const override { ++ for (auto const& el : v) { ++ if (el == m_comparator) { ++ return true; ++ } ++ } ++ return false; ++ } + +- std::string describe() const override { +- return "Contains: " + ::Catch::Detail::stringify( m_comparator ); +- } ++ std::string describe() const override { ++ return "Contains: " + ::Catch::Detail::stringify( m_comparator ); ++ } + +- T const& m_comparator; +-}; ++ T const& m_comparator; ++ }; + +-template +-struct ContainsMatcher : MatcherBase> { ++ template ++ struct ContainsMatcher : MatcherBase> { + +- ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} ++ ContainsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- // !TBD: see note in EqualsMatcher +- if (m_comparator.size() > v.size()) +- return false; +- for (auto const& comparator : m_comparator) { +- auto present = false; +- for (const auto& el : v) { +- if (el == comparator) { +- present = true; +- break; +- } +- } +- if (!present) { +- return false; +- } +- } +- return true; +- } +- std::string describe() const override { +- return "Contains: " + ::Catch::Detail::stringify( m_comparator ); +- } ++ bool match(std::vector const &v) const override { ++ // !TBD: see note in EqualsMatcher ++ if (m_comparator.size() > v.size()) ++ return false; ++ for (auto const& comparator : m_comparator) { ++ auto present = false; ++ for (const auto& el : v) { ++ if (el == comparator) { ++ present = true; ++ break; ++ } ++ } ++ if (!present) { ++ return false; ++ } ++ } ++ return true; ++ } ++ std::string describe() const override { ++ return "Contains: " + ::Catch::Detail::stringify( m_comparator ); ++ } + +- std::vector const& m_comparator; +-}; ++ std::vector const& m_comparator; ++ }; + +-template +-struct EqualsMatcher : MatcherBase> { ++ template ++ struct EqualsMatcher : MatcherBase> { + +- EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} ++ EqualsMatcher(std::vector const &comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- // !TBD: This currently works if all elements can be compared using != +- // - a more general approach would be via a compare template that defaults +- // to using !=. but could be specialised for, e.g. std::vector etc +- // - then just call that directly +- if (m_comparator.size() != v.size()) +- return false; +- for (std::size_t i = 0; i < v.size(); ++i) +- if (m_comparator[i] != v[i]) +- return false; +- return true; +- } +- std::string describe() const override { +- return "Equals: " + ::Catch::Detail::stringify( m_comparator ); +- } +- std::vector const& m_comparator; +-}; ++ bool match(std::vector const &v) const override { ++ // !TBD: This currently works if all elements can be compared using != ++ // - a more general approach would be via a compare template that defaults ++ // to using !=. but could be specialised for, e.g. std::vector etc ++ // - then just call that directly ++ if (m_comparator.size() != v.size()) ++ return false; ++ for (std::size_t i = 0; i < v.size(); ++i) ++ if (m_comparator[i] != v[i]) ++ return false; ++ return true; ++ } ++ std::string describe() const override { ++ return "Equals: " + ::Catch::Detail::stringify( m_comparator ); ++ } ++ std::vector const& m_comparator; ++ }; + +-template +-struct ApproxMatcher : MatcherBase> { ++ template ++ struct ApproxMatcher : MatcherBase> { + +- ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} ++ ApproxMatcher(std::vector const& comparator) : m_comparator( comparator ) {} + +- bool match(std::vector const &v) const override { +- if (m_comparator.size() != v.size()) +- return false; +- for (std::size_t i = 0; i < v.size(); ++i) +- if (m_comparator[i] != approx(v[i])) +- return false; +- return true; +- } +- std::string describe() const override { +- return "is approx: " + ::Catch::Detail::stringify( m_comparator ); +- } +- template ::value>::type> +- ApproxMatcher& epsilon( T const& newEpsilon ) { +- approx.epsilon(newEpsilon); +- return *this; +- } +- template ::value>::type> +- ApproxMatcher& margin( T const& newMargin ) { +- approx.margin(newMargin); +- return *this; +- } +- template ::value>::type> +- ApproxMatcher& scale( T const& newScale ) { +- approx.scale(newScale); +- return *this; +- } ++ bool match(std::vector const &v) const override { ++ if (m_comparator.size() != v.size()) ++ return false; ++ for (std::size_t i = 0; i < v.size(); ++i) ++ if (m_comparator[i] != approx(v[i])) ++ return false; ++ return true; ++ } ++ std::string describe() const override { ++ return "is approx: " + ::Catch::Detail::stringify( m_comparator ); ++ } ++ template ::value>::type> ++ ApproxMatcher& epsilon( T const& newEpsilon ) { ++ approx.epsilon(newEpsilon); ++ return *this; ++ } ++ template ::value>::type> ++ ApproxMatcher& margin( T const& newMargin ) { ++ approx.margin(newMargin); ++ return *this; ++ } ++ template ::value>::type> ++ ApproxMatcher& scale( T const& newScale ) { ++ approx.scale(newScale); ++ return *this; ++ } + +- std::vector const& m_comparator; +- mutable Catch::Detail::Approx approx = Catch::Detail::Approx::custom(); +-}; ++ std::vector const& m_comparator; ++ mutable Catch::Detail::Approx approx = Catch::Detail::Approx::custom(); ++ }; + +-template +-struct UnorderedEqualsMatcher : MatcherBase> { +- UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} +- bool match(std::vector const& vec) const override { +- if (m_target.size() != vec.size()) { +- return false; +- } +- return std::is_permutation(m_target.begin(), m_target.end(), vec.begin()); +- } ++ template ++ struct UnorderedEqualsMatcher : MatcherBase> { ++ UnorderedEqualsMatcher(std::vector const& target) : m_target(target) {} ++ bool match(std::vector const& vec) const override { ++ if (m_target.size() != vec.size()) { ++ return false; ++ } ++ return std::is_permutation(m_target.begin(), m_target.end(), vec.begin()); ++ } + +- std::string describe() const override { +- return "UnorderedEquals: " + ::Catch::Detail::stringify(m_target); +- } +- private: +- std::vector const& m_target; +-}; ++ std::string describe() const override { ++ return "UnorderedEquals: " + ::Catch::Detail::stringify(m_target); ++ } ++ private: ++ std::vector const& m_target; ++ }; + +-} // namespace Vector ++ } // namespace Vector + +-// The following functions create the actual matcher objects. +-// This allows the types to be inferred ++ // The following functions create the actual matcher objects. ++ // This allows the types to be inferred + +-template, typename AllocMatch = AllocComp> +-Vector::ContainsMatcher Contains( std::vector const& comparator ) { +- return Vector::ContainsMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::ContainsMatcher Contains( std::vector const& comparator ) { ++ return Vector::ContainsMatcher( comparator ); ++ } + +-template> +-Vector::ContainsElementMatcher VectorContains( T const& comparator ) { +- return Vector::ContainsElementMatcher( comparator ); +-} ++ template> ++ Vector::ContainsElementMatcher VectorContains( T const& comparator ) { ++ return Vector::ContainsElementMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::EqualsMatcher Equals( std::vector const& comparator ) { +- return Vector::EqualsMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::EqualsMatcher Equals( std::vector const& comparator ) { ++ return Vector::EqualsMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::ApproxMatcher Approx( std::vector const& comparator ) { +- return Vector::ApproxMatcher( comparator ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::ApproxMatcher Approx( std::vector const& comparator ) { ++ return Vector::ApproxMatcher( comparator ); ++ } + +-template, typename AllocMatch = AllocComp> +-Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { +- return Vector::UnorderedEqualsMatcher( target ); +-} ++ template, typename AllocMatch = AllocComp> ++ Vector::UnorderedEqualsMatcher UnorderedEquals(std::vector const& target) { ++ return Vector::UnorderedEqualsMatcher( target ); ++ } + + } // namespace Matchers + } // namespace Catch +@@ -3761,39 +3766,39 @@ Vector::UnorderedEqualsMatcher UnorderedEquals(std::ve + // end catch_matchers_vector.h + namespace Catch { + +-template +-class MatchExpr : public ITransientExpression { +- ArgT const& m_arg; +- MatcherT m_matcher; +- StringRef m_matcherString; +- public: +- MatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) +- : ITransientExpression{ true, matcher.match( arg ) }, +- m_arg( arg ), +- m_matcher( matcher ), +- m_matcherString( matcherString ) +- {} +- +- void streamReconstructedExpression( std::ostream &os ) const override { +- auto matcherAsString = m_matcher.toString(); +- os << Catch::Detail::stringify( m_arg ) << ' '; +- if( matcherAsString == Detail::unprintableString ) +- os << m_matcherString; +- else +- os << matcherAsString; +- } +-}; ++ template ++ class MatchExpr : public ITransientExpression { ++ ArgT const& m_arg; ++ MatcherT m_matcher; ++ StringRef m_matcherString; ++ public: ++ MatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) ++ : ITransientExpression{ true, matcher.match( arg ) }, ++ m_arg( arg ), ++ m_matcher( matcher ), ++ m_matcherString( matcherString ) ++ {} + +-using StringMatcher = Matchers::Impl::MatcherBase; ++ void streamReconstructedExpression( std::ostream &os ) const override { ++ auto matcherAsString = m_matcher.toString(); ++ os << Catch::Detail::stringify( m_arg ) << ' '; ++ if( matcherAsString == Detail::unprintableString ) ++ os << m_matcherString; ++ else ++ os << matcherAsString; ++ } ++ }; + +-void handleExceptionMatchExpr( AssertionHandler& handler, StringMatcher const& matcher, StringRef const& matcherString ); ++ using StringMatcher = Matchers::Impl::MatcherBase; + +-template +-auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) -> MatchExpr { +- return MatchExpr( arg, matcher, matcherString ); +-} ++ void handleExceptionMatchExpr( AssertionHandler& handler, StringMatcher const& matcher, StringRef const& matcherString ); + +-} // namespace Catch ++ template ++ auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& matcherString ) -> MatchExpr { ++ return MatchExpr( arg, matcher, matcherString ); ++ } ++ ++} // namespace Catch + + /////////////////////////////////////////////////////////////////////////////// + #define INTERNAL_CHECK_THAT( macroName, matcher, resultDisposition, arg ) \ +@@ -3836,27 +3841,27 @@ auto makeMatchExpr( ArgT const& arg, MatcherT const& matcher, StringRef const& m + + namespace Catch { + +-namespace Generators { +-class GeneratorUntypedBase { +- public: +- GeneratorUntypedBase() = default; +- virtual ~GeneratorUntypedBase(); +- // Attempts to move the generator to the next element +- // +- // Returns true iff the move succeeded (and a valid element +- // can be retrieved). +- virtual bool next() = 0; +-}; +-using GeneratorBasePtr = std::unique_ptr; ++ namespace Generators { ++ class GeneratorUntypedBase { ++ public: ++ GeneratorUntypedBase() = default; ++ virtual ~GeneratorUntypedBase(); ++ // Attempts to move the generator to the next element ++ // ++ // Returns true iff the move succeeded (and a valid element ++ // can be retrieved). ++ virtual bool next() = 0; ++ }; ++ using GeneratorBasePtr = std::unique_ptr; + +-} // namespace Generators ++ } // namespace Generators + +-struct IGeneratorTracker { +- virtual ~IGeneratorTracker(); +- virtual auto hasGenerator() const -> bool = 0; +- virtual auto getGenerator() const -> Generators::GeneratorBasePtr const& = 0; +- virtual void setGenerator( Generators::GeneratorBasePtr&& generator ) = 0; +-}; ++ struct IGeneratorTracker { ++ virtual ~IGeneratorTracker(); ++ virtual auto hasGenerator() const -> bool = 0; ++ virtual auto getGenerator() const -> Generators::GeneratorBasePtr const& = 0; ++ virtual void setGenerator( Generators::GeneratorBasePtr&& generator ) = 0; ++ }; + + } // namespace Catch + +@@ -3867,22 +3872,22 @@ struct IGeneratorTracker { + + namespace Catch { + #if !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +-template +-[[noreturn]] +-void throw_exception(Ex const& e) { +- throw e; +-} ++ template ++ [[noreturn]] ++ void throw_exception(Ex const& e) { ++ throw e; ++ } + #else // ^^ Exceptions are enabled // Exceptions are disabled vv +-[[noreturn]] ++ [[noreturn]] + void throw_exception(std::exception const& e); + #endif + +-[[noreturn]] +-void throw_logic_error(std::string const& msg); +-[[noreturn]] +-void throw_domain_error(std::string const& msg); +-[[noreturn]] +-void throw_runtime_error(std::string const& msg); ++ [[noreturn]] ++ void throw_logic_error(std::string const& msg); ++ [[noreturn]] ++ void throw_domain_error(std::string const& msg); ++ [[noreturn]] ++ void throw_runtime_error(std::string const& msg); + + } // namespace Catch; + +@@ -3912,182 +3917,182 @@ void throw_runtime_error(std::string const& msg); + namespace Catch { + + class GeneratorException : public std::exception { +- const char* const m_msg = ""; ++ const char* const m_msg = ""; + +- public: +- GeneratorException(const char* msg): +- m_msg(msg) +- {} ++public: ++ GeneratorException(const char* msg): ++ m_msg(msg) ++ {} + +- const char* what() const noexcept override final; ++ const char* what() const noexcept override final; + }; + + namespace Generators { + +-// !TBD move this into its own location? +-namespace pf{ +-template +-std::unique_ptr make_unique( Args&&... args ) { +- return std::unique_ptr(new T(std::forward(args)...)); +-} +-} ++ // !TBD move this into its own location? ++ namespace pf{ ++ template ++ std::unique_ptr make_unique( Args&&... args ) { ++ return std::unique_ptr(new T(std::forward(args)...)); ++ } ++ } + +-template +-struct IGenerator : GeneratorUntypedBase { +- virtual ~IGenerator() = default; +- +- // Returns the current element of the generator +- // +- // \Precondition The generator is either freshly constructed, +- // or the last call to `next()` returned true +- virtual T const& get() const = 0; +- using type = T; +-}; ++ template ++ struct IGenerator : GeneratorUntypedBase { ++ virtual ~IGenerator() = default; ++ ++ // Returns the current element of the generator ++ // ++ // \Precondition The generator is either freshly constructed, ++ // or the last call to `next()` returned true ++ virtual T const& get() const = 0; ++ using type = T; ++ }; + +-template +-class SingleValueGenerator final : public IGenerator { +- T m_value; +- public: +- SingleValueGenerator(T&& value) : m_value(std::move(value)) {} ++ template ++ class SingleValueGenerator final : public IGenerator { ++ T m_value; ++ public: ++ SingleValueGenerator(T&& value) : m_value(std::move(value)) {} + +- T const& get() const override { +- return m_value; +- } +- bool next() override { +- return false; +- } +-}; ++ T const& get() const override { ++ return m_value; ++ } ++ bool next() override { ++ return false; ++ } ++ }; + +-template +-class FixedValuesGenerator final : public IGenerator { +- static_assert(!std::is_same::value, +- "FixedValuesGenerator does not support bools because of std::vector" +- "specialization, use SingleValue Generator instead."); +- std::vector m_values; +- size_t m_idx = 0; +- public: +- FixedValuesGenerator( std::initializer_list values ) : m_values( values ) {} +- +- T const& get() const override { +- return m_values[m_idx]; +- } +- bool next() override { +- ++m_idx; +- return m_idx < m_values.size(); +- } +-}; ++ template ++ class FixedValuesGenerator final : public IGenerator { ++ static_assert(!std::is_same::value, ++ "FixedValuesGenerator does not support bools because of std::vector" ++ "specialization, use SingleValue Generator instead."); ++ std::vector m_values; ++ size_t m_idx = 0; ++ public: ++ FixedValuesGenerator( std::initializer_list values ) : m_values( values ) {} + +-template +-class GeneratorWrapper final { +- std::unique_ptr> m_generator; +- public: +- GeneratorWrapper(std::unique_ptr> generator): +- m_generator(std::move(generator)) +- {} +- T const& get() const { +- return m_generator->get(); +- } +- bool next() { +- return m_generator->next(); +- } +-}; ++ T const& get() const override { ++ return m_values[m_idx]; ++ } ++ bool next() override { ++ ++m_idx; ++ return m_idx < m_values.size(); ++ } ++ }; + +-template +-GeneratorWrapper value(T&& value) { +- return GeneratorWrapper(pf::make_unique>(std::forward(value))); +-} +-template +-GeneratorWrapper values(std::initializer_list values) { +- return GeneratorWrapper(pf::make_unique>(values)); +-} ++ template ++ class GeneratorWrapper final { ++ std::unique_ptr> m_generator; ++ public: ++ GeneratorWrapper(std::unique_ptr> generator): ++ m_generator(std::move(generator)) ++ {} ++ T const& get() const { ++ return m_generator->get(); ++ } ++ bool next() { ++ return m_generator->next(); ++ } ++ }; + +-template +-class Generators : public IGenerator { +- std::vector> m_generators; +- size_t m_current = 0; ++ template ++ GeneratorWrapper value(T&& value) { ++ return GeneratorWrapper(pf::make_unique>(std::forward(value))); ++ } ++ template ++ GeneratorWrapper values(std::initializer_list values) { ++ return GeneratorWrapper(pf::make_unique>(values)); ++ } + +- void populate(GeneratorWrapper&& generator) { +- m_generators.emplace_back(std::move(generator)); +- } +- void populate(T&& val) { +- m_generators.emplace_back(value(std::forward(val))); +- } +- template +- void populate(U&& val) { +- populate(T(std::forward(val))); +- } +- template +- void populate(U&& valueOrGenerator, Gs &&... moreGenerators) { +- populate(std::forward(valueOrGenerator)); +- populate(std::forward(moreGenerators)...); +- } ++ template ++ class Generators : public IGenerator { ++ std::vector> m_generators; ++ size_t m_current = 0; + +- public: +- template +- Generators(Gs &&... moreGenerators) { +- m_generators.reserve(sizeof...(Gs)); +- populate(std::forward(moreGenerators)...); +- } ++ void populate(GeneratorWrapper&& generator) { ++ m_generators.emplace_back(std::move(generator)); ++ } ++ void populate(T&& val) { ++ m_generators.emplace_back(value(std::forward(val))); ++ } ++ template ++ void populate(U&& val) { ++ populate(T(std::forward(val))); ++ } ++ template ++ void populate(U&& valueOrGenerator, Gs &&... moreGenerators) { ++ populate(std::forward(valueOrGenerator)); ++ populate(std::forward(moreGenerators)...); ++ } + +- T const& get() const override { +- return m_generators[m_current].get(); +- } ++ public: ++ template ++ Generators(Gs &&... moreGenerators) { ++ m_generators.reserve(sizeof...(Gs)); ++ populate(std::forward(moreGenerators)...); ++ } + +- bool next() override { +- if (m_current >= m_generators.size()) { +- return false; +- } +- const bool current_status = m_generators[m_current].next(); +- if (!current_status) { +- ++m_current; +- } +- return m_current < m_generators.size(); +- } +-}; ++ T const& get() const override { ++ return m_generators[m_current].get(); ++ } + +-template +-GeneratorWrapper> table( std::initializer_list::type...>> tuples ) { +- return values>( tuples ); +-} ++ bool next() override { ++ if (m_current >= m_generators.size()) { ++ return false; ++ } ++ const bool current_status = m_generators[m_current].next(); ++ if (!current_status) { ++ ++m_current; ++ } ++ return m_current < m_generators.size(); ++ } ++ }; + +-// Tag type to signal that a generator sequence should convert arguments to a specific type +-template +-struct as {}; ++ template ++ GeneratorWrapper> table( std::initializer_list::type...>> tuples ) { ++ return values>( tuples ); ++ } + +-template +-auto makeGenerators( GeneratorWrapper&& generator, Gs &&... moreGenerators ) -> Generators { +- return Generators(std::move(generator), std::forward(moreGenerators)...); +-} +-template +-auto makeGenerators( GeneratorWrapper&& generator ) -> Generators { +- return Generators(std::move(generator)); +-} +-template +-auto makeGenerators( T&& val, Gs &&... moreGenerators ) -> Generators { +- return makeGenerators( value( std::forward( val ) ), std::forward( moreGenerators )... ); +-} +-template +-auto makeGenerators( as, U&& val, Gs &&... moreGenerators ) -> Generators { +- return makeGenerators( value( T( std::forward( val ) ) ), std::forward( moreGenerators )... ); +-} ++ // Tag type to signal that a generator sequence should convert arguments to a specific type ++ template ++ struct as {}; + +-auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; ++ template ++ auto makeGenerators( GeneratorWrapper&& generator, Gs &&... moreGenerators ) -> Generators { ++ return Generators(std::move(generator), std::forward(moreGenerators)...); ++ } ++ template ++ auto makeGenerators( GeneratorWrapper&& generator ) -> Generators { ++ return Generators(std::move(generator)); ++ } ++ template ++ auto makeGenerators( T&& val, Gs &&... moreGenerators ) -> Generators { ++ return makeGenerators( value( std::forward( val ) ), std::forward( moreGenerators )... ); ++ } ++ template ++ auto makeGenerators( as, U&& val, Gs &&... moreGenerators ) -> Generators { ++ return makeGenerators( value( T( std::forward( val ) ) ), std::forward( moreGenerators )... ); ++ } + +-template +-// Note: The type after -> is weird, because VS2015 cannot parse +-// the expression used in the typedef inside, when it is in +-// return type. Yeah. +-auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { +- using UnderlyingType = typename decltype(generatorExpression())::type; ++ auto acquireGeneratorTracker( StringRef generatorName, SourceLineInfo const& lineInfo ) -> IGeneratorTracker&; + +- IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo ); +- if (!tracker.hasGenerator()) { +- tracker.setGenerator(pf::make_unique>(generatorExpression())); +- } ++ template ++ // Note: The type after -> is weird, because VS2015 cannot parse ++ // the expression used in the typedef inside, when it is in ++ // return type. Yeah. ++ auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& generatorExpression ) -> decltype(std::declval().get()) { ++ using UnderlyingType = typename decltype(generatorExpression())::type; + +- auto const& generator = static_cast const&>( *tracker.getGenerator() ); +- return generator.get(); +-} ++ IGeneratorTracker& tracker = acquireGeneratorTracker( generatorName, lineInfo ); ++ if (!tracker.hasGenerator()) { ++ tracker.setGenerator(pf::make_unique>(generatorExpression())); ++ } ++ ++ auto const& generator = static_cast const&>( *tracker.getGenerator() ); ++ return generator.get(); ++ } + + } // namespace Generators + } // namespace Catch +@@ -4111,220 +4116,225 @@ auto generate( StringRef generatorName, SourceLineInfo const& lineInfo, L const& + namespace Catch { + namespace Generators { + +-template +-class TakeGenerator : public IGenerator { +- GeneratorWrapper m_generator; +- size_t m_returned = 0; +- size_t m_target; +- public: +- TakeGenerator(size_t target, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_target(target) +- { +- assert(target != 0 && "Empty generators are not allowed"); +- } +- T const& get() const override { +- return m_generator.get(); +- } +- bool next() override { +- ++m_returned; +- if (m_returned >= m_target) { +- return false; +- } +- +- const auto success = m_generator.next(); +- // If the underlying generator does not contain enough values +- // then we cut short as well +- if (!success) { +- m_returned = m_target; +- } +- return success; +- } +-}; ++ template ++ class TakeGenerator : public IGenerator { ++ GeneratorWrapper m_generator; ++ size_t m_returned = 0; ++ size_t m_target; ++ public: ++ TakeGenerator(size_t target, GeneratorWrapper&& generator): ++ m_generator(std::move(generator)), ++ m_target(target) ++ { ++ assert(target != 0 && "Empty generators are not allowed"); ++ } ++ T const& get() const override { ++ return m_generator.get(); ++ } ++ bool next() override { ++ ++m_returned; ++ if (m_returned >= m_target) { ++ return false; ++ } + +-template +-GeneratorWrapper take(size_t target, GeneratorWrapper&& generator) { +- return GeneratorWrapper(pf::make_unique>(target, std::move(generator))); +-} ++ const auto success = m_generator.next(); ++ // If the underlying generator does not contain enough values ++ // then we cut short as well ++ if (!success) { ++ m_returned = m_target; ++ } ++ return success; ++ } ++ }; + +-template +-class FilterGenerator : public IGenerator { +- GeneratorWrapper m_generator; +- Predicate m_predicate; +- public: +- template +- FilterGenerator(P&& pred, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_predicate(std::forward

(pred)) +- { +- if (!m_predicate(m_generator.get())) { +- // It might happen that there are no values that pass the +- // filter. In that case we throw an exception. +- auto has_initial_value = next(); +- if (!has_initial_value) { +- Catch::throw_exception(GeneratorException("No valid value found in filtered generator")); +- } ++ template ++ GeneratorWrapper take(size_t target, GeneratorWrapper&& generator) { ++ return GeneratorWrapper(pf::make_unique>(target, std::move(generator))); + } +- } + +- T const& get() const override { +- return m_generator.get(); +- } ++ template ++ class FilterGenerator : public IGenerator { ++ GeneratorWrapper m_generator; ++ Predicate m_predicate; ++ public: ++ template ++ FilterGenerator(P&& pred, GeneratorWrapper&& generator): ++ m_generator(std::move(generator)), ++ m_predicate(std::forward

(pred)) ++ { ++ if (!m_predicate(m_generator.get())) { ++ // It might happen that there are no values that pass the ++ // filter. In that case we throw an exception. ++ auto has_initial_value = nextImpl(); ++ if (!has_initial_value) { ++ Catch::throw_exception(GeneratorException("No valid value found in filtered generator")); ++ } ++ } ++ } + +- bool next() override { +- bool success = m_generator.next(); +- if (!success) { +- return false; +- } +- while (!m_predicate(m_generator.get()) && (success = m_generator.next())); +- return success; +- } +-}; ++ T const& get() const override { ++ return m_generator.get(); ++ } + +-template +-GeneratorWrapper filter(Predicate&& pred, GeneratorWrapper&& generator) { +- return GeneratorWrapper(std::unique_ptr>(pf::make_unique>(std::forward(pred), std::move(generator)))); +-} ++ bool next() override { ++ return nextImpl(); ++ } + +-template +-class RepeatGenerator : public IGenerator { +- static_assert(!std::is_same::value, +- "RepeatGenerator currently does not support bools" +- "because of std::vector specialization"); +- GeneratorWrapper m_generator; +- mutable std::vector m_returned; +- size_t m_target_repeats; +- size_t m_current_repeat = 0; +- size_t m_repeat_index = 0; +- public: +- RepeatGenerator(size_t repeats, GeneratorWrapper&& generator): +- m_generator(std::move(generator)), +- m_target_repeats(repeats) +- { +- assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); +- } ++ private: ++ bool nextImpl() { ++ bool success = m_generator.next(); ++ if (!success) { ++ return false; ++ } ++ while (!m_predicate(m_generator.get()) && (success = m_generator.next()) == true); ++ return success; ++ } ++ }; + +- T const& get() const override { +- if (m_current_repeat == 0) { +- m_returned.push_back(m_generator.get()); +- return m_returned.back(); ++ template ++ GeneratorWrapper filter(Predicate&& pred, GeneratorWrapper&& generator) { ++ return GeneratorWrapper(std::unique_ptr>(pf::make_unique>(std::forward(pred), std::move(generator)))); + } +- return m_returned[m_repeat_index]; +- } + +- bool next() override { +- // There are 2 basic cases: +- // 1) We are still reading the generator +- // 2) We are reading our own cache +- +- // In the first case, we need to poke the underlying generator. +- // If it happily moves, we are left in that state, otherwise it is time to start reading from our cache +- if (m_current_repeat == 0) { +- const auto success = m_generator.next(); +- if (!success) { +- ++m_current_repeat; +- } +- return m_current_repeat < m_target_repeats; +- } ++ template ++ class RepeatGenerator : public IGenerator { ++ static_assert(!std::is_same::value, ++ "RepeatGenerator currently does not support bools" ++ "because of std::vector specialization"); ++ GeneratorWrapper m_generator; ++ mutable std::vector m_returned; ++ size_t m_target_repeats; ++ size_t m_current_repeat = 0; ++ size_t m_repeat_index = 0; ++ public: ++ RepeatGenerator(size_t repeats, GeneratorWrapper&& generator): ++ m_generator(std::move(generator)), ++ m_target_repeats(repeats) ++ { ++ assert(m_target_repeats > 0 && "Repeat generator must repeat at least once"); ++ } + +- // In the second case, we need to move indices forward and check that we haven't run up against the end +- ++m_repeat_index; +- if (m_repeat_index == m_returned.size()) { +- m_repeat_index = 0; +- ++m_current_repeat; +- } +- return m_current_repeat < m_target_repeats; +- } +-}; ++ T const& get() const override { ++ if (m_current_repeat == 0) { ++ m_returned.push_back(m_generator.get()); ++ return m_returned.back(); ++ } ++ return m_returned[m_repeat_index]; ++ } + +-template +-GeneratorWrapper repeat(size_t repeats, GeneratorWrapper&& generator) { +- return GeneratorWrapper(pf::make_unique>(repeats, std::move(generator))); +-} ++ bool next() override { ++ // There are 2 basic cases: ++ // 1) We are still reading the generator ++ // 2) We are reading our own cache + +-template +-class MapGenerator : public IGenerator { +- // TBD: provide static assert for mapping function, for friendly error message +- GeneratorWrapper m_generator; +- Func m_function; +- // To avoid returning dangling reference, we have to save the values +- T m_cache; +- public: +- template +- MapGenerator(F2&& function, GeneratorWrapper&& generator) : +- m_generator(std::move(generator)), +- m_function(std::forward(function)), +- m_cache(m_function(m_generator.get())) +- {} +- +- T const& get() const override { +- return m_cache; +- } +- bool next() override { +- const auto success = m_generator.next(); +- if (success) { +- m_cache = m_function(m_generator.get()); ++ // In the first case, we need to poke the underlying generator. ++ // If it happily moves, we are left in that state, otherwise it is time to start reading from our cache ++ if (m_current_repeat == 0) { ++ const auto success = m_generator.next(); ++ if (!success) { ++ ++m_current_repeat; ++ } ++ return m_current_repeat < m_target_repeats; ++ } ++ ++ // In the second case, we need to move indices forward and check that we haven't run up against the end ++ ++m_repeat_index; ++ if (m_repeat_index == m_returned.size()) { ++ m_repeat_index = 0; ++ ++m_current_repeat; ++ } ++ return m_current_repeat < m_target_repeats; ++ } ++ }; ++ ++ template ++ GeneratorWrapper repeat(size_t repeats, GeneratorWrapper&& generator) { ++ return GeneratorWrapper(pf::make_unique>(repeats, std::move(generator))); + } +- return success; +- } +-}; + +-template > +-GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { +- return GeneratorWrapper( +- pf::make_unique>(std::forward(function), std::move(generator)) +- ); +-} ++ template ++ class MapGenerator : public IGenerator { ++ // TBD: provide static assert for mapping function, for friendly error message ++ GeneratorWrapper m_generator; ++ Func m_function; ++ // To avoid returning dangling reference, we have to save the values ++ T m_cache; ++ public: ++ template ++ MapGenerator(F2&& function, GeneratorWrapper&& generator) : ++ m_generator(std::move(generator)), ++ m_function(std::forward(function)), ++ m_cache(m_function(m_generator.get())) ++ {} + +-template +-GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { +- return GeneratorWrapper( +- pf::make_unique>(std::forward(function), std::move(generator)) +- ); +-} ++ T const& get() const override { ++ return m_cache; ++ } ++ bool next() override { ++ const auto success = m_generator.next(); ++ if (success) { ++ m_cache = m_function(m_generator.get()); ++ } ++ return success; ++ } ++ }; + +-template +-class ChunkGenerator final : public IGenerator> { +- std::vector m_chunk; +- size_t m_chunk_size; +- GeneratorWrapper m_generator; +- bool m_used_up = false; +- public: +- ChunkGenerator(size_t size, GeneratorWrapper generator) : +- m_chunk_size(size), m_generator(std::move(generator)) +- { +- m_chunk.reserve(m_chunk_size); +- if (m_chunk_size != 0) { +- m_chunk.push_back(m_generator.get()); +- for (size_t i = 1; i < m_chunk_size; ++i) { +- if (!m_generator.next()) { +- Catch::throw_exception(GeneratorException("Not enough values to initialize the first chunk")); +- } +- m_chunk.push_back(m_generator.get()); +- } ++ template > ++ GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { ++ return GeneratorWrapper( ++ pf::make_unique>(std::forward(function), std::move(generator)) ++ ); + } +- } +- std::vector const& get() const override { +- return m_chunk; +- } +- bool next() override { +- m_chunk.clear(); +- for (size_t idx = 0; idx < m_chunk_size; ++idx) { +- if (!m_generator.next()) { +- return false; +- } +- m_chunk.push_back(m_generator.get()); ++ ++ template ++ GeneratorWrapper map(Func&& function, GeneratorWrapper&& generator) { ++ return GeneratorWrapper( ++ pf::make_unique>(std::forward(function), std::move(generator)) ++ ); + } +- return true; +- } +-}; + +-template +-GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& generator) { +- return GeneratorWrapper>( +- pf::make_unique>(size, std::move(generator)) +- ); +-} ++ template ++ class ChunkGenerator final : public IGenerator> { ++ std::vector m_chunk; ++ size_t m_chunk_size; ++ GeneratorWrapper m_generator; ++ bool m_used_up = false; ++ public: ++ ChunkGenerator(size_t size, GeneratorWrapper generator) : ++ m_chunk_size(size), m_generator(std::move(generator)) ++ { ++ m_chunk.reserve(m_chunk_size); ++ if (m_chunk_size != 0) { ++ m_chunk.push_back(m_generator.get()); ++ for (size_t i = 1; i < m_chunk_size; ++i) { ++ if (!m_generator.next()) { ++ Catch::throw_exception(GeneratorException("Not enough values to initialize the first chunk")); ++ } ++ m_chunk.push_back(m_generator.get()); ++ } ++ } ++ } ++ std::vector const& get() const override { ++ return m_chunk; ++ } ++ bool next() override { ++ m_chunk.clear(); ++ for (size_t idx = 0; idx < m_chunk_size; ++idx) { ++ if (!m_generator.next()) { ++ return false; ++ } ++ m_chunk.push_back(m_generator.get()); ++ } ++ return true; ++ } ++ }; ++ ++ template ++ GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& generator) { ++ return GeneratorWrapper>( ++ pf::make_unique>(size, std::move(generator)) ++ ); ++ } + + } // namespace Generators + } // namespace Catch +@@ -4338,53 +4348,53 @@ GeneratorWrapper> chunk(size_t size, GeneratorWrapper&& genera + + namespace Catch { + +-struct IResultCapture; +-struct IRunner; +-struct IConfig; +-struct IMutableContext; ++ struct IResultCapture; ++ struct IRunner; ++ struct IConfig; ++ struct IMutableContext; + +-using IConfigPtr = std::shared_ptr; ++ using IConfigPtr = std::shared_ptr; + +-struct IContext +-{ +- virtual ~IContext(); ++ struct IContext ++ { ++ virtual ~IContext(); + +- virtual IResultCapture* getResultCapture() = 0; +- virtual IRunner* getRunner() = 0; +- virtual IConfigPtr const& getConfig() const = 0; +-}; ++ virtual IResultCapture* getResultCapture() = 0; ++ virtual IRunner* getRunner() = 0; ++ virtual IConfigPtr const& getConfig() const = 0; ++ }; + +-struct IMutableContext : IContext +-{ +- virtual ~IMutableContext(); +- virtual void setResultCapture( IResultCapture* resultCapture ) = 0; +- virtual void setRunner( IRunner* runner ) = 0; +- virtual void setConfig( IConfigPtr const& config ) = 0; +- +- private: +- static IMutableContext *currentContext; +- friend IMutableContext& getCurrentMutableContext(); +- friend void cleanUpContext(); +- static void createContext(); +-}; ++ struct IMutableContext : IContext ++ { ++ virtual ~IMutableContext(); ++ virtual void setResultCapture( IResultCapture* resultCapture ) = 0; ++ virtual void setRunner( IRunner* runner ) = 0; ++ virtual void setConfig( IConfigPtr const& config ) = 0; + +-inline IMutableContext& getCurrentMutableContext() +-{ +- if( !IMutableContext::currentContext ) +- IMutableContext::createContext(); +- // NOLINTNEXTLINE(clang-analyzer-core.uninitialized.UndefReturn) +- return *IMutableContext::currentContext; +-} ++ private: ++ static IMutableContext *currentContext; ++ friend IMutableContext& getCurrentMutableContext(); ++ friend void cleanUpContext(); ++ static void createContext(); ++ }; + +-inline IContext& getCurrentContext() +-{ +- return getCurrentMutableContext(); +-} ++ inline IMutableContext& getCurrentMutableContext() ++ { ++ if( !IMutableContext::currentContext ) ++ IMutableContext::createContext(); ++ // NOLINTNEXTLINE(clang-analyzer-core.uninitialized.UndefReturn) ++ return *IMutableContext::currentContext; ++ } + +-void cleanUpContext(); ++ inline IContext& getCurrentContext() ++ { ++ return getCurrentMutableContext(); ++ } + +-class SimplePcg32; +-SimplePcg32& rng(); ++ void cleanUpContext(); ++ ++ class SimplePcg32; ++ SimplePcg32& rng(); + } + + // end catch_context.h +@@ -4394,63 +4404,63 @@ SimplePcg32& rng(); + + namespace Catch { + +-// An optional type +-template +-class Option { +- public: +- Option() : nullableValue( nullptr ) {} +- Option( T const& _value ) +- : nullableValue( new( storage ) T( _value ) ) +- {} +- Option( Option const& _other ) +- : nullableValue( _other ? new( storage ) T( *_other ) : nullptr ) +- {} +- +- ~Option() { +- reset(); +- } ++ // An optional type ++ template ++ class Option { ++ public: ++ Option() : nullableValue( nullptr ) {} ++ Option( T const& _value ) ++ : nullableValue( new( storage ) T( _value ) ) ++ {} ++ Option( Option const& _other ) ++ : nullableValue( _other ? new( storage ) T( *_other ) : nullptr ) ++ {} + +- Option& operator= ( Option const& _other ) { +- if( &_other != this ) { +- reset(); +- if( _other ) +- nullableValue = new( storage ) T( *_other ); +- } +- return *this; +- } +- Option& operator = ( T const& _value ) { +- reset(); +- nullableValue = new( storage ) T( _value ); +- return *this; +- } ++ ~Option() { ++ reset(); ++ } + +- void reset() { +- if( nullableValue ) +- nullableValue->~T(); +- nullableValue = nullptr; +- } ++ Option& operator= ( Option const& _other ) { ++ if( &_other != this ) { ++ reset(); ++ if( _other ) ++ nullableValue = new( storage ) T( *_other ); ++ } ++ return *this; ++ } ++ Option& operator = ( T const& _value ) { ++ reset(); ++ nullableValue = new( storage ) T( _value ); ++ return *this; ++ } ++ ++ void reset() { ++ if( nullableValue ) ++ nullableValue->~T(); ++ nullableValue = nullptr; ++ } + +- T& operator*() { return *nullableValue; } +- T const& operator*() const { return *nullableValue; } +- T* operator->() { return nullableValue; } +- const T* operator->() const { return nullableValue; } ++ T& operator*() { return *nullableValue; } ++ T const& operator*() const { return *nullableValue; } ++ T* operator->() { return nullableValue; } ++ const T* operator->() const { return nullableValue; } + +- T valueOr( T const& defaultValue ) const { +- return nullableValue ? *nullableValue : defaultValue; +- } ++ T valueOr( T const& defaultValue ) const { ++ return nullableValue ? *nullableValue : defaultValue; ++ } + +- bool some() const { return nullableValue != nullptr; } +- bool none() const { return nullableValue == nullptr; } ++ bool some() const { return nullableValue != nullptr; } ++ bool none() const { return nullableValue == nullptr; } + +- bool operator !() const { return nullableValue == nullptr; } +- explicit operator bool() const { +- return some(); +- } ++ bool operator !() const { return nullableValue == nullptr; } ++ explicit operator bool() const { ++ return some(); ++ } + +- private: +- T *nullableValue; +- alignas(alignof(T)) char storage[sizeof(T)]; +-}; ++ private: ++ T *nullableValue; ++ alignas(alignof(T)) char storage[sizeof(T)]; ++ }; + + } // end namespace Catch + +@@ -4463,74 +4473,74 @@ class Option { + + namespace Catch { + +-enum class Verbosity { +- Quiet = 0, +- Normal, +- High +-}; ++ enum class Verbosity { ++ Quiet = 0, ++ Normal, ++ High ++ }; + +-struct WarnAbout { enum What { +- Nothing = 0x00, +- NoAssertions = 0x01, +- NoTests = 0x02 +- }; }; +- +-struct ShowDurations { enum OrNot { +- DefaultForReporter, +- Always, +- Never +- }; }; +-struct RunTests { enum InWhatOrder { +- InDeclarationOrder, +- InLexicographicalOrder, +- InRandomOrder +- }; }; +-struct UseColour { enum YesOrNo { +- Auto, +- Yes, +- No +- }; }; +-struct WaitForKeypress { enum When { +- Never, +- BeforeStart = 1, +- BeforeExit = 2, +- BeforeStartAndExit = BeforeStart | BeforeExit +- }; }; +- +-class TestSpec; +- +-struct IConfig : NonCopyable { +- +- virtual ~IConfig(); +- +- virtual bool allowThrows() const = 0; +- virtual std::ostream& stream() const = 0; +- virtual std::string name() const = 0; +- virtual bool includeSuccessfulResults() const = 0; +- virtual bool shouldDebugBreak() const = 0; +- virtual bool warnAboutMissingAssertions() const = 0; +- virtual bool warnAboutNoTests() const = 0; +- virtual int abortAfter() const = 0; +- virtual bool showInvisibles() const = 0; +- virtual ShowDurations::OrNot showDurations() const = 0; +- virtual double minDuration() const = 0; +- virtual TestSpec const& testSpec() const = 0; +- virtual bool hasTestFilters() const = 0; +- virtual std::vector const& getTestsOrTags() const = 0; +- virtual RunTests::InWhatOrder runOrder() const = 0; +- virtual unsigned int rngSeed() const = 0; +- virtual UseColour::YesOrNo useColour() const = 0; +- virtual std::vector const& getSectionsToRun() const = 0; +- virtual Verbosity verbosity() const = 0; +- +- virtual bool benchmarkNoAnalysis() const = 0; +- virtual int benchmarkSamples() const = 0; +- virtual double benchmarkConfidenceInterval() const = 0; +- virtual unsigned int benchmarkResamples() const = 0; +- virtual std::chrono::milliseconds benchmarkWarmupTime() const = 0; +-}; ++ struct WarnAbout { enum What { ++ Nothing = 0x00, ++ NoAssertions = 0x01, ++ NoTests = 0x02 ++ }; }; ++ ++ struct ShowDurations { enum OrNot { ++ DefaultForReporter, ++ Always, ++ Never ++ }; }; ++ struct RunTests { enum InWhatOrder { ++ InDeclarationOrder, ++ InLexicographicalOrder, ++ InRandomOrder ++ }; }; ++ struct UseColour { enum YesOrNo { ++ Auto, ++ Yes, ++ No ++ }; }; ++ struct WaitForKeypress { enum When { ++ Never, ++ BeforeStart = 1, ++ BeforeExit = 2, ++ BeforeStartAndExit = BeforeStart | BeforeExit ++ }; }; ++ ++ class TestSpec; ++ ++ struct IConfig : NonCopyable { ++ ++ virtual ~IConfig(); ++ ++ virtual bool allowThrows() const = 0; ++ virtual std::ostream& stream() const = 0; ++ virtual std::string name() const = 0; ++ virtual bool includeSuccessfulResults() const = 0; ++ virtual bool shouldDebugBreak() const = 0; ++ virtual bool warnAboutMissingAssertions() const = 0; ++ virtual bool warnAboutNoTests() const = 0; ++ virtual int abortAfter() const = 0; ++ virtual bool showInvisibles() const = 0; ++ virtual ShowDurations::OrNot showDurations() const = 0; ++ virtual double minDuration() const = 0; ++ virtual TestSpec const& testSpec() const = 0; ++ virtual bool hasTestFilters() const = 0; ++ virtual std::vector const& getTestsOrTags() const = 0; ++ virtual RunTests::InWhatOrder runOrder() const = 0; ++ virtual unsigned int rngSeed() const = 0; ++ virtual UseColour::YesOrNo useColour() const = 0; ++ virtual std::vector const& getSectionsToRun() const = 0; ++ virtual Verbosity verbosity() const = 0; ++ ++ virtual bool benchmarkNoAnalysis() const = 0; ++ virtual int benchmarkSamples() const = 0; ++ virtual double benchmarkConfidenceInterval() const = 0; ++ virtual unsigned int benchmarkResamples() const = 0; ++ virtual std::chrono::milliseconds benchmarkWarmupTime() const = 0; ++ }; + +-using IConfigPtr = std::shared_ptr; ++ using IConfigPtr = std::shared_ptr; + } + + // end catch_interfaces_config.h +@@ -4540,46 +4550,46 @@ using IConfigPtr = std::shared_ptr; + + namespace Catch { + +-// This is a simple implementation of C++11 Uniform Random Number +-// Generator. It does not provide all operators, because Catch2 +-// does not use it, but it should behave as expected inside stdlib's +-// distributions. +-// The implementation is based on the PCG family (http://pcg-random.org) +-class SimplePcg32 { +- using state_type = std::uint64_t; +- public: +- using result_type = std::uint32_t; +- static constexpr result_type (min)() { +- return 0; +- } +- static constexpr result_type (max)() { +- return static_cast(-1); +- } +- +- // Provide some default initial state for the default constructor +- SimplePcg32():SimplePcg32(0xed743cc4U) {} +- +- explicit SimplePcg32(result_type seed_); ++ // This is a simple implementation of C++11 Uniform Random Number ++ // Generator. It does not provide all operators, because Catch2 ++ // does not use it, but it should behave as expected inside stdlib's ++ // distributions. ++ // The implementation is based on the PCG family (http://pcg-random.org) ++ class SimplePcg32 { ++ using state_type = std::uint64_t; ++ public: ++ using result_type = std::uint32_t; ++ static constexpr result_type (min)() { ++ return 0; ++ } ++ static constexpr result_type (max)() { ++ return static_cast(-1); ++ } + +- void seed(result_type seed_); +- void discard(uint64_t skip); ++ // Provide some default initial state for the default constructor ++ SimplePcg32():SimplePcg32(0xed743cc4U) {} + +- result_type operator()(); ++ explicit SimplePcg32(result_type seed_); + +- private: +- friend bool operator==(SimplePcg32 const& lhs, SimplePcg32 const& rhs); +- friend bool operator!=(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ void seed(result_type seed_); ++ void discard(uint64_t skip); + +- // In theory we also need operator<< and operator>> +- // In practice we do not use them, so we will skip them for now ++ result_type operator()(); + +- std::uint64_t m_state; +- // This part of the state determines which "stream" of the numbers +- // is chosen -- we take it as a constant for Catch2, so we only +- // need to deal with seeding the main state. +- // Picked by reading 8 bytes from `/dev/random` :-) +- static const std::uint64_t s_inc = (0x13ed0cc53f939476ULL << 1ULL) | 1ULL; +-}; ++ private: ++ friend bool operator==(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ friend bool operator!=(SimplePcg32 const& lhs, SimplePcg32 const& rhs); ++ ++ // In theory we also need operator<< and operator>> ++ // In practice we do not use them, so we will skip them for now ++ ++ std::uint64_t m_state; ++ // This part of the state determines which "stream" of the numbers ++ // is chosen -- we take it as a constant for Catch2, so we only ++ // need to deal with seeding the main state. ++ // Picked by reading 8 bytes from `/dev/random` :-) ++ static const std::uint64_t s_inc = (0x13ed0cc53f939476ULL << 1ULL) | 1ULL; ++ }; + + } // end namespace Catch + +@@ -4591,150 +4601,150 @@ namespace Generators { + + template + class RandomFloatingGenerator final : public IGenerator { +- Catch::SimplePcg32& m_rng; +- std::uniform_real_distribution m_dist; +- Float m_current_number; +- public: +- +- RandomFloatingGenerator(Float a, Float b): +- m_rng(rng()), +- m_dist(a, b) { +- static_cast(next()); +- } ++ Catch::SimplePcg32& m_rng; ++ std::uniform_real_distribution m_dist; ++ Float m_current_number; ++public: + +- Float const& get() const override { +- return m_current_number; +- } +- bool next() override { +- m_current_number = m_dist(m_rng); +- return true; +- } ++ RandomFloatingGenerator(Float a, Float b): ++ m_rng(rng()), ++ m_dist(a, b) { ++ static_cast(next()); ++ } ++ ++ Float const& get() const override { ++ return m_current_number; ++ } ++ bool next() override { ++ m_current_number = m_dist(m_rng); ++ return true; ++ } + }; + + template + class RandomIntegerGenerator final : public IGenerator { +- Catch::SimplePcg32& m_rng; +- std::uniform_int_distribution m_dist; +- Integer m_current_number; +- public: +- +- RandomIntegerGenerator(Integer a, Integer b): +- m_rng(rng()), +- m_dist(a, b) { +- static_cast(next()); +- } ++ Catch::SimplePcg32& m_rng; ++ std::uniform_int_distribution m_dist; ++ Integer m_current_number; ++public: + +- Integer const& get() const override { +- return m_current_number; +- } +- bool next() override { +- m_current_number = m_dist(m_rng); +- return true; +- } ++ RandomIntegerGenerator(Integer a, Integer b): ++ m_rng(rng()), ++ m_dist(a, b) { ++ static_cast(next()); ++ } ++ ++ Integer const& get() const override { ++ return m_current_number; ++ } ++ bool next() override { ++ m_current_number = m_dist(m_rng); ++ return true; ++ } + }; + + // TODO: Ideally this would be also constrained against the various char types, + // but I don't expect users to run into that in practice. + template + typename std::enable_if::value && !std::is_same::value, +- GeneratorWrapper>::type ++GeneratorWrapper>::type + random(T a, T b) { +- return GeneratorWrapper( +- pf::make_unique>(a, b) +- ); ++ return GeneratorWrapper( ++ pf::make_unique>(a, b) ++ ); + } + + template + typename std::enable_if::value, +- GeneratorWrapper>::type ++GeneratorWrapper>::type + random(T a, T b) { +- return GeneratorWrapper( +- pf::make_unique>(a, b) +- ); ++ return GeneratorWrapper( ++ pf::make_unique>(a, b) ++ ); + } + + template + class RangeGenerator final : public IGenerator { +- T m_current; +- T m_end; +- T m_step; +- bool m_positive; +- +- public: +- RangeGenerator(T const& start, T const& end, T const& step): +- m_current(start), +- m_end(end), +- m_step(step), +- m_positive(m_step > T(0)) +- { +- assert(m_current != m_end && "Range start and end cannot be equal"); +- assert(m_step != T(0) && "Step size cannot be zero"); +- assert(((m_positive && m_current <= m_end) || (!m_positive && m_current >= m_end)) && "Step moves away from end"); +- } ++ T m_current; ++ T m_end; ++ T m_step; ++ bool m_positive; ++ ++public: ++ RangeGenerator(T const& start, T const& end, T const& step): ++ m_current(start), ++ m_end(end), ++ m_step(step), ++ m_positive(m_step > T(0)) ++ { ++ assert(m_current != m_end && "Range start and end cannot be equal"); ++ assert(m_step != T(0) && "Step size cannot be zero"); ++ assert(((m_positive && m_current <= m_end) || (!m_positive && m_current >= m_end)) && "Step moves away from end"); ++ } + +- RangeGenerator(T const& start, T const& end): +- RangeGenerator(start, end, (start < end) ? T(1) : T(-1)) +- {} ++ RangeGenerator(T const& start, T const& end): ++ RangeGenerator(start, end, (start < end) ? T(1) : T(-1)) ++ {} + +- T const& get() const override { +- return m_current; +- } ++ T const& get() const override { ++ return m_current; ++ } + +- bool next() override { +- m_current += m_step; +- return (m_positive) ? (m_current < m_end) : (m_current > m_end); +- } ++ bool next() override { ++ m_current += m_step; ++ return (m_positive) ? (m_current < m_end) : (m_current > m_end); ++ } + }; + + template + GeneratorWrapper range(T const& start, T const& end, T const& step) { +- static_assert(std::is_arithmetic::value && !std::is_same::value, "Type must be numeric"); +- return GeneratorWrapper(pf::make_unique>(start, end, step)); ++ static_assert(std::is_arithmetic::value && !std::is_same::value, "Type must be numeric"); ++ return GeneratorWrapper(pf::make_unique>(start, end, step)); + } + + template + GeneratorWrapper range(T const& start, T const& end) { +- static_assert(std::is_integral::value && !std::is_same::value, "Type must be an integer"); +- return GeneratorWrapper(pf::make_unique>(start, end)); ++ static_assert(std::is_integral::value && !std::is_same::value, "Type must be an integer"); ++ return GeneratorWrapper(pf::make_unique>(start, end)); + } + + template + class IteratorGenerator final : public IGenerator { +- static_assert(!std::is_same::value, +- "IteratorGenerator currently does not support bools" +- "because of std::vector specialization"); +- +- std::vector m_elems; +- size_t m_current = 0; +- public: +- template +- IteratorGenerator(InputIterator first, InputSentinel last):m_elems(first, last) { +- if (m_elems.empty()) { +- Catch::throw_exception(GeneratorException("IteratorGenerator received no valid values")); ++ static_assert(!std::is_same::value, ++ "IteratorGenerator currently does not support bools" ++ "because of std::vector specialization"); ++ ++ std::vector m_elems; ++ size_t m_current = 0; ++public: ++ template ++ IteratorGenerator(InputIterator first, InputSentinel last):m_elems(first, last) { ++ if (m_elems.empty()) { ++ Catch::throw_exception(GeneratorException("IteratorGenerator received no valid values")); ++ } + } +- } + +- T const& get() const override { +- return m_elems[m_current]; +- } ++ T const& get() const override { ++ return m_elems[m_current]; ++ } + +- bool next() override { +- ++m_current; +- return m_current != m_elems.size(); +- } ++ bool next() override { ++ ++m_current; ++ return m_current != m_elems.size(); ++ } + }; + + template ::value_type> ++ typename InputSentinel, ++ typename ResultType = typename std::iterator_traits::value_type> + GeneratorWrapper from_range(InputIterator from, InputSentinel to) { +- return GeneratorWrapper(pf::make_unique>(from, to)); ++ return GeneratorWrapper(pf::make_unique>(from, to)); + } + + template ++ typename ResultType = typename Container::value_type> + GeneratorWrapper from_range(Container const& cnt) { +- return GeneratorWrapper(pf::make_unique>(cnt.begin(), cnt.end())); ++ return GeneratorWrapper(pf::make_unique>(cnt.begin(), cnt.end())); + } + + } // namespace Generators +@@ -4757,65 +4767,65 @@ GeneratorWrapper from_range(Container const& cnt) { + + namespace Catch { + +-struct ITestInvoker; +- +-struct TestCaseInfo { +- enum SpecialProperties{ +- None = 0, +- IsHidden = 1 << 1, +- ShouldFail = 1 << 2, +- MayFail = 1 << 3, +- Throws = 1 << 4, +- NonPortable = 1 << 5, +- Benchmark = 1 << 6 +- }; +- +- TestCaseInfo( std::string const& _name, +- std::string const& _className, +- std::string const& _description, +- std::vector const& _tags, +- SourceLineInfo const& _lineInfo ); +- +- friend void setTags( TestCaseInfo& testCaseInfo, std::vector tags ); +- +- bool isHidden() const; +- bool throws() const; +- bool okToFail() const; +- bool expectedToFail() const; +- +- std::string tagsAsString() const; +- +- std::string name; +- std::string className; +- std::string description; +- std::vector tags; +- std::vector lcaseTags; +- SourceLineInfo lineInfo; +- SpecialProperties properties; +-}; ++ struct ITestInvoker; + +-class TestCase : public TestCaseInfo { +- public: ++ struct TestCaseInfo { ++ enum SpecialProperties{ ++ None = 0, ++ IsHidden = 1 << 1, ++ ShouldFail = 1 << 2, ++ MayFail = 1 << 3, ++ Throws = 1 << 4, ++ NonPortable = 1 << 5, ++ Benchmark = 1 << 6 ++ }; + +- TestCase( ITestInvoker* testCase, TestCaseInfo&& info ); ++ TestCaseInfo( std::string const& _name, ++ std::string const& _className, ++ std::string const& _description, ++ std::vector const& _tags, ++ SourceLineInfo const& _lineInfo ); + +- TestCase withName( std::string const& _newName ) const; ++ friend void setTags( TestCaseInfo& testCaseInfo, std::vector tags ); + +- void invoke() const; ++ bool isHidden() const; ++ bool throws() const; ++ bool okToFail() const; ++ bool expectedToFail() const; + +- TestCaseInfo const& getTestCaseInfo() const; ++ std::string tagsAsString() const; + +- bool operator == ( TestCase const& other ) const; +- bool operator < ( TestCase const& other ) const; ++ std::string name; ++ std::string className; ++ std::string description; ++ std::vector tags; ++ std::vector lcaseTags; ++ SourceLineInfo lineInfo; ++ SpecialProperties properties; ++ }; + +- private: +- std::shared_ptr test; +-}; ++ class TestCase : public TestCaseInfo { ++ public: ++ ++ TestCase( ITestInvoker* testCase, TestCaseInfo&& info ); ++ ++ TestCase withName( std::string const& _newName ) const; ++ ++ void invoke() const; ++ ++ TestCaseInfo const& getTestCaseInfo() const; ++ ++ bool operator == ( TestCase const& other ) const; ++ bool operator < ( TestCase const& other ) const; ++ ++ private: ++ std::shared_ptr test; ++ }; + +-TestCase makeTestCase( ITestInvoker* testCase, +- std::string const& className, +- NameAndTags const& nameAndTags, +- SourceLineInfo const& lineInfo ); ++ TestCase makeTestCase( ITestInvoker* testCase, ++ std::string const& className, ++ NameAndTags const& nameAndTags, ++ SourceLineInfo const& lineInfo ); + } + + #ifdef __clang__ +@@ -4827,10 +4837,10 @@ TestCase makeTestCase( ITestInvoker* testCase, + + namespace Catch { + +-struct IRunner { +- virtual ~IRunner(); +- virtual bool aborting() const = 0; +-}; ++ struct IRunner { ++ virtual ~IRunner(); ++ virtual bool aborting() const = 0; ++ }; + } + + // end catch_interfaces_runner.h +@@ -5455,6 +5465,8 @@ namespace Catch { + } // namespace Catch + + // end catch_outlier_classification.hpp ++ ++#include + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + #include +@@ -6339,9 +6351,10 @@ namespace Catch { + + void writeTestCase(TestCaseNode const& testCaseNode); + +- void writeSection(std::string const& className, +- std::string const& rootName, +- SectionNode const& sectionNode); ++ void writeSection( std::string const& className, ++ std::string const& rootName, ++ SectionNode const& sectionNode, ++ bool testOkToFail ); + + void writeAssertions(SectionNode const& sectionNode); + void writeAssertion(AssertionStats const& stats); +@@ -6876,7 +6889,7 @@ namespace Catch { + } + iters *= 2; + } +- throw optimized_away_error{}; ++ Catch::throw_exception(optimized_away_error{}); + } + } // namespace Detail + } // namespace Benchmark +@@ -6884,6 +6897,7 @@ namespace Catch { + + // end catch_run_for_at_least.hpp + #include ++#include + + namespace Catch { + namespace Benchmark { +@@ -7054,8 +7068,8 @@ namespace Catch { + double b2 = bias - z1; + double a1 = a(b1); + double a2 = a(b2); +- auto lo = std::max(cumn(a1), 0); +- auto hi = std::min(cumn(a2), n - 1); ++ auto lo = (std::max)(cumn(a1), 0); ++ auto hi = (std::min)(cumn(a2), n - 1); + + return { point, resample[lo], resample[hi], confidence_level }; + } +@@ -7124,7 +7138,9 @@ namespace Catch { + } + template + EnvironmentEstimate> estimate_clock_cost(FloatDuration resolution) { +- auto time_limit = std::min(resolution * clock_cost_estimation_tick_limit, FloatDuration(clock_cost_estimation_time_limit)); ++ auto time_limit = (std::min)( ++ resolution * clock_cost_estimation_tick_limit, ++ FloatDuration(clock_cost_estimation_time_limit)); + auto time_clock = [](int k) { + return Detail::measure([k] { + for (int i = 0; i < k; ++i) { +@@ -7379,8 +7395,6 @@ namespace Catch { + template + struct ObjectStorage + { +- using TStorage = typename std::aligned_storage::value>::type; +- + ObjectStorage() : data() {} + + ObjectStorage(const ObjectStorage& other) +@@ -7423,7 +7437,7 @@ namespace Catch { + return *static_cast(static_cast(&data)); + } + +- TStorage data; ++ struct { alignas(T) unsigned char data[sizeof(T)]; } data; + }; + } + +@@ -7771,7 +7785,7 @@ namespace Catch { + double sb = stddev.point; + double mn = mean.point / n; + double mg_min = mn / 2.; +- double sg = std::min(mg_min / 4., sb / std::sqrt(n)); ++ double sg = (std::min)(mg_min / 4., sb / std::sqrt(n)); + double sg2 = sg * sg; + double sb2 = sb * sb; + +@@ -7790,7 +7804,7 @@ namespace Catch { + return (nc / n) * (sb2 - nc * sg2); + }; + +- return std::min(var_out(1), var_out(std::min(c_max(0.), c_max(mg_min)))) / sb2; ++ return (std::min)(var_out(1), var_out((std::min)(c_max(0.), c_max(mg_min)))) / sb2; + } + + bootstrap_analysis analyse_samples(double confidence_level, int n_resamples, std::vector::iterator first, std::vector::iterator last) { +@@ -7933,7 +7947,7 @@ namespace Catch { + #if defined(__i386__) || defined(__x86_64__) + #define CATCH_TRAP() __asm__("int $3\n" : : ) /* NOLINT */ + #elif defined(__aarch64__) +- #define CATCH_TRAP() __asm__(".inst 0xd4200000") ++ #define CATCH_TRAP() __asm__(".inst 0xd43e0000") + #endif + + #elif defined(CATCH_PLATFORM_IPHONE) +@@ -7980,86 +7994,58 @@ namespace Catch { + + // start catch_fatal_condition.h + +-// start catch_windows_h_proxy.h +- +- +-#if defined(CATCH_PLATFORM_WINDOWS) +- +-#if !defined(NOMINMAX) && !defined(CATCH_CONFIG_NO_NOMINMAX) +-# define CATCH_DEFINED_NOMINMAX +-# define NOMINMAX +-#endif +-#if !defined(WIN32_LEAN_AND_MEAN) && !defined(CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN) +-# define CATCH_DEFINED_WIN32_LEAN_AND_MEAN +-# define WIN32_LEAN_AND_MEAN +-#endif +- +-#ifdef __AFXDLL +-#include +-#else +-#include +-#endif +- +-#ifdef CATCH_DEFINED_NOMINMAX +-# undef NOMINMAX +-#endif +-#ifdef CATCH_DEFINED_WIN32_LEAN_AND_MEAN +-# undef WIN32_LEAN_AND_MEAN +-#endif +- +-#endif // defined(CATCH_PLATFORM_WINDOWS) +- +-// end catch_windows_h_proxy.h +-#if defined( CATCH_CONFIG_WINDOWS_SEH ) ++#include + + namespace Catch { + +- struct FatalConditionHandler { +- +- static LONG CALLBACK handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo); ++ // Wrapper for platform-specific fatal error (signals/SEH) handlers ++ // ++ // Tries to be cooperative with other handlers, and not step over ++ // other handlers. This means that unknown structured exceptions ++ // are passed on, previous signal handlers are called, and so on. ++ // ++ // Can only be instantiated once, and assumes that once a signal ++ // is caught, the binary will end up terminating. Thus, there ++ class FatalConditionHandler { ++ bool m_started = false; ++ ++ // Install/disengage implementation for specific platform. ++ // Should be if-defed to work on current platform, can assume ++ // engage-disengage 1:1 pairing. ++ void engage_platform(); ++ void disengage_platform(); ++ public: ++ // Should also have platform-specific implementations as needed + FatalConditionHandler(); +- static void reset(); + ~FatalConditionHandler(); + +- private: +- static bool isSet; +- static ULONG guaranteeSize; +- static PVOID exceptionHandlerHandle; +- }; +- +-} // namespace Catch +- +-#elif defined ( CATCH_CONFIG_POSIX_SIGNALS ) +- +-#include +- +-namespace Catch { +- +- struct FatalConditionHandler { +- +- static bool isSet; +- static struct sigaction oldSigActions[]; +- static stack_t oldSigStack; +- static char altStackMem[]; +- +- static void handleSignal( int sig ); ++ void engage() { ++ assert(!m_started && "Handler cannot be installed twice."); ++ m_started = true; ++ engage_platform(); ++ } + +- FatalConditionHandler(); +- ~FatalConditionHandler(); +- static void reset(); ++ void disengage() { ++ assert(m_started && "Handler cannot be uninstalled without being installed first"); ++ m_started = false; ++ disengage_platform(); ++ } + }; + +-} // namespace Catch +- +-#else +- +-namespace Catch { +- struct FatalConditionHandler { +- void reset(); ++ //! Simple RAII guard for (dis)engaging the FatalConditionHandler ++ class FatalConditionHandlerGuard { ++ FatalConditionHandler* m_handler; ++ public: ++ FatalConditionHandlerGuard(FatalConditionHandler* handler): ++ m_handler(handler) { ++ m_handler->engage(); ++ } ++ ~FatalConditionHandlerGuard() { ++ m_handler->disengage(); ++ } + }; +-} + +-#endif ++} // end namespace Catch + + // end catch_fatal_condition.h + #include +@@ -8185,6 +8171,7 @@ namespace Catch { + std::vector m_unfinishedSections; + std::vector m_activeSections; + TrackerContext m_trackerContext; ++ FatalConditionHandler m_fatalConditionhandler; + bool m_lastAssertionPassed = false; + bool m_shouldReportUnexpected = true; + bool m_includeSuccessfulResults; +@@ -10057,6 +10044,36 @@ namespace Catch { + } + + // end catch_errno_guard.h ++// start catch_windows_h_proxy.h ++ ++ ++#if defined(CATCH_PLATFORM_WINDOWS) ++ ++#if !defined(NOMINMAX) && !defined(CATCH_CONFIG_NO_NOMINMAX) ++# define CATCH_DEFINED_NOMINMAX ++# define NOMINMAX ++#endif ++#if !defined(WIN32_LEAN_AND_MEAN) && !defined(CATCH_CONFIG_NO_WIN32_LEAN_AND_MEAN) ++# define CATCH_DEFINED_WIN32_LEAN_AND_MEAN ++# define WIN32_LEAN_AND_MEAN ++#endif ++ ++#ifdef __AFXDLL ++#include ++#else ++#include ++#endif ++ ++#ifdef CATCH_DEFINED_NOMINMAX ++# undef NOMINMAX ++#endif ++#ifdef CATCH_DEFINED_WIN32_LEAN_AND_MEAN ++# undef WIN32_LEAN_AND_MEAN ++#endif ++ ++#endif // defined(CATCH_PLATFORM_WINDOWS) ++ ++// end catch_windows_h_proxy.h + #include + + namespace Catch { +@@ -10573,7 +10590,7 @@ namespace Catch { + // Extracts the actual name part of an enum instance + // In other words, it returns the Blue part of Bikeshed::Colour::Blue + StringRef extractInstanceName(StringRef enumInstance) { +- // Find last occurence of ":" ++ // Find last occurrence of ":" + size_t name_start = enumInstance.size(); + while (name_start > 0 && enumInstance[name_start - 1] != ':') { + --name_start; +@@ -10735,25 +10752,47 @@ namespace Catch { + // end catch_exception_translator_registry.cpp + // start catch_fatal_condition.cpp + +-#if defined(__GNUC__) +-# pragma GCC diagnostic push +-# pragma GCC diagnostic ignored "-Wmissing-field-initializers" +-#endif ++#include ++ ++#if !defined( CATCH_CONFIG_WINDOWS_SEH ) && !defined( CATCH_CONFIG_POSIX_SIGNALS ) ++ ++namespace Catch { ++ ++ // If neither SEH nor signal handling is required, the handler impls ++ // do not have to do anything, and can be empty. ++ void FatalConditionHandler::engage_platform() {} ++ void FatalConditionHandler::disengage_platform() {} ++ FatalConditionHandler::FatalConditionHandler() = default; ++ FatalConditionHandler::~FatalConditionHandler() = default; ++ ++} // end namespace Catch ++ ++#endif // !CATCH_CONFIG_WINDOWS_SEH && !CATCH_CONFIG_POSIX_SIGNALS ++ ++#if defined( CATCH_CONFIG_WINDOWS_SEH ) && defined( CATCH_CONFIG_POSIX_SIGNALS ) ++#error "Inconsistent configuration: Windows' SEH handling and POSIX signals cannot be enabled at the same time" ++#endif // CATCH_CONFIG_WINDOWS_SEH && CATCH_CONFIG_POSIX_SIGNALS + + #if defined( CATCH_CONFIG_WINDOWS_SEH ) || defined( CATCH_CONFIG_POSIX_SIGNALS ) + + namespace { +- // Report the error condition ++ //! Signals fatal error message to the run context + void reportFatal( char const * const message ) { + Catch::getCurrentContext().getResultCapture()->handleFatalErrorCondition( message ); + } +-} + +-#endif // signals/SEH handling ++ //! Minimal size Catch2 needs for its own fatal error handling. ++ //! Picked anecdotally, so it might not be sufficient on all ++ //! platforms, and for all configurations. ++ constexpr std::size_t minStackSizeForErrors = 32 * 1024; ++} // end unnamed namespace ++ ++#endif // CATCH_CONFIG_WINDOWS_SEH || CATCH_CONFIG_POSIX_SIGNALS + + #if defined( CATCH_CONFIG_WINDOWS_SEH ) + + namespace Catch { ++ + struct SignalDefs { DWORD id; const char* name; }; + + // There is no 1-1 mapping between signals and windows exceptions. +@@ -10766,7 +10805,7 @@ namespace Catch { + { static_cast(EXCEPTION_INT_DIVIDE_BY_ZERO), "Divide by zero error" }, + }; + +- LONG CALLBACK FatalConditionHandler::handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo) { ++ static LONG CALLBACK handleVectoredException(PEXCEPTION_POINTERS ExceptionInfo) { + for (auto const& def : signalDefs) { + if (ExceptionInfo->ExceptionRecord->ExceptionCode == def.id) { + reportFatal(def.name); +@@ -10777,38 +10816,50 @@ namespace Catch { + return EXCEPTION_CONTINUE_SEARCH; + } + ++ // Since we do not support multiple instantiations, we put these ++ // into global variables and rely on cleaning them up in outlined ++ // constructors/destructors ++ static PVOID exceptionHandlerHandle = nullptr; ++ ++ // For MSVC, we reserve part of the stack memory for handling ++ // memory overflow structured exception. + FatalConditionHandler::FatalConditionHandler() { +- isSet = true; +- // 32k seems enough for Catch to handle stack overflow, +- // but the value was found experimentally, so there is no strong guarantee +- guaranteeSize = 32 * 1024; +- exceptionHandlerHandle = nullptr; ++ ULONG guaranteeSize = static_cast(minStackSizeForErrors); ++ if (!SetThreadStackGuarantee(&guaranteeSize)) { ++ // We do not want to fully error out, because needing ++ // the stack reserve should be rare enough anyway. ++ Catch::cerr() ++ << "Failed to reserve piece of stack." ++ << " Stack overflows will not be reported successfully."; ++ } ++ } ++ ++ // We do not attempt to unset the stack guarantee, because ++ // Windows does not support lowering the stack size guarantee. ++ FatalConditionHandler::~FatalConditionHandler() = default; ++ ++ void FatalConditionHandler::engage_platform() { + // Register as first handler in current chain + exceptionHandlerHandle = AddVectoredExceptionHandler(1, handleVectoredException); +- // Pass in guarantee size to be filled +- SetThreadStackGuarantee(&guaranteeSize); ++ if (!exceptionHandlerHandle) { ++ CATCH_RUNTIME_ERROR("Could not register vectored exception handler"); ++ } + } + +- void FatalConditionHandler::reset() { +- if (isSet) { +- RemoveVectoredExceptionHandler(exceptionHandlerHandle); +- SetThreadStackGuarantee(&guaranteeSize); +- exceptionHandlerHandle = nullptr; +- isSet = false; ++ void FatalConditionHandler::disengage_platform() { ++ if (!RemoveVectoredExceptionHandler(exceptionHandlerHandle)) { ++ CATCH_RUNTIME_ERROR("Could not unregister vectored exception handler"); + } ++ exceptionHandlerHandle = nullptr; + } + +- FatalConditionHandler::~FatalConditionHandler() { +- reset(); +- } ++} // end namespace Catch + +-bool FatalConditionHandler::isSet = false; +-ULONG FatalConditionHandler::guaranteeSize = 0; +-PVOID FatalConditionHandler::exceptionHandlerHandle = nullptr; ++#endif // CATCH_CONFIG_WINDOWS_SEH + +-} // namespace Catch ++#if defined( CATCH_CONFIG_POSIX_SIGNALS ) + +-#elif defined( CATCH_CONFIG_POSIX_SIGNALS ) ++#include + + namespace Catch { + +@@ -10817,10 +10868,6 @@ namespace Catch { + const char* name; + }; + +- // 32kb for the alternate stack seems to be sufficient. However, this value +- // is experimentally determined, so that's not guaranteed. +- static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; +- + static SignalDefs signalDefs[] = { + { SIGINT, "SIGINT - Terminal interrupt signal" }, + { SIGILL, "SIGILL - Illegal instruction signal" }, +@@ -10830,7 +10877,32 @@ namespace Catch { + { SIGABRT, "SIGABRT - Abort (abnormal termination) signal" } + }; + +- void FatalConditionHandler::handleSignal( int sig ) { ++// Older GCCs trigger -Wmissing-field-initializers for T foo = {} ++// which is zero initialization, but not explicit. We want to avoid ++// that. ++#if defined(__GNUC__) ++# pragma GCC diagnostic push ++# pragma GCC diagnostic ignored "-Wmissing-field-initializers" ++#endif ++ ++ static char* altStackMem = nullptr; ++ static std::size_t altStackSize = 0; ++ static stack_t oldSigStack{}; ++ static struct sigaction oldSigActions[sizeof(signalDefs) / sizeof(SignalDefs)]{}; ++ ++ static void restorePreviousSignalHandlers() { ++ // We set signal handlers back to the previous ones. Hopefully ++ // nobody overwrote them in the meantime, and doesn't expect ++ // their signal handlers to live past ours given that they ++ // installed them after ours.. ++ for (std::size_t i = 0; i < sizeof(signalDefs) / sizeof(SignalDefs); ++i) { ++ sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); ++ } ++ // Return the old stack ++ sigaltstack(&oldSigStack, nullptr); ++ } ++ ++ static void handleSignal( int sig ) { + char const * name = ""; + for (auto const& def : signalDefs) { + if (sig == def.id) { +@@ -10838,16 +10910,33 @@ namespace Catch { + break; + } + } +- reset(); +- reportFatal(name); ++ // We need to restore previous signal handlers and let them do ++ // their thing, so that the users can have the debugger break ++ // when a signal is raised, and so on. ++ restorePreviousSignalHandlers(); ++ reportFatal( name ); + raise( sig ); + } + + FatalConditionHandler::FatalConditionHandler() { +- isSet = true; ++ assert(!altStackMem && "Cannot initialize POSIX signal handler when one already exists"); ++ if (altStackSize == 0) { ++ altStackSize = std::max(static_cast(SIGSTKSZ), minStackSizeForErrors); ++ } ++ altStackMem = new char[altStackSize](); ++ } ++ ++ FatalConditionHandler::~FatalConditionHandler() { ++ delete[] altStackMem; ++ // We signal that another instance can be constructed by zeroing ++ // out the pointer. ++ altStackMem = nullptr; ++ } ++ ++ void FatalConditionHandler::engage_platform() { + stack_t sigStack; + sigStack.ss_sp = altStackMem; +- sigStack.ss_size = sigStackSize; ++ sigStack.ss_size = altStackSize; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = { }; +@@ -10859,40 +10948,17 @@ namespace Catch { + } + } + +- FatalConditionHandler::~FatalConditionHandler() { +- reset(); +- } ++#if defined(__GNUC__) ++# pragma GCC diagnostic pop ++#endif + +- void FatalConditionHandler::reset() { +- if( isSet ) { +- // Set signals back to previous values -- hopefully nobody overwrote them in the meantime +- for( std::size_t i = 0; i < sizeof(signalDefs)/sizeof(SignalDefs); ++i ) { +- sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); +- } +- // Return the old stack +- sigaltstack(&oldSigStack, nullptr); +- isSet = false; +- } ++ void FatalConditionHandler::disengage_platform() { ++ restorePreviousSignalHandlers(); + } + +- bool FatalConditionHandler::isSet = false; +- struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {}; +- stack_t FatalConditionHandler::oldSigStack = {}; +- char FatalConditionHandler::altStackMem[sigStackSize] = {}; +- +-} // namespace Catch +- +-#else +- +-namespace Catch { +- void FatalConditionHandler::reset() {} +-} +- +-#endif // signals/SEH handling ++} // end namespace Catch + +-#if defined(__GNUC__) +-# pragma GCC diagnostic pop +-#endif ++#endif // CATCH_CONFIG_POSIX_SIGNALS + // end catch_fatal_condition.cpp + // start catch_generators.cpp + +@@ -11447,7 +11513,8 @@ namespace { + return lhs == rhs; + } + +- auto ulpDiff = std::abs(lc - rc); ++ // static cast as a workaround for IBM XLC ++ auto ulpDiff = std::abs(static_cast(lc - rc)); + return static_cast(ulpDiff) <= maxUlpDiff; + } + +@@ -11621,7 +11688,6 @@ Floating::WithinRelMatcher WithinRel(float target) { + + } // namespace Matchers + } // namespace Catch +- + // end catch_matchers_floating.cpp + // start catch_matchers_generic.cpp + +@@ -12955,9 +13021,8 @@ namespace Catch { + } + + void RunContext::invokeActiveTestCase() { +- FatalConditionHandler fatalConditionHandler; // Handle signals ++ FatalConditionHandlerGuard _(&m_fatalConditionhandler); + m_activeTestCase->invoke(); +- fatalConditionHandler.reset(); + } + + void RunContext::handleUnfinishedSections() { +@@ -13325,6 +13390,10 @@ namespace Catch { + filename.erase(0, lastSlash); + filename[0] = '#'; + } ++ else ++ { ++ filename.insert(0, "#"); ++ } + + auto lastDot = filename.find_last_of('.'); + if (lastDot != std::string::npos) { +@@ -13487,7 +13556,7 @@ namespace Catch { + + // Handle list request + if( Option listed = list( m_config ) ) +- return static_cast( *listed ); ++ return (std::min) (MaxExitCode, static_cast(*listed)); + + TestGroup tests { m_config }; + auto const totals = tests.execute(); +@@ -15320,7 +15389,7 @@ namespace Catch { + } + + Version const& libraryVersion() { +- static Version version( 2, 13, 4, "", 0 ); ++ static Version version( 2, 13, 10, "", 0 ); + return version; + } + +@@ -16733,6 +16802,7 @@ CATCH_REGISTER_REPORTER("console", ConsoleReporter) + #include + #include + #include ++#include + + namespace Catch { + +@@ -16760,7 +16830,7 @@ namespace Catch { + #else + std::strftime(timeStamp, timeStampSize, fmt, timeInfo); + #endif +- return std::string(timeStamp); ++ return std::string(timeStamp, timeStampSize-1); + } + + std::string fileNameTag(const std::vector &tags) { +@@ -16771,6 +16841,17 @@ namespace Catch { + return it->substr(1); + return std::string(); + } ++ ++ // Formats the duration in seconds to 3 decimal places. ++ // This is done because some genius defined Maven Surefire schema ++ // in a way that only accepts 3 decimal places, and tools like ++ // Jenkins use that schema for validation JUnit reporter output. ++ std::string formatDuration( double seconds ) { ++ ReusableStringStream rss; ++ rss << std::fixed << std::setprecision( 3 ) << seconds; ++ return rss.str(); ++ } ++ + } // anonymous namespace + + JunitReporter::JunitReporter( ReporterConfig const& _config ) +@@ -16840,7 +16921,7 @@ namespace Catch { + if( m_config->showDurations() == ShowDurations::Never ) + xml.writeAttribute( "time", "" ); + else +- xml.writeAttribute( "time", suiteTime ); ++ xml.writeAttribute( "time", formatDuration( suiteTime ) ); + xml.writeAttribute( "timestamp", getCurrentTimestamp() ); + + // Write properties if there are any +@@ -16885,12 +16966,13 @@ namespace Catch { + if ( !m_config->name().empty() ) + className = m_config->name() + "." + className; + +- writeSection( className, "", rootSection ); ++ writeSection( className, "", rootSection, stats.testInfo.okToFail() ); + } + +- void JunitReporter::writeSection( std::string const& className, +- std::string const& rootName, +- SectionNode const& sectionNode ) { ++ void JunitReporter::writeSection( std::string const& className, ++ std::string const& rootName, ++ SectionNode const& sectionNode, ++ bool testOkToFail) { + std::string name = trim( sectionNode.stats.sectionInfo.name ); + if( !rootName.empty() ) + name = rootName + '/' + name; +@@ -16907,13 +16989,18 @@ namespace Catch { + xml.writeAttribute( "classname", className ); + xml.writeAttribute( "name", name ); + } +- xml.writeAttribute( "time", ::Catch::Detail::stringify( sectionNode.stats.durationInSeconds ) ); ++ xml.writeAttribute( "time", formatDuration( sectionNode.stats.durationInSeconds ) ); + // This is not ideal, but it should be enough to mimic gtest's + // junit output. + // Ideally the JUnit reporter would also handle `skipTest` + // events and write those out appropriately. + xml.writeAttribute( "status", "run" ); + ++ if (sectionNode.stats.assertions.failedButOk) { ++ xml.scopedElement("skipped") ++ .writeAttribute("message", "TEST_CASE tagged with !mayfail"); ++ } ++ + writeAssertions( sectionNode ); + + if( !sectionNode.stdOut.empty() ) +@@ -16923,9 +17010,9 @@ namespace Catch { + } + for( auto const& childNode : sectionNode.childSections ) + if( className.empty() ) +- writeSection( name, "", *childNode ); ++ writeSection( name, "", *childNode, testOkToFail ); + else +- writeSection( className, name, *childNode ); ++ writeSection( className, name, *childNode, testOkToFail ); + } + + void JunitReporter::writeAssertions( SectionNode const& sectionNode ) { +@@ -17437,12 +17524,20 @@ namespace Catch { + + #ifndef __OBJC__ + ++#ifndef CATCH_INTERNAL_CDECL ++#ifdef _MSC_VER ++#define CATCH_INTERNAL_CDECL __cdecl ++#else ++#define CATCH_INTERNAL_CDECL ++#endif ++#endif ++ + #if defined(CATCH_CONFIG_WCHAR) && defined(CATCH_PLATFORM_WINDOWS) && defined(_UNICODE) && !defined(DO_NOT_USE_WMAIN) + // Standard C/C++ Win32 Unicode wmain entry point +-extern "C" int wmain (int argc, wchar_t * argv[], wchar_t * []) { ++extern "C" int CATCH_INTERNAL_CDECL wmain (int argc, wchar_t * argv[], wchar_t * []) { + #else + // Standard C/C++ main entry point +-int main (int argc, char * argv[]) { ++int CATCH_INTERNAL_CDECL main (int argc, char * argv[]) { + #endif + + return Catch::Session().run( argc, argv ); +@@ -17570,9 +17665,9 @@ int main (int argc, char * const argv[]) { + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) + #define CATCH_BENCHMARK(...) \ +- INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) ++ INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) + #define CATCH_BENCHMARK_ADVANCED(name) \ +- INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name) ++ INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name) + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + // If CATCH_CONFIG_PREFIX_ALL is not defined then the CATCH_ prefix is not required +@@ -17674,9 +17769,9 @@ int main (int argc, char * const argv[]) { + + #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) + #define BENCHMARK(...) \ +- INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) ++ INTERNAL_CATCH_BENCHMARK(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), INTERNAL_CATCH_GET_1_ARG(__VA_ARGS__,,), INTERNAL_CATCH_GET_2_ARG(__VA_ARGS__,,)) + #define BENCHMARK_ADVANCED(name) \ +- INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(____C_A_T_C_H____B_E_N_C_H____), name) ++ INTERNAL_CATCH_BENCHMARK_ADVANCED(INTERNAL_CATCH_UNIQUE_NAME(C_A_T_C_H_B_E_N_C_H_), name) + #endif // CATCH_CONFIG_ENABLE_BENCHMARKING + + using Catch::Detail::Approx; +@@ -17723,8 +17818,8 @@ using Catch::Detail::Approx; + #define CATCH_WARN( msg ) (void)(0) + #define CATCH_CAPTURE( msg ) (void)(0) + +-#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define CATCH_TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define CATCH_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + #define CATCH_METHOD_AS_TEST_CASE( method, ... ) + #define CATCH_REGISTER_TEST_CASE( Function, ... ) (void)(0) + #define CATCH_SECTION( ... ) +@@ -17733,7 +17828,7 @@ using Catch::Detail::Approx; + #define CATCH_FAIL_CHECK( ... ) (void)(0) + #define CATCH_SUCCEED( ... ) (void)(0) + +-#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define CATCH_ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define CATCH_TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__) +@@ -17756,8 +17851,8 @@ using Catch::Detail::Approx; + #endif + + // "BDD-style" convenience wrappers +-#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className ) ++#define CATCH_SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define CATCH_SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className ) + #define CATCH_GIVEN( desc ) + #define CATCH_AND_GIVEN( desc ) + #define CATCH_WHEN( desc ) +@@ -17805,10 +17900,10 @@ using Catch::Detail::Approx; + #define INFO( msg ) (void)(0) + #define UNSCOPED_INFO( msg ) (void)(0) + #define WARN( msg ) (void)(0) +-#define CAPTURE( msg ) (void)(0) ++#define CAPTURE( ... ) (void)(0) + +-#define TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) +-#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define TEST_CASE( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) ++#define TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + #define METHOD_AS_TEST_CASE( method, ... ) + #define REGISTER_TEST_CASE( Function, ... ) (void)(0) + #define SECTION( ... ) +@@ -17816,7 +17911,7 @@ using Catch::Detail::Approx; + #define FAIL( ... ) (void)(0) + #define FAIL_CHECK( ... ) (void)(0) + #define SUCCEED( ... ) (void)(0) +-#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ )) ++#define ANON_TEST_CASE() INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ )) + + #ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR + #define TEMPLATE_TEST_CASE( ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_NO_REGISTRATION(__VA_ARGS__) +@@ -17846,8 +17941,8 @@ using Catch::Detail::Approx; + #define CATCH_TRANSLATE_EXCEPTION( signature ) INTERNAL_CATCH_TRANSLATE_EXCEPTION_NO_REG( INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ExceptionTranslator ), signature ) + + // "BDD-style" convenience wrappers +-#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ) ) +-#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( ____C_A_T_C_H____T_E_S_T____ ), className ) ++#define SCENARIO( ... ) INTERNAL_CATCH_TESTCASE_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ) ) ++#define SCENARIO_METHOD( className, ... ) INTERNAL_CATCH_TESTCASE_METHOD_NO_REGISTRATION(INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_S_T_ ), className ) + + #define GIVEN( desc ) + #define AND_GIVEN( desc ) +@@ -17878,3 +17973,4 @@ using Catch::Detail::Approx; + // end catch_reenable_warnings.h + // end catch.hpp + #endif // TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED ++ diff --git a/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..a2cad26c601 --- /dev/null +++ b/easybuild/easyconfigs/l/Lighter/Lighter-1.1.2-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'MakeCp' + +name = 'Lighter' +version = '1.1.2' + +homepage = 'https://github.com/mourisl/Lighter' +description = "Fast and memory-efficient sequencing error corrector" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/mourisl/Lighter/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89abc34137beffc43382fbe53deb25c3c2f5cee7e6ca2b7f669931d70065993a'] + +dependencies = [('zlib', '1.2.11')] + +files_to_copy = [(['lighter'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/lighter'], + 'dirs': [], +} + +sanity_check_commands = ["lighter -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..f92fd739953 --- /dev/null +++ b/easybuild/easyconfigs/l/Lightning/Lightning-2.2.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'Lightning' +version = '2.2.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/Lightning-AI/pytorch-lightning' +description = """ +The deep learning framework to pretrain, finetune and deploy AI models. +Lightning has 4 core packages: + PyTorch Lightning: Train and deploy PyTorch at scale. + Lightning Fabric: Expert control. + Lightning Data: Blazing fast, distributed streaming of training data from cloud storage. + Lightning Apps: Build AI products and ML workflows. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3e46d596b32cafd1fb9b21fdba1b1767df97b1af5cc702693d1c51df60b19aa'] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), + ('PyTorch-Lightning', version, '-CUDA-%(cudaver)s'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..36daa28511f --- /dev/null +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2022a.eb @@ -0,0 +1,38 @@ +# Copyright:: Copyright (c) 2016 Riccardo Murri +# License:: GPL + +easyblock = 'ConfigureMake' + +name = 'LinBox' +version = '1.7.0' + +homepage = 'https://linalg.org/' +description = "C++ library for exact, high-performance linear algebra" + +toolchain = {'name': 'gfbf', 'version': '2022a'} + +source_urls = ['https://github.com/linbox-team/linbox/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc'] + +dependencies = [ + ('FFLAS-FFPACK', '2.5.0'), + ('FLINT', '2.9.0'), + ('IML', '1.0.5'), + ('NTL', '11.5.1'), +] +builddependencies = [('pkgconf', '1.8.0')] + +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'] + + ['lib/liblinbox.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["linbox-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb new file mode 100644 index 00000000000..95ca1edf249 --- /dev/null +++ b/easybuild/easyconfigs/l/LinBox/LinBox-1.7.0-gfbf-2023b.eb @@ -0,0 +1,46 @@ +## +# This file is an EasyBuild recipe; see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright (c) 2016 Riccardo Murri +# Authors:: Riccardo Murri +# License:: GPL +# +# Update: Petr Král (INUITS) +# +## + +easyblock = 'ConfigureMake' + +name = 'LinBox' +version = '1.7.0' + +homepage = 'https://linalg.org/' +description = "C++ library for exact, high-performance linear algebra" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/linbox-team/linbox/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d2159fd395be0298362dd37f6c696676237bc8e2757341fbc46520e3b466bcc'] + +dependencies = [ + ('FFLAS-FFPACK', '2.5.0'), + ('FLINT', '3.1.1'), + ('Givaro', '4.2.0'), + ('IML', '1.0.5'), + ('NTL', '11.5.1'), +] + +configopts = "--with-fflas-ffpack=$EBROOTFFLASMINFFPACK --with-flint=$EBROOTFLINT " +configopts += "--with-givaro=$EBROOTGIVARO --with-iml=$EBROOTIML --with-ntl=$EBROOTNTL " +configopts += "--enable-openmp --enable-shared " + +sanity_check_paths = { + 'files': ['bin/linbox-config', 'include/linbox/linbox-config.h'] + + ['lib/liblinbox.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib'], +} + +sanity_check_commands = ["linbox-config --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.12-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.12-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fe03d4a2e3a --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.12-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.12' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%(version)s/'] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('libjpeg-turbo', '2.0.6')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fd89cefd7af --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.13.1-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.13.1' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('libjpeg-turbo', '2.1.3')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..36dfc68a323 --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.14-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.14' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('libjpeg-turbo', '2.1.4')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["jpgicc --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..425485c06ca --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.15' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libjpeg-turbo', '2.1.5.1')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..31e22ec7db5 --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.15-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.15' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['b20cbcbd0f503433be2a4e81462106fa61050a35074dc24a4e356792d971ab39'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libjpeg-turbo', '3.0.1')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.16-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.16-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..121d33200a2 --- /dev/null +++ b/easybuild/easyconfigs/l/LittleCMS/LittleCMS-2.16-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'LittleCMS' +version = '2.16' + +homepage = 'https://www.littlecms.com/' +description = """ Little CMS intends to be an OPEN SOURCE small-footprint color management engine, + with special focus on accuracy and performance. """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://sourceforge.net/projects/lcms/files/lcms/%s/' % '.'.join(version.split('.')[:2])] +sources = ['lcms2-%(version)s.tar.gz'] +checksums = ['d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('libjpeg-turbo', '3.0.1')] + +sanity_check_paths = { + 'files': ['bin/jpgicc', 'bin/linkicc', 'bin/psicc', 'bin/transicc', 'include/lcms2.h', 'include/lcms2_plugin.h', + 'lib/liblcms2.a', 'lib/liblcms2.%s' % SHLIB_EXT, 'lib/pkgconfig/lcms2.pc'], + 'dirs': ['share/man'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb new file mode 100644 index 00000000000..9de77dd4e7b --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9-gompi-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'LoRDEC' +version = '0.9' + +homepage = 'https://www.lirmm.fr/~rivals/lordec' +description = """Program for correcting sequencing errors in long reads (e.g., PacBio, Oxford Nanopore) using highly +accurate short reads (e.g., Illumina).""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://gite.lirmm.fr/lordec/lordec-releases/uploads/800a96d81b3348e368a0ff3a260a88e1/'] +sources = ['lordec-src_%(version)s.tar.bz2'] +patches = [ + 'LoRDEC-0.9_GATB.patch', + 'LoRDEC-0.9_GraphVector.patch', +] +checksums = [ + {'lordec-src_0.9.tar.bz2': '8108b82a8404fbf44c7e300d3abb43358ccc28993f90546168a20ca82536923b'}, + {'LoRDEC-0.9_GATB.patch': '8ff5e097455bb6ea515423bc76059f64d1983eb4873e640cd5021f00be85ca99'}, + {'LoRDEC-0.9_GraphVector.patch': '8c42dda643f8e1f79ee7d4ea2e3d8904cb755dc44cb907ada35b1e2873605ae5'}, +] + +local_gatb_version = '1.4.2' +dependencies = [ + ('Boost', '1.79.0'), + ('GATB-Core', local_gatb_version), +] + +build_cmd_targets = 'lordec_%s' % ''.join(local_gatb_version.split('.')) + +buildopts = "AUTOMATIC_LIBBOOST_LOCAL_INSTALL=no GATB=${EBROOTGATBMINCORE}" + +local_bins = ['lordec-%s' % x for x in ('build-SR-graph', 'correct', 'stat', 'trim', 'trim-split')] + +files_to_copy = [(local_bins, 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ["%s --help 2>&1 | grep 'using GATB v%s'" % (x, local_gatb_version) for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch new file mode 100644 index 00000000000..11304be190c --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GATB.patch @@ -0,0 +1,13 @@ +don't hardcode path to include/gatb/gatb_core.hpp so we can use GATB-Core provided as dependency +author: Kenneth Hoste (HPC-UGent) +--- lordec-src_0.9/Makefile.orig 2023-03-31 09:54:40.838204432 +0200 ++++ lordec-src_0.9/Makefile 2023-03-31 09:55:42.987061551 +0200 +@@ -63,7 +63,7 @@ + $(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): boost_include/boost/graph/graph_traits.hpp + endif + # ANYWAY we need GATB (compiled and installed) to compile all the objects +-$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): gatb_v$(GATBVERSION)$(SUFFIX)/include/gatb/gatb_core.hpp ++$(PROG_GRAPH) $(OBJS_TEST_CORRECT) $(OBJS_CATCHTEST_CORRECT) $(OBJS_CORRECT) $(OBJS_STATS) $(OBJS_TRIM) $(OBJS_TRIM_SPLIT): $(GATB)/include/gatb/gatb_core.hpp + + # get version from a file + VERSION := $(shell cat version.txt) diff --git a/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch new file mode 100644 index 00000000000..da7be67c7df --- /dev/null +++ b/easybuild/easyconfigs/l/LoRDEC/LoRDEC-0.9_GraphVector.patch @@ -0,0 +1,75 @@ +port LoRDEC 0.9 to gatb-core >= 1.3.0 by replacing Graph::Vector to GraphVector +author: Kenneth Hoste (HPC-UGent) +diff -ru lordec-src_0.9.orig/lordec-correct.h lordec-src_0.9/lordec-correct.h +--- lordec-src_0.9.orig/lordec-correct.h 2018-06-04 15:44:49.000000000 +0200 ++++ lordec-src_0.9/lordec-correct.h 2023-03-31 22:17:39.105922332 +0200 +@@ -160,11 +160,11 @@ + // store the neighbors of begin node in the stack + + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(begin); ++ GraphVector neighbors = graph.successors(begin); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(begin); + #else +- Graph::Vector neighbors = graph.successorsEdge(begin); ++ GraphVector neighbors = graph.successorsEdge(begin); + #endif + + // if (neighbors.size() == 1) +@@ -221,11 +221,11 @@ + } + } + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(cnode); ++ GraphVector neighbors = graph.successors(cnode); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(cnode); + #else +- Graph::Vector neighbors = graph.successorsEdge(cnode); ++ GraphVector neighbors = graph.successorsEdge(cnode); + #endif + + // if (neighbors.size() == 1) +@@ -328,11 +328,11 @@ + + // store the neighbors of begin node in the stack + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(begin); ++ GraphVector neighbors = graph.successors(begin); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(begin); + #else +- Graph::Vector neighbors = graph.successorsEdge(begin); ++ GraphVector neighbors = graph.successorsEdge(begin); + #endif + for (i = neighbors.size()-1; i>= 0; i--) { + nodes.push(new stack_element(neighbors[i].to, 1, ascii(neighbors[i].nt))); +@@ -396,11 +396,11 @@ + else { + + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(cnode); ++ GraphVector neighbors = graph.successors(cnode); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(cnode); + #else +- Graph::Vector neighbors = graph.successorsEdge(cnode); ++ GraphVector neighbors = graph.successorsEdge(cnode); + #endif + for(i=neighbors.size()-1; i>=0; i--) { + Edge e = neighbors[i]; +@@ -450,11 +450,11 @@ + + while (true) { + #if defined(GATB_V110) +- Graph::Vector neighbors = graph.successors(node); ++ GraphVector neighbors = graph.successors(node); + #elif defined(GATB_V130) || defined(GATB_V140) || defined(GATB_V141) + GraphVector neighbors = graph.successorsEdge(node); + #else +- Graph::Vector neighbors = graph.successorsEdge(node); ++ GraphVector neighbors = graph.successorsEdge(node); + #endif + if (neighbors.size() == 0) // dead end + return DEADEND; diff --git a/easybuild/easyconfigs/l/LocARNA/LocARNA-1.9.2.3-foss-2021b.eb b/easybuild/easyconfigs/l/LocARNA/LocARNA-1.9.2.3-foss-2021b.eb new file mode 100644 index 00000000000..e4301751af4 --- /dev/null +++ b/easybuild/easyconfigs/l/LocARNA/LocARNA-1.9.2.3-foss-2021b.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'LocARNA' +version = '1.9.2.3' + +homepage = 'http://www.bioinf.uni-freiburg.de/Software/LocARNA/' +description = """LocARNA is a collection of alignment tools for the structural analysis of RNA. + Given a set of RNA sequences, LocARNA simultaneously aligns and predicts common structures for + your RNAs. In this way, LocARNA performs Sankoff-like alignment and is in particular suited for + analyzing sets of related RNAs without known common structure.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/s-will/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b28633ad2044e3a87173e255563100c223592d8b089789b77ee7011922c1565e'] + +dependencies = [('ViennaRNA', '2.5.0')] + +configopts = '--with-vrna=$EBROOTVIENNARNA' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = [('%(namelower)s -h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.3.4-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.3.4-GCCcore-8.2.0.eb index b5ea1faf138..4b1c75deb8e 100644 --- a/easybuild/easyconfigs/l/Longshot/Longshot-0.3.4-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.3.4-GCCcore-8.2.0.eb @@ -22,6 +22,7 @@ builddependencies = [ ('Clang', '8.0.0'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('Perl', '5.28.1'), ] extract_sources = True diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCC-7.3.0-2.30.eb index 48e2eb9f6a2..918af760f21 100644 --- a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCC-7.3.0-2.30.eb @@ -22,6 +22,7 @@ builddependencies = [ ('Clang', '7.0.1'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('Perl', '5.28.0'), ] extract_sources = True diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCCcore-8.3.0.eb index 2b4d5e3f087..2bff3e30e44 100644 --- a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.1-GCCcore-8.3.0.eb @@ -22,6 +22,7 @@ builddependencies = [ ('Clang', '9.0.1'), ('zlib', '1.2.11'), ('XZ', '5.2.4'), + ('Perl', '5.30.0'), ] extract_sources = True diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f3c93e26ad7 --- /dev/null +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.3-GCCcore-10.2.0.eb @@ -0,0 +1,42 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to 0.4.3 and GCCcore-10.2.0 +# J. Sassmannshausen (GSTT/NHS UK) +# +easyblock = 'Binary' + +name = 'Longshot' +version = '0.4.3' + +homepage = 'https://github.com/pjedge/longshot' +description = """Longshot is a variant calling tool for diploid genomes using long error prone reads such as Pacific + Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT). It takes as input an aligned BAM file and outputs + a phased VCF file with variants and haplotype information. It can also output haplotype-separated BAM files that can + be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs).""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/pjedge/longshot/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb2a27a165567ed10b43eb915b195d72193005008d6a91e0d9393282f22f3192'] + +builddependencies = [ + ('binutils', '2.35'), + ('Rust', '1.52.1'), + ('Clang', '11.0.1'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('Perl', '5.32.0'), +] + +extract_sources = True + +install_cmd = "cargo install --root %(installdir)s --path ." + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c11baed2797 --- /dev/null +++ b/easybuild/easyconfigs/l/Longshot/Longshot-0.4.5-GCCcore-11.3.0.eb @@ -0,0 +1,337 @@ +easyblock = 'Cargo' + +name = 'Longshot' +version = '0.4.5' + +homepage = 'https://github.com/pjedge/longshot' +description = """Longshot is a variant calling tool for diploid genomes using long error prone reads such as Pacific + Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT). It takes as input an aligned BAM file and outputs + a phased VCF file with variants and haplotype information. It can also output haplotype-separated BAM files that can + be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +crates = [ + ('addr2line', '0.19.0'), + ('adler', '1.0.2'), + ('ahash', '0.7.6'), + ('aho-corasick', '0.7.20'), + ('android_system_properties', '0.1.5'), + ('ansi_term', '0.12.1'), + ('approx', '0.3.2'), + ('atty', '0.2.14'), + ('autocfg', '1.1.0'), + ('backtrace', '0.3.67'), + ('bio', '0.25.0'), + ('bio-types', '0.13.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bumpalo', '3.12.0'), + ('bv', '0.10.0'), + ('bytecount', '0.3.2'), + ('byteorder', '1.4.3'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.24'), + ('clap', '2.34.0'), + ('cmake', '0.1.50'), + ('codespan-reporting', '0.11.1'), + ('core-foundation-sys', '0.8.3'), + ('csv', '1.2.1'), + ('csv-core', '0.1.10'), + ('curl-sys', '0.4.61+curl-8.0.1'), + ('custom_derive', '0.1.7'), + ('cxx', '1.0.94'), + ('cxx-build', '1.0.94'), + ('cxxbridge-flags', '1.0.94'), + ('cxxbridge-macro', '1.0.94'), + ('derive-new', '0.5.9'), + ('either', '1.8.1'), + ('error-chain', '0.12.4'), + ('feature-probe', '0.1.1'), + ('fishers_exact', '1.0.1'), + ('fnv', '1.0.7'), + ('form_urlencoded', '1.1.0'), + ('fs-utils', '1.1.4'), + ('fuchsia-cprng', '0.1.1'), + ('fxhash', '0.2.1'), + ('getrandom', '0.2.8'), + ('gimli', '0.27.2'), + ('glob', '0.3.1'), + ('hashbrown', '0.11.2'), + ('heck', '0.4.1'), + ('hermit-abi', '0.1.19'), + ('hts-sys', '2.0.3'), + ('iana-time-zone', '0.1.54'), + ('iana-time-zone-haiku', '0.1.1'), + ('idna', '0.3.0'), + ('ieee754', '0.2.6'), + ('itertools', '0.7.11'), + ('itertools-num', '0.1.3'), + ('itoa', '1.0.6'), + ('jobserver', '0.1.26'), + ('js-sys', '0.3.61'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.140'), + ('libz-sys', '1.1.8'), + ('linear-map', '1.2.0'), + ('link-cplusplus', '1.0.8'), + ('log', '0.4.17'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.1.15'), + ('memchr', '2.5.0'), + ('miniz_oxide', '0.6.2'), + ('multimap', '0.4.0'), + ('ndarray', '0.12.1'), + ('newtype_derive', '0.1.6'), + ('num-complex', '0.2.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.15'), + ('object', '0.30.3'), + ('once_cell', '1.17.1'), + ('openssl-src', '111.25.2+1.1.1t'), + ('openssl-sys', '0.9.83'), + ('ordered-float', '1.1.1'), + ('percent-encoding', '2.2.0'), + ('pkg-config', '0.3.26'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.54'), + ('quick-error', '1.2.3'), + ('quote', '1.0.26'), + ('rand', '0.3.23'), + ('rand', '0.4.6'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.3.1'), + ('rand_core', '0.4.2'), + ('rand_core', '0.6.4'), + ('rawpointer', '0.1.0'), + ('rdrand', '0.4.0'), + ('regex', '1.7.3'), + ('regex-syntax', '0.6.29'), + ('rust-htslib', '0.38.2'), + ('rustc-demangle', '0.1.22'), + ('rustc_version', '0.1.7'), + ('rustversion', '1.0.12'), + ('ryu', '1.0.13'), + ('scratch', '1.0.5'), + ('semver', '0.1.20'), + ('serde', '1.0.159'), + ('serde_derive', '1.0.159'), + ('statrs', '0.9.0'), + ('strsim', '0.8.0'), + ('strum_macros', '0.24.3'), + ('syn', '1.0.109'), + ('syn', '2.0.12'), + ('termcolor', '1.2.0'), + ('textwrap', '0.11.0'), + ('thiserror', '1.0.40'), + ('thiserror-impl', '1.0.40'), + ('time', '0.1.45'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.8'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.10'), + ('url', '2.3.1'), + ('vcpkg', '0.2.15'), + ('vec_map', '0.8.2'), + ('version_check', '0.9.4'), + ('wasi', '0.10.0+wasi-snapshot-preview1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.84'), + ('wasm-bindgen-backend', '0.2.84'), + ('wasm-bindgen-macro', '0.2.84'), + ('wasm-bindgen-macro-support', '0.2.84'), + ('wasm-bindgen-shared', '0.2.84'), + ('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', '0.46.0'), + ('windows-targets', '0.42.2'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_msvc', '0.42.2'), + ('windows_x86_64_gnu', '0.42.2'), + ('windows_x86_64_gnullvm', '0.42.2'), + ('windows_x86_64_msvc', '0.42.2'), +] +source_urls = ['https://github.com/pjedge/longshot/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.4.5.tar.gz': '7c9f570e17012b2fee386892ae64daf5f104d59adeb59dc7e710b876c1a11cad'}, + {'addr2line-0.19.0.tar.gz': 'a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'ansi_term-0.12.1.tar.gz': 'd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2'}, + {'approx-0.3.2.tar.gz': 'f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'backtrace-0.3.67.tar.gz': '233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca'}, + {'bio-0.25.0.tar.gz': '83fb5223acf893048c6ad04e325eee1233882e76687615bf0d43a6dd9b8d6cc1'}, + {'bio-types-0.13.0.tar.gz': 'dfa990f40a28735fa598dc3dd58d73e62e6b41458959d623903b927ba7b04c80'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bumpalo-3.12.0.tar.gz': '0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535'}, + {'bv-0.10.0.tar.gz': '0d6ef54f583d35d34319ac74510aa2136929e97db601660b250178e7e68b1be4'}, + {'bytecount-0.3.2.tar.gz': 'f861d9ce359f56dbcb6e0c2a1cb84e52ad732cadb57b806adeb3c7668caccbd8'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.24.tar.gz': '4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b'}, + {'clap-2.34.0.tar.gz': 'a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'codespan-reporting-0.11.1.tar.gz': '3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e'}, + {'core-foundation-sys-0.8.3.tar.gz': '5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc'}, + {'csv-1.2.1.tar.gz': '0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad'}, + {'csv-core-0.1.10.tar.gz': '2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90'}, + {'curl-sys-0.4.61+curl-8.0.1.tar.gz': '14d05c10f541ae6f3bc5b3d923c20001f47db7d5f0b2bc6ad16490133842db79'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'cxx-1.0.94.tar.gz': 'f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93'}, + {'cxx-build-1.0.94.tar.gz': '12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b'}, + {'cxxbridge-flags-1.0.94.tar.gz': '7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb'}, + {'cxxbridge-macro-1.0.94.tar.gz': '2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'error-chain-0.12.4.tar.gz': '2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc'}, + {'feature-probe-0.1.1.tar.gz': '835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da'}, + {'fishers_exact-1.0.1.tar.gz': '64993467e77edcbfce160dae38337b4c538aa0e8027039c6eabba8fa335c7b1e'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'form_urlencoded-1.1.0.tar.gz': 'a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'fuchsia-cprng-0.1.1.tar.gz': 'a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba'}, + {'fxhash-0.2.1.tar.gz': 'c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c'}, + {'getrandom-0.2.8.tar.gz': 'c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31'}, + {'gimli-0.27.2.tar.gz': 'ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'hashbrown-0.11.2.tar.gz': 'ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hts-sys-2.0.3.tar.gz': '0dba4fc406d3686926c84f98fd53026b625319d119e6056a40313862a6e3c4eb'}, + {'iana-time-zone-0.1.54.tar.gz': '0c17cc76786e99f8d2f055c11159e7f0091c42474dcc3189fbab96072e873e6d'}, + {'iana-time-zone-haiku-0.1.1.tar.gz': '0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'itertools-0.7.11.tar.gz': '0d47946d458e94a1b7bcabbf6521ea7c037062c81f534615abcad76e84d4970d'}, + {'itertools-num-0.1.3.tar.gz': 'a872a22f9e6f7521ca557660adb96dd830e54f0f490fa115bb55dd69d38b27e7'}, + {'itoa-1.0.6.tar.gz': '453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6'}, + {'jobserver-0.1.26.tar.gz': '936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2'}, + {'js-sys-0.3.61.tar.gz': '445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.140.tar.gz': '99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c'}, + {'libz-sys-1.1.8.tar.gz': '9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'link-cplusplus-1.0.8.tar.gz': 'ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.1.15.tar.gz': 'dcad67dcec2d58ff56f6292582377e6921afdf3bfbd533e26fb8900ae575e002'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'multimap-0.4.0.tar.gz': '2eb04b9f127583ed176e163fb9ec6f3e793b87e21deedd5734a69386a18a0151'}, + {'ndarray-0.12.1.tar.gz': '7cf380a8af901ad627594013a3bbac903ae0a6f94e176e47e46b5bbc1877b928'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-traits-0.2.15.tar.gz': '578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd'}, + {'object-0.30.3.tar.gz': 'ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439'}, + {'once_cell-1.17.1.tar.gz': 'b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3'}, + {'openssl-src-111.25.2+1.1.1t.tar.gz': '320708a054ad9b3bf314688b5db87cf4d6683d64cfc835e2337924ae62bf4431'}, + {'openssl-sys-0.9.83.tar.gz': '666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b'}, + {'ordered-float-1.1.1.tar.gz': '3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'pkg-config-0.3.26.tar.gz': '6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.54.tar.gz': 'e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.26.tar.gz': '4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc'}, + {'rand-0.3.23.tar.gz': '64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c'}, + {'rand-0.4.6.tar.gz': '552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.3.1.tar.gz': '7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b'}, + {'rand_core-0.4.2.tar.gz': '9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rawpointer-0.1.0.tar.gz': 'ebac11a9d2e11f2af219b8b8d833b76b1ea0e054aa0e8d8e9e4cbde353bdf019'}, + {'rdrand-0.4.0.tar.gz': '678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2'}, + {'regex-1.7.3.tar.gz': '8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'rust-htslib-0.38.2.tar.gz': '2aca6626496389f6e015e25433b85e2895ad3644b44de91167d847bf2d8c1a1c'}, + {'rustc-demangle-0.1.22.tar.gz': 'd4a36c42d1873f9a77c53bde094f9664d9891bc604a45b4798fd2c389ed12e5b'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustversion-1.0.12.tar.gz': '4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06'}, + {'ryu-1.0.13.tar.gz': 'f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041'}, + {'scratch-1.0.5.tar.gz': '1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.159.tar.gz': '3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065'}, + {'serde_derive-1.0.159.tar.gz': '4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585'}, + {'statrs-0.9.0.tar.gz': '7d8c8660e3867d1a0578cbf7fd9532f1368b7460bd00b080e2d4669618a9bec7'}, + {'strsim-0.8.0.tar.gz': '8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a'}, + {'strum_macros-0.24.3.tar.gz': '1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.12.tar.gz': '79d9531f94112cfc3e4c8f5f02cb2b58f72c97b7efd85f70203cc6d8efda5927'}, + {'termcolor-1.2.0.tar.gz': 'be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thiserror-1.0.40.tar.gz': '978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac'}, + {'thiserror-impl-1.0.40.tar.gz': 'f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f'}, + {'time-0.1.45.tar.gz': '1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a'}, + {'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.8.tar.gz': 'e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.10.0+wasi-snapshot-preview1.tar.gz': '1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.84.tar.gz': '31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b'}, + {'wasm-bindgen-backend-0.2.84.tar.gz': '95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9'}, + {'wasm-bindgen-macro-0.2.84.tar.gz': '4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5'}, + {'wasm-bindgen-macro-support-0.2.84.tar.gz': '2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6'}, + {'wasm-bindgen-shared-0.2.84.tar.gz': '0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d'}, + {'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-0.46.0.tar.gz': 'cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25'}, + {'windows-targets-0.42.2.tar.gz': '8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071'}, + {'windows_aarch64_gnullvm-0.42.2.tar.gz': '597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8'}, + {'windows_aarch64_msvc-0.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_x86_64_gnu-0.42.2.tar.gz': '8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36'}, + {'windows_x86_64_gnullvm-0.42.2.tar.gz': '26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3'}, + {'windows_x86_64_msvc-0.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('Rust', '1.65.0'), + ('Clang', '13.0.1'), + ('Perl', '5.34.1'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15-GCC-12.3.0.eb b/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15-GCC-12.3.0.eb new file mode 100644 index 00000000000..44a0bc2bc79 --- /dev/null +++ b/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15-GCC-12.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'LoopTools' +version = '2.15' + +homepage = 'https://feynarts.de/looptools/' +description = """ +LoopTools is a package for evaluation of scalar and tensor one-loop integrals. + +It is based on the FF package by G.J. van Oldenborgh. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://feynarts.de/looptools/'] +sources = [SOURCE_TAR_GZ] +patches = ['LoopTools-2.15_makefile.patch'] +checksums = [ + {'LoopTools-2.15.tar.gz': '2573459ae92c362fd92c1d7b27327cfd379143e8b176c63c8023d524cf96f104'}, + {'LoopTools-2.15_makefile.patch': 'e15c3c3c1dfb2e321f9ac253b56e3051dd3e72afa30e0587fe61493436c110fa'}, +] + +sanity_check_commands = [ + "lt 1 2", + "lt 1 2 3", + "lt 1 2 3 4 5 6", +] + +sanity_check_paths = { + 'files': ["bin/lt", "lib64/libooptools.%s" % SHLIB_EXT, "include/clooptools.h", "include/looptools.h"], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15_makefile.patch b/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15_makefile.patch new file mode 100644 index 00000000000..2b17fdba46e --- /dev/null +++ b/easybuild/easyconfigs/l/LoopTools/LoopTools-2.15_makefile.patch @@ -0,0 +1,102 @@ +# Author: Alexander Puck Neuwirth +# We want to get a shared object file and need -fPIC + +--- a/makefile.in ++++ b/makefile.in +@@ -1,14 +1,17 @@ + BLD = build$(QUADSUFFIX) + +-LIBDIR = $(PREFIX)/lib$(LIBDIRSUFFIX) +-INCLUDEDIR = $(PREFIX)/include +-BINDIR = $(PREFIX)/bin ++LIBDIR = $(DESTDIR)/$(PREFIX)/lib$(LIBDIRSUFFIX) ++INCLUDEDIR = $(DESTDIR)/$(PREFIX)/include ++BINDIR = $(DESTDIR)/$(PREFIX)/bin + + LIB = libooptools$(QUADSUFFIX).a + FE = lt$(QUADSUFFIX)$(EXE) + MFE = LoopTools$(QUADSUFFIX)$(EXE) + INCLUDE = $(BLD)/looptools.h $(BLD)/clooptools.h + ++LIBRARY=libooptools.so ++REALNAME=$(LIBRARY) ++ + ARGS = $(PARALLEL) \ + LIB="$(LIB)" \ + FE="$(FE)" \ +@@ -16,12 +19,12 @@ ARGS = $(PARALLEL) \ + EXE="$(EXE)" \ + DEF="$(DEF)" \ + NOUNDERSCORE="$(NOUNDERSCORE)" \ +- XFC="$(FC) $(FFLAGS) -I." \ ++ XFC="$(FC$(QUADSUFFIX)) $(FFLAGS) -I. -fPIC" \ + F90="$(F90)" \ + CC="$(CC)" \ +- CFLAGS="$(CFLAGS)" \ ++ CFLAGS="$(CFLAGS) -fPIC" \ + CXX="$(CXX)" \ +- CXXFLAGS="$(CXXFLAGS)" \ ++ CXXFLAGS="$(CXXFLAGS) -fPIC" \ + ML="$(ML)" \ + MCC="$(MCC)" \ + MCFLAGS="$(MCFLAGS)" \ +@@ -31,24 +34,23 @@ ARGS = $(PARALLEL) \ + NM="$(NM)" \ + DLLTOOL="$(DLLTOOL)" \ + LDFLAGS="$(LDFLAGS)" \ +- LIBPATH="$(LIBPATH)" ++ LIBPATH="$(LIBPATH)" \ ++ REALNAME="$(REALNAME)" + + +-default all lib frontend mma: force ++default all lib solib frontend mma: force + cd $(BLD) && $(MAKE) $(ARGS) $@ + +-install: lib frontend +- -mkdir $(PREFIX) ++install: lib solib frontend ++ -mkdir $(DESTDIR)$(PREFIX) $(LIBDIR); cp -p $(BLD)/$(LIBRARY) $(LIBDIR) + -mkdir $(LIBDIR) $(BINDIR) $(INCLUDEDIR) + cp -p $(BLD)/$(LIB) $(LIBDIR) + cp -p $(INCLUDE) $(INCLUDEDIR) +- strip $(BLD)/$(FE) + cp -p $(BLD)/fcc $(BLD)/$(FE) $(BINDIR) + rm -f $(BINDIR)/f++ + ln -s fcc $(BINDIR)/f++ + test ! -f $(BLD)/$(MFE) || { \ + test -z "$(EXE)" || ldd $(BLD)/$(MFE) | awk '/\/usr\/bin\/cyg/ { system("cp -p " $$3 " $(BINDIR)/"); }' ; \ +- strip $(BLD)/$(MFE) ; \ + cp -p $(BLD)/$(MFE) $(BINDIR); \ + } + +--- a/src/makefile ++++ b/src/makefile +@@ -1,6 +1,6 @@ +-default: frontend mma$(ML) ++default: frontend mma$(ML) solib + +-all: frontend mma1 ++all: frontend mma1 solib + + frontend: lib $(FE) + +@@ -8,6 +8,8 @@ mma1: lib $(MFE) + + mma0 lib: $(LIB) clooptools.h fcc + ++solib: $(REALNAME) fcc ++ + + .SUFFIXES: + +@@ -245,6 +247,9 @@ $(LIB): $(OBJS) + $(AR) $(ARFLAGS) $(LIB) $? + -$(RANLIB) $(LIB) + ++$(REALNAME): $(OBJS) ++ $(XFC) $(LDFLAGS) -shared -Wl,--soname,$(REALNAME) -o $@ $? ++ + + $(FE): lt.F $(LTINC) $(LIB) + $(XFC) -o $(FE) lt.F $(LIB) $(LDFLAGS) diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.3.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.3.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..125417a6c6c --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.3.5-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +name = 'Lua' +version = '5.3.5' + +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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('libreadline', '8.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f3f4a79aad8 --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.3-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.3' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f8612276169e3bfcbcfb8f226195bfc6e466fe13042f1076cbde92b7ec96bbfb'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('libreadline', '8.1'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c530dc1346a --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.4' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('libreadline', '8.1.2'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..703d80d74a8 --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.4-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +name = 'Lua' +version = '5.4.4' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['164c7849653b80ae67bec4b7473b884bf5cc8d2dca05653475ec2ed27b9ebf61'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('libreadline', '8.2'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3886e8a463e --- /dev/null +++ b/easybuild/easyconfigs/l/Lua/Lua-5.4.6-GCCcore-12.3.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': '12.3.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/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/LuaJIT/LuaJIT-2.1.0-beta3_20230602-GCC-11.3.0.eb b/easybuild/easyconfigs/l/LuaJIT/LuaJIT-2.1.0-beta3_20230602-GCC-11.3.0.eb new file mode 100644 index 00000000000..65bed514c7e --- /dev/null +++ b/easybuild/easyconfigs/l/LuaJIT/LuaJIT-2.1.0-beta3_20230602-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'LuaJIT' +_ver = '2.1.0-beta3' +version = _ver + '_20230602' +_commit = '51fb2f2' + +homepage = "https://luajit.org/" +description = """LuaJIT is a Just-In-Time Compiler (JIT) for the Lua +programming language. Lua is a powerful, dynamic and light-weight programming +language. It may be embedded or used as a general-purpose, stand-alone +language. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +# Releases are only made occasionally. You're strongly encouraged to follow the git branches. +sources = [{ + 'source_urls': ['https://github.com/LuaJIT/LuaJIT/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['d081eaa1a5bca419763712397f4696e0dd10db8d9b2e091e15c71d9fc50c24c9'] + +dependencies = [('ncurses', '6.3')] + +skipsteps = ['configure'] +installopts = 'PREFIX=%(installdir)s' + +postinstallcmds = ['cd %%(installdir)s/bin && ln -s luajit-%s luajit' % _ver] + +sanity_check_paths = { + 'files': ["bin/luajit"], + 'dirs': [], +} + +sanity_check_commands = ['luajit -v'] + +moduleclass = "lang" diff --git a/easybuild/easyconfigs/l/LuaJIT2-OpenResty/LuaJIT2-OpenResty-2.1-20220411-GCC-9.3.0.eb b/easybuild/easyconfigs/l/LuaJIT2-OpenResty/LuaJIT2-OpenResty-2.1-20220411-GCC-9.3.0.eb new file mode 100644 index 00000000000..e1507faabad --- /dev/null +++ b/easybuild/easyconfigs/l/LuaJIT2-OpenResty/LuaJIT2-OpenResty-2.1-20220411-GCC-9.3.0.eb @@ -0,0 +1,34 @@ +# This is the LuaJIT fork from openresty, not to be mixed up +# with the original LuaJIT version! +# Autor: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = "LuaJIT2-OpenResty" +version = "2.1-20220411" + +homepage = "https://github.com/openresty/luajit2" +description = """openresty/luajit2 - OpenResty's maintained branch of LuaJIT. +LuaJIT is a Just-In-Time Compiler (JIT) for the Lua +programming language. Lua is a powerful, dynamic and light-weight programming +language. It may be embedded or used as a general-purpose, stand-alone +language. """ + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +source_urls = ['https://github.com/openresty/luajit2/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d3f2c870f8f88477b01726b32accab30f6e5d57ae59c5ec87374ff73d0794316'] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_commands = ['luajit -v'] + +sanity_check_paths = { + 'files': ["bin/luajit"], + 'dirs': [] +} + +moduleclass = "lang" diff --git a/easybuild/easyconfigs/l/LuaRocks/LuaRocks-3.9.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/LuaRocks/LuaRocks-3.9.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..055a45cf5ca --- /dev/null +++ b/easybuild/easyconfigs/l/LuaRocks/LuaRocks-3.9.2-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'LuaRocks' +version = '3.9.2' + +homepage = 'https://luarocks.org' +description = """ +LuaRocks is the package manager for Lua modules. It allows you to create and +install Lua modules as self-contained packages called rocks. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://luarocks.github.io/luarocks/releases/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bca6e4ecc02c203e070acdb5f586045d45c078896f6236eb46aa33ccd9b94edb'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Lua', '5.4.4'), +] + +configopts = '--with-lua=$EBROOTLUA' + +sanity_check_paths = { + 'files': ['bin/luarocks', 'bin/luarocks-admin'], + 'dirs': ['etc/luarocks', 'share/lua'] +} + +sanity_check_commands = ['luarocks --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb b/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb index cc20619975f..e07b9f76b0c 100644 --- a/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb +++ b/easybuild/easyconfigs/l/Lucene-Geo-Gazetteer/Lucene-Geo-Gazetteer-20170718.eb @@ -23,7 +23,7 @@ install_cmd += "mvn install -Dmaven.repo.local=%(builddir)s/m2 -B assembly:assem # strip out hardcoded value for -i option, since user can not write to install directory postinstallcmds = [ - "sed -i.bk 's/-i \$DIR_PATH[^ ]*//g' %(installdir)s/src/main/bin/lucene-geo-gazetteer", + r"sed -i.bk 's/-i \$DIR_PATH[^ ]*//g' %(installdir)s/src/main/bin/lucene-geo-gazetteer", "rm %(installdir)s/src/main/bin/lucene-geo-gazetteer.bk", ] diff --git a/easybuild/easyconfigs/l/lDDT/lDDT-1.2.eb b/easybuild/easyconfigs/l/lDDT/lDDT-1.2.eb new file mode 100644 index 00000000000..2ef169d82e5 --- /dev/null +++ b/easybuild/easyconfigs/l/lDDT/lDDT-1.2.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'lDDT' +version = '1.2' + +homepage = 'https://openstructure.org' +description = """The local Distance Difference Test (lDDT) is a superposition-free score which evaluates local distance +differences in a model compared to a reference structure.""" + +toolchain = SYSTEM + +source_urls = ['https://openstructure.org/static/'] +sources = ['%(namelower)s-linux.zip'] +checksums = ['3f4f72dc790f64431d29f7ff04353d3bbade8c8c12a487a1a99240a82fc4fcec'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['lddt', 'stereo_chemical_props.txt'], + 'dirs': [], +} + +sanity_check_commands = ['lddt -e'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb b/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb new file mode 100644 index 00000000000..986728f528f --- /dev/null +++ b/easybuild/easyconfigs/l/lagrangian-filtering/lagrangian-filtering-0.8.3-foss-2022a.eb @@ -0,0 +1,43 @@ +# This installation unfortunately requires the GitHub dance, as the tarball +# is simply not installing. For that reason there is no checksum! +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'lagrangian-filtering' +version = '0.8.3' + +homepage = 'https://github.com/angus-g/lagrangian-filtering' +description = """Temporal filtering of data in a Lagrangian frame of reference.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dask', '2022.10.0'), + ('h5py', '3.7.0'), + ('SciPy-bundle', '2022.05'), + ('netcdf4-python', '1.6.1'), + ('Parcels', '2.4.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/angus-g/', + 'repo_name': name, + 'tag': version, + 'keep_git_dir': True, + }, + }], + 'checksums': [None], + 'modulename': 'filtering', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb b/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb new file mode 100644 index 00000000000..6031932aa6c --- /dev/null +++ b/easybuild/easyconfigs/l/langchain-anthropic/langchain-anthropic-0.1.15-foss-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'langchain-anthropic' +version = '0.1.15' + +homepage = 'https://python.langchain.com' +description = """ +This package contains the LangChain integration for Anthropic's generative models. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('LangChain', '0.2.1'), + ('tokenizers', '0.15.2'), + ('jiter', '0.4.1'), +] + +exts_list = [ + ('langchain-core', '0.2.3', { + 'sources': ['langchain_core-%(version)s.tar.gz'], + 'checksums': ['fbc75a64b9c0b7655d96ca57a707df1e6c09efc1539c36adbd73260612549810'], + }), + ('anyio', '4.4.0', { + 'checksums': ['5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('anthropic', '0.28.0', { + 'source_tmpl': 'anthropic-0.28.0-py3-none-any.whl', + 'checksums': ['2b620b21aee3d20c5d8005483c34df239d53ae895687113b26b8a36892a7e20f'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + (name, version, { + 'sources': ['langchain_anthropic-%(version)s.tar.gz'], + 'checksums': ['c5c3c6eaccb11ed99a63886e50873ac21eaf8e9441e0f75c7ae7cd8cdef65155'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/l/langchain-mistralai/langchain-mistralai-0.1.8-foss-2023a.eb b/easybuild/easyconfigs/l/langchain-mistralai/langchain-mistralai-0.1.8-foss-2023a.eb new file mode 100644 index 00000000000..78fc26dda3f --- /dev/null +++ b/easybuild/easyconfigs/l/langchain-mistralai/langchain-mistralai-0.1.8-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'langchain-mistralai' +version = '0.1.8' + +homepage = 'https://github.com/langchain-ai/langchain' +description = """ +This package contains the LangChain integrations for MistralAI through their mistralai SDK. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('LangChain', '0.2.1'), + ('tokenizers', '0.15.2'), + ('jiter', '0.4.1'), +] + +exts_list = [ + ('langchain-core', '0.2.3', { + 'sources': ['langchain_core-%(version)s.tar.gz'], + 'checksums': ['fbc75a64b9c0b7655d96ca57a707df1e6c09efc1539c36adbd73260612549810'], + }), + ('anyio', '4.4.0', { + 'checksums': ['5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94'], + }), + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.25.2', { + 'checksums': ['8b8fcaa0c8ea7b05edd69a094e63a2094c4efcb48129fb757361bc423c0ad9e8'], + }), + ('httpx-sse', '0.4.0', { + 'checksums': ['1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('mistralai', '0.4.0', { + 'checksums': ['1f21f02dec1fd6fefe12ca100d5937fd62542c11008c193d16df6f4a2d8554da'], + }), + (name, version, { + 'sources': ['langchain_mistralai-%(version)s.tar.gz'], + 'checksums': ['dc328f7aedfd9e88eeb79de5692dfc3907793b82ef59f0d6722d19c1c8bfcdc2'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/l/langchain-openai/langchain-openai-0.1.8-foss-2023a.eb b/easybuild/easyconfigs/l/langchain-openai/langchain-openai-0.1.8-foss-2023a.eb new file mode 100644 index 00000000000..e46f2e43b4c --- /dev/null +++ b/easybuild/easyconfigs/l/langchain-openai/langchain-openai-0.1.8-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'langchain-openai' +version = '0.1.8' + +homepage = 'https://github.com/langchain-ai/langchain' +description = """ +This package contains the LangChain integrations for OpenAI through their openai SDK. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('LangChain', '0.2.1'), + ('tiktoken', '0.7.0'), # needs tiktoken >= 0.7.0 + ('openai-python', '1.30.5'), +] + +exts_list = [ + (name, version, { + 'sources': ['langchain_openai-%(version)s.tar.gz'], + 'checksums': ['a11fcce15def7917c44232abda6baaa63dfc79fe44be1531eea650d39a44cd95'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/l/lavaan/lavaan-0.6-9-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/l/lavaan/lavaan-0.6-9-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..beee4bf467b --- /dev/null +++ b/easybuild/easyconfigs/l/lavaan/lavaan-0.6-9-foss-2021a-R-4.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'lavaan' +version = '0.6-9' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/%(name)s' +description = """Fit a variety of latent variable models, including confirmatory factor analysis, structural + equation modeling and latent growth curve models.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['d404c4eb40686534f9c05f24f908cd954041f66d1072caea4a3adfa83a5f108a'] + +dependencies = [('R', '4.1.0')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lavaan'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8833e01d498 --- /dev/null +++ b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'lcalc' +version = '2.0.5' + +homepage = 'https://gitlab.com/sagemath/lcalc' +description = "Lcalc is a package for working with L-functions." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/sagemath/lcalc/uploads/25f029f3c02fcb6c3174972e0ac0e192/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d780c385579cc6ee45fa27ccd2d3a3c4157fbb5ef8cd1b8951d1028bbc64c035'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), + ('gengetopt', '2.23'), + ('pkgconf', '1.8.0'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = "--with-pari " + +dependencies = [ + ('MPFR', '4.1.0'), + ('PARI-GP', '2.15.4'), +] + +sanity_check_paths = { + 'files': ['bin/lcalc', 'include/lcalc/L.h', 'lib/libLfunction.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["lcalc --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5ea399ff520 --- /dev/null +++ b/easybuild/easyconfigs/l/lcalc/lcalc-2.0.5-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'lcalc' +version = '2.0.5' + +homepage = 'https://gitlab.com/sagemath/lcalc' +description = "Lcalc is a package for working with L-functions." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.com/sagemath/lcalc/uploads/25f029f3c02fcb6c3174972e0ac0e192/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d780c385579cc6ee45fa27ccd2d3a3c4157fbb5ef8cd1b8951d1028bbc64c035'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('gengetopt', '2.23'), + ('pkgconf', '2.0.3'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = "--with-pari " + +dependencies = [ + ('MPFR', '4.2.1'), + ('PARI-GP', '2.15.5'), +] + +sanity_check_paths = { + 'files': ['bin/lcalc', 'include/lcalc/L.h', 'lib/libLfunction.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +sanity_check_commands = ["lcalc --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/leafcutter/leafcutter-0.2.9-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/l/leafcutter/leafcutter-0.2.9-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..29b15dc2b8c --- /dev/null +++ b/easybuild/easyconfigs/l/leafcutter/leafcutter-0.2.9-foss-2022b-R-4.2.2.eb @@ -0,0 +1,39 @@ +easyblock = 'RPackage' + +name = 'leafcutter' +version = '0.2.9' +# there's no proper 0.2.9 release, so using commit that updated DESCRIPTION file +local_commit = 'd02bc35' +versionsuffix = '-R-%(rver)s' + +homepage = "http://davidaknowles.github.io/leafcutter/index.html" +description = """Leafcutter quantifies RNA splicing variation using short-read RNA-seq data. + The core idea is to leverage spliced reads (reads that span an intron) to quantify (differential) + intron usage across samples. The advantages of this approach include: easy detection of novel introns, + modeling of more complex splicing events than exonic PSI, avoiding the challenge of isoform abundance + estimation, simple, computationally efficient algorithms scaling to 100s or even 1000s of samples. + For details please see our bioRxiv preprint and corresponding Nature Genetics publication. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/davidaknowles/leafcutter/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['defee98257b330200b86b1a158231b818025a1f30c019c254907c2669efdf9f7'] + +dependencies = [ + ('SAMtools', '1.17'), + ('RegTools', '1.0.0'), + ('Python', '3.10.8'), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +start_dir = 'leafcutter' + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.1-foss-2022b.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.1-foss-2022b.eb new file mode 100644 index 00000000000..1ea193ccc14 --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.10.1-foss-2022b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.10.1' + +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': '2022b'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('PyYAML', '6.0'), + ('Bison', '3.8.2'), + ('libtool', '2.4.7'), + ('flex', '2.6.4'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('igraph', '0.10.6'), + ('python-igraph', '0.10.6'), + ('libleidenalg', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ddt', '1.6.0', { + 'checksums': ['f71b348731b8c78c3100bffbd951a769fbd439088d1fdbb3841eee019af80acd'], + }), + (name, version, { + 'checksums': ['457ad96982a80bd5c657189f42dfeb77eebcd3b744a110e5a2c1618d2eb80b47'], + }), +] + +sanity_check_commands = [ + "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/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/leidenalg/leidenalg-0.8.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.2-foss-2020a-Python-3.8.2.eb index 159d9f4e461..e742d1f8b77 100644 --- a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.2-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.2-foss-2020a-Python-3.8.2.eb @@ -13,6 +13,9 @@ toolchain = {'name': 'foss', 'version': '2020a'} builddependencies = [ ('pkg-config', '0.29.2'), ('PyYAML', '5.3'), + ('Bison', '3.5.3'), + ('libtool', '2.4.6'), + ('flex', '2.6.4'), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-foss-2020b.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-foss-2020b.eb index b5307684eb1..6df451ff574 100644 --- a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-foss-2020b.eb +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-foss-2020b.eb @@ -16,6 +16,7 @@ builddependencies = [ ('PyYAML', '5.3.1'), ('Bison', '3.7.1'), ('libtool', '2.4.6'), + ('flex', '2.6.4'), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-fosscuda-2020b.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-fosscuda-2020b.eb index 66efa3a2fc8..8aad4bf9f15 100644 --- a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.3-fosscuda-2020b.eb @@ -16,6 +16,7 @@ builddependencies = [ ('PyYAML', '5.3.1'), ('Bison', '3.7.1'), ('libtool', '2.4.6'), + ('flex', '2.6.4'), ] dependencies = [ diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.7-foss-2021a.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.7-foss-2021a.eb new file mode 100644 index 00000000000..f5ea670b55d --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.7-foss-2021a.eb @@ -0,0 +1,51 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.8.7' + +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': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('PyYAML', '5.4.1'), + ('Bison', '3.7.6'), + ('libtool', '2.4.6'), + ('flex', '2.6.4'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('igraph', '0.9.4'), + ('python-igraph', '0.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ddt', '1.4.2', { + 'checksums': ['64a67366a2715e636b88694cc6075cc02db292f01098b8e385397c894d395378'], + }), + (name, version, { + 'checksums': ['4cde1c51bc110e567b63a5f17f4321ff4073d79c67e8c3c7d956f07dc90ff7be'], + 'preinstallopts': "python setup.py build --use-pkg-config && ", + }), +] + +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 --use-pkg-config", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.8-foss-2021b.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.8-foss-2021b.eb new file mode 100644 index 00000000000..ee2a8af4bb9 --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.8.8-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.8.8' + +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': '2021b'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('PyYAML', '5.4.1'), + ('Bison', '3.7.6'), + ('libtool', '2.4.6'), + ('flex', '2.6.4'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('igraph', '0.9.5'), + ('python-igraph', '0.9.8'), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = "python setup.py build --use-pkg-config && " +# 'python-igraph' dependency was renamed to 'igraph' +local_preinstallopts += "sed -i 's/python-igraph >=/igraph >=/g' setup.py && " + +exts_list = [ + ('ddt', '1.4.4', { + 'checksums': ['8de39a69730442dc835e4d33f9d2e33043ff91151c8d18086959ee556febb9f8'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['12750f66d1f0c84ed4484fa895a9d5a163e2f4b611edb12ad09cc66120654df3'], + }), +] + +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 --use-pkg-config", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb new file mode 100644 index 00000000000..96b300e82cb --- /dev/null +++ b/easybuild/easyconfigs/l/leidenalg/leidenalg-0.9.1-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'leidenalg' +version = '0.9.1' + +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': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('PyYAML', '6.0'), + ('Bison', '3.8.2'), + ('libtool', '2.4.7'), + ('flex', '2.6.4'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('igraph', '0.10.3'), + ('python-igraph', '0.10.3'), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = "python setup.py build --use-pkg-config && " + +exts_list = [ + ('ddt', '1.6.0', { + 'checksums': ['f71b348731b8c78c3100bffbd951a769fbd439088d1fdbb3841eee019af80acd'], + }), + (name, version, { + 'checksums': ['7e5cfe3b6f80f32b90f55f35c68d4a990b0489b1282cf3fabac8cda4988975f3'], + 'preinstallopts': local_preinstallopts, + }), +] + +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 --use-pkg-config", + "python -c 'import leidenalg; import igraph as ig; " + "leidenalg.find_partition(ig.Graph.Erdos_Renyi(100, 0.1), " + "leidenalg.ModularityVertexPartition)'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/lftp/lftp-4.9.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/lftp/lftp-4.9.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..78c236719ea --- /dev/null +++ b/easybuild/easyconfigs/l/lftp/lftp-4.9.2-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'lftp' +version = '4.9.2' + +homepage = 'https://lftp.yar.ru' +description = """LFTP is a sophisticated ftp/http client, and a file transfer program supporting +a number of network protocols. Like BASH, it has job control and uses the readline library for +input. It has bookmarks, a built-in mirror command, and can transfer several files in parallel. +It was designed with reliability in mind.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://lftp.yar.ru/ftp/'] +sources = [SOURCE_TAR_GZ] +checksums = ['a37589c61914073f53c5da0e68bd233b41802509d758a022000e1ae2076da733'] + +dependencies = [ + ('ncurses', '6.2'), +] + +builddependencies = [ + ('binutils', '2.37'), + ('libreadline', '8.1'), + ('zlib', '1.2.11') +] + +# for this version of lftp the gnutls library is optional +configopts = "--with-readline=$EBROOTLIBREADLINE --without-gnutls" + +sanity_check_paths = { + 'files': ['bin/lftp'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libBigWig/libBigWig-0.4.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libBigWig/libBigWig-0.4.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..73c5218ac1e --- /dev/null +++ b/easybuild/easyconfigs/l/libBigWig/libBigWig-0.4.6-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'MakeCp' + +name = 'libBigWig' +version = '0.4.6' + +homepage = 'https://github.com/dpryan79/libBigWig' +description = "A C library for handling bigWig files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/dpryan79/libBigWig/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['eb4ecbd3ae428474a57dab969fa7564ae755310da65be68efa18969e0d132a9e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('cURL', '7.78.0')] + +files_to_copy = [(['libBigWig.*'], 'lib'), (['*.h'], 'include')] + +sanity_check_paths = { + 'files': ['include/bigWig.h', 'lib/libBigWig.a', 'lib/libBigWig.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..3906b94a407 --- /dev/null +++ b/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCC-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'libFLAME' +version = '5.2.0' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame' +description = """libFLAME is a portable library for dense matrix computations, +providing much of the functionality present in LAPACK.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flame/libflame/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c'] + +# '--enable-max-arg-list-hack --enable-dynamic-build' requires 'file' function from GNU Make 4.x +builddependencies = [ + ('Python', '3.9.5'), + ('make', '4.3'), # needed on Cent OS 7 where make 3 is installed +] + +dependencies = [('BLIS', '0.8.1')] + +# Use unset FLIBS to let configure pick up LDFLAGS +preconfigopts = 'unset FLIBS && ' +preconfigopts += 'LIBS="-lblis $LIBS" ' +preconfigopts += 'LDFLAGS="$LDFLAGS -L$EBROOTBLIS/lib -fopenmp -lm -lpthread" ' +preconfigopts += 'CFLAGS="$CFLAGS -I$EBROOTBLIS/include/blis" ' + +configopts = '--enable-max-arg-list-hack ' +configopts += '--enable-lapack2flame ' +configopts += '--enable-external-lapack-interfaces ' +configopts += '--enable-cblas-interfaces ' +configopts += '--enable-dynamic-build ' +configopts += '--enable-multithreading=openmp ' + +# libFLAME C++ Template API tests +# runtest = 'checkcpp LIBBLAS=$EBROOTBLIS/lib/libblis.a' + +# sanity_check_commands = [ +# 'cd %(builddir)s/%(namelower)s-%(version)s/test ' +# '&& make LIBBLAS=$EBROOTBLIS/lib/libblis-mt.so LDFLAGS="-fopenmp -lm -lpthread" ' +# '&& ./test_libfame.x' +# ] + +sanity_check_paths = { + 'files': ['include/FLAME.h', 'lib/libflame.a', 'lib/libflame.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0ee04fd3c5c --- /dev/null +++ b/easybuild/easyconfigs/l/libFLAME/libFLAME-5.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'libFLAME' +version = '5.2.0' + +homepage = 'https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame' +description = """libFLAME is a portable library for dense matrix computations, +providing much of the functionality present in LAPACK.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/flame/libflame/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['997c860f351a5c7aaed8deec00f502167599288fd0559c92d5bfd77d0b4d475c'] + +# '--enable-max-arg-list-hack --enable-dynamic-build' requires 'file' function from GNU Make 4.x +builddependencies = [ + ('binutils', '2.36.1'), + ('Python', '3.9.5'), + ('make', '4.3'), # needed on Cent OS 7 where make 3 is installed +] + +dependencies = [('BLIS', '0.8.1')] + +# Use unset FLIBS to let configure pick up LDFLAGS +preconfigopts = 'unset FLIBS && ' +preconfigopts += 'LIBS="-lblis $LIBS" ' +preconfigopts += 'LDFLAGS="$LDFLAGS -L$EBROOTBLIS/lib -fopenmp -lm -lpthread" ' +preconfigopts += 'CFLAGS="$CFLAGS -I$EBROOTBLIS/include/blis" ' + +configopts = '--enable-max-arg-list-hack ' +configopts += '--enable-lapack2flame ' +configopts += '--enable-external-lapack-interfaces ' +configopts += '--enable-cblas-interfaces ' +configopts += '--enable-dynamic-build ' +configopts += '--enable-multithreading=openmp ' + +# libFLAME C++ Template API tests +# runtest = 'checkcpp LIBBLAS=$EBROOTBLIS/lib/libblis.a' + +# sanity_check_commands = [ +# 'cd %(builddir)s/%(namelower)s-%(version)s/test ' +# '&& make LIBBLAS=$EBROOTBLIS/lib/libblis-mt.so LDFLAGS="-fopenmp -lm -lpthread" ' +# '&& ./test_libfame.x' +# ] + +sanity_check_paths = { + 'files': ['include/FLAME.h', 'lib/libflame.a', 'lib/libflame.%s' % SHLIB_EXT], + 'dirs': ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/libGDSII/libGDSII-0.21-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libGDSII/libGDSII-0.21-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5ebb3d807a4 --- /dev/null +++ b/easybuild/easyconfigs/l/libGDSII/libGDSII-0.21-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libGDSII' +version = '0.21' + +homepage = 'https://github.com/HomerReid/libGDSII' +description = """libGDSII is a C++ library for working with GDSII binary data files, + intended primarily for use with the computational electromagnetism codes + scuff-em and meep but sufficiently general-purpose to allow other uses as well.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/HomerReid/libGDSII/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['31c90a4fb699746d051c0c597ef0543889c9f17b2a711fed398756ac4f1b1f4c'] + +builddependencies = [ + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/GDSIIConvert', 'include/libGDSII.h', 'lib/libGDSII.a', 'lib/libGDSII.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..669bc4bc96c --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.2' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.gz'] +checksums = ['24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Mesa', '21.1.7'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..063587f7e10 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.2' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.gz'] +checksums = ['24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Mesa', '22.0.3'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2a35c328e4b --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.2-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.2' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.gz'] +checksums = ['24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Mesa', '22.2.4'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..326dfd2626e --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'libGLU' +version = '9.0.3' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.xz'] +checksums = ['bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), + ('Ninja', '1.11.1'), + ('Meson', '1.1.1'), +] + +dependencies = [('Mesa', '23.1.4')] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b2c0581c7f6 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'libGLU' +version = '9.0.3' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.xz'] +checksums = ['bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f'] + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), + ('Ninja', '1.11.1'), + ('Meson', '1.2.3'), +] + +dependencies = [('Mesa', '23.1.9')] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8a01a3ac439 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.3-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'libGLU' +version = '9.0.3' + +homepage = 'https://mesa.freedesktop.org/archive/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://mesa.freedesktop.org/archive/glu/'] +sources = ['glu-%(version)s.tar.xz'] +checksums = ['bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f'] + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('binutils', '2.42'), + ('Ninja', '1.12.1'), + ('Meson', '1.4.0'), +] + +dependencies = [('Mesa', '24.1.3')] + +sanity_check_paths = { + 'files': ['lib/libGLU.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2020b.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2020b.eb new file mode 100644 index 00000000000..4cfcff47e52 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021a.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021a.eb new file mode 100644 index 00000000000..3e8c27112b0 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021b.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021b.eb new file mode 100644 index 00000000000..3197c6ad2d3 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-gompi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2020b.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2020b.eb new file mode 100644 index 00000000000..e8ca5b58839 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'iimpi', 'version': '2020b'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021a.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021a.eb new file mode 100644 index 00000000000..9f0db8c593f --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021b.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021b.eb new file mode 100644 index 00000000000..c3ad7973ac2 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-0.9.6-iimpi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libGridXC' +version = '0.9.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/uploads/e6e4ec1e3ec648a45b3613e724c7be04'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee513eeb08b631e2efaaea62e73d85b6fbf204da85963be785915802e5497463'] + +local_common_configopts = "--enable-static --enable-shared --enable-multiconfig --with-libxc" + +configopts = [ + local_common_configopts + " --without-mpi", + local_common_configopts + " CC=$MPICC FC=$MPIFC CXX=$MPICXX --with-mpi", +] + +dependencies = [('libxc', '4.3.4')] + +sanity_check_paths = { + 'files': + ['include/gridxc_dp%s/gridxc.mod' % x for x in ['', '_mpi']] + + [('lib/libgridxc_dp.a', 'lib64/libgridxc_dp.a')] + + [('lib/libgridxc_dp_mpi.a', 'lib64/libgridxc_dp_mpi.a')], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libGridXC/libGridXC-1.1.0-gompi-2022a.eb b/easybuild/easyconfigs/l/libGridXC/libGridXC-1.1.0-gompi-2022a.eb new file mode 100644 index 00000000000..acb27067217 --- /dev/null +++ b/easybuild/easyconfigs/l/libGridXC/libGridXC-1.1.0-gompi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'libGridXC' +version = '1.1.0' + +homepage = 'https://gitlab.com/siesta-project/libraries/libgridxc' +description = """A library to compute the exchange and correlation energy + and potential in spherical (i.e. atoms) or periodic systems.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'opt': True} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libgridxc/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e7883e57a4db2438ee59437740291c06e0cfe1c8ae1901e4001f32312307e46a'] + +configopts = "-DWITH_MPI=ON -DWITH_LIBXC=ON" + +preconfigopts = 'CPATH= ' # gfortran ignores CPATH, but pkgconf also excludes dirs from CPATH + +dependencies = [('libxc', '5.2.3')] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +sanity_check_paths = { + 'files': ['lib/libgridxc.a'], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/libgridxc'], +} + +runtest = 'test' + +moduleclass = 'phys' 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/libPSML/libPSML-1.1.10-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.2.0.eb new file mode 100644 index 00000000000..080cda40c54 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb new file mode 100644 index 00000000000..63c81ea2b59 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb new file mode 100644 index 00000000000..f4127f8e7be --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-GCC-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..ae80d7188d3 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-iccifort-2020.4.304.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..6cea4adc02c --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..5ef4539f7ef --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.10-intel-compilers-2021.4.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.10' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/uploads/95c4d83d750d1ca87659b6395c8f7ea7/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['67c38b5bc26acbb77fd13794d1d92f41197a44311314f5453c82506205e0717b'] + +dependencies = [ + ('xmlf90', '1.5.4'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.12-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.12-GCC-11.3.0.eb new file mode 100644 index 00000000000..3b6c72c06b5 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.12-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'libPSML' +version = '1.1.12' + +homepage = 'https://gitlab.com/siesta-project/libraries/libpsml' +description = """A library to handle pseudopotentials in PSML format""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libpsml/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c61503d5a5de119f970f1bf27aa0ac8059b87e81d1a8013bef1bb7993df44c56'] + +dependencies = [ + ('xmlf90', '1.5.6'), +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libpsml.a'], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/libpsml'], +} + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb new file mode 100644 index 00000000000..bcced182a08 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2016b.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.7' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'foss', 'version': '2016b'} + +source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] + +dependencies = [ + ('xmlf90', '1.5.3'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb new file mode 100644 index 00000000000..b3b660d8604 --- /dev/null +++ b/easybuild/easyconfigs/l/libPSML/libPSML-1.1.7-foss-2017a.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libPSML' +version = '1.1.7' + +homepage = 'https://launchpad.net/libpsml' +description = """LibPSML provides a Fortran API to parse files in the + PSeudopotential Markup Language (PSML) format.""" + +toolchain = {'name': 'foss', 'version': '2017a'} + +source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] + +dependencies = [ + ('xmlf90', '1.5.3'), +] + +sanity_check_paths = { + 'files': ['include/m_psml.mod', 'lib/libpsml.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.8.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.8.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9d7bd0007da --- /dev/null +++ b/easybuild/easyconfigs/l/libQGLViewer/libQGLViewer-2.8.0-GCCcore-10.3.0.eb @@ -0,0 +1,24 @@ +name = 'libQGLViewer' +version = '2.8.0' + +homepage = 'http://libqglviewer.com/' +description = "libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://www.libqglviewer.com/src'] +sources = [SOURCE_TAR_GZ] +checksums = ['03d2d3394866cdc419f43713aed827262c714cc4facddea7c3ba1d93dae3c4cc'] + +dependencies = [ + ('Qt5', '5.15.2'), + ('libGLU', '9.0.1'), +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +start_dir = '%(builddir)s/libQGLViewer-%(version)s/QGLViewer' + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libRmath/libRmath-4.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libRmath/libRmath-4.1.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..1f09fb058ea --- /dev/null +++ b/easybuild/easyconfigs/l/libRmath/libRmath-4.1.0-GCCcore-10.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# Updated: Denis Kristak (INUITS) +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'libRmath' +version = '4.1.0' + +homepage = 'https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library' +description = """The routines supporting the distribution and special functions in R and a few others are declared + in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = ['R-%(version)s.tar.gz'] +checksums = ['e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781'] + +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.72.0'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('PCRE2', '10.35'), +] + +parallel = 1 + +start_dir = 'src/nmath/standalone' + +preconfigopts = 'cd %(builddir)s/R-%(version)s && ' +configopts = '--with-readline=no --with-recommended-packages=no --with-x=no' + +postinstallcmds = ["cp -r %(builddir)s/R-%(version)s/src/include/R_ext %(installdir)s/include/"] + +runtest = 'check' + +sanity_check_paths = { + 'files': ["lib/libRmath.%s" % SHLIB_EXT, "lib/libRmath.a", + "lib/pkgconfig/libRmath.pc", + "include/Rmath.h"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libRmath/libRmath-4.1.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libRmath/libRmath-4.1.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5f5f8fcd745 --- /dev/null +++ b/easybuild/easyconfigs/l/libRmath/libRmath-4.1.2-GCCcore-11.2.0.eb @@ -0,0 +1,55 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# Updated: Denis Kristak (INUITS) +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# updated to version 4.1.2 +# J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'libRmath' +version = '4.1.2' + +homepage = 'https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library' +description = """The routines supporting the distribution and special functions in R and a few others are declared + in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = ['R-%(version)s.tar.gz'] +checksums = ['2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.78.0'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('PCRE2', '10.37'), +] + +parallel = 1 + +start_dir = 'src/nmath/standalone' + +preconfigopts = 'cd %(builddir)s/R-%(version)s && ' +configopts = '--with-readline=no --with-recommended-packages=no --with-x=no' + +postinstallcmds = ["cp -r %(builddir)s/R-%(version)s/src/include/R_ext %(installdir)s/include/"] + +runtest = 'check' + +sanity_check_paths = { + 'files': ["lib/libRmath.%s" % SHLIB_EXT, "lib/libRmath.a", + "lib/pkgconfig/libRmath.pc", + "include/Rmath.h"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libRmath/libRmath-4.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libRmath/libRmath-4.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..cf6e8b6cc4f --- /dev/null +++ b/easybuild/easyconfigs/l/libRmath/libRmath-4.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# Updated: Denis Kristak (INUITS) +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'libRmath' +version = '4.2.0' + +homepage = 'https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library' +description = """The routines supporting the distribution and special functions in R and a few others are declared + in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = ['R-%(version)s.tar.gz'] +checksums = ['38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('cURL', '7.76.0'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('PCRE2', '10.36'), +] + +parallel = 1 + +start_dir = 'src/nmath/standalone' + +preconfigopts = 'cd %(builddir)s/R-%(version)s && ' +configopts = '--with-readline=no --with-recommended-packages=no --with-x=no' + +postinstallcmds = ["cp -r %(builddir)s/R-%(version)s/src/include/R_ext %(installdir)s/include/"] + +runtest = 'check' + +sanity_check_paths = { + 'files': ["lib/libRmath.%s" % SHLIB_EXT, "lib/libRmath.a", + "lib/pkgconfig/libRmath.pc", + "include/Rmath.h"], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libRmath/libRmath-4.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libRmath/libRmath-4.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b8e5a2762f5 --- /dev/null +++ b/easybuild/easyconfigs/l/libRmath/libRmath-4.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://easybuilders.github.io/easybuild/ +# Author: Pablo Escobar Lopez +# Updated: Denis Kristak (INUITS) +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'libRmath' +version = '4.2.1' + +homepage = 'https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library' +description = """The routines supporting the distribution and special functions in R and a few others are declared + in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = ['R-%(version)s.tar.gz'] +checksums = ['4d52db486d27848e54613d4ee977ad952ec08ce17807e1b525b10cd4436c643f'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('cURL', '7.83.0'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), + ('PCRE2', '10.40'), +] + +preconfigopts = "cd %(builddir)s/R-%(version)s && " +configopts = "--with-readline=no --with-recommended-packages=no --with-x=no" + +parallel = 1 + +postinstallcmds = ['cp -r %(builddir)s/R-%(version)s/src/include/R_ext %(installdir)s/include/'] +runtest = 'check' +start_dir = 'src/nmath/standalone' + +sanity_check_paths = { + 'files': ['lib/libRmath.%s' % SHLIB_EXT, 'lib/%(name)s.a', 'lib/pkgconfig/%(name)s.pc', 'include/Rmath.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..bbf22c8faf6 --- /dev/null +++ b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.2.0.eb @@ -0,0 +1,79 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# Modified by: Toni Harzendorf +# +# 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.0' + +# 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': '10.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/sbml/libsbml/%(version)s/stable/'] +sources = ['libSBML-%(version)s-core-plus-packages-src.tar.gz'] +patches = [ + 'libsbml-fix_install_libpaths.patch', # Fix some installation library paths (from Fedora) + 'libsbml-fix_perl_auto_case.patch', # Fix the misname for Perl .so binding folder + # (https://sourceforge.net/p/sbml/libsbml/476/) +] +checksums = [ + 'a7f0e18be78ff0e064e4cdb1cd86634d08bc33be5250db4a1878bd81eeb8b547', # libSBML-5.19.0-core-plus-packages-src.tar.gz + '1975b9372be00c5056e1f3408b8829e749adb1edb3345fd109d5c802b5219e45', # libsbml-fix_install_libpaths.patch + '52b3274ce1fdfb329bc53feb67b9862833a1240539eca2f137fcdca00800e34e', # libsbml-fix_perl_auto_case.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Perl', '5.32.0'), +] + +# 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 ' +configure_cmd += '-DENABLE_{LAYOUT,QUAL,COMP,FBC,RENDER,GROUPS,MULTI,DISTRIB}=ON ' +configure_cmd += '../libSBML-%(version)s-Source/' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib64/libsbml.%s' % SHLIB_EXT, 'lib64/perl5/vendor_perl/LibSBML.pm'], + 'dirs': ['lib64', 'include', 'share'] +} + +modextrapaths = { + 'PERL5LIB': 'lib64/perl5/vendor_perl/', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..858ea5e7787 --- /dev/null +++ b/easybuild/easyconfigs/l/libSBML/libSBML-5.19.0-GCC-10.3.0.eb @@ -0,0 +1,81 @@ +## +# 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.0' + +# 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': '10.3.0'} + +source_urls = ['https://downloads.sourceforge.net/project/sbml/libsbml/%(version)s/stable/'] +sources = ['libSBML-%(version)s-core-plus-packages-src.tar.gz'] +patches = [ + 'libsbml-fix_install_libpaths.patch', # Fix some installation library paths (from Fedora) + 'libsbml-fix_perl_auto_case.patch', # Fix the misname for Perl .so binding folder + # (https://sourceforge.net/p/sbml/libsbml/476/) +] +checksums = [ + 'a7f0e18be78ff0e064e4cdb1cd86634d08bc33be5250db4a1878bd81eeb8b547', # libSBML-5.19.0-core-plus-packages-src.tar.gz + '1975b9372be00c5056e1f3408b8829e749adb1edb3345fd109d5c802b5219e45', # libsbml-fix_install_libpaths.patch + '52b3274ce1fdfb329bc53feb67b9862833a1240539eca2f137fcdca00800e34e', # libsbml-fix_perl_auto_case.patch +] + + +builddependencies = [ + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Perl', '5.32.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 ' +configure_cmd += '-DENABLE_{LAYOUT,QUAL,COMP,FBC,RENDER,GROUPS,MULTI,DISTRIB}=ON ' +configure_cmd += '../libSBML-%(version)s-Source/' + + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib64/libsbml.so', 'lib64/perl5/vendor_perl/LibSBML.pm'], + 'dirs': ['lib64', 'include', 'share'] +} + +modextrapaths = { + 'PERL5LIB': 'lib64/perl5/vendor_perl/', +} + + +moduleclass = 'bio' 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/libSBML/libsbml-fix_install_libpaths.patch b/easybuild/easyconfigs/l/libSBML/libsbml-fix_install_libpaths.patch new file mode 100644 index 00000000000..42acbc65623 --- /dev/null +++ b/easybuild/easyconfigs/l/libSBML/libsbml-fix_install_libpaths.patch @@ -0,0 +1,46 @@ +##This patch sets libraries' installation paths according to the Fedora packaging guidelines +--- a/src/bindings/ruby/CMakeLists.orig.txt 2014-11-26 13:31:14.000000000 +0100 ++++ b/src/bindings/ruby/CMakeLists.txt 2014-12-28 23:25:47.035666311 +0100 +@@ -177,7 +177,7 @@ + if (UNIX OR CYGWIN) + execute_process(COMMAND "${RUBY_EXECUTABLE}" -e "print RUBY_PLATFORM" + OUTPUT_VARIABLE RUBY_PLATFORM) +- set(RUBY_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/ruby/site_ruby/${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}/${RUBY_PLATFORM}) ++ set(RUBY_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/ruby/vendor_ruby) + else() + set(RUBY_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/ruby) + endif() +--- a/src/bindings/csharp/CMakeLists.orig.txt 2014-11-26 13:31:17.000000000 +0100 ++++ b/src/bindings/csharp/CMakeLists.txt 2014-12-29 11:37:43.839593422 +0100 +@@ -213,7 +213,7 @@ + # + set(CSHAPR_PACKAGE_INSTALL_DIR) + if (UNIX OR CYGWIN) +- set(CSHAPR_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/mono/libsbmlcsP) ++ set(CSHAPR_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/mono/libsbmlcsP) + else() + set(CSHAPR_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/csharp) + endif() +--- a/src/bindings/octave/CMakeLists.orig.txt 2014-11-26 13:31:10.000000000 +0100 ++++ b/src/bindings/octave/CMakeLists.txt 2014-12-29 11:44:51.031069073 +0100 +@@ -67,7 +67,7 @@ + if (UNIX OR CYGWIN) + execute_process(COMMAND "${OCTAVE_CONFIG_EXECUTABLE}" -p CANONICAL_HOST_TYPE + OUTPUT_VARIABLE OCTAVE_PLATFORM OUTPUT_STRIP_TRAILING_WHITESPACE) +- set(OCTAVE_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/octave/site/oct/${OCTAVE_PLATFORM}) ++ set(OCTAVE_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/octave/packages/SBML-${PACKAGE_VERSION}) + else() + set(OCTAVE_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/octave) + endif() +--- a/src/bindings/perl/CMakeLists.orig.txt 2014-11-26 13:31:13.000000000 +0100 ++++ b/src/bindings/perl/CMakeLists.txt 2014-12-29 11:48:53.705649453 +0100 +@@ -232,7 +232,7 @@ + string(REPLACE "'" "" PERL_PLATFORM ${PERL_PLATFORM}) + string(REPLACE ";" "" PERL_PLATFORM ${PERL_PLATFORM}) + string(REPLACE "archname=" "" PERL_PLATFORM ${PERL_PLATFORM}) +- set(PERL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/perl5/site_perl/${PERL_VERSION}/${PERL_PLATFORM}) ++ set(PERL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/perl5/vendor_perl) + set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}/auto/libSBML) + else() + set(PERL_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/perl) + diff --git a/easybuild/easyconfigs/l/libSBML/libsbml-fix_perl_auto_case.patch b/easybuild/easyconfigs/l/libSBML/libsbml-fix_perl_auto_case.patch new file mode 100644 index 00000000000..d9408e93218 --- /dev/null +++ b/easybuild/easyconfigs/l/libSBML/libsbml-fix_perl_auto_case.patch @@ -0,0 +1,11 @@ +--- src/bindings/perl/CMakeLists.orig.txt 2021-08-05 09:58:34.411549348 +0200 ++++ src/bindings/perl/CMakeLists.txt 2021-08-05 09:59:17.520293364 +0200 +@@ -233,7 +233,7 @@ + string(REPLACE ";" "" PERL_PLATFORM ${PERL_PLATFORM}) + string(REPLACE "archname=" "" PERL_PLATFORM ${PERL_PLATFORM}) + set(PERL_PACKAGE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/perl5/vendor_perl) +- set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}/auto/libSBML) ++ set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}/auto/LibSBML) + else() + set(PERL_PACKAGE_INSTALL_DIR ${MISC_PREFIX}bindings/perl) + set(PERL_PACKAGE_INSTALL_BIN_DIR ${PERL_PACKAGE_INSTALL_DIR}) diff --git a/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb b/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb new file mode 100644 index 00000000000..41c152957ce --- /dev/null +++ b/easybuild/easyconfigs/l/libWallModelledLES/libWallModelledLES-0.6.1-foss-2021b.eb @@ -0,0 +1,46 @@ +name = "libWallModelledLES" +version = "0.6.1" +easyblock = "Binary" + +homepage = "https://bitbucket.org/lesituu/libwallmodelledles/" +description = """libWallModelledLES is a library based on OpenFOAM® technology, +extending the capabilities of OpenFOAM in the area of wall-modelled LES (WMLES). +This is a turbulence modelling methodology, which allows to make LES cheaper +by not resolving the inner region of turbulent boundary layers.""" + +toolchain = {"name": "foss", "version": "2021b"} +# 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://bitbucket.org/lesituu/libwallmodelledles/get/"] +sources = ["v%(version)s.tar.gz"] +checksums = ["06b2c06ef76b5247c0a0c0260ea1e4a58bed8e930d0a0add9fe60e626c4bc0f8"] + +dependencies = [ + ("OpenFOAM", "v2112"), +] + +extract_sources = True + +install_cmd = "source $FOAM_BASH && " + +# variables of target install directory +install_cmd += "export WM_PROJECT_USER_DIR=%(installdir)s && " +install_cmd += "export FOAM_USER_APPBIN=%(installdir)s/bin && " +install_cmd += "export FOAM_USER_LIBBIN=%(installdir)s/lib && " +install_cmd += "export LD_LIBRARY_PATH=%(installdir)s/lib:$LD_LIBRARY_PATH && " + +install_cmd += "pwd && ls && ./Allwmake -j %(parallel)s " +install_cmd += " && cp -av tests %(installdir)s " + +sanity_check_paths = { + "files": ["lib/libWallModelledLES.%s" % SHLIB_EXT], + "dirs": ["tests"], +} +sanity_check_commands = [ + "source $FOAM_BASH && cd %(installdir)s/tests/testCases/channel_flow && pimpleFoam" +] + +moduleclass = "cae" diff --git a/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c414dda9011 --- /dev/null +++ b/easybuild/easyconfigs/l/libabigail/libabigail-2.5-GCCcore-13.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'libabigail' +version = '2.5' + +description = """ +ABIGAIL stands for the Application Binary Interface Generic Analysis and +Instrumentation Library. + +It’s a framework which aims at helping developers and software distributors +to spot some ABI-related issues like interface incompatibility in ELF shared +libraries by performing a static analysis of the ELF binaries at hand. + +The type of interface incompatibilities that Abigail focuses on is related to +changes on the exported ELF functions and variables symbols, as well as layout +and size changes of data types of the functions and variables exported by +shared libraries. + +In other words, if the return type of a function exported by a shared library +changes in an incompatible way from one version of a given shared library to +another, we want Abigail to help people catch that. +""" +homepage = 'https://sourceware.org/libabigail' +docurls = ['https://sourceware.org/libabigail/manual'] + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('elfutils', '0.190'), + ('Python', '3.11.5'), + ('libxml2', '2.11.5'), +] + +source_urls = ['https://mirrors.kernel.org/sourceware/libabigail/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7cfc4e9b00ae38d87fb0c63beabb32b9cbf9ce410e52ceeb5ad5b3c5beb111f3'] + +configopts = '--enable-manual=no --enable-apidoc=no --with-sysroot=%(sysroot)s' + +sanity_check_paths = { + 'files': [ + 'bin/abicompat', 'bin/abidiff', + 'lib/libabigail.a', 'lib/libabigail.%s' % SHLIB_EXT, + ], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "abicompat --help | grep usage", + "abidiff --help | grep usage", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d5fc64c0361 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +# 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': '10.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.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-10.3.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7ed6541d683 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +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': '10.3.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.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-11.2.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2d4b3f1ceb2 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +# 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': '11.2.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.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-11.3.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..122fabeb939 --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +# 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': '11.3.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/aec', 'include/libaec.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-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-12.3.0.eb b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e434092683d --- /dev/null +++ b/easybuild/easyconfigs/l/libaec/libaec-1.0.6-GCCcore-12.3.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.3.0'} + +source_urls = ['https://gitlab.dkrz.de/k202009/%(namelower)s/-/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['abab8c237d85c982bb4d6bde9b03c1f3d611dcacbd58bca55afac2496d61d4be'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('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/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/libaed2/libaed2-1.3.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libaed2/libaed2-1.3.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..9274a05f2cd --- /dev/null +++ b/easybuild/easyconfigs/l/libaed2/libaed2-1.3.0-GCC-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'libaed2' +version = '1.3.0' + +homepage = 'https://aquatic.science.uwa.edu.au/research/models/AED' +description = """libaed2 is a library of modules and algorithms for +simulation of "aquatic ecodynamics" - water quality, aquatic +biogeochemsitry, biotic habitat and aquatic ecosystem dynamics.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/AquaticEcoDynamics/libaed2/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9152c2a5ac6da4162f73dc37c4a98e1cbd19a106195441b3d27a6df1911242f5'] + +buildopts = 'OPT_FFLAGS="$FFLAGS" ' + +files_to_copy = [ + (['mod/*', 'include/*.h'], 'include'), + 'lib', +] + +maxparallel = 1 + +sanity_check_paths = { + 'files': ['lib/%(name)s.a'], + 'dirs': ['include'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.2.0.eb index 699303eba68..1be5c814b95 100644 --- a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.2.0.eb @@ -2,7 +2,7 @@ easyblock = 'MakeCp' name = 'libaio' version = '0.3.112' -local_libversion = '1.0.1' +_libversion = '1.0.1' homepage = 'https://pagure.io/libaio' description = "Asynchronous input/output library that uses the kernels native interface." @@ -16,15 +16,23 @@ checksums = ['4410c033237828c9e1205537df3cc94d4956f39164ef6d17a7813c2c787504c4'] builddependencies = [('binutils', '2.35')] +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + files_to_copy = [ - (["src/libaio.a", "src/libaio.%s.%s" % (SHLIB_EXT, local_libversion)], "lib"), + (["src/libaio.a", "src/%s" % _soname], "lib"), (["src/libaio.h"], "include"), ] -postinstallcmds = ["cd %%(installdir)s/lib; ln -s libaio.%s.%s libaio.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT)] +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] sanity_check_paths = { - 'files': ['lib/libaio.a', 'lib/libaio.%s.%s' % (SHLIB_EXT, local_libversion), 'include/libaio.h'], + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.3.0.eb index 076fa063db8..1ae85f5f820 100644 --- a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-10.3.0.eb @@ -2,7 +2,7 @@ easyblock = 'MakeCp' name = 'libaio' version = '0.3.112' -local_libversion = '1.0.1' +_libversion = '1.0.1' homepage = 'https://pagure.io/libaio' description = "Asynchronous input/output library that uses the kernels native interface." @@ -16,15 +16,23 @@ checksums = ['4410c033237828c9e1205537df3cc94d4956f39164ef6d17a7813c2c787504c4'] builddependencies = [('binutils', '2.36.1')] +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + files_to_copy = [ - (["src/libaio.a", "src/libaio.%s.%s" % (SHLIB_EXT, local_libversion)], "lib"), + (["src/libaio.a", "src/%s" % _soname], "lib"), (["src/libaio.h"], "include"), ] -postinstallcmds = ["cd %%(installdir)s/lib; ln -s libaio.%s.%s libaio.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT)] +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] sanity_check_paths = { - 'files': ['lib/libaio.a', 'lib/libaio.%s.%s' % (SHLIB_EXT, local_libversion), 'include/libaio.h'], + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], 'dirs': [], } diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..052974c15a8 --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.112' +_libversion = '1.0.1' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['4410c033237828c9e1205537df3cc94d4956f39164ef6d17a7813c2c787504c4'] + +builddependencies = [('binutils', '2.37')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..024258d1792 --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.112-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.112' +_libversion = '1.0.1' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['4410c033237828c9e1205537df3cc94d4956f39164ef6d17a7813c2c787504c4'] + +builddependencies = [('binutils', '2.38')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..64d50b5219d --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.113' +_libversion = '1.0.2' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['1c561c20670c5c09cc8437a622008c0693c6a7816c1f30332da3796953b2f454'] + +builddependencies = [('binutils', '2.39')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..19154bc8933 --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.113' +_libversion = '1.0.2' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['1c561c20670c5c09cc8437a622008c0693c6a7816c1f30332da3796953b2f454'] + +builddependencies = [('binutils', '2.40')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e5a7827cc4b --- /dev/null +++ b/easybuild/easyconfigs/l/libaio/libaio-0.3.113-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'libaio' +version = '0.3.113' +_libversion = '1.0.2' + +homepage = 'https://pagure.io/libaio' +description = "Asynchronous input/output library that uses the kernels native interface." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pagure.io/%(name)s/archive/%(name)s-%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['1c561c20670c5c09cc8437a622008c0693c6a7816c1f30332da3796953b2f454'] + +builddependencies = [('binutils', '2.40')] + +_soname = "libaio.%s.%s" % (SHLIB_EXT, _libversion) + +files_to_copy = [ + (["src/libaio.a", "src/%s" % _soname], "lib"), + (["src/libaio.h"], "include"), +] + +# links to the shared library with generic names +_solinks = [ + "libaio.%s" % SHLIB_EXT, + "libaio.%s.1" % SHLIB_EXT, +] + +postinstallcmds = ["cd %%(installdir)s/lib && ln -s %s %s" % (_soname, l) for l in _solinks] + +sanity_check_paths = { + 'files': ['lib/%s' % l for l in ['libaio.a', _soname] + _solinks] + ['include/libaio.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.0-GCCcore-8.2.0.eb index a670e2affb6..747cbbb1639 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.0-GCCcore-8.2.0.eb @@ -19,6 +19,10 @@ checksums = ['8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e'] builddependencies = [ ('binutils', '2.31.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), ('XZ', '5.2.4'), ] diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.2-GCCcore-9.3.0.eb index 5a9350da514..c60d93c060f 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.2-GCCcore-9.3.0.eb @@ -19,6 +19,10 @@ checksums = ['b60d58d12632ecf1e8fad7316dc82c6b9738a35625746b47ecdcaf4aed176176'] builddependencies = [ ('binutils', '2.34'), +] + +dependencies = [ + ('zlib', '1.2.11'), ('XZ', '5.2.5'), ] diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.3-GCCcore-10.2.0.eb index 8c373a125e9..7214c3ae947 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.4.3-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.4.3-GCCcore-10.2.0.eb @@ -19,6 +19,10 @@ checksums = ['ee1e749213c108cb60d53147f18c31a73d6717d7e3d2481c157e1b34c881ea39'] builddependencies = [ ('binutils', '2.35'), +] + +dependencies = [ + ('zlib', '1.2.11'), ('XZ', '5.2.5'), ] diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-10.3.0.eb index f366494c3d8..df8e63cdd74 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-10.3.0.eb @@ -20,8 +20,12 @@ checksums = ['9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a'] builddependencies = [ ('binutils', '2.36.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), ('XZ', '5.2.5'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c0609d8718e --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.5.1' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['9015d109ec00bb9ae1a384b172bf2fc1dff41e2c66e5a9eeddf933af9db37f5a'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-8.3.0.eb index 85bd90476f0..e0c3efaa076 100644 --- a/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.5.1-GCCcore-8.3.0.eb @@ -22,6 +22,10 @@ osdependencies = [OS_PKG_OPENSSL_DEV] builddependencies = [ ('binutils', '2.32'), +] + +dependencies = [ + ('zlib', '1.2.11'), ('XZ', '5.2.4'), ] 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 new file mode 100644 index 00000000000..770e79b1663 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.6.1' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('XZ', '5.2.5'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..aa2a9c42b8d --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.6.1' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('XZ', '5.2.7'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..0e1fd34ce1f --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.6.2' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('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'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..086b414eec2 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.6.2-GCCcore-13.1.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.6.2' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('XZ', '5.4.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..8cfed22355c --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.2-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.7.2' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('XZ', '5.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d15d7381318 --- /dev/null +++ b/easybuild/easyconfigs/l/libarchive/libarchive-3.7.4-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'libarchive' +version = '3.7.4' + +homepage = 'https://www.libarchive.org/' + +description = """ + Multi-format archive and compression library +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.libarchive.org/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'libarchive-3.7.4.tar.gz': '7875d49596286055b52439ed42f044bd8ad426aa4cc5aabd96bfe7abb971d5e8'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('XZ', '5.4.5'), + ('OpenSSL', '3', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/archive.h', 'lib/libarchive.%s' % SHLIB_EXT], + 'dirs': ['bin', 'share/man/man3'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7ff457a5456 --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'libavif' +version = '0.11.1' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), + ('NASM', '2.15.05'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('Rust', '1.52.1'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ac67210e4c9 --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-0.11.1-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak (Inuits) +# Update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'libavif' +version = '0.11.1' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0eb49965562a0e5e5de58389650d434cff32af84c34185b6c9b7b2fccae06d4e'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), + ('NASM', '2.15.05'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('Rust', '1.60.0'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-0.9.0-foss-2020b.eb b/easybuild/easyconfigs/l/libavif/libavif-0.9.0-foss-2020b.eb new file mode 100644 index 00000000000..6e46d36eea4 --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-0.9.0-foss-2020b.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libavif' +version = '0.9.0' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea1603fc18e7dd20cf01f0b405156576886ecb5df84db8c0e87187cd2f8a00f4'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('NASM', '2.15.05'), + ('Meson', '0.55.3'), + ('Ninja', '1.10.1'), + ('Rust', '1.52.1'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..149561be6b0 --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-1.0.4-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak (Inuits) +# Update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'libavif' +version = '1.0.4' + +homepage = 'https://github.com/AOMediaCodec/libavif' +description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format, +as described here: https://aomediacodec.github.io/av1-avif/ +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/AOMediaCodec/libavif/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dc56708c83a4b934a8af2b78f67f866ba2fb568605c7cf94312acf51ee57d146'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('NASM', '2.16.01'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Rust', '1.70.0'), +] + +sanity_check_paths = { + 'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libbaseencode/libbaseencode-1.0.11-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libbaseencode/libbaseencode-1.0.11-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..2823fc58971 --- /dev/null +++ b/easybuild/easyconfigs/l/libbaseencode/libbaseencode-1.0.11-GCCcore-10.2.0.eb @@ -0,0 +1,35 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'libbaseencode' +version = '1.0.11' + +homepage = 'https://github.com/paolostivanin/libbaseencode' +description = """Library written in C for encoding and decoding +data using base32 or base64 according to RFC-4648""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/paolostivanin/libbaseencode/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['645329236992ee85f05569475da2af0f0d81aaccd4aebc8d0b8603e54a320935'] # v1.0.11.tar.gz + +builddependencies = [ + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), + ('binutils', '2.35'), +] + +parallel = 1 + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libbaseencode.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..172d0f449a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libbraiding/libbraiding-1.2-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libbraiding' +version = '1.2' + +homepage = 'https://github.com/miguelmarco/libbraiding' +description = """This is a project to expose the functionalitis of the Braiding program as a shared library. + The original goal is to include it as a component of SageMath, but it can be used in any other c++ program.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/miguelmarco/libbraiding/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['73087d1145ace719eafeda1db1c28b5fe1c981b7e784dc59f2b1d6fc4ff75f80'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': [ + 'include/braiding.h', + 'include/cbraid.h', + 'include/cbraid_implementation.h', + 'include/cbraid_interface.h', + 'lib/libbraiding.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-1.15-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-1.15-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f16f5171968 --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-1.15-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '1.15' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['a5d45475e08d431267fd29d6af987a9dd9b6792578ec3feb466d4d21f2844868'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('Perl', '5.32.1'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-1.17-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-1.17-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..bf4135c3e6f --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-1.17-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '1.17' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['b1916b292cb37f2d0d0b699fbcf0fe260cca97ec7266ea20ff0c5cd8ef2eaab4'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c3d0238645c --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-2.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '2.1' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['8a1cd8b7fae04b82a95168252129b8c1baca098a285ff8d3f25781dead14b75a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Perl', '5.34.1', '-minimal'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8803b286b45 --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '2.3' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['cceefee46e84ce88d075103390b4f9d04c34e4bc3b96d733292c36836d4f7065'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Perl', '5.36.0', '-minimal'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d1f69a956cc --- /dev/null +++ b/easybuild/easyconfigs/l/libcerf/libcerf-2.3-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libcerf' +version = '2.3' + +homepage = 'https://jugit.fz-juelich.de/mlz/libcerf' + +description = """ + libcerf is a self-contained numeric library that provides an efficient and + accurate implementation of complex error functions, along with Dawson, + Faddeeva, and Voigt functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v%(version)s/'] +sources = ['libcerf-v%(version)s.tar.gz'] +checksums = ['cceefee46e84ce88d075103390b4f9d04c34e4bc3b96d733292c36836d4f7065'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Perl', '5.36.1'), # required for pod2html +] + +sanity_check_paths = { + 'files': ['lib/libcerf.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb b/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb new file mode 100644 index 00000000000..8dc84fd9e8f --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-4.4.0-gomkl-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '4.4.0' + +homepage = 'https://github.com/sunqm/libcint' +description = """libcint is an open source library for analytical Gaussian integrals.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/sunqm/libcint/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_remove_pyscftest.patch'] +checksums = [ + '39a831e9131395e7ac312608981495aed3e44d0511b0700b2a1fb163b32c89c1', # v4.4.0.tar.gz + '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d', # libcint-4.4.0_remove_pyscftest.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + # Python with numpy only required for 'make test' + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +separate_build_dir = False # Must use the same directory for tests + +configopts = '-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on' + +buildopts = "VERBOSE=1" + +runtest = 'test ' + +sanity_check_paths = { + 'files': ['include/cint.h', 'lib/libcint.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libcint/libcint-5.1.6-foss-2022a.eb b/easybuild/easyconfigs/l/libcint/libcint-5.1.6-foss-2022a.eb new file mode 100644 index 00000000000..6b4b19e2832 --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-5.1.6-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '5.1.6' + +homepage = 'https://github.com/sunqm/libcint' +description = """libcint is an open source library for analytical Gaussian integrals.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/sunqm/libcint/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-4.4.0_remove_pyscftest.patch'] +checksums = [ + 'c111d82140e2e8415775e73f571a16456c9deadd36d58795edd170035b06f8a5', # v5.1.6.tar.gz + '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d', # libcint-4.4.0_remove_pyscftest.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + # Python with numpy only required for 'make test' + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +separate_build_dir = False # Must use the same directory for tests + +configopts = '-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on' + +buildopts = "VERBOSE=1" + +runtest = 'test ' + +sanity_check_paths = { + 'files': ['include/cint.h', 'lib/libcint.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a-pypzpx.eb b/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a-pypzpx.eb new file mode 100644 index 00000000000..0bc083652f0 --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a-pypzpx.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '5.4.0' +versionsuffix = '-pypzpx' + +homepage = 'https://github.com/sunqm/libcint' +description = """libcint is an open source library for analytical Gaussian integrals. +This module of libcint uses the P orbitals convention (py, pz, px)""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +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 = [ + '42a8f2e9244e4575437e426e32cd1e60ef9559971c42a41f860c870efc745d99', # v5.4.0.tar.gz + '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d', # libcint-4.4.0_remove_pyscftest.patch +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +configopts = "-DWITH_RANGE_COULOMB=on -DWITH_COULOMB_ERF=on -DWITH_F12=on -DENABLE_TEST=on -DPYPZPX=1" + +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.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a.eb b/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a.eb new file mode 100644 index 00000000000..06ff0619f1e --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-5.4.0-gfbf-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '5.4.0' + +homepage = 'https://github.com/sunqm/libcint' +description = "libcint is an open source library for analytical Gaussian integrals." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +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 = [ + '42a8f2e9244e4575437e426e32cd1e60ef9559971c42a41f860c870efc745d99', # v5.4.0.tar.gz + '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d', # libcint-4.4.0_remove_pyscftest.patch +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +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/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/libcint/libcint-6.1.2-gfbf-2024a.eb b/easybuild/easyconfigs/l/libcint/libcint-6.1.2-gfbf-2024a.eb new file mode 100644 index 00000000000..ec3812fdaec --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-6.1.2-gfbf-2024a.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'libcint' +version = '6.1.2' + +homepage = 'https://github.com/sunqm/libcint' +description = "libcint is an open source library for analytical Gaussian integrals." + +toolchain = {'name': 'gfbf', 'version': '2024a'} + +source_urls = ['https://github.com/sunqm/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-4.4.0_remove_pyscftest.patch', + 'libcint-6.1.2_fix_tests.patch', +] + +checksums = [ + {'v6.1.2.tar.gz': '8287e1eaf2b8c8e19eb7a8ea92fd73898f0884023c503b84624610400adb25c4'}, + {'libcint-4.4.0_remove_pyscftest.patch': '6449297a6aee30fef3d6a268aa892dea8dd5c3ca9669a50ae694ab9bcf17842d'}, + {'libcint-6.1.2_fix_tests.patch': '2776dbe2320a44733f01e6d2baaf190d3af19fe9148ce656b449e09f65497be7'}, +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), +] + +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/libcint/libcint-6.1.2_fix_tests.patch b/easybuild/easyconfigs/l/libcint/libcint-6.1.2_fix_tests.patch new file mode 100644 index 00000000000..f9f8927990b --- /dev/null +++ b/easybuild/easyconfigs/l/libcint/libcint-6.1.2_fix_tests.patch @@ -0,0 +1,147 @@ +What: Fix incorrect path to the shared library +Author: maxim-mnasterov (SURF) + +diff -Nru libcint-6.1.2.orig/testsuite/test_3c2e.py libcint-6.1.2/testsuite/test_3c2e.py +--- libcint-6.1.2.orig/testsuite/test_3c2e.py 2024-10-04 16:09:36.042124000 +0200 ++++ libcint-6.1.2/testsuite/test_3c2e.py 2024-10-04 16:12:57.158040824 +0200 +@@ -13,7 +13,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + PTR_LIGHT_SPEED = 0 + PTR_COMMON_ORIG = 1 +diff -Nru libcint-6.1.2.orig/testsuite/test_c2s.py libcint-6.1.2/testsuite/test_c2s.py +--- libcint-6.1.2.orig/testsuite/test_c2s.py 2024-10-04 16:09:36.042595000 +0200 ++++ libcint-6.1.2/testsuite/test_c2s.py 2024-10-04 16:13:11.143154981 +0200 +@@ -3,7 +3,7 @@ + import ctypes + import numpy + +-_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../../build'))) ++_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../..'))) + + + PTR_EXPCUTOFF = 0 +diff -Nru libcint-6.1.2.orig/testsuite/test_cart2sph.py libcint-6.1.2/testsuite/test_cart2sph.py +--- libcint-6.1.2.orig/testsuite/test_cart2sph.py 2024-10-04 16:09:36.043003000 +0200 ++++ libcint-6.1.2/testsuite/test_cart2sph.py 2024-10-04 16:13:35.057998480 +0200 +@@ -10,7 +10,7 @@ + sys.path.insert(0, os.path.abspath(os.path.join(__file__, '../../scripts'))) + import cart2sph + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + pauli = np.array([[[0., 1.], + [1., 0.]], # x +diff -Nru libcint-6.1.2.orig/testsuite/test_cint4c1e.py libcint-6.1.2/testsuite/test_cint4c1e.py +--- libcint-6.1.2.orig/testsuite/test_cint4c1e.py 2024-10-04 16:09:36.043792000 +0200 ++++ libcint-6.1.2/testsuite/test_cint4c1e.py 2024-10-04 16:13:48.171695000 +0200 +@@ -13,7 +13,7 @@ + import ctypes + import numpy + +-_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../../build'))) ++_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../..'))) + + + PTR_LIGHT_SPEED = 0 +diff -Nru libcint-6.1.2.orig/testsuite/test_cint.py libcint-6.1.2/testsuite/test_cint.py +--- libcint-6.1.2.orig/testsuite/test_cint.py 2024-10-04 16:09:36.043395000 +0200 ++++ libcint-6.1.2/testsuite/test_cint.py 2024-10-04 16:12:23.988960299 +0200 +@@ -13,7 +13,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + + PTR_EXPCUTOFF = 0 +diff -Nru libcint-6.1.2.orig/testsuite/test_int1e_grids.py libcint-6.1.2/testsuite/test_int1e_grids.py +--- libcint-6.1.2.orig/testsuite/test_int1e_grids.py 2024-10-04 16:09:36.045513000 +0200 ++++ libcint-6.1.2/testsuite/test_int1e_grids.py 2024-10-04 16:14:20.427552000 +0200 +@@ -13,7 +13,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + PTR_EXPCUTOFF = 0 + PTR_COMMON_ORIG = 1 +diff -Nru libcint-6.1.2.orig/testsuite/test_int1e.py libcint-6.1.2/testsuite/test_int1e.py +--- libcint-6.1.2.orig/testsuite/test_int1e.py 2024-10-04 16:09:36.045015000 +0200 ++++ libcint-6.1.2/testsuite/test_int1e.py 2024-10-04 16:14:31.649911000 +0200 +@@ -5,7 +5,7 @@ + import ctypes + import numpy + +-_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../../build'))) ++_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../..'))) + #_cint4 = ctypes.cdll.LoadLibrary('libcint.so.4') + + from pyscf import gto, lib +diff -Nru libcint-6.1.2.orig/testsuite/test_int2c2e.py libcint-6.1.2/testsuite/test_int2c2e.py +--- libcint-6.1.2.orig/testsuite/test_int2c2e.py 2024-10-04 16:09:36.045952547 +0200 ++++ libcint-6.1.2/testsuite/test_int2c2e.py 2024-10-04 16:14:45.424744884 +0200 +@@ -3,7 +3,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + from pyscf import gto, lib + +diff -Nru libcint-6.1.2.orig/testsuite/test_int2e_f12_etc.py libcint-6.1.2/testsuite/test_int2e_f12_etc.py +--- libcint-6.1.2.orig/testsuite/test_int2e_f12_etc.py 2024-10-04 16:09:36.046726088 +0200 ++++ libcint-6.1.2/testsuite/test_int2e_f12_etc.py 2024-10-04 16:14:57.223888132 +0200 +@@ -3,7 +3,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + from pyscf import gto, lib + +diff -Nru libcint-6.1.2.orig/testsuite/test_int2e.py libcint-6.1.2/testsuite/test_int2e.py +--- libcint-6.1.2.orig/testsuite/test_int2e.py 2024-10-04 16:09:36.046362000 +0200 ++++ libcint-6.1.2/testsuite/test_int2e.py 2024-10-04 16:15:10.386953000 +0200 +@@ -5,7 +5,7 @@ + import ctypes + import numpy + +-_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../../build'))) ++_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../..'))) + #_cint4 = ctypes.cdll.LoadLibrary('libcint.so.4') + + from pyscf import gto, lib +diff -Nru libcint-6.1.2.orig/testsuite/test_int3c1e.py libcint-6.1.2/testsuite/test_int3c1e.py +--- libcint-6.1.2.orig/testsuite/test_int3c1e.py 2024-10-04 16:09:36.047153000 +0200 ++++ libcint-6.1.2/testsuite/test_int3c1e.py 2024-10-04 16:15:23.148032000 +0200 +@@ -3,7 +3,7 @@ + import ctypes + import numpy + +-_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../../build'))) ++_cint = numpy.ctypeslib.load_library('libcint', os.path.abspath(os.path.join(__file__, '../..'))) + #_cint4 = ctypes.cdll.LoadLibrary('libcint.so.4') + + from pyscf import gto, lib +diff -Nru libcint-6.1.2.orig/testsuite/test_int3c2e.py libcint-6.1.2/testsuite/test_int3c2e.py +--- libcint-6.1.2.orig/testsuite/test_int3c2e.py 2024-10-04 16:09:36.047561000 +0200 ++++ libcint-6.1.2/testsuite/test_int3c2e.py 2024-10-04 16:15:33.932008000 +0200 +@@ -3,7 +3,7 @@ + import ctypes + import numpy + +-_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../build/libcint.so'))) ++_cint = ctypes.CDLL(os.path.abspath(os.path.join(__file__, '../../libcint.so'))) + + from pyscf import gto, lib + diff --git a/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2020b.eb b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2020b.eb new file mode 100644 index 00000000000..7044e9c9fe6 --- /dev/null +++ b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2020b.eb @@ -0,0 +1,37 @@ +## +# Authors: +# * Petar Forai +# * Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'libcircle' +version = '0.3' + +homepage = 'https://github.com/hpc/libcircle/' + +description = """ + An API to provide an efficient distributed queue on a cluster. libcircle is an + API for distributing embarrassingly parallel workloads using self-stabilization. +""" + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/hpc/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd8bc6e4dcc6fdec9d2a3d1c78a4060948ae4f11f0b278792610d6c05d53e14c'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2022a.eb b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2022a.eb new file mode 100644 index 00000000000..0b622840791 --- /dev/null +++ b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2022a.eb @@ -0,0 +1,38 @@ +## +# Authors: +# * Petar Forai +# * Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'libcircle' +version = '0.3' + +homepage = 'https://github.com/hpc/libcircle/' + +description = """ + An API to provide an efficient distributed queue on a cluster. libcircle is an + API for distributing embarrassingly parallel workloads using self-stabilization. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd8bc6e4dcc6fdec9d2a3d1c78a4060948ae4f11f0b278792610d6c05d53e14c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2023a.eb b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2023a.eb new file mode 100644 index 00000000000..516d2ceb729 --- /dev/null +++ b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2023a.eb @@ -0,0 +1,38 @@ +## +# Authors: +# * Petar Forai +# * Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'libcircle' +version = '0.3' + +homepage = 'https://github.com/hpc/libcircle/' + +description = """ + An API to provide an efficient distributed queue on a cluster. libcircle is an + API for distributing embarrassingly parallel workloads using self-stabilization. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd8bc6e4dcc6fdec9d2a3d1c78a4060948ae4f11f0b278792610d6c05d53e14c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2024a.eb b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2024a.eb new file mode 100644 index 00000000000..1ea2630b327 --- /dev/null +++ b/easybuild/easyconfigs/l/libcircle/libcircle-0.3-gompi-2024a.eb @@ -0,0 +1,38 @@ +## +# Authors: +# * Petar Forai +# * Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'libcircle' +version = '0.3' + +homepage = 'https://github.com/hpc/libcircle/' + +description = """ + An API to provide an efficient distributed queue on a cluster. libcircle is an + API for distributing embarrassingly parallel workloads using self-stabilization. +""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd8bc6e4dcc6fdec9d2a3d1c78a4060948ae4f11f0b278792610d6c05d53e14c'] + +builddependencies = [ + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6210df9240e --- /dev/null +++ b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libconfig' +version = '1.7.3' + +homepage = 'https://hyperrealm.github.io/libconfig' +description = "Libconfig is a simple library for processing structured configuration files" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://hyperrealm.github.io/libconfig/dist/'] +sources = [SOURCE_TAR_GZ] +checksums = ['545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['include/libconfig.h', 'include/libconfig.h++', 'lib/libconfig.a', 'lib/libconfig++.a', + 'lib/libconfig.%s' % SHLIB_EXT, 'lib/libconfig++.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4cf46abac37 --- /dev/null +++ b/easybuild/easyconfigs/l/libconfig/libconfig-1.7.3-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libconfig' +version = '1.7.3' + +homepage = 'https://hyperrealm.github.io/libconfig' +description = "Libconfig is a simple library for processing structured configuration files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://hyperrealm.github.io/libconfig/dist/'] +sources = [SOURCE_TAR_GZ] +checksums = ['545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['include/libconfig.h', 'include/libconfig.h++', 'lib/libconfig.a', 'lib/libconfig++.a', + 'lib/libconfig.%s' % SHLIB_EXT, 'lib/libconfig++.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libcotp/libcotp-1.2.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libcotp/libcotp-1.2.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c2da1b819dd --- /dev/null +++ b/easybuild/easyconfigs/l/libcotp/libcotp-1.2.3-GCCcore-10.2.0.eb @@ -0,0 +1,39 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'libcotp' +version = '1.2.3' + +homepage = 'https://github.com/paolostivanin/libcotp' +description = """C library that generates TOTP and HOTP according to RFC-6238""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/paolostivanin/libcotp/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f122aea37337cdfcdaa1ce979ecfb5177ad7dcb273caf2d6056820f1dbf92e93'] # v1.2.3.tar.gz + +builddependencies = [ + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), + ('binutils', '2.35'), +] + +dependencies = [ + ('libgcrypt', '1.9.2'), + ('libbaseencode', '1.0.11'), +] + +parallel = 1 + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libcotp.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libctl/libctl-4.0.0-intel-2020a.eb b/easybuild/easyconfigs/l/libctl/libctl-4.0.0-intel-2020a.eb new file mode 100644 index 00000000000..e20c9f0d5dd --- /dev/null +++ b/easybuild/easyconfigs/l/libctl/libctl-4.0.0-intel-2020a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libctl' +version = '4.0.0' + +homepage = 'https://github.com/stevengj/libctl' +description = """libctl is a free Guile-based library implementing flexible control files for scientific simulations.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/libctl/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b0f46ed29acd13be542a4988d7f0604b10869d6b4c41916c539dc99711fb5458'] + +dependencies = [('Guile', '2.2.4')] + +# fix for guile-config being broken because shebang line contains full path to bin/guile +configopts = 'GUILE_CONFIG="$EBROOTGUILE/bin/guile -e main -s $EBROOTGUILE/bin/guile-config"' + +sanity_check_paths = { + 'files': ['bin/gen-ctl-io', 'lib/libctl.a', 'lib/libctlgeom.a'], + 'dirs': ['include', 'share/libctl'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libctl/libctl-4.5.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libctl/libctl-4.5.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..3dfc9fe295b --- /dev/null +++ b/easybuild/easyconfigs/l/libctl/libctl-4.5.1-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libctl' +version = '4.5.1' + +homepage = 'https://libctl.readthedocs.io/en/latest/' +description = """libctl is a free Guile-based library implementing flexible control files for scientific simulations.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NanoComp/libctl/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['fcfeb2f13dda05b560f0ec6872757d9318fdfe8f4bc587eb2053a29ba328ae25'] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), # required for libtool +] + +dependencies = [('Guile', '3.0.9')] + +configopts = '--with-pic --enable-shared' + +sanity_check_paths = { + 'files': ['bin/gen-ctl-io', 'lib/libctl.a', 'lib/libctlgeom.a', + 'lib/libctlgeom.%s' % SHLIB_EXT, 'lib/libctl.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..063ce985f47 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.20.11' + +homepage = 'https://www.opendap.org/software/libdap' +description = """A C++ SDK which contains an implementation of DAP 2.0 and + DAP4.0. This includes both Client- and Server-side support classes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/OPENDAP/libdap4/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['319e9771d037b6c796f04e6a96bb27db1706bc5931ca149c78347c623a747771'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('libxml2', '2.9.13'), + ('libtirpc', '1.3.2'), + ('PCRE', '8.45'), + ('util-linux', '2.38'), +] + +preconfigopts = "autoreconf -fi && " +configopts = 'TIRPC_LIBS="-ltirpc"' + +sanity_check_paths = { + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a6dbd52797f --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.11-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.20.11' + +homepage = 'https://www.opendap.org/software/libdap' +description = """A C++ SDK which contains an implementation of DAP 2.0 and + DAP4.0. This includes both Client- and Server-side support classes.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/OPENDAP/libdap4/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['319e9771d037b6c796f04e6a96bb27db1706bc5931ca149c78347c623a747771'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('cURL', '8.0.1'), + ('libxml2', '2.11.4'), + ('libtirpc', '1.3.3'), + ('PCRE', '8.45'), + ('util-linux', '2.39'), +] + +preconfigopts = "autoreconf -fi && " +configopts = 'TIRPC_LIBS="-ltirpc"' + + +sanity_check_paths = { + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c1cb33551f7 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.7-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.20.7' + +homepage = 'https://www.opendap.org/software/libdap' +description = """A C++ SDK which contains an implementation of DAP 2.0 and + DAP4.0. This includes both Client- and Server-side support classes.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/OPENDAP/libdap4/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f6e907ea7a9f878965a3af2a858423450dde389d851fc67a33b0096b8b9b6085'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210128'), +] + +dependencies = [ + ('cURL', '7.76.0'), + ('libxml2', '2.9.10'), + ('libtirpc', '1.3.2'), + ('PCRE', '8.44'), + ('util-linux', '2.36'), +] + +preconfigopts = "autoreconf -fi && " +configopts = 'TIRPC_LIBS="-ltirpc"' + +sanity_check_paths = { + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdap/libdap-3.20.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libdap/libdap-3.20.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1172b66d8f2 --- /dev/null +++ b/easybuild/easyconfigs/l/libdap/libdap-3.20.8-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'libdap' +version = '3.20.8' + +homepage = 'https://www.opendap.org/software/libdap' +description = """A C++ SDK which contains an implementation of DAP 2.0 and + DAP4.0. This includes both Client- and Server-side support classes.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/OPENDAP/libdap4/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e59b48f48bb37b36dcf9618043881e1d4150abd9b2ea3fa7474647c4ad622ccc'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('cURL', '7.78.0'), + ('libxml2', '2.9.10'), + ('libtirpc', '1.3.2'), + ('PCRE', '8.45'), + ('util-linux', '2.37'), +] + +preconfigopts = "autoreconf -fi && " +configopts = 'TIRPC_LIBS="-ltirpc"' + +sanity_check_paths = { + 'files': ['bin/getdap', 'bin/getdap4', 'bin/dap-config', 'lib/libdap.a', 'lib/libdap.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.11-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.11-GCC-11.3.0.eb new file mode 100644 index 00000000000..7640cb6a545 --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.11-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.11' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['2f8f12cabbdb15e53532b7c1eb964d4e15d444db1be802505e6ac97a25035bab'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +configopts = "-DENABLE_DECODER=ON -DENABLE_ENCODER=ON" + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/libde265.%s' % SHLIB_EXT, 'lib/pkgconfig/libde265.pc'], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb new file mode 100644 index 00000000000..9d6371e84ba --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.15' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +configopts = "-DENABLE_DECODER=ON -DENABLE_ENCODER=ON" + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/libde265.%s' % SHLIB_EXT, 'lib/pkgconfig/libde265.pc'], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..647d345e73e --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.8' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['24c791dd334fa521762320ff54f0febfd3c09fc978880a8c5fbc40a88f21d905'] + +builddependencies = [('CMake', '3.20.1')] + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/liblibde265.%s' % SHLIB_EXT], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-11.2.0.eb new file mode 100644 index 00000000000..38d6c4a7d6e --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.8-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libde265' +version = '1.0.8' + +homepage = 'https://github.com/strukturag/libde265' +description = "libde265 is an open source implementation of the h.265 video codec" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['24c791dd334fa521762320ff54f0febfd3c09fc978880a8c5fbc40a88f21d905'] + +builddependencies = [('CMake', '3.22.1')] + +sanity_check_paths = { + 'files': ['bin/dec265', 'bin/enc265', 'lib/liblibde265.%s' % SHLIB_EXT], + 'dirs': ['include/libde265', 'lib/cmake/libde265'], +} + +sanity_check_commands = [ + "dec265 --help", + "enc265 --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f1ba77b1e67 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.10-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to 1.8 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'ConfigureMake' + +name = 'libdeflate' +version = '1.10' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5c1f75c285cd87202226f4de49985dcb75732f527eefba2b3ddd70a8865f2533'] + +builddependencies = [('binutils', '2.38')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..386b12fc121 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.15-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to 1.8 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.15' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['58b95040df7383dc0413defb700d9893c194732474283cc4c8f144b00a68154b'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.18-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.18-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3e44ca69301 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.18-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.18' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['225d982bcaf553221c76726358d2ea139bb34913180b20823c782cede060affd'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.19-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.19-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..11849b74c7e --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.19-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.19' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['27bf62d71cd64728ff43a9feb92f2ac2f2bf748986d856133cc1e51992428c25'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..79e7db1b0d8 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.20-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'libdeflate' +version = '1.20' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ed1454166ced78913ff3809870a4005b7170a6fd30767dc478a09b96847b9c2a'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c517a5b337e --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'libdeflate' +version = '1.7' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a5e6a0a9ab69f40f0f59332106532ca76918977a974e7004977a9498e3f11350'] + +builddependencies = [('binutils', '2.35')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0e2c871de73 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.7-GCCcore-10.3.0.eb @@ -0,0 +1,38 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'libdeflate' +version = '1.7' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a5e6a0a9ab69f40f0f59332106532ca76918977a974e7004977a9498e3f11350'] + +builddependencies = [('binutils', '2.36.1')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e7df2396052 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to 1.8 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'ConfigureMake' + +name = 'libdeflate' +version = '1.8' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['50711ad4e9d3862f8dfb11b97eb53631a86ee3ce49c0e68ec2b6d059a9662f61'] + +builddependencies = [('binutils', '2.36.1')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..da97e2fb5c3 --- /dev/null +++ b/easybuild/easyconfigs/l/libdeflate/libdeflate-1.8-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to 1.8 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'ConfigureMake' + +name = 'libdeflate' +version = '1.8' + +homepage = 'https://github.com/ebiggers/libdeflate' +description = """Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'ebiggers' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['50711ad4e9d3862f8dfb11b97eb53631a86ee3ce49c0e68ec2b6d059a9662f61'] + +builddependencies = [('binutils', '2.37')] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': [ + 'bin/%(name)s-gunzip', 'bin/%(name)s-gzip', + 'lib/%(name)s.a', 'lib/%%(name)s.%s' % SHLIB_EXT, + 'include/%(name)s.h', + ], + 'dirs': [], +} +sanity_check_commands = [ + '%(name)s-gzip -h', + '%(name)s-gunzip -h', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libdivsufsort/libdivsufsort-2.0.1-foss-2018b.eb b/easybuild/easyconfigs/l/libdivsufsort/libdivsufsort-2.0.1-foss-2018b.eb new file mode 100644 index 00000000000..114f4c62251 --- /dev/null +++ b/easybuild/easyconfigs/l/libdivsufsort/libdivsufsort-2.0.1-foss-2018b.eb @@ -0,0 +1,31 @@ +# Author: Iñaki Mtz de Ilarduya +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'CMakeMake' + +name = 'libdivsufsort' +version = '2.0.1' + +homepage = 'https://github.com/y-256/libdivsufsort' +description = """libdivsufsort is a software library that implements a lightweight suffix + array construction algorithm.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://github.com/y-256/libdivsufsort/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9164cb6044dcb6e430555721e3318d5a8f38871c2da9fd9256665746a69351e0'] + +builddependencies = [ + ('CMake', '3.12.1'), +] + +unpack_options = '--strip-components=1' + +sanity_check_paths = { + 'files': ['lib/libdivsufsort.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..842abee0870 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.107' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), +] +dependencies = [('X11', '20210802')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=false' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.110-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.110-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e9c1d0bb274 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.110-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.110' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['eecee4c4b47ed6d6ce1a9be3d6d92102548ea35e442282216d47d05293cf9737'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] +dependencies = [('X11', '20220504')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=false' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..40a3653b38d --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.114-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.114' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['3049cf843a47d12e5eeefbc3be3496d782fa09f42346bf0b7defe3d1e598d026'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] +dependencies = [('X11', '20221110')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.115-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.115-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..40663d3baae --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.115-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.115' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['554cfbfe0542bddb391b4e3e05bfbbfc3e282b955bd56218d21c0616481f65eb'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] +dependencies = [('X11', '20230603')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.117-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.117-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b426bc248de --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.117-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.117' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['a2888d69e3eb1c8a77adc08a75a60fbae01f0d208d26f034d1a12e362361242b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), +] +dependencies = [('X11', '20231019')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.122-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.122-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..beff58c433a --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.122-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MesonNinja' + +name = 'libdrm' +version = '2.4.122' + +homepage = 'https://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['d9f5079b777dffca9300ccc56b10a93588cdfbc9dde2fae111940dfb6292f251'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), +] +dependencies = [('X11', '20240607')] + +# installing manpages requires an extra build dependency (docbook xsl) +configopts = '-Dman-pages=disabled' + +sanity_check_paths = { + 'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'], + 'dirs': ['include', 'lib'], +} + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.10.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.10.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..95a46c43114 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.10.1-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '0.10.1' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/davea42/libdwarf-code/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['b511a2dc78b98786064889deaa2c1bc48a0c70115c187900dd838474ded1cc19'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('elfutils', '0.191'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.4.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3c150818816 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '0.4.1' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.prevanders.net'] +sources = [SOURCE_TAR_XZ] +checksums = ['34277b969d30be3cc4c6fbce6926dd3e6f9ea9a27b01951c6753b479aadfd5ef'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('libelf', '0.8.13'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7178122d45d --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '0.7.0' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/davea42/libdwarf-code/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['23b71829de875fa5842e49f232c8ee1a5043805749738bc61424d9abc1189f38'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('elfutils', '0.189'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d8d25f32ed6 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-0.9.2-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '0.9.2' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/davea42/libdwarf-code/releases/download/v%(version)s'] +sources = [SOURCE_TAR_XZ] +checksums = ['c1cd51467f9cb8459cd27d4071857abc56191cc5d4182d8bdd7744030f88f830'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('elfutils', '0.190'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-20210305-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-20210305-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e2175d20e81 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-20210305-GCCcore-10.3.0.eb @@ -0,0 +1,36 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '20210305' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.prevanders.net'] +sources = [SOURCE_TAR_GZ] +checksums = ['b86bef41725326d13ee3e7e45b929e0ca97b639e93cc1a9214c90a1774fa1c1a'] + +builddependencies = [ + ('binutils', '2.36.1'), +] +dependencies = [ + ('libelf', '0.8.13'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libdwarf/libdwarf-20210528-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libdwarf/libdwarf-20210528-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7df567f57f6 --- /dev/null +++ b/easybuild/easyconfigs/l/libdwarf/libdwarf-20210528-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libdwarf' +version = '20210528' + +homepage = 'https://www.prevanders.net/dwarf.html' +description = """The DWARF Debugging Information Format is of interest to programmers working on compilers +and debuggers (and anyone interested in reading or writing DWARF information))""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.prevanders.net'] +sources = [SOURCE_TAR_GZ] +checksums = ['b8ba0ee9b70d2052d45272489d79bf456c4d342fc8c3bba45038afc50ec6e28b'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('libelf', '0.8.13'), +] + +configopts = "--enable-shared " + +sanity_check_paths = { + 'files': ['bin/dwarfdump', 'lib/libdwarf.a', 'lib/libdwarf.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +sanity_check_commands = ['dwarfdump --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9e85864f61d --- /dev/null +++ b/easybuild/easyconfigs/l/libedit/libedit-20191231-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libedit' +version = '20191231' + +homepage = 'https://thrysoee.dk/editline/' +description = """ +This BSD-style licensed command line editor library provides generic line editing, +history, and tokenization functions, similar to those found in GNU Readline. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://thrysoee.dk/editline/'] +sources = ['%(namelower)s-%(version)s-3.1.tar.gz'] +checksums = ['dbb82cb7e116a5f8025d35ef5b4f7d4a3cdd0a3909a146a39112095a2d229071'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('ncurses', '6.4')] + +sanity_check_paths = { + 'files': ['include/editline/readline.h', 'lib/libedit.%s' % SHLIB_EXT, 'lib/libedit.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..42ee25b2a47 --- /dev/null +++ b/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libedit' +version = '20210910' + +homepage = 'https://thrysoee.dk/editline/' +description = """ +This BSD-style licensed command line editor library provides generic line editing, +history, and tokenization functions, similar to those found in GNU Readline. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://thrysoee.dk/editline/'] +sources = ['%(namelower)s-%(version)s-3.1.tar.gz'] +checksums = ['6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('ncurses', '6.2')] + +sanity_check_paths = { + 'files': ['include/editline/readline.h', 'lib/libedit.%s' % SHLIB_EXT, 'lib/libedit.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b118a9ce3ad --- /dev/null +++ b/easybuild/easyconfigs/l/libedit/libedit-20210910-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libedit' +version = '20210910' + +homepage = 'https://thrysoee.dk/editline/' +description = """ +This BSD-style licensed command line editor library provides generic line editing, +history, and tokenization functions, similar to those found in GNU Readline. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://thrysoee.dk/editline/'] +sources = ['%(namelower)s-%(version)s-3.1.tar.gz'] +checksums = ['6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('ncurses', '6.2')] + +sanity_check_paths = { + 'files': ['include/editline/readline.h', 'lib/libedit.%s' % SHLIB_EXT, 'lib/libedit.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libedit/libedit-20240517-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libedit/libedit-20240517-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..098fd8b7bde --- /dev/null +++ b/easybuild/easyconfigs/l/libedit/libedit-20240517-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libedit' +version = '20240517' + +homepage = 'https://thrysoee.dk/editline/' +description = """ +This BSD-style licensed command line editor library provides generic line editing, +history, and tokenization functions, similar to those found in GNU Readline. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://thrysoee.dk/editline/'] +sources = ['%(namelower)s-%(version)s-3.1.tar.gz'] +checksums = ['3a489097bb4115495f3bd85ae782852b7097c556d9500088d74b6fa38dbd12ff'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('ncurses', '6.4')] + +sanity_check_paths = { + 'files': ['include/editline/readline.h', 'lib/libedit.%s' % SHLIB_EXT, 'lib/libedit.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..155b9c5bd4e --- /dev/null +++ b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'libelf' +version = '0.8.13' + +homepage = 'https://sourceware.org/elfutils' +description = """libelf is a free ELF object file access library""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://fossies.org/linux/misc/old/'] +sources = [SOURCE_TAR_GZ] +checksums = ['591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +modextrapaths = {'CPATH': 'include/libelf'} + +sanity_check_paths = { + 'files': ['lib/libelf.a', 'lib/libelf.%s' % SHLIB_EXT, 'lib/libelf.so.0', 'include/libelf/libelf.h'], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0ef4d0b3db0 --- /dev/null +++ b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libelf' +version = '0.8.13' + +homepage = 'https://sourceware.org/elfutils' +description = """libelf is a free ELF object file access library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://fossies.org/linux/misc/old/'] +sources = [SOURCE_TAR_GZ] +checksums = ['591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d'] + +builddependencies = [ + ('binutils', '2.37'), +] + +modextrapaths = {'CPATH': 'include/libelf'} + +sanity_check_paths = { + 'files': ['lib/libelf.a', 'lib/libelf.%s' % SHLIB_EXT, 'lib/libelf.so.0', 'include/libelf/libelf.h'], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..40935d6dfe9 --- /dev/null +++ b/easybuild/easyconfigs/l/libelf/libelf-0.8.13-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libelf' +version = '0.8.13' + +homepage = 'https://sourceware.org/elfutils' +description = """libelf is a free ELF object file access library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://fossies.org/linux/misc/old/'] +sources = [SOURCE_TAR_GZ] +checksums = ['591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +modextrapaths = {'CPATH': 'include/libelf'} + +sanity_check_paths = { + 'files': ['lib/libelf.a', 'lib/libelf.%s' % SHLIB_EXT, 'lib/libelf.so.0', 'include/libelf/libelf.h'], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c83afeb6d53 --- /dev/null +++ b/easybuild/easyconfigs/l/libemf/libemf-1.0.13-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'libemf' +version = '1.0.13' + +homepage = 'https://sourceforge.net/projects/libemf/' +description = "Library implementation of ECMA-234 API for the generation of enhanced metafiles." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/%(name)s/files/%(name)s/%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] + +checksums = [ + '74d92c017e8beb41730a8be07c2c6e4ff6547660c84bf91f832d8f325dd0cf82', # libemf-1.0.13.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/printemf', 'lib/libEMF.a', 'lib/libEMF.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..33c6130fa0a --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c47fc575552 --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0138c593d12 --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('X11', '20230603'), + ('Mesa', '23.1.4'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a3a41bd2a7a --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.10-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.10' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a7ced37f4102b745ac86d6a70a9da399cc139ff168ba6b8002b4d8d43c900c15'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('X11', '20231019'), + ('Mesa', '23.1.9'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-10.2.0.eb index 2bf072bd402..a1bd6be54fb 100644 --- a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-10.2.0.eb @@ -25,10 +25,11 @@ dependencies = [ ('Mesa', '20.2.1'), ] -configopts = '-Degl=no --libdir %(installdir)s/lib ' +configopts = '-Degl=yes --libdir %(installdir)s/lib ' sanity_check_paths = { - 'files': ['include/epoxy/%s' % x for x in ['common.h', 'gl_generated.h', 'gl.h', 'glx_generated.h', 'glx.h']] + + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + ['lib/libepoxy.%s' % SHLIB_EXT], 'dirs': ['lib'] } diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-8.3.0.eb index 012b599c942..b886697deca 100644 --- a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-8.3.0.eb @@ -15,7 +15,7 @@ checksums = ['c926fcc606901f3e03e371027056fd478da43e01ce2da7ffc48b5a0de0ca107c'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('pkg-config', '0.29.2'), ] diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-9.3.0.eb index a99cf9d51f7..988a8d4fc3f 100644 --- a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.4-GCCcore-9.3.0.eb @@ -25,10 +25,11 @@ dependencies = [ ('Mesa', '20.0.2'), ] -configopts = '-Degl=no --libdir %(installdir)s/lib ' +configopts = '-Degl=yes --libdir %(installdir)s/lib ' sanity_check_paths = { - 'files': ['include/epoxy/%s' % x for x in ['common.h', 'gl_generated.h', 'gl.h', 'glx_generated.h', 'glx.h']] + + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + ['lib/libepoxy.%s' % SHLIB_EXT], 'dirs': ['lib'] } diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-10.3.0.eb index f5cd050faa3..8e6f416421b 100644 --- a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-10.3.0.eb @@ -25,10 +25,11 @@ dependencies = [ ('Mesa', '21.1.1'), ] -configopts = '-Degl=no --libdir %(installdir)s/lib ' +configopts = '-Degl=yes --libdir %(installdir)s/lib ' sanity_check_paths = { - 'files': ['include/epoxy/%s' % x for x in ['common.h', 'gl_generated.h', 'gl.h', 'glx_generated.h', 'glx.h']] + + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + ['lib/libepoxy.%s' % SHLIB_EXT], 'dirs': ['lib'] } diff --git a/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f8c76e4e55e --- /dev/null +++ b/easybuild/easyconfigs/l/libepoxy/libepoxy-1.5.8-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MesonNinja' + +name = 'libepoxy' +version = '1.5.8' + +homepage = 'https://github.com/anholt/libepoxy' +description = "Epoxy is a library for handling OpenGL function pointer management for you" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'anholt' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['0cd80cb040b75cbe77fadd45c48282ebab82d845c597ce11ee5e8cb9c1efeabb'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), +] + +configopts = '-Degl=yes --libdir %(installdir)s/lib ' + +sanity_check_paths = { + 'files': ['include/epoxy/%s.h' % x for x in ['common', 'egl_generated', 'egl', 'gl_generated', + 'gl', 'glx_generated', 'glx']] + + ['lib/libepoxy.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.2.0.eb new file mode 100644 index 00000000000..a1a8e171ef6 --- /dev/null +++ b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'libev' +version = '4.33' + +homepage = 'http://software.schmorp.de/pkg/libev.html' +description = """A full-featured and high-performance (see benchmark) +event loop that is loosely modelled after libevent, but without its +limitations and bugs. It is used in GNU Virtual Private Ethernet, +rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many +other programs.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://dist.schmorp.de/libev/Attic'] +sources = ['%(name)s-%(version)s.tar.gz'] + +checksums = [ + '507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea', # libev-4.33.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['lib/libev.%s' % SHLIB_EXT], + 'dirs': ['include/', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb new file mode 100644 index 00000000000..780a94eb1c9 --- /dev/null +++ b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'ConfigureMake' + +name = 'libev' +version = '4.33' + +homepage = 'http://software.schmorp.de/pkg/libev.html' +description = """A full-featured and high-performance (see benchmark) +event loop that is loosely modelled after libevent, but without its +limitations and bugs. It is used in GNU Virtual Private Ethernet, +rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many +other programs.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://dist.schmorp.de/libev/Attic'] +sources = ['%(name)s-%(version)s.tar.gz'] + +checksums = [ + '507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea', # libev-4.33.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libev.%s' % SHLIB_EXT], + 'dirs': ['include/', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb new file mode 100644 index 00000000000..a2cd4ecd9b5 --- /dev/null +++ b/easybuild/easyconfigs/l/libev/libev-4.33-GCC-12.3.0.eb @@ -0,0 +1,31 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) +easyblock = 'ConfigureMake' + +name = 'libev' +version = '4.33' + +homepage = 'http://software.schmorp.de/pkg/libev.html' +description = """A full-featured and high-performance (see benchmark) +event loop that is loosely modelled after libevent, but without its +limitations and bugs. It is used in GNU Virtual Private Ethernet, +rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many +other programs.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://dist.schmorp.de/libev/Attic'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['507eb7b8d1015fbec5b935f34ebed15bf346bed04a11ab82b8eee848c4205aea'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libev.%s' % SHLIB_EXT], + 'dirs': ['include/', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-10.3.0.eb index b5cc4b2c7c0..a5d36861e3f 100644 --- a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-10.3.0.eb @@ -29,7 +29,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.11'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..03d032cf290 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d88edcd0b49 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..99908875d8c --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..61bf17145f5 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..db1de7fe681 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..bd33821ffd7 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb new file mode 100644 index 00000000000..dc045c87868 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org' +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.8-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.8-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..7506631c33e --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.8-GCCcore-8.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.8' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2'] + +builddependencies = [ + ('binutils', '2.32'), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libexif/libexif-0.6.24-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libexif/libexif-0.6.24-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cfb092bf161 --- /dev/null +++ b/easybuild/easyconfigs/l/libexif/libexif-0.6.24-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'libexif' +version = '0.6.24' + +homepage = 'https://libexif.github.io/' +description = "A library for parsing, editing, and saving EXIF data." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e5f15eeab693028cfdc4c0d78f024e1ca78baa0e1f636dc443395e9fbb0a2b7a'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = 'autoreconf -if &&' +configopts = '--disable-docs' + +runtest = 'check' + +local_includes = ['include/%s/exif-%s.h' % (name, x) for x in [ + 'byte-order', 'content', 'data', 'data-type', 'entry', 'format', 'ifd', + 'loader', 'log', 'mem', 'mnote-data', 'tag', 'utils'] +] +local_libs = ['lib/%s.%s' % (name, x) for x in ['a', 'la', SHLIB_EXT]] + ['lib/pkgconfig/%(name)s.pc'] + +sanity_check_paths = { + 'files': local_includes + local_libs, + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb index 6428a4e759b..5a302fa1b83 100644 --- a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1-GCCcore-10.3.0.eb @@ -24,6 +24,7 @@ sources = [SOURCE_TAR_BZ2] patches = [ '%(name)s-%(version)s_fix-psm3-multiep-default.patch', '%(name)s-%(version)s_disable-psm3-avx-config.patch', + '%(name)s-%(version)s_fix-unknown-link-width.patch', ] checksums = [ 'db3c8e0a495e6e9da6a7436adab905468aedfbd4579ee3da5232a5c111ba642c', # libfabric-1.12.1.tar.bz2 @@ -31,6 +32,7 @@ checksums = [ '298ba67bc04472bc627e642525dd4333fe18f80774814ae86c8e18437ada4e7d', # libfabric-1.12.1_disable-psm3-avx-config.patch '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a', + '2db5b4daae4f8c6e1bb79d7a68773f4824ff283f43d6c34c9fedd8d6f9ddd8a1', # libfabric-1.12.1_fix-unknown-link-width.patch ] builddependencies = [ @@ -41,6 +43,10 @@ builddependencies = [ dependencies = [ ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -51,7 +57,7 @@ preconfigopts = "autoreconf -f -i &&" # Disable deprecated "sockets" provider configopts = "--disable-sockets " -# Disable usNIC provider by default as this requires specific osdependencies +# Disable usNIC provider by default as this requires specific osdependencies # If you want to enable this provider you need to uncomment the following line: # osdependencies.append(('libnl3-devel', 'libnl3-dev')) configopts += "--disable-usnic " diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1_fix-unknown-link-width.patch b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1_fix-unknown-link-width.patch new file mode 100644 index 00000000000..850984e1ed2 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.12.1_fix-unknown-link-width.patch @@ -0,0 +1,26 @@ +fix for "iunknown link width 0x10" warning +extracted from https://github.com/ofiwg/libfabric/commit/794990cb2a4b2a5bc479240aff4e8573398bc773#diff-a406b74c02115a3845d75f2058ae8a132261b2fb7dff4345bb700f99a87e6dc9 + +diff -ru libfabric-1.12.1.orig/prov/psm3/psm3/psm_verbs_ep.c libfabric-1.12.1/prov/psm3/psm3/psm_verbs_ep.c +--- libfabric-1.12.1.orig/prov/psm3/psm3/psm_verbs_ep.c 2021-04-01 23:01:25.000000000 +0200 ++++ libfabric-1.12.1/prov/psm3/psm3/psm_verbs_ep.c 2021-11-19 19:07:44.000000000 +0100 +@@ -2057,6 +2057,19 @@ + _HFI_ERROR( "unknown link speed 0x%x\n", speed); + return PSM_IBV_RATE_100_GBPS; + } ++ case 16: /* 2x */ ++ switch (speed) { ++ case 1: return PSM_IBV_RATE_5_GBPS; ++ case 2: return PSM_IBV_RATE_10_GBPS; ++ case 4: /* fall through */ ++ case 8: return PSM_IBV_RATE_20_GBPS; ++ case 16: return PSM_IBV_RATE_28_GBPS; ++ case 32: return PSM_IBV_RATE_50_GBPS; ++ case 64: return PSM_IBV_RATE_100_GBPS; ++ default: ++ _HFI_ERROR( "unknown link speed 0x%x\n", speed); ++ return PSM_IBV_RATE_100_GBPS; ++ } + default: + _HFI_ERROR( "unknown link width 0x%x\n", width); + return PSM_IBV_RATE_100_GBPS; diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..35245b93a33 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0-GCCcore-11.2.0.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.13.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'ofiwg' +source_urls = ['https://github.com/ofiwg/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + ('%(name)s-%(version)s_psm3-version.patch', 0), + '%(name)s-1.12.1_disable-psm3-avx-config.patch', +] +checksums = [ + '0c68264ae18de5c31857724c754023351614330bd61a50b40cef2b5e8f63ab28', # libfabric-1.13.0.tar.bz2 + 'f357a60f9cfd054469fef46f560531aa53ded3b7708c313b73d9bfdcb89bf24d', # libfabric-1.13.0_psm3-version.patch + # libfabric-1.12.1_disable-psm3-avx-config.patch + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a', +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files +preconfigopts = "autoreconf -f -i &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0_psm3-version.patch b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0_psm3-version.patch new file mode 100644 index 00000000000..ac17f51a610 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.0_psm3-version.patch @@ -0,0 +1,6 @@ +Add version file which if missing breaks when rebuilding the configure script. +Author: micketeer@gmail.com per request of Simon Branford +--- prov/psm3/VERSION.orig 1970-01-01 01:00:00.000000000 +0100 ++++ prov/psm3/VERSION 2021-08-08 00:19:07.634693856 +0200 +@@ -0,0 +1 @@ ++3_1_0_0 diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c6011eea6ec --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.1-GCCcore-11.2.0.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.13.1' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'ofiwg' +source_urls = ['https://github.com/ofiwg/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + ('%(name)s-1.13.0_psm3-version.patch', 0), + '%(name)s-1.12.1_disable-psm3-avx-config.patch', +] +checksums = [ + '8e6eed38c4a39aa4cbf7d5d3734f0eecbfc030182f1f9b3be470702f2586d30e', # libfabric-1.13.1.tar.bz2 + 'f357a60f9cfd054469fef46f560531aa53ded3b7708c313b73d9bfdcb89bf24d', # libfabric-1.13.0_psm3-version.patch + # libfabric-1.12.1_disable-psm3-avx-config.patch + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a', +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files +preconfigopts = "autoreconf -f -i &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..14531d3108d --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.13.2-GCCcore-11.2.0.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.13.2' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'ofiwg' +source_urls = ['https://github.com/ofiwg/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + ('%(name)s-1.13.0_psm3-version.patch', 0), + '%(name)s-1.12.1_disable-psm3-avx-config.patch', +] +checksums = [ + '25d783b0722a8df8fe61c1de75fafca684c5fe520303180f26f0ad6409cfc0b9', # libfabric-1.13.2.tar.bz2 + 'f357a60f9cfd054469fef46f560531aa53ded3b7708c313b73d9bfdcb89bf24d', # libfabric-1.13.0_psm3-version.patch + # libfabric-1.12.1_disable-psm3-avx-config.patch + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a', +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files +preconfigopts = "autoreconf -f -i &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6c50cdb4a4b --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1-GCCcore-11.3.0.eb @@ -0,0 +1,69 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.15.1' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-1.12.1_disable-psm3-avx-config.patch', + '%(name)s-1.15.1_disable-OPX-if-unsupported.patch', +] +checksums = [ + 'cafa3005a9dc86064de179b0af4798ad30b46b2f862fe0268db03d13943e10cd', # libfabric-1.15.1.tar.bz2 + # libfabric-1.12.1_disable-psm3-avx-config.patch + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a', + # libfabric-1.15.1_disable-OPX-if-unsupported.patch + 'a1af5b985209acf447760f98f852c0c5359b1731fa23b1b893d8cc816a441850', +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.14'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1_disable-OPX-if-unsupported.patch b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1_disable-OPX-if-unsupported.patch new file mode 100644 index 00000000000..c177e1de66d --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.15.1_disable-OPX-if-unsupported.patch @@ -0,0 +1,55 @@ +Based on https://github.com/ofiwg/libfabric/pull/7583 by mwheinz +Updated for release version 1.15.1 by Jasper Grimm +---------------------------------------------------------------- +diff -Nru libfabric-1.15.1.orig/prov/opx/configure.m4 b/prov/opx/configure.m4 +--- libfabric-1.15.1.orig/prov/opx/configure.m4 2022-05-16 13:14:58.000000000 +0100 ++++ b/prov/opx/configure.m4 2022-05-16 13:25:28.000000000 +0100 +@@ -44,7 +44,13 @@ + opx_happy=0 + opx_direct=0 + +- AS_IF([test x"$enable_opx" != x"no"],[ ++ ++ dnl OPX hardware is not supported for MacOS or FreeBSD, ++ dnl and is not supported for non-x86 processors. ++ AS_IF([test "x$macos" = "x1"],[opx_happy=0], ++ [test "x$freebsd" = "x1"],[opx_happy=0], ++ [test x$host_cpu != xx86_64],[opx_happy=0], ++ [test x"$enable_opx" != x"no"],[ + + AC_MSG_CHECKING([for opx provider]) + +@@ -91,6 +97,7 @@ + AC_SUBST(opx_reliability, [$OPX_RELIABILITY]) + AC_DEFINE_UNQUOTED(OPX_RELIABILITY, [$OPX_RELIABILITY], [fabric direct reliability]) + ++ opx_happy=1 + FI_CHECK_PACKAGE([opx_uuid], + [uuid/uuid.h], + [uuid], +@@ -98,14 +105,19 @@ + [], + [], + [], +- [opx_happy=1], ++ [], ++ [opx_happy=0]) ++ FI_CHECK_PACKAGE([opx_numa], ++ [numa.h], ++ [numa], ++ [numa_node_of_cpu], ++ [], ++ [], ++ [], ++ [], + [opx_happy=0]) + +- dnl OPX hardware is not available for MacOS or FreeBSD. +- AS_IF([test "x$macos" = "x1"],[opx_happy=0],[]) +- AS_IF([test "x$freebsd" = "x1"],[opx_happy=0],[]) +- +- AC_CHECK_DECL([HAVE_ATOMICS], ++ AC_CHECK_DECL([HAVE_ATOMICS], + [], + [cc_version=`$CC --version | head -n1` + AC_MSG_WARN(["$cc_version" doesn't support native atomics. Disabling OPX provider.]) diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..31c4ac02fac --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb @@ -0,0 +1,66 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.16.1' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-1.12.1_disable-psm3-avx-config.patch', +] +checksums = [ + {'libfabric-1.16.1.tar.bz2': '53f992d33f9afe94b8a4ea3d105504887f4311cf4b68cea99a24a85fcc39193f'}, + {'libfabric-1.12.1_disable-psm3-avx-config.patch': + '129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c1fa6c1cebb --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.18.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-%(version)s_disable-psm3-avx-config.patch', +] +checksums = [ + {'libfabric-1.18.0.tar.bz2': '912fb7c7b3cf2a91140520962b004a1c5d2f39184adbbd98ae5919b0178afd43'}, + {'libfabric-1.18.0_disable-psm3-avx-config.patch': + '79db0bfe759d65ef68301701e0842f1e8dcd4ace8bfc5bca8f7c8846501a67cb'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0_disable-psm3-avx-config.patch b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0_disable-psm3-avx-config.patch new file mode 100644 index 00000000000..a9492c6f059 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.18.0_disable-psm3-avx-config.patch @@ -0,0 +1,90 @@ +The AVX/AVX2 detection seems to be based on compiler instead of CPU capabilities +which can lead to broken binaries as result of the build (eg AVX2 binaries in Intel IvyBridge) +Completetly disable this detection as it is already set by EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- prov/psm3/configure.m4.orig 2023-06-04 15:45:48.900664549 +0200 ++++ prov/psm3/configure.m4 2023-06-04 16:00:11.300135166 +0200 +@@ -134,45 +134,45 @@ + ]) + CFLAGS=$save_CFLAGS + +- AC_MSG_CHECKING([for -mavx support]) +- save_CFLAGS=$CFLAGS +- CFLAGS="$PSM3_STRIP_OPTFLAGS -mavx -O0" +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM( +- [[#include ]], +- [[unsigned long long _a[4] = {1ULL,2ULL,3ULL,4ULL}; +- __m256i vA = _mm256_loadu_si256((__m256i *)_a); +- __m256i vB; +- _mm256_store_si256(&vB, vA); +- return 0;]]) +- ],[ +- AC_MSG_RESULT([yes]) +- PSM3_ARCH_CFLAGS="-mavx" +- ],[ +- psm3_happy=0 +- AC_MSG_RESULT([no]) +- AC_MSG_NOTICE([psm3 requires minimum of avx instruction set to build]) +- ]) +- CFLAGS=$save_CFLAGS ++dnl AC_MSG_CHECKING([for -mavx support]) ++dnl save_CFLAGS=$CFLAGS ++dnl CFLAGS="$PSM3_STRIP_OPTFLAGS -mavx -O0" ++dnl AC_LINK_IFELSE( ++dnl [AC_LANG_PROGRAM( ++dnl [[#include ]], ++dnl [[unsigned long long _a[4] = {1ULL,2ULL,3ULL,4ULL}; ++dnl __m256i vA = _mm256_loadu_si256((__m256i *)_a); ++dnl __m256i vB; ++dnl _mm256_store_si256(&vB, vA); ++dnl return 0;]]) ++dnl ],[ ++dnl AC_MSG_RESULT([yes]) ++dnl PSM3_ARCH_CFLAGS="-mavx" ++dnl ],[ ++dnl psm3_happy=0 ++dnl AC_MSG_RESULT([no]) ++dnl AC_MSG_NOTICE([psm3 requires minimum of avx instruction set to build]) ++dnl ]) ++dnl CFLAGS=$save_CFLAGS + +- AC_MSG_CHECKING([for -mavx2 support]) +- save_CFLAGS=$CFLAGS +- CFLAGS="$PSM3_STRIP_OPTFLAGS -mavx2 -O0" +- AC_LINK_IFELSE( +- [AC_LANG_PROGRAM( +- [[#include ]], +- [[unsigned long long _a[4] = {1ULL,2ULL,3ULL,4ULL}; +- __m256i vA = _mm256_loadu_si256((__m256i *)_a); +- __m256i vB = _mm256_add_epi64(vA, vA); +- (void)vB; +- return 0;]]) +- ],[ +- AC_MSG_RESULT([yes]) +- PSM3_ARCH_CFLAGS="-mavx2" +- ],[ +- AC_MSG_RESULT([no]) +- ]) +- CFLAGS=$save_CFLAGS ++dnl AC_MSG_CHECKING([for -mavx2 support]) ++dnl save_CFLAGS=$CFLAGS ++dnl CFLAGS="$PSM3_STRIP_OPTFLAGS -mavx2 -O0" ++dnl AC_LINK_IFELSE( ++dnl [AC_LANG_PROGRAM( ++dnl [[#include ]], ++dnl [[unsigned long long _a[4] = {1ULL,2ULL,3ULL,4ULL}; ++dnl __m256i vA = _mm256_loadu_si256((__m256i *)_a); ++dnl __m256i vB = _mm256_add_epi64(vA, vA); ++dnl (void)vB; ++dnl return 0;]]) ++dnl ],[ ++dnl AC_MSG_RESULT([yes]) ++dnl PSM3_ARCH_CFLAGS="-mavx2" ++dnl ],[ ++dnl AC_MSG_RESULT([no]) ++dnl ]) ++dnl CFLAGS=$save_CFLAGS + + AC_PROG_GREP() + diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5d80c15a258 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb @@ -0,0 +1,66 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.19.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-1.18.0_disable-psm3-avx-config.patch', +] +checksums = [ + {'libfabric-1.19.0.tar.bz2': 'f14c764be9103e80c46223bde66e530e5954cb28b3835b57c8e728479603ef9e'}, + {'libfabric-1.18.0_disable-psm3-avx-config.patch': + '79db0bfe759d65ef68301701e0842f1e8dcd4ace8bfc5bca8f7c8846501a67cb'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.16'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..04757a82748 --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.21.0-GCCcore-13.3.0.eb @@ -0,0 +1,61 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.21.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +checksums = [ + {'libfabric-1.21.0.tar.bz2': '0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('numactl', '2.0.18'), + # PSM2 dependency for libfabric should be used on Omnipath systems, + # but that PSM2 has CUDA as dependency so it's commented out by default; + # PSM2 only compiles on x86_64 + # ('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..4f17eb894d9 --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.2.0-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..d344b97e0a7 --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-10.3.0-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..df07567445e --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-GCC-11.2.0-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..12c8f37583f --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-iccifort-2020.4.304-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..8876b15d1d4 --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.2.0-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..a09baf53da1 --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.2.2-intel-compilers-2021.4.0-serial.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'libfdf' +version = '0.2.2' +versionsuffix = '-serial' +homepage = 'https://launchpad.net/libfdf' +description = """LibFDF provides a Fortran API to parse files in the + Flexible Data Format (FDF).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/uploads/3eed96bf0701f36d49671617167a7771/'] +sources = ['libfdf-%(version)s.tar.gz'] +checksums = ['d7134ca665df94244f5bb35326b9f05aec6002c45cb1049816f33c22acf7dae0'] + +sanity_check_paths = { + 'files': ['include/fdf.mod', 'lib/libfdf.a'], + 'dirs': [''], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libfdf/libfdf-0.5.0-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libfdf/libfdf-0.5.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..245b4e41e57 --- /dev/null +++ b/easybuild/easyconfigs/l/libfdf/libfdf-0.5.0-GCC-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'libfdf' +version = '0.5.0' + +homepage = 'https://gitlab.com/siesta-project/libraries/libfdf' +description = """LibFDF is the official implementation of the FDF specifications for use in client codes.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/libfdf/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a8ac07a0d27ec9a96ee0691221cee8a18b5c60aaa001fcdc6858a9bfa0782f5f'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libfdf.a'], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/libfdf'], +} + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libffcall/libffcall-2.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libffcall/libffcall-2.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..60a3b0255b4 --- /dev/null +++ b/easybuild/easyconfigs/l/libffcall/libffcall-2.4-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libffcall' +version = '2.4' + +homepage = 'https://www.gnu.org/software/libffcall/' + +description = """ + GNU Libffcall is a collection of four libraries which can be used to build + foreign function call interfaces in embedded interpreters +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8ef69921dbdc06bc5bb90513622637a7b83a71f31f5ba377be9d8fd8f57912c2'] + +builddependencies = [ + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['include/avcall.h', 'include/callback.h', 'include/trampoline.h', + 'include/vacall.h', 'lib/libavcall.a', 'lib/libcallback.a', + 'lib/libtrampoline.a', 'lib/libvacall.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-GCCcore-5.4.0.eb index 380578da359..1013ed198c1 100644 --- a/easybuild/easyconfigs/l/libffi/libffi-3.2.1-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libffi/libffi-3.2.1-GCCcore-5.4.0.eb @@ -20,7 +20,7 @@ checksums = [ '078bec207fc3d5a0581f2a952d1c014b76a6e84a93a6a089ff9b9fe5b3908cb9', # libffi-3.2.1_fix-include-location.patch ] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': [('lib/libffi.%s' % SHLIB_EXT, 'lib64/libffi.%s' % SHLIB_EXT), ('lib/libffi.a', 'lib64/libffi.a')], diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7d594ca1d72 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.2' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v3.4.2/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620'] + +builddependencies = [ + ('binutils', '2.37'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8f406d5d7c9 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.2' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v3.4.2/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620'] + +builddependencies = [ + ('binutils', '2.38'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f9c248d7fd7 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.4' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676'] + +builddependencies = [ + ('binutils', '2.39'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..416e3945706 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.4' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676'] + +builddependencies = [ + ('binutils', '2.40'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.1.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..d64748fec2e --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.4' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676'] + +builddependencies = [ + ('binutils', '2.40'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..220c7453d65 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.4' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676'] + +builddependencies = [ + ('binutils', '2.40'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..34934544c93 --- /dev/null +++ b/easybuild/easyconfigs/l/libffi/libffi-3.4.5-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'libffi' +version = '3.4.5' + +homepage = 'https://sourceware.org/libffi/' +description = """The libffi library provides a portable, high level programming interface to + various calling conventions. This allows a programmer to call any function + specified by a call interface description at run-time.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libffi/libffi/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2'] + +builddependencies = [ + ('binutils', '2.42'), +] + +configopts = '--disable-exec-static-tramp ' + +sanity_check_paths = { + 'files': ['lib/libffi.a', 'lib/libffi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' 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/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b0095e84672 --- /dev/null +++ b/easybuild/easyconfigs/l/libfyaml/libfyaml-0.9-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +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.3.0'} + +source_urls = ['https://github.com/pantoniou/libfyaml/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['7731edc5dfcc345d5c5c9f6ce597133991a689dabede393cd77bae89b327cd6d'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +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/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cb07437830e --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.10.1' + +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' +description = """Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['ef14ae546b0084cd84259f61a55e07a38c3b53afc0f546bffcef2f01baffe9de'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('libgpg-error', '1.46')] + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +sanity_check_commands = [ + 'dumpsexp --version', + 'hmac256 --version', + 'mpicalc --version', + 'libgcrypt-config --version | grep "%(version)s"', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..113c8f30746 --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.10.3-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.10.3' + +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' +description = """Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('libgpg-error', '1.48')] + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +sanity_check_commands = [ + 'dumpsexp --version', + 'hmac256 --version', + 'mpicalc --version', + 'libgcrypt-config --version | grep "%(version)s"', +] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.9.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.9.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1ece41de6a0 --- /dev/null +++ b/easybuild/easyconfigs/l/libgcrypt/libgcrypt-1.9.3-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libgcrypt' +version = '1.9.3' + +homepage = 'https://gnupg.org/related_software/libgcrypt/index.html' +description = """Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['97ebe4f94e2f7e35b752194ce15a0f3c66324e0ff6af26659bbfb5ff2ec328fd'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('libgpg-error', '1.42')] + +sanity_check_paths = { + 'files': ['bin/libgcrypt-config', 'include/gcrypt.h', 'lib/libgcrypt.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f483ddfc597 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('fontconfig', '2.13.94'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..edeae044ca8 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('fontconfig', '2.14.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d8d3e21fab0 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('fontconfig', '2.14.1'), + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4d542a04a10 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8ebba5a4031 --- /dev/null +++ b/easybuild/easyconfigs/l/libgd/libgd-2.3.3-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'libgd' +version = '2.3.3' + +homepage = 'https://libgd.github.io' +description = "GD is an open source code library for the dynamic creation of images by programmers." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/libgd/libgd/releases/download/gd-%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dd3f1f0bb016edcc0b2d082e8229c822ad1d02223511997c80461481759b1ed2'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), +] + +configopts = "--with-fontconfig=$EBROOTFONTCONFIG --with-jpeg=$EBROOTLIBJPEGMINTURBO " +configopts += "--with-png=$EBROOTLIBPNG --with-zlib=$EBROOTZLIB" + +sanity_check_paths = { + 'files': ['lib/libgd.a', 'lib/libgd.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include'], +} + +sanity_check_commands = ['webpng --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..468f3e51c16 --- /dev/null +++ b/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'libgdiplus' +version = '6.1' + +homepage = 'https://www.mono-project.com/docs/gui/libgdiplus' +description = """Libgdiplus is the Mono library that provides a GDI+-compatible + API on non-Windows operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'mono' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-6.1_use-external-googletest.patch'] +checksums = [ + '6ba47acef48ffa2a75d71f8958e0de7f8f52ea066ed97409b33e7a32f31835fd', # 6.1.tar.gz + '79715140ef1db1e99bacceda56351c410966a5d6b0ad3f5c7bed69d7adf1d079', # libgdiplus-6.1_use-external-googletest.patch +] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('googletest', '1.11.0'), +] + +dependencies = [ + ('cairo', '1.16.0'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('libexif', '0.6.24'), + ('giflib', '5.2.1'), + ('Pango', '1.48.8'), +] + +# if using Pango, also need to link pangoft2 +preconfigopts = "sed -i 's/pangocairo/pangocairo pangoft2/g' configure.ac &&" +# autogen.sh also runs configure, passing on arguments +configure_cmd = "./autogen.sh" +configopts = '--with-pango' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/%s.%s' % (name, x) for x in ['a', 'la', SHLIB_EXT]] + ['lib/pkgconfig/%(name)s.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1_use-external-googletest.patch b/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1_use-external-googletest.patch new file mode 100644 index 00000000000..a9d79acdb49 --- /dev/null +++ b/easybuild/easyconfigs/l/libgdiplus/libgdiplus-6.1_use-external-googletest.patch @@ -0,0 +1,76 @@ +Author: Jasper Grimm +Avoid building the shipped googletest +Avoid checking for presence of submodules (googletest) +Remove failing testfont test from test suite +diff -Nru libgdiplus-6.1.orig/Makefile.am libgdiplus-6.1/Makefile.am +--- libgdiplus-6.1.orig/Makefile.am 2022-01-21 14:42:42.000000000 +0000 ++++ libgdiplus-6.1/Makefile.am 2022-01-21 14:43:20.000000000 +0000 +@@ -9,11 +9,4 @@ + + DISTCLEANFILES= libgdiplus.pc + +-EXTRA_DIST = libgdiplus.pc.in README.md LICENSE libgdiplus.sln winconfig.h.in update_submodules.sh external/googletest +- +-all: update_submodules +- +-update_submodules: +- @cd $(top_srcdir) && ./update_submodules.sh +- +-.PHONY: update_submodules ++EXTRA_DIST = libgdiplus.pc.in README.md LICENSE libgdiplus.sln winconfig.h.in +diff -Nru libgdiplus-6.1.orig/tests/Makefile.am libgdiplus-6.1/tests/Makefile.am +--- libgdiplus-6.1.orig/tests/Makefile.am 2022-01-21 14:42:42.000000000 +0000 ++++ libgdiplus-6.1/tests/Makefile.am 2022-01-21 14:44:33.000000000 +0000 +@@ -343,7 +343,7 @@ + testcodecs \ + testcustomlinecap \ + testemfcodec \ +- testfont \ ++ # testfont \ + testgifcodec \ + testgeneral \ + testgpimage \ +@@ -382,27 +382,27 @@ + # TESTS += testgdi + endif + +-if HAVE_CMAKE ++# if HAVE_CMAKE + +-GTEST_BUILDDIR := $(top_builddir)/gtest_build +-GTEST_LIBS := $(GTEST_BUILDDIR)/lib/libgtest.a $(GTEST_BUILDDIR)/lib/libgtest_main.a +-$(GTEST_BUILDDIR): +- mkdir -p $(GTEST_BUILDDIR) ++# GTEST_BUILDDIR := $(top_builddir)/gtest_build ++# GTEST_LIBS := $(GTEST_BUILDDIR)/lib/libgtest.a $(GTEST_BUILDDIR)/lib/libgtest_main.a ++# $(GTEST_BUILDDIR): ++# mkdir -p $(GTEST_BUILDDIR) + +-$(GTEST_BUILDDIR)/.stamp-gtest: | $(GTEST_BUILDDIR) +- cd $(GTEST_BUILDDIR) && $(CMAKE) . $(top_srcdir)/external/googletest && $(MAKE) +- touch $@ ++# $(GTEST_BUILDDIR)/.stamp-gtest: | $(GTEST_BUILDDIR) ++# cd $(GTEST_BUILDDIR) && $(CMAKE) . $(top_srcdir)/external/googletest && $(MAKE) ++# touch $@ + +-$(GTEST_LIBS): $(GTEST_BUILDDIR)/.stamp-gtest ++# $(GTEST_LIBS): $(GTEST_BUILDDIR)/.stamp-gtest + +-gtest_SOURCES = gtest.cpp +-gtest_DEPENDENCIES = $(TEST_DEPS) $(GTEST_LIBS) +-gtest_LDADD = $(LDADDS) $(GTEST_LIBS) +-gtest_CPPFLAGS = -pthread -std=c++11 -I$(top_srcdir)/external/googletest/googletest/include -I$(top_srcdir)/src $(GDIPLUS_INCLUDES) ++# gtest_SOURCES = gtest.cpp ++# gtest_DEPENDENCIES = $(TEST_DEPS) $(GTEST_LIBS) ++# gtest_LDADD = $(LDADDS) $(GTEST_LIBS) ++# gtest_CPPFLAGS = -pthread -std=c++11 -I$(top_srcdir)/external/googletest/googletest/include -I$(top_srcdir)/src $(GDIPLUS_INCLUDES) + +-noinst_PROGRAMS += gtest ++# noinst_PROGRAMS += gtest + + run-gtest: gtest +- ./gtest --gtest_output=xml:TestResult.xml ++ gtest --gtest_output=xml:TestResult.xml + +-endif ++# endif diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a15eb4dbf2a --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.0' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['fc304d8839ca5947cfbeb63adb9d1aa47acef38fc6d6689e622926e672a99a7e'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('PROJ', '8.1.0'), + ('libjpeg-turbo', '2.0.6'), + ('zlib', '1.2.11'), + ('SQLite', '3.36'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.78.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..424658def7b --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.1' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('PROJ', '9.0.0'), + ('libjpeg-turbo', '2.1.3'), + ('zlib', '1.2.12'), + ('SQLite', '3.38.3'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.83.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..75956eab50a --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.1' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('PROJ', '9.1.1'), + ('libjpeg-turbo', '2.1.4'), + ('zlib', '1.2.12'), + ('SQLite', '3.39.4'), + ('LibTIFF', '4.4.0'), + ('cURL', '7.86.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f11da8ce849 --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.1' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('PROJ', '9.2.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('zlib', '1.2.13'), + ('SQLite', '3.42.0'), + ('LibTIFF', '4.5.0'), + ('cURL', '8.0.1'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ce66887030e --- /dev/null +++ b/easybuild/easyconfigs/l/libgeotiff/libgeotiff-1.7.3-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.3' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['ba23a3a35980ed3de916e125c739251f8e3266be07540200125a307d7cf5a704'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('PROJ', '9.3.1'), + ('libjpeg-turbo', '3.0.1'), + ('zlib', '1.2.13'), + ('SQLite', '3.43.1'), + ('LibTIFF', '4.6.0'), + ('cURL', '8.3.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.1.0-GCCcore-10.3.0.eb index 363d1410af2..072c87fca91 100644 --- a/easybuild/easyconfigs/l/libgit2/libgit2-1.1.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.1.0-GCCcore-10.3.0.eb @@ -23,7 +23,7 @@ builddependencies = [ dependencies = [ ('PCRE', '8.44'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..67f2252522d --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.1.1' + +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': '11.2.0'} + +github_account = 'libgit2' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['13a525373f64c711a00a058514d890d1512080265f98e0935ab279393f21a620'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('PCRE', '8.45'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/libgit2.%s' % SHLIB_EXT, 'lib64/pkgconfig/libgit2.pc'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.4.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.4.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..24bafd95d41 --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.4.3-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.4.3' + +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': '11.3.0'} + +github_account = 'libgit2' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f48b961e463a9e4e7e7e58b21a0fb5a9b2a1d24d9ba4d15870a0c9b8ad965163'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('PCRE', '8.45'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/libgit2.%s' % SHLIB_EXT, 'lib64/pkgconfig/libgit2.pc'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5b9bd25e4c1 --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.5.0' + +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': '12.2.0'} + +github_account = 'libgit2' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8de872a0f201b33d9522b817c92e14edb4efad18dae95cf156cf240b2efff93e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('PCRE', '8.45'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['include/git2.h', 'lib64/libgit2.%s' % SHLIB_EXT, 'lib64/pkgconfig/libgit2.pc'], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libgit2/libgit2-1.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8453883dbd2 --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.7.1' + +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': '12.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['17d2b292f21be3892b704dddff29327b3564f96099a1c53b00edc23160c71327'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('PCRE', '8.45'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +github_account = '%(name)s' + +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/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/libgit2/libgit2-1.8.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libgit2/libgit2-1.8.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..07da30e2a80 --- /dev/null +++ b/easybuild/easyconfigs/l/libgit2/libgit2-1.8.1-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'libgit2' +version = '1.8.1' + +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.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8c1eaf0cf07cba0e9021920bfba9502140220786ed5d8a8ec6c7ad9174522f8e'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('PCRE2', '10.43'), + ('OpenSSL', '3', '', 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/libglvnd/libglvnd-1.3.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.3.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b2bf5af2288 --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.3.3-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.3.3' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['e768f43a0b23d9a8c9f1bed425f7f15d8491a1780253945a4445ddc40e5f6f84'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), +] + +dependencies = [('X11', '20210802')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e880f8d7de7 --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.4.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['33b8b993adf47a21bc1c46bcf970927edeb9884390d5b09b1aed051d600c0b2f'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [('X11', '20220504')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6e95158d902 --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.6.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['efc756ffd24b24059e1c53677a9d57b4b237b00a01c54a6f1611e1e51661d70c'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [('X11', '20221110')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7706034bcbf --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.6.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['efc756ffd24b24059e1c53677a9d57b4b237b00a01c54a6f1611e1e51661d70c'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +dependencies = [('X11', '20230603')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..cd5ce89a5cb --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.7.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['2b6e15b06aafb4c0b6e2348124808cbd9b291c647299eaaba2e3202f51ff2f3d'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [('X11', '20231019')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c6a03d1b419 --- /dev/null +++ b/easybuild/easyconfigs/l/libglvnd/libglvnd-1.7.0-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'libglvnd' +version = '1.7.0' + +homepage = 'https://gitlab.freedesktop.org/glvnd/libglvnd' +description = "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'] +sources = ['libglvnd-v%(version)s.tar.gz'] +checksums = ['2b6e15b06aafb4c0b6e2348124808cbd9b291c647299eaaba2e3202f51ff2f3d'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), +] + +dependencies = [('X11', '20240607')] + +# Let EGL find system-installed vendor files in /etc/glvnd/egl_vendor.d etc. +allow_prepend_abs_path = True +modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"} + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in ['EGL', 'GL', 'GLX', 'OpenGL']], + 'dirs': ['include/%s' % x for x in ['EGL', 'GL', 'GLES', 'GLES2', 'GLES3', 'glvnd', 'KHR']] + ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.42-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.42-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f99fc6535c9 --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.42-GCCcore-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.42' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/gpg-error-config', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..eb147d5e586 --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.46-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.46' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['b7e11a64246bbe5ef37748de43b245abd72cfcd53c9ae5e7fc5ca59f1c81268d'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/gpg-error', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..67edfd4a874 --- /dev/null +++ b/easybuild/easyconfigs/l/libgpg-error/libgpg-error-1.48-GCCcore-12.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libgpg-error' +version = '1.48' + +homepage = 'https://gnupg.org/related_software/libgpg-error/index.html' +description = """Libgpg-error is a small library that defines common error values for all GnuPG components.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gnupg.org/ftp/gcrypt/%(name)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['89ce1ae893e122924b858de84dc4f67aae29ffa610ebf668d5aa539045663d6f'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/gpg-error', 'include/gpg-error.h', 'lib/libgpg-error.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2018b-Python-3.6.6.eb index 78364cb4e7e..ecc93e83772 100644 --- a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2018b-Python-3.6.6.eb @@ -15,7 +15,6 @@ checksums = ['887b6433a30282cb002117da89b05812c770fd9469f93950ff3866ddd02bfc64'] builddependencies = [('CMake', '3.12.1')] -configopts = '-DCMAKE_BUILD_TYPE=Release' dependencies = [ ('Python', '3.6.6'), @@ -30,7 +29,6 @@ exts_default_options = { } exts_list = [ (name, version, { - 'buildcmd': 'build_ext', 'modulename': 'pygpu', 'source_tmpl': SOURCE_TAR_GZ, 'source_urls': ['https://github.com/Theano/%(name)s/releases/download/v%(version)s/'], diff --git a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019a.eb b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019a.eb index c76c0d9b051..f836ce504bd 100644 --- a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019a.eb +++ b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019a.eb @@ -22,7 +22,6 @@ dependencies = [ ('NCCL', '2.4.2'), ] -configopts = '-DCMAKE_BUILD_TYPE=Release' exts_defaultclass = 'PythonPackage' exts_default_options = { @@ -31,7 +30,6 @@ exts_default_options = { } exts_list = [ (name, version, { - 'buildcmd': 'build_ext', 'modulename': 'pygpu', 'source_urls': ['https://github.com/Theano/libgpuarray/releases/download/v%(version)s/'], 'checksums': ['887b6433a30282cb002117da89b05812c770fd9469f93950ff3866ddd02bfc64'], diff --git a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019b-Python-3.7.4.eb index 5b798cd4a45..9d6e0f23edb 100644 --- a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2019b-Python-3.7.4.eb @@ -22,8 +22,6 @@ dependencies = [ ('NCCL', '2.4.8'), ] -build_type = 'Release' - exts_defaultclass = 'PythonPackage' exts_default_options = { 'download_dep_fail': True, @@ -31,7 +29,6 @@ exts_default_options = { } exts_list = [ (name, version, { - 'buildcmd': 'build_ext', 'modulename': 'pygpu', 'source_urls': ['https://github.com/Theano/libgpuarray/releases/download/v%(version)s/'], 'checksums': ['887b6433a30282cb002117da89b05812c770fd9469f93950ff3866ddd02bfc64'], diff --git a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2020b.eb b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2020b.eb index 21aa4a17f7d..2a82e9c481f 100644 --- a/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/l/libgpuarray/libgpuarray-0.7.6-fosscuda-2020b.eb @@ -23,8 +23,6 @@ dependencies = [ ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] -build_type = 'Release' - exts_defaultclass = 'PythonPackage' exts_default_options = { 'download_dep_fail': True, @@ -33,7 +31,6 @@ exts_default_options = { } exts_list = [ (name, version, { - 'buildcmd': 'build_ext', 'modulename': 'pygpu', 'source_urls': ['https://github.com/Theano/libgpuarray/releases/download/v%(version)s/'], 'checksums': ['887b6433a30282cb002117da89b05812c770fd9469f93950ff3866ddd02bfc64'], 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/libharu/libharu-2.3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ad1a8e66715 --- /dev/null +++ b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# 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 +## +# Modified for foss-2016b by: +# Adam Huffman +# The Francis Crick Institute +# +# Updated: Pavel Grochal (INUITS) +# + +easyblock = 'CMakeMake' + +name = 'libharu' +version = '2.3.0' + +homepage = 'https://github.com/libharu/libharu/' +description = """libHaru is a free, cross platform, open source library for +generating PDF files.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +# 'https://github.com/libharu/libharu/archive/' +source_urls = [GITHUB_SOURCE] +sources = ['RELEASE_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1') +] + +dependencies = [('libpng', '1.6.37')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libhpdf.%s' % SHLIB_EXT], + 'dirs': ['if', 'include', 'lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..29c45f84405 --- /dev/null +++ b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'libharu' +version = '2.3.0' + +homepage = 'https://github.com/libharu/libharu/' +description = """libHaru is a free, cross platform, open source library for generating PDF files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GITHUB_SOURCE] # https://github.com/libharu/libharu/archive/ +sources = ['RELEASE_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [('libpng', '1.6.37')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libhpdf.%s' % SHLIB_EXT], + 'dirs': [ + 'if', + 'include', + 'lib', + ] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7b7f71ea537 --- /dev/null +++ b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'libharu' +version = '2.3.0' + +homepage = 'https://github.com/libharu/libharu/' +description = """libHaru is a free, cross platform, open source library for generating PDF files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] # https://github.com/libharu/libharu/archive/ +sources = ['RELEASE_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [('libpng', '1.6.37')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libhpdf.%s' % SHLIB_EXT], + 'dirs': [ + 'if', + 'include', + 'lib', + ] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021a.eb b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021a.eb new file mode 100644 index 00000000000..22528027934 --- /dev/null +++ b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021a.eb @@ -0,0 +1,44 @@ +# 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 +## +# Modified for foss-2016b by: +# Adam Huffman +# The Francis Crick Institute +# +# Modified for foss-2020b by: +# Sebastien Moretti +# SIB Swiss Institute of Bioinformatics + +easyblock = 'CMakeMake' + +name = 'libharu' +version = '2.3.0' + +homepage = 'http://libharu.org/' +description = """libHaru is a free, cross platform, open source library for generating PDF files.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/libharu/libharu/archive/'] +sources = ['RELEASE_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2'] + +dependencies = [('libpng', '1.6.37')] + +builddependencies = [('CMake', '3.20.1')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libhpdf.%s' % SHLIB_EXT], + 'dirs': ['if', 'include', 'lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021b.eb b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021b.eb new file mode 100644 index 00000000000..a6a8089cd10 --- /dev/null +++ b/easybuild/easyconfigs/l/libharu/libharu-2.3.0-foss-2021b.eb @@ -0,0 +1,44 @@ +# 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 +## +# Modified for foss-2016b by: +# Adam Huffman +# The Francis Crick Institute +# +# Modified for foss-2020b by: +# Sebastien Moretti +# SIB Swiss Institute of Bioinformatics + +easyblock = 'CMakeMake' + +name = 'libharu' +version = '2.3.0' + +homepage = 'http://libharu.org/' +description = """libHaru is a free, cross platform, open source library for generating PDF files.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/libharu/libharu/archive/'] +sources = ['RELEASE_%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['8f9e68cc5d5f7d53d1bc61a1ed876add1faf4f91070dbc360d8b259f46d9a4d2'] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [('libpng', '1.6.37')] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libhpdf.%s' % SHLIB_EXT], + 'dirs': ['if', 'include', 'lib'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..bb5cb6bf57c --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.12.0' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e1ac2abb354fdc8ccdca71363ebad7503ad731c84022cf460837f0839e171718'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('libde265', '1.0.8'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.6'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..cf871e99182 --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.12.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.12.0' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e1ac2abb354fdc8ccdca71363ebad7503ad731c84022cf460837f0839e171718'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('libde265', '1.0.8'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.6'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.16.2-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.16.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..9d966d5571b --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.16.2-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.16.2' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['7f97e4205c0bd9f9b8560536c8bd2e841d1c9a6d610401eb3eb87ed9cdfe78ea'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('libde265', '1.0.11'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.8'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb new file mode 100644 index 00000000000..ee355100089 --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.17.6-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libheif' +version = '1.17.6' + +homepage = 'https://github.com/strukturag/libheif' +description = "libheif is an HEIF and AVIF file format decoder and encoder" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['8390baf4913eda0a183e132cec62b875fb2ef507ced5ddddc98dfd2f17780aee'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('libde265', '1.0.15'), + ('x265', '3.5'), + ('Gdk-Pixbuf', '2.42.10'), +] + +# build both static and shared libraries +configopts = [ + "-DBUILD_SHARED_LIBS=OFF", + "-DBUILD_SHARED_LIBS=ON", +] + +sanity_check_paths = { + 'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'], + 'dirs': ['include/libheif'], +} + +sanity_check_commands = ["heif-info --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4d14cf38cee --- /dev/null +++ b/easybuild/easyconfigs/l/libhomfly/libhomfly-1.02r6-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libhomfly' +version = '1.02r6' + +homepage = 'https://github.com/miguelmarco/libhomfly' +description = """This is basically a conversion of the program written by Robert J Jenkins Jr into a shared library. + It accepts as entry a character string, formatted in the same way as the input files that the original + code used (see below). The returned value is the string that the original program would print on screen.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/miguelmarco/libhomfly/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['cf5d5031c905318127c83fdffc891deb097c77ee48cdd0131f839ea6ecb64a84'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), +] + +dependencies = [ + ('gc', '8.2.6'), +] + +preconfigopts = "autoreconf -i && " + +sanity_check_paths = { + 'files': ['include/homfly.h', 'lib/libhomfly.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.16-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.16-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c306c634ed6 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.16-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.16' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2e42721e294 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-11.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9e0244a6104 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2f013448152 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-12.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f8c4e3ab254 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0532a96c234 --- /dev/null +++ b/easybuild/easyconfigs/l/libiconv/libiconv-1.17-GCCcore-13.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libiconv' +version = '1.17' + +homepage = 'https://www.gnu.org/software/libiconv' +description = "Libiconv converts from one character encoding to another through Unicode conversion" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313'] + +builddependencies = [('binutils', '2.42')] + +sanity_check_paths = { + 'files': ['bin/iconv', 'include/iconv.h', 'include/libcharset.h', 'include/localcharset.h', + 'lib/libcharset.a', 'lib/libcharset.%s' % SHLIB_EXT, 'lib/libiconv.%s' % SHLIB_EXT], + 'dirs': ['share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn/libidn-1.38-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libidn/libidn-1.38-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..769eff5a612 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn/libidn-1.38-GCCcore-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libidn' +version = '1.38' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = """GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. +Libidn's purpose is to encode and decode internationalized domain names.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['de00b840f757cd3bb14dd9a20d5936473235ddcba06d4bc2da804654b8bbf0f6'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7a37e088e10 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn/libidn-1.41-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libidn' +version = '1.41' + +homepage = 'http://www.gnu.org/software/%(name)s' +description = """GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. +Libidn's purpose is to encode and decode internationalized domain names.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['884d706364b81abdd17bee9686d8ff2ae7431c5a14651047c68adf8b31fd8945'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.0-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.0-GCCcore-5.4.0.eb index 160e79719f9..4343922d7ce 100644 --- a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.0-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.0-GCCcore-5.4.0.eb @@ -13,7 +13,7 @@ source_urls = ['https://ftpmirror.gnu.org/gnu/libidn'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e1cb1db3d2e249a6a3eb6f0946777c2e892d5c5dc7bd91c74394fc3a01cab8b5'] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/idn2', 'lib/libidn2.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e1f1bdca274 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +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': '11.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/libidn2.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["idn2 --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5a7cd13f5c6 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.2-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +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': '11.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/libidn2.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["idn2 --help"] + +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/libidn2/libidn2-2.3.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b9ddb22009e --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.4-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.4' + +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': '12.2.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93caba72b4e051d1f8d4f5a076ab63c99b77faee019b72b9783b267986dbb45f'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/idn2', 'lib/libidn2.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ["idn2 --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..30a2e4a26f2 --- /dev/null +++ b/easybuild/easyconfigs/l/libidn2/libidn2-2.3.7-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libidn2' +version = '2.3.7' + +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': '12.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/libidn/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64'] + +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/libjpeg-turbo/libjpeg-turbo-1.5.0-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.5.0-GCCcore-5.4.0.eb index 886c796fe1a..0a3c4a9ccac 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.5.0-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-1.5.0-GCCcore-5.4.0.eb @@ -19,7 +19,7 @@ dependencies = [ ('NASM', '2.11.08'), ] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] configopts = "--with-jpeg8" runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb index e98cd35c5d2..6462a870025 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.4-GCCcore-9.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.14.02'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb index 1214eaa1d24..49f121b7a67 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.5-GCCcore-10.2.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb index 13a118e1614..6b17cef5654 100644 --- a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-10.3.0.eb @@ -27,7 +27,11 @@ dependencies = [ ('NASM', '2.15.05'), ] -configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' runtest = "test" diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c39bc3b974a --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.0.6-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.0.6' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('NASM', '2.15.05'), +] + +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9f8f5bac2bb --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.3-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.1.3' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['467b310903832b033fe56cd37720d1b73a6a3bd0171dbf6ff0b620385f4f76d0'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('NASM', '2.15.05'), +] + +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b372bc82f3f --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.4-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.1.4' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d3ed26a1131a13686dfca4935e520eb7c90ae76fbc45d98bb50a8dc86230342b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('NASM', '2.15.05'), +] + +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f1608484f69 --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-2.1.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '2.1.5.1' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2fdc3feb6e9deb17adec9bafa3321419aa19f8f4e5dea7bf8486844ca22207bf'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('NASM', '2.16.01'), +] + +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e952da0425e --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '3.0.1' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +dependencies = [ + ('NASM', '2.16.01'), +] + +# make sure that libraries are installed to /lib (instead of /lib64), +# which helps with avoiding problems when libjpeg-turbo is a dependency that +# gets linked via RPATH and Meson/Ninja are involved, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/16256 +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1 -DCMAKE_INSTALL_LIBDIR:PATH=lib' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f4a61f429a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libjpeg-turbo/libjpeg-turbo-3.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'libjpeg-turbo' +version = '3.0.1' + +homepage = 'https://sourceforge.net/projects/libjpeg-turbo/' + +description = """ + libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to + accelerate baseline JPEG compression and decompression. libjpeg is a library + that implements JPEG image encoding, decoding and transcoding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +dependencies = [ + ('NASM', '2.16.03'), +] + +configopts = ' -G"Unix Makefiles" -DWITH_JPEG8=1' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjpeg', 'bin/djpeg', 'bin/jpegtran', 'bin/rdjpgcom', + 'bin/tjbench', 'bin/wrjpgcom', 'lib/libjpeg.a', + 'lib/libjpeg.%s' % SHLIB_EXT, 'lib/libturbojpeg.a', + 'lib/libturbojpeg.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.3.7_external_lcms2.patch b/easybuild/easyconfigs/l/libjxl/libjxl-0.3.7_external_lcms2.patch new file mode 100644 index 00000000000..a2aa4c95aff --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.3.7_external_lcms2.patch @@ -0,0 +1,40 @@ +# Add external linking to lcms2 +# Author: micketeer@gmail.com +--- third_party/CMakeLists.txt.orig 2021-07-27 23:27:44.236251072 +0200 ++++ third_party/CMakeLists.txt 2021-07-27 23:28:34.219135611 +0200 +@@ -195,14 +195,14 @@ + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/skcms/LICENSE" + ${PROJECT_BINARY_DIR}/LICENSE.skcms COPYONLY) + endif () +-if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) +- if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) +- message(SEND_ERROR "Please run git submodule update --init") +- endif() +- include(lcms2.cmake) +- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" +- ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) +-endif() ++#if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) ++# if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) ++# message(SEND_ERROR "Please run git submodule update --init") ++# endif() ++# include(lcms2.cmake) ++# configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" ++# ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) ++#endif() + + # sjpeg + if (JPEGXL_ENABLE_SJPEG) +--- lib/jxl.cmake.orig 2021-07-27 23:29:41.173980148 +0200 ++++ lib/jxl.cmake 2021-07-30 13:36:44.745536958 +0200 +@@ -352,12 +352,6 @@ + $ + ) + else () +- target_include_directories(jxl_enc-obj PRIVATE +- $ +- ) +- target_include_directories(jxl_dec-obj PRIVATE +- $ +- ) + endif () diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2cd9083e979 --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.5-GCCcore-10.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.5' +local_lodepng_version = "48e5364" + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'optarch': False} # optarch causes some test failures + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = [ + 'v%(version)s.tar.gz', + {'filename': 'lodepng-%s.tar.gz' % local_lodepng_version, + 'download_filename': local_lodepng_version, + 'source_urls': ['https://github.com/lvandeve/lodepng/tarball/'], + 'extract_cmd': 'tar -C libjxl-%(version)s/third_party/lodepng --strip-components=1 -xf %s'}, +] +patches = [ + 'libjxl-0.3.7_external_lcms2.patch', + 'libjxl-%(version)s_remove-broken-test.patch', +] +checksums = [ + '911cb4b50eb621131ca22382166f40d4914a4ff4453dd299ade1e3292f311f89', # v0.5.tar.gz + 'f38176fc103fe1f6d23ba6addd5b14e6a54d546dfaa64663306acfe7b6d912ea', # lodepng-48e5364.tar.gz + '9e6decaf6be74eeccfd5728df175930b4be33de6cbdf9e1816f68cb4b718fa1b', # libjxl-0.3.7_external_lcms2.patch + '5b62751da5b3b3c4aad58a841d49cc506bc330425bbd0df7f19f99aa98c52c26', # libjxl-0.5_remove-broken-test.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), + ('pkg-config', '0.29.2'), + ('Highway', '0.12.2'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.12'), + ('Brotli', '1.0.9'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('giflib', '5.2.1'), + ('libwebp', '1.2.0'), + ('OpenEXR', '3.0.1'), + ('gperftools', '2.9.1'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.5_remove-broken-test.patch b/easybuild/easyconfigs/l/libjxl/libjxl-0.5_remove-broken-test.patch new file mode 100644 index 00000000000..7b751532edc --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.5_remove-broken-test.patch @@ -0,0 +1,64 @@ +remove broken test, see also https://github.com/libjxl/libjxl/issues/500 +author: Kenneth Hoste (HPC-UGent) +--- libjxl-0.5/lib/jxl/decode_test.cc.orig 2021-09-03 17:43:40.833113581 +0200 ++++ libjxl-0.5/lib/jxl/decode_test.cc 2021-09-03 17:43:51.029009242 +0200 +@@ -1701,59 +1701,6 @@ + JxlDecoderDestroy(dec); + } + +-TEST(DecodeTest, PixelTestWithICCProfileLossy) { +- JxlDecoder* dec = JxlDecoderCreate(NULL); +- +- size_t xsize = 123, ysize = 77; +- size_t num_pixels = xsize * ysize; +- std::vector pixels = jxl::test::GetSomeTestImage(xsize, ysize, 3, 0); +- JxlPixelFormat format_orig = {3, JXL_TYPE_UINT16, JXL_BIG_ENDIAN, 0}; +- jxl::CompressParams cparams; +- jxl::PaddedBytes compressed = jxl::CreateTestJXLCodestream( +- jxl::Span(pixels.data(), pixels.size()), xsize, ysize, 3, +- cparams, kCSBF_None, JXL_ORIENT_IDENTITY, /*add_preview=*/false, +- /*add_icc_profile=*/true); +- uint32_t channels = 3; +- +- JxlPixelFormat format = {channels, JXL_TYPE_FLOAT, JXL_LITTLE_ENDIAN, 0}; +- +- std::vector pixels2 = jxl::DecodeWithAPI( +- dec, jxl::Span(compressed.data(), compressed.size()), +- format, /*use_callback=*/false, /*set_buffer_early=*/true, +- /*use_resizable_runner=*/false); +- JxlDecoderReset(dec); +- EXPECT_EQ(num_pixels * channels * 4, pixels2.size()); +- +- // The input pixels use the profile matching GetIccTestProfile, since we set +- // add_icc_profile for CreateTestJXLCodestream to true. +- jxl::ColorEncoding color_encoding0; +- EXPECT_TRUE(color_encoding0.SetICC(GetIccTestProfile())); +- jxl::Span span0(pixels.data(), pixels.size()); +- jxl::CodecInOut io0; +- io0.SetSize(xsize, ysize); +- EXPECT_TRUE(ConvertFromExternal( +- span0, xsize, ysize, color_encoding0, +- /*has_alpha=*/false, false, 16, format_orig.endianness, +- /*flipped_y=*/false, /*pool=*/nullptr, &io0.Main())); +- +- // The output pixels are expected to be in the same colorspace as the input +- // profile, as the profile can be represented by enum values. +- jxl::ColorEncoding color_encoding1 = color_encoding0; +- jxl::Span span1(pixels2.data(), pixels2.size()); +- jxl::CodecInOut io1; +- io1.SetSize(xsize, ysize); +- EXPECT_TRUE( +- ConvertFromExternal(span1, xsize, ysize, color_encoding1, +- /*has_alpha=*/false, false, 32, format.endianness, +- /*flipped_y=*/false, /*pool=*/nullptr, &io1.Main())); +- +- jxl::ButteraugliParams ba; +- EXPECT_LE(ButteraugliDistance(io0, io1, ba, /*distmap=*/nullptr, nullptr), +- 2.4f); +- +- JxlDecoderDestroy(dec); +-} +- + // Tests the case of lossy sRGB image without alpha channel, decoded to RGB8 + // and to RGBA8 + TEST(DecodeTest, PixelTestOpaqueSrgbLossy) { diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..4bd51b12d10 --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1-GCCcore-10.2.0.eb @@ -0,0 +1,71 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.6.1' +local_lodepng_version = "48e5364" + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'optarch': False} # optarch causes some test failures + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = [ + 'v%(version)s.tar.gz', + {'filename': 'lodepng-%s.tar.gz' % local_lodepng_version, + 'download_filename': local_lodepng_version, + 'source_urls': ['https://github.com/lvandeve/lodepng/tarball/'], + 'extract_cmd': 'tar -C libjxl-%(version)s/third_party/lodepng --strip-components=1 -xf %s'}, +] +patches = [ + 'libjxl-0.6.1_external_lcms2.patch', + 'libjxl-%(version)s_remove-broken-test.patch', +] +checksums = [ + 'ccbd5a729d730152303be399f033b905e608309d5802d77a61a95faa092592c5', # v0.6.1.tar.gz + 'f38176fc103fe1f6d23ba6addd5b14e6a54d546dfaa64663306acfe7b6d912ea', # lodepng-48e5364.tar.gz + '1948d2527c658637939327eec093301539b164714f5bf146ed2e0dcadffadf00', # libjxl-0.6.1_external_lcms2.patch + '11b7cf639049afd9acd1c362287a743cdbe1a6f55e6f9d42b6eaa75ac6a0e6da', # libjxl-0.6.1_remove-broken-test.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('googletest', '1.10.0'), + ('pkg-config', '0.29.2'), + ('Highway', '0.12.2'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.11'), + ('Brotli', '1.0.9'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('giflib', '5.2.1'), + ('libwebp', '1.1.0'), + ('OpenEXR', '2.5.5'), + ('gperftools', '2.9.1'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF' + +runtest = "test" + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include/jxl'], +} + +sanity_check_commands = [ + "cjxl --help", + "djxl --help", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_external_lcms2.patch b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_external_lcms2.patch new file mode 100644 index 00000000000..7f1c93551a9 --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_external_lcms2.patch @@ -0,0 +1,42 @@ +# Add external linking to lcms2 +# Author: micketeer@gmail.com +# updated: Denis Kristak +diff -ruN libjxl-main_orig/lib/jxl.cmake libjxl-main/lib/jxl.cmake +--- libjxl-main_orig/lib/jxl.cmake 2021-10-29 19:28:31.000000000 +0100 ++++ libjxl-main/lib/jxl.cmake 2021-11-01 11:40:34.075502429 +0000 +@@ -396,9 +396,6 @@ + $ + ) + else () +- target_include_directories(jxl_enc-obj PRIVATE +- $ +- ) + endif () + + # Headers for exporting/importing public headers +diff -ruN libjxl-main_orig/third_party/CMakeLists.txt libjxl-main/third_party/CMakeLists.txt +--- libjxl-main_orig/third_party/CMakeLists.txt 2021-10-29 19:28:31.000000000 +0100 ++++ libjxl-main/third_party/CMakeLists.txt 2021-11-01 11:42:20.337106560 +0000 +@@ -201,14 +201,14 @@ + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/skcms/LICENSE" + ${PROJECT_BINARY_DIR}/LICENSE.skcms COPYONLY) + endif () +-if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) +- if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) +- message(SEND_ERROR "Please run git submodule update --init") +- endif() +- include(lcms2.cmake) +- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" +- ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) +-endif() ++# if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) ++# if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) ++# message(SEND_ERROR "Please run git submodule update --init") ++# endif() ++# include(lcms2.cmake) ++# configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" ++# ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) ++# endif() + + # sjpeg + if (JPEGXL_ENABLE_SJPEG) diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_remove-broken-test.patch b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_remove-broken-test.patch new file mode 100644 index 00000000000..6d8cc1044dc --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.6.1_remove-broken-test.patch @@ -0,0 +1,65 @@ +remove broken test, see also https://github.com/libjxl/libjxl/issues/500 +author: Kenneth Hoste (HPC-UGent) +diff -ruN libjxl-0.6.1_orig/lib/jxl/decode_test.cc libjxl-0.6.1/lib/jxl/decode_test.cc +--- libjxl-0.6.1_orig/lib/jxl/decode_test.cc 2021-11-01 14:01:50.188357223 +0000 ++++ libjxl-0.6.1/lib/jxl/decode_test.cc 2021-11-01 14:02:05.128147260 +0000 +@@ -1701,59 +1701,6 @@ + JxlDecoderDestroy(dec); + } + +-TEST(DecodeTest, PixelTestWithICCProfileLossy) { +- JxlDecoder* dec = JxlDecoderCreate(NULL); +- +- size_t xsize = 123, ysize = 77; +- size_t num_pixels = xsize * ysize; +- std::vector pixels = jxl::test::GetSomeTestImage(xsize, ysize, 3, 0); +- JxlPixelFormat format_orig = {3, JXL_TYPE_UINT16, JXL_BIG_ENDIAN, 0}; +- jxl::CompressParams cparams; +- jxl::PaddedBytes compressed = jxl::CreateTestJXLCodestream( +- jxl::Span(pixels.data(), pixels.size()), xsize, ysize, 3, +- cparams, kCSBF_None, JXL_ORIENT_IDENTITY, /*add_preview=*/false, +- /*add_icc_profile=*/true); +- uint32_t channels = 3; +- +- JxlPixelFormat format = {channels, JXL_TYPE_FLOAT, JXL_LITTLE_ENDIAN, 0}; +- +- std::vector pixels2 = jxl::DecodeWithAPI( +- dec, jxl::Span(compressed.data(), compressed.size()), +- format, /*use_callback=*/false, /*set_buffer_early=*/true, +- /*use_resizable_runner=*/false); +- JxlDecoderReset(dec); +- EXPECT_EQ(num_pixels * channels * 4, pixels2.size()); +- +- // The input pixels use the profile matching GetIccTestProfile, since we set +- // add_icc_profile for CreateTestJXLCodestream to true. +- jxl::ColorEncoding color_encoding0; +- EXPECT_TRUE(color_encoding0.SetICC(GetIccTestProfile())); +- jxl::Span span0(pixels.data(), pixels.size()); +- jxl::CodecInOut io0; +- io0.SetSize(xsize, ysize); +- EXPECT_TRUE(ConvertFromExternal( +- span0, xsize, ysize, color_encoding0, +- /*has_alpha=*/false, false, 16, format_orig.endianness, +- /*flipped_y=*/false, /*pool=*/nullptr, &io0.Main(), /*float_in=*/false)); +- +- // The output pixels are expected to be in the same colorspace as the input +- // profile, as the profile can be represented by enum values. +- jxl::ColorEncoding color_encoding1 = color_encoding0; +- jxl::Span span1(pixels2.data(), pixels2.size()); +- jxl::CodecInOut io1; +- io1.SetSize(xsize, ysize); +- EXPECT_TRUE(ConvertFromExternal( +- span1, xsize, ysize, color_encoding1, +- /*has_alpha=*/false, false, 32, format.endianness, +- /*flipped_y=*/false, /*pool=*/nullptr, &io1.Main(), /*float_in=*/true)); +- +- jxl::ButteraugliParams ba; +- EXPECT_LE(ButteraugliDistance(io0, io1, ba, /*distmap=*/nullptr, nullptr), +- 2.4f); +- +- JxlDecoderDestroy(dec); +-} +- + // Tests the case of lossy sRGB image without alpha channel, decoded to RGB8 + // and to RGBA8 + TEST(DecodeTest, PixelTestOpaqueSrgbLossy) { diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.8.1-foss-2022a.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.1-foss-2022a.eb new file mode 100644 index 00000000000..c9c368990b3 --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.1-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.8.1' + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'optarch': False} # optarch causes some test failures + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['60f43921ad3209c9e180563025eda0c0f9b1afac51a2927b9ff59fff3950dc56'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), + ('pkg-config', '0.29.2'), + ('Highway', '1.0.4'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.13.1'), + ('Brotli', '1.0.9'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('giflib', '5.2.1'), + ('libwebp', '1.2.4'), + ('OpenEXR', '3.1.5'), + ('gperftools', '2.10'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF ' +configopts += '-DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON ' +configopts += '-DJPEGXL_FORCE_SYSTEM_GTEST=ON -DJPEGXL_FORCE_SYSTEM_LCMS2=ON ' + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "cjxl --help", + "djxl --help", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..22bddfd467b --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.8.2' +# Newer versions of libjxl require Highway >=1.0.7 + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), + ('pkgconf', '1.9.5'), + ('Highway', '1.0.4'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.15'), + ('Brotli', '1.0.9'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('giflib', '5.2.1'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.7'), + ('gperftools', '2.12'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF ' +configopts += '-DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON ' +configopts += '-DJPEGXL_FORCE_SYSTEM_GTEST=ON -DJPEGXL_FORCE_SYSTEM_LCMS2=ON ' + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include/jxl'], +} + +sanity_check_commands = [ + "cjxl --help", + "djxl --help", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d5b0cc38223 --- /dev/null +++ b/easybuild/easyconfigs/l/libjxl/libjxl-0.8.2-GCCcore-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'libjxl' +version = '0.8.2' + +homepage = 'https://github.com/libjxl/libjxl' +description = "JPEG XL image format reference implementation" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'libjxl' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['c70916fb3ed43784eb840f82f05d390053a558e2da106e40863919238fa7b420'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('googletest', '1.14.0'), + ('pkgconf', '2.0.3'), + ('Highway', '1.0.7'), # Highway only has a static library +] + +dependencies = [ + ('LittleCMS', '2.15'), + ('Brotli', '1.1.0'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('zlib', '1.2.13'), + ('giflib', '5.2.1'), + ('libwebp', '1.3.2'), + ('OpenEXR', '3.2.0'), + ('gperftools', '2.13'), +] + +configopts = '-DJPEGXL_WARNINGS_AS_ERRORS=OFF -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF ' +# building man pages requires/uses asciidoc (which may be installed in OS, and may fail) +configopts += '-DJPEGXL_ENABLE_MANPAGES=OFF ' +configopts += '-DJPEGXL_FORCE_SYSTEM_BROTLI=ON -DJPEGXL_FORCE_SYSTEM_HWY=ON ' +configopts += '-DJPEGXL_FORCE_SYSTEM_GTEST=ON -DJPEGXL_FORCE_SYSTEM_LCMS2=ON ' + +sanity_check_paths = { + 'files': ['bin/cjxl', 'bin/djxl', 'lib/libjxl.%s' % SHLIB_EXT], + 'dirs': ['include/jxl'], +} + +sanity_check_commands = [ + "cjxl --help", + "djxl --help", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2022b.eb b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2022b.eb new file mode 100644 index 00000000000..c6dba27baaf --- /dev/null +++ b/easybuild/easyconfigs/l/libleidenalg/libleidenalg-0.11.1-foss-2022b.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': '2022b'} + +source_urls = ['https://github.com/vtraag/libleidenalg/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['7d7392afd214c584e023cc2f0d0ac375f58575c32f2e49ba85062065f1637c7f'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('igraph', '0.10.6'), +] + +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/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/libmad/libmad-0.15.1b-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e5a933378ed --- /dev/null +++ b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +# Institution: IT4Innovations National Supercomputing Center, Czech Republic +# Author: Jakub Kropacek +# License: GPLv3 +# Year: 2022 + +easyblock = 'ConfigureMake' + +name = 'libmad' +version = '0.15.1b' + +homepage = 'https://www.underbit.com/products/mad/' +description = """MAD is a high-quality MPEG audio decoder.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://sourceforge.net/projects/mad/files/%(name)s/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['libmad-0.15.1b-remove-depreciated-gcc-option.patch'] +checksums = [ + 'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690', # libmad-0.15.1b.tar.gz + # libmad-0.15.1b-remove-depreciated-gcc-option.patch + '8f96a23a22ba66e62f32e20064d01f4c7f6a18ba0aab85d3be9ce63794b2c678', +] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['include/mad.h', 'lib/libmad.a', 'lib/libmad.la', 'lib/libmad.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib', 'lib64'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f0d6ed43058 --- /dev/null +++ b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libmad' +version = '0.15.1b' + +homepage = 'https://www.underbit.com/products/mad/' +description = """MAD is a high-quality MPEG audio decoder.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://sourceforge.net/projects/mad/files/%(name)s/%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['libmad-0.15.1b-remove-depreciated-gcc-option.patch'] +checksums = [ + 'bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690', # libmad-0.15.1b.tar.gz + # libmad-0.15.1b-remove-depreciated-gcc-option.patch + '8f96a23a22ba66e62f32e20064d01f4c7f6a18ba0aab85d3be9ce63794b2c678', +] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['include/mad.h', 'lib/libmad.a', 'lib/libmad.la', 'lib/libmad.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib', 'lib64'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-remove-depreciated-gcc-option.patch b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-remove-depreciated-gcc-option.patch new file mode 100644 index 00000000000..287faed3c38 --- /dev/null +++ b/easybuild/easyconfigs/l/libmad/libmad-0.15.1b-remove-depreciated-gcc-option.patch @@ -0,0 +1,29 @@ +# Institution: IT4Innovations National Supercomputing Center, Czech Republic +# Author: Jakub Kropacek +# License: GPLv3 +# Year: 2022 +# +# Option "-fforce-mem" has been removed in GCC 4.3. +# See https://gcc.gnu.org/gcc-4.3/changes.html +diff -Nru libmad-0.15.1b.orig/configure libmad-0.15.1b/configure +--- libmad-0.15.1b.orig/configure 2022-08-19 14:51:49.037627000 +0200 ++++ libmad-0.15.1b/configure 2022-08-19 14:52:05.758321053 +0200 +@@ -19099,7 +19099,6 @@ + case "$optimize" in + -O|"-O "*) + optimize="-O" +- optimize="$optimize -fforce-mem" + optimize="$optimize -fforce-addr" + : #x optimize="$optimize -finline-functions" + : #- optimize="$optimize -fstrength-reduce" +diff -Nru libmad-0.15.1b.orig/configure.ac libmad-0.15.1b/configure.ac +--- libmad-0.15.1b.orig/configure.ac 2022-08-19 14:51:49.051732000 +0200 ++++ libmad-0.15.1b/configure.ac 2022-08-19 14:52:10.953461180 +0200 +@@ -140,7 +140,6 @@ + case "$optimize" in + -O|"-O "*) + optimize="-O" +- optimize="$optimize -fforce-mem" + optimize="$optimize -fforce-addr" + : #x optimize="$optimize -finline-functions" + : #- optimize="$optimize -fstrength-reduce" diff --git a/easybuild/easyconfigs/l/libmatheval/003-guile2.0.patch b/easybuild/easyconfigs/l/libmatheval/003-guile2.0.patch new file mode 100644 index 00000000000..3f592cadb0d --- /dev/null +++ b/easybuild/easyconfigs/l/libmatheval/003-guile2.0.patch @@ -0,0 +1,402 @@ +Description: Increase precision of floating point tests + guile-2.0 has increased the precision of the floating point maths returns, + so the test suite needs to allow for the correct values to be returned + with higher precision. Thanks to Dave Pigott + Also adapt the configure script to build against guile-2.0 - patch from + Hilo Bengen . + . + libmatheval (1.1.11+dfsg-1.1) unstable; urgency=low + . + * Non-maintainer upload. + * Migrate to guile-2.0 - patch from Hilo Bengen, + extended to support higher precision of return values + by guile-2.0. (Closes: #746013) +Author: Neil Williams +Bug-Debian: https://bugs.debian.org/746013 + +--- + +--- libmatheval-1.1.11+dfsg.orig/configure.in ++++ libmatheval-1.1.11+dfsg/configure.in +@@ -60,10 +60,11 @@ dnl Checks for library functions. + AC_CHECK_FUNCS([bzero memset], [break]) + + dnl Additional Guile feature checks. ++CFLAGS="$CFLAGS $GUILE_CFLAGS" + AC_CHECK_TYPE([scm_t_bits], [AC_DEFINE([HAVE_SCM_T_BITS], [1], [Define to 1 if you have the `scm_t_bits' type.])], [], [#include ]) +-AC_CHECK_LIB([guile], [scm_c_define_gsubr], [AC_DEFINE([HAVE_SCM_C_DEFINE_GSUBR], [1], [Define to 1 if you have the `scm_c_define_gsubr' function.])], [], [$GUILE_LDFLAGS]) +-AC_CHECK_LIB([guile], [scm_make_gsubr], [AC_DEFINE([HAVE_SCM_MAKE_GSUBR], [1], [Define to 1 if you have the `scm_make_gsubr' function.])], [], [$GUILE_LDFLAGS]) +-AC_CHECK_LIB([guile], [scm_num2dbl], [AC_DEFINE([HAVE_SCM_NUM2DBL], [1], [Define to 1 if you have the `scm_num2dbl' function.])], [], [$GUILE_LDFLAGS]) ++AC_CHECK_LIB([guile-2.0], [scm_c_define_gsubr], [AC_DEFINE([HAVE_SCM_C_DEFINE_GSUBR], [1], [Define to 1 if you have the `scm_c_define_gsubr' function.])], [], [$GUILE_LDFLAGS]) ++AC_CHECK_LIB([guile-2.0], [scm_make_gsubr], [AC_DEFINE([HAVE_SCM_MAKE_GSUBR], [1], [Define to 1 if you have the `scm_make_gsubr' function.])], [], [$GUILE_LDFLAGS]) ++AC_CHECK_LIB([guile-2.0], [scm_num2dbl], [AC_DEFINE([HAVE_SCM_NUM2DBL], [1], [Define to 1 if you have the `scm_num2dbl' function.])], [], [$GUILE_LDFLAGS]) + + AC_CONFIG_FILES([Makefile doc/Makefile lib/Makefile]) + AC_OUTPUT(libmatheval.pc) +--- libmatheval-1.1.11+dfsg.orig/tests/basics.at ++++ libmatheval-1.1.11+dfsg/tests/basics.at +@@ -62,7 +62,7 @@ AT_DATA([basics.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh basics.scm], [ignore], [10.0], [ignore]) ++AT_CHECK([matheval.sh basics.scm], [ignore], [10.000000000000002], [ignore]) + + AT_DATA([basics.scm], + [[ +@@ -70,7 +70,7 @@ AT_DATA([basics.scm], + (display (evaluator-evaluate-x f 0.7)) + ]]) + +-AT_CHECK([matheval.sh basics.scm], [ignore], [0.220966666722528], [ignore]) ++AT_CHECK([matheval.sh basics.scm], [ignore], [0.22096666672252796], [ignore]) + + AT_DATA([basics.scm], + [[ +@@ -78,7 +78,7 @@ AT_DATA([basics.scm], + (display (evaluator-evaluate-x-y f 0.4 -0.7)) + ]]) + +-AT_CHECK([matheval.sh basics.scm], [ignore], [-1.14962406520749], [ignore]) ++AT_CHECK([matheval.sh basics.scm], [ignore], [-1.1496240652074883], [ignore]) + + AT_DATA([basics.scm], + [[ +@@ -86,7 +86,7 @@ AT_DATA([basics.scm], + (display (evaluator-evaluate-x-y-z f 11.2 0.41 -0.66)) + ]]) + +-AT_CHECK([matheval.sh basics.scm], [ignore], [3.99876152571934], [ignore]) ++AT_CHECK([matheval.sh basics.scm], [ignore], [3.9987615257193383], [ignore]) + + AT_DATA([basics.scm], + [[ +--- libmatheval-1.1.11+dfsg.orig/tests/constants.at ++++ libmatheval-1.1.11+dfsg/tests/constants.at +@@ -29,7 +29,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [2.71828182845905], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [2.718281828459045], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -37,7 +37,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [1.44269504088896], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [1.4426950408889634], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -45,7 +45,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.434294481903252], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.4342944819032518], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -53,7 +53,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.693147180559945], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.6931471805599453], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -61,7 +61,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [2.30258509299405], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [2.302585092994046], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -69,7 +69,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [3.14159265358979], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [3.141592653589793], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -77,7 +77,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [1.5707963267949], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [1.5707963267948966], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -85,7 +85,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.785398163397448], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.7853981633974483], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -93,7 +93,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.318309886183791], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.3183098861837907], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -101,7 +101,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.636619772367581], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.6366197723675814], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -109,7 +109,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [1.12837916709551], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [1.1283791670955126], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -117,7 +117,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [1.4142135623731], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [1.4142135623730951], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -125,7 +125,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [0.707106781186548], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [0.7071067811865476], [ignore]) + + AT_DATA([constant.scm], + [[ +@@ -133,7 +133,7 @@ AT_DATA([constant.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh constant.scm], [ignore], [10.0], [ignore]) ++AT_CHECK([matheval.sh constant.scm], [ignore], [10.000000000000002], [ignore]) + + AT_DATA([constant.scm], + [[ +--- libmatheval-1.1.11+dfsg.orig/tests/functions.at ++++ libmatheval-1.1.11+dfsg/tests/functions.at +@@ -29,7 +29,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [2.71828182845905], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [2.718281828459045], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -80,7 +80,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.841470984807897], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.8414709848078965], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -97,7 +97,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.54030230586814], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.5403023058681398], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -114,7 +114,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.5574077246549], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.5574077246549023], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -131,7 +131,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.642092615934331], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.6420926159343306], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -148,7 +148,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.85081571768093], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.8508157176809255], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -165,7 +165,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.18839510577812], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.1883951057781212], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -182,7 +182,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267949], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267948966], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -216,7 +216,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.785398163397448], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.7853981633974483], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -233,7 +233,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.785398163397448], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.7853981633974483], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -267,7 +267,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267949], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.5707963267948966], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -284,7 +284,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.1752011936438], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.1752011936438014], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -301,7 +301,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.54308063481524], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.5430806348152437], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -318,7 +318,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.761594155955765], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.7615941559557649], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -335,7 +335,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [1.31303528549933], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [1.3130352854993315], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -352,7 +352,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.648054273663885], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.6480542736638855], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -368,7 +368,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.850918128239322], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.8509181282393216], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -385,7 +385,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.881373587019543], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.8813735870195429], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -419,7 +419,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 0.5)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.549306144334055], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.5493061443340549], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -436,7 +436,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 2)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.549306144334055], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.5493061443340549], [ignore]) + + AT_DATA([function.scm], + [[ +@@ -470,7 +470,7 @@ AT_DATA([function.scm], + (display (evaluator-evaluate-x f 1)) + ]]) + +-AT_CHECK([matheval.sh function.scm], [ignore], [0.881373587019543], [ignore]) ++AT_CHECK([matheval.sh function.scm], [ignore], [0.8813735870195429], [ignore]) + + AT_DATA([function.scm], + [[ +--- libmatheval-1.1.11+dfsg.orig/tests/numbers.at ++++ libmatheval-1.1.11+dfsg/tests/numbers.at +@@ -53,6 +53,6 @@ AT_DATA([number.scm], + (display (evaluator-evaluate-x f 0)) + ]]) + +-AT_CHECK([matheval.sh number.scm], [ignore], [0.644394014977254], [ignore]) ++AT_CHECK([matheval.sh number.scm], [ignore], [0.6443940149772542], [ignore]) + + AT_CLEANUP diff --git a/easybuild/easyconfigs/l/libmatheval/libmatheval-1.1.11-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libmatheval/libmatheval-1.1.11-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b8bf07966b1 --- /dev/null +++ b/easybuild/easyconfigs/l/libmatheval/libmatheval-1.1.11-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'libmatheval' +version = '1.1.11' # still the latest version available on the ftp mirror + +homepage = 'https://www.gnu.org/software/libmatheval/' +description = """GNU libmatheval is a library (callable from C and Fortran) to parse + and evaluate symbolic expressions input as text. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + '003-guile2.0.patch', + 'libmatheval-1.1.11_fix-matheval-test.patch' +] +checksums = [ + {'libmatheval-1.1.11.tar.gz': '474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab'}, + {'003-guile2.0.patch': 'd0ad39d54800153cbaa26c01448f040d405f09e9fd57e1357eab170a274a9b5c'}, + {'libmatheval-1.1.11_fix-matheval-test.patch': '2888ee1ba32bb864b655e53e13b06eafc23b598faed80b90585d41c98e2ae073'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('byacc', '2.0.20240109'), + # guile 2.2.X, 3.0.7 removed scm_num2dbl (among others), which are needed for libmatheval (at least for 1.1.11) + ('Guile', '2.0.14') +] + +configopts = '--with-pic ' + +# fix for guile-config being broken because shebang line contains full path to bin/guile +configopts += 'GUILE_CONFIG="$EBROOTGUILE/bin/guile -e main -s $EBROOTGUILE/bin/guile-config"' + +sanity_check_paths = { + 'files': ['lib/libmatheval.a', 'include/matheval.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb new file mode 100644 index 00000000000..5aa65b14cf1 --- /dev/null +++ b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.499-GCC-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'libmaus2' +version = '2.0.499' + +homepage = 'https://github.com/gt1/libmaus2' +description = "libmaus2 is a collection of data structures and algorithms." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/gt1/libmaus2/archive/'] +sources = ['%(version)s-release-20180606122508.tar.gz'] +checksums = ['5e3643bb14a3342b76b68592252f248e5e97725caffe6a6a3274563a0433338a'] + +sanity_check_paths = { + 'files': ['lib/libmaus2.a', 'lib/libmaus2.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_128.a', 'lib/libmaus2_simd_align_128.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_256.a', 'lib/libmaus2_simd_align_256.%s' % SHLIB_EXT], + 'dirs': ['include/libmaus2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.813-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.813-GCC-12.3.0.eb new file mode 100644 index 00000000000..95e24c04848 --- /dev/null +++ b/easybuild/easyconfigs/l/libmaus2/libmaus2-2.0.813-GCC-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libmaus2' +version = '2.0.813' +local_release = '20221210220409' + +homepage = 'https://github.com/gt1/libmaus2' +description = "libmaus2 is a collection of data structures and algorithms." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://gitlab.com/german.tischler/libmaus2/-/archive/%%(version)s-release-%s/' % local_release] +sources = ['libmaus2-%%(version)s-release-%s.tar.gz' % local_release] +checksums = ['4125f8daefd6900185675026498369457088e25e81029597659249be49cd5261'] + +dependencies = [('Boost', '1.82.0')] + +sanity_check_paths = { + 'files': ['lib/libmaus2.a', 'lib/libmaus2.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_128.a', 'lib/libmaus2_simd_align_128.%s' % SHLIB_EXT, + 'lib/libmaus2_simd_align_256.a', 'lib/libmaus2_simd_align_256.%s' % SHLIB_EXT], + 'dirs': ['include/libmaus2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2020b.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2020b.eb new file mode 100644 index 00000000000..f9a79031afc --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2020b.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.10.4' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/libmbd/libmbd/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0f9ee2c69dfc2fd085127aae4b3b794fad20ef5c2dad6c89728ce5fbf300eb75'] + +builddependencies = [ + ('CMake', '3.18.4') +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_SCALAPACK_MPI=ON" + +parallel = 1 + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd.h', 'include/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2021a.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2021a.eb new file mode 100644 index 00000000000..c6830cec26c --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-foss-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.10.4' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/libmbd/libmbd/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0f9ee2c69dfc2fd085127aae4b3b794fad20ef5c2dad6c89728ce5fbf300eb75'] + +builddependencies = [ + ('CMake', '3.20.1') +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_SCALAPACK_MPI=ON" + +parallel = 1 + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd.h', 'include/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2020b.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2020b.eb new file mode 100644 index 00000000000..f33ad17becd --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2020b.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.10.4' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['https://github.com/libmbd/libmbd/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0f9ee2c69dfc2fd085127aae4b3b794fad20ef5c2dad6c89728ce5fbf300eb75'] + +builddependencies = [ + ('CMake', '3.18.4') +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_SCALAPACK_MPI=ON" + +parallel = 1 + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd.h', 'include/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2021a.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2021a.eb new file mode 100644 index 00000000000..0099552e4a2 --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.10.4-intel-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.10.4' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/libmbd/libmbd/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0f9ee2c69dfc2fd085127aae4b3b794fad20ef5c2dad6c89728ce5fbf300eb75'] + +builddependencies = [ + ('CMake', '3.20.1') +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_SCALAPACK_MPI=ON" + +parallel = 1 + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd.h', 'include/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2022a.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2022a.eb new file mode 100644 index 00000000000..e0e689460f9 --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2022a.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.12.6' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'libmbd' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9f8154b6b2f57e78a8e33d3b315a244185e8e5ecb03661a469808af7512e761e'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ELSI', '2.9.1', '-PEXSI'), +] + +# build scripts expect either a git repo or a defined version string in a file +_versiontag_file = '%(builddir)s/%(name)s-%(version)s/cmake/LibmbdVersionTag.cmake' +preconfigopts = "echo 'set(VERSION_TAG \"%%(version)s\")' > %s && " % _versiontag_file + +configopts = "-DENABLE_SCALAPACK_MPI=ON -DENABLE_ELSI=ON " +configopts += "-DMPIEXEC_MAX_NUMPROCS=1 " # number of procs in the tests + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd/mbd.h', 'include/mbd/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2023a.eb b/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2023a.eb new file mode 100644 index 00000000000..260ecb98ddb --- /dev/null +++ b/easybuild/easyconfigs/l/libmbd/libmbd-0.12.6-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'libmbd' +version = '0.12.6' + +homepage = 'https://libmbd.github.io/index.html' +description = """ +Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: + + - The Fortran implementation is the reference, most advanced implementation, with support for analytical + gradients and distributed parallelism, and additional functionality beyond the MBD method itself. + It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings + to the C API are provided. + - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. + - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine + learning applications with MBD. + +The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the +Python package called Pymbd. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +github_account = 'libmbd' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9f8154b6b2f57e78a8e33d3b315a244185e8e5ecb03661a469808af7512e761e'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ELSI', '2.11.0', '-PEXSI'), +] + +# build scripts expect either a git repo or a defined version string in a file +_versiontag_file = '%(builddir)s/%(name)s-%(version)s/cmake/LibmbdVersionTag.cmake' +preconfigopts = "echo 'set(VERSION_TAG \"%%(version)s\")' > %s && " % _versiontag_file + +configopts = "-DENABLE_SCALAPACK_MPI=ON -DENABLE_ELSI=ON " +configopts += "-DMPIEXEC_MAX_NUMPROCS=1 " # number of procs in the tests + +# make sure that built libraries (libmbd.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': ['lib/libmbd.%s' % SHLIB_EXT, 'include/mbd/mbd.h', 'include/mbd/mbd.mod'], + 'dirs': ['lib/cmake/mbd'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb index d8688a45528..cc800c7bec4 100644 --- a/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/l/libmo_unpack/libmo_unpack-3.1.2-GCCcore-6.4.0.eb @@ -20,7 +20,7 @@ checksums = [ builddependencies = [ ('binutils', '2.28'), ('CMake', '3.10.1'), - ('check', '0.12.0'), + ('Check', '0.12.0'), ] separate_build_dir = True diff --git a/easybuild/easyconfigs/l/libmypaint/libmypaint-1.6.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libmypaint/libmypaint-1.6.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..20f19a2a1d5 --- /dev/null +++ b/easybuild/easyconfigs/l/libmypaint/libmypaint-1.6.1-GCCcore-10.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'Bundle' + +name = 'libmypaint' +version = '1.6.1' + +homepage = 'https://github.com/mypaint/libmypaint' +description = """libmypaint, a.k.a. "brushlib", is a library for making brushstrokes which is used by MyPaint + and other projects""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('intltool', '0.51.0'), +] + +dependencies = [ + ('json-c', '0.15'), + ('GObject-Introspection', '1.68.0'), + ('GLib', '2.68.2'), + ('babl', '0.1.86'), + ('GEGL', '0.4.30'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://github.com/mypaint/libmypaint/releases/download/v%(version)s/'], + 'checksums': ['741754f293f6b7668f941506da07cd7725629a793108bb31633fb6c3eae5315f'], + 'configopts': "--enable-gegl", + }), + ('mypaint-brushes', '1.3.1', { + 'source_urls': ['https://github.com/mypaint/mypaint-brushes/releases/download/v%(version)s/'], + 'checksums': ['fef66ffc241b7c5cd29e9c518e933c739618cb51c4ed4d745bf648a1afc3fe70'], + }), +] + +sanity_check_paths = { + 'files': ['lib/libmypaint.%s' % SHLIB_EXT, 'lib/libmypaint-gegl.%s' % SHLIB_EXT], + 'dirs': ['include/libmypaint', 'include/libmypaint-gegl', 'lib/pkgconfig', 'share/mypaint-data/1.0/brushes'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-1.3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-1.3.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fcacc1c559f --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-1.3.0-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '1.3.0' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['eac3062957fa302c62eff4aed718a07bacbf9ceb0a058289f12a19bfdda3c8e2'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('libtirpc', '1.3.2'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/nis.h', 'include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0c367471d66 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.0' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['2da075ef1893ebdfc5f074f83ac811873dc06fd5c62bc9a4729fd2e27a40341a'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libtirpc', '1.3.2'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..af937a9f274 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.0' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['2da075ef1893ebdfc5f074f83ac811873dc06fd5c62bc9a4729fd2e27a40341a'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('libtirpc', '1.3.3'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a00b43e2177 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.1' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5c9e470b232a7acd3433491ac5221b4832f0c71318618dc6aa04dd05ffcd8fd9'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('libtirpc', '1.3.3'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..818f1687a15 --- /dev/null +++ b/easybuild/easyconfigs/l/libnsl/libnsl-2.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libnsl' +version = '2.0.1' + +homepage = 'https://github.com/thkukuk/libnsl' +description = """The libnsl package contains the public client interface for NIS(YP).""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/thkukuk/%(name)s/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5c9e470b232a7acd3433491ac5221b4832f0c71318618dc6aa04dd05ffcd8fd9'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('libtirpc', '1.3.5'), +] + +# Provide a symlink for libnsl.so.1, which used to be part of glibc. +# This new version of libnsl should be backwards compatible. +postinstallcmds = ['ln -s libnsl.so %(installdir)s/lib/libnsl.so.1'] + +sanity_check_paths = { + 'files': ['include/rpcsvc/yp.h', 'lib/libnsl.a', + 'lib/libnsl.%s' % SHLIB_EXT, 'lib/libnsl.%s.1' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb b/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb new file mode 100644 index 00000000000..44ae785a750 --- /dev/null +++ b/easybuild/easyconfigs/l/libobjcryst/libobjcryst-2021.1.2-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'SCons' + +name = 'libobjcryst' +version = '2021.1.2' + +homepage = 'https://github.com/diffpy/libobjcryst' +description = "ObjCryst++ is Object-Oriented Crystallographic Library for C++" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/diffpy/libobjcryst/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7f4d2c7e42154bbc780032ce7efe303b57a14d566b9b52fad8c6754a53b1365d'] + +builddependencies = [ + ('SCons', '4.2.0'), +] +dependencies = [ + ('Boost', '1.77.0'), +] + +prefix_arg = 'prefix=' + +sanity_check_paths = { + 'files': ['lib/libObjCryst.%s' % SHLIB_EXT], + 'dirs': ['include/ObjCryst'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d70d332d245 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.37')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a669900c9a9 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.38')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0df3a2b5b8e --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.39')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8d57716f577 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.40')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a2f34782696 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.40')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..810ddbe1169 --- /dev/null +++ b/easybuild/easyconfigs/l/libogg/libogg-1.3.5-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libogg' +version = '1.3.5' + +homepage = 'https://xiph.org/ogg/' +description = """Ogg is a multimedia container format, and the native file and stream format for the Xiph.org +multimedia codecs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/ogg/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705'] + +builddependencies = [('binutils', '2.42')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libogg.a', 'lib/libogg.%s' % SHLIB_EXT], + 'dirs': ['include/ogg'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d1024546ca0 --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.3.1' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.mozilla.org/pub/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6319733c7cf --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.3.1' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://archive.mozilla.org/pub/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..576b4556eec --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.4-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.4' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://downloads.xiph.org/releases/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['c9b32b4253be5ae63d1ff16eea06b94b5f0f2951b7a02aceef58e3a3ce49c51f'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7d0630bb477 --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.5.2' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://downloads.xiph.org/releases/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c09615c86f8 --- /dev/null +++ b/easybuild/easyconfigs/l/libopus/libopus-1.5.2-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libopus' +version = '1.5.2' + +homepage = 'https://www.opus-codec.org/' +description = """Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive + speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is + standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s + SILK codec and Xiph.Org’s CELT codec.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://downloads.xiph.org/releases/opus/'] +sources = ['opus-%(version)s.tar.gz'] +checksums = ['65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libopus.a', 'lib/libopus.%s' % SHLIB_EXT], + 'dirs': ['include/opus'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpci/libpci-3.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libpci/libpci-3.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5d64a4ed2d1 --- /dev/null +++ b/easybuild/easyconfigs/l/libpci/libpci-3.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libpci' +version = '3.7.0' + +homepage = 'https://github.com/pciutils/pciutils' +description = "Library for portable access to PCI bus configuration registers from PCI Utils." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/pciutils/pciutils/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-install-lib-symlinks.patch'] +checksums = [ + 'ea768aa0187ba349391c6c157445ecc2b42e7d671fc1ce8c53ff5ef513f1e2ab', # v3.7.0.tar.gz + '4f078fcfe76b79d82a7b428afcfe866aab94c9e4bd52d0bf41c57a4ef47d124c', # libpci-3.7.0_fix-install-lib-symlinks.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +skipsteps = ['configure'] + +buildopts = "PREFIX=%(installdir)s SHARED=yes ZLIB=yes" + +# only install the library and header files +install_cmd = "make install-lib" +installopts = buildopts + +sanity_check_paths = { + 'files': ['lib/libpci.%s' % SHLIB_EXT], + 'dirs': ['include/pci', 'lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..56d0c9048de --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.16' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1f03c09bfad --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.16-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.16' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['84413553994aef0070cf420050aa5c0a51b1956b404920e21b81e96db6a61a27'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0c9005d81c0 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.17' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bf6985a77d2ecb00e2c79da3edfb26b909178ffca3f2e9d14ed0620259ab733b'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fd12768ece2 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.17' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bf6985a77d2ecb00e2c79da3edfb26b909178ffca3f2e9d14ed0620259ab733b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..17563d8e3b2 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.17' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bf6985a77d2ecb00e2c79da3edfb26b909178ffca3f2e9d14ed0620259ab733b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7b1be7bc436 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.18.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'MesonNinja' + +name = 'libpciaccess' +version = '0.18.1' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_XZ] +checksums = ['4af43444b38adb5545d0ed1c2ce46d9608cc47b31c2387fc5181656765a6fa76'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('xorg-macros', '1.20.1'), +] + +configopts = "--default-library=both" # static and shared library + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libplinkio/libplinkio-0.9.8-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libplinkio/libplinkio-0.9.8-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..00726da9fca --- /dev/null +++ b/easybuild/easyconfigs/l/libplinkio/libplinkio-0.9.8-GCCcore-9.3.0.eb @@ -0,0 +1,31 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'CMakeMake' + +name = 'libplinkio' +version = '0.9.8' + +homepage = "https://github.com/mfranberg/libplinkio" +description = """A small C and Python library for reading PLINK genotype files.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'cstd': 'gnu17', 'extra_cflags': '-w'} + +github_account = "mfranberg" +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['de54dd4789b2da9b937a1f445dc6976153211dc35b4376a4cf561ad2ee861075'] + +builddependencies = [ + ('CMake', '3.16.4'), + ('binutils', '2.34'), +] + +sanity_check_paths = { + 'files': ['lib/libplinkio.%s' % SHLIB_EXT], + 'dirs': ['include/plinkio'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.5.30.eb b/easybuild/easyconfigs/l/libpng/libpng-1.5.30.eb new file mode 100644 index 00000000000..252ef3d7553 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.5.30.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.5.30' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = SYSTEM + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6c32c7264f040cc6a4b11798c902a16bcd0626c7d7549fa4481264482f129514'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +local_majminver = ''.join(version.split('.')[:2]) + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT), + 'lib/libpng%s.%s.%s' % (local_majminver, SHLIB_EXT, local_majminver)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.24-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.24-GCCcore-5.4.0.eb index c90941e7e9e..5c9da9b3258 100644 --- a/easybuild/easyconfigs/l/libpng/libpng-1.6.24-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.24-GCCcore-5.4.0.eb @@ -15,7 +15,7 @@ checksums = ['be46e0d14ccac3800f816ae860d191a1187a40164b7552c44afeee97a9caa0a3'] dependencies = [('zlib', '1.2.8')] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] configopts = "--with-pic" diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.28-GCCcore-6.3.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.28-GCCcore-6.3.0.eb index 49f53a9c0c2..9cb10e36685 100644 --- a/easybuild/easyconfigs/l/libpng/libpng-1.6.28-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.28-GCCcore-6.3.0.eb @@ -16,7 +16,7 @@ checksums = ['b6cec903e74e9fdd7b5bbcde0ab2415dd12f2f9e84d9e4d9ddd2ba26a41623b2'] dependencies = [('zlib', '1.2.11')] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] configopts = "--with-pic" diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..87ca63dc4d1 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.37' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['daeb2620d829575513e35fecc83f0d3791a620b9b93d800b763542ece9390fb4'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +local_majminver = ''.join(version.split('.')[:2]) + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f7c2cbef5cd --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.37-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.37' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['daeb2620d829575513e35fecc83f0d3791a620b9b93d800b763542ece9390fb4'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c3a6b1c3387 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.38-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.38' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e2b5e1b4329650992c041996cf1269681b341191dc07ffed816c555769cceb77'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('zlib', '1.2.12')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.39-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.39-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1bd630a9c13 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.39-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.39' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['af4fb7f260f839919e5958e5ab01a275d4fe436d45442a36ee62f73e5beb75ba'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.40-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.40-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7dedaf0bdb2 --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.40-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.40' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8f720b363aa08683c9bf2a563236f45313af2c55d542b5481ae17dd8d183bb42'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('zlib', '1.2.13')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..04fc0f259cc --- /dev/null +++ b/easybuild/easyconfigs/l/libpng/libpng-1.6.43-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libpng' +version = '1.6.43' + +homepage = 'http://www.libpng.org/pub/png/libpng.html' + +description = "libpng is the official PNG reference library" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e804e465d4b109b5ad285a8fb71f0dd3f74f0068f91ce3cdfde618180c174925'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('zlib', '1.3.1')] + +local_majminver = '%(version_major)s%(version_minor)s' + +sanity_check_paths = { + 'files': ['include/pngconf.h', 'include/png.h', 'include/pnglibconf.h', + 'lib/libpng.a', 'lib/libpng.%s' % SHLIB_EXT, + 'lib/libpng%s.a' % local_majminver, + 'lib/libpng%s.%s' % (local_majminver, SHLIB_EXT)], + 'dirs': ['bin', 'include/libpng%s' % local_majminver, 'share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..51cd88b1aaa --- /dev/null +++ b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libpsl' +version = '0.21.1' + +homepage = 'https://rockdaboot.github.io/libpsl' +description = "C library for the Public Suffix List" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/rockdaboot/%(name)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('libtool', '2.4.6'), + ('Autotools', '20210128'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('ICU', '69.1'), + ('libunistring', '0.9.10'), +] + +sanity_check_paths = { + 'files': ['bin/psl', 'lib/libpsl.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..66143f4a39a --- /dev/null +++ b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libpsl' +version = '0.21.1' + +homepage = 'https://rockdaboot.github.io/libpsl' +description = "C library for the Public Suffix List" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rockdaboot/libpsl/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c'] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6', '-bare'), +] + +dependencies = [ + ('libidn2', '2.3.2'), + ('libunistring', '1.0'), +] + +sanity_check_commands = [('psl --version')] + +sanity_check_paths = { + 'files': ['bin/psl', 'lib/libpsl.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..31149e9b2b3 --- /dev/null +++ b/easybuild/easyconfigs/l/libpsl/libpsl-0.21.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libpsl' +version = '0.21.1' + +homepage = 'https://rockdaboot.github.io/libpsl' +description = "C library for the Public Suffix List" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rockdaboot/libpsl/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c'] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('libidn2', '2.3.2'), + ('libunistring', '1.0'), +] + +sanity_check_commands = [('psl --version')] + +sanity_check_paths = { + 'files': ['bin/psl', 'lib/libpsl.a'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb b/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb deleted file mode 100644 index 057ad7f169c..00000000000 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2016b.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libpsml' -version = '1.1.7' - -homepage = 'https://launchpad.net/libpsml' -description = """LibPSML provides a Fortran API to parse files in the - PSeudopotential Markup Language (PSML) format.""" - -toolchain = {'name': 'foss', 'version': '2016b'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] -checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] - -dependencies = [ - ('xmlf90', '1.5.3'), -] - -sanity_check_paths = { - 'files': ['include/m_psml.mod', 'lib/libpsml.a'], - 'dirs': ['share/org.siesta-project'], -} - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb b/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb deleted file mode 100644 index 3996d9709df..00000000000 --- a/easybuild/easyconfigs/l/libpsml/libpsml-1.1.7-foss-2017a.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'libpsml' -version = '1.1.7' - -homepage = 'https://launchpad.net/libpsml' -description = """LibPSML provides a Fortran API to parse files in the - PSeudopotential Markup Language (PSML) format.""" - -toolchain = {'name': 'foss', 'version': '2017a'} - -sources = [SOURCELOWER_TAR_GZ] -source_urls = ['https://launchpad.net/libpsml/trunk/%(version_major_minor)s/+download/'] -checksums = ['34ceb4e59efb542360aa4910aae088fd700026c8e1d586806b332dac8b1071a0'] - -dependencies = [ - ('xmlf90', '1.5.3'), -] - -sanity_check_paths = { - 'files': ['include/m_psml.mod', 'lib/libpsml.a'], - 'dirs': ['share/org.siesta-project'], -} - -moduleclass = 'data' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.2.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.2.0.eb new file mode 100644 index 00000000000..87e76b10a62 --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.e-cam2020.eu/esl/pspio/' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://gitlab.e-cam2020.eu/esl/pspio/uploads/7efa924be97bd46354237ca3fb89495e/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +configopts = ' --enable-gsl --enable-fortran ' + +dependencies = [('GSL', '2.6')] + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..a312e575a59 --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-10.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.e-cam2020.eu/esl/pspio/' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://gitlab.e-cam2020.eu/esl/pspio/uploads/7efa924be97bd46354237ca3fb89495e/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +dependencies = [('GSL', '2.7')] + +configopts = ' --enable-gsl --enable-fortran ' + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..ab2b05cbf45 --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.com/ElectronicStructureLibrary/libpspio' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/ElectronicStructureLibrary/libpspio/uploads/7efa924be97bd46354237ca3fb89495e'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +builddependencies = [('pkgconf', '1.8.0')] + +dependencies = [('GSL', '2.7')] + +configopts = ' --enable-gsl --enable-fortran ' + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..6b551f2ed9f --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-iccifort-2020.4.304.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.e-cam2020.eu/esl/pspio/' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://gitlab.e-cam2020.eu/esl/pspio/uploads/7efa924be97bd46354237ca3fb89495e/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +configopts = ' --enable-gsl --enable-fortran ' + +dependencies = [('GSL', '2.6')] + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..1b5eab08afe --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.com/ElectronicStructureLibrary/libpspio' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://gitlab.com/ElectronicStructureLibrary/libpspio/uploads/7efa924be97bd46354237ca3fb89495e'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [('GSL', '2.7')] + +configopts = ' --enable-gsl --enable-fortran ' + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..94c7f7dfe56 --- /dev/null +++ b/easybuild/easyconfigs/l/libpspio/libpspio-0.2.4-intel-compilers-2021.4.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpspio' +version = '0.2.4' + +homepage = 'https://gitlab.com/ElectronicStructureLibrary/libpspio' +description = """libpspio is a library to read and write pseudopotentials in multiple formats.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://gitlab.com/ElectronicStructureLibrary/libpspio/uploads/7efa924be97bd46354237ca3fb89495e'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cb3d51ffa6b822305bb943edc7ddfaf1cfc1b928f0594330d732330bfc081850'] + +builddependencies = [('pkgconf', '1.8.0')] + +dependencies = [('GSL', '2.7')] + +configopts = ' --enable-gsl --enable-fortran ' + +sanity_check_paths = { + 'files': ['include/pspiof_m.mod', 'include/pspio.h', 'lib/libpspiof.a'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-5.4.0.eb index 4e54ffba1c2..21a8965354a 100644 --- a/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libreadline/libreadline-6.3-GCCcore-5.4.0.eb @@ -20,7 +20,7 @@ checksums = [ '46317932e1af8c5e0916930e545a354f5ce821f34fa1c5b40619b77e50400ffd', # libreadline-6.3-bugfix.patch ] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] dependencies = [('ncurses', '6.0')] diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c609a5ccc7e --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.1' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('ncurses', '6.2'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2842a77b597 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.1' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('ncurses', '6.3'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b0ba642f9d9 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.1.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('ncurses', '6.3'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-12.1.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..2fbe4e7c79b --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.1.2-GCCcore-12.1.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.1.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('ncurses', '6.3'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..569af9fc736 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('ncurses', '6.3'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ade8ec67a13 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('ncurses', '6.4'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..2c0323f20bf --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.1.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('ncurses', '6.4'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..81be0d3a261 --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('ncurses', '6.4'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8cf47255fdc --- /dev/null +++ b/easybuild/easyconfigs/l/libreadline/libreadline-8.2-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'libreadline' +version = '8.2' + +homepage = 'https://tiswww.case.edu/php/chet/readline/rltop.html' +description = """ + The GNU Readline library provides a set of functions for use by applications + that allow users to edit command lines as they are typed in. Both Emacs and + vi editing modes are available. The Readline library includes additional + functions to maintain a list of previously-entered command lines, to recall + and perhaps reedit those lines, and perform csh-like history expansion on + previous commands. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://ftp.gnu.org/gnu/readline'] +sources = ['readline-%(version)s.tar.gz'] +checksums = ['3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('ncurses', '6.5'), +] + +# for the termcap symbols, use EB ncurses +buildopts = "SHLIB_LIBS='-lncurses'" + +sanity_check_paths = { + 'files': ['lib/libreadline.a', 'lib/libhistory.a'] + + ['include/readline/%s' % x + for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', + 'rlconf.h', 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], + '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..c26fed6c2e3 --- /dev/null +++ b/easybuild/easyconfigs/l/librosa/librosa-0.10.1-foss-2023a.eb @@ -0,0 +1,51 @@ +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', { + '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/librsb/librsb-1.2.0.10-GCC-10.2.0.eb b/easybuild/easyconfigs/l/librsb/librsb-1.2.0.10-GCC-10.2.0.eb new file mode 100644 index 00000000000..e61290dd63e --- /dev/null +++ b/easybuild/easyconfigs/l/librsb/librsb-1.2.0.10-GCC-10.2.0.eb @@ -0,0 +1,29 @@ +## +# Author: Michele Martone +## +easyblock = 'ConfigureMake' + +name = 'librsb' +version = '1.2.0.10' + +homepage = 'https://sourceforge.net/projects/librsb/' +description = """A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ec49f3f78a7c43fc9e10976593d100aa49b1863309ed8fa3ccbb7aad52d2f7b8'] + +dependencies = [ + ('zlib', '1.2.11') +] + +configopts = '--enable-openmp --enable-fortran-module-install' + +sanity_check_paths = { + 'files': ['bin/rsbench', 'lib/librsb.a', 'lib/librsb.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsb/librsb-1.2.0.11-GCC-10.2.0.eb b/easybuild/easyconfigs/l/librsb/librsb-1.2.0.11-GCC-10.2.0.eb new file mode 100644 index 00000000000..fac25cf212f --- /dev/null +++ b/easybuild/easyconfigs/l/librsb/librsb-1.2.0.11-GCC-10.2.0.eb @@ -0,0 +1,29 @@ +## +# Author: Michele Martone +## +easyblock = 'ConfigureMake' + +name = 'librsb' +version = '1.2.0.11' + +homepage = 'https://sourceforge.net/projects/librsb/' +description = """A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['0686be29bbe277e227c6021de6bd0564e4fc83f996b787886437d28048057bc8'] + +dependencies = [ + ('zlib', '1.2.11') +] + +configopts = '--enable-openmp --enable-fortran-module-install' + +sanity_check_paths = { + 'files': ['bin/rsbench', 'lib/librsb.a', 'lib/librsb.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsb/librsb-1.3.0.0-GCC-10.2.0.eb b/easybuild/easyconfigs/l/librsb/librsb-1.3.0.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..41f09407b0c --- /dev/null +++ b/easybuild/easyconfigs/l/librsb/librsb-1.3.0.0-GCC-10.2.0.eb @@ -0,0 +1,37 @@ +## +# Author: Michele Martone +## +easyblock = 'ConfigureMake' + +name = 'librsb' +version = '1.3.0.0' + +homepage = 'https://sourceforge.net/projects/librsb/' +description = """A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['2ac8725d1f988f57df9383ae6b0bb2ed221ec935187d31ebb62ea95ee868a790'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11') +] + +# do not rely on `librsb-config --I_opts`, it will inject paths in install dir +preconfigopts = "sed -i '21,22d' librsbpp/configure.ac && " +preconfigopts += "autoreconf -fi &&" + +configopts = '--enable-openmp --enable-fortran-module-install' + +sanity_check_paths = { + 'files': ['bin/rsbench', 'lib/librsb.a', 'lib/librsb.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsb/librsb-1.3.0.1-GCC-10.2.0.eb b/easybuild/easyconfigs/l/librsb/librsb-1.3.0.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..52dbf8d89fc --- /dev/null +++ b/easybuild/easyconfigs/l/librsb/librsb-1.3.0.1-GCC-10.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Michele Martone +## +easyblock = 'ConfigureMake' + +name = 'librsb' +version = '1.3.0.1' + +homepage = 'https://sourceforge.net/projects/librsb/' +description = """A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['3fc024a410f94aca2a7139ae79f4d713b11fa83304293630c363786874c17db4'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11') +] + +configopts = '--enable-openmp --enable-fortran-module-install' + +sanity_check_paths = { + 'files': ['bin/rsbench', 'lib/librsb.a', 'lib/librsb.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/librsvg/librsvg-2.51.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.51.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0c434e7143d --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.51.2-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'librsvg' +version = '2.51.2' + +homepage = 'https://wiki.gnome.org/Projects/LibRsvg' +description = "Librsvg is a library to render SVG files using cairo." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['6b80840ef3e4724624e715398bb4470fa68368943cdbd507e681708bbe32b289'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.52.1'), +] + +dependencies = [ + ('cairo', '1.16.0'), + ('freetype', '2.10.4'), + ('Gdk-Pixbuf', '2.42.6'), + ('HarfBuzz', '2.8.1'), + ('Pango', '1.48.5'), + ('GObject-Introspection', '1.68.0'), +] + +# 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/librsvg/librsvg-2.52.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.52.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f9c6d6ffbc5 --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.52.8-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'librsvg' +version = '2.52.8' + +homepage = 'https://wiki.gnome.org/Projects/LibRsvg' +description = "Librsvg is a library to render SVG files using cairo." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['bade8eda74f2d7efb414e9bae53004806e1fa7dc05f04cad59b74eb1a5756962'] + +builddependencies = [ + ('binutils', '2.37'), + ('Rust', '1.54.0'), +] + +dependencies = [ + ('cairo', '1.16.0'), + ('freetype', '2.11.0'), + ('Gdk-Pixbuf', '2.42.6'), + ('HarfBuzz', '2.8.2'), + ('Pango', '1.48.8'), + ('GObject-Introspection', '1.68.0'), +] + +# 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/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8116a32cafc --- /dev/null +++ b/easybuild/easyconfigs/l/librsvg/librsvg-2.55.1-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'librsvg' +version = '2.55.1' + +homepage = 'https://wiki.gnome.org/Projects/LibRsvg' +description = "Librsvg is a library to render SVG files using cairo." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.gnome.org/sources/librsvg/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['6baf48a9d3a56fd13bbfbb9f1f76759b240b70a1fa220fd238474d66a926f98c'] + +builddependencies = [ + ('binutils', '2.38'), + ('Rust', '1.60.0'), +] + +dependencies = [ + ('cairo', '1.17.4'), + ('freetype', '2.12.1'), + ('Gdk-Pixbuf', '2.42.8'), + ('HarfBuzz', '4.2.1'), + ('Pango', '1.50.7'), + ('GObject-Introspection', '1.72.0'), +] + +# 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/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/librttopo/librttopo-1.1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/l/librttopo/librttopo-1.1.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..2f125cbbd62 --- /dev/null +++ b/easybuild/easyconfigs/l/librttopo/librttopo-1.1.0-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'librttopo' +version = '1.1.0' + +homepage = 'https://git.osgeo.org/gitea/rttopo/librttopo' +description = """The RT Topology Library exposes an API to create and +manage standard (ISO 13249 aka SQL/MM) topologies using user-provided +data stores.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://git.osgeo.org/gitea/rttopo/librttopo/archive'] +sources = [SOURCE_TAR_GZ] +checksums = ['2e2fcabb48193a712a6c76ac9a9be2a53f82e32f91a2bc834d9f1b4fa9cd879f'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GEOS', '3.9.1'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/librttopo.h', 'lib/librttopo.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsamplerate/libsamplerate-0.1.9-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/libsamplerate/libsamplerate-0.1.9-GCCcore-8.2.0.eb index 3e47dc3c618..d0959ea0cea 100644 --- a/easybuild/easyconfigs/l/libsamplerate/libsamplerate-0.1.9-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/libsamplerate/libsamplerate-0.1.9-GCCcore-8.2.0.eb @@ -15,7 +15,7 @@ checksums = ['0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1'] builddependencies = [ ('binutils', '2.31.1'), # need to include gompi too to ensure FFTW can be loaded in case hierarchical module naming scheme is used - ('gompi', '2019a', '', True), + ('gompi', '2019a', '', SYSTEM), # FFTW is only required for tests ('FFTW', '3.3.8', '', ('gompi', '2019a')), ] diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.1-GCCcore-7.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.1-GCCcore-7.3.0.eb index 43b545404e2..3d9d2127eb2 100644 --- a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.1-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.1-GCCcore-7.3.0.eb @@ -18,6 +18,8 @@ builddependencies = [ ('Autotools', '20180311'), ] +configopts = "--disable-documentation" + sanity_check_paths = { 'files': ['lib/libsigc-2.0.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.2.0.eb index 83f9164c81c..487644433f6 100644 --- a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.2.0.eb @@ -18,6 +18,8 @@ builddependencies = [ ('Autotools', '20180311'), ] +configopts = "--disable-documentation" + sanity_check_paths = { 'files': ['lib/libsigc-2.0.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.3.0.eb index 3bd7a43f5b0..a17fae753ce 100644 --- a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.2-GCCcore-8.3.0.eb @@ -18,6 +18,8 @@ builddependencies = [ ('Autotools', '20180311'), ] +configopts = "--disable-documentation" + sanity_check_paths = { 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..301e4e20e77 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.10.8-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsigc++' +version = '2.10.8' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['235a40bec7346c7b82b6a8caae0456353dc06e71f14bc414bcc858af1838719a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('Graphviz', '2.47.2'), + ('libxslt', '1.1.34'), + ('mm-common', '1.0.4'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--disable-documentation" + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-2.12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.12.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..adcdcd6e01e --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-2.12.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsigc++' +version = '2.12.1' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['a9dbee323351d109b7aee074a9cb89ca3e7bcf8ad8edef1851f4cf359bd50843'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('Doxygen', '1.9.4'), + ('Graphviz', '5.0.0'), + ('libxslt', '1.1.34'), + ('mm-common', '1.0.5'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--disable-documentation" + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2547b201764 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Updated to CMakeMake +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libsigc++' +version = '3.4.0' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system +for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['02e2630ffb5ce93cd52c38423521dfe7063328863a6e96d41d765a6116b8707e'] + +builddependencies = [ + ('binutils', '2.38'), + ('Graphviz', '5.0.0'), + ('libxslt', '1.1.34'), + ('mm-common', '1.0.5'), + ('CMake', '3.24.3'), +] + +test_cmd = 'ctest' +runtest = '-j' + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8657a57fde1 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libsigc++' +version = '3.6.0' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system +for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17'] + +builddependencies = [ + ('binutils', '2.39'), + ('libxslt', '1.1.37'), + ('mm-common', '1.0.6'), + ('CMake', '3.24.3'), +] + +test_cmd = 'ctest' +runtest = '-j' + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4f452cbc432 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libsigc++' +version = '3.6.0' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system +for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17'] + +builddependencies = [ + ('binutils', '2.40'), + ('libxslt', '1.1.38'), + ('mm-common', '1.0.6'), + ('CMake', '3.26.3'), +] + +test_cmd = 'ctest' +runtest = '-j' + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e64e49e0f74 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigc++/libsigc++-3.6.0-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libsigc++' +version = '3.6.0' + +homepage = 'https://libsigcplusplus.github.io/libsigcplusplus/' +description = """The libsigc++ package implements a typesafe callback system +for standard C++.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17'] + +builddependencies = [ + ('binutils', '2.40'), + ('libxslt', '1.1.38'), + ('mm-common', '1.0.6'), + ('CMake', '3.27.6'), +] + +test_cmd = 'ctest' +runtest = '-j' + +sanity_check_paths = { + 'files': ['lib/libsigc-%%(version_major)s.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.13-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.13-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..2f09752a341 --- /dev/null +++ b/easybuild/easyconfigs/l/libsigsegv/libsigsegv-2.13-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'libsigsegv' +version = '2.13' + +homepage = 'https://www.gnu.org/software/libsigsegv/' + +description = "GNU libsigsegv is a library for handling page faults in user mode." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['be78ee4176b05f7c75ff03298d84874db90f4b6c9d5503f0da1226b3a3c48119'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['include/sigsegv.h', 'lib/libsigsegv.a', 'lib/libsigsegv.la'], + 'dirs': [], +} + +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/libsndfile/libsndfile-1.0.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.0.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b7a16a424db --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.0.31-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsndfile' +version = '1.0.31' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/libsndfile/libsndfile/releases/download/%(version)s/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('FLAC', '1.3.3'), + ('libvorbis', '1.3.7'), +] + +configopts = '--enable-octave=no' + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/libsndfile.a', 'lib/libsndfile.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..abf301e8aed --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.1.0' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libsndfile/libsndfile/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('FLAC', '1.3.4'), + ('libvorbis', '1.3.7'), + ('libopus', '1.3.1'), + ('LAME', '3.100'), +] + +configopts = ['', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/libsndfile.a', 'lib/libsndfile.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7af75870278 --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.2.0' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/libsndfile/libsndfile/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FLAC', '1.4.2'), + ('libvorbis', '1.3.7'), + ('libopus', '1.3.1'), + ('LAME', '3.100'), +] + +configopts = ['', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/libsndfile.a', 'lib/libsndfile.%s' % SHLIB_EXT], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..15cf5543044 --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.2.2' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('FLAC', '1.4.2'), + ('libvorbis', '1.3.7'), + ('libopus', '1.4'), + ('LAME', '3.100'), +] + +configopts = [ + '', + '-DBUILD_SHARED_LIBS=ON', +] + + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/%(name)s.a', 'lib/%(name)s.so'], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..66345e01105 --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.2.2' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('CMake', '3.27.6'), +] +dependencies = [ + ('FLAC', '1.4.3'), + ('libvorbis', '1.3.7'), + ('libopus', '1.5.2'), + ('LAME', '3.100'), +] + +configopts = [ + '', + '-DBUILD_SHARED_LIBS=ON', +] + + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/%(name)s.a', 'lib/%(name)s.so'], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e60ad09d1a1 --- /dev/null +++ b/easybuild/easyconfigs/l/libsndfile/libsndfile-1.2.2-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'libsndfile' +version = '1.2.2' + +homepage = 'http://www.mega-nerd.com/libsndfile' +description = """Libsndfile is a C library for reading and writing files containing sampled sound + (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('FLAC', '1.4.3'), + ('libvorbis', '1.3.7'), + ('libopus', '1.5.2'), + ('LAME', '3.100'), +] + +configopts = [ + '', + '-DBUILD_SHARED_LIBS=ON', +] + + +sanity_check_paths = { + 'files': ['include/sndfile.h', 'include/sndfile.hh', 'lib/%(name)s.a', 'lib/%(name)s.so'], + 'dirs': ['bin'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7b5cad31e15 --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.18' + +homepage = 'https://doc.libsodium.org/' + +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.libsodium.org/libsodium/releases/', + 'https://download.libsodium.org/libsodium/releases/old/', + 'https://download.libsodium.org/libsodium/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1'] + +builddependencies = [ + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/libsodium.so', 'lib/libsodium.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e62a803500d --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.18' + +homepage = 'https://doc.libsodium.org/' + +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.libsodium.org/libsodium/releases/', + 'https://download.libsodium.org/libsodium/releases/old/', + 'https://download.libsodium.org/libsodium/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/libsodium.so', 'lib/libsodium.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c202df251e2 --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.18' + +homepage = 'https://doc.libsodium.org/' + +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.libsodium.org/libsodium/releases/', + 'https://download.libsodium.org/libsodium/releases/old/', + 'https://download.libsodium.org/libsodium/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/libsodium.so', 'lib/libsodium.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..656602d1719 --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.18-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.18' + +homepage = 'https://doc.libsodium.org/' +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.%(name)s.org/%(name)s/releases/', + 'https://download.%(name)s.org/%(name)s/releases/old/', + 'https://download.%(name)s.org/%(name)s/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.19-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.19-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6511aea996f --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.19-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.19' + +homepage = 'https://doc.libsodium.org/' +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.%(name)s.org/%(name)s/releases/', + 'https://download.%(name)s.org/%(name)s/releases/old/', + 'https://download.%(name)s.org/%(name)s/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libsodium/libsodium-1.0.20-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.20-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e98d28304a8 --- /dev/null +++ b/easybuild/easyconfigs/l/libsodium/libsodium-1.0.20-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libsodium' +version = '1.0.20' + +homepage = 'https://doc.libsodium.org/' +description = """ + Sodium is a modern, easy-to-use software library for encryption, decryption, + signatures, password hashing and more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + 'https://download.%(name)s.org/%(name)s/releases/', + 'https://download.%(name)s.org/%(name)s/releases/old/', + 'https://download.%(name)s.org/%(name)s/releases/old/unsupported/', +] +sources = [SOURCE_TAR_GZ] +checksums = ['ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19'] + +builddependencies = [ + ('binutils', '2.42'), +] + + +sanity_check_paths = { + 'files': ['include/sodium.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a'], + 'dirs': ['include/sodium', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c0692dca07a --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.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': '11.2.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..445496497a1 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-11.3.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': '11.3.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0535f0e96f8 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.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': '12.2.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..82f6fde1515 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-1.9.3-GCCcore-12.3.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': '12.3.0'} + +source_urls = ['https://github.com/libspatialindex/libspatialindex/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['47d8779e32477b330e46b62fb7e62cb812caee5d8e684c35cb635a42a749f3fc'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libspatialindex.%s' % SHLIB_EXT], + 'dirs': ['include/spatialindex'], +} + +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/libspatialindex/libspatialindex-2.0.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-2.0.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1752b337b05 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialindex/libspatialindex-2.0.0-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'libspatialindex' +version = '2.0.0' + +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.3.0'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = ['spatialindex-src-%(version)s.tar.gz'] +checksums = ['f1d5a369681fa6ac3301a54db412ccf3180fc17163ebc3252f32c752f77345de'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': ['lib/%s.%s' % (name, SHLIB_EXT)], + 'dirs': ['include/spatialindex'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..b908b0db7f9 --- /dev/null +++ b/easybuild/easyconfigs/l/libspatialite/libspatialite-5.0.1-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'libspatialite' +version = '5.0.1' + +homepage = "https://www.gaia-gis.it/fossil/libspatialite/home" +description = """SpatiaLite is an open source library intended to extend the SQLite core to support + fully fledged Spatial SQL capabilities.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gaia-gis.it/gaia-sins/libspatialite-sources/'] +sources = [SOURCE_TAR_GZ] +checksums = ['eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('minizip', '1.1'), + ('FreeXL', '1.0.6'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('PROJ', '8.1.0'), + ('libxml2', '2.9.10'), + ('librttopo', '1.1.0'), +] + +configopts = '--disable-geosadvanced' + +sanity_check_paths = { + 'files': ['include/spatialite.h', 'lib/libspatialite.a', 'lib/libspatialite.%s' % SHLIB_EXT], + 'dirs': [], +} + +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/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb b/easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb new file mode 100644 index 00000000000..d0c5e1de51f --- /dev/null +++ b/easybuild/easyconfigs/l/libsupermesh/libsupermesh-2025-01-25-foss-2023a.eb @@ -0,0 +1,35 @@ +# Author J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libsupermesh' +version = '2025-01-25' +local_commit = '84becef14eb117defa49354116c04aa180471a07' + +homepage = 'https://github.com/firedrakeproject/libsupermesh' +description = "libsupermesh parallel supermeshing library." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/firedrakeproject/libsupermesh/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['c8a13609f9eaabc5a2635808eaa90013aff5b724c9edf50280f869b6f5c51ae6'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Rtree', '1.2.0'), + ('libspatialindex', '1.9.3'), +] + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/%(name)s.a'], + 'dirs': [], +} + +test_cmd = 'ctest' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.18.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.18.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..148b9620650 --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.18.0-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.18.0' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and + some other packages. It was written by Fabio Fiorina, and has been shipped as + part of GnuTLS for some time but is now a proper GNU package.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..be6a5c351a4 --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.19.0' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and + some other packages. It was written by Fabio Fiorina, and has been shipped as + part of GnuTLS for some time but is now a proper GNU package.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..38372984a5f --- /dev/null +++ b/easybuild/easyconfigs/l/libtasn1/libtasn1-4.19.0-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libtasn1' +version = '4.19.0' + +homepage = 'https://www.gnu.org/software/libtasn1/' +description = """Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and + some other packages. It was written by Fabio Fiorina, and has been shipped as + part of GnuTLS for some time but is now a proper GNU package.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['1613f0ac1cf484d6ec0ce3b8c06d56263cc7242f1c23b30d82d23de345a63f7a'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/asn1%s' % x for x in ['Coding', 'Decoding', 'Parser']] + + ['lib/libtasn1.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtecla/libtecla-1.6.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libtecla/libtecla-1.6.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..383ab0e1814 --- /dev/null +++ b/easybuild/easyconfigs/l/libtecla/libtecla-1.6.3-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libtecla' +version = '1.6.3' + +homepage = "https://sites.astro.caltech.edu/~mcs/tecla/" +description = """The tecla library provides UNIX and LINUX programs with interactive command line editing facilities, + similar to those of the UNIX tcsh shell. In addition to simple command-line editing, it supports recall of previously + entered command lines, TAB completion of file names or other tokens, and in-line wild-card expansion of filenames. + The internal functions which perform file-name completion and wild-card expansion are also available externally for + optional use by programs. """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://sites.astro.caltech.edu/~mcs/tecla/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f2757cc55040859fcf8f59a0b7b26e0184a22bece44ed9568a4534a478c1ee1a'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('ncurses', '6.2'), +] + +configopts = '--with-man-pages=no' + +sanity_check_paths = { + 'files': ['bin/enhance', 'lib/libtecla.a', 'lib/libtecla.%s' % SHLIB_EXT, 'include/libtecla.h'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1721b5f770d --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.2' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.37') +] + +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/libtirpc/libtirpc-1.3.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0560374219a --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.2-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.2' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.38') +] + +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/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..733262dc990 --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.3' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.39') +] + +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/libtirpc/libtirpc-1.3.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..409cc8bc2a0 --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.3-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.3' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['6474e98851d9f6f33871957ddee9714fdcd9d8a5ee9abb5a98d63ea2e60e12f3'] + +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/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/libtirpc/libtirpc-1.3.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a9fc2a5d749 --- /dev/null +++ b/easybuild/easyconfigs/l/libtirpc/libtirpc-1.3.5-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtirpc' +version = '1.3.5' + +homepage = 'https://sourceforge.net/projects/libtirpc/' +description = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_BZ2] +checksums = ['9b31370e5a38d3391bf37edfa22498e28fe2142467ae6be7a17c9068ec0bf12f'] + +configopts = '--enable-static --enable-shared --disable-gssapi' + +builddependencies = [ + ('binutils', '2.42') +] + +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/libtool/libtool-2.4.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4869984ed3b --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.6-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.6' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3a912298b17 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..249e1aff8db --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d3c279ea343 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.1.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..cdad138698d --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.1.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..31bed6f7eed --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ae8cf1bd5b0 --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7.eb new file mode 100644 index 00000000000..493b1c143ee --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +dependencies = [ + ('M4', '1.4.18'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libtree/libtree-2.0.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libtree/libtree-2.0.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..5e2eece33bb --- /dev/null +++ b/easybuild/easyconfigs/l/libtree/libtree-2.0.0-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'libtree' +version = '2.0.0' + +homepage = 'https://github.com/haampie/libtree' +description = """libtree is a tool that turns ldd into a tree, explains why + shared libraries are found and why not and optionally deploys executables and + dependencies into a single directory""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'haampie' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['099e85d8ba3c3d849ce05b8ba2791dd25cd042a813be947fb321b0676ef71883'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('cxxopts', '3.0.0', '', SYSTEM), + ('ELFIO', '3.9', '', SYSTEM), + ('termcolor', '2.0.0', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ["bin/%(name)s"], + 'dirs': ['share'] +} + +sanity_check_commands = [ + "libtree --version", + "libtree -ap %(installdir)s/bin/libtree", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb b/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb new file mode 100644 index 00000000000..0332a1f618e --- /dev/null +++ b/easybuild/easyconfigs/l/libtree/libtree-3.0.3.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'libtree' +version = '3.0.3' + +homepage = 'https://github.com/haampie/libtree' +description = """libtree is a tool that turns ldd into a tree, explains why + shared libraries are found and why not and optionally deploys executables and + dependencies into a single directory""" + +toolchain = SYSTEM + +github_account = 'haampie' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7e4589b617775cb3a2b4b8fe03f80b81e43ef16046d680f1517ce52d7be9893f'] + +buildopts = "LDFLAGS='-static'" + +runtest = 'check' + +files_to_copy = [(['libtree'], 'bin')] + +sanity_check_paths = { + 'files': ["bin/libtree"], + 'dirs': [], +} + +sanity_check_commands = [ + "libtree --help", + "libtree -v -p %(installdir)s/bin/libtree", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cc8813eab9d --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '1.0' + +homepage = 'https://www.gnu.org/software/libunistring/' + +description = """This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['5bab55b49f75d77ed26b257997e919b693f29fd4a1bc22e0e6e024c246c72741'] + +builddependencies = [ + ('binutils', '2.37'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a6849817c91 --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-1.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '1.0' + +homepage = 'https://www.gnu.org/software/libunistring/' + +description = """This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['5bab55b49f75d77ed26b257997e919b693f29fd4a1bc22e0e6e024c246c72741'] + +builddependencies = [ + ('binutils', '2.38'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f93fd922791 --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '1.1' + +homepage = 'https://www.gnu.org/software/libunistring/' + +description = """This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['827c1eb9cb6e7c738b171745dac0888aa58c5924df2e59239318383de0729b98'] + +builddependencies = [ + ('binutils', '2.35'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..26999b04bd7 --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-1.1-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '1.1' + +homepage = 'https://www.gnu.org/software/libunistring/' + +description = """This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['827c1eb9cb6e7c738b171745dac0888aa58c5924df2e59239318383de0729b98'] + +builddependencies = [ + ('binutils', '2.40'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunistring/libunistring-1.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libunistring/libunistring-1.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7fa2f46eb1f --- /dev/null +++ b/easybuild/easyconfigs/l/libunistring/libunistring-1.2-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'libunistring' +version = '1.2' + +homepage = 'https://www.gnu.org/software/libunistring/' + +description = """This library provides functions for manipulating Unicode strings and for + manipulating C strings according to the Unicode standard.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['632bd65ed74a881ca8a0309a1001c428bd1cbd5cd7ddbf8cedcd2e65f4dcdc44'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('libiconv', '1.17'), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib/libunistring.a', 'lib/libunistring.%s' % SHLIB_EXT] + + ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', + 'stdio', 'str', 'types', 'wbrk', 'width']], + 'dirs': ['include/unistring'], +} + +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/libunwind/libunwind-1.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..69be1059ae2 --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.5.0' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['libunwind-1.3.1_fix_ppc64_fpreg_t.patch'] +checksums = [ + '90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017', # libunwind-1.5.0.tar.gz + '61a507eec7ece286b06be698c742f0016d8c605eaeedf34f451cf1d0e510ec86', # libunwind-1.3.1_fix_ppc64_fpreg_t.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('XZ', '5.2.5'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fuse-ld=bfd -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..58fadfb14b7 --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.6.2' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('XZ', '5.2.5'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5e849e316cd --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.6.2' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('XZ', '5.2.7'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9ca69508042 --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.6.2' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('XZ', '5.4.2'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..031cb3115ea --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.6.2-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.6.2' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4a6aec666991fb45d0889c44aede8ad6eb108071c3554fcdff671f9c94794976'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('XZ', '5.4.4'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libunwind/libunwind-1.8.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libunwind/libunwind-1.8.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..777376a73ae --- /dev/null +++ b/easybuild/easyconfigs/l/libunwind/libunwind-1.8.1-GCCcore-13.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libunwind' +version = '1.8.1' + +homepage = 'https://www.nongnu.org/libunwind/' +description = """The primary goal of libunwind is to define a portable and efficient C programming interface + (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the + preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain + (non-local goto). The API supports both local (same-process) and remote (across-process) operation. + As such, the API is useful in a number of applications""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/libunwind/libunwind/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ddf0e32dd5fafe5283198d37e4bf9decf7ba1770b6e7e006c33e6df79e6a6157'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('XZ', '5.4.5'), +] + +preconfigopts = 'export LIBS="$LIBS -llzma" && export CFLAGS="$CFLAGS -fno-common" && ' + +sanity_check_paths = { + 'files': ['include/libunwind.h', 'lib/libunwind.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee537f6dcb3 --- /dev/null +++ b/easybuild/easyconfigs/l/libuv/libuv-1.48.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'libuv' +version = '1.48.0' + +homepage = 'https://libuv.org' +description = "libuv is a multi-platform support library with a focus on asynchronous I/O." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'libuv' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh; ' + +sanity_check_paths = { + 'files': ['include/uv.h', 'lib/libuv.a', 'lib/libuv.%s' % SHLIB_EXT, 'lib/pkgconfig/libuv.pc'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb new file mode 100644 index 00000000000..c5a0fad835b --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb new file mode 100644 index 00000000000..b1785ef119b --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb new file mode 100644 index 00000000000..9cf45cc3abe --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC && ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb new file mode 100644 index 00000000000..751488a0728 --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2020b.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +# MKL FFTW does not have all the features of fftw3 and libvdwxc is using them +dependencies = [ + ('FFTW', '3.3.8') +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb new file mode 100644 index 00000000000..cdc3abd5a19 --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +# MKL FFTW does not have all the features of fftw3 and libvdwxc is using them +dependencies = [ + ('FFTW', '3.3.9') +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb new file mode 100644 index 00000000000..c8c0d2a8644 --- /dev/null +++ b/easybuild/easyconfigs/l/libvdwxc/libvdwxc-0.4.0-intel-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libvdwxc' +version = '0.4.0' + +homepage = 'https://libvdwxc.org' +description = """libvdwxc is a general library for evaluating energy and potential for +exchange-correlation (XC) functionals from the vdW-DF family that can be used with various +of density functional theory (DFT) codes.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +source_urls = ['https://launchpad.net/libvdwxc/stable/%(version)s/+download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3524feb5bb2be86b4688f71653502146b181e66f3f75b8bdaf23dd1ae4a56b33'] + +preconfigopts = 'unset CC && unset FC &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['libvdwxc_fdtest', 'libvdwxc_maintest', + 'libvdwxc_q0test', 'libvdwxc_q0test2']] + + ['lib/lib%s.%s' % (x, y) for x in ['vdwxc', 'vdwxcfort'] + for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +# MKL FFTW does not have all the features of fftw3 and libvdwxc is using them +dependencies = [ + ('FFTW', '3.3.10') +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libvips/libvips-8.15.2-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libvips/libvips-8.15.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..088bc0e8299 --- /dev/null +++ b/easybuild/easyconfigs/l/libvips/libvips-8.15.2-GCC-12.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'MesonNinja' + +name = 'libvips' +version = '8.15.2' + +homepage = 'https://github.com/libvips/libvips' +description = 'libvips is a demand-driven, horizontally threaded image processing library.' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'libvips' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8c3ece7be367636fd676573a8ff22170c07e95e81fd94f2d1eb9966800522e1f'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GLib', '2.77.1'), + ('expat', '2.5.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('FFTW', '3.3.10'), + ('libarchive', '3.6.2'), + ('libpng', '1.6.39'), + ('ImageMagick', '7.1.1-15'), + ('Highway', '1.0.4'), + ('MATIO', '1.5.26'), + ('libwebp', '1.3.1'), + ('CFITSIO', '4.3.0'), + ('OpenEXR', '3.1.7'), + ('OpenJPEG', '2.5.0'), + ('OpenSlide', '3.4.1', '-largefiles', ('GCCcore', '12.3.0')), +] + +runtest = 'meson test' +testopts = '' + +sanity_check_paths = { + 'files': ['bin/vips', 'include/vips/vips.h'], + 'dirs': ['share'], +} + +sanity_check_commands = ['vips --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4ba927e476f --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d16d0768626 --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a76724c2cd9 --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..40c5f137808 --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..50a45ea05a1 --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7e32c5c3a99 --- /dev/null +++ b/easybuild/easyconfigs/l/libvorbis/libvorbis-1.3.7-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'libvorbis' +version = '1.3.7' + +homepage = 'https://xiph.org/vorbis/' +description = """Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed +audio format""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [('libogg', '1.3.5')] + +configopts = '--enable-static --enable-shared' + +sanity_check_paths = { + 'files': ['lib/libvorbis.a', 'lib/libvorbis.%s' % SHLIB_EXT], + 'dirs': ['include/vorbis'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..45bda0e4013 --- /dev/null +++ b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libvori' +version = '220621' + +homepage = 'https://brehm-research.de/libvori.php' +description = """C++ library implementing the Voronoi integration as well as the compressed bqb +file format. The present version of libvori is a very early development +version, which is hard-coded to work with the CP2k program package.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://brehm-research.de/files/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1cfa98c564814bddacf1c0e7f11582137d758668f6307e6eb392c72317984c14'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libvori.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a68e263572c --- /dev/null +++ b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libvori' +version = '220621' + +homepage = 'https://brehm-research.de/libvori.php' +description = """C++ library implementing the Voronoi integration as well as the compressed bqb +file format. The present version of libvori is a very early development +version, which is hard-coded to work with the CP2k program package.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://brehm-research.de/files/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1cfa98c564814bddacf1c0e7f11582137d758668f6307e6eb392c72317984c14'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['lib/libvori.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b7185080887 --- /dev/null +++ b/easybuild/easyconfigs/l/libvori/libvori-220621-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'libvori' +version = '220621' + +homepage = 'https://brehm-research.de/libvori.php' +description = """C++ library implementing the Voronoi integration as well as the compressed bqb +file format. The present version of libvori is a very early development +version, which is hard-coded to work with the CP2k program package.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://brehm-research.de/files/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1cfa98c564814bddacf1c0e7f11582137d758668f6307e6eb392c72317984c14'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libvori.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..89ff37dc673 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.2.0' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('giflib', '5.2.1'), +] + +configopts = "--enable-libwebpmux" + +sanity_check_paths = { + 'files': ['include/webp/%s' % f for f in ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h']] + + ['lib/lib%s.a' % l for l in ['webp', 'webpdemux', 'webpmux']] + + ['lib/lib%s.%s' % (l, SHLIB_EXT) for l in ['webp', 'webpdemux', 'webpmux']], + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0c0b2fbef39 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.2.4-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.2.4' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7bf5a8a28cc69bcfa8cb214f2c3095703c6b73ac5fba4d5480c205331d9494df'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..0e456339344 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.3.1' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('libjpeg-turbo', '2.1.4'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7a8453a029c --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.3.1' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.3.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..760365c2bc9 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.3.2-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.3.2' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('LibTIFF', '4.6.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwebp/libwebp-1.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libwebp/libwebp-1.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..70084689c61 --- /dev/null +++ b/easybuild/easyconfigs/l/libwebp/libwebp-1.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'libwebp' +version = '1.4.0' + +homepage = 'https://developers.google.com/speed/webp/' +description = """WebP is a modern image format that provides superior +lossless and lossy compression for images on the web. Using WebP, +webmasters and web developers can create smaller, richer images that +make the web faster.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/downloads.webmproject.org/releases/webp'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('LibTIFF', '4.6.0'), + ('giflib', '5.2.1'), +] + +configopts = '--enable-libwebpmux' + +local_headers, local_libs = ( + ['decode.h', 'demux.h', 'encode.h', 'mux.h', 'mux_types.h', 'types.h'], + ['webp', 'webpdemux', 'webpmux'] +) + +sanity_check_paths = { + 'files': ( + ['include/webp/%s' % h for h in local_headers] + + ['lib/lib%s.a' % s for s in local_libs] + + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + ), + 'dirs': ['lib/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1aa03f9c0a0 --- /dev/null +++ b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'libwpe' +version = '1.13.3' + +homepage = 'https://webkit.org/wpe' +description = """WPE is the reference WebKit port for embedded and +low-consumption computer devices. It has been designed from the +ground-up with performance, small footprint, accelerated content +rendering, and simplicity of deployment in mind, bringing the +excellence of the WebKit engine to countless platforms and target devices.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +patches = ['%(name)s-1.13.3_include-string-before-poison.patch'] +checksums = [ + {'libwpe-1.13.3.tar.xz': '05f871922f6ca750c5689a38a346c3fba130417d3490dd52362b4fe22f334e96'}, + {'libwpe-1.13.3_include-string-before-poison.patch': + '2d21ed6b2dafa758126cda162e450ab2b3a3c0b622e375ff443523ba32fc5812'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), + ('Meson', '0.58.2'), +] + +dependencies = [ + ('glew', '2.2.0', '-egl'), +] + +sanity_check_paths = { + 'files': ['lib/libwpe-1.0.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch new file mode 100644 index 00000000000..ecd1030693c --- /dev/null +++ b/easybuild/easyconfigs/l/libwpe/libwpe-1.13.3_include-string-before-poison.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Description: Include string.h before poisoning {c,m}alloc +diff -ruN libwpe-1.13.3/src/alloc-private.h libwpe-1.13.3.p1/src/alloc-private.h +--- libwpe-1.13.3/src/alloc-private.h 2022-08-11 12:59:47.000000000 +0100 ++++ libwpe-1.13.3.p1/src/alloc-private.h 2022-12-22 12:01:51.000000000 +0000 +@@ -27,6 +27,7 @@ + #ifndef wpe_alloc_private_h + #define wpe_alloc_private_h + ++#include + #include + + #if defined(__has_attribute) && __has_attribute(noreturn) diff --git a/easybuild/easyconfigs/l/libwpe/libwpe-1.14.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libwpe/libwpe-1.14.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e3cc38a8526 --- /dev/null +++ b/easybuild/easyconfigs/l/libwpe/libwpe-1.14.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# update 1.14.1 THEMBL +easyblock = 'CMakeMake' + +name = 'libwpe' +version = '1.14.1' + +homepage = 'https://webkit.org/wpe' +description = """WPE is the reference WebKit port for embedded and +low-consumption computer devices. It has been designed from the +ground-up with performance, small footprint, accelerated content +rendering, and simplicity of deployment in mind, bringing the +excellence of the WebKit engine to countless platforms and target devices.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +patches = ['%(name)s-1.13.3_include-string-before-poison.patch'] +checksums = [ + {'libwpe-1.14.1.tar.xz': 'b1d0cdcf0f8dbb494e65b0f7913e357106da9a0d57f4fbb7b9d1238a6dbe9ade'}, + {'libwpe-1.13.3_include-string-before-poison.patch': + '2d21ed6b2dafa758126cda162e450ab2b3a3c0b622e375ff443523ba32fc5812'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('CMake', '3.23.1'), + ('Meson', '0.62.1'), +] + +dependencies = [ + ('glew', '2.2.0', '-egl'), +] + +sanity_check_paths = { + 'files': ['lib/libwpe-1.0.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020a.eb b/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020a.eb new file mode 100644 index 00000000000..3e2c8e7575a --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '3.0.1' + +homepage = 'https://www.tddft.org/programs/libxc' +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': 'foss', 'version': '2020a'} +# Results for some functionals (e.g. mgga_c_tpss) deviate with too aggressive optimization settings. +toolchainopts = {'lowopt': True} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['libxc-%(version_major_minor)s_no-longdouble.patch'] +checksums = [ + '836692f2ab60ec3aca0cca105ed5d0baa7d182be07cc9d0daa7b80ee1362caf7', # libxc-3.0.1.tar.gz + '27338d9f63ce33386a6241e7bd8edde66ac8684d103acf0e6cbb5bde011730b9', # libxc-3.0_no-longdouble.patch +] + +configopts = '--enable-static --enable-shared --enable-fortran' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc%s.%s' % (x, y) for x in ['', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020b.eb b/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020b.eb new file mode 100644 index 00000000000..e9d1b83c722 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-3.0.1-foss-2020b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'libxc' +version = '3.0.1' + +homepage = 'https://www.tddft.org/programs/libxc' +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': 'foss', 'version': '2020b'} +# Results for some functionals (e.g. mgga_c_tpss) deviate with too aggressive optimization settings. +toolchainopts = {'lowopt': True} + +source_urls = ['https://www.tddft.org/programs/libxc/down.php?file=%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['libxc-%(version_major_minor)s_no-longdouble.patch'] +checksums = [ + '836692f2ab60ec3aca0cca105ed5d0baa7d182be07cc9d0daa7b80ee1362caf7', # libxc-3.0.1.tar.gz + '27338d9f63ce33386a6241e7bd8edde66ac8684d103acf0e6cbb5bde011730b9', # libxc-3.0_no-longdouble.patch +] + +configopts = '--enable-static --enable-shared --enable-fortran' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libxc%s.%s' % (x, y) for x in ['', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include'], +} + +parallel = 1 + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..9813cb985bf --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-GCC-11.2.0.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '4.3.4' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'libxc-%(version)s_lm-fix.patch', + 'libxc-%(version)s_fix-CMakeLists.patch', + 'libxc-%(version)s_fix-timeout.patch', +] +checksums = [ + ('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 +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), +] + +separate_build_dir = True + +parallel = 1 + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', 'bin/xc-threshold'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..0595d050314 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-4.3.4-intel-compilers-2021.4.0.eb @@ -0,0 +1,62 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '4.3.4' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'libxc-%(version)s_rename-F03.patch', + 'libxc-%(version)s_lm-fix.patch', + 'libxc-%(version)s_fix-CMakeLists.patch', + 'libxc-%(version)s_fix-timeout.patch', +] +checksums = [ + ('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 + 'd44d4a35ae22542c3086e57638e0e2b6b1ad8e98d0898036972a0248cf8778e8', # libxc-4.3.4_fix-timeout.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), +] + +separate_build_dir = True + +# rename *.F03 source file since Intel Fortran compiler doesn't like that extension +# also requires patch file to rename file in CMakeLists.txt and src/Makefile.in +preconfigopts = "mv ../libxc-%(version)s/src/libxc_master.F03 ../libxc-%(version)s/src/libxc_master_F03.F90 && " + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', +] + +parallel = 1 + +# 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', 'bin/xc-threshold'] + + ['lib/libxc%s.%s' % (x, y) for x in ['', 'f03', 'f90'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include', 'lib/pkgconfig', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..4bfdb399882 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-GCC-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.1.6' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', +] + +parallel = 1 + +# 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', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..9fab692924c --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-5.1.6-intel-compilers-2021.4.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.1.6' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('0d0496513114ed84987c32649912f9a65d234696dab13a4b00ce8c420bfc0a1d', + '1f752b2cf65c8145c1830f2d666181649c27bc0dd9685893d172822afade29f6')] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Perl', '5.34.0'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', +] + +parallel = 1 + +# 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', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..4b3655eeb77 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-GCC-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.2.3' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', +] + +parallel = 1 + +# 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', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..d5879d1a521 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-5.2.3-intel-compilers-2022.1.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '5.2.3' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('7b7a96d8eeb472c7b8cca7ac38eae27e0a8113ef44dae5359b0eb12592b4bcf2', + '38b60ed552b46367175b370e1ad5409fcf45c49b71ed13706a65b485f06a5417')] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Perl', '5.34.1'), +] + +separate_build_dir = True + +local_common_configopts = "-DENABLE_FORTRAN=ON -DENABLE_FORTRAN03=ON -DENABLE_XHOST=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', +] + +parallel = 1 + +# 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', 'share/cmake/Libxc'], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..4202f7d1d77 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-GCC-12.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.1.0' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.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.1.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..c98941f57e6 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.1.0-intel-compilers-2022.2.1.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'libxc' +version = '6.1.0' + +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://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a3aa16915942543031a5d9c4a92c439ce54249bdcda8c91c4e69e65329dc9a54', + 'f593745fa47ebfb9ddc467aaafdc2fa1275f0d7250c692ce9761389a90dd8eaf')] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Perl', '5.36.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-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..d9d1801f2f7 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-GCC-12.3.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': '12.3.0'} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Perl', '5.36.1'), +] + +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-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 new file mode 100644 index 00000000000..f3a5e5448f3 --- /dev/null +++ b/easybuild/easyconfigs/l/libxc/libxc-6.2.2-intel-compilers-2023.1.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': 'intel-compilers', 'version': '2023.1.0'} + +source_urls = ['https://gitlab.com/libxc/libxc/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = [('a0f6f1bba7ba5c0c85b2bfe65aca1591025f509a7f11471b4cd651a79491b045', + '3b0523924579cf494cafc6fea92945257f35692b004217d3dfd3ea7ca780e8dc')] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Perl', '5.36.1'), +] + +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.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/libxcb/libxcb-1.13-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/libxcb/libxcb-1.13-GCCcore-6.4.0.eb index 2ec01ebf7f2..835f4ff45f3 100644 --- a/easybuild/easyconfigs/l/libxcb/libxcb-1.13-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/l/libxcb/libxcb-1.13-GCCcore-6.4.0.eb @@ -16,7 +16,7 @@ checksums = ['0bb3cfd46dbd90066bf4d7de3cad73ec1024c7325a4a0cbf5f4a0d4fa91155fb'] builddependencies = [ ('binutils', '2.28'), ('pkg-config', '0.29.2'), - ('xcb-proto', '1.13', '', True), + ('xcb-proto', '1.13', '', SYSTEM), ('xproto', '7.0.31'), ('libpthread-stubs', '0.4'), ('xorg-macros', '1.19.1'), diff --git a/easybuild/easyconfigs/l/libxml++/libxml++-2.42.1-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxml++/libxml++-2.42.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..149e5c1adfd --- /dev/null +++ b/easybuild/easyconfigs/l/libxml++/libxml++-2.42.1-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MesonNinja' + +name = 'libxml++' +version = '2.42.1' + +homepage = 'http://libxmlplusplus.sourceforge.net' +description = """libxml++ is a C++ wrapper for the libxml XML parser library.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://ftp.gnome.org/pub/GNOME/sources/%(name)s/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('mm-common', '1.0.4'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('GLibmm', '2.66.4'), + ('libxml2', '2.9.10'), + ('Boost', '1.76.0'), +] + +sanity_check_paths = { + 'files': ['lib/libxml++-2.6.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'include/libxml++-2.6/libxml++'], +} + +moduleclass = 'lib' 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/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a63e21ba634 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2-python/libxml2-python-2.9.13-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'libxml2-python' +version = '2.9.13' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = ['libxml2-%(version)s.tar.xz'] +patches = [ + 'libxml2-2.9.7_fix-hardcoded-paths.patch', +] +checksums = [ + '276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e', # libxml2-2.9.13.tar.gz + '3d5651c015fd375d855421983b7d33ffd4af797b7411f46e05cd8c57b210e542', # libxml2-2.9.7_fix-hardcoded-paths.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('XZ', '5.2.5'), + ('Python', '3.10.4'), + ('libxml2', version), + ('libiconv', '1.17'), +] + +start_dir = 'python' + +download_dep_fail = True +use_pip = 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/libxml2-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..899bcfe4e7f --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.10.3' + +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.11.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..13845741e03 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.4-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..79cc8b0ae36 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.11.5' + +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('XZ', '5.4.4'), + ('zlib', '1.2.13'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a8a21aceaa9 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.12.7-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.12.7' + +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['24ae78ff1363a973e6d8beba941a7945da2ac056e19b53956aeb6927fd6cfb56'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('XZ', '5.4.5'), + ('zlib', '1.3.1'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.2.0.eb index 38a25e4b1a7..aeed9cfa941 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.2.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813'] builddependencies = [('binutils', '2.35')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.3.0.eb index 8b050c1144f..d8f7f588096 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-10.3.0.eb @@ -14,12 +14,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813'] builddependencies = [('binutils', '2.36.1')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4e4b321a783 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +name = 'libxml2' +version = '2.9.10' + +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.2.0.eb index 5e7273f67e7..d256f11c658 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.2.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.2.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813'] builddependencies = [('binutils', '2.32')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.3.0.eb index 53b484f969b..3669c4c6bca 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.10-GCCcore-9.3.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813'] builddependencies = [('binutils', '2.34')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.13-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..67afe86777d --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.13-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.9.13' + +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). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.4-GCCcore-5.4.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.4-GCCcore-5.4.0.eb index 346410c130c..7cfd54f4e1b 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.4-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.4-GCCcore-5.4.0.eb @@ -22,6 +22,6 @@ dependencies = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.5-GCCcore-6.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.5-GCCcore-6.3.0.eb index 8452f3187e2..42dac0e7a79 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.5-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.5-GCCcore-6.3.0.eb @@ -22,6 +22,6 @@ dependencies = [ ] # use same binutils version that was used when building GCCcore toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.2.0.eb index 8f28af864fe..a9f2c2e2125 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.2.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '7.2.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['dcca21d624bbbe094fcc104e1f15f2eacfb65aecd0e38ed220aeca56b62c81e2'] builddependencies = [('binutils', '2.29')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.3.0.eb index d85ba7444da..417881a12ed 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-7.3.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['dcca21d624bbbe094fcc104e1f15f2eacfb65aecd0e38ed220aeca56b62c81e2'] builddependencies = [('binutils', '2.30')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-8.2.0.eb index 9a02ed10f47..fc27adc85d2 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.8-GCCcore-8.2.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['dcca21d624bbbe094fcc104e1f15f2eacfb65aecd0e38ed220aeca56b62c81e2'] builddependencies = [('binutils', '2.31.1')] diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.9-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.9-GCCcore-8.3.0.eb index 7f8f41a3902..e427981571a 100644 --- a/easybuild/easyconfigs/l/libxml2/libxml2-2.9.9-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.9.9-GCCcore-8.3.0.eb @@ -11,12 +11,9 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871'] +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['58a5c05a2951f8b47656b676ce1017921a29f6b1419c45e3baed0d6435ba03f5'] builddependencies = [('binutils', '2.32')] diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.32-GCCcore-7.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.32-GCCcore-7.3.0.eb index 9f2ba0ca1be..7d24e0af0d1 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.32-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.32-GCCcore-7.3.0.eb @@ -9,12 +9,9 @@ description = """Libxslt is the XSLT C library developed for the GNOME project toolchain = {'name': 'GCCcore', 'version': '7.3.0'} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460'] +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['b7da90eaa6b0dae9e9a3769e29a757342eef0edb9a7b431424814375414422af'] builddependencies = [('binutils', '2.30')] @@ -23,4 +20,9 @@ dependencies = [ ('libxml2', '2.9.8'), ] +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.33-GCCcore-8.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.33-GCCcore-8.2.0.eb index 0df6959430a..e1b9d08e742 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.33-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.33-GCCcore-8.2.0.eb @@ -9,12 +9,9 @@ description = """Libxslt is the XSLT C library developed for the GNOME project toolchain = {'name': 'GCCcore', 'version': '8.2.0'} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8'] +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3944d3a74b4ca6b40f59967e2a587abc6994f6935d697d9fa1b8edd722513e90'] builddependencies = [('binutils', '2.31.1')] @@ -23,4 +20,9 @@ dependencies = [ ('libxml2', '2.9.8'), ] +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb index 764ee9417e3..2c20332345f 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.2.0.eb @@ -9,20 +9,23 @@ description = """Libxslt is the XSLT C library developed for the GNOME project toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f'] +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.35')] +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), ('libxml2', '2.9.10'), ] +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + sanity_check_paths = { 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ec097abdeda --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.34' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2dd00632610 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.34' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f4fb8f7a903 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.34' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb index f3c2326d6f8..7ee70a646ab 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-8.3.0.eb @@ -9,20 +9,23 @@ description = """Libxslt is the XSLT C library developed for the GNOME project toolchain = {'name': 'GCCcore', 'version': '8.3.0'} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f'] +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.32')] +builddependencies = [ + ('binutils', '2.32'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), ('libxml2', '2.9.9'), ] +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + sanity_check_paths = { 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb index bc98e11869c..85eb068bdbc 100644 --- a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.34-GCCcore-9.3.0.eb @@ -9,20 +9,23 @@ description = """Libxslt is the XSLT C library developed for the GNOME project toolchain = {'name': 'GCCcore', 'version': '9.3.0'} -source_urls = [ - 'http://xmlsoft.org/sources/', - 'http://xmlsoft.org/sources/old/' -] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f'] +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824'] -builddependencies = [('binutils', '2.34')] +builddependencies = [ + ('binutils', '2.34'), + ('pkg-config', '0.29.2'), +] dependencies = [ ('zlib', '1.2.11'), ('libxml2', '2.9.10'), ] +# Make sure it doesn't pick up OS installed libgcrypt or Python +configopts = '--with-crypto=no --with-python=no ' + sanity_check_paths = { 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4ca890df973 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.37-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.37' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libxml2', '2.10.3'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +# enable building static libs +configopts = '--with-crypto=no --with-python=no --enable-static=yes ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a', + 'lib/libexslt.%s' % SHLIB_EXT, 'lib/libexslt.a'], + 'dirs': ['include/libxslt', 'include/libexslt'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3e21064eaf4 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.38' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libxml2', '2.11.4'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +# enable building static libs +configopts = '--with-crypto=no --with-python=no --enable-static=yes ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a', + 'lib/libexslt.%s' % SHLIB_EXT, 'lib/libexslt.a'], + 'dirs': ['include/libxslt', 'include/libexslt'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7f763c378c9 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.38-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.38' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['1f32450425819a09acaff2ab7a5a7f8a2ec7956e505d7beeb45e843d0e1ecab1'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libxml2', '2.11.5'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +# enable building static libs +configopts = '--with-crypto=no --with-python=no --enable-static=yes ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a', + 'lib/libexslt.%s' % SHLIB_EXT, 'lib/libexslt.a'], + 'dirs': ['include/libxslt', 'include/libexslt'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxslt/libxslt-1.1.42-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.42-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a38c53ef841 --- /dev/null +++ b/easybuild/easyconfigs/l/libxslt/libxslt-1.1.42-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libxslt' +version = '1.1.42' + +homepage = 'http://xmlsoft.org/' +description = """Libxslt is the XSLT C library developed for the GNOME project + (but usable outside of the Gnome platform).""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.gnome.org/sources/libxslt/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('libxml2', '2.12.7'), +] + +# Make sure it doesn't pick up OS installed libgcrypt or Python +# enable building static libs +configopts = '--with-crypto=no --with-python=no --enable-static=yes ' + +sanity_check_paths = { + 'files': ['bin/xsltproc', 'include/libxslt/xslt.h', 'lib/%%(name)s.%s' % SHLIB_EXT, 'lib/%(name)s.a', + 'lib/libexslt.%s' % SHLIB_EXT, 'lib/libexslt.a'], + 'dirs': ['include/libxslt', 'include/libexslt'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-GCC-10.3.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..41104ec8354 --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.16.2' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['bdc7554b56b9e0a380fc9c7b4f4394b41be863344858bc633bc9c25835c4c64e'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..86f5f13c7e4 --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.16.2-intel-compilers-2021.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.16.2' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['bdc7554b56b9e0a380fc9c7b4f4394b41be863344858bc633bc9c25835c4c64e'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.2.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.2.0.eb new file mode 100644 index 00000000000..d459d902f56 --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.17' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb new file mode 100644 index 00000000000..9fbbdba6329 --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.17' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.2.0.eb new file mode 100644 index 00000000000..bd19b03924f --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.17' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.3.0.eb b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.3.0.eb new file mode 100644 index 00000000000..b20b327f489 --- /dev/null +++ b/easybuild/easyconfigs/l/libxsmm/libxsmm-1.17-GCC-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'libxsmm' +version = '1.17' + +homepage = 'https://github.com/hfp/libxsmm' +description = """LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications +targeting Intel Architecture (x86).""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/hfp/libxsmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92'] + +# install both static and dynamic version +installopts = ['PREFIX=%(installdir)s', 'PREFIX=%(installdir)s STATIC=0'] + +skipsteps = ['configure'] +maxparallel = 1 + +sanity_check_paths = { + 'files': ['bin/libxsmm_gemm_generator', 'include/libxsmm.h', 'lib/libxsmm.a', 'lib/libxsmm.%s' % SHLIB_EXT], + 'dirs': ['share'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..87d72c1f725 --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' + +description = """LibYAML is a YAML parser and emitter written in C.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://pyyaml.org/download/libyaml/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ["include/yaml.h", "lib/libyaml.a", "lib/libyaml.%s" % SHLIB_EXT], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3b7e5265d07 --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6085128a05b --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..76fee75bd36 --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c5be2ac7c7b --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4b2e8e66632 --- /dev/null +++ b/easybuild/easyconfigs/l/libyaml/libyaml-0.2.5-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'libyaml' +version = '0.2.5' + +homepage = 'https://pyyaml.org/wiki/LibYAML' +description = "LibYAML is a YAML parser and emitter written in C." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://pyyaml.org/download/%(name)s/'] +sources = ['yaml-%(version)s.tar.gz'] +checksums = ['c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4'] + +builddependencies = [ + ('binutils', '2.42'), +] + + +sanity_check_paths = { + 'files': ['include/yaml.h', 'lib/libyaml.a', 'lib/libyaml.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libzip/libzip-1.10.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libzip/libzip-1.10.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..99551efad57 --- /dev/null +++ b/easybuild/easyconfigs/l/libzip/libzip-1.10.1-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'libzip' +version = '1.10.1' + +homepage = 'https://libzip.org/' +description = "libzip is a C library for reading, creating, and modifying zip archives." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/nih-at/libzip/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d56d857d1c3ad4a7f3a4c01a51c6a6e5530e35ab93503f62276e8ba2b306186a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.4'), + ('zstd', '1.5.5'), +] + +sanity_check_paths = { + 'files': [ + 'bin/zipcmp', + 'bin/zipmerge', + 'bin/ziptool', + 'lib64/libzip.%s' % SHLIB_EXT, + ], + 'dirs': ['include', 'lib/pkgconfig'], +} + +sanity_check_commands = [ + "zipcmp -h", + "zipmerge -h", + "ziptool -h" +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libzip/libzip-1.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/libzip/libzip-1.7.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..76e25cf8b7e --- /dev/null +++ b/easybuild/easyconfigs/l/libzip/libzip-1.7.3-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libzip' +version = '1.7.3' + +homepage = 'https://libzip.org/' +description = "libzip is a C library for reading, creating, and modifying zip archives." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/nih-at/libzip/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c0a086901dfc8bda0fb8695f2d3c8050ed140b7899536b9348bcc72b47b2f307'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': [ + 'bin/zipcmp', + 'bin/zipmerge', + 'bin/ziptool', + 'lib64/libzip.%s' % SHLIB_EXT, + ], + 'dirs': ['include', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libzip/libzip-1.9.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/libzip/libzip-1.9.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..28d6e87b572 --- /dev/null +++ b/easybuild/easyconfigs/l/libzip/libzip-1.9.2-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'libzip' +version = '1.9.2' + +homepage = 'https://libzip.org/' +description = "libzip is a C library for reading, creating, and modifying zip archives." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nih-at/libzip/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7f28eaec7a02ca099ea9dad88fc8023f7f6ddfca54b780040ff7fdb39d9efb3c'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [('zlib', '1.2.12')] + +sanity_check_paths = { + 'files': [ + 'bin/zipcmp', + 'bin/zipmerge', + 'bin/ziptool', + 'lib64/libzip.%s' % SHLIB_EXT, + ], + 'dirs': ['include', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..c1adcc652a5 --- /dev/null +++ b/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'lie_learn' +version = '0.0.1.post1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/AMLab-Amsterdam/lie_learn' +description = """lie_learn is a python package that knows how to do various tricky computations +related to Lie groups and manifolds (mainly the sphere S2 and rotation group SO3).""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +github_account = 'AMLab-Amsterdam' + +sources = [SOURCE_TAR_GZ] + +patches = [ + 'lie_learn-0.0.1.post1_no_cython.patch', +] + +checksums = [ + 'de8f5dcb387bf39ba7470830b86b9085ceaaedf07392629ff512c76571dc6020', # lie_learn-0.0.1.post1.tar.gz + '82931c5db79160d3b4943bb5e081abd53bc91d6a950e9cee9a3d85e9eb329e05', # lie_learn-0.0.1.post1_no_cython.patch +] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1_no_cython.patch b/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1_no_cython.patch new file mode 100644 index 00000000000..74cc2cd8b75 --- /dev/null +++ b/easybuild/easyconfigs/l/lie_learn/lie_learn-0.0.1.post1_no_cython.patch @@ -0,0 +1,35 @@ +Using cython for extensions breaks builds +author: Christoph Siegert (Leipzig University) + +diff -ruN lie_learn-0.0.1.post1.orig/setup.py lie_learn-0.0.1.post1/setup.py +--- lie_learn-0.0.1.post1.orig/setup.py 2021-08-18 18:01:14.428449724 +0200 ++++ lie_learn-0.0.1.post1/setup.py 2021-08-18 18:13:33.294356898 +0200 +@@ -4,13 +4,6 @@ + + from setuptools import dist, find_packages, setup, Extension + +-try: +- from Cython.Build import cythonize +- +- use_cython = True +-except ImportError: +- use_cython = False +- + if sys.version_info[0] < 3: + setup_requires_list = ['numpy<1.17'] + else: +@@ -20,13 +13,9 @@ + + import numpy as np + +-ext = '.pyx' if use_cython else '.c' ++ext = '.c' + files = glob.glob('lie_learn/**/*' + ext, recursive=True) + extensions = [Extension(file.split('.')[0].replace('/', '.'), [file]) for file in files] +-if use_cython: +- from Cython.Build import cythonize +- +- extensions = cythonize(extensions) + + setup( + name='lie_learn', diff --git a/easybuild/easyconfigs/l/lifelines/lifelines-0.26.3-fosscuda-2020b.eb b/easybuild/easyconfigs/l/lifelines/lifelines-0.26.3-fosscuda-2020b.eb new file mode 100644 index 00000000000..2458724db72 --- /dev/null +++ b/easybuild/easyconfigs/l/lifelines/lifelines-0.26.3-fosscuda-2020b.eb @@ -0,0 +1,45 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'lifelines' +version = '0.26.3' + +homepage = "https://lifelines.readthedocs.io/en/latest/" +description = """lifelines is a complete survival analysis library, written in pure Python.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('interface_meta', '1.2.4', { + 'checksums': ['4c7725dd4b80f97b7eecfb26023e1a8a7cdbb6d6a7207a8e93f9d4bfef9ee566'], + }), + ('autograd', '1.3', { + 'checksums': ['a15d147577e10de037de3740ca93bfa3b5a7cdfbc34cfb9105429c3580a33ec4'], + }), + ('autograd-gamma', '0.5.0', { + 'checksums': ['f27abb7b8bb9cffc8badcbf59f3fe44a9db39e124ecacf1992b6d952934ac9c4'], + }), + ('formulaic', '0.2.4', { + 'checksums': ['15b71ea8972fb451f80684203cddd49620fc9ed5c2e35f31e0874e9c41910d1a'], + }), + (name, version, { + 'checksums': ['f3dc77601927b9dbebb77d1b4d6f5bd4e5e3e169f6e8d7c2beb31a9a36fcbe1b'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb b/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb new file mode 100644 index 00000000000..c300ce4d3a6 --- /dev/null +++ b/easybuild/easyconfigs/l/lifelines/lifelines-0.27.4-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'lifelines' +version = '0.27.4' + +homepage = "https://lifelines.readthedocs.io/en/latest/" +description = """lifelines is a complete survival analysis library, written in pure Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('interface_meta', '1.3.0', { + 'checksums': ['8a4493f8bdb73fb9655dcd5115bc897e207319e36c8835f39c516a2d7e9d79a1'], + }), + ('autograd', '1.5', { + 'checksums': ['d80bd225154d1db13cb4eaccf7a18c358be72092641b68717f96fcf1d16acd0b'], + }), + ('autograd-gamma', '0.5.0', { + 'checksums': ['f27abb7b8bb9cffc8badcbf59f3fe44a9db39e124ecacf1992b6d952934ac9c4'], + }), + ('formulaic', '0.4.0', { + 'checksums': ['087950518c53a2491deb52b8ddd66833f953882e517a42e476c007cc8f6892c5'], + }), + (name, version, { + 'checksums': ['62f7e911a64c8f723eef4207174fb1df39a94f79eca557cdf53d310eb6be132f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb index 1d91bac04d7..396ecccea92 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-foss-2017a.eb @@ -42,8 +42,8 @@ sanity_check_paths = { postinstallcmds = [ 'echo "================================================================================"', 'echo "IMPORTANT: you will have to manually apply the following changes **as root**:"', - 'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', - 'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' + r'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', + r'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' ] maxparallel = 1 diff --git a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb index 5558b79e5fa..ed31a2a4ecd 100644 --- a/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb +++ b/easybuild/easyconfigs/l/likwid/likwid-4.2.0-intel-2017a.eb @@ -41,8 +41,8 @@ sanity_check_paths = { postinstallcmds = [ 'echo "================================================================================"', 'echo "IMPORTANT: you will have to manually apply the following changes **as root**:"', - 'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', - 'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' + r'echo " sudo chown root:root \$EBROOTLIKWID/sbin/likwid-accessD"', + r'echo " sudo chmod u+s \$EBROOTLIKWID/sbin/likwid-accessD"' ] maxparallel = 1 diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..c723d1fccbf --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.0'), +] + +dependencies = [ + ('hwloc', '2.2.0'), +] + +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/likwid/likwid-5.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..62e543c1854 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-10.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.1'), +] + +dependencies = [ + ('hwloc', '2.4.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/likwid/likwid-5.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..084919eff42 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-GCC-11.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.34.0'), +] + +dependencies = [ + ('hwloc', '2.5.0'), +] + +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/likwid/likwid-5.2.0-iccifort-2020.4.304.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..e2774c4ac86 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-iccifort-2020.4.304.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.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': 'iccifort', 'version': '2020.4.304'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.0'), +] + +dependencies = [ + ('hwloc', '2.2.0'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'COMPILER=ICC 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/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..f3e759fe3b6 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0-intel-compilers-2021.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.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': 'intel-compilers', 'version': '2021.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_EB_hwloc.patch', +] +checksums = [ + 'aa6dccacfca59e52d8f3be187ffcf292b2a2fa1f51a81bf8912b9d48e5a257e0', # v5.2.0.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.32.1'), +] + +dependencies = [ + ('hwloc', '2.4.1'), +] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -std=c99" PREFIX=%(installdir)s BUILDFREQ="" ACCESSMODE=perf_event ' +buildopts += 'COMPILER=ICC 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/likwid/likwid-5.2.0_use_EB_hwloc.patch b/easybuild/easyconfigs/l/likwid/likwid-5.2.0_use_EB_hwloc.patch new file mode 100644 index 00000000000..c57c2895f31 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.0_use_EB_hwloc.patch @@ -0,0 +1,30 @@ +Don't try to install hwloc into likwids libdir + +Åke Sandgren, 2022-03-22 +diff -ru likwid-5.2.0.orig/Makefile likwid-5.2.0/Makefile +--- likwid-5.2.0.orig/Makefile 2021-06-18 18:13:47.000000000 +0200 ++++ likwid-5.2.0/Makefile 2022-03-22 11:49:17.234166402 +0100 +@@ -484,7 +484,9 @@ + @chmod 755 $(LIBPREFIX) + @install -m 755 $(TARGET_LIB) $(LIBPREFIX)/$(TARGET_LIB).$(VERSION).$(RELEASE) + @install -m 755 liblikwidpin.so $(LIBPREFIX)/liblikwidpin.so.$(VERSION).$(RELEASE) +- @install -m 755 $(TARGET_HWLOC_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) ++ @if [ "$(USE_INTERNAL_HWLOC)" = "true" ]; then \ ++ install -m 755 $(TARGET_HWLOC_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE); \ ++ fi + @if [ "$(LUA_INTERNAL)" = "true" ]; then \ + install -m 755 $(TARGET_LUA_LIB) $(LIBPREFIX)/$(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE); \ + fi +@@ -492,8 +494,10 @@ + @cd $(LIBPREFIX) && ln -fs $(TARGET_LIB).$(VERSION).$(RELEASE) $(TARGET_LIB).$(VERSION) + @cd $(LIBPREFIX) && ln -fs $(PINLIB).$(VERSION).$(RELEASE) $(PINLIB) + @cd $(LIBPREFIX) && ln -fs $(PINLIB).$(VERSION).$(RELEASE) $(PINLIB).$(VERSION) +- @cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)) +- @cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION) ++ @if [ "$(USE_INTERNAL_HWLOC)" = "true" ]; then \ ++ cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)); \ ++ cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_HWLOC_LIB)).$(VERSION); \ ++ fi + @if [ "$(LUA_INTERNAL)" = "true" ]; then \ + cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_LUA_LIB)); \ + cd $(LIBPREFIX) && ln -fs $(shell basename $(TARGET_LUA_LIB)).$(VERSION).$(RELEASE) $(shell basename $(TARGET_LUA_LIB)).$(VERSION); \ diff --git a/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..d7e5779fa74 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.1-GCC-11.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.1' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-5.2.0_use_EB_hwloc.patch', +] +checksums = [ + '1b8e668da117f24302a344596336eca2c69d2bc2f49fa228ca41ea0688f6cbc2', # v5.2.1.tar.gz + '76ef41001efcdd107e34e2833325ffa876b8ac526740301ae9bace91150cfb8f', # likwid-5.2.0_use_EB_hwloc.patch +] + +builddependencies = [ + ('Perl', '5.34.0'), +] + +dependencies = [ + ('hwloc', '2.5.0'), +] + +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/likwid/likwid-5.2.2-GCC-11.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..2febcdf589c --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.2' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7dda6af722e04a6c40536fc9f89766ce10f595a8569b29e80563767a6a8f940e'] + +builddependencies = [ + ('Perl', '5.34.1'), +] + +dependencies = [ + ('hwloc', '2.7.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/likwid/likwid-5.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..68b78db72f1 --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.2.2-GCC-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'likwid' +version = '5.2.2' + +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 = ['7dda6af722e04a6c40536fc9f89766ce10f595a8569b29e80563767a6a8f940e'] + +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/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/likwid/likwid-5.3.0-GCC-13.2.0.eb b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..d46a451886d --- /dev/null +++ b/easybuild/easyconfigs/l/likwid/likwid-5.3.0-GCC-13.2.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': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/RRZE-HPC/likwid/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c290e554c4253124ac2ab8b056e14ee4d23966b8c9fbfa10ba81f75ae543ce4e'] + +builddependencies = [ + ('Perl', '5.38.0'), +] + +dependencies = [ + ('hwloc', '2.9.2'), +] + +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/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb new file mode 100644 index 00000000000..121e49d9047 --- /dev/null +++ b/easybuild/easyconfigs/l/lil-aretomo/lil-aretomo-0.1.1-foss-2023a.eb @@ -0,0 +1,33 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/05 +easyblock = 'PythonBundle' + +name = 'lil-aretomo' +version = '0.1.1' + +homepage = 'https://github.com/teamtomo/lil-aretomo' +description = """ +A lightweight Python API for AreTomo. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('mrcfile', '1.5.0'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('lil_aretomo', version, { + 'checksums': ['02ccb0efbf2c06304570117f142e78331bfffdde46864e22de11c6cd7f30f178'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-3.5.1-foss-2021b.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-3.5.1-foss-2021b.eb new file mode 100644 index 00000000000..1e22501836a --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-3.5.1-foss-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '3.5.1' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['bc9ad7e88112e882b16e3698040c7f9449fe72e4f15f957d2bd5e486484ff75e'] + +builddependencies = [ + ('scikit-build', '0.11.1'), + ('CMake', '3.21.1'), + ('Ninja', '1.10.2'), +] +dependencies = [ + ('Python', '3.9.6'), + ('IPython', '7.26.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb new file mode 100644 index 00000000000..42ca38e1daf --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.0.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '4.0.0' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebe361a2318ac781c619573b62b3abf124881257c6b9425747dc3f1c03e708fc'] + +builddependencies = [ + ('scikit-build', '0.15.0'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..72ba302b5e7 --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '4.1.1' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['71c150bf06dd964fc0e5fbc3a5eb31bbee03c535d31c9548999c3e0302dcbb27'] + +builddependencies = [ + ('binutils', '2.39'), + ('scikit-build', '0.17.2'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] +dependencies = [ + ('Python', '3.10.8'), + ('IPython', '8.14.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b5f689a928f --- /dev/null +++ b/easybuild/easyconfigs/l/line_profiler/line_profiler-4.1.2-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'line_profiler' +version = '4.1.2' + +homepage = 'https://github.com/pyutils/line_profiler' +description = """line_profiler is a module for doing line-by-line profiling +of functions. kernprof is a convenient script for running either +line_profiler or the Python standard library's cProfile or profile modules, +depending on what is available.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'pyutils' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a1f3458c1dd1bf4b2d1d2657b78225f4e4e9046a1841f18cf528f01ebd3d5f43'] + +builddependencies = [ + ('binutils', '2.40'), + ('scikit-build', '0.17.6'), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('IPython', '8.17.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/kernprof'], + 'dirs': [], +} + +sanity_check_commands = ['kernprof --help'] + +moduleclass = 'devel' 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/longestrunsubsequence/longestrunsubsequence-1.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/longestrunsubsequence/longestrunsubsequence-1.0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..54ea130b233 --- /dev/null +++ b/easybuild/easyconfigs/l/longestrunsubsequence/longestrunsubsequence-1.0.1-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm + +easyblock = 'PythonBundle' + +name = 'longestrunsubsequence' +version = '1.0.1' + +homepage = 'https://pypi.org/project/longestrunsubsequence/' +description = """Implementation of a solver for the Longest Run Subsequence Problem. Given a + sequence as input, compute a longest subsequence such that there is at most one run for every + character. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + # PuLP supports various solvers: Cbc, CPLEX, GLPK, Gurobi, Mosek + ('GLPK', '5.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PuLP', '2.5.0', { + # all tests are skipped if no solvers available + 'runtest': 'python -c "import pulp; pulp.pulpTestAll()"', + 'checksums': ['5dc7d76bfb1da06ac048066ced75603340d0d7ba8a7dbfce4040d6f126eda0d5'], + }), + (name, version, { + 'use_pip_extras': 'ILP-acceleration', + 'checksums': ['c49134880da428425de2150569b6e6f7049509b6693cef920c32fca7ddf5e03f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb new file mode 100644 index 00000000000..1a6ef6836ae --- /dev/null +++ b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2020b.eb @@ -0,0 +1,82 @@ +easyblock = 'Bundle' + +name = 'longread_umi' +version = '0.3.2' + +homepage = 'https://github.com/SorenKarst/longread_umi' +description = "A collection of scripts for processing longread UMI data." +github_account = 'SorenKarst' + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('cutadapt', '3.4'), + ('BCFtools', '1.11'), + ('BWA', '0.7.17'), + ('Filtlong', '0.2.0'), + ('gawk', '5.1.0'), + ('medaka', '1.4.3'), + ('minimap2', '2.18'), + ('parallel', '20210322'), + ('Pysam', '0.16.0.1'), + ('Racon', '1.4.21'), + ('SAMtools', '1.11'), + ('seqtk', '1.3'), + ('VSEARCH', '2.18.0'), +] + +components = [ + (name, version, { + 'easyblock': 'Tarball', + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['62b8e156c00c0ec10fa8eae1cde5430922462f167fc537417ce0b47cd50a20cb'], + 'start_dir': '%(name)s-%(version)s', + }), + # PythonPackage executes Bundle-level postinstallcmds for some reason, + # which rely on both components being installed, so Porechop is installed second + ('Porechop', '0.2.4', { + 'easyblock': 'PythonPackage', + 'source_urls': ['https://github.com/rrwick/Porechop/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299'], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +# Adapt the built-in tool check but make it fail on error, replace usearch with vsearch and use our version +local_deps_patch = ( + "sed -i " + "-e '2s;^;set -e ;' " + "-e 's/USEARCH=usearch/USEARCH=vsearch/' " + "-e 's;$(git --git-dir ${LONGREAD_UMI_PATH}/.git describe --tag);%(version)s;' " + "%(installdir)s/scripts/dependencies.sh" +) + +postinstallcmds = [ + 'find %(installdir)s -name "*.sh" -exec chmod +x {} \\;', + 'ln -s %(installdir)s/longread_umi.sh %(installdir)s/bin/longread_umi', + # Part of the installation process; longread uses porechop with custom adapters + 'cp %(installdir)s/scripts/adapters.py %(installdir)s/lib/python%(pyshortver)s/site-packages/porechop/', + local_deps_patch, +] + +sanity_check_paths = { + 'files': ['bin/longread_umi'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'longread_umi -h | grep qc_pipeline', + 'longread_umi nanopore_pipeline -h | grep rrna_operon', + 'source %(installdir)s/scripts/dependencies.sh && longread_umi_version_dump', +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2023a.eb b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2023a.eb new file mode 100644 index 00000000000..ce954f2edae --- /dev/null +++ b/easybuild/easyconfigs/l/longread_umi/longread_umi-0.3.2-foss-2023a.eb @@ -0,0 +1,82 @@ +easyblock = 'Bundle' + +name = 'longread_umi' +version = '0.3.2' + +homepage = 'https://github.com/SorenKarst/longread_umi' +description = "A collection of scripts for processing longread UMI data." +github_account = 'SorenKarst' + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('cutadapt', '4.9'), + ('BCFtools', '1.18'), + ('BWA', '0.7.17'), + ('Filtlong', '0.2.1'), + ('gawk', '5.3.0'), + ('medaka', '1.11.3'), + ('minimap2', '2.26'), + ('parallel', '20230722'), + ('Pysam', '0.22.0'), + ('Racon', '1.5.0'), + ('SAMtools', '1.18'), + ('seqtk', '1.4'), + ('VSEARCH', '2.25.0'), +] + +components = [ + (name, version, { + 'easyblock': 'Tarball', + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['62b8e156c00c0ec10fa8eae1cde5430922462f167fc537417ce0b47cd50a20cb'], + 'start_dir': '%(name)s-%(version)s', + }), + # PythonPackage executes Bundle-level postinstallcmds for some reason, + # which rely on both components being installed, so Porechop is installed second + ('Porechop', '0.2.4', { + 'easyblock': 'PythonPackage', + 'source_urls': ['https://github.com/rrwick/Porechop/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299'], + 'start_dir': '%(name)s-%(version)s', + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + }), +] + +# Adapt the built-in tool check but make it fail on error, replace usearch with vsearch and use our version +local_deps_patch = ( + "sed -i " + "-e '2s;^;set -e ;' " + "-e 's/USEARCH=usearch/USEARCH=vsearch/' " + "-e 's;$(git --git-dir ${LONGREAD_UMI_PATH}/.git describe --tag);%(version)s;' " + "%(installdir)s/scripts/dependencies.sh" +) + +postinstallcmds = [ + 'find %(installdir)s -name "*.sh" -exec chmod +x {} \\;', + 'ln -s %(installdir)s/longread_umi.sh %(installdir)s/bin/longread_umi', + # Part of the installation process; longread uses porechop with custom adapters + 'cp %(installdir)s/scripts/adapters.py %(installdir)s/lib/python%(pyshortver)s/site-packages/porechop/', + local_deps_patch, +] + +sanity_check_paths = { + 'files': ['bin/longread_umi'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'longread_umi -h | grep qc_pipeline', + 'longread_umi nanopore_pipeline -h | grep rrna_operon', + 'source %(installdir)s/scripts/dependencies.sh && longread_umi_version_dump', +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..0c353f67d45 --- /dev/null +++ b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022a-R-4.2.1.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': '2022a'} + +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.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..b7edbb8f8a1 --- /dev/null +++ b/easybuild/easyconfigs/l/loomR/loomR-0.2.0-20180425-foss-2022b-R-4.2.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': '2022b'} + +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.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' 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-2021a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021a.eb new file mode 100644 index 00000000000..23c77d3a6f8 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021a.eb @@ -0,0 +1,38 @@ +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('numba', '0.53.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.14', { + 'checksums': ['01b7aeca60e643db34875c9823ea6775742adafe5bb406bca14367743ef81800'], + }), + (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/l/loompy/loompy-3.0.7-foss-2021b.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021b.eb new file mode 100644 index 00000000000..dd391a5116b --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2021b.eb @@ -0,0 +1,38 @@ +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.14', { + 'checksums': ['01b7aeca60e643db34875c9823ea6775742adafe5bb406bca14367743ef81800'], + }), + (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/l/loompy/loompy-3.0.7-foss-2022a.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2022a.eb new file mode 100644 index 00000000000..a718a90a243 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-foss-2022a.eb @@ -0,0 +1,39 @@ +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('numba', '0.56.4'), +] + +use_pip = True + +exts_list = [ + ('numpy-groupies', '0.9.20', { + 'sources': ['numpy_groupies-%(version)s.tar.gz'], + 'checksums': ['923a382d6bc6876384b58a9c0503b05b9d36a660f329695c2d33e4f93fcbbe3d'], + }), + (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/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/l/loompy/loompy-3.0.7-intel-2021b.eb b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-intel-2021b.eb new file mode 100644 index 00000000000..2abaf74da36 --- /dev/null +++ b/easybuild/easyconfigs/l/loompy/loompy-3.0.7-intel-2021b.eb @@ -0,0 +1,38 @@ +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': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.14', { + 'checksums': ['01b7aeca60e643db34875c9823ea6775742adafe5bb406bca14367743ef81800'], + }), + (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/l/lpsolve/lpsolve-5.5.2.11-GCC-10.3.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-10.3.0.eb new file mode 100644 index 00000000000..98f6a9defb2 --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb new file mode 100644 index 00000000000..80add32f2fd --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.3.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.3.0.eb new file mode 100644 index 00000000000..7860f855c6d --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.2.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.2.0.eb new file mode 100644 index 00000000000..c52a27a7d3b --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.3.0.eb b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.3.0.eb new file mode 100644 index 00000000000..7681d5bf0a9 --- /dev/null +++ b/easybuild/easyconfigs/l/lpsolve/lpsolve-5.5.2.11-GCC-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'lpsolve' +version = '5.5.2.11' + +homepage = 'https://sourceforge.net/projects/lpsolve/' +description = "Mixed Integer Linear Programming (MILP) solver" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['lp_solve_%(version)s_source.tar.gz'] +checksums = ['6d4abff5cc6aaa933ae8e6c17a226df0fc0b671c438f69715d41d09fe81f902f'] + +local_lpsolve_ver = '%(version_major)s%(version_minor)s' +start_dir = 'lpsolve%s' % local_lpsolve_ver + +local_comp_cmd = 'sed -i "s/^c=.*/c=\'$CC\'/g" ccc && sed -i "s/^opts=.*/opts=\'$CFLAGS\'/g" ccc && ' +local_comp_cmd += "sh ccc" +cmds_map = [('.*', local_comp_cmd)] + +local_lpsolve_libname = 'liblpsolve%s' % local_lpsolve_ver +files_to_copy = [ + (['bin/ux64/%s.a' % local_lpsolve_libname, 'bin/ux64/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], 'lib'), + (['../lp*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/%s.a' % local_lpsolve_libname, 'lib/%s.%s' % (local_lpsolve_libname, SHLIB_EXT)], + 'dirs': ['include'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lrcalc/lrcalc-2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/lrcalc/lrcalc-2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..aa14572bef6 --- /dev/null +++ b/easybuild/easyconfigs/l/lrcalc/lrcalc-2.1-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'lrcalc' +version = '2.1' + +homepage = 'https://sites.math.rutgers.edu/~asbuch/lrcalc/' +description = """The Littlewood-Richardson Calculator is a program + designed to compute Littlewood-Richardson coefficients.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://math.rutgers.edu/~asbuch/lrcalc/'] +sources = [SOURCE_TAR_GZ] +checksums = ['996ac00e6ea8321ef09b34478f5379f613933c3254aeba624b6419b8afa5df57'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': [ + 'bin/lrcalc', + 'lib/liblrcalc.%s' % SHLIB_EXT, + 'include/lrcalc/ivector.h', + ], + 'dirs': [] +} + +sanity_check_commands = ["lrcalc 2>&1 | grep '^Usage:'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb new file mode 100644 index 00000000000..e9c03887918 --- /dev/null +++ b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'lrslib' +version = '7.2' + +homepage = 'http://cgm.cs.mcgill.ca/~avis/C/lrs.html' +description = """lrslib is a self-contained ANSI C implementation of the +reverse search algorithm for vertex enumeration/convex hull problems""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/'] +sources = ['lrslib-0%(version_major)s%(version_minor)s.tar.gz'] +patches = ['lrslib-%(version)s-use-EB-values.patch'] +checksums = [ + {'lrslib-072.tar.gz': 'fc48754a1ded1d8445d40ecfbe3546e4f27d53aaee95dc2c8c0c79fb9cd532f0'}, + {'lrslib-7.2-use-EB-values.patch': '16b0b4d987a751a45c7961bb7e0cb12aac50410a562dab3299335186456ab2ad'}, +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +skipsteps = ['configure'] + +# Default built plus mplrs +buildopts = 'lrs lrsgmp mplrs CFLAGS="$CFLAGS"' + +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['lrs', 'lrsnash']] + + ['include/lrslib/lrs%s.h' % h for h in ['driver', 'gmp', 'lib', 'long', 'mp', 'restart']] + + ['lib/liblrs.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["lrsnash --help 2>&1 | grep 'usage.*lrsnash'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb new file mode 100644 index 00000000000..ba6714df325 --- /dev/null +++ b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-gompi-2023b.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'lrslib' +version = '7.2' + +homepage = 'http://cgm.cs.mcgill.ca/~avis/C/lrs.html' +description = """lrslib is a self-contained ANSI C implementation of the +reverse search algorithm for vertex enumeration/convex hull problems""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/'] +sources = ['lrslib-0%(version_major)s%(version_minor)s.tar.gz'] +patches = ['lrslib-%(version)s-use-EB-values.patch'] +checksums = [ + {'lrslib-072.tar.gz': 'fc48754a1ded1d8445d40ecfbe3546e4f27d53aaee95dc2c8c0c79fb9cd532f0'}, + {'lrslib-7.2-use-EB-values.patch': '16b0b4d987a751a45c7961bb7e0cb12aac50410a562dab3299335186456ab2ad'}, +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +skipsteps = ['configure'] + +# Default built plus mplrs +buildopts = 'lrs lrsgmp mplrs CFLAGS="$CFLAGS"' + +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['lrs', 'lrsnash']] + + ['include/lrslib/lrs%s.h' % h for h in ['driver', 'gmp', 'lib', 'long', 'mp', 'restart']] + + ['lib/liblrs.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["lrsnash --help 2>&1 | grep 'usage.*lrsnash'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/l/lrslib/lrslib-7.2-use-EB-values.patch b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-use-EB-values.patch new file mode 100644 index 00000000000..c84ecf21b05 --- /dev/null +++ b/easybuild/easyconfigs/l/lrslib/lrslib-7.2-use-EB-values.patch @@ -0,0 +1,183 @@ +# Fix makefile to use EB environment +# Ward Poelmans, Alex Domingo (Vrije Universiteit Brussel) +# updated to version 7.2 by Miguel Dias Costa (National University of Singapore) +--- lrslib-072/makefile.orig 2023-11-06 13:50:57.098070000 +0800 ++++ lrslib-072/makefile 2023-11-06 13:58:17.056703000 +0800 +@@ -30,8 +30,8 @@ + #LIBDIR = /usr/lib + + #Kyoto machines usage +-INCLUDEDIR = /usr/local/include +-LIBDIR = /usr/local/lib ++#INCLUDEDIR = /usr/local/include ++#LIBDIR = /usr/local/lib + + CFLAGS ?= -O3 -Wall + #CFLAGS = -g -Wall +@@ -61,7 +61,7 @@ + MPLRSOBJ64=lrslong1-mplrs.o lrslib1-mplrs.o lrslibgmp-mplrs.o lrsgmp-mplrs.o lrsdriver-mplrs.o mplrs64.o + + lrs: ${LRSOBJ} +- $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} -o lrs ${LRSOBJ} -lgmp ++ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp + $(CC) -O3 hvref.c -o hvref + ln -s -f lrs redund + +@@ -71,7 +71,7 @@ + ln -s -f lrs redund + + lrs64: ${LRSOBJ64} +- $(CC) ${CFLAGS} -DMA -L${LIBDIR} -o lrs ${LRSOBJ64} -lgmp ++ $(CC) ${CFLAGS} -DMA $(LDFLAGS) -o lrs ${LRSOBJ64} -lgmp + + lrs.o: lrs.c + $(CC) ${CFLAGS} -DMA ${BITS} -c -o lrs.o lrs.c +@@ -92,22 +92,22 @@ + $(CC) ${CFLAGS} -DMA -DSAFE ${BITS} -DLRSLONG -c -o lrslib2.o lrslib.c + + lrslibgmp.o: lrslib.c lrslib.h +- $(CC) ${CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o lrslibgmp.o lrslib.c ++ $(CC) ${CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o lrslibgmp.o lrslib.c + + lrslibmp.o: lrslib.c lrslib.h + $(CC) ${CFLAGS} -DMA -DMP -c -o lrslibmp.o lrslib.c + + lrsgmp.o: lrsgmp.c lrsgmp.h +- $(CC) ${CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o lrsgmp.o lrsgmp.c ++ $(CC) ${CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o lrsgmp.o lrsgmp.c + + lrsmp.o: lrsmp.c lrsmp.h + $(CC) ${CFLAGS} -DMA -DMP -c -o lrsmp.o lrsmp.c + + inedel: inedel.c lrsgmp.h lrsgmp.c +- $(CC) ${CFLAGS} -I${INCLUDEDIR} -L${LIBDIR} -DGMP -o inedel inedel.c lrsgmp.c -lgmp ++ $(CC) ${CFLAGS} $(CPPFLAGS) $(LDFLAGS) -DGMP -o inedel inedel.c lrsgmp.c -lgmp + + checkpred: checkpred.c lrsgmp.h lrsgmp.c +- $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} -DGMP -o checkpred checkpred.c lrsgmp.c -lgmp ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DGMP -o checkpred checkpred.c lrsgmp.c -lgmp + + lrslong1-mplrs.o: lrslong.c lrslong.h + $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE -DLRSLONG -DPLRS -c -o lrslong1-mplrs.o lrslong.c +@@ -122,28 +122,28 @@ + $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE ${BITS} -DLRSLONG -DPLRS -c -o lrslib2-mplrs.o lrslib.c + + lrslibgmp-mplrs.o: lrslib.c lrslib.h +- $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS -I${INCLUDEDIR} -c -o lrslibgmp-mplrs.o lrslib.c ++ $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS $(CPPFLAGS) -c -o lrslibgmp-mplrs.o lrslib.c + + lrsgmp-mplrs.o: lrsgmp.c lrsgmp.h +- $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS -I${INCLUDEDIR} -c -o lrsgmp-mplrs.o lrsgmp.c ++ $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS $(CPPFLAGS) -c -o lrsgmp-mplrs.o lrsgmp.c + + lrsdriver-mplrs.o: lrsdriver.c lrsdriver.h lrslib.h + $(mpicxx) $(CFLAGS) -c -o lrsdriver-mplrs.o lrsdriver.c + + mplrs.o: mplrs.c mplrs.h lrslib.h lrsgmp.h +- $(mpicxx) ${CFLAGS} -I${INCLUDEDIR} -DMA -DPLRS -DTIMES ${BITS} -DSIGNALS -D_WITH_GETLINE -c -o mplrs.o mplrs.c ++ $(mpicxx) ${CFLAGS} $(CPPFLAGS) -DMA -DPLRS -DTIMES ${BITS} -DSIGNALS -D_WITH_GETLINE -c -o mplrs.o mplrs.c + + mplrs64.o: mplrs.c mplrs.h lrslib.h lrsgmp.h +- $(mpicxx) ${CFLAGS} -I${INCLUDEDIR} -DMA -DPLRS -DTIMES -DSIGNALS -D_WITH_GETLINE -c -o mplrs64.o mplrs.c ++ $(mpicxx) ${CFLAGS} $(CPPFLAGS) -DMA -DPLRS -DTIMES -DSIGNALS -D_WITH_GETLINE -c -o mplrs64.o mplrs.c + + mplrs: ${MPLRSOBJ} mplrsgmp +- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} -L${LIBDIR} -o mplrs ${MPLRSOBJ} -lgmp ++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} $(LDFLAGS) -o mplrs ${MPLRSOBJ} -lgmp + + mplrs64: ${MPLRSOBJ64} mplrsgmp +- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA -L${LIBDIR} -o mplrs ${MPLRSOBJ64} -lgmp ++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA $(LDFLAGS) -o mplrs ${MPLRSOBJ64} -lgmp + + mplrsgmp: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c +- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP -I${INCLUDEDIR} mplrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -o mplrsgmp -lgmp ++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP $(CPPFLAGS) mplrs.c lrslib.c lrsgmp.c lrsdriver.c $(LDFLAGS) -o mplrsgmp -lgmp + + mplrs1: mplrs.c mplrs.h lrslib.c lrslib.h lrslong.c lrslong.h lrsdriver.h lrsdriver.c + $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DSAFE -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs1 +@@ -157,17 +157,17 @@ + singlemplrs: mplrsgmp mplrs1 mplrs2 + + flint: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h +- @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; } +- $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint -o lrsflint -lgmp +-# $(CC) -O3 -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp ++# @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; } ++ $(CC) -O3 -DFLINT lrs.c lrslib.c lrsgmp.c lrsdriver.c -Wl,-lflint -o lrsflint -lgmp ++# $(CC) -O3 -DFLINT $(CPPFLAGS) lrs.c lrsdriver.c lrslib.c lrsgmp.c $(LDFLAGS) -lflint -o lrsflint -lgmp + + mplrsflint: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.c lrsdriver.h +- ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp ++ ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -DPLRS -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c $(LDFLAGS) -lflint -lgmp + + #comment out lines with ${BITS} if __int128 not supported by your C compiler + + lrsgmp: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c +- $(CC) ${CFLAGS} -DGMP -I${INCLUDEDIR} -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -lgmp ++ $(CC) ${CFLAGS} -DGMP $(CPPFLAGS) -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c $(LDFLAGS) -lgmp + ln -s -f lrsgmp redundgmp + + single: lrs.c lrslong.c lrslong.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c +@@ -188,23 +188,23 @@ + $(CC) -O3 -o 2nash 2nash.c + + demo: lpdemo1.c lrslib.c lrsdriver.c lrslib.h lrsgmp.c lrsgmp.h +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP + + lrsnash: lrsnash.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP + + alllrsnash: lrsnash.c nashdemo.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrslong.h lrsdriver.h lrsdriver.c +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS} +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS} ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP + $(CC) -O3 -DMP -o setupnash setupnash.c lrslib.c lrsdriver.c lrsmp.c + $(CC) -O3 -DMP -o setupnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o 2nash 2nash.c ++ $(CC) -O3 $(CPPFLAGS) $(LDFLAGS) -o 2nash 2nash.c + cp lrsnashgmp lrsnash + + ###################################################################### +@@ -248,12 +248,12 @@ + + + lrsnash-shared: ${SHLINK} lrsnash.c +- $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} -o $@ -L . -llrs -lgmp ++ $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c $(CPPFLAGS) -o $@ -L . -llrs -lgmp + + # driver object files + + lrs-shared.o: lrs.c +- $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} -c -o $@ lrs.c ++ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -c -o $@ lrs.c + + # build object files for the shared library + +@@ -270,10 +270,10 @@ + $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DSAFE ${BITS} -DLRSLONG -c -o $@ lrslong.c + + lrslibgmp-shr.o: lrslib.c lrslib.h +- $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o $@ lrslib.c ++ $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o $@ lrslib.c + + lrsgmp-shr.o: lrsgmp.c lrsgmp.h +- $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o $@ lrsgmp.c ++ $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o $@ lrsgmp.c + + lrslib2-shr.o: lrslib.c lrslib.h + $(CC) ${CFLAGS} ${SHLIB_CFLAGS} -DMA -DSAFE ${BITS} -DLRSLONG -c -o $@ lrslib.c diff --git a/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.3-gompi-2020b.eb b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.3-gompi-2020b.eb new file mode 100644 index 00000000000..10d0197ebdb --- /dev/null +++ b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.3-gompi-2020b.eb @@ -0,0 +1,36 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'lwgrp' +version = '1.0.3' + +homepage = 'https://github.com/LLNL/lwgrp' +description = """The light-weight group library defines data structures and collective operations to +group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators +when the overhead of communicator creation is too costly. For example, certain sorting algorithms +recursively divide processes into subgroups as the sort algorithm progresses. These groups may be +different with each invocation, so that it is inefficient to create and destroy communicators during +the sort routine.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['650ab50d53f9af94d1c0dc0f8feb17b6692a8e1f01f9b6effafbb8a822f10eb7'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['share/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2022a.eb b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2022a.eb new file mode 100644 index 00000000000..c288e0a47a1 --- /dev/null +++ b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2022a.eb @@ -0,0 +1,36 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'lwgrp' +version = '1.0.5' + +homepage = 'https://github.com/LLNL/lwgrp' +description = """The light-weight group library defines data structures and collective operations to +group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators +when the overhead of communicator creation is too costly. For example, certain sorting algorithms +recursively divide processes into subgroups as the sort algorithm progresses. These groups may be +different with each invocation, so that it is inefficient to create and destroy communicators during +the sort routine.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1fac5fad3aed9f0a83026c19f438a33f9807d69990284e452b646b44a95fe72b'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['share/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2023a.eb b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2023a.eb new file mode 100644 index 00000000000..43fd08756cc --- /dev/null +++ b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.5-gompi-2023a.eb @@ -0,0 +1,36 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'lwgrp' +version = '1.0.5' + +homepage = 'https://github.com/LLNL/lwgrp' +description = """The light-weight group library defines data structures and collective operations to +group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators +when the overhead of communicator creation is too costly. For example, certain sorting algorithms +recursively divide processes into subgroups as the sort algorithm progresses. These groups may be +different with each invocation, so that it is inefficient to create and destroy communicators during +the sort routine.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1fac5fad3aed9f0a83026c19f438a33f9807d69990284e452b646b44a95fe72b'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['share/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.6-gompi-2024a.eb b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.6-gompi-2024a.eb new file mode 100644 index 00000000000..c36ee58b273 --- /dev/null +++ b/easybuild/easyconfigs/l/lwgrp/lwgrp-1.0.6-gompi-2024a.eb @@ -0,0 +1,36 @@ +# +# Author: Robert Mijakovic +# +easyblock = 'ConfigureMake' + +name = 'lwgrp' +version = '1.0.6' + +homepage = 'https://github.com/LLNL/lwgrp' +description = """The light-weight group library defines data structures and collective operations to +group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators +when the overhead of communicator creation is too costly. For example, certain sorting algorithms +recursively divide processes into subgroups as the sort algorithm progresses. These groups may be +different with each invocation, so that it is inefficient to create and destroy communicators during +the sort routine.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} + +github_account = 'LLNL' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['108e622441028b7f88223244c9117d5de18a91fd7c246bfa48802b5c585557d0'] + +builddependencies = [ + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/lib%%(name)s.%s' % SHLIB_EXT], + 'dirs': ['share/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9a20f6dd000 --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-10.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.6.3' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fe506e065cb --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.6.3-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.6.3' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.9.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.9.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b66852ade85 --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.9.1-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.9.1' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('libxml2', '2.9.13'), + ('libxslt', '1.1.34'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..20323870198 --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.9.2' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('libxml2', '2.10.3'), + ('libxslt', '1.1.37'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8584189eb55 --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.9.2-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.9.2' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('libxml2', '2.11.4'), + ('libxslt', '1.1.38'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-4.9.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/lxml/lxml-4.9.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b462b36a685 --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-4.9.3-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '4.9.3' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('libxml2', '2.11.5'), + ('libxslt', '1.1.38'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lxml/lxml-5.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/lxml/lxml-5.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..0af2dcbed3f --- /dev/null +++ b/easybuild/easyconfigs/l/lxml/lxml-5.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'lxml' +version = '5.3.0' + +homepage = 'https://lxml.de/' +description = """The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4e109ca30d1edec1ac60cdbe341905dc3b8f55b16855e03a54aaf59e51ec8c6f'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('libxml2', '2.12.7'), + ('libxslt', '1.1.42'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..09b7377077b --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.3' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1'] + +builddependencies = [('binutils', '2.37')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e115c68f16b --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.3-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.3' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1'] + +builddependencies = [('binutils', '2.38')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6f3f81b768d --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.39')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1386e6dc615 --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c3420393635 --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.40')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8f4914fbdde --- /dev/null +++ b/easybuild/easyconfigs/l/lz4/lz4-1.9.4-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'lz4' +version = '1.9.4' + +homepage = 'https://lz4.github.io/lz4/' +description = """LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. + It features an extremely fast decoder, with speed in multiple GB/s per core.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b'] + +builddependencies = [('binutils', '2.42')] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +runtest = 'check' + +sanity_check_paths = { + 'files': ["bin/lz4", "lib/liblz4.%s" % SHLIB_EXT, "include/lz4.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb b/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..4cd7c6df9b1 --- /dev/null +++ b/easybuild/easyconfigs/m/M1QN3/M1QN3-3.3-GCC-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CmdCp' + +name = 'M1QN3' +version = '3.3' + +homepage = 'https://who.rocq.inria.fr/Jean-Charles.Gilbert/modulopt/optimization-routines/m1qn3/m1qn3.html' +description = "A solver of large-scale unconstrained minimization problems" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['http://www-rocq.inria.fr/~gilbert/modulopt/optimization-routines/m1qn3/'] +sources = ['m1qn3-%(version)s-distrib.tgz'] +checksums = ['27c6a8f56a4080420c25ffb0743e3dece7c57cc1740776936f220b4ed28b89d9'] + +local_install_cmds = "$FC $FFLAGS -c src/m1qn3.f -o m1qn3.o && ar -r libm1qn3.a m1qn3.o && " +local_install_cmds += "$FC $FFLAGS -c blas/ddot.f -o ddot.o && ar -r libddot.a ddot.o" + +cmds_map = [('.*', local_install_cmds)] + +files_to_copy = [(['libm1qn3.a', 'libddot.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libddot.a', 'lib/libm1qn3.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb new file mode 100644 index 00000000000..65f7885f206 --- /dev/null +++ b/easybuild/easyconfigs/m/M3GNet/M3GNet-0.2.4-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'M3GNet' +version = '0.2.4' + +homepage = 'https://materialsvirtuallab.github.io/m3gnet/' +description = """" +M3GNet is a new materials graph neural network architecture that incorporates +3-body interactions. A key difference with prior materials graph +implementations such as MEGNet is the addition of the coordinates for atoms and +the 3×3 lattice matrix in crystals, which are necessary for obtaining tensorial +quantities such as forces and stresses via auto-differentiation. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('ASE', '3.22.1'), + ('TensorFlow', '2.11.0'), + ('pymatgen', '2023.3.10'), + ('h5py', '3.7.0'), # optional, for model saving +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['a7f82b06f48d8fb81f91fb88484177005066cdf708902bf749afaa7f8d117ce8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/m3g'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/m3gnet'], +} + +sanity_check_commands = ['m3g --help'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb index fe7ed2be661..d198d46a308 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.2-binutils-2.25.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb index 0f3443b3e7f..da1de09fb7b 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-4.9.3-binutils-2.25.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb index 23ce8933d1c..085515a2705 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCC-5.1.0-binutils-2.25.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb index 7886d1c9ada..4fc80e53b4a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.2.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb index 7b223299334..0a707b51b00 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.3.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.4.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.4.eb index 45af326f45d..5f4d20ef856 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.4.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-4.9.4.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.25', '', True)] +builddependencies = [('binutils', '2.25', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb index e2473bcff4d..c3716a65a86 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.3.0.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb index d7aa39079a3..fe316e7657a 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-5.4.0.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.1.0.eb index 8f7d944e2e1..a8faaec3954 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.1.0.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCCcore -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.2.0.eb index 70f9de4b636..388f76f2753 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.17-GCCcore-6.2.0.eb @@ -19,7 +19,7 @@ checksums = [ ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb index 9bd978b3ec9..23e948da86e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.1.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '10.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.34', '', True)] +builddependencies = [('binutils', '2.34', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb index 50594f87ece..a8d9bfb5194 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.2.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.35', '', True)] +builddependencies = [('binutils', '2.35', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb index e7dee0ddd89..70575029ae0 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-10.3.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.36.1', '', True)] +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb index e63d5912066..63f864a0d85 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-11.1.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '11.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.36.1', '', True)] +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb index 13063f1b7f6..43408ff8fac 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.3.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '5.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb index 362ecb6b5e5..7c7bb607dc6 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.4.0.eb @@ -13,13 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '5.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] + # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb index 7d867eee4d9..1c0ae73d6d8 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-5.5.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '5.5.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb index 19fb0b8badd..9b67783cc40 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.3.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '6.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.27', '', True)] +builddependencies = [('binutils', '2.27', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb index 33da257c441..5bb8c417674 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-6.4.0.eb @@ -16,15 +16,21 @@ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain builddependencies = [ - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb index 4f300fc47cf..43b5a997994 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.1.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '7.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.28', '', True)] +builddependencies = [('binutils', '2.28', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb index f4ec9a042e1..c6ea670638e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.2.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '7.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.29', '', True)] +builddependencies = [('binutils', '2.29', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb index 709134121bf..0fd28aca84f 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.3.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.30', '', True)] +builddependencies = [('binutils', '2.30', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb index 89a858a24f8..3957e4980e2 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-7.4.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '7.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb index a92a076f9bc..3ae81595fa9 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.1.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '8.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-%(version)s_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.30', '', True)] +builddependencies = [('binutils', '2.30', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb index 3f8004316c4..a646315f4d9 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.2.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb index 0d5a496fbf0..bba6ee5bb81 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.3.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb index c52483a837d..84ace55818b 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-8.4.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '8.4.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb index 7cb0d843963..abe9dbefd21 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.1.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '9.1.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb index 2d1822b6404..2db382b9321 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.2.0.eb @@ -13,14 +13,19 @@ toolchain = {'name': 'GCCcore', 'version': '9.2.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb index 5e4d0740ee7..e0dffd89a28 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-9.3.0.eb @@ -12,14 +12,20 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] + +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.34', '', True)] +builddependencies = [('binutils', '2.34', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb index 72020d96254..6df13418cc3 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18-GCCcore-system.eb @@ -15,10 +15,15 @@ toolchainopts = {'optarch': False} sources = [SOURCELOWER_TAR_GZ] source_urls = [GNU_SOURCE] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18.eb b/easybuild/easyconfigs/m/M4/M4-1.4.18.eb index 79f53be742f..d181fe31631 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.18.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18.eb @@ -17,10 +17,15 @@ toolchain = SYSTEM source_urls = [GNU_SOURCE] sources = [SOURCELOWER_TAR_GZ] -patches = ['M4-1.4.18_glibc_2.28.patch'] +patches = [ + 'M4-1.4.18_glibc_2.28.patch', + 'M4-1.4.18_glibc_2.34.patch', +] + checksums = [ 'ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab', # m4-1.4.18.tar.gz 'a613c18f00b1a3caa46ae4b8b849a0f4f71095ad860f4fcd6c6bb4ae211681fa', # M4-1.4.18_glibc_2.28.patch + '75f0ccc981bf313f5eb4e203a9f8b1ef9e633d840064587405cf360107d4915a', # M4-1.4.18_glibc_2.34.patch ] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch b/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch new file mode 100644 index 00000000000..9935b43323a --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.18_glibc_2.34.patch @@ -0,0 +1,106 @@ +c-stack: stop using SIGSTKSZ + +It’s been proposed to stop making SIGSTKSZ an integer constant: +https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html +Also, using SIGSTKSZ in #if did not conform to current POSIX. +Also, avoiding SIGSTKSZ makes the code simpler and easier to grok. +* lib/c-stack.c (SIGSTKSZ): Remove. +(alternate_signal_stack): Now a 64 KiB array, for simplicity. +All uses changed. + +[Retrieved (and backported) from: +https://git.savannah.gnu.org/cgit/gnulib.git/patch/?id=f9e2b20a12a230efa30f1d479563ae07d276a94b] +Signed-off-by: Fabrice Fontaine + +diff -Nura m4-1.4.18.orig/lib/c-stack.c m4-1.4.18/lib/c-stack.c +--- m4-1.4.18.orig/lib/c-stack.c 2021-04-11 19:12:14.086494029 +0200 ++++ m4-1.4.18/lib/c-stack.c 2021-04-11 19:48:46.316862760 +0200 +@@ -50,15 +50,16 @@ + #if ! HAVE_STACK_T && ! defined stack_t + typedef struct sigaltstack stack_t; + #endif +-#ifndef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384 +-/* libsigsegv 2.6 through 2.8 have a bug where some architectures use +- more than the Linux default of an 8k alternate stack when deciding +- if a fault was caused by stack overflow. */ +-# undef SIGSTKSZ +-# define SIGSTKSZ 16384 +-#endif ++ ++/* Storage for the alternate signal stack. ++ 64 KiB is not too large for Gnulib-using apps, and is large enough ++ for all known platforms. Smaller sizes may run into trouble. ++ For example, libsigsegv 2.6 through 2.8 have a bug where some ++ architectures use more than the Linux default of an 8 KiB alternate ++ stack when deciding if a fault was caused by stack overflow. */ ++static max_align_t alternate_signal_stack[(64 * 1024 ++ + sizeof (max_align_t) - 1) ++ / sizeof (max_align_t)]; + + #include + #include +@@ -128,19 +129,6 @@ + #if (HAVE_SIGALTSTACK && HAVE_DECL_SIGALTSTACK \ + && HAVE_STACK_OVERFLOW_HANDLING) || HAVE_LIBSIGSEGV + +-/* Storage for the alternate signal stack. */ +-static union +-{ +- char buffer[SIGSTKSZ]; +- +- /* These other members are for proper alignment. There's no +- standard way to guarantee stack alignment, but this seems enough +- in practice. */ +- long double ld; +- long l; +- void *p; +-} alternate_signal_stack; +- + static void + null_action (int signo __attribute__ ((unused))) + { +@@ -205,8 +193,8 @@ + + /* Always install the overflow handler. */ + if (stackoverflow_install_handler (overflow_handler, +- alternate_signal_stack.buffer, +- sizeof alternate_signal_stack.buffer)) ++ alternate_signal_stack, ++ sizeof alternate_signal_stack)) + { + errno = ENOTSUP; + return -1; +@@ -279,14 +267,14 @@ + stack_t st; + struct sigaction act; + st.ss_flags = 0; ++ st.ss_sp = alternate_signal_stack; ++ st.ss_size = sizeof alternate_signal_stack; + # if SIGALTSTACK_SS_REVERSED + /* Irix mistakenly treats ss_sp as the upper bound, rather than + lower bound, of the alternate stack. */ +- st.ss_sp = alternate_signal_stack.buffer + SIGSTKSZ - sizeof (void *); +- st.ss_size = sizeof alternate_signal_stack.buffer - sizeof (void *); +-# else +- st.ss_sp = alternate_signal_stack.buffer; +- st.ss_size = sizeof alternate_signal_stack.buffer; ++ st.ss_size -= sizeof (void *); ++ char *ss_sp = st.ss_sp; ++ st.ss_sp = ss_sp + st.ss_size; + # endif + r = sigaltstack (&st, NULL); + if (r != 0) +diff -Nura m4-1.4.18.orig/lib/c-stack.h m4-1.4.18/lib/c-stack.h +--- m4-1.4.18.orig/lib/c-stack.h 2021-04-11 19:12:14.098494042 +0200 ++++ m4-1.4.18/lib/c-stack.h 2021-04-11 19:17:42.138848378 +0200 +@@ -34,7 +34,7 @@ + A null ACTION acts like an action that does nothing. + + ACTION must be async-signal-safe. ACTION together with its callees +- must not require more than SIGSTKSZ bytes of stack space. Also, ++ must not require more than 64 KiB bytes of stack space. Also, + ACTION should not call longjmp, because this implementation does + not guarantee that it is safe to return to the original stack. + diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7818364f1ae --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.37', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..41a76cb08ba --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..cdfad17f02c --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-11.4.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..7e38a77b438 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4061197926d --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.39', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9bed7ee958f --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..5f8b9df7e74 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ce39b7d1490 --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7ea1e75f83c --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..95aa2b91a0a --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.2.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..c5c3ad83f3a --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-14.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.4.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.4.0.eb index 6e539babe63..e59b0628b8e 100644 --- a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.4.0.eb @@ -15,7 +15,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.36.1', '', True)] +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] # '-fgnu89-inline' is required to avoid linking errors with older glibc's, # see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 diff --git a/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.5.0.eb b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..e586ce4a60a --- /dev/null +++ b/easybuild/easyconfigs/m/M4/M4-1.4.19-GCCcore-9.5.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'M4' +version = '1.4.19' + +homepage = 'https://www.gnu.org/software/m4/m4.html' +description = """GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible + although it has some extensions (for example, handling more than 9 positional parameters to macros). + GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.""" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +# '-fgnu89-inline' is required to avoid linking errors with older glibc's, +# see https://github.com/easybuilders/easybuild-easyconfigs/issues/529 +configopts = "--enable-c++ CPPFLAGS=-fgnu89-inline" + +sanity_check_paths = { + 'files': ['bin/m4'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021a.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021a.eb new file mode 100644 index 00000000000..726420a15cc --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021a.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.7.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ad2ca69bdd02a8942a68aae23133289b5c16ba382bcbe20c39fabf3948929de5'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021b.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021b.eb new file mode 100644 index 00000000000..8e2adf6572b --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.7.1-foss-2021b.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.7.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ad2ca69bdd02a8942a68aae23133289b5c16ba382bcbe20c39fabf3948929de5'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022a.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022a.eb new file mode 100644 index 00000000000..6de5339c98c --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022a.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.9.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8d56bc37fb823fc6387d78138ce968405c54a0a8cd9776682705fd0983252d16'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022b.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022b.eb new file mode 100644 index 00000000000..56aa3d1ee7b --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2022b.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.9.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8d56bc37fb823fc6387d78138ce968405c54a0a8cd9776682705fd0983252d16'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb new file mode 100644 index 00000000000..4a84341d4bc --- /dev/null +++ b/easybuild/easyconfigs/m/MACS2/MACS2-2.2.9.1-foss-2023a.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonPackage' + +name = 'MACS2' +version = '2.2.9.1' + +homepage = 'https://github.com/taoliu/MACS' +description = "Model Based Analysis for ChIP-Seq data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8d56bc37fb823fc6387d78138ce968405c54a0a8cd9776682705fd0983252d16'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['bin/macs2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [('%(namelower)s --version')] + +options = {'modulename': name} + +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.0b2-foss-2022b.eb b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.0b2-foss-2022b.eb new file mode 100644 index 00000000000..16e37a09720 --- /dev/null +++ b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.0b2-foss-2022b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'MACS3' +version = '3.0.0b2' + +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'), + ('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': ['9b13fed49b93623ddde4b2d5106fc92a796111fa92148cafe7d8bd9a2e8aa43f'], + }), +] + +sanity_check_commands = ["macs3 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.eb new file mode 100644 index 00000000000..a8dcdeb068b --- /dev/null +++ b/easybuild/easyconfigs/m/MACS3/MACS3-3.0.1-foss-2022b.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': 'foss', 'version': '2022b'} + +builddependencies = [ + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.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, { + 'checksums': ['b07ca6e84a71aab29589f63e3dff96049aa6739e055a629125b31c788c877016'], + 'preinstallopts': "sed -i 's/scipy>=1.11.4/scipy>=1.10/g' setup.py && ", + 'modulename': 'MACS3', + }), +] + +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/MACSE/MACSE-2.06-Java-15.eb b/easybuild/easyconfigs/m/MACSE/MACSE-2.06-Java-15.eb new file mode 100644 index 00000000000..665ad19f703 --- /dev/null +++ b/easybuild/easyconfigs/m/MACSE/MACSE-2.06-Java-15.eb @@ -0,0 +1,30 @@ +easyblock = 'JAR' + +name = 'MACSE' +version = '2.06' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://bioweb.supagro.inra.fr/macse/index.php' +description = '''MACSE aligns coding NT sequences with respect to their AA translation while allowing NT sequences to +contain multiple frameshifts and/or stop codons. MACSE is hence the first automatic solution to align protein-coding +gene datasets containing non-functional sequences (pseudogenes) without disrupting the underlying codon structure.''' + +toolchain = SYSTEM + +local_jarname = '%(namelower)s_v%(version)s.jar' + +source_urls = ['https://bioweb.supagro.inra.fr/macse/releases/'] +sources = [local_jarname] +checksums = ['e4f9f0dd443a7147d0f010e9ecd6940aa80f9ec68c687f8ba134209ac1e33398'] + +dependencies = [('Java', '15')] + +modloadmsg = 'To execute %(name)s run: java -jar $EBROOT%(name)s/' + local_jarname + '\n' + +sanity_check_commands = ['java -jar $EBROOTMACSE/' + local_jarname + ' -v'] +sanity_check_paths = { + 'files': [local_jarname], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.475-GCC-10.2.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.475-GCC-10.2.0-with-extensions.eb new file mode 100644 index 00000000000..70eb55dda67 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.475-GCC-10.2.0-with-extensions.eb @@ -0,0 +1,48 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.475' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['bb6973ae089ea18cfbd3861a5b9d2c8b7e1543a1fdc78ac2d7cd8dbe3443f319'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.487-gompi-2021a-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.487-gompi-2021a-with-extensions.eb new file mode 100644 index 00000000000..a955aa928a7 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.487-gompi-2021a-with-extensions.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.487' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <~200 sequences), FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['ea05f55e51d980925ce00b2289948ccd2a3ddd0397ebd60feaddc41ddd5d8ef1'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), + ('%s MPI' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/MPI', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft'] + ['libexec/mafft/%s' % x for x in [ + 'mxscarnamod', # installed by MAFFT Extensions + 'mpiscript', 'nodepair_mpi', # installed by MAFFT MPI + ]], + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +modextravars = {'MAFFT_N_THREADS_PER_PROCESS': '1'} +# MAFFT MPI requires other environment variables that depend on job resources +# More information at at https://mafft.cbrc.jp/alignment/software/mpi.html + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-10.3.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-10.3.0-with-extensions.eb new file mode 100644 index 00000000000..46cb8eb8ea1 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-10.3.0-with-extensions.eb @@ -0,0 +1,48 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.490' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['d6eef33d8b9e282e20f9b25b6b6fb2757b9b6900e397ca621d56da86d9976541'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-11.2.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-11.2.0-with-extensions.eb new file mode 100644 index 00000000000..91fe105a25b --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-GCC-11.2.0-with-extensions.eb @@ -0,0 +1,48 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.490' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['d6eef33d8b9e282e20f9b25b6b6fb2757b9b6900e397ca621d56da86d9976541'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-gompi-2021b-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-gompi-2021b-with-extensions.eb new file mode 100644 index 00000000000..f55e168ddd9 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.490-gompi-2021b-with-extensions.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.490' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <~200 sequences), FFT-NS-2 (fast; for alignment of <~30,000 sequences), etc.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['d6eef33d8b9e282e20f9b25b6b6fb2757b9b6900e397ca621d56da86d9976541'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), + ('%s MPI' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/MPI', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft'] + ['libexec/mafft/%s' % x for x in [ + 'mxscarnamod', # installed by MAFFT Extensions + 'mpiscript', 'nodepair_mpi', # installed by MAFFT MPI + ]], + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +modextravars = {'MAFFT_N_THREADS_PER_PROCESS': '1'} +# MAFFT MPI requires other environment variables that depend on job resources +# More information at at https://mafft.cbrc.jp/alignment/software/mpi.html + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb new file mode 100644 index 00000000000..2f176031066 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-11.3.0-with-extensions.eb @@ -0,0 +1,48 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.505' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['f54a78670fcd9960233bcc3b3dd359f395a71c0ced45a7be1cfeae19950ce6ff'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-12.2.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-12.2.0-with-extensions.eb new file mode 100644 index 00000000000..d979ccc2f0a --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.505-GCC-12.2.0-with-extensions.eb @@ -0,0 +1,49 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) +# Thomas Eylenbosch (Gluo NV) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.505' +versionsuffix = '-with-extensions' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://mafft.cbrc.jp/alignment/software/'], + 'sources': ['mafft-%(version)s%(versionsuffix)s-src.tgz'], + 'checksums': ['f54a78670fcd9960233bcc3b3dd359f395a71c0ced45a7be1cfeae19950ce6ff'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/core', + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-%(version)s%(versionsuffix)s/extensions', + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAFFT/MAFFT-7.520-GCC-12.3.0-with-extensions.eb b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.520-GCC-12.3.0-with-extensions.eb new file mode 100644 index 00000000000..d49ae38d3b5 --- /dev/null +++ b/easybuild/easyconfigs/m/MAFFT/MAFFT-7.520-GCC-12.3.0-with-extensions.eb @@ -0,0 +1,50 @@ +# 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) +# 7.305 modified by: +# Adam Huffman (The Francis Crick Institute) +# 7.453 switch to Bundle by: +# Alex Domingo (Vrije Universiteit Brussel) +# Thomas Eylenbosch (Gluo NV) + +easyblock = 'Bundle' + +name = 'MAFFT' +version = '7.520' +versionsuffix = '-with-extensions' +local_commit = '52b59f064c600da59bca8233736418fb8bb35d5e' + +homepage = 'https://mafft.cbrc.jp/alignment/software/source.html' +description = """MAFFT is a multiple sequence alignment program for unix-like operating systems. +It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment +of <∼200 sequences), FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://gitlab.com/sysimm/mafft/-/archive/v%(version)s/'], + 'sources': ['mafft-%(version)s.tar.gz'], + 'checksums': ['4a35a2a34e05313a85a4327d048704ae3ba7805ba85cae929e4978e10ad16cf8'], + 'skipsteps': ['configure'], + 'installopts': 'PREFIX=%(installdir)s', +} + +components = [ + (name, version, { + 'start_dir': 'mafft-v%%(version)s-%s/core' % local_commit, + }), + ('%s Extensions' % name, version, { + 'start_dir': 'mafft-v%%(version)s-%s/extensions' % local_commit, + }), +] + +sanity_check_paths = { + 'files': ['bin/mafft', 'libexec/mafft/mxscarnamod'], # mxscarnamod installed by MAFFT Extensions + 'dirs': ['libexec/mafft'], +} + +sanity_check_commands = ['mafft --version'] + +modextrapaths = {'MAFFT_BINARIES': 'libexec/mafft'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGIC/MAGIC-3.0.0-foss-2023a.eb b/easybuild/easyconfigs/m/MAGIC/MAGIC-3.0.0-foss-2023a.eb new file mode 100644 index 00000000000..9e22b652a23 --- /dev/null +++ b/easybuild/easyconfigs/m/MAGIC/MAGIC-3.0.0-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'MAGIC' +version = '3.0.0' + +homepage = 'https://krishnaswamylab.org/projects/magic' +description = """Markov Affinity-based Graph Imputation of Cells (MAGIC) is an algorithm for denoising high-dimensional + data most commonly applied to single-cell RNA sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), +] + +use_pip = True + +exts_list = [ + ('wrapt', '1.16.0', { + 'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'], + }), + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('PyGSP', '0.5.1', { + 'checksums': ['4874ad88793d622d4f578b40c6617a99b1f02bc6c6c4077f0e48cd71c7275800'], + }), + ('graphtools', '1.5.3', { + 'checksums': ['b35ae2974d24c507fe01b110d10b1d8c949e20bc49ff9d7d04f94849f9795907'], + }), + ('scprep', '1.2.3', { + 'checksums': ['cc4ba4cedbba256935298f2ba6a973b4e74ea8cb9ad2632b693b6d4e6ab77c3f'], + }), + ('tasklogger', '1.2.0', { + 'checksums': ['b0a390dbe1d4c6f7465e58ee457b5bb381657b5ede3a85bcf45199cb56ac01a4'], + }), + ('magic-impute', version, { + 'modulename': 'magic', + 'checksums': ['0c3f6d17baf586c412c174709a19164f04e693fd1933a8c0399ae5c5bf1cfd7a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb new file mode 100644 index 00000000000..66f3e941e15 --- /dev/null +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07b-foss-2018b.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'MAGMA-gene-analysis' +version = '1.07b' + +homepage = 'https://ctg.cncr.nl/software/magma' +description = """MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. +It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous +GWAS or meta-analysis.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = [ + 'https://ctg.cncr.nl/software/MAGMA/prog/', + 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', +] +sources = ['magma_v%(version)s_source.zip'] +checksums = ['b8f6c9c5b81cedec51b2e3daafe2519f02423a7d18321f5a91534461d40538f0'] + +buildopts = ' CXX=${CXX}' + +files_to_copy = [ + (['magma'], 'bin'), + (['manual_v%(version)s.pdf'], 'doc'), + 'CHANGELOG', + 'COPYRIGHT', +] + +sanity_check_paths = { + 'files': ['bin/magma'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb new file mode 100644 index 00000000000..37a03a2d22d --- /dev/null +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.07bb-GCC-8.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'MakeCp' + +name = 'MAGMA-gene-analysis' +version = '1.07bb' + +homepage = 'https://ctg.cncr.nl/software/magma' +description = """MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. +It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous +GWAS or meta-analysis.""" + +toolchain = {'name': 'GCC', 'version': '8.3.0'} + +source_urls = [ + 'https://ctg.cncr.nl/software/MAGMA/prog/', + 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', +] +sources = ['magma_v%(version)s_source.zip'] +checksums = ['c913b1bb03cb8cf78d55371128007d729a2439ad345d27b570b3ad598d3e1037'] + +buildopts = ' CXX=${CXX}' + +files_to_copy = [ + (['magma'], 'bin'), + (['manual_v%(version)s.pdf'], 'doc'), + 'CHANGELOG', + 'COPYRIGHT', +] + +sanity_check_paths = { + 'files': ['bin/magma'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb new file mode 100644 index 00000000000..c159f70ce0c --- /dev/null +++ b/easybuild/easyconfigs/m/MAGMA-gene-analysis/MAGMA-gene-analysis-1.09b-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'MAGMA-gene-analysis' +version = '1.09b' + +homepage = 'https://ctg.cncr.nl/software/magma' +description = """MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. +It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous +GWAS or meta-analysis.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + 'https://ctg.cncr.nl/software/MAGMA/prog/', + 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', +] +sources = ['magma_v%(version)s_source.zip'] +checksums = ['8af8673fa6c3cf60c2528a06783c20795d9daf4649481cd6e04feb68b91730e0'] + +buildopts = ' CXX=${CXX}' + +files_to_copy = [ + (['magma'], 'bin'), + (['manual_v%(version)s.pdf'], 'doc'), + 'CHANGELOG', + 'COPYRIGHT', +] + +sanity_check_commands = ['magma --version'] + +sanity_check_paths = { + 'files': ['bin/magma'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb b/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb deleted file mode 100644 index dee8470d10e..00000000000 --- a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07b-foss-2018b.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'MakeCp' - -name = 'MAGMA' -version = '1.07b' - -homepage = 'https://ctg.cncr.nl/software/magma' -description = """MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. -It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous -GWAS or meta-analysis.""" - -toolchain = {'name': 'foss', 'version': '2018b'} - -source_urls = [ - 'https://ctg.cncr.nl/software/MAGMA/prog/', - 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', -] -sources = ['%(namelower)s_v%(version)s_source.zip'] -checksums = ['b8f6c9c5b81cedec51b2e3daafe2519f02423a7d18321f5a91534461d40538f0'] - -buildopts = ' CXX=${CXX}' - -files_to_copy = [ - (['magma'], 'bin'), - (['manual_v%(version)s.pdf'], 'doc'), - 'CHANGELOG', - 'COPYRIGHT', -] - -sanity_check_paths = { - 'files': ['bin/magma'], - 'dirs': [], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb b/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb deleted file mode 100644 index 10a0faa8bf8..00000000000 --- a/easybuild/easyconfigs/m/MAGMA/MAGMA-1.07bb-GCC-8.3.0.eb +++ /dev/null @@ -1,34 +0,0 @@ -easyblock = 'MakeCp' - -name = 'MAGMA' -version = '1.07bb' - -homepage = 'https://ctg.cncr.nl/software/magma' -description = """MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. -It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous -GWAS or meta-analysis.""" - -toolchain = {'name': 'GCC', 'version': '8.3.0'} - -source_urls = [ - 'https://ctg.cncr.nl/software/MAGMA/prog/', - 'https://ctg.cncr.nl/software/MAGMA/prog/archive/', -] -sources = ['%(namelower)s_v%(version)s_source.zip'] -checksums = ['c913b1bb03cb8cf78d55371128007d729a2439ad345d27b570b3ad598d3e1037'] - -buildopts = ' CXX=${CXX}' - -files_to_copy = [ - (['magma'], 'bin'), - (['manual_v%(version)s.pdf'], 'doc'), - 'CHANGELOG', - 'COPYRIGHT', -] - -sanity_check_paths = { - 'files': ['bin/magma'], - 'dirs': [], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb new file mode 100644 index 00000000000..fa80cdacb44 --- /dev/null +++ b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2021a.eb @@ -0,0 +1,46 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'MAGeCK' +version = '0.5.9.4' + +homepage = "https://sourceforge.net/p/mageck/wiki/Home/" +description = """Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify + important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed + by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated + by Wei Li lab from Children's National Medical Center.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['42875b308f2d9ee38f083fb1020d7d48fca29e2100fdb09ced1969b738b8c939'] + +# Remove the shipped mageckGSEA and RRA binaries so that the Python install will build them +# This avoids RPATH problems (see #15082) +preinstallopts = "rm bin/{mageckGSEA,RRA} && " + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +postinstallcmds = ["cp -a demo %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/mageck', 'bin/mageckGSEA', 'bin/RRA'], + 'dirs': ['demo', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + # copy demo to build directory, after making sure it exists, so --sanity-check-only works; + # enable write permissions, since installation directory may be read-only + "mkdir -p %(builddir)s && cp -a %(installdir)s/demo %(builddir)s/ && chmod -R u+w %(builddir)s/demo", + "cd %(builddir)s/demo/demo1 && ./run.sh", +] + ["%s -h" % x for x in ['mageck', 'mageckGSEA']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb new file mode 100644 index 00000000000..dcc58ecf8bf --- /dev/null +++ b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.4-foss-2022a.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +# Updated: Denis Kristak (Inuits) +easyblock = 'PythonPackage' + +name = 'MAGeCK' +version = '0.5.9.4' + +homepage = "https://sourceforge.net/p/mageck/wiki/Home/" +description = """Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify + important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed + by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated + by Wei Li lab from Children's National Medical Center.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['42875b308f2d9ee38f083fb1020d7d48fca29e2100fdb09ced1969b738b8c939'] + +# Remove the shipped mageckGSEA and RRA binaries so that the Python install will build them +# This avoids RPATH problems (see #15082) +preinstallopts = "rm bin/{mageckGSEA,RRA} && " + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +postinstallcmds = ["cp -a demo %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/mageck', 'bin/mageckGSEA', 'bin/RRA'], + 'dirs': ['demo', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + # copy demo to build directory, after making sure it exists, so --sanity-check-only works; + # enable write permissions, since installation directory may be read-only + "mkdir -p %(builddir)s && cp -a %(installdir)s/demo %(builddir)s/ && chmod -R u+w %(builddir)s/demo", + "cd %(builddir)s/demo/demo1 && ./run.sh", +] + ["%s -h" % x for x in ['mageck', 'mageckGSEA']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.5-gfbf-2022b.eb b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.5-gfbf-2022b.eb new file mode 100644 index 00000000000..b623b1b15ef --- /dev/null +++ b/easybuild/easyconfigs/m/MAGeCK/MAGeCK-0.5.9.5-gfbf-2022b.eb @@ -0,0 +1,43 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +# Updated: Denis Kristak (Inuits) +easyblock = 'PythonPackage' + +name = 'MAGeCK' +version = '0.5.9.5' + +homepage = "https://sourceforge.net/p/mageck/wiki/Home/" +description = """Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify + important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed + by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated + by Wei Li lab from Children's National Medical Center.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b06a18036da63959cd7751911a46727aefe2fb1d8dd79d95043c3e3bdaf1d93a'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +postinstallcmds = ["cp -a demo %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/mageck', 'bin/mageckGSEA', 'bin/RRA'], + 'dirs': ['demo', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + # copy demo to build directory, after making sure it exists, so --sanity-check-only works; + # enable write permissions, since installation directory may be read-only + "mkdir -p %(builddir)s && cp -a %(installdir)s/demo %(builddir)s/ && chmod -R u+w %(builddir)s/demo", + "cd %(builddir)s/demo/demo1 && ./run.sh", +] + ["%s -h" % x for x in ['mageck', 'mageckGSEA']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MAKER/MAKER-3.01.04-foss-2022a.eb b/easybuild/easyconfigs/m/MAKER/MAKER-3.01.04-foss-2022a.eb new file mode 100644 index 00000000000..4b61ca4d1d3 --- /dev/null +++ b/easybuild/easyconfigs/m/MAKER/MAKER-3.01.04-foss-2022a.eb @@ -0,0 +1,105 @@ +easyblock = 'Bundle' + +name = 'MAKER' +version = '3.01.04' + +homepage = 'https://yandell-lab.org/software/maker.html' +description = """ +MAKER is a portable and easily configurable genome annotation pipeline. Its +purpose is to allow smaller eukaryotic and prokaryotic genome projects to +independently annotate their genomes and to create genome databases. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('SNAP-HMM', '20221022'), + ('RepeatMasker', '4.1.4'), + ('Exonerate', '2.4.0'), + # optional: + ('AUGUSTUS', '3.5.0'), + ('GeneMark-ET', '4.71'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +_libdir = 'lib/perl5/site_perl/%(perlver)s' + +exts_list = [ + ('Acme::Damn', '0.08', { + 'source_tmpl': 'Acme-Damn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IB/IBB'], + 'checksums': ['310d2d03ff912dcd42e4d946174099f41fe3a2dd57a497d6bd65baf1759b7e0e'], + }), + ('Sys::SigAction', '0.23', { + 'source_tmpl': 'Sys-SigAction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LB/LBAXTER'], + 'checksums': ['c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353'], + }), + ('forks', '0.36', { + 'source_tmpl': 'forks-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RY/RYBSKEJ'], + 'checksums': ['61be24e44f4c6fea230e8354678beb5b7adcfefd909a47db8f0a251b0ab65993'], + }), + ('Perl::Unsafe::Signals', '0.03', { + 'source_tmpl': 'Perl-Unsafe-Signals-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['d311ae7d73e8d0c2346dfacb82aa952322e70cd928b09d502d739e60e35f829d'], + }), + ('Bit::Vector', '7.4', { + 'source_tmpl': 'Bit-Vector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/ST/STBEY'], + 'checksums': ['3c6daa671fecfbc35f92a9385b563d65f50dfc6bdc8b4805f9ef46c0d035a926'], + }), + ('Inline::C', '0.82', { + 'source_tmpl': 'Inline-C-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['10fbcf1e158d1c8d77e1dd934e379165b126a45c13645ad0be9dc07d151dd0cc'], + }), + ('IO::All', '0.87', { + 'source_tmpl': 'IO-All-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['54e21d250c0229127e30b77a3461e10077854ec244f26fb670f1b445ed4c4d5b'], + }), + ('IO::Prompt', '0.997004', { + 'source_tmpl': 'IO-Prompt-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCONWAY'], + 'checksums': ['f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615'], + }), + (name, version, { + 'modulename': False, + # fix hardcoded paths to libraries + 'preinstallopts': r"find ../ -type f -exec sed -i 's|RealBin/\.\./lib|RealBin/../%s|g' {} \; && " % _libdir, + 'postinstallcmds': [ + 'cp -a ../bin %(installdir)s/', + 'cp -an blib/lib/* ../lib/* %%(installdir)s/%s/' % _libdir, + ], + 'source_tmpl': 'Version_%(version)s.tar.gz', + 'source_urls': ['https://github.com/Yandell-Lab/maker/archive/refs/tags/'], + 'start_dir': 'src', + 'checksums': ['b9513585c90dc88288e903aff87bfddc7a66a39ec2b79619465ca7d679021fa7'], + }), +] + +modextrapaths = { + 'PERL5LIB': _libdir, +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', _libdir], +} + +sanity_check_commands = [ + 'maker --help', + 'maker2zff --help', + 'fasta_tool', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..dbba96ddf2f --- /dev/null +++ b/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'MATES' +version = '0.1.2-20240813' +local_commit = 'd5ee15b' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/mcgilldinglab/MATES' +description = "A Deep Learning-Based Model for Quantifying Transposable Elements in Single-Cell Sequencing Data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('anndata', '0.10.5.post1'), + ('SAMtools', '1.18'), + ('pybedtools', '0.9.1'), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('Pysam', '0.22.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sorted_nearest', '0.0.39', { + 'checksums': ['16a51d5db87ae226b47ace43c176bb672477a1b7ba8052ea9291a6356c9c69b1'], + }), + ('ncls', '0.0.68', { + 'checksums': ['81aaa5abb123bb21797ed2f8ef921e20222db14a3ecbc61ccf447532f2b7ba93'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('pyranges', '0.0.129', { + 'checksums': ['bee83b4fad0062be9586668c6b0fc4270d5e761951975e018202993680071fb3'], + }), + (name, version, { + 'modulename': 'MATES', + # unpin exact versions of dependencies + 'preinstallopts': r"sed -i 's/==.*//g' requirements.txt && sed -i 's/==.*/\",/g' setup.py && ", + 'source_urls': ['https://github.com/mcgilldinglab/MATES/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}], + 'checksums': ['aca36b2b99ebed975fdf61670a9b551c1ab7882ff2b9d4ed3f25f2e13805652c'], + }), +] + +sanity_check_commands = [ + "python -c 'from MATES import bam_processor, data_processor, MATES_model'", + "python -c 'from MATES import TE_quantifier, TE_quantifier_LongRead, TE_quantifier_Intronic'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a.eb b/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a.eb new file mode 100644 index 00000000000..e7e73a89e80 --- /dev/null +++ b/easybuild/easyconfigs/m/MATES/MATES-0.1.2-20240813-foss-2023a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'MATES' +version = '0.1.2-20240813' +local_commit = 'd5ee15b' + +homepage = 'https://github.com/mcgilldinglab/MATES' +description = "A Deep Learning-Based Model for Quantifying Transposable Elements in Single-Cell Sequencing Data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('anndata', '0.10.5.post1'), + ('SAMtools', '1.18'), + ('pybedtools', '0.9.1'), + ('PyTorch-bundle', '2.1.2'), + ('Pysam', '0.22.0'), + ('tqdm', '4.66.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sorted_nearest', '0.0.39', { + 'checksums': ['16a51d5db87ae226b47ace43c176bb672477a1b7ba8052ea9291a6356c9c69b1'], + }), + ('ncls', '0.0.68', { + 'checksums': ['81aaa5abb123bb21797ed2f8ef921e20222db14a3ecbc61ccf447532f2b7ba93'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('pyranges', '0.0.129', { + 'checksums': ['bee83b4fad0062be9586668c6b0fc4270d5e761951975e018202993680071fb3'], + }), + (name, version, { + 'modulename': 'MATES', + # unpin exact versions of dependencies + 'preinstallopts': r"sed -i 's/==.*//g' requirements.txt && sed -i 's/==.*/\",/g' setup.py && ", + 'source_urls': ['https://github.com/mcgilldinglab/MATES/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}], + 'checksums': ['aca36b2b99ebed975fdf61670a9b551c1ab7882ff2b9d4ed3f25f2e13805652c'], + }), +] + +sanity_check_commands = [ + "python -c 'from MATES import bam_processor, data_processor, MATES_model'", + "python -c 'from MATES import TE_quantifier, TE_quantifier_LongRead, TE_quantifier_Intronic'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MATIO/MATIO-1.5.21-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.21-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c8a95327a3c --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.21-GCCcore-10.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.21' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['2ac1d5406e51f2bdfaa545a535d6dbf6347be89891a06323961d7a2acbf37be9'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.35')] + +dependencies = [('zlib', '1.2.11')] + +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.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-11.3.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d0ad0cc2dae --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-11.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.23' + +homepage = 'https://sourceforge.net/projects/matio/' +description = """matio is an C library for reading and writing Matlab MAT files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.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.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.23-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7cb4ccb60d4 --- /dev/null +++ b/easybuild/easyconfigs/m/MATIO/MATIO-1.5.23-GCCcore-12.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.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.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_ZIP] +checksums = ['b3b29fb394e1cfa3f98cd57bac013c0cf7716ae7a085e398f2dfaff8f976f0c5'] + +preconfigopts = 'chmod +x configure && ' + +builddependencies = [('binutils', '2.39')] + +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/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f9fc548a6ee --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021a-9.10.1-GCCcore-10.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'MATLAB-Engine' +_matlab_version = '2021a' +_engine_version = '9.10.1' +version = "%s-%s" % (_matlab_version, _engine_version) + +homepage = 'https://www.mathworks.com/help/matlab/matlab-engine-for-python.html' +description = """The MATLAB Engine API for Python provides a package for Python + to call MATLAB as a computational engine.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('MATLAB', _matlab_version, '', SYSTEM), + ('Python', '3.8.6'), +] + +use_pip = True + +exts_list = [ + ('matlabengine', _engine_version, { + 'modulename': 'matlab.engine', + 'checksums': ['c1610690dbe58ac00e74e8cbb20406208235ede47da7960238e0c2fd3bd496c0'], + }), +] + +sanity_pip_check = True + +# Test that connection with MATLAB can be established successfully +sanity_check_commands = ["python -c 'import matlab.engine; eng = matlab.engine.start_matlab(); eng.quit()'"] + +# Systems with old glibc (e.g. CentOS7) need to preload shim library +# modluafooter = """ +# setenv("LD_PRELOAD", pathJoin(os.getenv("EBROOTMATLAB"), "bin", "glnxa64", "glibc-2.17_shim.so")) +# """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7bbd5629949 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB-Engine/MATLAB-Engine-2021b-9.11.19-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'MATLAB-Engine' +_matlab_version = '2021b' +_engine_version = '9.11.19' +version = "%s-%s" % (_matlab_version, _engine_version) + +homepage = 'https://www.mathworks.com/help/matlab/matlab-engine-for-python.html' +description = """The MATLAB Engine API for Python provides a package for Python + to call MATLAB as a computational engine.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('MATLAB', _matlab_version, '', SYSTEM), + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('matlabengine', _engine_version, { + 'modulename': 'matlab.engine', + 'checksums': ['9385a13c27daa18f6cbfbe1669237e86692a51f317775a3f40e9e3d8090c679b'], + }), +] + +sanity_pip_check = True + +# Test that connection with MATLAB can be established successfully +sanity_check_commands = ["python -c 'import matlab.engine; eng = matlab.engine.start_matlab(); eng.quit()'"] + +# Systems with old glibc (e.g. CentOS7) need to preload shim library +# modluafooter = """ +# setenv("LD_PRELOAD", pathJoin(os.getenv("EBROOTMATLAB"), "bin", "glnxa64", "glibc-2.17_shim.so")) +# """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2021b.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2021b.eb new file mode 100644 index 00000000000..1f98eb7c6df --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2021b.eb @@ -0,0 +1,27 @@ +name = 'MATLAB' +version = '2021b' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['d8e75bda06b45edf2c68cda6761fac077b7bfa7b7779db0c95e098b5c695f4cc'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server = 'my-license-server' +# license_server_port = '1234' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb new file mode 100644 index 00000000000..83496da1920 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a-r3.eb @@ -0,0 +1,28 @@ +name = 'MATLAB' +version = '2022a' +_update = '3' +versionsuffix = '-r%s' % _update + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%s_Update_%s_Linux.iso' % (version, _update)] +checksums = ['7fabee86864e5ac2da4096c2c13dd712b19022ec3fa1c2cc3680df85f3f11e15'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb new file mode 100644 index 00000000000..0e2c7e7f5aa --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb @@ -0,0 +1,26 @@ +name = 'MATLAB' +version = '2022a' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['0d998829fd8b030b83581ca3db414a494a8ad937ad2ed3efefc846a5033fd795'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b-r5.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b-r5.eb new file mode 100644 index 00000000000..4ffbc980772 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b-r5.eb @@ -0,0 +1,28 @@ +name = 'MATLAB' +version = '2022b' +_update = '5' +versionsuffix = '-r%s' % _update + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%s_Update_%s_Linux.iso' % (version, _update)] +checksums = ['d11ba428a6970208f0855138a6e2253c31e2ead34d51da125529a208945ac187'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb new file mode 100644 index 00000000000..0fce2dcfb9b --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2022b.eb @@ -0,0 +1,26 @@ +name = 'MATLAB' +version = '2022b' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['46ae2e0a8cf2806b361215ab0f4d60de53d77093f268f252763f53fe76515788'] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2023a.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2023a.eb new file mode 100644 index 00000000000..296a007e994 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2023a.eb @@ -0,0 +1,27 @@ +name = 'MATLAB' +version = '2023a' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%(version)s_Linux.iso'] +checksums = ['f18225237c2a5ff1294f19ed0c9945cfe691c3a3a62a6a8d324473d73ec92913'] +download_instructions = 'Download %s from mathworks.com' % sources[0] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATLAB/MATLAB-2023b.eb b/easybuild/easyconfigs/m/MATLAB/MATLAB-2023b.eb new file mode 100644 index 00000000000..f0bb088e901 --- /dev/null +++ b/easybuild/easyconfigs/m/MATLAB/MATLAB-2023b.eb @@ -0,0 +1,27 @@ +name = 'MATLAB' +version = '2023b' + +homepage = 'https://www.mathworks.com/products/matlab' +description = """MATLAB is a high-level language and interactive environment + that enables you to perform computationally intensive tasks faster than with + traditional programming languages such as C, C++, and Fortran.""" + +toolchain = SYSTEM + +sources = ['R%s_Linux.iso' % (version)] +checksums = ['f1cc4ae1a2e42a1d22745884aa80bf0d5d8676939ad21741ccff15fade06a881'] +download_instructions = 'Download %s from mathworks.com' % sources[0] + +java_options = '-Xmx2048m' + +osdependencies = [('p7zip-plugins', 'p7zip-full')] # for extracting iso-files + +# Use EB_MATLAB_KEY environment variable or uncomment and modify license key +# key = '00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000' + +# Use EB_MATLAB_LICENSE_SERVER and EB_MATLAB_LICENSE_SERVER_PORT environment variables or +# uncomment and modify the following variables for installation with floating license server +# license_file = 'my-license-file' +# license_server_port = 'XXXXX' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-14.0-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/m/MATSim/MATSim-14.0-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..0c14fa80736 --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-14.0-GCCcore-11.2.0-Java-11.eb @@ -0,0 +1,37 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '14.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['17c7b785678cacd937f5df5b8c80398b73e2e9ceb07cc1ebd175fc94a65ce3c4'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('Mesa', '21.1.7'), + ('X11', '20210802'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim GUI: java -jar $EBROOTMATSIM/%(namelower)s-%(version)s.jar +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-14.0-Java-11.eb b/easybuild/easyconfigs/m/MATSim/MATSim-14.0-Java-11.eb new file mode 100644 index 00000000000..11bcf3dbdad --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-14.0-Java-11.eb @@ -0,0 +1,34 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '14.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['17c7b785678cacd937f5df5b8c80398b73e2e9ceb07cc1ebd175fc94a65ce3c4'] + +dependencies = [ + ('Java', '11'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb new file mode 100644 index 00000000000..c3ef3b7aeda --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-GCCcore-12.3.0-Java-17.eb @@ -0,0 +1,37 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '15.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['0ab5d83d0c7d8592e70f055e880dac958f8f05b6fed8bf74d2dfad7560dc29ee'] + +dependencies = [ + ('Java', '17', '', SYSTEM), + ('Mesa', '23.1.4'), + ('X11', '20230603'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim GUI: java -jar $EBROOTMATSIM/%(namelower)s-%(version)s.jar +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb new file mode 100644 index 00000000000..cff55a8e4c6 --- /dev/null +++ b/easybuild/easyconfigs/m/MATSim/MATSim-15.0-Java-17.eb @@ -0,0 +1,34 @@ +easyblock = 'PackedBinary' + +name = 'MATSim' +version = '15.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.matsim.org/' +description = """MATSim is an open-source framework to implement large-scale agent-based transport simulations.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/matsim-org/matsim-libs/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-release.zip'] +checksums = ['0ab5d83d0c7d8592e70f055e880dac958f8f05b6fed8bf74d2dfad7560dc29ee'] + +dependencies = [ + ('Java', '17'), +] + +sanity_check_paths = { + 'files': ['%(namelower)s-%(version)s.jar'], + 'dirs': ['libs', 'examples'], +} + +sanity_check_commands = ["java org.matsim.run.ReleaseInfo"] + +modextrapaths = {'CLASSPATH': 'libs/*'} + +modloadmsg = """ +To execute MATSim in batch mode: java org.matsim.run.RunMatsim +You might have to adjust the maximum memory of the JVM (-Xmx) +""" + +moduleclass = 'cae' 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/MBX/MBX-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/m/MBX/MBX-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..3f6da986d62 --- /dev/null +++ b/easybuild/easyconfigs/m/MBX/MBX-1.1.0-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'MBX' +version = '1.1.0' + +homepage = 'https://github.com/paesanilab/MBX' +description = "MBX is an energy and force calculator for data-driven many-body simulations" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://github.com/paesanilab/MBX/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['0f55f4950226defb46fd0814ad97f906ce4ffd6403af6817bd98cb3c68996692'] + +builddependencies = [('Autotools', '20220317')] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('GSL', '2.7'), +] + +preconfigopts = 'export MBX_HOME=$PWD && autoreconf -fi && ' + +configopts = '--enable-shared --enable-verbose CXX="$CXX"' + +postinstallcmds = ["cp -a plugins %(installdir)s"] + +maxparallel = 2 + +runtest = 'check' + +modextrapaths = {'PYTHONPATH': 'plugins/python'} + +modextravars = {'MBX_HOME': '%(installdir)s'} + +sanity_check_paths = { + 'files': ['bin/mb_decomp', 'bin/optimize', 'bin/order_frames', 'bin/single_point', + 'lib/libmbx.a', 'lib/libmbx.%s' % SHLIB_EXT], + 'dirs': ['include', 'plugins/python/mbx', 'plugins/lammps/USER-MBX'], +} + +sanity_check_commands = [ + "optimize", + "python -c 'import mbx'", +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9aaca698b9d --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '14.137' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +patches = ['%(name)s-%(version)s_fixperl.patch'] +checksums = [ + 'b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497', # mcl-14-137.tar.gz + '46988a287b2ee400a54fa485176d043b2a2d6589b6257cc6cf9c21689ea3842d', # MCL-14.137_fixperl.patch +] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Perl', '5.32.0'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--enable-blast ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clmformat', 'clxdo', 'mcl', 'mclblastline', 'mclcm', 'mclpipeline', 'mcx', + 'mcxarray', 'mcxassemble', 'mcxdeblast', 'mcxdump', 'mcxi', 'mcxload', 'mcxmap', + 'mcxrand', 'mcxsubs']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f6b8f025b67 --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-10.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '14.137' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +patches = ['%(name)s-%(version)s_fixperl.patch'] +checksums = [ + 'b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497', # mcl-14-137.tar.gz + '46988a287b2ee400a54fa485176d043b2a2d6589b6257cc6cf9c21689ea3842d', # MCL-14.137_fixperl.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Perl', '5.32.1'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--enable-blast ' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clmformat', 'clxdo', 'mcl', 'mclblastline', 'mclcm', 'mclpipeline', 'mcx', + 'mcxarray', 'mcxassemble', 'mcxdeblast', 'mcxdump', 'mcxi', 'mcxload', 'mcxmap', + 'mcxrand', 'mcxsubs']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a2182c376d3 --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-14.137-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '14.137' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = [ + 'b5786897a8a8ca119eb355a5630806a4da72ea84243dba85b19a86f14757b497', # mcl-14-137.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +preconfigopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +configopts = '--enable-blast ' + +fix_perl_shebang_for = ['bin/%s' % x for x in ['mclblastline', 'mclpipeline', 'mcxdeblast']] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clmformat', 'clxdo', 'mcl', 'mclblastline', 'mclcm', 'mclpipeline', 'mcx', + 'mcxarray', 'mcxassemble', 'mcxdeblast', 'mcxdump', 'mcxi', 'mcxload', 'mcxmap', + 'mcxrand', 'mcxsubs']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..01142c80daa --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '22.282' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['291f35837b6e852743bd87e499c5a46936125dcdf334f7747af92e88ac902183'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('cimfomfa', '22.273'), +] + +configopts = '--enable-rcl ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clxdo', 'mcl', 'mcx', 'mcxarray', 'mcxdump', 'mcxi', + 'mcxload', 'mcxmap', 'mcxsubs', 'rcl', 'rcl-qc']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dec97557a82 --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '22.282' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['291f35837b6e852743bd87e499c5a46936125dcdf334f7747af92e88ac902183'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('cimfomfa', '22.273'), +] + +configopts = '--enable-rcl ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clxdo', 'mcl', 'mcx', 'mcxarray', 'mcxdump', 'mcxi', + 'mcxload', 'mcxmap', 'mcxsubs', 'rcl', 'rcl-qc']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bdf91fee809 --- /dev/null +++ b/easybuild/easyconfigs/m/MCL/MCL-22.282-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'MCL' +version = '22.282' + +homepage = 'https://micans.org/mcl/' +description = """The MCL algorithm is short for the Markov Cluster Algorithm, a fast +and scalable unsupervised cluster algorithm for graphs (also known as networks) based +on simulation of (stochastic) flow in graphs. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://micans.org/%(namelower)s/src/'] +sources = ['%(namelower)s-%(version_major)s-%(version_minor)s.tar.gz'] +checksums = ['291f35837b6e852743bd87e499c5a46936125dcdf334f7747af92e88ac902183'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Perl', '5.36.1'), + ('cimfomfa', '22.273'), +] + +configopts = '--enable-rcl ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['clm', 'clxdo', 'mcl', 'mcx', 'mcxarray', 'mcxdump', 'mcxi', + 'mcxload', 'mcxmap', 'mcxsubs', 'rcl', 'rcl-qc']], + 'dirs': ['share'] +} + +sanity_check_commands = ["mcl --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2021b.1.eb b/easybuild/easyconfigs/m/MCR/MCR-R2021b.1.eb new file mode 100644 index 00000000000..0975b82daaa --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2021b.1.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2021b' # runtime version 9.11 +local_update = '1' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['b2bbaf38e7e0cb2c2735548dbea1e7c9d7ff821789edacfe5f90c4acdc908e03'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb b/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb new file mode 100644 index 00000000000..b7e3e831019 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2021b.2.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2021b' # runtime version 9.11 +local_update = '2' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['731ea5ff34a64ec05024ccf36dc24cfb77d5de4dfabec678e3b964e1110aa6e2'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2021b.eb b/easybuild/easyconfigs/m/MCR/MCR-R2021b.eb new file mode 100644 index 00000000000..4e9b940fb9a --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2021b.eb @@ -0,0 +1,20 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2021b' # runtime version 9.11 +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 = ['d7067b4f4977350395fd75de1aeefc9de39010fbdcf32d99a5f2e8955e74121e'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2022a.1.eb b/easybuild/easyconfigs/m/MCR/MCR-R2022a.1.eb new file mode 100644 index 00000000000..f95338fe127 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2022a.1.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2022a' # runtime version 9.12 +local_update = '1' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['4b3aab62005e68b18627e53143a6c4fae475fe3f6b7efadc7386aacda27b4248'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2022a.5.eb b/easybuild/easyconfigs/m/MCR/MCR-R2022a.5.eb new file mode 100644 index 00000000000..9bd0ecded13 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2022a.5.eb @@ -0,0 +1,21 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2022a' # runtime version 9.12 +local_update = '5' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['dd5518c233ab1c42839b36730b55232a7b43310e89b0e3f338d8d3defb1a6d62'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb b/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb new file mode 100644 index 00000000000..f4e33dcd257 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2022a.eb @@ -0,0 +1,20 @@ +## +# Author: Robert Mijakovic +## +name = 'MCR' +version = 'R2022a' # runtime version 9.12 +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 = ['ce013fa6d46148741ad55abaddd26d8d85d6fa4cf94917c8f3a66f350230cfc7'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2022b.10.eb b/easybuild/easyconfigs/m/MCR/MCR-R2022b.10.eb new file mode 100644 index 00000000000..43dcfb25294 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2022b.10.eb @@ -0,0 +1,18 @@ +name = 'MCR' +version = 'R2022b' # runtime version 9.13 +local_update = '10' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['5bcee3f2be7a4ccb6ed0b7d8938eca7b33e4a0d81ec5351d6eb06150a89245eb'] + +moduleclass = 'math' 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/MCR/MCR-R2023b.9.eb b/easybuild/easyconfigs/m/MCR/MCR-R2023b.9.eb new file mode 100644 index 00000000000..b6832290ecb --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2023b.9.eb @@ -0,0 +1,18 @@ +name = 'MCR' +version = 'R2023b' # runtime version 23.2 +local_update = '9' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['ef69a624806aa3864d692a88a67d969e3b641ae296b4a091969185ef056f13bd'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MCR/MCR-R2024a.4.eb b/easybuild/easyconfigs/m/MCR/MCR-R2024a.4.eb new file mode 100644 index 00000000000..bb746ac5151 --- /dev/null +++ b/easybuild/easyconfigs/m/MCR/MCR-R2024a.4.eb @@ -0,0 +1,18 @@ +name = 'MCR' +version = 'R2024a' # runtime version 24.1 +local_update = '4' +versionsuffix = '.%s' % local_update + +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_Update_%s_glnxa64.zip' % local_update] +checksums = ['ceed37dc342660c934b9f6297491f57b6d51a7f49cd1fb80b775b1f748b72d03'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb new file mode 100644 index 00000000000..62cbd2a4191 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-1.1.1-foss-2020b.eb @@ -0,0 +1,51 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '1.1.1' + +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': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Biopython', '1.78'), + ('networkx', '2.5'), + ('tqdm', '4.56.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.5.0', { + 'modulename': 'gridData', + 'checksums': ['f317ed60708de22d1b2a76ce89a00f722d903291b1055ff1018d441870c39d69'], + }), + ('gsd', '2.4.2', { + 'checksums': ['fa2ed62da3eb2cbfea02a22dadc1d84e80c16d874535de4bace6941c6d805851'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['edfd5a8ac6cbaa8d02f505ac3e68d5a1866644a2d392a8f20e279c43e0886253'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.eb new file mode 100644 index 00000000000..64300f8f2f7 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.0.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('Biopython', '1.79'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.6.0', { + 'modulename': 'gridData', + 'checksums': ['f14e00e8b795f8021f6069935e1133352224775c9bd97f395beb2bcd64a19b86'], + }), + ('gsd', '2.5.1', { + 'checksums': ['76bf228b1d8e95e7d6a334e8cc7712c0bd8c256148007f7ce88a489c21996593'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + (name, version, { + 'modulename': name, + 'checksums': ['aa3079d1a82305eba58cf567fac8fc231940184ed88f9a4451be8433f4a06d3e'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb new file mode 100644 index 00000000000..4db664c3298 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-foss-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.0.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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('Biopython', '1.79'), + ('networkx', '2.6.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.6.0', { + 'modulename': 'gridData', + 'checksums': ['f14e00e8b795f8021f6069935e1133352224775c9bd97f395beb2bcd64a19b86'], + }), + ('gsd', '2.5.1', { + 'checksums': ['76bf228b1d8e95e7d6a334e8cc7712c0bd8c256148007f7ce88a489c21996593'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + (name, version, { + 'modulename': name, + 'checksums': ['aa3079d1a82305eba58cf567fac8fc231940184ed88f9a4451be8433f4a06d3e'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb new file mode 100644 index 00000000000..baa89c5b408 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.0.0-intel-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.0.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': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('Biopython', '1.79'), + ('networkx', '2.6.3'), + ('tqdm', '4.62.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('GridDataFormats', '0.6.0', { + 'modulename': 'gridData', + 'checksums': ['f14e00e8b795f8021f6069935e1133352224775c9bd97f395beb2bcd64a19b86'], + }), + ('gsd', '2.5.1', { + 'checksums': ['76bf228b1d8e95e7d6a334e8cc7712c0bd8c256148007f7ce88a489c21996593'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('mmtf-python', '1.1.2', { + 'modulename': 'mmtf', + 'checksums': ['a5caa7fcd2c1eaa16638b5b1da2d3276cbd3ed3513f0c2322957912003b6a8df'], + }), + (name, version, { + 'modulename': name, + 'checksums': ['aa3079d1a82305eba58cf567fac8fc231940184ed88f9a4451be8433f4a06d3e'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.2.0-foss-2022a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.2.0-foss-2022a.eb new file mode 100644 index 00000000000..47b2c19b803 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.2.0-foss-2022a.eb @@ -0,0 +1,57 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.2.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('Biopython', '1.79'), + ('networkx', '2.8.4'), + ('tqdm', '4.64.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.2', { + 'checksums': ['447022f27b7ce4bf57f97010f092a811ce88635479de7f8a86449a0c9cb319fe'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.5.3', { + 'checksums': ['1593be39eb7a527647a40935a316d594ae20d4c11ff1383c25c8196376314d97'], + }), + ('msgpack', '1.0.4', { + 'checksums': ['f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('fasteners', '0.17.3', { + 'checksums': ['a9a42a208573d4074c77d041447336cf4e3c1389a256fd3e113ef59cf29b7980'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['bf9c9b7a03404e65aad66215d4c2ff8834ab747551eeaee059ff3e599a99d322'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2021a.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2021a.eb new file mode 100644 index 00000000000..e5f35ff61b3 --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2021a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.4.2' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.3', { + 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.8.0', { + 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + # MDAnalysis 2.4.x requires biopython >= 1.80 + ('biopython', '1.81', { + 'checksums': ['2cf38112b6d8415ad39d6a611988cd11fb5f33eb09346666a87263beba9614e0'], + 'runtest': "python setup.py test --offline", + 'modulename': 'Bio', + 'sanity_check_commands': ["python -c 'import Bio.MarkovModel'"], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb new file mode 100644 index 00000000000..0d0fa57284c --- /dev/null +++ b/easybuild/easyconfigs/m/MDAnalysis/MDAnalysis-2.4.2-foss-2022b.eb @@ -0,0 +1,57 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'MDAnalysis' +version = '2.4.2' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('Biopython', '1.81'), + ('networkx', '3.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mrcfile', '1.4.3', { + 'checksums': ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'], + }), + ('GridDataFormats', '1.0.1', { + 'modulename': 'gridData', + 'checksums': ['ad2c9ab7d672a6d8c426de7d083eee4f3e2b0bd59391675d30683c768ab83cc4'], + }), + ('gsd', '2.8.0', { + 'checksums': ['f2b031a26a7a5bee5f3940dc2f36c5a5b6670307b297c526adf2e26c1f5b46ae'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + (name, version, { + 'modulename': 'MDAnalysis', + 'checksums': ['ae2ee5627391e73f74eaa3c547af3ec6ab8b040d27dedffe3a7ece8e0cd27636'], + }), +] + +moduleclass = 'bio' 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 new file mode 100644 index 00000000000..ad39fd39304 --- /dev/null +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.16-gompi-2022b.eb @@ -0,0 +1,49 @@ +# MDI package for LAMMPS +# Author: J. Saßmannshausen (Imperial College London) + +easyblock = 'CMakeMake' +name = 'MDI' +version = '1.4.16' + +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': '2022b'} + +source_urls = ['https://github.com/MolSSI-MDI/MDI_Library/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['afb7a4db951f72398210dec3945537a8208d74e437c2eab60c8b132932aa49a0'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +# 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', +] + +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/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/MDI/MDI-1.4.29-gompi-2023b.eb b/easybuild/easyconfigs/m/MDI/MDI-1.4.29-gompi-2023b.eb new file mode 100644 index 00000000000..0ff18b44f79 --- /dev/null +++ b/easybuild/easyconfigs/m/MDI/MDI-1.4.29-gompi-2023b.eb @@ -0,0 +1,54 @@ +# MDI package for LAMMPS +# Author: J. Saßmannshausen (Imperial College London) + +easyblock = 'CMakeMake' +name = 'MDI' +version = '1.4.29' + +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': '2023b'} + +source_urls = ['https://github.com/MolSSI-MDI/MDI_Library/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6fb9ab2cf01c1a88a183bb481313f3131f0afd041ddea7aeacabe857fbdcb6ad'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +# 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-Java/MDSplus-Java-7.96.12-GCCcore-9.3.0-Java-13.eb b/easybuild/easyconfigs/m/MDSplus-Java/MDSplus-Java-7.96.12-GCCcore-9.3.0-Java-13.eb index 3b6f548fcac..e26b1a04135 100644 --- a/easybuild/easyconfigs/m/MDSplus-Java/MDSplus-Java-7.96.12-GCCcore-9.3.0-Java-13.eb +++ b/easybuild/easyconfigs/m/MDSplus-Java/MDSplus-Java-7.96.12-GCCcore-9.3.0-Java-13.eb @@ -24,7 +24,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '13', '', True), + ('Java', '13', '', SYSTEM), ('MDSplus', version), ] 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/MDTraj/MDTraj-1.9.7-foss-2021a.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2021a.eb new file mode 100644 index 00000000000..acc6867ceed --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2021a.eb @@ -0,0 +1,45 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('zlib', '1.2.11'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.1', { + # pymbar 3.1 is not available via PyPI, see https://github.com/choderalab/pymbar/issues/475 + 'source_urls': ['https://github.com/choderalab/pymbar/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7a996e5d3fd8143378f9e18662483446a4a2fe7e57917511e96beb6b07fd6232'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2021b.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2021b.eb new file mode 100644 index 00000000000..9bf0a45a676 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2021b.eb @@ -0,0 +1,45 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.1', { + # pymbar 3.1 is not available via PyPI, see https://github.com/choderalab/pymbar/issues/475 + 'source_urls': ['https://github.com/choderalab/pymbar/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7a996e5d3fd8143378f9e18662483446a4a2fe7e57917511e96beb6b07fd6232'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2022a.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2022a.eb new file mode 100644 index 00000000000..f6dd1f827d5 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-foss-2022a.eb @@ -0,0 +1,45 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.1', { + # pymbar 3.1 is not available via PyPI, see https://github.com/choderalab/pymbar/issues/475 + 'source_urls': ['https://github.com/choderalab/pymbar/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7a996e5d3fd8143378f9e18662483446a4a2fe7e57917511e96beb6b07fd6232'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb new file mode 100644 index 00000000000..337b9706b27 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2021b.eb @@ -0,0 +1,42 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.0.5', { + 'checksums': ['b079a7d0b9fbc8a92850277b664bb582991ef5ac399b3607e695569148f6c784'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2022a.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2022a.eb new file mode 100644 index 00000000000..d94d68ccbdc --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.7-intel-2022a.eb @@ -0,0 +1,45 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.7' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), +] + +use_pip = True +exts_list = [ + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('pymbar', '3.1', { + # pymbar 3.1 is not available via PyPI, see https://github.com/choderalab/pymbar/issues/475 + 'source_urls': ['https://github.com/choderalab/pymbar/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7a996e5d3fd8143378f9e18662483446a4a2fe7e57917511e96beb6b07fd6232'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['8a3309d2ef6ddb1023dcf48300d5df9b190469b63f69af9d55490bc4799d3757'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb new file mode 100644 index 00000000000..8f172912989 --- /dev/null +++ b/easybuild/easyconfigs/m/MDTraj/MDTraj-1.9.9-gfbf-2023a.eb @@ -0,0 +1,39 @@ +# Updated: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'MDTraj' +version = '1.9.9' + +homepage = 'https://mdtraj.org' +description = "Read, write and analyze MD trajectories with only a few lines of Python code." + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('zlib', '1.2.13'), +] + +use_pip = True +exts_list = [ + ('pyparsing', '3.1.0', { + 'checksums': ['edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('mdtraj', version, { + 'checksums': ['1b03f7ac753af5ca07cf874842689c8d49e791ee1242510875581df6100ca15e'], + }), +] + +# The unit tests of MDTraj are a pain to get to work: they require +# a massive number of extra dependencies. See +# https://github.com/mdtraj/mdtraj/blob/master/devtools/conda-recipe/meta.yaml + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MEGA/MEGA-10.0.5.eb b/easybuild/easyconfigs/m/MEGA/MEGA-10.0.5.eb new file mode 100644 index 00000000000..c6c973b26e8 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGA/MEGA-10.0.5.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'MEGA' +version = '10.0.5' + +homepage = 'https://www.megasoftware.net/' +description = """MEGA-CC (Molecular Evolutionary Genetics Analysis Computational Core) is an integrated suite of tools + for statistics-based comparative analysis of molecular sequence data based on evolutionary principles.""" + +toolchain = SYSTEM + +# download requires agreeing with license & filling out a form, see http://www.megasoftware.net/ +# the following sources correspond to "Other Linux" > "Command Line (CC)" > "MEGA X (64-bit)" +sources = ['megacc_%(version)s_amd64.tar.gz'] +checksums = ['c450a8339f8b48bc79433bb2f8c8af3ec58e23ad8f3f86b37f83f807e6bb5e9d'] + +modextrapaths = { + 'PATH': '', +} + +sanity_check_paths = { + 'files': ['megacc'], + 'dirs': ['Examples'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGA/MEGA-11.0.10.eb b/easybuild/easyconfigs/m/MEGA/MEGA-11.0.10.eb new file mode 100644 index 00000000000..0f42d72cdb7 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGA/MEGA-11.0.10.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'MEGA' +version = '11.0.10' + +homepage = 'https://www.megasoftware.net/' +description = """MEGA-CC (Molecular Evolutionary Genetics Analysis Computational Core) is an integrated suite of tools + for statistics-based comparative analysis of molecular sequence data based on evolutionary principles.""" + +toolchain = SYSTEM + +# download requires agreeing with license & filling out a form, see http://www.megasoftware.net/ +# the following sources correspond to "Other Linux" > "Command Line (CC)" > "MEGA X (64-bit)" +sources = ['megacc_%(version)s_amd64.tar.gz'] +checksums = ['2812969627b3b43110a2e6b597e7c99fb80f4115f05aac5888b01aeda877f4b2'] + +sanity_check_paths = { + 'files': ['megacc'], + 'dirs': ['Examples'], +} + +sanity_check_commands = ["megacc --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..279dcf61042 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-10.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': '10.3.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('bzip2', '1.0.8'), + ('gzip', '1.10'), +] + +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-11.2.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b1fd926ac8b --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.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': '11.2.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('bzip2', '1.0.8'), + ('gzip', '1.10'), +] + +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-11.3.0.eb b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..23927deb7b5 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAHIT/MEGAHIT-1.2.9-GCCcore-11.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': '11.3.0'} + +source_urls = ['https://github.com/voutcn/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('zlib', '1.2.12'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('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.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/MEGAN/MEGAN-6.22.0-Java-17.eb b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.22.0-Java-17.eb new file mode 100644 index 00000000000..190ba82798a --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.22.0-Java-17.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'MEGAN' +version = '6.22.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://megan.informatik.uni-tuebingen.de/' +description = "MEGAN is a comprehensive toolbox for interactively analyzing microbiome data" + +toolchain = SYSTEM + +local_installer = '%%(name)s_Community_unix_%s.sh' % version.replace('.', '_') +source_urls = ['https://software-ab.informatik.uni-tuebingen.de/download/%(namelower)s%(version_major)s'] +sources = [local_installer] +checksums = ['f9122124a470179dec2306bf5e59c6b6dd80843f8c11a268b3a036af709731fb'] + +dependencies = [('Java', '17')] + +install_cmd = 'chmod +x %s && ./%s -q -dir %%(installdir)s' % (local_installer, local_installer) + +postinstallcmds = ["rm %(installdir)s/uninstall"] + +sanity_check_paths = { + 'files': ['MEGAN'], + 'dirs': ['jars', 'jars2', 'tools'], +} + +sanity_check_commands = [ + ('megan-server', '-h'), +] + +modextrapaths = { + 'PATH': ['tools', 'tools/utils'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEGAN/MEGAN-6.25.3-Java-17.eb b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.25.3-Java-17.eb new file mode 100644 index 00000000000..6d8ff7d7664 --- /dev/null +++ b/easybuild/easyconfigs/m/MEGAN/MEGAN-6.25.3-Java-17.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'MEGAN' +version = '6.25.3' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://megan.informatik.uni-tuebingen.de/' +description = "MEGAN is a comprehensive toolbox for interactively analyzing microbiome data" + +toolchain = SYSTEM + +local_installer = '%%(name)s_Community_unix_%s.sh' % version.replace('.', '_') + +source_urls = ['https://software-ab.cs.uni-tuebingen.de/download/megan%(version_major)s/'] +sources = [local_installer] +checksums = ['0dcb317250f12e8a193442d9710f3bce2a9bbce79e509dd1d2f54d337c988e62'] + +dependencies = [('Java', '17')] + +install_cmd = 'chmod +x %s && ./%s -q -dir %%(installdir)s' % (local_installer, local_installer) + +postinstallcmds = ["rm %(installdir)s/uninstall"] + +sanity_check_paths = { + 'files': ['MEGAN'], + 'dirs': ['jars', 'jars2', 'tools'], +} + +sanity_check_commands = ["megan-server --help"] + +modextrapaths = { + 'PATH': ['tools', 'tools/utils'], +} + +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 new file mode 100644 index 00000000000..49b56756c7a --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'MEME' +version = '5.4.1' + +homepage = 'https://meme-suite.org/meme/index.html' +description = """The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or + GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using + MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate + motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment + using SpaMo or CentriMo.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c07fb8afafa60fc5e84ca24493c82fa6f4bd1df1a2622102edbf86a1c30fd11f'] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Perl', '5.32.1'), + ('Python', '3.9.5') +] + +configopts = '--enable-build-libxml2 --enable-build-libxslt ' +configopts += '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' + +sanity_check_paths = { + 'files': ["bin/%(namelower)s", "bin/dreme", "bin/%(namelower)s-chip"], + 'dirs': ["lib"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..a0127e5697c --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b-Python-2.7.18.eb @@ -0,0 +1,62 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'MEME' +version = '5.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://meme-suite.org/meme/index.html' +description = """The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or + GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using + MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate + motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment + using SpaMo or CentriMo.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c07fb8afafa60fc5e84ca24493c82fa6f4bd1df1a2622102edbf86a1c30fd11f'] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), + ('Python', '2.7.18'), + ('Ghostscript', '9.54.0'), + ('XML-Compile', '1.63'), +] + +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' +# config.log should indicate that all required/optional dependencies were found (see scripts/dependencies.pl) +configopts += " && grep 'All required and optional Perl modules were found' config.log" + +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +runtest = 'test' + +fix_perl_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] +fix_python_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] + +sanity_check_paths = { + 'files': ['bin/dreme', 'bin/meme', 'bin/dreme', 'bin/meme-chip', 'libexec/meme-%(version)s/meme2meme'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "meme -h 2>&1 | grep 'Usage:'", + "meme2meme --help", + "perl -e 'require MemeSAX'", + "python -c 'import sequence'", +] + +modextrapaths = { + 'PATH': ['libexec/meme-%(version)s'], + 'PERL5LIB': ['lib/meme-%(version)s/perl'], + 'PYTHONPATH': ['lib/meme-%(version)s/python'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b.eb b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b.eb new file mode 100644 index 00000000000..9a0f963d4d6 --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.4.1-gompi-2021b.eb @@ -0,0 +1,63 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'MEME' +version = '5.4.1' + +homepage = 'https://meme-suite.org/meme/index.html' +description = """The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or + GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using + MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate + motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment + using SpaMo or CentriMo.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c07fb8afafa60fc5e84ca24493c82fa6f4bd1df1a2622102edbf86a1c30fd11f'] + +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('Ghostscript', '9.54.0'), + ('XML-Compile', '1.63'), +] + +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' +configopts += '--with-gs=${EBROOTGHOSTSCRIPT}/bin/gs ' +# config.log should indicate that all required/optional dependencies were found (see scripts/dependencies.pl) +configopts += " && grep 'All required and optional Perl modules were found' config.log" + +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +# test xstreme4 fails on Ubuntu 20.04, see: https://groups.google.com/g/meme-suite/c/GlfpGwApz1Y +runtest = 'test' + +fix_perl_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] +fix_python_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] + +sanity_check_paths = { + 'files': ['bin/meme', 'bin/dreme', 'bin/meme-chip', 'libexec/meme-%(version)s/meme2meme'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "mpirun meme -h 2>&1 | grep 'Usage:'", + "meme2meme --help", + "perl -e 'require MemeSAX'", + "python -c 'import sequence_py3'", +] + +modextrapaths = { + 'PATH': ['libexec/meme-%(version)s'], + 'PERL5LIB': ['lib/meme-%(version)s/perl'], + 'PYTHONPATH': ['lib/meme-%(version)s/python'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEME/MEME-5.5.4-gompi-2022b.eb b/easybuild/easyconfigs/m/MEME/MEME-5.5.4-gompi-2022b.eb new file mode 100644 index 00000000000..3c54ce3096a --- /dev/null +++ b/easybuild/easyconfigs/m/MEME/MEME-5.5.4-gompi-2022b.eb @@ -0,0 +1,63 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'MEME' +version = '5.5.4' + +homepage = 'https://meme-suite.org/meme/index.html' +description = """The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or + GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using + MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate + motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment + using SpaMo or CentriMo.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} + +source_urls = ['https://%(namelower)s-suite.org/%(namelower)s/%(namelower)s-software/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cda6011c2b855bf2563c4e7a2c255e11e99b5b6e5e73736ff008942507580153'] + +dependencies = [ + ('libxml2', '2.10.3'), + ('libxslt', '1.1.37'), + ('zlib', '1.2.12'), + ('Perl', '5.36.0'), + ('Python', '3.10.8'), + ('Ghostscript', '10.0.0'), + ('XML-Compile', '1.63'), +] + +configopts = '--with-perl=${EBROOTPERL}/bin/perl --with-python=${EBROOTPYTHON}/bin/python ' +configopts += '--with-gs=${EBROOTGHOSTSCRIPT}/bin/gs ' +# config.log should indicate that all required/optional dependencies were found (see scripts/dependencies.pl) +configopts += " && grep 'All required and optional Perl modules were found' config.log" + +pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " +# test xstreme4 fails on Ubuntu 20.04, see: https://groups.google.com/g/meme-suite/c/GlfpGwApz1Y +runtest = 'test' + +fix_perl_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] +fix_python_shebang_for = ['bin/*', 'libexec/meme-%(version)s/*'] + +sanity_check_paths = { + 'files': ['bin/meme', 'bin/dreme', 'bin/meme-chip', 'libexec/meme-%(version)s/meme2meme'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "mpirun meme -h 2>&1 | grep 'Usage:'", + "meme2meme --help", + "perl -e 'require MemeSAX'", + "python -c 'import sequence_py3'", +] + +modextrapaths = { + 'PATH': ['libexec/meme-%(version)s'], + 'PERL5LIB': ['lib/meme-%(version)s/perl'], + 'PYTHONPATH': ['lib/meme-%(version)s/python'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb b/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb new file mode 100644 index 00000000000..9483459e6fd --- /dev/null +++ b/easybuild/easyconfigs/m/MEMOTE/MEMOTE-0.13.0-foss-2021a.eb @@ -0,0 +1,134 @@ +## +# 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 = 'PythonBundle' + +name = 'MEMOTE' +version = '0.13.0' + +homepage = 'https://github.com/opencobra/memote' +description = """The genome-scale metabolic model test suite""" +# software_license = 'LicenseApachev2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('COBRApy', '0.26.0'), + ('GitPython', '3.1.18'), + ('boto3', '1.20.13'), + ('openpyxl', '3.0.7'), + ('PyYAML', '5.4.1'), +] + +use_pip = True + +exts_list = [ + ('click-configfile', '0.2.3', { + 'checksums': ['95beec13bee950e98f43c81dcdabef4f644091559ea66298f9dadf59351d90d1'], + }), + ('click-log', '0.4.0', { + 'checksums': ['3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975'], + }), + ('binaryornot', '0.4.4', { + 'checksums': ['359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('jinja2-time', '0.2.0', { + 'checksums': ['d14eaa4d315e7688daa4969f616f226614350c48730bfa1692d2caebd8c90d40'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '7.0.0', { + 'modulename': 'slugify', + 'checksums': ['7a0f21a39fa6c1c4bf2e5984c9b9ae944483fd10b54804cb0e23a3ccd4954f0b'], + }), + ('cookiecutter', '2.1.1', { + 'checksums': ['f3982be8d9c53dac1261864013fdec7f83afd2e42ede6f6dd069c5e149c540d5'], + }), + ('numpydoc', '1.1.0', { + 'checksums': ['c36fd6cb7ffdc9b4e165a43f67bf6271a7b024d0bb6b00ac468c9e2bfc76448e'], + }), + ('click-default-group', '1.2.2', { + 'checksums': ['d9560e8e8dfa44b3562fbc9425042a0fd6d21956fcc2db0077f63f34253ab904'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('datapackage', '1.15.2', { + 'checksums': ['1e91a18c866914dea0acfe2aec785e6ec583c33766b0682c740b30bb7de88c58'], + }), + ('simpleeval', '0.9.12', { + 'checksums': ['3e0be507486d4e21cf9d08847c7e57dd61a1603950399985f7c5a0be7fd33e36'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + ('greenlet', '2.0.1', { + 'checksums': ['42e602564460da0e8ee67cb6d7236363ee5e131aa15943b6670e44e5c2ed0f67'], + }), + ('SQLAlchemy', '1.4.44', { + 'modulename': 'sqlalchemy', + 'checksums': ['2dda5f96719ae89b3ec0f1b79698d86eb9aecb1d54e990abb3fdd92c04b46a90'], + }), + ('unicodecsv', '0.14.1', { + 'checksums': ['018c08037d48649a0412063ff4eda26eaa81eff1546dbffa51fa5293276ff7fc'], + }), + ('ijson', '3.1.4', { + 'checksums': ['1d1003ae3c6115ec9b587d29dd136860a81a23c7626b682e2b5b12c9fd30e4ea'], + }), + ('jsonlines', '3.1.0', { + 'checksums': ['2579cb488d96f815b0eb81629e3e6b0332da0962a18fa3532958f7ba14a5c37f'], + }), + ('linear-tsv', '1.1.0', { + 'modulename': 'tsv', + 'checksums': ['b504d78f4075615ae75de86a16e5680701a441fc84da2a2cf9f94351ab1ccbf5'], + }), + ('tabulator', '1.53.5', { + 'checksums': ['0e2887d0b36483a292e75b118d7f03e710c1337435553b5f62d2a7a891b7fe55'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('tableschema', '1.20.2', { + 'checksums': ['cfa3b0aa1c0941002384c6288794f9488cb5ea9188cf84ac700d17758cb036e7'], + }), + ('goodtables', '2.5.4', { + 'checksums': ['67c51ac98967684763adb6406f92a683571d144b3a80095b0351a65f49848027'], + }), + ('pylru', '1.2.1', { + 'checksums': ['47ad140a63ab9389648dadfbb4330700e0ffeeb28ec04664ee47d37ed133b0f4'], + }), + ('pyperclip', '1.6.0', { + 'checksums': ['ce829433a9af640e08ee89b20f7c62132714bcc5d77df114044d0fccb8c3b3b8'], + }), + ('travis-encrypt', '1.1.2', { + 'modulename': 'travis', + 'checksums': ['0eaec20d99fb7a6051dae39195a51d81c365097675ad921d6c6381eabf014ce5'], + }), + ('memote', version, { + 'checksums': ['574620e67e461c6a2003ecd2c9bda01cafe5919c4c6f1653e382b9d74d8af05c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/memote'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["memote"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b520001ee95 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +name = 'METIS' +version = '5.1.0' + +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.2.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 32bit for indices and 64bit for content +patches = ['%(name)s-%(version)s-use-doubles.patch'] + +checksums = [ + '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2', # source + '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67', # patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' 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/METIS/METIS-5.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d3593b8ed0e --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +name = 'METIS' +version = '5.1.0' + +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 32bit for indices and 64bit for content +patches = ['%(name)s-%(version)s-use-doubles.patch'] + +checksums = [ + '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2', # source + '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67', # patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..03684045b7f --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +name = 'METIS' +version = '5.1.0' + +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': '12.2.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 32bit for indices and 64bit for content +patches = ['%(name)s-%(version)s-use-doubles.patch'] + +checksums = [ + '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2', # source + '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67', # patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2a363ae76ca --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +name = 'METIS' +version = '5.1.0' + +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': '12.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] +patches = ['%(name)s-%(version)s-use-doubles.patch'] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, +] + +# We use 32bit for indices and 64bit for content +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..20d6766c825 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +name = 'METIS' +version = '5.1.0' + +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': '13.2.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] +patches = ['%(name)s-%(version)s-use-doubles.patch'] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, +] + +# We use 32bit for indices and 64bit for content +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..417e4750ef9 --- /dev/null +++ b/easybuild/easyconfigs/m/METIS/METIS-5.1.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +name = 'METIS' +version = '5.1.0' + +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': '13.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] +patches = ['%(name)s-%(version)s-use-doubles.patch'] +checksums = [ + {'metis-5.1.0.tar.gz': '76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2'}, + {'METIS-5.1.0-use-doubles.patch': '7e38a3ec8f2b8e3d189239bade5b28c0dd1c564485050109164fa71a6a767c67'}, +] + +# We use 32bit for indices and 64bit for content +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +configopts = ['', 'shared=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb new file mode 100644 index 00000000000..2f2d4eb9cbc --- /dev/null +++ b/easybuild/easyconfigs/m/MICOM/MICOM-0.33.2-foss-2023b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'MICOM' +version = '0.33.2' + +homepage = 'https://github.com/micom-dev/micom' +description = "Python package to study microbial communities using metabolic modeling." + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('hatchling', '1.18.0'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), + ('COBRApy', '0.29.0'), + ('scikit-learn', '1.4.0'), + ('SymEngine-python', '0.11.0'), + ('PyYAML', '6.0.1'), + ('coverage', '7.4.4'), + ('HiGHS', '1.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('qdldl', '0.1.7.post0', { + 'checksums': ['f346a114c8342ee6d4dbd6471eef314199fb268d3bf7b95885ca351fde2b023f'], + }), + ('osqp', '0.6.5', { + 'checksums': ['b2810aee7be2373add8b6c0be5ad99b810288774abca421751cb032d6a5aedef'], + }), + ('micom', version, { + 'checksums': ['0fd335b178badcd9a1d96d1b6f2568b15da922be2fa57e8a6004971510f3708b'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb b/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb new file mode 100644 index 00000000000..b27d825a42d --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/MIGRATE-N-5.0.4-foss-2021b.eb @@ -0,0 +1,49 @@ +easyblock = 'MakeCp' + +name = 'MIGRATE-N' +version = '5.0.4' + +homepage = 'https://peterbeerli.com/migrate-html5/index.html' +description = """ +Migrate estimates population parameters, effective population sizes +and migration rates of n populations, using genetic data. It +uses a coalescent theory approach taking into account history of +mutations and uncertainty of the genealogy. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ["https://peterbeerli.com/migrate-html5/download_version4"] +sources = ['migrate-%(version)s.src.tar.gz'] +patches = [ + 'migrate-%(version)s_install.patch', + 'migrate-%(version)s_locale.patch', +] +checksums = [ + 'd25ba8ed112b81ee5fdc77759a5886b0f50ece834fd8db445b9c833742c3a1b9', # migrate-5.0.4.src.tar.gz + 'aaba4dbd8d868f80afd9645ae84d5b8c153de85a4f616a8585950593655d6fcf', # migrate-5.0.4_install.patch + '67f2dec0a2fcd432e12747f979a381f7d5e5ad73b885b485c829e50613aba35b', # migrate-5.0.4_locale.patch +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +parallel = 1 +start_dir = 'src' + +prebuildopts = './configure --prefix=%(installdir)s --enable-A4 "CC=$CC" STDCPLUS=-lstdc++ && ' +buildopts = ' && make mpis CC="$MPICC"' +files_to_copy = [(['migrate-n', 'migrate-n-mpi'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['migrate-n', 'migrate-n-mpi']], + 'dirs': [], +} + +sanity_check_commands = [ + "echo Q | migrate-n", + "echo Q | mpirun -np 1 migrate-n-mpi", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch new file mode 100644 index 00000000000..ba33af1af0a --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_install.patch @@ -0,0 +1,14 @@ +Create parent directories during install +Author: B. Hajgato +Updated: Orient Kružík (INUITS) +--- migrate-5.0.3_orig/src/configure 2021-11-08 22:48:21.000000000 +0100 ++++ migrate-5.0.3/src/configure 2022-05-09 17:15:29.368752420 +0200 +@@ -4104,7 +4104,7 @@ + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then +- ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" ++ ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c -D" + break 3 + fi + fi \ No newline at end of file diff --git a/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch new file mode 100644 index 00000000000..29cd65e5d99 --- /dev/null +++ b/easybuild/easyconfigs/m/MIGRATE-N/migrate-5.0.4_locale.patch @@ -0,0 +1,15 @@ +Don't use the xlocale.h header since it is an OS package and not always provided. +Author: R. van Dijk, 2018-03-07 +Updated by: Orient Kružík (INUITS) +--- migrate-5.0.3_orig/src/src/data.c 2022-04-03 00:11:20.000000000 +0200 ++++ migrate-5.0.3/src/src/data.c 2022-05-09 17:17:46.836503576 +0200 +@@ -53,9 +53,6 @@ + + #include + #include +-#ifndef WIN32 +-#include +-#endif + #include "migration.h" + #include "sighandler.h" + #include "tools.h" \ No newline at end of file diff --git a/easybuild/easyconfigs/m/MINPACK/MINPACK-19961126-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MINPACK/MINPACK-19961126-GCC-10.3.0.eb new file mode 100644 index 00000000000..b72a883fe66 --- /dev/null +++ b/easybuild/easyconfigs/m/MINPACK/MINPACK-19961126-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'MINPACK' +version = '19961126' + +homepage = 'https://www.netlib.org/minpack/' +description = """Minpack includes software for solving nonlinear equations and + nonlinear least squares problems. Five algorithmic paths each include + a core subroutine and an easy-to-use driver. The algorithms proceed + either from an analytic specification of the Jacobian matrix or + directly from the problem functions. The paths include facilities for + systems of equations with a banded Jacobian matrix, for least squares + problems with a large amount of data, and for checking the consistency + of the Jacobian matrix with the functions. +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://ftp.debian.org/debian/pool/main/m/minpack'] +sources = ['%(namelower)s_%(version)s+dfsg1.orig.tar.gz'] +checksums = ['7d10509cc0faefcbe38a06453cb13a40aaecd2bebc1594fb7ee0943429d8f6d1'] + +builddependencies = [ + ('Autotools', '20210128'), + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = 'autoreconf -if &&' + +_libs = ['lib/lib%%(namelower)s.%s' % x for x in ['a', 'la', SHLIB_EXT]] +sanity_check_paths = { + 'files': ['include/%(namelower)s.h'] + _libs, + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb new file mode 100644 index 00000000000..062d990ae97 --- /dev/null +++ b/easybuild/easyconfigs/m/MIRA/MIRA-5.0rc2-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'MIRA' +version = '5.0rc2' + +homepage = 'https://sourceforge.net/p/mira-assembler/wiki/Home/' +description = """MIRA is a whole genome shotgun and EST sequence assembler for Sanger, 454, Solexa (Illumina), + IonTorrent data and PacBio (the latter at the moment only CCS and error-corrected CLR reads).""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = ['mira-V5rc2.tar.bz2'] +source_urls = ['https://github.com/bachev/mira/releases/download/V5rc2/'] +checksums = ['4255aa9c4f09ec686b1c717bffe2dd124d3ef9b87f00e74d1bcd51b8599b8e44'] + +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -fpermissive" && ' + +configopts = '--with-boost=$EBROOTBOOST --with-expat=$EBROOTEXPAT --with-zlib=$EBROOTZLIB ' + +builddependencies = [ + ('flex', '2.6.4'), +] +dependencies = [ + ('Boost', '1.74.0'), + ('zlib', '1.2.11'), + ('expat', '2.2.9'), +] + +sanity_check_paths = { + 'files': ["bin/mira"], + 'dirs': ["bin"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MITObim/MITObim-1.9.1-foss-2020b.eb b/easybuild/easyconfigs/m/MITObim/MITObim-1.9.1-foss-2020b.eb new file mode 100644 index 00000000000..6711cda43d7 --- /dev/null +++ b/easybuild/easyconfigs/m/MITObim/MITObim-1.9.1-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = "CmdCp" + +name = 'MITObim' +version = '1.9.1' + +homepage = "https://github.com/chrishah/MITObim" +description = """The MITObim procedure (mitochondrial baiting and iterative mapping) represents + a highly efficient approach to assembling novel mitochondrial genomes of non-model organisms + directly from total genomic DNA derived NGS reads.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'chrishah' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8f7d47eb6ea677ca152492a477ee6c7542c0f853e921675b81be509ddd4f75bf'] + +dependencies = [ + ('Perl', '5.32.0'), + ('MIRA', '5.0rc2'), +] + +skipsteps = ['build'] + +files_to_copy = [ + (['MITObim.pl'], 'bin'), +] + +sanity_check_paths = { + 'files': ["bin/MITObim.pl"], + 'dirs': [] +} + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb b/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb new file mode 100644 index 00000000000..12bc9138bfa --- /dev/null +++ b/easybuild/easyconfigs/m/MITgcmutils/MITgcmutils-0.1.2-foss-2022a.eb @@ -0,0 +1,45 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MITgcmutils' +version = '0.1.2' + +homepage = 'https://mitgcm.org/' +description = """A numerical model designed for study of the atmosphere, ocean, +and climate, MITgcm’s flexible non-hydrostatic formulation enables it to +efficiently simulate fluid phenomena over a wide range of scales; its adjoint +capabilities enable it to be applied to sensitivity questions and to parameter +and state estimation problems. By employing fluid equation isomorphisms, a +single dynamical kernel can be used to simulate flow of both the atmosphere +and ocean. The model is developed to perform efficiently on a wide variety of +computational platforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['5f15e0ad7a1e2451532facd3e83e8a0a2cea41d5c04df8272c4d31780e28ab2d'], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'modulename': 'MITgcmutils', + }), +] + +sanity_check_paths = { + 'files': ['bin/gluemncbig'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "gluemncbig --help", +] + +moduleclass = 'geo' 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/MMseqs2/MMseqs2-1-c7a89-foss-2016b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-1-c7a89-foss-2016b.eb index 818052dcf9d..a6533f3fb00 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-1-c7a89-foss-2016b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-1-c7a89-foss-2016b.eb @@ -17,11 +17,9 @@ source_urls = ['https://github.com/soedinglab/MMseqs2/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['e756a0e5cb3aa8e1e5a5b834a58ae955d9594be1806f0f32800427c55f3a45d5'] -separate_build_dir = True - builddependencies = [('CMake', '3.4.3')] -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' dependencies = [ ('zlib', '1.2.8'), diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-gompi-2019b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-gompi-2019b.eb index 77d564b2bc8..c61306b9936 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-gompi-2019b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-gompi-2019b.eb @@ -20,9 +20,7 @@ checksums = ['62415e545706adc6e9e6689d34902f405ab5e5c67c8c7562bdd9dd4da2088697'] builddependencies = [('CMake', '3.15.3')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' sanity_check_paths = { 'files': ['bin/mmseqs'], diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-iimpi-2019b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-iimpi-2019b.eb index ce11764bfb4..46da7624b74 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-iimpi-2019b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-10-6d92c-iimpi-2019b.eb @@ -18,9 +18,7 @@ checksums = [ builddependencies = [('CMake', '3.15.3')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' sanity_check_paths = { 'files': ['bin/mmseqs'], diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-11-e1a1c-iimpi-2019b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-11-e1a1c-iimpi-2019b.eb index 668c50a0754..2ab31a38aa8 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-11-e1a1c-iimpi-2019b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-11-e1a1c-iimpi-2019b.eb @@ -24,9 +24,7 @@ checksums = [ builddependencies = [('CMake', '3.15.3')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' sanity_check_paths = { 'files': ['bin/mmseqs'], diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211006-gompi-2020b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211006-gompi-2020b.eb new file mode 100644 index 00000000000..59646fc55e3 --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211006-gompi-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +local_commit = '49c2b70' +version = '13-45111-20211006' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['bb70cd38e6e27f136263250c0c6a9f045d1e4a883d2a93a54e708fb8e2ec4098'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211019-gompi-2020b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211019-gompi-2020b.eb new file mode 100644 index 00000000000..0277029f5d3 --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-20211019-gompi-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +local_commit = '9cc89aa' +version = '13-45111-20211019' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['b1b89aa2b5ccd97411000d8ba7d296f6134818f475b47e3d7672b071b9ff47f3'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2020b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2020b.eb index 876e969d182..0e1cf8f454a 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2020b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2020b.eb @@ -17,10 +17,6 @@ builddependencies = [('CMake', '3.18.4')] dependencies = [('bzip2', '1.0.8')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' - sanity_check_paths = { 'files': ['bin/mmseqs'], 'dirs': [], diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021a.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021a.eb new file mode 100644 index 00000000000..79c3a69f62c --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +version = '13-45111' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['6444bb682ebf5ced54b2eda7a301fa3e933c2a28b7661f96ef5bdab1d53695a2'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021b.eb new file mode 100644 index 00000000000..0e81aa222eb --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-13-45111-gompi-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +version = '13-45111' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['6444bb682ebf5ced54b2eda7a301fa3e933c2a28b7661f96ef5bdab1d53695a2'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2022a.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2022a.eb new file mode 100644 index 00000000000..bff916cb3b7 --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +version = '14-7e284' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a15fd59b121073fdcc8b259fc703e5ce4c671d2c56eb5c027749f4bd4c28dfe1'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2023a.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2023a.eb new file mode 100644 index 00000000000..8cf62d2fc23 --- /dev/null +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-14-7e284-gompi-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'MMseqs2' +version = '14-7e284' + +homepage = 'https://mmseqs.com' +description = "MMseqs2: ultra fast and sensitive search and clustering suite" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'soedinglab' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a15fd59b121073fdcc8b259fc703e5ce4c671d2c56eb5c027749f4bd4c28dfe1'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [('bzip2', '1.0.8')] + +sanity_check_paths = { + 'files': ['bin/mmseqs'], + 'dirs': [], +} + +sanity_check_commands = ["mmseqs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-5-9375b-intel-2018a.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-5-9375b-intel-2018a.eb index ad123863b1a..cff65efb666 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-5-9375b-intel-2018a.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-5-9375b-intel-2018a.eb @@ -14,9 +14,7 @@ checksums = ['3f2905b01ab61d2ce0c30acbf53ed7eb3b36171da748d327da5edcbf1472bf59'] builddependencies = [('CMake', '3.10.2')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' sanity_check_paths = { 'files': ['bin/mmseqs'], diff --git a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-8-fac81-intel-2018b.eb b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-8-fac81-intel-2018b.eb index aa1307b0c4e..540dabdb605 100644 --- a/easybuild/easyconfigs/m/MMseqs2/MMseqs2-8-fac81-intel-2018b.eb +++ b/easybuild/easyconfigs/m/MMseqs2/MMseqs2-8-fac81-intel-2018b.eb @@ -14,9 +14,7 @@ checksums = ['035d1c9a5fcfae50bc2d201f177722bd79d95d3ba32342972baa7b142b52aa82'] builddependencies = [('CMake', '3.12.1')] -separate_build_dir = True - -configopts = '-DCMAKE_BUILD_TYPE=RELEASE' +build_type = 'RELEASE' sanity_check_paths = { 'files': ['bin/mmseqs'], diff --git a/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb new file mode 100644 index 00000000000..d16e5256624 --- /dev/null +++ b/easybuild/easyconfigs/m/MNE-Python/MNE-Python-0.24.1-foss-2021a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'MNE-Python' +version = '0.24.1' + +homepage = 'https://mne.tools/stable/index.html' +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.2'), + ('scikit-learn', '0.24.2'), + ('numba', '0.53.1'), + ('NiBabel', '3.2.1'), + ('h5py', '3.2.1'), + ('imageio', '2.10.5'), + ('VTK', '9.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pooch', '0.5.2', { + 'checksums': ['3d1d815b6b7d0af851d6eb28e6a91d7c99e0c46a528389b37131c73661200908'], + }), + ('python-picard', '0.7', { + 'modulename': 'picard', + 'checksums': ['8061a1f0c4660c805b7617f2f0bd0284c6e6e84ac3ec782081c67b27cfd185a7'], + }), + ('dipy', '1.4.1', { + 'checksums': ['b4bf830feae751f3f985d54cb71031fc35cea612838320f1f74246692b8a3cc0'], + }), + ('scooby', '0.5.12', { + 'checksums': ['874828e38834c1ccb2236a7491e0739675086608c6588abf132cdd0049458192'], + }), + ('pyvista', '0.33.3', { + 'checksums': ['ad690d892185de64695d2ec4b793afa94f3a2b401d8054aa49c363983da67d08'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('mffpy', '0.7.1', { + 'checksums': ['83ab48ac12d133a1e06c1f4faaa604a6042370dee26e62f3f3e462bb272b3f16'], + }), + ('h5io', '0.1.7', { + 'checksums': ['be2684e678a28a5d59140de838f0165f095af865e48b8e498a279a3c2b89303e'], + }), + (name, version, { + 'modulename': 'mne', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/mne-tools/mne-python/archive/'], + 'checksums': ['d2283cbfc926eb0c395d8c14180f4699a697017d3e58026be24f2eb7d385fdb7'], + }), +] + +moduleclass = 'math' 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-0.4.6-foss-2021a.eb b/easybuild/easyconfigs/m/MOABB/MOABB-0.4.6-foss-2021a.eb new file mode 100644 index 00000000000..dffd885177d --- /dev/null +++ b/easybuild/easyconfigs/m/MOABB/MOABB-0.4.6-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'MOABB' +version = '0.4.6' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('MNE-Python', '0.24.1'), + ('h5py', '3.2.1'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('Seaborn', '0.11.2'), + ('PyYAML', '5.4.1'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +# relax requirements of unmatchable dependencies (requirements seem quite arbitrary) +_relax_req = ';'.join(['s/^%s.*/%s = "*"/' % (d, d) for d in ['scikit-learn', 'tqdm']]) + +exts_list = [ + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('coverage', '5.5', { + 'checksums': ['ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c'], + }), + ('pyriemann', '0.2.7', { + 'checksums': ['1feed8f72d94414bdc9ca4485333711a3f91f9742ae8794874a7399f4166758a'], + }), + ('moabb', version, { + 'preinstallopts': "sed -i '%s' pyproject.toml &&" % _relax_req, + 'checksums': ['4278be10aa721ba3ced0b03037901cccfeaeca6d04f7a157f1cf42f60395757d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' 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/MOABS/MOABS-1.3.9.6-gompi-2019b.eb b/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb index a653b96e11d..26a5aed8aa3 100644 --- a/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb +++ b/easybuild/easyconfigs/m/MOABS/MOABS-1.3.9.6-gompi-2019b.eb @@ -41,7 +41,7 @@ sanity_check_paths = { 'dirs': [] } sanity_check_commands = [ - "bsmap -h 2>&1 | grep 'bsmap \[options\]'", + r"bsmap -h 2>&1 | grep 'bsmap \[options\]'", "mcall -h | grep 'Allowed options'", "mcomp -h | grep 'Allowed options for methComp'", "moabs 2>&1 | grep 'Version : %(version)s'", diff --git a/easybuild/easyconfigs/m/MOB-suite/MOB-suite-3.1.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MOB-suite/MOB-suite-3.1.0-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..be9c4937022 --- /dev/null +++ b/easybuild/easyconfigs/m/MOB-suite/MOB-suite-3.1.0-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'MOB-suite' +version = '3.1.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/phac-nml/mob-suite' +description = "Software tools for clustering, reconstruction and typing of plasmids from draft assemblies" + +toolchain = {'name': 'foss', 'version': '2019b'} + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('Biopython', '1.75', versionsuffix), + ('PycURL', '7.43.0.5', versionsuffix), + ('PyTables', '3.6.1', versionsuffix), + ('ETE', '3.1.2', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mob-suite', version, { + 'sources': ['mob_suite-%(version)s.tar.gz'], + 'checksums': ['03b502673dd115ccceaf912330cb7f4e38b77c9ab895119891ecf8ef0e115f91'], + }), +] + +sanity_check_paths = { + 'files': ['bin/mob_init'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['mob_init -V'] + +moduleclass = 'bio' 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/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..99d3036b37a --- /dev/null +++ b/easybuild/easyconfigs/m/MOFA2/MOFA2-1.14.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,37 @@ +easyblock = 'RPackage' + +name = 'MOFA2' +version = '1.14.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rhandsontable/index.html' +description = """MOFA is a factor analysis model that provides a general framework + for the integration of multi-omic data sets in an unsupervised fashion. Intuitively, + MOFA can be viewed as a versatile and statistically rigorous generalization of principal + component analysis to multi-omics data. Given several data matrices with measurements + of multiple -omics data types on the same or on overlapping sets of samples, + MOFA infers an interpretable low-dimensional representation in terms of a few latent factors. + These learnt factors represent the driving sources of variation across data modalities, + thus facilitating the identification of cellular states or disease subgroups.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://bioconductor.org/packages/release/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.19/bioc/src/contrib/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['18975d2072c35160cc4f5218977e2c94ab82389478b65c5c6f3412c257dcc069'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), + ('SeuratDisk', '20231104', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MOKIT/MOKIT-1.2.6_20240830-gfbf-2023a.eb b/easybuild/easyconfigs/m/MOKIT/MOKIT-1.2.6_20240830-gfbf-2023a.eb new file mode 100644 index 00000000000..5b4aedbdadb --- /dev/null +++ b/easybuild/easyconfigs/m/MOKIT/MOKIT-1.2.6_20240830-gfbf-2023a.eb @@ -0,0 +1,64 @@ +easyblock = 'Bundle' + +name = 'MOKIT' +version = '1.2.6_20240830' +_commit = 'd66560a6a7926e5e21b45cbcc9213aaa26bd997d' + +homepage = 'https://github.com/1234zou/MOKIT' +description = """ +MOKIT offers various utilities and modules to transfer MOs among various quantum chemistry software packages.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +_makefile = 'Makefile.gnu_openblas_conda' +maxparallel = 1 + +default_component_specs = { + 'source_urls': ['https://github.com/1234zou/MOKIT/archive'], + 'checksums': ['b4e7224ac5b56e6d0116f7759a3017c57d527b1d35c32e3b2733904f7f7c4de5'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }], +} + +components = [ + (name, version, { + 'easyblock': 'MakeCp', + 'start_dir': 'MOKIT-%s/src' % _commit, + 'prebuildopts': 'sed -i -e "s/^MKL_FLAGS.*/MKL_FLAGS = $LIBBLAS/" %s && ' % _makefile, + 'buildopts': 'all -f %s' % _makefile, + 'files_to_copy': ['../bin'], + }), + ('mokit', version, { + 'easyblock': 'PythonPackage', + 'start_dir': 'MOKIT-%s' % _commit, + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'options': {'modulename': 'mokit'}, + }), +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + 'fch2inp | grep Example', + 'geom_opt | grep Example', + "python -s -c 'from mokit.lib.gaussian import load_mol_from_fch'", +] + +sanity_check_paths = { + 'files': ['bin/geom_opt', 'bin/fch2inp'], + 'dirs': ['lib/python3.11/site-packages/mokit'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MOLGW/MOLGW-3.3-foss-2023a.eb b/easybuild/easyconfigs/m/MOLGW/MOLGW-3.3-foss-2023a.eb new file mode 100644 index 00000000000..9a4730345d8 --- /dev/null +++ b/easybuild/easyconfigs/m/MOLGW/MOLGW-3.3-foss-2023a.eb @@ -0,0 +1,73 @@ +easyblock = 'MakeCp' + +name = 'MOLGW' +version = '3.3' + +homepage = 'https://www.molgw.org' +description = """MOLGW is a code that implements the many-body perturbation theory (MBPT) to +describe the excited electronic states in finite systems (atoms, molecules, +clusters). It most importantly implements the approximation for the self-energy +and the Bethe-Salpeter equation for the optical excitations. + +MOLGW comes with a fully functional density-functional theory (DFT) code to +prepare the subsequent MBPT runs. Standard local and semi-local approximations +to DFT are available, as well as several hybrid functionals and range-separated +hybrid functionals. MOLGW uses a Gaussian-type orbitals basis set so to reuse +all the standard quantum-chemistry tools.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +github_account = 'molgw' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ff1c8eb736049e52608d4554a2d435ee9d15e47c4a9934d41712962748929e81'] + +dependencies = [ + ('libxc', '6.2.2'), + ('libcint', '5.4.0', '-pypzpx'), + # Python utilities + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('PyYAML', '6.0'), +] + +_config_arch_params = { + 'FCFLAGS': '-cpp $FFLAGS', + 'CXXFLAGS': '-cpp $CXXFLAGS', + 'LAPACK': '$LIBLAPACK', + 'SCALAPACK': '$LIBSCALAPACK', + 'LIBXC_ROOT': '$EBROOTLIBXC', +} +_config_arch_sed = ';'.join(["s|^%s=.*|%s=%s|" % (k, k, v) for (k, v) in _config_arch_params.items()]) + +prebuildopts = 'cp config/my_machine_gfortran_mpi.arch src/my_machine.arch && ' +prebuildopts += 'sed "%s" -i src/my_machine.arch && ' % _config_arch_sed + +buildopts = 'molgw' + +runtest = 'test' + +files_to_copy = [ + (['molgw'], 'bin'), + (['basis', 'utils'], ''), +] + +fix_python_shebang_for = ['utils/*.py', 'utils/molgw/*.py'] + +postinstallcmds = ["cd %(installdir)s/bin && for pyfile in ../utils/*.py; do ln -s $pyfile; done"] + +sanity_check_paths = { + 'files': ['bin/molgw', 'bin/run_molgw.py'], + 'dirs': ['basis', 'utils'] +} + +sanity_check_commands = ["python -s -c 'import molgw'"] + +modextrapaths = { + 'PYTHONPATH': 'utils', + 'MOLGW_BASIS_PATH': 'basis', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MONA/MONA-1.4-18-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MONA/MONA-1.4-18-GCC-11.2.0.eb new file mode 100644 index 00000000000..2e3dfd0eeb3 --- /dev/null +++ b/easybuild/easyconfigs/m/MONA/MONA-1.4-18-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'MONA' +version = '1.4-18' + +homepage = 'https://www.brics.dk/mona/index.html' +description = """ +MONA is a tool that translates formulas to finite-state automata. The formulas +may express search patterns, temporal properties of reactive systems, parse +tree constraints, etc. MONA analyses the automaton resulting from the +compilation and prints out "valid" or a counter-example.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://www.brics.dk/mona/download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ece10e1e257dcae48dd898ed3da48f550c6b590f8e5c5a6447d0f384ac040e4c'] + +builddependencies = [('flex', '2.6.4')] + +install_cmd = 'make install-strip' + +sanity_check_paths = { + 'files': ['bin/mona'], + 'dirs': ['include/mona', 'lib', 'share'], +} + +sanity_check_commands = ['mona | grep "Usage: mona"'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..01c4c751e7b --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb @@ -0,0 +1,160 @@ +easyblock = 'PythonBundle' + +name = 'MONAI-Label' +version = '0.5.2' + +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://docs.monai.io/projects/label/en/latest/' +description = """MONAI Label is an intelligent open source image labeling and learning tool + that enables users to create annotated datasets and build AI annotation models for clinical evaluation. + MONAI Label enables application developers to build labeling apps in a serverless way, + where custom labeling apps are exposed as a service through the MONAI Label Server.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('torchvision', '0.13.1', '-CUDA-%(cudaver)s'), + ('torchaudio', '0.12.0', '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s'), + ('einops', '0.4.1'), + ('MONAI', '1.0.1', '-CUDA-%(cudaver)s'), + ('OpenCV', '4.6.0', '-CUDA-%(cudaver)s' + '-contrib'), + ('pydantic', '1.10.4'), + ('pydicom', '2.3.0'), + ('pydicom-seg', '0.4.1'), + ('GEOS', '3.10.3'), + ('SimpleITK', '2.1.1.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('diskcache', '5.6.1', { + 'checksums': ['e4c978532feff5814c4cc00fe1e11e40501985946643d73220d41ee7737c72c3'], + }), + ('starlette', '0.19.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5a60c5c2d051f3a8eb546136aa0c9399773a689595e099e0877704d5888279bf'], + }), + ('retrying', '1.3.4', { + 'checksums': ['345da8c5765bd982b1d1915deb9102fd3d1f7ad16bd84a9700b85f64d24e8f3e'], + }), + ('anyio', '3.7.0', { + 'checksums': ['275d9973793619a5374e1c89a4f4ad3f4b0a5510a2b5b939444bee8f4c4d37ce'], + }), + ('exceptiongroup', '1.1.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e'], + }), + ('dicomweb-client', '0.56.2', { + 'checksums': ['8e7782e3958dcb1db8912b5f1d689a4b9cc92e56e0684b98898c7b8c7b47beb1'], + }), + ('expiring-dict', '1.1.0', { + 'checksums': ['3c404adb1e4369468cb7e51bfbc9c470d7e2e863efe2a1c75d4ed706d0dce1a6'], + }), + ('expiringdict', '1.2.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['09a5d20bc361163e6432a874edd3179676e935eb81b925eccef48d409a8a45e8'], + }), + ('fastapi', '0.78.0', { + 'checksums': ['3233d4a789ba018578658e2af1a4bb5e38bdd122ff722b313666a9b2c6786a83'], + }), + ('girder-client', '3.1.14', { + 'checksums': ['30e874d50c32316df70bbb55ae66968639bcd19c22261f35439f0796c5cf8de1'], + }), + ('httpx', '0.23.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['42974f577483e1e932c3cdc3cd2303e883cbfba17fe228b0f63589764d7b9c4b'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('numpymaxflow', '0.0.2', { + 'checksums': ['28e906b7e1c275cf559acab3fad5553511ec25b84f538bece5d2c4f293862a79'], + }), + ('passlib', '1.7.4', { + 'checksums': ['defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04'], + }), + ('pynetdicom', '2.0.2', { + 'checksums': ['231212e9b9c5e0debf2af4f17d8afa14ecd1b262a11cdb891b2b2b15f7ab5939'], + }), + ('pynrrd', '0.4.3', { + 'modulename': 'nrrd', + 'checksums': ['e8b8a0e65b7c899201bf9dc42190cdd054478bfa967e3d34b8834652590c1e2b'], + }), + ('python-dotenv', '0.20.0', { + 'modulename': 'dotenv', + 'checksums': ['b7e3b04a59693c42c36f9ab1cc2acc46fa5df8c78e178fc33a8d4cd05c8d498f'], + }), + ('python-jose', '3.3.0', { + 'modulename': 'jose', + 'checksums': ['55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a'], + }), + ('python-multipart', '0.0.5', { + 'modulename': 'multipart', + 'checksums': ['f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43'], + }), + ('schedule', '1.1.0', { + 'checksums': ['e6ca13585e62c810e13a08682e0a6a8ad245372e376ba2b8679294f377dfc8e4'], + }), + ('Shapely', '1.8.2', { + 'checksums': ['572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6'], + }), + ('timeloop', '1.0.2', { + 'checksums': ['4e716c67fe6bcadcee7ddb91e2520792426818a70f27e630cfbbbd9becc48a13'], + }), + ('uvicorn', '0.17.6', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['19e2a0e96c9ac5581c01eb1a79a7d2f72bb479691acd2b8921fce48ed5b961a6'], + }), + ('watchdog', '2.1.8', { + 'checksums': ['6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff'], + }), + ('filelock', '3.7.1', { + 'checksums': ['3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04'], + }), + ('monailabel', version, { + 'source_urls': ['https://github.com/Project-MONAI/MONAILabel/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'patches': ['MONAI-Label-0.5.2_dep-fix.patch'], + 'checksums': [ + '9c4b14812f3db72fdccadfed36ecab1c8d18df3aa82c97ef16af18b5f4649a50', # MONAILabel-0.5.2.tar.gz + 'd920362ad31a903c8263334ed7791723026fbba22b082e9c4ec2a2ea69ec69fa', # MONAI-Label-0.5.2_dep-fix.patch + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/monailabel'], + 'dirs': [], +} + +sanity_check_commands = ["monailabel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..3d0905eca1f --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,159 @@ +easyblock = 'PythonBundle' + +name = 'MONAI-Label' +version = '0.5.2' + +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://docs.monai.io/projects/label/en/latest/' +description = """MONAI Label is an intelligent open source image labeling and learning tool + that enables users to create annotated datasets and build AI annotation models for clinical evaluation. + MONAI Label enables application developers to build labeling apps in a serverless way, + where custom labeling apps are exposed as a service through the MONAI Label Server.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', local_pytorch_version), + ('torchvision', '0.13.1'), + ('torchaudio', '0.12.0', '-PyTorch-%s' % local_pytorch_version), + ('einops', '0.4.1'), + ('MONAI', '1.0.1'), + ('OpenCV', '4.6.0', '-contrib'), + ('pydantic', '1.10.4'), + ('pydicom', '2.3.0'), + ('pydicom-seg', '0.4.1'), + ('GEOS', '3.10.3'), + ('SimpleITK', '2.1.1.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('asgiref', '3.7.2', { + 'checksums': ['9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.15.0', { + 'checksums': ['18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('diskcache', '5.6.1', { + 'checksums': ['e4c978532feff5814c4cc00fe1e11e40501985946643d73220d41ee7737c72c3'], + }), + ('starlette', '0.19.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5a60c5c2d051f3a8eb546136aa0c9399773a689595e099e0877704d5888279bf'], + }), + ('retrying', '1.3.4', { + 'checksums': ['345da8c5765bd982b1d1915deb9102fd3d1f7ad16bd84a9700b85f64d24e8f3e'], + }), + ('anyio', '3.7.0', { + 'checksums': ['275d9973793619a5374e1c89a4f4ad3f4b0a5510a2b5b939444bee8f4c4d37ce'], + }), + ('exceptiongroup', '1.1.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e'], + }), + ('dicomweb-client', '0.56.2', { + 'checksums': ['8e7782e3958dcb1db8912b5f1d689a4b9cc92e56e0684b98898c7b8c7b47beb1'], + }), + ('expiring-dict', '1.1.0', { + 'checksums': ['3c404adb1e4369468cb7e51bfbc9c470d7e2e863efe2a1c75d4ed706d0dce1a6'], + }), + ('expiringdict', '1.2.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['09a5d20bc361163e6432a874edd3179676e935eb81b925eccef48d409a8a45e8'], + }), + ('fastapi', '0.78.0', { + 'checksums': ['3233d4a789ba018578658e2af1a4bb5e38bdd122ff722b313666a9b2c6786a83'], + }), + ('girder-client', '3.1.14', { + 'checksums': ['30e874d50c32316df70bbb55ae66968639bcd19c22261f35439f0796c5cf8de1'], + }), + ('httpx', '0.23.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['42974f577483e1e932c3cdc3cd2303e883cbfba17fe228b0f63589764d7b9c4b'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('numpymaxflow', '0.0.2', { + 'checksums': ['28e906b7e1c275cf559acab3fad5553511ec25b84f538bece5d2c4f293862a79'], + }), + ('passlib', '1.7.4', { + 'checksums': ['defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04'], + }), + ('pynetdicom', '2.0.2', { + 'checksums': ['231212e9b9c5e0debf2af4f17d8afa14ecd1b262a11cdb891b2b2b15f7ab5939'], + }), + ('pynrrd', '0.4.3', { + 'modulename': 'nrrd', + 'checksums': ['e8b8a0e65b7c899201bf9dc42190cdd054478bfa967e3d34b8834652590c1e2b'], + }), + ('python-dotenv', '0.20.0', { + 'modulename': 'dotenv', + 'checksums': ['b7e3b04a59693c42c36f9ab1cc2acc46fa5df8c78e178fc33a8d4cd05c8d498f'], + }), + ('python-jose', '3.3.0', { + 'modulename': 'jose', + 'checksums': ['55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a'], + }), + ('python-multipart', '0.0.5', { + 'modulename': 'multipart', + 'checksums': ['f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43'], + }), + ('schedule', '1.1.0', { + 'checksums': ['e6ca13585e62c810e13a08682e0a6a8ad245372e376ba2b8679294f377dfc8e4'], + }), + ('Shapely', '1.8.2', { + 'checksums': ['572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6'], + }), + ('timeloop', '1.0.2', { + 'checksums': ['4e716c67fe6bcadcee7ddb91e2520792426818a70f27e630cfbbbd9becc48a13'], + }), + ('uvicorn', '0.17.6', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['19e2a0e96c9ac5581c01eb1a79a7d2f72bb479691acd2b8921fce48ed5b961a6'], + }), + ('watchdog', '2.1.8', { + 'checksums': ['6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff'], + }), + ('filelock', '3.7.1', { + 'checksums': ['3a0fd85166ad9dbab54c9aec96737b744106dc5f15c0b09a6744a445299fcf04'], + }), + ('monailabel', version, { + 'source_urls': ['https://github.com/Project-MONAI/MONAILabel/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'patches': ['MONAI-Label-0.5.2_dep-fix.patch'], + 'checksums': [ + '9c4b14812f3db72fdccadfed36ecab1c8d18df3aa82c97ef16af18b5f4649a50', # MONAILabel-0.5.2.tar.gz + 'd920362ad31a903c8263334ed7791723026fbba22b082e9c4ec2a2ea69ec69fa', # MONAI-Label-0.5.2_dep-fix.patch + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/monailabel'], + 'dirs': [], +} + +sanity_check_commands = ["monailabel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2_dep-fix.patch b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2_dep-fix.patch new file mode 100644 index 00000000000..a274659352b --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI-Label/MONAI-Label-0.5.2_dep-fix.patch @@ -0,0 +1,47 @@ +Some requirements are unnecessarily strict. +Use opencv-contrib-python (installed with OpenCV 4.6.0) instead of opencv-python-headless +Author: Petr Král (INUITS) +diff -u MONAILabel-0.5.2/requirements.txt.orig MONAILabel-0.5.2/requirements.txt +--- MONAILabel-0.5.2/requirements.txt.orig 2022-10-24 22:48:45.000000000 +0200 ++++ MONAILabel-0.5.2/requirements.txt 2023-06-23 13:11:07.961592853 +0200 +@@ -21,15 +21,15 @@ + schedule==1.1.0 + dicomweb-client==0.56.2 + timeloop==1.0.2 +-expiringdict==1.2.1 ++expiringdict>=1.2.1 + expiring_dict==1.1.0 + cachetools==5.2.0 + watchdog==2.1.8 + pydicom==2.3.0 +-pydicom-seg==0.4.0 ++pydicom-seg>=0.4.0 + pynetdicom==2.0.2 + pynrrd==0.4.3 +-opencv-python-headless==4.5.5.64 ++opencv-contrib-python>=4.6.0 + numpymaxflow==0.0.2 + girder-client==3.1.14 + ninja==1.10.2.3 +diff -u MONAILabel-0.5.2/setup.cfg.orig MONAILabel-0.5.2/setup.cfg +--- MONAILabel-0.5.2/setup.cfg.orig 2023-06-23 09:54:07.723287930 +0200 ++++ MONAILabel-0.5.2/setup.cfg 2023-06-23 13:11:24.785087729 +0200 +@@ -47,15 +47,15 @@ + schedule==1.1.0 + dicomweb-client==0.56.2 + timeloop==1.0.2 +- expiringdict==1.2.1 ++ expiringdict>=1.2.1 + expiring_dict==1.1.0 + cachetools==5.2.0 + watchdog==2.1.8 + pydicom==2.3.0 +- pydicom-seg==0.4.0 ++ pydicom-seg>=0.4.0 + pynetdicom==2.0.2 + pynrrd==0.4.3 +- opencv-python-headless==4.5.5.64 ++ opencv-contrib-python>=4.6.0 + numpymaxflow==0.0.2 + girder-client==3.1.14 + ninja==1.10.2.3 diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..64267d63a4a --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonPackage' + +name = 'MONAI' +version = '0.8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} + +github_account = 'Project-MONAI' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = [('b427c117250b24199ea88c0b3ec1a6d80a22958b4413b7c85c6318ef011f6479', + 'a63df7d5a680d9641c223ea090ff843a7d6f20bdb62095bd44f3b0480a4706ed')] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('ITK', '5.2.1'), + ('NiBabel', '3.2.1'), + ('scikit-image', '0.18.3'), + ('tensorboard', '2.8.0'), + ('torchvision', '0.11.3', versionsuffix), + ('tqdm', '4.61.2'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = 'BUILD_MONAI=1' + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [''], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb new file mode 100644 index 00000000000..2bdc812a6fe --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-0.8.0-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'MONAI' +version = '0.8.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': '2021a'} + +github_account = 'Project-MONAI' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = [('b427c117250b24199ea88c0b3ec1a6d80a22958b4413b7c85c6318ef011f6479', + 'a63df7d5a680d9641c223ea090ff843a7d6f20bdb62095bd44f3b0480a4706ed')] + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('ITK', '5.2.1'), + ('NiBabel', '3.2.1'), + ('scikit-image', '0.18.3'), + ('tensorboard', '2.8.0'), + ('torchvision', '0.11.3'), + ('tqdm', '4.61.2'), +] + +use_pip = True +download_dep_fail = True + +preinstallopts = 'BUILD_MONAI=1' + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import monai; monai.config.print_config()'"] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [''], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..23b259a17e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,89 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} + +github_account = 'Project-MONAI' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyTorch-Ignite', '0.4.12', versionsuffix), + ('einops', '0.4.1'), + ('ITK', '5.2.1'), + ('NiBabel', '4.0.2'), + ('scikit-image', '0.19.3'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1', versionsuffix), + ('tqdm', '4.64.0'), + ('Pillow', '9.1.1'), + ('openslide-python', '1.2.0'), + ('BeautifulSoup', '4.10.0'), +] + +# install MONAI with list of 'extras', which require additional dependencies +local_pip_extras = "nibabel,skimage,pillow,tensorboard,gdown,ignite,torchvision,itk,tqdm,lmdb,psutil,openslide,fire" + +# avoid using hatchling as build backend (since installing it for this old Python version is a nightmare) +local_preinstallopts_termcolor = ' '.join([ + r"""sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """, + r"""-e 's/^requires = \[/requires = \["setuptools"/g' """, + r"""-e '/"hatch/d' """, + # replace dynamic version with hardcoded version + r"""-e '/"version"/d' """, + r"""-e 's/^readme = .*/version = "%(version)s"/g' """, + r"pyproject.toml && ", +]) + +exts_list = [ + ('gdown', '4.7.1', { + 'checksums': ['347f23769679aaf7efa73e5655270fcda8ca56be65eb84a4a21d143989541045'], + }), + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + 'preinstallopts': local_preinstallopts_termcolor, + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [('dc961e0adbe1b0c87b85f69377267d60c835f24eb03c8982a21b23a93c6ec36b', + 'bb1a84ea3c4cd2c3756f72359a891843e0efa02da17537fb158b28c4e0b2d243')], + 'preinstallopts': "BUILD_MONAI=1", + 'use_pip_extras': local_pip_extras, + }), +] + +use_pip = True + +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; +# Pillow is a special case, since there we need to use 'import PIL' +sanity_check_commands = [ + "python -c 'import monai; monai.config.print_config()'", + "python -c 'import PIL'", # for Pillow required dependency +] + ["python -c 'import %s'" % x for x in local_pip_extras.split(',') if x != 'pillow'] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb new file mode 100644 index 00000000000..d40fe8f2614 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.0.1-foss-2022a.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.0.1' + +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': '2022a'} + +github_account = 'Project-MONAI' + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('PyTorch-Ignite', '0.4.12'), + ('einops', '0.4.1'), + ('ITK', '5.2.1'), + ('NiBabel', '4.0.2'), + ('scikit-image', '0.19.3'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1'), + ('tqdm', '4.64.0'), + ('Pillow', '9.1.1'), + ('openslide-python', '1.2.0'), + ('BeautifulSoup', '4.10.0'), +] + +# install MONAI with list of 'extras', which require additional dependencies +local_pip_extras = "nibabel,skimage,pillow,tensorboard,gdown,ignite,torchvision,itk,tqdm,lmdb,psutil,openslide,fire" + +# avoid using hatchling as build backend (since installing it for this old Python version is a nightmare) +local_preinstallopts_termcolor = ' '.join([ + r"""sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """, + r"""-e 's/^requires = \[/requires = \["setuptools"/g' """, + r"""-e '/"hatch/d' """, + # replace dynamic version with hardcoded version + r"""-e '/"version"/d' """, + r"""-e 's/^readme = .*/version = "%(version)s"/g' """, + r"pyproject.toml && ", +]) + +exts_list = [ + ('gdown', '4.7.1', { + 'checksums': ['347f23769679aaf7efa73e5655270fcda8ca56be65eb84a4a21d143989541045'], + }), + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + 'preinstallopts': local_preinstallopts_termcolor, + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [('dc961e0adbe1b0c87b85f69377267d60c835f24eb03c8982a21b23a93c6ec36b', + 'bb1a84ea3c4cd2c3756f72359a891843e0efa02da17537fb158b28c4e0b2d243')], + 'preinstallopts': "BUILD_MONAI=1", + 'use_pip_extras': local_pip_extras, + }), +] + +use_pip = True + +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; +# Pillow is a special case, since there we need to use 'import PIL' +sanity_check_commands = [ + "python -c 'import monai; monai.config.print_config()'", + "python -c 'import PIL'", # for Pillow required dependency +] + ["python -c 'import %s'" % x for x in local_pip_extras.split(',') if x != 'pillow'] + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/%%(namelower)s/_C.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2022b.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2022b.eb new file mode 100644 index 00000000000..29dbbe424ba --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2022b.eb @@ -0,0 +1,96 @@ +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': '2022b'} + +github_account = 'Project-MONAI' + +builddependencies = [ + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PyTorch', '1.13.1'), + ('einops', '0.7.0'), + ('ITK', '5.3.0'), + ('NiBabel', '5.2.0'), + ('scikit-image', '0.21.0'), + ('tensorboard', '2.15.1'), + ('torchvision', '0.14.1'), + ('tqdm', '4.64.1'), + ('Pillow', '9.4.0'), + ('openslide-python', '1.3.1'), + ('BeautifulSoup', '4.11.1'), +] + +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': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'use_pip_extras': local_pip_extras, + # 2 valid checksums, as source tarball provided by GitHub for MONAI 1.3.0 slightly changed at some point + # see also https://github.com/easybuilders/easybuild-easyconfigs/issues/20617 + 'checksums': [('67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2', + '076d75458d490b4f2dafbf5974fcc8e07a86c03f39f5ef48c6689ab6e4347da9')], + }), +] + +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/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..5c196d917a9 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,100 @@ +easyblock = 'PythonBundle' + +name = 'MONAI' +version = '1.3.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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 = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('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', versionsuffix), + ('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, + # 2 valid checksums, as source tarball provided by GitHub for MONAI 1.3.0 slightly changed at some point + # see also https://github.com/easybuilders/easybuild-easyconfigs/issues/20617 + 'checksums': [('67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2', + '076d75458d490b4f2dafbf5974fcc8e07a86c03f39f5ef48c6689ab6e4347da9')], + }), +] + +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/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..1132edecf91 --- /dev/null +++ b/easybuild/easyconfigs/m/MONAI/MONAI-1.3.0-foss-2023a.eb @@ -0,0 +1,98 @@ +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, + # 2 valid checksums, as source tarball provided by GitHub for MONAI 1.3.0 slightly changed at some point + # see also https://github.com/easybuilders/easybuild-easyconfigs/issues/20617 + 'checksums': [('67e0f55678faad4bd38b1ea69d5de94586b20b551b8ad745415623a8b6c1c5e2', + '076d75458d490b4f2dafbf5974fcc8e07a86c03f39f5ef48c6689ab6e4347da9')], + }), +] + +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/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..a46d5626ef0 --- /dev/null +++ b/easybuild/easyconfigs/m/MOOSE/MOOSE-2021-05-18-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,67 @@ +easyblock = 'Binary' + +name = 'MOOSE' +# corresponds to commit f5fa9f0 +version = '2021-05-18' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://mooseframework.inl.gov' +description = """The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics +framework primarily developed by Idaho National Laboratory""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.7.4'), + ('libpng', '1.6.37'), + ('libtirpc', '1.2.6'), + ('PETSc', '3.12.4', versionsuffix), + ('SLEPc', '3.12.2', versionsuffix), + ('VTK', '8.2.0', versionsuffix), + ('sympy', '1.5.1', versionsuffix), + ('ParMETIS', '4.0.3'), +] + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/idaholab', + 'repo_name': 'moose', + 'tag': version, + 'recursive': True, + 'keep_git_dir': True, + }, +}] +checksums = [None] + +extract_sources = True + +buildininstalldir = True + +# see https://mooseframework.inl.gov/getting_started/installation/hpc_install_moose.html +# enable building libmesh with -march=native +local_libmesg_configopts = "--disable-warnings --enable-march --with-mpi=$EBROOTMPI" +install_cmd = "sed 's/--disable-warnings/%s/g' scripts/update_and_rebuild_libmesh.sh && " % local_libmesg_configopts +# build vendored copy of libmesh +install_cmd += 'export CXXFLAGS="$CXXFLAGS -fpermissive -DLIBMESH_HAVE_XDR" && export MOOSE_JOBS="%(parallel)s V=1" && ' +install_cmd += "./scripts/update_and_rebuild_libmesh.sh --skip-submodule-update && " +# build MOOSE itself +install_cmd += "cd test && pwd && make -j %(parallel)s && make -j %(parallel)s hit && " +# run tests +install_cmd += "echo 'running tests' && export PYTHONPATH=%(installdir)s/moose/moosetools/contrib/hit:$PYTHONPATH && " +# run tests, but tolerate failures +install_cmd += "(python run_tests -j %(parallel)s --max-fails 100 || echo 'Some tests are failing!' >&2)" + +sanity_check_paths = { + 'files': ['moose/framework/libmoose-opt.%s' % SHLIB_EXT, + 'moose/moosetools/contrib/hit/hit.%s' % SHLIB_EXT, + 'moose/moosetools/contrib/hit/libhit-opt.%s' % SHLIB_EXT], + 'dirs': ['moose/libmesh', 'moose/python', 'moose/scripts'], +} + +modextrapaths = {'PYTHONPATH': ['moose/python', 'moose/moosetools/contrib/hit']} + +modextravars = {'MOOSE_DIR': '%(installdir)s/moose'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MPB/MPB-1.11.1-foss-2020b.eb b/easybuild/easyconfigs/m/MPB/MPB-1.11.1-foss-2020b.eb new file mode 100644 index 00000000000..bff6686a320 --- /dev/null +++ b/easybuild/easyconfigs/m/MPB/MPB-1.11.1-foss-2020b.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'MPB' +version = '1.11.1' + +homepage = 'https://mpb.readthedocs.io/en/latest/' +description = """MPB is a free and open-source software package for computing + the band structures, or dispersion relations, and electromagnetic + modes of periodic dielectric structures, on both serial + and parallel computers. MPB is an acronym for MIT Photonic Bands.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/NanoComp/mpb/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dc55b081c56079727dac92d309f8e4ea84ca6eea9122ec24b7955f8c258608e1'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('HDF5', '1.10.7'), + ('libctl', '4.5.1'), + ('Guile', '3.0.9'), + ('libreadline', '8.0'), +] + +local_common_configopts = "--with-pic --with-blas=openblas --with-lapack=openblas " +local_common_configopts += "--with-libctl=$EBROOTLIBCTL/share/libctl --enable-shared " + +configopts = [ + local_common_configopts + " ", + local_common_configopts + " --with-inv-symmetry", + local_common_configopts + " --with-mpi ", + local_common_configopts + " --with-mpi --with-inv-symmetry", +] + +sanity_check_paths = { + 'files': ['bin/mpb%s' % x for x in ['', '-data', 'i', 'i-data', 'i-mpi', 'i-split', '-mpi', '-split']] + + ['lib/libmpb.a', 'lib/libmpbi_mpi.a', 'lib/libmpbi.a', 'lib/libmpb_mpi.a', 'lib/libmpb.%s' % SHLIB_EXT, + 'lib/libmpbi_mpi.%s' % SHLIB_EXT, 'lib/libmpbi.%s' % SHLIB_EXT, 'lib/libmpb_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..167126ce659 --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.2.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..db636b0b91e --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.2.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..dfb7008a060 --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.3.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..897bf810ce5 --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.3.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e4b06ad227b --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.3.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..dce3ae2d1d9 --- /dev/null +++ b/easybuild/easyconfigs/m/MPC/MPC-1.3.1-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MPC' +version = '1.3.1' + +homepage = 'http://www.multiprecision.org/' +description = """Gnu Mpc is a C library for the arithmetic of + complex numbers with arbitrarily high precision and correct + rounding of the result. It extends the principles of the IEEE-754 + standard for fixed precision real floating point numbers to + complex numbers, providing well-defined semantics for every + operation. At the same time, speed of operation at high precision + is a major design goal.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/mpc/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libmpc.%s' % SHLIB_EXT, 'include/mpc.h'], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f0a59fc53cf --- /dev/null +++ b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'MPFI' +version = '1.5.4' + +homepage = 'https://perso.ens-lyon.fr/nathalie.revol/software.html' +description = "MPFI stands for Multiple Precision Floating-point Interval library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://perso.ens-lyon.fr/nathalie.revol/softwares/'] +sources = ['mpfi-%(version)s.tar.bz2'] +checksums = ['d20ba56a8d57d0816f028be8b18a4aa909a068efcb9a260e69577939e4199752'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('MPFR', '4.1.0'), +] + +sanity_check_paths = { + 'files': ['include/mpfi.h'] + ['lib/libmpfi.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..aa47b551aab --- /dev/null +++ b/easybuild/easyconfigs/m/MPFI/MPFI-1.5.4-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'MPFI' +version = '1.5.4' + +homepage = 'https://perso.ens-lyon.fr/nathalie.revol/software.html' +description = "MPFI stands for Multiple Precision Floating-point Interval library." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://perso.ens-lyon.fr/nathalie.revol/softwares/'] +sources = ['mpfi-%(version)s.tar.bz2'] +checksums = ['d20ba56a8d57d0816f028be8b18a4aa909a068efcb9a260e69577939e4199752'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('MPFR', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['include/mpfi.h'] + ['lib/libmpfi.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.2.0.eb index 07cac7df6c8..b43fbb0dc58 100644 --- a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.2.0.eb @@ -14,7 +14,11 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.3.0.eb index 11af3a6a733..b00a310b06a 100644 --- a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-10.3.0.eb @@ -14,7 +14,11 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] sources = [SOURCELOWER_TAR_BZ2] -checksums = ['feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..368bde273e8 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.1.0' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f5dce240245 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.1.0' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.1.0.tar.bz2': 'feced2d430dd5a97805fa289fed3fc8ff2b094c02d05287fd6133e7f1f0ec926'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0_patch-fix-tsprintf-test.patch b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0_patch-fix-tsprintf-test.patch new file mode 100644 index 00000000000..3e752fba655 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.1.0_patch-fix-tsprintf-test.patch @@ -0,0 +1,45 @@ +A test of the thousands separator in tsprintf.c is based on the output from the GNU C Library up to 2.36, +which is incorrect (https://sourceware.org/bugzilla/show_bug.cgi?id=23432). +The output has changed in 2.37 (partly fixed), so that tsprintf fails with glibc 2.37. +The tsprintf-thousands patch (https://www.mpfr.org/mpfr-4.2.0/patch01) modifies the test to conform to POSIX +and also avoid the buggy case in 2.36 and below. However, this new test, which was expected to succeed, +triggers a serious bug in 2.37 (bug 30068 / CVE-2023-25139 - https://sourceware.org/bugzilla/show_bug.cgi?id=30068). +We did not modify the test again since this bug affects MPFR's mpfr_sprintf function, with a possible buffer overflow +in particular cases. This bug has been fixed in the 2.37 branch. +In short, this patch is useful (and needed) for a fixed glibc 2.37 and some other libraries, depending on the current locales. + +diff -ru mpfr-4.1.0.orig/PATCHES mpfr-4.1.0/PATCHES +--- mpfr-4.1.0.orig/PATCHES 2011-06-30 02:17:40.000000000 +0200 ++++ mpfr-4.1.0/PATCHES 2023-09-08 12:29:11.711226986 +0200 +@@ -0,0 +1 @@ ++tsprintf-thousands +diff -ru mpfr-4.1.0.orig/tests/tsprintf.c mpfr-4.1.0/tests/tsprintf.c +--- mpfr-4.1.0.orig/tests/tsprintf.c 2020-04-09 00:39:35.000000000 +0200 ++++ mpfr-4.1.0/tests/tsprintf.c 2023-09-08 12:29:11.712226986 +0200 +@@ -1651,7 +1651,25 @@ + check_sprintf ("000000001,000", "%'013.4Rg", x); + + #ifdef PRINTF_GROUPFLAG +- check_vsprintf ("+01,234,567 :", "%0+ -'13.10Pd:", (mpfr_prec_t) 1234567); ++ /* Do not test the thousands separator with a precision field larger ++ than the number of digits (thus needing leading zeros), such as ++ "%0+ -'13.10Pd:" (used up to MPFR 4.2.0), since the GNU libc is ++ buggy: https://sourceware.org/bugzilla/show_bug.cgi?id=23432 ++ We don't know about the other implementations. ++ This new test works fine with glibc up to 2.36, but fails with 2.37 ++ (as reported by Klaus Dittrich in the MPFR mailing-list); this is ++ actually a bug introduced in glibc 2.37, not in MPFR: ++ https://sourceware.org/bugzilla/show_bug.cgi?id=30068 ++ Since this bug can yield a buffer overflow (CVE-2023-25139), possibly ++ affecting MPFR users, let us rather require a fix in glibc. This bug ++ has been fixed in the 2.37 branch: ++ https://sourceware.org/git/?p=glibc.git;a=commit;h=07b9521fc6 ++ If we wanted to check that and avoid a failure of the test because of ++ a buggy C library (while MPFR would be consistent with the C library), ++ we could compare the MPFR output with both the correct output and the ++ output from the C library (possibly buggy). But to do that in a clean ++ way, this would require a change in the check_vsprintf() call. */ ++ check_vsprintf ("+1,234,567 :", "%0+ -'13Pd:", (mpfr_prec_t) 1234567); + #endif + + mpfr_clear (x); diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7208b5a8794 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.0' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b2c11f4ea09 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.0' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['MPFR-4.1.0_patch-fix-tsprintf-test.patch'] +checksums = [ + {'mpfr-4.2.0.tar.bz2': '691db39178e36fc460c046591e4b0f2a52c8f2b3ee6d750cc2eab25f1eaa999d'}, + {'MPFR-4.1.0_patch-fix-tsprintf-test.patch': '039fad7a79ec4a9fd9ce77c9a73d9278187b8430087bc1afec18883df40321ae'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ee90c2c294b --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.1' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6b5fb75a0a3 --- /dev/null +++ b/easybuild/easyconfigs/m/MPFR/MPFR-4.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'MPFR' +version = '4.2.1' + +homepage = 'https://www.mpfr.org' + +description = """ + The MPFR library is a C library for multiple-precision floating-point + computations with correct rounding. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.mpfr.org/mpfr-%(version)s/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +runtest = 'check' + +# copy libmpfr.so* to /lib to make sure that it is picked up by tests +# when EasyBuild is configured with --rpath, and clean up afterwards (let 'make install' do its job) +pretestopts = "mkdir -p %%(installdir)s/lib && cp -a src/.libs/libmpfr.%s* %%(installdir)s/lib && " % SHLIB_EXT +testopts = " && rm -r %(installdir)s/lib" + +sanity_check_paths = { + 'files': ['lib/libmpfr.%s' % SHLIB_EXT, 'include/mpfr.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-3.4.2-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MPICH/MPICH-3.4.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..5fd1606a57d --- /dev/null +++ b/easybuild/easyconfigs/m/MPICH/MPICH-3.4.2-GCC-10.3.0.eb @@ -0,0 +1,20 @@ +name = 'MPICH' +version = '3.4.2' + +homepage = 'https://www.mpich.org/' +description = """MPICH is a high-performance and widely portable implementation +of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.mpich.org/static/tarballs/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf'] + +configopts = 'FFLAGS="-w -fallow-argument-mismatch -O2" --with-devices=ch4:ucx --with-ucx=$EBROOTUCX' + +dependencies = [ + ('UCX', '1.10.0'), +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-4.2.1-GCC-12.3.0.eb b/easybuild/easyconfigs/m/MPICH/MPICH-4.2.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..08f9b0e3d4d --- /dev/null +++ b/easybuild/easyconfigs/m/MPICH/MPICH-4.2.1-GCC-12.3.0.eb @@ -0,0 +1,20 @@ +name = 'MPICH' +version = '4.2.1' + +homepage = 'https://www.mpich.org/' +description = """MPICH is a high-performance and widely portable implementation +of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://www.mpich.org/static/downloads/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['23331b2299f287c3419727edc2df8922d7e7abbb9fd0ac74e03b9966f9ad42d7'] + +configopts = 'FFLAGS="-w -fallow-argument-mismatch -O2" --with-devices=ch4:ucx --with-ucx=$EBROOTUCX' + +dependencies = [ + ('UCX', '1.14.1'), +] + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MPICH/MPICH-4.2.2-GCC-13.3.0.eb b/easybuild/easyconfigs/m/MPICH/MPICH-4.2.2-GCC-13.3.0.eb new file mode 100644 index 00000000000..2b2b2185ecc --- /dev/null +++ b/easybuild/easyconfigs/m/MPICH/MPICH-4.2.2-GCC-13.3.0.eb @@ -0,0 +1,21 @@ +name = 'MPICH' +version = '4.2.2' + +homepage = 'https://www.mpich.org/' +description = """MPICH is a high-performance and widely portable implementation +of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://www.mpich.org/static/downloads/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['883f5bb3aeabf627cb8492ca02a03b191d09836bbe0f599d8508351179781d41'] + +dependencies = [ + ('UCX', '1.16.0'), +] + +configopts = 'FFLAGS="-w -fallow-argument-mismatch -O2" --with-devices=ch4:ucx --with-ucx=$EBROOTUCX' + + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/m/MRCPP/MRCPP-1.3.6-foss-2020a.eb b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.3.6-foss-2020a.eb index 453982c6199..4702a4e30f0 100644 --- a/easybuild/easyconfigs/m/MRCPP/MRCPP-1.3.6-foss-2020a.eb +++ b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.3.6-foss-2020a.eb @@ -19,8 +19,6 @@ builddependencies = [ ] configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" -separate_build_dir = True -build_type = 'release' runtest = 'test' sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb new file mode 100644 index 00000000000..4eb89f1dcb1 --- /dev/null +++ b/easybuild/easyconfigs/m/MRCPP/MRCPP-1.4.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MRCPP' +version = '1.4.1' + +homepage = 'https://mrcpp.readthedocs.io' +description = """MultiResolution Computation Program Package""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/MRChemSoft/mrcpp/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f369d72cc37415e9a6bdc0692ec4f6c5cfcc22e34b9ce569470e656c45e5b86c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Eigen', '3.4.0') +] + +configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libmrcpp.%s' % SHLIB_EXT], + 'dirs': ['include/MRCPP'] +} + +modextravars = {'MRCPP_DIR': '%(installdir)s/share/cmake/MRCPP/'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MRChem/MRChem-1.0.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/m/MRChem/MRChem-1.0.0-foss-2020a-Python-3.8.2.eb index fa91eb54472..2f9dfbcb7f8 100644 --- a/easybuild/easyconfigs/m/MRChem/MRChem-1.0.0-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/m/MRChem/MRChem-1.0.0-foss-2020a-Python-3.8.2.eb @@ -28,8 +28,6 @@ dependencies = [ ] configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" -separate_build_dir = True -build_type = 'release' runtest = 'test' sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb new file mode 100644 index 00000000000..03ddfe84466 --- /dev/null +++ b/easybuild/easyconfigs/m/MRChem/MRChem-1.1.1-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'MRChem' +version = '1.1.1' + +homepage = 'https://mrchem.readthedocs.io' +description = """MRChem is a numerical real-space code for molecular electronic +structure calculations within the self-consistent field (SCF) approximations of +quantum chemistry: Hartree-Fock and Density Functional Theory.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://github.com/MRChemSoft/mrchem/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9926778edf8bb49fd4cde513faf6a887800ecf1791d1a71c0edae228ba6da646'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Eigen', '3.4.0') +] + +dependencies = [ + ('MRCPP', '1.4.1'), + ('Python', '3.10.4'), + ('XCFun', '2.1.1') +] + +configopts = "-DENABLE_MPI=True -DENABLE_OPENMP=True" +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mrchem', 'bin/mrchem.x'], + 'dirs': ['lib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/MRPRESSO/MRPRESSO-1.0-20230502-foss-2022a.eb b/easybuild/easyconfigs/m/MRPRESSO/MRPRESSO-1.0-20230502-foss-2022a.eb new file mode 100644 index 00000000000..710f1feccad --- /dev/null +++ b/easybuild/easyconfigs/m/MRPRESSO/MRPRESSO-1.0-20230502-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'MRPRESSO' +# In spite of the repo name, everything else refers to MRPRESSO +local_commit = 'cece763' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0-20230502' + +homepage = 'https://github.com/rondolab/MR-PRESSO' +description = "Performs the Mendelian Randomization Pleiotropy RESidual Sum and Outlier (MR-PRESSO) method.." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/rondolab/MR-PRESSO/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['f6c464f239eaf6341ac19bde272b3b1c0700013c32bcf480c1a2f18d177b630f'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-2.7.16.eb index 7f066294b57..61d2d07255f 100644 --- a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-2.7.16.eb @@ -15,7 +15,7 @@ sources = ['%s.tar.gz' % local_commit] checksums = ['7140934dc653ee5edf807120a8e9cf23a0bf72f01bbe4dfbe2a15206ce6812db'] builddependencies = [ - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-3.7.4.eb index 7163dd84d46..186b2b4b72a 100644 --- a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0-rc-20191217-foss-2019b-Python-3.7.4.eb @@ -15,7 +15,7 @@ sources = ['%s.tar.gz' % local_commit] checksums = ['7140934dc653ee5edf807120a8e9cf23a0bf72f01bbe4dfbe2a15206ce6812db'] builddependencies = [ - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb new file mode 100644 index 00000000000..1f2579e38a4 --- /dev/null +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.3-foss-2021a.eb @@ -0,0 +1,29 @@ +name = 'MRtrix' +version = '3.0.3' + +homepage = 'http://www.brain.org.au/software/index.html#mrtrix' +description = """MRtrix provides a set of tools to perform diffusion-weighted MR white-matter tractography in a manner + robust to crossing fibres, using constrained spherical deconvolution (CSD) and probabilistic streamlines.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/MRtrix3/mrtrix3/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6ec7d5a567d8d7338e85575a74565189a26ec8971cbe8fb24a49befbc446542e'] + +builddependencies = [ + ('Eigen', '3.3.9'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.9.5'), + ('Mesa', '21.1.1'), + ('Qt5', '5.15.2'), + ('LibTIFF', '4.2.0'), + ('FFTW', '3.3.9'), + ('libpng', '1.6.37'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.4-foss-2022b.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.4-foss-2022b.eb new file mode 100644 index 00000000000..abec67d835b --- /dev/null +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0.4-foss-2022b.eb @@ -0,0 +1,29 @@ +name = 'MRtrix' +version = '3.0.4' + +homepage = 'http://www.brain.org.au/software/index.html#mrtrix' +description = """MRtrix provides a set of tools to perform diffusion-weighted MR white-matter tractography in a manner + robust to crossing fibres, using constrained spherical deconvolution (CSD) and probabilistic streamlines.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/MRtrix3/mrtrix3/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f1d1aa289cfc3e46e3a8eca93594b23d061c6d50a0cd03727433a7e2cd14f71a'] + +builddependencies = [ + ('Eigen', '3.4.0'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('Python', '3.10.8'), + ('Mesa', '22.2.4'), + ('Qt5', '5.15.7'), + ('LibTIFF', '4.4.0'), + ('FFTW', '3.3.10'), + ('libpng', '1.6.38'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC2-foss-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC2-foss-2017a-Python-2.7.13.eb index aa0e747a561..b8433c3a9de 100644 --- a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC2-foss-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC2-foss-2017a-Python-2.7.13.eb @@ -14,7 +14,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['88187f3498f4ee215b2a51d16acb7f2e6c33217e72403a7d48c2ec5da6e2218b'] builddependencies = [ - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC3-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC3-intel-2018a-Python-2.7.14.eb index fc29aa69abd..aaddadd44e2 100644 --- a/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC3-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/m/MRtrix/MRtrix-3.0_RC3-intel-2018a-Python-2.7.14.eb @@ -14,7 +14,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['1eebd96d476772b4f1aaad2d362af575e70fd2de0bede61a658758ffd9793b4d'] builddependencies = [ - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ 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/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb index 5c4845921c0..b9872da4d0a 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.1.2-foss-2017b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2017b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['eb345cda145da9aea01b851d17e54e7eef08e16bfa148100ac1f7f046cd42ae9'] diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb index ea67534b667..75d6a04770a 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2018b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb index 5c7d17274b3..d10d2450e7d 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis-seq.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver. This module is for its sequentia toolchain = {'name': 'foss', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': False} -source_urls = ['http://mumps.enseeiht.fr/'] # doesn't support https +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb index 718db19d94b..6a6dbb4a649 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb index 7d9a6bacb27..7072922653b 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2019b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb index 849c31db3e0..6c29b89b559 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-foss-2020a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2020a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb index 7e3d0011f82..1dc132a103a 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis-seq.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver. This module is for its sequentia toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': False} -source_urls = ['http://mumps.enseeiht.fr/'] # doesn't support https +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb index 1049b760c09..4e81acee6ea 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2019a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb index 87578164d88..1acfe3342ef 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2019b-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb index 6e411ccea17..ca6f8b652a0 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.2.1-intel-2020a-metis.eb @@ -8,7 +8,7 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'intel', 'version': '2020a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] patches = [ '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb index ef32bdb8187..788e37ba403 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-foss-2020b-metis.eb @@ -8,9 +8,17 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2020b'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] -checksums = ['e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4', # MUMPS_5.3.5.tar.gz + 'e39441eaf90191b5d967223e085b9fa9adbd4264c49f0dabdbf3c1a6685900fb', # MUMPS-5.3.5_shared-pord.patch + '3662a075d1eab1143409424278c63a1c198b6cd75572610b4bb17dd3d6f4d614', # MUMPS-5.3.5_shared-mumps.patch +] dependencies = [ ('SCOTCH', '6.1.0'), diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb new file mode 100644 index 00000000000..2ccfcf5826f --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5-intel-2020b-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.3.5' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'e5d665fdb7043043f0799ae3dbe3b37e5b200d1ab7a6f7b2a4e463fd89507fa4', # MUMPS_5.3.5.tar.gz + 'e39441eaf90191b5d967223e085b9fa9adbd4264c49f0dabdbf3c1a6685900fb', # MUMPS-5.3.5_shared-pord.patch + '3662a075d1eab1143409424278c63a1c198b6cd75572610b4bb17dd3d6f4d614', # MUMPS-5.3.5_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.0'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-mumps.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-mumps.patch new file mode 100644 index 00000000000..01c637b1586 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-mumps.patch @@ -0,0 +1,47 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com + +diff -ru MUMPS_5.3.5.orig/src/Makefile MUMPS_5.3.5/src/Makefile +--- MUMPS_5.3.5.orig/src/Makefile 2021-08-11 11:43:32.097349091 +0200 ++++ MUMPS_5.3.5/src/Makefile 2021-08-11 12:02:10.305435406 +0200 +@@ -23,6 +23,8 @@ + include $(topdir)/Makefile.inc + + mumps_lib: $(incdir)/mumps_int_def.h \ ++ $(libdir)/libmumps_common$(PLAT).so \ ++ $(libdir)/lib$(ARITH)mumps$(PLAT).so \ + $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) + +@@ -196,6 +198,14 @@ + $(AR)$@ $? + $(RANLIB) $@ + ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) $(MPIFLIB) $(MPICLIB) $(METISLIB) -o $(libdir)/libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libmumps_common$(PLAT)-$(SONAME_VERSION).so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) -lmumps_common$(PLAT) -lpthread $(MUMPS_LIBF77) $(LORDERINGS) $(MPIFLIB) $(METISLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $@ ++ + # Dependencies between modules: + # i) arithmetic-dependent modules: + $(ARITH)ana_aux.o: $(ARITH)mumps_struc_def.o \ +@@ -405,13 +415,13 @@ + + .SUFFIXES: .c .F .o + .F.o: +- $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -fPIC -c $*.F $(OUTF)$*.o + .c.o: +- $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -fPIC -c mumps_c.c $(OUTC)$@ + + clean: + $(RM) *.o *.mod $(incdir)/mumps_int_def.h diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-pord.patch new file mode 100644 index 00000000000..aa16a6608e9 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.3.5_shared-pord.patch @@ -0,0 +1,51 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared-pord.patch +Author: micketeer@gmail.com + +diff -ru MUMPS_5.3.5.orig/Makefile MUMPS_5.3.5/Makefile +--- MUMPS_5.3.5.orig/Makefile 2021-08-11 11:43:32.368348352 +0200 ++++ MUMPS_5.3.5/Makefile 2021-08-11 12:06:13.277818857 +0200 +@@ -55,7 +55,7 @@ + multi_example: s d c z + (cd examples ; $(MAKE) multi) + +-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + # dummy MPI library (sequential version) + +@@ -72,6 +72,12 @@ + cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ + fi; + ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; ++ + clean: + (cd src; $(MAKE) clean) + (cd examples; $(MAKE) clean) +diff -ru MUMPS_5.3.5.orig/PORD/lib/Makefile MUMPS_5.3.5/PORD/lib/Makefile +--- MUMPS_5.3.5.orig/PORD/lib/Makefile 2021-08-11 11:43:32.306348521 +0200 ++++ MUMPS_5.3.5/PORD/lib/Makefile 2021-08-11 12:04:40.183055088 +0200 +@@ -9,7 +9,7 @@ + + INCLUDES = -I../include + +-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) ++COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC + + OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \ + multisector.o gelim.o bucket.o tree.o \ +@@ -28,6 +28,10 @@ + $(AR)$@ $(OBJS) + $(RANLIB) $@ + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb index a79a8570985..f35a1d8bdc8 100644 --- a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-foss-2021a-metis.eb @@ -11,9 +11,17 @@ description = "A parallel sparse direct solver" toolchain = {'name': 'foss', 'version': '2021a'} toolchainopts = {'pic': True, 'usempi': True} -source_urls = ['http://mumps.enseeiht.fr/'] +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] sources = ['%(name)s_%(version)s.tar.gz'] -checksums = ['c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627', # MUMPS_5.4.0.tar.gz + '4c0558690998c12ca959c03856054a75e22f519583a65bd550393c1f81a0b170', # MUMPS-5.4.0_shared-pord.patch + 'd51c2df0de7d7b88d864ceba2d0eea46c755c24c7124003481aced106901109d', # MUMPS-5.4.0_shared-mumps.patch +] dependencies = [ ('SCOTCH', '6.1.0'), diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb new file mode 100644 index 00000000000..fa811d068f9 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0-intel-2021a-metis.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## +name = 'MUMPS' +version = '5.4.0' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'c613414683e462da7c152c131cebf34f937e79b30571424060dd673368bbf627', # MUMPS_5.4.0.tar.gz + '4c0558690998c12ca959c03856054a75e22f519583a65bd550393c1f81a0b170', # MUMPS-5.4.0_shared-pord.patch + 'd51c2df0de7d7b88d864ceba2d0eea46c755c24c7124003481aced106901109d', # MUMPS-5.4.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.0'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-mumps.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-mumps.patch new file mode 100644 index 00000000000..edadcc4dc15 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-mumps.patch @@ -0,0 +1,62 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com + +diff -ru MUMPS_5.4.0.orig/src/Makefile MUMPS_5.4.0/src/Makefile +--- MUMPS_5.4.0.orig/src/Makefile 2021-08-11 16:22:27.340180216 +0200 ++++ MUMPS_5.4.0/src/Makefile 2021-08-11 16:40:23.930257697 +0200 +@@ -15,18 +15,23 @@ + + libcommon: $(incdir)/mumps_int_def.h + $(MAKE) $(libdir)/libmumps_common$(PLAT)$(LIBEXT) ++ $(MAKE) $(libdir)/libmumps_common$(PLAT).so + + s: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT).so + + d: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT).so + + c: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT).so + + z: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT).so + + include $(topdir)/Makefile.inc + +@@ -200,6 +205,14 @@ + $(AR)$@ $? + $(RANLIB) $@ + ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) $(MPIFLIB) $(MPICLIB) $(METISLIB) -o $(libdir)/libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libmumps_common$(PLAT)-$(SONAME_VERSION).so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) -lmumps_common$(PLAT) -lpthread $(MUMPS_LIBF77) $(LORDERINGS) $(MPIFLIB) $(METISLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $@ ++ + # Dependencies between modules: + # i) arithmetic-dependent modules: + $(ARITH)ana_aux.o: $(ARITH)mumps_struc_def.o \ +@@ -411,13 +424,13 @@ + + .SUFFIXES: .c .F .o + .F.o: +- $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -fPIC -c $*.F $(OUTF)$*.o + .c.o: +- $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -fPIC -c mumps_c.c $(OUTC)$@ + + clean: + $(RM) *.o *.mod $(incdir)/mumps_int_def.h build_mumps_int_def diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-pord.patch new file mode 100644 index 00000000000..704a8f66e07 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.0_shared-pord.patch @@ -0,0 +1,51 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared-pord.patch +Author: micketeer@gmail.com + +diff -ru MUMPS_5.4.0.orig/Makefile MUMPS_5.4.0/Makefile +--- MUMPS_5.4.0.orig/Makefile 2021-08-11 21:41:30.209055262 +0200 ++++ MUMPS_5.4.0/Makefile 2021-08-11 21:41:40.633028157 +0200 +@@ -42,7 +42,7 @@ + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + # dummy MPI library (sequential version) + +@@ -59,6 +59,12 @@ + cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ + fi; + ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; ++ + clean: + (cd src; $(MAKE) clean) + (cd examples; $(MAKE) clean) +diff -ru MUMPS_5.4.0.orig/PORD/lib/Makefile MUMPS_5.4.0/PORD/lib/Makefile +--- MUMPS_5.4.0.orig/PORD/lib/Makefile 2021-08-11 16:22:27.481179848 +0200 ++++ MUMPS_5.4.0/PORD/lib/Makefile 2021-08-11 16:59:17.511334981 +0200 +@@ -9,7 +9,7 @@ + + INCLUDES = -I../include + +-COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) ++COPTIONS = $(INCLUDES) $(CFLAGS) $(OPTFLAGS) -fPIC + + OBJS = graph.o gbipart.o gbisect.o ddcreate.o ddbisect.o nestdiss.o \ + multisector.o gelim.o bucket.o tree.o \ +@@ -28,6 +28,10 @@ + $(AR)$@ $(OBJS) + $(RANLIB) $@ + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb new file mode 100644 index 00000000000..02f1645d955 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-foss-2021b-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.4.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = """A parallel sparse direct solver""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-5.4.0_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-5.4.0_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + '93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8', # MUMPS_5.4.1.tar.gz + '4c0558690998c12ca959c03856054a75e22f519583a65bd550393c1f81a0b170', # MUMPS-5.4.0_shared-pord.patch + 'd51c2df0de7d7b88d864ceba2d0eea46c755c24c7124003481aced106901109d', # MUMPS-5.4.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.2'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb new file mode 100644 index 00000000000..03dc589f2ea --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.4.1-intel-2021b-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.4.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-5.4.0_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-5.4.0_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + '93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8', # MUMPS_5.4.1.tar.gz + '4c0558690998c12ca959c03856054a75e22f519583a65bd550393c1f81a0b170', # MUMPS-5.4.0_shared-pord.patch + 'd51c2df0de7d7b88d864ceba2d0eea46c755c24c7124003481aced106901109d', # MUMPS-5.4.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.2'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb new file mode 100644 index 00000000000..8a0c0614163 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0-foss-2021a-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.5.0' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + 'e54d17c5e42a36c40607a03279e0704d239d71d38503aab68ef3bfe0a9a79c13', # MUMPS_5.5.0.tar.gz + 'a21b5c84125dceaf015a54d6d1dea61cb0c93b24130ba5a7d5a2cdf83de5f197', # MUMPS-5.5.0_shared-pord.patch + '7c597d2696dbe48c0a964e332af7e86b2c98daf643ba588d6bd5f2f4864ad015', # MUMPS-5.5.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '6.1.0'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-mumps.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-mumps.patch new file mode 100644 index 00000000000..922d9ceb5d1 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-mumps.patch @@ -0,0 +1,62 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +diff --git a/MUMPS_5.5.0.orig/src/Makefile b/MUMPS_5.5.0/src/Makefile +index 771aebd..1f2d93a 100644 +--- a/MUMPS_5.5.0.orig/src/Makefile ++++ b/MUMPS_5.5.0/src/Makefile +@@ -15,18 +15,23 @@ all: $(incdir)/mumps_int_def.h libcommon s d c z + + libcommon: $(incdir)/mumps_int_def.h + $(MAKE) $(libdir)/libmumps_common$(PLAT)$(LIBEXT) ++ $(MAKE) $(libdir)/libmumps_common$(PLAT).so + + s: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT).so + + d: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT).so + + c: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT).so + + z: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT).so + + + # Rules for shared libraries +@@ -222,6 +227,14 @@ $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT_SHARED): $(OBJS_MOD) $(OBJS_OTHER) + $(FC) $(OPTL) -shared $(OBJS_MOD) $(OBJS_OTHER) -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -lmumps_common$(PLAT) -o $@ $(RPATH_OPT) + + ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) $(MPIFLIB) $(MPICLIB) $(METISLIB) -o $(libdir)/libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libmumps_common$(PLAT)-$(SONAME_VERSION).so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) -lmumps_common$(PLAT) -lpthread $(MUMPS_LIBF77) $(LORDERINGS) $(MPIFLIB) $(METISLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $@ ++ + # Dependencies between modules: + # i) arithmetic-dependent modules: + $(ARITH)ana_aux.o: $(ARITH)mumps_struc_def.o \ +@@ -435,12 +448,14 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_MOD) + .SUFFIXES: .c .F .o + .F.o: + $(FC) $(OPTF) $(FPIC) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -fPIC -c $*.F $(OUTF)$*.o + .c.o: + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -fPIC -c mumps_c.c $(OUTC)$@ + + clean: + $(RM) *.o *.mod $(incdir)/mumps_int_def.h diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-pord.patch new file mode 100644 index 00000000000..c23f1c49387 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.0_shared-pord.patch @@ -0,0 +1,44 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +diff --git a/MUMPS_5.5.0.orig/Makefile b/MUMPS_5.5.0/Makefile +index 59d74d7..0ed4414 100644 +--- a/MUMPS_5.5.0.orig/Makefile ++++ b/MUMPS_5.5.0/Makefile +@@ -65,7 +65,7 @@ Makefile.inc: + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED) + +@@ -106,6 +106,12 @@ $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED): + + + ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; ++ + clean: + (cd src; $(MAKE) clean) + (cd examples; $(MAKE) clean) +diff --git a/MUMPS_5.5.0.orig/PORD/lib/Makefile b/MUMPS_5.5.0/PORD/lib/Makefile +index 8228f52..2650549 100644 +--- a/MUMPS_5.5.0.orig/PORD/lib/Makefile ++++ b/MUMPS_5.5.0/PORD/lib/Makefile +@@ -31,6 +31,10 @@ libpord$(PLAT)$(LIBEXT):$(OBJS) + libpord$(PLAT)$(LIBEXT_SHARED):$(OBJS) + $(CC) -shared $(OBJS) -o libpord.so + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb new file mode 100644 index 00000000000..d5d20b8c568 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1-foss-2022a-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.5.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + '1abff294fa47ee4cfd50dfd5c595942b72ebfcedce08142a75a99ab35014fa15', # MUMPS_5.5.1.tar.gz + '7990ca13c37aa72daa9e646cc7e6303f3eda01b9c463accea5f0f595fbc13566', # MUMPS-5.5.0_shared-pord.patch + '83c346a16dae059a2f4792ce2f847ca9e8423ef8c6949c3de12960f09383d564', # MUMPS-5.5.0_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '7.0.1'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-mumps.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-mumps.patch new file mode 100644 index 00000000000..ba51f4a1a28 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-mumps.patch @@ -0,0 +1,61 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +diff -Nru MUMPS_5.5.1.orig/src/Makefile MUMPS_5.5.1/src/Makefile +--- MUMPS_5.5.1.orig/src/Makefile 2022-08-31 11:57:42.666642000 +0200 ++++ MUMPS_5.5.1/src/Makefile 2022-08-31 12:02:01.665935000 +0200 +@@ -15,18 +15,23 @@ + + libcommon: $(incdir)/mumps_int_def.h + $(MAKE) $(libdir)/libmumps_common$(PLAT)$(LIBEXT) ++ $(MAKE) $(libdir)/libmumps_common$(PLAT).so + + s: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT).so + + d: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT).so + + c: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT).so + + z: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT).so + + + # Rules for shared libraries +@@ -221,6 +226,13 @@ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT_SHARED): $(OBJS_MOD) $(OBJS_OTHER) $(libdir)/libmumps_common$(PLAT)$(LIBEXT_SHARED) + $(FC) $(OPTL) -shared $(OBJS_MOD) $(OBJS_OTHER) -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -lmumps_common$(PLAT) -o $@ $(RPATH_OPT) + ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) $(MPIFLIB) $(MPICLIB) $(METISLIB) -o $(libdir)/libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libmumps_common$(PLAT)-$(SONAME_VERSION).so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) -lmumps_common$(PLAT) -lpthread $(MUMPS_LIBF77) $(LORDERINGS) $(MPIFLIB) $(METISLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $@ + + # Dependencies between modules: + # i) arithmetic-dependent modules: +@@ -435,12 +447,14 @@ + .SUFFIXES: .c .F .o + .F.o: + $(FC) $(OPTF) $(FPIC) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -fPIC -c $*.F $(OUTF)$*.o + .c.o: + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -fPIC -c mumps_c.c $(OUTC)$@ + + clean: + $(RM) *.o *.mod $(incdir)/mumps_int_def.h diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-pord.patch new file mode 100644 index 00000000000..37c0d900062 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.5.1_shared-pord.patch @@ -0,0 +1,44 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +diff -Nru MUMPS_5.5.1.orig/Makefile MUMPS_5.5.1/Makefile +--- MUMPS_5.5.1.orig/Makefile 2022-08-31 11:57:42.628161000 +0200 ++++ MUMPS_5.5.1/Makefile 2022-08-31 12:06:17.800078000 +0200 +@@ -65,7 +65,7 @@ + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED) + +@@ -103,8 +103,11 @@ + cp $(LPORDDIR)/libpord$(LIBEXT_SHARED) $@; \ + fi; + +- +- ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; + + clean: + (cd src; $(MAKE) clean) +diff -Nru MUMPS_5.5.1.orig/PORD/lib/Makefile MUMPS_5.5.1/PORD/lib/Makefile +--- MUMPS_5.5.1.orig/PORD/lib/Makefile 2022-08-31 11:57:42.938998000 +0200 ++++ MUMPS_5.5.1/PORD/lib/Makefile 2022-08-31 12:06:20.352758000 +0200 +@@ -31,6 +31,10 @@ + libpord$(PLAT)$(LIBEXT_SHARED):$(OBJS) + $(CC) -shared $(OBJS) -o libpord.so + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2022b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2022b-metis.eb new file mode 100644 index 00000000000..6f27fb3e23b --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2022b-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.6.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + '1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896', # MUMPS_5.6.1.tar.gz + '51d3685208a42581b462592eea977f185d87e871fb65e8e90a54dd2ad18ac715', # MUMPS-5.6.1_shared-pord.patch + '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f', # MUMPS-5.6.1_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '7.0.3'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023a-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023a-metis.eb new file mode 100644 index 00000000000..09270071de4 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023a-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.6.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + '1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896', # MUMPS_5.6.1.tar.gz + '51d3685208a42581b462592eea977f185d87e871fb65e8e90a54dd2ad18ac715', # MUMPS-5.6.1_shared-pord.patch + '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f', # MUMPS-5.6.1_shared-mumps.patch +] + +dependencies = [ + ('SCOTCH', '7.0.3'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023b-metis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023b-metis.eb new file mode 100644 index 00000000000..b9fb9f3ce74 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-foss-2023b-metis.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.6.1' +versionsuffix = '-metis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + {'MUMPS_5.6.1.tar.gz': '1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896'}, + {'MUMPS-5.6.1_shared-pord.patch': '51d3685208a42581b462592eea977f185d87e871fb65e8e90a54dd2ad18ac715'}, + {'MUMPS-5.6.1_shared-mumps.patch': '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f'}, +] + +dependencies = [ + ('SCOTCH', '7.0.4'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb new file mode 100644 index 00000000000..0ffdd5acbe8 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1-gomkl-2023a-metis-seq.eb @@ -0,0 +1,35 @@ +name = 'MUMPS' +version = '5.6.1' +versionsuffix = '-metis-seq' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver. This module is for its sequential variant." + +toolchain = {'name': 'gomkl', 'version': '2023a'} +toolchainopts = {'pic': True, 'usempi': False} + +source_urls = ['https://graal.ens-lyon.fr/MUMPS/'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_shared-pord.patch', # builds the shared libs of PORD + '%(name)s-%(version)s_shared-mumps.patch', # builds shared libs of MUMPS +] +checksums = [ + {'MUMPS_5.6.1.tar.gz': '1920426d543e34d377604070fde93b8d102aa38ebdf53300cbce9e15f92e2896'}, + {'MUMPS-5.6.1_shared-pord.patch': '51d3685208a42581b462592eea977f185d87e871fb65e8e90a54dd2ad18ac715'}, + {'MUMPS-5.6.1_shared-mumps.patch': '27f788a5f85e8c9a6a7ec1651097b87c1de0ede0be943df7a10fa7c1ff5f494f'}, +] + +dependencies = [ + ('SCOTCH', '7.0.3'), + ('METIS', '5.1.0'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-mumps.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-mumps.patch new file mode 100644 index 00000000000..6706f332e87 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-mumps.patch @@ -0,0 +1,63 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +Updatd to version 5.6.1: Petr Král (INUITS) +diff -u MUMPS_5.6.1/src/Makefile.orig MUMPS_5.6.1/src/Makefile +--- MUMPS_5.6.1/src/Makefile.orig 2023-07-11 09:51:28.000000000 +0200 ++++ MUMPS_5.6.1/src/Makefile 2023-07-26 11:04:16.108637698 +0200 +@@ -15,18 +15,23 @@ + + libcommon: $(incdir)/mumps_int_def.h + $(MAKE) $(libdir)/libmumps_common$(PLAT)$(LIBEXT) ++ $(MAKE) $(libdir)/libmumps_common$(PLAT).so + + s: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=s $(libdir)/libsmumps$(PLAT).so + + d: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=d $(libdir)/libdmumps$(PLAT).so + + c: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=c $(libdir)/libcmumps$(PLAT).so + + z: $(incdir)/mumps_int_def.h libcommon + $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT)$(LIBEXT) ++ $(MAKE) ARITH=z $(libdir)/libzmumps$(PLAT).so + + + # Rules for shared libraries +@@ -223,6 +228,14 @@ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT_SHARED): $(OBJS_MOD) $(OBJS_OTHER) $(libdir)/libmumps_common$(PLAT)$(LIBEXT_SHARED) + $(FC) $(OPTL) -shared $(OBJS_MOD) $(OBJS_OTHER) -L$(libdir) $(LORDERINGS) $(LIBS) $(LIBOTHERS) -lmumps_common$(PLAT) -o $@ $(RPATH_OPT) + ++$(libdir)/libmumps_common$(PLAT).so: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) $(LORDERINGS) -lpthread $(MUMPS_LIBF77) $(MPIFLIB) $(MPICLIB) $(METISLIB) -o $(libdir)/libmumps_common$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libmumps_common$(PLAT)-$(SONAME_VERSION).so $@ ++ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -L$(libdir) -lmumps_common$(PLAT) -lpthread $(MUMPS_LIBF77) $(LORDERINGS) $(MPIFLIB) $(METISLIB) $(SCALAP) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs lib$(ARITH)mumps$(PLAT)-$(SONAME_VERSION).so $@ ++ + + # Dependencies between modules: + # i) arithmetic-dependent modules: +@@ -447,12 +460,14 @@ + .SUFFIXES: .c .F .o + .F.o: + $(FC) $(OPTF) $(FPIC) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) -I. -I../include $(INCS) $(IORDERINGSF) $(ORDERINGSF) -fPIC -c $*.F $(OUTF)$*.o + .c.o: + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) -I../include $(INCS) $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) $(FPIC) -I../include $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -fPIC -c mumps_c.c $(OUTC)$@ + + clean: + $(RM) *.o *.mod $(incdir)/mumps_int_def.h diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-pord.patch new file mode 100644 index 00000000000..2819aa26f26 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.1_shared-pord.patch @@ -0,0 +1,45 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +Updatd to version 5.6.1: Petr Král (INUITS) +diff -u MUMPS_5.6.1/Makefile.orig MUMPS_5.6.1/Makefile +--- MUMPS_5.6.1/Makefile.orig 2023-07-11 09:51:28.000000000 +0200 ++++ MUMPS_5.6.1/Makefile 2023-07-26 10:37:43.528871588 +0200 +@@ -65,7 +65,7 @@ + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED) + +@@ -103,8 +103,11 @@ + cp $(LPORDDIR)/libpord$(LIBEXT_SHARED) $@; \ + fi; + +- +- ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; + + clean: + (cd src; $(MAKE) clean) +diff -u MUMPS_5.6.1/PORD/lib/Makefile.orig MUMPS_5.6.1/PORD/lib/Makefile +--- MUMPS_5.6.1/PORD/lib/Makefile.orig 2023-07-11 09:51:28.000000000 +0200 ++++ MUMPS_5.6.1/PORD/lib/Makefile 2023-07-26 10:47:36.312139519 +0200 +@@ -31,6 +31,10 @@ + libpord$(PLAT)$(LIBEXT_SHARED):$(OBJS) + $(CC) -shared $(OBJS) -o libpord.so + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch new file mode 100644 index 00000000000..98dc0371d60 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.6.2_shared-pord.patch @@ -0,0 +1,46 @@ +Heavily inspired from https://src.fedoraproject.org/rpms/MUMPS//blob/rawhide/f/MUMPS-shared.patch +Author: micketeer@gmail.com +Updatd to version 5.5.0: J. Sassmannshausen/ICL (UK) +Updatd to version 5.5.1: maxim-masterov (SURF) +Updatd to version 5.6.1: Petr Král (INUITS) +Updatd to version 5.6.2: Petr Král (INUITS) +diff -u MUMPS_5.6.2/Makefile.orig MUMPS_5.6.2/Makefile +--- MUMPS_5.6.2/Makefile.orig 2023-10-11 11:36:26.000000000 +0200 ++++ MUMPS_5.6.2/Makefile 2024-04-09 13:02:40.710623825 +0200 +@@ -65,7 +65,7 @@ + + include Makefile.inc + +-prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++prerequisites: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so + + prerequisitesshared: Makefile.inc $(LIBSEQNEEDED)sharedlibseq $(libdir)/libpord$(PLAT)$(LIBEXT_SHARED) + +@@ -103,8 +103,11 @@ + cp $(LPORDDIR)/libpord$(PLAT)$(LIBEXT_SHARED) $@; \ + fi; + +- +- ++$(libdir)/libpord$(PLAT).so: ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cd $(LPORDDIR); make CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" ARFUNCT= RANLIB="$(RANLIB)" libpord$(PLAT).so; fi; ++ if [ "$(LPORDDIR)" != "" ] ; then \ ++ cp -a $(LPORDDIR)/libpord*.so lib/; fi; + + clean: + (cd src; $(MAKE) clean) +diff -u MUMPS_5.6.1/PORD/lib/Makefile.orig MUMPS_5.6.1/PORD/lib/Makefile +--- MUMPS_5.6.1/PORD/lib/Makefile.orig 2023-07-11 09:51:28.000000000 +0200 ++++ MUMPS_5.6.1/PORD/lib/Makefile 2023-07-26 10:47:36.312139519 +0200 +@@ -31,6 +31,10 @@ + libpord$(PLAT)$(LIBEXT_SHARED):$(OBJS) + $(CC) -shared $(OBJS) -o libpord.so + ++libpord$(PLAT).so: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-$(SONAME_VERSION).so -o libpord$(PLAT)-$(SONAME_VERSION).so $(OPTL) -Wl,-z,defs ++ ln -fs libpord$(PLAT)-$(SONAME_VERSION).so $@ ++ + clean: + rm -f *.o + diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-foss-2023b-parmetis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-foss-2023b-parmetis.eb new file mode 100644 index 00000000000..1b7b70075c2 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-foss-2023b-parmetis.eb @@ -0,0 +1,27 @@ +name = 'MUMPS' +version = '5.7.2' +versionsuffix = '-parmetis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['http://mumps-solver.org/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['1362d377ce7422fc886c55212b4a4d2c381918b5ca4478f682a22d0627a8fbf8'] + +dependencies = [ + ('SCOTCH', '7.0.4'), + ('ParMETIS', '4.0.3'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-intel-2023b-parmetis.eb b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-intel-2023b-parmetis.eb new file mode 100644 index 00000000000..589710ed6ee --- /dev/null +++ b/easybuild/easyconfigs/m/MUMPS/MUMPS-5.7.2-intel-2023b-parmetis.eb @@ -0,0 +1,27 @@ +name = 'MUMPS' +version = '5.7.2' +versionsuffix = '-parmetis' + +homepage = 'https://graal.ens-lyon.fr/MUMPS/' +description = "A parallel sparse direct solver" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['http://mumps-solver.org/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['1362d377ce7422fc886c55212b4a4d2c381918b5ca4478f682a22d0627a8fbf8'] + +dependencies = [ + ('SCOTCH', '7.0.4'), + ('ParMETIS', '4.0.3'), +] + +parallel = 1 + +# fix 'Type mismatch between actual argument' errors with GCC 10.x +prebuildopts = 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ' + +buildopts = 'all SONAME_VERSION="%(version)s"' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-3.23-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-3.23-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..dea2fe421d7 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-3.23-GCCcore-10.3.0.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 +# 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 +## +## +# updated by: +# Adam Huffman +# The Francis Crick Institute + +name = 'MUMmer' +version = '3.23' + +homepage = 'http://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': '10.3.0'} + +source_urls = [('http://sourceforge.net/projects/mummer/files/%(namelower)s/%(version)s/', 'download')] +sources = ['%(name)s%(version)s.tar.gz'] +checksums = ['1efad4f7d8cee0d8eaebb320a2d63745bb3a160bb513a15ef7af46f330af662f'] + +builddependencies = [('binutils', '2.36.1')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0beta2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0beta2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5e7cd6bc7cc --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0beta2-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'ConfigureMake' + +name = 'MUMmer' +version = '4.0.0beta2' + +homepage = 'http://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': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/gmarcais/mummer/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['cece76e418bf9c294f348972e5b23a0230beeba7fd7d042d5584ce075ccd1b93'] + +builddependencies = [('binutils', '2.37')] + +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/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c261d2484b3 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +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': '11.2.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.37'), +] + +dependencies = [ + ('gnuplot', '5.4.2'), +] + +configopts = 'GNUPLOT=gnuplot' + +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/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f403869b209 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +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': '11.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.38'), +] + +dependencies = [ + ('gnuplot', '5.4.4'), +] + +configopts = 'GNUPLOT=gnuplot' + +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/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ce38884c04c --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +# 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 + +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.2.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.39'), +] + +dependencies = [ + ('gnuplot', '5.4.6'), +] + +configopts = 'GNUPLOT=gnuplot' + +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/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..809143d9839 --- /dev/null +++ b/easybuild/easyconfigs/m/MUMmer/MUMmer-4.0.0rc1-GCCcore-12.3.0.eb @@ -0,0 +1,47 @@ +# 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'), +] + +dependencies = [ + ('gnuplot', '5.4.8'), +] + +configopts = 'GNUPLOT=gnuplot' + +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-3.8.1551-GCC-10.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.1551-GCC-10.2.0.eb new file mode 100644 index 00000000000..75cf15432a6 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.1551-GCC-10.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = "3.8.1551" + +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': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://www.drive5.com/muscle/'] +sources = ['%(namelower)s_src_%(version)s.tar.gz'] +checksums = ['c70c552231cd3289f1bad51c9bd174804c18bb3adcf47f501afec7a68f9c482e'] + +# use correct compiler flags + +# don't use -static when linking, since that implies requiring glibc-static to be installed +buildopts = 'CFLAGS="$CXXFLAGS" LDLIBS="-lm"' + +files_to_copy = [(["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/%(namelower)s"], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..2230dff6fce --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +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': '10.2.0'} + +source_urls = ['https://www.drive5.com/muscle/downloads%(version)s/'] +sources = ['%(namelower)s%(version)s_src.tar.gz'] +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] +checksums = [ + '43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad', # muscle3.8.31_src.tar.gz + '7486ac0eee30ac3de9ee06020fe8573cf1de8e21ce5f315c3232ec226191a60d', # MUSCLE-3.8.31_fix-mk-hardcoding.patch +] + +builddependencies = [ + ('binutils', '2.35'), +] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..39ebbad842c --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +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': '10.3.0'} + +source_urls = ['https://www.drive5.com/muscle/downloads%(version)s/'] +sources = ['%(namelower)s%(version)s_src.tar.gz'] +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] +checksums = [ + '43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad', # muscle3.8.31_src.tar.gz + '7486ac0eee30ac3de9ee06020fe8573cf1de8e21ce5f315c3232ec226191a60d', # MUSCLE-3.8.31_fix-mk-hardcoding.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5e25be1d014 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +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': '11.2.0'} + +source_urls = ['https://www.drive5.com/muscle/downloads%(version)s/'] +sources = ['%(namelower)s%(version)s_src.tar.gz'] +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] +checksums = [ + '43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad', # muscle3.8.31_src.tar.gz + '7486ac0eee30ac3de9ee06020fe8573cf1de8e21ce5f315c3232ec226191a60d', # MUSCLE-3.8.31_fix-mk-hardcoding.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +sanity_check_commands = ["muscle -version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..a747217d2f7 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-3.8.31-GCCcore-9.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '3.8.31' + +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': '9.3.0'} + +source_urls = ['https://www.drive5.com/muscle/downloads%(version)s/'] +sources = ['%(namelower)s%(version)s_src.tar.gz'] +patches = ['MUSCLE-%(version)s_fix-mk-hardcoding.patch'] +checksums = [ + '43c5966a82133bd7da5921e8142f2f592c2b5f53d802f0527a2801783af809ad', # muscle3.8.31_src.tar.gz + '7486ac0eee30ac3de9ee06020fe8573cf1de8e21ce5f315c3232ec226191a60d', # MUSCLE-3.8.31_fix-mk-hardcoding.patch +] + +builddependencies = [ + ('binutils', '2.34'), +] + +files_to_copy = [ + (["muscle"], 'bin')] + +sanity_check_paths = { + 'files': ["bin/muscle"], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e597d772ba5 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '5.0.1428' + +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': '10.3.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_add-ver-counter-header.patch'] +checksums = [ + '59a8196890893e44a60f24134e8da24ee8381830a0f84e37378a3ca8be5430f5', # v5.0.1428.tar.gz + '129e3cd5cd7ae4d9819bbb36776275781e33c82410ee1e5d480b3de2df213931', # MUSCLE-5.0.1428_add-ver-counter-header.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +start_dir = 'src' + +# Use build environment defined by EB +prebuildopts = "sed -i 's/$(CPPOPTS)/$(CPPOPTS) $(CXXFLAGS) $(CPPFLAGS)/g' Makefile &&" +buildopts = "CPP=${CXX} CC=${CC}" + +files_to_copy = [(['o/muscle5'], 'bin')] +postinstallcmds = ["cd %(installdir)s/bin && ln -s muscle5 muscle"] + +sanity_check_paths = { + 'files': ['bin/muscle', 'bin/muscle5'], + 'dirs': [], +} + +sanity_check_commands = [('muscle', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428_add-ver-counter-header.patch b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428_add-ver-counter-header.patch new file mode 100644 index 00000000000..991310e87b9 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.0.1428_add-ver-counter-header.patch @@ -0,0 +1,31 @@ +From dd9c3e921a5f06bbc8be7593eab4d6e3433b6f67 Mon Sep 17 00:00:00 2001 +From: Robert Edgar +Date: Wed, 10 Nov 2021 08:05:06 -0800 +Subject: [PATCH] Fix ../ver/counter.h issue + +--- + src/myutils.cpp | 2 +- + src/ver_counter.h | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + create mode 100644 src/ver_counter.h + +diff --git a/src/myutils.cpp b/src/myutils.cpp +index 5a49b4e..e1bc0fd 100644 +--- a/src/myutils.cpp ++++ b/src/myutils.cpp +@@ -2055,7 +2055,7 @@ void Split(const string &Str, vector &Fields, char Sep) + void GetVersionString(string &s) + { + const int counter = +-#include "../ver/counter.h" ++#include "ver_counter.h" + ; + const char *Flags = "" + +diff --git a/src/ver_counter.h b/src/ver_counter.h +new file mode 100644 +index 0000000..4efaa29 +--- /dev/null ++++ b/src/ver_counter.h +@@ -0,0 +1 @@ ++1428 diff --git a/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..804a9ffedf5 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'MUSCLE' +version = '5.1' + +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': '11.2.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['091d9f8733b92ff106c2a8eb274d1e5a57960d397a2068d8638d6002e8880dab'] + +builddependencies = [ + ('binutils', '2.37'), +] + +start_dir = 'src' + +# Use build environment defined by EB +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/MUSCLE/MUSCLE-5.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f41e38c73c2 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-10.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': '10.3.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +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/MUSCLE/MUSCLE-5.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f11b43042ac --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-11.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': '11.3.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d'] + +builddependencies = [ + ('binutils', '2.38'), +] + +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/MUSCLE/MUSCLE-5.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8af91759937 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE/MUSCLE-5.1.0-GCCcore-12.2.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.2.0'} + +github_account = 'rcedgar' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d'] + +builddependencies = [ + ('binutils', '2.39'), +] + +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/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/MUSCLE3/MUSCLE3-0.7.0-foss-2022b.eb b/easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.0-foss-2022b.eb new file mode 100644 index 00000000000..f0db20b1b69 --- /dev/null +++ b/easybuild/easyconfigs/m/MUSCLE3/MUSCLE3-0.7.0-foss-2022b.eb @@ -0,0 +1,97 @@ +easyblock = 'ConfigureMakePythonPackage' + +name = 'MUSCLE3' +version = '0.7.0' + +homepage = 'https://muscle3.readthedocs.io/en/latest/index.html' + +description = """MUSCLE3 allows connecting multiple simulation models + together into a multiscale simulation. Simulation models can be as + simple as a single Python file, or as complex as a combination of + multiple separate simulation codes written in C++ or Fortran, and + running on an HPC machine.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/multiscale/%(namelower)s/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e2ab6f0d219845c7bcdf9ebade9572b647d5dc464179b4714211db68fd9cb062'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('msgpack-c', '6.0.0'), + ('zlib', '1.2.12'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('QCG-PilotJob', '0.13.1'), + ('ruamel.yaml', '0.17.21'), + ('matplotlib', '3.7.0'), +] + +skipsteps = ['configure'] + +prebuildopts = 'msgpack_ROOT=$EBROOTMSGPACKMINC ' +preinstallopts = 'PREFIX=%(installdir)s ' +testopts = 'googletest_ROOT=$EBROOTGOOGLETEST' + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('typing_extensions', '4.7.1', { + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('click', '8.1.4', { + 'checksums': ['b97d0c74955da062a7d4ef92fadb583806a585b2ea81958a81bd72726cbb8e37'], + }), + ('yatiml', '0.10.0', { + 'checksums': ['4d23bfd7bbf45ae603c08fcb70d0c86404934a0cef24fb77b532705ff195fc92'], + }), + ('ymmsl', '0.13.0', { + 'checksums': ['861c8b728d2808b8e8eb31592af42c5c4317b441fbd83d050ccf91fa24a9212e'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('muscle3', version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/multiscale/muscle3/archive/refs/tags/'], + 'checksums': ['e2ab6f0d219845c7bcdf9ebade9572b647d5dc464179b4714211db68fd9cb062'], + }), +] + +modextrapaths = { + 'MUSCLE3_HOME': '', +} + +sanity_check_paths = { + 'files': ['bin/muscle3', 'bin/muscle3.env', 'bin/muscle_manager', + 'include/libmuscle.f90', 'include/libmuscle.mod', 'include/libmuscle/libmuscle.hpp', + 'include/ymmsl/ymmsl.hpp', 'lib/libmuscle.a', 'lib/libmuscle.%s' % SHLIB_EXT, + 'lib/libmuscle_fortran.a', 'lib/libmuscle_fortran.%s' % SHLIB_EXT, + 'lib/libymmsl.a', 'lib/libymmsl.%s' % SHLIB_EXT, + 'lib/libymmsl_fortran.a', 'lib/libymmsl_fortran.%s' % SHLIB_EXT, + 'lib/pkgconfig/libmuscle.pc', 'lib/pkgconfig/libmuscle_fortran.pc', + 'lib/pkgconfig/ymmsl.pc', 'lib/pkgconfig/ymmsl_fortran.pc'], + 'dirs': [], +} + +sanity_check_commands = [ + "muscle3 --help", + "muscle_manager --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MUST/MUST-1.7.1-foss-2020b.eb b/easybuild/easyconfigs/m/MUST/MUST-1.7.1-foss-2020b.eb new file mode 100644 index 00000000000..b7aef9fc7f7 --- /dev/null +++ b/easybuild/easyconfigs/m/MUST/MUST-1.7.1-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'MUST' +version = '1.7.1' + +homepage = "https://hpc.rwth-aachen.de/must/" +description = """MUST detects usage errors of the Message Passing Interface (MPI) and reports them to the user. + As MPI calls are complex and usage errors common, this functionality is extremely helpful for application developers + that want to develop correct MPI applications. + This includes errors that already manifest – segmentation faults or incorrect results – as well as many errors + that are not visible to the application developer or do not manifest on a certain system or MPI implementation.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://hpc.rwth-aachen.de/must/files/'] +sources = ['%(name)s-v%(version)s.tar.gz'] +checksums = ['de3f6144a433035d24952c1acdf1acac47bcd843b24243bd8c0467a0567b1ed6'] + +builddependencies = [ + ('CMake', '3.18.4') +] + +dependencies = [ + ('Python', '3.8.6'), + ('libxml2', '2.9.10'), + ('Graphviz', '2.47.0', '-Java-11'), +] + +sanity_check_paths = { + 'files': ["bin/mustrun", "bin/wrap.py", "include/mustConfig.h", "lib/libpnmpif.so", "lib/libpnmpi.so"], + 'dirs': ["include/pnmpi", "lib64/pnmpi-modules", "modules", "share", "specifications", "src"], +} + +moduleclass = "perf" diff --git a/easybuild/easyconfigs/m/MUST/MUST-1.7.2-foss-2021a.eb b/easybuild/easyconfigs/m/MUST/MUST-1.7.2-foss-2021a.eb new file mode 100644 index 00000000000..365f862b5d7 --- /dev/null +++ b/easybuild/easyconfigs/m/MUST/MUST-1.7.2-foss-2021a.eb @@ -0,0 +1,38 @@ +## +# Author: Robert Mijakovic +## + +easyblock = "CMakeMake" + +name = 'MUST' +version = '1.7.2' + +homepage = "https://hpc.rwth-aachen.de/must/" +description = """MUST detects usage errors of the Message Passing Interface (MPI) and reports them to the user. + As MPI calls are complex and usage errors common, this functionality is extremely helpful for application developers + that want to develop correct MPI applications. + This includes errors that already manifest – segmentation faults or incorrect results – as well as many errors + that are not visible to the application developer or do not manifest on a certain system or MPI implementation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://hpc.rwth-aachen.de/must/files/'] +sources = ['%(name)s-v%(version)s.tar.gz'] +checksums = ['616c54b7487923959df126ac4b47ae8c611717d679fe7ec29f57a89bf0e2e0d0'] + +builddependencies = [ + ('CMake', '3.20.1') +] + +dependencies = [ + ('Python', '3.9.5'), + ('libxml2', '2.9.10'), + ('Graphviz', '2.47.2'), +] + +sanity_check_paths = { + 'files': ["bin/mustrun", "bin/wrap.py", "include/mustConfig.h", "lib/libpnmpif.so", "lib/libpnmpi.so"], + 'dirs': ["include/pnmpi", "lib64/pnmpi-modules", "modules", "share", "specifications", "src"], +} + +moduleclass = "perf" diff --git a/easybuild/easyconfigs/m/MView/MView-1.67-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MView/MView-1.67-GCC-11.3.0.eb new file mode 100644 index 00000000000..cd81e9c65a3 --- /dev/null +++ b/easybuild/easyconfigs/m/MView/MView-1.67-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = "Tarball" + +name = 'MView' +version = "1.67" + +homepage = 'https://desmid.github.io/mview/' +description = """MView reformats the results of a sequence database search or a + multiple alignment, optionally adding HTML markup.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [('http://sourceforge.net/projects/bio-mview/files/bio-mview/mview-%(version)s/', 'download')] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e5bac78960f8f6c091b2f7ea8a3c6075e9bea5a062391fd3e1e44fca14025e46'] + +dependencies = [('Perl', '5.34.1')] + +sanity_check_paths = { + 'files': ["bin/mview"], + 'dirs': ["lib"], +} + +sanity_check_commands = [('mview', '--help')] + +modextrapaths = {'PERL5LIB': 'lib'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb b/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb index b2b5f4620d9..55b0a033ef8 100644 --- a/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb +++ b/easybuild/easyconfigs/m/MXNet/MXNet-0.9.3-foss-2016b-Python-2.7.12-R-3.3.3.eb @@ -2,7 +2,7 @@ name = 'MXNet' version = '0.9.3' versionsuffix = '-Python-%(pyver)s-R-%(rver)s' -homepage = 'http://mxnet.io/' +homepage = 'https://mxnet.io/' description = """Flexible and Efficient Library for Deep Learning""" toolchain = {'name': 'foss', 'version': '2016b'} @@ -30,7 +30,7 @@ checksums = [ dependencies = [ ('Python', '2.7.12'), - ('graphviz', '0.5.1', '-Python-%(pyver)s'), + ('graphviz-python', '0.5.1', '-Python-%(pyver)s'), ('OpenCV', '3.1.0'), ('R', '3.3.3', '-X11-20160819'), ] diff --git a/easybuild/easyconfigs/m/MXNet/MXNet-1.9.1-foss-2022a.eb b/easybuild/easyconfigs/m/MXNet/MXNet-1.9.1-foss-2022a.eb new file mode 100644 index 00000000000..331f3962a9e --- /dev/null +++ b/easybuild/easyconfigs/m/MXNet/MXNet-1.9.1-foss-2022a.eb @@ -0,0 +1,87 @@ +name = 'MXNet' +version = '1.9.1' + +homepage = 'https://mxnet.io/' +description = """Flexible and Efficient Library for Deep Learning""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++14', 'opt': True, 'pic': True, 'openmp': True, 'extra_cflags': '-lflexiblas'} + +# MXNet pulls in a bunch of submodules with specific commits, +# see https://github.com/apache/mxnet/tree/1.9.1/3rdparty +sources = [ + { + 'source_urls': ['https://github.com/apache/mxnet/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/dmlc/ps-lite/archive/'], + 'download_filename': '34fd45cae457d59850fdcb2066467778d0673f21.tar.gz', + 'filename': 'ps-lite-20200229.tar.gz', + }, + { + 'source_urls': ['https://github.com/apache/tvm/archive/'], + 'download_filename': 'efdac9439506d1de5eec91ecc795982c78e41909.tar.gz', + 'filename': 'tvm-20201111.tar.gz', + }, + { + 'source_urls': ['https://github.com/dmlc/dmlc-core/archive/'], + 'download_filename': '5df8305fe699d3b503d10c60a231ab0223142407.tar.gz', + 'filename': 'dmlc-core-20200410.tar.gz', + }, + { + 'source_urls': ['https://github.com/dmlc/dlpack/archive/'], + 'download_filename': '3efc489b55385936531a06ff83425b719387ec63.tar.gz', + 'filename': 'dlpack-20200121.tar.gz', + }, + { + 'source_urls': ['https://github.com/google/googletest/archive/'], + 'download_filename': 'eb9225ce361affe561592e0912320b9db84985d0.tar.gz', + 'filename': 'googletest-20190114.tar.gz', + }, + { + 'source_urls': ['https://github.com/kpu/intgemm/archive/'], + 'download_filename': '8f28282c3bd854922da638024d2659be52e892e9.tar.gz', + 'filename': 'intgemm-20200915.tar.gz', + }, + { + 'source_urls': ['https://github.com/NVlabs/cub/archive/'], + 'download_filename': '0158fa19f28619886232defd412433974af89611.tar.gz', + 'filename': 'cub-20200424.tar.gz', + }, + { + 'source_urls': ['https://github.com/onnx/onnx-tensorrt/archive/'], + 'download_filename': '2eb74d933f89e1590fdbfc64971a36e5f72df720.tar.gz', + 'filename': 'onnx-tensorrt-20200624.tar.gz', + }, + { + 'source_urls': ['https://github.com/oneapi-src/oneDNN/archive/'], + 'download_filename': '5818c40f07bdb6307f9bc64e929836fe036da644.tar.gz', + 'filename': 'oneDNN-20220325.tar.gz', + }, +] +checksums = [ + {'mxnet-1.9.1.tar.gz': '9927f986b2c2c8315f2ba675e050ce1f4e24e84c4692e5f0a96248876784a8a7'}, + {'ps-lite-20200229.tar.gz': 'ec5d5baab8bbf0c3983ad5f18d7f963f15ae7cd4d154ec204b03c1dceccf209b'}, + {'tvm-20201111.tar.gz': '656c38d66baeab885b0212602148bb55ad3cf7d22f52ded8ece53f88e103a2f5'}, + {'dmlc-core-20200410.tar.gz': 'a8046f752f36005564d2924b4b6f73e1aea3cce7ff10f9e19d99ad6a22a045b2'}, + {'dlpack-20200121.tar.gz': 'b59586ce69bcf3efdbf3cf4803fadfeaae4948044e2b8d89cf912194cf28f233'}, + {'googletest-20190114.tar.gz': 'a4cb4b0c3ebb191b798594aca674ad47eee255dcb4c26885cf7f49777703484f'}, + {'intgemm-20200915.tar.gz': 'bc8bd8015613a13747eb769876385ec53e8c1ea7ae3f8414521dc53b8fcdfc65'}, + {'cub-20200424.tar.gz': '43424c4c17a997d1d730c89ec14688671245de7941e02b388d7d3df6ea53777a'}, + {'onnx-tensorrt-20200624.tar.gz': 'df99819727445c247fb5c21c2fd825ded3269376867457ae84fa6d6f1c0ae331'}, + {'oneDNN-20220325.tar.gz': 'aeb8e65bb13d1a3171673ab749d41e8c3a6538371d922a7fa881afef277128ba'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('graphviz-python', '0.20.1'), + ('OpenCV', '4.6.0', '-contrib'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MXNet/mxnet-1.9.1-add_flexiblas.patch b/easybuild/easyconfigs/m/MXNet/mxnet-1.9.1-add_flexiblas.patch new file mode 100644 index 00000000000..d1bbfb1dc5b --- /dev/null +++ b/easybuild/easyconfigs/m/MXNet/mxnet-1.9.1-add_flexiblas.patch @@ -0,0 +1,33 @@ +source: https://github.com/apache/mxnet/pull/21093 +diff -ruN mxnet-1.9.1_orig/cmake/ChooseBlas.cmake mxnet-1.9.1/cmake/ChooseBlas.cmake +--- mxnet-1.9.1_orig/cmake/ChooseBlas.cmake 2022-04-22 00:45:57.000000000 +0200 ++++ mxnet-1.9.1/cmake/ChooseBlas.cmake 2023-07-10 12:13:14.448174000 +0200 +@@ -16,10 +16,11 @@ + # under the License. + + set(BLAS "Open" CACHE STRING "Selected BLAS library") +-set_property(CACHE BLAS PROPERTY STRINGS "Atlas;Open;MKL") ++set_property(CACHE BLAS PROPERTY STRINGS "Atlas;Open;MKL;FlexiBLAS") + + if(DEFINED USE_BLAS) + set(BLAS "${USE_BLAS}") ++ message(STATUS "BLAS is set to ${USE_BLAS}") + else() + if(USE_MKL_IF_AVAILABLE) + if(NOT MKL_FOUND) +@@ -31,7 +32,14 @@ + endif() + endif() + +-if(BLAS STREQUAL "Atlas" OR BLAS STREQUAL "atlas") ++if(BLAS STREQUAL "FlexiBLAS" OR BLAS STREQUAL "flexiblas") ++ set(BLA_VENDOR FlexiBLAS) ++ find_package(BLAS REQUIRED) ++ include_directories(SYSTEM ${BLAS_INCLUDE_DIR}) ++ add_definitions(-DMSHADOW_USE_CBLAS=1) ++ add_definitions(-DMSHADOW_USE_MKL=0) ++ add_definitions(-DMXNET_USE_LAPACK=1) ++elseif(BLAS STREQUAL "Atlas" OR BLAS STREQUAL "atlas") + find_package(Atlas REQUIRED) + include_directories(SYSTEM ${Atlas_INCLUDE_DIR}) + list(APPEND mshadow_LINKER_LIBS ${Atlas_LIBRARIES}) diff --git a/easybuild/easyconfigs/m/MXNet/mxnet-fix_blas.patch b/easybuild/easyconfigs/m/MXNet/mxnet-fix_blas.patch new file mode 100644 index 00000000000..16de2009609 --- /dev/null +++ b/easybuild/easyconfigs/m/MXNet/mxnet-fix_blas.patch @@ -0,0 +1,34 @@ +source: https://github.com/apache/mxnet/pull/21093 +diff -ruN mxnet-1.9.1_orig/cmake/ChooseBlas.cmake mxnet-1.9.1/cmake/ChooseBlas.cmake +--- mxnet-1.9.1_orig/cmake/ChooseBlas.cmake 2022-04-22 00:45:57.000000000 +0200 ++++ mxnet-1.9.1/cmake/ChooseBlas.cmake 2023-06-21 13:23:41.986229000 +0200 +@@ -16,10 +16,11 @@ + # under the License. + + set(BLAS "Open" CACHE STRING "Selected BLAS library") +-set_property(CACHE BLAS PROPERTY STRINGS "Atlas;Open;MKL") ++set_property(CACHE BLAS PROPERTY STRINGS "Atlas;Open;MKL;FlexiBLAS") + + if(DEFINED USE_BLAS) + set(BLAS "${USE_BLAS}") ++ message(STATUS "BLAS is set to ${USE_BLAS}") + else() + if(USE_MKL_IF_AVAILABLE) + if(NOT MKL_FOUND) +@@ -31,7 +32,15 @@ + endif() + endif() + +-if(BLAS STREQUAL "Atlas" OR BLAS STREQUAL "atlas") ++if(BLAS STREQUAL "FlexiBLAS" OR BLAS STREQUAL "flexiblas") ++ set(BLA_VENDOR FlexiBLAS) ++ find_package(BLAS REQUIRED) ++ include_directories(SYSTEM ${BLAS_INCLUDE_DIR}) ++ list(APPEND mshadow_LINKER_LIBS ${BLAS_LIBRARIES}) ++ add_definitions(-DMSHADOW_USE_CBLAS=1) ++ add_definitions(-DMSHADOW_USE_MKL=0) ++ add_definitions(-DMXNET_USE_LAPACK=1) ++elseif(BLAS STREQUAL "Atlas" OR BLAS STREQUAL "atlas") + find_package(Atlas REQUIRED) + include_directories(SYSTEM ${Atlas_INCLUDE_DIR}) + list(APPEND mshadow_LINKER_LIBS ${Atlas_LIBRARIES}) diff --git a/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.0.9-foss-2021a-Perl-5.32.1.eb b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.0.9-foss-2021a-Perl-5.32.1.eb new file mode 100644 index 00000000000..ceec62db825 --- /dev/null +++ b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.0.9-foss-2021a-Perl-5.32.1.eb @@ -0,0 +1,71 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2017 University of Geneva +# Authors:: Yann Sagon +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'ConfigureMake' + +name = 'MaSuRCA' +version = '4.0.9' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'https://www.genome.umd.edu/masurca.html' +software_license = 'LicenseGPLv3' + +description = '''MaSuRCA is whole genome assembly software. It combines the efficiency of the de Bruijn graph + and Overlap-Layout-Consensus (OLC) approaches. MaSuRCA can assemble data sets containing + only short reads from Illumina sequencing or a mixture of short reads and long reads + (Sanger, 454, Pacbio and Nanopore).''' + +toolchain = {'name': 'foss', 'version': '2021a'} + +# need a temporary url to download it. Do it manually here: +# http://www.genome.umd.edu/masurca_form.html + +source_urls = ['https://github.com/alekseyzimin/masurca/releases/download/v%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['a31c2f786452f207c0b0b20e646b6c85b7357dcfd522b697c1009d902d3ed4cf'] + +builddependencies = [('patchelf', '0.12')] + +dependencies = [ + ('libreadline', '8.1'), + ('Tcl', '8.6.11'), + ('Boost', '1.76.0'), + ('zlib', '1.2.11'), + ('Perl', '5.32.1'), + ('bzip2', '1.0.8'), +] + +buildopts = "install-special" +start_dir = "global-1" + +postinstallcmds = [ + # fix location of 'bin' in install prefix in runCA and runCA-dedupe scripts + # escaping single quotes within single quotes is tricky, so we use $'...' to use ANSI C-like escaping + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA", + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA-dedupe", + # fix hardcoded path in masurca script, just point back to 'bin' subdirectory instead + "sed -i 's@../CA8/Linux-amd64/bin@../bin@g' %(installdir)s/bin/masurca", + # commands to install built-in version of Flye + "cd ../Flye && make && cp -a ../Flye %(installdir)s", + # fix missing RPATH + "patchelf --force-rpath --set-rpath '$ORIGIN' %(installdir)s/bin/falcon_sense", +] + +sanity_check_paths = { + 'files': ['bin/masurca', 'Flye/bin/flye'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + "masurca --help", + "runCA --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..d86ebc68b08 --- /dev/null +++ b/easybuild/easyconfigs/m/MaSuRCA/MaSuRCA-4.1.0-GCC-11.3.0.eb @@ -0,0 +1,67 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2017 University of Geneva +# Authors:: Yann Sagon +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'ConfigureMake' + +name = 'MaSuRCA' +version = '4.1.0' + +homepage = 'https://www.genome.umd.edu/masurca.html' +software_license = 'LicenseGPLv3' + +description = '''MaSuRCA is whole genome assembly software. It combines the efficiency of the de Bruijn graph + and Overlap-Layout-Consensus (OLC) approaches. MaSuRCA can assemble data sets containing + only short reads from Illumina sequencing or a mixture of short reads and long reads + (Sanger, 454, Pacbio and Nanopore).''' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/alekseyzimin/masurca/releases/download/v%(version)s'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['15078e24c79fe5aabe42748d64f95d15f3fbd7708e84d88fc07c4b7f2e4b0902'] + +builddependencies = [('patchelf', '0.15.0')] + +dependencies = [ + ('libreadline', '8.1.2'), + ('Tcl', '8.6.12'), + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), + ('bzip2', '1.0.8'), +] + +buildopts = "install-special" +start_dir = "global-1" + +postinstallcmds = [ + # fix location of 'bin' in install prefix in runCA and runCA-dedupe scripts + # escaping single quotes within single quotes is tricky, so we use $'...' to use ANSI C-like escaping + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA", + "sed -i $'s|^$bin =.*|$bin = \"$ENV{\'EBROOTMASURCA\'}/bin\";|g' %(installdir)s/bin/runCA-dedupe", + # fix hardcoded path in masurca script, just point back to 'bin' subdirectory instead + "sed -i 's@../CA8/Linux-amd64/bin@../bin@g' %(installdir)s/bin/masurca", + # commands to install built-in version of Flye + "cd ../Flye && make && cp -a ../Flye %(installdir)s", + # fix missing RPATH + "patchelf --force-rpath --set-rpath '$ORIGIN' %(installdir)s/bin/falcon_sense", +] + +sanity_check_paths = { + 'files': ['bin/masurca', 'Flye/bin/flye'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = [ + "masurca --help", + "runCA --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb b/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb new file mode 100644 index 00000000000..3d7c2d18e8f --- /dev/null +++ b/easybuild/easyconfigs/m/Magics/Magics-4.13.0-gompi-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'Magics' +version = '4.13.0' + +homepage = 'https://confluence.ecmwf.int/display/MAGP/' + +description = """ +Magics is ECMWF's meteorological plotting software and can be either accessed +directly through its Python or Fortran interfaces or by using Metview.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/ecmwf/magics/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['bc9653754a9d655b14effd637d13dba6ecaf048d2f45cb8b70b3e262983b37bf'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('ecBuild', '3.7.0', '', SYSTEM), +] + +dependencies = [ + ('PROJ', '9.0.0'), + ('netCDF', '4.9.0'), + ('Pango', '1.50.7'), + ('expat', '2.4.8'), + ('ecCodes', '2.27.0'), +] + +_bins = ['magics', 'magicsCompatibilityChecker', 'magjson', 'magjsonx', 'magml', 'magmlx', 'metgram', 'metgram.sh', + 'metgramx'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libMagPlus%s.%s' % (x, SHLIB_EXT) for x in ['', 'Double', 'Single']] + + ['bin/%s' % x for x in _bins], + 'dirs': ['bin', 'lib', 'include', 'share'] +} + +sanity_check_commands = ['magics 2>&1 | grep "^Usage: magics"'] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.1.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.1.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..df4dac07af5 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.1.4-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Mako' +version = '1.1.4' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['17831f0b7087c313c0ffae2bcbbd3c1d5ba9eeac9c38f2eb7b50e8c99fe9d5ab'] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b3e830b7063 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Mako' +version = '1.2.0' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9a7c7e922b87db3686210cf49d5d767033a41d4010b284e747682c92bddd8b39'] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5aaa05828b2 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'Mako' +version = '1.2.4' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34'] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b92300cc1d2 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Mako' +version = '1.2.4' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.3')] + +use_pip = True + +exts_list = [ + ('MarkupSafe', '2.1.3', { + 'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'], + }), + (name, version, { + 'checksums': ['d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5453be92e4d --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.2.4-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Mako' +version = '1.2.4' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +use_pip = True + +exts_list = [ + ('MarkupSafe', '2.1.3', { + 'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'], + }), + (name, version, { + 'checksums': ['d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..6df66e4a2e0 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.3.5-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Mako' +version = '1.3.5' + +homepage = 'https://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Python', '3.12.3')] + +use_pip = True + +exts_list = [ + ('MarkupSafe', '2.1.5', { + 'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'], + }), + (name, version, { + 'checksums': ['48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["mako-render --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mamba/Mamba-23.1.0-4.eb b/easybuild/easyconfigs/m/Mamba/Mamba-23.1.0-4.eb new file mode 100644 index 00000000000..c0104840a25 --- /dev/null +++ b/easybuild/easyconfigs/m/Mamba/Mamba-23.1.0-4.eb @@ -0,0 +1,28 @@ +# author: Caspar van Leeuwen +name = 'Mamba' +version = '23.1.0-4' + +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): + '95c354268f62e32d57c84f2e1a0caf9b19f77c894ecc83008db0e5e666ce3d43', + '{local_name}-%(version)s-Linux-ppc64le.sh'.format(local_name=local_name): + '70ed57b9d32457c172c208b16a839937e2dd77e3fa1bff5ef1cb2f1a7da102ba', + '{local_name}-%(version)s-Linux-x86_64.sh'.format(local_name=local_name): + '6ca38e02be99c410644c283bac74601f296dd10995ce1c8d345af995a39b5916', + } +] + +moduleclass = 'lang' 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/Mamba/Mamba-4.14.0-0.eb b/easybuild/easyconfigs/m/Mamba/Mamba-4.14.0-0.eb new file mode 100644 index 00000000000..aad49d0ae6b --- /dev/null +++ b/easybuild/easyconfigs/m/Mamba/Mamba-4.14.0-0.eb @@ -0,0 +1,28 @@ +# author: Caspar van Leeuwen +name = 'Mamba' +version = '4.14.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): + '37221b8d818951fab125c0bfb6cc6e83dac059f66892d2544a83192828d8e2c4', + '{local_name}-%(version)s-Linux-ppc64le.sh'.format(local_name=local_name): + '607bbd38aa21af4c79a663f2a183a06cca054efdd8d617c17370522504c7be1e', + '{local_name}-%(version)s-Linux-x86_64.sh'.format(local_name=local_name): + 'd47b78b593e3cf5513bafbfa6a51eafcd9f0e164c41c79c790061bb583c82859', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb b/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb new file mode 100644 index 00000000000..7b1b8e51ca8 --- /dev/null +++ b/easybuild/easyconfigs/m/Maple/Maple-2022.1.eb @@ -0,0 +1,15 @@ +name = 'Maple' +version = '2022.1' + +homepage = 'http://www.maplesoft.com/products/maple/' +description = """Maple combines the world's most powerful mathematical computation engine with an intuitive, + 'clickable' user interface.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)sLinuxX64Installer.run'] +checksums = ['9a1733030b26d9ed915ac638f218e897dc0d9307b2ef6238a723fc4f2da3c744'] + +license_server = 'license.example.com' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MariaDB-connector-c/MariaDB-connector-c-3.2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MariaDB-connector-c/MariaDB-connector-c-3.2.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ae581382571 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB-connector-c/MariaDB-connector-c-3.2.2-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB-connector-c' +version = '3.2.2' + +homepage = 'https://downloads.mariadb.org/connector-c/' +description = "MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/MariaDB/mariadb-connector-c/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f8360a801794cf261fe24934c92164196f87e60faa6792d2f24cf9338f56655d'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +# don't use gold linker, leads to error: "invalid use of VERSION in input file" +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd'" + +sanity_check_paths = { + 'files': ['lib/mariadb/libmariadbclient.a', 'lib/mariadb/libmariadb.%s' % SHLIB_EXT], + 'dirs': ['include/mariadb'], +} + +modextrapaths = { + 'CPATH': ['include/mariadb'], + 'LD_LIBRARY_PATH': ['lib/mariadb'], + 'LIBRARY_PATH': ['lib/mariadb'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..c82bd9ecd86 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.11.2-GCC-12.2.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.11.2' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + {'mariadb-10.11.2.tar.gz': '1c89dee0caed0f68bc2a1d203eb98a123150e6a179f6ee0f1fc0ba3f08dc71dc'}, + {'MariaDB-10.1.13-link-rt-for-jemalloc.patch': '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('libaio', '0.3.113'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.4'), # optional + ('XZ', '5.2.7'), # optional + ('jemalloc', '5.3.0'), # optional + ('snappy', '1.1.9'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.10.3'), # needed by Connect XML + ('Boost', '1.81.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.40'), + ('OpenSSL', '1.1', '', SYSTEM), # runtime dep for mysql and PCRE2 for mysqltest +] + +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=auto " # External download sometimes fails so we build PCRE2 directly. +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_commands = ["mysql --help", "mysqltest --help"] + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.3.14-foss-2019a.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.3.14-foss-2019a.eb index fa93e55ee62..038db941352 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.3.14-foss-2019a.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.3.14-foss-2019a.eb @@ -37,8 +37,7 @@ dependencies = [ separate_build_dir = True -configopts = "-DCMAKE_BUILD_TYPE=Release " -configopts += "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) configopts += "-DWITH_PCRE=bundled " # using an external PCRE is broken, see https://bugs.exim.org/show_bug.cgi?id=2173 configopts += "-DWITH_ZLIB=system " diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb index 92741312fc0..3d259b0a537 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.4.13-gompi-2019b.eb @@ -9,7 +9,10 @@ Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" toolchain = {'name': 'gompi', 'version': '2019b'} -source_urls = ['http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source'] +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] sources = [SOURCELOWER_TAR_GZ] patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] checksums = [ @@ -37,8 +40,7 @@ dependencies = [ separate_build_dir = True -configopts = "-DCMAKE_BUILD_TYPE=Release " -configopts += "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) configopts += "-DWITH_PCRE=bundled " # using an external PCRE is broken, see https://bugs.exim.org/show_bug.cgi?id=2173 configopts += "-DWITH_ZLIB=system " diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb index 83ee345b1d9..0b8c7c5e095 100644 --- a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.5.8-GCC-10.2.0.eb @@ -9,11 +9,20 @@ Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source'] -sources = [SOURCELOWER_TAR_GZ] +local_pcre2_ver = '10.34' +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', + 'https://downloads.sourceforge.net/project/pcre/pcre2/%s/' % local_pcre2_ver, +] +sources = [ + SOURCELOWER_TAR_GZ, + {'filename': 'pcre2-%s.zip' % local_pcre2_ver, 'extract_cmd': "cp %s %(builddir)s/"}, +] patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] checksums = [ 'eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8', # mariadb-10.5.8.tar.gz + '75a19013a10ab543fe923bbc9b7c2750559d2cca3b4c3611ab91392e5f62041c', # pcre2-10.34.zip '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19', # MariaDB-10.1.13-link-rt-for-jemalloc.patch ] @@ -35,10 +44,11 @@ dependencies = [ ('Judy', '1.0.5'), # needed by OQGraph ] -separate_build_dir = True +# replace download URL for PCRE2 with path to pre-downloaded PRCE2 source file +local_pcre2_path = '%%(builddir)s/pcre2-%s.zip' % local_pcre2_ver +preconfigopts = "sed -i 's@http://.*.zip@file://%s@g' ../mariadb-%%(version)s/cmake/pcre.cmake && " % local_pcre2_path -configopts = "-DCMAKE_BUILD_TYPE=Release " -configopts += "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) configopts += "-DWITH_PCRE=bundled " # using an external PCRE is broken, see https://bugs.exim.org/show_bug.cgi?id=2173 configopts += "-DWITH_ZLIB=system " diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..9489b0bacd2 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-10.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.6.4' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +local_pcre2_ver = '10.37' +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', + 'https://downloads.sourceforge.net/project/pcre/pcre2/%s/' % local_pcre2_ver, +] +sources = [ + SOURCELOWER_TAR_GZ, + {'filename': 'pcre2-%s.zip' % local_pcre2_ver, 'extract_cmd': "cp %s %(builddir)s/"}, +] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + '75bf9b147a95d38160d01a73b098d50a1960563b46d16a235971fff64d99643c', # mariadb-10.6.4.tar.gz + '7a1dc9322cfbf4d00dd1adaa69f6ac7b91033170a0bcfc6615880803c8440257', # pcre2-10.37.zip + '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19', # MariaDB-10.1.13-link-rt-for-jemalloc.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('libaio', '0.3.112'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.3'), # optional + ('XZ', '5.2.5'), # optional + ('jemalloc', '5.2.1'), # optional + ('snappy', '1.1.8'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.9.10'), # needed by Connect XML + ('Boost', '1.76.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph +] + +# replace download URL for PCRE2 with path to pre-downloaded PRCE2 source file +local_pcre2_path = '%%(builddir)s/pcre2-%s.zip' % local_pcre2_ver +preconfigopts = "sed -i 's@http://.*.zip@file://%s@g' ../mariadb-%%(version)s/cmake/pcre.cmake && " % local_pcre2_path + +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=bundled " # using an external PCRE is broken, see https://bugs.exim.org/show_bug.cgi?id=2173 +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..afc9476839f --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.6.4-GCC-11.2.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.6.4' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + '75bf9b147a95d38160d01a73b098d50a1960563b46d16a235971fff64d99643c', # mariadb-10.6.4.tar.gz + '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19', # MariaDB-10.1.13-link-rt-for-jemalloc.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('libaio', '0.3.112'), +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.3'), # optional + ('XZ', '5.2.5'), # optional + ('jemalloc', '5.2.1'), # optional + ('snappy', '1.1.9'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.9.10'), # needed by Connect XML + ('Boost', '1.77.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.37'), + ('OpenSSL', '1.1', '', SYSTEM), # runtime dep for mysql and PCRE2 for mysqltest +] + +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=auto " # External download sometimes fails so we build PCRE2 directly. +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_commands = ["mysql --help", "mysqltest --help"] + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..b08debd8ac0 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-10.9.3-GCC-11.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '10.9.3' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + '9a1e229972fcccc8270e633f68d3fb824da151dcf4f53da1df8d947aca876bee', # mariadb-10.9.3.tar.gz + '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19', # MariaDB-10.1.13-link-rt-for-jemalloc.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('libaio', '0.3.112'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.3'), # optional + ('XZ', '5.2.5'), # optional + ('jemalloc', '5.3.0'), # optional + ('snappy', '1.1.9'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.9.13'), # needed by Connect XML + ('Boost', '1.79.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.40'), + ('OpenSSL', '1.1', '', SYSTEM), # runtime dep for mysql and PCRE2 for mysqltest +] + +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=auto " # External download sometimes fails so we build PCRE2 directly. +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_commands = ["mysql --help", "mysqltest --help"] + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MariaDB/MariaDB-11.6.0-GCC-12.3.0.eb b/easybuild/easyconfigs/m/MariaDB/MariaDB-11.6.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..35743343440 --- /dev/null +++ b/easybuild/easyconfigs/m/MariaDB/MariaDB-11.6.0-GCC-12.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'MariaDB' +version = '11.6.0' + +homepage = 'https://mariadb.org/' +description = """MariaDB is an enhanced, drop-in replacement for MySQL. +Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [ + 'https://archive.mariadb.org/mariadb-%(version)s/source/', + 'http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-%(version)s/source', +] +sources = [SOURCELOWER_TAR_GZ] +patches = ['MariaDB-10.1.13-link-rt-for-jemalloc.patch'] +checksums = [ + {'mariadb-11.6.0.tar.gz': '8fd5b593aee3920eb434c37ec44779d565fe96ef7dfd6b35a646fe7221103e11'}, + {'MariaDB-10.1.13-link-rt-for-jemalloc.patch': '8295837e623f6c782e1d64b00e0877ea98cce4bf8846755bb86c8a7732797c19'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('libaio', '0.3.113'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), + ('LZO', '2.10'), # optional + ('lz4', '1.9.4'), # optional + ('XZ', '5.4.2'), # optional + ('jemalloc', '5.3.0'), # optional + ('snappy', '1.1.10'), # needed by RocksDB; optional for InnoDB + ('libxml2', '2.11.4'), # needed by Connect XML + ('Boost', '1.82.0'), # needed by OQGraph + ('Judy', '1.0.5'), # needed by OQGraph + ('PCRE2', '10.42'), + ('OpenSSL', '1.1', '', SYSTEM), # runtime dep for mysql and PCRE2 for mysqltest +] + +configopts = "-DCMAKE_SHARED_LINKER_FLAGS='-fuse-ld=bfd' " # Linking fails with default gold linker +configopts += "-DMYSQL_MAINTAINER_MODE=OFF " # disabled to not treat warnings as errors (-Werror) +configopts += "-DWITH_PCRE=auto " # External download sometimes fails so we build PCRE2 directly. +configopts += "-DWITH_ZLIB=system " +configopts += "-DWITH_EMBEDDED_SERVER=ON " # for libmysqld.so & co +configopts += "-DWITH_SAFEMALLOC=OFF " # Disable memory debugger with jemalloc + +sanity_check_commands = ["mysql --help", "mysqltest --help"] + +sanity_check_paths = { + 'files': ['bin/mysql', 'bin/mysqld_safe', 'lib/libmysqlclient.%s' % SHLIB_EXT, 'lib/libmysqld.%s' % SHLIB_EXT, + 'lib/plugin/ha_connect.%s' % SHLIB_EXT, 'lib/plugin/ha_rocksdb.%s' % SHLIB_EXT, + 'lib/plugin/ha_oqgraph.%s' % SHLIB_EXT, 'scripts/mysql_install_db'], + 'dirs': ['include', 'share'], +} + +modextrapaths = {'PATH': 'scripts'} + +# Ensure that jemalloc does not use transparent hugepages. +# Database workloads with THP can cause memory bloat, potentially hiting OOM errors. +modextravars = {'MALLOC_CONF': 'thp:never'} + +moduleclass = 'data' 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-12.3.0.eb b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..84b4c527498 --- /dev/null +++ b/easybuild/easyconfigs/m/Markdown/Markdown-3.6-GCCcore-12.3.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.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Python', '3.11.3')] + +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/Markdown/Markdown-3.7-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Markdown/Markdown-3.7-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..04b5629d6bf --- /dev/null +++ b/easybuild/easyconfigs/m/Markdown/Markdown-3.7-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Markdown' +version = '3.7' + +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.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Python', '3.12.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.0-foss-2018a.eb b/easybuild/easyconfigs/m/Mash/Mash-2.0-foss-2018a.eb index a6eefdb3d0b..c03df442200 100644 --- a/easybuild/easyconfigs/m/Mash/Mash-2.0-foss-2018a.eb +++ b/easybuild/easyconfigs/m/Mash/Mash-2.0-foss-2018a.eb @@ -10,7 +10,15 @@ toolchain = {'name': 'foss', 'version': '2018a'} source_urls = ['https://github.com/marbl/Mash/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['7bea8cd3c266640bbd97f2e1c9d0168892915c1c14f7d03a9751bf7a3709dd01'] +patches = [ + 'Mash-2.1_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', +] +checksums = [ + '7bea8cd3c266640bbd97f2e1c9d0168892915c1c14f7d03a9751bf7a3709dd01', # v2.0.tar.gz + 'dc40511b25dab25e3fe88d4911ccf7bd793e60ba8f4b77a64488412d14796299', # Mash-2.1_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch +] builddependencies = [('Autotools', '20170619')] dependencies = [ @@ -27,4 +35,6 @@ sanity_check_paths = { 'dirs': ['include/mash'], } +sanity_check_commands = ['mash --version'] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.1-foss-2018b.eb b/easybuild/easyconfigs/m/Mash/Mash-2.1-foss-2018b.eb index 2d4362a7a23..2d8ab58651b 100644 --- a/easybuild/easyconfigs/m/Mash/Mash-2.1-foss-2018b.eb +++ b/easybuild/easyconfigs/m/Mash/Mash-2.1-foss-2018b.eb @@ -36,4 +36,6 @@ sanity_check_paths = { 'dirs': ['include/mash'], } +sanity_check_commands = ['mash --version'] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.2-GCC-9.3.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.2-GCC-9.3.0.eb new file mode 100644 index 00000000000..d5b65358598 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.2-GCC-9.3.0.eb @@ -0,0 +1,46 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.2' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-%(version)s_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', +] +checksums = [ + '7ad006dbf0d6ffc3e164713ba955aab4cd24eaf85c864ac905f48cd8ba332691', # v2.2.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch +] + +builddependencies = [('Autotools', '20180311')] +dependencies = [ + ('CapnProto', '0.8.0'), + ('GSL', '2.6'), + ('zlib', '1.2.11'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.2_fix-hardcoding.patch b/easybuild/easyconfigs/m/Mash/Mash-2.2_fix-hardcoding.patch new file mode 100644 index 00000000000..5a8fb66c549 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.2_fix-hardcoding.patch @@ -0,0 +1,20 @@ +don't hardcode -std=c++14, since -std=c++17 is required when building on top of CapnProto 0.8.0 +--- Mash-2.2/configure.ac.orig 2021-12-07 10:56:35.099497741 +0100 ++++ Mash-2.2/configure.ac 2021-12-07 10:57:09.343306342 +0100 +@@ -33,7 +33,7 @@ + AC_MSG_ERROR([Cap'n Proto compiler (capnp) not found.]) + fi + +-CPPFLAGS="-I$with_capnp/include -std=c++14" ++CPPFLAGS="-I$with_capnp/include $CXXFLAGS" + + AC_CHECK_HEADER(capnp/common.h, [result=1], [result=0]) + +--- Mash-2.2/Makefile.in.orig 2021-12-07 10:57:13.619282453 +0100 ++++ Mash-2.2/Makefile.in 2021-12-07 10:57:36.623153939 +0100 +@@ -1,4 +1,4 @@ +-CXXFLAGS += -O3 -std=c++14 -Isrc -I@capnp@/include -I@mathinc@ ++CXXFLAGS += -Isrc -I@capnp@/include -I@mathinc@ + CPPFLAGS += @amcppflags@ + + UNAME_S=$(shell uname -s) diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-10.3.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..0cc78489589 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-10.3.0.eb @@ -0,0 +1,46 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch +] + +builddependencies = [('Autotools', '20210128')] +dependencies = [ + ('CapnProto', '0.9.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..04d5033cf83 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.2.0.eb @@ -0,0 +1,47 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20210726')] +dependencies = [ + ('CapnProto', '0.9.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..cf5c886d18f --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20220317')] +dependencies = [ + ('CapnProto', '0.10.2'), + ('GSL', '2.7'), + ('zlib', '1.2.12'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.2.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.2.0.eb new file mode 100644 index 00000000000..e8e396f1ca2 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.2.0.eb @@ -0,0 +1,47 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20220317')] +dependencies = [ + ('CapnProto', '0.10.3'), + ('GSL', '2.7'), + ('zlib', '1.2.12'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.3.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..c7591fbc91d --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-GCC-12.3.0.eb @@ -0,0 +1,47 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20220317')] +dependencies = [ + ('CapnProto', '1.0.1'), + ('GSL', '2.7'), + ('zlib', '1.2.13'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/m/Mash/Mash-2.3-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..e11560a4409 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3-intel-compilers-2021.4.0.eb @@ -0,0 +1,48 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.2 +# R.QIAO + +easyblock = 'ConfigureMake' + +name = 'Mash' +version = '2.3' + +homepage = 'http://mash.readthedocs.org' +description = "Fast genome and metagenome distance estimation using MinHash" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/marbl/Mash/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Mash-2.2_fix-hardcoding.patch', + 'Mash-2.1_disable-memcpy-wrap.patch', + 'Mash-2.3_fix-GCC-11.patch', +] +checksums = [ + 'f96cf7305e010012c3debed966ac83ceecac0351dbbfeaa6cd7ad7f068d87fe1', # v2.3.tar.gz + '0c7315af727a06f408ab3ca69da0860fc671aa870b448a41a509b1e6d7027db5', # Mash-2.2_fix-hardcoding.patch + '40990cf3d192b533736374bc67a54dbd839d90b0310a0a66f994891da1f85b6e', # Mash-2.1_disable-memcpy-wrap.patch + '47a55459d4e8c57949648e0f33f3ffc3529563db0efe60f495fdec046f48d94e', # Mash-2.3_fix-GCC-11.patch +] + +builddependencies = [('Autotools', '20210726')] +dependencies = [ + ('CapnProto', '0.9.1'), + ('GSL', '2.7'), + ('zlib', '1.2.11'), +] + +preconfigopts = "./bootstrap.sh && " +configopts = "--with-capnp=$EBROOTCAPNPROTO --with-gsl=$EBROOTGSL" + +sanity_check_paths = { + 'files': ['bin/mash', 'lib/libmash.a'], + 'dirs': ['include/mash'], +} + +sanity_check_commands = ['mash --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch b/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch new file mode 100644 index 00000000000..0efc6c9df01 --- /dev/null +++ b/easybuild/easyconfigs/m/Mash/Mash-2.3_fix-GCC-11.patch @@ -0,0 +1,18 @@ +see also https://github.com/marbl/Mash/issues/167 + +Author: Andreas Tille +Last-Update: Tue, 12 Oct 2021 09:01:12 +0200 +Description: Fix "error: ‘numeric_limits’ is not a member of ‘std’" +Forwarded: https://github.com/marbl/Mash/issues/167 + +--- a/src/mash/robin_hood.h ++++ b/src/mash/robin_hood.h +@@ -45,6 +45,7 @@ + #include // only to support hash of smart pointers + #include + #include ++#include + #include + #include + #if __cplusplus >= 201703L + diff --git a/easybuild/easyconfigs/m/Mashtree/Mashtree-1.4.6-GCC-12.2.0.eb b/easybuild/easyconfigs/m/Mashtree/Mashtree-1.4.6-GCC-12.2.0.eb new file mode 100644 index 00000000000..0b08019f1de --- /dev/null +++ b/easybuild/easyconfigs/m/Mashtree/Mashtree-1.4.6-GCC-12.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'Bundle' + +name = 'Mashtree' +version = '1.4.6' + +description = "Create a tree using Mash distances." + +homepage = 'https://github.com/lskatz/mashtree' + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +builddependencies = [ + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('BioPerl', '1.7.8'), + ('Mash', '2.3'), + ('QuickTree', '2.5'), +] + +# this is a bundle of Perl modules +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('Class::Interface', '1.01', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SINISTER/'], + 'sources': ['Class-Interface-1.01.tar.gz'], + 'checksums': ['9fba15cda745ad37f451a0b9e698da3dfc12c2e8589016416a1e3ad77e444b7b'], + }), + ('Bio::Sketch', '0.3', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LS/LSKATZ/'], + 'sources': ['Bio-Sketch-0.3.tar.gz'], + 'checksums': ['7ac38552c80ae38e0c72ba3cfa4ecf667aca8b4080616415027bcba1420c8ae2'], + }), + ('Bio::Sketch::Mash', '0.9', { + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LS/LSKATZ/'], + 'sources': ['Bio-Sketch-Mash-0.9.tar.gz'], + 'checksums': ['ea15858bc75674e22bb26d570d5f94c1b4eb5476bbc7bbabdf07359ebd041280'], + }), + (name, version, { + 'source_urls': ['https://github.com/lskatz/mashtree/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['1bd427aba025886d9df99c95f685e06dc2226bca080a64a9cb9d341b5a3d6dac'], + }), +] + +sanity_check_paths = { + 'files': ['bin/mashtree'], + 'dirs': [] +} + +modextrapaths = {'PERL5LIB': [ + 'lib/perl5/site_perl/%(perlver)s', + 'lib/perl5/site_perl/%(perlver)s/x86_64-linux-thread-multi', +]} + +sanity_check_commands = ["mashtree -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mathematica/Mathematica-13.0.0.eb b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.0.0.eb new file mode 100644 index 00000000000..07ec38e6455 --- /dev/null +++ b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.0.0.eb @@ -0,0 +1,15 @@ +name = 'Mathematica' +version = '13.0.0' + +homepage = 'https://www.wolfram.com/mathematica' +description = """Mathematica is a computational software program used in many scientific, engineering, mathematical +and computing fields.""" + +toolchain = SYSTEM + +sources = ['Mathematica_%(version)s_BNDL_LINUX.sh'] +checksums = ['15bbad39a5995031325d1d178f63b00e71706d3ec9001eba6d1681fbc991d3e1'] + +license_server = 'license.example.com' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb new file mode 100644 index 00000000000..29426ff5cb2 --- /dev/null +++ b/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb @@ -0,0 +1,15 @@ +name = 'Mathematica' +version = '13.1.0' + +homepage = 'https://www.wolfram.com/mathematica' +description = """Mathematica is a computational software program used in many scientific, engineering, mathematical +and computing fields.""" + +toolchain = SYSTEM + +sources = ['Mathematica_%(version)s_LINUX.sh'] +checksums = ['199c9462c971fcce1a148dcf8fd3acc37ff0efdfc9a7fe13de6444dbbee936e3'] + +license_server = 'license.example.com' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Maude/Maude-3.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/Maude/Maude-3.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f9de690f36e --- /dev/null +++ b/easybuild/easyconfigs/m/Maude/Maude-3.1-GCCcore-10.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Maude' +version = '3.1' + +homepage = "https://maude.cs.illinois.edu/w/index.php/The_Maude_System" +description = """Maude is a high-performance reflective language and system supporting both equational and rewriting + logic specification and programming for a wide range of applications. Maude has been influenced in important ways by + the OBJ3 language, which can be regarded as an equational logic sublanguage. Besides supporting equational + specification and programming, Maude also supports rewriting logic computation. """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://maude.cs.illinois.edu/w/images/d/d3/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b112d7843f65217e3b5a9d40461698ef8dab7cbbe830af21216dfb924dc88a2f'] + +builddependencies = [ + ('binutils', '2.35'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('BuDDy', '2.4'), + ('GMP', '6.2.0'), + ('libsigsegv', '2.13'), + ('libtecla', '1.6.3'), + ('Yices', '2.6.2'), +] + +# Building in parallel sometimes errors +maxparallel = 1 + +runtest = 'check' + +modextravars = {'MAUDE_LIB': '%(installdir)s/share'} + +sanity_check_paths = { + 'files': ['bin/maude'] + ['share/%s.maude' % x for x in ['file', 'linear', 'prelude', 'smt']], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Maven/Maven-3.9.7.eb b/easybuild/easyconfigs/m/Maven/Maven-3.9.7.eb new file mode 100644 index 00000000000..63a55f376df --- /dev/null +++ b/easybuild/easyconfigs/m/Maven/Maven-3.9.7.eb @@ -0,0 +1,26 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen + +easyblock = 'PackedBinary' + +name = 'Maven' +version = '3.9.7' + +homepage = 'https://maven.apache.org/index.html' +description = """Binary maven install, Apache Maven is a software project management and comprehension tool. Based on +the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a +central piece of information. +""" + +toolchain = SYSTEM + +source_urls = ['https://archive.apache.org/dist/maven/maven-%(version_major)s/%(version)s/binaries/'] +sources = ['apache-maven-%(version)s-bin.tar.gz'] +checksums = ['c8fb9f620e5814588c2241142bbd9827a08e3cb415f7aa437f2ed44a3eeab62c'] + +sanity_check_paths = { + 'files': ['bin/mvn'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2020b.eb b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2020b.eb index 65c321a1695..535fd62d214 100644 --- a/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2020b.eb +++ b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2020b.eb @@ -28,6 +28,8 @@ prebuildopts = "cd src && " files_to_copy = ['*'] +fix_perl_shebang_for = ['run_MaxBin.pl'] + sanity_check_paths = { 'files': ['run_MaxBin.pl', 'src/MaxBin'], 'dirs': [], diff --git a/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb new file mode 100644 index 00000000000..338bf18f42b --- /dev/null +++ b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021a.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'MaxBin' +version = '2.2.7' + +# https://downloads.jbei.org/data/microbial_communities/MaxBin/MaxBin.html doesn't work +homepage = 'https://sourceforge.net/projects/maxbin/' +description = """MaxBin is software for binning assembled metagenomic sequences +based on an Expectation-Maximization algorithm.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['cb6429e857280c2b75823c8cd55058ed169c93bc707a46bde0c4383f2bffe09e'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Perl', '5.32.1'), + ('Bowtie2', '2.4.4'), + ('FragGeneScan', '1.31'), + ('HMMER', '3.3.2'), + ('IDBA-UD', '1.1.3'), +] + +prebuildopts = "cd src && " + +files_to_copy = ['*'] + +fix_perl_shebang_for = ['run_MaxBin.pl'] + +sanity_check_paths = { + 'files': ['run_MaxBin.pl', 'src/MaxBin'], + 'dirs': [], +} + +modextrapaths = {'PATH': ['', 'src']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021b.eb b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021b.eb new file mode 100644 index 00000000000..db60c60fedb --- /dev/null +++ b/easybuild/easyconfigs/m/MaxBin/MaxBin-2.2.7-gompi-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'MaxBin' +version = '2.2.7' + +# https://downloads.jbei.org/data/microbial_communities/MaxBin/MaxBin.html doesn't work +homepage = 'https://sourceforge.net/projects/maxbin/' +description = """MaxBin is software for binning assembled metagenomic sequences +based on an Expectation-Maximization algorithm.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['cb6429e857280c2b75823c8cd55058ed169c93bc707a46bde0c4383f2bffe09e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Perl', '5.34.0'), + ('Bowtie2', '2.4.4'), + ('FragGeneScan', '1.31'), + ('HMMER', '3.3.2'), + ('IDBA-UD', '1.1.3'), +] + +prebuildopts = "cd src && " + +files_to_copy = ['*'] + +fix_perl_shebang_for = ['run_MaxBin.pl'] + +sanity_check_paths = { + 'files': ['run_MaxBin.pl', 'src/MaxBin'], + 'dirs': [], +} + +modextrapaths = {'PATH': ['', 'src']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.0.3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.0.3.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d38372872cd --- /dev/null +++ b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.0.3.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'Tarball' + +name = 'MaxQuant' +version = '2.0.3.0' + +homepage = 'https://maxquant.org/maxquant' +description = """MaxQuant is a quantitative proteomics software package designed for analyzing large + mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling + techniques as well as label-free quantification are supported.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +# requires registration at https://www.maxquant.org/download_asset/maxquant/latest +sources = ['%(name)s_%(version)s.zip'] +checksums = ['463fcd29b41263c33c50c7c7c2cc608bc4b5b3e6806b77a1adc811e0f215af33'] + +dependencies = [('Mono', '6.12.0.122')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sCmd.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --version 2>&1 | grep -q %(version)s", ''), + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --help 2>&1 | grep -q USAGE", '')] + +modaliases = { + 'maxquantcmd': 'mono %(installdir)s/bin/%(name)sCmd.exe', + 'maxquantgui': 'mono %(installdir)s/bin/%(name)sGui.exe', +} + +modloadmsg = """ +To run MaxQuant in command-line mode: maxquantcmd + in GUI mode: maxquantgui +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f12c0cf7c87 --- /dev/null +++ b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.2.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'Tarball' + +name = 'MaxQuant' +version = '2.2.0.0' + +homepage = 'https://maxquant.org/maxquant' +description = """MaxQuant is a quantitative proteomics software package designed for analyzing large + mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling + techniques as well as label-free quantification are supported.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +download_instructions = """ +To download the MaxQuant source tarball, register at: + https://www.maxquant.org/download_asset/maxquant/latest +You should receive a unique download URL via email. +""" + +sources = ['%(name)s_v%(version)s.zip'] +checksums = ['4a286f33b701d0c03045dbde937e342ec4ea9d75b4f76d27b7dc7daac9cc89ab'] + +dependencies = [('Mono', '6.12.0.122')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sCmd.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --version 2>&1 | grep -q %(version)s", ''), + ("mono $EBROOTMAXQUANT/bin/MaxQuantCmd.exe --help 2>&1 | grep -q USAGE", '')] + +modaliases = { + 'maxquantcmd': 'mono $EBROOTMAXQUANT/bin/%(name)sCmd.exe', + 'maxquantgui': 'mono $EBROOTMAXQUANT/bin/%(name)sGui.exe', +} + +modloadmsg = """ +To run MaxQuant in command-line mode: maxquantcmd + in GUI mode: maxquantgui +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.4.2.0.eb b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.4.2.0.eb new file mode 100644 index 00000000000..edf1480c621 --- /dev/null +++ b/easybuild/easyconfigs/m/MaxQuant/MaxQuant-2.4.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'Tarball' + +name = 'MaxQuant' +version = '2.4.2.0' + +homepage = 'https://maxquant.org/maxquant' +description = """MaxQuant is a quantitative proteomics software package designed for analyzing large + mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling + techniques as well as label-free quantification are supported.""" + +toolchain = SYSTEM + +download_instructions = """ +To download the MaxQuant source tarball, register at: + https://www.maxquant.org/download_asset/maxquant/latest +You should receive a unique download URL via email. +""" + +sources = ['%(name)s_%(version)s.zip'] +checksums = ['03d8acc28ff8d71772d72d3da493e508553bd30f52f09c979bb9fcdb090e7799'] + +dependencies = [('dotNET-SDK', '3.1.300', '-linux-x64')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sCmd.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("dotnet $EBROOTMAXQUANT/bin/%(name)sCmd.exe --version 2>&1 | grep -q 2.4.1.0", ''), # reports wrong version + ("dotnet $EBROOTMAXQUANT/bin/%(name)sCmd.exe --help 2>&1 | grep -q USAGE", '') +] + +modaliases = { + 'maxquantcmd': 'dotnet $EBROOTMAXQUANT/bin/%(name)sCmd.exe', + 'maxquantgui': 'dotnet $EBROOTMAXQUANT/bin/%(name)sGui.exe', +} + +modloadmsg = """ +To run MaxQuant in command-line mode: maxquantcmd + in GUI mode: maxquantgui +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-foss-2020b.eb b/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-foss-2020b.eb new file mode 100644 index 00000000000..07a664b8e8c --- /dev/null +++ b/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-foss-2020b.eb @@ -0,0 +1,28 @@ +# This easyconfig was created by James Carpenter of the BEAR Software team at the University of Birmingham. +# updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'MedPy' +version = '0.4.0' + +homepage = 'https://pypi.org/project/MedPy/' +description = """MedPy is a library and script collection for medical image processing in Python, providing basic + functionalities for reading, writing and manipulating large images of arbitrary dimensionality. Its main + contributions are n-dimensional versions of popular image filters, a collection of image feature extractors, ready + to be used with scikit-learn, and an exhaustive n-dimensional graph-cut package.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f8a94937dbb947ab069e767862dc6b86896b153c41ce8ed9369c7d79c0033a88'] + +dependencies = [ + ('Python', '3.8.6'), + ('SimpleITK', '2.1.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-fosscuda-2020b.eb b/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..e5bb3979d85 --- /dev/null +++ b/easybuild/easyconfigs/m/MedPy/MedPy-0.4.0-fosscuda-2020b.eb @@ -0,0 +1,28 @@ +# This easyconfig was created by James Carpenter of the BEAR Software team at the University of Birmingham. +# updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'MedPy' +version = '0.4.0' + +homepage = 'https://pypi.org/project/MedPy/' +description = """MedPy is a library and script collection for medical image processing in Python, providing basic + functionalities for reading, writing and manipulating large images of arbitrary dimensionality. Its main + contributions are n-dimensional versions of popular image filters, a collection of image feature extractors, ready + to be used with scikit-learn, and an exhaustive n-dimensional graph-cut package.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f8a94937dbb947ab069e767862dc6b86896b153c41ce8ed9369c7d79c0033a88'] + +dependencies = [ + ('Python', '3.8.6'), + ('SimpleITK', '2.1.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Meep/Meep-1.26.0-foss-2020b.eb b/easybuild/easyconfigs/m/Meep/Meep-1.26.0-foss-2020b.eb new file mode 100644 index 00000000000..0b54a760099 --- /dev/null +++ b/easybuild/easyconfigs/m/Meep/Meep-1.26.0-foss-2020b.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'Meep' +version = '1.26.0' + +homepage = 'https://meep.readthedocs.io/en/latest/' +description = """Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package + developed at MIT to model electromagnetic systems.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True, 'opt': True, 'unroll': True, 'pic': True} + +source_urls = ['https://github.com/NanoComp/meep/releases/download/v%(version)s/'] +sources = ['meep-%(version)s.tar.gz'] +checksums = ['3f89f1bd781e46b938aa02e315a4526a4ae9896687db75c187b4f17febcbc301'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), + ('SWIG', '4.0.2') +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('MPB', '1.11.1'), + ('Harminv', '1.4.2'), + ('HDF5', '1.10.7'), + ('libctl', '4.5.1'), + ('libGDSII', '0.21'), + ('GSL', '2.6'), + ('Guile', '3.0.9'), +] + +configopts = "--with-pic --with-mpi --with-blas=openblas --with-lapack=openblas --without-gcc-arch " +configopts += "--with-libctl=$EBROOTLIBCTL/share/libctl --enable-shared " + +sanity_check_paths = { + 'files': ['bin/meep', 'include/meep.hpp', 'lib/libmeep.a', 'lib/libpympb.a', + 'lib/libmeep.%s' % SHLIB_EXT, 'lib/libpympb.%s' % SHLIB_EXT], + 'dirs': ['include/meep', 'lib/python%(pyshortver)s/site-packages/meep', 'share/meep'], +} + +sanity_check_commands = [ + "meep --help", + "python -c 'import meep'", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/Meep/Meep-1.4.3-intel-2020a.eb b/easybuild/easyconfigs/m/Meep/Meep-1.4.3-intel-2020a.eb new file mode 100644 index 00000000000..db639ea5fe1 --- /dev/null +++ b/easybuild/easyconfigs/m/Meep/Meep-1.4.3-intel-2020a.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Meep' +version = '1.4.3' + +homepage = 'https://github.com/stevengj/meep' +description = """Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package + developed at MIT to model electromagnetic systems.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'opt': True, 'unroll': True, 'pic': True} + +source_urls = ['https://github.com/stevengj/meep/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['Meep-1.3_version-string-without-spaces.patch'] +checksums = [ + '1105b369c3f7f4aae0de62e933e49f4e3c94b8031a7eb39e2ee315d4cea46b02', # meep-1.4.3.tar.gz + '9d1ade5d656ab20feb18661a06a73aa9a36e1e583b98a630b7810ca7ffc91af6', # Meep-1.3_version-string-without-spaces.patch +] + +dependencies = [ + ('Harminv', '1.4.1'), + ('HDF5', '1.10.6'), + ('libctl', '4.0.0'), + ('GSL', '2.6'), + ('FFTW', '3.3.8'), + ('Guile', '2.2.4'), +] + +configopts = "--with-pic --with-mpi --with-blas=mkl_em64t --with-lapack=mkl_em64t --without-gcc-arch " +configopts += "--with-libctl=$EBROOTLIBCTL/share/libctl --enable-shared " + +# fix for guile-config being broken because shebang line contains full path to bin/guile +configopts += 'GUILE_CONFIG="$EBROOTGUILE/bin/guile -e main -s $EBROOTGUILE/bin/guile-config"' + +sanity_check_paths = { + 'files': ['bin/meep', 'include/meep.hpp', 'lib/libmeep.a', 'lib/libmeep.%s' % SHLIB_EXT, 'lib/pkgconfig/meep.pc'], + 'dirs': ['include/meep', 'share/meep'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-foss-2020b.eb b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-foss-2020b.eb new file mode 100644 index 00000000000..f71e6ef6e2a --- /dev/null +++ b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-foss-2020b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'Megalodon' +version = '2.3.5' + +homepage = 'https://github.com/nanoporetech/megalodon' +description = """Megalodon is a research command line tool to extract high accuracy modified base and sequence variant +calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference +genome/transriptome.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('h5py', '3.1.0'), + ('scikit-learn', '0.23.2'), + ('tqdm', '4.56.2'), + ('Pysam', '0.16.0.1'), + ('Seaborn', '0.11.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + ('ont-fast5-api', '4.0.0', { + 'checksums': ['a249813104439bfe3d4e346bb560756e23217655273410c60b9bade205eb3e66'], + }), + ('mappy', '2.22', { + 'checksums': ['219c93ab7f8d5d7c26face512a9e738a7306f3376ebfa3017eac70676ba97840'], + }), + ('ont_pyguppy_client_lib', '5.0.16', { + 'modulename': 'pyguppy_client_lib', + 'sources': ['ont_pyguppy_client_lib-%(version)s-cp38-cp38-manylinux2010_x86_64.whl'], + 'checksums': ['6e89cccb2d3943ee5d6e9a6cd55e1cc8700656201d1a411b638919560bbb0772'], + }), + ('megalodon', version, { + 'checksums': ['0ae6c6dcaf599f98ca421d1f4df616cf0a4cf3436b305553220a479dc41f3426'], + }), +] + +sanity_check_paths = { + 'files': ['bin/megalodon'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "megalodon -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-fosscuda-2020b.eb b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-fosscuda-2020b.eb new file mode 100644 index 00000000000..05615980011 --- /dev/null +++ b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.3.5-fosscuda-2020b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'Megalodon' +version = '2.3.5' + +homepage = 'https://github.com/nanoporetech/megalodon' +description = """Megalodon is a research command line tool to extract high accuracy modified base and sequence variant +calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference +genome/transriptome.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('h5py', '3.1.0'), + ('scikit-learn', '0.23.2'), + ('tqdm', '4.56.2'), + ('Pysam', '0.16.0.1'), + ('Seaborn', '0.11.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + ('ont-fast5-api', '4.0.0', { + 'checksums': ['a249813104439bfe3d4e346bb560756e23217655273410c60b9bade205eb3e66'], + }), + ('mappy', '2.22', { + 'checksums': ['219c93ab7f8d5d7c26face512a9e738a7306f3376ebfa3017eac70676ba97840'], + }), + ('ont_pyguppy_client_lib', '5.0.16', { + 'modulename': 'pyguppy_client_lib', + 'sources': ['ont_pyguppy_client_lib-%(version)s-cp38-cp38-manylinux2010_x86_64.whl'], + 'checksums': ['6e89cccb2d3943ee5d6e9a6cd55e1cc8700656201d1a411b638919560bbb0772'], + }), + ('megalodon', version, { + 'checksums': ['0ae6c6dcaf599f98ca421d1f4df616cf0a4cf3436b305553220a479dc41f3426'], + }), +] + +sanity_check_paths = { + 'files': ['bin/megalodon'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "megalodon -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..6e267773c52 --- /dev/null +++ b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'Megalodon' +version = '2.5.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/megalodon' +description = """Megalodon is a research command line tool to extract high accuracy modified base and sequence variant +calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference +genome/transriptome.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('ont-fast5-api', '4.0.0'), + ('ont-remora', '1.0.0', versionsuffix), + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.13'), + ('scikit-learn', '0.24.2'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('mappy', '2.24', { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + ('ont-pyguppy-client-lib', '6.0.6', { + 'modulename': 'pyguppy_client_lib', + 'source_tmpl': 'ont_pyguppy_client_lib-%(version)s-cp39-cp39-manylinux2014_x86_64.whl', + 'checksums': ['ba1f7e7aa02830d1d4760f7871710b1d097a7ab9e5412b127c00474974c271fa'], + }), + ('megalodon', version, { + 'patches': ['Megalodon-2.5.0_fix-samtools-test.patch'], + 'checksums': [ + # megalodon-2.5.0.tar.gz + '60ad1f1191b86d9a1423dcb9c934c7577cf1ce083689337646937be2538953a3', + # Megalodon-2.5.0_fix-samtools-test.patch + 'd90ec766e459a1c657ab8db94a208432845f091550e6bac197ec2d99d7058faa', + ], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/megalodon'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "megalodon -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a.eb b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a.eb new file mode 100644 index 00000000000..6824d5f3590 --- /dev/null +++ b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0-foss-2021a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'Megalodon' +version = '2.5.0' + +homepage = 'https://github.com/nanoporetech/megalodon' +description = """Megalodon is a research command line tool to extract high accuracy modified base and sequence variant +calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference +genome/transriptome.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('ont-fast5-api', '4.0.0'), + ('ont-remora', '1.0.0'), + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.13'), + ('scikit-learn', '0.24.2'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('mappy', '2.24', { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + ('ont-pyguppy-client-lib', '6.0.6', { + 'modulename': 'pyguppy_client_lib', + 'source_tmpl': 'ont_pyguppy_client_lib-%(version)s-cp39-cp39-manylinux2014_x86_64.whl', + 'checksums': ['ba1f7e7aa02830d1d4760f7871710b1d097a7ab9e5412b127c00474974c271fa'], + }), + ('megalodon', version, { + 'patches': ['Megalodon-2.5.0_fix-samtools-test.patch'], + 'checksums': [ + # megalodon-2.5.0.tar.gz + '60ad1f1191b86d9a1423dcb9c934c7577cf1ce083689337646937be2538953a3', + # Megalodon-2.5.0_fix-samtools-test.patch + 'd90ec766e459a1c657ab8db94a208432845f091550e6bac197ec2d99d7058faa', + ], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/megalodon'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "megalodon -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0_fix-samtools-test.patch b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0_fix-samtools-test.patch new file mode 100644 index 00000000000..1305f51862e --- /dev/null +++ b/easybuild/easyconfigs/m/Megalodon/Megalodon-2.5.0_fix-samtools-test.patch @@ -0,0 +1,72 @@ +Use command `samtools help` to sanity check the installation of SAMtools +PR: https://github.com/nanoporetech/megalodon/pull/302 +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/megalodon/mapping.py b/megalodon/mapping.py +index bab93d3..8b9608f 100755 +--- a/megalodon/mapping.py ++++ b/megalodon/mapping.py +@@ -267,44 +267,40 @@ class MapInfo: + + def test_samtools(self): + try: +- test_sort_res = subprocess.run( +- [self.samtools_exec, "sort"], ++ test_help_res = subprocess.run( ++ [self.samtools_exec, "help"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) +- test_index_res = subprocess.run( +- [self.samtools_exec, "index"], +- stdout=subprocess.PIPE, +- stderr=subprocess.PIPE, ++ except FileNotFoundError: ++ LOGGER.warning( ++ "Samtools executable not found. Mappings will " ++ + "not be sorted or indexed." + ) +- # Note index returns non-zero exit status +- if test_sort_res.returncode != 0: ++ self.do_sort_mappings = False ++ else: ++ if test_help_res.returncode != 0: + LOGGER.warning( + "Samtools test commands return non-zero exit " + + "status. Mappings will not be sorted or indexed." + ) + LOGGER.debug( + ( +- "MappingTestFail: sort_returncode: {} " +- + "index_returncode: {}\nsort_call_stdout:\n{}\n" +- + "sort_call_stderr:\n{}\nindex_call_stdout:\n{}" +- + "\nindex_call_stderr:\n{}" ++ "MappingTestFail: samtools_returncode: {} " ++ + "\nsamtools_call_stdout:\n{}" ++ + "\nsamtools_call_stderr:\n{}" + ).format( +- test_sort_res.returncode, +- test_index_res.returncode, +- test_sort_res.stdout.decode(), +- test_sort_res.stderr.decode(), +- test_index_res.stdout.decode(), +- test_index_res.stderr.decode(), ++ test_help_res.returncode, ++ test_help_res.stdout.decode(), ++ test_help_res.stderr.decode(), + ) + ) + self.do_sort_mappings = False +- except FileNotFoundError: +- LOGGER.warning( +- "Samtools executable not found. Mappings will " +- + "not be sorted or indexed." +- ) +- self.do_sort_mappings = False ++ else: ++ LOGGER.debug( ++ "Mapping Test Success --- Mappings will be " ++ + "sorted and indexed with samtools" ++ ) + + + def align_read( diff --git a/easybuild/easyconfigs/m/Mercurial/Mercurial-6.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..76559a0dc8a --- /dev/null +++ b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.2-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +## +# Author: Robert Mijakovic +## +easyblock = "PythonPackage" + +name = 'Mercurial' +version = '6.2' + +homepage = 'https://www.mercurial-scm.org' +description = """Mercurial is a free, distributed source control management tool. It efficiently handles projects +of any size and offers an easy and intuitive interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.mercurial-scm.org/release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d382b5e3fab8931126013201731416574b35ae85787404bb2a0819f41bb88972'] + +dependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_commands = ["hg --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Mercurial/Mercurial-6.4.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.4.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4544ab05627 --- /dev/null +++ b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.4.5-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +## +# Author: Robert Mijakovic +## +easyblock = "PythonPackage" + +name = 'Mercurial' +version = '6.4.5' + +homepage = 'https://www.mercurial-scm.org' +description = """Mercurial is a free, distributed source control management tool. It efficiently handles projects +of any size and offers an easy and intuitive interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.mercurial-scm.org/release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b0b4b00b8b2639c8be387394796f0425beb339314df7e72937f8ddd2a41b1b8a'] + +dependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_commands = ["hg --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Mercurial/Mercurial-6.8.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.8.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a733004f29a --- /dev/null +++ b/easybuild/easyconfigs/m/Mercurial/Mercurial-6.8.1-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +# # +# Author: Robert Mijakovic +# # +easyblock = 'PythonPackage' + +name = 'Mercurial' +version = '6.8.1' + +homepage = 'https://www.mercurial-scm.org' +description = """Mercurial is a free, distributed source control management tool. It efficiently handles projects +of any size and offers an easy and intuitive interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.%(namelower)s-scm.org/release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['030e8a7a6d590e4eaeb403ee25675615cd80d236f3ab8a0b56dcc84181158b05'] + +dependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sanity_check_commands = ['hg --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Mesa-demos/Mesa-demos-8.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/Mesa-demos/Mesa-demos-8.4.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3cac0a108cb --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa-demos/Mesa-demos-8.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Mesa-demos' +version = '8.4.0' + +homepage = 'https://www.mesa3d.org/' +description = "Mesa utility and demo programs, including glxinfo and eglinfo." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://mesa.freedesktop.org/archive/demos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('freetype', '2.10.4'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Mesa', '21.1.1'), + ('glew', '2.1.0'), + ('libGLU', '9.0.1'), + ('freeglut', '3.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/eglinfo', 'bin/glxinfo'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-foss-2017b.eb b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-foss-2017b.eb index 236bd17749a..543ff867b1d 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-foss-2017b.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-foss-2017b.eb @@ -20,6 +20,7 @@ toolchain = {'name': 'foss', 'version': '2017b'} toolchainopts = {'optarch': False} source_urls = [ + 'https://archive.mesa3d.org/older-versions/%(version_major)s.x/', 'https://mesa.freedesktop.org/archive/', 'https://mesa.freedesktop.org/archive/%(version)s', 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-fosscuda-2017b.eb b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-fosscuda-2017b.eb index 62cc87c9103..0b66164c7ca 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-fosscuda-2017b.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.5-fosscuda-2017b.eb @@ -23,9 +23,11 @@ toolchain = {'name': 'fosscuda', 'version': '2017b'} toolchainopts = {'optarch': False} source_urls = [ + 'https://archive.mesa3d.org/older-versions/%(version_major)s.x/', 'https://mesa.freedesktop.org/archive/', 'https://mesa.freedesktop.org/archive/%(version)s', 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', ] sources = [SOURCELOWER_TAR_XZ] diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-19.1.7-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-19.1.7-GCCcore-8.3.0.eb index 696489871d8..1b116a43622 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-19.1.7-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-19.1.7-GCCcore-8.3.0.eb @@ -31,7 +31,7 @@ checksums = ['e287920fdb38712a9fed448dc90b3ca95048c7face5db52e58361f8b6e0f3cd5'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('flex', '2.6.4'), ('Bison', '3.3.2'), @@ -49,6 +49,7 @@ dependencies = [ ('LLVM', '9.0.0'), ('X11', '20190717'), ('libunwind', '1.3.1'), + ('ncurses', '6.1'), ] configopts = " -Dplatforms=x11 -Dosmesa=gallium -Ddri3=false -Ddri-drivers='' -Dvulkan-drivers=''" diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-19.2.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-19.2.1-GCCcore-8.3.0.eb index 5679d2d2e9a..4df888ead2c 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-19.2.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-19.2.1-GCCcore-8.3.0.eb @@ -37,7 +37,7 @@ checksums = [ builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('flex', '2.6.4'), ('Bison', '3.3.2'), @@ -72,7 +72,4 @@ configopts += " -Dglvnd=true" # This helps in certain X forwarding situations (e.g. XQuartz) postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] -# Tells libglvnd where to find EGL libraries -modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "share/glvnd/egl_vendor.d"} - moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-20.0.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-20.0.2-GCCcore-9.3.0.eb index 69d8f9a58b9..7fab5b51576 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-20.0.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-20.0.2-GCCcore-9.3.0.eb @@ -67,7 +67,4 @@ configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" # This helps in certain X forwarding situations (e.g. XQuartz) postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] -# Tells libglvnd where to find EGL libraries -modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "share/glvnd/egl_vendor.d"} - moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-20.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-20.2.1-GCCcore-10.2.0.eb index a2dbdd6eb60..2c63a42feb3 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-20.2.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-20.2.1-GCCcore-10.2.0.eb @@ -67,7 +67,4 @@ configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" # This helps in certain X forwarding situations (e.g. XQuartz) postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] -# Tells libglvnd where to find EGL libraries -modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "share/glvnd/egl_vendor.d"} - moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-21.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-21.1.1-GCCcore-10.3.0.eb index fd898dcf82c..b18d10a8a50 100644 --- a/easybuild/easyconfigs/m/Mesa/Mesa-21.1.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/m/Mesa/Mesa-21.1.1-GCCcore-10.3.0.eb @@ -63,7 +63,4 @@ configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" # This helps in certain X forwarding situations (e.g. XQuartz) postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] -# Tells libglvnd where to find EGL libraries -modextrapaths = {"__EGL_VENDOR_LIBRARY_DIRS": "share/glvnd/egl_vendor.d"} - moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-21.1.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-21.1.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1d789b3cb6c --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-21.1.7-GCCcore-11.2.0.eb @@ -0,0 +1,66 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers are enabled based on system architecture: +# - llvmpipe: the high-performance Gallium LLVM driver +# - swr: Intel's OpenSWR +# Default renderer is llvmpipe. SWR can be enabled by setting the environment +# variable GALLIUM_DRIVER=swr + +name = 'Mesa' +version = '21.1.7' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e9e67c10654f2e4bf15b944bb048007a614292aa4792b1b7512eb700b7b3a7bb'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkg-config', '0.29.2'), + ('Mako', '1.1.4'), + ('libxml2', '2.9.10'), + ('expat', '2.4.1'), + ('gettext', '0.21'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), + ('libdrm', '2.4.107'), + ('libglvnd', '1.3.3'), + ('libunwind', '1.5.0'), + ('LLVM', '12.0.1'), + ('X11', '20210802'), +] + +configopts = "-Dplatforms=x11 -Dosmesa=true -Ddri-drivers='' -Dvulkan-drivers='' " +configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" + +# 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 +# configopts += " -Dgallium-drivers=swrast,swr -Dswr-arches=avx,avx2,skx,knl" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-22.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-22.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..34b4b562a8a --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-22.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,66 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '22.0.3' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9f2b30f5276a9abaf71aafc6979685e2636189de1a87aea2c9e69744a6d0ebb9'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.8.0'), + ('Mako', '1.2.0'), + ('libxml2', '2.9.13'), + ('expat', '2.4.8'), + ('gettext', '0.21'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), + ('libdrm', '2.4.110'), + ('libglvnd', '1.4.0'), + ('libunwind', '1.6.2'), + ('LLVM', '14.0.3'), + ('X11', '20220504'), +] + +configopts = "-Dplatforms=x11 -Dosmesa=true -Ddri-drivers='' -Dvulkan-drivers='' " +configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" + +# 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 +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..476f46b65db --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-22.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,66 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '22.2.4' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['65d76b53ca5c7b46019e0e8e5b414de45d2fecd3fcd71707f6c3bc7691c9f7ab'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.3'), + ('Mako', '1.2.4'), + ('libxml2', '2.10.3'), + ('expat', '2.4.9'), + ('gettext', '0.21.1'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), + ('libdrm', '2.4.114'), + ('libglvnd', '1.6.0'), + ('libunwind', '1.6.2'), + ('LLVM', '15.0.5'), + ('X11', '20221110'), +] + +configopts = "-Dplatforms=x11 -Dosmesa=true -Ddri-drivers='' -Dvulkan-drivers='' " +configopts += "-Dllvm=true -Dshared-llvm=true -Dlibunwind=true -Dglvnd=true" + +# 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 +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-23.1.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..190b07b1d41 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.4-GCCcore-12.3.0.eb @@ -0,0 +1,66 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '23.1.4' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['7261a17fb94867e3dc5a90d8a1f100fa04b0cbbde51d25302c0872b5e9a10959'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '1.9.5'), + ('Mako', '1.2.4'), + ('libxml2', '2.11.4'), + ('expat', '2.5.0'), + ('gettext', '0.21.1'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('zstd', '1.5.5'), + ('libdrm', '2.4.115'), + ('libglvnd', '1.6.0'), + ('libunwind', '1.6.2'), + ('LLVM', '16.0.6'), + ('X11', '20230603'), +] + +configopts = "-Dplatforms=x11 -Dosmesa=true -Dvulkan-drivers='' " +configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Dglvnd=true" + +# 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 +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..f550441cf4a --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-23.1.9-GCCcore-13.2.0.eb @@ -0,0 +1,68 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '23.1.9' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['295ba27c28146ed09214e8ce79afa1659edf9d142decc3c91f804552d64f7510'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '2.0.3'), + ('Mako', '1.2.4'), + ('libxml2', '2.11.5'), + ('expat', '2.5.0'), + ('gettext', '0.22'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('zstd', '1.5.5'), + ('libdrm', '2.4.117'), + ('libglvnd', '1.7.0'), + ('libunwind', '1.6.2'), + ('LLVM', '16.0.6'), + ('X11', '20231019'), + ('Wayland', '1.22.0'), +] + +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 +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-24.1.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Mesa/Mesa-24.1.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5eda042c494 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-24.1.3-GCCcore-13.3.0.eb @@ -0,0 +1,68 @@ +# This is a Mesa using software rendering via Gallium-DRI and libglvnd +# - libglvnd can dynamically choose between system-installed NVidia +# libGLX/libEGL or the software renderers provided by this Mesa +# - EGL is available +# +# Software renderers enabled (swr deprecated as of v22): +# - llvmpipe: uses LLVM for JIT code generation (multi-threaded) +# - softpipe: a reference Gallium driver +# Default renderer is llvmpipe. To use softpipe, set the environment +# variable GALLIUM_DRIVER=softpipe + +name = 'Mesa' +version = '24.1.3' + +homepage = 'https://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x', +] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['63236426b25a745ba6aa2d6daf8cd769d5ea01887b0745ab7124d2ef33a9020d'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('pkgconf', '2.2.0'), + ('Mako', '1.3.5'), + ('libxml2', '2.12.7'), + ('expat', '2.6.2'), + ('gettext', '0.22.5'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('zstd', '1.5.6'), + ('libdrm', '2.4.122'), + ('libglvnd', '1.7.0'), + ('libunwind', '1.8.1'), + ('LLVM', '18.1.8'), + ('X11', '20240607'), + ('Wayland', '1.23.0'), +] + +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 +# configopts += " -Dgallium-drivers=swrast" + +# symlink indirect to mesa GLX, similar to Debian, see +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 +# This helps in certain X forwarding situations (e.g. XQuartz) +postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/MeshLab/MeshLab-2023.12-GCC-12.3.0.eb b/easybuild/easyconfigs/m/MeshLab/MeshLab-2023.12-GCC-12.3.0.eb new file mode 100644 index 00000000000..ca152c147be --- /dev/null +++ b/easybuild/easyconfigs/m/MeshLab/MeshLab-2023.12-GCC-12.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeNinja' + +name = 'MeshLab' +version = '2023.12' + +homepage = 'https://github.com/cnr-isti-vclab/meshlab' +description = 'The open source mesh processing system.' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/cnr-isti-vclab', + 'repo_name': '%(namelower)s', + 'tag': '%(name)s-%(version)s', + 'recursive': True, + 'keep_git_dir': True, + }, +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('patchelf', '0.18.0'), + ('Eigen', '3.4.0'), +] + +dependencies = [ + ('Qt5', '5.15.10'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('CGAL', '5.6'), + ('Boost', '1.82.0'), + ('MPFR', '4.2.0'), +] + +sanity_check_paths = { + 'files': ['bin/meshlab'], + 'dirs': ['share'], +} + +sanity_check_commands = ['meshlab --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Meson/Meson-0.58.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/Meson/Meson-0.58.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7557cb24d0a --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-0.58.2-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '0.58.2' + +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': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7634ec32955d3f897d623b88e9d2988451035f43d73c17a29caf767387baedb7'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Ninja', '1.10.2'), +] + +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'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Meson/Meson-0.59.1-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/m/Meson/Meson-0.59.1-GCCcore-8.3.0-Python-3.7.4.eb new file mode 100644 index 00000000000..2f076795e67 --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-0.59.1-GCCcore-8.3.0-Python-3.7.4.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '0.59.1' +versionsuffix = '-Python-%(pyver)s' + +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': '8.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['db586a451650d46bbe10984a87b79d9bcdc1caebf38d8e189f8848f8d502356d'] + +builddependencies = [ + ('binutils', '2.32'), +] + +dependencies = [ + ('Python', '3.7.4'), + ('Ninja', '1.9.0'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'mesonbuild'} + +sanity_check_paths = { + 'files': ['bin/meson'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["meson --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Meson/Meson-0.62.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Meson/Meson-0.62.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ee6c972568e --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-0.62.1-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '0.62.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': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0f5caa1e70da12d5e63aa6a9504273759b891af36c8d87de381a4ed1380e845'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Ninja', '1.10.2'), +] + +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'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..167a5228187 --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-0.64.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '0.64.0' + +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.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c5e27e091c2a35b9049e152a6535045ebbd057253aeb67856de6ecbb7b917bab'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), # 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/Meson/Meson-1.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Meson/Meson-1.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8f653ab16a1 --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-1.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '1.1.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 = ['d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c'] + +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/Meson/Meson-1.2.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/Meson/Meson-1.2.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2b678aa7152 --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-1.2.3-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '1.2.3' + +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': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4533a43c34548edd1f63a276a42690fce15bde9409bcf20c4b8fa3d7e4d7cac1'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), # 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/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/Meson/Meson-1.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7e8d5b0b7bb --- /dev/null +++ b/easybuild/easyconfigs/m/Meson/Meson-1.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'Meson' +version = '1.4.0' + +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': '13.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8fd6630c25c27f1489a8a0392b311a60481a3c161aa699b330e25935b750138d'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), # includes required 'wheel' package + ('Ninja', '1.12.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/Mesquite/Mesquite-2.3.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d28f9928eea --- /dev/null +++ b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'Mesquite' +version = '2.3.0' + +homepage = 'https://software.sandia.gov/mesquite/' + +description = """Mesh-Quality Improvement Library""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://software.sandia.gov/mesquite/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28'] + +builddependencies = [ + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/msqquality', 'bin/msqshape', 'lib/libmesquite.a'], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "msqquality -h", + "msqshape -h", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ccf2bdaf150 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'Mesquite' +version = '2.3.0' + +homepage = 'https://software.sandia.gov/mesquite/' + +description = """Mesh-Quality Improvement Library""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/sandialabs/mesquite/raw/main/mesquite/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4ab4ceadfa596e16c00dbb0e8b830a9112fa1b73291ca07633ec379a39b8bb28'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/msqquality', 'bin/msqshape', 'lib/libmesquite.a'], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "msqquality -h", + "msqshape -h", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb index 7746c998d4c..d906664f6db 100644 --- a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.14-gompi-2019a.eb @@ -14,8 +14,10 @@ toolchain = {'name': 'gompi', 'version': '2019a'} source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] sources = ['v%(version)s.tar.gz'] +patches = ['MetaBAT-2.15_zlib-htslib.patch'] checksums = [ - 'd43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2', # v2.14.tar.gz + {'v2.14.tar.gz': 'd43d5e91afa8f2d211a913739127884669516bfbed870760597fcee2b513abe2'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, ] multi_deps = {'Python': ['3.7.2', '2.7.15']} @@ -35,9 +37,11 @@ dependencies = [ ('bzip2', '1.0.6'), ] -fix_perl_shebang_for = ['bin/*.pl'] +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' -prebuildopts = "cp -a $EBROOTSAMTOOLS samtools && " +fix_perl_shebang_for = ['bin/*.pl'] sanity_check_paths = { 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb new file mode 100644 index 00000000000..88b778ef482 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'MetaBAT' +version = '2.15' + +homepage = 'https://bitbucket.org/berkeleylab/metabat' +description = """MetaBAT: A robust statistical framework for +reconstructing genomes from metagenomic data""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +bitbucket_account = 'berkeleylab' +source_urls = [BITBUCKET_SOURCE] +sources = ['v%(version)s.tar.bz2'] +patches = [ + '%(name)s-%(version)s_use_eb_zlib_and_htslib_and_flags.patch', +] +checksums = [ + {'v2.15.tar.bz2': 'c6bf3a64bbb4e8a25cd10e115b9f277d768552d0b299ad3b81d7d95762c0bfe4'}, + {'MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch': + '28abeeb269dc1fb86d213a11a2c6f311e31702c14cef50f386e0649237689953'}, +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.77.0'), + ('HTSlib', '1.14'), + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['bin/*pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['aggregateBinDepths.pl', 'aggregateContigOverlapsByBin.pl', 'contigOverlaps', + 'jgi_summarize_bam_contig_depths', 'merge_depths.pl', 'metabat', 'runMetaBat.sh']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb index 827c80520e1..0852b759a00 100644 --- a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2020b-Python-2.7.18.eb @@ -11,7 +11,15 @@ toolchain = {'name': 'gompi', 'version': '2020b'} source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] sources = ['v%(version)s.tar.gz'] -checksums = ['550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] builddependencies = [ ('binutils', '2.35'), @@ -29,9 +37,11 @@ dependencies = [ ('bzip2', '1.0.8'), ] -fix_perl_shebang_for = ['bin/*.pl'] +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' -prebuildopts = "cp -a $EBROOTSAMTOOLS samtools && " +fix_perl_shebang_for = ['bin/*.pl'] sanity_check_paths = { 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb new file mode 100644 index 00000000000..dc2afdaad6f --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'MetaBAT' +version = '2.15' + +homepage = 'https://bitbucket.org/berkeleylab/metabat' +description = "An efficient tool for accurately reconstructing single genomes from complex microbial communities" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('Boost', '1.76.0'), + ('zlib', '1.2.11'), + ('SAMtools', '1.13'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), +] + +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb new file mode 100644 index 00000000000..3ffd2f88277 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15-gompi-2021b.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'MetaBAT' +version = '2.15' + +homepage = 'https://bitbucket.org/berkeleylab/metabat' +description = "An efficient tool for accurately reconstructing single genomes from complex microbial communities" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://bitbucket.org/berkeleylab/metabat/get/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'MetaBAT-2.15_zlib-htslib.patch', + 'MetaBAT-2.15_fix-aarch64.patch', +] +checksums = [ + {'v2.15.tar.gz': '550487b66ec9b3bc53edf513d00c9deda594a584f53802165f037bde29b4d34e'}, + {'MetaBAT-2.15_zlib-htslib.patch': 'f03b8d5717958df3e23dc6905155663b388ad330ec16eab546133d9cceeb5e77'}, + {'MetaBAT-2.15_fix-aarch64.patch': '061b43d6c0ac4a9acf3bd7cf3c62efc856661993a61e7d4652ed68aafb7aa7af'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('Boost', '1.77.0'), + ('zlib', '1.2.11'), + ('SAMtools', '1.14'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), +] + +configopts = '-DZLIB_LIBRARY="$EBROOTZLIB/lib/libz.a" -DHTSLIB_LIBRARY="$EBROOTSAMTOOLS/lib/libhts.a" ' +# SAMtools's libhts.a requires additional libraries like cURL to be linked +configopts += '-DCMAKE_EXE_LINKER_FLAGS_RELEASE="-lcurl -llzma -lbz2 -lssl -lcrypto" ' + +fix_perl_shebang_for = ['bin/*.pl'] + +sanity_check_paths = { + 'files': ['bin/aggregateBinDepths.pl', 'bin/aggregateContigOverlapsByBin.pl', 'bin/metabat', 'bin/metabat2'], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch new file mode 100644 index 00000000000..b3029a247bf --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_fix-aarch64.patch @@ -0,0 +1,31 @@ +fixes "error: impossible constraint in asm" when building on aarch64/amr64 +see https://bitbucket.org/berkeleylab/metabat/issues/151 +From a01eafa174e01f6a46ef71b63daa7695d2c3834e Mon Sep 17 00:00:00 2001 +From: Rob Egan +Date: Mon, 26 Sep 2022 09:19:32 -0700 +Subject: [PATCH] removed unused function using assembly types + +--- + src/metabat2.h | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/metabat2.h b/src/metabat2.h +index b1cb5d3..7accc1a 100644 +--- a/src/metabat2.h ++++ b/src/metabat2.h +@@ -258,12 +258,6 @@ public: + + void gen_tnf_graph(Graph& g, Similarity cutoff); + +-unsigned long long rdtsc() { +- unsigned int lo, hi; +- __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); +- return ((unsigned long long) hi << 32) | lo; +-} +- + static void trim_fasta_label(std::string &label) { + size_t pos = label.find_first_of(" \t"); + if (pos != std::string::npos) +-- +2.38.1 + diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch new file mode 100644 index 00000000000..d0ccfd3bcbe --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_use_eb_zlib_and_htslib_and_flags.patch @@ -0,0 +1,80 @@ +Use EasyBuild versions of zlib and HTSlib instead of internal + +Åke Sandgren, 20230224 +diff -ru berkeleylab-metabat-0db17a40717d.orig/CMakeLists.txt berkeleylab-metabat-0db17a40717d/CMakeLists.txt +--- berkeleylab-metabat-0db17a40717d.orig/CMakeLists.txt 2020-01-04 21:14:21.000000000 +0100 ++++ berkeleylab-metabat-0db17a40717d/CMakeLists.txt 2023-02-24 16:31:12.180989564 +0100 +@@ -7,9 +7,20 @@ + + message("Installing ${CMAKE_BUILD_TYPE} MetaBAT into ${CMAKE_INSTALL_PREFIX}") + +-include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) +-include(cmake/zlib.cmake) +-include(cmake/htslib.cmake) ++#include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) ++#include(cmake/zlib.cmake) ++#include(cmake/htslib.cmake) ++ ++include(FindZLIB) ++ ++find_package(PkgConfig) ++pkg_check_modules(PKGC_HTSLIB htslib) ++if(PKGC_HTSLIB_FOUND) ++ set(HTSLIB_FOUND ${PKGC_HTSLIB_FOUND}) ++ set(HTSLIB_LIBRARIES "${PKGC_HTSLIB_LINK_LIBRARIES}") ++else() ++ message(ERROR "Can't find htslib") ++endif() + + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +@@ -31,10 +42,10 @@ + # using AppleClang + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + # using GCC +- if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") +- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mtune=native") +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mtune=native") +- endif() ++# if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") ++# set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -mtune=native") ++# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -mtune=native") ++# endif() + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") + # using Intel C++ + endif() +Only in berkeleylab-metabat-0db17a40717d: .CMakeLists.txt.swp +diff -ru berkeleylab-metabat-0db17a40717d.orig/src/CMakeLists.txt berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt +--- berkeleylab-metabat-0db17a40717d.orig/src/CMakeLists.txt 2020-01-04 21:14:21.000000000 +0100 ++++ berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt 2023-02-24 16:42:42.035750712 +0100 +@@ -1,6 +1,6 @@ + # find and use Boost +-set(Boost_NO_BOOST_CMAKE ON) # for backwards comptibility of cmake and boost >= 1.70 +-set(Boost_USE_STATIC_LIBS ON) ++#set(Boost_NO_BOOST_CMAKE ON) # for backwards comptibility of cmake and boost >= 1.70 ++#set(Boost_USE_STATIC_LIBS ON) + find_package(Boost 1.55.0 COMPONENTS program_options filesystem system graph serialization iostreams REQUIRED) + include_directories( ${Boost_INCLUDE_DIRS} ) + +@@ -36,8 +36,8 @@ + foreach(target ${targets}) + + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) +- target_link_libraries(${target} ${zlib_LIB} ${Boost_LIBRARIES} ${EXTRALIBS} ) ++ #add_dependencies(${target} htslib zlib check_git_repository) ++ target_link_libraries(${target} ${ZLIB_LIBRARIES} ${Boost_LIBRARIES} ${EXTRALIBS} ) + + endforeach() + +@@ -48,8 +48,8 @@ + set(targets jgi_summarize_bam_contig_depths contigOverlaps) + foreach(target ${targets}) + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) +- target_link_libraries(${target} ${htslib_LIB} ${zlib_LIB} ${Boost_LIBRARIES} ) ++ #add_dependencies(${target} htslib zlib check_git_repository) ++ target_link_libraries(${target} ${HTSLIB_LIBRARIES} ${ZLIB_LIBRARIES} ${Boost_LIBRARIES} ) + endforeach() + + diff --git a/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch new file mode 100644 index 00000000000..9914848cdc0 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaBAT/MetaBAT-2.15_zlib-htslib.patch @@ -0,0 +1,35 @@ +avoid downloading and building of zlib and htslib, since they're provided as dependencies by EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- berkeleylab-metabat-0db17a40717d/CMakeLists.txt.orig 2022-11-11 12:11:10.473978638 +0000 ++++ berkeleylab-metabat-0db17a40717d/CMakeLists.txt 2022-11-11 12:12:34.246072148 +0000 +@@ -8,8 +8,8 @@ + message("Installing ${CMAKE_BUILD_TYPE} MetaBAT into ${CMAKE_INSTALL_PREFIX}") + + include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) +-include(cmake/zlib.cmake) +-include(cmake/htslib.cmake) ++set(zlib_LIB ${ZLIB_LIBRARY}) ++set(htslib_LIB ${HTSLIB_LIBRARY}) + + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +--- berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt.orig 2022-11-11 12:23:52.313823937 +0000 ++++ berkeleylab-metabat-0db17a40717d/src/CMakeLists.txt 2022-11-11 12:24:18.424465217 +0000 +@@ -36,7 +36,7 @@ + foreach(target ${targets}) + + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) ++ add_dependencies(${target} check_git_repository) + target_link_libraries(${target} ${zlib_LIB} ${Boost_LIBRARIES} ${EXTRALIBS} ) + + endforeach() +@@ -48,7 +48,7 @@ + set(targets jgi_summarize_bam_contig_depths contigOverlaps) + foreach(target ${targets}) + add_executable(${target} ${target}.cpp) +- add_dependencies(${target} htslib zlib check_git_repository) ++ add_dependencies(${target} check_git_repository) + target_link_libraries(${target} ${htslib_LIB} ${zlib_LIB} ${Boost_LIBRARIES} ) + endforeach() + 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/MetaEuk/MetaEuk-5-GCC-10.3.0.eb b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-5-GCC-10.3.0.eb new file mode 100644 index 00000000000..81c324e51b9 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-5-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MetaEuk' +version = '5' +local_commit = '34c21f2' + +homepage = 'https://metaeuk.soedinglab.org' +description = """MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic + metagenomic contigs.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/soedinglab/%(namelower)s/archive'] +sources = ['%%(version)s-%s.tar.gz' % local_commit] +checksums = ['560bc174d85c82ee1965b38131a7017f674f341fb73d48e35884fbceda827966'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/metaeuk'], + 'dirs': [], +} + +sanity_check_commands = ["metaeuk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.2.0.eb new file mode 100644 index 00000000000..cf853a53080 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MetaEuk' +version = '6' +local_commit = 'a5d39d9' + +homepage = 'https://metaeuk.soedinglab.org' +description = """MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic + metagenomic contigs.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/soedinglab/%(namelower)s/archive'] +sources = ['%%(version)s-%s.tar.gz' % local_commit] +checksums = ['be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126'] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/metaeuk'], + 'dirs': [], +} + +sanity_check_commands = ["metaeuk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb new file mode 100644 index 00000000000..3077d330680 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MetaEuk' +version = '6' +local_commit = 'a5d39d9' + +homepage = 'https://metaeuk.soedinglab.org' +description = """MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic + metagenomic contigs.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/soedinglab/%(namelower)s/archive'] +sources = ['%%(version)s-%s.tar.gz' % local_commit] +checksums = ['be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/metaeuk'], + 'dirs': [], +} + +sanity_check_commands = ["metaeuk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-12.2.0.eb b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-12.2.0.eb new file mode 100644 index 00000000000..983ce8ee7ae --- /dev/null +++ b/easybuild/easyconfigs/m/MetaEuk/MetaEuk-6-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'MetaEuk' +version = '6' +local_commit = 'a5d39d9' + +homepage = 'https://metaeuk.soedinglab.org' +description = """MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic + metagenomic contigs.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/soedinglab/%(namelower)s/archive'] +sources = ['%%(version)s-%s.tar.gz' % local_commit] +checksums = ['be19c26f5bdb7dcdd7bc48172105afecf19e5a2e5555edb3ba0c4aa0e4aac126'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/metaeuk'], + 'dirs': [], +} + +sanity_check_commands = ["metaeuk --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-0.0.320-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-0.0.320-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..842a2f4e945 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-0.0.320-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +# Authors: Matt Pickin (UoY) +# Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'MetaMorpheus' +version = '0.0.320' + +homepage = 'https://github.com/smith-chem-wisc/MetaMorpheus' +description = """MetaMorpheus is a bottom-up proteomics database search software + with integrated post-translational modification (PTM) discovery capability. + This program combines features of Morpheus and G-PTM-D in a single tool. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/smith-chem-wisc/%(name)s/releases/download/%(version)s'] +sources = [{ + 'download_filename': '%(name)s_CommandLine.zip', + 'filename': SOURCE_ZIP, +}] +checksums = ['9c76babe4e92c8003dd17eb9a3cd80b1c26658dcb175edcc05808cb0e3a7ea37'] + +dependencies = [('dotNET-Core-Runtime', '5.0.17')] + +sanity_check_paths = { + 'files': ['CMD.dll'], + 'dirs': [], +} + +_cmd = "dotnet %(installdir)s/CMD.dll" +sanity_check_commands = ["%s %s" % (_cmd, x) for x in ['--help', '--test -o %(builddir)s/test']] + +modaliases = {'metamorpheus': _cmd} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb new file mode 100644 index 00000000000..9570e0d7ede --- /dev/null +++ b/easybuild/easyconfigs/m/MetaMorpheus/MetaMorpheus-1.0.5.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'MetaMorpheus' +version = '1.0.5' + +homepage = 'https://github.com/smith-chem-wisc/MetaMorpheus' +description = """MetaMorpheus is a bottom-up proteomics database search software + with integrated post-translational modification (PTM) discovery capability. + This program combines features of Morpheus and G-PTM-D in a single tool. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/smith-chem-wisc/%(name)s/releases/download/%(version)s'] +sources = [{ + 'download_filename': '%(name)s_CommandLine.zip', + 'filename': SOURCE_ZIP, +}] +checksums = ['cad92b262ca5508c4d8a04e0d342f1260b85d354cd53152db9d7f6cc1e5a0490'] + +dependencies = [ + ('dotNET-Core', '6.0'), +] + +sanity_check_paths = { + 'files': ['CMD.dll'], + 'dirs': [], +} + +_cmd = "dotnet %(installdir)s/CMD.dll" +sanity_check_commands = ["%s %s" % (_cmd, x) for x in ['--help', '--test -o %(builddir)s/test']] + +modaliases = {'metamorpheus': _cmd} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-3.0.9-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-3.0.9-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..1fc584f1503 --- /dev/null +++ b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-3.0.9-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,43 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'MetaPhlAn' +version = '3.0.9' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/biobakery/MetaPhlAn' +description = """MetaPhlAn is a computational tool for profiling the composition + of microbial communities from metagenomic shotgun sequencing data """ + +source_urls = ['https://github.com/biobakery/MetaPhlAn/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['de965469e4f93e3dd5c9e2dac8914f7debd242c196f343cd7cefd8c7faddd33c'] + +toolchain = {'name': 'foss', 'version': '2020a'} + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('Biopython', '1.78', versionsuffix), + ('Pysam', '0.16.0.1'), + ('DendroPy', '4.4.0'), + ('CMSeq', '1.0.3', versionsuffix), + ('biom-format', '2.1.10', versionsuffix), + ('h5py', '2.10.0', versionsuffix), + ('PhyloPhlAn', '3.0', versionsuffix), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'strainphlan']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} +sanity_check_commands = [('%(namelower)s', '-h')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb new file mode 100644 index 00000000000..16e6771ac7d --- /dev/null +++ b/easybuild/easyconfigs/m/MetaPhlAn/MetaPhlAn-4.0.6-foss-2022a.eb @@ -0,0 +1,48 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonBundle' + +name = 'MetaPhlAn' +version = '4.0.6' + +homepage = 'https://github.com/biobakery/MetaPhlAn' +description = """MetaPhlAn is a computational tool for profiling the composition + of microbial communities from metagenomic shotgun sequencing data """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('DendroPy', '4.5.2'), + ('CMSeq', '1.0.4'), + ('biom-format', '2.1.14'), + ('h5py', '3.7.0'), + ('PhyloPhlAn', '3.0.3'), +] + +use_pip = True + +exts_list = [ + ('hclust2', '1.0.0', { + 'checksums': ['9667f1d16628940aedd3d1d571b956a6f77795018e3ea4dd83f234419eb0096d'], + }), + (name, version, { + 'checksums': ['e810d6b894ec6d0029255407f03a7dea1753ff65bde333ab34b40544cfb5553e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'strainphlan']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["metaphlan -h"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Metal/Metal-2020-05-05-GCC-10.2.0.eb b/easybuild/easyconfigs/m/Metal/Metal-2020-05-05-GCC-10.2.0.eb new file mode 100644 index 00000000000..5d713d8d117 --- /dev/null +++ b/easybuild/easyconfigs/m/Metal/Metal-2020-05-05-GCC-10.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMakeCp' + +name = 'Metal' +version = '2020-05-05' + +homepage = 'http://csg.sph.umich.edu/abecasis/Metal/' +description = """Metal - Meta Analysis Helper. The METAL software is designed to facilitate meta-analysis of large + datasets (such as several whole genome scans) in a convenient, rapid and memory efficient manner.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/statgen/METAL/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['0ffa2419ca2ab43766e7e6e8c97822c8ce1f5b6233fb5f992d1b1be1955fede7'] + +builddependencies = [('CMake', '3.18.4')] +dependencies = [('zlib', '1.2.11')] + +files_to_copy = [(['metal/metal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/metal'], + 'dirs': [''], +} + +sanity_check_commands = ['%(namelower)s'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb new file mode 100644 index 00000000000..7f8f6858397 --- /dev/null +++ b/easybuild/easyconfigs/m/MetalWalls/MetalWalls-21.06.1-foss-2023a.eb @@ -0,0 +1,47 @@ +name = 'MetalWalls' +version = '21.06.1' + +homepage = 'https://gitlab.com/ampere2/metalwalls' +description = """MetalWalls (MW) is a molecular dynamics code dedicated to the modelling of electrochemical systems. +Its main originality is the inclusion of a series of methods allowing to apply a constant potential within the +electrode materials.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +sources = [ + { + "filename": "metalwalls-%(version)s.tar.gz", + "git_config": { + "url": "https://gitlab.com/ampere2", + "repo_name": "metalwalls", + "tag": '%(version)s', + + }, + }, +] +checksums = [ + # # Holding off checksum checks untill 5.0.x + # # https://github.com/easybuilders/easybuild-framework/pull/4248 + # '8852bf5bd3591868cc2af6be378ac4dbfcd209d53acc176536038dbe69892b3d', + None +] + +builddependencies = [ + ("Python", "3.11.3"), + ("SciPy-bundle", "2023.07"), +] +dependencies = [ + ("PLUMED", "2.9.0"), + ("f90wrap", "0.2.13"), + ("mpi4py", "3.1.4") +] + +files_to_copy = [ + (['mw'], 'bin'), +] + +runtest = 'test' +pretestopts = 'export OMPI_MCA_rmaps_base_oversubscribe=true && ' # Test-suite requires minimum number of cores + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb b/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb index 767b61a3fb8..688e013bf5f 100644 --- a/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb +++ b/easybuild/easyconfigs/m/Metaxa2/Metaxa2-2.2-gompi-2019a.eb @@ -26,7 +26,7 @@ local_metaxa2_scripts = ['metaxa2', 'metaxa2_c', 'metaxa2_dbb', 'metaxa2_dc', 'm fix_perl_shebang_for = local_metaxa2_scripts postinstallcmds = [ - "sed -i 's/^\$plus = 0;/$plus = 1; # use blastn + blastdbcmd provided by BLAST+/g' %(installdir)s/metaxa2{,_c}", + r"sed -i 's/^\$plus = 0;/$plus = 1; # use blastn + blastdbcmd provided by BLAST+/g' %(installdir)s/metaxa2{,_c}", ] modextrapaths = {'PATH': ''} diff --git a/easybuild/easyconfigs/m/MethylDackel/MethylDackel-0.6.1-GCC-11.2.0.eb b/easybuild/easyconfigs/m/MethylDackel/MethylDackel-0.6.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..61b1b210fbf --- /dev/null +++ b/easybuild/easyconfigs/m/MethylDackel/MethylDackel-0.6.1-GCC-11.2.0.eb @@ -0,0 +1,52 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# 0.6.1 Update: Christoph Siegert + +easyblock = 'ConfigureMake' + +name = 'MethylDackel' +version = '0.6.1' +github_account = 'dpryan79' + +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A (mostly) universal methylation extractor for BS-seq experiments.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['MethylDackel_fix_version.h_target.patch'] +checksums = [ + 'eeb1da4c830bcd9f3e6663a764947d957c41337643069524a4b545812fcf4819', # 0.6.1.tar.gz + '3b2e0a8028d12f9f214a027746eddaa5bf9239f75c08d829dfa93fba6d6a1d71', # MethylDackel_fix_version.h_target.patch +] + +skipsteps = ['configure'] + +buildopts = 'LIBBIGWIG="$EBROOTLIBBIGWIG/lib/libBigWig.a"' + +runtest = 'test' + +installopts = "prefix=%(installdir)s" +modextrapaths = {'PATH': ''} + +builddependencies = { + # Python is required for testing + ('Python', '3.9.6'), +} + +dependencies = [ + ('HTSlib', '1.14'), + ('libBigWig', '0.4.6'), +] + +sanity_check_paths = { + 'files': ['%(name)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(name)s extract -h" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MethylDackel/MethylDackel_fix_version.h_target.patch b/easybuild/easyconfigs/m/MethylDackel/MethylDackel_fix_version.h_target.patch new file mode 100644 index 00000000000..dd9db6b72b0 --- /dev/null +++ b/easybuild/easyconfigs/m/MethylDackel/MethylDackel_fix_version.h_target.patch @@ -0,0 +1,30 @@ +From 1f3bc6833d192dff5969c9901557ad8e22b3a689 Mon Sep 17 00:00:00 2001 +From: Christoph Siegert +Date: Fri, 21 Jan 2022 13:58:17 +0100 +Subject: [PATCH] do not recompile on "make test" and "make install" + +This patch removes ".PHONY" for version.h. +".PHONY version.h" causes make to not look for the version.h file so +everything that depends on it will be rebuilt on every run of make. +This causes + make LIBBIGWIG=/some/path/libBigWig.a + make test +to fail as "make test" will try to recompile MethylDackel without +LIBBIGWIG set to /some/path/libBigWig.a +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1352d5f..911da1f 100644 +--- a/Makefile ++++ b/Makefile +@@ -4,7 +4,7 @@ LIBS ?= # e.g., -L$PREFIX/lib, or where ever htslib is + LIBBIGWIG ?= + CFLAGS ?= -Wall -g -O3 -pthread + +-.PHONY: all clean install version.h ++.PHONY: all clean install + + .SUFFIXES:.c .o + diff --git a/easybuild/easyconfigs/m/MiGEC/MiGEC-1.2.9-Java-1.8.eb b/easybuild/easyconfigs/m/MiGEC/MiGEC-1.2.9-Java-1.8.eb index c1dfbf5a270..ca85b3b0c8f 100644 --- a/easybuild/easyconfigs/m/MiGEC/MiGEC-1.2.9-Java-1.8.eb +++ b/easybuild/easyconfigs/m/MiGEC/MiGEC-1.2.9-Java-1.8.eb @@ -19,7 +19,7 @@ source_urls = ['https://github.com/mikessh/migec/releases/download/%(version)s/' sources = ['%(namelower)s-%(version)s.zip'] checksums = ['4a9ace1ab932d06154cdd3eaf6724f55c8dc5c3ce68108b8a4d30ecb0d58ea7e'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['migec', 'migec-%(version)s.jar'], diff --git a/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-1.8.eb b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-1.8.eb index 4287f32cf3f..93646ef7373 100644 --- a/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-1.8.eb +++ b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-1.8.eb @@ -19,7 +19,7 @@ source_urls = ['https://github.com/milaboratory/mixcr/releases/download/v%(versi sources = ['%(namelower)s-%(version)s.zip'] checksums = ['f0b32efadf6dae95819cd90cf49978e48797fc9f2685af1fd282a47d3f9fda08'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['mixcr', 'mixcr.jar'], diff --git a/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-11.eb b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-11.eb new file mode 100644 index 00000000000..f6c889767ac --- /dev/null +++ b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.13-Java-11.eb @@ -0,0 +1,28 @@ +easyblock = 'Tarball' + +name = 'MiXCR' +version = '3.0.13' +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 = ['f0b32efadf6dae95819cd90cf49978e48797fc9f2685af1fd282a47d3f9fda08'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['mixcr', 'mixcr.jar'], + 'dirs': ['libraries'], +} + +sanity_check_commands = ["mixcr help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.3-Java-1.8.eb b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.3-Java-1.8.eb index 864fd64611c..b1db223674b 100644 --- a/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.3-Java-1.8.eb +++ b/easybuild/easyconfigs/m/MiXCR/MiXCR-3.0.3-Java-1.8.eb @@ -19,7 +19,7 @@ source_urls = ['https://github.com/milaboratory/mixcr/releases/download/v%(versi sources = ['%(namelower)s-%(version)s.zip'] checksums = ['a969d815f8e7a8c3ffe082fdfe8f63cadbef7820b9299d648a454fe9480c72af'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['mixcr', 'mixcr.jar'], 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/MicrobeAnnotator/MicrobeAnnotator-2.0.5-foss-2021a.eb b/easybuild/easyconfigs/m/MicrobeAnnotator/MicrobeAnnotator-2.0.5-foss-2021a.eb new file mode 100644 index 00000000000..b76e1fa7bff --- /dev/null +++ b/easybuild/easyconfigs/m/MicrobeAnnotator/MicrobeAnnotator-2.0.5-foss-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'MicrobeAnnotator' +version = '2.0.5' + +homepage = 'https://github.com/cruizperez/MicrobeAnnotator' +description = "Easy-to-use pipeline for the comprehensive metabolic annotation of microbial genomes." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('BLAST+', '2.11.0'), + ('DIAMOND', '2.0.11'), + ('HMMER2', '2.3.2'), + ('python-isal', '0.11.0'), + ('SciPy-bundle', '2021.05'), + ('Seaborn', '0.11.2'), + ('wget', '1.21.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wget', '3.2', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061'], + }), + ('importlib_resources', '5.4.0', { + 'checksums': ['d756e2f85dd4de2ba89be0b21dba2a3bbec2e871a42a3a16719258a11f87506b'], + }), + ('xopen', '1.2.1', { + 'checksums': ['9cb1e23592b1ee0f7b067a67f74fcc7957e08821cb2a0e1f6b6c87499c68afcf'], + }), + ('fasta-reader', '1.0.0', { + 'checksums': ['61453b968a71ddf5bb63172f68d73ba2ccf0a23ac3b6ae0f6c63afa478d30444'], + }), + ('gff-io', '0.0.2', { + 'checksums': ['b1691222494787995a14b4b9ca5cbd3ead1372c4f6e5b58ef71ed733a35d7a59'], + }), + ('pooch', '1.5.2', { + 'checksums': ['5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581'], + }), + ('hmmer', '0.1.0', { + 'checksums': ['4d322ae026c0a61459cef06405add39ea86f7ad1fef845712b7b27b4e6842a92'], + }), + (name, version, { + 'preinstallopts': 'sed -i "/python_requires/d" setup.py && ', + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/cruizperez/MicrobeAnnotator/archive/'], + 'checksums': ['4bc128faf725164b50c20026530425336d72fbfd6916f8f8c6c8c5246c7b43ad'], + }), +] + +sanity_check_commands = [ + 'microbeannotator -h', + 'microbeannotator_db_builder -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mikado/Mikado-2.3.4-foss-2022b.eb b/easybuild/easyconfigs/m/Mikado/Mikado-2.3.4-foss-2022b.eb new file mode 100644 index 00000000000..d575c58e61c --- /dev/null +++ b/easybuild/easyconfigs/m/Mikado/Mikado-2.3.4-foss-2022b.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'Mikado' +version = '2.3.4' + +homepage = 'https://github.com/EI-CoreBioinformatics/mikado' +description = """Mikado is a lightweight Python3 pipeline to identify + the most useful or “best” set of transcripts from multiple transcript + assemblies. Our approach leverages transcript assemblies generated + by multiple methods to define expressed loci, assign a representative + transcript and return a set of gene models that selects against transcripts + that are chimeric, fragmented or with short or disrupted CDS.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('Meson', '0.64.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Biopython', '1.81'), + ('hypothesis', '6.68.2'), + ('networkx', '3.0'), + ('SciPy-bundle', '2023.02'), + ('Pysam', '0.21.0'), + ('PyYAML', '6.0'), + ('snakemake', '7.32.3'), + ('pyfaidx', '0.7.2.1'), + ('Greenlet', '2.0.2'), + # DRMAA is not needed but it can be used on clusters with Slurm + # ('drmaa-python', '0.7.9', '-slurm'), +] + +use_pip = True +sanity_pip_check = True + +local_old_line = 'from scipy._build_utils import numpy_nodepr_api' +local_new_line = """numpy_nodepr_api = dict(define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_9_API_VERSION")])""" +# hardcoded value, used to be imported from scipy._build_utils (which is no longer available since scipy 1.10)' +local_code_patch_cmd = "sed -i 's/%s/%s/g' setup.py" % (local_old_line, local_new_line) +# drmaa-python is not necessary and it would require slurm-drmaa while Slurm is not available on all clusters +local_dep_patch_cmd = "sed -i '/^drmaa$/d' requirements.txt" + +exts_list = [ + ('SQLAlchemy', '2.0.20', { + 'checksums': ['ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6'], + }), + ('SQLAlchemy-Utils', '0.41.1', { + 'checksums': ['a2181bff01eeb84479e38571d2c0718eb52042f9afd8c194d0d02877e84b7d74'], + }), + ('python-rapidjson', '1.10', { + 'modulename': 'rapidjson', + 'checksums': ['acfecbf5edb91ec72a20a125de7f56b8c2f6161eff4c65382c8ee6a2484d3540'], + }), + ('marshmallow', '3.14.1', { + 'checksums': ['4c05c1684e0e97fe779c62b91878f173b937fe097b356cd82f793464f5bc6138'], + }), + ('marshmallow_dataclass', '8.5.3', { + 'checksums': ['c0c5e1ea8d0e557b6fa00343799a9a9e60757b948fb096076beb6aa76bd68d30'], + }), + ('typeguard', '4.1.2', { + 'checksums': ['3be187945f9ef5a9f6d7a926dfe54babb7dfd807085ce05f9a5e8735f2487990'], + }), + ('typing_extensions', '4.7.1', { + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + ('typing_inspect', '0.9.0', { + 'checksums': ['b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'preinstallopts': "%s && %s && " % (local_code_patch_cmd, local_dep_patch_cmd), + 'modulename': name, + 'checksums': ['6d8844bacacc776214cf35cb148fa638c029b2972751d04fc1f7d0d8f3e961c2'], + }), +] + +sanity_check_commands = [ + "python -c 'import Mikado; Mikado.test()'" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Miller/Miller-6.4.0.eb b/easybuild/easyconfigs/m/Miller/Miller-6.4.0.eb new file mode 100644 index 00000000000..489fe047327 --- /dev/null +++ b/easybuild/easyconfigs/m/Miller/Miller-6.4.0.eb @@ -0,0 +1,30 @@ +easyblock = 'GoPackage' + +name = 'Miller' +version = '6.4.0' + +homepage = 'https://miller.readthedocs.io/' +description = "Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON" + +toolchain = SYSTEM + +source_urls = ['https://github.com/johnkerl/miller/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['20a8687a0c5b5fedf4fc3a794ef1cee7e9872e87476e1f24bde8de25799f8c51'] + +builddependencies = [ + ('Go', '1.18.3'), +] + +installopts = './cmd/mlr' + +sanity_check_commands = [ + "mlr version", +] + +sanity_check_paths = { + 'files': ['bin/mlr'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MinCED/MinCED-0.4.2-GCCcore-8.3.0-Java-11.eb b/easybuild/easyconfigs/m/MinCED/MinCED-0.4.2-GCCcore-8.3.0-Java-11.eb index 4cb42765502..5301799bdd2 100644 --- a/easybuild/easyconfigs/m/MinCED/MinCED-0.4.2-GCCcore-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/m/MinCED/MinCED-0.4.2-GCCcore-8.3.0-Java-11.eb @@ -19,7 +19,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['35b6ee22fe6bdc26a31d0203a7dcc6bd1a19fd6733c60d80ceb44431884af165'] builddependencies = [('binutils', '2.32')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] # minced executable has to be in the same directory as jar files_to_copy = [(['minced', 'minced.jar'], 'bin')] diff --git a/easybuild/easyconfigs/m/MinPath/MinPath-1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MinPath/MinPath-1.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..df9c0f306e8 --- /dev/null +++ b/easybuild/easyconfigs/m/MinPath/MinPath-1.6-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'Tarball' + +name = 'MinPath' +version = '1.6' +# no tagged commit for MinPath 1.6, commit was determined based on commit history +local_commit = '46d3e81a4dca2310d558bea970bc002b15d44767' + +homepage = 'https://omics.informatics.indiana.edu/MinPath' +description = """MinPath (Minimal set of Pathways) is a parsimony approach for biological pathway reconstructions + using protein family predictions, achieving a more conservative, yet more faithful, estimation of the biological + pathways for a query dataset.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/mgtools/MinPath/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['MinPath-%(version)s_fix-glpsol-path.patch'] +checksums = [ + '57e6b55cd00507578bad7528c60e3ad055311f62db928bd7c8de793513cec5a3', # MinPath-1.6.tar.gz + '117e45c6f35e3c944232dd5dd4789400d44c4b9b733b936adbb548b58e046c4b', # MinPath-1.6_fix-glpsol-path.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('GLPK', '5.0'), +] + +# remove included old GLPK copy +postinstallcmds = ["rm -rf %(installdir)s/glpk-*/*"] + +fix_python_shebang_for = ['*.py'] + +sanity_check_paths = { + 'files': ['MinPath.py'], + 'dirs': [], +} + +sanity_check_commands = [ + "MinPath.py -ko examples/demo.ko -report /dev/null -details /dev/null", + "MinPath.py -fig examples/demo.fig -report /dev/null -details /dev/null", + "MinPath.py -any examples/demo.ec -map ec2path -report /dev/null -details /dev/null", +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MinPath/MinPath-1.6_fix-glpsol-path.patch b/easybuild/easyconfigs/m/MinPath/MinPath-1.6_fix-glpsol-path.patch new file mode 100644 index 00000000000..270a34e091a --- /dev/null +++ b/easybuild/easyconfigs/m/MinPath/MinPath-1.6_fix-glpsol-path.patch @@ -0,0 +1,20 @@ +Make MinPath use different glpk library than it comes with. +Author: Filip Kružík (INUITS) +--- MinPath-1.6_fix-glpsol-path.py 2022-01-11 19:05:58.000000000 +0100 ++++ MinPath.py 2022-01-11 20:43:56.981520000 +0100 +@@ -20,13 +20,14 @@ + import math + + minpath = os.path.dirname(os.path.abspath(sys.argv[0])) ++glpkroot = os.getenv("EBROOTGLPK") + print("minpath directory: " + minpath) + if not os.path.exists(minpath + "/data"): + minpath = os.environ.get('MinPath') + if not (os.path.exists(minpath) and os.path.exists(minpath + "/data")): + sys.exit("Environment variable MinPath not set") + +-keggPath0, seedPath0, mapPath0, glpsol0 = minpath + "/data", minpath + "/data", minpath + "/data", minpath + "/glpk-4.6/examples/glpsol" ++keggPath0, seedPath0, mapPath0, glpsol0 = minpath + "/data", minpath + "/data", minpath + "/data", glpkroot + "/bin/glpsol" + + def intmatrix(dim1, dim2): + mat = [] diff --git a/easybuild/easyconfigs/m/Mini-XML/Mini-XML-2.12-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-2.12-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..9035db82f73 --- /dev/null +++ b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-2.12-GCCcore-9.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Mini-XML' +version = '2.12' + +homepage = 'https://www.msweet.org/mxml' +description = """Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your + application without requiring large non-standard libraries""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['https://github.com/michaelrsweet/mxml/releases/download/v%(version)s/'] +sources = ['mxml-%(version)s.tar.gz'] +checksums = ['6bfb53baa1176e916855bd3b6d592fd5b962c3c259aacdb5670d90c57ce4034f'] + +builddependencies = [('binutils', '2.34')] + +sanity_check_paths = { + 'files': ['include/mxml.h', 'lib/libmxml.a', 'lib/libmxml.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fddac248df7 --- /dev/null +++ b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.2-GCCcore-10.3.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Mini-XML' +version = '3.2' + +homepage = 'https://www.msweet.org/mxml' +description = """Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your + application without requiring large non-standard libraries""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/michaelrsweet/mxml/releases/download/v%(version)s/'] +sources = ['mxml-%(version)s.tar.gz'] +checksums = ['b894f6c64964f2e77902564c17ba00f5d077a7a24054e7c1937903b0bd42c974'] + +builddependencies = [('binutils', '2.36.1')] + +sanity_check_paths = { + 'files': ['include/mxml.h', 'lib/libmxml.a', 'lib/libmxml.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.3.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..594f3ec179d --- /dev/null +++ b/easybuild/easyconfigs/m/Mini-XML/Mini-XML-3.3.1-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Mini-XML' +version = '3.3.1' + +homepage = 'https://www.msweet.org/mxml' +description = """Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your + application without requiring large non-standard libraries""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/michaelrsweet/mxml/releases/download/v%(version)s/'] +sources = ['mxml-%(version)s.tar.gz'] +checksums = ['0c663ed1fe393b5619f80101798202eea43534abd7c8aff389022fd8c1dacc32'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['include/mxml.h', 'lib/libmxml.a', 'lib/libmxml.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb new file mode 100644 index 00000000000..9b74ed9e7b1 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-22.11.1-1.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '22.11.1-1' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +sources = ['%(name)s-py38_%(version)s-Linux-x86_64.sh'] +checksums = ['473e5ecc8e078e9ef89355fbca21f8eefa5f9081544befca99867c7beac3150d'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.10.0-1.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.10.0-1.eb new file mode 100644 index 00000000000..3fd68df4e5c --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.10.0-1.eb @@ -0,0 +1,27 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '23.10.0-1' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +local_arch = {'arm64': 'aarch64'}.get(ARCH, ARCH) +sources = ['%%(name)s-py311_%%(version)s-Linux-%s.sh' % local_arch] +checksums = [ + { + '%(name)s-py311_%(version)s-Linux-x86_64.sh': + 'd0643508fa49105552c94a523529f4474f91730d3e0d1f168f1700c43ae67595', + '%(name)s-py311_%(version)s-Linux-ppc64le.sh': + '1a2eda0a9a52a4bd058abbe9de5bb2bc751fcd7904c4755deffdf938d6f4436e', + '%(name)s-py311_%(version)s-Linux-aarch64.sh': + 'a60e70ad7e8ac5bb44ad876b5782d7cdc66e10e1f45291b29f4f8d37cc4aa2c8', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.5.2-0.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.5.2-0.eb new file mode 100644 index 00000000000..f22db479b4e --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.5.2-0.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '23.5.2-0' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +sources = ['%(name)s-py311_%(version)s-Linux-x86_64.sh'] +checksums = ['634d76df5e489c44ade4085552b97bebc786d49245ed1a830022b0b406de5817'] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.9.0-0.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.9.0-0.eb new file mode 100644 index 00000000000..890e89a8b08 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-23.9.0-0.eb @@ -0,0 +1,27 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '23.9.0-0' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +local_arch = {'arm64': 'aarch64'}.get(ARCH, ARCH) +sources = ['%%(name)s-py311_%%(version)s-Linux-%s.sh' % local_arch] +checksums = [ + { + '%(name)s-py311_%(version)s-Linux-x86_64.sh': + '43651393236cb8bb4219dcd429b3803a60f318e5507d8d84ca00dafa0c69f1bb', + '%(name)s-py311_%(version)s-Linux-ppc64le.sh': + '07b53e411c2e4423bd34c3526d6644b916c4b2143daa8fbcb36b8ead412239b9', + '%(name)s-py311_%(version)s-Linux-aarch64.sh': + '1242847b34b23353d429fcbcfb6586f0c373e63070ad7d6371c23ddbb577778a', + } +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb new file mode 100644 index 00000000000..5521f6fcca4 --- /dev/null +++ b/easybuild/easyconfigs/m/Miniconda3/Miniconda3-4.12.0.eb @@ -0,0 +1,17 @@ +easyblock = 'EB_Anaconda' + +name = 'Miniconda3' +version = '4.12.0' + +homepage = 'https://docs.conda.io/en/latest/miniconda.html' +description = """Miniconda is a free minimal installer for conda. It is a small, + bootstrap version of Anaconda that includes only conda, Python, the packages they + depend on, and a small number of other useful packages.""" + +toolchain = SYSTEM + +source_urls = ['https://repo.anaconda.com/miniconda/'] +sources = ['%(name)s-py38_%(version)s-Linux-x86_64.sh'] +checksums = ['3190da6626f86eee8abf1b2fd7a5af492994eb2667357ee4243975cdbb175d7a'] + +moduleclass = 'lang' 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/Minipolish/Minipolish-0.1.3-GCC-11.2.0.eb b/easybuild/easyconfigs/m/Minipolish/Minipolish-0.1.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..8f70ccd7391 --- /dev/null +++ b/easybuild/easyconfigs/m/Minipolish/Minipolish-0.1.3-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = "PythonPackage" + +name = "Minipolish" +version = "0.1.3" + +homepage = "https://github.com/rrwick/Minipolish" +description = "A tool for Racon polishing of miniasm assemblies" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/rrwick/Minipolish/archive/refs/tags/"] +sources = ["v%(version)s.tar.gz"] +checksums = ['dad0a477eddce30374ca7ace446c6918493b42d16215725dd6e3fa8e9f50b2a0'] + +dependencies = [ + ('Python', '3.9.6'), + ('edlib', '1.3.9') +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': False} + +sanity_check_paths = { + 'files': ['bin/minipolish'], + 'dirs': [] +} + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/m/Mish-Cuda/Mish-Cuda-20210309-fosscuda-2020b-PyTorch-1.9.0.eb b/easybuild/easyconfigs/m/Mish-Cuda/Mish-Cuda-20210309-fosscuda-2020b-PyTorch-1.9.0.eb new file mode 100644 index 00000000000..fa7173c5142 --- /dev/null +++ b/easybuild/easyconfigs/m/Mish-Cuda/Mish-Cuda-20210309-fosscuda-2020b-PyTorch-1.9.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Mish-Cuda' +version = '20210309' +local_commit = '6f38976' +local_ptver = '1.9.0' +versionsuffix = '-PyTorch-%s' % local_ptver + +homepage = 'https://github.com/JunnYu/mish-cuda' +description = """Mish-Cuda: Self Regularized Non-Monotonic Activation Function""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = ['https://github.com/JunnYu/mish-cuda/archive/'] +sources = [{'download_filename': local_commit + '.zip', 'filename': SOURCELOWER_ZIP}] +checksums = ['529a3afd00fa4b1bf73f65249a82d38659779d7d8bdb230fa32d37eb95f5622c'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('PyTorch', local_ptver), +] + +preinstallopts = 'export TORCH_CUDA_ARCH_LIST="%(cuda_cc_semicolon_sep)s" && ' + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/MitoHiFi/MitoHiFi-3.2-foss-2022b.eb b/easybuild/easyconfigs/m/MitoHiFi/MitoHiFi-3.2-foss-2022b.eb new file mode 100644 index 00000000000..b1209baa6e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MitoHiFi/MitoHiFi-3.2-foss-2022b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'MitoHiFi' +version = '3.2' + +homepage = 'https://github.com/marcelauliano/MitoHiFi' +description = "MitoHiFi is a Python workflow that assembles mitogenomes from Pacbio HiFi reads" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # for pandas + ('SAMtools', '1.17'), + ('CD-HIT', '4.8.1'), + ('minimap2', '2.26'), + ('hifiasm', '0.19.7'), + ('MAFFT', '7.505', '-with-extensions'), + ('Biopython', '1.81'), + ('matplotlib', '3.7.0'), + ('BEDTools', '2.30.0'), + ('Pillow', '9.4.0'), + ('bcbio-gff', '0.7.0'), + ('BLAST+', '2.14.0'), +] + +use_pip = True + +exts_list = [ + ('dna-features-viewer', '3.1.2', { + 'sources': ['dna_features_viewer-%(version)s.tar.gz'], + 'checksums': ['b8b2b7657e2a9f165edd6f68fb679abfa0c2fdeb887cbd04c22b514997f52d12'], + }), + ('mitos', '2.1.3', { + 'checksums': ['0a5bee0882a957457426baaa36655d968fbd36523e3fb06d96e2401f9f9bd285'], + 'preinstallopts': """sed -i 's|biopython==1.73|biopython|' setup.py && """, + }), + (name, version, { + 'easyblock': 'Tarball', + 'modulename': False, + 'source_urls': ['https://github.com/marcelauliano/MitoHiFi/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['68f1eb69a54288d58ac920885aac82d4beae744e54023f409623125c084d5430'], + }), +] + +# using Mitos rather than MitoFinder (which is only available on Python-2) +postinstallcmds = [ + 'sed -i "s|# Set log message format|args.mitos = True|" %(installdir)s/MitoHiFi-%(version)s/src/mitohifi.py', + "mkdir -p %(installdir)s/bin", + "cp %(installdir)s/MitoHiFi-%(version)s/src/* %(installdir)s/bin/ ", + "chmod a+x %(installdir)s/bin/* ", +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/mitohifi.py'], + 'dirs': [], +} + +local_test_cmd = 'findMitoReference.py --species "Deilephila porcellus" ' +local_test_cmd += '--outfolder %(installdir)s/MitoHiFi-%(version)s/out --min_length 14000' + +sanity_check_commands = [ + "mitohifi.py -h", + local_test_cmd +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MitoZ/MitoZ-2.3-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/m/MitoZ/MitoZ-2.3-foss-2018b-Python-3.6.6.eb index d5bfff12153..e33cd3c0183 100644 --- a/easybuild/easyconfigs/m/MitoZ/MitoZ-2.3-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/m/MitoZ/MitoZ-2.3-foss-2018b-Python-3.6.6.eb @@ -18,7 +18,7 @@ checksums = ['13fc5d3c6f41a6eb17498dfb1e69735a2b3f4e62ac7393d3ed71ea9502038841'] dependencies = [ ('Python', '3.6.6'), ('Perl', '5.28.0'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('libgd', '2.2.5'), ('Biopython', '1.72', versionsuffix), ('BioPerl', '1.7.2', '-Perl-%(perlver)s'), @@ -28,7 +28,7 @@ dependencies = [ ('SAMtools', '1.9'), ('Infernal', '1.1.2'), ('ETE', '3.1.1', versionsuffix), - ('tbl2asn', '20200302', '-linux64', True), + ('tbl2asn', '20200302', '-linux64', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/MixMHC2pred/MixMHC2pred-1.2.eb b/easybuild/easyconfigs/m/MixMHC2pred/MixMHC2pred-1.2.eb new file mode 100644 index 00000000000..2c4cafc13de --- /dev/null +++ b/easybuild/easyconfigs/m/MixMHC2pred/MixMHC2pred-1.2.eb @@ -0,0 +1,28 @@ +easyblock = 'PackedBinary' + +name = 'MixMHC2pred' +version = '1.2' + +homepage = 'https://github.com/GfellerLab/MixMHC2pred' +description = """MixMHC2pred is a predictor of HLA class II ligands and epitopes. +It is described in publication Racle, J., et al. Robust prediction of HLA class II +epitopes by deep motif deconvolution of immunopeptidomes""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/GfellerLab/MixMHC2pred/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['839ebf71db3eb399b22e7522b71dc0e071ef9419ee0ab60dc4627d65264d9698'] + +postinstallcmds = [ + "chmod +rx %(installdir)s/%(name)s_unix", + "mv %(installdir)s/%(name)s %(installdir)s/%(name)s_mac", + "ln -s %(installdir)s/%(name)s_unix %(installdir)s/%(name)s" +] + +sanity_check_paths = { + 'files': ['%(name)s_unix'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021a.eb b/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021a.eb new file mode 100644 index 00000000000..eb07a34b0a1 --- /dev/null +++ b/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'Mmg' +version = '5.6.0' + +homepage = 'https://www.mmgtools.org/' +description = """ +Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries: +the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional +triangulation and generation of a triangulation from a set of points or from given boundary edges +the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation +and isovalue discretization the mmg3d application and the libmmg3d library: adaptation and optimization +of a tetrahedral mesh and implicit domain meshing the libmmg library gathering the libmmg2d, +libmmgs and libmmg3d libraries.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/MmgTools/mmg/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['mmg-%(version)s_remove_ci_tests.patch'] + +checksums = [ + 'bbf9163d65bc6e0f81dd3acc5a51e4a8c47a7fdae849abc26277e01154fe2437', # v5.6.0.tar.gz + '99de7437fb9d036c786b7f1526da93d4aa1d28e728fe7279f4c9204bbbb9f734', # mmg-5.6.0_remove_ci_tests.patch + +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [('SCOTCH', '6.1.0')] + +# CI tests require downloading of data that might not be available in the future. +# Sticking to tests included in the source with help of patch +configopts = '-DUSE_SCOTCH=ON -DBUILD_TESTING=ON -DONLY_VERY_SHORT_TESTS=ON ' +configopts += '-DTEST_LIBMMG2D=ON -DTEST_LIBMMG3D=ON -DTEST_LIBMMGS=ON ' +configopts += '-DLIBMMG2D_SHARED=ON -DLIBMMG3D_SHARED=ON -DLIBMMGS_SHARED=ON -DLIBMMG_SHARED=ON ' + +pretestopts = 'export CTEST_PARALLEL_LEVEL=%(parallel)s &&' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%s_O3' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] + + ['lib/lib%s.%s' % (x, y) for x in ['mmg2d', 'mmg3d', 'mmgs', 'mmg'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include/mmg/%s' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021b.eb b/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021b.eb new file mode 100644 index 00000000000..517ba6a3440 --- /dev/null +++ b/easybuild/easyconfigs/m/Mmg/Mmg-5.6.0-gompi-2021b.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'Mmg' +version = '5.6.0' + +homepage = 'https://www.mmgtools.org/' +description = """ +Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries: +the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional +triangulation and generation of a triangulation from a set of points or from given boundary edges +the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation +and isovalue discretization the mmg3d application and the libmmg3d library: adaptation and optimization +of a tetrahedral mesh and implicit domain meshing the libmmg library gathering the libmmg2d, +libmmgs and libmmg3d libraries.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/MmgTools/mmg/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['mmg-%(version)s_remove_ci_tests.patch'] +checksums = [ + 'bbf9163d65bc6e0f81dd3acc5a51e4a8c47a7fdae849abc26277e01154fe2437', # v5.6.0.tar.gz + '99de7437fb9d036c786b7f1526da93d4aa1d28e728fe7279f4c9204bbbb9f734', # mmg-5.6.0_remove_ci_tests.patch +] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [('SCOTCH', '6.1.2')] + +# CI tests require downloading of data that might not be available in the future. +# Sticking to tests included in the source with help of patch +configopts = '-DUSE_SCOTCH=ON -DBUILD_TESTING=ON -DONLY_VERY_SHORT_TESTS=ON ' +configopts += '-DTEST_LIBMMG2D=ON -DTEST_LIBMMG3D=ON -DTEST_LIBMMGS=ON ' +configopts += '-DLIBMMG2D_SHARED=ON -DLIBMMG3D_SHARED=ON -DLIBMMGS_SHARED=ON -DLIBMMG_SHARED=ON ' + +pretestopts = 'export CTEST_PARALLEL_LEVEL=%(parallel)s &&' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%s_O3' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] + + ['lib/lib%s.%s' % (x, y) for x in ['mmg2d', 'mmg3d', 'mmgs', 'mmg'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include/mmg/%s' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2-gompi-2022a.eb b/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2-gompi-2022a.eb new file mode 100644 index 00000000000..7fbe84ebe9b --- /dev/null +++ b/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2-gompi-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'CMakeMake' + +name = 'Mmg' +version = '5.7.2' + +homepage = 'https://www.mmgtools.org/' +description = """ +Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries: +the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional +triangulation and generation of a triangulation from a set of points or from given boundary edges +the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation +and isovalue discretization the mmg3d application and the libmmg3d library: adaptation and optimization +of a tetrahedral mesh and implicit domain meshing the libmmg library gathering the libmmg2d, +libmmgs and libmmg3d libraries.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/MmgTools/mmg/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-test-fail.patch'] + +builddependencies = [('CMake', '3.24.3')] +checksums = [ + {'v5.7.2.tar.gz': '4c396dd44aec69e0a171a04f857e28aad2e0bbfb733b48b6d81a2c6868e86840'}, + {'Mmg-5.7.2_fix-test-fail.patch': 'c01cbfadad8c70a8eb3766cc73ab09edd331dda1f445e14c547f28d839c973e6'}, +] + +dependencies = [('SCOTCH', '7.0.1')] + +# common configopts for static, shared library builds +_base_configopts = ' '.join([ + '-DUSE_SCOTCH=ON -DBUILD_TESTING=ON -DONLY_VERY_SHORT_TESTS=ON ', + '-DTEST_LIBMMG2D=ON -DTEST_LIBMMG3D=ON -DTEST_LIBMMGS=ON ', +]) + +# iterative build for both static and shared libraries +configopts = [' '.join([_base_configopts, x]) for x in ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON']] + + +pretestopts = 'export CTEST_PARALLEL_LEVEL=%(parallel)s &&' +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%s_O3' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] + + ['lib/lib%s.%s' % (x, y) for x in ['mmg2d', 'mmg3d', 'mmgs', 'mmg'] for y in ['a', SHLIB_EXT]], + 'dirs': ['include/mmg/%s' % x for x in ['mmg2d', 'mmg3d', 'mmgs']] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2_fix-test-fail.patch b/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2_fix-test-fail.patch new file mode 100644 index 00000000000..b785dfa7ad5 --- /dev/null +++ b/easybuild/easyconfigs/m/Mmg/Mmg-5.7.2_fix-test-fail.patch @@ -0,0 +1,27 @@ +Small tweak on tests to avoid them to fail +Author: Cintia Willemyns (Vrije Universiteit Brussel) + +--- src/common/anisosiz.c.orig 2023-12-08 17:37:15.038525283 +0100 ++++ src/common/anisosiz.c 2023-12-08 17:38:54.346946839 +0100 +@@ -1631,7 +1631,7 @@ + + /* Check matrices in norm inf */ + maxerr = MMG5_test_mat_error(3,mex,mnum); +- if( maxerr > 1.e2*MMG5_EPSOK ) { ++ if( maxerr > 5.e2*MMG5_EPSOK ) { + fprintf(stderr," ## Error first matrix coreduction recomposition: in function %s, max error %e\n", + __func__,maxerr); + return 0; + +--- src/common/mettools.c.orig 2023-12-08 17:56:09.794050000 +0100 ++++ src/common/mettools.c 2023-12-08 17:57:47.195926013 +0100 +@@ -971,7 +971,7 @@ + + /* Check error in norm inf */ + maxerr = MMG5_test_mat_error(3,intex,intnum); +- if( maxerr > 1000.*MMG5_EPSOK ) { ++ if( maxerr > 5000.*MMG5_EPSOK ) { + fprintf(stderr," ## Error metric intersection: in function %s, line %d, max error %e\n", + __func__,__LINE__,maxerr); + return 0; + diff --git a/easybuild/easyconfigs/m/Mmg/mmg-5.6.0_remove_ci_tests.patch b/easybuild/easyconfigs/m/Mmg/mmg-5.6.0_remove_ci_tests.patch new file mode 100644 index 00000000000..da4234aa2fc --- /dev/null +++ b/easybuild/easyconfigs/m/Mmg/mmg-5.6.0_remove_ci_tests.patch @@ -0,0 +1,149 @@ +Remove library CI tests that point to external sources. +These external sources did not have a permanent URL so are unreliable. +Tests can't simply be excluded since CMake will complain about missing sources. + +Author: micketeer@gmail.com +--- cmake/testing/libmmg2d_tests.cmake.orig 2022-06-13 22:54:57.697924494 +0200 ++++ cmake/testing/libmmg2d_tests.cmake 2022-06-13 22:56:27.167776567 +0200 +@@ -36,7 +36,6 @@ + libmmg2d_ls_example0 + libmmg2d_lsOnly + libmmg2d_lsAndMetric +- test_api2d_0 + ) + SET ( MMG2D_LIB_TESTS_MAIN_PATH + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/adaptation_example0/example0_a/main.c +@@ -47,7 +46,6 @@ + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/io_multisols_example0/main.c + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsOnly/main.c + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsAndMetric/main.c +- ${MMG2D_CI_TESTS}/API_tests/2d.c + ) + + IF ( LIBMMG2D_STATIC ) +@@ -69,7 +67,6 @@ + libmmg2d_fortran_io + libmmg2d_fortran_lsOnly + libmmg2d_fortran_lsAndMetric +- test_api2d_fortran_0 + test_io2d_fortran + ) + +@@ -79,7 +76,6 @@ + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/io_multisols_example0/main.F90 + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsOnly/main.F90 + ${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsAndMetric/main.F90 +- ${MMG2D_CI_TESTS}/API_tests/2d.F90 + ${PROJECT_SOURCE_DIR}/cmake/testing/code/mmg2d_io.F90 + ) + +--- cmake/modules/mmg2d.cmake.orig 2022-06-14 18:32:00.431611009 +0200 ++++ cmake/modules/mmg2d.cmake 2022-06-14 18:31:57.852586956 +0200 +@@ -220,10 +220,6 @@ + "${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsOnly/multi-mat-sol.sol" + "${CTEST_OUTPUT_DIR}/libmmg2d_lsAndMetric_multimat.o" + ) +- ADD_TEST(NAME test_api2d_0 COMMAND ${TEST_API2D_EXEC0} +- "${MMG2D_CI_TESTS}/API_tests/2dom.mesh" +- "${CTEST_OUTPUT_DIR}/test_API2d.o" +- ) + + + IF ( CMAKE_Fortran_COMPILER) +@@ -261,18 +257,6 @@ + "${PROJECT_SOURCE_DIR}/libexamples/mmg2d/IsosurfDiscretization_lsOnly/multi-mat-sol.sol" + "${CTEST_OUTPUT_DIR}/libmmg2d_lsAndMetric_multimat.o" + ) +- ADD_TEST(NAME test_api2d_fortran_0 COMMAND ${TEST_API2D_FORTRAN_EXEC0} +- "${MMG2D_CI_TESTS}/API_tests/2dom.mesh" +- "${CTEST_OUTPUT_DIR}/test_API2d.o" +- ) +- ADD_TEST(NAME test_io2d_fortran_scalar COMMAND ${TEST_IO2D_FORTRAN_EXEC} +- "${MMG2D_CI_TESTS}/Hybrid/hybrid.mesh" +- "${CTEST_OUTPUT_DIR}/hybrid-2d-scal.o" 0 +- ) +- ADD_TEST(NAME test_io2d_fortran_array COMMAND ${TEST_IO2D_FORTRAN_EXEC} +- "${MMG2D_CI_TESTS}/Hybrid/hybrid.mesh" +- "${CTEST_OUTPUT_DIR}/hybrid-2d-array.o" 1 +- ) + + ENDIF() + +--- cmake/testing/libmmg3d_tests.cmake.orig 2022-06-14 19:26:45.958431873 +0200 ++++ cmake/testing/libmmg3d_tests.cmake 2022-06-14 19:27:49.551026041 +0200 +@@ -35,9 +35,6 @@ + libmmg3d_example6_io + libmmg3d_lsOnly + libmmg3d_lsAndMetric +- test_api3d_0 +- test_api3d_domain-selection +- test_api3d_vtk2mesh + ) + SET ( MMG3D_LIB_TESTS_MAIN_PATH + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/adaptation_example0/example0_a/main.c +@@ -48,9 +45,6 @@ + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/io_multisols_example6/main.c + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsOnly/main.c + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsAndMetric/main.c +- ${MMG3D_CI_TESTS}/API_tests/3d.c +- ${MMG3D_CI_TESTS}/API_tests/domain-selection.c +- ${MMG3D_CI_TESTS}/API_tests/vtk2mesh.c + ) + + IF ( LIBMMG3D_STATIC ) +@@ -72,7 +66,6 @@ + libmmg3d_fortran_io + libmmg3d_fortran_lsOnly + libmmg3d_fortran_lsAndMetric +- test_api3d_fortran_0 + ) + + SET ( MMG3D_LIB_TESTS_MAIN_PATH ${MMG3D_LIB_TESTS_MAIN_PATH} +@@ -81,7 +74,6 @@ + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/io_multisols_example6/main.F90 + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsOnly/main.F90 + ${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsAndMetric/main.F90 +- ${MMG3D_CI_TESTS}/API_tests/3d.F90 + ) + + ENDIF ( CMAKE_Fortran_COMPILER ) +--- cmake/modules/mmg3d.cmake.orig 2022-06-14 18:30:39.374855012 +0200 ++++ cmake/modules/mmg3d.cmake 2022-06-14 19:22:51.535241582 +0200 +@@ -248,26 +248,6 @@ + "${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsOnly/m.sol" + "${CTEST_OUTPUT_DIR}/libmmg3d_lsAndMetric_multimat.o" + ) +- ADD_TEST(NAME test_api3d_0 COMMAND ${TEST_API3D_EXEC0} +- "${MMG3D_CI_TESTS}/API_tests/2dom.mesh" +- "${CTEST_OUTPUT_DIR}/test_API3d.o" +- ) +- ADD_TEST(NAME test_api3d_domain-selection COMMAND ${TEST_API3D_DOMSEL} +- "${MMG3D_CI_TESTS}/OptLs_plane/plane.mesh" +- "${MMG3D_CI_TESTS}/OptLs_plane/p.sol" +- "${CTEST_OUTPUT_DIR}/test_API3d-domsel-whole.o" +- "${CTEST_OUTPUT_DIR}/test_API3d-domsel-dom2.o" +- ) +- ADD_TEST(NAME test_api3d_vtk2mesh COMMAND ${TEST_API3D_VTK2MESH} +- "${MMG3D_CI_TESTS}/API_tests/cellsAndNode-data.vtk" +- "${CTEST_OUTPUT_DIR}/test_API3d-vtk2mesh.o" +- ) +- +- IF ( NOT VTK_FOUND ) +- SET(expr "VTK library not founded") +- SET_PROPERTY(TEST test_api3d_vtk2mesh +- PROPERTY PASS_REGULAR_EXPRESSION "${expr}") +- ENDIF ( ) + + IF ( CMAKE_Fortran_COMPILER) + SET(LIBMMG3D_EXECFORTRAN_a ${EXECUTABLE_OUTPUT_PATH}/libmmg3d_fortran_a) +@@ -302,10 +282,6 @@ + "${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsOnly/plane.mesh" + "${PROJECT_SOURCE_DIR}/libexamples/mmg3d/IsosurfDiscretization_lsOnly/m.sol" + "${CTEST_OUTPUT_DIR}/libmmg3d_lsAndMetric_multimat.o" ) +- ADD_TEST(NAME test_api3d_fortran_0 COMMAND ${TEST_API3D_FORTRAN_EXEC0} +- "${MMG3D_CI_TESTS}/API_tests/2dom.mesh" +- "${CTEST_OUTPUT_DIR}/test_API3d.o" +- ) + + ENDIF() + diff --git a/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.1.7-gompi-2021b.eb b/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.1.7-gompi-2021b.eb new file mode 100644 index 00000000000..e07ae257936 --- /dev/null +++ b/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.1.7-gompi-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMakeCp' + +name = 'ModelTest-NG' +version = '0.1.7' + +homepage = 'https://github.com/ddarriba/modeltest' +description = """ +ModelTest-NG is a tool for selecting the best-fit model of evolution for DNA and protein alignments. +ModelTest-NG supersedes jModelTest and ProtTest in one single tool, with graphical and command console interfaces. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'recursive': True, + 'url': 'https://github.com/ddarriba', + 'repo_name': 'modeltest', + 'tag': 'v%(version)s', + } +}] +checksums = [None] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2', '', SYSTEM) +] + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ["bin/modeltest-ng"], + 'dirs': [] +} + +sanity_check_commands = [ + "modeltest-ng --help", + "modeltest-ng -i %(builddir)s/*/example-data/dna/tiny.fas -t ml" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.2.0-dev_20220721-GCC-12.3.0.eb b/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.2.0-dev_20220721-GCC-12.3.0.eb new file mode 100644 index 00000000000..6973ef50246 --- /dev/null +++ b/easybuild/easyconfigs/m/ModelTest-NG/ModelTest-NG-0.2.0-dev_20220721-GCC-12.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMakeCp' + +name = 'ModelTest-NG' +version = '0.2.0-dev_20220721' +_commit = '1066356' + +homepage = 'https://github.com/ddarriba/modeltest' +description = """ +ModelTest-NG is a tool for selecting the best-fit model of evolution for DNA and protein alignments. +ModelTest-NG supersedes jModelTest and ProtTest in one single tool, with graphical and command console interfaces. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +# use exact commits of pll-modules and libpll-2 as specified in CMakeLists.txt +sources = [ + { + 'source_urls': ['https://github.com/ddarriba/modeltest/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/ddarriba/pll-modules/archive'], + 'download_filename': '182ae28.tar.gz', + 'filename': 'pll-modules-182ae28.tar.gz', + 'extract_cmd': "tar -xzf %s -C %(builddir)s/modeltest*/libs/pll-modules/ --strip-components 1", + }, + { + 'source_urls': ['https://github.com/xflouris/libpll-2/archive'], + 'download_filename': 'a3146f3.tar.gz', + 'filename': 'libpll-a3146f3.tar.gz', + 'extract_cmd': "tar -xzf %s -C %(builddir)s/modeltest*/libs/pll-modules/libs/libpll/ --strip-components 1", + }, +] +checksums = [ + {'ModelTest-NG-0.2.0-dev_20220721.tar.gz': '1010630a9e0aff7ec125e2ab3dccd76625b935d535793b2d01b35a3a1e3021ae'}, + {'pll-modules-182ae28.tar.gz': 'd3bd1382e7bd5ef0a8f227bc1d47596bb806342113bb5fb2ad879e536e7873dd'}, + {'libpll-a3146f3.tar.gz': 'd4a36b30074e1f93530cab48744117f1b7e7c9c78ca7665f92624ca6a25f9b85'}, +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2', '', SYSTEM), +] + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ["bin/modeltest-ng"], + 'dirs': [] +} + +sanity_check_commands = [ + "modeltest-ng --help", + "modeltest-ng -i %(builddir)s/*/example-data/dna/tiny.fas -t ml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..af605779f96 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'MakeCp' + +name = 'Molden' +version = '7.1' + +homepage = 'https://www.theochem.ru.nl/molden/' +description = """Molden is a package for displaying Molecular Density from the + Ab Initio packages GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical + packages Mopac/Ampac""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.science.ru.nl/Molden/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +patches = [ + 'Molden-7.1_fix_makefile_for_easybuild.patch', + 'Molden-7.1_fix_arg_handling.patch', +] +checksums = [ + '98a39f0aa1667c14c36f40c0251522984245e5ba282af8fbc8a2f06079e40d43', # molden7.1.tar.gz + '78c9dd75fdc4c62392bb4284c377fbfd8bdae51f3f867540266723c3a978789c', # Molden-7.1_fix_makefile_for_easybuild.patch + 'e69941737369ec76049b4bd5d0e008d1e200b7043e44dae83ae058144699e924', # Molden-7.1_fix_arg_handling.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('makedepend', '1.0.7'), +] + +dependencies = [ + ('X11', '20220504'), + ('libglvnd', '1.4.0'), + ('libGLU', '9.0.2'), +] + +buildopts = 'CC="$CC" FC="$F90" FFLAGS="$FFLAGS -fallow-argument-mismatch" all' + +parallel = 1 + +files_to_copy = [(['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']], 'bin'), + 'CopyRight', 'README', 'REGISTER'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']] + ['README', 'REGISTER'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch new file mode 100644 index 00000000000..e01ce216125 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_arg_handling.patch @@ -0,0 +1,24 @@ +# Use F2003 functions for argument handling. +# Author: maxim-masterv (SURF) +diff -Nru molden7.1.orig/src/molden.f molden7.1/src/molden.f +--- molden7.1.orig/src/molden.f 2022-05-06 22:35:25.000000000 +0200 ++++ molden7.1/src/molden.f 2022-11-29 20:17:13.900597108 +0100 +@@ -3813,15 +3813,15 @@ + endif + + iredir = 0 +- nargs = iargc() +- call getarg(0,liris) ++ nargs = COMMAND_ARGUMENT_COUNT() ++ call GET_COMMAND_ARGUMENT(0,liris) + call parsfn(liris,linlen(liris),20) + + ntargs = 0 + n = 0 + if (nargs.gt.0) then + 2013 n = n + 1 +- call getarg(n,liris) ++ call GET_COMMAND_ARGUMENT(n,liris) + if (liris(1:1).eq.'-') then + if (liris(1:2).eq.'-5') ido5d = 1 + if (liris(1:2).eq.'-7') ido7f = 1 diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch new file mode 100644 index 00000000000..b02b9c70f55 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.1_fix_makefile_for_easybuild.patch @@ -0,0 +1,82 @@ +# Make makefile EasyBuild friendly. +# Author: maxim-masterov (SURF) +diff -Nru molden7.1.orig/makefile molden7.1/makefile +--- molden7.1.orig/makefile 2022-01-21 12:28:48.000000000 +0100 ++++ molden7.1/makefile 2022-11-29 20:26:40.997854074 +0100 +@@ -13,10 +13,10 @@ + # Disregard compiler warnings on rdmolf.f + # + # +-CC = cc ++#CC = cc + LIBS = -lX11 -lm + LDR = ${FC} +-LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lXmu -lX11 -lm ++LIBSG = -lGLU -lGL -lXmu -lX11 -lm + ARCH := $(shell getconf LONG_BIT) + AFLAG= -m$(ARCH) + EXTEN= +@@ -29,20 +29,6 @@ + uname := $(shell uname -s) + os := + +-ifeq ($(uname), Linux) +- os := $(shell head -n 1 /etc/issue | cut -d" " -f1) +- ifeq ($(os), Ubuntu) +- EXTEN = exten +- EXTENZ = exten2 +- LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lX11 -lm +- endif +- ifeq ($(os), Debian) +- LIBSG = -L/usr/lib/X11 -lGLU -lGL -lX11 -lm +- endif +- +- choosefc := 'yes' +-endif +- + ifneq (,$(findstring CYGWIN,$(uname))) + uname := Linux + choosefc := 'yes' +@@ -52,18 +38,6 @@ + choosefc := 'yes' + endif + +- +-ifneq ($(choosefc), $(empty)) +- comg77 := $(shell which g77 | grep -i g77) +- comgfort := $(shell which gfortran | grep -i gfortran) +- ifneq ($(comg77), $(empty)) +- FC = g77 +- endif +- ifneq ($(comgfort), $(empty)) +- FC = gfortran +- endif +-endif +- + print-% : ; @echo $* = $($*) + # + # Linux version +@@ -108,17 +82,17 @@ + EXT = ${EXTRAZ} + endif + FFLAGS = -g ${AFLAG} +-LIBS = -L/usr/X11R6/lib -lX11 -lm ++LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +-LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++LIBS = -lX11 -lm + endif + LDR = ${FC} -g ${AFLAG} +-CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -I/usr/X11R6/include -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 + ifeq ($(os), Debian) +- CFLAGS = ${AFLAG} ${EXTRAZ} -c -I/usr/include/X11 -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 +- LIBS = -L/usr/lib/X11 -lX11 -lm ++ CFLAGS = ${AFLAG} ${EXTRAZ} -c -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++ LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +- LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++ LIBS = -lX11 -lm + endif + endif + ifeq ($(os), FreeBSD) diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/Molden/Molden-7.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f7c651b05eb --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.3-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MakeCp' + +name = 'Molden' +version = '7.3' + +homepage = 'https://www.theochem.ru.nl/molden/' +description = """Molden is a package for displaying Molecular Density from the + Ab Initio packages GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical + packages Mopac/Ampac""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.science.ru.nl/Molden/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +patches = [ + 'Molden-7.3_fix_makefile_for_easybuild.patch', + 'Molden-7.3_fix_arg_handling.patch', +] +checksums = [ + {'molden7.3.tar.gz': '870f4fa6635229791bb09bbbd07f51456b2c90101d73564dc47ed7769b8c07a1'}, + {'Molden-7.3_fix_makefile_for_easybuild.patch': 'b97d794cf92978d151d70485250367eebf719885c6a909ca3404a800903e3f7a'}, + {'Molden-7.3_fix_arg_handling.patch': 'e7d0654a7c7a0b069ff4a904d3334ea19f6b0147003bc460745db8b8d5f931cf'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('makedepend', '1.0.7'), +] + +dependencies = [ + ('X11', '20230603'), + ('libglvnd', '1.6.0'), + ('libGLU', '9.0.3'), +] + +buildopts = 'CC="$CC" FC="$F90" FFLAGS="$FFLAGS -fallow-argument-mismatch" all' + +parallel = 1 + +files_to_copy = [(['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']], 'bin'), + 'CopyRight', 'README', 'REGISTER'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ambfor', 'ambmd', 'gmolden', 'molden', 'surf']] + ['README', 'REGISTER'], + 'dirs': [], +} + +sanity_check_commands = ["molden -h"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_arg_handling.patch b/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_arg_handling.patch new file mode 100644 index 00000000000..1893f4a7798 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_arg_handling.patch @@ -0,0 +1,24 @@ +# Use F2003 functions for argument handling. +# Author: xinan1911 (SURF) +diff -ruN molden7.3.orig/src/molden.f molden7.3/src/molden.f +--- molden7.3.orig/src/molden.f 2023-08-09 15:22:58.503993000 +0200 ++++ molden7.3/src/molden.f 2023-09-26 20:13:01.426339279 +0200 +@@ -3814,15 +3814,15 @@ + endif + + iredir = 0 +- nargs = iargc() +- call getarg(0,liris) ++ nargs = COMMAND_ARGUMENT_COUNT() ++ call GET_COMMAND_ARGUMENT(0,liris) + call parsfn(liris,linlen(liris),20) + + ntargs = 0 + n = 0 + if (nargs.gt.0) then + 2013 n = n + 1 +- call getarg(n,liris) ++ call GET_COMMAND_ARGUMENT(n,liris) + if (liris(1:1).eq.'-') then + if (liris(1:2).eq.'-5') ido5d = 1 + if (liris(1:2).eq.'-7') ido7f = 1 diff --git a/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_makefile_for_easybuild.patch b/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_makefile_for_easybuild.patch new file mode 100644 index 00000000000..96b975e97a5 --- /dev/null +++ b/easybuild/easyconfigs/m/Molden/Molden-7.3_fix_makefile_for_easybuild.patch @@ -0,0 +1,80 @@ +# Make makefile EasyBuild friendly. +# Author: xinan1911 (SURF) +diff -ruN molden7.3.orig/makefile molden7.3/makefile +--- molden7.3.orig/makefile 2023-08-09 15:22:58.725188000 +0200 ++++ molden7.3/makefile 2023-09-26 20:29:25.276603201 +0200 +@@ -13,10 +13,10 @@ + # Disregard compiler warnings on rdmolf.f + # + # +-CC = cc ++#CC = cc + LIBS = -lX11 -lm + LDR = ${FC} +-LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lXmu -lX11 -lm ++LIBSG = -lGLU -lGL -lXmu -lX11 -lm + ARCH := $(shell getconf LONG_BIT) + AFLAG= -m$(ARCH) + EXTEN= +@@ -29,19 +29,6 @@ + uname := $(shell uname -s) + os := + +-ifeq ($(uname), Linux) +- os := $(shell head -n 1 /etc/issue | cut -d" " -f1) +- ifeq ($(os), Ubuntu) +- EXTEN = exten +- EXTENZ = exten2 +- LIBSG = -L/usr/X11R6/lib -lGLU -lGL -lX11 -lm +- endif +- ifeq ($(os), Debian) +- LIBSG = -L/usr/lib/X11 -lGLU -lGL -lX11 -lm +- endif +- +- choosefc := 'yes' +-endif + + ifneq (,$(findstring CYGWIN,$(uname))) + uname := Linux +@@ -53,17 +40,6 @@ + endif + + +-ifneq ($(choosefc), $(empty)) +- comg77 := $(shell which g77 | grep -i g77) +- comgfort := $(shell which gfortran | grep -i gfortran) +- ifneq ($(comg77), $(empty)) +- FC = g77 +- endif +- ifneq ($(comgfort), $(empty)) +- FC = gfortran +- endif +-endif +- + print-% : ; @echo $* = $($*) + # + # Linux version +@@ -109,17 +85,17 @@ + endif + #FFLAGS = -g ${AFLAG} + FFLAGS += -g ${AFLAG} +-LIBS = -L/usr/X11R6/lib -lX11 -lm ++LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +-LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++LIBS = -lX11 -lm + endif + LDR = ${FC} -g ${AFLAG} +-CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -I/usr/X11R6/include -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++CFLAGS = ${AFLAG} ${EXTRAZ} -c -g -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 + ifeq ($(os), Debian) +- CFLAGS = ${AFLAG} ${EXTRAZ} -c -I/usr/include/X11 -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 +- LIBS = -L/usr/lib/X11 -lX11 -lm ++ CFLAGS = ${AFLAG} ${EXTRAZ} -c -DDOBACK -DHASTIMER -DCOLOR_OFFSET=0.0 ++ LIBS = -lX11 -lm + ifeq ($(AFLAG),"-m64") +- LIBS = -L/usr/X11R6/lib64 -lX11 -lm ++ LIBS = -lX11 -lm + endif + endif + ifeq ($(os), FreeBSD) diff --git a/easybuild/easyconfigs/m/Molekel/Molekel-5.4.0-Linux_x86_64.eb b/easybuild/easyconfigs/m/Molekel/Molekel-5.4.0-Linux_x86_64.eb index f69c22f76b8..cee0bcbc267 100644 --- a/easybuild/easyconfigs/m/Molekel/Molekel-5.4.0-Linux_x86_64.eb +++ b/easybuild/easyconfigs/m/Molekel/Molekel-5.4.0-Linux_x86_64.eb @@ -4,16 +4,19 @@ name = "Molekel" version = "5.4.0" versionsuffix = "-Linux_x86_64" -homepage = "http://molekel.cscs.ch/" -description = """Molekel is an open-source multi-platform molecular visualization program.""" +homepage = "http://ugovaretto.github.io/molekel/wiki/pmwiki.php/Main/HomePage.html" +description = """ + Molekel is an open-source multi-platform molecular visualization program. +""" toolchain = SYSTEM -sources = ['molekel_%s_%s.tar.gz' % (version.replace('.', '_'), versionsuffix.lower()[1:])] -source_urls = ['ftp://ftp.cscs.ch/out/molekel/molekel_%(version_major_minor)s'] +sources = ['molekel_%s_%s.tgz' % (version.replace('.', '_'), versionsuffix.lower()[1:])] +source_urls = ["https://github.com/ugovaretto/molekel/releases/download/v%(version_major_minor)s/"] +checksums = ['2a0f58759e7b6053746080813f17fc1df164e9755fcffb7c22470c7371c0de86'] sanity_check_paths = { - 'files': ["bin/Molekel"], + 'files': ['bin/Molekel'], 'dirs': [], } diff --git a/easybuild/easyconfigs/m/MoloVol/MoloVol-1.1.1-GCC-12.3.0.eb b/easybuild/easyconfigs/m/MoloVol/MoloVol-1.1.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..45fc3443de9 --- /dev/null +++ b/easybuild/easyconfigs/m/MoloVol/MoloVol-1.1.1-GCC-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'MoloVol' +version = '1.1.1' + +homepage = 'https://molovol.com/' +description = """ +MoloVol is a free, cross-plattform, scientific software for volume and surface computations of +single molecules and crystallographic unit cells. +""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/molovol/MoloVol/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b41ddd9d98156f602700504ec67bb2002c8621eb4a0b43b7d3d60b4a5d0e15bd'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('wxWidgets', '3.2.2.1'), + ('Xvfb', '21.1.8'), +] + +sanity_check_paths = { + 'files': ['bin/molovol'], + 'dirs': [], +} + +sanity_check_commands = ['xvfb-run molovol -h'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb new file mode 100644 index 00000000000..cf49bc2f86c --- /dev/null +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_mpipr.eb @@ -0,0 +1,23 @@ +name = 'Molpro' +versionprefix = 'mpp-' +version = '2024.1.0' +versionsuffix = '.linux_x86_64_mpipr' + +homepage = 'https://www.molpro.net' +description = """Molpro is a complete system of ab initio programs for molecular electronic structure calculations.""" + +toolchain = SYSTEM + +download_instructions = """Molpro is proprietary software, see https://www.molpro.net/info/ordering.php + on how to obtain the software.""" + +sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] +checksums = ['30ee6b4a807481ca1a118dfe16a00fae1cff50ce3b872cbfe49aa0f4702d13ad'] + +precompiled_binaries = True + +# license file - uncomment if a licence file is supplied by your site and +# is valid for all users - the value of license_file may have to be changed +# license_file = HOME + '/licenses/%(name)s/license.lic' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb new file mode 100644 index 00000000000..74ee3b41b35 --- /dev/null +++ b/easybuild/easyconfigs/m/Molpro/Molpro-mpp-2024.1.0.linux_x86_64_sockets.eb @@ -0,0 +1,23 @@ +name = 'Molpro' +versionprefix = 'mpp-' +version = '2024.1.0' +versionsuffix = '.linux_x86_64_sockets' + +homepage = 'https://www.molpro.net' +description = """Molpro is a complete system of ab initio programs for molecular electronic structure calculations.""" + +toolchain = SYSTEM + +download_instructions = """Molpro is proprietary software, see https://www.molpro.net/info/ordering.php + on how to obtain the software.""" + +sources = ['%(namelower)s-%(versionprefix)s%(version)s%(versionsuffix)s.sh'] +checksums = ['0d983455af62816b91b92d6413948a626797670533d0d6e6e30ce4a0172df043'] + +precompiled_binaries = True + +# license file - uncomment if a licence file is supplied by your site and +# is valid for all users - the value of license_file may have to be changed +# license_file = HOME + '/licenses/%(name)s/license.lic' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/Mono/Mono-6.12.0.122-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/Mono/Mono-6.12.0.122-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..38557c0aa37 --- /dev/null +++ b/easybuild/easyconfigs/m/Mono/Mono-6.12.0.122-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'Mono' +version = '6.12.0.122' + +homepage = 'https://www.mono-project.com/' +description = """An open source, cross-platform, implementation of C# and the CLR that is + binary compatible with Microsoft.NET.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.mono-project.com/sources/mono'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['29c277660fc5e7513107aee1cbf8c5057c9370a4cdfeda2fc781be6986d89d23'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('zlib', '1.2.11'), + # optional: + ('jemalloc', '5.2.1'), + ('libgdiplus', '6.1'), + ('X11', '20210802'), +] + +# autogen.sh also runs configure with supplied arguments +configure_cmd = "./autogen.sh" +configopts = "--with-tls=pthread --with-large-heap " +# optionally build with libgdiplus, jemalloc and X11 support +configopts += "--with-libgdiplus=$EBROOTLIBGDIPLUS/lib/libgdiplus.so " +configopts += "--with-jemalloc=$EBROOTJEMALLOC/lib/libjemalloc.so " + +local_bins = ['bin/mono'] +local_libs = ['lib/libmono%s.%s' % (x, y) for x in ['-2.0', 'boehm-2.0', '-native', '-profiler-aot', 'sgen-2.0'] + for y in ['a', 'la', SHLIB_EXT]] + +sanity_check_paths = { + 'files': local_bins + local_libs, + 'dirs': ['include', 'etc'], +} + +sanity_check_commands = ["mono --help", "mono --version"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..3ca28db9d7c --- /dev/null +++ b/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,112 @@ +easyblock = 'Bundle' + +name = 'Monocle3' +version = '1.3.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cole-trapnell-lab.github.io/monocle3/' +description = """ An analysis toolkit for single-cell RNA-seq. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('pkgconf', '1.8.0')] # for textshaping + +dependencies = [ + ('R', '4.2.1'), + ('Python', '3.10.4'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('GDAL', '3.5.0'), + ('HarfBuzz', '4.2.1'), # for textshaping + ('FriBidi', '1.0.12'), # for textshaping +] + +github_account = 'cole-trapnell-lab' +exts_defaultclass = 'RPackage' +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', +} + +exts_list = [ + ('grr', '0.9.5', { + 'checksums': ['292606de2983ac5840c90d3e0977441b482c9e73c1674b662f8b4fb8f3632b2b'], + }), + ('Matrix.utils', '0.9.8', { + 'checksums': ['ebc59d3ef751775515586ff1f2396e429a1e9d91a10099d804134fcf74c0ae28'], + }), + ('pbmcapply', '1.5.1', { + 'checksums': ['7ffc2854a384962f0dd523aa9ef33ce8fc290997206b71b840a49049d87112dd'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('warp', '0.2.0', { + 'checksums': ['0e0de344f3d711d58e6be2ab47ade1db3b703bf3ca85080b1124c0c25a630a68'], + }), + ('rlang', '1.0.6', { + 'checksums': ['e6973d98a0ea301c0da1eeaa435e9e65d1c3f0b95ed68bdc2d6cb0c610166760'], + }), + ('vctrs', '0.5.2', { + 'checksums': ['76bf10243b9b31e23f56ffdaa1677a01767699e2098487f86bd42cb801d8c047'], + }), + ('slider', '0.3.0', { + 'checksums': ['bc6a17ba5f0b27c8504a1d04992108470f24fd5662fbea14c300ac75fb02fca1'], + }), + ('rsample', '1.1.1', { + 'checksums': ['90d2ae86d27a397ba9d8d010e7dea5c7b86fecbec7e9af273db0c2e8c374b8ba'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('sf', '1.0-9', { + 'checksums': ['85c0c71a0a64750281e79aa96e36d13e6285927008b2d37d699e52aba7d8013b'], + }), + ('spdep', '1.2-7', { + 'checksums': ['9dac594825bf2d0aa31e845bfec05d8ce206327840fe455391741dbbdf9c9eea'], + }), + ('biglm', '0.9-2.1', { + 'checksums': ['6dcf3c9e7c3f56cdaac94cc0c427f606880467e1e753fe7ea45c10bc44eec947'], + }), + ('speedglm', '0.3-5', { + 'checksums': ['f8663677c10ff324c5639402060ddd2b1a1e917445cb0f8f84e146b85e82bb4b'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('systemfonts', '1.0.4', { + 'checksums': ['ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0'], + }), + ('textshaping', '0.3.6', { + 'checksums': ['80e2c087962f55ce2811fbc798b09f5638c06c6b28c10cd3cb3827005b902ada'], + }), + ('ragg', '1.2.5', { + 'checksums': ['936f4d75e0e01cdeefb9f57d121cdd7812d0de5a9e1a3a8315f92ce1c84da8f9'], + }), + ('ggrastr', '1.0.1', { + 'checksums': ['82d6e90fa38dec85e829f71018532ed5b709a50a585455fc07cb3bae282f5d1f'], + }), + ('leidenbase', '0.1.9', { + 'source_urls': ['https://github.com/%(github_account)s/leidenbase/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': 'leidenbase-%(version)s.tar.gz'}], + 'checksums': ['dd893b13b04d4b943243e7ac8d2ef1850b60d0437b2e4d36a9cff57cd4953f54'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_urls': ['https://github.com/%(github_account)s/monocle3/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': 'Monocle3-%(version)s.tar.gz'}], + 'checksums': ['30e86d5323ea22b302614813ecf102f26774b42710589671a1f1d51ef9ad183d'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['leidenbase', '%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..c19d8aff457 --- /dev/null +++ b/easybuild/easyconfigs/m/Monocle3/Monocle3-1.3.1-foss-2022b-R-4.2.2.eb @@ -0,0 +1,79 @@ +easyblock = 'Bundle' + +name = 'Monocle3' +version = '1.3.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cole-trapnell-lab.github.io/monocle3/' +description = """ An analysis toolkit for single-cell RNA-seq. """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [('pkgconf', '1.9.3')] # for textshaping + +dependencies = [ + ('R', '4.2.2'), + ('Python', '3.10.8'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), + ('GDAL', '3.6.2'), + ('HarfBuzz', '5.3.1'), # for textshaping + ('FriBidi', '1.0.12'), # for textshaping +] + +github_account = 'cole-trapnell-lab' +exts_defaultclass = 'RPackage' +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', +} + +exts_list = [ + ('grr', '0.9.5', { + 'checksums': ['292606de2983ac5840c90d3e0977441b482c9e73c1674b662f8b4fb8f3632b2b'], + }), + ('Matrix.utils', '0.9.8', { + 'checksums': ['ebc59d3ef751775515586ff1f2396e429a1e9d91a10099d804134fcf74c0ae28'], + }), + ('pbmcapply', '1.5.1', { + 'checksums': ['7ffc2854a384962f0dd523aa9ef33ce8fc290997206b71b840a49049d87112dd'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('spdep', '1.2-7', { + 'checksums': ['9dac594825bf2d0aa31e845bfec05d8ce206327840fe455391741dbbdf9c9eea'], + }), + ('biglm', '0.9-2.1', { + 'checksums': ['6dcf3c9e7c3f56cdaac94cc0c427f606880467e1e753fe7ea45c10bc44eec947'], + }), + ('speedglm', '0.3-5', { + 'checksums': ['f8663677c10ff324c5639402060ddd2b1a1e917445cb0f8f84e146b85e82bb4b'], + }), + ('leidenbase', '0.1.9', { + 'source_urls': ['https://github.com/%(github_account)s/leidenbase/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': 'leidenbase-%(version)s.tar.gz'}], + 'checksums': ['dd893b13b04d4b943243e7ac8d2ef1850b60d0437b2e4d36a9cff57cd4953f54'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_urls': ['https://github.com/%(github_account)s/monocle3/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': 'Monocle3-%(version)s.tar.gz'}], + 'checksums': ['30e86d5323ea22b302614813ecf102f26774b42710589671a1f1d51ef9ad183d'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['leidenbase', '%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.2.6-GCCcore-8.2.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.2.6-GCCcore-8.2.0.eb index eb939d50379..25197a7fbf6 100644 --- a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.2.6-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.2.6-GCCcore-8.2.0.eb @@ -36,7 +36,7 @@ checksums = [ # of MotionCor2 builddependencies = [ ('binutils', '2.31.1'), - ('CUDA', '10.1.105', '', True), + ('CUDA', '10.1.105', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.1-GCCcore-8.3.0.eb index dfaa5e0b7fd..3989ce20c54 100644 --- a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.1-GCCcore-8.3.0.eb @@ -36,7 +36,7 @@ checksums = [ # of MotionCor2 builddependencies = [ ('binutils', '2.32'), - ('CUDA', '10.1.243', '', True), + ('CUDA', '10.1.243', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.2-GCCcore-8.3.0.eb index c0a0396d15d..29958aa847c 100644 --- a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.3.2-GCCcore-8.3.0.eb @@ -36,7 +36,7 @@ checksums = [ # of MotionCor2 builddependencies = [ ('binutils', '2.32'), - ('CUDA', '10.1.243', '', True), + ('CUDA', '10.1.243', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.2-GCCcore-10.2.0.eb index 4f2bf4aeabb..0bbb8322a60 100644 --- a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.2-GCCcore-10.2.0.eb @@ -34,7 +34,7 @@ checksums = ['5a1b952f46816e396b918b92fcb118376c02be3636371bd6fcef00f315685b8d'] # of MotionCor2 builddependencies = [ ('binutils', '2.35'), - ('CUDAcore', '11.1.1', '', True), + ('CUDAcore', '11.1.1', '', SYSTEM), ] dependencies = [ diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..836b2d4668c --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.2.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Ake Sandgren +# HPC2N +# Umea University + +name = 'MotionCor2' +version = '1.4.4' + +homepage = 'https://msg.ucsf.edu/' +description = """MotionCor2 correct anisotropic image motion at the +single pixel level across the whole frame, suitable for both single +particle and tomographic images. Iterative, patch-based motion detection +is combined with spatial and temporal constraints and dose weighting. + +Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, +Yifan Cheng and David A. Agard (2016) Anisotropic Correction of +Beam-induced Motion for Improved Single-particle Electron +Cryo-microscopy, Nature Methods, submitted. +BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960 +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = ['%(name)s_%(version)s.zip'] +checksums = ['128f5cdf83b5023204c10b4801baa13f0a56a950e0bc6e0ed26c7f3aa1df59d7'] + +# No longer directly downloadable, available from https://msg.ucsf.edu/software +# CUDA is a build dependency to make sure it gets installed. +# It's actually a runtime dependency, but that's handled in the wrapper to +# make sure it doesn't conflict with whatever toolchain happens to be loaded. +# Change CUDA version to match the latest one used in this version +# of MotionCor2 +builddependencies = [ + ('binutils', '2.35'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.5'), + ('LibTIFF', '4.1.0'), +] +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..632abd81b22 --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.4.4-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Ake Sandgren +# HPC2N +# Umea University + +name = 'MotionCor2' +version = '1.4.4' + +homepage = 'https://msg.ucsf.edu/' +description = """MotionCor2 correct anisotropic image motion at the +single pixel level across the whole frame, suitable for both single +particle and tomographic images. Iterative, patch-based motion detection +is combined with spatial and temporal constraints and dose weighting. + +Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, +Yifan Cheng and David A. Agard (2016) Anisotropic Correction of +Beam-induced Motion for Improved Single-particle Electron +Cryo-microscopy, Nature Methods, submitted. +BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960 +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = ['%(name)s_%(version)s.zip'] +checksums = ['128f5cdf83b5023204c10b4801baa13f0a56a950e0bc6e0ed26c7f3aa1df59d7'] + +# No longer directly downloadable, available from https://msg.ucsf.edu/software +# CUDA is a build dependency to make sure it gets installed. +# It's actually a runtime dependency, but that's handled in the wrapper to +# make sure it doesn't conflict with whatever toolchain happens to be loaded. +# Change CUDA version to match the latest one used in this version +# of MotionCor2 +builddependencies = [ + ('binutils', '2.36.1'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +dependencies = [ + ('LibTIFF', '4.2.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1ce57f532b7 --- /dev/null +++ b/easybuild/easyconfigs/m/MotionCor2/MotionCor2-1.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Ake Sandgren +# HPC2N +# Umea University + +name = 'MotionCor2' +version = '1.5.0' + +homepage = 'https://msg.ucsf.edu/' +description = """MotionCor2 correct anisotropic image motion at the +single pixel level across the whole frame, suitable for both single +particle and tomographic images. Iterative, patch-based motion detection +is combined with spatial and temporal constraints and dose weighting. + +Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, +Yifan Cheng and David A. Agard (2016) Anisotropic Correction of +Beam-induced Motion for Improved Single-particle Electron +Cryo-microscopy, Nature Methods, submitted. +BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960 +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [ + '%(name)s_%(version)s.zip', +] +checksums = ['cdb7b9aceb42d52e2a4c7a5e80270371376aea412d21fa1f1f28d4cc71c81834'] +download_instructions = """Visit https://msg.ucsf.edu/software and fill in the form to download %s""" % sources[0] + +# CUDA is a build dependency to make sure it gets installed. +# It's actually a runtime dependency, but that's handled in the wrapper to +# make sure it doesn't conflict with whatever toolchain happens to be loaded. +# Change CUDA version to match the latest one used in this version +# of MotionCor2 +builddependencies = [ + ('binutils', '2.38'), + ('CUDA', '11.6.0', '', SYSTEM), +] + +dependencies = [ + ('LibTIFF', '4.3.0'), +] + +moduleclass = 'bio' 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/MoviePy/MoviePy-1.0.3-foss-2021a.eb b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021a.eb new file mode 100644 index 00000000000..a5a67866969 --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021a.eb @@ -0,0 +1,42 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to foss 2021a: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MoviePy' +version = '1.0.3' + +homepage = "https://zulko.github.io/moviepy/" +description = """MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, + title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('FFmpeg', '4.3.2'), + ('Python', '3.9.5'), + ('Pillow', '8.2.0'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), + ('imageio', '2.10.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('imageio-ffmpeg', '0.4.7', { + 'checksums': ['7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e'], + }), + ('proglog', '0.1.10', { + 'checksums': ['658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4'], + }), + (name, version, { + 'source_tmpl': 'moviepy-%(version)s.tar.gz', + 'patches': ['moviepy-1.0.3-setup.py.patch'], + 'checksums': [('2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5'), + ('beca82ff8dfbc9cd0b97296f310de3ddfc43e2e49344a32375d4438485c3f3df')], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb new file mode 100644 index 00000000000..dbe91a2e7ff --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/MoviePy-1.0.3-foss-2021b.eb @@ -0,0 +1,42 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +# Updated to foss 2021b: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'MoviePy' +version = '1.0.3' + +homepage = "https://zulko.github.io/moviepy/" +description = """MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, + title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('FFmpeg', '4.3.2'), + ('Python', '3.9.6'), + ('Pillow', '8.3.2'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('imageio', '2.13.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('imageio-ffmpeg', '0.4.7', { + 'checksums': ['7a08838f97f363e37ca41821b864fd3fdc99ab1fe2421040c78eb5f56a9e723e'], + }), + ('proglog', '0.1.10', { + 'checksums': ['658c28c9c82e4caeb2f25f488fff9ceace22f8d69b15d0c1c86d64275e4ddab4'], + }), + (name, version, { + 'source_tmpl': 'moviepy-%(version)s.tar.gz', + 'patches': ['moviepy-1.0.3-setup.py.patch'], + 'checksums': [('2884e35d1788077db3ff89e763c5ba7bfddbd7ae9108c9bc809e7ba58fa433f5'), + ('beca82ff8dfbc9cd0b97296f310de3ddfc43e2e49344a32375d4438485c3f3df')], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch b/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch new file mode 100644 index 00000000000..ce24edbfaea --- /dev/null +++ b/easybuild/easyconfigs/m/MoviePy/moviepy-1.0.3-setup.py.patch @@ -0,0 +1,16 @@ +Changed the max. version of decorator to <6.0 +https://github.com/Zulko/moviepy/blob/master/setup.py +Author: J. Sassmannshausen +diff --git a/moviepy-1.0.3.orig/setup.py b/moviepy-1.0.3/setup.py +index f8088bb..feb7da7 100644 +--- a/moviepy-1.0.3.orig/setup.py ++++ b/moviepy-1.0.3/setup.py +@@ -62,7 +62,7 @@ exec(open('moviepy/version.py').read()) # loads __version__ + + # Define the requirements for specific execution needs. + requires = [ +- 'decorator>=4.0.2,<5.0', ++ 'decorator>=4.0.2,<6.0', + "imageio>=2.5,<3.0; python_version>='3.4'", + "imageio>=2.0,<2.5; python_version<'3.4'", + "imageio_ffmpeg>=0.2.0; python_version>='3.4'", diff --git a/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.6-gompi-2020b.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.6-gompi-2020b.eb new file mode 100644 index 00000000000..417331a216f --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.6-gompi-2020b.eb @@ -0,0 +1,26 @@ +name = 'MrBayes' +version = '3.2.6' + +homepage = "https://nbisweden.github.io/MrBayes/" +description = """MrBayes is a program for Bayesian inference and model choice across + a wide range of phylogenetic and evolutionary models.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} +# add -fcommon as workaround for 'multiple definition' linking errors; +# see also https://www.gnu.org/software/gcc/gcc-10/porting_to.html +toolchainopts = {'usempi': True, 'extra_cflags': '-fcommon'} + +source_urls = ['https://github.com/NBISweden/MrBayes/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f8fea43b5cb5e24a203a2bb233bfe9f6e7f77af48332f8df20085467cc61496d'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('libreadline', '8.0'), + ('beagle-lib', '3.1.2'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb new file mode 100644 index 00000000000..9ca8972d517 --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7-gompi-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'MrBayes' +version = '3.2.7' + +homepage = "https://nbisweden.github.io/MrBayes/" +description = """MrBayes is a program for Bayesian inference and model choice across + a wide range of phylogenetic and evolutionary models.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/NBISweden/MrBayes/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['39d9eb269969b501268d5c27f77687c6eaa2c71ccf15c724e6f330fc405f24b9'] + +dependencies = [ + ('libreadline', '8.1.2'), + ('beagle-lib', '4.0.0'), +] + +configopts = "--with-mpi --with-readline --with-beagle=$EBROOTBEAGLEMINLIB " + +sanity_check_paths = { + 'files': ['bin/mb'], + 'dirs': ['share'] +} + +sanity_check_commands = ['mb -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-foss-2020a.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-foss-2020a.eb new file mode 100644 index 00000000000..8affddc7c40 --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-foss-2020a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'MrBayes' +version = '3.2.7a' + +homepage = 'http://mrbayes.csit.fsu.edu' +description = "MrBayes is a program for the Bayesian estimation of phylogeny." + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True} + +github_account = 'NBISweden' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3eed2e3b1d9e46f265b6067a502a89732b6f430585d258b886e008e846ecc5c6'] + +builddependencies = [ + ('Autotools', '20180311'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('beagle-lib', '3.1.2'), + ('libreadline', '8.0'), +] + +configopts = "--with-mpi=yes" + +sanity_check_paths = { + 'files': ['bin/mb'], + 'dirs': ['share/doc', 'share/examples'], +} + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-iimpi-2019a.eb b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-iimpi-2019a.eb new file mode 100644 index 00000000000..250ee134598 --- /dev/null +++ b/easybuild/easyconfigs/m/MrBayes/MrBayes-3.2.7a-iimpi-2019a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'MrBayes' +version = '3.2.7a' + +homepage = 'https://nbisweden.github.io/MrBayes/' +description = """MrBayes is a program for Bayesian inference and model choice across + a wide range of phylogenetic and evolutionary models.""" + +toolchain = {'name': 'iimpi', 'version': '2019a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NBISweden/MrBayes/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3eed2e3b1d9e46f265b6067a502a89732b6f430585d258b886e008e846ecc5c6'] + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('libreadline', '8.0'), + ('beagle-lib', '3.1.2'), +] + +configopts = "--with-mpi --with-readline --with-beagle=$EBROOTBEAGLEMINLIB " + +sanity_check_paths = { + 'files': ['bin/mb'], + 'dirs': ['share'] +} + +sanity_check_commands = ["mb -help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f6cdc551706 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PackedBinary' + +name = 'MuJoCo' +version = '2.1.1' + +homepage = 'https://mujoco.org/' +description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose +physics engine that aims to facilitate research and development in robotics, +biomechanics, graphics and animation, machine learning, and other areas which +demand fast and accurate simulation of articulated structures interacting with +their environment.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] +checksums = [ + { + '%(namelower)s-%(version)s-linux-aarch64.tar.gz': + '83949d7d159b3b958153efcd62d3c7c9b160917b37a19cacda95c2cb1f0dda19', + '%(namelower)s-%(version)s-linux-x86_64.tar.gz': + 'd422720fc53f161992b264847d6173eabbe3a3710aa0045d68738ee942f3246e', + '%(namelower)s-%(version)s-linux-ppc64le.tar.gz': + '1075785e6a737ed3072decac4c1d44db692d6f20843496dacb59196af06957b0', + } +] + +builddependencies = [ + ('binutils', '2.37'), +] + +# MuJoCo bundles 3 variants of glew using non-standard sonames: +# - libglew with GLX +# - libglewegl with EGL +# - libglewosmesa with OSMESA +# Softare depending on MuJoCo expect these non-standard sonames, so they should not be removed +# - libglew and libglewegl seem to work with Mesa and X11 in this toolchain +# - libglewosmesa has to be replaced as it links to an old libOSMesa + +dependencies = [ + ('glew', '2.2.0', '-osmesa'), +] + +postinstallcmds = [ + # replace bundled libglewosmesa.so with glew libs from EB + "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", +] + +sanity_check_paths = { + 'files': ['bin/basic', 'bin/derivative', 'bin/record', 'bin/simulate', + 'lib/libmujoco.%s' % SHLIB_EXT, 'lib/libmujoco_nogl.%s' % SHLIB_EXT], + 'dirs': ['include', 'model', 'sample'], +} + +sanity_check_commands = ['basic'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..01b0b71bbb2 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-2.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PackedBinary' + +name = 'MuJoCo' +version = '2.2.2' + +homepage = 'https://mujoco.org/' +description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose +physics engine that aims to facilitate research and development in robotics, +biomechanics, graphics and animation, machine learning, and other areas which +demand fast and accurate simulation of articulated structures interacting with +their environment.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] +checksums = ['c887a4c315201ce47cf654e0115a55c29648567450d44cd8afe8e3a09d34ea1e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +# MuJoCo bundles 3 variants of glew using non-standard sonames: +# - libglew with GLX +# - libglewegl with EGL +# - libglewosmesa with OSMESA +# - Software depending on MuJoCo expect these non-standard sonames, so they should not be removed +# - libglew and libglewegl seem to work with Mesa and X11 for toolchain GCCcore/11.2.0 +# - libglewosmesa has to be replaced as it links to an old libOSMesa + +dependencies = [ + ('glew', '2.2.0', '-osmesa'), +] + +postinstallcmds = [ + # replace bundled libglewosmesa.so with glew libs from EB + "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", +] + +sanity_check_paths = { + 'files': ['bin/basic', 'bin/derivative', 'bin/record', 'bin/simulate', + 'lib/libmujoco.%s' % SHLIB_EXT], + 'dirs': ['include', 'model', 'sample'], +} + +sanity_check_commands = ['basic'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fe1f93209e0 --- /dev/null +++ b/easybuild/easyconfigs/m/MuJoCo/MuJoCo-3.1.4-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PackedBinary' + +name = 'MuJoCo' +version = '3.1.4' + +homepage = 'https://mujoco.org/' +description = """MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose +physics engine that aims to facilitate research and development in robotics, +biomechanics, graphics and animation, machine learning, and other areas which +demand fast and accurate simulation of articulated structures interacting with +their environment.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/deepmind/mujoco/releases/download/%(version)s'] +sources = ['%(namelower)s-%(version)s-linux-%(arch)s.tar.gz'] +checksums = ['3bb373e081daaf6bf179d7f83dd8fa39e491a6daa4250a1b7ac42850309cb313'] + +builddependencies = [ + ('binutils', '2.40'), +] + +# MuJoCo bundles 3 variants of glew using non-standard sonames: +# - libglew with GLX +# - libglewegl with EGL +# - libglewosmesa with OSMESA +# - Software depending on MuJoCo expect these non-standard sonames, so they should not be removed +# - libglew and libglewegl seem to work with Mesa and X11 for toolchain GCCcore/11.2.0 +# - libglewosmesa has to be replaced as it links to an old libOSMesa + +dependencies = [ + ('glew', '2.2.0', '-osmesa'), +] + +postinstallcmds = [ + # replace bundled libglewosmesa.so with glew libs from EB + "ln -sf $EBROOTGLEW/lib64/libGLEW.so %(installdir)s/lib/libglewosmesa.so", +] + +sanity_check_paths = { + 'files': ['bin/basic', 'bin/record', 'bin/simulate', + 'lib/libmujoco.%s' % SHLIB_EXT], + 'dirs': ['include', 'model', 'sample'], +} + +sanity_check_commands = ['basic'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb b/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb index 839d7674129..5c208fac172 100644 --- a/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb +++ b/easybuild/easyconfigs/m/MuPeXI/MuPeXI-1.2.0-foss-2018b-Perl-5.28.0-Python-2.7.15.eb @@ -23,16 +23,16 @@ checksums = [ dependencies = [ ('Python', '2.7.15'), ('Perl', '5.28.0'), - ('netMHCpan', '4.0a', '', True), + ('netMHCpan', '4.0a', '', SYSTEM), ('VEP', '94.0', '-Perl-%(perlver)s'), ('Biopython', '1.72', '-Python-%(pyver)s'), ('psutil', '5.4.7', '-Python-%(pyver)s'), ] postinstallcmds = [ - 'sed -i -e "s|^MHC =.*|MHC = \$EBROOTNETMHCPAN/netMHCpan|" %(installdir)s/config.ini', - 'sed -i -e "s|^VEP =.*|VEP = \$EBROOTVEP/vep|" %(installdir)s/config.ini', - 'sed -i -e "s|^PM =.*|PM = \$EBROOTMUPEXI/bin/pepmatch_db_x86_64|" %(installdir)s/config.ini', + r'sed -i -e "s|^MHC =.*|MHC = \$EBROOTNETMHCPAN/netMHCpan|" %(installdir)s/config.ini', + r'sed -i -e "s|^VEP =.*|VEP = \$EBROOTVEP/vep|" %(installdir)s/config.ini', + r'sed -i -e "s|^PM =.*|PM = \$EBROOTMUPEXI/bin/pepmatch_db_x86_64|" %(installdir)s/config.ini', 'chmod +x %(installdir)s/bin/pepmatch_db_x86_64', ] diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.10.1-foss-2020b.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.10.1-foss-2020b.eb new file mode 100644 index 00000000000..ef76f02541b --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.10.1-foss-2020b.eb @@ -0,0 +1,73 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.10.1' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single + report. + + MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('PyYAML', '5.3.1'), + ('networkx', '2.5'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.2.1', { + 'checksums': ['90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('rich', '10.16.0', { + 'checksums': ['06a1355131feda5eba4511dd749e9187ac0fb42209e189845d81e94505fc268e'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('multiqc', version, { + 'checksums': ['a4be38dd72da6b3b042d5dffbdcafd3e368189fbc4e767c79ce0aea1987c3a79'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.11-foss-2021a.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.11-foss-2021a.eb new file mode 100644 index 00000000000..f6a7cc770c2 --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.11-foss-2021a.eb @@ -0,0 +1,73 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.11' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single + report. + + MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), + ('PyYAML', '5.4.1'), + ('networkx', '2.5.1'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.2.1', { + 'checksums': ['90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('rich', '10.16.0', { + 'checksums': ['06a1355131feda5eba4511dd749e9187ac0fb42209e189845d81e94505fc268e'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('multiqc', version, { + 'checksums': ['6633ec44d8aed5477283158c613a46d27d3581d41baf0ecfac451a914870bab6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.12-foss-2021b.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.12-foss-2021b.eb new file mode 100644 index 00000000000..c0ea630b6fc --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.12-foss-2021b.eb @@ -0,0 +1,72 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.12' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single report. + + MultiQC searches a given directory for analysis logs and compiles an HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('PyYAML', '5.4.1'), + ('networkx', '2.6.3'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.2.1', { + 'checksums': ['90fee683eeabe1a92e149f7ba74e5ccdc81cd397bd6c516d93a8da0ef90b6902'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('rich', '10.16.0', { + 'checksums': ['06a1355131feda5eba4511dd749e9187ac0fb42209e189845d81e94505fc268e'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('multiqc', version, { + 'checksums': ['c62a8d24e3d1cebb42b615ac48201ecf4f2f863772f8f9fa59e466753d4af531'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb new file mode 100644 index 00000000000..f52d4a6f601 --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022a.eb @@ -0,0 +1,85 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.14' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single report. + + MultiQC searches a given directory for analysis logs and compiles an HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), + ('networkx', '2.8.4'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.1.0', { + 'checksums': ['cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da'], + 'modulename': 'markdown_it', + }), + ('Pygments', '2.14.0', { + 'checksums': ['b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297'], + }), + ('rich', '13.3.1', { + 'checksums': ['125d96d20c92b946b983d0d392b84ff945461e5a06d3867e9f9e575f8697b67f'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('rich-click', '1.6.1', { + 'checksums': ['f8ff96693ec6e261d1544e9f7d9a5811c5ef5d74c8adb4978430fc0dac16777e'], + }), + ('multiqc', version, { + 'checksums': ['dcbba405f0c9521ed2bbd7e8f7a9200643047311c9619878b81d167300149362'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022b.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022b.eb new file mode 100644 index 00000000000..cae209185bb --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.14-foss-2022b.eb @@ -0,0 +1,85 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.14' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single report. + + MultiQC searches a given directory for analysis logs and compiles an HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('PyYAML', '6.0'), + ('networkx', '3.0'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('lzstring', '1.0.4', { + 'checksums': ['1afa61e598193fbcc211e0899f09a9679e33f9102bccc37fbfda0b7fef4d9ea2'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.1.0', { + 'checksums': ['cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da'], + 'modulename': 'markdown_it', + }), + ('Pygments', '2.14.0', { + 'checksums': ['b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297'], + }), + ('rich', '13.3.1', { + 'checksums': ['125d96d20c92b946b983d0d392b84ff945461e5a06d3867e9f9e575f8697b67f'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('rich-click', '1.6.1', { + 'checksums': ['f8ff96693ec6e261d1544e9f7d9a5811c5ef5d74c8adb4978430fc0dac16777e'], + }), + ('multiqc', version, { + 'checksums': ['dcbba405f0c9521ed2bbd7e8f7a9200643047311c9619878b81d167300149362'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultiQC/MultiQC-1.22.3-foss-2023b.eb b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.22.3-foss-2023b.eb new file mode 100644 index 00000000000..ef34f8747cf --- /dev/null +++ b/easybuild/easyconfigs/m/MultiQC/MultiQC-1.22.3-foss-2023b.eb @@ -0,0 +1,80 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# The Francis Crick Institute +# Elements derived from work by Pablo Escobar +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +# Note that Click in Python 3 requires that you change your locale to unicode before invoking your Python script. +# See: https://click.palletsprojects.com/en/7.x/python3/ + +easyblock = 'PythonBundle' + +name = 'MultiQC' +version = '1.22.3' + +homepage = 'https://multiqc.info' +description = """Aggregate results from bioinformatics analyses across many samples into a single report. + + MultiQC searches a given directory for analysis logs and compiles an HTML report. It's a general + use tool, perfect for summarising the output from numerous bioinformatics tools.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('Kaleido', '0.2.1'), + ('matplotlib', '3.8.2'), + ('plotly.py', '5.18.0'), + ('pydantic', '2.7.4'), + ('tqdm', '4.66.2'), + ('Pillow', '10.2.0'), + ('PyYAML', '6.0.1'), + ('networkx', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('colormath', '3.0.0', { + 'checksums': ['3d4605af344527da0e4f9f504fad7ddbebda35322c566a6c72e28edb1ff31217'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('humanize', '4.9.0', { + 'checksums': ['582a265c931c683a7e9b8ed9559089dea7edcf6cc95be39a3cbc2c5d5ac2bcfa'], + }), + ('pyaml_env', '1.2.1', { + 'checksums': ['6d5dc98c8c82df743a132c196e79963050c9feb05b0a6f25f3ad77771d3d95b0'], + }), + ('spectra', '0.0.11', { + 'checksums': ['8eb362a5187cb63cee13cd01186799c0c791a3ad3bec57b279132e12521762b8'], + }), + ('typeguard', '4.3.0', { + 'checksums': ['92ee6a0aec9135181eae6067ebd617fd9de8d75d714fb548728a4933b1dea651'], + }), + ('multiqc', version, { + 'checksums': ['5f2cc3c417b5ed4ad57bdff02d93bb7f4c6e6677768ddad1cde7b9b1e04b5854'], + }), +] + +sanity_check_paths = { + 'files': ['bin/multiqc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["multiqc --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb b/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb new file mode 100644 index 00000000000..822fe47b647 --- /dev/null +++ b/easybuild/easyconfigs/m/MultilevelEstimators/MultilevelEstimators-0.1.0-GCC-11.2.0-Julia-1.7.2.eb @@ -0,0 +1,98 @@ +easyblock = 'JuliaBundle' + +name = 'MultilevelEstimators' +version = '0.1.0' +local_julia_ver = '1.7.2' +versionsuffix = "-Julia-%s" % local_julia_ver + +homepage = 'https://github.com/PieterjanRobbe/MultilevelEstimators.jl' +description = "The Julia module for Multilevel Monte Carlo methods" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +dependencies = [ + ('Python', '3.9.6'), + ('Julia', local_julia_ver, '-linux-%s' % ARCH, SYSTEM), +] + +exts_list = [ + ('Preferences', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['a87c1fc863fcb6240c3f4327776fa01a1f87e0d2df5a0c1850f789ce24469da2'], + }), + ('JLLWrappers', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['2cb61d4171e8ebc74e36ee20e6e0ba959aa5525a9c2fef5547e0993566018775'], + }), + ('OpenSpecFun_jll', '0.5.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/archive/'], + 'sources': ['OpenSpecFun-v%(version)s.tar.gz'], + 'checksums': ['6d1df617dd0a80fc0de5bc41a092e51f72782dbfd296c64e151707733cb57b6f'], + }), + ('InverseFunctions', '0.1.8', { + 'source_urls': ['https://github.com/JuliaMath/InverseFunctions.jl/archive/'], + 'checksums': ['6b3e72037c2198268bc5247daeb14eaa5cf2b37f41c7c735b3cd2355bad1584b'], + }), + ('DocStringExtensions', '0.9.2', { + 'source_urls': ['https://github.com/JuliaDocs/DocStringExtensions.jl/archive/'], + 'checksums': ['ff7869968381f17b24b3f471a88dd96b7008e8b8d7a14079d4667d87db0037dd'], + }), + ('IrrationalConstants', '0.1.1', { + 'source_urls': ['https://github.com/JuliaMath/IrrationalConstants.jl/archive/'], + 'checksums': ['2eccfb55449d25d363d96ce116c45b39110d1572248e04e136ec4c37fe84ba96'], + }), + ('Compat', '4.3.0', { + 'source_urls': ['https://github.com/JuliaLang/Compat.jl/archive/'], + 'checksums': ['0d792ec0912a8d3ed30329fc44073e964be3cd314671594dd16f8570c51b2c19'], + }), + ('ChainRulesCore', '1.15.6', { + 'source_urls': ['https://github.com/JuliaDiff/ChainRulesCore.jl/archive/'], + 'checksums': ['79e22fc981fa7c44b3efc2f07903f555c5520dc38d0d3d31b6390980c786cb60'], + }), + ('ChangesOfVariables', '0.1.4', { + 'source_urls': ['https://github.com/JuliaMath/ChangesOfVariables.jl/archive/'], + 'checksums': ['2eb2eb59711d53d284a9cc998e9facf3a1720cfde26eb672676cbe944fa9224a'], + }), + ('LogExpFunctions', '0.3.18', { + 'source_urls': ['https://github.com/JuliaStats/LogExpFunctions.jl/archive/'], + 'checksums': ['f169c5512f79746987858dd19d05d6fdd4017f2b817d9cd8831bde3c3e398a82'], + }), + ('SpecialFunctions', '1.8.7', { + 'source_urls': ['https://github.com/JuliaMath/SpecialFunctions.jl/archive/'], + 'checksums': ['3f2ecec0506fe47cfa5e436ac510e2a82d39f74fceaeb422572cf06d90f2096a'], + }), + ('TranscodingStreams', '0.9.9', { + 'source_urls': ['https://github.com/JuliaIO/TranscodingStreams.jl/archive/'], + 'checksums': ['c341df1b582e6289fd5d5bd682111876b01582792687c0812fd093c085b12e68'], + }), + ('Reexport', '1.2.2', { + 'source_urls': ['https://github.com/simonster/Reexport.jl/archive/'], + 'checksums': ['2566f7776aae9697cbf15765fc32187f46dd51200abc953a0266863ad67132b3'], + }), + ('OrderedCollections', '1.4.1', { + 'source_urls': ['https://github.com/JuliaCollections/OrderedCollections.jl/archive/'], + 'checksums': ['ad6d191a2bf6f0c04abaf795fa93b3db6c3f3fb97498b464fcf7297b3a4bf6b6'], + }), + ('MacroTools', '0.5.10', { + 'source_urls': ['https://github.com/FluxML/MacroTools.jl/archive/'], + 'checksums': ['0c61fe20a40346b0d1c248ff57e047b669ae47ad2d971b2ca7b91efdddff71ac'], + }), + ('Requires', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Requires.jl/archive/'], + 'checksums': ['8af4dac29839e796a651b8cb6a325b6f9c7eee5d5620b3e366b64f58325ebeb7'], + }), + ('FileIO', '1.16.0', { + 'source_urls': ['https://github.com/JuliaIO/FileIO.jl/archive/'], + 'checksums': ['c447263eb2fac0bd1c7822b97b64f4274e8eeb52bdd5fdc8dc413342a547759f'], + }), + ('JLD2', '0.4.24', { + 'source_urls': ['https://github.com/JuliaIO/JLD2.jl/archive/'], + 'checksums': ['fdcc4a9af9eaaa9013724deb2649ba00aa987ae5d3753a7af389ab7720bf19a9'], + }), + (name, version, { + 'source_urls': ['https://github.com/PieterjanRobbe/MultilevelEstimators.jl/archive/'], + 'checksums': ['53bd629506cbe2472c9fb061a5a64523478556264e7fc98a3b6503dc1e7ef039'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/MyCC/MyCC-2017-03-01-intel-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/m/MyCC/MyCC-2017-03-01-intel-2019b-Python-2.7.16.eb index 6a07a625057..af248bb974a 100644 --- a/easybuild/easyconfigs/m/MyCC/MyCC-2017-03-01-intel-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/m/MyCC/MyCC-2017-03-01-intel-2019b-Python-2.7.16.eb @@ -27,7 +27,7 @@ dependencies = [ ('matplotlib', '2.2.4', versionsuffix), ('prodigal', '2.6.3'), ('fetchMG', '1.0'), - ('UCLUST', '1.2.22q', '-i86linux64', True), + ('UCLUST', '1.2.22q', '-i86linux64', SYSTEM), ('CD-HIT', '4.8.1'), ('tsne', '0.1.8', versionsuffix), ] diff --git a/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-11.3.0.eb b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-11.3.0.eb new file mode 100644 index 00000000000..25596bcadc4 --- /dev/null +++ b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'm4ri' +version = '20200125' + +homepage = 'https://github.com/malb/m4ri' +description = "M4RI is a library for fast arithmetic with dense matrices over F2." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/malb/m4ri/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['7369adcecb72d4dacfb23fd437a6b59a956f76b26dee07f32558cb915a9d6e9d'] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4ri/m4ri.h', 'lib/libm4ri.a', 'lib/libm4ri.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb new file mode 100644 index 00000000000..77325b93d92 --- /dev/null +++ b/easybuild/easyconfigs/m/m4ri/m4ri-20200125-GCC-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'm4ri' +version = '20200125' + +homepage = 'https://github.com/malb/m4ri' +description = "M4RI is a library for fast arithmetic with dense matrices over F2." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/malb/m4ri/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['7369adcecb72d4dacfb23fd437a6b59a956f76b26dee07f32558cb915a9d6e9d'] + +builddependencies = [('Autotools', '20220317')] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4ri/m4ri.h', 'lib/libm4ri.a', 'lib/libm4ri.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-11.3.0.eb b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-11.3.0.eb new file mode 100644 index 00000000000..4fbe407e8aa --- /dev/null +++ b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'm4rie' +version = '20200125' + +homepage = 'https://github.com/malb/m4rie' +description = "M4RIE is a library for fast arithmetic with dense matrices." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/malb/m4rie/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['bc5c515e6151203b7a483f6ca84a22ec8c0407ea3621d8e11de3c997b5009d69'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [('m4ri', version)] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4rie/m4rie.h'] + ['lib/libm4rie.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb new file mode 100644 index 00000000000..e1fa04ffef0 --- /dev/null +++ b/easybuild/easyconfigs/m/m4rie/m4rie-20200125-GCC-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'm4rie' +version = '20200125' + +homepage = 'https://github.com/malb/m4rie' +description = "M4RIE is a library for fast arithmetic with dense matrices." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/malb/m4rie/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['bc5c515e6151203b7a483f6ca84a22ec8c0407ea3621d8e11de3c997b5009d69'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [('m4ri', version)] + +preconfigopts = "autoreconf --install && " +configopts = "--enable-openmp " + +sanity_check_paths = { + 'files': ['include/m4rie/m4rie.h'] + ['lib/libm4rie.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2019b.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2019b.eb new file mode 100644 index 00000000000..f68ded36ea0 --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2019b.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'maeparser' +version = '1.3.0' + +homepage = 'https://github.com/schrodinger/maeparser' +description = "maeparser is a parser for Schrodinger Maestro files." + +toolchain = {'name': 'gompi', 'version': '2019b'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c'] + +builddependencies = [ + ('CMake', '3.15.3'), +] + +dependencies = [('Boost', '1.71.0')] + +sanity_check_paths = { + 'files': ['lib/libmaeparser.%s' % SHLIB_EXT], + 'dirs': ['include/maeparser', 'lib/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2021a.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2021a.eb new file mode 100644 index 00000000000..8f6fd34c7f3 --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'maeparser' +version = '1.3.0' + +homepage = 'https://github.com/schrodinger/maeparser' +description = "maeparser is a parser for Schrodinger Maestro files." + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [('Boost', '1.76.0')] + +sanity_check_paths = { + 'files': ['lib/libmaeparser.%s' % SHLIB_EXT], + 'dirs': ['include/maeparser', 'lib/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2022a.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2022a.eb new file mode 100644 index 00000000000..8ae3df022e8 --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-gompi-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'maeparser' +version = '1.3.0' + +homepage = 'https://github.com/schrodinger/maeparser' +description = "maeparser is a parser for Schrodinger Maestro files." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [('Boost', '1.79.0')] + +sanity_check_paths = { + 'files': ['lib/libmaeparser.%s' % SHLIB_EXT], + 'dirs': ['include/maeparser', 'lib/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-iimpi-2020a.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-iimpi-2020a.eb new file mode 100644 index 00000000000..c00793c0c3c --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.0-iimpi-2020a.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'maeparser' +version = '1.3.0' + +homepage = 'https://github.com/schrodinger/maeparser' +description = "maeparser is a parser for Schrodinger Maestro files." + +toolchain = {'name': 'iimpi', 'version': '2020a'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa8f9336de1e5d1cabec29a6da04547b1fb040bb32ba511ff30b4a14097c751c'] + +builddependencies = [ + ('CMake', '3.16.4'), +] + +dependencies = [('Boost', '1.72.0')] + +sanity_check_paths = { + 'files': ['lib/libmaeparser.%s' % SHLIB_EXT], + 'dirs': ['include/maeparser', 'lib/cmake'], +} + +moduleclass = 'tools' 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/maeparser/maeparser-1.3.1-gompi-2024a.eb b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.1-gompi-2024a.eb new file mode 100644 index 00000000000..a757e81653a --- /dev/null +++ b/easybuild/easyconfigs/m/maeparser/maeparser-1.3.1-gompi-2024a.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': '2024a'} + +source_urls = ['https://github.com/schrodinger/maeparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a8d80f67d1b9be6e23b9651cb747f4a3200132e7d878a285119c86bf44568e36'] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [('Boost', '1.85.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.3.0-foss-2018a-CUDA-9.1.85.eb b/easybuild/easyconfigs/m/magma/magma-2.3.0-foss-2018a-CUDA-9.1.85.eb index 0791cbd4c8e..36e4ae6c390 100644 --- a/easybuild/easyconfigs/m/magma/magma-2.3.0-foss-2018a-CUDA-9.1.85.eb +++ b/easybuild/easyconfigs/m/magma/magma-2.3.0-foss-2018a-CUDA-9.1.85.eb @@ -20,7 +20,7 @@ checksums = [ '47e734cf30577b563377c946fb7897da2fd53d050f7e4fe83d8bb11b8d157913', # magma-2.3.0-fix-makefile.patch ] -dependencies = [('CUDA', local_cuda_ver, '', True)] +dependencies = [('CUDA', local_cuda_ver, '', SYSTEM)] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/m/magma/magma-2.6.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/m/magma/magma-2.6.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..18427a5c0bf --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,42 @@ +easyblock = "CMakeMake" + +name = 'magma' +version = '2.6.1' +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': '2021a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/magma/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['magma-%(version)s_allow-all-sms.patch'] +checksums = [ + '6cd83808c6e8bc7a44028e05112b3ab4e579bcc73202ed14733f66661127e213', # magma-2.6.1.tar.gz + 'b89285bac007b68e88e3b5ddbb7f94dbc8a9d77590e58c352e477574d8dca738', # magma-2.6.1_allow-all-sms.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.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/magma/magma-2.6.1_allow-all-sms.patch b/easybuild/easyconfigs/m/magma/magma-2.6.1_allow-all-sms.patch new file mode 100644 index 00000000000..5f077c673a6 --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.1_allow-all-sms.patch @@ -0,0 +1,230 @@ +This allows to process any sm_xx passed to GPU_TARGET. Previously some were silently ignored +See https://bitbucket.org/icl/magma/issues/32/list-of-whitelisted-sm_-values-for-cuda-is +and https://bitbucket.org/icl/magma/pull-requests/5 + +Author: Alexander Grund (TU Dresden) +Updated to 2.6.1: micketeer@gmail.com + +--- CMakeLists.txt.orig 2021-07-06 17:02:37.125227748 +0200 ++++ CMakeLists.txt 2021-07-06 18:43:13.400804473 +0200 +@@ -124,14 +124,6 @@ + #message( STATUS " CUDA_CUBLAS_LIBRARIES: ${CUDA_CUBLAS_LIBRARIES}" ) + include_directories( ${CUDA_INCLUDE_DIRS} ) + +- # NVCC options for the different cards +- # sm_xx is binary, compute_xx is PTX for forward compatability +- # MIN_ARCH is lowest requested version +- # NV_SM accumulates sm_xx for all requested versions +- # NV_COMP is compute_xx for highest requested version +- set( NV_SM "" ) +- set( NV_COMP "" ) +- + set(CUDA_SEPARABLE_COMPILATION ON) + + # nvcc >= 6.5 supports -std=c++11, so propagate CXXFLAGS to NVCCFLAGS. +@@ -140,168 +132,44 @@ + ## set( CUDA_PROPAGATE_HOST_FLAGS OFF ) + ##endif() + +- if (GPU_TARGET MATCHES Fermi) +- set( GPU_TARGET "${GPU_TARGET} sm_20" ) +- endif() +- +- if (GPU_TARGET MATCHES Kepler) +- set( GPU_TARGET "${GPU_TARGET} sm_30 sm_35 sm_37" ) +- endif() +- +- if (GPU_TARGET MATCHES Maxwell) +- set( GPU_TARGET "${GPU_TARGET} sm_50" ) +- endif() +- +- if (GPU_TARGET MATCHES Pascal) +- set( GPU_TARGET "${GPU_TARGET} sm_60" ) +- endif() +- +- if (GPU_TARGET MATCHES Volta) +- set( GPU_TARGET "${GPU_TARGET} sm_70" ) +- endif() +- +- if (GPU_TARGET MATCHES Turing) +- set( GPU_TARGET "${GPU_TARGET} sm_75" ) +- endif() +- +- if (GPU_TARGET MATCHES Ampere) +- set( GPU_TARGET "${GPU_TARGET} sm_80" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_20) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 200 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_20,code=sm_20 ) +- set( NV_COMP -gencode arch=compute_20,code=compute_20 ) +- message( STATUS " compile for CUDA arch 2.0 (Fermi)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_30) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_30,code=sm_30 ) +- set( NV_COMP -gencode arch=compute_30,code=compute_30 ) +- message( STATUS " compile for CUDA arch 3.0 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_35) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_35,code=sm_35 ) +- set( NV_COMP -gencode arch=compute_35,code=compute_35 ) +- message( STATUS " compile for CUDA arch 3.5 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_37) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_37,code=sm_37 ) +- set( NV_COMP -gencode arch=compute_37,code=compute_37 ) +- message( STATUS " compile for CUDA arch 3.7 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_50) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 500 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_50,code=sm_50 ) +- set( NV_COMP -gencode arch=compute_50,code=compute_50 ) +- message( STATUS " compile for CUDA arch 5.0 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_52) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 520 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_52,code=sm_52 ) +- set( NV_COMP -gencode arch=compute_52,code=compute_52 ) +- message( STATUS " compile for CUDA arch 5.2 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_53) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 530 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_53,code=sm_53 ) +- set( NV_COMP -gencode arch=compute_53,code=compute_53 ) +- message( STATUS " compile for CUDA arch 5.3 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_60) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 600 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_60,code=sm_60 ) +- set( NV_COMP -gencode arch=compute_60,code=compute_60 ) +- message( STATUS " compile for CUDA arch 6.0 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_61) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 610 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_61,code=sm_61 ) +- set( NV_COMP -gencode arch=compute_61,code=compute_61 ) +- message( STATUS " compile for CUDA arch 6.1 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_62) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 620 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_62,code=sm_62 ) +- set( NV_COMP -gencode arch=compute_62,code=compute_62 ) +- message( STATUS " compile for CUDA arch 6.2 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_70) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 700 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_70,code=sm_70 ) +- set( NV_COMP -gencode arch=compute_70,code=compute_70 ) +- message( STATUS " compile for CUDA arch 7.0 (Volta)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_71) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 710 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_71,code=sm_71 ) +- set( NV_COMP -gencode arch=compute_71,code=compute_71 ) +- message( STATUS " compile for CUDA arch 7.1 (Volta)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_75) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 750 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_75,code=sm_75 ) +- set( NV_COMP -gencode arch=compute_75,code=compute_75 ) +- message( STATUS " compile for CUDA arch 7.5 (Turing)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_80) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 800 ) +- endif() +- set( NV_SM ${NV_SM} -gencode arch=compute_80,code=sm_80 ) +- set( NV_COMP -gencode arch=compute_80,code=compute_80 ) +- message( STATUS " compile for CUDA arch 8.0 (Ampere)" ) +- endif() +- +- if (NOT MIN_ARCH) +- message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere, or valid sm_[0-9][0-9]" ) +- endif() ++ # NVCC options for the different cards ++ # sm_xx is binary, compute_xx is PTX for forward compatability ++ # MIN_SM/MAX_SM is lowest/highest requested version ++ # NV_SM accumulates sm_xx for all requested versions ++ # NV_COMP is compute_xx for highest requested version ++ set( MIN_SM 99 ) ++ set( MAX_SM 0 ) ++ set( NV_SM "" ) ++ set( NV_COMP "" ) + +- set( CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fPIC ${NV_SM} ${NV_COMP} ${FORTRAN_CONVENTION} ) +- #add_definitions( "-DMAGMA_HAVE_CUDA -DMAGMA_CUDA_ARCH_MIN=${MIN_ARCH}" ) +- set(MAGMA_HAVE_CUDA "1") +- set(MAGMA_CUDA_ARCH_MIN "${MIN_ARCH}") ++ string( REGEX MATCHALL "sm_[0-9][0-9]" sms "${GPU_TARGET}" ) ++ list( SORT sms ) # To make output easier to reason about ++ foreach (sm IN LISTS sms) ++ string( REPLACE "sm_" "" sm "${sm}") # Remove sm_ prefix ++ if (sm LESS MIN_SM) ++ set( MIN_SM "${sm}" ) ++ endif() ++ if (sm GREATER MAX_SM) ++ set( MAX_SM "${sm}" ) ++ endif() ++ list( APPEND NV_SM -gencode arch=compute_${sm},code=sm_${sm} ) ++ string( REGEX REPLACE "([0-9])([0-9])" "\\1.\\2" cuda_arch "${sm}" ) ++ message( STATUS " compile for CUDA arch ${cuda_arch}" ) ++ endforeach() ++ ++ if (NOT NV_SM) ++ message( FATAL_ERROR ++ "GPU_TARGET must contain one or more of " ++ "Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere, or valid sm_[0-9][0-9]" ++ "Was: ${GPU_TARGET}" ) ++ endif() ++ ++ set( MIN_ARCH ${MIN_SM}0 ) ++ set( NV_COMP -gencode arch=compute_${MAX_SM},code=compute_${MAX_SM} ) ++ ++ list( APPEND CUDA_NVCC_FLAGS -Xcompiler -fPIC ${NV_SM} ${NV_COMP} ${FORTRAN_CONVENTION} ) ++ add_definitions( -DMAGMA_HAVE_CUDA=1 ) ++ add_definitions( -DMAGMA_CUDA_ARCH_MIN=${MIN_ARCH} ) + message( STATUS "Define -DMAGMA_HAVE_CUDA -DMAGMA_CUDA_ARCH_MIN=${MIN_ARCH}" ) + else() + message( STATUS "Could not find CUDA" ) diff --git a/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..e1b180e8d15 --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,42 @@ +easyblock = "CMakeMake" + +name = 'magma' +version = '2.6.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': '2021b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/magma/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['magma-2.6.1_allow-all-sms.patch'] +checksums = [ + '75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71', # magma-2.6.2.tar.gz + 'b89285bac007b68e88e3b5ddbb7f94dbc8a9d77590e58c352e477574d8dca738', # magma-2.6.1_allow-all-sms.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] +# 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/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb new file mode 100644 index 00000000000..3f167192cb4 --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2021b-CUDA-11.5.2.eb @@ -0,0 +1,42 @@ +easyblock = "CMakeMake" + +name = 'magma' +version = '2.6.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': '2021b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/magma/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['magma-2.6.1_allow-all-sms.patch'] +checksums = [ + '75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71', # magma-2.6.2.tar.gz + 'b89285bac007b68e88e3b5ddbb7f94dbc8a9d77590e58c352e477574d8dca738', # magma-2.6.1_allow-all-sms.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] +# 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/magma/magma-2.6.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..5c0b53f2a56 --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.6.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'magma' +version = '2.6.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': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/'] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version_major_minor)s.1_allow-all-sms.patch'] +checksums = [ + '75b554dab00903e2d10b972c913e50e7f88cbc62f3ae432b5a086c7e4eda0a71', # %(name)s-%(version)s.tar.gz + # %(name)s-%(version_major_minor)s.1_allow-all-sms.patch + 'b89285bac007b68e88e3b5ddbb7f94dbc8a9d77590e58c352e477574d8dca738', +] + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +# 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/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb new file mode 100644 index 00000000000..6ac5dc2ddce --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'magma' +version = '2.7.1' +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': '2022b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d9c8711c047a38cae16efde74bee2eb3333217fd2711e1e9b8606cbbb4ae1a50'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +# make sure both static and shared libs are built +local_common_opts = '-DCMAKE_CUDA_FLAGS=-allow-unsupported-compiler -DGPU_TARGET="%%(cuda_sm_space_sep)s"' +configopts = [ + (local_common_opts + ' -DBUILD_SHARED_LIBS=%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/magma/magma-2.7.1-foss-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..2bb33c46932 --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.1-foss-2022b-CUDA-12.0.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'magma' +version = '2.7.1' +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': '2022b'} +toolchainopts = {'pic': True, 'openmp': True} + +source_urls = ['https://icl.cs.utk.edu/projectsfiles/%(name)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d9c8711c047a38cae16efde74bee2eb3333217fd2711e1e9b8606cbbb4ae1a50'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', 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/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..6f1484e887f --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.2-foss-2023a-CUDA-12.1.1.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': '2023a'} +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.26.3'), +] +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', 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/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/magma/magma-2.7.2_allow-all-sms.patch b/easybuild/easyconfigs/m/magma/magma-2.7.2_allow-all-sms.patch new file mode 100644 index 00000000000..5b78a3f229e --- /dev/null +++ b/easybuild/easyconfigs/m/magma/magma-2.7.2_allow-all-sms.patch @@ -0,0 +1,217 @@ +This allows to process any sm_xx passed to GPU_TARGET. Previously some were silently ignored +See https://bitbucket.org/icl/magma/issues/32/list-of-whitelisted-sm_-values-for-cuda-is +and https://bitbucket.org/icl/magma/pull-requests/5 + +Author: Alexander Grund (TU Dresden) +Updated to 2.6.1: micketeer@gmail.com +Updated to 2.7.2: Alexandre Strube (JSC) + +--- CMakeLists.txt.orig 2023-09-15 09:54:41.000000000 +0000 ++++ CMakeLists.txt 2023-09-15 10:01:07.000000000 +0000 +@@ -140,161 +140,14 @@ + + include_directories( ${CUDAToolkit_INCLUDE_DIRS} ) + +- if (GPU_TARGET MATCHES Fermi) +- set( GPU_TARGET "${GPU_TARGET} sm_20" ) +- endif() +- +- if (GPU_TARGET MATCHES Kepler) +- set( GPU_TARGET "${GPU_TARGET} sm_30 sm_35 sm_37" ) +- endif() +- +- if (GPU_TARGET MATCHES Maxwell) +- set( GPU_TARGET "${GPU_TARGET} sm_50" ) +- endif() +- +- if (GPU_TARGET MATCHES Pascal) +- set( GPU_TARGET "${GPU_TARGET} sm_60" ) +- endif() +- +- if (GPU_TARGET MATCHES Volta) +- set( GPU_TARGET "${GPU_TARGET} sm_70" ) +- endif() +- +- if (GPU_TARGET MATCHES Turing) +- set( GPU_TARGET "${GPU_TARGET} sm_75" ) +- endif() +- +- if (GPU_TARGET MATCHES Ampere) +- set( GPU_TARGET "${GPU_TARGET} sm_80" ) +- endif() +- +- if (GPU_TARGET MATCHES Hopper) +- set( GPU_TARGET "${GPU_TARGET} sm_90" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_20) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 200 ) +- endif() +- list(APPEND __cuda_architectures 20) +- message( STATUS " compile for CUDA arch 2.0 (Fermi)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_30) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- list(APPEND __cuda_architectures 30) +- message( STATUS " compile for CUDA arch 3.0 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_35) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- list(APPEND __cuda_architectures 35) +- message( STATUS " compile for CUDA arch 3.5 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_37) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 300 ) +- endif() +- list(APPEND __cuda_architectures 37) +- message( STATUS " compile for CUDA arch 3.7 (Kepler)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_50) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 500 ) +- endif() +- list(APPEND __cuda_architectures 50) +- message( STATUS " compile for CUDA arch 5.0 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_52) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 520 ) +- endif() +- list(APPEND __cuda_architectures 52) +- message( STATUS " compile for CUDA arch 5.2 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_53) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 530 ) +- endif() +- list(APPEND __cuda_architectures 53) +- message( STATUS " compile for CUDA arch 5.3 (Maxwell)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_60) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 600 ) +- endif() +- list(APPEND __cuda_architectures 60) +- message( STATUS " compile for CUDA arch 6.0 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_61) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 610 ) +- endif() +- list(APPEND __cuda_architectures 61) +- message( STATUS " compile for CUDA arch 6.1 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_62) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 620 ) +- endif() +- list(APPEND __cuda_architectures 62) +- message( STATUS " compile for CUDA arch 6.2 (Pascal)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_70) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 700 ) +- endif() +- list(APPEND __cuda_architectures 70) +- message( STATUS " compile for CUDA arch 7.0 (Volta)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_71) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 710 ) +- endif() +- list(APPEND __cuda_architectures 71) +- message( STATUS " compile for CUDA arch 7.1 (Volta)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_75) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 750 ) +- endif() +- list(APPEND __cuda_architectures 75) +- message( STATUS " compile for CUDA arch 7.5 (Turing)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_80) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 800 ) +- endif() +- list(APPEND __cuda_architectures 80) +- message( STATUS " compile for CUDA arch 8.0 (Ampere)" ) +- endif() +- +- if (GPU_TARGET MATCHES sm_90) +- if (NOT MIN_ARCH) +- set( MIN_ARCH 900 ) +- endif() +- list(APPEND __cuda_architectures 90) +- message( STATUS " compile for CUDA arch 9.0 (Hopper)" ) +- endif() +- +- if (NOT MIN_ARCH) +- message( FATAL_ERROR "GPU_TARGET must contain one or more of Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere, or valid sm_[0-9][0-9]" ) +- endif() ++ # NVCC options for the different cards ++ # sm_xx is binary, compute_xx is PTX for forward compatability ++ # MIN_SM/MAX_SM is lowest/highest requested version ++ # NV_SM accumulates sm_xx for all requested versions ++ # NV_COMP is compute_xx for highest requested version ++ set( MIN_SM 99 ) ++ set( MAX_SM 0 ) ++ set( NV_SM "" ) + + set(CUDA_ARCHITECTURES "${__cuda_architectures}") + +@@ -312,8 +312,34 @@ + ) + endif(COMPILER_SUPPORTS_FPIC) + +- set(MAGMA_HAVE_CUDA "1") +- set(MAGMA_CUDA_ARCH_MIN "${MIN_ARCH}") ++ string( REGEX MATCHALL "sm_[0-9][0-9]" sms "${GPU_TARGET}" ) ++ list( SORT sms ) # To make output easier to reason about ++ foreach (sm IN LISTS sms) ++ string( REPLACE "sm_" "" sm "${sm}") # Remove sm_ prefix ++ if (sm LESS MIN_SM) ++ set( MIN_SM "${sm}" ) ++ endif() ++ if (sm GREATER MAX_SM) ++ set( MAX_SM "${sm}" ) ++ endif() ++ list( APPEND NV_SM -gencode arch=compute_${sm},code=sm_${sm} ) ++ string( REGEX REPLACE "([0-9])([0-9])" "\\1.\\2" cuda_arch "${sm}" ) ++ message( STATUS " compile for CUDA arch ${cuda_arch}" ) ++ endforeach() ++ ++ if (NOT NV_SM) ++ message( FATAL_ERROR ++ "GPU_TARGET must contain one or more of " ++ "Fermi, Kepler, Maxwell, Pascal, Volta, Turing, Ampere, or valid sm_[0-9][0-9]" ++ "Was: ${GPU_TARGET}" ) ++ endif() ++ ++ set( MIN_ARCH ${MIN_SM}0 ) ++ set( NV_COMP -gencode arch=compute_${MAX_SM},code=compute_${MAX_SM} ) ++ ++ list( APPEND CUDA_NVCC_FLAGS -Xcompiler -fPIC ${NV_SM} ${NV_COMP} ${FORTRAN_CONVENTION} ) ++ add_definitions( -DMAGMA_HAVE_CUDA=1 ) ++ add_definitions( -DMAGMA_CUDA_ARCH_MIN=${MIN_ARCH} ) + message( STATUS "Define -DMAGMA_HAVE_CUDA -DMAGMA_CUDA_ARCH_MIN=${MIN_ARCH}" ) + else() + message( STATUS "Could not find CUDA" ) diff --git a/easybuild/easyconfigs/m/mahotas/mahotas-1.4.13-foss-2022a.eb b/easybuild/easyconfigs/m/mahotas/mahotas-1.4.13-foss-2022a.eb new file mode 100644 index 00000000000..26ee86f494b --- /dev/null +++ b/easybuild/easyconfigs/m/mahotas/mahotas-1.4.13-foss-2022a.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'mahotas' +version = '1.4.13' + +homepage = 'https://mahotas.readthedocs.io/' +description = "Mahotas is a computer vision and image processing library for Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a78dfe15045a20a0d9e01538b80f874580cd3525ae3eaa2c83ced51eb455879c'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5d2384a414d --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.3' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19'] + +builddependencies = [('binutils', '2.37')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..508f420c75e --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.3' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19'] + +builddependencies = [('binutils', '2.38')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2d7194c6354 --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.3-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.3' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e05fdde47c5f7ca45cb697e973894ff4f5d79e13b750ed57d7b66d8defc78e19'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a4107e59ee5 --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.4.1' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..283fa0f57f8 --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.4.1' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..48803d5731a --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.4.1' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..040ca1f7716 --- /dev/null +++ b/easybuild/easyconfigs/m/make/make-4.4.1-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'make' +version = '4.4.1' + +homepage = 'https://www.gnu.org/software/make/make.html' +description = "GNU version of make utility" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3'] + +builddependencies = [('binutils', '2.42')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s make gmake"] + +sanity_check_paths = { + 'files': ['bin/gmake', 'bin/make'], + 'dirs': [] +} + +sanity_check_commands = [ + "gmake --help", + "make --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..3295f02cc8a --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.6' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365'] + +builddependencies = [ + ('binutils', '2.35'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.19.2'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c4a684c45da --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.6-GCCcore-10.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.6' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..375e2d9f2a7 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.7' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['17c1adf0284aaee473abfff0e8d3e754770615e1275f2a0043b9d97a00ed5cc9'] + +builddependencies = [ + ('binutils', '2.38'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6451e9a2465 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.7-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.7' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['17c1adf0284aaee473abfff0e8d3e754770615e1275f2a0043b9d97a00ed5cc9'] + +builddependencies = [ + ('binutils', '2.40'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makedepend/makedepend-1.0.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..94178adcc23 --- /dev/null +++ b/easybuild/easyconfigs/m/makedepend/makedepend-1.0.9-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'makedepend' +version = '1.0.9' + +homepage = 'https://linux.die.net/man/1/makedepend' +description = "The makedepend package contains a C-preprocessor like utility to determine build-time dependencies." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [XORG_UTIL_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['bc94ffda6cd4671603a69c39dbe8f96b317707b9185b2aaa3b54b5d134b41884'] + +builddependencies = [ + ('binutils', '2.40'), + ('xproto', '7.0.31'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['bin/makedepend'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b4b0097cc53 --- /dev/null +++ b/easybuild/easyconfigs/m/makefun/makefun-1.15.2-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'makefun' +version = '1.15.2' + +homepage = 'https://github.com/smarie/python-makefun' +description = """Small library to dynamically create python functions. +makefun helps you create functions dynamically, with the signature of your +choice. It was largely inspired by decorator and functools, and created mainly +to cover some of their limitations.""" +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['16f2a2b34d9ee0c2b578c960a1808c974e2822cf79f6e9b9c455aace10882d45'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-6.7-GCCcore-8.3.0-minimal.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.7-GCCcore-8.3.0-minimal.eb new file mode 100644 index 00000000000..fe565c44e7e --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.7-GCCcore-8.3.0-minimal.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '6.7' +versionsuffix = '-minimal' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project. + +This is a minimal build with very basic functionality. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['988403c1542d15ad044600b909997ba3079b10e03224c61188117f3676b02caa'] + +builddependencies = [ + ('binutils', '2.32'), +] +dependencies = [ + ('Perl', '5.30.0', '-minimal'), +] + +configopts = '--disable-perl-xs --disable-perl-api-texi-build --disable-pod-simple-texinfo-tests ' + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e820f74f06d --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '6.8' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'] + +builddependencies = [('binutils', '2.37')] +dependencies = [('Perl', '5.34.0')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0e5c61d4a94 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-6.8-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '6.8' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'] + +builddependencies = [('binutils', '2.38')] +dependencies = [('Perl', '5.34.1')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2b0fda7ea30 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '7.0.3' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['74b420d09d7f528e84f97aa330f0dd69a98a6053e7a4e01767eed115038807bf'] + +builddependencies = [('binutils', '2.39')] +dependencies = [('Perl', '5.36.0')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9b0fa429aa0 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '7.0.3' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['74b420d09d7f528e84f97aa330f0dd69a98a6053e7a4e01767eed115038807bf'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Perl', '5.36.1')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..78b42628b50 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '7.1' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('Perl', '5.38.0')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b2d35c079d4 --- /dev/null +++ b/easybuild/easyconfigs/m/makeinfo/makeinfo-7.1-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'makeinfo' +version = '7.1' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """makeinfo is part of the Texinfo project, the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://ftpmirror.gnu.org/gnu/texinfo'] +sources = ['texinfo-%(version)s.tar.xz'] +checksums = ['deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Perl', '5.38.2')] + +sanity_check_paths = { + 'files': ['bin/makeinfo'], + 'dirs': ['share'], +} + +sanity_check_commands = ["makeinfo --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mallard-ducktype/mallard-ducktype-1.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/mallard-ducktype/mallard-ducktype-1.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..65102800699 --- /dev/null +++ b/easybuild/easyconfigs/m/mallard-ducktype/mallard-ducktype-1.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'mallard-ducktype' +version = '1.0.2' + +homepage = 'https://github.com/projectmallard/mallard-ducktype' +description = """Parser for the lightweight Ducktype syntax for Mallard""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = ['mallard_ducktype-%(version)s-py3-none-any.whl'] +checksums = ['90c2d9e40934c634f3e83e0758285e2803f62c2c5db405702af2f5884e1a2918'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +options = {'modulename': 'mallard.ducktype'} + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb b/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb new file mode 100644 index 00000000000..d6860c0a27e --- /dev/null +++ b/easybuild/easyconfigs/m/mandrake/mandrake-1.2.2-foss-2022a.eb @@ -0,0 +1,52 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'mandrake' +version = '1.2.2' + +homepage = 'https://mandrake.readthedocs.io' +description = """Fast visualisation of the population structure of pathogens +using Stochastic Cluster Embedding.""" + +citing = """Lees JA, Tonkin-Hill G, Yang Z, Corander J. Mandrake: visualizing +microbial population structure by embedding millions of genomes into a +low-dimensional representation. +Philosophical Transactions of The Royal Society B. 2022;377: 20210237. +https://doi.org/10.1098/rstb.2021.0237""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('plotly.py', '5.12.0'), + ('matplotlib', '3.5.2'), + ('HDBSCAN', '0.8.29'), + ('h5py', '3.7.0'), + ('pp-sketchlib', '2.1.1'), + ('pybind11', '2.9.2'), + ('Eigen', '3.4.0'), + ('Boost', '1.79.0'), + ('tqdm', '4.64.0'), + ('FFmpeg', '4.4.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/bacpop/mandrake/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5bbdde903252e2812d4ba484ae474ccc75efbaaf0ace7fe6f37a90e44fe3f0e5'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mannkendall/mannkendall-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/mannkendall/mannkendall-1.1.1-foss-2022a.eb new file mode 100644 index 00000000000..ff16aa1859f --- /dev/null +++ b/easybuild/easyconfigs/m/mannkendall/mannkendall-1.1.1-foss-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'mannkendall' +version = '1.1.1' + +homepage = 'https://github.com/mmhs013/pymannkendall' +description = """A python package for non parametric Mann Kendall family of trend tests.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('statsmodels', '0.13.1'), +] + +exts_list = [ + (name, version, { + 'checksums': ['66993f53b78327b3e556511ccddd5929fbba38f4a8fbcb23754e37729d5d60fa'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/manta/manta-1.6.0-GCC-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/m/manta/manta-1.6.0-GCC-10.2.0-Python-2.7.18.eb index 4587e8e91df..ff224b45ba2 100644 --- a/easybuild/easyconfigs/m/manta/manta-1.6.0-GCC-10.2.0-Python-2.7.18.eb +++ b/easybuild/easyconfigs/m/manta/manta-1.6.0-GCC-10.2.0-Python-2.7.18.eb @@ -62,9 +62,7 @@ sanity_check_paths = { 'dirs': ['libexec'], } -sanity_check_commands = [ - 'python %(installdir)s/bin/runMantaWorkflowDemo.py' -] +sanity_check_commands = ['cd "$(mktemp -d)" && runMantaWorkflowDemo.py'] modextrapaths = { 'PATH': 'libexec', diff --git a/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2019b-Python-2.7.16.eb index 8e5943d0213..2d6c80a9b71 100644 --- a/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2019b-Python-2.7.16.eb @@ -41,7 +41,7 @@ sanity_check_paths = { 'dirs': ['lib/python', 'share'], } -sanity_check_commands = ['runMantaWorkflowDemo.py'] +sanity_check_commands = ['cd "$(mktemp -d)" && runMantaWorkflowDemo.py'] modextrapaths = { 'PATH': 'libexec', diff --git a/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2020a-Python-2.7.18.eb b/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2020a-Python-2.7.18.eb index 0b2b3af8477..7633e9131e0 100644 --- a/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2020a-Python-2.7.18.eb +++ b/easybuild/easyconfigs/m/manta/manta-1.6.0-gompi-2020a-Python-2.7.18.eb @@ -41,7 +41,7 @@ sanity_check_paths = { 'dirs': ['lib/python', 'share'], } -sanity_check_commands = ['runMantaWorkflowDemo.py'] +sanity_check_commands = ['cd "$(mktemp -d)" && runMantaWorkflowDemo.py'] modextrapaths = { 'PATH': 'libexec', diff --git a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2020b-R-4.0.4.eb b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2020b-R-4.0.4.eb index a949307ab3a..e59fa994907 100644 --- a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2020b-R-4.0.4.eb +++ b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2020b-R-4.0.4.eb @@ -15,7 +15,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = [GITHUB_SOURCE] sources = ['%(version)s.tar.gz'] -checksums = ['f86cd2b1fac3e6a1d6ccc97d37ef6cf3b5be07747c3d3894472a8d1da9eb595c'] +patches = ['%(name)s-2.2.1_use-external-seqtk.patch'] +checksums = [ + 'f86cd2b1fac3e6a1d6ccc97d37ef6cf3b5be07747c3d3894472a8d1da9eb595c', # 2.2.1.tar.gz + 'f01a90c29123460f8cb6ba2fe0f42e9ec66b0febff430d4ec4f0ab1197c552e7', # mapDamage-2.2.1_use-external-seqtk.patch +] dependencies = [ ('Python', '3.8.6'), diff --git a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..d0a2f1ddf71 --- /dev/null +++ b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021a-R-4.1.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'mapDamage' +version = '2.2.1' +versionsuffix = '-R-%(rver)s' + +github_account = 'ginolhac' + +homepage = 'https://ginolhac.github.io/mapDamage/' +description = """mapDamage2 is a computational framework written in Python and + R, which tracks and quantifies DNA damage patterns among ancient DNA + sequencing reads generated by Next-Generation Sequencing platforms.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-2.2.1_use-external-seqtk.patch'] +checksums = [ + 'f86cd2b1fac3e6a1d6ccc97d37ef6cf3b5be07747c3d3894472a8d1da9eb595c', # 2.2.1.tar.gz + 'f01a90c29123460f8cb6ba2fe0f42e9ec66b0febff430d4ec4f0ab1197c552e7', # mapDamage-2.2.1_use-external-seqtk.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('seqtk', '1.3'), + ('Pysam', '0.16.0.1'), + ('R', '4.1.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_commands = ["%(name)s --help", "%(name)s --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021b.eb b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021b.eb new file mode 100644 index 00000000000..7b5f877b3cc --- /dev/null +++ b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'mapDamage' +version = '2.2.1' + +github_account = 'ginolhac' + +homepage = 'https://ginolhac.github.io/mapDamage/' +description = """mapDamage2 is a computational framework written in Python and + R, which tracks and quantifies DNA damage patterns among ancient DNA + sequencing reads generated by Next-Generation Sequencing platforms.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-2.2.1_use-external-seqtk.patch'] +checksums = [ + 'f86cd2b1fac3e6a1d6ccc97d37ef6cf3b5be07747c3d3894472a8d1da9eb595c', # 2.2.1.tar.gz + 'f01a90c29123460f8cb6ba2fe0f42e9ec66b0febff430d4ec4f0ab1197c552e7', # mapDamage-2.2.1_use-external-seqtk.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('seqtk', '1.3'), + ('Pysam', '0.17.0'), + ('R', '4.1.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2022a.eb b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2022a.eb new file mode 100644 index 00000000000..500f6c287a4 --- /dev/null +++ b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'mapDamage' +version = '2.2.1' + +github_account = 'ginolhac' + +homepage = 'https://ginolhac.github.io/mapDamage/' +description = """mapDamage2 is a computational framework written in Python and + R, which tracks and quantifies DNA damage patterns among ancient DNA + sequencing reads generated by Next-Generation Sequencing platforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-2.2.1_use-external-seqtk.patch'] +checksums = [ + 'f86cd2b1fac3e6a1d6ccc97d37ef6cf3b5be07747c3d3894472a8d1da9eb595c', # 2.2.1.tar.gz + 'f01a90c29123460f8cb6ba2fe0f42e9ec66b0febff430d4ec4f0ab1197c552e7', # mapDamage-2.2.1_use-external-seqtk.patch +] + +dependencies = [ + ('Python', '3.10.4'), + ('seqtk', '1.3'), + ('Pysam', '0.19.1'), + ('R', '4.2.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_commands = ['mapDamage --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1_use-external-seqtk.patch b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1_use-external-seqtk.patch new file mode 100644 index 00000000000..4c7f848a41e --- /dev/null +++ b/easybuild/easyconfigs/m/mapDamage/mapDamage-2.2.1_use-external-seqtk.patch @@ -0,0 +1,74 @@ +Author: Jasper Grimm (UoY) +Allow mapDamage to use a seqtk from $PATH, instead of looking in its install dir +-------------------------------------------------------------------------------- +diff -Nru mapDamage-2.2.1.orig/bin/mapDamage mapDamage-2.2.1/bin/mapDamage +--- mapDamage-2.2.1.orig/bin/mapDamage 2022-01-11 14:40:48.000000000 +0000 ++++ mapDamage-2.2.1/bin/mapDamage 2022-01-11 14:48:37.000000000 +0000 +@@ -6,6 +6,7 @@ + import time + import sys + import os ++from shutil import which + + """ Copyright (c) 2012 Aurélien Ginolhac, Mikkel Schubert, Hákon Jónsson + and Ludovic Orlando +@@ -149,7 +150,7 @@ + sys.path.insert(0,path_to_mm) + import mapdamage + +- fpath_seqtk = mapdamage.rscript.construct_path("seqtk", folder="seqtk") ++ fpath_seqtk = which("seqtk") #mapdamage.rscript.construct_path("seqtk", folder="seqtk") + if not (os.path.isfile(fpath_seqtk) and os.access(fpath_seqtk, os.X_OK)): + sys.stderr.write("Seqtk executable not accessible; mapDamage has not\n" + "been intalled properly or current user does not\n" +diff -Nru mapDamage-2.2.1.orig/mapdamage/composition.py mapDamage-2.2.1/mapdamage/composition.py +--- mapDamage-2.2.1.orig/mapdamage/composition.py 2022-01-11 14:40:49.000000000 +0000 ++++ mapDamage-2.2.1/mapdamage/composition.py 2022-01-11 14:49:24.000000000 +0000 +@@ -3,6 +3,7 @@ + import csv + import subprocess + import sys ++from shutil import which + + def count_ref_comp(read, chrom, before, after, comp): + """ record basae composition in external genomic regions """ +@@ -33,7 +34,7 @@ + Gets the basecomposition of all the sequences in filename + and returns the value to destination if given. + """ +- path_to_seqtk = mapdamage.rscript.construct_path("seqtk",folder="seqtk") ++ path_to_seqtk = which("seqtk") # mapdamage.rscript.construct_path("seqtk",folder="seqtk") + bases = {"A":0,"C":0,"G":0,"T":0} + alp = ["A","C","G","T"] + try: +diff -Nru mapDamage-2.2.1.orig/setup.py mapDamage-2.2.1/setup.py +--- mapDamage-2.2.1.orig/setup.py 2022-01-11 14:40:48.000000000 +0000 ++++ mapDamage-2.2.1/setup.py 2022-01-11 14:45:14.000000000 +0000 +@@ -45,13 +45,13 @@ + def run(self): + self.record="" + setup_version() +- compile_seqtk() ++ # compile_seqtk() + DistutilsInstall.run(self) + # fixing the permission problem of seqtk +- files = self.get_outputs() +- for fi in files: +- if fi.endswith("seqtk/seqtk"): +- os.chmod(fi,0o755) ++ # files = self.get_outputs() ++ # for fi in files: ++ # if fi.endswith("seqtk/seqtk"): ++ # os.chmod(fi,0o755) + + + +@@ -64,7 +64,7 @@ + author='Aurélien Ginolhac, Mikkel Schubert, Ãkon Jónsson', + author_email='MSchubert@snm.ku.dk, jonsson.hakon@gmail.com', + packages=['mapdamage'], +- package_data={'mapdamage': ['Rscripts/*.R','Rscripts/stats/*.R','tests/*','seqtk/seqtk']}, ++ package_data={'mapdamage': ['Rscripts/*.R','Rscripts/stats/*.R','tests/*']}, + scripts=['bin/mapDamage'], + url='https://github.com/ginolhac/mapDamage', + license='LICENSE.txt', diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bf1c9fec2ed --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = "PythonBundle" + +name = 'matlab-proxy' +version = '0.18.1' + +homepage = 'https://github.com/mathworks/matlab-proxy' +description = "A Python package which enables you to launch MATLAB and access it from a web browser." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('aiohttp', '3.8.5'), + ('Xvfb', '21.1.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('aiohttp-session', '2.12.0', { + 'checksums': ['0ccd11a7c77cb9e5a61f4daacdc9170d561112f9cfaf9e9a2d9867c0587d1950'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_use_lic_from_eb_installed_matlab.patch'], + 'checksums': [ + {'matlab-proxy-0.18.1.tar.gz': 'c6ffe60de2e34b007f94b61c6c2f29b38115e4c9cb8b1e8f45d42a2713e0ac24'}, + {'matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch': + 'a6b994d8b511bd00f86f232c9d9cf230883090b575383a42c06857f26ea08210'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/matlab-proxy-app'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +modloadmsg = 'matlab-proxy requires MATLAB to be loaded separately and BEFORE this module (2020b or later)' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch new file mode 100644 index 00000000000..a37df91943d --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.18.1_use_lic_from_eb_installed_matlab.patch @@ -0,0 +1,23 @@ +Use the license file from EB's MATLAB installation by default +Author: Mikael Öhman micketeer@gmail.com +--- matlab_proxy/settings.py.orig 2024-05-30 16:01:07.778707000 +0200 ++++ matlab_proxy/settings.py 2024-05-30 16:03:48.517654923 +0200 +@@ -357,9 +357,16 @@ + # folder may cause hinderance in this workflow. So specifying -licmode as 'file' + # overrides license_info.xml and enforces MLM_LICENSE_FILE to be the topmost priority + +- # NLM Connection String provided by MLM_LICENSE_FILE environment variable ++ license_file = None ++ if mwi_env.get_env_name_network_license_manager() in os.environ: ++ # NLM Connection String provided by MLM_LICENSE_FILE environment variable ++ license_file = os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ elif 'EBROOTMATLAB' in os.environ: ++ # License file provided by MATLAB installation in EasyBuild ++ license_file = os.environ.get('EBROOTMATLAB') + '/licenses/network.lic' ++ + nlm_conn_str = mwi.validators.validate_mlm_license_file( +- os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ license_file + ) + matlab_lic_mode = ["-licmode", "file"] if nlm_conn_str else "" + # flag to hide MATLAB Window diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0381f59f5ef --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = "PythonBundle" + +name = 'matlab-proxy' +version = '0.5.4' + +homepage = 'https://github.com/mathworks/matlab-proxy' +description = "A Python package which enables you to launch MATLAB and access it from a web browser." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('nodejs', '16.15.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Xvfb', '21.1.3'), + ('aiohttp', '3.8.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': [ + '%(name)s-%(version)s_use_lic_from_eb_installed_matlab.patch', + '%(name)s-%(version)s_fix_xvfb_startup.patch', + ], + 'checksums': [ + {'matlab-proxy-0.5.4.tar.gz': '534531135ae341bd86de6c18ce2694b38614deeedf57a57d4cba1d2079eb662e'}, + {'matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch': + 'f3d30ac6b82667eff81b2b0999bdb9ee8083488fdfa3960c561e3bb046acaa41'}, + {'matlab-proxy-0.5.4_fix_xvfb_startup.patch': + '4f952d6e807830d8d6a138c90bbe74981a082569b6d4e1855c789a0f6ad3e4f6'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/matlab-proxy-app'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +modloadmsg = 'matlab-proxy requires MATLAB to be loaded separately and BEFORE this module (2020b or later)' + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch new file mode 100644 index 00000000000..fd099bb15f9 --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_fix_xvfb_startup.patch @@ -0,0 +1,31 @@ +Fix startup of Xvfb to use EB's Xvfb and don't empty the environment. + +Åke Sandgren, 2022-11-29 +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/settings.py matlab-proxy-0.5.4/matlab_proxy/settings.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/settings.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/settings.py 2022-11-29 17:12:54.429102236 +0100 +@@ -239,8 +246,11 @@ + # Allow child process to use the file descriptor created by parent. + os.set_inheritable(dpipe[1], True) + ++ xvfb = shutil.which("Xvfb") ++ if xvfb is None: ++ xvfb = "Xvfb" + xvfb_cmd = [ +- "Xvfb", ++ xvfb, + "-displayfd", + # Write descriptor + str(dpipe[1]), +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/util/mw.py matlab-proxy-0.5.4/matlab_proxy/util/mw.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/util/mw.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/util/mw.py 2022-11-29 16:49:14.415197842 +0100 +@@ -286,7 +286,7 @@ + # Creates subprocess asynchronously with environment variables defined in matlab_env + # Pipe errors, if any, to the process object instead of stdout. + xvfb = await asyncio.create_subprocess_exec( +- *xvfb_cmd, close_fds=False, env=env, stderr=asyncio.subprocess.PIPE ++ *xvfb_cmd, close_fds=False, stderr=asyncio.subprocess.PIPE + ) + + read_descriptor, write_descriptor = pipe diff --git a/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch new file mode 100644 index 00000000000..1585cca459f --- /dev/null +++ b/easybuild/easyconfigs/m/matlab-proxy/matlab-proxy-0.5.4_use_lic_from_eb_installed_matlab.patch @@ -0,0 +1,28 @@ +Use the license file from EB's MATLAB installation by default +Author: Mikael Öhman micketeer@gmail.com +diff -ru matlab-proxy-0.5.4.orig/matlab_proxy/settings.py matlab-proxy-0.5.4/matlab_proxy/settings.py +--- matlab-proxy-0.5.4.orig/matlab_proxy/settings.py 2022-11-10 08:39:50.000000000 +0100 ++++ matlab-proxy-0.5.4/matlab_proxy/settings.py 2022-11-29 17:12:54.429102236 +0100 +@@ -130,6 +130,13 @@ + return settings + + else: ++ if mwi_env.get_env_name_network_license_manager() in os.environ: ++ license_file = os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ elif 'EBROOTMATLAB' in os.environ: ++ license_file = os.environ.get('EBROOTMATLAB') + '/licenses/network.lic' ++ else: ++ license_file = None ++ + matlab_startup_file = str( + Path(__file__).resolve().parent / "matlab" / "startup.m" + ) +@@ -172,7 +179,7 @@ + "mwapikey": str(uuid.uuid4()), + "matlab_protocol": "https", + "nlm_conn_str": mwi.validators.validate_mlm_license_file( +- os.environ.get(mwi_env.get_env_name_network_license_manager()) ++ license_file + ), + "matlab_config_file": mwi_config_folder / "proxy_app_config.json", + "ws_env": ws_env, diff --git a/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0cbbd4ffc61 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib-inline/matplotlib-inline-0.1.3-GCCcore-10.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'matplotlib-inline' +version = '0.1.3' + +homepage = 'https://github.com/ipython/matplotlib-inline' +description = """Matplotlib Inline Back-end for IPython and Jupyter.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a04bfba22e0d1395479f866853ec1ee28eea1485c1d69a6faf00dc3e24ff34ee'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('IPython', '7.18.1'), # has traitlets +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/matplotlib/kiwisolver-1.4.4-fix_version.patch b/easybuild/easyconfigs/m/matplotlib/kiwisolver-1.4.4-fix_version.patch new file mode 100644 index 00000000000..43d02209e4e --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/kiwisolver-1.4.4-fix_version.patch @@ -0,0 +1,21 @@ +Putting a manually typed version in pyproject.toml, as it wouldnt resolve automatically. +Author: Denis Kristak (Inuits) +diff -ruN kiwisolver-1.4.4_orig/pyproject.toml kiwisolver-1.4.4/pyproject.toml +--- kiwisolver-1.4.4_orig/pyproject.toml 2022-07-15 22:13:35.000000000 +0200 ++++ kiwisolver-1.4.4/pyproject.toml 2023-08-15 19:17:41.906636001 +0200 +@@ -9,6 +9,7 @@ + [project] + name = "kiwisolver" + description = "A fast implementation of the Cassowary constraint solver" ++version = "1.4.4" + readme = "README.rst" + requires-python = ">=3.7" + license = {file = "LICENSE"} +@@ -30,7 +31,6 @@ + "Programming Language :: Python :: Implementation :: PyPy", + ] + dependencies = ["typing_extensions;python_version<'3.8'"] +-dynamic=["version"] + + [project.urls] + homepage = "https://github.com/nucleic/kiwi" diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-2.2.5-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-2.2.5-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..895aa8edc50 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-2.2.5-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '2.2.5' +versionsuffix = '-Python-%(pyver)s' + +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': 'foss', 'version': '2021b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('Tkinter', '%(pyver)s'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.1.0', { + 'checksums': ['53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75'], + }), + (name, version, { + 'prebuildopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'preinstallopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'checksums': ['a3037a840cd9dfdc2df9fee8af8f76ca82bfab173c0f9468193ca7a89a2b60ea'], + }), +] + +postinstallcmds = [ + 'touch %(installdir)s/lib/python%(pyshortver)s/site-packages/mpl_toolkits/__init__.py', +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("TkAgg"); 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.1.1-intelcuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.1.1-intelcuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..aa1e4af72fd --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.1.1-intelcuda-2019b-Python-3.7.4.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.1.1' +versionsuffix = '-Python-%(pyver)s' + +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': 'intelcuda', 'version': '2019b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('libpng', '1.6.37'), + ('freetype', '2.10.1'), + ('Tkinter', '%(pyver)s'), +] + +use_pip = True +check_ldshared = True +sanity_pip_check = True + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.1.0', { + 'checksums': ['53eaed412477c836e1b9522c19858a8557d6e595077830146182225613b11a75'], + }), + (name, version, { + 'prebuildopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'preinstallopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'checksums': ['1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93'], + }), +] + +sanity_check_commands = [ + """python -c 'import matplotlib; matplotlib.use("TkAgg"); 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.4.2-foss-2021a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-foss-2021a.eb index 6f49ab3c3f6..0687beb7aad 100644 --- a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-foss-2021a.eb +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-foss-2021a.eb @@ -12,6 +12,7 @@ toolchain = {'name': 'foss', 'version': '2021a'} builddependencies = [ ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') ] dependencies = [ @@ -21,11 +22,18 @@ dependencies = [ ('freetype', '2.10.4'), ('Tkinter', '%(pyver)s'), ('Pillow', '8.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' setup.cfg.template >setup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + exts_list = [ ('Cycler', '0.10.0', { 'modulename': 'cycler', @@ -38,8 +46,7 @@ exts_list = [ 'checksums': ['950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248'], }), (name, version, { - 'prebuildopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", - 'preinstallopts': "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && ", + 'preinstallopts': _fix_setup + _include_path, 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], 'checksums': ['d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219'], }), diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb new file mode 100644 index 00000000000..ca47ecae358 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-gomkl-2021a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.4.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': 'gomkl', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('libpng', '1.6.37'), + ('freetype', '2.10.4'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.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' setup.cfg.template >setup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219'], + }), +] + +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.4.2-intel-2021a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-intel-2021a.eb new file mode 100644 index 00000000000..9ad30aad1b0 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.2-intel-2021a.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.4.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': 'intel', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('libpng', '1.6.37'), + ('freetype', '2.10.4'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.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' setup.cfg.template >setup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.1', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['d8d994cefdff9aaba45166eb3de4f5211adb4accac85cbf97137e98f26ea0219'], + }), +] + +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.4.3-foss-2021b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.3-foss-2021b.eb new file mode 100644 index 00000000000..735ad398a7d --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.3-foss-2021b.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.4.3' + +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': 'foss', 'version': '2021b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.3.2'), + ('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' setup.cfg.template >setup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.3.2', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318'], + }), +] + +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.4.3-intel-2021b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.3-intel-2021b.eb new file mode 100644 index 00000000000..2561f744e68 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.4.3-intel-2021b.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.4.3' + +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': 'intel', 'version': '2021b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('cppy', '1.1.0') +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.3.2'), + ('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' setup.cfg.template >setup.cfg && " + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.3.2', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318'], + }), +] + +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.5.1-foss-2020b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-foss-2020b.eb new file mode 100644 index 00000000000..7069e0d1495 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-foss-2020b.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.1' + +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': 'foss', 'version': '2020b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('libpng', '1.6.37'), + ('freetype', '2.10.3'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.0.1'), + ('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} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.0', { + 'checksums': ['14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9'], + }), + ('fontTools', '4.29.1', { + 'modulename': 'fontTools', + 'source_tmpl': 'fonttools-%(version)s.zip', + 'checksums': ['2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'checksums': ['b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c'], + }), +] + +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.5.1-intel-2020b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-intel-2020b.eb new file mode 100644 index 00000000000..0c81a702dd4 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.1-intel-2020b.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.1' + +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': 'intel', 'version': '2020b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('libpng', '1.6.37'), + ('freetype', '2.10.3'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '8.0.1'), + ('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} && " + +exts_list = [ + ('Cycler', '0.10.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'checksums': ['cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8'], + }), + ('kiwisolver', '1.3.0', { + 'checksums': ['14f81644e1f3bf01fbc8b9c990a7889e9bb4400c4d0ff9155aa0bdd19cce24a9'], + }), + ('fontTools', '4.29.1', { + 'modulename': 'fontTools', + 'source_tmpl': 'fonttools-%(version)s.zip', + 'checksums': ['2b18a172120e32128a80efee04cff487d5d140fe7d817deb648b2eee023a40e4'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'checksums': ['b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c'], + }), +] + +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.5.2-foss-2021b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2021b.eb new file mode 100644 index 00000000000..701b39665ad --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2021b.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.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': 'foss', 'version': '2021b'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('libjpeg-turbo', '2.0.6'), # for Pillow ext. + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), # for Pillow ext, + ('freetype', '2.11.0'), + ('Tkinter', '%(pyver)s'), + # ('Pillow', '9.1.1'), # as extension + ('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} && " + +exts_list = [ + ('fonttools', '4.34.0', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['73d3fab85790f076d56db431bfdf9ce51b566816ff74d51e050e11ab1ffa8f8b'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('setuptools', '62.1.0', { + 'checksums': ['47c7b0c0f8fc10eec4cf1e71c6fdadf8decaa74ffa087e68cd1c20db7ad6a592'], + }), + ('cppy', '1.2.1', { + 'checksums': ['83b43bf17b1085ac15c5debdb42154f138b928234b21447358981f69d0d6fe1b'], + }), + ('kiwisolver', '1.4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86'], + }), + ('Pillow', '9.1.1', { + 'modulename': 'PIL', + 'checksums': ['7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2'], + }), +] + +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.5.2-foss-2022a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2022a.eb new file mode 100644 index 00000000000..3a1a017fd44 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.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': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('cppy', '1.2.1') +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '9.1.1'), + ('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} && " + +exts_list = [ + ('fonttools', '4.34.0', { + 'modulename': 'fontTools', + 'source_tmpl': SOURCE_ZIP, + 'checksums': ['73d3fab85790f076d56db431bfdf9ce51b566816ff74d51e050e11ab1ffa8f8b'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2'], + }), +] + +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.5.2-intel-2022a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-intel-2022a.eb new file mode 100644 index 00000000000..34b9ef271bb --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.5.2-intel-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.5.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': 'intel', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('cppy', '1.2.1') +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '9.1.1'), + ('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} && " + +exts_list = [ + ('fonttools', '4.34.0', { + 'modulename': 'fontTools', + 'source_tmpl': SOURCE_ZIP, + 'checksums': ['73d3fab85790f076d56db431bfdf9ce51b566816ff74d51e050e11ab1ffa8f8b'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.4.3', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['ab8a15c2750ae8d53e31f77a94f846d0a00772240f1c12817411fa2344351f86'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['48cf850ce14fa18067f2d9e0d646763681948487a8080ec0af2686468b4607a2'], + }), +] + +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.7.0-gfbf-2022b.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.0-gfbf-2022b.eb new file mode 100644 index 00000000000..a6b61895bce --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.0-gfbf-2022b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.7.0' + +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': '2022b'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('cppy', '1.2.1'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('Tkinter', '%(pyver)s'), + ('Pillow', '9.4.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} && " + +exts_list = [ + ('fonttools', '4.38.0', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1'], + }), + ('Cycler', '0.11.0', { + 'modulename': 'cycler', + 'source_tmpl': 'cycler-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/C/Cycler'], + 'checksums': ['9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f'], + }), + ('kiwisolver', '1.4.4', { + 'source_urls': ['https://pypi.python.org/packages/source/k/kiwisolver'], + 'checksums': ['d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955'], + }), + ('contourpy', '1.0.7', { + 'checksums': ['d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e'], + }), + (name, version, { + 'preinstallopts': _fix_setup + _include_path, + 'source_urls': ['https://pypi.python.org/packages/source/m/matplotlib'], + 'checksums': ['8f6efd313430d7ef70a38a3276281cb2e8646b3a22b3b21eb227da20e15e6813'], + }), +] + +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.7.2-fix_setup.patch b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-fix_setup.patch new file mode 100644 index 00000000000..5d8d2900803 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-fix_setup.patch @@ -0,0 +1,22 @@ +Fixing version (autoresolve fails) and making pyparsing version compatible. +Author: Denis Kristak (Inuits) +diff -ruN matplotlib-3.7.2_orig/setup.py matplotlib-3.7.2/setup.py +--- matplotlib-3.7.2_orig/setup.py 2023-07-05 10:10:26.000000000 +0200 ++++ matplotlib-3.7.2/setup.py 2023-08-15 17:13:13.665147049 +0200 +@@ -270,6 +270,7 @@ + setup( # Finally, pass this all along to setuptools to do the heavy lifting. + name="matplotlib", + description="Python plotting package", ++ version="3.7.2", + author="John D. Hunter, Michael Droettboom", + author_email="matplotlib-users@python.org", + url="https://matplotlib.org", +@@ -325,7 +326,7 @@ + "numpy>=1.20", + "packaging>=20.0", + "pillow>=6.2.0", +- "pyparsing>=2.3.1,<3.1", ++ "pyparsing>=2.3.1,<=3.1", + "python-dateutil>=2.7", + ] + ( + # Installing from a git checkout that is not producing a wheel. \ No newline at end of file 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 new file mode 100644 index 00000000000..c15e4a6a5fe --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.7.2-gfbf-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': 'gfbf', '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.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/matplotlib/matplotlib-3.9.2-contourpy-fix-pybind-module.patch b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.9.2-contourpy-fix-pybind-module.patch new file mode 100644 index 00000000000..9a34eb1cdae --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.9.2-contourpy-fix-pybind-module.patch @@ -0,0 +1,14 @@ +Fixes: error: macro "PYBIND11_MODULE" passed 3 arguments, but takes just 2 +Author: Anke Kreuzer (JSC) +diff -ruN src/wrap.cpp.orig src/wrap.cpp +--- src/wrap.cpp.orig 2024-09-02 21:07:13.893013182 +0200 ++++ src/wrap.cpp 2024-09-02 21:07:39.973005828 +0200 +@@ -18,7 +18,7 @@ + static contourpy::LineType mpl20xx_line_type = contourpy::LineType::SeparateCode; + static contourpy::FillType mpl20xx_fill_type = contourpy::FillType::OuterCode; + +-PYBIND11_MODULE(_contourpy, m, py::mod_gil_not_used()) { ++PYBIND11_MODULE(_contourpy, m) { + m.doc() = + "C++11 extension module wrapped using `pybind11`_.\n\n" + "It should not be necessary to access classes and functions in this extension module " diff --git a/easybuild/easyconfigs/m/matplotlib/matplotlib-3.9.2-gfbf-2024a.eb b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.9.2-gfbf-2024a.eb new file mode 100644 index 00000000000..33ddf00eb93 --- /dev/null +++ b/easybuild/easyconfigs/m/matplotlib/matplotlib-3.9.2-gfbf-2024a.eb @@ -0,0 +1,79 @@ +easyblock = 'PythonBundle' + +name = 'matplotlib' +version = '3.9.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': '2024a'} + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('cppy', '1.2.1'), + ('meson-python', '0.16.0'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('SciPy-bundle', '2024.05'), + ('libpng', '1.6.43'), + ('freetype', '2.13.2'), + ('Tkinter', '%(pyver)s'), + ('Pillow-SIMD', '10.4.0'), + ('Qhull', '2020.2'), +] + +use_pip = True +sanity_pip_check = True + +_include_path = "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +local_configopts = "--config-settings=setup-args='-Dsystem-qhull=true' && " +local_configopts += " --config-settings=setup-args='-Dsystem-freetype=true' && " +local_configopts += "export CPLUS_INCLUDE_PATH=$EBROOTFREETYPE/include/freetype2:${CPLUS_INCLUDE_PATH} && " + +exts_list = [ + ('fonttools', '4.53.1', { + 'modulename': 'fontTools', + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'], + }), + ('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.3.0', { + 'patches': ['matplotlib-3.9.2-contourpy-fix-pybind-module.patch'], + 'checksums': [ + {'contourpy-1.3.0.tar.gz': '7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4'}, + {'matplotlib-3.9.2-contourpy-fix-pybind-module.patch': + 'a998438a1048524a550bf3bb607197658b13dce56e8e54169e24ce7c3c022a8f'}, + ], + }), + (name, version, { + 'configopts': "%(local_configopts)s", + 'checksums': ['96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92'], + }), +] + +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.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..83d2b282cc5 --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,603 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.1.0' + +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', '1.65.0'), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.7.6'), + ('aho-corasick', '0.7.20'), + ('anyhow', '1.0.71'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.2'), + ('bitflags', '1.3.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.5.0'), + ('bumpalo', '3.13.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.4'), + ('cargo-config2', '0.1.7'), + ('cargo-options', '0.6.0'), + ('cargo-platform', '0.1.2'), + ('cargo-xwin', '0.14.3'), + ('cargo-zigbuild', '0.16.10'), + ('cargo_metadata', '0.15.4'), + ('cbindgen', '0.24.5'), + ('cc', '1.0.79'), + ('cfb', '0.7.3'), + ('cfg-expr', '0.15.2'), + ('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'), + ('concolor', '0.0.11'), + ('concolor-query', '0.1.0'), + ('configparser', '3.0.2'), + ('console', '0.15.5'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.7'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.8'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.14'), + ('crossbeam-utils', '0.8.15'), + ('crypto-common', '0.1.6'), + ('ctor', '0.1.26'), + ('data-encoding', '2.4.0'), + ('dialoguer', '0.10.4'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dunce', '1.0.4'), + ('either', '1.8.1'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.32'), + ('errno', '0.3.1'), + ('errno-dragonfly', '0.1.2'), + ('fastrand', '1.9.0'), + ('fat-macho', '0.4.6'), + ('filetime', '0.2.21'), + ('flate2', '1.0.26'), + ('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.6.1'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.2.6'), + ('hermit-abi', '0.3.1'), + ('home', '0.5.4'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.4.0'), + ('ignore', '0.4.20'), + ('indexmap', '1.9.3'), + ('indicatif', '0.17.5'), + ('indoc', '2.0.1'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.11'), + ('is-terminal', '0.4.7'), + ('itertools', '0.10.5'), + ('itoa', '1.0.6'), + ('js-sys', '0.3.63'), + ('keyring', '2.0.3'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.2'), + ('libc', '0.2.146'), + ('linux-keyutils', '0.2.3'), + ('linux-raw-sys', '0.3.8'), + ('lock_api', '0.4.9'), + ('log', '0.4.18'), + ('lzxd', '0.1.4'), + ('mailparse', '0.13.8'), + ('matchers', '0.1.0'), + ('memchr', '2.5.0'), + ('memoffset', '0.8.0'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '0.34.0'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.5.1'), + ('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.15.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.18.0'), + ('openssl', '0.10.54'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-src', '111.26.0+1.1.1u'), + ('openssl-sys', '0.9.88'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.4'), + ('output_vt100', '0.1.3'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.6'), + ('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.9'), + ('pkg-config', '0.3.27'), + ('plain', '0.2.3'), + ('platform-info', '2.0.1'), + ('portable-atomic', '1.3.3'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.3.0'), + ('proc-macro2', '1.0.60'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.6.1'), + ('python-pkginfo', '0.5.5'), + ('quote', '1.0.28'), + ('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.16.20'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.19'), + ('rustls', '0.20.8'), + ('rustls-pemfile', '1.0.2'), + ('rustversion', '1.0.12'), + ('ryu', '1.0.13'), + ('same-file', '1.0.6'), + ('schannel', '0.1.21'), + ('scopeguard', '1.1.0'), + ('scroll', '0.11.0'), + ('scroll_derive', '0.11.0'), + ('sct', '0.7.0'), + ('security-framework', '2.9.1'), + ('security-framework-sys', '2.9.0'), + ('semver', '1.0.17'), + ('serde', '1.0.164'), + ('serde_derive', '1.0.164'), + ('serde_json', '1.0.96'), + ('serde_spanned', '0.6.2'), + ('sha2', '0.10.6'), + ('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.10.0'), + ('smawk', '0.3.1'), + ('snapbox', '0.4.4'), + ('snapbox-macros', '0.3.4'), + ('socks', '0.3.4'), + ('spin', '0.5.2'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.18'), + ('tar', '0.4.38'), + ('target-lexicon', '0.12.7'), + ('tempfile', '3.6.0'), + ('termcolor', '1.2.0'), + ('terminal_size', '0.2.6'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.40'), + ('thiserror-impl', '1.0.40'), + ('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.24'), + ('tracing-core', '0.1.31'), + ('tracing-log', '0.1.3'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.17'), + ('trycmd', '0.14.11'), + ('twox-hash', '1.6.3'), + ('typenum', '1.16.0'), + ('unicase', '2.6.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.9'), + ('unicode-linebreak', '0.1.4'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.10'), + ('untrusted', '0.7.1'), + ('ureq', '2.6.2'), + ('url', '2.4.0'), + ('uuid', '1.3.3'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '4.1.0'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.3.3'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.86'), + ('wasm-bindgen-backend', '0.2.86'), + ('wasm-bindgen-macro', '0.2.86'), + ('wasm-bindgen-macro-support', '0.2.86'), + ('wasm-bindgen-shared', '0.2.86'), + ('web-sys', '0.3.63'), + ('webpki', '0.22.0'), + ('webpki-roots', '0.22.6'), + ('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.42.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.48.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.0'), + ('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.42.2'), + ('windows_x86_64_msvc', '0.48.0'), + ('winnow', '0.4.6'), + ('xattr', '0.2.3'), + ('xwin', '0.2.12'), + ('yansi', '0.5.1'), + ('zeroize', '1.6.0'), + ('zip', '0.6.6'), +] + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.1.0.tar.gz': '4650aeaa8debd004b55aae7afb75248cbd4d61cd7da2dcf4ead8b22b58cecae0'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'anyhow-1.0.71.tar.gz': '9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8'}, + {'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.5.0.tar.gz': 'a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5'}, + {'bumpalo-3.13.0.tar.gz': 'a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1'}, + {'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.4.tar.gz': 'c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2'}, + {'cargo-config2-0.1.7.tar.gz': '7ee1e7a7c5bc8f3389f125fb3da214c86d8e21c2b7259923079e0142ac47ffe4'}, + {'cargo-options-0.6.0.tar.gz': '9b8e8daa6b2b84aa7cccd57317d9a9b36d969d75bb95923471f4eabbd36f2955'}, + {'cargo-platform-0.1.2.tar.gz': 'cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27'}, + {'cargo-xwin-0.14.3.tar.gz': '83f8f065d99c285700e2ea8a10cb7971f59a48c8ec058d2ec2f71ab3f8d692df'}, + {'cargo-zigbuild-0.16.10.tar.gz': '065d664a006cb0ede5f2ea22a40e71209c68bdd19a5d6a93d546acb1051a703f'}, + {'cargo_metadata-0.15.4.tar.gz': 'eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a'}, + {'cbindgen-0.24.5.tar.gz': '4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfb-0.7.3.tar.gz': 'd38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f'}, + {'cfg-expr-0.15.2.tar.gz': 'e70d3ad08698a0568b0562f22710fe6bfc1f4a61a367c77d0398c562eadd453a'}, + {'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'}, + {'concolor-0.0.11.tar.gz': '318d6c16e73b3a900eb212ad6a82fc7d298c5ab8184c7a9998646455bc474a16'}, + {'concolor-query-0.1.0.tar.gz': '82a90734b3d5dcf656e7624cca6bce9c3a90ee11f900e80141a7427ccfb3d317'}, + {'configparser-3.0.2.tar.gz': '5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a'}, + {'console-0.15.5.tar.gz': 'c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60'}, + {'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.7.tar.gz': '3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58'}, + {'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.14.tar.gz': '46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695'}, + {'crossbeam-utils-0.8.15.tar.gz': '3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'ctor-0.1.26.tar.gz': '6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096'}, + {'data-encoding-2.4.0.tar.gz': 'c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308'}, + {'dialoguer-0.10.4.tar.gz': '59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87'}, + {'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'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.32.tar.gz': '071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394'}, + {'errno-0.3.1.tar.gz': '4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'fat-macho-0.4.6.tar.gz': '67f07131a2b944c2b42b6a58104600ef049c11df5454478d2b44ff5dfe58d149'}, + {'filetime-0.2.21.tar.gz': '5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153'}, + {'flate2-1.0.26.tar.gz': '3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743'}, + {'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.6.1.tar.gz': '0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.2.6.tar.gz': 'ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7'}, + {'hermit-abi-0.3.1.tar.gz': 'fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286'}, + {'home-0.5.4.tar.gz': '747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408'}, + {'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.5.tar.gz': '8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057'}, + {'indoc-2.0.1.tar.gz': '9f2cb48b81b1dc9f39676bf99f5499babfec7cd8fe14307f7b3d747208fb5690'}, + {'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.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.6.tar.gz': '453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6'}, + {'js-sys-0.3.63.tar.gz': '2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790'}, + {'keyring-2.0.3.tar.gz': 'e319fe0cb5b29a55cdb228df3f651b6c8cdc5b19520f3e62c8f111dc2582026c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.2.tar.gz': '7580a02d700ecc9e06c72b7aace6e74427a56a69310f18fdd420a5fac3832969'}, + {'libc-0.2.146.tar.gz': 'f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b'}, + {'linux-keyutils-0.2.3.tar.gz': '3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b'}, + {'linux-raw-sys-0.3.8.tar.gz': 'ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'log-0.4.18.tar.gz': '518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.13.8.tar.gz': '8cae768a50835557749599277fc59f7c728118724eb34185e8feb633ef266a32'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-0.34.0.tar.gz': '75aa91cba87dcad6af3e53bc7adb9c99755eba2d49b6c5f10dbcc79d4727c1bd'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.5.1.tar.gz': 'eaa7bfcd0ffc3b4dc4a555e5ada4d302b4b6b5ce8d6bc07a6ea703ea63aff149'}, + {'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.15.0.tar.gz': '0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openssl-0.10.54.tar.gz': '69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-src-111.26.0+1.1.1u.tar.gz': 'efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37'}, + {'openssl-sys-0.9.88.tar.gz': 'c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'output_vt100-0.1.3.tar.gz': '628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.6.tar.gz': 'ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf'}, + {'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.9.tar.gz': 'e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.1.tar.gz': '827dc4f7a81331d48c8abf11b5ac18673b390d33e9632327e286d940289aefab'}, + {'portable-atomic-1.3.3.tar.gz': '767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.3.0.tar.gz': 'a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755'}, + {'proc-macro2-1.0.60.tar.gz': 'dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.6.1.tar.gz': 'ee79feaa9d31e1c417e34219e610b67db4e786ce9b49d77dda549640abb9dc5f'}, + {'python-pkginfo-0.5.5.tar.gz': '0b8cf2d8981a1c967eebacac69c68a54d9786c1b84b813841d0aab2994705608'}, + {'quote-1.0.28.tar.gz': '1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488'}, + {'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.16.20.tar.gz': '3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.19.tar.gz': 'acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d'}, + {'rustls-0.20.8.tar.gz': 'fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f'}, + {'rustls-pemfile-1.0.2.tar.gz': 'd194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b'}, + {'rustversion-1.0.12.tar.gz': '4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06'}, + {'ryu-1.0.13.tar.gz': 'f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.21.tar.gz': '713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'scroll-0.11.0.tar.gz': '04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da'}, + {'scroll_derive-0.11.0.tar.gz': 'bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e'}, + {'sct-0.7.0.tar.gz': 'd53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4'}, + {'security-framework-2.9.1.tar.gz': '1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8'}, + {'security-framework-sys-2.9.0.tar.gz': 'f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7'}, + {'semver-1.0.17.tar.gz': 'bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed'}, + {'serde-1.0.164.tar.gz': '9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d'}, + {'serde_derive-1.0.164.tar.gz': 'd9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68'}, + {'serde_json-1.0.96.tar.gz': '057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1'}, + {'serde_spanned-0.6.2.tar.gz': '93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d'}, + {'sha2-0.10.6.tar.gz': '82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0'}, + {'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.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'smawk-0.3.1.tar.gz': 'f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043'}, + {'snapbox-0.4.4.tar.gz': '34eced5a65e76d5a00047986a83c65f80dc666faa27b5138f331659e2ca6bcf5'}, + {'snapbox-macros-0.3.4.tar.gz': 'eaaf09df9f0eeae82be96290918520214530e738a7fe5a351b0f24cf77c0ca31'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'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.18.tar.gz': '32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e'}, + {'tar-0.4.38.tar.gz': '4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6'}, + {'target-lexicon-0.12.7.tar.gz': 'fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5'}, + {'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.40.tar.gz': '978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac'}, + {'thiserror-impl-1.0.40.tar.gz': 'f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f'}, + {'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.24.tar.gz': '0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74'}, + {'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.11.tar.gz': '522dcafb4bf113bcf83e4f47a0499ea1f6798877439e6a0e96cf087a2abe97dc'}, + {'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.9.tar.gz': 'b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0'}, + {'unicode-linebreak-0.1.4.tar.gz': 'c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'untrusted-0.7.1.tar.gz': 'a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a'}, + {'ureq-2.6.2.tar.gz': '338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d'}, + {'url-2.4.0.tar.gz': '50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb'}, + {'uuid-1.3.3.tar.gz': '345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-4.1.0.tar.gz': 'ee97e1d97bd593fb513912a07691b742361b3dd64ad56f2c694ea2dbfe0665d3'}, + {'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'}, + {'wasm-bindgen-0.2.86.tar.gz': '5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73'}, + {'wasm-bindgen-backend-0.2.86.tar.gz': '19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb'}, + {'wasm-bindgen-macro-0.2.86.tar.gz': '14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258'}, + {'wasm-bindgen-macro-support-0.2.86.tar.gz': 'e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8'}, + {'wasm-bindgen-shared-0.2.86.tar.gz': 'ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93'}, + {'web-sys-0.3.63.tar.gz': '3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2'}, + {'webpki-0.22.0.tar.gz': 'f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd'}, + {'webpki-roots-0.22.6.tar.gz': 'b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87'}, + {'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.42.0.tar.gz': '5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'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.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.0.tar.gz': 'b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.0.tar.gz': '622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.0.tar.gz': '4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00'}, + {'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.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.0.tar.gz': '1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a'}, + {'winnow-0.4.6.tar.gz': '61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699'}, + {'xattr-0.2.3.tar.gz': '6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc'}, + {'xwin-0.2.12.tar.gz': '1f5f72397389fd26dd36b01f23e19c0608db8e764f7bb65fdc5b1e7e2aa02550'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zeroize-1.6.0.tar.gz': '2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9'}, + {'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.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..81ebf2ccc9a --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,605 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.1.0' + +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'} + +sources = [SOURCE_TAR_GZ] +checksums = [ + {'maturin-1.1.0.tar.gz': '4650aeaa8debd004b55aae7afb75248cbd4d61cd7da2dcf4ead8b22b58cecae0'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'anyhow-1.0.71.tar.gz': '9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8'}, + {'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.5.0.tar.gz': 'a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5'}, + {'bumpalo-3.13.0.tar.gz': 'a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1'}, + {'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.4.tar.gz': 'c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2'}, + {'cargo-config2-0.1.7.tar.gz': '7ee1e7a7c5bc8f3389f125fb3da214c86d8e21c2b7259923079e0142ac47ffe4'}, + {'cargo-options-0.6.0.tar.gz': '9b8e8daa6b2b84aa7cccd57317d9a9b36d969d75bb95923471f4eabbd36f2955'}, + {'cargo-platform-0.1.2.tar.gz': 'cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27'}, + {'cargo-xwin-0.14.3.tar.gz': '83f8f065d99c285700e2ea8a10cb7971f59a48c8ec058d2ec2f71ab3f8d692df'}, + {'cargo-zigbuild-0.16.10.tar.gz': '065d664a006cb0ede5f2ea22a40e71209c68bdd19a5d6a93d546acb1051a703f'}, + {'cargo_metadata-0.15.4.tar.gz': 'eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a'}, + {'cbindgen-0.24.5.tar.gz': '4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d'}, + {'cc-1.0.79.tar.gz': '50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f'}, + {'cfb-0.7.3.tar.gz': 'd38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f'}, + {'cfg-expr-0.15.2.tar.gz': 'e70d3ad08698a0568b0562f22710fe6bfc1f4a61a367c77d0398c562eadd453a'}, + {'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'}, + {'concolor-0.0.11.tar.gz': '318d6c16e73b3a900eb212ad6a82fc7d298c5ab8184c7a9998646455bc474a16'}, + {'concolor-query-0.1.0.tar.gz': '82a90734b3d5dcf656e7624cca6bce9c3a90ee11f900e80141a7427ccfb3d317'}, + {'configparser-3.0.2.tar.gz': '5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a'}, + {'console-0.15.5.tar.gz': 'c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60'}, + {'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.7.tar.gz': '3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58'}, + {'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.14.tar.gz': '46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695'}, + {'crossbeam-utils-0.8.15.tar.gz': '3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'ctor-0.1.26.tar.gz': '6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096'}, + {'data-encoding-2.4.0.tar.gz': 'c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308'}, + {'dialoguer-0.10.4.tar.gz': '59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87'}, + {'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'}, + {'dunce-1.0.4.tar.gz': '56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b'}, + {'either-1.8.1.tar.gz': '7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.32.tar.gz': '071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394'}, + {'errno-0.3.1.tar.gz': '4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'fastrand-1.9.0.tar.gz': 'e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be'}, + {'fat-macho-0.4.6.tar.gz': '67f07131a2b944c2b42b6a58104600ef049c11df5454478d2b44ff5dfe58d149'}, + {'filetime-0.2.21.tar.gz': '5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153'}, + {'flate2-1.0.26.tar.gz': '3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743'}, + {'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.6.1.tar.gz': '0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.2.6.tar.gz': 'ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7'}, + {'hermit-abi-0.3.1.tar.gz': 'fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286'}, + {'home-0.5.4.tar.gz': '747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408'}, + {'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.5.tar.gz': '8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057'}, + {'indoc-2.0.1.tar.gz': '9f2cb48b81b1dc9f39676bf99f5499babfec7cd8fe14307f7b3d747208fb5690'}, + {'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.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.6.tar.gz': '453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6'}, + {'js-sys-0.3.63.tar.gz': '2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790'}, + {'keyring-2.0.3.tar.gz': 'e319fe0cb5b29a55cdb228df3f651b6c8cdc5b19520f3e62c8f111dc2582026c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'lddtree-0.3.2.tar.gz': '7580a02d700ecc9e06c72b7aace6e74427a56a69310f18fdd420a5fac3832969'}, + {'libc-0.2.146.tar.gz': 'f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b'}, + {'linux-keyutils-0.2.3.tar.gz': '3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b'}, + {'linux-raw-sys-0.3.8.tar.gz': 'ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519'}, + {'lock_api-0.4.9.tar.gz': '435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df'}, + {'log-0.4.18.tar.gz': '518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de'}, + {'lzxd-0.1.4.tar.gz': '784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213'}, + {'mailparse-0.13.8.tar.gz': '8cae768a50835557749599277fc59f7c728118724eb34185e8feb633ef266a32'}, + {'matchers-0.1.0.tar.gz': '8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.4.tar.gz': '4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef'}, + {'minijinja-0.34.0.tar.gz': '75aa91cba87dcad6af3e53bc7adb9c99755eba2d49b6c5f10dbcc79d4727c1bd'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'msi-0.5.1.tar.gz': 'eaa7bfcd0ffc3b4dc4a555e5ada4d302b4b6b5ce8d6bc07a6ea703ea63aff149'}, + {'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.15.0.tar.gz': '0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'openssl-0.10.54.tar.gz': '69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-src-111.26.0+1.1.1u.tar.gz': 'efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37'}, + {'openssl-sys-0.9.88.tar.gz': 'c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617'}, + {'option-ext-0.2.0.tar.gz': '04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d'}, + {'os_pipe-1.1.4.tar.gz': '0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177'}, + {'output_vt100-0.1.3.tar.gz': '628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66'}, + {'overload-0.1.1.tar.gz': 'b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.6.tar.gz': 'ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf'}, + {'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.9.tar.gz': 'e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'plain-0.2.3.tar.gz': 'b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6'}, + {'platform-info-2.0.1.tar.gz': '827dc4f7a81331d48c8abf11b5ac18673b390d33e9632327e286d940289aefab'}, + {'portable-atomic-1.3.3.tar.gz': '767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'pretty_assertions-1.3.0.tar.gz': 'a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755'}, + {'proc-macro2-1.0.60.tar.gz': 'dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406'}, + {'psm-0.1.21.tar.gz': '5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874'}, + {'pyproject-toml-0.6.1.tar.gz': 'ee79feaa9d31e1c417e34219e610b67db4e786ce9b49d77dda549640abb9dc5f'}, + {'python-pkginfo-0.5.5.tar.gz': '0b8cf2d8981a1c967eebacac69c68a54d9786c1b84b813841d0aab2994705608'}, + {'quote-1.0.28.tar.gz': '1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488'}, + {'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.16.20.tar.gz': '3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.19.tar.gz': 'acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d'}, + {'rustls-0.20.8.tar.gz': 'fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f'}, + {'rustls-pemfile-1.0.2.tar.gz': 'd194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b'}, + {'rustversion-1.0.12.tar.gz': '4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06'}, + {'ryu-1.0.13.tar.gz': 'f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.21.tar.gz': '713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'scroll-0.11.0.tar.gz': '04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da'}, + {'scroll_derive-0.11.0.tar.gz': 'bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e'}, + {'sct-0.7.0.tar.gz': 'd53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4'}, + {'security-framework-2.9.1.tar.gz': '1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8'}, + {'security-framework-sys-2.9.0.tar.gz': 'f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7'}, + {'semver-1.0.17.tar.gz': 'bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed'}, + {'serde-1.0.164.tar.gz': '9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d'}, + {'serde_derive-1.0.164.tar.gz': 'd9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68'}, + {'serde_json-1.0.96.tar.gz': '057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1'}, + {'serde_spanned-0.6.2.tar.gz': '93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d'}, + {'sha2-0.10.6.tar.gz': '82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0'}, + {'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.10.0.tar.gz': 'a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0'}, + {'smawk-0.3.1.tar.gz': 'f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043'}, + {'snapbox-0.4.4.tar.gz': '34eced5a65e76d5a00047986a83c65f80dc666faa27b5138f331659e2ca6bcf5'}, + {'snapbox-macros-0.3.4.tar.gz': 'eaaf09df9f0eeae82be96290918520214530e738a7fe5a351b0f24cf77c0ca31'}, + {'socks-0.3.4.tar.gz': 'f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b'}, + {'spin-0.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'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.18.tar.gz': '32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e'}, + {'tar-0.4.38.tar.gz': '4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6'}, + {'target-lexicon-0.12.7.tar.gz': 'fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5'}, + {'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.40.tar.gz': '978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac'}, + {'thiserror-impl-1.0.40.tar.gz': 'f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f'}, + {'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.24.tar.gz': '0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74'}, + {'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.11.tar.gz': '522dcafb4bf113bcf83e4f47a0499ea1f6798877439e6a0e96cf087a2abe97dc'}, + {'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.9.tar.gz': 'b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0'}, + {'unicode-linebreak-0.1.4.tar.gz': 'c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'untrusted-0.7.1.tar.gz': 'a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a'}, + {'ureq-2.6.2.tar.gz': '338b31dd1314f68f3aabf3ed57ab922df95ffcd902476ca7ba3c4ce7b908c46d'}, + {'url-2.4.0.tar.gz': '50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb'}, + {'uuid-1.3.3.tar.gz': '345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2'}, + {'valuable-0.1.0.tar.gz': '830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'versions-4.1.0.tar.gz': 'ee97e1d97bd593fb513912a07691b742361b3dd64ad56f2c694ea2dbfe0665d3'}, + {'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'}, + {'wasm-bindgen-0.2.86.tar.gz': '5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73'}, + {'wasm-bindgen-backend-0.2.86.tar.gz': '19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb'}, + {'wasm-bindgen-macro-0.2.86.tar.gz': '14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258'}, + {'wasm-bindgen-macro-support-0.2.86.tar.gz': 'e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8'}, + {'wasm-bindgen-shared-0.2.86.tar.gz': 'ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93'}, + {'web-sys-0.3.63.tar.gz': '3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2'}, + {'webpki-0.22.0.tar.gz': 'f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd'}, + {'webpki-roots-0.22.6.tar.gz': 'b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87'}, + {'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.42.0.tar.gz': '5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7'}, + {'windows-sys-0.48.0.tar.gz': '677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9'}, + {'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.42.2.tar.gz': 'e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43'}, + {'windows_aarch64_msvc-0.48.0.tar.gz': 'b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3'}, + {'windows_i686_gnu-0.42.2.tar.gz': 'c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f'}, + {'windows_i686_gnu-0.48.0.tar.gz': '622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241'}, + {'windows_i686_msvc-0.42.2.tar.gz': '44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060'}, + {'windows_i686_msvc-0.48.0.tar.gz': '4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00'}, + {'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.42.2.tar.gz': '9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0'}, + {'windows_x86_64_msvc-0.48.0.tar.gz': '1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a'}, + {'winnow-0.4.6.tar.gz': '61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699'}, + {'xattr-0.2.3.tar.gz': '6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc'}, + {'xwin-0.2.12.tar.gz': '1f5f72397389fd26dd36b01f23e19c0608db8e764f7bb65fdc5b1e7e2aa02550'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zeroize-1.6.0.tar.gz': '2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('setuptools-rust', '1.6.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Rust', '1.70.0'), +] + +crates = [ + ('adler', '1.0.2'), + ('ahash', '0.7.6'), + ('aho-corasick', '0.7.20'), + ('anyhow', '1.0.71'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64', '0.21.2'), + ('bitflags', '1.3.2'), + ('block-buffer', '0.10.4'), + ('bstr', '1.5.0'), + ('bumpalo', '3.13.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.4'), + ('cargo-config2', '0.1.7'), + ('cargo-options', '0.6.0'), + ('cargo-platform', '0.1.2'), + ('cargo-xwin', '0.14.3'), + ('cargo-zigbuild', '0.16.10'), + ('cargo_metadata', '0.15.4'), + ('cbindgen', '0.24.5'), + ('cc', '1.0.79'), + ('cfb', '0.7.3'), + ('cfg-expr', '0.15.2'), + ('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'), + ('concolor', '0.0.11'), + ('concolor-query', '0.1.0'), + ('configparser', '3.0.2'), + ('console', '0.15.5'), + ('content_inspector', '0.2.4'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.7'), + ('crc32fast', '1.3.2'), + ('crossbeam-channel', '0.5.8'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.14'), + ('crossbeam-utils', '0.8.15'), + ('crypto-common', '0.1.6'), + ('ctor', '0.1.26'), + ('data-encoding', '2.4.0'), + ('dialoguer', '0.10.4'), + ('diff', '0.1.13'), + ('digest', '0.10.7'), + ('dirs', '5.0.1'), + ('dirs-sys', '0.4.1'), + ('dunce', '1.0.4'), + ('either', '1.8.1'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.32'), + ('errno', '0.3.1'), + ('errno-dragonfly', '0.1.2'), + ('fastrand', '1.9.0'), + ('fat-macho', '0.4.6'), + ('filetime', '0.2.21'), + ('flate2', '1.0.26'), + ('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.6.1'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.2.6'), + ('hermit-abi', '0.3.1'), + ('home', '0.5.4'), + ('humantime', '2.1.0'), + ('humantime-serde', '1.1.1'), + ('idna', '0.4.0'), + ('ignore', '0.4.20'), + ('indexmap', '1.9.3'), + ('indicatif', '0.17.5'), + ('indoc', '2.0.1'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.11'), + ('is-terminal', '0.4.7'), + ('itertools', '0.10.5'), + ('itoa', '1.0.6'), + ('js-sys', '0.3.63'), + ('keyring', '2.0.3'), + ('lazy_static', '1.4.0'), + ('lddtree', '0.3.2'), + ('libc', '0.2.146'), + ('linux-keyutils', '0.2.3'), + ('linux-raw-sys', '0.3.8'), + ('lock_api', '0.4.9'), + ('log', '0.4.18'), + ('lzxd', '0.1.4'), + ('mailparse', '0.13.8'), + ('matchers', '0.1.0'), + ('memchr', '2.5.0'), + ('memoffset', '0.8.0'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.4'), + ('minijinja', '0.34.0'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('msi', '0.5.1'), + ('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.15.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.18.0'), + ('openssl', '0.10.54'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-src', '111.26.0+1.1.1u'), + ('openssl-sys', '0.9.88'), + ('option-ext', '0.2.0'), + ('os_pipe', '1.1.4'), + ('output_vt100', '0.1.3'), + ('overload', '0.1.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.6'), + ('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.9'), + ('pkg-config', '0.3.27'), + ('plain', '0.2.3'), + ('platform-info', '2.0.1'), + ('portable-atomic', '1.3.3'), + ('ppv-lite86', '0.2.17'), + ('pretty_assertions', '1.3.0'), + ('proc-macro2', '1.0.60'), + ('psm', '0.1.21'), + ('pyproject-toml', '0.6.1'), + ('python-pkginfo', '0.5.5'), + ('quote', '1.0.28'), + ('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.16.20'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.19'), + ('rustls', '0.20.8'), + ('rustls-pemfile', '1.0.2'), + ('rustversion', '1.0.12'), + ('ryu', '1.0.13'), + ('same-file', '1.0.6'), + ('schannel', '0.1.21'), + ('scopeguard', '1.1.0'), + ('scroll', '0.11.0'), + ('scroll_derive', '0.11.0'), + ('sct', '0.7.0'), + ('security-framework', '2.9.1'), + ('security-framework-sys', '2.9.0'), + ('semver', '1.0.17'), + ('serde', '1.0.164'), + ('serde_derive', '1.0.164'), + ('serde_json', '1.0.96'), + ('serde_spanned', '0.6.2'), + ('sha2', '0.10.6'), + ('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.10.0'), + ('smawk', '0.3.1'), + ('snapbox', '0.4.4'), + ('snapbox-macros', '0.3.4'), + ('socks', '0.3.4'), + ('spin', '0.5.2'), + ('stacker', '0.1.15'), + ('static_assertions', '1.1.0'), + ('strsim', '0.10.0'), + ('syn', '1.0.109'), + ('syn', '2.0.18'), + ('tar', '0.4.38'), + ('target-lexicon', '0.12.7'), + ('tempfile', '3.6.0'), + ('termcolor', '1.2.0'), + ('terminal_size', '0.2.6'), + ('textwrap', '0.16.0'), + ('thiserror', '1.0.40'), + ('thiserror-impl', '1.0.40'), + ('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.24'), + ('tracing-core', '0.1.31'), + ('tracing-log', '0.1.3'), + ('tracing-serde', '0.1.3'), + ('tracing-subscriber', '0.3.17'), + ('trycmd', '0.14.11'), + ('twox-hash', '1.6.3'), + ('typenum', '1.16.0'), + ('unicase', '2.6.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.9'), + ('unicode-linebreak', '0.1.4'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.10'), + ('untrusted', '0.7.1'), + ('ureq', '2.6.2'), + ('url', '2.4.0'), + ('uuid', '1.3.3'), + ('valuable', '0.1.0'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('versions', '4.1.0'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.3.3'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.86'), + ('wasm-bindgen-backend', '0.2.86'), + ('wasm-bindgen-macro', '0.2.86'), + ('wasm-bindgen-macro-support', '0.2.86'), + ('wasm-bindgen-shared', '0.2.86'), + ('web-sys', '0.3.63'), + ('webpki', '0.22.0'), + ('webpki-roots', '0.22.6'), + ('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.42.0'), + ('windows-sys', '0.48.0'), + ('windows-targets', '0.48.0'), + ('windows_aarch64_gnullvm', '0.42.2'), + ('windows_aarch64_gnullvm', '0.48.0'), + ('windows_aarch64_msvc', '0.42.2'), + ('windows_aarch64_msvc', '0.48.0'), + ('windows_i686_gnu', '0.42.2'), + ('windows_i686_gnu', '0.48.0'), + ('windows_i686_msvc', '0.42.2'), + ('windows_i686_msvc', '0.48.0'), + ('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.42.2'), + ('windows_x86_64_msvc', '0.48.0'), + ('winnow', '0.4.6'), + ('xattr', '0.2.3'), + ('xwin', '0.2.12'), + ('yansi', '0.5.1'), + ('zeroize', '1.6.0'), + ('zip', '0.6.6'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/maturin/maturin-1.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..db1645e18a5 --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,616 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.3.1' + +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.7.6'), + ('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'), + ('bumpalo', '3.13.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.3'), + ('cargo_metadata', '0.18.0'), + ('cbindgen', '0.25.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'), + ('dialoguer', '0.10.4'), + ('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'), + ('js-sys', '0.3.64'), + ('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'), + ('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.16.20'), + ('rustc_version', '0.4.0'), + ('rustix', '0.37.25'), + ('rustls', '0.21.2'), + ('rustls-pemfile', '1.0.3'), + ('rustls-webpki', '0.100.2'), + ('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.0'), + ('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.5.2'), + ('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.7.1'), + ('ureq', '2.7.1'), + ('url', '2.4.0'), + ('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'), + ('wasm-bindgen', '0.2.87'), + ('wasm-bindgen-backend', '0.2.87'), + ('wasm-bindgen-macro', '0.2.87'), + ('wasm-bindgen-macro-support', '0.2.87'), + ('wasm-bindgen-shared', '0.2.87'), + ('web-sys', '0.3.64'), + ('webpki-roots', '0.23.1'), + ('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.1.tar.gz': 'efa194e99ae5fff185263d8244acacb12ae256ea73aba62c9446f6075ffc7ac1'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'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'}, + {'bumpalo-3.13.0.tar.gz': 'a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1'}, + {'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.3.tar.gz': '2307bb523befb01f7e8cf299c2219439339316964c3a4e95e29bd1c7831fae89'}, + {'cargo_metadata-0.18.0.tar.gz': 'fb9ac64500cc83ce4b9f8dafa78186aa008c8dea77a09b94cd307fd0cd5022a8'}, + {'cbindgen-0.25.0.tar.gz': 'faeaa693e5a727975a79211b8f35c0cb09b031fdb6eaa4a788bc6713d01488ca'}, + {'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'}, + {'dialoguer-0.10.4.tar.gz': '59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87'}, + {'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'}, + {'js-sys-0.3.64.tar.gz': 'c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a'}, + {'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'}, + {'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.16.20.tar.gz': '3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.37.25.tar.gz': 'd4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035'}, + {'rustls-0.21.2.tar.gz': 'e32ca28af694bc1bbf399c33a516dbdf1c90090b8ab23c2bc24f834aa2247f5f'}, + {'rustls-pemfile-1.0.3.tar.gz': '2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2'}, + {'rustls-webpki-0.100.2.tar.gz': 'e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab'}, + {'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.0.tar.gz': 'd53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4'}, + {'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.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'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.7.1.tar.gz': 'a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a'}, + {'ureq-2.7.1.tar.gz': '0b11c96ac7ee530603dcdf68ed1557050f374ce55a5a07193ebf8cbc9f8927e9'}, + {'url-2.4.0.tar.gz': '50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb'}, + {'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'}, + {'wasm-bindgen-0.2.87.tar.gz': '7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342'}, + {'wasm-bindgen-backend-0.2.87.tar.gz': '5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd'}, + {'wasm-bindgen-macro-0.2.87.tar.gz': 'dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d'}, + {'wasm-bindgen-macro-support-0.2.87.tar.gz': '54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b'}, + {'wasm-bindgen-shared-0.2.87.tar.gz': 'ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1'}, + {'web-sys-0.3.64.tar.gz': '9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b'}, + {'webpki-roots-0.23.1.tar.gz': 'b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338'}, + {'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'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('setuptools-rust', '1.8.0'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Rust', '1.73.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' 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/maturin/maturin-1.6.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/maturin/maturin-1.6.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b7a45d6c37a --- /dev/null +++ b/easybuild/easyconfigs/m/maturin/maturin-1.6.0-GCCcore-13.3.0.eb @@ -0,0 +1,659 @@ +easyblock = 'CargoPythonPackage' + +name = 'maturin' +version = '1.6.0' + +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.3.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.24'), + ('cargo-options', '0.7.4'), + ('cargo-platform', '0.1.6'), + ('cargo-xwin', '0.16.4'), + ('cargo-zigbuild', '0.18.4'), + ('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_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'), + ('dyn-clone', '1.0.17'), + ('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'), + ('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-timer', '3.0.3'), + ('futures-util', '0.3.30'), + ('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.153'), + ('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'), + ('pin-utils', '0.1.0'), + ('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'), + ('relative-path', '1.9.2'), + ('rfc2047-decoder', '0.2.2'), + ('ring', '0.17.7'), + ('rstest', '0.18.2'), + ('rstest_macros', '0.18.2'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.32'), + ('rustls', '0.22.4'), + ('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'), + ('schemars', '0.8.16'), + ('schemars_derive', '0.8.16'), + ('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_derive_internals', '0.26.0'), + ('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'), + ('slab', '0.4.9'), + ('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.6.0.tar.gz': 'b955025c24c8babc808db49e0ff90db8b4b1320dcc16b14eb26132841737230d'}, + {'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.24.tar.gz': '88d9bdc858a15454c2d0a5138d8dcf4bcabc06fde679abdea8330393fbc0ef05'}, + {'cargo-options-0.7.4.tar.gz': 'f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f'}, + {'cargo-platform-0.1.6.tar.gz': 'ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d'}, + {'cargo-xwin-0.16.4.tar.gz': '5e6c3dd7f20fdd197397532ac882e918cfe1d56f262a97ded7460a50e031e06b'}, + {'cargo-zigbuild-0.18.4.tar.gz': '65004153e67ac23be88a8e244304a872d727b2aa08654dcabfbecd1fdea4a488'}, + {'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_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'}, + {'dyn-clone-1.0.17.tar.gz': '0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125'}, + {'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'}, + {'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-timer-3.0.3.tar.gz': 'f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24'}, + {'futures-util-0.3.30.tar.gz': '3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48'}, + {'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.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'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'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'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'}, + {'relative-path-1.9.2.tar.gz': 'e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc'}, + {'rfc2047-decoder-0.2.2.tar.gz': '61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'rstest-0.18.2.tar.gz': '97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199'}, + {'rstest_macros-0.18.2.tar.gz': 'd428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.32.tar.gz': '65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89'}, + {'rustls-0.22.4.tar.gz': 'bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432'}, + {'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'}, + {'schemars-0.8.16.tar.gz': '45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29'}, + {'schemars_derive-0.8.16.tar.gz': 'c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967'}, + {'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_derive_internals-0.26.0.tar.gz': '85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c'}, + {'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'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'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.42'), + ('setuptools-rust', '1.9.0'), +] +dependencies = [ + ('Python', '3.12.3'), + ('Rust', '1.78.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb index b13c7fbd93e..a429edbf8d4 100644 --- a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb +++ b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736-gompi-2020a.eb @@ -67,17 +67,25 @@ components = [ ], }), ('mauveAligner', version, { - 'patches': ['mauveAligner-4736_debian.patch'], + 'patches': [ + 'mauveAligner-4736_debian.patch', + 'mauveAligner-4736_fix-getopt.patch', + ], 'checksums': [ None, # mauveAligner-4736.tar.bz2 '2786bd29bedb224f232e7909972b549fe95f520ddac2cbb076e2082647dc68ae', # mauveAligner-4736_debian.patch + 'e40edc401303b337070470e52ec13968d0aafca43e4adb332e33b8a6aef34f19', # mauveAligner-4736_fix-getopt.patch ], }), ('sgEvolver', version, { - 'patches': ['sgEvolver-4736_dropversion.patch'], + 'patches': [ + 'sgEvolver-4736_dropversion.patch', + 'sgEvolver-4736_fix-getopt.patch', + ], 'checksums': [ None, # sgEvolver-4736.tar.bz2 'efc3397039dd525669f6c525b20d75ad64c51cd25912192e695067de4cfbeadc', # sgEvolver-4736_dropversion.patch + '58afcf31f707b265fda81d45cd243c8cd279eed5a843a42f8030ef930f3bdd6c', # sgEvolver-4736_fix-getopt.patch ], }), ] @@ -107,6 +115,8 @@ sanity_check_paths = { ['share', 'lib/pkgconfig'], } +sanity_check_commands = ["mauveAligner --help 2>&1 | grep '^mauveAligner'"] + modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch new file mode 100644 index 00000000000..9290d1c1dd8 --- /dev/null +++ b/easybuild/easyconfigs/m/mauveAligner/mauveAligner-4736_fix-getopt.patch @@ -0,0 +1,15 @@ +fix build of mauveAligner on RHEL8 (without breaking build on CentOS 7) +/usr/include/bits/getopt_core.h:91:12: error: declaration of int getopt(int, char* const*, const char*) throw () has a different exception specifier +author: Kenneth Hoste (HPC-UGent) +--- mauveAligner/src/getopt.h.orig 2022-02-25 10:23:21.301489496 +0100 ++++ mauveAligner/src/getopt.h 2022-02-25 10:26:13.940751386 +0100 +@@ -146,7 +146,8 @@ + /* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); ++extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ++ __THROW __nonnull ((2, 3)); + # elif GETOPT_UNDEFINED /* not __GNU_LIBRARY__ */ + extern int getopt (); + # endif /* __GNU_LIBRARY__ */ diff --git a/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch b/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch new file mode 100644 index 00000000000..50aee5f8f92 --- /dev/null +++ b/easybuild/easyconfigs/m/mauveAligner/sgEvolver-4736_fix-getopt.patch @@ -0,0 +1,15 @@ +fix build of sgEvolver on RHEL8 (without breaking build on CentOS 7) +/usr/include/bits/getopt_core.h:91:12: error: declaration of int getopt(int, char* const*, const char*) throw () has a different exception specifier +author: Kenneth Hoste (HPC-UGent) +--- sgEvolver/src/getopt.h.orig 2022-02-25 10:33:10.015721000 +0100 ++++ sgEvolver/src/getopt.h 2022-02-25 10:33:33.950344000 +0100 +@@ -146,7 +146,8 @@ + /* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +-extern int getopt (int ___argc, char *const *___argv, const char *__shortopts); ++extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ++ __THROW __nonnull ((2, 3)); + # elif GETOPT_UNDEFINED /* not __GNU_LIBRARY__ */ + extern int getopt (); + # endif /* __GNU_LIBRARY__ */ diff --git a/easybuild/easyconfigs/m/mayavi/mayavi-4.7.4-foss-2021b.eb b/easybuild/easyconfigs/m/mayavi/mayavi-4.7.4-foss-2021b.eb new file mode 100644 index 00000000000..9c4f7bf33c0 --- /dev/null +++ b/easybuild/easyconfigs/m/mayavi/mayavi-4.7.4-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'mayavi' +version = '4.7.4' + +homepage = 'http://code.enthought.com/projects/mayavi/' +description = """The Mayavi scientific data 3-dimensional visualizer""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('VTK', '9.1.0'), + ('PyQt5', '5.15.4'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('configobj', '5.0.6', { + 'checksums': ['a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902'], + }), + ('traits', '6.3.2', { + 'checksums': ['4520ef4a675181f38be4a5bab1b1d5472691597fe2cfe4faf91023e89407e2c6'], + }), + ('pyface', '7.4.1', { + 'checksums': ['52dcf3679ca3e610a3ca7c4b9904a96c691688048db5d7e52af8e5019e47adb6'], + }), + ('traitsui', '7.4.0', { + 'checksums': ['25335affee2342d47e35c25df5e7785d22a533584fe1be0943ccba45dc1ae589'], + }), + ('apptools', '5.1.0', { + 'checksums': ['d093de314f04485a4c108ba3806c514ae3ba39a3210277fef297521634a3a58b'], + }), + ('envisage', '6.0.1', { + 'checksums': ['8864c29aa344f7ac26eeb94788798f2d0cc791dcf95c632da8d79ebc580e114c'], + }), + (name, version, { + 'preinstallopts': "export QT_QPA_PLATFORM=offscreen && ", + 'source_tmpl': 'mayavi-%(version)s.tar.gz', + 'checksums': ['ec50e7ec6afb0f9224ad1863d104a0d1ded6c8deb13e720652007aaca2303332'], + }), +] + +sanity_check_paths = { + 'files': ['bin/mayavi2'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mcqd/mcqd-1.0.0-GCC-13.2.0.eb b/easybuild/easyconfigs/m/mcqd/mcqd-1.0.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..87f92553548 --- /dev/null +++ b/easybuild/easyconfigs/m/mcqd/mcqd-1.0.0-GCC-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CmdCp' + +name = 'mcqd' +version = '1.0.0' + +homepage = 'https://gitlab.com/janezkonc/mcqd' +description = """MaxCliqueDyn is a fast exact algorithm for finding a maximum clique in an undirected graph.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://gitlab.com/janezkonc/mcqd/-/archive/v%(version)s/'] +sources = ['mcqd-v%(version)s.tar.gz'] +checksums = ['37ff68ff88e047c929990d4c12ce474753f6f9c49324661a3aa1cfe77c26ad9d'] + +cmds_map = [('.*', '$CXX $CXXFLAGS $LDFLAGS mcqd.cpp -o mcqd')] + +files_to_copy = [ + (['mcqd'], 'bin'), + (['mcqd.h'], 'include'), +] + +sanity_check_paths = { + 'files': [ + 'bin/mcqd', + 'include/mcqd.h', + ], + 'dirs': [], +} + +sanity_check_commands = ["command -v mcqd"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..516118c5988 --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-11.3.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': 'GCC', 'version': '11.3.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.23.1'), +] + +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.%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/mctc-lib/mctc-lib-0.3.1-GCC-12.2.0.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..0adbf4db991 --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-12.2.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': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['03dc8ccba37413da70e55a07cef8e8de53bce33f5bb52c1f8db5fec326abe083'] + +builddependencies = [ + ('binutils', '2.39'), + ('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.%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/mctc-lib/mctc-lib-0.3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..e8ec2b8435d --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-GCC-12.3.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': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['03dc8ccba37413da70e55a07cef8e8de53bce33f5bb52c1f8db5fec326abe083'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('json-fortran', '9.0.2'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/mctc-convert', '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/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/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..cee2009f267 --- /dev/null +++ b/easybuild/easyconfigs/m/mctc-lib/mctc-lib-0.3.1-intel-compilers-2022.2.1.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.2.1'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['03dc8ccba37413da70e55a07cef8e8de53bce33f5bb52c1f8db5fec326abe083'] + +builddependencies = [ + ('binutils', '2.39'), + ('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.%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/mcu/mcu-2021-04-06-gomkl-2021a.eb b/easybuild/easyconfigs/m/mcu/mcu-2021-04-06-gomkl-2021a.eb new file mode 100644 index 00000000000..c70eb5db0f6 --- /dev/null +++ b/easybuild/easyconfigs/m/mcu/mcu-2021-04-06-gomkl-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'mcu' +local_commit = '3366c85' +version = '2021-04-06' # There is a 0.2 release but it's too old and it doesn't work + +homepage = 'https://hungqpham.com/mcu/' +description = """A package for periodic wavefunction and crystallography analysis. + mcu is designed to support large scale analysis and topological descriptions for periodic wavefunction.""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/hungpham2017/mcu/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['96553924c57ca27d2e4d8668be2c97fc6019c139f91950a798733c5575a8b44a'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('spglib-python', '1.16.1'), + ('pyWannier90', '2021-12-07'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = [ + "python -c 'from mcu import VASP'", + "python -c 'import mcu.wannier90.pywannier90_vasp'", +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mdust/mdust-20150102-GCC-10.3.0.eb b/easybuild/easyconfigs/m/mdust/mdust-20150102-GCC-10.3.0.eb new file mode 100644 index 00000000000..5dea5b1bc57 --- /dev/null +++ b/easybuild/easyconfigs/m/mdust/mdust-20150102-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'mdust' +version = '20150102' + +homepage = 'https://github.com/lh3/mdust' +description = "mdust from DFCI Gene Indices Software Tools (archived for a historical record only)" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = [{ + 'filename': 'mdust.tar.gz', + 'git_config': { + 'url': 'https://github.com/lh3', + 'repo_name': 'mdust', + 'commit': '3e3fed8', + }, +}] +checksums = [None] + +files_to_copy = [(['mdust'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/mdust'], + 'dirs': [] +} + +sanity_check_commands = ["mdust < /dev/null"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/meboot/meboot-1.4-9.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/m/meboot/meboot-1.4-9.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..19e0c65d0ca --- /dev/null +++ b/easybuild/easyconfigs/m/meboot/meboot-1.4-9.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,49 @@ +easyblock = 'Bundle' + +name = 'meboot' +version = '1.4-9.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/meboot/index.html' +description = """Maximum entropy density based dependent data bootstrap. + An algorithm is provided to create a population of time series (ensemble) without assuming stationarity.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), # provides required hdrcde +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('dynlm', '0.3-6', { + 'checksums': ['f88fd2e8eceebe00199f8b9e36e574f82ebbf6490d6a507519d62753cbd218bd'], + }), + ('tdigest', '0.4.1', { + 'checksums': ['9e34955b2e4e61c2342b2245d7ee66899da8d91cb52f0370f90cf54a03989ebc'], + }), + (name, version, { + 'checksums': ['5c8e8ed2d8be69225f952e04b9ac9fd9c0b3f6aa3c598c5597bcb0d9687d226a'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' 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.12.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..c9ac4870bf5 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,85 @@ +# 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.12.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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 = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # includes cffi + ('TensorFlow', '2.15.1', versionsuffix), + ('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.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'], + }), + ('h5py', '3.10.0', { + 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], + }), + ('pyabpoa', '1.5.1', { + 'checksums': ['878f981e890a421d92a0d7606705d0ad9813ae6086239460dfe4b0cfc7476174'], + }), + (name, version, { + 'checksums': ['039219204111a8114b1f72d87d0d3463e43473790cff4520c8afbd79cc8784d6'], + # 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.12.0-foss-2023a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a.eb new file mode 100644 index 00000000000..af21d1b6a0d --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a.eb @@ -0,0 +1,84 @@ +# 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.12.0' + +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.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.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'], + }), + # medaka 1.12.0 requires h5py ~=3.10.0 + ('h5py', '3.10.0', { + 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], + }), + ('pyabpoa', '1.5.1', { + 'checksums': ['878f981e890a421d92a0d7606705d0ad9813ae6086239460dfe4b0cfc7476174'], + }), + (name, version, { + 'checksums': ['039219204111a8114b1f72d87d0d3463e43473790cff4520c8afbd79cc8784d6'], + # 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.12.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..3e055e5d8dd --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,88 @@ +# 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.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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 = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # includes cffi + ('TensorFlow', '2.15.1', versionsuffix), + ('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", + # ont-parasail on PyPI is just pre-built wheels for (python-)parasail + "sed -i 's/ont-parasail/parasail/g' requirements.txt", +] + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'], + }), + ('wurlitzer', '3.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'], + }), + # medaka 1.12.0 requires h5py ~=3.10.0 + ('h5py', '3.10.0', { + 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], + }), + ('pyabpoa', '1.5.2', { + 'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'], + }), + (name, version, { + 'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'], + # 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.12.1-foss-2023a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb new file mode 100644 index 00000000000..f95d01c89d9 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb @@ -0,0 +1,86 @@ +# 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.12.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': '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.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", + # ont-parasail on PyPI is just pre-built wheels for (python-)parasail + "sed -i 's/ont-parasail/parasail/g' requirements.txt", +] + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'], + }), + ('wurlitzer', '3.1.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'], + }), + # medaka 1.12.0 requires h5py ~=3.10.0 + ('h5py', '3.10.0', { + 'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'], + }), + ('pyabpoa', '1.5.2', { + 'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'], + }), + (name, version, { + 'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'], + # 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.4.3-foss-2020b.eb b/easybuild/easyconfigs/m/medaka/medaka-1.4.3-foss-2020b.eb new file mode 100644 index 00000000000..a6ccdd55057 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.4.3-foss-2020b.eb @@ -0,0 +1,96 @@ +# 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) + +easyblock = 'PythonBundle' + +name = 'medaka' +version = '1.4.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': '2020b'} + +builddependencies = [('Autotools', '20200321')] + +dependencies = [ + ('Python', '3.8.6'), # includes cffi + # TensorFlow 2.2.3 required by medaka 1.4.3, see requirements.txt + # We need to patch medaka to use that version, see below. + ('TensorFlow', '2.2.3'), + ('Biopython', '1.78'), + # Pysam 0.16.0.1 is strictly required, see requirements.txt + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.11'), + # minimap2 is version 2.18 in pangolin, so we need the same version here + ('minimap2', '2.18'), + ('HTSlib', '1.11'), # for tabix, bgzip + ('Racon', '1.4.21'), + ('spoa', '4.0.7'), + ('networkx', '2.5'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.8'), + ('pyfaidx', '0.5.9.5'), + ('python-isal', '0.11.1'), + ('BCFtools', '1.11'), +] + +use_pip = True + +exts_list = [ + # required for ont-fast5-api + ('progressbar33', '2.4', { + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + 'modulename': 'progressbar', + }), + # ont-fast-5-api easyconfig depends on h5py but we need to stick to h5py 2.x for TensorFlow 2.2.3, + # so we install it as an extension here + ('ont-fast5-api', '3.3.0', { + 'checksums': ['8ccbf8d203ba90c2757f25b6bbcfb0e5c90bbbb9972f2e19c3f6d6d9943d9f15'], + }), + ('mappy', '2.22', { + 'checksums': ['219c93ab7f8d5d7c26face512a9e738a7306f3376ebfa3017eac70676ba97840'], + }), + ('parasail', '1.2.4', { + 'checksums': ['8e6e0762924a461bb437cbb71122765c6912dace880e338bd19c7f9d12efead2'], + }), + ('xopen', '1.1.0', { + 'checksums': ['38277eb96313b2e8822e19e793791801a1f41bf13ee5b48616a97afc65e9adb3'], + }), + ('whatshap', '1.1', { + 'checksums': ['4e6486e6ce2babf55a225dd9e0030df6fcc27629d34803428cbe88a79137bb6f'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + (name, version, { + 'patches': ['medaka-1.4.3_use-SAMtools-dep.patch'], + 'checksums': [ + '59997b5fdaff6f2040f2df2d3d3eb2d6d1805916a720e8275309caf4d2d4b8a5', # medaka-1.4.3.tar.gz + '06b1d8344035ebcfaf1893e62f37db9b4cab0053ad7a073113630872d44be33e', # medaka-1.4.3_use-SAMtools-dep.patch + ], + # loosen up TensorFlow version requirements, see also https://github.com/nanoporetech/medaka/issues/323 + '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.5.0-foss-2021a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.5.0-foss-2021a.eb new file mode 100644 index 00000000000..75466141935 --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.5.0-foss-2021a.eb @@ -0,0 +1,64 @@ +# 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.5.0' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [('Autotools', '20210128')] + +_minimap_ver = '2.20' +dependencies = [ + ('Python', '3.9.5'), # includes cffi + # TensorFlow ~=2.5.2 required by medaka 1.5.0, see requirements.txt + ('TensorFlow', '2.5.3'), + ('Pysam', '0.16.0.1'), + ('SAMtools', '1.13'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.12'), # for tabix, bgzip + ('Racon', '1.4.21'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.8'), + ('python-parasail', '1.2.4'), + ('ont-fast5-api', '4.0.0'), + ('WhatsHap', '1.1'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.12'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['00c8720783ac982b514b01b86349ede9809eeaccdf1328acb5a16dfeef51458b'], + }), + (name, version, { + 'checksums': ['8a0b8d5997fe45b8d5a1317b2b6bfe117cb6b551928faef62e4e958cf14b5ea4'], + }), +] + +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.6.0-foss-2021b.eb b/easybuild/easyconfigs/m/medaka/medaka-1.6.0-foss-2021b.eb new file mode 100644 index 00000000000..f13a44b0e6e --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.6.0-foss-2021b.eb @@ -0,0 +1,65 @@ +# 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.6.0' + +homepage = 'https://github.com/nanoporetech/medaka' +description = "medaka is a tool to create a consensus sequence from nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [('Autotools', '20210726')] + +_minimap_ver = '2.22' +dependencies = [ + ('Python', '3.9.6'), # includes cffi + # TensorFlow ~=2.7.0 required by medaka 1.6.0, see requirements.txt + ('TensorFlow', '2.7.1'), + ('Pysam', '0.18.0'), + ('SAMtools', '1.14'), + ('minimap2', _minimap_ver), + ('HTSlib', '1.14'), # for tabix, bgzip + ('Racon', '1.5.0'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.8'), + ('python-parasail', '1.2.4'), + ('ont-fast5-api', '4.0.2'), + ('WhatsHap', '1.4'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.14'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['219c93ab7f8d5d7c26face512a9e738a7306f3376ebfa3017eac70676ba97840'], + }), + (name, version, { + 'checksums': ['a8389f90cba77095061c4ff22c7cce8d73908e2451fa1d07b94c2f8ce4152628'], + }), +] + +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.8.1-foss-2022a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.8.1-foss-2022a.eb new file mode 100644 index 00000000000..41dd6c3419e --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.8.1-foss-2022a.eb @@ -0,0 +1,67 @@ +# 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.8.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': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [('Autotools', '20220317')] + +_minimap_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), # includes cffi + # TensorFlow ~=2.8.0 required by medaka 1.8.1, 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'), + ('pyspoa', '0.0.9'), + ('python-parasail', '1.3.3'), + ('ont-fast5-api', '4.1.1'), + ('WhatsHap', '1.7'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.15.1'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + (name, version, { + 'checksums': ['550b696dd4c84c1b8bf674569217004337b8a5d79a71d8cc892fd0461b05d3df'], + # 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.9.1-foss-2022a.eb b/easybuild/easyconfigs/m/medaka/medaka-1.9.1-foss-2022a.eb new file mode 100644 index 00000000000..4598c7877da --- /dev/null +++ b/easybuild/easyconfigs/m/medaka/medaka-1.9.1-foss-2022a.eb @@ -0,0 +1,67 @@ +# 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': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [('Autotools', '20220317')] + +_minimap_ver = '2.24' +dependencies = [ + ('Python', '3.10.4'), # includes cffi + # tensorflow~=2.10.0 required by medaka 1.9.1, 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'), + ('pyspoa', '0.0.9'), + ('python-parasail', '1.3.3'), + ('ont-fast5-api', '4.1.1'), + ('WhatsHap', '1.7'), + ('intervaltree-python', '3.1.0'), + ('BCFtools', '1.15.1'), +] + +use_pip = True + +exts_list = [ + ('mappy', _minimap_ver, { + 'checksums': ['35a2fb73ef14173283d5abb31e7a318429e0330c3be95851df38dd83d4ff9af9'], + }), + (name, version, { + 'checksums': ['1018c07267d24cb4607ae823ced01a1789939b5f8143d1c240ce243dc1160ef5'], + # 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.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/memtester/memtester-4.5.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/memtester/memtester-4.5.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..901ab911bea --- /dev/null +++ b/easybuild/easyconfigs/m/memtester/memtester-4.5.1-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'MakeCp' + +name = 'memtester' +version = '4.5.1' + +homepage = 'https://pyropus.ca./software/memtester/' +description = 'A userspace utility for testing the memory subsystem for faults' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +# Using ubuntu source mirror due to problematic URL redirects +source_urls = ['http://archive.ubuntu.com/ubuntu/pool/universe/m/memtester/'] +sources = ['memtester_%(version)s.orig.tar.gz'] +checksums = ['1c5fc2382576c084b314cfd334d127a66c20bd63892cac9f445bc1d8b4ca5a47'] + +builddependencies = [ + ('binutils', '2.38'), +] + +files_to_copy = [(['memtester'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/memtester'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..bb93c14359e --- /dev/null +++ b/easybuild/easyconfigs/m/meshalyzer/meshalyzer-20200308-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'meshalyzer' +local_commit = 'b1ab66863a293768cd23b444f16efe00d0acef4e' +version = '20200308' # datestamp of commit +versionsuffix = '-Python-3.8.2' + +homepage = 'https://git.opencarp.org/openCARP/meshalyzer' +description = "Graphical program for display time dependent data on 3D finite element meshes" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://git.opencarp.org/openCARP/meshalyzer/-/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['meshalyzer-2.0_fix-VTK-linking.patch'] +checksums = [ + 'b1df0be12d377a4e12e0d1f2cd17820b9d5cc3a5a813a17d187ee72adf5a8500', # meshalyzer-20200308.tar.gz + '23f55c2290ea9b62440bdf8e0c1006116438beb7c4b7065b8cf136387a537e0f', # meshalyzer-2.0_fix-VTK-linking.patch +] + +local_vtk_majmin_ver = '8.2' +dependencies = [ + ('libpng', '1.6.37'), + ('FLTK', '1.3.5'), + ('glew', '2.1.0'), + ('freeglut', '3.2.1'), + ('HDF5', '1.10.6'), + ('VTK', '%s.0' % local_vtk_majmin_ver, versionsuffix), +] + +buildopts = 'HDF5_ROOT=$EBROOTHDF5 LIB_EXT=".%s" ' % SHLIB_EXT +buildopts += 'VTK_INCDIR=$EBROOTVTK/include/vtk-%s/ VTK_LIBDIR=$EBROOTVTK/lib' % local_vtk_majmin_ver + +files_to_copy = [(['meshalyzer'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/meshalyzer'], + 'dirs': [], +} + +sanity_check_commands = ["meshalyzer --help"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/meshio/meshio-5.3.4-foss-2022b.eb b/easybuild/easyconfigs/m/meshio/meshio-5.3.4-foss-2022b.eb new file mode 100644 index 00000000000..d9bcd5c7380 --- /dev/null +++ b/easybuild/easyconfigs/m/meshio/meshio-5.3.4-foss-2022b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'meshio' +version = '5.3.4' + +homepage = 'https://github.com/nschloe/meshio' +description = "meshio is a tool for reading/writing various mesh formats representing unstructured meshes" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), # includes numpy + ('h5py', '3.8.0'), + ('VTK', '9.2.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pipdate', '0.5.6', { + 'checksums': ['1b6b7ec2c5468fb7036ec9d6b2ced7a8a538db55aaca03f30199216d3bbd264b'], + }), + (name, version, { + 'checksums': ['e240692d7ff279c12b13c6e5d7b403629a86ad2b44e9230958b3f00c1ec369f0'], + }), +] + +sanity_check_paths = { + 'files': ['bin/meshio', 'bin/pipdate'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/meshio/meshio-5.3.5-foss-2023b.eb b/easybuild/easyconfigs/m/meshio/meshio-5.3.5-foss-2023b.eb new file mode 100644 index 00000000000..d4b1a912aa3 --- /dev/null +++ b/easybuild/easyconfigs/m/meshio/meshio-5.3.5-foss-2023b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'meshio' +version = '5.3.5' + +homepage = 'https://github.com/nschloe/meshio' +description = "meshio is a tool for reading/writing various mesh formats representing unstructured meshes" + +toolchain = {'name': 'foss', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # includes rich + ('SciPy-bundle', '2023.11'), # includes numpy + ('h5py', '3.11.0'), + ('VTK', '9.3.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pipdate', '0.5.6', { + 'checksums': ['1b6b7ec2c5468fb7036ec9d6b2ced7a8a538db55aaca03f30199216d3bbd264b'], + }), + (name, version, { + 'checksums': ['f21f01abd9f29ba06ea119304b3d39e610421cfe93b9dd23362834919f87586d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/meshio', 'bin/pipdate'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4d0193a8bd5 --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.11.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'meson-python' +version = '0.11.0' + +homepage = 'https://github.com/mesonbuild/meson-python' +description = "Python build backend (PEP 517) for Meson projects" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Meson', '0.64.0'), +] + +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.6.1', { + 'checksums': ['b5fb09543a64a91165dfe85796759f9e415edc296beb4db33d1ecf7866a862bd'], + }), + (name, version, { + 'sources': ['meson_python-%(version)s.tar.gz'], + 'checksums': ['110258837c2ffe762f5f855c7ea5385f1edd44074e93a0f317ffefc7aab42b09'], + 'modulename': 'mesonpy', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/meson-python/meson-python-0.13.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.13.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..75042ffe654 --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.13.2-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'meson-python' +version = '0.13.2' + +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.1.1'), +] + +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.7.1', { + 'checksums': ['0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67'], + }), + (name, version, { + 'sources': ['meson_python-%(version)s.tar.gz'], + 'checksums': ['80bc9de898acd36eb4b945afaaf7a2b4ca00189c51870d535e329761910cf8ea'], + 'modulename': 'mesonpy', + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' 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/meson-python/meson-python-0.15.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.15.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3f1997e81f9 --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.15.0-GCCcore-13.2.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': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), # provides 'packaging' + ('Meson', '1.2.3'), +] + +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/meson-python/meson-python-0.16.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/meson-python/meson-python-0.16.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1724208584f --- /dev/null +++ b/easybuild/easyconfigs/m/meson-python/meson-python-0.16.0-GCCcore-13.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'meson-python' +version = '0.16.0' + +homepage = 'https://github.com/mesonbuild/meson-python' +description = "Python build backend (PEP 517) for Meson projects" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), # provides 'packaging' + ('Meson', '1.4.0'), +] + +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.8.0', { + 'sources': ['pyproject_metadata-%(version)s.tar.gz'], + 'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'], + }), + (name, version, { + 'modulename': 'mesonpy', + 'sources': ['meson_python-%(version)s.tar.gz'], + 'checksums': ['9068c17e36c89d6c7ff709fffb2a8a9925e8cd0b02629728e5ceaf2ec505cb5f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2-foss-2018b-Python-2.7.15.eb index 0340543f67d..4e25ce407a7 100644 --- a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2-foss-2018b-Python-2.7.15.eb @@ -36,7 +36,7 @@ dependencies = [ ('Seaborn', '0.9.0', versionsuffix), ('BLAST+', '2.7.1'), ('Bowtie2', '2.3.4.2'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('Trim_Galore', '0.6.0', versionsuffix), ('bmtagger', '3.101'), ('taxator-tk', '1.3.3'), diff --git a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2.2-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2.2-foss-2019a-Python-2.7.15.eb index c8c34cc86a5..9e626cd3f73 100644 --- a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2.2-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.2.2-foss-2019a-Python-2.7.15.eb @@ -21,7 +21,7 @@ sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_ checksums = ['67e1d86cafc20a8b2713000d18a169a25b4a7dd7c2d4433b51b2e8ad1d4627ff'] builddependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] # see https://github.com/bxlab/metaWRAP/blob/master/installation/dependancies.md @@ -44,7 +44,7 @@ dependencies = [ ('Seaborn', '0.9.0', versionsuffix), ('BLAST+', '2.9.0'), ('Bowtie2', '2.3.5.1'), - ('FastQC', '0.11.8', '-Java-11', True), + ('FastQC', '0.11.8', '-Java-11', SYSTEM), ('Trim_Galore', '0.6.2', '-Java-11'), ('bmtagger', '3.101'), ('taxator-tk', '1.3.3'), diff --git a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.3-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.3-foss-2020b-Python-2.7.18.eb index bb979fb26e2..382b15693e9 100644 --- a/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.3-foss-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/m/metaWRAP/metaWRAP-1.3-foss-2020b-Python-2.7.18.eb @@ -17,7 +17,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['ffdbccf340dc0b1ebd0ad6f222e3bdef1e22bbd6e4e5156bf93500a3a834dd52'] builddependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] # see https://github.com/bxlab/metaWRAP/blob/master/installation/dependancies.md @@ -30,7 +30,7 @@ dependencies = [ ('Bowtie2', '2.4.2'), ('BWA', '0.7.17'), ('CheckM', '1.0.18', versionsuffix), - ('FastQC', '0.11.9', '-Java-11', True), + ('FastQC', '0.11.9', '-Java-11', SYSTEM), ('Kraken', '1.1.1'), ('KronaTools', '2.8'), ('MEGAHIT', '1.2.9', versionsuffix), diff --git a/easybuild/easyconfigs/m/meteogrid/meteogrid-20240627-gfbf-2023a-R-4.3.2.eb b/easybuild/easyconfigs/m/meteogrid/meteogrid-20240627-gfbf-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..8fca99e5298 --- /dev/null +++ b/easybuild/easyconfigs/m/meteogrid/meteogrid-20240627-gfbf-2023a-R-4.3.2.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'meteogrid' +version = '20240627' +local_commit = '9da2345' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/harphub/meteogrid' +description = """ +R package for working with gridded meteorological data. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://github.com/harphub/%(name)s/archive/'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit, +}] +checksums = ['ab89739e2e85d62bbdc8ee1a96d409654b19ebd2acf8251c2563a88f9d53d5c0'] + +dependencies = [ + ('R', '4.3.2'), + ('PROJ', '9.2.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +sanity_check_commands = ['Rscript -e "library(meteogrid)"'] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb b/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb new file mode 100755 index 00000000000..752857fd0d4 --- /dev/null +++ b/easybuild/easyconfigs/m/methylartist/methylartist-1.2.6-foss-2021b.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'methylartist' +version = '1.2.6' + +homepage = "https://github.com/adamewing/methylartist" +description = """Tools for plotting methylation data in various ways """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('bx-python', '0.8.13'), + ('matplotlib', '3.4.3'), + ('Pysam', '0.17.0'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': False, # there is no library to import + 'checksums': ['8647f59801e70a128b63b77ad1b824f61ade4201e23c04d19cd3e2bb74adaa6d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +_submodules = ['', 'db-nanopolish', 'db-megalodon', 'db-custom', 'db-guppy', 'segmeth', 'segplot', 'locus', 'region', + 'composite', 'wgmeth', 'adjustcutoffs', 'scoredist'] +sanity_check_commands = ["%%(name)s %s --help" % x for x in _submodules] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/methylpy/methylpy-1.2.9-foss-2021b.eb b/easybuild/easyconfigs/m/methylpy/methylpy-1.2.9-foss-2021b.eb new file mode 100644 index 00000000000..ffeef5eccb8 --- /dev/null +++ b/easybuild/easyconfigs/m/methylpy/methylpy-1.2.9-foss-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'methylpy' +version = '1.2.9' + +homepage = 'https://pypi.python.org/pypi/methylpy' +description = """Bisulfite sequencing data processing and differential methylation analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/yupenghe/methylpy/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['169b5da07c26dbdd5d61a3bc5cbc3fe5a801bf1dd59b79b6d7e3f9a22005ae9e'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('cutadapt', '3.5'), + ('Bowtie2', '2.4.4'), + ('Bowtie', '1.3.1'), + ('SAMtools', '1.14'), + ('picard', '2.25.1', '-Java-11', SYSTEM), + ('GSL', '2.7'), + ('Kent_tools', '422'), +] + +preinstallopts = "sed -i 's/description-file/description_file/g' setup.cfg && " + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' 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/mgen/mgen-1.2.1-foss-2022a.eb b/easybuild/easyconfigs/m/mgen/mgen-1.2.1-foss-2022a.eb new file mode 100644 index 00000000000..bb801d138bc --- /dev/null +++ b/easybuild/easyconfigs/m/mgen/mgen-1.2.1-foss-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'mgen' +version = '1.2.1' + +homepage = 'https://github.com/NOhs/mgen/tree/master' +description = "Convenient matrix generation functions" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3caa56fc85ee71250cc55f484832af52d48c0cb84c945e1a32859b458a85ab39'] + +# also requires pbr, which is an extension in Python already +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mgltools/mgltools-1.5.7.eb b/easybuild/easyconfigs/m/mgltools/mgltools-1.5.7.eb new file mode 100644 index 00000000000..c7c3007a9ea --- /dev/null +++ b/easybuild/easyconfigs/m/mgltools/mgltools-1.5.7.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = "mgltools" +version = "1.5.7" + +homepage = "https://ccsb.scripps.edu/mgltools/" +description = """ + The MGLTools software suite can be used for visualization + and analysis of molecular structures and comprises + the Python Molecular Viewer (PMV, a general purpose molecular viewer), + AutoDockTools (ADT, a set of PMV commands specifically developed to support AutoDock users) + and Vision (a visual programming environment). +""" + +toolchain = SYSTEM + +source_urls = ["https://ccsb.scripps.edu/download/532/"] + +sources = [{ + 'download_filename': 'index.html', + 'filename': SOURCE_TAR_GZ +}] + +checksums = ['3d7aaf852ed9d5ad586326db860aff62d96ed6c0e06bb9535cf7d576e4b615dd'] + +extract_sources = True + +install_cmd = "./install.sh -d %(installdir)s" + +sanity_check_paths = { + 'files': ['bin/pmv', 'bin/adt'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-foss-2020b.eb b/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-foss-2020b.eb new file mode 100644 index 00000000000..e03e3bf7310 --- /dev/null +++ b/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-foss-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'mhcnuggets' +version = '2.3' + +homepage = 'https://github.com/KarchinLab/mhcnuggets' +description = 'MHCnuggets: Neoantigen peptide MHC binding prediction for class I and II.' + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'KarchinLab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5b0a8771e851e5d47c5f06c5b4a4ace218660c837b5bb527d8fa087d6dd55906'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('Keras', '2.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-fosscuda-2020b.eb b/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-fosscuda-2020b.eb new file mode 100644 index 00000000000..7bca8c2f08c --- /dev/null +++ b/easybuild/easyconfigs/m/mhcnuggets/mhcnuggets-2.3-fosscuda-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'mhcnuggets' +version = '2.3' + +homepage = 'https://github.com/KarchinLab/mhcnuggets' +description = 'MHCnuggets: Neoantigen peptide MHC binding prediction for class I and II.' + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +github_account = 'KarchinLab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5b0a8771e851e5d47c5f06c5b4a4ace218660c837b5bb527d8fa087d6dd55906'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('Keras', '2.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/micro-sam/micro-sam-1.0.1-foss-2023a.eb b/easybuild/easyconfigs/m/micro-sam/micro-sam-1.0.1-foss-2023a.eb new file mode 100644 index 00000000000..418740280e5 --- /dev/null +++ b/easybuild/easyconfigs/m/micro-sam/micro-sam-1.0.1-foss-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'micro-sam' +version = '1.0.1' + +homepage = 'https://github.com/computational-cell-analytics/micro-sam/' +description = "Tools for segmentation and tracking in microscopy build on top of SegmentAnything." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('torchvision', '0.16.0'), + ('napari', '0.4.18'), + ('zarr', '2.17.1'), + ('vigra', '1.11.2'), + ('python-elf', '0.5.1'), + ('z5py', '2.0.17'), + ('python-xxhash', '3.4.1'), + ('segment-anything', '1.0'), + ('torch-em', '0.7.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/computational-cell-analytics/micro-sam/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5b7cc562a639d68de4f9462f3696f17b479ea0d669eaedb34687b65ceac715e9'], + }), +] + +sanity_check_commands = [ + "python -c 'import affogato'", + "python -c 'import napari.viewer'", + "micro_sam.annotator_2d -h", + "micro_sam.annotator_3d -h", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f54a56ff07b --- /dev/null +++ b/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'mimalloc' +version = '1.7.2' + +homepage = 'https://microsoft.github.io/mimalloc/' +description = """mimalloc is a general purpose allocator with excellent performance characteristics.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'microsoft' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b1912e354565a4b698410f7583c0f83934a6dbb3ade54ab7ddcb1569320936bd'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['lib/mimalloc-%(version_major_minor)s/libmimalloc.a', 'lib/libmimalloc.%s' % SHLIB_EXT], + 'dirs': ['include/mimalloc-%(version_major_minor)s'], +} + +runtest = 'test' + +# mimalloc is a drop-in replacement for malloc and can be used in other programs without code changes, +# but we don't enable this by default, you need to opt-in by setting $LD_PRELOAD as follows +# modextrapaths = {'LD_PRELOAD': ['lib/libmimalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..75037315485 --- /dev/null +++ b/easybuild/easyconfigs/m/mimalloc/mimalloc-1.7.2-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'mimalloc' +version = '1.7.2' + +homepage = 'https://microsoft.github.io/mimalloc/' +description = """mimalloc is a general purpose allocator with excellent performance characteristics.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'microsoft' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b1912e354565a4b698410f7583c0f83934a6dbb3ade54ab7ddcb1569320936bd'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['lib/mimalloc-%(version_major_minor)s/libmimalloc.a', 'lib/libmimalloc.%s' % SHLIB_EXT], + 'dirs': ['include/mimalloc-%(version_major_minor)s'], +} + +runtest = 'test' + +# mimalloc is a drop-in replacement for malloc and can be used in other programs without code changes, +# but we don't enable this by default, you need to opt-in by setting $LD_PRELOAD as follows +# modextrapaths = {'LD_PRELOAD': ['lib/libmimalloc.%s' % SHLIB_EXT]} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b2b2261baab --- /dev/null +++ b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'miniasm' +version = '0.3-20191007' +local_commit = 'ce615d1d6b8678d38f2f9d27c9dccd944436ae75' + +homepage = 'https://github.com/lh3/minimap2' +description = """Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It +takes all-vs-all read self-mappings (typically by minimap) as input and outputs +an assembly graph in the GFA format. Different from mainstream assemblers, +miniasm does not have a consensus step. It simply concatenates pieces of read +sequences to generate the final unitig sequences. Thus the per-base error rate +is similar to the raw input reads.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['31d62309e8b802d3aebd492c1fed8d2a9197a3243c128345745dccb762457e3d'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}"' + +files_to_copy = [ + (['%(name)s', 'minidot'], 'bin'), + (['*.h'], 'include'), + (['LICENSE.txt', 'PAF.md', 'README.md'], 'share'), + (['%(name)s.1'], 'share/man/man1'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/minidot'], + 'dirs': ['include', 'share'] +} + +sanity_check_commands = ["miniasm -V"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..03d8f7d2eac --- /dev/null +++ b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'miniasm' +version = '0.3-20191007' +local_commit = 'ce615d1d6b8678d38f2f9d27c9dccd944436ae75' + +homepage = 'https://github.com/lh3/minimap2' +description = """Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It +takes all-vs-all read self-mappings (typically by minimap) as input and outputs +an assembly graph in the GFA format. Different from mainstream assemblers, +miniasm does not have a consensus step. It simply concatenates pieces of read +sequences to generate the final unitig sequences. Thus the per-base error rate +is similar to the raw input reads.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['31d62309e8b802d3aebd492c1fed8d2a9197a3243c128345745dccb762457e3d'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}"' + +files_to_copy = [ + (['%(name)s', 'minidot'], 'bin'), + (['*.h'], 'include'), + (['LICENSE.txt', 'PAF.md', 'README.md'], 'share'), + (['%(name)s.1'], 'share/man/man1'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/minidot'], + 'dirs': ['include', 'share'] +} + +sanity_check_commands = ["miniasm -V"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a34b456c98c --- /dev/null +++ b/easybuild/easyconfigs/m/miniasm/miniasm-0.3-20191007-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'miniasm' +version = '0.3-20191007' +local_commit = 'ce615d1d6b8678d38f2f9d27c9dccd944436ae75' + +homepage = 'https://github.com/lh3/miniasm' +description = """Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It +takes all-vs-all read self-mappings (typically by minimap) as input and outputs +an assembly graph in the GFA format. Different from mainstream assemblers, +miniasm does not have a consensus step. It simply concatenates pieces of read +sequences to generate the final unitig sequences. Thus the per-base error rate +is similar to the raw input reads.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['31d62309e8b802d3aebd492c1fed8d2a9197a3243c128345745dccb762457e3d'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}"' + +files_to_copy = [ + (['%(name)s', 'minidot'], 'bin'), + (['*.h'], 'include'), + (['LICENSE.txt', 'PAF.md', 'README.md'], 'share'), + (['%(name)s.1'], 'share/man/man1'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/minidot'], + 'dirs': ['include', 'share'] +} + +sanity_check_commands = ["miniasm -V"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.17-GCCcore-9.3.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.17-GCCcore-9.3.0.eb index 99066113b93..acf1c417a9b 100644 --- a/easybuild/easyconfigs/m/minimap2/minimap2-2.17-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.17-GCCcore-9.3.0.eb @@ -26,6 +26,10 @@ checksums = ['b68ac8882d33cc63e9e3246775062aeb159b6990ff7f38099172c3fe6f8a2742'] builddependencies = [('binutils', '2.34')] +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" INCLUDES="${CPPFLAGS}"' + files_to_copy = [ (['%(name)s'], 'bin'), (['lib%(name)s.a'], 'lib'), diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.18-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.18-GCCcore-10.2.0.eb index 9f7b208cc9f..d159c3b3967 100644 --- a/easybuild/easyconfigs/m/minimap2/minimap2-2.18-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.18-GCCcore-10.2.0.eb @@ -26,6 +26,10 @@ checksums = ['7a55101d58ecaec545db51079ad82b214632dc697ee67290b6dc34cc70dbeeb4'] builddependencies = [('binutils', '2.35')] +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" INCLUDES="${CPPFLAGS}"' + files_to_copy = [ (['%(name)s'], 'bin'), (['lib%(name)s.a'], 'lib'), diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.2.0.eb index 5cff5bf900c..8ba21e5c0fe 100644 --- a/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.2.0.eb @@ -26,6 +26,10 @@ checksums = ['f9eff90a7f14f999df93dff6ed4e3428277edbbd6bda6bdb1800e8d57c9135e3'] builddependencies = [('binutils', '2.35')] +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="${CC}" CFLAGS="${CFLAGS}" INCLUDES="${CPPFLAGS}"' + files_to_copy = [ (['%(name)s'], 'bin'), (['lib%(name)s.a'], 'lib'), diff --git a/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..03c1e61f914 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.20-GCCcore-10.3.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# Big Data Institute, University of Oxford +# Updated to 2.20 +# J. Sassmannshausen / GSTT + +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.20' + +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': '10.3.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['f9eff90a7f14f999df93dff6ed4e3428277edbbd6bda6bdb1800e8d57c9135e3'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +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/minimap2/minimap2-2.22-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.22-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3bc73a3ee38 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.22-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# DeepThought, Flinders University +# Updated to 2.22 +# R.QIAO + +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.22' + +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': '11.2.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['c96ecd0a0dbe61eb2da6a7ae06c9fc7249ee63d2ebf1909e07213cb6ec0a4633'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +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/minimap2/minimap2-2.24-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fc4339d4b56 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# DeepThought, Flinders University +# Updated to 2.22 +# R.QIAO + +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.24' + +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': '11.2.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['9dd4c31ff082182948944bcdad6d328f64f09295d10547d72eba24189880a615'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +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/minimap2/minimap2-2.24-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aea5a475d68 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.24-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Adam Huffman +# DeepThought, Flinders University +# Updated to 2.22 +# R.QIAO + +easyblock = 'MakeCp' + +name = 'minimap2' +version = '2.24' + +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': '11.3.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['9dd4c31ff082182948944bcdad6d328f64f09295d10547d72eba24189880a615'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +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/minimap2/minimap2-2.26-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.26-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..34d616d1e19 --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.26-GCCcore-12.2.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.2.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.39')] + +dependencies = [('zlib', '1.2.12')] + +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/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/minimap2/minimap2-2.28-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/minimap2/minimap2-2.28-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..94f332d290b --- /dev/null +++ b/easybuild/easyconfigs/m/minimap2/minimap2-2.28-GCCcore-13.2.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.28' + +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': '13.2.0'} + +source_urls = ['https://github.com/lh3/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['ffa5712735d229119f8c05722a0638ae0cc15aeb8938e29a3e52d5da5c92a0b4'] + +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/miniprot/miniprot-0.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/miniprot/miniprot-0.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..aa598c6869b --- /dev/null +++ b/easybuild/easyconfigs/m/miniprot/miniprot-0.13-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = "MakeCp" + +name = 'miniprot' +version = '0.13' + +homepage = 'https://github.com/lh3/miniprot' +description = """Miniprot aligns a protein sequence against a genome with affine gap penalty, splicing and frameshift. +It is primarily intended for annotating protein-coding genes in a new species using known genes from other species. +Miniprot is similar to GeneWise and Exonerate in functionality but it can map proteins to whole genomes and is much +faster at the residue alignment step.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/lh3/miniprot/archive'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['be12d98d998beb78e4e06350c03d2f188bcdf3245d6bcaf43e2cc80785a617a4'] + +builddependencies = [('binutils', '2.40')] +dependencies = [('zlib', '1.2.13')] + +files_to_copy = [ + (['*.h', 'miniprot.1', 'test', 'tex'], 'lib'), + (['miniprot'], 'bin'), + 'README.md', + 'LICENSE.txt', +] + +sanity_check_paths = { + 'files': ['bin/miniprot'], + 'dirs': ['lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a5989e65647 --- /dev/null +++ b/easybuild/easyconfigs/m/minizip/minizip-1.1-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'minizip' +version = '1.1' +_zlib_version = '1.2.11' + +homepage = 'https://www.winimage.com/zLibDll/minizip.html' +description = "Mini zip and unzip based on zlib" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +# This exists in the contrib section of zlib and since it depends on +# zlib the sources will already have been downloaded +sources = [ + {'filename': 'zlib-%s.tar.gz' % _zlib_version, 'alt_location': 'zlib'}, +] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', _zlib_version), +] + +start_dir = 'contrib/minizip' + +preconfigopts = 'autoreconf -i && ' + +sanity_check_paths = { + 'files': ['include/minizip/unzip.h', 'lib/libminizip.a', 'lib/libminizip.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mkl-service/mkl-service-2.3.0-intel-2021b.eb b/easybuild/easyconfigs/m/mkl-service/mkl-service-2.3.0-intel-2021b.eb new file mode 100644 index 00000000000..0f71934a28f --- /dev/null +++ b/easybuild/easyconfigs/m/mkl-service/mkl-service-2.3.0-intel-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'mkl-service' +version = '2.3.0' + +homepage = 'https://github.com/IntelPython/mkl-service' +description = "Python hooks for Intel(R) Math Kernel Library runtime control settings." + +toolchain = {'name': 'intel', 'version': '2021b'} + +source_urls = ['https://github.com/IntelPython/mkl-service/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['mkl-service-2.0.2_fix-mkl-lib.patch'] +checksums = [ + 'f0c61f44f29d1264a464c14791b042826f0f74da094c3355dcc295943c46fed5', # v2.3.0.tar.gz + 'e35045a5095a2b4056fe9ee3a52586f2cb5417b90eeddbcc9abae746ff40f2e5', # mkl-service-2.0.2_fix-mkl-lib.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'mkl'} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb new file mode 100644 index 00000000000..d29a795341f --- /dev/null +++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'ml-collections' +version = '0.1.1' + +homepage = 'https://github.com/google/ml_collections' +description = """ +ML Collections is a library of Python Collections designed for ML use cases. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), +] + + +use_pip = True + +exts_list = [ + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', version, { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb new file mode 100644 index 00000000000..79034a7433d --- /dev/null +++ b/easybuild/easyconfigs/m/ml-collections/ml-collections-0.1.1-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'ml-collections' +version = '0.1.1' + +homepage = 'https://github.com/google/ml_collections' +description = """ +ML Collections is a library of Python Collections designed for ML use cases. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', version, { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb new file mode 100644 index 00000000000..9c3a18bfdb5 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2-gfbf-2023a.eb @@ -0,0 +1,51 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'ml_dtypes' +version = '0.3.2' + +homepage = 'https://github.com/jax-ml/ml_dtypes' +description = """ +ml_dtypes is a stand-alone implementation of several NumPy dtype extensions used +in machine learning libraries, including: + +bfloat16: an alternative to the standard float16 format +float8_*: several experimental 8-bit floating point representations including: +float8_e4m3b11fnuz +float8_e4m3fn +float8_e4m3fnuz +float8_e5m2 +float8_e5m2fnuz +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + + +use_pip = True + +default_easyblock = 'PythonPackage' + +exts_list = [ + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('etils', '1.6.0', { + 'checksums': ['c635fbd02a79fed4ad76825d31306b581d22b40671721daa8bc279cf6333e48a'], + }), + (name, version, { + 'patches': [('ml_dtypes-0.3.2_EigenAvx512.patch', 1)], + 'checksums': [ + {'ml_dtypes-0.3.2.tar.gz': '533059bc5f1764fac071ef54598db358c167c51a718f68f5bb55e3dee79d2967'}, + {'ml_dtypes-0.3.2_EigenAvx512.patch': '197b05b0b7f611749824369f026099f6a172f9e8eab6ebb6504a16573746c892'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch new file mode 100644 index 00000000000..42ea0606391 --- /dev/null +++ b/easybuild/easyconfigs/m/ml_dtypes/ml_dtypes-0.3.2_EigenAvx512.patch @@ -0,0 +1,1219 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/01 +# ml_dtype 0.3.2 ships a copy of Eigen commit 7bf2968 (https://gitlab.com/libeigen/eigen/-/commit/7bf2968). +# This copy is missing the file src/Core/arch/AVX512/TrsmUnrolls.inc, which is added by the present patch. +diff -ru --new-file old/third_party_ori/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc +--- old/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 1970-01-01 01:00:00.000000000 +0100 ++++ new/third_party/eigen/Eigen/src/Core/arch/AVX512/TrsmUnrolls.inc 2024-02-14 10:32:25.492978066 +0100 +@@ -0,0 +1,1212 @@ ++// This file is part of Eigen, a lightweight C++ template library ++// for linear algebra. ++// ++// Copyright (C) 2022 Intel Corporation ++// ++// This Source Code Form is subject to the terms of the Mozilla ++// Public License v. 2.0. If a copy of the MPL was not distributed ++// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. ++ ++#ifndef EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++#define EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H ++ ++template ++EIGEN_ALWAYS_INLINE int64_t idA(int64_t i, int64_t j, int64_t LDA) { ++ EIGEN_IF_CONSTEXPR(isARowMajor) return i * LDA + j; ++ else return i + j * LDA; ++} ++ ++/** ++ * This namespace contains various classes used to generate compile-time unrolls which are ++ * used throughout the trsm/gemm kernels. The unrolls are characterized as for-loops (1-D), nested ++ * for-loops (2-D), or triple nested for-loops (3-D). Unrolls are generated using template recursion ++ * ++ * Example, the 2-D for-loop is unrolled recursively by first flattening to a 1-D loop. ++ * ++ * for(startI = 0; startI < endI; startI++) for(startC = 0; startC < endI*endJ; startC++) ++ * for(startJ = 0; startJ < endJ; startJ++) ----> startI = (startC)/(endJ) ++ * func(startI,startJ) startJ = (startC)%(endJ) ++ * func(...) ++ * ++ * The 1-D loop can be unrolled recursively by using enable_if and defining an auxillary function ++ * with a template parameter used as a counter. ++ * ++ * template ++ * std::enable_if_t<(counter <= 0)> <---- tail case. ++ * aux_func {} ++ * ++ * template ++ * std::enable_if_t<(counter > 0)> <---- actual for-loop ++ * aux_func { ++ * startC = endI*endJ - counter ++ * startI = (startC)/(endJ) ++ * startJ = (startC)%(endJ) ++ * func(startI, startJ) ++ * aux_func() ++ * } ++ * ++ * Note: Additional wrapper functions are provided for aux_func which hides the counter template ++ * parameter since counter usually depends on endI, endJ, etc... ++ * ++ * Conventions: ++ * 1) endX: specifies the terminal value for the for-loop, (ex: for(startX = 0; startX < endX; startX++)) ++ * ++ * 2) rem, remM, remK template parameters are used for deciding whether to use masked operations for ++ * handling remaining tails (when sizes are not multiples of PacketSize or EIGEN_AVX_MAX_NUM_ROW) ++ */ ++namespace unrolls { ++ ++template ++EIGEN_ALWAYS_INLINE auto remMask(int64_t m) { ++ EIGEN_IF_CONSTEXPR(N == 16) { return 0xFFFF >> (16 - m); } ++ else EIGEN_IF_CONSTEXPR(N == 8) { ++ return 0xFF >> (8 - m); ++ } ++ else EIGEN_IF_CONSTEXPR(N == 4) { ++ return 0x0F >> (4 - m); ++ } ++ return 0; ++} ++ ++template ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel); ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ __m512 T0 = _mm512_unpacklo_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T1 = _mm512_unpackhi_ps(kernel.packet[0], kernel.packet[1]); ++ __m512 T2 = _mm512_unpacklo_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T3 = _mm512_unpackhi_ps(kernel.packet[2], kernel.packet[3]); ++ __m512 T4 = _mm512_unpacklo_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T5 = _mm512_unpackhi_ps(kernel.packet[4], kernel.packet[5]); ++ __m512 T6 = _mm512_unpacklo_ps(kernel.packet[6], kernel.packet[7]); ++ __m512 T7 = _mm512_unpackhi_ps(kernel.packet[6], kernel.packet[7]); ++ ++ kernel.packet[0] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[1] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T0), _mm512_castps_pd(T2))); ++ kernel.packet[2] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[3] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T1), _mm512_castps_pd(T3))); ++ kernel.packet[4] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[5] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T4), _mm512_castps_pd(T6))); ++ kernel.packet[6] = _mm512_castpd_ps(_mm512_unpacklo_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ kernel.packet[7] = _mm512_castpd_ps(_mm512_unpackhi_pd(_mm512_castps_pd(T5), _mm512_castps_pd(T7))); ++ ++ T0 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[4]), 0x4E)); ++ T0 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[0], T0); ++ T4 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[0]), 0x4E)); ++ T4 = _mm512_mask_blend_ps(0xF0F0, T4, kernel.packet[4]); ++ T1 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[5]), 0x4E)); ++ T1 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[1], T1); ++ T5 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[1]), 0x4E)); ++ T5 = _mm512_mask_blend_ps(0xF0F0, T5, kernel.packet[5]); ++ T2 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[6]), 0x4E)); ++ T2 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[2], T2); ++ T6 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[2]), 0x4E)); ++ T6 = _mm512_mask_blend_ps(0xF0F0, T6, kernel.packet[6]); ++ T3 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[7]), 0x4E)); ++ T3 = _mm512_mask_blend_ps(0xF0F0, kernel.packet[3], T3); ++ T7 = _mm512_castpd_ps(_mm512_permutex_pd(_mm512_castps_pd(kernel.packet[3]), 0x4E)); ++ T7 = _mm512_mask_blend_ps(0xF0F0, T7, kernel.packet[7]); ++ ++ kernel.packet[0] = T0; ++ kernel.packet[1] = T1; ++ kernel.packet[2] = T2; ++ kernel.packet[3] = T3; ++ kernel.packet[4] = T4; ++ kernel.packet[5] = T5; ++ kernel.packet[6] = T6; ++ kernel.packet[7] = T7; ++} ++ ++template <> ++EIGEN_ALWAYS_INLINE void trans8x8blocks(PacketBlock &kernel) { ++ ptranspose(kernel); ++} ++ ++/*** ++ * Unrolls for tranposed C stores ++ */ ++template ++class trans { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - storeC ++ *********************************** ++ */ ++ ++ /** ++ * aux_storeC ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ * ++ * (endN <= PacketSize) is required to handle the fp32 case, see comments in transStoreC ++ * ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(startN < EIGEN_AVX_MAX_NUM_ROW) { ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]), ++ remMask(remM_)), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu(C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret(zmm.packet[packetIndexOffset + (unrollN / PacketSize) * startN]))); ++ } ++ } ++ else { // This block is only needed for fp32 case ++ // Reinterpret as __m512 for _mm512_shuffle_f32x4 ++ vecFullFloat zmm2vecFullFloat = preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]); ++ // Swap lower and upper half of avx register. ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)] = ++ preinterpret(_mm512_shuffle_f32x4(zmm2vecFullFloat, zmm2vecFullFloat, 0b01001110)); ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN, remMask(remM_)), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)])), ++ remMask(remM_)); ++ } ++ else { ++ pstoreu( ++ C_arr + LDC * startN, ++ padd(ploadu((const Scalar *)C_arr + LDC * startN), ++ preinterpret( ++ zmm.packet[packetIndexOffset + (unrollN / PacketSize) * (startN - EIGEN_AVX_MAX_NUM_ROW)]))); ++ } ++ } ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && endN <= PacketSize)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t remM_ = 0) { ++ aux_storeC(C_arr, LDC, zmm, remM_); ++ } ++ ++ /** ++ * Transposes LxunrollN row major block of matrices stored EIGEN_AVX_MAX_NUM_ACC zmm registers to ++ * "unrollN"xL ymm registers to be stored col-major into C. ++ * ++ * For 8x48, the 8x48 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 zmm2 ++ * row1: zmm3 zmm4 zmm5 ++ * . ++ * . ++ * row7: zmm21 zmm22 zmm23 ++ * ++ * For 8x32, the 8x32 block (row-major) is stored in zmm as follows: ++ * ++ * row0: zmm0 zmm1 ++ * row1: zmm2 zmm3 ++ * . ++ * . ++ * row7: zmm14 zmm15 ++ * ++ * ++ * In general we will have {1,2,3} groups of avx registers each of size ++ * EIGEN_AVX_MAX_NUM_ROW. packetIndexOffset is used to select which "block" of ++ * avx registers are being transposed. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void transpose(PacketBlock &zmm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ constexpr int64_t zmmStride = unrollN / PacketSize; ++ PacketBlock r; ++ r.packet[0] = zmm.packet[packetIndexOffset + zmmStride * 0]; ++ r.packet[1] = zmm.packet[packetIndexOffset + zmmStride * 1]; ++ r.packet[2] = zmm.packet[packetIndexOffset + zmmStride * 2]; ++ r.packet[3] = zmm.packet[packetIndexOffset + zmmStride * 3]; ++ r.packet[4] = zmm.packet[packetIndexOffset + zmmStride * 4]; ++ r.packet[5] = zmm.packet[packetIndexOffset + zmmStride * 5]; ++ r.packet[6] = zmm.packet[packetIndexOffset + zmmStride * 6]; ++ r.packet[7] = zmm.packet[packetIndexOffset + zmmStride * 7]; ++ trans8x8blocks(r); ++ zmm.packet[packetIndexOffset + zmmStride * 0] = r.packet[0]; ++ zmm.packet[packetIndexOffset + zmmStride * 1] = r.packet[1]; ++ zmm.packet[packetIndexOffset + zmmStride * 2] = r.packet[2]; ++ zmm.packet[packetIndexOffset + zmmStride * 3] = r.packet[3]; ++ zmm.packet[packetIndexOffset + zmmStride * 4] = r.packet[4]; ++ zmm.packet[packetIndexOffset + zmmStride * 5] = r.packet[5]; ++ zmm.packet[packetIndexOffset + zmmStride * 6] = r.packet[6]; ++ zmm.packet[packetIndexOffset + zmmStride * 7] = r.packet[7]; ++ } ++}; ++ ++/** ++ * Unrolls for copyBToRowMajor ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers (using loadB). ++ * 2) Convert the block from column-major to row-major (transposeLxL) ++ * 3) Store the blocks from register either to a temp array (toTemp == true), or back to B (toTemp == false). ++ * ++ * We use at most EIGEN_AVX_MAX_NUM_ACC avx registers to store the blocks of B. The remaining registers are ++ * used as temps for transposing. ++ * ++ * Blocks will be of size Lx{U1,U2,U3}. packetIndexOffset is used to index between these subblocks ++ * For fp32, PacketSize = 2*EIGEN_AVX_MAX_NUM_ROW, so we reinterpret packets as packets half the size (zmm -> ymm). ++ */ ++template ++class transB { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ using vecHalf = typename std::conditional::value, vecHalfFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadB ++ * - storeB ++ * - loadBBlock ++ * - storeBBlock ++ *********************************** ++ */ ++ ++ /** ++ * aux_loadB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remM) { ++ ymm.packet[packetIndexOffset + startN] = ++ ploadu((const Scalar *)&B_arr[startN * LDB], remMask(remM_)); ++ } ++ else ymm.packet[packetIndexOffset + startN] = ploadu((const Scalar *)&B_arr[startN * LDB]); ++ ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeB ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(remK || remM) { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN], ++ remMask(rem_)); ++ } ++ else { ++ pstoreu(&B_arr[startN * LDB], ymm.packet[packetIndexOffset + startN]); ++ } ++ ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeB( ++ Scalar *B_arr, int64_t LDB, PacketBlock &ymm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_loadBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ transB::template loadB(&B_temp[startN], LDB_, ymm); ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /** ++ * aux_storeBBlock ++ * ++ * 1-D unroll ++ * for(startN = 0; startN < endN; startN += EIGEN_AVX_MAX_NUM_ROW) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ constexpr int64_t counterReverse = endN - counter; ++ constexpr int64_t startN = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(toTemp) { ++ transB::template storeB(&B_temp[startN], LDB_, ymm, remK_); ++ } ++ else { ++ transB::template storeB(&B_arr[0 + startN * LDB], LDB, ++ ymm, remM_); ++ } ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeBBlock( ++ Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, int64_t remM_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(B_temp); ++ EIGEN_UNUSED_VARIABLE(LDB_); ++ EIGEN_UNUSED_VARIABLE(ymm); ++ EIGEN_UNUSED_VARIABLE(remM_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_loadB(B_arr, LDB, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeB(Scalar *B_arr, int64_t LDB, ++ PacketBlock &ymm, ++ int64_t rem_ = 0) { ++ aux_storeB(B_arr, LDB, ymm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void loadBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ EIGEN_IF_CONSTEXPR(toTemp) { transB::template loadB(&B_arr[0], LDB, ymm, remM_); } ++ else { ++ aux_loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeBBlock(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ aux_storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transposeLxL(PacketBlock &ymm) { ++ // Note: this assumes EIGEN_AVX_MAX_NUM_ROW = 8. Unrolls should be adjusted ++ // accordingly if EIGEN_AVX_MAX_NUM_ROW is smaller. ++ PacketBlock r; ++ r.packet[0] = ymm.packet[packetIndexOffset + 0]; ++ r.packet[1] = ymm.packet[packetIndexOffset + 1]; ++ r.packet[2] = ymm.packet[packetIndexOffset + 2]; ++ r.packet[3] = ymm.packet[packetIndexOffset + 3]; ++ r.packet[4] = ymm.packet[packetIndexOffset + 4]; ++ r.packet[5] = ymm.packet[packetIndexOffset + 5]; ++ r.packet[6] = ymm.packet[packetIndexOffset + 6]; ++ r.packet[7] = ymm.packet[packetIndexOffset + 7]; ++ ptranspose(r); ++ ymm.packet[packetIndexOffset + 0] = r.packet[0]; ++ ymm.packet[packetIndexOffset + 1] = r.packet[1]; ++ ymm.packet[packetIndexOffset + 2] = r.packet[2]; ++ ymm.packet[packetIndexOffset + 3] = r.packet[3]; ++ ymm.packet[packetIndexOffset + 4] = r.packet[4]; ++ ymm.packet[packetIndexOffset + 5] = r.packet[5]; ++ ymm.packet[packetIndexOffset + 6] = r.packet[6]; ++ ymm.packet[packetIndexOffset + 7] = r.packet[7]; ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void transB_kernel(Scalar *B_arr, int64_t LDB, Scalar *B_temp, int64_t LDB_, ++ PacketBlock &ymm, ++ int64_t remM_ = 0) { ++ constexpr int64_t U3 = PacketSize * 3; ++ constexpr int64_t U2 = PacketSize * 2; ++ constexpr int64_t U1 = PacketSize * 1; ++ /** ++ * Unrolls needed for each case: ++ * - AVX512 fp32 48 32 16 8 4 2 1 ++ * - AVX512 fp64 24 16 8 4 2 1 ++ * ++ * For fp32 L and U1 are 1:2 so for U3/U2 cases the loads/stores need to be split up. ++ */ ++ EIGEN_IF_CONSTEXPR(unrollN == U3) { ++ // load LxU3 B col major, transpose LxU3 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U3); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U3) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, &B_temp[maxUBlock], LDB_, ++ ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U2) { ++ // load LxU2 B col major, transpose LxU2 row major ++ constexpr int64_t maxUBlock = std::min(3 * EIGEN_AVX_MAX_NUM_ROW, U2); ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) transB::template transposeLxL<2 * EIGEN_AVX_MAX_NUM_ROW>(ymm); ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ ++ EIGEN_IF_CONSTEXPR(maxUBlock < U2) { ++ transB::template loadBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock(&B_arr[maxUBlock * LDB], LDB, ++ &B_temp[maxUBlock], LDB_, ymm, remM_); ++ } ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == U1) { ++ // load LxU1 B col major, transpose LxU1 row major ++ transB::template loadBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ EIGEN_IF_CONSTEXPR(EIGEN_AVX_MAX_NUM_ROW < U1) { transB::template transposeLxL<1 * EIGEN_AVX_MAX_NUM_ROW>(ymm); } ++ transB::template storeBBlock(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 8 && U1 > 8) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<8, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<8, toTemp, remM, 8>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 4 && U1 > 4) { ++ // load Lx4 B col major, transpose Lx4 row major ++ transB::template loadBBlock<4, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<4, toTemp, remM, 4>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 2) { ++ // load Lx2 B col major, transpose Lx2 row major ++ transB::template loadBBlock<2, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<2, toTemp, remM, 2>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ else EIGEN_IF_CONSTEXPR(unrollN == 1) { ++ // load Lx1 B col major, transpose Lx1 row major ++ transB::template loadBBlock<1, toTemp, remM>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ transB::template transposeLxL<0>(ymm); ++ transB::template storeBBlock<1, toTemp, remM, 1>(B_arr, LDB, B_temp, LDB_, ymm, remM_); ++ } ++ } ++}; ++ ++/** ++ * Unrolls for triSolveKernel ++ * ++ * Idea: ++ * 1) Load a block of right-hand sides to registers in RHSInPacket (using loadRHS). ++ * 2) Do triangular solve with RHSInPacket and a small block of A (triangular matrix) ++ * stored in AInPacket (using triSolveMicroKernel). ++ * 3) Store final results (in avx registers) back into memory (using storeRHS). ++ * ++ * RHSInPacket uses at most EIGEN_AVX_MAX_NUM_ACC avx registers and AInPacket uses at most ++ * EIGEN_AVX_MAX_NUM_ROW registers. ++ */ ++template ++class trsm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - loadRHS ++ * - storeRHS ++ * - divRHSByDiag ++ * - updateRHS ++ * - triSolveMicroKernel ++ ************************************/ ++ /** ++ * aux_loadRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex], remMask(rem)); ++ } ++ else { ++ RHSInPacket.packet[packetIndex] = ploadu(&B_arr[rhsIndex]); ++ } ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_storeRHS ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ constexpr int64_t counterReverse = endM * endK - counter; ++ constexpr int64_t startM = counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ constexpr int64_t packetIndex = startM * endK + startK; ++ constexpr int64_t startM_ = isFWDSolve ? startM : -startM; ++ const int64_t rhsIndex = (startK * PacketSize) + startM_ * LDB; ++ EIGEN_IF_CONSTEXPR(krem) { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex], remMask(rem)); ++ } ++ else { ++ pstoreu(&B_arr[rhsIndex], RHSInPacket.packet[packetIndex]); ++ } ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeRHS( ++ Scalar *B_arr, int64_t LDB, PacketBlock &RHSInPacket, int64_t rem = 0) { ++ EIGEN_UNUSED_VARIABLE(B_arr); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(rem); ++ } ++ ++ /** ++ * aux_divRHSByDiag ++ * ++ * currM may be -1, (currM >=0) in enable_if checks for this ++ * ++ * 1-D unroll ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endK - counter; ++ constexpr int64_t startK = counterReverse; ++ ++ constexpr int64_t packetIndex = currM * endK + startK; ++ RHSInPacket.packet[packetIndex] = pmul(AInPacket.packet[currM], RHSInPacket.packet[packetIndex]); ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t 0 && currM >= 0)> aux_divRHSByDiag( ++ PacketBlock &RHSInPacket, PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_updateRHS ++ * ++ * 2-D unroll ++ * for(startM = initM; startM < endM; startM++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = (endM - initM) * endK - counter; ++ constexpr int64_t startM = initM + counterReverse / (endK); ++ constexpr int64_t startK = counterReverse % endK; ++ ++ // For each row of A, first update all corresponding RHS ++ constexpr int64_t packetIndex = startM * endK + startK; ++ EIGEN_IF_CONSTEXPR(currentM > 0) { ++ RHSInPacket.packet[packetIndex] = ++ pnmadd(AInPacket.packet[startM], RHSInPacket.packet[(currentM - 1) * endK + startK], ++ RHSInPacket.packet[packetIndex]); ++ } ++ ++ EIGEN_IF_CONSTEXPR(startK == endK - 1) { ++ // Once all RHS for previous row of A is updated, we broadcast the next element in the column A_{i, currentM}. ++ EIGEN_IF_CONSTEXPR(startM == currentM && !isUnitDiag) { ++ // If diagonal is not unit, we broadcast reciprocals of diagonals AinPacket.packet[currentM]. ++ // This will be used in divRHSByDiag ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(currentM, currentM, LDA)]); ++ else AInPacket.packet[currentM] = pset1(Scalar(1) / A_arr[idA(-currentM, -currentM, LDA)]); ++ } ++ else { ++ // Broadcast next off diagonal element of A ++ EIGEN_IF_CONSTEXPR(isFWDSolve) ++ AInPacket.packet[startM] = pset1(A_arr[idA(startM, currentM, LDA)]); ++ else AInPacket.packet[startM] = pset1(A_arr[idA(-startM, -currentM, LDA)]); ++ } ++ } ++ ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateRHS( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /** ++ * aux_triSolverMicroKernel ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ constexpr int64_t currentM = startM; ++ // Divides the right-hand side in row startM, by digonal value of A ++ // broadcasted to AInPacket.packet[startM-1] in the previous iteration. ++ // ++ // Without "if constexpr" the compiler instantiates the case <-1, numK> ++ // this is handled with enable_if to prevent out-of-bound warnings ++ // from the compiler ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM > 0) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ // After division, the rhs corresponding to subsequent rows of A can be partially updated ++ // We also broadcast the reciprocal of the next diagonal to AInPacket.packet[currentM] (if needed) ++ // to be used in the next iteration. ++ trsm::template updateRHS(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ ++ // Handle division for the RHS corresponding to the final row of A. ++ EIGEN_IF_CONSTEXPR(!isUnitDiag && startM == endM - 1) ++ trsm::template divRHSByDiag(RHSInPacket, AInPacket); ++ ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, ++ AInPacket); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_triSolveMicroKernel( ++ Scalar *A_arr, int64_t LDA, PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ EIGEN_UNUSED_VARIABLE(A_arr); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(RHSInPacket); ++ EIGEN_UNUSED_VARIABLE(AInPacket); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_loadRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Load endMxendK block of B to RHSInPacket ++ * Masked loads are used for cases where endK is not a multiple of PacketSize ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void storeRHS(Scalar *B_arr, int64_t LDB, ++ PacketBlock &RHSInPacket, int64_t rem = 0) { ++ aux_storeRHS(B_arr, LDB, RHSInPacket, rem); ++ } ++ ++ /** ++ * Only used if Triangular matrix has non-unit diagonal values ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void divRHSByDiag(PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_divRHSByDiag(RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * Update right-hand sides (stored in avx registers) ++ * Traversing along the column A_{i,currentM}, where currentM <= i <= endM, and broadcasting each value to AInPacket. ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE void updateRHS(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ aux_updateRHS( ++ A_arr, LDA, RHSInPacket, AInPacket); ++ } ++ ++ /** ++ * endM: dimension of A. 1 <= endM <= EIGEN_AVX_MAX_NUM_ROW ++ * numK: number of avx registers to use for each row of B (ex fp32: 48 rhs => 3 avx reg used). 1 <= endK <= 3. ++ * isFWDSolve: true => forward substitution, false => backwards substitution ++ * isUnitDiag: true => triangular matrix has unit diagonal. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void triSolveMicroKernel(Scalar *A_arr, int64_t LDA, ++ PacketBlock &RHSInPacket, ++ PacketBlock &AInPacket) { ++ static_assert(numK >= 1 && numK <= 3, "numK out of range"); ++ aux_triSolveMicroKernel(A_arr, LDA, RHSInPacket, AInPacket); ++ } ++}; ++ ++/** ++ * Unrolls for gemm kernel ++ * ++ * isAdd: true => C += A*B, false => C -= A*B ++ */ ++template ++class gemm { ++ public: ++ using vec = typename std::conditional::value, vecFullFloat, vecFullDouble>::type; ++ static constexpr int64_t PacketSize = packet_traits::size; ++ ++ /*********************************** ++ * Auxillary Functions for: ++ * - setzero ++ * - updateC ++ * - storeC ++ * - startLoadB ++ * - triSolveMicroKernel ++ ************************************/ ++ ++ /** ++ * aux_setzero ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_setzero( ++ PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ zmm.packet[startN * endM + startM] = pzero(zmm.packet[startN * endM + startM]); ++ aux_setzero(zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_setzero( ++ PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_updateC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize], remMask(rem_)), ++ zmm.packet[startN * endM + startM], remMask(rem_)); ++ else zmm.packet[startN * endM + startM] = ++ padd(ploadu(&C_arr[(startN)*LDC + startM * PacketSize]), zmm.packet[startN * endM + startM]); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_updateC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_storeC ++ * ++ * 2-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN - counter; ++ constexpr int64_t startM = counterReverse / (endN); ++ constexpr int64_t startN = counterReverse % endN; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM], ++ remMask(rem_)); ++ else pstoreu(&C_arr[(startN)*LDC + startM * PacketSize], zmm.packet[startN * endM + startM]); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_storeC( ++ Scalar *C_arr, int64_t LDC, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(C_arr); ++ EIGEN_UNUSED_VARIABLE(LDC); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startLoadB ++ * ++ * 1-D unroll ++ * for(startL = 0; startL < endL; startL++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endL - counter; ++ constexpr int64_t startL = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) ++ zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize], remMask(rem_)); ++ else zmm.packet[unrollM * unrollN + startL] = ++ ploadu(&B_t[(startL / unrollM) * LDB + (startL % unrollM) * PacketSize]); ++ ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startLoadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_startBCastA ++ * ++ * 1-D unroll ++ * for(startB = 0; startB < endB; startB++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ constexpr int64_t counterReverse = endB - counter; ++ constexpr int64_t startB = counterReverse; ++ ++ zmm.packet[unrollM * unrollN + numLoad + startB] = pload1(&A_t[idA(startB, 0, LDA)]); ++ ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_startBCastA( ++ Scalar *A_t, int64_t LDA, PacketBlock &zmm) { ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ } ++ ++ /** ++ * aux_loadB ++ * currK: current K ++ * ++ * 1-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ if ((numLoad / endM + currK < unrollK)) { ++ constexpr int64_t counterReverse = endM - counter; ++ constexpr int64_t startM = counterReverse; ++ ++ EIGEN_IF_CONSTEXPR(rem) { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize], remMask(rem_)); ++ } ++ else { ++ zmm.packet[endM * unrollN + (startM + currK * endM) % numLoad] = ++ ploadu(&B_t[(numLoad / endM + currK) * LDB + startM * PacketSize]); ++ } ++ ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_loadB( ++ Scalar *B_t, int64_t LDB, PacketBlock &zmm, int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /** ++ * aux_microKernel ++ * ++ * 3-D unroll ++ * for(startM = 0; startM < endM; startM++) ++ * for(startN = 0; startN < endN; startN++) ++ * for(startK = 0; startK < endK; startK++) ++ **/ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter > 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ constexpr int64_t counterReverse = endM * endN * endK - counter; ++ constexpr int startK = counterReverse / (endM * endN); ++ constexpr int startN = (counterReverse / (endM)) % endN; ++ constexpr int startM = counterReverse % endM; ++ ++ EIGEN_IF_CONSTEXPR(startK == 0 && startM == 0 && startN == 0) { ++ gemm::template startLoadB(B_t, LDB, zmm, rem_); ++ gemm::template startBCastA(A_t, LDA, zmm); ++ } ++ ++ { ++ // Interleave FMA and Bcast ++ EIGEN_IF_CONSTEXPR(isAdd) { ++ zmm.packet[startN * endM + startM] = ++ pmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ else { ++ zmm.packet[startN * endM + startM] = ++ pnmadd(zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast], ++ zmm.packet[endM * endN + (startM + startK * endM) % numLoad], zmm.packet[startN * endM + startM]); ++ } ++ // Bcast ++ EIGEN_IF_CONSTEXPR(startM == endM - 1 && (numBCast + startN + startK * endN < endK * endN)) { ++ zmm.packet[endM * endN + numLoad + (startN + startK * endN) % numBCast] = pload1(&A_t[idA( ++ (numBCast + startN + startK * endN) % endN, (numBCast + startN + startK * endN) / endN, LDA)]); ++ } ++ } ++ ++ // We have updated all accumlators, time to load next set of B's ++ EIGEN_IF_CONSTEXPR((startN == endN - 1) && (startM == endM - 1)) { ++ gemm::template loadB(B_t, LDB, zmm, rem_); ++ } ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE std::enable_if_t<(counter <= 0)> aux_microKernel( ++ Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(B_t); ++ EIGEN_UNUSED_VARIABLE(A_t); ++ EIGEN_UNUSED_VARIABLE(LDB); ++ EIGEN_UNUSED_VARIABLE(LDA); ++ EIGEN_UNUSED_VARIABLE(zmm); ++ EIGEN_UNUSED_VARIABLE(rem_); ++ } ++ ++ /******************************************************** ++ * Wrappers for aux_XXXX to hide counter parameter ++ ********************************************************/ ++ ++ template ++ static EIGEN_ALWAYS_INLINE void setzero(PacketBlock &zmm) { ++ aux_setzero(zmm); ++ } ++ ++ /** ++ * Ideally the compiler folds these into vaddp{s,d} with an embedded memory load. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void updateC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_updateC(C_arr, LDC, zmm, rem_); ++ } ++ ++ template ++ static EIGEN_ALWAYS_INLINE void storeC(Scalar *C_arr, int64_t LDC, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_storeC(C_arr, LDC, zmm, rem_); ++ } ++ ++ /** ++ * Use numLoad registers for loading B at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startLoadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_startLoadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Use numBCast registers for broadcasting A at start of microKernel ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void startBCastA(Scalar *A_t, int64_t LDA, ++ PacketBlock &zmm) { ++ aux_startBCastA(A_t, LDA, zmm); ++ } ++ ++ /** ++ * Loads next set of B into vector registers between each K unroll. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void loadB(Scalar *B_t, int64_t LDB, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_loadB(B_t, LDB, zmm, rem_); ++ } ++ ++ /** ++ * Generates a microkernel for gemm (row-major) with unrolls {1,2,4,8}x{U1,U2,U3} to compute C -= A*B. ++ * A matrix can be row/col-major. B matrix is assumed row-major. ++ * ++ * isARowMajor: is A row major ++ * endM: Number registers per row ++ * endN: Number of rows ++ * endK: Loop unroll for K. ++ * numLoad: Number of registers for loading B. ++ * numBCast: Number of registers for broadcasting A. ++ * ++ * Ex: microkernel: 8x48 unroll (24 accumulators), k unrolled 4 times, ++ * 6 register for loading B, 2 for broadcasting A. ++ * ++ * Note: Ideally the microkernel should not have any register spilling. ++ * The avx instruction counts should be: ++ * - endK*endN vbroadcasts{s,d} ++ * - endK*endM vmovup{s,d} ++ * - endK*endN*endM FMAs ++ * ++ * From testing, there are no register spills with clang. There are register spills with GNU, which ++ * causes a performance hit. ++ */ ++ template ++ static EIGEN_ALWAYS_INLINE void microKernel(Scalar *B_t, Scalar *A_t, int64_t LDB, int64_t LDA, ++ PacketBlock &zmm, ++ int64_t rem_ = 0) { ++ EIGEN_UNUSED_VARIABLE(rem_); ++ aux_microKernel(B_t, A_t, LDB, LDA, zmm, ++ rem_); ++ } ++}; ++} // namespace unrolls ++ ++#endif // EIGEN_CORE_ARCH_AVX512_TRSM_UNROLLS_H diff --git a/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb b/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb new file mode 100644 index 00000000000..beb49e03d1e --- /dev/null +++ b/easybuild/easyconfigs/m/mlpack/mlpack-4.3.0-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'mlpack' +version = '4.3.0' + +homepage = 'https://www.mlpack.org/' +description = """mlpack is a fast, header-only C++ machine learning library +written in C++ and built on the Armadillo linear algebra library, the ensmallen +numerical optimization library, and the cereal serialization library.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mlpack/mlpack/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['08cd54f711fde66fc3b6c9db89dc26776f9abf1a6256c77cfa3556e2a56f1a3d'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Armadillo', '12.6.2'), + ('ensmallen', '2.21.1'), + ('Cereal', '1.3.2', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/mlpack_pca', 'include/mlpack.hpp'], + 'dirs': ['bin', 'include', 'lib64'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..dfbe081a366 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.4-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.4' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and utilities shared among the GNOME C++ binding + libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f479bea36ff --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.5' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['705c6d29f4116a29bde4e36cfc1b046c92b6ef8c6dae4eaec85018747e6da5aa'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9a06d985675 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.6' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['b55c46037dbcdabc5cee3b389ea11cc3910adb68ebe883e9477847aa660862e7'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..48aae0caae0 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.6' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['b55c46037dbcdabc5cee3b389ea11cc3910adb68ebe883e9477847aa660862e7'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0078e0948e9 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.6' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['b55c46037dbcdabc5cee3b389ea11cc3910adb68ebe883e9477847aa660862e7'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f545595fd96 --- /dev/null +++ b/easybuild/easyconfigs/m/mm-common/mm-common-1.0.6-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MesonNinja' + +name = 'mm-common' +version = '1.0.6' + +homepage = 'https://gitlab.gnome.org/GNOME/mm-common' +description = """The mm-common module provides the build infrastructure and +utilities shared among the GNOME C++ binding libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['b55c46037dbcdabc5cee3b389ea11cc3910adb68ebe883e9477847aa660862e7'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +sanity_check_paths = { + 'files': ['bin/mm-common-get', 'bin/mm-common-prepare', 'share/pkgconfig/mm-common-util.pc'], + 'dirs': ['share/man/man1'], +} + +sanity_check_commands = ["mm-common-prepare --help"] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/mold/mold-0.9.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/mold/mold-0.9.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c7fdb119d30 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-0.9.6-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'mold' +version = '0.9.6' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['348e1b893d3520322b1e047b5abf040e56ad92de5643e67652ede87b9d694f60'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('xxHash', '0.8.0'), + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +skipsteps = ['configure'] + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-1.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/mold/mold-1.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..abcdedea8e6 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'mold' +version = '1.0.0' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d7cf170b57a3767d944c80c7468215fa9f8fa176f94f411a5b62b3f56cf07400'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('xxHash', '0.8.0'), + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +skipsteps = ['configure'] + +# PREFIX must be specified when building, to ensure that the mold binary looks for mold-wrapper.so in the right place +buildopts = "PREFIX=%(installdir)s" +installopts = buildopts + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-1.11.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/mold/mold-1.11.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..256cc29ec4c --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.11.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '1.11.0' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['99318eced81b09a77e4c657011076cc8ec3d4b6867bd324b8677974545bc4d6f'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mold/mold-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7dbc871c42a --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'mold' +version = '1.2.1' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['41868663ff18afee3fa35e5e3fdf3d9575eb2e4ff49967b8f42f479c61c1ec34'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +skipsteps = ['configure'] + +# PREFIX must be specified when building, to ensure that the mold binary looks for mold-wrapper.so in the right place +buildopts = "PREFIX=%(installdir)s" +installopts = buildopts + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-1.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mold/mold-1.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..874c4beff87 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'mold' +version = '1.3.0' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['02132ae717d7f22f8bc7e5c22642ad41541ec4c535fa85f095c60ecc81465a3d'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +skipsteps = ['configure'] + +# PREFIX must be specified when building, to ensure that the mold binary looks for mold-wrapper.so in the right place +buildopts = "PREFIX=%(installdir)s" +installopts = buildopts + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9dac36ca914 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-1.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '1.7.1' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fa2558664db79a1e20f09162578632fa856b3cde966fbcb23084c352b827dfa9'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-2.3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/m/mold/mold-2.3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d287e355968 --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-2.3.1-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '2.3.1' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['380f540114408c37bcdb7f3bda91a056448a93124ca6992a373ae2bda35e9af7'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e918d8ff41e --- /dev/null +++ b/easybuild/easyconfigs/m/mold/mold-2.31.0-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'mold' +version = '2.31.0' + +homepage = 'https://github.com/rui314/mold' +description = "mold is a high-performance drop-in replacement for existing Unix linkers." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/rui314/mold/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3dc3af83a5d22a4b29971bfad17261851d426961c665480e2ca294e5c74aa1e5'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/mold', 'lib/mold/mold-wrapper.%s' % SHLIB_EXT], + 'dirs': ['share/man'], +} + +sanity_check_commands = [ + "mold --help", + "mold --run gcc -v", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826-intel-2020b.eb b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826-intel-2020b.eb new file mode 100644 index 00000000000..ce073ff0933 --- /dev/null +++ b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826-intel-2020b.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'molecularGSM' +version = '20190826' +_commit_moleculargsm = '02ae717' +_commit_tribits = '5308a8e' + +homepage = 'https://github.com/ZimmermanGroup/molecularGSM' +description = """Code for single-ended and double-ended molecular GSM. +The growing string method is a reaction path and transition state finding method developed in c++.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'debug': True, 'noopt': True, 'extra_cxxflags': '-traceback', 'optarch': False} + +sources = [ + { + 'source_urls': ['https://github.com/ZimmermanGroup/molecularGSM/archive/'], + 'download_filename': '%s.tar.gz' % _commit_moleculargsm, + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/TriBITSPub/TriBITS/archive'], + 'download_filename': '%s.tar.gz' % _commit_tribits, + 'filename': 'TriBITS-%s.tar.gz' % _commit_tribits, + 'extract_cmd': 'tar -xzf %s -C %(name)s-* && cd %(name)s-* && mv TriBITS-* TriBITS', + }, +] +patches = [ + 'molecularGSM-20190826_fix_intel.patch', + 'molecularGSM-20190826_fix_ase_test.patch', +] +checksums = [ + '7bb7fd30d4220f720c25a0c6f761eba2b62f94b3be91b15eb536e49778245afc', # molecularGSM-20190826.tar.gz + '121c3885f8b8d2080a299db7f3f527520c985671280e69cb7beb00cd9e9f3e00', # TriBITS-5308a8e.tar.gz + '64b81dec0380db1d350c6ab33d10acb4364ad929544596025e6c7dfea6144a70', # molecularGSM-20190826_fix_intel.patch + '13b4f207af96749a118dee66a5b1fa9606c65c4c39b1b9981edfe713b46dd9c5', # molecularGSM-20190826_fix_ase_test.patch +] + +builddependencies = [('CMake', '3.18.4')] + +configopts = [ + '', # default is MOPAC + '-DGSM_ENABLE_QCHEM=1', + '-DGSM_ENABLE_QCHEM_SF=1', + '-DGSM_ENABLE_ORCA=1', + '-DGSM_ENABLE_GAUSSIAN=1', + '-DGSM_ENABLE_MOLPRO=1', + '-DGSM_ENABLE_ASE=1', +] + +install_cmd = 'mkdir -p %(installdir)s/bin && cp -a GSM/*.exe %(installdir)s/bin/' + +_bins = ['ase', 'gaussian', 'molpro', 'mopac', 'orca', 'qchem', 'qchem_sf'] + +sanity_check_paths = { + 'files': ['bin/gsm.%s.exe' % x for x in _bins], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_ase_test.patch b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_ase_test.patch new file mode 100644 index 00000000000..60b57bf2d5e --- /dev/null +++ b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_ase_test.patch @@ -0,0 +1,14 @@ +Remove missing test for ASE +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur molecularGSM-02ae717e8f3b3bdfb4fe778c04db61d39194f746.orig/TEST/CMakeLists.txt molecularGSM-02ae717e8f3b3bdfb4fe778c04db61d39194f746/TEST/CMakeLists.txt +--- molecularGSM-02ae717e8f3b3bdfb4fe778c04db61d39194f746.orig/TEST/CMakeLists.txt 2019-08-26 19:05:31.000000000 +0200 ++++ molecularGSM-02ae717e8f3b3bdfb4fe778c04db61d39194f746/TEST/CMakeLists.txt 2021-03-30 12:11:41.946968000 +0200 +@@ -78,7 +78,7 @@ + #GFSTRINGQ_TEST(methanolFormaldehydeHydTransfer/orca/de-gsm methanol) + elseif(GSM_ENABLE_ASE) + MESSAGE(STATUS "ASE is enabled.") +- GFSTRINGQ_TEST(dielsAlder/ase/de-gsm diels) ++ #GFSTRINGQ_TEST(dielsAlder/ase/de-gsm diels) + elseif(GSM_ENABLE_TURBOMOLE) + MESSAGE(STATUS "TURBOMOLE is enabled.") + GFSTRINGQ_TEST(dielsAlder/turbomole/de-gsm-wrapper diels-w-wrapper) diff --git a/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_intel.patch b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_intel.patch new file mode 100644 index 00000000000..e0b8e9111d3 --- /dev/null +++ b/easybuild/easyconfigs/m/molecularGSM/molecularGSM-20190826_fix_intel.patch @@ -0,0 +1,532 @@ +Fix source for building with intel compilers +Source: https://github.com/ZimmermanGroup/molecularGSM/files/4912332/patchfile-GSM.txt +--- GSM/ase.cpp.org 2020-07-09 08:31:35.425473399 +0200 ++++ GSM/ase.cpp 2020-07-09 08:51:59.209752687 +0200 +@@ -130,7 +130,7 @@ + string line; + bool success = true; + +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + double V = -1 * atof(line.c_str()) / 27.2114; + //printf(" found E: %7.5f \n",V); + +@@ -142,7 +142,7 @@ + grad[3*i+0] = grad[3*i+1] = grad[3*i+2] = 1.; + break; + } +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + //cout << "RR " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t[]"); +--- GSM/bmat.cpp.org 2020-07-09 08:31:35.426473390 +0200 ++++ GSM/bmat.cpp 2020-07-09 08:53:45.562819591 +0200 +@@ -4683,7 +4683,7 @@ + int found = 0; + while(!hessfile.eof()) + { +- success = getline(hessfile,line); ++ success = static_cast(getline(hessfile,line)); + if (line.find("Hessian of the SCF Energy")!=string::npos) + { + found = 1; +@@ -4698,7 +4698,7 @@ + while(!hessfile.eof() && found) + { + nf++; +- success = getline(hessfile,line); ++ success = static_cast(getline(hessfile,line)); + //cout << " RR0: " << line << endl; + for (int j=0;j(getline(hesspfile, line)); + //cout << " RR: " << line << endl; + int length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); + natomsf = atoi(tok_line[1].c_str()); + +- success=getline(hesspfile, line); ++ success=static_cast(getline(hesspfile, line)); + //cout << " RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -4855,7 +4855,7 @@ + + for (int i=0;i(getline(hesspfile, line)); + length=StringTools::cleanstring(line); + if (length<1) break; + tok_line = StringTools::tokenize(line, " \t"); +--- GSM/gaussian.cpp.org 2020-07-09 08:31:35.426473390 +0200 ++++ GSM/gaussian.cpp 2020-07-09 08:56:34.787334572 +0200 +@@ -141,7 +141,7 @@ + int done = 0; + while (!gradfile.eof() && done<2) + { +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + if (line.find("SCF Energy")!=string::npos) + { + //cout << " RRe: " << line << endl; +@@ -155,7 +155,7 @@ + int ngf = 0; + while (ngf<3*natoms) + { +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + tok_line = StringTools::tokenize(line, " \t"); + int lsize = tok_line.size(); + for (int j=0;j(getline(infile, line)); + nstates0 = atoi(line.c_str()); + + infile.close(); +@@ -425,7 +425,7 @@ + bool success=true; + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + if (success) + hf_lines0[nhf++] = line; + } +@@ -462,7 +462,7 @@ + int nf = 0; + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + vector tok_line = StringTools::tokenize(line, " "); + //cout << "RR0: " << line << endl; fflush(stdout); + +@@ -690,7 +690,7 @@ + int nf = 0; + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + vector tok_line = StringTools::tokenize(line, " "); + if (tok_line.size()>3) + { +--- GSM/gstring.cpp.org 2020-07-09 08:31:35.429473364 +0200 ++++ GSM/gstring.cpp 2020-07-09 08:56:34.817334309 +0200 +@@ -1284,14 +1284,14 @@ + + string line; + bool success=true; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + if (success){ + int length=StringTools::cleanstring(line); + natoms=atoi(line.c_str()); + } + cout <<" -The number of atoms is: " << natoms << endl; + +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + vector tok_line0 = StringTools::tokenize(line, " \t"); + CHARGE = 0; + if (tok_line0.size()>0) +@@ -1308,7 +1308,7 @@ + + cout <<" -Reading the atomic names..."; + for (int i=0;i(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + anames[i]=tok_line[0]; +@@ -1345,8 +1345,8 @@ + for (int i=0;i<2;i++) + { + if (isSSM && i==1) break; +- success=getline(infile, line); +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); ++ success=static_cast(getline(infile, line)); + for (int j=0;j(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + // cout << " i: " << i << " string: " << line << endl; +@@ -5997,7 +5997,7 @@ + + string line; + bool success=true; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + if (success) + { + int length=StringTools::cleanstring(line); +@@ -6013,8 +6013,8 @@ + for (int i=0;i0) +- success=getline(infile, line); +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); ++ success=static_cast(getline(infile, line)); + if (infile.eof()) + { + printf(" end of restart.xyz reached \n"); +@@ -6026,7 +6026,7 @@ + + for (int j=0;j(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + // cout << " i: " << i << " string: " << line << endl; +--- GSM/icoord.cpp.org 2020-07-09 08:31:35.430473355 +0200 ++++ GSM/icoord.cpp 2020-07-09 08:56:34.827334221 +0200 +@@ -1866,14 +1866,14 @@ + + string line; + bool success=true; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + if (success){ + int length=StringTools::cleanstring(line); + natoms=atoi(line.c_str()); + } + cout <<" natoms: " << natoms << endl; + +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + // if (success){ + // comment=line; + // } +@@ -1885,7 +1885,7 @@ + + //cout <<" -Reading the atomic names..."; + for (int i=0;i(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + anames[i]=tok_line[0]; +@@ -1911,10 +1911,10 @@ + + + // for (int i=1;i<=2;i++){ +- success=getline(infile, line); +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); ++ success=static_cast(getline(infile, line)); + for (int j=0;j(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + coords[3*j+0]=atof(tok_line[1].c_str()); +@@ -1973,10 +1973,10 @@ + string line; + bool success=true; + int type = 1; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + //cout << "RR0: " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +@@ -1993,7 +1993,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -2015,7 +2015,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -2038,7 +2038,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +--- GSM/knnr.cpp.org 2020-07-09 08:31:35.430473355 +0200 ++++ GSM/knnr.cpp 2020-07-09 08:58:27.384346467 +0200 +@@ -1118,7 +1118,7 @@ + bool success=true; + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + //cout << "RR: " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +@@ -1148,10 +1148,10 @@ + string line; + bool success=true; + int type = 1; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + while (!infile.eof()) + { +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + //cout << "RR0: " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +@@ -1166,7 +1166,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -1186,7 +1186,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -1207,7 +1207,7 @@ + + for (int i=0;i(getline(infile, line)); + //cout << "RR: " << line << endl; + length=StringTools::cleanstring(line); + tok_line = StringTools::tokenize(line, " \t"); +@@ -1253,18 +1253,18 @@ + + string line; + bool success=true; +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + if (success){ + int length=StringTools::cleanstring(line); + //natoms=atoi(line.c_str()); + } + //printf(" natoms: %i \n",natoms); + +- success=getline(infile, line); ++ success=static_cast(getline(infile, line)); + + for (int i=0;i(getline(infile, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + anames[i]=tok_line[0]; +@@ -1337,8 +1337,8 @@ + int done = 0; + while(!infile.eof() && !done) + { +- success = getline(infile,line); +- success = getline(infile,line); ++ success = static_cast(getline(infile,line)); ++ success = static_cast(getline(infile,line)); + + //cout << " RR: " << line << endl; fflush(stdout); + int length=StringTools::cleanstring(line); +@@ -1432,9 +1432,9 @@ + int done = 0; + while(!infile.eof() && !done) + { +- success = getline(infile,line); ++ success = static_cast(getline(infile,line)); + //cout << "RR0: " << line << endl; +- success = getline(infile,line); ++ success = static_cast(getline(infile,line)); + //cout << "RR0: " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +--- GSM/molpro.cpp.org 2020-07-09 08:31:35.431473346 +0200 ++++ GSM/molpro.cpp 2020-07-09 08:56:34.841334098 +0200 +@@ -318,7 +318,7 @@ + int found = 0; + while(!outfilei.eof()) + { +- success=getline(outfilei, line); ++ success=static_cast(getline(outfilei, line)); + if (line.find("MCSCF STATE 1.1 Energy")!=string::npos) + { + //cout << " found: " << line << endl; +@@ -481,11 +481,11 @@ + + string line; + bool success=true; +- success=getline(outfilei, line); ++ success=static_cast(getline(outfilei, line)); + int cont = 0; + while(!outfilei.eof()) + { +- success=getline(outfilei, line); ++ success=static_cast(getline(outfilei, line)); + if (line.find("SA-MC GRADIENT FOR STATE")!=string::npos) + { + //cout << " found: " << line << endl; +@@ -511,7 +511,7 @@ + if (cont) + for (int i=0;i(getline(outfilei, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + //cout << " RR: " << line << endl; +@@ -557,11 +557,11 @@ + + string line; + bool success=true; +- success=getline(outfilei, line); ++ success=static_cast(getline(outfilei, line)); + int cont = 0; + while(!outfilei.eof()) + { +- success=getline(outfilei, line); ++ success=static_cast(getline(outfilei, line)); + if (line.find("SA-MC NACME FOR STATES")!=string::npos) + { + //cout << " found: " << line << endl; +@@ -576,7 +576,7 @@ + if (cont) + for (int i=0;i(getline(outfilei, line)); + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); + //cout << " RR: " << line << endl; +--- GSM/orca.cpp.org 2020-07-09 08:31:35.431473346 +0200 ++++ GSM/orca.cpp 2020-07-09 08:56:34.846334054 +0200 +@@ -138,7 +138,7 @@ + int done = 0; + while (!gradfile.eof() && done<2) + { +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + if (line.find("Total Energy")!=string::npos) + { + //cout << " RRe: " << line << endl; fflush(stdout); +@@ -148,12 +148,12 @@ + } + if (line.find("CARTESIAN GRADIENT")!=string::npos) + { +- success=getline(gradfile, line); +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); ++ success=static_cast(getline(gradfile, line)); + //cout << " RR0g: " << line << endl; + for (int j=0;j(getline(gradfile, line)); + //cout << " RRg: " << line << endl; + tok_line = StringTools::tokenize(line, " \t"); + for (int k=0;k<3;k++) +--- GSM/qchem.cpp.org 2020-07-09 08:31:35.432473337 +0200 ++++ GSM/qchem.cpp 2020-07-09 08:56:34.852334001 +0200 +@@ -430,9 +430,9 @@ + bool success = true; + //cout << "reading gradient... " << endl; + +- success=getline(gradfile, line); +- success=getline(gradfile, line); +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); ++ success=static_cast(getline(gradfile, line)); ++ success=static_cast(getline(gradfile, line)); + + for (int i=0;i(getline(gradfile, line)); + //cout << "RR " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +--- GSM/qchemsf.cpp.org 2020-07-09 08:31:35.432473337 +0200 ++++ GSM/qchemsf.cpp 2020-07-09 08:56:34.857333958 +0200 +@@ -349,7 +349,7 @@ + int wg = 0; + while (!gradfile.eof()) + { +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); + if (line.find("GSM-formatted gradient")!=string::npos) + { + double* gradn = grad1; +@@ -360,7 +360,7 @@ + + for (int i=0;i(getline(gradfile, line)); + //cout << "RR " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); +--- GSM/turbomole.cpp.org 2020-07-09 08:31:35.432473337 +0200 ++++ GSM/turbomole.cpp 2020-07-09 08:56:34.863333905 +0200 +@@ -458,9 +458,9 @@ + bool success = true; + cout << "reading gradient from... " << file.c_str() << endl; + +- success=getline(gradfile, line); +- success=getline(gradfile, line); +- success=getline(gradfile, line); ++ success=static_cast(getline(gradfile, line)); ++ success=static_cast(getline(gradfile, line)); ++ success=static_cast(getline(gradfile, line)); + + //for (int i=0;i(getline(gradfile, line)); + // cout << "RR " << line << endl; + int length=StringTools::cleanstring(line); + vector tok_line = StringTools::tokenize(line, " \t"); 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 new file mode 100644 index 00000000000..c8bfec5a591 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2020b.eb @@ -0,0 +1,31 @@ +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': '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 = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, +] + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), +] + +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" + +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 new file mode 100644 index 00000000000..d956778e486 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021a.eb @@ -0,0 +1,36 @@ +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': '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 = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, +] + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.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-foss-2021b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb new file mode 100644 index 00000000000..f028e39eff4 --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2021b.eb @@ -0,0 +1,36 @@ +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': '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 = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), +] + +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-foss-2022a.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2022a.eb new file mode 100644 index 00000000000..e2e6b2f69cd --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-foss-2022a.eb @@ -0,0 +1,37 @@ +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': '2022a'} + +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 = [ + {'molmod-1.4.8.tar.gz': '759f8894f8a206e8d83f3f88882f29fcf73a7f9be375026e03c58e19496f42e8'}, + {'molmod-1.4.8_fix-git-version-check.patch': '6d1455f9dc3af07b723b05d144f6d8c3c0e5184e094eced1a6f59822f97dcf47'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +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-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-gfbf-2022b.eb b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-gfbf-2022b.eb new file mode 100644 index 00000000000..3f20a89299f --- /dev/null +++ b/easybuild/easyconfigs/m/molmod/molmod-1.4.8-gfbf-2022b.eb @@ -0,0 +1,42 @@ +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': 'gfbf', 'version': '2022b'} + +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.10.8'), + ('matplotlib', '3.7.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +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/mosdepth/mosdepth-0.2.3-intel-2018a.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb index bc95d9fb6a5..5987627dfb1 100644 --- a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.3-intel-2018a.eb @@ -31,7 +31,8 @@ dependencies = [ extract_sources = True install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " -install_cmd += "cd ../mosdepth-*/ && sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb index 874148bc3fc..b39e6fdc879 100644 --- a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.2.4-foss-2018b.eb @@ -31,7 +31,8 @@ dependencies = [ extract_sources = True install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " -install_cmd += "cd ../mosdepth-*/ && sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" sanity_check_paths = { diff --git a/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..0a692c1b4e0 --- /dev/null +++ b/easybuild/easyconfigs/m/mosdepth/mosdepth-0.3.3-GCC-11.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'Binary' + +name = 'mosdepth' +version = '0.3.3' +local_hts_nim_ver = '0.3.22' + +homepage = 'https://github.com/brentp/mosdepth' +description = "Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [ + { + 'source_urls': ['https://github.com/brentp/hts-nim/archive/'], + 'download_filename': 'v%s.tar.gz' % local_hts_nim_ver, + 'filename': 'hts-nim-%s.tar.gz' % local_hts_nim_ver, + }, + { + 'source_urls': ['https://github.com/brentp/mosdepth/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, +] +checksums = [ + '0d2f13b122a59923dc32e479118012396925c2332ec6b260de1d99137f04866c', # hts-nim-0.3.22.tar.gz + '71edbefef8e3a43ddf41f79e24f4a11eb208e6fc0957e4431294a5e9517a3c14', # mosdepth-0.3.3.tar.gz +] + +dependencies = [ + ('Nim', '1.6.6'), + ('HTSlib', '1.14'), + ('PCRE', '8.45'), +] + +extract_sources = True + +install_cmd = "cd %(builddir)s/hts-nim-*/ && nimble install --nimbleDir:%(installdir)s --verbose -y && " +install_cmd += "cd ../mosdepth-*/ && " +install_cmd += r"sed -i 's/0\.2\.2/%(version)s/g' mosdepth.nimble && " +install_cmd += "nimble install --nimbleDir:%(installdir)s --verbose -y" + +sanity_check_paths = { + 'files': ['bin/mosdepth'], + 'dirs': ['pkgs/hts-%s' % local_hts_nim_ver, 'pkgs/mosdepth-%(version)s'], +} + +sanity_check_commands = ["mosdepth --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..29f68f317f9 --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-10.2.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': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] + +builddependencies = [ + ('Autotools', '20200321'), + ('flex', '2.6.4'), + ('Bison', '3.7.1'), + ('binutils', '2.35'), + ('util-linux', '2.36'), +] + +dependencies = [ + ('X11', '20201008'), + ('libpng', '1.6.37'), + ('freetype', '2.10.3'), + ('libjpeg-turbo', '2.0.5'), + ('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/motif/motif-2.3.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..92e54b13bbe --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-10.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': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] + +builddependencies = [ + ('Autotools', '20210128'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('binutils', '2.36.1'), + ('util-linux', '2.36'), +] + +dependencies = [ + ('X11', '20210518'), + ('libpng', '1.6.37'), + ('freetype', '2.10.4'), + ('libjpeg-turbo', '2.0.6'), + ('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/motif/motif-2.3.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..61b71170338 --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.2.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': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['859b723666eeac7df018209d66045c9853b50b4218cecadb794e2359619ebce7'] + +builddependencies = [ + ('Autotools', '20210726'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('binutils', '2.37'), + ('util-linux', '2.37'), +] + +dependencies = [ + ('X11', '20210802'), + ('libpng', '1.6.37'), + ('freetype', '2.11.0'), + ('libjpeg-turbo', '2.0.6'), + ('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/motif/motif-2.3.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8f4a300dbef --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-11.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': '11.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.38'), + ('util-linux', '2.38'), +] + +dependencies = [ + ('X11', '20220504'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.3'), + ('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/motif/motif-2.3.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3fc49caf368 --- /dev/null +++ b/easybuild/easyconfigs/m/motif/motif-2.3.8-GCCcore-12.2.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.2.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.39'), + ('util-linux', '2.38.1'), +] + +dependencies = [ + ('X11', '20221110'), + ('libpng', '1.6.38'), + ('freetype', '2.12.1'), + ('libjpeg-turbo', '2.1.4'), + ('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/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/mpath/mpath-1.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mpath/mpath-1.1.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1064e04fb50 --- /dev/null +++ b/easybuild/easyconfigs/m/mpath/mpath-1.1.3-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'mpath' +version = '1.1.3' + +homepage = 'https://pypi.org/project/mpath/' +description = """For now it's quit simple and get_path_info() +method returns information about given path. It can be either +a directory or a file path.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('mclass', '1.3.4', { + 'checksums': ['414f786287b80a80261125fc9ed844dbf9093907e96999a2f0391a7b32a1cb60'], + }), + (name, version, { + 'checksums': ['f8ecaf91bded57e12676d0373bf27acc154dea56c386f6ad05b476bc2c6ddc4f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb new file mode 100644 index 00000000000..3f9abaa0895 --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '3.1.4' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2023a.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2023a.eb new file mode 100644 index 00000000000..bcb1632ecf0 --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'mpi4py' +version = '3.1.4' + +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], + }), +] + +moduleclass = 'lib' 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/mpifileutils/mpifileutils-0.11.1-gompi-2022a.eb b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2022a.eb new file mode 100644 index 00000000000..417593512aa --- /dev/null +++ b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'mpifileutils' +version = "0.11.1" + +homepage = 'https://hpc.github.io/mpifileutils/' + +description = """ + MPI-Based File Utilities For Distributed Systems +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2cba53309b5b3ee581b6ff82e4e66f54628370cce694c34224ed947fece32d4'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('attr', '2.5.1'), + ('bzip2', '1.0.8'), + ('lwgrp', '1.0.5'), + ('dtcmp', '1.1.4'), + ('libarchive', '3.6.1'), + ('libcircle', '0.3'), +] + +sanity_check_paths = { + 'files': ['bin/dsync', 'include/mfu.h', 'lib/libmfu.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2023a.eb b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2023a.eb new file mode 100644 index 00000000000..209d6128d81 --- /dev/null +++ b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'mpifileutils' +version = "0.11.1" + +homepage = 'https://hpc.github.io/mpifileutils/' + +description = """ + MPI-Based File Utilities For Distributed Systems +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2cba53309b5b3ee581b6ff82e4e66f54628370cce694c34224ed947fece32d4'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('attr', '2.5.1'), + ('bzip2', '1.0.8'), + ('lwgrp', '1.0.5'), + ('dtcmp', '1.1.4'), + ('libarchive', '3.6.2'), + ('libcircle', '0.3'), +] + +_binaries = [ + 'dbcast', 'dbz2', 'dchmod', 'dcmp', 'dcp', 'ddup', 'dfind', + 'dreln', 'drm', 'dstripe', 'dsync', 'dtar', 'dwalk' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['include/mfu.h', 'lib/libmfu.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ['%s --help 2>&1 | grep Usage' % x for x in _binaries] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2024a.eb b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2024a.eb new file mode 100644 index 00000000000..f486ed4effd --- /dev/null +++ b/easybuild/easyconfigs/m/mpifileutils/mpifileutils-0.11.1-gompi-2024a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'mpifileutils' +version = "0.11.1" + +homepage = 'https://hpc.github.io/mpifileutils/' + +description = """ + MPI-Based File Utilities For Distributed Systems +""" + +toolchain = {'name': 'gompi', 'version': '2024a'} + +github_account = 'hpc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2cba53309b5b3ee581b6ff82e4e66f54628370cce694c34224ed947fece32d4'] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [ + ('attr', '2.5.2'), + ('bzip2', '1.0.8'), + ('lwgrp', '1.0.6'), + ('dtcmp', '1.1.5'), + ('libarchive', '3.7.4'), + ('libcircle', '0.3'), +] + +_binaries = [ + 'dbcast', 'dbz2', 'dchmod', 'dcmp', 'dcp', 'ddup', 'dfind', + 'dreln', 'drm', 'dstripe', 'dsync', 'dtar', 'dwalk' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries] + + ['include/mfu.h', 'lib/libmfu.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ['%s --help 2>&1 | grep Usage' % x for x in _binaries] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..60b2d1678dc --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.2.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.35') +] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..227ab3c7395 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.36.1') +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1a49bd05c79 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.37') +] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True + +use_pip = True + +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c1483102bdd --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.2.1' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'] + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4e88d210ec2 --- /dev/null +++ b/easybuild/easyconfigs/m/mpmath/mpmath-1.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Adam Huffman +# adam.huffman@crick.ac.uk +# The Francis Crick Institute +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonPackage' + +name = 'mpmath' +version = '1.3.0' + +homepage = 'https://mpmath.org/' +description = """mpmath can be used as an arbitrary-precision substitute for Python's float/complex + types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation + can be performed just as well at 10-digit or 1000-digit precision, with either real or complex + numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely + high precision work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'] + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('Python', '3.11.3'), + ('pytest', '7.4.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +runtest = 'python -c "import mpmath; mpmath.runtests();"' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb new file mode 100644 index 00000000000..c6e040ded1b --- /dev/null +++ b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.3.0-foss-2021a.eb @@ -0,0 +1,33 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonPackage' +name = 'mrcfile' +version = '1.3.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': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3a113042d24820b9dfc6902cb9d93bcbebdee22beb40552f2c35303ace4b0547'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +sanity_pip_check = True + +use_pip = True +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-foss-2022a.eb b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-foss-2022a.eb new file mode 100644 index 00000000000..dae89bc115f --- /dev/null +++ b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-foss-2022a.eb @@ -0,0 +1,40 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/11 +easyblock = 'PythonPackage' +name = 'mrcfile' +version = '1.4.3' +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': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'] +} + + +use_pip = True +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-gfbf-2022b.eb b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-gfbf-2022b.eb new file mode 100644 index 00000000000..42492460fd9 --- /dev/null +++ b/easybuild/easyconfigs/m/mrcfile/mrcfile-1.4.3-gfbf-2022b.eb @@ -0,0 +1,40 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/11 +easyblock = 'PythonPackage' + +name = 'mrcfile' +version = '1.4.3' + +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': 'gfbf', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['43c358c59ff8f583fc4dc2079a0099028719109ebf92066e388772bab389c5f5'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +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/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/msgpack-c/msgpack-c-6.0.0-GCC-12.2.0.eb b/easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..97901abf8d5 --- /dev/null +++ b/easybuild/easyconfigs/m/msgpack-c/msgpack-c-6.0.0-GCC-12.2.0.eb @@ -0,0 +1,37 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04 +easyblock = 'CMakeMake' + +name = 'msgpack-c' +version = '6.0.0' + +homepage = 'http://msgpack.org/' +description = """MessagePack is an efficient binary serialization format, which lets you exchange +data among multiple languages like JSON, except that it's faster and smaller. +Small integers are encoded into a single byte while typical short strings +require only one extra byte in addition to the strings themselves.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/msgpack/msgpack-c/releases/download/c-%(version)s'] +sources = ['msgpack-c-%(version)s.tar.gz'] +checksums = ['3654f5e2c652dc52e0a993e270bb57d5702b262703f03771c152bba51602aeba'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('Boost', '1.81.0'), +] + +sanity_check_paths = { + 'files': [ + ['lib/libmsgpack-c.%s' % x for x in ['a', '%s' % SHLIB_EXT]], + ['include/msgpack.%s' % x for x in ['h']] + ], + 'dirs': ['lib/pkgconfig', 'include/msgpack'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb new file mode 100644 index 00000000000..5702b7fae25 --- /dev/null +++ b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2021b.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'msprime' +version = '1.2.0' + +homepage = 'https://msprime.readthedocs.io' +description = "msprime is a coalescent simulator and library for processing tree-based genetic data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('GSL', '2.7'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('svgwrite', '1.4.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3'], + }), + ('tskit', '0.5.4', { + 'checksums': ['be1a6381c72a95f0011bea26ca317e1b4503b8d2dcd87096c68aa16c8946c6fe'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('demes', '0.2.2', { + 'checksums': ['8eebe4b236b2d19e057228892f5b5f53f3e0d127ca9128efead1728a65115dac'], + }), + ('newick', '1.6.0', { + 'checksums': ['5610335826c0afd35afe66ebbacba0881e69f25097418c2f08456be629be6eac'], + }), + (name, version, { + 'checksums': ['60025ad9fd30d827a72ae6e760b6cff07a1d0e169b2c1da1024cb0fc23e4a7aa'], + }), +] + +sanity_check_paths = { + 'files': ['bin/msp', 'bin/mspms', 'bin/tskit', 'bin/demes'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'demes --help', + 'tskit --help', + 'msp --help', + 'mspms --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2022a.eb b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2022a.eb new file mode 100644 index 00000000000..b5ea22facf2 --- /dev/null +++ b/easybuild/easyconfigs/m/msprime/msprime-1.2.0-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'msprime' +version = '1.2.0' + +homepage = 'https://msprime.readthedocs.io' +description = "msprime is a coalescent simulator and library for processing tree-based genetic data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('GSL', '2.7'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('svgwrite', '1.4.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['a8fbdfd4443302a6619a7f76bc937fc683daf2628d9b737c891ec08b8ce524c3'], + }), + ('tskit', '0.5.4', { + 'checksums': ['be1a6381c72a95f0011bea26ca317e1b4503b8d2dcd87096c68aa16c8946c6fe'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('demes', '0.2.2', { + 'checksums': ['8eebe4b236b2d19e057228892f5b5f53f3e0d127ca9128efead1728a65115dac'], + }), + ('newick', '1.9.0', { + 'checksums': ['9f81be96ec86aefca74d920fc0d6962d89a3156547003ca6915c2e6e31ad3ddf'], + }), + (name, version, { + 'checksums': ['60025ad9fd30d827a72ae6e760b6cff07a1d0e169b2c1da1024cb0fc23e4a7aa'], + }), +] + +sanity_check_paths = { + 'files': ['bin/msp', 'bin/mspms', 'bin/tskit', 'bin/demes'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'demes --help', + 'tskit --help', + 'msp --help', + 'mspms --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..96534b54093 --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +# 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': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/grimme-lab/mstore/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['95edba88afbc8013f57f4c818a97c0500cc40b158bed11234c061b2b6d7e480d'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +sanity_check_commands = ['mstore-fortranize --help'] + +sanity_check_paths = { + 'files': ['bin/mstore-info', 'bin/mstore-fortranize', 'bin/mctc-convert'], + 'dirs': ['include/mstore', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.3.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..beaa1fe7caa --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-11.3.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': 'GCC', 'version': '11.3.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.23.1'), +] + +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/mstore/mstore-0.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..4c21efbeba4 --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-GCC-12.2.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': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['95edba88afbc8013f57f4c818a97c0500cc40b158bed11234c061b2b6d7e480d'] + +builddependencies = [ + ('binutils', '2.39'), + ('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/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/mstore/mstore-0.2.0-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..22c6dc7cd21 --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.2.0-intel-compilers-2022.2.1.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.2.1'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['95edba88afbc8013f57f4c818a97c0500cc40b158bed11234c061b2b6d7e480d'] + +builddependencies = [ + ('binutils', '2.39'), + ('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/mstore/mstore-0.3.0-GCC-12.3.0.eb b/easybuild/easyconfigs/m/mstore/mstore-0.3.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..a609b4e373b --- /dev/null +++ b/easybuild/easyconfigs/m/mstore/mstore-0.3.0-GCC-12.3.0.eb @@ -0,0 +1,37 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'mstore' +version = '0.3.0' + +homepage = 'https://github.com/grimme-lab/mstore' +description = """Molecular structure store for testing""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['56b3d778629eb74b8a515cd53c727d04609f858a07f8d3555fd5fd392a206dcc'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.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/muMerge/muMerge-1.1.0-foss-2022a.eb b/easybuild/easyconfigs/m/muMerge/muMerge-1.1.0-foss-2022a.eb new file mode 100644 index 00000000000..c94f9cb9fc2 --- /dev/null +++ b/easybuild/easyconfigs/m/muMerge/muMerge-1.1.0-foss-2022a.eb @@ -0,0 +1,41 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'muMerge' +version = '1.1.0' + +homepage = 'https://github.com/Dowell-Lab/mumerge' +description = """muMerge is a tool for combining bed regions from multiple bed files that overlap.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('SciPy-bundle', '2022.05'), + ('BEDTools', '2.30.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/Dowell-Lab/mumerge/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f8afd360800567ddb4e7b602ed63ef30d22eb41d7bfbd1dc323295cdc8a98bf3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/mumerge'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "mumerge --help", + "mumerge --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/muParser/muParser-2.3.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/muParser/muParser-2.3.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ec3d168b366 --- /dev/null +++ b/easybuild/easyconfigs/m/muParser/muParser-2.3.3-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'muParser' +version = '2.3.3' + +homepage = 'https://beltoforion.de/article.php?a=muparser' + +description = """ + muParser is an extensible high performance math expression parser library + written in C++. It works by transforming a mathematical expression into + bytecode and precalculating constant parts of the expression. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/beltoforion/muparser/archive/'] +sources = ['v%(version)s-1.tar.gz'] +checksums = [ + '91d26d8274ae9cd9c776ee58250aeddc6b574f369eafd03b25045b858a2b8177', # v2.3.3-1.tar.gz +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +configopts = "-DENABLE_SAMPLES=OFF -DBUILD_SHARED_LIBS=ON" + +sanity_check_paths = { + 'files': ['include/muParser.h', 'lib/libmuparser.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f20ab6b457e --- /dev/null +++ b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'muParser' +version = '2.3.4' + +homepage = 'https://beltoforion.de/article.php?a=muparser' +description = """ + muParser is an extensible high performance math expression parser library + written in C++. It works by transforming a mathematical expression into + bytecode and precalculating constant parts of the expression. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/beltoforion/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0c3fa54a3ebf36dda0ed3e7cd5451c964afbb15102bdbcba08aafb359a290121'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +configopts = "-DENABLE_SAMPLES=OFF -DBUILD_SHARED_LIBS=ON" + + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/libmuparser.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e55a9dbe87a --- /dev/null +++ b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'muParser' +version = '2.3.4' + +homepage = 'https://beltoforion.de/article.php?a=muparser' +description = """ + muParser is an extensible high performance math expression parser library + written in C++. It works by transforming a mathematical expression into + bytecode and precalculating constant parts of the expression. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/beltoforion/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0c3fa54a3ebf36dda0ed3e7cd5451c964afbb15102bdbcba08aafb359a290121'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +configopts = "-DENABLE_SAMPLES=OFF -DBUILD_SHARED_LIBS=ON" + + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/libmuparser.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..506baa51977 --- /dev/null +++ b/easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'muParser' +version = '2.3.4' + +homepage = 'https://beltoforion.de/article.php?a=muparser' +description = """ + muParser is an extensible high performance math expression parser library + written in C++. It works by transforming a mathematical expression into + bytecode and precalculating constant parts of the expression. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/beltoforion/muparser/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0c3fa54a3ebf36dda0ed3e7cd5451c964afbb15102bdbcba08aafb359a290121'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +configopts = "-DENABLE_SAMPLES=OFF -DBUILD_SHARED_LIBS=ON" + +sanity_check_paths = { + 'files': ['include/%(name)s.h', 'lib/libmuparser.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14-foss-2021b.eb b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14-foss-2021b.eb new file mode 100644 index 00000000000..13fbfe58715 --- /dev/null +++ b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'mujoco-py' +version = '2.1.2.14' + +homepage = 'https://github.com/openai/mujoco-py' +description = """MuJoCo is a physics engine for detailed, efficient rigid body simulations with +contacts. mujoco-py allows using MuJoCo from Python 3.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('patchelf', '0.13'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('GLFW', '3.3.4'), + ('imageio', '2.13.5'), + ('MuJoCo', '2.1.1'), +] + +use_pip = True + +exts_list = [ + ('glfw', '2.5.0', { + 'checksums': ['52544a4a512ba7f829f809759a458d6bbf801565769cf88b4e1c359a4493ebb1'], + }), + ('fasteners', '0.17.2', { + 'checksums': ['2aceacb2bd618ce8526676f7a3e84ea25d0165ef10abb574a45b4a9c07292d2e'], + }), + (name, version, { + 'patches': [ + 'mujoco-py-%(version)s_fix-builder-lib-paths.patch', + 'mujoco-py-%(version)s_fix-builder-lockfile.patch', + ], + 'preinstallopts': 'MUJOCO_PY_MUJOCO_PATH=$EBROOTMUJOCO MUJOCO_PY_FORCE_CPU=1', + 'checksums': [ + 'eb5b14485acf80a3cf8c15f4b080c6a28a9f79e68869aa696d16cbd51ea7706f', # mujoco-py-2.1.2.14.tar.gz + # mujoco-py-2.1.2.14_fix-builder-lib-paths.patch + '1957ab3cc85d49c58e01e106bd995ab130a2635e7113ee92c68d62b3234552f0', + # mujoco-py-2.1.2.14_fix-builder-lockfile.patch + '1d2404a644f2556ff26f41a5a23dd672342e373ef033141fc9cbdb109382183c', + ], + }), +] + +sanity_pip_check = True + +modextravars = { + 'MUJOCO_PY_FORCE_CPU': '1', +} + +modluafooter = """ +setenv("MUJOCO_PY_MUJOCO_PATH", os.getenv("EBROOTMUJOCO")) +""" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lib-paths.patch b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lib-paths.patch new file mode 100644 index 00000000000..e4730baf9a8 --- /dev/null +++ b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lib-paths.patch @@ -0,0 +1,86 @@ +Fix path to MuJoCo libraries in mujoco-py builder +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/mujoco_py/builder.py 2022-01-18 01:36:26.458344000 +0100 ++++ b/mujoco_py/builder.py 2022-01-18 01:36:37.646121008 +0100 +@@ -67,7 +67,7 @@ + The easy solution is to `import mujoco_py` _before_ `import glfw`. + ''') + +- lib_path = os.path.join(mujoco_path, "bin") ++ lib_path = os.path.join(mujoco_path, "lib") + if sys.platform == 'darwin': + Builder = MacExtensionBuilder + elif sys.platform == 'linux': +@@ -177,8 +177,8 @@ + + # Fix the rpath of the generated library -- i lost the Stackoverflow + # reference here +- from_mujoco_path = '@executable_path/libmujoco210.dylib' +- to_mujoco_path = '%s/libmujoco210.dylib' % mj_bin_path ++ from_mujoco_path = '@executable_path/libmujoco.dylib' ++ to_mujoco_path = '%s/libmujoco.dylib' % mj_bin_path + subprocess.check_call(['install_name_tool', + '-change', + from_mujoco_path, +@@ -213,8 +213,8 @@ + join(mujoco_path, 'include'), + np.get_include(), + ], +- libraries=['mujoco210'], +- library_dirs=[join(mujoco_path, 'bin')], ++ libraries=['mujoco'], ++ library_dirs=[join(mujoco_path, 'lib')], + extra_compile_args=[ + '-fopenmp', # needed for OpenMP + '-w', # suppress numpy compilation warnings +@@ -272,12 +272,12 @@ + self.extension.sources.append( + join(self.CYMJ_DIR_PATH, "gl", "osmesashim.c")) + self.extension.libraries.extend(['glewosmesa', 'OSMesa', 'GL']) +- self.extension.runtime_library_dirs = [join(mujoco_path, 'bin')] ++ self.extension.runtime_library_dirs = [join(mujoco_path, 'lib')] + + def _build_impl(self): + so_file_path = super()._build_impl() + # Removes absolute paths to libraries. Allows for dynamic loading. +- fix_shared_library(so_file_path, 'libmujoco210.so', 'libmujoco210.so') ++ fix_shared_library(so_file_path, 'libmujoco.so', 'libmujoco.so') + fix_shared_library(so_file_path, 'libglewosmesa.so', 'libglewosmesa.so') + return so_file_path + +@@ -290,13 +290,13 @@ + self.extension.sources.append(self.CYMJ_DIR_PATH + "/gl/eglshim.c") + self.extension.include_dirs.append(self.CYMJ_DIR_PATH + '/vendor/egl') + self.extension.libraries.extend(['glewegl']) +- self.extension.runtime_library_dirs = [join(mujoco_path, 'bin')] ++ self.extension.runtime_library_dirs = [join(mujoco_path, 'lib')] + + def _build_impl(self): + so_file_path = super()._build_impl() + fix_shared_library(so_file_path, 'libOpenGL.so', 'libOpenGL.so.0') + fix_shared_library(so_file_path, 'libEGL.so', 'libEGL.so.1') +- fix_shared_library(so_file_path, 'libmujoco210.so', 'libmujoco210.so') ++ fix_shared_library(so_file_path, 'libmujoco.so', 'libmujoco.so') + fix_shared_library(so_file_path, 'libglewegl.so', 'libglewegl.so') + return so_file_path + +@@ -309,7 +309,7 @@ + self.extension.sources.append(self.CYMJ_DIR_PATH + "/gl/dummyshim.c") + self.extension.libraries.extend(['glfw.3']) + self.extension.define_macros = [('ONMAC', None)] +- self.extension.runtime_library_dirs = [join(mujoco_path, 'bin')] ++ self.extension.runtime_library_dirs = [join(mujoco_path, 'lib')] + + def _build_impl(self): + if not os.environ.get('CC'): +@@ -482,8 +482,8 @@ + # Link against mujoco so we can call mujoco functions from within callback + ffibuilder.set_source(name, source_string, + include_dirs=[join(mujoco_path, 'include')], +- library_dirs=[join(mujoco_path, 'bin')], +- libraries=['mujoco210']) ++ library_dirs=[join(mujoco_path, 'lib')], ++ libraries=['mujoco']) + # Catch compilation exceptions so we can cleanup partial files in that case + try: + library_path = ffibuilder.compile(verbose=True) diff --git a/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lockfile.patch b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lockfile.patch new file mode 100644 index 00000000000..1703aa2a2c6 --- /dev/null +++ b/easybuild/easyconfigs/m/mujoco-py/mujoco-py-2.1.2.14_fix-builder-lockfile.patch @@ -0,0 +1,14 @@ +Put lockfile in a temp directory +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/mujoco_py/builder.py 2022-02-09 01:20:09.349870000 +0100 ++++ b/mujoco_py/builder.py 2022-02-09 01:20:17.548552000 +0100 +@@ -89,7 +89,8 @@ + builder = Builder(mujoco_path) + cext_so_path = builder.get_so_file_path() + +- lockpath = os.path.join(os.path.dirname(cext_so_path), 'mujocopy-buildlock') ++ tmpdir_path = os.getenv('TMPDIR', '/tmp') ++ lockpath = os.path.join(tmpdir_path, 'mujocopy-buildlock') + + with fasteners.InterProcessLock(lockpath): + mod = None diff --git a/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-gfbf-2022b.eb b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-gfbf-2022b.eb new file mode 100644 index 00000000000..8f15e71b4d5 --- /dev/null +++ b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-gfbf-2022b.eb @@ -0,0 +1,39 @@ +# 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': 'gfbf', 'version': '2022b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['953e2ace2f4035b1fa8ecf680f90b5ce6ad5caae17c8d8ccbc2578b92b69d3e7'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('binutils', '2.39'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), +] + +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/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/multicharge/multicharge-0.2.0-iimkl-2022b.eb b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-iimkl-2022b.eb new file mode 100644 index 00000000000..1f88ad11b35 --- /dev/null +++ b/easybuild/easyconfigs/m/multicharge/multicharge-0.2.0-iimkl-2022b.eb @@ -0,0 +1,42 @@ +# 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': '2022b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['953e2ace2f4035b1fa8ecf680f90b5ce6ad5caae17c8d8ccbc2578b92b69d3e7'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('binutils', '2.39'), +] + +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/multicharge/multicharge-0.3.0-gfbf-2023a.eb b/easybuild/easyconfigs/m/multicharge/multicharge-0.3.0-gfbf-2023a.eb new file mode 100644 index 00000000000..b4ccfa2544f --- /dev/null +++ b/easybuild/easyconfigs/m/multicharge/multicharge-0.3.0-gfbf-2023a.eb @@ -0,0 +1,39 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'multicharge' +version = '0.3.0' + +homepage = 'https://github.com/grimme-lab/multicharge' +description = """Electronegativity equilibration model for atomic partial charges.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['2fcc1f80871f404f005e9db458ffaec95bb28a19516a0245278cd3175b63a6b2'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('binutils', '2.40'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.3.0'), +] + +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-10.2.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..423504cb402 --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +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': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['74f0a223c670f5aa81b14191c53ad8d84281838a47471c10253ae391f736c877'] + +builddependencies = [('binutils', '2.35')] + +local_bins = [name, 'multipermute'] +files_to_copy = [(local_bins, 'bin'), (['*.h'], 'include/multichoose')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c55f331c535 --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-10.3.0.eb @@ -0,0 +1,28 @@ +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': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['74f0a223c670f5aa81b14191c53ad8d84281838a47471c10253ae391f736c877'] + +builddependencies = [('binutils', '2.36.1')] + +local_bins = [name, 'multipermute'] +files_to_copy = [(local_bins, 'bin'), (['*.h'], 'include/multichoose')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ['multichoose 1 a'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fa0cd5152f9 --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-11.2.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': '11.2.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.37')] + +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/multichoose/multichoose-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..47eaa5df2bf --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-11.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': '11.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.38')] + +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/multichoose/multichoose-1.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9c2a1b09cfc --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3-GCCcore-12.2.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.2.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.39')] + +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/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/multichoose/multichoose-1.0.3_improve-build-system.patch b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3_improve-build-system.patch new file mode 100644 index 00000000000..965da4409f0 --- /dev/null +++ b/easybuild/easyconfigs/m/multichoose/multichoose-1.0.3_improve-build-system.patch @@ -0,0 +1,33 @@ +make build system more flexible +author: Paul Jähne +diff -ru multichoose.orig/Makefile multichoose/Makefile +--- multichoose.orig/Makefile 2014-12-03 18:04:41.000000000 +0100 ++++ multichoose/Makefile 2022-01-27 08:53:35.738914531 +0100 +@@ -1,17 +1,21 @@ ++CC ?= gcc ++CXX ?= g++ ++ + all: multichoose multipermute + + #multichoose_recursive: multichoose_recursive.cpp +-# g++ multichoose_recursive.cpp -o multichoose_recursive ++# ${CXX} $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) multichoose_recursive.cpp -o multichoose_recursive + + multichoose: multichoose.cpp multichoose.h +- g++ multichoose.cpp -o multichoose ++ ${CXX} $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) multichoose.cpp -o multichoose + + multipermute: multipermute.cpp multipermute.h +- g++ multipermute.cpp -o multipermute ++ ${CXX} $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) multipermute.cpp -o multipermute + + cmultichoose: multichoose.c +- gcc multichoose.c -o cmultichoose ++ ${CC} $(LDFLAGS) $(CPPFLAGS) $(CXXFLAGS) multichoose.c -o cmultichoose + + clean: +- rm cmultichoose +- rm multichoose ++ rm -f cmultichoose ++ rm -f multichoose ++ rm -f multipermute diff --git a/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2022b.eb b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2022b.eb new file mode 100644 index 00000000000..2bac0d9bfe6 --- /dev/null +++ b/easybuild/easyconfigs/m/multiprocess/multiprocess-0.70.15-gfbf-2022b.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': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e'] + +dependencies = [ + ('Python', '3.10.8'), + ('dill', '0.3.7'), + ('Arrow', '11.0.0'), # 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/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/mumott/mumott-2.1-foss-2022b.eb b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb new file mode 100644 index 00000000000..4cb23e2deff --- /dev/null +++ b/easybuild/easyconfigs/m/mumott/mumott-2.1-foss-2022b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'mumott' +version = '2.1' + +homepage = 'https://mumott.org/' +description = "mumott is a Python library for the analysis of multi-modal tensor tomography data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('numba', '0.58.1'), + ('matplotlib', '3.7.0'), + ('scikit-image', '0.21.0'), + ('h5py', '3.8.0'), + ('tqdm', '4.64.1') +] + + +use_pip = True + +exts_list = [ + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('colorspacious', '1.1.2', { + 'checksums': ['5e9072e8cdca889dac445c35c9362a22ccf758e97b00b79ff0d5a7ba3e11b618'], + }), + (name, version, { + 'runtest': "pytest tests/cpu_tests/unit_tests", + 'source_urls': ['https://gitlab.com/liebi-group/software/%(name)s/-/archive/%(version)s/'], + 'testinstall': True, + 'checksums': ['018c3be97c3bdfb1409218a15e8f0deed9e78caf9b2cd62c7f5424c8772128b8'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import mumott'"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..510fe1de689 --- /dev/null +++ b/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'muparserx' +version = '4.0.8' + +homepage = 'https://beltoforion.de/en/muparserx/' +description = 'A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.' +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'beltoforion' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['lib64/libmuparserx.a', 'lib64/libmuparserx.%s' % SHLIB_EXT], + 'dirs': ['include/muparserx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fa70900332f --- /dev/null +++ b/easybuild/easyconfigs/m/muparserx/muparserx-4.0.8-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'muparserx' +version = '4.0.8' + +homepage = 'https://beltoforion.de/en/muparserx/' +description = 'A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.' +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'beltoforion' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['lib64/libmuparserx.a', 'lib64/libmuparserx.%s' % SHLIB_EXT], + 'dirs': ['include/muparserx'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.eb b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.eb new file mode 100644 index 00000000000..de664d681d9 --- /dev/null +++ b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2022a.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('biothings_client', '0.2.6', { + 'checksums': ['84d9d577b8fb3963a2fa71c5a13b10411566f3bc2e8ba67bb15de9d2ced08c2d'], + }), + (name, version, { + 'checksums': ['e729cabbc28cf5afb221bca1ab637883b375cb1a3e2f067587ec79f71affdaea'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' 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/m/mygene/mygene-3.2.2-foss-2023a.eb b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2023a.eb new file mode 100644 index 00000000000..1c49c2ece32 --- /dev/null +++ b/easybuild/easyconfigs/m/mygene/mygene-3.2.2-foss-2023a.eb @@ -0,0 +1,34 @@ +# Author: Pavel Grochal (INUITS) +# Update: Pavel Tománek (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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), +] + +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/NAG/NAG-7.1-gompi-2022b.eb b/easybuild/easyconfigs/n/NAG/NAG-7.1-gompi-2022b.eb new file mode 100644 index 00000000000..dd7e50c3ced --- /dev/null +++ b/easybuild/easyconfigs/n/NAG/NAG-7.1-gompi-2022b.eb @@ -0,0 +1,30 @@ +easyblock = 'Binary' + +name = 'NAG' +version = '7.1' + +homepage = 'http://www.nag.co.uk' +description = "The worlds largest collection of robust, documented, tested and maintained numerical algorithms." + +toolchain = {'name': 'gompi', 'version': '2022b'} + +sources = [{ + 'source_urls': ['https://www.nag.co.uk/downloads/impl'], + 'filename': SOURCE_TGZ, + 'download_filename': 'npl6a%(version_major)s%(version_minor)sna_amd64.tgz' +}] +checksums = ['0f173ea0e0809673db216622a7354cc2eb52bf13372a34ef85e62a115bb6f94f'] + +extract_sources = True + +install_cmd = "INSTALL_TO_BINDIR=%(installdir)s/bin INSTALL_TO_LIBDIR=%(installdir)s/lib " +install_cmd += "INSTALL_TO_CATMANDIR=%(installdir)s/man INSTALL_TO_MANDIR=%(installdir)s/man ./INSTALLU.sh" + +modextravars = {'NAG_KUSARI_FILE': HOME + '/licenses/license.dat'} + +sanity_check_paths = { + 'files': ['bin/dbx90', 'bin/nagfmcheck', 'bin/nagfor'], + 'dirs': ['lib', 'man1', 'man3'], +} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb b/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb new file mode 100644 index 00000000000..3560fb4a995 --- /dev/null +++ b/easybuild/easyconfigs/n/NAGfor/NAGfor-7.1.eb @@ -0,0 +1,30 @@ +easyblock = 'Binary' + +name = 'NAGfor' +version = '7.1' + +homepage = 'http://www.nag.co.uk' +description = """The checking compiler for improved code portability and detailed error reporting.""" + +toolchain = SYSTEM + +sources = [{ + 'source_urls': ['https://www.nag.co.uk/downloads/impl'], + 'filename': SOURCE_TGZ, + 'download_filename': 'npl6a%(version_major)s%(version_minor)sna_amd64.tgz' +}] +checksums = ['0f173ea0e0809673db216622a7354cc2eb52bf13372a34ef85e62a115bb6f94f'] + +extract_sources = True + +install_cmd = "INSTALL_TO_BINDIR=%(installdir)s/bin INSTALL_TO_LIBDIR=%(installdir)s/lib " +install_cmd += "INSTALL_TO_CATMANDIR=%(installdir)s/man INSTALL_TO_MANDIR=%(installdir)s/man ./INSTALLU.sh" + +modextravars = {'NAG_KUSARI_FILE': HOME + '/licenses/license.dat'} + +sanity_check_paths = { + 'files': ['bin/dbx90', 'bin/nagfmcheck', 'bin/nagfor'], + 'dirs': ['lib', 'man1', 'man3'], +} + +moduleclass = 'compiler' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb index 8e28254ee82..a6d7581291b 100644 --- a/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.11-intel-2016a-mpi.eb @@ -22,6 +22,6 @@ charm_arch = 'mpi-linux-x86_64' namd_cfg_opts = " --with-tcl --tcl-prefix $EBROOTTCL " -prebuildopts = 'echo "TCLLIB=-L\$(TCLDIR)/lib -ltcl8.6 -ldl -lpthread" >> Make.config && ' +prebuildopts = r'echo "TCLLIB=-L\$(TCLDIR)/lib -ltcl8.6 -ldl -lpthread" >> Make.config && ' moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb new file mode 100644 index 00000000000..69bd6e602f4 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2020b-mpi.eb @@ -0,0 +1,29 @@ +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': '2020b'} +toolchainopts = {'usempi': True, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = ['%(name)s_%(version)s_Source.tar.gz'] +patches = ['%(name)s-%(version)s-use_system_mremap_decl.patch'] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +dependencies = [ + ('tcsh', '6.22.03'), + ('Tcl', '8.6.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/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..eafa0dbcabf --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,36 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} +toolchainopts = {'usempi': False, '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 = [ + "%(name)s-%(version)s_Linux-POWER-cuda.patch", + "%(name)s-%(version)s-use_system_mremap_decl.patch" +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +dependencies = [ + ('Tcl', '8.6.11'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +builddependencies = [ + ('tcsh', '6.22.04'), +] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8a2ad464c40 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,36 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} +toolchainopts = {'usempi': False, '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 = [ + "%(name)s-%(version)s_Linux-POWER-cuda.patch", + "%(name)s-%(version)s-use_system_mremap_decl.patch" +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +dependencies = [ + ('Tcl', '8.6.12'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +builddependencies = [ + ('tcsh', '6.24.01'), +] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-mpi.eb new file mode 100644 index 00000000000..78c6ee3ba72 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2022a-mpi.eb @@ -0,0 +1,35 @@ +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': '2022a'} +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.12'), +] + +# /bin/csh is required by 'config' script +osdependencies = ['tcsh'] + +# 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/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/NAMD/NAMD-2.14-fosscuda-2020b.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2020b.eb new file mode 100644 index 00000000000..bb7d42b87f0 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2020b.eb @@ -0,0 +1,32 @@ +name = 'NAMD' +version = '2.14' + +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': 'fosscuda', 'version': '2020b'} +toolchainopts = {'usempi': False, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = [{'filename': 'NAMD_%(version)s_Source.tar.gz'}] +patches = [ + "%(name)s-%(version)s_Linux-POWER-cuda.patch", + "%(name)s-%(version)s-use_system_mremap_decl.patch" +] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch + 'a838bd66a8f741247436687bd355c439f3d77542996d96e091b8b6bd0ccc34e2', # NAMD-2.14-use_system_mremap_decl.patch +] + +# support for GCC 8+ on POWER +dependencies = [ + ('tcsh', '6.22.03'), + ('Tcl', '8.6.10'), +] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-LJCorrection.patch b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-LJCorrection.patch new file mode 100644 index 00000000000..25a4e59e173 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-LJCorrection.patch @@ -0,0 +1,24 @@ +# Fix LJ correction for alchemical simulation +# Patch is taken from https://www.ks.uiuc.edu/Research/namd/2.14/bugfixes.html +# Author: maxim-masterov (SURF) +diff -Nru NAMD_2.14_Source.orig/src/Molecule.C NAMD_2.14_Source/src/Molecule.C +--- NAMD_2.14_Source.orig/src/Molecule.C 2022-08-25 12:50:46.282906000 +0200 ++++ NAMD_2.14_Source/src/Molecule.C 2022-08-25 12:54:31.616781099 +0200 +@@ -10159,7 +10159,7 @@ + numLJsites1 = numLJsites2 = numLJsites; + int alch_counter = 0; + for (int i=0; i < numAtoms; ++i) { +- int alchFlagi; ++ int alchFlagi = 0; + if (get_fep_type(i) == 2 || get_fep_type(i) == 4) alchFlagi = -1; + if (get_fep_type(i) == 1 || get_fep_type(i) == 3) alchFlagi = 1; + if (params->get_vdw_pair_params(atoms[i].vdw_type, atoms[i].vdw_type, +@@ -10182,7 +10182,7 @@ + else if (alchFlagi == -1) numLJsites1--; + } + for (int j=i+1; j < numAtoms; ++j) { +- int alchFlagj; ++ int alchFlagj = 0; + if (get_fep_type(j) == 2 || get_fep_type(j) == 4) alchFlagj = -1; + if (get_fep_type(j) == 1 || get_fep_type(j) == 3) alchFlagj = 1; + int alchFlagSum = alchFlagi + alchFlagj; diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-constant-pH.patch b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-constant-pH.patch new file mode 100644 index 00000000000..331a5e06284 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_fix-constant-pH.patch @@ -0,0 +1,20 @@ +# Fix constant-pH MD output +# Patch is taken from https://www.ks.uiuc.edu/Research/namd/2.14/bugfixes.html +# Author: maxim-masterov (SURF) +diff -Nru NAMD_2.14_Source.orig/src/ScriptTcl.C NAMD_2.14_Source/src/ScriptTcl.C +--- NAMD_2.14_Source.orig/src/ScriptTcl.C 2022-08-25 12:50:46.325325000 +0200 ++++ NAMD_2.14_Source/src/ScriptTcl.C 2022-08-25 12:51:48.557043174 +0200 +@@ -2085,11 +2085,11 @@ + } + + +-extern "C" void newhandle_msg(void *v, const char *msg) { ++extern "C" void newhandle_msg(void *vdata, void *v, const char *msg) { + CkPrintf("psfgen) %s\n",msg); + } + +-extern "C" void newhandle_msg_ex(void *v, const char *msg, int prepend, int newline) { ++extern "C" void newhandle_msg_ex(void *vdata, void *v, const char *msg, int prepend, int newline) { + CkPrintf("%s%s%s", (prepend ? "psfgen) " : ""), msg, (newline ? "\n" : "")); + } + diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.11.08-GCCcore-5.4.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-GCCcore-5.4.0.eb index 59d28ad1fac..4cb8911d18f 100644 --- a/easybuild/easyconfigs/n/NASM/NASM-2.11.08-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/n/NASM/NASM-2.11.08-GCCcore-5.4.0.eb @@ -12,7 +12,7 @@ source_urls = ['http://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] sources = [SOURCELOWER_TAR_BZ2] checksums = ['9da3a0291a0bdc06305b7ba194f1e2c2b55ae6f11210b4af43729868149d5445'] -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/nasm'], diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..31ceb59091f --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.15.05' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'] + +builddependencies = [ + ('binutils', '2.37'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0b067430c98 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.15.05' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e4fa39b554e --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.15.05-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.15.05' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5c1bbfafd36 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.16.01' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['35b6ad2ee048d41c4779f073f3efca7762a822b7d2d4ef4e8df24cf65747bb2e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1c5164af198 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.16.01-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.16.01' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['35b6ad2ee048d41c4779f073f3efca7762a822b7d2d4ef4e8df24cf65747bb2e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7ecd06f10c0 --- /dev/null +++ b/easybuild/easyconfigs/n/NASM/NASM-2.16.03-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'NASM' +version = '2.16.03' + +homepage = 'https://www.nasm.us/' + +description = """NASM: General-purpose x86 assembler""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.nasm.us/pub/nasm/releasebuilds/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['bef3de159bcd61adf98bb7cc87ee9046e944644ad76b7633f18ab063edb29e57'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/nasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.2.0.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.2.0.eb new file mode 100644 index 00000000000..2ae4e5ed5c5 --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.2.0.eb @@ -0,0 +1,55 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +dependencies = [ + ('OpenBLAS', '0.3.12'), +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.3.0.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.3.0.eb new file mode 100644 index 00000000000..94281fe00eb --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-10.3.0.eb @@ -0,0 +1,56 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'BLASLIB="$LDFLAGS -lflexiblas" LAPACKLIB="$LDFLAGS -lflexiblas" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-11.2.0.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-11.2.0.eb new file mode 100644 index 00000000000..1a8a9c87595 --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-11.2.0.eb @@ -0,0 +1,56 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'BLASLIB="$LDFLAGS -lflexiblas" LAPACKLIB="$LDFLAGS -lflexiblas" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-9.3.0.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-9.3.0.eb new file mode 100644 index 00000000000..1b9519bbbdd --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-GCC-9.3.0.eb @@ -0,0 +1,55 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'GCC', 'version': '9.3.0'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +dependencies = [ + ('OpenBLAS', '0.3.9'), +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022a.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022a.eb new file mode 100644 index 00000000000..10617ff3078 --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022a.eb @@ -0,0 +1,52 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'BLASLIB="$LDFLAGS -lflexiblas" LAPACKLIB="$LDFLAGS -lflexiblas" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022b.eb b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022b.eb new file mode 100644 index 00000000000..0f47637675f --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10-gfbf-2022b.eb @@ -0,0 +1,52 @@ +# this recipe is configured for use with Gaussian G16, revision A03 or later + +easyblock = 'MakeCp' + +name = 'NBO' +version = '7.0.10' + +homepage = 'http://nbo.chem.wisc.edu/' +description = """ The Natural Bond Orbital (NBO) program is a discovery tool +for chemical insights from complex wavefunctions. """ + +toolchain = {'name': 'gfbf', 'version': '2022b'} +toolchainopts = {'pic': True, 'i8': True} # remove 'i8' if Gaussian was compiled with 32-bit integers + +download_instructions = """ +NBO7 is proprietary software, order here: https://charge.wisc.edu/chemistry/order_nbo7.aspx +The dowloaded tarball does not contain the bug-fix version so rename to nbo7.0.10-src.tar.gz +""" +sources = ['nbo%(version)s-src.tar.gz'] +patches = [ + 'NBO-%(version)s_make.patch', +] +checksums = [ + {'nbo7.0.10-src.tar.gz': 'a60d1f4d4592ec386b5378841d9fba75918c48b50de08d8de0a50db42bc96da1'}, + {'NBO-7.0.10_make.patch': 'c37f5a9980c56198f9610611b0fbda8ad65c961ec19b163d602dc3330fced145'}, +] + +local_intlength = 'i8' # change to i4 if Gaussian was compiled with 32-bit integers + +buildopts = 'FC=$FC CC=$CC NBODIR="%(builddir)s/nbo7" STATIC="false" PROFILE="true" ' +buildopts += 'BLASLIB="$LDFLAGS -lflexiblas" LAPACKLIB="$LDFLAGS -lflexiblas" ' +buildopts += 'INT=%s ' % local_intlength + +parallel = 1 + +files_to_copy = ['bin', 'dox', 'man', 'tests'] + +postinstallcmds = [ + 'sed -i -e "s|setenv GAUNBO.*|setenv GAUNBO g16nbo|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv BINDIR.*|setenv BINDIR %(installdir)s/bin|" %(installdir)s/bin/gaunbo{6,7}', + 'sed -i -e "s|setenv INT.*|setenv INT %s|" %%(installdir)s/bin/gaunbo{6,7}' % local_intlength, + 'cp %(builddir)s/nbo7/gennbo %(builddir)s/nbo7/gennbo.sh %(installdir)s/bin', + 'sed -i -e "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo', + 'sed -i "s|setenv NBOBIN ./bin|setenv NBOBIN %(installdir)s/bin|" %(installdir)s/bin/gennbo.sh', +] + +sanity_check_paths = { + 'files': ['bin/%s.%s.exe' % (x, local_intlength) for x in ('gennbo', 'g09nbo', 'g16nbo', 'nbo7')], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NBO/NBO-7.0.10_make.patch b/easybuild/easyconfigs/n/NBO/NBO-7.0.10_make.patch new file mode 100644 index 00000000000..5db56cf13f7 --- /dev/null +++ b/easybuild/easyconfigs/n/NBO/NBO-7.0.10_make.patch @@ -0,0 +1,46 @@ +diff --git a/nbo7.orig/Make.config b/nbo7/Make.config +index d2f66ea..67ba367 100644 +--- a/nbo7.orig/Make.config ++++ b/nbo7/Make.config +@@ -9,7 +9,7 @@ FC = gfortran + # Fortran compiler version (required for gfortran only). Ignore the + # build number (e.g. specify 4.8, not 4.8.2). + +-FC_VERSION = 5.5 ++FC_VERSION = ${EBVERSIONGCC} + + # C compiler -- select from gcc (gnu), nvcc (nv), pgcc (pgi), and icl + # (intel). NBO has been most recently tested with gcc (4-10), nvcc +@@ -46,26 +46,26 @@ endif + + # NBO top-level directory (perhaps /opt/nbo7 or c:/nbo7). + +-NBODIR = ~/nbo7 ++NBODIR = ${PWD} + + # Use LAPACK routines for eigenvalue problems -- true or false. Note + # that LAPACK requires BLAS. + +-LAPACK = false ++LAPACK = true + + # LAPACK library -- ignored if LAPACK is false. + + #LAPACKLIB = -L/usr/lib/x86_64-linux-gnu -llapack +-LAPACKLIB = -L/apps/local/lapack/lib -llapack ++LAPACKLIB = -L${EBROOTOPENBLAS} -lopenblas + + # Use BLAS rather than native NBO linear algebra routines -- true or + # false. Note that LAPACK requires BLAS. + +-BLAS = false ++BLAS = true + + # BLAS libraries -- ignored if BLAS is false. + +-BLASLIB = -L/apps/local/OpenBLAS/lib -lopenblas ++BLASLIB = -L${EBROOTOPENBLAS} -lopenblas + #BLASLIB = -L/usr/local/OpenBLAS/lib -lopenblas + #BLASLIB = -L/usr/lib/x86_64-linux-gnu -lblas + #BLASLIB = -L/apps/pgi/linux86-64/2019/lib -lblas + diff --git a/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..dc4b43cede0 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL-tests/NCCL-tests-2.13.6-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'NCCL-tests' +version = '2.13.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/NVIDIA/nccl-tests' +description = "Tests check both the performance and the correctness of NCCL operations." + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'NVIDIA' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['52b472a58a4918d3221a9b8c4bd9335382643d7e241983918b64692d685cc3d1'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), +] + +buildopts = 'VERBOSE=1 MPI=1 MPI_HOME=$EBROOTOPENMPI CUDA_HOME=$EBROOTCUDA NCCL_HOME=$EBROOTNCCL ' + +_binaries = ['all_gather_perf', 'all_reduce_perf', 'alltoall_perf', 'broadcast_perf', 'gather_perf', + 'hypercube_perf', 'reduce_perf', 'reduce_scatter_perf', 'scatter_perf', 'sendrecv_perf'] + +files_to_copy = [(['build/%s' % x for x in _binaries], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _binaries], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-10.3.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..d4fb6614198 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-10.3.0-CUDA-11.3.1.eb @@ -0,0 +1,27 @@ +name = 'NCCL' +version = '2.10.3' +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': '10.3.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.10.3-1.tar.gz': '55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', versionsuffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000000..5dec7af894e --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -0,0 +1,27 @@ +name = 'NCCL' +version = '2.10.3' +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': '11.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.10.3-1.tar.gz': '55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb new file mode 100644 index 00000000000..da1b8400a0f --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.10.3-GCCcore-11.2.0-CUDA-11.5.2.eb @@ -0,0 +1,27 @@ +name = 'NCCL' +version = '2.10.3' +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': '11.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.10.3-1.tar.gz': '55de166eb7dcab9ecef2629cdb5fb0c5ebec4fae03589c469ebe5dcb5716b3c5'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.11.4-gcccuda-2019b.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.11.4-gcccuda-2019b.eb new file mode 100644 index 00000000000..407de136e21 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.11.4-gcccuda-2019b.eb @@ -0,0 +1,19 @@ +name = 'NCCL' +version = '2.11.4' + +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': 'gcccuda', 'version': '2019b'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.11.4-1.tar.gz': 'db4e9a0277a64f9a31ea9b5eea22e63f10faaed36dded4587bbc8a0d8eceed10'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.12.12-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.12.12-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..89fcfe9a013 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.12.12-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,27 @@ +name = 'NCCL' +version = '2.12.12' +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': '11.3.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.12.12-1.tar.gz': '49b4fbfeebf1f62f6ceb69e72504045d8d1b4e7609e3c2477906f3004c7e2d82'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..ebbd8221383 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +name = 'NCCL' +version = '2.16.2' +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': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.16.2-1.tar.gz': '7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), +] + +prebuildopts = "sed -i 's/NVCUFLAGS := /NVCUFLAGS := -allow-unsupported-compiler /' makefiles/common.mk && " +buildopts = "VERBOSE=1" + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0', '8.6'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100644 index 00000000000..17636f6fb8b --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,30 @@ +name = 'NCCL' +version = '2.16.2' +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': '12.2.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = ['NCCL-2.16.2_fix-cpuid.patch'] +checksums = [ + {'v2.16.2-1.tar.gz': '7f7c738511a8876403fc574d13d48e7c250d934d755598d82e14bab12236fc64'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', 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/NCCL/NCCL-2.16.2_fix-cpuid.patch b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch new file mode 100644 index 00000000000..de293c36e76 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.16.2_fix-cpuid.patch @@ -0,0 +1,43 @@ +The 2nd CPUID asm code modifies registers used by other variables due to failure to list +EBX, ECX & EDX in the "clobbers" list. +This causes corruption leading to segfaults or wrong results depending on compiler optimization/register allocation. + +Fix by using the __cpuid GCC function. +See https://github.com/NVIDIA/nccl/pull/1070 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/graph/xml.cc b/src/graph/xml.cc +index 316d20f..d0d1272 100644 +--- a/src/graph/xml.cc ++++ b/src/graph/xml.cc +@@ -12,6 +12,9 @@ + #include "core.h" + #include "nvmlwrap.h" + #include "xml.h" ++#if defined(__x86_64__) ++#include ++#endif + + /*******************/ + /* XML File Parser */ +@@ -408,7 +411,8 @@ ncclResult_t ncclTopoGetXmlFromCpu(struct ncclXmlNode* cpuNode, struct ncclXml* + char vendor[12]; + } cpuid0; + +- asm volatile("cpuid" : "=b" (cpuid0.ebx), "=c" (cpuid0.ecx), "=d" (cpuid0.edx) : "a" (0) : "memory"); ++ unsigned unused; ++ __cpuid(0, unused, cpuid0.ebx, cpuid0.ecx, cpuid0.edx); + char vendor[13]; + strncpy(vendor, cpuid0.vendor, 12); + vendor[12] = '\0'; +@@ -430,7 +434,8 @@ ncclResult_t ncclTopoGetXmlFromCpu(struct ncclXmlNode* cpuNode, struct ncclXml* + }; + uint32_t val; + } cpuid1; +- asm volatile("cpuid" : "=a" (cpuid1.val) : "a" (1) : "memory"); ++ unsigned unused; ++ __cpuid(1, cpuid1.val, unused, unused, unused); + int familyId = cpuid1.familyId + (cpuid1.extFamilyId << 4); + int modelId = cpuid1.modelId + (cpuid1.extModelId << 4); + NCCLCHECK(xmlSetAttrInt(cpuNode, "familyid", familyId)); diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.18.3-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.18.3-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..569d09f9859 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.18.3-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,35 @@ +name = 'NCCL' +version = '2.18.3' +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': '12.3.0'} + +github_account = 'NVIDIA' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s-1.tar.gz'] +patches = [ + 'NCCL-2.16.2_fix-cpuid.patch', + 'NCCL-2.18.3_fix-cudaMemcpyAsync.patch', +] +checksums = [ + ('6477d83c9edbb34a0ebce6d751a1b32962bc6415d75d04972b676c6894ceaef9', + 'b4f5d7d9eea2c12e32e7a06fe138b2cfc75969c6d5c473aa6f819a792db2fc96'), + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, + {'NCCL-2.18.3_fix-cudaMemcpyAsync.patch': '7dc8d0d1b78e4f8acefbc400860f47432ef67c225b50d73c732999c23483de90'}, +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', 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/NCCL/NCCL-2.18.3_fix-cudaMemcpyAsync.patch b/easybuild/easyconfigs/n/NCCL/NCCL-2.18.3_fix-cudaMemcpyAsync.patch new file mode 100644 index 00000000000..68542656733 --- /dev/null +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.18.3_fix-cudaMemcpyAsync.patch @@ -0,0 +1,174 @@ +Backported from (original message attached below): +https://github.com/NVIDIA/nccl/commit/4365458757e4107ecbf629b2fd6e0e19a5d237c2 + +From: Kaiming Ouyang +Date: Wed, 20 Sep 2023 05:51:14 -0700 +Subject: [PATCH] Fix cudaMemcpyAsync bug + +We are trying to use the copy result of first cudaMemcpyAsync in the +second cudaMemcpyAsync without sync in between. This patch fixes it +by allocating a CPU side array to cache device side addr so that we +can avoid this consecutive cuda mem copy. + +Fixes #957 +--- + src/channel.cc | 12 ++++++++++++ + src/include/comm.h | 2 ++ + src/init.cc | 2 +- + src/transport.cc | 8 ++------ + src/transport/nvls.cc | 10 ++++------ + 5 files changed, 21 insertions(+), 13 deletions(-) + +diff --git a/src/channel.cc b/src/channel.cc +index 3edcc2f..245dfd5 100644 +--- a/src/channel.cc ++++ b/src/channel.cc +@@ -42,9 +42,11 @@ ncclResult_t initChannel(struct ncclComm* comm, int channelId) { + /* channel->devPeers is not shared, so just free it when calling commFree() */ + NCCLCHECK(ncclCudaCallocAsync(&channel->devPeers, nPeers, sharedRes->deviceStream.cudaStream)); + ncclCommPushCudaFree(comm, channel->devPeers); ++ NCCLCHECK(ncclCalloc(&channel->devPeersHostPtr, nPeers)); + for (int r = 0; r < nRanks; r++) { + uintptr_t addr = (uintptr_t)(comm->sharedRes->devPeers[channelId] + comm->topParentRanks[r]); + NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + r), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream)); ++ channel->devPeersHostPtr[r] = (struct ncclDevChannelPeer*)addr; + } + } + +@@ -52,6 +54,8 @@ ncclResult_t initChannel(struct ncclComm* comm, int channelId) { + NCCLCHECK(ncclCudaCallocAsync(&channel->devRingUserRanks, nRanks, sharedRes->deviceStream.cudaStream)); + ncclCommPushCudaFree(comm, channel->devRingUserRanks); + ++ /* guarantee addr has been copied into channel->devPeers */ ++ NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream)); + NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream)); + + return ncclSuccess; +@@ -77,6 +81,7 @@ ncclResult_t initNvlsChannel(struct ncclComm* comm, int channelId, struct ncclCo + uintptr_t addr = (uintptr_t)(parent->channels[channelId].nvlsDevPeers + tr); + channel->peers[comm->nRanks + 1 + r] = parent->channels[channelId].nvlsPeers + tr; + NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks + 1 + r), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream)); ++ channel->devPeersHostPtr[comm->nRanks + 1 + r] = (struct ncclDevChannelPeer*)addr; + ncclAtomicRefCountIncrement(&parent->channels[channelId].nvlsPeers[tr].refCount); + } + } else { +@@ -86,10 +91,12 @@ ncclResult_t initNvlsChannel(struct ncclComm* comm, int channelId, struct ncclCo + uintptr_t addr = (uintptr_t)(channel->nvlsDevPeers + r); + channel->peers[comm->nRanks + 1 + r] = channel->nvlsPeers + r; + NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks + 1 + r), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream)); ++ channel->devPeersHostPtr[comm->nRanks + 1 + r] = (struct ncclDevChannelPeer*)addr; + ncclAtomicRefCountIncrement(&channel->nvlsPeers[r].refCount); + } + } + ++ NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream)); + NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream)); + + return ncclSuccess; +@@ -114,6 +121,7 @@ ncclResult_t initCollnetChannel(struct ncclComm* comm, int channelId, struct ncc + addr = (uintptr_t)parent->channels[channelId].collnetDevPeers; + channel->peers[comm->nRanks] = parent->channels[channelId].collnetPeers; + NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream)); ++ channel->devPeersHostPtr[comm->nRanks] = (struct ncclDevChannelPeer*)addr; + ncclAtomicRefCountIncrement(&parent->channels[channelId].collnetPeers->refCount); + } else { + NCCLCHECK(ncclCalloc(&channel->collnetPeers, 1)); +@@ -121,9 +129,11 @@ ncclResult_t initCollnetChannel(struct ncclComm* comm, int channelId, struct ncc + addr = (uintptr_t)channel->collnetDevPeers; + channel->peers[comm->nRanks] = channel->collnetPeers; + NCCLCHECK(ncclCudaMemcpyAsync((uintptr_t*)(channel->devPeers + comm->nRanks), (uintptr_t*)&addr, 1, sharedRes->deviceStream.cudaStream)); ++ channel->devPeersHostPtr[comm->nRanks] = (struct ncclDevChannelPeer*)addr; + ncclAtomicRefCountIncrement(&channel->collnetPeers->refCount); + } + ++ NCCLCHECK(ncclStrongStreamSynchronize(&sharedRes->deviceStream)); + NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &sharedRes->deviceStream)); + + return ncclSuccess; +@@ -156,5 +166,7 @@ ncclResult_t freeChannel(struct ncclChannel* channel, int nRanks, int collnetNRa + } + } + } ++ ++ free(channel->devPeersHostPtr); + return ncclSuccess; + } +diff --git a/src/include/comm.h b/src/include/comm.h +index e79bf54..8986f93 100644 +--- a/src/include/comm.h ++++ b/src/include/comm.h +@@ -124,6 +124,8 @@ struct ncclSharedResources { + struct ncclChannel { + struct ncclChannelPeer** peers; + struct ncclDevChannelPeer** devPeers; ++ /* devPeer pointer array used for host side access */ ++ struct ncclDevChannelPeer** devPeersHostPtr; + struct ncclRing ring; + int* devRingUserRanks; + struct ncclTree tree; +diff --git a/src/init.cc b/src/init.cc +index 1ea1d7e..309ce10 100644 +--- a/src/init.cc ++++ b/src/init.cc +@@ -437,7 +437,7 @@ static ncclResult_t devCommSetup(ncclComm_t comm) { + + NCCLCHECKGOTO(ncclCudaMemcpyAsync(devCommAndChans, &tmpCommAndChans, 1, comm->sharedRes->deviceStream.cudaStream), ret, fail); + exit: +- CUDACHECK(cudaStreamSynchronize(comm->sharedRes->deviceStream.cudaStream)); ++ NCCLCHECK(ncclStrongStreamSynchronize(&comm->sharedRes->deviceStream)); + NCCLCHECK(ncclStrongStreamRelease(ncclCudaGraphNone(), &comm->sharedRes->deviceStream)); + return ret; + fail: +diff --git a/src/transport.cc b/src/transport.cc +index f4b8a2a..9817beb 100644 +--- a/src/transport.cc ++++ b/src/transport.cc +@@ -147,11 +147,9 @@ ncclResult_t ncclTransportP2pSetup(struct ncclComm* comm, struct ncclTopoGraph* + if (conn->connected == 0) { + NCCLCHECKGOTO(conn->transportComm->connect(comm, sendData[i] + sendDataOffset++, 1, comm->rank, conn), ret, fail); + if (ret == ncclSuccess) { +- struct ncclDevChannelPeer* addr; + conn->connected = 1; + /* comm->channels[c].devPeers[sendPeer]->send[connIndex] is a device memory access. */ +- CUDACHECKGOTO(cudaMemcpyAsync(&addr, &comm->channels[c].devPeers[sendPeer], sizeof(struct ncclDevChannelPeer*), cudaMemcpyDeviceToHost, comm->sharedRes->hostStream.cudaStream), ret, fail); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->send[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[sendPeer]->send[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail); + } else if (ret == ncclInProgress) { + allChannelsConnected = false; + } +@@ -167,11 +165,9 @@ ncclResult_t ncclTransportP2pSetup(struct ncclComm* comm, struct ncclTopoGraph* + if (conn->connected == 0) { + NCCLCHECKGOTO(conn->transportComm->connect(comm, recvData[i] + recvDataOffset++, 1, comm->rank, conn), ret, fail); + if (ret == ncclSuccess) { +- struct ncclDevChannelPeer* addr; + conn->connected = 1; + /* comm->channels[c].devPeers[recvPeer]->recv[connIndex] is a device memory access. */ +- CUDACHECKGOTO(cudaMemcpyAsync(&addr, &comm->channels[c].devPeers[recvPeer], sizeof(struct ncclDevChannelPeer*), cudaMemcpyDeviceToHost, comm->sharedRes->hostStream.cudaStream), ret, fail); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->recv[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[recvPeer]->recv[connIndex], &conn->conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), ret, fail); + } else if (ret == ncclInProgress) { + allChannelsConnected = false; + } +diff --git a/src/transport/nvls.cc b/src/transport/nvls.cc +index 633cb04..07be99d 100644 +--- a/src/transport/nvls.cc ++++ b/src/transport/nvls.cc +@@ -359,12 +359,10 @@ ncclResult_t ncclNvlsSetup(struct ncclComm* comm, struct ncclComm* parent) { + peer->send[0].conn.tail = (uint64_t*)(mem + buffSize + memSize / 2); + peer->send[0].conn.flags |= NCCL_NVLS_MIN_POLL; + +- struct ncclDevChannelPeer* addr; +- CUDACHECKGOTO(cudaMemcpyAsync(&addr, comm->channels[c].devPeers + nvlsPeer, sizeof(struct ncclDevChannelPeer*), cudaMemcpyDeviceToHost, comm->sharedRes->hostStream.cudaStream), res, cleanup); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->send[0], &peer->send[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->recv[0], &peer->recv[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->send[1], &peer->send[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); +- CUDACHECKGOTO(cudaMemcpyAsync(&addr->recv[1], &peer->recv[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[0], &peer->send[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[0], &peer->recv[0].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->send[1], &peer->send[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); ++ CUDACHECKGOTO(cudaMemcpyAsync(&comm->channels[c].devPeersHostPtr[nvlsPeer]->recv[1], &peer->recv[1].conn, sizeof(struct ncclConnInfo), cudaMemcpyHostToDevice, comm->sharedRes->hostStream.cudaStream), res, cleanup); + + /*INFO(NCCL_INIT|NCCL_NVLS, "Peer %d Channel %d MC buff %p/%p UC Buff %p/%p", + nvlsPeer, c, +-- +2.45.2 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/NCCL/NCCL-2.8.3-GCCcore-10.2.0-CUDA-11.1.1.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-10.2.0-CUDA-11.1.1.eb index cbf8532c70e..3c825519ba4 100644 --- a/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-10.2.0-CUDA-11.1.1.eb +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-10.2.0-CUDA-11.1.1.eb @@ -10,16 +10,20 @@ communication primitives that are performance optimized for NVIDIA GPUs.""" toolchain = {'name': 'GCCcore', 'version': local_gcc_ver} -builddependencies = [('GCC', local_gcc_ver, '', True)] -dependencies = [('CUDAcore', local_cuda_version, '', True)] +builddependencies = [('GCC', local_gcc_ver, '', SYSTEM)] +dependencies = [('CUDAcore', local_cuda_version, '', SYSTEM)] github_account = 'NVIDIA' source_urls = [GITHUB_SOURCE] sources = ['v%(version)s-1.tar.gz'] -patches = ['NCCL-2.8.3_fix-isend-irecv.patch'] +patches = [ + 'NCCL-2.8.3_fix-isend-irecv.patch', + 'NCCL-2.16.2_fix-cpuid.patch', +] checksums = [ - '3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6', # v2.8.3-1.tar.gz - '04d61ea9b9f0954bed05494017649a68950b6b5e5851d969244f9ab67d5ecc92', # NCCL-2.8.3_fix-isend-irecv.patch + {'v2.8.3-1.tar.gz': '3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6'}, + {'NCCL-2.8.3_fix-isend-irecv.patch': '04d61ea9b9f0954bed05494017649a68950b6b5e5851d969244f9ab67d5ecc92'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, ] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-9.3.0-CUDA-11.0.2.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-9.3.0-CUDA-11.0.2.eb index 50bb04e3b90..700f896be0e 100644 --- a/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-9.3.0-CUDA-11.0.2.eb +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.8.3-GCCcore-9.3.0-CUDA-11.0.2.eb @@ -10,16 +10,20 @@ communication primitives that are performance optimized for NVIDIA GPUs.""" toolchain = {'name': 'GCCcore', 'version': local_gcc_ver} -builddependencies = [('GCC', local_gcc_ver, '', True)] -dependencies = [('CUDAcore', local_cuda_version, '', True)] +builddependencies = [('GCC', local_gcc_ver, '', SYSTEM)] +dependencies = [('CUDAcore', local_cuda_version, '', SYSTEM)] github_account = 'NVIDIA' source_urls = [GITHUB_SOURCE] sources = ['v%(version)s-1.tar.gz'] -patches = ['NCCL-2.8.3_fix-isend-irecv.patch'] +patches = [ + 'NCCL-2.8.3_fix-isend-irecv.patch', + 'NCCL-2.16.2_fix-cpuid.patch', +] checksums = [ - '3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6', # v2.8.3-1.tar.gz - '04d61ea9b9f0954bed05494017649a68950b6b5e5851d969244f9ab67d5ecc92', # NCCL-2.8.3_fix-isend-irecv.patch + {'v2.8.3-1.tar.gz': '3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6'}, + {'NCCL-2.8.3_fix-isend-irecv.patch': '04d61ea9b9f0954bed05494017649a68950b6b5e5851d969244f9ab67d5ecc92'}, + {'NCCL-2.16.2_fix-cpuid.patch': '0459ecadcd32b2a7a000a2ce4f675afba908b2c0afabafde585330ff4f83e277'}, ] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NCCL/NCCL-2.9.9-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/NCCL/NCCL-2.9.9-CUDA-11.3.1.eb index 1bc204ed7ce..21c52b820b1 100644 --- a/easybuild/easyconfigs/n/NCCL/NCCL-2.9.9-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/n/NCCL/NCCL-2.9.9-CUDA-11.3.1.eb @@ -29,7 +29,7 @@ checksums = [ } ] -dependencies = [('CUDAcore', local_cuda_version)] +dependencies = [('CUDA', local_cuda_version)] skipsteps = ['build'] diff --git a/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.0-20200624-GCC-11.2.0.eb b/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.0-20200624-GCC-11.2.0.eb new file mode 100644 index 00000000000..9c7fb809303 --- /dev/null +++ b/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.0-20200624-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'NCIPLOT' +local_ver = '4.0' +version = '%s-20200624' % local_ver +local_commit = 'b88012d' + +homepage = 'https://www.lct.jussieu.fr/pagesperso/contrera/index-nci.html' +description = """ NCIPLOT is a program for revealing non covalent interactions + based on the reduced density gradient. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/juliacontrerasgarcia/nciplot/archive/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['0fec094f024b5b6dd3c665e31c6a4528e9e46920d693cf9bfeb4dcf2e0cc1614'] + +start_dir = 'src_%%(namelower)s_%s' % local_ver + +prebuildopts = "sed -i -e 's/include Makefile.inc//g' -e 's/nciplot: $(OBJS) $(LIBS)/nciplot: $(OBJS)/g' Makefile && " +prebuildopts += "make clean && " +buildopts = 'LIBS="$LIBS" LDFLAGS="-fopenmp $LDFLAGS"' + +postinstallcmds = ["export OMP_NUM_THREADS=%(parallel)s && cd %(builddir)s/%(namelower)s-*/tests && ./alltests.sh "] + +files_to_copy = ['dat', 'LICENSE', 'README', 'NCIPLOT_MANUAL.pdf', (['nciplot'], 'bin')] + +modextrapaths = {'NCIPLOT_HOME': ''} + +sanity_check_paths = { + 'files': ['bin/nciplot'], + 'dirs': ['dat'], +} + +modloadmsg = """ +Set environment variable OMP_NUM_THREADS equal to the number of available cores before running this program. +""" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.2-20221021-intel-compilers-2022.1.0.eb b/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.2-20221021-intel-compilers-2022.1.0.eb new file mode 100644 index 00000000000..e5656e89aff --- /dev/null +++ b/easybuild/easyconfigs/n/NCIPLOT/NCIPLOT-4.2-20221021-intel-compilers-2022.1.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MakeCp' + +name = 'NCIPLOT' +_formal_version = '4.2' +version = '%s-20221021' % _formal_version +_commit = '800f1647a2a46c82dbdb5e1ae58086cdbbd90dc3' + +homepage = 'https://www.lct.jussieu.fr/pagesperso/contrera/index-nci.html' +description = """ NCIPLOT is a program for revealing non covalent interactions + based on the reduced density gradient. """ + +toolchain = {'name': 'intel-compilers', 'version': '2022.1.0'} +toolchainopts = {'openmp': True} + +github_account = 'juliacontrerasgarcia' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % _commit] +checksums = ['087ec61988d53e472542b91a5237680b65f2c4f85633d7db12298fb770802082'] + +start_dir = 'src_%%(namelower)s_%s' % _formal_version + +prebuildopts = "sed -i 's/include Makefile.inc//;s/nciplot: $(OBJS) $(LIBS)/nciplot: $(OBJS)/g' Makefile && " +prebuildopts += "make clean && " +buildopts = 'LIBS="$LIBS"' + +# test scripts are still hardcoded for old version 4.0 +pretestopts = "cd %(builddir)s/%(namelower)s-*/tests && " +pretestopts += r"find . -name runtests.sh -exec sed -i 's/nciplot_4.0/nciplot_%s/g' {} \; && " % _formal_version +pretestopts += "export OMP_NUM_THREADS=%(parallel)s && " +test_cmd = "bash" +runtest = "alltests.sh" + +files_to_copy = [ + 'dat', + (['nciplot'], 'bin'), + (['LICENSE', 'README', 'NCIPLOT_MANUAL.pdf'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/nciplot'], + 'dirs': ['dat', 'share'], +} + +modextrapaths = {'NCIPLOT_HOME': ''} + +modloadmsg = """ +Set environment variable OMP_NUM_THREADS equal to the number of available cores before running this program. +""" + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2020b.eb b/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2020b.eb new file mode 100644 index 00000000000..898a5271a13 --- /dev/null +++ b/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2020b.eb @@ -0,0 +1,57 @@ +name = 'NCL' +version = '6.6.2' + +homepage = 'https://www.ncl.ucar.edu' +description = "NCL is an interpreted language designed specifically for scientific data analysis and visualization." + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = { + 'cstd': 'c99', 'openmp': True, 'pic': True, + 'extra_fflags': '-fallow-invalid-boz -fallow-argument-mismatch', +} + +source_urls = ['https://github.com/NCAR/ncl/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'NCL-6.4.0_fix-types.patch', + 'NCL-6.6.2_header_and_operands.patch', + 'NCL-6.6.2_multiple_definitions.patch', +] +checksums = [ + 'cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e', # 6.6.2.tar.gz + 'f6dfaf95e5de9045745e122cb44f9c035f81fab92f5892991ddfe93945891c8f', # NCL-6.4.0_fix-types.patch + '5cb62d9a37de8af485b94487692f7e739ca5eb103a6b447e0290a68a6c094808', # NCL-6.6.2_header_and_operands.patch + 'e21503dc46fe6fd360ba7ca4897aa93bf9ec2961bc48634ca46de582710448f7', # NCL-6.6.2_multiple_definitions.patch +] + +builddependencies = [ + ('makedepend', '1.0.6'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] +dependencies = [ + ('cURL', '7.72.0'), + ('JasPer', '2.0.24'), + ('g2lib', '3.2.0'), + ('g2clib', '1.6.3'), + ('HDF', '4.2.15'), + ('HDF5', '1.10.7'), + ('HDF-EOS', '2.20'), + ('HDF-EOS5', '1.16'), + ('netCDF', '4.7.4'), + ('netCDF-Fortran', '4.5.3'), + ('Szip', '2.1.1'), + ('freetype', '2.10.3'), + ('zlib', '1.2.11'), + ('GDAL', '3.2.1'), + ('UDUNITS', '2.2.26'), + ('ESMF', '8.0.1'), + ('bzip2', '1.0.8'), + ('cairo', '1.16.0'), + ('libiconv', '1.16'), + ('GSL', '2.6'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.5'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2021a.eb b/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2021a.eb new file mode 100644 index 00000000000..3a8fd377df9 --- /dev/null +++ b/easybuild/easyconfigs/n/NCL/NCL-6.6.2-foss-2021a.eb @@ -0,0 +1,55 @@ +name = 'NCL' +version = '6.6.2' + +homepage = 'https://www.ncl.ucar.edu' +description = "NCL is an interpreted language designed specifically for scientific data analysis and visualization." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = { + 'cstd': 'c99', 'openmp': True, 'pic': True, + 'extra_fflags': '-fallow-invalid-boz -fallow-argument-mismatch', +} + +source_urls = ['https://github.com/NCAR/ncl/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'NCL-6.4.0_fix-types.patch', + 'NCL-6.6.2_header_and_operands.patch', + 'NCL-6.6.2_multiple_definitions.patch', +] +checksums = [ + 'cad4ee47fbb744269146e64298f9efa206bc03e7b86671e9729d8986bb4bc30e', # 6.6.2.tar.gz + 'f6dfaf95e5de9045745e122cb44f9c035f81fab92f5892991ddfe93945891c8f', # NCL-6.4.0_fix-types.patch + '5cb62d9a37de8af485b94487692f7e739ca5eb103a6b447e0290a68a6c094808', # NCL-6.6.2_header_and_operands.patch + 'e21503dc46fe6fd360ba7ca4897aa93bf9ec2961bc48634ca46de582710448f7', # NCL-6.6.2_multiple_definitions.patch +] + +builddependencies = [ + ('makedepend', '1.0.6'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] +dependencies = [ + ('cURL', '7.76.0'), + ('JasPer', '2.0.28'), + ('g2lib', '3.2.0'), + ('g2clib', '1.6.3'), + ('HDF', '4.2.15'), + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('Szip', '2.1.1'), + ('freetype', '2.10.4'), + ('zlib', '1.2.11'), + ('GDAL', '3.3.0'), + ('UDUNITS', '2.2.28'), + ('ESMF', '8.1.1'), + ('bzip2', '1.0.8'), + ('cairo', '1.16.0'), + ('libiconv', '1.16'), + ('GSL', '2.7'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/NCL/NCL-6.6.2_header_and_operands.patch b/easybuild/easyconfigs/n/NCL/NCL-6.6.2_header_and_operands.patch new file mode 100644 index 00000000000..e22a388ac6c --- /dev/null +++ b/easybuild/easyconfigs/n/NCL/NCL-6.6.2_header_and_operands.patch @@ -0,0 +1,29 @@ +# Author: @maxim-masterov (SURF) +# This patch fixes: +# - the error with the missing header +# - the error with the operands of a binary numeric operator "/". +diff -Nru ncl-6.6.2.orig/ncarg2d/src/libncarg/areasC/c_argeti.c ncl-6.6.2/ncarg2d/src/libncarg/areasC/c_argeti.c +--- ncl-6.6.2.orig/ncarg2d/src/libncarg/areasC/c_argeti.c 2021-08-23 11:15:57.122195429 +0200 ++++ ncl-6.6.2/ncarg2d/src/libncarg/areasC/c_argeti.c 2021-08-23 11:18:42.945882692 +0200 +@@ -12,6 +12,7 @@ + ************************************************************************/ + + #include ++#include + + extern void NGCALLF(argeti,ARGETI)(NGstring,int*,int); + +diff -Nru ncl-6.6.2.orig/ncarg2d/src/libncarg_gks/bwi/argb2ci.f ncl-6.6.2/ncarg2d/src/libncarg_gks/bwi/argb2ci.f +--- ncl-6.6.2.orig/ncarg2d/src/libncarg_gks/bwi/argb2ci.f 2021-08-23 11:16:04.115140069 +0200 ++++ ncl-6.6.2/ncarg2d/src/libncarg_gks/bwi/argb2ci.f 2021-08-25 16:58:47.574322219 +0200 +@@ -31,8 +31,8 @@ + mindist = 2e31 + nearest = 0 + do i=1,mol +- r = (iand(index, RMASK) / Z'0000FFFF') / 255. +- g = (iand(index, GMASK) / Z'000000FF') / 255. ++ r = (iand(index, RMASK) / int(Z'0000FFFF', 4)) / 255. ++ g = (iand(index, GMASK) / int(Z'000000FF', 4)) / 255. + b = (iand(index, BMASK)) / 255. + + C we don't need absolute distance, so forego the sqrt operation... diff --git a/easybuild/easyconfigs/n/NCL/NCL-6.6.2_multiple_definitions.patch b/easybuild/easyconfigs/n/NCL/NCL-6.6.2_multiple_definitions.patch new file mode 100644 index 00000000000..04806be95d9 --- /dev/null +++ b/easybuild/easyconfigs/n/NCL/NCL-6.6.2_multiple_definitions.patch @@ -0,0 +1,30 @@ +# Author: @maxim-masterov (SURF) +# This patch fixes the error with the multiple definitions of global variables. +diff -Nru ncl-6.6.2.orig/ni/src/ncl/NclApi.c ncl-6.6.2/ni/src/ncl/NclApi.c +--- ncl-6.6.2.orig/ni/src/ncl/NclApi.c 2021-08-23 11:16:17.620033156 +0200 ++++ ncl-6.6.2/ni/src/ncl/NclApi.c 2021-08-25 18:15:32.792728681 +0200 +@@ -140,9 +140,9 @@ + extern char *the_input_buffer_ptr; + extern int the_input_buffer_size; + +-FILE *thefptr; +-FILE *theoptr; +-int cmd_line; ++extern FILE *thefptr; ++extern FILE *theoptr; ++extern int cmd_line; + extern int cur_line_number; + extern char *cur_line_text; + extern int cur_line_maxsize; +diff -Nru ncl-6.6.2.orig/ni/src/ncl/NclNewHDF5.c ncl-6.6.2/ni/src/ncl/NclNewHDF5.c +--- ncl-6.6.2.orig/ni/src/ncl/NclNewHDF5.c 2021-08-23 11:16:18.450026586 +0200 ++++ ncl-6.6.2/ni/src/ncl/NclNewHDF5.c 2021-08-25 18:12:58.378953245 +0200 +@@ -82,7 +82,7 @@ + + #define NUMPOSDIMNAMES 6 + +-NclQuark possibleDimNames[NUMPOSDIMNAMES]; ++extern NclQuark possibleDimNames[NUMPOSDIMNAMES]; + + #ifndef FALSE + #define FALSE 0 diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.0.1-foss-2021a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.0.1-foss-2021a.eb new file mode 100644 index 00000000000..f8ae05c77a4 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.0.1-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' +name = 'NCO' +version = '5.0.1' + +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': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['NCO-%(version)s_fix_build_of_cxx_interface.patch'] +checksums = [ + '37d11ffe582aa0ee89f77a7b9a176b41e41900e9ab709e780ec0caf52ad60c4b', # 5.0.1.tar.gz + 'ea1bdaafd7b8bf8b84569634373868f2d8463d65bd9ec6f56143f4f7362f5c99', # NCO-5.0.1_fix_build_of_cxx_interface.patch +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.2.9'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.7'), + ('GSL', '2.7'), + ('netCDF', '4.8.0'), + ('ESMF', '8.1.1'), # ncremap needs ESMF_RegridWeightGen +] + +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'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.0.1_fix_build_of_cxx_interface.patch b/easybuild/easyconfigs/n/NCO/NCO-5.0.1_fix_build_of_cxx_interface.patch new file mode 100644 index 00000000000..8b52061cc38 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.0.1_fix_build_of_cxx_interface.patch @@ -0,0 +1,14 @@ +# Author: @maxim-masterov (SURF) +# Fixes build of the NCO C++ interface library +diff -Nru nco-5.0.1.orig/configure nco-5.0.1/configure +--- nco-5.0.1.orig/configure 2021-08-23 16:37:36.355221743 +0200 ++++ nco-5.0.1/configure 2021-08-26 12:44:59.298990140 +0200 +@@ -21531,7 +21531,7 @@ + # Treat essential and man files now, defer doc files (that rely on makeinfo) to below + ac_config_files="$ac_config_files Makefile data/Makefile src/Makefile src/nco/Makefile man/Makefile" + +-if test "${ac_cv_cxx_have_valarray}" = 'yes' && test "${enable_nco_cxx}" = 'yes' ; then ++if test "${enable_nco_cxx}" = 'yes' ; then + ac_config_files="$ac_config_files src/nco_c++/Makefile" + + NCO_CXX="nco_c++" diff --git a/easybuild/easyconfigs/n/NCO/NCO-5.0.3-foss-2021b.eb b/easybuild/easyconfigs/n/NCO/NCO-5.0.3-foss-2021b.eb new file mode 100644 index 00000000000..92c8bd7333b --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.0.3-foss-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.0.3' + +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': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['61b45cdfbb772718f00d40da1a4ce268201fd00a61ebb9515460b8dda8557bdb'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.4.1'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.8'), + ('GSL', '2.7'), + ('netCDF', '4.8.1'), + ('ESMF', '8.2.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/NCO/NCO-5.0.3-intel-2021b.eb b/easybuild/easyconfigs/n/NCO/NCO-5.0.3-intel-2021b.eb new file mode 100644 index 00000000000..ada782814eb --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.0.3-intel-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.0.3' + +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': '2021b'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['61b45cdfbb772718f00d40da1a4ce268201fd00a61ebb9515460b8dda8557bdb'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.4.1'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.8'), + ('GSL', '2.7'), + ('netCDF', '4.8.1'), + ('ESMF', '8.2.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/NCO/NCO-5.0.6-intel-2019b.eb b/easybuild/easyconfigs/n/NCO/NCO-5.0.6-intel-2019b.eb new file mode 100644 index 00000000000..0bbf278870b --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.0.6-intel-2019b.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.0.6' + +homepage = "https://nco.sourceforge.net" +description = """manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5""" + +toolchain = {'name': 'intel', 'version': '2019b'} +# compile with -O1 to work around Intel compiler crash (Segmentation violation signal raised) +# which happens on some processors (such as skylake, cascadelake) +toolchainopts = {'lowopt': True} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d4c74e0268af94bdddcb0c77189830992f61c04147c23669b66470f1a8595d60'] + +builddependencies = [ + ('Bison', '3.3.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.26'), + ('expat', '2.2.7'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.6'), + ('GSL', '2.6'), + ('netCDF', '4.7.1'), + ('ESMF', '8.0.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/NCO/NCO-5.1.0-foss-2022a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.0-foss-2022a.eb new file mode 100644 index 00000000000..81047083a23 --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.0-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.0' + +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': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6f0ba812e0684881a85ebf3385117761cffbba36ba842889cc96f111157f89c2'] + +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/NCO/NCO-5.1.3-foss-2021a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2021a.eb new file mode 100644 index 00000000000..2636620beaf --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.3' + +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': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f6766627dab3f067c88f2cd713e3058c324ea4f900fabf9755bdd8918c32de7b'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('UDUNITS', '2.2.28'), + ('expat', '2.2.9'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.7'), + ('GSL', '2.7'), + ('netCDF', '4.8.0'), + ('ESMF', '8.1.1'), # 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/NCO/NCO-5.1.3-foss-2022a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2022a.eb new file mode 100644 index 00000000000..b5ad1e4bdae --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.3-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'NCO' +version = '5.1.3' + +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': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nco/nco/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f6766627dab3f067c88f2cd713e3058c324ea4f900fabf9755bdd8918c32de7b'] + +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/NCO/NCO-5.1.9-foss-2023a.eb b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023a.eb new file mode 100644 index 00000000000..0e7dd9be31a --- /dev/null +++ b/easybuild/easyconfigs/n/NCO/NCO-5.1.9-foss-2023a.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': 'foss', 'version': '2023a'} + +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.5.0'), + ('ANTLR', '2.7.7', '-Java-11'), + ('libdap', '3.20.11'), + ('GSL', '2.7'), + ('netCDF', '4.9.2'), + ('ESMF', '8.6.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/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/NECAT/NECAT-0.0.1-foss-2023a.eb b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-foss-2023a.eb new file mode 100644 index 00000000000..dbc35f62054 --- /dev/null +++ b/easybuild/easyconfigs/n/NECAT/NECAT-0.0.1-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'NECAT' +version = '0.0.1' + +homepage = 'https://github.com/xiaochuanle/NECAT' +description = """NECAT is an error correction and de-novo assembly tool for Nanopore long noisy reads.).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/xiaochuanle/NECAT/archive/'] +sources = ['v%(version)s_update20200803.tar.gz'] +checksums = ['5ddd147b5be6b1fac2f6c10b18c9b587838f2304d2584087c4ed6f628eced06c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Perl', '5.36.1')] + +start_dir = 'src' + +files_to_copy = [ + (['../Linux-amd64/bin/*'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s.pl'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s.pl --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb b/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb new file mode 100644 index 00000000000..91ea5a5d835 --- /dev/null +++ b/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMakeCp' +name = 'NECI' +version = '20220711' +_commit = 'd7a9e87ed6a4a29479dc25fbf36a7bb556c3f5a3' + +homepage = 'https://github.com/ghb24/NECI_STABLE' +description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum +chemistry methods.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +sources = [{ + 'git_config': { + 'url': 'https://github.com/ghb24', + 'repo_name': 'NECI_STABLE', + 'recursive': True, + 'commit': _commit, + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['NECI-20220711_fix-cmake-print-summary.patch'] +checksums = [ + None, + 'e189f1b3991b28502dbd8285a04784e7e422d0a9e01e3f28025d0458b479af2d', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +dependencies = [ + ('HDF5', '1.12.2'), +] + +# 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/NECI/NECI-20220711_fix-cmake-print-summary.patch b/easybuild/easyconfigs/n/NECI/NECI-20220711_fix-cmake-print-summary.patch new file mode 100644 index 00000000000..000e4879148 --- /dev/null +++ b/easybuild/easyconfigs/n/NECI/NECI-20220711_fix-cmake-print-summary.patch @@ -0,0 +1,15 @@ +If the _content passed to the box_side macro is too long then it fails +Patch by Simon Branford (University of Birmingham) +--- cmake/neci_print_summary.cmake.orig 2023-01-28 12:12:05.844153000 +0000 ++++ cmake/neci_print_summary.cmake 2023-01-28 12:12:26.698259000 +0000 +@@ -28,9 +28,7 @@ + feature_summary( WHAT ALL INCLUDE_QUIET_PACKAGES) + + macro( box_side _content ) +- string( LENGTH "${_content}" _len ) +- string( SUBSTRING " |" ${_len} -1 _box_tail ) +- message( STATUS " | ${_content}${_box_tail}" ) ++ message( STATUS " | ${_content} |" ) + endmacro() + + string(TIMESTAMP _time "%Y-%m-%d %H:%M") 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/NEURON/NEURON-7.8.2-foss-2021b.eb b/easybuild/easyconfigs/n/NEURON/NEURON-7.8.2-foss-2021b.eb new file mode 100644 index 00000000000..d904d4d2188 --- /dev/null +++ b/easybuild/easyconfigs/n/NEURON/NEURON-7.8.2-foss-2021b.eb @@ -0,0 +1,25 @@ +name = 'NEURON' +version = '7.8.2' + +homepage = 'https://www.neuron.yale.edu/neuron' +description = """Empirically-based simulations of neurons and networks of neurons.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/neuronsimulator/nrn/releases/download/%(version)s/'] +sources = ['full-src-package-%(version)s.tar.gz'] +checksums = ['7ab615b36370220d5048214463414bc54245489c14c79899d86e7bb6d3549edf'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('libreadline', '8.1'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb new file mode 100644 index 00000000000..21f7ae1e74b --- /dev/null +++ b/easybuild/easyconfigs/n/NEXUS-CL/NEXUS-CL-2.1.18-GCC-8.2.0-2.31.1.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'NEXUS-CL' +version = '2.1.18' + +homepage = 'https://ncl.sourceforge.net/' +description = """The NEXUS Class Library is a C++ library for parsing NEXUS files.""" + +toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.sourceforge.net/ncl'] +sources = ['ncl-%(version)s.tar.gz'] +checksums = ['6e792ede614f6969a0cd342fea1505b4ea3e3e4c0f50a1c0c16a3af67bfe9737'] + +builddependencies = [('Autotools', '20180311')] + +preconfigopts = 'CPPFLAGS=-DNCL_CONST_FUNCS ' + +sanity_check_paths = { + 'files': ["bin/%s" % local_binfile for local_binfile in ["NCLconverter", "NEXUSnormalizer", "NEXUSvalidator"]] + + ["lib/ncl/libncl.so"], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021a.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021a.eb new file mode 100644 index 00000000000..28ace915b9d --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021a.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.5.2' + +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': '2021a'} + +source_urls = ['https://github.com/NFFT/nfft/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c68b22de2b914328d5d9fd33778defc66b226c72ef4c103956bbf36bbcd18e45'] + +dependencies = [('FFTW', '3.3.9')] + +builddependencies = [('Autotools', '20210128')] + +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/NFFT/NFFT-3.5.2-foss-2021b.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021b.eb new file mode 100644 index 00000000000..f8ff6083ed5 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.2-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'NFFT' +version = '3.5.2' + +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': '2021b'} + +source_urls = ['https://github.com/NFFT/nfft/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c68b22de2b914328d5d9fd33778defc66b226c72ef4c103956bbf36bbcd18e45'] + +dependencies = [('FFTW', '3.3.10')] + +builddependencies = [('Autotools', '20210726')] + +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/NFFT/NFFT-3.5.3-foss-2022a.eb b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2022a.eb new file mode 100644 index 00000000000..36911997f51 --- /dev/null +++ b/easybuild/easyconfigs/n/NFFT/NFFT-3.5.3-foss-2022a.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': '2022a'} + +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/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/NGS-Python/NGS-Python-2.9.3-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-2.9.3-intel-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..59aa5296d86 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-2.9.3-intel-2018b-Python-3.6.6.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'NGS-Python' +version = '2.9.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/ncbi/ngs' +description = """NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from + Next Generation Sequencing.""" + +toolchain = {'name': 'intel', 'version': '2018b'} + +source_urls = ['https://github.com/ncbi/ngs/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['NGS-Python-%(version)s_fix-python-install-prefix.patch'] +checksums = [ + 'd16cdf340f4c66e449cc490a222e54e9074cd15fe0938cb75b951a72985f757d', # 2.9.3.tar.gz + # NGS-Python-2.9.3_fix-python-install-prefix.patch + '72df59433ff1ad64e8313c6ed85286bcd25570eaef28c74ad5239fcaa9de8875', +] + +dependencies = [('Python', '3.6.6')] + +# override default of using $HOME/ncbi-outdir +configopts = "--build-prefix=%(builddir)s/ncbi-outdir" + +buildopts = 'CC="$CC -c" CPP="$CXX" CP="$CXX -c" -C ngs-sdk && ' +buildopts += 'make CC="$CC -c" CPP="$CXX" CP="$CXX -c" -C ngs-python' + +installopts = "-C ngs-sdk && make install -C ngs-python" + +parallel = 1 + +sanity_check_paths = { + 'files': ['lib64/libngs-sdk.%s' % SHLIB_EXT, 'lib64/libngs-adapt-c++.a', 'lib64/libngs-c++.a'], + 'dirs': ['include/ngs', 'lib/python%(pyshortver)s/site-packages', 'share/examples'], +} + +sanity_check_commands = ["python -c 'import ngs'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGS-Python/NGS-Python-2.9.3_fix-python-install-prefix.patch b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-2.9.3_fix-python-install-prefix.patch new file mode 100644 index 00000000000..92b99ee5e44 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS-Python/NGS-Python-2.9.3_fix-python-install-prefix.patch @@ -0,0 +1,13 @@ +fix installation prefix for installing NGS Python bindings +author: Kenneth Hoste (HPC-UGent) +--- ngs-2.9.3/ngs-python/Makefile.python.orig 2019-02-12 09:33:55.145471383 +0100 ++++ ngs-2.9.3/ngs-python/Makefile.python 2019-02-12 09:34:09.145729890 +0100 +@@ -85,7 +85,7 @@ + + else + @ echo "Installing ngs package..." +- @ python setup.py -q install --user ++ @ python setup.py -q install --prefix $(INST_PYTHONDIR) + endif + + ifneq (, $(NGS_LIBDIR)) diff --git a/easybuild/easyconfigs/n/NGS/NGS-1.3.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/n/NGS/NGS-1.3.0-GCCcore-6.4.0.eb index 85280ff5970..c6bfafd32a6 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-1.3.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-1.3.0-GCCcore-6.4.0.eb @@ -13,7 +13,7 @@ source_urls = ['https://github.com/ncbi/ngs/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['803c650a6de5bb38231d9ced7587f3ab788b415cac04b0ef4152546b18713ef2'] -dependencies = [('Java', '1.8.0_192', '', True)] +dependencies = [('Java', '1.8.0_192', '', SYSTEM)] builddependencies = [ ('binutils', '2.28'), diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-1.8.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-1.8.eb index bc20255c082..de7c2047d29 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-1.8.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-1.8.eb @@ -20,7 +20,7 @@ checksums = ['4139adff83af213d7880bc80d1c0f5ee9b00c6c4e615d00aa47aaa267e40ed25'] builddependencies = [('binutils', '2.31.1')] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] # override default of using $HOME/ncbi-outdir configopts = "--build-prefix=%(builddir)s/ncbi-outdir" diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-11.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-11.eb index f32799f658e..c95aef751b3 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-11.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.0-GCCcore-8.2.0-Java-11.eb @@ -20,7 +20,7 @@ checksums = ['4139adff83af213d7880bc80d1c0f5ee9b00c6c4e615d00aa47aaa267e40ed25'] builddependencies = [('binutils', '2.31.1')] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] # override default of using $HOME/ncbi-outdir configopts = "--build-prefix=%(builddir)s/ncbi-outdir" diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.4-GCCcore-8.3.0-Java-11.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.4-GCCcore-8.3.0-Java-11.eb index bf41fbf66b7..04f599cb3a4 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.10.4-GCCcore-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.4-GCCcore-8.3.0-Java-11.eb @@ -15,7 +15,7 @@ builddependencies = [ ('Perl', '5.30.0'), ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] default_easyblock = 'ConfigureMake' default_component_specs = { diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.5-GCCcore-9.3.0.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.5-GCCcore-9.3.0.eb index 8a3ae837e9e..c6f2f988ec1 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.10.5-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.5-GCCcore-9.3.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('Perl', '5.30.2'), ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] default_easyblock = 'ConfigureMake' default_component_specs = { diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.2.0.eb index 3ca4af87ce9..3ef383ecc8b 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.2.0.eb @@ -14,7 +14,7 @@ builddependencies = [ ('Perl', '5.32.0'), ] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] default_easyblock = 'ConfigureMake' default_component_specs = { diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9c8a9ae5026 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS/NGS-2.10.9-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Bundle' + +name = 'NGS' +version = '2.10.9' + +homepage = 'https://github.com/ncbi/ngs' +description = """NGS is a new, domain-specific API for accessing reads, alignments and pileups +produced from Next Generation Sequencing.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('Perl', '5.32.1'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://github.com/ncbi/ngs/archive'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['1372695af5ac2599c9dad0b8cdce857c95c7827ff831a6709343276a29438b1e'], +} + +components = [ + ('NGS-SDK', version, { + 'start_dir': 'ngs-%(version)s/%(namelower)s', + 'configopts': '--build-prefix=%(builddir)s', # change default build directory + }), + ('NGS-Java', version, { + 'start_dir': 'ngs-%(version)s/%(namelower)s', + 'configopts': '--build-prefix=%(builddir)s', # change default build directory + }), +] + +sanity_check_paths = { + 'files': ['jar/ngs-java.jar', ('lib/libngs-sdk.%s' % SHLIB_EXT, 'lib64/libngs-sdk.%s' % SHLIB_EXT), + ('lib/libngs-adapt-c++.a', 'lib64/libngs-adapt-c++.a'), ('lib/libngs-c++.a', 'lib64/libngs-c++.a')], + 'dirs': ['include/ngs', 'share'], +} + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.11.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NGS/NGS-2.11.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..785c1683f20 --- /dev/null +++ b/easybuild/easyconfigs/n/NGS/NGS-2.11.2-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'Bundle' + +name = 'NGS' +version = '2.11.2' + +homepage = 'https://github.com/ncbi/ngs' +description = """NGS is a new, domain-specific API for accessing reads, alignments and pileups +produced from Next Generation Sequencing.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), + ('Perl', '5.34.0', '-minimal'), +] + +dependencies = [('Java', '11', '', SYSTEM)] + +default_easyblock = 'ConfigureMake' +default_component_specs = { + 'source_urls': ['https://github.com/ncbi/ngs/archive'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['7555ab7c2f04bd81160859f6c85c65376dc7f7b891804fad9e7636a7788e39c2'], +} + +components = [ + ('NGS-SDK', version, { + 'start_dir': 'ngs-%(version)s/%(namelower)s', + 'configopts': '--build-prefix=%(builddir)s', # change default build directory + }), + ('NGS-Java', version, { + 'start_dir': 'ngs-%(version)s/%(namelower)s', + 'configopts': '--build-prefix=%(builddir)s', # change default build directory + }), +] + +sanity_check_paths = { + 'files': ['jar/ngs-java.jar', ('lib/libngs-sdk.%s' % SHLIB_EXT, 'lib64/libngs-sdk.%s' % SHLIB_EXT), + ('lib/libngs-adapt-c++.a', 'lib64/libngs-adapt-c++.a'), ('lib/libngs-c++.a', 'lib64/libngs-c++.a')], + 'dirs': ['include/ngs', 'share'], +} + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.9.1-foss-2018a-Java-1.8.0_162.eb b/easybuild/easyconfigs/n/NGS/NGS-2.9.1-foss-2018a-Java-1.8.0_162.eb index 8c00266c360..1255f097104 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.9.1-foss-2018a-Java-1.8.0_162.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.9.1-foss-2018a-Java-1.8.0_162.eb @@ -14,7 +14,7 @@ source_urls = ['https://github.com/ncbi/ngs/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['c24c93bd70ed198a44c6b9dba0d6704edc90f228f832f2fef21fa5342303fc50'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] # override default of using $HOME/ncbi-outdir configopts = "--build-prefix=%(builddir)s/ncbi-outdir" diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.9.1-intel-2018a-Java-1.8.0_162.eb b/easybuild/easyconfigs/n/NGS/NGS-2.9.1-intel-2018a-Java-1.8.0_162.eb index ec99368e887..6f21a2ce8b4 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.9.1-intel-2018a-Java-1.8.0_162.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.9.1-intel-2018a-Java-1.8.0_162.eb @@ -14,7 +14,7 @@ source_urls = ['https://github.com/ncbi/ngs/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['c24c93bd70ed198a44c6b9dba0d6704edc90f228f832f2fef21fa5342303fc50'] -dependencies = [('Java', '1.8.0_162', '', True)] +dependencies = [('Java', '1.8.0_162', '', SYSTEM)] # override default of using $HOME/ncbi-outdir configopts = "--build-prefix=%(builddir)s/ncbi-outdir" diff --git a/easybuild/easyconfigs/n/NGS/NGS-2.9.3-foss-2018b-Java-1.8.eb b/easybuild/easyconfigs/n/NGS/NGS-2.9.3-foss-2018b-Java-1.8.eb index b65402280d4..37d4558ef19 100644 --- a/easybuild/easyconfigs/n/NGS/NGS-2.9.3-foss-2018b-Java-1.8.eb +++ b/easybuild/easyconfigs/n/NGS/NGS-2.9.3-foss-2018b-Java-1.8.eb @@ -14,7 +14,7 @@ source_urls = ['https://github.com/ncbi/ngs/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['d16cdf340f4c66e449cc490a222e54e9074cd15fe0938cb75b951a72985f757d'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] # override default of using $HOME/ncbi-outdir configopts = "--build-prefix=%(builddir)s/ncbi-outdir" diff --git a/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.1.2.1-foss-2021b.eb b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.1.2.1-foss-2021b.eb new file mode 100644 index 00000000000..ded9e69beb6 --- /dev/null +++ b/easybuild/easyconfigs/n/NGSpeciesID/NGSpeciesID-0.1.2.1-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'NGSpeciesID' +version = '0.1.2.1' + +homepage = 'https://github.com/ksahlin/NGSpeciesID' +description = "NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads." + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e7c94b147ceff184ca964a7adbcc0540dac7303136ebc53033245f8e33bd7faa'] + +dependencies = [ + ('Python', '3.9.6'), + ('python-parasail', '1.2.4'), + ('edlib', '1.3.9'), + ('medaka', '1.6.0'), + ('spoa', '4.0.7'), + ('Racon', '1.5.0'), + ('minimap2', '2.22'), +] + +download_dep_fail = True +use_pip = True + +# 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-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/NIMBLE/NIMBLE-0.7.0-foss-2018b-R-3.5.1.eb b/easybuild/easyconfigs/n/NIMBLE/NIMBLE-0.7.0-foss-2018b-R-3.5.1.eb index 492ce96c1a9..bd388fb7582 100644 --- a/easybuild/easyconfigs/n/NIMBLE/NIMBLE-0.7.0-foss-2018b-R-3.5.1.eb +++ b/easybuild/easyconfigs/n/NIMBLE/NIMBLE-0.7.0-foss-2018b-R-3.5.1.eb @@ -17,7 +17,7 @@ source_urls = [ sources = ['%(namelower)s_%(version)s.tar.gz'] checksums = ['661a5bb626164c145ae9c5ba5c3d9c30b0ecc1b83d86eae25d83745324906f7e'] -builddependencies = [('Eigen', '3.3.7', '', True)] +builddependencies = [('Eigen', '3.3.7', '', SYSTEM)] dependencies = [('R', '3.5.1')] diff --git a/easybuild/easyconfigs/n/NINJA/NINJA-0.97-cluster_only-GCC-10.2.0.eb b/easybuild/easyconfigs/n/NINJA/NINJA-0.97-cluster_only-GCC-10.2.0.eb deleted file mode 100644 index 62d086e7a85..00000000000 --- a/easybuild/easyconfigs/n/NINJA/NINJA-0.97-cluster_only-GCC-10.2.0.eb +++ /dev/null @@ -1,29 +0,0 @@ -# Author: Jasper Grimm (UoY) - -easyblock = 'MakeCp' - -name = 'NINJA' -version = '0.97-cluster_only' - -homepage = 'https://github.com/TravisWheelerLab/NINJA' -description = "Nearly Infinite Neighbor Joining Application." - -toolchain = {'name': 'GCC', 'version': '10.2.0'} -toolchainopts = {'cstd': 'gnu++11', 'openmp': True, 'opt': True} - -github_account = 'TravisWheelerLab' -source_urls = [GITHUB_SOURCE] -sources = ['%(version)s.tar.gz'] -checksums = ['b9b948c698efc3838e63817f732ead35c08debe1c0ae36b5c74df7d26ca4c4b6'] - -start_dir = name -buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' - -files_to_copy = [(['%(name)s/Ninja'], 'bin'), 'NINJA/README', 'README.md', 'LICENSE'] - -sanity_check_paths = { - 'files': ['bin/Ninja'], - 'dirs': [], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb new file mode 100644 index 00000000000..a26167bb1ab --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.6.7-foss-2021a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.6.7' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.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', '2021.8.28', { + 'checksums': ['f585cbbeecb35f35609edccb95efd95a3e35824cd7752b586503f7e6087303f1'], + }), + ('python-crfsuite', '0.9.7', { + 'modulename': 'pycrfsuite', + 'checksums': ['3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'checksums': ['51bf1aef5304740a708be7c8e683f7798f03dc5c7a7e7feb758be9e95f4585e3'], + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'postinstallcmds': local_nltk_data_install, + }), +] + +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.7-foss-2021b.eb b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb new file mode 100644 index 00000000000..4255ed7b63b --- /dev/null +++ b/easybuild/easyconfigs/n/NLTK/NLTK-3.7-foss-2021b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'NLTK' +version = '3.7' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), + ('matplotlib', '3.4.3'), + ('tqdm', '4.62.3'), +] + +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} + +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 + +exts_list = [ + ('regex', '2022.1.18', { + 'checksums': ['97f32dc03a8054a4c4a5ab5d761ed4861e828b2c200febd4e46857069a483916'], + }), + ('python-crfsuite', '0.9.7', { + 'modulename': 'pycrfsuite', + 'checksums': ['3b4538d2ce5007e4e42005818247bf43ade89ef08a66d158462e2f7c5d63cee7'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'checksums': ['d6507d6460cec76d70afea4242a226a7542f85c669177b9c7f562b7cf1b05502'], + 'use_pip_extras': 'corenlp,machine_learning,plot,tgrep', + 'postinstallcmds': local_nltk_data_install, + }), +] + +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-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/NLopt/NLopt-2.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5d5877cfd0e --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.0' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b881cc2a5face5139f1c5a30caf26b7d3cb43d69d5e423c9d78392f99844499f'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e9b6611e060 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..68952817fe2 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e7f423ac324 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..17c0db0f161 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b9bb438dc94 --- /dev/null +++ b/easybuild/easyconfigs/n/NLopt/NLopt-2.7.1-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'NLopt' +version = '2.7.1' + +homepage = 'http://ab-initio.mit.edu/wiki/index.php/NLopt' +description = """ NLopt is a free/open-source library for nonlinear optimization, + providing a common interface for a number of different free optimization routines + available online as well as original implementations of various other algorithms. """ + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/stevengj/nlopt/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db88232fa5cef0ff6e39943fc63ab6074208831dc0031cf1545f6ecd31ae2a1a'] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF' +] + +sanity_check_paths = { + 'files': ['lib/libnlopt.a', 'lib/libnlopt.%s' % SHLIB_EXT, 'include/nlopt.h'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb b/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb index 7ff97151c06..be4fc2322f3 100644 --- a/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/n/NOVOPlasty/NOVOPlasty-3.7-GCCcore-8.3.0.eb @@ -25,7 +25,7 @@ sanity_check_paths = { # run one of the examples by means of test (takes 2-3 min.) sanity_check_commands = [ - "mkdir %(builddir)s/test && cp -a %(installdir)s/Test\ datasets/Chloroplast\ assembly/* %(builddir)s/test/", + r"mkdir %(builddir)s/test && cp -a %(installdir)s/Test\ datasets/Chloroplast\ assembly/* %(builddir)s/test/", "cd %(builddir)s/test && NOVOPlasty%(version)s.pl -c config_test_chloro.txt 2>&1 | tee test.log", "grep 'Thank you for using NOVOPlasty' %(builddir)s/test/test.log", ] diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.32-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.32-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d97f4b7a45b --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.32-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.32' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb6bf4f534b9559cf123dcdc6f9cd8167de950314a90a88b2a329c16836e7f6c'] + +builddependencies = [('binutils', '2.37')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.34-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f284259779b --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.34-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.34' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['beef011cd15d8f40794984d17014366513cec5719bf1a78f5e8a3e3a1cebf99c'] + +builddependencies = [('binutils', '2.38')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1795b557f16 --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.35' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a5ee868d241 --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.35' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f'] + +builddependencies = [('binutils', '2.40')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dd289fea3b1 --- /dev/null +++ b/easybuild/easyconfigs/n/NSPR/NSPR-4.35-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'NSPR' +version = '4.35' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR' +description = """Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level + and libc-like functions.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/nspr/releases/v%(version)s/src/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f'] + +builddependencies = [('binutils', '2.40')] + +configopts = "--disable-debug --enable-optimize --enable-64bit" + +sanity_check_paths = { + 'files': ['bin/nspr-config', 'lib/libnspr%(version_major)s.a', 'lib/libnspr%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplc%(version_major)s.a', 'lib/libplc%%(version_major)s.%s' % SHLIB_EXT, + 'lib/libplds%(version_major)s.a', 'lib/libplds%%(version_major)s.%s' % SHLIB_EXT, + 'lib/pkgconfig/nspr.pc'], + 'dirs': ['include/nspr'], +} + +sanity_check_commands = ["nspr-config --version"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-6.4.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-6.4.0.eb index 889e4a9531d..94802ed06d6 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-6.4.0.eb @@ -11,10 +11,14 @@ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] sources = [SOURCELOWER_TAR_GZ] -patches = ['NSS-%(version)s_pkgconfig.patch'] +patches = [ + 'NSS-%(version)s_pkgconfig.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', +] checksums = [ '6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b', # nss-3.39.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.28')] @@ -34,10 +38,15 @@ buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-7.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-7.3.0.eb index 50e0978d690..181a07ac021 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.39-GCCcore-7.3.0.eb @@ -11,10 +11,14 @@ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] sources = [SOURCELOWER_TAR_GZ] -patches = ['NSS-%(version)s_pkgconfig.patch'] +patches = [ + 'NSS-%(version)s_pkgconfig.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', +] checksums = [ '6be64dd76f212415cc8bc34343ac1e7389048db4db9a023a84873c411dc5864b', # nss-3.39.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.30')] @@ -34,10 +38,15 @@ buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.42.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.42.1-GCCcore-8.2.0.eb index 165b3e41cc6..43f8dde595b 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.42.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.42.1-GCCcore-8.2.0.eb @@ -11,10 +11,14 @@ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_1_RTM/src/'] sources = [SOURCELOWER_TAR_GZ] -patches = ['NSS-3.39_pkgconfig.patch'] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', +] checksums = [ '087db37d38fd49dfd584dd2a8b5baa7fc88de7c9bd97c0c2d5be4abcafc61fc6', # nss-3.42.1.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.31.1')] @@ -27,17 +31,22 @@ dependencies = [ parallel = 1 # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" && ' +buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" NSS_ENABLE_WERROR=0 && ' # also install pkgconfig file (see patch) buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.42.1_CVE-2021-43527.patch b/easybuild/easyconfigs/n/NSS/NSS-3.42.1_CVE-2021-43527.patch new file mode 100644 index 00000000000..a202443c108 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.42.1_CVE-2021-43527.patch @@ -0,0 +1,285 @@ + +# HG changeset patch +# User Dennis Jackson +# Date 1637577642 0 +# Node ID dea71cbef9e03636f37c6cb120f8deccce6e17dd +# Parent da3d22d708c9cc0a32cff339658aeb627575e371 +Bug 1737470 - Ensure DER encoded signatures are within size limits. r=jschanck,mt,bbeurdouche,rrelyea + +Differential Revision: https://phabricator.services.mozilla.com/D129514 + +--- a/nss/lib/cryptohi/secvfy.c ++++ b/nss/lib/cryptohi/secvfy.c +@@ -164,6 +164,37 @@ verifyPKCS1DigestInfo(const VFYContext * + PR_FALSE /*XXX: unsafeAllowMissingParameters*/); + } + ++static unsigned int ++checkedSignatureLen(const SECKEYPublicKey *pubk) ++{ ++ unsigned int sigLen = SECKEY_SignatureLen(pubk); ++ if (sigLen == 0) { ++ /* Error set by SECKEY_SignatureLen */ ++ return sigLen; ++ } ++ unsigned int maxSigLen; ++ switch (pubk->keyType) { ++ case rsaKey: ++ case rsaPssKey: ++ maxSigLen = (RSA_MAX_MODULUS_BITS + 7) / 8; ++ break; ++ case dsaKey: ++ maxSigLen = DSA_MAX_SIGNATURE_LEN; ++ break; ++ case ecKey: ++ maxSigLen = 2 * MAX_ECKEY_LEN; ++ break; ++ default: ++ PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); ++ return 0; ++ } ++ if (sigLen > maxSigLen) { ++ PORT_SetError(SEC_ERROR_INVALID_KEY); ++ return 0; ++ } ++ return sigLen; ++} ++ + /* + * decode the ECDSA or DSA signature from it's DER wrapping. + * The unwrapped/raw signature is placed in the buffer pointed +@@ -174,38 +205,38 @@ decodeECorDSASignature(SECOidTag algid, + unsigned int len) + { + SECItem *dsasig = NULL; /* also used for ECDSA */ +- SECStatus rv = SECSuccess; + +- if ((algid != SEC_OID_ANSIX9_DSA_SIGNATURE) && +- (algid != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) { +- if (sig->len != len) { +- PORT_SetError(SEC_ERROR_BAD_DER); +- return SECFailure; ++ /* Safety: Ensure algId is as expected and that signature size is within maxmimums */ ++ if (algid == SEC_OID_ANSIX9_DSA_SIGNATURE) { ++ if (len > DSA_MAX_SIGNATURE_LEN) { ++ goto loser; + } +- +- PORT_Memcpy(dsig, sig->data, sig->len); +- return SECSuccess; +- } +- +- if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { ++ } else if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { + if (len > MAX_ECKEY_LEN * 2) { +- PORT_SetError(SEC_ERROR_BAD_DER); +- return SECFailure; ++ goto loser; + } +- } +- dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); +- +- if ((dsasig == NULL) || (dsasig->len != len)) { +- rv = SECFailure; + } else { +- PORT_Memcpy(dsig, dsasig->data, dsasig->len); ++ goto loser; + } + +- if (dsasig != NULL) ++ /* Decode and pad to length */ ++ dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); ++ if (dsasig == NULL) { ++ goto loser; ++ } ++ if (dsasig->len != len) { + SECITEM_FreeItem(dsasig, PR_TRUE); +- if (rv == SECFailure) +- PORT_SetError(SEC_ERROR_BAD_DER); +- return rv; ++ goto loser; ++ } ++ ++ PORT_Memcpy(dsig, dsasig->data, len); ++ SECITEM_FreeItem(dsasig, PR_TRUE); ++ ++ return SECSuccess; ++ ++loser: ++ PORT_SetError(SEC_ERROR_BAD_DER); ++ return SECFailure; + } + + const SEC_ASN1Template hashParameterTemplate[] = +@@ -231,7 +262,7 @@ SECStatus + sec_DecodeSigAlg(const SECKEYPublicKey *key, SECOidTag sigAlg, + const SECItem *param, SECOidTag *encalg, SECOidTag *hashalg) + { +- int len; ++ unsigned int len; + PLArenaPool *arena; + SECStatus rv; + SECItem oid; +@@ -446,48 +477,52 @@ vfy_CreateContext(const SECKEYPublicKey + cx->pkcs1RSADigestInfo = NULL; + rv = SECSuccess; + if (sig) { +- switch (type) { +- case rsaKey: +- rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, +- &cx->pkcs1RSADigestInfo, +- &cx->pkcs1RSADigestInfoLen, +- cx->key, +- sig, wincx); +- break; +- case rsaPssKey: +- sigLen = SECKEY_SignatureLen(key); +- if (sigLen == 0) { +- /* error set by SECKEY_SignatureLen */ +- rv = SECFailure; ++ rv = SECFailure; ++ if (type == rsaKey) { ++ rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, ++ &cx->pkcs1RSADigestInfo, ++ &cx->pkcs1RSADigestInfoLen, ++ cx->key, ++ sig, wincx); ++ } else { ++ sigLen = checkedSignatureLen(key); ++ /* Check signature length is within limits */ ++ if (sigLen == 0) { ++ /* error set by checkedSignatureLen */ ++ rv = SECFailure; ++ goto loser; ++ } ++ if (sigLen > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ rv = SECFailure; ++ goto loser; ++ } ++ switch (type) { ++ case rsaPssKey: ++ if (sig->len != sigLen) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ rv = SECFailure; ++ goto loser; ++ } ++ PORT_Memcpy(cx->u.buffer, sig->data, sigLen); ++ rv = SECSuccess; + break; +- } +- if (sig->len != sigLen) { +- PORT_SetError(SEC_ERROR_BAD_SIGNATURE); +- rv = SECFailure; ++ case ecKey: ++ case dsaKey: ++ /* decodeECorDSASignature will check sigLen == sig->len after padding */ ++ rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); + break; +- } +- PORT_Memcpy(cx->u.buffer, sig->data, sigLen); +- break; +- case dsaKey: +- case ecKey: +- sigLen = SECKEY_SignatureLen(key); +- if (sigLen == 0) { +- /* error set by SECKEY_SignatureLen */ ++ default: ++ /* Unreachable */ + rv = SECFailure; +- break; +- } +- rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); +- break; +- default: +- rv = SECFailure; +- PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); +- break; ++ goto loser; ++ } ++ } ++ if (rv != SECSuccess) { ++ goto loser; + } + } + +- if (rv) +- goto loser; +- + /* check hash alg again, RSA may have changed it.*/ + if (HASH_GetHashTypeByOidTag(cx->hashAlg) == HASH_AlgNULL) { + /* error set by HASH_GetHashTypeByOidTag */ +@@ -622,11 +657,16 @@ VFY_EndWithSignature(VFYContext *cx, SEC + switch (cx->key->keyType) { + case ecKey: + case dsaKey: +- dsasig.data = cx->u.buffer; +- dsasig.len = SECKEY_SignatureLen(cx->key); ++ dsasig.len = checkedSignatureLen(cx->key); + if (dsasig.len == 0) { + return SECFailure; + } ++ if (dsasig.len > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ return SECFailure; ++ } ++ dsasig.data = cx->u.buffer; ++ + if (sig) { + rv = decodeECorDSASignature(cx->encAlg, sig, dsasig.data, + dsasig.len); +@@ -658,8 +698,13 @@ VFY_EndWithSignature(VFYContext *cx, SEC + } + + rsasig.data = cx->u.buffer; +- rsasig.len = SECKEY_SignatureLen(cx->key); ++ rsasig.len = checkedSignatureLen(cx->key); + if (rsasig.len == 0) { ++ /* Error set by checkedSignatureLen */ ++ return SECFailure; ++ } ++ if (rsasig.len > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + return SECFailure; + } + if (sig) { +@@ -721,7 +766,6 @@ vfy_VerifyDigest(const SECItem *digest, + SECStatus rv; + VFYContext *cx; + SECItem dsasig; /* also used for ECDSA */ +- + rv = SECFailure; + + cx = vfy_CreateContext(key, sig, encAlg, hashAlg, NULL, wincx); +@@ -729,19 +773,25 @@ vfy_VerifyDigest(const SECItem *digest, + switch (key->keyType) { + case rsaKey: + rv = verifyPKCS1DigestInfo(cx, digest); ++ /* Error (if any) set by verifyPKCS1DigestInfo */ + break; +- case dsaKey: + case ecKey: ++ case dsaKey: + dsasig.data = cx->u.buffer; +- dsasig.len = SECKEY_SignatureLen(cx->key); ++ dsasig.len = checkedSignatureLen(cx->key); + if (dsasig.len == 0) { ++ /* Error set by checkedSignatureLen */ ++ rv = SECFailure; + break; + } +- if (PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx) != +- SECSuccess) { ++ if (dsasig.len > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ rv = SECFailure; ++ break; ++ } ++ rv = PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx); ++ if (rv != SECSuccess) { + PORT_SetError(SEC_ERROR_BAD_SIGNATURE); +- } else { +- rv = SECSuccess; + } + break; + default: diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.45-GCCcore-8.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.45-GCCcore-8.3.0.eb index 0e4f63906b1..e658c176880 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.45-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.45-GCCcore-8.3.0.eb @@ -11,10 +11,14 @@ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] sources = [SOURCELOWER_TAR_GZ] -patches = ['NSS-3.39_pkgconfig.patch'] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', +] checksums = [ '112f05223d1fde902c170966bfc6f011b24a838be16969b110ecf2bb7bc24e8b', # nss-3.45.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.32')] @@ -27,17 +31,22 @@ dependencies = [ parallel = 1 # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" && ' +buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" NSS_ENABLE_WERROR=0 && ' # also install pkgconfig file (see patch) buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.51-GCCcore-9.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.51-GCCcore-9.3.0.eb index 39120284851..7f63a2bda8d 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.51-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.51-GCCcore-9.3.0.eb @@ -14,11 +14,13 @@ sources = [SOURCELOWER_TAR_GZ] patches = [ 'NSS-3.39_pkgconfig.patch', '%(name)s-%(version)s_fix_kremlin_ppc64le.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', ] checksums = [ '75348b3b3229362486c57a880db917da1f96ef4eb639dc9cc2ff17d72268459c', # nss-3.51.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch '2fc7bd556737d34a62c06f86899863b7071b71943ffb4facfb413a087b8bee2e', # NSS-3.51_fix_kremlin_ppc64le.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.34')] @@ -31,7 +33,7 @@ dependencies = [ parallel = 1 # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" NSS_ENABLE_WERROR=0 ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) @@ -40,10 +42,15 @@ buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch b/easybuild/easyconfigs/n/NSS/NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch new file mode 100644 index 00000000000..5092b5be08d --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch @@ -0,0 +1,32 @@ +Description: Fix FTBFS due to erroneous nonnull annotation in glibc getcwd() +Author: Alex Murray + +This is still unresolved upstream but workaround it for now with this patch +to just disable the nonnull warnings via gcc pragmas around these call +sites + +Upstream bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96832 +--- a/nss/coreconf/nsinstall/nsinstall.c ++++ b/nss/coreconf/nsinstall/nsinstall.c +@@ -236,14 +236,20 @@ main(int argc, char **argv) + return 0; + + if (!cwd) { ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wnonnull" + cwd = GETCWD(0, PATH_MAX); ++#pragma GCC diagnostic pop + if (!cwd) + fail("could not get CWD"); + } + + /* make sure we can get into todir. */ + xchdir(todir); ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wnonnull" + todir = GETCWD(0, PATH_MAX); ++#pragma GCC diagnostic pop + if (!todir) + fail("could not get CWD in todir"); + tdlen = strlen(todir); + diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.57-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.57-GCCcore-10.2.0.eb index 06357048174..8e2acaccc7f 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.57-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.57-GCCcore-10.2.0.eb @@ -13,10 +13,12 @@ source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_ sources = [SOURCELOWER_TAR_GZ] patches = [ 'NSS-3.39_pkgconfig.patch', + 'NSS-3.42.1_CVE-2021-43527.patch', ] checksums = [ '55a86c01be860381d64bb4e5b94eb198df9b0f098a8af0e58c014df398bdc382', # nss-3.57.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'cc17945edcc8f6d951e8710a4e99604439a1758e38539d1b7b8c0cd95ac59355', # NSS-3.42.1_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.35')] @@ -29,7 +31,7 @@ dependencies = [ parallel = 1 # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" NSS_ENABLE_WERROR=0 ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) @@ -40,10 +42,15 @@ buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb index 296cd207c79..cc653fd5135 100644 --- a/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/n/NSS/NSS-3.65-GCCcore-10.3.0.eb @@ -13,10 +13,12 @@ source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_ sources = [SOURCELOWER_TAR_GZ] patches = [ 'NSS-3.39_pkgconfig.patch', + 'NSS-3.65_CVE-2021-43527.patch', ] checksums = [ '32170f6c188212a78bf9fdacffa2eeed0d564ef8faae63fd8ae971b208e8c637', # nss-3.65.tar.gz '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + 'b9ccfdeb692f703e40e83202366bbdea9ef9506003b368e8061fc1fa439ebbc3', # NSS-3.65_CVE-2021-43527.patch ] builddependencies = [('binutils', '2.36.1')] @@ -29,8 +31,11 @@ dependencies = [ # building in parallel fails parallel = 1 +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " # fix for not being able to find header files -buildopts = 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' # fix c standard causing missing functions buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' # also install pkgconfig file (see patch) @@ -41,10 +46,15 @@ buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] sanity_check_paths = { - 'files': ['lib/libnss.a'], - 'dirs': ['bin', 'include/dbm', 'include/nss'], + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], } +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + modextrapaths = {'CPATH': 'include/nss'} moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.65_CVE-2021-43527.patch b/easybuild/easyconfigs/n/NSS/NSS-3.65_CVE-2021-43527.patch new file mode 100644 index 00000000000..beba755539f --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.65_CVE-2021-43527.patch @@ -0,0 +1,352 @@ + +# HG changeset patch +# User Dennis Jackson +# Date 1637577642 0 +# Node ID 6b3dc97a8767d9dc5c4c181597d1341d0899aa58 +# Parent 0ee3564fdb1601e65abd93e888e4cb3ceab5f353 +Bug 1737470 - Ensure DER encoded signatures are within size limits. r=jschanck,mt,bbeurdouche,rrelyea + +Differential Revision: https://phabricator.services.mozilla.com/D129514 + +diff --git a/lib/cryptohi/secvfy.c b/lib/cryptohi/secvfy.c +--- a/lib/cryptohi/secvfy.c ++++ b/lib/cryptohi/secvfy.c +@@ -159,58 +159,89 @@ verifyPKCS1DigestInfo(const VFYContext * + SECItem pkcs1DigestInfo; + pkcs1DigestInfo.data = cx->pkcs1RSADigestInfo; + pkcs1DigestInfo.len = cx->pkcs1RSADigestInfoLen; + return _SGN_VerifyPKCS1DigestInfo( + cx->hashAlg, digest, &pkcs1DigestInfo, + PR_FALSE /*XXX: unsafeAllowMissingParameters*/); + } + ++static unsigned int ++checkedSignatureLen(const SECKEYPublicKey *pubk) ++{ ++ unsigned int sigLen = SECKEY_SignatureLen(pubk); ++ if (sigLen == 0) { ++ /* Error set by SECKEY_SignatureLen */ ++ return sigLen; ++ } ++ unsigned int maxSigLen; ++ switch (pubk->keyType) { ++ case rsaKey: ++ case rsaPssKey: ++ maxSigLen = (RSA_MAX_MODULUS_BITS + 7) / 8; ++ break; ++ case dsaKey: ++ maxSigLen = DSA_MAX_SIGNATURE_LEN; ++ break; ++ case ecKey: ++ maxSigLen = 2 * MAX_ECKEY_LEN; ++ break; ++ default: ++ PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); ++ return 0; ++ } ++ if (sigLen > maxSigLen) { ++ PORT_SetError(SEC_ERROR_INVALID_KEY); ++ return 0; ++ } ++ return sigLen; ++} ++ + /* + * decode the ECDSA or DSA signature from it's DER wrapping. + * The unwrapped/raw signature is placed in the buffer pointed + * to by dsig and has enough room for len bytes. + */ + static SECStatus + decodeECorDSASignature(SECOidTag algid, const SECItem *sig, unsigned char *dsig, + unsigned int len) + { + SECItem *dsasig = NULL; /* also used for ECDSA */ +- SECStatus rv = SECSuccess; + +- if ((algid != SEC_OID_ANSIX9_DSA_SIGNATURE) && +- (algid != SEC_OID_ANSIX962_EC_PUBLIC_KEY)) { +- if (sig->len != len) { +- PORT_SetError(SEC_ERROR_BAD_DER); +- return SECFailure; ++ /* Safety: Ensure algId is as expected and that signature size is within maxmimums */ ++ if (algid == SEC_OID_ANSIX9_DSA_SIGNATURE) { ++ if (len > DSA_MAX_SIGNATURE_LEN) { ++ goto loser; + } +- +- PORT_Memcpy(dsig, sig->data, sig->len); +- return SECSuccess; ++ } else if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { ++ if (len > MAX_ECKEY_LEN * 2) { ++ goto loser; ++ } ++ } else { ++ goto loser; + } + +- if (algid == SEC_OID_ANSIX962_EC_PUBLIC_KEY) { +- if (len > MAX_ECKEY_LEN * 2) { +- PORT_SetError(SEC_ERROR_BAD_DER); +- return SECFailure; +- } ++ /* Decode and pad to length */ ++ dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); ++ if (dsasig == NULL) { ++ goto loser; + } +- dsasig = DSAU_DecodeDerSigToLen((SECItem *)sig, len); +- +- if ((dsasig == NULL) || (dsasig->len != len)) { +- rv = SECFailure; +- } else { +- PORT_Memcpy(dsig, dsasig->data, dsasig->len); ++ if (dsasig->len != len) { ++ SECITEM_FreeItem(dsasig, PR_TRUE); ++ goto loser; + } + +- if (dsasig != NULL) +- SECITEM_FreeItem(dsasig, PR_TRUE); +- if (rv == SECFailure) +- PORT_SetError(SEC_ERROR_BAD_DER); +- return rv; ++ PORT_Memcpy(dsig, dsasig->data, len); ++ SECITEM_FreeItem(dsasig, PR_TRUE); ++ ++ return SECSuccess; ++ ++loser: ++ PORT_SetError(SEC_ERROR_BAD_DER); ++ return SECFailure; + } + + const SEC_ASN1Template hashParameterTemplate[] = + { + { SEC_ASN1_SEQUENCE, 0, NULL, sizeof(SECItem) }, + { SEC_ASN1_OBJECT_ID, 0 }, + { SEC_ASN1_SKIP_REST }, + { 0 } +@@ -276,17 +307,17 @@ sec_GetEncAlgFromSigAlg(SECOidTag sigAlg + * + * Returns: SECSuccess if the algorithm was acceptable, SECFailure if the + * algorithm was not found or was not a signing algorithm. + */ + SECStatus + sec_DecodeSigAlg(const SECKEYPublicKey *key, SECOidTag sigAlg, + const SECItem *param, SECOidTag *encalgp, SECOidTag *hashalg) + { +- int len; ++ unsigned int len; + PLArenaPool *arena; + SECStatus rv; + SECItem oid; + SECOidTag encalg; + + PR_ASSERT(hashalg != NULL); + PR_ASSERT(encalgp != NULL); + +@@ -461,58 +492,62 @@ vfy_CreateContext(const SECKEYPublicKey + cx->wincx = wincx; + cx->hasSignature = (sig != NULL); + cx->encAlg = encAlg; + cx->hashAlg = hashAlg; + cx->key = SECKEY_CopyPublicKey(key); + cx->pkcs1RSADigestInfo = NULL; + rv = SECSuccess; + if (sig) { +- switch (type) { +- case rsaKey: +- rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, +- &cx->pkcs1RSADigestInfo, +- &cx->pkcs1RSADigestInfoLen, +- cx->key, +- sig, wincx); +- break; +- case rsaPssKey: +- sigLen = SECKEY_SignatureLen(key); +- if (sigLen == 0) { +- /* error set by SECKEY_SignatureLen */ +- rv = SECFailure; ++ rv = SECFailure; ++ if (type == rsaKey) { ++ rv = recoverPKCS1DigestInfo(hashAlg, &cx->hashAlg, ++ &cx->pkcs1RSADigestInfo, ++ &cx->pkcs1RSADigestInfoLen, ++ cx->key, ++ sig, wincx); ++ } else { ++ sigLen = checkedSignatureLen(key); ++ /* Check signature length is within limits */ ++ if (sigLen == 0) { ++ /* error set by checkedSignatureLen */ ++ rv = SECFailure; ++ goto loser; ++ } ++ if (sigLen > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ rv = SECFailure; ++ goto loser; ++ } ++ switch (type) { ++ case rsaPssKey: ++ if (sig->len != sigLen) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ rv = SECFailure; ++ goto loser; ++ } ++ PORT_Memcpy(cx->u.buffer, sig->data, sigLen); ++ rv = SECSuccess; + break; +- } +- if (sig->len != sigLen) { +- PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ case ecKey: ++ case dsaKey: ++ /* decodeECorDSASignature will check sigLen == sig->len after padding */ ++ rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); ++ break; ++ default: ++ /* Unreachable */ + rv = SECFailure; +- break; +- } +- PORT_Memcpy(cx->u.buffer, sig->data, sigLen); +- break; +- case dsaKey: +- case ecKey: +- sigLen = SECKEY_SignatureLen(key); +- if (sigLen == 0) { +- /* error set by SECKEY_SignatureLen */ +- rv = SECFailure; +- break; +- } +- rv = decodeECorDSASignature(encAlg, sig, cx->u.buffer, sigLen); +- break; +- default: +- rv = SECFailure; +- PORT_SetError(SEC_ERROR_UNSUPPORTED_KEYALG); +- break; ++ goto loser; ++ } ++ } ++ if (rv != SECSuccess) { ++ goto loser; + } + } + +- if (rv) +- goto loser; +- + /* check hash alg again, RSA may have changed it.*/ + if (HASH_GetHashTypeByOidTag(cx->hashAlg) == HASH_AlgNULL) { + /* error set by HASH_GetHashTypeByOidTag */ + goto loser; + } + /* check the policy on the hash algorithm. Do this after + * the rsa decode because some uses of this function get hash implicitly + * from the RSA signature itself. */ +@@ -645,21 +680,26 @@ VFY_EndWithSignature(VFYContext *cx, SEC + if (cx->hashcx == NULL) { + PORT_SetError(SEC_ERROR_INVALID_ARGS); + return SECFailure; + } + (*cx->hashobj->end)(cx->hashcx, final, &part, sizeof(final)); + switch (cx->key->keyType) { + case ecKey: + case dsaKey: +- dsasig.data = cx->u.buffer; +- dsasig.len = SECKEY_SignatureLen(cx->key); ++ dsasig.len = checkedSignatureLen(cx->key); + if (dsasig.len == 0) { + return SECFailure; + } ++ if (dsasig.len > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); ++ return SECFailure; ++ } ++ dsasig.data = cx->u.buffer; ++ + if (sig) { + rv = decodeECorDSASignature(cx->encAlg, sig, dsasig.data, + dsasig.len); + if (rv != SECSuccess) { + PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + return SECFailure; + } + } +@@ -681,18 +721,23 @@ VFY_EndWithSignature(VFYContext *cx, SEC + cx->params, + &mech); + PORT_DestroyCheapArena(&tmpArena); + if (rv != SECSuccess) { + return SECFailure; + } + + rsasig.data = cx->u.buffer; +- rsasig.len = SECKEY_SignatureLen(cx->key); ++ rsasig.len = checkedSignatureLen(cx->key); + if (rsasig.len == 0) { ++ /* Error set by checkedSignatureLen */ ++ return SECFailure; ++ } ++ if (rsasig.len > sizeof(cx->u)) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + return SECFailure; + } + if (sig) { + if (sig->len != rsasig.len) { + PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + return SECFailure; + } + PORT_Memcpy(rsasig.data, sig->data, rsasig.len); +@@ -744,37 +789,42 @@ VFY_End(VFYContext *cx) + static SECStatus + vfy_VerifyDigest(const SECItem *digest, const SECKEYPublicKey *key, + const SECItem *sig, SECOidTag encAlg, SECOidTag hashAlg, + void *wincx) + { + SECStatus rv; + VFYContext *cx; + SECItem dsasig; /* also used for ECDSA */ +- + rv = SECFailure; + + cx = vfy_CreateContext(key, sig, encAlg, hashAlg, NULL, wincx); + if (cx != NULL) { + switch (key->keyType) { + case rsaKey: + rv = verifyPKCS1DigestInfo(cx, digest); ++ /* Error (if any) set by verifyPKCS1DigestInfo */ + break; +- case dsaKey: + case ecKey: ++ case dsaKey: + dsasig.data = cx->u.buffer; +- dsasig.len = SECKEY_SignatureLen(cx->key); ++ dsasig.len = checkedSignatureLen(cx->key); + if (dsasig.len == 0) { ++ /* Error set by checkedSignatureLen */ ++ rv = SECFailure; + break; + } +- if (PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx) != +- SECSuccess) { ++ if (dsasig.len > sizeof(cx->u)) { + PORT_SetError(SEC_ERROR_BAD_SIGNATURE); +- } else { +- rv = SECSuccess; ++ rv = SECFailure; ++ break; ++ } ++ rv = PK11_Verify(cx->key, &dsasig, (SECItem *)digest, cx->wincx); ++ if (rv != SECSuccess) { ++ PORT_SetError(SEC_ERROR_BAD_SIGNATURE); + } + break; + default: + break; + } + VFY_DestroyContext(cx, PR_TRUE); + } + return rv; + diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..55fbfa38a92 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.69-GCCcore-11.2.0.eb @@ -0,0 +1,63 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.69' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', + 'NSS-3.65_CVE-2021-43527.patch', +] +checksums = [ + 'c880205a365e0dd488ff29fdea82716ff9fcde9da6f3b703d636f8fc08008799', # nss-3.69.tar.gz + '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + # NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b', + 'b9ccfdeb692f703e40e83202366bbdea9ef9506003b368e8061fc1fa439ebbc3', # NSS-3.65_CVE-2021-43527.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('NSPR', '4.32'), + ('zlib', '1.2.11'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..40d16c445eb --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.79-GCCcore-11.3.0.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.79' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + 'ebdf2d6a96613b6fe70ad579e9f983e0e94e0110171cfb2999db633d3394a514', # nss-3.79.tar.gz + '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774', # NSS-3.39_pkgconfig.patch + # NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b', +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('NSPR', '4.34'), + ('zlib', '1.2.12'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e0d91d152f0 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.85-GCCcore-12.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.85' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%(version_major)s_%(version_minor)s_RTM/src/'] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + {'nss-3.85.tar.gz': 'afd9d64510b1154debbd6cab3571e9ff64a3373898e03483e4c85cdada13d297'}, + {'NSS-3.39_pkgconfig.patch': '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774'}, + {'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch': + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('NSPR', '4.35'), + ('zlib', '1.2.12'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..9e06f5845d3 --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.89.1-GCCcore-12.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.89.1' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%s_RTM/src/' % version.replace('.', '_')] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + {'nss-3.89.1.tar.gz': '3adaedb9e70c3c5f40603bf60a01e336190a6dbe01929d395f16b01fe84a0156'}, + {'NSS-3.39_pkgconfig.patch': '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774'}, + {'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch': + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.36.1'), +] + +dependencies = [ + ('NSPR', '4.35'), + ('zlib', '1.2.13'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..bc0a97c325d --- /dev/null +++ b/easybuild/easyconfigs/n/NSS/NSS-3.94-GCCcore-13.2.0.eb @@ -0,0 +1,64 @@ +easyblock = 'MakeCp' + +name = 'NSS' +version = '3.94' + +homepage = 'https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS' +description = """Network Security Services (NSS) is a set of libraries designed to support cross-platform development + of security-enabled client and server applications.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.mozilla.org/pub/security/nss/releases/NSS_%s_RTM/src/' % version.replace('.', '_')] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'NSS-3.39_pkgconfig.patch', + 'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch', +] +checksums = [ + {'nss-3.94.tar.gz': '463ae180ee9e5ee9e3ad4f629326657e236780cc865572a930a16520abad9dd8'}, + {'NSS-3.39_pkgconfig.patch': '5c4b55842e5afd1e8e67b90635f6474510b89242963c4ac2622d3e3da9062774'}, + {'NSS-3.55_fix-ftbfs-glibc-invalid-oob-error.patch': + '15768297c5dd6918132af281531afcfe3e358f45a00bc2655d20a6cbe4310a9b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Perl', '5.38.0'), +] + +dependencies = [ + ('NSPR', '4.35'), + ('zlib', '1.2.13'), +] + +# building in parallel fails +parallel = 1 + +# disable use of -Werror to work around compilation errors with newer glibc versions, +# see also https://sourceware.org/bugzilla/show_bug.cgi?id=27476 +buildopts = "NSS_ENABLE_WERROR=0 " +# fix for not being able to find header files +buildopts += 'BUILD_OPT=1 USE_64=1 CPATH="$EBROOTNSPR/include/nspr:$CPATH" ' +# fix c standard causing missing functions +buildopts += 'OS_REL_CFLAGS="-D_XOPEN_SOURCE " && ' +# also install pkgconfig file (see patch) +buildopts += "cd config && make PREFIX=%(installdir)s BUILD_OPT=1 USE_64=1 && cd -" +# optional testsuite (takes a long time) +# buildopts += " && cd %(builddir)s/%(namelower)s-%(version)s/%(namelower)s/tests && BUILD_OPT=1 USE_64=1 ./all.sh " + +files_to_copy = ['../dist/Linux*.OBJ/*', (['../dist/public/*'], 'include')] + +sanity_check_paths = { + 'files': ['bin/nss-config', 'bin/multinit', 'lib/libnss.a'], + 'dirs': ['include/dbm', 'include/nss'], +} + +sanity_check_commands = [ + "multinit --help", + "nss-config --version", +] + +modextrapaths = {'CPATH': 'include/nss'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-11.2.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..cbeb836cd91 --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-11.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) + +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': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.34.0'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +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/NTL/NTL-11.5.1-GCC-11.3.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..89c7288994f --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-11.3.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) + +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': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.34.1'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +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/NTL/NTL-11.5.1-GCC-12.2.0.eb b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..e591e4d7c66 --- /dev/null +++ b/easybuild/easyconfigs/n/NTL/NTL-11.5.1-GCC-12.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) + +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': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'libntl' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ef578fa8b6c0c64edd1183c4c303b534468b58dd3eb8df8c9a5633f984888de5'] + +builddependencies = [ + ('Perl', '5.36.0'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +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/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/NTPoly/NTPoly-2.5.1-foss-2020b.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.5.1-foss-2020b.eb new file mode 100644 index 00000000000..40c87152392 --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.5.1-foss-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.5.1' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5d1abd3dc3286167caf0c326ef14838ac8360aa1e912bd7bd6d212259fbff1ac'] + +configopts = '-DBUILD_SHARED_LIBS=ON' + +builddependencies = [('CMake', '3.18.4')] + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-2.5.1-intel-2020b.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.5.1-intel-2020b.eb new file mode 100644 index 00000000000..b7e6e5f85e5 --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.5.1-intel-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.5.1' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5d1abd3dc3286167caf0c326ef14838ac8360aa1e912bd7bd6d212259fbff1ac'] + +configopts = '-DBUILD_SHARED_LIBS=ON' + +builddependencies = [('CMake', '3.18.4')] + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-foss-2021a.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-foss-2021a.eb new file mode 100644 index 00000000000..ba297912ab8 --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-foss-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.7.0' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['db4a7cd12f2020739cb96d9f438e525e5a0d695575da89fff88d56365fe8dfde'] + +builddependencies = [('CMake', '3.20.1')] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-intel-2021a.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-intel-2021a.eb new file mode 100644 index 00000000000..138273c8581 --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.0-intel-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.7.0' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['db4a7cd12f2020739cb96d9f438e525e5a0d695575da89fff88d56365fe8dfde'] + +builddependencies = [('CMake', '3.20.1')] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-foss-2022a.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-foss-2022a.eb new file mode 100644 index 00000000000..e6ef7ccfb3e --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.7.1' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': False, 'usempi': True} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c15d9f51ac054b4ef0565ce5c4c8589c10bdbab4dc3442ebd109691e2bbfc7e2'] + +builddependencies = [('CMake', '3.23.1')] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-intel-2020b.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-intel-2020b.eb new file mode 100644 index 00000000000..09ce90d7416 --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-2.7.1-intel-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '2.7.1' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'openmp': False, 'usempi': True} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c15d9f51ac054b4ef0565ce5c4c8589c10bdbab4dc3442ebd109691e2bbfc7e2'] + +builddependencies = [('CMake', '3.18.4')] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NTPoly/NTPoly-3.1.0-foss-2023a.eb b/easybuild/easyconfigs/n/NTPoly/NTPoly-3.1.0-foss-2023a.eb new file mode 100644 index 00000000000..8f7a531ce0e --- /dev/null +++ b/easybuild/easyconfigs/n/NTPoly/NTPoly-3.1.0-foss-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'NTPoly' +version = '3.1.0' + +homepage = 'https://github.com/william-dawson/NTPoly' +description = """is a massively parallel library for computing the functions of sparse, symmetric matrices based on +polynomial expansions. For sufficiently sparse matrices, most of the matrix functions +in NTPoly can be computed in linear time.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': False, 'usempi': True} + +source_urls = ['https://github.com/william-dawson/NTPoly/archive/ntpoly-v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['71cd6827f20c68e384555dbcfc85422d0690e21d21d7b5d4f7375544a2755271'] + +builddependencies = [('CMake', '3.26.3')] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/%s.mod' % x for x in ['datatypesmodule', 'densitymatrixsolversmodule']] + + ['lib64/libNTPoly.%s' % SHLIB_EXT, 'lib/libNTPoly.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-21.11.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.11.eb new file mode 100644 index 00000000000..201c1d4990e --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.11.eb @@ -0,0 +1,75 @@ +## +# Author: Robert Mijakovic +## +name = 'NVHPC' +version = '21.11' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +# 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/'] +local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '3b11bcd9cca862fabfce1e7bcaa2050ea12130c7e897f4e7859ba4c155d20720', + local_tarball_tmpl % 'ppc64le': + 'ac51ed92de4eb5e1bdb064ada5bbace5b89ac732ad6c6473778edfb8d29a6527', + local_tarball_tmpl % 'x86_64': + 'd8d8ccd0e558d22bcddd955f2233219c96f7de56aa8e09e7be833e384d32d6aa', + } +] + +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('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.14', '', ('GCCcore', local_gccver)) +] + +# 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/21.7/cuda/) +# for NVHPC 21.11, those are: 11.5, 11.0, 10.2; +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '11.5' + +# 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/NVHPC/NVHPC-21.5.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.5.eb index 722a853a9a9..7b6a40124e2 100644 --- a/easybuild/easyconfigs/n/NVHPC/NVHPC-21.5.eb +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.5.eb @@ -9,8 +9,9 @@ description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK ( toolchain = SYSTEM -# By downloading, you accept the HPC SDK Software License Agreement (https://docs.nvidia.com/hpc-sdk/eula/index.html) -accept_eula = True +# 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/'] local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' sources = [local_tarball_tmpl % '%(arch)s'] @@ -51,8 +52,8 @@ default_cuda_version = '11.3' # 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 CUDAcore as a dependency, for example -# dependencies = [('CUDAcore', '11.3.1')] +# Use CUDA as a dependency, for example +# dependencies = [('CUDA', '11.3.1')] # The parameter default_cuda_version still can be set as above. # If not set, it will be deduced from the CUDA module (via $EBVERSIONCUDA) # diff --git a/easybuild/easyconfigs/n/NVHPC/NVHPC-21.7.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.7.eb new file mode 100644 index 00000000000..57a446c79db --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.7.eb @@ -0,0 +1,75 @@ +## +# Author: Robert Mijakovic +## +name = 'NVHPC' +version = '21.7' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +# 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/'] +local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '73eb3513845b59645f118b1e313472f54519dc252d5f5c32a05df2a2a8a19878', + local_tarball_tmpl % 'ppc64le': + '37ea23b5a9c696fb3fdb82855643afc4e02aea618102ec801206441f10fc9fba', + local_tarball_tmpl % 'x86_64': + '49d6e23492d131474698cf12971722d42e13a54a4eddec382e66e1053b4ac902', + } +] + +local_gccver = '10.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.36.1', '', ('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.14', '', ('GCCcore', local_gccver)) +] + +# 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/21.7/cuda/) +# for NVHPC 21.7, those are: 11.4, 11.0, 10.2; +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '11.4' + +# 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.4.1')] +# 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/NVHPC/NVHPC-21.9.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.9.eb new file mode 100644 index 00000000000..2ff2d565c04 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-21.9.eb @@ -0,0 +1,75 @@ +## +# Author: Robert Mijakovic +## +name = 'NVHPC' +version = '21.9' + +homepage = 'https://developer.nvidia.com/hpc-sdk/' +description = """C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)""" + +toolchain = SYSTEM + +# 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/'] +local_tarball_tmpl = 'nvhpc_2021_%%(version_major)s%%(version_minor)s_Linux_%s_cuda_multi.tar.gz' +sources = [local_tarball_tmpl % '%(arch)s'] +checksums = [ + { + local_tarball_tmpl % 'aarch64': + '7995bf20a2f24cad6703b7801e32f0768a59ed6413a5c9c9795ab87e4c1e40fe', + local_tarball_tmpl % 'ppc64le': + '72f98a5d4b50e2d94d3a7a90a988d441f768e22845058daf5a8868eed1699441', + local_tarball_tmpl % 'x86_64': + '7de6a6880fd7e59afe0dee51f1fae4d3bff1ca0fb8ee234b24e1f2fdff23ffc9', + } +] + +local_gccver = '11.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.37', '', ('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.14', '', ('GCCcore', local_gccver)) +] + +# 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/21.7/cuda/) +# for NVHPC 21.7, those are: 11.4, 11.0, 10.2; +# this version can be tweaked from the EasyBuild command line with +# --try-amend=default_cuda_version="11.0" (for example) +default_cuda_version = '11.4' + +# 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.4.1')] +# 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/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb new file mode 100644 index 00000000000..1bb5056876f --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.11-CUDA-11.7.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '22.11' +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_2022_%%(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': + 'e60e798657c33b06754d33dfd5ab3bea2882d4a9b9476102303edf2bbe3b7a95', + local_tarball_tmpl % 'ppc64le': + 'ef800203cf6040b3a5df24f19944b272f62caee8362875bcb394e86dc1de2353', + local_tarball_tmpl % 'x86_64': + 'cb91b3a04368457d5cfe3c0e9c0611591fdc8076b01ea977343fe7db7fdcfa3c', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('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.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.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/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2aee5e827db --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,68 @@ +name = 'NVHPC' +version = '22.7' +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_2022_%%(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': + '2aae3fbfd2d0d2d09448a36166c42311368f5600c7c346f159c280b412fe924a', + local_tarball_tmpl % 'ppc64le': + '6dd4fd382c22769e4fa9508714119abd7d1df3dc58c69414a14b0b0dbc34564f', + local_tarball_tmpl % 'x86_64': + '3ce1c346f8bc7e50defb41c545c8907fdc012ff60b27eb8985cf3213f19d863a', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('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.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.0', '', SYSTEM), +] + +# 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.4.1')] +# 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 = '7.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 = True # Add NVHPC's own pre-compiled OpenMPI +# module_add_math_libs = True # Add NVHPC's math libraries (which should be there from CUDA anyway) +# module_add_profilers = True # Add NVHPC's NVIDIA Profilers +# module_add_nccl = True # Add NVHPC's NCCL library +# module_add_nvshmem = True # Add NVHPC's NVSHMEM library +# module_add_cuda = False # Add NVHPC's bundled CUDA + +modextrapaths = {'LD_LIBRARY_PATH': 'Linux_%(arch)s/%(version)s/compilers/extras/qd/lib/'} + +# 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/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb new file mode 100644 index 00000000000..e3b68fc4096 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-22.9-CUDA-11.7.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '22.9' +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_2022_%%(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': + 'bc4473f04b49bc9a26f08c17a72360650ddf48a3b6eefacdc525d79c8d730f30', + local_tarball_tmpl % 'ppc64le': + '9aac31d36bb09f6653544978021f5b78c272112e7748871566f7e930f5e7475b', + local_tarball_tmpl % 'x86_64': + 'aebfeb826ace3dabf9699f72390ca0340f8789a8ef6fe4032e3c7b794f073ea3', + } +] + +local_gccver = '11.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.38', '', ('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.14', '', ('GCCcore', local_gccver)), + ('CUDA', '11.7.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/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb new file mode 100644 index 00000000000..b0d9d6f4ace --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.1-CUDA-12.0.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '23.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_2023_%%(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': + '5b430e03752954ea62ac1c745b1735cfdaa43b2e981a9412c1465ecb0412fff6', + local_tarball_tmpl % 'ppc64le': + '81759e7c747bf4f552b75e7657301f76ecc0828b94fe860f81108c6e83e6ad2b', + local_tarball_tmpl % 'x86_64': + '55a064415f6d4ce6a01823ee27ebd266f4fb579679871e7c1a7c054bdc18e9f5', + } +] + +local_gccver = '12.2.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.39', '', ('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.0.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/NVHPC/NVHPC-23.7-CUDA-12.1.1.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.7-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7b88fabc35f --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.7-CUDA-12.1.1.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '23.7' +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_2023_%%(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': + 'd3b9b674045e6e17156b298941be4e1e1e7dea6a3c1938f14ad653b180860ff2', + local_tarball_tmpl % 'ppc64le': + '67b137cf67e2c8556ef3952d1ee35f4966c9d1968626825924fb8e4b198a532b', + local_tarball_tmpl % 'x86_64': + 'fea91d95ff18bca1ce7afde50371caa02001ade8bed6ddfc5ff70862ccbebece', + } +] + +local_gccver = '12.3.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.1.1', '', 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/NVHPC/NVHPC-23.7-CUDA-12.2.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.7-CUDA-12.2.0.eb new file mode 100644 index 00000000000..f0a51a9c986 --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-23.7-CUDA-12.2.0.eb @@ -0,0 +1,75 @@ +name = 'NVHPC' +version = '23.7' +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_2023_%%(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': + 'd3b9b674045e6e17156b298941be4e1e1e7dea6a3c1938f14ad653b180860ff2', + local_tarball_tmpl % 'ppc64le': + '67b137cf67e2c8556ef3952d1ee35f4966c9d1968626825924fb8e4b198a532b', + local_tarball_tmpl % 'x86_64': + 'fea91d95ff18bca1ce7afde50371caa02001ade8bed6ddfc5ff70862ccbebece', + } +] + +local_gccver = '12.3.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.2.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/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/NVHPC/NVHPC-24.9-CUDA-12.6.0.eb b/easybuild/easyconfigs/n/NVHPC/NVHPC-24.9-CUDA-12.6.0.eb new file mode 100644 index 00000000000..d164eabc04d --- /dev/null +++ b/easybuild/easyconfigs/n/NVHPC/NVHPC-24.9-CUDA-12.6.0.eb @@ -0,0 +1,73 @@ +name = 'NVHPC' +version = '24.9' +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': + '8d900f798ef806c64993fd4fedf2c2c812dd1ccdbac2a0d33fabcd0cd36f19cf', + local_tarball_tmpl % 'x86_64': + '30c493350cf67481e84cea60a3a869e01fa0bcb71df8e898266273fbdf0a7f26', + } +] + +local_gccver = '13.3.0' +dependencies = [ + ('GCCcore', local_gccver), + ('binutils', '2.42', '', ('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.18', '', ('GCCcore', local_gccver)), + ('CUDA', '12.6.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/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..e59c093c9fa --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.4.1-gompi-2021b-CUDA-11.4.1.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.4.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-3.txz'] +checksums = ['8b6c0eab321b6352911e470f9e81a777a49e58148ec3728453b9522446dba178'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), + ('NCCL', '2.10.3', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.5.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.5.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..db905d3342f --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.5.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.5.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-19.txz'] +checksums = ['dd800b40f1d296e1d3ed2a9885adcfe745c3e57582bc809860e87bd32abcdc60'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('NCCL', '2.12.12', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..0876e2e7643 --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.7.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-6.txz'] +checksums = ['23ed9b0187104dc87d5d2bc1394b6f5ff29e8c19138dc019d940b109ede699df'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('NCCL', '2.12.12', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..567b80452c4 --- /dev/null +++ b/easybuild/easyconfigs/n/NVSHMEM/NVSHMEM-2.8.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'NVSHMEM' +version = '2.8.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/nvshmem' +description = """NVSHMEM is a parallel programming interface based on OpenSHMEM that provides +efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a +global address space for data that spans the memory of multiple GPUs and can be +accessed with fine-grained GPU-initiated operations, CPU-initiated operations, +and operations on CUDA streams. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +download_instructions = """The sources of NVSHMEM can be downloaded at NVIDIA's webpage when you have signed up for +their (free) developer program: +https://developer.nvidia.com/nvshmem-downloads""" + +sources = ['%(namelower)s_src_%(version)s-3.txz'] +checksums = ['7d4ef226630a94b587d18e02c27decc8b41d6f4ee52a26e25644b23cd18da81f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('NCCL', '2.12.12', versionsuffix), +] + +skipsteps = ['configure'] + +prebuildopts = 'export %s &&' % ' '.join([ + 'NVSHMEM_USE_GDRCOPY=1', + 'GDRCOPY_HOME=${EBROOTGDRCOPY}', + + 'MPI_HOME=${EBROOTOPENMPI}', + 'NVSHMEM_MPI_SUPPORT=1', + 'NVSHMEMTEST_USE_MPI_LAUNCHER=1', + + 'NCCL_HOME=${EBROOTNCCL}', + 'NVSHMEM_USE_NCCL=1', + + 'NVSHMEM_BUILDDIR=%(builddir)s', + 'NVSHMEM_EXAMPLES_BUILDDIR=${NVSHMEM_BUILDDIR}/examples/obj', + 'NVSHMEM_OTHERTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/othertest/obj', + 'NVSHMEM_TEST_BUILDDIR=${NVSHMEM_BUILDDIR}/test/obj', + 'NVSHMEM_PERFTEST_BUILDDIR=${NVSHMEM_BUILDDIR}/perftest/obj', + + 'NVSHMEM_PREFIX=%(installdir)s', + 'NVSHMEM_EXAMPLES_INSTALL=${NVSHMEM_PREFIX}/examples', + 'NVSHMEM_OTHERTEST_INSTALL=${NVSHMEM_PREFIX}/othertest', + 'NVSHMEM_PERFTEST_INSTALL=${NVSHMEM_PREFIX}/perftest', + 'NVSHMEM_TEST_INSTALL=${NVSHMEM_PREFIX}/test', +]) + +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libnvshmem.a', 'lib/nvshmem_bootstrap_mpi.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +modextravars = {'NVSHMEM_HOME': '%(installdir)s'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.0-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.0-intel-2019b-Python-3.7.4.eb index 791e0dc8351..79f6cbbc42f 100644 --- a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.0-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.0-intel-2019b-Python-3.7.4.eb @@ -4,7 +4,7 @@ versionsuffix = '-Python-%(pyver)s' local_verdate = '2020-02-26' local_revision = '2c9a1c7c' -homepage = 'http://www.nwchem-sw.org' +homepage = 'https://nwchemgit.github.io/' description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in their ability to treat large scientific computational chemistry problems efficiently, and in their use of available parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2019b-Python-3.7.4.eb index e176204adb4..098a37fd47c 100644 --- a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2019b-Python-3.7.4.eb @@ -4,7 +4,7 @@ versionsuffix = '-Python-%(pyver)s' local_verdate = '2020-10-12' local_revision = 'b9985dfa' -homepage = 'https://www.nwchem-sw.org' +homepage = 'https://nwchemgit.github.io/' description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in their ability to treat large scientific computational chemistry problems efficiently, and in their use of available parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2021a.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2021a.eb new file mode 100644 index 00000000000..ebc87eaa333 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2021a.eb @@ -0,0 +1,37 @@ +name = 'NWChem' +version = '7.0.2' +local_verdate = '2020-10-12' +local_revision = 'b9985dfa' + +homepage = 'https://nwchemgit.github.io/' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'i8': True} + +source_urls = ['https://github.com/nwchemgit/nwchem/releases/download/v%(version)s-release/'] +sources = ['nwchem-%%(version)s-release.revision-%s-src.%s.tar.bz2' % (local_revision, local_verdate)] +patches = [ + 'NWChem-7.0.2_fix_gnumakefile.patch', +] +checksums = [ + # nwchem-7.0.2-release.revision-b9985dfa-src.2020-10-12.tar.bz2 + 'd9d19d87e70abf43d61b2d34e60c293371af60d14df4a6333bf40ea63f6dc8ce', + '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4', # NWChem-7.0.2_fix_gnumakefile.patch +] + +dependencies = [ + ('GlobalArrays', '5.8'), + ('Python', '3.9.5'), +] + +preconfigopts = 'export EXTRA_LIBS=-lutil && ' + +modules = 'all python' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb new file mode 100644 index 00000000000..53768c81107 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2-intel-2022a.eb @@ -0,0 +1,39 @@ +name = 'NWChem' +version = '7.0.2' +local_verdate = '2020-10-12' +local_revision = 'b9985dfa' + +homepage = 'https://nwchemgit.github.io/' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'i8': True} + +source_urls = ['https://github.com/nwchemgit/nwchem/releases/download/v%(version)s-release/'] +sources = ['nwchem-%%(version)s-release.revision-%s-src.%s.tar.bz2' % (local_revision, local_verdate)] +patches = [ + 'NWChem-7.0.2_fix_gnumakefile.patch', + 'NWChem-7.0.2_fix_for_python_3_10.patch', +] +checksums = [ + # nwchem-7.0.2-release.revision-b9985dfa-src.2020-10-12.tar.bz2 + 'd9d19d87e70abf43d61b2d34e60c293371af60d14df4a6333bf40ea63f6dc8ce', + '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4', # NWChem-7.0.2_fix_gnumakefile.patch + '2da647217ad72d929f1d495386871a32b7176beb52cbc3dabebbb56abb407e36', # NWChem-7.0.2_fix_for_python_3_10.patch +] + +dependencies = [ + ('GlobalArrays', '5.8.1'), + ('Python', '3.10.4'), +] + +preconfigopts = 'export EXTRA_LIBS=-lutil && ' + +modules = 'all python' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch new file mode 100644 index 00000000000..e733ea89052 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_for_python_3_10.patch @@ -0,0 +1,41 @@ +# This patch fixes compatibility with Python-3.10. In particular the problem that +# the "graminit.h" header is removed from Python-3.10 together with the "parser" +# module. +# See https://github.com/nwchemgit/nwchem/issues/271 for more info +# +# Author: maxim-masterov (SURF) +# +diff -Nru nwchem-7.0.2.orig/src/config/makefile.h nwchem-7.0.2/src/config/makefile.h +--- nwchem-7.0.2.orig/src/config/makefile.h 2022-08-19 10:47:57.584912000 +0200 ++++ nwchem-7.0.2/src/config/makefile.h 2022-08-19 10:50:18.158831536 +0200 +@@ -2618,12 +2618,12 @@ + GOTPYTHON2 := $(shell command -v python2 2> /dev/null) + GOTPYTHON := $(shell command -v python 2> /dev/null) + ifdef GOTPYTHON3 +- PYTHONVERSION=$(shell python3 -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python3 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else ifdef GOTPYTHON2 +- PYTHONVERSION=$(shell python2 -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python2 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else ifdef GOTPYTHON + #last try at python2 +- PYTHONVERSION=$(shell python -V 2>&1 |cut -c 8-10) ++ PYTHONVERSION=$(shell python -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))') + else + errorpython3: + $(info ) +diff -Nru nwchem-7.0.2.orig/src/python/task_python.c nwchem-7.0.2/src/python/task_python.c +--- nwchem-7.0.2.orig/src/python/task_python.c 2022-08-19 10:47:58.966129000 +0200 ++++ nwchem-7.0.2/src/python/task_python.c 2022-08-19 10:51:34.311283000 +0200 +@@ -6,7 +6,11 @@ + #include "ga.h" + + #include ++#if ( PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 9) ++/* might require new headers and code */ ++#else + #include ++#endif + #include + #include + #include "typesf2c.h" diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_gnumakefile.patch b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_gnumakefile.patch new file mode 100644 index 00000000000..edc5988f042 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.0.2_fix_gnumakefile.patch @@ -0,0 +1,25 @@ +# Author: @maxim-masterov (SURF) +# Fixes quotes in the makefile to ensure correct variable substitution in the source code. +diff -Nru nwchem-7.0.2.orig/src/GNUmakefile nwchem-7.0.2/src/GNUmakefile +--- nwchem-7.0.2.orig/src/GNUmakefile 2021-08-30 13:39:57.168736415 +0200 ++++ nwchem-7.0.2/src/GNUmakefile 2021-09-01 12:41:02.105915193 +0200 +@@ -5,13 +5,13 @@ + + SUBDIRS = $(NWSUBDIRS) + +- LIB_DEFINES = -DCOMPILATION_DATE="'`date +%a_%b_%d_%H:%M:%S_%Y`'" \ +- -DCOMPILATION_DIR="'$(TOPDIR)'" \ +- -DNWCHEM_BRANCH="'$(CODE_BRANCH)'" ++ LIB_DEFINES = -DCOMPILATION_DATE=\"`date +%a_%b_%d_%H:%M:%S_%Y`\" \ ++ -DCOMPILATION_DIR=\"$(TOPDIR)\" \ ++ -DNWCHEM_BRANCH=\"$(CODE_BRANCH)\" + ifeq ($(XLFMAC),y) +- FOPTIONS += -WF,-DCOMPILATION_DATE="'`date +%a_%b_%d_%H:%M:%S_%Y`'" \ +- -WF,-DCOMPILATION_DIR="'$(TOPDIR)'" \ +- -WF,-DNWCHEM_BRANCH="'$(CODE_BRANCH)'" ++ FOPTIONS += -WF,-DCOMPILATION_DATE=\"`date +%a_%b_%d_%H:%M:%S_%Y`\" \ ++ -WF,-DCOMPILATION_DIR=\"$(TOPDIR)\" \ ++ -WF,-DNWCHEM_BRANCH=\"$(CODE_BRANCH)\" + LIB_DEFINES= + DEFINES= + endif diff --git a/easybuild/easyconfigs/n/NWChem/NWChem-7.2.2-intel-2023a.eb b/easybuild/easyconfigs/n/NWChem/NWChem-7.2.2-intel-2023a.eb new file mode 100644 index 00000000000..f5084390a05 --- /dev/null +++ b/easybuild/easyconfigs/n/NWChem/NWChem-7.2.2-intel-2023a.eb @@ -0,0 +1,34 @@ +name = 'NWChem' +version = '7.2.2' + +homepage = 'https://nwchemgit.github.io/' +description = """NWChem aims to provide its users with computational chemistry tools that are scalable both in + their ability to treat large scientific computational chemistry problems efficiently, and in their use of available + parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. + NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all + combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties + and relativity.""" + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'i8': True} + +source_urls = ['https://github.com/nwchemgit/nwchem/archive/refs/tags/'] +sources = ['v%(version)s-release.tar.gz'] +patches = [ + 'NWChem-7.0.2_fix_gnumakefile.patch', +] +checksums = [ + {'v7.2.2-release.tar.gz': 'a33491c8c55a60610ffab5f73e8ce5001941589548421275dabe58b6063179e7'}, + {'NWChem-7.0.2_fix_gnumakefile.patch': '89c634a652d4c8c358f8388ac01ee441659e3c0256c39b6494e2885c91f9aca4'}, +] + +dependencies = [ + ('GlobalArrays', '5.8.2'), + ('Python', '3.11.3'), +] + +preconfigopts = 'export EXTRA_LIBS=-lutil && ' + +modules = 'all python' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.4.1-foss-2022a.eb b/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.4.1-foss-2022a.eb new file mode 100644 index 00000000000..b42ae646953 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.4.1-foss-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'Tarball' + +name = 'NanoCaller' +version = '3.4.1' + +homepage = 'https://github.com/WGLab/NanoCaller' +description = """NanoCaller is a computational method that integrates long reads in deep + convolutional neural network for the detection of SNPs/indels from long-read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/WGLab/%(name)s/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] + +checksums = ['b90970c9e0491f454a5fbd7ab998111e69c5a0b90bad6388bfbe636b73368bf8'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('BCFtools', '1.15.1'), + ('python-parasail', '1.3.3'), + ('MUSCLE', '5.1.0'), + ('Pysam', '0.19.1'), + ('SAMtools', '1.16.1'), + ('TensorFlow', '2.11.0'), + ('WhatsHap', '1.7'), + ('vcflib', '1.0.9', '-R-4.2.1'), + ('intervaltree-python', '3.1.0'), + ('tqdm', '4.64.0'), + ('RTG-Tools', '3.12.1', '-Java-11', SYSTEM), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['NanoCaller'], + 'dirs': [], +} + +sanity_check_commands = ["NanoCaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.6.0-foss-2022b.eb b/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.6.0-foss-2022b.eb new file mode 100644 index 00000000000..037b70ab15e --- /dev/null +++ b/easybuild/easyconfigs/n/NanoCaller/NanoCaller-3.6.0-foss-2022b.eb @@ -0,0 +1,44 @@ +easyblock = 'Tarball' + +name = 'NanoCaller' +version = '3.6.0' + +homepage = 'https://github.com/WGLab/NanoCaller' +description = """NanoCaller is a computational method that integrates long reads in deep + convolutional neural network for the detection of SNPs/indels from long-read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/WGLab/%(name)s/archive/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}] +checksums = ['d3df57ca47617365ed891f7acc6976ec5dec3c224e5e213f8bba2d3b2d973303'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('BCFtools', '1.17'), + ('python-parasail', '1.3.4'), + ('MUSCLE', '5.1.0'), + ('Pysam', '0.21.0'), + ('SAMtools', '1.17'), + ('TensorFlow', '2.13.0'), + ('WhatsHap', '2.1'), + ('vcflib', '1.0.9', '-R-4.2.2'), + ('intervaltree-python', '3.1.0'), + ('tqdm', '4.64.1'), + ('RTG-Tools', '3.12.1', '-Java-11', SYSTEM), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['NanoCaller'], + 'dirs': [], +} + +sanity_check_commands = ["NanoCaller --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoComp/NanoComp-1.24.0-foss-2023a.eb b/easybuild/easyconfigs/n/NanoComp/NanoComp-1.24.0-foss-2023a.eb new file mode 100644 index 00000000000..94de23b83da --- /dev/null +++ b/easybuild/easyconfigs/n/NanoComp/NanoComp-1.24.0-foss-2023a.eb @@ -0,0 +1,42 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'NanoComp' +version = '1.24.0' + +homepage = 'https://github.com/wdecoster/NanoComp' +description = "Comparing runs of Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2ce02bb38c76137ee00ebcc68b6b2654a4a459993e901aebde436c4d54287b09'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Pysam', '0.22.0'), + ('nanomath', '1.4.0'), + ('nanoget', '1.19.3'), + ('NanoPlot', '1.43.0'), + ('plotly.py', '5.16.0'), + ('plotly-orca', '1.3.1'), + ('joypy', '0.2.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoComp'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoComp --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..82d8297d41a --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.5.0-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' +name = 'NanoFilt' +version = '2.5.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['33c35aad2950145ef66bcf338e68c7c84a20ae62716db24f9c9ccbd881c9a277'] + +dependencies = [ + ('Python', '3.6.6'), + ('Biopython', '1.72', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoFilt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..05339b43f99 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.6.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] + +dependencies = [ + ('Python', '3.7.4'), + ('Biopython', '1.75', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoFilt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..496920503ff --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.6.0-intel-2020a-Python-3.8.2.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.6.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'intel', 'version': '2020a'} + +source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] + +dependencies = [ + ('Python', '3.8.2'), + ('Biopython', '1.78', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoFilt'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb new file mode 100755 index 00000000000..e0392394b13 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.8.0' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['47f4f4f8be834f011570a8d76d07cc12abe0686c8917607316a8ccfb3e20758c'] + +dependencies = [ + ('Python', '3.9.6'), + ('Biopython', '1.79'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023a.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023a.eb new file mode 100644 index 00000000000..fed069c1e75 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.8.0' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['47f4f4f8be834f011570a8d76d07cc12abe0686c8917607316a8ccfb3e20758c'] + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023b.eb b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023b.eb new file mode 100644 index 00000000000..1aef705dc4e --- /dev/null +++ b/easybuild/easyconfigs/n/NanoFilt/NanoFilt-2.8.0-foss-2023b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'NanoFilt' +version = '2.8.0' + +homepage = 'https://github.com/wdecoster/nanofilt' +description = """Filtering and trimming of long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['47f4f4f8be834f011570a8d76d07cc12abe0686c8917607316a8ccfb3e20758c'] + +dependencies = [ + ('Python', '3.11.5'), + ('Biopython', '1.84'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["NanoFilt --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb new file mode 100644 index 00000000000..b31eb661ab9 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2021a.eb @@ -0,0 +1,47 @@ +## +# 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 = 'PythonBundle' + +name = 'NanoLyse' +version = '1.2.1' + +homepage = 'https://github.com/wdecoster/nanolyse' +description = """Remove reads mapping to the lambda phage genome from a fastq file.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('minimap2', '2.20'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('mappy', '2.20', { + 'checksums': ['00c8720783ac982b514b01b86349ede9809eeaccdf1328acb5a16dfeef51458b'], + }), + ('NanoLyse', '1.2.1', { + 'checksums': ['933ee668da805fc9ec9fa86c9fca81a073438d45b5f64e23cf606c01e715b1d5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/NanoLyse'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoLyse --version"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2023a.eb b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2023a.eb new file mode 100644 index 00000000000..1b21ec42201 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoLyse/NanoLyse-1.2.1-foss-2023a.eb @@ -0,0 +1,48 @@ +## +# 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: Petr Král (INUITS) +## + +easyblock = 'PythonBundle' + +name = 'NanoLyse' +version = '1.2.1' + +homepage = 'https://github.com/wdecoster/nanolyse' +description = """Remove reads mapping to the lambda phage genome from a fastq file.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('minimap2', '2.26'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('mappy', '2.28', { + 'checksums': ['0ebf7a5d62bd668f5456028215e26176e180ca68161ac18d4f7b48045484cebb'], + }), + (name, version, { + 'checksums': ['933ee668da805fc9ec9fa86c9fca81a073438d45b5f64e23cf606c01e715b1d5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/NanoLyse'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoLyse --version"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb new file mode 100644 index 00000000000..400d3660c4d --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.33.0-foss-2021a.eb @@ -0,0 +1,47 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'NanoPlot' +version = '1.33.0' + +homepage = 'https://github.com/wdecoster/NanoPlot' +description = "Plotting suite for long read sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['caf69a5789625e746814238cb4f0d510ed6768a094566e8f1dcaa77933c4d6fd'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('nanomath', '1.2.1'), + ('nanoget', '1.18.1'), + ('Seaborn', '0.11.2'), + ('plotly.py', '5.1.0'), + ('pauvre', '0.2.3'), + ('statsmodels', '0.12.2'), + ('Arrow', '6.0.0'), # for pyarrow + ('Kaleido', '0.2.1'), +] + +download_dep_fail = True +use_pip = True + +# replace strict Seaborn & pauvre version requirement with minimal version requirements +preinstallopts = "sed -i 's/==0/>=0/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/NanoPlot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoPlot --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb new file mode 100644 index 00000000000..7dbb7c29aba --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.42.0-foss-2022a.eb @@ -0,0 +1,42 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'NanoPlot' +version = '1.42.0' + +homepage = 'https://github.com/wdecoster/NanoPlot' +description = "Plotting suite for long read sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0f8fd2cffd33a346b3306716058c6cb4091c931e8ab502f10b17a28749e8b6d9'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('nanomath', '1.3.0'), + ('nanoget', '1.19.1'), + ('plotly.py', '5.12.0'), + ('statsmodels', '0.13.1'), + ('Arrow', '8.0.0'), # for pyarrow + ('Kaleido', '0.2.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoPlot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoPlot --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.43.0-foss-2023a.eb b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.43.0-foss-2023a.eb new file mode 100644 index 00000000000..4e547b9963b --- /dev/null +++ b/easybuild/easyconfigs/n/NanoPlot/NanoPlot-1.43.0-foss-2023a.eb @@ -0,0 +1,43 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'NanoPlot' +version = '1.43.0' + +homepage = 'https://github.com/wdecoster/NanoPlot' +description = "Plotting suite for long read sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0f94096d689b552c32fd7246ad87cb6d5e5e2499dad5acc551091e0ff67f48df'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('Pysam', '0.22.0'), + ('nanomath', '1.4.0'), + ('nanoget', '1.19.3'), + ('plotly.py', '5.16.0'), + ('statsmodels', '0.14.1'), + ('Arrow', '14.0.1'), # for pyarrow + ('Kaleido', '0.2.1'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/NanoPlot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["NanoPlot --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2021a.eb b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2021a.eb new file mode 100644 index 00000000000..ae38968c030 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'NanoStat' +version = '1.6.0' + +homepage = 'https://github.com/wdecoster/nanostat' +description = """Calculate various statistics from a long read sequencing dataset in fastq, + bam or albacore sequencing summary format.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('nanoget', '1.18.1'), + ('nanomath', '1.2.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['e45fa8d1ab49bdaed17596c26c0af148b44e4af46238391a8bb7a1b4cc940079'], + }), +] + +sanity_check_paths = { + 'files': ['bin/NanoStat'], + 'dirs': [], +} + +sanity_check_commands = ["NanoStat --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb new file mode 100644 index 00000000000..c09007f4644 --- /dev/null +++ b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'NanoStat' +version = '1.6.0' + +homepage = 'https://github.com/wdecoster/nanostat' +description = """Calculate various statistics from a long read sequencing dataset in fastq, + bam or albacore sequencing summary format.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('nanoget', '1.19.1'), + ('nanomath', '1.3.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['e45fa8d1ab49bdaed17596c26c0af148b44e4af46238391a8bb7a1b4cc940079'], + }), +] + +sanity_check_paths = { + 'files': ['bin/NanoStat'], + 'dirs': [], +} + +sanity_check_commands = ["NanoStat --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2023a.eb b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2023a.eb new file mode 100644 index 00000000000..8f0fa5a053c --- /dev/null +++ b/easybuild/easyconfigs/n/NanoStat/NanoStat-1.6.0-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'NanoStat' +version = '1.6.0' + +homepage = 'https://github.com/wdecoster/nanostat' +description = """Calculate various statistics from a long read sequencing dataset in fastq, + bam or albacore sequencing summary format.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e45fa8d1ab49bdaed17596c26c0af148b44e4af46238391a8bb7a1b4cc940079'] + +dependencies = [ + ('Python', '3.11.3'), + ('nanoget', '1.19.3'), + ('nanomath', '1.4.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/NanoStat'], + 'dirs': [], +} + +sanity_check_commands = ["NanoStat --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb new file mode 100644 index 00000000000..4b71cdb3c77 --- /dev/null +++ b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.2.2-64.eb @@ -0,0 +1,26 @@ +easyblock = 'PackedBinary' + +name = 'NetLogo' +version = '6.2.2' +versionsuffix = '-64' + +homepage = 'https://ccl.northwestern.edu/netlogo/' +description = """NetLogo is a multi-agent programmable modeling environment. It +is used by tens of thousands of students, teachers and researchers worldwide. +It also powers HubNet participatory simulations. It is authored by Uri Wilensky +and developed at the CCL.""" + +# NetLogo is precompiled and needs no particular toolchain. +# It even comes with its own Java. +toolchain = SYSTEM + +source_urls = ['https://ccl.northwestern.edu/netlogo/%(version)s/'] +sources = ['%(name)s-%(version)s%(versionsuffix)s.tgz'] +checksums = ['543cbfc60b6e75aa56c1a66f78c08fa8763d591185eb79e6aaee5f42c8aae461'] + +sanity_check_paths = { + 'files': ['NetLogo', 'NetLogo3D'], + 'dirs': ['app', 'runtime'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb new file mode 100644 index 00000000000..c1005183313 --- /dev/null +++ b/easybuild/easyconfigs/n/NetLogo/NetLogo-6.3.0-64.eb @@ -0,0 +1,26 @@ +easyblock = 'PackedBinary' + +name = 'NetLogo' +version = '6.3.0' +versionsuffix = '-64' + +homepage = 'https://ccl.northwestern.edu/netlogo/' +description = """NetLogo is a multi-agent programmable modeling environment. It +is used by tens of thousands of students, teachers and researchers worldwide. +It also powers HubNet participatory simulations. It is authored by Uri Wilensky +and developed at the CCL.""" + +# NetLogo is precompiled and needs no particular toolchain. +# It even comes with its own Java. +toolchain = SYSTEM + +source_urls = ['https://ccl.northwestern.edu/netlogo/%(version)s/'] +sources = ['%(name)s-%(version)s%(versionsuffix)s.tgz'] +checksums = ['baeec4d3d5d7548d13d48574c4c1dd9909d99b2a41ad60a765dce966138dd77a'] + +sanity_check_paths = { + 'files': ['NetLogo', 'NetLogo3D'], + 'dirs': ['extensions', 'models', 'lib'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/NetPyNE/NetPyNE-1.0.2.1-foss-2021b.eb b/easybuild/easyconfigs/n/NetPyNE/NetPyNE-1.0.2.1-foss-2021b.eb new file mode 100644 index 00000000000..7a729a891c0 --- /dev/null +++ b/easybuild/easyconfigs/n/NetPyNE/NetPyNE-1.0.2.1-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'NetPyNE' +version = '1.0.2.1' + +homepage = 'http://www.netpyne.org' +description = """NetPyNE is an open-source Python package to facilitate the development, parallel simulation, analysis, +and optimization of biological neuronal networks using the NEURON simulator.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('bokeh', '2.4.2'), + ('NEURON', '7.8.2'), +] + +use_pip = True + +exts_list = [ + ('MEAutility', '1.5.1', { + 'checksums': ['de12cc9c1772d3321e941af78e6bfb36cdcb5702a7b1272a852cc95f413bbfcb'], + 'modulename': 'MEAutility', + }), + ('LFPykit', '0.4', { + 'checksums': ['ce92f5a987535ee72a76644bac90393eaa669d952f493dc388f3deb1c36f474d'], + }), + ('matplotlib-scalebar', '0.8.1', { + 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('schema', '0.7.5', { + 'checksums': ['f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197'], + }), + ('netpyne', version, { + 'source_urls': ['https://github.com/suny-downstate-medical-center/netpyne/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f33f783730d237149980101d57f893012cba3ee61c4a2f5bc350922d0a21f05a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb new file mode 100644 index 00000000000..ddebae838df --- /dev/null +++ b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-11.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'NextGenMap' +version = '0.5.5' + +homepage = 'http://cibiv.github.io/%(name)s/' +description = """NextGenMap is a flexible highly sensitive short read mapping tool that + handles much higher mismatch rates than comparable algorithms while still outperforming + them in terms of runtime.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [' https://github.com/Cibiv/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c205e6cb312d2f495106435f10fb446e6fb073dd1474f4f74ab5980ba9803661'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('BamTools', '2.5.2'), + ('zlib', '1.2.11'), +] + +skipsteps = ['install'] + +preconfigopts = r"sed -i '/add_subdirectory.*\(bamtools\|zlib\).*/d' ../NextGenMap-%(version)s/CMakeLists.txt && " +preconfigopts += "sed -i 's/BamTools-static/bamtools/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " +preconfigopts += "sed -i 's/zlibstatic/z/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " + +buildopts = ' && cp -r ../%(name)s-%(version)s/bin/ngm-%(version)s/. %(installdir)s/bin/' + +postinstallcmds = [ + # avoid hard overwriting of $LD_LIBRARY_PATH in ngm wrapper script + r"sed -i 's/\(LD_LIBRARY_PATH=[^ ]*\)\"/\1:$LD_LIBRARY_PATH\"/g' %(installdir)s/bin/ngm", + # fix execution permissions for ngm* binaries/scripts + "chmod a+x %(installdir)s/bin/ngm*", +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ngm', 'ngm-core', 'ngm-log', 'ngm-utils', 'oclTool']], + 'dirs': ['bin/opencl'] +} + +sanity_check_commands = [ + "ngm --help 2>&1 | grep 'Usage:[ ]*ngm'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-12.3.0.eb b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-12.3.0.eb new file mode 100644 index 00000000000..1792c3ecdfa --- /dev/null +++ b/easybuild/easyconfigs/n/NextGenMap/NextGenMap-0.5.5-GCC-12.3.0.eb @@ -0,0 +1,55 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'CMakeMake' + +name = 'NextGenMap' +version = '0.5.5' + +homepage = 'http://cibiv.github.io/%(name)s/' +description = """NextGenMap is a flexible highly sensitive short read mapping tool that + handles much higher mismatch rates than comparable algorithms while still outperforming + them in terms of runtime.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Cibiv/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c205e6cb312d2f495106435f10fb446e6fb073dd1474f4f74ab5980ba9803661'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('BamTools', '2.5.2'), + ('zlib', '1.2.13'), +] + +skipsteps = ['install'] + +preconfigopts = r"sed -i '/add_subdirectory.*\(bamtools\|zlib\).*/d' ../NextGenMap-%(version)s/CMakeLists.txt && " +preconfigopts += "sed -i 's/BamTools-static/bamtools/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " +preconfigopts += "sed -i 's/zlibstatic/z/g' ../NextGenMap-%(version)s/{src,utils}/CMakeLists.txt && " + +buildopts = ' && cp -r ../%(name)s-%(version)s/bin/ngm-%(version)s/. %(installdir)s/bin/' + +postinstallcmds = [ + # avoid hard overwriting of $LD_LIBRARY_PATH in ngm wrapper script + r"sed -i 's/\(LD_LIBRARY_PATH=[^ ]*\)\"/\1:$LD_LIBRARY_PATH\"/g' %(installdir)s/bin/ngm", + # fix execution permissions for ngm* binaries/scripts + "chmod a+x %(installdir)s/bin/ngm*", + # link `libOpenCL.so.1` to the `lib` directory (required when using RPATH linking) + 'cd %(installdir)s && mkdir -p lib && ln -rfs bin/opencl/lib/libOpenCL.so.1 lib/libOpenCL.so.1', +] + +sanity_check_paths = { + 'files': ['lib/libOpenCL.so.1'] + ['bin/%s' % x for x in ['ngm', 'ngm-core', 'ngm-log', 'ngm-utils', 'oclTool']], + 'dirs': ['bin/opencl'] +} + +sanity_check_commands = [ + "ngm --help 2>&1 | grep 'Usage:[ ]*ngm'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/NextPolish/NextPolish-1.4.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/NextPolish/NextPolish-1.4.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..857ec88ff80 --- /dev/null +++ b/easybuild/easyconfigs/n/NextPolish/NextPolish-1.4.1-GCCcore-12.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'MakeCp' + +name = 'NextPolish' +version = '1.4.1' + +homepage = 'https://github.com/Nextomics/NextPolish' +description = 'NextDenovo is a string graph-based de novo assembler for long reads.' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Nextomics/NextPolish/releases/download/'] +sources = [{ + 'download_filename': 'v%(version)s/%(name)s.tgz', + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['2a5f66f3db7f76e583a6b6e28f9c1f3c392258b8d755050d7abe129a2fbb48c4'] + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('BWA', '0.7.17'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'preinstallopts': '', + 'installopts': '', +} + +exts_list = [ + ('Paralleltask', '0.2.3', { + 'modulename': 'paralleltask', + 'checksums': ['8015a8311d5021bc44edbfbf45ff2557a529999e235d25190bac62993fdf7b66'], + }), +] + +# fix make -C util - warning: jobserver unavailable +parallel = 1 + +# fix bwa bug - https://github.com/Nextomics/NextPolish/issues/83 +prebuildopts = "sed -i 's/seq_count bwa samtools minimap2/seq_count samtools minimap2/' Makefile && " +prebuildopts += "rm -rf util/bwa && " +prebuildopts += ( + "sed -i" + " -e 's/seq_count bwa_ samtools_/seq_count samtools_/'" + " -e '29d'" # @+make clean -C $(BWADIR) + " -e '18,20d'" # bwa_: @+make -C $(BWADIR) + " -e '1d'" # BWADIR = ./bwa + " util/Makefile && " +) +postinstallcmds = ['cd %(installdir)s/bin && ln -s $EBROOTBWA/bin/bwa'] + +files_to_copy = ['bin', 'lib', 'test_data', 'LICENSE', 'nextPolish'] + +sanity_check_paths = { + 'files': ['nextPolish', 'bin/minimap2', 'bin/paralleltask', 'bin/bwa'], + 'dirs': ['test_data', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['nextPolish --help'] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'PATH': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.04.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.04.0.eb index 4c737da9890..b145b8018a3 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.04.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.04.0.eb @@ -17,7 +17,7 @@ sources = ['%(namelower)s-%(version)s-all'] checksums = ['10d96864489a5d6b4de3a730307871ca865e2f1c49a14cd5c4051cae5dca8d8e'] # specify dependency on Java/1.8 "wrapper", rather than a specific Java version -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] install_cmd = "[ -d %(builddir)s/bin ] || mkdir -p %(installdir)s/bin &&" install_cmd += "cp %(builddir)s/nextflow-%(version)s-all %(installdir)s/bin &&" diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.07.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.07.0.eb index 1e97a00e55f..87b4b238692 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.07.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.07.0.eb @@ -17,7 +17,7 @@ sources = ['%(namelower)s-%(version)s-all'] checksums = ['6f7069b43f395c5d902321745d37988fed7ef84d2006ea00be0df19de97c1986'] # specify dependency on Java/1.8 "wrapper", rather than a specific Java version -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] install_cmd = "[ -d %(builddir)s/bin ] || mkdir -p %(installdir)s/bin &&" install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.12.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.12.0.eb index 4cb30cd7747..f7ce8ad37cd 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-19.12.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-19.12.0.eb @@ -24,7 +24,7 @@ sources = ['v%(version)s-edge.tar.gz'] checksums = ['16d38a14aeab636531da6d5d1894898d13a359c5f699eefcfb433fc3340e1b8a'] # specify dependency on Java/11 "wrapper", rather than a specific Java version -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] skipsteps = ['configure', 'build'] diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.01.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.01.0.eb index 012c69b71df..90347313e4c 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.01.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.01.0.eb @@ -25,7 +25,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['011b0b74df612a001bee05c75ee3eb93caff76eb2facd39527a092b86c3373ab'] # specify dependency on Java/11 "wrapper", rather than a specific Java version -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] skipsteps = ['configure', 'build'] diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.04.1.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.04.1.eb index cf8212fe26f..f55c9aac668 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.04.1.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.04.1.eb @@ -25,7 +25,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['ec939568585454cad3ab1a4f6510f0dee707e02ce44324bd43a05e5601d28136'] # specify dependency on Java/11 "wrapper", rather than a specific Java version -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] skipsteps = ['configure', 'build'] diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.10.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.10.0.eb index 01b4e6dcf2f..029737900a7 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-20.10.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-20.10.0.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s.tar.gz'] checksums = ['5ebf674c75ff73cd7a090921942fb1234653f50beaac09962022f20fa2ef4fc9'] # specify dependency on Java/11 "wrapper", rather than a specific Java version -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] skipsteps = ['configure', 'build'] diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-21.03.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.03.0.eb index d7d137ebdf3..4ee8f8aca28 100644 --- a/easybuild/easyconfigs/n/Nextflow/Nextflow-21.03.0.eb +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.03.0.eb @@ -14,7 +14,7 @@ sources = ['v%(version)s-edge.tar.gz'] checksums = ['7b10fe1d8cf5dc6aba810e36b28aa360cd186cd583208542422daf1f08089692'] # specify dependency on Java/11 "wrapper", rather than a specific Java version -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] skipsteps = ['configure', 'build'] diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-21.08.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.08.0.eb new file mode 100644 index 00000000000..42acc235e75 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.08.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CmdCp' + +name = 'Nextflow' +version = '21.08.0' + +homepage = 'https://www.nextflow.io' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/archive'] +sources = ['v%(version)s-edge.tar.gz'] +checksums = ['ab47af92e6f5c5c08a43b70e60cc3d8720e267a507f21af62ac24805b02a2e8b'] + +# specify dependency on Java/13 "wrapper", rather than a specific Java version +dependencies = [('Java', '13', '', SYSTEM)] + +skipsteps = ['configure', 'build'] + +_exe_files = ['nextflow', 'gradlew'] + +files_to_copy = [ + (_exe_files, '%(installdir)s/bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-21.10.6.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.10.6.eb new file mode 100644 index 00000000000..d610c0c4a0d --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-21.10.6.eb @@ -0,0 +1,37 @@ +easyblock = 'CmdCp' + +name = 'Nextflow' +version = '21.10.6' + +homepage = 'https://www.nextflow.io' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['91b108cba321cb5500e2e811c446b04aee152dc2f97cb2cf4ae00eeecd4f332f'] + +# specify dependency on Java/13 "wrapper", rather than a specific Java version +dependencies = [('Java', '13', '', SYSTEM)] + +skipsteps = ['configure', 'build'] + +_exe_files = ['nextflow', 'gradlew'] + +files_to_copy = [ + (_exe_files, '%(installdir)s/bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.04.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.04.0.eb new file mode 100644 index 00000000000..1dd727aee12 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.04.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CmdCp' + +name = 'Nextflow' +version = '22.04.0' + +homepage = 'https://www.nextflow.io' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4547a82228d1ad8615dd9916cd47a64a397405058579c0557cd11540633713ad'] + +# specify dependency on Java/11 "wrapper", rather than a specific Java version +dependencies = [('Java', '11', '', SYSTEM)] + +skipsteps = ['configure', 'build'] + +_exe_files = ['%(namelower)s', 'gradlew'] + +files_to_copy = [ + (_exe_files, '%(installdir)s/bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb new file mode 100644 index 00000000000..70231eabec8 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CmdCp' + +name = 'Nextflow' +version = '22.10.0' + +homepage = 'https://www.nextflow.io' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7eceff3e32bd1bcd09744890501456e0a2b5448916fb25f3e6a8f338a239af8b'] + +# specify dependency on Java/11 "wrapper", rather than a specific Java version +dependencies = [('Java', '11', '', SYSTEM)] + +skipsteps = ['configure', 'build'] + +_exe_files = ['%(namelower)s', 'gradlew'] + +files_to_copy = [ + (_exe_files, '%(installdir)s/bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb new file mode 100644 index 00000000000..cb17ec4556a --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.1.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.1' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['c5edc9fc81d9c6eb4f628505f14f8bb4fe044d4fc7d9ef60654ba0d73abf5a80'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb new file mode 100644 index 00000000000..869b8678294 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.5.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.5' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['5ca5b926bdd355a8d5f1f968cea6ba46fac5a4fa7e1dac3fe5ff02e5d6b6a90c'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb new file mode 100644 index 00000000000..e3c838b67a1 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-22.10.6.eb @@ -0,0 +1,33 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '22.10.6' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['cde62c2b15919f3af45ba083fb28e8017c0237f01b3793f81e11f5a1fb67ae36'] + +dependencies = [('Java', '11')] + +install_cmd = "mkdir -p %(installdir)s/bin &&" +install_cmd += "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin &&" +install_cmd += "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s &&" +install_cmd += "chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-23.04.2.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-23.04.2.eb new file mode 100644 index 00000000000..88a839637ea --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-23.04.2.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '23.04.2' + +homepage = 'https://www.%(namelower)s.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s-io/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s-all'] +checksums = ['d7a6c3eacc400648da85c0a56866ce39d240b3aab4c88ee470180f4dcf1847b4'] + +dependencies = [('Java', '11')] + +install_cmds = [ + "mkdir -p %(installdir)s/bin", + "cp %(builddir)s/%(namelower)s-%(version)s-all %(installdir)s/bin", + "cd %(installdir)s/bin && ln -s %(namelower)s-%(version)s-all %(namelower)s", + "cd %(installdir)s/bin && chmod +x %(installdir)s/bin/%(namelower)s-%(version)s-all", +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s-%(version)s-all', 'bin/%(namelower)s'], + 'dirs': [] +} + +sanity_check_commands = [ + "%(namelower)s -v", + "%(namelower)s help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-23.10.0.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-23.10.0.eb new file mode 100644 index 00000000000..2c6f2b030c8 --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-23.10.0.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '23.10.0' + +homepage = 'https://www.nextflow.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/nextflow-io/nextflow/releases/download/v%(version)s/'] +sources = ['nextflow-%(version)s-all'] +checksums = ['c69f6055c97741b828b6ee67de38125a42f1774f1621afd34c0eb72ffea171a6'] + +dependencies = [('Java', '11')] + +install_cmds = [ + "mkdir -p %(installdir)s/bin", + "cp %(builddir)s/nextflow-%(version)s-all %(installdir)s/bin", + "cd %(installdir)s/bin && ln -s nextflow-%(version)s-all nextflow", + "cd %(installdir)s/bin && chmod +x %(installdir)s/bin/nextflow-%(version)s-all", +] + +sanity_check_paths = { + 'files': ['bin/nextflow-%(version)s-all', 'bin/nextflow'], + 'dirs': [] +} + +sanity_check_commands = [ + "nextflow -v", + "nextflow help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb new file mode 100644 index 00000000000..21a90e473cc --- /dev/null +++ b/easybuild/easyconfigs/n/Nextflow/Nextflow-24.04.2.eb @@ -0,0 +1,35 @@ +easyblock = 'Binary' + +name = 'Nextflow' +version = '24.04.2' + +homepage = 'https://www.nextflow.io/' +description = """Nextflow is a reactive workflow framework and a programming DSL + that eases writing computational pipelines with complex data""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/nextflow-io/nextflow/releases/download/v%(version)s/'] +sources = ['nextflow-%(version)s-all'] +checksums = ['1491a4efc06f0df9eed1fa6aa5a8c657435397fa99c34bf954281460e9b1c5ee'] + +dependencies = [('Java', '11')] + +install_cmds = [ + "mkdir -p %(installdir)s/bin", + "cp %(builddir)s/nextflow-%(version)s-all %(installdir)s/bin", + "cd %(installdir)s/bin && ln -s nextflow-%(version)s-all nextflow", + "cd %(installdir)s/bin && chmod +x %(installdir)s/bin/nextflow-%(version)s-all", +] + +sanity_check_paths = { + 'files': ['bin/nextflow-%(version)s-all', 'bin/nextflow'], + 'dirs': [] +} + +sanity_check_commands = [ + "nextflow -v", + "nextflow help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.1-foss-2021a.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.1-foss-2021a.eb new file mode 100644 index 00000000000..dd698a3e46c --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.1-foss-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '3.2.1' + +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': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pillow', '8.2.0'), + ('pydicom', '2.2.2'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['4d2ff9426b740011a1c916b54fc25da9348282e727eaa2ea163f42e00f1fc29e'], + }), +] + +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/NiBabel/NiBabel-3.2.2-foss-2021b.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.2-foss-2021b.eb new file mode 100644 index 00000000000..f94c485969a --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-3.2.2-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '3.2.2' + +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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), + ('pydicom', '2.2.2'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['b0dcc174b30405ce9e8fec1eab3cbbb20f5c5e4920976c08b22e050b7c124f94'], + }), +] + +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/NiBabel/NiBabel-4.0.2-foss-2022a.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-4.0.2-foss-2022a.eb new file mode 100644 index 00000000000..2691a91e34a --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-4.0.2-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'NiBabel' +version = '4.0.2' + +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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), + ('pydicom', '2.3.0'), +] + +use_pip = True + +exts_list = [ + ('bz2file', '0.98', { + 'checksums': ['64c1f811e31556ba9931953c8ec7b397488726c63e09a4c67004f43bdd28da88'], + }), + ('nibabel', version, { + 'checksums': ['45c49b5349351b45f6c045a91aa02b4f0d367686ff3284632ef95ac65b930786'], + }), +] + +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/NiBabel/NiBabel-5.2.0-gfbf-2022b.eb b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2022b.eb new file mode 100644 index 00000000000..a930785f65b --- /dev/null +++ b/easybuild/easyconfigs/n/NiBabel/NiBabel-5.2.0-gfbf-2022b.eb @@ -0,0 +1,46 @@ +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Pillow', '9.4.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/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/Nim/Nim-1.6.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/Nim/Nim-1.6.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..487417de63d --- /dev/null +++ b/easybuild/easyconfigs/n/Nim/Nim-1.6.6-GCCcore-11.2.0.eb @@ -0,0 +1,17 @@ +name = 'Nim' +version = '1.6.6' + +homepage = 'https://nim-lang.org/' +description = "Nim is a systems and applications programming language." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://nim-lang.org/download/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['67b111ce6f3861503b9fcc1cae59fc34d0122566d3ecfef3a064a2174121a452'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('libreadline', '8.1')] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d8bb11e06ba --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.10.2' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed'] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0118718b1e5 --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.10.2-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.10.2' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed'] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e6cefd164e7 --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.11.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..66ca5673279 --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.11.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..47d0bd6318d --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.11.1-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.11.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.5'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9e6a998f707 --- /dev/null +++ b/easybuild/easyconfigs/n/Ninja/Ninja-1.12.1-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CmdCp' + +name = 'Ninja' +version = '1.12.1' + +homepage = 'https://ninja-build.org/' +description = "Ninja is a small build system with a focus on speed." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/ninja-build/ninja/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['821bdff48a3f683bc4bb3b6f0b5fe7b2d647cf65d52aeb63328c91a6c6df285a'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +cmds_map = [('.*', "./configure.py --bootstrap")] + +files_to_copy = [(['ninja'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/ninja'], + 'dirs': [], +} + +sanity_check_commands = ["ninja --version"] + +moduleclass = 'tools' 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/Nipype/Nipype-1.8.5-foss-2021a.eb b/easybuild/easyconfigs/n/Nipype/Nipype-1.8.5-foss-2021a.eb new file mode 100644 index 00000000000..fe53e82f565 --- /dev/null +++ b/easybuild/easyconfigs/n/Nipype/Nipype-1.8.5-foss-2021a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'Nipype' +version = '1.8.5' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('lxml', '4.6.3'), + ('networkx', '2.5.1'), + ('pydot', '1.4.2'), + ('NiBabel', '3.2.1'), + ('RDFlib', '6.2.0'), + ('pytest-xdist', '2.3.0'), +] + +use_pip = True + +exts_list = [ + ('traits', '6.3.2', { + 'checksums': ['4520ef4a675181f38be4a5bab1b1d5472691597fe2cfe4faf91023e89407e2c6'], + }), + ('pydotplus', '2.0.2', { + 'checksums': ['91e85e9ee9b85d2391ead7d635e3d9c7f5f44fd60a60e59b13e2403fa66505c4'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('prov', '2.0.0', { + 'checksums': ['b6438f2195ecb9f6e8279b58971e02bc51814599b5d5383366eef91d867422ee'], + }), + ('ci-info', '0.3.0', { + 'checksums': ['1fd50cbd401f29adffeeb18b0489e232d16ac1a7458ac6bc316deab6ae535fb0'], + }), + ('etelemetry', '0.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['78febd59a22eb53d052d731f10f24139eb2854fd237348fba683dd8616fb4a67'], + }), + ('looseversion', '1.0.2', { + 'checksums': ['8b9f2e649eb81620c4527ba33ba87505eb69d4bb3f66523b34182a0450c294bc'], + }), + ('nipype', version, { + 'checksums': ['e3842743fb660464dd29de73dcfc9ef66d273be10bcc64059ff21cd5ef1e9655'], + }), +] + +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/Normaliz/Normaliz-3.10.1-gfbf-2022a.eb b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.1-gfbf-2022a.eb new file mode 100644 index 00000000000..18e3d880567 --- /dev/null +++ b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.1-gfbf-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'Normaliz' +version = '3.10.1' + +homepage = 'https://www.normaliz.uni-osnabrueck.de/' +description = """Normaliz is a open source tool for computations in affine monoids, vector +configurations, rational polyhedra and rational cones. Normaliz now computes +rational and algebraic polyhedra, i.e., polyhedra defined over real algebraic +extensions of QQ.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True, 'cstd': 'c++14'} + +github_account = 'Normaliz' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['Normaliz-3.10.1_fix_tests.patch'] +checksums = [ + {'v3.10.1.tar.gz': '761b28884fa2af00498251803a3ce4e03fcb843b7471e77e4be9b9bcd3cd0a15'}, + {'Normaliz-3.10.1_fix_tests.patch': '51bc6ee071ea3777ef30db704e80d31d684883ed3c2c05e3c346f256332c22cc'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('GMP', '6.2.1'), + ('CoCoALib', '0.99818'), + ('FLINT', '2.9.0'), + ('Arb', '2.23.0'), + ('E-ANTIC', '1.3.0'), + ('nauty', '2.8.6'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = "--with-gmp=$EBROOTGMP --with-cocoalib=$EBROOTCOCOALIB --with-flint=$EBROOTFLINT " +configopts += "--with-e-antic=$EBROOTEMINANTIC --with-nauty=$EBROOTNAUTY" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/normaliz'] + ['lib/libnormaliz.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['include/libnormaliz'] +} + +sanity_check_commands = ["normaliz --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.1_fix_tests.patch b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.1_fix_tests.patch new file mode 100644 index 00000000000..cf775ac69a4 --- /dev/null +++ b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.1_fix_tests.patch @@ -0,0 +1,432 @@ +From 132415b96c57f6dc4d45fb4e8de62bdc8df18dae Mon Sep 17 00:00:00 2001 +From: Winfried Bruns +Date: Mon, 3 Jul 2023 12:29:21 +0200 +Subject: [PATCH] More NoLLL + +--- + test/test-/ChF_8_1024.in | 1 + + test/test-/ChF_8_1024Nr.in | 1 + + test/test-/ThierryPF.in | 3 +- + test/test-/smallPF.in | 1 + + test/test-mrk/Kwak10-mrk.in | 1 + + test/test-mrk/Kwak10-mrk.mrk.ref | 308 +++++++++++++++---------------- + 6 files changed, 160 insertions(+), 155 deletions(-) + +diff --git a/test/test-/ChF_8_1024.in b/test/test-/ChF_8_1024.in +index 9ecd13845..4fd83ae5c 100644 +--- a/test/test-/ChF_8_1024.in ++++ b/test/test-/ChF_8_1024.in +@@ -18,4 +18,5 @@ constraints 16 + 0.10976576 -0.2153132834 0.2028206781 -0.1825337879 0.1552322265 -0.1219651777 0.0840110756 -0.04282847494 <= 1/2 + ProjectionFloat + LatticePoints ++NoLLL + +diff --git a/test/test-/ChF_8_1024Nr.in b/test/test-/ChF_8_1024Nr.in +index e713f7521..c2e05c38a 100644 +--- a/test/test-/ChF_8_1024Nr.in ++++ b/test/test-/ChF_8_1024Nr.in +@@ -18,4 +18,5 @@ constraints 16 + 0.10976576 -0.2153132834 0.2028206781 -0.1825337879 0.1552322265 -0.1219651777 0.0840110756 -0.04282847494 <= 1/2 + ProjectionFloat + NumberLatticePoints ++NoLLL + +diff --git a/test/test-/ThierryPF.in b/test/test-/ThierryPF.in +index ffea2e14c..ebd7ba996 100644 +--- a/test/test-/ThierryPF.in ++++ b/test/test-/ThierryPF.in +@@ -4,4 +4,5 @@ vertices + [1, -1, 1000], [1789345001, 37121001, 1000], [1789345001, 37120999, 1000], + [1789344999, 37121001, 1000]] + ModuleGenerators +-ProjectionFloat +\ No newline at end of file ++ProjectionFloat ++NoLLL +diff --git a/test/test-/smallPF.in b/test/test-/smallPF.in +index 9f14e9442..43e93d6f5 100644 +--- a/test/test-/smallPF.in ++++ b/test/test-/smallPF.in +@@ -192,5 +192,6 @@ cone 190 + 0 0 0 16 7 1 + ProjectionFloat + LatticePoints ++NoLLL + + +diff --git a/test/test-mrk/Kwak10-mrk.in b/test/test-mrk/Kwak10-mrk.in +index d384a5584..114a75240 100644 +--- a/test/test-mrk/Kwak10-mrk.in ++++ b/test/test-mrk/Kwak10-mrk.in +@@ -206,3 +206,4 @@ toric_ideal 205 + 0 0 0 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 -1 1 1 + -5 -2 0 -5 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 2 0 + MarkovBasis ++NoLLL +diff --git a/test/test-mrk/Kwak10-mrk.mrk.ref b/test/test-mrk/Kwak10-mrk.mrk.ref +index f78875e83..7d74447f9 100644 +--- a/test/test-mrk/Kwak10-mrk.mrk.ref ++++ b/test/test-mrk/Kwak10-mrk.mrk.ref +@@ -1,207 +1,207 @@ + 205 + 21 +-1 -5 4 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-1 5 -4 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + -1 -6 2 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 -3 1 0 0 -1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + 0 -3 2 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 + -2 -1 -2 -2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + -1 -1 2 -1 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + -2 -4 -1 -2 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -2 -1 1 0 0 0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 ++-1 2 1 -1 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 + -1 -1 -1 -1 1 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + 0 -1 2 0 0 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 +-1 0 -1 1 0 0 0 0 0 0 0 0 1 0 0 -1 0 0 0 0 0 +-0 -5 2 0 0 0 0 -1 0 0 0 0 0 0 0 1 0 0 0 0 0 +-0 -5 0 0 0 2 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-1 0 1 -1 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 ++-1 0 -1 -1 0 2 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ++-1 5 -1 -1 0 0 0 1 0 0 0 0 -1 0 0 0 0 0 0 0 0 + -3 -2 0 -3 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + -1 -1 0 -1 1 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 +-0 -3 -1 0 0 1 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 ++-1 -3 0 -1 0 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 0 + 0 -5 -1 0 0 1 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 ++-5 2 -5 1 -2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + -2 -1 0 -2 1 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 +-5 -2 5 -1 2 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 +-6 -7 9 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 ++-6 7 -9 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 -6 0 0 0 0 0 0 2 0 0 0 0 0 0 -1 0 0 0 0 0 + -1 -1 0 -1 0 1 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 +-0 -8 0 0 0 0 0 0 1 0 0 -1 1 0 0 0 0 0 0 0 0 ++-6 -1 -9 0 -1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 + -6 -4 -7 0 -1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 +-4 -3 8 -2 2 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 + -4 -3 -1 2 -3 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ++-4 3 -8 2 -2 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + -6 -4 -3 0 -2 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 +-5 -8 12 -1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 +--1 -3 -1 -1 0 0 0 1 1 0 0 -1 0 0 0 0 0 0 0 0 0 +-6 -13 16 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 ++-5 8 -12 1 -1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ++-6 -1 -6 0 -2 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 ++-6 13 -16 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 + -6 -4 -4 0 -2 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 + -4 -2 -3 2 -3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 +--1 -5 0 -1 0 1 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 + -3 -2 -4 3 -3 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 +-4 -3 5 -2 3 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 +-3 -1 6 -3 3 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 +--4 -3 1 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +--6 -7 -2 0 -2 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 +--4 -3 1 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +--6 -10 0 0 -2 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 ++-6 -3 -5 0 -2 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ++-4 3 -5 2 -3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-3 1 -6 3 -3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ++4 3 -1 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 ++-7 -2 -6 -1 -1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 ++4 3 -1 2 2 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 ++-8 0 -8 -2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 + 5 -2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 + -6 -4 -1 0 -3 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 + -3 -2 -1 3 -4 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 -1 6 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +--6 -6 -4 0 -2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 ++-7 -1 -8 -1 -1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 + -4 -3 1 -1 -3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 + 5 -2 3 3 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 + -2 -1 -3 4 -4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -5 5 -5 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +--6 -9 -2 0 -2 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 +-5 -2 3 2 2 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 +-2 -10 9 -4 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +--7 -5 -1 -1 -2 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 +-3 -15 13 -3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -2 2 1 4 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-1 5 -5 5 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-7 -4 -6 -1 -1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 ++-5 2 -3 -2 -2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ++-2 10 -9 4 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-8 0 -5 -2 -1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 ++-3 15 -13 3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ++-1 2 -2 -1 -4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 -3 2 0 -5 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-2 -1 2 2 3 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 +-4 -20 17 -2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0 1 -1 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 0 0 ++-2 1 -2 -2 -3 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ++0 -1 1 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 0 ++-4 20 -17 2 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + -2 -4 -2 4 -4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 + -1 -3 1 -1 -4 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 +-3 -1 2 3 2 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 +--8 -6 -1 -2 -1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 ++-3 1 -2 -3 -2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ++-9 -1 -5 -3 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 ++0 -1 1 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 + -7 -4 -3 -1 -2 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 +-0 1 -1 0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 ++-5 25 -21 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 4 -1 2 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 +--2 -3 1 -2 -3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 +-5 -25 21 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +--1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 ++2 3 -1 2 3 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 ++0 1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 + -1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 0 +-0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 +--3 -3 1 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ++-1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 ++3 3 -1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 + -2 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 + -2 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 +--8 -5 -3 -2 -1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 ++-9 0 -7 -3 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 + -3 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 +--7 -9 -1 -1 -2 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 +-1 1 0 1 -1 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 ++-8 -4 -5 -2 -1 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 ++-1 -1 0 -1 1 0 -1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + -1 0 -1 -1 1 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 + -1 0 0 -1 1 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 + 1 0 0 1 -1 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 +--6 -4 -1 -5 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +--1 0 0 -1 1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 +--1 0 0 -1 1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 1 0 +--6 -4 -1 -4 -1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +--6 -4 -1 -3 -2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 +--6 -7 0 -5 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 +--1 0 -2 -1 0 1 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 +--7 -5 -3 0 -4 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 +--6 -7 0 -4 -1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 +--7 -5 -2 -5 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 +--6 -7 0 -3 -2 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 +-1 1 2 1 0 -1 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 +--1 0 -3 -1 0 1 0 0 0 0 1 0 0 -1 0 0 0 0 0 0 0 +-4 5 0 4 2 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 +--4 -4 -1 -4 -2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 +--1 -3 -1 -1 0 0 1 0 1 -1 0 0 0 0 0 0 0 0 0 0 0 ++6 4 1 5 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 ++1 0 0 1 -1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 ++1 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 ++-2 -1 -2 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 ++-3 0 -3 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 ++7 2 5 0 4 0 0 0 -1 0 0 0 0 0 0 0 0 0 -1 0 0 ++0 -1 -1 0 -1 1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 ++8 0 7 1 3 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 0 0 ++-2 -4 -1 -1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 -1 0 0 ++-1 -1 -1 0 0 -1 0 0 0 0 0 0 1 0 0 0 0 1 -1 0 0 ++-3 -3 -2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 -1 ++0 -1 -2 0 -1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 ++0 0 -3 0 -1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 ++-1 -1 -2 -1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 ++-1 0 -3 -1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 -1 ++0 -4 0 0 -1 0 1 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 + -3 -6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 -1 +--5 -5 0 -5 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +--5 -4 -1 -5 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +--7 -5 0 0 -5 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 +--4 -3 0 3 -6 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +-0 0 -1 0 0 -1 1 0 0 -1 0 0 1 0 0 0 0 0 0 0 0 ++1 2 1 2 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -1 ++8 0 4 1 4 0 0 -1 0 0 0 0 0 0 0 0 0 0 -1 0 0 ++1 1 2 2 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 ++4 3 0 -3 6 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 ++0 -1 -3 0 -1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 -1 + -3 -2 0 -2 0 0 0 1 0 0 0 0 0 0 0 0 0 1 -1 0 0 +-1 4 1 1 0 0 0 0 -1 -1 0 0 0 1 0 0 0 0 0 0 0 +-0 -2 0 0 0 -1 0 0 1 -1 1 0 0 0 0 0 0 0 0 0 0 +-1 5 0 1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 0 1 0 +--7 -2 -2 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 1 0 0 +--4 -2 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 -1 0 +-0 -2 0 0 0 -1 0 0 1 0 0 0 0 -1 1 0 0 0 0 0 0 +-0 1 1 0 0 1 0 0 0 -1 0 0 -1 1 0 0 0 0 0 0 0 +--1 -5 0 -2 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1 0 1 +--1 -6 0 -1 0 0 0 0 0 0 1 0 1 -1 0 0 0 0 0 0 0 +--5 -7 0 -5 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 +--2 -1 0 -2 0 0 1 1 0 -1 0 0 0 0 0 0 0 0 0 0 0 +--8 -6 0 0 -5 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 +-5 6 1 5 1 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 0 0 ++0 -4 -1 0 -1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 -1 ++0 -3 -2 0 -1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 -1 ++9 1 4 2 3 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 ++-1 -4 -1 -1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 -1 ++-4 -1 -1 -1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 -1 ++-1 -3 -2 -1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 ++1 5 0 2 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 1 0 -1 ++-1 -2 -3 -1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 -1 ++0 -2 0 0 0 -1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 -1 ++-1 -1 -4 -1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 -1 ++0 -1 0 0 -2 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 ++-1 -1 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 0 1 -1 0 0 ++0 -1 -1 0 0 -1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 -1 + -1 -6 0 -1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 -1 +--6 -6 -2 0 -5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 +--6 -5 -3 0 -5 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 +--7 -1 -4 0 0 0 0 0 0 -1 0 0 0 0 0 1 0 0 1 0 0 ++0 2 0 1 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 1 0 -1 ++0 1 1 1 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 1 -1 0 ++9 0 6 2 3 0 0 0 0 0 0 0 0 0 0 -1 0 0 -1 0 0 + -4 -3 0 -2 0 0 0 0 0 0 0 1 0 0 0 0 1 0 -1 0 0 +-0 0 0 0 0 0 1 -1 0 -1 0 1 0 0 0 0 0 0 0 0 0 +--8 -5 -2 0 -5 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 +-2 2 0 2 0 0 0 -1 0 -1 0 0 0 1 0 0 0 0 0 0 0 +--2 -1 -1 -2 0 0 0 1 0 0 1 0 0 -1 0 0 0 0 0 0 0 +-2 2 0 2 0 0 0 -1 0 0 0 0 0 -1 0 0 0 0 0 0 1 +--2 -2 0 -2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 -1 0 +--6 -3 -1 0 -1 0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 +--8 -5 -1 -5 -1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 +--6 -5 0 0 -6 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 +--3 -1 -1 3 -2 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +--3 -3 0 3 -7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +--1 0 0 -1 0 -1 1 0 0 -1 0 0 0 0 0 1 0 0 0 0 0 +-0 1 0 0 0 0 0 1 0 -1 0 -1 0 1 0 0 0 0 0 0 0 +-0 0 -1 0 0 0 0 -1 0 0 1 1 0 -1 0 0 0 0 0 0 0 +-6 4 1 0 1 0 1 0 0 0 0 -1 0 -1 0 0 0 0 0 0 0 +--6 -6 0 0 -6 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 +--6 -3 -1 0 -1 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 1 +--6 -2 -2 0 -1 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 1 0 +-1 1 0 1 0 1 0 0 0 -1 0 0 0 1 0 -1 0 0 0 0 0 +--1 0 -1 -1 0 -1 0 0 0 0 1 0 0 -1 0 1 0 0 0 0 0 +-6 6 1 0 6 0 0 0 0 0 0 0 0 -1 0 -1 0 0 0 0 0 +--6 -5 -2 0 -6 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 +--6 -2 -3 0 -1 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 1 +--6 -1 -4 0 -1 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 1 0 +-2 1 1 -4 3 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 +--2 -3 0 4 -8 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 +--3 0 0 -1 0 0 0 -1 0 0 0 0 0 -1 0 0 0 0 2 0 0 +--4 0 0 -1 0 0 0 -1 0 -1 0 0 0 0 0 0 0 1 1 0 0 +-1 1 1 -5 4 0 1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 +--7 -2 0 -3 0 0 0 0 0 -1 0 0 0 0 0 0 0 2 0 0 0 +--7 -2 0 -3 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 1 0 0 ++-1 -2 0 -1 -1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 -1 ++-1 -2 0 -1 -1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 ++-2 -1 0 -1 0 -1 0 0 0 0 0 0 0 0 0 1 0 1 -1 0 0 ++-1 -1 -1 -1 -1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 -1 ++-2 -2 0 -2 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 -1 ++-2 -1 -1 -2 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 -1 ++7 1 3 1 5 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 ++-3 0 -1 0 0 -1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 -1 ++2 2 0 3 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 1 -1 0 ++3 1 1 -3 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 ++3 3 0 -3 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 ++-2 -3 0 -2 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 -1 ++-1 -1 -2 -1 -1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 ++-2 -2 -1 -2 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 -1 ++0 -1 0 0 0 0 0 -1 0 0 0 1 0 1 0 0 0 0 0 0 -1 ++0 0 -1 0 0 0 0 -1 0 0 0 1 0 0 1 0 0 0 0 0 -1 ++8 2 3 2 4 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1 ++0 1 0 1 0 0 0 1 0 0 0 -1 0 0 0 0 0 0 1 -1 0 ++-2 -2 -2 -2 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 -1 ++-2 -1 -3 -2 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 -1 ++-1 -1 0 -1 0 -1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 -1 ++-1 0 -1 -1 0 -1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 -1 ++0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 -1 0 0 0 1 -1 ++1 1 0 2 0 1 0 0 0 0 0 0 0 0 0 -1 0 0 1 -1 0 ++-2 -1 -1 4 -3 0 -1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ++2 3 0 -4 8 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 ++-5 -2 0 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 -1 ++-5 -2 0 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 -1 ++-5 -2 0 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 -1 ++-1 -1 -1 5 -4 0 -1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ++-5 -2 0 -1 -2 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 -1 + -1 -3 0 5 -9 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 +--5 -1 -1 -4 -5 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 +--7 -2 0 -2 -1 0 0 0 0 -1 0 0 0 0 0 0 1 1 0 0 0 +--5 -1 -1 -3 -6 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +--7 -2 0 -1 -2 0 0 0 0 -1 0 0 0 0 0 0 2 0 0 0 0 ++5 1 1 4 5 0 -1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 ++-5 -2 0 0 -3 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 -1 ++5 1 1 3 6 0 -1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 ++-9 -1 -2 -3 -5 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 + 6 2 1 5 4 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1 0 0 + -5 -1 -1 -2 -7 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 +--4 -2 0 -3 -1 0 0 0 0 -1 1 0 0 0 0 0 0 0 1 0 0 ++-2 -2 0 -1 -3 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 -1 + 7 2 2 0 8 0 0 0 0 0 0 0 0 -1 0 0 0 0 -1 0 0 +--5 -2 0 -4 0 0 0 0 0 -1 0 0 0 0 1 0 0 0 1 0 0 ++-3 -2 0 -2 -2 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 -1 ++8 2 2 1 7 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -1 + -1 -1 0 -1 -9 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-6 2 1 4 5 0 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 +--7 -4 0 0 -3 0 -1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 +--3 0 0 -2 0 0 0 -1 0 -1 0 0 0 0 0 0 0 0 1 1 0 +--4 -2 0 -2 -2 0 0 0 0 -1 1 0 0 0 0 0 0 1 0 0 0 ++-1 -1 0 0 0 0 -1 0 0 1 0 0 0 0 0 0 0 1 -1 0 0 ++-4 -2 0 -3 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 -1 ++-2 -2 0 0 -4 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 -1 + -1 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0 1 -1 0 0 +--5 -2 0 -3 -1 0 0 0 0 -1 0 0 0 0 1 0 0 1 0 0 0 +-6 2 1 3 6 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 0 0 +--1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 -1 0 1 +--6 -2 0 -4 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 0 1 0 +--4 -2 0 -1 -3 0 0 0 0 -1 1 0 0 0 0 0 1 0 0 0 0 +--1 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 1 -1 0 0 0 +--5 -2 0 -2 -2 0 0 0 0 -1 0 0 0 0 1 0 1 0 0 0 0 +-2 2 0 2 8 0 -1 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 +--2 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 -1 0 1 ++-3 -2 0 -1 -3 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 -1 ++1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 -1 1 0 -1 ++-1 -1 0 0 0 0 -1 0 0 1 0 0 0 0 0 0 1 -1 0 0 0 ++-4 -2 0 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 -1 ++-1 0 -1 0 0 0 -1 0 0 0 1 0 0 0 0 0 1 -1 0 0 0 ++-2 -1 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 1 0 -1 0 0 ++-3 -2 0 0 -4 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 -1 ++2 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 1 0 -1 ++-2 -2 0 -2 -8 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 + -2 -1 -1 -2 -8 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 +--6 -2 0 -3 -1 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 1 0 +-3 2 0 3 7 0 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 +--3 -1 -1 -3 -7 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 +--4 -2 0 -4 -6 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 +--4 -1 -1 -4 -6 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 +-0 1 0 0 0 0 1 0 0 -2 0 0 0 1 0 0 0 0 0 0 0 +-0 0 1 0 0 0 1 0 0 -1 -1 0 0 1 0 0 0 0 0 0 0 +--1 -2 0 -1 -4 0 0 0 0 -1 2 0 0 0 0 0 0 0 0 0 0 +-4 3 0 4 6 0 0 0 0 -1 0 0 0 -1 0 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 -1 1 0 0 1 -1 0 0 0 0 0 0 +-4 2 1 4 6 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 0 0 ++-4 -2 0 -1 -3 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 -1 ++-3 -2 0 -3 -7 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ++3 1 1 3 7 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 ++4 2 0 4 6 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 ++4 1 1 4 6 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 ++0 0 -1 0 -5 0 0 0 0 2 0 0 0 0 0 0 0 0 0 -1 0 ++0 -1 0 0 0 0 -1 0 0 1 1 0 0 0 -1 0 0 0 0 0 0 ++0 0 -1 0 0 0 -1 0 0 0 2 0 0 0 -1 0 0 0 0 0 0 ++0 -1 0 0 0 0 -1 0 0 1 0 0 0 1 0 0 0 0 0 0 -1 ++0 0 -1 0 0 0 -1 0 0 1 0 0 0 0 1 0 0 0 0 0 -1 ++0 0 -1 0 0 0 -1 0 0 0 1 0 0 1 0 0 0 0 0 0 -1 ++2 0 1 2 3 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 1 -1 ++0 -2 0 0 -5 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 -1 + 0 0 0 0 0 0 0 0 0 -1 0 0 0 2 0 0 0 0 0 0 -1 +-5 3 0 5 5 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 -1 +--2 -2 0 -2 -3 0 0 0 0 -1 1 0 0 0 1 0 0 0 0 0 0 +-0 0 0 0 0 0 0 0 0 -1 0 0 0 1 1 0 0 0 0 -1 0 +-5 2 1 5 5 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 -1 0 +-0 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 -1 1 +-6 3 1 0 9 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 +--3 -2 0 -3 -2 0 0 0 0 -1 0 0 0 0 2 0 0 0 0 0 0 +--3 -2 0 -3 -2 0 0 0 0 -1 1 0 0 0 0 0 0 0 0 1 0 +-0 0 0 -1 0 0 0 0 0 -1 0 0 0 1 0 0 0 0 -1 1 0 +-0 0 0 -1 0 0 0 0 0 -1 0 0 0 0 1 0 0 0 -1 0 1 +--4 -2 0 -4 -1 0 0 0 0 -1 0 0 0 0 1 0 0 0 0 1 0 +--7 -3 -1 -1 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 +-0 0 0 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 -1 1 1 +--5 -2 0 -5 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 2 0 ++0 1 0 1 0 0 1 0 0 0 -1 0 0 0 0 0 0 0 1 0 -1 ++0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 0 0 1 -1 ++0 0 0 0 0 0 0 0 0 0 -1 0 0 1 1 0 0 0 0 0 -1 ++3 0 1 3 2 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 -1 ++-1 -2 0 -1 -4 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 -1 ++-1 -2 0 -1 -4 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 -1 ++6 2 2 0 9 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 ++0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 1 -1 ++-2 -2 0 -2 -3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 -1 ++4 0 1 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -2 ++0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 -1 -1 ++-3 -2 0 -3 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -1 diff --git a/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.3-gfbf-2023b.eb b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.3-gfbf-2023b.eb new file mode 100644 index 00000000000..6651c1a848d --- /dev/null +++ b/easybuild/easyconfigs/n/Normaliz/Normaliz-3.10.3-gfbf-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Normaliz' +version = '3.10.3' + +homepage = 'https://www.normaliz.uni-osnabrueck.de/' +description = """Normaliz is a open source tool for computations in affine monoids, vector +configurations, rational polyhedra and rational cones. Normaliz now computes +rational and algebraic polyhedra, i.e., polyhedra defined over real algebraic +extensions of QQ.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True, 'openmp': True, 'cstd': 'c++14'} + +github_account = 'Normaliz' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d9536ab3568053a8dd9aeabe09ef901c1c0ebbda37be50775a120eb9e7ff47cb'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.83.0'), + ('GMP', '6.3.0'), + ('CoCoALib', '0.99850'), + ('FLINT', '3.1.1'), + ('E-ANTIC', '2.0.2'), + ('nauty', '2.8.8'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = "--with-gmp=$EBROOTGMP --with-cocoalib=$EBROOTCOCOALIB --with-flint=$EBROOTFLINT " +configopts += "--with-e-antic=$EBROOTEMINANTIC --with-nauty=$EBROOTNAUTY" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/normaliz'] + ['lib/libnormaliz.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['include/libnormaliz'] +} + +sanity_check_commands = ["normaliz --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..4f00955fdf9 --- /dev/null +++ b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,61 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'n2v' +version = '0.3.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/juglab/n2v' +description = """ +Noise2Void - Learning Denoising from Single Noisy Images +The field of image denoising is currently dominated by discriminative deep +learning methods that are trained on pairs of noisy input and clean target +images. Recently it has been shown that such methods can also be trained without +clean targets. Instead, independent pairs of noisy images can be used, in an +approach known as NOISE2NOISE (N2N). Here, we introduce NOISE2VOID (N2V), a +training scheme that takes this idea one step further. It does not require noisy +image pairs, nor clean target images. Consequently, N2V allows us to train +directly on the body of data to be denoised and can therefore be applied when +other methods cannot. Especially interesting is the application to biomedical +image data, where the acquisition of training targets, clean or noisy, is +frequently not possible. We compare the performance of N2V to approaches that +have either clean target images and/or noisy image pairs available. Intuitively, +N2V cannot be expected to outperform methods that have more information +available during training. Still, we observe that the denoising performance of +NOISE2VOID drops in moderation and compares favorably to training-free denoising +methods.""" +toolchain = {'name': 'foss', 'version': '2021a'} + + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('TensorFlow', '2.6.0', versionsuffix), + ('mrcfile', '1.3.0'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('ruamel.yaml', '0.17.21'), + ('imagecodecs', '2022.9.26'), + ('JupyterLab', '3.0.16'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + (name, version, { + 'checksums': ['8662aa5e903e170a1c9769882da241d669b6e7efd8b164b68723c675539ec06f'], + }), +] + +sanity_check_commands = [ + '%s --help' % x for x in ['care_predict', 'trainN2V.py', 'care_predict'] +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2022a.eb b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2022a.eb new file mode 100644 index 00000000000..29bc3aab621 --- /dev/null +++ b/easybuild/easyconfigs/n/n2v/n2v-0.3.2-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'n2v' +version = '0.3.2' + +homepage = 'https://github.com/juglab/n2v' +description = "Learning Denoising from Single Noisy Images" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), + ('imagecodecs', '2022.9.26'), + ('ruamel.yaml', '0.17.21'), + ('CSBDeep', '0.7.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['8662aa5e903e170a1c9769882da241d669b6e7efd8b164b68723c675539ec06f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/n2v/n2v-0.3.3-foss-2023a.eb b/easybuild/easyconfigs/n/n2v/n2v-0.3.3-foss-2023a.eb new file mode 100644 index 00000000000..dfc99c9d4d3 --- /dev/null +++ b/easybuild/easyconfigs/n/n2v/n2v-0.3.3-foss-2023a.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'n2v' +version = '0.3.3' + +homepage = 'https://github.com/juglab/n2v' +description = "Learning Denoising from Single Noisy Images" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Pillow', '10.0.0'), + ('imagecodecs', '2024.1.1'), + ('ruamel.yaml', '0.17.32'), + ('CSBDeep', '0.7.4'), + ('xarray', '2023.9.0'), + ('imageio', '2.33.1'), + ('pydantic', '2.5.3'), +] + +use_pip = True + +exts_list = [ + ('typer', '0.12.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914'], + }), + ('marshmallow_union', '0.1.15.post1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['1e21b759c76735305f99179c1a16759ebb9629733159628241b3f2117ff55e86'], + }), + ('marshmallow_jsonschema', '0.13.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2814f2afb94a6e01b3c0a5795b3dfb142b628763655f20378400af5c0a2307fb'], + }), + ('marshmallow', '3.21.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['86ce7fb914aa865001a4b2092c4c2872d13bc347f3d42673272cabfdbad386f1'], + }), + ('fire', '0.6.0', { + 'checksums': ['54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66'], + }), + ('ruyaml', '0.91.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['50e0ee3389c77ad340e209472e0effd41ae0275246df00cdad0a067532171755'], + }), + ('python_dotenv', '1.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'modulename': 'dotenv', + 'checksums': ['f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a'], + }), + ('pydantic_settings', '2.2.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0235391d26db4d2190cb9b31051c4b46882d28a51533f97440867f012d4da091'], + }), + ('loguru', '0.7.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb'], + }), + ('dnspython', '2.6.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'modulename': 'dns', + 'checksums': ['5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50'], + }), + ('email_validator', '2.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631'], + }), + ('bioimageio.spec', '0.4.9.post5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['a24ef7c0d6506d080655fbd8f322bc153a147329bd2258a8e958982d31885865'], + }), + ('bioimageio.core', '0.5.11', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['af8138f0c75fcebf7abbb873d01af8055d6209b2fd611269990b72e51fb991b5'], + }), + (name, version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['be5b24fe0bf3cdc15cd4771c50e577a81b7d83b27300a0b90035cc87bb95c33c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/namedlist/namedlist-1.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/namedlist/namedlist-1.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4b4f2016fae --- /dev/null +++ b/easybuild/easyconfigs/n/namedlist/namedlist-1.8-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'namedlist' +version = '1.8' + +homepage = 'https://gitlab.com/ericvsmith/namedlist' +description = "A Python object, similar to namedtuple, but for lists." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['34f89fc992592c80b39a709e136edcf41ea17f24ba31eaf84a314a02c8b9bcef'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nano/nano-6.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nano/nano-6.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9addd89ff5c --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-6.4-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'nano' +version = '6.4' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['85ebd9b4dba49839821d529bea16ac1acae0c9b9db2157531e40c9dffeb1b656'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..37267b01fc7 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.0' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['767d595237a4b40b981e2daaeb31de94283d60b1fae03fbd52a67d95c454518a'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8bfbbe69d36 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2023 + +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.1' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d03f2fcf536e709edcfc7db882f4b60f198726585df5f1c48f7f7097f3622322'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..99cb4947e27 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-7.2-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'nano' +version = '7.2' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b4edaab0a037b5760484907c674e980053896f33759e43f834a212145fd085f1'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nano/nano-8.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nano/nano-8.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..64684d1ff42 --- /dev/null +++ b/easybuild/easyconfigs/n/nano/nano-8.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'nano' +version = '8.1' + +homepage = 'https://www.nano-editor.org/' +docurls = 'https://www.nano-editor.org/docs.php' +description = """a simple editor, inspired by Pico""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.nano-editor.org/dist/v%(version_major)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['6508bfbcfe38153ecbdc1b7d3479323564353f134acc8c501910220371390675'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('ncurses', '6.5')] + +sanity_check_paths = { + 'files': ['bin/nano'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['nano --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nanoQC/nanoQC-0.9.4-foss-2023a.eb b/easybuild/easyconfigs/n/nanoQC/nanoQC-0.9.4-foss-2023a.eb new file mode 100644 index 00000000000..264a822a3ca --- /dev/null +++ b/easybuild/easyconfigs/n/nanoQC/nanoQC-0.9.4-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'nanoQC' +version = '0.9.4' + +homepage = 'https://github.com/wdecoster/nanoQC' +description = """Quality control tools for long read sequencing + data aiming to replicate some of the plots made by fastQC.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['05685656138cbaf099b18831d1ceeaca93faf3399881cc2efda44c04d3b316e3'] + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('SciPy-bundle', '2023.07'), + ('bokeh', '3.2.2'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'nanoQC'} + +sanity_check_commands = ["nanoQC --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb index d6fbcb4a62d..516ddbc5043 100644 --- a/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/n/nanocompore/nanocompore-1.0.0rc3-2-intel-2020a-Python-3.8.2.eb @@ -10,6 +10,10 @@ description += "sequencing raw signal corresponding to RNA modifications by comp toolchain = {'name': 'intel', 'version': '2020a'} +builddependencies = [ + ('poetry', '1.0.9', versionsuffix), +] + dependencies = [ ('Python', '3.8.2'), ('SciPy-bundle', '2020.03', versionsuffix), @@ -18,14 +22,13 @@ dependencies = [ ('Seaborn', '0.10.1', versionsuffix), ('scikit-learn', '0.23.1', versionsuffix), ('statsmodels', '0.11.1', versionsuffix), - ('poetry', '1.0.9', versionsuffix), ('PyYAML', '5.3'), ] use_pip = True # poetry has unnecessarily restrictive dependencies -local_nanocompore_preinstallopts = """sed -i'' 's/\^/>=/g' pyproject.toml && """ +local_nanocompore_preinstallopts = r"""sed -i'' 's/\^/>=/g' pyproject.toml && """ local_nanocompore_preinstallopts += """sed -i'' 's/~/>=/g' pyproject.toml && """ # removing argparse from dependencies - it is part of python standard library since 3.6+ diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb deleted file mode 100644 index e31b1f45efe..00000000000 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.5.0-foss-2018b-Python-3.6.6.eb +++ /dev/null @@ -1,28 +0,0 @@ -easyblock = 'PythonPackage' -name = 'nanofilt' -version = '2.5.0' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://github.com/wdecoster/nanofilt' -description = """Filtering and trimming of long read sequencing data.""" - -toolchain = {'name': 'foss', 'version': '2018b'} - -source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] -checksums = ['33c35aad2950145ef66bcf338e68c7c84a20ae62716db24f9c9ccbd881c9a277'] - -dependencies = [ - ('Python', '3.6.6'), - ('Biopython', '1.72', versionsuffix), -] - -download_dep_fail = True -use_pip = True - -sanity_check_paths = { - 'files': ['bin/NanoFilt'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb deleted file mode 100644 index 44750167f6c..00000000000 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-foss-2019b-Python-3.7.4.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'nanofilt' -version = '2.6.0' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://github.com/wdecoster/nanofilt' -description = """Filtering and trimming of long read sequencing data.""" - -toolchain = {'name': 'foss', 'version': '2019b'} - -source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] -checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] - -dependencies = [ - ('Python', '3.7.4'), - ('Biopython', '1.75', versionsuffix), -] - -download_dep_fail = True -use_pip = True - -sanity_check_paths = { - 'files': ['bin/NanoFilt'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = ["NanoFilt --help"] - -sanity_pip_check = True - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb deleted file mode 100644 index 023fb864003..00000000000 --- a/easybuild/easyconfigs/n/nanofilt/nanofilt-2.6.0-intel-2020a-Python-3.8.2.eb +++ /dev/null @@ -1,33 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'nanofilt' -version = '2.6.0' -versionsuffix = '-Python-%(pyver)s' - -homepage = 'https://github.com/wdecoster/nanofilt' -description = """Filtering and trimming of long read sequencing data.""" - -toolchain = {'name': 'intel', 'version': '2020a'} - -source_urls = ['https://github.com/wdecoster/nanofilt/archive/v%(version)s'] -sources = [SOURCE_TAR_GZ] -checksums = ['83e3a581b7bf8a4b2e63b1a9b659baea6908448cbca9a0d42893f1cd4021d113'] - -dependencies = [ - ('Python', '3.8.2'), - ('Biopython', '1.78', versionsuffix), -] - -download_dep_fail = True -use_pip = True - -sanity_check_paths = { - 'files': ['bin/NanoFilt'], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} - -sanity_check_commands = ["NanoFilt --help"] - -sanity_pip_check = True - -moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8a7e77c8385 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'nanoflann' +version = '1.4.0' + +homepage = 'https://github.com/jlblancoc/nanoflann' +description = "nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'vectorize': False} # GCC 10.3.0 vectorizer causes test errors on skylake and later + + +github_account = 'jlblancoc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_external_googletest.patch', +] +checksums = [ + {'v1.4.0.tar.gz': '9ce09aa7c049e28ca4e2fbeffafc8e09aca98a52624578798c8ebb723ad974bb'}, + {'nanoflann-1.4.0_use_external_googletest.patch': + '5f0b99b0558bdf76c19d52eb82d10cdcc104eb6c2fb1891e033b5c96fb47f7b9'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('googletest', '1.11.0'), +] + +configopts = '-DNANOFLANN_BUILD_TESTS=ON' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/nanoflann.hpp', 'share/pkgconfig/nanoflann.pc'], + 'dirs': ['share/cmake/nanoflann'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch new file mode 100644 index 00000000000..04ef96f0a14 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.4.0_use_external_googletest.patch @@ -0,0 +1,46 @@ +Use external googletest + +Åke Sandgren, 20230213 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc84430..31ab273 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,6 +90,10 @@ endif() + # Tests + option(NANOFLANN_BUILD_TESTS "Build unit tests" ON) + if(NANOFLANN_BUILD_TESTS) ++ find_package(GTest) ++ if (NOT GTEST_FOUND) ++ message(ERROR "Testing requires googletest.") ++ endif() + enable_testing() + add_subdirectory(tests) + endif() +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 2e593da..9c3b443 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -8,17 +8,6 @@ if(MSVC) + add_definitions(-D_VARIADIC_MAX=10) + endif(MSVC) + +-if(NOT TARGET gtest) +- # Treat this directory as "system" to ignore pedantic warnings. +- if(CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem gtest-1.8.0/include") +- endif() +- +- # Compile gtest from sources: +- add_subdirectory(gtest-1.8.0) +- INCLUDE_DIRECTORIES("gtest-1.8.0/include/") +-endif() +- + set(EXECUTABLE_OUTPUT_PATH "${${PROJECT_NAME}_BINARY_DIR}") + + # Tests based on Google gtest: +@@ -37,4 +26,4 @@ ADD_TEST(unit_tests_run ${EXECUTABLE_OUTPUT_PATH}/unit_tests) + set_tests_properties(unit_tests_run PROPERTIES DEPENDS unit_tests_build) + + # Add the required libraries for linking: +-TARGET_LINK_LIBRARIES(unit_tests mygtest nanoflann) ++TARGET_LINK_LIBRARIES(unit_tests ${GTEST_LIBRARIES} nanoflann) diff --git a/easybuild/easyconfigs/n/nanoflann/nanoflann-1.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0c8b8032290 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoflann/nanoflann-1.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'nanoflann' +version = '1.5.0' + +homepage = 'https://github.com/jlblancoc/nanoflann' +description = "nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'optarch': False} # optarch causes test error on zen2 + +github_account = 'jlblancoc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['nanoflann-1.4.0_use_external_googletest.patch'] +checksums = [ + {'v1.5.0.tar.gz': '89aecfef1a956ccba7e40f24561846d064f309bc547cc184af7f4426e42f8e65'}, + {'nanoflann-1.4.0_use_external_googletest.patch': + '5f0b99b0558bdf76c19d52eb82d10cdcc104eb6c2fb1891e033b5c96fb47f7b9'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('googletest', '1.11.0'), +] + +configopts = '-DNANOFLANN_BUILD_TESTS=ON' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['include/nanoflann.hpp', 'lib/pkgconfig/nanoflann.pc'], + 'dirs': ['share/nanoflann/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb new file mode 100644 index 00000000000..82b4f0b5841 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2021a.eb @@ -0,0 +1,29 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.18.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e4fa37ab1bccc3287947f5792acad3c96fd1c02cb9c0a1f5d218d26bcdbe1632'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('nanomath', '1.2.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022a.eb new file mode 100644 index 00000000000..7c915c25e40 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022a.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.18.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e4fa37ab1bccc3287947f5792acad3c96fd1c02cb9c0a1f5d218d26bcdbe1632'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('nanomath', '1.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb new file mode 100644 index 00000000000..6c11fb4bd05 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.18.1-foss-2022b.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.18.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e4fa37ab1bccc3287947f5792acad3c96fd1c02cb9c0a1f5d218d26bcdbe1632'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('Pysam', '0.21.0'), + ('nanomath', '1.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb new file mode 100644 index 00000000000..2126128d14c --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.1-foss-2022a.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.19.1' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['14f4883a995503dbae757b55cb42fcb4430c58ce2201b79abd4e8e0e3d10ca18'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('nanomath', '1.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanoget/nanoget-1.19.3-foss-2023a.eb b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.3-foss-2023a.eb new file mode 100644 index 00000000000..2aeb2ceaf26 --- /dev/null +++ b/easybuild/easyconfigs/n/nanoget/nanoget-1.19.3-foss-2023a.eb @@ -0,0 +1,30 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'nanoget' +version = '1.19.3' + +homepage = 'https://github.com/wdecoster/nanoget' +description = "Functions to extract information from Oxford Nanopore sequencing data and alignments" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da981810edb1cbe42cbbfbe5fcf753f29bf5555204cd51256b28a284a036a71b'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('Pysam', '0.22.0'), + ('nanomath', '1.4.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb new file mode 100644 index 00000000000..5d1a69c2f73 --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.2.1-foss-2021a.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.2.1' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math function for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['3c611c3b0a8fa364b8afe87c948f31d5d8009a212c28954382e926f36f90e060'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022a.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022a.eb new file mode 100644 index 00000000000..769d14a481e --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022a.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.3.0' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math function for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['c35a024b10b34dd8f539cefed1fd69e0a46d18037ca48bed63c7941c67ae028e'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb new file mode 100644 index 00000000000..9bf917fba1d --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.3.0-foss-2022b.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.3.0' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math functions for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['c35a024b10b34dd8f539cefed1fd69e0a46d18037ca48bed63c7941c67ae028e'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nanomath/nanomath-1.4.0-foss-2023a.eb b/easybuild/easyconfigs/n/nanomath/nanomath-1.4.0-foss-2023a.eb new file mode 100644 index 00000000000..2a2f56955cc --- /dev/null +++ b/easybuild/easyconfigs/n/nanomath/nanomath-1.4.0-foss-2023a.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'PythonBundle' + +name = 'nanomath' +version = '1.4.0' + +homepage = 'https://github.com/wdecoster/nanomath' +description = "A few simple math functions for other Oxford Nanopore processing scripts" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Python-Deprecated', '1.1.0', { + 'modulename': 'deprecated', + 'checksums': ['a242b3c1721f97912330b12cd5529abfa5b3876084a6c60a2c683a87d4b0dd6f'], + }), + (name, version, { + 'checksums': ['ed7a38fbb156d9a68a95c2570fe3c2035321d0a3e234580496750afca4927ced'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-foss-2020b.eb b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-foss-2020b.eb new file mode 100644 index 00000000000..4affa742800 --- /dev/null +++ b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-foss-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'nanomax-analysis-utils' +version = '0.4.3' + +github_account = 'maxiv-science' +homepage = "https://github.com/%(github_account)s/nanomax-analysis-utils" +description = """A set of tools for handling and analysing data at the NanoMAX beamline.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('silx', '0.14.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['887874f9ab8ba42b31e47a51503aa85be7b215073151415d38b231f748072a42'] + +options = {'modulename': 'nmutils'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-fosscuda-2020b.eb b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-fosscuda-2020b.eb new file mode 100644 index 00000000000..738e464088f --- /dev/null +++ b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.3-fosscuda-2020b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'nanomax-analysis-utils' +version = '0.4.3' + +github_account = 'maxiv-science' +homepage = "https://github.com/%(github_account)s/nanomax-analysis-utils" +description = """A set of tools for handling and analysing data at the NanoMAX beamline.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('silx', '0.14.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['887874f9ab8ba42b31e47a51503aa85be7b215073151415d38b231f748072a42'] + +options = {'modulename': 'nmutils'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb new file mode 100644 index 00000000000..bd3f4f3f540 --- /dev/null +++ b/easybuild/easyconfigs/n/nanomax-analysis-utils/nanomax-analysis-utils-0.4.4-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'nanomax-analysis-utils' +version = '0.4.4' + +github_account = 'maxiv-science' +homepage = "https://github.com/%(github_account)s/nanomax-analysis-utils" +description = """A set of tools for handling and analysing data at the NanoMAX beamline.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('silx', '1.0.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6b1d1812114af95ebbe7559ae456f79dbe757db6a502810d10a2193e1e5ef668'] + +options = {'modulename': 'nmutils'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-foss-2018b-Python-2.7.15.eb index 801d95801e6..91d4c8cbd71 100644 --- a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-foss-2018b-Python-2.7.15.eb @@ -22,7 +22,7 @@ checksums = [ 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz ] -builddependencies = [('Eigen', '3.3.5', '', True)] +builddependencies = [('Eigen', '3.3.5', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-intel-2018b-Python-2.7.15.eb index 6799dfdb146..98affa6d3c8 100644 --- a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.10.2-intel-2018b-Python-2.7.15.eb @@ -22,7 +22,7 @@ checksums = [ 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz ] -builddependencies = [('Eigen', '3.3.4', '', True)] +builddependencies = [('Eigen', '3.3.4', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.1-foss-2018b-Python-3.6.6.eb index 8bfbce42b87..ec682cb63db 100644 --- a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.1-foss-2018b-Python-3.6.6.eb @@ -22,7 +22,7 @@ checksums = [ 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz ] -builddependencies = [('Eigen', '3.3.7', '', True)] +builddependencies = [('Eigen', '3.3.7', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.2-foss-2020a-Python-3.8.2.eb index 5a800af7bf5..edaace23ac2 100644 --- a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.2-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.2-foss-2020a-Python-3.8.2.eb @@ -23,7 +23,7 @@ checksums = [ 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz ] -builddependencies = [('Eigen', '3.3.7', '', True)] +builddependencies = [('Eigen', '3.3.7', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.3-foss-2020b.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.3-foss-2020b.eb new file mode 100644 index 00000000000..9d020bb9a5c --- /dev/null +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.13.3-foss-2020b.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'nanopolish' +version = '0.13.3' + +homepage = 'https://github.com/jts/nanopolish' +description = "Software package for signal-level analysis of Oxford Nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [ + 'https://github.com/jts/nanopolish/archive/', + 'https://github.com/mateidavid/fast5/archive/', +] +sources = [ + {'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}, + {'download_filename': 'v0.6.5.tar.gz', 'filename': 'fast5-v0.6.5.tar.gz'}, +] +checksums = [ + 'eac02b7db76f223375e246fa361a0a4fbf74021b9094573e5324fd7f75743d55', # nanopolish-0.13.3.tar.gz + 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz +] + +builddependencies = [('Eigen', '3.3.9')] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('Pysam', '0.16.0.1'), + ('HDF5', '1.10.7'), + ('HTSlib', '1.11'), + ('minimap2', '2.18'), + ('VBZ-Compression', '1.0.1'), +] + +prebuildopts = "rmdir fast5 && ln -s %(builddir)s/fast5-*/ fast5 && " +buildopts = "HDF5=noinstall EIGEN=noinstall HTS=noinstall MINIMAP2=noinstall" + +runtest = 'test ' + buildopts + +files_to_copy = [(['nanopolish'], 'bin'), 'scripts'] + +postinstallcmds = ["chmod a+rx %(installdir)s/scripts/*"] + +sanity_check_paths = { + 'files': ['bin/nanopolish'], + 'dirs': ['scripts'], +} + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2022a.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2022a.eb new file mode 100644 index 00000000000..2ca012c73d5 --- /dev/null +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2022a.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'nanopolish' +version = '0.14.0' + +homepage = 'https://github.com/jts/nanopolish' +description = "Software package for signal-level analysis of Oxford Nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://github.com/jts/nanopolish/archive/', + 'https://github.com/mateidavid/fast5/archive/', +] +sources = [ + { + 'source_urls': ['https://github.com/jts/nanopolish/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/hasindu2008/slow5lib/archive/'], + 'download_filename': 'v1.1.0.tar.gz', + 'filename': 'slow5lib-v1.1.0.tar.gz', + }, +] +checksums = [ + {'nanopolish-0.14.0.tar.gz': 'bcc1a7e2d23941592d817da3af9165b3843ae52b11a3ca5983d6417f1614ef78'}, + {'slow5lib-v1.1.0.tar.gz': 'f13f08b85a9a11086b5d9378251093d1858d0dc29d8e727eabacfa57a73f4277'}, +] + +builddependencies = [('Eigen', '3.4.0')] + +dependencies = [ + ('zlib', '1.2.12'), + ('Python', '3.10.4'), + ('Biopython', '1.79'), + ('Pysam', '0.19.1'), + ('HDF5', '1.12.2'), + ('HTSlib', '1.15.1'), + ('minimap2', '2.24'), + ('VBZ-Compression', '1.0.3'), +] + +prebuildopts = "rmdir slow5lib && ln -s %(builddir)s/slow5lib-*/ slow5lib && " +buildopts = "HDF5=noinstall EIGEN=noinstall HTS=noinstall MINIMAP2=noinstall" + +runtest = 'test ' + buildopts + +files_to_copy = [(['nanopolish'], 'bin'), 'scripts'] + +postinstallcmds = ["chmod a+rx %(installdir)s/scripts/*"] + +sanity_check_paths = { + 'files': ['bin/nanopolish'], + 'dirs': ['scripts'], +} + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2023a.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2023a.eb new file mode 100644 index 00000000000..d32ee79a46a --- /dev/null +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.14.0-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'MakeCp' + +name = 'nanopolish' +version = '0.14.0' + +homepage = 'https://github.com/jts/nanopolish' +description = "Software package for signal-level analysis of Oxford Nanopore sequencing data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://github.com/jts/nanopolish/archive/', + 'https://github.com/mateidavid/fast5/archive/', +] +sources = [ + { + 'source_urls': ['https://github.com/jts/nanopolish/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'source_urls': ['https://github.com/hasindu2008/slow5lib/archive/'], + 'download_filename': 'v1.1.0.tar.gz', + 'filename': 'slow5lib-v1.1.0.tar.gz', + }, +] +checksums = [ + {'nanopolish-0.14.0.tar.gz': 'bcc1a7e2d23941592d817da3af9165b3843ae52b11a3ca5983d6417f1614ef78'}, + {'slow5lib-v1.1.0.tar.gz': 'f13f08b85a9a11086b5d9378251093d1858d0dc29d8e727eabacfa57a73f4277'}, +] + +builddependencies = [('Eigen', '3.4.0')] + +dependencies = [ + ('zlib', '1.2.13'), + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('Pysam', '0.22.0'), + ('HDF5', '1.14.0'), + ('HTSlib', '1.18'), + ('minimap2', '2.26'), + ('VBZ-Compression', '1.0.3'), +] + +prebuildopts = "rmdir slow5lib && ln -s %(builddir)s/slow5lib-*/ slow5lib && " +buildopts = "HDF5=noinstall EIGEN=noinstall HTS=noinstall MINIMAP2=noinstall" + +runtest = 'test ' + buildopts + +files_to_copy = [(['nanopolish'], 'bin'), 'scripts'] + +postinstallcmds = ["chmod a+rx %(installdir)s/scripts/*"] + +sanity_check_paths = { + 'files': ['bin/nanopolish'], + 'dirs': ['scripts'], +} + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.9.2-intel-2018a.eb b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.9.2-intel-2018a.eb index f7f74b3e462..b6658ad065b 100644 --- a/easybuild/easyconfigs/n/nanopolish/nanopolish-0.9.2-intel-2018a.eb +++ b/easybuild/easyconfigs/n/nanopolish/nanopolish-0.9.2-intel-2018a.eb @@ -21,7 +21,7 @@ checksums = [ 'f8b1ce2c07adb56b4f13337ef008e124255f86cdb7e74e4233afa8dca878ee1a', # fast5-v0.6.5.tar.gz ] -builddependencies = [('Eigen', '3.3.4', '', True)] +builddependencies = [('Eigen', '3.3.4', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/n/napari-denoiseg/napari-denoiseg-0.0.1-foss-2023a.eb b/easybuild/easyconfigs/n/napari-denoiseg/napari-denoiseg-0.0.1-foss-2023a.eb new file mode 100644 index 00000000000..8335ad90cba --- /dev/null +++ b/easybuild/easyconfigs/n/napari-denoiseg/napari-denoiseg-0.0.1-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'napari-denoiseg' +version = '0.0.1' + +homepage = 'https://juglab.github.io/napari-denoiseg/index.html' +description = """A napari plugin performing joint denoising and segmentation of microscopy images using DenoiSeg.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('napari', '0.4.18'), + ('PyQtGraph', '0.13.7'), + ('QtPy', '2.4.1'), + ('TensorFlow', '2.13.0'), + ('CSBDeep', '0.7.4'), + ('n2v', '0.3.3'), + ('numba', '0.58.1'), + ('scikit-learn', '1.3.1'), + ('autopep8', '2.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('napari-workflows', '0.2.10', { + 'checksums': ['d48f2020693b4b8c1dd639668a3b1588115beac8f19f42394fc241fc1672be12'], + }), + ('napari-tools-menu', '0.1.19', { + 'checksums': ['6b58ac45d7fe84bc5975e7a53142340d5d62beff9ade0f2f58d7a3a4a0a8e8f8'], + }), + ('magicgui', '0.8.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ee763f3908a344cc73e1ed0981885114937ce3077e60e4feb8148e64f0e762a3'], + }), + ('napari_time_slicer', '0.5.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6c7f53f762cb3410da097be43ba47b4f4213e89930a3ade3ec1c7c1beb9d605f'], + }), + ('denoiseg', '0.3.1', { + 'preinstallopts': 'sed -i "s/wrapt<=1.12.1/wrapt/g" setup.py && ', + 'checksums': ['fd720b78910b84ea5d65deda8c193d64e583c78090d9867990b7a39f72ed7ea3'], + }), + ('napari-denoiseg', '%(version)src2', { + 'preinstallopts': 'sed -i "s/vispy<=0.9.6/vispy/g;s/napari<=0.4.15/napari<=0.4.18/g" setup.cfg && ', + 'checksums': ['e244dbb820ee7d35212ee198d28eabf987439a70ce6695cbf63cfa52baab1ea8'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +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 new file mode 100644 index 00000000000..e4034ea4140 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.15-foss-2021b.eb @@ -0,0 +1,137 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.15' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('dask', '2022.1.0'), + ('PyOpenGL', '3.1.6'), + ('imageio', '2.13.5'), + ('tqdm', '4.62.3'), + ('IPython', '7.26.0'), + ('Qtconsole', '5.3.2'), + ('typing-extensions', '3.10.0.2'), + ('scikit-image', '0.19.1'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +sanity_pip_check = True +exts_list = [ + ('pytomlpp', '1.0.10', { + 'checksums': ['6de110c8fe43f46c52b2041d5fbaa0522677a712234832ffd8cbb51cff50804e'], + }), + ('freetype_py', '2.3.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-%(version)s.zip'], + 'checksums': ['f9b64ce3272a5c358dcee824800a32d70997fb872a0965a557adca20fce7a5d0'], + }), + ('hsluv', '5.0.3', { + 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], + }), + ('vispy', '0.10.0', { + 'checksums': ['b76ad6f3eacadbfc4944cfb8211eadb6ea8417a590993ece5aa7caac082cffc2'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('docstring-parser', '0.14.1', { + 'sources': ['docstring_parser-%(version)s.tar.gz'], + 'checksums': ['2c77522e31b7c88b1ab457a1f3c9ae38947ad719732260ba77ee8a3deb58622a'], + }), + ('pep517', '0.12.0', { + 'checksums': ['931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('magicgui', '0.5.1', { + 'checksums': ['dcd05c4c9bbd55bdeb72d41069b2d4304952dabe04c2aac7bdd43f5a4e3a8a94'], + }), + ('napari-console', '0.0.4', { + 'modulename': 'napari_console', + 'checksums': ['ea0e30fbfdd76542adda44be457f1306a65146fe7578f95838e28d62874f4c45'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.6', { + 'checksums': ['12fa5c64995fc7179349969a39316355496b463858c3b0815e3b3e7ffcdced34'], + }), + ('Pint', '0.19.2', { + 'checksums': ['e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf'], + }), + ('build', '0.8.0', { + 'checksums': ['887a6d471c901b1a6e6574ebaeeebb45e5269a79d095fe9a8f88d6614ed2e5f0'], + }), + ('psygnal', '0.3.5', { + 'patches': ['psygnal-0.3.5_python3.8.patch'], + 'checksums': [ + '5abf84f0da9f487be68299854c4eb39de0765236407736d201f97ef39913a548', # psygnal-0.3.5.tar.gz + '34c36af20b555c7201da1c4cd26180aa446d9670f55a6e89a27152e4f50e0e29', # psygnal-0.3.5_python3.8.patch + ], + }), + ('pydantic', '1.9.1', { + 'checksums': ['1ed987c3ff29fff7fd8c3ea3a3ea877ad310aae2ef9889a119e22d3f2db0691a'], + }), + ('typer', '0.4.1', { + 'checksums': ['5646aef0d936b2c761a10393f0384ee6b5c7fe0bb3e5cd710b17134ca1d99cff'], + }), + ('npe2', '0.5.0', { + 'checksums': ['3d3d43b99bbd3b189fedd7313589c89642a4af0f14b24b9763eb134ba6a5548c'], + }), + ('numpydoc', '1.4.0', { + 'checksums': ['9494daf1c7612f59905fa09e65c9b8a90bbacb3804d91f7a94e778831e6fcfa5'], + }), + ('superqt', '0.3.2', { + 'checksums': ['a37df244a2d6e4387e865cdedabe925798b3352ab9cdc52f60701eb12d907960'], + }), + ('tifffile', '2022.5.4', { + 'checksums': ['b03147a15862b7c1d90d47435197f149bef7a52c25ad67cf1f9b465faa71b8d2'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('pythran', '0.10.0', { + 'checksums': ['9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf'], + }), + (name, version, { + 'checksums': ['0d4cf6067d2112c78a705917aa5e74371463982d80147a898c6b5d2f0b514baa'], + }), +] + +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-foss-2022a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb new file mode 100644 index 00000000000..259846e68e2 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2022a.eb @@ -0,0 +1,138 @@ +# 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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyQt5', '5.15.5'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('pydantic', '1.10.4'), + ('dask', '2022.10.0'), + ('PyOpenGL', '3.1.6'), + ('imageio', '2.22.2'), + ('tqdm', '4.64.0'), + ('IPython', '8.5.0'), + ('VisPy', '0.12.2'), # vispy<0.13,>=0.12.1 + ('scikit-image', '0.19.3'), + ('matplotlib', '3.5.2'), + ('Qtconsole', '5.4.0'), + ('Pint', '0.22'), + ('wrapt', '1.15.0'), +] + +use_pip = True +sanity_pip_check = True + + +# avoid hatchling requirement to install (compare genomepy-0.15.0-foss-2022a.eb) +# (since installing it introduces conflicting version requirements with poetry included with Python) +_preinstallopts_no_hatchling = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +_preinstallopts_no_hatchling += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +_preinstallopts_no_hatchling += r"""-e 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """ + + +exts_list = [ + # distributed 2022.10.0 (dask) req. tornado <6.2,>=6.0.3; Ipython provides 6.2. + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + ('in_n_out', '0.1.8', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['8162af8787e682eb4b36d047f914199d80f1124e3a41420cd53de680e7d0a254'], + }), + # stick with app_model=0.1.1, because this version does not require hatchling + ('app-model', '0.1.1', { + 'checksums': ['40830455cb66441001ae25978698842eacf16e6ce1be7d737a0eaaad063de562'], + }), + ('cachey', '0.2.1', { + 'checksums': ['0310ba8afe52729fa7626325c8d8356a8421c434bf887ac851e58dcf7cf056a6'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + ('docstring_parser', '0.15', { + 'checksums': ['48ddc093e8b1865899956fcc03b03e66bb7240c310fac5af81814580c55bf682'], + }), + # stick with magicgui=0.6.1,because this version does not require hatchlingdue to hatchling + ('magicgui', '0.6.1', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['319bb789c9d6f047009cf1199b59d9a304017d0447b755b9892d59a0361e5a22'], + }), + ('numpydoc', '1.5.0', { + 'checksums': ['b0db7b75a32367a0e25c23b397842c65e344a1206524d16c8069f0a1c91b5f4c'], + }), + ('psygnal', '0.9.2', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['33010606b4a18ba09e42f622990fb3402baf0683497c3b316660edbd8d5aa2df'], + }), + ('superqt', '0.5.0', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['a88a8671b886e8aa78b6f9978ae65bfc540dceb04f76d045079b753b2d3791b9'], + }), + ('napari-console', '0.0.8', { + 'modulename': 'napari_console', + 'checksums': ['9fa3f665ec0f5f351c364b212e73cdc4004615461dca6cbfaacf028525ec740a'], + }), + ('napari-plugin-engine', '0.2.0', { + 'checksums': ['fa926f869d70e0d652c005661948cd0c7fee5508ae17d437937f34f5287590b3'], + }), + ('napari-svg', '0.1.10', { + 'checksums': ['18e642c888a71e09c9d1097f25bced1e7ef5dde1771469647bcd77975800f77d'], + }), + ('typer', '0.7.0', { + 'checksums': ['ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '0.10.0', { + 'checksums': ['d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.1.0', { + 'modulename': 'markdown_it', + 'checksums': ['cf7e59fed14b5ae17c0006eff14a2d9a00ed5f3a846148153899a0224e2c07da'], + }), + # rich >=13.3 req pygments >=2.13, but we have 2.12 + # (MultiQC-1.14-foss-2022a: rich 13.3.1) + ('rich', '13.2.0', { + 'checksums': ['f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5'], + }), + ('npe2', '0.7.2', { + 'preinstallopts': _preinstallopts_no_hatchling, + 'checksums': ['33a520f75c22ada5b77ef2fa75ebdee7ff3fed4000f56b3939930a8286b067a1'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'checksums': ['daea9ab94124140fc0f715e945dd1dd6dc3056a1cb2f2cc31fc29b80162943e4'], + }), +] + +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-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb new file mode 100644 index 00000000000..46fb74f0d2b --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.18-foss-2023a.eb @@ -0,0 +1,128 @@ +# 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'), + ('build', '1.0.3'), +] + +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'], + }), + ('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/napari/napari-0.4.19.post1-foss-2023a.eb b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb new file mode 100644 index 00000000000..dd8ff3a3059 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/napari-0.4.19.post1-foss-2023a.eb @@ -0,0 +1,121 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@emblde, 2024/01 +easyblock = 'PythonBundle' + +name = 'napari' +version = '0.4.19.post1' + +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 = [ + ('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.14.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'], + }), + ('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', { + 'modulename': 'napari_console', + '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.1.1', { + 'checksums': ['8eea65bb45b1aac2e734ba2cc8dad3a6d97d97901a395bd0ed3e7b46953d2a31'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('npe2', '0.7.4', { + 'checksums': ['969d5394b24225cff1ab6625f29ea1603a6509714bd9496c49e697c3e49077b0'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + (name, version, { + 'checksums': ['88e298697c38c9f842d7c26c8d51d2e0fbb90d0be05575fdd159d27eede11301'], + }), +] + +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/psygnal-0.3.5_python3.8.patch b/easybuild/easyconfigs/n/napari/psygnal-0.3.5_python3.8.patch new file mode 100644 index 00000000000..b8f4bace8b2 --- /dev/null +++ b/easybuild/easyconfigs/n/napari/psygnal-0.3.5_python3.8.patch @@ -0,0 +1,12 @@ +#Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +#python > 3.7: prevent comple error future feature annotations is not defined +diff -ru psygnal-0.3.5/psygnal/_evented_model.py psygnal-0.3.5_python3.8/psygnal/_evented_model.py +--- psygnal-0.3.5/psygnal/_evented_model.py 2022-05-26 02:03:19.000000000 +0200 ++++ psygnal-0.3.5_python3.8/psygnal/_evented_model.py 2022-06-23 10:41:46.536586585 +0200 +@@ -1,5 +1,4 @@ +-from __future__ import annotations +- ++import annotations + import operator + import sys + import warnings diff --git a/easybuild/easyconfigs/n/nauty/nauty-2.8.6-GCC-11.3.0.eb b/easybuild/easyconfigs/n/nauty/nauty-2.8.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..1fe2879b3c8 --- /dev/null +++ b/easybuild/easyconfigs/n/nauty/nauty-2.8.6-GCC-11.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'nauty' +version = '2.8.6' + +homepage = 'https://pallini.di.uniroma1.it/' +description = """nauty and Traces are programs for computing automorphism groups of graphs and +digraphs. They can also produce a canonical label.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pallini.di.uniroma1.it'] +sources = ['nauty%s.tar.gz' % version.replace('.', '_')] +checksums = ['f2ce98225ca8330f5bce35f7d707b629247e09dda15fc479dc00e726fee5e6fa'] + +local_executables = [ + 'addedgeg', 'amtog', 'assembleg', 'biplabg', 'catg', 'complg', 'converseg', 'copyg', 'countg', 'cubhamg', + 'deledgeg', 'delptg', 'directg', 'dreadnaut', 'dretodot', 'dretog', 'edgetransg', 'genbg', 'genbgL', 'geng', + 'gengL', 'genquarticg', 'genrang', 'genspecialg', 'gentourng', 'gentreeg', 'hamheuristic', 'labelg', 'linegraphg', + 'listg', 'multig', 'newedgeg', 'NRswitchg', 'pickg', 'planarg', 'ranlabg', 'shortg', 'showg', 'subdivideg', + 'twohamg', 'underlyingg', 'vcolg', 'watercluster2' +] +local_headers = [ + 'gtools.h', 'gutils.h', 'naugroup.h', 'naugstrings.h', 'naurng.h', 'nausparse.h', 'nautaux.h', 'nautinv.h', + 'naututil.h', 'nautycliquer.h', 'nauty.h', 'planarity.h', 'quarticirred28.h', 'schreier.h', 'traces.h' +] +local_libs = ['nauty%s.a' % l for l in ['', '1', 'L', 'L1', 'W', 'W1']] + +# Configure and enable thread-local variables +prebuildopts = "./configure --enable-tls && " + +runtest = "checks" + +files_to_copy = [ + (local_executables, "bin"), + (local_headers, "include/%(name)s"), + (local_libs, "lib"), +] + +# prepend "lib" to library files to standarize their name +postinstallcmds = ["cd %%(installdir)s/lib/ && mv %s lib%s" % (l, l) for l in local_libs] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables] + + ['include/%%(name)s/%s' % h for h in local_headers] + + ['lib/lib%s' % l for l in local_libs], + 'dirs': [''] +} + +sanity_check_commands = ["dreadnaut --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb b/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb new file mode 100644 index 00000000000..66a269da4e9 --- /dev/null +++ b/easybuild/easyconfigs/n/nauty/nauty-2.8.8-GCC-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'MakeCp' + +name = 'nauty' +version = '2.8.8' + +homepage = 'https://pallini.di.uniroma1.it/' +description = """nauty and Traces are programs for computing automorphism groups of graphs and +digraphs. They can also produce a canonical label.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://pallini.di.uniroma1.it'] +sources = ['nauty%s.tar.gz' % version.replace('.', '_')] +checksums = ['159d2156810a6bb240410cd61eb641add85088d9f15c888cdaa37b8681f929ce'] + +local_executables = [ + 'addedgeg', 'amtog', 'assembleg', 'biplabg', 'catg', 'complg', 'converseg', 'copyg', 'countg', 'cubhamg', + 'deledgeg', 'delptg', 'directg', 'dreadnaut', 'dretodot', 'dretog', 'edgetransg', 'genbg', 'genbgL', 'geng', + 'gengL', 'genquarticg', 'genrang', 'genspecialg', 'gentourng', 'gentreeg', 'hamheuristic', 'labelg', 'linegraphg', + 'listg', 'multig', 'newedgeg', 'NRswitchg', 'pickg', 'planarg', 'ranlabg', 'shortg', 'showg', 'subdivideg', + 'twohamg', 'underlyingg', 'vcolg', 'watercluster2' +] +local_headers = [ + 'gtools.h', 'gutils.h', 'naugroup.h', 'naugstrings.h', 'naurng.h', 'nausparse.h', 'nautaux.h', 'nautinv.h', + 'naututil.h', 'nautycliquer.h', 'nauty.h', 'planarity.h', 'quarticirred28.h', 'schreier.h', 'traces.h' +] +local_libs = ['nauty%s.a' % l for l in ['', '1', 'L', 'L1', 'W', 'W1']] + +# Configure and enable thread-local variables +prebuildopts = "./configure --enable-tls && " + +runtest = "checks" + +files_to_copy = [ + (local_executables, "bin"), + (local_headers, "include/%(name)s"), + (local_libs, "lib"), +] + +# prepend "lib" to library files to standarize their name +postinstallcmds = ["cd %%(installdir)s/lib/ && mv %s lib%s" % (l, l) for l in local_libs] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables] + + ['include/%%(name)s/%s' % h for h in local_headers] + + ['lib/lib%s' % l for l in local_libs], + 'dirs': [''] +} + +sanity_check_commands = ["dreadnaut --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ba066826463 --- /dev/null +++ b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonPackage' + +name = 'nbclassic' +version = "1.0.0" + +homepage = 'https://jupyter.org/' +description = """NbClassic provides a backwards compatible Jupyter Notebook interface + that you can install side-by-side with the latest versions: That way, you can fearlessly + upgrade without worrying about your classic extensions and customizations breaking.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.1.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('jupyter-server', '2.7.2'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['nbclassic-1.0.0_fix_setup_version.patch'] +checksums = [ + {'nbclassic-1.0.0.tar.gz': '0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'}, + {'nbclassic-1.0.0_fix_setup_version.patch': 'c26d91ac1d0cea2b361b2619076acdaf5fcd5ff2363d9e5f5e1bd737b4b50736'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +local_binaries = [ + 'jupyter-nbclassic', + 'jupyter-nbclassic-bundlerextension', + 'jupyter-nbclassic-extension', + 'jupyter-nbclassic-serverextension', +] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ['jupyter nbclassic --help'] + +modextrapaths = { + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..26033ffa7ec --- /dev/null +++ b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonPackage' + +name = 'nbclassic' +version = "1.0.0" + +homepage = 'https://jupyter.org/' +description = """NbClassic provides a backwards compatible Jupyter Notebook interface + that you can install side-by-side with the latest versions: That way, you can fearlessly + upgrade without worrying about your classic extensions and customizations breaking.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.3.1'), +] +dependencies = [ + ('Python', '3.11.5'), + ('jupyter-server', '2.14.0'), +] + +sources = [SOURCE_TAR_GZ] +patches = ['nbclassic-1.0.0_fix_setup_version.patch'] +checksums = [ + {'nbclassic-1.0.0.tar.gz': '0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3'}, + {'nbclassic-1.0.0_fix_setup_version.patch': 'c26d91ac1d0cea2b361b2619076acdaf5fcd5ff2363d9e5f5e1bd737b4b50736'}, +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +local_binaries = [ + 'jupyter-nbclassic', + 'jupyter-nbclassic-bundlerextension', + 'jupyter-nbclassic-extension', + 'jupyter-nbclassic-serverextension', +] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': [], +} + +sanity_check_commands = ['jupyter nbclassic --help'] + +modextrapaths = { + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', + 'JUPYTER_PATH': 'share/jupyter', +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0_fix_setup_version.patch b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0_fix_setup_version.patch new file mode 100644 index 00000000000..901d376a854 --- /dev/null +++ b/easybuild/easyconfigs/n/nbclassic/nbclassic-1.0.0_fix_setup_version.patch @@ -0,0 +1,11 @@ +diff -Nru nbclassic-1.0.0.orig/setup.cfg nbclassic-1.0.0/setup.cfg +--- nbclassic-1.0.0.orig/setup.cfg 2023-08-18 19:14:00.310355968 +0200 ++++ nbclassic-1.0.0/setup.cfg 2023-08-18 19:14:37.547459988 +0200 +@@ -1,6 +1,6 @@ + [metadata] + name = nbclassic +-version = attr: nbclassic.__version__ ++version = 1.0.0 + description = Jupyter Notebook as a Jupyter Server extension. + long_description = file: README.md + long_description_content_type = text/markdown diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb new file mode 100644 index 00000000000..aa5ea3306c4 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.10.9-gompi-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'ncbi-vdb' +version = '2.10.9' + +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': '2021a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch'] +checksums = [ + '3707f81412dbf6ce2b29d3e65e364116c86acc534543e5a084cf8a666b81960d', # ncbi-vdb-2.10.9.tar.gz + 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133', # ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch +] + +builddependencies = [('Perl', '5.32.1')] + +dependencies = [ + ('NGS', '2.10.9'), + ('file', '5.40'), # provides libmagic + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('bzip2', '1.0.8'), +] + +# add addtional libraries needed to statically link HDF5 from EB +preconfigopts = "sed -i 's/-lhdf5 -Wl,-Bdynamic/-lhdf5 -Wl,-Bdynamic -lmpi -lsz/' setup/konfigure.perl &&" + +configopts = "--build-prefix=%(builddir)s " # change default build directory +configopts += "--with-ngs-sdk-prefix=$EBROOTNGS --with-ngs-java-prefix=$EBROOTNGS/jar/ngs-java.jar " +configopts += "--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2" + +# replace hardcoded optimization flags with EB settings +prebuildopts = "find build/ -name \"Makefile*\" -exec sed -i 's/-O3/$(EBFLAGS)/g' {} + && EBFLAGS=\"$CFLAGS\" " +preinstallopts = 'EBFLAGS="$CFLAGS" ' + +sanity_check_paths = { + 'files': ['include/ncbi-vdb/NGS.hpp', ('lib/libncbi-ngs-c++.a', 'lib64/libncbi-ngs-c++.a')] + + [('lib/libncbi-%s.%s' % (l, e), 'lib64/libncbi-%s.%s' % (l, e)) + for l in ['vdb', 'wvdb'] for e in ['a', SHLIB_EXT]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.11.2-gompi-2021b.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.11.2-gompi-2021b.eb new file mode 100644 index 00000000000..e35c9eed526 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-2.11.2-gompi-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'ncbi-vdb' +version = '2.11.2' + +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': '2021b'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch', + 'ncbi-vdb-cstdlib.patch', + 'ncbi-vdb-3.0.0_hdf5_api.patch', +] +checksums = [ + {'ncbi-vdb-2.11.2.tar.gz': '647efea2762d63dee6d3e462b1fed2ae6d0f2cf1adb0da583ac95f3ee073abdf'}, + {'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch': 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133'}, + {'ncbi-vdb-cstdlib.patch': 'db3d563262ca9b14e7b9a94a0be6683a9eef41a498c9c064aa05c2a6785f1655'}, + {'ncbi-vdb-3.0.0_hdf5_api.patch': '34bdad822248118a011b5106fe5b5efaa068c19b66ed10f949a9c0b07a79de8b'}, +] + +builddependencies = [ + ('Perl', '5.34.0', '-minimal'), + ('Python', '3.9.6', '-bare'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('NGS', '2.11.2'), + ('file', '5.41'), # provides libmagic + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('bzip2', '1.0.8'), +] + +# add addtional libraries needed to statically link HDF5 from EB +preconfigopts = "sed -i 's/-lhdf5 -Wl,-Bdynamic/-lhdf5 -Wl,-Bdynamic -lmpi -lsz/' setup/konfigure.perl &&" + +configopts = "--build-prefix=%(builddir)s " # change default build directory +configopts += "--with-ngs-sdk-prefix=$EBROOTNGS --with-ngs-java-prefix=$EBROOTNGS/jar/ngs-java.jar " +configopts += "--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2" + +# replace hardcoded optimization flags with EB settings +prebuildopts = "find build/ -name \"Makefile*\" -exec sed -i 's/-O3/$(EBFLAGS)/g' {} + && EBFLAGS=\"$CFLAGS\" " +preinstallopts = 'EBFLAGS="$CFLAGS" ' + +sanity_check_paths = { + 'files': ['include/ncbi-vdb/NGS.hpp', ('lib/libncbi-ngs-c++.a', 'lib64/libncbi-ngs-c++.a')] + + [('lib/libncbi-%s.%s' % (k, e), 'lib64/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/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb new file mode 100644 index 00000000000..2809be90fa4 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2021b.eb @@ -0,0 +1,49 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.0' + +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': '2021b'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch', + 'ncbi-vdb-cstdlib.patch', + 'ncbi-vdb-3.0.0_hdf5_api.patch', +] +checksums = [ + {'ncbi-vdb-3.0.0.tar.gz': '154317ef265104861fe8d3d2e439939ae98f33b1e28da3c45f32ae8534dbfad7'}, + {'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch': 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133'}, + {'ncbi-vdb-cstdlib.patch': 'db3d563262ca9b14e7b9a94a0be6683a9eef41a498c9c064aa05c2a6785f1655'}, + {'ncbi-vdb-3.0.0_hdf5_api.patch': '34bdad822248118a011b5106fe5b5efaa068c19b66ed10f949a9c0b07a79de8b'}, +] + +builddependencies = [ + ('Perl', '5.34.0', '-minimal'), + ('Python', '3.9.6', '-bare'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('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/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb new file mode 100644 index 00000000000..e9b2be16570 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0-gompi-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.0' + +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': '2022a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch', + 'ncbi-vdb-cstdlib.patch', + 'ncbi-vdb-3.0.0_hdf5_api.patch', +] +checksums = [ + {'ncbi-vdb-3.0.0.tar.gz': '154317ef265104861fe8d3d2e439939ae98f33b1e28da3c45f32ae8534dbfad7'}, + {'ncbi-vdb-2.10.7_fix-LD_LIBRARY_PATH.patch': 'e8f22dbd0c2e564e296bafdf76ba0e0e2da0d13e22be5aaf322135e5f26eb133'}, + {'ncbi-vdb-cstdlib.patch': 'db3d563262ca9b14e7b9a94a0be6683a9eef41a498c9c064aa05c2a6785f1655'}, + {'ncbi-vdb-3.0.0_hdf5_api.patch': '34bdad822248118a011b5106fe5b5efaa068c19b66ed10f949a9c0b07a79de8b'}, +] + +builddependencies = [ + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('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/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch new file mode 100644 index 00000000000..e3e7aaa68b9 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.0_hdf5_api.patch @@ -0,0 +1,13 @@ +ensuring compatibility with the newest hdf5 version +diff -ruN ncbi-vdb-3.0.0_orig/libs/hdf5/hdf5dir.c ncbi-vdb-3.0.0/libs/hdf5/hdf5dir.c +--- ncbi-vdb-3.0.0_orig/libs/hdf5/hdf5dir.c 2022-11-11 11:55:46.455701000 +0100 ++++ ncbi-vdb-3.0.0/libs/hdf5/hdf5dir.c 2022-11-11 11:58:33.079945000 +0100 +@@ -26,7 +26,7 @@ + + typedef struct HDF5Dir HDF5Dir; + #define KDIR_IMPL HDF5Dir +- ++#define H5_USE_18_API + #define H5Gopen_vers 2 + #define H5Eset_auto_vers 2 + \ No newline at end of file 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/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb new file mode 100644 index 00000000000..8144240a86c --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.2-gompi-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.2' + +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': '2022a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['275ccb225ddb156688c8c71f772f73276cb18ebff773a51150f86f8002ed2d59'] + +builddependencies = [ + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('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/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2021a.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2021a.eb new file mode 100644 index 00000000000..e1590e7094e --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2021a.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.5' + +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': '2021a'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['a32672d7f76507a77ceb29f023855eaf5bf4d150ddd21b55c013b499f3b83735'] + +builddependencies = [ + ('Perl', '5.32.1', '-minimal'), + ('Python', '3.9.5', '-bare'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('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/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2022b.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2022b.eb new file mode 100644 index 00000000000..05f1f30ef7d --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.0.5-gompi-2022b.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.0.5' + +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': '2022b'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['a32672d7f76507a77ceb29f023855eaf5bf4d150ddd21b55c013b499f3b83735'] + +builddependencies = [ + ('Perl', '5.36.0', '-minimal'), + ('Python', '3.10.8', '-bare'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('libxml2', '2.10.3'), + ('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/ncbi-vdb/ncbi-vdb-3.1.1-gompi-2023b.eb b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.1.1-gompi-2023b.eb new file mode 100644 index 00000000000..a7b4d99b54d --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-3.1.1-gompi-2023b.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ncbi-vdb' +version = '3.1.1' + +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': '2023b'} + +github_account = 'ncbi' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['e9766f259853c696be48e289b08cb5ae6e198d82d7ffee79f09ce7f720487991'] + +builddependencies = [ + ('Perl', '5.38.0'), + ('Python', '3.11.5'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('HDF5', '1.14.3'), + ('libxml2', '2.11.5'), + ('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/ncbi-vdb/ncbi-vdb-cstdlib.patch b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-cstdlib.patch new file mode 100644 index 00000000000..0b796a73c06 --- /dev/null +++ b/easybuild/easyconfigs/n/ncbi-vdb/ncbi-vdb-cstdlib.patch @@ -0,0 +1,14 @@ +Adding missing cstdlib +J. Sassmannshausen +diff --git a/ncbi-vdb-2.11.2.orig/vdb3/platform/memory/PrimordialMemoryMgr.cpp b/ncbi-vdb-2.11.2/vdb3/platform/memory/PrimordialMemoryMgr.cpp +index e53c791..05db314 100644 +--- a/ncbi-vdb-2.11.2.orig/vdb3/platform/memory/PrimordialMemoryMgr.cpp ++++ b/ncbi-vdb-2.11.2/vdb3/platform/memory/PrimordialMemoryMgr.cpp +@@ -24,6 +24,7 @@ + * + */ + ++#include + #include + + #include diff --git a/easybuild/easyconfigs/n/ncdf4/ncdf4-1.17-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/n/ncdf4/ncdf4-1.17-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..8a4f0dec1a2 --- /dev/null +++ b/easybuild/easyconfigs/n/ncdf4/ncdf4-1.17-foss-2021a-R-4.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'ncdf4' +version = '1.17' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/%(name)s' +description = "ncdf4: Interface to Unidata netCDF (version 4 or earlier) format data files" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['db95c4729d3187d1a56dfd019958216f442be6221bd15e23cd597e6129219af6'] + +dependencies = [ + ('R', '4.1.0'), + ('netCDF', '4.8.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['ncdf4'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-10.3.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-10.3.0.eb new file mode 100644 index 00000000000..3ed4021b2c5 --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.16' + +homepage = 'https://dev.yorhel.nl/ncdu' +description = """Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a + remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular + desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like + environment with ncurses installed.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4'] + +dependencies = [('ncurses', '6.2')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-11.2.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-11.2.0.eb new file mode 100644 index 00000000000..69cc9a48230 --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.16-GCC-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.16' + +homepage = 'https://dev.yorhel.nl/ncdu' +description = """Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a + remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular + desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like + environment with ncurses installed.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['2b915752a183fae014b5e5b1f0a135b4b408de7488c716e325217c2513980fd4'] + +dependencies = [('ncurses', '6.2')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/ncdu/ncdu-1.17-GCC-11.3.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.17-GCC-11.3.0.eb new file mode 100644 index 00000000000..c3f1012fa69 --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.17-GCC-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.17' + +homepage = 'https://dev.yorhel.nl/ncdu' +description = """Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a + remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular + desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like + environment with ncurses installed.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['810745a8ed1ab3788c87d3aea4cc1a14edf6ee226f764bcc383e024ba56adbf1'] + +dependencies = [('ncurses', '6.3')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/ncdu/ncdu-1.18-GCC-12.3.0.eb b/easybuild/easyconfigs/n/ncdu/ncdu-1.18-GCC-12.3.0.eb new file mode 100644 index 00000000000..27ea3636bc9 --- /dev/null +++ b/easybuild/easyconfigs/n/ncdu/ncdu-1.18-GCC-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'ncdu' +version = '1.18' + +homepage = 'https://dev.yorhel.nl/ncdu' +description = """Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a + remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular + desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like + environment with ncurses installed.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://dev.yorhel.nl/download/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3c37a1a96580c9c5d2cc352dc3c5eef0d909158c05f1cc29db4712544c8b9f95'] + +dependencies = [('ncurses', '6.4')] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb deleted file mode 100644 index 51cd62e4229..00000000000 --- a/easybuild/easyconfigs/n/ncl/ncl-2.1.18-GCC-8.2.0-2.31.1.eb +++ /dev/null @@ -1,26 +0,0 @@ -easyblock = 'ConfigureMake' - -name = 'ncl' -version = '2.1.18' - -homepage = 'http://ncl.sourceforge.net/' -description = """The NEXUS Class Library is a C++ library for parsing NEXUS files.""" - -toolchain = {'name': 'GCC', 'version': '8.2.0-2.31.1'} -toolchainopts = {'pic': True} - -source_urls = [SOURCEFORGE_SOURCE] -sources = [SOURCE_TAR_GZ] -checksums = ['6e792ede614f6969a0cd342fea1505b4ea3e3e4c0f50a1c0c16a3af67bfe9737'] - -builddependencies = [('Autotools', '20180311')] - -preconfigopts = 'CPPFLAGS=-DNCL_CONST_FUNCS ' - -sanity_check_paths = { - 'files': ["bin/%s" % local_binfile for local_binfile in ["NCLconverter", "NEXUSnormalizer", "NEXUSvalidator"]] + - ["lib/%(name)s/lib%(name)s.so"], - 'dirs': [], -} - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncolor/ncolor-1.2.1-foss-2022a.eb b/easybuild/easyconfigs/n/ncolor/ncolor-1.2.1-foss-2022a.eb new file mode 100644 index 00000000000..86780d544e4 --- /dev/null +++ b/easybuild/easyconfigs/n/ncolor/ncolor-1.2.1-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'ncolor' +version = '1.2.1' + +homepage = 'https://github.com/kevinjohncutler/ncolor' +description = """Fast remapping of instance labels 1,2,3,...,M to +a smaller set of repeating, disjoint labels, 1,2,...,N.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# also requires pbr, which is an extension in Python already +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), + ('mahotas', '1.4.13'), + ('scikit-image', '0.19.3'), +] + +exts_list = [ + ('edt', '2.3.1', { + 'checksums': ['3696e1f7de482465af731a734a31b261a8852df8d583118f1b223d61764e063f'], + }), + ('fastremap', '1.13.5', { + 'preinstallopts': "export PBR_VERSION=1.2.3 && ", + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/seung-lab/fastremap/archive/'], + 'checksums': ['ee0e9e798e9f331b7c46e98768735a42bb6e287b3aa56c31c322ba585f4036b7'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/numpy>=1.22.4/numpy>=1.22.3/g' setup.py && ", + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['f05bfc75b8f1ea3ba9ee61c353e13146064bd63503a1655accee00a602ae2797'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb b/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb index 71d76d1c6a4..18dd57e1d6e 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-5.9.eb @@ -26,20 +26,31 @@ checksums = [ # need to use -P preprocessor option for recent GCC versions (cfr. https://gcc.gnu.org/gcc-5/porting_to.html) preconfigopts = "export CPPFLAGS='-P' && " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " configopts = [ - # default build - '--with-shared --enable-overwrite', - # the UTF-8 enabled version (ncursesw) - '--with-shared --enable-overwrite --enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/' + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -local_libs = ["form", "menu", "ncurses", "panel"] +# 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"' + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses5-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.so' % (x, y) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb index 6d21e403d3d..6c66d5c6938 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb @@ -18,11 +18,11 @@ checksums = [ 'f82003be6ce6b87c3dc8a91d97785aab1a76a9e8544c3a3c02283c01dd41aede', # ncurses-6.0_gcc-5.patch ] -local_common_configopts = "--with-shared --enable-overwrite --without-ada " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] @@ -30,19 +30,19 @@ configopts = [ # we need to add -fPIC, but should also include -O* option to avoid compiling with -O0 (default for GCC) buildopts = 'CFLAGS="-O2 -fPIC"' -# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS -postinstallcmds = [ - "ln -s %(installdir)s/lib/libncurses.so %(installdir)s/lib/libtinfo.so", - "ln -s %(installdir)s/lib/libncurses.a %(installdir)s/lib/libtinfo.a" -] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] -local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-6.4.0.eb index ff37c7f6918..93a437fad05 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-6.4.0.eb @@ -31,6 +31,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.2.0.eb index 8c1a19f160b..7fc906c280e 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.2.0.eb @@ -31,6 +31,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.3.0.eb index 93201754b8f..2f48f5d2ebc 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-7.3.0.eb @@ -31,6 +31,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.2.0.eb index 2840ef6bd35..fbdcb82ccda 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.2.0.eb @@ -31,6 +31,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.3.0.eb index b86f5af72f8..eb7ec1bd18e 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1-GCCcore-8.3.0.eb @@ -29,6 +29,12 @@ configopts = [ local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] +# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS +postinstallcmds = [ + "(cd %(installdir)s/lib && ln -s libncurses.so libtinfo.so)", + "(cd %(installdir)s/lib && ln -s libncurses.a libtinfo.a)" +] + local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb index 4f72ab2ce53..85438274955 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.1.eb @@ -14,31 +14,31 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17'] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 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"' -# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS -postinstallcmds = [ - "ln -s %(installdir)s/lib/libncurses.so %(installdir)s/lib/libtinfo.so", - "ln -s %(installdir)s/lib/libncurses.a %(installdir)s/lib/libtinfo.a" -] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] -local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.2.0.eb index a3839f21819..2ef2ac3431c 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.2.0.eb @@ -20,21 +20,27 @@ checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] builddependencies = [('binutils', '2.35')] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -local_libs = ["form", "menu", "ncurses", "panel"] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.3.0.eb index 5d3035e81f4..3608131b4d7 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-10.3.0.eb @@ -20,21 +20,27 @@ checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] builddependencies = [('binutils', '2.36.1')] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -local_libs = ["form", "menu", "ncurses", "panel"] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8c1f8604b30 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.2' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] + +builddependencies = [('binutils', '2.37')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-9.3.0.eb index d1e45e0229f..cee6bdc8b98 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-9.3.0.eb @@ -20,21 +20,27 @@ checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] builddependencies = [('binutils', '2.34')] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", ] -local_libs = ["form", "menu", "ncurses", "panel"] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb index 83b361eff08..14b48372eed 100644 --- a/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.2.eb @@ -14,31 +14,31 @@ source_urls = [GNU_SOURCE] sources = [SOURCE_TAR_GZ] checksums = ['30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d'] -local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks " +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " configopts = [ - # default build + # build ncurses: serial build in default paths with shared libraries local_common_configopts, - # the UTF-8 enabled version (ncursesw) + # build ncursesw: serial with UTF-8 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"' -# Symlink libtinfo to libncurses (since it can handle the API) so it doesn't get picked up from the OS -postinstallcmds = [ - "ln -s %(installdir)s/lib/libncurses.so %(installdir)s/lib/libtinfo.so", - "ln -s %(installdir)s/lib/libncurses.a %(installdir)s/lib/libtinfo.a" -] +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] -local_libs = ["form", "menu", "ncurses", "panel"] sanity_check_paths = { 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", "reset", "tabs", "tic", "toe", "tput", "tset"]] + - ['lib/lib%s%s.a' % (x, y) for x in local_libs for y in ['', '_g', 'w', 'w_g']] + - ['lib/lib%s%s.%s' % (x, y, SHLIB_EXT) for x in local_libs for y in ['', 'w']] + - ['lib/libncurses++%s.a' % x for x in ['', 'w']], + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], 'dirs': ['include', 'include/ncursesw'], } diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..232a2cfedab --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.3' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059'] + +builddependencies = [('binutils', '2.38')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.1.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..4b9fc292bde --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.1.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.3' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059'] + +builddependencies = [('binutils', '2.38')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..6e0cca39d81 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.3' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059'] + +builddependencies = [('binutils', '2.39')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb new file mode 100644 index 00000000000..83969aa9fa5 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.3.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.3' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059'] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# 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"' + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..868596ebe86 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.4' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5') +] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..40a35192762 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.1.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.4' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.4'), +] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4c46e083143 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.4' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb new file mode 100644 index 00000000000..a5d4b191e8a --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.4' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# 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"' + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..c34643c0b37 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +local_common_configopts += "--enable-pc-files --with-pkg-config-libdir=%(installdir)s/lib/pkgconfig " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] +_pc_names = ['form', 'menu', 'ncurses++', 'ncurses', 'panel'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix] + + ['lib/pkgconfig/%s%s.pc' % (x, y) for x in _pc_names for y in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb new file mode 100644 index 00000000000..a3ff51a30fc --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.5.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.5' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6'] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts + "--disable-widec", + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# 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"' + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021a.eb b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021a.eb new file mode 100644 index 00000000000..2b6bf793532 --- /dev/null +++ b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021a.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +## +easyblock = 'ConfigureMake' + +name = 'ncview' +version = '2.1.8' + +homepage = 'http://meteora.ucsd.edu/~pierce/ncview_home_page.html' +description = """Ncview is a visual browser for netCDF format files. +Typically you would use ncview to get a quick and easy, push-button +look at your netCDF files. You can view simple movies of the data, +view along various dimensions, take a look at the actual data values, +change color maps, invert the data, etc.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['ftp://cirrus.ucsd.edu/pub/ncview/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be'] + +# specified compiler is hard checked against (full path to) compiler used for netCDF... +preconfigopts = "CC=$(which $CC) " +configopts = "--with-udunits2_incdir=$EBROOTUDUNITS/include --with-udunits2_libdir=$EBROOTUDUNITS/lib " +configopts += "--with-nc-config=$EBROOTNETCDF/bin/nc-config" + +dependencies = [ + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('UDUNITS', '2.2.28'), + ('X11', '20210518'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/ncview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021b.eb b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021b.eb new file mode 100644 index 00000000000..e4a7de064e3 --- /dev/null +++ b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2021b.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +## +easyblock = 'ConfigureMake' + +name = 'ncview' +version = '2.1.8' + +homepage = 'http://meteora.ucsd.edu/~pierce/ncview_home_page.html' +description = """Ncview is a visual browser for netCDF format files. +Typically you would use ncview to get a quick and easy, push-button +look at your netCDF files. You can view simple movies of the data, +view along various dimensions, take a look at the actual data values, +change color maps, invert the data, etc.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['ftp://cirrus.ucsd.edu/pub/ncview/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be'] + +# specified compiler is hard checked against (full path to) compiler used for netCDF... +preconfigopts = "CC=$(nc-config --cc) " +configopts = "--with-udunits2_incdir=$EBROOTUDUNITS/include --with-udunits2_libdir=$EBROOTUDUNITS/lib " +configopts += "--with-nc-config=$EBROOTNETCDF/bin/nc-config" + +dependencies = [ + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('UDUNITS', '2.2.28'), + ('X11', '20210802'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/ncview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2022a.eb b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2022a.eb new file mode 100644 index 00000000000..bebf2913247 --- /dev/null +++ b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2022a.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +## +easyblock = 'ConfigureMake' + +name = 'ncview' +version = '2.1.8' + +homepage = 'http://meteora.ucsd.edu/~pierce/ncview_home_page.html' +description = """Ncview is a visual browser for netCDF format files. +Typically you would use ncview to get a quick and easy, push-button +look at your netCDF files. You can view simple movies of the data, +view along various dimensions, take a look at the actual data values, +change color maps, invert the data, etc.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['ftp://cirrus.ucsd.edu/pub/ncview/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be'] + +# specified compiler is hard checked against (full path to) compiler used for netCDF... +preconfigopts = "CC=$(nc-config --cc) " +configopts = "--with-udunits2_incdir=$EBROOTUDUNITS/include --with-udunits2_libdir=$EBROOTUDUNITS/lib " +configopts += "--with-nc-config=$EBROOTNETCDF/bin/nc-config" + +dependencies = [ + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('UDUNITS', '2.2.28'), + ('X11', '20220504'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/ncview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2023a.eb b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2023a.eb new file mode 100644 index 00000000000..95c3aa4bb22 --- /dev/null +++ b/easybuild/easyconfigs/n/ncview/ncview-2.1.8-gompi-2023a.eb @@ -0,0 +1,42 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +## +easyblock = 'ConfigureMake' + +name = 'ncview' +version = '2.1.8' + +homepage = 'http://meteora.ucsd.edu/~pierce/ncview_home_page.html' +description = """Ncview is a visual browser for netCDF format files. +Typically you would use ncview to get a quick and easy, push-button +look at your netCDF files. You can view simple movies of the data, +view along various dimensions, take a look at the actual data values, +change color maps, invert the data, etc.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['ftp://cirrus.ucsd.edu/pub/ncview/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e8badc507b9b774801288d1c2d59eb79ab31b004df4858d0674ed0d87dfc91be'] + +# specified compiler is hard checked against (full path to) compiler used for netCDF... +preconfigopts = "CC=$(nc-config --cc) " +configopts = "--with-udunits2_incdir=$EBROOTUDUNITS/include --with-udunits2_libdir=$EBROOTUDUNITS/lib " +configopts += "--with-nc-config=$EBROOTNETCDF/bin/nc-config" + +dependencies = [ + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), + ('UDUNITS', '2.2.28'), + ('X11', '20230603'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/ncview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..35d0c5778dd --- /dev/null +++ b/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'nellie' +version = '0.3.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/aelefebv/nellie/' +description = """ +Napari plugin for automated organelle segmentation, +tracking, and hierarchical feature extraction in 2D/3D live-cell microscopy. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('CUDA', '12.1.1', '', SYSTEM), + ('SciPy-bundle', '2023.07'), + ('napari', '0.4.18'), + ('scikit-image', '0.22.0'), + ('imagecodecs', '2024.1.1'), + ('matplotlib', '3.7.2'), + ('ome-types', '0.5.1.post1'), + ('CuPy', '13.0.0', versionsuffix), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = ( + "sed -i" + " -e 's/numpy==1.26.4/numpy/'" + " -e 's/scipy==1.12.0/scipy/'" + " -e 's/nd2==0.9.0/nd2/'" + " -e 's/pandas==2.2.1/pandas/'" + " -e 's/matplotlib==3.8.3/matplotlib/'" + " -e 's/napari[all]/napari/'" + " setup.cfg && " +) + +exts_list = [ + ('resource_backed_dask_array', '0.1.0', { + 'checksums': ['8fabcccf5c7e29059b5badd6786dd7675a258a203c58babf10077d9c90ada54f'], + }), + ('nd2', '0.10.1', { + 'checksums': ['88ee60f6ba39392722a162da58fb81bf0cdb8ed6c772772e4db91e90f97e490a'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['3fd85bd1c7df5a8f24bff2118805cd7c82140b08871d520b2131d4d9a8c00d94'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a.eb b/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a.eb new file mode 100644 index 00000000000..34b3ce6299a --- /dev/null +++ b/easybuild/easyconfigs/n/nellie/nellie-0.3.1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'nellie' +version = '0.3.1' + +homepage = 'https://github.com/aelefebv/nellie/' +description = """ +Napari plugin for automated organelle segmentation, +tracking, and hierarchical feature extraction in 2D/3D live-cell microscopy. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('napari', '0.4.18'), + ('scikit-image', '0.22.0'), + ('imagecodecs', '2024.1.1'), + ('matplotlib', '3.7.2'), + ('ome-types', '0.5.1.post1'), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = ( + "sed -i" + " -e 's/numpy==1.26.4/numpy/'" + " -e 's/scipy==1.12.0/scipy/'" + " -e 's/nd2==0.9.0/nd2/'" + " -e 's/pandas==2.2.1/pandas/'" + " -e 's/matplotlib==3.8.3/matplotlib/'" + " -e 's/napari[all]/napari/'" + " setup.cfg && " +) + +exts_list = [ + ('resource_backed_dask_array', '0.1.0', { + 'checksums': ['8fabcccf5c7e29059b5badd6786dd7675a258a203c58babf10077d9c90ada54f'], + }), + ('nd2', '0.10.1', { + 'checksums': ['88ee60f6ba39392722a162da58fb81bf0cdb8ed6c772772e4db91e90f97e490a'], + }), + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['3fd85bd1c7df5a8f24bff2118805cd7c82140b08871d520b2131d4d9a8c00d94'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/neptune-client/neptune-client-0.10.5-foss-2020b.eb b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.10.5-foss-2020b.eb new file mode 100644 index 00000000000..e48419cb64a --- /dev/null +++ b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.10.5-foss-2020b.eb @@ -0,0 +1,68 @@ +easyblock = 'PythonBundle' + +name = 'neptune-client' +version = '0.10.5' + +homepage = 'https://docs.neptune.ai' +description = """ +Neptune is an experiment tracking hub that brings organization and collaboration to your data science team. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('GitPython', '3.1.14'), + ('Pillow-SIMD', '7.1.2'), + ('PyYAML', '5.3.1'), +] + +use_pip = True + +exts_list = [ + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('swagger-spec-validator', '2.7.3', { + 'checksums': ['f4f23ee4dbd52bfcde90b1144dde22304add6260e9f29252e9fd7814c9b8fd16'], + }), + ('jsonref', '0.2', { + 'checksums': ['f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697'], + }), + ('typing-extensions', '3.10.0.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342'], + }), + ('bravado-core', '5.17.0', { + 'checksums': ['b3b06ae86d3c80de5694340e55df7c9097857ff965b76642979e2a961f332abf'], + }), + ('bravado', '11.0.3', { + 'checksums': ['1bb6ef75d84140c851fffe6420baaee5037d840070cfe11d60913be6ab8e0530'], + }), + ('PyJWT', '2.1.0', { + 'modulename': 'jwt', + 'checksums': ['fba44e7898bbca160a2b2b501f492824fc8382485d3a6f11ba5d0c1937ce6130'], + }), + ('blinker', '1.4', { + 'checksums': ['471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('websocket-client', '0.59.0', { + 'modulename': 'websocket', + 'checksums': ['d376bd60eace9d437ab6d7ee16f4ab4e821c9dae591e1b783c58ebd8aaf80c5c'], + }), + (name, version, { + 'modulename': 'neptune', + 'checksums': ['cb534c0db8e9fc6c6f1f578943ce76fd46d16fb42c6fbc2e2fa2e92b5125ef5e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2021a.eb b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2021a.eb new file mode 100644 index 00000000000..a46592bd95a --- /dev/null +++ b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'neptune-client' +version = '0.16.2' + +homepage = 'https://docs.neptune.ai' +description = """ +Neptune is an experiment tracking hub that brings organization and collaboration to your data science team. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('GitPython', '3.1.18'), + ('Pillow-SIMD', '8.2.0'), + ('PyYAML', '5.4.1'), + ('typing-extensions', '3.10.0.0'), + ('boto3', '1.20.13'), +] + +use_pip = True + +exts_list = [ + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('swagger-spec-validator', '2.7.4', { + 'checksums': ['2aee5e1fc0503be9f8299378b10c92169572781573c6de3315e831fd0559ba73'], + }), + ('jsonref', '0.2', { + 'checksums': ['f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697'], + }), + ('bravado-core', '5.17.0', { + 'checksums': ['b3b06ae86d3c80de5694340e55df7c9097857ff965b76642979e2a961f332abf'], + }), + ('bravado', '11.0.3', { + 'checksums': ['1bb6ef75d84140c851fffe6420baaee5037d840070cfe11d60913be6ab8e0530'], + }), + ('PyJWT', '2.3.0', { + 'modulename': 'jwt', + 'checksums': ['b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41'], + }), + ('blinker', '1.4', { + 'checksums': ['471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('websocket-client', '0.59.0', { + 'modulename': 'websocket', + 'checksums': ['d376bd60eace9d437ab6d7ee16f4ab4e821c9dae591e1b783c58ebd8aaf80c5c'], + }), + (name, version, { + 'modulename': 'neptune', + 'checksums': ['7e5e0261f3ce486f45e3272c5b5e3d563f0765a921bcda159b002e70175a553b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb new file mode 100644 index 00000000000..5914ef4527a --- /dev/null +++ b/easybuild/easyconfigs/n/neptune-client/neptune-client-0.16.2-foss-2022a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'neptune-client' +version = '0.16.2' + +homepage = 'https://docs.neptune.ai' +description = """ +Neptune is an experiment tracking hub that brings organization and collaboration to your data science team. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GitPython', '3.1.27'), + ('Pillow-SIMD', '9.2.0'), + ('PyYAML', '6.0'), + ('typing-extensions', '4.3.0'), + ('boto3', '1.26.37'), +] + +use_pip = True + +exts_list = [ + ('monotonic', '1.6', { + 'checksums': ['3a55207bcfed53ddd5c5bae174524062935efed17792e9de2ad0205ce9ad63f7'], + }), + ('swagger-spec-validator', '3.0.3', { + 'checksums': ['16a5ce08c772824a77b1a4a05efc047d72eef1ed53fb969dfe0a18f437ac30a8'], + }), + ('jsonref', '0.2', { + 'checksums': ['f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697'], + }), + ('bravado-core', '5.17.1', { + 'checksums': ['0da9c6f3814734622a55db3f62d08db6e188b25f3ebd087de370c91afb66a7f4'], + }), + ('bravado', '11.0.3', { + 'checksums': ['1bb6ef75d84140c851fffe6420baaee5037d840070cfe11d60913be6ab8e0530'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('blinker', '1.5', { + 'checksums': ['923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + (name, version, { + 'modulename': 'neptune', + 'checksums': ['7e5e0261f3ce486f45e3272c5b5e3d563f0765a921bcda159b002e70175a553b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2021a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2021a.eb new file mode 100644 index 00000000000..c64526eb80a --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2021a.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': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.0')] + +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-gompi-2021b.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2021b.eb new file mode 100644 index 00000000000..c98c231989d --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2021b.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': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.1')] + +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-gompi-2022a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2022a.eb new file mode 100644 index 00000000000..50ed6850d0a --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2022a.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': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.9.0')] + +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-gompi-2023a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2023a.eb new file mode 100644 index 00000000000..a839a82850d --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-gompi-2023a.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': '2023a'} +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-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-2021a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2021a.eb new file mode 100644 index 00000000000..73c1e9448c3 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2021a.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': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.0')] + +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-2021b.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2021b.eb new file mode 100644 index 00000000000..b0096d31395 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2021b.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': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.8.1')] + +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-2022a.eb b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2022a.eb new file mode 100644 index 00000000000..df12f9d9a90 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-C++4/netCDF-C++4-4.3.1-iimpi-2022a.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': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-cxx4/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e3fe3d2ec06c1c2772555bf1208d220aab5fee186d04bd265219b0bc7a978edc'] + +dependencies = [('netCDF', '4.9.0')] + +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.5.3-gompi-2021b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.5.3-gompi-2021b.eb new file mode 100644 index 00000000000..f0c5a8e0013 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.5.3-gompi-2021b.eb @@ -0,0 +1,25 @@ +name = 'netCDF-Fortran' +version = '4.5.3' + +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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [('netCDF', '4.8.1')] + +# (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.5.3-iimpi-2021b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.5.3-iimpi-2021b.eb new file mode 100644 index 00000000000..b0c1595a33c --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.5.3-iimpi-2021b.eb @@ -0,0 +1,25 @@ +name = 'netCDF-Fortran' +version = '4.5.3' + +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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c6da30c2fe7e4e614c1dff4124e857afbd45355c6798353eccfa60c0702b495a'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [('netCDF', '4.8.1')] + +# (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.0-gompi-2022a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022a.eb new file mode 100644 index 00000000000..062e4b796af --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022a.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.0'), + ('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.0-gompi-2022b.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb new file mode 100644 index 00000000000..e7d505dc509 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.0'), + ('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.0-iimpi-2022a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-iimpi-2022a.eb new file mode 100644 index 00000000000..6ccd8e61271 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.0-iimpi-2022a.eb @@ -0,0 +1,28 @@ +name = 'netCDF-Fortran' +version = '4.6.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-fortran/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8194aa70e400c0adfc456127c1d97af2c6489207171d13b10cd754a16da8b0ca'] + +builddependencies = [ + ('M4', '1.4.19'), +] + +dependencies = [ + ('netCDF', '4.9.0'), + ('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-gompi-2023a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2023a.eb new file mode 100644 index 00000000000..179a3bfa0d5 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2023a.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': '2023a'} +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-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-2023a.eb b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023a.eb new file mode 100644 index 00000000000..30505ae9f4c --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.6.1-iimpi-2023a.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': '2023a'} +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.7.4-iompi-2020a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.7.4-iompi-2020a.eb new file mode 100644 index 00000000000..6ac63c3f2f3 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.7.4-iompi-2020a.eb @@ -0,0 +1,34 @@ +name = 'netCDF' +version = '4.7.4' + +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': 'iompi', 'version': '2020a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['99930ad7b3c4c1a8e8831fb061cb02b2170fc8e5ccaeda733bd99c3b9d31666b'] + +builddependencies = [ + ('Autotools', '20180311'), + ('CMake', '3.16.4'), + ('Doxygen', '1.8.17'), +] + +dependencies = [ + ('HDF5', '1.10.6'), + ('cURL', '7.69.1'), + ('Szip', '2.1.1'), +] + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF ", + "-DBUILD_SHARED_LIBS=ON ", +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-gompi-2021b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-gompi-2021b.eb new file mode 100644 index 00000000000..656a6abbb98 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-gompi-2021b.eb @@ -0,0 +1,37 @@ +name = 'netCDF' +version = '4.8.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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0'] + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.21.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('cURL', '7.78.0'), + ('Szip', '2.1.1'), +] + +# HDF5 version detection is missed in netCDF 4.8.1 when HDF5_C_LIBRARY, HDF5_INCLUDE_DIR, and HDF5_HL_LIBRARY are set +local_hdf5_version_fix = '-DHDF5_VERSION=$EBVERSIONHDF5' + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF %s " % local_hdf5_version_fix, + "-DBUILD_SHARED_LIBS=ON %s " % local_hdf5_version_fix, +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-iimpi-2021b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-iimpi-2021b.eb new file mode 100644 index 00000000000..b7e378fc25c --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.8.1-iimpi-2021b.eb @@ -0,0 +1,37 @@ +name = 'netCDF' +version = '4.8.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': '2021b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bc018cc30d5da402622bf76462480664c6668b55eb16ba205a0dfb8647161dd0'] + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.21.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('cURL', '7.78.0'), + ('Szip', '2.1.1'), +] + +# HDF5 version detection is missed in netCDF 4.8.1 when HDF5_C_LIBRARY, HDF5_INCLUDE_DIR, and HDF5_HL_LIBRARY are set +local_hdf5_version_fix = '-DHDF5_VERSION=$EBVERSIONHDF5' + +# make sure both static and shared libs are built +configopts = [ + "-DBUILD_SHARED_LIBS=OFF %s " % local_hdf5_version_fix, + "-DBUILD_SHARED_LIBS=ON %s " % local_hdf5_version_fix, +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb new file mode 100644 index 00000000000..6aad7ec4860 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022a.eb @@ -0,0 +1,53 @@ +name = 'netCDF' +version = '4.9.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz + 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch + '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('cURL', '7.83.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.9.13'), +] + +# 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.0-gompi-2022b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022b.eb new file mode 100644 index 00000000000..3aa763759fb --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-gompi-2022b.eb @@ -0,0 +1,61 @@ +name = 'netCDF' +version = '4.9.0' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.0.tar.gz': '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6'}, + {'netCDF-4.9.0_fix-lib-name.patch': 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a'}, + {'netCDF-4.9.0_fix-linking-errors.patch': '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('Doxygen', '1.9.5'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '7.86.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.10.3'), +] + +# 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.0-iimpi-2022a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022a.eb new file mode 100644 index 00000000000..8cec66eec5a --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022a.eb @@ -0,0 +1,53 @@ +name = 'netCDF' +version = '4.9.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz + 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch + '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('cURL', '7.83.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.9.13'), +] + +# 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.0-iimpi-2022b.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022b.eb new file mode 100644 index 00000000000..3b2300fd940 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0-iimpi-2022b.eb @@ -0,0 +1,61 @@ +name = 'netCDF' +version = '4.9.0' + +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': '2022b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + {'v4.9.0.tar.gz': '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6'}, + {'netCDF-4.9.0_fix-lib-name.patch': 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a'}, + {'netCDF-4.9.0_fix-linking-errors.patch': '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15'}, + {'netCDF-4.9.0_skip-nasa-test.patch': '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.24.3'), + ('Doxygen', '1.9.5'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '7.86.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.10.3'), +] + +# 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.0_fix-lib-name.patch b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_fix-lib-name.patch new file mode 100644 index 00000000000..9c671776913 --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_fix-lib-name.patch @@ -0,0 +1,23 @@ +From 80a6611cfca98a5979c5ac69cba56a49af8c1e48 Mon Sep 17 00:00:00 2001 +From: Yuriy Chernyshov +Date: Sun, 19 Jun 2022 19:29:20 +0300 +Subject: [PATCH] Fix typo in CMakeLists.txt + +At the time generated dynamic library is named `libnetcdf.so.19}` which looks like a typo. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7bf8641bec..18366d24ad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,7 @@ SET(NC_VERSION ${netCDF_VERSION}) + SET(PACKAGE_VERSION ${VERSION}) + + # These values should match those in configure.ac +-SET(netCDF_LIB_VERSION 19}) ++SET(netCDF_LIB_VERSION 19) + SET(netCDF_SO_VERSION 19) + + # Version of the dispatch table. This must match the value in diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch new file mode 100644 index 00000000000..a4a2ee7f88f --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch @@ -0,0 +1,99 @@ +fix "multiple definition" linking errors, +see also https://github.com/Unidata/netcdf-c/issues/2419 +author: Kenneth Hoste (HPC-UGent) + Lars Viklund (Umeå University) +--- netcdf-c-4.9.0/include/netcdf_json.h.orig 2022-06-23 08:35:33.345891769 +0200 ++++ netcdf-c-4.9.0/include/netcdf_json.h 2022-06-23 08:37:38.626339409 +0200 +@@ -57,25 +57,25 @@ + #endif + + /* Parse a JSON string */ +-DLLEXPORT int NCJparse(const char* text, unsigned flags, NCjson** jsonp); ++DLLEXPORT static int NCJparse(const char* text, unsigned flags, NCjson** jsonp); + + /* Reclaim a JSON tree */ +-DLLEXPORT extern void NCJreclaim(NCjson* json); ++DLLEXPORT static void NCJreclaim(NCjson* json); + + /* Create a new JSON node of a given sort */ +-DLLEXPORT extern int NCJnew(int sort, NCjson** objectp); ++DLLEXPORT static int NCJnew(int sort, NCjson** objectp); + + /* Create new json object with given string content */ +-DLLEXPORT extern int NCJnewstring(int sort, const char* value, NCjson** jsonp); ++DLLEXPORT static int NCJnewstring(int sort, const char* value, NCjson** jsonp); + + /* Create new json object with given counted string content */ +-DLLEXPORT extern int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp); ++DLLEXPORT static int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp); + + /* Get dict key value by name */ +-DLLEXPORT extern int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep); ++DLLEXPORT static int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep); + + /* Convert one json sort to value of another type; don't use union so we can know when to reclaim sval */ +-DLLEXPORT extern int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output); ++DLLEXPORT static int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output); + + #ifndef NETCDF_JSON_H + +@@ -230,7 +230,7 @@ + + /**************************************************/ + +-int ++static int + NCJparse(const char* text, unsigned flags, NCjson** jsonp) + { + int stat = NCJ_OK; +@@ -579,7 +579,7 @@ + + /**************************************************/ + +-void ++static void + NCJreclaim(NCjson* json) + { + if(json == NULL) return; +@@ -621,7 +621,7 @@ + /**************************************************/ + /* Build Functions */ + +-int ++static int + NCJnew(int sort, NCjson** objectp) + { + int stat = NCJ_OK; +@@ -651,13 +651,13 @@ + return NCJTHROW(stat); + } + +-int ++static int + NCJnewstring(int sort, const char* value, NCjson** jsonp) + { + return NCJTHROW(NCJnewstringn(sort,strlen(value),value,jsonp)); + } + +-int ++static int + NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp) + { + int stat = NCJ_OK; +@@ -679,7 +679,7 @@ + return NCJTHROW(stat); + } + +-int ++static int + NCJdictget(const NCjson* dict, const char* key, NCjson** valuep) + { + int i,stat = NCJ_OK; +@@ -755,7 +755,7 @@ + #endif + + /* Convert a JSON value to an equivalent value of a specified sort */ +-int ++static int + NCJcvt(const NCjson* jvalue, int outsort, struct NCJconst* output) + { + int stat = NCJ_OK; diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch new file mode 100644 index 00000000000..61bf1ffda4a --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch @@ -0,0 +1,17 @@ +The NASA performance test is skipped becuase it is very sentitive to what filesystem is used, causing timeouts. +Author: micketeer@gmail.com +--- nc_test4/run_par_test.sh.in.orig 2022-08-17 11:14:21.827283219 +0200 ++++ nc_test4/run_par_test.sh.in 2022-08-17 11:12:49.547459608 +0200 +@@ -37,9 +37,9 @@ + echo "Testing collective writes with some 0 element writes..." + @MPIEXEC@ -n 4 ./tst_parallel5 + +-echo +-echo "Parallel Performance Test for NASA" +-@MPIEXEC@ -n 4 ./tst_nc4perf ++#echo ++#echo "Parallel Performance Test for NASA" ++#@MPIEXEC@ -n 4 ./tst_nc4perf + + echo + echo "Parallel I/O test for Collective I/O, contributed by HDF Group." diff --git a/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023a.eb new file mode 100644 index 00000000000..963e509508d --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-gompi-2023a.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': '2023a'} +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.26.3'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '8.0.1'), + ('Szip', '2.1.1'), + ('zstd', '1.5.5'), + ('bzip2', '1.0.8'), + ('libxml2', '2.11.4'), +] + +# 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-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-2023a.eb b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-iimpi-2023a.eb new file mode 100644 index 00000000000..45bd14d7e4c --- /dev/null +++ b/easybuild/easyconfigs/n/netCDF/netCDF-4.9.2-iimpi-2023a.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': '2023a'} +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.26.3'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('HDF5', '1.14.0'), + ('cURL', '8.0.1'), + ('Szip', '2.1.1'), + ('zstd', '1.5.5'), + ('bzip2', '1.0.8'), + ('libxml2', '2.11.4'), +] + +# 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/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/netMHC/netMHC-4.0a.eb b/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb index 5cf8e1384e9..db306984cd5 100644 --- a/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb +++ b/easybuild/easyconfigs/n/netMHC/netMHC-4.0a.eb @@ -3,15 +3,14 @@ easyblock = 'Tarball' name = 'netMHC' version = '4.0a' -homepage = 'http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC' -description = """ NetMHC 4.0 software predicts binding of peptides to a number of different - HLA alleles using artificial neural networks (ANN). """ +homepage = 'https://www.cbs.dtu.dk/services/NetMHC/' +description = """NetMHC 4.0 predicts binding of peptides to a number of different + HLA alleles using artificial neural networks (ANN).""" toolchain = SYSTEM -# netMHC is proprietary software, but free for academcs -# see: http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC -source_urls = ['http://www.cbs.dtu.dk/services/NetMHC-4.0'] +# netMHC is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHC sources = [ { 'filename': '%(name)s-%(version)s.Linux.tar.gz', @@ -27,18 +26,21 @@ checksums = [ 'f3fb6d77ec11bc51de963e96fd75a0622f5098a2d1e37d750afa3709d5b876d1', # netMHC-4.0a-data.tar.gz ] +keepsymlinks = True + postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]NMHOME.*|setenv NMHOME \$EBROOTNETMHC|" %(installdir)s/netMHC', - 'sed -i -e "s|setenv[[:space:]]TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHC', + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHC|' %(installdir)s/netMHC", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|' %(installdir)s/netMHC", + "chmod -R +rX %(installdir)s", ] -modextrapaths = {'PATH': ''} - sanity_check_paths = { 'files': ['netMHC', 'Linux_x86_64/bin/netMHC'], - 'dirs': [], + 'dirs': ['data'], } sanity_check_commands = ['netMHC -h'] +modextrapaths = {'PATH': ''} + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb b/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb new file mode 100644 index 00000000000..0729f2f8382 --- /dev/null +++ b/easybuild/easyconfigs/n/netMHCII/netMHCII-2.3.eb @@ -0,0 +1,49 @@ +easyblock = 'Tarball' + +name = 'netMHCII' +version = '2.3' + +homepage = 'https://www.cbs.dtu.dk/services/NetMHCII/' +description = """NetMHCII 2.3 server predicts binding of peptides to HLA-DR, + HLA-DQ, HLA-DP and mouse MHC class II alleles using articial neuron networks. + Predictions can be obtained for 25 HLA-DR alleles, 20 HLA-DQ, 9 HLA-DP, and + 7 mouse H2 class II alleles.""" + +toolchain = SYSTEM + +# netMHCII is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCII +sources = [ + { + 'filename': '%(name)s-%(version)s.Linux.tar.gz', + 'extract_cmd': 'tar --strip-components=1 -xzf %s', + }, + { + 'download_filename': 'data.Linux.tar.gz', + 'filename': '%(name)s-%(version)s-data.Linux.tar.gz', + }, +] +checksums = [ + '8b184b2463b93bbcbb93a7351c6c0bae12d82c7827c451ebc5153b257dd0be86', # netMHCII-2.3.Linux.tar.gz + '6bf8af9e2e89d96b8fe9a2752164606417c4583872bdc2e81637f6668dee30a0', # netMHCII-2.3-data.Linux.tar.gz +] + +keepsymlinks = True + +postinstallcmds = [ + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHCII|' %(installdir)s/netMHCII-%(version)s", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR $TMPDIR|' %(installdir)s/netMHCII-%(version)s", + "cd %(installdir)s && ln -s netMHCII-2.3 netMHCII", + "chmod -R +rX %(installdir)s", +] + +sanity_check_paths = { + 'files': ['netMHCII-%(version)s', 'Linux_x86_64/bin/netMHCII'], + 'dirs': ['data'], +} + +sanity_check_commands = ['netMHCII-%(version)s -h'] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb b/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb index 8f7e07d18ec..ae72747c66b 100644 --- a/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/n/netMHCIIpan/netMHCIIpan-3.2-GCCcore-7.3.0.eb @@ -32,7 +32,7 @@ checksums = [ dependencies = [('Perl', '5.28.0')] postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]*NMHOME.*|setenv NMHOME \$EBROOTNETMHCIIPAN|" %(installdir)s/netMHCIIpan', + r'sed -i -e "s|setenv[[:space:]]*NMHOME.*|setenv NMHOME \$EBROOTNETMHCIIPAN|" %(installdir)s/netMHCIIpan', 'sed -i -e "s|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHCIIpan', 'sed -i -e "1i #!/usr/bin/env perl" %(installdir)s/NetMHCIIpan-%(version)s.pl', 'mkdir -p %(installdir)s/man/man1 && mv %(installdir)s/netMHCIIpan.1 %(installdir)s/man/man1/' diff --git a/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb b/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb index 7cda16cb513..1515b7f4e1a 100644 --- a/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb +++ b/easybuild/easyconfigs/n/netMHCpan/netMHCpan-4.0a.eb @@ -3,24 +3,22 @@ easyblock = 'Tarball' name = 'netMHCpan' version = '4.0a' -homepage = 'http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan' -description = """ The NetMHCpan software predicts binding of peptides to any known MHC - molecule using artificial neural networks (ANNs). """ +homepage = 'https://www.cbs.dtu.dk/services/NetMHCpan/' +description = """The NetMHCpan software predicts binding of peptides to any known MHC + molecule using artificial neural networks (ANNs).""" toolchain = SYSTEM -# netMHCpan is proprietary software, but free for academcs -# see: http://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan -source_urls = ['http://www.cbs.dtu.dk/services/NetMHCpan-4.0'] +# netMHCpan is proprietary software, but free for academics. +# It can be requested at https://www.cbs.dtu.dk/cgi-bin/nph-sw_request?netMHCpan sources = [ { 'filename': '%(name)s-%(version)s.Linux.tar.gz', - 'extract_cmd': 'tar --strip-components=1 -xzf %s && chmod -R +rX *', + 'extract_cmd': 'tar --strip-components=1 -xzf %s', }, { 'download_filename': 'data.Linux.tar.gz', 'filename': '%(name)s-%(version)s-data.Linux.tar.gz', - 'extract_cmd': 'tar -xzf %s -C Linux_x86_64 && chmod -R +rX Linux_x86_64/data' }, ] @@ -29,18 +27,21 @@ checksums = [ 'c2a4c9263af448f1a46e63f7c068194fd5bbfa0413413c741cf92d88e6a76b06', # netMHCpan-4.0a-data.Linux.tar.gz ] +keepsymlinks = True + postinstallcmds = [ - 'sed -i -e "s|setenv[[:space:]]NMHOME.*|setenv NMHOME \$EBROOTNETMHCPAN|" %(installdir)s/netMHCpan', - 'sed -i -e "s|setenv[[:space:]]TMPDIR.*|setenv TMPDIR /tmp|" %(installdir)s/netMHCpan', + "sed -i -e 's|setenv[[:space:]]NMHOME.*|setenv NMHOME $EBROOTNETMHCPAN|' %(installdir)s/netMHCpan", + "sed -i -e 's|setenv[[:space:]]*TMPDIR.*|setenv TMPDIR /tmp|' %(installdir)s/netMHCpan", + "chmod -R +rX %(installdir)s", ] -modextrapaths = {'PATH': ''} - sanity_check_paths = { 'files': ['netMHCpan', 'Linux_x86_64/bin/netMHCpan'], - 'dirs': [], + 'dirs': ['data'], } sanity_check_commands = ['netMHCpan -h'] +modextrapaths = {'PATH': ''} + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.5.1-foss-2020b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.5.1-foss-2020b.eb new file mode 100644 index 00000000000..58f903e1814 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.5.1-foss-2020b.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.5.1' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('netCDF', '4.7.4'), + ('cURL', '7.72.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.4.1', { + 'checksums': ['7c55540bc164746c3c4f86a07c9c7b9ed4dfb0b0d988348ec63cec065c58766d'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'checksums': [ + 'd957e55a667d1fc651ddef22fea10ded0f142b7d9dbbf4d08c0012d32f445abd', # netCDF4-1.5.5.1.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +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/netcdf4-python/netcdf4-python-1.5.7-foss-2021a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021a.eb new file mode 100644 index 00000000000..086e8da2d67 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('netCDF', '4.8.0'), + ('cURL', '7.76.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +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/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb new file mode 100644 index 00000000000..a0fca42084e --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-foss-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('netCDF', '4.8.1'), + ('cURL', '7.78.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +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/netcdf4-python/netcdf4-python-1.5.7-intel-2021b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-intel-2021b.eb new file mode 100644 index 00000000000..67c96ca4840 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.5.7-intel-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.5.7' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('netCDF', '4.8.1'), + ('cURL', '7.78.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cftime', '1.5.0', { + 'checksums': ['b644bcb53346b6f4fe2fcc9f3b574740a2097637492dcca29632c817e0604f29'], + }), + (name, version, { + 'patches': ['netcdf4-python-1.1.8-avoid-diskless-test.patch'], + 'source_tmpl': 'netCDF4-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/n/netCDF4'], + 'checksums': [ + 'd145f9c12da29da3922d8b8aafea2a2a89501bcb28a219a46b7b828b57191594', # netCDF4-1.5.7.tar.gz + # netcdf4-python-1.1.8-avoid-diskless-test.patch + 'a8b262fa201d55f59015e1bc14466c1d113f807543bc1e05a22481ab0d216d72', + ], + }), +] + +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/netcdf4-python/netcdf4-python-1.6.1-foss-2022a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-foss-2022a.eb new file mode 100644 index 00000000000..3073dcfd28b --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.1' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('netCDF', '4.9.0'), + ('cURL', '7.83.0'), +] + +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': [ + 'ba8dc5d65293a99f1afb8c2acf588d903fdfdc1963a62545b677fa2734262a78', # netCDF4-1.6.1.tar.gz + # 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/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb new file mode 100644 index 00000000000..d5d6084f968 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1-intel-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.1' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('netCDF', '4.9.0'), + ('cURL', '7.83.0'), +] + +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': [ + 'ba8dc5d65293a99f1afb8c2acf588d903fdfdc1963a62545b677fa2734262a78', # netCDF4-1.6.1.tar.gz + # 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/netcdf4-python/netcdf4-python-1.6.1_relax_tolerance_compression_test.patch b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1_relax_tolerance_compression_test.patch new file mode 100644 index 00000000000..57dda863c8b --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.1_relax_tolerance_compression_test.patch @@ -0,0 +1,15 @@ +# Relax tolerance in the compression_szip test to avoid fails on some systems. +# author: maxim-masterov (SURF) +# +diff -Nru netcdf4-python-1.6.1.orig/test/tst_compression_szip.py netcdf4-python-1.6.1/test/tst_compression_szip.py +--- netcdf4-python-1.6.1.orig/test/tst_compression_szip.py 2022-10-11 14:47:31.830359000 +0200 ++++ netcdf4-python-1.6.1/test/tst_compression_szip.py 2022-10-11 14:48:13.300393000 +0200 +@@ -33,7 +33,7 @@ + assert_almost_equal(datarr,f.variables['data'][:]) + assert f.variables['data'].filters() ==\ + {'zlib':False,'szip':False,'zstd':False,'bzip2':False,'blosc':False,'shuffle':False,'complevel':0,'fletcher32':False} +- assert_almost_equal(datarr,f.variables['data_szip'][:]) ++ assert_almost_equal(datarr,f.variables['data_szip'][:], 6) + dtest = {'zlib': False, 'szip': {'coding': 'ec', 'pixels_per_block': 32}, 'zstd': False, 'bzip2': False, 'blosc': False, 'shuffle': False, 'complevel': 0, 'fletcher32': False} + assert f.variables['data_szip'].filters() == dtest + f.close() diff --git a/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.3-foss-2022b.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.3-foss-2022b.eb new file mode 100644 index 00000000000..ef656081b80 --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.3-foss-2022b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.3' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('netCDF', '4.9.0'), + ('cURL', '7.86.0'), + ('mpi4py', '3.1.4'), +] + +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.3.tar.gz': '8c98a3a8cda06920ee8bd24a71226ddf0328c22bd838b0afca9cb45fb4580d99'}, + {'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/netcdf4-python/netcdf4-python-1.6.4-foss-2023a.eb b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.4-foss-2023a.eb new file mode 100644 index 00000000000..58f5790b23e --- /dev/null +++ b/easybuild/easyconfigs/n/netcdf4-python/netcdf4-python-1.6.4-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'netcdf4-python' +version = '1.6.4' + +homepage = 'https://unidata.github.io/netcdf4-python/' +description = """Python/numpy interface to netCDF.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('netCDF', '4.9.2'), + ('cURL', '8.0.1'), + ('mpi4py', '3.1.4'), +] + +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.4.tar.gz': '66da6542cbc7a6045cd1d979397dfd5a3f6c880c76d52b8f98bb108c82ee8c6e'}, + {'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/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/nettle/nettle-3.10-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.10-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ef91cf135fe --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.10-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.10' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['b4c518adb174e484cb4acea54118f02380c7133771e7e9beb98a0787194ee47c'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.7.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.7.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..101eaedd47c --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.7.3-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.7.3' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f7c9790fb40 --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.8-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.8' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['7576c68481c198f644b08c160d1a4850ba9449e308069455b5213319f234e8e6'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.8.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7389e42ad8e --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.8.1' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7c06ad87bf4 --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.9.1' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d29fc015efd --- /dev/null +++ b/easybuild/easyconfigs/n/nettle/nettle-3.9.1-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'nettle' +version = '3.9.1' + +homepage = 'https://www.lysator.liu.se/~nisse/nettle/' +description = """Nettle is a cryptographic library that is designed to fit easily + in more or less any context: In crypto toolkits for object-oriented + languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, + or even in kernel space.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('GMP', '6.3.0'), +] + +configopts = '--disable-openssl ' # openssl is just used for the nettle-openssl example and requires openssl 1.1 + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['nettle-hash', 'nettle-lfib-stream', 'pkcs1-conv', 'sexp-conv']] + + [('lib/libhogweed.a', 'lib64/libhogweed.a'), + ('lib/libhogweed.%s' % SHLIB_EXT, 'lib64/libhogweed.%s' % SHLIB_EXT), + ('lib/libnettle.a', 'lib64/libnettle.a'), + ('lib/libnettle.%s' % SHLIB_EXT, 'lib64/libnettle.%s' % SHLIB_EXT)], + 'dirs': ['include/nettle'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.4-intelcuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/n/networkx/networkx-2.4-intelcuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..f8550c60a9a --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.4-intelcuda-2019b-Python-3.7.4.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.4' +versionsuffix = '-Python-%(pyver)s' + +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': 'intelcuda', 'version': '2019b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f8f4ff0b6f96e4f9b16af6b84622597b5334bf9cae8cf9b2e42e7985d5c95c64'] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb new file mode 100644 index 00000000000..d6967a10d78 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.5-intelcuda-2020b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.5' + +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': 'intelcuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7978955423fbc9639c10498878be59caf99b44dc304c2286162fd24b458c1602'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.5.1-foss-2021a.eb b/easybuild/easyconfigs/n/networkx/networkx-2.5.1-foss-2021a.eb new file mode 100644 index 00000000000..9cd40fabe2b --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.5.1-foss-2021a.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.5.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': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_decorator.patch'] +checksums = [ + '109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a', # networkx-2.5.1.tar.gz + # networkx-2.5.1_decorator.patch + '85001802a7d8fe3244b83ce0e0f8c9066708c8d2b3e20fad023dfe3b06954d1e', +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.5.1_decorator.patch b/easybuild/easyconfigs/n/networkx/networkx-2.5.1_decorator.patch new file mode 100644 index 00000000000..ba828792c79 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.5.1_decorator.patch @@ -0,0 +1,21 @@ +diff -Naur networkx-2.5.1.orig/networkx.egg-info/requires.txt networkx-2.5.1/networkx.egg-info/requires.txt +--- networkx-2.5.1.orig/networkx.egg-info/requires.txt 2021-04-04 00:20:57.000000000 +0200 ++++ networkx-2.5.1/networkx.egg-info/requires.txt 2021-06-27 10:48:45.453840000 +0200 +@@ -1,4 +1,4 @@ +-decorator<5,>=4.3 ++decorator>=5.0.7,<6 + + [all] + numpy +diff -Naur networkx-2.5.1.orig/setup.py networkx-2.5.1/setup.py +--- networkx-2.5.1.orig/setup.py 2021-04-04 00:01:13.000000000 +0200 ++++ networkx-2.5.1/setup.py 2021-06-27 11:02:45.537344000 +0200 +@@ -124,7 +124,7 @@ + "networkx.utils": ["tests/*.py"], + } + +-install_requires = ["decorator>=4.3,<5"] ++install_requires = ["decorator>=5.0.7,<6"] + extras_require = { + "all": [ + "numpy", diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.6.2-foss-2020b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.6.2-foss-2020b.eb new file mode 100644 index 00000000000..8a5bed3a719 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.6.2-foss-2020b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.6.2' + +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': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2306f1950ce772c5a59a57f5486d59bb9cab98497c45fc49cbc45ac0dec119bb'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021a.eb b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021a.eb new file mode 100644 index 00000000000..55837fad044 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.6.3' + +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': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021b.eb new file mode 100644 index 00000000000..3decc38097e --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-foss-2021b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.6.3' + +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': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.6.3-intel-2021b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-intel-2021b.eb new file mode 100644 index 00000000000..93d150f3264 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.6.3-intel-2021b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.6.3' + +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': 'intel', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.8.4-foss-2022a.eb b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-foss-2022a.eb new file mode 100644 index 00000000000..1fa366be25b --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-foss-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.8.4' + +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': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb new file mode 100644 index 00000000000..40d509decfb --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.8.4-intel-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.8.4' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5e53f027c0d567cf1f884dbb283224df525644e43afd1145d64c9d88a3584762'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb b/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb new file mode 100644 index 00000000000..bac13dc9e35 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-2.8.8-gfbf-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '2.8.8' + +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': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.0-gfbf-2022b.eb b/easybuild/easyconfigs/n/networkx/networkx-3.0-gfbf-2022b.eb new file mode 100644 index 00000000000..72e1e9f112e --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.0-gfbf-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.0' + +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': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9a9992345353618ae98339c2b63d8201c381c2944f38a2ab49cb45a4c667e412'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb b/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb new file mode 100644 index 00000000000..2cef5135036 --- /dev/null +++ b/easybuild/easyconfigs/n/networkx/networkx-3.1-gfbf-2023a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'networkx' +version = '3.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': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # required for numpy, scipy, ... +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' 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-mag/nf-core-mag-20221110-foss-2021a.eb b/easybuild/easyconfigs/n/nf-core-mag/nf-core-mag-20221110-foss-2021a.eb new file mode 100644 index 00000000000..2e45780b042 --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core-mag/nf-core-mag-20221110-foss-2021a.eb @@ -0,0 +1,56 @@ +## +# 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 = 'Bundle' + +name = 'nf-core-mag' +version = '20221110' + +homepage = 'https://nf-co.re/mag' +description = """The Nextflow pipeline 'mag' ported to EasyBuild/EESSI.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Nextflow', '22.10.1', '', SYSTEM), + ('AdapterRemoval', '2.3.2'), + ('BCFtools', '1.12'), + ('Bowtie2', '2.4.4'), + ('BUSCO', '5.4.2'), + ('CAT-BAT', '5.2.3'), + ('Centrifuge', '1.0.4'), + ('DAS_Tool', '1.1.3', '-R-4.1.0'), + ('fastp', '0.23.2'), + ('FastQC', '0.11.9', '-Java-11', SYSTEM), + ('Filtlong', '0.2.1'), + ('freebayes', '1.3.6', '-R-4.1.0'), + ('GTDB-Tk', '2.0.0'), + ('Kraken2', '2.1.2'), + ('KronaTools', '2.8'), + ('MaxBin', '2.2.7'), + ('MEGAHIT', '1.2.9'), + ('MetaBAT', '2.15'), + ('MultiQC', '1.11'), + ('NanoLyse', '1.2.1'), + ('NanoPlot', '1.33.0'), + ('Porechop', '0.2.4'), + ('prodigal', '2.6.3'), + ('prokka', '1.14.5'), + ('PyDamage', '0.70'), + ('QUAST', '5.0.2'), + ('SPAdes', '3.13.0'), +] + +postinstallcmds = ["echo 'Bundle for the Nextflow pipeline https://nf-co.re/mag' > %(installdir)s/README"] + +sanity_check_paths = { + 'files': ['README'], + 'dirs': [], +} + +moduleclass = 'bio' 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/nf-core/nf-core-2.14.1-foss-2024a.eb b/easybuild/easyconfigs/n/nf-core/nf-core-2.14.1-foss-2024a.eb new file mode 100644 index 00000000000..5b64c454d51 --- /dev/null +++ b/easybuild/easyconfigs/n/nf-core/nf-core-2.14.1-foss-2024a.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'nf-core' +version = '2.14.1' + +homepage = 'https://github.com/nf-core/tools' +description = "Python package with helper tools for the nf-core community." + +toolchain = {'name': 'foss', 'version': '2024a'} + +builddependencies = [ + ('poetry', '1.8.3'), + ('PDM', '2.18.2'), +] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('SciPy-bundle', '2024.05'), + ('GitPython', '3.1.43'), + ('Markdown', '3.7'), + ('Pillow', '10.4.0'), + ('prompt-toolkit', '3.0.36'), + ('pydantic', '2.9.1'), + ('pyfaidx', '0.8.1.2'), + ('pytest-workflow', '2.1.0'), + ('PyYAML', '6.0.2'), + ('tqdm', '4.66.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('humanfriendly', '10.0', {'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc']}), + ('coloredlogs', '15.0.1', {'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0']}), + ('typer', '0.12.5', {'checksums': ['f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722']}), + ('pephubclient', '0.4.4', {'checksums': ['0723b84f165024a08885057b80daa314987474ac6be04cb34e4b0611e7b91561']}), + ('peppy', '0.40.6', {'checksums': ['a872bf22da2ac9d2e60ea01fdac5a092618957e937d5620f8ba8cd8e552509fb']}), + ('eido', '0.2.3', {'checksums': ['c4e5cb2c8c4d7ae1812afbeafde0737c24cfdee21b22d45af5967c7b6848b565']}), + ('attmap', '0.13.2', {'checksums': ['fdffa45f8671c13428eb8c3a1702bfdd1123badb99f7af14d72ad53cc7e770de']}), + ('oyaml', '1.0', {'checksums': ['ed8fc096811f4763e1907dce29c35895d6d5936c4d0400fe843a91133d4744ed']}), + ('cattrs', '24.1.1', {'checksums': ['16e94a13f9aaf6438bd5be5df521e072b1b00481b4cf807bcb1acbd49f814c08']}), + ('yacman', '0.9.3', {'checksums': ['91f29ecad7abf32425be034619bd5b00a50fe2be23447b1827c34e1fd68c055d']}), + ('pipestat', '0.10.2', {'checksums': ['274cd7ddf44b1750fce854953c4b8d5cde36a23cb73597136442d05bc5a9acaa']}), + ('ubiquerg', '0.8.0', {'checksums': ['3dd8e817c736e45c563bbf9e0d9b252e2a0456729c5644203376a447ffc7e04f']}), + ('cfgv', '3.4.0', {'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560']}), + ('nodeenv', '1.9.1', {'checksums': ['6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f']}), + ('logmuse', '0.2.8', {'checksums': ['a639d795f33d6876766033dea3c4ceb51617029e5f6e0aa390e7c4bc3012624d']}), + ('textual', '0.79.1', {'checksums': ['2aaa9778beac5e56957794ee492bd8d281d39516ccb0e507e726484a1327d8b2']}), + ('refgenconf', '0.12.2', {'checksums': ['6c9f9ecd8b91b4f75a535cfbdbdfb136f2dc9e9864142d07aa0352c61cf0cf78']}), + ('piper', '0.14.2', { + 'modulename': 'pypiper', + 'checksums': ['fff74a6e7cbf188a3ce023913a9ce63098e7c3acfa73833fd9e4c4096a578035'], + }), + ('url-normalize', '1.4.3', {'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2']}), + ('identify', '2.6.0', {'checksums': ['cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf']}), + ('questionary', '2.0.1', {'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b']}), + ('pdiff', '1.1.4', {'checksums': ['9d8f6f8e7ed2ee61aa2f2526106c0047a2bd80eab7d1237f7086139a6e921c45']}), + ('filetype', '1.2.0', {'checksums': ['66b56cd6474bf41d8c54660347d37afcc3f7d1970648de365c102ef77548aadb']}), + ('requests-cache', '1.2.1', { + 'source_tmpl': 'requests_cache-%(version)s.tar.gz', + 'checksums': ['68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1'], + }), + ('trogon', '0.5.0', {'checksums': ['61a57f0f1a38227d90601cd020f46960be8e36947b5e56c6932c2e01ecc5042a']}), + ('pre-commit', '3.8.0', { + 'source_tmpl': 'pre_commit-%(version)s.tar.gz', + 'checksums': ['8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af'], + }), + ('refgenie', '0.12.1', {'checksums': ['cfd007ed0981e00d019deb49aaea896952341096494165cb8378488850eec451']}), + (name, version, { + 'source_tmpl': 'nf_core-%(version)s.tar.gz', + 'checksums': ['35bd8d73ecca4eb87443fada31bc7b2562429de3a4bfbf7261db348d14bf54bb'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.2.0.eb b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..52735d76539 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.2.0.eb @@ -0,0 +1,57 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'nghttp2' +version = '1.48.0' + +homepage = 'https://github.com/nghttp2/nghttp2' +description = """ +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and proxy. +We have also developed load test and benchmarking tools for HTTP/2. + +An HPACK encoder and decoder are available as a public API.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'nghttp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '946a8fa490548b67fc6074553cb225279cc6404bae96cf74551f2ad4453be637', # v1.48.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), + ('CUnit', '2.1-3'), + ('Boost', '1.79.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('nghttp3', '0.6.0'), + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('Jansson', '2.13.1'), + ('jemalloc', '5.2.1'), + ('ngtcp2', '0.7.0'), + ('libevent', '2.1.12'), + ('libev', '4.33'), + ('c-ares', '1.18.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp2.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp2', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..b3af8adacf8 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.48.0-GCC-11.3.0.eb @@ -0,0 +1,57 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'nghttp2' +version = '1.48.0' + +homepage = 'https://github.com/nghttp2/nghttp2' +description = """ +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and proxy. +We have also developed load test and benchmarking tools for HTTP/2. + +An HPACK encoder and decoder are available as a public API.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'nghttp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '946a8fa490548b67fc6074553cb225279cc6404bae96cf74551f2ad4453be637', # v1.48.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('CMake', '3.23.1'), + ('CUnit', '2.1-3'), + ('Boost', '1.79.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('nghttp3', '0.6.0'), + ('Python', '3.10.4'), + ('libxml2', '2.9.13'), + ('Jansson', '2.14'), + ('jemalloc', '5.3.0'), + ('ngtcp2', '0.7.0'), + ('libevent', '2.1.12'), + ('libev', '4.33'), + ('c-ares', '1.18.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp2.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp2', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..95087f63a51 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp2/nghttp2-1.58.0-GCC-12.3.0.eb @@ -0,0 +1,55 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'nghttp2' +version = '1.58.0' + +homepage = 'https://github.com/nghttp2/nghttp2' +description = """ +This is an implementation of the Hypertext Transfer Protocol version 2 in C. + +The framing layer of HTTP/2 is implemented as a reusable C library. +On top of that, we have implemented an HTTP/2 client, server and proxy. +We have also developed load test and benchmarking tools for HTTP/2. + +An HPACK encoder and decoder are available as a public API.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'nghttp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7da19947b33a07ddcf97b9791331bfee8a8545e6b394275a9971f43cae9d636b'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('CUnit', '2.1-3'), + ('Boost', '1.82.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('nghttp3', '1.3.0'), + ('Python', '3.11.3'), + ('libxml2', '2.11.4'), + ('Jansson', '2.14'), + ('jemalloc', '5.3.0'), + ('ngtcp2', '1.2.0'), + ('libevent', '2.1.12'), + ('libev', '4.33'), + ('c-ares', '1.19.1'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp2.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp2', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3916daaba5e --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'nghttp3' +version = '0.6.0' + +homepage = 'https://github.com/ngtcp2/nghttp3' +description = """ nghttp3 is an implementation of RFC 9114 HTTP/3 +mapping over QUIC and RFC 9204 QPACK in C. +It does not depend on any particular QUIC transport implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '3cd5fa107541a2dd11b87a84f251a98fae4c7b67df9d78be7343e4adce540b7f', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), + ('CUnit', '2.1-3'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp3.a', 'lib/libnghttp3.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp3'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5d41fd67199 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp3/nghttp3-0.6.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'nghttp3' +version = '0.6.0' + +homepage = 'https://github.com/ngtcp2/nghttp3' +description = """ nghttp3 is an implementation of RFC 9114 HTTP/3 +mapping over QUIC and RFC 9204 QPACK in C. +It does not depend on any particular QUIC transport implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + '3cd5fa107541a2dd11b87a84f251a98fae4c7b67df9d78be7343e4adce540b7f', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkg-config', '0.29.2'), + ('CUnit', '2.1-3'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp3.a', 'lib/libnghttp3.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp3'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5800863a567 --- /dev/null +++ b/easybuild/easyconfigs/n/nghttp3/nghttp3-1.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'nghttp3' +version = '1.3.0' + +homepage = 'https://github.com/ngtcp2/nghttp3' +description = """ nghttp3 is an implementation of RFC 9114 HTTP/3 +mapping over QUIC and RFC 9204 QPACK in C. +It does not depend on any particular QUIC transport implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +# github_account = 'ngtcp2' +# source_urls = [GITHUB_SOURCE] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/ngtcp2', + 'repo_name': 'nghttp3', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('CUnit', '2.1-3'), +] + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libnghttp3.a', 'lib/libnghttp3.%s' % SHLIB_EXT], + 'dirs': ['include/nghttp3'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb new file mode 100644 index 00000000000..0d555c1e891 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.0.3' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('IPython', '7.25.0'), + ('JupyterLab', '3.0.16'), + ('nodejs', '14.17.0'), + ('MDAnalysis', '2.0.0'), # optional +] + +use_pip = True + +exts_list = [ + ('versioneer', '0.24', { + 'checksums': ['1b8dba9e51e2f0e04c7e8545216eecdea2d63e1bd5569448ee66c549f7e7782f'], + }), + (name, version, { + 'use_pip_extras': 'MDAnalysis', + 'checksums': ['3253c44bd071e4701c288de44997471608487d5191ab3d3b7736c8651335c1af'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/nglview'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2022a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2022a.eb new file mode 100644 index 00000000000..a515d80a568 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.0.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.0.3' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('JupyterLab', '3.5.0'), + ('nodejs', '16.15.1'), + ('MDAnalysis', '2.2.0'), # optional +] + +use_pip = True + +exts_list = [ + ('versioneer', '0.28', { + 'checksums': ['7175ca8e7bb4dd0e3c9779dd2745e5b4a6036304af3f5e50bd896f10196586d6'], + }), + (name, version, { + 'use_pip_extras': 'MDAnalysis', + 'checksums': ['3253c44bd071e4701c288de44997471608487d5191ab3d3b7736c8651335c1af'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/nglview'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'JUPYTER_PATH': 'share/jupyter', + 'JUPYTER_CONFIG_PATH': 'etc/jupyter', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb new file mode 100644 index 00000000000..55899477fd5 --- /dev/null +++ b/easybuild/easyconfigs/n/nglview/nglview-3.1.2-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'nglview' +version = '3.1.2' + +homepage = 'https://github.com/arose/nglview' +description = "IPython widget to interactively view molecular structures and trajectories." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('JupyterNotebook', '7.0.2'), + ('ASE', '3.22.1'), # optional + ('MDAnalysis', '2.7.0'), # optional + ('MDTraj', '1.9.9'), # optional +] + +use_pip = True + +exts_list = [ + (name, version, { + 'use_pip_extras': 'ase,MDAnalysis,mdtraj', + 'checksums': ['7f672efa2b6ca0db34de968e5b5766b14b1b3dade212d2f8a083c600a11345ce'], + }), +] + +sanity_pip_check = True + +modextrapaths = {'EB_ENV_JUPYTER_ROOT': ''} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/ngmlr/ngmlr-0.2.7-foss-2023a.eb b/easybuild/easyconfigs/n/ngmlr/ngmlr-0.2.7-foss-2023a.eb new file mode 100644 index 00000000000..ca0401d69c7 --- /dev/null +++ b/easybuild/easyconfigs/n/ngmlr/ngmlr-0.2.7-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'ngmlr' +version = '0.2.7' + +homepage = 'https://github.com/philres/ngmlr' +description = """Ngmlr is a long-read mapper designed to align PacBilo or Oxford Nanopore to a + reference genome with a focus on reads that span structural variations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/philres/ngmlr/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5126a6b3e726cac0da0713883daac688f38587f118428247a9a3ace5a55b29aa'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +sanity_check_paths = { + 'files': ['bin/ngmlr'], + 'dirs': [''] +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/ngspice/ngspice-39-foss-2022a.eb b/easybuild/easyconfigs/n/ngspice/ngspice-39-foss-2022a.eb new file mode 100644 index 00000000000..d5eced4955f --- /dev/null +++ b/easybuild/easyconfigs/n/ngspice/ngspice-39-foss-2022a.eb @@ -0,0 +1,40 @@ +# This easyconfig was created by James Carpenter in the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'ngspice' +version = '39' + +homepage = 'https://ngspice.sourceforge.net' +description = """Ngspice is a mixed-level/mixed-signal circuit simulator. Its code +is based on three open source software packages: Spice3f5, Cider1b1 and Xspice. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bf94e811eaad8aaf05821d036a9eb5f8a65d21d30e1cab12701885e09618d771'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('X11', '20220504'), +] + +configure_cmd = "./configure --with-x --enable-xspice " +configure_cmd += "--enable-cider --enable-openmp --with-readline=yes --disable-debug" + +sanity_check_paths = { + 'files': ['bin/ngspice'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.2.0.eb b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..2c658278a18 --- /dev/null +++ b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.2.0.eb @@ -0,0 +1,47 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'ngtcp2' +version = '0.7.0' + +homepage = 'https://github.com/ngtcp2/ngtcp2' +description = """ +'Call it TCP/2. One More Time.' + +ngtcp2 project is an effort to implement RFC9000 QUIC protocol.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + 'b2015c58e6d249bb71c7f7726a1e5ec5ccc78be7d50d82938358fac14ec98ca9', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('CUnit', '2.1-3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('GnuTLS', '3.7.3'), + ('nghttp3', '0.6.0'), + ('libev', '4.33'), +] + +configopts = '-DENABLE_GNUTLS=True' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libngtcp2_static.a', 'lib/libngtcp2.%s' % SHLIB_EXT], + 'dirs': ['share/doc/ngtcp2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..f5d87ac788a --- /dev/null +++ b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-0.7.0-GCC-11.3.0.eb @@ -0,0 +1,47 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'ngtcp2' +version = '0.7.0' + +homepage = 'https://github.com/ngtcp2/ngtcp2' +description = """ +'Call it TCP/2. One More Time.' + +ngtcp2 project is an effort to implement RFC9000 QUIC protocol.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] + +checksums = [ + 'b2015c58e6d249bb71c7f7726a1e5ec5ccc78be7d50d82938358fac14ec98ca9', # v0.6.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('CUnit', '2.1-3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('GnuTLS', '3.7.8'), + ('nghttp3', '0.6.0'), + ('libev', '4.33'), +] + +configopts = '-DENABLE_GNUTLS=True' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libngtcp2_static.a', 'lib/libngtcp2.%s' % SHLIB_EXT], + 'dirs': ['share/doc/ngtcp2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..67309cf83e2 --- /dev/null +++ b/easybuild/easyconfigs/n/ngtcp2/ngtcp2-1.2.0-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: P.Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'ngtcp2' +version = '1.2.0' + +homepage = 'https://github.com/ngtcp2/ngtcp2' +description = """ +'Call it TCP/2. One More Time.' + +ngtcp2 project is an effort to implement RFC9000 QUIC protocol.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'ngtcp2' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['15f3dd4cc4db2435bcd0b5253ccce4cbab26d18cc6ef4f00b5cb4af21ed06a0b'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('CUnit', '2.1-3'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('GnuTLS', '3.7.8'), + ('nghttp3', '1.3.0'), + ('libev', '4.33'), +] + +configopts = '-DENABLE_GNUTLS=True' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['lib/libngtcp2.%s' % SHLIB_EXT], + 'dirs': ['share/doc/ngtcp2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..646ba5fd353 --- /dev/null +++ b/easybuild/easyconfigs/n/nichenetr/nichenetr-1.1.1-20230223-foss-2022a-R-4.2.1.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'nichenetr' +local_commit = 'cc3bced' +# see DESCRIPTION to determine version, +# but add date stamp of commit since version is not always bumped +version = '1.1.1-20230223' +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': '2022a'} + +source_urls = ['https://github.com/saeyslab/nichenetr/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['522475bd8d5552062cc6d6ba095dae8c214e13b3c553c3e090b67a7c8c1723af'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +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/nifty/nifty-1.2.1-foss-2023a.eb b/easybuild/easyconfigs/n/nifty/nifty-1.2.1-foss-2023a.eb new file mode 100644 index 00000000000..37d6c62dec7 --- /dev/null +++ b/easybuild/easyconfigs/n/nifty/nifty-1.2.1-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'CMakeMakeCp' + +name = 'nifty' +version = '1.2.1' + +homepage = 'https://github.com/DerThorsten/nifty/' +description = """A nifty library for 2D and 3D image segmentation, graph based segmentation an opt. +This library provided building blocks for segmentation algorithms and complex segmentation pipelines.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/DerThorsten/nifty/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a5fd611463336ba18be828da3154da8828b6486603e2a04f14a4520cb357661a'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('h5py', '3.9.0'), + ('nlohmann_json', '3.11.2'), + ('scikit-image', '0.22.0'), + ('vigra', '1.11.2'), + ('xtensor', '0.24.7'), + ('zlib', '1.2.13'), + ('HDF5', '1.14.0'), +] + +# Add flags (nifty/.github/workflows/build_unix.sh) +configopts = '-DWITH_QPBO=OFF -DWITH_HDF5=ON -DWITH_Z5=OFF -DWITH_ZLIB=ON -DWITH_CPLEX=OFF -DWITH_GUROBI=OFF ' +# Fix path to python executable - it finds v3.6.8 from /usr/bin/ without this fix +configopts += '-DPYTHON_EXECUTABLE="$EBROOTPYTHON/bin/python" -DBUILD_NIFTY_PYTHON=ON ' + +# export PYTHON_MODULE_INSTALL_DIR to fix make install +preinstallopts = 'export PYTHON_MODULE_INSTALL_DIR="%(builddir)s/easybuild_obj/python/" && ' + +files_to_copy = [(['python/nifty'], 'lib/python%(pyshortver)s/site-packages')] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/nifty'], +} + +sanity_check_commands = [ + "python -c 'import nifty'", + "python -c 'from nifty.graph import UndirectedGraph'", + "python -c 'import nifty.tools'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..768df37e3ef --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.0-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.10.0' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['eb8b07806efa5f95b349766ccc7a8ec2348f3b2ee9975ad879259a371aea8084'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8cc1de0956d --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.4-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.10.4' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1155fd1a83049767360e9a120c43c578145db3204d2b309eba49fbbedd0f4ed3'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7a6ed0fb350 --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.10.5' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a5775e9ae84 --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.11.2' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['share/cmake', 'share/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1ad7b6c1af6 --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.2-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.11.2' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['share/cmake', 'share/pkgconfig'], +} + +moduleclass = 'lib' 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/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8be75746afa --- /dev/null +++ b/easybuild/easyconfigs/n/nlohmann_json/nlohmann_json-3.11.3-GCCcore-13.3.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.3.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['share/cmake', 'share/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-foss-2020b.eb b/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-foss-2020b.eb new file mode 100644 index 00000000000..af8ddb251bb --- /dev/null +++ b/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-foss-2020b.eb @@ -0,0 +1,82 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'nnU-Net' +version = '1.7.0' + +homepage = 'https://github.com/MIC-DKFZ/nnUNet' +description = """nnU-Net is the first segmentation method that is designed to deal with the dataset diversity found + in the domain It condenses and automates the keys decisions for designing a successful segmentation pipeline for + any given dataset.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('Bazel', '3.7.2') +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), + ('dicom2nifti', '2.3.0'), + ('scikit-image', '0.18.1'), + ('TensorFlow', '2.4.1'), + ('scikit-learn', '0.23.2'), + ('NiBabel', '3.2.1'), + ('SimpleITK', '2.1.0'), + ('MedPy', '0.4.0'), + ('jax', '0.2.19'), + ('lxml', '4.6.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('linecache2', '1.0.0', { + 'checksums': ['4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c'], + }), + ('traceback2', '1.4.0', { + 'checksums': ['05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030'], + }), + ('unittest2', '1.1.0', { + 'checksums': ['22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579'], + 'preinstallopts': "sed -i 's/.argparse.,//' setup.py && ", + }), + ('batchgenerators', '0.23', { + 'checksums': ['4bc5711ee75678ae97df7b54c50c1cde46f14c94f44d948f6edf4e8c48b2a9e0'], + }), + ('tifffile', '2021.8.30', { + 'checksums': ['8760e61e30106ea0dab9ec42a238d70a3ff55dde9c54456e7b748fe717cb782d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['5faa387ad6b522516283cbe45adbc4c46bedcf501c82db2f9174945f3ec2ea7d'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('nnunet', version, { + 'preinstallopts': "sed -i 's/sklearn/scikit-learn/g' setup.py && ", + 'checksums': ['7ad3d5b89af389fa86cea58f409bd2353b511a746587f37d26c00a756849f356'], + }), +] + +sanity_check_commands = ['nnUNet_train --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-fosscuda-2020b.eb b/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..e00878d774d --- /dev/null +++ b/easybuild/easyconfigs/n/nnU-Net/nnU-Net-1.7.0-fosscuda-2020b.eb @@ -0,0 +1,82 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'nnU-Net' +version = '1.7.0' + +homepage = 'https://github.com/MIC-DKFZ/nnUNet' +description = """nnU-Net is the first segmentation method that is designed to deal with the dataset diversity found + in the domain It condenses and automates the keys decisions for designing a successful segmentation pipeline for + any given dataset.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +builddependencies = [ + ('Bazel', '3.7.2') +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), + ('dicom2nifti', '2.3.0'), + ('scikit-image', '0.18.1'), + ('TensorFlow', '2.4.1'), + ('scikit-learn', '0.23.2'), + ('NiBabel', '3.2.1'), + ('SimpleITK', '2.1.0'), + ('MedPy', '0.4.0'), + ('jax', '0.2.19'), + ('lxml', '4.6.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('linecache2', '1.0.0', { + 'checksums': ['4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c'], + }), + ('traceback2', '1.4.0', { + 'checksums': ['05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030'], + }), + ('unittest2', '1.1.0', { + 'checksums': ['22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579'], + 'preinstallopts': "sed -i 's/.argparse.,//' setup.py && ", + }), + ('batchgenerators', '0.23', { + 'checksums': ['4bc5711ee75678ae97df7b54c50c1cde46f14c94f44d948f6edf4e8c48b2a9e0'], + }), + ('tifffile', '2021.8.30', { + 'checksums': ['8760e61e30106ea0dab9ec42a238d70a3ff55dde9c54456e7b748fe717cb782d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('dm-haiku', '0.0.4', { + 'modulename': 'haiku', + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['5faa387ad6b522516283cbe45adbc4c46bedcf501c82db2f9174945f3ec2ea7d'], + }), + ('dm-tree', '0.1.6', { + 'modulename': 'tree', + 'checksums': ['6776404b23b4522c01012ffb314632aba092c9541577004ab153321e87da439a'], + }), + ('immutabledict', '2.1.0', { + 'checksums': ['673fb8f30f46d23dd394050b979f5b7f4c5398982b99ebc854fb873e646b967a'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('nnunet', version, { + 'preinstallopts': "sed -i 's/sklearn/scikit-learn/g' setup.py && ", + 'checksums': ['7ad3d5b89af389fa86cea58f409bd2353b511a746587f37d26c00a756849f356'], + }), +] + +sanity_check_commands = ['nnUNet_train --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb index deaf600ec19..866799bfdea 100644 --- a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0-GCCcore-10.3.0.eb @@ -14,11 +14,16 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['http://%(name)s.org/dist/v%(version)s/'] sources = ['node-v%(version)s.tar.gz'] -patches = ['%(name)s-%(version)s_fix-argument-list-too-long.patch'] +patches = [ + '%(name)s-%(version)s_fix-argument-list-too-long.patch', + '%(name)s-%(version)s_use_new_icu69_calls.patch', +] checksums = [ '6114e82d3256136dc85a509d835442fbdf2f8430dcd8bfa7c304097344d06fb7', # node-v14.17.0.tar.gz # nodejs-14.17.0_fix-argument-list-too-long.patch 'b0eac4b478a9268c8902ec701f99e1445eeba2a70927bfacdeb5ba243e668550', + # nodejs-14.17.0_use_new_icu69_calls.patch + '24fbc749d225b395184aa9c4c3880665026ced898474d77259c597f6b790e290', ] builddependencies = [ @@ -26,21 +31,30 @@ builddependencies = [ ('Python', '3.9.5'), ] +dependencies = [ + ('ICU', '69.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + configopts = [ - '--with-intl=none', # Fully disable ICU to avoid issues with the embedded icu-small library - '--shared --with-intl=none', # Build libnode.so in a second run + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run ] # Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + postinstallcmds = [ - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libnode.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libbase.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), - "cd %%(installdir)s/lib; ln -s libnode.%s.%s libv8_libplatform.%s" % (SHLIB_EXT, local_libversion, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs ] sanity_check_paths = { - 'files': ['bin/node', 'bin/npm', 'lib/libnode.%s.%s' % (SHLIB_EXT, local_libversion)], + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], 'dirs': ['lib/node_modules', 'include/node'] } diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch new file mode 100644 index 00000000000..9b635d20f3d --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.0_use_new_icu69_calls.patch @@ -0,0 +1,92 @@ +From 035c305ce7761f51328b45f1bd83e26aef267c9d Mon Sep 17 00:00:00 2001 +From: Frank Tang +Date: Thu, 15 Oct 2020 22:44:27 -0700 +Subject: [PATCH] [Intl] call new ListFormatter::createInstance + +The one we currently using is now marked as internal and to be removed +for 68. Migrating to the style which already avaiable in ICU 67-1. + +Bug: v8:11031 +Change-Id: I668382a2e1b8602ddca02bf231c5008a6c92bf2d +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477751 +Reviewed-by: Jakob Kummerow +Commit-Queue: Frank Tang +Cr-Commit-Position: refs/heads/master@{#70638} +--- + +diff --git a/deps/v8/src/objects/js-list-format.cc b/deps/v8/src/objects/js-list-format.cc +index b17d38c..e48a387 100644 +--- a/deps/v8/src/objects/js-list-format.cc ++++ b/deps/v8/src/objects/js-list-format.cc +@@ -29,46 +29,27 @@ + namespace internal { + + namespace { +-const char* kStandard = "standard"; +-const char* kOr = "or"; +-const char* kUnit = "unit"; +-const char* kStandardShort = "standard-short"; +-const char* kOrShort = "or-short"; +-const char* kUnitShort = "unit-short"; +-const char* kStandardNarrow = "standard-narrow"; +-const char* kOrNarrow = "or-narrow"; +-const char* kUnitNarrow = "unit-narrow"; + +-const char* GetIcuStyleString(JSListFormat::Style style, +- JSListFormat::Type type) { ++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) { ++ switch (style) { ++ case JSListFormat::Style::LONG: ++ return ULISTFMT_WIDTH_WIDE; ++ case JSListFormat::Style::SHORT: ++ return ULISTFMT_WIDTH_SHORT; ++ case JSListFormat::Style::NARROW: ++ return ULISTFMT_WIDTH_NARROW; ++ } ++ UNREACHABLE(); ++} ++ ++UListFormatterType GetIcuType(JSListFormat::Type type) { + switch (type) { + case JSListFormat::Type::CONJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kStandard; +- case JSListFormat::Style::SHORT: +- return kStandardShort; +- case JSListFormat::Style::NARROW: +- return kStandardNarrow; +- } ++ return ULISTFMT_TYPE_AND; + case JSListFormat::Type::DISJUNCTION: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kOr; +- case JSListFormat::Style::SHORT: +- return kOrShort; +- case JSListFormat::Style::NARROW: +- return kOrNarrow; +- } ++ return ULISTFMT_TYPE_OR; + case JSListFormat::Type::UNIT: +- switch (style) { +- case JSListFormat::Style::LONG: +- return kUnit; +- case JSListFormat::Style::SHORT: +- return kUnitShort; +- case JSListFormat::Style::NARROW: +- return kUnitNarrow; +- } ++ return ULISTFMT_TYPE_UNITS; + } + UNREACHABLE(); + } +@@ -143,7 +124,7 @@ + icu::Locale icu_locale = r.icu_locale; + UErrorCode status = U_ZERO_ERROR; + icu::ListFormatter* formatter = icu::ListFormatter::createInstance( +- icu_locale, GetIcuStyleString(style_enum, type_enum), status); ++ icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status); + if (U_FAILURE(status) || formatter == nullptr) { + delete formatter; + THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError), diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6be4d509878 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-14.17.6-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '14.17.6' # LTS on 2020-08-31 +local_libversion = '83' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['f64559c87faa2f1ce93c3d2cd09723af254ec320a53cbfd1a2ba8fba28e488d0'] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6', '-bare'), +] + +dependencies = [ + ('ICU', '69.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..87bfe5f2d35 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '16.15.1' # LTS on 2022-06-12 +local_libversion = '93' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_fix-argument-list-too-long.patch', +] +checksums = [ + {'node-v16.15.1.tar.gz': '308aee7149c4092a53c87c28ef49e23a8d1606119e79ae68333062e2a1f94208'}, + {'nodejs-16.15.1_fix-argument-list-too-long.patch': + '36b5627e60fd2b861ce3dc5445b137b4fe7ec30a4f866ea540ec56bda9686405'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('ICU', '71.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch new file mode 100644 index 00000000000..4a69b371a76 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-16.15.1_fix-argument-list-too-long.patch @@ -0,0 +1,107 @@ +# +# nodejs-14.17.0_fix-argument-list-too-long.patch adjusted for v16 +# +# Source: https://github.com/nodejs/node/issues/9137 +# +diff --git a/tools/gyp/pylib/gyp/generator/make.py b/tools/gyp/pylib/gyp/generator/make.py +index d163ae31..2ce1c301 100644 +--- a/tools/gyp/pylib/gyp/generator/make.py ++++ b/tools/gyp/pylib/gyp/generator/make.py +@@ -155,6 +155,31 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + quiet_cmd_link = LINK($(TOOLSET)) $@ + cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group + ++# Note: this does not handle spaces in paths ++define xargs ++ $(1) $(word 1,$(2)) ++$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2)))) ++endef ++ ++define write-to-file ++ @: >$(1) ++$(call xargs,@printf "%s\\n" >>$(1),$(2)) ++endef ++ ++OBJ_FILE_LIST := ar-file-list ++ ++define create_archive ++ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ ++define create_thin_archive ++ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ + # We support two kinds of shared objects (.so): + # 1) shared_library, which is just bundling together many dependent libraries + # into a link line. +@@ -199,6 +224,31 @@ cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^) + quiet_cmd_alink_thin = AR($(TOOLSET)) $@ + cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) + ++# Note: this does not handle spaces in paths ++define xargs ++ $(1) $(word 1,$(2)) ++$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2)))) ++endef ++ ++define write-to-file ++ @: >$(1) ++$(call xargs,@printf "%s\\n" >>$(1),$(2)) ++endef ++ ++OBJ_FILE_LIST := ar-file-list ++ ++define create_archive ++ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ ++define create_thin_archive ++ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)` ++ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2))) ++ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST) ++endef ++ + # Due to circular dependencies between libraries :(, we wrap the + # special "figure out circular dependencies" flags around the entire + # input list during linking. +@@ -1766,14 +1816,28 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD + self.flavor not in ("mac", "openbsd", "netbsd", "win") + and not self.is_standalone_static_library + ): +- self.WriteDoCmd( ++ if self.flavor in ('linux', 'android'): ++ self.WriteMakeRule( + [self.output_binary], + link_deps, +- "alink_thin", +- part_of_all, +- postbuilds=postbuilds, +- ) ++ actions = ['$(call create_thin_archive,$@,$^)'] ++ ) ++ else: ++ self.WriteDoCmd( ++ [self.output_binary], ++ link_deps, ++ "alink_thin", ++ part_of_all, ++ postbuilds=postbuilds, ++ ) + else: ++ if self.flavor in ('linux', 'android'): ++ self.WriteMakeRule( ++ [self.output_binary], ++ link_deps, ++ actions = ['$(call create_archive,$@,$^)'] ++ ) ++ else: + self.WriteDoCmd( + [self.output_binary], + link_deps, diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c2a1a50d330 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-18.12.1-GCCcore-12.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '18.12.1' # LTS on 2022-11-22 +local_libversion = '108' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['ba8174dda00d5b90943f37c6a180a1d37c861d91e04a4cb38dc1c0c74981c186'] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8', '-bare'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('ICU', '72.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-18.17.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-18.17.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3490b9455a8 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-18.17.1-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '18.17.1' # LTS on 2023-08-08 +local_libversion = '108' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['1157525a819c395020795ff8c49eee7472b8666cc256b45558b9cbe2e0864c35'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('ICU', '73.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b49990e46e7 --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-20.13.1-GCCcore-13.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '20.13.1' # LTS on 2024-05-24 +local_libversion = '115' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['a85ee53aa0a5c2f5ca94fa414cdbceb91eb7d18a77fc498358512c14cc6c6991'] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('ICU', '75.1'), + ('OpenSSL', '3', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/nodejs/nodejs-20.9.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/nodejs/nodejs-20.9.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..24be2bb275b --- /dev/null +++ b/easybuild/easyconfigs/n/nodejs/nodejs-20.9.0-GCCcore-13.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'nodejs' +version = '20.9.0' # LTS on 2023-11-03 +local_libversion = '115' + +homepage = 'https://nodejs.org' +description = """Node.js is a platform built on Chrome's JavaScript runtime + for easily building fast, scalable network applications. Node.js uses an + event-driven, non-blocking I/O model that makes it lightweight and efficient, + perfect for data-intensive real-time applications that run across distributed devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://nodejs.org/dist/v%(version)s/'] +sources = ['node-v%(version)s.tar.gz'] +checksums = ['a7e6547a951406e4e546a74160ed27b26f9abd4baf7c44dd5a0fa992852d0cfa'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.5'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('ICU', '74.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# Use ICU and OpenSSL from EasyBuild +local_common_configopts = "--with-intl=system-icu --shared-openssl " + +configopts = [ + local_common_configopts, # Static build + '--shared %s' % local_common_configopts, # Build libnode.so in a second run +] + +# Link libv8 libs to libnode +local_extra_sonames = ['libnode', 'libv8', 'libv8_libbase', 'libv8_libplatform'] +local_extra_libs = ['%s.%s' % (x, SHLIB_EXT) for x in local_extra_sonames] +local_libnode_real = "libnode.%s.%s" % (SHLIB_EXT, local_libversion) + +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s %s %s" % (local_libnode_real, x) for x in local_extra_libs +] + +sanity_check_paths = { + 'files': ['bin/node', 'bin/npm'] + ['lib/%s' % x for x in [local_libnode_real] + local_extra_libs], + 'dirs': ['lib/node_modules', 'include/node'] +} + +sanity_check_commands = ["node --help"] + +moduleclass = 'lang' 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-11.3.0.eb b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8a9a65a7c28 --- /dev/null +++ b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['762aae22cadb898b00b9d4f4bbb9f8e87f8e0dde6c49a88cd0c554f4e5925b76'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('coverage', '7.2.7'), +] + +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/nose3/nose3-1.3.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3fb61c98db7 --- /dev/null +++ b/easybuild/easyconfigs/n/nose3/nose3-1.3.8-GCCcore-12.2.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.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['762aae22cadb898b00b9d4f4bbb9f8e87f8e0dde6c49a88cd0c554f4e5925b76'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('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/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/novaSTA/novaSTA-1.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/novaSTA/novaSTA-1.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..e69dece43fa --- /dev/null +++ b/easybuild/easyconfigs/n/novaSTA/novaSTA-1.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,50 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/01 +easyblock = 'MakeCp' +name = 'novaSTA' +version = '1.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/turonova/novaSTA' +description = """ C++ version of subtomogram averaging (SA) scripts from TOM/AV3 package +https://doi.org/10.1073/pnas.0409178102. Both CPU and GPU parallelization is +supported although the latter performs significantly worse in terms of +processing time (the code is not well optimized) and is thus not recommended for +larger datasets. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = { + 'cstd': 'c++14', + 'opt': 'True', + 'usempi': 'True' +} + +github_account = 'turonova' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['db0765eade1b0399929dcd61f2dbeeffd762885902f6ef2811d1fb4f9634a2ac'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), +] + +files_to_copy = [ + (['novaSTA'], 'bin'), + 'parameter_file_example.txt' +] + +# let easybuild set compiler options rather than static statements in makefile +prebuildopts = 'sed -i "s/^CXX/#&/g" ?akefile && ' +# set -s and NDEBUG +prebuildopts += 'export CXXFLAGS="$CXXFLAGS -s -DNDEBUG " && ' + +postinstallcmds = ['strip %(installdir)s/bin/*'] +examples = '%(installdir)s/parameter_file_example.txt' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'parameter_file_example.txt'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/n/nsync/nsync-1.24.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/nsync/nsync-1.24.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0cdb6dc3887 --- /dev/null +++ b/easybuild/easyconfigs/n/nsync/nsync-1.24.0-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeNinja' + +name = 'nsync' +version = '1.24.0' + +homepage = 'https://github.com/google/nsync' +description = """nsync is a C library that exports various synchronization primitives, such as mutexes""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/google/nsync/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['47a6eb2a295be5121a1904a6a775722338a20dc02ee3eec4169ed2c3f203617a'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Ninja', '1.10.2'), +] + +sanity_check_paths = { + 'files': ['include/nsync.h', 'lib/libnsync.a', 'lib/libnsync_cpp.a'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/nsync/nsync-1.25.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nsync/nsync-1.25.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..81bcc07cc76 --- /dev/null +++ b/easybuild/easyconfigs/n/nsync/nsync-1.25.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeNinja' + +name = 'nsync' +version = '1.25.0' + +homepage = 'https://github.com/google/nsync' +description = """nsync is a C library that exports various synchronization primitives, such as mutexes""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/nsync/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['2be9dbfcce417c7abcc2aa6fee351cd4d292518d692577e74a2c6c05b049e442'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +sanity_check_paths = { + 'files': ['include/nsync.h', 'lib/libnsync.a', 'lib/libnsync_cpp.a'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..80b697617ee --- /dev/null +++ b/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeNinja' + +name = 'nsync' +version = '1.26.0' + +homepage = 'https://github.com/google/nsync' +description = """nsync is a C library that exports various synchronization primitives, such as mutexes""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/google/nsync/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['80fc1e605bb3cf5f272811ece39c4fb6761ffcb9b30563301845cc9ff381eb8b'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/nsync.h', 'lib/libnsync.a', 'lib/libnsync_cpp.a'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a4a6fe8d2ca --- /dev/null +++ b/easybuild/easyconfigs/n/nsync/nsync-1.26.0-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeNinja' + +name = 'nsync' +version = '1.26.0' + +homepage = 'https://github.com/google/nsync' +description = """nsync is a C library that exports various synchronization primitives, such as mutexes""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/google/nsync/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['80fc1e605bb3cf5f272811ece39c4fb6761ffcb9b30563301845cc9ff381eb8b'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), +] + +sanity_check_paths = { + 'files': ['include/nsync.h', 'lib/libnsync.a', 'lib/libnsync_cpp.a'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/nsync/nsync-1.29.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/nsync/nsync-1.29.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e7c2035444b --- /dev/null +++ b/easybuild/easyconfigs/n/nsync/nsync-1.29.2-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeNinja' + +name = 'nsync' +version = '1.29.2' + +homepage = 'https://github.com/google/nsync' +description = """nsync is a C library that exports various synchronization primitives, such as mutexes""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/google/nsync/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1d63e967973733d2c97e841e3c05fac4d3fa299f01d14c86f2695594c7a4a2ec'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), +] + +sanity_check_paths = { + 'files': ['include/nsync.h', 'lib/libnsync.a', 'lib/libnsync_cpp.a'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/ntCard/ntCard-1.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/n/ntCard/ntCard-1.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..dab98882b89 --- /dev/null +++ b/easybuild/easyconfigs/n/ntCard/ntCard-1.2.1-GCC-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'ntCard' +version = '1.2.1' + +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': '11.2.0'} + +source_urls = ['https://github.com/bcgsc/%(name)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2d635dec6e293780a5ae2b7bb422ff5cc825a03270b507f5061cbf0f09ee7076'] + +builddependencies = [ + ('Autotools', '20210726'), +] + +# 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/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/num2words/num2words-0.5.10-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/num2words/num2words-0.5.10-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8f90ac679f5 --- /dev/null +++ b/easybuild/easyconfigs/n/num2words/num2words-0.5.10-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'num2words' +version = '0.5.10' + +homepage = "https://github.com/savoirfairelinux/num2words" +description = "Modules to convert numbers to words. 42 --> forty-two" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/savoirfairelinux/num2words/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ff107ecc0b6709bedf31fdb9e2ca45d29d3fd34b9eb6a0b89a862f337ac5ff00'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/num2words'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["num2words 42"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.2.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c2ebf71aad0 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.14' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f0a3761f374 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.14-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.14' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d9344685b43 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.16' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a35c3bdb3efab5c65927e0de5703227760b1101f5e27ab741d8f32b3d5f0a44c'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..68237d4c0cc --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.16' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['1b242f893af977a1d31af6ce9d6b8dafdd2d8ec3dc9207f7c2dc0d3446e7c7c8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..028a4a4c8a1 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.16' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a35c3bdb3efab5c65927e0de5703227760b1101f5e27ab741d8f32b3d5f0a44c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..119e66afaa7 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.18' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8cd6c13f3096e9c2293c1d732f56e2aa37a7ada1a98deed3fac7bd6da1aaaaf6'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numba/llvmlite-0.37.0_fix-LLVM-12.patch b/easybuild/easyconfigs/n/numba/llvmlite-0.37.0_fix-LLVM-12.patch new file mode 100644 index 00000000000..444d8c6fc42 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/llvmlite-0.37.0_fix-LLVM-12.patch @@ -0,0 +1,95 @@ +see https://github.com/numba/llvmlite/issues/688 + +changes from https://github.com/numba/llvmlite/pull/802 backported to llvmlite 0.37.0 + +From 1d928ebcd59b23b5050234a2bf71f9be7f5f6bd1 Mon Sep 17 00:00:00 2001 +From: Richard Barnes +Date: Wed, 1 Dec 2021 10:29:08 -0700 +Subject: [PATCH] Enable LLVM-12 and LLVM-13 + +--- + ffi/build.py | 5 ++--- + ffi/targets.cpp | 2 ++ + llvmlite/tests/test_binding.py | 19 ++++++++++++++++--- + 3 files changed, 20 insertions(+), 6 deletions(-) + +diff --git a/ffi/build.py b/ffi/build.py +index 6408bf5f..95e33c64 100755 +--- a/ffi/build.py ++++ b/ffi/build.py +@@ -162,9 +162,8 @@ def main_posix(kind, library_ext): + print(msg) + print(warning + '\n') + else: +- +- if not out.startswith('11'): +- msg = ("Building llvmlite requires LLVM 11.x.x, got " ++ if not (out.startswith('11') or out.startswith('12') or out.startswith('13')): ++ msg = ("Building llvmlite requires LLVM 11-13.x.x, got " + "{!r}. Be sure to set LLVM_CONFIG to the right executable " + "path.\nRead the documentation at " + "http://llvmlite.pydata.org/ for more information about " + +--- llvmlite-0.37.0/ffi/targets.cpp.orig 2021-12-15 16:43:02.794869270 +0100 ++++ llvmlite-0.37.0/ffi/targets.cpp 2021-12-15 16:43:26.665056528 +0100 +@@ -232,7 +232,9 @@ + rm = Reloc::DynamicNoPIC; + + TargetOptions opt; ++#if LLVM_VERSION_MAJOR < 12 + opt.PrintMachineCode = PrintMC; ++#endif + + bool jit = JIT; + +diff --git a/llvmlite/tests/test_binding.py b/llvmlite/tests/test_binding.py +index 80495787..fee2372a 100644 +--- a/llvmlite/tests/test_binding.py ++++ b/llvmlite/tests/test_binding.py +@@ -18,6 +18,16 @@ + from llvmlite.tests import TestCase + + ++def clean_string_whitespace(x: str) -> str: ++ # Remove trailing whitespace from the end of each line ++ x = re.sub(r"\s+$", "", x, flags=re.MULTILINE) ++ # Remove intermediate blank lines ++ x = re.sub(r"\n\s*\n", r"\n", x, flags=re.MULTILINE) ++ # Remove extraneous whitespace from the beginning and end of the string ++ x = x.strip() ++ return x ++ ++ + # arvm7l needs extra ABI symbols to link successfully + if platform.machine() == 'armv7l': + llvm.load_library_permanently('libgcc_s.so.1') +@@ -158,7 +168,7 @@ def no_de_locale(): + target triple = "unknown-unknown-unknown" + target datalayout = "" + +-define i32 @"foo"() ++define i32 @"foo"() + { + "<>!*''#": + ret i32 12345 +@@ -424,7 +434,10 @@ def test_nonalphanum_block_name(self): + bd = ir.IRBuilder(fn.append_basic_block(name="<>!*''#")) + bd.ret(ir.Constant(ir.IntType(32), 12345)) + asm = str(mod) +- self.assertEqual(asm, asm_nonalphanum_blocklabel) ++ self.assertEqual( ++ clean_string_whitespace(asm), ++ clean_string_whitespace(asm_nonalphanum_blocklabel) ++ ) + + def test_global_context(self): + gcontext1 = llvm.context.get_global_context() +@@ -509,7 +522,7 @@ def test_set_option(self): + def test_version(self): + major, minor, patch = llvm.llvm_version_info + # one of these can be valid +- valid = [(11,)] ++ valid = [(11,), (12,), (13,)] + self.assertIn((major,), valid) + self.assertIn(patch, range(10)) + diff --git a/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch b/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch new file mode 100644 index 00000000000..4d09309e51e --- /dev/null +++ b/easybuild/easyconfigs/n/numba/llvmlite-0.39.1_fix-LLVM-14.patch @@ -0,0 +1,95 @@ +fix build on top of LLVM 14, +like this: https://github.com/numba/llvmlite/issues/897 +diff -ruN llvmlite-0.39.1.orig/ffi/passmanagers.cpp llvmlite-0.39.1/ffi/passmanagers.cpp +--- llvmlite-0.39.1.orig/ffi/passmanagers.cpp 2022-09-01 13:47:22.477959200 +0000 ++++ llvmlite-0.39.1/ffi/passmanagers.cpp 2023-01-10 16:59:33.776510869 +0000 +@@ -8,6 +8,7 @@ + #include "llvm/IR/DiagnosticInfo.h" + #include "llvm/IR/DiagnosticPrinter.h" + #include "llvm/IR/LegacyPassManager.h" ++#include "llvm/Pass.h" + #include "llvm/IR/Module.h" + #include "llvm/Support/FileSystem.h" + #include "llvm/Support/ToolOutputFile.h" +@@ -17,9 +18,6 @@ + #include "llvm-c/Transforms/IPO.h" + #include "llvm-c/Transforms/Scalar.h" + #include "llvm/IR/LegacyPassManager.h" +-#if LLVM_VERSION_MAJOR > 11 +-#include "llvm/IR/RemarkStreamer.h" +-#endif + #include "llvm/IR/LLVMRemarkStreamer.h" + #include "llvm/Remarks/RemarkStreamer.h" + #include "llvm/Transforms/IPO.h" +diff -ruN llvmlite-0.39.1.orig/ffi/targets.cpp llvmlite-0.39.1/ffi/targets.cpp +--- llvmlite-0.39.1.orig/ffi/targets.cpp 2022-09-01 13:47:22.449959300 +0000 ++++ llvmlite-0.39.1/ffi/targets.cpp 2023-01-10 16:59:54.544810234 +0000 +@@ -6,7 +6,7 @@ + #include "llvm/IR/LegacyPassManager.h" + #include "llvm/IR/Type.h" + #include "llvm/Support/Host.h" +-#include "llvm/Support/TargetRegistry.h" ++#include "llvm/MC/TargetRegistry.h" + #include "llvm/Target/TargetMachine.h" + + #include +@@ -204,7 +204,6 @@ + rm = Reloc::DynamicNoPIC; + + TargetOptions opt; +- opt.PrintMachineCode = PrintMC; + opt.MCOptions.ABIName = ABIName; + + bool jit = JIT; +diff -ruN llvmlite-0.39.1.orig/ffi/value.cpp llvmlite-0.39.1/ffi/value.cpp +--- llvmlite-0.39.1.orig/ffi/value.cpp 2022-09-01 13:47:22.449959300 +0000 ++++ llvmlite-0.39.1/ffi/value.cpp 2023-01-10 16:59:09.616162588 +0000 +@@ -154,7 +154,7 @@ + Argument *arg = unwrap(A); + unsigned argno = arg->getArgNo(); + AttributeSet attrs = +- arg->getParent()->getAttributes().getParamAttributes(argno); ++ arg->getParent()->getAttributes().getParamAttrs(argno); + return wrap(new AttributeSetIterator(attrs.begin(), attrs.end())); + } + +diff -ruN llvmlite-0.39.1.orig/llvmlite/tests/test_binding.py llvmlite-0.39.1/llvmlite/tests/test_binding.py +--- llvmlite-0.39.1.orig/llvmlite/tests/test_binding.py 2022-09-01 13:47:22.481959000 +0000 ++++ llvmlite-0.39.1/llvmlite/tests/test_binding.py 2023-01-10 17:00:04.868959051 +0000 +@@ -18,6 +18,16 @@ + from llvmlite.tests import TestCase + + ++def clean_string_whitespace(x: str) -> str: ++ # Remove trailing whitespace from the end of each line ++ x = re.sub(r"\s+$", "", x, flags=re.MULTILINE) ++ # Remove intermediate blank lines ++ x = re.sub(r"\n\s*\n", r"\n", x, flags=re.MULTILINE) ++ # Remove extraneous whitespace from the beginning and end of the string ++ x = x.strip() ++ return x ++ ++ + # arvm7l needs extra ABI symbols to link successfully + if platform.machine() == 'armv7l': + llvm.load_library_permanently('libgcc_s.so.1') +@@ -555,7 +565,10 @@ + bd = ir.IRBuilder(fn.append_basic_block(name="<>!*''#")) + bd.ret(ir.Constant(ir.IntType(32), 12345)) + asm = str(mod) +- self.assertEqual(asm, asm_nonalphanum_blocklabel) ++ self.assertEqual( ++ clean_string_whitespace(asm), ++ clean_string_whitespace(asm_nonalphanum_blocklabel) ++ ) + + def test_global_context(self): + gcontext1 = llvm.context.get_global_context() +@@ -640,7 +653,7 @@ + def test_version(self): + major, minor, patch = llvm.llvm_version_info + # one of these can be valid +- valid = [(11,)] ++ valid = [(11,), (12,), (13,), (14,)] + self.assertIn((major,), valid) + self.assertIn(patch, range(10)) 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.50.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/n/numba/numba-0.50.1-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..b6e4f5a3a9d --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.50.1-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.50.1' +versionsuffix = '-Python-%(pyver)s' + +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': '2020a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('LLVM', '9.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('llvmlite', '0.33.0', { + 'patches': ['llvmlite-0.30.0_fix-ffi-Makefile.patch'], + 'preinstallopts': "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && ", + 'checksums': [ + '9c8aae96f7fba10d9ac864b443d1e8c7ee4765c31569a2b201b3d0b67d8fc596', # llvmlite-0.33.0.tar.gz + # llvmlite-0.30.0_fix-ffi-Makefile.patch + '672aba7b753dcfe5cb07c731bf1ec8bde1de148d4e0e2d10f6be81fb17f34bbc', + ], + }), + (name, version, { + 'checksums': ['89e81b51b880f9b18c82b7095beaccc6856fcf84ba29c4f0ced42e4e5748a3a7'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["numba --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numba/numba-0.53.1-foss-2021a.eb b/easybuild/easyconfigs/n/numba/numba-0.53.1-foss-2021a.eb new file mode 100644 index 00000000000..949917c9cd1 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.53.1-foss-2021a.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.53.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': '2021a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('LLVM', '11.1.0'), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.36.0', { + 'patches': ['llvmlite-0.36.0_fix-LLVM-11.patch'], + 'preinstallopts': local_llvmlite_preinstallopts, + 'checksums': [ + '765128fdf5f149ed0b889ffbe2b05eb1717f8e20a5c87fa2b4018fbcce0fcfc9', # llvmlite-0.36.0.tar.gz + '17ebf3e8eaea2dd820bf4e089983d5743656613eb6313c1ffed30c58e8d66be4', # llvmlite-0.36.0_fix-LLVM-11.patch + ], + }), + (name, version, { + 'checksums': ['9cd4e5216acdc66c4e9dab2dfd22ddb5bef151185c070d4a3cd8e78638aff5b0'], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["numba --help"] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/n/numba/numba-0.54.1-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/n/numba/numba-0.54.1-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..60d55c02ccc --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.54.1-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,60 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.54.1' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('LLVM', '12.0.1'), + ('CUDA', '11.4.1', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.37.0', { + 'patches': ['llvmlite-0.37.0_fix-LLVM-12.patch'], + 'preinstallopts': local_llvmlite_preinstallopts, + 'checksums': [ + '6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15', # llvmlite-0.37.0.tar.gz + 'bcdc530cfd087e8a9f68a73a80fe73f12c7b2adfdb51ded70cd2f4c404846298', # llvmlite-0.37.0_fix-LLVM-12.patch + ], + }), + (name, version, { + 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + 'f9dfc803c864edcc2381219b800abf366793400aea55e26d4d5b7d953e14f43f', # numba-0.54.1.tar.gz + 'f038e7adf0cd60f6bdde219b326aad4224fef46515799578ebbbdffa73224199', # numba-0.54.1_fix-numpy-1.21.patch + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + '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.54.1-foss-2021b.eb b/easybuild/easyconfigs/n/numba/numba-0.54.1-foss-2021b.eb new file mode 100644 index 00000000000..4a12631542f --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.54.1-foss-2021b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.54.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': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('LLVM', '12.0.1'), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.37.0', { + 'patches': ['llvmlite-0.37.0_fix-LLVM-12.patch'], + 'preinstallopts': local_llvmlite_preinstallopts, + 'checksums': [ + '6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15', # llvmlite-0.37.0.tar.gz + 'bcdc530cfd087e8a9f68a73a80fe73f12c7b2adfdb51ded70cd2f4c404846298', # llvmlite-0.37.0_fix-LLVM-12.patch + ], + }), + (name, version, { + 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + 'f9dfc803c864edcc2381219b800abf366793400aea55e26d4d5b7d953e14f43f', # numba-0.54.1.tar.gz + 'f038e7adf0cd60f6bdde219b326aad4224fef46515799578ebbbdffa73224199', # numba-0.54.1_fix-numpy-1.21.patch + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + '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.54.1-intel-2021b.eb b/easybuild/easyconfigs/n/numba/numba-0.54.1-intel-2021b.eb new file mode 100644 index 00000000000..81adc9acf49 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.54.1-intel-2021b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.54.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': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('LLVM', '12.0.1'), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.37.0', { + 'patches': ['llvmlite-0.37.0_fix-LLVM-12.patch'], + 'preinstallopts': local_llvmlite_preinstallopts, + 'checksums': [ + '6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15', # llvmlite-0.37.0.tar.gz + 'bcdc530cfd087e8a9f68a73a80fe73f12c7b2adfdb51ded70cd2f4c404846298', # llvmlite-0.37.0_fix-LLVM-12.patch + ], + }), + (name, version, { + 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + 'f9dfc803c864edcc2381219b800abf366793400aea55e26d4d5b7d953e14f43f', # numba-0.54.1.tar.gz + 'f038e7adf0cd60f6bdde219b326aad4224fef46515799578ebbbdffa73224199', # numba-0.54.1_fix-numpy-1.21.patch + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + '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.54.1_fix-numpy-1.21.patch b/easybuild/easyconfigs/n/numba/numba-0.54.1_fix-numpy-1.21.patch new file mode 100644 index 00000000000..f15a14ee48e --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.54.1_fix-numpy-1.21.patch @@ -0,0 +1,251 @@ +fix compatibility with numpy 1.21 +extracted from https://github.com/numba/numba/pull/7483 + +--- numba-0.54.1/setup.py.orig 2021-12-15 15:49:05.785690139 +0100 ++++ numba-0.54.1/setup.py 2021-12-15 15:49:09.255689514 +0100 +@@ -23,7 +23,7 @@ + max_python_version = "3.10" # exclusive + min_numpy_build_version = "1.11" + min_numpy_run_version = "1.17" +-max_numpy_run_version = "1.21" ++max_numpy_run_version = "1.22" + min_llvmlite_version = "0.37.0rc1" + max_llvmlite_version = "0.38" + +--- numba-0.54.1/numba/__init__.py.orig 2021-10-08 19:12:54.197672600 +0200 ++++ numba-0.54.1/numba/__init__.py 2021-12-15 15:57:05.995560177 +0100 +@@ -134,8 +134,8 @@ + + if numpy_version < (1, 17): + raise ImportError("Numba needs NumPy 1.17 or greater") +- elif numpy_version > (1, 20): +- raise ImportError("Numba needs NumPy 1.20 or less") ++ elif numpy_version > (1, 21): ++ raise ImportError("Numba needs NumPy 1.21 or less") + + try: + import scipy + + +From cff3dd6f92286fd8621a902d6595b65208e90013 Mon Sep 17 00:00:00 2001 +From: Sebastian Berg +Date: Thu, 30 Sep 2021 14:27:01 -0500 +Subject: [PATCH 6/8] BUG: Support the fastcall mechanism for NumPy's ufunc + methods + +This is a start to support NumPy 1.21 use of FASTCALL methods +in ufuncs. There are probably better ways to achieve this support. + +NumPy further uses `tp_vectorcall_offset` on newer versions. This +PR does not add support for this (meaning that a DUfunc will be +unnecessarily slow on NumPy >=1.21 when kwargs are used). +--- + numba/np/ufunc/_internal.c | 99 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 97 insertions(+), 2 deletions(-) + +diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c +index d3ca1319b6..600014df55 100644 +--- a/numba/np/ufunc/_internal.c ++++ b/numba/np/ufunc/_internal.c +@@ -276,6 +276,7 @@ static PyMemberDef dufunc_members[] = { + */ + + static struct _ufunc_dispatch { ++ /* Note that the following may also hold `_PyCFunctionFastWithKeywords` */ + PyCFunctionWithKeywords ufunc_reduce; + PyCFunctionWithKeywords ufunc_accumulate; + PyCFunctionWithKeywords ufunc_reduceat; +@@ -286,7 +287,7 @@ static struct _ufunc_dispatch { + } ufunc_dispatch; + + static int +-init_ufunc_dispatch(void) ++init_ufunc_dispatch(int *numpy_uses_fastcall) + { + int result = 0; + PyMethodDef * crnt = PyUFunc_Type.tp_methods; +@@ -329,6 +330,16 @@ init_ufunc_dispatch(void) + result = -1; /* Unknown method */ + } + if (result < 0) break; ++ ++ /* Check whether NumPy uses fastcall (ufunc.at never uses it) */ ++ if (!strncmp(crnt_name, "at", 3)) { ++ if (*numpy_uses_fastcall == -1) { ++ *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL; ++ } ++ else if (*numpy_uses_fastcall != (crnt->ml_flags & METH_FASTCALL)) { ++ return -1; ++ } ++ } + } + if (result == 0) { + /* Sanity check. */ +@@ -344,6 +355,7 @@ init_ufunc_dispatch(void) + return result; + } + ++ + static PyObject * + dufunc_reduce(PyDUFuncObject * self, PyObject * args, PyObject *kws) + { +@@ -368,6 +380,47 @@ dufunc_outer(PyDUFuncObject * self, PyObject * args, PyObject *kws) + return ufunc_dispatch.ufunc_outer((PyObject*)self->ufunc, args, kws); + } + ++ ++/* ++ * The following are the vectorcall versions of the above, since NumPy ++ * uses the FASTCALL/Vectorcall protocol starting with version 1.21. ++ * The only NumPy versions supporting vectorcall use Python 3.7 or higher. ++ */ ++static PyObject * ++dufunc_reduce_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_reduce)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++static PyObject * ++dufunc_reduceat_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_reduceat)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ ++static PyObject * ++dufunc_accumulate_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_accumulate)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ ++static PyObject * ++dufunc_outer_fast(PyDUFuncObject * self, ++ PyObject *const *args, Py_ssize_t len_args, PyObject *kwnames) ++{ ++ return ((_PyCFunctionFastWithKeywords)ufunc_dispatch.ufunc_outer)( ++ (PyObject*)self->ufunc, args, len_args, kwnames); ++} ++ ++ + #if NPY_API_VERSION >= 0x00000008 + static PyObject * + dufunc_at(PyDUFuncObject * self, PyObject * args) +@@ -568,6 +621,41 @@ static struct PyMethodDef dufunc_methods[] = { + {NULL, NULL, 0, NULL} /* sentinel */ + }; + ++ ++/* ++ * If Python is new enough, NumPy may use fastcall. In that case we have to ++ * also use fastcall for simplicity and speed. ++ */ ++static struct PyMethodDef dufunc_methods_fast[] = { ++ {"reduce", ++ (PyCFunction)dufunc_reduce_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"accumulate", ++ (PyCFunction)dufunc_accumulate_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"reduceat", ++ (PyCFunction)dufunc_reduceat_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL }, ++ {"outer", ++ (PyCFunction)dufunc_outer_fast, ++ METH_FASTCALL | METH_KEYWORDS, NULL}, ++#if NPY_API_VERSION >= 0x00000008 ++ {"at", ++ (PyCFunction)dufunc_at, ++ METH_VARARGS, NULL}, ++#endif ++ {"_compile_for_args", ++ (PyCFunction)dufunc__compile_for_args, ++ METH_VARARGS | METH_KEYWORDS, ++ "Abstract method: subclasses should overload _compile_for_args() to compile the ufunc at the given arguments' types."}, ++ {"_add_loop", ++ (PyCFunction)dufunc__add_loop, ++ METH_VARARGS, ++ NULL}, ++ {NULL, NULL, 0, NULL} /* sentinel */ ++}; ++ ++ + static PyObject * + dufunc_getfrozen(PyDUFuncObject * self, void * closure) + { +@@ -681,8 +769,15 @@ MOD_INIT(_internal) + return MOD_ERROR_VAL; + + PyDUFunc_Type.tp_new = PyType_GenericNew; +- if (init_ufunc_dispatch() <= 0) ++ ++ int numpy_uses_fastcall = -1; ++ if (init_ufunc_dispatch(&numpy_uses_fastcall) <= 0) + return MOD_ERROR_VAL; ++ ++ if (numpy_uses_fastcall) { ++ PyDUFunc_Type.tp_methods = dufunc_methods_fast; ++ } ++ + if (PyType_Ready(&PyDUFunc_Type) < 0) + return MOD_ERROR_VAL; + Py_INCREF(&PyDUFunc_Type); + +From 4df2640b60804f1462e2f48b72f744005ed6ec9a Mon Sep 17 00:00:00 2001 +From: Stuart Archibald +Date: Fri, 15 Oct 2021 15:23:53 +0100 +Subject: [PATCH 7/8] Add suggested fix for detecting ufunc.at + +As title. +--- + numba/np/ufunc/_internal.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c +index 600014df55..d3e19b1cdc 100644 +--- a/numba/np/ufunc/_internal.c ++++ b/numba/np/ufunc/_internal.c +@@ -332,7 +332,7 @@ init_ufunc_dispatch(int *numpy_uses_fastcall) + if (result < 0) break; + + /* Check whether NumPy uses fastcall (ufunc.at never uses it) */ +- if (!strncmp(crnt_name, "at", 3)) { ++ if (strncmp(crnt_name, "at", 3) != 0) { + if (*numpy_uses_fastcall == -1) { + *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL; + } + +From 635e05661b5d715bd8a9cb9448bd24930f693c38 Mon Sep 17 00:00:00 2001 +From: Stuart Archibald +Date: Tue, 16 Nov 2021 12:06:11 +0000 +Subject: [PATCH 8/8] Skip NaT input on np.median test for np=1.21. + +As title. See: https://github.com/numpy/numpy/issues/20376 +--- + numba/tests/test_array_reductions.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/numba/tests/test_array_reductions.py b/numba/tests/test_array_reductions.py +index de0d445fe6..a5763a753b 100644 +--- a/numba/tests/test_array_reductions.py ++++ b/numba/tests/test_array_reductions.py +@@ -686,8 +686,11 @@ def _do_check_nptimedelta(self, pyfunc, arr): + np.random.shuffle(arr) + self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) + # Test with a NaT +- arr[arr.size // 2] = 'NaT' +- self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) ++ if numpy_version != (1, 21) and 'median' not in pyfunc.__name__: ++ # There's problems with NaT handling in "median" on at least NumPy ++ # 1.21.{3, 4}. See https://github.com/numpy/numpy/issues/20376 ++ arr[arr.size // 2] = 'NaT' ++ self.assertPreciseEqual(cfunc(arr), pyfunc(arr)) + if 'median' not in pyfunc.__name__: + # Test with (val, NaT)^N (and with the random NaT from above) + # use a loop, there's some weird thing/bug with arr[1::2] = 'NaT' diff --git a/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..01f81467022 --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('LLVM', '14.0.3'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + + +exts_list = [ + ('llvmlite', '0.39.1', { + 'preinstallopts': local_llvmlite_preinstallopts, + 'patches': ['llvmlite-0.39.1_fix-LLVM-14.patch'], + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39.1_fix-LLVM-14.patch': '39cde92d522cce45f8b93231059f7e2c69bc54dc7c35c4c6eaee3423f3f04d17'}, + ], + }), + (name, version, { + # 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + {'numba-0.56.4.tar.gz': '32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'}, + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + '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.56.4-foss-2022a.eb b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a.eb new file mode 100644 index 00000000000..c24eb2ca63f --- /dev/null +++ b/easybuild/easyconfigs/n/numba/numba-0.56.4-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'numba' +version = '0.56.4' + +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': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('LLVM', '14.0.3'), +] + +use_pip = True +sanity_pip_check = True + +local_llvmlite_preinstallopts = "export LLVM_CONFIG=${EBROOTLLVM}/bin/llvm-config && " +local_llvmlite_preinstallopts += "export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 && " + +exts_list = [ + ('llvmlite', '0.39.1', { + 'preinstallopts': local_llvmlite_preinstallopts, + 'patches': ['llvmlite-0.39.1_fix-LLVM-14.patch'], + 'checksums': [ + {'llvmlite-0.39.1.tar.gz': 'b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572'}, + {'llvmlite-0.39.1_fix-LLVM-14.patch': '39cde92d522cce45f8b93231059f7e2c69bc54dc7c35c4c6eaee3423f3f04d17'}, + ], + }), + (name, version, { + # 'patches': ['numba-0.54.1_fix-numpy-1.21.patch'], + 'checksums': [ + {'numba-0.56.4.tar.gz': '32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee'}, + ], + }), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/numba', 'bin/pycc'], + '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-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/n/numdiff/numdiff-5.9.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/numdiff/numdiff-5.9.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b8f9bfcd13d --- /dev/null +++ b/easybuild/easyconfigs/n/numdiff/numdiff-5.9.0-GCCcore-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'numdiff' +version = '5.9.0' + +homepage = 'https://www.nongnu.org/numdiff/' +description = """Numdiff (which I will also write numdiff) is a little program that can be used to compare putatively + similar files line by line and field by field, ignoring small numeric differences or/and different numeric formats. + Equivalently, Numdiff is a program with the capability to appropriately compare files containing numerical fields + (and not only).""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['87284a117944723eebbf077f857a0a114d818f8b5b54d289d59e73581194f5ef'] + +builddependencies = [('binutils', '2.35')] + +sanity_check_paths = { + 'files': ['bin/ndselect', 'bin/numdiff'], + 'dirs': ['share'], +} + +sanity_check_commands = ["numdiff --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numdiff/numdiff-5.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/numdiff/numdiff-5.9.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9bee3f67258 --- /dev/null +++ b/easybuild/easyconfigs/n/numdiff/numdiff-5.9.0-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'numdiff' +version = '5.9.0' + +homepage = 'https://www.nongnu.org/numdiff/' +description = """Numdiff (which I will also write numdiff) is a little program that can be used to compare putatively + similar files line by line and field by field, ignoring small numeric differences or/and different numeric formats. + Equivalently, Numdiff is a program with the capability to appropriately compare files containing numerical fields + (and not only).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SAVANNAH_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['87284a117944723eebbf077f857a0a114d818f8b5b54d289d59e73581194f5ef'] + +builddependencies = [('binutils', '2.39')] + +sanity_check_paths = { + 'files': ['bin/ndselect', 'bin/numdiff'], + 'dirs': ['share'], +} + +sanity_check_commands = ["numdiff --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb new file mode 100644 index 00000000000..bfe69543210 --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.1' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a416a869f4e6a488af7cd876a326fb82f892b23570b68eecff8135c4a39dd161'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb new file mode 100644 index 00000000000..8b60eb67fde --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.1-intel-2021a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.1' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a416a869f4e6a488af7cd876a326fb82f892b23570b68eecff8135c4a39dd161'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.8.4-foss-2022a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.4-foss-2022a.eb new file mode 100644 index 00000000000..41f638503e2 --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.8.4-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.8.4' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0e21addd25db5f62d60d97e4380339d9c1fb2de72c88b070c279776ee6455d10'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/numexpr/numexpr-2.9.0-foss-2023a.eb b/easybuild/easyconfigs/n/numexpr/numexpr-2.9.0-foss-2023a.eb new file mode 100644 index 00000000000..74e99150d4b --- /dev/null +++ b/easybuild/easyconfigs/n/numexpr/numexpr-2.9.0-foss-2023a.eb @@ -0,0 +1,21 @@ +name = 'numexpr' +version = '2.9.0' + +homepage = 'https://numexpr.readthedocs.io/en/latest/' +description = """The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. + It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into + code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a + compiler at runtime.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/pydata/numexpr/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4df4163fcab20030137e8f2aa23e88e1e42e6fe702387cfd95d7675e1d84645e'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb b/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb new file mode 100644 index 00000000000..86418708323 --- /dev/null +++ b/easybuild/easyconfigs/n/nvitop/nvitop-1.3.2-GCCcore-12.3.0-CUDA-12.3.0.eb @@ -0,0 +1,47 @@ +# Autor: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'nvitop' +version = '1.3.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://nvitop.readthedocs.io.' +description = """An interactive NVIDIA-GPU process viewer and beyond, the one-stop +solution for GPU process management.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.3.0', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('psutil', '5.9.8', { + 'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'], + }), + ('nvidia-ml-py', '12.535.161', { + 'checksums': ['2bcc31ff7a0ea291ed8d7fc39b149391a42c2fb1cb4256c935e692de488b4d17'], + 'modulename': 'pynvml', + }), + (name, version, { + 'checksums': ['9ea401dfca6b268cf30c041e428f461aab31e4bc5e17bc8e923568e16c9cb1f1'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb b/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb new file mode 100644 index 00000000000..172f0f07ea9 --- /dev/null +++ b/easybuild/easyconfigs/n/nvofbf/nvofbf-2022.07.eb @@ -0,0 +1,25 @@ +easyblock = 'Toolchain' + +name = 'nvofbf' +version = '2022.07' + +homepage = '(none)' +description = """NVHPC based toolchain, including OpenMPI for MPI support, +OpenBLAS (via FlexiBLAS for BLAS and LAPACK support), FFTW and ScaLAPACK.""" + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '22.7-CUDA-11.7.0') + +local_comp_mpi_tc = ('nvompi', version) + +dependencies = [ + local_compiler, + ('OpenMPI', '4.1.4', '', local_compiler), + ('FlexiBLAS', '3.2.0', '', local_compiler), + ('FFTW', '3.3.10', '', local_compiler), + ('FFTW.MPI', '3.3.10', '', local_comp_mpi_tc), + ('ScaLAPACK', '2.2.0', '-fb', local_comp_mpi_tc), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb b/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb new file mode 100644 index 00000000000..1a1647cbfa2 --- /dev/null +++ b/easybuild/easyconfigs/n/nvompi/nvompi-2022.07.eb @@ -0,0 +1,19 @@ +easyblock = 'Toolchain' + +name = 'nvompi' +version = '2022.07' + +homepage = '(none)' +description = 'NVHPC based compiler toolchain, including OpenMPI for MPI support.' + +toolchain = SYSTEM + +local_compiler = ('NVHPC', '22.7-CUDA-11.7.0') + +dependencies = [ + local_compiler, + ('OpenMPI', '4.1.4', '', local_compiler), + ('CUDA', '11.7.0', '', SYSTEM), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-1.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.1-GCCcore-10.2.0.eb index d8de7f18054..5d464d98c13 100644 --- a/easybuild/easyconfigs/n/nvtop/nvtop-1.2.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.1-GCCcore-10.2.0.eb @@ -17,15 +17,13 @@ builddependencies = [ ('CMake', '3.18.4'), ] +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. dependencies = [ - ('CUDAcore', '11.1.1', '', True), ('ncurses', '6.2'), ] separate_build_dir = True -configopts = '-DNVML_INCLUDE_DIRS=$EBROOTCUDA/include -DNVML_LIBRARIES=$EBROOTCUDA/lib64/stubs/libnvidia-ml.so' - sanity_check_paths = { 'files': ['bin/nvtop'], 'dirs': [], diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c0476961321 --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '1.2.2' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d6ca7f467cc1048ebd1ebf7add753650c5d7c8868752c0c57ed2c85df62f5810'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.2'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8f8b137768b --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-1.2.2-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '1.2.2' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d6ca7f467cc1048ebd1ebf7add753650c5d7c8868752c0c57ed2c85df62f5810'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.2'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-2.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-2.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cb75d8e7684 --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-2.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '2.0.2' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['7f22bb9f59e36551f5d7640d265b63ec6af1a91a421fa220dd913a5a134e9901'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.3'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-3.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-3.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c4dd3f56af6 --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-3.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '3.0.1' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f61ecbe3a30a216706c16fc177d3b840e7d7deccf87b048d59f95f230d591a53'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.3'), + ('libdrm', '2.4.114'), +] + +osdependencies = [('libsystemd-dev', 'libudev-dev', 'systemd-devel')] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7e479cb9a2e --- /dev/null +++ b/easybuild/easyconfigs/n/nvtop/nvtop-3.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'nvtop' +version = '3.1.0' + +homepage = 'https://github.com/Syllo/nvtop' +description = 'htop-like GPU usage monitor' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/Syllo/nvtop/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['9481c45c136163574f1f16d87789859430bc90a1dc62f181b269b5edd92f01f3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +# Note: software dlopen's libraries from the OS installed drivers, thus no specific CUDA dependency. +dependencies = [ + ('ncurses', '6.4'), + ('libdrm', '2.4.115'), +] + +osdependencies = [('libsystemd-dev', 'libudev-dev', 'systemd-devel')] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/nvtop'], + 'dirs': [], +} + +sanity_check_commands = ["nvtop --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OBITools/OBITools-1.2.13-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/o/OBITools/OBITools-1.2.13-foss-2019a-Python-2.7.15.eb new file mode 100644 index 00000000000..97e6acc1884 --- /dev/null +++ b/easybuild/easyconfigs/o/OBITools/OBITools-1.2.13-foss-2019a-Python-2.7.15.eb @@ -0,0 +1,34 @@ +easyblock = "PythonPackage" + +name = 'OBITools' +version = '1.2.13' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://git.metabarcoding.org/obitools/obitools/wikis/home' +description = """OBITools is a set of python programs developed to +simplify the manipulation of sequence files. They were mainly designed +to for analyzing Next Generation Sequencer outputs (454 or Illumina) in +the context of DNA Metabarcoding.""" + +toolchain = {'name': 'foss', 'version': '2019a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['efc7b583a44f435f0663f9d67759a0e3d415ba1896e6132198cb135e35c34873'] + +dependencies = [ + ('Python', '2.7.15'), + ('IPython', '5.8.0', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'obitools'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ali2consensus', 'ecotag', 'obiaddtaxids', 'obicount', 'obistat']], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages/obitools'], +} + +moduleclass = 'bio' 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/OCaml/OCaml-5.1.1-GCC-13.2.0.eb b/easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..bd3ad98eb7e --- /dev/null +++ b/easybuild/easyconfigs/o/OCaml/OCaml-5.1.1-GCC-13.2.0.eb @@ -0,0 +1,54 @@ +name = 'OCaml' +version = '5.1.1' + +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': '13.2.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 = [ + {'5.1.1.tar.gz': '57f7b382b3d71198413ede405d95ef3506f1cdc480cda1dca1e26b37cb090e17'}, + {'opam-full-2.1.5.tar.gz': '09f8d9e410b2f5723c2bfedbf7970e3b305f5017895fcd91759f05e753ddcea5'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('ncurses', '6.4'), + ('libreadline', '8.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.8.0'), + ('conf-pkg-config', '3'), + ('dune-configurator', '3.14.2'), + ('dune', '3.14.2'), + ('base', 'v0.16.3'), + ('stdio', 'v0.16.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202-GCC-11.2.0.eb new file mode 100644 index 00000000000..06d84a232f2 --- /dev/null +++ b/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'OGDF' +version = 'dogwood-202202' + +homepage = 'https://ogdf.uos.de/' +description = """OGDF is a self-contained C++ library for graph +algorithms, in particular for (but not restricted to) automatic graph +drawing. It offers sophisticated algorithms and data structures to use +within your own applications or scientific projects.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/ogdf/ogdf/archive'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'OGDF-dogwood-202202_fix_lib_install_dir.patch', +] +checksums = [ + '308cc2749c6a63520f7979bac86a04066dfea2fb9d3a5e89831318db404bfbf5', # dogwood-202202.tar.gz + 'f6c2fab1d01ee82346241d24341475c85ecf9e942659823a54185bb83a717879', # OGDF-dogwood-202202_fix_lib_install_dir.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Doxygen', '1.9.1'), +] + +build_shared_libs = True + +sanity_check_paths = { + 'files': ['include/ogdf/basic/List.h'], + 'dirs': ['share/doc/libogdf/examples'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202_fix_lib_install_dir.patch b/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202_fix_lib_install_dir.patch new file mode 100644 index 00000000000..1d677ca9bee --- /dev/null +++ b/easybuild/easyconfigs/o/OGDF/OGDF-dogwood-202202_fix_lib_install_dir.patch @@ -0,0 +1,35 @@ +Don't use CMAKE_LIBRARY_ARCHITECTURE. + +Åke Sandgren, 2022-05-02 +diff -ru ogdf-dogwood-202202.orig/cmake/coin.cmake ogdf-dogwood-202202/cmake/coin.cmake +--- ogdf-dogwood-202202.orig/cmake/coin.cmake 2022-02-02 22:09:01.000000000 +0100 ++++ ogdf-dogwood-202202/cmake/coin.cmake 2022-05-02 14:22:06.017468966 +0200 +@@ -55,10 +55,10 @@ + endif() + + # installation +-set(COIN_INSTALL_LIBRARY_DIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}" CACHE PATH "Installation path of COIN library") ++set(COIN_INSTALL_LIBRARY_DIR "lib" CACHE PATH "Installation path of COIN library") + set(COIN_INSTALL_BIN_DIR "bin" CACHE PATH "Installation path of COIN runtime targets") + set(COIN_INSTALL_INCLUDE_DIR "include" CACHE PATH "Installation path of COIN header files (creates subdirectory)") +-set(COIN_INSTALL_CMAKE_DIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}/cmake/OGDF/" CACHE PATH "Installation path of COIN files for CMake") ++set(COIN_INSTALL_CMAKE_DIR "lib/cmake/OGDF/" CACHE PATH "Installation path of COIN files for CMake") + mark_as_advanced(COIN_INSTALL_LIBRARY_DIR COIN_INSTALL_BIN_DIR COIN_INSTALL_INCLUDE_DIR COIN_INSTALL_CMAKE_DIR) + install(TARGETS COIN + EXPORT CoinTargets +diff -ru ogdf-dogwood-202202.orig/cmake/ogdf.cmake ogdf-dogwood-202202/cmake/ogdf.cmake +--- ogdf-dogwood-202202.orig/cmake/ogdf.cmake 2022-02-02 22:09:01.000000000 +0100 ++++ ogdf-dogwood-202202/cmake/ogdf.cmake 2022-05-02 14:22:16.929387664 +0200 +@@ -193,10 +193,10 @@ + endif() + + # installation +-set(OGDF_INSTALL_LIBRARY_DIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}" CACHE PATH "Installation path of OGDF library") ++set(OGDF_INSTALL_LIBRARY_DIR "lib" CACHE PATH "Installation path of OGDF library") + set(OGDF_INSTALL_BIN_DIR "bin" CACHE PATH "Installation path of OGDF runtime targets") + set(OGDF_INSTALL_INCLUDE_DIR "include" CACHE PATH "Installation path of OGDF header files (creates subdirectory)") +-set(OGDF_INSTALL_CMAKE_DIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}/cmake/OGDF/" CACHE PATH "Installation path of OGDF files for CMake") ++set(OGDF_INSTALL_CMAKE_DIR "lib/cmake/OGDF/" CACHE PATH "Installation path of OGDF files for CMake") + mark_as_advanced(OGDF_INSTALL_LIBRARY_DIR OGDF_INSTALL_BIN_DIR OGDF_INSTALL_INCLUDE_DIR OGDF_INSTALL_CMAKE_DIR) + configure_file(cmake/ogdf-config.cmake "${PROJECT_BINARY_DIR}/ogdf-config.cmake" @ONLY) + install(TARGETS OGDF diff --git a/easybuild/easyconfigs/o/OMERO.insight/OMERO.insight-5.8.3-Java-11.eb b/easybuild/easyconfigs/o/OMERO.insight/OMERO.insight-5.8.3-Java-11.eb new file mode 100644 index 00000000000..8c0e3aba949 --- /dev/null +++ b/easybuild/easyconfigs/o/OMERO.insight/OMERO.insight-5.8.3-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'OMERO.insight' +version = '5.8.3' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://github.com/ome/omero-insight' +description = """The OMERO.insight Project is a sub-project of the Open Microscopy Environment Project, OME that +focuses on delivering a client for the visualization and manipulation of both image data and metadata maintained +at an OMERO server site.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/ome/omero-insight/releases/download/v%(version)s/'] +sources = [SOURCE_ZIP] +checksums = ['9c4e48daff6e1bfe3d297ea0fd9a302730796f38cfa6d17729036e080ebeb173'] + +dependencies = [('Java', '11')] + +postinstallcmds = ["rm %(installdir)s/bin/omero-insight.bat"] + +sanity_check_paths = { + 'files': ['bin/omero-insight'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OMERO.py/OMERO.py-5.17.0-gfbf-2023a.eb b/easybuild/easyconfigs/o/OMERO.py/OMERO.py-5.17.0-gfbf-2023a.eb new file mode 100644 index 00000000000..77e990a66c7 --- /dev/null +++ b/easybuild/easyconfigs/o/OMERO.py/OMERO.py-5.17.0-gfbf-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'OMERO.py' +version = '5.17.0' + +homepage = 'https://github.com/ome/omero-py' +description = """OMERO.py provides Python bindings to the OMERO.blitz server as well as a pluggable command-line +interface.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Pillow', '10.0.0'), + ('PyYAML', '6.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('zeroc-ice', '3.6.5', { + 'patches': ['zeroc-ice-3.6.5-py311.patch'], + 'modulename': 'Ice', + 'checksums': [ + {'zeroc-ice-3.6.5.tar.gz': '4235ffeb605bcd4e22e716577f7d61e4aa1bc82f65276bb542701a81b7933356'}, + {'zeroc-ice-3.6.5-py311.patch': 'b0d78cea8348e8685d1c87c294b41d03a89b71ac754275f3c518bf3f85c0d9ee'}, + ], + }), + ('omero-py', version, { + 'modulename': 'omero', + 'checksums': ['138120adfb500b6a3c85fd2160aefd10371f8080486d18231a6b6a55551e7aa1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/omero'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/omero'], +} + +sanity_check_commands = ['omero -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OMERO.py/zeroc-ice-3.6.5-py311.patch b/easybuild/easyconfigs/o/OMERO.py/zeroc-ice-3.6.5-py311.patch new file mode 100644 index 00000000000..8e98cf37048 --- /dev/null +++ b/easybuild/easyconfigs/o/OMERO.py/zeroc-ice-3.6.5-py311.patch @@ -0,0 +1,25 @@ +Fixes for python 3.11 +Author: micketeer@gmail.com + +--- src/Util.cpp.orig 2023-11-30 15:37:41.303679907 +0000 ++++ src/Util.cpp 2023-11-30 15:38:10.439525959 +0000 +@@ -214,7 +214,7 @@ + // + // Get name of current function. + // +- PyFrameObject *f = PyThreadState_GET()->frame; ++ PyFrameObject *f = PyEval_GetFrame(); + PyObjectHandle code = PyObject_GetAttrString(reinterpret_cast(f), STRCAST("f_code")); + assert(code.get()); + PyObjectHandle func = PyObject_GetAttrString(code.get(), STRCAST("co_name")); +--- src/Slice.cpp.orig 2023-11-30 15:37:31.530731550 +0000 ++++ src/Slice.cpp 2019-07-31 19:49:38.000000000 +0000 +@@ -21,7 +21,7 @@ + // Python headers needed for PyEval_EvalCode. + // + #include +-#include ++#include + + using namespace std; + using namespace IcePy; diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..a2434cbbc44 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonPackage' + +name = 'ONNX-Runtime' +version = '1.10.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} + +# ONNX Runtime with support for GPUs is distributed under the name 'onnxruntime-gpu' in PyPI +source_urls = ['http://pypi.python.org/packages/source/o/onnxruntime-gpu'] +local_whl_tmpl = 'onnxruntime_gpu-%%(version)s-cp39-cp39-manylinux_2_17_%s.manylinux2014_%s.whl' +sources = [local_whl_tmpl % ('%(arch)s', '%(arch)s')] +checksums = [ + { + local_whl_tmpl % ('x86_64', 'x86_64'): + '2ffe8009eef07307a836e654a8449c177c0ef84ef29c4619d464d5ad8ab2d01b', + } +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('ONNX', '1.11.0'), + ('flatbuffers-python', '2.0'), +] + +use_pip = True +download_dep_fail = True + +# Due to its name 'onnxruntime-gpu', this package does not fullfil requirements on 'onnxruntime' although it provides +# the 'onnxruntime' python module. Fix this dependency issue in pip by creating a stub 'onnxruntime' dist-info folder +_py_sitepkgs = '%(installdir)s/lib/python%(pyshortver)s/site-packages' +postinstallcmds = [ + "cp -r %s/onnxruntime{_gpu,}-%%(version)s.dist-info" % _py_sitepkgs, + "sed -i 's/onnxruntime.gpu/onnxruntime/g' %s/onnxruntime-%%(version)s.dist-info/{METADATA,RECORD}" % _py_sitepkgs, +] + +sanity_pip_check = True + +_py_sitepkgs_dirs = ['onnxruntime', 'onnxruntime-%(version)s.dist-info', 'onnxruntime_gpu-%(version)s.dist-info'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%%(pyshortver)s/site-packages/%s' % x for x in _py_sitepkgs_dirs], +} + +options = {'modulename': 'onnxruntime'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb new file mode 100644 index 00000000000..b7a7262b898 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.10.0-foss-2021a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'ONNX-Runtime' +version = '1.10.0' + +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': '2021a'} + +source_urls = ['http://pypi.python.org/packages/source/o/onnxruntime'] +local_whl_tmpl = 'onnxruntime-%%(version)s-cp39-cp39-manylinux_2_17_%s.manylinux2014_%s.whl' +sources = [local_whl_tmpl % ('%(arch)s', '%(arch)s')] +checksums = [ + { + local_whl_tmpl % ('x86_64', 'x86_64'): + '34cfb07a8af91b3b7f82ad9db8f6dce67f0bd672cdaf659d0fd86aaba7a021d9', + local_whl_tmpl % ('aarch64', 'aarch64'): + 'd5b0d3cf319c038b9f4479235dcf842d959f1248be48953f478822ac48a60617', + } +] + +dependencies = [ + ('Python', '3.9.5'), + ('ONNX', '1.11.0'), + ('flatbuffers-python', '2.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +options = {'modulename': 'onnxruntime'} + +moduleclass = 'devel' 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-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..91b8598722a --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'ONNX-Runtime' +version = '1.19.2' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('ONNX', '1.15.0'), + ('flatbuffers-python', '23.5.26'), + ('sympy', '1.12'), +] + +use_pip = True + +local_whl_tmpl = 'onnxruntime_gpu-%%(version)s-cp311-cp311-manylinux_2_27_%s.manylinux_2_28_%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-gpu'], + 'sources': [local_whl_tmpl % ('%(arch)s', '%(arch)s')], + 'checksums': [{ + local_whl_tmpl % ('x86_64', 'x86_64'): + '562fc7c755393eaad9751e56149339dd201ffbfdb3ef5f43ff21d0619ba9045f', + }], + 'modulename': 'onnxruntime', + }), +] + +# Due to its name 'onnxruntime-gpu', this package does not fullfil requirements on 'onnxruntime' although it provides +# the 'onnxruntime' python module. Fix this dependency issue in pip by creating a stub 'onnxruntime' dist-info folder +_py_sitepkgs = '%(installdir)s/lib/python%(pyshortver)s/site-packages' +postinstallcmds = [ + "cp -r %s/onnxruntime{_gpu,}-%%(version)s.dist-info" % _py_sitepkgs, + "sed -i 's/onnxruntime.gpu/onnxruntime/g' %s/onnxruntime-%%(version)s.dist-info/{METADATA,RECORD}" % _py_sitepkgs, +] + +sanity_pip_check = True + +_py_sitepkgs_dirs = ['onnxruntime', 'onnxruntime-%(version)s.dist-info', 'onnxruntime_gpu-%(version)s.dist-info'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%%(pyshortver)s/site-packages/%s' % x for x in _py_sitepkgs_dirs], +} + +options = {'modulename': 'onnxruntime'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a.eb b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a.eb new file mode 100644 index 00000000000..440ae5d93e7 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX-Runtime/ONNX-Runtime-1.19.2-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'ONNX-Runtime' +version = '1.19.2' + +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('ONNX', '1.15.0'), + ('flatbuffers-python', '23.5.26'), + ('sympy', '1.12'), +] + +use_pip = True + +local_whl_tmpl = 'onnxruntime-%%(version)s-cp311-cp311-manylinux_2_27_%s.manylinux_2_28_%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'): + 'a36511dc07c5c964b916697e42e366fa43c48cdb3d3503578d78cef30417cb84', + local_whl_tmpl % ('aarch64', 'aarch64'): + 'c1dfe4f660a71b31caa81fc298a25f9612815215a47b286236e61d540350d7b6', + }], + 'modulename': 'onnxruntime', + }), +] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb new file mode 100644 index 00000000000..c5287349a46 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.11.0-foss-2021a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'ONNX' +version = '1.11.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': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eca224c7c2c8ee4072a0743e4898a84a9bdf8297b5e5910a2632e4c4182ffb2a'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('protobuf-python', '3.17.3'), + ('typing-extensions', '3.10.0.0'), +] + +use_pip = True +download_dep_fail = True + +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-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-gfbf-2023a.eb b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb new file mode 100644 index 00000000000..d538bcb0c02 --- /dev/null +++ b/easybuild/easyconfigs/o/ONNX/ONNX-1.15.0-gfbf-2023a.eb @@ -0,0 +1,62 @@ +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': 'gfbf', 'version': '2023a'} + +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.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.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.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0c43647cc7f --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.6-GCCcore-10.3.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.6' + +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': '10.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['55972289ce66080bb48622110c3189a36e88a12917635f049b37685b9d3bbcb0'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + + +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/OPARI2/OPARI2-2.0.7-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..acd3f2134b0 --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.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.7' + +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': '11.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +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/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c672c06de72 --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-11.3.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.7' + +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': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +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/OPARI2/OPARI2-2.0.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f81187d76cb --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-12.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.7' + +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': '12.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +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/OPARI2/OPARI2-2.0.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d048428c4ea --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.7-GCCcore-12.3.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.7' + +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': '12.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e302a4cc265eb2a4aa27c16a90eabd9e1e58cb02a191dd1c4d86f9a0df128715'] + +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/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/OPARI2/OPARI2-2.0.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..503a56951d0 --- /dev/null +++ b/easybuild/easyconfigs/o/OPARI2/OPARI2-2.0.8-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2013-2024 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Jan André Reuter +# 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.3.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.42'), +] + + +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/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb index 27e6168a39c..72562d32136 100644 --- a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-foss-2018b-Perl-5.28.0.eb @@ -37,7 +37,7 @@ buildopts = 'install CXX="$CXX" CXXFLAGS="$CXXFLAGS"' files_to_copy = ['bin'] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", "cp %(builddir)s/blasr-1.3.1 %(installdir)s/bin/blasr", # make sure all binaries/scripts and bin subdir have executable permissions "chmod -R a+rx %(installdir)s/bin", diff --git a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb index 1e06cb1a67e..82609afabe3 100644 --- a/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/o/OPERA/OPERA-2.0.6-intel-2018b-Perl-5.28.0.eb @@ -37,7 +37,7 @@ buildopts = 'install CXX="$CXX" CXXFLAGS="$CXXFLAGS"' files_to_copy = ['bin'] postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/bin/*.pl", "cp %(builddir)s/blasr-1.3.1 %(installdir)s/bin/blasr", # make sure all binaries/scripts and bin subdir have executable permissions "chmod -R a+rx %(installdir)s/bin", diff --git a/easybuild/easyconfigs/o/OR-Tools/OR-Tools-7.1-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/o/OR-Tools/OR-Tools-7.1-foss-2019a-Python-3.7.2.eb index 9c57ffb879e..6e9d0724196 100644 --- a/easybuild/easyconfigs/o/OR-Tools/OR-Tools-7.1-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/o/OR-Tools/OR-Tools-7.1-foss-2019a-Python-3.7.2.eb @@ -30,9 +30,9 @@ local_gurobiver = '8.1.1' dependencies = [ ('Python', '3.7.2'), ('zlib', '1.2.11'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), # Gurobi is optional - ('Gurobi', local_gurobiver, '', True), + ('Gurobi', local_gurobiver, '', SYSTEM), ] skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-4.0.0.2-OpenMPI-2.0.2.eb b/easybuild/easyconfigs/o/ORCA/ORCA-4.0.0.2-OpenMPI-2.0.2.eb index 079ce0d9410..30376ba2e68 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-4.0.0.2-OpenMPI-2.0.2.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-4.0.0.2-OpenMPI-2.0.2.eb @@ -1,5 +1,3 @@ -easyblock = "PackedBinary" - name = "ORCA" version = '4.0.0.2' local_ompi_ver = '2.0.2' @@ -19,20 +17,8 @@ sources = [ '%%(namelower)s_%s_linux_x86-64_openmpi%s.tbz' % (version.replace('.', '_'), local_ompi_ver.replace('.', '')), ] -checksums = ['a5b8ecdd3d004af4bc8190c986f34e11'] +checksums = ['be2e42a8f75d4a7761959a134cc9e60f69c6a65f46121a8f00c7ebad028770c9'] dependencies = [('OpenMPI', local_ompi_ver, '-GCC-6.3.0-2.27')] -sanity_check_paths = { - 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] for y in ['', '_mpi']] + - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + - ['orca'], - 'dirs': [], -} - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-4.0.1-OpenMPI-2.0.2.eb b/easybuild/easyconfigs/o/ORCA/ORCA-4.0.1-OpenMPI-2.0.2.eb index 1e2409dadb5..5b85eff3902 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-4.0.1-OpenMPI-2.0.2.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-4.0.1-OpenMPI-2.0.2.eb @@ -1,5 +1,3 @@ -easyblock = "PackedBinary" - name = "ORCA" version = '4.0.1' @@ -24,16 +22,4 @@ checksums = ['6644b95fdb16e117b870fd9e5cea8b4f829f1547d5df4e87d52ef08e3f1ee310'] dependencies = [('OpenMPI', local_ompi_ver, '-GCC-6.3.0-2.27')] -sanity_check_paths = { - 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cleanup', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] for y in ['', '_mpi']] + - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + - ['orca'], - 'dirs': [], -} - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-4.1.0-OpenMPI-3.1.3.eb b/easybuild/easyconfigs/o/ORCA/ORCA-4.1.0-OpenMPI-3.1.3.eb index 0b39e8e12ed..c2ab79ef64d 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-4.1.0-OpenMPI-3.1.3.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-4.1.0-OpenMPI-3.1.3.eb @@ -1,5 +1,3 @@ -easyblock = "PackedBinary" - name = "ORCA" version = '4.1.0' @@ -23,16 +21,4 @@ checksums = ['d54df169f3e61d0692d08a6cbd59ea81123772fad2e3766e785d9e14a0cc90d5'] dependencies = [('OpenMPI', local_ompi_ver, '-GCC-8.2.0-2.31.1')] -sanity_check_paths = { - 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] for y in ['', '_mpi']] + - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + - ['orca'], - 'dirs': [], -} - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-4.2.0-gompi-2019b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-4.2.0-gompi-2019b.eb index 0ce3bd39b77..b29d6fdc97b 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-4.2.0-gompi-2019b.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-4.2.0-gompi-2019b.eb @@ -1,5 +1,3 @@ -easyblock = "PackedBinary" - name = "ORCA" version = '4.2.0' @@ -16,16 +14,4 @@ toolchain = {'name': 'gompi', 'version': '2019b'} sources = ['%%(namelower)s_%s_linux_x86-64_openmpi314.tar.xz' % version.replace('.', '_')] checksums = ['29a3699f79638dcbe6404a6735a1e0a41391f2faf0d24a803330fa89b95b57a1'] -sanity_check_paths = { - 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] for y in ['', '_mpi']] + - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + - ['orca'], - 'dirs': [], -} - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-4.2.1-gompi-2019b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-4.2.1-gompi-2019b.eb index 49892b30f36..fbd04e70094 100644 --- a/easybuild/easyconfigs/o/ORCA/ORCA-4.2.1-gompi-2019b.eb +++ b/easybuild/easyconfigs/o/ORCA/ORCA-4.2.1-gompi-2019b.eb @@ -1,5 +1,3 @@ -easyblock = "PackedBinary" - name = "ORCA" version = '4.2.1' @@ -16,16 +14,4 @@ toolchain = {'name': 'gompi', 'version': '2019b'} sources = ['%%(namelower)s_%s_linux_x86-64_openmpi314.tar.xz' % version.replace('.', '_')] checksums = ['a1ff07bb01ac81ce9a4d6637fef77c12d0ec45354cebc72245c4e0d1620af956'] -sanity_check_paths = { - 'files': ['orca_%s%s' % (x, y) for x in ['anoint', 'casscf', 'cis', 'cpscf', - 'eprnmr', 'gtoint', 'mdci', 'mp2', 'mrci', 'pc', - 'rocis', 'scf', 'scfgrad', 'soc'] for y in ['', '_mpi']] + - ['orca_%s' % x for x in ['2mkl', 'asa', 'chelpg', 'ciprep', 'eca', 'ecplib', - 'euler', 'fci', 'fitpes', 'gstep', 'loc', 'mapspc', - 'md', 'mergefrag', 'ndoint', 'numfreq', 'plot', - 'pltvib', 'pop', 'rel', 'vib', 'vpot']] + - ['orca'], - 'dirs': [], -} - moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a-static.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a-static.eb new file mode 100644 index 00000000000..b36de4fdcd2 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a-static.eb @@ -0,0 +1,31 @@ +name = 'ORCA' +version = '5.0.0' +versionsuffix = '-static' + +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': '2021a'} + +# Static build of ORCA: download from https://orcaforum.kofo.mpg.de +# OpenMPI is dynamically linked +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_openmpi411_part%s.tar.xz' % (version.replace('.', '_'), p) + for p in range(1, 5)] +checksums = [ + # orca_5_0_0_linux_x86-64_openmpi411_part1.tar.xz + '4ada3b343701e6a37c3f9f50fa3514396dcad4c8d7d625e170e77e3bd3864758', + # orca_5_0_0_linux_x86-64_openmpi411_part2.tar.xz + 'd7a7148632b1a0323b1b9ed317b504d914e58802181e63280bd1136159ab974c', + # orca_5_0_0_linux_x86-64_openmpi411_part3.tar.xz + '1503585466416a6c1a662ad8dad23b3b4f923a41a5821894ca8542d9dcf7ea91', + # orca_5_0_0_linux_x86-64_openmpi411_part4.tar.xz + '2af59dda79023581d9f5e287e4d455935514d1ef04f6d966c2523575dccb40d2', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a.eb new file mode 100644 index 00000000000..43698faa090 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.0-gompi-2021a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.0' + +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': '2021a'} + +# 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_0_linux_x86-64_shared_openmpi411.tar.xz + '4e6dc3fca2f1bc1f98af60413fe1dd13baa7aa3b2e197754c40826167d2bcf56', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a-static.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a-static.eb new file mode 100644 index 00000000000..3fbaf0af9b6 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a-static.eb @@ -0,0 +1,31 @@ +name = 'ORCA' +version = '5.0.1' +versionsuffix = '-static' + +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': '2021a'} + +# Static build of ORCA: download from https://orcaforum.kofo.mpg.de +# OpenMPI is dynamically linked +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_openmpi411_part%s.tar.xz' % (version.replace('.', '_'), p) + for p in range(1, 5)] +checksums = [ + # orca_5_0_1_linux_x86-64_openmpi411_part1.tar.xz + '251b6f6bb570e3755254cdc7c14b464c21a474ad8c287c83fdbdb940532d078b', + # orca_5_0_1_linux_x86-64_openmpi411_part2.tar.xz + 'f24818809b4dee4dc52c9578d7698b0cae299ea0c90ec6fd62d04c776f7f0c29', + # orca_5_0_1_linux_x86-64_openmpi411_part3.tar.xz + '44353ce99734095fc0e69f873d90b2c0950019d21fc3cc8a4c052b014936cc74', + # orca_5_0_1_linux_x86-64_openmpi411_part4.tar.xz + '170f64766571e43a5d9823761d1daa21b4a48382b484280147a6094f3dc3d868', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a.eb new file mode 100644 index 00000000000..26153cab8cc --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.1-gompi-2021a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.1' + +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': '2021a'} + +# 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_1_linux_x86-64_shared_openmpi411.tar.xz + '84199af6931de9be261685f7f1d6d63b47eed8512ce1f2f93ca5356fed1cbae8', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a-static.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a-static.eb new file mode 100644 index 00000000000..ca35b29f949 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a-static.eb @@ -0,0 +1,33 @@ +name = 'ORCA' +version = '5.0.2' +versionsuffix = '-static' + +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': '2021a'} + +# Static build of ORCA: download from https://orcaforum.kofo.mpg.de +# OpenMPI is dynamically linked +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_openmpi411_part%s.tar.xz' % (version.replace('.', '_'), p) + for p in range(1, 4)] +checksums = [ + # orca_5_0_2_linux_x86-64_openmpi411_part1.tar.xz + '7623ae43a7d02a36f890a3826e0d021d634addb8e1b2598feb7f9b29d8a3f935', + # orca_5_0_2_linux_x86-64_openmpi411_part2.tar.xz + '905b427a721554a0037986494473a91daa4a0b182dcfbb92fe5d2abccc68df2c', + # orca_5_0_2_linux_x86-64_openmpi411_part3.tar.xz + 'fd04e2df6c3aeaaef79d2c36917d9973f64368348060a9c194e80b7f7a29b9c7', +] + +# The 5.0.2-static tarballs have redundant top-level directory names names that +# need to be stripped away. +unpack_options = '--strip-components=1' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a.eb new file mode 100644 index 00000000000..c4ee43cd9be --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.2' + +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': '2021a'} + +# 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_2_linux_x86-64_shared_openmpi411.tar.xz + '3a26a1a5fbc69e7dca0192237b5e16b69886df31751ae59f7396461428aeee96', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b-static.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b-static.eb new file mode 100644 index 00000000000..81475b93b99 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b-static.eb @@ -0,0 +1,33 @@ +name = 'ORCA' +version = '5.0.2' +versionsuffix = '-static' + +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': '2021b'} + +# Static build of ORCA: download from https://orcaforum.kofo.mpg.de +# OpenMPI is dynamically linked +sources = ['%%(namelower)s_%s_linux_%%(orcaarch)s_openmpi411_part%s.tar.xz' % (version.replace('.', '_'), p) + for p in range(1, 4)] +checksums = [ + # orca_5_0_2_linux_x86-64_openmpi411_part1.tar.xz + '7623ae43a7d02a36f890a3826e0d021d634addb8e1b2598feb7f9b29d8a3f935', + # orca_5_0_2_linux_x86-64_openmpi411_part2.tar.xz + '905b427a721554a0037986494473a91daa4a0b182dcfbb92fe5d2abccc68df2c', + # orca_5_0_2_linux_x86-64_openmpi411_part3.tar.xz + 'fd04e2df6c3aeaaef79d2c36917d9973f64368348060a9c194e80b7f7a29b9c7', +] + +# The 5.0.2-static tarballs have redundant top-level directory names names that +# need to be stripped away. +unpack_options = '--strip-components=1' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b.eb new file mode 100644 index 00000000000..8256a206991 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.2-gompi-2021b.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.2' + +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': '2021b'} + +# 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_2_linux_x86-64_shared_openmpi411.tar.xz + '3a26a1a5fbc69e7dca0192237b5e16b69886df31751ae59f7396461428aeee96', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb new file mode 100644 index 00000000000..e296dc5c54d --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.3-gompi-2021b.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '5.0.3' + +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': '2021b'} + +# 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_3_linux_x86-64_shared_openmpi411.tar.xz + 'b8b9076d1711150a6d6cb3eb30b18e2782fa847c5a86d8404b9339faef105043', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.eb new file mode 100644 index 00000000000..451b27578db --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-5.0.4-gompi-2022a.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': '2022a'} + +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/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/ORCA/ORCA-6.0.0-foss-2023b-avx2.eb b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-foss-2023b-avx2.eb new file mode 100644 index 00000000000..ff3112bb084 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-foss-2023b-avx2.eb @@ -0,0 +1,37 @@ +name = 'ORCA' +version = '6.0.0' +versionsuffix = '-avx2' + +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': 'foss', 'version': '2023b'} + +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_avx2_shared_openmpi416.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_6_0_0_linux_x86-64_avx2_shared_openmpi416.tar.xz + '02c21294efe7b1b721e26cb90f98ee15ad682d02807201b7d217dfe67905a2fd', +] + +# optional dependency for ORCA, +# see also https://xtb-docs.readthedocs.io/en/latest/setup.html#using-xtb-with-orca +dependencies = [('xtb', '6.7.1')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s $EBROOTXTB/bin/xtb otool_xtb"] + +enhance_sanity_check = True + +sanity_check_paths = { + 'files': ['bin/orca', 'bin/otool_xtb'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-foss-2023b.eb b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-foss-2023b.eb new file mode 100644 index 00000000000..f28a5a3ff99 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-foss-2023b.eb @@ -0,0 +1,36 @@ +name = 'ORCA' +version = '6.0.0' + +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': 'foss', 'version': '2023b'} + +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_openmpi416.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_6_0_0_linux_x86-64_shared_openmpi416.tar.xz + '219bd1deb6d64a63cb72471926cb81665cbbcdec19f9c9549761be67d49a29c6', +] + +# optional dependency for ORCA, +# see also https://xtb-docs.readthedocs.io/en/latest/setup.html#using-xtb-with-orca +dependencies = [('xtb', '6.7.1')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s $EBROOTXTB/bin/xtb otool_xtb"] + +enhance_sanity_check = True + +sanity_check_paths = { + 'files': ['bin/orca', 'bin/otool_xtb'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a-avx2.eb b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a-avx2.eb new file mode 100644 index 00000000000..cdc92c16f64 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a-avx2.eb @@ -0,0 +1,24 @@ +name = 'ORCA' +version = '6.0.0' +versionsuffix = '-avx2' + +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_avx2_shared_openmpi416.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_6_0_0_linux_x86-64_avx2_shared_openmpi416.tar.xz + '02c21294efe7b1b721e26cb90f98ee15ad682d02807201b7d217dfe67905a2fd', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a.eb b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a.eb new file mode 100644 index 00000000000..8bf88fa8129 --- /dev/null +++ b/easybuild/easyconfigs/o/ORCA/ORCA-6.0.0-gompi-2023a.eb @@ -0,0 +1,23 @@ +name = 'ORCA' +version = '6.0.0' + +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_openmpi416.tar.xz' % version.replace('.', '_')] +checksums = [ + # orca_6_0_0_linux_x86-64_shared_openmpi416.tar.xz + '219bd1deb6d64a63cb72471926cb81665cbbcdec19f9c9549761be67d49a29c6', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OSPRay/OSPRay-2.5.0.eb b/easybuild/easyconfigs/o/OSPRay/OSPRay-2.5.0.eb new file mode 100644 index 00000000000..e7c9f23e0aa --- /dev/null +++ b/easybuild/easyconfigs/o/OSPRay/OSPRay-2.5.0.eb @@ -0,0 +1,23 @@ +easyblock = 'Tarball' + +name = 'OSPRay' +version = '2.5.0' + +homepage = 'https://www.ospray.org' +description = "Open, Scalable, and Portable Ray Tracing Engine" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(namelower)s/%(name)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.x86_64.linux.tar.gz'] +checksums = ['0ac452d085fdd4e1c953c09766274c8c4f33d21f043d04a0c4d9ff81c0c8fcb7'] + +sanity_check_paths = { + 'files': ['bin/ospConvertRawToAMR', 'include/ospray/ospray.h', + 'include/ospray/version.h', 'lib/libospray.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include/ospray', 'lib64/cmake', 'doc'], +} + +sanity_check_commands = ["ospConvertRawToAMR --help 2>&1 | grep 'Usage: ospConvertRawToAMR'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2016a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2016a.eb index 3d16b6a49f6..a6f8200b579 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2016a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2016a.eb @@ -10,10 +10,13 @@ toolchain = {'name': 'foss', 'version': '2016a'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['b0ac3fb2281453046ccad464f257681d07d7f15029c63e0cc10c9dc673497340'] configopts = 'CC="$MPICC" CXX="$MPICC"' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2017a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2017a.eb index ed6d2b89b2e..4bcbf5e356d 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2017a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.3.2-foss-2017a.eb @@ -10,10 +10,13 @@ toolchain = {'name': 'foss', 'version': '2017a'} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['b0ac3fb2281453046ccad464f257681d07d7f15029c63e0cc10c9dc673497340'] configopts = 'CC="$MPICC" CXX="$MPICC"' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb index 815081e2872..f8edcf8d961 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.2-gompi-2019a.eb @@ -7,14 +7,15 @@ homepage = 'http://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2019a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['2ecb90abd85398786823c0716d92448d7094657d3f017c65d270ffe39afc7b95'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb index f47bdd4fe14..317d649b572 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2019b.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb index 05e16cd6d3f..41bb5469e0f 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020a.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb index b13a760b9da..d97ead0d861 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompi-2020b.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb index 42213c26c50..174583a81d4 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2019b.eb @@ -7,15 +7,17 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb index 18cc95538cc..97a07efe746 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-gompic-2020a.eb @@ -7,15 +7,17 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb index ac8bdfeb940..2edf60ebfeb 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019a.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2019a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb index 1593594953d..1c4d066007a 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2019b.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb index 5afa283a9b8..3583eab1477 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020a.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb index 169f9124866..270c18b7eb9 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpi-2020b.eb @@ -7,14 +7,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb index 71f0f3c132c..08a01456932 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2019b.eb @@ -7,15 +7,17 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpic', 'version': '2019b'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb index eaa6dc791d6..ec8aaa2a8b9 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.6.3-iimpic-2020a.eb @@ -7,15 +7,17 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpic', 'version': '2020a'} +toolchainopts = {'usempi': True} source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['c5eaa8c5b086bde8514fa4cac345d66b397e02283bc06e44cb6402268a60aeb8'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb index f569964b497..8d4a54aa057 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompi-2020b.eb @@ -10,14 +10,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb index a3c2312f7d8..90d4b73806e 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-gompic-2020b.eb @@ -10,15 +10,17 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'gompic', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' -configopts += ' --enable-cuda --with-cuda=$EBROOTCUDA' +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb index 0762e17f6cc..fed81295849 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7-iimpi-2020b.eb @@ -10,14 +10,15 @@ homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' description = """OSU Micro-Benchmarks""" toolchain = {'name': 'iimpi', 'version': '2020b'} +toolchainopts = {'usempi': True} source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['1470ebe00eb6ca7f160b2c1efda57ca0fb26b5c4c61148a3f17e8e79fbf34590'] -configopts = 'CC="$MPICC" CXX="$MPICC"' - -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..cd846a70218 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a-CUDA-11.3.1.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.7.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TGZ] +checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a.eb index 561f053d707..d534a221cb2 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021a.eb @@ -13,7 +13,9 @@ source_urls = ['http://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TGZ] checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021b.eb new file mode 100644 index 00000000000..d1ac9dd1571 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-gompi-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.7.1' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TGZ] +checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iimpi-2021a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iimpi-2021a.eb index 672d136bce4..372930aab76 100644 --- a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iimpi-2021a.eb +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iimpi-2021a.eb @@ -16,7 +16,9 @@ source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] sources = [SOURCELOWER_TGZ] checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] -local_benchmark_dirs = ['libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt']] +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] modextrapaths = {'PATH': local_benchmark_dirs} sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iompi-2021a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iompi-2021a.eb new file mode 100644 index 00000000000..5fa850b07fc --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.7.1-iompi-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.7.1' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TGZ] +checksums = ['cb5ce4e2e68ed012d9952e96ef880a802058c87a1d840a2093b19bddc7faa165'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.8-iimpi-2021b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.8-iimpi-2021b.eb new file mode 100644 index 00000000000..3dab4bc2a02 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.8-iimpi-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.8' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TGZ] +checksums = ['0e24c39bf68194f27a3b630aa99c17a11cd0c86020a2a8fb5cf1465dc1e344a5'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021a-CUDA-11.3.1.eb new file mode 100755 index 00000000000..bc0b6fe9631 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021a-CUDA-11.3.1.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('UCX-CUDA', '1.10.0', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA --enable-ncclomb --with-nccl=$EBROOTNCCL' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + [ + 'libexec/osu-micro-benchmarks/nccl/%s' % x for x in ['collective', 'pt2pt'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-CUDA-11.4.1.eb new file mode 100755 index 00000000000..6122b5221dd --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-CUDA-11.4.1.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('UCX-CUDA', '1.11.2', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA --enable-ncclomb --with-nccl=$EBROOTNCCL' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + [ + 'libexec/osu-micro-benchmarks/nccl/%s' % x for x in ['collective', 'pt2pt'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb new file mode 100755 index 00000000000..a6b19ada3f2 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2021b-ROCm-4.5.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' +_rocm_version = '4.5.0' +versionsuffix = '-ROCm-%s' % _rocm_version + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +dependencies = [ + ('ROCm', _rocm_version), + ('UCX-ROCm', '1.11.2', versionsuffix), +] + +configopts = ' --enable-rocm ' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022.05.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022.05.eb new file mode 100644 index 00000000000..266863179ee --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022.05.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a-CUDA-11.7.0.eb new file mode 100755 index 00000000000..f1ffbd93b35 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('UCC-CUDA', '1.0.0', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA --enable-ncclomb --with-nccl=$EBROOTNCCL' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + [ + 'libexec/osu-micro-benchmarks/nccl/%s' % x for x in ['collective', 'pt2pt'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a.eb new file mode 100644 index 00000000000..6aef7304682 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-gompi-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb new file mode 100644 index 00000000000..ed75d86ee38 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-5.9-iimpi-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '5.9' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d619740a1c2cc7c02a9763931546b320d0fa4093c415ff3873c2958e121c0609'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb new file mode 100644 index 00000000000..9326eb7240e --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022.10.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..65688e8f9f6 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b-CUDA-12.0.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('NCCL', '2.16.2', versionsuffix), + ('UCX-CUDA', '1.13.1', versionsuffix), + ('UCC-CUDA', '1.1.0', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA --enable-ncclomb --with-nccl=$EBROOTNCCL' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + [ + 'libexec/osu-micro-benchmarks/nccl/pt2pt', + 'libexec/osu-micro-benchmarks/c/nccl/collective' +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb new file mode 100644 index 00000000000..b98375baf03 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-gompi-2022b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-iimpi-2022b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-iimpi-2022b.eb new file mode 100644 index 00000000000..86e06d2c7fa --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-6.2-iimpi-2022b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '6.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb9dbc87dcf8ec6785977a61f6fceee8febf1a682488eaab4c58cf50e4fa985f'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-gompi-2023a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-gompi-2023a.eb new file mode 100644 index 00000000000..97bc224f423 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-gompi-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.1-1' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['85f4dd8be1df31255e232852769ae5b82e87a5fb14be2f8eba1ae9de8ffe391a'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb new file mode 100644 index 00000000000..1173c7c1e12 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.1-1' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['85f4dd8be1df31255e232852769ae5b82e87a5fb14be2f8eba1ae9de8ffe391a'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023.09.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023.09.eb new file mode 100644 index 00000000000..5c33104aaa4 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023.09.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2023.09'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1a4e1f2aab0e65404b3414e23bd46616184b69b6231ce9313d9c630bd6e633c1'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..6700d327d4a --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023a-CUDA-12.1.1.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1a4e1f2aab0e65404b3414e23bd46616184b69b6231ce9313d9c630bd6e633c1'] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('UCX-CUDA', '1.14.1', versionsuffix), + ('UCC-CUDA', '1.2.0', versionsuffix), +] + +configopts = ' --enable-cuda --with-cuda=$EBROOTCUDA --enable-ncclomb --with-nccl=$EBROOTNCCL' + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] + [ + 'libexec/osu-micro-benchmarks/nccl/%s' % x for x in ['collective', 'pt2pt'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023b.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023b.eb new file mode 100644 index 00000000000..89d55596e1d --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.2-gompi-2023b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.2' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1a4e1f2aab0e65404b3414e23bd46616184b69b6231ce9313d9c630bd6e633c1'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb new file mode 100644 index 00000000000..60bfb29130b --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024.05.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.4' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1edd0c2efa61999409bfb28740a7f39689a5b42b1a1b4c66d1656e5637f7cefc'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024a.eb new file mode 100644 index 00000000000..0d9573028dd --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-gompi-2024a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.4' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1edd0c2efa61999409bfb28740a7f39689a5b42b1a1b4c66d1656e5637f7cefc'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-iimpi-2024a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-iimpi-2024a.eb new file mode 100644 index 00000000000..3122923be15 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.4-iimpi-2024a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.4' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2024a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1edd0c2efa61999409bfb28740a7f39689a5b42b1a1b4c66d1656e5637f7cefc'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb index 6fa20d819fa..c34cc8c99f1 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.2.0.eb @@ -39,6 +39,9 @@ dependencies = [ ('SIONlib', '1.7.4', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb index 4c77f62f44d..2c088bb7158 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-8.3.0.eb @@ -39,6 +39,9 @@ dependencies = [ ('SIONlib', '1.7.6', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb index 7c446a1051d..75ec06996ed 100644 --- a/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.2-GCCcore-9.3.0.eb @@ -40,6 +40,9 @@ dependencies = [ ('SIONlib', '1.7.6', '-tools'), ] +# set $PYTHON_FOR_GENERATOR to ':' to disable Python support (since we're not included Python 2.x as dependency) +preconfigopts = "export PYTHON_FOR_GENERATOR=':' && " + configopts = '--enable-shared' sanity_check_paths = { diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-2.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-2.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..65c554940e8 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-2.3-GCCcore-10.3.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 = '2.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': '10.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['36957428d37c40d35b6b45208f050fb5cfe23c54e874189778a24b0e9219c7e3'] + +builddependencies = [ + ('binutils', '2.36.1'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.6', '-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/OTF2/OTF2-3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fe8a5244c12 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +# # +# 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 +# Jan Andre Reuter +# 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' + +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': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fff0728761556e805b140fd464402ced394a3c622ededdb618025e6cdaa6d8c'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), + # OTF2 Python bindings + ('Python', '3.10.4'), +] + +local_pyshortver = '3.10' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..488b8e0de0d --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,56 @@ +# # +# 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 +# Jan Andre Reuter +# 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.2' + +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': '11.2.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ae3a7ad83055d8f873738fee5031470652d31b9bcbf223dd556aea41f5f62303'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), + # OTF2 Python bindings + ('Python', '3.9.6'), +] + +local_pyshortver = '3.9' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6756aa72eac --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +# # +# 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 +# Jan Andre Reuter +# 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.2' + +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': '11.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ae3a7ad83055d8f873738fee5031470652d31b9bcbf223dd556aea41f5f62303'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), + # OTF2 Python bindings + ('Python', '3.10.4'), +] + +local_pyshortver = '3.10' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f4c842e0450 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +# # +# 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 +# Jan Andre Reuter +# 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': '12.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.39'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), + # OTF2 Python bindings + ('Python', '3.10.8'), +] + +local_pyshortver = '3.10' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..db786b12a41 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,56 @@ +# # +# 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 +# Jan Andre Reuter +# 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': '12.3.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'), + # OTF2 Python bindings + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +local_pyshortver = '3.11' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' 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..c5108c8daca --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,56 @@ +# # +# 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 +# Jan Andre Reuter +# 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'), + # OTF2 Python bindings + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +local_pyshortver = '3.11' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fdf78e0772d --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/OTF2-3.0.3-GCCcore-13.3.0.eb @@ -0,0 +1,60 @@ +# # +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2024 Juelich Supercomputing Centre, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Jan André Reuter +# 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.3.0'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/%(namelower)s/tags/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['otf2-3.0.3-update-py-compile.patch'] +checksums = [ + '18a3905f7917340387e3edc8e5766f31ab1af41f4ecc5665da6c769ca21c4ee8', # otf2-3.0.3.tar.gz + '5b1dad8788642eaa97bc03003c9329380340ba10649e556a30ce541165cf8da4', # otf2-3.0.3-update-py-compile.patch +] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + # SIONlib container support (optional): + ('SIONlib', '1.7.7', '-tools'), + # OTF2 Python bindings + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +local_pyshortver = '3.12' +configopts = '--enable-shared' + +modextrapaths = {'PYTHONPATH': ['lib64/python%s/site-packages' % local_pyshortver]} + +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', + 'python -c "import %(namelower)s"'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/o/OTF2/otf2-3.0.3-update-py-compile.patch b/easybuild/easyconfigs/o/OTF2/otf2-3.0.3-update-py-compile.patch new file mode 100644 index 00000000000..539726fbf14 --- /dev/null +++ b/easybuild/easyconfigs/o/OTF2/otf2-3.0.3-update-py-compile.patch @@ -0,0 +1,252 @@ +This patch updates the py-compile file used by OTF2 during the install process +to fix the removal of the imp module in Python 3.12 which was long deprecated. +With this, OTF2 can be installed with Python 3.12, which would previously fail +with a module not found error. + +--- build-config/py-compile 2023-02-12 17:32:31.274132086 +0100 ++++ ../../otf2/build-config/py-compile 2024-08-22 17:44:59.939242651 +0200 +@@ -1,7 +1,7 @@ + #!/bin/sh + # py-compile - Compile a Python program + +-scriptversion=2011-06-08.12; # UTC ++scriptversion=2023-03-30.00; # UTC + + # Copyright (C) 2000-2013 Free Software Foundation, Inc. + +@@ -27,7 +27,7 @@ + # bugs to or send patches to + # . + +-if [ -z "$PYTHON" ]; then ++if test -z "$PYTHON"; then + PYTHON=python + fi + +@@ -79,13 +79,20 @@ + ;; + -h|--help) + cat <<\EOF +-Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] [--silent] FILES..." ++Usage: py-compile [options] FILES... + + Byte compile some python scripts FILES. Use --destdir to specify any + leading directory path to the FILES that you don't want to include in the + byte compiled file. Specify --basedir for any additional path information you + do want to be shown in the byte compiled file. + ++Options: ++ --basedir DIR Prefix all FILES with DIR, and include in error messages. ++ --destdir DIR Prefix all FILES with DIR before compiling. ++ -v, --version Display version information. ++ -h, --help This help screen. ++ --silent Operate silently. ++ + Example: + py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py + +@@ -114,87 +121,165 @@ + shift + done + +-files=$* +-if test -z "$files"; then +- usage_error "no files given" ++if test $# -eq 0; then ++ usage_error "no files given" + fi + + # if basedir was given, then it should be prepended to filenames before + # byte compilation. +-if [ -z "$basedir" ]; then +- pathtrans="path = file" ++if test -z "$basedir"; then ++ pathtrans="path = file" + else +- pathtrans="path = os.path.join('$basedir', file)" ++ pathtrans="path = os.path.join('$basedir', file)" + fi + + # if destdir was given, then it needs to be prepended to the filename to + # byte compile but not go into the compiled file. +-if [ -z "$destdir" ]; then +- filetrans="filepath = path" ++if test -z "$destdir"; then ++ filetrans="filepath = path" + else +- filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" ++ filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" ++fi ++ ++python_major=`$PYTHON -c 'import sys; print(sys.version_info[0])'` ++if test -z "$python_major"; then ++ usage_error "could not determine $PYTHON major version" + fi + ++case $python_major in ++[01]) ++ usage_error "python version 0.x and 1.x not supported" ++ ;; ++esac ++ ++python_minor=`$PYTHON -c 'import sys; print(sys.version_info[1])'` ++ ++# NB: When adding support for newer versions, prefer copying & adding new cases ++# rather than try to keep things merged with shell variables. ++ ++# First byte compile (no optimization) all the modules. ++# This works for all currently known Python versions. + $PYTHON -c " +-import sys, os, py_compile, imp ++import sys, os, py_compile ++ ++try: ++ import importlib ++except ImportError: ++ importlib = None ++ ++# importlib.util.cache_from_source was added in 3.4 ++if ( ++ hasattr(importlib, 'util') ++ and hasattr(importlib.util, 'cache_from_source') ++): ++ destpath = importlib.util.cache_from_source ++else: ++ destpath = lambda filepath: filepath + 'c' + +-files = '''$files''' + silent = $silent + blu = '''$blu''' + std = '''$std''' + + if not silent: +- sys.stdout.write('Byte-compiling python modules...') +-for file in files.split(): ++ sys.stdout.write('Byte-compiling python modules...\n') ++for file in sys.argv[1:]: + $pathtrans + $filetrans +- if not os.path.exists(filepath) or not (len(filepath) >= 3 +- and filepath[-3:] == '.py'): +- continue ++ if ( ++ not os.path.exists(filepath) ++ or not (len(filepath) >= 3 and filepath[-3:] == '.py') ++ ): ++ continue + if not silent: +- sys.stdout.write(' ' + file) ++ sys.stdout.write(file + ' ') + sys.stdout.flush() + else: +- sys.stdout.write(' PYTHON {}{}{}\n'.format(blu, filepath + 'c', std)) +- if hasattr(imp, 'get_tag'): +- py_compile.compile(filepath, imp.cache_from_source(filepath), path) +- else: +- py_compile.compile(filepath, filepath + 'c', path) ++ sys.stdout.write(' PYCACHE {}{}{}\n'.format(blu, destpath(filepath), std)) ++ py_compile.compile(filepath, destpath(filepath), path) + if not silent: +- sys.stdout.write('\n')" || exit $? ++ sys.stdout.write('\n')" "$@" || exit $? + +-# this will fail for python < 1.5, but that doesn't matter ... ++# Then byte compile w/optimization all the modules. + $PYTHON -O -c " +-import sys, os, py_compile, imp ++import sys, os, py_compile ++ ++try: ++ import importlib ++except ImportError: ++ importlib = None ++ ++# importlib.util.cache_from_source was added in 3.4 ++if ( ++ hasattr(importlib, 'util') ++ and hasattr(importlib.util, 'cache_from_source') ++): ++ destpath = importlib.util.cache_from_source ++else: ++ destpath = lambda filepath: filepath + 'o' + +-# pypy does not use .pyo optimization +-if hasattr(sys, 'pypy_translation_info'): ++# pypy2 does not use .pyo optimization ++if sys.version_info.major <= 2 and hasattr(sys, 'pypy_translation_info'): + sys.exit(0) + +-files = '''$files''' + silent = $silent + blu = '''$blu''' + std = '''$std''' + + if not silent: +- sys.stdout.write('Byte-compiling python modules (optimized versions)...') +-for file in files.split(): ++ sys.stdout.write('Byte-compiling python modules (optimized versions) ...\n') ++for file in sys.argv[1:]: + $pathtrans + $filetrans +- if not os.path.exists(filepath) or not (len(filepath) >= 3 +- and filepath[-3:] == '.py'): +- continue ++ if ( ++ not os.path.exists(filepath) ++ or not (len(filepath) >= 3 and filepath[-3:] == '.py') ++ ): ++ continue + if not silent: +- sys.stdout.write(' ' + file) ++ sys.stdout.write(file + ' ') + sys.stdout.flush() + else: +- sys.stdout.write(' PYTHON {}{}{}\n'.format(blu, filepath + 'o', std)) +- if hasattr(imp, 'get_tag'): +- py_compile.compile(filepath, imp.cache_from_source(filepath, False), path) ++ sys.stdout.write(' PYCACHE {}{}{}\n'.format(blu, destpath(filepath), std)) ++ py_compile.compile(filepath, destpath(filepath), path) ++if not silent: ++ sys.stdout.write('\n')" "$@" 2>/dev/null || exit $? ++ ++# Then byte compile w/more optimization. ++# Only do this for Python 3.5+, see https://bugs.gnu.org/38043 for background. ++case $python_major.$python_minor in ++2.*|3.[0-4]) ++ ;; ++*) ++ $PYTHON -OO -c " ++import sys, os, py_compile, importlib ++ ++destpath = importlib.util.cache_from_source ++ ++silent = $silent ++blu = '''$blu''' ++std = '''$std''' ++ ++if not silent: ++ sys.stdout.write('Byte-compiling python modules (more optimized versions)' ++ ' ...\n') ++for file in sys.argv[1:]: ++ $pathtrans ++ $filetrans ++ if ( ++ not os.path.exists(filepath) ++ or not (len(filepath) >= 3 and filepath[-3:] == '.py') ++ ): ++ continue ++ if not silent: ++ sys.stdout.write(file + ' ') ++ sys.stdout.flush() + else: +- py_compile.compile(filepath, filepath + 'o', path) ++ sys.stdout.write(' PYCACHE {}{}{}\n'.format(blu, destpath(filepath), std)) ++ py_compile.compile(filepath, destpath(filepath), path) + if not silent: +- sys.stdout.write('\n')" 2>/dev/null || : ++ sys.stdout.write('\n')" "$@" 2>/dev/null || exit $? ++ ;; ++esac + + # Local Variables: + # mode: shell-script diff --git a/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb b/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb new file mode 100644 index 00000000000..25186032c64 --- /dev/null +++ b/easybuild/easyconfigs/o/OVITO/OVITO-3.7.11-gompi-2022a-basic.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OVITO' +version = '3.7.11' +versionsuffix = '-basic' + +homepage = 'https://www.ovito.org' +description = """OVITO is a scientific visualization and data analysis solution for atomistic and other particle-based +models. It helps scientists gain meaningful and quick insights from numerical simulation results.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://gitlab.com/stuko/ovito/-/archive/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dc592ea59c6bc6fbc31bd750905e0767bc48d21b4c35276f3068d4479794ecec'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Qt5', '5.15.5'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('FFmpeg', '4.4.2'), + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('libglvnd', '1.4.0'), + ('Python', '3.10.4'), +] + +sanity_check_paths = { + 'files': ['bin/ovito'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/Oases/Oases-20180312-GCC-12.3.0.eb b/easybuild/easyconfigs/o/Oases/Oases-20180312-GCC-12.3.0.eb new file mode 100644 index 00000000000..ff28b8169fa --- /dev/null +++ b/easybuild/easyconfigs/o/Oases/Oases-20180312-GCC-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'Oases' +version = '20180312' +local_commit = '1b4c14c' + +homepage = 'http://www.ebi.ac.uk/~zerbino/oases/' +description = """Oases is a de novo transcriptome assembler designed to produce transcripts from + short read sequencing technologies, such as Illumina, SOLiD, or 454 in the absence of any genomic assembly.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +# This is taken from the Oases repo to avoid setting git_config in sources +local_velvet_commit = '9adf09f7ded7fedaf6b0e5e4edf9f46602e263d3' + +source_urls = [ + 'https://github.com/dzerbino/%(namelower)s/archive/', + 'https://github.com/dzerbino/velvet/archive/', +] +sources = [ + {'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(namelower)s-%(version)s.tar.gz'}, + {'download_filename': '%s.tar.gz' % local_velvet_commit, 'filename': 'velvet-20140815.tar.gz'} +] +checksums = [ + {'oases-20180312.tar.gz': 'f526b84e9fa3e5f89b728f4a71b8bd23b336b8a6cd83a2d88414710592ec5e4e'}, + {'velvet-20140815.tar.gz': '8e952e3a4bf2ffae586a64e5e97029c9fdd53b5e1991106ef832d73e499b163b'}, +] + +# listed make targets exclude 'doc' on purpose +buildopts = "VELVET_DIR=../velvet-%s cleanobj velvet oases" % local_velvet_commit +parallel = 1 + +files_to_copy = [(['oases'], 'bin'), 'data', 'scripts', 'src', 'doc', 'LICENSE.txt', 'README.md'] + +sanity_check_paths = { + 'files': ['bin/oases', 'LICENSE.txt', 'README.md'], + 'dirs': ['data', 'scripts', 'src', 'doc'] +} + +sanity_check_commands = ["oases --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-foss-2018a.eb b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-foss-2018a.eb index 433b701f926..bd551db8f61 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-foss-2018a.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-foss-2018a.eb @@ -40,7 +40,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.0'), ('gnuplot', '5.2.2'), - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '17.3.6'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a-mt.eb b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a-mt.eb index f623cd98f9f..2f8f0f23352 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a-mt.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a-mt.eb @@ -37,7 +37,7 @@ dependencies = [ ('GLPK', '4.61'), ('GL2PS', '1.4.0'), ('gnuplot', '5.0.6'), - ('Java', '1.8.0_131', '', True), + ('Java', '1.8.0_131', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '17.0.2'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a.eb b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a.eb index 913fdc43d8f..e5240000ae6 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-4.2.1-intel-2017a.eb @@ -36,7 +36,7 @@ dependencies = [ ('GLPK', '4.61'), ('GL2PS', '1.4.0'), ('gnuplot', '5.0.6'), - ('Java', '1.8.0_131', '', True), + ('Java', '1.8.0_131', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '17.0.2'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-4.2.2-foss-2018a.eb b/easybuild/easyconfigs/o/Octave/Octave-4.2.2-foss-2018a.eb index 9f2386fc73e..3765993042c 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-4.2.2-foss-2018a.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-4.2.2-foss-2018a.eb @@ -32,7 +32,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.0'), ('gnuplot', '5.2.2'), - ('Java', '1.8.0_162', '', True), + ('Java', '1.8.0_162', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '17.3.6'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-4.4.1-foss-2018b.eb b/easybuild/easyconfigs/o/Octave/Octave-4.4.1-foss-2018b.eb index 843200f9542..5662e74132d 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-4.4.1-foss-2018b.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-4.4.1-foss-2018b.eb @@ -32,7 +32,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.0'), ('gnuplot', '5.2.5'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '18.1.1'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019a.eb b/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019a.eb index 287bbf1c983..38880eb0332 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019a.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019a.eb @@ -32,7 +32,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.0'), ('gnuplot', '5.2.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '19.0.1'), ('libGLU', '9.0.0'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019b.eb b/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019b.eb index b37ef2c4129..3a702aad19f 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019b.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-5.1.0-foss-2019b.eb @@ -32,7 +32,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.0'), ('gnuplot', '5.2.8'), - ('Java', '11.0.2', '', True), + ('Java', '11.0.2', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '19.1.7'), ('libGLU', '9.0.1'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-6.2.0-foss-2020b.eb b/easybuild/easyconfigs/o/Octave/Octave-6.2.0-foss-2020b.eb index 3da5bd86b42..03e6837966e 100644 --- a/easybuild/easyconfigs/o/Octave/Octave-6.2.0-foss-2020b.eb +++ b/easybuild/easyconfigs/o/Octave/Octave-6.2.0-foss-2020b.eb @@ -32,7 +32,7 @@ dependencies = [ ('GLPK', '4.65'), ('GL2PS', '1.4.2'), ('gnuplot', '5.4.1'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('zlib', '1.2.11'), ('Mesa', '20.2.1'), ('libGLU', '9.0.1'), diff --git a/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb b/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb new file mode 100644 index 00000000000..a22e3ec4093 --- /dev/null +++ b/easybuild/easyconfigs/o/Octave/Octave-7.1.0-foss-2021b.eb @@ -0,0 +1,88 @@ +# 'optim' plugin added which is required for dynare +# Author: J. Sassmannshausen (Imperial College London/UK) + +name = 'Octave' +version = '7.1.0' + +homepage = 'https://www.gnu.org/software/octave/' +description = """GNU Octave is a high-level interpreted language, primarily intended for numerical computations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d4a9d81f3f67b4a6e07cb7a80dcb10ad5e9176fcc30762c70a81580a64b8b0b6'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Autotools', '20210726'), + ('gperf', '3.1'), + ('pkgconf', '1.8.0'), + ('gawk', '5.1.1'), +] + +dependencies = [ + ('X11', '20210802'), + ('PCRE', '8.45'), + ('ncurses', '6.2'), + ('libreadline', '8.1'), + ('arpack-ng', '3.8.0'), + ('cURL', '7.78.0'), + ('FLTK', '1.3.7'), + ('fontconfig', '2.13.94'), + ('freetype', '2.11.0'), + ('GLPK', '5.0'), + ('GL2PS', '1.4.2'), + ('gnuplot', '5.4.2'), + ('Java', '11', '', SYSTEM), + ('zlib', '1.2.11'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('Qhull', '2020.2'), + ('Qt5', '5.15.2'), + ('HDF5', '1.12.1'), + ('qrupdate', '1.1.2'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('makeinfo', '6.8'), + ('libsndfile', '1.0.31'), + ('GraphicsMagick', '1.3.36'), + ('SUNDIALS', '6.3.0'), +] + +configopts = '--disable-docs ' +# correct for both GCC and Intel compilers +configopts += '--enable-fortran-calling-convention=gfortran' + +local_pkg_url = 'https://downloads.sourceforge.net/' +local_pkg_url += 'project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/' +exts_default_options = {'source_urls': [local_pkg_url]} + +exts_list = [ + ('control', '3.4.0', { + 'checksums': ['6ec6a06e13ad288afad8631cc41f7247e47096fa1e8d04240d4ed01efbe4a77a'], + }), + ('general', '2.1.2', { + 'checksums': ['a30cd1a79743c62528dae46ebd4a83f848ae46a1c1dac3eaabc36662d42294cf'], + }), + ('io', '2.6.4', { + 'checksums': ['a74a400bbd19227f6c07c585892de879cd7ae52d820da1f69f1a3e3e89452f5a'], + }), + ('signal', '1.4.2', { + 'checksums': ['62a4e06117dcc43c36169905f8255d015481ca982aeae9013b0d9df3e48e7062'], + }), + ('statistics', '1.4.3', { + 'checksums': ['9801b8b4feb26c58407c136a9379aba1e6a10713829701bb3959d9473a67fa05'], + }), + ('struct', '1.0.17', { + 'checksums': ['0137bbb5df650f29104f6243502f3a2302aaaa5e42ea9f02d8a3943aaf668433'], + }), + ('optim', '1.6.2', { + 'checksums': ['554a8e18bb7195ae861f5059c14f1a557844265c1addb5bfbf3ab9885524787e'], + }), +] + +runtest = 'check' + +moduleclass = 'math' 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 new file mode 100644 index 00000000000..9e13f1be82e --- /dev/null +++ b/easybuild/easyconfigs/o/OmegaFold/OmegaFold-1.1.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'OmegaFold' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/HeliXonProtein/OmegaFold' +description = """OmegaFold: High-resolution de novo Structure Prediction from Primary Sequence""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), + ('Biopython', '1.79'), +] + +use_pip = True +sanity_pip_check = True + +# add missing version for OmegaFold +exts_list = [ + (name, version, { + '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'], + }), +] + +sanity_check_paths = { + 'files': ['bin/omegafold'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/omegafold'], +} + +sanity_check_commands = [ + "omegafold --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..fc7073d5da7 --- /dev/null +++ b/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,119 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Omnipose' +version = '0.4.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://omnipose.readthedocs.io' +description = """ +Omnipose is a general image segmentation tool that builds on Cellpose in a number of ways +described in our paper. It works for both 2D and 3D images and on any imaging modality or +cell shape, so long as you train it on representative images. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyQtGraph', '0.13.3'), + ('numba', '0.56.4'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('igraph', '0.10.3'), + ('MXNet', '1.9.1'), + ('mgen', '1.2.1'), + ('ncolor', '1.2.1'), + ('mahotas', '1.4.13'), + ('peakdetect', '1.2'), + ('python-igraph', '0.10.3'), + ('torchvf', '0.1.3', versionsuffix), + ('OpenCV', '4.6.0', '-contrib'), + ('tqdm', '4.64.0'), + ('imagecodecs', '2022.9.26'), +] + +use_pip = True + +exts_list = [ + ('edt', '2.3.1', { + 'checksums': ['3696e1f7de482465af731a734a31b261a8852df8d583118f1b223d61764e063f'], + }), + ('tifffile', '2023.4.12', { + 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('fastremap', '1.13.5', { + 'source_urls': ['https://github.com/seung-lab/fastremap/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['ee0e9e798e9f331b7c46e98768735a42bb6e287b3aa56c31c322ba585f4036b7'], + 'preinstallopts': "export PBR_VERSION=1.2.3 && ", + }), + ('roifile', '2023.5.12', { + 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('googleapis-common-protos', '1.59.1', { + 'checksums': ['b35d530fe825fb4227857bc47ad84c33c809ac96f312e13182bdeaa2abe1178a'], + 'preinstallopts': 'sed -i "s|protobuf>=3.19.5|protobuf>=3.19.4|g" setup.py && ', + 'modulename': 'google.api', + }), + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('google-crc32c', '1.5.0', { + 'checksums': ['89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7'], + 'modulename': 'google_crc32c', + }), + ('google-auth', '2.22.0', { + 'checksums': ['164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce'], + 'modulename': 'google.auth', + }), + ('google-cloud-core', '2.3.3', { + 'checksums': ['37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb'], + 'modulename': 'google.api', + }), + ('google-api-core', '2.11.1', { + 'checksums': ['25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a'], + 'preinstallopts': 'sed -i "s|protobuf>=3.19.5|protobuf>=3.19.4|g" setup.py && ', + 'modulename': 'google.api_core', + }), + ('google-resumable-media', '2.5.0', { + 'checksums': ['218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93'], + 'modulename': 'google.resumable_media', + }), + ('google-cloud-storage', '2.10.0', { + 'checksums': ['934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7'], + 'modulename': 'google.cloud.storage', + }), + ('cellpose-omni', '0.9.1', { + 'patches': ['%(name)s-%(version)s_fix_deps_and_scm.patch'], + 'checksums': [ + {'cellpose-omni-0.9.1.tar.gz': '84f3199a751a74ddab643227bd0425ffafedcc2e739a57958f73a6d5f5348b6e'}, + {'cellpose-omni-0.9.1_fix_deps_and_scm.patch': + 'a1c42309d1a39297744a8505b45b9bff2e0f9ef738680349cc4adf8f663c4be0'}, + ], + }), + ('omnipose', version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['0bf1c333359504b0af511c36cc8db60ba5edba92d22c6aff183d9b858d269fe1'], + 'preinstallopts': "sed -i 's/numpy>=1.22.4/numpy>=1.22.3/g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a.eb b/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a.eb new file mode 100644 index 00000000000..9f96adeaa59 --- /dev/null +++ b/easybuild/easyconfigs/o/Omnipose/Omnipose-0.4.4-foss-2022a.eb @@ -0,0 +1,117 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'Omnipose' +version = '0.4.4' + +homepage = 'https://omnipose.readthedocs.io' +description = """ +Omnipose is a general image segmentation tool that builds on Cellpose in a number of ways +described in our paper. It works for both 2D and 3D images and on any imaging modality or +cell shape, so long as you train it on representative images. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('PyTorch', '1.12.0'), + ('PyQtGraph', '0.13.3'), + ('numba', '0.56.4'), + ('scikit-image', '0.19.3'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('igraph', '0.10.3'), + ('MXNet', '1.9.1'), + ('mgen', '1.2.1'), + ('ncolor', '1.2.1'), + ('mahotas', '1.4.13'), + ('peakdetect', '1.2'), + ('python-igraph', '0.10.3'), + ('torchvf', '0.1.3'), + ('OpenCV', '4.6.0', '-contrib'), + ('tqdm', '4.64.0'), + ('imagecodecs', '2022.9.26'), +] + +use_pip = True + +exts_list = [ + ('edt', '2.3.1', { + 'checksums': ['3696e1f7de482465af731a734a31b261a8852df8d583118f1b223d61764e063f'], + }), + ('tifffile', '2023.4.12', { + 'checksums': ['2fa99f9890caab919d932a0acaa9d0f5843dc2ef3594e212963932e20713badd'], + }), + ('natsort', '8.3.1', { + 'checksums': ['517595492dde570a4fd6b6a76f644440c1ba51e2338c8a671d7f0475fda8f9fd'], + }), + ('fastremap', '1.13.5', { + 'source_urls': ['https://github.com/seung-lab/fastremap/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['ee0e9e798e9f331b7c46e98768735a42bb6e287b3aa56c31c322ba585f4036b7'], + 'preinstallopts': "export PBR_VERSION=1.2.3 && ", + }), + ('roifile', '2023.5.12', { + 'checksums': ['32eeba0d9ad52cc249d6a234b737c1808a6c5d7d9baae6453709eb74222b3433'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('googleapis-common-protos', '1.59.1', { + 'checksums': ['b35d530fe825fb4227857bc47ad84c33c809ac96f312e13182bdeaa2abe1178a'], + 'preinstallopts': 'sed -i "s|protobuf>=3.19.5|protobuf>=3.19.4|g" setup.py && ', + 'modulename': 'google.api', + }), + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('google-crc32c', '1.5.0', { + 'checksums': ['89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7'], + 'modulename': 'google_crc32c', + }), + ('google-auth', '2.22.0', { + 'checksums': ['164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce'], + 'modulename': 'google.auth', + }), + ('google-cloud-core', '2.3.3', { + 'checksums': ['37b80273c8d7eee1ae816b3a20ae43585ea50506cb0e60f3cf5be5f87f1373cb'], + 'modulename': 'google.api', + }), + ('google-api-core', '2.11.1', { + 'checksums': ['25d29e05a0058ed5f19c61c0a78b1b53adea4d9364b464d014fbda941f6d1c9a'], + 'preinstallopts': 'sed -i "s|protobuf>=3.19.5|protobuf>=3.19.4|g" setup.py && ', + 'modulename': 'google.api_core', + }), + ('google-resumable-media', '2.5.0', { + 'checksums': ['218931e8e2b2a73a58eb354a288e03a0fd5fb1c4583261ac6e4c078666468c93'], + 'modulename': 'google.resumable_media', + }), + ('google-cloud-storage', '2.10.0', { + 'checksums': ['934b31ead5f3994e5360f9ff5750982c5b6b11604dc072bc452c25965e076dc7'], + 'modulename': 'google.cloud.storage', + }), + ('cellpose-omni', '0.9.1', { + 'patches': ['%(name)s-%(version)s_fix_deps_and_scm.patch'], + 'checksums': [ + {'cellpose-omni-0.9.1.tar.gz': '84f3199a751a74ddab643227bd0425ffafedcc2e739a57958f73a6d5f5348b6e'}, + {'cellpose-omni-0.9.1_fix_deps_and_scm.patch': + 'a1c42309d1a39297744a8505b45b9bff2e0f9ef738680349cc4adf8f663c4be0'}, + ], + }), + ('omnipose', version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['0bf1c333359504b0af511c36cc8db60ba5edba92d22c6aff183d9b858d269fe1'], + 'preinstallopts': "sed -i 's/numpy>=1.22.4/numpy>=1.22.3/g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Omnipose/cellpose-omni-0.9.1_fix_deps_and_scm.patch b/easybuild/easyconfigs/o/Omnipose/cellpose-omni-0.9.1_fix_deps_and_scm.patch new file mode 100644 index 00000000000..3c9184fc01a --- /dev/null +++ b/easybuild/easyconfigs/o/Omnipose/cellpose-omni-0.9.1_fix_deps_and_scm.patch @@ -0,0 +1,33 @@ +Making dependencies more flexible, adding version, disabling SCM (not working with EasyBuild) +--- setup_orig.py 2023-07-24 15:21:02.016292082 +0200 ++++ setup.py 2023-07-24 15:45:57.822276166 +0200 +@@ -1,10 +1,10 @@ + import setuptools + from setuptools import setup + +-install_deps = ['numpy>=1.22.4', 'scipy', 'natsort', ++install_deps = ['numpy>=1.22.3', 'scipy', 'natsort', + 'tifffile', 'tqdm', 'numba', + 'torch>=1.6', +- 'opencv-python-headless', # headless not working with pyinstaller ++ 'opencv-contrib-python', # headless not working with pyinstaller + 'fastremap', 'imagecodecs' + ] + +@@ -57,6 +57,7 @@ + + setup( + name="cellpose-omni", ++ version='0.9.1', + license="BSD", + author="Kevin Cutler", + author_email="kevinjohncutler@outlook.com", +@@ -69,7 +70,7 @@ + 'setuptools_scm', + ], + packages=setuptools.find_packages(), +- use_scm_version=True, ++ use_scm_version=False, + install_requires = install_deps, + tests_require=[ + 'pytest' diff --git a/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb new file mode 100644 index 00000000000..5f13ddc0462 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.21.0-foss-2021b.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'OpenAI-Gym' +version = '0.21.0' + +homepage = 'https://gym.openai.com' +description = "A toolkit for developing and comparing reinforcement learning algorithms." + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Arcade-Learning-Environment', '0.7.3'), + ('mujoco-py', '2.1.2.14'), + ('OpenCV', '4.5.5', '-contrib'), + ('lz4', '1.9.3'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('pyglet', '1.5.21', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pyglet/pyglet/archive'], + 'checksums': ['7a6fa81e0bffa3bd1349e235e4824e44e26596f226cb60d9f653fe3a8a8d0839'], + }), + ('box2d-py', '2.3.5', { + 'modulename': 'Box2D', + 'checksums': ['b37dc38844bcd7def48a97111d2b082e4f81cca3cece7460feb3eacda0da2207'], + }), + ('lz4', '3.1.10', { + 'checksums': ['439e575ecfa9ecffcbd63cfed99baefbe422ab9645b1e82278024d8a21d9720b'], + }), + ('gym', version, { + 'checksums': ['0fd1ce165c754b4017e37a617b097c032b8c3feb8a0394ccc8777c7c50dddff3'], + 'use_pip_extras': 'all', + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'robotics', 'toy_text'] +sanity_check_commands = ["python -c 'import gym.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2022a.eb b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2022a.eb new file mode 100644 index 00000000000..666ddb08942 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'OpenAI-Gym' +version = '0.26.2' + +homepage = 'https://gym.openai.com' +description = "A toolkit for developing and comparing reinforcement learning algorithms." + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Arcade-Learning-Environment', '0.8.1'), + ('OpenCV', '4.6.0', '-contrib'), + ('lz4', '1.9.3'), + ('pygame', '2.1.0'), + ('python-mujoco', '2.2.2'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('gym-notices', '0.0.8', { + 'checksums': ['ad25e200487cafa369728625fe064e88ada1346618526102659b4640f2b4b911'], + }), + ('box2d-py', '2.3.5', { + 'modulename': 'Box2D', + 'checksums': ['b37dc38844bcd7def48a97111d2b082e4f81cca3cece7460feb3eacda0da2207'], + }), + ('lz4', '3.1.10', { + 'checksums': ['439e575ecfa9ecffcbd63cfed99baefbe422ab9645b1e82278024d8a21d9720b'], + }), + ('gym', version, { + 'use_pip_extras': 'all', + 'checksums': ['e0d882f4b54f0c65f203104c24ab8a38b039f1289986803c7d02cdbe214fbcc4'], + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'toy_text'] +sanity_check_commands = ["python -c 'import gym.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2023a.eb b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2023a.eb new file mode 100644 index 00000000000..c7ad7c7c04f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenAI-Gym/OpenAI-Gym-0.26.2-foss-2023a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'OpenAI-Gym' +version = '0.26.2' + +homepage = 'https://gym.openai.com' +description = "A toolkit for developing and comparing reinforcement learning algorithms." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Arcade-Learning-Environment', '0.8.1'), + ('OpenCV', '4.8.1', '-contrib'), + ('lz4', '1.9.4'), + ('pygame', '2.5.2'), + ('MuJoCo', '3.1.4'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('gym-notices', '0.0.8', { + 'checksums': ['ad25e200487cafa369728625fe064e88ada1346618526102659b4640f2b4b911'], + }), + ('box2d-py', '2.3.8', { + 'modulename': 'Box2D', + 'checksums': ['bdacfbbc56079bb317548efe49d3d5a86646885cc27f4a2ee97e4b2960921ab7'], + }), + ('lz4', '4.3.3', { + 'checksums': ['01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e'], + }), + ('gym', version, { + 'use_pip_extras': 'all', + 'checksums': ['e0d882f4b54f0c65f203104c24ab8a38b039f1289986803c7d02cdbe214fbcc4'], + }), +] + +local_envs = ['box2d', 'classic_control', 'mujoco', 'toy_text'] +sanity_check_commands = ["python -c 'import gym.envs.%s'" % e for e in local_envs] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb index f3346d9db0a..48333ab642d 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12-GCC-10.2.0.eb @@ -15,8 +15,9 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - 'OpenBLAS-0.3.7_fix-possible-memory-leak-after-fork.patch', - '%(name)s-0.3.15_icelake-detection.patch', + '%(name)s-0.3.7_fix-possible-memory-leak-after-fork.patch', + '%(name)s-%(version)s_add-missing-params-for-power.patch', + '%(name)s-0.3.12_icelake-detection.patch', ] checksums = [ '65a7d3a4010a4e3bd5c0baa41a234797cd3a1735449a4a5902129152601dc57b', # v0.3.12.tar.gz @@ -24,7 +25,14 @@ checksums = [ '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz # OpenBLAS-0.3.7_fix-possible-memory-leak-after-fork.patch '4b3ab7260975ea2cfd7460731c0201b2c1e374cd83ae90d55b8da3e670633ba0', - '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', # OpenBLAS-0.3.15_icelake-detection.patch + # OpenBLAS-0.3.12_add-missing-params-for-power.patch + '4454af07290d1fe33e414023a41bb8999d6ee31887e194daa72bd23d46a0072a', + # OpenBLAS-0.3.12_icelake-detection.patch + '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', +] + +builddependencies = [ + ('make', '4.3'), ] # extensive testing can be enabled by uncommenting the line below diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_add-missing-params-for-power.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_add-missing-params-for-power.patch new file mode 100644 index 00000000000..3bad4d7bca3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_add-missing-params-for-power.patch @@ -0,0 +1,23 @@ +This fixes inexact calculations on POWER, see https://github.com/xianyi/OpenBLAS/issues/2923 +From https://github.com/xianyi/OpenBLAS/pull/3062 + +Backported by Alexander Grund (TU Dresden) + +--- + param.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/param.h b/param.h +index f3ddde6..35f579b 100644 +--- a/param.h ++++ b/param.h +@@ -2397,6 +2397,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #define GEMM_DEFAULT_OFFSET_B 65536 + #define GEMM_DEFAULT_ALIGN 0x0ffffUL + ++#define SWITCH_RATIO 16 ++#define GEMM_PREFERED_SIZE 16 ++ + #define SGEMM_DEFAULT_UNROLL_M 16 + #define SGEMM_DEFAULT_UNROLL_N 8 + #define DGEMM_DEFAULT_UNROLL_M 16 diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch new file mode 100644 index 00000000000..618c165930b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.12_icelake-detection.patch @@ -0,0 +1,75 @@ +Add autodetection for Intel Ice Lake SP +https://github.com/xianyi/OpenBLAS/pull/3233 +diff --git a/cpuid_x86.c b/cpuid_x86.c +index 44704fcd9..18ff122e5 100644 +--- a/cpuid_x86.c ++++ b/cpuid_x86.c +@@ -1398,6 +1398,17 @@ int get_cpuname(void){ + return CPUTYPE_SANDYBRIDGE; + else + return CPUTYPE_NEHALEM; ++ case 10: // Ice Lake SP ++ if(support_avx512_bf16()) ++ return CPUTYPE_COOPERLAKE; ++ if(support_avx512()) ++ return CPUTYPE_SKYLAKEX; ++ if(support_avx2()) ++ return CPUTYPE_HASWELL; ++ if(support_avx()) ++ return CPUTYPE_SANDYBRIDGE; ++ else ++ return CPUTYPE_NEHALEM; + } + break; + case 7: // family 6 exmodel 7 +@@ -2112,7 +2123,22 @@ int get_coretype(void){ + #endif + else + return CORE_NEHALEM; +-#endif ++#endif ++ if (model == 10) ++#ifndef NO_AVX512 ++ if(support_avx512_bf16()) ++ return CORE_COOPERLAKE; ++ return CORE_SKYLAKEX; ++#else ++ if(support_avx()) ++#ifndef NO_AVX2 ++ return CORE_HASWELL; ++#else ++ return CORE_SANDYBRIDGE; ++#endif ++ else ++ return CORE_NEHALEM; ++#endif + break; + case 7: + if (model == 10) +diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c +index 158e1b3da..46ad06a7c 100644 +--- a/driver/others/dynamic.c ++++ b/driver/others/dynamic.c +@@ -621,6 +621,22 @@ static gotoblas_t *get_coretype(void){ + return &gotoblas_NEHALEM; + } + } ++ if (model == 10) { ++ // Ice Lake SP ++ if(support_avx512_bf16()) ++ return &gotoblas_COOPERLAKE; ++ if (support_avx512()) ++ return &gotoblas_SKYLAKEX; ++ if(support_avx2()) ++ return &gotoblas_HASWELL; ++ if(support_avx()) { ++ openblas_warning(FALLBACK_VERBOSE, SANDYBRIDGE_FALLBACK); ++ return &gotoblas_SANDYBRIDGE; ++ } else { ++ openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK); ++ return &gotoblas_NEHALEM; ++ } ++ } + return NULL; + case 7: + if (model == 10) // Goldmont Plus diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb index fa72e0dfc56..13b731bc6d1 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15-GCC-10.3.0.eb @@ -15,13 +15,22 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - '%(name)s-%(version)s_icelake-detection.patch', + 'OpenBLAS-%(version)s_icelake-detection.patch', + 'OpenBLAS-%(version)s_fix-aarch64.patch', + 'OpenBLAS-%(version)s_workaround-gcc-miscompilation.patch', ] checksums = [ '30a99dec977594b387a17f49904523e6bc8dd88bd247266e83485803759e4bbe', # v0.3.15.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz - '9cc47898ba4ad090011dbb0b29e597a13eeebd49a52d4dc94e975743072724b7', # OpenBLAS-0.3.15_icelake-detection.patch + 'aa96e1c3b1532dbafe4b6e8591688ef200e99304a902851f342cb9d467219762', # OpenBLAS-0.3.15_icelake-detection.patch + 'ba7bd45af9fe0516f8c9b1cf047eec7b833996e481bc925d4fb2563865d3db38', # OpenBLAS-0.3.15_fix-aarch64.patch + # OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971', +] + +builddependencies = [ + ('make', '4.3'), ] # extensive testing can be enabled by uncommenting the line below diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_fix-aarch64.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_fix-aarch64.patch new file mode 100644 index 00000000000..d5b4cf40cb8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_fix-aarch64.patch @@ -0,0 +1,27 @@ +see https://github.com/xianyi/OpenBLAS/pull/3270 + +From 9d292d37b2cea829763f8f6bf8e5f4053bbf2a00 Mon Sep 17 00:00:00 2001 +From: Gilles Gouaillardet +Date: Mon, 14 Jun 2021 17:01:28 +0900 +Subject: [PATCH] arm64: add the missing d9 register to the clobber list + +Refs. numpy/numpy#18422 + +Signed-off-by: Gilles Gouaillardet +--- + kernel/arm64/dznrm2_thunderx2t99.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/arm64/dznrm2_thunderx2t99.c b/kernel/arm64/dznrm2_thunderx2t99.c +index b021a28321..fba2fe8ce7 100644 +--- a/kernel/arm64/dznrm2_thunderx2t99.c ++++ b/kernel/arm64/dznrm2_thunderx2t99.c +@@ -321,7 +321,7 @@ static void nrm2_compute(BLASLONG n, FLOAT *x, BLASLONG inc_x, + : "cc", + "memory", + "x0", "x1", "x2", "x3", "x4", "x5", "x6", +- "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8" ++ "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", REGINF + ); + + } diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch index 618c165930b..14a317cea1b 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_icelake-detection.patch @@ -46,6 +46,24 @@ index 44704fcd9..18ff122e5 100644 break; case 7: if (model == 10) +@@ -2135,13 +2161,13 @@ + case 8: + if (model == 12) { // Tiger Lake + if(support_avx512()) +- return CPUTYPE_SKYLAKEX; ++ return CORE_SKYLAKEX; + if(support_avx2()) +- return CPUTYPE_HASWELL; ++ return CORE_HASWELL; + if(support_avx()) +- return CPUTYPE_SANDYBRIDGE; ++ return CORE_SANDYBRIDGE; + else +- return CPUTYPE_NEHALEM; ++ return CORE_NEHALEM; + } + if (model == 14) { // Kaby Lake + if(support_avx()) diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index 158e1b3da..46ad06a7c 100644 --- a/driver/others/dynamic.c diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch new file mode 100644 index 00000000000..5e6b25003c3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch @@ -0,0 +1,17 @@ +Workaround optimizer bug in GCC on POWER9. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100799 + +Author: Alexander Grund (TU Dresden) + +diff --git a/Makefile.power b/Makefile.power +index 946f5523..96b14dca 100644 +--- a/Makefile.power ++++ b/Makefile.power +@@ -35,6 +35,7 @@ endif + ifneq ($(F_COMPILER), PGI) + FCOMMON_OPT += -O2 -frecursive -fno-fast-math + ifeq ($(C_COMPILER), GCC) ++FCOMMON_OPT += -fstack-protector-strong + ifneq ($(GCCVERSIONGT4), 1) + $(warning your compiler is too old to fully support POWER9, getting a newer version of gcc is recommended) + FCOMMON_OPT += -mcpu=power8 -mtune=power8 diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-10.3.0.eb new file mode 100644 index 00000000000..a7984cac146 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +name = 'OpenBLAS' +version = '0.3.17' + +homepage = 'https://xianyi.github.com/OpenBLAS/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', +] +checksums = [ + 'df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f', # v0.3.17.tar.gz + 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz + '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz + # OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971', +] + +builddependencies = [ + ('make', '4.3'), +] + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb new file mode 100644 index 00000000000..1df506125c2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17-GCC-11.2.0.eb @@ -0,0 +1,53 @@ +name = 'OpenBLAS' +version = '0.3.17' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-%(version)s_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch', + 'OpenBLAS-%(version)s_fix-segfault-ztrsv.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.17.tar.gz': 'df2934fa33d04fd84d839ca698280df55c690c86a5a1133b3f7266fce1de279f'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.17_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch': + 'ea76320bc047eff1bf2a2f50c1c19acb4fd6d2b8a5bf81a4dce73145a2a5cfcb'}, + {'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch': 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.9.6', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch new file mode 100644 index 00000000000..411242af12c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_fix-segfault-ztrsv.patch @@ -0,0 +1,29 @@ +fix segmentation fault triggered via scipy tests +and https://github.com/xianyi/OpenBLAS/issues/3419 + https://github.com/xianyi/OpenBLAS/pull/3420 +From 2845f54eb8ad4c79d0374b52cceac434fc93d8ac Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 20 Oct 2021 10:50:02 +0200 +Subject: [PATCH] Remove dangerous optimization from previous #3252 - buffer is + never unused here + +--- + interface/ztrsv.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/interface/ztrsv.c b/interface/ztrsv.c +index cf750b0b0c..cbb7bba13b 100644 +--- a/interface/ztrsv.c ++++ b/interface/ztrsv.c +@@ -199,12 +199,6 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_UPLO Uplo, + + if (n == 0) return; + +- if (incx == 1 && trans == 0 && n < 50) { +- buffer = NULL; +- (trsv[(trans<<2) | (uplo<<1) | unit])(n, a, lda, x, incx, buffer); +- return; +- } +- + IDEBUG_START; + + FUNCTION_PROFILE_START(); diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch new file mode 100644 index 00000000000..224c38daf54 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.17_workaround-gcc11-miscompiling-C-ZBLAS3-tests.patch @@ -0,0 +1,101 @@ +https://github.com/xianyi/OpenBLAS/pull/3329 +From cbc41973fde6137bc42c34de64a41b5a82b597c0 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Fri, 30 Jul 2021 14:20:12 +0200 +Subject: [PATCH 1/4] Disable gfortran tree vectorizer to avoid gcc11+ + miscompilation at O3 + +--- + ctest/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ctest/CMakeLists.txt b/ctest/CMakeLists.txt +index 17f29fe693..f785d3f90d 100644 +--- a/ctest/CMakeLists.txt ++++ b/ctest/CMakeLists.txt +@@ -4,6 +4,9 @@ include_directories(${PROJECT_BINARY_DIR}) + enable_language(Fortran) + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DADD${BU} -DCBLAS") ++if (CMAKE_Fortran_COMPILER_ID STREQUAL GNU) ++ set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-tree-vectorize") ++endif() + + if(WIN32) + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.ps1 + +From b4f4ed378b2343b0af8b1235838feef4f6c8c51c Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Fri, 30 Jul 2021 14:21:08 +0200 +Subject: [PATCH 2/4] Disable gfortran tree vectorizer to avoid gcc11+ + miscompilation at O3 + +--- + test/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index d338242ff8..e4ee8b28b8 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -2,6 +2,10 @@ include_directories(${PROJECT_SOURCE_DIR}) + include_directories(${PROJECT_BINARY_DIR}) + + enable_language(Fortran) ++if (CMAKE_Fortran_COMPILER_ID STREQUAL GNU) ++ set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-tree-vectorize") ++endif() ++ + + if (BUILD_SINGLE) + list( APPEND OpenBLAS_Tests sblat1 sblat2 sblat3) + +From e78fbe46541dedcf39eb0362e69b1de6f7808642 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Fri, 30 Jul 2021 14:44:54 +0200 +Subject: [PATCH 3/4] Disable gfortran tree vectorizer to avoid gcc11+ + miscompilation at O3 + +--- + ctest/Makefile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ctest/Makefile b/ctest/Makefile +index 15c83a9079..c5e1094da0 100644 +--- a/ctest/Makefile ++++ b/ctest/Makefile +@@ -6,6 +6,9 @@ TOPDIR = .. + include $(TOPDIR)/Makefile.system + + override CFLAGS += -DADD$(BU) -DCBLAS ++ifeq ($(F_COMPILER),GFORTRAN) ++ override FFLAGS += -fno-tree-vectorize ++endif + override TARGET_ARCH= + override TARGET_MACH= + + +From 5dc6aa74f05cc6c4405be195461fa5afc2c03888 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Fri, 30 Jul 2021 14:46:19 +0200 +Subject: [PATCH 4/4] Disable gfortran tree vectorizer to avoid gcc11+ + miscompilation at O3 + +--- + test/Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/test/Makefile b/test/Makefile +index 6c5f041c28..923f1537c2 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -1,6 +1,8 @@ + TOPDIR = .. + include ../Makefile.system +- ++ifeq ($(F_COMPILER),GFORTRAN) ++ override FFLAGS += -fno-tree-vectorize ++endif + + ifeq ($(NOFORTRAN),1) + all :: diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb new file mode 100644 index 00000000000..e00c62b1089 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.18-GCC-11.2.0.eb @@ -0,0 +1,50 @@ +name = 'OpenBLAS' +version = '0.3.18' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.18.tar.gz': '1632c1e8cca62d8bed064b37747e331a1796fc46f688626337362bf0d16aeadb'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.17_fix-segfault-ztrsv.patch': 'b1f89d90cc46b486534069135854e6081994b5a1a88370d32dae982e0f040111'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.9.6', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb new file mode 100644 index 00000000000..48991f92ef5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.2.0.eb @@ -0,0 +1,53 @@ +name = 'OpenBLAS' +version = '0.3.20' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + '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.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.9.6', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb new file mode 100644 index 00000000000..9c82eead66a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0-int8.eb @@ -0,0 +1,62 @@ +name = 'OpenBLAS' +version = '0.3.20' +versionsuffix = '-int8' + +homepage = 'http://www.openblas.net/' +description = """OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. +This build supports 64bit integers in Fortran (integer*8)""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch', + '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.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch': + '1b495465f8dd1e151d74cf5aa4288120361d29164d6a377228a8d51c255b8a9e'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.10.4', '-bare'), +] + +_int8_opts = "INTERFACE64='1' USE_OPENMP='0'" +buildopts = _int8_opts +testopts = _int8_opts + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb new file mode 100644 index 00000000000..96a3218f027 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-GCC-11.3.0.eb @@ -0,0 +1,56 @@ +name = 'OpenBLAS' +version = '0.3.20' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch', + '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.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch': + '1b495465f8dd1e151d74cf5aa4288120361d29164d6a377228a8d51c255b8a9e'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.10.4', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d7442a5c7d8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,48 @@ +name = 'OpenBLAS' +version = '0.3.20' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + '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.21_disable-fma-in-cscal-zscal.patch', + 'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch', +] +checksums = [ + {'v0.3.20.tar.gz': '8495c9affc536253648e942908e88e097f2ec7753ede55aca52e5dead3029e3c'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch': + 'bd6836206a883208dc8bc997946f97e4c97d91d8e101fc54db414aaa56902fc3'}, + {'OpenBLAS-0.3.21_avoid-crash-in-zdot.patch': '3dac2c1ec896df574f1b37cde81a16f24550b7f1eb81fbfacb0c4449b0dc7894'}, +] + +builddependencies = [ + ('make', '4.3'), +] + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch new file mode 100644 index 00000000000..e638336abea --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-cpuid-neoverse-v1-n2.patch @@ -0,0 +1,17 @@ +# This fixes an incorrect autodetection of NeoverseV1 architecture at build time +# Fixes https://github.com/EESSI/software-layer/pull/310#issuecomment-1734345487 +# Patch was extracted from https://github.com/OpenMathLib/OpenBLAS/commit/09b8545fc51316d0fecf34c9e753b8a20358a3e8 +# which is part of https://github.com/OpenMathLib/OpenBLAS/pull/3586 (which is merged in OpenBLAS-0.3.21) +--- cpuid_arm64.c.orig 2022-02-20 21:35:05.000000000 +0000 ++++ cpuid_arm64.c 2023-09-26 16:27:15.265602255 +0000 +@@ -73,8 +73,8 @@ + "TSV110", + "EMAG8180", + "NEOVERSEN1", +- "NEOVERSEV1" +- "NEOVERSEN2" ++ "NEOVERSEV1", ++ "NEOVERSEN2", + "THUNDERX3T110", + "VORTEX", + "CORTEXA55", diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-x86-cpuid.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-x86-cpuid.patch new file mode 100644 index 00000000000..a26c184754c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_fix-x86-cpuid.patch @@ -0,0 +1,54 @@ +Fix C&P error causing misdetection of CPUs. +Allows auto-detection of Intel SapphireRapids +Backport from https://github.com/OpenMathLib/OpenBLAS/pull/4002 + +Author: Alexander Grund (TU Dresden) + +diff --git a/cpuid_x86.c b/cpuid_x86.c +index d7d85eb20..9a37aa3f1 100644 +--- a/cpuid_x86.c ++++ b/cpuid_x86.c +@@ -1900,7 +1900,8 @@ static char *corename[] = { + "ZEN", + "SKYLAKEX", + "DHYANA", +- "COOPERLAKE" ++ "COOPERLAKE", ++ "SAPPHIRERAPIDS", + }; + + static char *corename_lower[] = { +@@ -1934,7 +1935,8 @@ static char *corename_lower[] = { + "zen", + "skylakex", + "dhyana", +- "cooperlake" ++ "cooperlake", ++ "sapphirerapids", + }; + + +@@ -2240,16 +2242,18 @@ int get_coretype(void){ + return CORE_NEHALEM; + } + if (model == 15) { // Sapphire Rapids ++ if(support_amx_bf16()) ++ return CORE_SAPPHIRERAPIDS; + if(support_avx512_bf16()) +- return CPUTYPE_COOPERLAKE; ++ return CORE_COOPERLAKE; + if(support_avx512()) +- return CPUTYPE_SKYLAKEX; ++ return CORE_SKYLAKEX; + if(support_avx2()) +- return CPUTYPE_HASWELL; ++ return CORE_HASWELL; + if(support_avx()) +- return CPUTYPE_SANDYBRIDGE; ++ return CORE_SANDYBRIDGE; + else +- return CPUTYPE_NEHALEM; ++ return CORE_NEHALEM; + } + break; + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch new file mode 100644 index 00000000000..a342b04b79f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch @@ -0,0 +1,65 @@ +From 9019bc494514a74c2042152cdca0a36adea7b42f Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Sat, 4 Nov 2023 22:10:06 +0100 +Subject: [PATCH] Use SkylakeX ?ASUM microkernel for Cooperlake/Sapphirerapids + as well + +--- + kernel/x86_64/casum.c | 2 +- + kernel/x86_64/dasum.c | 2 +- + kernel/x86_64/sasum.c | 2 +- + kernel/x86_64/zasum.c | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/kernel/x86_64/casum.c b/kernel/x86_64/casum.c +index 60feec0ceb..e4d0543114 100644 +--- a/kernel/x86_64/casum.c ++++ b/kernel/x86_64/casum.c +@@ -4,7 +4,7 @@ + #define ABS_K(a) ((a) > 0 ? (a) : (-(a))) + #endif + +-#if defined(SKYLAKEX) ++#if defined(SKYLAKEX) || defined(COOPERLAKE) || defined(SAPPHIRERAPIDS) + #include "casum_microk_skylakex-2.c" + #endif + +diff --git a/kernel/x86_64/dasum.c b/kernel/x86_64/dasum.c +index a9c40f38f0..0147c6978a 100644 +--- a/kernel/x86_64/dasum.c ++++ b/kernel/x86_64/dasum.c +@@ -4,7 +4,7 @@ + #define ABS_K(a) ((a) > 0 ? (a) : (-(a))) + #endif + +-#if defined(SKYLAKEX) ++#if defined(SKYLAKEX) || defined(COOPERLAKE) || defined(SAPPHIRERAPIDS) + #include "dasum_microk_skylakex-2.c" + #elif defined(HASWELL) || defined(ZEN) + #include "dasum_microk_haswell-2.c" +diff --git a/kernel/x86_64/sasum.c b/kernel/x86_64/sasum.c +index 37a92468ff..3f22cb97a1 100644 +--- a/kernel/x86_64/sasum.c ++++ b/kernel/x86_64/sasum.c +@@ -9,7 +9,7 @@ + + #endif + +-#if defined(SKYLAKEX) ++#if defined(SKYLAKEX) || defined(COOPERLAKE) || defined(SAPPHIRERAPIDS) + #include "sasum_microk_skylakex-2.c" + #elif defined(HASWELL) || defined(ZEN) + #include "sasum_microk_haswell-2.c" +diff --git a/kernel/x86_64/zasum.c b/kernel/x86_64/zasum.c +index 80e95a2c89..3f17ab1cfa 100644 +--- a/kernel/x86_64/zasum.c ++++ b/kernel/x86_64/zasum.c +@@ -4,7 +4,7 @@ + #define ABS_K(a) ((a) > 0 ? (a) : (-(a))) + #endif + +-#if defined(SKYLAKEX) ++#if defined(SKYLAKEX) || defined(COOPERLAKE) || defined(SAPPHIRERAPIDS) + #include "zasum_microk_skylakex-2.c" + #endif + 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 new file mode 100644 index 00000000000..ea28ea399a4 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb @@ -0,0 +1,56 @@ +name = 'OpenBLAS' +version = '0.3.21' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + '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.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'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'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 = [ + ('make', '4.3'), + # required by LAPACK test suite + ('Python', '3.10.8', '-bare'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch new file mode 100644 index 00000000000..ff665e1300d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0_disable-fma-in-cscal-zscal.patch @@ -0,0 +1,73 @@ +From e7e3aa29482281edba46a27fcd452d7ed630f46a Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Thu, 27 Oct 2022 17:20:44 -0400 +Subject: [PATCH] x86_64: prevent GCC and Clang from generating FMAs in + cscal/zscal. + +If e.g. -march=haswell is set in CFLAGS, GCC generates FMAs by default, which +is inconsistent with the microkernels, none of which use FMAs. These +inconsistencies cause a few failures in the LAPACK testcases, where +eigenvalue results with/without eigenvectors are compared. + +Moreover using FMAs for multiplication of complex numbers can give surprising +results, see 22aa81f for more information. + +This uses the same syntax as used in 22aa81f for zarch (s390x). + +Edit: 2022-11-11: add no-fma target since fp-contract=off isn't sufficient for +GCC 12.2. +--- + kernel/x86_64/cscal.c | 14 +++++++++++++ + kernel/x86_64/zscal.c | 14 +++++++++++++ + 2 files changed, 28 insertions(+) + +diff --git a/kernel/x86_64/cscal.c b/kernel/x86_64/cscal.c +index dc3f688c69..6ae66d9731 100644 +--- a/kernel/x86_64/cscal.c ++++ b/kernel/x86_64/cscal.c +@@ -25,6 +25,20 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#pragma GCC target ("no-fma") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index 3744c98bb7..dfdb4230b6 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -25,6 +25,20 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#pragma GCC target ("no-fma") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch new file mode 100644 index 00000000000..d96341d6de5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_avoid-crash-in-zdot.patch @@ -0,0 +1,19 @@ +Avoid crash with GCC 11's vectorizer involving 256-bit ymm registers. + +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107451 + +Bart Oldeman + +diff --git a/kernel/x86_64/zdot.c b/kernel/x86_64/zdot.c +index 27397ccf..e1d43be1 100644 +--- a/kernel/x86_64/zdot.c ++++ b/kernel/x86_64/zdot.c +@@ -97,7 +97,7 @@ extern int blas_level1_thread_with_return_value(int mode, BLASLONG m, BLASLONG n + + + +-static void zdot_compute (BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y,OPENBLAS_COMPLEX_FLOAT *result) ++__attribute__((target("prefer-vector-width=128"))) static void zdot_compute (BLASLONG n, FLOAT *x, BLASLONG inc_x, FLOAT *y, BLASLONG inc_y,OPENBLAS_COMPLEX_FLOAT *result) + { + BLASLONG i; + BLASLONG ix,iy; diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch new file mode 100644 index 00000000000..6e2cb2e62e0 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_disable-fma-in-cscal-zscal.patch @@ -0,0 +1,68 @@ +From e7e3aa29482281edba46a27fcd452d7ed630f46a Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Thu, 27 Oct 2022 17:20:44 -0400 +Subject: [PATCH] x86_64: prevent GCC and Clang from generating FMAs in + cscal/zscal. + +If e.g. -march=haswell is set in CFLAGS, GCC generates FMAs by default, which +is inconsistent with the microkernels, none of which use FMAs. These +inconsistencies cause a few failures in the LAPACK testcases, where +eigenvalue results with/without eigenvectors are compared. + +Moreover using FMAs for multiplication of complex numbers can give surprising +results, see 22aa81f for more information. + +This uses the same syntax as used in 22aa81f for zarch (s390x). +--- + kernel/x86_64/cscal.c | 13 +++++++++++++ + kernel/x86_64/zscal.c | 13 +++++++++++++ + 2 files changed, 26 insertions(+) + +diff --git a/kernel/x86_64/cscal.c b/kernel/x86_64/cscal.c +index dc3f688c69..6ae66d9731 100644 +--- a/kernel/x86_64/cscal.c ++++ b/kernel/x86_64/cscal.c +@@ -25,6 +25,19 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index 3744c98bb7..dfdb4230b6 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -25,6 +25,19 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + ++/* ++ * Avoid contraction of floating point operations, specifically fused ++ * multiply-add, because they can cause unexpected results in complex ++ * multiplication. ++ */ ++#if defined(__GNUC__) && !defined(__clang__) ++#pragma GCC optimize ("fp-contract=off") ++#endif ++ ++#if defined(__clang__) ++#pragma clang fp contract(off) ++#endif ++ + #include "common.h" + + 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.21_fix-order-vectorization.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_fix-order-vectorization.patch new file mode 100644 index 00000000000..846ffbe1c84 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.21_fix-order-vectorization.patch @@ -0,0 +1,43 @@ +add parentheses to force a certain order that is compatible with non-FMA instructions; +fixes failing LAPACK tests when -ftree-vectorize is used +author: Bart Oldeman (Digital Research Alliance of Canada) +--- OpenBLAS-0.3.21/lapack-netlib/SRC/clahqr.f.orig 2022-08-07 20:36:26.000000000 +0000 ++++ OpenBLAS-0.3.21/lapack-netlib/SRC/clahqr.f 2022-10-15 02:56:05.646906448 +0000 +@@ -484,7 +484,7 @@ + * in columns K to I2. + * + DO 80 J = K, I2 +- SUM = CONJG( T1 )*H( K, J ) + T2*H( K+1, J ) ++ SUM = CONJG( T1 )*H( K, J ) + ( T2*H( K+1, J ) ) + H( K, J ) = H( K, J ) - SUM + H( K+1, J ) = H( K+1, J ) - SUM*V2 + 80 CONTINUE +@@ -493,7 +493,7 @@ + * matrix in rows I1 to min(K+2,I). + * + DO 90 J = I1, MIN( K+2, I ) +- SUM = T1*H( J, K ) + T2*H( J, K+1 ) ++ SUM = T1*H( J, K ) + ( T2*H( J, K+1 ) ) + H( J, K ) = H( J, K ) - SUM + H( J, K+1 ) = H( J, K+1 ) - SUM*CONJG( V2 ) + 90 CONTINUE +--- OpenBLAS-0.3.21/lapack-netlib/SRC/zlahqr.f.orig 2022-08-07 20:36:26.000000000 +0000 ++++ OpenBLAS-0.3.21/lapack-netlib/SRC/zlahqr.f 2022-10-15 02:11:54.111966029 +0000 +@@ -484,7 +484,7 @@ + * in columns K to I2. + * + DO 80 J = K, I2 +- SUM = DCONJG( T1 )*H( K, J ) + T2*H( K+1, J ) ++ SUM = DCONJG( T1 )*H( K, J ) + ( T2*H( K+1, J ) ) + H( K, J ) = H( K, J ) - SUM + H( K+1, J ) = H( K+1, J ) - SUM*V2 + 80 CONTINUE +@@ -493,7 +493,7 @@ + * matrix in rows I1 to min(K+2,I). + * + DO 90 J = I1, MIN( K+2, I ) +- SUM = T1*H( J, K ) + T2*H( J, K+1 ) ++ SUM = T1*H( J, K ) + ( T2*H( J, K+1 ) ) + H( J, K ) = H( J, K ) - SUM + H( J, K+1 ) = H( J, K+1 ) - SUM*DCONJG( V2 ) + 90 CONTINUE 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 new file mode 100644 index 00000000000..2cbbd45397e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23-GCC-12.3.0.eb @@ -0,0 +1,55 @@ +name = 'OpenBLAS' +version = '0.3.23' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + '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-tests-hang.patch', +] +checksums = [ + {'v0.3.23.tar.gz': '5d9491d07168a5d00116cdc068a40022c3455bf9293c7cb86a65b1054d7e5114'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_fix-x86-cpuid.patch': '57e8384404e136b9f0dafc26573adeb7dc69e60d84a7e189643b91d6299888fc'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '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-tests-hang.patch': '9de1fdee6edf3b2bb55e4639fdd92d2877b5f0ac880f7df2cfea47ecebf16609'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.11.3'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch new file mode 100644 index 00000000000..74174819c6a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_disable-DDRGES3-LAPACK-test.patch @@ -0,0 +1,13 @@ +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) +--- 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 +-6 2 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.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.23_fix-lapack-test.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-lapack-test.patch new file mode 100644 index 00000000000..dfb16cced30 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-lapack-test.patch @@ -0,0 +1,25 @@ +Avoid a nearly singular matrix in lapack testing, which can trigger an error depending +on FMA. Swapping matrix dimensions is sufficient here since the matrices are generated +using a random number generator, and we were just unlucky here. + +Author: Bart Oldeman +--- OpenBLAS-0.3.23/lapack-netlib/TESTING/dgd.in.orig 2023-06-05 12:12:08.222632285 +0000 ++++ OpenBLAS-0.3.23/lapack-netlib/TESTING/dgd.in 2023-06-05 12:12:19.323715597 +0000 +@@ -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 ++6 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 ++6 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.23_fix-parallel-build.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-parallel-build.patch new file mode 100644 index 00000000000..97e9344271f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-parallel-build.patch @@ -0,0 +1,69 @@ +From https://github.com/xianyi/OpenBLAS/pull/3983 + +From 281e834566a06f1c756d262dc31e809faaf8933f Mon Sep 17 00:00:00 2001 +From: Guillaume Horel +Date: Thu, 30 Mar 2023 15:15:25 -0400 +Subject: [PATCH 1/2] do not pass -j flag to the MAKE variable + +--- + getarch.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/getarch.c b/getarch.c +index 937a8db68c..87384c0840 100644 +--- a/getarch.c ++++ b/getarch.c +@@ -1930,15 +1930,15 @@ printf("ELF_VERSION=2\n"); + + #ifdef MAKE_NB_JOBS + #if MAKE_NB_JOBS > 0 +- printf("MAKE += -j %d\n", MAKE_NB_JOBS); ++ printf("MAKEFLAGS += -j %d\n", MAKE_NB_JOBS); + #else + // Let make use parent -j argument or -j1 if there + // is no make parent + #endif + #elif NO_PARALLEL_MAKE==1 +- printf("MAKE += -j 1\n"); ++ printf("MAKEFLAGS += -j 1\n"); + #else +- printf("MAKE += -j %d\n", get_num_cores()); ++ printf("MAKEFLAGS += -j %d\n", get_num_cores()); + #endif + + break; + +From 397108fba299c87ce17957452d57469af914f516 Mon Sep 17 00:00:00 2001 +From: Guillaume Horel +Date: Fri, 31 Mar 2023 09:22:40 -0400 +Subject: [PATCH 2/2] serialize shared prerequisites + +--- + Makefile | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 144b3400db..3c4b8948af 100644 +--- a/Makefile ++++ b/Makefile +@@ -40,9 +40,9 @@ LAPACK_NOOPT := $(filter-out -O0 -O1 -O2 -O3 -Ofast -O -Og -Os,$(LAPACK_FFLAGS)) + SUBDIRS_ALL = $(SUBDIRS) test ctest utest exports benchmark ../laswp ../bench cpp_thread_test + + .PHONY : all libs netlib $(RELA) test ctest shared install +-.NOTPARALLEL : all libs $(RELA) prof lapack-test install blas-test ++.NOTPARALLEL : shared + +-all :: libs netlib $(RELA) tests shared ++all :: tests + @echo + @echo " OpenBLAS build complete. ($(LIB_COMPONENTS))" + @echo +@@ -150,7 +150,7 @@ ifeq ($(OSNAME), CYGWIN_NT) + endif + endif + +-tests : libs netlib $(RELA) shared ++tests : shared + ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN))) + touch $(LIBNAME) + ifndef NO_FBLAS diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-tests-hang.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-tests-hang.patch new file mode 100644 index 00000000000..68d7ac5f81a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.23_fix-tests-hang.patch @@ -0,0 +1,165 @@ +From ea669c8ae938450e101140d634cca291bffd3898 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 26 Jul 2023 00:27:14 +0200 +Subject: [PATCH 1/4] simplify openmp thread limit handling + +--- + common_thread.h | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/common_thread.h b/common_thread.h +index 05e1d5489d..0a4c703b7c 100644 +--- a/common_thread.h ++++ b/common_thread.h +@@ -136,15 +136,13 @@ typedef struct blas_queue { + #ifdef SMP_SERVER + + extern int blas_server_avail; ++extern int blas_omp_number_max; + + static __inline int num_cpu_avail(int level) { + + #ifdef USE_OPENMP + int openmp_nthreads; +- if (blas_num_threads_set == 0) + openmp_nthreads=omp_get_max_threads(); +- else +- openmp_nthreads=blas_cpu_number; + #endif + + #ifndef USE_OPENMP +@@ -156,7 +154,13 @@ int openmp_nthreads; + ) return 1; + + #ifdef USE_OPENMP +- if (blas_cpu_number != openmp_nthreads) { ++ if (openmp_nthreads > blas_omp_number_max){ ++#ifdef DEBUG ++ fprintf(stderr,"WARNING - more OpenMP threads requested (%d) than available (%d)\n",openmp_nthreads,blas_omp_number_max); ++#endif ++ openmp_nthreads = blas_omp_number_max; ++ } ++ if (blas_cpu_number != openmp_nthreads) { + goto_set_num_threads(openmp_nthreads); + } + #endif + +From 3326b924b324d49960e0f657f049e5658e7e6c69 Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 26 Jul 2023 00:31:24 +0200 +Subject: [PATCH 2/4] remove status variable blas_num_threads_set; initialize + openmp thread maximum on startup + +--- + driver/others/blas_server_omp.c | 4 +++- + driver/others/memory.c | 4 ---- + driver/others/memory_qalloc.c | 1 - + 3 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/driver/others/blas_server_omp.c b/driver/others/blas_server_omp.c +index 2e0c0f38c1..43764df00c 100644 +--- a/driver/others/blas_server_omp.c ++++ b/driver/others/blas_server_omp.c +@@ -68,6 +68,7 @@ + #endif + + int blas_server_avail = 0; ++int blas_omp_number_max = 0; + + extern int openblas_omp_adaptive_env(); + +@@ -100,7 +101,6 @@ static void adjust_thread_buffers() { + + void goto_set_num_threads(int num_threads) { + +- blas_num_threads_set = 1; + if (num_threads < 0) blas_num_threads_set = 0; + if (num_threads < 1) num_threads = blas_num_threads; + +@@ -125,6 +125,8 @@ void openblas_set_num_threads(int num_threads) { + } + + int blas_thread_init(void){ ++if(blas_omp_number_max <= 0) ++ blas_omp_number_max = omp_get_max_threads(); + + blas_get_cpu_number(); + +diff --git a/driver/others/memory.c b/driver/others/memory.c +index 3cbd17bc2f..4fceae7545 100644 +--- a/driver/others/memory.c ++++ b/driver/others/memory.c +@@ -422,8 +422,6 @@ This value is equal or large than blas_cpu_number. This means some threads are s + */ + int blas_num_threads = 0; + +-int blas_num_threads_set = 0; +- + int goto_get_num_procs (void) { + return blas_cpu_number; + } +@@ -1996,8 +1994,6 @@ This value is equal or large than blas_cpu_number. This means some threads are s + */ + int blas_num_threads = 0; + +-int blas_num_threads_set = 0; +- + int goto_get_num_procs (void) { + return blas_cpu_number; + } +diff --git a/driver/others/memory_qalloc.c b/driver/others/memory_qalloc.c +index 0b38d1887c..6174d9b75e 100644 +--- a/driver/others/memory_qalloc.c ++++ b/driver/others/memory_qalloc.c +@@ -283,7 +283,6 @@ The numbers of threads in the thread pool. + This value is equal or large than blas_cpu_number. This means some threads are sleep. + */ + int blas_num_threads = 0; +-int blas_num_threads_set = 0; + + int goto_get_num_procs (void) { + return blas_cpu_number; + +From 94adf98bb80b36c9faa2fa90fe7f33b36d30748c Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 26 Jul 2023 08:31:37 +0200 +Subject: [PATCH 3/4] remove unused status variable + +--- + common_thread.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/common_thread.h b/common_thread.h +index 0a4c703b7c..06a7a1a38c 100644 +--- a/common_thread.h ++++ b/common_thread.h +@@ -53,7 +53,6 @@ extern void goto_set_num_threads(int nthreads); + /* Global Parameter */ + extern int blas_cpu_number; + extern int blas_num_threads; +-extern int blas_num_threads_set; + extern int blas_omp_linked; + + #define BLAS_LEGACY 0x8000U + +From 9ff84dc3f2536ce94e0a300a098485c7ff3d771d Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Wed, 26 Jul 2023 10:02:44 +0200 +Subject: [PATCH 4/4] remove unused status variable + +--- + driver/others/blas_server_omp.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/driver/others/blas_server_omp.c b/driver/others/blas_server_omp.c +index 43764df00c..fe6b4a7c06 100644 +--- a/driver/others/blas_server_omp.c ++++ b/driver/others/blas_server_omp.c +@@ -101,7 +101,6 @@ static void adjust_thread_buffers() { + + void goto_set_num_threads(int num_threads) { + +- if (num_threads < 0) blas_num_threads_set = 0; + if (num_threads < 1) num_threads = blas_num_threads; + + if (num_threads > MAX_CPU_NUMBER) num_threads = MAX_CPU_NUMBER; 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 new file mode 100644 index 00000000000..8d2315fbe6e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24-GCC-13.2.0.eb @@ -0,0 +1,53 @@ +name = 'OpenBLAS' +version = '0.3.24' + +homepage = 'http://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + '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_disable-xDRGES-LAPACK-test.patch', + 'OpenBLAS-0.3.24_fix-czasum.patch', + 'OpenBLAS-0.3.24_fix-A64FX.patch', +] +checksums = [ + {'v0.3.24.tar.gz': 'ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.20_use-xASUM-microkernels-on-new-intel-cpus.patch': + '1dbd0f9473963dbdd9131611b455d8a801f1e995eae82896186d3d3ffe6d5f03'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.23_disable-xDRGES-LAPACK-test.patch': + 'ab7e0af05f9b2a2ced32f3875e1e3767d9c3531a455421a38f7324350178a0ff'}, + {'OpenBLAS-0.3.24_fix-czasum.patch': '8132b87c519fb08caa3bd7291fe8a1d0e1afe6fcb667d16f3020b46122afe20c'}, + {'OpenBLAS-0.3.24_fix-A64FX.patch': '3712e8c3f0024c7bb327958779c388ad0234ad6d58b7b118e605256ec089964c'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.11.5'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-A64FX.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-A64FX.patch new file mode 100644 index 00000000000..ff4a16dea8d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-A64FX.patch @@ -0,0 +1,138 @@ +fix installation of OpenBLAS 0.3.24 on Arm A64FX, +see https://github.com/OpenMathLib/OpenBLAS/pull/4258 + https://github.com/OpenMathLib/OpenBLAS/issues/4257 +diff --git a/kernel/arm64/KERNEL.A64FX b/kernel/arm64/KERNEL.A64FX +index bd25f7cd8a..ccbce27e1b 100644 +--- a/kernel/arm64/KERNEL.A64FX ++++ b/kernel/arm64/KERNEL.A64FX +@@ -57,7 +57,7 @@ CAMAXKERNEL = zamax.S + ZAMAXKERNEL = zamax.S + + SAXPYKERNEL = axpy.S +-DAXPYKERNEL = axpy.S ++DAXPYKERNEL = daxpy_thunderx2t99.S + CAXPYKERNEL = zaxpy.S + ZAXPYKERNEL = zaxpy.S + +@@ -81,45 +81,35 @@ DGEMVTKERNEL = gemv_t.S + CGEMVTKERNEL = zgemv_t.S + ZGEMVTKERNEL = zgemv_t.S + +- +-SASUMKERNEL = asum.S +-DASUMKERNEL = asum.S +-CASUMKERNEL = casum.S +-ZASUMKERNEL = zasum.S +- +-SCOPYKERNEL = copy.S +-DCOPYKERNEL = copy.S +-CCOPYKERNEL = copy.S +-ZCOPYKERNEL = copy.S +- +-SSWAPKERNEL = swap.S +-DSWAPKERNEL = swap.S +-CSWAPKERNEL = swap.S +-ZSWAPKERNEL = swap.S +- +-ISAMAXKERNEL = iamax.S +-IDAMAXKERNEL = iamax.S +-ICAMAXKERNEL = izamax.S +-IZAMAXKERNEL = izamax.S +- +-SNRM2KERNEL = nrm2.S +-DNRM2KERNEL = nrm2.S +-CNRM2KERNEL = znrm2.S +-ZNRM2KERNEL = znrm2.S +- +-DDOTKERNEL = dot.S +-ifneq ($(C_COMPILER), PGI) +-SDOTKERNEL = ../generic/dot.c +-else +-SDOTKERNEL = dot.S +-endif +-ifneq ($(C_COMPILER), PGI) +-CDOTKERNEL = zdot.S +-ZDOTKERNEL = zdot.S +-else +-CDOTKERNEL = ../arm/zdot.c +-ZDOTKERNEL = ../arm/zdot.c +-endif ++SASUMKERNEL = sasum_thunderx2t99.c ++DASUMKERNEL = dasum_thunderx2t99.c ++CASUMKERNEL = casum_thunderx2t99.c ++ZASUMKERNEL = zasum_thunderx2t99.c ++ ++SCOPYKERNEL = copy_thunderx2t99.c ++DCOPYKERNEL = copy_thunderx2t99.c ++CCOPYKERNEL = copy_thunderx2t99.c ++ZCOPYKERNEL = copy_thunderx2t99.c ++ ++SSWAPKERNEL = swap_thunderx2t99.S ++DSWAPKERNEL = swap_thunderx2t99.S ++CSWAPKERNEL = swap_thunderx2t99.S ++ZSWAPKERNEL = swap_thunderx2t99.S ++ ++ISAMAXKERNEL = iamax_thunderx2t99.c ++IDAMAXKERNEL = iamax_thunderx2t99.c ++ICAMAXKERNEL = izamax_thunderx2t99.c ++IZAMAXKERNEL = izamax_thunderx2t99.c ++ ++SNRM2KERNEL = scnrm2_thunderx2t99.c ++DNRM2KERNEL = dznrm2_thunderx2t99.c ++CNRM2KERNEL = scnrm2_thunderx2t99.c ++ZNRM2KERNEL = dznrm2_thunderx2t99.c ++ ++DDOTKERNEL = dot.c ++SDOTKERNEL = dot.c ++CDOTKERNEL = zdot_thunderx2t99.c ++ZDOTKERNEL = zdot_thunderx2t99.c + DSDOTKERNEL = dot.S + + DGEMM_BETA = dgemm_beta.S +@@ -128,10 +118,10 @@ SGEMM_BETA = sgemm_beta.S + SGEMMKERNEL = sgemm_kernel_sve_v2x$(SGEMM_UNROLL_N).S + STRMMKERNEL = strmm_kernel_sve_v1x$(SGEMM_UNROLL_N).S + +-SGEMMINCOPY = sgemm_ncopy_sve_v1.c +-SGEMMITCOPY = sgemm_tcopy_sve_v1.c +-SGEMMONCOPY = sgemm_ncopy_$(DGEMM_UNROLL_N).S +-SGEMMOTCOPY = sgemm_tcopy_$(DGEMM_UNROLL_N).S ++SGEMMINCOPY = gemm_ncopy_sve_v1x$(SGEMM_UNROLL_N).c ++SGEMMITCOPY = gemm_tcopy_sve_v1x$(SGEMM_UNROLL_N).c ++SGEMMONCOPY = sgemm_ncopy_$(SGEMM_UNROLL_N).S ++SGEMMOTCOPY = sgemm_tcopy_$(SGEMM_UNROLL_N).S + + SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX) + SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX) +@@ -149,8 +139,8 @@ SSYMMLCOPY_M = symm_lcopy_sve.c + DGEMMKERNEL = dgemm_kernel_sve_v2x$(DGEMM_UNROLL_N).S + DTRMMKERNEL = dtrmm_kernel_sve_v1x$(DGEMM_UNROLL_N).S + +-DGEMMINCOPY = dgemm_ncopy_sve_v1.c +-DGEMMITCOPY = dgemm_tcopy_sve_v1.c ++DGEMMINCOPY = gemm_ncopy_sve_v1x$(DGEMM_UNROLL_N).c ++DGEMMITCOPY = gemm_tcopy_sve_v1x$(DGEMM_UNROLL_N).c + DGEMMONCOPY = dgemm_ncopy_$(DGEMM_UNROLL_N).S + DGEMMOTCOPY = dgemm_tcopy_$(DGEMM_UNROLL_N).S + +@@ -170,8 +160,8 @@ DSYMMLCOPY_M = symm_lcopy_sve.c + CGEMMKERNEL = cgemm_kernel_sve_v1x$(ZGEMM_UNROLL_N).S + CTRMMKERNEL = ctrmm_kernel_sve_v1x$(ZGEMM_UNROLL_N).S + +-CGEMMINCOPY = cgemm_ncopy_sve_v1.c +-CGEMMITCOPY = cgemm_tcopy_sve_v1.c ++CGEMMINCOPY = gemm_ncopy_complex_sve_v1x$(ZGEMM_UNROLL_N).c ++CGEMMITCOPY = gemm_tcopy_complex_sve_v1x$(ZGEMM_UNROLL_N).c + CGEMMONCOPY = ../generic/zgemm_ncopy_$(ZGEMM_UNROLL_N).c + CGEMMOTCOPY = ../generic/zgemm_tcopy_$(ZGEMM_UNROLL_N).c + +@@ -194,8 +184,8 @@ CSYMMLCOPY_M = zsymm_lcopy_sve.c + ZGEMMKERNEL = zgemm_kernel_sve_v1x$(ZGEMM_UNROLL_N).S + ZTRMMKERNEL = ztrmm_kernel_sve_v1x$(ZGEMM_UNROLL_N).S + +-ZGEMMINCOPY = zgemm_ncopy_sve_v1.c +-ZGEMMITCOPY = zgemm_tcopy_sve_v1.c ++ZGEMMINCOPY = gemm_ncopy_complex_sve_v1x$(ZGEMM_UNROLL_N).c ++ZGEMMITCOPY = gemm_tcopy_complex_sve_v1x$(ZGEMM_UNROLL_N).c + ZGEMMONCOPY = ../generic/zgemm_ncopy_$(ZGEMM_UNROLL_N).c + ZGEMMOTCOPY = ../generic/zgemm_tcopy_$(ZGEMM_UNROLL_N).c + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-czasum.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-czasum.patch new file mode 100644 index 00000000000..ae926d20167 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.24_fix-czasum.patch @@ -0,0 +1,76 @@ +From f8ad5344c210960fc399ca5b0ad8559ab5ca253e Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Fri, 17 Nov 2023 23:49:34 +0000 +Subject: [PATCH] Fix casum fallback kernel. + +This kernel is only used on Skylake+ if the kernel with AVX512 +intrinsics can't be used, but used the variable x1 incorrectly +in the tail end of the loop, as it is still at the initial +value instead of where x points to. + +This caused 55 "other error"s in the LAPACK tests +(https://github.com/OpenMathLib/OpenBLAS/issues/4282) + +This change makes casum.c as similar as possible as zasum.c, +because zasum.c does this correctly. +--- + kernel/x86_64/casum.c | 24 ++++++++++++------------ + 1 file changed, 12 insertions(+), 12 deletions(-) + +diff --git a/kernel/x86_64/casum.c b/kernel/x86_64/casum.c +index e4d0543114..28d78d2797 100644 +--- a/kernel/x86_64/casum.c ++++ b/kernel/x86_64/casum.c +@@ -9,12 +9,12 @@ + #endif + + #ifndef HAVE_CASUM_KERNEL +-static FLOAT casum_kernel(BLASLONG n, FLOAT *x1) ++static FLOAT casum_kernel(BLASLONG n, FLOAT *x) + { + + BLASLONG i=0; + BLASLONG n_8 = n & -8; +- FLOAT *x = x1; ++ FLOAT *x1 = x; + FLOAT temp0, temp1, temp2, temp3; + FLOAT temp4, temp5, temp6, temp7; + FLOAT sum0 = 0.0; +@@ -24,14 +24,14 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x1) + FLOAT sum4 = 0.0; + + while (i < n_8) { +- temp0 = ABS_K(x[0]); +- temp1 = ABS_K(x[1]); +- temp2 = ABS_K(x[2]); +- temp3 = ABS_K(x[3]); +- temp4 = ABS_K(x[4]); +- temp5 = ABS_K(x[5]); +- temp6 = ABS_K(x[6]); +- temp7 = ABS_K(x[7]); ++ temp0 = ABS_K(x1[0]); ++ temp1 = ABS_K(x1[1]); ++ temp2 = ABS_K(x1[2]); ++ temp3 = ABS_K(x1[3]); ++ temp4 = ABS_K(x1[4]); ++ temp5 = ABS_K(x1[5]); ++ temp6 = ABS_K(x1[6]); ++ temp7 = ABS_K(x1[7]); + + sum0 += temp0; + sum1 += temp1; +@@ -43,12 +43,12 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x1) + sum2 += temp6; + sum3 += temp7; + +- x+=8; ++ x1+=8; + i+=4; + } + + while (i < n) { +- sum4 += (ABS_K(x1[0]) + ABS_K(x1[1])); ++ sum4 += ABS_K(x1[0]) + ABS_K(x1[1]); + x1 += 2; + i++; + } diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch new file mode 100644 index 00000000000..f6940980d1f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.26_lapack_qr_noninittest.patch @@ -0,0 +1,640 @@ +See https://github.com/OpenMathLib/OpenBLAS/issues/4625 +Uninitialized test results in the GEQP3RK routines introduced with LAPACK 3.12 +and in OpenBLAS 0.3.26 are causing abnormal number of errors. +Fixed with https://github.com/OpenMathLib/OpenBLAS/pull/4647 +(should not be needed for OpenBLAS > 0.3.27) +index 79d6add72e..b794d4664c 100644 +--- lapack-netlib/TESTING/LIN/cchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/cchkqp3rk.f +@@ -608,6 +608,9 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL CLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOl = -1.0 +@@ -652,16 +655,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = CQRT12( M, N, A, LDA, S, WORK, + $ LWORK , RWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -675,7 +668,7 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = CQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -684,21 +677,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = CQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -717,8 +697,8 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + * +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -727,20 +707,6 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -762,42 +728,41 @@ SUBROUTINE CCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL CUNMQR( 'Left', 'Conjugate transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL CAXPY( M, -CONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ CLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ CLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'CGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/dchkqp3rk.f b/TESTING/LIN/dchkqp3rk.f +index 434d2067e2..1834e63282 100755 +--- lapack-netlib/TESTING/LIN/dchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/dchkqp3rk.f +@@ -605,6 +605,9 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL DLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOL = -1.0 +@@ -648,16 +651,6 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = DQRT12( M, N, A, LDA, S, WORK, + $ LWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -671,7 +664,7 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = DQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -680,21 +673,8 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = DQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) +-* +-* Print information about the tests that did not pass +-* the threshold. ++ $ LWORK ) + * +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -713,8 +693,8 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -723,20 +703,6 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -758,42 +724,41 @@ SUBROUTINE DCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL DORMQR( 'Left', 'Transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL DAXPY( M, -ONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ DLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ DLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not ++* pass the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'DGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, ++ $ IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/schkqp3rk.f b/TESTING/LIN/schkqp3rk.f +index 36cf9370ea..c5ce7ff609 100755 +--- lapack-netlib/TESTING/LIN/schkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/schkqp3rk.f +@@ -604,6 +604,9 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL SLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOL = -1.0 +@@ -647,16 +650,6 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = SQRT12( M, N, A, LDA, S, WORK, + $ LWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -670,7 +663,7 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = SQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -679,21 +672,8 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = SQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -712,8 +692,8 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -722,20 +702,6 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -757,42 +723,41 @@ SUBROUTINE SCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL SORMQR( 'Left', 'Transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL SAXPY( M, -ONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ SLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ SLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( REAL( M )*SLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'SGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO +diff --git a/TESTING/LIN/zchkqp3rk.f b/TESTING/LIN/zchkqp3rk.f +index 302c7b1a87..5092058837 100644 +--- lapack-netlib/TESTING/LIN/zchkqp3rk.f.orig ++++ lapack-netlib/TESTING/LIN/zchkqp3rk.f +@@ -608,6 +608,9 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + CALL ZLACPY( 'All', M, NRHS, COPYB, LDA, + $ B, LDA ) + CALL ICOPY( N, IWORK( 1 ), 1, IWORK( N+1 ), 1 ) ++ DO I = 1, NTESTS ++ RESULT( I ) = ZERO ++ END DO + * + ABSTOL = -1.0 + RELTOl = -1.0 +@@ -652,16 +655,6 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + RESULT( 1 ) = ZQRT12( M, N, A, LDA, S, WORK, + $ LWORK , RWORK ) + * +- DO T = 1, 1 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, NB, NX, +- $ IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 1 +@@ -675,7 +668,7 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( A*P - Q*R ) / ( max(M,N) * 1-norm(A) * EPS ) + * + RESULT( 2 ) = ZQPT01( M, N, KFACT, COPYA, A, LDA, TAU, +- $ IWORK( N+1 ), WORK, LWORK ) ++ $ IWORK( N+1 ), WORK, LWORK ) + * + * Compute test 3: + * +@@ -684,21 +677,8 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * 1-norm( Q**T * Q - I ) / ( M * EPS ) + * + RESULT( 3 ) = ZQRT11( M, KFACT, A, LDA, TAU, WORK, +- $ LWORK ) ++ $ LWORK ) + * +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 2, 3 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 2 + * + * Compute test 4: +@@ -717,8 +697,8 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + DO J = 1, KFACT-1, 1 + * +- DTEMP = (( ABS( A( (J-1)*M+J ) ) - +- $ ABS( A( (J)*M+J+1 ) ) ) / ++ DTEMP = (( ABS( A( (J-1)*LDA+J ) ) - ++ $ ABS( A( (J)*LDA+J+1 ) ) ) / + $ ABS( A(1) ) ) + * + IF( DTEMP.LT.ZERO ) THEN +@@ -727,20 +707,6 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + END DO + * +-* Print information about the tests that did not +-* pass the threshold. +-* +- DO T = 4, 4 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', +- $ M, N, NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, +- $ RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO + NRUN = NRUN + 1 + * + * End test 4. +@@ -762,42 +728,41 @@ SUBROUTINE ZCHKQP3RK( DOTYPE, NM, MVAL, NN, NVAL, NNS, NSVAL, + * + LWORK_MQR = MAX(1, NRHS) + CALL ZUNMQR( 'Left', 'Conjugate transpose', +- $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, +- $ WORK, LWORK_MQR, INFO ) ++ $ M, NRHS, KFACT, A, LDA, TAU, B, LDA, ++ $ WORK, LWORK_MQR, INFO ) + * + DO I = 1, NRHS + * + * Compare N+J-th column of A and J-column of B. + * + CALL ZAXPY( M, -CONE, A( ( N+I-1 )*LDA+1 ), 1, +- $ B( ( I-1 )*LDA+1 ), 1 ) ++ $ B( ( I-1 )*LDA+1 ), 1 ) + END DO + * +- RESULT( 5 ) = +- $ ABS( +- $ ZLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / +- $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) +- $ ) +-* +-* Print information about the tests that did not pass +-* the threshold. +-* +- DO T = 5, 5 +- IF( RESULT( T ).GE.THRESH ) THEN +- IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) +- $ CALL ALAHD( NOUT, PATH ) +- WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, +- $ NRHS, KMAX, ABSTOL, RELTOL, +- $ NB, NX, IMAT, T, RESULT( T ) +- NFAIL = NFAIL + 1 +- END IF +- END DO ++ RESULT( 5 ) = ABS( ++ $ ZLANGE( 'One-norm', M, NRHS, B, LDA, RDUMMY ) / ++ $ ( DBLE( M )*DLAMCH( 'Epsilon' ) ) ) ++* + NRUN = NRUN + 1 + * + * End compute test 5. + * + END IF + * ++* Print information about the tests that did not pass ++* the threshold. ++* ++ DO T = 1, NTESTS ++ IF( RESULT( T ).GE.THRESH ) THEN ++ IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) ++ $ CALL ALAHD( NOUT, PATH ) ++ WRITE( NOUT, FMT = 9999 ) 'ZGEQP3RK', M, N, ++ $ NRHS, KMAX, ABSTOL, RELTOL, ++ $ NB, NX, IMAT, T, RESULT( T ) ++ NFAIL = NFAIL + 1 ++ END IF ++ END DO ++* + * END DO KMAX = 1, MIN(M,N)+1 + * + END DO diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb new file mode 100644 index 00000000000..c65deccb6e9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27-GCC-13.3.0.eb @@ -0,0 +1,50 @@ +name = 'OpenBLAS' +version = '0.3.27' + +homepage = 'https://www.openblas.net/' +description = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version." + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = [ + # order matters, trying to download the large.tgz/timing.tgz LAPACK tarballs from GitHub causes trouble + 'https://www.netlib.org/lapack/timing/', + 'https://github.com/xianyi/OpenBLAS/archive/', +] +sources = ['v%(version)s.tar.gz'] +patches = [ + ('large.tgz', '.'), + ('timing.tgz', '.'), + 'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch', + 'OpenBLAS-0.3.21_fix-order-vectorization.patch', + 'OpenBLAS-0.3.26_lapack_qr_noninittest.patch', + 'OpenBLAS-0.3.27_fix_zscal.patch', + 'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch', +] +checksums = [ + {'v0.3.27.tar.gz': 'aa2d68b1564fe2b13bc292672608e9cdeeeb6dc34995512e65c3b10f4599e897'}, + {'large.tgz': 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1'}, + {'timing.tgz': '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af'}, + {'OpenBLAS-0.3.15_workaround-gcc-miscompilation.patch': + 'e6b326fb8c4a8a6fd07741d9983c37a72c55c9ff9a4f74a80e1352ce5f975971'}, + {'OpenBLAS-0.3.21_fix-order-vectorization.patch': + '08af834e5d60441fd35c128758ed9c092ba6887c829e0471ecd489079539047d'}, + {'OpenBLAS-0.3.26_lapack_qr_noninittest.patch': '4781bf1d7b239374fd8069e15b4e2c0ef0e8efaa1a7d4c33557bd5b27e5de77c'}, + {'OpenBLAS-0.3.27_fix_zscal.patch': '9210d7b66538dabaddbe1bfceb16f8225708856f60876ca5561b19d3599f9fd1'}, + {'OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch': + 'f374e41efffd592ab1c9034df9e7abf1045ed151f4fc0fd0da618ce9826f2d4b'}, +] + +builddependencies = [ + ('make', '4.4.1'), + # required by LAPACK test suite + ('Python', '3.12.3'), +] + +run_lapack_tests = True +max_failing_lapack_tests_num_errors = 150 + +# extensive testing can be enabled by uncommenting the line below +# runtest = 'PATH=.:$PATH lapack-timing' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch new file mode 100644 index 00000000000..81c1b32e77a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_fix_zscal.patch @@ -0,0 +1,38 @@ +From 62f7b244ff5c268f311e5f080d1f44c3b432f3d0 Mon Sep 17 00:00:00 2001 +From: Bart Oldeman +Date: Fri, 24 May 2024 17:20:27 +0000 +Subject: [PATCH] Replace use of FLT_MAX in x86_64 zscal.c by isinf() + +Commit def4996 fixed issues with inf and nan values in zscal, +but used FLT_MAX, where DBL_MAX or isinf() is more appropriate, +as FLT_MAX is for single precision only. +Using FLT_MAX caused test case failures in the LAPACK tests. + +isinf() is consistent with the later fix 969601a1 +--- + kernel/x86_64/zscal.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/x86_64/zscal.c b/kernel/x86_64/zscal.c +index bc79c0cafd..075b6091fe 100644 +--- a/kernel/x86_64/zscal.c ++++ b/kernel/x86_64/zscal.c +@@ -394,7 +394,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i, + } + + } +- else if (da_r < -FLT_MAX || da_r > FLT_MAX) { ++ else if (isinf(da_r)) { + while(j < n) + { + x[i]= NAN; +@@ -410,7 +410,7 @@ int CNAME(BLASLONG n, BLASLONG dummy0, BLASLONG dummy1, FLOAT da_r, FLOAT da_i, + while(j < n) + { + temp0 = -da_i * x[i+1]; +- if (x[i] < -FLT_MAX || x[i] > FLT_MAX) ++ if (isinf(x[i])) + temp0 = NAN; + x[i+1] = da_i * x[i]; + if ( x[i] == x[i]) //preserve NaN + diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch new file mode 100644 index 00000000000..262c6bc5bd0 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.27_riscv-drop-static-fortran-flag.patch @@ -0,0 +1,31 @@ +From df87aeb5a2a3785e15a3d94dbf92e2e03448500f Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Tue, 4 Jun 2024 09:49:18 +0200 +Subject: [PATCH] Drop the -static Fortran flag from generic builds as it + breaks OpenMP + +--- + Makefile.riscv64 | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Makefile.riscv64 b/Makefile.riscv64 +index 113cc57c53..9f6e48b7ad 100644 +--- a/Makefile.riscv64 ++++ b/Makefile.riscv64 +@@ -8,13 +8,13 @@ FCOMMON_OPT += -march=rv64imafdcv_zba_zbb_zfh -mabi=lp64d -static + endif + ifeq ($(CORE), RISCV64_ZVL256B) + CCOMMON_OPT += -march=rv64imafdcv_zvl256b -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d + endif + ifeq ($(CORE), RISCV64_ZVL128B) + CCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdcv -mabi=lp64d + endif + ifeq ($(CORE), RISCV64_GENERIC) + CCOMMON_OPT += -march=rv64imafdc -mabi=lp64d +-FCOMMON_OPT += -march=rv64imafdc -mabi=lp64d -static ++FCOMMON_OPT += -march=rv64imafdc -mabi=lp64d + endif diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7-GCC-8.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7-GCC-8.3.0.eb index 23c7cb7aea5..58fe90fcc5b 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7-GCC-8.3.0.eb @@ -15,16 +15,19 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - 'OpenBLAS-0.3.7_fix-build-on-arm-tsv110.patch', - 'OpenBLAS-0.3.7_fix-missing-sync-on-power.patch', - 'OpenBLAS-0.3.7_reinit-threads-after-fork.patch', - 'OpenBLAS-0.3.7_fix-possible-memory-leak-after-fork.patch', - 'OpenBLAS-0.3.8_fix-dscal-inline-asm.patch', + '%(name)s-%(version)s_add-missing-params-for-power.patch', + '%(name)s-%(version)s_fix-build-on-arm-tsv110.patch', + '%(name)s-%(version)s_fix-missing-sync-on-power.patch', + '%(name)s-%(version)s_reinit-threads-after-fork.patch', + '%(name)s-%(version)s_fix-possible-memory-leak-after-fork.patch', + '%(name)s-0.3.8_fix-dscal-inline-asm.patch', ] checksums = [ 'bde136122cef3dd6efe2de1c6f65c10955bbb0cc01a520c2342f5287c28f9379', # v0.3.7.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz + # OpenBLAS-0.3.7_add-missing-params-for-power.patch + '969ac4708092a6862cd9a03541c5c0588b191513d15492b022319daed5a1cd89', '5d5ec94002daefe10a839f621bf083c85fbda6c55c5e486f48375a2891f405c5', # OpenBLAS-0.3.7_fix-build-on-arm-tsv110.patch # OpenBLAS-0.3.7_fix-missing-sync-on-power.patch 'aefe4254caa14612eaf9a203b3f870f3b43724d28da7d7ab484810b4278f198f', diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7_add-missing-params-for-power.patch b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7_add-missing-params-for-power.patch new file mode 100644 index 00000000000..cc556272dd6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.7_add-missing-params-for-power.patch @@ -0,0 +1,23 @@ +This fixes inexact calculations on POWER, see https://github.com/xianyi/OpenBLAS/issues/2923 +From https://github.com/xianyi/OpenBLAS/pull/3062 + +Backported by Alexander Grund (TU Dresden) + +--- + param.h | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/param.h b/param.h +index 6c5e0f107b..6a790ab615 100644 +--- a/param.h ++++ b/param.h +@@ -2239,6 +2239,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #define GEMM_DEFAULT_OFFSET_B 65536 + #define GEMM_DEFAULT_ALIGN 0x0ffffUL + ++#define SWITCH_RATIO 16 ++#define GEMM_PREFERED_SIZE 16 ++ + #define SGEMM_DEFAULT_UNROLL_M 16 + #define SGEMM_DEFAULT_UNROLL_N 8 + #define DGEMM_DEFAULT_UNROLL_M 16 diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.8-GCC-9.2.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.8-GCC-9.2.0.eb index 5d292f2abb7..4d8542cb37e 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.8-GCC-9.2.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.8-GCC-9.2.0.eb @@ -15,15 +15,18 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - 'OpenBLAS-0.3.7_fix-missing-sync-on-power.patch', - 'OpenBLAS-0.3.7_reinit-threads-after-fork.patch', - 'OpenBLAS-0.3.7_fix-possible-memory-leak-after-fork.patch', - 'OpenBLAS-0.3.8_fix-dscal-inline-asm.patch', + '%(name)s-0.3.7_add-missing-params-for-power.patch', + '%(name)s-0.3.7_fix-missing-sync-on-power.patch', + '%(name)s-0.3.7_reinit-threads-after-fork.patch', + '%(name)s-0.3.7_fix-possible-memory-leak-after-fork.patch', + '%(name)s-%(version)s_fix-dscal-inline-asm.patch', ] checksums = [ '8f86ade36f0dbed9ac90eb62575137388359d97d8f93093b38abe166ad7ef3a8', # v0.3.8.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz + # OpenBLAS-0.3.7_add-missing-params-for-power.patch + '969ac4708092a6862cd9a03541c5c0588b191513d15492b022319daed5a1cd89', # OpenBLAS-0.3.7_fix-missing-sync-on-power.patch 'aefe4254caa14612eaf9a203b3f870f3b43724d28da7d7ab484810b4278f198f', # OpenBLAS-0.3.7_reinit-threads-after-fork.patch diff --git a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.9-GCC-9.3.0.eb b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.9-GCC-9.3.0.eb index 1658647c8e2..0e4b7e6439e 100644 --- a/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.9-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/o/OpenBLAS/OpenBLAS-0.3.9-GCC-9.3.0.eb @@ -15,15 +15,18 @@ sources = ['v%(version)s.tar.gz'] patches = [ ('large.tgz', '.'), ('timing.tgz', '.'), - 'OpenBLAS-0.3.7_fix-missing-sync-on-power.patch', - 'OpenBLAS-0.3.7_reinit-threads-after-fork.patch', - 'OpenBLAS-0.3.7_fix-possible-memory-leak-after-fork.patch', - 'OpenBLAS-0.3.9_fix-lapack_h.patch', + '%(name)s-0.3.7_add-missing-params-for-power.patch', + '%(name)s-0.3.7_fix-missing-sync-on-power.patch', + '%(name)s-0.3.7_reinit-threads-after-fork.patch', + '%(name)s-0.3.7_fix-possible-memory-leak-after-fork.patch', + '%(name)s-%(version)s_fix-lapack_h.patch', ] checksums = [ '17d4677264dfbc4433e97076220adc79b050e4f8a083ea3f853a53af253bc380', # v0.3.9.tar.gz 'f328d88b7fa97722f271d7d0cfea1c220e0f8e5ed5ff01d8ef1eb51d6f4243a1', # large.tgz '999c65f8ea8bd4eac7f1c7f3463d4946917afd20a997807300fe35d70122f3af', # timing.tgz + # OpenBLAS-0.3.7_add-missing-params-for-power.patch + '969ac4708092a6862cd9a03541c5c0588b191513d15492b022319daed5a1cd89', # OpenBLAS-0.3.7_fix-missing-sync-on-power.patch 'aefe4254caa14612eaf9a203b3f870f3b43724d28da7d7ab484810b4278f198f', # OpenBLAS-0.3.7_reinit-threads-after-fork.patch @@ -33,6 +36,10 @@ checksums = [ '9210a94ae418b4ce6d9f7fab4e00dd3155451f5ef3769536a4d954a2149ca733', # OpenBLAS-0.3.9_fix-lapack_h.patch ] +builddependencies = [ + ('make', '4.3'), +] + # extensive testing can be enabled by uncommenting the line below # runtest = 'PATH=.:$PATH lapack-timing' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2017b-Python-2.7.14.eb index 143c4e517cd..c100a2239ce 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2017b-Python-2.7.14.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '2.7.14'), ('zlib', '1.2.11'), ('libxml2', '2.9.7'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] runtest = 'test' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-2.7.15.eb index 303e55408ce..1aac64ecdbe 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-2.7.15.eb @@ -29,7 +29,7 @@ dependencies = [ ('Python', '2.7.15'), ('zlib', '1.2.11'), ('libxml2', '2.9.8'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] runtest = 'test' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-3.6.6.eb index fe1c852d320..f10768b4b02 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2018b-Python-3.6.6.eb @@ -31,7 +31,7 @@ dependencies = [ ('Python', '3.6.6'), ('zlib', '1.2.11'), ('libxml2', '2.9.8'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] runtest = 'test' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2019a-Python-3.7.2.eb index ad1ddc252ce..263cec8636f 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-2.4.1-intel-2019a-Python-3.7.2.eb @@ -30,7 +30,7 @@ dependencies = [ ('Python', '3.7.2'), ('zlib', '1.2.11'), ('libxml2', '2.9.8'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] runtest = 'test' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.0.0-gompi-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.0.0-gompi-2019b-Python-3.7.4.eb index d49bf26cef7..2b022edef2d 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.0.0-gompi-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.0.0-gompi-2019b-Python-3.7.4.eb @@ -26,7 +26,7 @@ dependencies = [ ('Python', '3.7.4'), ('zlib', '1.2.11'), ('libxml2', '2.9.9'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('RapidJSON', '1.1.0'), ('cairo', '1.16.0'), # optional: for .png output ('Boost', '1.71.0'), # optional: for Maestro formats diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2019b-Python-3.7.4.eb index 9c98a3c4d19..cf4291bf2cc 100644 --- a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2019b-Python-3.7.4.eb @@ -19,11 +19,14 @@ 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-distgeom-test.patch', + 'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch', ] checksums = [ 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02', # openbabel-3-1-1.tar.gz '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd', # OpenBabel-3.1.1_fix-distgeom-test.patch + # OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c', ] builddependencies = [ @@ -34,10 +37,12 @@ dependencies = [ ('Python', '3.7.4'), ('zlib', '1.2.11'), ('libxml2', '2.9.9'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('RapidJSON', '1.1.0'), ('cairo', '1.16.0'), # optional: for .png output - ('Boost', '1.71.0'), # optional: for Maestro formats + ('Boost', '1.71.0'), + ('maeparser', '1.3.0'), + ('CoordgenLibs', '3.0.1'), ] configopts = '-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib ' diff --git a/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2021a.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2021a.eb new file mode 100644 index 00000000000..82569f0e47d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2021a.eb @@ -0,0 +1,61 @@ +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': '2021a'} +# 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', +] +checksums = [ + 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02', # openbabel-3-1-1.tar.gz + '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd', # OpenBabel-3.1.1_fix-distgeom-test.patch + # OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('SWIG', '4.0.2'), +] +dependencies = [ + ('Python', '3.9.5'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), + ('Eigen', '3.3.9'), + ('RapidJSON', '1.1.0'), + ('cairo', '1.16.0'), # optional: for .png output + ('Boost', '1.76.0'), + ('maeparser', '1.3.0'), + ('CoordgenLibs', '3.0.1'), +] + +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-gompi-2022a.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2022a.eb new file mode 100644 index 00000000000..76ae741aa83 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-gompi-2022a.eb @@ -0,0 +1,61 @@ +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': '2022a'} +# 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', +] +checksums = [ + 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02', # openbabel-3-1-1.tar.gz + '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd', # OpenBabel-3.1.1_fix-distgeom-test.patch + # OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), +] +dependencies = [ + ('Python', '3.10.4'), + ('zlib', '1.2.12'), + ('libxml2', '2.9.13'), + ('Eigen', '3.4.0'), + ('RapidJSON', '1.1.0'), + ('cairo', '1.17.4'), # optional: for .png output + ('Boost', '1.79.0'), + ('maeparser', '1.3.0'), + ('CoordgenLibs', '3.0.1'), +] + +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-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-iimpi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-iimpi-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..77d78162002 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1-iimpi-2020a-Python-3.8.2.eb @@ -0,0 +1,61 @@ +name = 'OpenBabel' +version = '3.1.1' +versionsuffix = '-Python-%(pyver)s' + +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': 'iimpi', 'version': '2020a'} +toolchainopts = {'pic': True} + +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-testobconv_writers.patch', + 'OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch', +] +checksums = [ + 'c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02', # openbabel-3-1-1.tar.gz + '8d7687eb49142bb5ba2997cf90805b42480f313515c44b3912a9f826aaf4fbcd', # OpenBabel-3.1.1_fix-distgeom-test.patch + '6d0b153caadc53141e1578972d632afb82b2fc4abdec6c5f07552b45a20e980c', # OpenBabel-3.1.1_fix-testobconv_writers.patch + # OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch + 'cc0396b38a78ef70c869cd93887210c64d6f4293c016aec9269b5a0230fdb51c', +] + +builddependencies = [ + ('CMake', '3.16.4'), + ('SWIG', '4.0.1'), +] +dependencies = [ + ('Python', '3.8.2'), + ('zlib', '1.2.11'), + ('libxml2', '2.9.10'), + ('Eigen', '3.3.7', '', SYSTEM), + ('RapidJSON', '1.1.0'), + ('cairo', '1.16.0'), # optional: for .png output + ('Boost', '1.72.0'), + ('maeparser', '1.3.0'), + ('CoordgenLibs', '3.0.1'), +] + +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-CoordgenLibs-no-templates.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch new file mode 100644 index 00000000000..3180da7a0dc --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-CoordgenLibs-no-templates.patch @@ -0,0 +1,49 @@ +see also https://github.com/openbabel/openbabel/pull/2297 + +From b6887a8a82162278983a8489e365e61a0372b1b8 Mon Sep 17 00:00:00 2001 +From: Benny Siegert +Date: Wed, 4 Nov 2020 20:31:17 +0100 +Subject: [PATCH] Do not search for coordgen template files. + +The coordgen upstream does not install the template file. It is +also not required at runtime, since its contents are compiled into +the coordgen library itself. + +Fixes #2214 +--- + cmake/modules/Findcoordgen.cmake | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +diff --git a/cmake/modules/Findcoordgen.cmake b/cmake/modules/Findcoordgen.cmake +index ded0a4de7d..9bc5c9557f 100644 +--- a/cmake/modules/Findcoordgen.cmake ++++ b/cmake/modules/Findcoordgen.cmake +@@ -6,7 +6,6 @@ + # + # coordgen_INCLUDE_DIRS - CoordGen's includes directory + # coordgen_LIBRARIES - CoordGen's shared libraries +-# coordgen_TEMPLATE_FILE - CoordGen templates file + # + # + +@@ -28,19 +27,9 @@ find_library(coordgen_LIBRARIES + ) + message(STATUS "coordgen libraries set as '${coordgen_LIBRARIES}'") + +-# Just in case, add parent directory above libraries to templates search hints +-get_filename_component(libs_parent_dir ${coordgen_LIBRARIES} PATH) +-find_file(coordgen_TEMPLATE_FILE +- NAMES templates.mae +- HINTS ${coordgen_DIR} ${libs_parent_dir} +- PATH_SUFFIXES "share" "share/coordgen" +- DOC "templates file for coordgen" +-) +-message(STATUS "coordgen templates file set as '${coordgen_TEMPLATE_FILE}'") +- + find_package_handle_standard_args(coordgen FOUND_VAR coordgen_FOUND + REQUIRED_VARS coordgen_INCLUDE_DIRS +- coordgen_LIBRARIES coordgen_TEMPLATE_FILE) ++ coordgen_LIBRARIES) + + + 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/OpenBabel/OpenBabel-3.1.1_fix-testobconv_writers.patch b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-testobconv_writers.patch new file mode 100644 index 00000000000..967ae059019 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenBabel/OpenBabel-3.1.1_fix-testobconv_writers.patch @@ -0,0 +1,23 @@ +fix broken test by tweaking floating point value that is slightly off +see also https://github.com/openbabel/openbabel/issues/2246 +author: Kenneth Hoste (HPC-UGent) +--- openbabel-openbabel-3-1-1/test/testobconv_writers.py.orig 2022-01-12 20:12:01.480069896 +0100 ++++ openbabel-openbabel-3-1-1/test/testobconv_writers.py 2022-01-12 20:12:12.180174159 +0100 +@@ -2876,7 +2876,7 @@ + 2.4146659588503769, + 4.189331679349326, + 4.052466878708012, +- -1.4648575597102012 ++ -1.4648575597102014 + ], + "y": [ + 1.5846, +@@ -2891,7 +2891,7 @@ + 2.4146659588503769, + 4.189331679349326, + 4.052466878708012, +- -1.4648575597102012 ++ -1.4648575597102014 + ], + "style": { + "annotation": [ diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb index eaf3b0adfec..258ec7b63f6 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-2.4.12-intel-2016a.eb @@ -13,8 +13,11 @@ toolchain = {'name': 'intel', 'version': '2016a'} source_urls = ['https://github.com/Itseez/opencv/archive/'] sources = ['%(version)s.zip'] - patches = ['OpenCV-2.4.9_with_IPP.patch'] +checksums = [ + '2a7e47da87b9119be922f010a1059539e96130c242f4d38e2dbb445ccbeccbc1', # 2.4.12.zip + '420a55405e638623c7d606828489955d4186b5c22ba9bcfd49f4937bbb62b31c', # OpenCV-2.4.9_with_IPP.patch +] builddependencies = [ ('CMake', '3.5.2'), @@ -28,16 +31,15 @@ dependencies = [ ('libpng', '1.6.21'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), - ('Java', '1.7.0_80', '', True), - ('ant', '1.9.6', '-Java-%(javaver)s', True), + ('Java', '1.7.0_80', '', SYSTEM), + ('ant', '1.9.6', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.48.0'), ('GTK+', '2.24.30'), ] preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.so ' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016a.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016a.eb index 73c03c05319..f3e4bca8821 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016a.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016a.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.21'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), - ('Java', '1.8.0_92', '', True), - ('ant', '1.9.7', '-Java-%(javaver)s', True), + ('Java', '1.8.0_92', '', SYSTEM), + ('ant', '1.9.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.48.0'), ('GTK+', '2.24.30'), ('GStreamer', '1.6.4'), @@ -49,8 +49,7 @@ dependencies = [ local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts = "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT @@ -66,6 +65,7 @@ configopts += '-DJASPER_INCLUDE_DIR=$EBROOTJASPER/include ' configopts += '-DWITH_IPP=ON ' configopts += '-DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON ' configopts += '-DWITH_CUDA=OFF ' +configopts += '-DWITH_GTK_2_X=ON' local_startdir = '%(builddir)s/%(namelower)s-%(version)s' postinstallcmds = ["cp %s/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.* %%(installdir)s/lib" diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016b.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016b.eb index fae2abfc2d0..c05ad6cd156 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016b.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-foss-2016b.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.24'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), - ('Java', '1.8.0_92', '', True), - ('ant', '1.9.7', '-Java-%(javaver)s', True), + ('Java', '1.8.0_92', '', SYSTEM), + ('ant', '1.9.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.49.5'), ('GTK+', '2.24.31'), ] @@ -47,8 +47,7 @@ dependencies = [ local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts = "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT @@ -64,6 +63,7 @@ configopts += '-DJASPER_INCLUDE_DIR=$EBROOTJASPER/include ' configopts += '-DWITH_IPP=ON ' configopts += '-DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON ' configopts += '-DWITH_CUDA=OFF ' +configopts += '-DWITH_GTK_2_X=ON' local_startdir = '%(builddir)s/%(namelower)s-%(version)s' postinstallcmds = ["cp %s/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.* %%(installdir)s/lib" diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016a.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016a.eb index a266b897122..56882999097 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016a.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016a.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.21'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), - ('Java', '1.8.0_92', '', True), - ('ant', '1.9.7', '-Java-%(javaver)s', True), + ('Java', '1.8.0_92', '', SYSTEM), + ('ant', '1.9.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.48.0'), ('GTK+', '2.24.30'), ] @@ -50,8 +50,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016b.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016b.eb index bc59e66067d..b5a7c1b3002 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016b.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.1.0-intel-2016b.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.24'), ('LibTIFF', '4.0.6'), ('JasPer', '1.900.1'), - ('Java', '1.8.0_92', '', True), - ('ant', '1.9.7', '-Java-%(javaver)s', True), + ('Java', '1.8.0_92', '', SYSTEM), + ('ant', '1.9.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.49.5'), ('GTK+', '2.24.31'), ] @@ -51,8 +51,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-2.7.14.eb index 771550ead62..c6c1d65f281 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-2.7.14.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.32'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.32'), ] @@ -50,8 +50,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT @@ -67,6 +66,7 @@ configopts += '-DJASPER_INCLUDE_DIR=$EBROOTJASPER/include ' configopts += '-DWITH_IPP=ON ' configopts += '-DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON ' configopts += '-DWITH_CUDA=OFF ' +configopts += '-DWITH_GTK_2_X=ON' postinstallcmds = ["cp 3rdparty/ippicv/ippicv_lnx/lib/intel64/libippicv.* %(installdir)s/lib"] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-3.6.3.eb index f57bbe5c0a2..79e2cee0431 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-foss-2017b-Python-3.6.3.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.32'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.32'), ] @@ -50,8 +50,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT @@ -67,6 +66,7 @@ configopts += '-DJASPER_INCLUDE_DIR=$EBROOTJASPER/include ' configopts += '-DWITH_IPP=ON ' configopts += '-DENABLE_SSE=ON -DENABLE_SSE2=ON -DENABLE_SSE3=ON ' configopts += '-DWITH_CUDA=OFF ' +configopts += '-DWITH_GTK_2_X=ON' postinstallcmds = ["cp 3rdparty/ippicv/ippicv_lnx/lib/intel64/libippicv.* %(installdir)s/lib"] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-2.7.13.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-2.7.13.eb index 839f277cf51..74c953d5cba 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-2.7.13.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-2.7.13.eb @@ -38,8 +38,8 @@ dependencies = [ ('libpng', '1.6.29'), ('LibTIFF', '4.0.8'), ('JasPer', '2.0.12'), - ('Java', '1.8.0_144', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_144', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.31'), ] @@ -52,8 +52,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-3.6.1.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-3.6.1.eb index cf822b74fe2..789d6aaf637 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-3.6.1.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017a-Python-3.6.1.eb @@ -38,8 +38,8 @@ dependencies = [ ('libpng', '1.6.29'), ('LibTIFF', '4.0.8'), ('JasPer', '2.0.12'), - ('Java', '1.8.0_144', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_144', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.31'), ] @@ -52,8 +52,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-2.7.14.eb index c5efd9cb14c..8b301fd1a19 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-2.7.14.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.32'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.32'), ] @@ -50,8 +50,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-3.6.3.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-3.6.3.eb index 042fd87ce1b..40f101d42e3 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-3.6.3.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.3.0-intel-2017b-Python-3.6.3.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.32'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.53.5'), ('GTK+', '2.24.32'), ] @@ -50,8 +50,7 @@ preconfigopts = 'export IPPROOT=$EBROOTICC/ipp && ' local_ippicv_dir = '3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/' preconfigopts += "mkdir -p %s && cp -a ../*.tgz %s && " % (local_ippicv_dir, local_ippicv_dir) -configopts = '-DCMAKE_BUILD_TYPE=RELEASE ' -configopts += '-DBUILD_PYTHON_SUPPORT=ON ' +configopts = '-DBUILD_PYTHON_SUPPORT=ON ' configopts += '-DPYTHON_PACKAGES_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages ' configopts += '-DBUILD_NEW_PYTHON_SUPPORT=ON ' configopts += '-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s ' % SHLIB_EXT diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-2.7.14.eb index 842fafdf34b..b5a104f5992 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-2.7.14.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8.0_162', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_162', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4-contrib.eb index 74d3fa4a8c9..7df03a1aa93 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4-contrib.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4-contrib.eb @@ -42,8 +42,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8.0_162', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_162', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4.eb index a0370ed6840..ecd2995c966 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-foss-2018a-Python-3.6.4.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8.0_162', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_162', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-2.7.14.eb new file mode 100644 index 00000000000..87b5199daa2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-2.7.14.eb @@ -0,0 +1,46 @@ +name = 'OpenCV' +version = '3.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products.""" + +toolchain = {'name': 'intel', 'version': '2018a'} + +source_urls = [ + 'https://github.com/Itseez/opencv/archive/', + # the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake + 'https://raw.githubusercontent.com/Itseez/opencv_3rdparty/dfe3162c237af211e98b8960018b564bc209261d/ippicv', +] +sources = [ + '%(version)s.zip', + {'filename': 'ippicv_2017u3_lnx_intel64_general_20170822.tgz', 'extract_cmd': "cp %s %(builddir)s"}, +] +checksums = [ + '24bda432eaace9e992322dcc3d30144cefa5314c2424d4aa02e5fe3fa9dd17bd', # 3.4.1.zip + # ippicv_2017u3_lnx_intel64_general_20170822.tgz + '9a4b14a24d31768c3ead0720f27d55dcf80723b5ba1cd8903bed1fd69f1b9e2e', +] + +builddependencies = [ + ('CMake', '3.10.2'), +] + +dependencies = [ + ('Python', '2.7.14'), + ('zlib', '1.2.11'), + ('FFmpeg', '3.4.2'), + ('libjpeg-turbo', '1.5.3'), + ('libpng', '1.6.34'), + ('LibTIFF', '4.0.9'), + ('JasPer', '2.0.14'), + ('Java', '1.8.0_162', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.54.3'), + ('GTK+', '2.24.32'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-3.6.4.eb index e9800cb3a37..91670fc7d49 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.1-intel-2018a-Python-3.6.4.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8.0_162', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_162', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.5-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.5-foss-2018b-Python-2.7.15.eb index 614a84cbc6b..9766e39c514 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.5-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.5-foss-2018b-Python-2.7.15.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.5', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.5', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-2.7.15.eb index 708d99f1e04..f9e7d4e506a 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-2.7.15.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.36'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.60.1'), ('GTK+', '3.24.8'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-3.7.2.eb index c01e9fa3946..5d57f174681 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-foss-2019a-Python-3.7.2.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.36'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.60.1'), ('GTK+', '3.24.8'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-2.7.15.eb index d32d54e08be..8acf1dbbfc3 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-2.7.15.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.36'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.60.1'), ('GTK+', '3.24.8'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-3.7.2.eb index 1e78bb05a9d..727c24fe4ec 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-3.4.7-fosscuda-2019a-Python-3.7.2.eb @@ -39,8 +39,8 @@ dependencies = [ ('libpng', '1.6.36'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.60.1'), ('GTK+', '3.24.8'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-2.7.15.eb index fbd9e8d0fcf..ae5711df4af 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-2.7.15.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.5', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.5', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-3.6.6.eb index 0aa61fe1e65..23ce3d0dc51 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.0.1-foss-2018b-Python-3.6.6.eb @@ -36,8 +36,8 @@ dependencies = [ ('libpng', '1.6.34'), ('LibTIFF', '4.0.9'), ('JasPer', '2.0.14'), - ('Java', '1.8', '', True), - ('ant', '1.10.5', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.5', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.54.3'), ('GTK+', '2.24.32'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2019b-Python-3.7.4.eb index 9bc89cf3d0f..d38ec1d62da 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2019b-Python-3.7.4.eb @@ -37,8 +37,8 @@ dependencies = [ ('libpng', '1.6.37'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.62.0'), ('GTK+', '3.24.13'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2-contrib.eb index 8d9b3948a85..8870feae56a 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2-contrib.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2-contrib.eb @@ -43,8 +43,8 @@ dependencies = [ ('libwebp', '1.1.0'), ('OpenEXR', '2.4.1'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.8', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.8', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.64.1'), ('GTK+', '3.24.17'), ('HDF5', '1.10.6'), # needed by hdf from contrib diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2.eb index 49b5c8ba29b..bb85b7a793f 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-foss-2020a-Python-3.8.2.eb @@ -39,8 +39,8 @@ dependencies = [ ('libwebp', '1.1.0'), ('OpenEXR', '2.4.1'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.8', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.8', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.64.1'), ('GTK+', '3.24.17'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-fosscuda-2019b-Python-3.7.4.eb index 184171377df..7c1b760a1bc 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.2.0-fosscuda-2019b-Python-3.7.4.eb @@ -43,8 +43,8 @@ dependencies = [ ('libpng', '1.6.37'), ('LibTIFF', '4.0.10'), ('JasPer', '2.0.14'), - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.62.0'), ('GTK+', '3.24.13'), ] diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-foss-2020b-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-foss-2020b-contrib.eb index 82699bcc1ef..f866015943d 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-foss-2020b-contrib.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-foss-2020b-contrib.eb @@ -37,20 +37,35 @@ dependencies = [ ('SciPy-bundle', '2020.11'), # for numpy ('zlib', '1.2.11'), ('FFmpeg', '4.3.1'), + ('freetype', '2.10.3'), + ('HarfBuzz', '2.6.7'), ('libjpeg-turbo', '2.0.5'), ('libpng', '1.6.37'), ('LibTIFF', '4.1.0'), ('libwebp', '1.1.0'), ('OpenEXR', '2.5.5'), ('JasPer', '2.0.24'), - ('Java', '11', '', True), - ('ant', '1.10.9', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.66.1'), ('GTK+', '3.24.23'), ('HDF5', '1.10.7'), # needed by hdf from contrib ] -configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules' +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' enhance_sanity_check = True diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-fosscuda-2020b-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-fosscuda-2020b-contrib.eb index dd102dc3aed..6bd1dad125b 100644 --- a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-fosscuda-2020b-contrib.eb +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.1-fosscuda-2020b-contrib.eb @@ -37,20 +37,35 @@ dependencies = [ ('SciPy-bundle', '2020.11'), # for numpy ('zlib', '1.2.11'), ('FFmpeg', '4.3.1'), + ('freetype', '2.10.3'), + ('HarfBuzz', '2.6.7'), ('libjpeg-turbo', '2.0.5'), ('libpng', '1.6.37'), ('LibTIFF', '4.1.0'), ('libwebp', '1.1.0'), ('OpenEXR', '2.5.5'), ('JasPer', '2.0.24'), - ('Java', '11', '', True), - ('ant', '1.10.9', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), ('GLib', '2.66.1'), ('GTK+', '3.24.23'), ('HDF5', '1.10.7'), # needed by hdf from contrib ] -configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules' +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' enhance_sanity_check = True diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-CUDA-11.3.1-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-CUDA-11.3.1-contrib.eb new file mode 100644 index 00000000000..9c0af78eb10 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-CUDA-11.3.1-contrib.eb @@ -0,0 +1,86 @@ +name = 'OpenCV' +version = '4.5.3' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [ + {'source_urls': ['https://github.com/opencv/opencv/archive/'], + 'download_filename': '%(version)s.zip', 'filename': SOURCELOWER_ZIP}, + {'source_urls': ['https://github.com/opencv/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', 'filename': '%(namelower)s_contrib-%(version)s.zip'}, + {'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', 'extract_cmd': "cp %s %(builddir)s"}, +] +checksums = [ + 'a61e7a4618d353140c857f25843f39b2abe5f451b018aab1604ef0bc34cd23d5', # opencv-4.5.3.zip + 'dc3317950cf0d6cab6d24ec8df864d5e7c4efe39627dbd1c7c177dc12a8bcd78', # opencv_contrib-4.5.3.zip + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('freetype', '2.10.4'), + ('HarfBuzz', '2.8.1'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.2.0'), + ('libwebp', '1.2.0'), + ('OpenEXR', '3.0.1'), + ('JasPer', '2.0.28'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.68.2'), + ('GTK3', '3.24.29'), + ('HDF5', '1.10.7'), # needed by hdf from contrib + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (l, SHLIB_EXT) for l in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-contrib.eb new file mode 100644 index 00000000000..39fac2609e2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.3-foss-2021a-contrib.eb @@ -0,0 +1,84 @@ +name = 'OpenCV' +version = '4.5.3' +versionsuffix = '-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [ + {'source_urls': ['https://github.com/opencv/opencv/archive/'], + 'download_filename': '%(version)s.zip', 'filename': SOURCELOWER_ZIP}, + {'source_urls': ['https://github.com/opencv/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', 'filename': '%(namelower)s_contrib-%(version)s.zip'}, + {'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', 'extract_cmd': "cp %s %(builddir)s"}, +] +checksums = [ + 'a61e7a4618d353140c857f25843f39b2abe5f451b018aab1604ef0bc34cd23d5', # opencv-4.5.3.zip + 'dc3317950cf0d6cab6d24ec8df864d5e7c4efe39627dbd1c7c177dc12a8bcd78', # opencv_contrib-4.5.3.zip + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('freetype', '2.10.4'), + ('HarfBuzz', '2.8.1'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.2.0'), + ('libwebp', '1.2.0'), + ('OpenEXR', '3.0.1'), + ('JasPer', '2.0.28'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.68.2'), + ('GTK3', '3.24.29'), + ('HDF5', '1.10.7'), # needed by hdf from contrib +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (l, SHLIB_EXT) for l in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-CUDA-11.4.1-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-CUDA-11.4.1-contrib.eb new file mode 100644 index 00000000000..935c5f8c301 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-CUDA-11.4.1-contrib.eb @@ -0,0 +1,86 @@ +name = 'OpenCV' +version = '4.5.5' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [ + {'source_urls': ['https://github.com/opencv/opencv/archive/'], + 'download_filename': '%(version)s.zip', 'filename': SOURCELOWER_ZIP}, + {'source_urls': ['https://github.com/opencv/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', 'filename': '%(namelower)s_contrib-%(version)s.zip'}, + {'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', 'extract_cmd': "cp %s %(builddir)s"}, +] +checksums = [ + 'fb16b734db3a28e5119d513bd7c61ef417edf3756165dc6259519bb9d23d04e2', # opencv-4.5.5.zip + 'f53a0e531b2e284d2d1af013f5d96a86dfc1165d71eb47ddc9e7b834cc803091', # opencv_contrib-4.5.5.zip + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('freetype', '2.11.0'), + ('HarfBuzz', '2.8.2'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.0'), + ('OpenEXR', '3.1.1'), + ('JasPer', '2.0.33'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.69.1'), + ('GTK3', '3.24.31'), + ('HDF5', '1.12.1'), # needed by hdf from contrib + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-contrib.eb new file mode 100644 index 00000000000..86531a76eb5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.5.5-foss-2021b-contrib.eb @@ -0,0 +1,84 @@ +name = 'OpenCV' +version = '4.5.5' +versionsuffix = '-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [ + {'source_urls': ['https://github.com/opencv/opencv/archive/'], + 'download_filename': '%(version)s.zip', 'filename': SOURCELOWER_ZIP}, + {'source_urls': ['https://github.com/opencv/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', 'filename': '%(namelower)s_contrib-%(version)s.zip'}, + {'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', 'extract_cmd': "cp %s %(builddir)s"}, +] +checksums = [ + 'fb16b734db3a28e5119d513bd7c61ef417edf3756165dc6259519bb9d23d04e2', # opencv-4.5.5.zip + 'f53a0e531b2e284d2d1af013f5d96a86dfc1165d71eb47ddc9e7b834cc803091', # opencv_contrib-4.5.5.zip + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246', # ippicv_2020_lnx_intel64_20191018_general.tgz +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('freetype', '2.11.0'), + ('HarfBuzz', '2.8.2'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.0'), + ('OpenEXR', '3.1.1'), + ('JasPer', '2.0.33'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.69.1'), + ('GTK3', '3.24.31'), + ('HDF5', '1.12.1'), # needed by hdf from contrib +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = '-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules ' +configopts += '-DFREETYPE_FOUND=ON ' +configopts += '-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/ ' +configopts += '-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so ' +configopts += '-DFREETYPE_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DHARFBUZZ_FOUND=ON ' +configopts += '-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz ' +configopts += '-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so ' +configopts += '-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON ' +configopts += '-DBUILD_opencv_python2=OFF ' + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (l, SHLIB_EXT) for l in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb new file mode 100644 index 00000000000..4ca1c26a38c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-CUDA-11.7.0-contrib.eb @@ -0,0 +1,110 @@ +name = 'OpenCV' +version = '4.6.0' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'cstd': 'c++14'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': SOURCELOWER_ZIP + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': '%(namelower)s_contrib-%(version)s.zip' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] +patches = [('opencv_contrib_python.egg-info', '..')] +checksums = [ + {'opencv-4.6.0.zip': '158db5813a891c7eda8644259fc1dbd76b21bd1ffb9854a8b4b8115a4ceec359'}, + {'opencv_contrib-4.6.0.zip': '588ca44e3c88ccf8e3ff7f46e966e26ff63d72607968ace83b91628d3440f8a3'}, + {'ippicv_2020_lnx_intel64_20191018_general.tgz': + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), + ('FFmpeg', '4.4.2'), + ('freetype', '2.12.1'), + ('HarfBuzz', '4.2.1'), + ('libjpeg-turbo', '2.1.3'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.4'), + ('OpenEXR', '3.1.5'), + ('JasPer', '2.0.33'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.72.1'), + ('GTK4', '4.7.0'), + ('HDF5', '1.12.2'), + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", + "-DCUDA_NVCC_FLAGS=--std=c++14", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb new file mode 100644 index 00000000000..f71431e0f08 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.6.0-foss-2022a-contrib.eb @@ -0,0 +1,106 @@ +name = 'OpenCV' +version = '4.6.0' +versionsuffix = '-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = 'a56b6ac6f030c312b2dce17430eef13aed9af274' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': SOURCELOWER_ZIP + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': '%(namelower)s_contrib-%(version)s.zip' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2020_lnx_intel64_20191018_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] +patches = [('opencv_contrib_python.egg-info', '..')] +checksums = [ + {'opencv-4.6.0.zip': '158db5813a891c7eda8644259fc1dbd76b21bd1ffb9854a8b4b8115a4ceec359'}, + {'opencv_contrib-4.6.0.zip': '588ca44e3c88ccf8e3ff7f46e966e26ff63d72607968ace83b91628d3440f8a3'}, + {'ippicv_2020_lnx_intel64_20191018_general.tgz': + '08627fa5660d52d59309a572dd7db5b9c8aea234cfa5aee0942a1dd903554246'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), + ('FFmpeg', '4.4.2'), + ('freetype', '2.12.1'), + ('HarfBuzz', '4.2.1'), + ('libjpeg-turbo', '2.1.3'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('libwebp', '1.2.4'), + ('OpenEXR', '3.1.5'), + ('JasPer', '2.0.33'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.72.1'), + ('GTK4', '4.7.0'), + ('HDF5', '1.12.2'), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.0-foss-2022b-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.0-foss-2022b-contrib.eb new file mode 100755 index 00000000000..7acf42f7a39 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.0-foss-2022b-contrib.eb @@ -0,0 +1,106 @@ +name = 'OpenCV' +version = '4.8.0' +versionsuffix = '-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = '1224f78da6684df04397ac0f40c961ed37f79ccb' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': SOURCELOWER_ZIP + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.zip', + 'filename': '%(namelower)s_contrib-%(version)s.zip' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2021.8_lnx_intel64_20230330_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] +patches = [('opencv_contrib_python.egg-info', '..')] +checksums = [ + {'opencv-4.8.0.zip': '9dc6a9a95edc133e165e9f6db9412dd899e28d4e5e4979f17cb5966f4b7f3fb1'}, + {'opencv_contrib-4.8.0.zip': '14da1d786cbff86bf8fca840e9e83035395be3cccc6835bbdd53e00a30f1cbf7'}, + {'ippicv_2021.8_lnx_intel64_20230330_general.tgz': + '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('zlib', '1.2.12'), + ('FFmpeg', '5.1.2'), + ('freetype', '2.12.1'), + ('HarfBuzz', '5.3.1'), + ('libjpeg-turbo', '2.1.4'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.5'), + ('JasPer', '4.0.0'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.75.0'), + ('GTK4', '4.11.3'), + ('HDF5', '1.14.0'), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb new file mode 100644 index 00000000000..5ebd7b02024 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-CUDA-12.1.1-contrib.eb @@ -0,0 +1,113 @@ +name = 'OpenCV' +version = '4.8.1' +versionsuffix = '-CUDA-%(cudaver)s-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = '1224f78da6684df04397ac0f40c961ed37f79ccb' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'cstd': 'c++14'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(namelower)s_contrib-%(version)s.tar.gz' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2021.8_lnx_intel64_20230330_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] + +patches = [('opencv_contrib_python.egg-info', '..')] + +checksums = [ + {'%(namelower)s-%(version)s.tar.gz': '62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5'}, + {'%(namelower)s_contrib-%(version)s.tar.gz': '0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e'}, + {'ippicv_2021.8_lnx_intel64_20230330_general.tgz': + '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('freetype', '2.13.0'), + ('HarfBuzz', '5.3.1'), + ('libjpeg-turbo', '2.1.5.1'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.7'), + ('JasPer', '4.0.0'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.77.1'), + ('GTK4', '4.13.1'), + ('HDF5', '1.14.0'), + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', '-CUDA-%(cudaver)s', SYSTEM), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", + "-DCUDA_NVCC_FLAGS=--std=c++14", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb new file mode 100644 index 00000000000..fe14501e01c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/OpenCV-4.8.1-foss-2023a-contrib.eb @@ -0,0 +1,107 @@ +name = 'OpenCV' +version = '4.8.1' +versionsuffix = '-contrib' + +# the hash is version dependent! see 3rdparty/ippicv/ippicv.cmake +local_ippicv_hash = '1224f78da6684df04397ac0f40c961ed37f79ccb' + +homepage = 'https://opencv.org/' +description = """OpenCV (Open Source Computer Vision Library) is an open source computer vision + and machine learning software library. OpenCV was built to provide + a common infrastructure for computer vision applications and to accelerate + the use of machine perception in the commercial products. + Includes extra modules for OpenCV from the contrib repository.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [ + { + 'source_urls': ['https://github.com/%(namelower)s/%(namelower)s/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ + }, + { + 'source_urls': ['https://github.com/%(namelower)s/opencv_contrib/archive/'], + 'download_filename': '%(version)s.tar.gz', + 'filename': '%(namelower)s_contrib-%(version)s.tar.gz' + }, + { + 'source_urls': ['https://raw.githubusercontent.com/opencv/opencv_3rdparty/%s/ippicv' % local_ippicv_hash], + 'filename': 'ippicv_2021.8_lnx_intel64_20230330_general.tgz', + 'extract_cmd': 'cp %s %(builddir)s' + }, +] +patches = [('opencv_contrib_python.egg-info', '..')] +checksums = [ + {'%(namelower)s-%(version)s.tar.gz': '62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5'}, + {'%(namelower)s_contrib-%(version)s.tar.gz': '0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e'}, + {'ippicv_2021.8_lnx_intel64_20230330_general.tgz': + '7cfe0fb0e15ea8f3d2d971c19df2d14382469943d4efa85e48bf358930daa85d'}, + {'opencv_contrib_python.egg-info': '08eb95c735d4ff82e35e3df56c2e7e75501cc263a8efcb9348d04e6322a4b034'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('freetype', '2.13.0'), + ('HarfBuzz', '5.3.1'), + ('libjpeg-turbo', '2.1.5.1'), + ('OpenJPEG', '2.5.0'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('OpenEXR', '3.1.7'), + ('JasPer', '4.0.0'), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('GLib', '2.77.1'), + ('GTK4', '4.13.1'), + ('HDF5', '1.14.0'), +] + +# XXXX in configurations is a bug fix in OpenCV because ocv_check_modules is not able to recognize freetype and harfbuzz +# ref: https://github.com/opencv/opencv/blob/6e8daaec0f46aaba9ea22e2afce47307b1dbff9f/cmake/OpenCVUtils.cmake#L861 +configopts = " ".join([ + "-DOPENCV_EXTRA_MODULES_PATH=%(builddir)s/%(namelower)s_contrib-%(version)s/modules", + "-DOPENCV_GENERATE_PKGCONFIG=ON", + "-DFREETYPE_FOUND=ON", + "-DFREETYPE_INCLUDE_DIRS=$EBROOTFREETYPE/include/freetype2/", + "-DFREETYPE_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES=$EBROOTFREETYPE/lib64/libfreetype.so", + "-DFREETYPE_LINK_LIBRARIES_XXXXX=ON", + "-DHARFBUZZ_FOUND=ON", + "-DHARFBUZZ_INCLUDE_DIRS=$EBROOTHARFBUZZ/include/harfbuzz", + "-DHARFBUZZ_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES=$EBROOTHARFBUZZ/lib64/libharfbuzz.so", + "-DHARFBUZZ_LINK_LIBRARIES_XXXXX=ON", + "-DBUILD_opencv_python2=OFF", +]) + +# Install a egg-info file so it is more python friendly +local_egg_info_src = '%(builddir)s/opencv_contrib_python.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/opencv_contrib_python-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#OPENCV_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +enhance_sanity_check = True + +local_contrib_libs = [ + 'aruco', 'bgsegm', 'bioinspired', 'ccalib', 'datasets', 'dnn_objdetect', 'dnn_superres', 'dpm', 'face', 'freetype', + 'fuzzy', 'hdf', 'hfs', 'img_hash', 'line_descriptor', 'optflow', 'phase_unwrapping', 'plot', 'quality', 'reg', + 'rgbd', 'saliency', 'shape', 'stereo', 'structured_light', 'superres', 'surface_matching', 'text', 'tracking', + 'videostab', 'xfeatures2d', 'ximgproc', 'xobjdetect', 'xphoto' +] + +sanity_check_paths = { + 'files': ['lib64/libopencv_%s.%s' % (x, SHLIB_EXT) for x in local_contrib_libs], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenCV/opencv_contrib_python.egg-info b/easybuild/easyconfigs/o/OpenCV/opencv_contrib_python.egg-info new file mode 100644 index 00000000000..073e127f34d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCV/opencv_contrib_python.egg-info @@ -0,0 +1,5 @@ +Metadata-Version: 2.1 +Name: opencv-contrib-python +Version: #OPENCV_VERSION# +Summary: Wrapper package for OpenCV python bindings. +Platform: UNKNOWN diff --git a/easybuild/easyconfigs/o/OpenCensus-python/OpenCensus-python-0.8.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenCensus-python/OpenCensus-python-0.8.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ece4366ea1f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenCensus-python/OpenCensus-python-0.8.0-GCCcore-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'OpenCensus-python' +version = '0.8.0' + +homepage = "https://opencensus.io/" +description = """OpenCensus for Python. OpenCensus provides a framework to measure a server's +resource usage and collect performance stats. This repository contains Python +related utilities and supporting software needed by OpenCensus.""" + + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('protobuf-python', '3.17.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('google-auth', '2.3.3', { + 'modulename': 'google.auth', + 'checksums': ['d83570a664c10b97a1dc6f8df87e5fdfff012f48f62be131e449c20dfc32630e'], + }), + ('googleapis-common-protos', '1.54.0', { + 'modulename': 'google.api', + 'checksums': ['a4031d6ec6c2b1b6dc3e0be7e10a1bd72fb0b18b07ef9be7b51f2c1004ce2437'], + }), + ('google-api-core', '2.4.0', { + 'modulename': 'google.api_core', + 'checksums': ['ba8787b7c61632cd0340f095e1c036bef9426b2594f10afb290ba311ae8cb2cb'], + }), + ('opencensus-context', '0.1.2', { + 'modulename': 'opencensus.common.runtime_context', + 'preinstallopts': """sed -i 's/from version import __version__/__version__ = "%(version)s"/' setup.py &&""", + 'checksums': ['8cf64ce901e6b35f491bd1521e6541676e034c52d00c95500e9364600f835c06'], + }), + ('opencensus', version, { + 'checksums': ['476d99fb82f3807acf566e6c232049dc13e825102be104e6231784abcc1b1a5e'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6e9e8261d52 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.1.1' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/openexr/openexr/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['045254e201c0f87d1d1a4b2b5815c4ae54845af2e6ec0ab88e979b5fdb30a86e'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +configopts = '-DOPENEXR_BUILD_PYTHON_LIBS=OFF' + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (x, SHLIB_EXT) for x in + ['Iex', 'IlmThread', 'Imath', 'OpenEXR', 'OpenEXRUtil']] + + ['bin/exr%s' % x for x in + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr']], + 'dirs': ['include/OpenEXR', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d85c1503e24 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.1.5' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +dependencies = [ + ('Imath', '3.1.5'), + ('zlib', '1.2.12') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..51ef158f691 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.5-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.1.5' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('Imath', '3.1.6'), + ('zlib', '1.2.12') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f66f45d25c3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.1.7-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.1.7' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('Imath', '3.1.7'), + ('zlib', '1.2.13') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..815985fab48 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.2.0' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b1b200606640547fceff0d3ebe01ac05c4a7ae2a131be7e9b3e5b9f491ef35b3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] +dependencies = [ + ('Imath', '3.1.9'), + ('zlib', '1.2.13') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f6e66db69ae --- /dev/null +++ b/easybuild/easyconfigs/o/OpenEXR/OpenEXR-3.2.4-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'OpenEXR' +version = '3.2.4' + +homepage = 'https://www.openexr.com/' +description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic + for use in computer imaging applications""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['81e6518f2c4656fdeaf18a018f135e96a96e7f66dbe1c1f05860dd94772176cc'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('Imath', '3.1.11'), + ('zlib', '1.3.1') +] + +local_libs, local_bins = [ + ['Iex', 'IlmThread', 'OpenEXR', 'OpenEXRUtil'], + ['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr'] +] + +sanity_check_paths = { + 'files': ( + ['lib/lib%s.%s' % (s, SHLIB_EXT) for s in local_libs] + + ['bin/exr%s' % b for b in local_bins] + ), + 'dirs': ['include/%(name)s', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenFAST/OpenFAST-3.0.0-foss-2021b.eb b/easybuild/easyconfigs/o/OpenFAST/OpenFAST-3.0.0-foss-2021b.eb new file mode 100644 index 00000000000..2572502b898 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFAST/OpenFAST-3.0.0-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'OpenFAST' +version = '3.0.0' + +homepage = 'http://openfast.readthedocs.io/' + +description = """OpenFAST is a wind turbine simulation tool which builds on FAST v8. +FAST.Farm extends the capability of OpenFAST to simulate multi-turbine wind farms""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/OpenFAST/openfast/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9af57af054e4128b6e257a76da368dc4ad0c7fbb2b22d51fc7ea63cdf999c530'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +configopts = '-DBUILD_FASTFARM=ON ' + +sanity_check_paths = { + 'files': ['bin/openfast', 'bin/FAST.Farm', + 'lib/libopenfastlib.a', 'lib/libopenfast_prelib.a', 'lib/libopenfast_postlib.a'], + 'dirs': ['include/openfast'], +} + +sanity_check_commands = ["openfast -h"] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705-foss-2023a-Python-2.7.18.eb b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705-foss-2023a-Python-2.7.18.eb new file mode 100644 index 00000000000..b65ce71cf76 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705-foss-2023a-Python-2.7.18.eb @@ -0,0 +1,66 @@ +easyblock = 'EB_OpenFOAM' + +name = 'OpenFOAM-Extend' +local_commit = 'aa97a0' +version = '4.1-20210705' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.extend-project.de/' +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'} +toolchainopts = {'usempi': True} + +sources = [{ + 'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit, + 'git_config': { + 'url': 'https://git.code.sf.net/p/foam-extend/', + 'repo_name': 'foam-extend-4.1', + 'commit': local_commit, + }, +}] +patches = [ + 'OpenFOAM-Extend-3.2-ParMGridGen.patch', + 'OpenFOAM-Extend-3.1_build-qa.patch', + 'OpenFOAM-Extend-4.1_comp-mpi.patch', + 'OpenFOAM-Extend-3.1_skip-ThirdParty-OpenMPI.patch', + 'OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch', +] +checksums = [ + # no checksum for OpenFOAM-Extend-4.1-20200408-f2c557.tar.gz since it's created from git repo, + # and hence resuluting tarball won't be exactly the same on all systems + None, + 'f7676a7a12ced7c74caea64c62826a28449fdb2beb8b5be2c4ae7528ffece16e', # OpenFOAM-Extend-3.2-ParMGridGen.patch + '14dcc12ea7191ba42a9c297fcb2f4fbc2c55bf57226029489aa116e2d060b4bf', # OpenFOAM-Extend-3.1_build-qa.patch + 'e71a77b6f39653f9a0d4b0ce6691433c742df74f23402782c69a8b736c98eb7a', # OpenFOAM-Extend-4.1_comp-mpi.patch + # OpenFOAM-Extend-3.1_skip-ThirdParty-OpenMPI.patch + 'c88b23cd2f5dcf3bd86e02d7ea5dc6719c2049cf4b20e39f1b3262381dee3c50', + # OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch + '47868f35d9a899047be8da451df46e165fc813bc809b96b1c35a0cccddb1a9e6', +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('M4', '1.4.19'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('hwloc', '2.9.1'), + ('ParMETIS', '4.0.3'), + ('METIS', '5.1.0'), # order matters, METIS need to be listed after ParMETIS to get $CPATH right + ('SCOTCH', '7.0.3'), + ('Mesquite', '2.3.0'), + ('ParMGridGen', '1.0'), + ('Python', '2.7.18'), + # Libccmio v2.6.1, zoltan v3.5 +] + +# too many builds in parallel actually slows down the build +maxparallel = 4 + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch new file mode 100644 index 00000000000..84229fdd90a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM-Extend/OpenFOAM-Extend-4.1-20210705_fix-private-PackedList.patch @@ -0,0 +1,14 @@ +fix for: +error: class Foam::UList Foam::UList::UList is private within this context +see also https://sourceforge.net/p/foam-extend/tickets/68/ +--- foam-extend-4.1-20210705/src/foam/containers/Lists/PackedList/PackedList.H.orig 2024-09-12 21:13:26.103914000 +0200 ++++ foam-extend-4.1-20210705/src/foam/containers/Lists/PackedList/PackedList.H 2024-09-12 21:13:53.608924991 +0200 +@@ -147,7 +147,7 @@ + class PackedList + : + public PackedListCore, +- private List ++ public List + { + protected: + diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch new file mode 100644 index 00000000000..4a2dd8f3b77 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-ThirdParty.patch @@ -0,0 +1,276 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Aligned hunks by Leon Kos. Based on patch for OpenFOAM 5.0 and 4.1 by +# Kenneth Hoste (HPC-UGent) and Ward Poelmans + +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-09-19 11:34:37.930703275 +0200 +@@ -17,8 +17,8 @@ + fi + + # Ensure CMake gets the correct C/C++ compilers +-[ -n "$WM_CC" ] && export CC="$WM_CC" +-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++#[ -n "$WM_CC" ] && export CC="$WM_CC" ++#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-09-19 11:34:37.932703249 +0200 +@@ -2,6 +2,8 @@ + + PROJECT(PVReaders) + ++FIND_PACKAGE(MPI REQUIRED) ++ + FIND_PACKAGE(ParaView REQUIRED) + + INCLUDE(GNUInstallDirs) +diff -ru OpenFOAM-10-version-10/etc/bashrc OpenFOAM-10/etc/bashrc +--- OpenFOAM-10-version-10/etc/bashrc 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/bashrc 2022-09-19 11:34:37.934703223 +0200 +@@ -43,8 +43,9 @@ + # Please set to the appropriate path if the default is not correct. + # + [ "$BASH" -o "$ZSH_NAME" ] && \ +-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ +-export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ ++#export FOAM_INST_DIR=$HOME/$WM_PROJECT ++# For Easybuild: set by the module + # export FOAM_INST_DIR=~$WM_PROJECT + # export FOAM_INST_DIR=/opt/$WM_PROJECT + # export FOAM_INST_DIR=/usr/local/$WM_PROJECT +diff -ru OpenFOAM-10-version-10/etc/config.sh/CGAL OpenFOAM-10/etc/config.sh/CGAL +--- OpenFOAM-10-version-10/etc/config.sh/CGAL 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/CGAL 2022-09-19 11:34:37.935703211 +0200 +@@ -39,22 +39,7 @@ + # + #------------------------------------------------------------------------------ + +-boost_version=boost-system +-#boost_version=boost-1.55.0 +-#boost_version=boost-1.72.0 +- +-cgal_version=cgal-system +-#cgal_version=CGAL-4.10 +-#cgal_version=CGAL-5.0.2 +- +-if [ "$boost_version" != "boost-system" ] +-then +- export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/$boost_version +-fi +- +-if [ "$cgal_version" != "cgal-system" ] +-then +- export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/$cgal_version +-fi ++export CGAL_ARCH_PATH=$EBROOTCGAL ++export BOOST_ARCH_PATH=$EBROOTBOOST + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/gperftools OpenFOAM-10/etc/config.sh/gperftools +--- OpenFOAM-10-version-10/etc/config.sh/gperftools 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/gperftools 2022-09-19 11:34:37.937703185 +0200 +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/metis OpenFOAM-10/etc/config.sh/metis +--- OpenFOAM-10-version-10/etc/config.sh/metis 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/metis 2022-09-19 11:34:37.938703172 +0200 +@@ -34,7 +34,7 @@ + # + #------------------------------------------------------------------------------ + +-export METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/mpi OpenFOAM-10/etc/config.sh/mpi +--- OpenFOAM-10-version-10/etc/config.sh/mpi 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/mpi 2022-09-19 11:34:37.939703159 +0200 +@@ -254,6 +254,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib/release + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-10-version-10/etc/config.sh/paraview OpenFOAM-10/etc/config.sh/paraview +--- OpenFOAM-10-version-10/etc/config.sh/paraview 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/paraview 2022-09-19 11:34:37.941703134 +0200 +@@ -41,25 +41,6 @@ + ) \ + && PATH="$cleaned" + +-# Determine the cmake to be used. Take the most recent. +-unset CMAKE_HOME CMAKE_ROOT +-for cmake in $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake-* +-do +- if [ -d $cmake ] +- then +- if [ -z $CMAKE_HOME ] || \ +- $WM_PROJECT_DIR/bin/tools/foamVersionCompare $CMAKE_HOME lt $cmake +- then +- export CMAKE_HOME=$cmake +- export CMAKE_ROOT=$cmake +- fi +- fi +-done +-if [ -n $CMAKE_HOME ] +-then +- export PATH=$cmake/bin:$PATH +-fi +- + #- ParaView version, automatically determine major version + #export ParaView_VERSION=4.0.1 + #export ParaView_VERSION=4.1.0 +@@ -69,7 +50,8 @@ + #export ParaView_VERSION=5.0.1 + #export ParaView_VERSION=5.4.0 + #export ParaView_VERSION=5.5.0 +-export ParaView_VERSION=5.6.3 ++#export ParaView_VERSION=5.6.3 ++export ParaView_VERSION=$EBVERSIONPARAVIEW + export ParaView_MAJOR=detect + + #export ParaView_GL=system +@@ -109,7 +91,8 @@ + export ParaView_VERSION ParaView_MAJOR + + # Set the binary and source directories +-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++# export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++export ParaView_DIR=$EBROOTPARAVIEW + paraviewSrcDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION + + # Set paths if binaries or source are present +@@ -129,8 +112,6 @@ + fi + export ParaView_LIB_DIR=$ParaView_DIR/lib$paraviewArch$paraviewLibSubDir + +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH + export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR + + if [ "$FOAM_VERBOSE" -a "$PS1" ] +@@ -142,18 +123,6 @@ + echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH" + fi + +- # Add in python libraries if required +- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- if [ -r $paraviewPython ] +- then +- if [ "$PYTHONPATH" ] +- then +- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR +- else +- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR +- fi +- fi +- + # Alias paraview to launch with mesa if necessary + if [ "$ParaView_GL" = mesa ] + then +diff -ru OpenFOAM-10-version-10/etc/config.sh/scotch OpenFOAM-10/etc/config.sh/scotch +--- OpenFOAM-10-version-10/etc/config.sh/scotch 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/scotch 2022-09-19 11:34:37.942703121 +0200 +@@ -37,7 +37,7 @@ + # + #------------------------------------------------------------------------------ + +-export SCOTCH_VERSION=scotch_6.0.9 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/settings OpenFOAM-10/etc/config.sh/settings +--- OpenFOAM-10-version-10/etc/config.sh/settings 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/settings 2022-09-19 11:34:37.943703108 +0200 +@@ -61,11 +61,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-09-19 11:34:37.945703082 +0200 +@@ -4,14 +4,7 @@ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ + -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +- -L$(SCOTCH_ARCH_PATH)/lib \ +- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ +- -lptscotch \ +- -lptscotcherrexit \ +- -lscotch \ +- -lrt ++ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-09-19 11:34:37.947703057 +0200 +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include ++ + extern "C" + { + #include +- #include + #include "ptscotch.h" + } + +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options 2022-09-19 11:34:37.948703044 +0200 +@@ -6,7 +6,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119-int64.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119-int64.eb new file mode 100644 index 00000000000..5c5f4d70f9f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119-int64.eb @@ -0,0 +1,42 @@ +name = 'OpenFOAM' + +version = '10' +_version_patch = '20230119' +versionsuffix = '-%s-int64' % _version_patch + +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 = {'vectorize': False, 'i8': True} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % _version_patch, + 'filename': 'OpenFOAM-%s-%s.tar.gz' % (version, _version_patch), +}] +patches = ['OpenFOAM-%(version_major)s-ThirdParty.patch'] +checksums = [ + {'OpenFOAM-10-20230119.tar.gz': '86f8cb18d4f59812b129ce7d669e8ff498da442fbdb46705492fbba3cbda82ab'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('ncurses', '6.3'), + ('METIS', '5.1.0', '-int64'), + ('SCOTCH', '7.0.1', '-int64'), + ('CGAL', '4.14.3'), + ('ParaView', '5.10.1', '-mpi'), + ('gnuplot', '5.4.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb new file mode 100644 index 00000000000..fd18ec3e287 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a-20230119.eb @@ -0,0 +1,43 @@ +name = 'OpenFOAM' + +version = '10' +_version_patch = '20230119' +versionsuffix = '-%s' % _version_patch + +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 = {'vectorize': False} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % _version_patch, + 'filename': 'OpenFOAM-%(version)s%(versionsuffix)s.tar.gz', +}] +patches = ['OpenFOAM-%(version_major)s-ThirdParty.patch'] +checksums = [ + {'OpenFOAM-10-20230119.tar.gz': '86f8cb18d4f59812b129ce7d669e8ff498da442fbdb46705492fbba3cbda82ab'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('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-10-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb new file mode 100644 index 00000000000..3bdaaf4f06e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2022a.eb @@ -0,0 +1,37 @@ +name = 'OpenFOAM' +version = '10' + +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 = {'vectorize': False} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-ThirdParty.patch'] +checksums = [ + {'version-10.tar.gz': '59d712ba798ca44b989b6ac50bcb7c534eeccb82bcf961e10ec19fc8d84000cf'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('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-10-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb new file mode 100644 index 00000000000..4989e318c7c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-10-foss-2023a.eb @@ -0,0 +1,37 @@ +name = 'OpenFOAM' +version = '10' + +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'} +toolchainopts = {'vectorize': False} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-ThirdParty.patch'] +checksums = [ + {'version-10.tar.gz': '59d712ba798ca44b989b6ac50bcb7c534eeccb82bcf961e10ec19fc8d84000cf'}, + {'OpenFOAM-10-ThirdParty.patch': '307df0206cdb24533f4974378843332064f4a2d85cf0638c20fc4c87b1524b43'}, +] + +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-11-ThirdParty.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-ThirdParty.patch new file mode 100644 index 00000000000..a7676590e76 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-ThirdParty.patch @@ -0,0 +1,248 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Aligned hunks by Leon Kos and updated by Simon Branford (University of Birmingham). +# Based on patch for OpenFOAM 5.0 and 4.1 by Kenneth Hoste (HPC-UGent) and Ward Poelmans + +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2022-09-19 11:34:37.930703275 +0200 +@@ -17,8 +17,8 @@ + fi + + # Ensure CMake gets the correct C/C++ compilers +-[ -n "$WM_CC" ] && export CC="$WM_CC" +-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++#[ -n "$WM_CC" ] && export CC="$WM_CC" ++#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +--- OpenFOAM-10-version-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2022-09-19 11:34:37.932703249 +0200 +@@ -2,6 +2,8 @@ + + PROJECT(PVReaders) + ++FIND_PACKAGE(MPI REQUIRED) ++ + FIND_PACKAGE(ParaView REQUIRED) + + INCLUDE(GNUInstallDirs) +diff -ru OpenFOAM-10-version-10/etc/bashrc OpenFOAM-10/etc/bashrc +--- OpenFOAM-10-version-10/etc/bashrc 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/bashrc 2022-09-19 11:34:37.934703223 +0200 +@@ -43,8 +43,9 @@ + # Please set to the appropriate path if the default is not correct. + # + [ "$BASH" -o "$ZSH_NAME" ] && \ +-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ +-export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ ++#export FOAM_INST_DIR=$HOME/$WM_PROJECT ++# For Easybuild: set by the module + # export FOAM_INST_DIR=~$WM_PROJECT + # export FOAM_INST_DIR=/opt/$WM_PROJECT + # export FOAM_INST_DIR=/usr/local/$WM_PROJECT +diff -ru OpenFOAM-10-version-10/etc/config.sh/gperftools OpenFOAM-10/etc/config.sh/gperftools +--- OpenFOAM-10-version-10/etc/config.sh/gperftools 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/gperftools 2022-09-19 11:34:37.937703185 +0200 +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/metis OpenFOAM-10/etc/config.sh/metis +--- OpenFOAM-10-version-10/etc/config.sh/metis 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/metis 2022-09-19 11:34:37.938703172 +0200 +@@ -34,7 +34,7 @@ + # + #------------------------------------------------------------------------------ + +-export METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/mpi OpenFOAM-10/etc/config.sh/mpi +--- OpenFOAM-10-version-10/etc/config.sh/mpi 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/mpi 2022-09-19 11:34:37.939703159 +0200 +@@ -254,6 +254,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib/release + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-10-version-10/etc/config.sh/paraview OpenFOAM-10/etc/config.sh/paraview +--- OpenFOAM-10-version-10/etc/config.sh/paraview 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/paraview 2022-09-19 11:34:37.941703134 +0200 +@@ -41,25 +41,6 @@ + ) \ + && PATH="$cleaned" + +-# Determine the cmake to be used. Take the most recent. +-unset CMAKE_HOME CMAKE_ROOT +-for cmake in $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake-* +-do +- if [ -d $cmake ] +- then +- if [ -z $CMAKE_HOME ] || \ +- $WM_PROJECT_DIR/bin/tools/foamVersionCompare $CMAKE_HOME lt $cmake +- then +- export CMAKE_HOME=$cmake +- export CMAKE_ROOT=$cmake +- fi +- fi +-done +-if [ -n $CMAKE_HOME ] +-then +- export PATH=$cmake/bin:$PATH +-fi +- + #- ParaView version, automatically determine major version + #export ParaView_VERSION=5.6.3 + export ParaView_VERSION=5.10.1 +@@ -62,7 +62,8 @@ + + #- ParaView version, automatically determine major version + #export ParaView_VERSION=5.6.3 +-export ParaView_VERSION=5.10.1 ++#export ParaView_VERSION=5.10.1 ++export ParaView_VERSION=$EBVERSIONPARAVIEW + export ParaView_MAJOR=detect + + #export ParaView_GL=system +@@ -109,7 +91,8 @@ + export ParaView_VERSION ParaView_MAJOR + + # Set the binary and source directories +-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++# export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++export ParaView_DIR=$EBROOTPARAVIEW + paraviewSrcDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION + + # Set paths if binaries or source are present +@@ -129,8 +112,6 @@ + fi + export ParaView_LIB_DIR=$ParaView_DIR/lib$paraviewArch$paraviewLibSubDir + +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH + export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR + + if [ "$FOAM_VERBOSE" -a "$PS1" ] +@@ -142,18 +123,6 @@ + echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH" + fi + +- # Add in python libraries if required +- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- if [ -r $paraviewPython ] +- then +- if [ "$PYTHONPATH" ] +- then +- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR +- else +- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR +- fi +- fi +- + # Alias paraview to launch with mesa if necessary + if [ "$ParaView_GL" = mesa ] + then +diff -ru OpenFOAM-10-version-10/etc/config.sh/scotch OpenFOAM-10/etc/config.sh/scotch +--- OpenFOAM-10-version-10/etc/config.sh/scotch 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/scotch 2022-09-19 11:34:37.942703121 +0200 +@@ -37,7 +37,7 @@ + # + #------------------------------------------------------------------------------ + +-export SCOTCH_VERSION=scotch_6.0.9 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-10-version-10/etc/config.sh/settings OpenFOAM-10/etc/config.sh/settings +--- OpenFOAM-10-version-10/etc/config.sh/settings 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/etc/config.sh/settings 2022-09-19 11:34:37.943703108 +0200 +@@ -61,11 +61,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/Make/options 2022-09-19 11:34:37.945703082 +0200 +@@ -4,14 +4,7 @@ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ + -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +- -L$(SCOTCH_ARCH_PATH)/lib \ +- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ +- -lptscotch \ +- -lptscotcherrexit \ +- -lscotch \ +- -lrt ++ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +--- OpenFOAM-10-version-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2022-09-19 11:34:37.947703057 +0200 +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include ++ + extern "C" + { + #include +- #include + #include "ptscotch.h" + } + +diff -ru OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options +--- OpenFOAM-10-version-10/src/parallel/decompose/scotchDecomp/Make/options 2022-07-11 13:18:29.000000000 +0200 ++++ OpenFOAM-10/src/parallel/decompose/scotchDecomp/Make/options 2022-09-19 11:34:37.948703044 +0200 +@@ -6,7 +6,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb new file mode 100644 index 00000000000..e4abfa2f3e2 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2022a.eb @@ -0,0 +1,37 @@ +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': '2022a'} +toolchainopts = {'vectorize': False} + +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.23.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('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-11-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb new file mode 100644 index 00000000000..c2cabe755a3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-11-foss-2023a.eb @@ -0,0 +1,37 @@ +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'} +toolchainopts = {'vectorize': False} + +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-12-ThirdParty.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-12-ThirdParty.patch new file mode 100644 index 00000000000..e8a0b33adf7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-12-ThirdParty.patch @@ -0,0 +1,397 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Aligned hunks by Leon Kos and updated by Simon Branford (University of Birmingham). +# Based on patch for OpenFOAM 5.0 and 4.1 by Kenneth Hoste (HPC-UGent) and Ward Poelmans + +diff -ru OpenFOAM-12-version-12/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-12/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-12-version-12/applications/utilities/postProcessing/graphics/PVReaders/Allwmake ++++ OpenFOAM-12/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +@@ -11,8 +11,8 @@ + fi + + # Ensure CMake gets the correct C/C++ compilers +-[ -n "$WM_CC" ] && export CC="$WM_CC" +-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++#[ -n "$WM_CC" ] && export CC="$WM_CC" ++#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-12-version-12/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-12/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +--- OpenFOAM-12-version-12/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt ++++ OpenFOAM-12/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +@@ -2,6 +2,8 @@ + + PROJECT(PVReaders) + ++FIND_PACKAGE(MPI REQUIRED) ++ + FIND_PACKAGE(ParaView REQUIRED) + + INCLUDE(GNUInstallDirs) +diff -ru OpenFOAM-12-version-12/etc/bashrc OpenFOAM-12/etc/bashrc +--- OpenFOAM-12-version-12/etc/bashrc ++++ OpenFOAM-12/etc/bashrc +@@ -43,12 +43,13 @@ + # + [ "$BASH" ] && bashrcFile=${BASH_SOURCE} + [ "$ZSH_NAME" ] && bashrcFile=$0 +-if [ -n "$bashrcFile" ] +-then +- export FOAM_INST_DIR=$(cd $(dirname $bashrcFile)/../.. && pwd -P) +-else +- export FOAM_INST_DIR=$HOME/$WM_PROJECT +-fi ++#if [ -n "$bashrcFile" ] ++#then ++# export FOAM_INST_DIR=$(cd $(dirname $bashrcFile)/../.. && pwd -P) ++#else ++# export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#fi ++# For Easybuild: set by the module + unset bashrcFile + # + # Please set to the appropriate path if the above default is not correct. E.g., +diff -ru OpenFOAM-12-version-12/etc/config.sh/gperftools OpenFOAM-12/etc/config.sh/gperftools +--- OpenFOAM-12-version-12/etc/config.sh/gperftools ++++ OpenFOAM-12/etc/config.sh/gperftools +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-12-version-12/etc/config.sh/metis OpenFOAM-12/etc/config.sh/metis +--- OpenFOAM-12-version-12/etc/config.sh/metis ++++ OpenFOAM-12/etc/config.sh/metis +@@ -37,32 +37,8 @@ + # Load functions + . $WM_PROJECT_DIR/etc/config.sh/functions + +-# Find the path to the metis installation +-case "$METIS_TYPE" in +-none) +- ;; +-system) +- export METIS_VERSION=system +- export METIS_ARCH_PATH=/usr +- ;; +-OpenFOAM | ThirdParty) +- # Look for the source directory +- if [ -z "$METIS_VERSION" ] +- then +- metisSrcDir=$(_foamMostRecentDir "$WM_THIRD_PARTY_DIR"/metis-*) +- else +- metisSrcDir=$WM_THIRD_PARTY_DIR/metis-$METIS_VERSION +- fi +- # Set the version and the installation path +- if [ -d "$metisSrcDir" ] +- then +- export METIS_VERSION=${metisSrcDir##*metis-} +- export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/metis-$METIS_VERSION +- fi +- # Clean up +- unset metisSrcDir +- ;; +-esac ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + # Unload functions + . $WM_PROJECT_DIR/etc/config.sh/functions +diff -ru OpenFOAM-12-version-12/etc/config.sh/mpi OpenFOAM-12/etc/config.sh/mpi +--- OpenFOAM-12-version-12/etc/config.sh/mpi ++++ OpenFOAM-12/etc/config.sh/mpi +@@ -254,6 +254,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib/release + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-12-version-12/etc/config.sh/paraview OpenFOAM-12/etc/config.sh/paraview +--- OpenFOAM-12-version-12/etc/config.sh/paraview ++++ OpenFOAM-12/etc/config.sh/paraview +@@ -38,117 +38,13 @@ + ) \ + && PATH="$cleaned" + +-# Detect the most recent version of cmake available and add to the PATH +-cmakeDir=$(_foamMostRecentDir "$WM_THIRD_PARTY_DIR"/platforms/$WM_ARCH$WM_COMPILER/cmake-*) +-if [ -n "$cmakeDir" ] +-then +- export PATH=$cmakeDir/bin:$PATH +-fi +-unset cmakeDir +- +-# Set up the paraview environment +-case "$ParaView_TYPE" in +-none) +- ;; +- +-system) +- +- # Look for a paraview installation +- if pvserverExe=$(which pvserver 2> /dev/null) +- then +- paraviewBinDir=$(dirname $pvserverExe) +- paraviewBinDir=$(cd $paraviewBinDir && pwd -P) +- fi +- +- # Set the environment +- if [ -d "$paraviewBinDir" ] +- then +- export ParaView_DIR=$(dirname $paraviewBinDir) +- export ParaView_LIB_DIR=$(unset LD_LIBRARY_PATH && \ +- ldd $paraviewBinDir/paraview | \ +- grep -o "/.*/libpqCore-pv.*.so" | \ +- xargs dirname) +- export ParaView_VERSION=$(unset LD_LIBRARY_PATH && \ +- pvserver --version 2> /dev/null | \ +- awk '{print $NF}') +- export ParaView_MAJOR=${ParaView_VERSION%.*} +- export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-$ParaView_MAJOR +- export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR +- +- # Add to the library path +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$PV_PLUGIN_PATH:$LD_LIBRARY_PATH +- fi +- +- unset pvserverExe paraviewBinDir +- ;; +- +-paraviewopenfoam) +- +- # Look for a paraview installation. The version should be set externally. +- if [ -n "$ParaView_VERSION" ] +- then +- export ParaView_MAJOR=${ParaView_VERSION%.*} +- paraviewDir=/opt/paraviewopenfoam$(echo "$ParaView_MAJOR" | tr -d '.') +- fi +- +- # Set the environment +- if [ -d "$paraviewDir" ] +- then +- export ParaView_DIR=$paraviewDir +- export ParaView_LIB_DIR=$(echo "$ParaView_DIR"/lib* | tr ' ' ':') +- export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-$ParaView_MAJOR +- export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR +- +- # Add to the path and the library path +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$PV_PLUGIN_PATH:$LD_LIBRARY_PATH +- fi +- +- unset paraviewDir +- ;; +- +-OpenFOAM | ThirdParty) +- +- # Look for a paraview installation +- if [ -z "$ParaView_VERSION" ] +- then +- paraviewDir=$(_foamMostRecentDir "$WM_THIRD_PARTY_DIR"/platforms/$WM_ARCH$WM_COMPILER/ParaView-*) +- else +- paraviewDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION +- fi +- +- # Set the environment +- if [ -d "$paraviewDir" ] +- then +- export ParaView_DIR=$paraviewDir +- export ParaView_LIB_DIR=$(echo "$ParaView_DIR"/lib* | tr ' ' ':') +- export ParaView_VERSION=${paraviewDir##*ParaView-} +- export ParaView_MAJOR=${ParaView_VERSION%.*} +- export ParaView_INCLUDE_DIR=$paraviewDir/include/paraview-$ParaView_MAJOR +- export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR +- +- # Add to the path and the library path +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$PV_PLUGIN_PATH:$LD_LIBRARY_PATH +- +- # Add in python libraries if required +- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- if [ -r "$paraviewPython" ] +- then +- if [ "$PYTHONPATH" ] +- then +- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR +- else +- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR +- fi +- fi +- unset paraviewPython +- fi +- +- unset paraviewDir +- ;; +- +-esac ++export ParaView_VERSION=$EBVERSIONPARAVIEW ++export ParaView_MAJOR=${ParaView_VERSION%.*} ++export ParaView_DIR=$EBROOTPARAVIEW ++export ParaView_LIB_DIR=$ParaView_DIR/lib ++export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-$ParaView_MAJOR ++export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR ++export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$PV_PLUGIN_PATH:$LD_LIBRARY_PATH + + # Report + if [ "$FOAM_VERBOSE" ] && [ "$PS1" ] && [ -d "$ParaView_DIR" ] +diff -ru OpenFOAM-12-version-12/etc/config.sh/scotch OpenFOAM-12/etc/config.sh/scotch +--- OpenFOAM-12-version-12/etc/config.sh/scotch ++++ OpenFOAM-12/etc/config.sh/scotch +@@ -37,32 +37,8 @@ + # Load functions + . $WM_PROJECT_DIR/etc/config.sh/functions + +-# Find the path to the scotch installation +-case "$SCOTCH_TYPE" in +-none) +- ;; +-system) +- export SCOTCH_VERSION=system +- export SCOTCH_ARCH_PATH=/usr +- ;; +-OpenFOAM | ThirdParty) +- # Look for the source directory +- if [ -z "$SCOTCH_VERSION" ] +- then +- scotchSrcDir=$(_foamMostRecentDir "$WM_THIRD_PARTY_DIR"/scotch_*) +- else +- scotchSrcDir=$WM_THIRD_PARTY_DIR/scotch_$SCOTCH_VERSION +- fi +- # Set the version and the installation path +- if [ -d "$scotchSrcDir" ] +- then +- export SCOTCH_VERSION=${scotchSrcDir##*scotch_} +- export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/scotch_$SCOTCH_VERSION +- fi +- # Clean up +- unset scotchSrcDir +- ;; +-esac ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + # Unload functions + . $WM_PROJECT_DIR/etc/config.sh/functions +diff -ru OpenFOAM-12-version-12/etc/config.sh/zoltan OpenFOAM-12/etc/config.sh/zoltan +--- OpenFOAM-12-version-12/etc/config.sh/zoltan ++++ OpenFOAM-12/etc/config.sh/zoltan +@@ -37,32 +37,8 @@ + # Load functions + . $WM_PROJECT_DIR/etc/config.sh/functions + +-# Find the path to the zoltan installation +-case "$ZOLTAN_TYPE" in +-none) +- ;; +-system) +- export ZOLTAN_VERSION=system +- export ZOLTAN_ARCH_PATH=/usr +- ;; +-OpenFOAM | ThirdParty) +- # Look for the source directory +- if [ -z "$ZOLTAN_VERSION" ] +- then +- zoltanSrcDir=$(_foamMostRecentDir "$WM_THIRD_PARTY_DIR"/Zoltan-*) +- else +- zoltanSrcDir=$WM_THIRD_PARTY_DIR/Zoltan-$ZOLTAN_VERSION +- fi +- # Set the version and the installation path +- if [ -d "$zoltanSrcDir" ] +- then +- export ZOLTAN_VERSION=${zoltanSrcDir##*Zoltan-} +- export ZOLTAN_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/Zoltan-$ZOLTAN_VERSION +- fi +- # Clean up +- unset zoltanSrcDir +- ;; +-esac ++export ZOLTAN_VERSION=Zoltan-$EBVERSIONZOLTAN ++export ZOLTAN_ARCH_PATH=$EBROOTZOLTAN + + # Unload functions + . $WM_PROJECT_DIR/etc/config.sh/functions +diff -ru OpenFOAM-12-version-12/etc/config.sh/settings OpenFOAM-12/etc/config.sh/settings +--- OpenFOAM-12-version-12/etc/config.sh/settings ++++ OpenFOAM-12/etc/config.sh/settings +@@ -63,11 +63,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-12-version-12/src/parallel/decompose/ptscotch/Make/options OpenFOAM-12/src/parallel/decompose/ptscotch/Make/options +--- OpenFOAM-12-version-12/src/parallel/decompose/ptscotch/Make/options ++++ OpenFOAM-12/src/parallel/decompose/ptscotch/Make/options +@@ -6,15 +6,7 @@ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ + -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I$(or $(PTSCOTCH_INCLUDE_DIR),/usr/include/scotch) \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +- -L$(SCOTCH_ARCH_PATH)/lib \ +- $(if $(PTSCOTCH_LIB_DIR),-L$(PTSCOTCH_LIB_DIR)) \ +- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ +- -lptscotch \ +- -lptscotcherrexit \ +- -lscotch \ +- -lrt ++ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt +diff -ru OpenFOAM-12-version-12/src/parallel/decompose/ptscotch/ptscotch.C OpenFOAM-12/src/parallel/decompose/ptscotch/ptscotch.C +--- OpenFOAM-12-version-12/src/parallel/decompose/ptscotch/ptscotch.C ++++ OpenFOAM-12/src/parallel/decompose/ptscotch/ptscotch.C +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include ++#include ++ + extern "C" + { + #include +- #include +- #include "ptscotch.h" + } + +diff -ru OpenFOAM-12-version-12/src/parallel/decompose/scotch/Make/options OpenFOAM-12/src/parallel/decompose/scotch/Make/options +--- OpenFOAM-12-version-12/src/parallel/decompose/scotch/Make/options ++++ OpenFOAM-12/src/parallel/decompose/scotch/Make/options +@@ -6,7 +6,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I$(or $(SCOTCH_INCLUDE_DIR),/usr/include/scotch) \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-12-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-12-foss-2023a.eb new file mode 100644 index 00000000000..ed565315859 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-12-foss-2023a.eb @@ -0,0 +1,38 @@ +name = 'OpenFOAM' +version = '12' + +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'} +toolchainopts = {'vectorize': False} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-12-ThirdParty.patch'] +checksums = [ + {'version-12.tar.gz': 'e59fad54c62e64f1bb89dbaebe5f99a76dc0a6a91d9aad86042a7c4cef6d0744'}, + {'OpenFOAM-12-ThirdParty.patch': 'b8a9abf3b8479d32d87654d833501f54abe57ceb9f06f7d2412a3e52d20108ec'}, +] + +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'), + ('Zoltan', '3.901'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-5.0-20180606-foss-2019b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-5.0-20180606-foss-2019b.eb new file mode 100644 index 00000000000..a3cc726e3ad --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-5.0-20180606-foss-2019b.eb @@ -0,0 +1,46 @@ +name = 'OpenFOAM' +# bugfix release of OpenFOAM 5.0, see also https://openfoam.org/news/v5-0-patch/ +# https://github.com/OpenFOAM/OpenFOAM-5.x/commit/7f7d351b741bf6406366a043cac98de56d2d44dd +version = '5.0-20180606' +local_commit = '7f7d351' + +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': '2019b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s.x/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + 'OpenFOAM-5.0-20180108_cleanup.patch', + 'OpenFOAM-5.0-20180108_fix-decomposedBlockData.patch', +] +checksums = [ + '6644cfb3abd230c041232acf32f230be3c6f2f5171a77a1e1e38c0614947b38f', # OpenFOAM-5.0-20180606.tar.gz + 'f5768f5dbc422fc2f4183fd288dc6afb2370115384f3e8b9b0e155c943868989', # OpenFOAM-5.0-20180108_cleanup.patch + # OpenFOAM-5.0-20180108_fix-decomposedBlockData.patch + '62c1585a43503c7550355ec6417fbfd28c22e750f559eaf72785d2bb630a4005', +] + +dependencies = [ + ('libreadline', '8.0'), + ('ncurses', '6.1'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.0.9'), + ('CGAL', '4.14.1', '-Python-2.7.16'), + ('ParaView', '5.4.1', '-Python-2.7.16-mpi'), + ('gnuplot', '5.2.8'), +] + +builddependencies = [ + ('Bison', '3.3.2'), + ('CMake', '3.15.3'), + ('flex', '2.6.4'), +] + +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-8-foss-2020b-20210316.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b-20210316.eb new file mode 100644 index 00000000000..4d4dd885450 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-8-foss-2020b-20210316.eb @@ -0,0 +1,45 @@ +name = 'OpenFOAM' +local_commit = '1c9b587' +version = '8' +versionsuffix = '-20210316' + +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': '2020b'} +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-%(version)s-cleanup.patch', +] +checksums = [ + '2fef19014b408e4ea42062d5bf204419af086cbfa56a21a96676007f926b48f2', # OpenFOAM-8-20210316.tar.gz + 'e3fac8049611ee109f07eb5b0ed4b1526782a21b3f12435e03529d56c8483b9f', # OpenFOAM-8-cleanup.patch +] + +dependencies = [ + ('libreadline', '8.0'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '5.2'), + ('ParaView', '5.8.1', '-mpi'), + ('gnuplot', '5.4.1'), +] + +builddependencies = [ + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), + ('flex', '2.6.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-cleanup.patch new file mode 100644 index 00000000000..b55c71bab04 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-cleanup.patch @@ -0,0 +1,301 @@ +# This patch removes all need for the ThirdParty files of OpenFOAM: +# we use EB dependencies for everything. It adjusts the paths, variables, etc +# We also let the install dir, compiler, etc be set by EB. +# Lastly, we also fix a small compile issue in 'ptscotchDecomp.C' +# by Jiri Furst , based on patch for OpenFOAM 5.0 and 4.1 by +# Kenneth Hoste (HPC-UGent) and Ward Poelmans +diff -ru OpenFOAM-9.orig/applications/utilities/mesh/manipulation/setSet/Allwmake OpenFOAM-9/applications/utilities/mesh/manipulation/setSet/Allwmake +--- OpenFOAM-9.orig/applications/utilities/mesh/manipulation/setSet/Allwmake 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/applications/utilities/mesh/manipulation/setSet/Allwmake 2021-08-17 15:25:23.776492000 +0200 +@@ -7,19 +7,12 @@ + unset COMP_FLAGS LINK_FLAGS + + # Use readline if available +-if [ -f /usr/include/readline/readline.h ] ++if [ -f $EBROOTLIBREADLINE/include/readline/readline.h ] + then + echo " found -- enabling readline support." + export COMP_FLAGS="-DHAS_READLINE" + +- # readline may require ncurses +- if [ -f /usr/include/ncurses/ncurses.h ] +- then +- echo " found -- maybe required by readline." +- export LINK_FLAGS="-lreadline -lncurses" +- else +- export LINK_FLAGS="-lreadline" +- fi ++ export LINK_FLAGS="-L$EBROOTLIBREADLINE/lib -lreadline -L$EBROOTNCURSES -lncurses" + fi + + wmake $targetType +diff -ru OpenFOAM-9.orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake OpenFOAM-9/applications/utilities/postProcessing/graphics/PVReaders/Allwmake +--- OpenFOAM-9.orig/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/applications/utilities/postProcessing/graphics/PVReaders/Allwmake 2021-08-17 15:25:23.778422000 +0200 +@@ -17,8 +17,8 @@ + fi + + # Ensure CMake gets the correct C/C++ compilers +-[ -n "$WM_CC" ] && export CC="$WM_CC" +-[ -n "$WM_CXX" ] && export CXX="$WM_CXX" ++#[ -n "$WM_CC" ] && export CC="$WM_CC" ++#[ -n "$WM_CXX" ] && export CXX="$WM_CXX" + + wmake $targetType vtkPVblockMesh + wmake $targetType vtkPVFoam +diff -ru OpenFOAM-9.orig/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt OpenFOAM-9/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt +--- OpenFOAM-9.orig/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/applications/utilities/postProcessing/graphics/PVReaders/CMakeLists.txt 2021-08-17 15:25:23.779287000 +0200 +@@ -2,6 +2,8 @@ + + PROJECT(PVReaders) + ++FIND_PACKAGE(MPI REQUIRED) ++ + FIND_PACKAGE(ParaView REQUIRED) + + INCLUDE(GNUInstallDirs) +diff -ru OpenFOAM-9.orig/etc/bashrc OpenFOAM-9/etc/bashrc +--- OpenFOAM-9.orig/etc/bashrc 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/bashrc 2021-08-17 15:25:23.781332000 +0200 +@@ -43,8 +43,9 @@ + # Please set to the appropriate path if the default is not correct. + # + [ "$BASH" -o "$ZSH_NAME" ] && \ +-export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ +-export FOAM_INST_DIR=$HOME/$WM_PROJECT ++#export FOAM_INST_DIR=$(cd $(dirname ${BASH_SOURCE:-$0})/../.. && pwd -P) || \ ++#export FOAM_INST_DIR=$HOME/$WM_PROJECT ++# For Easybuild: set by the module + # export FOAM_INST_DIR=~$WM_PROJECT + # export FOAM_INST_DIR=/opt/$WM_PROJECT + # export FOAM_INST_DIR=/usr/local/$WM_PROJECT +diff -ru OpenFOAM-9.orig/etc/config.sh/CGAL OpenFOAM-9/etc/config.sh/CGAL +--- OpenFOAM-9.orig/etc/config.sh/CGAL 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/CGAL 2021-08-17 15:25:23.783035000 +0200 +@@ -39,22 +39,7 @@ + # + #------------------------------------------------------------------------------ + +-boost_version=boost-system +-#boost_version=boost-1.55.0 +-#boost_version=boost-1.72.0 +- +-cgal_version=cgal-system +-#cgal_version=CGAL-4.10 +-#cgal_version=CGAL-5.0.2 +- +-if [ "$boost_version" != "boost-system" ] +-then +- export BOOST_ARCH_PATH=$WM_THIRD_PARTY_DIR/$boost_version +-fi +- +-if [ "$cgal_version" != "cgal-system" ] +-then +- export CGAL_ARCH_PATH=$WM_THIRD_PARTY_DIR/$cgal_version +-fi ++export CGAL_ARCH_PATH=$EBROOTCGAL ++export BOOST_ARCH_PATH=$EBROOTBOOST + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-9.orig/etc/config.sh/gperftools OpenFOAM-9/etc/config.sh/gperftools +--- OpenFOAM-9.orig/etc/config.sh/gperftools 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/gperftools 2021-08-17 15:25:23.783947000 +0200 +@@ -29,13 +29,7 @@ + # + #------------------------------------------------------------------------------ + +-version=svn +-gperftools_install=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER +- +-GPERFTOOLS_VERSION=gperftools-$version +-GPERFTOOLS_ARCH_PATH=$gperftools_install/$GPERFTOOLS_VERSION +- +-export PATH=$GPERFTOOLS_ARCH_PATH/bin:$PATH +-export LD_LIBRARY_PATH=$GPERFTOOLS_ARCH_PATH/lib:$LD_LIBRARY_PATH ++GPERFTOOLS_VERSION=gperftools-$EBVERSIONGPERFTOOLS ++GPERFTOOLS_ARCH_PATH=$EBROOTGPERFTOOLS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-9.orig/etc/config.sh/metis OpenFOAM-9/etc/config.sh/metis +--- OpenFOAM-9.orig/etc/config.sh/metis 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/metis 2021-08-17 15:25:23.784897000 +0200 +@@ -34,7 +34,7 @@ + # + #------------------------------------------------------------------------------ + +-export METIS_VERSION=metis-5.1.0 +-export METIS_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$METIS_VERSION ++export METIS_VERSION=metis-$EBVERSIONMETIS ++export METIS_ARCH_PATH=$EBROOTMETIS + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-9.orig/etc/config.sh/mpi OpenFOAM-9/etc/config.sh/mpi +--- OpenFOAM-9.orig/etc/config.sh/mpi 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/mpi 2021-08-17 15:25:23.786292744 +0200 +@@ -254,6 +254,9 @@ + _foamAddPath $MPI_ARCH_PATH/bin64 + _foamAddLib $MPI_ARCH_PATH/lib/release + ;; ++EASYBUILDMPI) ++ export FOAM_MPI=mpi ++ ;; + *) + export FOAM_MPI=dummy + ;; +diff -ru OpenFOAM-9.orig/etc/config.sh/paraview OpenFOAM-9/etc/config.sh/paraview +--- OpenFOAM-9.orig/etc/config.sh/paraview 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/paraview 2021-08-17 15:28:54.926163000 +0200 +@@ -41,25 +41,6 @@ + ) \ + && PATH="$cleaned" + +-# Determine the cmake to be used. Take the most recent. +-unset CMAKE_HOME CMAKE_ROOT +-for cmake in $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/cmake-* +-do +- if [ -d $cmake ] +- then +- if [ -z $CMAKE_HOME ] || \ +- $WM_PROJECT_DIR/bin/tools/foamVersionCompare $CMAKE_HOME lt $cmake +- then +- export CMAKE_HOME=$cmake +- export CMAKE_ROOT=$cmake +- fi +- fi +-done +-if [ -n $CMAKE_HOME ] +-then +- export PATH=$cmake/bin:$PATH +-fi +- + #- ParaView version, automatically determine major version + #export ParaView_VERSION=4.0.1 + #export ParaView_VERSION=4.1.0 +@@ -69,7 +50,8 @@ + #export ParaView_VERSION=5.0.1 + #export ParaView_VERSION=5.4.0 + #export ParaView_VERSION=5.5.0 +-export ParaView_VERSION=5.6.3 ++#export ParaView_VERSION=5.6.3 ++export ParaView_VERSION=$EBVERSIONPARAVIEW + export ParaView_MAJOR=detect + + #export ParaView_GL=system +@@ -109,7 +91,8 @@ + export ParaView_VERSION ParaView_MAJOR + + # Set the binary and source directories +-export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++# export ParaView_DIR=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/ParaView-$ParaView_VERSION ++export ParaView_DIR=$EBROOTPARAVIEW + paraviewSrcDir=$WM_THIRD_PARTY_DIR/ParaView-$ParaView_VERSION + + # Set paths if binaries or source are present +@@ -129,8 +112,6 @@ + fi + export ParaView_LIB_DIR=$ParaView_DIR/lib$paraviewArch$paraviewLibSubDir + +- export PATH=$ParaView_DIR/bin:$PATH +- export LD_LIBRARY_PATH=$ParaView_LIB_DIR:$LD_LIBRARY_PATH + export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-$ParaView_MAJOR + + if [ "$FOAM_VERBOSE" -a "$PS1" ] +@@ -142,18 +123,6 @@ + echo " PV_PLUGIN_PATH : $PV_PLUGIN_PATH" + fi + +- # Add in python libraries if required +- paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping +- if [ -r $paraviewPython ] +- then +- if [ "$PYTHONPATH" ] +- then +- export PYTHONPATH=$PYTHONPATH:$paraviewPython:$ParaView_LIB_DIR +- else +- export PYTHONPATH=$paraviewPython:$ParaView_LIB_DIR +- fi +- fi +- + # Alias paraview to launch with mesa if necessary + if [ "$ParaView_GL" = mesa ] + then +diff -ru OpenFOAM-9.orig/etc/config.sh/scotch OpenFOAM-9/etc/config.sh/scotch +--- OpenFOAM-9.orig/etc/config.sh/scotch 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/scotch 2021-08-17 15:25:23.789570000 +0200 +@@ -37,7 +37,7 @@ + # + #------------------------------------------------------------------------------ + +-export SCOTCH_VERSION=scotch_6.0.9 +-export SCOTCH_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$SCOTCH_VERSION ++export SCOTCH_VERSION=scotch_$EBVERSIONSCOTCH ++export SCOTCH_ARCH_PATH=$EBROOTSCOTCH + + #------------------------------------------------------------------------------ +diff -ru OpenFOAM-9.orig/etc/config.sh/settings OpenFOAM-9/etc/config.sh/settings +--- OpenFOAM-9.orig/etc/config.sh/settings 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/etc/config.sh/settings 2021-08-17 15:25:23.790563432 +0200 +@@ -61,11 +61,11 @@ + 64) + WM_ARCH=linux64 + export WM_COMPILER_LIB_ARCH=64 +- export WM_CC='gcc' +- export WM_CXX='g++' +- export WM_CFLAGS='-m64 -fPIC' +- export WM_CXXFLAGS='-m64 -fPIC -std=c++0x' +- export WM_LDFLAGS='-m64' ++ export WM_CC=$CC ++ export WM_CXX=$CXX ++ export WM_CFLAGS=$CFLAGS ++ export WM_CXXFLAGS=$CXXFLAGS ++ export WM_LDFLAGS=$LDFLAGS + ;; + *) + echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\ +diff -ru OpenFOAM-9.orig/src/parallel/decompose/ptscotchDecomp/Make/options OpenFOAM-9/src/parallel/decompose/ptscotchDecomp/Make/options +--- OpenFOAM-9.orig/src/parallel/decompose/ptscotchDecomp/Make/options 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/src/parallel/decompose/ptscotchDecomp/Make/options 2021-08-17 15:25:23.793413000 +0200 +@@ -4,14 +4,7 @@ + $(PFLAGS) $(PINC) \ + -I$(FOAM_SRC)/Pstream/mpi/lnInclude \ + -I$(SCOTCH_ARCH_PATH)/include/$(FOAM_MPI) \ +- -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ +- -L$(SCOTCH_ARCH_PATH)/lib \ +- -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ +- -lptscotch \ +- -lptscotcherrexit \ +- -lscotch \ +- -lrt ++ -L$(SCOTCH_ARCH_PATH)/lib -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) -lptscotch -lptscotcherrexit -lscotch ${LINK_FLAGS} -lrt +diff -ru OpenFOAM-9.orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C OpenFOAM-9/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C +--- OpenFOAM-9.orig/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C 2021-08-17 15:25:23.794849806 +0200 +@@ -31,10 +31,11 @@ + #include "SubField.H" + #include "PstreamGlobals.H" + ++#include ++ + extern "C" + { + #include +- #include + #include "ptscotch.h" + } + +diff -ru OpenFOAM-9.orig/src/parallel/decompose/scotchDecomp/Make/options OpenFOAM-9/src/parallel/decompose/scotchDecomp/Make/options +--- OpenFOAM-9.orig/src/parallel/decompose/scotchDecomp/Make/options 2021-07-15 16:07:54.000000000 +0200 ++++ OpenFOAM-9/src/parallel/decompose/scotchDecomp/Make/options 2021-08-17 15:25:23.796687000 +0200 +@@ -6,7 +6,6 @@ + EXE_INC = \ + $(PFLAGS) $(PINC) \ + -I$(SCOTCH_ARCH_PATH)/include \ +- -I/usr/include/scotch \ + -I../decompositionMethods/lnInclude + + LIB_LIBS = \ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-foss-2021a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-foss-2021a.eb new file mode 100644 index 00000000000..3eef426331e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-foss-2021a.eb @@ -0,0 +1,37 @@ +name = 'OpenFOAM' +version = '9' + +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': '2021a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-cleanup.patch'] +checksums = [ + '0c48fb56e2fbb4dd534112811364d3b2dc12106e670a6486b361e4f864b435ee', # version-9.tar.gz + '4b638891f32badde1a5b1b364bc3bd5e0eda180b9d9a8afdf797d5818b8b494e', # OpenFOAM-9-cleanup.patch +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '4.14.3'), + ('ParaView', '5.9.1', '-mpi'), + ('gnuplot', '5.4.2'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb new file mode 100644 index 00000000000..bcf1776f980 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-9-intel-2021a.eb @@ -0,0 +1,37 @@ +name = 'OpenFOAM' +version = '9' + +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': 'intel', 'version': '2021a'} + +source_urls = ['https://github.com/OpenFOAM/OpenFOAM-%(version_major)s/archive'] +sources = ['version-%(version)s.tar.gz'] +patches = ['OpenFOAM-%(version)s-cleanup.patch'] +checksums = [ + '0c48fb56e2fbb4dd534112811364d3b2dc12106e670a6486b361e4f864b435ee', # version-9.tar.gz + '4b638891f32badde1a5b1b364bc3bd5e0eda180b9d9a8afdf797d5818b8b494e', # OpenFOAM-9-cleanup.patch +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '4.14.3'), + ('ParaView', '5.9.1', '-mpi'), + ('gnuplot', '5.4.2'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006-intel-2020a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006-intel-2020a.eb new file mode 100644 index 00000000000..0ca9926c885 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006-intel-2020a.eb @@ -0,0 +1,45 @@ +name = 'OpenFOAM' +version = 'v2006' + +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': 'intel', 'version': '2020a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://sourceforge.net/projects/openfoam/files/%(version)s/'] +sources = [SOURCE_TGZ] +patches = [ + 'OpenFOAM-%(version)s-cleanup.patch', + 'OpenFOAM-v1906-wmake-ompi.patch', + 'OpenFOAM-%(version)s_fix-setAlphaField-compilation.patch', +] +checksums = [ + '30c6376d6f403985fc2ab381d364522d1420dd58a42cb270d2ad86f8af227edc', # OpenFOAM-v2006.tgz + 'cb3c6d26569cf11d22941963acb9741238fe829f21b452506a51a71b5c42ae84', # OpenFOAM-v2006-cleanup.patch + '518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch + # OpenFOAM-v2006_fix-setAlphaField-compilation.patch + 'ce7ed531f75ca9ee404963736d8140df62d766bdfeeba469777f1bf44b5aa8bc', +] + +dependencies = [ + ('libreadline', '8.0'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.0.9'), + ('CGAL', '4.14.3', '-Python-3.8.2'), + ('ParaView', '5.8.0', '-Python-3.8.2-mpi'), + ('gnuplot', '5.2.8'), +] + +builddependencies = [ + ('Bison', '3.5.3'), + ('CMake', '3.16.4'), + ('flex', '2.6.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006_fix-setAlphaField-compilation.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006_fix-setAlphaField-compilation.patch new file mode 100644 index 00000000000..1a099c53c4e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2006_fix-setAlphaField-compilation.patch @@ -0,0 +1,81 @@ +fix compilation error for setAlphaField with intel/2020a +obtained via https://develop.openfoam.com/Development/openfoam/-/commit/719d3f77bea23bbdb9c530ee2dde09383f03bc71.patch + +From 719d3f77bea23bbdb9c530ee2dde09383f03bc71 Mon Sep 17 00:00:00 2001 +From: Mark Olesen +Date: Tue, 1 Sep 2020 09:32:13 +0200 +Subject: [PATCH] COMP: Intel compiler bug with inheriting constructors (fixes + #1821) + +- the compiler reports + + Internal error loop: assertion failed: + find_seq_in_lookup_table: seq_number not found + (shared/cfe/edgcpfe/il.c, line 4118) + + Seems to be the same as the bug report + https://community.intel.com/t5/Intel-C-Compiler/Internal-error-loop-assertion-failed-find-seq-in-lookup-table/td-p/1087603 + +This _should_ be fixed in icc 17.0 update 1, but appears to have +struck here as well. + +- workaround: explicitly construct member elements. +--- + .../cylinder/cylinderImplicitFunction.C | 13 ++++++------- + .../implicitFunctions/sin/sinImplicitFunction.C | 16 +++++++--------- + 2 files changed, 13 insertions(+), 16 deletions(-) + +diff --git a/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/cylinder/cylinderImplicitFunction.C b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/cylinder/cylinderImplicitFunction.C +index 909087e473..1c68b7fef2 100644 +--- a/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/cylinder/cylinderImplicitFunction.C ++++ b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/cylinder/cylinderImplicitFunction.C +@@ -69,13 +69,12 @@ Foam::implicitFunctions::cylinderImplicitFunction::cylinderImplicitFunction + const dictionary& dict + ) + : +- cylinderImplicitFunction +- ( +- dict.get("origin"), +- dict.get("radius"), +- dict.getOrDefault("scale", 1), +- dict.get("direction") +- ) ++ // __INTEL_COMPILER bug with inheriting constructors?? (issue #1821) ++ origin_(dict.get("origin")), ++ radius_(dict.get("radius")), ++ scale_(dict.getOrDefault("scale", 1)), ++ direction_(dict.get("direction").normalise()), ++ project_(tensor::I - direction_*direction_) // outer product + {} + + +diff --git a/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/sin/sinImplicitFunction.C b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/sin/sinImplicitFunction.C +index a193d2b663..4256baad94 100644 +--- a/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/sin/sinImplicitFunction.C ++++ b/applications/utilities/preProcessing/setAlphaField/alphaFieldFunctions/implicitFunctions/sin/sinImplicitFunction.C +@@ -72,15 +72,13 @@ Foam::implicitFunctions::sinImplicitFunction::sinImplicitFunction + const dictionary& dict + ) + : +- sinImplicitFunction +- ( +- dict.get("period"), +- dict.getOrDefault("phase", 0), +- dict.get("amplitude"), +- dict.get("direction"), +- dict.get("up"), +- dict.get("origin") +- ) ++ // __INTEL_COMPILER bug with inheriting constructors?? (issue #1821) ++ period_(dict.get("period")), ++ phase_(dict.getOrDefault("phase", 0)), ++ amplitude_(dict.get("amplitude")), ++ up_(dict.get("up").normalise()), ++ direction_(dict.get("direction").normalise()), ++ origin_(dict.get("origin")) + {} + + +-- +GitLab + diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2106-foss-2021a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2106-foss-2021a.eb new file mode 100644 index 00000000000..04918ceb50d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2106-foss-2021a.eb @@ -0,0 +1,45 @@ +## +# Author: Robert Mijakovic +## +name = 'OpenFOAM' +version = 'v2106' + +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': '2021a'} +toolchainopts = {'cstd': 'c++11'} + +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 = [ + '11e41e5b9a253ef592a8f6b79f6aded623b28308192d02cec1327078523b5a37', # OpenFOAM-v2106.tgz + 'cdd2597a1ac1448e9bd33a364a8dfe17f51cc9ab5a8e0ab67cf92bba3ed9da43', # OpenFOAM-v2012-cleanup.patch + '518e27683c5c41400cfbc17b31effa50b31b25916dccbf85b18b0b955f642505', # OpenFOAM-v1906-wmake-ompi.patch +] + +dependencies = [ + ('libreadline', '8.1'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '4.14.3'), + ('ParaView', '5.9.1', '-mpi'), + ('gnuplot', '5.4.2'), +] + +builddependencies = [ + ('Bison', '3.7.6'), + ('CMake', '3.20.1'), + ('flex', '2.6.4'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-cleanup.patch new file mode 100644 index 00000000000..df57e301a60 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-cleanup.patch @@ -0,0 +1,150 @@ +# 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 +# ------------------------------------------------------------------------- +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2112/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-v2112/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-v2112/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-v2112/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="$METIS_ROOT" ++ ++##Easybuild## +--- /dev/null 2020-12-14 09:05:45.272769166 +0100 ++++ OpenFOAM-v2112/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-v2112/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-v2112/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-v2112/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 ++ ++#------------------------------------------------------------------------------ diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2020b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2020b.eb new file mode 100644 index 00000000000..c39a721d0c6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2020b.eb @@ -0,0 +1,50 @@ +## +# Author: Robert Mijakovic +## +# Modified by: Ben Langenberg +## +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': '2020b'} +# 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-v2112-cleanup.patch', 1), + 'OpenFOAM-v2112-wmake-ompi.patch', +] +checksums = [ + '3e838731e79db1c288acc27aad8cc8a43d9dac1f24e5773e3b9fa91419a8c3f7', # OpenFOAM-v2112.tgz + 'e883f628cb393b3ab60317304d7085d0a6ba7b8992feb12c2fab20389af34f1c', # OpenFOAM-v2112-cleanup.patch + '8cc2d9feac07b564abb4a16614f142a7c1aceedc4ad6ee02836e7d4f654410cd', # OpenFOAM-v2112-wmake-ompi.patch +] + +builddependencies = [ + ('Bison', '3.7.1'), + ('CMake', '3.18.4'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.0'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('CGAL', '5.2'), + ('ParaView', '5.8.1', '-mpi'), + ('gnuplot', '5.4.1'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2021b.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2021b.eb new file mode 100644 index 00000000000..3f2bdc72802 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-foss-2021b.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': '2021b'} +# 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.7.6'), + ('CMake', '3.21.1'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('ncurses', '6.2'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.2'), + ('CGAL', '4.14.3'), + ('ParaView', '5.9.1', '-mpi'), + ('gnuplot', '5.4.2'), +] + +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-v2112-wmake-ompi.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-wmake-ompi.patch new file mode 100644 index 00000000000..c7cc5e4a42f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2112-wmake-ompi.patch @@ -0,0 +1,29 @@ +# - Corrected output of "wmake -show-c" and "wmake -show-c++" with OpenMPI in order to allow compilation of paraFoam +# +# author: Jiri Furst +--- OpenFOAM-v2112/wmake/makefiles/info.orig 2019-11-07 18:12:53.000000000 +0100 ++++ OpenFOAM-v2112/wmake/makefiles/info 2019-11-23 12:52:50.700688579 +0100 +@@ -73,19 +73,19 @@ + + .PHONY: c + c: +- @echo "$(firstword $(cc))" ++ @echo "$(lastword $(cc))" + + .PHONY: cxx + cxx: +- @echo "$(firstword $(CC))" ++ @echo "$(lastword $(CC))" + + .PHONY: cflags + cflags: +- @echo "$(wordlist 2,$(words $(COMPILE_C)), $(COMPILE_C))" ++ @echo "$(wordlist 3,$(words $(COMPILE_C)), $(COMPILE_C))" + + .PHONY: cxxflags + cxxflags: +- @echo "$(wordlist 2,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" ++ @echo "$(wordlist 3,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" + + .PHONY: cflags-arch + cflags-arch: diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch new file mode 100644 index 00000000000..ffc27639061 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-cleanup.patch @@ -0,0 +1,159 @@ +# 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 +# ------------------------------------------------------------------------- +--- /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="$METIS_ROOT" ++ ++##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 ++ ++#------------------------------------------------------------------------------ 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-v2206-foss-2022a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb new file mode 100644 index 00000000000..e15587e68ee --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2206-foss-2022a.eb @@ -0,0 +1,46 @@ +name = 'OpenFOAM' +version = 'v2206' + +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-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'), + # OpenFOAM requires 64 bit METIS using 32 bit indexes (array indexes) + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('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..4c442fa0060 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2212-wmake-OpenMPI.patch @@ -0,0 +1,42 @@ +# - Corrected output of "wmake -show-c" and "wmake -show-c++" with OpenMPI in +# order to allow compilation of paraFoam. This is required as we define the +# compiler as "OMPI_CC=gcc mpicc" when using OpenMPI +# (this patch should not be removed in future versions due to this definition) +# - Add mplibEASYBUILDMPI configuration for wmake (OpenMPI version) +# +# author: Jiri Furst +--- OpenFOAM-v2112/wmake/makefiles/info.orig 2019-11-07 18:12:53.000000000 +0100 ++++ OpenFOAM-v2112/wmake/makefiles/info 2019-11-23 12:52:50.700688579 +0100 +@@ -73,19 +73,19 @@ + + .PHONY: c + c: +- @echo "$(firstword $(cc))" ++ @echo "$(lastword $(cc))" + + .PHONY: cxx + cxx: +- @echo "$(firstword $(CC))" ++ @echo "$(lastword $(CC))" + + .PHONY: cflags + cflags: +- @echo "$(wordlist 2,$(words $(COMPILE_C)), $(COMPILE_C))" ++ @echo "$(wordlist 3,$(words $(COMPILE_C)), $(COMPILE_C))" + + .PHONY: cxxflags + cxxflags: +- @echo "$(wordlist 2,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" ++ @echo "$(wordlist 3,$(words $(COMPILE_CXX)), $(COMPILE_CXX))" + + .PHONY: cflags-arch + cflags-arch: +--- /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..02ee224e98b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2306-foss-2022b.eb @@ -0,0 +1,49 @@ +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': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, +] + +builddependencies = [ + ('Bison', '3.8.2'), + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('CGAL', '5.5.2'), # header only + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), +] + +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..b7f522ba479 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2312-foss-2023a.eb @@ -0,0 +1,48 @@ +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': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, +] + +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'), + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), + ('ParaView', '5.11.2'), + ('gnuplot', '5.4.8'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2406-cleanup.patch b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2406-cleanup.patch new file mode 100644 index 00000000000..ac5229788c5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2406-cleanup.patch @@ -0,0 +1,182 @@ +# 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 +# - v2406 - set MPFR_ARCH_PATH and GMP_ARCH_PATH to CGAL config +# 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,8 @@ ++##Easybuild## settings -*- sh -*- ++ ++export MPFR_ARCH_PATH="$EBROOTMPFR" ++export GMP_ARCH_PATH="$EBROOTGMP" ++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-v2406-foss-2023a.eb b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2406-foss-2023a.eb new file mode 100644 index 00000000000..0e2885c064f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFOAM/OpenFOAM-v2406-foss-2023a.eb @@ -0,0 +1,55 @@ +name = 'OpenFOAM' +version = 'v2406' + +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, + { + 'filename': '%(name)s-plugins-%(version)s.tgz', + 'extract_cmd': 'tar --strip-components=1 -C %(installdir)s/%(name)s-%(version)s/ -xzf %s' + } +] +patches = [ + ('OpenFOAM-v2406-cleanup.patch', 1), + ('OpenFOAM-v2212-wmake-OpenMPI.patch', 1), +] +checksums = [ + {'OpenFOAM-v2406.tgz': '8d1450fb89eec1e7cecc55c3bb7bc486ccbf63d069379d1d5d7518fa16a4686a'}, + {'OpenFOAM-plugins-v2406.tgz': '1d008f86fad06a4a568d194c6e3d5ab52be2b20c83a3b9b1b0230e2de2d0558b'}, + {'OpenFOAM-v2406-cleanup.patch': '3abff48a517fb63719ad57fa32af746bc379a1e80c72d3e5852aa17cd13cf03e'}, + {'OpenFOAM-v2212-wmake-OpenMPI.patch': '241dc4898c22aab0cbd10c1ea931a07a786508ee03462d45dbc1c202fee3ebe8'}, +] + +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'), + ('GMP', '6.2.1'), + ('MPFR', '4.2.0'), + ('ParaView', '5.11.2'), + ('gnuplot', '5.4.8'), +] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..10c57638036 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'OpenFace' +version = '2.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/TadasBaltrusaitis/OpenFace' +description = """OpenFace – a state-of-the art tool intended for facial landmark +detection, head pose estimation, facial action unit recognition, and eye-gaze +estimation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'TadasBaltrusaitis' +source_urls = [GITHUB_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = ['OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch'] +checksums = [ + '928e6346bcff41393393a364df99bf09c3410fab85b569f2023e3224d2a1981a', # OpenFace_2.2.0.tar.gz + 'de366e8af6ffe639b2bf411032e768ba926800389472bb57bb132744c36077b6', # OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('patchelf', '0.12') +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('OpenCV', '4.5.3', '-CUDA-%(cudaver)s-contrib'), + ('dlib', '19.22', '-CUDA-%(cudaver)s'), + ('SDL2', '2.0.14'), + ('Boost', '1.76.0'), +] + +# This is the only way I found to remove the banned OpenBLAS from libraries +# required by the OpenFace executables, as CMake stubbornly includes it there +preinstallopts = 'patchelf --remove-needed libopenblas.so.0 bin/FaceLandmarkVid' +preinstallopts += ' bin/FaceLandmarkVidMulti bin/FaceLandmarkImg bin/FeatureExtraction && ' + +sanity_check_paths = { + 'files': ['bin/FaceLandmarkVid', 'bin/FaceLandmarkImg', 'bin/FeatureExtraction'], + 'dirs': [], +} +sanity_check_commands = ['FeatureExtraction | grep OpenFace'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a.eb b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a.eb new file mode 100644 index 00000000000..c741d884cad --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMake' + +name = 'OpenFace' +version = '2.2.0' + +homepage = 'https://github.com/TadasBaltrusaitis/OpenFace' +description = """OpenFace – a state-of-the art tool intended for facial landmark +detection, head pose estimation, facial action unit recognition, and eye-gaze +estimation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'TadasBaltrusaitis' +source_urls = [GITHUB_SOURCE] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = ['OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch'] +checksums = [ + '928e6346bcff41393393a364df99bf09c3410fab85b569f2023e3224d2a1981a', # OpenFace_2.2.0.tar.gz + 'de366e8af6ffe639b2bf411032e768ba926800389472bb57bb132744c36077b6', # OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('patchelf', '0.12') +] +dependencies = [ + ('OpenCV', '4.5.3', '-contrib'), + ('dlib', '19.22'), + ('SDL2', '2.0.14'), + ('Boost', '1.76.0'), +] + +# This is the only way I found to remove the banned OpenBLAS from libraries +# required by the OpenFace executables, as CMake stubbornly includes it there +preinstallopts = 'patchelf --remove-needed libopenblas.so.0 bin/FaceLandmarkVid' +preinstallopts += ' bin/FaceLandmarkVidMulti bin/FaceLandmarkImg bin/FeatureExtraction && ' + +sanity_check_paths = { + 'files': ['bin/FaceLandmarkVid', 'bin/FaceLandmarkImg', 'bin/FeatureExtraction'], + 'dirs': [], +} +sanity_check_commands = ['FeatureExtraction | grep OpenFace'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch new file mode 100644 index 00000000000..f10fb9becfd --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFace/OpenFace-2.2.0_avoid-hardcoded-OpenBLAS.patch @@ -0,0 +1,38 @@ +replace hardcoding of OpenBLAS to allow use of other BLAS library like FlexiBLAS + +author: Jakub Zárybnický (Inuits) +--- OpenFace-OpenFace_2.2.0/CMakeLists.txt.orig 2021-12-18 14:00:40.813909912 +0100 ++++ OpenFace-OpenFace_2.2.0/CMakeLists.txt 2021-12-18 14:07:55.707025240 +0100 +@@ -11,22 +11,19 @@ + set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_CONFIG_DIR}") + add_definitions(-DCONFIG_DIR="${CONFIG_DIR}") + +-# make sure we'll use OpenBLAS only: there's a header file naming difference between different +-# implementations; so OpenFace wants OpenBLAS; +-find_package(OpenBLAS REQUIRED) +-if ( ${OpenBLAS_FOUND} ) +- MESSAGE("OpenBLAS information:") +- MESSAGE(" OpenBLAS_LIBRARIES: ${OpenBLAS_LIB}") +-else() +- MESSAGE(FATAL_ERROR "OpenBLAS not found in the system.") ++if ( DEFINED ENV{LIBBLAS} ) ++ SET(OpenBLAS_LIB "-L$ENV{BLAS_LIB_DIR} $ENV{LIBBLAS}") ++ MESSAGE("BLAS information:") ++ MESSAGE(" BLAS_LIBRARIES: ${OpenBLAS_LIB}") ++ else() ++ MESSAGE(FATAL_ERROR "BLAS not found in the system via \${LIBBLAS}.") + endif() + +-if ( ${OpenBLAS_INCLUDE_FOUND} ) +- MESSAGE(" OpenBLAS_INCLUDE: ${OpenBLAS_INCLUDE_DIR}") ++if ( DEFINED ENV{BLAS_INC_DIR} ) ++ SET(OpenBLAS_INCLUDE_DIR $ENV{BLAS_INC_DIR}) ++ MESSAGE(" BLAS_INCLUDE: ${OpenBLAS_INCLUDE_DIR}") + else() +- MESSAGE(WARNING "OpenBLAS include not found in the system. Using the one vended with OpenFace.") +- set(OpenBLAS_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/lib/3rdParty/OpenBLAS/include") +- MESSAGE(" OpenBLAS_INCLUDE: ${OpenBLAS_INCLUDE_DIR}") ++ MESSAGE(FATAL_ERROR "BLAS include dir not found in the system via \${BLAS_INC_DIR}.") + endif() + + find_package( OpenCV 4.0 REQUIRED COMPONENTS core imgproc calib3d highgui objdetect) diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..9eec3b5f807 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'OpenFold' +version = '1.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/aqlaboratory/openfold' +description = "A faithful PyTorch reproduction of DeepMind's AlphaFold 2" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # CMake is required to build ninja Python package (included as extension) + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('dm-tree', '0.1.6'), + ('einops', '0.4.1'), + ('colossalai', '0.1.8', versionsuffix), + ('scikit-build', '0.11.1'), + # OpenFold also requires the AlphaFold modification to OpenMM + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/scripts/install_third_party_dependencies.sh#L20-L24 + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/lib/openmm.patch + ('OpenMM', '7.5.1', '-DeepMind-patch'), +] + +use_pip = True + +exts_list = [ + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('hjson', '3.0.2', { + 'checksums': ['2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('triton', version, { + 'source_tmpl': '%(name)s-%(version)s-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['37b8d0eb36ed7631a6f9d01bd3183f900ae7dbd9e5e40112468a3568505671dc'], + }), + ('deepspeed', '0.5.9', { + 'checksums': ['7c43d151b51d346a430034e77764097c4af7637217c08503291c48c37ae7d090'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('dllogger', version, { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['abae2b2ac73b9e176fa87144bf6c2048ddd3dae8e7002d6d5a270bc7e4da6b4d'], + }), + (name, version, { + 'source_urls': ['https://github.com/aqlaboratory/openfold/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['543cb0d36a6118a60de4b4ec2f4a49ebcc965523e5b31e9ad03425de367384a7'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdbfixer'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pdbfixer --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..7f64d549550 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,129 @@ +easyblock = 'PythonBundle' + +name = 'OpenFold' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/aqlaboratory/openfold' +description = "A faithful PyTorch reproduction of DeepMind's AlphaFold 2" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + # CMake is required to build ninja Python package (included as extension) + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('Biopython', '1.79'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.1'), + ('UCX-CUDA', '1.10.0', versionsuffix), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('dm-tree', '0.1.6'), + ('einops', '0.4.1'), + ('colossalai', '0.1.8', versionsuffix), + ('scikit-build', '0.11.1'), + # OpenFold also requires the AlphaFold modification to OpenMM + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/scripts/install_third_party_dependencies.sh#L20-L24 + # https://github.com/aqlaboratory/openfold/blob/v1.0.0/lib/openmm.patch + ('OpenMM', '7.5.1', '-CUDA-%(cudaver)s-DeepMind-patch'), +] + +use_pip = True + +# flash_attn (FlashAttention) is optional, speeds up MSA attention for sequences with < 1000 residues +exts_list = [ + ('flash_attn', '0.2.8', { + 'checksums': ['b54fee86463cdb9933e8d47e500c52f3eaf283f1c8a9d96099e62acc7dc0be1f'], + }), + ('PDBFixer', '1.7', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a0bef3c52a7bbe69a6aea5333f51f3e7d158339be5829aed19b0344bd66d4eea'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('hjson', '3.0.2', { + 'checksums': ['2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('triton', '1.0.0', { + 'source_tmpl': '%(name)s-%(version)s-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['37b8d0eb36ed7631a6f9d01bd3183f900ae7dbd9e5e40112468a3568505671dc'], + }), + ('deepspeed', '0.5.9', { + 'checksums': ['7c43d151b51d346a430034e77764097c4af7637217c08503291c48c37ae7d090'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('dllogger', '1.0.0', { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['abae2b2ac73b9e176fa87144bf6c2048ddd3dae8e7002d6d5a270bc7e4da6b4d'], + }), + (name, version, { + 'source_urls': ['https://github.com/aqlaboratory/openfold/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['79eee0b90280eea5ec110511d95b42c62ea6e0098e4a78678738eb21b332bd99'], + }), +] + +local_resources_dir = '%(installdir)s/lib/python%(pyshortver)s/site-packages/openfold/resources/' +# local_resources_target_dir = '/databases/bio/%(namelower)s-%(version)s' + +local_scp_url = 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/' +local_scp_url += '7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt' + +postinstallcmds = [ + 'cp -a run_pretrained_openfold.py thread_sequence.py train_openfold.py %(installdir)s/bin', + 'cp -a scripts %(installdir)s/bin', + 'chmod -R a+x %(installdir)s/bin', + # download stereo_chemical_props.txt + copy it to openfold/resources directory, + # see also install_third_party_dependencies.sh script; + # we currently can't let EasyBuild download (and cache + checksum) this, + # because an extension can only have a single source file, and (Python)Bundle doesn't allow any "parent" downloads + "cd %%(builddir)s && curl -OL %s && cp -a stereo_chemical_props.txt %s" % (local_scp_url, local_resources_dir), + # manually download openfold parameters and alphafold parameters + # see scripts download_alphafold_params.sh + download_openfold_params.sh + # download to local_resources_target_dir and add symlinks in local_resources_dir + # or download directly into local_resources_dir + # 'ln -s %s/openfold_params %s' % (local_resources_target_dir, local_resources_dir), + # 'ln -s %s/params %s' % (local_resources_target_dir, local_resources_dir), +] + +fix_python_shebang_for = ['bin/*.py', '/bin/scripts/*.py'] + +modextrapaths = { + 'PATH': 'bin/scripts', +} + +sanity_check_paths = { + 'files': ['bin/pdbfixer', 'bin/run_pretrained_openfold.py', + 'lib/python%(pyshortver)s/site-packages/openfold/resources/stereo_chemical_props.txt'], + 'dirs': ['bin/scripts', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "run_pretrained_openfold.py --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..de82ae37dc5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenFold/OpenFold-1.0.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,123 @@ +easyblock = 'PythonBundle' + +name = 'OpenFold' +version = '1.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/aqlaboratory/openfold' +description = "A faithful PyTorch reproduction of DeepMind's AlphaFold 2" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), # required for ninja Python package + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('PyTorch-Lightning', '1.7.7', versionsuffix), + ('OpenMM', '7.7.0', versionsuffix), + ('Triton', '1.1.1', versionsuffix), + ('Biopython', '1.79'), + ('dm-tree', '0.1.8'), + ('HH-suite', '3.3.0'), + ('HMMER', '3.3.2'), + ('Kalign', '3.3.5'), + ('PyYAML', '6.0'), + ('scikit-build', '0.15.0'), + ('tqdm', '4.64.0'), + ('wandb', '0.13.4'), + ('einops', '0.4.1'), # required by flash_attn +] + +use_pip = True + +# flash_attn (FlashAttention) is optional, speeds up MSA attention for sequences with < 1000 residues +exts_list = [ + ('flash_attn', '0.2.8', { + 'checksums': ['b54fee86463cdb9933e8d47e500c52f3eaf283f1c8a9d96099e62acc7dc0be1f'], + }), + ('PDBFixer', '1.8.1', { + 'source_urls': ['https://github.com/openmm/pdbfixer/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d50551abfe9dbaefc066f4d9d400cdebe57f1fefd9de9d01e12beb87efd99595'], + }), + ('ninja', '1.10.2.3', { + 'checksums': ['e1b86ad50d4e681a7dbdff05fc23bb52cb773edb90bc428efba33fa027738408'], + }), + ('hjson', '3.0.2', { + 'checksums': ['2838fd7200e5839ea4516ece953f3a19892c41089f0d933ba3f68e596aacfcd5'], + }), + ('py-cpuinfo', '8.0.0', { + 'modulename': 'cpuinfo', + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + }), + ('deepspeed', '0.5.10', { + 'checksums': ['871623ee95b2655595195b99a59f1eb3cf2eeb395fb3418d824eb62a350f7b83'], + 'preinstallopts': "sed -i 's/^triton=.*$/triton/' requirements/requirements-sparse_attn.txt && ", + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.0', { + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + 'checksums': ['59a17fcd1c140153009788517f304caaddd7a94f06690f9f0ed09987beebcf3c'], + }), + ('dllogger', '1.0.0', { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['abae2b2ac73b9e176fa87144bf6c2048ddd3dae8e7002d6d5a270bc7e4da6b4d'], + }), + (name, version, { + 'source_urls': ['https://github.com/aqlaboratory/openfold/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['79eee0b90280eea5ec110511d95b42c62ea6e0098e4a78678738eb21b332bd99'], + }), +] + +local_resources_dir = '%(installdir)s/lib/python%(pyshortver)s/site-packages/openfold/resources/' +# local_resources_target_dir = '/databases/bio/%(namelower)s-%(version)s' + +local_scp_url = 'https://git.scicore.unibas.ch/schwede/openstructure/-/raw/' +local_scp_url += '7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt' + +postinstallcmds = [ + 'cp -a run_pretrained_openfold.py thread_sequence.py train_openfold.py %(installdir)s/bin', + 'cp -a scripts %(installdir)s/bin', + 'chmod -R a+x %(installdir)s/bin', + # download stereo_chemical_props.txt + copy it to openfold/resources directory, + # see also install_third_party_dependencies.sh script; + # we currently can't let EasyBuild download (and cache + checksum) this, + # because an extension can only have a single source file, and (Python)Bundle doesn't allow any "parent" downloads + "cd %%(builddir)s && curl -OL %s && cp -a stereo_chemical_props.txt %s" % (local_scp_url, local_resources_dir), + # manually download openfold parameters and alphafold parameters + # see scripts download_alphafold_params.sh + download_openfold_params.sh + # download to local_resources_target_dir and add symlinks in local_resources_dir + # or download directly into local_resources_dir + # 'ln -s %s/openfold_params %s' % (local_resources_target_dir, local_resources_dir), + # 'ln -s %s/params %s' % (local_resources_target_dir, local_resources_dir), +] + +fix_python_shebang_for = ['bin/*.py', '/bin/scripts/*.py'] + +modextrapaths = { + 'PATH': 'bin/scripts', +} + +sanity_check_paths = { + 'files': ['bin/pdbfixer', 'bin/run_pretrained_openfold.py', + 'lib/python%(pyshortver)s/site-packages/openfold/resources/stereo_chemical_props.txt'], + 'dirs': ['bin/scripts', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pdbfixer --help", + "run_pretrained_openfold.py --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenForceField-Toolkit/OpenForceField-Toolkit-0.16.0-foss-2023a.eb b/easybuild/easyconfigs/o/OpenForceField-Toolkit/OpenForceField-Toolkit-0.16.0-foss-2023a.eb new file mode 100644 index 00000000000..f323c61f065 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenForceField-Toolkit/OpenForceField-Toolkit-0.16.0-foss-2023a.eb @@ -0,0 +1,144 @@ +easyblock = 'PythonBundle' + +name = 'OpenForceField-Toolkit' +version = '0.16.0' + +homepage = 'https://github.com/openforcefield/openff-toolkit' +description = """The Open Force Field Toolkit provides implementations of the SMIRNOFF format, +parameterization engine, and other tools.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('networkx', '3.1'), + ('typing-extensions', '4.9.0'), + ('pydantic', '2.5.3'), + ('tqdm', '4.66.1'), + ('OpenMM', '8.0.0'), + ('PyYAML', '6.0'), + ('RDKit', '2024.03.3'), + ('MDTraj', '1.9.9'), + ('JupyterNotebook', '7.0.2'), + ('AmberTools', '23.6'), + ('Pint', '0.23'), + ('nglview', '3.1.2'), +] + +use_pip = True + +exts_list = [ + ('qcelemental', '0.26.0', { + 'checksums': ['a14e8510cdbfda645ef1461c1afd02efb599311733dbba5f83fcd1d6168a6ddd'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('apsw', '3.46.0.0', { + 'checksums': ['e128ccaab511f9a7fc48be6414f99a9197f83a69624d8ba40c1ca241bdef418e'], + }), + ('zstandard', '0.18.0', { + 'checksums': ['0ac0357a0d985b4ff31a854744040d7b5754385d1f98f7145c30e02c6865cb6f'], + }), + ('qcportal', '0.55', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['f6eb86d6ace4ae6a71bbd8e2ee054305aff2c1da0198a3741b0d589c572a31b3'], + }), + ('cached-property', '1.5.2', { + 'checksums': ['9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('python-constraint', '1.4.0', { + 'modulename': 'constraint', + 'source_tmpl': '%(name)s-%(version)s.tar.bz2', + 'checksums': ['501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e'], + }), + ('bson', '0.5.10', { + 'checksums': ['d6511b2ab051139a9123c184de1a04227262173ad593429d21e443d6462d6590'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('intermol', '0.1.2', { + 'source_urls': ['https://github.com/shirtsgroup/InterMol/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a3065133ba16585a5db3807466a36242d191156525c33079cf46a97cedcfe835'], + }), + ('SMIRNOFF99Frosst', '1.1.0', { + 'source_urls': ['https://github.com/openforcefield/smirnoff99Frosst/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['940c4ed3cd720e746549a3335f10b7b0d9047a67bc216ad45dd875be5c8ec467'], + }), + ('SMIRNOFF-Plugins', '2024.01.0', { + 'source_urls': ['https://github.com/openforcefield/smirnoff-plugins/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8ba4dbc6ed320f06f30bf42e8f70399bc3818becd668990693b51ddca183ff74'], + }), + ('OpenForceField-ForceFields', '2024.04.0', { + 'modulename': 'openforcefields', + 'source_urls': ['https://github.com/openforcefield/openff-forcefields/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['fc7094cdb74bf9f0ed665dfc716cc62c5a37def3fc7e852adeae0ae4b60169c7'], + }), + ('OpenForceField-Amber-FF-Ports', '0.0.4', { + 'modulename': 'openff.amber_ff_ports', + 'source_urls': ['https://github.com/openforcefield/openff-amber-ff-ports/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['dbf2d1ccce06b0627b1eccae7e227ad800ff1cbac3e869344de265b178cc0207'], + }), + ('OpenForceField-Utilities', '0.1.12', { + 'modulename': 'openff.utilities', + 'source_urls': ['https://github.com/openforcefield/openff-utilities/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['92882c5b87b40bdb4ee1e8c84c0ecc0fc83f26eaf3e3befde41bfdcf93d75dea'], + }), + ('OpenForceField-Units', '0.2.2', { + 'modulename': 'openff.units', + 'source_urls': ['https://github.com/openforcefield/openff-units/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['532746534c1937938580d5cfe98f414aff9bfbcc66970e115a88a38f6d5a2581'], + }), + ('OpenForceField-NAGL-Models', '0.2.0', { + 'modulename': 'openff.nagl_models', + 'source_urls': ['https://github.com/openforcefield/openff-nagl-models/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['5ccc55d7f0fcd24577796fd8b2bfd85b035ee8060e441c1f7dfc6f1949b9dee5'], + }), + ('OpenForceField-Models', '0.1.2', { + 'modulename': 'openff.models', + 'source_urls': ['https://github.com/openforcefield/openff-models/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['cf2aa7ef467721f141149e4ce96134db390b27012f09996c4442a3fad2371653'], + }), + ('OpenForceField-Interchange', '0.3.27', { + 'modulename': 'openff.interchange', + 'source_urls': ['https://github.com/openforcefield/openff-interchange/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6b44ba8a89921b3843a5f9fc41dc4f8a0c784ba12221e3ea0fb8c1b01a10cf2e'], + }), + (name, version, { + 'modulename': 'openff.toolkit', + 'source_urls': ['https://github.com/openforcefield/openff-toolkit/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['70a81e914e86efd933819a5db05fc4400dcd23e12ad29398fdad46f2765b5634'], + }), +] + +sanity_check_commands = [ + "python -c 'from openff.toolkit import Molecule, Topology, ForceField'", + "python -c 'from openff.interchange import Interchange'", + "python -c 'from openff.units import unit'", + "python -c 'from openff.interchange.components.mdconfig import MDConfig'", + "python -c 'from openff.interchange.models import TopologyKey'", + "python -c 'from openff.toolkit.typing.engines.smirnoff import ForceField'", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..9b762b8294b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.3.17.0-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'OpenImageIO' +version = '2.3.17.0' + +homepage = 'https://openimageio.org/' +description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, + and applications.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['22d38347b40659d218fcafcadc9258d3f6eda0be02029b11969361c9a6fa9f5c'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('git', '2.36.0', '-nodocs'), +] +dependencies = [ + ('Boost', '1.79.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('OpenEXR', '3.1.5'), + ('freetype', '2.12.1'), + ('zlib', '1.2.12'), +] + +separate_build_dir = True + +configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF' + +sanity_check_paths = { + 'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT], + 'dirs': ['include/OpenImageIO', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..b0bc036fc2c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.4.14.0-GCC-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'OpenImageIO' +version = '2.4.14.0' + +homepage = 'https://openimageio.org/' +description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, + and applications.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = [('92ad4b107394b273397baa1abe90207e1f8ef9fd52ffbfc23b46e3b0005d4439', + '40c2e6fe38f0460a92e3f9d24bf75bcc310c74585760a3b0ac1b1727582bb46c')] + +builddependencies = [ + ('CMake', '3.26.3'), + ('git', '2.41.0', '-nodocs'), +] +dependencies = [ + ('Boost', '1.82.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('OpenEXR', '3.1.7'), + ('freetype', '2.13.0'), + ('zlib', '1.2.13'), +] + +separate_build_dir = True + +configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF' + +sanity_check_paths = { + 'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT], + 'dirs': ['include/OpenImageIO', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..2b2aff2aaab --- /dev/null +++ b/easybuild/easyconfigs/o/OpenImageIO/OpenImageIO-2.5.15.0-GCC-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'OpenImageIO' +version = '2.5.15.0' + +homepage = 'https://openimageio.org/' +description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, + and applications.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/OpenImageIO/oiio/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = [('7779ef2c3d03c5ed95e13ff292de85c3f8cee301cd46baad0d2dc83c93bfe85c')] + +builddependencies = [ + ('CMake', '3.29.3'), + ('git', '2.45.1'), +] +dependencies = [ + ('Boost', '1.85.0'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('LibTIFF', '4.6.0'), + ('OpenEXR', '3.2.4'), + ('freetype', '2.13.2'), + ('zlib', '1.3.1'), +] + +separate_build_dir = True + +configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF' + +sanity_check_paths = { + 'files': ['bin/oiiotool', 'lib/libOpenImageIO.%s' % SHLIB_EXT, 'lib/libOpenImageIO_Util.%s' % SHLIB_EXT], + 'dirs': ['include/OpenImageIO', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ad834747cdd --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.4.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/openjpeg/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d'] + +separate_build_dir = True + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1') +] + +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0') +] + +sanity_check_paths = { + 'files': ['bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a3ccd969fc7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1c0e9a28999 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('LibTIFF', '4.4.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e930df38233 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9905775a89f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.0-GCCcore-13.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.0' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.40'), + ('LibTIFF', '4.6.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8ee5d1477f8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenJPEG/OpenJPEG-2.5.2-GCCcore-13.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeMake' + +name = 'OpenJPEG' +version = '2.5.2' + +homepage = 'https://www.openjpeg.org/' +description = """OpenJPEG is an open-source JPEG 2000 codec written in + C language. It has been developed in order to promote the use of JPEG 2000, + a still-image compression standard from the Joint Photographic Experts Group + (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as + a JPEG 2000 Reference Software.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/uclouvain/%(namelower)s/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +# for running the binary of openjpeg like opj_compress you need the libraries like zlib etc. +dependencies = [ + ('zlib', '1.3.1'), + ('libpng', '1.6.43'), + ('LibTIFF', '4.6.0'), +] + +sanity_check_paths = { + 'files': [ + 'bin/opj_compress', + 'bin/opj_decompress', + 'bin/opj_dump', + 'include/openjpeg-%(version_major)s.%(version_minor)s/openjpeg.h', + 'lib/libopenjp2.%s' % SHLIB_EXT + ], + 'dirs': ['bin', 'include', 'lib'], +} + +moduleclass = 'lib' 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/OpenMM-Torch/OpenMM-Torch-20240816-foss-2023a.eb b/easybuild/easyconfigs/o/OpenMM-Torch/OpenMM-Torch-20240816-foss-2023a.eb new file mode 100644 index 00000000000..8e40a8c95af --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM-Torch/OpenMM-Torch-20240816-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM-Torch' +version = '20240816' +local_commit = '8893c0f' + +homepage = 'https://openmm.org/' +description = """ +OpenMM-Torch is an OpenMM plugin to define forces with neural networks. +The OpenMM-Torch package provides an interface to the PyTorch machine learning framework. +It lets you define new types of forces through PyTorch code. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'cstd': 'c++17'} + +source_urls = ['https://github.com/openmm/%(namelower)s/archive'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['c2abf0bfce61b6e2e1f42d27a89032b4b994f7d67eb238ddf1a7d299cae551bf'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', '2.1.2'), + ('OpenMM', '8.0.0'), +] + +configopts = '-DOPENMM_DIR="${EBROOTOPENMM}" ' +configopts += '-DPYTORCH_DIR="${EBROOTPYTORCH}/lib/python%(pyshortver)s/site-packages/torch"' + +# install Python bindings +postinstallcmds = [ + "sed -i 's|pip install |pip install --prefix=%(installdir)s |' %(start_dir)s/python/CMakeLists.txt", + "make PythonInstall", +] + +sanity_check_paths = { + 'files': ['lib/python%(pyshortver)s/site-packages/openmmtorch.py'], + 'dirs': ['lib', 'include'], +} + +sanity_check_commands = [ + "python -c 'import openmmtorch'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.4.1-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.4.1-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..a0837a8fe3a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.4.1-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,67 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['OpenMM-%(version)s_fix-Doxygen.patch'] +checksums = [ + 'e8102b68133e6dcf7fcf29bc76a11ea54f30af71d8a7705aec0aee957ebe3a6d', # 7.4.1.tar.gz + '99d59e3106d9c9f9fbce3c3161117a37b2699e1dc09bc2a75619e0d880f29708', # OpenMM-7.4.1_fix-Doxygen.patch +] + +builddependencies = [ + ('CMake', '3.15.3'), + ('Doxygen', '1.8.16'), +] + +separate_build_dir = True + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('SWIG', '4.0.1'), + ('libglvnd', '1.2.0'), +] + +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +pretestopts = "export OPENMM_CUDA_COMPILER=nvcc && CTEST_OUTPUT_ON_FAILURE=1" +runtest = """test -e ARGS="-E \'(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)\'" """ + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} +modextravars = { + 'OPENMM_CUDA_COMPILER': 'nvcc', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2020b.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2020b.eb new file mode 100644 index 00000000000..15672d73428 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2020b.eb @@ -0,0 +1,58 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), +] + +separate_build_dir = True + +dependencies = [ + ('FFTW', '3.3.8'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('SWIG', '4.0.2'), +] + +runtest = """test -e ARGS="-E \'(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(HippoNonbondedForce)\'" """ + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb new file mode 100644 index 00000000000..44bbbce31f6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-CUDA-11.3.1-DeepMind-patch.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-CUDA-%(cudaver)s-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + ('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python'), + '%(name)s-7.5.0_fix_path_to_nvcc.patch', +] +checksums = [ + {'7.5.1.tar.gz': 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7'}, + {'OpenMM-7.5.1_DeepMind.patch': '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6'}, + {'OpenMM-7.5.0_fix_path_to_nvcc.patch': '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: https://github.com/openmm/openmm/issues/3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-DeepMind-patch.eb new file mode 100644 index 00000000000..42a22798b5f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021a-DeepMind-patch.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python')] +checksums = [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('SWIG', '4.0.2'), +] + +runtest = """test -e ARGS="-E \'(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(HippoNonbondedForce)\'" """ + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb new file mode 100644 index 00000000000..335b9a7e2da --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-CUDA-11.4.1-DeepMind-patch.eb @@ -0,0 +1,66 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-CUDA-%(cudaver)s-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + ('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python'), + 'OpenMM-7.5.0_fix_path_to_nvcc.patch', + 'OpenMM-8.0.0_add_no_tree_vectorize.patch', +] +checksums = [ + {'7.5.1.tar.gz': 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7'}, + {'OpenMM-7.5.1_DeepMind.patch': '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6'}, + {'OpenMM-7.5.0_fix_path_to_nvcc.patch': '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c'}, + {'OpenMM-8.0.0_add_no_tree_vectorize.patch': '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('CUDA', '11.4.1', '', SYSTEM), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: https://github.com/openmm/openmm/issues/3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb new file mode 100644 index 00000000000..e290a831169 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-foss-2021b-DeepMind-patch.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' +versionsuffix = '-DeepMind-patch' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [('OpenMM-%(version)s_DeepMind.patch', 'wrappers/python')] +checksums = [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', + '1b109dfff3af5c6aa70690bca14618612953c68840a7e64f679db7ca33c1aff6', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('SWIG', '4.0.2'), +] + +runtest = """test -e ARGS="-E \'(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(HippoNonbondedForce)\'" """ + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-fosscuda-2020b.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..439ac033415 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1-fosscuda-2020b.eb @@ -0,0 +1,66 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.5.1' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-7.5.0_fix_path_to_nvcc.patch'] +checksums = [ + 'c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7', # 7.5.1.tar.gz + '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c', # OpenMM-7.5.0_fix_path_to_nvcc.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Doxygen', '1.8.20'), +] + +separate_build_dir = True + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +pretestopts = "export OPENMM_CUDA_COMPILER=nvcc && CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/openmm.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m simtk.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1_DeepMind.patch b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1_DeepMind.patch new file mode 100644 index 00000000000..878ffd11b03 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.5.1_DeepMind.patch @@ -0,0 +1,45 @@ +custom patch for OpenMM to use in conjunction with AlphaFold +see https://github.com/deepmind/alphafold/blob/main/docker/openmm.patch + +Index: simtk/openmm/app/topology.py +=================================================================== +--- simtk.orig/openmm/app/topology.py ++++ simtk/openmm/app/topology.py +@@ -356,19 +356,35 @@ + def isCyx(res): + names = [atom.name for atom in res._atoms] + return 'SG' in names and 'HG' not in names ++ # This function is used to prevent multiple di-sulfide bonds from being ++ # assigned to a given atom. This is a DeepMind modification. ++ def isDisulfideBonded(atom): ++ for b in self._bonds: ++ if (atom in b and b[0].name == 'SG' and ++ b[1].name == 'SG'): ++ return True ++ ++ return False + + cyx = [res for res in self.residues() if res.name == 'CYS' and isCyx(res)] + atomNames = [[atom.name for atom in res._atoms] for res in cyx] + for i in range(len(cyx)): + sg1 = cyx[i]._atoms[atomNames[i].index('SG')] + pos1 = positions[sg1.index] ++ candidate_distance, candidate_atom = 0.3*nanometers, None + for j in range(i): + sg2 = cyx[j]._atoms[atomNames[j].index('SG')] + pos2 = positions[sg2.index] + delta = [x-y for (x,y) in zip(pos1, pos2)] + distance = sqrt(delta[0]*delta[0] + delta[1]*delta[1] + delta[2]*delta[2]) +- if distance < 0.3*nanometers: +- self.addBond(sg1, sg2) ++ if distance < candidate_distance and not isDisulfideBonded(sg2): ++ candidate_distance = distance ++ candidate_atom = sg2 ++ # Assign bond to closest pair. ++ if candidate_atom: ++ self.addBond(sg1, candidate_atom) ++ ++ + + class Chain(object): + """A Chain object represents a chain within a Topology.""" diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..61a9e74745f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,69 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-7.5.0_fix_path_to_nvcc.patch'] +checksums = [ + '51970779b8dc639ea192e9c61c67f70189aa294575acb915e14be1670a586c25', # 7.7.0.tar.gz + '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c', # OpenMM-7.5.0_fix_path_to_nvcc.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +separate_build_dir = True + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('CUDA', '11.3.1', '', SYSTEM), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: https://github.com/openmm/openmm/issues/3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/__init__.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m openmm.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a.eb new file mode 100644 index 00000000000..400ea7aa3b7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2021a.eb @@ -0,0 +1,57 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.7.0' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['51970779b8dc639ea192e9c61c67f70189aa294575acb915e14be1670a586c25'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('SWIG', '4.0.2'), +] + +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT, 'lib/python%(pyshortver)s/site-packages/simtk/openmm/__init__.py'], + 'dirs': [] +} + +sanity_check_commands = ["python -m openmm.testInstallation"] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..82ae3163013 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,74 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'OpenMM-7.5.0_fix_path_to_nvcc.patch', + 'OpenMM-8.0.0_add_no_tree_vectorize.patch', +] +checksums = [ + {'7.7.0.tar.gz': '51970779b8dc639ea192e9c61c67f70189aa294575acb915e14be1670a586c25'}, + {'OpenMM-7.5.0_fix_path_to_nvcc.patch': '050d5b81e70b34d06ef87eafc6d540b2cf716a61f53b1d2a3786504da3ec2e3c'}, + {'OpenMM-8.0.0_add_no_tree_vectorize.patch': '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SWIG', '4.0.2'), +] + +# Flags for CUDA-enabled build +configopts = "-DOPENMM_BUILD_CUDA_LIB=ON" + +# defining OPENMM_CUDA_COMPILER=nvcc on pretestops causes 1 test to fail: openmm/openmm#3373 +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a.eb new file mode 100644 index 00000000000..7dbd4dd5249 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-7.7.0-foss-2022a.eb @@ -0,0 +1,60 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '7.7.0' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['51970779b8dc639ea192e9c61c67f70189aa294575acb915e14be1670a586c25'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SWIG', '4.0.2'), +] + +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..4215d0a143f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '8.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['OpenMM-8.0.0_add_no_tree_vectorize.patch'] +checksums = [ + 'dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e', # 8.0.0.tar.gz + '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd', # OpenMM-8.0.0_add_no_tree_vectorize.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SWIG', '4.0.2'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +# Set the OPENMM_CUDA_COMPILER variable to make sure that all tests use the right nvcc, +# Otherwise they will use the wrong path: `/usr/local/cuda/bin/nvcc` +pretestopts = ' export OPENMM_CUDA_COMPILER=${EBROOTCUDA}/bin/nvcc && ' +pretestopts += " CTEST_OUTPUT_ON_FAILURE=1" +# Skip CudaCompiler test as it doesn't work when the OPENMM_CUDA_COMPILER variable is set +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(CudaCompiler)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a.eb new file mode 100644 index 00000000000..47d3bdbfaf5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2022a.eb @@ -0,0 +1,60 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '8.0.0' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SWIG', '4.0.2'), +] + +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8cf271071e7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,70 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '8.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['OpenMM-8.0.0_add_no_tree_vectorize.patch'] +checksums = [ + 'dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e', # 8.0.0.tar.gz + '4bacf45443a2472e59798743f27d07481e065d784cbbea7be22aa6427af0d2bd', # OpenMM-8.0.0_add_no_tree_vectorize.patch +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('SWIG', '4.1.1'), + ('CUDA', '12.1.1', '', SYSTEM), +] + +# Set the OPENMM_CUDA_COMPILER variable to make sure that all tests use the right nvcc, +# Otherwise they will use the wrong path: `/usr/local/cuda/bin/nvcc` +pretestopts = ' export OPENMM_CUDA_COMPILER=${EBROOTCUDA}/bin/nvcc && ' +pretestopts += " CTEST_OUTPUT_ON_FAILURE=1" +# Skip CudaCompiler test as it doesn't work when the OPENMM_CUDA_COMPILER variable is set +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)|(CudaCompiler)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a.eb b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a.eb new file mode 100644 index 00000000000..b45f64ecebe --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0-foss-2023a.eb @@ -0,0 +1,60 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Update to 7.5.1 +# J. Sassmannshausen / GSTT + +easyblock = 'CMakeMake' + +name = 'OpenMM' +version = '8.0.0' + +homepage = 'https://openmm.org' +description = "OpenMM is a toolkit for molecular simulation." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/openmm/openmm/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('SWIG', '4.1.1'), +] + +pretestopts = " CTEST_OUTPUT_ON_FAILURE=1" +local_ignore_pattern = "(Integrator)|(Thermostat)|(Barostat)|(Rpmd)|(Amoeba)" +runtest = """test -e ARGS="-E \'%s\'" """ % local_ignore_pattern + +preinstallopts = ' export OPENMM_INCLUDE_PATH=%(installdir)s/include && ' +preinstallopts += ' export OPENMM_LIB_PATH=%(installdir)s/lib && ' + +# required to install the python API +installopts = ' && cd python && python setup.py build && python setup.py install --prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['lib/libOpenMM.%s' % SHLIB_EXT], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + "python -c 'import simtk.openmm'", + "python -m openmm.testInstallation", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages/OpenMM-%(version)s-py%(pyshortver)s-linux-%(arch)s.egg', + 'OPENMM_INCLUDE_PATH': 'include', + 'OPENMM_LIB_PATH': 'lib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch new file mode 100644 index 00000000000..e3fb0d99579 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMM/OpenMM-8.0.0_add_no_tree_vectorize.patch @@ -0,0 +1,16 @@ +# This patch resolves the tree vectorizatior error that appears when "-march" is used with GCC 11.3.0: +# .../openmm-8.0.0/platforms/common/src/CommonKernels.cpp:5055:6: internal compiler error: in vect_get_vec_defs_for_operand, at tree-vect-stmts.c:1450 +# 5055 | void CommonCalcGayBerneForceKernel::sortAtoms() { +# Author: maxim-masterov (SURF) + +diff -Nru openmm-8.0.0.orig/platforms/common/src/CommonKernels.cpp openmm-8.0.0/platforms/common/src/CommonKernels.cpp +--- openmm-8.0.0.orig/platforms/common/src/CommonKernels.cpp 2023-03-29 10:08:28.765461000 +0200 ++++ openmm-8.0.0/platforms/common/src/CommonKernels.cpp 2023-04-04 15:55:17.152316000 +0200 +@@ -5052,6 +5052,7 @@ + sortAtoms(); + } + ++__attribute__((optimize("no-tree-vectorize"))) + void CommonCalcGayBerneForceKernel::sortAtoms() { + // Sort the list of atoms by type to avoid thread divergence. This is executed every time + // the atoms are reordered. diff --git a/easybuild/easyconfigs/o/OpenMMTools/OpenMMTools-0.23.1-foss-2023a.eb b/easybuild/easyconfigs/o/OpenMMTools/OpenMMTools-0.23.1-foss-2023a.eb new file mode 100644 index 00000000000..1bec0ef4891 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMMTools/OpenMMTools-0.23.1-foss-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'OpenMMTools' +version = '0.23.1' + +homepage = 'https://github.com/choderalab/openmmtools' +description = """A batteries-included toolkit for the GPU-accelerated OpenMM molecular simulation engine. +openmmtools is a Python library layer that sits on top of OpenMM to provide access to a variety of useful tools +for building full-featured molecular simulation packages. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenMM', '8.0.0'), + ('netcdf4-python', '1.6.4'), + ('MDTraj', '1.9.9'), + ('PyYAML', '6.0'), + ('numba', '0.58.1'), + ('jupyter-server', '2.7.2'), +] + +use_pip = True +exts_list = [ + ('pymbar', '3.1', { + # pymbar 3.1 is not available via PyPI, see https://github.com/choderalab/pymbar/issues/475 + 'source_urls': ['https://github.com/choderalab/pymbar/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['7a996e5d3fd8143378f9e18662483446a4a2fe7e57917511e96beb6b07fd6232'], + }), + ('mpiplus', '0.0.2', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/choderalab/mpiplus/archive/'], + 'checksums': ['5f051210b8cd321fdcbfa97a6e1606b63e6d6c7214c393bc04f93a8545b6d3a8'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/choderalab/openmmtools/archive/'], + 'checksums': ['9281f50896a91f3f9e1ea16f0636f2aff494287a51a4ec03ae8e26f1b8edaccc'], + # import check requires use of mpirun, handled via sanity_check_commands + 'modulename': False, + }), +] + +sanity_check_paths = { + 'files': ['bin/test-openmm-platforms'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%(mpi_cmd_prefix)s python -c 'import %(namelower)s'"] + +sanity_pip_check = True + +moduleclass = 'bio' 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 25a12b9495f..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 @@ -11,12 +11,17 @@ sources = [SOURCELOWER_TAR_GZ] 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 # OpenMPI-3.1.3-add_ompi_datatype_attribute_to_release_ucp_datatype.patch '46fa94eb417954bdb297291bad4f4d32018af4911bebf3e59af6276eba6a50a9', '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.3_fix-support-for-external-PMIx-v3.1.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch new file mode 100644 index 00000000000..6a35523ffd3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-3.1.3_fix-support-for-external-PMIx-v3.1.patch @@ -0,0 +1,70 @@ +From 640f7812c96af286010a87a63ef8e76d1127cc85 Mon Sep 17 00:00:00 2001 +From: Gilles Gouaillardet +Date: Tue, 8 Jan 2019 10:09:10 +0900 +Subject: [PATCH] pmix/ext2x: fix support for external PMIx v3.1 + +The PMIX_MODEX and PMIX_INFO_ARRAY macros were removed from the PMIx 3.1 standard. +Open MPI does not really need them (they are only used to be reported as not supported), +so smply #ifdef protect them to support an external PMIx v3.1 + +external PMIx v3 is supported via the pmix/ext2x component, and it has worked so far +until PMIx v3.1 removed some macros, the change to support external PMIx v3.1 is minimal, +so we do not need to bother creating a new pmix/ext3x component. + +The change only need to be done in ext2x/ext2x.c. +But since this file is automatically generated from pmix2x/pmix2x.c, we have to update +the latter file. + +Refs. open-mpi/ompi#6247 + +Signed-off-by: Gilles Gouaillardet + +(back-ported from commit open-mpi/ompi@950ba16aa16576582eb71941ec45996239c10a46) +--- + opal/mca/pmix/pmix2x/pmix2x.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/opal/mca/pmix/pmix2x/pmix2x.c b/opal/mca/pmix/pmix2x/pmix2x.c +index a00a6e6328..3abcd29326 100644 +--- a/opal/mca/pmix/pmix2x/pmix2x.c ++++ b/opal/mca/pmix/pmix2x/pmix2x.c +@@ -1,8 +1,8 @@ + /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ + /* + * Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +- * Copyright (c) 2014-2017 Research Organization for Information Science +- * and Technology (RIST). All rights reserved. ++ * Copyright (c) 2014-2019 Research Organization for Information Science ++ * and Technology (RIST). All rights reserved. + * Copyright (c) 2014-2015 Mellanox Technologies, Inc. + * All rights reserved. + * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. +@@ -1001,10 +1001,12 @@ int pmix2x_value_unload(opal_value_t *kv, + OPAL_ERROR_LOG(OPAL_ERR_NOT_SUPPORTED); + rc = OPAL_ERR_NOT_SUPPORTED; + break; ++#ifdef PMIX_MODEX + case PMIX_MODEX: + OPAL_ERROR_LOG(OPAL_ERR_NOT_SUPPORTED); + rc = OPAL_ERR_NOT_SUPPORTED; + break; ++#endif /* PMIX_MODEX */ + case PMIX_PERSIST: + kv->type = OPAL_PERSIST; + kv->data.uint8 = pmix2x_convert_persist(v->data.persist); +@@ -1111,10 +1113,12 @@ int pmix2x_value_unload(opal_value_t *kv, + OPAL_ERROR_LOG(OPAL_ERR_NOT_SUPPORTED); + rc = OPAL_ERR_NOT_SUPPORTED; + break; ++#ifdef PMIX_INFO_ARRAY + case PMIX_INFO_ARRAY: + OPAL_ERROR_LOG(OPAL_ERR_NOT_SUPPORTED); + rc = OPAL_ERR_NOT_SUPPORTED; + break; ++#endif /* PMIX_INFO_ARRAY */ + + default: + /* silence warnings */ +-- +2.25.1 + 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 e51943031bb..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 @@ -8,11 +8,17 @@ toolchain = {'name': 'GCC', 'version': '9.3.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 ] dependencies = [ 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 9fcc5c0ce5a..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 @@ -8,11 +8,17 @@ toolchain = {'name': 'gcccuda', 'version': '2020a'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 ] dependencies = [ 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 85a80cef61d..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 @@ -8,11 +8,17 @@ toolchain = {'name': 'iccifort', 'version': '2020.1.217'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 ] dependencies = [ 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 c19688551ab..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 @@ -8,11 +8,17 @@ toolchain = {'name': 'iccifortcuda', 'version': '2020a'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 ] dependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch new file mode 100644 index 00000000000..1e5111c47e5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch @@ -0,0 +1,66 @@ +From f5c391288b766a96cb5c5d0b7164e9cf8795921f Mon Sep 17 00:00:00 2001 +From: Sergey Oblomov +Date: Thu, 15 Jul 2021 19:24:40 +0300 +Subject: [PATCH] PML/UCX/DATATYPE: fixed memory leak + +- fixed memory leak in datatype processin + +Signed-off-by: Sergey Oblomov +(cherry picked from commit 4145b9f) +--- + ompi/mca/pml/ucx/pml_ucx_datatype.c | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +diff --git a/ompi/mca/pml/ucx/pml_ucx_datatype.c b/ompi/mca/pml/ucx/pml_ucx_datatype.c +index 5b1b8ccbed3..7277aef64bc 100644 +--- a/ompi/mca/pml/ucx/pml_ucx_datatype.c ++++ b/ompi/mca/pml/ucx/pml_ucx_datatype.c +@@ -212,14 +212,23 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype) + ompi_datatype_type_size(datatype, &size); + PML_UCX_ASSERT(size > 0); + ucp_datatype = ucp_dt_make_contig(size); +- goto out; +- } +- +- status = ucp_dt_create_generic(&pml_ucx_generic_datatype_ops, +- datatype, &ucp_datatype); +- if (status != UCS_OK) { +- PML_UCX_ERROR("Failed to create UCX datatype for %s", datatype->name); +- ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1); ++ PML_UCX_VERBOSE(7, "created contig UCX datatype 0x%"PRIx64, ++ ucp_datatype) ++ } else { ++ status = ucp_dt_create_generic(&pml_ucx_generic_datatype_ops, ++ datatype, &ucp_datatype); ++ if (status != UCS_OK) { ++ int err = MPI_ERR_INTERN; ++ PML_UCX_ERROR("Failed to create UCX datatype for %s", ++ datatype->name); ++ /* TODO: this error should return to the caller and invoke an error ++ * handler from the MPI API call. ++ * For now, it is fatal. */ ++ ompi_mpi_errors_are_fatal_comm_handler(NULL, &err, ++ "Failed to allocate " ++ "datatype structure"); ++ } ++ PML_UCX_VERBOSE(7, "created generic UCX datatype 0x%"PRIx64, ucp_datatype) + } + + /* Add custom attribute, to clean up UCX resources when OMPI datatype is +@@ -238,8 +247,6 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype) + ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1); + } + } +-out: +- PML_UCX_VERBOSE(7, "created generic UCX datatype 0x%"PRIx64, ucp_datatype) + + #ifdef HAVE_UCP_REQUEST_PARAM_T + UCS_STATIC_ASSERT(sizeof(datatype->pml_data) >= sizeof(pml_ucx_datatype_t*)); +@@ -249,7 +256,6 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype) + #else + datatype->pml_data = ucp_datatype; + #endif +- + return ucp_datatype; + } + 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 de69437e30c..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 @@ -8,11 +8,20 @@ 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_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + '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 6f35c379b0b..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 @@ -8,11 +8,20 @@ toolchain = {'name': 'GCC', 'version': '9.3.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + '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 new file mode 100644 index 00000000000..bb1fb2730ac --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.5-NVHPC-21.2-CUDA-11.2.1.eb @@ -0,0 +1,50 @@ +name = 'OpenMPI' +version = '4.0.5' +versionsuffix = '-CUDA-11.2.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '21.2'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +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 + # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch + 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + '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 = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.2.0'), + ('libevent', '2.1.12'), + ('UCX', '1.9.0', versionsuffix), + ('libfabric', '1.11.0'), + ('PMIx', '3.1.5'), +] + +configopts = '--with-cuda=$EBROOTCUDACORE ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 245532a13ea..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 @@ -8,11 +8,20 @@ toolchain = {'name': 'gcccuda', 'version': '2020b'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + '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 6083f480cda..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 @@ -8,11 +8,20 @@ toolchain = {'name': 'iccifort', 'version': '2020.4.304'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch'] +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 # OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch 'a5737061eb9006e862f30019776adf092d800f681272be7f1575e74b4bfa20fb', + '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.0.6-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.6-GCC-10.3.0.eb index 98875b6d1cf..cfb51234ef4 100644 --- a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.6-GCC-10.3.0.eb +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.6-GCC-10.3.0.eb @@ -8,11 +8,16 @@ toolchain = {'name': 'GCC', 'version': '10.3.0'} source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] sources = [SOURCELOWER_TAR_GZ] -patches = ['OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch'] +patches = [ + 'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch', + 'OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch', +] checksums = [ '8f2d159d2d846979b1380e9552f56e4365f5ec71d54a05077ddb244719d70fc3', # openmpi-4.0.6.tar.gz # OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.patch '8acee6c9b2b4bf12873a39b85a58ca669de78e90d26186e52f221bb4853abc4d', + # OpenMPI-4.0.5-6-pml-ucx-datatype-memleak.patch + '7d8695f0d23453c82638ad33b18e41690274d5c7784291213e98335b42c54578', ] builddependencies = [ diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.7-GCC-10.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..38a20d48d97 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.0.7-GCC-10.3.0.eb @@ -0,0 +1,32 @@ +name = 'OpenMPI' +version = '4.0.7' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['269a4106312c80a9a6991da7f7c342195b73deea387048887e77e7aedc6dbf2d'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.4.1'), + ('libevent', '2.1.12'), + ('UCX', '1.10.0'), + ('libfabric', '1.12.1'), + ('PMIx', '3.2.3'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch new file mode 100644 index 00000000000..29266832b1b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.0-1-pml-ucx-datatype-memleak.patch @@ -0,0 +1,58 @@ +From 080e54b07d5976407daf8c607a5d2b80ee40684d Mon Sep 17 00:00:00 2001 +From: Sergey Oblomov +Date: Mon, 19 Apr 2021 16:50:46 +0300 +Subject: [PATCH] PML/UCX/DATATYPE: fixed memory leak + +- fixed memory leak in datatype processing + +Signed-off-by: Sergey Oblomov +(cherry picked from commit 4145b9f00b9a9c2e5326044b765ee3d1b743ccbf) +--- + ompi/mca/pml/ucx/pml_ucx_datatype.c | 27 +++++++++++++++++---------- + 1 file changed, 17 insertions(+), 10 deletions(-) + +diff --git a/ompi/mca/pml/ucx/pml_ucx_datatype.c b/ompi/mca/pml/ucx/pml_ucx_datatype.c +index 5b1b8ccbed3..8b55e773e7a 100644 +--- a/ompi/mca/pml/ucx/pml_ucx_datatype.c ++++ b/ompi/mca/pml/ucx/pml_ucx_datatype.c +@@ -212,14 +212,23 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype) + ompi_datatype_type_size(datatype, &size); + PML_UCX_ASSERT(size > 0); + ucp_datatype = ucp_dt_make_contig(size); +- goto out; +- } +- +- status = ucp_dt_create_generic(&pml_ucx_generic_datatype_ops, +- datatype, &ucp_datatype); +- if (status != UCS_OK) { +- PML_UCX_ERROR("Failed to create UCX datatype for %s", datatype->name); +- ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1); ++ PML_UCX_VERBOSE(7, "created contig UCX datatype 0x%"PRIx64, ++ ucp_datatype) ++ } else { ++ status = ucp_dt_create_generic(&pml_ucx_generic_datatype_ops, ++ datatype, &ucp_datatype); ++ if (status != UCS_OK) { ++ int err = MPI_ERR_INTERN; ++ PML_UCX_ERROR("Failed to create UCX datatype for %s", ++ datatype->name); ++ /* TODO: this error should return to the caller and invoke an error ++ * handler from the MPI API call. ++ * For now, it is fatal. */ ++ ompi_mpi_errors_are_fatal_comm_handler(NULL, &err, ++ "Failed to allocate " ++ "datatype structure"); ++ } ++ PML_UCX_VERBOSE(7, "created generic UCX datatype 0x%"PRIx64, ucp_datatype) + } + + /* Add custom attribute, to clean up UCX resources when OMPI datatype is +@@ -238,8 +247,6 @@ ucp_datatype_t mca_pml_ucx_init_datatype(ompi_datatype_t *datatype) + ompi_mpi_abort(&ompi_mpi_comm_world.comm, 1); + } + } +-out: +- PML_UCX_VERBOSE(7, "created generic UCX datatype 0x%"PRIx64, ucp_datatype) + + #ifdef HAVE_UCP_REQUEST_PARAM_T + UCS_STATIC_ASSERT(sizeof(datatype->pml_data) >= sizeof(pml_ucx_datatype_t*)); 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 fda533d6ab2..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 @@ -10,14 +10,21 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_GZ] patches = [ 'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch', - 'OpenMPI-4.0.1_remove-pmix-check-in-pmi-switch.patch' + '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', + {'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 2728bb55635..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 @@ -13,18 +13,31 @@ source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/ sources = [SOURCELOWER_TAR_BZ2] patches = [ 'OpenMPI-4.1.1_fix-bufferoverflow-in-common_ofi.patch', - 'OpenMPI-4.0.6_remove-pmix-check-in-pmi-switch.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.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.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 = [ ('pkg-config', '0.29.2'), + ('Perl', '5.32.1'), + ('Autotools', '20210128'), ] dependencies = [ @@ -36,6 +49,11 @@ dependencies = [ ('PMIx', '3.2.3'), ] +preconfigopts = './autogen.pl --force && ' + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + # disable MPI1 compatibility for now, see what breaks... # configopts = '--enable-mpi1-compatibility ' 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 new file mode 100644 index 00000000000..3cafd8e33fe --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-GCC-11.2.0.eb @@ -0,0 +1,64 @@ +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +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] +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.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.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.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 = [ + ('pkg-config', '0.29.2'), + ('Perl', '5.34.0'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.5.0'), + ('libevent', '2.1.12'), + ('UCX', '1.11.2'), + ('libfabric', '1.13.2'), + ('PMIx', '4.1.0'), +] + +preconfigopts = './autogen.pl --force && ' + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..0df727a62a3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.2.0.eb @@ -0,0 +1,50 @@ +## +# Author: Robert Mijakovic +## +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +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 = [ + {'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 = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.4.1'), + ('libevent', '2.1.12'), + ('UCX', '1.10.0'), + ('libfabric', '1.12.1'), + ('PMIx', '3.2.3'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..55381169f03 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1-intel-compilers-2021.4.0.eb @@ -0,0 +1,51 @@ +name = 'OpenMPI' +version = '4.1.1' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +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.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 = [ + {'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'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.5.0'), + ('libevent', '2.1.12'), + ('UCX', '1.11.2'), + ('libfabric', '1.13.2'), + ('PMIx', '4.1.0'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_build-with-internal-cuda-header.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_build-with-internal-cuda-header.patch new file mode 100644 index 00000000000..9baec9a9129 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_build-with-internal-cuda-header.patch @@ -0,0 +1,121 @@ +Allow building Open MPI with --with-cuda=internal, by providing an +internal minimal cuda.h header file. This eliminates the CUDA +(build)dependency; as long as the runtime CUDA version is 8.0+, +libcuda.so will be dlopen'ed and used successfully. + +This then also sets the default value of opal_warn_on_missing_libcuda to false +as missing libcuda is then a common situation. +Author: Bart Oldeman +--- openmpi-4.1.3.orig/config/opal_check_cuda.m4 2022-03-31 16:04:13.000000000 +0000 ++++ openmpi-4.1.3/config/opal_check_cuda.m4 2022-06-01 23:30:09.255003842 +0000 +@@ -45,6 +45,14 @@ + # macro as that would error out after not finding it in the first directory. + # Note that anywhere CUDA aware code is in the Open MPI repository requires + # us to make use of AC_REQUIRE to ensure this check has been done. ++opal_check_cuda_internal="" ++OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT=1 ++AS_IF([test "$with_cuda" = "internal"], ++ [AC_MSG_RESULT([internal support requested]) ++ with_cuda="${OPAL_TOP_SRCDIR}/opal/mca/common/cuda/cuda" ++ opal_check_cuda_internal=" (internal)" ++ OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT=0 ++ ]) + AS_IF([test "$with_cuda" = "no" || test "x$with_cuda" = "x"], + [opal_check_cuda_happy="no" + AC_MSG_RESULT([not set (--with-cuda=$with_cuda)])], +@@ -124,7 +132,7 @@ + CUDA_SUPPORT=0 + fi + +-OPAL_SUMMARY_ADD([[Miscellaneous]],[[CUDA support]],[opal_cuda], [$opal_check_cuda_happy]) ++OPAL_SUMMARY_ADD([[Miscellaneous]],[[CUDA support]],[opal_cuda], [$opal_check_cuda_happy$opal_check_cuda_internal]) + + AM_CONDITIONAL([OPAL_cuda_support], [test "x$CUDA_SUPPORT" = "x1"]) + AC_DEFINE_UNQUOTED([OPAL_CUDA_SUPPORT],$CUDA_SUPPORT, +@@ -144,6 +152,9 @@ + AC_DEFINE_UNQUOTED([OPAL_CUDA_GDR_SUPPORT],$CUDA_VERSION_60_OR_GREATER, + [Whether we have CUDA GDR support available]) + ++AM_CONDITIONAL([OPAL_warn_on_missing_libcuda_default], [test "x$OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT" = "x1"]) ++AC_DEFINE_UNQUOTED([OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT],$OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT, ++ [Whether to warn by default if libcuda is not available]) + ]) + + dnl +--- openmpi-4.1.3.orig/opal/runtime/opal_params.c 2022-03-31 16:04:13.000000000 +0000 ++++ openmpi-4.1.3/opal/runtime/opal_params.c 2022-06-01 23:23:11.127963103 +0000 +@@ -246,7 +246,11 @@ + return ret; + } + ++#if OPAL_WARN_ON_MISSING_LIBCUDA_DEFAULT == 1 + opal_warn_on_missing_libcuda = true; ++#else ++ opal_warn_on_missing_libcuda = false; ++#endif + ret = mca_base_var_register ("opal", "opal", NULL, "warn_on_missing_libcuda", + "Whether to print a message when CUDA support is enabled but libcuda is not found", + MCA_BASE_VAR_TYPE_BOOL, NULL, 0, MCA_BASE_VAR_FLAG_SETTABLE, +--- openmpi-4.1.3.orig/opal/mca/common/cuda/cuda/cuda.h 1970-01-01 00:00:00.000000000 +0000 ++++ openmpi-4.1.3/opal/mca/common/cuda/cuda/cuda.h 2022-05-04 18:52:14.991300184 +0000 +@@ -0,0 +1,60 @@ ++/* This header provides minimal parts of the CUDA Driver API, without having to ++ rely on the proprietary CUDA toolkit. ++ ++ References (to avoid copying from NVidia's proprietary cuda.h): ++ https://github.com/gcc-mirror/gcc/blob/master/include/cuda/cuda.h ++ https://github.com/Theano/libgpuarray/blob/master/src/loaders/libcuda.h ++ https://github.com/CPFL/gdev/blob/master/cuda/driver/cuda.h ++ https://github.com/CudaWrangler/cuew/blob/master/include/cuew.h ++*/ ++ ++#define CUDA_VERSION 8000 ++ ++typedef void *CUcontext; ++typedef int CUdevice; ++#if defined(__LP64__) || defined(_WIN64) ++typedef unsigned long long CUdeviceptr; ++#else ++typedef unsigned CUdeviceptr; ++#endif ++typedef void *CUevent; ++typedef void *CUstream; ++ ++typedef enum { ++ CUDA_SUCCESS = 0, ++ CUDA_ERROR_NOT_INITIALIZED = 3, ++ CUDA_ERROR_DEINITIALIZED = 4, ++ CUDA_ERROR_ALREADY_MAPPED = 208, ++ CUDA_ERROR_NOT_READY = 600, ++} CUresult; ++ ++enum { ++ CU_EVENT_DISABLE_TIMING = 0x2, ++ CU_EVENT_INTERPROCESS = 0x4, ++}; ++ ++enum { ++ CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1, ++}; ++ ++typedef enum { ++ CU_POINTER_ATTRIBUTE_CONTEXT = 1, ++ CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2, ++ CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6, ++ CU_POINTER_ATTRIBUTE_BUFFER_ID = 7, ++ CU_POINTER_ATTRIBUTE_IS_MANAGED = 8, ++} CUpointer_attribute; ++ ++typedef enum { ++ CU_MEMORYTYPE_HOST = 0x01, ++} CUmemorytype; ++ ++typedef struct CUipcEventHandle CUipcEventHandle; ++ ++#define CU_IPC_HANDLE_SIZE 64 ++typedef struct CUipcMemHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcMemHandle; ++ ++CUresult cuPointerGetAttributes (unsigned int numAttributes, ++ CUpointer_attribute *attributes, void **data, CUdeviceptr ptr); diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-datatype-cuda-performance.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-datatype-cuda-performance.patch new file mode 100644 index 00000000000..8c1a1f8ec35 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-datatype-cuda-performance.patch @@ -0,0 +1,456 @@ +If Open MPI is built with support for CUDA there's a small +(up to 10%) performance penalty for small messages due to overhead +in the datatype memory copy functionality. + +This eliminates most of this overhead as follows: +1. Seperate compilation of CUDA code paths in pack/unpack routines + instead of runtime checks in inner loops, similar to the existing + checksum functionality. +2. Expose opal_cuda_enabled variable so it can be checked directly + in opal_datatype_copy_content_same_ddt() instead of calling a + function. +3. Eliminate cbmemcpy function pointer as it always points to + opal_cuda_memcpy(), and a direct call is cheaper. + +Signed off by Bart Oldeman + +diff --git a/opal/datatype/Makefile.am b/opal/datatype/Makefile.am +index daaaa8e4b0..ef2da1cd81 100644 +--- a/opal/datatype/Makefile.am ++++ b/opal/datatype/Makefile.am +@@ -44,6 +44,11 @@ noinst_LTLIBRARIES = \ + # these sources will be compiled with the special -D + libdatatype_reliable_la_SOURCES = opal_datatype_pack.c opal_datatype_unpack.c + libdatatype_reliable_la_CFLAGS = -DCHECKSUM $(AM_CFLAGS) ++if OPAL_cuda_support ++libdatatype_gpu_la_SOURCES = opal_datatype_pack.c opal_datatype_unpack.c ++libdatatype_gpu_la_CFLAGS = -DOPAL_DATATYPE_PACK_UNPACK_GPU $(AM_CFLAGS) ++noinst_LTLIBRARIES += libdatatype_gpu.la ++endif + + # these sources will be compiled with the normal CFLAGS only + libdatatype_la_SOURCES = \ +@@ -69,6 +74,9 @@ libdatatype_la_SOURCES = \ + opal_datatype_unpack.c + + libdatatype_la_LIBADD = libdatatype_reliable.la ++if OPAL_cuda_support ++libdatatype_la_LIBADD += libdatatype_gpu.la ++endif + + # Conditionally install the header files + if WANT_INSTALL_HEADERS +diff --git a/opal/datatype/opal_convertor.c b/opal/datatype/opal_convertor.c +index 3931d99d17..33aebe2612 100644 +--- a/opal/datatype/opal_convertor.c ++++ b/opal/datatype/opal_convertor.c +@@ -40,8 +40,6 @@ + #include "opal/datatype/opal_convertor_internal.h" + #if OPAL_CUDA_SUPPORT + #include "opal/datatype/opal_datatype_cuda.h" +-#define MEMCPY_CUDA( DST, SRC, BLENGTH, CONVERTOR ) \ +- CONVERTOR->cbmemcpy( (DST), (SRC), (BLENGTH), (CONVERTOR) ) + #endif + + static void opal_convertor_construct( opal_convertor_t* convertor ) +@@ -51,9 +49,6 @@ static void opal_convertor_construct( opal_convertor_t* convertor ) + convertor->partial_length = 0; + convertor->remoteArch = opal_local_arch; + convertor->flags = OPAL_DATATYPE_FLAG_NO_GAPS | CONVERTOR_COMPLETED; +-#if OPAL_CUDA_SUPPORT +- convertor->cbmemcpy = &opal_cuda_memcpy; +-#endif + } + + +@@ -241,11 +236,7 @@ int32_t opal_convertor_pack( opal_convertor_t* pConv, + if( OPAL_LIKELY(NULL == iov[i].iov_base) ) + iov[i].iov_base = (IOVBASE_TYPE *) base_pointer; + else +-#if OPAL_CUDA_SUPPORT +- MEMCPY_CUDA( iov[i].iov_base, base_pointer, iov[i].iov_len, pConv ); +-#else + MEMCPY( iov[i].iov_base, base_pointer, iov[i].iov_len ); +-#endif + pending_length -= iov[i].iov_len; + base_pointer += iov[i].iov_len; + } +@@ -258,11 +249,7 @@ complete_contiguous_data_pack: + if( OPAL_LIKELY(NULL == iov[i].iov_base) ) + iov[i].iov_base = (IOVBASE_TYPE *) base_pointer; + else +-#if OPAL_CUDA_SUPPORT +- MEMCPY_CUDA( iov[i].iov_base, base_pointer, iov[i].iov_len, pConv ); +-#else + MEMCPY( iov[i].iov_base, base_pointer, iov[i].iov_len ); +-#endif + pConv->bConverted = pConv->local_size; + *out_size = i + 1; + pConv->flags |= CONVERTOR_COMPLETED; +@@ -296,11 +283,7 @@ int32_t opal_convertor_unpack( opal_convertor_t* pConv, + if( iov[i].iov_len >= pending_length ) { + goto complete_contiguous_data_unpack; + } +-#if OPAL_CUDA_SUPPORT +- MEMCPY_CUDA( base_pointer, iov[i].iov_base, iov[i].iov_len, pConv ); +-#else + MEMCPY( base_pointer, iov[i].iov_base, iov[i].iov_len ); +-#endif + pending_length -= iov[i].iov_len; + base_pointer += iov[i].iov_len; + } +@@ -310,11 +293,7 @@ int32_t opal_convertor_unpack( opal_convertor_t* pConv, + + complete_contiguous_data_unpack: + iov[i].iov_len = pending_length; +-#if OPAL_CUDA_SUPPORT +- MEMCPY_CUDA( base_pointer, iov[i].iov_base, iov[i].iov_len, pConv ); +-#else + MEMCPY( base_pointer, iov[i].iov_base, iov[i].iov_len ); +-#endif + pConv->bConverted = pConv->local_size; + *out_size = i + 1; + pConv->flags |= CONVERTOR_COMPLETED; +@@ -530,7 +509,7 @@ size_t opal_convertor_compute_remote_size( opal_convertor_t* pConvertor ) + \ + convertor->remote_size = convertor->local_size; \ + if( OPAL_LIKELY(convertor->remoteArch == opal_local_arch) ) { \ +- if( !(convertor->flags & CONVERTOR_WITH_CHECKSUM) && \ ++ if( !(convertor->flags & (CONVERTOR_WITH_CHECKSUM | CONVERTOR_CUDA)) && \ + ((convertor->flags & OPAL_DATATYPE_FLAG_NO_GAPS) || \ + ((convertor->flags & OPAL_DATATYPE_FLAG_CONTIGUOUS) && (1 == count))) ) { \ + return OPAL_SUCCESS; \ +@@ -541,8 +520,8 @@ size_t opal_convertor_compute_remote_size( opal_convertor_t* pConvertor ) + opal_convertor_compute_remote_size( convertor ); \ + assert( NULL != convertor->use_desc->desc ); \ + /* For predefined datatypes (contiguous) do nothing more */ \ +- /* if checksum is enabled then always continue */ \ +- if( ((convertor->flags & (CONVERTOR_WITH_CHECKSUM | OPAL_DATATYPE_FLAG_NO_GAPS)) \ ++ /* if checksum or cuda is enabled then always continue */ \ ++ if( ((convertor->flags & (CONVERTOR_WITH_CHECKSUM | CONVERTOR_CUDA | OPAL_DATATYPE_FLAG_NO_GAPS)) \ + == OPAL_DATATYPE_FLAG_NO_GAPS) && \ + ((convertor->flags & (CONVERTOR_SEND | CONVERTOR_HOMOGENEOUS)) == \ + (CONVERTOR_SEND | CONVERTOR_HOMOGENEOUS)) ) { \ +@@ -592,7 +571,19 @@ int32_t opal_convertor_prepare_for_recv( opal_convertor_t* convertor, + } + } + } else +-#endif /* defined(CHECKSUM) */ ++#elif OPAL_CUDA_SUPPORT ++ if (OPAL_UNLIKELY(convertor->flags & CONVERTOR_CUDA)) { ++ if (OPAL_UNLIKELY(!(convertor->flags & CONVERTOR_HOMOGENEOUS))) { ++ convertor->fAdvance = opal_unpack_general_gpu; ++ } else { ++ if (convertor->pDesc->flags & OPAL_DATATYPE_FLAG_CONTIGUOUS) { ++ convertor->fAdvance = opal_unpack_homogeneous_contig_gpu; ++ } else { ++ convertor->fAdvance = opal_generic_simple_unpack_gpu; ++ } ++ } ++ } else ++#endif /* defined(CHECKSUM) || OPAL_CUDA_SUPPORT */ + if( OPAL_UNLIKELY(!(convertor->flags & CONVERTOR_HOMOGENEOUS)) ) { + convertor->fAdvance = opal_unpack_general; + } else { +@@ -636,7 +627,25 @@ int32_t opal_convertor_prepare_for_send( opal_convertor_t* convertor, + } + } + } else +-#endif /* defined(CHECKSUM) */ ++#elif OPAL_CUDA_SUPPORT ++ if (OPAL_UNLIKELY(convertor->flags & CONVERTOR_CUDA)) { ++ if (CONVERTOR_SEND_CONVERSION ++ == (convertor->flags & (CONVERTOR_SEND_CONVERSION | CONVERTOR_HOMOGENEOUS))) { ++ convertor->fAdvance = opal_pack_general_gpu; ++ } else { ++ if (datatype->flags & OPAL_DATATYPE_FLAG_CONTIGUOUS) { ++ if (((datatype->ub - datatype->lb) == (ptrdiff_t) datatype->size) ++ || (1 >= convertor->count)) { ++ convertor->fAdvance = opal_pack_homogeneous_contig_gpu; ++ } else { ++ convertor->fAdvance = opal_pack_homogeneous_contig_with_gaps_gpu; ++ } ++ } else { ++ convertor->fAdvance = opal_generic_simple_pack_gpu; ++ } ++ } ++ } else ++#endif /* defined(CHECKSUM) || OPAL_CUDA_SUPPORT */ + if( CONVERTOR_SEND_CONVERSION == (convertor->flags & (CONVERTOR_SEND_CONVERSION|CONVERTOR_HOMOGENEOUS)) ) { + convertor->fAdvance = opal_pack_general; + } else { +@@ -694,9 +703,6 @@ int opal_convertor_clone( const opal_convertor_t* source, + destination->bConverted = source->bConverted; + destination->stack_pos = source->stack_pos; + } +-#if OPAL_CUDA_SUPPORT +- destination->cbmemcpy = source->cbmemcpy; +-#endif + return OPAL_SUCCESS; + } + +diff --git a/opal/datatype/opal_convertor.h b/opal/datatype/opal_convertor.h +index b24d94c37b..53b6f0d526 100644 +--- a/opal/datatype/opal_convertor.h ++++ b/opal/datatype/opal_convertor.h +@@ -118,7 +118,6 @@ struct opal_convertor_t { + dt_stack_t static_stack[DT_STATIC_STACK_SIZE]; /**< local stack for small datatypes */ + + #if OPAL_CUDA_SUPPORT +- memcpy_fct_t cbmemcpy; /**< memcpy or cuMemcpy */ + void * stream; /**< CUstream for async copy */ + #endif + }; +diff --git a/opal/datatype/opal_datatype_copy.c b/opal/datatype/opal_datatype_copy.c +index c70bdd24df..d7c10af3dc 100644 +--- a/opal/datatype/opal_datatype_copy.c ++++ b/opal/datatype/opal_datatype_copy.c +@@ -86,14 +86,6 @@ static size_t opal_datatype_memop_block_size = 128 * 1024; + #define MEM_OP opal_cuda_memmove + #include "opal_datatype_copy.h" + +-#define SET_CUDA_COPY_FCT(cuda_device_bufs, fct, copy_function) \ +- do { \ +- if (true == cuda_device_bufs) { \ +- fct = copy_function; \ +- } \ +- } while(0) +-#else +-#define SET_CUDA_COPY_FCT(cuda_device_bufs, fct, copy_function) + #endif + + int32_t opal_datatype_copy_content_same_ddt( const opal_datatype_t* datatype, int32_t count, +@@ -102,10 +94,6 @@ int32_t opal_datatype_copy_content_same_ddt( const opal_datatype_t* datatype, in + ptrdiff_t extent; + int32_t (*fct)( const opal_datatype_t*, int32_t, char*, char*); + +-#if OPAL_CUDA_SUPPORT +- bool cuda_device_bufs = opal_cuda_check_bufs(destination_base, source_base); +-#endif +- + DO_DEBUG( opal_output( 0, "opal_datatype_copy_content_same_ddt( %p, %d, dst %p, src %p )\n", + (void*)datatype, count, (void*)destination_base, (void*)source_base ); ); + +@@ -122,20 +110,25 @@ int32_t opal_datatype_copy_content_same_ddt( const opal_datatype_t* datatype, in + extent = (datatype->true_ub - datatype->true_lb) + (count - 1) * (datatype->ub - datatype->lb); + + fct = non_overlap_copy_content_same_ddt; +- SET_CUDA_COPY_FCT(cuda_device_bufs, fct, non_overlap_cuda_copy_content_same_ddt); + if( destination_base < source_base ) { + if( (destination_base + extent) > source_base ) { + /* memmove */ + fct = overlap_copy_content_same_ddt; +- SET_CUDA_COPY_FCT(cuda_device_bufs, fct, overlap_cuda_copy_content_same_ddt); + } + } else { + if( (source_base + extent) > destination_base ) { + /* memmove */ + fct = overlap_copy_content_same_ddt; +- SET_CUDA_COPY_FCT(cuda_device_bufs, fct, overlap_cuda_copy_content_same_ddt); + } + } ++ ++#if OPAL_CUDA_SUPPORT ++ if (OPAL_UNLIKELY(opal_cuda_enabled) && opal_cuda_check_bufs(destination_base, source_base)) { ++ fct = (fct == non_overlap_copy_content_same_ddt ? ++ non_overlap_cuda_copy_content_same_ddt : overlap_cuda_copy_content_same_ddt); ++ } ++#endif ++ + return fct( datatype, count, destination_base, source_base ); + } + +diff --git a/opal/datatype/opal_datatype_cuda.c b/opal/datatype/opal_datatype_cuda.c +index 7869f17e90..f3b3cef8da 100644 +--- a/opal/datatype/opal_datatype_cuda.c ++++ b/opal/datatype/opal_datatype_cuda.c +@@ -20,7 +20,7 @@ + + static bool initialized = false; + int opal_cuda_verbose = 0; +-static int opal_cuda_enabled = 0; /* Starts out disabled */ ++int opal_cuda_enabled = 1; /* Starts out enabled */ + static int opal_cuda_output = 0; + static void opal_cuda_support_init(void); + static int (*common_cuda_initialization_function)(opal_common_cuda_function_table_t *) = NULL; +@@ -48,10 +48,6 @@ void mca_cuda_convertor_init(opal_convertor_t* convertor, const void *pUserBuf) + opal_cuda_support_init(); + } + +- /* This is needed to handle case where convertor is not fully initialized +- * like when trying to do a sendi with convertor on the statck */ +- convertor->cbmemcpy = (memcpy_fct_t)&opal_cuda_memcpy; +- + /* If not enabled, then nothing else to do */ + if (!opal_cuda_enabled) { + return; +@@ -192,6 +188,7 @@ static void opal_cuda_support_init(void) + + /* Callback into the common cuda initialization routine. This is only + * set if some work had been done already in the common cuda code.*/ ++ opal_cuda_enabled = 0; + if (NULL != common_cuda_initialization_function) { + if (0 == common_cuda_initialization_function(&ftable)) { + opal_cuda_enabled = 1; +diff --git a/opal/datatype/opal_datatype_cuda.h b/opal/datatype/opal_datatype_cuda.h +index 2789320520..d512e24550 100644 +--- a/opal/datatype/opal_datatype_cuda.h ++++ b/opal/datatype/opal_datatype_cuda.h +@@ -30,4 +30,6 @@ void* opal_cuda_memmove(void * dest, void * src, size_t size); + void opal_cuda_add_initialization_function(int (*fptr)(opal_common_cuda_function_table_t *)); + void opal_cuda_set_copy_function_async(opal_convertor_t* convertor, void *stream); + ++extern int opal_cuda_enabled; ++ + #endif +diff --git a/opal/datatype/opal_datatype_pack.c b/opal/datatype/opal_datatype_pack.c +index b4e03a9bea..f42e292e0b 100644 +--- a/opal/datatype/opal_datatype_pack.c ++++ b/opal/datatype/opal_datatype_pack.c +@@ -45,6 +45,11 @@ + #define opal_pack_homogeneous_contig_with_gaps_function opal_pack_homogeneous_contig_with_gaps_checksum + #define opal_generic_simple_pack_function opal_generic_simple_pack_checksum + #define opal_pack_general_function opal_pack_general_checksum ++#elif defined(OPAL_DATATYPE_PACK_UNPACK_GPU) ++#define opal_pack_homogeneous_contig_function opal_pack_homogeneous_contig_gpu ++#define opal_pack_homogeneous_contig_with_gaps_function opal_pack_homogeneous_contig_with_gaps_gpu ++#define opal_generic_simple_pack_function opal_generic_simple_pack_gpu ++#define opal_pack_general_function opal_pack_general_gpu + #else + #define opal_pack_homogeneous_contig_function opal_pack_homogeneous_contig + #define opal_pack_homogeneous_contig_with_gaps_function opal_pack_homogeneous_contig_with_gaps +diff --git a/opal/datatype/opal_datatype_pack.h b/opal/datatype/opal_datatype_pack.h +index 2a2e79180d..7fbf0c88e2 100644 +--- a/opal/datatype/opal_datatype_pack.h ++++ b/opal/datatype/opal_datatype_pack.h +@@ -19,11 +19,12 @@ + + #include "opal_config.h" + +-#if !defined(CHECKSUM) && OPAL_CUDA_SUPPORT ++#if defined(OPAL_DATATYPE_PACK_UNPACK_GPU) + /* Make use of existing macro to do CUDA style memcpy */ ++#include "opal_datatype_cuda.h" + #undef MEMCPY_CSUM + #define MEMCPY_CSUM( DST, SRC, BLENGTH, CONVERTOR ) \ +- CONVERTOR->cbmemcpy( (DST), (SRC), (BLENGTH), (CONVERTOR) ) ++ opal_cuda_memcpy( (DST), (SRC), (BLENGTH), (CONVERTOR) ) + #endif + + /** +diff --git a/opal/datatype/opal_datatype_prototypes.h b/opal/datatype/opal_datatype_prototypes.h +index 668397112b..111f74f2a4 100644 +--- a/opal/datatype/opal_datatype_prototypes.h ++++ b/opal/datatype/opal_datatype_prototypes.h +@@ -39,6 +39,16 @@ OPAL_DECLSPEC int32_t + opal_unpack_general_checksum( opal_convertor_t* pConvertor, + struct iovec* iov, uint32_t* out_size, + size_t* max_data ); ++#if OPAL_CUDA_SUPPORT ++OPAL_DECLSPEC int32_t ++opal_pack_general_gpu( opal_convertor_t* pConvertor, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++OPAL_DECLSPEC int32_t ++opal_unpack_general_gpu( opal_convertor_t* pConvertor, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++#endif + + /* + * Now the internal functions +@@ -83,6 +93,28 @@ int32_t + opal_generic_simple_unpack_checksum( opal_convertor_t* pConvertor, + struct iovec* iov, uint32_t* out_size, + size_t* max_data ); ++#if OPAL_CUDA_SUPPORT ++int32_t ++opal_pack_homogeneous_contig_gpu( opal_convertor_t* pConv, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++int32_t ++opal_pack_homogeneous_contig_with_gaps_gpu( opal_convertor_t* pConv, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++int32_t ++opal_generic_simple_pack_gpu( opal_convertor_t* pConvertor, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++int32_t ++opal_unpack_homogeneous_contig_gpu( opal_convertor_t* pConv, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++int32_t ++opal_generic_simple_unpack_gpu( opal_convertor_t* pConvertor, ++ struct iovec* iov, uint32_t* out_size, ++ size_t* max_data ); ++#endif + + END_C_DECLS + +diff --git a/opal/datatype/opal_datatype_unpack.c b/opal/datatype/opal_datatype_unpack.c +index 26a5810dc0..668b6624aa 100644 +--- a/opal/datatype/opal_datatype_unpack.c ++++ b/opal/datatype/opal_datatype_unpack.c +@@ -46,6 +46,10 @@ + #define opal_unpack_general_function opal_unpack_general_checksum + #define opal_unpack_homogeneous_contig_function opal_unpack_homogeneous_contig_checksum + #define opal_generic_simple_unpack_function opal_generic_simple_unpack_checksum ++#elif defined(OPAL_DATATYPE_PACK_UNPACK_GPU) ++#define opal_unpack_general_function opal_unpack_general_gpu ++#define opal_unpack_homogeneous_contig_function opal_unpack_homogeneous_contig_gpu ++#define opal_generic_simple_unpack_function opal_generic_simple_unpack_gpu + #else + #define opal_unpack_general_function opal_unpack_general + #define opal_unpack_homogeneous_contig_function opal_unpack_homogeneous_contig +@@ -204,10 +208,10 @@ opal_unpack_partial_predefined(opal_convertor_t *pConvertor, const dt_elem_desc_ + MEMCPY( temporary + start_position, partial_data, length ); + + /* Save the original content of the user memory */ +-#if OPAL_CUDA_SUPPORT ++#if defined(OPAL_DATATYPE_PACK_UNPACK_GPU) + /* In the case where the data is being unpacked from device memory, need to + * use the special host to device memory copy. */ +- pConvertor->cbmemcpy(saved_data, user_data, data_length, pConvertor ); ++ opal_cuda_memcpy(saved_data, user_data, data_length, pConvertor ); + #else + MEMCPY( saved_data, user_data, data_length ); + #endif +@@ -222,15 +226,15 @@ opal_unpack_partial_predefined(opal_convertor_t *pConvertor, const dt_elem_desc_ + + /* Rebuild the data by pulling back the unmodified bytes from the original + * content in the user memory. */ +-#if OPAL_CUDA_SUPPORT ++#if defined(OPAL_DATATYPE_PACK_UNPACK_GPU) + /* Need to copy the modified user_data again so we can see which + * bytes need to be converted back to their original values. */ + { + char resaved_data[16]; +- pConvertor->cbmemcpy(resaved_data, user_data, data_length, pConvertor ); ++ opal_cuda_memcpy(resaved_data, user_data, data_length, pConvertor ); + for(size_t i = 0; i < data_length; i++ ) { + if( unused_byte == resaved_data[i] ) +- pConvertor->cbmemcpy(&user_data[i], &saved_data[i], 1, pConvertor); ++ opal_cuda_memcpy(&user_data[i], &saved_data[i], 1, pConvertor); + } + } + #else +diff --git a/opal/datatype/opal_datatype_unpack.h b/opal/datatype/opal_datatype_unpack.h +index 33db837882..4159a475fc 100644 +--- a/opal/datatype/opal_datatype_unpack.h ++++ b/opal/datatype/opal_datatype_unpack.h +@@ -19,11 +19,12 @@ + + #include "opal_config.h" + +-#if !defined(CHECKSUM) && OPAL_CUDA_SUPPORT ++#if defined(OPAL_DATATYPE_PACK_UNPACK_GPU) + /* Make use of existing macro to do CUDA style memcpy */ ++#include "opal_datatype_cuda.h" + #undef MEMCPY_CSUM + #define MEMCPY_CSUM( DST, SRC, BLENGTH, CONVERTOR ) \ +- CONVERTOR->cbmemcpy( (DST), (SRC), (BLENGTH), (CONVERTOR) ) ++ opal_cuda_memcpy( (DST), (SRC), (BLENGTH), (CONVERTOR) ) + #endif + + /** diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-pmix-package-rank.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-pmix-package-rank.patch new file mode 100644 index 00000000000..dbb0965eb44 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_opal-pmix-package-rank.patch @@ -0,0 +1,66 @@ +see https://github.com/open-mpi/ompi/pull/9212 + +From 8b07775d1002cc9be887c41768aea9ac896c5ecd Mon Sep 17 00:00:00 2001 +From: Ralph Castain +Date: Tue, 10 Aug 2021 08:38:15 -0700 +Subject: [PATCH] Use an OPAL-prefixed abstraction for PMIX_PACKAGE_RANK + +If someone configures against PMIx v4.1 or above, the configure +logic will correctly detect the presence of PMIX_PACKAGE_RANK. +However, the internal code only includes the opal/mca/pmix headers +and thus only the OPAL-prefixed PMIx abstractions are available. +Add an OPAL_PMIX_PACKAGE_RANK abstraction and update the common/ofi +code to use it. + +Signed-off-by: Ralph Castain +--- + opal/mca/common/ofi/common_ofi.c | 6 ++---- + opal/mca/pmix/pmix_types.h | 2 ++ + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/opal/mca/common/ofi/common_ofi.c b/opal/mca/common/ofi/common_ofi.c +index 12bed7eb6b8..769ecb75239 100644 +--- a/opal/mca/common/ofi/common_ofi.c ++++ b/opal/mca/common/ofi/common_ofi.c +@@ -312,19 +312,17 @@ static uint32_t get_package_rank(int32_t num_local_peers, uint16_t my_local_rank + char *local_peers = NULL; + char *locality_string = NULL; + char *mylocality = NULL; ++ uint16_t *package_rank_ptr; + + pname.jobid = OPAL_PROC_MY_NAME.jobid; + pname.vpid = OPAL_VPID_WILDCARD; + +-#if HAVE_DECL_PMIX_PACKAGE_RANK +- uint16_t *package_rank_ptr; + // Try to get the PACKAGE_RANK from PMIx +- OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, PMIX_PACKAGE_RANK, ++ OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, OPAL_PMIX_PACKAGE_RANK, + &pname, &package_rank_ptr, OPAL_UINT16); + if (OPAL_SUCCESS == rc) { + return (uint32_t)*package_rank_ptr; + } +-#endif + + // Get the local peers + OPAL_MODEX_RECV_VALUE(rc, OPAL_PMIX_LOCAL_PEERS, +diff --git a/opal/mca/pmix/pmix_types.h b/opal/mca/pmix/pmix_types.h +index d2643b2e549..816e386cbf1 100644 +--- a/opal/mca/pmix/pmix_types.h ++++ b/opal/mca/pmix/pmix_types.h +@@ -2,6 +2,7 @@ + * Copyright (c) 2014-2018 Intel, Inc. All rights reserved. + * Copyright (c) 2016 Research Organization for Information Science + * and Technology (RIST). All rights reserved. ++ * Copyright (c) 2021 Nanook Consulting. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow +@@ -130,6 +131,7 @@ BEGIN_C_DECLS + #define OPAL_PMIX_NPROC_OFFSET "pmix.offset" // (uint32_t) starting global rank of this job + #define OPAL_PMIX_LOCAL_RANK "pmix.lrank" // (uint16_t) rank on this node within this job + #define OPAL_PMIX_NODE_RANK "pmix.nrank" // (uint16_t) rank on this node spanning all jobs ++#define OPAL_PMIX_PACKAGE_RANK "pmix.pkgrank" // (uint16_t) rank within this job on the package where this proc resides + #define OPAL_PMIX_LOCALLDR "pmix.lldr" // (uint64_t) opal_identifier of lowest rank on this node within this job + #define OPAL_PMIX_APPLDR "pmix.aldr" // (uint32_t) lowest rank in this app within this job + #define OPAL_PMIX_PROC_PID "pmix.ppid" // (pid_t) pid of specified proc diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_pmix3x-protection.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_pmix3x-protection.patch new file mode 100644 index 00000000000..6dd3bfb4109 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.1_pmix3x-protection.patch @@ -0,0 +1,81 @@ +see https://github.com/open-mpi/ompi/pull/9213 + +From bd48a06e25c1058b7d3c3ba4414af388836c8219 Mon Sep 17 00:00:00 2001 +From: Ralph Castain +Date: Tue, 10 Aug 2021 13:01:11 -0700 +Subject: [PATCH] Protect the pmix3x component from a PMIx v4 attribute + +PMIx v4 introduced a new PMIX_TOPO2 attribute that takes a data type +unknown to PMIx 3. Unfortunately, that attribute can be provided by +the RM without our knowledge. We will update PMIx to try and detect +it and prevent it from slipping down to this level. Meantime, add +some simple protection here. + +Signed-off-by: Ralph Castain +--- + opal/mca/pmix/pmix3x/pmix3x.c | 29 +++++++++++++++++------------ + 1 file changed, 17 insertions(+), 12 deletions(-) + +diff --git a/opal/mca/pmix/pmix3x/pmix3x.c b/opal/mca/pmix/pmix3x/pmix3x.c +index 90670f6adb6..3b2a5353cc6 100644 +--- a/opal/mca/pmix/pmix3x/pmix3x.c ++++ b/opal/mca/pmix/pmix3x/pmix3x.c +@@ -8,6 +8,7 @@ + * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2017 Los Alamos National Security, LLC. All rights + * reserved. ++ * Copyright (c) 2021 Nanook Consulting. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow +@@ -966,6 +967,7 @@ int pmix3x_value_unload(opal_value_t *kv, + opal_list_t *lt; + opal_value_t *ival; + size_t n; ++ pmix_info_t *iptr; + + switch(v->type) { + case PMIX_UNDEF: +@@ -1178,27 +1180,30 @@ int pmix3x_value_unload(opal_value_t *kv, + kv->data.pinfo.state = pmix3x_convert_state(v->data.pinfo->state); + break; + case PMIX_DATA_ARRAY: +- if (NULL == v->data.darray || NULL == v->data.darray->array) { ++ if (NULL == v->data.darray || NULL == v->data.darray->array || ++ PMIX_INFO != v->data.darray->type) { + kv->data.ptr = NULL; + break; + } + lt = OBJ_NEW(opal_list_t); + kv->type = OPAL_PTR; + kv->data.ptr = (void*)lt; ++ iptr = (pmix_info_t*)v->data.darray->array; + for (n=0; n < v->data.darray->size; n++) { ++ if (0 == strcmp("pmix.topo2", iptr[n].key)) { ++ /* we do not know (yet) how to convert the pmix.topo2 key from PMIx 4.0.0 ++ * but since we are not going to use it, simply ignore it and move on */ ++ continue; ++ } + ival = OBJ_NEW(opal_value_t); + opal_list_append(lt, &ival->super); +- /* handle the various types */ +- if (PMIX_INFO == v->data.darray->type) { +- pmix_info_t *iptr = (pmix_info_t*)v->data.darray->array; +- ival->key = strdup(iptr[n].key); +- rc = pmix3x_value_unload(ival, &iptr[n].value); +- if (OPAL_SUCCESS != rc) { +- OPAL_LIST_RELEASE(lt); +- kv->type = OPAL_UNDEF; +- kv->data.ptr = NULL; +- break; +- } ++ ival->key = strdup(iptr[n].key); ++ rc = pmix3x_value_unload(ival, &iptr[n].value); ++ if (OPAL_SUCCESS != rc) { ++ OPAL_LIST_RELEASE(lt); ++ kv->type = OPAL_UNDEF; ++ kv->data.ptr = NULL; ++ break; + } + } + break; 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 new file mode 100644 index 00000000000..d0d18bc3a0b --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-10.2.0.eb @@ -0,0 +1,37 @@ +name = 'OpenMPI' +version = '4.1.2' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +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] +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'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.2.0'), + ('libevent', '2.1.12'), + ('UCX', '1.9.0'), + ('libfabric', '1.11.0'), + ('PMIx', '3.1.5'), +] + + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration use e.g. --try-amend="configopts=--with-slurm" +# configopts = '--with-slurm --with-pmi=/usr --with-pmi-libdir=/usr/lib64' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..eebd0204a24 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.2-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +name = 'OpenMPI' +version = '4.1.2' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +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] +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'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('hwloc', '2.5.0'), + ('libevent', '2.1.12'), + ('UCX', '1.11.2'), + ('libfabric', '1.13.2'), + ('PMIx', '4.1.0'), +] + +# disable MPI1 compatibility for now, see what breaks... +# configopts = '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..06b168671f7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0.eb @@ -0,0 +1,67 @@ +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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.4_fix-implicit-cuda-function-declaration.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', +] +checksums = [ + {'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.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.34.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.7.1'), + ('libevent', '2.1.12'), + ('UCX', '1.12.1'), + ('libfabric', '1.15.1'), + ('PMIx', '4.1.2'), + ('UCC', '1.0.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..f4fbe865280 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb @@ -0,0 +1,67 @@ +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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.4_fix-implicit-cuda-function-declaration.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', +] +checksums = [ + {'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.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.1.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..a69c1e2b8d4 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4-NVHPC-22.7-CUDA-11.7.0.eb @@ -0,0 +1,70 @@ +name = 'OpenMPI' +version = '4.1.4' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'NVHPC', 'version': '22.7-CUDA-11.7.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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.4_fix-implicit-cuda-function-declaration.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', +] +checksums = [ + {'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.4_fix-implicit-cuda-function-declaration.patch': + 'ec1c2f07d03574b86fc5fb462eed96eb6f5658deb8a6412cf37007d687a28673'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Perl', '5.34.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.7.1'), + ('libevent', '2.1.12'), + ('UCX', '1.12.1'), + ('UCX-CUDA', '1.12.1', '-CUDA-%(cudaver)s'), + ('libfabric', '1.15.1'), + ('PMIx', '4.1.2'), + ('UCC', '1.0.0'), + ('UCC-CUDA', '1.0.0', '-CUDA-%(cudaver)s'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' +configopts += ' CC=pgcc CXX=pgc++ FC=pgfortran' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch new file mode 100644 index 00000000000..3ccb7d43d82 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4_fix-implicit-cuda-function-declaration.patch @@ -0,0 +1,31 @@ +Fix a left-over function causing compilation warnings or errors: +mtl_ofi_component.c:298:5: error: implicit declaration of function 'mca_common_cuda_fini'; did you mean 'ompi_comm_cid_init'? [-Werror=implicit-function-declaration] + mca_common_cuda_fini(); + ^~~~~~~~~~~~~~~~~~~~ + +See https://github.com/open-mpi/ompi/issues/11381 + +From 7676618c43d489b145e730d1d7603f0292a031c0 Mon Sep 17 00:00:00 2001 +From: Jingyin Tang +Date: Mon, 6 Feb 2023 13:48:51 -0500 +Subject: [PATCH] Fix compilation issue in OFI with CUDA + +Signed-off-by: Jingyin Tang +--- + ompi/mca/mtl/ofi/mtl_ofi_component.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/ompi/mca/mtl/ofi/mtl_ofi_component.c b/ompi/mca/mtl/ofi/mtl_ofi_component.c +index c1aac6934d0..e36f020b206 100644 +--- a/ompi/mca/mtl/ofi/mtl_ofi_component.c ++++ b/ompi/mca/mtl/ofi/mtl_ofi_component.c +@@ -294,9 +294,6 @@ ompi_mtl_ofi_component_query(mca_base_module_t **module, int *priority) + static int + ompi_mtl_ofi_component_close(void) + { +-#if OPAL_CUDA_SUPPORT +- mca_common_cuda_fini(); +-#endif + return opal_common_ofi_close(); + } + 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 new file mode 100644 index 00000000000..3ff4b9d8e66 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.2.0.eb @@ -0,0 +1,64 @@ +name = 'OpenMPI' +version = '4.1.5' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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'}, + {'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 = [ + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), + ('libevent', '2.1.12'), + ('UCX', '1.13.1'), + ('libfabric', '1.16.1'), + ('PMIx', '4.2.2'), + ('UCC', '1.1.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..e415d495156 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-GCC-12.3.0.eb @@ -0,0 +1,69 @@ +name = 'OpenMPI' +version = '4.1.5' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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.5_fix-pmix3x.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', + 'OpenMPI-4.1.5_fix_opal_unsupported_key.patch', +] +checksums = [ + {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, + {'OpenMPI-4.1.5_fix_opal_unsupported_key.patch': + '4375a58a18c8bced14cc5978f98a7f2395cc6a9c07dd65b1c28f53294cad4385'}, +] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Perl', '5.36.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('hwloc', '2.9.1'), + ('libevent', '2.1.12'), + ('UCX', '1.14.1'), + ('libfabric', '1.18.0'), + ('PMIx', '4.2.4'), + ('UCC', '1.2.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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 new file mode 100644 index 00000000000..59780f6df6e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5-intel-compilers-2023.1.0.eb @@ -0,0 +1,66 @@ +name = 'OpenMPI' +version = '4.1.5' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'intel-compilers', 'version': '2023.1.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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.5_fix-pmix3x.patch', + 'OpenMPI-4.1.x_add_atomic_wmb.patch', +] +checksums = [ + {'openmpi-4.1.5.tar.bz2': 'a640986bc257389dd379886fdae6264c8cfa56bc98b71ce3ae3dfbd8ce61dbe3'}, + {'OpenMPI-4.1.1_build-with-internal-cuda-header.patch': + '63eac52736bdf7644c480362440a7f1f0ae7c7cae47b7565f5635c41793f8c83'}, + {'OpenMPI-4.1.1_opal-datatype-cuda-performance.patch': + 'b767c7166cf0b32906132d58de5439c735193c9fd09ec3c5c11db8d5fa68750e'}, + {'OpenMPI-4.1.5_fix-pmix3x.patch': '46edac3dbf32f2a611d45e8a3c8edd3ae2f430eec16a1373b510315272115c40'}, + {'OpenMPI-4.1.x_add_atomic_wmb.patch': '9494bbc546d661ba5189e44b4c84a7f8df30a87cdb9d96ce2e73a7c8fecba172'}, +] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Perl', '5.36.1'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('hwloc', '2.9.1'), + ('libevent', '2.1.12'), + ('UCX', '1.14.1'), + ('libfabric', '1.18.0'), + ('PMIx', '4.2.4'), + ('UCC', '1.2.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix-pmix3x.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix-pmix3x.patch new file mode 100644 index 00000000000..5f209139a3d --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix-pmix3x.patch @@ -0,0 +1,581 @@ +From 6e8e14f2c2f207d5fa51299cc67558697a5b7d63 Mon Sep 17 00:00:00 2001 +From: Gilles Gouaillardet +Date: Wed, 8 Mar 2023 10:48:00 +0900 +Subject: [PATCH] pmix3x: use PMIX_VALUE_LOAD() and PMIX_INFO_LOAD() macros + +Refs. open-mpi/ompi#10416 + +bot:notacherrypick + +Signed-off-by: Gilles Gouaillardet +--- + opal/mca/pmix/pmix3x/pmix3x.c | 273 ++++++++++++++++++++++----- + opal/mca/pmix/pmix3x/pmix3x.h | 6 +- + opal/mca/pmix/pmix3x/pmix3x_client.c | 48 ++--- + 3 files changed, 242 insertions(+), 85 deletions(-) + +diff --git a/opal/mca/pmix/pmix3x/pmix3x.c b/opal/mca/pmix/pmix3x/pmix3x.c +index 3b2a5353cc6..c49b6772af5 100644 +--- a/opal/mca/pmix/pmix3x/pmix3x.c ++++ b/opal/mca/pmix/pmix3x/pmix3x.c +@@ -1,7 +1,7 @@ + /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ + /* + * Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +- * Copyright (c) 2014-2019 Research Organization for Information Science ++ * Copyright (c) 2014-2023 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * Copyright (c) 2014-2015 Mellanox Technologies, Inc. + * All rights reserved. +@@ -217,8 +217,7 @@ static void return_local_event_hdlr(int status, opal_list_t *results, + PMIX_INFO_CREATE(op->info, op->ninfo); + n=0; + OPAL_LIST_FOREACH(kv, cd->info, opal_value_t) { +- (void)strncpy(op->info[n].key, kv->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, kv); ++ pmix3x_info_load(&op->info[n], kv); + ++n; + } + } +@@ -735,7 +734,7 @@ char* pmix3x_convert_jobid(opal_jobid_t jobid) + /**** RHC: NEED TO ADD SUPPORT FOR NEW PMIX DATA TYPES, INCLUDING + **** CONVERSION OF PROC STATES ****/ + +-void pmix3x_value_load(pmix_value_t *v, ++void pmix3x_info_load(pmix_info_t *i, + opal_value_t *kv) + { + opal_pmix3x_jobid_trkr_t *job; +@@ -743,91 +742,264 @@ void pmix3x_value_load(pmix_value_t *v, + opal_list_t *list; + opal_value_t *val; + pmix_info_t *info; ++ pmix_envar_t envar; + size_t n; + + switch(kv->type) { + case OPAL_UNDEF: +- v->type = PMIX_UNDEF; ++ PMIX_INFO_LOAD(i, kv->key, &kv->data, PMIX_UNDEF); + break; + case OPAL_BOOL: +- v->type = PMIX_BOOL; +- memcpy(&(v->data.flag), &kv->data.flag, 1); ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.flag, PMIX_BOOL); + break; + case OPAL_BYTE: +- v->type = PMIX_BYTE; +- memcpy(&(v->data.byte), &kv->data.byte, 1); ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.byte, PMIX_BYTE); + break; + case OPAL_STRING: +- v->type = PMIX_STRING; +- if (NULL != kv->data.string) { +- v->data.string = strdup(kv->data.string); ++ PMIX_INFO_LOAD(i, kv->key, kv->data.string, PMIX_STRING); ++ break; ++ case OPAL_SIZE: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.size, PMIX_SIZE); ++ break; ++ case OPAL_PID: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.pid, PMIX_PID); ++ break; ++ case OPAL_INT: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.integer, PMIX_INT); ++ break; ++ case OPAL_INT8: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.int8, PMIX_INT8); ++ break; ++ case OPAL_INT16: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.int16, PMIX_INT16); ++ break; ++ case OPAL_INT32: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.int32, PMIX_INT32); ++ break; ++ case OPAL_INT64: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.int64, PMIX_INT64); ++ break; ++ case OPAL_UINT: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.uint, PMIX_UINT); ++ break; ++ case OPAL_UINT8: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.uint8, PMIX_UINT8); ++ break; ++ case OPAL_UINT16: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.uint16, PMIX_UINT16); ++ break; ++ case OPAL_UINT32: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.uint32, PMIX_UINT32); ++ break; ++ case OPAL_UINT64: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.uint32, PMIX_UINT64); ++ break; ++ case OPAL_FLOAT: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.fval, PMIX_FLOAT); ++ break; ++ case OPAL_DOUBLE: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.dval, PMIX_DOUBLE); ++ break; ++ case OPAL_TIMEVAL: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.tv, PMIX_TIMEVAL); ++ break; ++ case OPAL_TIME: ++ PMIX_INFO_LOAD(i, kv->key, &kv->data.time, PMIX_TIME); ++ break; ++ case OPAL_STATUS: ++ i->value.type = PMIX_STATUS; ++ i->value.data.status = pmix3x_convert_opalrc(kv->data.status); ++ break; ++ case OPAL_VPID: ++ i->value.type = PMIX_PROC_RANK; ++ i->value.data.rank = pmix3x_convert_opalrank(kv->data.name.vpid); ++ break; ++ case OPAL_NAME: ++ i->value.type = PMIX_PROC; ++ /* have to stringify the jobid */ ++ PMIX_PROC_CREATE(i->value.data.proc, 1); ++ /* see if this job is in our list of known nspaces */ ++ found = false; ++ OPAL_LIST_FOREACH(job, &mca_pmix_pmix3x_component.jobids, opal_pmix3x_jobid_trkr_t) { ++ if (job->jobid == kv->data.name.jobid) { ++ (void)strncpy(i->value.data.proc->nspace, job->nspace, PMIX_MAX_NSLEN); ++ found = true; ++ break; ++ } ++ } ++ if (!found) { ++ (void)opal_snprintf_jobid(i->value.data.proc->nspace, PMIX_MAX_NSLEN, kv->data.name.jobid); ++ } ++ i->value.data.proc->rank = pmix3x_convert_opalrank(kv->data.name.vpid); ++ break; ++ case OPAL_BYTE_OBJECT: ++ i->value.type = PMIX_BYTE_OBJECT; ++ if (NULL != kv->data.bo.bytes) { ++ i->value.data.bo.bytes = (char*)malloc(kv->data.bo.size); ++ memcpy(i->value.data.bo.bytes, kv->data.bo.bytes, kv->data.bo.size); ++ i->value.data.bo.size = (size_t)kv->data.bo.size; ++ } else { ++ i->value.data.bo.bytes = NULL; ++ i->value.data.bo.size = 0; ++ } ++ break; ++ case OPAL_PERSIST: ++ i->value.type = PMIX_PERSIST; ++ i->value.data.persist = pmix3x_convert_opalpersist((opal_pmix_persistence_t)kv->data.uint8); ++ break; ++ case OPAL_SCOPE: ++ i->value.type = PMIX_SCOPE; ++ i->value.data.scope = pmix3x_convert_opalscope((opal_pmix_scope_t)kv->data.uint8); ++ break; ++ case OPAL_DATA_RANGE: ++ i->value.type = PMIX_DATA_RANGE; ++ i->value.data.range = pmix3x_convert_opalrange((opal_pmix_data_range_t)kv->data.uint8); ++ break; ++ case OPAL_PROC_STATE: ++ i->value.type = PMIX_PROC_STATE; ++ /* the OPAL layer doesn't have any concept of proc state, ++ * so the ORTE layer is responsible for converting it */ ++ memcpy(&i->value.data.state, &kv->data.uint8, sizeof(uint8_t)); ++ break; ++ case OPAL_PTR: ++ /* if the opal_value_t is passing a true pointer, then ++ * respect that request and pass it along */ ++ if (0 == strcmp(kv->key, OPAL_PMIX_EVENT_RETURN_OBJECT)) { ++ i->value.type = PMIX_POINTER; ++ i->value.data.ptr = kv->data.ptr; ++ break; ++ } ++ /* otherwise, it must be to a list of ++ * opal_value_t's that we need to convert to a pmix_data_array ++ * of pmix_info_t structures */ ++ list = (opal_list_t*)kv->data.ptr; ++ i->value.type = PMIX_DATA_ARRAY; ++ i->value.data.darray = (pmix_data_array_t*)malloc(sizeof(pmix_data_array_t)); ++ i->value.data.darray->type = PMIX_INFO; ++ i->value.data.darray->size = opal_list_get_size(list); ++ if (0 < i->value.data.darray->size) { ++ PMIX_INFO_CREATE(info, i->value.data.darray->size); ++ i->value.data.darray->array = info; ++ n=0; ++ OPAL_LIST_FOREACH(val, list, opal_value_t) { ++ if (NULL != val->key) { ++ (void)strncpy(info[n].key, val->key, PMIX_MAX_KEYLEN); ++ } ++ pmix3x_value_load(&info[n].value, val); ++ ++n; ++ } + } else { +- v->data.string = NULL; ++ i->value.data.darray->array = NULL; ++ } ++ break; ++ case OPAL_PROC_INFO: ++ i->value.type = PMIX_PROC_INFO; ++ PMIX_PROC_INFO_CREATE(i->value.data.pinfo, 1); ++ /* see if this job is in our list of known nspaces */ ++ found = false; ++ OPAL_LIST_FOREACH(job, &mca_pmix_pmix3x_component.jobids, opal_pmix3x_jobid_trkr_t) { ++ if (job->jobid == kv->data.pinfo.name.jobid) { ++ (void)strncpy(i->value.data.pinfo->proc.nspace, job->nspace, PMIX_MAX_NSLEN); ++ found = true; ++ break; ++ } ++ } ++ if (!found) { ++ (void)opal_snprintf_jobid(i->value.data.pinfo->proc.nspace, PMIX_MAX_NSLEN, kv->data.pinfo.name.jobid); + } ++ i->value.data.pinfo->proc.rank = pmix3x_convert_opalrank(kv->data.pinfo.name.vpid); ++ if (NULL != kv->data.pinfo.hostname) { ++ i->value.data.pinfo->hostname = strdup(kv->data.pinfo.hostname); ++ } ++ if (NULL != kv->data.pinfo.executable_name) { ++ i->value.data.pinfo->executable_name = strdup(kv->data.pinfo.executable_name); ++ } ++ i->value.data.pinfo->pid = kv->data.pinfo.pid; ++ i->value.data.pinfo->exit_code = kv->data.pinfo.exit_code; ++ i->value.data.pinfo->state = pmix3x_convert_opalstate(kv->data.pinfo.state); ++ break; ++ case OPAL_ENVAR: ++ PMIX_ENVAR_CONSTRUCT(&envar); ++ PMIX_ENVAR_LOAD(&envar, kv->data.envar.envar, kv->data.envar.value, kv->data.envar.separator); ++ PMIX_INFO_LOAD(i, kv->key, &envar, PMIX_ENVAR); ++ PMIX_ENVAR_DESTRUCT(&envar); ++ break; ++ default: ++ /* silence warnings */ ++ break; ++ } ++} ++ ++void pmix3x_value_load(pmix_value_t *v, ++ opal_value_t *kv) ++{ ++ opal_pmix3x_jobid_trkr_t *job; ++ bool found; ++ opal_list_t *list; ++ opal_value_t *val; ++ pmix_info_t *info; ++ size_t n; ++ ++ switch(kv->type) { ++ case OPAL_UNDEF: ++ PMIX_VALUE_LOAD(v, NULL, PMIX_UNDEF); ++ break; ++ case OPAL_BOOL: ++ PMIX_VALUE_LOAD(v, &kv->data.flag, PMIX_BOOL); ++ break; ++ case OPAL_BYTE: ++ PMIX_VALUE_LOAD(v, &kv->data.byte, PMIX_BYTE); ++ break; ++ case OPAL_STRING: ++ PMIX_VALUE_LOAD(v, kv->data.string, PMIX_STRING); + break; + case OPAL_SIZE: +- v->type = PMIX_SIZE; +- memcpy(&(v->data.size), &kv->data.size, sizeof(size_t)); ++ PMIX_VALUE_LOAD(v, &kv->data.size, PMIX_SIZE); + break; + case OPAL_PID: +- v->type = PMIX_PID; +- memcpy(&(v->data.pid), &kv->data.pid, sizeof(pid_t)); ++ PMIX_VALUE_LOAD(v, &kv->data.pid, PMIX_PID); + break; + case OPAL_INT: +- v->type = PMIX_INT; +- memcpy(&(v->data.integer), &kv->data.integer, sizeof(int)); ++ PMIX_VALUE_LOAD(v, &kv->data.integer, PMIX_INT); + break; + case OPAL_INT8: +- v->type = PMIX_INT8; +- memcpy(&(v->data.int8), &kv->data.int8, 1); ++ PMIX_VALUE_LOAD(v, &kv->data.int8, PMIX_INT8); + break; + case OPAL_INT16: +- v->type = PMIX_INT16; +- memcpy(&(v->data.int16), &kv->data.int16, 2); ++ PMIX_VALUE_LOAD(v, &kv->data.int16, PMIX_INT16); + break; + case OPAL_INT32: +- v->type = PMIX_INT32; +- memcpy(&(v->data.int32), &kv->data.int32, 4); ++ PMIX_VALUE_LOAD(v, &kv->data.int32, PMIX_INT32); + break; + case OPAL_INT64: +- v->type = PMIX_INT64; +- memcpy(&(v->data.int64), &kv->data.int64, 8); ++ PMIX_VALUE_LOAD(v, &kv->data.int64, PMIX_INT64); + break; + case OPAL_UINT: +- v->type = PMIX_UINT; +- memcpy(&(v->data.uint), &kv->data.uint, sizeof(int)); ++ PMIX_VALUE_LOAD(v, &kv->data.uint, PMIX_UINT); + break; + case OPAL_UINT8: +- v->type = PMIX_UINT8; +- memcpy(&(v->data.uint8), &kv->data.uint8, 1); ++ PMIX_VALUE_LOAD(v, &kv->data.uint8, PMIX_UINT8); + break; + case OPAL_UINT16: +- v->type = PMIX_UINT16; +- memcpy(&(v->data.uint16), &kv->data.uint16, 2); ++ PMIX_VALUE_LOAD(v, &kv->data.uint16, PMIX_UINT16); + break; + case OPAL_UINT32: +- v->type = PMIX_UINT32; +- memcpy(&(v->data.uint32), &kv->data.uint32, 4); ++ PMIX_VALUE_LOAD(v, &kv->data.uint32, PMIX_UINT32); + break; + case OPAL_UINT64: +- v->type = PMIX_UINT64; +- memcpy(&(v->data.uint64), &kv->data.uint64, 8); ++ PMIX_VALUE_LOAD(v, &kv->data.uint64, PMIX_UINT64); + break; + case OPAL_FLOAT: +- v->type = PMIX_FLOAT; +- memcpy(&(v->data.fval), &kv->data.fval, sizeof(float)); ++ PMIX_VALUE_LOAD(v, &kv->data.fval, PMIX_FLOAT); + break; + case OPAL_DOUBLE: +- v->type = PMIX_DOUBLE; +- memcpy(&(v->data.dval), &kv->data.dval, sizeof(double)); ++ PMIX_VALUE_LOAD(v, &kv->data.dval, PMIX_DOUBLE); + break; + case OPAL_TIMEVAL: +- v->type = PMIX_TIMEVAL; +- memcpy(&(v->data.tv), &kv->data.tv, sizeof(struct timeval)); ++ PMIX_VALUE_LOAD(v, &kv->data.tv, PMIX_TIMEVAL); + break; + case OPAL_TIME: +- v->type = PMIX_TIME; +- memcpy(&(v->data.time), &kv->data.time, sizeof(time_t)); ++ PMIX_VALUE_LOAD(v, &kv->data.time, PMIX_TIME); + break; + case OPAL_STATUS: + v->type = PMIX_STATUS; +@@ -1308,8 +1480,7 @@ static void register_handler(opal_list_t *event_codes, + PMIX_INFO_CREATE(op->info, op->ninfo); + n=0; + OPAL_LIST_FOREACH(kv, info, opal_value_t) { +- (void)strncpy(op->info[n].key, kv->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, kv); ++ pmix3x_info_load(&op->info[n], kv); + ++n; + } + } +@@ -1428,7 +1599,7 @@ static int notify_event(int status, + op->info[n].value.type = PMIX_STATUS; + op->info[n].value.data.status = pmix3x_convert_opalrc(kv->data.integer); + } else { +- pmix3x_value_load(&op->info[n].value, kv); ++ pmix3x_info_load(&op->info[n], kv); + } + ++n; + } +@@ -1533,8 +1704,7 @@ static void pmix3x_query(opal_list_t *queries, + PMIX_INFO_CREATE(cd->queries[n].qualifiers, cd->queries[n].nqual); + nq = 0; + OPAL_LIST_FOREACH(ival, &q->qualifiers, opal_value_t) { +- (void)strncpy(cd->queries[n].qualifiers[nq].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&cd->queries[n].qualifiers[nq].value, ival); ++ pmix3x_info_load(&cd->queries[n].qualifiers[nq], ival); + ++nq; + } + } +@@ -1596,8 +1766,7 @@ static void pmix3x_log(opal_list_t *info, + PMIX_INFO_CREATE(cd->info, cd->ninfo); + n=0; + OPAL_LIST_FOREACH(ival, info, opal_value_t) { +- (void)strncpy(cd->info[n].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&cd->info[n].value, ival); ++ pmix3x_info_load(&cd->info[n], ival); + ++n; + } + +diff --git a/opal/mca/pmix/pmix3x/pmix3x.h b/opal/mca/pmix/pmix3x/pmix3x.h +index 94e46bbd461..7048af0cb03 100644 +--- a/opal/mca/pmix/pmix3x/pmix3x.h ++++ b/opal/mca/pmix/pmix3x/pmix3x.h +@@ -3,8 +3,8 @@ + * Copyright (c) 2014-2018 Intel, Inc. All rights reserved. + * Copyright (c) 2014-2015 Mellanox Technologies, Inc. + * All rights reserved. +- * Copyright (c) 2016 Research Organization for Information Science +- * and Technology (RIST). All rights reserved. ++ * Copyright (c) 2016-2023 Research Organization for Information Science ++ * and Technology (RIST). All rights reserved. + * Copyright (c) 2017 Los Alamos National Security, LLC. All rights + * reserved. + * Copyright (c) 2021 IBM Corporation. All rights reserved. +@@ -334,6 +334,8 @@ OPAL_MODULE_DECLSPEC opal_pmix_data_range_t pmix3x_convert_range(pmix_data_range + OPAL_MODULE_DECLSPEC opal_pmix_persistence_t pmix3x_convert_persist(pmix_persistence_t scope); + OPAL_MODULE_DECLSPEC pmix_persistence_t pmix3x_convert_opalpersist(opal_pmix_persistence_t scope); + ++OPAL_MODULE_DECLSPEC void pmix3x_info_load(pmix_info_t *v, ++ opal_value_t *kv); + OPAL_MODULE_DECLSPEC void pmix3x_value_load(pmix_value_t *v, + opal_value_t *kv); + OPAL_MODULE_DECLSPEC int pmix3x_value_unload(opal_value_t *kv, +diff --git a/opal/mca/pmix/pmix3x/pmix3x_client.c b/opal/mca/pmix/pmix3x/pmix3x_client.c +index caf1a409f4a..5d9f0fd28bb 100644 +--- a/opal/mca/pmix/pmix3x/pmix3x_client.c ++++ b/opal/mca/pmix/pmix3x/pmix3x_client.c +@@ -1,8 +1,8 @@ + /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ + /* + * Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +- * Copyright (c) 2014-2017 Research Organization for Information Science +- * and Technology (RIST). All rights reserved. ++ * Copyright (c) 2014-2023 Research Organization for Information Science ++ * and Technology (RIST). All rights reserved. + * Copyright (c) 2014-2017 Mellanox Technologies, Inc. + * All rights reserved. + * Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. +@@ -93,8 +93,7 @@ int pmix3x_client_init(opal_list_t *ilist) + PMIX_INFO_CREATE(pinfo, ninfo); + n=0; + OPAL_LIST_FOREACH(ival, ilist, opal_value_t) { +- (void)strncpy(pinfo[n].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, ival); ++ pmix3x_info_load(&pinfo[n], ival); + ++n; + } + } else { +@@ -222,8 +221,7 @@ int pmix3x_tool_init(opal_list_t *info) + PMIX_INFO_CREATE(pinfo, ninfo); + n=0; + OPAL_LIST_FOREACH(val, info, opal_value_t) { +- (void)strncpy(pinfo[n].key, val->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, val); ++ pmix3x_info_load(&pinfo[n], val); + ++n; + /* check to see if our name is being given from above */ + if (0 == strcmp(val->key, OPAL_PMIX_TOOL_NSPACE)) { +@@ -647,8 +645,7 @@ int pmix3x_get(const opal_process_name_t *proc, const char *key, + PMIX_INFO_CREATE(pinfo, sz); + n=0; + OPAL_LIST_FOREACH(ival, info, opal_value_t) { +- (void)strncpy(pinfo[n].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, ival); ++ pmix3x_info_load(&pinfo[n], ival); + ++n; + } + } +@@ -768,8 +765,7 @@ int pmix3x_getnb(const opal_process_name_t *proc, const char *key, + PMIX_INFO_CREATE(op->info, op->sz); + n=0; + OPAL_LIST_FOREACH(val, info, opal_value_t) { +- (void)strncpy(op->info[n].key, val->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, val); ++ pmix3x_info_load(&op->info[n], val); + ++n; + } + } +@@ -809,8 +805,7 @@ int pmix3x_publish(opal_list_t *info) + PMIX_INFO_CREATE(pinfo, sz); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(pinfo[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, iptr); ++ pmix3x_info_load(&pinfo[n], iptr); + ++n; + } + } else { +@@ -857,8 +852,7 @@ int pmix3x_publishnb(opal_list_t *info, + PMIX_INFO_CREATE(op->info, op->sz); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(op->info[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, iptr); ++ pmix3x_info_load(&op->info[n], iptr); + ++n; + } + } +@@ -903,8 +897,7 @@ int pmix3x_lookup(opal_list_t *data, opal_list_t *info) + PMIX_INFO_CREATE(pinfo, sz); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(pinfo[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, iptr); ++ pmix3x_info_load(&pinfo[n], iptr); + ++n; + } + } +@@ -1052,8 +1045,7 @@ int pmix3x_lookupnb(char **keys, opal_list_t *info, + PMIX_INFO_CREATE(op->info, op->sz); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(op->info[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, iptr); ++ pmix3x_info_load(&op->info[n], iptr); + ++n; + } + } +@@ -1080,8 +1072,7 @@ int pmix3x_unpublish(char **keys, opal_list_t *info) + PMIX_INFO_CREATE(pinfo, ninfo); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(pinfo[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&pinfo[n].value, iptr); ++ pmix3x_info_load(&pinfo[n], iptr); + ++n; + } + } else { +@@ -1119,8 +1110,7 @@ int pmix3x_unpublishnb(char **keys, opal_list_t *info, + PMIX_INFO_CREATE(op->info, op->sz); + n=0; + OPAL_LIST_FOREACH(iptr, info, opal_value_t) { +- (void)strncpy(op->info[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, iptr); ++ pmix3x_info_load(&op->info[n], iptr); + ++n; + } + } +@@ -1154,8 +1144,7 @@ int pmix3x_spawn(opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid) + PMIX_INFO_CREATE(info, ninfo); + n=0; + OPAL_LIST_FOREACH(ival, job_info, opal_value_t) { +- (void)strncpy(info[n].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&info[n].value, ival); ++ pmix3x_info_load(&info[n], ival); + ++n; + } + } +@@ -1180,7 +1169,7 @@ int pmix3x_spawn(opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid) + m=0; + OPAL_LIST_FOREACH(ival, &app->info, opal_value_t) { + (void)strncpy(papps[n].info[m].key, ival->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&papps[n].info[m].value, ival); ++ pmix3x_info_load(&papps[n].info[m], ival); + ++m; + } + } +@@ -1270,8 +1259,7 @@ int pmix3x_spawnnb(opal_list_t *job_info, opal_list_t *apps, + PMIX_INFO_CREATE(op->info, op->ninfo); + n=0; + OPAL_LIST_FOREACH(info, job_info, opal_value_t) { +- (void)strncpy(op->info[n].key, info->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, info); ++ pmix3x_info_load(&op->info[n], info); + ++n; + } + } +@@ -1292,8 +1280,7 @@ int pmix3x_spawnnb(opal_list_t *job_info, opal_list_t *apps, + PMIX_INFO_CREATE(op->apps[n].info, op->apps[n].ninfo); + m=0; + OPAL_LIST_FOREACH(info, &app->info, opal_value_t) { +- (void)strncpy(op->apps[n].info[m].key, info->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->apps[n].info[m].value, info); ++ pmix3x_info_load(&op->apps[n].info[m], info); + ++m; + } + } +@@ -1659,8 +1646,7 @@ abort(); + PMIX_INFO_CREATE(op->info, op->ninfo); + n=0; + OPAL_LIST_FOREACH(iptr, directives, opal_value_t) { +- (void)strncpy(op->info[n].key, iptr->key, PMIX_MAX_KEYLEN); +- pmix3x_value_load(&op->info[n].value, iptr); ++ pmix3x_info_load(&op->info[n], iptr); + ++n; + } + } diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch new file mode 100644 index 00000000000..c6e998a1127 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.5_fix_opal_unsupported_key.patch @@ -0,0 +1,73 @@ +# Fix: "UNPACK-OPAL-VALUE: UNSUPPORTED TYPE 33 FOR KEY" error +# See: https://github.com/open-mpi/ompi/issues/11749 +# Original patch by Gilles Gouaillardet +# Note: the patch is already included in openmpi 4.1.6 + +--- orig/openmpi-4.1.5/opal/mca/pmix/pmix3x/pmix3x.c 2023-06-14 21:45:40.159479390 +0900 ++++ openmpi-4.1.5/opal/mca/pmix/pmix3x/pmix3x.c 2023-06-14 21:48:02.469473048 +0900 +@@ -807,14 +807,17 @@ + PMIX_INFO_LOAD(i, kv->key, &kv->data.time, PMIX_TIME); + break; + case OPAL_STATUS: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_STATUS; + i->value.data.status = pmix3x_convert_opalrc(kv->data.status); + break; + case OPAL_VPID: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_RANK; + i->value.data.rank = pmix3x_convert_opalrank(kv->data.name.vpid); + break; + case OPAL_NAME: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC; + /* have to stringify the jobid */ + PMIX_PROC_CREATE(i->value.data.proc, 1); +@@ -833,6 +836,7 @@ + i->value.data.proc->rank = pmix3x_convert_opalrank(kv->data.name.vpid); + break; + case OPAL_BYTE_OBJECT: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_BYTE_OBJECT; + if (NULL != kv->data.bo.bytes) { + i->value.data.bo.bytes = (char*)malloc(kv->data.bo.size); +@@ -844,18 +848,22 @@ + } + break; + case OPAL_PERSIST: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PERSIST; + i->value.data.persist = pmix3x_convert_opalpersist((opal_pmix_persistence_t)kv->data.uint8); + break; + case OPAL_SCOPE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_SCOPE; + i->value.data.scope = pmix3x_convert_opalscope((opal_pmix_scope_t)kv->data.uint8); + break; + case OPAL_DATA_RANGE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_DATA_RANGE; + i->value.data.range = pmix3x_convert_opalrange((opal_pmix_data_range_t)kv->data.uint8); + break; + case OPAL_PROC_STATE: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_STATE; + /* the OPAL layer doesn't have any concept of proc state, + * so the ORTE layer is responsible for converting it */ +@@ -873,6 +881,7 @@ + * opal_value_t's that we need to convert to a pmix_data_array + * of pmix_info_t structures */ + list = (opal_list_t*)kv->data.ptr; ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_DATA_ARRAY; + i->value.data.darray = (pmix_data_array_t*)malloc(sizeof(pmix_data_array_t)); + i->value.data.darray->type = PMIX_INFO; +@@ -893,6 +902,7 @@ + } + break; + case OPAL_PROC_INFO: ++ PMIX_LOAD_KEY(i->key, kv->key); + i->value.type = PMIX_PROC_INFO; + PMIX_PROC_INFO_CREATE(i->value.data.pinfo, 1); + /* see if this job is in our list of known nspaces */ + 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 new file mode 100644 index 00000000000..831148339ac --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.6-GCC-13.2.0.eb @@ -0,0 +1,64 @@ +name = 'OpenMPI' +version = '4.1.6' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +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'}, + {'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 = [ + ('pkgconf', '2.0.3'), + ('Perl', '5.38.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('hwloc', '2.9.2'), + ('libevent', '2.1.12'), + ('UCX', '1.15.0'), + ('libfabric', '1.19.0'), + ('PMIx', '4.2.6'), + ('UCC', '1.2.0'), +] + +# Update configure to include changes from the "internal-cuda" patch +# by running a subset of autogen.pl sufficient to achieve this +# without doing the full, long-running regeneration. +preconfigopts = ' && '.join([ + 'cd config', + 'autom4te --language=m4sh opal_get_version.m4sh -o opal_get_version.sh', + 'cd ..', + 'autoconf', + 'autoheader', + 'aclocal', + 'automake', + '' +]) + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +configopts = '--with-cuda=internal ' + +# disable MPI1 compatibility for now, see what breaks... +# configopts += '--enable-mpi1-compatibility ' + +# to enable SLURM integration (site-specific) +# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr' + +moduleclass = 'mpi' 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/OpenMPI/OpenMPI-4.x_fix_pmix_discovery.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.x_fix_pmix_discovery.patch new file mode 100644 index 00000000000..59aaba13fa9 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.x_fix_pmix_discovery.patch @@ -0,0 +1,43 @@ +Fix PMIx discovery as per https://github.com/open-mpi/ompi/issues/8823 + +Åke Sandgren, 20211020 +diff -ru openmpi-4.0.3.orig/opal/mca/pmix/ext1x/pmix1x_component.c openmpi-4.0.3/opal/mca/pmix/ext1x/pmix1x_component.c +--- openmpi-4.0.3.orig/opal/mca/pmix/ext1x/pmix1x_component.c 2020-03-04 00:30:15.000000000 +0100 ++++ openmpi-4.0.3/opal/mca/pmix/ext1x/pmix1x_component.c 2021-10-20 11:03:31.656215790 +0200 +@@ -128,8 +128,7 @@ + char *t, *id; + + /* see if a PMIx server is present */ +- if (NULL != (t = getenv("PMIX_SERVER_URI")) || +- NULL != (id = getenv("PMIX_ID"))) { ++ if (NULL != (t = getenv("PMIX_NAMESPACE"))) { + /* if PMIx is present, then we are a client and need to use it */ + *priority = 100; + } else { +diff -ru openmpi-4.0.3.orig/opal/mca/pmix/ext2x/ext2x_component.c openmpi-4.0.3/opal/mca/pmix/ext2x/ext2x_component.c +--- openmpi-4.0.3.orig/opal/mca/pmix/ext2x/ext2x_component.c 2020-03-04 00:30:15.000000000 +0100 ++++ openmpi-4.0.3/opal/mca/pmix/ext2x/ext2x_component.c 2021-10-20 11:06:15.575219609 +0200 +@@ -144,9 +144,7 @@ + char *t, *id; + + /* see if a PMIx server is present */ +- if (NULL != (t = getenv("PMIX_SERVER_URI")) || +- NULL != (t = getenv("PMIX_SERVER_URI2")) || +- NULL != (id = getenv("PMIX_ID"))) { ++ if (NULL != (t = getenv("PMIX_NAMESPACE"))) { + /* if PMIx is present, then we are a client and need to use it */ + *priority = 100; + } else { +diff -ru openmpi-4.0.3.orig/opal/mca/pmix/pmix3x/pmix3x_component.c openmpi-4.0.3/opal/mca/pmix/pmix3x/pmix3x_component.c +--- openmpi-4.0.3.orig/opal/mca/pmix/pmix3x/pmix3x_component.c 2020-03-04 00:30:15.000000000 +0100 ++++ openmpi-4.0.3/opal/mca/pmix/pmix3x/pmix3x_component.c 2021-10-20 11:07:05.774921311 +0200 +@@ -144,8 +144,7 @@ + char *t, *id; + + /* see if a PMIx server is present */ +- if (NULL != (t = getenv("PMIX_SERVER_URI")) || +- NULL != (id = getenv("PMIX_ID"))) { ++ if (NULL != (t = getenv("PMIX_NAMESPACE"))) { + /* if PMIx is present, then we are a client and need to use it */ + *priority = 100; + } else { diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch new file mode 100644 index 00000000000..2d935fda64a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.2_build-with-internal-cuda-header.patch @@ -0,0 +1,139 @@ +Allow building Open MPI with an internal CUDA header and stub library via +--with-cuda=%(start_dir)s/opal/mca/cuda +by providing an internal minimal cuda.h header file, and function stubs. +This eliminates the CUDA (build)dependency; as long as the runtime CUDA version is 8.0+, +the system's libcuda.so will be used successfully by dynamically loaded plugins in +$EBROOTOPENMPI/lib/openmpi, not by the main libmpi.so. + +Author: Bart Oldeman +diff -urN openmpi-5.0.2.orig/opal/mca/cuda/cuda.c openmpi-5.0.2/opal/mca/cuda/cuda.c +--- openmpi-5.0.2.orig/opal/mca/cuda/lib/cuda.c 1970-01-01 00:00:00.000000000 +0000 ++++ openmpi-5.0.2/opal/mca/cuda/lib/cuda.c 2024-02-15 01:39:24.969142045 +0000 +@@ -0,0 +1,28 @@ ++#include "cuda.h" ++ ++CUresult cuPointerGetAttribute(void *, CUpointer_attribute, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemcpyAsync(CUdeviceptr, CUdeviceptr, size_t, CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemAlloc(CUdeviceptr *, size_t) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemFree(CUdeviceptr buf) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxGetCurrent(void *cuContext) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamCreate(CUstream *, int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventCreate(CUevent *, int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventRecord(CUevent, CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventQuery(CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuEventDestroy(CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemHostRegister(void *, size_t, unsigned int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemHostUnregister(void *) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuMemGetAddressRange(CUdeviceptr *, size_t *, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcGetEventHandle(CUipcEventHandle *, CUevent) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcOpenEventHandle(CUevent *, CUipcEventHandle) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcOpenMemHandle(CUdeviceptr *, CUipcMemHandle, unsigned int) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcCloseMemHandle(CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuIpcGetMemHandle(CUipcMemHandle *, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxGetDevice(CUdevice *) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuDeviceCanAccessPeer(int *, CUdevice, CUdevice) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuCtxSetCurrent(CUcontext) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamSynchronize(CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuStreamDestroy(CUstream) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuPointerSetAttribute(const void *, CUpointer_attribute, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuDeviceGetPCIBusId(char*, int, CUdevice) { return CUDA_ERROR_UNKNOWN; } ++CUresult cuPointerGetAttributes(unsigned int, CUpointer_attribute *, void **, CUdeviceptr) { return CUDA_ERROR_UNKNOWN; } +diff -urN openmpi-5.0.2.orig/opal/mca/cuda/include/cuda.h openmpi-5.0.2/opal/mca/cuda/include/cuda.h +--- openmpi-5.0.2.orig/opal/mca/cuda/include/cuda.h 1970-01-01 00:00:00.000000000 +0000 ++++ openmpi-5.0.2/opal/mca/cuda/include/cuda.h 2024-02-15 03:07:26.480531383 +0000 +@@ -0,0 +1,95 @@ ++/* This header provides minimal parts of the CUDA Driver API, without having to ++ rely on the proprietary CUDA toolkit. ++ ++ References (to avoid copying from NVidia's proprietary cuda.h): ++ https://github.com/gcc-mirror/gcc/blob/master/include/cuda/cuda.h ++ https://github.com/Theano/libgpuarray/blob/master/src/loaders/libcuda.h ++ https://github.com/CPFL/gdev/blob/master/cuda/driver/cuda.h ++ https://github.com/CudaWrangler/cuew/blob/master/include/cuew.h ++*/ ++ ++#ifndef OMPI_CUDA_H ++#define OMPI_CUDA_H ++ ++#include ++ ++#define CUDA_VERSION 8000 ++ ++typedef void *CUcontext; ++typedef int CUdevice; ++#if defined(__LP64__) || defined(_WIN64) ++typedef unsigned long long CUdeviceptr; ++#else ++typedef unsigned CUdeviceptr; ++#endif ++typedef void *CUevent; ++typedef void *CUstream; ++ ++typedef enum { ++ CUDA_SUCCESS = 0, ++ CUDA_ERROR_INVALID_VALUE = 1, ++ CUDA_ERROR_NOT_INITIALIZED = 3, ++ CUDA_ERROR_DEINITIALIZED = 4, ++ CUDA_ERROR_ALREADY_MAPPED = 208, ++ CUDA_ERROR_NOT_READY = 600, ++ CUDA_ERROR_UNKNOWN = 999, ++} CUresult; ++ ++enum { ++ CU_EVENT_DISABLE_TIMING = 0x2, ++ CU_EVENT_INTERPROCESS = 0x4, ++}; ++ ++enum { ++ CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1, ++}; ++ ++typedef enum { ++ CU_POINTER_ATTRIBUTE_CONTEXT = 1, ++ CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2, ++ CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6, ++ CU_POINTER_ATTRIBUTE_BUFFER_ID = 7, ++ CU_POINTER_ATTRIBUTE_IS_MANAGED = 8, ++} CUpointer_attribute; ++ ++typedef enum { ++ CU_MEMORYTYPE_HOST = 0x01, ++} CUmemorytype; ++ ++#define CU_IPC_HANDLE_SIZE 64 ++typedef struct CUipcEventHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcEventHandle; ++ ++typedef struct CUipcMemHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcMemHandle; ++ ++CUresult cuPointerGetAttribute(void *, CUpointer_attribute, CUdeviceptr); ++CUresult cuMemcpyAsync(CUdeviceptr, CUdeviceptr, size_t, CUstream); ++CUresult cuMemAlloc(CUdeviceptr *, size_t); ++CUresult cuMemFree(CUdeviceptr buf); ++CUresult cuCtxGetCurrent(void *cuContext); ++CUresult cuStreamCreate(CUstream *, int); ++CUresult cuEventCreate(CUevent *, int); ++CUresult cuEventRecord(CUevent, CUstream); ++CUresult cuEventQuery(CUevent); ++CUresult cuEventDestroy(CUevent); ++CUresult cuMemHostRegister(void *, size_t, unsigned int); ++CUresult cuMemHostUnregister(void *); ++CUresult cuMemGetAddressRange(CUdeviceptr *, size_t *, CUdeviceptr); ++CUresult cuIpcGetEventHandle(CUipcEventHandle *, CUevent); ++CUresult cuIpcOpenEventHandle(CUevent *, CUipcEventHandle); ++CUresult cuIpcOpenMemHandle(CUdeviceptr *, CUipcMemHandle, unsigned int); ++CUresult cuIpcCloseMemHandle(CUdeviceptr); ++CUresult cuIpcGetMemHandle(CUipcMemHandle *, CUdeviceptr); ++CUresult cuCtxGetDevice(CUdevice *); ++CUresult cuDeviceCanAccessPeer(int *, CUdevice, CUdevice); ++CUresult cuCtxSetCurrent(CUcontext); ++CUresult cuStreamSynchronize(CUstream); ++CUresult cuStreamDestroy(CUstream); ++CUresult cuPointerSetAttribute(const void *, CUpointer_attribute, CUdeviceptr); ++CUresult cuDeviceGetPCIBusId(char*, int, CUdevice); ++CUresult cuPointerGetAttributes(unsigned int, CUpointer_attribute *, void **, CUdeviceptr); ++ ++#endif diff --git a/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb new file mode 100644 index 00000000000..6864e213a9f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMPI/OpenMPI-5.0.3-GCC-13.3.0.eb @@ -0,0 +1,38 @@ +name = 'OpenMPI' +version = '5.0.3' + +homepage = 'https://www.open-mpi.org/' +description = """The Open MPI Project is an open source MPI-3 implementation.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [('OpenMPI-5.0.2_build-with-internal-cuda-header.patch', 1)] +checksums = [ + {'openmpi-5.0.3.tar.bz2': '990582f206b3ab32e938aa31bbf07c639368e4405dca196fabe7f0f76eeda90b'}, + {'OpenMPI-5.0.2_build-with-internal-cuda-header.patch': + 'f52dc470543f35efef10d651dd159c771ae25f8f76a420d20d87abf4dc769ed7'}, +] + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), + ('libevent', '2.1.12'), + ('UCX', '1.16.0'), + ('libfabric', '1.21.0'), + ('PMIx', '5.0.2'), + ('PRRTE', '3.0.5'), + ('UCC', '1.3.0'), +] + +# CUDA related patches and custom configure option can be removed if CUDA support isn't wanted. +preconfigopts = 'gcc -Iopal/mca/cuda/include -shared opal/mca/cuda/lib/cuda.c -o opal/mca/cuda/lib/libcuda.so && ' +configopts = '--with-cuda=%(start_dir)s/opal/mca/cuda --with-show-load-errors=no ' + +moduleclass = 'mpi' diff --git a/easybuild/easyconfigs/o/OpenMS/OpenMS-2.4.0-foss-2018b.eb b/easybuild/easyconfigs/o/OpenMS/OpenMS-2.4.0-foss-2018b.eb index c2c006a21f5..0be7211a54e 100644 --- a/easybuild/easyconfigs/o/OpenMS/OpenMS-2.4.0-foss-2018b.eb +++ b/easybuild/easyconfigs/o/OpenMS/OpenMS-2.4.0-foss-2018b.eb @@ -33,7 +33,7 @@ dependencies = [ ('Xerces-C++', '3.2.0'), ('LIBSVM', '3.23'), ('GLPK', '4.65'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('SQLite', '3.24.0'), ('bzip2', '1.0.6'), ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-intel-2021a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-intel-2021a.eb new file mode 100644 index 00000000000..bc3c48de829 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-intel-2021a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '21.06' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + '54cf989c1e0fcb7e8927f0c64fe356b300bf3537e4868356eea47105a8a06e3a', # OpenMolcas-v21.06.tar.gz + '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a', # OpenMolcas-21.06_mcpdft_deps.patch +] + +dependencies = [ + ('GlobalArrays', '5.8'), + ('HDF5', '1.10.7'), + ('Python', '3.9.5'), +] + +builddependencies = [('CMake', '3.20.1')] + +separate_build_dir = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +configopts = '-DLINALG=MKL -DMKLROOT=$MKLROOT ' +configopts += '-DMPI=ON -DOPENMP=ON -DGA=ON ' +configopts += '-DBUILD_SHARED_LIBS=ON -DTOOLS=ON -DFDE=ON' + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb new file mode 100644 index 00000000000..2de233814bf --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '21.06' + +homepage = 'https://gitlab.com/Molcas/OpenMolcas' +description = "OpenMolcas is a quantum chemistry software package" + +toolchain = {'name': 'iomkl', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/%(name)s/-/archive/v%(version)s/'] +sources = ['%(name)s-v%(version)s.tar.gz'] +patches = ['%(name)s-21.06_mcpdft_deps.patch'] +checksums = [ + '54cf989c1e0fcb7e8927f0c64fe356b300bf3537e4868356eea47105a8a06e3a', # %(name)s-v21.06.tar.gz + '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a', # %(name)s-21.06_mcpdft_deps.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('GlobalArrays', '5.8'), + ('HDF5', '1.10.7'), + ('Python', '3.9.5'), +] + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +configopts = "-DLINALG=MKL -DMKLROOT=$MKLROOT -DMPI=ON -DOPENMP=ON -DGA=ON -DBUILD_SHARED_LIBS=ON -DTOOLS=ON -DFDE=ON" + + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.so', 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +modextrapaths = {'PATH': ''} + +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06_mcpdft_deps.patch b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06_mcpdft_deps.patch new file mode 100644 index 00000000000..4b6cce49e7a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06_mcpdft_deps.patch @@ -0,0 +1,14 @@ +# mcpdft has a rasscf dependency +# July 14th 2021 by B. Hajgato (UGent) +--- OpenMolcas-v21.06/CMakeLists.txt.orig 2021-06-09 11:56:51.000000000 +0200 ++++ OpenMolcas-v21.06/CMakeLists.txt 2021-07-14 22:57:35.247625196 +0200 +@@ -2652,6 +2652,9 @@ + + # set program dependencies of super modules + # (note dependencies are not recursive with object libraries, so child dependencies must be explicit) ++set (mcpdft_deplibs ++ rasscf ++) + set (casvb_deplibs + rasscf + ) diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb new file mode 100644 index 00000000000..b8d19e00410 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.06-intel-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.06' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + '45daca1e6465d59a43479d5509315bca9c19dedbb0a2d4bb4f26f0b443b7670d', # OpenMolcas-v22.06.tar.gz + '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a', # OpenMolcas-21.06_mcpdft_deps.patch +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('GlobalArrays', '5.8.1'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), +] + +build_shared_libs = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +configopts = '-DLINALG=MKL -DMKLROOT=$MKLROOT ' +configopts += '-DMPI=ON -DOPENMP=ON -DGA=ON ' +configopts += '-DTOOLS=ON -DFDE=ON' + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb new file mode 100644 index 00000000000..b7411caf8a6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a-noGA.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.10' +versionsuffix = '-noGA' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = """OpenMolcas is a quantum chemistry software package. +This build does not support MPI and can only be run on a single node.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + {'OpenMolcas-v22.10.tar.gz': 'd1d3d6c9bd69486c36f5285a51ac18e75c03540c5b33751855e94abc764d9658'}, + {'OpenMolcas-21.06_mcpdft_deps.patch': '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), +] + +build_shared_libs = True + +_copts = [ + '-DLINALG=MKL', + '-DMKLROOT=$MKLROOT', + '-DOPENMP=ON', + '-DTOOLS=ON', + '-DFDE=ON', + '-DMPI=OFF', + '-DGA=OFF', +] +configopts = ' '.join(_copts) + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify'] + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb new file mode 100644 index 00000000000..58cdb96d1a4 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '22.10' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package." + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] +patches = ['OpenMolcas-21.06_mcpdft_deps.patch'] +checksums = [ + {'OpenMolcas-v22.10.tar.gz': 'd1d3d6c9bd69486c36f5285a51ac18e75c03540c5b33751855e94abc764d9658'}, + {'OpenMolcas-21.06_mcpdft_deps.patch': '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('HDF5', '1.12.2'), + ('GlobalArrays', '5.8.1'), +] + +build_shared_libs = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +_copts = [ + '-DLINALG=MKL', + '-DMKLROOT=$MKLROOT', + '-DOPENMP=ON', + '-DTOOLS=ON', + '-DFDE=ON', + '-DMPI=ON', + '-DGA=ON', +] +configopts = ' '.join(_copts) + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify'] + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb new file mode 100644 index 00000000000..fea8d5f3c37 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb @@ -0,0 +1,61 @@ +easyblock = 'CMakeMake' + +name = 'OpenMolcas' +version = '23.06' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package." + +toolchain = {'name': 'intel', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["%(name)s-v%(version)s.tar.gz"] +patches = ['%(name)s-%(version)s_mcpdft_deps.patch'] +checksums = [ + # OpenMolcas-v23.06.tar.gz + ('fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280', + 'c3c8f31c22e028e1ac3bd8fb405cea83e8a6fcf21f00e71e81a92941cb026415'), + # OpenMolcas-23.06_mcpdft_deps.patch + 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e', +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('HDF5', '1.14.0'), + ('GlobalArrays', '5.8.2'), +] + +build_shared_libs = True + +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +_copts = [ + '-DLINALG=MKL', + '-DMKLROOT=$MKLROOT', + '-DOPENMP=ON', + '-DTOOLS=ON', + '-DFDE=ON', + '-DMPI=ON', + '-DGA=ON', +] +configopts = ' '.join(_copts) + +modextrapaths = {'PATH': ''} +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify'] + +sanity_check_paths = { + 'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT, + 'sbin/help_basis', 'pymolcas'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06_mcpdft_deps.patch b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06_mcpdft_deps.patch new file mode 100644 index 00000000000..9351f956181 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06_mcpdft_deps.patch @@ -0,0 +1,17 @@ +# What: Add rasscf as a dependency to mcpdft +# Authors: B. Hajgato (UGent), 2021 +# maxim-masterov (SURF), 2023 +# +diff -Nru OpenMolcas-v23.06.orig/CMakeLists.txt OpenMolcas-v23.06/CMakeLists.txt +--- OpenMolcas-v23.06.orig/CMakeLists.txt 2023-10-09 13:47:31.989388000 +0200 ++++ OpenMolcas-v23.06/CMakeLists.txt 2023-10-09 13:47:56.971468000 +0200 +@@ -2354,6 +2354,9 @@ + + # set program dependencies of super modules + # (note dependencies are not recursive with object libraries, so child dependencies must be explicit) ++set (mcpdft_deplibs ++ rasscf ++) + set (casvb_deplibs + rasscf + ) diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1aff357627c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' + +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openpgm/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + 'OpenPGM-5.2.122-pkgconfig_includes.patch', + 'OpenPGM-5.2.122-python3-compliant.patch' +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-5.2.122.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # OpenPGM-5.2.122-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # OpenPGM-5.2.122-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0563e14c45a --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' + +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openpgm/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + 'OpenPGM-5.2.122-pkgconfig_includes.patch', + 'OpenPGM-5.2.122-python3-compliant.patch' +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-5.2.122.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # OpenPGM-5.2.122-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # OpenPGM-5.2.122-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fbf1f1a1ad4 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' + +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/openpgm/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + 'OpenPGM-5.2.122-pkgconfig_includes.patch', + 'OpenPGM-5.2.122-python3-compliant.patch' +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-5.2.122.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # OpenPGM-5.2.122-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # OpenPGM-5.2.122-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('Python', '3.10.8'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3c19e74c6d0 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/%(namelower)s/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s-pkgconfig_includes.patch', + '%(name)s-%(version)s-python3-compliant.patch', +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-%(version)s.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # %(name)s-%(version)s-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # %(name)s-%(version)s-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.2.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c5f9932f03f --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/%(namelower)s/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s-pkgconfig_includes.patch', + '%(name)s-%(version)s-python3-compliant.patch', +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-%(version)s.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # %(name)s-%(version)s-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # %(name)s-%(version)s-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.5'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.3.0.eb b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cbf6bca94d7 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenPGM/OpenPGM-5.2.122-GCCcore-13.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'OpenPGM' +version = '5.2.122' + +homepage = 'https://code.google.com/p/openpgm/' +description = """ + OpenPGM is an open source implementation of the Pragmatic General Multicast + (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable + and scalable multicast protocol that enables receivers to detect loss, request + retransmission of lost data, or notify an application of unrecoverable loss. + PGM is a receiver-reliable protocol, which means the receiver is responsible + for ensuring all data is received, absolving the sender of reception + responsibility. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/%(namelower)s/'] +sources = ['libpgm-%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s-pkgconfig_includes.patch', + '%(name)s-%(version)s-python3-compliant.patch', +] +checksums = [ + '6b895f550b95284dcde7189b01e04a9a1c1f94579af31b1eebd32c2207a1ba2c', # libpgm-%(version)s.tar.gz + '4a9fc7fbb6e73e325639a895cd19c1ac6918b575f715c057caa01f826de40114', # %(name)s-%(version)s-pkgconfig_includes.patch + 'a3bf6b4127473d287d72767b0335b8705940e56ffbccc8d4d3bdbf23a2fc8618', # %(name)s-%(version)s-python3-compliant.patch +] + +builddependencies = [ + ('binutils', '2.42'), + ('Python', '3.12.3'), +] + +start_dir = 'pgm' + +sanity_check_paths = { + 'files': ['lib/libpgm.%s' % SHLIB_EXT, 'lib/libpgm.a'], + 'dirs': ['include'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenRefine/OpenRefine-2.7-Java-1.8.0_144.eb b/easybuild/easyconfigs/o/OpenRefine/OpenRefine-2.7-Java-1.8.0_144.eb index ff54cc30a4b..a5bd30ffa85 100644 --- a/easybuild/easyconfigs/o/OpenRefine/OpenRefine-2.7-Java-1.8.0_144.eb +++ b/easybuild/easyconfigs/o/OpenRefine/OpenRefine-2.7-Java-1.8.0_144.eb @@ -15,7 +15,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['16f8c86db061d1c24f1fc64897eb23742e73415a019dd8ea3f39782de833146b'] builddependencies = [ - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ] dependencies = [ ('Java', '1.8.0_144'), diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.eb index ae64518e2d7..e7a9bf5ac96 100644 --- a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.eb +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.0.eb @@ -13,6 +13,8 @@ toolchainopts = {'pic': True} osdependencies = ['perl'] +builddependencies = [('pkgconf', '1.8.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 diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1k-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1k-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..74c13c6e2c3 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1k-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +name = 'OpenSSL' +version = '1.1.1k' + +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 = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.openssl.org/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5'] + +dependencies = [('zlib', '1.2.11')] + +builddependencies = [ + ('Perl', '5.34.0'), + ('binutils', '2.37'), +] + +runtest = 'test' + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1n-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1n-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bd3715f6733 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1n-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +name = 'OpenSSL' +version = '1.1.1n' + +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 = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.openssl.org/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a'] + +dependencies = [('zlib', '1.2.12')] + +builddependencies = [ + ('Perl', '5.34.1'), + ('binutils', '2.38'), +] + +runtest = 'test' + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1q-GCCcore-10.3.0.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1q-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1aedc1e69df --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.1q-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +name = 'OpenSSL' +version = '1.1.1q' + +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 = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.openssl.org/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7939ce614029cdff0b6c20f0e2e5703158a489a72b2507b8bd51bf8c8fd10ca'] + +dependencies = [('zlib', '1.2.11')] + +builddependencies = [ + ('Perl', '5.32.1', '-minimal'), + ('binutils', '2.36.1'), +] + +runtest = 'test' + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb index a49a797ca06..b4c7bcbd94e 100644 --- a/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb +++ b/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb @@ -6,7 +6,7 @@ minimum_openssl_version = '1.1.1' 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) + 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 @@ -14,6 +14,8 @@ toolchainopts = {'pic': True} osdependencies = ['perl'] +builddependencies = [('pkgconf', '1.8.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 @@ -25,11 +27,11 @@ osdependencies = ['perl'] # component list, which will be build and installed as usual. components = [ - (name, '1.1.1k', { + (name, '1.1.1w', { 'easyblock': 'EB_OpenSSL', 'source_urls': ['https://www.openssl.org/source/'], 'sources': [SOURCELOWER_TAR_GZ], - 'checksums': ['892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5'], + 'checksums': ['cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8'], 'start_dir': '%(namelower)s-%(version)s', }), ] 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/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021a.eb b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021a.eb new file mode 100644 index 00000000000..97d5359d7d8 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021a.eb @@ -0,0 +1,51 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jiri Furst +### + +easyblock = 'CMakeMake' + +name = 'OpenSceneGraph' +version = '3.6.5' + +homepage = 'http://www.openscenegraph.org/' +description = """The OpenSceneGraph is an open source high performance 3D graphics toolkit, +used by application developers in fields such as visual simulation, games, virtual reality, +scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs +on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating +systems. The OpenSceneGraph is now well established as the world leading scene graph +technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual +reality industries.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['OpenSceneGraph-%(version)s.tar.gz'] +checksums = ['aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('GDAL', '3.3.0'), + ('DCMTK', '3.6.6'), + ('OpenEXR', '3.0.1'), + ('SDL2', '2.0.14'), + ('poppler', '21.06.1'), + ('librsvg', '2.51.2'), + ('giflib', '5.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['osgarchive', 'osgconv', 'osgfilecache', 'osgversion', 'osgviewer', 'present3D']], + 'dirs': ['lib'], +} + +sanity_check_commands = ['osgversion'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021b.eb b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021b.eb new file mode 100644 index 00000000000..4f464558d0e --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2021b.eb @@ -0,0 +1,51 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jiri Furst +### + +easyblock = 'CMakeMake' + +name = 'OpenSceneGraph' +version = '3.6.5' + +homepage = 'http://www.openscenegraph.org/' +description = """The OpenSceneGraph is an open source high performance 3D graphics toolkit, +used by application developers in fields such as visual simulation, games, virtual reality, +scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs +on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating +systems. The OpenSceneGraph is now well established as the world leading scene graph +technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual +reality industries.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_SOURCE] +sources = ['OpenSceneGraph-%(version)s.tar.gz'] +checksums = ['aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('GDAL', '3.3.2'), + ('DCMTK', '3.6.6'), + ('OpenEXR', '3.1.1'), + ('SDL2', '2.0.20'), + ('poppler', '22.01.0'), + ('librsvg', '2.52.8'), + ('giflib', '5.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['osgarchive', 'osgconv', 'osgfilecache', 'osgversion', 'osgviewer', 'present3D']], + 'dirs': ['lib'], +} + +sanity_check_commands = ['osgversion'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb new file mode 100644 index 00000000000..1b3f0538c07 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSceneGraph/OpenSceneGraph-3.6.5-foss-2022a.eb @@ -0,0 +1,51 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Author: Jiri Furst +### + +easyblock = 'CMakeMake' + +name = 'OpenSceneGraph' +version = '3.6.5' + +homepage = 'http://www.openscenegraph.org/' +description = """The OpenSceneGraph is an open source high performance 3D graphics toolkit, +used by application developers in fields such as visual simulation, games, virtual reality, +scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs +on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating +systems. The OpenSceneGraph is now well established as the world leading scene graph +technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual +reality industries.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_SOURCE] +sources = ['OpenSceneGraph-%(version)s.tar.gz'] +checksums = ['aea196550f02974d6d09291c5d83b51ca6a03b3767e234a8c0e21322927d1e12'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('GDAL', '3.5.0'), + ('DCMTK', '3.6.7'), + ('OpenEXR', '3.1.5'), + ('SDL2', '2.0.22'), + ('poppler', '22.12.0'), + ('librsvg', '2.55.1'), + ('giflib', '5.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['osgarchive', 'osgconv', 'osgfilecache', 'osgversion', 'osgviewer', 'present3D']], + 'dirs': ['lib'], +} + +sanity_check_commands = ['osgversion'] + +moduleclass = 'vis' 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/OpenSlide/OpenSlide-3.4.1-GCCcore-10.3.0-largefiles.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-10.3.0-largefiles.eb new file mode 100644 index 00000000000..8615ebd3975 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-10.3.0-largefiles.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = '%(namelower)s' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20210128'), + ('M4', '1.4.18'), + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('OpenJPEG', '2.4.0'), + ('libxml2', '2.9.10'), + ('SQLite', '3.35.4'), + ('cairo', '1.16.0'), + ('Gdk-Pixbuf', '2.42.6'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', 'bin/openslide-show-properties', + 'bin/openslide-write-png', 'lib/libopenslide.la', 'lib/libopenslide.%s' % SHLIB_EXT, + ], + 'dirs': ['include/openslide'], +} + +sanity_check_commands = ['openslide-show-properties --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..baaf27367f5 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/openslide/openslide/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c'] + +builddependencies = [ + ('Autotools', '20210726'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('OpenJPEG', '2.4.0'), + ('libxml2', '2.9.10'), + ('SQLite', '3.36'), + ('cairo', '1.16.0'), + ('Gdk-Pixbuf', '2.42.6'), +] + +preconfigopts = 'autoreconf -f -i && ' + +sanity_check_paths = { + 'files': ['bin/openslide-quickhash1sum', 'bin/openslide-show-properties', 'bin/openslide-write-png', + 'lib/libopenslide.la', 'lib/libopenslide.%s' % SHLIB_EXT], + 'dirs': ['include/openslide'] +} + +sanity_check_commands = ['openslide-show-properties --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb new file mode 100644 index 00000000000..b39f32e43c6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-11.3.0-largefiles.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20220317'), + ('M4', '1.4.19'), + ('pkg-config', '0.29.2'), + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('OpenJPEG', '2.5.0'), + ('libxml2', '2.9.13'), + ('SQLite', '3.38.3'), + ('cairo', '1.17.4'), + ('Gdk-Pixbuf', '2.42.8'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', + 'bin/openslide-show-properties', + 'bin/openslide-write-png', + 'lib/libopenslide.la', + 'lib/libopenslide.%s' % SHLIB_EXT + ], + 'dirs': ['include/openslide'] +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.2.0-largefiles.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.2.0-largefiles.eb new file mode 100644 index 00000000000..a8bdbafa429 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.2.0-largefiles.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20220317'), + ('M4', '1.4.19'), + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.38'), + ('libjpeg-turbo', '2.1.4'), + ('LibTIFF', '4.4.0'), + ('OpenJPEG', '2.5.0'), + ('libxml2', '2.10.3'), + ('SQLite', '3.39.4'), + ('cairo', '1.17.4'), + ('Gdk-Pixbuf', '2.42.10'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', + 'bin/openslide-show-properties', + 'bin/openslide-write-png', + 'lib/libopenslide.la', + 'lib/libopenslide.%s' % SHLIB_EXT + ], + 'dirs': ['include/openslide'] +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.3.0-largefiles.eb b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.3.0-largefiles.eb new file mode 100644 index 00000000000..77358e8a3ab --- /dev/null +++ b/easybuild/easyconfigs/o/OpenSlide/OpenSlide-3.4.1-GCCcore-12.3.0-largefiles.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'OpenSlide' +version = '3.4.1' +versionsuffix = '-largefiles' + +homepage = 'https://openslide.org/' +description = """OpenSlide is a C library that provides a simple interface to +read whole-slide images (also known as virtual slides).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_large_file_support.patch'] +checksums = [ + # v3.4.1.tar.gz + 'a5d869916e370125421535dcce778b2ba625dc50d920aa4ca93bbaaa6a7b470c', + # %(name)s-%(version_major_minor)s.1_large_file_support.patch + 'cb618053f4ae6c3ce37d1b8b0e4ef7c55fd17378776d13be4aa4efab91706b8c', +] + +builddependencies = [ + ('Autotools', '20220317'), + ('M4', '1.4.19'), + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('OpenJPEG', '2.5.0'), + ('libxml2', '2.11.4'), + ('SQLite', '3.42.0'), + ('cairo', '1.17.8'), + ('Gdk-Pixbuf', '2.42.10'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': [ + 'bin/openslide-quickhash1sum', + 'bin/openslide-show-properties', + 'bin/openslide-write-png', + 'lib/libopenslide.la', + 'lib/libopenslide.%s' % SHLIB_EXT + ], + 'dirs': ['include/openslide'] +} + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.5.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.5.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..50dab938d40 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.5.0-GCCcore-10.2.0.eb @@ -0,0 +1,132 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/08 +easyblock = 'PythonBundle' + +name = 'OpenStackClient' +version = '5.5.0' + +homepage = 'https://docs.openstack.org/python-openstackclient/latest/' +description = """OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the +command set for Compute, Identity, Image, Network, Object Store and Block +Storage APIs together in a single shell with a uniform command structure.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +dependencies = [ + ('Python', '3.8.6'), + ('PyYAML', '5.3.1'), +] +builddependencies = [('binutils', '2.35')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pbr', '5.6.0', { + 'checksums': ['42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.1.2', { + 'checksums': ['25dbb2e9847aaa686a8a21e84e3d101db8b79f5cb992e044fc54210ab8c0ad41'], + }), + ('charset-normalizer', '2.0.4', { + 'checksums': ['f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3'], + }), + ('jsonpointer', '2.1', { + 'checksums': ['5a34b698db1eb79ceac454159d3f7c12a451a91f6334a4f638454327b7a89962'], + }), + ('cliff', '3.8.0', { + 'checksums': ['8dd215d0a84c9a3ab2fa2aa700849f4e7b786639f66caa0ad4108c85dca95a7c'], + }), + ('openstacksdk', '0.58.0', { + 'modulename': 'openstack', + 'checksums': ['d8368d1728f686114213d22cc8e3eef71629fae1424b2ad2c5d22a7b9a04a278'], + }), + ('stevedore', '3.3.0', { + 'checksums': ['3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee'], + }), + ('dogpile.cache', '1.1.3', { + 'checksums': ['6f0bcf97c73bfec1a7bf14e5a248488cee00c2d494bf63f3789ea6d95a57c1cf'], + }), + ('prettytable', '0.7.2', { + 'checksums': ['2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9'], + }), + ('jmespath', '0.10.0', { + 'checksums': ['b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9'], + }), + ('jsonpatch', '1.32', { + 'checksums': ['b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('os-service-types', '1.7.0', { + 'checksums': ['31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c'], + }), + ('requestsexceptions', '1.4.0', { + 'checksums': ['b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065'], + }), + ('requests', '2.26.0', { + 'checksums': ['b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7'], + }), + ('osc-lib', '2.4.1', { + 'checksums': ['257ef0cda902664605a850a858172306acb2b08b0e7e32d7a5b4f12dc6bc56c5'], + }), + ('keystoneauth1', '4.3.1', { + 'checksums': ['93605430a6d1424f31659bc5685e9dc1be9a6254e88c99f00cffc0a60c648a64'], + }), + ('debtcollector', '2.2.0', { + 'checksums': ['787981f4d235841bf6eb0467e23057fb1ac7ee24047c32028a8498b9128b6829'], + }), + ('oslo.i18n', '5.0.1', { + 'modulename': 'oslo_i18n', + 'checksums': ['3484b71e30f75c437523302d1151c291caf4098928269ceec65ce535456e035b'], + }), + ('oslo.utils', '4.9.2', { + 'modulename': 'oslo_utils', + 'checksums': ['20db285734ff6c3b50d5a6afcb2790ade0c7ba02fbc876feed43733f2c41a5c9'], + }), + ('oslo.serialization', '4.1.0', { + 'modulename': 'oslo_serialization', + 'checksums': ['cecc7794df806c85cb70dbd6c2b3af19bc68047ad29e3c6442be90a0a4de5379'], + }), + ('oslo.config', '8.7.1', { + 'modulename': 'oslo_config', + 'checksums': ['a0c346d778cdc8870ab945e438bea251b5f45fae05d6d99dfe4953cca2277b60'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('iso8601', '0.1.16', { + 'checksums': ['36532f77cc800594e8f16641edae7f1baf7932f05d8e508545b95fc53c6dc85b'], + }), + ('python-novaclient', '17.5.0', { + 'modulename': 'novaclient', + 'checksums': ['7aa0fe9a74b1336e56c2f7965f14e04bad29dbfbd7ba41dcb7b364f94c9bee7f'], + }), + ('python-keystoneclient', '4.2.0', { + 'modulename': 'keystoneclient', + 'checksums': ['0248426e483b95de395086482c077d48e45990d3b1a3e334b2ec8b2e108f5a8a'], + }), + ('python-cinderclient', '8.0.0', { + 'modulename': 'cinderclient', + 'checksums': ['4ced8c562064ab73f757d91d26846faaf1fc1c82f1fee5597e24df3d1ffcf116'], + }), + ('python-openstackclient', version, { + 'modulename': 'openstackclient', + 'checksums': ['8d40491374172f9375ce1642ac2230b1cbb5a564320edbcc2a9ebe857fd9a880'], + }), +] + +enhance_sanity_check = True +sanity_check_commands = ['openstack -h'] + +sanity_check_paths = { + 'files': ['bin/openstack'], + 'dirs': ["bin", 'lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.8.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.8.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d92bda87180 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-5.8.0-GCCcore-11.2.0.eb @@ -0,0 +1,132 @@ +easyblock = 'PythonBundle' + +name = 'OpenStackClient' +version = '5.8.0' + +homepage = 'https://docs.openstack.org/python-openstackclient/latest/' +description = """OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the +command set for Compute, Identity, Image, Network, Object Store and Block +Storage APIs together in a single shell with a uniform command structure.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('typing-extensions', '3.10.0.2'), +] +builddependencies = [('binutils', '2.37')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('importlib_metadata', '4.11.4', { + 'checksums': ['5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700'], + }), + ('cmd2', '2.4.1', { + 'checksums': ['f3b0467daca18fca0dc7838de7726a72ab64127a018a377a86a6ed8ebfdbb25f'], + }), + ('charset-normalizer', '2.0.12', { + 'checksums': ['2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('prettytable', '3.3.0', { + 'checksums': ['118eb54fd2794049b810893653b20952349df6d3bc1764e7facd8a18064fa9b0'], + }), + ('autopage', '0.5.0', { + 'checksums': ['5305b43cc0798170d7124e5a2feecf969e45f4a0baf75cb351138114eaf76b83'], + }), + ('stevedore', '3.5.0', { + 'checksums': ['f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335'], + }), + ('cliff', '3.10.1', { + 'checksums': ['045aee3f3c64471965d7ad507ce8474a4e2f20815fbb5405a770f8596a2a00a0'], + }), + ('dogpile.cache', '1.1.5', { + 'checksums': ['0f01bdc329329a8289af9705ff40fadb1f82a28c336f3174e12142b70d31c756'], + }), + ('iso8601', '1.0.2', { + 'checksums': ['27f503220e6845d9db954fb212b95b0362d8b7e6c1b2326a87061c3de93594b1'], + }), + ('jmespath', '1.0.0', { + 'checksums': ['a490e280edd1f57d6de88636992d05b71e97d69a26a19f058ecf7d304474bf5e'], + }), + ('jsonpatch', '1.32', { + 'checksums': ['b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2'], + }), + ('os-service-types', '1.7.0', { + 'checksums': ['31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c'], + }), + ('keystoneauth1', '4.6.0', { + 'checksums': ['066f1addd89114cd6a1b9cb3555c8eaa7d013673ee1034bdfe506068804a9e05'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('requestsexceptions', '1.4.0', { + 'checksums': ['b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065'], + }), + ('openstacksdk', '0.99.0', { + 'modulename': 'openstack', + 'checksums': ['3f73c3cc28089e93b342eb7f348b285f5a65ffe505898be15db250c75bb855eb'], + }), + ('oslo.i18n', '5.1.0', { + 'modulename': 'oslo_i18n', + 'checksums': ['6bf111a6357d5449640852de4640eae4159b5562bbba4c90febb0034abc095d0'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('debtcollector', '2.5.0', { + 'checksums': ['dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab'], + }), + ('oslo.utils', '4.13.0', { + 'modulename': 'oslo_utils', + 'checksums': ['45ba8aaa5ed056a8e8e46059ef93d5c2d7b9c99bc7480e361cf5783e47f28fba'], + }), + ('osc-lib', '2.6.0', { + 'checksums': ['854eabb14ad3480f4cdc63a55944e0ce2d9cc4ce2683cdfddadcd149821e67ab'], + }), + ('oslo.serialization', '4.3.0', { + 'modulename': 'oslo_serialization', + 'checksums': ['3aa472f434aee8bbcc0725312b7f409aa1fa54bbc134904124cf49b0e86b9115'], + }), + ('rfc3986', '2.0.0', { + 'checksums': ['97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c'], + }), + ('oslo.config', '8.8.0', { + 'modulename': 'oslo_config', + 'checksums': ['96933d3011dae15608a11616bfb00d947e22da3cb09b6ff37ddd7576abd4764c'], + }), + ('python-novaclient', '18.0.0', { + 'modulename': 'novaclient', + 'checksums': ['e9eb2a9bdba464d820c100775c3c2f6493088df66af13dfb9325cc6b865c8d23'], + }), + ('python-keystoneclient', '4.5.0', { + 'modulename': 'keystoneclient', + 'checksums': ['6d7f05c692e7db2692778284c779ae6cea8b2159914b4417a5fa0bfea1e29cdc'], + }), + ('python-cinderclient', '8.3.0', { + 'modulename': 'cinderclient', + 'checksums': ['e00103875029dc85cbb59131d00ccc8534f692956acde32b5a3cc5af4c24580b'], + }), + ('python-openstackclient', version, { + 'modulename': 'openstackclient', + 'checksums': ['334852df8897b95f0581ec12ee287de8c7a9289a208a18f0a8b38777019fd986'], + }), +] + +enhance_sanity_check = True +sanity_check_commands = ['openstack -h'] + +sanity_check_paths = { + 'files': ['bin/openstack'], + 'dirs': ["bin", 'lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bdf0b5c45a6 --- /dev/null +++ b/easybuild/easyconfigs/o/OpenStackClient/OpenStackClient-6.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,125 @@ +easyblock = 'PythonBundle' + +name = 'OpenStackClient' +version = '6.0.0' + +homepage = 'https://docs.openstack.org/python-openstackclient/latest/' +description = """OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the +command set for Compute, Identity, Image, Network, Object Store and Block +Storage APIs together in a single shell with a uniform command structure.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), +] +builddependencies = [('binutils', '2.39')] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.4.2', { + 'checksums': ['073e555c05853b0f6965f3d03329babdf9e38a5f2cea028e61a64cd7eeb74ad5'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('prettytable', '3.5.0', { + 'checksums': ['52f682ba4efe29dccb38ff0fe5bac8a23007d0780ff92a8b85af64bc4fc74d72'], + }), + ('autopage', '0.5.1', { + 'checksums': ['01be3ee61bb714e9090fcc5c10f4cf546c396331c620c6ae50a2321b28ed3199'], + }), + ('stevedore', '4.1.1', { + 'checksums': ['7f8aeb6e3f90f96832c301bff21a7eb5eefbe894c88c506483d355565d88cc1a'], + }), + ('cliff', '4.0.0', { + 'checksums': ['3b0d30e7acf50e3c214a39ee3e66aa2f2b5957e2a1de373e17bba8e98c7501a5'], + }), + ('dogpile.cache', '1.1.8', { + 'checksums': ['d844e8bb638cc4f544a4c89a834dfd36fe935400b71a16cbd744ebdfb720fd4e'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('jsonpatch', '1.32', { + 'checksums': ['b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2'], + }), + ('os-service-types', '1.7.0', { + 'checksums': ['31800299a82239363995b91f1ebf9106ac7758542a1e4ef6dc737a5932878c6c'], + }), + ('keystoneauth1', '5.0.0', { + 'checksums': ['6ebb5f044c9dfd263087a328d51d479947d1ddc90c09daf4191df7dc71334323'], + }), + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('requestsexceptions', '1.4.0', { + 'checksums': ['b095cbc77618f066d459a02b137b020c37da9f46d9b057704019c9f77dba3065'], + }), + ('openstacksdk', '0.102.0', { + 'modulename': 'openstack', + 'checksums': ['b2a18feba79eac2ac3469c8dafe01d4008c8ac30be3a4c6b53275b4f1c6ba2ad'], + }), + ('oslo.i18n', '5.1.0', { + 'modulename': 'oslo_i18n', + 'checksums': ['6bf111a6357d5449640852de4640eae4159b5562bbba4c90febb0034abc095d0'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('debtcollector', '2.5.0', { + 'checksums': ['dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab'], + }), + ('oslo.utils', '6.1.0', { + 'modulename': 'oslo_utils', + 'checksums': ['76bc0108d50aca972b68fec8298e791b5fbcbeb9a51a27c6986b41b0a6a62eeb'], + }), + ('osc-lib', '2.6.2', { + 'checksums': ['879b6c5a142f3294464748ab14adde0cba0a14a5f704a0d840c9e92144489dba'], + }), + ('oslo.serialization', '5.0.0', { + 'modulename': 'oslo_serialization', + 'checksums': ['2845328d0f47dc8a23fed2a82253e90acff0aa731dbd24f379cf8e50e6cc66ba'], + }), + ('rfc3986', '2.0.0', { + 'checksums': ['97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c'], + }), + ('oslo.config', '9.0.0', { + 'modulename': 'oslo_config', + 'checksums': ['3b6b63c43cf1e09344ba850bcb11d6f2b9201086fbeb0a97a8950e7eac3f2645'], + }), + ('python-novaclient', '18.2.0', { + 'modulename': 'novaclient', + 'checksums': ['185bbf2cafb5f3d761f272e3e184a700cc7ba5cf7d51619065be7f5c4b5b7cf4'], + }), + ('python-keystoneclient', '5.0.1', { + 'modulename': 'keystoneclient', + 'checksums': ['a8bbf671f56c24aa5a37a225b98f2994b82063d73e3486657eb500a33a406d29'], + }), + ('python-cinderclient', '9.1.0', { + 'modulename': 'cinderclient', + 'checksums': ['f9b30af2e6e6e5a126c2c81f35145c5aee70c20955e6dd409919be4d1b87b343'], + }), + ('python-openstackclient', version, { + 'modulename': 'openstackclient', + 'checksums': ['91c3ac12da4b423c16b3917616f84a23e2961e750fce590d409ecc50ee0431ce'], + }), +] + +enhance_sanity_check = True +sanity_check_commands = ['openstack -h'] + +sanity_check_paths = { + 'files': ['bin/openstack'], + 'dirs': ["bin", 'lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OptaDOS/OptaDOS-1.2.380-GCC-11.3.0.eb b/easybuild/easyconfigs/o/OptaDOS/OptaDOS-1.2.380-GCC-11.3.0.eb new file mode 100644 index 00000000000..99a1e6a6a88 --- /dev/null +++ b/easybuild/easyconfigs/o/OptaDOS/OptaDOS-1.2.380-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'OptaDOS' +version = '1.2.380' + +homepage = 'http://www.optados.org/' +description = """OptaDOS is a program for calculating core-electron and low-loss electron energy +loss spectra (EELS) and optical spectra along with total-, projected- and +joint-density of electronic states (DOS) from single-particle eigenenergies and +dipole transition coefficients.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'optados-developers' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['606d3db28dba791f62b05ef638ed0b1e42474763db65e04abd63a30501bb2eac'] + +buildopts = "SYSTEM=gfortran COMMS_ARCH=serial PREFIX=%(installdir)s " +buildopts += 'FFLAGS="$FFLAGS -fconvert=big-endian -ffree-line-length-150"' + +files_to_copy = [ + (['src/%(namelower)s.gfortran.*'], 'bin'), + 'documents', + 'examples', + 'tools', +] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -s %(namelower)s.gfortran.* %(namelower)s", +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['documents', 'examples', 'tools'] +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..4fd9f0da8ab --- /dev/null +++ b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Optax' +version = '0.1.7' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/optax' +description = """Optax is a gradient processing and optimization library for JAX.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('dm-haiku', '0.0.9', versionsuffix), + ('dm-tree', '0.1.8'), + ('typing-extensions', '4.3.0'), +] + +builddependencies = [ + ('pytest-xdist', '2.5.0'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('optax', version, { + 'checksums': ['6a5a848bc5e55e619b187c749fdddc4a5443ea14be85cc769f995779865c110d'], + # ignore equivalence_test.py which imports flax, which depends on optax + 'runtest': 'python -m pytest -n %(parallel)s --pyargs --ignore-glob="**/equivalence_test.py" optax', + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from optax import GradientTransformation'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a.eb b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a.eb new file mode 100644 index 00000000000..27fa821b7b6 --- /dev/null +++ b/easybuild/easyconfigs/o/Optax/Optax-0.1.7-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'Optax' +version = '0.1.7' + +homepage = 'https://github.com/deepmind/optax' +description = """Optax is a gradient processing and optimization library for JAX.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dm-haiku', '0.0.9'), + ('dm-tree', '0.1.8'), + ('typing-extensions', '4.3.0'), +] + +builddependencies = [ + ('pytest-xdist', '2.5.0'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('optax', version, { + 'checksums': ['6a5a848bc5e55e619b187c749fdddc4a5443ea14be85cc769f995779865c110d'], + # ignore equivalence_test.py which imports flax, which depends on optax + 'runtest': 'python -m pytest -n %(parallel)s --pyargs --ignore-glob="**/equivalence_test.py" optax', + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from optax import GradientTransformation'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..61000b1388c --- /dev/null +++ b/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'Optax' +version = '0.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/deepmind/optax' +description = """Optax is a gradient processing and optimization library for JAX.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('chex', '0.1.86', { + 'checksums': ['e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1'], + }), + ('optax', version, { + 'checksums': ['f09bf790ef4b09fb9c35f79a07594c6196a719919985f542dc84b0bf97812e0e'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from optax import GradientTransformation'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a.eb b/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a.eb new file mode 100644 index 00000000000..d447a77bbd2 --- /dev/null +++ b/easybuild/easyconfigs/o/Optax/Optax-0.2.2-gfbf-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Optax' +version = '0.2.2' + +homepage = 'https://github.com/deepmind/optax' +description = """Optax is a gradient processing and optimization library for JAX.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('jax', '0.4.25'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('chex', '0.1.86', { + 'checksums': ['e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1'], + }), + ('optax', version, { + 'checksums': ['f09bf790ef4b09fb9c35f79a07594c6196a719919985f542dc84b0bf97812e0e'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from optax import GradientTransformation'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb b/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb new file mode 100644 index 00000000000..2190e6f6068 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-2.10.0-foss-2021b.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '2.10.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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.10'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), # optional + ('plotly.py', '5.4.0'), # optional + ('Redis', '6.2.6'), # optional, needed by redis-py + ('scikit-learn', '1.0.1'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('Mako', '1.1.6', { + 'checksums': ['4e9e345a41924a954251b95b4b28e14a301145b544901332e658907a7464b6b2'], + }), + ('alembic', '1.7.5', { + 'checksums': ['7c328694a2e68f03ee971e63c3bd885846470373a5b532cf2c9f1601c413b153'], + }), + ('autopage', '0.5.0', { + 'checksums': ['5305b43cc0798170d7124e5a2feecf969e45f4a0baf75cb351138114eaf76b83'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.3.3', { + 'checksums': ['750d7eb04d55c3bc2a413e191bc177856f388102de47d11f2210a35266543640'], + }), + ('prettytable', '3.1.1', { + 'checksums': ['43c9e23272ca253d038ae76fe3adde89794e92e7fcab2ddf5b94b38642ef4f21'], + }), + ('stevedore', '3.5.0', { + 'checksums': ['f40253887d8712eaa2bb0ea3830374416736dc8ec0e22f5a65092c1174c44335'], + }), + ('cliff', '3.10.0', { + 'checksums': ['c68aac08d0d25853234a38fdbf1f33503849af3d5d677a4d0aacd42b0be6a4a1'], + }), + ('cmaes', '0.8.2', { + 'checksums': ['1c04ba23ded925ef13b96f42cfbd667a905ea5b80754c750e6448b9fcda96a5d'], + }), + ('colorlog', '6.6.0', { + 'checksums': ['344f73204009e4c83c5b6beb00b3c45dc70fcdae3c80db919e0a4171d006fde8'], + }), + ('greenlet', '1.1.2', { + 'checksums': ['e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a'], + }), + ('SQLAlchemy', '1.4.31', { + 'checksums': ['582b59d1e5780a447aada22b461e50b404a9dc05768da1d87368ad8190468418'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('redis', '4.1.1', { + 'checksums': ['07420a3fbedd8e012c31d4fadac943fb81568946da202c5a5bc237774e5280a0'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['04c3100a4fe88a71dc72f69d8a10ec9db7c9a0c884feaf932b68632b00686a8d'], + }), +] + +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/Optuna/Optuna-2.9.1-foss-2021a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-2.9.1-foss-2021a.eb new file mode 100644 index 00000000000..10c656e4ab9 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-2.9.1-foss-2021a.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '2.9.1' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), # optional + ('plotly.py', '5.1.0'), # optional + ('Redis', '6.2.6'), # optional, needed by redis-py + ('scikit-learn', '0.24.2'), # optional +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('Mako', '1.1.5', { + 'checksums': ['169fa52af22a91900d852e937400e79f535496191c63712e3b9fda5a9bed6fc3'], + }), + ('alembic', '1.6.5', { + 'checksums': ['a21fedebb3fb8f6bbbba51a11114f08c78709377051384c9c5ead5705ee93a51'], + }), + ('autopage', '0.4.0', { + 'checksums': ['18f511d8ef2e4d3cc22a986d345eab0e03f95b9fa80b74ca63b7fb001551dc42'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cmd2', '2.2.0', { + 'checksums': ['34cd12424d9e2835eff125146af3d9f4a4c2931c6bc5a3cea9790bd4f55756d9'], + }), + ('prettytable', '2.2.1', { + 'checksums': ['6d465005573a5c058d4ca343449a5b28c21252b86afcdfa168cdc6a440f0b24c'], + }), + ('stevedore', '3.4.0', { + 'checksums': ['59b58edb7f57b11897f150475e7bc0c39c5381f0b8e3fa9f5c20ce6c89ec4aa1'], + }), + ('cliff', '3.9.0', { + 'checksums': ['95363e9b43e2ec9599e33b5aea27a6953beda2d0673557916fa4f5796857daa3'], + }), + ('cmaes', '0.8.2', { + 'checksums': ['1c04ba23ded925ef13b96f42cfbd667a905ea5b80754c750e6448b9fcda96a5d'], + }), + ('colorlog', '6.5.0', { + 'checksums': ['cf62a8e389d5660d0d22be17937b25b9abef9497ddc940197d1773aa1f604339'], + }), + ('greenlet', '1.1.2', { + 'checksums': ['e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a'], + }), + ('SQLAlchemy', '1.4.26', { + 'checksums': ['6bc7f9d7d90ef55e8c6db1308a8619cd8f40e24a34f759119b95e7284dca351a'], + }), + ('redis', '3.5.3', { + 'checksums': ['0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['bea30e2d43f306297bfb1e2b94fb426024b2df0a7bf554c51d1d401d05025224'], + }), +] + +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/Optuna/Optuna-3.1.0-foss-2022a.eb b/easybuild/easyconfigs/o/Optuna/Optuna-3.1.0-foss-2022a.eb new file mode 100644 index 00000000000..ea4f9599187 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.1.0-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '3.1.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('matplotlib', '3.5.2'), # optional + ('plotly.py', '5.12.0'), # optional + ('redis-py', '4.5.1'), # optional + ('scikit-learn', '1.1.2'), # optional + ('Mako', '1.2.0'), + ('Greenlet', '2.0.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('alembic', '1.9.3', { + 'checksums': ['8fd6aaea56f5a703a190d25a705dfa91d7c313bb71de2f9c68f5abdcaf5df164'], + }), + ('cmaes', '0.9.1', { + 'checksums': ['d122f8d46377f643a150c85ffc81c4e33909a34cfdcb522ee7a6fb17ea4f232c'], + }), + ('colorlog', '6.7.0', { + 'checksums': ['bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5'], + }), + ('SQLAlchemy', '2.0.3', { + 'checksums': ['c2b924f6d0162ed1c0d8f47db1e56498702b1c3c953ad84f0eefbf5b4e53bb05'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['96c7c92860c8692d3aa569d749e72b121422cb4af0ed3ad4bfbc445b61416919'], + }), +] + +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/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..73bf89e6cc8 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.5.0-foss-2023a.eb @@ -0,0 +1,50 @@ +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 + ('SQLAlchemy', '2.0.25'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cmaes', '0.10.0', { + 'checksums': ['48afc70df027114739872b50489ae6b32461c307b92d084a63c7090a9742faf9'], + }), + ('colorlog', '6.8.0', { + 'checksums': ['fbb6fdf9d5685f2517f388fb29bb27d54e8654dd31f58bc2a3b217e967a95ca6'], + }), + ('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/Optuna/Optuna-3.6.1-foss-2023b.eb b/easybuild/easyconfigs/o/Optuna/Optuna-3.6.1-foss-2023b.eb new file mode 100644 index 00000000000..35dec40e234 --- /dev/null +++ b/easybuild/easyconfigs/o/Optuna/Optuna-3.6.1-foss-2023b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Optuna' +version = '3.6.1' + +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': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('PyYAML', '6.0.1'), + ('SciPy-bundle', '2023.11'), + ('tqdm', '4.66.2'), + ('matplotlib', '3.8.2'), # optional + ('plotly.py', '5.18.0'), # optional + ('redis-py', '5.0.9'), # optional + ('scikit-learn', '1.4.0'), # optional + ('SQLAlchemy', '2.0.29'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cmaes', '0.11.1', { + 'checksums': ['cf71fa3679814723be771f2c9edd85f465b1bc1e409e1ad6d8a9e481efcd5160'], + }), + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + ('optuna', version, { + 'use_pip_extras': 'optional', + 'checksums': ['146e530b57b4b9afd7526b3e642fbe65491f7e292b405913355f8e438e361ecf'], + }), +] + +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/OrthoFinder/OrthoFinder-2.5.2-foss-2020b.eb b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.2-foss-2020b.eb new file mode 100644 index 00000000000..abe97dde5d2 --- /dev/null +++ b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.2-foss-2020b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'OrthoFinder' +version = '2.5.2' + +homepage = 'https://github.com/davidemms/OrthoFinder' +description = "OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'davidemms' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e85c1fb920179655bf1611b6c0cb17efdf1fd26caf07667ae7eefe05be3fbc35'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('BLAST+', '2.11.0'), + ('DIAMOND', '2.0.7'), + ('FastME', '2.1.6.1'), + ('MCL', '14.137'), + ('MMseqs2', '13-45111'), +] + +download_dep_fail = True +use_pip = True + +# see https://github.com/davidemms/OrthoFinder/pull/500 +preinstallopts = 'sed -i "s/ExampleDataset/ExampleData/g" setup.py && ' + +options = {'modulename': 'scripts_of'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['convert_orthofinder_tree_ids', 'make_ultrametric', 'orthofinder', + 'primary_transcript']], + 'dirs': ['ExampleData', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["orthofinder --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.4-foss-2020b.eb b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.4-foss-2020b.eb new file mode 100644 index 00000000000..3c6475ccad6 --- /dev/null +++ b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.4-foss-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'OrthoFinder' +version = '2.5.4' + +homepage = 'https://github.com/davidemms/OrthoFinder' +description = "OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'davidemms' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9d8bd52426ebab4a5f377f8699cc9ee16559152830c9a67229c2ba81326d3f51'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('BLAST+', '2.11.0'), + ('DIAMOND', '2.0.7'), + ('FastME', '2.1.6.1'), + ('MCL', '14.137'), + ('MMseqs2', '13-45111'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'scripts_of'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['convert_orthofinder_tree_ids', 'make_ultrametric', 'orthofinder', + 'primary_transcript']], + 'dirs': ['ExampleData', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["orthofinder --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.5-foss-2023a.eb b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.5-foss-2023a.eb new file mode 100644 index 00000000000..6bf59e72ea3 --- /dev/null +++ b/easybuild/easyconfigs/o/OrthoFinder/OrthoFinder-2.5.5-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'OrthoFinder' +version = '2.5.5' + +homepage = 'https://github.com/davidemms/OrthoFinder' +description = "OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'davidemms' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['56cc3dd196e88cb67cce9f34e459f44d52b8b1e0f339b6380b9e6a7c0104f6ff'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('BLAST+', '2.14.1'), + ('DIAMOND', '2.1.8'), + ('FastME', '2.1.6.3'), + ('MCL', '22.282'), + ('MMseqs2', '14-7e284'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'scripts_of'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['convert_orthofinder_tree_ids', 'make_ultrametric', 'orthofinder', + 'primary_transcript']], + 'dirs': ['ExampleData', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["orthofinder --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/Osi/Osi-0.108.6-GCC-10.3.0.eb b/easybuild/easyconfigs/o/Osi/Osi-0.108.6-GCC-10.3.0.eb new file mode 100644 index 00000000000..44f3773ced0 --- /dev/null +++ b/easybuild/easyconfigs/o/Osi/Osi-0.108.6-GCC-10.3.0.eb @@ -0,0 +1,49 @@ +easyblock = "ConfigureMake" + +name = 'Osi' +version = '0.108.6' + +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.""" + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['57ef3f0c97995bac647504aee0ed34d31f79033ece04cd2cb86b4645f0a552d8'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.4'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# 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/Osi/Osi-0.108.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/Osi/Osi-0.108.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6b7abcdbec6 --- /dev/null +++ b/easybuild/easyconfigs/o/Osi/Osi-0.108.6-GCCcore-10.2.0.eb @@ -0,0 +1,50 @@ +easyblock = "ConfigureMake" + +name = 'Osi' +version = '0.108.6' + +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.""" + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://www.coin-or.org/download/source/%(name)s/'] +sources = [SOURCE_TGZ] +checksums = ['57ef3f0c97995bac647504aee0ed34d31f79033ece04cd2cb86b4645f0a552d8'] + +builddependencies = [ + ('Autotools', '20200321'), + ('binutils', '2.35'), + ('Doxygen', '1.8.20'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.4'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# 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/Osi/Osi-0.108.7-GCC-11.2.0.eb b/easybuild/easyconfigs/o/Osi/Osi-0.108.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..3b1c6539336 --- /dev/null +++ b/easybuild/easyconfigs/o/Osi/Osi-0.108.7-GCC-11.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'Osi' +version = '0.108.7' + +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.""" + +# NOTE: this esyconfig for CoinUtils provides a minimal build not using BLAS/LAPACK or MPI +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/coin-or/Osi/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['f1bc53a498585f508d3f8d74792440a30a83c8bc934d0c8ecf8cd8bc0e486228'] + +builddependencies = [ + ('Autotools', '20210726'), + ('Doxygen', '1.9.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.6'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +# 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/Osi/Osi-0.108.8-GCC-12.2.0.eb b/easybuild/easyconfigs/o/Osi/Osi-0.108.8-GCC-12.2.0.eb new file mode 100644 index 00000000000..393ac74ac03 --- /dev/null +++ b/easybuild/easyconfigs/o/Osi/Osi-0.108.8-GCC-12.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Osi' +version = '0.108.8' + +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.2.0'} + +source_urls = ['https://github.com/coin-or/Osi/archive/refs/tags/releases/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8b01a49190cb260d4ce95aa7e3948a56c0917b106f138ec0a8544fadca71cf6a'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.5'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('CoinUtils', '2.11.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +# 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/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/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb new file mode 100644 index 00000000000..209be487770 --- /dev/null +++ b/easybuild/easyconfigs/o/ocamlbuild/ocamlbuild-0.14.3-GCC-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'ocamlbuild' +version = '0.14.3' + +homepage = 'https://github.com/ocaml/ocamlbuild' +description = """OCamlbuild is a generic build tool, + that has built-in rules for building OCaml library and programs.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/ocaml/ocamlbuild/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ce151bfd2141abc6ee0b3f25ba609e989ff564a48bf795d6fa7138a4db0fc2e1'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('OCaml', '5.1.1'), + ('zstd', '1.5.5'), +] + +skipsteps = ['configure'] + +prebuildopts = 'make configure && ' + +buildopts = 'CXX="$CXX" CFLAGS="$CXXFLAGS"' + +installopts = 'DESTDIR="%(installdir)s" INSTALL_BINDIR="%(installdir)s/bin" ' +installopts += 'INSTALL_LIBDIR="%(installdir)s/lib" INSTALL_MANDIR="%(installdir)s/man" ' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/ocamlbuild/%(name)slib.a'], + 'dirs': ['man'], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2021a.eb b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2021a.eb new file mode 100644 index 00000000000..7c0a089a242 --- /dev/null +++ b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'occt' +version = '7.5.0p1' + +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': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://files.salome-platform.org/Salome/other'] +sources = ['opencascade-%(version)s.tar.gz'] +checksums = ['c0bbe42f0c41b6dcd6a39a83961ca7e414eb2d5d919f4dcb930096f2a423a578'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Mesa', '21.1.1'), + ('freetype', '2.10.4'), + ('Tcl', '8.6.11'), + ('Tk', '8.6.11'), + ('FreeImage', '3.18.0'), + ('tbb', '2020.3'), +] + +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/occt/occt-7.5.0p1-foss-2022a.eb b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2022a.eb new file mode 100644 index 00000000000..40e83e5f3fc --- /dev/null +++ b/easybuild/easyconfigs/o/occt/occt-7.5.0p1-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'occt' +version = '7.5.0p1' + +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': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://files.salome-platform.org/Salome/other'] +sources = ['opencascade-%(version)s.tar.gz'] +checksums = ['c0bbe42f0c41b6dcd6a39a83961ca7e414eb2d5d919f4dcb930096f2a423a578'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Doxygen', '1.9.4'), +] +dependencies = [ + ('Mesa', '22.0.3'), + ('freetype', '2.12.1'), + ('Tcl', '8.6.12'), + ('Tk', '8.6.12'), + ('FreeImage', '3.18.0'), + ('tbb', '2021.5.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/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/oceanspy/oceanspy-0.2.0-foss-2022a.eb b/easybuild/easyconfigs/o/oceanspy/oceanspy-0.2.0-foss-2022a.eb new file mode 100644 index 00000000000..ac13454ba89 --- /dev/null +++ b/easybuild/easyconfigs/o/oceanspy/oceanspy-0.2.0-foss-2022a.eb @@ -0,0 +1,37 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'oceanspy' +version = '0.2.0' + +homepage = 'https://github.com/hainegroup/oceanspy' +description = """OceanSpy - A Python package to facilitate ocean model data analysis +and visualization.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('dask', '2022.10.0'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xgcm', '0.8.0', { + 'checksums': ['99e7e2fc9268fb13827f8849dbae279eaaa4960d51872d62bc38293605b0215f'], + }), + (name, version, { + 'checksums': ['8c684ecdfe03bade171e17f5ae6bedd422e51db6faffed0303e1839051d40614'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/olaFlow/olaFlow-20210820-foss-2021b.eb b/easybuild/easyconfigs/o/olaFlow/olaFlow-20210820-foss-2021b.eb new file mode 100644 index 00000000000..2fbd5fd82c1 --- /dev/null +++ b/easybuild/easyconfigs/o/olaFlow/olaFlow-20210820-foss-2021b.eb @@ -0,0 +1,36 @@ +easyblock = 'Binary' + +name = 'olaFlow' +version = '20210820' +local_commit = 'b3039e055a22ea0b8c7dc9f735f15686976559f6' + +homepage = 'https://olaflow.github.io/' +description = """olaFlow CFD Suite is a free and open source project committed to bringing the latest +advances for the simulation of wave dynamics to the OpenFOAM® and FOAM-extend communities.""" + +source_urls = ['https://github.com/phicau/olaFlow/archive/'] +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'download_filename': '%s.tar.gz' % local_commit, +}] +checksums = ['126777c2dc5e8fe563251ce9cc8438bd2e90771cc5a9ea2fc47bd4679502c08b'] + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('OpenFOAM', 'v2112') +] + +extract_sources = True + +install_cmd = "source $FOAM_BASH && export FOAM_USER_APPBIN=%(installdir)s/bin && " +install_cmd += "export FOAM_USER_LIBBIN=%(installdir)s/lib && ls && ./allMake" + +sanity_check_paths = { + 'files': ["bin/olaFlow", "lib/libwaveGeneration.%s" % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ["source $FOAM_BASH && olaFlow -help"] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb b/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb new file mode 100644 index 00000000000..5bb617a4627 --- /dev/null +++ b/easybuild/easyconfigs/o/olego/olego-1.1.9-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +# updated by: Denis Kristak (INUITS) +easyblock = 'MakeCp' + +name = 'olego' +version = '1.1.9' + +homepage = 'https://github.com/chaolinzhanglab/olego' +description = """OLego is a program specifically designed for de novo spliced mapping of mRNA-seq reads. OLego adopts +a seed-and-extend scheme, and does not rely on a separate external mapper.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/chaolinzhanglab/olego//archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1b6ba7a4a310ac71667052d3a6e1f073d3976302ab6b6b67041475f7ca1f4bac'] + +files_to_copy = ['*'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['olegoindex', 'olego'], + 'dirs': [], +} + +sanity_check_commands = ['olego 2>&1 | grep "version %(version)s"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ome-types/ome-types-0.5.1.post1-foss-2023a.eb b/easybuild/easyconfigs/o/ome-types/ome-types-0.5.1.post1-foss-2023a.eb new file mode 100644 index 00000000000..0de34e3542b --- /dev/null +++ b/easybuild/easyconfigs/o/ome-types/ome-types-0.5.1.post1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'ome-types' +version = '0.5.1.post1' + +homepage = 'https://github.com/tlambert03/ome-types/' +description = """ +ome_types provides a set of python dataclasses and utility functions for parsing +the OME-XML format into fully-typed python objects for interactive or programmatic access in python. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), + ('hatchling', '1.18.0'), + ('maturin', '1.4.0', '-Rust-1.75.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('pydantic', '2.5.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ruff', '0.3.0', { + 'checksums': ['0886184ba2618d815067cf43e005388967b67ab9c80df52b32ec1152ab49f53a'], + }), + ('pydantic_compat', '0.1.2', { + 'checksums': ['c5c5bca39ca2d22cad00c02898e400e1920e5127649a8e860637f15566739373'], + }), + ('untokenize', '0.1.1', { + 'checksums': ['3865dbbbb8efb4bb5eaa72f1be7f3e0be00ea8b7f125c69cbd1f5fda926f37a2'], + }), + ('docformatter', '1.7.5', { + 'checksums': ['ffed3da0daffa2e77f80ccba4f0e50bfa2755e1c10e130102571c890a61b246e'], + }), + ('toposort', '1.10', { + 'checksums': ['bfbb479c53d0a696ea7402601f4e693c97b0367837c8898bc6471adfca37a6bd'], + }), + ('xsdata', '23.8', { + 'checksums': ['55f03d4c88236f047266affe550ba0dd19476adfce6a01f3e0aefac7c8078e56'], + }), + ('ome_types', version, { + 'checksums': ['cadda5e36ad4d33dad2034fd43f32113a736fe47c67fd9e06bbb8d3858d1dc58'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/onedrive/onedrive-2.4.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.21-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b75326b187d --- /dev/null +++ b/easybuild/easyconfigs/o/onedrive/onedrive-2.4.21-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'onedrive' +version = '2.4.21' + +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': '11.3.0'} + +source_urls = ['https://github.com/abraunegg/onedrive/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c9991970cbb108368d16a4e6aefe66f0d61d66791ab3bbc526bff2237b926c51'] + +builddependencies = [ + ('binutils', '2.38'), + ('LDC', '1.30.0'), +] + +dependencies = [ + ('cURL', '7.83.0'), + ('SQLite', '3.38.3'), +] + +_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/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.0.0-foss-2021a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.0-foss-2021a.eb new file mode 100644 index 00000000000..4c888b407ac --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.0-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.0.0' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['a249813104439bfe3d4e346bb560756e23217655273410c60b9bade205eb3e66'], + }), +] + +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/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb new file mode 100644 index 00000000000..00508eb3a91 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.0.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['452920ee9976e43cfa0abdee57ce918908050a8be590e5901a3ec1404e135fd6'], + }), +] + +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/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021b.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021b.eb new file mode 100644 index 00000000000..3c150b21b73 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.0.2-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.0.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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['452920ee9976e43cfa0abdee57ce918908050a8be590e5901a3ec1404e135fd6'], + }), +] + +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/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022a.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022a.eb new file mode 100644 index 00000000000..8398ccc0d84 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.1.1' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['71ea44087f310a2792d1a6c2ffbf5bc194367e769ce96a15961787f90ec7707b'], + }), +] + +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/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022b.eb b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022b.eb new file mode 100644 index 00000000000..c33603ff16c --- /dev/null +++ b/easybuild/easyconfigs/o/ont-fast5-api/ont-fast5-api-4.1.1-foss-2022b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'ont-fast5-api' +version = '4.1.1' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('h5py', '3.8.0'), +] + +use_pip = True + +exts_list = [ + ('progressbar33', '2.4', { + 'modulename': 'progressbar', + 'checksums': ['51fe0d9b3b4023db2f983eeccdfc8c9846b84db8443b9bee002c7f58f4376eff'], + }), + (name, version, { + 'checksums': ['71ea44087f310a2792d1a6c2ffbf5bc194367e769ce96a15961787f90ec7707b'], + }), +] + +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/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/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb new file mode 100644 index 00000000000..bc2f11eb6df --- /dev/null +++ b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'ont-guppy' +version = '6.4.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://community.nanoporetech.com/protocols/Guppy-protocol' +description = """ +Guppy is a bioinformatics toolkit that enables real-time basecalling and several + post-processing features that works on Oxford Nanopore Technologies™ sequencing platforms. + + For Research Use Only +""" + +toolchain = SYSTEM + +source_urls = ['https://mirror.oxfordnanoportal.com/software/analysis'] +sources = ['%(name)s_%(version)s_linux64.tar.gz'] +checksums = ['a633b2f0712781ff303a4c8fecb08d5e5603c755d6c445a6181ab11930f5bd63'] + +dependencies = [ + ('CUDA', '11.7.0'), +] + +_bins = ['guppy_%s' % x for x in ['aligner', 'barcoder', 'basecall_client', 'basecaller', 'basecaller_duplex', + 'basecaller_supervisor', 'basecall_server']] +_libs = ['lib/libvbz_hdf_plugin.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + _libs, + 'dirs': ['data'], +} + +# requires libcuda.so to be present, else it exits with code 127 +# sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb new file mode 100644 index 00000000000..be022994765 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.6.eb @@ -0,0 +1,32 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'ont-guppy' +version = '6.4.6' + +homepage = 'https://community.nanoporetech.com/protocols/Guppy-protocol' +description = """ +Guppy is a bioinformatics toolkit that enables real-time basecalling and several + post-processing features that works on Oxford Nanopore Technologies™ sequencing platforms. + + For Research Use Only +""" + +toolchain = SYSTEM + +source_urls = ['https://mirror.oxfordnanoportal.com/software/analysis'] +sources = ['%(name)s-cpu_%(version)s_linux64.tar.gz'] +checksums = ['5c454a1d91124ff6da1618d08cae999b0091897e7f20e3dba09038303a259bef'] + +_bins = ['guppy_%s' % x for x in ['aligner', 'barcoder', 'basecall_client', 'basecaller', 'basecaller_duplex', + 'basecaller_supervisor', 'basecall_server']] +_libs = ['lib/libvbz_hdf_plugin.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + _libs, + 'dirs': ['data'], +} + +sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.8-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.8-CUDA-11.7.0.eb new file mode 100644 index 00000000000..65649652d4d --- /dev/null +++ b/easybuild/easyconfigs/o/ont-guppy/ont-guppy-6.4.8-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'ont-guppy' +version = '6.4.8' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://community.nanoporetech.com/protocols/Guppy-protocol' +description = """ +Guppy is a bioinformatics toolkit that enables real-time basecalling and several + post-processing features that works on Oxford Nanopore Technologies™ sequencing platforms. + + For Research Use Only +""" + +toolchain = SYSTEM + +source_urls = ['https://mirror.oxfordnanoportal.com/software/analysis'] +sources = ['%(name)s_%(version)s_linux64.tar.gz'] +checksums = ['d58aba66b1b29180946ecacf3f7b423a6933db5d12aeda783485b1ee82fd110b'] + +dependencies = [ + ('CUDA', '11.7.0'), +] + +_bins = ['guppy_%s' % x for x in ['aligner', 'barcoder', 'basecall_client', 'basecaller', 'basecaller_duplex', + 'basecaller_supervisor', 'basecall_server']] +_libs = ['lib/libvbz_hdf_plugin.a'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins] + _libs, + 'dirs': ['data'], +} + +# requires libcuda.so to be present, else it exits with code 127 +# sanity_check_commands = ['%s --help' % x for x in _bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..09952eda5e0 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '0.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0', versionsuffix), + ('PyTorch', '1.10.0', versionsuffix), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['4ada9994af88d9038ea04ebfbca7ab6de2a859cf2680bea25a11d82c20bb2d82'], + }), +] + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb new file mode 100644 index 00000000000..8e69f9bc1f8 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-0.1.2-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '0.1.2' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0'), + ('PyTorch', '1.10.0'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['4ada9994af88d9038ea04ebfbca7ab6de2a859cf2680bea25a11d82c20bb2d82'], + }), +] + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..3298c090913 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '1.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0', versionsuffix), + ('PyTorch', '1.10.0', versionsuffix), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['594c7f1d4cc757c0b1d42b1af5203903df10ea11cfc6af3288d60c3df8e37d4a'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a.eb new file mode 100644 index 00000000000..e135393f1f5 --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-1.0.0-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '1.0.0' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('ONNX-Runtime', '1.10.0'), + ('PyTorch', '1.10.0'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.0.31-2005241907', { + 'source_tmpl': 'thop-0.0.31.post2005241907-py3-none-any.whl', + 'checksums': ['86d67af12311b34905949eb91c8c38f92a707de72140c29a94110cc623e21ceb'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['594c7f1d4cc757c0b1d42b1af5203903df10ea11cfc6af3288d60c3df8e37d4a'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/ont-remora/ont-remora-3.3.0-foss-2023a.eb b/easybuild/easyconfigs/o/ont-remora/ont-remora-3.3.0-foss-2023a.eb new file mode 100644 index 00000000000..7d065263f5b --- /dev/null +++ b/easybuild/easyconfigs/o/ont-remora/ont-remora-3.3.0-foss-2023a.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'ont-remora' +version = '3.3.0' + +homepage = 'https://github.com/nanoporetech/remora' +description = """Methylation/modified base calling separated from basecalling. Remora primarily +provides an API to call modified bases for basecaller programs such as Bonito. +Remora also provides the tools to prepare datasets, train modified base models +and run simple inference.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('ONNX-Runtime', '1.19.2'), + ('PyTorch', '2.1.2'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('python-parasail', '1.3.4'), + ('polars', '0.20.2'), + ('Pysam', '0.22.0'), + ('pod5-file-format', '0.3.10'), + ('statsmodels', '0.14.1'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.1.1.post2209072238', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['01473c225231927d2ad718351f78ebf7cffe6af3bed464c4f1ba1ef0f7cdda27'], + }), + ('mizani', '0.9.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ac5d49b913de88dc2fb28d82141e9777b97407a6971a158f758093ad5bb820a1'], + }), + ('plotnine', '0.12.4', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['12748f346f107c33f3e0658ac46fbb052205ae7e97ffaf52be68310e5d29f799'], + }), + (name, version, { + 'modulename': 'remora', + 'checksums': ['3c899e7333ae33ebec31c8a59650ab4d553e8a62c0abf7b03899e2ee9a0bc88a'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/remora'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + ('remora', '--help'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/openCARP/openCARP-8.2-foss-2021a.eb b/easybuild/easyconfigs/o/openCARP/openCARP-8.2-foss-2021a.eb new file mode 100644 index 00000000000..77f898e60c5 --- /dev/null +++ b/easybuild/easyconfigs/o/openCARP/openCARP-8.2-foss-2021a.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMakeCp' + +name = 'openCARP' +version = '8.2' + +homepage = 'https://opencarp.org' +description = "openCARP is an open cardiac electrophysiology simulator for in-silico experiments." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://git.opencarp.org/openCARP/openCARP/-/archive/v%(version)s/'] +sources = ['openCARP-v%(version)s.tar.gz'] +patches = ['openCARP-8.2_build-info.patch'] +checksums = [ + '56263c4280787c5c7b2ddb2b5f5b5091745dbc7e25d16118071ba0110bff494a', # openCARP-v8.2.tar.gz + '23c8754c749acc5f0f58ac3780ef7e202cefbcc8092e02e832ac2ff540367365', # openCARP-8.2_build-info.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('gengetopt', '2.23'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('PETSc', '3.15.1'), + ('zlib', '1.2.11'), +] + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['bench', 'igbapd', 'igbextract', 'igbhead', 'igbops', 'mesher', 'openCARP']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/openCARP/openCARP-8.2_build-info.patch b/easybuild/easyconfigs/o/openCARP/openCARP-8.2_build-info.patch new file mode 100644 index 00000000000..c6aaf5d2f46 --- /dev/null +++ b/easybuild/easyconfigs/o/openCARP/openCARP-8.2_build-info.patch @@ -0,0 +1,72 @@ +avoid having to build from cloned Git repository by adding simulator/build_info.h file, +which was generated using "PETSC_DIR=/foo make build_info.h" in Git repo that corresponds with openCARP v8.2 sources +author: Kenneth Hoste (HPC-UGent) +update to v8.2: Maxime Van den Bossche (HPC-KULeuven) +--- openCARP-v8.2.orig/simulator/CMakeLists.txt 2022-01-06 10:41:19.549302000 +0100 ++++ openCARP-v8.2/simulator/CMakeLists.txt 2022-01-06 10:53:36.486316000 +0100 +@@ -3,13 +3,6 @@ + + ####################################################################### + find_package (Python) + +-add_custom_command(OUTPUT "build_info.h" +- COMMAND Python::Interpreter +- ${CMAKE_CURRENT_SOURCE_DIR}/build_info.py +- DEPENDS build_info.py +- COMMENT "Generate a C header file defining some information about the build" +- VERBATIM +-) + + set(CARP_FILES "openCARP_d.h" "openCARP_p.cc" "openCARP_p.h") + add_custom_command(OUTPUT ${CARP_FILES} +--- openCARP-v8.2.orig/simulator/build_info.h 1970-01-01 01:00:00.000000000 +0100 ++++ openCARP-v8.2/simulator/build_info.h 2022-01-06 10:53:36.486316000 +0100 +@@ -0,0 +1,13 @@ ++#ifndef __BUILD_INFO__ ++#define __BUILD_INFO__ ++ ++#define GIT_COMMIT_TAG "v8.2" ++#define GIT_COMMIT_HASH "dbfd16fdd472375694190b4c7802c0bfba114146" ++#define GIT_COMMIT_COUNT 1257 ++#define GIT_PATH "https://git.opencarp.org/openCARP/openCARP.git" ++ ++#define SUBREPO_REVISIONS "" ++ ++#define SUBREPO_COMMITS "" ++ ++#endif +--- openCARP-v8.2.orig/simulator/build_info.py 2022-01-06 10:41:19.549302000 +0100 ++++ openCARP-v8.2/simulator/build_info.py 2022-01-06 10:53:36.486316000 +0100 +@@ -157,25 +157,13 @@ + """ + + def generate(): +- +- info = git(os.path.dirname(os.path.abspath(__file__))) +- +- # Get subrepo info +- repo_versions = [] +- repo_commits = [] +- +- # we currently have no sub-repos. still, we leave the mechanism in here for later +- +- # repo_versions.append(('slimfem', git('../fem/slimfem')['revision'])) +- # repo_commits.append(( 'slimfem', git('../fem/slimfem')['commit'])) +- +- info['subrepo'] = ','.join(['{0[0]}={0[1]}'.format(v) for v in repo_versions]) +- +- # Assemble commit hashes / revisions +- newline = '," \\\n' + ' ' * 24 + '"' +- info['subrepocommit'] = newline.join(['{0[0]}={0[1]}'.format(v) for v in repo_commits]) +- +- return TEMPLATE.format(**info) ++ return TEMPLATE.format(tag='v8.2', ++ commit='dbfd16fdd472375694190b4c7802c0bfba114146', ++ revision=1257, ++ url='https://git.opencarp.org/openCARP/openCARP.git', ++ subrepo='', ++ subrepocommit='', ++ ) + + def print_build_info(filename): + """ diff --git a/easybuild/easyconfigs/o/openai-python/openai-python-1.30.5-foss-2023a.eb b/easybuild/easyconfigs/o/openai-python/openai-python-1.30.5-foss-2023a.eb new file mode 100644 index 00000000000..e5fa3228a07 --- /dev/null +++ b/easybuild/easyconfigs/o/openai-python/openai-python-1.30.5-foss-2023a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'openai-python' +version = '1.30.5' + +homepage = 'https://github.com/openai/openai-python' +description = """ +The OpenAI Python library provides convenient access to the OpenAI REST API from any +Python 3.7+ application. The library includes type definitions for all request params and +response fields, and offers both synchronous and asynchronous clients powered by httpx. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('pydantic', '2.5.3'), + ('typing-extensions', '4.9.0'), + ('tqdm', '4.66.1'), +] + +exts_list = [ + ('h11', '0.14.0', { + 'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d'], + }), + ('httpcore', '1.0.5', { + 'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61'], + }), + ('httpx', '0.27.0', { + 'checksums': ['a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5'], + }), + ('anyio', '4.4.0', { + 'checksums': ['5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94'], + }), + ('sniffio', '1.3.1', { + 'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc'], + }), + ('openai', version, { + # needs a README or will get "Fragment file 'README.md' not found." error + 'preinstallopts': "touch README.md && ", + 'checksums': ['5366562eb2c5917e6116ae0391b7ae6e3acd62b0ae3f565ada32b35d8fcfa106'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/openkim-models/openkim-models-20190725-GCC-10.2.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20190725-GCC-10.2.0.eb new file mode 100644 index 00000000000..90c5ae682ee --- /dev/null +++ b/easybuild/easyconfigs/o/openkim-models/openkim-models-20190725-GCC-10.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'openkim-models' +version = '20190725' + +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': 'GCC', 'version': '10.2.0'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('kim-api', '2.2.1'), +] + +source_urls = ['https://s3.openkim.org/archives/collection/'] +sources = ['openkim-models-2019-07-25.txz'] +checksums = ['50338084ece92ec0fb13b0bbdf357b5d7450e26068ba501f23c315f814befc26'] + +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/openkim-models/openkim-models-20190725-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20190725-GCCcore-10.2.0.eb deleted file mode 100644 index 2b86b5deab6..00000000000 --- a/easybuild/easyconfigs/o/openkim-models/openkim-models-20190725-GCCcore-10.2.0.eb +++ /dev/null @@ -1,51 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'openkim-models' -version = '20190725' - -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': 'GCCcore', 'version': '10.2.0'} - -builddependencies = [ - ('binutils', '2.35'), - ('pkg-config', '0.29.2'), -] - -dependencies = [ - ('kim-api', '2.2.1'), -] - -source_urls = ['https://s3.openkim.org/archives/collection/'] -sources = ['openkim-models-2019-07-25.txz'] -checksums = ['50338084ece92ec0fb13b0bbdf357b5d7450e26068ba501f23c315f814befc26'] - -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/openkim-models/openkim-models-20210128-GCC-10.2.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210128-GCC-10.2.0.eb new file mode 100644 index 00000000000..2e2b058ef62 --- /dev/null +++ b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210128-GCC-10.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'openkim-models' +version = '20210128' + +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': 'GCC', 'version': '10.2.0'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('kim-api', '2.2.1'), +] + +source_urls = ['https://s3.openkim.org/archives/collection/'] +sources = ['openkim-models-2021-01-28.txz'] +checksums = ['8824adee02ae4583bd378cc81140fbb49515c5965708ee98d856d122d48dd95f'] + +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/openkim-models/openkim-models-20210128-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210128-GCCcore-10.2.0.eb deleted file mode 100644 index f1ab75253ab..00000000000 --- a/easybuild/easyconfigs/o/openkim-models/openkim-models-20210128-GCCcore-10.2.0.eb +++ /dev/null @@ -1,51 +0,0 @@ -easyblock = 'CMakeMake' - -name = 'openkim-models' -version = '20210128' - -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': 'GCCcore', 'version': '10.2.0'} - -builddependencies = [ - ('binutils', '2.35'), - ('pkg-config', '0.29.2'), -] - -dependencies = [ - ('kim-api', '2.2.1'), -] - -source_urls = ['https://s3.openkim.org/archives/collection/'] -sources = ['openkim-models-2021-01-28.txz'] -checksums = ['8824adee02ae4583bd378cc81140fbb49515c5965708ee98d856d122d48dd95f'] - -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/openkim-models/openkim-models-20210811-GCC-12.3.0.eb b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210811-GCC-12.3.0.eb new file mode 100644 index 00000000000..55f4cd1d70c --- /dev/null +++ b/easybuild/easyconfigs/o/openkim-models/openkim-models-20210811-GCC-12.3.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': 'GCC', 'version': '12.3.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/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.0.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bc8a63f9df3 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.10-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.0.10' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('lxml', '4.9.1'), + ('Pillow', '9.1.1'), +] + +use_pip = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['e47805627aebcf860edb4edf7987b1309c1b3632f3750538ed962bbcc3bd7449'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.2.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0ce06b699c7 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.0.7' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('lxml', '4.6.2'), + ('Pillow', '8.0.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['6456a3b472e1ef0facb1129f3c6ef00713cebf62e736cd7a75bcc3247432f251'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..d7a7f7f7663 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.7-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.0.7' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('lxml', '4.6.3'), + ('Pillow', '8.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['6456a3b472e1ef0facb1129f3c6ef00713cebf62e736cd7a75bcc3247432f251'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7ca4970a7c9 --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.0.9-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'openpyxl' +version = '3.0.9' + +homepage = 'https://openpyxl.readthedocs.io' +description = "A Python library to read/write Excel 2010 xlsx/xlsm files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('lxml', '4.6.3'), + ('Pillow', '8.3.2'), +] + +use_pip = True + +exts_list = [ + ('et_xmlfile', '1.1.0', { + 'checksums': ['8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c'], + }), + ('jdcal', '1.4.1', { + 'checksums': ['472872e096eb8df219c23f2689fc336668bdb43d194094b5cc1707e1640acfc8'], + }), + (name, version, { + 'checksums': ['40f568b9829bf9e446acfffce30250ac1fa39035124d55fc024025c41481c90f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d705d5cf4ab --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-12.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': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('lxml', '4.9.2'), + ('Pillow', '9.4.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/o/openpyxl/openpyxl-3.1.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a666b740fce --- /dev/null +++ b/easybuild/easyconfigs/o/openpyxl/openpyxl-3.1.2-GCCcore-12.3.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': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('lxml', '4.9.2'), + ('Pillow', '10.0.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/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/o/openslide-python/openslide-python-1.1.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.1.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..111b406be73 --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.1.2-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.1.2' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['83e064ab4a29658e7ddf86bf1d3e54d2508cc19ece35d55b55519c826e45d83f'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('Pillow', '8.2.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/openslide-python/openslide-python-1.1.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.1.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b428bf256c3 --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.1.2-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.1.2' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['83e064ab4a29658e7ddf86bf1d3e54d2508cc19ece35d55b55519c826e45d83f'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('OpenSlide', '3.4.1'), + ('Pillow', '8.3.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1d28069258b --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.2.0' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8162829d3d0ea44dd82602ced7390d9b10dd339337a58f17a8eb81a30bc0883b'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('Pillow-SIMD', '9.2.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bbbaa753b40 --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.3.1' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['3f56bc9d02ae4a5b7257cf5e35214c5cc45f429ff3d5ef849c6c8e2460c1f9cd'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('Pillow-SIMD', '9.5.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..25e52c700cb --- /dev/null +++ b/easybuild/easyconfigs/o/openslide-python/openslide-python-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'openslide-python' +version = '1.3.1' + +homepage = 'https://github.com/openslide/openslide-python' +description = "OpenSlide Python is a Python interface to the OpenSlide library." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/openslide/openslide-python/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3f56bc9d02ae4a5b7257cf5e35214c5cc45f429ff3d5ef849c6c8e2460c1f9cd'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('OpenSlide', '3.4.1', '-largefiles'), + ('Pillow-SIMD', '9.5.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'openslide'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb new file mode 100644 index 00000000000..0f8a2c17da9 --- /dev/null +++ b/easybuild/easyconfigs/o/optiSLang/optiSLang-2024R1.eb @@ -0,0 +1,17 @@ +name = 'optiSLang' +version = '2024R1' + +homepage = 'https://www.ansys.com/products/connect/ansys-optislang' +description = """Ansys optiSLang is a constantly evolving, leading-edge answer +to the challenges posed by CAE-based Robust Design Optimization (RDO). Its +state-of-the-art algorithms efficiently and automatically search for the most +robust design configuration, eliminating the slow, manual process that used to +define RDO.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain (OPTISLANG_%(version)s_LINX64.tgz) from your ANSYS vendor' +sources = ['OPTISLANG_%(version)s_LINX64.tgz'] +checksums = ['18be4bf600f3d7f30d586811262bc1a544cbb448e85007f5869335da7a173ea4'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/o/orjson/orjson-3.9.15-GCCcore-12.3.0.eb b/easybuild/easyconfigs/o/orjson/orjson-3.9.15-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..410c8131df9 --- /dev/null +++ b/easybuild/easyconfigs/o/orjson/orjson-3.9.15-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'orjson' +version = '3.9.15' + +homepage = 'https://github.com/ijl/orjson' +description = """Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('maturin', '1.4.0', '-Rust-1.75.0'), +] +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + ('ruff', '0.4.8', { + 'checksums': ['16d717b1d57b2e2fd68bd0bf80fb43931b79d05a7131aa477d66fc40fbd86268'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('mypy', '1.10.0', { + 'checksums': ['3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131'], + }), + (name, version, { + 'checksums': ['95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-gompi-2023a.eb b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-gompi-2023a.eb new file mode 100644 index 00000000000..bf5d8f3ad6c --- /dev/null +++ b/easybuild/easyconfigs/o/orthAgogue/orthAgogue-20141105-gompi-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'orthAgogue' +version = '20141105' +_commit = 'ebe3467' + +homepage = 'https://github.com/guyleonard/orthagogue' +description = """ +orthAgogue: a tool for high speed estimation of homology relations within and between species +in massive data sets. orthAgogue is easy to use and offers flexibility through a range of +optional parameters. +""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://github.com/guyleonard/orthagogue/archive'] +sources = ['%s.tar.gz' % _commit] +checksums = ['c83f33c8d9d31faeeefc88fb6a7345c2f4f81b98f2b63cb6fc803c0bfcd71500'] + +separate_build_dir = False # Must use the same directory because this software is old + +dependencies = [ + ('cmph', '2.0'), + ('tbb', '2020.3'), # Needs old tbb as 2021 versions are not backward compatible with any of the previous releases +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['bin/orthAgogue'], + 'dirs': [], +} + +sanity_check_commands = [ + "orthAgogue | grep USAGE", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..23f38d6955d --- /dev/null +++ b/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,61 @@ +easyblock = 'CMakeMake' + +name = 'oxDNA' +version = '3.5.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/lorenzo-rovigatti/oxDNA' +description = """oxDNA is a simulation code that was initially conceived as an implementation + of the coarse-grained DNA model introduced by T. E. Ouldridge, J. P. K. Doye and A. A. Louis. + It has been since reworked and it is now an extensible simulation+analysis framework. + It natively supports DNA, RNA, Lennard-Jones and patchy particle simulations of different kinds + on both single CPU cores and NVIDIA GPUs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'lorenzo-rovigatti' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['oxDNA-3.5.2_pip_install.patch'] +checksums = [ + {'v3.5.2.tar.gz': 'd76351b572334421aedb7774bb095db6f8f0a9c851e0242f0b665887d9d754bb'}, + {'oxDNA-3.5.2_pip_install.patch': '50cf60d4c65c7a953ec6f28ba1ce464e493565fb98221c5ffc429ba26c08d939'}, +] + +builddependencies = [ + ('CMake', '3.23.1') +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), +] + +configopts = "-DCUDA=1 -DCUDA_COMMON_ARCH=ON -DPython=ON " +# configopts += "-DMPI=ON " # still "unsupported feature that should be used by developers only"? + +postinstallcmds = [ + "mv %(builddir)s/easybuild_obj/bin/* %(installdir)s/bin/", + "mv %(builddir)s/easybuild_obj/oxpy/lib_oxpy_lib.a %(installdir)s/lib/", + "mv %%(builddir)s/easybuild_obj/src/liboxdna_common.%s %%(installdir)s/lib/" % SHLIB_EXT, +] + +sanity_check_paths = { + 'files': ['bin/confGenerator', 'bin/DNAnalysis', 'bin/oxDNA', 'bin/oat', + 'lib/liboxdna_common.%s' % SHLIB_EXT, 'lib/lib_oxpy_lib.a'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/oxpy', + 'lib/python%(pyshortver)s/site-packages/oxDNA_analysis_tools'], +} + +sanity_check_commands = [ + "oxDNA 2>&1 | grep Usage", + "python -c 'import oxpy'", + "python -c 'import oxDNA_analysis_tools'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2_pip_install.patch b/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2_pip_install.patch new file mode 100644 index 00000000000..30876d0b804 --- /dev/null +++ b/easybuild/easyconfigs/o/oxDNA/oxDNA-3.5.2_pip_install.patch @@ -0,0 +1,13 @@ +install oxpy into the oxDNA installation directory instead of the user or Python installation directory +author: Miguel Dias Costa (National University of Singapore) +--- oxDNA-3.5.2/oxpy/CMakeLists.txt.orig 2023-06-28 15:22:31.870578035 +0800 ++++ oxDNA-3.5.2/oxpy/CMakeLists.txt 2023-06-28 18:05:27.313737196 +0800 +@@ -62,7 +62,7 @@ + if(OxpySystemInstall) + INSTALL(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install ${OXPY_OUTPUT_DIR})") + else() +- INSTALL(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install --user ${OXPY_OUTPUT_DIR})") ++ INSTALL(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m pip install --prefix=${CMAKE_INSTALL_PREFIX} ${OXPY_OUTPUT_DIR})") + endif() + + ENDIF(Python) 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/PAL2NAL/PAL2NAL-14-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PAL2NAL/PAL2NAL-14-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..1a78c40f46e --- /dev/null +++ b/easybuild/easyconfigs/p/PAL2NAL/PAL2NAL-14-GCCcore-10.2.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'PAL2NAL' +version = '14' + +homepage = 'http://www.bork.embl.de/pal2nal/' +description = """PAL2NAL is a program that converts a multiple sequence alignment of proteins and + the corresponding DNA (or mRNA) sequences into a codon alignment. The program automatically + assigns the corresponding codon sequence even if the input DNA sequence has mismatches with the + input protein sequence, or contains UTRs, polyA tails. It can also deal with frame shifts in the + input alignment, which is suitable for the analysis of pseudogenes. The resulting codon alignment + can further be subjected to the calculation of synonymous (d_S) and non-synonymous (d_N) subs- + titution rates. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://www.bork.embl.de/pal2nal/distribution/'] +sources = ['%(namelower)s.v%(version)s.tar.gz'] +checksums = ['0e458d38571ab6d61078047a9e80d843bb2e733414eeff8b1144d1c6bc13848f'] + +dependencies = [('Perl', '5.32.0')] + +fix_perl_shebang_for = ['%(namelower)s.pl'] + +sanity_check_paths = { + 'files': ['%(namelower)s.pl', 'README', 'test.aln', 'test.nuc'], + 'dirs': [], +} + +sanity_check_commands = [ + 'pal2nal.pl -h', + 'pal2nal.pl test.aln test.nuc -output paml -nogap', +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAL2NAL/PAL2NAL-14-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PAL2NAL/PAL2NAL-14-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6abdeb0aeab --- /dev/null +++ b/easybuild/easyconfigs/p/PAL2NAL/PAL2NAL-14-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Tarball' + +name = 'PAL2NAL' +version = '14' + +homepage = 'http://www.bork.embl.de/pal2nal/' +description = """PAL2NAL is a program that converts a multiple sequence alignment of proteins and + the corresponding DNA (or mRNA) sequences into a codon alignment. The program automatically + assigns the corresponding codon sequence even if the input DNA sequence has mismatches with the + input protein sequence, or contains UTRs, polyA tails. It can also deal with frame shifts in the + input alignment, which is suitable for the analysis of pseudogenes. The resulting codon alignment + can further be subjected to the calculation of synonymous (d_S) and non-synonymous (d_N) subs- + titution rates. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://www.bork.embl.de/pal2nal/distribution/'] +sources = ['%(namelower)s.v%(version)s.tar.gz'] +checksums = ['0e458d38571ab6d61078047a9e80d843bb2e733414eeff8b1144d1c6bc13848f'] + +dependencies = [('Perl', '5.32.1')] + +fix_perl_shebang_for = ['%(namelower)s.pl'] + +sanity_check_paths = { + 'files': ['%(namelower)s.pl', 'README', 'test.aln', 'test.nuc'], + 'dirs': [], +} + +sanity_check_commands = [ + 'pal2nal.pl -h', + 'pal2nal.pl test.aln test.nuc -output paml -nogap', +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PALEOMIX/PALEOMIX-1.3.7-foss-2022a.eb b/easybuild/easyconfigs/p/PALEOMIX/PALEOMIX-1.3.7-foss-2022a.eb new file mode 100644 index 00000000000..b145680d1ec --- /dev/null +++ b/easybuild/easyconfigs/p/PALEOMIX/PALEOMIX-1.3.7-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'PALEOMIX' +version = '1.3.7' + +homepage = 'https://github.com/MikkelSchubert/paleomix' +description = """The PALEOMIX pipelines are a set of pipelines and tools designed to aid the rapid processing + of High-Throughput Sequencing (HTS) data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SAMtools', '1.16.1'), + ('AdapterRemoval', '2.3.3'), + ('picard', '2.25.1', '-Java-11', SYSTEM), + ('Bowtie2', '2.4.5'), + ('mapDamage', '2.2.1'), + ('Pysam', '0.19.1'), + ('ruamel.yaml', '0.17.21'), +] + +use_pip = True + +exts_list = [ + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('coloredlogs', '15.0.1', { + 'checksums': ['7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['effc402cd4207916ee062edf68b18b21b6c1adc596eea30d58805a75c8652767'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ['paleomix --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PALM/PALM-23.10-foss-2023a.eb b/easybuild/easyconfigs/p/PALM/PALM-23.10-foss-2023a.eb new file mode 100644 index 00000000000..7517506de97 --- /dev/null +++ b/easybuild/easyconfigs/p/PALM/PALM-23.10-foss-2023a.eb @@ -0,0 +1,103 @@ +easyblock = 'Binary' + +name = 'PALM' +version = '23.10' + +homepage = 'https://palm.muk.uni-hannover.de' +description = """PALM is an advanced and state-of-the-art meteorological +modeling system for atmospheric and oceanic boundary layer flows.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://gitlab.palm-model.org/releases/palm_model_system/-/archive/v%(version)s/'] +sources = ['palm_model_system-v%(version)s.tar.gz'] +checksums = ['2b13bcff9cc95ba3c80e037f239a4a96525138143598a3f52ce04ff40bfadb80'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('hatchling', '1.18.0'), +] + +# required Python package: see various requirements.txt files in source directory +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy, scipy + ('netCDF-Fortran', '4.6.1'), + ('netcdf4-python', '1.6.4'), # for netCDF4 + ('PyQt5', '5.15.10'), + ('PyYAML', '6.0'), +] + +buildininstalldir = True + +extract_sources = True + +install_cmd = "bash install -p %(installdir)s" + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('argcomplete', '3.2.3', { + 'checksums': ['bf7900329262e481be5a15f56f19736b376df6f82ed27576fa893652c5de6c23'], + }), + ('mike', '2.0.0', { + 'checksums': ['566f1cab1a58cc50b106fb79ea2f1f56e7bfc8b25a051e95e6eaee9fba0922de'], + }), + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], + }), + ('ghp-import', '2.1.0', { + 'checksums': ['9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343'], + }), + ('mergedeep', '1.3.4', { + 'checksums': ['0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8'], + }), + ('pyyaml_env_tag', '0.1', { + 'checksums': ['70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb'], + 'modulename': 'yaml_env_tag', + }), + ('watchdog', '4.0.1', { + 'checksums': ['eebaacf674fa25511e8867028d281e602ee6500045b57f43b08778082f7f8b44'], + }), + ('mkdocs', '1.5.3', { + 'checksums': ['eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2'], + }), + ('mkdocs-macros-plugin', '1.0.5', { + 'checksums': ['fe348d75f01c911f362b6d998c57b3d85b505876dde69db924f2c512c395c328'], + 'modulename': 'mkdocs_macros', + }), + ('pymdown_extensions', '10.7.1', { + 'checksums': ['c70e146bdd83c744ffc766b4671999796aba18842b268510a329f7f64700d584'], + 'modulename': 'pymdownx.magiclink', + }), + ('termcolor', '2.4.0', { + 'checksums': ['aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a'], + # fix for: "Unknown classifier in field project.classifiers: Programming Language :: Python :: 3.13" + 'preinstallopts': "sed -i '/Python.*3.13/d' pyproject.toml && ", + }), + ('verspec', '0.1.0', { + 'checksums': ['c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/palmrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'rrtmg'], +} + +sanity_check_commands = [ + "export PYTHONNOUSERSITE=1 && python%(pyshortver)s -m pip check", + "palmrun ?", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c7fc5f25404 --- /dev/null +++ b/easybuild/easyconfigs/p/PAML/PAML-4.10.5-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'PAML' +version = '4.10.5' + +homepage = 'http://abacus.gene.ucl.ac.uk/software/paml.html' +description = """PAML is a package of programs for phylogenetic + analyses of DNA or protein sequences using maximum likelihood.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'abacus-gene' + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['1bb40ea7c976d961a4f46b76e950423f6f252d7060bc621cbf29c9743b88a063'] + +builddependencies = [('binutils', '2.38')] + +start_dir = 'src' + +prebuildopts = "sed -i 's/enum/extern enum/g' paml.h &&" +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + # (['%(builddir)s/%(namelower)s%(version)s/README.txt'], ''), + (['README.txt', 'LICENSE'], ''), + (['src/baseml', 'src/basemlg', 'src/chi2', 'src/codeml', 'src/evolver'], 'bin'), + (['src/infinitesites', 'src/mcmctree', 'src/pamp', 'src/yn00'], 'bin'), + (['dat/*'], 'dat'), + (['doc/*'], 'doc'), + (['examples/*'], 'examples'), + (['Technical/*'], 'Technical'), +] + +sanity_check_paths = { + 'files': ['examples/baseml.ctl', 'examples/codeml.ctl', 'bin/baseml', 'bin/codeml'], + 'dirs': ['dat', 'doc', 'examples'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/examples/HIVNSsites %(builddir)s && " + "cd %(builddir)s/HIVNSsites && codeml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..8055bdba34f --- /dev/null +++ b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'PAML' +version = '4.9j' + +homepage = 'http://abacus.gene.ucl.ac.uk/software/paml.html' +description = """PAML is a package of programs for phylogenetic + analyses of DNA or protein sequences using maximum likelihood.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://abacus.gene.ucl.ac.uk/software'] +sources = ['%(namelower)s%(version)s.tgz'] +checksums = ['9b00fbd37fe825129a160599372ba4c8e88b22d14c0388044a711fb281a0191d'] + +builddependencies = [('binutils', '2.35')] + +start_dir = 'src' + +# Avoid multiple definition linking errors +prebuildopts = "sed -i 's/enum/extern enum/g' paml.h &&" +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['GeneticCode.txt', '%(builddir)s/%(namelower)s%(version)s/README.txt'], ''), + (['*.trees', '*.ctl', '*.nuc', '*.dat', 'paup*', 'stewart.aa'], ''), + (['src/baseml', 'src/basemlg', 'src/chi2', 'src/codeml', 'src/evolver'], 'bin'), + (['src/infinitesites', 'src/mcmctree', 'src/pamp', 'src/yn00'], 'bin'), + (['dat/*'], 'dat'), + (['doc/*'], 'doc'), + (['examples/*'], 'examples'), + (['Technical/*'], 'Technical'), +] + +sanity_check_paths = { + 'files': ['baseml.ctl', 'codeml.ctl', 'bin/baseml', 'bin/codeml'], + 'dirs': ['dat', 'doc', 'examples'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/examples/HIVNSsites %(builddir)s && " + "cd %(builddir)s/HIVNSsites && codeml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..cec3fffa19b --- /dev/null +++ b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'PAML' +version = '4.9j' + +homepage = 'http://abacus.gene.ucl.ac.uk/software/paml.html' +description = """PAML is a package of programs for phylogenetic + analyses of DNA or protein sequences using maximum likelihood.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['http://abacus.gene.ucl.ac.uk/software'] +sources = ['%(namelower)s%(version)s.tgz'] +checksums = ['9b00fbd37fe825129a160599372ba4c8e88b22d14c0388044a711fb281a0191d'] + +builddependencies = [('binutils', '2.36.1')] + +start_dir = 'src' + +prebuildopts = "sed -i 's/enum/extern enum/g' paml.h &&" +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['GeneticCode.txt', '%(builddir)s/%(namelower)s%(version)s/README.txt'], ''), + (['*.trees', '*.ctl', '*.nuc', '*.dat', 'paup*', 'stewart.aa'], ''), + (['src/baseml', 'src/basemlg', 'src/chi2', 'src/codeml', 'src/evolver'], 'bin'), + (['src/infinitesites', 'src/mcmctree', 'src/pamp', 'src/yn00'], 'bin'), + (['dat/*'], 'dat'), + (['doc/*'], 'doc'), + (['examples/*'], 'examples'), + (['Technical/*'], 'Technical'), +] + +sanity_check_paths = { + 'files': ['baseml.ctl', 'codeml.ctl', 'bin/baseml', 'bin/codeml'], + 'dirs': ['dat', 'doc', 'examples'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/examples/HIVNSsites %(builddir)s && " + "cd %(builddir)s/HIVNSsites && codeml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5b009111831 --- /dev/null +++ b/easybuild/easyconfigs/p/PAML/PAML-4.9j-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'PAML' +version = '4.9j' + +homepage = 'http://abacus.gene.ucl.ac.uk/software/paml.html' +description = """PAML is a package of programs for phylogenetic + analyses of DNA or protein sequences using maximum likelihood.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://abacus.gene.ucl.ac.uk/software'] +sources = ['%(namelower)s%(version)s.tgz'] +checksums = ['9b00fbd37fe825129a160599372ba4c8e88b22d14c0388044a711fb281a0191d'] + +builddependencies = [('binutils', '2.37')] + +start_dir = 'src' + +prebuildopts = "sed -i 's/enum/extern enum/g' paml.h &&" +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['GeneticCode.txt', '%(builddir)s/%(namelower)s%(version)s/README.txt'], ''), + (['*.trees', '*.ctl', '*.nuc', '*.dat', 'paup*', 'stewart.aa'], ''), + (['src/baseml', 'src/basemlg', 'src/chi2', 'src/codeml', 'src/evolver'], 'bin'), + (['src/infinitesites', 'src/mcmctree', 'src/pamp', 'src/yn00'], 'bin'), + (['dat/*'], 'dat'), + (['doc/*'], 'doc'), + (['examples/*'], 'examples'), + (['Technical/*'], 'Technical'), +] + +sanity_check_paths = { + 'files': ['baseml.ctl', 'codeml.ctl', 'bin/baseml', 'bin/codeml'], + 'dirs': ['dat', 'doc', 'examples'], +} + +sanity_check_commands = [ + "mkdir -p %(builddir)s && cp -a %(installdir)s/examples/HIVNSsites %(builddir)s && " + "cd %(builddir)s/HIVNSsites && codeml", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-10.2.0.eb index f94945b4214..3c3d70d453b 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-10.2.0.eb @@ -34,9 +34,9 @@ builddependencies = [ start_dir = 'src' -parallel = 1 - -runtest = 'fulltest' +# 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 diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-8.3.0.eb index 20a338a83fa..2ae6afcc42b 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-8.3.0.eb @@ -39,9 +39,9 @@ builddependencies = [ start_dir = 'src' -parallel = 1 - -runtest = 'fulltest' +# 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 diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-9.3.0.eb index aa17aa17a18..04c0b353db8 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0-GCCcore-9.3.0.eb @@ -39,9 +39,9 @@ builddependencies = [ start_dir = 'src' -parallel = 1 - -runtest = 'fulltest' +# 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 diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-10.3.0.eb index fdcf96e3727..806d3db3021 100644 --- a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-10.3.0.eb @@ -31,9 +31,11 @@ builddependencies = [ start_dir = 'src' -parallel = 1 +configopts = "--with-components=rapl " # for energy measurements -runtest = 'fulltest' +# 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 diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..772871241ee --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-6.0.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '6.0.0.1' + +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': '11.2.0'} + +source_urls = ['https://icl.cs.utk.edu/projects/papi/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3cd7ed50c65b0d21d66e46d0ba34cd171178af4bbf9d94e693915c1aca1e287f'] + +builddependencies = [ + ('binutils', '2.37'), +] + +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/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f44e4f12f92 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,53 @@ +## +# Author: Robert Mijakovic +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.0.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': '11.3.0'} + +source_urls = ['https://icl.cs.utk.edu/projects/papi/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_fix-compile-warning.patch'] +checksums = [ + '799dcc317a47da96beaeed445812ecb6ae49df7c0504a4569797c1f7d74c4fd2', + {'PAPI-7.0.0_fix-compile-warning.patch': 'a5d2b266669d55cb0280b4c2fed1a53c7705eb5bad7fc7d247a414e81b3f65a8'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +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/PAPI/PAPI-7.0.0_fix-compile-warning.patch b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0_fix-compile-warning.patch new file mode 100644 index 00000000000..062d326dbc5 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.0_fix-compile-warning.patch @@ -0,0 +1,21 @@ +Fix error during compilation caused by a warning: +pfmlib_perf_event_pmu.c: In function gen_tracepoint_table: +pfmlib_perf_event_pmu.c:433:27: Error: p could be used uninitialized [-Werror=maybe-uninitialized] + 433 | p->modmsk = 0, + | ~~~~~~~~~~^~~ +cc1: All warnings handled as errors + +Author: Alexander Grund (TU Dresden) + +diff -aur a/src/libpfm4/lib/pfmlib_perf_event_pmu.c b/src/libpfm4/lib/pfmlib_perf_event_pmu.c +--- a/src/libpfm4/lib/pfmlib_perf_event_pmu.c 2023-02-02 15:07:10.990410868 +0100 ++++ b/src/libpfm4/lib/pfmlib_perf_event_pmu.c 2023-02-02 15:05:51.962978074 +0100 +@@ -361,7 +361,7 @@ + { + DIR *dir1, *dir2; + struct dirent *d1, *d2; +- perf_event_t *p; ++ perf_event_t *p = NULL; + perf_umask_t *um; + char d2path[MAXPATHLEN]; + char idpath[MAXPATHLEN]; diff --git a/easybuild/easyconfigs/p/PAPI/PAPI-7.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..56d42a5680b --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.0.1' + +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': '12.2.0'} + +source_urls = ['https://icl.utk.edu/projects/papi/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c105da5d8fea7b113b0741a943d467a06c98db959ce71bdd9a50b9f03eecc43e'] + +builddependencies = [ + ('binutils', '2.39'), +] + +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/PAPI/PAPI-7.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..43913981892 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +## +# Author: Robert Mijakovic +## + +easyblock = 'ConfigureMake' + +name = 'PAPI' +version = '7.0.1' + +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': '12.3.0'} + +source_urls = ['https://icl.utk.edu/projects/papi/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c105da5d8fea7b113b0741a943d467a06c98db959ce71bdd9a50b9f03eecc43e'] + +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/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..27c5255c39a --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +## +# 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] +patches = ['%(name)s-%(version)s_add_initial_riscv_support.patch'] +checksums = [ + '5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', + {'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} +] + +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/PAPI/PAPI-7.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5c653a9d515 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0-GCCcore-13.3.0.eb @@ -0,0 +1,53 @@ +## +# 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.3.0'} + +source_urls = ['https://icl.utk.edu/projects/papi/downloads'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['%(name)s-%(version)s_add_initial_riscv_support.patch'] +checksums = [ + '5818afb6dba3ece57f51e65897db5062f8e3464e6ed294b654ebf34c3991bc4f', + {'PAPI-7.1.0_add_initial_riscv_support.patch': '6c7d0d63ccf2b8c46f2ed736fbd4c58303038fb2a45315aed94c026b773af35a'} +] + +builddependencies = [ + ('binutils', '2.42'), +] + +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/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch new file mode 100644 index 00000000000..ac57971d845 --- /dev/null +++ b/easybuild/easyconfigs/p/PAPI/PAPI-7.1.0_add_initial_riscv_support.patch @@ -0,0 +1,64 @@ +From b464420f3a2855b2c800413a4c5767b69e088087 Mon Sep 17 00:00:00 2001 +From: Vince Weaver +Date: Tue, 9 Jan 2024 21:50:26 +0000 +Subject: [PATCH] add initial riscv support + +This adds basic support for the RISC-V architecture + +After this PAPI will compile and the tools will run, however no events will +work because of missing libpfm4 support. + +Tested on a BeagleV-Ahead board +--- + src/linux-context.h | 2 ++ + src/linux-timer.c | 2 +- + src/mb.h | 10 ++++++++++ + 3 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/src/linux-context.h b/src/linux-context.h +index f46e5577b..394a4804d 100644 +--- a/src/linux-context.h ++++ b/src/linux-context.h +@@ -39,6 +39,8 @@ typedef ucontext_t hwd_ucontext_t; + #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.pc + #elif defined(__hppa__) + #define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.sc_iaoq[0] ++#elif defined(__riscv) ++#define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.__gregs[REG_PC] + #else + #error "OVERFLOW_ADDRESS() undefined!" + #endif +diff --git a/src/linux-timer.c b/src/linux-timer.c +index 0eaa79c66..be489f325 100644 +--- a/src/linux-timer.c ++++ b/src/linux-timer.c +@@ -281,7 +281,7 @@ static inline long long get_cycles() + return retval; + } + +-#elif (defined(__arm__) || defined(__mips__) || defined(__hppa__)) ++#elif (defined(__arm__) || defined(__mips__) || defined(__hppa__)) || defined(__riscv) + static inline long long + get_cycles( void ) + { +diff --git a/src/mb.h b/src/mb.h +index 81797c553..56d980410 100644 +--- a/src/mb.h ++++ b/src/mb.h +@@ -63,6 +63,16 @@ + #define rmb() asm volatile("lfence":::"memory") + #endif + ++ ++#elif defined (__riscv) ++#define RISCV_FENCE(p, s) \ ++ __asm__ __volatile__ ("fence " #p "," #s : : : "memory") ++ ++/* These barriers need to enforce ordering on both devices or memory. */ ++#define mb() RISCV_FENCE(iorw,iorw) ++#define rmb() RISCV_FENCE(ir,ir) ++#define wmb() RISCV_FENCE(ow,ow) ++ + #else + #error Need to define rmb for this architecture! + #error See the kernel source directory: tools/perf/perf.h file diff --git a/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..44c09806f4d --- /dev/null +++ b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.4-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'PARI-GP' +version = '2.15.4' + +homepage = 'https://pari.math.u-bordeaux.fr' +description = """PARI/GP is a widely used computer algebra system designed for fast computations in number theory + (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful + functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., + and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pari.math.u-bordeaux.fr/pub/pari/unix/'] +sources = ['pari-%(version)s.tar.gz'] +checksums = ['c3545bfee0c6dfb40b77fb4bbabaf999d82e60069b9f6d28bcb6cf004c8c5c0f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), +] + +skipsteps = ['configure'] + +prebuildopts = './Configure --prefix=%(installdir)s &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gp', 'gp-2.15', 'gphelp', 'tex2mail']] + + ['include/pari/%s' % x for x in ['pari.h', 'genpari.h']], + 'dirs': ['bin', 'include'] +} + +sanity_check_commands = ["gp --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f8bef46aa9c --- /dev/null +++ b/easybuild/easyconfigs/p/PARI-GP/PARI-GP-2.15.5-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'PARI-GP' +version = '2.15.5' + +homepage = 'https://pari.math.u-bordeaux.fr' +description = """PARI/GP is a widely used computer algebra system designed for fast computations in number theory + (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful + functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., + and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://pari.math.u-bordeaux.fr/pub/pari/unix/'] +sources = ['pari-%(version)s.tar.gz'] +checksums = ['0efdda7515d9d954f63324c34b34c560e60f73a81c3924a71260a2cc91d5f981'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libreadline', '8.2'), + ('ncurses', '6.4'), +] + +skipsteps = ['configure'] + +prebuildopts = './Configure --prefix=%(installdir)s &&' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['gp', 'gp-2.15', 'gphelp', 'tex2mail']] + + ['include/pari/%s' % x for x in ['pari.h', 'genpari.h']], + 'dirs': ['bin', 'include'] +} + +sanity_check_commands = ["gp --help"] + +moduleclass = 'math' 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/PCAngsd/PCAngsd-1.2-gfbf-2023a.eb b/easybuild/easyconfigs/p/PCAngsd/PCAngsd-1.2-gfbf-2023a.eb new file mode 100644 index 00000000000..d534bfa0f78 --- /dev/null +++ b/easybuild/easyconfigs/p/PCAngsd/PCAngsd-1.2-gfbf-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PCAngsd' +version = '1.2' + +homepage = "https://www.popgen.dk/software/index.php/PCAngsd" +description = "Framework for analyzing low depth NGS data in heterogeneous populations using PCA." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Cython', '3.0.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': False, + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/Rosemeis/pcangsd/archive/refs/tags/'], + 'checksums': ['286f09851c37e380c9abf5859595e7cd0ad8cb49f1d48b1b0ae409aab0eae62e'], + }), +] + +sanity_check_commands = [ + 'pcangsd --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PCL/PCL-1.7.2-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PCL/PCL-1.7.2-intel-2016a-Python-2.7.11.eb index 2aa07971580..e8c1686fe75 100644 --- a/easybuild/easyconfigs/p/PCL/PCL-1.7.2-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PCL/PCL-1.7.2-intel-2016a-Python-2.7.11.eb @@ -13,6 +13,7 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/PointCloudLibrary/pcl/archive/'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['479f84f2c658a6319b78271111251b4c2d6cf07643421b66bbc351d9bed0ae93'] builddependencies = [('CMake', '3.5.2')] dependencies = [ @@ -23,8 +24,6 @@ dependencies = [ ('Qhull', '2015.2'), ] -configopts = '-DCMAKE_BUILD_TYPE=Release ' - sanity_check_paths = { 'files': [], 'dirs': ['bin', 'include/pcl-%(version_major_minor)s/pcl', 'lib', 'share/pcl-%(version_major_minor)s'], diff --git a/easybuild/easyconfigs/p/PCL/PCL-1.8.1-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/p/PCL/PCL-1.8.1-intel-2017b-Python-2.7.14.eb index 2455e433618..710857fb134 100644 --- a/easybuild/easyconfigs/p/PCL/PCL-1.8.1-intel-2017b-Python-2.7.14.eb +++ b/easybuild/easyconfigs/p/PCL/PCL-1.8.1-intel-2017b-Python-2.7.14.eb @@ -22,14 +22,12 @@ checksums = [ builddependencies = [('CMake', '3.9.5')] dependencies = [ ('Boost', '1.65.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('FLANN', '1.8.4', versionsuffix), ('VTK', '8.0.1', versionsuffix), ('Qhull', '2015.2'), ] -configopts = '-DCMAKE_BUILD_TYPE=Release ' - sanity_check_paths = { 'files': [], 'dirs': ['bin', 'include/pcl-%(version_major_minor)s/pcl', 'lib', 'share/pcl-%(version_major_minor)s'], diff --git a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.1.4-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.1.4-intel-2016a-Python-2.7.11.eb index cc1a8741b21..f72915ceea0 100644 --- a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.1.4-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.1.4-intel-2016a-Python-2.7.11.eb @@ -10,8 +10,9 @@ description = """An API for the Polarizable Continuum Model.""" toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'cstd': 'c99'} -sources = ['v%(version)s.tar.gz'] source_urls = ['https://github.com/PCMSolver/pcmsolver/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e20d6e984cdb2795351714c2659c71d69fede9ebf159435fc7a0fdf897981ee9'] dependencies = [ ('Python', '2.7.11'), @@ -24,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.7'), ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DEIGEN3_ROOT=$EBROOTEIGEN' +configopts = '-DEIGEN3_ROOT=$EBROOTEIGEN' configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS $LIBLAPACK_MT -DEIGEN_USE_MKL_ALL"' separate_build_dir = True diff --git a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-foss-2018b-Python-3.6.6.eb index f8ba46b7525..558337872ed 100644 --- a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-foss-2018b-Python-3.6.6.eb @@ -24,10 +24,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.12.1'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DEIGEN3_ROOT=$EBROOTEIGEN' +configopts = '-DEIGEN3_ROOT=$EBROOTEIGEN' separate_build_dir = True diff --git a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-gompi-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-gompi-2019a-Python-3.7.2.eb index 0274eb69923..fc5b5e2cff7 100644 --- a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-gompi-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-gompi-2019a-Python-3.7.2.eb @@ -24,10 +24,10 @@ dependencies = [ builddependencies = [ ('CMake', '3.13.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] -configopts = '-DCMAKE_BUILD_TYPE=Release -DEIGEN3_ROOT=$EBROOTEIGEN' +configopts = '-DEIGEN3_ROOT=$EBROOTEIGEN' separate_build_dir = True diff --git a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2019b-Python-3.7.4.eb index 4862bbfa6aa..ee6f7d3f34e 100644 --- a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-1.2.3-iimpi-2019b-Python-3.7.4.eb @@ -18,7 +18,7 @@ checksums = ['d1ef6bdc268a2e719b36c85125c3543df7a26e1a738daf4483f4ded0c76f5b60'] builddependencies = [ ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [ 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/PCMSolver/PCMSolver-20160205-intel-2016a-Python-2.7.11.eb b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-20160205-intel-2016a-Python-2.7.11.eb index 36dc00869e5..61dd798a80e 100644 --- a/easybuild/easyconfigs/p/PCMSolver/PCMSolver-20160205-intel-2016a-Python-2.7.11.eb +++ b/easybuild/easyconfigs/p/PCMSolver/PCMSolver-20160205-intel-2016a-Python-2.7.11.eb @@ -10,8 +10,9 @@ description = """An API for the Polarizable Continuum Model.""" toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'cstd': 'c99'} -sources = ['2473699d6c5db36525160e.tar.gz'] source_urls = ['https://github.com/PCMSolver/pcmsolver/archive/'] +sources = ['2473699d6c5db36525160e.tar.gz'] +checksums = ['52219902e1cdc7a8f3725f7b72938c7722ecdaf5bfb3ca6fff7917979335eee2'] dependencies = [ ('Python', '2.7.11'), @@ -24,7 +25,7 @@ builddependencies = [ ('Eigen', '3.2.7'), ] -configopts = "-DCMAKE_BUILD_TYPE=Release -DEIGEN3_ROOT=$EBROOTEIGEN " +configopts = "-DEIGEN3_ROOT=$EBROOTEIGEN " configopts += '-DCMAKE_CXX_FLAGS="$LIBLAPACK_MT -DEIGEN_USE_MKL_ALL"' separate_build_dir = True diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b20423ccc52 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.pcre.org/pub/pcre/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +configopts = """\ + --enable-utf\ + --enable-unicode-properties\ + --enable-pcre16\ + --enable-pcre32\ +""" + +sanity_check_paths = { + 'files': ['bin/pcre-config', 'include/pcre.h', + 'share/man/man3/pcre.3', 'lib/libpcre32.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'share/doc/pcre/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1dc03c972d3 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.pcre.org/pub/pcre/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +configopts = """\ + --enable-utf\ + --enable-unicode-properties\ + --enable-pcre16\ + --enable-pcre32\ +""" + +sanity_check_paths = { + 'files': ['bin/pcre-config', 'include/pcre.h', + 'share/man/man3/pcre.3', 'lib/libpcre32.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'share/doc/pcre/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1f099f8c63d --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.pcre.org/pub/pcre/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.12'), +] + +configopts = ' '.join([ + '--enable-utf', + '--enable-unicode-properties', + '--enable-pcre16', + '--enable-pcre32', +]) + +sanity_check_paths = { + 'files': ['bin/pcre-config', 'include/pcre.h', + 'share/man/man3/pcre.3', 'lib/libpcre32.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'share/doc/pcre/html', 'share/man/man1'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b0f34719345 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE/PCRE-8.45-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [ + SOURCEFORGE_SOURCE, + 'https://ftp.pcre.org/pub/pcre/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.13'), +] + +configopts = ' '.join([ + '--enable-utf', + '--enable-unicode-properties', + '--enable-pcre16', + '--enable-pcre32', +]) + +sanity_check_paths = { + 'files': ['bin/pcre-config', 'include/pcre.h', + 'share/man/man3/pcre.3', 'lib/libpcre32.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig', 'share/doc/pcre/html', 'share/man/man1'], +} + +moduleclass = 'devel' 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/PCRE2/PCRE2-10.21-foss-2016a.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb index 12016d01cbe..987673424a7 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.21-foss-2016a.eb @@ -12,8 +12,9 @@ description = """ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'optarch': True, 'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] +checksums = ['1cfd43caffe07fe7f2cfafc74c8f0d87b38d80bbb63226a1193407476508e317'] configopts = "--with-pic --disable-cpp --enable-jit" diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb index 5c1b1a2eee6..6e778809b3c 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.31-foss-2018b.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e11ebd99dd23a7bccc9127d95d9978101b5f3cf0a6e7d25a1b1ca165a97166c4'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb index 01e3fb5bfdb..450024fdf67 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.2.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} toolchainopts = {'pic': True} -source_urls = ['http://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e2e2899a97489fc6ad1b0cc3da7952c7cca991b4a0f7db6649b75d9721025d31'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb index 389549a78a0..8cc0b7a6524 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.33-GCCcore-8.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['e2e2899a97489fc6ad1b0cc3da7952c7cca991b4a0f7db6649b75d9721025d31'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb index 964495dcb0e..f5d596ea476 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.34-GCCcore-9.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['da6aba7ba2509e918e41f4f744a59fa41a2425c59a298a232e7fe85691e00379'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb index af6d2eaca84..b44919660c6 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.35-GCCcore-10.2.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['8fdcef8c8f4cd735169dd0225fd010487970c1bcadd49e9b90e26c7250a33dc9'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb index 5f9348bc96c..6f63b8cf298 100644 --- a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.36-GCCcore-10.3.0.eb @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://download.sourceforge.net/pcre'] +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] sources = [SOURCELOWER_TAR_GZ] checksums = ['b95ddb9414f91a967a887d69617059fb672b914f56fa3d613812c1ee8e8a1a37'] diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e82daf409ad --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.37-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.37' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e214c0c40a97b8a5c2b4ae88a3aa8a93e6f2e45c6b3534ddac351f26548577'] + +builddependencies = [('binutils', '2.37')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1d9ce29ade6 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.40' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ded42661cab30ada2e72ebff9e725e745b4b16ce831993635136f2ef86177724'] + +builddependencies = [('binutils', '2.38')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7aed3007b9f --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.40-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.40' + +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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ded42661cab30ada2e72ebff9e725e745b4b16ce831993635136f2ef86177724'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01813f20f0b --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.42' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c33b418e3b936ee3153de2c61cc638e7e4fe3156022a5c77d0711bcbb9d64f1f'] + +builddependencies = [('binutils', '2.40')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..416148d0f52 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.42-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.42' + +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 = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c33b418e3b936ee3153de2c61cc638e7e4fe3156022a5c77d0711bcbb9d64f1f'] + +builddependencies = [('binutils', '2.40')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fcbe54f5a34 --- /dev/null +++ b/easybuild/easyconfigs/p/PCRE2/PCRE2-10.43-GCCcore-13.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'PCRE2' +version = '10.43' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PCRE2Project/%(namelower)s/releases/download/%(namelower)s-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['889d16be5abb8d05400b33c25e151638b8d4bac0e2d9c76e9d6923118ae8a34e'] + +builddependencies = [('binutils', '2.42')] + +configopts = "--enable-shared --enable-jit --enable-pcre2-16 --enable-unicode" + +sanity_check_paths = { + 'files': ["bin/pcre2-config", "bin/pcre2grep", "bin/pcre2test", "lib/libpcre2-8.a", "lib/libpcre2-16.a"], + 'dirs': [], +} + +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/PDM/PDM-2.18.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PDM/PDM-2.18.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b56e431ecba --- /dev/null +++ b/easybuild/easyconfigs/p/PDM/PDM-2.18.2-GCCcore-13.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'PDM' +version = '2.18.2' + +homepage = 'https://pdm-project.org' +description = "A modern Python package and dependency manager supporting the latest PEP standards." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pdm_backend', '2.3.3', { + 'modulename': 'pdm.backend', + 'checksums': ['a8616f628ec84353d7a0ba86b228dcf01bab5debc9e4d1a29e5311a52425d594'], + }), + ('installer', '0.7.0', {'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631']}), + ('sniffio', '1.3.1', {'checksums': ['f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc']}), + ('h11', '0.14.0', {'checksums': ['8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d']}), + ('httpcore', '1.0.5', {'checksums': ['34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61']}), + ('anyio', '4.4.0', {'checksums': ['5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94']}), + ('httpx', '0.27.2', {'checksums': ['f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2']}), + ('unearth', '0.17.2', {'checksums': ['0b8a2afd3476f1ab6155fc579501ac47fffe43547d88a70e5a5b76a7fe6caa2c']}), + ('installer', '0.7.0', {'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631']}), + ('truststore', '0.9.2', {'checksums': ['a1dee0d0575ff22d2875476343783a5d64575419974e228f3248772613c3d993']}), + ('resolvelib', '1.0.1', {'checksums': ['04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309']}), + ('python-dotenv', '1.0.1', { + 'modulename': 'dotenv', + 'checksums': ['e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca'], + }), + ('pyproject_hooks', '1.1.0', {'checksums': ['4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965']}), + ('pbs-installer', '2024.9.9', { + 'source_tmpl': 'pbs_installer-%(version)s.tar.gz', + 'checksums': ['bed162d05ef71c53a0e5e5c6349bab1b07a3d0e5af1800d619a4414a1fda309a'], + }), + ('hishel', '0.0.30', {'checksums': ['656393ee77e9c39a0d6c527c74810e15d96e598dcb9b191f20a788608ceaca99']}), + ('findpython', '0.6.1', {'checksums': ['56e52b409a92bcbd495cf981c85acf137f3b3e51cc769b46eba219bb1ab7533c']}), + ('dep-logic', '0.4.6', { + 'source_tmpl': 'dep_logic-%(version)s.tar.gz', + 'checksums': ['673d45402e9f11c4e501b08ebaea1efaa5e9bc6f69410684a9e448f8f5b26d6a'], + }), + ('blinker', '1.8.2', {'checksums': ['8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83']}), + ('pdm', version, {'checksums': ['6d93a18d52edca056fafed7b262fe48ddc61984dabf73eb9365ad61a90caebb6']}), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..616d76a254c --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# # +# 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.1' + +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': '10.3.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2e977b2ffc6 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# # +# 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.1' + +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': '11.2.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..49e5f3b335f --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# # +# 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.1' + +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': '11.3.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9fa4c7e9fbd --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +# # +# 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.1' + +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': '12.2.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b1b6694ef76 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.1-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# # +# 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.1' + +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': '12.3.0'} + +source_urls = ['http://tau.uoregon.edu/pdt_releases/'] +sources = ['pdtoolkit-%(version)s.tar.gz'] +checksums = ['0b6f8a6b8769c181b2ae6cae7298f04b8e3e3d68066f598ed24574e19500bc97'] + +builddependencies = [ + ('binutils', '2.40'), +] + + +moduleclass = 'perf' 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/PDT/PDT-3.25.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PDT/PDT-3.25.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..74328c99ae7 --- /dev/null +++ b/easybuild/easyconfigs/p/PDT/PDT-3.25.2-GCCcore-13.3.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.3.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.42'), +] + + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-10.3.0.eb b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-10.3.0.eb new file mode 100644 index 00000000000..6850da15eba --- /dev/null +++ b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'PEAR' +version = '0.9.11' + +homepage = 'https://cme.h-its.org/exelixis/web/software/%(namelower)s/' +description = """PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. + It is fully parallelized and can run with as low as just a few kilobytes of memory.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +# Needs manual download via web-form, +# https://www.h-its.org/en/research/sco/software/#NextGenerationSequencingSequenceAnalysis +sources = ['%(namelower)s-src-%(version)s.tar.gz'] +checksums = ['94f4a1835cd75ec6fab83405c2545ddba6b6bb1644579222e9cc2ad57a59d654'] + +builddependencies = [('Autotools', '20210128')] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = 'aclocal && autoconf && automake --add-missing && ' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.2.0.eb new file mode 100644 index 00000000000..4dadb6ab88e --- /dev/null +++ b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'PEAR' +version = '0.9.11' + +homepage = 'https://cme.h-its.org/exelixis/web/software/pear/' +description = """PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. + It is fully parallelized and can run with as low as just a few kilobytes of memory.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +# Needs manual download via web-form, +# https://www.h-its.org/en/research/sco/software/#NextGenerationSequencingSequenceAnalysis +sources = ['%(namelower)s-src-%(version)s.tar.gz'] +checksums = ['94f4a1835cd75ec6fab83405c2545ddba6b6bb1644579222e9cc2ad57a59d654'] + +builddependencies = [('Autotools', '20210726')] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = 'aclocal && autoconf && automake --add-missing && ' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.3.0.eb b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.3.0.eb new file mode 100644 index 00000000000..46016c94a95 --- /dev/null +++ b/easybuild/easyconfigs/p/PEAR/PEAR-0.9.11-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'PEAR' +version = '0.9.11' + +homepage = 'https://cme.h-its.org/exelixis/web/software/pear/' +description = """PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. + It is fully parallelized and can run with as low as just a few kilobytes of memory.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +download_instructions = "Manual download via web form, see https://www.h-its.org/software/pear-paired-end-read-merger" +sources = ['%(namelower)s-src-%(version)s.tar.gz'] +checksums = ['94f4a1835cd75ec6fab83405c2545ddba6b6bb1644579222e9cc2ad57a59d654'] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), +] + +preconfigopts = 'aclocal && autoconf && automake --add-missing && ' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PEPT/PEPT-0.4.1-foss-2021a.eb b/easybuild/easyconfigs/p/PEPT/PEPT-0.4.1-foss-2021a.eb new file mode 100644 index 00000000000..09a0ee28c7d --- /dev/null +++ b/easybuild/easyconfigs/p/PEPT/PEPT-0.4.1-foss-2021a.eb @@ -0,0 +1,45 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'PEPT' +version = '0.4.1' + +homepage = "https://pept.readthedocs.io/en/latest/" +description = """A Python library that integrates all the tools necessary to perform research using Positron Emission + Particle Tracking (PEPT). The library includes algorithms for the location, identification and tracking of particles, + in addition to tools for visualisation and analysis, and utilities allowing the realistic simulation of PEPT data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), + ('plotly.py', '5.1.0'), + ('numba', '0.53.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('beartype', '0.8.1', { + 'checksums': ['c2a2bac961cae7f022d88b892c0d23e91314915aea3e01f316880b4fb00d7d2c'], + }), + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('hdbscan', '0.8.27', { + 'checksums': ['e3a418d0d36874f7b6a1bf0b7461f3857fc13a525fd48ba34caed2fe8973aa26'], + }), + ('cma', '3.1.0', { + 'checksums': ['3b83077fe3a52be1d8c82d61a22f600401c772b1add6ed5dd8152e1a2d15e3c6'], + }), + ('pept', version, { + 'checksums': ['1f4f5a64715bfe9552aba4e13ee5f96534e402293162a6c3396d19b77e1fb5d2'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PETSc/PETSc-3.14.4-intel-2020b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.14.4-intel-2020b.eb new file mode 100644 index 00000000000..5e792a3e974 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.14.4-intel-2020b.eb @@ -0,0 +1,47 @@ +name = 'PETSc' +version = '3.14.4' + +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': 'intel', 'version': '2020b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + '2fb431434b91e054cc3a176f7cb008951088243b5dcb3efc8eec8ce589a2658e', # petsc-3.14.4.tar.gz + '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch +] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Boost', '1.74.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('MUMPS', '5.3.5', '-metis'), + ('SuiteSparse', '5.8.1', '-METIS-5.1.0'), + ('Hypre', '2.20.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +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/PETSc/PETSc-3.15.1-foss-2021a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-foss-2021a.eb new file mode 100644 index 00000000000..6515cea646b --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-foss-2021a.eb @@ -0,0 +1,50 @@ +## +# Author: Robert Mijakovic +## +name = 'PETSc' +version = '3.15.1' + +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': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + 'c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb', # petsc-3.15.1.tar.gz + '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('MUMPS', '5.4.0', '-metis'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('Hypre', '2.21.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +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/PETSc/PETSc-3.15.1-intel-2021a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-intel-2021a.eb new file mode 100644 index 00000000000..75d34f53c6c --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.15.1-intel-2021a.eb @@ -0,0 +1,52 @@ +## +# Author: Robert Mijakovic +## +name = 'PETSc' +version = '3.15.1' + +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': 'intel', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', + 'PETSc_remove-mpiicc-show-quotes.patch', +] +checksums = [ + {'petsc-3.15.1.tar.gz': 'c0ac6566e69d1d70b431e07e7598e9de95e84891c2452db1367c846b75109deb'}, + {'PETSc_ranlib-fix.patch': '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297'}, + {'PETSc_remove-mpiicc-show-quotes.patch': 'e6ccd7ab33d806f1e635f536d94c98b7aa36f6462d6a0f9f71b177f6ed23f09e'}, +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.0'), + ('MUMPS', '5.4.0', '-metis'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('Hypre', '2.21.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +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/PETSc/PETSc-3.17.4-foss-2022a.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.17.4-foss-2022a.eb new file mode 100644 index 00000000000..4f5e7a06671 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.17.4-foss-2022a.eb @@ -0,0 +1,53 @@ +## +# Author: Robert Mijakovic +# Author: Jasper Grimm (UoY) +## +name = 'PETSc' +version = '3.17.4' + +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': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + '99c127486722a3ffd95a268b4ceb0976cbf217926c681a9631bd7246eab8cb2a', # petsc-3.17.4.tar.gz + '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297', # PETSc_ranlib-fix.patch +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.1'), + ('MUMPS', '5.5.1', '-metis'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('Hypre', '2.25.0'), + ('ParMETIS', '4.0.3'), + ('SuperLU_DIST', '8.1.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +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/PETSc/PETSc-3.18.4-intel-2021b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.18.4-intel-2021b.eb new file mode 100644 index 00000000000..37ddfc1c7fc --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.18.4-intel-2021b.eb @@ -0,0 +1,47 @@ +name = 'PETSc' +version = '3.18.4' + +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': 'intel', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'PETSc_ranlib-fix.patch', +] +checksums = [ + {'petsc-3.18.4.tar.gz': '6173d30637261c5b740c0bea14747759200ca2012c7343139f9216bc296a6394'}, + {'PETSc_ranlib-fix.patch': '64cf9d5008d5e92117e65bdec5316d991b6a6b8c8ecf7ea46eb790a498266297'}, +] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Boost', '1.77.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.2'), + ('MUMPS', '5.4.1', '-metis'), + ('SuiteSparse', '5.10.1', '-METIS-5.1.0'), + ('Hypre', '2.24.0'), +] + +# enabling --with-mpi4py seems to be totally broken, leads to make errors like: +# No rule to make target 'mpi4py-build' +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/PETSc/PETSc-3.19.2-foss-2022b.eb b/easybuild/easyconfigs/p/PETSc/PETSc-3.19.2-foss-2022b.eb new file mode 100644 index 00000000000..1a49fec0885 --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc-3.19.2-foss-2022b.eb @@ -0,0 +1,46 @@ +## +# Author: Robert Mijakovic +# Author: Jasper Grimm (UoY) +## +name = 'PETSc' +version = '3.19.2' + +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': '2022b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = [ + 'https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', + 'ftp://ftp.mcs.anl.gov/pub/petsc/release-snapshots/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['114f363f779bb16839b25c0e70f8b0ae0d947d50e72f7c6cddcb11b001079b16'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Boost', '1.81.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('MUMPS', '5.6.1', '-metis'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('Hypre', '2.27.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/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/PETSc/PETSc_remove-mpiicc-show-quotes.patch b/easybuild/easyconfigs/p/PETSc/PETSc_remove-mpiicc-show-quotes.patch new file mode 100644 index 00000000000..0286368966e --- /dev/null +++ b/easybuild/easyconfigs/p/PETSc/PETSc_remove-mpiicc-show-quotes.patch @@ -0,0 +1,18 @@ +The PETSc configuration script relies on the output of the command +"mpicc/mpiicc -show". For some versions of mpiicc, that command prints +include and link paths between double quotes, which confuses the PETSc +configuration script. This patch removes the double quotes again and should +only be necessary when using mpiicc newer than 2021a. +Author: Steven Vandenbrande +diff -Nru config/PETSc/Configure.py.back config/PETSc/Configure.py` +--- config/PETSc/Configure.py.back 2023-02-09 14:59:14.086680000 +0100 ++++ config/PETSc/Configure.py 2023-02-09 14:59:03.095892000 +0100 +@@ -251,7 +251,7 @@ + compiler = self.setCompilers.getCompiler() + if [s for s in ['mpicc','mpiicc'] if os.path.basename(compiler).find(s)>=0]: + try: +- output = self.executeShellCommand(compiler + ' -show', log = self.log)[0] ++ output = self.executeShellCommand(compiler + ' -show', log = self.log)[0].replace('"', '') + compiler = output.split(' ')[0] + self.addDefine('MPICC_SHOW','"'+output.strip().replace('\n','\\\\n')+'"') + except: diff --git a/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..b5747815246 --- /dev/null +++ b/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000-foss-2023a-R-4.3.2.eb @@ -0,0 +1,217 @@ +easyblock = 'Bundle' + +name = 'PEcAn' +version = '1.8.0.9000' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/PecanProject/pecan' +description = """Ecosystem science, policy, and management informed by the best available data and models.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), + ('PostgreSQL', '16.1'), + ('CDO', '2.2.2'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.2'), + ('UDUNITS', '2.2.28'), + ('texlive', '20230313'), + ('NCO', '5.1.9'), + ('ncview', '2.1.8'), + ('rjags', '4-15', versionsuffix), + ('Redland', '1.0.17'), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + 'https://cran.freestatistics.org/src/contrib', # mirror alternative for current packages + 'https://pecanproject.r-universe.dev/src/contrib/', # PEcAn sources + ], +} + +exts_list = [ + ('PEcAn.logger', '1.8.2.9000', { + 'checksums': ['1092f72fa63d58d83ca939a06bfa51ad3b3b4cd94ca4e68202cdb08fd3ada099'], + }), + ('PEcAn.remote', version, { + 'checksums': ['b3c7208c85d37aa6c12ca99182262a9886e57e2591faefd909232b8c89111b20'], + }), + ('PEcAn.utils', version, { + 'checksums': ['524c3231a21a1e5fc48ebc53d17e49c82f018b87c274095cd0362103fe322ec5'], + }), + ('PEcAn.DB', version, { + 'checksums': ['9b7e9b40a07879c1265d9ab6087b7448dfd34c3601c64ddcb41511c97399fece'], + }), + ('PEcAn.settings', version, { + 'checksums': ['555a7d81eec7e97b8457cef51888087af6b5d7d07f527ca58cbab07ed847fabc'], + }), + ('PEcAn.MA', '1.7.3.9000', { + 'checksums': ['680290e0ee52526db1242d95c4ca06a1e0ad117337ff721d79387797bc7e40ed'], + }), + ('PEcAn.emulator', version, { + 'checksums': ['68944ebdf1f37ff84f9b09bf02c709de9eda823728bbdea073a36d7ef19cfb9c'], + }), + ('PEcAn.priors', '1.7.3.9000', { + 'checksums': ['e942a31ae02af61b1b8e36d1c5df58f39829b3d0c29421edc151f2f063ff4c1f'], + }), + ('PEcAn.uncertainty', version, { + 'checksums': ['65e392536e17e1de2bf8f66c2cd8f46fcb26dcb3294acf0132551b6736722196'], + }), + ('amerifluxr', '1.0.0', { + 'checksums': ['ec54dce4b8e4108832eaadb60f7ef8ad28b459d3381316537492dcd755d83b25'], + }), + ('geonames', '0.999', { + 'checksums': ['1dd7bbd82d9425d14eb36f8e5bf431feaccfe3b0c4e70bf38f44f13dfc59e17b'], + }), + ('solartime', '0.0.2', { + 'checksums': ['5dd7a28db2bd4881ab740cd7004b88cd05c61e0954e3a10c8e18ebbe07d3e7d1'], + }), + ('bigleaf', '0.8.2', { + 'checksums': ['e41d82fb6298150c46f57128e959a1f1c6cfa55e916c32544bab7be69b0b6df7'], + }), + ('REddyProc', '1.3.3', { + 'checksums': ['3f673bd24f41813f631bf25139c9595bd91483e898ec31b7207c4eb8b7ff486b'], + }), + ('suntools', '1.0.0', { + 'checksums': ['42b7b39bd23ad48ded002150a0e7798fab94ed9828e5b5fdd8e5e1c9040697e2'], + }), + ('fauxpas', '0.5.2', { + 'checksums': ['84d07361a146b419cb1dcb7751654e3d5f159cf2704faf498e5ea56c8de61ef6'], + }), + ('nneo', '0.1.0', { + 'checksums': ['ca503e78cf4f4c85de6e18ad3ffde0c08d6a507ff5dc5ff91a50b3e04bf84a49'], + }), + ('PEcAn.data.atmosphere', version, { + 'checksums': ['28fb884cdeeff6405252352a261c3a884ad33202e556e88cee262aba96e1aea4'], + }), + ('redland', '1.0.17-18', { + 'checksums': ['e999ba22321733df7ed056f528e38fc4be535d36bbac8106395c14f9f60a75a0'], + }), + ('datapack', '1.4.1', { + 'checksums': ['6149733ae90e6bbbb53d5f85ca29cec5f811825e794b56029b7f325de6637493'], + }), + ('dplR', '1.7.7', { + 'checksums': ['0e35a4d2a22773499f9e4592d1a198a08c9842388ce1e5a35394990ed4cdb2bd'], + }), + ('neonUtilities', '2.4.2', { + 'checksums': ['37b4efd0ed3b724de999d08d4d430954a6c717b1d943bc84c513c4fe8dbca057'], + }), + ('storr', '1.2.5', { + 'checksums': ['4224c3991d9c043a45ce530d0698d7f2cdca231b26fe31b45e0db865026e5f63'], + }), + ('thor', '1.1.5', { + 'checksums': ['99802d8c8471ce351403f8428c1efab48ccf20f359fbd368db84f25ef8f7ecae'], + }), + ('duckdb', '1.0.0-2', { + 'patches': ['PEcAn-1.8.0.9000_duckdb.patch'], + 'checksums': [ + {'duckdb_1.0.0-2.tar.gz': '3735d51f22d62a7411aa514142cd569ce28bdaec4eb58d5f0893a476b9ccbf01'}, + {'PEcAn-1.8.0.9000_duckdb.patch': 'fb47b668b23e6c9274ce5365725af71e56f2d99771efdd343dc4283f68ab0c21'}, + ], + }), + ('duckdbfs', '0.0.4', { + 'checksums': ['90b2aff2bdefff1db4f855e2a9c9b19a404f522027105424aebd3c7e45944334'], + }), + ('neonstore', '0.5.1', { + 'checksums': ['f911e957861d558adead8ca77e4d1575a47dceb9553f1aa9d818460126deab9b'], + }), + ('HDInterval', '0.2.4', { + 'checksums': ['bb07f0edd660a02ed18e578c2798eb8c2db0e181a5e0c3e23db182d13e9494f6'], + }), + ('kknn', '1.3.1', { + 'checksums': ['22840e70ec2afa40371e274b583634c8f6d27149a87253ee411747d5db78f3db'], + }), + ('timeSeries', '4032.109', { + 'checksums': ['5e0c47584e0b01ea4011ed5ced217d95f8bb872611f6b029b0797d95eebd731f'], + }), + ('gss', '2.2-7', { + 'checksums': ['3b13144702c570c83462b4ea2ad17f4bd630cff5bf2ab0347a33c7e86a4f3f6a'], + }), + ('fBasics', '4032.96', { + 'checksums': ['e1556909871c836668b10bf90e1676aac6a2892a04663d7ab00c22a64c0b8690'], + }), + ('rmutil', '1.1.10', { + 'checksums': ['819fd7ce695cc742b4594705986eb06764460fc88521ea32de793c49de7ca5f9'], + }), + ('stable', '1.1.6', { + 'checksums': ['2238788a35b5aa9e175ad7b92348640c3dcad68b6ab0a0bc04aeec9084d29da4'], + }), + ('statip', '0.2.3', { + 'checksums': ['56a81a1882856cd1c5711ba133417b64f09071dda356e74280a0dba0db60d54f'], + }), + ('modeest', '2.4.0', { + 'checksums': ['1a949409bf64679d32400d20aa3d53e65a9a20f5bd1a40993b95f81100e0ed20'], + }), + ('runjags', '2.2.2-4', { + 'checksums': ['6f656e4d0620c0806e596ddb4bfec3934534ec17c02da699fcbfd6720a6f424f'], + }), + ('swfscMisc', '1.6.5', { + 'checksums': ['a49cb390643c4079f02986862eb2dfd33db4e6b6498e849bb418f73ffd6882e1'], + }), + ('CDM', '8.2-6', { + 'checksums': ['144a85e36c120e9f8a5bd35c1db50cf089ea4807721ac14460137b9a4b1c98d1'], + }), + ('TAM', '4.2-21', { + 'checksums': ['0d1782e42e89c1863edab12c1861d0e2628ea9ee1a1e37d268f27a3deaf3d568'], + }), + ('pbv', '0.5-47', { + 'checksums': ['e17a04efa96a601ab72172b59f555f36d28bb824f02f363cc5806b05d7d7c792'], + }), + ('sirt', '4.1-15', { + 'checksums': ['c12ffcb83bea5b549c7a34c12561f3e57798b83d68a887c5da0d9a66efac3066'], + }), + ('hoardr', '0.5.4', { + 'checksums': ['4e031ac1317584451c09bc8288ed73fb2d6ceea3c10d29dbb4be08157e489a37'], + }), + ('traits', '0.5.1', { + 'checksums': ['3080887a454d69814cd6cb9683a6750db02cf4c77b40b022ef50d40171ba6aca'], + }), + ('SimilarityMeasures', '1.4', { + 'checksums': ['b26bbc3a402d21f030cc8e4ff6baca644eb4c63a4fb33423dbc9436229a393f0'], + }), + ('PEcAn.benchmark', '1.7.3.9000', { + 'checksums': ['2e8b285869b4df148228cdde5de44a67dfe0b584b2a7cd614280134259e33ed4'], + }), + ('PEcAn.visualization', version, { + 'checksums': ['f77dcb756871a419a85e46cde4a1fb0a1993c29cce8578255d5a46db722ece43'], + }), + ('PEcAn.data.land', version, { + 'checksums': ['19c572e95c11362f4714d9c3d9cc7b2d17c2e3a34513c7ed629e7bdb99bdd0ec'], + }), + ('MODISTools', '1.1.5', { + 'checksums': ['0a6b3762865424e299e1a5ec28de78b8dcca3f673e61f42a37dae19ed78db3e3'], + }), + ('PEcAn.data.remote', version, { + 'checksums': ['c097d9395d9dbb6c123f404525cae7fdb1a99b142b32c1a40b0143060444e184'], + }), + ('SparseGrid', '0.8.2', { + 'checksums': ['1d84ae83db2a390b111589a10570d55b378c2dd3310d3bc588a94ab8845cfd14'], + }), + ('lqmm', '1.5.8', { + 'checksums': ['11eddeeeed6b9d3190a80a3b3cc3d64519c6e9cb208746a3736139340df691fb'], + }), + ('PEcAn.workflow', version, { + 'checksums': ['91a1849c040089da1088c02469b973a5f301a419237db7c840fe4ca2922f4b9d'], + }), + ('PEcAn.assim.batch', version, { + 'checksums': ['a1403a5a4591791e37e7e48ca9e9d49f66f4270757711b68b72fd38aadd411cb'], + }), + ('PEcAn.all', version, { + 'checksums': ['6fe594fb890b5680977d1bf58232b941c6d522456e7803e3dc9c4418b92db737'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s.all'], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000_duckdb.patch b/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000_duckdb.patch new file mode 100644 index 00000000000..940992bf5ba --- /dev/null +++ b/easybuild/easyconfigs/p/PEcAn/PEcAn-1.8.0.9000_duckdb.patch @@ -0,0 +1,16 @@ +Fixes the `prefix_back_ was not declared` error, see https://github.com/duckdb/duckdb/pull/12344 +Source: https://patch-diff.githubusercontent.com/raw/duckdb/duckdb/pull/12344.diff +diff -u src/duckdb/third_party/re2/re2/prog.cc.orig src/duckdb/third_party/re2/re2/prog.cc +--- src/duckdb/third_party/re2/re2/prog.cc.orig 2024-07-19 14:46:13.000000000 +0200 ++++ src/duckdb/third_party/re2/re2/prog.cc 2024-08-21 15:51:17.394266979 +0200 +@@ -1143,8 +1143,8 @@ + const __m256i* bp = reinterpret_cast( + reinterpret_cast(data) + prefix_size_-1); + const __m256i* endfp = fp + size/sizeof(__m256i); +- const __m256i f_set1 = _mm256_set1_epi8(prefix_front_); +- const __m256i b_set1 = _mm256_set1_epi8(prefix_back_); ++ const __m256i f_set1 = _mm256_set1_epi8(prefix_front_back.prefix_front_); ++ const __m256i b_set1 = _mm256_set1_epi8(prefix_front_back.prefix_back_); + do { + const __m256i f_loadu = _mm256_loadu_si256(fp++); + const __m256i b_loadu = _mm256_loadu_si256(bp++); diff --git a/easybuild/easyconfigs/p/PFFT/PFFT-20181230-gompi-2022a.eb b/easybuild/easyconfigs/p/PFFT/PFFT-20181230-gompi-2022a.eb new file mode 100644 index 00000000000..07ac613932c --- /dev/null +++ b/easybuild/easyconfigs/p/PFFT/PFFT-20181230-gompi-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'PFFT' +version = '20181230' +_commit = 'e4cfcf9902d0ef82cb49ec722040932b6b598c71' + +homepage = 'https://www-user.tu-chemnitz.de/~potts/workgroup/pippig/software.php.en#pfft' +description = """PFFT is a software library for computing massively parallel, fast Fourier +transformations on distributed memory architectures. PFFT can be understood as +a generalization of FFTW-MPI to multidimensional data decomposition. The +library is written in C and MPI. A Fortran interface is also available. Support +for hybrid parallelization based on OpenMP and MPI is under development.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +github_account = 'mpip' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['672ae09009bb8b7ee9b9106f3fa7b87cecf8c935f206e83f7875d27a725f0e9a'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('FFTW', '3.3.10'), + ('FFTW.MPI', '3.3.10'), +] + +preconfigopts = 'autoreconf -i -f &&' + +sanity_check_paths = { + 'files': ['lib/libpfft.a', 'lib/libpfft.la', 'lib/libpfft.%s' % SHLIB_EXT] + + ['include/pfft.f', 'include/pfft.f03', 'include/pfft.h', 'include/pfftl.f03'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4033ffc1c52 --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +# Contribution from Imperial College London (UK) +# Uploaded by J. Sassmannshausen + +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': '11.2.0'} + +source_urls = ['ftp://ftp.astro.caltech.edu/pub/pgplot/'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '')] +patches = ['PGPLOT-5.2.2_gfortran-deps-fixes.patch'] +checksums = [ + {'pgplot522.tar.gz': 'a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4'}, + {'PGPLOT-5.2.2_gfortran-deps-fixes.patch': 'b1822eb32499dc18aa4aa4fae0b31c3c64ff8abb3a243716e78addafa7e58cec'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('X11', '20210802'), +] + +cmds_map = [('.*', './makemake . linux g77_gcc && make && make shared && make cpg && make cpg-shared')] + +files_to_copy = [ + (['pgdemo*'], 'bin'), + (['libpgplot.*', 'libcpgplot.*'], 'lib'), + (['grfont.dat'], 'share'), + (['cpgplot.h'], 'include'), +] + +# create .so symlinks for shared libraries +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), +] + +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/PGPLOT/PGPLOT-5.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d07bd42ad50 --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +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': '11.3.0'} + +source_urls = ['ftp://ftp.astro.caltech.edu/pub/pgplot/'] +sources = ['%%(namelower)s%s.tar.gz' % version.replace('.', '')] +patches = ['PGPLOT-5.2.2_gfortran-deps-fixes.patch'] +checksums = [ + {'pgplot522.tar.gz': 'a5799ff719a510d84d26df4ae7409ae61fe66477e3f1e8820422a9a4727a5be4'}, + {'PGPLOT-5.2.2_gfortran-deps-fixes.patch': 'b1822eb32499dc18aa4aa4fae0b31c3c64ff8abb3a243716e78addafa7e58cec'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('X11', '20220504'), +] + +cmds_map = [('.*', './makemake . linux g77_gcc && make && make shared && make cpg && make cpg-shared')] + +files_to_copy = [ + (['pgdemo*'], 'bin'), + (['libpgplot.*', 'libcpgplot.*'], 'lib'), + (['grfont.dat'], 'share'), + (['cpgplot.h'], 'include'), +] + +# create .so symlinks for shared libraries +postinstallcmds = [ + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libcpgplot.%s.5.2.2 libcpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s.5" % (SHLIB_EXT, SHLIB_EXT), + "cd %%(installdir)s/lib && ln -s libpgplot.%s.5.2.2 libpgplot.%s" % (SHLIB_EXT, SHLIB_EXT), +] + +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/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/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch new file mode 100644 index 00000000000..d8073c05f6f --- /dev/null +++ b/easybuild/easyconfigs/p/PGPLOT/PGPLOT-5.2.2_gfortran-deps-fixes.patch @@ -0,0 +1,265 @@ +Patch to make sure that gfortran can be used, also includes EasyBuild specific environment variables +Some of it is based on the Debian patches +Author: J. Sassmannshausen (ICL/UK) +diff --git a/pgplot.orig/drivers/pndriv.c b/pgplot/drivers/pndriv.c +index 2b2f87d..63fa246 100644 +--- a/pgplot.orig/drivers/pndriv.c ++++ b/pgplot/drivers/pndriv.c +@@ -222,7 +222,7 @@ static void write_image_file(DeviceData *dev) { + return; + } + +- if (setjmp(png_ptr->jmpbuf)) { /* not really sure what I'm doing here... */ ++ if (setjmp(png_jmpbuf(png_ptr))) { /* not really sure what I'm doing here... */ + fprintf(stderr,"%s: error in libpng while writing file %s, plotting disabled\n", png_ident, filename); + png_destroy_write_struct(&png_ptr,&info_ptr); + dev->error = true; +diff --git a/pgplot.orig/drivers.list b/pgplot/drivers.list +index 11108bb..b6ff758 100644 +--- a/pgplot.orig/drivers.list ++++ b/pgplot/drivers.list +@@ -3,48 +3,50 @@ + ! To configure PGPLOT, ensure that drivers you do not want are + ! commented out (place ! in column 1). N.B. Many device-drivers are + ! available on selected operating systems only. ++! Modified by Gopal Narayanan for debian Jul 6, 2001 + !------------------------------------------------------------------------------ + ! File Code Description Restrictions + ! BCDRIV 0 /BCANON Canon Laser printer (bitmap version), landscape + ! CADRIV 0 /CANON Canon Laser printer, LBP-8/A2, landscape + ! CCDRIV 0 /CCP DEC LJ250 Color Companion printer +-! CGDRIV 1 /CGM CGM metafile, indexed colour selection C +-! CGDRIV 2 /CGMD CGM metafile, direct colour selection C ++ CGDRIV 1 /CGM CGM metafile, indexed colour selection C ++ CGDRIV 2 /CGMD CGM metafile, direct colour selection C + ! CWDRIV 0 /CW6320 Gould/Bryans Colourwriter 6320 pen plotter Std F77 + ! EPDRIV 0 /EPSON Epson FX100 dot matrix printer + ! EXDRIV 1 /EXCL Talaris/EXCL printers, landscape + ! EXDRIV 2 /EXCL Talaris/EXCL printers, portrait + ! GCDRIV 0 /GENICOM Genicom 4410 dot-matrix printer, landscape + ! Caution: use of GIDRIV may require a license from Unisys: +-! GIDRIV 1 /GIF GIF-format file, landscape +-! GIDRIV 2 /VGIF GIF-format file, portrait +-! GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77 +-! GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77 ++! Since Unisys patent has expired allowing now. ++ GIDRIV 1 /GIF GIF-format file, landscape ++ GIDRIV 2 /VGIF GIF-format file, portrait ++ GLDRIV 1 /HPGL Hewlett-Packard HP-GL plotters, landscape Std F77 ++ GLDRIV 2 /VHPGL Hewlett-Packard HP-GL plotters, portrait Std F77 + ! GODRIV 0 /GOC GOC Sigma T5670 terminal VMS + ! GVDRIV 0 /GVENICOM Genicom 4410 dot-matrix printer, portrait +-! HGDRIV 0 /HPGL2 Hewlett-Packard graphics language ++ HGDRIV 0 /HPGL2 Hewlett-Packard graphics language + ! HIDRIV 0 /HIDMP Houston Instruments HIDMP pen plotter + ! HJDRIV 0 /HJ Hewlett-Packard Desk/Laserjet printer +-! HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77 ++ HPDRIV 0 /HP7221 Hewlett-Packard HP7221 pen plotter Std F77 + ! LADRIV 0 /LA50 Dec LA50 and other sixel printers + ! LJDRIV 0 /LJ Hewlett-Packard LaserJet printers VMS + ! LSDRIV 1 /LIPS2 Canon LaserShot printer (landscape) + ! LSDRIV 2 /VLIPS2 Canon LaserShot printer (portrait) + ! LNDRIV 0 /LN03 Dec LN03-PLUS Laser printer (landscape) VMS + ! LVDRIV 0 /LVN03 Dec LN03-PLUS Laser printer (portrait) VMS +-! LXDRIV 0 /LATEX LaTeX picture environment ++ LXDRIV 0 /LATEX LaTeX picture environment + ! MFDRIV 0 /FILE PGPLOT graphics metafile + ! NEDRIV 0 /NEXT Computers running NeXTstep operating system + NUDRIV 0 /NULL Null device (no output) Std F77 +-! PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77 +-! PNDRIV 1 /PNG Portable Network Graphics file C +-! PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C ++ PGDRIV 0 /PGMF PGPLOT metafile (new format, experimental) Std F77 ++ PNDRIV 1 /PNG Portable Network Graphics file C ++ PNDRIV 2 /TPNG Portable Network Graphics file - transparent background C + ! PPDRIV 1 /PPM Portable Pixel Map file, landscape + ! PPDRIV 2 /VPPM Portable PIxel Map file, portrait +-! PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77 +-! PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77 +-! PSDRIV 3 /CPS PostScript printers, color, landscape Std F77 +-! PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77 ++ PSDRIV 1 /PS PostScript printers, monochrome, landscape Std F77 ++ PSDRIV 2 /VPS Postscript printers, monochrome, portrait Std F77 ++ PSDRIV 3 /CPS PostScript printers, color, landscape Std F77 ++ PSDRIV 4 /VCPS PostScript printers, color, portrait Std F77 + ! PXDRIV 0 /PRINTRONI Printronix P300 or P600 dot-matrix printer + ! QMDRIV 1 /QMS QUIC devices (QMS and Talaris), landscape Std F77 + ! QMDRIV 2 /VQMS QUIC devices (QMS and Talaris), portrait Std F77 +diff --git a/pgplot.orig/makemake b/pgplot/makemake +index e48455e..93b9985 100755 +--- a/pgplot.orig/makemake ++++ b/pgplot/makemake +@@ -658,6 +658,8 @@ CPGPLOT_LIB=$CPGPLOT_LIB + # + SHARED_LIB=$SHARED_LIB + SHARED_LD=$SHARED_LD ++SHARED_LD_PGPLOT_OPTS=$SHARED_LD_PGPLOT_OPTS ++SHARED_LD_CPGPLOT_OPTS=$SHARED_LD_CPGPLOT_OPTS + # + # The libraries that the shared PGPLOT library depends upon. + # This is for systems that allow one to specify what libraries +@@ -667,6 +669,7 @@ SHARED_LD=$SHARED_LD + # libraries when they link their executables. + # + SHARED_LIB_LIBS=$SHARED_LIB_LIBS ++SHARED_LIB_CPGPLOT_LIBS=$SHARED_LIB_CPGPLOT_LIBS + # + # Ranlib command if required + # +@@ -806,7 +809,8 @@ grexec.o: grexec.f + # libraries. + #----------------------------------------------------------------------- + +-lib : libpgplot.a $(SHARED_LIB) ++#lib : libpgplot.a $(SHARED_LIB) ++lib : libpgplot.a + + libpgplot.a : $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ + $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) +@@ -816,6 +820,16 @@ libpgplot.a : $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ + $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` + $(RANLIB) libpgplot.a + ++#shared: $(PG_ROUTINES) $(PG_NON_STANDARD) $(GR_ROUTINES) \ ++# $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) ++# $(SHARED_LD) ++ ++shared: $(PG_ROUTINES) $(PG_NON_STANDARD) \ ++ $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) ++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \ ++ $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \ ++ $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS) ++ + EOD + + # Emit the shared library dependency if requested. +@@ -824,7 +838,7 @@ if test -n "$SHARED_LIB" -a -n "$SHARED_LD"; then + cat >> makefile << \EOD + $(SHARED_LIB): $(PG_ROUTINES) $(PG_NON_STANDARD) \ + $(GR_ROUTINES) $(DISPATCH_ROUTINE) $(DRIVERS) $(SYSTEM_ROUTINES) +- $(SHARED_LD) `ls $(PG_ROUTINES) \ ++ $(SHARED_LD) $(SHARED_LD_PGPLOT_OPTS) `ls $(PG_ROUTINES) \ + $(PG_NON_STANDARD) $(GR_ROUTINES) $(DISPATCH_ROUTINE) \ + $(DRIVERS) $(SYSTEM_ROUTINES) | sort | uniq` $(SHARED_LIB_LIBS) + EOD +@@ -1019,13 +1033,14 @@ EOD + + cat >> makefile << \EOD + ++DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++ + # Miscellaneous include files required by drivers + + griv00.o : $(DRVDIR)/gadef.h $(DRVDIR)/gmdef.h $(DRVDIR)/gphdef.h + grivas.o : $(DRVDIR)/gadef.h + grtv00.o : $(DRVDIR)/imdef.h + pgxwin.o : $(DRVDIR)/pgxwin.h +-pndriv.o : ./png.h ./pngconf.h ./zlib.h ./zconf.h + + x2driv.o figdisp_comm.o: $(DRVDIR)/commands.h + +@@ -1039,6 +1054,8 @@ cpg: libcpgplot.a cpgplot.h cpgdemo + @echo 'will be needed.' + @echo ' ' + ++cpg-shared: libcpgplot.so ++ + pgbind: $(SRC)/cpg/pgbind.c + $(CCOMPL) $(CFLAGC) $(SRC)/cpg/pgbind.c -o pgbind + +@@ -1050,6 +1067,13 @@ libcpgplot.a cpgplot.h: $(PG_SOURCE) pgbind + $(RANLIB) libcpgplot.a + rm -f cpg*.o + ++libcpgplot.so: $(PG_SOURCE) pgbind ++ ./pgbind $(PGBIND_FLAGS) -w $(PG_SOURCE) ++ $(CCOMPL) -c $(CFLAGC) cpg*.c ++ rm -f cpg*.c ++ $(SHARED_LD) $(SHARED_LD_CPGPLOT_OPTS) cpg*.o $(SHARED_LIB_CPGPLOT_LIBS) ++ rm -f cpg*.o ++ + cpgdemo: cpgplot.h $(SRC)/cpg/cpgdemo.c libcpgplot.a + $(CCOMPL) $(CFLAGD) -c -I. $(SRC)/cpg/cpgdemo.c + $(FCOMPL) -o cpgdemo cpgdemo.o $(CPGPLOT_LIB) $(LIBS) +diff --git a/pgplot.orig/sys_linux/g77_gcc.conf b/pgplot/sys_linux/g77_gcc.conf +index d6b73e6..b3905b0 100644 +--- a/pgplot.orig/sys_linux/g77_gcc.conf ++++ b/pgplot/sys_linux/g77_gcc.conf +@@ -1,11 +1,11 @@ +-# The GNU g77 FORTRAN compiler and Gnu gcc C compiler on an elf-system. ++# The GNU gfortran FORTRAN compiler and Gnu gcc C compiler on an elf-system. + #----------------------------------------------------------------------- + + # Optional: Needed by XWDRIV (/xwindow and /xserve) and + # X2DRIV (/xdisp and /figdisp). + # The arguments needed by the C compiler to locate X-window include files. + +- XINCL="-I/usr/X11R6/include" ++ XINCL="-I${EBROOTLIBPNG}/include -I${BROOTZLIB}/include" + + # Optional: Needed by XMDRIV (/xmotif). + # The arguments needed by the C compiler to locate Motif, Xt and +@@ -34,13 +34,13 @@ + # Mandatory. + # The FORTRAN compiler to use. + +- FCOMPL="g77" ++ FCOMPL="gfortran" + + # Mandatory. + # The FORTRAN compiler flags to use when compiling the pgplot library. + # (NB. makemake prepends -c to $FFLAGC where needed) + +- FFLAGC="-u -Wall -fPIC -O" ++ FFLAGC="-u -Wall -fPIC -O3 -std=legacy " + + # Mandatory. + # The FORTRAN compiler flags to use when compiling fortran demo programs. +@@ -57,12 +57,12 @@ + # Mandatory. + # The C compiler flags to use when compiling the pgplot library. + +- CFLAGC="-Wall -fPIC -DPG_PPU -O" ++ CFLAGC="-Wall -fPIC -DPG_PPU -O3" + + # Mandatory. + # The C compiler flags to use when compiling C demo programs. + +- CFLAGD="-Wall -O" ++ CFLAGD="-Wall -O3" + + # Optional: Only needed if the cpgplot library is to be compiled. + # The flags to use when running pgbind to create the C pgplot wrapper +@@ -74,7 +74,7 @@ + # The library-specification flags to use when linking normal pgplot + # demo programs. + +- LIBS="-L/usr/X11R6/lib -lX11" ++ LIBS="-L${EBROOTLIBPNG}/lib -lpng" + + # Optional: Needed by XMDRIV (/xmotif). + # The library-specification flags to use when linking motif +@@ -108,7 +108,11 @@ + # Optional: Needed if SHARED_LIB is set. + # How to create a shared library from a trailing list of object files. + +- SHARED_LD="gcc -shared -o $SHARED_LIB" ++ SHARED_LD_PGPLOT_OPTS="-o $SHARED_LIB.5.2.2 -Wl,-soname,libpgplot.so.5.2.2" ++ ++ SHARED_LD_CPGPLOT_OPTS="-o libcpgplot.so.5.2.2 -Wl,-soname,libcpgplot.so.5.2.2" ++ ++ SHARED_LD="gfortran -shared" + + # Optional: + # On systems such as Solaris 2.x, that allow specification of the +@@ -117,7 +121,9 @@ + # library-specification flags used to specify these libraries to + # $SHARED_LD + +- SHARED_LIB_LIBS="" ++ SHARED_LIB_LIBS="-L/usr/X11R6/lib -lX11 -lpng -lc -lgfortran" ++ ++ SHARED_LIB_CPGPLOT_LIBS="-L. -lpgplot" + + # Optional: + # Compiler name used on Next systems to compile objective-C files. 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/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb b/easybuild/easyconfigs/p/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb new file mode 100644 index 00000000000..f0929b054cd --- /dev/null +++ b/easybuild/easyconfigs/p/PICI-LIGGGHTS/PICI-LIGGGHTS-3.8.1-foss-2022a.eb @@ -0,0 +1,48 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' + +name = 'PICI-LIGGGHTS' +version = '3.8.1' + +homepage = 'https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS' +description = """UoB Positron Imaging Centre's Improved LIGGGHTS distribution with + an emphasis on the Python interface.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['49df8c0379b00ebb57eac7c8ec25755976c2459c0a9f569090b55a0aafee628f'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('libjpeg-turbo', '2.1.3'), + ('VTK', '9.2.2'), +] + +configopts = '-DVTK_DIR=$EBROOTVTK' + +_pydir = "%(installdir)s/lib/python%(pyshortver)s/site-packages" +postinstallcmds = [ + "mkdir -p %s" % _pydir, + "cd %%(builddir)s/%%(name)s*/python && python install.py %%(installdir)s/lib %s" % _pydir, + "cp -r %(builddir)s/%(name)s*/examples %(installdir)s/", +] +start_dir = 'src' + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/liggghts', 'lib/libliggghts.a', 'lib/libliggghts.%s' % SHLIB_EXT], + 'dirs': ['examples/LIGGGHTS/Tutorials_public', 'include'], +} + +sanity_check_commands = ['python -c "import liggghts"'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022a.eb b/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022a.eb new file mode 100644 index 00000000000..9f766d3ffeb --- /dev/null +++ b/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'PICRUSt2' +version = '2.5.2' + +homepage = 'https://github.com/picrust/picrust2' +description = """PICRUSt2 (Phylogenetic Investigation of Communities by + Reconstruction of Unobserved States) is a software for predicting + functional abundances based only on marker gene sequences.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('biom-format', '2.1.14'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('joblib', '1.3.1', { + 'checksums': ['1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/picrust/%(namelower)s/archive'], + 'checksums': ['a8c3832bf759233b52b41c56a0ffef72491e431fee347a7c05695596c76a1a4c'], + }), +] + +postinstallcmds = [ + "cp -a %(start_dir)s%(name)s/%(namelower)s-%(version)s/%(namelower)s/default_files" + " %(installdir)s/lib/python%(pyshortver)s/site-packages/%(namelower)s/" +] + +sanity_check_commands = [ + "python -c 'from picrust2.default import default_tables'" +] + +sanity_check_paths = { + 'files': ['bin/picrust2_pipeline.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/picrust2/default_files'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022b.eb b/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022b.eb new file mode 100644 index 00000000000..99189c7d924 --- /dev/null +++ b/easybuild/easyconfigs/p/PICRUSt2/PICRUSt2-2.5.2-foss-2022b.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'PICRUSt2' +version = '2.5.2' + +homepage = 'https://github.com/picrust/picrust2' +description = """PICRUSt2 (Phylogenetic Investigation of Communities by + Reconstruction of Unobserved States) is a software for predicting + functional abundances based only on marker gene sequences.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('h5py', '3.8.0'), + ('biom-format', '2.1.15'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('joblib', '1.3.1', { + 'checksums': ['1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_urls': ['https://github.com/picrust/%(namelower)s/archive'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['a8c3832bf759233b52b41c56a0ffef72491e431fee347a7c05695596c76a1a4c'], + }), +] + +postinstallcmds = [ + "cp -a %(start_dir)s%(name)s/%(namelower)s-%(version)s/%(namelower)s/default_files" + " %(installdir)s/lib/python%(pyshortver)s/site-packages/%(namelower)s/" +] + +sanity_check_commands = [ + "python -c 'from picrust2.default import default_tables'" +] + +sanity_check_paths = { + 'files': ['bin/picrust2_pipeline.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/picrust2/default_files'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.7-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.7-foss-2020a-Python-3.8.2.eb index 2167bd9bd68..a62393975f0 100644 --- a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.7-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.7-foss-2020a-Python-3.8.2.eb @@ -18,8 +18,8 @@ dependencies = [ ('FASTX-Toolkit', '0.0.14'), ('ITSx', '1.1.2'), ('HMMER', '3.3.1'), - ('RDP-Classifier', '2.13', '-Java-11', True), - ('SeqKit', '0.13.2', '', True), + ('RDP-Classifier', '2.13', '-Java-11', SYSTEM), + ('SeqKit', '0.13.2', '', SYSTEM), ] use_pip = True diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb new file mode 100644 index 00000000000..e4b4218920f --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '2.8' + +homepage = 'https://github.com/hsgweon/pipits' +description = """An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences +from the Illumina sequencing platform.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('VSEARCH', '2.21.1'), + ('FASTX-Toolkit', '0.0.14'), + ('ITSx', '1.1.3'), + ('HMMER', '3.3.2'), + ('RDP-Classifier', '2.13', '-Java-11', SYSTEM), + ('SeqKit', '2.1.0', '', SYSTEM), +] + +use_pip = True + +exts_list = [ + ('biom-format', '2.1.10', { + 'modulename': 'biom', + 'checksums': ['f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488'], + }), + ('python-utils', '3.1.0', { + 'checksums': ['4dace6420c5f50d6509251fa0aee0e2a0b826bbc8a5d2a6d7e99dca80e78a7f3'], + }), + ('progressbar2', '4.0.0', { + 'modulename': 'progressbar', + 'checksums': ['14d3165a1781d053ffaa117daf27cc706128d2ec1d2977fdb05b6bb079888013'], + }), + ('pispino', '1.1', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pispino/archive/'], + 'checksums': ['8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0'], + }), + (name, version, { + 'patches': ['PIPITS-2.8_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + '2ecc6fd901613bf9d4baec7c15e53ee89b2a2b817dbaa413c02d2dc484c5e5e2', # 2.8.tar.gz + # PIPITS-2.8_remove-conda-commands.patch + '47437c243d5a07d3a3548efc9706ca8bd83c883d1ef881c769d10ae7fa6fcbcd', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['pipits_funits', 'pipits_process', + 'pispino_createreadpairslist', + 'pispino_seqprep']], + 'dirs': [] +} + +sanity_check_commands = ['pipits_process --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch new file mode 100644 index 00000000000..f5931e55465 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-2.8_remove-conda-commands.patch @@ -0,0 +1,54 @@ +Some PIPITS scripts in the bin folder contain a hardcoded "conda list" commands. +This patch replaces those calls by "pip list". + +Furthermore, it replaces the call to a Conda wrapper script for launching +RDP-Classifier by the actual java command. + +Author: Bob Dröge (University of Groningen) + +--- pipits-2.8-orig/bin/pipits_funits 2022-02-17 11:38:57.000000000 +0100 ++++ pipits-2.8/bin/pipits_funits 2022-02-22 16:58:16.000000000 +0100 +@@ -102,7 +102,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Start +--- pipits-2.8-orig/bin/pipits_process 2022-02-17 11:38:57.000000000 +0100 ++++ pipits-2.8/bin/pipits_process 2022-02-22 16:59:45.000000000 +0100 +@@ -152,7 +152,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Environment variable - discontinued. +@@ -510,9 +510,10 @@ + + logger(ENDC + "Assigning taxonomy with UNITE [RDP Classifier]" + ENDC, logging_file, display = True) + PIPITS_UNITE_RETRAINED_PROPERTIES = "pipits_db/UNITE_retrained_" + options.unite + "/UNITE_retrained/rRNAClassifier.properties" +- cmd = " ".join(["classifier", ++ cmd = " ".join(["java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_UNITE_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy.txt", +@@ -598,9 +599,10 @@ + logger("Assigning taxonomy [RDP Classifier] - Warcup", logging_file, display = True) + PIPITS_WARCUP_RETRAINED_PROPERTIES = "pipits_db/warcup_retrained_V2/warcup_retrained_V2/rRNAClassifier.properties" + cmd = " ".join([ +- "classifier", ++ "java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_WARCUP_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy_warcup.txt", diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb new file mode 100644 index 00000000000..a75ba7b43f0 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '3.0' + +homepage = 'https://github.com/hsgweon/pipits' +description = """An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences +from the Illumina sequencing platform.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('VSEARCH', '2.21.1'), + ('FASTX-Toolkit', '0.0.14'), + ('ITSx', '1.1.3'), + ('HMMER', '3.3.2'), + ('RDP-Classifier', '2.13', '-Java-11', SYSTEM), + ('SeqKit', '2.1.0', '', SYSTEM), +] + +use_pip = True + +exts_list = [ + ('biom-format', '2.1.10', { + 'modulename': 'biom', + 'checksums': ['f5a277a8144f0b114606852c42f657b9cfde44b3cefa0b2638ab1c1d5e1d0488'], + }), + ('python-utils', '3.1.0', { + 'checksums': ['4dace6420c5f50d6509251fa0aee0e2a0b826bbc8a5d2a6d7e99dca80e78a7f3'], + }), + ('progressbar2', '4.0.0', { + 'modulename': 'progressbar', + 'checksums': ['14d3165a1781d053ffaa117daf27cc706128d2ec1d2977fdb05b6bb079888013'], + }), + ('pispino', '1.1', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pispino/archive/'], + 'checksums': ['8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0'], + }), + (name, version, { + 'patches': ['PIPITS-3.0_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + {'3.0.tar.gz': 'ee9f142e473e57b186760d940131610c16bdfe57eefca935df35779fd85377bd'}, + {'PIPITS-3.0_remove-conda-commands.patch': + 'd4be41ac4d6d37a19ad09b06c1f05ed83921aa59dc4b04b38fa257e6bce6d12f'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['pipits_funits', 'pipits_process', + 'pispino_createreadpairslist', + 'pispino_seqprep']], + 'dirs': [] +} + +sanity_check_commands = ['pipits_process --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2022a.eb b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2022a.eb new file mode 100644 index 00000000000..561a7f5e9c2 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0-foss-2022a.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'PIPITS' +version = '3.0' + +homepage = 'https://github.com/hsgweon/pipits' +description = """An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences +from the Illumina sequencing platform.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('VSEARCH', '2.22.1'), + ('FASTX-Toolkit', '0.0.14'), + ('ITSx', '1.1.3'), + ('HMMER', '3.3.2'), + ('RDP-Classifier', '2.13', '-Java-11', SYSTEM), + ('SeqKit', '2.3.1', '', SYSTEM), +] + +use_pip = True + +exts_list = [ + ('biom-format', '2.1.14', { + 'modulename': 'biom', + 'checksums': ['c8bac94ab6aa8226c0d38af7a3341d65e5f3664b9f45ec44fdf8b5275b2f92c1'], + }), + ('python-utils', '3.5.2', { + 'checksums': ['68198854fc276bc4b2403b261703c218e01ef564dcb072a7096ed9ea7aa5130c'], + }), + ('progressbar2', '4.2.0', { + 'modulename': 'progressbar', + 'checksums': ['1393922fcb64598944ad457569fbeb4b3ac189ef50b5adb9cef3284e87e394ce'], + }), + ('pispino', '1.1', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pispino/archive/'], + 'checksums': ['8fb2e1c0ae38ecca7c637de9c0b655eb18fc67d7838ceb5a6902555ea12416c0'], + }), + (name, version, { + 'patches': ['PIPITS-3.0_remove-conda-commands.patch'], + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/hsgweon/pipits/archive/'], + 'checksums': [ + {'3.0.tar.gz': 'ee9f142e473e57b186760d940131610c16bdfe57eefca935df35779fd85377bd'}, + {'PIPITS-3.0_remove-conda-commands.patch': + 'd4be41ac4d6d37a19ad09b06c1f05ed83921aa59dc4b04b38fa257e6bce6d12f'}, + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['pipits_funits', 'pipits_process', + 'pispino_createreadpairslist', + 'pispino_seqprep']], + 'dirs': [] +} + +sanity_check_commands = ['pipits_process --help'] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0_remove-conda-commands.patch b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0_remove-conda-commands.patch new file mode 100644 index 00000000000..dd1c4306664 --- /dev/null +++ b/easybuild/easyconfigs/p/PIPITS/PIPITS-3.0_remove-conda-commands.patch @@ -0,0 +1,56 @@ +Some PIPITS scripts in the bin folder contain a hardcoded "conda list" commands. +This patch replaces those calls by "pip list". + +Furthermore, it replaces the call to a Conda wrapper script for launching +RDP-Classifier by the actual java command. + +Author: Bob Dröge (University of Groningen) + +diff -ru pipits-3.0-orig/bin/pipits_funits pipits-3.0/bin/pipits_funits +--- pipits-3.0-orig/bin/pipits_funits 2023-01-30 12:00:47.126429480 +0100 ++++ pipits-3.0/bin/pipits_funits 2023-01-30 12:01:43.330947430 +0100 +@@ -102,7 +102,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Start +diff -ru pipits-3.0-orig/bin/pipits_process pipits-3.0/bin/pipits_process +--- pipits-3.0-orig/bin/pipits_process 2023-01-30 12:00:47.087115862 +0100 ++++ pipits-3.0/bin/pipits_process 2023-01-30 12:03:34.783649411 +0100 +@@ -166,7 +166,7 @@ + logger("", logging_file, display = True, timestamp = False) + + # Log versions +- cmd = " ".join(["conda list"]) ++ cmd = " ".join(["pip list"]) + run_cmd(cmd, version_file, False) + + # Environment variable - discontinued. +@@ -623,9 +623,10 @@ + + logger(ENDC + "Assigning taxonomy with UNITE [RDP Classifier]" + ENDC, logging_file, display = True) + PIPITS_UNITE_RETRAINED_PROPERTIES = "pipits_db/UNITE_retrained_" + options.unite + "/UNITE_retrained/rRNAClassifier.properties" +- cmd = " ".join(["classifier", ++ cmd = " ".join(["java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_UNITE_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy_rdp_raw.txt", +@@ -703,9 +704,10 @@ + logger("Assigning taxonomy [RDP Classifier] - Warcup", logging_file, display = True) + PIPITS_WARCUP_RETRAINED_PROPERTIES = "pipits_db/warcup_retrained_V2/warcup_retrained_V2/rRNAClassifier.properties" + cmd = " ".join([ +- "classifier", ++ "java", + "-Xms" + str(options.Xms), + "-Xmx" + str(options.Xmx), ++ "-jar $EBROOTRDPMINCLASSIFIER/dist/classifier.jar", + "classify", + "-t " + PIPITS_WARCUP_RETRAINED_PROPERTIES, + "-o", options.outDir + "/assigned_taxonomy_warcup_raw.txt", diff --git a/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..11eaa416402 --- /dev/null +++ b/easybuild/easyconfigs/p/PIRATE/PIRATE-1.0.5-foss-2022a-R-4.2.1.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'PIRATE' +version = '1.0.5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/SionBayliss/PIRATE' +description = "A toolbox for pangenome analysis and threshold evaluation." + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'SionBayliss' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d5d7e657558eadae301a3198bccfd5ee04daddab1a872049d8a74cb71c35f20b'] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('CD-HIT', '4.8.1'), + ('DIAMOND', '2.1.0'), + ('FastTree', '2.1.11'), + ('MAFFT', '7.505', '-with-extensions'), + ('MCL', '14.137'), + ('parallel', '20220722'), + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': ['bin/PIRATE'], + 'dirs': ['scripts', 'test', 'tools'], +} + +sanity_check_commands = [ + "PIRATE --help", + "PIRATE --check", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb b/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb new file mode 100644 index 00000000000..2615afa31aa --- /dev/null +++ b/easybuild/easyconfigs/p/PLAMS/PLAMS-1.5.1-intel-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'PLAMS' +version = '1.5.1' + +homepage = 'https://www.scm.com/product/plams' +description = """The Python Library for Automating Molecular Simulation (PLAMS) is powerful and flexible Python tool +interfaced to the Amsterdam Modeling Suite engines ADF, BAND, DFTB, MOPAC, ReaxFF, and UFF.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://github.com/SCM-NV/PLAMS/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['163cfb7a4e509791961b45d58d3cd42b4761b2ad73f9c210664fc8e3ad78380a'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dill', '0.3.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/plams'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["plams --help"] + +options = {'modulename': 'scm.plams'} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-1.90-beta-7.4-x86_64.eb b/easybuild/easyconfigs/p/PLINK/PLINK-1.90-beta-7.4-x86_64.eb new file mode 100644 index 00000000000..51357650dbb --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-1.90-beta-7.4-x86_64.eb @@ -0,0 +1,22 @@ +easyblock = 'PackedBinary' + +name = 'PLINK' +version = '1.90-beta-7.4-x86_64' + +homepage = 'https://www.cog-genomics.org/plink/1.9/' +description = 'plink-1.9-x86_64: Whole-genome association analysis toolset' + +toolchain = SYSTEM + +source_urls = ['https://s3.amazonaws.com/plink1-assets/'] +sources = ['plink_linux_x86_64_20240818.zip'] +checksums = ['0ac294ffcd5d82f5b0d2d7f579ac85a87017f6fc46485b21793f5aff9c719e3d'] + +sanity_check_paths = { + 'files': ['plink', 'prettify', 'toy.map', 'toy.ped'], + 'dirs': [], +} + +sanity_check_commands = ["plink --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..ececd25887f --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a2.3' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a9e9ff670967f9766bcd5571d028ed6c04bc8f07781eac1b95366748544df77'] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), + ('libdeflate', '1.8'), + ('zstd', '1.4.9'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'LICENSE', 'ReadMe.md'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..599b5b38230 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a2.3-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a2.3' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a9e9ff670967f9766bcd5571d028ed6c04bc8f07781eac1b95366748544df77'] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), + ('libdeflate', '1.8'), + ('zstd', '1.5.0'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'LICENSE', 'ReadMe.md'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.1-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..3432a43eee3 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.1-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a3.1' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d48ab87f7e82788a0610c1a8809f9dc9f612d3f021e4866fe00f817d57857969'] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), + ('libdeflate', '1.8'), + ('zstd', '1.5.0'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'ReadMe.md'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +sanity_check_commands = ["plink2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.6-GCC-11.3.0.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..7b3c04f52c7 --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.6-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# Author: Ben Czaja (SURF) based on orginal from Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'PLINK' +version = '2.00a3.6' + +homepage = 'https://www.cog-genomics.org/plink/2.0/' +description = 'Whole-genome association analysis toolset' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/chrchang/plink-ng/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7e650aef534f257c412509bf30afe0dd478fd32069fe8206e258abf35a3cfc6f'] + +dependencies = [ + ('FlexiBLAS', '3.2.0'), + ('libdeflate', '1.10'), + ('zstd', '1.5.2'), +] + +start_dir = '2.0' + +# ignore suggested Makefile in build_dynamic, the dev Makefile is better +buildopts = 'BLASFLAGS="-lflexiblas" BLASFLAGS64="-lflexiblas"' +buildopts += ' LDFLAGS="$LIBS -ldeflate -lz -lzstd" ZLIB="" CSRC="include/SFMT.c"' +buildopts += ' BASEFLAGS="$OPTFLAGS -DZSTD_MULTITHREAD"' + +files_to_copy = ['bin', (['include/*.h'], 'include'), 'ReadMe.md', 'COPYING', 'COPYING.LESSER'] + +sanity_check_paths = { + 'files': ['bin/plink2', 'bin/pgen_compress'], + 'dirs': ['include'], +} + +sanity_check_commands = ["plink2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.eb new file mode 100644 index 00000000000..6141b6cb6fe --- /dev/null +++ b/easybuild/easyconfigs/p/PLINK/PLINK-2.00a3.7-foss-2022a.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': 'foss', 'version': '2022a'} + + +dependencies = [ + ('zlib', '1.2.12'), + ('zstd', '1.5.2'), + ('libdeflate', '1.10'), +] + +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 && bash 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/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..7c69a0665b6 --- /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 && bash 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/PLUMED/PLUMED-2.5.4-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.5.4-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..3da44632a6d --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.5.4-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,57 @@ +# by Ward Poelmans +# updated by Lars Viklund + +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.5.4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['12eda9c533f765a33425215fa1e6ea05d8763d29bad0dae637a38e5c83d4ce17'] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.6'), + ('libmatheval', '1.1.11'), + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = ' --exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# requires to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.5.4-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.5.4-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..1c7b2104a89 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.5.4-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,57 @@ +# by Ward Poelmans +# updated by Lars Viklund + +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.5.4' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['12eda9c533f765a33425215fa1e6ea05d8763d29bad0dae637a38e5c83d4ce17'] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.6'), + ('libmatheval', '1.1.11'), + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = ' --exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# requires to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb index 3fb97d9ba7c..73cd893be22 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-foss-2020b.eb @@ -20,6 +20,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['1ab3153db2010406852b30201ed94112e25eca4c4c8c4b41a29c22a7a3303f96'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), @@ -31,7 +35,9 @@ dependencies = [ preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' configopts += '--enable-boost_graph --enable-boost_serialization ' -configopts += '--enable-asmjit ' +if ARCH == 'x86_64': + # the flag is not supported on aarch64 + configopts += '--enable-asmjit ' prebuildopts = 'source sourceme.sh && ' # make sure that ld.gold linker is used diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb index 16200c8e59a..86b9edfe391 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.6.2-intel-2020b.eb @@ -20,6 +20,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['1ab3153db2010406852b30201ed94112e25eca4c4c8c4b41a29c22a7a3303f96'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb index 05666961bc2..dc860859939 100644 --- a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.0-foss-2020b.eb @@ -18,6 +18,10 @@ source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s sources = [SOURCE_TGZ] checksums = ['b23399a3300ce3ae080e81263274ab8551e00217c3f37cb33cb7e37954fe8572'] +builddependencies = [ + ('xxd', '8.2.4220'), +] + dependencies = [ ('zlib', '1.2.11'), ('GSL', '2.6'), @@ -29,7 +33,9 @@ dependencies = [ preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' configopts += '--enable-boost_graph --enable-boost_serialization ' -configopts += '--enable-asmjit ' +if ARCH == 'x86_64': + # the flag is not supported on aarch64 + configopts += '--enable-asmjit ' prebuildopts = 'source sourceme.sh && ' # make sure that ld.gold linker is used diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb new file mode 100644 index 00000000000..3a0b31731ee --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-foss-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.7.2' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +if ARCH == 'x86_64': + # the flag is not supported on aarch64 + configopts += '--enable-asmjit ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb new file mode 100644 index 00000000000..ba0747ac705 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.2-intel-2021a.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.7.2' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['6069bc134f74cb15dd63e27e3587a15a31a9ddd9e7eebdd717da898f31512645'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +configopts += '--enable-asmjit ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb new file mode 100644 index 00000000000..c653aa77c5b --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.7.3-foss-2021b.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.7.3' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['2895515f31aae42002a539222f5b8558037496548a061b5d0db136d3a46f618b'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Boost', '1.77.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +if ARCH == 'x86_64': + # the flag is not supported on aarch64 + configopts += '--enable-asmjit ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2021b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2021b.eb new file mode 100644 index 00000000000..8dcdc9293d7 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.0-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.8.0' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['24b243c531fa83752be5e54f5f0b677164855da539bc2b2c5b00dcc9f192aa82'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Boost', '1.77.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb new file mode 100644 index 00000000000..846670014d4 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.8.1-foss-2022a.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.8.1' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['95f6cbc9134d3ad05ad4652e5e6f12dfbd6313a95a47d7ca6c8bfca147ecd7d5'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2022b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2022b.eb new file mode 100644 index 00000000000..a2971db49f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2022b.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.9.0' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['534db9ccb9446844f3e99ecdff091ad79c014ce9c4afe212c1536e19f85ab0d1'] + +builddependencies = [ + ('xxd', '9.0.1696'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Boost', '1.81.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2023a.eb new file mode 100644 index 00000000000..8ca97130960 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.0-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.9.0' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['534db9ccb9446844f3e99ecdff091ad79c014ce9c4afe212c1536e19f85ab0d1'] + +builddependencies = [ + ('xxd', '9.0.2112'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('GSL', '2.7'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.2-foss-2023b.eb b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.2-foss-2023b.eb new file mode 100644 index 00000000000..617eb64d0d7 --- /dev/null +++ b/easybuild/easyconfigs/p/PLUMED/PLUMED-2.9.2-foss-2023b.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.9.2' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['6fc23fe31074ad6b7a0eb9e2441fce5b3d92514d0d87206594c59c75e4c83d6e'] + +builddependencies = [ + ('xxd', '9.1.0307'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('GSL', '2.7'), + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Boost', '1.83.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1801f7c3cbe --- /dev/null +++ b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-12.2.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.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' 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/PLY/PLY-3.11-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..74ab008fb99 --- /dev/null +++ b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-13.2.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': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Python', '3.11.5')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a5620c426d6 --- /dev/null +++ b/easybuild/easyconfigs/p/PLY/PLY-3.11-GCCcore-13.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': '13.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Python', '3.12.3')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.4-GCCcore-8.3.0.eb index f732b370577..48b78f5e9cb 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.4-GCCcore-8.3.0.eb @@ -23,7 +23,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/pmix/pmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['982f6eff7764b7c7d6566554f47bb3244fc3ff5bf0abba2bc395f0833d0a9ee0'] +patches = ['PMIx-3.1.x_lchown.patch'] +checksums = [ + {'pmix-3.1.4.tar.bz2': '982f6eff7764b7c7d6566554f47bb3244fc3ff5bf0abba2bc395f0833d0a9ee0'}, + {'PMIx-3.1.x_lchown.patch': '9a4d5e3cb0e619f2e9ac2ffad0b8cb2b22f5c67973080724c79519fb34d55776'}, +] builddependencies = [('binutils', '2.32')] diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-10.2.0.eb index efe2a2d3ed8..fa9cd004705 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-10.2.0.eb @@ -23,7 +23,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7'] +patches = ['PMIx-3.1.x_lchown.patch'] +checksums = [ + {'pmix-3.1.5.tar.bz2': '88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7'}, + {'PMIx-3.1.x_lchown.patch': '9a4d5e3cb0e619f2e9ac2ffad0b8cb2b22f5c67973080724c79519fb34d55776'}, +] builddependencies = [('binutils', '2.35')] diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-9.3.0.eb index 6b6c1bc9807..59b8ab28bce 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.5-GCCcore-9.3.0.eb @@ -23,7 +23,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7'] +patches = ['PMIx-3.1.x_lchown.patch'] +checksums = [ + {'pmix-3.1.5.tar.bz2': '88934195174455df478b996313095df25b51d0caf5a5cce01b22f0ccdc6c5cf7'}, + {'PMIx-3.1.x_lchown.patch': '9a4d5e3cb0e619f2e9ac2ffad0b8cb2b22f5c67973080724c79519fb34d55776'}, +] builddependencies = [('binutils', '2.34')] diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.1.x_lchown.patch b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.x_lchown.patch new file mode 100644 index 00000000000..09cc729e08e --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.1.x_lchown.patch @@ -0,0 +1,87 @@ +backport of https://github.com/openpmix/openpmix/pull/3150 to PMIx 3.1.x +diff -ru pmix-3.1.5.orig/src/mca/common/dstore/dstore_base.c pmix-3.1.5/src/mca/common/dstore/dstore_base.c +--- pmix-3.1.5.orig/src/mca/common/dstore/dstore_base.c 2020-02-19 05:55:43.000000000 +0100 ++++ pmix-3.1.5/src/mca/common/dstore/dstore_base.c 2023-09-11 15:17:22.502130578 +0200 +@@ -525,7 +525,7 @@ + } + } + if (s->setjobuid > 0){ +- if (0 > chown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ ++ if (0 > lchown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + return rc; +@@ -1677,7 +1677,7 @@ + } + } + if (ds_ctx->setjobuid > 0) { +- if (chown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ ++ if (lchown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ + rc = PMIX_ERR_NO_PERMISSIONS; + PMIX_ERROR_LOG(rc); + goto err_exit; +diff -ru pmix-3.1.5.orig/src/mca/common/dstore/dstore_segment.c pmix-3.1.5/src/mca/common/dstore/dstore_segment.c +--- pmix-3.1.5.orig/src/mca/common/dstore/dstore_segment.c 2020-02-19 05:55:43.000000000 +0100 ++++ pmix-3.1.5/src/mca/common/dstore/dstore_segment.c 2023-09-11 15:17:22.502130578 +0200 +@@ -120,7 +120,7 @@ + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +@@ -211,7 +211,7 @@ + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +diff -ru pmix-3.1.5.orig/src/mca/gds/ds12/gds_ds12_lock_fcntl.c pmix-3.1.5/src/mca/gds/ds12/gds_ds12_lock_fcntl.c +--- pmix-3.1.5.orig/src/mca/gds/ds12/gds_ds12_lock_fcntl.c 2020-02-19 05:55:43.000000000 +0100 ++++ pmix-3.1.5/src/mca/gds/ds12/gds_ds12_lock_fcntl.c 2023-09-11 15:17:22.502130578 +0200 +@@ -127,7 +127,7 @@ + } + } + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, uid, (gid_t) -1)) { ++ if (0 > lchown(lock_ctx->lockfile, uid, (gid_t) -1)) { + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff -ru pmix-3.1.5.orig/src/mca/gds/ds12/gds_ds12_lock_pthread.c pmix-3.1.5/src/mca/gds/ds12/gds_ds12_lock_pthread.c +--- pmix-3.1.5.orig/src/mca/gds/ds12/gds_ds12_lock_pthread.c 2020-02-19 05:55:43.000000000 +0100 ++++ pmix-3.1.5/src/mca/gds/ds12/gds_ds12_lock_pthread.c 2023-09-11 15:17:22.502130578 +0200 +@@ -113,7 +113,7 @@ + } + memset(lock_ctx->segment->seg_base_addr, 0, size); + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff -ru pmix-3.1.5.orig/src/mca/ptl/usock/ptl_usock_component.c pmix-3.1.5/src/mca/ptl/usock/ptl_usock_component.c +--- pmix-3.1.5.orig/src/mca/ptl/usock/ptl_usock_component.c 2020-02-19 05:55:43.000000000 +0100 ++++ pmix-3.1.5/src/mca/ptl/usock/ptl_usock_component.c 2023-09-11 15:19:31.883298870 +0200 +@@ -267,14 +267,14 @@ + } + /* chown as required */ + if (lt->owner_given) { +- if (0 != chown(address->sun_path, lt->owner, -1)) { ++ if (0 != lchown(address->sun_path, lt->owner, -1)) { + pmix_output(0, "CANNOT CHOWN socket %s: %s", address->sun_path, strerror (errno)); + CLOSE_THE_SOCKET(lt->socket); + goto sockerror; + } + } + if (lt->group_given) { +- if (0 != chown(address->sun_path, -1, lt->group)) { ++ if (0 != lchown(address->sun_path, -1, lt->group)) { + pmix_output(0, "CANNOT CHOWN socket %s: %s", address->sun_path, strerror (errno)); + CLOSE_THE_SOCKET(lt->socket); + goto sockerror; diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.2.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-3.2.3-GCCcore-10.3.0.eb index c95149b5eaa..ac54991a3d8 100644 --- a/easybuild/easyconfigs/p/PMIx/PMIx-3.2.3-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.2.3-GCCcore-10.3.0.eb @@ -24,7 +24,11 @@ toolchainopts = {'pic': True} source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] sources = ['%(namelower)s-%(version)s.tar.bz2'] -checksums = ['9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135'] +patches = ['PMIx-3.2.x_lchown.patch'] +checksums = [ + {'pmix-3.2.3.tar.bz2': '9b835f23c2f94a193c14012ee68b3657a61c568598cdd1212a3716b32d41a135'}, + {'PMIx-3.2.x_lchown.patch': '67f081fdc5d66557343c7019e45b08f169708e2eed628644e99b1ea1dff302e1'}, +] builddependencies = [('binutils', '2.36.1')] diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-3.2.x_lchown.patch b/easybuild/easyconfigs/p/PMIx/PMIx-3.2.x_lchown.patch new file mode 100644 index 00000000000..ae84cf059f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-3.2.x_lchown.patch @@ -0,0 +1,99 @@ +backport of https://github.com/openpmix/openpmix/pull/3150 to PMIx 3.2.x +diff -ru pmix-3.2.3.orig/src/mca/common/dstore/dstore_base.c pmix-3.2.3/src/mca/common/dstore/dstore_base.c +--- pmix-3.2.3.orig/src/mca/common/dstore/dstore_base.c 2020-12-23 15:43:16.000000000 +0100 ++++ pmix-3.2.3/src/mca/common/dstore/dstore_base.c 2023-09-13 18:28:41.479243046 +0200 +@@ -528,7 +528,7 @@ + } + } + if (s->setjobuid > 0){ +- if (0 > chown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ ++ if (0 > lchown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + return rc; +@@ -1682,7 +1682,7 @@ + } + } + if (ds_ctx->setjobuid > 0) { +- if (chown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ ++ if (lchown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ + rc = PMIX_ERR_NO_PERMISSIONS; + PMIX_ERROR_LOG(rc); + goto err_exit; +diff -ru pmix-3.2.3.orig/src/mca/common/dstore/dstore_segment.c pmix-3.2.3/src/mca/common/dstore/dstore_segment.c +--- pmix-3.2.3.orig/src/mca/common/dstore/dstore_segment.c 2020-04-16 15:16:47.000000000 +0200 ++++ pmix-3.2.3/src/mca/common/dstore/dstore_segment.c 2023-09-13 18:28:41.479243046 +0200 +@@ -120,7 +120,7 @@ + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +@@ -211,7 +211,7 @@ + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +diff -ru pmix-3.2.3.orig/src/mca/gds/ds12/gds_ds12_lock_fcntl.c pmix-3.2.3/src/mca/gds/ds12/gds_ds12_lock_fcntl.c +--- pmix-3.2.3.orig/src/mca/gds/ds12/gds_ds12_lock_fcntl.c 2020-04-16 15:16:47.000000000 +0200 ++++ pmix-3.2.3/src/mca/gds/ds12/gds_ds12_lock_fcntl.c 2023-09-13 18:28:41.480243044 +0200 +@@ -127,7 +127,7 @@ + } + } + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, uid, (gid_t) -1)) { ++ if (0 > lchown(lock_ctx->lockfile, uid, (gid_t) -1)) { + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff -ru pmix-3.2.3.orig/src/mca/gds/ds12/gds_ds12_lock_pthread.c pmix-3.2.3/src/mca/gds/ds12/gds_ds12_lock_pthread.c +--- pmix-3.2.3.orig/src/mca/gds/ds12/gds_ds12_lock_pthread.c 2020-04-16 15:16:47.000000000 +0200 ++++ pmix-3.2.3/src/mca/gds/ds12/gds_ds12_lock_pthread.c 2023-09-13 18:28:41.480243044 +0200 +@@ -113,7 +113,7 @@ + } + memset(lock_ctx->segment->seg_base_addr, 0, size); + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff -ru pmix-3.2.3.orig/src/mca/ptl/usock/ptl_usock_component.c pmix-3.2.3/src/mca/ptl/usock/ptl_usock_component.c +--- pmix-3.2.3.orig/src/mca/ptl/usock/ptl_usock_component.c 2020-12-23 15:43:16.000000000 +0100 ++++ pmix-3.2.3/src/mca/ptl/usock/ptl_usock_component.c 2023-09-13 18:28:41.481243042 +0200 +@@ -267,14 +267,14 @@ + } + /* chown as required */ + if (lt->owner_given) { +- if (0 != chown(address->sun_path, lt->owner, -1)) { ++ if (0 != lchown(address->sun_path, lt->owner, -1)) { + pmix_output(0, "CANNOT CHOWN socket %s: %s", address->sun_path, strerror (errno)); + CLOSE_THE_SOCKET(lt->socket); + goto sockerror; + } + } + if (lt->group_given) { +- if (0 != chown(address->sun_path, -1, lt->group)) { ++ if (0 != lchown(address->sun_path, -1, lt->group)) { + pmix_output(0, "CANNOT CHOWN socket %s: %s", address->sun_path, strerror (errno)); + CLOSE_THE_SOCKET(lt->socket); + goto sockerror; +diff -ru pmix-3.2.3.orig/src/util/pmix_pty.c pmix-3.2.3/src/util/pmix_pty.c +--- pmix-3.2.3.orig/src/util/pmix_pty.c 2020-04-16 15:16:47.000000000 +0200 ++++ pmix-3.2.3/src/util/pmix_pty.c 2023-09-13 18:29:33.097140428 +0200 +@@ -248,7 +248,7 @@ + gid = -1; /* group tty is not in the group file */ + } + /* following two functions don't work unless we're root */ +- chown(pts_name, getuid(), gid); ++ lchown(pts_name, getuid(), gid); + chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP); + fds = open(pts_name, O_RDWR); + if (fds < 0) { diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..57c09f98e7e --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.1.0' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +patches = ['PMIx-4.x_lchown.patch'] +checksums = [ + {'pmix-4.1.0.tar.bz2': '145f05a6c621bfb3fc434776b615d7e6d53260cc9ba340a01f55b383e07c842e'}, + {'PMIx-4.x_lchown.patch': '1e89856caf69878aeb54ca08bb6b4ea1c962d24010e2080878ea70e958947a05'}, +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.11'), + ('hwloc', '2.5.0'), + ('libfabric', '1.13.2'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --with-ofi=$EBROOTLIBFABRIC' +configopts += ' --enable-pmix-binaries' +configopts += ' --disable-man-pages' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7f5b67f5b44 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.1.2' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +patches = ['PMIx-4.x_lchown.patch'] +checksums = [ + {'pmix-4.1.2.tar.bz2': '670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a'}, + {'PMIx-4.x_lchown.patch': '1e89856caf69878aeb54ca08bb6b4ea1c962d24010e2080878ea70e958947a05'}, +] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.12'), + ('hwloc', '2.7.1'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4f6e54f1871 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.2.2' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +patches = ['PMIx-4.x_lchown.patch'] +checksums = [ + {'pmix-4.2.2.tar.bz2': '935b2f492e4bc409017f1425a83366aa72a7039605ea187c9fac7bb1371cd73c'}, + {'PMIx-4.x_lchown.patch': '1e89856caf69878aeb54ca08bb6b4ea1c962d24010e2080878ea70e958947a05'}, +] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.12'), + ('hwloc', '2.8.0'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.2.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f1ba0fc1888 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.4-GCCcore-12.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.2.4' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +patches = ['PMIx-4.x_lchown.patch'] +checksums = [ + {'pmix-4.2.4.tar.bz2': 'c4699543f2278d3a78bdac72b4b2da9cd92d11d18478d66522b8991764b021c8'}, + {'PMIx-4.x_lchown.patch': '1e89856caf69878aeb54ca08bb6b4ea1c962d24010e2080878ea70e958947a05'}, +] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.13'), + ('hwloc', '2.9.1'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.2.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ade4f901574 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.2.6-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '4.2.6' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['10b0d5a7fca70272e9427c677557578ac452cea02aeb00e30dec2116d20c3cd0'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.2.13'), + ('hwloc', '2.9.2'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-4.x_lchown.patch b/easybuild/easyconfigs/p/PMIx/PMIx-4.x_lchown.patch new file mode 100644 index 00000000000..af233b31eff --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-4.x_lchown.patch @@ -0,0 +1,112 @@ +From 383d48d63452d0523319dab20922cb1fb2cb8175 Mon Sep 17 00:00:00 2001 +From: Ralph Castain +Date: Thu, 7 Sep 2023 07:59:57 -0600 +Subject: [PATCH] Do not follow links when doing "chown" + +There is a potential issue with allowing a "chown" operation +to follow user-created links, so let's limit any use of that +function to "lchown" - which directs the "chown" operation to +NOT follow a link. + +Signed-off-by: Ralph Castain +(cherry picked from commit ae62cdf67b19e80fd821420816f09bf0a56a8166) +--- + src/mca/common/dstore/dstore_base.c | 4 ++-- + src/mca/common/dstore/dstore_segment.c | 4 ++-- + src/mca/gds/ds12/gds_ds12_lock_fcntl.c | 2 +- + src/mca/gds/ds12/gds_ds12_lock_pthread.c | 2 +- + src/util/pmix_pty.c | 4 ++-- + 5 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/mca/common/dstore/dstore_base.c b/src/mca/common/dstore/dstore_base.c +index 4831f4ef77..dc902668cf 100644 +--- a/src/mca/common/dstore/dstore_base.c ++++ b/src/mca/common/dstore/dstore_base.c +@@ -531,7 +531,7 @@ static int _esh_session_init(pmix_common_dstore_ctx_t *ds_ctx, size_t idx, ns_ma + } + } + if (s->setjobuid > 0){ +- if (0 > chown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ ++ if (0 > lchown(s->nspace_path, (uid_t) s->jobuid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + return rc; +@@ -1711,7 +1711,7 @@ pmix_common_dstore_ctx_t *pmix_common_dstor_init(const char *ds_name, pmix_info_ + } + } + if (ds_ctx->setjobuid > 0) { +- if (chown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ ++ if (lchown(ds_ctx->base_path, (uid_t) ds_ctx->jobuid, (gid_t) -1) < 0){ + rc = PMIX_ERR_NO_PERMISSIONS; + PMIX_ERROR_LOG(rc); + goto err_exit; +diff --git a/src/mca/common/dstore/dstore_segment.c b/src/mca/common/dstore/dstore_segment.c +index e90ea3f744..4f3b3ab5ef 100644 +--- a/src/mca/common/dstore/dstore_segment.c ++++ b/src/mca/common/dstore/dstore_segment.c +@@ -121,7 +121,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_lock_seg(const + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +@@ -212,7 +212,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_segment(pmix_ds + + if (setuid > 0){ + rc = PMIX_ERR_PERM; +- if (0 > chown(file_name, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(file_name, (uid_t) uid, (gid_t) -1)){ + PMIX_ERROR_LOG(rc); + goto err_exit; + } +diff --git a/src/mca/gds/ds12/gds_ds12_lock_fcntl.c b/src/mca/gds/ds12/gds_ds12_lock_fcntl.c +index 4d7098920a..361d825977 100644 +--- a/src/mca/gds/ds12/gds_ds12_lock_fcntl.c ++++ b/src/mca/gds/ds12/gds_ds12_lock_fcntl.c +@@ -128,7 +128,7 @@ pmix_status_t pmix_gds_ds12_lock_init(pmix_common_dstor_lock_ctx_t *ctx, const c + } + } + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, uid, (gid_t) -1)) { ++ if (0 > lchown(lock_ctx->lockfile, uid, (gid_t) -1)) { + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff --git a/src/mca/gds/ds12/gds_ds12_lock_pthread.c b/src/mca/gds/ds12/gds_ds12_lock_pthread.c +index 48c6bafd30..2aa89da1c7 100644 +--- a/src/mca/gds/ds12/gds_ds12_lock_pthread.c ++++ b/src/mca/gds/ds12/gds_ds12_lock_pthread.c +@@ -114,7 +114,7 @@ pmix_status_t pmix_gds_ds12_lock_init(pmix_common_dstor_lock_ctx_t *ctx, const c + } + memset(lock_ctx->segment->seg_base_addr, 0, size); + if (0 != setuid) { +- if (0 > chown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ ++ if (0 > lchown(lock_ctx->lockfile, (uid_t) uid, (gid_t) -1)){ + rc = PMIX_ERROR; + PMIX_ERROR_LOG(rc); + goto error; +diff --git a/src/util/pmix_pty.c b/src/util/pmix_pty.c +index f743b31819..f3490b00db 100644 +--- a/src/util/pmix_pty.c ++++ b/src/util/pmix_pty.c +@@ -11,7 +11,7 @@ + * All rights reserved. + * Copyright (c) 2018 Cisco Systems, Inc. All rights reserved + * Copyright (c) 2019-2020 Intel, Inc. All rights reserved. +- * Copyright (c) 2021 Nanook Consulting. All rights reserved. ++ * Copyright (c) 2021-2023 Nanook Consulting. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow +@@ -244,7 +244,7 @@ static int ptys_open(int fdm, char *pts_name) + gid = -1; /* group tty is not in the group file */ + } + /* following two functions don't work unless we're root */ +- chown(pts_name, getuid(), gid); ++ lchown(pts_name, getuid(), gid); // DO NOT FOLLOW LINKS + chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP); + fds = open(pts_name, O_RDWR); + if (fds < 0) { diff --git a/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1d6208ff9f0 --- /dev/null +++ b/easybuild/easyconfigs/p/PMIx/PMIx-5.0.2-GCCcore-13.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'PMIx' +version = '5.0.2' + +homepage = 'https://pmix.org/' +description = """Process Management for Exascale Environments +PMI Exascale (PMIx) represents an attempt to +provide an extended version of the PMI standard specifically designed +to support clusters up to and including exascale sizes. The overall +objective of the project is not to branch the existing pseudo-standard +definitions - in fact, PMIx fully supports both of the existing PMI-1 +and PMI-2 APIs - but rather to (a) augment and extend those APIs to +eliminate some current restrictions that impact scalability, and (b) +provide a reference implementation of the PMI-server that demonstrates +the desired level of scalability. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['28227ff2ba925da2c3fece44502f23a91446017de0f5a58f5cea9370c514b83c'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libevent', '2.1.12'), + ('zlib', '1.3.1'), + ('hwloc', '2.10.0'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB' +configopts += ' --with-hwloc=$EBROOTHWLOC' +configopts += ' --enable-pmix-binaries' + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'], + 'dirs': ['etc', 'include', 'lib', 'share'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/POT/POT-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/p/POT/POT-0.9.0-foss-2022a.eb new file mode 100644 index 00000000000..716388b4c20 --- /dev/null +++ b/easybuild/easyconfigs/p/POT/POT-0.9.0-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'POT' +version = '0.9.0' + +homepage = 'https://github.com/rflamary/POT' +description = """POT (Python Optimal Transport) is a Python library provide several solvers for optimization problems + related to Optimal Transport for signal, image processing and machine learning.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('PyTorch', '1.12.0'), + ('jax', '0.3.25'), + ('CVXOPT', '1.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('autograd', '1.6.2', { + 'checksums': ['8731e08a0c4e389d8695a40072ada4512641c113b6cace8f4cfbe8eb7e9aedeb'], + }), + ('versioneer', '0.28', { + 'checksums': ['7175ca8e7bb4dd0e3c9779dd2745e5b4a6036304af3f5e50bd896f10196586d6'], + }), + ('pymanopt', '2.1.1', { + 'checksums': ['07f6996b944eb43a15ce762841e01f7f7aa2d29005253eb7087db3926fdd8aa6'], + }), + (name, version, { + 'modulename': 'ot', + 'checksums': ['300864ae2b469a7b66155fc610a134961d9d46f1ecde0d85e484d14acd06b215'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-11.3.0.eb b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-11.3.0.eb new file mode 100644 index 00000000000..de9f5ed3ce8 --- /dev/null +++ b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-11.3.0.eb @@ -0,0 +1,64 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu, NTUA +# Authors:: 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/ +## + +easyblock = 'ConfigureMake' + +name = 'POV-Ray' +version = '3.7.0.10' + +homepage = 'https://www.povray.org/' +description = """The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program + which generates images from a text-based scene description, and is available for a variety + of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning + three-dimensional graphics. The source code is available for those wanting to do their own ports.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/POV-Ray/povray/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['POV-Ray-3.7.0.7_dont-touch-home.patch'] +checksums = [ + '7bee83d9296b98b7956eb94210cf30aa5c1bbeada8ef6b93bb52228bbc83abff', # v3.7.0.10.tar.gz + '45103afca808e279dcdee80194c65e2a760c76d011d351392a46e817b0b655f7', # POV-Ray-3.7.0.7_dont-touch-home.patch +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('X11', '20220504'), + ('LibTIFF', '4.3.0'), + ('SDL2', '2.0.22'), + ('OpenEXR', '3.1.5'), +] + +preconfigopts = "cd unix && sed -i 's/^automake/automake --add-missing; automake/g' prebuild.sh && " +preconfigopts += " ./prebuild.sh && cd .. && " +configopts = "COMPILED_BY='EasyBuild' " +configopts += "--with-boost=$EBROOTBOOST --with-zlib=$EBROOTZLIB --with-libpng=$EBROOTLIBPNG " +configopts += "--with-libtiff=$EBROOTLIBTIFF --with-libjpeg=$EBROOTLIBJPEGMINTURBO --with-libsdl=$EBROOTSDL2 " +# configopts += " --with-libmkl=DIR " ## upstream needs to fix this, still in BETA + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/povray'], + 'dirs': ['etc/povray/%(version_major_minor)s', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb new file mode 100644 index 00000000000..25b29b178d7 --- /dev/null +++ b/easybuild/easyconfigs/p/POV-Ray/POV-Ray-3.7.0.10-GCC-12.3.0.eb @@ -0,0 +1,64 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu, NTUA +# Authors:: 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/ +## + +easyblock = 'ConfigureMake' + +name = 'POV-Ray' +version = '3.7.0.10' + +homepage = 'https://www.povray.org/' +description = """The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program + which generates images from a text-based scene description, and is available for a variety + of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning + three-dimensional graphics. The source code is available for those wanting to do their own ports.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/POV-Ray/povray/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['POV-Ray-3.7.0.7_dont-touch-home.patch'] +checksums = [ + {'v3.7.0.10.tar.gz': '7bee83d9296b98b7956eb94210cf30aa5c1bbeada8ef6b93bb52228bbc83abff'}, + {'POV-Ray-3.7.0.7_dont-touch-home.patch': '45103afca808e279dcdee80194c65e2a760c76d011d351392a46e817b0b655f7'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('X11', '20230603'), + ('LibTIFF', '4.5.0'), + ('SDL2', '2.28.2'), + ('OpenEXR', '3.1.7'), +] + +preconfigopts = "cd unix && sed -i 's/^automake/automake --add-missing; automake/g' prebuild.sh && " +preconfigopts += " ./prebuild.sh && cd .. && " +configopts = "COMPILED_BY='EasyBuild' " +configopts += "--with-boost=$EBROOTBOOST --with-zlib=$EBROOTZLIB --with-libpng=$EBROOTLIBPNG " +configopts += "--with-libtiff=$EBROOTLIBTIFF --with-libjpeg=$EBROOTLIBJPEGMINTURBO --with-libsdl=$EBROOTSDL2 " +# configopts += " --with-libmkl=DIR " ## upstream needs to fix this, still in BETA + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/povray'], + 'dirs': ['etc/povray/%(version_major_minor)s', 'share'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb new file mode 100644 index 00000000000..c8435307d60 --- /dev/null +++ b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136-foss-2021b.eb @@ -0,0 +1,66 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'PythonBundle' + +name = 'PPanGGOLiN' +version = '1.1.136' + +homepage = 'https://github.com/labgem/PPanGGOLiN' +description = """ +PPanGGOLiN is a software suite used to create and manipulate prokaryotic +pangenomes from a set of either genomic DNA sequences or provided genome annotations. It is designed +to scale up to tens of thousands of genomes. It has the specificity to partition the pangenome using +a statistical approach rather than using fixed thresholds which gives it the ability to work with low-quality +data such as Metagenomic Assembled Genomes (MAGs) or Single-cell Amplified Genomes (SAGs) thus taking advantage +of large scale environmental studies and letting users study the pangenome of uncultivable species. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('tqdm', '4.62.3'), + ('PyTables', '3.6.1'), + ('prodigal', '2.6.3'), + ('ARAGORN', '1.2.41'), + ('Infernal', '1.1.4'), + ('MMseqs2', '13-45111'), + ('networkx', '2.6.3'), + ('SciPy-bundle', '2021.10'), + ('plotly.py', '5.4.0'), + ('gmpy2', '2.1.2'), + ('MAFFT', '7.490', '-with-extensions'), + ('rpy2', '3.4.5'), +] + +local_configopts = '-DBLAS_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT +local_configopts += '-DLAPACK_LIBRARIES=$EBROOTOPENBLAS/lib/libopenblas.%s ' % SHLIB_EXT + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('colorlover', '0.3.0', { + 'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'], + }), + (name, version, { + 'configopts': local_configopts, + 'patches': ['PPanGGOLiN-%(version)s_new_compiler_compatibility.patch'], + 'source_urls': ['https://github.com/labgem/%(name)s/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + '41f814f0b9331a8f0e04f09c698cef6200429990ce726339b5bb320bb7943a70', # 1.1.136.tar.gz + # PPanGGOLiN-1.1.136_new_compiler_compatibility.patch + 'ae4dadf2f7469e4c3d56b10236aa7812bfe6f5ed231676364f7c3f0d42e8facf', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/ppanggolin'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['ppanggolin --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch new file mode 100644 index 00000000000..0c684dbbfd1 --- /dev/null +++ b/easybuild/easyconfigs/p/PPanGGOLiN/PPanGGOLiN-1.1.136_new_compiler_compatibility.patch @@ -0,0 +1,15 @@ +adding -fcommon flag since it was removed from defaults in newer compilers +author: Denis Kristak (INUITS) +diff -ruN PPanGGOLiN-1.1.136_orig/setup.py PPanGGOLiN-1.1.136/setup.py +--- PPanGGOLiN-1.1.136_orig/setup.py 2021-11-23 10:32:07.957348000 +0100 ++++ PPanGGOLiN-1.1.136/setup.py 2021-11-23 10:43:58.316011000 +0100 +@@ -28,7 +28,8 @@ + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering :: Bio-Informatics"], + entry_points={"console_scripts":["ppanggolin = ppanggolin.main:main"]}, +- ext_modules = [Extension(name = "nem_stats",sources =[NEM_DIR_PATH+'nem_stats.pyx', ++ extra_compile_args=['-fcommon'], ++ ext_modules = [Extension(name = "nem_stats", extra_compile_args=['-fcommon'], sources =[NEM_DIR_PATH+'nem_stats.pyx', + NEM_DIR_PATH+'nem_exe.c', + NEM_DIR_PATH+'nem_alg.c', + NEM_DIR_PATH+'nem_nei.c', diff --git a/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-10.2.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-10.2.0.eb new file mode 100644 index 00000000000..ee59ac1eae1 --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-10.2.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': '10.2.0'} + +source_urls = ['http://wasabiapp.org/download/prank/'] +sources = ['%(namelower)s.source.%(version)s.tgz'] +checksums = ['623eb5e9b5cb0be1f49c3bf715e5fabceb1059b21168437264bdcd5c587a8859'] + +# PRANK uses MAFFT as external tool to contruct guide tree +dependencies = [('MAFFT', '7.475', '-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/PRANK/PRANK-170427-GCC-10.3.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-10.3.0.eb new file mode 100644 index 00000000000..699387c221c --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-10.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': '10.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.490', '-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/PRANK/PRANK-170427-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.2.0.eb new file mode 100644 index 00000000000..c14f2efe75a --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.2.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': '11.2.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.490', '-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/PRANK/PRANK-170427-GCC-11.3.0.eb b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.3.0.eb new file mode 100644 index 00000000000..f72e6aac406 --- /dev/null +++ b/easybuild/easyconfigs/p/PRANK/PRANK-170427-GCC-11.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': '11.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.505', '-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/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/PREQUAL/PREQUAL-1.02-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PREQUAL/PREQUAL-1.02-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f1e9f015992 --- /dev/null +++ b/easybuild/easyconfigs/p/PREQUAL/PREQUAL-1.02-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'PREQUAL' +version = '1.02' +local_commit = '67da42c' + +homepage = 'https://github.com/simonwhelan/prequal' +description = 'A program to identify and mask regions with non-homologous adjacent characters in FASTA files.' + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'simonwhelan' +source_urls = [GITHUB_SOURCE] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, +}] +checksums = ['f0663f6b324dbc6088450f32b3087a2b6ea07138e25850987608b9bb23007d1a'] + +builddependencies = [ + ('binutils', '2.37'), +] + +files_to_copy = ['prequal', 'LICENSE'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['prequal'], + 'dirs': [], +} + +sanity_check_commands = ['prequal -h | grep "^Usage:"'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb index 108e4aa5d1e..f5de8424a94 100644 --- a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2018b-Perl-5.28.0.eb @@ -27,6 +27,9 @@ dependencies = [ exts_defaultclass = 'PerlModule' exts_filter = ("perldoc -lm %(ext_name)s ", "") +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + exts_list = [ ('ExtUtils::Depends', '0.405', { 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', @@ -89,7 +92,7 @@ modextrapaths = { } postinstallcmds = [ - "sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", + r"sed -i -e 's|/usr/bin/perl|/usr/bin/env\ perl|' %(installdir)s/*.pl", "chmod +x %(installdir)s/*.pl", ] diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb new file mode 100644 index 00000000000..d0822cc92c4 --- /dev/null +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2020b-Perl-5.32.0.eb @@ -0,0 +1,100 @@ +# author: Denis Kristak + +easyblock = 'Tarball' + +name = 'PRINSEQ' +version = '0.20.4' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://prinseq.sourceforge.net' +description = """A bioinformatics tool to PRe-process and show INformation of SEQuence data.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['http://sourceforge.net/projects/prinseq/files/standalone/'] +sources = ['%(namelower)s-lite-%(version)s.tar.gz'] +checksums = ['9b5e0dce3b7f02f09e1cc7e8a2dd77c0b133e5e35529d570ee901f53ebfeb56f'] + +dependencies = [ + ('Perl', '5.32.0'), + ('cairo', '1.16.0'), +] + +# these are the perl libraries dependencies +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + +exts_list = [ + ('ExtUtils::Depends', '0.8001', { + 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['673c4387e7896c1a216099c1fbb3faaa7763d7f5f95a1a56a60a2a2906c131c5'], + }), + ('ExtUtils::PkgConfig', '1.16', { + 'source_tmpl': 'ExtUtils-PkgConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + ('Pod::Usage', '2.0', { + 'source_tmpl': 'Pod-Usage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['530943a9ac3ba00404d7be8ee8572f30f6db9de123cd725af3647333a87d4fea'], + }), + ('Cairo', '1.109', { + 'source_tmpl': 'Cairo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['8219736e401c2311da5f515775de43fd87e6384b504da36a192f2b217643077f'], + }), + ('Statistics::PCA', '0.0.1', { + 'source_tmpl': 'Statistics-PCA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSTH/'], + 'checksums': ['f8adb10b00232123d103a5b49161ad46370f47fe0f752e5462a4dc15f9d46bc4'], + }), + ('MIME::Base64', '3.15', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS/'], + 'checksums': ['7f863566a6a9cb93eda93beadb77d9aa04b9304d769cea3bb921b9a91b3a1eb9'], + }), + ('Math::Cephes::Matrix', '0.5305', { + 'source_tmpl': 'Math-Cephes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['561a800a4822e748d2befc366baa4b21e879a40cc00c22293c7b8736caeb83a1'], + }), + ('Math::MatrixReal', '2.13', { + 'source_tmpl': 'Math-MatrixReal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LETO/'], + 'checksums': ['4f9fa1a46dd34d2225de461d9a4ed86932cdd821c121fa501a15a6d4302fb4b2'], + }), + ('Text::SimpleTable', '2.07', { + 'source_tmpl': 'Text-SimpleTable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRAMBERG/'], + 'checksums': ['256d3f38764e96333158b14ab18257b92f3155c60d658cafb80389f72f4619ed'], + }), + ('Contextual::Return', '0.2.1', { + 'source_tmpl': 'Contextual-Return-v%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/'], + 'checksums': ['17a1ed1043a2abe123920894d6023709e834de66ef766be86e4cfbb96b1dd16c'], + }), +] + +fix_perl_shebang_for = ["*.pl"] + +postinstallcmds = ["chmod +x %(installdir)s/*.pl"] + +# this is the script which relies in many extra Perl libraries so we verify it's working fine +sanity_check_commands = ['%(installdir)s/prinseq-graphs.pl'] + +sanity_check_paths = { + 'files': ['prinseq-lite.pl', 'prinseq-graphs.pl', 'prinseq-graphs-noPCA.pl'], + 'dirs': [] +} + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb new file mode 100644 index 00000000000..18db1b85712 --- /dev/null +++ b/easybuild/easyconfigs/p/PRINSEQ/PRINSEQ-0.20.4-foss-2021b-Perl-5.34.0.eb @@ -0,0 +1,100 @@ +# author: Denis Kristak + +easyblock = 'Tarball' + +name = 'PRINSEQ' +version = '0.20.4' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'http://prinseq.sourceforge.net' +description = """A bioinformatics tool to PRe-process and show INformation of SEQuence data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['http://sourceforge.net/projects/prinseq/files/standalone/'] +sources = ['%(namelower)s-lite-%(version)s.tar.gz'] +checksums = ['9b5e0dce3b7f02f09e1cc7e8a2dd77c0b133e5e35529d570ee901f53ebfeb56f'] + +dependencies = [ + ('Perl', '5.34.0'), + ('cairo', '1.16.0'), +] + +# these are the perl libraries dependencies +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +# prevent that sanity check requires PRINSEQ itself to be available as a Perl module +options = {'modulename': False} + +exts_list = [ + ('ExtUtils::Depends', '0.8001', { + 'source_tmpl': 'ExtUtils-Depends-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['673c4387e7896c1a216099c1fbb3faaa7763d7f5f95a1a56a60a2a2906c131c5'], + }), + ('ExtUtils::PkgConfig', '1.16', { + 'source_tmpl': 'ExtUtils-PkgConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e'], + }), + ('Pod::Usage', '2.0', { + 'source_tmpl': 'Pod-Usage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['530943a9ac3ba00404d7be8ee8572f30f6db9de123cd725af3647333a87d4fea'], + }), + ('Cairo', '1.109', { + 'source_tmpl': 'Cairo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XA/XAOC/'], + 'checksums': ['8219736e401c2311da5f515775de43fd87e6384b504da36a192f2b217643077f'], + }), + ('Statistics::PCA', '0.0.1', { + 'source_tmpl': 'Statistics-PCA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DS/DSTH/'], + 'checksums': ['f8adb10b00232123d103a5b49161ad46370f47fe0f752e5462a4dc15f9d46bc4'], + }), + ('MIME::Base64', '3.15', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS/'], + 'checksums': ['7f863566a6a9cb93eda93beadb77d9aa04b9304d769cea3bb921b9a91b3a1eb9'], + }), + ('Math::Cephes::Matrix', '0.5305', { + 'source_tmpl': 'Math-Cephes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['561a800a4822e748d2befc366baa4b21e879a40cc00c22293c7b8736caeb83a1'], + }), + ('Math::MatrixReal', '2.13', { + 'source_tmpl': 'Math-MatrixReal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LETO/'], + 'checksums': ['4f9fa1a46dd34d2225de461d9a4ed86932cdd821c121fa501a15a6d4302fb4b2'], + }), + ('Text::SimpleTable', '2.07', { + 'source_tmpl': 'Text-SimpleTable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRAMBERG/'], + 'checksums': ['256d3f38764e96333158b14ab18257b92f3155c60d658cafb80389f72f4619ed'], + }), + ('Contextual::Return', '0.2.1', { + 'source_tmpl': 'Contextual-Return-v%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/'], + 'checksums': ['17a1ed1043a2abe123920894d6023709e834de66ef766be86e4cfbb96b1dd16c'], + }), +] + +fix_perl_shebang_for = ["*.pl"] + +postinstallcmds = ["chmod +x %(installdir)s/*.pl"] + +# this is the script which relies in many extra Perl libraries so we verify it's working fine +sanity_check_commands = ['%(installdir)s/prinseq-graphs.pl'] + +sanity_check_paths = { + 'files': ['prinseq-lite.pl', 'prinseq-graphs.pl', 'prinseq-graphs-noPCA.pl'], + 'dirs': [] +} + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.1.1-foss-2019a.eb b/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.1.1-foss-2019a.eb new file mode 100644 index 00000000000..5e30567763c --- /dev/null +++ b/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.1.1-foss-2019a.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMakeCp' + +name = 'PRISMS-PF' +version = '2.1.1' + +homepage = 'https://prisms-center.github.io/phaseField' +description = """PRISMS-PF is a powerful, massively parallel finite element code for conducting phase field and + other related simulations of microstructural evolution.""" + +toolchain = {'name': 'foss', 'version': '2019a'} + +source_urls = ['https://github.com/prisms-center/phaseField/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd76b105d28791c5be5e624cacca9db4c453fbba26727c829ef3f0810f02fffe'] + +builddependencies = [('CMake', '3.13.3')] + +dependencies = [ + ('p4est', '2.2'), + ('deal.II', '9.1.1'), +] + +configopts = "-DCMAKE_PREFIX_PATH=$EBROOTDEALII" +buildopts = 'release' + +files_to_copy = ['applications', 'include', (['libprisms_pf*.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libprisms_pf.a', 'lib/libprisms_pf_debug.a'], + 'dirs': ['applications', 'include'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.2-foss-2021a.eb b/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.2-foss-2021a.eb new file mode 100644 index 00000000000..c19bc7c0aa4 --- /dev/null +++ b/easybuild/easyconfigs/p/PRISMS-PF/PRISMS-PF-2.2-foss-2021a.eb @@ -0,0 +1,71 @@ +easyblock = 'Bundle' + +name = 'PRISMS-PF' +version = '2.2' + +homepage = 'https://prisms-center.github.io/phaseField' +description = """PRISMS-PF is a powerful, massively parallel finite element code for conducting phase field and + other related simulations of microstructural evolution.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Boost', '1.76.0'), + ('GSL', '2.7'), + ('HDF5', '1.10.7'), + ('METIS', '5.1.0'), + ('netCDF', '4.8.0'), + ('p4est', '2.8'), + ('PETSc', '3.15.1'), + ('zlib', '1.2.11'), +] + +local_dealii_configopts = "-DDEAL_II_WITH_LAPACK=ON -DDEAL_II_WITH_MPI=ON " +local_dealii_configopts += "-DDEAL_II_WITH_BOOST=ON -DBOOST_DIR=$EBROOTBOOST " +local_dealii_configopts += "-DDEAL_II_WITH_GSL=ON -DGSL_DIR=$EBROOTGSL " +local_dealii_configopts += "-DDEAL_II_WITH_HDF5=ON -DHDF5_DIR=$EBROOTHDF5 " +local_dealii_configopts += "-DDEAL_II_WITH_METIS=ON -DMETIS_DIR=$EBROOTMETIS " +local_dealii_configopts += "-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$EBROOTP4EST " +local_dealii_configopts += "-DDEAL_II_WITH_PETSC=ON -DPETSC_DIR=$EBROOTPETSC " +local_dealii_configopts += "-DDEAL_II_WITH_ZLIB=ON -DZLIB_DIR=$EBROOTZLIB " + +components = [ + # PRISMS-PF v2.2 is not compatible yet with deal.II v9.3.x, + # so include deal.II v9.2.0 as bundle component (rather than using it as a dependency) + ('deal.II', '9.2.0', { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/dealii/dealii/releases/download/v%(version)s/'], + 'sources': ['dealii-%(version)s.tar.gz'], + 'patches': ['deal.II-9.2.0_fix-boost-include.patch'], + 'checksums': [ + 'd05a82fb40f1f1e24407451814b5a6004e39366a44c81208b1ae9d65f3efa43a', # dealii-9.2.0.tar.gz + '3eb1a25123ea2c72835a227a0174c2d0dbb6350793a01375757f06f72e77811a', # deal.II-9.2.0_fix-boost-include.patch + ], + 'start_dir': 'dealii-%(version)s', + 'preconfigopts': 'export LDFLAGS="$LDFLAGS $CFLAGS" && ', + 'configopts': local_dealii_configopts, + }), + (name, version, { + 'easyblock': 'CMakeMakeCp', + 'source_urls': ['https://github.com/prisms-center/phaseField/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['17214a1b04b9e4ae031663831ce20fb30f1db60b0890fe2055d52852798d9ae9'], + 'start_dir': 'phaseField-%(version)s', + 'configopts': "-DCMAKE_PREFIX_PATH=$EBROOTDEALII", + 'buildopts': 'release', + 'files_to_copy': [ + 'applications', + (['include/*'], 'include'), + (['libprisms_pf*.a'], 'lib'), + ], + }), +] + +sanity_check_paths = { + 'files': ['lib/libdeal_II.%s' % SHLIB_EXT, 'lib/libprisms_pf.a', 'lib/libprisms_pf_debug.a'], + 'dirs': ['applications', 'include/deal.II', 'lib/cmake', 'lib/pkgconfig', 'share/deal.II'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PRISMS-PF/deal.II-9.2.0_fix-boost-include.patch b/easybuild/easyconfigs/p/PRISMS-PF/deal.II-9.2.0_fix-boost-include.patch new file mode 100644 index 00000000000..e7423007001 --- /dev/null +++ b/easybuild/easyconfigs/p/PRISMS-PF/deal.II-9.2.0_fix-boost-include.patch @@ -0,0 +1,28 @@ +fix for: /software/Boost/1.76.0-GCC-10.3.0/include/boost/geometry/strategies/envelope/services.hpp:32:5: error: static assertion failed: Not implemented for this coordinate system. + 32 | BOOST_GEOMETRY_STATIC_ASSERT_FALSE( + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +cfr. https://github.com/dealii/dealii/pull/11438 + +From 9c1a580139f557433a226da437382b3f4307f7c8 Mon Sep 17 00:00:00 2001 +From: Luca Heltai +Date: Wed, 30 Dec 2020 09:54:02 +0100 +Subject: [PATCH] Fix boost include file. + +--- + source/fe/mapping.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/source/fe/mapping.cc b/source/fe/mapping.cc +index 288a9debcb1e..4ef3ef77149f 100644 +--- a/source/fe/mapping.cc ++++ b/source/fe/mapping.cc +@@ -20,6 +20,8 @@ + + #include + ++#include ++ + DEAL_II_NAMESPACE_OPEN + + diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-6.0.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-6.0.0-GCCcore-8.2.0.eb index d97b16341e0..ceb42f9a284 100644 --- a/easybuild/easyconfigs/p/PROJ/PROJ-6.0.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/PROJ/PROJ-6.0.0-GCCcore-8.2.0.eb @@ -27,7 +27,10 @@ builddependencies = [ ('binutils', '2.31.1'), ] -dependencies = [('SQLite', '3.27.2')] +dependencies = [ + ('SQLite', '3.27.2'), + ('XZ', '5.2.4'), +] sanity_check_paths = { 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-6.2.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-6.2.1-GCCcore-8.3.0.eb index fbf999ac44c..4e2d3363c23 100644 --- a/easybuild/easyconfigs/p/PROJ/PROJ-6.2.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PROJ/PROJ-6.2.1-GCCcore-8.3.0.eb @@ -27,7 +27,10 @@ builddependencies = [ ('binutils', '2.32'), ] -dependencies = [('SQLite', '3.29.0')] +dependencies = [ + ('SQLite', '3.29.0'), + ('XZ', '5.2.4'), +] sanity_check_paths = { 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-6.3.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-6.3.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..87149b669a0 --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-6.3.1-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +## +# 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 = 'PROJ' +version = '6.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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8'] + + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('SQLite', '3.35.4'), + ('LibTIFF', '4.2.0'), + ('cURL', '7.76.0'), + ('XZ', '5.2.5'), +] + +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/PROJ/PROJ-7.0.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-7.0.0-GCCcore-9.3.0.eb index ad67802d6bb..2bca330dfe8 100644 --- a/easybuild/easyconfigs/p/PROJ/PROJ-7.0.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PROJ/PROJ-7.0.0-GCCcore-9.3.0.eb @@ -31,6 +31,7 @@ dependencies = [ ('SQLite', '3.31.1'), ('LibTIFF', '4.1.0'), ('cURL', '7.69.1'), + ('XZ', '5.2.5'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-7.2.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-7.2.1-GCCcore-10.2.0.eb index cb19aeb08e6..4d8bb71381e 100644 --- a/easybuild/easyconfigs/p/PROJ/PROJ-7.2.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PROJ/PROJ-7.2.1-GCCcore-10.2.0.eb @@ -31,6 +31,7 @@ dependencies = [ ('SQLite', '3.33.0'), ('LibTIFF', '4.1.0'), ('cURL', '7.72.0'), + ('XZ', '5.2.5'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-8.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-8.0.1-GCCcore-10.3.0.eb index 9b222a4f22e..649eb368ed7 100644 --- a/easybuild/easyconfigs/p/PROJ/PROJ-8.0.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/PROJ/PROJ-8.0.1-GCCcore-10.3.0.eb @@ -31,6 +31,7 @@ dependencies = [ ('SQLite', '3.35.4'), ('LibTIFF', '4.2.0'), ('cURL', '7.76.0'), + ('XZ', '5.2.5'), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/PROJ/PROJ-8.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-8.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..31ec89c70e0 --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-8.1.0-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +## +# 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 = 'PROJ' +version = '8.1.0' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['22c5cdc5aa0832077b16c95ebeec748a0942811c1c3438c33d43c8d2ead59f48'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), +] + +dependencies = [ + ('SQLite', '3.36'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.78.0'), + ('XZ', '5.2.5'), +] + +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/PROJ/PROJ-9.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ab0f6a5bdbb --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.0.0-GCCcore-11.3.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.0.0' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0620aa01b812de00b54d6c23e7c5cc843ae2cd129b24fabe411800302172b989'] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), +] + +dependencies = [ + ('SQLite', '3.38.3'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.83.0'), + ('XZ', '5.2.5'), + ('nlohmann_json', '3.10.5'), +] + +# 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/PROJ/PROJ-9.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.1.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..80793ebc07f --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.1.1-GCCcore-12.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.1.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': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['003cd4010e52bb5eb8f7de1c143753aa830c8902b6ed01209f294846e40e6d39'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('googletest', '1.12.1'), +] + +dependencies = [ + ('SQLite', '3.39.4'), + ('LibTIFF', '4.4.0'), + ('cURL', '7.86.0'), + ('XZ', '5.2.7'), + ('nlohmann_json', '3.11.2'), +] + +# 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/PROJ/PROJ-9.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..deb26d4ed5d --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.2.0-GCCcore-12.3.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.2.0' + +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': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dea816f5aa732ae6b2ee3977b9bdb28b1d848cf56a1aad8faf6708b89f0ed50e'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), +] + +dependencies = [ + ('SQLite', '3.42.0'), + ('LibTIFF', '4.5.0'), + ('cURL', '8.0.1'), + ('XZ', '5.4.2'), + ('nlohmann_json', '3.11.2'), +] + +# 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/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/PROJ/PROJ-9.4.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PROJ/PROJ-9.4.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1307155f8f7 --- /dev/null +++ b/easybuild/easyconfigs/p/PROJ/PROJ-9.4.1-GCCcore-13.3.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.4.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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ffe20170ee2b952207adf8a195e2141eab12cda181e49fdeb54425d98c7171d7'] + +builddependencies = [ + ('pkgconf', '2.2.0'), + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('googletest', '1.15.2'), +] + +dependencies = [ + ('SQLite', '3.45.3'), + ('LibTIFF', '4.6.0'), + ('cURL', '8.7.1'), + ('XZ', '5.4.5'), + ('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/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2a8688776d8 --- /dev/null +++ b/easybuild/easyconfigs/p/PRRTE/PRRTE-3.0.5-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'PRRTE' +version = '3.0.5' + +homepage = 'https://docs.prrte.org/' +description = """PRRTE is the PMIx Reference RunTime Environment""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openpmix/prrte/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.bz2'] +checksums = ['75ce732b02f3bc7eff5e51b81469e4373f1effc6a42d8445e2935d3670e58c8e'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('libevent', '2.1.12'), + ('hwloc', '2.10.0'), + ('PMIx', '5.0.2'), +] + +configopts = ' --with-libevent=$EBROOTLIBEVENT' +configopts += ' --with-hwloc=$EBROOTHWLOC --with-pmix=$EBROOTPMIX' + +buildopts = 'V=1' + +local_binaries = ['prte', 'prte_info', 'prterun', 'prun', 'pterm'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + ['lib/libprrte.%s' % SHLIB_EXT], + 'dirs': ['etc', 'include', 'share'] +} + +sanity_check_commands = ['%s --version' % x for x in local_binaries] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PRSice/PRSice-2.2.12-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/PRSice/PRSice-2.2.12-GCCcore-8.3.0.eb index 4408537b08e..2e22ee69d17 100644 --- a/easybuild/easyconfigs/p/PRSice/PRSice-2.2.12-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/PRSice/PRSice-2.2.12-GCCcore-8.3.0.eb @@ -21,7 +21,7 @@ checksums = ['1e3d43f269ad6c4c703431e3a96084e7c85391e00061684d60a8599d4e158c84'] builddependencies = [ ('CMake', '3.15.3'), ('binutils', '2.32'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] files_to_copy = [(['bin/PRSice'], 'bin'), "README.md", "LICENSE"] diff --git a/easybuild/easyconfigs/p/PRSice/PRSice-2.3.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.1-GCCcore-9.3.0.eb index 0d030134301..1a07392a87c 100644 --- a/easybuild/easyconfigs/p/PRSice/PRSice-2.3.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.1-GCCcore-9.3.0.eb @@ -21,7 +21,7 @@ checksums = ['b4adec078d7101d00390e529c9cb6d935c50d60ae17db6fa044295767d3131a4'] builddependencies = [ ('CMake', '3.16.4'), ('binutils', '2.34'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] files_to_copy = [(['bin/PRSice'], 'bin'), "README.md", "LICENSE"] diff --git a/easybuild/easyconfigs/p/PRSice/PRSice-2.3.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ebbf3203a91 --- /dev/null +++ b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.3-GCCcore-10.3.0.eb @@ -0,0 +1,36 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'PRSice' +version = '2.3.3' + +homepage = 'https://www.prsice.info/' +description = """PRSice (pronounced 'precise') is a Polygenic Risk +Score software for calculating, applying, evaluating and +plotting the results of polygenic risk scores (PRS) analyses.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/choishingwan/PRSice/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['99cac1fdff727b652969ca50be32c1aebf5393c17c2df0a1a745ce6991b69eab'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), + ('Eigen', '3.3.9'), +] + +files_to_copy = [(['bin/PRSice'], 'bin'), "README.md", "LICENSE"] + +sanity_check_paths = { + 'files': ['bin/PRSice'], + 'dirs': [], +} + +sanity_check_commands = ["PRSice --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fb98cc63e1a --- /dev/null +++ b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'PRSice' +version = '2.3.5' + +homepage = 'https://www.prsice.info/' +description = """PRSice (pronounced 'precise') is a Polygenic Risk +Score software for calculating, applying, evaluating and +plotting the results of polygenic risk scores (PRS) analyses.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/choishingwan/PRSice/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0a7e649ddebe4e969cd8400c5ad977a7b900be4f5c920a84483cb8930367354d'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), + ('Eigen', '3.4.0'), +] + +files_to_copy = [(['bin/PRSice'], 'bin'), "README.md", "LICENSE"] + +sanity_check_paths = { + 'files': ['bin/PRSice'], + 'dirs': [], +} + +sanity_check_commands = ["PRSice --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f77c2144f22 --- /dev/null +++ b/easybuild/easyconfigs/p/PRSice/PRSice-2.3.5-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'CMakeMakeCp' + +name = 'PRSice' +version = '2.3.5' + +homepage = 'https://www.prsice.info/' +description = """PRSice (pronounced 'precise') is a Polygenic Risk +Score software for calculating, applying, evaluating and +plotting the results of polygenic risk scores (PRS) analyses.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/choishingwan/PRSice/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['0a7e649ddebe4e969cd8400c5ad977a7b900be4f5c920a84483cb8930367354d'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('Eigen', '3.4.0'), +] + +files_to_copy = [(['bin/PRSice'], 'bin'), "README.md", "LICENSE"] + +sanity_check_paths = { + 'files': ['bin/PRSice'], + 'dirs': [], +} + +sanity_check_commands = ["PRSice --help"] + +moduleclass = 'bio' 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 new file mode 100644 index 00000000000..8f23ffda609 --- /dev/null +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.7-foss-2021b.eb @@ -0,0 +1,105 @@ +easyblock = 'EB_PSI' + +name = 'PSI4' +version = '1.7' + +homepage = 'https://www.psicode.org/' +description = """PSI4 is an open-source suite of ab initio quantum chemistry programs designed for +efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform +computations with more than 2500 basis functions running serially or in parallel. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/psi4/psi4/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'PSI4-%(version)s_fix_cmake_release.patch', + 'PSI4-%(version)s_fix_snsmp2_version.patch', +] +checksums = [ + {'v1.7.tar.gz': '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366'}, + {'PSI4-1.7_fix_cmake_release.patch': 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08'}, + {'PSI4-1.7_fix_snsmp2_version.patch': '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('libxc', '5.1.6'), + ('CheMPS2', '1.8.11'), + ('networkx', '2.6.3'), + ('psutil', '5.9.4'), + ('pytest', '7.1.3'), + ('Boost', '1.77.0'), + ('PyYAML', '5.4.1'), +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Eigen', '3.4.0'), +] + +configopts = '-DENABLE_MPI=ON -DENABLE_PLUGINS=ON -DENABLE_XHOST=OFF ' +# Install python module to the standard location instead of lib +configopts += '-DPYMOD_INSTALL_LIBDIR=/python%(pyshortver)s/site-packages ' +# Add bundled (downloaded) packages +# -DENABLE_simint=ON does not work with intel/2018, so have to make with GCCcore +configopts += '-DENABLE_dkh=ON -DENABLE_gdma=ON -DENABLE_resp=ON -DENABLE_snsmp2=ON ' +# allow PSI4 to download and build a forked version of PCMSolver otherwise tests fail +configopts += '-DENABLE_PCMSolver=ON ' + +# runtest uses ctest, and some of the tests have to be manually compared +# to the reference output (those tests are marked failed) +# After installing PSI4, you can test the package using psi4 --test command. (This uses pytest framework) +# runtest = '-L smoke' +runtest = False + +exts_defaultclass = 'PythonPackage' +exts_filter = ("python -c 'import %(ext_name)s'", '') +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('typing_extensions', '4.5.0', { + 'checksums': ['5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb'], + }), + ('pydantic', '1.10.5', { + 'checksums': ['9e337ac83686645a46db0e825acceea8e02fca4062483f40e9ae178e8bd1103a'], + }), + ('Pint', '0.20.1', { + 'checksums': ['387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067'], + }), + ('msgpack-python', '0.5.6', { + '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'} + +sanity_check_commands = ["python -c 'import psi4'"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_cmake_release.patch b/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_cmake_release.patch new file mode 100644 index 00000000000..7c57b511a1b --- /dev/null +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_cmake_release.patch @@ -0,0 +1,109 @@ +remove CMAKE_BUILD_TYPE check (because it is set to EasyBuildRelease to avoid -O3 optimization flag) +original patch by B. Hajgato - (Free University Brussels - VUB) +ported to PSI4 1.3.1 by Kenneth Hoste (HPC-UGent) +ported to PSI4 1.7 by Neil Douglas (neil.douglas@york.ac.uk) +diff -ru psi4-1.7.orig/cmake/autocmake_safeguards.cmake psi4-1.7/cmake/autocmake_safeguards.cmake +--- psi4-1.7.orig/cmake/autocmake_safeguards.cmake 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/cmake/autocmake_safeguards.cmake 2019-05-17 19:51:47.000000000 +0200 +@@ -19,8 +19,8 @@ + string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_tolower) + string(TOUPPER "${CMAKE_BUILD_TYPE}" cmake_build_type_toupper) + +-if(NOT cmake_build_type_tolower STREQUAL "debug" AND +- NOT cmake_build_type_tolower STREQUAL "release" AND +- NOT cmake_build_type_tolower STREQUAL "relwithdebinfo") +- message(FATAL_ERROR "Unknown build type \"${CMAKE_BUILD_TYPE}\". Allowed values are Debug, Release, RelWithDebInfo (case-insensitive).") +-endif() ++#if(NOT cmake_build_type_tolower STREQUAL "debug" AND ++# NOT cmake_build_type_tolower STREQUAL "release" AND ++# NOT cmake_build_type_tolower STREQUAL "relwithdebinfo") ++# message(FATAL_ERROR "Unknown build type \"${CMAKE_BUILD_TYPE}\". Allowed values are Debug, Release, RelWithDebInfo (case-insensitive).") ++#endif() +diff -ru psi4-1.7.orig/external/upstream/dkh/CMakeLists.txt psi4-1.7/external/upstream/dkh/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/dkh/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/dkh/CMakeLists.txt 2019-05-17 19:55:10.000000000 +0200 +@@ -16,6 +16,7 @@ + GIT_REPOSITORY https://github.com/psi4/dkh + GIT_TAG v1.2 + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/dkh: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/dkh: CMakeLists.txt.rej +diff -ru psi4-1.7.orig/external/upstream/gau2grid/CMakeLists.txt psi4-1.7/external/upstream/gau2grid/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/gau2grid/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/gau2grid/CMakeLists.txt 2019-05-17 19:53:08.000000000 +0200 +@@ -16,6 +16,7 @@ + GIT_REPOSITORY https://github.com/dgasmith/gau2grid + GIT_TAG v1.3.1 + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/gau2grid: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/gau2grid: CMakeLists.txt.rej +diff -ru psi4-1.7.orig/external/upstream/gdma/CMakeLists.txt psi4-1.7/external/upstream/gdma/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/gdma/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/gdma/CMakeLists.txt 2019-05-17 19:55:48.000000000 +0200 +@@ -16,6 +16,7 @@ + GIT_REPOSITORY https://github.com/psi4/gdma + GIT_TAG 9d607d7 # v2.2.6-2-g9d607d7 + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/gdma: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/gdma: CMakeLists.txt.rej +diff -ru psi4-1.7.orig/external/upstream/libefp/CMakeLists.txt psi4-1.7/external/upstream/libefp/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/libefp/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/libefp/CMakeLists.txt 2019-05-17 19:55:38.000000000 +0200 +@@ -17,6 +17,7 @@ + GIT_REPOSITORY https://github.com/ilyak/libefp + GIT_TAG 15cd7ce # v1.5.0 + 10 (docs and a cmake lapack patch) + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/libefp: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/libefp: CMakeLists.txt.rej +diff -ru psi4-1.7.orig/external/upstream/libint/CMakeLists.txt psi4-1.7/external/upstream/libint/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/libint/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/libint/CMakeLists.txt 2019-05-17 19:54:22.000000000 +0200 +@@ -14,6 +14,7 @@ + ExternalProject_Add(libint_external + # "git checkout" fails on Windows, because of "*" in filenames (e.g. basis set files) + URL https://github.com/loriab/libint/archive/libint_t.tar.gz ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/libint: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/libint: CMakeLists.txt.rej +diff -ru psi4-1.7.orig/external/upstream/libxc/CMakeLists.txt psi4-1.7/external/upstream/libxc/CMakeLists.txt +--- psi4-1.7.orig/external/upstream/libxc/CMakeLists.txt 2019-04-12 19:25:25.000000000 +0200 ++++ psi4-1.7/external/upstream/libxc/CMakeLists.txt 2019-05-17 19:56:11.000000000 +0200 +@@ -15,6 +15,7 @@ + #GIT_REPOSITORY https://gitlab.com/libxc/libxc.git + #GIT_TAG 5.1.5 + #UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +Only in psi4-1.7/external/upstream/libxc: CMakeLists.txt.orig +Only in psi4-1.7/external/upstream/libxc: CMakeLists.txt.rej +--- psi4-1.7.orig/external/upstream/pcmsolver/CMakeLists.txt 2023-02-27 14:33:58.771017491 +0000 ++++ psi4-1.7/external/upstream/pcmsolver/CMakeLists.txt 2023-02-27 14:35:00.507500122 +0000 +@@ -24,6 +24,7 @@ + ExternalProject_Add(pcmsolver_external + #URL https://github.com/PCMSolver/pcmsolver/archive/v1.3.1.tar.gz + URL https://github.com/loriab/pcmsolver/archive/v1211.tar.gz ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/downloaded/autocmake_safeguards.cmake + UPDATE_COMMAND "" + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_snsmp2_version.patch b/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_snsmp2_version.patch new file mode 100644 index 00000000000..dd63fa064d7 --- /dev/null +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.7_fix_snsmp2_version.patch @@ -0,0 +1,15 @@ +Fixes build error 'Versioning for this project requires either an sdist tarball, or access to an upstream git repository' +--- psi4-1.7/external/downstream/snsmp2/CMakeLists.txt 2023-02-22 14:56:49.000000000 +0000 ++++ psi4-1.7/external/downstream/snsmp2/CMakeLists.txt 2023-02-22 15:00:11.000000000 +0000 +@@ -22,7 +22,7 @@ + URL https://github.com/DEShawResearch/sns-mp2/archive/12462c6.tar.gz # v1.0 + 26 + CONFIGURE_COMMAND "" + UPDATE_COMMAND "" +- BUILD_COMMAND ${Python_EXECUTABLE} setup.py build ++ BUILD_COMMAND PBR_VERSION=1.0 ${Python_EXECUTABLE} setup.py build + BUILD_IN_SOURCE 1 +- INSTALL_COMMAND ${Python_EXECUTABLE} setup.py install ++ INSTALL_COMMAND PBR_VERSION=1.0 ${Python_EXECUTABLE} setup.py install + --record=record.txt + --single-version-externally-managed + --install-lib=${STAGED_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}${PYMOD_INSTALL_LIBDIR}) diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1-foss-2023a.eb b/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1-foss-2023a.eb new file mode 100644 index 00000000000..771a55a0f20 --- /dev/null +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1-foss-2023a.eb @@ -0,0 +1,87 @@ +easyblock = 'EB_PSI' + +name = 'PSI4' +version = '1.9.1' + +homepage = 'https://www.psicode.org/' +description = """PSI4 is an open-source suite of ab initio quantum chemistry programs designed for +efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform +computations with more than 2500 basis functions running serially or in parallel. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/psi4/psi4/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'PSI4-%(version)s_fix_cmake_release.patch', + 'PSI4-1.7_fix_snsmp2_version.patch', +] +checksums = [ + {'v1.9.1.tar.gz': 'ccd69bdc1d8319470513b4d3c1e0d737fc7788a50d7e48f8db762a0fcf795dad'}, + {'PSI4-1.9.1_fix_cmake_release.patch': '8f2bb210508cbb78a258c8d85d10d456c61e0f828865f3efb8d3bac9184df24e'}, + {'PSI4-1.7_fix_snsmp2_version.patch': '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('libxc', '6.2.2'), + ('CheMPS2', '1.8.12'), + ('networkx', '3.1'), + ('pytest', '7.4.2'), + ('Boost', '1.82.0'), + ('PyYAML', '6.0'), + ('SciPy-bundle', '2023.07'), + ('Pint', '0.23'), + ('pydantic', '2.5.3'), + ('py-cpuinfo', '9.0.0'), +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + ('poetry', '1.7.1'), # for qcelemental +] + +configopts = '-DENABLE_MPI=ON -DENABLE_PLUGINS=ON -DENABLE_XHOST=OFF ' +# Install python module to the standard location instead of lib +configopts += '-DPYMOD_INSTALL_LIBDIR=/python%(pyshortver)s/site-packages ' +# Add bundled (downloaded) packages +# -DENABLE_simint=ON does not work with intel/2018, so have to make with GCCcore +configopts += '-DENABLE_dkh=ON -DENABLE_gdma=ON -DENABLE_resp=ON -DENABLE_snsmp2=ON ' +# allow PSI4 to download and build a forked version of PCMSolver otherwise tests fail +configopts += '-DENABLE_PCMSolver=ON ' + +# runtest uses ctest, and some of the tests have to be manually compared +# to the reference output (those tests are marked failed) +# After installing PSI4, you can test the package using psi4 --test command. (This uses pytest framework) +# runtest = '-L smoke' +runtest = False + +exts_defaultclass = 'PythonPackage' +exts_filter = ("python -s -c 'import %(ext_name)s'", '') +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('qcelemental', '0.28.0', { + 'checksums': ['da96fddb88c1701f812b25369a6a169d35f2d5446c37c62e86048cb0f1b168a2'], + }), + ('qcengine', '0.30.0', { + 'checksums': ['ba62d34dbcf487e8368f6c19762a19e1c5f06af7e705f6c583c0632b35bccf7d'], + }), + ('snsmp2', '1.0.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['acfc95f8eb40e18d9d0c737b42fc8dfa786c381a5510a3094772b82538d211ed'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_commands = ["python -s -c 'import psi4'"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1_fix_cmake_release.patch b/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1_fix_cmake_release.patch new file mode 100644 index 00000000000..7eea87a86e1 --- /dev/null +++ b/easybuild/easyconfigs/p/PSI4/PSI4-1.9.1_fix_cmake_release.patch @@ -0,0 +1,95 @@ +remove CMAKE_BUILD_TYPE check (because it is set to EasyBuildRelease to avoid -O3 optimization flag) +original patch by B. Hajgato - (Free University Brussels - VUB) +ported to PSI4 1.3.1 by Kenneth Hoste (HPC-UGent) +ported to PSI4 1.7 by Neil Douglas (neil.douglas@york.ac.uk) +ported to PSI4 1.9.1 by Samuel Moors (Vrije Universiteit Brussel) +diff -ur psi4-1.9.1.orig/cmake/autocmake_safeguards.cmake psi4-1.9.1/cmake/autocmake_safeguards.cmake +--- psi4-1.9.1.orig/cmake/autocmake_safeguards.cmake 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/cmake/autocmake_safeguards.cmake 2024-09-19 18:06:50.961414596 +0200 +@@ -19,9 +19,3 @@ + string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_tolower) + string(TOUPPER "${CMAKE_BUILD_TYPE}" cmake_build_type_toupper) + +-if(NOT cmake_build_type_tolower STREQUAL "debug" AND +- NOT cmake_build_type_tolower STREQUAL "release" AND +- NOT cmake_build_type_tolower STREQUAL "minsizerel" AND +- NOT cmake_build_type_tolower STREQUAL "relwithdebinfo") +- message(FATAL_ERROR "Unknown build type \"${CMAKE_BUILD_TYPE}\". Allowed values are Debug, Release, RelWithDebInfo, MinSizeRel (case-insensitive).") +-endif() +diff -ur psi4-1.9.1.orig/external/upstream/dkh/CMakeLists.txt psi4-1.9.1/external/upstream/dkh/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/dkh/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/dkh/CMakeLists.txt 2024-09-19 18:09:27.904110642 +0200 +@@ -24,6 +24,7 @@ + DEPENDS lapack_external + URL https://github.com/psi4/dkh/archive/3ba0128.tar.gz # v1.2 + cmake + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/gau2grid/CMakeLists.txt psi4-1.9.1/external/upstream/gau2grid/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/gau2grid/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/gau2grid/CMakeLists.txt 2024-09-19 19:00:53.785308308 +0200 +@@ -20,6 +20,7 @@ + DEPENDS pybind11_external + URL https://github.com/dgasmith/gau2grid/archive/v2.0.7.tar.gz + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/gdma/CMakeLists.txt psi4-1.9.1/external/upstream/gdma/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/gdma/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/gdma/CMakeLists.txt 2024-09-19 18:09:47.177430325 +0200 +@@ -24,6 +24,7 @@ + DEPENDS pybind11_external + URL https://github.com/psi4/gdma/archive/v2.3.3.tar.gz # Stone's upstream c2e0b548 plus commits from Andy Simmonett for lib, Holger Kruse for I/O, Lori Burns for CMake & Python + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/libefp/CMakeLists.txt psi4-1.9.1/external/upstream/libefp/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/libefp/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/libefp/CMakeLists.txt 2024-09-19 18:10:04.346993747 +0200 +@@ -21,6 +21,7 @@ + DEPENDS lapack_external + URL https://github.com/ilyak/libefp/archive/15cd7ce.tar.gz # v1.5.0 + 10 (docs and a cmake lapack patch) + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/libint/CMakeLists.txt psi4-1.9.1/external/upstream/libint/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/libint/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/libint/CMakeLists.txt 2024-09-19 18:10:45.532297897 +0200 +@@ -15,6 +15,7 @@ + ExternalProject_Add(libint_external + # "git checkout" fails on Windows, because of "*" in filenames (e.g. basis set files) + URL https://github.com/loriab/libint/archive/libint_t.tar.gz ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/libxc/CMakeLists.txt psi4-1.9.1/external/upstream/libxc/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/libxc/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/libxc/CMakeLists.txt 2024-09-19 18:11:17.460151143 +0200 +@@ -24,6 +24,7 @@ + #GIT_REPOSITORY https://gitlab.com/libxc/libxc.git + #GIT_TAG 5.1.5 + #UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} +diff -ur psi4-1.9.1.orig/external/upstream/pcmsolver/CMakeLists.txt psi4-1.9.1/external/upstream/pcmsolver/CMakeLists.txt +--- psi4-1.9.1.orig/external/upstream/pcmsolver/CMakeLists.txt 2024-02-08 22:08:35.000000000 +0100 ++++ psi4-1.9.1/external/upstream/pcmsolver/CMakeLists.txt 2024-09-19 20:53:02.637798342 +0200 +@@ -33,6 +33,7 @@ + #URL https://github.com/loriab/pcmsolver/archive/v1211.tar.gz + URL https://github.com/loriab/pcmsolver/archive/v123_plus_ming.tar.gz + UPDATE_COMMAND "" ++ PATCH_COMMAND sed -e "s/debug/easybuildrelease/" -i cmake/downloaded/autocmake_safeguards.cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} diff --git a/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb new file mode 100644 index 00000000000..9f9d2f1539f --- /dev/null +++ b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'PSIPRED' +version = '4.02' + +homepage = 'http://bioinf.cs.ucl.ac.uk' +description = 'Accurate protein secondary structure prediction' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['http://bioinfadmin.cs.ucl.ac.uk/downloads/psipred/'] +sources = ['%(namelower)s.%(version)s.tar.gz'] +patches = ['PSIPRED-4.02_fix_segfault.patch'] +checksums = [ + {'psipred.4.02.tar.gz': 'b4009b6a5f8b76c6d60ac91c4a743512d844864cf015c492fb6d1dc0d092c467'}, + {'PSIPRED-4.02_fix_segfault.patch': 'd9e52ecf43b04640ebd0693df37871659d598abaec7a2c66264e9a79ee1baa82'}, +] + +parallel = 1 +start_dir = 'src' +build_cmd_targets = 'all install' # install copies binaries to ../bin + +files_to_copy = ['bin', 'data', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/chkparse', 'bin/psipass2', 'bin/psipred', 'bin/seq2mtx'], + 'dirs': ['bin', 'data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-8.3.0.eb b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-8.3.0.eb new file mode 100644 index 00000000000..5a90644027a --- /dev/null +++ b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02-GCC-8.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'MakeCp' + +name = 'PSIPRED' +version = '4.02' + +homepage = 'http://bioinf.cs.ucl.ac.uk' +description = 'Accurate protein secondary structure prediction' + +toolchain = {'name': 'GCC', 'version': '8.3.0'} + +sources = ['%(namelower)s.%(version)s.tar.gz'] +source_urls = ['http://bioinfadmin.cs.ucl.ac.uk/downloads/psipred/'] + +patches = ['PSIPRED-4.02_fix_segfault.patch'] + +checksums = [ + 'b4009b6a5f8b76c6d60ac91c4a743512d844864cf015c492fb6d1dc0d092c467', # psipred.4.02.tar.gz + 'd9e52ecf43b04640ebd0693df37871659d598abaec7a2c66264e9a79ee1baa82', # PSIPRED-4.02_fix_segfault.patch +] + +parallel = 1 +start_dir = 'src' +build_cmd_targets = 'all install' # install copies binaries to ../bin + +files_to_copy = ['bin', 'data', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/chkparse', 'bin/psipass2', 'bin/psipred', 'bin/seq2mtx'], + 'dirs': ['bin', 'data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02_fix_segfault.patch b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02_fix_segfault.patch new file mode 100644 index 00000000000..0826c775f5d --- /dev/null +++ b/easybuild/easyconfigs/p/PSIPRED/PSIPRED-4.02_fix_segfault.patch @@ -0,0 +1,42 @@ +Fixes a segmentation fault for inputs with lines longer than 254 characters +author: Christoph Siegert (Leipzig University) + +diff --git a/src/sspred_avpred.c b/src/sspred_avpred.c +index a6af260..a68b653 100644 +--- a/src/sspred_avpred.c ++++ b/src/sspred_avpred.c +@@ -44,6 +44,8 @@ int seqlen; + + char seq[MAXSEQLEN]; + ++char buf[4096]; ++ + enum aacodes + { + ALA, ARG, ASN, ASP, CYS, +@@ -238,7 +240,6 @@ predict(int argc, char **argv) + int getmtx(FILE *lfil) + { + int aa, i, j, naa; +- char buf[256], *p; + + if (fscanf(lfil, "%d", &naa) != 1) + fail("Bad mtx file - no sequence length!"); +@@ -251,7 +252,7 @@ int getmtx(FILE *lfil) + + while (!feof(lfil)) + { +- if (!fgets(buf, 65536, lfil)) ++ if (!fgets(buf, sizeof(buf), lfil)) + fail("Bad mtx file!"); + if (!strncmp(buf, "-32768 ", 7)) + { +@@ -262,7 +263,7 @@ int getmtx(FILE *lfil) + aa = aanum(seq[j]); + if (aa < 20) + profile[j][aa] += 0000; +- if (!fgets(buf, 65536, lfil)) ++ if (!fgets(buf, sizeof(buf), lfil)) + break; + } + } diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch new file mode 100644 index 00000000000..b63fd7d1854 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-11.2.80_hfi-user.patch @@ -0,0 +1,982 @@ +Patch in rdma headers required to build PSM2 +diff -urN libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h +--- libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_ioctl.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/hfi/hfi1_ioctl.h 2019-02-27 21:28:05.000000000 +0000 +@@ -0,0 +1,283 @@ ++/* ++ * ++ * This file is provided under a dual BSD/GPLv2 license. When using or ++ * redistributing this file, you may do so under either license. ++ * ++ * GPL LICENSE SUMMARY ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of version 2 of the GNU General Public License as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * BSD LICENSE ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * - Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * - Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * - Neither the name of Intel Corporation nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ */ ++ ++#ifndef _LINUX__HFI1_IOCTL_H ++#define _LINUX__HFI1_IOCTL_H ++#include ++ ++/* ++ * This structure is passed to the driver to tell it where ++ * user code buffers are, sizes, etc. The offsets and sizes of the ++ * fields must remain unchanged, for binary compatibility. It can ++ * be extended, if userversion is changed so user code can tell, if needed ++ */ ++struct hfi1_user_info { ++ /* ++ * version of user software, to detect compatibility issues. ++ * Should be set to HFI1_USER_SWVERSION. ++ */ ++ __u32 userversion; ++ __u32 pad; ++ /* ++ * If two or more processes wish to share a context, each process ++ * must set the subcontext_cnt and subcontext_id to the same ++ * values. The only restriction on the subcontext_id is that ++ * it be unique for a given node. ++ */ ++ __u16 subctxt_cnt; ++ __u16 subctxt_id; ++ /* 128bit UUID passed in by PSM. */ ++ __u8 uuid[16]; ++}; ++ ++struct hfi1_ctxt_info { ++ __u64 runtime_flags; /* chip/drv runtime flags (HFI1_CAP_*) */ ++ __u32 rcvegr_size; /* size of each eager buffer */ ++ __u16 num_active; /* number of active units */ ++ __u16 unit; /* unit (chip) assigned to caller */ ++ __u16 ctxt; /* ctxt on unit assigned to caller */ ++ __u16 subctxt; /* subctxt on unit assigned to caller */ ++ __u16 rcvtids; /* number of Rcv TIDs for this context */ ++ __u16 credits; /* number of PIO credits for this context */ ++ __u16 numa_node; /* NUMA node of the assigned device */ ++ __u16 rec_cpu; /* cpu # for affinity (0xffff if none) */ ++ __u16 send_ctxt; /* send context in use by this user context */ ++ __u16 egrtids; /* number of RcvArray entries for Eager Rcvs */ ++ __u16 rcvhdrq_cnt; /* number of RcvHdrQ entries */ ++ __u16 rcvhdrq_entsize; /* size (in bytes) for each RcvHdrQ entry */ ++ __u16 sdma_ring_size; /* number of entries in SDMA request ring */ ++}; ++ ++struct hfi1_tid_info { ++ /* virtual address of first page in transfer */ ++ __u64 vaddr; ++ /* pointer to tid array. this array is big enough */ ++ __u64 tidlist; ++ /* number of tids programmed by this request */ ++ __u32 tidcnt; ++ /* length of transfer buffer programmed by this request */ ++ __u32 length; ++}; ++ ++#ifdef NVIDIA_GPU_DIRECT ++/* ++ * struct hfi1_tid_info_v2 is a copy of struct hfi1_tid_info plus a flags field ++ * added at the end of the structure. A new structure is defined instead of ++ * adding the flags field to struct hfi1_tid_info to prevent changing the IOCTL ++ * command number and maintain backwards compatibility with older PSM versions. ++ */ ++struct hfi1_tid_info_v2 { ++ /* virtual address of first page in transfer */ ++ __u64 vaddr; ++ /* pointer to tid array. this array is big enough */ ++ __u64 tidlist; ++ /* number of tids programmed by this request */ ++ __u32 tidcnt; ++ /* length of transfer buffer programmed by this request */ ++ __u32 length; ++ /* Buffer flags. See HFI1_BUF_* */ ++ __u16 flags; ++}; ++#endif ++ ++/* ++ * This structure is returned by the driver immediately after ++ * open to get implementation-specific info, and info specific to this ++ * instance. ++ * ++ * This struct must have explicit pad fields where type sizes ++ * may result in different alignments between 32 and 64 bit ++ * programs, since the 64 bit * bit kernel requires the user code ++ * to have matching offsets ++ */ ++struct hfi1_base_info { ++ /* version of hardware, for feature checking. */ ++ __u32 hw_version; ++ /* version of software, for feature checking. */ ++ __u32 sw_version; ++ /* Job key */ ++ __u16 jkey; ++ __u16 padding1; ++ /* ++ * The special QP (queue pair) value that identifies PSM ++ * protocol packet from standard IB packets. ++ */ ++ __u32 bthqp; ++ /* PIO credit return address, */ ++ __u64 sc_credits_addr; ++ /* ++ * Base address of write-only pio buffers for this process. ++ * Each buffer has sendpio_credits*64 bytes. ++ */ ++ __u64 pio_bufbase_sop; ++ /* ++ * Base address of write-only pio buffers for this process. ++ * Each buffer has sendpio_credits*64 bytes. ++ */ ++ __u64 pio_bufbase; ++ /* address where receive buffer queue is mapped into */ ++ __u64 rcvhdr_bufbase; ++ /* base address of Eager receive buffers. */ ++ __u64 rcvegr_bufbase; ++ /* base address of SDMA completion ring */ ++ __u64 sdma_comp_bufbase; ++ /* ++ * User register base for init code, not to be used directly by ++ * protocol or applications. Always maps real chip register space. ++ * the register addresses are: ++ * ur_rcvhdrhead, ur_rcvhdrtail, ur_rcvegrhead, ur_rcvegrtail, ++ * ur_rcvtidflow ++ */ ++ __u64 user_regbase; ++ /* notification events */ ++ __u64 events_bufbase; ++ /* status page */ ++ __u64 status_bufbase; ++ /* rcvhdrtail update */ ++ __u64 rcvhdrtail_base; ++ /* ++ * shared memory pages for subctxts if ctxt is shared; these cover ++ * all the processes in the group sharing a single context. ++ * all have enough space for the num_subcontexts value on this job. ++ */ ++ __u64 subctxt_uregbase; ++ __u64 subctxt_rcvegrbuf; ++ __u64 subctxt_rcvhdrbuf; ++}; ++ ++#ifdef NVIDIA_GPU_DIRECT ++ ++/* ++ * Use this for the version field in all the GDR related ioctl parameter ++ * structures. We are starting with version 1. ++ */ ++#define HFI1_GDR_VERSION 0x1UL ++ ++/** ++ * struct hfi1_sdma_gpu_cache_evict_params - arguments for sdma cache evict ++ * @evict_params_in: Values passed into the ioctl ++ * @version: The version number for this ioctl. ++ * @pages_to_evict: The number of GPU pages we want evicted from this cache. ++ * @evict_params_out: Values returned from the ioctl ++ * @pages_evicted: The number of GPU pages that were actually evicted. ++ * @pages_in_cache: The number of GPU pages resident in this cache. ++ */ ++struct hfi1_sdma_gpu_cache_evict_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 pages_to_evict; ++ } evict_params_in; ++ struct { ++ __u32 pages_evicted; ++ __u32 pages_in_cache; ++ } evict_params_out; ++ }; ++}; ++ ++/** ++ * struct hfi1_gdr_query_parms - argument for gdr driver ioctl command ++ * @query_parms_in: Union member containing values passed into the ioctl() ++ * @version: A way to pass in a version number for this interface. ++ * @gpu_buf_addr: The starting address of a gpu buffer to be operated upon ++ * @gpu_buf_size: The size of a gpu buffer to be operated upon ++ * @query_params_out: Union member containig values pass back from ioctl() ++ * @host_buf_addr: the host address of a pinned and mmaped gpu buffer. ++ * ++ * This structure is associated with the gdr_ops driver's ioctl commands; ++ * ++ * HFI1_IOCTL_GDR_GPU_PIN_MMAP ++ * HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN ++ * ++ * It is used to pass in GPU buffer descriptors into the hfi_ops ++ * driver. ++ * ++ * The driver will reject any gpu buffer address or gpu buffer size that ++ * is NOT rounded to GPU buffer boundaries. GPU buffer addresses must ++ * start on a NV_GPU_PAGE_SIZE boundary, and a multiple of NV_GPU_PAGE_SIZE ++ * in length. ++ * ++ */ ++struct hfi1_gdr_query_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 gpu_buf_size; ++ __u64 gpu_buf_addr; ++ } query_params_in; ++ struct { ++ __u64 host_buf_addr; ++ } query_params_out; ++ }; ++}; ++ ++/** ++ * struct hfi1_gdr_cache_evict_params - arguments for GDR cache evict ioctl ++ * @version: The version number for this ioctl. ++ * @evict_params_in: Values passed into the ioctl ++ * @pages_to_evict: The number of GPU pages we want evicted from this cache. ++ * @evict_params_out: Values returned from the ioctl ++ * @pages_evicted: The number of GPU pages that were actually evicted. ++ * @pages_in_cache: The number of GPU pages resident in this cache. ++ */ ++struct hfi1_gdr_cache_evict_params { ++ union { ++ struct { ++ __u32 version; ++ __u32 pages_to_evict; ++ } evict_params_in; ++ struct { ++ __u32 pages_evicted; ++ __u32 pages_in_cache; ++ } evict_params_out; ++ }; ++}; ++#endif ++#endif /* _LINIUX__HFI1_IOCTL_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_user.h libpsm2-11.2.80/include/rdma/hfi/hfi1_user.h +--- libpsm2-11.2.80.orig/include/rdma/hfi/hfi1_user.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/hfi/hfi1_user.h 2019-02-27 21:28:05.000000000 +0000 +@@ -0,0 +1,287 @@ ++/* ++ * ++ * This file is provided under a dual BSD/GPLv2 license. When using or ++ * redistributing this file, you may do so under either license. ++ * ++ * GPL LICENSE SUMMARY ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of version 2 of the GNU General Public License as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * BSD LICENSE ++ * ++ * Copyright(c) 2015 Intel Corporation. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * ++ * - Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * - Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in ++ * the documentation and/or other materials provided with the ++ * distribution. ++ * - Neither the name of Intel Corporation nor the names of its ++ * contributors may be used to endorse or promote products derived ++ * from this software without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ */ ++ ++/* ++ * This file contains defines, structures, etc. that are used ++ * to communicate between kernel and user code. ++ */ ++ ++#ifndef _LINUX__HFI1_USER_H ++#define _LINUX__HFI1_USER_H ++ ++#include ++#include ++ ++/* ++ * This version number is given to the driver by the user code during ++ * initialization in the spu_userversion field of hfi1_user_info, so ++ * the driver can check for compatibility with user code. ++ * ++ * The major version changes when data structures change in an incompatible ++ * way. The driver must be the same for initialization to succeed. ++ */ ++#define HFI1_USER_SWMAJOR 6 ++ ++/* ++ * Minor version differences are always compatible ++ * a within a major version, however if user software is larger ++ * than driver software, some new features and/or structure fields ++ * may not be implemented; the user code must deal with this if it ++ * cares, or it must abort after initialization reports the difference. ++ */ ++#define HFI1_USER_SWMINOR 3 ++ ++/* ++ * We will encode the major/minor inside a single 32bit version number. ++ */ ++#define HFI1_SWMAJOR_SHIFT 16 ++ ++/* ++ * Set of HW and driver capability/feature bits. ++ * These bit values are used to configure enabled/disabled HW and ++ * driver features. The same set of bits are communicated to user ++ * space. ++ */ ++#define HFI1_CAP_DMA_RTAIL (1UL << 0) /* Use DMA'ed RTail value */ ++#define HFI1_CAP_SDMA (1UL << 1) /* Enable SDMA support */ ++#define HFI1_CAP_SDMA_AHG (1UL << 2) /* Enable SDMA AHG support */ ++#define HFI1_CAP_EXTENDED_PSN (1UL << 3) /* Enable Extended PSN support */ ++#define HFI1_CAP_HDRSUPP (1UL << 4) /* Enable Header Suppression */ ++#define HFI1_CAP_TID_RDMA (1UL << 5) /* Enable TID RDMA operations */ ++#define HFI1_CAP_USE_SDMA_HEAD (1UL << 6) /* DMA Hdr Q tail vs. use CSR */ ++#define HFI1_CAP_MULTI_PKT_EGR (1UL << 7) /* Enable multi-packet Egr buffs*/ ++#define HFI1_CAP_NODROP_RHQ_FULL (1UL << 8) /* Don't drop on Hdr Q full */ ++#define HFI1_CAP_NODROP_EGR_FULL (1UL << 9) /* Don't drop on EGR buffs full */ ++#define HFI1_CAP_TID_UNMAP (1UL << 10) /* Disable Expected TID caching */ ++#define HFI1_CAP_PRINT_UNIMPL (1UL << 11) /* Show for unimplemented feats */ ++#define HFI1_CAP_ALLOW_PERM_JKEY (1UL << 12) /* Allow use of permissive JKEY */ ++#define HFI1_CAP_NO_INTEGRITY (1UL << 13) /* Enable ctxt integrity checks */ ++#define HFI1_CAP_PKEY_CHECK (1UL << 14) /* Enable ctxt PKey checking */ ++#define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) /* Allow PBC.StaticRateControl */ ++#define HFI1_CAP_OPFN (1UL << 16) /* Enable the OPFN protocol */ ++#define HFI1_CAP_SDMA_HEAD_CHECK (1UL << 17) /* SDMA head checking */ ++#define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) /* early credit return */ ++ ++#ifdef NVIDIA_GPU_DIRECT ++/* ++ * Bit-63 is being used instead of the LSB that is available since ++ * HFI1_CAP_GPUDIRECT_OT will only be used in an out of tree driver. ++ */ ++#define HFI1_CAP_GPUDIRECT_OT (1UL << 63) /* GPU Direct RDMA support */ ++#endif ++ ++#define HFI1_RCVHDR_ENTSIZE_2 (1UL << 0) ++#define HFI1_RCVHDR_ENTSIZE_16 (1UL << 1) ++#define HFI1_RCVDHR_ENTSIZE_32 (1UL << 2) ++ ++#define _HFI1_EVENT_FROZEN_BIT 0 ++#define _HFI1_EVENT_LINKDOWN_BIT 1 ++#define _HFI1_EVENT_LID_CHANGE_BIT 2 ++#define _HFI1_EVENT_LMC_CHANGE_BIT 3 ++#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4 ++#define _HFI1_EVENT_TID_MMU_NOTIFY_BIT 5 ++#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_TID_MMU_NOTIFY_BIT ++ ++#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT) ++#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT) ++#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT) ++#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT) ++#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT) ++#define HFI1_EVENT_TID_MMU_NOTIFY (1UL << _HFI1_EVENT_TID_MMU_NOTIFY_BIT) ++ ++#ifdef NVIDIA_GPU_DIRECT ++#define HFI1_BUF_GPU_MEM_BIT 0 ++#define HFI1_BUF_GPU_MEM (1UL << HFI1_BUF_GPU_MEM_BIT) ++#endif ++ ++/* ++ * These are the status bits readable (in ASCII form, 64bit value) ++ * from the "status" sysfs file. For binary compatibility, values ++ * must remain as is; removed states can be reused for different ++ * purposes. ++ */ ++#define HFI1_STATUS_INITTED 0x1 /* basic initialization done */ ++/* Chip has been found and initialized */ ++#define HFI1_STATUS_CHIP_PRESENT 0x20 ++/* IB link is at ACTIVE, usable for data traffic */ ++#define HFI1_STATUS_IB_READY 0x40 ++/* link is configured, LID, MTU, etc. have been set */ ++#define HFI1_STATUS_IB_CONF 0x80 ++/* A Fatal hardware error has occurred. */ ++#define HFI1_STATUS_HWERROR 0x200 ++ ++/* ++ * Number of supported shared contexts. ++ * This is the maximum number of software contexts that can share ++ * a hardware send/receive context. ++ */ ++#define HFI1_MAX_SHARED_CTXTS 8 ++ ++/* ++ * Poll types ++ */ ++#define HFI1_POLL_TYPE_ANYRCV 0x0 ++#define HFI1_POLL_TYPE_URGENT 0x1 ++ ++enum hfi1_sdma_comp_state { ++ FREE = 0, ++ QUEUED, ++ COMPLETE, ++ ERROR ++}; ++ ++/* ++ * SDMA completion ring entry ++ */ ++struct hfi1_sdma_comp_entry { ++ __u32 status; ++ __u32 errcode; ++}; ++ ++/* ++ * Device status and notifications from driver to user-space. ++ */ ++struct hfi1_status { ++ __u64 dev; /* device/hw status bits */ ++ __u64 port; /* port state and status bits */ ++ char freezemsg[0]; ++}; ++ ++enum sdma_req_opcode { ++ EXPECTED = 0, ++ EAGER ++}; ++ ++#define HFI1_SDMA_REQ_VERSION_MASK 0xF ++#define HFI1_SDMA_REQ_VERSION_SHIFT 0x0 ++#define HFI1_SDMA_REQ_OPCODE_MASK 0xF ++#define HFI1_SDMA_REQ_OPCODE_SHIFT 0x4 ++#define HFI1_SDMA_REQ_IOVCNT_MASK 0xFF ++#define HFI1_SDMA_REQ_IOVCNT_SHIFT 0x8 ++ ++struct sdma_req_info { ++ /* ++ * bits 0-3 - version (currently used only for GPU direct) ++ * 1 - user space is NOT using flags field ++ * 2 - user space is using flags field ++ * bits 4-7 - opcode (enum sdma_req_opcode) ++ * bits 8-15 - io vector count ++ */ ++ __u16 ctrl; ++ /* ++ * Number of fragments contained in this request. ++ * User-space has already computed how many ++ * fragment-sized packet the user buffer will be ++ * split into. ++ */ ++ __u16 npkts; ++ /* ++ * Size of each fragment the user buffer will be ++ * split into. ++ */ ++ __u16 fragsize; ++ /* ++ * Index of the slot in the SDMA completion ring ++ * this request should be using. User-space is ++ * in charge of managing its own ring. ++ */ ++ __u16 comp_idx; ++#ifdef NVIDIA_GPU_DIRECT ++ /* ++ * Buffer flags for this request. See HFI1_BUF_* ++ */ ++ __u16 flags; ++#endif ++} __attribute__((packed)); ++ ++/* ++ * SW KDETH header. ++ * swdata is SW defined portion. ++ */ ++struct hfi1_kdeth_header { ++ __le32 ver_tid_offset; ++ __le16 jkey; ++ __le16 hcrc; ++ __le32 swdata[7]; ++} __attribute__((packed)); ++ ++/* ++ * Structure describing the headers that User space uses. The ++ * structure above is a subset of this one. ++ */ ++struct hfi1_pkt_header { ++ __le16 pbc[4]; ++ __be16 lrh[4]; ++ __be32 bth[3]; ++ struct hfi1_kdeth_header kdeth; ++} __attribute__((packed)); ++ ++ ++/* ++ * The list of usermode accessible registers. ++ */ ++enum hfi1_ureg { ++ /* (RO) DMA RcvHdr to be used next. */ ++ ur_rcvhdrtail = 0, ++ /* (RW) RcvHdr entry to be processed next by host. */ ++ ur_rcvhdrhead = 1, ++ /* (RO) Index of next Eager index to use. */ ++ ur_rcvegrindextail = 2, ++ /* (RW) Eager TID to be processed next */ ++ ur_rcvegrindexhead = 3, ++ /* (RO) Receive Eager Offset Tail */ ++ ur_rcvegroffsettail = 4, ++ /* For internal use only; max register number. */ ++ ur_maxreg, ++ /* (RW) Receive TID flow table */ ++ ur_rcvtidflowtable = 256 ++}; ++ ++#endif /* _LINIUX__HFI1_USER_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/ib_user_mad.h libpsm2-11.2.80/include/rdma/ib_user_mad.h +--- libpsm2-11.2.80.orig/include/rdma/ib_user_mad.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/ib_user_mad.h 2019-02-01 15:04:28.000000000 +0000 +@@ -0,0 +1,233 @@ ++/* ++ * Copyright (c) 2004 Topspin Communications. All rights reserved. ++ * Copyright (c) 2005 Voltaire, Inc. All rights reserved. ++ * ++ * This software is available to you under a choice of one of two ++ * licenses. You may choose to be licensed under the terms of the GNU ++ * General Public License (GPL) Version 2, available from the file ++ * COPYING in the main directory of this source tree, or the ++ * OpenIB.org BSD license below: ++ * ++ * Redistribution and use in source and binary forms, with or ++ * without modification, are permitted provided that the following ++ * conditions are met: ++ * ++ * - Redistributions of source code must retain the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer. ++ * ++ * - Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++#ifndef IB_USER_MAD_H ++#define IB_USER_MAD_H ++ ++#include ++#include ++ ++/* ++ * Increment this value if any changes that break userspace ABI ++ * compatibility are made. ++ */ ++#define IB_USER_MAD_ABI_VERSION 5 ++ ++/* ++ * Make sure that all structs defined in this file remain laid out so ++ * that they pack the same way on 32-bit and 64-bit architectures (to ++ * avoid incompatibility between 32-bit userspace and 64-bit kernels). ++ */ ++ ++/** ++ * ib_user_mad_hdr_old - Old version of MAD packet header without pkey_index ++ * @id - ID of agent MAD received with/to be sent with ++ * @status - 0 on successful receive, ETIMEDOUT if no response ++ * received (transaction ID in data[] will be set to TID of original ++ * request) (ignored on send) ++ * @timeout_ms - Milliseconds to wait for response (unset on receive) ++ * @retries - Number of automatic retries to attempt ++ * @qpn - Remote QP number received from/to be sent to ++ * @qkey - Remote Q_Key to be sent with (unset on receive) ++ * @lid - Remote lid received from/to be sent to ++ * @sl - Service level received with/to be sent with ++ * @path_bits - Local path bits received with/to be sent with ++ * @grh_present - If set, GRH was received/should be sent ++ * @gid_index - Local GID index to send with (unset on receive) ++ * @hop_limit - Hop limit in GRH ++ * @traffic_class - Traffic class in GRH ++ * @gid - Remote GID in GRH ++ * @flow_label - Flow label in GRH ++ */ ++struct ib_user_mad_hdr_old { ++ __u32 id; ++ __u32 status; ++ __u32 timeout_ms; ++ __u32 retries; ++ __u32 length; ++ __be32 qpn; ++ __be32 qkey; ++ __be16 lid; ++ __u8 sl; ++ __u8 path_bits; ++ __u8 grh_present; ++ __u8 gid_index; ++ __u8 hop_limit; ++ __u8 traffic_class; ++ __u8 gid[16]; ++ __be32 flow_label; ++}; ++ ++/** ++ * ib_user_mad_hdr - MAD packet header ++ * This layout allows specifying/receiving the P_Key index. To use ++ * this capability, an application must call the ++ * IB_USER_MAD_ENABLE_PKEY ioctl on the user MAD file handle before ++ * any other actions with the file handle. ++ * @id - ID of agent MAD received with/to be sent with ++ * @status - 0 on successful receive, ETIMEDOUT if no response ++ * received (transaction ID in data[] will be set to TID of original ++ * request) (ignored on send) ++ * @timeout_ms - Milliseconds to wait for response (unset on receive) ++ * @retries - Number of automatic retries to attempt ++ * @qpn - Remote QP number received from/to be sent to ++ * @qkey - Remote Q_Key to be sent with (unset on receive) ++ * @lid - Remote lid received from/to be sent to ++ * @sl - Service level received with/to be sent with ++ * @path_bits - Local path bits received with/to be sent with ++ * @grh_present - If set, GRH was received/should be sent ++ * @gid_index - Local GID index to send with (unset on receive) ++ * @hop_limit - Hop limit in GRH ++ * @traffic_class - Traffic class in GRH ++ * @gid - Remote GID in GRH ++ * @flow_label - Flow label in GRH ++ * @pkey_index - P_Key index ++ */ ++struct ib_user_mad_hdr { ++ __u32 id; ++ __u32 status; ++ __u32 timeout_ms; ++ __u32 retries; ++ __u32 length; ++ __be32 qpn; ++ __be32 qkey; ++ __be16 lid; ++ __u8 sl; ++ __u8 path_bits; ++ __u8 grh_present; ++ __u8 gid_index; ++ __u8 hop_limit; ++ __u8 traffic_class; ++ __u8 gid[16]; ++ __be32 flow_label; ++ __u16 pkey_index; ++ __u8 reserved[6]; ++}; ++ ++/** ++ * ib_user_mad - MAD packet ++ * @hdr - MAD packet header ++ * @data - Contents of MAD ++ * ++ */ ++struct ib_user_mad { ++ struct ib_user_mad_hdr hdr; ++ __aligned_u64 data[0]; ++}; ++ ++/* ++ * Earlier versions of this interface definition declared the ++ * method_mask[] member as an array of __u32 but treated it as a ++ * bitmap made up of longs in the kernel. This ambiguity meant that ++ * 32-bit big-endian applications that can run on both 32-bit and ++ * 64-bit kernels had no consistent ABI to rely on, and 64-bit ++ * big-endian applications that treated method_mask as being made up ++ * of 32-bit words would have their bitmap misinterpreted. ++ * ++ * To clear up this confusion, we change the declaration of ++ * method_mask[] to use unsigned long and handle the conversion from ++ * 32-bit userspace to 64-bit kernel for big-endian systems in the ++ * compat_ioctl method. Unfortunately, to keep the structure layout ++ * the same, we need the method_mask[] array to be aligned only to 4 ++ * bytes even when long is 64 bits, which forces us into this ugly ++ * typedef. ++ */ ++typedef unsigned long __attribute__((aligned(4))) packed_ulong; ++#define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long))) ++ ++/** ++ * ib_user_mad_reg_req - MAD registration request ++ * @id - Set by the kernel; used to identify agent in future requests. ++ * @qpn - Queue pair number; must be 0 or 1. ++ * @method_mask - The caller will receive unsolicited MADs for any method ++ * where @method_mask = 1. ++ * @mgmt_class - Indicates which management class of MADs should be receive ++ * by the caller. This field is only required if the user wishes to ++ * receive unsolicited MADs, otherwise it should be 0. ++ * @mgmt_class_version - Indicates which version of MADs for the given ++ * management class to receive. ++ * @oui: Indicates IEEE OUI when mgmt_class is a vendor class ++ * in the range from 0x30 to 0x4f. Otherwise not used. ++ * @rmpp_version: If set, indicates the RMPP version used. ++ * ++ */ ++struct ib_user_mad_reg_req { ++ __u32 id; ++ packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK]; ++ __u8 qpn; ++ __u8 mgmt_class; ++ __u8 mgmt_class_version; ++ __u8 oui[3]; ++ __u8 rmpp_version; ++}; ++ ++/** ++ * ib_user_mad_reg_req2 - MAD registration request ++ * ++ * @id - Set by the _kernel_; used by userspace to identify the ++ * registered agent in future requests. ++ * @qpn - Queue pair number; must be 0 or 1. ++ * @mgmt_class - Indicates which management class of MADs should be ++ * receive by the caller. This field is only required if ++ * the user wishes to receive unsolicited MADs, otherwise ++ * it should be 0. ++ * @mgmt_class_version - Indicates which version of MADs for the given ++ * management class to receive. ++ * @res - Ignored. ++ * @flags - additional registration flags; Must be in the set of ++ * flags defined in IB_USER_MAD_REG_FLAGS_CAP ++ * @method_mask - The caller wishes to receive unsolicited MADs for the ++ * methods whose bit(s) is(are) set. ++ * @oui - Indicates IEEE OUI to use when mgmt_class is a vendor ++ * class in the range from 0x30 to 0x4f. Otherwise not ++ * used. ++ * @rmpp_version - If set, indicates the RMPP version to use. ++ */ ++enum { ++ IB_USER_MAD_USER_RMPP = (1 << 0), ++}; ++#define IB_USER_MAD_REG_FLAGS_CAP (IB_USER_MAD_USER_RMPP) ++struct ib_user_mad_reg_req2 { ++ __u32 id; ++ __u32 qpn; ++ __u8 mgmt_class; ++ __u8 mgmt_class_version; ++ __u16 res; ++ __u32 flags; ++ __aligned_u64 method_mask[2]; ++ __u32 oui; ++ __u8 rmpp_version; ++ __u8 reserved[3]; ++}; ++ ++#endif /* IB_USER_MAD_H */ +diff -urN libpsm2-11.2.80.orig/include/rdma/rdma_user_ioctl.h libpsm2-11.2.80/include/rdma/rdma_user_ioctl.h +--- libpsm2-11.2.80.orig/include/rdma/rdma_user_ioctl.h 1970-01-01 00:00:00.000000000 +0000 ++++ libpsm2-11.2.80/include/rdma/rdma_user_ioctl.h 2018-08-23 03:06:42.000000000 +0000 +@@ -0,0 +1,162 @@ ++/* ++ * Copyright (c) 2016 Mellanox Technologies, LTD. All rights reserved. ++ * ++ * This software is available to you under a choice of one of two ++ * licenses. You may choose to be licensed under the terms of the GNU ++ * General Public License (GPL) Version 2, available from the file ++ * COPYING in the main directory of this source tree, or the ++ * OpenIB.org BSD license below: ++ * ++ * Redistribution and use in source and binary forms, with or ++ * without modification, are permitted provided that the following ++ * conditions are met: ++ * ++ * - Redistributions of source code must retain the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer. ++ * ++ * - Redistributions in binary form must reproduce the above ++ * copyright notice, this list of conditions and the following ++ * disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ * SOFTWARE. ++ */ ++ ++#ifndef RDMA_USER_IOCTL_H ++#define RDMA_USER_IOCTL_H ++ ++#include ++#include ++#include ++#include ++ ++/* Documentation/ioctl/ioctl-number.txt */ ++#define RDMA_IOCTL_MAGIC 0x1b ++/* Legacy name, for user space application which already use it */ ++#ifndef IB_IOCTL_MAGIC ++#define IB_IOCTL_MAGIC RDMA_IOCTL_MAGIC ++#endif ++ ++#define RDMA_VERBS_IOCTL \ ++ _IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr) ++ ++#define UVERBS_ID_NS_MASK 0xF000 ++#define UVERBS_ID_NS_SHIFT 12 ++ ++enum { ++ /* User input */ ++ UVERBS_ATTR_F_MANDATORY = 1U << 0, ++ /* ++ * Valid output bit should be ignored and considered set in ++ * mandatory fields. This bit is kernel output. ++ */ ++ UVERBS_ATTR_F_VALID_OUTPUT = 1U << 1, ++}; ++ ++struct ib_uverbs_attr { ++ __u16 attr_id; /* command specific type attribute */ ++ __u16 len; /* only for pointers */ ++ __u16 flags; /* combination of UVERBS_ATTR_F_XXXX */ ++ __u16 reserved; ++ __u64 data; /* ptr to command, inline data or idr/fd */ ++}; ++ ++struct ib_uverbs_ioctl_hdr { ++ __u16 length; ++ __u16 object_id; ++ __u16 method_id; ++ __u16 num_attrs; ++ __u64 reserved; ++ struct ib_uverbs_attr attrs[0]; ++}; ++ ++/* ++ * General blocks assignments ++ * It is closed on purpose do not expose it it user space ++ * #define MAD_CMD_BASE 0x00 ++ * #define HFI1_CMD_BAS 0xE0 ++ */ ++ ++/* MAD specific section */ ++#ifndef IB_USER_MAD_REGISTER_AGENT ++#define IB_USER_MAD_REGISTER_AGENT _IOWR(RDMA_IOCTL_MAGIC, 0x01, struct ib_user_mad_reg_req) ++#endif ++#ifndef IB_USER_MAD_UNREGISTER_AGENT ++#define IB_USER_MAD_UNREGISTER_AGENT _IOW(RDMA_IOCTL_MAGIC, 0x02, __u32) ++#endif ++#ifndef IB_USER_MAD_ENABLE_PKEY ++#define IB_USER_MAD_ENABLE_PKEY _IO(RDMA_IOCTL_MAGIC, 0x03) ++#endif ++#ifndef IB_USER_MAD_REGISTER_AGENT2 ++#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(RDMA_IOCTL_MAGIC, 0x04, struct ib_user_mad_reg_req2) ++#endif ++ ++/* HFI specific section */ ++/* allocate HFI and context */ ++#define HFI1_IOCTL_ASSIGN_CTXT _IOWR(RDMA_IOCTL_MAGIC, 0xE1, struct hfi1_user_info) ++/* find out what resources we got */ ++#define HFI1_IOCTL_CTXT_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE2, struct hfi1_ctxt_info) ++/* set up userspace */ ++#define HFI1_IOCTL_USER_INFO _IOW(RDMA_IOCTL_MAGIC, 0xE3, struct hfi1_base_info) ++/* update expected TID entries */ ++#define HFI1_IOCTL_TID_UPDATE _IOWR(RDMA_IOCTL_MAGIC, 0xE4, struct hfi1_tid_info) ++/* free expected TID entries */ ++#define HFI1_IOCTL_TID_FREE _IOWR(RDMA_IOCTL_MAGIC, 0xE5, struct hfi1_tid_info) ++/* force an update of PIO credit */ ++#define HFI1_IOCTL_CREDIT_UPD _IO(RDMA_IOCTL_MAGIC, 0xE6) ++/* control receipt of packets */ ++#define HFI1_IOCTL_RECV_CTRL _IOW(RDMA_IOCTL_MAGIC, 0xE8, int) ++/* set the kind of polling we want */ ++#define HFI1_IOCTL_POLL_TYPE _IOW(RDMA_IOCTL_MAGIC, 0xE9, int) ++/* ack & clear user status bits */ ++#define HFI1_IOCTL_ACK_EVENT _IOW(RDMA_IOCTL_MAGIC, 0xEA, unsigned long) ++/* set context's pkey */ ++#define HFI1_IOCTL_SET_PKEY _IOW(RDMA_IOCTL_MAGIC, 0xEB, __u16) ++/* reset context's HW send context */ ++#define HFI1_IOCTL_CTXT_RESET _IO(RDMA_IOCTL_MAGIC, 0xEC) ++/* read TID cache invalidations */ ++#define HFI1_IOCTL_TID_INVAL_READ _IOWR(RDMA_IOCTL_MAGIC, 0xED, struct hfi1_tid_info) ++/* get the version of the user cdev */ ++#define HFI1_IOCTL_GET_VERS _IOR(RDMA_IOCTL_MAGIC, 0xEE, int) ++ ++#ifdef NVIDIA_GPU_DIRECT ++#define HFI1_IOCTL_SDMA_CACHE_EVICT _IOWR(RDMA_IOCTL_MAGIC, 0xFD, struct hfi1_sdma_gpu_cache_evict_params) ++ ++#define HFI1_IOCTL_TID_UPDATE_V2 _IOWR(RDMA_IOCTL_MAGIC, 0xFE, struct hfi1_tid_info_v2) ++ ++/* ++ * gdr_ops driver ioctl related declarations ++ * HFI1_IOCTL_GDR_GPU_PIN_MMAP ++ * return the host address of a gpu buffer that has been pinned ++ * and mmaped. ++ * ++ * HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN ++ * unpin a gpu buffer and unmap it from the user address space. ++ * ++ * HFI1_IOCTL_GDR_GPU_CACHE_EVICT ++ * Try to evict a number of pages from the GDR cache. ++ * Return the number of pages evicted, and the ++ * number of pages in that cache. ++ */ ++#define GDR_IOCTL_MAGIC 0xDA /* See Documentation/ioctl/ioctl-number.txt */ ++ ++#define HFI1_IOCTL_GDR_GPU_PIN_MMAP \ ++ _IOWR(GDR_IOCTL_MAGIC, 1, struct hfi1_gdr_query_params) ++ ++#define HFI1_IOCTL_GDR_GPU_MUNMAP_UNPIN \ ++ _IOWR(GDR_IOCTL_MAGIC, 2, struct hfi1_gdr_query_params) ++ ++#define HFI1_IOCTL_GDR_GPU_CACHE_EVICT \ ++ _IOWR(GDR_IOCTL_MAGIC, 3, struct hfi1_gdr_cache_evict_params) ++ ++#endif /* NVIDIA_GPU_DIRECT */ ++ ++#endif /* RDMA_USER_IOCTL_H */ diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1f6981d1dae --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..325c404a055 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b93b34dc43e --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('numactl', '2.0.14'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fa91a78538e --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..169b08b1e36 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ee265c55610 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..aff3d686fc7 --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'PSM2' +version = '12.0.1' + +homepage = 'https://github.com/cornelisnetworks/opa-psm2/' +description = """ +Low-level user-space communications interface for the Intel(R) OPA family of products. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags'] +sources = ['%(name)s_%(version)s.tar.gz'] +patches = [ + ('PSM2-11.2.80_hfi-user.patch', 1), + ('PSM2-12.0.1_build-with-internal-cuda-header.patch', 1), +] +checksums = [ + {'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'}, + {'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'}, + {'PSM2-12.0.1_build-with-internal-cuda-header.patch': + '0016327d7eade9e763ffbc468cf25c182d743074dca2885dea7ef0cf7e3b23cf'}, +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('numactl', '2.0.18'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && " +buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH +installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH + +sanity_check_paths = { + 'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'], + 'dirs': [] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1_build-with-internal-cuda-header.patch b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1_build-with-internal-cuda-header.patch new file mode 100644 index 00000000000..3e3ffd8038e --- /dev/null +++ b/easybuild/easyconfigs/p/PSM2/PSM2-12.0.1_build-with-internal-cuda-header.patch @@ -0,0 +1,88 @@ +Allow building PSM2 without a CUDA builddependency, by providing an +internal minimal cuda.h header file. +As long as the runtime CUDA version is 8.0+, libcuda.so will be dlopen'ed and +used successfully. + +Author: Bart Oldeman +diff -urN opa-psm2-PSM2_12.0.1.orig/include/cuda.h opa-psm2-PSM2_12.0.1/include/cuda.h +--- opa-psm2-PSM2_12.0.1.orig/include/cuda.h 1970-01-01 00:00:00.000000000 +0000 ++++ opa-psm2-PSM2_12.0.1/include/cuda.h 2024-06-11 18:39:38.242975935 +0000 +@@ -0,0 +1,73 @@ ++/* This header provides minimal parts of the CUDA Driver API, without having to ++ rely on the proprietary CUDA toolkit. ++ ++ References (to avoid copying from NVidia's proprietary cuda.h): ++ https://github.com/gcc-mirror/gcc/blob/master/include/cuda/cuda.h ++ https://github.com/Theano/libgpuarray/blob/master/src/loaders/libcuda.h ++ https://github.com/CPFL/gdev/blob/master/cuda/driver/cuda.h ++ https://github.com/CudaWrangler/cuew/blob/master/include/cuew.h ++*/ ++ ++#ifndef PSM2_CUDA_H ++#define PSM2_CUDA_H ++ ++#include ++ ++#define CUDA_VERSION 8000 ++ ++typedef void *CUcontext; ++typedef int CUdevice; ++#if defined(__LP64__) || defined(_WIN64) ++typedef unsigned long long CUdeviceptr; ++#else ++typedef unsigned CUdeviceptr; ++#endif ++typedef void *CUevent; ++typedef void *CUstream; ++ ++typedef enum { ++ CUDA_SUCCESS = 0, ++ CUDA_ERROR_ALREADY_MAPPED = 208, ++ CUDA_ERROR_NOT_READY = 600, ++} CUresult; ++ ++enum { ++ CU_EVENT_DEFAULT = 0x0, ++}; ++ ++enum { ++ CU_IPC_MEM_LAZY_ENABLE_PEER_ACCESS = 0x1, ++}; ++ ++typedef enum { ++ CU_POINTER_ATTRIBUTE_MEMORY_TYPE = 2, ++ CU_POINTER_ATTRIBUTE_SYNC_MEMOPS = 6, ++ CU_POINTER_ATTRIBUTE_IS_MANAGED = 8, ++} CUpointer_attribute; ++ ++ ++typedef enum { ++ CU_MEMORYTYPE_HOST = 0x01, ++ CU_MEMORYTYPE_DEVICE = 0x02, ++} CUmemorytype; ++ ++#define CU_IPC_HANDLE_SIZE 64 ++ ++typedef struct CUipcMemHandle_st { ++ char reserved[CU_IPC_HANDLE_SIZE]; ++} CUipcMemHandle; ++ ++typedef enum { ++ CU_DEVICE_ATTRIBUTE_UNIFIED_ADDRESSING = 41, ++ CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR = 75, ++} CUdevice_attribute; ++ ++enum { ++ CU_STREAM_NON_BLOCKING = 1 ++}; ++ ++enum { ++ CU_MEMHOSTALLOC_PORTABLE = 0x01, ++}; ++ ++#endif +diff -urN opa-psm2-PSM2_12.0.1.orig/include/driver_types.h opa-psm2-PSM2_12.0.1/include/driver_types.h +--- opa-psm2-PSM2_12.0.1.orig/include/driver_types.h 1970-01-01 00:00:00.000000000 +0000 ++++ opa-psm2-PSM2_12.0.1/include/driver_types.h 2024-06-12 13:46:04.123858352 +0000 +@@ -0,0 +1 @@ ++/* this file is empty */ diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb index 34640f7529c..f0a3a90c1fc 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2020b.eb @@ -9,29 +9,35 @@ description = """ """ toolchain = {'name': 'foss', 'version': '2020b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -fallow-argument-mismatch -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb new file mode 100644 index 00000000000..a7aa93b4f8e --- /dev/null +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSolver' +version = '1.8.3' + +homepage = 'http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html' +description = """ + Interpolating scaling function Poisson Solver Library + """ + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libyaml', '0.2.5'), + ('futile', '1.8.3'), +] + +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + +sanity_check_paths = { + 'files': ['include/poisson_solver.mod'] + + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb new file mode 100644 index 00000000000..d71e7d73b86 --- /dev/null +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-foss-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'ConfigureMake' + +name = 'PSolver' +version = '1.8.3' + +homepage = 'http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html' +description = """ + Interpolating scaling function Poisson Solver Library + """ + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libyaml', '0.2.5'), + ('futile', '1.8.3'), +] + +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir +preconfigopts += 'export FCFLAGS="$FCFLAGS -fallow-argument-mismatch" && ' + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + +sanity_check_paths = { + 'files': ['include/poisson_solver.mod'] + + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb index df8ca360b55..beb8698e910 100644 --- a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2020b.eb @@ -9,29 +9,34 @@ description = """ """ toolchain = {'name': 'intel', 'version': '2020b'} -toolchainopts = {'usempi': True, 'opt': True} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] sources = ['bigdft-suite-%(version)s.tar.gz'] checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] -local_cddir = ' cd psolver-%(version_major_minor)s && ' -preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir -configopts = 'CC=$MPICC FC=$MPIFC FCFLAGS="$FCFLAGS -I$EBROOTFUTILE/include" ' -configopts += ' --with-ext-linalg="-L$BLACS_LIB_DIR $LIBBLACS -L$SCALAPACK_LIB_DIR $LIBSCALAPACK"'\ - '" -L$BLAS_LIB_DIR $LIBBLAS -L$LAPACK_LIB_DIR $LIBLAPACK" ' -configopts += ' --with-mpi3 ' -prebuildopts = local_cddir -preinstallopts = local_cddir +builddependencies = [ + ('pkg-config', '0.29.2'), +] dependencies = [ ('libyaml', '0.2.5'), - ('futile', '1.8.3') + ('futile', '1.8.3'), ] +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + sanity_check_paths = { 'files': ['include/poisson_solver.mod'] + - [('lib/libPSolver-1.a', 'lib64/libPSolver-1.a')], + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], 'dirs': [] } diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb new file mode 100644 index 00000000000..f43a10e3771 --- /dev/null +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PSolver' +version = '1.8.3' + +homepage = 'http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html' +description = """ + Interpolating scaling function Poisson Solver Library + """ + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libyaml', '0.2.5'), + ('futile', '1.8.3'), +] + +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + +sanity_check_paths = { + 'files': ['include/poisson_solver.mod'] + + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb new file mode 100644 index 00000000000..f8bcc82b6ec --- /dev/null +++ b/easybuild/easyconfigs/p/PSolver/PSolver-1.8.3-intel-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PSolver' +version = '1.8.3' + +homepage = 'http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html' +description = """ + Interpolating scaling function Poisson Solver Library + """ + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'opt': True} + +source_urls = ['https://launchpad.net/bigdft/%(version_major_minor)s/%(version)s/+download/'] +sources = ['bigdft-suite-%(version)s.tar.gz'] +checksums = ['39aeae8bd62ad5d82ed20a47006aa478d93b3751ae7929027088c2e6b8439388'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libyaml', '0.2.5'), + ('futile', '1.8.3'), +] + +local_cddir = ' cd psolver-%(version_major_minor)s && ' +preconfigopts = 'tar xzf psolver-%(version_major_minor)s.tar.gz &&' + local_cddir + +configopts = '--enable-dynamic-libraries ' +configopts += '--with-futile-incs=-I$EBROOTFUTILE/include ' +configopts += '--with-ext-linalg="$LIBSCALAPACK" ' + +prebuildopts = local_cddir +preinstallopts = local_cddir + +sanity_check_paths = { + 'files': ['include/poisson_solver.mod'] + + ['lib/libPSolver-1.a', 'lib/libPSolver-1.%s' % SHLIB_EXT], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PTESFinder/PTESFinder-1-intel-2017b.eb b/easybuild/easyconfigs/p/PTESFinder/PTESFinder-1-intel-2017b.eb index c495729322c..1885396ad81 100644 --- a/easybuild/easyconfigs/p/PTESFinder/PTESFinder-1-intel-2017b.eb +++ b/easybuild/easyconfigs/p/PTESFinder/PTESFinder-1-intel-2017b.eb @@ -16,7 +16,7 @@ dependencies = [ ('Bowtie', '1.2.1.1'), ('Bowtie2', '2.3.3.1'), ('BEDTools', '2.26.0'), - ('Java', '1.8.0_152', '', True), + ('Java', '1.8.0_152', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/p/PYPOWER/PYPOWER-5.1.15-foss-2020b.eb b/easybuild/easyconfigs/p/PYPOWER/PYPOWER-5.1.15-foss-2020b.eb new file mode 100644 index 00000000000..966cf0a6e70 --- /dev/null +++ b/easybuild/easyconfigs/p/PYPOWER/PYPOWER-5.1.15-foss-2020b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'PYPOWER' +version = '5.1.15' + +homepage = 'https://github.com/rwl/PYPOWER' +description = """PYPOWER is a power flow and Optimal Power Flow (OPF) solver. It is a port of MATPOWER to the Python +programming language.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d01e40f1850937e1a4e34ab3c7aa5c76006b23d4cc8a547818b26a808303c8a8'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PYTHIA/PYTHIA-8.309-foss-2022b.eb b/easybuild/easyconfigs/p/PYTHIA/PYTHIA-8.309-foss-2022b.eb new file mode 100644 index 00000000000..e664b716b74 --- /dev/null +++ b/easybuild/easyconfigs/p/PYTHIA/PYTHIA-8.309-foss-2022b.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'PYTHIA' +version = '8.309' + +homepage = 'https://www.pythia.org' +description = """PYTHIA is a program for the generation of high-energy physics collision events, i.e. for the +description of collisions at high energies between electrons, protons, photons and heavy nuclei. It contains theory +and models for a number of physics aspects, including hard and soft interactions, parton distributions, initial- and +final-state parton showers, multiparton interactions, fragmentation and decay. It is largely based on original +research, but also borrows many formulae and other knowledge from the literature. As such it is categorized as a +general purpose Monte Carlo event generator.""" + + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.pythia.org/download/pythia83/'] +sources = ['pythia%(version_major)s%(version_minor)s.tgz'] +checksums = ['5bdafd9f2c4a1c47fd8a4e82fb9f0d8fcfba4de1003b8e14be4e0347436d6c33'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Python', '3.10.8'), + ('ROOT', '6.26.10'), + ('HDF5', '1.14.0'), +] + +configopts = '--cxx="$CXX" --cxx-common="$CXXFLAGS" ' +configopts += '--with-openmp --with-mpich --with-gzip --with-root --with-hdf5 ' +configopts += '--with-python --with-python-include=$EBROOTPYTHON/include/python*/ ' + +sanity_check_paths = { + 'files': ['bin/pythia%(version_major)s-config', 'lib/libpythia%(version_major)s.a', + 'lib/libpythia%%(version_major)s.%s' % SHLIB_EXT, 'lib/pythia8.%s' % SHLIB_EXT], + 'dirs': ['include/Pythia%(version_major)s', 'include/Pythia%(version_major)sPlugins', 'share'], +} +sanity_check_commands = ["python -c 'import pythia%(version_major)s'"] + +modextrapaths = {'PYTHONPATH': 'lib'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-foss-2023b.eb b/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-foss-2023b.eb new file mode 100644 index 00000000000..64b3fd907c7 --- /dev/null +++ b/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-foss-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'PaStiX' +version = '6.3.2' + +homepage = 'http://pastix.gforge.inria.fr/' +description = """PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance + parallel solver for very large sparse linear systems based on direct methods.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://files.inria.fr/pastix/releases/v6/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['c4da8802d1933eecf8c09d7e63c014c81ccf353fe623142e9f5c5fc65ed82ee0'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('hwloc', '2.9.2'), + ('SCOTCH', '7.0.4'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=OFF -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON', + '-DBUILD_SHARED_LIBS=ON -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON' +] + +sanity_check_paths = { + 'files': ['bin/pastix_env.sh', + 'bin/spm_env.sh', + 'lib/libpastix.a', + 'lib/libpastixf.a', + 'lib/libpastix.%s' % SHLIB_EXT, + 'lib/libpastixf.%s' % SHLIB_EXT, + 'lib/libspm.a', + 'lib/libspmf.a', + 'lib/libspm.%s' % SHLIB_EXT, + 'lib/libspmf.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-intel-2023b.eb b/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-intel-2023b.eb new file mode 100644 index 00000000000..d53ebd66755 --- /dev/null +++ b/easybuild/easyconfigs/p/PaStiX/PaStiX-6.3.2-intel-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'PaStiX' +version = '6.3.2' + +homepage = 'http://pastix.gforge.inria.fr/' +description = """PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance + parallel solver for very large sparse linear systems based on direct methods.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://files.inria.fr/pastix/releases/v6/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['c4da8802d1933eecf8c09d7e63c014c81ccf353fe623142e9f5c5fc65ed82ee0'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('hwloc', '2.9.2'), + ('SCOTCH', '7.0.4'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=OFF -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON', + '-DBUILD_SHARED_LIBS=ON -DPASTIX_INT64=OFF -DPASTIX_WITH_MPI=ON' +] + +sanity_check_paths = { + 'files': ['bin/pastix_env.sh', + 'bin/spm_env.sh', + 'lib/libpastix.a', + 'lib/libpastixf.a', + 'lib/libpastix.%s' % SHLIB_EXT, + 'lib/libpastixf.%s' % SHLIB_EXT, + 'lib/libspm.a', + 'lib/libspmf.a', + 'lib/libspm.%s' % SHLIB_EXT, + 'lib/libspmf.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pandoc/Pandoc-3.1.2.eb b/easybuild/easyconfigs/p/Pandoc/Pandoc-3.1.2.eb new file mode 100644 index 00000000000..5916797cde8 --- /dev/null +++ b/easybuild/easyconfigs/p/Pandoc/Pandoc-3.1.2.eb @@ -0,0 +1,32 @@ +# 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 +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'Tarball' + +name = 'Pandoc' +version = '3.1.2' + +homepage = 'https://pandoc.org' +description = "If you need to convert files from one markup format into another, pandoc is your swiss-army knife" + +toolchain = SYSTEM + +_archs = {'x86_64': 'amd64', 'aarch64': 'arm64'} + +source_urls = ['https://github.com/jgm/pandoc/releases/download/%(version)s/'] +sources = ['%%(namelower)s-%%(version)s-linux-%s.tar.gz' % _archs[ARCH]] +checksums = ['4e1c607f7e4e9243fa1e1f5b208cd4f1d3f6fd055d5d8c39ba0cdc38644e1c35'] + +sanity_check_paths = { + 'files': ['bin/pandoc'], + 'dirs': ['share'], +} + +sanity_check_commands = ['pandoc --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb b/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb new file mode 100644 index 00000000000..1b9dbb3a29d --- /dev/null +++ b/easybuild/easyconfigs/p/Panedr/Panedr-0.7.0-foss-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Panedr' +version = '0.7.0' + +homepage = 'https://github.com/MDAnalysis/panedr' +description = """Panedr uses the Pyedr library to read a Gromacs EDR binary +energy XDR file and returns its contents as a pandas dataframe.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('pyedr', version, { + 'checksums': ['2906fa86950a519ada711520cb18aa3bb49df5d992473f0c7b5359ba226c7ac2'], + # remove references to out-of-tree files + 'preinstallopts': "sed -i '8,10d' setup.cfg && " + }), + ('panedr', version, { + 'checksums': ['ef1f3163cd88ff5d69f9aabc1e5850a47cc5325d8421e57510bfa7cae5956838'], + # remove references to out-of-tree files + 'preinstallopts': "sed -i '8,10d' setup.cfg && " + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.44.7-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.44.7-GCCcore-8.3.0.eb index b95a6c58317..9577b502030 100644 --- a/easybuild/easyconfigs/p/Pango/Pango-1.44.7-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/Pango/Pango-1.44.7-GCCcore-8.3.0.eb @@ -16,7 +16,7 @@ checksums = ['66a5b6cc13db73efed67b8e933584509f8ddb7b10a8a40c3850ca4a985ea1b1f'] builddependencies = [ ('binutils', '2.32'), - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ('GObject-Introspection', '1.63.1', '-Python-3.7.4'), ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.48.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.48.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b750dc8da67 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.48.8-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.48.8' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['009d9d830ecbe11911d6637e48eec1c51390d3d12eb286035ef7c641f3c87410'] + +builddependencies = [ + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.68.0'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210802'), + ('GLib', '2.69.1'), + ('cairo', '1.16.0'), + ('HarfBuzz', '2.8.2'), + ('FriBidi', '1.0.10'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2da3f6b7bf5 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.50.12-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.50.12' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['caef96d27bbe792a6be92727c73468d832b13da57c8071ef79b9df69ee058fe3'] + +builddependencies = [ + ('binutils', '2.39'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.74.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('X11', '20221110'), + ('GLib', '2.75.0'), + ('cairo', '1.17.4'), + ('HarfBuzz', '5.3.1'), + ('FriBidi', '1.0.12'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.50.14-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.50.14-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a56cf1e8361 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.50.14-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.50.14' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['1d67f205bfc318c27a29cfdfb6828568df566795df0cb51d2189cde7f2d581e8'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.76.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('X11', '20230603'), + ('GLib', '2.77.1'), + ('cairo', '1.17.8'), + ('HarfBuzz', '5.3.1'), + ('FriBidi', '1.0.12'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.50.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.50.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3286d679983 --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.50.7-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.50.7' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['0477f369a3d4c695df7299a6989dc004756a7f4de27eecac405c6790b7e3ad33'] + +builddependencies = [ + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('GObject-Introspection', '1.72.0'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), + ('GLib', '2.72.1'), + ('cairo', '1.17.4'), + ('HarfBuzz', '4.2.1'), + ('FriBidi', '1.0.12'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.51.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.51.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9040f4ef2dc --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.51.0-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.51.0' + +homepage = 'https://www.pango.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['74efc109ae6f903bbe6af77eaa2ac6094b8ee245a2e23f132a7a8f0862d1a9f5'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('GObject-Introspection', '1.78.1'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('X11', '20231019'), + ('GLib', '2.78.1'), + ('cairo', '1.18.0'), + ('HarfBuzz', '8.2.2'), + ('FriBidi', '1.0.13'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pango/Pango-1.54.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Pango/Pango-1.54.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cfbbc1eb16b --- /dev/null +++ b/easybuild/easyconfigs/p/Pango/Pango-1.54.0-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'Pango' +version = '1.54.0' + +homepage = 'https://pango.gnome.org/' +description = """Pango is a library for laying out and rendering of text, with an emphasis on internationalization. +Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the +context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [FTPGNOME_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['8a9eed75021ee734d7fc0fdf3a65c3bba51dfefe4ae51a9b414a60c70b2d1ed8'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('GObject-Introspection', '1.80.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('X11', '20240607'), + ('GLib', '2.80.4'), + ('cairo', '1.18.0'), + ('HarfBuzz', '9.0.0'), + ('FriBidi', '1.0.15'), +] + +configopts = "--buildtype=release --default-library=both " + +sanity_check_paths = { + 'files': ['bin/pango-view', 'lib/libpango-1.0.%s' % SHLIB_EXT, 'lib/libpangocairo-1.0.%s' % SHLIB_EXT, + 'lib/libpangoft2-1.0.%s' % SHLIB_EXT, 'lib/libpangoxft-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Panoply/Panoply-5.5.1.eb b/easybuild/easyconfigs/p/Panoply/Panoply-5.5.1.eb new file mode 100644 index 00000000000..f82b44f3ee5 --- /dev/null +++ b/easybuild/easyconfigs/p/Panoply/Panoply-5.5.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PackedBinary' + +name = 'Panoply' +version = '5.5.1' + +homepage = 'https://www.giss.nasa.gov/tools/panoply' +description = "Panoply plots geo-referenced and other arrays from netCDF, HDF, GRIB, and other datasets." + + +toolchain = SYSTEM + +source_urls = ['https://www.giss.nasa.gov/tools/panoply/download/'] +sources = ['%(name)sJ-%(version)s.tgz'] +checksums = ['14196be2dd83721e475dfa0b230859b9e102bfdcc62119536ececbf8dcbbbb96'] + +dependencies = [ + ('Java', '11', '', SYSTEM), +] + +postinstallcmds = [ + 'mkdir %(installdir)s/bin', + 'mv %(installdir)s/panoply.sh %(installdir)s/bin', + 'sed -i "s,jars,../jars,g" %(installdir)s/bin/panoply.sh', + 'ln -s %(installdir)s/bin/panoply.sh %(installdir)s/bin/panoply', +] + +sanity_check_paths = { + 'files': ['bin/panoply'], + 'dirs': ['jars'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021a.eb new file mode 100644 index 00000000000..50d82a6369e --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021a.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': '2021a'} +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.20.1')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021b.eb new file mode 100644 index 00000000000..8451916f797 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2021b.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': '2021b'} +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.21.1')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.eb new file mode 100644 index 00000000000..5b392db9c1f --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022a.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': '2022a'} +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.24.3')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.eb new file mode 100644 index 00000000000..d5e24bd2bca --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2022b.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': '2022b'} +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.24.3')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' 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/ParMETIS/ParMETIS-4.0.3-gompi-2023b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023b.eb new file mode 100644 index 00000000000..ae247e2b7c5 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-gompi-2023b.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': '2023b'} +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.27.6')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2020b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2020b.eb new file mode 100644 index 00000000000..8cc997b5624 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2020b.eb @@ -0,0 +1,25 @@ +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': 'iimpi', 'version': '2020b'} +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.18.4')] + +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021a.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021a.eb new file mode 100644 index 00000000000..d044ec9b5d2 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021a.eb @@ -0,0 +1,25 @@ +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': 'iimpi', 'version': '2021a'} +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.20.1')] + +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021b.eb new file mode 100644 index 00000000000..b0299fdf5c7 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2021b.eb @@ -0,0 +1,25 @@ +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': 'iimpi', 'version': '2021b'} +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.21.1')] + +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.eb b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.eb new file mode 100644 index 00000000000..a2804c40d1c --- /dev/null +++ b/easybuild/easyconfigs/p/ParMETIS/ParMETIS-4.0.3-iimpi-2023b.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': 'iimpi', 'version': '2023b'} +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.27.6')] + +# Build static and shared libraries +configopts = ['', '-DSHARED=1'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-gompi-2023a.eb b/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-gompi-2023a.eb new file mode 100644 index 00000000000..bee93301eb9 --- /dev/null +++ b/easybuild/easyconfigs/p/ParMGridGen/ParMGridGen-1.0-gompi-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'ParMGridGen' +version = '1.0' + +homepage = 'http://www-users.cs.umn.edu/~moulitsa/software.html' +description = """ParMGridGen is an MPI-based parallel library that is based on the serial package MGridGen, + that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited + for geometric multigrid methods.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://download.sourceforge.net/foam-extend/ThirdParty'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'ParMGridGen-%(version)s_malloc_include.patch', + 'ParMGridGen-%(version)s_gompiOpenFOAM-Extend.patch', +] +checksums = [ + '62cdb6e48cfc59124e5d5d360c2841e0fc2feecafe65bda110b74e942740b395', # ParMGridGen-1.0.tar.gz + '3e0d72f82b3b56cbfcb1e3c9afc6594eb25316a0faeb49237faa8d969b4daeaa', # ParMGridGen-1.0_malloc_include.patch + '60cc46d156e99101b21bde9d23cf6c2db3dcdef1704f1830a7baa0320003c02a', # ParMGridGen-1.0_gompiOpenFOAM-Extend.patch +] + +buildopts = 'parallel make=make CC="$CC" PARCC="$CC" PARLD="$CC" COPTIONS="$CFLAGS" LDOPTIONS="$CFLAGS" BINDIR="."' + +files_to_copy = [ + (['MGridGen/Programs/mgridgen', 'ParMGridGen/Programs/parmgridgen'], 'bin'), + (['mgridgen.h', 'parmgridgen.h', 'MGridGen/IMlib/IMlib.h'], 'include'), + (['libmgrid.a', 'libMGridGen.a', 'libparmgrid.a', 'MGridGen/IMlib/libIMlib.a'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/mgridgen', 'bin/parmgridgen', 'include/mgridgen.h', 'include/parmgridgen.h', + 'include/IMlib.h', 'lib/libmgrid.a', 'lib/libMGridGen.a', 'lib/libparmgrid.a', 'lib/libIMlib.a'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.10.1-foss-2022a-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.10.1-foss-2022a-mpi.eb new file mode 100644 index 00000000000..766c6e809d7 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.10.1-foss-2022a-mpi.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.10.1' +versionsuffix = '-mpi' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022a'} +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"] +checksums = [ + '59ca46a929a52d8abec107b72e19447cba3d8e64871b6fbc8e99b0f3b167db46', # ParaView-v5.10.1.tar.gz +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('libGLU', '9.0.2'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('Qt5', '5.15.5'), + ('zlib', '1.2.12'), + ('FFmpeg', '4.4.2'), + ('Szip', '2.1.1'), +] + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', '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/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb new file mode 100644 index 00000000000..8eed5565c1b --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.0-foss-2022b-mpi.eb @@ -0,0 +1,58 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.0' +versionsuffix = '-mpi' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022b'} +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"] +checksums = ['68b1c6d15dd67ec442f964460c56212417e8af2a96763001f8548eb3cbc5ce87'] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('XZ', '5.2.7'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.0'), + ('libGLU', '9.0.2'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('Qt5', '5.15.7'), + ('zlib', '1.2.12'), + ('FFmpeg', '5.1.2'), + ('Szip', '2.1.1'), +] + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', '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/ParaView/ParaView-5.11.1-fix_thrust_vtk_m.patch b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-fix_thrust_vtk_m.patch new file mode 100644 index 00000000000..b1effa799e3 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-fix_thrust_vtk_m.patch @@ -0,0 +1,83 @@ +From 5d0481342a877c7297df4726a06cd4f45ea7af25 Mon Sep 17 00:00:00 2001 +From: Sujin Philip +Date: Mon, 9 Jan 2023 12:58:33 -0500 +Subject: [PATCH] Fix compile issues when using cuda 12 + +CUDA 12 adds a `cub::Swap` function that creates ambiguity with `vtkm::Swap`. +This happens when a function from the `cub` namespace is called with an object +of a class defined in the `vtkm` namespace as an argument. If that function +has an unqualified call to `Swap`, it results in ADL being used, causing the +templated functions `cub::Swap` and `vtkm::Swap` to conflict. +--- + vtkm/Swap.h | 24 ++++++++++++++++------- + vtkm/exec/cuda/internal/ExecutionPolicy.h | 1 + + 2 files changed, 18 insertions(+), 7 deletions(-) + +diff --git a/vtkm/Swap.h b/vtkm/Swap.h +index f833a495c5..342c5a20c9 100644 +--- a/vtkm/Swap.h ++++ b/vtkm/Swap.h +@@ -24,21 +24,31 @@ namespace vtkm + + /// Performs a swap operation. Safe to call from cuda code. + #if defined(VTKM_CUDA) ++// CUDA 12 adds a `cub::Swap` function that creates ambiguity with `vtkm::Swap`. ++// This happens when a function from the `cub` namespace is called with an object of a class ++// defined in the `vtkm` namespace as an argument. If that function has an unqualified call to ++// `Swap`, it results in ADL being used, causing the templated functions `cub::Swap` and ++// `vtkm::Swap` to conflict. ++#if defined(VTKM_CUDA_VERSION_MAJOR) && (VTKM_CUDA_VERSION_MAJOR >= 12) && \ ++ defined(VTKM_CUDA_DEVICE_PASS) ++using cub::Swap; ++#else + template +-VTKM_EXEC_CONT void Swap(T& a, T& b) ++VTKM_EXEC_CONT inline void Swap(T& a, T& b) + { +- using namespace thrust; ++ using thrust::swap; + swap(a, b); + } ++#endif + #elif defined(VTKM_HIP) + template +-__host__ void Swap(T& a, T& b) ++__host__ inline void Swap(T& a, T& b) + { +- using namespace std; ++ using std::swap; + swap(a, b); + } + template +-__device__ void Swap(T& a, T& b) ++__device__ inline void Swap(T& a, T& b) + { + T temp = a; + a = b; +@@ -46,9 +56,9 @@ __device__ void Swap(T& a, T& b) + } + #else + template +-VTKM_EXEC_CONT void Swap(T& a, T& b) ++VTKM_EXEC_CONT inline void Swap(T& a, T& b) + { +- using namespace std; ++ using std::swap; + swap(a, b); + } + #endif +diff --git a/vtkm/exec/cuda/internal/ExecutionPolicy.h b/vtkm/exec/cuda/internal/ExecutionPolicy.h +index 4db1edc6f9..02cad4ab6d 100644 +--- a/vtkm/exec/cuda/internal/ExecutionPolicy.h ++++ b/vtkm/exec/cuda/internal/ExecutionPolicy.h +@@ -17,6 +17,7 @@ + #include + VTKM_THIRDPARTY_PRE_INCLUDE + #include ++#include + #include + #include + VTKM_THIRDPARTY_POST_INCLUDE +-- +GitLab + diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022a-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022a-mpi.eb new file mode 100644 index 00000000000..479b6c9ee20 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022a-mpi.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.1' +versionsuffix = '-mpi' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022a'} +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"] +checksums = [ + 'de32f3e576b5f639ffc6903aa9e4cd46ac30c753185edc4366a7f305a6951b16', # ParaView-v5.11.1.tar.gz +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('libGLU', '9.0.2'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('Qt5', '5.15.5'), + ('zlib', '1.2.12'), + ('FFmpeg', '4.4.2'), + ('Szip', '2.1.1'), +] + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', '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/ParaView/ParaView-5.11.1-foss-2022b-CUDA-12.2.0.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022b-CUDA-12.2.0.eb new file mode 100644 index 00000000000..8f312f89318 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022b-CUDA-12.2.0.eb @@ -0,0 +1,82 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022b'} +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', + ('ParaView-5.11.1-fix_thrust_vtk_m.patch', 'VTK/ThirdParty/vtkm/vtkvtkm/vtk-m/')] +checksums = [ + {'ParaView-v5.11.1.tar.gz': 'de32f3e576b5f639ffc6903aa9e4cd46ac30c753185edc4366a7f305a6951b16'}, + {'ParaView-5.11.1-remove_glew_init_warning.patch': + 'dd86134f3a5b2c1b834224c69665dd31f99ef7d367688fe77dbaada212758710'}, + {'ParaView-5.11.1-fix_thrust_vtk_m.patch': + 'cb4a0dacf1fe2ddefa68ea6f6a061e6cb7d21717053a6514679f9ed73a52525f'}, +] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('CUDA', '12.2.0', '', SYSTEM), + ('OptiX', '7.2.0', '', SYSTEM), + ('Boost', '1.81.0'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('XZ', '5.2.7'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.0'), + ('libdrm', '2.4.114'), + ('Mesa', '22.2.4'), + ('Qt5', '5.15.7'), + ('zlib', '1.2.12'), + ('FFmpeg', '5.1.2'), + ('Szip', '2.1.1'), +] + +_copts = [ + # Basic configuration + '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON' + '-DPARAVIEW_BUILD_SHARED_LIBS=ON', + '-DPARAVIEW_USE_MPI=ON', + '-DPARAVIEW_ENABLE_FFMPEG=ON', + '-DPARAVIEW_USE_PYTHON=ON', + # CUDA (Vtk-m) + '-DPARAVIEW_USE_CUDA=ON', + '-DPython3_ROOT_DIR=$EBROOTPYTHON', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', + # Hardware but not software raytracing support + '-DPARAVIEW_ENABLE_RAYTRACING=ON', + '-DVTK_ENABLE_OSPRAY=OFF', + '-DVTK_ENABLE_OPTIX=ON', + # Useful input formats + '-DPARAVIEW_ENABLE_XDMF2=ON', + '-DPARAVIEW_ENABLE_XDMF3=ON', + # EGL, X and Mesa + '-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/ParaView/ParaView-5.11.1-foss-2022b.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022b.eb new file mode 100644 index 00000000000..a495c8da450 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-foss-2022b.eb @@ -0,0 +1,71 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.1' +versionsuffix = '' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2022b'} +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.11.1.tar.gz': 'de32f3e576b5f639ffc6903aa9e4cd46ac30c753185edc4366a7f305a6951b16'}, + {'ParaView-5.11.1-remove_glew_init_warning.patch': + 'dd86134f3a5b2c1b834224c69665dd31f99ef7d367688fe77dbaada212758710'}, +] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Boost', '1.81.0'), + ('XZ', '5.2.7'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.0'), + ('libdrm', '2.4.114'), + ('Mesa', '22.2.4'), + ('Qt5', '5.15.7'), + ('zlib', '1.2.12'), + ('FFmpeg', '5.1.2'), + ('Szip', '2.1.1'), +] + +_copts = [ + # Basic configuration + '-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/ParaView/ParaView-5.11.1-remove_glew_init_warning.patch b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-remove_glew_init_warning.patch new file mode 100644 index 00000000000..ad26e8652b8 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.1-remove_glew_init_warning.patch @@ -0,0 +1,15 @@ +This patch silences a spurious warning that occurs when running the GUI under VirtualGL +with EGL enabled. +--- +--- VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx.orig 2023-08-23 16:35:23.418470811 +0200 ++++ VTK/Rendering/OpenGL2/vtkOpenGLRenderWindow.cxx 2023-08-23 16:36:10.830654656 +0200 +@@ -471,8 +471,8 @@ + this->GlewInitValid = (result == GLEW_OK); + if (!this->GlewInitValid) + { +- const char* errorMsg = reinterpret_cast(glewGetErrorString(result)); +- vtkErrorMacro("GLEW could not be initialized: " << errorMsg); ++ //const char* errorMsg = reinterpret_cast(glewGetErrorString(result)); ++ //vtkErrorMacro("GLEW could not be initialized: " << errorMsg); + return; + } diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.11.2-foss-2023a.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.2-foss-2023a.eb new file mode 100644 index 00000000000..c849554271c --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.11.2-foss-2023a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.11.2' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2023a'} +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.11.2.tar.gz': 'ddee336075f8c258a3d34eb1cdd2f4d46a5082f0b4af614e36b06e530f3b346f'}, + {'ParaView-5.11.1-remove_glew_init_warning.patch': + 'dd86134f3a5b2c1b834224c69665dd31f99ef7d367688fe77dbaada212758710'}, +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost', '1.82.0'), + ('XZ', '5.4.2'), + ('HDF5', '1.14.0'), + ('netCDF', '4.9.2'), + ('libdrm', '2.4.115'), + ('Mesa', '23.1.4'), + ('Qt5', '5.15.10'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('Szip', '2.1.1'), +] + +_copts = [ + # Basic configuration + '-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/ParaView/ParaView-5.12.0-foss-2023b-Qt5.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b-Qt5.eb new file mode 100644 index 00000000000..abec428859f --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b-Qt5.eb @@ -0,0 +1,72 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.12.0' +versionsuffix = '-Qt5' + +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'), + ('Qt5', '5.15.13'), + ('zlib', '1.2.13'), + ('FFmpeg', '6.0'), + ('Szip', '2.1.1'), +] + +_copts = [ + # Basic configuration + '-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', + '-DVTK_PYTHON_OPTIONAL_LINK=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/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..ed8408c9301 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-foss-2023b.eb @@ -0,0 +1,79 @@ +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', + 'ParaView-5.12.0-qt6_fixes.patch', +] +checksums = [ + {'ParaView-v5.12.0.tar.gz': '2cc5733608fd508e2da8fc5d4ee693523d350dc1e1f89f9a89a78dc63107f70e'}, + {'ParaView-5.11.1-remove_glew_init_warning.patch': + 'dd86134f3a5b2c1b834224c69665dd31f99ef7d367688fe77dbaada212758710'}, + {'ParaView-5.12.0-qt6_fixes.patch': '015d07ac6b74c7355b56ed7f67166f0d5b765f9d6ac135b7246a675a317063df'}, +] + +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', + '-DVTK_PYTHON_OPTIONAL_LINK=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/ParaView/ParaView-5.12.0-qt6_fixes.patch b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-qt6_fixes.patch new file mode 100644 index 00000000000..838d6fe5d32 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.12.0-qt6_fixes.patch @@ -0,0 +1,126 @@ +This patch solves qt6 compatibility issues. For details see +https://gitlab.kitware.com/paraview/paraview/-/merge_requests/6836 + +diff --git a/Plugins/CAVEInteraction/pqVRDockPanel.cxx b/Plugins/CAVEInteraction/pqVRDockPanel.cxx +index 7a3d352b993f2930716b47dd98512ca88697374c..448ac4d3833ec1582d99139b3f3fea6bbdf7d3ce 100644 +--- a/Plugins/CAVEInteraction/pqVRDockPanel.cxx ++++ b/Plugins/CAVEInteraction/pqVRDockPanel.cxx +@@ -159,8 +159,8 @@ void pqVRDockPanel::initStyles() + this->Internals->stylesCombo->addItem(QString::fromStdString(styleDescs[i])); + } + +- connect(this->Internals->stylesCombo, SIGNAL(currentIndexChanged(QString)), this, +- SLOT(styleComboChanged(QString)), Qt::UniqueConnection); ++ QObject::connect(this->Internals->stylesCombo, &QComboBox::currentTextChanged, this, ++ &pqVRDockPanel::styleComboChanged, Qt::UniqueConnection); + } + + //----------------------------------------------------------------------------- +diff --git a/Qt/Components/pqCustomFilterDefinitionWizard.cxx b/Qt/Components/pqCustomFilterDefinitionWizard.cxx +index 9c140a37abca11b19f0c04bf7c41645b756457d6..acd7bd99e19017a5557a41c4585586b39e5ffc58 100644 +--- a/Qt/Components/pqCustomFilterDefinitionWizard.cxx ++++ b/Qt/Components/pqCustomFilterDefinitionWizard.cxx +@@ -134,8 +134,8 @@ pqCustomFilterDefinitionWizard::pqCustomFilterDefinitionWizard( + SLOT(clearNameOverwrite(const QString&))); + + // When combo selection changes, update new label to be same as old. +- QObject::connect(this->Form->PropertyCombo, SIGNAL(currentIndexChanged(const QString&)), +- this->Form->PropertyName, SLOT(setText(const QString&))); ++ QObject::connect(this->Form->PropertyCombo, &QComboBox::currentTextChanged, ++ this->Form->PropertyName, &QLineEdit::setText); + } + + //----------------------------------------------------------------------------- +diff --git a/Qt/Components/pqDataInformationWidget.cxx b/Qt/Components/pqDataInformationWidget.cxx +index f151d584fc8b683b5666c11c7dfad85219c1e94f..7079507a14bad98dd10bff7ddf65af896cf5e919 100644 +--- a/Qt/Components/pqDataInformationWidget.cxx ++++ b/Qt/Components/pqDataInformationWidget.cxx +@@ -103,8 +103,8 @@ pqDataInformationWidget::pqDataInformationWidget(QWidget* _parent /*=0*/) + this->Model->setActiveView(pqActiveObjects::instance().activeView()); + + // Clicking on the header should sort the column. +- QObject::connect(this->View->horizontalHeader(), SIGNAL(sectionClicked(int)), this->View, +- SLOT(sortByColumn(int))); ++ QObject::connect(this->View->horizontalHeader(), &QHeaderView::sectionClicked, this->View, ++ [=](int col) { this->View->sortByColumn(col, Qt::AscendingOrder); }); + + // Set the context menu policy for the header. + this->View->horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu); +diff --git a/Qt/Components/pqDisplayRepresentationWidget.cxx b/Qt/Components/pqDisplayRepresentationWidget.cxx +index 3e08e05e560618457e628afc9bf1fdbf3167b9f0..4d9bc9958a0034e3e2b1e7920a333a5d7f794db6 100644 +--- a/Qt/Components/pqDisplayRepresentationWidget.cxx ++++ b/Qt/Components/pqDisplayRepresentationWidget.cxx +@@ -111,8 +111,8 @@ pqDisplayRepresentationWidget::pqDisplayRepresentationWidget(QWidget* _p) + { + this->Internal = new pqDisplayRepresentationWidget::pqInternals(); + this->Internal->setupUi(this); +- this->connect(this->Internal->comboBox, SIGNAL(currentIndexChanged(const QString&)), +- SLOT(comboBoxChanged(const QString&))); ++ QObject::connect(this->Internal->comboBox, &QComboBox::currentTextChanged, this, ++ &pqDisplayRepresentationWidget::comboBoxChanged); + } + + //----------------------------------------------------------------------------- +diff --git a/Qt/Components/pqLinksEditor.cxx b/Qt/Components/pqLinksEditor.cxx +index 6f02d16d44b82f616a236557f16174d3ffa96425..ae66b1c97c3d82425c2f8b849c6d656deecc64a8 100644 +--- a/Qt/Components/pqLinksEditor.cxx ++++ b/Qt/Components/pqLinksEditor.cxx +@@ -452,8 +452,8 @@ pqLinksEditor::pqLinksEditor(vtkSMLink* link, QWidget* p) + QObject::connect(this->Ui->lineEdit, SIGNAL(textChanged(const QString&)), this, + SLOT(updateEnabledState()), Qt::QueuedConnection); + +- QObject::connect(this->Ui->comboBox, SIGNAL(currentIndexChanged(const QString&)), this, +- SLOT(updateSelectedProxies()), Qt::QueuedConnection); ++ QObject::connect(this->Ui->comboBox, &QComboBox::currentTextChanged, this, ++ &pqLinksEditor::updateSelectedProxies, Qt::QueuedConnection); + + QObject::connect( + this->Ui->interactiveViewLinkCheckBox, &QCheckBox::stateChanged, this, +diff --git a/Qt/Core/pqFileDialog.cxx b/Qt/Core/pqFileDialog.cxx +index 2a87c723a5ef4af856c71e3589ce9a5efa95b65b..6f369d1163a32e5ae3c7e3bcc00a22081e81e2a2 100644 +--- a/Qt/Core/pqFileDialog.cxx ++++ b/Qt/Core/pqFileDialog.cxx +@@ -322,7 +322,7 @@ pqFileDialog::pqFileDialog(pqServer* server, QWidget* p, const QString& title, + QObject::connect( + impl.Ui.NavigateForward, SIGNAL(clicked(bool)), this, SLOT(onNavigateForward())); + impl.Ui.NavigateUp->setIcon(style()->standardPixmap(QStyle::SP_FileDialogToParent)); +- impl.Ui.NavigateUp->setShortcut(Qt::ALT + Qt::Key_Up); ++ impl.Ui.NavigateUp->setShortcut(Qt::ALT | Qt::Key_Up); + impl.Ui.NavigateUp->setToolTip( + tr("Navigate Up (%1)").arg(impl.Ui.NavigateUp->shortcut().toString())); + impl.Ui.CreateFolder->setIcon(style()->standardPixmap(QStyle::SP_FileDialogNewFolder)); +@@ -378,8 +378,8 @@ pqFileDialog::pqFileDialog(pqServer* server, QWidget* p, const QString& title, + QObject::connect( + impl.Ui.Parents, SIGNAL(activated(const QString&)), this, SLOT(onNavigate(const QString&))); + +- QObject::connect(impl.Ui.EntityType, SIGNAL(currentIndexChanged(const QString&)), this, +- SLOT(onFilterChange(const QString&))); ++ QObject::connect( ++ impl.Ui.EntityType, &QComboBox::currentTextChanged, this, &pqFileDialog::onFilterChange); + + QObject::connect(impl.Ui.Favorites, SIGNAL(clicked(const QModelIndex&)), this, + SLOT(onClickedFavorite(const QModelIndex&))); +diff --git a/Qt/Widgets/pqSignalAdaptors.cxx b/Qt/Widgets/pqSignalAdaptors.cxx +index 0015c9148b80eddd926ba37c17b7d777250c1a78..8e218b945c5f7a8962ffaced17d4a011c00db153 100644 +--- a/Qt/Widgets/pqSignalAdaptors.cxx ++++ b/Qt/Widgets/pqSignalAdaptors.cxx +@@ -16,10 +16,15 @@ + pqSignalAdaptorComboBox::pqSignalAdaptorComboBox(QComboBox* p) + : QObject(p) + { +- QObject::connect(p, SIGNAL(currentIndexChanged(const QString&)), this, +- SIGNAL(currentTextChanged(const QString&))); +- +- QObject::connect(p, SIGNAL(currentIndexChanged(int)), this, SIGNAL(currentIndexChanged(int))); ++ QObject::connect( ++ p, &QComboBox::currentTextChanged, this, &pqSignalAdaptorComboBox::currentTextChanged); ++ ++#if QT_VERSION > QT_VERSION_CHECK(6, 0, 0) ++ QObject::connect( ++ p, &QComboBox::currentIndexChanged, this, &pqSignalAdaptorComboBox::currentIndexChanged); ++#else ++ QObject::connect(p, SIGNAL(currentIndexChanged(int)), this, SLOT(currentIndexChanged(int))); ++#endif + } + + //---------------------------------------------------------------------------- diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1-foss-2019b-Python-2.7.16-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1-foss-2019b-Python-2.7.16-mpi.eb new file mode 100644 index 00000000000..39a9b0d5f5e --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1-foss-2019b-Python-2.7.16-mpi.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.4.1' +versionsuffix = '-Python-%(pyver)s-mpi' + +homepage = "http://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2019b'} +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 = ['http://www.paraview.org/paraview-downloads/%s' % local_download_suffix] +sources = ['ParaView-v%(version)s.tar.gz'] +patches = ['ParaView-5.4.1_fix-Qt5.11-support.patch'] +checksums = [ + '390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4', # ParaView-v5.4.1.tar.gz + '4041b3c810d8394e8bd0e2ddc9ee1adc773b9adbfd209b7f7dccbdd9a1c1d935', # ParaView-5.4.1_fix-Qt5.11-support.patch +] + +dependencies = [ + ('X11', '20190717'), + ('Mesa', '19.1.7'), + ('libGLU', '9.0.1'), + ('Qt5', '5.13.1'), + ('zlib', '1.2.11'), + ('HDF5', '1.10.5'), + ('Python', '2.7.16'), +] + +# stick to CMake 3.11.x, using a more recent CMake version will cause trouble; +# see https://www.cfd-online.com/Forums/openfoam-installation/213609-v6-problems-installing-parafoam-print.html +builddependencies = [('CMake', '3.11.4')] + +separate_build_dir = True + +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DVTK_OPENGL_HAS_OSMESA=ON -DPARAVIEW_USE_MPI=ON ' +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include -DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s ' % SHLIB_EXT +configopts += '-DOSMESA_INCLUDE_DIR=$EBROOTMESA/include -DOSMESA_LIBRARY=$EBROOTMESA/lib/libOSMesa.%s ' % SHLIB_EXT +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DVTK_USE_SYSTEM_HDF5=ON -DPARAVIEW_ENABLE_PYTHON=ON -DBUILD_SHARED_LIBS=ON ' +# if you want to build server only Paraview, uncomment the following line: +# configopts += '-DVTK_USE_X=OFF ' + +# Without internet connection turn off testing (uncomment the following line) +configopts += '-DBUILD_TESTING=OFF ' +# Or consult https://gitlab.kitware.com/vtk/vtk/blob/master/Documentation/dev/git/data.md +# and download ExternalData to $EASYBUILD_SOURCEPATH and adjust -DExternalData_OBJECT_STORES accordingly +# Without internet connection, comment the following two lines (configopts and prebuildopts) +configopts += '-DExternalData_OBJECT_STORES=%(builddir)s/ExternalData ' + +configopts += ' -DPARAVIEW_QT_VERSION=5 -DQT_QMAKE_EXECUTABLE=$EBROOTQT5/bin/qmake ' +# The ParaView server can be cranky, test downloads are quite often failing, especially in the case +# of parallel downloads. Using ; insted of && gives a second chance to download the test files, if the +# first serial attempt would fail. +prebuildopts = 'make VTKData ;' + +sanity_check_paths = { + 'files': ['bin/paraview'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1_fix-Qt5.11-support.patch b/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1_fix-Qt5.11-support.patch new file mode 100644 index 00000000000..97ecdad2983 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.4.1_fix-Qt5.11-support.patch @@ -0,0 +1,94 @@ +see https://discourse.paraview.org/t/paraview-installation-crashes-at-92-due-to-errors-fehler-originating-from-class-qheaderview/458 +and https://gitlab.kitware.com/paraview/paraview/-/merge_requests/2474 + +fixes backported to ParaView v5.4.1 by Kenneth Hoste (HPC-UGent) + +diff -ru ParaView-v5.4.1.orig/Plugins/SLACTools/pqSLACDataLoadManager.cxx ParaView-v5.4.1/Plugins/SLACTools/pqSLACDataLoadManager.cxx +--- ParaView-v5.4.1.orig/Plugins/SLACTools/pqSLACDataLoadManager.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Plugins/SLACTools/pqSLACDataLoadManager.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -33,6 +33,7 @@ + #include "vtkSMProperty.h" + #include "vtkSMSourceProxy.h" + ++#include + #include + #include + +Only in ParaView-v5.4.1/Plugins/SLACTools: pqSLACDataLoadManager.cxx.orig +diff -ru ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqColorMapEditor.cxx ParaView-v5.4.1/Qt/ApplicationComponents/pqColorMapEditor.cxx +--- ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqColorMapEditor.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/ApplicationComponents/pqColorMapEditor.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -59,6 +59,7 @@ + #include + #include + #include ++#include + #include + + class pqColorMapEditor::pqInternals +diff -ru ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx ParaView-v5.4.1/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx +--- ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/ApplicationComponents/pqDoubleRangeSliderPropertyWidget.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -43,6 +43,7 @@ + #include "vtkSMUncheckedPropertyHelper.h" + + #include ++#include + + class pqDoubleRangeSliderPropertyWidget::pqInternals + { +diff -ru ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx ParaView-v5.4.1/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx +--- ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/ApplicationComponents/pqStandardViewFrameActionsImplementation.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -69,6 +69,7 @@ + #include + #include + #include ++#include + + //----------------------------------------------------------------------------- + pqStandardViewFrameActionsImplementation::pqStandardViewFrameActionsImplementation( +diff -ru ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqTimeInspectorWidget.cxx ParaView-v5.4.1/Qt/ApplicationComponents/pqTimeInspectorWidget.cxx +--- ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqTimeInspectorWidget.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/ApplicationComponents/pqTimeInspectorWidget.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -49,6 +49,7 @@ + #include "vtkSMPropertyHelper.h" + #include "vtkSMSourceProxy.h" + ++#include + #include + #include + #include +diff -ru ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx ParaView-v5.4.1/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx +--- ParaView-v5.4.1.orig/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/ApplicationComponents/pqViewResolutionPropertyWidget.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -39,6 +39,7 @@ + #include "vtkSMProxy.h" + + #include ++#include + + class pqViewResolutionPropertyWidget::pqInternals + { +diff -ru ParaView-v5.4.1.orig/Qt/Components/pqChangeInputDialog.cxx ParaView-v5.4.1/Qt/Components/pqChangeInputDialog.cxx +--- ParaView-v5.4.1.orig/Qt/Components/pqChangeInputDialog.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/Components/pqChangeInputDialog.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -45,6 +45,7 @@ + #include "vtkSMProxy.h" + #include "vtkSmartPointer.h" + ++#include + #include + #include + #include +diff -ru ParaView-v5.4.1.orig/Qt/Components/pqCinemaTrackSelection.cxx ParaView-v5.4.1/Qt/Components/pqCinemaTrackSelection.cxx +--- ParaView-v5.4.1.orig/Qt/Components/pqCinemaTrackSelection.cxx 2017-08-18 15:39:19.000000000 +0200 ++++ ParaView-v5.4.1/Qt/Components/pqCinemaTrackSelection.cxx 2022-08-29 15:49:56.022696185 +0200 +@@ -30,6 +30,7 @@ + + ========================================================================*/ + #include ++#include + + #include "vtkPVArrayInformation.h" + #include "vtkPVDataInformation.h" diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021a-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021a-mpi.eb new file mode 100644 index 00000000000..597a01985cc --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021a-mpi.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.9.1' +versionsuffix = '-mpi' + +homepage = "https://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2021a'} +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"] +checksums = ['efbcba00ba38c23d0ada1bde7144a8745caa308d9e1f94a4a71d8af63732266f'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('libGLU', '9.0.1'), + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('Szip', '2.1.1'), +] + +builddependencies = [('CMake', '3.20.1')] + +separate_build_dir = True + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': ['lib64/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021b-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021b-mpi.eb new file mode 100644 index 00000000000..c131ad80db0 --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-foss-2021b-mpi.eb @@ -0,0 +1,62 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.9.1' +versionsuffix = '-mpi' + +homepage = 'https://www.paraview.org' +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'foss', 'version': '2021b'} +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.9.1_fix-GCC-11.patch'] +checksums = [ + 'efbcba00ba38c23d0ada1bde7144a8745caa308d9e1f94a4a71d8af63732266f', # ParaView-v5.9.1.tar.gz + '771cf0974333833bbed2bbb573a5782725ae8564d85901e68e6a826972512104', # ParaView-5.9.1_fix-GCC-11.patch +] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('XZ', '5.2.5'), + ('HDF5', '1.12.1'), + ('netCDF', '4.8.1'), + ('libGLU', '9.0.2'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('Szip', '2.1.1'), +] + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', '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/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb new file mode 100644 index 00000000000..acf68e2e8ce --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1-intel-2021a-mpi.eb @@ -0,0 +1,60 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'ParaView' +version = '5.9.1' +versionsuffix = '-mpi' + +homepage = "https://www.paraview.org" +description = "ParaView is a scientific parallel visualizer." + +toolchain = {'name': 'intel', 'version': '2021a'} +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"] +checksums = ['efbcba00ba38c23d0ada1bde7144a8745caa308d9e1f94a4a71d8af63732266f'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('libGLU', '9.0.1'), + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('FFmpeg', '4.3.2'), + ('Szip', '2.1.1'), +] + +builddependencies = [('CMake', '3.20.1')] + +separate_build_dir = True + +# Paraview +configopts = '-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON -DPARAVIEW_BUILD_SHARED_LIBS=ON ' +configopts += '-DPARAVIEW_USE_MPI=ON ' +configopts += '-DPARAVIEW_ENABLE_FFMPEG=ON ' +configopts += '-DPARAVIEW_USE_PYTHON=ON ' +configopts += '-DPython3_ROOT_DIR=$EBROOTPYTHON ' + +# OpenGL & Mesa +configopts += '-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s ' % SHLIB_EXT +configopts += '-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include ' + +sanity_check_paths = { + 'files': ['bin/paraview', 'bin/pvpython'], + 'dirs': ['include/paraview-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['python -c "import paraview"'] + +modextrapaths = {'PYTHONPATH': ['lib64/python%(pyshortver)s/site-packages', 'lib/python%(pyshortver)s/site-packages']} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1_fix-GCC-11.patch b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1_fix-GCC-11.patch new file mode 100644 index 00000000000..0663afb6edc --- /dev/null +++ b/easybuild/easyconfigs/p/ParaView/ParaView-5.9.1_fix-GCC-11.patch @@ -0,0 +1,47 @@ +fix compilation with GCC 11, fixes compilation errors like: + error: numeric_limits is not a member of std +author: Kenneth Hoste (HPC-UGent) +diff -ru ParaView-v5.9.1.orig/VTK/Common/Core/vtkGenericDataArrayLookupHelper.h ParaView-v5.9.1/VTK/Common/Core/vtkGenericDataArrayLookupHelper.h +--- ParaView-v5.9.1.orig/VTK/Common/Core/vtkGenericDataArrayLookupHelper.h 2021-05-13 18:50:06.000000000 +0200 ++++ ParaView-v5.9.1/VTK/Common/Core/vtkGenericDataArrayLookupHelper.h 2021-12-23 11:07:09.825480119 +0100 +@@ -25,6 +25,7 @@ + #include "vtkIdList.h" + #include + #include ++#include + #include + #include + +diff -ru ParaView-v5.9.1.orig/VTK/Common/DataModel/vtkPiecewiseFunction.cxx ParaView-v5.9.1/VTK/Common/DataModel/vtkPiecewiseFunction.cxx +--- ParaView-v5.9.1.orig/VTK/Common/DataModel/vtkPiecewiseFunction.cxx 2021-05-13 18:50:06.000000000 +0200 ++++ ParaView-v5.9.1/VTK/Common/DataModel/vtkPiecewiseFunction.cxx 2021-12-23 11:07:41.295765924 +0100 +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include + +diff -ru ParaView-v5.9.1.orig/VTK/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx ParaView-v5.9.1/VTK/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx +--- ParaView-v5.9.1.orig/VTK/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx 2021-05-13 18:50:06.000000000 +0200 ++++ ParaView-v5.9.1/VTK/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx 2021-12-23 11:07:51.895861970 +0100 +@@ -27,6 +27,7 @@ + #include "vtkHyperTreeGridNonOrientedCursor.h" + + #include ++#include + + vtkStandardNewMacro(vtkHyperTreeGridThreshold); + +diff -ru ParaView-v5.9.1.orig/VTK/Rendering/Core/vtkColorTransferFunction.cxx ParaView-v5.9.1/VTK/Rendering/Core/vtkColorTransferFunction.cxx +--- ParaView-v5.9.1.orig/VTK/Rendering/Core/vtkColorTransferFunction.cxx 2021-05-13 18:50:06.000000000 +0200 ++++ ParaView-v5.9.1/VTK/Rendering/Core/vtkColorTransferFunction.cxx 2021-12-23 11:07:25.985627071 +0100 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + 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/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6ed7f3fc956 --- /dev/null +++ b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.33-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Parallel-Hashmap' +version = '1.33' + +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': '10.3.0'} + +github_account = 'greg7mdp' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['f6e4d0508c4d935fa25dcbaec63fbe0d7503435797e275ec109e8a3f1462a4cd'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +configopts = '-DPHMAP_BUILD_TESTS=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/Parallel-Hashmap/Parallel-Hashmap-1.36-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.36-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2d88702f8ee --- /dev/null +++ b/easybuild/easyconfigs/p/Parallel-Hashmap/Parallel-Hashmap-1.36-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'Parallel-Hashmap' +version = '1.36' + +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': '11.3.0'} + +github_account = 'greg7mdp' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['33acf44158a9661a9d630d13f9250a2aa27a770cb3771df77b1ba1a661c0b766'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +configopts = '-DPHMAP_BUILD_TESTS=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/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb new file mode 100644 index 00000000000..5b5cf9824c9 --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-gompi-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.5.10' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['fac694827c81434a7766976711ba7179940e361e8ed0c189c7b397fd44d401de'] + +separate_build_dir = True + +dependencies = [ + ('PnetCDF', '1.12.3'), + ('netCDF-Fortran', '4.6.0'), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Doxygen', '1.9.4'), +] + +preconfigopts = "NETCDF_C=$EBROOTNETCDF NETCDF_F=$EBROOTNETCDFMINFORTRAN " +configopts = "-DPIO_ENABLE_TIMING=OFF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb new file mode 100644 index 00000000000..7bb4b93031d --- /dev/null +++ b/easybuild/easyconfigs/p/ParallelIO/ParallelIO-2.5.10-iimpi-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'CMakeMake' + +name = 'ParallelIO' +version = '2.5.10' + +homepage = 'https://github.com/NCAR/ParallelIO' +description = """A high-level Parallel I/O Library for structured grid applications""" + +toolchain = {'name': 'iimpi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/NCAR/ParallelIO/archive/'] +sources = ['pio%s.tar.gz' % '_'.join(version.split('.'))] +checksums = ['fac694827c81434a7766976711ba7179940e361e8ed0c189c7b397fd44d401de'] + +separate_build_dir = True + +dependencies = [ + ('PnetCDF', '1.12.3'), + ('netCDF-Fortran', '4.6.0'), +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Doxygen', '1.9.4'), +] + +preconfigopts = "NETCDF_C=$EBROOTNETCDF NETCDF_F=$EBROOTNETCDFMINFORTRAN " +configopts = "-DPIO_ENABLE_TIMING=OFF " + +sanity_check_paths = { + 'files': ['lib/libpiof.a', 'include/pio.mod'], + 'dirs': [], +} + +modextravars = { + 'PIO': '%(installdir)s' +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/Paraver/Paraver-4.11.1-foss-2022a.eb b/easybuild/easyconfigs/p/Paraver/Paraver-4.11.1-foss-2022a.eb new file mode 100644 index 00000000000..849185d175c --- /dev/null +++ b/easybuild/easyconfigs/p/Paraver/Paraver-4.11.1-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'Paraver' +version = '4.11.1' + +homepage = 'https://tools.bsc.es/paraver' +description = """A very powerful performance visualization and analysis tool based on + traces that can be used to analyse any information that is expressed on its input trace format. + Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://ftp.tools.bsc.es/wxparaver/'] +sources = ['wxparaver-%(version)s-src.tar.bz2'] +checksums = ['b1c1cc8ce69adb095b9f8a4500250c0baa50668be60825f75d75fddca9a88f77'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Boost', '1.79.0'), + ('wxWidgets', '3.2.1'), +] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/Paraver/Paraver-4.9.2-foss-2021a.eb b/easybuild/easyconfigs/p/Paraver/Paraver-4.9.2-foss-2021a.eb new file mode 100644 index 00000000000..0f380e95d98 --- /dev/null +++ b/easybuild/easyconfigs/p/Paraver/Paraver-4.9.2-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'Paraver' +version = '4.9.2' + +homepage = 'https://tools.bsc.es/paraver' +description = """A very powerful performance visualization and analysis tool based on + traces that can be used to analyse any information that is expressed on its input trace format. + Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://ftp.tools.bsc.es/wxparaver/'] +sources = ['wxparaver-%(version)s-src.tar.bz2'] +checksums = ['83289584040bcedf8cab1b2ae3545191c8bdef0e11ab62b06e54cbf111f2127a'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Boost', '1.76.0'), + ('wxWidgets', '3.1.5'), +] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb b/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb new file mode 100644 index 00000000000..9061cf7b2de --- /dev/null +++ b/easybuild/easyconfigs/p/Parcels/Parcels-2.4.0-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'Parcels' +version = '2.4.0' + +homepage = 'http://www.oceanparcels.org/' +description = """Parcels (Probably A Really Computationally Efficient Lagrangian Simulator) is a +set of Python classes and methods to create customisable particle tracking +simulations using output from Ocean Circulation models. Parcels can be used to +track passive and active particulates such as water, plankton, plastic and +fish.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# dependencies of Parcels are not listed as install_requires +# taken from https://github.com/OceanParcels/parcels/blob/v%(version)s/environment_py3_linux.yml +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('dask', '2022.10.0'), + ('FFmpeg', '4.4.2'), + ('git', '2.36.0', '-nodocs'), + ('matplotlib', '3.5.2'), + ('netcdf4-python', '1.6.1'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('xarray', '2022.6.0'), + ('zarr', '2.13.3'), +] + +use_pip = True + +exts_list = [ + ('cgen', '2020.1', { + 'checksums': ['4ec99d0c832d9f95f5e51dd18a629ad50df0b5464ce557ef42c6e0cd9478bfcf'], + }), + ('pytools', '2022.1.13', { + 'checksums': ['c2f98359f6f281fb9d06136cdfb825a1984571598c8b437f8d6815ab80a04149'], + }), + ('pymbolic', '2022.2', { + 'checksums': ['f82776942bb3cb72329fa1f1aa2b68ec09f237db9178c95cfdc92a6aea7cec89'], + }), + ('pykdtree', '1.3.5', { + 'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'], + }), + ('parcels', version, { + 'checksums': ['221ce49b6cb5bb4996aa3c817c0de7f022c952a4d8cb4160ca7df7dd940714b5'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/Parsl/Parsl-2023.7.17-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Parsl/Parsl-2023.7.17-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9f657370989 --- /dev/null +++ b/easybuild/easyconfigs/p/Parsl/Parsl-2023.7.17-GCCcore-11.3.0.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'Parsl' +version = '2023.7.17' + +homepage = 'https://parsl-project.org/' +description = """ +Parsl extends parallelism in Python beyond a single computer. +You can use Parsl just like Python's parallel executors but across multiple +cores and nodes. However, the real power of Parsl is in expressing multi-step +workflows of functions. Parsl lets you chain functions together and will launch +each function as inputs and computing resources are available. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyZMQ', '24.0.1'), + ('dill', '0.3.6'), +] + +use_pip = True + +exts_list = [ + ('types-paramiko', '3.2.0.1', { + 'modulename': False, + 'checksums': ['ecf5781d13c28a1c3513a1f3dffd096682459519c731a56032416f7c7e303e64'], + }), + ('types-urllib3', '1.26.25.14', { + 'modulename': False, + 'checksums': ['229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f'], + }), + ('types-requests', '2.31.0.2', { + 'modulename': False, + 'checksums': ['6aa3f7faf0ea52d728bb18c0a0d1522d9bfd8c72d26ff6f61bfc3d06a411cf40'], + }), + ('types-six', '1.16.21.9', { + 'modulename': False, + 'checksums': ['746e6c25b8c48b3c8ab9efe7f68022839111de423d35ba4b206b88b12d75f233'], + }), + ('typeguard', '2.13.3', { + 'checksums': ['00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4'], + }), + ('typing-extensions', '4.7.1', { + # typing-extensions-4.3.0-GCCcore-11.3.0.eb is too old + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('globus-sdk', '3.25.0', { + 'checksums': ['d9be275d4ec18054db04732f75649c4227800c79b31fbcfb3f4f31eccfa5f4f7'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + ('parsl', version, { + 'checksums': ['18b1c169e92a73d1f7129bf16c169d5962b39709d5e06c07017a6d3903f50851'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/parsl-perf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ['parsl-perf --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Parsl/Parsl-2024.4.22-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Parsl/Parsl-2024.4.22-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5a3161592c0 --- /dev/null +++ b/easybuild/easyconfigs/p/Parsl/Parsl-2024.4.22-GCCcore-12.3.0.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'Parsl' +version = '2024.4.22' + +homepage = 'https://parsl-project.org/' +description = """ +Parsl extends parallelism in Python beyond a single computer. +You can use Parsl just like Python's parallel executors but across multiple +cores and nodes. However, the real power of Parsl is in expressing multi-step +workflows of functions. Parsl lets you chain functions together and will launch +each function as inputs and computing resources are available. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyZMQ', '25.1.1'), + ('dill', '0.3.7'), + ('typing-extensions', '4.9.0'), + ('paramiko', '3.2.0'), +] + +use_pip = True + +exts_list = [ + ('types-paramiko', '3.4.0.20240423', { + 'modulename': False, + 'checksums': ['aaa98dda232c47886563d66743d3a8b66c432790c596bc3bdd3f17f91be2a8c1'], + }), + ('types-urllib3', '1.26.25.14', { + 'modulename': False, + 'checksums': ['229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f'], + }), + ('typeguard', '4.2.0', { + 'checksums': ['2aeae510750fca88d0a2ceca3e86de7f71aa43b6c3e6c267737ce1f5effc4b34'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + ('globus-sdk', '3.40.0', { + 'source_tmpl': 'globus_sdk-%(version)s.tar.gz', + 'checksums': ['6394f01c35b2b3275622f4f7c194eaf6750cb6c1e82cb2448dac2eb4ec394d75'], + }), + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('setproctitle', '1.3.3', { + 'checksums': ['c913e151e7ea01567837ff037a23ca8740192880198b7fbb90b16d181607caae'], + }), + ('filelock', '3.13.4', { + 'checksums': ['d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4'], + }), + ('parsl', version, { + 'checksums': ['99d2b48173bcd22214cb275e3b94be818de6297d5e7bbe606327c961750366f8'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/parsl-perf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ['parsl-perf --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PartitionFinder/PartitionFinder-2.1.1-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/p/PartitionFinder/PartitionFinder-2.1.1-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..71d28c2fc13 --- /dev/null +++ b/easybuild/easyconfigs/p/PartitionFinder/PartitionFinder-2.1.1-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,48 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'PartitionFinder' +version = '2.1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.robertlanfear.com/partitionfinder' +description = """PartitionFinder 2 is a Python program for simultaneously +choosing partitioning schemes and models of molecular evolution for phylogenetic +analyses of DNA, protein, and morphological data. You can PartitionFinder 2 +before running a phylogenetic analysis, in order to decide how to divide up +your sequence data into separate blocks before analysis, and to simultaneously +perform model selection on each of those blocks.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'brettc' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ccf3718996ee6ca496909b4b97d2b075028e0543eba3bc47a8c14b689c84e061'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.11', versionsuffix), + ('scikit-learn', '0.20.4', versionsuffix), + ('PyTables', '3.5.2', versionsuffix), +] + +postinstallcmds = ["cd %(installdir)s && chmod a+x PartitionFinder*"] +fix_python_shebang_for = ["*.py"] + +sanity_check_paths = { + 'files': ['%(name)sMorphology.py', '%(name)sProtein.py', '%(name)s.py'], + 'dirs': ['partfinder'], +} + +sanity_check_commands = [ + '%(name)s.py -p %(parallel)s %(installdir)s/examples/nucleotide/test.phy', + '%(name)sProtein.py -p %(parallel)s %(installdir)s/examples/aminoacid/test.phy', + '%(name)sMorphology.py -p %(parallel)s %(installdir)s/examples/morphology/test.phy --raxml', +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' 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/PathTools-3.75_fix-cwd_enoent-test.patch b/easybuild/easyconfigs/p/Perl-bundle-CPAN/PathTools-3.75_fix-cwd_enoent-test.patch new file mode 100644 index 00000000000..0cba1221f98 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/PathTools-3.75_fix-cwd_enoent-test.patch @@ -0,0 +1,50 @@ +From 8508806268d1abe6c533393333ad151e12adfc2d Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +Date: Wed, 3 Oct 2018 10:07:32 -0400 +Subject: [PATCH] Accept also ESTALE (fix for RT #133534) + +ESTALE may occur in some environments when accessing a +now non-existing directory, e.g. when using NFS or in docker +containers. +--- + dist/PathTools/t/cwd_enoent.t | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t +index 8f3a1fb1fb3e..510c65ed0c9a 100644 +--- a/dist/PathTools/t/cwd_enoent.t ++++ b/dist/PathTools/t/cwd_enoent.t +@@ -2,7 +2,7 @@ use warnings; + use strict; + + use Config; +-use Errno qw(ENOENT); ++use Errno qw(); + use File::Temp qw(tempdir); + use Test::More; + +@@ -19,6 +19,7 @@ unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){ + plan tests => 8; + require Cwd; + ++my @acceptable_errnos = (&Errno::ENOENT, (defined &Errno::ESTALE ? &Errno::ESTALE : ())); + foreach my $type (qw(regular perl)) { + SKIP: { + skip "_perl_abs_path() not expected to work", 4 +@@ -36,12 +37,14 @@ foreach my $type (qw(regular perl)) { + $res = Cwd::getcwd(); + $eno = 0+$!; + is $res, undef, "$type getcwd result on non-existent directory"; +- is $eno, ENOENT, "$type getcwd errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type getcwd errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + $! = 0; + $res = Cwd::abs_path("."); + $eno = 0+$!; + is $res, undef, "$type abs_path result on non-existent directory"; +- is $eno, ENOENT, "$type abs_path errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type abs_path errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + } + } + 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 new file mode 100644 index 00000000000..1c02282d891 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.36.1-GCCcore-12.3.0.eb @@ -0,0 +1,2163 @@ +easyblock = 'PerlBundle' + +name = 'Perl-bundle-CPAN' +version = '5.36.1' + +homepage = 'https://www.perl.org/' +description = """A set of common packages from CPAN""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('Perl', version), + ('zlib', '1.2.13'), # for Net::SSLeay + ('expat', '2.5.0'), # for XML::Parser + ('ncurses', '6.4'), # for Term::ReadLine::Gnu + ('libreadline', '8.2'), # for Term::ReadLine::Gnu + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on 2023-05-23 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('File::Listing', '6.15', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.44', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297'], + }), + ('Module::Build::Tiny', '0.045', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['d20692eee246d0b329b7f7659f36286b14ae0696fe91078a64b7078f8876d300'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Test::Fatal', '0.017', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['37dfffdafb84b762efe96b02fb2aa41f37026c73e6b83590db76229697f3c4a6'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('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'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.016', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000155', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['c78e6bc4d69bc097836976863382b52b9e0c31ee185066ce60c54bd74baad53d'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Path::Tiny', '0.144', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['f6ea094ece845c952a02c2789332579354de8d410a707f9b7045bd241206487d'], + }), + ('Test::Deep', '1.204', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['b6591f6ccdd853c7efc9ff3c5756370403211cffe46047f082b1cd1611a84e5f'], + }), + ('Test::File', '1.993', { + 'source_tmpl': 'Test-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['ef2ffe1aaec7b42d874ad411ec647547b9b9bc2f5fb93e49e3399488456afc7a'], + }), + ('Test::Needs', '0.002010', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['923ffdc78fcba96609753e4bae26b0ba0186893de4a63cd5236e012c7c90e208'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('CPAN::Meta::Check', '0.017', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['0454ab93f12780b1d579df15b5f939e09702e954be82028fadd40e8bc9b0f091'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('Exporter::Tiny', '1.006002', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['6f295e2cbffb1dbc15bdb9dadc341671c1e0cd2bdf2d312b17526273c322638d'], + }), + ('Type::Tiny', '2.004000', { + 'source_tmpl': 'Type-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['697e7f775edfc85f4cf07792d04fd19b09c25285f98f5938e8efc4f74507a128'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Sub::Quote', '2.006008', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['94bebd500af55762e83ea2f2bc594d87af828072370c7110c60c238a800d15b2'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Test::Without::Module', '0.21', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['3cdeafadac4853ebeafe689346d555da5dfa3cfa9d4c84e3e5e7bfee50beec46'], + }), + ('Params::ValidationCompiler', '0.31', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['7b6497173f1b6adb29f5d51d8cf9ec36d2f1219412b4b2410e9d77a901e84a6d'], + }), + ('DateTime::Locale', '1.38', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dd7f6d358279d1df0ea7d78b9127690435246cdf46867500e9888016f9d4c867'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('DateTime::TimeZone', '2.60', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['f0460d379323905b579bed44e141237a337dc25dd26b6ab0c60ac2b80629323d'], + }), + ('Module::Build', '0.4234', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f'], + }), + ('Params::Validate', '1.31', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1bf2518ef2c4869f91590e219f545c8ef12ed53cf313e0eb5704adf7f1b2961e'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('DateTime', '1.59', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['de3e9a63ce15470b4db4adad4ba6ac8ec297d88c0c6c6b354b081883b0a67695'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.101', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['d2a32dd6c21e4b37c6a93df8087ca9e880cfae613a3e5efaea307b0bdcaedb58'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.72', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['5ca41e61eb52b52bd862a3088b912a75fe70910ac789b9a9983e0a449e94f551'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('Test::Simple', '1.302195', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['b390bb23592e0b946c95adbb3c30b11bc634a286b2847be611ad929c57e39a6c'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.135', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fca3c16e83127f7c44dde3d3f7e3c73ea50d109a1054445de8082fea794ca5d2'], + }), + ('MIME::Types', '2.24', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['629e361f22b220be50c2da7354e23c0451757709a03c25a22f3160edb94cb65f'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('URI', '5.19', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['8fed5f819905c8a8e18f4447034322d042c3536b43c13ac1f09ba92e1a50a394'], + }), + ('B::COW', '0.007', { + 'source_tmpl': 'B-COW-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['1290daf227e8b09889a31cf182e29106f1cf9f1a4e9bf7752f9de92ed1158b44'], + }), + ('Clone', '0.46', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['aadeed5e4c8bd6bbdf68c0dd0066cb513e16ab9e5b4382dc4a0aafd55890697b'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('HTTP::Message', '6.44', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['398b647bf45aa972f432ec0111f6617742ba32fc773c6612d21f64ab4eacbca1'], + }), + ('HTML::Parser', '3.81', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['c0910a5c8f92f8817edd06ccfd224ba1c2ebe8c10f551f032587a1fc83d62ff2'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('GO', '0.04', { + 'runtest': False, # Problem with indirect dependency DBD::Pg + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('File::Slurper', '0.014', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['d5a36487339888c3cd758e648160ee1d70eb4153cacbaff57846dbcefb344b0c'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + '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': [ + {'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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['904ef28765440a97d8a9a0df597f8c3d7f3cb0a053d1b082c10bed03bc802069'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('Class::Method::Modifiers', '2.15', { + 'source_tmpl': 'Class-Method-Modifiers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65cd85bfe475d066e9186f7a8cc636070985b30b0ebb1cde8681cf062c2e15fc'], + }), + ('Moo', '2.005005', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['fb5a2952649faed07373f220b78004a9c6aba387739133740c1770e9b1f4b108'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('DBIx::Admin::CreateTable', '2.11', { + 'source_tmpl': 'DBIx-Admin-CreateTable-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['07b1427fbc15455657ca57217749004162a50c04abb243022a5b479e4b2a5912'], + }), + ('Config::Tiny', '2.29', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['3de79b0ea03a8d6a93e9d9128fe845fb556222b14699a4f6f0d5ca057ae3333b'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('DBIx::Admin::DSNManager', '2.02', { + 'source_tmpl': 'DBIx-Admin-DSNManager-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['c25511f42328ccb606a0cd78413a74181c87fb37a382d38aa3fad106b540adcb'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('Test::Differences', '0.69', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['18f644fdd4a1fef93ef3f7f67df8e95b593d811899f34bcbbaba4d717222f58f'], + }), + ('Test::Most', '0.38', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['089eb894f7bace4c37c6334e0e290eb20338ee10223af0c82cbe7281c78382df'], + }), + ('Const::Fast', '0.014', { + 'source_tmpl': 'Const-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f805953a08c57846a16a4d85d7b766398afaf7c36c1465fcb1dea09e5fa394db'], + }), + ('Ref::Util', '0.204', { + 'source_tmpl': 'Ref-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARC'], + 'checksums': ['415fa73dbacf44f3d5d79c14888cc994562720ab468e6f71f91cd1f769f105e1'], + }), + ('Class::XSAccessor', '1.19', { + 'source_tmpl': 'Class-XSAccessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['99c56b395f1239af19901f2feeb125d9ecb4e351a0d80daa9529211a4700a6f2'], + }), + ('Hash::Objectify', '0.008', { + 'source_tmpl': 'Hash-Objectify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['236d5829cdebf3ba648d34e1295cd9099a20506d8d0284668e617e0058cebeed'], + }), + ('Const::Exporter', '1.2.2', { + 'source_tmpl': 'Const-Exporter-v%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRWO'], + 'checksums': ['ae7560499fa3b8d211e7b8b3de926fb56bed3c28b1e7a5a7a5fad12f20c132ed'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('List::SomeUtils', '0.59', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['fab30372e4c67bf5a46062da38d1d0c8756279feada866eb439fa29571a2dc7b'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('Unicode::EastAsianWidth', '12.0', { + 'source_tmpl': 'Unicode-EastAsianWidth-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AU/AUDREYT'], + 'checksums': ['2a5bfd926c4fe5f77e6137da2c31ac2545282ae5fec6e9af0fdd403555a90ff4'], + }), + ('String::TtyLength', '0.03', { + 'source_tmpl': 'String-TtyLength-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['4fedaf72028511d80eb6afba523993e9aaa245d7af558345d5d4ed46e2e82ce1'], + }), + ('Text::Table::Manifold', '1.03', { + 'source_tmpl': 'Text-Table-Manifold-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['e680713169557b0768952fa6932f25576a61dccfb96bd9036dcf6fcefb35e09e'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.22', { + 'runtest': False, # Fragile tests + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.11', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['43bfaa7087393487d2d51261a1aa7f6f81a97b1d8fef7a48fcf6ef32b16d6454'], + }), + ('IPC::Run', '20220807.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['277d781dbbc98af18e979c7ef36f222513d7361742c52507c3348b265f6f5e69'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.74', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7b38ca9f5d3ce24230a6b8bdc1f47f5b2db348e7f7f9666c26f5955636e33d6c'], + }), + ('Module::Install', '1.21', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['fbf91007f30565f3920e106055fd0d4287981d5e7dad8b35323ce4b733f15a7b'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('HTTP::Tiny', '0.082', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['54e9e4a559a92cbb90e3f19c8a88ff067ec2f68fbe39bbb694ee70828cd5f4b8'], + }), + ('Sub::Install', '0.929', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80b1e281d8cd3b2b31dac711f5c8a1657a87cd80bbe69af3924bcbeb4e5db077'], + }), + ('Package::DeprecationManager', '0.18', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['b68d3f0ced55b7615fddbb6029b89f92a34fe0dd8c6fd6bceffc157d56834fe8'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.27', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ecf36fba1c47ca93e1daa394968ed39c4186867459d9cd173c421e2b972043e8'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('Email::Date::Format', '1.008', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['432b7c83ff88749af128003f5257c573aec1a463418db90ed22843cbbc258b4f'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'runtest': False, # One failing subtest + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('IO::Tty', '1.17', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['a5f1a83020bc5b5dd6c1b570f48c7546e0a8f7fac10a068740b03925ad9e14e8'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Data::OptList', '0.114', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9fd1093b917a21fb79ae1607db53d113b4e0ad8fe0ae776cb077a7e50044fdf3'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('HTTP::Daemon', '6.16', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('HTTP::CookieJar', '0.014', { + 'source_tmpl': 'HTTP-CookieJar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['7094ea5c91f536d263b85e83ab4e9a963e11c4408ce08ecae553fa9c0cc47e73'], + }), + ('LWP::Simple', '6.70', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['34f00d2344757b9c0b55ad35808d53e93d7d92f7a464ec837fe6a73c51fb5969'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.10', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35'], + }), + ('Sub::Exporter', '0.989', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['334896e0af5e0643fc3799cbbcf01f933d4ca6324cd644c0b6660e71cdbd01c9'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.02', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['84120de3e10489ea8fbbb96411a340c32cafbe5cdff7dd9576b207081baa9d24'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.66', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['22928a7bffe61b452c05bbbb8f5216d4b9cf9fe2a849b776c25500d24d20df7c'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'runtest': False, # One subset fails due to locale + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Moose', '2.2203', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['fa7814acf4073fa434c148d403cbbf8a7b62f73ad396fa8869f3036d6e3241a7'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.17', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['a5f1a83020bc5b5dd6c1b570f48c7546e0a8f7fac10a068740b03925ad9e14e8'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.044', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['b2d15579e42723d8d7f9b72de86d0d35cde34f1eb7713456ba2ad35fb3cbea7e'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.57', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['0f8fcb7638a8f3db4c797df94fdbc56013749142f2f94cbc95b43c9fca096a13'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9726', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['7a60c7746da3f2da43f4acea703be2ad8fa24b26a623a0745876020e6ecd970e'], + }), + ('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'], + }), + ('Parse::Yapp', '1.21', { + 'source_tmpl': 'Parse-Yapp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL'], + 'checksums': ['3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.010', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['bcd2848b72df290b5e984fae8b1a6ca96f6d072003cf222389a8c9e8e1c570cd'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.009', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['44918bec96a54af8ca37ca897e436709ec284a07b28516ef3cce4666869646d5'], + }), + ('Getopt::Long::Descriptive', '0.111', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9b8d15fcaf18fdd740246b438f0e7eb914b831c51d9d708c099eca776622076d'], + }), + ('IO::TieCombine', '1.005', { + 'source_tmpl': 'IO-TieCombine-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['402d4db8300b3d271632f4995e0ade329d89280a7e47f2badf8b38af6e5569af'], + }), + ('App::Cmd', '0.335', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f95517fc4df348d9e7ea01467aabd9725f0715662ee483b54b81d3f0b38c9874'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100055', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['791f4203ba7c0f7d8380bc01bec20215f7c8bc70d7ed03e552eee44541abe94e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.63', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT'], + 'checksums': ['ba4083b2c31ff2694f2371333d554c826aaf24b4d98d03e48b5b4a43a2a0e679'], + }), + ('MooseX::Types::Perl', '0.101344', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['87644354f74fa65235cb2bfca44277930a7eabe51acc5f81fb631530a8355e24'], + }), + ('Log::Dispatch', '2.71', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9d60d9648c35ce2754731eb4deb7f05809ece1bd633b74d74795aed9ec732570'], + }), + ('JSON::MaybeXS', '1.004005', { + 'source_tmpl': 'JSON-MaybeXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['f5b6bc19f579e66b7299f8748b8ac3e171936dc4e7fcb72a8a257a9bd482a331'], + }), + ('String::Flogger', '1.101246', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['15f8491e07818bb3cfa9f6bd3aabf6430ba9b4e309f18114358be3d81bff3a0f'], + }), + ('Log::Dispatch::Array', '1.005', { + 'source_tmpl': 'Log-Dispatch-Array-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['311640b7a967f8dd7c9bb41a227073565636d70df4fcc1d44fed8a8223b347ca'], + }), + ('Sub::Exporter::GlobExporter', '0.006', { + 'source_tmpl': 'Sub-Exporter-GlobExporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['de743f08026701c2a6a222a8b41c4cdc254b1a4afe7ef98987cd3aba4ce52696'], + }), + ('Log::Dispatchouli', '3.002', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['86a739f970c8d8e7fcfe52cd75f0844a7cb96e1d9c151f1ba8cba26b541f34ee'], + }), + ('Test::FailWarnings', '0.008', { + 'source_tmpl': 'Test-FailWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['da34ef9029f6849d6026201d49127d054ee6ac4b979c82210315f5721964a96f'], + }), + ('Data::Section', '0.200008', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['83acc7a55d3dd7ed36e9d78d350af3138c69cfa178a44765822712ff433b990e'], + }), + ('Test::CheckDeps', '0.010', { + 'source_tmpl': 'Test-CheckDeps-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66fccca6c6f330e7ecc898bd6a51846e2145b3e02d78c4997ba6b7de23b551ee'], + }), + ('Software::License', '0.104003', { + 'runtest': False, # This test just suddenly started to fail + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f5afffcf156c3d1cece656546d9d5d7e60032d264fd98ed5462701c47e172d54'], + }), + ('MooseX::SetOnce', '0.203', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3cd2f3664e438382cf844b679350a2e428b760927e2cf18fccdc468a7bc3066f'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Throwable', '1.001', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d0cb5e9d7d06d70f2cc56eecf857a83a45eaca43850dcdda91d3feb4ddde4c51'], + }), + ('Role::Identifiable::HasIdent', '0.009', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5a735e9f7177f9ebae047eb7bae29b7ec29ec020ae37637aea5350d30c087b76'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::OneArgNew', '0.007', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['84282435f1169cf09d7513fa9387e2091791635cf35a078b500b829aeea06138'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('String::Formatter', '1.235', { + 'source_tmpl': 'String-Formatter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['08236a913b911ce652cf08598e7c07d2df3f369fc47bf401a485a504a1660783'], + }), + ('String::Errf', '0.009', { + 'source_tmpl': 'String-Errf-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e1fedbf9b4fd64b64ea81038ddb76a4c6cd85f5db15bc21f10656a298349dc1f'], + }), + ('Role::HasMessage', '0.007', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5e267a4d7620b368481204c88ea2044b8b2a58ff8b05577f2717b2754c0414ce'], + }), + ('Config::MVP', '2.200013', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['018d161623ee3a67f860d9e680e22e61b79eae6018f0e7c3b525fc934f5b7d45'], + }), + ('Mixin::Linewise::Readers', '0.111', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d28e88516ce9b5295c31631dcccdc0fc8f2ab7d8a5cc876bb1b20131087b01db'], + }), + ('Config::INI', '0.029', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0bbe797a730210644a907d90cd4aa2b23ad580cb27bd39393bfc6a7ef9fdfdea'], + }), + ('String::Truncate', '1.100603', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['ab45602cce2dd9515edfbb2e6e5cde19cdd5498d61a23afd8c46c1f11f8eec62'], + }), + ('Pod::Eventual', '0.094003', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7f060cc34d11656ce069db061e3d60edc0cabc8f89a4a2dc7eaae95dac856d2d'], + }), + ('Pod::Elemental', '0.103006', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['750c3a79d8e1824758a6ef7d2dd077dcddca503542b8c34eccd5acbb779dc423'], + }), + ('Test::Object', '0.08', { + 'source_tmpl': 'Test-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb'], + }), + ('Hook::LexWrap', '0.26', { + 'source_tmpl': 'Hook-LexWrap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d'], + }), + ('Test::SubCalls', '1.10', { + 'source_tmpl': 'Test-SubCalls-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cbc1e9b35a05e71febc13e5ef547a31c8249899bb6011dbdc9d9ff366ddab6c2'], + }), + ('PPI', '1.276', { + 'source_tmpl': 'PPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['657655470e78b7c5b7660f7dec82893489c2e2d880e449135613da3b37500f01'], + }), + ('Config::MVP::Reader::INI', '2.101465', { + 'source_tmpl': 'Config-MVP-Reader-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['13c7aa27c1df98cd33ada399e59ff38fabfa9d65513e42af02f72c2d3f636247'], + }), + ('Pod::Weaver', '4.019', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['6946ad1f04eaf9aa11f24cc54494e1d57962f58e05912f364b74f9593e7de7f7'], + }), + ('CPAN::Uploader', '0.103018', { + 'source_tmpl': 'CPAN-Uploader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ffe4ede9db79b396e3bfc5e7cdf0e2e9821e1f1e087f523bcfa74c9fc9e248'], + }), + ('Devel::FindPerl', '0.016', { + 'source_tmpl': 'Devel-FindPerl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['43a2bf2f787a3f1b881179063162b2aa3e7cb044f6e5e76ec6466ae90a861138'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Perl::PrereqScanner', '1.100', { + 'source_tmpl': 'Perl-PrereqScanner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['01181d38a2e7aff838d262122563c50636ba4b3652ee5d1d4f8ef5ba3f5b186b'], + }), + ('Dist::Zilla', '6.030', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c406bbe6809e94edb70ca94324c301433d6c8a3dfbe70b02df12e1dff2f3b130'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7046', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['3e8c9d9b44a7348f9acc917163dbfc15bd5ea72501492cea3a35b346440ff862'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('Spiffy', '0.46', { + 'source_tmpl': 'Spiffy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['8f58620a8420255c49b6c43c5ff5802bd25e4f09240c51e5bf2b022833d41da3'], + }), + ('Test::Base', '0.89', { + 'source_tmpl': 'Test-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['2794a1aaaeb1d3a287dd2c7286258663796562f7db9ccc6b424bc4f1de8ad014'], + }), + ('Test::YAML', '1.07', { + 'source_tmpl': 'Test-YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['1f300d034f46298cb92960912cc04bac33fb27f05b8852d8f051e110b9cd995f'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Term::ReadLine::Gnu', '1.45', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['9f4f7abbc69ea58ab7f24992d47f7391bb4aed6fb701fedaeb1a9f1cdc7fab8a'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.70', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f108bd46420d2f00d242825f865b0f68851084924924f92261d684c49e3e7a74'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20230423', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['62b74a0e48924db152f7790f220ebfe0e8c5ab6c7ed459565828d2802d42da90'], + }), + ('Module::Metadata', '1.000038', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b599d8770a9a9fa0a8ae3cd0ed395a9cf71b4eb53aed82989a6bece33485a9cd'], + }), + ('Params::Check', '0.38', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'runtest': False, # Somehow has syntax errors in tests + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.45', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['8483bb95cd3e4307d66def092a3779f843af772482bfdc024e3e00d0c4db0cfa'], + }), + ('Socket', '2.036', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['1cd8272bccde8098183a60a274b3eda0764cc6984db97f5474b28bebfe2c6b70'], + }), + ('Time::Local', '1.35', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d136b71bd041cbe6f66c43180ee79e675b72ad5a3596abd6a44d211072ada29'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.44', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['77effdf31af36ef656f09aa7c15356d238dab6d1afaa7278ae15c1b6bcf86266'], + }), + ('Pod::Man', '5.01', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['ccfd1df9f1a47f095bce6d718fad5af40f78ce2491f2c7239626e15b7020bc71'], + }), + ('Mozilla::CA', '20221114', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['701bea67be670add5a102f9f8c879402b4983096b1cb0e20dd47d52d7a10666b'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.241', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['b10b3960ab3997dab7571ffe975ba462d979d086450740a1e08b3959e75128fe'], + }), + ('Net::Domain', '3.15', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['a71f4db580e1a767d6936faa5baf38f1fa617824342da078b561283e86f8f4a2'], + }), + ('Encode', '3.19', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'runtest': False, # Poorly written test + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.884', { + 'runtest': False, # Single failing subtest + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['c830c0e548094f19c620049e744258be2c121d4a86cf7c94a37599ad016daf33'], + }), + ('Text::CSV_XS', '1.50', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['85b5e1bed7e11dc0413d4e920cee25d980de47376c0048029041cf461eac96b1'], + }), + ('DBD::CSV', '0.60', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['018b83a30f799979bc8c3c3044c8b1c8001cdf60bdc3e746848818195254b4e7'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN::Data', '20230516.001', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['d9b8125e96f869489160fc189e5571fb05838501edab14d458451f0ac7abc912'], + }), + ('Business::ISBN', '3.008', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['19c4a1d4d99a0dd7695a90192b13404a0e3eeebedfcbe97a0202e36b238c0e69'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('Compress::Raw::Zlib', '2.204', { + 'source_tmpl': 'Compress-Raw-Zlib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['f161f4297efadbed79c8b096a75951784fc5ccd3170bd32866a19e5c6876d13f'], + }), + ('IO::Compress::Zip', '2.204', { + 'runtest': False, # Problem with indirect dependency DBD::Pg + 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['617784cb8543778681341b18fc67b74735e8b494f32f00814dd22f68ac6af018'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Test::Sys::Info', '0.23', { + # test fails on systems without /etc/fstab - so comment it out + 'preconfigopts': "sed -i 's/ok( my %fs/# ok( my %fs/' lib/Test/Sys/Info/Driver.pm && ", + 'source_tmpl': 'Test-Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['30c5f2c4cfee8e1ae6d9fb6291f79addbff5739ba4efa5b1e034520f18fbc95a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info::Driver::Unknown::Device::CPU', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('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'], + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('CGI', '4.57', { + 'source_tmpl': 'CGI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['4e6ca634fe0d5621bb55b0fce5c1d08e6f643c65eecdfffbb4b344fd51b963ac'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', 'v1.013.1', { + 'source_tmpl': 'MIME-Charset-1.013.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Log::Report', '1.34', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['1faeb18993ab8796dce4cccda2ec912f8f565aa0258026f88197aa0fe3004a78'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..35ab629e89e --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.0-GCCcore-13.2.0.eb @@ -0,0 +1,2145 @@ +easyblock = 'PerlBundle' + +name = 'Perl-bundle-CPAN' +version = '5.38.0' + +homepage = 'https://www.perl.org/' +description = """A set of common packages from CPAN""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('groff', '1.23.0'), +] + +dependencies = [ + ('Perl', version), + ('zlib', '1.2.13'), # for Net::SSLeay + ('expat', '2.5.0'), # for XML::Parser + ('ncurses', '6.4'), # for Term::ReadLine::Gnu + ('libreadline', '8.2'), # for Term::ReadLine::Gnu + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on 2023-10-18 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('HTTP::Date', '6.06', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['7b685191c6acc3e773d1fc02c95ee1f9fae94f77783175f5e78c181cc92d2b52'], + }), + ('File::Listing', '6.16', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['189b3a13fc0a1ba412b9d9ec5901e9e5e444cc746b9f0156d4399370d33655c6'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.48', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e73ff89c81c1a53f6baeef6816841b89d3384403ad97422a7da9d1eeb20ef9c5'], + }), + ('Module::Build::Tiny', '0.047', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['71260e9421b93c33dd1b3e7d0cf15f759c0ca7c753fa840279ec3be70f8f8c9d'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Test::Fatal', '0.017', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['37dfffdafb84b762efe96b02fb2aa41f37026c73e6b83590db76229697f3c4a6'], + }), + ('Test::Warnings', '0.032', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['4727dae2416e9f07e41e2dc3a9143ba6affc1ec57652117c99d50038e313e9d9'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('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'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.017', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['f11db4268ad8044f6e1a1ac9534ca0cd3ad779c4006fff37fae500db98fac91a'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000156', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['bf382ae72f3a93bf7ed36885118fae2ffab0ff117743f59038df254efef2c94e'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Path::Tiny', '0.144', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['f6ea094ece845c952a02c2789332579354de8d410a707f9b7045bd241206487d'], + }), + ('Test::Deep', '1.204', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['b6591f6ccdd853c7efc9ff3c5756370403211cffe46047f082b1cd1611a84e5f'], + }), + ('Test::File', '1.993', { + 'source_tmpl': 'Test-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['ef2ffe1aaec7b42d874ad411ec647547b9b9bc2f5fb93e49e3399488456afc7a'], + }), + ('Test::Needs', '0.002010', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['923ffdc78fcba96609753e4bae26b0ba0186893de4a63cd5236e012c7c90e208'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('CPAN::Meta::Check', '0.018', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f619d2df5ea0fd91c8cf83eb54acccb5e43d9e6ec1a3f727b3d0ac15d0cf378a'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('Exporter::Tiny', '1.006002', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['6f295e2cbffb1dbc15bdb9dadc341671c1e0cd2bdf2d312b17526273c322638d'], + }), + ('Type::Tiny', '2.004000', { + 'source_tmpl': 'Type-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['697e7f775edfc85f4cf07792d04fd19b09c25285f98f5938e8efc4f74507a128'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Sub::Quote', '2.006008', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['94bebd500af55762e83ea2f2bc594d87af828072370c7110c60c238a800d15b2'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Test::Without::Module', '0.21', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['3cdeafadac4853ebeafe689346d555da5dfa3cfa9d4c84e3e5e7bfee50beec46'], + }), + ('Params::ValidationCompiler', '0.31', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['7b6497173f1b6adb29f5d51d8cf9ec36d2f1219412b4b2410e9d77a901e84a6d'], + }), + ('DateTime::Locale', '1.39', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['10c145a6c7daf7118864e97482b4ae9f94f93b9414212eee8aa30b16a8135100'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('DateTime::TimeZone', '2.60', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['f0460d379323905b579bed44e141237a337dc25dd26b6ab0c60ac2b80629323d'], + }), + ('Module::Build', '0.4234', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f'], + }), + ('Params::Validate', '1.31', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1bf2518ef2c4869f91590e219f545c8ef12ed53cf313e0eb5704adf7f1b2961e'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('DateTime', '1.59', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['de3e9a63ce15470b4db4adad4ba6ac8ec297d88c0c6c6b354b081883b0a67695'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.101', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['d2a32dd6c21e4b37c6a93df8087ca9e880cfae613a3e5efaea307b0bdcaedb58'], + }), + ('DBI', '1.643', { + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['8994997d84b9feb4547795f78746c661fb72e3cb6a25dbdd789b731f5688a4dd'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('Test::Simple', '1.302195', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['b390bb23592e0b946c95adbb3c30b11bc634a286b2847be611ad929c57e39a6c'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.135', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fca3c16e83127f7c44dde3d3f7e3c73ea50d109a1054445de8082fea794ca5d2'], + }), + ('MIME::Types', '2.24', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['629e361f22b220be50c2da7354e23c0451757709a03c25a22f3160edb94cb65f'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.007', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['d3b58522e69803a91437e29c099eb706e8373f1eef0518a4dc3669dd3dfcdc27'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Number::Format', '1.76', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0e0060eb363635a885706c6a26f5fcaafeae759f7b2acae49dda70e195dd44d6'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('URI', '5.21', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['96265860cd61bde16e8415dcfbf108056de162caa0ac37f81eb695c9d2e0ab77'], + }), + ('B::COW', '0.007', { + 'source_tmpl': 'B-COW-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['1290daf227e8b09889a31cf182e29106f1cf9f1a4e9bf7752f9de92ed1158b44'], + }), + ('Clone', '0.46', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['aadeed5e4c8bd6bbdf68c0dd0066cb513e16ab9e5b4382dc4a0aafd55890697b'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('HTTP::Message', '6.45', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['01cb8406612a3f738842d1e97313ae4d874870d1b8d6d66331f16000943d4cbe'], + }), + ('HTML::Parser', '3.81', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['c0910a5c8f92f8817edd06ccfd224ba1c2ebe8c10f551f032587a1fc83d62ff2'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('GO', '0.04', { + 'runtest': False, # Problem with indirect dependency DBD::Pg + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('File::Slurper', '0.014', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['d5a36487339888c3cd758e648160ee1d70eb4153cacbaff57846dbcefb344b0c'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.08', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['7b4d2775ad3b859a5fd61f7f3fc5cfba42b1a10df086d2ed15a0ae712c8fd402'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + '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': [ + {'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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['904ef28765440a97d8a9a0df597f8c3d7f3cb0a053d1b082c10bed03bc802069'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('Class::Method::Modifiers', '2.15', { + 'source_tmpl': 'Class-Method-Modifiers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65cd85bfe475d066e9186f7a8cc636070985b30b0ebb1cde8681cf062c2e15fc'], + }), + ('Moo', '2.005005', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['fb5a2952649faed07373f220b78004a9c6aba387739133740c1770e9b1f4b108'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('DBIx::Admin::CreateTable', '2.11', { + 'source_tmpl': 'DBIx-Admin-CreateTable-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['07b1427fbc15455657ca57217749004162a50c04abb243022a5b479e4b2a5912'], + }), + ('Config::Tiny', '2.30', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b2f7345619b3b8e636dd39ea010731c9dc2bfb8f022bcbd86ae6ad17866e110d'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('DBIx::Admin::DSNManager', '2.02', { + 'source_tmpl': 'DBIx-Admin-DSNManager-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['c25511f42328ccb606a0cd78413a74181c87fb37a382d38aa3fad106b540adcb'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('Test::Differences', '0.71', { + 'runtest': False, # Cryptic test failing + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['cac16a56cd843b0809e5b49199d60d75a8dbad7ca9a08380dbf3f5cc3aaa38d9'], + }), + ('Test::Most', '0.38', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['089eb894f7bace4c37c6334e0e290eb20338ee10223af0c82cbe7281c78382df'], + }), + ('Const::Fast', '0.014', { + 'source_tmpl': 'Const-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f805953a08c57846a16a4d85d7b766398afaf7c36c1465fcb1dea09e5fa394db'], + }), + ('Ref::Util', '0.204', { + 'source_tmpl': 'Ref-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARC'], + 'checksums': ['415fa73dbacf44f3d5d79c14888cc994562720ab468e6f71f91cd1f769f105e1'], + }), + ('Class::XSAccessor', '1.19', { + 'source_tmpl': 'Class-XSAccessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['99c56b395f1239af19901f2feeb125d9ecb4e351a0d80daa9529211a4700a6f2'], + }), + ('Hash::Objectify', '0.008', { + 'source_tmpl': 'Hash-Objectify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['236d5829cdebf3ba648d34e1295cd9099a20506d8d0284668e617e0058cebeed'], + }), + ('Const::Exporter', 'v1.2.3', { + 'source_tmpl': 'Const-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRWO'], + 'checksums': ['53e59b4764aebcf79bbed533ab5a6107339fe516b7f2f607b1bae8dd9dcf7015'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('List::SomeUtils', '0.59', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['fab30372e4c67bf5a46062da38d1d0c8756279feada866eb439fa29571a2dc7b'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('Unicode::EastAsianWidth', '12.0', { + 'source_tmpl': 'Unicode-EastAsianWidth-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AU/AUDREYT'], + 'checksums': ['2a5bfd926c4fe5f77e6137da2c31ac2545282ae5fec6e9af0fdd403555a90ff4'], + }), + ('String::TtyLength', '0.03', { + 'source_tmpl': 'String-TtyLength-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['4fedaf72028511d80eb6afba523993e9aaa245d7af558345d5d4ed46e2e82ce1'], + }), + ('Text::Table::Manifold', '1.03', { + 'source_tmpl': 'Text-Table-Manifold-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['e680713169557b0768952fa6932f25576a61dccfb96bd9036dcf6fcefb35e09e'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.23', { + 'runtest': False, # Fragile tests + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0d65c09dd6c8589b2ae1118174d3c1a61703b6ecfc14a3442a8c74af65e0c94e'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.11', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['43bfaa7087393487d2d51261a1aa7f6f81a97b1d8fef7a48fcf6ef32b16d6454'], + }), + ('IPC::Run', '20231003.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eb25bbdf5913d291797ef1bfe998f15130b455d3ed02aacde6856f0b25e4fe57'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.74', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7b38ca9f5d3ce24230a6b8bdc1f47f5b2db348e7f7f9666c26f5955636e33d6c'], + }), + ('Module::Install', '1.21', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['fbf91007f30565f3920e106055fd0d4287981d5e7dad8b35323ce4b733f15a7b'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('HTTP::Tiny', '0.088', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['7ce6367e861883b6868d6dd86168af33524717d8cc94100c2abf9bd86a82b4d8'], + }), + ('Sub::Install', '0.929', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80b1e281d8cd3b2b31dac711f5c8a1657a87cd80bbe69af3924bcbeb4e5db077'], + }), + ('Package::DeprecationManager', '0.18', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['b68d3f0ced55b7615fddbb6029b89f92a34fe0dd8c6fd6bceffc157d56834fe8'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9930', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['61db955fbcb39f5902fa6c8b957aeb2741e23d4840f84abf846af1f670aeee30'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.27', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ecf36fba1c47ca93e1daa394968ed39c4186867459d9cd173c421e2b972043e8'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('Email::Date::Format', '1.008', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['432b7c83ff88749af128003f5257c573aec1a463418db90ed22843cbbc258b4f'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'runtest': False, # One failing subtest + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('IO::Tty', '1.17', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['a5f1a83020bc5b5dd6c1b570f48c7546e0a8f7fac10a068740b03925ad9e14e8'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0801', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['047b70a63fdcaa916168e0ff2d58e155e0ebbc68ed4ccbd73a7213dca3028f65'], + }), + ('Data::OptList', '0.114', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9fd1093b917a21fb79ae1607db53d113b4e0ad8fe0ae776cb077a7e50044fdf3'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('HTTP::Daemon', '6.16', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('HTTP::CookieJar', '0.014', { + 'source_tmpl': 'HTTP-CookieJar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['7094ea5c91f536d263b85e83ab4e9a963e11c4408ce08ecae553fa9c0cc47e73'], + }), + ('LWP::Simple', '6.72', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e9b8354fd5e20be207afe23ddd584fcd59bf82998dc077decf684ba1dae5a05d'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.10', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35'], + }), + ('Sub::Exporter', '0.990', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['bc64ec5a06865f9cc676215c06a9448b3a0c8b3974ffb23a24f8e2ad090544fc'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.03', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['48bbce9f234935a88595618e04dd141628246d650f2a726024df1c137e0b65fb'], + }), + ('Test::Output', '1.034', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['cd42e2801c0d2b482d18c9fb4b06c757054818bcbb2824e5dfbf33ad7a3d69a0'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.66', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['22928a7bffe61b452c05bbbb8f5216d4b9cf9fe2a849b776c25500d24d20df7c'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('Authen::SASL', '2.1700', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EH/EHUELS'], + 'checksums': ['b86d5a576b8d387aee24f39f47a54afd14bb66b09003db5065001f1de03a8ece'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'runtest': False, # One subset fails due to locale + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Moose', '2.2206', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['67972c4e2bc39fbda38518177af0e67bbbeb548562e4ec4b759a1a7a583e505b'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.17', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['a5f1a83020bc5b5dd6c1b570f48c7546e0a8f7fac10a068740b03925ad9e14e8'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.045', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['b6bdb4e0d0cd6526103fdd58c171e0560c36b843b7fe3ca4ddc9bb1e4c832406'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.57', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['0f8fcb7638a8f3db4c797df94fdbc56013749142f2f94cbc95b43c9fca096a13'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9727', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['392a8916dc95131abe8c913dfcac7698484bf4866b42af5f7043c0062e742229'], + }), + ('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'], + }), + ('Parse::Yapp', '1.21', { + 'source_tmpl': 'Parse-Yapp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL'], + 'checksums': ['3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.010', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['bcd2848b72df290b5e984fae8b1a6ca96f6d072003cf222389a8c9e8e1c570cd'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.009', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['44918bec96a54af8ca37ca897e436709ec284a07b28516ef3cce4666869646d5'], + }), + ('Getopt::Long::Descriptive', '0.111', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9b8d15fcaf18fdd740246b438f0e7eb914b831c51d9d708c099eca776622076d'], + }), + ('IO::TieCombine', '1.005', { + 'source_tmpl': 'IO-TieCombine-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['402d4db8300b3d271632f4995e0ade329d89280a7e47f2badf8b38af6e5569af'], + }), + ('App::Cmd', '0.336', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['df966b57d59abb196e00304885e5bf117ca958182ae3f4eedf17218ea2838e81'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100055', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['791f4203ba7c0f7d8380bc01bec20215f7c8bc70d7ed03e552eee44541abe94e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.63', { + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['87644354f74fa65235cb2bfca44277930a7eabe51acc5f81fb631530a8355e24'], + }), + ('Log::Dispatch', '2.71', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9d60d9648c35ce2754731eb4deb7f05809ece1bd633b74d74795aed9ec732570'], + }), + ('JSON::MaybeXS', '1.004005', { + 'source_tmpl': 'JSON-MaybeXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['f5b6bc19f579e66b7299f8748b8ac3e171936dc4e7fcb72a8a257a9bd482a331'], + }), + ('String::Flogger', '1.101246', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['15f8491e07818bb3cfa9f6bd3aabf6430ba9b4e309f18114358be3d81bff3a0f'], + }), + ('Log::Dispatch::Array', '1.005', { + 'source_tmpl': 'Log-Dispatch-Array-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['311640b7a967f8dd7c9bb41a227073565636d70df4fcc1d44fed8a8223b347ca'], + }), + ('Sub::Exporter::GlobExporter', '0.006', { + 'source_tmpl': 'Sub-Exporter-GlobExporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['de743f08026701c2a6a222a8b41c4cdc254b1a4afe7ef98987cd3aba4ce52696'], + }), + ('Log::Dispatchouli', '3.007', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['988118965952ba49a8fa791a6536880c89017f4eb9d72c1745ed67d15c0d272c'], + }), + ('Test::FailWarnings', '0.008', { + 'source_tmpl': 'Test-FailWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['da34ef9029f6849d6026201d49127d054ee6ac4b979c82210315f5721964a96f'], + }), + ('Data::Section', '0.200008', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['83acc7a55d3dd7ed36e9d78d350af3138c69cfa178a44765822712ff433b990e'], + }), + ('Test::CheckDeps', '0.010', { + 'source_tmpl': 'Test-CheckDeps-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66fccca6c6f330e7ecc898bd6a51846e2145b3e02d78c4997ba6b7de23b551ee'], + }), + ('Software::License', '0.104004', { + 'runtest': False, # This test just suddenly started to fail + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['a1fda24ec87752198097380fb9300c14b574826270cc580daf750e3585fc270c'], + }), + ('MooseX::SetOnce', '0.203', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3cd2f3664e438382cf844b679350a2e428b760927e2cf18fccdc468a7bc3066f'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Throwable', '1.001', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d0cb5e9d7d06d70f2cc56eecf857a83a45eaca43850dcdda91d3feb4ddde4c51'], + }), + ('Role::Identifiable::HasIdent', '0.009', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5a735e9f7177f9ebae047eb7bae29b7ec29ec020ae37637aea5350d30c087b76'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::OneArgNew', '0.007', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['84282435f1169cf09d7513fa9387e2091791635cf35a078b500b829aeea06138'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('String::Formatter', '1.235', { + 'source_tmpl': 'String-Formatter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['08236a913b911ce652cf08598e7c07d2df3f369fc47bf401a485a504a1660783'], + }), + ('String::Errf', '0.009', { + 'source_tmpl': 'String-Errf-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e1fedbf9b4fd64b64ea81038ddb76a4c6cd85f5db15bc21f10656a298349dc1f'], + }), + ('Role::HasMessage', '0.007', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5e267a4d7620b368481204c88ea2044b8b2a58ff8b05577f2717b2754c0414ce'], + }), + ('Config::MVP', '2.200013', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['018d161623ee3a67f860d9e680e22e61b79eae6018f0e7c3b525fc934f5b7d45'], + }), + ('Mixin::Linewise::Readers', '0.111', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d28e88516ce9b5295c31631dcccdc0fc8f2ab7d8a5cc876bb1b20131087b01db'], + }), + ('Config::INI', '0.029', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0bbe797a730210644a907d90cd4aa2b23ad580cb27bd39393bfc6a7ef9fdfdea'], + }), + ('String::Truncate', '1.100603', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['ab45602cce2dd9515edfbb2e6e5cde19cdd5498d61a23afd8c46c1f11f8eec62'], + }), + ('Pod::Eventual', '0.094003', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7f060cc34d11656ce069db061e3d60edc0cabc8f89a4a2dc7eaae95dac856d2d'], + }), + ('Pod::Elemental', '0.103006', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['750c3a79d8e1824758a6ef7d2dd077dcddca503542b8c34eccd5acbb779dc423'], + }), + ('Test::Object', '0.08', { + 'source_tmpl': 'Test-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb'], + }), + ('Hook::LexWrap', '0.26', { + 'source_tmpl': 'Hook-LexWrap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d'], + }), + ('Test::SubCalls', '1.10', { + 'source_tmpl': 'Test-SubCalls-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cbc1e9b35a05e71febc13e5ef547a31c8249899bb6011dbdc9d9ff366ddab6c2'], + }), + ('PPI', '1.277', { + 'source_tmpl': 'PPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MITHALDU'], + 'checksums': ['87c79f83b6876e206051965d5019d2507c551f819a86750080ec7ec43b2e0af8'], + }), + ('Config::MVP::Reader::INI', '2.101465', { + 'source_tmpl': 'Config-MVP-Reader-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['13c7aa27c1df98cd33ada399e59ff38fabfa9d65513e42af02f72c2d3f636247'], + }), + ('Pod::Weaver', '4.019', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['6946ad1f04eaf9aa11f24cc54494e1d57962f58e05912f364b74f9593e7de7f7'], + }), + ('CPAN::Uploader', '0.103018', { + 'source_tmpl': 'CPAN-Uploader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ffe4ede9db79b396e3bfc5e7cdf0e2e9821e1f1e087f523bcfa74c9fc9e248'], + }), + ('Devel::FindPerl', '0.016', { + 'source_tmpl': 'Devel-FindPerl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['43a2bf2f787a3f1b881179063162b2aa3e7cb044f6e5e76ec6466ae90a861138'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Perl::PrereqScanner', '1.100', { + 'source_tmpl': 'Perl-PrereqScanner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['01181d38a2e7aff838d262122563c50636ba4b3652ee5d1d4f8ef5ba3f5b186b'], + }), + ('Dist::Zilla', '6.030', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c406bbe6809e94edb70ca94324c301433d6c8a3dfbe70b02df12e1dff2f3b130'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7047', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['963e63c6e1a8725ff2f624e9086396ae150db51dd0a337c3781d09a994af05a5'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('Spiffy', '0.46', { + 'source_tmpl': 'Spiffy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['8f58620a8420255c49b6c43c5ff5802bd25e4f09240c51e5bf2b022833d41da3'], + }), + ('Test::Base', '0.89', { + 'source_tmpl': 'Test-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['2794a1aaaeb1d3a287dd2c7286258663796562f7db9ccc6b424bc4f1de8ad014'], + }), + ('Test::YAML', '1.07', { + 'source_tmpl': 'Test-YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['1f300d034f46298cb92960912cc04bac33fb27f05b8852d8f051e110b9cd995f'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Term::ReadLine::Gnu', '1.46', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['b13832132e50366c34feac12ce82837c0a9db34ca530ae5d27db97cf9c964c7b'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.70', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f108bd46420d2f00d242825f865b0f68851084924924f92261d684c49e3e7a74'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20230920', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['c3099fb0ca3cfbc996e99ac2c7f3a3d1e8156bde3b43d9374f4eedaeda275005'], + }), + ('Module::Metadata', '1.000038', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b599d8770a9a9fa0a8ae3cd0ed395a9cf71b4eb53aed82989a6bece33485a9cd'], + }), + ('Params::Check', '0.38', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'runtest': False, # Somehow has syntax errors in tests + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.45', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['8483bb95cd3e4307d66def092a3779f843af772482bfdc024e3e00d0c4db0cfa'], + }), + ('Socket', '2.037', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['85448811e9e274374404634f3c208afa936ee4d223e76251ea9868315b0c812f'], + }), + ('Time::Local', '1.35', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d136b71bd041cbe6f66c43180ee79e675b72ad5a3596abd6a44d211072ada29'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.51', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['82431a57425d78682acefb3a2cc9287683d091c8d034b825c584d9805bed6535'], + }), + ('Pod::Man', '5.01', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['ccfd1df9f1a47f095bce6d718fad5af40f78ce2491f2c7239626e15b7020bc71'], + }), + ('Mozilla::CA', '20230821', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LW/LWP'], + 'checksums': ['32e1d0045299004045b9c4d16c2daae453a216208873deea2440f71260a7cda1'], + }), + ('LWP::Protocol::https', '6.11', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0132ddbf03661565ca85050f2a5094fb9263cbbc3ccb1a4d9c41ac9bb083b917'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.241', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['b10b3960ab3997dab7571ffe975ba462d979d086450740a1e08b3959e75128fe'], + }), + ('Net::Domain', '3.15', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['a71f4db580e1a767d6936faa5baf38f1fa617824342da078b561283e86f8f4a2'], + }), + ('Encode', '3.19', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5'], + }), + ('Cwd', '3.75', { + 'runtest': False, # Single failure about a tainted PATH + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'runtest': False, # Poorly written test + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.889', { + 'runtest': False, # Single failing subtest + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['db6153e474d046fc253050bf53c54002d84cd4ca77d21c2b9df56feeb809bbed'], + }), + ('Text::CSV_XS', '1.52', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['e415aa705badf84b359dc4c0f0c982f1bf708481daa14756f3136e7c89c0e41d'], + }), + ('DBD::CSV', '0.60', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['018b83a30f799979bc8c3c3044c8b1c8001cdf60bdc3e746848818195254b4e7'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN::Data', '20231013.001', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['749371a46882a3ff9fb640295cc781d3b0ad6ef7d657a52257b14fbf5b2253b4'], + }), + ('Business::ISBN', '3.008', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['19c4a1d4d99a0dd7695a90192b13404a0e3eeebedfcbe97a0202e36b238c0e69'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('Compress::Raw::Zlib', '2.206', { + 'source_tmpl': 'Compress-Raw-Zlib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['46785a6a383a1c843895b7f9f25d5d759e7c305159f9d1e04a3604eb74c77374'], + }), + ('IO::Compress::Zip', '2.206', { + 'runtest': False, # Problem with indirect dependency DBD::Pg + 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['7d3062b9a494f757e8d0614f220d83f22731bbda1aeb5f7cff0e72a83f433d35'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Test::Sys::Info', '0.23', { + # test fails on systems without /etc/fstab - so comment it out + 'preconfigopts': "sed -i 's/ok( my %fs/# ok( my %fs/' lib/Test/Sys/Info/Driver.pm && ", + 'source_tmpl': 'Test-Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['30c5f2c4cfee8e1ae6d9fb6291f79addbff5739ba4efa5b1e034520f18fbc95a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info::Driver::Unknown::Device::CPU', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('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'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('CGI', '4.59', { + 'source_tmpl': 'CGI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['6dee4b89b88b10e77c96f3c08d19b586aef833b17a425d618aad7d28c262f91c'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', 'v1.013.1', { + 'source_tmpl': 'MIME-Charset-1.013.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Log::Report', '1.34', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['1faeb18993ab8796dce4cccda2ec912f8f565aa0258026f88197aa0fe3004a78'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..cee5ad02ae6 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl-bundle-CPAN/Perl-bundle-CPAN-5.38.2-GCCcore-13.3.0.eb @@ -0,0 +1,2155 @@ +easyblock = 'PerlBundle' + +name = 'Perl-bundle-CPAN' +version = '5.38.2' + +homepage = 'https://www.perl.org/' +description = """A set of common packages from CPAN""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('groff', '1.23.0'), +] + +dependencies = [ + ('Perl', version), + ('zlib', '1.3.1'), # for Net::SSLeay + ('expat', '2.6.2'), # for XML::Parser + ('ncurses', '6.5'), # for Term::ReadLine::Gnu + ('libreadline', '8.2'), # for Term::ReadLine::Gnu + ('OpenSSL', '3', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on 2024-07-08 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('HTTP::Date', '6.06', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['7b685191c6acc3e773d1fc02c95ee1f9fae94f77783175f5e78c181cc92d2b52'], + }), + ('File::Listing', '6.16', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['189b3a13fc0a1ba412b9d9ec5901e9e5e444cc746b9f0156d4399370d33655c6'], + }), + ('ExtUtils::Config', '0.009', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['4ef84e73aad50a3be332885d2a3b12f3cab1b1e0bad24e88297a123b4f39f3ce'], + }), + ('ExtUtils::InstallPaths', '0.013', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['65969d3ad8a3a2ea8ef5b4213ed5c2c83961bb5bd12f7ad35128f6bd5b684aa0'], + }), + ('ExtUtils::Helpers', '0.027', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['9d592131dc5845a86dc28be9143f764e73cb62db06fedf50a895be1324b6cec5'], + }), + ('Test::Harness', '3.48', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e73ff89c81c1a53f6baeef6816841b89d3384403ad97422a7da9d1eeb20ef9c5'], + }), + ('CPAN::Meta::Requirements', '2.143', { + 'source_tmpl': 'CPAN-Meta-Requirements-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS/'], + 'checksums': ['6ec7e4697bb5a8cea0ee3c8bd5d4b20ce086168a8084778d6e7a4c37356fdf8b'], + }), + ('CPAN::Requirements::Dynamic', '0.001', { + 'source_tmpl': 'CPAN-Requirements-Dynamic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['4b590e712b9aca680c3631855ee16a50b84fa0227c362e13b237a75a01489ef5'], + }), + ('Module::Build::Tiny', '0.048', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['79a73e506fb7badabdf79137a45c6c5027daaf6f9ac3dcfb9d4ffcce92eb36bd'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Test::Fatal', '0.017', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['37dfffdafb84b762efe96b02fb2aa41f37026c73e6b83590db76229697f3c4a6'], + }), + ('Test::Warnings', '0.033', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b9c375719f2c61c5f97aa5ee6cf4c901a972347c415969379b0b51f67c48bbcb'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('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'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.018', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['9159b9131ee6b3f3956b74f45422985553574babbfaeba60be5c17bc114ac011'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000163', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e336c2d92d43c4f0068aa0d67019d56723ab82471e1bd9028300bb6a1602c0a9'], + }), + ('Test2::Plugin::NoWarnings', '0.10', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c97cb1122cc6e3e4a079059da71e12f65760bfb0671d19d25a7ec7c5f1f240fb'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Path::Tiny', '0.146', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['861ef09bca68254e9ab24337bb6ec9d58593a792e9d68a27ee6bec2150f06741'], + }), + ('Test::Deep', '1.204', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['b6591f6ccdd853c7efc9ff3c5756370403211cffe46047f082b1cd1611a84e5f'], + }), + ('Test::File', '1.993', { + 'source_tmpl': 'Test-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['ef2ffe1aaec7b42d874ad411ec647547b9b9bc2f5fb93e49e3399488456afc7a'], + }), + ('Test::Needs', '0.002010', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['923ffdc78fcba96609753e4bae26b0ba0186893de4a63cd5236e012c7c90e208'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('CPAN::Meta::Check', '0.018', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f619d2df5ea0fd91c8cf83eb54acccb5e43d9e6ec1a3f727b3d0ac15d0cf378a'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('B::Hooks::EndOfScope', '0.28', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['edac77a17fc36620c8324cc194ce1fad2f02e9fcbe72d08ad0b2c47f0c7fd8ef'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('Exporter::Tiny', '1.006002', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['6f295e2cbffb1dbc15bdb9dadc341671c1e0cd2bdf2d312b17526273c322638d'], + }), + ('Type::Tiny', '2.004000', { + 'source_tmpl': 'Type-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['697e7f775edfc85f4cf07792d04fd19b09c25285f98f5938e8efc4f74507a128'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Devel::StackTrace', '2.05', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['63cb6196e986a7e578c4d28b3c780e7194835bfc78b68eeb8f00599d4444888c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Sub::Quote', '2.006008', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['94bebd500af55762e83ea2f2bc594d87af828072370c7110c60c238a800d15b2'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Test::Without::Module', '0.22', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['27cde4394891028c7d8ecef22a2806308a3389597b70f6a9a421b4247e69052f'], + }), + ('Params::ValidationCompiler', '0.31', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['7b6497173f1b6adb29f5d51d8cf9ec36d2f1219412b4b2410e9d77a901e84a6d'], + }), + ('DateTime::Locale', '1.42', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['7d8a138fa32faf24af30a1dbdee4dd11988ddb6a129138004d220b6cc4053cb0'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('DateTime::TimeZone', '2.62', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['6214f9c9c8dfa2000bae912ef2b8ebc5b163a83a0b5b2a82705162dad63466fa'], + }), + ('Module::Build', '0.4234', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66aeac6127418be5e471ead3744648c766bd01482825c5b66652675f2bc86a8f'], + }), + ('Params::Validate', '1.31', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1bf2518ef2c4869f91590e219f545c8ef12ed53cf313e0eb5704adf7f1b2961e'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('DateTime', '1.65', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0bfda7ff0253fb3d88cf4bdb5a14afb8cea24d147975d5bdf3c88b40e7ab140e'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.102', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d161c89dee9b213a7c55709ea782e2dd5923dbd1215b9576612889e6e74a2e06'], + }), + ('DBI', '1.643', { + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['8994997d84b9feb4547795f78746c661fb72e3cb6a25dbdd789b731f5688a4dd'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('Test::Simple', '1.302199', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['7b4b03cee7f9e928fe10e8a3efef02b2a286f0877979694b2a9ef99250bd8c5c'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.135', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fca3c16e83127f7c44dde3d3f7e3c73ea50d109a1054445de8082fea794ca5d2'], + }), + ('MIME::Types', '2.26', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['bc738483cb4cdb47d61e85fe9304fa929aa9ab927e3171ec2ba2ab1cd7cefdff'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.008', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['462bd66bf55e74b78f29ebdc9626af622d4f0115b5191b03167e82164db98f5a'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Number::Format', '1.76', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0e0060eb363635a885706c6a26f5fcaafeae759f7b2acae49dda70e195dd44d6'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Tagset', '3.24', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['eb89e145a608ed1f8f141a57472ee5f69e67592a432dcd2e8b1dbb445f2b230b'], + }), + ('URI', '5.28', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e7985da359b15efd00917fa720292b711c396f2f9f9a7349e4e7dec74aa79765'], + }), + ('B::COW', '0.007', { + 'source_tmpl': 'B-COW-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['1290daf227e8b09889a31cf182e29106f1cf9f1a4e9bf7752f9de92ed1158b44'], + }), + ('Clone', '0.46', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['aadeed5e4c8bd6bbdf68c0dd0066cb513e16ab9e5b4382dc4a0aafd55890697b'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('HTTP::Message', '6.46', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e27443434150d2d1259bb1e5c964429f61559b0ae34b5713090481994936e2a5'], + }), + ('HTML::Parser', '3.82', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['5b1f20dd0e471a049c13a53d0fcd0442f58518889180536c6f337112c9a430d8'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('XML::Parser', '2.47', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['ad4aae643ec784f489b956abe952432871a622d4e2b5c619e8855accbfc4d1d8'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('GO', '0.04', { + 'runtest': False, # Problem with indirect dependency DBD::Pg + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('File::Slurper', '0.014', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['d5a36487339888c3cd758e648160ee1d70eb4153cacbaff57846dbcefb344b0c'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.08', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['7b4d2775ad3b859a5fd61f7f3fc5cfba42b1a10df086d2ed15a0ae712c8fd402'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.94', { + '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': ['9d7be8a56d1bedda05c425306cc504ba134307e0c09bda4a788c98744ebcd95d'], + }), + ('IO::Socket::SSL', '2.087', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['936a46c58312df272313fedb4bb39faea7481629c163d83a8cdd283a0e28c578'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('Class::Method::Modifiers', '2.15', { + 'source_tmpl': 'Class-Method-Modifiers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65cd85bfe475d066e9186f7a8cc636070985b30b0ebb1cde8681cf062c2e15fc'], + }), + ('Moo', '2.005005', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['fb5a2952649faed07373f220b78004a9c6aba387739133740c1770e9b1f4b108'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('DBIx::Admin::CreateTable', '2.11', { + 'source_tmpl': 'DBIx-Admin-CreateTable-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['07b1427fbc15455657ca57217749004162a50c04abb243022a5b479e4b2a5912'], + }), + ('Config::Tiny', '2.30', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b2f7345619b3b8e636dd39ea010731c9dc2bfb8f022bcbd86ae6ad17866e110d'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('DBIx::Admin::DSNManager', '2.02', { + 'source_tmpl': 'DBIx-Admin-DSNManager-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['c25511f42328ccb606a0cd78413a74181c87fb37a382d38aa3fad106b540adcb'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('Test::Differences', '0.71', { + 'runtest': False, # Cryptic test failing + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['cac16a56cd843b0809e5b49199d60d75a8dbad7ca9a08380dbf3f5cc3aaa38d9'], + }), + ('Test::Most', '0.38', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['089eb894f7bace4c37c6334e0e290eb20338ee10223af0c82cbe7281c78382df'], + }), + ('Const::Fast', '0.014', { + 'source_tmpl': 'Const-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['f805953a08c57846a16a4d85d7b766398afaf7c36c1465fcb1dea09e5fa394db'], + }), + ('Ref::Util', '0.204', { + 'source_tmpl': 'Ref-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARC'], + 'checksums': ['415fa73dbacf44f3d5d79c14888cc994562720ab468e6f71f91cd1f769f105e1'], + }), + ('Class::XSAccessor', '1.19', { + 'source_tmpl': 'Class-XSAccessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['99c56b395f1239af19901f2feeb125d9ecb4e351a0d80daa9529211a4700a6f2'], + }), + ('Hash::Objectify', '0.008', { + 'source_tmpl': 'Hash-Objectify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['236d5829cdebf3ba648d34e1295cd9099a20506d8d0284668e617e0058cebeed'], + }), + ('Const::Exporter', 'v1.2.3', { + 'source_tmpl': 'Const-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRWO'], + 'checksums': ['53e59b4764aebcf79bbed533ab5a6107339fe516b7f2f607b1bae8dd9dcf7015'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('List::SomeUtils', '0.59', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['fab30372e4c67bf5a46062da38d1d0c8756279feada866eb439fa29571a2dc7b'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('Unicode::EastAsianWidth', '12.0', { + 'source_tmpl': 'Unicode-EastAsianWidth-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AU/AUDREYT'], + 'checksums': ['2a5bfd926c4fe5f77e6137da2c31ac2545282ae5fec6e9af0fdd403555a90ff4'], + }), + ('String::TtyLength', '0.03', { + 'source_tmpl': 'String-TtyLength-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['4fedaf72028511d80eb6afba523993e9aaa245d7af558345d5d4ed46e2e82ce1'], + }), + ('Text::Table::Manifold', '1.03', { + 'source_tmpl': 'Text-Table-Manifold-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['e680713169557b0768952fa6932f25576a61dccfb96bd9036dcf6fcefb35e09e'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.23', { + 'runtest': False, # Fragile tests + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0d65c09dd6c8589b2ae1118174d3c1a61703b6ecfc14a3442a8c74af65e0c94e'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.11', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['43bfaa7087393487d2d51261a1aa7f6f81a97b1d8fef7a48fcf6ef32b16d6454'], + }), + ('IPC::Run', '20231003.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eb25bbdf5913d291797ef1bfe998f15130b455d3ed02aacde6856f0b25e4fe57'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.74', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7b38ca9f5d3ce24230a6b8bdc1f47f5b2db348e7f7f9666c26f5955636e33d6c'], + }), + ('Module::Install', '1.21', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['fbf91007f30565f3920e106055fd0d4287981d5e7dad8b35323ce4b733f15a7b'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('HTTP::Tiny', '0.088', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['7ce6367e861883b6868d6dd86168af33524717d8cc94100c2abf9bd86a82b4d8'], + }), + ('Sub::Install', '0.929', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80b1e281d8cd3b2b31dac711f5c8a1657a87cd80bbe69af3924bcbeb4e5db077'], + }), + ('Package::DeprecationManager', '0.18', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['b68d3f0ced55b7615fddbb6029b89f92a34fe0dd8c6fd6bceffc157d56834fe8'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9932', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e7b5e8fcb8dfd1d6147b931a382e9dc377b3485ade18bea342dad11226be6f7f'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.27', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ecf36fba1c47ca93e1daa394968ed39c4186867459d9cd173c421e2b972043e8'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('Email::Date::Format', '1.008', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['432b7c83ff88749af128003f5257c573aec1a463418db90ed22843cbbc258b4f'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'runtest': False, # One failing subtest + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.227', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GT/GTERMARS'], + 'checksums': ['95bda7276265f57bc48ffdeddec5ef28cd6f765e3a183757fa5f09f0ce6b98ac'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('IO::Tty', '1.20', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af'], + }), + ('Expect', '1.38', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['7b1048335f327958903867cea079dc072ea07f4eafae1b40c2e6f25db21686c0'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0801', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['047b70a63fdcaa916168e0ff2d58e155e0ebbc68ed4ccbd73a7213dca3028f65'], + }), + ('Data::OptList', '0.114', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9fd1093b917a21fb79ae1607db53d113b4e0ad8fe0ae776cb077a7e50044fdf3'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('HTTP::Daemon', '6.16', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['b38d092725e6fa4e0c4dc2a47e157070491bafa0dbe16c78a358e806aa7e173d'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('HTTP::Cookies', '6.11', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8c9a541a4a39f6c0c7e3d0b700b05dfdb830bd490a1b1942a7dedd1b50d9a8c8'], + }), + ('HTTP::CookieJar', '0.014', { + 'source_tmpl': 'HTTP-CookieJar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['7094ea5c91f536d263b85e83ab4e9a963e11c4408ce08ecae553fa9c0cc47e73'], + }), + ('LWP::Simple', '6.77', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['94a907d6b3ea8d966ef43deffd4fa31f5500142b4c00489bfd403860a5f060e4'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.10', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['df8b5143d9a7de99c47b55f1a170bd1f69f711935c186a6dc0ab56dd05758e35'], + }), + ('Sub::Exporter', '0.991', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['2a95695d35c5d0d5373a7e145c96b9b016113b74e94116835ac05450cae4d445'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.04', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['4f80122e4ea0b05079cad493e386564030f18c8d7b1f9af561df86985a653fe3'], + }), + ('Test::Output', '1.034', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['cd42e2801c0d2b482d18c9fb4b06c757054818bcbb2824e5dfbf33ad7a3d69a0'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.67', { + 'configopts': 'INSTALLDIRS=site', + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['5deccbf55d750ce65588cd211c1a03fa1ef3aaa15d1ac2b8d85383a42c1427ea'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('Authen::SASL', '2.1700', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EH/EHUELS'], + 'checksums': ['b86d5a576b8d387aee24f39f47a54afd14bb66b09003db5065001f1de03a8ece'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'runtest': False, # One subset fails due to locale + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Moose', '2.2207', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7c2daddc49754ded93f65b8ce9e3ac9b6d11ab27d111ec77f95a8528cf4ac409'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.049', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9d048ae7b9ae63871bae976ba01e081d887392d904e5d48b04e22d35ed22011a'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.20', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.047', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['84d6318279d77844923e4de4275fe4345cd08b225edd7f9ed6a16f87a91aca39'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.57', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['0f8fcb7638a8f3db4c797df94fdbc56013749142f2f94cbc95b43c9fca096a13'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9729', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['3efbed46ca82f78f25253d034232b0cc9cfadfbd867437e63f9275850f85abb0'], + }), + ('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'], + }), + ('Parse::Yapp', '1.21', { + 'source_tmpl': 'Parse-Yapp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WB/WBRASWELL'], + 'checksums': ['3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.010', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['bcd2848b72df290b5e984fae8b1a6ca96f6d072003cf222389a8c9e8e1c570cd'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.009', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['44918bec96a54af8ca37ca897e436709ec284a07b28516ef3cce4666869646d5'], + }), + ('Getopt::Long::Descriptive', '0.114', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['410e842114a9cbfd3fd3a5fd248a96703c07c5d879b2aa5f9db0333f23276016'], + }), + ('IO::TieCombine', '1.005', { + 'source_tmpl': 'IO-TieCombine-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['402d4db8300b3d271632f4995e0ade329d89280a7e47f2badf8b38af6e5569af'], + }), + ('App::Cmd', '0.336', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['df966b57d59abb196e00304885e5bf117ca958182ae3f4eedf17218ea2838e81'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100055', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['791f4203ba7c0f7d8380bc01bec20215f7c8bc70d7ed03e552eee44541abe94e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.64', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT'], + 'checksums': ['9f7853249c9ea3b4df92fb6b790c03a60680fc029f44c8bf9894dccf019516bd'], + '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', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['87644354f74fa65235cb2bfca44277930a7eabe51acc5f81fb631530a8355e24'], + }), + ('Log::Dispatch', '2.71', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9d60d9648c35ce2754731eb4deb7f05809ece1bd633b74d74795aed9ec732570'], + }), + ('JSON::MaybeXS', '1.004005', { + 'source_tmpl': 'JSON-MaybeXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['f5b6bc19f579e66b7299f8748b8ac3e171936dc4e7fcb72a8a257a9bd482a331'], + }), + ('String::Flogger', '1.101246', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['15f8491e07818bb3cfa9f6bd3aabf6430ba9b4e309f18114358be3d81bff3a0f'], + }), + ('Log::Dispatch::Array', '1.005', { + 'source_tmpl': 'Log-Dispatch-Array-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['311640b7a967f8dd7c9bb41a227073565636d70df4fcc1d44fed8a8223b347ca'], + }), + ('Sub::Exporter::GlobExporter', '0.006', { + 'source_tmpl': 'Sub-Exporter-GlobExporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['de743f08026701c2a6a222a8b41c4cdc254b1a4afe7ef98987cd3aba4ce52696'], + }), + ('Log::Dispatchouli', '3.007', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['988118965952ba49a8fa791a6536880c89017f4eb9d72c1745ed67d15c0d272c'], + }), + ('Test::FailWarnings', '0.008', { + 'source_tmpl': 'Test-FailWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['da34ef9029f6849d6026201d49127d054ee6ac4b979c82210315f5721964a96f'], + }), + ('Data::Section', '0.200008', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['83acc7a55d3dd7ed36e9d78d350af3138c69cfa178a44765822712ff433b990e'], + }), + ('Test::CheckDeps', '0.010', { + 'source_tmpl': 'Test-CheckDeps-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['66fccca6c6f330e7ecc898bd6a51846e2145b3e02d78c4997ba6b7de23b551ee'], + }), + ('Software::License', '0.104006', { + 'runtest': False, # This test just suddenly started to fail + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['65c8ee1c2da2a4de10139863df668fa6b3b3e24a39d69a7cca39f284fb6b9c0f'], + }), + ('MooseX::SetOnce', '0.203', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3cd2f3664e438382cf844b679350a2e428b760927e2cf18fccdc468a7bc3066f'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Throwable', '1.001', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d0cb5e9d7d06d70f2cc56eecf857a83a45eaca43850dcdda91d3feb4ddde4c51'], + }), + ('Role::Identifiable::HasIdent', '0.009', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5a735e9f7177f9ebae047eb7bae29b7ec29ec020ae37637aea5350d30c087b76'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::OneArgNew', '0.007', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['84282435f1169cf09d7513fa9387e2091791635cf35a078b500b829aeea06138'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('String::Formatter', '1.235', { + 'source_tmpl': 'String-Formatter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['08236a913b911ce652cf08598e7c07d2df3f369fc47bf401a485a504a1660783'], + }), + ('String::Errf', '0.009', { + 'source_tmpl': 'String-Errf-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e1fedbf9b4fd64b64ea81038ddb76a4c6cd85f5db15bc21f10656a298349dc1f'], + }), + ('Role::HasMessage', '0.007', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5e267a4d7620b368481204c88ea2044b8b2a58ff8b05577f2717b2754c0414ce'], + }), + ('Config::MVP', '2.200013', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['018d161623ee3a67f860d9e680e22e61b79eae6018f0e7c3b525fc934f5b7d45'], + }), + ('Mixin::Linewise::Readers', '0.111', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d28e88516ce9b5295c31631dcccdc0fc8f2ab7d8a5cc876bb1b20131087b01db'], + }), + ('Config::INI', '0.029', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0bbe797a730210644a907d90cd4aa2b23ad580cb27bd39393bfc6a7ef9fdfdea'], + }), + ('String::Truncate', '1.100603', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['ab45602cce2dd9515edfbb2e6e5cde19cdd5498d61a23afd8c46c1f11f8eec62'], + }), + ('Pod::Eventual', '0.094003', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7f060cc34d11656ce069db061e3d60edc0cabc8f89a4a2dc7eaae95dac856d2d'], + }), + ('Pod::Elemental', '0.103006', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['750c3a79d8e1824758a6ef7d2dd077dcddca503542b8c34eccd5acbb779dc423'], + }), + ('Test::Object', '0.08', { + 'source_tmpl': 'Test-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb'], + }), + ('Hook::LexWrap', '0.26', { + 'source_tmpl': 'Hook-LexWrap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d'], + }), + ('Test::SubCalls', '1.10', { + 'source_tmpl': 'Test-SubCalls-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cbc1e9b35a05e71febc13e5ef547a31c8249899bb6011dbdc9d9ff366ddab6c2'], + }), + ('PPI', '1.278', { + 'source_tmpl': 'PPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['1c867b2e9b10056978db9ddaadab599af9a5c9a66805ed03ef4b201f1105d427'], + }), + ('Config::MVP::Reader::INI', '2.101465', { + 'source_tmpl': 'Config-MVP-Reader-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['13c7aa27c1df98cd33ada399e59ff38fabfa9d65513e42af02f72c2d3f636247'], + }), + ('Pod::Weaver', '4.020', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['655fcf261206c1adbc3038981790b116c31508485135c648093b99b3b3de09d2'], + }), + ('CPAN::Uploader', '0.103018', { + 'source_tmpl': 'CPAN-Uploader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ffe4ede9db79b396e3bfc5e7cdf0e2e9821e1f1e087f523bcfa74c9fc9e248'], + }), + ('Devel::FindPerl', '0.016', { + 'source_tmpl': 'Devel-FindPerl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['43a2bf2f787a3f1b881179063162b2aa3e7cb044f6e5e76ec6466ae90a861138'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Perl::PrereqScanner', '1.100', { + 'source_tmpl': 'Perl-PrereqScanner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['01181d38a2e7aff838d262122563c50636ba4b3652ee5d1d4f8ef5ba3f5b186b'], + }), + ('Dist::Zilla', '6.032', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['5c771a1dc2daab5afae0fd59e5046111970f73bf3eaec9df70d8e07346f8165e'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7047', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['963e63c6e1a8725ff2f624e9086396ae150db51dd0a337c3781d09a994af05a5'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('Spiffy', '0.46', { + 'source_tmpl': 'Spiffy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['8f58620a8420255c49b6c43c5ff5802bd25e4f09240c51e5bf2b022833d41da3'], + }), + ('Test::Base', '0.89', { + 'source_tmpl': 'Test-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['2794a1aaaeb1d3a287dd2c7286258663796562f7db9ccc6b424bc4f1de8ad014'], + }), + ('Test::YAML', '1.07', { + 'source_tmpl': 'Test-YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['1f300d034f46298cb92960912cc04bac33fb27f05b8852d8f051e110b9cd995f'], + }), + ('YAML', '1.31', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['a0ce30381657dce8e694df9a09e95d818d13beb03698fd2cf79d0c8d564a9b8e'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('Term::ReadLine::Gnu', '1.46', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['b13832132e50366c34feac12ce82837c0a9db34ca530ae5d27db97cf9c964c7b'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.70', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f108bd46420d2f00d242825f865b0f68851084924924f92261d684c49e3e7a74'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20240702', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f2fa93960b1419ab3aaa186d4ce2a538de229d1af8a9eecd76265c78252c011b'], + }), + ('Module::Metadata', '1.000038', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['b599d8770a9a9fa0a8ae3cd0ed395a9cf71b4eb53aed82989a6bece33485a9cd'], + }), + ('Params::Check', '0.38', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'runtest': False, # Somehow has syntax errors in tests + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.45', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['8483bb95cd3e4307d66def092a3779f843af772482bfdc024e3e00d0c4db0cfa'], + }), + ('Socket', '2.038', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['563d11731ff44307fa2779a6958fd2d2f6643fbd9a3174cbf350228b159681f8'], + }), + ('Time::Local', '1.35', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d136b71bd041cbe6f66c43180ee79e675b72ad5a3596abd6a44d211072ada29'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.51', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['82431a57425d78682acefb3a2cc9287683d091c8d034b825c584d9805bed6535'], + }), + ('Pod::Man', '5.01', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['ccfd1df9f1a47f095bce6d718fad5af40f78ce2491f2c7239626e15b7020bc71'], + }), + ('Mozilla::CA', '20240313', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LW/LWP'], + 'checksums': ['624873939e309833894f881464a95dfe74ab77cab5d557308c010487161698e7'], + }), + ('LWP::Protocol::https', '6.14', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['59cdeabf26950d4f1bef70f096b0d77c5b1c5a7b5ad1b66d71b681ba279cbb2a'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.241', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['b10b3960ab3997dab7571ffe975ba462d979d086450740a1e08b3959e75128fe'], + }), + ('Net::Domain', '3.15', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['a71f4db580e1a767d6936faa5baf38f1fa617824342da078b561283e86f8f4a2'], + }), + ('Encode', '3.21', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['eacf71c5eb49e0e590de797f1982d7fb95d8481e4d13c3ce79eb32ef9373b3db'], + }), + ('Cwd', '3.75', { + 'runtest': False, # Single failure about a tainted PATH + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + {'PathTools-3.75.tar.gz': 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'}, + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.27', { + 'runtest': False, # Poorly written test + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['b2c7b581901054a32dfcea12536fda8626457ed0bfbc02600bd354bde7e2a9b4'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.897', { + 'runtest': False, # Single failing subtest + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['673d337d14fc2d7a12576ca6615c729821dc616ee76e0ecc9c0f32de8a9f9c39'], + }), + ('Text::CSV_XS', '1.55', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['e4b623b31b4ac35e99d7b797d5b7c2205a5b984bcd88dee1a9460a6a39d40b5e'], + }), + ('DBD::CSV', '0.60', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['018b83a30f799979bc8c3c3044c8b1c8001cdf60bdc3e746848818195254b4e7'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN::Data', '20240614.001', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BR/BRIANDFOY'], + 'checksums': ['38d7f0e24152e1aef07b1517a16104c1763b6669095dbad5083c3b91fc27232b'], + }), + ('Business::ISBN', '3.009', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BR/BRIANDFOY'], + 'checksums': ['d2ec1970454af1b2c099dd34caa7a348ca6fd323bb7ddbfad55389bd7f96789b'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('Compress::Raw::Zlib', '2.212', { + 'source_tmpl': 'Compress-Raw-Zlib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['6d9de0c11921fd520dfd99a3f6b0ca9f1fd9850274f8bec10bbaa4f6803cc049'], + }), + ('Compress::Raw::Bzip2', '2.212', { + 'source_tmpl': 'Compress-Raw-Bzip2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['6caeee843c428f45fa9646ea98dc675470db63dbac0ee3e2d8e9ee4eb58a856d'], + }), + ('IO::Compress::Zip', '2.212', { + 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['687490dbf9c4be42c22a945c4601812be5f4d38a9836018148915ba9e0ea65b1'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Test::Sys::Info', '0.23', { + # test fails on systems without /etc/fstab - so comment it out + 'preconfigopts': "sed -i 's/ok( my %fs/# ok( my %fs/' lib/Test/Sys/Info/Driver.pm && ", + 'source_tmpl': 'Test-Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['30c5f2c4cfee8e1ae6d9fb6291f79addbff5739ba4efa5b1e034520f18fbc95a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info::Driver::Unknown::Device::CPU', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('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'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('CGI', '4.66', { + 'source_tmpl': 'CGI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['4697437688a193e3f02556e1d223015590c1f2800b40becf83dc12d5cc5ed8e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', 'v1.013.1', { + 'source_tmpl': 'MIME-Charset-1.013.1.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Log::Report', '1.37', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['9135798e9cb391e949a3c829c101631d182baa4feaaf821efcee8deba7fdee67'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.84', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['db2e4d65f688dbf59273b5e82101ac3f1a66f665afb0594dce168b8650a4d0e4'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch b/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch new file mode 100644 index 00000000000..0cba1221f98 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/PathTools-3.75_fix-cwd_enoent-test.patch @@ -0,0 +1,50 @@ +From 8508806268d1abe6c533393333ad151e12adfc2d Mon Sep 17 00:00:00 2001 +From: Slaven Rezic +Date: Wed, 3 Oct 2018 10:07:32 -0400 +Subject: [PATCH] Accept also ESTALE (fix for RT #133534) + +ESTALE may occur in some environments when accessing a +now non-existing directory, e.g. when using NFS or in docker +containers. +--- + dist/PathTools/t/cwd_enoent.t | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t +index 8f3a1fb1fb3e..510c65ed0c9a 100644 +--- a/dist/PathTools/t/cwd_enoent.t ++++ b/dist/PathTools/t/cwd_enoent.t +@@ -2,7 +2,7 @@ use warnings; + use strict; + + use Config; +-use Errno qw(ENOENT); ++use Errno qw(); + use File::Temp qw(tempdir); + use Test::More; + +@@ -19,6 +19,7 @@ unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){ + plan tests => 8; + require Cwd; + ++my @acceptable_errnos = (&Errno::ENOENT, (defined &Errno::ESTALE ? &Errno::ESTALE : ())); + foreach my $type (qw(regular perl)) { + SKIP: { + skip "_perl_abs_path() not expected to work", 4 +@@ -36,12 +37,14 @@ foreach my $type (qw(regular perl)) { + $res = Cwd::getcwd(); + $eno = 0+$!; + is $res, undef, "$type getcwd result on non-existent directory"; +- is $eno, ENOENT, "$type getcwd errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type getcwd errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + $! = 0; + $res = Cwd::abs_path("."); + $eno = 0+$!; + is $res, undef, "$type abs_path result on non-existent directory"; +- is $eno, ENOENT, "$type abs_path errno on non-existent directory"; ++ ok((grep { $eno == $_ } @acceptable_errnos), "$type abs_path errno on non-existent directory") ++ or diag "Got errno code $eno, expected " . join(", ", @acceptable_errnos); + } + } + diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.28.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.28.1-GCCcore-8.2.0.eb index 7bf8eea4d1b..18e3ad24b83 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.28.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.28.1-GCCcore-8.2.0.eb @@ -1552,6 +1552,7 @@ exts_list = [ 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], }), ('if', '0.0608', { + 'modulename': False, 'source_tmpl': 'if-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0-minimal.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0-minimal.eb new file mode 100644 index 00000000000..9fd3846f781 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0-minimal.eb @@ -0,0 +1,27 @@ +name = 'Perl' +version = '5.30.0' +versionsuffix = '-minimal' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +This is a minimal build without any modules. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2'] + +builddependencies = [ + ('binutils', '2.32'), +] + +dependencies = [ + ('zlib', '1.2.11'), + +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0.eb index fca58541cb2..d750ffca979 100644 --- a/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/Perl/Perl-5.30.0-GCCcore-8.3.0.eb @@ -1512,6 +1512,7 @@ exts_list = [ 'checksums': ['2cb898bff42bc10024e0a3252c79e13a2eb7a8a5fb3367bb60583b576a11702b'], }), ('Term::ReadLine::Gnu', '1.36', { + 'modulename': 'Term::ReadLine', 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], 'checksums': ['9a08f7a4013c9b865541c10dbba1210779eb9128b961250b746d26702bab6925'], @@ -1562,6 +1563,7 @@ exts_list = [ 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], }), ('if', '0.0608', { + 'modulename': False, 'source_tmpl': 'if-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], 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 29d8f77201b..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'), @@ -1492,6 +1497,7 @@ exts_list = [ 'checksums': ['2cb898bff42bc10024e0a3252c79e13a2eb7a8a5fb3367bb60583b576a11702b'], }), ('Term::ReadLine::Gnu', '1.36', { + 'modulename': 'Term::ReadLine', 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], 'checksums': ['9a08f7a4013c9b865541c10dbba1210779eb9128b961250b746d26702bab6925'], @@ -1542,6 +1548,7 @@ exts_list = [ 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], }), ('if', '0.0608', { + 'modulename': False, 'source_tmpl': 'if-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], @@ -1761,11 +1768,6 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/'], 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], }), - ('IO::Compress::Bzip2', '2.096', { - 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS/'], - 'checksums': ['9d219fd5df4b490b5d2f847921e3cb1c3392758fa0bae9b05a8992b3620ba572'], - }), ('JSON::XS', '4.03', { 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/'], 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 515872cd4ae..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'), @@ -1796,6 +1801,11 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY/'], 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), ] moduleclass = 'lang' 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 947436d0265..486e71ce429 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'), @@ -25,7 +30,7 @@ dependencies = [ ('ncurses', '6.2'), # for Term::ReadLine::Gnu ('libreadline', '8.1'), # for Term::ReadLine::Gnu ('DB', '18.1.40'), # for DB_File - ('OpenSSL', '1.1', '', True), # required for Net::SSLeay + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay ] # !! order of extensions is important !! @@ -229,7 +234,12 @@ exts_list = [ ('File::Spec', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('Test::Simple', '1.302183', { 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', @@ -402,10 +412,10 @@ exts_list = [ 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], }), ('Net::SSLeay', '1.90', { + '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': ['f8696cfaca98234679efeedc288a9398fcf77176f1f515dbc589ada7c650dc93'], - 'preconfigopts': "export OPENSSL_PREFIX=$EBROOTOPENSSL && ", }), ('IO::Socket::SSL', '2.070', { 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', @@ -937,6 +947,12 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], }), + ('Pod::Parser', '1.65', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['3ba7bdec659416a51fe2a7e59f0883e9c6a3b21bc9d001042c1d6a32d401b28a'], + }), ('Pod::LaTeX', '0.61', { 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], @@ -1488,6 +1504,7 @@ exts_list = [ 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], }), ('Term::ReadLine::Gnu', '1.37', { + 'modulename': 'Term::ReadLine', 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], 'checksums': ['3bd31a998a9c14748ee553aed3e6b888ec47ff57c07fc5beafb04a38a72f0078'], @@ -1538,6 +1555,7 @@ exts_list = [ 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], }), ('if', '0.0608', { + 'modulename': False, 'source_tmpl': 'if-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], @@ -1660,7 +1678,12 @@ exts_list = [ ('Cwd', '3.75', { 'source_tmpl': 'PathTools-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], - 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], }), ('MIME::Base64', '3.16', { 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', @@ -1732,11 +1755,6 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], }), - ('IO::Compress::Bzip2', '2.102', { - 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], - 'checksums': ['d6fa7f9a5beee446452a0fbc43589a0c73fe7e925c075b98628b018048dc72a4'], - }), ('JSON::XS', '4.03', { 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], @@ -1767,6 +1785,21 @@ exts_list = [ 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap::Fibonacci', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), ] moduleclass = 'lang' 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 new file mode 100644 index 00000000000..5d29f924c4a --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0-minimal.eb @@ -0,0 +1,31 @@ +name = 'Perl' +version = '5.34.0' +versionsuffix = '-minimal' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +This is a minimal build without any modules. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..944e2124f79 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.0-GCCcore-11.2.0.eb @@ -0,0 +1,1864 @@ +name = 'Perl' +version = '5.34.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = ['perl-%(version)s.tar.gz'] +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'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), # for Net::SSLeay + ('expat', '2.4.1'), # for XML::Parser + ('ncurses', '6.2'), # for Term::ReadLine::Gnu + ('libreadline', '8.1'), # for Term::ReadLine::Gnu + ('DB', '18.1.40'), # for DB_File + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on Aug 3rd 2021 +exts_list = [ + ('Config::General', '2.63', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad'], + }), + ('File::Listing', '6.14', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['15b3a4871e23164a36f226381b74d450af41f12cc94985f592a669fcac7b48ff'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.42', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['0fd90d4efea82d6e262e6933759e85d27cbcfa4091b14bf4042ae20bab528e53'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Test::Fatal', '0.016', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7283d430f2ba2030b8cd979ae3039d3f1b2ec3dde1a11ca6ae09f992a66f788f'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('File::ShareDir::Install', '0.13', { + 'source_tmpl': 'File-ShareDir-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9'], + }), + ('DateTime::Locale', '1.32', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['78eabec73d13e1a23b0afcd1b05e84e3196258b98d1bbfafbad90d47db9c6679'], + }), + ('DateTime::TimeZone', '2.47', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['41617138dbb5e255fe5ac3cab6f1cc8e09f934bc95906b8cd7077192a21ef2b9'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('Module::Build', '0.4231', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Try::Tiny', '0.30', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b'], + }), + ('Params::Validate', '1.30', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9a3a35583d3125d07e8c802c1f92f5be7d526e76dd496e944da270b1e273d812'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('Exporter::Tiny', '1.002002', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['00f0b95716b18157132c6c118ded8ba31392563d19e490433e9a65382e707101'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('DateTime', '1.54', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['b12eda6d900713f227964dc4dc0e2efb86d294e8bc2f16be9e95b659f953b2e7'], + }), + ('File::Find::Rule::Perl', '1.15', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9a48433f86e08ce18e03526e2982de52162eb909d19735460f07eefcaf463ea6'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.009', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['d6ad23bbf637a59b5dfd1ac006460dfcb185982e4852cde77150fbd085f1f5b6'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.70', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('Test::Simple', '1.302186', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['2895c8da7c3fe632e5714c7cc548705202cdbf3afcbc0e929bc5e6a5172265d4'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.134', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['bacf429b18b7c0b22c088219055063e3902749531d488ebd7b17eab7757cd10b'], + }), + ('MIME::Types', '2.21', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['0086454aec7144ddcaf842ec88e01d7fc27a61091454eb8f6f8afd568da68dd7'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Parser', '3.76', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['64d9e2eb2b420f1492da01ec0e6976363245b4be9290f03f10b7d2cb63fa2f61'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('URI', '5.09', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['03e63ada499d2645c435a57551f041f3943970492baa3b3338246dab6f1fae0a'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.90', { + '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': ['f8696cfaca98234679efeedc288a9398fcf77176f1f515dbc589ada7c650dc93'], + }), + ('IO::Socket::SSL', '2.071', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['40da40948ecc9c787ed39c95715872679eebfd54243721174993a2003e32ab0a'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Getopt::Long', '2.52', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['9dc7a7c373353d5c05efae548e7b123aa8a31d1f506eb8dbbec8f0dca77705fa'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.21', { + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['375aa35b76be99f06464089174d66ac76f78ce83a5c92a907bbfab18b099eec4'], + }), + ('Test::Deep', '1.130', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56'], + }), + ('Test::Warn', '0.36', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['ecbca346d379cef8d3c0e4ac0c8eb3b2613d737ffaaeae52271c38d7bf3c6cda'], + }), + ('MRO::Compat', '0.13', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['8a2c3b6ccc19328d5579d02a7d91285e2afd85d801f49d423a8eb16f323da4f8'], + }), + ('Moo', '2.005004', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.07', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['7daa8c7eaff4005501c3431c8bf478d58bbee7b836f863581aa14afe1b4b6227'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('IPC::Run', '20200505.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['816ebf217fa0df99c583d73c0acc6ced78ac773787c664c75cbf140bb7e4c901'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('File::Remove', '1.60', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['e86e2a40ffedc6d5697d071503fd6ba14a5f9b8220af3af022110d8e724f8ca6'], + }), + ('YAML::Tiny', '1.73', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['bc315fa12e8f1e3ee5e2f430d90b708a5dc7e47c867dba8dce3a6b8fbe257744'], + }), + ('Module::Install', '1.19', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1a53a78ddf3ab9e3c03fc5e354b436319a944cba4281baf0b904fa932a13011b'], + }), + ('Config::Tiny', '2.26', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['83b53291baec7884fbdfeb2a231297202df266cac58638b895ce25ec877dcf5f'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('Test::Most', '0.37', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['533370141eb9f18cf4ac380f6ded2ab57802a6e184008a80fd2304bfcc474fc7'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('Test::Differences', '0.68', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['e68547206cb099a2594165ca0adc99fc12adb97c7f02a1222f62961fd775e270'], + }), + ('HTTP::Tiny', '0.078', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6d150215b0177bef1ff4f0d9a42abecc08507872e09417b01e6b57092d2e48c2'], + }), + ('Package::DeprecationManager', '0.17', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.26', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.48', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['1e1e300a62b932acd7511c31c6b59efd92b0aab8eaac863a6c0121a4c246dd34'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('LWP::Simple', '6.55', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['c1d0d3a44a039b136ebac7336f576e3f5c232347e8221abd69ceb4108e85c920'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.29', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['d3676ba94641e03d6a30e951f09266c4c3ca3f5b58aa7b314a67f28e419878aa'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('Exporter', '5.74', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eadb889ef673ad940da6aa4f6f7d75fc1e625ae786ae3533fd313eaf629945b8'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('XML::XPath', '1.44', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['1cc9110705165dc09dd09974dd7c0b6709c9351d6b6b1cef5a711055f891dd0f'], + }), + ('JSON', '4.03', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['e41f8761a5e7b9b27af26fe5780d44550d7a6a66bf3078e337d676d07a699941'], + }), + ('Sub::Exporter', '0.988', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['23324887d6c590f145702f077d8ca42f1b2f26a3b76f08d66c2c1e21e606040c'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Text::Balanced', '2.04', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['f49c408b85c80ba762785428a87599bed22dc0fd6bb765c9fa6ddfaa32e4e7e2'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.01', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['2a90a5eea3f22c40b87932a929621680609ab5f6b874a77c4134c8a04eb8e74b'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('List::SomeUtils', '0.58', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d'], + }), + ('List::UtilsBy', '0.11', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['faddf43b4bc21db8e4c0e89a26e5f23fe626cde3491ec651b6aa338627f5775a'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.65', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['3ba7bdec659416a51fe2a7e59f0883e9c6a3b21bc9d001042c1d6a32d401b28a'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('HTTP::Request', '6.33', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['23b967f71b852cb209ec92a1af6bac89a141dff1650d69824d29a345c1eceef7'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('HTTP::Daemon', '6.12', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['df47bed10c38670c780fd0116867d5fd4693604acde31ba63380dce04c4e1fa6'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Clone', '0.45', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['cbb6ee348afa95432e4878893b46752549e70dc68fe6d9e430d1d2e99079a9e6'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Moose', '2.2015', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a679d39d3e2c075a88fe7de034923e7ed7caca465da188337eb1043af050f515'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('Package::Stash', '0.39', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9165f555112e080493ce0e9129de0886da30b2593fb353a2abd1c76b2d2621b5'], + }), + ('Data::OptList', '0.112', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9910', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['1315543ee7dc683cb40e6ebf154c939cd095b8cab2cdfd67c53412ccf70e03cb'], + }), + ('IO::Tty', '1.16', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Text::Template', '1.59', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['1dd2c788c05303ed9a970e1881109642151fa93e02c7a80d4c70608276bab1ee'], + }), + ('PDF::API2', '2.041', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['cfa47682471ed4e0c56be92aac2864ef26e6c521723c34e29706d875b6e58537'], + }), + ('Devel::CheckLib', '1.14', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['f21c5e299ad3ce0fdc0cb0f41378dca85a70e8d6c9a7599f0e56a957200ec294'], + }), + ('SVG', '2.86', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['72c6eb6f86bb2c330280f9f3d342bb2673ad5da22d1f44fba3e04cfb5d30a67b'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.54', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['bbabe42d3b4cdaa3a47666b957be81d55bbd1cbcffcdff2b119586d33602eabe'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('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::Slurper', '0.012', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['4efb2ea416b110a1bda6f8133549cc6ea3676402e3caf7529fce0313250aa578'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Graph', '0.9722', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c113633833f3a1bef8fa8eb96680be36d00e41ef404bddd7fc0bb98703e28d4d'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.008', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5f798ded50dcc7d421b57850f837310666d817f4c67c15ba0f5a1d38c74df459'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.008', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e45a31d6914e8f5fc722ef48d8819400dafc02105e0c61414aabbf01bce208eb'], + }), + ('Getopt::Long::Descriptive', '0.109', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['05027ecdaf5bc442e10a5630d7ec407c1c47993b8776fe813ff47c0181db4193'], + }), + ('App::Cmd', '0.334', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['22e31e0f8f7b8c4303ad62b0ab1f941fcf598ca6e3a146b7e482e5870d6d58d3'], + }), + ('Path::Tiny', '0.118', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['32138d8d0f4c9c1a84d2a8f91bc5e913d37d8a7edefbb15a10961bfed560b0fd'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100054', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['eef61c9421688bb3a7beaca71623df11c8a749307ae428abdabc556e2bfafc3e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('B::Hooks::EndOfScope', '0.24', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['03aa3dfe5d0aa6471a96f43fe8318179d19794d4a640708f0288f9216ec7acc6'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('MooseX::Types::Perl', '0.101343', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f084beaf3c33209c68d05d4dbc24c25d604a6458b9738d96dceb086c8ef1325a'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('Specio', '0.47', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['f41307f14444f8777e572f27eeb6a964084399e7e382c47c577827ad8a286a1c'], + }), + ('Params::ValidationCompiler', '0.30', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb'], + }), + ('Log::Dispatch', '2.70', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['a3d91cc52467d3a3c6683103f3df4472d71e405a45f553289448713ac4293f21'], + }), + ('String::Flogger', '1.101245', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b'], + }), + ('Log::Dispatchouli', '2.023', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ac41b9729b71439682b34dd2772b040b5adb9e1a611d30322c01f4608e0cf2'], + }), + ('Data::Section', '0.200007', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['cd937e5b70e34aab885ff414e2a6d19e4783b7c28fc3cda5145b230514ebb4de'], + }), + ('Software::License', '0.104001', { + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['51386fdee57de4d38187ad3ffd7c5482431123bbf883f7abc28e0929fb46c387'], + }), + ('MooseX::SetOnce', '0.201', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f55734d9823cab6c77cace28406e6deafa16071d2f574d5c394060def1c07c87'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Config::MVP', '2.200012', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d8a6069be317a866d8041b1bb7cfafe34014f19743891f27a5e42a31b5c0ea75'], + }), + ('Throwable', '1.000', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['023aac67baad5b7bcdc08dc858ea5e6a8ddb0e291d15dd6d24818cdd702d318f'], + }), + ('Sub::Quote', '2.006006', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d'], + }), + ('Role::Identifiable::HasIdent', '0.007', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['561346d1a1a07a45bd851d859a825a7f67925a7a3ba5ba58e0cdad8bb99073ad'], + }), + ('Role::HasMessage', '0.006', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6a6dbe0476ff95ee1ffbef825eb18d9b02b0618deba4686e7c63b99d576d4d3'], + }), + ('MooseX::OneArgNew', '0.005', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7e4fcf474ea6c4244f0885f1066729cfdc472fbd7190dd41b4b55bcd67c3103f'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('Mixin::Linewise::Readers', '0.110', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['a7f120b7aa82dfb1a5ad1aa11abd33232b26a2b09c654e649e97a3c2128b1d8b'], + }), + ('Config::INI', '0.027', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['12eb8b7d43ab13db443b3c7110c8b70a264c19f78ff06ab8823e11f86a4f330e'], + }), + ('String::Truncate', '1.100602', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aaa3d4eec01136921484139133eb75d5c571fe51b0ad329f089e6d469a235f6e'], + }), + ('Pod::Eventual', '0.094002', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80194f3fe66dd8bd91282eb3610f5c7cac8dc5a0cd51a81c4d56a9ec18fea2bc'], + }), + ('Pod::Elemental', '0.103005', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e'], + }), + ('Pod::Weaver', '4.018', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['8ca92ec948974023194197c058e33a98ad00a88561f5bf7fe672329227a910b7'], + }), + ('Dist::Zilla', '6.024', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f063a6839c145a3aafcf0d8d9ec5519601d0c0f61d0174aed424297f65b928a8'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7044', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('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'], + }), + ('Time::HiRes', '1.9764', { + 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], + }), + ('Term::ReadLine::Gnu', '1.42', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['3c5f1281da2666777af0f34de0289564e6faa823aea54f3945c74c98e95a5e73'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.62', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['5022ad857fd76bd3f6b16af099fe2324639d9932e08f21e891fb313d9cae1705'], + }), + ('List::Util', '1.56', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['15b8537d40fb3e6dae64b2e7e983c47a99b2c20816a180bb9c868b787a12ab5b'], + }), + ('Module::CoreList', '5.20210723', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['509ec984dca1325ef73b2676624f785f56c9ec1d4f1dfdd8c02aa75d37a48e39'], + }), + ('Module::Metadata', '1.000037', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8d5a74c1b07e145edda254602fedf19c0dd0c2d9688a370afdaff89c32cba629'], + }), + ('Params::Check', '0.38', { + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.43', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['65abe3f5363fa4cdc108f5ad9ce5ce91e7a39186a1b297bb7a06fa1b0f45d377'], + }), + ('Socket', '2.032', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['20ecb6ad469f4a13c5c7a891abfa12a3cecfdeccc7140ad57b05be12815dd517'], + }), + ('Time::Local', '1.30', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb'], + }), + ('Storable', '3.15', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['fc3dad06cb2e6fc86a2f2abc5b5491d9da328ca3e6b6306559c224521db174da'], + }), + ('ExtUtils::ParseXS', '3.35', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['41def0511278a2a8ba9afa25ccab45b0453f75e7fd774e8644b5f9a57cc4ee1c'], + }), + ('Pod::Man', '4.14', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['7af1c41de34b2e4dbff700a29d7387549c2b6cf16142214450c924707ddb0f82'], + }), + ('Mozilla::CA', '20200520', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABH'], + 'checksums': ['b3ca0002310bf24a16c0d5920bdea97a2f46e77e7be3e7377e850d033387c726'], + }), + ('Test::More', '1.302186', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['2895c8da7c3fe632e5714c7cc548705202cdbf3afcbc0e929bc5e6a5172265d4'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.238', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['38f58fdef3e28a194c9c8d0dc5d02672faf93c069f40c5bcb1fabeadbbc4d2d1'], + }), + ('Net::Domain', '3.13', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['5a35fb1f2d4aa291680eb1af38899fab453c22c28e71f7c7bd3747b5a3db348c'], + }), + ('Scalar::Util', '1.56', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['15b8537d40fb3e6dae64b2e7e983c47a99b2c20816a180bb9c868b787a12ab5b'], + }), + ('Text::ParseWords', '3.30', { + 'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['85e0238179dd43997e58c66bd51611182bc7d533505029a2db0d3232edaff5e8'], + }), + ('Encode', '3.11', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['47e05cefb550ef039808564e6181a22dbf2e50d0475f8eb9de63f9d9f4912e7c'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('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'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.23', { + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['f96c48984eb6d8efb7d933b34f361d0c8b38335e3e5382e9aeccc0aa519a002c'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('URI::Escape', '5.09', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['03e63ada499d2645c435a57551f041f3943970492baa3b3338246dab6f1fae0a'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.874', { + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['d809e3018475115ad7eccb8bef49bde3bf3e75abbbcd80564728bbcfab86d3d0'], + }), + ('Text::CSV_XS', '1.46', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['27e39f0d5f2322aaf78ff90eb1221f3cbed1d4c514d0956bda19407fcb98bed6'], + }), + ('DBD::CSV', '0.58', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['6c26f710453b14d7b3cf5f3e1697e8ddaa48c0a66f5d811f4394bd8c32f287ef'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN', '3.006', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['c1fefe68354ffb80cdbd24303ebe684b3b6828df3d5f09b429a09fc4f0919c9a'], + }), + ('Business::ISBN::Data', '20210112.006', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['98c2cfb266b5fdd016989abaa471d9dd4c1d593c508a6f01f66d184d5fee8bae'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR/'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', '1.012.2', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '1.33', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['49624da338fd7d57288fa22a47241476fb5ce2f6008181f786c7830fe5af01ff'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap::Fibonacci', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..fe47b032b83 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0-minimal.eb @@ -0,0 +1,31 @@ +name = 'Perl' +version = '5.34.1' +versionsuffix = '-minimal' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +This is a minimal build without any modules. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..497e05a273d --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.34.1-GCCcore-11.3.0.eb @@ -0,0 +1,1969 @@ +name = 'Perl' +version = '5.34.1' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = ['perl-%(version)s.tar.gz'] +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'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), # for Net::SSLeay + ('expat', '2.4.8'), # for XML::Parser + ('ncurses', '6.3'), # for Term::ReadLine::Gnu + ('libreadline', '8.1.2'), # for Term::ReadLine::Gnu + ('DB', '18.1.40'), # for DB_File + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on Apr 28th 2022 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('File::Listing', '6.15', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.44', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Test::Fatal', '0.016', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7283d430f2ba2030b8cd979ae3039d3f1b2ec3dde1a11ca6ae09f992a66f788f'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('File::ShareDir::Install', '0.13', { + 'source_tmpl': 'File-ShareDir-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.016', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], + 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000145', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST/'], + 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL/'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('DateTime::Locale', '1.35', { + 'source_tmpl': 'DateTime-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['6104a15626331b521746a8ab30c1d978420b3347c235ee52c2e6de5ce2113aac'], + }), + ('DateTime::TimeZone', '2.52', { + 'source_tmpl': 'DateTime-TimeZone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['8bc5c42082874b0e9c9ef949fa19035ac9b6904ebcda1931aa2d8a13f3950d8f'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('Module::Build', '0.4231', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Params::Validate', '1.30', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9a3a35583d3125d07e8c802c1f92f5be7d526e76dd496e944da270b1e273d812'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('Exporter::Tiny', '1.002002', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['00f0b95716b18157132c6c118ded8ba31392563d19e490433e9a65382e707101'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('CPAN::Meta::Check', '0.014', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], + }), + ('Test::Without::Module', '0.20', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], + 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], + }), + ('DateTime', '1.58', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['00ee2a99d1cf1ae022eaf06b2cde600313d92a069e7ef9258a455a932a5fd90b'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.100', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['cec7c20af57ed4b0d8131599a41027f56e22b544c8083704afad6a13cd483ffc'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.70', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('Test::Simple', '1.302190', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['fbb15226f1c605c4466a8c6ba02030083d54333d34fa76c02549cae7014c3a0e'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.134', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['bacf429b18b7c0b22c088219055063e3902749531d488ebd7b17eab7757cd10b'], + }), + ('MIME::Types', '2.22', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['c2545eb30b094e942860ff8444f0f6cb54641caa8f7d386aaa2d925da4b02400'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Parser', '3.78', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['22564002f206af94c1dd8535f02b0d9735125d9ebe89dd0ff9cd6c000e29c29d'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('URI', '5.10', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['16325d5e308c7b7ab623d1bf944e1354c5f2245afcfadb8eed1e2cae9a0bd0b5'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.92', { + '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'], + }), + ('IO::Socket::SSL', '2.074', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['36486b6be49da4d029819cf7069a7b41ed48af0c87e23be0f8e6aba23d08a832'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Getopt::Long', '2.52', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['9dc7a7c373353d5c05efae548e7b123aa8a31d1f506eb8dbbec8f0dca77705fa'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.22', { + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2'], + }), + ('Test::Deep', '1.130', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56'], + }), + ('Test::Warn', '0.36', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['ecbca346d379cef8d3c0e4ac0c8eb3b2613d737ffaaeae52271c38d7bf3c6cda'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Moo', '2.005004', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.07', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['7daa8c7eaff4005501c3431c8bf478d58bbee7b836f863581aa14afe1b4b6227'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('IPC::Run', '20200505.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['816ebf217fa0df99c583d73c0acc6ced78ac773787c664c75cbf140bb7e4c901'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('File::Remove', '1.60', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['e86e2a40ffedc6d5697d071503fd6ba14a5f9b8220af3af022110d8e724f8ca6'], + }), + ('YAML::Tiny', '1.73', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['bc315fa12e8f1e3ee5e2f430d90b708a5dc7e47c867dba8dce3a6b8fbe257744'], + }), + ('Module::Install', '1.19', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1a53a78ddf3ab9e3c03fc5e354b436319a944cba4281baf0b904fa932a13011b'], + }), + ('Config::Tiny', '2.28', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['12df843a0d29d48f61bcc14c4f18f0858fd27a8dd829a00319529d654fe01500'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('Test::Most', '0.37', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['533370141eb9f18cf4ac380f6ded2ab57802a6e184008a80fd2304bfcc474fc7'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('Test::Differences', '0.69', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['18f644fdd4a1fef93ef3f7f67df8e95b593d811899f34bcbbaba4d717222f58f'], + }), + ('HTTP::Tiny', '0.080', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['243c6d566aa8f160fa1c6b0b92e5752356136b341ffffdd3ec07b23b745fde15'], + }), + ('Package::DeprecationManager', '0.17', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.26', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('LWP::Simple', '6.55', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['c1d0d3a44a039b136ebac7336f576e3f5c232347e8221abd69ceb4108e85c920'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.29', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['d3676ba94641e03d6a30e951f09266c4c3ca3f5b58aa7b314a67f28e419878aa'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('Exporter', '5.74', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eadb889ef673ad940da6aa4f6f7d75fc1e625ae786ae3533fd313eaf629945b8'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('XML::XPath', '1.44', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['1cc9110705165dc09dd09974dd7c0b6709c9351d6b6b1cef5a711055f891dd0f'], + }), + ('JSON', '4.05', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['53839373210bebea0b24fe459d0a8232446b62015c8dc42dc36051da67336bf0'], + }), + ('Sub::Exporter', '0.988', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['23324887d6c590f145702f077d8ca42f1b2f26a3b76f08d66c2c1e21e606040c'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Text::Balanced', '2.04', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['f49c408b85c80ba762785428a87599bed22dc0fd6bb765c9fa6ddfaa32e4e7e2'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.01', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['2a90a5eea3f22c40b87932a929621680609ab5f6b874a77c4134c8a04eb8e74b'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('List::SomeUtils', '0.58', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d'], + }), + ('List::UtilsBy', '0.11', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['faddf43b4bc21db8e4c0e89a26e5f23fe626cde3491ec651b6aa338627f5775a'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.65', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR/'], + 'checksums': ['3ba7bdec659416a51fe2a7e59f0883e9c6a3b21bc9d001042c1d6a32d401b28a'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('HTTP::Request', '6.36', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['576a53b486af87db56261a36099776370c06f0087d179fc8c7bb803b48cddd76'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Test::Needs', '0.002009', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], + }), + ('HTTP::Daemon', '6.14', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['f0767e7f3cbb80b21313c761f07ad8ed253bce9fa2d0ba806b3fb72d309b2e1d'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Clone', '0.45', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['cbb6ee348afa95432e4878893b46752549e70dc68fe6d9e430d1d2e99079a9e6'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Moose', '2.2201', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cd5ff9b4751f73ecb6874ba9761343d35737d4ddf5ff6b19c00d01af5ffc3eb2'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('Data::OptList', '0.112', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.16', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.60', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['d9d57fb3f432b4f100e6ceb06c8363bbaee0ad85d53d728f6ba15a330248501c'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.043', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['6312f605172973fa4d017639c217b61b1a8d6c533237ce58d5aacecfa273f0b2'], + }), + ('Devel::CheckLib', '1.14', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['f21c5e299ad3ce0fdc0cb0f41378dca85a70e8d6c9a7599f0e56a957200ec294'], + }), + ('SVG', '2.86', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['72c6eb6f86bb2c330280f9f3d342bb2673ad5da22d1f44fba3e04cfb5d30a67b'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.54', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['bbabe42d3b4cdaa3a47666b957be81d55bbd1cbcffcdff2b119586d33602eabe'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('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::Slurper', '0.013', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e2f6a4029a6a242d50054044f1fb86770b9b5cc4daeb1a967f91ffb42716a8c5'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9725', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['e75b0ecc9a7f62fd70f896b173d11c3fc00cdffd35c3e99286689d3ca2debefe'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.009', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ba82cf144820655d6d4836d12dde65f8895a3d905aeb4aa0b421249f43284c14'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.008', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e45a31d6914e8f5fc722ef48d8819400dafc02105e0c61414aabbf01bce208eb'], + }), + ('Getopt::Long::Descriptive', '0.110', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['025402c0494a5c878038f0666f41ca1230ed0d689467df9211382ff3a355be86'], + }), + ('App::Cmd', '0.334', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['22e31e0f8f7b8c4303ad62b0ab1f941fcf598ca6e3a146b7e482e5870d6d58d3'], + }), + ('Path::Tiny', '0.122', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['4bc6f76d0548ccd8b38cb66291a885bf0de453d0167562c7b82e8861afdcfb7c'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100054', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['eef61c9421688bb3a7beaca71623df11c8a749307ae428abdabc556e2bfafc3e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.62', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], + 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('MooseX::Types::Perl', '0.101343', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f084beaf3c33209c68d05d4dbc24c25d604a6458b9738d96dceb086c8ef1325a'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('Specio', '0.47', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['f41307f14444f8777e572f27eeb6a964084399e7e382c47c577827ad8a286a1c'], + }), + ('Params::ValidationCompiler', '0.30', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb'], + }), + ('Log::Dispatch', '2.70', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['a3d91cc52467d3a3c6683103f3df4472d71e405a45f553289448713ac4293f21'], + }), + ('String::Flogger', '1.101245', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b'], + }), + ('Log::Dispatchouli', '2.023', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ac41b9729b71439682b34dd2772b040b5adb9e1a611d30322c01f4608e0cf2'], + }), + ('Data::Section', '0.200007', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['cd937e5b70e34aab885ff414e2a6d19e4783b7c28fc3cda5145b230514ebb4de'], + }), + ('Software::License', '0.104001', { + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['51386fdee57de4d38187ad3ffd7c5482431123bbf883f7abc28e0929fb46c387'], + }), + ('MooseX::SetOnce', '0.201', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f55734d9823cab6c77cace28406e6deafa16071d2f574d5c394060def1c07c87'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Config::MVP', '2.200012', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d8a6069be317a866d8041b1bb7cfafe34014f19743891f27a5e42a31b5c0ea75'], + }), + ('Throwable', '1.000', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['023aac67baad5b7bcdc08dc858ea5e6a8ddb0e291d15dd6d24818cdd702d318f'], + }), + ('Sub::Quote', '2.006006', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d'], + }), + ('Role::Identifiable::HasIdent', '0.007', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['561346d1a1a07a45bd851d859a825a7f67925a7a3ba5ba58e0cdad8bb99073ad'], + }), + ('Role::HasMessage', '0.006', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6a6dbe0476ff95ee1ffbef825eb18d9b02b0618deba4686e7c63b99d576d4d3'], + }), + ('MooseX::OneArgNew', '0.005', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7e4fcf474ea6c4244f0885f1066729cfdc472fbd7190dd41b4b55bcd67c3103f'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('Mixin::Linewise::Readers', '0.110', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['a7f120b7aa82dfb1a5ad1aa11abd33232b26a2b09c654e649e97a3c2128b1d8b'], + }), + ('Config::INI', '0.027', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['12eb8b7d43ab13db443b3c7110c8b70a264c19f78ff06ab8823e11f86a4f330e'], + }), + ('String::Truncate', '1.100602', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aaa3d4eec01136921484139133eb75d5c571fe51b0ad329f089e6d469a235f6e'], + }), + ('Pod::Eventual', '0.094002', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80194f3fe66dd8bd91282eb3610f5c7cac8dc5a0cd51a81c4d56a9ec18fea2bc'], + }), + ('Pod::Elemental', '0.103005', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e'], + }), + ('Pod::Weaver', '4.018', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['8ca92ec948974023194197c058e33a98ad00a88561f5bf7fe672329227a910b7'], + }), + ('Dist::Zilla', '6.024', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f063a6839c145a3aafcf0d8d9ec5519601d0c0f61d0174aed424297f65b928a8'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7046', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['3e8c9d9b44a7348f9acc917163dbfc15bd5ea72501492cea3a35b346440ff862'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('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'], + }), + ('Time::HiRes', '1.9764', { + 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], + }), + ('Term::ReadLine::Gnu', '1.42', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['3c5f1281da2666777af0f34de0289564e6faa823aea54f3945c74c98e95a5e73'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.64', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['4a6ac575815c0413b1f58967043cc9f2e166446b73c687f9bc62b5eaed9464a0'], + }), + ('List::Util', '1.62', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['7279c4ec7df0cf2c0acb874abdfe86956f5028d2414974db56edfbed8a4d339f'], + }), + ('Module::CoreList', '5.20220420', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['2f587aa37e37381f2cd5de49507f87c461e212e34f81ce74c1880363365a0828'], + }), + ('Module::Metadata', '1.000037', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8d5a74c1b07e145edda254602fedf19c0dd0c2d9688a370afdaff89c32cba629'], + }), + ('Params::Check', '0.38', { + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.43', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['65abe3f5363fa4cdc108f5ad9ce5ce91e7a39186a1b297bb7a06fa1b0f45d377'], + }), + ('Socket', '2.032', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['20ecb6ad469f4a13c5c7a891abfa12a3cecfdeccc7140ad57b05be12815dd517'], + }), + ('Time::Local', '1.30', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.44', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['77effdf31af36ef656f09aa7c15356d238dab6d1afaa7278ae15c1b6bcf86266'], + }), + ('Pod::Man', '4.14', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['7af1c41de34b2e4dbff700a29d7387549c2b6cf16142214450c924707ddb0f82'], + }), + ('Mozilla::CA', '20211001', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABH'], + 'checksums': ['122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449'], + }), + ('Test::More', '1.302190', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['fbb15226f1c605c4466a8c6ba02030083d54333d34fa76c02549cae7014c3a0e'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.238', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['38f58fdef3e28a194c9c8d0dc5d02672faf93c069f40c5bcb1fabeadbbc4d2d1'], + }), + ('Net::Domain', '3.13', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['5a35fb1f2d4aa291680eb1af38899fab453c22c28e71f7c7bd3747b5a3db348c'], + }), + ('Scalar::Util', '1.56', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['15b8537d40fb3e6dae64b2e7e983c47a99b2c20816a180bb9c868b787a12ab5b'], + }), + ('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'], + }), + ('Encode', '3.17', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['b44cbf7dd60ec6128ec575dd348484975086522611bc7580cfd305a095faa6d2'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('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'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('URI::Escape', '5.10', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['16325d5e308c7b7ab623d1bf944e1354c5f2245afcfadb8eed1e2cae9a0bd0b5'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.878', { + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['bb5713197cc5ab91302aec746b5cc7204bf84556c30d6af67ce34a6fd38444ad'], + }), + ('Text::CSV_XS', '1.47', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['4bbaffbdfb68505ef3326dc748e63ebe0db31157b78ca8dfcb8c3cd1d1313262'], + }), + ('DBD::CSV', '0.59', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['2a5fadd1d50c18ea023560d39c2cc660ae2a65fa99d9b8244edca7d2dcce9dc0'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN', '3.007', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['50cc4686dd21c9537b49a231d71711e814ebd2f19aa4ca331baf92ff2de5ce19'], + }), + ('Business::ISBN::Data', '20210112.006', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['98c2cfb266b5fdd016989abaa471d9dd4c1d593c508a6f01f66d184d5fee8bae'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR/'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', '1.012.2', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '1.33', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['49624da338fd7d57288fa22a47241476fb5ce2f6008181f786c7830fe5af01ff'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..54c05db3b92 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.1.0.eb @@ -0,0 +1,1956 @@ +name = 'Perl' +version = '5.36.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = ['perl-%(version)s.tar.gz'] +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'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), # for Net::SSLeay + ('expat', '2.4.8'), # for XML::Parser + ('ncurses', '6.3'), # for Term::ReadLine::Gnu + ('libreadline', '8.1.2'), # for Term::ReadLine::Gnu + ('DB', '18.1.40'), # for DB_File + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on Apr 28th 2022 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('File::Listing', '6.15', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.44', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Test::Fatal', '0.016', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7283d430f2ba2030b8cd979ae3039d3f1b2ec3dde1a11ca6ae09f992a66f788f'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('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'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.016', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000145', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('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'], + }), + ('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'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('Module::Build', '0.4231', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Params::Validate', '1.30', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9a3a35583d3125d07e8c802c1f92f5be7d526e76dd496e944da270b1e273d812'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('Exporter::Tiny', '1.004000', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['7f7b3b4fbe923355317243cd434d2319ffbad81c98cf8c8e189a6943b42bfeca'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('CPAN::Meta::Check', '0.014', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], + }), + ('Test::Without::Module', '0.20', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], + 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], + }), + ('DateTime', '1.58', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['00ee2a99d1cf1ae022eaf06b2cde600313d92a069e7ef9258a455a932a5fd90b'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.100', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['cec7c20af57ed4b0d8131599a41027f56e22b544c8083704afad6a13cd483ffc'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.70', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('Test::Simple', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.134', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['bacf429b18b7c0b22c088219055063e3902749531d488ebd7b17eab7757cd10b'], + }), + ('MIME::Types', '2.22', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['c2545eb30b094e942860ff8444f0f6cb54641caa8f7d386aaa2d925da4b02400'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Parser', '3.78', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['22564002f206af94c1dd8535f02b0d9735125d9ebe89dd0ff9cd6c000e29c29d'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('URI', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.92', { + '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'], + }), + ('IO::Socket::SSL', '2.074', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['36486b6be49da4d029819cf7069a7b41ed48af0c87e23be0f8e6aba23d08a832'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Getopt::Long', '2.52', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['9dc7a7c373353d5c05efae548e7b123aa8a31d1f506eb8dbbec8f0dca77705fa'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.22', { + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2'], + }), + ('Test::Deep', '1.130', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Moo', '2.005004', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.07', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['7daa8c7eaff4005501c3431c8bf478d58bbee7b836f863581aa14afe1b4b6227'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('IPC::Run', '20220807.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['277d781dbbc98af18e979c7ef36f222513d7361742c52507c3348b265f6f5e69'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.73', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['bc315fa12e8f1e3ee5e2f430d90b708a5dc7e47c867dba8dce3a6b8fbe257744'], + }), + ('Module::Install', '1.19', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1a53a78ddf3ab9e3c03fc5e354b436319a944cba4281baf0b904fa932a13011b'], + }), + ('Config::Tiny', '2.28', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['12df843a0d29d48f61bcc14c4f18f0858fd27a8dd829a00319529d654fe01500'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('Test::Most', '0.37', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['533370141eb9f18cf4ac380f6ded2ab57802a6e184008a80fd2304bfcc474fc7'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('Test::Differences', '0.69', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['18f644fdd4a1fef93ef3f7f67df8e95b593d811899f34bcbbaba4d717222f58f'], + }), + ('HTTP::Tiny', '0.082', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['54e9e4a559a92cbb90e3f19c8a88ff067ec2f68fbe39bbb694ee70828cd5f4b8'], + }), + ('Package::DeprecationManager', '0.17', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.26', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('LWP::Simple', '6.67', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['96eec40a3fd0aa1bd834117be5eb21c438f73094d861a1a7e5774f0b1226b723'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('Exporter', '5.74', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eadb889ef673ad940da6aa4f6f7d75fc1e625ae786ae3533fd313eaf629945b8'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.09', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['6780a51f438c0932eec0534fc9cd2b1ad0d64817eda4add8ede5ec77d6d2c991'], + }), + ('Sub::Exporter', '0.988', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['23324887d6c590f145702f077d8ca42f1b2f26a3b76f08d66c2c1e21e606040c'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.02', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['84120de3e10489ea8fbbb96411a340c32cafbe5cdff7dd9576b207081baa9d24'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('List::SomeUtils', '0.58', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('HTTP::Request', '6.37', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0e59da0a85e248831327ebfba66796314cb69f1bfeeff7a9da44ad766d07d802'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Test::Needs', '0.002009', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], + }), + ('HTTP::Daemon', '6.14', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['f0767e7f3cbb80b21313c761f07ad8ed253bce9fa2d0ba806b3fb72d309b2e1d'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Clone', '0.45', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['cbb6ee348afa95432e4878893b46752549e70dc68fe6d9e430d1d2e99079a9e6'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Moose', '2.2201', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cd5ff9b4751f73ecb6874ba9761343d35737d4ddf5ff6b19c00d01af5ffc3eb2'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('Data::OptList', '0.112', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.16', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.043', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['6312f605172973fa4d017639c217b61b1a8d6c533237ce58d5aacecfa273f0b2'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.55', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c4f3caa1328fdc48595ccd0d1e16c40bd74af2547552370125b4b7e5eae1ff44'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('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::Slurper', '0.013', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e2f6a4029a6a242d50054044f1fb86770b9b5cc4daeb1a967f91ffb42716a8c5'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9725', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['e75b0ecc9a7f62fd70f896b173d11c3fc00cdffd35c3e99286689d3ca2debefe'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.009', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ba82cf144820655d6d4836d12dde65f8895a3d905aeb4aa0b421249f43284c14'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.008', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e45a31d6914e8f5fc722ef48d8819400dafc02105e0c61414aabbf01bce208eb'], + }), + ('Getopt::Long::Descriptive', '0.110', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['025402c0494a5c878038f0666f41ca1230ed0d689467df9211382ff3a355be86'], + }), + ('App::Cmd', '0.334', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['22e31e0f8f7b8c4303ad62b0ab1f941fcf598ca6e3a146b7e482e5870d6d58d3'], + }), + ('Path::Tiny', '0.122', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['4bc6f76d0548ccd8b38cb66291a885bf0de453d0167562c7b82e8861afdcfb7c'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100054', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['eef61c9421688bb3a7beaca71623df11c8a749307ae428abdabc556e2bfafc3e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.62', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], + 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('MooseX::Types::Perl', '0.101343', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f084beaf3c33209c68d05d4dbc24c25d604a6458b9738d96dceb086c8ef1325a'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Params::ValidationCompiler', '0.30', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb'], + }), + ('Log::Dispatch', '2.70', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['a3d91cc52467d3a3c6683103f3df4472d71e405a45f553289448713ac4293f21'], + }), + ('String::Flogger', '1.101245', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b'], + }), + ('Log::Dispatchouli', '2.023', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ac41b9729b71439682b34dd2772b040b5adb9e1a611d30322c01f4608e0cf2'], + }), + ('Data::Section', '0.200007', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['cd937e5b70e34aab885ff414e2a6d19e4783b7c28fc3cda5145b230514ebb4de'], + }), + ('Software::License', '0.104001', { + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['51386fdee57de4d38187ad3ffd7c5482431123bbf883f7abc28e0929fb46c387'], + }), + ('MooseX::SetOnce', '0.201', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f55734d9823cab6c77cace28406e6deafa16071d2f574d5c394060def1c07c87'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Config::MVP', '2.200012', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d8a6069be317a866d8041b1bb7cfafe34014f19743891f27a5e42a31b5c0ea75'], + }), + ('Throwable', '1.000', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['023aac67baad5b7bcdc08dc858ea5e6a8ddb0e291d15dd6d24818cdd702d318f'], + }), + ('Sub::Quote', '2.006006', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d'], + }), + ('Role::Identifiable::HasIdent', '0.008', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e2b145e97b2526cd2b4fd32c208787f292d3c3bedda5c7ad224fc53c3bf22d71'], + }), + ('Role::HasMessage', '0.006', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6a6dbe0476ff95ee1ffbef825eb18d9b02b0618deba4686e7c63b99d576d4d3'], + }), + ('MooseX::OneArgNew', '0.006', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9bd616fb00a03d28509f46b9a541f7eeb26211999d3941f403a2561921406630'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('Mixin::Linewise::Readers', '0.110', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['a7f120b7aa82dfb1a5ad1aa11abd33232b26a2b09c654e649e97a3c2128b1d8b'], + }), + ('Config::INI', '0.027', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['12eb8b7d43ab13db443b3c7110c8b70a264c19f78ff06ab8823e11f86a4f330e'], + }), + ('String::Truncate', '1.100602', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aaa3d4eec01136921484139133eb75d5c571fe51b0ad329f089e6d469a235f6e'], + }), + ('Pod::Eventual', '0.094002', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80194f3fe66dd8bd91282eb3610f5c7cac8dc5a0cd51a81c4d56a9ec18fea2bc'], + }), + ('Pod::Elemental', '0.103005', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e'], + }), + ('Pod::Weaver', '4.018', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['8ca92ec948974023194197c058e33a98ad00a88561f5bf7fe672329227a910b7'], + }), + ('Dist::Zilla', '6.025', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['07798e270e5d904d1071e2b421309b732d0be7d682f4d9487945e815012726cc'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7046', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['3e8c9d9b44a7348f9acc917163dbfc15bd5ea72501492cea3a35b346440ff862'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('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'], + }), + ('Time::HiRes', '1.9764', { + 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], + }), + ('Term::ReadLine::Gnu', '1.42', { + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['3c5f1281da2666777af0f34de0289564e6faa823aea54f3945c74c98e95a5e73'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.64', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['4a6ac575815c0413b1f58967043cc9f2e166446b73c687f9bc62b5eaed9464a0'], + }), + ('List::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20220820', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['708effbbf04158b087d34d8acc707f35bdab9dccc61b41d432cb6d995d137f43'], + }), + ('Module::Metadata', '1.000037', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8d5a74c1b07e145edda254602fedf19c0dd0c2d9688a370afdaff89c32cba629'], + }), + ('Params::Check', '0.38', { + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.43', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['65abe3f5363fa4cdc108f5ad9ce5ce91e7a39186a1b297bb7a06fa1b0f45d377'], + }), + ('Socket', '2.036', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['1cd8272bccde8098183a60a274b3eda0764cc6984db97f5474b28bebfe2c6b70'], + }), + ('Time::Local', '1.30', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.44', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['77effdf31af36ef656f09aa7c15356d238dab6d1afaa7278ae15c1b6bcf86266'], + }), + ('Pod::Man', '4.14', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['7af1c41de34b2e4dbff700a29d7387549c2b6cf16142214450c924707ddb0f82'], + }), + ('Mozilla::CA', '20211001', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABH'], + 'checksums': ['122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449'], + }), + ('Test::More', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.238', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['38f58fdef3e28a194c9c8d0dc5d02672faf93c069f40c5bcb1fabeadbbc4d2d1'], + }), + ('Net::Domain', '3.14', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['153c8eb8ef0f19cf2c631d5b45d05de98516937f34e261125ef242fba1fe2ea4'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('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'], + }), + ('Encode', '3.19', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('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'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('URI::Escape', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.879', { + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['9c4cf39838b5c113448799af451b3d64b54e0de39d635536d7e85e8bdc5888dc'], + }), + ('Text::CSV_XS', '1.48', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['b72a2ed61c63561f6bfc1d5986a09f3ac252bdfda5c1c898b0b677641ce1e8bf'], + }), + ('DBD::CSV', '0.59', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['2a5fadd1d50c18ea023560d39c2cc660ae2a65fa99d9b8244edca7d2dcce9dc0'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN', '3.007', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['50cc4686dd21c9537b49a231d71711e814ebd2f19aa4ca331baf92ff2de5ce19'], + }), + ('Business::ISBN::Data', '20210112.006', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['98c2cfb266b5fdd016989abaa471d9dd4c1d593c508a6f01f66d184d5fee8bae'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('IO::Compress::Bzip2', '2.201', { + 'source_tmpl': 'IO-Compress-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PM/PMQS'], + 'checksums': ['f6c55c4e39cfaa3219965dd3b36c9de1edee9a82a10a9cadeb3b74a9ceeeaaad'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR/'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', '1.013', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['491c5602eeb2c5c91866fb98fc22deb5e56374909702fbb873f043c770a3b7b8'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '1.33', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['49624da338fd7d57288fa22a47241476fb5ce2f6008181f786c7830fe5af01ff'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..15256f12d96 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0-minimal.eb @@ -0,0 +1,31 @@ +name = 'Perl' +version = '5.36.0' +versionsuffix = '-minimal' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +This is a minimal build without any modules. Should only be used for build dependencies. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..3a6727d62a4 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb @@ -0,0 +1,1969 @@ +name = 'Perl' +version = '5.36.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = ['perl-%(version)s.tar.gz'] +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'), + ('groff', '1.22.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), # for Net::SSLeay + ('expat', '2.4.9'), # for XML::Parser + ('ncurses', '6.3'), # for Term::ReadLine::Gnu + ('libreadline', '8.2'), # for Term::ReadLine::Gnu + ('DB', '18.1.40'), # for DB_File + ('OpenSSL', '1.1', '', SYSTEM), # required for Net::SSLeay +] + +# !! order of extensions is important !! +# extensions updated on 8 Sept 2022 +exts_list = [ + ('Config::General', '2.65', { + 'source_tmpl': 'Config-General-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], + 'checksums': ['4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f'], + }), + ('File::Listing', '6.15', { + 'source_tmpl': 'File-Listing-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['46c4fb9f9eb9635805e26b7ea55b54455e47302758a10ed2a0b92f392713770c'], + }), + ('ExtUtils::InstallPaths', '0.012', { + 'source_tmpl': 'ExtUtils-InstallPaths-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed'], + }), + ('ExtUtils::Helpers', '0.026', { + 'source_tmpl': 'ExtUtils-Helpers-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416'], + }), + ('Test::Harness', '3.44', { + 'source_tmpl': 'Test-Harness-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297'], + }), + ('ExtUtils::Config', '0.008', { + 'source_tmpl': 'ExtUtils-Config-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c'], + }), + ('Module::Build::Tiny', '0.039', { + 'source_tmpl': 'Module-Build-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c'], + }), + ('aliased', '0.34', { + 'source_tmpl': 'aliased-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c350524507cd827fab864e5d4c2cc350b1babaa12fa95aec0ca00843fcc7deeb'], + }), + ('Text::Glob', '0.11', { + 'source_tmpl': 'Text-Glob-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['069ccd49d3f0a2dedb115f4bdc9fbac07a83592840953d1fcdfc39eb9d305287'], + }), + ('Regexp::Common', '2017060201', { + 'source_tmpl': 'Regexp-Common-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABIGAIL'], + 'checksums': ['ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b'], + }), + ('GO::Utils', '0.15', { + 'source_tmpl': 'go-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['423d26155ee85ca51ab2270cee59f4e85b193e57ac3a29aff827298c0a396b12'], + }), + ('Module::Pluggable', '5.2', { + 'source_tmpl': 'Module-Pluggable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMONW'], + 'checksums': ['b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df'], + }), + ('Test::Fatal', '0.016', { + 'source_tmpl': 'Test-Fatal-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7283d430f2ba2030b8cd979ae3039d3f1b2ec3dde1a11ca6ae09f992a66f788f'], + }), + ('Test::Warnings', '0.031', { + 'source_tmpl': 'Test-Warnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1e542909fef305e45563e9878ea1c3b0c7cef1b28bb7ae07eba2e1efabec477b'], + }), + ('File::ShareDir', '1.118', { + 'source_tmpl': 'File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['3bb2a20ba35df958dc0a4f2306fc05d903d8b8c4de3c8beefce17739d281c958'], + }), + ('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'], + }), + ('IPC::System::Simple', '1.30', { + 'source_tmpl': 'IPC-System-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e'], + }), + ('Importer', '0.026', { + 'source_tmpl': 'Importer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['e08fa84e13cb998b7a897fc8ec9c3459fcc1716aff25cc343e36ef875891b0ef'], + }), + ('Term::Table', '0.016', { + 'source_tmpl': 'Term-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['8fb4fbb8e96a2d6c514949eb8cfd7e66319bcb1cbf7cea0ab19af887a72d97bf'], + }), + ('Scope::Guard', '0.21', { + 'source_tmpl': 'Scope-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278'], + }), + ('Sub::Info', '0.002', { + 'source_tmpl': 'Sub-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea'], + }), + ('Test2::Require::Module', '0.000145', { + 'source_tmpl': 'Test2-Suite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ed44be739c8879fe178d3107b238f2db960d52797db0058de53be5b84600358b'], + }), + ('Test2::Plugin::NoWarnings', '0.09', { + 'source_tmpl': 'Test2-Plugin-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['be3dd800042eef362bf17d2056cf9e934dee91ccce98e4f178b8fb5772f2fb74'], + }), + ('Class::Tiny', '1.008', { + 'source_tmpl': 'Class-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['ee058a63912fa1fcb9a72498f56ca421a2056dc7f9f4b67837446d6421815615'], + }), + ('Test::File::ShareDir::Dist', '1.001002', { + 'source_tmpl': 'Test-File-ShareDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad'], + }), + ('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'], + }), + ('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'], + }), + ('Test::Requires', '0.11', { + 'source_tmpl': 'Test-Requires-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM'], + 'checksums': ['4b88de549597eecddf7c3c38a4d0204a16f59ad804577b671896ac04e24e040f'], + }), + ('Module::Implementation', '0.09', { + 'source_tmpl': 'Module-Implementation-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d'], + }), + ('Module::Build', '0.4231', { + 'source_tmpl': 'Module-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['7e0f4c692c1740c1ac84ea14d7ea3d8bc798b2fb26c09877229e04f430b2b717'], + }), + ('Module::Runtime', '0.016', { + 'source_tmpl': 'Module-Runtime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM'], + 'checksums': ['68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024'], + }), + ('Try::Tiny', '0.31', { + 'source_tmpl': 'Try-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['3300d31d8a4075b26d8f46ce864a1d913e0e8467ceeba6655d5d2b2e206c11be'], + }), + ('Params::Validate', '1.30', { + 'source_tmpl': 'Params-Validate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['9a3a35583d3125d07e8c802c1f92f5be7d526e76dd496e944da270b1e273d812'], + }), + ('List::MoreUtils', '0.430', { + 'source_tmpl': 'List-MoreUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['63b1f7842cd42d9b538d1e34e0330de5ff1559e4c2737342506418276f646527'], + }), + ('Exporter::Tiny', '1.004000', { + 'source_tmpl': 'Exporter-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TOBYINK'], + 'checksums': ['7f7b3b4fbe923355317243cd434d2319ffbad81c98cf8c8e189a6943b42bfeca'], + }), + ('Class::Singleton', '1.6', { + 'source_tmpl': 'Class-Singleton-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4'], + }), + ('CPAN::Meta::Check', '0.014', { + 'source_tmpl': 'CPAN-Meta-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT/'], + 'checksums': ['28a0572bfc1c0678d9ce7da48cf521097ada230f96eb3d063fcbae1cfe6a351f'], + }), + ('Test::Without::Module', '0.20', { + 'source_tmpl': 'Test-Without-Module-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION/'], + 'checksums': ['8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524'], + }), + ('DateTime', '1.58', { + 'source_tmpl': 'DateTime-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['00ee2a99d1cf1ae022eaf06b2cde600313d92a069e7ef9258a455a932a5fd90b'], + }), + ('File::Find::Rule::Perl', '1.16', { + 'source_tmpl': 'File-Find-Rule-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ae1886050d9ca21223c073e2870abdc80dc30e3f55289a11c37da3820a8321ff'], + }), + ('Readonly', '2.05', { + 'source_tmpl': 'Readonly-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SANKO'], + 'checksums': ['4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e'], + }), + ('Git', '0.42', { + 'source_tmpl': 'Git-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSOUTH'], + 'checksums': ['9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d'], + }), + ('Tree::DAG_Node', '1.32', { + 'source_tmpl': 'Tree-DAG_Node-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['22d9de3d6e6f4afd89e6d825c664f9482878bd49e29cb81342a707af40542d3d'], + }), + ('Template', '3.101', { + 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['d2a32dd6c21e4b37c6a93df8087ca9e880cfae613a3e5efaea307b0bdcaedb58'], + }), + ('DBI', '1.643', { + 'source_tmpl': 'DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], + 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], + }), + ('DBD::SQLite', '1.70', { + 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['40fd8ddf539e0e773a7a4e6d376794c3301459f9ab0050978bdcf97113dafe3e'], + }), + ('Math::Bezier', '0.01', { + 'source_tmpl': 'Math-Bezier-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABW'], + 'checksums': ['11a815fc45fdf0efabb1822ab77faad8b9eea162572c5f0940c8ed7d56e6b8b8'], + }), + ('Archive::Extract', '0.88', { + 'source_tmpl': 'Archive-Extract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['cffcf135cd0622287d3b02154f7d6716495449fcaed03966621948e25ea5f742'], + }), + ('DBIx::Simple', '1.37', { + 'source_tmpl': 'DBIx-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JU/JUERD'], + 'checksums': ['46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3'], + }), + ('Shell', '0.73', { + 'source_tmpl': 'Shell-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FE/FERREIRA'], + 'checksums': ['f7dbebf65261ed0e5abd0f57052b64d665a1a830bab4c8bbc220f235bd39caf5'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('Test::Simple', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Set::Scalar', '1.29', { + 'source_tmpl': 'Set-Scalar-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDO'], + 'checksums': ['a3dc1526f3dde72d3c64ea00007b86ce608cdcd93567cf6e6e42dc10fdc4511d'], + }), + ('IO::Stringy', '2.113', { + 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], + }), + ('Encode::Locale', '1.05', { + 'source_tmpl': 'Encode-Locale-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1'], + }), + ('XML::SAX::Base', '1.09', { + 'source_tmpl': 'XML-SAX-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0'], + }), + ('XML::NamespaceSupport', '1.12', { + 'source_tmpl': 'XML-NamespaceSupport-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef'], + }), + ('XML::SAX', '1.02', { + 'source_tmpl': 'XML-SAX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a'], + }), + ('Test::LeakTrace', '0.17', { + 'source_tmpl': 'Test-LeakTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEEJO'], + 'checksums': ['777d64d2938f5ea586300eef97ef03eacb43d4c1853c9c3b1091eb3311467970'], + }), + ('Test::Exception', '0.43', { + 'source_tmpl': 'Test-Exception-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['156b13f07764f766d8b45a43728f2439af81a3512625438deab783b7883eb533'], + }), + ('Text::Aligner', '0.16', { + 'source_tmpl': 'Text-Aligner-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['5c857dbce586f57fa3d7c4ebd320023ab3b2963b2049428ae01bd3bc4f215725'], + }), + ('Text::Table', '1.134', { + 'source_tmpl': 'Text-Table-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['bacf429b18b7c0b22c088219055063e3902749531d488ebd7b17eab7757cd10b'], + }), + ('MIME::Types', '2.22', { + 'source_tmpl': 'MIME-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['c2545eb30b094e942860ff8444f0f6cb54641caa8f7d386aaa2d925da4b02400'], + }), + ('File::Copy::Recursive', '0.45', { + 'source_tmpl': 'File-Copy-Recursive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['d3971cf78a8345e38042b208bb7b39cb695080386af629f4a04ffd6549df1157'], + }), + ('Cwd::Guard', '0.05', { + 'source_tmpl': 'Cwd-Guard-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KAZEBURO'], + 'checksums': ['7afc7ca2b9502e440241938ad97a3e7ebd550180ebd6142e1db394186b268e77'], + }), + ('Capture::Tiny', '0.48', { + 'source_tmpl': 'Capture-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['6c23113e87bad393308c90a207013e505f659274736638d8c79bac9c67cc3e19'], + }), + ('File::Copy::Recursive::Reduced', '0.006', { + 'source_tmpl': 'File-Copy-Recursive-Reduced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN'], + 'checksums': ['e618f993a69f4355205c58fffff6982609f28b47f646ec6e244e41b5c6707e2c'], + }), + ('Module::Build::XSUtil', '0.19', { + 'source_tmpl': 'Module-Build-XSUtil-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HI/HIDEAKIO'], + 'checksums': ['9063b3c346edeb422807ffe49ffb23038c4f900d4a77b845ce4b53d97bf29400'], + }), + ('Tie::Function', '0.02', { + 'source_tmpl': 'Tie-Function-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAVIDNICO/handy_tied_functions'], + 'checksums': ['0b1617af218dfab911ba0fbd72210529a246efe140332da77fe3e03d11000117'], + }), + ('Template::Plugin::Number::Format', '1.06', { + 'source_tmpl': 'Template-Plugin-Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DARREN'], + 'checksums': ['0865836a1bcbc34d4a0ee34b5ccc14d7b511f1fd300bf390f002dac349539843'], + }), + ('HTML::Parser', '3.78', { + 'source_tmpl': 'HTML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['22564002f206af94c1dd8535f02b0d9735125d9ebe89dd0ff9cd6c000e29c29d'], + }), + ('Date::Handler', '1.2', { + 'source_tmpl': 'Date-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BB/BBEAUSEJ'], + 'checksums': ['c36fd2b68d48c2e17417bf2873c78820f3ae02460fdf5976b8eeab887d59e16c'], + }), + ('Params::Util', '1.102', { + 'source_tmpl': 'Params-Util-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['499bb1b482db24fda277a51525596ad092c2bd51dd508fa8fec2e9f849097402'], + }), + ('IO::HTML', '1.004', { + 'source_tmpl': 'IO-HTML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CJ/CJM'], + 'checksums': ['c87b2df59463bbf2c39596773dfb5c03bde0f7e1051af339f963f58c1cbd8bf5'], + }), + ('Data::Grove', '0.08', { + 'source_tmpl': 'libxml-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KM/KMACLEOD'], + 'checksums': ['4571059b7b5d48b7ce52b01389e95d798bf5cf2020523c153ff27b498153c9cb'], + }), + ('Class::ISA', '0.36', { + 'source_tmpl': 'Class-ISA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['8816f34e9a38e849a10df756030dccf9fe061a196c11ac3faafd7113c929b964'], + }), + ('URI', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Ima::DBI', '0.35', { + 'source_tmpl': 'Ima-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERRIN'], + 'checksums': ['8b481ceedbf0ae4a83effb80581550008bfdd3885ef01145e3733c7097c00a08'], + }), + ('Tie::IxHash', '1.23', { + 'source_tmpl': 'Tie-IxHash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56'], + }), + ('GO', '0.04', { + 'source_tmpl': 'go-db-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SJ/SJCARBON'], + 'checksums': ['8eb73d591ad767e7cf26def40cffd84833875f1ad51e456960b9ed73dc23641b'], + }), + ('Class::DBI::SQLite', '0.11', { + 'source_tmpl': 'Class-DBI-SQLite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['c4661b00afb7e53c97ac36e13f34dde43c1a93540a2f4ff97e6182b0c731e4e7'], + }), + ('Pod::POM', '2.01', { + 'source_tmpl': 'Pod-POM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4'], + }), + ('Math::Round', '0.07', { + 'source_tmpl': 'Math-Round-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GROMMEL'], + 'checksums': ['73a7329a86e54a5c29a440382e5803095b58f33129e61a1df0093b4824de9327'], + }), + ('Text::Diff', '1.45', { + 'source_tmpl': 'Text-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['e8baa07b1b3f53e00af3636898bbf73aec9a0ff38f94536ede1dbe96ef086f04'], + }), + ('Log::Message::Simple', '0.10', { + 'source_tmpl': 'Log-Message-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['aa12d1a4c0ac260b94d448fa01feba242a8a85cb6cbfdc66432e3b5b468add96'], + }), + ('Net::SSLeay', '1.92', { + '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'], + }), + ('IO::Socket::SSL', '2.075', { + 'source_tmpl': 'IO-Socket-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SU/SULLR'], + 'checksums': ['c30ee2220b1e181a968ebbc81861d0cadf334b001377a44105ae5a8637ddae8c'], + }), + ('Fennec::Lite', '0.004', { + 'source_tmpl': 'Fennec-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('Meta::Builder', '0.004', { + 'source_tmpl': 'Meta-Builder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe'], + }), + ('Exporter::Declare', '0.114', { + 'source_tmpl': 'Exporter-Declare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4'], + }), + ('Getopt::Long', '2.52', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['9dc7a7c373353d5c05efae548e7b123aa8a31d1f506eb8dbbec8f0dca77705fa'], + }), + ('Log::Message', '0.08', { + 'source_tmpl': 'Log-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46'], + }), + ('Mouse', 'v2.5.10', { + 'source_tmpl': 'Mouse-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SK/SKAJI'], + 'checksums': ['ce8dc23946153a467ff09765167ee2590f5c502120f48a2d9441733f39aa32ee'], + }), + ('Test::Version', '2.09', { + 'source_tmpl': 'Test-Version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0'], + }), + ('DBIx::Admin::TableInfo', '3.04', { + 'source_tmpl': 'DBIx-Admin-TableInfo-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['b9625992683b97378bea0947773f50e3c9f81974048b84f4c3422cae7e6082f4'], + }), + ('Net::HTTP', '6.22', { + 'source_tmpl': 'Net-HTTP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['62faf9a5b84235443fe18f780e69cecf057dea3de271d7d8a0ba72724458a1a2'], + }), + ('Test::Deep', '1.130', { + 'source_tmpl': 'Test-Deep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['4064f494f5f62587d0ae501ca439105821ee5846c687dc6503233f55300a7c56'], + }), + ('Test::Warn', '0.37', { + 'source_tmpl': 'Test-Warn-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BIGJ'], + 'checksums': ['98ca32e7f2f5ea89b8bfb9a0609977f3d153e242e2e51705126cb954f1a06b57'], + }), + ('MRO::Compat', '0.15', { + 'source_tmpl': 'MRO-Compat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['0d4535f88e43babd84ab604866215fc4d04398bd4db7b21852d4a31b1c15ef61'], + }), + ('Moo', '2.005004', { + 'source_tmpl': 'Moo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['e3030b80bd554a66f6b3c27fd53b1b5909d12af05c4c11ece9a58f8d1e478928'], + }), + ('Clone::Choose', '0.010', { + 'source_tmpl': 'Clone-Choose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['5623481f58cee8edb96cd202aad0df5622d427e5f748b253851dfd62e5123632'], + }), + ('Hash::Merge', '0.302', { + 'source_tmpl': 'Hash-Merge-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HE/HERMES'], + 'checksums': ['ae0522f76539608b61dde14670e79677e0f391036832f70a21f31adde2538644'], + }), + ('SQL::Abstract', '2.000001', { + 'source_tmpl': 'SQL-Abstract-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSTROUT'], + 'checksums': ['35a642662c349420d44be6e0ef7d8765ea743eb12ad14399aa3a232bb94e6e9a'], + }), + ('HTML::Form', '6.10', { + 'source_tmpl': 'HTML-Form-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SI/SIMBABQUE'], + 'checksums': ['df8393e35e495a0839f06a63fb65d6922842c180d260554137728a9f092df9d3'], + }), + ('Number::Compare', '0.03', { + 'source_tmpl': 'Number-Compare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['83293737e803b43112830443fb5208ec5208a2e6ea512ed54ef8e4dd2b880827'], + }), + ('IPC::Run', '20220807.0', { + 'source_tmpl': 'IPC-Run-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['277d781dbbc98af18e979c7ef36f222513d7361742c52507c3348b265f6f5e69'], + }), + ('HTML::Entities::Interpolate', '1.10', { + 'source_tmpl': 'HTML-Entities-Interpolate-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['f15a9df92c282419f7010964aca1ada844ddfae7afc735cd2ba1bb20883e955c'], + }), + ('File::Remove', '1.61', { + 'source_tmpl': 'File-Remove-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['fd857f585908fc503461b9e48b3c8594e6535766bc14beb17c90ba58d5dc4975'], + }), + ('YAML::Tiny', '1.73', { + 'source_tmpl': 'YAML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['bc315fa12e8f1e3ee5e2f430d90b708a5dc7e47c867dba8dce3a6b8fbe257744'], + }), + ('Module::Install', '1.19', { + 'source_tmpl': 'Module-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1a53a78ddf3ab9e3c03fc5e354b436319a944cba4281baf0b904fa932a13011b'], + }), + ('Config::Tiny', '2.28', { + 'source_tmpl': 'Config-Tiny-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['12df843a0d29d48f61bcc14c4f18f0858fd27a8dd829a00319529d654fe01500'], + }), + ('Test::ClassAPI', '1.07', { + 'source_tmpl': 'Test-ClassAPI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['30e9dbfc5e0cc2ee14eae8f3465a908a710daecbd0a3ebdb2888fc4504fa18aa'], + }), + ('Test::Most', '0.37', { + 'source_tmpl': 'Test-Most-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OV/OVID'], + 'checksums': ['533370141eb9f18cf4ac380f6ded2ab57802a6e184008a80fd2304bfcc474fc7'], + }), + ('Class::Accessor', '0.51', { + 'source_tmpl': 'Class-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c'], + }), + ('Test::Differences', '0.69', { + 'source_tmpl': 'Test-Differences-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['18f644fdd4a1fef93ef3f7f67df8e95b593d811899f34bcbbaba4d717222f58f'], + }), + ('HTTP::Tiny', '0.082', { + 'source_tmpl': 'HTTP-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['54e9e4a559a92cbb90e3f19c8a88ff067ec2f68fbe39bbb694ee70828cd5f4b8'], + }), + ('Package::DeprecationManager', '0.17', { + 'source_tmpl': 'Package-DeprecationManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b'], + }), + ('Digest::SHA1', '2.13', { + 'source_tmpl': 'Digest-SHA1-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc'], + }), + ('Date::Language', '2.33', { + 'source_tmpl': 'TimeDate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['c0b69c4b039de6f501b0d9f13ec58c86b040c1f7e9b27ef249651c143d605eb2'], + }), + ('version', '0.9929', { + 'source_tmpl': 'version-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['5056ed481ada4e0fa497096d4091b18658f214d862e1ed164edf10bc6b39c8b0'], + }), + ('Sub::Uplevel', '0.2800', { + 'source_tmpl': 'Sub-Uplevel-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293'], + }), + ('XML::Bare', '0.53', { + 'source_tmpl': 'XML-Bare-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CODECHILD'], + 'checksums': ['865e198e98d904be1683ef5a53a4948f02dabdacde59fc554a082ffbcc5baefd'], + }), + ('Dist::CheckConflicts', '0.11', { + 'source_tmpl': 'Dist-CheckConflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4'], + }), + ('Sub::Name', '0.26', { + 'source_tmpl': 'Sub-Name-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105'], + }), + ('Time::Piece', '1.3401', { + 'source_tmpl': 'Time-Piece-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ES/ESAYM'], + 'checksums': ['4b55b7bb0eab45cf239a54dfead277dfa06121a43e63b3fce0853aecfdb04c27'], + }), + ('Digest::HMAC', '1.04', { + 'source_tmpl': 'Digest-HMAC-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AR/ARODLAND'], + 'checksums': ['d6bc8156aa275c44d794b7c18f44cdac4a58140245c959e6b19b2c3838b08ed4'], + }), + ('HTTP::Negotiate', '6.01', { + 'source_tmpl': 'HTTP-Negotiate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016'], + }), + ('MIME::Lite', '3.033', { + 'source_tmpl': 'MIME-Lite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['78a279f1d2e242551c347ef97a13fc675766602cb84c2a80c569400f4f368bab'], + }), + ('Crypt::Rijndael', '1.16', { + 'source_tmpl': 'Crypt-Rijndael-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['6540085e3804b82a6f0752c1122cf78cadd221990136dd6fd4c097d056c84d40'], + }), + ('B::Lint', '1.20', { + 'source_tmpl': 'B-Lint-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['dc49408964fd8b7963859c92e013f0b9f92f74be5a7c2a78e3996279827c10b3'], + }), + ('Canary::Stability', '2013', { + 'source_tmpl': 'Canary-Stability-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea'], + }), + ('AnyEvent', '7.17', { + 'source_tmpl': 'AnyEvent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985'], + }), + ('Object::Accessor', '0.48', { + 'source_tmpl': 'Object-Accessor-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade'], + }), + ('Data::UUID', '1.226', { + 'source_tmpl': 'Data-UUID-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453'], + }), + ('Test::Pod', '1.52', { + 'source_tmpl': 'Test-Pod-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc'], + }), + ('AppConfig', '1.71', { + 'source_tmpl': 'AppConfig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f'], + }), + ('Net::SMTP::SSL', '1.04', { + 'source_tmpl': 'Net-SMTP-SSL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['7b29c45add19d3d5084b751f7ba89a8e40479a446ce21cfd9cc741e558332a00'], + }), + ('XML::Tiny', '2.07', { + 'source_tmpl': 'XML-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL'], + 'checksums': ['ce39fcb53e0fe9f1cbcd86ddf152e1db48566266b70ec0769ef364eeabdd8941'], + }), + ('HTML::Tagset', '3.20', { + 'source_tmpl': 'HTML-Tagset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2'], + }), + ('HTML::Tree', '5.07', { + 'source_tmpl': 'HTML-Tree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KE/KENTNL'], + 'checksums': ['f0374db84731c204b86c1d5b90975fef0d30a86bd9def919343e554e31a9dbbf'], + }), + ('Devel::GlobalDestruction', '0.14', { + 'source_tmpl': 'Devel-GlobalDestruction-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab'], + }), + ('WWW::RobotRules', '6.02', { + 'source_tmpl': 'WWW-RobotRules-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e'], + }), + ('Expect', '1.35', { + 'source_tmpl': 'Expect-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JA/JACOBY'], + 'checksums': ['09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06'], + }), + ('Term::UI', '0.50', { + 'source_tmpl': 'Term-UI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['60bfdd6d4c158b88d370133fc65b20485a36a45b12d906000b81c78ca524163d'], + }), + ('Net::SNMP', 'v6.0.1', { + 'source_tmpl': 'Net-SNMP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DT/DTOWN'], + 'checksums': ['14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741'], + }), + ('XML::Filter::BufferText', '1.01', { + 'source_tmpl': 'XML-Filter-BufferText-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RB/RBERJON'], + 'checksums': ['8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c'], + }), + ('XML::SAX::Writer', '0.57', { + 'source_tmpl': 'XML-SAX-Writer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN'], + 'checksums': ['3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0'], + }), + ('Statistics::Descriptive', '3.0800', { + 'source_tmpl': 'Statistics-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['b04edeea26bfed435aa6029956798c281f7f52d4545f3f45b2ad44954e96f939'], + }), + ('Class::Load', '0.25', { + 'source_tmpl': 'Class-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f'], + }), + ('LWP::Simple', '6.67', { + 'source_tmpl': 'libwww-perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['96eec40a3fd0aa1bd834117be5eb21c438f73094d861a1a7e5774f0b1226b723'], + }), + ('Time::Piece::MySQL', '0.06', { + 'source_tmpl': 'Time-Piece-MySQL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['319601feec17fae344988a5ee91cfc6a0bcfe742af77dba254724c3268b2a60f'], + }), + ('Package::Stash::XS', '0.30', { + 'source_tmpl': 'Package-Stash-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['26bad65c1959c57379b3e139dc776fbec5f702906617ef27cdc293ddf1239231'], + }), + ('Set::Array', '0.30', { + 'source_tmpl': 'Set-Array-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSAVAGE'], + 'checksums': ['d9f024c8e3637feccdebcf6479b6754b6c92f1209f567feaf0c23818af31ee3c'], + }), + ('boolean', '0.46', { + 'source_tmpl': 'boolean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a'], + }), + ('Number::Format', '1.75', { + 'source_tmpl': 'Number-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WR/WRW'], + 'checksums': ['82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3'], + }), + ('Data::Stag', '0.14', { + 'source_tmpl': 'Data-Stag-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CM/CMUNGALL'], + 'checksums': ['4ab122508d2fb86d171a15f4006e5cf896d5facfa65219c0b243a89906258e59'], + }), + ('Test::NoWarnings', '1.06', { + 'source_tmpl': 'Test-NoWarnings-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['c2dc51143b7eb63231210e27df20d2c8393772e0a333547ec8b7a205ed62f737'], + }), + ('Crypt::DES', '2.07', { + 'source_tmpl': 'Crypt-DES-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DP/DPARIS'], + 'checksums': ['2db1ebb5837b4cb20051c0ee5b733b4453e3137df0a92306034c867621edd7e7'], + }), + ('Exporter', '5.74', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['eadb889ef673ad940da6aa4f6f7d75fc1e625ae786ae3533fd313eaf629945b8'], + }), + ('Class::Inspector', '1.36', { + 'source_tmpl': 'Class-Inspector-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['cc295d23a472687c24489d58226ead23b9fdc2588e522f0b5f0747741700694e'], + }), + ('Parse::RecDescent', '1.967015', { + 'source_tmpl': 'Parse-RecDescent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JT/JTBRAUN'], + 'checksums': ['1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('XML::Parser', '2.46', { + 'source_tmpl': 'XML-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'], + }), + ('XML::XPath', '1.48', { + 'source_tmpl': 'XML-XPath-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['7bc75be36b239e5b2e700a9570d2b53b43093d467f2abe6a743f9ff9093790cd'], + }), + ('JSON', '4.09', { + 'source_tmpl': 'JSON-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['6780a51f438c0932eec0534fc9cd2b1ad0d64817eda4add8ede5ec77d6d2c991'], + }), + ('Sub::Exporter', '0.988', { + 'source_tmpl': 'Sub-Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['23324887d6c590f145702f077d8ca42f1b2f26a3b76f08d66c2c1e21e606040c'], + }), + ('Class::Load::XS', '0.10', { + 'source_tmpl': 'Class-Load-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1'], + }), + ('Set::IntSpan::Fast', '1.15', { + 'source_tmpl': 'Set-IntSpan-Fast-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AN/ANDYA'], + 'checksums': ['cfb1768c24f55208e87405b17f537f0f303fa141891d0b22d509a941aa57e24e'], + }), + ('Sub::Exporter::Progressive', '0.001013', { + 'source_tmpl': 'Sub-Exporter-Progressive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/F/FR/FREW'], + 'checksums': ['d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056'], + }), + ('Data::Dumper::Concise', '2.023', { + 'source_tmpl': 'Data-Dumper-Concise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853'], + }), + ('File::Slurp::Tiny', '0.004', { + 'source_tmpl': 'File-Slurp-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e'], + }), + ('Algorithm::Diff', '1.201', { + 'source_tmpl': 'Algorithm-Diff-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['0022da5982645d9ef0207f3eb9ef63e70e9713ed2340ed7b3850779b0d842a7d'], + }), + ('Text::Iconv', '1.7', { + 'source_tmpl': 'Text-Iconv-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MP/MPIOTR'], + 'checksums': ['5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3'], + }), + ('Class::Data::Inheritable', '0.09', { + 'source_tmpl': 'Class-Data-Inheritable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RS/RSHERER'], + 'checksums': ['44088d6e90712e187b8a5b050ca5b1c70efe2baa32ae123e9bd8f59f29f06e4d'], + }), + ('Text::Balanced', '2.06', { + 'source_tmpl': 'Text-Balanced-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['773e0f0f21c0cb2cf664cee6ba28ff70259babcc892f9b650f9cbda00be092ad'], + }), + ('strictures', '2.000006', { + 'source_tmpl': 'strictures-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57'], + }), + ('Switch', '2.17', { + 'source_tmpl': 'Switch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHORNY'], + 'checksums': ['31354975140fe6235ac130a109496491ad33dd42f9c62189e23f49f75f936d75'], + }), + ('File::Which', '1.27', { + 'source_tmpl': 'File-Which-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['3201f1a60e3f16484082e6045c896842261fc345de9fb2e620fd2a2c7af3a93a'], + }), + ('Email::Date::Format', '1.005', { + 'source_tmpl': 'Email-Date-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104'], + }), + ('Error', '0.17029', { + 'source_tmpl': 'Error-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['1a23f7913032aed6d4b68321373a3899ca66590f4727391a091ec19c95bf7adc'], + }), + ('Mock::Quick', '1.111', { + 'source_tmpl': 'Mock-Quick-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['ff786008bf8c022064ececd3b7ed89c76b35e8d1eac6cf472a9f51771c1c9f2c'], + }), + ('Text::CSV', '2.02', { + 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], + 'checksums': ['84120de3e10489ea8fbbb96411a340c32cafbe5cdff7dd9576b207081baa9d24'], + }), + ('Test::Output', '1.033', { + 'source_tmpl': 'Test-Output-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['f6a8482740b075fad22aaf4d987d38ef927c6d2b452d4ae0d0bd8f779830556e'], + }), + ('Class::DBI', 'v3.0.17', { + 'source_tmpl': 'Class-DBI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['541354fe361c56850cb11261f6ca089a14573fa764792447444ff736ae626206'], + }), + ('List::SomeUtils', '0.58', { + 'source_tmpl': 'List-SomeUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d'], + }), + ('List::UtilsBy', '0.12', { + 'source_tmpl': 'List-UtilsBy-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['fff1281fd469fe982b1a58044becfd970f313bff3a26e1c7b2b3f4c0a5ed71e0'], + }), + ('List::AllUtils', '0.19', { + 'source_tmpl': 'List-AllUtils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['30a8146ab21a7787b8c56d5829cf9a7f2b15276d3b3fca07336ac38d3002ffbc'], + }), + ('UNIVERSAL::moniker', '0.08', { + 'source_tmpl': 'UNIVERSAL-moniker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KA/KASEI'], + 'checksums': ['94ce27a546cd57cb52e080a8f2533a7cc2350028388582485bd1039a37871f9c'], + }), + ('Exception::Class', '1.45', { + 'source_tmpl': 'Exception-Class-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['5482a77ef027ca1f9f39e1f48c558356e954936fc8fbbdee6c811c512701b249'], + }), + ('File::CheckTree', '4.42', { + 'source_tmpl': 'File-CheckTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a'], + }), + ('Math::VecStat', '0.08', { + 'source_tmpl': 'Math-VecStat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AS/ASPINELLI'], + 'checksums': ['409a8e0e4b1025c8e80f628f65a9778aa77ab285161406ca4a6c097b13656d0d'], + }), + ('Pod::Parser', '1.66', { + 'configopts': 'INSTALLDIRS=site', # Force it to correctly use site_perl + 'source_tmpl': 'Pod-Parser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MAREKR'], + 'checksums': ['22928a7bffe61b452c05bbbb8f5216d4b9cf9fe2a849b776c25500d24d20df7c'], + }), + ('Pod::LaTeX', '0.61', { + 'source_tmpl': 'Pod-LaTeX-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJENNESS'], + 'checksums': ['15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46'], + }), + ('Eval::Closure', '0.14', { + 'source_tmpl': 'Eval-Closure-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DO/DOY'], + 'checksums': ['ea0944f2f5ec98d895bef6d503e6e4a376fea6383a6bc64c7670d46ff2218cad'], + }), + ('HTTP::Request', '6.37', { + 'source_tmpl': 'HTTP-Message-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['0e59da0a85e248831327ebfba66796314cb69f1bfeeff7a9da44ad766d07d802'], + }), + ('XML::Twig', '3.52', { + 'source_tmpl': 'XML-Twig-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIROD'], + 'checksums': ['fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad'], + }), + ('IO::String', '1.08', { + 'source_tmpl': 'IO-String-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GAAS'], + 'checksums': ['2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0'], + }), + ('XML::Simple', '2.25', { + 'source_tmpl': 'XML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GR/GRANTM'], + 'checksums': ['531fddaebea2416743eb5c4fdfab028f502123d9a220405a4100e68fc480dbf8'], + }), + ('Sub::Install', '0.928', { + 'source_tmpl': 'Sub-Install-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f'], + }), + ('HTTP::Cookies', '6.10', { + 'source_tmpl': 'HTTP-Cookies-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['e36f36633c5ce6b5e4b876ffcf74787cc5efe0736dd7f487bdd73c14f0bd7007'], + }), + ('Pod::Plainer', '1.04', { + 'source_tmpl': 'Pod-Plainer-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RM/RMBARKER'], + 'checksums': ['1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f'], + }), + ('LWP::MediaTypes', '6.04', { + 'source_tmpl': 'LWP-MediaTypes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['8f1bca12dab16a1c2a7c03a49c5e58cce41a6fec9519f0aadfba8dad997919d9'], + }), + ('Data::Section::Simple', '0.07', { + 'source_tmpl': 'Data-Section-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['0b3035ffdb909aa1f7ded6b608fa9d894421c82c097d51e7171170d67579a9cb'], + }), + ('Class::Trigger', '0.15', { + 'source_tmpl': 'Class-Trigger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['b7a878d44dea67d64df2ca18020d9d868a95596debd16f1a264874209332b07f'], + }), + ('Test::Needs', '0.002009', { + 'source_tmpl': 'Test-Needs-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['571c21193ad16195df58b06b268798796a391b398c443271721d2cc0fb7c4ac3'], + }), + ('HTTP::Daemon', '6.14', { + 'source_tmpl': 'HTTP-Daemon-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['f0767e7f3cbb80b21313c761f07ad8ed253bce9fa2d0ba806b3fb72d309b2e1d'], + }), + ('File::HomeDir', '1.006', { + 'source_tmpl': 'File-HomeDir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['593737c62df0f6dab5d4122e0b4476417945bb6262c33eedc009665ef1548852'], + }), + ('HTTP::Date', '6.05', { + 'source_tmpl': 'HTTP-Date-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['365d6294dfbd37ebc51def8b65b81eb79b3934ecbc95a2ec2d4d827efe6a922b'], + }), + ('Authen::SASL', '2.16', { + 'source_tmpl': 'Authen-SASL-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GB/GBARR'], + 'checksums': ['6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09'], + }), + ('Clone', '0.45', { + 'source_tmpl': 'Clone-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['cbb6ee348afa95432e4878893b46752549e70dc68fe6d9e430d1d2e99079a9e6'], + }), + ('Data::Types', '0.17', { + 'source_tmpl': 'Data-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['860751feb79b7dfc1af71c4b7fe920220ec6d31c4ab9402b8f178f7f4b8293c1'], + }), + ('Import::Into', '1.002005', { + 'source_tmpl': 'Import-Into-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['bd9e77a3fb662b40b43b18d3280cd352edf9fad8d94283e518181cc1ce9f0567'], + }), + ('DateTime::Tiny', '1.07', { + 'source_tmpl': 'DateTime-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4'], + }), + ('Text::Format', '0.62', { + 'source_tmpl': 'Text-Format-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF'], + 'checksums': ['7d429057319e123c590ba0765334f0ade4a5eb9ea8db7c0ec4d3902de5f90404'], + }), + ('Devel::CheckCompiler', '0.07', { + 'source_tmpl': 'Devel-CheckCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SY/SYOHEX'], + 'checksums': ['768b7697b4b8d4d372c7507b65e9dd26aa4223f7100183bbb4d3af46d43869b5'], + }), + ('Log::Handler', '0.90', { + 'source_tmpl': 'Log-Handler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BL/BLOONIX'], + 'checksums': ['3a5c80e7128454770f83acab8cbd3e70e5ec3d59a61dc32792a178f0b31bf74d'], + }), + ('DBIx::ContextualFetch', '1.03', { + 'source_tmpl': 'DBIx-ContextualFetch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TM/TMTM'], + 'checksums': ['85e2f805bfc81cd738c294316b27a515397036f397a0ff1c6c8d754c38530306'], + }), + ('Devel::StackTrace', '2.04', { + 'source_tmpl': 'Devel-StackTrace-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855'], + }), + ('Term::ReadKey', '2.38', { + 'source_tmpl': 'TermReadKey-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JS/JSTOWE'], + 'checksums': ['5a645878dc570ac33661581fbb090ff24ebce17d43ea53fd22e105a856a47290'], + }), + ('Set::IntSpan', '1.19', { + 'source_tmpl': 'Set-IntSpan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SW/SWMCD'], + 'checksums': ['11b7549b13ec5d87cc695dd4c777cd02983dd5fe9866012877fb530f48b3dfd0'], + }), + ('Module::Runtime::Conflicts', '0.003', { + 'source_tmpl': 'Module-Runtime-Conflicts-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875'], + }), + ('Test::CleanNamespaces', '0.24', { + 'source_tmpl': 'Test-CleanNamespaces-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER/'], + 'checksums': ['338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a'], + }), + ('Moose', '2.2201', { + 'source_tmpl': 'Moose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['cd5ff9b4751f73ecb6874ba9761343d35737d4ddf5ff6b19c00d01af5ffc3eb2'], + }), + ('Algorithm::Dependency', '1.112', { + 'source_tmpl': 'Algorithm-Dependency-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['7e0fb7c39f56a2dccf9d0295c82f3031ee116e807f6a12a438fa4dd41b0ec187'], + }), + ('Font::TTF', '1.06', { + 'source_tmpl': 'Font-TTF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BH/BHALLISSY'], + 'checksums': ['4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293'], + }), + ('IPC::Run3', '0.048', { + 'source_tmpl': 'IPC-Run3-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565'], + }), + ('File::Find::Rule', '0.34', { + 'source_tmpl': 'File-Find-Rule-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RC/RCLAMP'], + 'checksums': ['7e6f16cc33eb1f29ff25bee51d513f4b8a84947bbfa18edb2d3cc40a2d64cafe'], + }), + ('SQL::Statement', '1.414', { + 'source_tmpl': 'SQL-Statement-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['dde8bdcfa6a136eedda06519ba0f3efaec085c39db0df9c472dc0ec6cd781a49'], + }), + ('File::Slurp', '9999.32', { + 'source_tmpl': 'File-Slurp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['4c3c21992a9d42be3a79dd74a3c83d27d38057269d65509a2f555ea0fb2bc5b0'], + }), + ('Package::Stash', '0.40', { + 'source_tmpl': 'Package-Stash-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['5a9722c6d9cb29ee133e5f7b08a5362762a0b5633ff5170642a5b0686e95e066'], + }), + ('Data::OptList', '0.112', { + 'source_tmpl': 'Data-OptList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['62c60ccaae88d5339ae36bcc8940b03388cf84adbf27828b1f8b300307103bab'], + }), + ('Package::Constants', '0.06', { + 'source_tmpl': 'Package-Constants-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5'], + }), + ('CPANPLUS', '0.9914', { + 'source_tmpl': 'CPANPLUS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['76c3e5da623a4af60fe64adec448fb1f8e0cae9f6798a36b68865974044e9b67'], + }), + ('IO::Tty', '1.16', { + 'source_tmpl': 'IO-Tty-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd'], + }), + ('Text::Soundex', '3.05', { + 'source_tmpl': 'Text-Soundex-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed'], + }), + ('Lingua::EN::PluralToSingular', '0.21', { + 'source_tmpl': 'Lingua-EN-PluralToSingular-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BK/BKB'], + 'checksums': ['f8a8b7de28c25c96190d7f48c90b5ad9b9bf517f3835c77641f0e8fa546c0d1d'], + }), + ('Want', '0.29', { + 'source_tmpl': 'Want-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN'], + 'checksums': ['b4e4740b8d4cb783591273c636bd68304892e28d89e88abf9273b1de17f552f7'], + }), + ('Mail::Util', '2.21', { + 'source_tmpl': 'MailTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV'], + 'checksums': ['4ad9bd6826b6f03a2727332466b1b7d29890c8d99a32b4b3b0a8d926ee1a44cb'], + }), + ('Test::More::UTF8', '0.05', { + 'source_tmpl': 'Test-More-UTF8-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MO/MONS/'], + 'checksums': ['b9f1c4b36a97cdfefaa53ed1115dd38f4b483037775f6559ee1df14acfd1ce04'], + }), + ('Text::Template', '1.61', { + 'source_tmpl': 'Text-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MS/MSCHOUT'], + 'checksums': ['a295ea7d1ef241ae2640c1f7864b628f8e6f99ec14fb1da781b2f5f2168dcf09'], + }), + ('PadWalker', '2.5', { + 'source_tmpl': 'PadWalker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RO/ROBIN/'], + 'checksums': ['07b26abb841146af32072a8d68cb90176ffb176fd9268e6f2f7d106f817a0cd0'], + }), + ('Devel::Cycle', '1.12', { + 'source_tmpl': 'Devel-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LD/LDS/'], + 'checksums': ['fd3365c4d898b2b2bddbb78a46d507a18cca8490a290199547dab7f1e7390bc2'], + }), + ('Test::Memory::Cycle', '1.06', { + 'source_tmpl': 'Test-Memory-Cycle-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/'], + 'checksums': ['9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202'], + }), + ('PDF::API2', '2.043', { + 'source_tmpl': 'PDF-API2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SS/SSIMMS'], + 'checksums': ['6312f605172973fa4d017639c217b61b1a8d6c533237ce58d5aacecfa273f0b2'], + }), + ('Devel::CheckLib', '1.16', { + 'source_tmpl': 'Devel-CheckLib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MATTN'], + 'checksums': ['869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca'], + }), + ('SVG', '2.87', { + 'source_tmpl': 'SVG-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR'], + 'checksums': ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'], + }), + ('Statistics::Basic', '1.6611', { + 'source_tmpl': 'Statistics-Basic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JETTERO'], + 'checksums': ['6855ce5615fd3e1af4cfc451a9bf44ff29a3140b4e7130034f1f0af2511a94fb'], + }), + ('Log::Log4perl', '1.56', { + 'source_tmpl': 'Log-Log4perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['47e08d63c9a940743308c8ba39fa51e4c15459c7d70acfc3b131b981f843a941'], + }), + ('Math::CDF', '0.1', { + 'source_tmpl': 'Math-CDF-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CALLAHAN'], + 'checksums': ['7896bf250835ce47dcc813cb8cf9dc576c5455de42e822dcd7d8d3fef2125565'], + }), + ('Array::Utils', '0.5', { + 'source_tmpl': 'Array-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array'], + 'checksums': ['89dd1b7fcd9b4379492a3a77496e39fe6cd379b773fd03a6b160dd26ede63770'], + }), + ('File::Grep', '0.02', { + 'source_tmpl': 'File-Grep-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MN/MNEYLON'], + 'checksums': ['462e15274eb6278521407ea302d9eea7252cd44cab2382871f7de833d5f85632'], + }), + ('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::Slurper', '0.013', { + 'source_tmpl': 'File-Slurper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['e2f6a4029a6a242d50054044f1fb86770b9b5cc4daeb1a967f91ffb42716a8c5'], + }), + ('File::Temp', '0.2311', { + 'source_tmpl': 'File-Temp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['2290d61bf5c39882fc3311da9ce1c7f42dbdf825ae169e552c59fe4598b36f4a'], + }), + ('Set::Object', '1.42', { + 'source_tmpl': 'Set-Object-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RU/RURBAN/'], + 'checksums': ['d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45'], + }), + ('Heap', '0.80', { + 'source_tmpl': 'Heap-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JM/JMM/'], + 'checksums': ['ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde'], + }), + ('Graph', '0.9725', { + 'source_tmpl': 'Graph-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['e75b0ecc9a7f62fd70f896b173d11c3fc00cdffd35c3e99286689d3ca2debefe'], + }), + ('Graph::ReadWrite', '2.10', { + 'source_tmpl': 'Graph-ReadWrite-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['516c1ea9facb995dbc38d1735d58974b2399862567e731b729c8d0bc2ee5a14b'], + }), + ('PerlIO::utf8_strict', '0.009', { + 'source_tmpl': 'PerlIO-utf8_strict-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['ba82cf144820655d6d4836d12dde65f8895a3d905aeb4aa0b421249f43284c14'], + }), + ('Devel::OverloadInfo', '0.007', { + 'source_tmpl': 'Devel-OverloadInfo-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IL/ILMARI'], + 'checksums': ['21a184163b90f91f06ffc7f5de0b968356546ae9b400a9d75c573c958c246222'], + }), + ('Sub::Identify', '0.14', { + 'source_tmpl': 'Sub-Identify-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RG/RGARCIA'], + 'checksums': ['068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f'], + }), + ('Digest::MD5::File', '0.08', { + 'source_tmpl': 'Digest-MD5-File-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DM/DMUEY'], + 'checksums': ['adb43a54e32627b4f7e57c9640e6eb06d0bb79d8ea54cd0bd79ed35688fb1218'], + }), + ('String::RewritePrefix', '0.008', { + 'source_tmpl': 'String-RewritePrefix-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e45a31d6914e8f5fc722ef48d8819400dafc02105e0c61414aabbf01bce208eb'], + }), + ('Getopt::Long::Descriptive', '0.110', { + 'source_tmpl': 'Getopt-Long-Descriptive-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['025402c0494a5c878038f0666f41ca1230ed0d689467df9211382ff3a355be86'], + }), + ('App::Cmd', '0.334', { + 'source_tmpl': 'App-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['22e31e0f8f7b8c4303ad62b0ab1f941fcf598ca6e3a146b7e482e5870d6d58d3'], + }), + ('Path::Tiny', '0.124', { + 'source_tmpl': 'Path-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['fa083144781e46817ec39d21962bbbb0533c201f3baf031d2999a785a2a013fd'], + }), + ('Carp::Clan', '6.08', { + 'source_tmpl': 'Carp-Clan-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['c75f92e34422cc5a65ab05d155842b701452434e9aefb649d6e2289c47ef6708'], + }), + ('Sub::Exporter::ForMethods', '0.100054', { + 'source_tmpl': 'Sub-Exporter-ForMethods-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['eef61c9421688bb3a7beaca71623df11c8a749307ae428abdabc556e2bfafc3e'], + }), + ('MooseX::Types', '0.50', { + 'source_tmpl': 'MooseX-Types-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08'], + }), + ('Variable::Magic', '0.62', { + 'source_tmpl': 'Variable-Magic-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/V/VP/VPIT/'], + 'checksums': ['3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c'], + }), + ('B::Hooks::EndOfScope', '0.26', { + 'source_tmpl': 'B-Hooks-EndOfScope-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['39df2f8c007a754672075f95b90797baebe97ada6d944b197a6352709cb30671'], + }), + ('namespace::clean', '0.27', { + 'source_tmpl': 'namespace-clean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI'], + 'checksums': ['8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d'], + }), + ('namespace::autoclean', '0.29', { + 'source_tmpl': 'namespace-autoclean-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804'], + }), + ('File::pushd', '1.016', { + 'source_tmpl': 'File-pushd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc'], + }), + ('MooseX::Types::Perl', '0.101343', { + 'source_tmpl': 'MooseX-Types-Perl-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f084beaf3c33209c68d05d4dbc24c25d604a6458b9738d96dceb086c8ef1325a'], + }), + ('Role::Tiny', '2.002004', { + 'source_tmpl': 'Role-Tiny-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['d7bdee9e138a4f83aa52d0a981625644bda87ff16642dfa845dcb44d9a242b45'], + }), + ('Specio', '0.48', { + 'source_tmpl': 'Specio-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['0c85793580f1274ef08173079131d101f77b22accea7afa8255202f0811682b2'], + }), + ('Params::ValidationCompiler', '0.30', { + 'source_tmpl': 'Params-ValidationCompiler-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['dc5bee23383be42765073db284bed9fbd819d4705ad649c20b644452090d16cb'], + }), + ('Log::Dispatch', '2.70', { + 'source_tmpl': 'Log-Dispatch-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['a3d91cc52467d3a3c6683103f3df4472d71e405a45f553289448713ac4293f21'], + }), + ('String::Flogger', '1.101245', { + 'source_tmpl': 'String-Flogger-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b'], + }), + ('Log::Dispatchouli', '2.023', { + 'source_tmpl': 'Log-Dispatchouli-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['c4ac41b9729b71439682b34dd2772b040b5adb9e1a611d30322c01f4608e0cf2'], + }), + ('Data::Section', '0.200007', { + 'source_tmpl': 'Data-Section-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['cd937e5b70e34aab885ff414e2a6d19e4783b7c28fc3cda5145b230514ebb4de'], + }), + ('Software::License', '0.104002', { + 'source_tmpl': 'Software-License-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/L/LE/LEONT'], + 'checksums': ['a50c257995b2dc75acbe24b091b95a3144aa61188fef8baa84e29d4064cafd0f'], + }), + ('MooseX::SetOnce', '0.201', { + 'source_tmpl': 'MooseX-SetOnce-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f55734d9823cab6c77cace28406e6deafa16071d2f574d5c394060def1c07c87'], + }), + ('Term::Encoding', '0.03', { + 'source_tmpl': 'Term-Encoding-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b'], + }), + ('Config::MVP', '2.200012', { + 'source_tmpl': 'Config-MVP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['d8a6069be317a866d8041b1bb7cfafe34014f19743891f27a5e42a31b5c0ea75'], + }), + ('Throwable', '1.000', { + 'source_tmpl': 'Throwable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['023aac67baad5b7bcdc08dc858ea5e6a8ddb0e291d15dd6d24818cdd702d318f'], + }), + ('Sub::Quote', '2.006006', { + 'source_tmpl': 'Sub-Quote-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG'], + 'checksums': ['6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d'], + }), + ('Role::Identifiable::HasIdent', '0.008', { + 'source_tmpl': 'Role-Identifiable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['e2b145e97b2526cd2b4fd32c208787f292d3c3bedda5c7ad224fc53c3bf22d71'], + }), + ('Role::HasMessage', '0.006', { + 'source_tmpl': 'Role-HasMessage-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['f6a6dbe0476ff95ee1ffbef825eb18d9b02b0618deba4686e7c63b99d576d4d3'], + }), + ('MooseX::OneArgNew', '0.006', { + 'source_tmpl': 'MooseX-OneArgNew-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['9bd616fb00a03d28509f46b9a541f7eeb26211999d3941f403a2561921406630'], + }), + ('MooseX::Role::Parameterized', '1.11', { + 'source_tmpl': 'MooseX-Role-Parameterized-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['1cfe766c5d7f0ecab57f733dcca430a2a2acd6b995757141b940ade3692bec9e'], + }), + ('MooseX::LazyRequire', '0.11', { + 'source_tmpl': 'MooseX-LazyRequire-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288'], + }), + ('Mixin::Linewise::Readers', '0.110', { + 'source_tmpl': 'Mixin-Linewise-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['a7f120b7aa82dfb1a5ad1aa11abd33232b26a2b09c654e649e97a3c2128b1d8b'], + }), + ('Config::INI', '0.027', { + 'source_tmpl': 'Config-INI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['12eb8b7d43ab13db443b3c7110c8b70a264c19f78ff06ab8823e11f86a4f330e'], + }), + ('String::Truncate', '1.100602', { + 'source_tmpl': 'String-Truncate-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['aaa3d4eec01136921484139133eb75d5c571fe51b0ad329f089e6d469a235f6e'], + }), + ('Pod::Eventual', '0.094002', { + 'source_tmpl': 'Pod-Eventual-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['80194f3fe66dd8bd91282eb3610f5c7cac8dc5a0cd51a81c4d56a9ec18fea2bc'], + }), + ('Pod::Elemental', '0.103005', { + 'source_tmpl': 'Pod-Elemental-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e'], + }), + ('Pod::Weaver', '4.018', { + 'source_tmpl': 'Pod-Weaver-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['8ca92ec948974023194197c058e33a98ad00a88561f5bf7fe672329227a910b7'], + }), + ('Dist::Zilla', '6.025', { + 'source_tmpl': 'Dist-Zilla-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['07798e270e5d904d1071e2b421309b732d0be7d682f4d9487945e815012726cc'], + }), + ('XML::RegExp', '0.04', { + 'source_tmpl': 'XML-RegExp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['df1990096036085c8e2d45904fe180f82bfed40f1a7e05243f334ea10090fc54'], + }), + ('XML::DOM', '1.46', { + 'source_tmpl': 'XML-DOM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TJ/TJMATHER'], + 'checksums': ['8ba24b0b459b01d6c5e5b0408829c7d5dfe47ff79b3548c813759048099b175e'], + }), + ('Data::Dump', '1.25', { + 'source_tmpl': 'Data-Dump-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/G/GA/GARU'], + 'checksums': ['a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd'], + }), + ('File::Next', '1.18', { + 'source_tmpl': 'File-Next-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PETDANCE'], + 'checksums': ['f900cb39505eb6e168a9ca51a10b73f1bbde1914b923a09ecd72d9c02e6ec2ef'], + }), + ('App::cpanminus', '1.7046', { + 'source_tmpl': 'App-cpanminus-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA'], + 'checksums': ['3e8c9d9b44a7348f9acc917163dbfc15bd5ea72501492cea3a35b346440ff862'], + }), + ('Parallel::ForkManager', '2.02', { + 'source_tmpl': 'Parallel-ForkManager-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/Y/YA/YANICK'], + 'checksums': ['c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404'], + }), + ('Logger::Simple', '2.0', { + 'source_tmpl': 'Logger-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TS/TSTANLEY'], + 'checksums': ['2e63fd3508775b5902132ba1bfb03b42bee468dfaf35dfe42e1909ff6d291b2d'], + }), + ('Scalar::Util::Numeric', '0.40', { + 'source_tmpl': 'Scalar-Util-Numeric-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE'], + 'checksums': ['d7501b6d410703db5b1c1942fbfc41af8964a35525d7f766058acf5ca2cc4440'], + }), + ('YAML', '1.30', { + 'source_tmpl': 'YAML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TINITA'], + 'checksums': ['5030a6d6cbffaf12583050bf552aa800d4646ca9678c187add649227f57479cd'], + }), + ('Object::InsideOut', '4.05', { + 'source_tmpl': 'Object-InsideOut-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['9dfd6ca2822724347e0eb6759d00709425814703ad5c66bdb6214579868bcac4'], + }), + ('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'], + }), + ('Time::HiRes', '1.9764', { + 'source_tmpl': 'Time-HiRes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], + 'checksums': ['9841be5587bfb7cd1f2fe267b5e5ac04ce25e79d5cc77e5ef9a9c5abd101d7b1'], + }), + ('Term::ReadLine::Gnu', '1.42', { + 'modulename': 'Term::ReadLine', + 'source_tmpl': 'Term-ReadLine-Gnu-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAYASHI'], + 'checksums': ['3c5f1281da2666777af0f34de0289564e6faa823aea54f3945c74c98e95a5e73'], + # make sure that library provided by ncurses dependency is used instead of libtermcap + 'preinstallopts': "sed -s 's/-ltermcap/-lncurses/g' Makefile.PL && ", + }), + ('ExtUtils::MakeMaker', '7.64', { + 'source_tmpl': 'ExtUtils-MakeMaker-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['4a6ac575815c0413b1f58967043cc9f2e166446b73c687f9bc62b5eaed9464a0'], + }), + ('List::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('Module::CoreList', '5.20220820', { + 'source_tmpl': 'Module-CoreList-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['708effbbf04158b087d34d8acc707f35bdab9dccc61b41d432cb6d995d137f43'], + }), + ('Module::Metadata', '1.000037', { + 'source_tmpl': 'Module-Metadata-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETHER'], + 'checksums': ['8d5a74c1b07e145edda254602fedf19c0dd0c2d9688a370afdaff89c32cba629'], + }), + ('Params::Check', '0.38', { + 'source_tmpl': 'Params-Check-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['f0c9d33876c36b1bca1475276d26d2efaf449b256d7cc8118fae012e89a26290'], + }), + ('Locale::Maketext::Simple', '0.21', { + 'source_tmpl': 'Locale-Maketext-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['b009ff51f4fb108d19961a523e99b4373ccf958d37ca35bf1583215908dca9a9'], + }), + ('Perl::OSType', '1.010', { + 'source_tmpl': 'Perl-OSType-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['e7ed4994b5d547cb23aadb84dc6044c5eb085d5a67a6c5624f42542edd3403b2'], + }), + ('IPC::Cmd', '1.04', { + 'source_tmpl': 'IPC-Cmd-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d110a0f60e35c65721454200f0d2f0f8965529a2add9649d1fa6f4f9eccb6430'], + }), + ('Pod::Escapes', '1.07', { + 'source_tmpl': 'Pod-Escapes-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB'], + 'checksums': ['dbf7c827984951fb248907f940fd8f19f2696bc5545c0a15287e0fbe56a52308'], + }), + ('if', '0.0608', { + 'modulename': False, + 'source_tmpl': 'if-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['37206e10919c4d99273020008a3581bf0947d364e859b8966521c3145b4b3700'], + }), + ('Test', '1.26', { + 'source_tmpl': 'Test-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JE/JESSE'], + 'checksums': ['f7701bd28e05e7f82fe9a181bbab38f53fa6aeae48d2a810da74d1b981d4f392'], + }), + ('ExtUtils::Constant', '0.25', { + 'source_tmpl': 'ExtUtils-Constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757'], + }), + ('ExtUtils::CBuilder', '0.280236', { + 'source_tmpl': 'ExtUtils-CBuilder-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AM/AMBS'], + 'checksums': ['abc21827eb8a513171bf7fdecefce9945132cb76db945036518291f607b1491f'], + }), + ('Carp::Heavy', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Pod::Simple', '3.43', { + 'source_tmpl': 'Pod-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/K/KH/KHW'], + 'checksums': ['65abe3f5363fa4cdc108f5ad9ce5ce91e7a39186a1b297bb7a06fa1b0f45d377'], + }), + ('Socket', '2.036', { + 'source_tmpl': 'Socket-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['1cd8272bccde8098183a60a274b3eda0764cc6984db97f5474b28bebfe2c6b70'], + }), + ('Time::Local', '1.30', { + 'source_tmpl': 'Time-Local-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DR/DROLSKY'], + 'checksums': ['c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb'], + }), + ('Storable', '3.25', { + 'source_tmpl': 'Storable-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['e1e96b24a076792fde52154789fe4b76034b9ad39c8a1a819ead77d50d5f1817'], + }), + ('ExtUtils::ParseXS', '3.44', { + 'source_tmpl': 'ExtUtils-ParseXS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['77effdf31af36ef656f09aa7c15356d238dab6d1afaa7278ae15c1b6bcf86266'], + }), + ('Pod::Man', '4.14', { + 'source_tmpl': 'podlators-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RR/RRA'], + 'checksums': ['7af1c41de34b2e4dbff700a29d7387549c2b6cf16142214450c924707ddb0f82'], + }), + ('Mozilla::CA', '20211001', { + 'source_tmpl': 'Mozilla-CA-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AB/ABH'], + 'checksums': ['122c8900000a9d388aa8e44f911cab6c118fe8497417917a84a8ec183971b449'], + }), + ('Test::More', '1.302191', { + 'source_tmpl': 'Test-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/EX/EXODIST'], + 'checksums': ['a82f652bc4f2ef1ddcae99d04fc0f8924a35386066a2ab363aabf8372bc5a7ab'], + }), + ('Test::RequiresInternet', '0.05', { + 'source_tmpl': 'Test-RequiresInternet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MALLEN'], + 'checksums': ['bba7b32a1cc0d58ce2ec20b200a7347c69631641e8cae8ff4567ad24ef1e833e'], + }), + ('LWP::Protocol::https', '6.10', { + 'source_tmpl': 'LWP-Protocol-https-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['cecfc31fe2d4fc854cac47fce13d3a502e8fdfe60c5bc1c09535743185f2a86c'], + }), + ('Module::Load', '0.36', { + 'source_tmpl': 'Module-Load-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['d825020ac00b220e89f9524e24d838f9438b072fcae8c91938e4026677bef6e0'], + }), + ('Module::Load::Conditional', '0.74', { + 'source_tmpl': 'Module-Load-Conditional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BI/BINGOS'], + 'checksums': ['54c354a9393820f1ebc2a095da084ea0392dcbccb0cb38a187a71831cc60a730'], + }), + ('parent', '0.238', { + 'source_tmpl': 'parent-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CO/CORION'], + 'checksums': ['38f58fdef3e28a194c9c8d0dc5d02672faf93c069f40c5bcb1fabeadbbc4d2d1'], + }), + ('Net::Domain', '3.14', { + 'source_tmpl': 'libnet-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHAY'], + 'checksums': ['153c8eb8ef0f19cf2c631d5b45d05de98516937f34e261125ef242fba1fe2ea4'], + }), + ('Scalar::Util', '1.63', { + 'source_tmpl': 'Scalar-List-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PE/PEVANS'], + 'checksums': ['cafbdf212f6827dc9a0dd3b57b6ee50e860586d7198228a33262d55c559eb2a9'], + }), + ('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'], + }), + ('Encode', '3.19', { + 'source_tmpl': 'Encode-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DANKOGAI'], + 'checksums': ['9163f848eef69e4d4cc8838397f0861fd9ea7ede001117dbd9694f8d95052ef5'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('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'], + }), + ('Cwd', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('MIME::Base64', '3.16', { + 'source_tmpl': 'MIME-Base64-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB'], + 'checksums': ['77f73d6f7aeb8d33be08b0d8c2617f9b6c77fb7fc45422d507ca8bafe4246017'], + }), + ('ExtUtils::CppGuess', '0.26', { + 'source_tmpl': 'ExtUtils-CppGuess-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/E/ET/ETJ'], + 'checksums': ['c8b362b860172a4076acee00438f52b86464f2c500702cfcf7527811ff9a683e'], + }), + ('XSLoader', '0.24', { + 'source_tmpl': 'XSLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAPER'], + 'checksums': ['e819a35a6b8e55cb61b290159861f0dc00fe9d8c4f54578eb24f612d45c8d85f'], + }), + ('AutoLoader', '5.74', { + 'source_tmpl': 'AutoLoader-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SM/SMUELLER'], + 'checksums': ['2fac75b05309f71a6871804cd25e1a3ba0a28f43f294fb54528077558da3aff4'], + }), + ('URI::Escape', '5.12', { + 'source_tmpl': 'URI-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/O/OA/OALDERS'], + 'checksums': ['66abe0eaddd76b74801ecd28ec1411605887550fc0a45ef6aa744fdad768d9b3'], + }), + ('Set::IntervalTree', '0.12', { + 'source_tmpl': 'Set-IntervalTree-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SL/SLOYD'], + 'checksums': ['6fd4000e4022968e2ce5b83c07b189219ef1925ecb72977b52a6f7d76adbc349'], + }), + ('MCE::Mutex', '1.879', { + 'source_tmpl': 'MCE-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARIOROY'], + 'checksums': ['9c4cf39838b5c113448799af451b3d64b54e0de39d635536d7e85e8bdc5888dc'], + }), + ('Text::CSV_XS', '1.48', { + 'source_tmpl': 'Text-CSV_XS-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['b72a2ed61c63561f6bfc1d5986a09f3ac252bdfda5c1c898b0b677641ce1e8bf'], + }), + ('DBD::CSV', '0.59', { + 'source_tmpl': 'DBD-CSV-%(version)s.tgz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HM/HMBRAND'], + 'checksums': ['2a5fadd1d50c18ea023560d39c2cc660ae2a65fa99d9b8244edca7d2dcce9dc0'], + }), + ('Array::Transpose', '0.06', { + 'source_tmpl': 'Array-Transpose-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MR/MRDVT'], + 'checksums': ['d58667f64381a105f375226f592d0af71068e640a5a9f4d5ecf27c90feb32676'], + }), + ('Config::Simple', '4.58', { + 'source_tmpl': 'Config-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHERZODR'], + 'checksums': ['dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4'], + }), + ('Business::ISBN', '3.007', { + 'source_tmpl': 'Business-ISBN-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['50cc4686dd21c9537b49a231d71711e814ebd2f19aa4ca331baf92ff2de5ce19'], + }), + ('Business::ISBN::Data', '20210112.006', { + 'source_tmpl': 'Business-ISBN-Data-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BD/BDFOY'], + 'checksums': ['98c2cfb266b5fdd016989abaa471d9dd4c1d593c508a6f01f66d184d5fee8bae'], + }), + ('common::sense', '3.75', { + 'source_tmpl': 'common-sense-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e'], + }), + ('JSON::XS', '4.03', { + 'source_tmpl': 'JSON-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['515536f45f2fa1a7e88c8824533758d0121d267ab9cb453a1b5887c8a56b9068'], + }), + ('List::MoreUtils::XS', '0.430', { + 'source_tmpl': 'List-MoreUtils-XS-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RE/REHSACK'], + 'checksums': ['e8ce46d57c179eecd8758293e9400ff300aaf20fefe0a9d15b9fe2302b9cb242'], + }), + ('Authen::NTLM', '1.09', { + 'source_tmpl': 'NTLM-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NB/NBEBOUT'], + 'checksums': ['c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85'], + }), + ('Types::Serialiser', '1.01', { + 'source_tmpl': 'Types-Serialiser-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN'], + 'checksums': ['f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80'], + }), + ('XML::SAX::Expat', '0.51', { + 'source_tmpl': 'XML-SAX-Expat-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BJ/BJOERN'], + 'checksums': ['4c016213d0ce7db2c494e30086b59917b302db8c292dcd21f39deebd9780c83f'], + }), + ('Inline', '0.86', { + 'source_tmpl': 'Inline-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IN/INGY'], + 'checksums': ['510a7de2d011b0db80b0874e8c0f7390010991000ae135cff7474df1e6d51e3a'], + }), + ('Sys::Info::Base', '0.7807', { + 'source_tmpl': 'Sys-Info-Base-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['132362b0046e8dc4f12e1560903623a88a8871d09bf1c29d93d48d3f4a582acb'], + }), + ('Sys::Info', '0.7811', { + 'source_tmpl': 'Sys-Info-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['566482bff3427c198d7955468ed945a8e736c4a2925151fdef96801ef8a401e1'], + }), + ('HTML::Template', '2.97', { + 'source_tmpl': 'HTML-Template-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SA/SAMTREGAR/'], + 'checksums': ['6547af61f3aa85793f8616190938d677d7995fb3b720c16258040bc935e2129f'], + }), + ('MIME::Charset', '1.013.1', { + 'source_tmpl': 'MIME-Charset-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['1bb7a6e0c0d251f23d6e60bf84c9adefc5b74eec58475bfee4d39107e60870f0'], + }), + ('Unicode::LineBreak', '2019.001', { + 'source_tmpl': 'Unicode-LineBreak-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/'], + 'checksums': ['486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a'], + }), + ('String::Print', '0.94', { + 'source_tmpl': 'String-Print-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['9b3cd677adb7a40cb183bd6c60db80d96adcabd5aae27e324e3ee37e3275229b'], + }), + ('Log::Report', '1.33', { + 'source_tmpl': 'Log-Report-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['49624da338fd7d57288fa22a47241476fb5ce2f6008181f786c7830fe5af01ff'], + }), + ('Log::Report::Optional', '1.07', { + 'source_tmpl': 'Log-Report-Optional-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['b2658b53176df5afa5d02789368715c86b98c8d04ecd930252bcd7f832cc6224'], + }), + ('Sys::Info::Driver::Unknown', '0.79', { + 'source_tmpl': 'Sys-Info-Driver-Unknown-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/B/BU/BURAK/'], + 'checksums': ['02408843c8e36ea3d507e9f33fee48d6908543829ebe320f13d1bfe76af31e09'], + }), + ('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'], + }), + ('Unix::Processors', '2.046', { + 'source_tmpl': 'Unix-Processors-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/W/WS/WSNYDER/'], + 'checksums': ['3973ebdc44682c9c15c776f66e8be242cb4ff1dd52caf43ff446b74d4dccca06'], + }), + ('local::lib', '2.000029', { + 'source_tmpl': 'local-lib-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/H/HA/HAARG/'], + 'checksums': ['8df87a10c14c8e909c5b47c5701e4b8187d519e5251e87c80709b02bb33efdd7'], + }), + ('Module::Path', '0.19', { + 'source_tmpl': 'Module-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca'], + }), + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), + ('Math::Utils', '1.14', { + 'source_tmpl': 'Math-Utils-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JG/JGAMBLE/'], + 'checksums': ['88a20ae0736a622671b92bb2a350969af424d7610284530b277c8020235f2695'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..6c8805fbbb9 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-12.3.0.eb @@ -0,0 +1,96 @@ +name = 'Perl' +version = '5.36.1' + +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 = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +# !! order of extensions is important !! +# extensions updated on 2023-05-02 +# 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'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('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/Perl/Perl-5.36.1-GCCcore-13.1.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..3ecf2a9c4ee --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.36.1-GCCcore-13.1.0.eb @@ -0,0 +1,96 @@ +name = 'Perl' +version = '5.36.1' + +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 = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +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'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +# !! order of extensions is important !! +# extensions updated on 2023-05-02 +# 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'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('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/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-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..95b8a2f7556 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.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 = {'name': 'GCCcore', 'version': '13.2.0'} +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'), +] + +# !! 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'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('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/Perl/Perl-5.38.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb new file mode 100644 index 00000000000..c70f7d59df9 --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0.eb @@ -0,0 +1,96 @@ +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'], + 'patches': ['PathTools-3.75_fix-cwd_enoent-test.patch'], + 'checksums': [ + 'a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2', + {'PathTools-3.75_fix-cwd_enoent-test.patch': + '7a456a99d9b04a36359f3623f0deef8fe7f472c742f99cdcf0215c50afbbe7b1'}, + ], + }), + ('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/Perl/Perl-5.38.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f704ad30bdd --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.2-GCCcore-13.3.0.eb @@ -0,0 +1,86 @@ +name = 'Perl' +version = '5.38.2' + +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 = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0a31534451eb7b83c7d6594a497543a54d488bc90ca00f5e34762577f40655e'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), +] + +# !! 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.57', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['d3791e6bf167708364ea5ad3be578dc9173a0076167160a4341c05a1e979795e'], + }), + ('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.55', { + 'source_tmpl': 'IO-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'], + 'checksums': ['0443afebb9a48f29611e9b17a017f430b51167a498fa4646c07f8dce03b6b95f'], + }), + ('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.78', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['bd17e99219aa2fb6a8acb3d11deffcb588708c70fc29f346e20ea7f71d3a48f0'], + }), + ('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/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d6a5710e91d --- /dev/null +++ b/easybuild/easyconfigs/p/Perseus/Perseus-2.0.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'Perseus' +version = '2.0.7.0' + +homepage = 'https://maxquant.org/perseus' +description = """The Perseus software platform supports biological and biomedical researchers + in interpreting protein quantification, interaction and post-translational modification data.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +download_instructions = """ +To download the Perseus source tarball, register at: + https://maxquant.org/download_asset/perseus/latest +You should receive a unique download URL via email. +""" + +sources = ['%(name)s_v%(version)s.zip'] +checksums = ['32418ff43c975762aaf4b2760ec1dd5c998e34188739d592f656fea296edb5c8'] + +dependencies = [('Mono', '6.12.0.122')] + +sanity_check_paths = { + 'files': ['%(name)s.exe', 'bin/%(name)sGui.exe'], + 'dirs': [], +} + +sanity_check_commands = [ + ("cat $EBROOTPERSEUS/ChangeLog.txt | grep -q %(version)s", ''), +] + +modaliases = { + 'perseus': 'mono $EBROOTPERSEUS/%(name)sGui.exe', +} + +modloadmsg = """ +To run Perseus in GUI mode: perseus +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb b/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb new file mode 100644 index 00000000000..25cfa8d8237 --- /dev/null +++ b/easybuild/easyconfigs/p/PfamScan/PfamScan-1.6-gompi-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'PfamScan' +version = '1.6' + +homepage = 'https://www.ebi.ac.uk/seqdb/confluence/display/THD/PfamScan' +description = "PfamScan is used to search a FASTA sequence against a library of Pfam HMM." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://ftp.ebi.ac.uk/pub/databases/Pfam/Tools/'] +sources = [{'download_filename': '%(name)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['365c96bc150d5057349c3016d62667c58cb33afcfb6329457ae16ab5aae4f401'] + +builddependencies = [ + ('wget', '1.21.3'), # needed to fetch Pfam DB + ('gzip', '1.12'), # needed to decompress Pfam DB +] + +dependencies = [ + ('Perl', '5.34.1'), + ('BioPerl', '1.7.8'), + ('HMMER', '3.3.2'), +] + +fix_perl_shebang_for = ['*.pl'] + +sanity_check_paths = { + 'files': ['pfam_scan.pl'], + 'dirs': ['Bio/Pfam'], +} + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +sanity_check_commands = [ + ('perl', '-e "use Bio::Pfam::Scan::PfamScan"'), + ('pfam_scan.pl', '--help'), +] + +# Download Pfam database (280 MB download, 1.5 GB on disk) +# _pfam_db_dir = '%(installdir)s/db' +# _pfam_db_url = 'https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release' +# postinstallcmds = [ +# "mkdir -p %s" % _pfam_db_dir, +# "wget -P %s %s/{Pfam-A.hmm.gz,Pfam-A.hmm.dat.gz,active_site.dat.gz}" % (_pfam_db_dir, _pfam_db_url), +# "gzip -d %s/*.gz" % _pfam_db_dir, +# "hmmpress %s/Pfam-A.hmm" % _pfam_db_dir, +# ] +# +# modloadmsg = """ +# Pfam database dir is located at %s +# """ % _pfam_db_dir + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Phantompeakqualtools/Phantompeakqualtools-1.2.2-foss-2021b.eb b/easybuild/easyconfigs/p/Phantompeakqualtools/Phantompeakqualtools-1.2.2-foss-2021b.eb new file mode 100644 index 00000000000..841410ab2b3 --- /dev/null +++ b/easybuild/easyconfigs/p/Phantompeakqualtools/Phantompeakqualtools-1.2.2-foss-2021b.eb @@ -0,0 +1,57 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'Phantompeakqualtools' +version = '1.2.2' + +homepage = "https://github.com/kundajelab/phantompeakqualtools" +description = """It computes informative enrichment and quality measures +for ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/kundajelab/%(namelower)s/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['b31263b64aefe97bdc4d7fae138f515a7d7a60cd05031d38dd89a10f9ee10cd1'] + +dependencies = [ + ('R', '4.1.2'), + ('SAMtools', '1.14'), + ('R-bundle-Bioconductor', '3.14', '-R-%(rver)s'), +] + +preinstall_cmd = "rm spp_1.14.tar.gz" + +exts_defaultclass = 'RPackage' +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', +} + +exts_list = [ + # phantompeakqualtools requires spp 1.14 or 1.15.x (1.16 is not supported) + ('spp', '1.15.5', { + 'checksums': ['1c486792ac3feb194c95efe7a8a98eab4331877ba901d774561b8839c958f924'], + }), +] + +modextrapaths = { + 'PATH': '', + 'R_LIBS_SITE': '', +} + +sanity_check_paths = { + 'files': ['run_spp.R'], + 'dirs': [], +} + +sanity_check_commands = [ + 'run_spp.R 2>&1 | grep "Usage: Rscript run_spp.R "', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PheWeb/PheWeb-1.1.20-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/PheWeb/PheWeb-1.1.20-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..50017dfb45d --- /dev/null +++ b/easybuild/easyconfigs/p/PheWeb/PheWeb-1.1.20-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'PheWeb' +version = '1.1.20' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/statgen/pheweb' +description = """A tool for building PheWAS websites from association files""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('Pysam', '0.15.3'), + ('openpyxl', '3.0.3', versionsuffix), + ('Flask', '1.1.2', versionsuffix), + ('tqdm', '4.41.1'), +] + +use_pip = True + +exts_list = [ + ('Brotli', '1.0.7', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['0538dc1744fd17c314d2adc409ea7d1b779783b89fd95bcfb0c2acc93a6ea5a7'], + }), + ('Flask-Compress', '1.5.0', { + 'checksums': ['f367b2b46003dd62be34f7fb1379938032656dca56377a9bc90e7188e4289a7c'], + }), + ('Flask-Login', '0.5.0', { + 'checksums': ['6d33aef15b5bcead780acc339464aae8a6e28f13c90d8b1cf9de8b549d1c0b4b'], + }), + ('rauth', '0.7.3', { + 'checksums': ['524cdbc1c28560eacfc9a9d40c59525eb8d00fdf07fbad86107ea24411477b0a'], + }), + ('marisa-trie', '0.7.5', { + 'checksums': ['c73bc25d868e8c4ea7aa7f1e19892db07bba2463351269b05340ccfa06eb2baf'], + }), + ('gunicorn', '20.0.4', { + 'checksums': ['1904bb2b8a43658807108d59c3f3d56c2b6121a701161de0ddf9ad140073c626'], + }), + ('boltons', '19.1.0', { + 'checksums': ['c32b2d121331a9bc7c220050d4273f3aa359b7569cb4794188e71524603113dc'], + }), + ('wget', '3.2', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061'], + }), + ('greenlet', '0.4.16', { + 'checksums': ['6e06eac722676797e8fce4adb8ad3dc57a1bb3adfb0dd3fdf8306c055a38456c'], + }), + ('zope.event', '4.4', { + 'checksums': ['69c27debad9bdacd9ce9b735dad382142281ac770c4a432b533d6d65c4614bcf'], + }), + ('zope.interface', '5.1.0', { + 'checksums': ['40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e'], + }), + ('gevent', '1.5.0', { + 'checksums': ['b2814258e3b3fb32786bb73af271ad31f51e1ac01f33b37426b66cb8491b4c29'], + }), + (name, version, { + 'checksums': ['98cc12c0cecb115b8db351bc3903ab047431e0f1c15bd8249a7270e60e61e85b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..e58ddd6ca7d --- /dev/null +++ b/easybuild/easyconfigs/p/Phenoflow/Phenoflow-1.1.2-20200917-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'Phenoflow' +local_commit = 'c80f878' +version = '1.1.2-20200917' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/rprops/Phenoflow_package' +description = "R package offering functionality for the advanced analysis of microbial flow cytometry data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/rprops/Phenoflow_package/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['815d4d78bbeacf8f863eef51d446998e39728fd7bf471ba9df4b01b5c4140719'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('flowFDA', '0.99-20220602', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' 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/PhyML/PhyML-3.3.20190321-foss-2018b.eb b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20190321-foss-2018b.eb index c50e8a011fc..912512be334 100644 --- a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20190321-foss-2018b.eb +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20190321-foss-2018b.eb @@ -2,6 +2,8 @@ # Author: Pablo Escobar Lopez # sciCORE - University of Basel # SIB Swiss Institute of Bioinformatics +# Missing Autotools and pkg-config added +# J. Sassmannshausen GSTT/NHS easyblock = 'ConfigureMake' @@ -17,6 +19,11 @@ source_urls = ['https://github.com/stephaneguindon/phyml/archive/'] sources = ['v%(version)s.tar.gz'] checksums = ['5274546cda7445c947fd26838487cd4246e2becf18d333882b7a2a24dff853ee'] +builddependencies = [ + ('Autotools', '20180311'), + ('pkg-config', '0.29.2'), +] + preconfigopts = 'sh autogen.sh && ' configopts = ['--enable-phyml', '--enable-phytime', '--enable-phyrex', '--enable-mpi --enable-phyml'] diff --git a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20200621-foss-2020b.eb b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20200621-foss-2020b.eb new file mode 100644 index 00000000000..02ccca5454c --- /dev/null +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20200621-foss-2020b.eb @@ -0,0 +1,38 @@ +# 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 +# Updated to version 3.3.20200621 +# J. Sassmannshausen (GSTT/NHS) + +easyblock = 'ConfigureMake' + +name = 'PhyML' +version = '3.3.20200621' + +homepage = 'https://github.com/stephaneguindon/phyml' +description = "Phylogenetic estimation using (Maximum) Likelihood" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/stephaneguindon/phyml/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a8243923ee08c74cab609a4b086ade66c6156fc2b24450e2a500108dc644c867'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = 'sh autogen.sh && ' + +configopts = ['--enable-phyml', '--enable-phytime', '--enable-phyrex', '--enable-mpi '] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/phyml', 'bin/phyml-mpi', 'bin/phyrex', 'bin/phytime'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb new file mode 100644 index 00000000000..54e42cdedb9 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408-foss-2023a.eb @@ -0,0 +1,42 @@ +# 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 +# Updated to version 3.3.20200621 by J. Sassmannshausen (GSTT/NHS) +# Updated to v3.3.20220408 by Pavel Tománek (INUITS) + +easyblock = 'ConfigureMake' + +name = 'PhyML' +version = '3.3.20220408' + +homepage = 'https://github.com/stephaneguindon/phyml' +description = """PhyML is a software package that uses modern statistical approaches to +analyse alignments of nucleotide or amino acid sequences in a phylogenetic framework.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/stephaneguindon/phyml/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['PhyML-3.3.20220408_mcmc.c-fix.patch'] +checksums = [ + {'v3.3.20220408.tar.gz': '9cef375c0186e8a8d4db72ac02148707624c97174ffac244167a138ceb9f65bd'}, + {'PhyML-3.3.20220408_mcmc.c-fix.patch': 'ac484858ce69d04af8e2d0a19eee18b735b34ac8d9f13467fa630541720bfe6f'}, +] + +builddependencies = [ + ('Autoconf', '2.71'), + ('Automake', '1.16.5'), + ('pkgconf', '1.9.5'), +] + +preconfigopts = 'sh autogen.sh && ' + +configopts = ['--enable-phyml', '--enable-phytime', '--enable-phyrex', '--enable-phyml-mpi'] + +sanity_check_paths = { + 'files': ['bin/phyml', 'bin/phyml-mpi', 'bin/phyrex', 'bin/phytime'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch new file mode 100644 index 00000000000..010668cc382 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyML/PhyML-3.3.20220408_mcmc.c-fix.patch @@ -0,0 +1,28 @@ +Author: Pavel Tománek (INUITS) +https://github.com/stephaneguindon/phyml/issues/166 +--- src/mcmc.c.orig 2022-05-18 13:29:35.000000000 -0800 ++++ src/mcmc.c 2022-05-18 13:42:37.000000000 -0800 +@@ -1469,7 +1469,7 @@ + /* if(tree->aux_tree != NULL) */ + { + PhyML_Printf("\n."); +- PhyML_Printf("\n. %c [%4d] \n. t: %1f->%1f t1:%f t2: %f \n. r1: %10f->%10f r2: %10f->%10f \n. R: %12f alnL:%10f->%10f[%d] \n. tlnL: %10f->%10f[%d] \n. glnL: %10f->%10f[%d] \n. rlnL: %10f->%10f[%d] \n. tune: %10f hr: %f [%f,%f] [%f,%f,%f] ratio: %10f K: %10f failed: %d", ++ PhyML_Printf("\n. %c [%4d] \n. t: %1f->%1f t1:%f t2: %f \n. r1: %10f->%10f r2: %10f->%10f \n. R: %12f alnL:%10f->%10f[%d] \n. tlnL: %10f->%10f[%d] ", + (tree->aux_tree != NULL) ? '*' : 'X', + tree->mcmc->run, + t0_cur,t0_new, +@@ -1478,8 +1478,12 @@ + r2_cur,r2_new, + tree->rates->norm_fact, + cur_lnL_seq,new_lnL_seq,tree->eval_alnL, +- cur_lnL_time,new_lnL_time,tree->eval_glnL, +- cur_lnL_loc,new_lnL_loc,tree->eval_glnL, ++ cur_lnL_time,new_lnL_time,tree->eval_glnL); ++#ifdef PHYREX ++ PhyML_Printf("\n. glnL: %10f->%10f[%d] ", ++ cur_lnL_loc,new_lnL_loc,tree->eval_glnL); ++#endif ++ PhyML_Printf("\n. rlnL: %10f->%10f[%d] \n. tune: %10f hr: %f [%f,%f] [%f,%f,%f] ratio: %10f K: %10f failed: %d", + cur_lnL_rate,new_lnL_rate,tree->eval_rlnL, + tune, + hr, \ No newline at end of file diff --git a/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..4b0003f906b --- /dev/null +++ b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,55 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'PhyloPhlAn' +version = '3.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/biobakery/phylophlan' +description = """ +PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of +genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method +for large-scale microbial genome characterization and phylogenetic analysis +at multiple levels of resolution. +""" + +source_urls = ['https://github.com/biobakery/%(namelower)s/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['26d150d37159406f678165bf3d6cb06b3021fb2227b301b06095e769c87bdd9f'] + +toolchain = {'name': 'foss', 'version': '2020a'} + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('Biopython', '1.78', versionsuffix), + ('DendroPy', '4.4.0'), + ('matplotlib', '3.2.1', versionsuffix), + ('Seaborn', '0.10.1', versionsuffix), + ('FastTree', '2.1.11'), + ('IQ-TREE', '2.1.2'), + ('MUSCLE', '3.8.31'), + ('MAFFT', '7.453', '-with-extensions'), + ('SEPP', '4.3.10', versionsuffix), + ('trimAl', '1.4.1'), + ('BLAST+', '2.10.1'), + ('USEARCH', '11.0.667-i86linux32', '', SYSTEM), + ('DIAMOND', '2.0.4'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'phylophlan_metagenomic']], + 'dirs': ['lib'], +} +sanity_check_commands = [('%(namelower)s', '-h')] + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.2-foss-2021a.eb b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.2-foss-2021a.eb new file mode 100644 index 00000000000..7d564d27db0 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.2-foss-2021a.eb @@ -0,0 +1,55 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO +# update to v3.0.2 + +easyblock = 'PythonPackage' + +name = 'PhyloPhlAn' +version = '3.0.2' + +homepage = 'https://github.com/biobakery/phylophlan' +description = """ +PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of +genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method +for large-scale microbial genome characterization and phylogenetic analysis +at multiple levels of resolution. +""" + +source_urls = ['https://github.com/biobakery/%(namelower)s/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['c342116662bbfbb49f0665291fc7c0be5a0d04a02a7be2da81de0322eb2256b4'] + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.4.2'), + ('Seaborn', '0.11.2'), + ('FastTree', '2.1.11'), + ('IQ-TREE', '2.1.3'), + ('MUSCLE', '3.8.31'), + ('MAFFT', '7.490', '-with-extensions'), + ('SEPP', '4.5.0'), + ('trimAl', '1.4.1'), + ('BLAST+', '2.11.0'), + ('USEARCH', '11.0.667-i86linux32', '', SYSTEM), + ('DIAMOND', '2.0.11'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'phylophlan_metagenomic']], + 'dirs': ['lib'], +} +sanity_check_commands = [('%(namelower)s', '-h')] + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb new file mode 100644 index 00000000000..3cca6b971e6 --- /dev/null +++ b/easybuild/easyconfigs/p/PhyloPhlAn/PhyloPhlAn-3.0.3-foss-2022a.eb @@ -0,0 +1,55 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO +# update to v3.0.2 + +easyblock = 'PythonPackage' + +name = 'PhyloPhlAn' +version = '3.0.3' + +homepage = 'https://github.com/biobakery/phylophlan' +description = """ +PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of +genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method +for large-scale microbial genome characterization and phylogenetic analysis +at multiple levels of resolution. +""" + +source_urls = ['https://github.com/biobakery/%(namelower)s/archive/refs/tags'] +sources = ['%(version)s.tar.gz'] +checksums = ['d8d0082c95d58d7b11a60c1e2214b35c1a23a65675005f1393e7647d76c6a054'] + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('FastTree', '2.1.11'), + ('IQ-TREE', '2.2.2.3'), + ('MUSCLE', '5.1.0'), + ('MAFFT', '7.505', '-with-extensions'), + ('SEPP', '4.5.1'), + ('trimAl', '1.4.1'), + ('BLAST+', '2.13.0'), + ('USEARCH', '11.0.667-i86linux32', '', SYSTEM), + ('DIAMOND', '2.1.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'phylophlan_metagenomic']], + 'dirs': ['lib'], +} +sanity_check_commands = [('%(namelower)s', '-h')] + +options = {'modulename': '%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-8_CVE-2021-23437.patch b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-8_CVE-2021-23437.patch new file mode 100644 index 00000000000..57504df710a --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-8_CVE-2021-23437.patch @@ -0,0 +1,30 @@ +Fix for CVE-2021-23437 +author: Hugo van Kemenade (Nord Software) +diff -rupN --no-dereference Pillow-8.1.2/src/PIL/ImageColor.py Pillow-8.1.2-new/src/PIL/ImageColor.py +--- a/src/PIL/ImageColor.py 2021-03-06 03:38:55.000000000 +0100 ++++ b/src/PIL/ImageColor.py 2021-09-13 08:39:22.289084217 +0200 +@@ -32,6 +32,8 @@ def getrgb(color): + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ ++ if len(color) > 100: ++ raise ValueError("color specifier is too long") + color = color.lower() + + rgb = colormap.get(color, None) +diff -rupN --no-dereference Pillow-8.1.2/Tests/test_imagecolor.py Pillow-8.1.2-new/Tests/test_imagecolor.py +--- a/Tests/test_imagecolor.py 2021-03-06 03:38:55.000000000 +0100 ++++ b/Tests/test_imagecolor.py 2021-09-13 08:39:22.289084217 +0200 +@@ -191,3 +191,12 @@ def test_rounding_errors(): + assert (255, 255) == ImageColor.getcolor("white", "LA") + assert (163, 33) == ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA") + Image.new("LA", (1, 1), "white") ++ ++ ++def test_color_too_long(): ++ # Arrange ++ color_too_long = "hsl(" + "1" * 100 + ")" ++ ++ # Act / Assert ++ with pytest.raises(ValueError): ++ ImageColor.getrgb(color_too_long) diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-10.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-10.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e752171a582 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-10.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '10.4.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': '13.3.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8c7c3c0fc2952ff11b9a8c60365e098ee5334427dd5688c3584e77c25a7e1b3f'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), + ('LibTIFF', '4.6.0'), + ('freetype', '2.13.2'), + ('libwebp', '1.4.0'), + ('OpenJPEG', '2.5.2'), + ('LittleCMS', '2.16'), +] + +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-7.1.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-10.2.0.eb index 712cf054a06..9c4aa141b7c 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-10.2.0.eb @@ -11,7 +11,11 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['72e1c9d48543531f5fc04594fa330d1111ecc2ac04a9bcda0c6ad3abe6a616aa'] +patches = ['Pillow-8_CVE-2021-23437.patch'] +checksums = [ + '72e1c9d48543531f5fc04594fa330d1111ecc2ac04a9bcda0c6ad3abe6a616aa', # 7.1.2.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] builddependencies = [('binutils', '2.35')] diff --git a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-9.3.0-Python-3.8.2.eb index fd8571b95b9..0faafe7a94a 100644 --- a/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-7.1.2-GCCcore-9.3.0-Python-3.8.2.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['72e1c9d48543531f5fc04594fa330d1111ecc2ac04a9bcda0c6ad3abe6a616aa'] +patches = ['Pillow-8_CVE-2021-23437.patch'] +checksums = [ + '72e1c9d48543531f5fc04594fa330d1111ecc2ac04a9bcda0c6ad3abe6a616aa', # 7.1.2.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] builddependencies = [('binutils', '2.34')] 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 new file mode 100644 index 00000000000..a9782146eca --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '8.2.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': '10.3.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + 'd966a27bd027d960c62ce5593858b4bf3e98ea44b9f7684a4486086b6f0ea3aa', # 8.2.0.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.2.0'), + ('freetype', '2.10.4') +] + +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-8.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..870700860cf --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.1-GCCcore-11.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '8.3.1' + +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': '11.2.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + 'bf77f392094e3bb24ca56ef8bbc4ea0d9752226ff348682d849c0aa8c1577980', # 8.3.1.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +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-8.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..99dab09b9c1 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-8.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '8.3.2' + +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': '11.2.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['095bcf74c6e4d36e1e1ff2d7926b83169f0dc29bb6731734c39d3c9522ae81b2'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +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.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ae933c15e3b --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'Pillow-SIMD' +version = '9.2.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': '11.3.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1c3b4bce334fbb234be506cd3146a93714f9de43032aaf807ff47a20d6b42c95'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.12.1'), + ('libwebp', '1.2.4'), +] + +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.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 new file mode 100644 index 00000000000..0505a2e0fbd --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow-SIMD/Pillow-SIMD-9.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +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.3.0'} + +source_urls = ['https://github.com/uploadcare/pillow-simd/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1a9819343b451b7faf34663156e2abca3ae69ab604f82e445478c8133422e4f0'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('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 = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/PIL'], +} + +sanity_pip_check = True + +moduleclass = 'vis' 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 new file mode 100644 index 00000000000..adf7020295d --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-10.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '10.0.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': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9c82b5b3e043c7af0d95792d0d20ccf68f61a1fec6b3530e718b688422727396'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('LibTIFF', '4.5.0'), + ('freetype', '2.13.0'), + ('libwebp', '1.3.1'), + ('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/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/Pillow/Pillow-10.4.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-10.4.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..34c086c859a --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-10.4.0-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '10.4.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.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06'] + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.12.3'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.43'), + ('zlib', '1.3.1'), + ('LibTIFF', '4.6.0'), + ('freetype', '2.13.2'), + ('libwebp', '1.4.0'), + ('OpenJPEG', '2.5.2'), + ('LittleCMS', '2.16'), +] + +# 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' " + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-6.0.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-6.0.0-GCCcore-8.2.0.eb index 02e02a6573a..c1a23a994d9 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-6.0.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-6.0.0-GCCcore-8.2.0.eb @@ -25,7 +25,18 @@ dependencies = [ ] 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'} diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-6.2.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-6.2.1-GCCcore-8.3.0.eb index 13dee61b577..e52c6bc4335 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-6.2.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-6.2.1-GCCcore-8.3.0.eb @@ -25,7 +25,18 @@ dependencies = [ ] 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'} diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-6.2.2-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/p/Pillow/Pillow-6.2.2-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..a8a8a9dd9fb --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-6.2.2-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '6.2.2' +# This is the last Pillow version to support Python 2.7. +versionsuffix = '-Python-%(pyver)s' + +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': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['db9ff0c251ed066d367f53b64827cc9e18ccea001b986d08c265e53625dab950'] + +dependencies = [ + ('Python', '2.7.18'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.1.0'), + ('freetype', '2.10.3') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'PIL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-7.0.0-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/p/Pillow/Pillow-7.0.0-GCCcore-9.3.0-Python-3.8.2.eb index 51e4a86a83a..986c3ab5bc0 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-7.0.0-GCCcore-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-7.0.0-GCCcore-9.3.0-Python-3.8.2.eb @@ -11,7 +11,11 @@ description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributor toolchain = {'name': 'GCCcore', 'version': '9.3.0'} sources = [SOURCE_TAR_GZ] -checksums = ['4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946'] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + '4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946', # Pillow-7.0.0.tar.gz + '8c4195792e3a3581fef80a4cbca39f1123c0b83f74acc002bbbec7185c62baf3', # Pillow-7_CVE-2021-23437.patch +] builddependencies = [('binutils', '2.34')] @@ -25,6 +29,16 @@ dependencies = [ ] 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 diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-7_CVE-2021-23437.patch b/easybuild/easyconfigs/p/Pillow/Pillow-7_CVE-2021-23437.patch new file mode 100644 index 00000000000..747c20f3ae8 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-7_CVE-2021-23437.patch @@ -0,0 +1,27 @@ +Fix for CVE-2021-23437 +author: Hugo van Kemenade (Nord Software) +--- a/src/PIL/ImageColor.py 2020-01-02 09:31:35.000000000 +0100 ++++ b/src/PIL/ImageColor.py 2022-01-18 16:42:11.359922625 +0100 +@@ -32,6 +32,8 @@ + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ ++ if len(color) > 100: ++ raise ValueError("color specifier is too long") + color = color.lower() + + rgb = colormap.get(color, None) +--- a/Tests/test_imagecolor.py 2022-01-18 16:42:11.362700436 +0100 ++++ b/Tests/test_imagecolor.py 2022-01-18 17:43:53.880517448 +0100 +@@ -182,3 +182,11 @@ + self.assertEqual((255, 255), ImageColor.getcolor("white", "LA")) + self.assertEqual((163, 33), ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA")) + Image.new("LA", (1, 1), "white") ++ ++def test_color_too_long(): ++ # Arrange ++ color_too_long = "hsl(" + "1" * 100 + ")" ++ ++ # Act / Assert ++ with pytest.raises(ValueError): ++ ImageColor.getrgb(color_too_long) diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-8.0.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-8.0.1-GCCcore-10.2.0.eb index 9304f308f90..40bd77d8b9b 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-8.0.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-8.0.1-GCCcore-10.2.0.eb @@ -10,7 +10,11 @@ description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributor toolchain = {'name': 'GCCcore', 'version': '10.2.0'} sources = [SOURCE_TAR_GZ] -checksums = ['11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e'] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + '11c5c6e9b02c9dac08af04f093eb5a2f84857df70a7d4a6a6ad461aca803fb9e', # Pillow-8.0.1.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] builddependencies = [('binutils', '2.35')] @@ -24,6 +28,16 @@ dependencies = [ ] 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 diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-8.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-8.2.0-GCCcore-10.3.0.eb index 198aa646f08..af1fe6d1c72 100644 --- a/easybuild/easyconfigs/p/Pillow/Pillow-8.2.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Pillow/Pillow-8.2.0-GCCcore-10.3.0.eb @@ -10,7 +10,11 @@ description = """Pillow is the 'friendly PIL fork' by Alex Clark and Contributor toolchain = {'name': 'GCCcore', 'version': '10.3.0'} sources = [SOURCE_TAR_GZ] -checksums = ['a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1'] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + 'a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1', # Pillow-8.2.0.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] builddependencies = [('binutils', '2.36.1')] @@ -24,6 +28,16 @@ dependencies = [ ] 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 diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-8.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-8.3.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f84075db32f --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-8.3.1-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '8.3.1' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +patches = ['Pillow-%(version_major)s_CVE-2021-23437.patch'] +checksums = [ + '2cac53839bfc5cece8fdbe7f084d5e3ee61e1303cccc86511d351adcb9e2c792', # Pillow-8.3.1.tar.gz + '12bac0ff4f815d1e60ed129106c2990c8c6157891fd90ec8aaec88a5a642d521', # Pillow-8_CVE-2021-23437.patch +] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +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/Pillow/Pillow-8.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-8.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9f40a113629 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-8.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '8.3.2' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['dde3f3ed8d00c72631bc19cbfff8ad3b6215062a5eed402381ad365f82f0c18c'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +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/Pillow/Pillow-8_CVE-2021-23437.patch b/easybuild/easyconfigs/p/Pillow/Pillow-8_CVE-2021-23437.patch new file mode 100644 index 00000000000..57504df710a --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-8_CVE-2021-23437.patch @@ -0,0 +1,30 @@ +Fix for CVE-2021-23437 +author: Hugo van Kemenade (Nord Software) +diff -rupN --no-dereference Pillow-8.1.2/src/PIL/ImageColor.py Pillow-8.1.2-new/src/PIL/ImageColor.py +--- a/src/PIL/ImageColor.py 2021-03-06 03:38:55.000000000 +0100 ++++ b/src/PIL/ImageColor.py 2021-09-13 08:39:22.289084217 +0200 +@@ -32,6 +32,8 @@ def getrgb(color): + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ ++ if len(color) > 100: ++ raise ValueError("color specifier is too long") + color = color.lower() + + rgb = colormap.get(color, None) +diff -rupN --no-dereference Pillow-8.1.2/Tests/test_imagecolor.py Pillow-8.1.2-new/Tests/test_imagecolor.py +--- a/Tests/test_imagecolor.py 2021-03-06 03:38:55.000000000 +0100 ++++ b/Tests/test_imagecolor.py 2021-09-13 08:39:22.289084217 +0200 +@@ -191,3 +191,12 @@ def test_rounding_errors(): + assert (255, 255) == ImageColor.getcolor("white", "LA") + assert (163, 33) == ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA") + Image.new("LA", (1, 1), "white") ++ ++ ++def test_color_too_long(): ++ # Arrange ++ color_too_long = "hsl(" + "1" * 100 + ")" ++ ++ # Act / Assert ++ with pytest.raises(ValueError): ++ ImageColor.getrgb(color_too_long) diff --git a/easybuild/easyconfigs/p/Pillow/Pillow-9.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..77514256550 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.1.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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f401ed2bbb155e1ade150ccc63db1a4f6c1909d3d378f7d1235a44e90d75fb97'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.2.0'), + ('freetype', '2.10.4') +] + +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/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9105a050425 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.1.1' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.11.0') +] + +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/Pillow/Pillow-9.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..59ee6af6b89 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.1.1' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('LibTIFF', '4.3.0'), + ('freetype', '2.12.1') +] + +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/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f3df005a939 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.2.0-GCCcore-10.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.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': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = [ + '75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04', # Pillow-8.0.1.tar.gz +] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('LibTIFF', '4.1.0'), + ('freetype', '2.10.3') +] + +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/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..bf3b09e45a7 --- /dev/null +++ b/easybuild/easyconfigs/p/Pillow/Pillow-9.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'Pillow' +version = '9.4.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': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a1c2d7780448eb93fbcc3789bf3916aa5720d942e37945f4056680317f1cd23e'] + +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') +] + +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/Pindel/Pindel-0.2.5b9-20170508-GCC-11.2.0.eb b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.2.0.eb new file mode 100644 index 00000000000..55ba0880a4c --- /dev/null +++ b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.2.0.eb @@ -0,0 +1,57 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +## + +easyblock = 'CmdCp' + +name = 'Pindel' +# no official release provided for version 0.2.5b9 (20160729), +# therefore, pull last commit (20170508) to this version from master repo +version = '0.2.5b9-20170508' + +homepage = 'http://gmt.genome.wustl.edu/packages/pindel/' +description = """ Pindel can detect breakpoints of large deletions, medium sized + insertions, inversions, tandem duplications and other structural variants at single-based + resolution from next-gen sequence data. It uses a pattern growth approach to identify the + breakpoints of these variants from paired-end short reads. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/genome/pindel/archive/'] +sources = [{ + 'filename': 'v%(version)s.zip', + 'download_filename': 'b706fba61c64a11fb1d3716d501fd2f4d8992e29.zip' +}] + +# apply changes made in https://github.com/genome/pindel/pull/64 to fix compilation error +patches = ['%(name)s-%(version)s_fix-ambig-abs-compil-err.patch'] + +checksums = [ + 'd1dec65e157e2018fc827a90579caf27d096a9e3e798fd715b44470fe920361a', # v0.2.5b9-20170508.zip + '216ae1145fd1568ac2187a89bf4b95c45d5c02272047a3dd5f9dfbede26c8fec', # patch +] + +dependencies = [ + ('HTSlib', '1.14'), + ('zlib', '1.2.11') +] + +cmds_map = [('.*', "./INSTALL ${EBROOTHTSLIB}")] + +files_to_copy = [ + (['pindel', 'sam2pindel', 'pindel2vcf', 'bam2pindel.pl', 'Adaptor.pm'], 'bin'), + "demo", + "test", + "README.md", +] + +sanity_check_paths = { + 'files': ['bin/pindel', 'bin/sam2pindel', 'bin/pindel2vcf', 'bin/bam2pindel.pl'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb new file mode 100644 index 00000000000..798e6828551 --- /dev/null +++ b/easybuild/easyconfigs/p/Pindel/Pindel-0.2.5b9-20170508-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# Author: Jonas Demeulemeester +# The Francis Crick Insitute, London, UK +## + +easyblock = 'CmdCp' + +name = 'Pindel' +# no official release provided for version 0.2.5b9 (20160729), +# therefore, pull last commit (20170508) to this version from master repo +version = '0.2.5b9-20170508' +_commit = 'b706fba61' + +homepage = 'http://gmt.genome.wustl.edu/packages/pindel/' +description = """ Pindel can detect breakpoints of large deletions, medium sized + insertions, inversions, tandem duplications and other structural variants at single-based + resolution from next-gen sequence data. It uses a pattern growth approach to identify the + breakpoints of these variants from paired-end short reads. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'genome' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +patches = ['%(name)s-%(version)s_fix-ambig-abs-compil-err.patch'] +checksums = [ + {'Pindel-0.2.5b9-20170508.tar.gz': 'd626260986270efce5a947d03785781c8fddfc922f41279cf9d4bd504c4e3690'}, + {'Pindel-0.2.5b9-20170508_fix-ambig-abs-compil-err.patch': + '216ae1145fd1568ac2187a89bf4b95c45d5c02272047a3dd5f9dfbede26c8fec'}, +] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12') +] + +cmds_map = [('.*', "./INSTALL ${EBROOTHTSLIB}")] + +_exes = ['pindel', 'sam2pindel', 'pindel2vcf', 'bam2pindel.pl', 'Adaptor.pm'] +files_to_copy = [(_exes, 'bin'), "demo", "test", "README.md"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _exes], + 'dirs': ['demo', 'test'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..565dc406031 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.19.2-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.19.2' + +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1d4989ff510b378dad64f91711e7bdabe5ca78d75b06a18569ac454678c4baf'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.20.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.20.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..36db893fe73 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.20.1-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.20.1' + +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': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d64c25ab495 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.22-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'Pint' +version = '0.22' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2d139f6abbcf3016cad7d3cec05707fe908ac4f99cf59aedfd6ee667b7a64433'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'numlib' 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/Pint/Pint-0.24-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Pint/Pint-0.24-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..40b50dbb060 --- /dev/null +++ b/easybuild/easyconfigs/p/Pint/Pint-0.24-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Pint' +version = '0.24' + +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': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('flexcache', '0.3', { + 'checksums': ['18743bd5a0621bfe2cf8d519e4c3bfdf57a269c15d1ced3fb4b64e0ff4600656'], + }), + ('flexparser', '0.3.1', { + 'checksums': ['36f795d82e50f5c9ae2fde1c33f21f88922fdd67b7629550a3cc4d0b40a66856'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['c6c7c027b821413db1ac46b3b7bd296592848b5aec29a88cfc6e378fd1371903'], + }), +] + +sanity_pip_check = True + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.1.0-foss-2022a.eb b/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.1.0-foss-2022a.eb new file mode 100644 index 00000000000..a9f982ab9f2 --- /dev/null +++ b/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.1.0-foss-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'Platypus-Opt' +version = '1.1.0' + +homepage = 'https://github.com/Project-Platypus/Platypus' +description = """Platypus is a framework for evolutionary computing in Python with a focus on + multiobjective evolutionary algorithms (MOEAs).""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['19610123c204e2dfc10741c69403b57a649589d9494de0fce0fc27579e586bbd'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'platypus'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.2.0-foss-2022b.eb b/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.2.0-foss-2022b.eb new file mode 100644 index 00000000000..a0e995d4f45 --- /dev/null +++ b/easybuild/easyconfigs/p/Platypus-Opt/Platypus-Opt-1.2.0-foss-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Platypus-Opt' +version = '1.2.0' + +homepage = 'https://github.com/Project-Platypus/Platypus' +description = """Platypus is a framework for evolutionary computing in Python with a focus on + multiobjective evolutionary algorithms (MOEAs).""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f7150de2e24f8003c911259c575493c9351a7dcfb132445a3f3b096728634e6a'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('mpi4py', '3.1.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'platypus'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-gompi-2021a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-gompi-2021a.eb new file mode 100644 index 00000000000..06a342628c6 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-gompi-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = "1.12.2" + +homepage = 'https://trac.mcs.anl.gov/projects/parallel-netcdf' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://parallel-netcdf.github.io/Release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Perl', '5.32.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-iimpi-2021a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-iimpi-2021a.eb new file mode 100644 index 00000000000..ff8f8e56b30 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.2-iimpi-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = "1.12.2" + +homepage = 'https://trac.mcs.anl.gov/projects/parallel-netcdf' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'iimpi', 'version': '2021a'} + +source_urls = ['https://parallel-netcdf.github.io/Release/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3ef1411875b07955f519a5b03278c31e566976357ddfc74c2493a1076e7d7c74'] + +builddependencies = [ + ('Autotools', '20210128'), + ('Perl', '5.32.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2021b.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2021b.eb new file mode 100644 index 00000000000..83d4cfd6bc0 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.3' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77'] + +builddependencies = [ + ('Autotools', '20210726'), + ('Perl', '5.34.0'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2022a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2022a.eb new file mode 100644 index 00000000000..44165d52dd2 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.3' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.34.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2023a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2023a.eb new file mode 100644 index 00000000000..6fbdb97fe58 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-gompi-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.3' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.36.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb new file mode 100644 index 00000000000..e1cc4ae8c35 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.12.3-iimpi-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.12.3' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'iimpi', 'version': '2022a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.34.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb new file mode 100644 index 00000000000..a2c3ec8e672 --- /dev/null +++ b/easybuild/easyconfigs/p/PnetCDF/PnetCDF-1.13.0-iimpi-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'PnetCDF' +version = '1.13.0' + +homepage = 'https://parallel-netcdf.github.io/' +description = "Parallel netCDF: A Parallel I/O Library for NetCDF File Access" + +toolchain = {'name': 'iimpi', 'version': '2023a'} + +source_urls = ['https://parallel-netcdf.github.io/Release'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['aba0f1c77a51990ba359d0f6388569ff77e530ee574e40592a1e206ed9b2c491'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.36.1'), +] + +preconfigopts = "autoreconf -f -i && " + +configopts = ['', '--enable-shared'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ncmpidiff', 'ncmpidump', 'ncmpigen', 'ncoffsets', + 'ncvalidator', 'pnetcdf-config', 'pnetcdf_version']] + + ['lib/lib%(namelower)s.a', 'lib/lib%%(namelower)s.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +modextrapaths = { + 'PNETCDF': '', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b637b657763 --- /dev/null +++ b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'Porechop' +version = '0.2.4' + +homepage = 'https://github.com/rrwick/Porechop' +description = """Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. + Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, + it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments + to effectively find adapters, even at low sequence identity""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/rrwick/Porechop/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..38cc2f58c84 --- /dev/null +++ b/easybuild/easyconfigs/p/Porechop/Porechop-0.2.4-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'Porechop' +version = '0.2.4' + +homepage = 'https://github.com/rrwick/Porechop' +description = """Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. + Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, + it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments + to effectively find adapters, even at low sequence identity""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/rrwick/Porechop/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['44b499157d933be43f702cec198d1d693dcb9276e3c545669be63c2612493299'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb new file mode 100644 index 00000000000..ad0b2f74a9d --- /dev/null +++ b/easybuild/easyconfigs/p/PortAudio/PortAudio-19.7.0-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'PortAudio' +version = "19.7.0" + +homepage = 'https://www.portaudio.com/' +description = """PortAudio is a free, cross-platform, open-source, audio I/O library. + It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, + Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between + developers on different platforms. Many applications use PortAudio for Audio I/O.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ["https://github.com/PortAudio/portaudio/archive"] +sources = ["v%(version)s.tar.gz"] +checksums = ['5af29ba58bbdbb7bbcefaaecc77ec8fc413f0db6f4c4e286c40c3e1b83174fa0'] + +dependencies = [ + ('Python', '3.10.4'), + ('alsa-lib', '1.2.8'), + ('jax', '0.3.25'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('PyAudio', '0.2.14', { + 'checksums': ['78dfff3879b4994d1f4fc6485646a57755c6ee3c19647a491f790a0895bd2f87'], + }), +] + +parallel = 1 + +sanity_check_paths = { + 'files': ["include/portaudio.h", "lib/libportaudio.a", "lib/libportaudio.so"], + 'dirs': ['include', 'lib', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'python -c "import pyaudio; pyaudio.get_portaudio_version_text(); pyaudio.__version__"' +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5cab8eed7b8 --- /dev/null +++ b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'PortMidi' +version = '2.0.4' + +homepage = 'https://github.com/PortMidi/portmidi' +description = """ +PortMidi is a library for software developers. It supports real-time input and +output of MIDI data using a system-independent interface. PortMidi runs on +Windows (using MME), Macintosh (using CoreMIDI), and Linux (using ALSA). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PortMidi/portmidi/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['64893e823ae146cabd3ad7f9a9a9c5332746abe7847c557b99b2577afa8a607c'] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('alsa-lib', '1.2.8'), +] + +sanity_check_paths = { + 'files': ['lib/libportmidi.%s' % SHLIB_EXT, 'include/portmidi.h', 'include/porttime.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ef55cdf9844 --- /dev/null +++ b/easybuild/easyconfigs/p/PortMidi/PortMidi-2.0.4-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'PortMidi' +version = '2.0.4' + +homepage = 'https://github.com/PortMidi/portmidi' +description = """ +PortMidi is a library for software developers. It supports real-time input and +output of MIDI data using a system-independent interface. PortMidi runs on +Windows (using MME), Macintosh (using CoreMIDI), and Linux (using ALSA). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/PortMidi/portmidi/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['64893e823ae146cabd3ad7f9a9a9c5332746abe7847c557b99b2577afa8a607c'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('alsa-lib', '1.2.9'), +] + +sanity_check_paths = { + 'files': ['lib/libportmidi.%s' % SHLIB_EXT, 'include/portmidi.h', 'include/porttime.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-13.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-13.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..eb61569278c --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-13.3-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '13.3' + +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': '10.3.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0b54a8a68dbfaf5dcddd89eb3922740143df50fbea02fefda8de743d8af99516'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Perl', '5.32.1'), + ('Python', '3.9.5'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +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/PostgreSQL/PostgreSQL-13.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-13.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5cf9564e87f --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-13.4-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '13.4' + +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': '11.2.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['59d7bc523e78570c549876fed297ec3e46dd307e90f5b1d22f49181191cf203e'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('Perl', '5.34.0'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('libreadline', '8.1'), + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +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/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ae344d6e856 --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-14.4-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '14.4' + +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': '11.3.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ebb58a3ac76b910cd7ca103636d19efdc262cab841e9be00705456813d980955'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +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/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..14b35601d98 --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-15.2-GCCcore-12.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '15.2' + +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': '12.2.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eccd208f3e7412ad7bc4c648ecc87e0aa514e02c24a48f71bf9e46910bf284ca'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.36.0'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = '--with-python --with-openssl' + +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/PostgreSQL/PostgreSQL-16.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9d55f4f92ac --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.1-GCCcore-12.3.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': '12.3.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.36.1'), + ('Python', '3.11.3'), +] + +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/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/PostgreSQL/PostgreSQL-16.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9b4c1f62855 --- /dev/null +++ b/easybuild/easyconfigs/p/PostgreSQL/PostgreSQL-16.4-GCCcore-13.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'PostgreSQL' +version = '16.4' + +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.3.0'} + +source_urls = ['http://ftp.postgresql.org/pub/source/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2e17a90062403e15d6540480fdec50c8b005eb48729a91cb4989ffeb04df193c'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('Perl', '5.38.2'), + ('Python', '3.12.3'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('zlib', '1.3.1'), + ('OpenSSL', '3', '', 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/PretextMap/PretextMap-0.1.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PretextMap/PretextMap-0.1.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..69972971936 --- /dev/null +++ b/easybuild/easyconfigs/p/PretextMap/PretextMap-0.1.9-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'PretextMap' +version = '0.1.9' + +homepage = 'https://github.com/sanger-tol/PretextMap/' +description = """Paired REad TEXTure Mapper. Converts SAM formatted read pairs into genome contact maps.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [{ + 'filename': '%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/sanger-tol', + 'repo_name': '%(name)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + }, +}] +checksums = [None] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Clang', '16.0.6'), +] + +preconfigopts = 'CXX=clang && ' +configure_cmd = 'meson setup --buildtype=release --unity on' +runtest = 'meson test' + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'] +} + +sanity_check_commands = ["command -v PretextMap"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/ProBiS/ProBiS-20230403-gompi-2022b.eb b/easybuild/easyconfigs/p/ProBiS/ProBiS-20230403-gompi-2022b.eb new file mode 100644 index 00000000000..cc6a507d9e2 --- /dev/null +++ b/easybuild/easyconfigs/p/ProBiS/ProBiS-20230403-gompi-2022b.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'ProBiS' +version = '20230403' +local_commit = 'f10a9f4c' + +homepage = 'http://insilab.org/probis-algorithm' +description = """ProBiS algorithm aligns and superimposes complete protein surfaces, +surface motifs, or protein binding sites.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://gitlab.com/janezkonc/probis/-/archive/master/'] +sources = ['%s.tar.gz' % local_commit] +checksums = ['5f81df7498daefe0e66082561f31d4c66f75cf1eebbed6430e3d78dd3097896b'] + +dependencies = [ + ('GSL', '2.7'), +] + +buildopts = 'probis CC="$MPICXX" CFLAGS="$CFLAGS -Wall -Wno-unused-function -DNDEBUG -pthread"' + +files_to_copy = [(['probis'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/probis'], + 'dirs': [], +} + +sanity_check_commands = ["probis -h"] + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb b/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..ba0297f5e07 --- /dev/null +++ b/easybuild/easyconfigs/p/ProFit/ProFit-3.3-GCC-10.3.0.eb @@ -0,0 +1,45 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'ProFit' +version = '3.3' + +homepage = 'http://www.bioinf.org.uk/software/profit' +description = """ProFit (pronounced Pro-Fit, not profit!) is designed to be the ultimate program for + performing least squares fits of two or more protein structures. It performs a very simple and + basic function, but allows as much flexibility as possible in performing this procedure. Thus one + can specify subsets of atoms to be considered, specify zones to be fitted by number, sequence, or + by sequence alignment. +""" +citing = """Fitting was performed using the McLachlan algorithm (McLachlan, A.D., 1982 'Rapid + Comparison of Protein Structures', Acta Cryst A38, 871-873) as implemented in the program ProFit + Martin, A.C.R., http://www.bioinf.org.uk/software/profit/). +""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'opt': True} + +source_urls = ['http://www.bioinf.org.uk/software/profit/235216'] +sources = ['%(name)sV%(version)s.tar.gz'] +checksums = ['ee436ebec66e030ef11e704e1fb489ef3ba0d90352962e419311b3fb824b00d1'] + +dependencies = [('libreadline', '8.1')] + +start_dir = 'src' + +buildopts = 'CC="$CC $OPTFLAGS" READLINE="-DREADLINE_SUPPORT" READLINELIB="-lreadline -lcurses" COPT="-DGUNZIP_SUPPORT"' + +files_to_copy = [(['profit'], 'bin'), '../ProFit.help'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [ + (r"profit HELP 2>&1 | grep 'Syntax: ProFit \[-h\] \[-f \] \[ \]'", ''), +] + +modextravars = {'HELPDIR': '%(installdir)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..db7151ab47f --- /dev/null +++ b/easybuild/easyconfigs/p/ProteinMPNN/ProteinMPNN-1.0.1-20230627-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,46 @@ +# Author: Lara Peeters (UGent) + +easyblock = 'Tarball' + +name = 'ProteinMPNN' +version = '1.0.1-20230627' +local_commit = '8907e6671bfbfc92303b5f79c4b5e6ce47cdef57' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/dauparas/ProteinMPNN' +description = """A deep learning based protein sequence design method is +described that is widely applicable to current design challenges and shows +outstanding performance in both in silico and experimental tests. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'dauparas' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['2e11f385074facb06e12496acde80756b34504f0f70bf78714fb07fe9244f398'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('torchaudio', '0.12.0', '-PyTorch-1.12.0' + versionsuffix), +] + +postinstallcmds = [ + 'chmod a+x %(installdir)s/protein_mpnn_run.py', + 'chmod a+x %(installdir)s/helper_scripts/*.py' +] + +sanity_check_paths = { + 'files': ['protein_mpnn_run.py'], + 'dirs': ['examples'], +} + +fix_python_shebang_for = ['protein_mpnn_run.py', 'helper_scripts/*.py'] + +sanity_check_commands = ['protein_mpnn_run.py --help'] + +modextrapaths = {'PATH': ['', 'helper_scripts']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb new file mode 100644 index 00000000000..524a8a0e657 --- /dev/null +++ b/easybuild/easyconfigs/p/Proteinortho/Proteinortho-6.2.3-gompi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Proteinortho' +version = '6.2.3' + +homepage = 'https://www.bioinf.uni-leipzig.de/Software/proteinortho' +description = "Proteinortho is a tool to detect orthologous genes within different species." + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://gitlab.com/paulklemm_PHD/proteinortho/-/archive/v%(version)s/'] +sources = ['proteinortho-v%(version)s.tar.gz'] +checksums = ['23079b3106deb41eab4a9123ea4744e9d05ab99e286184e617628fc243718dff'] + +dependencies = [ + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('BLAST+', '2.12.0'), + ('DIAMOND', '2.0.13'), +] + +skipsteps = ['configure'] + +preinstallopts = "mkdir -p %(installdir)s/bin && " +installopts = "PREFIX=%(installdir)s/bin" + +sanity_check_paths = { + 'files': ['bin/proteinortho', 'bin/proteinortho%(version_major)s.pl', 'bin/proteinortho_clustering'], + 'dirs': [], +} + +sanity_check_commands = ["proteinortho --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..5a1c4f1c964 --- /dev/null +++ b/easybuild/easyconfigs/p/PsiCLASS/PsiCLASS-1.0.3-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +# author: Denis Kristak (INUITS) +easyblock = 'MakeCp' + +name = 'PsiCLASS' +version = '1.0.3' + +homepage = 'https://github.com/splicebox/PsiCLASS' +description = """PsiCLASS is a reference-based transcriptome assembler for single or multiple RNA-seq samples.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/splicebox/PsiCLASS/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c60c0f33f9a076b97ccdba68b9140a5fb6936a5c5e309d70b3d0cf558828f73d'] + +parallel = 1 + +files_to_copy = ['*'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['classes', 'grader', 'psiclass'], + 'dirs': [], +} + +sanity_check_commands = [ + 'psiclass -b $EBROOTPSICLASS/example/s1.bam,$EBROOTPSICLASS/example/s2.bam' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PuLP/PuLP-2.5.1-foss-2021a.eb b/easybuild/easyconfigs/p/PuLP/PuLP-2.5.1-foss-2021a.eb new file mode 100644 index 00000000000..0192ade0554 --- /dev/null +++ b/easybuild/easyconfigs/p/PuLP/PuLP-2.5.1-foss-2021a.eb @@ -0,0 +1,35 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'PuLP' +version = '2.5.1' + +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': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['27c2a87a98ea0e9a08c7c46e6df47d6d4e753ad9991fea2901892425d89c99a6'] + +dependencies = [ + ('Python', '3.9.5'), + ('GLPK', '5.0'), + ('Cbc', '2.10.5'), + # 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/PuLP/PuLP-2.7.0-foss-2022b.eb b/easybuild/easyconfigs/p/PuLP/PuLP-2.7.0-foss-2022b.eb new file mode 100644 index 00000000000..d502dceafdf --- /dev/null +++ b/easybuild/easyconfigs/p/PuLP/PuLP-2.7.0-foss-2022b.eb @@ -0,0 +1,36 @@ +# Contribution by +# DeepThought, Flinders University +# R.QIAO +# Updated: Petr Král (INUITS) + +easyblock = 'PythonPackage' + +name = 'PuLP' +version = '2.7.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': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'] + +dependencies = [ + ('Python', '3.10.8'), + ('GLPK', '5.0'), + ('Cbc', '2.10.5'), + # 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/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/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..894b488cd3e --- /dev/null +++ b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.8.7-GCCcore-12.3.0.eb @@ -0,0 +1,74 @@ +easyblock = 'PythonBundle' + +name = 'PyAEDT' +version = '0.8.7' + +homepage = 'https://aedt.docs.pyansys.com/version/stable' +description = """PyAEDT is a Python library that interacts directly with the +Ansys Electronics Desktop (AEDT) API, enabling straightforward and efficient +automation in your workflow.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('dotNET-Core', '8.0', '', SYSTEM), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Pillow', '10.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('dotnetcore2', '3.1.23', { + 'sources': ['dotnetcore2-3.1.23-py3-none-manylinux1_x86_64.whl'], + 'checksums': ['5f076ddc39da0c685e7de20ecb91ee81185928918ec86fbeb3bffc55dd867ab5'], + }), + ('clr_loader', '0.2.6', { + 'checksums': ['019348ae6b6a83c7a406d14537c277cecf7a3a53b263ec342c81ded5845a67ee'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('fonttools', '4.51.0', { + 'checksums': ['dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68'], + 'modulename': 'fontTools', + }), + ('ansys-pythonnet', '3.1.0rc3', { + 'checksums': ['369a0a5a838a0991f755b6d63c319ab6997f9dc464d016187227be5cd860a9cb'], + 'modulename': 'pythonnet', + 'preinstallopts': 'export OPENSSL_ENABLE_SHA1_SIGNATURES=1 &&', + }), + ('pytomlpp', '1.0.13', { + 'checksums': ['a0bd639a8f624d1bdf5b3ea94363ca23dbfef38ab7b5b9348881a84afab434ad'], + }), + ('fpdf2', '2.7.8', { + 'checksums': ['21733fe27cc75021e5a4d7d69de95e185adf9717b1f9b1e14aa27d277d5c10fd'], + 'modulename': 'fpdf', + }), + ('plumbum', '1.8.2', { + 'checksums': ['9e6dc032f4af952665f32f3206567bc23b7858b1413611afe603a3f8ad9bfd75'], + }), + ('rpyc', '6.0.0', { + 'checksums': ['a7e12b31f40978cbd6b74e0b713da389d4b2565cef612adcb0f4b41aeb188230'], + }), + ('cffi', '1.16.0', { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), + ('pyedb', '0.7.0', { + 'checksums': ['0ac5b1a7399bd8e8ed7fa6ce124bec80e31c775e670b278ae6c9f51ed7f15f25'], + }), + ('pyaedt', version, { + 'checksums': ['17143f2f3b22cf64af23ebf7ecf828f11ca2c902ba17e42e7c5dc71fbad774c9'], + }), +] + +modloadmsg = "NOTE: You also need load a AEDT module before you start using PyAEDT." + +moduleclass = "phys" diff --git a/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.9.9-gfbf-2023b.eb b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.9.9-gfbf-2023b.eb new file mode 100644 index 00000000000..f2436367baa --- /dev/null +++ b/easybuild/easyconfigs/p/PyAEDT/PyAEDT-0.9.9-gfbf-2023b.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'PyAEDT' +version = '0.9.9' + +homepage = 'https://aedt.docs.pyansys.com/version/stable' +description = """PyAEDT is a Python library that interacts directly with the +Ansys Electronics Desktop (AEDT) API, enabling straightforward and efficient +automation in your workflow.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('dotNET-Core', '8.0', '', SYSTEM), + ('libspatialindex', '1.9.3'), + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('Pillow', '10.2.0'), + ('pydantic', '2.6.4'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('dotnetcore2', '3.1.23', { + 'sources': ['dotnetcore2-3.1.23-py3-none-manylinux1_x86_64.whl'], + 'checksums': ['5f076ddc39da0c685e7de20ecb91ee81185928918ec86fbeb3bffc55dd867ab5'], + }), + ('clr_loader', '0.2.6', { + 'checksums': ['019348ae6b6a83c7a406d14537c277cecf7a3a53b263ec342c81ded5845a67ee'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('fonttools', '4.53.1', { + 'modulename': 'fontTools', + 'checksums': ['e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4'], + }), + ('ansys-pythonnet', '3.1.0rc3', { + 'modulename': 'pythonnet', + 'checksums': ['369a0a5a838a0991f755b6d63c319ab6997f9dc464d016187227be5cd860a9cb'], + 'preinstallopts': 'export OPENSSL_ENABLE_SHA1_SIGNATURES=1 &&', + }), + ('pytomlpp', '1.0.13', { + 'checksums': ['a0bd639a8f624d1bdf5b3ea94363ca23dbfef38ab7b5b9348881a84afab434ad'], + }), + ('fpdf2', '2.7.9', { + 'modulename': 'fpdf', + 'checksums': ['f364c0d816a5e364eeeda9761cf5c961bae8c946f080cf87fed7f38ab773b318'], + }), + ('plumbum', '1.8.3', { + 'checksums': ['6092c85ab970b7a7a9d5d85c75200bc93be82b33c9bdf640ffa87d2d7c8709f0'], + }), + ('rpyc', '6.0.0', { + 'checksums': ['a7e12b31f40978cbd6b74e0b713da389d4b2565cef612adcb0f4b41aeb188230'], + }), + ('rtree', '1.3.0', { + 'modulename': 'rtree', + 'checksums': ['b36e9dd2dc60ffe3d02e367242d2c26f7281b00e1aaf0c39590442edaaadd916'], + }), + ('pyedb', '0.21.0', { + 'checksums': ['3c91cb8a72a080864d3582ae7ec1de2f04d90aee477dadc096a7144f7823258d'], + }), + ('pyaedt', version, { + 'checksums': ['714728230ab3ede4744a30a7c0d45aaa104cdc1887bfbfe8feb928a8f10cc72f'], + }), +] + +modloadmsg = "NOTE: You also need load a AEDT module before you start using PyAEDT." + +moduleclass = "phys" diff --git a/easybuild/easyconfigs/p/PyAMG/PyAMG-4.2.3-foss-2021a.eb b/easybuild/easyconfigs/p/PyAMG/PyAMG-4.2.3-foss-2021a.eb new file mode 100644 index 00000000000..7eddd0bdbd3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyAMG/PyAMG-4.2.3-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = "PythonPackage" + +name = 'PyAMG' +version = '4.2.3' + +homepage = 'https://pyamg.github.io' +description = """PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['37ad3c1dcaff2435c2ab7c8ec36942af0726c563d35059bcd18eb07473f7182e'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +options = {'modulename': 'pyamg'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb new file mode 100644 index 00000000000..1f2a605396f --- /dev/null +++ b/easybuild/easyconfigs/p/PyAMG/PyAMG-5.1.0-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = "PythonPackage" + +name = 'PyAMG' +version = '5.1.0' + +homepage = 'https://pyamg.github.io' +description = """PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f90f9de795b4e29589edd2eb446d11ddb466678ebe823ed329fcf35759ea390c'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +options = {'modulename': 'pyamg'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyAV/PyAV-10.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyAV/PyAV-10.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..37d94fab76b --- /dev/null +++ b/easybuild/easyconfigs/p/PyAV/PyAV-10.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'PyAV' +version = '10.0.0' + +homepage = 'https://pyav.org' +description = """PyAV is a Pythonic binding for FFmpeg. We aim to provide all of the power and +control of the underlying library, but manage the gritty details as much as possible.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('FFmpeg', '4.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('av', version, { + 'checksums': ['8afd3d5610e1086f3b2d8389d66672ea78624516912c93612de64dcaa4c67e05'], + 'installopts': "--no-binary av", + }), +] + +moduleclass = "vis" diff --git a/easybuild/easyconfigs/p/PyBEL/PyBEL-0.15.5-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyBEL/PyBEL-0.15.5-gfbf-2023a.eb new file mode 100644 index 00000000000..40c17e035ce --- /dev/null +++ b/easybuild/easyconfigs/p/PyBEL/PyBEL-0.15.5-gfbf-2023a.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'PyBEL' +version = '0.15.5' + +homepage = 'https://github.com/pybel/pybel' +description = """ +PyBEL is a pure Python software package that parses BEL (Biological Expression Language) +documents, validates their semantics, and facilitates data interchange between common formats +and database systems like JSON, CSV, Excel, SQL, CX, and Neo4J. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('networkx', '3.1'), + ('SQLAlchemy', '2.0.25'), + ('tqdm', '4.66.1'), + ('pydantic', '2.5.3'), # for bioregistry +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('multisplitby', '0.0.1', { + 'checksums': ['e40489fa174fd7afd28a895477e6eefc64d6cfd863cca6900530e436a40e356f'], + }), + ('bel_resources', '0.0.3', { + 'checksums': ['ec2d6390f89c0a98d67868bf02f7538709df0ba5b5ba6ddeb105512da07e82b5'], + }), + ('PyTrie', '0.4.0', { + 'checksums': ['8f4488f402d3465993fb6b6efa09866849ed8cda7903b50647b7d0342b805379'], + }), + ('curies', '0.7.9', { + 'checksums': ['3b63c5fea7b0e967629a3a384b1a8c59b56c503487c1dcbacddeab59e25db4d8'], + }), + ('more_click', '0.1.2', { + 'checksums': ['085da66d5a9b823c5d912a888dca1fa0c8b3a14ed1b21ea9c8a1b814857a3981'], + }), + ('bioregistry', '0.11.10', { + 'checksums': ['d3e155ba38d88f5e4a84a2d337c33109f3434f6b2e64a285eba14817ed5c4492'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('psycopg2-binary', '2.9.9', { + 'modulename': 'psycopg2', + 'checksums': ['7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c'], + }), + ('pystow', '0.5.4', { + 'checksums': ['2692180cb405bd77259bee6c7f4db545d10e81939980064730609f21750567ff'], + }), + ('ratelimit', '2.2.1', { + 'checksums': ['af8a9b64b821529aca09ebaf6d8d279100d766f19e90b5059ac6a718ca6dee42'], + }), + ('requests_file', '2.1.0', { + 'checksums': ['0f549a3f3b0699415ac04d167e9cb39bccfb730cb832b4d20be3d9867356e658'], + }), + ('pybel', version, { + 'checksums': ['c2aabd0ad65b9f205f9ed6eae126d19875c1312f8e35641f4f42bcc1fc573f9e'], + }), +] + +sanity_check_commands = ["pybel --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.eb b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.eb new file mode 100644 index 00000000000..1d3ffa473d1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBerny/PyBerny-0.6.3-foss-2022a.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +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/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/PyBioLib/PyBioLib-1.1.988-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyBioLib/PyBioLib-1.1.988-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..961cf118485 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBioLib/PyBioLib-1.1.988-GCCcore-11.3.0.eb @@ -0,0 +1,61 @@ +easyblock = "PythonBundle" + +name = 'PyBioLib' +version = '1.1.988' + +homepage = 'https://biolib.com/' +description = """PyBioLib is a Python package for running BioLib applications from Python +scripts and the command line. +BioLib is a library of biological data science applications. Applications on +BioLib range from small bioinformatics utilities to state-of-the-art machine +learning algorithms for predicting characteristics of biological molecules.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Flask', '2.2.2'), + ('PyYAML', '6.0'), +] + +use_pip = True + +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + ('pycryptodome', '3.17', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bce2e2d8e82fcf972005652371a3e8731956a0c1fbb719cc897943b3695ad91b'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + ('docker', '6.0.1', { + 'checksums': ['896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('gunicorn', '20.1.0', { + 'checksums': ['e0a968b5ba15f8a328fdfd7ab1fcb5af4470c28aaf7e55df02a99bc13138e6e8'], + }), + ('pybiolib', version, { + 'modulename': 'biolib', + 'preinstallopts': "sed -i 's/< 8.1.0/< 8.2.0/' pyproject.toml &", + 'checksums': ['95826eca25a4c15dee068ae31831ce83c57125abe0ba1d44e07906251ade933a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyBullet/PyBullet-3.2.6-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyBullet/PyBullet-3.2.6-gfbf-2023a.eb new file mode 100644 index 00000000000..47fce7ec459 --- /dev/null +++ b/easybuild/easyconfigs/p/PyBullet/PyBullet-3.2.6-gfbf-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'PyBullet' +version = '3.2.6' + +homepage = 'https://github.com/bulletphysics/bullet3' +description = """Bullet Physics SDK: real-time collision detection and +multi-physics simulation for VR, games, visual effects, robotics, +machine learning etc.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pybullet', version, { + 'checksums': ['da27525433c88698dc9fd8bc20fa4ae4d07738b4656633659ebd82c2d2884e08'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2017.1.1-foss-2017b-CUDA-9.0.176-Python-2.7.14.eb b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2017.1.1-foss-2017b-CUDA-9.0.176-Python-2.7.14.eb index 4d6b28f646a..fcdf4189ca2 100644 --- a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2017.1.1-foss-2017b-CUDA-9.0.176-Python-2.7.14.eb +++ b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2017.1.1-foss-2017b-CUDA-9.0.176-Python-2.7.14.eb @@ -11,7 +11,7 @@ toolchain = {'name': 'foss', 'version': '2017b'} dependencies = [ ('Python', '2.7.14'), - ('CUDA', '9.0.176', '', True), + ('CUDA', '9.0.176', '', SYSTEM), ('Boost.Python', '1.65.1', '-Python-%(pyver)s'), ('Mako', '1.0.7', '-Python-%(pyver)s'), ('pytest', '3.8.2', '-Python-%(pyver)s'), diff --git a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b184c749e34 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'PyCUDA' +version = '2024.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mathema.tician.de/software/pycuda' +description = 'PyCUDA lets you access Nvidia’s CUDA parallel computation API from Python.' + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Mako', '1.2.0'), +] + +use_pip = True + +exts_list = [ + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + (name, version, { + 'preinstallopts': './configure.py --cuda-root="$EBROOTCUDA" && ', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d50d23ff6371482cff7d4b953ef40ab81c9df038ecb614484f9fd5347327327e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..0058b158c9e --- /dev/null +++ b/easybuild/easyconfigs/p/PyCUDA/PyCUDA-2024.1-gfbf-2023a-CUDA-12.1.1.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'PyCUDA' +version = '2024.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://mathema.tician.de/software/pycuda' +description = 'PyCUDA lets you access Nvidia’s CUDA parallel computation API from Python.' + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Mako', '1.2.4'), +] + +use_pip = True + +exts_list = [ + ('pytools', '2023.1.1', { + 'checksums': ['80637873d206f6bcedf7cdb46ad93e868acb4ea2256db052dfcca872bdd0321f'], + }), + (name, version, { + 'preinstallopts': './configure.py --cuda-root="$EBROOTCUDA" && ', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['d50d23ff6371482cff7d4b953ef40ab81c9df038ecb614484f9fd5347327327e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8c06de67588 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-10.3.0.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'PyCairo' +version = '1.20.1' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('cairo', '1.16.0'), +] + +# PyGTK needs PyCairo installed by pip +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# remove pyproject.toml, which causes trouble (header files and .pc file are not installed) +preinstallopts = "rm pyproject.toml && " + +# Don't build a wheel or the pkg-cfg file won't be installed +installopts = '--no-binary=%(namelower)s' + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +options = {'modulename': 'cairo'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d1fb5b548db --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.20.1-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'PyCairo' +version = '1.20.1' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('cairo', '1.16.0'), +] + +# PyGTK needs PyCairo installed by pip +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# remove pyproject.toml, which causes trouble (header files and .pc file are not installed) +preinstallopts = "rm pyproject.toml && " + +# Don't build a wheel or the pkg-cfg file won't be installed +installopts = '--no-binary=%(namelower)s' + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +options = {'modulename': 'cairo'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.21.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.21.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c571c3e0f0b --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.21.0-GCCcore-11.3.0.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'PyCairo' +version = '1.21.0' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['251907f18a552df938aa3386657ff4b5a4937dde70e11aa042bc297957f4b74b'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('cairo', '1.17.4'), +] + +# PyGTK needs PyCairo installed by pip +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# remove pyproject.toml, which causes trouble (header files and .pc file are not installed) +preinstallopts = "rm pyproject.toml && " + +# Don't build a wheel or the pkg-cfg file won't be installed +installopts = '--no-binary=%(namelower)s' + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +options = {'modulename': 'cairo'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.24.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.24.0-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..8d5a4b8447a --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.24.0-GCCcore-12.2.0.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'PyCairo' +version = '1.24.0' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1444d52f1bb4cc79a4a0c0fe2ccec4bd78ff885ab01ebe1c0f637d8392bcafb6'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('cairo', '1.17.4'), +] + +# PyGTK needs PyCairo installed by pip +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# remove pyproject.toml, which causes trouble (header files and .pc file are not installed) +preinstallopts = "rm pyproject.toml && " + +# Don't build a wheel or the pkg-cfg file won't be installed +installopts = '--no-binary=%(namelower)s' + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +options = {'modulename': 'cairo'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6a386c621fe --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +# Need to use Meson instead of the "pip" installation +# See: https://github.com/pygobject/pycairo/issues/312 +easyblock = 'MesonNinja' + +name = 'PyCairo' +version = '1.25.0' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/pygobject/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebb811ed6eae75866aaeac6edcfc2508665b550dc76ff51505092099a68df0b5'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('cairo', '1.17.8'), +] + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2f139f4093d --- /dev/null +++ b/easybuild/easyconfigs/p/PyCairo/PyCairo-1.25.1-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +# Need to use Meson instead of the "pip" installation +# See: https://github.com/pygobject/pycairo/issues/312 +easyblock = 'MesonNinja' + +name = 'PyCairo' +version = '1.25.1' + +homepage = 'https://pycairo.readthedocs.io/' +description = """Python bindings for the cairo library""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/pygobject/%(namelower)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fabe2a6ae082e7970084ce61b29087f2211f098a099b0d6de68caac4be1263fb'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('cairo', '1.18.0'), +] + +sanity_check_paths = { + 'files': ['%s/py3cairo.%s' % (p, e) for (p, e) in [('include/pycairo', 'h'), ('lib/pkgconfig', 'pc')]], + 'dirs': ['lib/python%(pyshortver)s/site-packages/cairo'], +} + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyCalib/PyCalib-0.1.0.dev0-foss-2021b.eb b/easybuild/easyconfigs/p/PyCalib/PyCalib-0.1.0.dev0-foss-2021b.eb new file mode 100644 index 00000000000..0782d64ca15 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCalib/PyCalib-0.1.0.dev0-foss-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'PyCalib' +version = '0.1.0.dev0' + +homepage = 'https://github.com/classifier-calibration/PyCalib' +description = "Python library for classifier calibration" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6f9662e5219d85aed5b91c0cd391e2297c9b94229c7591796a84f5e6f742168b'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('statsmodels', '0.13.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyCalib/PyCalib-20230531-gfbf-2022b.eb b/easybuild/easyconfigs/p/PyCalib/PyCalib-20230531-gfbf-2022b.eb new file mode 100644 index 00000000000..61154630966 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCalib/PyCalib-20230531-gfbf-2022b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyCalib' +version = '20230531' +local_commit = '70cfbcb' + +homepage = 'https://github.com/classifier-calibration/PyCalib' +description = "Python library for classifier calibration" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://github.com/classifier-calibration/PyCalib/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['00728de1e7afd27a85050f505f6e21cca509d423a0785f8c586054a1bb79d30a'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), + ('statsmodels', '0.14.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.2.2.eb b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.2.2.eb new file mode 100644 index 00000000000..831033dc25b --- /dev/null +++ b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.2.2.eb @@ -0,0 +1,20 @@ +easyblock = 'Tarball' + +name = 'PyCharm' +version = "2022.2.2" + +homepage = 'https://www.jetbrains.com/pycharm/' +description = """PyCharm Community Edition: Python IDE for Professional Developers""" + +toolchain = SYSTEM + +source_urls = ['https://download-cf.jetbrains.com/python'] +sources = ['pycharm-community-%(version)s.tar.gz'] +checksums = ['2f361c5f59c685c9f8d1385029ed753eabe5b688a82acef6e83a50f0d2b9d7a8'] + +sanity_check_paths = { + 'files': ["bin/pycharm.sh"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb new file mode 100644 index 00000000000..baca3530e30 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb @@ -0,0 +1,20 @@ +easyblock = 'Tarball' + +name = 'PyCharm' +version = "2022.3.2" + +homepage = 'https://www.jetbrains.com/pycharm/' +description = """PyCharm Community Edition: Python IDE for Professional Developers""" + +toolchain = SYSTEM + +source_urls = ['https://download-cf.jetbrains.com/python'] +sources = ['pycharm-community-%(version)s.tar.gz'] +checksums = ['0ae72d1931a6effbeb2329f6e5c35859d933798a494479f066ef0a7b2be6b553'] + +sanity_check_paths = { + 'files': ["bin/pycharm.sh"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyCharm/PyCharm-2024.1.6.eb b/easybuild/easyconfigs/p/PyCharm/PyCharm-2024.1.6.eb new file mode 100644 index 00000000000..37d00512c27 --- /dev/null +++ b/easybuild/easyconfigs/p/PyCharm/PyCharm-2024.1.6.eb @@ -0,0 +1,20 @@ +easyblock = 'Tarball' + +name = 'PyCharm' +version = "2024.1.6" + +homepage = 'https://www.jetbrains.com/pycharm/' +description = """PyCharm Community Edition: Python IDE for Professional Developers""" + +toolchain = SYSTEM + +source_urls = ['https://download-cf.jetbrains.com/python'] +sources = ['pycharm-community-%(version)s.tar.gz'] +checksums = ['539961408de4217a68b84d666d5c10ddb8d7bcf919e3a569f2489438a3237f1a'] + +sanity_check_paths = { + 'files': ["bin/pycharm.sh"], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.eb b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.eb new file mode 100644 index 00000000000..ed3cf0c39be --- /dev/null +++ b/easybuild/easyconfigs/p/PyCheMPS2/PyCheMPS2-1.8.12-foss-2022a.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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('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/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/PyClone/PyClone-2020.9b2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PyClone/PyClone-2020.9b2-GCCcore-10.2.0.eb index ee4425b49c5..96d813edcce 100644 --- a/easybuild/easyconfigs/p/PyClone/PyClone-2020.9b2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PyClone/PyClone-2020.9b2-GCCcore-10.2.0.eb @@ -21,9 +21,8 @@ dependencies = [ ('Python', '3.8.6'), ] -exts_default_options = { - 'use_pip': True -} +sanity_pip_check = True +use_pip = True exts_list = [ ('Logbook', '1.5.3', { @@ -37,6 +36,4 @@ exts_list = [ }), ] -sanity_pip_check = True - moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb b/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb new file mode 100644 index 00000000000..c2ff6ff71da --- /dev/null +++ b/easybuild/easyconfigs/p/PyDamage/PyDamage-0.70-foss-2021a.eb @@ -0,0 +1,54 @@ +## +# 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 = 'PythonBundle' + +name = 'PyDamage' +version = '0.70' + +homepage = 'https://github.com/maxibor/pydamage' +description = """Pydamage, is a Python software to automate the process of +contig damage identification and estimation. After modelling the ancient DNA +damage using the C to T transitions, Pydamage uses a likelihood ratio test +to discriminate between truly ancient, and modern contigs originating from +sample contamination.""" +software_license = 'LicenseGPLv3' + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('Pysam', '0.16.0.1'), + ('statsmodels', '0.12.2'), + ('matplotlib', '3.4.2'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +# Fetch the tar.gz, not the whl files! +exts_list = [ + ('kneed', '0.7.0', { + 'checksums': ['340d67fa183a72b0afae19846dd246a6fb7204e8d54243d8b8d3d9932f887c6e'], + }), + ('pydamage', '0.70', { + 'checksums': ['1dcd6ebae431f758c9434785c668351f82926847f9eda76413e96b7481138d78'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pydamage'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pydamage --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyEVTK/PyEVTK-1.4.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyEVTK/PyEVTK-1.4.1-foss-2021b.eb new file mode 100644 index 00000000000..967ee30457e --- /dev/null +++ b/easybuild/easyconfigs/p/PyEVTK/PyEVTK-1.4.1-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyEVTK' +version = '1.4.1' + +homepage = 'https://github.com/pyscience-projects/pyevtk' +description = """PyEVTK (Python Export VTK) exports data to binary VTK files for visualization/analysis with packages +like Paraview, VisIt, and Mayavii.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/pyscience-projects/pyevtk/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d0fd7d2f5402749d42124c0d849f7642f3758898bc2bef50e67b9ef5082cf48d'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'evtk'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyEVTK/PyEVTK-2.0.0-foss-2021b.eb b/easybuild/easyconfigs/p/PyEVTK/PyEVTK-2.0.0-foss-2021b.eb new file mode 100644 index 00000000000..5dd2af34654 --- /dev/null +++ b/easybuild/easyconfigs/p/PyEVTK/PyEVTK-2.0.0-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'PyEVTK' +version = '2.0.0' + +homepage = 'https://github.com/paulo-herrera/PyEVTK' +description = """EVTK (Export VTK) package allows exporting data to binary VTK files for visualization and +data analysis with any of the visualization packages that support VTK files""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/paulo-herrera/PyEVTK/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['65dda5511dba63ae55777ba01a50d24f8506f76985eba94ff83191c08f2b076c'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +# for some reason this is required to avoid 'pip install' failing with "ModuleNotFoundError: No module named 'evtk'" +preinstallopts = "PYTHONPATH=$PWD " + +sanity_pip_check = True + +options = {'modulename': 'evtk'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch b/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch new file mode 100644 index 00000000000..47702d55e38 --- /dev/null +++ b/easybuild/easyconfigs/p/PyEXR/OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch @@ -0,0 +1,51 @@ +Author: Jasper Grimm +Ensure that OpenEXR (python) can find the OpenEXR include and library files +diff -Nru OpenEXR-1.3.9.orig/setup.py OpenEXR-1.3.9/setup.py +--- OpenEXR-1.3.9.orig/setup.py 2024-02-27 14:20:58.796514598 +0000 ++++ OpenEXR-1.3.9/setup.py 2024-02-27 14:29:13.274992396 +0000 +@@ -2,7 +2,7 @@ + from distutils.extension import Extension + from distutils.command.build_py import build_py as _build_py + +-from os import system ++from os import path, environ + import platform + + from distutils.core import setup, Extension +@@ -21,12 +21,7 @@ + """ + + +-print("Looking for libOpenEXR...") +-if platform.system() == "Linux" and system("ldconfig -p | grep libOpenEXR"): +- # There is no libOpenEXR, probably an old version of OpenEXR +- libraries=['Iex', 'Half', 'Imath', 'IlmImf', 'z'] +-else: +- libraries=['Iex', 'OpenEXR', 'z'] ++libraries=['Iex', 'OpenEXR', 'z'] + + extra_compile_args = ['-g', '-DVERSION="%s"' % VERSION] + if platform.system() == 'Darwin': +@@ -41,18 +36,12 @@ + description = "Python bindings for ILM's OpenEXR image file format", + long_description = DESC, + version=VERSION, +- ext_modules=[ ++ ext_modules=[ + Extension('OpenEXR', + ['OpenEXR.cpp'], +- include_dirs=['/usr/include/OpenEXR', +- '/usr/local/include/OpenEXR', +- '/opt/local/include/OpenEXR', +- '/usr/include/Imath', +- '/usr/local/include/Imath', +- '/opt/local/include/Imath'], +- library_dirs=['/usr/lib', +- '/usr/local/lib', +- '/opt/local/lib'], ++ include_dirs=[path.join(environ['EBROOTOPENEXR'], 'include', 'OpenEXR'), ++ path.join(environ['EBROOTIMATH'], 'include', 'Imath')], ++ library_dirs=[path.join(environ['EBROOTOPENEXR'], 'lib')], + libraries=libraries, + extra_compile_args=extra_compile_args) + ], diff --git a/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb new file mode 100644 index 00000000000..7a70497b4df --- /dev/null +++ b/easybuild/easyconfigs/p/PyEXR/PyEXR-0.3.10-gfbf-2023a.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonBundle' + +name = 'PyEXR' +version = '0.3.10' + +homepage = 'https://github.com/tvogels/pyexr' +description = "A simple EXR IO-library for Python that simplifies the use of OpenEXR." + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenEXR', '3.1.7'), +] + +use_pip = True + +# note: for future versions, look at building the python bindings in the `OpenEXR` module directly instead: +# see https://github.com/AcademySoftwareFoundation/openexr/pull/1629 +exts_list = [ + ('OpenEXR', '1.3.9', { + 'patches': ['OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch'], + 'checksums': [ + {'OpenEXR-1.3.9.tar.gz': 'cffcd13906291ef1a81b369c1c0e907648ecd24363668873691f44866704ab21'}, + {'OpenEXR-1.3.9_fix-openexr-inc-lib-searching.patch': + '12a6abe5d0ef6911471f87078cd8d18ea9a47b584e75ea559f3f787c5fc9f268'}, + ], + 'modulename': False, + }), + (name, version, { + 'checksums': ['fe41fb791f58744053e7d665fbacaa904b22d957a6efb4f5d77f82aebb1ece21'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb new file mode 100644 index 00000000000..a9df7f318e8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019-20220216-intel-2020b-ASA.eb @@ -0,0 +1,52 @@ +easyblock = 'Tarball' + +name = 'PyFrag' +version = '2019-20220216' +versionsuffix = '-ASA' +_commit = '5618d5518a8f4a1fc22805feac57b6e6717a08dc' + +homepage = 'https://pyfragdocument.readthedocs.io/en/latest/includeme.html' +description = """ +PyFrag 2019 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 2019 +""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +github_account = 'sunxb05' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % _commit] +patches = ['PyFrag-2019_fix_flaky_input_fetch.patch'] +checksums = [ + # 5618d5518a8f4a1fc22805feac57b6e6717a08dc.tar.gz + 'b987a94c21ddc828167209be3439f13d4f284c56aeb672f8f0bf4c8ae8b25e67', + 'bb47a31f14329f5ccb7b58e03ce4bde133739acccc76e65ca0e1d69a8ac3694e', # PyFrag-2019_fix_flaky_input_fetch.patch +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('dill', '0.3.3'), +] + +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-2019_fix_flaky_input_fetch.patch b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019_fix_flaky_input_fetch.patch new file mode 100644 index 00000000000..a2fd86dcbbd --- /dev/null +++ b/easybuild/easyconfigs/p/PyFrag/PyFrag-2019_fix_flaky_input_fetch.patch @@ -0,0 +1,172 @@ +Avoid false matches by requiring that input keywords are a full line. +Use sed pattern matching to remove arbitrary limit to 200 lines +see issue https://github.com/sunxb05/PyFrag/issues/1 +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/host/argueparce/argueparce.sh b/host/argueparce/argueparce.sh +index 9bcc197..afdf06c 100644 +--- a/host/argueparce/argueparce.sh ++++ b/host/argueparce/argueparce.sh +@@ -113,20 +113,20 @@ rm geometry.txt + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'Geometrycoor' $input | grep -B 200 'Geometrycoor END' | grep -v 'Geometrycoor' | grep -v 'Geometrycoor END' > coor.xyz +-grep -A 200 'R1 EXTRA' $input | grep -B 200 'R1 EXTRA END' | grep -v 'R1 EXTRA' | grep -v 'R1 EXTRA END' > R1_EXTRA.txt +-grep -A 200 'R2 EXTRA' $input | grep -B 200 'R2 EXTRA END' | grep -v 'R2 EXTRA' | grep -v 'R2 EXTRA END' > R2_EXTRA.txt +-grep -A 200 'RC EXTRA' $input | grep -B 200 'RC EXTRA END' | grep -v 'RC EXTRA' | grep -v 'RC EXTRA END' > RC_EXTRA.txt +-grep -A 200 'TS EXTRA' $input | grep -B 200 'TS EXTRA END' | grep -v 'TS EXTRA' | grep -v 'TS EXTRA END' > TS_EXTRA.txt +-grep -A 200 'P EXTRA' $input | grep -B 200 'P EXTRA END' | grep -v 'P EXTRA' | grep -v 'P EXTRA END' > P_EXTRA.txt +-grep -A 200 'IR EXTRA' $input | grep -B 200 'IR EXTRA END' | grep -v 'IR EXTRA' | grep -v 'IR EXTRA END' > IRC_EXTRA.txt +-grep -A 200 'IR_1 EXTRA' $input | grep -B 200 'IR_1 EXTRA END' | grep -v 'IR_1 EXTRA' | grep -v 'IR_1 EXTRA END' > IRC_1_EXTRA.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^Geometrycoor$/,/^Geometrycoor END$/{//!p;}' $input > coor.xyz ++sed -n '/^R1 EXTRA$/,/^R1 EXTRA END$/{//!p;}' $input > R1_EXTRA.txt ++sed -n '/^R2 EXTRA$/,/^R2 EXTRA END$/{//!p;}' $input > R2_EXTRA.txt ++sed -n '/^RC EXTRA$/,/^RC EXTRA END$/{//!p;}' $input > RC_EXTRA.txt ++sed -n '/^TS EXTRA$/,/^TS EXTRA END$/{//!p;}' $input > TS_EXTRA.txt ++sed -n '/^P EXTRA$/,/^P EXTRA END$/{//!p;}' $input > P_EXTRA.txt ++sed -n '/^IR EXTRA$/,/^IR EXTRA END$/{//!p;}' $input > IRC_EXTRA.txt ++sed -n '/^IR_1 EXTRA$/,/^IR_1 EXTRA END$/{//!p;}' $input > IRC_1_EXTRA.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="$QMWORKS/bin/python3 $HOSTPYFRAG/job.py \\" +diff --git a/host/standalone/adf_new/pyfragparce.sh b/host/standalone/adf_new/pyfragparce.sh +index 182cef2..6cf5edb 100644 +--- a/host/standalone/adf_new/pyfragparce.sh ++++ b/host/standalone/adf_new/pyfragparce.sh +@@ -74,12 +74,12 @@ fi + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="amspython \$HOSTPYFRAG/standalone/adf_new/PyFrag.py \\" +diff --git a/host/standalone/adf_newopen/pyfragparce.sh b/host/standalone/adf_newopen/pyfragparce.sh +index d3216fa..95d562e 100644 +--- a/host/standalone/adf_newopen/pyfragparce.sh ++++ b/host/standalone/adf_newopen/pyfragparce.sh +@@ -61,12 +61,12 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + + submit="python3 \$HOSTPYFRAG/standalone/adf_newopen/PyFrag.py \\" +diff --git a/host/standalone/adf_old/pyfragparce.sh b/host/standalone/adf_old/pyfragparce.sh +index 506ec3e..0edbe4d 100644 +--- a/host/standalone/adf_old/pyfragparce.sh ++++ b/host/standalone/adf_old/pyfragparce.sh +@@ -61,13 +61,12 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt +- ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_old/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" +diff --git a/host/standalone/adf_open/pyfragparce.sh b/host/standalone/adf_open/pyfragparce.sh +index 8fe3ead..edc3c3a 100644 +--- a/host/standalone/adf_open/pyfragparce.sh ++++ b/host/standalone/adf_open/pyfragparce.sh +@@ -98,15 +98,15 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt +-grep -A 200 'fragment1 EXTRA' $input | grep -B 200 'fragment1 EXTRA END' | grep -v 'fragment1 EXTRA' | grep -v 'fragment1 EXTRA END' > fragment1_EXTRA.txt +-grep -A 200 'fragment2 EXTRA' $input | grep -B 200 'fragment2 EXTRA END' | grep -v 'fragment2 EXTRA' | grep -v 'fragment2 EXTRA END' > fragment2_EXTRA.txt +-grep -A 200 'complex EXTRA' $input | grep -B 200 'complex EXTRA END' | grep -v 'complex EXTRA' | grep -v 'complex EXTRA END' > complex_EXTRA.txt +-grep -A 200 'fragment1 open EXTRA' $input | grep -B 200 'fragment1 open EXTRA END' | grep -v 'fragment1 open EXTRA' | grep -v 'fragment1 open EXTRA END' > fragment1_open_EXTRA.txt +-grep -A 200 'fragment2 open EXTRA' $input | grep -B 200 'fragment2 open EXTRA END' | grep -v 'fragment2 open EXTRA' | grep -v 'fragment2 open EXTRA END' > fragment2_open_EXTRA.txt +-grep -A 200 'complex open EXTRA' $input | grep -B 200 'complex open EXTRA END' | grep -v 'complex open EXTRA' | grep -v 'complex open EXTRA END' > complex_open_EXTRA.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt ++sed -n '/^fragment1 EXTRA$/,/^fragment1 EXTRA END$/{//!p;}' $input > fragment1_EXTRA.txt ++sed -n '/^fragment2 EXTRA$/,/^fragment2 EXTRA END$/{//!p;}' $input > fragment2_EXTRA.txt ++sed -n '/^complex EXTRA$/,/^complex EXTRA END$/{//!p;}' $input > complex_EXTRA.txt ++sed -n '/^fragment1 open EXTRA$/,/^fragment1 open EXTRA END$/{//!p;}' $input > fragment1_open_EXTRA.txt ++sed -n '/^fragment2 open EXTRA$/,/^fragment2 open EXTRA END$/{//!p;}' $input > fragment2_open_EXTRA.txt ++sed -n '/^complex open EXTRA$/,/^complex open EXTRA END$/{//!p;}' $input > complex_open_EXTRA.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_open/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" +diff --git a/host/standalone/adf_openorb/pyfragparce.sh b/host/standalone/adf_openorb/pyfragparce.sh +index b3ba2aa..49e2adb 100644 +--- a/host/standalone/adf_openorb/pyfragparce.sh ++++ b/host/standalone/adf_openorb/pyfragparce.sh +@@ -12,7 +12,7 @@ done < "$pyfrag" + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_openorb/PyFrag.py \\" + +diff --git a/host/standalone/adf_single/pyfragparce.sh b/host/standalone/adf_single/pyfragparce.sh +index c1444b3..6c3bc66 100644 +--- a/host/standalone/adf_single/pyfragparce.sh ++++ b/host/standalone/adf_single/pyfragparce.sh +@@ -61,9 +61,9 @@ done + input=$* + SCRIPTPATH="$( cd "$(dirname "$1")" ; pwd -P )" + +-grep -A 200 'JOBSUB' $input | grep -B 200 'JOBSUB END' | grep -v 'JOBSUB' | grep -v 'JOBSUB END' > jobsub.txt +-grep -A 200 'ADF' $input | grep -B 200 'ADF END' | grep -v 'ADF' | grep -v 'ADF END' > adf.txt +-grep -A 200 'PyFrag' $input | grep -B 200 'PyFrag END' | grep -v 'PyFrag' | grep -v 'PyFrag END' > pyfrag.txt ++sed -n '/^JOBSUB$/,/^JOBSUB END$/{//!p;}' $input > jobsub.txt ++sed -n '/^ADF$/,/^ADF END$/{//!p;}' $input > adf.txt ++sed -n '/^PyFrag$/,/^PyFrag END$/{//!p;}' $input > pyfrag.txt + + submit="python3 \$HOSTPYFRAG/standalone/adf_single/PyFrag.py \\" + subadfinputfile="--adfinputfile "$SCRIPTPATH/"adfinputfile \\" 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/PyGEOS/PyGEOS-0.10.2-intel-2020b.eb b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.10.2-intel-2020b.eb new file mode 100644 index 00000000000..34cef2e0710 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.10.2-intel-2020b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'PyGEOS' +version = '0.10.2' + +homepage = "https://pygeos.readthedocs.io" +description = """PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in + the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance + improvement when operating on arrays of geometries.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['08cd7fe047a7d7f9f94eaa9a65e0b4fd4057ffebc15e6179a0290a9576a0bbbc'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('GEOS', '3.9.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2022b.eb b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2022b.eb new file mode 100644 index 00000000000..28d542d1710 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2022b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'PyGEOS' +version = '0.14' + +homepage = "https://pygeos.readthedocs.io" +description = """PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in + the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance + improvement when operating on arrays of geometries.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['30fbc17f64844200b85133b885fcfb65541b8779531f6ef4f8fe467d3fba7623'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GEOS', '3.11.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb new file mode 100644 index 00000000000..aff7709e6de --- /dev/null +++ b/easybuild/easyconfigs/p/PyGEOS/PyGEOS-0.14-gfbf-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'PyGEOS' +version = '0.14' + +homepage = "https://pygeos.readthedocs.io" +description = """PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in + the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance + improvement when operating on arrays of geometries.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['30fbc17f64844200b85133b885fcfb65541b8779531f6ef4f8fe467d3fba7623'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('GEOS', '3.12.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-3.42.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.42.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ddcb0e1c9bf --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.42.1-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'PyGObject' +version = '3.42.1' + +homepage = 'https://pygobject.readthedocs.io/' +description = """PyGObject is a Python package which provides bindings for GObject based +libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['80d6a3ad1630e9d1edf31b9e9fad9a894c57e18545a3c95ef0044ac4042b8620'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('GLib', '2.72.1'), + ('GObject-Introspection', '1.72.0'), + ('PyCairo', '1.21.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['include/pygobject-%(version_major)s.0/pygobject.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'gi'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-3.44.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.44.1-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..d1e9e8a9d1a --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.44.1-GCCcore-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'PyGObject' +version = '3.44.1' + +homepage = 'https://pygobject.readthedocs.io/' +description = """PyGObject is a Python package which provides bindings for GObject based +libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['665fbe980c91e8b31ad78ed3f66879946948200864002d193f67eccc1d7d5d83'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('GLib', '2.75.0'), + ('GObject-Introspection', '1.74.0'), + ('PyCairo', '1.24.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['include/pygobject-%(version_major)s.0/pygobject.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'gi'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9e886374697 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'PyGObject' +version = '3.46.0' + +homepage = 'https://pygobject.readthedocs.io/' +description = """PyGObject is a Python package which provides bindings for GObject based +libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['481437b05af0a66b7c366ea052710eb3aacbb979d22d30b797f7ec29347ab1e6'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('GLib', '2.77.1'), + ('GObject-Introspection', '1.76.1'), + ('PyCairo', '1.25.0'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['include/pygobject-%(version_major)s.0/pygobject.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'gi'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a70381c6579 --- /dev/null +++ b/easybuild/easyconfigs/p/PyGObject/PyGObject-3.46.0-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'PyGObject' +version = '3.46.0' + +homepage = 'https://pygobject.readthedocs.io/' +description = """PyGObject is a Python package which provides bindings for GObject based +libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['481437b05af0a66b7c366ea052710eb3aacbb979d22d30b797f7ec29347ab1e6'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('GLib', '2.78.1'), + ('GObject-Introspection', '1.78.1'), + ('PyCairo', '1.25.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['include/pygobject-%(version_major)s.0/pygobject.h'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'gi'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb new file mode 100644 index 00000000000..a9a329832ba --- /dev/null +++ b/easybuild/easyconfigs/p/PyHMMER/PyHMMER-0.10.6-gompi-2023a.eb @@ -0,0 +1,43 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/02 +easyblock = 'PythonBundle' + +name = 'PyHMMER' +version = '0.10.6' + +homepage = 'https://github.com/althonos/pyhmmer' +description = """ +HMMER is a biological sequence analysis tool that uses profile hidden Markov +models to search for sequence homologs. HMMER3 is developed and maintained by +the Eddy/Rivas Laboratory at Harvard University. + +pyhmmer is a Python package, implemented using the Cython language, that +provides bindings to HMMER3. It directly interacts with the HMMER internals, +which has the following advantages over CLI wrappers (like hmmer-py)""" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +builddependencies = [ + ('Cython', '3.0.7'), +] +dependencies = [ + ('Python', '3.11.3'), + ('HMMER', '3.4'), + ('psutil', '5.9.8') +] + +use_pip = True + +exts_list = [ + ('pyhmmer', version, { + 'checksums': ['47e017ccc523046400312afc937d4d68306f6ca0ed82e313deb3697d4fd8ccff'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb b/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb new file mode 100644 index 00000000000..d1e6fb65e8a --- /dev/null +++ b/easybuild/easyconfigs/p/PyImageJ/PyImageJ-1.3.1-foss-2021a.eb @@ -0,0 +1,60 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'PyImageJ' +version = '1.3.1' + +homepage = "https://pyimagej.readthedocs.io/" +description = """PyImageJ provides a set of wrapper functions for integration between ImageJ2 and Python. It also + supports the original ImageJ API and data structures. A major advantage of this approach is the ability to combine + ImageJ and ImageJ2 with other tools available from the Python software ecosystem, including NumPy, SciPy, + scikit-image, CellProfiler, OpenCV, ITK and many more.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Java', '11', '', SYSTEM), + ('Maven', '3.6.3', '', SYSTEM), + ('matplotlib', '3.4.2'), + ('Pillow', '8.2.0'), + ('scikit-image', '0.18.3'), + ('SciPy-bundle', '2021.05'), + ('xarray', '0.19.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('setuptools', '61.3.1', { + 'checksums': ['88fafba4abc2f047e08a188fd4bbc10b0e464592c37b514c19f8f8f88d94450b'], + }), + ('imglyb', '2.0.1', { + 'checksums': ['ace14759bb4201e4b1b93ff4c4aa2c90e87e0bb22095160e205792be89fee929'], + }), + ('jgo', '1.0.5', { + 'checksums': ['48cfab8ec880692d93b22c42e0239f4792c009461c121c15549c456c6a6a4eb6'], + }), + ('JPype1', '1.4.1', { + 'modulename': 'jpype', + 'checksums': ['dc8ee854073474ad79ae168d90c2f6893854f58936cfa18f3587cadae0d3696d'], + }), + ('labeling', '0.1.13', { + 'checksums': ['908d5c247d75d368422c15d0b1efcb3b9d322d0c51cf436865bfb75ce5c829f4'], + }), + ('scyjava', '1.8.1', { + 'checksums': ['de94bf2f1569af0c5c41f38eade53930ae3d17dc584eed712fac6494a7f20efc'], + }), + (name, version, { + 'modulename': 'imagej', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['1328c1b380315a1feff7a42c558dc85a37964a6cd7cc2e5688ec0ce54bf3ac0a'], + }), +] + +sanity_check_commands = [ + """python -c 'import imagej; ij = imagej.init("2.5.0", mode="headless"); print(ij.getVersion())'""" +] + +moduleclass = 'vis' 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/PyMC/PyMC-2.3.8-foss-2021b.eb b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb new file mode 100644 index 00000000000..0476f993de5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'PyMC' +version = '2.3.8' + +homepage = 'https://www.pymc.io' +description = """PyMC is a probabilistic programming library for Python that allows users to build Bayesian models + with a simple Python API and fit them using Markov chain Monte Carlo (MCMC) methods.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'extra_fflags': '-fallow-argument-mismatch'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymc', version, { + 'checksums': ['1dfef8e06d9773f2b0fd44b38d5187d6f4b3393726bb2a5723ca2d3bce1934ab'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb new file mode 100644 index 00000000000..d14c9d22325 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC/PyMC-2.3.8-intel-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'PyMC' +version = '2.3.8' + +homepage = 'https://www.pymc.io' +description = """PyMC is a probabilistic programming library for Python that allows users to build Bayesian models + with a simple Python API and fit them using Markov chain Monte Carlo (MCMC) methods.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pymc', version, { + 'checksums': ['1dfef8e06d9773f2b0fd44b38d5187d6f4b3393726bb2a5723ca2d3bce1934ab'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMC/PyMC-5.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyMC/PyMC-5.9.0-foss-2023a.eb new file mode 100644 index 00000000000..953952040c2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC/PyMC-5.9.0-foss-2023a.eb @@ -0,0 +1,37 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyMC' +version = '5.9.0' + +homepage = 'https://www.pymc.io' +description = """PyMC is a probabilistic programming library for Python that allows users to build Bayesian models + with a simple Python API and fit them using Markov chain Monte Carlo (MCMC) methods.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy, scipy, pandas + ('ArviZ', '0.16.1'), + ('PyTensor', '2.17.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('fastprogress', '1.0.3', { + 'checksums': ['7a17d2b438890f838c048eefce32c4ded47197ecc8ea042cecc33d3deb8022f5'], + }), + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('pymc', version, { + 'checksums': ['96a063e6ce4d754a0d4a93e460a270453eac78cee37c816d1f0d26a4e08cd269'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb new file mode 100644 index 00000000000..d813f17d499 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-foss-2021b.eb @@ -0,0 +1,45 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyMC3' +version = '3.11.1' + +homepage = 'https://docs.pymc.io/' +description = """Probabilistic Programming in Python: +Bayesian Modeling and Probabilistic Machine Learning with Theano""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Theano', '1.1.2', '-PyMC'), + ('matplotlib', '3.4.3'), + ('h5py', '3.6.0'), + ('tqdm', '4.62.3'), + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('typing-extensions', '3.10.0.2'), + ('ArviZ', '0.11.4'), + ('dill', '0.3.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('fastprogress', '1.0.0', { + 'checksums': ['89e28ac1d2a5412aab18ee3f3dfd1ee8b5c1f2f7a44d0add0d0d4f69f0191bfe'], + }), + ('pymc3', version, { + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + 'checksums': ['501d48b9f5d033678de7a5918b9d055a6806adf84fe16a5a9d65eaa2dc71acd8'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb new file mode 100644 index 00000000000..3acb32f43cd --- /dev/null +++ b/easybuild/easyconfigs/p/PyMC3/PyMC3-3.11.1-intel-2021b.eb @@ -0,0 +1,44 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'PyMC3' +version = '3.11.1' + +homepage = 'https://docs.pymc.io/' +description = """Probabilistic Programming in Python: +Bayesian Modeling and Probabilistic Machine Learning with Theano""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Theano', '1.1.2', '-PyMC'), + ('matplotlib', '3.4.3'), + ('h5py', '3.6.0'), + ('tqdm', '4.62.3'), + ('netcdf4-python', '1.5.7'), + ('xarray', '0.20.1'), + ('ArviZ', '0.11.4'), + ('dill', '0.3.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('fastprogress', '1.0.0', { + 'checksums': ['89e28ac1d2a5412aab18ee3f3dfd1ee8b5c1f2f7a44d0add0d0d4f69f0191bfe'], + }), + ('pymc3', version, { + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + 'checksums': ['501d48b9f5d033678de7a5918b9d055a6806adf84fe16a5a9d65eaa2dc71acd8'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb b/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb new file mode 100644 index 00000000000..c96cc51c180 --- /dev/null +++ b/easybuild/easyconfigs/p/PyMOL/PyMOL-2.5.0-foss-2020b.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'PyMOL' +version = '2.5.0' + +homepage = 'https://github.com/schrodinger/pymol-open-source' +description = """ +PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D +visualization of proteins, small molecules, density, surfaces, and trajectories. +It also includes molecular editing, ray tracing, and movies. Open Source PyMOL +is free to everyone! +""" + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyQt5', '5.15.1'), + ('glew', '2.1.0'), + ('libpng', '1.6.37'), + ('libxml2', '2.9.10'), + ('freetype', '2.10.3'), + ('GLM', '0.9.9.8'), + ('netCDF', '4.7.4'), + ('Tkinter', '%(pyver)s'), +] + +toolchain = {'name': 'foss', 'version': '2020b'} + +use_pip = False +sanity_pip_check = True + +exts_list = [ + ('Pmw', '2.0.1', { + 'modulename': 'Pmw', + 'source_tmpl': '8bedfc8747e7757c1048bc5e11899d1163717a43.zip', + 'source_urls': ['https://github.com/schrodinger/pmw-patched/archive/'], + 'checksums': ['db1ab4ee1020023ad814bb24c74f6361fb72e1011871911f7d37bb6ecf6c79ed'], + }), + (name, version, { + 'buildopts': '--use-msgpackc=no', + 'installopts': '--use-msgpackc=no', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ["https://github.com/schrodinger/pymol-open-source/archive/refs/tags/"], + 'checksums': ['aa828bf5719bd9a14510118a93182a6e0cadc03a574ba1e327e1e9780a0e80b3'], + }), +] + +modextravars = {'PYMOL_PATH': 'lib/python%(pyshortver)s/site-packages/pymol/pymol_path'} + +sanity_check_paths = { + 'files': ['bin/pymol'], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.1.2-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.1.2-fosscuda-2020b.eb new file mode 100644 index 00000000000..0f033662e72 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.1.2-fosscuda-2020b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2021.1.2' + +homepage = "https://mathema.tician.de/software/pyopencl/" +description = """PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pytools', '2021.1', { + 'checksums': ['073ae22a0ae946e2db97164f2eb24a599cd3a51430384aa40859dffd73056c40'], + }), + ('pyopencl', version, { + 'checksums': ['18871bc80c5a94869521189cf2c04d72c88367a441a9a033f72f66792ac33d29'], + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..8ba4d12ddea --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2021.2.13' +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': '2021b'} + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pytools', '2021.2.9', { + 'checksums': ['db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['8b969c3a9d4153adc6b0915301ffdf626a3784b869a964645de100ae60de7b06'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b.eb b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b.eb new file mode 100644 index 00000000000..c0193438da7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenCL/PyOpenCL-2021.2.13-foss-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenCL' +version = '2021.2.13' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('pocl', '1.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('pytools', '2021.2.9', { + 'checksums': ['db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755'], + }), + ('pyopencl', version, { + 'preinstallopts': "./configure.py --cl-pretend-version=1.2 && ", + 'checksums': ['8b969c3a9d4153adc6b0915301ffdf626a3784b869a964645de100ae60de7b06'], + }), +] + +moduleclass = 'vis' 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.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..2081c55d0b4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.5-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ +## +# 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:: +# Updated:: Denis Kristak (INUITS) +# +# Notes:: +## + +easyblock = 'PythonPackage' + +name = 'PyOpenGL' +version = '3.1.5' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4107ba0d0390da5766a08c242cf0cf3404c377ed293c5f6d701e457c57ba3424'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Mesa', '21.1.1'), + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'OpenGL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a78dbcfa2f2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'PyOpenGL' +version = '3.1.6' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8ea6c8773927eda7405bffc6f5bb93be81569a7b05c8cac50cd94e969dce5e27'] + +builddependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Mesa', '21.1.7'), + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'OpenGL'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..202415c4bdc --- /dev/null +++ b/easybuild/easyconfigs/p/PyOpenGL/PyOpenGL-3.1.6-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'PyOpenGL' +version = '3.1.6' + +homepage = 'http://pyopengl.sourceforge.net' +description = """PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + + +builddependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Mesa', '22.0.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'OpenGL', + 'checksums': ['8ea6c8773927eda7405bffc6f5bb93be81569a7b05c8cac50cd94e969dce5e27'], + }), +] + +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/PyPSA/PyPSA-0.17.1-foss-2020b.eb b/easybuild/easyconfigs/p/PyPSA/PyPSA-0.17.1-foss-2020b.eb new file mode 100644 index 00000000000..4a89af3e9d2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyPSA/PyPSA-0.17.1-foss-2020b.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'PyPSA' +version = '0.17.1' + +homepage = 'https://pypsa.readthedocs.io/' +description = """PyPSA is an open source toolbox for simulating and optimising modern power systems that include +features such as conventional generators with unit commitment, variable wind and solar generation, storage units, +coupling to other energy sectors, and mixed alternating and direct current networks. PyPSA is designed to scale +well with large networks and long time series.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +builddependencies = [ + ('pandapower', '2.7.0'), # Needed for some tests + ('PYPOWER', '5.1.15'), # Needed for some tests +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('networkx', '2.5'), + ('PyTables', '3.6.1'), + ('netcdf4-python', '1.5.5.1'), + ('xarray', '0.16.2'), + ('Pyomo', '6.0.1'), + ('Shapely', '1.8a1'), # for optional cartopy + ('PROJ', '7.2.1'), # for optional cartopy + ('pyshp', '2.1.3'), # for optional cartopy +] + +exts_list = [ + ('Cartopy', '0.19.0.post1', { + 'checksums': ['4b8b4773a98ed7009fe17d9b6ec87ac3ac62b7d14634d7768c190eadc647d576'], + }), + (name, version, { + # Single test fails, with no clear fix + 'runtest': "PYTHONPATH=.:$PYTHONPATH pytest --ignore=test/test_sclopf_scigrid.py ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': ['47811fc24b2daf663a2bb86749235e03e9988c7604a4d7fea48fbc8d9b4431c9'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/PyPy/PyPy-7.3.12-3.10.eb b/easybuild/easyconfigs/p/PyPy/PyPy-7.3.12-3.10.eb new file mode 100644 index 00000000000..68a7d7a9713 --- /dev/null +++ b/easybuild/easyconfigs/p/PyPy/PyPy-7.3.12-3.10.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'PyPy' +version = '7.3.12' +_pyver = '3.10' +versionsuffix = '-%s' % _pyver + +homepage = 'https://www.pypy.org' +description = "A fast, compliant alternative implementation of Python" + +toolchain = SYSTEM + +source_urls = ['https://downloads.python.org/pypy/'] +local_archs = {'aarch64': 'aarch64', 'x86_64': 'linux64'} +sources = ['pypy%s-v%%(version)s-%s.tar.bz2' % (_pyver, local_archs[ARCH])] +checksums = [{ + 'pypy%s-v%%(version)s-aarch64.tar.bz2' % _pyver: '26208b5a134d9860a08f74cce60960005758e82dc5f0e3566a48ed863a1f16a1', + 'pypy%s-v%%(version)s-linux64.tar.bz2' % _pyver: '6c577993160b6f5ee8cab73cd1a807affcefafe2f7441c87bd926c10505e8731', +} +] + +postinstallcmds = [ + # remove python* commands provided by PyPy, so they don't shadow actual python commands + # (system Python, or provided by a Python dependency) + "rm %(installdir)s/bin/python*", +] + +sanity_check_paths = { + 'files': ['bin/pypy', 'bin/pypy3'], + 'dirs': ['include/pypy%s' % _pyver, 'lib/pypy%s' % _pyver], +} + +sanity_check_commands = [ + "pypy --help", +] + +moduleclass = 'lang' 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.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-10.2.0.eb index d50e24ff287..2fc24f0a12a 100644 --- a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-10.2.0.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'Bundle' name = 'PyQt5' version = '5.15.1' @@ -18,8 +18,6 @@ dependencies = [ default_easyblock = 'PythonPackage' -use_pip = True - local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " @@ -34,6 +32,7 @@ local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/si local_sipver = '5.4.0' components = [ ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCELOWER_TAR_GZ], 'checksums': ['4282ab45948674f5ef74278a8e70d1302f65c95b519a0af19409002f5715d641'], 'start_dir': 'sip-%s' % local_sipver, @@ -41,18 +40,21 @@ components = [ 'options': {'modulename': 'PyQt5.sip'}, }), ('PyQt-builder', '1.5.0', { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['11bbe26e8e3d5ffec6d2ef2f50596b1670eb2d8b49aee0f859821922d8282841'], 'start_dir': 'PyQt-builder-%(version)s', 'use_pip': True, }), ('PyQt5_sip', '12.8.1', { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['30e944db9abee9cc757aea16906d4198129558533eb7fadbe48c5da2bd18e0bd'], 'start_dir': 'PyQt5_sip-%(version)s', 'use_pip': True, }), (name, version, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1'], 'easyblock': 'Binary', @@ -61,6 +63,7 @@ components = [ 'install_cmd': local_setup_env + local_pyqt5_sip_install, }), ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['f0ca7915ee206ba5d703168c6ca40b0aad62c67360328fae4af5359cdbcee439'], 'easyblock': 'ConfigureMakePythonPackage', @@ -71,8 +74,6 @@ components = [ }), ] -sanity_pip_check = True - sanity_check_paths = { 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-9.3.0-Python-3.8.2.eb index 1005bfa8e3e..2122c835fca 100644 --- a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.1-GCCcore-9.3.0-Python-3.8.2.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'Bundle' name = 'PyQt5' version = '5.15.1' @@ -19,8 +19,6 @@ dependencies = [ default_easyblock = 'PythonPackage' -use_pip = True - local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " @@ -35,6 +33,7 @@ local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/si local_sipver = '5.4.0' components = [ ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCELOWER_TAR_GZ], 'checksums': ['4282ab45948674f5ef74278a8e70d1302f65c95b519a0af19409002f5715d641'], 'start_dir': 'sip-%s' % local_sipver, @@ -42,18 +41,21 @@ components = [ 'options': {'modulename': 'PyQt5.sip'}, }), ('PyQt-builder', '1.5.0', { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['11bbe26e8e3d5ffec6d2ef2f50596b1670eb2d8b49aee0f859821922d8282841'], 'start_dir': 'PyQt-builder-%(version)s', 'use_pip': True, }), ('PyQt5_sip', '12.8.1', { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['30e944db9abee9cc757aea16906d4198129558533eb7fadbe48c5da2bd18e0bd'], 'start_dir': 'PyQt5_sip-%(version)s', 'use_pip': True, }), (name, version, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1'], 'easyblock': 'Binary', @@ -62,6 +64,7 @@ components = [ 'install_cmd': local_setup_env + local_pyqt5_sip_install, }), ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], 'sources': [SOURCE_TAR_GZ], 'checksums': ['f0ca7915ee206ba5d703168c6ca40b0aad62c67360328fae4af5359cdbcee439'], 'easyblock': 'ConfigureMakePythonPackage', @@ -72,8 +75,6 @@ components = [ }), ] -sanity_pip_check = True - sanity_check_paths = { 'files': ['bin/pyqt-bundle', 'bin/sip-build', 'bin/sip-install', 'bin/sip5'], 'dirs': ['lib/python%(pyshortver)s/site-packages'], 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/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..775d1c1a6e6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.2.0.eb @@ -0,0 +1,112 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.4' + +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': '10.2.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.35')] +dependencies = [ + ('Python', '3.8.6'), + ('Qt5', '5.14.2'), + ('Qt5Webkit', '5.212.0-alpha4') +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + }), + + ('PyQt-builder', '1.10.3', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['6ade47445b7d8c08eb96e91ebda5f8b3494b3e7a9da2be343b9d0704419cb5c7'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + + ('PyQt5_sip', '12.9.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts + }), + + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['cedc28f54165f4b8067652145aec7f732a17eadf6736835852868cf76119cc19'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip-wheel --help", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..01de04b0208 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-10.3.0.eb @@ -0,0 +1,107 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.4' + +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': '10.3.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.36.1')] +dependencies = [ + ('Python', '3.9.5'), + ('Qt5', '5.15.2'), +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + }), + ('PyQt-builder', '1.10.1', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['967b0c7bac0331597e9f8c5b336660f173a9896830b721d6d025e14bde647e17'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + ('PyQt5_sip', '12.9.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts + }), + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['cedc28f54165f4b8067652145aec7f732a17eadf6736835852868cf76119cc19'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cc175935b12 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.4-GCCcore-11.2.0.eb @@ -0,0 +1,107 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.4' + +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': '11.2.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.37')] +dependencies = [ + ('Python', '3.9.6'), + ('Qt5', '5.15.2'), +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + }), + ('PyQt-builder', '1.10.1', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['967b0c7bac0331597e9f8c5b336660f173a9896830b721d6d025e14bde647e17'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + ('PyQt5_sip', '12.9.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['d3e4489d7c2b0ece9d203ae66e573939f7f60d4d29e089c9f11daa17cfeaae32'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts + }), + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['cedc28f54165f4b8067652145aec7f732a17eadf6736835852868cf76119cc19'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..11986d88534 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.5-GCCcore-11.3.0.eb @@ -0,0 +1,108 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.5' + +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': '11.3.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [('binutils', '2.38')] +dependencies = [ + ('Python', '3.10.4'), + ('Qt5', '5.15.5'), +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5'], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + }), + ('PyQt-builder', '1.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['40f6df88c00e6aa9ac9a8bc5688f9fe2a4bd56c06cdb0a0b00ce8955ec34ffe5'], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + }), + ('PyQt5_sip', '12.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39'], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['b411b7a8fa03901c9feb1dcbac7ea1fc3ce20b9ae682762b777cd5398749ca2b'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts + }), + ('PyQtWebEngine', version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['ab47608dccf2b5e4b950d5a3cc704b17711af035024d07a9b71ad29fc103b941'], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", + "pip check", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0987fcacdf5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7-GCCcore-12.2.0.eb @@ -0,0 +1,119 @@ +easyblock = 'Bundle' + +name = 'PyQt5' +version = '5.15.7' + +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.2.0'} +toolchainopts = {'cstd': 'c++11'} + +builddependencies = [ + ('binutils', '2.39'), + ('flex', '2.6.4'), # req. for PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch + ('Bison', '3.8.2'), # req. for PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch +] +dependencies = [ + ('Python', '3.10.8'), + ('Qt5', '5.15.7'), +] + +default_easyblock = 'PythonPackage' + +local_sipdir = '%(installdir)s/share/sip' + +local_pylibdir = '%(installdir)s/lib/python%(pyshortver)s/site-packages' + +local_pyqt5_sip_install = "sip-install --verbose --target-dir " + local_pylibdir + " " +local_pyqt5_sip_install += "--confirm-license --no-designer-plugin --no-qml-plugin " + +local_pyqtweb_configopts = "configure.py --verbose --destdir=%s/PyQt5 " % local_pylibdir +local_pyqtweb_configopts += "--apidir=%(installdir)s/qsci " +local_pyqtweb_configopts += "--pyqt-sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--sipdir=%s " % local_sipdir +local_pyqtweb_configopts += "--no-stubs --no-dist-info" + +local_pyqt_configopts = "configure.py --verbose --destdir=%s " % local_pylibdir +local_pyqt_configopts += "--no-stubs " +local_pyqt_configopts += "--confirm-license --no-designer-plugin --no-qml-plugin " +# prevent installing pyrcc5 and other tools into $EBROOTPYTHON/bin: +local_pyqt_configopts += "--bindir=%(installdir)s/bin " +local_pyqt_configopts += "--sipdir=%s " % local_sipdir + +local_setup_env = "export PATH=%(installdir)s/bin:$PATH && " +local_setup_env += "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " +local_sipver = '5.5.0' +local_sip_rebuildparser = 'flex -o code_generator/lexer.c code_generator/metasrc/lexer.l &&' +local_sip_rebuildparser += 'bison -y -d -o code_generator/parser.c code_generator/metasrc/parser.y &&' +components = [ + ('SIP', local_sipver, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCELOWER_TAR_GZ], + 'start_dir': 'sip-%s' % local_sipver, + 'use_pip': True, + 'options': {'modulename': 'PyQt5.sip'}, + 'patches': ['PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch'], + 'preinstallopts': local_sip_rebuildparser, # req. for PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch + 'checksums': [ + '5d024c419b30fea8a6de8c71a560c7ab0bc3c221fbfb14d55a5b865bd58eaac5', + 'f828b1cf81e8bfea676f7aa1e428102aade5acf520aedd85e7de08b0b2226a5d' + ], + }), + ('PyQt-builder', '1.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': 'PyQt-builder-%(version)s', + 'use_pip': True, + 'checksums': ['40f6df88c00e6aa9ac9a8bc5688f9fe2a4bd56c06cdb0a0b00ce8955ec34ffe5'], + }), + ('PyQt5_sip', '12.11.0', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': 'PyQt5_sip-%(version)s', + 'use_pip': True, + 'checksums': ['b4710fd85b57edef716cc55fae45bfd5bfac6fc7ba91036f1dcc3f331ca0eb39'], + }), + (name, version, { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqt_configopts, + 'checksums': ['755121a52b3a08cb07275c10ebb96576d36e320e572591db16cfdbc558101594'], + }), + ('PyQtWebEngine', '5.15.6', { + 'source_urls': [PYPI_SOURCE], + 'sources': [SOURCE_TAR_GZ], + 'easyblock': 'ConfigureMakePythonPackage', + 'start_dir': '%(name)s-%(version)s', + 'preconfigopts': local_setup_env, + 'configopts': local_pyqtweb_configopts, + 'options': {'modulename': 'PyQt5.QtWebEngine'}, + 'checksums': ['ae241ef2a61c782939c58b52c2aea53ad99b30f3934c8358d5e0a6ebb3fd0721'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [ + 'pyrcc5', 'pyuic5', 'pylupdate5', 'pyqt-bundle', 'sip-build', 'sip-install', 'sip5']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import PyQt5.QtCore'", + "sip5 --help", + "pyuic5 --help", + "pylupdate5 -version 2>&1 | grep 'pylupdate5 v%(version)s'", + "pyrcc5 -version 2>&1 | grep 'pyrcc5 v%(version)s'", + "pip check", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_INSTALL_DATA': 'qsci', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch new file mode 100644 index 00000000000..4f5fa9f06ba --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.15.7_sip-5.5.0_add_py_ssize_t_clean.patch @@ -0,0 +1,44 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +# add py_ssize_t_clean to the sip4 parser +# acc to https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1828544.html +diff -ru sip-5.5.0/code_generator/metasrc/lexer.l sip-5.5.0_add_py_ssize_t_clean/code_generator/metasrc/lexer.l +--- sip-5.5.0/code_generator/metasrc/lexer.l 2020-11-23 14:21:33.000000000 +0100 ++++ sip-5.5.0_add_py_ssize_t_clean/code_generator/metasrc/lexer.l 2023-11-20 12:30:35.030063970 +0100 +@@ -167,6 +167,7 @@ + timestamp {return TK_TIMESTAMP;} + type {return TK_TYPE;} + use_argument_names {return TK_USEARGNAMES;} ++py_ssize_t_clean {return TK_PYSSIZETCLEAN;} + use_limited_api {return TK_USELIMITEDAPI;} + all_raise_py_exception {return TK_ALLRAISEPYEXC;} + call_super_init {return TK_CALLSUPERINIT;} +diff -ru sip-5.5.0/code_generator/metasrc/parser.y sip-5.5.0_add_py_ssize_t_clean/code_generator/metasrc/parser.y +--- sip-5.5.0/code_generator/metasrc/parser.y 2020-11-23 14:21:33.000000000 +0100 ++++ sip-5.5.0_add_py_ssize_t_clean/code_generator/metasrc/parser.y 2023-11-20 12:30:35.030063970 +0100 +@@ -373,6 +373,7 @@ + %token TK_TIMESTAMP + %token TK_TYPE + %token TK_USEARGNAMES ++%token TK_PYSSIZETCLEAN + %token TK_USELIMITEDAPI + %token TK_ALLRAISEPYEXC + %token TK_CALLSUPERINIT +@@ -1843,6 +1844,18 @@ + $$.use_limited_api = FALSE; + $$.all_raise_py_exc = FALSE; + $$.call_super_init = -1; ++ $$.def_error_handler = NULL; ++ } ++ | TK_PYSSIZETCLEAN '=' bool_value { ++ $$.token = TK_PYSSIZETCLEAN; ++ ++ $$.c_module = FALSE; ++ $$.kwargs = defaultKwArgs; ++ $$.name = NULL; ++ $$.use_arg_names = FALSE; ++ $$.use_limited_api = FALSE; ++ $$.all_raise_py_exc = FALSE; ++ $$.call_super_init = -1; + $$.def_error_handler = NULL; + } + | TK_USELIMITEDAPI '=' bool_value { diff --git a/easybuild/easyconfigs/p/PyQt5/PyQt5-5.9.2-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.9.2-intel-2018a-Python-2.7.14.eb new file mode 100644 index 00000000000..68fd5bf4ffd --- /dev/null +++ b/easybuild/easyconfigs/p/PyQt5/PyQt5-5.9.2-intel-2018a-Python-2.7.14.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMakePythonPackage' + +name = 'PyQt5' +version = '5.9.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.riverbankcomputing.co.uk/software/pyqt' +description = """PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company.""" + +toolchain = {'name': 'intel', 'version': '2018a'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['http://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-%(version)s'] +sources = ['%(name)s_gpl-%(version)s.tar.gz'] +checksums = ['c190dac598c97b0113ca5e7a37c71c623f02d1d713088addfacac4acfa4b8394'] + +dependencies = [ + ('Python', '2.7.14'), + ('SIP', '4.19.8', versionsuffix), + ('Qt5', '5.10.1'), +] + +configopts = "configure.py --confirm-license --verbose" +configopts += " --destdir=%(installdir)s/lib/python%(pyshortver)s/site-packages --bindir=%(installdir)s/bin" +configopts += " --designer-plugindir=%(installdir)s/plugins/designer --qml-plugindir=%(installdir)s/plugins/PyQt5" +configopts += " --no-sip-files --no-stubs " + +options = {'modulename': '%(name)s'} + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'QT_PLUGIN_PATH': 'plugins', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.12.3-foss-2021a.eb b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.12.3-foss-2021a.eb new file mode 100644 index 00000000000..fef424d65b3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.12.3-foss-2021a.eb @@ -0,0 +1,30 @@ +# updated: Denis Kristak +easyblock = 'PythonPackage' +# TH77EMBL adapted from PyQtGraph-0.11.0-foss-2019b-Python-3.7.4.eb +name = 'PyQtGraph' +version = '0.12.3' + +homepage = 'http://www.pyqtgraph.org/' +description = """PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +github_account = 'pyqtgraph' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['243df67ce5461e7f44afa19e351dc4f1bf08a231925b7cb4a2f232c6d71e8957'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyQt5', '5.15.4'), + ('PyOpenGL', '3.1.5'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.3-foss-2022a.eb b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.3-foss-2022a.eb new file mode 100644 index 00000000000..fb3b71bfa6b --- /dev/null +++ b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.3-foss-2022a.eb @@ -0,0 +1,30 @@ +# updated: Denis Kristak +easyblock = 'PythonPackage' +# TH77EMBL adapted from PyQtGraph-0.11.0-foss-2019b-Python-3.7.4.eb +name = 'PyQtGraph' +version = '0.13.3' + +homepage = 'http://www.pyqtgraph.org/' +description = """PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +github_account = 'pyqtgraph' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2dd03b68543fba85aea04e3c07311bfe7d5fd87f40ad6954e83b261d23f92de1'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('PyOpenGL', '3.1.6'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb new file mode 100644 index 00000000000..ff061fd9577 --- /dev/null +++ b/easybuild/easyconfigs/p/PyQtGraph/PyQtGraph-0.13.7-foss-2023a.eb @@ -0,0 +1,31 @@ +# updated: Denis Kristak +easyblock = 'PythonPackage' +# TH77EMBL adapted from PyQtGraph-0.11.0-foss-2019b-Python-3.7.4.eb +# update: Petr Král (INUITS) +name = 'PyQtGraph' +version = '0.13.7' + +homepage = 'http://www.pyqtgraph.org/' +description = """PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +github_account = 'pyqtgraph' +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28c5fb6eaf60ff3ea7b7b6e0f8935cf85f34e7b5c554f154eeb10649c6b21573'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyQt5', '5.15.10'), + ('PyOpenGL', '3.1.7'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-foss-2020b.eb b/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-foss-2020b.eb new file mode 100644 index 00000000000..bd934ce0e10 --- /dev/null +++ b/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-foss-2020b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'PyRETIS' +version = '2.5.0' + +homepage = 'http://www.pyretis.org' +description = """PyRETIS is a Python library for rare event molecular simulations with emphasis on methods based + on transition interface sampling and replica exchange transition interface sampling.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('MDTraj', '1.9.5'), + ('PyTables', '3.6.1'), + ('tqdm', '4.56.2'), +] + +use_pip = True + +exts_list = [ + ('colorama', '0.4.4', { + 'source_urls': ['https://pypi.python.org/packages/source/c/colorama/'], + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], + }), + (name, version, { + 'source_tmpl': 'pyretis-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/pyretis'], + 'checksums': ['b4b842a83f39e97a9bbf2d9797f53823b9e741b479b5a6744aeb42daf1c7ad2b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyretisanalyse', 'bin/pyretisrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pyretisanalyse --help", + "pyretisrun --help", +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-intel-2020b.eb b/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-intel-2020b.eb new file mode 100644 index 00000000000..f157cad034a --- /dev/null +++ b/easybuild/easyconfigs/p/PyRETIS/PyRETIS-2.5.0-intel-2020b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'PyRETIS' +version = '2.5.0' + +homepage = 'http://www.pyretis.org' +description = """PyRETIS is a Python library for rare event molecular simulations with emphasis on methods based + on transition interface sampling and replica exchange transition interface sampling.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('MDTraj', '1.9.5'), + ('PyTables', '3.6.1'), + ('tqdm', '4.56.2'), +] + +use_pip = True + +exts_list = [ + ('colorama', '0.4.4', { + 'source_urls': ['https://pypi.python.org/packages/source/c/colorama/'], + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], + }), + (name, version, { + 'source_tmpl': 'pyretis-%(version)s.tar.gz', + 'source_urls': ['https://pypi.python.org/packages/source/p/pyretis'], + 'checksums': ['b4b842a83f39e97a9bbf2d9797f53823b9e741b479b5a6744aeb42daf1c7ad2b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyretisanalyse', 'bin/pyretisrun'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pyretisanalyse --help", + "pyretisrun --help", +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-292-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-292-GCCcore-8.3.0-Python-3.7.4.eb new file mode 100644 index 00000000000..37b027f656d --- /dev/null +++ b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-292-GCCcore-8.3.0-Python-3.7.4.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'PyRosetta' +version = '4.release-292' +versionsuffix = '-Python-%(pyver)s' +description = """PyRosetta is an interactive Python-based interface to the powerful Rosetta molecular modeling suite. +It enables users to design their own custom molecular modeling algorithms using Rosetta sampling methods +and energy functions.""" +homepage = 'https://www.pyrosetta.org/' + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +# After aquiring a license here https://els2.comotion.uw.edu/product/pyrosetta, +# PyRosetta4.Release.python37.linux.release-292.tar.bz2 can be downloaded from +# https://graylab.jhu.edu/download/PyRosetta4/archive/release/PyRosetta4.Release.python37.linux/ +sources = ['%(name)s%(version_major)s.Release.python%(pymajver)s%(pyminver)s.linux.%(version_minor)s.tar.bz2'] + +checksums = [ + 'bffe04acb515628200129ded6f0a2ceeeef70f71d59c041f4390764954acac02' +] + +builddependencies = [('binutils', '2.32')] + +dependencies = [ + ('Python', '3.7.4'), +] + +start_dir = "setup" + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-384-gompi-2022a.eb b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-384-gompi-2022a.eb new file mode 100644 index 00000000000..5769add932d --- /dev/null +++ b/easybuild/easyconfigs/p/PyRosetta/PyRosetta-4.release-384-gompi-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'PyRosetta' +version = '4.release-384' + +homepage = 'https://www.pyrosetta.org/' +description = """ +PyRosetta is an interactive Python-based interface to the powerful Rosetta molecular modeling +suite. It enables users to design their own custom molecular modeling algorithms using Rosetta +sampling methods and energy functions. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +local_source_tmpl = '%(name)s%(version_major)s.Release.python%(pymajver)s%(pyminver)s.linux.%(version_minor)s.tar.bz2' +local_source_urls = 'https://graylab.jhu.edu/download/PyRosetta4/archive/release/PyRosetta4.Release.python310.linux/' + +exts_list = [ + (name, version, { + 'source_tmpl': local_source_tmpl, + 'source_urls': [local_source_urls], + 'start_dir': 'setup', + 'checksums': ['630108f2bac166563fd2a4046a1d82e51e14693bb0e20dd3174e71c02b0760c2'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb new file mode 100644 index 00000000000..cf0c6a26ccc --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb @@ -0,0 +1,45 @@ +easyblock = 'CMakeMakeCp' + +name = 'PySCF' +version = '1.7.6' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1805819557cf78fb5938a2141a429c74dabb3ba664b60420032584d7a876c2ab'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy, scipy + ('h5py', '3.2.1'), + ('libcint', '4.4.0'), + ('libxc', '5.1.5'), + ('XCFun', '2.1.1'), +] + +start_dir = 'pyscf/lib' + +separate_build_dir = True + +configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF" + +prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && " + +files_to_copy = ['pyscf'] + +sanity_check_paths = { + 'files': ['pyscf/__init__.py'], + 'dirs': ['pyscf/data', 'pyscf/lib'], +} + +sanity_check_commands = ["python -c 'import pyscf'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb new file mode 100644 index 00000000000..1d1b787c750 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb @@ -0,0 +1,141 @@ +easyblock = 'CMakeMakeCp' +name = 'PySCF' +version = '2.1.1' + +homepage = 'http://www.pyscf.org' +description = "PySCF is an open-source collection of electronic structure modules powered by Python." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pyscf/pyscf/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['814240aa73f57ba96aee8264e3914c09f96ebdce1e42784da4b5e9a474ecb280'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pybind11', '2.9.2'), # needed by zquatev +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy, scipy + ('h5py', '3.7.0'), + ('libcint', '5.1.6'), + ('libxc', '5.2.3'), + ('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', '20220711'), # needed by fciqmc + ('Dice', '20221025'), # 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 = [ + # extensions in 'all' extra + ('dftd3', 'd214021', { + 'checksums': ['6616e7f28a90ca00c3def30dd22c4580f5b555af5c61fec2cb09cc6dd4e7bbff'], + }), + ('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', '92a4df7', { + 'modulename': 'pyscf.prop', + 'checksums': ['df5456315855c7a4f5858b244461793f2cbc21f6a6c0328039838ad85913c79d'], + }), + ('qsdopt', '3ad2c02', { + 'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'], + }), + ('semiempirical', '327d65e', { + 'checksums': ['4d0016a321c91ace2f1c18e4001df3f6c8de9c96602c391353102b6ad4e14076'], + }), + ('shciscf', 'dd398d2', { + 'checksums': ['96032337e8877478d410f2edd8490d267a8b6ddb8fad6152b201f4da912fd694'], + }), + ('MCfun', '1a9ae31', { + 'modulename': 'mcfun', + 'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'], + 'checksums': ['482397f0c964f27ff15687e4b56554c51e0f249e2ad5b96fd1d6cb8a2f7f2c72'], + }), + ('pyqmc', '0.5.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': ['ecda2045577dc3b48149d5e92c88ce19d60b8c2a2e2c1705542c176973f5e1c8'], + }), + # extensions on top of 'all' extra + ('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', 'c7c30bb', { + 'modulename': 'pyscf.fciqmcscf', + 'patches': [('PySCF-2.1.1_fciqmc-settings.patch', 0)], + 'checksums': [ + {'fciqmc-c7c30bb.tar.gz': 'dfa613df36a49d7a7f1d2ff7ab7646a38adbb01c9af05d4ea7e3bcff495d8f57'}, + {'PySCF-2.1.1_fciqmc-settings.patch': 'd9faa98e62957a5b47435343a986612b27aa9fc744a201ed3beb63919dc63427'}, + ], + }), + ('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', 'a1efbc0', { + 'modulename': 'pyscf.tblis_einsum', + 'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'], + 'checksums': ['55fea57bfee2cf8aef577d8d2adc1f273aa39e3ee5e6cfc2442ccc3b5353a847'], + }), + ('zquatev', '4eb41b1', { + 'modulename': 'zquatev', + 'source_urls': ['https://github.com/sunqm/%(name)s/archive/'], + 'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'], + # use pybind11 from EB + 'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ", + }), +] + +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/PySCF/PySCF-2.1.1_dmrgscf-settings.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_dmrgscf-settings.patch new file mode 100644 index 00000000000..b48812d258b --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_dmrgscf-settings.patch @@ -0,0 +1,26 @@ +Add settings file for pyscf.dmrgscf using EasyBuild environment +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/dmrgscf/settings.py pyscf/dmrgscf/settings.py +--- pyscf.orig/dmrgscf/settings.py 1970-01-01 01:00:00.000000000 +0100 ++++ pyscf/dmrgscf/settings.py 2022-11-22 01:43:28.836971000 +0100 +@@ -0,0 +1,20 @@ ++# ++# This file sets the environment using EasyBuild packages ++# The configs will be used in dmrgci.py and chemps2.py ++# ++ ++import os ++from glob import glob ++from pyscf import lib ++ ++# Use Block as the FCI solver for CASSCF ++BLOCKEXE = os.path.join(os.getenv('EBROOTBLOCK'), 'bin', 'block.spin_adapted') ++BLOCKEXE_COMPRESS_NEVPT = os.path.join(os.getenv('EBROOTBLOCK'), 'bin', 'block.spin_adaptedi-serial') ++BLOCKSCRATCHDIR = os.path.join(lib.param.TMPDIR, str(os.getpid())) ++BLOCKRUNTIMEDIR = str(os.getpid()) ++MPIPREFIX = 'mpirun' # change to srun for SLURM job system ++BLOCKVERSION = '1.5.3' ++ ++# Use ChemPS2 as the FCI solver for CASSCF ++pychemps2_root = os.getenv('EBROOTPYCHEMPS2') ++PYCHEMPS2BIN = glob(os.path.join(pychemps2_root, 'lib', 'python3*', 'site-packages', 'PyCheMPS2.*.so'))[0] diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch new file mode 100644 index 00000000000..267f7b13845 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_fciqmc-settings.patch @@ -0,0 +1,15 @@ +Add settings file for pyscf.fciqmc using EasyBuild environment +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/fciqmcscf/settings.py pyscf/fciqmcscf/settings.py +--- pyscf.orig/fciqmcscf/settings.py 1970-01-01 01:00:00.000000000 +0100 ++++ pyscf/fciqmcscf/settings.py 2022-11-24 21:16:33.554298000 +0100 +@@ -0,0 +1,9 @@ ++# ++# This file sets the environment using EasyBuild packages ++# The configs will be used in fciqmc.py ++# ++ ++import os ++ ++# Use NECI (FCIQMC) as the FCI sovler for CASSCF ++FCIQMCEXE = os.path.join(os.getenv('EBROOTNECI'), 'bin', 'neci') diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch new file mode 100644 index 00000000000..109daa2a3c2 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_icmpspt-exe-path.patch @@ -0,0 +1,27 @@ +Fix numpy data types and use ICPT binary from Dice in EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- pyscf/icmpspt/icmpspt.py.orig 2022-11-25 01:00:16.277514709 +0100 ++++ pyscf/icmpspt/icmpspt.py 2022-11-24 21:38:23.700229771 +0100 +@@ -43,7 +43,7 @@ + from pyscf import tools + import sys + +-float_precision = numpy.dtype('Float64') ++float_precision = numpy.dtype('float64') + mpiprefix="" + executable="/projects/bamu3429/softwares/icpt_test/icpt" + executable="/projects/bamu3429/softwares/icpt/icpt.big" +--- pyscf/icmpspt/icmpspt.py.orig 2022-11-25 01:00:16.277514709 +0100 ++++ pyscf/icmpspt/icmpspt.py 2022-11-25 01:03:20.021383507 +0100 +@@ -45,10 +45,7 @@ + + float_precision = numpy.dtype('Float64') + mpiprefix="" +-executable="/projects/bamu3429/softwares/icpt_test/icpt" +-executable="/projects/bamu3429/softwares/icpt/icpt.big" +-executable="/projects/bamu3429/softwares/icpt/icpt" +-#executable="/projects/bamu3429/softwares/icpt_before_me/icpt" ++executable=os.path.join(os.getenv('EBROOTDICE'), 'bin', 'ICPT') + if not os.path.isfile(executable): + msg = ('MPSLCC executable %s not found. Please specify "executable" in %s' + % (executable, __file__)) diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch new file mode 100644 index 00000000000..a1a5338cd95 --- /dev/null +++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1_mbd-fix-init.patch @@ -0,0 +1,21 @@ +Set version of pyscf/mbd extension and fix imports on init +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru pyscf.orig/mbd/__init__.py pyscf/mbd/__init__.py +--- pyscf.orig/mbd/__init__.py 2022-11-25 02:03:32.583625000 +0100 ++++ pyscf/mbd/__init__.py 2022-11-25 02:04:11.959827000 +0100 +@@ -12,4 +12,6 @@ + # See the License for the specific language governing permissions and + # limitations under the License. + ++__version__ = '0.0.1' ++ + from .mbd import mbd_rsscs, bohr +diff -Nru pyscf.orig/mbd/__init__.py pyscf/mbd/__init__.py +--- pyscf.orig/mbd/__init__.py 2022-11-25 02:16:14.580180000 +0100 ++++ pyscf/mbd/__init__.py 2022-11-25 02:16:26.123674000 +0100 +@@ -14,4 +14,4 @@ + + __version__ = '0.0.1' + +-from .mbd import mbd_rsscs, bohr ++from .mbd import mbd_rsscs 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/PySINDy/PySINDy-1.7.3-foss-2022a.eb b/easybuild/easyconfigs/p/PySINDy/PySINDy-1.7.3-foss-2022a.eb new file mode 100644 index 00000000000..e04c3e96c9a --- /dev/null +++ b/easybuild/easyconfigs/p/PySINDy/PySINDy-1.7.3-foss-2022a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'PySINDy' +version = '1.7.3' + +homepage = 'https://pysindy.readthedocs.io/en/latest/' +description = """" +PySINDy is a sparse regression package with several implementations for the +Sparse Identification of Nonlinear Dynamical systems (SINDy) method introduced +in Brunton et al. (2016a), including the unified optimization approach of +Champion et al. (2019), SINDy with control from Brunton et al. (2016b), +Trapping SINDy from Kaptanoglu et al. (2021), SINDy-PI from Kaheman et al. +(2020), PDE-FIND from Rudy et al. (2017), and so on. A comprehensive literature +review is given in de Silva et al. (2020) and Kaptanoglu, de Silva et al. +(2021). +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('CVXPY', '1.3.0'), # optional +] + + +use_pip = True +sanity_pip_check = True + +# relax scikit-learn version requirements for derivative +# remove cmake requirement from pysindy: not needed at all +exts_list = [ + ('derivative', '0.5.3', { + 'preinstallopts': """sed -i 's/scikit-learn = .*/scikit-learn = "~1"/g' pyproject.toml && """, + 'checksums': ['4ce766a85a2d2cb65d7046ef4fdc953348a12b31809768df60b424a23090de27'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/cmake.*//g' requirements.txt && ", + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['a99937853d81eef375b4c4b56091d900e94bd63465a0b4e768472333850bcff7'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PySide2/PySide2-5.14.2.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/PySide2/PySide2-5.14.2.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b2ad02c66b2 --- /dev/null +++ b/easybuild/easyconfigs/p/PySide2/PySide2-5.14.2.3-GCCcore-10.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'PySide2' +version = '5.14.2.3' + +homepage = 'https://pypi.python.org/pypi/PySide2' +description = """PySide2 is the official Python module from the Qt for Python project, + which provides access to the complete Qt 5.12+ framework.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://download.qt.io/official_releases/QtForPython/%(namelower)s/%(name)s-%(version)s-src/'] +sources = ['pyside-setup-opensource-src-%(version)s.tar.xz'] +checksums = ['032de309505c78ba52c225aaf5fd717b8d87ae863aa7cee8ba58ba6141c59022'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('Clang', '11.0.1'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Qt5', '5.14.2'), +] + +use_pip = False +sanity_pip_check = True +download_dep_fail = True + +preconfigopts = 'export CLANG_INSTALL_DIR=$EBROOTCLANG && ' + +prebuildopts = 'export CLANG_INSTALL_DIR=$EBROOTCLANG && ' +buildcmd = 'build --parallel=%(parallel)s' + +preinstallopts = 'export CLANG_INSTALL_DIR=$EBROOTCLANG && ' +install_target = 'install --parallel=%(parallel)s' + +options = {'modulename': 'PySide2'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyStan/PyStan-2.19.1.1-foss-2020b.eb b/easybuild/easyconfigs/p/PyStan/PyStan-2.19.1.1-foss-2020b.eb new file mode 100644 index 00000000000..766b4a7e03f --- /dev/null +++ b/easybuild/easyconfigs/p/PyStan/PyStan-2.19.1.1-foss-2020b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'PyStan' +version = '2.19.1.1' + +homepage = 'https://github.com/stan-dev/pystan' +description = """Python interface to Stan, a package for Bayesian inference + using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': '%(namelower)s', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['fa8bad8dbc0da22bbe6f36af56c9abbfcf10f92df8ce627d59a36bd8d25eb038'] + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyStan/PyStan-3.5.0-foss-2021b.eb b/easybuild/easyconfigs/p/PyStan/PyStan-3.5.0-foss-2021b.eb new file mode 100644 index 00000000000..b03b97b5db6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyStan/PyStan-3.5.0-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'PyStan' +version = '3.5.0' + +homepage = 'https://github.com/stan-dev/pystan' +description = """Python interface to Stan, a package for Bayesian inference + using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('aiohttp', '3.8.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('marshmallow', '3.17.1', { + 'checksums': ['48e2d88d4ab431ad5a17c25556d9da529ea6e966876f2a38d274082e270287f0'], + }), + ('webargs', '8.2.0', { + 'checksums': ['99d68940c452e07726485a15fef43f12f8ae6c0c5b391bcba76065d4527fb85d'], + }), + ('httpstan', '4.8.2', { + 'source_tmpl': 'httpstan-4.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['94da9bee5e13b5164934a1f0c8986a0b715da37d8a44d0e69167221bb1f334ac'], + }), + ('pysimdjson', '3.2.0', { + 'modulename': 'simdjson', + 'checksums': ['643baa0941752367761dbc091bf552bf4ca196cf67bf41ef89c90c2db2ec1477'], + }), + (name, version, { + 'modulename': 'stan', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['078571d071a5b7c0af59206d4994a0979f4ac4b61f4a720b640c44fe35514929'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.5.2-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.5.2-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..23f3a638cb0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.5.2-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonPackage' + +name = 'PyTables' +version = '3.5.2' +# This is the last version to support Python 2.7. +versionsuffix = '-Python-%(pyver)s' + +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 browse, + process and search 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': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/PyTables/PyTables/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-fix-libs.patch'] +checksums = [ + 'e4fc6f1194f02a8b10ff923e77364fb70710592f620d7de35f4d4e064dc70e91', # v3.5.2.tar.gz + '8df2a6379a9e4a941cb939ed1257a7d6105792d9c5e9dd0abd4bba3ece767c3a', # PyTables-3.5.2-fix-libs.patch +] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.11', versionsuffix), # provides numexpr. + ('HDF5', '1.10.7'), + ('LZO', '2.10'), + ('Blosc', '1.21.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bins = ['pt2to3', 'ptdump', 'ptrepack'] +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] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021a.eb new file mode 100644 index 00000000000..98fe7e3027f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonPackage' + +name = 'PyTables' +version = '3.6.1' + +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 browse, + process and search 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': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/PyTables/PyTables/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-fix-libs.patch'] +checksums = [ + '4cea86bab5bcb5423a07c7951b8c65e24b674e0dcec0e448d434829eff5f18d0', # v3.6.1.tar.gz + '8df2a6379a9e4a941cb939ed1257a7d6105792d9c5e9dd0abd4bba3ece767c3a', # PyTables-3.6.1-fix-libs.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # provides numexpr + ('HDF5', '1.10.7'), + ('LZO', '2.10'), + ('Blosc', '1.21.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +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] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021b.eb new file mode 100644 index 00000000000..ab0f8bbe508 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.6.1-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonPackage' + +name = 'PyTables' +version = '3.6.1' + +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 browse, + process and search 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': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/PyTables/PyTables/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-fix-libs.patch'] +checksums = [ + '4cea86bab5bcb5423a07c7951b8c65e24b674e0dcec0e448d434829eff5f18d0', # v3.6.1.tar.gz + '8df2a6379a9e4a941cb939ed1257a7d6105792d9c5e9dd0abd4bba3ece767c3a', # PyTables-3.6.1-fix-libs.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # provides numexpr + ('HDF5', '1.12.1'), + ('LZO', '2.10'), + ('Blosc', '1.21.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +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] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb new file mode 100644 index 00000000000..a6378b7de69 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb @@ -0,0 +1,74 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +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': '2022a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('CMake', '3.24.3'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numexpr + ('HDF5', '1.12.2'), + ('LZO', '2.10'), + ('Blosc', '1.21.3'), + ('Blosc2', '2.6.1'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +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.8.0-foss-2022b.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022b.eb new file mode 100644 index 00000000000..82fda5ef075 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022b.eb @@ -0,0 +1,74 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +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': '2022b'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.2'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # provides numexpr + ('HDF5', '1.14.0'), + ('LZO', '2.10'), + ('Blosc', '1.21.3'), + ('Blosc2', '2.8.0'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +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.8.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb new file mode 100644 index 00000000000..71c5a28ec59 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2023a.eb @@ -0,0 +1,74 @@ +# http://www.pytables.org/usersguide/installation.html +# updated: Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'PyTables' +version = '3.8.0' + +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': '2023a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # provides numexpr + ('HDF5', '1.14.0'), + ('LZO', '2.10'), + ('Blosc', '1.21.5'), + ('Blosc2', '2.8.0'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True + +exts_list = [ + ('blosc2', '2.0.0', { + 'patches': ['blosc2-2.0.0_use-Blosc2-dep.patch'], + 'checksums': [ + {'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'}, + {'blosc2-2.0.0_use-Blosc2-dep.patch': '6a9443f378472ada3c8fe8a8a346fe16f22b01bab7d9e60c23b64b546178054b'}, + ], + }), + ('tables', version, { + 'patches': [ + 'PyTables-%(version)s_fix-libs.patch', + 'PyTables-3.8.0_fix-find-blosc2-library-path.patch', + ], + 'checksums': [ + {'tables-3.8.0.tar.gz': '34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788'}, + {'PyTables-3.8.0_fix-libs.patch': '7a1e6fa1f9169e52293e2b433a4302fa13c5d31e7709cd4fe0e087199b9e3f8a'}, + {'PyTables-3.8.0_fix-find-blosc2-library-path.patch': + 'dcf6c3a16a138454296161e99cf6470620755d4c26303186a744f09a11e6013b'}, + ], + }), +] + +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.8.0_fix-find-blosc2-library-path.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-find-blosc2-library-path.patch new file mode 100644 index 00000000000..7849b1888d5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-find-blosc2-library-path.patch @@ -0,0 +1,44 @@ +determine location to Blosc2 library 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.8.0/setup.py.orig 2023-01-19 20:10:15.637759755 +0100 ++++ tables-3.8.0/setup.py 2023-01-19 20:11:48.590853686 +0100 +@@ -110,19 +110,25 @@ + + def get_blosc2_directories(): + """Get Blosc2 directories for the C library by using wheel metadata""" +- try: +- import blosc2 +- except ModuleNotFoundError: +- raise EnvironmentError("Cannot import the blosc2 requirement") +- version = blosc2.__version__ +- basepath = Path(os.path.dirname(blosc2.__file__)) +- recinfo = basepath.parent / f'blosc2-{version}.dist-info' / 'RECORD' + library_path = None +- for line in open(recinfo): +- if 'libblosc2' in line: +- library_path = Path(os.path.abspath(basepath.parent / +- Path(line[:line.find('libblosc2')]))) +- break ++ blosc2_root = os.getenv('EBROOTBLOSC2') ++ if blosc2_root: ++ library_path = Path(os.path.join(blosc2_root, 'lib')) ++ else: ++ try: ++ import blosc2 ++ except ModuleNotFoundError: ++ raise EnvironmentError("Cannot import the blosc2 requirement") ++ version = blosc2.__version__ ++ basepath = Path(os.path.dirname(blosc2.__file__)) ++ recinfo = basepath.parent / f'blosc2-{version}.dist-info' / 'RECORD' ++ library_path = None ++ for line in open(recinfo): ++ if 'libblosc2' in line: ++ library_path = Path(os.path.abspath(basepath.parent / ++ Path(line[:line.find('libblosc2')]))) ++ break ++ + if not library_path: + raise NotADirectoryError("Library directory not found for blosc2!") + diff --git a/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch new file mode 100644 index 00000000000..8ffa99933b7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/PyTables-3.8.0_fix-libs.patch @@ -0,0 +1,15 @@ +# pyTables expects that LIBS is a list of library names and will add +# a -l by itself. +# original patch by ward.poelmans@ugent.be, ported to newer PyTables version by Kenneth Hoste (HPC-UGent) +--- PyTables-3.8.0/setup.py.orig 2023-01-11 19:14:27.160064110 +0100 ++++ PyTables-3.8.0/setup.py 2023-01-11 19:21:48.460252182 +0100 +@@ -576,6 +576,9 @@ + # is not a good idea. + CFLAGS = os.environ.get("CFLAGS", "").split() + LIBS = os.environ.get("LIBS", "").split() ++ for idx, lib in enumerate(LIBS): ++ if lib.startswith("-l"): ++ LIBS[idx] = lib.replace("-l", "") + CONDA_PREFIX = os.environ.get("CONDA_PREFIX", "") + # We start using pkg-config since some distributions are putting HDF5 + # (and possibly other libraries) in exotic locations. See issue #442. 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/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch b/easybuild/easyconfigs/p/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch new file mode 100644 index 00000000000..9629c33f0eb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTables/blosc2-2.0.0_use-Blosc2-dep.patch @@ -0,0 +1,24 @@ +make blosc2 use provided Blosc2 dependency, rather than letting it build its own vendored copy of c-blosc2 +author: Kenneth Hoste (HPC-UGent) +--- blosc2-2.0.0/blosc2/CMakeLists.txt.orig 2023-01-19 13:20:38.055582814 +0100 ++++ blosc2-2.0.0/blosc2/CMakeLists.txt 2023-01-19 13:21:03.808615093 +0100 +@@ -7,17 +7,14 @@ + set(BUILD_FUZZERS OFF CACHE BOOL "Build C-Blosc2 fuzzers") + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +-# we want the binaries of the C-Blosc2 library to go into the wheels +-set(BLOSC_INSTALL ON) +-add_subdirectory(c-blosc2) +-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/c-blosc2/include") ++include_directories("$ENV{EBROOTBLOSC2}/include") + include_directories("${Python_NumPy_INCLUDE_DIRS}") + + + add_cython_target(blosc2_ext blosc2_ext.pyx) + add_library(blosc2_ext MODULE ${blosc2_ext}) + +-target_link_libraries(blosc2_ext blosc2_static) ++target_link_libraries(blosc2_ext $ENV{EBROOTBLOSC2}/lib/libblosc2.a) + + python_extension_module(blosc2_ext) + diff --git a/easybuild/easyconfigs/p/PyTensor/PyTensor-2.17.1-gfbf-2023a.eb b/easybuild/easyconfigs/p/PyTensor/PyTensor-2.17.1-gfbf-2023a.eb new file mode 100644 index 00000000000..5ae101c343e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTensor/PyTensor-2.17.1-gfbf-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'PyTensor' +version = '2.17.1' + +homepage = 'https://github.com/pymc-devs/pytensor' +description = "Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cons', '0.4.6', { + 'checksums': ['669fe9d5ee916d5e42b9cac6acc911df803d04f2e945c1604982a04d27a29b47'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('etuples', '0.3.9', { + 'checksums': ['a474e586683d8ba8d842ba29305005ceed1c08371a4b4b0e0e232527137e5ea3'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('logical-unification', '0.4.6', { + 'checksums': ['908435123f8a106fa4dcf9bf1b75c7beb309fa2bbecf277868af8f1c212650a0'], + 'modulename': 'unification', + }), + ('miniKanren', '1.0.3', { + 'checksums': ['1ec8bdb01144ad5e8752c7c297fb8a122db920f859276d25a72d164e998d7f6e'], + 'modulename': 'kanren', + }), + (name, version, { + 'sources': ['pytensor-%(version)s.tar.gz'], + 'checksums': ['64855a453b945c52d674086f1d160a35e910efbf13693dfaf0c39e92d474a851'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pytensor-cache'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb new file mode 100644 index 00000000000..b53fec4e9c1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-1.6.3-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '1.6.3' +local_pytorch_ver = '1.8.1' +versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_ver + +homepage = 'https://github.com/rusty1s/pytorch_geometric' +description = "PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch." + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +local_pysuff = '-Python-%(pyver)s' +dependencies = [ + ('Python', '3.7.4'), + ('PyTorch', local_pytorch_ver, local_pysuff), + ('scikit-learn', '0.21.3', local_pysuff), + ('scikit-image', '0.16.2', local_pysuff), + ('numba', '0.47.0', local_pysuff), + ('h5py', '2.10.0', local_pysuff), + ('RDFlib', '4.2.2'), + ('tqdm', '4.41.1'), + ('ASE', '3.19.0', local_pysuff), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '0.7.3', { + 'checksums': ['5ac55b685cfcb3e8f70f3c5c2660bd1f6431a892a5319a612792b1ec09aec0f0'], + }), + ('torch_scatter', '2.0.8', { + 'checksums': ['d71aab489b5288a6c96e9f9a7c9e13c54774dcb55a99a40e6cd1aca8be9ef3e6'], + }), + ('torch_sparse', '0.6.11', { + 'checksums': ['1d57bc0fc9d9b6cfdc9dcc12017dc371c89c901e5d7a73e6149c8b866eca1267'], + }), + ('torch_cluster', '1.5.9', { + 'checksums': ['96209e9f3f073c8e7fe91fbf7dd2cdd8655622d14dfc95a7618b4893a658dca5'], + }), + ('torch_spline_conv', '1.2.1', { + 'checksums': ['364f658e0ecb4c5263a728c2961553e022fc44c11a633d5a1bf986cf169ab438'], + }), + ('python-louvain', '0.15', { + 'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'], + 'modulename': 'community.community_louvain', + }), + ('torch_geometric', version, { + 'checksums': ['347f693bebcc8a621eda4867dafab91c04db5f596d7ed7ecb89b242f8ab5c6a1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.0.1-fosscuda-2020b-PyTorch-1.9.0.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.0.1-fosscuda-2020b-PyTorch-1.9.0.eb new file mode 100644 index 00000000000..c3de9720e69 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.0.1-fosscuda-2020b-PyTorch-1.9.0.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.0.1' +local_pytorchver = '1.9.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': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('PyTorch', local_pytorchver), + ('scikit-learn', '0.23.2'), + ('scikit-image', '0.18.1'), + ('numba', '0.53.1'), + ('h5py', '3.1.0'), + ('tqdm', '4.56.2'), + ('RDFlib', '5.0.0'), + ('ASE', '3.20.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', '2.0.8', { + 'checksums': ['d71aab489b5288a6c96e9f9a7c9e13c54774dcb55a99a40e6cd1aca8be9ef3e6'], + }), + ('torch_sparse', '0.6.12', { + 'checksums': ['85db85bd45855cde4be093c7e2413b962b21b31151ad7eacd19ca4e2808bced2'], + }), + ('torch_cluster', '1.5.9', { + 'checksums': ['96209e9f3f073c8e7fe91fbf7dd2cdd8655622d14dfc95a7618b4893a658dca5'], + }), + ('torch_spline_conv', '1.2.1', { + 'checksums': ['364f658e0ecb4c5263a728c2961553e022fc44c11a633d5a1bf986cf169ab438'], + }), + ('python-louvain', '0.15', { + 'modulename': 'community.community_louvain', + 'checksums': ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'], + }), + ('torch_geometric', version, { + 'checksums': ['6ec91a407ca95959c1ca2009f6702983540ccafabc7f2553d56755ff8b393f4f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb new file mode 100644 index 00000000000..27fbf46a606 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2021a-PyTorch-1.12.1-CUDA-11.3.1.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.1.0' +local_pytorchver = '1.12.1' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('CUDA', '11.3.1', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('scikit-learn', '0.24.2'), + ('scikit-image', '0.18.3'), + ('numba', '0.53.1'), + ('h5py', '3.2.1'), + ('tqdm', '4.61.2'), + ('RDFlib', '6.2.0'), + ('ASE', '3.22.0'), + ('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-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..d75c64e868c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.1.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.1.0' +local_pytorchver = '1.12.0' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)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'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('scikit-learn', '1.1.2'), + ('scikit-image', '0.19.3'), + ('numba', '0.56.4', '-CUDA-%(cudaver)s'), + ('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-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-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..0a2a7b1fd60 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,101 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.5.0' +local_pytorchver = '2.1.2' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)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': '2023a'} + +builddependencies = [ + ('PDM', '2.12.4'), + ('Parallel-Hashmap', '1.3.12'), # header only +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), + ('numba', '0.58.1'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), + ('RDFlib', '7.0.0'), + ('ASE', '3.22.1'), + ('YACS', '0.1.8'), + ('aiohttp', '3.8.5'), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '1.0.3', { + 'patches': ['plyfile-1.0.3_use_pdm_backend.patch'], + 'checksums': [ + {'plyfile-1.0.3.tar.gz': '0ecbe8e7ce55a7bbc6c9dea24242fffa0ab7d9bed33fbd5ad567ca013bcc5222'}, + {'plyfile-1.0.3_use_pdm_backend.patch': '815611863f16e785ef03a7992a0b99e433150212ff03559c7f6fce4e86d9e0a7'}, + ], + }), + ('torch_scatter', '2.1.2', { + 'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6f375dbc9cfe03f330aa29ea553e9c7432e9b040d039b041f08bf05df1a8bf37'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('torch_sparse', '0.6.18', { + 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum] and not test_spmm[dtype16-device16-add]"', # flaky + 'testinstall': True, + }), + ('torch_cluster', '1.6.3', { + 'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['0e2b08095e03cf87ce9b23b7a7352236a25d3ed92d92351dc020fd927ea8dbfe'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('torch_spline_conv', '1.2.2', { + 'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['258947394514ba487b2617268ae7102e9a06fd15d79f5d8239a96211a85adc3d'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('python-louvain', '0.16', { + 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + }), + ('torch_geometric', version, { + 'source_urls': ['https://github.com/pyg-team/pytorch_geometric/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f9abf00dc7fd1039ef1d9734a0fbd8c52196e39ca9fc4816afd98a8f311265be'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_edge_index.py' # many tests require PyTorch with MKL + ' --ignore=test/nn/models/test_graph_unet.py' # requires PyTorch with MKL + ' --ignore=test/nn/pool/test_asap.py' # requires PyTorch with MKL + ' --ignore=test/transforms/test_add_metapaths.py' # requires PyTorch with MKL + ' --ignore=test/transforms/test_two_hop.py' # requires PyTorch with MKL + ' --ignore=test/test_inspector.py' # test failing due to typing change + ' --ignore=test/nn/conv/test_hetero_conv.py' # unknown jit compilation issue + ' --ignore=test/nn/conv/test_sage_conv.py' # unknown jit compilation issue + ' -k "not test_multithreading_neighbor_loader" ' # picky about number of cores in the environment + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2.eb b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2.eb new file mode 100644 index 00000000000..9c8f282ccee --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/PyTorch-Geometric-2.5.0-foss-2023a-PyTorch-2.1.2.eb @@ -0,0 +1,100 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Geometric' +version = '2.5.0' +local_pytorchver = '2.1.2' +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': '2023a'} + +builddependencies = [ + ('PDM', '2.12.4'), + ('Parallel-Hashmap', '1.3.12'), # header only +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', local_pytorchver), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), + ('numba', '0.58.1'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), + ('RDFlib', '7.0.0'), + ('ASE', '3.22.1'), + ('YACS', '0.1.8'), + ('aiohttp', '3.8.5'), +] + +use_pip = True + +exts_list = [ + ('googledrivedownloader', '0.4', { + 'modulename': 'google_drive_downloader', + 'checksums': ['4b34c1337b2ff3bf2bd7581818efbdcaea7d50ffd484ccf80809688f5ca0e204'], + }), + ('plyfile', '1.0.3', { + 'patches': ['plyfile-1.0.3_use_pdm_backend.patch'], + 'checksums': [ + {'plyfile-1.0.3.tar.gz': '0ecbe8e7ce55a7bbc6c9dea24242fffa0ab7d9bed33fbd5ad567ca013bcc5222'}, + {'plyfile-1.0.3_use_pdm_backend.patch': '815611863f16e785ef03a7992a0b99e433150212ff03559c7f6fce4e86d9e0a7'}, + ], + }), + ('torch_scatter', '2.1.2', { + 'source_urls': ['https://github.com/rusty1s/pytorch_scatter/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6f375dbc9cfe03f330aa29ea553e9c7432e9b040d039b041f08bf05df1a8bf37'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('torch_sparse', '0.6.18', { + 'source_urls': ['https://github.com/rusty1s/pytorch_sparse/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['a9e194cddc17481001ac4592a058450493ce13780e8ce3eb54d4f79706e69c91'], + 'runtest': 'pytest -k "not test_spmm[dtype10-device10-sum] and not test_spmm[dtype16-device16-add]"', # flaky + 'testinstall': True, + }), + ('torch_cluster', '1.6.3', { + 'source_urls': ['https://github.com/rusty1s/pytorch_cluster/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['0e2b08095e03cf87ce9b23b7a7352236a25d3ed92d92351dc020fd927ea8dbfe'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('torch_spline_conv', '1.2.2', { + 'source_urls': ['https://github.com/rusty1s/pytorch_spline_conv/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['258947394514ba487b2617268ae7102e9a06fd15d79f5d8239a96211a85adc3d'], + 'runtest': 'pytest', + 'testinstall': True, + }), + ('python-louvain', '0.16', { + 'modulename': 'community.community_louvain', + 'checksums': ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'], + }), + ('torch_geometric', version, { + 'source_urls': ['https://github.com/pyg-team/pytorch_geometric/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f9abf00dc7fd1039ef1d9734a0fbd8c52196e39ca9fc4816afd98a8f311265be'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_edge_index.py' # many tests require PyTorch with MKL + ' --ignore=test/nn/models/test_graph_unet.py' # requires PyTorch with MKL + ' --ignore=test/nn/pool/test_asap.py' # requires PyTorch with MKL + ' --ignore=test/transforms/test_add_metapaths.py' # requires PyTorch with MKL + ' --ignore=test/transforms/test_two_hop.py' # requires PyTorch with MKL + ' --ignore=test/test_inspector.py' # test failing due to typing change + ' --ignore=test/nn/conv/test_hetero_conv.py' # unknown jit compilation issue + ' --ignore=test/nn/conv/test_sage_conv.py' # unknown jit compilation issue + ' -k "not test_multithreading_neighbor_loader" ' # picky about number of cores in the environment + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch b/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch new file mode 100644 index 00000000000..9028258f195 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Geometric/plyfile-1.0.3_use_pdm_backend.patch @@ -0,0 +1,15 @@ +pdm-pep517 changed name to pdm-backend with minor changes. +author: micketeer@gmail.com + +--- pyproject.toml.orig 2024-03-01 19:33:52.181523013 +0100 ++++ pyproject.toml 2024-03-01 19:45:38.960430755 +0100 +@@ -60,6 +60,6 @@ + + [build-system] + requires = [ +- "pdm-pep517>=1.0.0", ++ "pdm-backend", + ] +-build-backend = "pdm.pep517.api" ++build-backend = "pdm.backend" + diff --git a/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a486bf7403d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.12' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), +] + +exts_list = [ + ('pytorch-ignite', version, { + 'source_urls': ['https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s'], + 'sources': ['pytorch-ignite-%(version)s.tar.gz'], + 'checksums': ['063ca746aba413824d91b6fdc953118d54d1d25b972339dd8212a99c3a077423'], + 'modulename': 'ignite', + }), +] + +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a.eb new file mode 100644 index 00000000000..ef84f91c426 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.12-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.12' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), +] + +exts_list = [ + ('pytorch-ignite', version, { + 'source_urls': ['https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s'], + 'sources': ['pytorch-ignite-%(version)s.tar.gz'], + 'checksums': ['063ca746aba413824d91b6fdc953118d54d1d25b972339dd8212a99c3a077423'], + 'modulename': 'ignite', + }), +] + +use_pip = True + +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-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..7d26121c6cf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Ignite/PyTorch-Ignite-0.4.9-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Ignite' +version = '0.4.9' +versionsuffix = '-CUDA-%(cudaver)s' + +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': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), +] + +exts_list = [ + ('pytorch-ignite', version, { + 'modulename': 'ignite', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'checksums': ['eb9711012c6052e076beec5c47de55a3f861a0fae760c4de684e7971acf38964'], + }), +] + +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..bcc6dac2001 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = 'PyTorch-Image-Models' +version = '0.9.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://huggingface.co/docs/timm' +description = """PyTorch Image Models (timm) is a collection of image models, layers, utilities, +optimizers, schedulers, data-loaders / augmentations, and reference training / +validation scripts that aim to pull together a wide variety of SOTA models with +ability to reproduce ImageNet training results.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('torchvision', '0.13.1', versionsuffix), + ('Safetensors', '0.3.1', versionsuffix), + ('tqdm', '4.64.0'), # needed by huggingface-hub +] + +use_pip = True + +exts_list = [ + ('huggingface-hub', '0.15.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('timm', version, { + 'checksums': ['d0977cc5e02c69bda979fca8b52aa315a5f2cb64ebf8ad2c4631b1e452762c14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a.eb new file mode 100644 index 00000000000..385912e3d65 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Image-Models/PyTorch-Image-Models-0.9.2-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonBundle" + +name = 'PyTorch-Image-Models' +version = '0.9.2' + +homepage = 'https://huggingface.co/docs/timm' +description = """PyTorch Image Models (timm) is a collection of image models, layers, utilities, +optimizers, schedulers, data-loaders / augmentations, and reference training / +validation scripts that aim to pull together a wide variety of SOTA models with +ability to reproduce ImageNet training results.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('torchvision', '0.13.1'), + ('Safetensors', '0.3.1'), + ('tqdm', '4.64.0'), # needed by huggingface-hub +] + +use_pip = True + +exts_list = [ + ('huggingface-hub', '0.15.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('timm', version, { + 'checksums': ['d0977cc5e02c69bda979fca8b52aa315a5f2cb64ebf8ad2c4631b1e452762c14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..cf88ff010b2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.5.9' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), + ('tensorboard', '2.8.0'), +] + +# remove requirement for specific version of setuptools +local_preinstallopts = "sed -i 's/setuptools==.*/setuptools/g' requirements.txt && " +# loosen up strict version requirement for pyDeprecate +local_preinstallopts += "sed -i 's/pyDeprecate==/pyDeprecate>=/g' requirements.txt && " + +exts_list = [ + ('fsspec', '2022.1.0', { + 'checksums': ['0bdd519bbf4d8c9a1d893a50b5ebacc89acd0e1fe0045d2f7b0e0c1af5990edc'], + }), + ('pyDeprecate', '0.3.2', { + 'modulename': 'deprecate', + 'checksums': ['d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29'], + }), + ('torchmetrics', '0.7.0', { + 'checksums': ['dbfb8989086f38020045a935e83928504e1af1d84ae92b073f6a83d018f4bc00'], + }), + ('pytorch-lightning', version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['ccc544d198530d72af585fdae895cdaefe447ecd33b9663e31435dde2994d4ba'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a.eb new file mode 100644 index 00000000000..efb954c7280 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.5.9-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.5.9' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), + ('tensorboard', '2.8.0'), +] + +# remove requirement for specific version of setuptools +local_preinstallopts = "sed -i 's/setuptools==.*/setuptools/g' requirements.txt && " +# loosen up strict version requirement for pyDeprecate +local_preinstallopts += "sed -i 's/pyDeprecate==/pyDeprecate>=/g' requirements.txt && " + +exts_list = [ + ('fsspec', '2022.1.0', { + 'checksums': ['0bdd519bbf4d8c9a1d893a50b5ebacc89acd0e1fe0045d2f7b0e0c1af5990edc'], + }), + ('pyDeprecate', '0.3.2', { + 'modulename': 'deprecate', + 'checksums': ['d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29'], + }), + ('torchmetrics', '0.7.0', { + 'checksums': ['dbfb8989086f38020045a935e83928504e1af1d84ae92b073f6a83d018f4bc00'], + }), + ('pytorch-lightning', version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['ccc544d198530d72af585fdae895cdaefe447ecd33b9663e31435dde2994d4ba'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..5acbc803ac9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.7.7' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), + ('tensorboard', '2.10.0'), + ('typing-extensions', '4.3.0'), +] + +exts_list = [ + ('fsspec', '2022.8.2', { + 'checksums': ['7f12b90964a98a7e921d27fb36be536ea036b73bf3b724ac0b0bd7b8e39c7c18'], + }), + ('pyDeprecate', '0.3.2', { + 'modulename': 'deprecate', + 'checksums': ['d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a.eb new file mode 100644 index 00000000000..2ad23369cd6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.7.7-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.7.7' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('tensorboard', '2.10.0'), + ('typing-extensions', '4.3.0'), +] + +exts_list = [ + ('fsspec', '2022.8.2', { + 'checksums': ['7f12b90964a98a7e921d27fb36be536ea036b73bf3b724ac0b0bd7b8e39c7c18'], + }), + ('pyDeprecate', '0.3.2', { + 'modulename': 'deprecate', + 'checksums': ['d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['27c2dd01a18db2415168e3fa3775ccb5a1fa1e2961a50439ad9365507fe9d4ae'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..faf2e40814c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,123 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.3'), + ('BeautifulSoup', '4.10.0'), + ('deepdiff', '5.8.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), + ('tensorboardX', '2.5.1'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.5.1', { + 'checksums': ['63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('starlette', '0.19.1', { + 'checksums': ['c6d21096774ecb9639acad41b86b7706e52ba3bf1dc13ea4ed9ad593d47e24c7'], + }), + ('fastapi', '0.79.1', { + 'checksums': ['006862dec0f0f5683ac21fb0864af2ff12a931e7ba18920f28cc8eceed51896b'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('lightning_cloud', '0.5.12', { + 'checksums': ['5b0cf53ecfb512f9476eec3a7f425c0e174ca9d0e726673605d5e1e57074eb0c'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '1.3.0', { + 'checksums': ['8d3b509d4e6d235655f7dd495fcf0afc1bd86da84de3a8d434e6f82137ebcde8'], + }), + ('fsspec', '2022.7.1', { + 'checksums': ['7f9fb19d811b027b97c4636c6073eb53bc4cbee2d3c4b33fa88b9f26906fd7d7'], + }), + ('croniter', '1.3.8', { + 'checksums': ['32a5ec04e97ec0837bcdf013767abd2e71cceeefd3c2e14c804098ce51ad6cd9'], + }), + ('traitlets', '5.2.0', { + 'checksums': ['60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('lightning-utilities', '0.4.2', { + 'checksums': ['dc6696ab180117f7e97b5488dac1d77765ab891022f7521a97a39e10d362bdb8'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.3', { + 'checksums': ['1d920d0e9ab76ec5d42192a68d15af2562663b5dfbf4a67cf9eba520e1ca57e6'], + }), + ('inquirer', '2.10.1', { + 'checksums': ['e9876258183e24f6e8c44136b04f6f2e18dd6684aee59b86a8057c50601a6523'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.24.21', { + 'checksums': ['7e976cfd0a61601e74624ef8f5246b40a01f2cce73a011ef29cf80a6e371d0fa'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.3.4', { + 'checksums': ['6554ebea5764f66f4be544a4fcaa0953ee80e600dd7bd818ba4893d72bf12bfb'], + }), + ('s3fs', '2022.7.1', { + 'checksums': ['4883d682cb96b769fca568dbbcaa33ff457ac8077a03af221e6f253adac05771'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['c2771f966fc1b909cdfd1d603a87b8c84a3d5ff7aacf35b2c0260f697ec0c8be'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb new file mode 100644 index 00000000000..2a62146958f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-Lightning/PyTorch-Lightning-1.8.4-foss-2022a.eb @@ -0,0 +1,121 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-Lightning' +version = '1.8.4' + +homepage = 'https://pytorchlightning.ai' +description = "PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + # dependencies from requirements/app/base.txt + ('aiohttp', '3.8.3'), + ('BeautifulSoup', '4.10.0'), + ('deepdiff', '5.8.1'), + # dependencies from requirements/pytorch/base.txt + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('tensorboardX', '2.5.1'), +] + +use_pip = True + +# dependencies from requirements/app/base.txt and requirements/pytorch/base.txt +exts_list = [ + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.5.1', { + 'checksums': ['63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + ('starlette', '0.19.1', { + 'checksums': ['c6d21096774ecb9639acad41b86b7706e52ba3bf1dc13ea4ed9ad593d47e24c7'], + }), + ('fastapi', '0.79.1', { + 'checksums': ['006862dec0f0f5683ac21fb0864af2ff12a931e7ba18920f28cc8eceed51896b'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('anyio', '3.6.1', { + 'checksums': ['413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('lightning_cloud', '0.5.12', { + 'checksums': ['5b0cf53ecfb512f9476eec3a7f425c0e174ca9d0e726673605d5e1e57074eb0c'], + }), + ('itsdangerous', '2.1.2', { + 'checksums': ['5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a'], + }), + ('starsessions', '1.3.0', { + 'checksums': ['8d3b509d4e6d235655f7dd495fcf0afc1bd86da84de3a8d434e6f82137ebcde8'], + }), + ('fsspec', '2022.7.1', { + 'checksums': ['7f9fb19d811b027b97c4636c6073eb53bc4cbee2d3c4b33fa88b9f26906fd7d7'], + }), + ('croniter', '1.3.8', { + 'checksums': ['32a5ec04e97ec0837bcdf013767abd2e71cceeefd3c2e14c804098ce51ad6cd9'], + }), + ('traitlets', '5.2.0', { + 'checksums': ['60474f39bf1d39a11e0233090b99af3acee93bbc2281777e61dd8c87da8a0014'], + }), + ('arrow', '1.2.3', { + 'checksums': ['3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1'], + }), + ('lightning-utilities', '0.4.2', { + 'checksums': ['dc6696ab180117f7e97b5488dac1d77765ab891022f7521a97a39e10d362bdb8'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('python-editor', '1.0.4', { + 'modulename': 'editor', + 'checksums': ['51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b'], + }), + ('readchar', '4.0.3', { + 'checksums': ['1d920d0e9ab76ec5d42192a68d15af2562663b5dfbf4a67cf9eba520e1ca57e6'], + }), + ('inquirer', '2.10.1', { + 'checksums': ['e9876258183e24f6e8c44136b04f6f2e18dd6684aee59b86a8057c50601a6523'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('botocore', '1.24.21', { + 'checksums': ['7e976cfd0a61601e74624ef8f5246b40a01f2cce73a011ef29cf80a6e371d0fa'], + }), + ('aioitertools', '0.11.0', { + 'checksums': ['42c68b8dd3a69c2bf7f2233bf7df4bb58b557bca5252ac02ed5187bbc67d6831'], + }), + ('aiobotocore', '2.3.4', { + 'checksums': ['6554ebea5764f66f4be544a4fcaa0953ee80e600dd7bd818ba4893d72bf12bfb'], + }), + ('s3fs', '2022.7.1', { + 'checksums': ['4883d682cb96b769fca568dbbcaa33ff457ac8077a03af221e6f253adac05771'], + }), + ('torchmetrics', '0.9.3', { + 'checksums': ['4ebfd2466021db26397636966ee1a195d3b340ba5d71bb258e764340dfc2476f'], + }), + ('pytorch-lightning', version, { + 'checksums': ['c2771f966fc1b909cdfd1d603a87b8c84a3d5ff7aacf35b2c0260f697ec0c8be'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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-bundle/PyTorch-bundle-1.12.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-1.12.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..17069b4ee78 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-1.12.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('RE2', '2022-06-01'), # for torchtext +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', version, versionsuffix), + ('Pillow-SIMD', '9.2.0'), # for torchvision + ('SentencePiece', '0.1.97'), # for torchtext + ('tqdm', '4.64.0'), # for torchtext + ('double-conversion', '3.2.0'), # for torchtext + ('utf8proc', '2.7.0'), # for torchtext + ('tensorboard', '2.10.0'), # for torch-tb-profiler +] + +use_pip = True + +exts_list = [ + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('torchdata', '0.4.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['71c0aa3aca3b04a986a2cd4cc2e0be114984ca836dc4def2c700bf1bd1ff087e'], + }), + ('torchtext', '0.13.1', { + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': [ + 'torchtext-0.13.1_use-system-libs.patch', + 'torchtext-0.13.1_cxx_17.patch', + ], + 'checksums': [ + {'torchtext-0.13.1.tar.gz': '1f7de1fd8c6303ea13ef2aed48a6df67df5f92d1c4a6918253be7decd93753be'}, + {'torchtext-0.13.1_use-system-libs.patch': + '3e2f170a2870ac274f452b53862f65e5e94f6da1c3af488aeb3001e0500cb0e5'}, + {'torchtext-0.13.1_cxx_17.patch': 'fd242c139baa27352d1065cece4658a3ede76f46ffec08ac04a554301e547f22'}, + ], + }), + ('torchvision', '0.13.1', { + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['c32fab734e62c7744dadeb82f7510ff58cc3bca1189d17b16aa99b08afc42249'], + }), + ('pytorch-ignite', '0.4.11', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['33e7485cea3cac08d7a49a3a01d3013e1156128867602bff0a8e32b2c5ebd4e9'], + }), + ('torch-tb-profiler', '0.4.1', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['f2c7fb27d420be443ffde50ada655c19f76a245d21e7772de753196fd0967685'], + }), + # torchaudio-0.12.1 needs more work before it can be added +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-1.13.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-1.13.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9daa4dfb672 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-1.13.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('RE2', '2022-06-01'), # for torchtext +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', version, versionsuffix), + ('Pillow-SIMD', '9.2.0'), # for torchvision + ('SentencePiece', '0.1.97'), # for torchtext + ('tqdm', '4.64.0'), # for torchtext + ('double-conversion', '3.2.0'), # for torchtext + ('utf8proc', '2.7.0'), # for torchtext + ('tensorboard', '2.10.0'), # for torch-tb-profiler +] + +use_pip = True + +exts_list = [ + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('torchdata', '0.5.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['69d80bd33ce8f08e7cfeeb71cefddfc29cede25a85881e33dbae47576b96ed29'], + }), + ('torchtext', '0.14.1', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.13.1_cxx_17.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.14.1.tar.gz': 'fd1ef3da7d9c20408c740f7dc7d02ad52a6048b46368355a1a7326d3bc4f2e63'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.13.1_cxx_17.patch': 'fd242c139baa27352d1065cece4658a3ede76f46ffec08ac04a554301e547f22'}, + ], + }), + ('torchvision', '0.14.1', { + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ced67e1cf1f97e168cdf271851a4d0b6d382ab7936e7bcbb39aaa87239c324b6'], + }), + ('pytorch-ignite', '0.4.12', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['7d10fd40edc568bbda687151bb5b53b0d59a980cd6c25ec2b061e7f234aeab76'], + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..d7e1c6cc2e0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,186 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext + ('parameterized', '0.9.0'), # for torchtext and torchaudio tests + ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests + ('scikit-image', '0.22.0'), # for pytorch-ignite tests + ('dill', '0.3.7'), # for pytorch-ignite tests + ('matplotlib', '3.7.2'), # for pytorch-ignite tests + ('librosa', '0.10.1'), # for torchaudio tests + ('NLTK', '3.8.1'), # for torchtext tests + ('Scalene', '1.5.26'), # for pynvml in ignite tests +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', version, versionsuffix), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('libjpeg-turbo', '2.1.5.1'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler + ('FFmpeg', '6.0'), # for torchvision and torchaudio + ('SoX', '14.4.2'), # for torchaudio +] + +use_pip = True + +# Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': False, # circular test requirements + }), + ('torchtext', '0.16.2', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.16.2_download-to-project-root.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.16.2_download-to-project-root.patch': + '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, + ], + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + '" and not test_download_charngram_vectors"' # requires internet access and required host may fail + '" and not test_download_glove_vectors"' # requires internet access and required host may fail + '" and not test_vectors_get_vecs"' # requires internet access and required host may fail + ), + 'testinstall': True, + }), + ('pytest-mock', '3.11.1', { # for torchvision tests + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('torchvision', '0.16.2', { + 'installopts': '-v', + 'patches': [ + 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', + 'torchvision-0.16.2_quantized_tol.patch', + ], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + {'torchvision-0.16.2_quantized_tol.patch': + '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, + ], + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + ), + 'testinstall': True, + }), + ('torchaudio', version, { + 'installopts': "--no-use-pep517 -v", + 'patches': [ + 'torchaudio-2.1.2_use-external-sox.patch', + 'torchaudio-2.1.2_transform_test_tol.patch', + ], + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall + ' USE_CUDA=1 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + 'source_urls': ['https://github.com/pytorch/audio/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, + {'torchaudio-2.1.2_use-external-sox.patch': + 'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'}, + {'torchaudio-2.1.2_transform_test_tol.patch': + '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, + ], + 'runtest': ( + 'pytest test/torchaudio_unittest/' + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support + '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_dup_hw_acel"' # requires special render device permissions + '" and not test_h264_cuvid"' # requires special render device permissions + '" and not test_hevc_cuvid"' # requires special render device permissions + ), + 'testinstall': True, + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], + 'checksums': [ + {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'}, + {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch': + 'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'}, + ], + 'runtest': ( + 'pytest' + ' -m "not distributed"' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow + ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune + ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon + ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX + ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom + ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge + ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms + ' -k "not test_setup_visdom_logging"' # requires visdom + '" and not test_setup_plx_logging"' # requires polyaxon + '" and not test_setup_mlflow_logging"' # requires mlflow + '" and not test_setup_clearml_logging"' # requires clearml + '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes + '" and not test_inception_score"' # fails sometimes due to connection problem with download.pytorch.org + ), + 'testinstall': True, + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + ' -k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and not test_autograd_api"' # fails + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb new file mode 100644 index 00000000000..4c8d8ef847a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/PyTorch-bundle-2.1.2-foss-2023a.eb @@ -0,0 +1,183 @@ +easyblock = 'PythonBundle' + +name = 'PyTorch-bundle' +version = '2.1.2' + +homepage = 'https://pytorch.org/' +description = """PyTorch with compatible versions of official Torch extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('RE2', '2023-08-01'), # for torchtext + ('parameterized', '0.9.0'), # for torchtext and torchaudio tests + ('scikit-learn', '1.3.1'), # for torchaudio and pytorch-ignite tests + ('scikit-image', '0.22.0'), # for pytorch-ignite tests + ('dill', '0.3.7'), # for pytorch-ignite tests + ('matplotlib', '3.7.2'), # for pytorch-ignite tests + ('librosa', '0.10.1'), # for torchaudio tests + ('NLTK', '3.8.1'), # for torchtext tests + ('Scalene', '1.5.26'), # for pynvml in ignite tests +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyTorch', version), + ('Pillow-SIMD', '9.5.0'), # for torchvision + ('libjpeg-turbo', '2.1.5.1'), # for torchvision + ('SentencePiece', '0.2.0'), # for torchtext + ('tqdm', '4.66.1'), # for torchtext + ('double-conversion', '3.3.0'), # for torchtext + ('utf8proc', '2.8.0'), # for torchtext + ('tensorboard', '2.15.1'), # for torch-tb-profiler + ('FFmpeg', '6.0'), # for torchvision and torchaudio + ('SoX', '14.4.2'), # for torchaudio +] + +use_pip = True + +# Check with https://pytorch.org/audio/stable/installation.html#compatibility-matrix +exts_list = [ + ('portalocker', '2.8.2', { + 'checksums': ['2b035aa7828e46c58e9b31390ee1f169b98e1066ab10b9a6a861fe7e25ee4f33'], + }), + ('torchdata', '0.7.1', { + 'preinstallopts': "USE_SYSTEM_LIBS=1 ", + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ef9bbdcee759b53c3c9d99e76eb0a66da33d36bfb7f859a25a9b5e737a51fa23'], + 'runtest': False, # circular test requirements + }), + ('torchtext', '0.16.2', { + 'patches': [ + 'torchtext-0.14.1_use-system-libs.patch', + 'torchtext-0.16.2_download-to-project-root.patch', + ], + 'source_urls': ['https://github.com/pytorch/text/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchtext-0.16.2.tar.gz': '6574b012804f65220329a2ad34a95c18e4df0d4cff2f862fb7862d57b374b013'}, + {'torchtext-0.14.1_use-system-libs.patch': + '1366d10c4755b6003194f7313ca11d165a80a13d325bee9d669ea2b333d82536'}, + {'torchtext-0.16.2_download-to-project-root.patch': + '9d5599a9983729cf1fc7ab2a2f65d1887f223f528e15662ba1b4a5e359c9686d'}, + ], + 'runtest': ( + 'pytest test/torchtext_unittest' + ' -k "not test_vocab_from_raw_text_file"' # segfaults + '" and not test_get_tokenizer_moses"' # requires sacremoses + '" and not test_get_tokenizer_spacy"' # requires spaCy + '" and not test_download_charngram_vectors"' # requires internet access and required host may fail + ), + 'testinstall': True, + }), + ('pytest-mock', '3.11.1', { # for torchvision tests + 'checksums': ['7f6b125602ac6d743e523ae0bfa71e1a697a2f5534064528c6ff84c2f7c2fc7f'], + }), + ('torchvision', '0.16.2', { + 'installopts': '-v', + 'patches': [ + 'torchvision-0.16.2_ffmpeg-6.0-fix.patch', + 'torchvision-0.16.2_quantized_tol.patch', + ], + 'source_urls': ['https://github.com/pytorch/vision/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchvision-0.16.2.tar.gz': '8c1f2951e98d8ada6e5a468f179af4be9f56d2ebc3ab057af873da61669806d7'}, + {'torchvision-0.16.2_ffmpeg-6.0-fix.patch': + 'a49336e7bfa1c950e886852bff37a3ea2146ac7bda87241e3ffb31c5cb869cce'}, + {'torchvision-0.16.2_quantized_tol.patch': + '457cdf8ad6653838c552890bce95dbe30b7573b1643334284f5f4a58f74f6e40'}, + ], + 'runtest': ( + 'pytest' + ' -m "not xfail"' # don't run tests that are expected that they might fail + ' -k "not test_frame_reading_mem_vs_file"' # this one hangs + '" and not test_antialias_default_warning"' # flaky test which is removed in later versions + ), + 'testinstall': True, + }), + ('torchaudio', version, { + 'installopts': "--no-use-pep517 -v", + 'patches': [ + 'torchaudio-2.1.2_use-external-sox.patch', + 'torchaudio-2.1.2_transform_test_tol.patch', + ], + 'preinstallopts': ('rm -r third_party/{sox,ffmpeg/multi};' # runs twice when testinstall + ' USE_CUDA=0 USE_OPENMP=1 USE_FFMPEG=1 FFMPEG_ROOT="$EBROOTFFMPEG"'), + 'source_urls': ['https://github.com/pytorch/audio/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'torchaudio-2.1.2.tar.gz': '82c2745a73172b495327ec36c6970ad5ad9d5d2ac44feeaea2617152f9393bf7'}, + {'torchaudio-2.1.2_use-external-sox.patch': + 'a93ebe0b4e7b10b0a264a09d5c49375674e24666258820738ede07e5b457010c'}, + {'torchaudio-2.1.2_transform_test_tol.patch': + '57f315c60db70ed2bd9711bcf6f7c7c24dac8c2f04e00488996eb2dc507bdfd2'}, + ], + 'runtest': ( + 'pytest test/torchaudio_unittest/' + ' -k "not TestProcessPoolExecutor"' # hang maybe related https://github.com/pytorch/audio/issues/1021 + '" and not FilterGraphWithCudaAccel"' # requires FFmpeg with CUDA support + '" and not kaldi_io_test"' # requires kaldi_io + '" and not test_dup_hw_acel"' # requires special render device permissions + '" and not test_h264_cuvid"' # requires special render device permissions + '" and not test_hevc_cuvid"' # requires special render device permissions + ), + 'testinstall': True, + }), + ('pytorch-ignite', '0.4.13', { + 'modulename': 'ignite', + 'source_urls': ['https://github.com/pytorch/ignite/archive'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'patches': ['torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch'], + 'checksums': [ + {'pytorch-ignite-0.4.13.tar.gz': 'bfe4b6f1cd96e78c021a65a0c51350cdb89d6ef5a8b9609638666ca95bae51d7'}, + {'torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch': + 'fd5dfe99f4c8804d6c57e4d9140d9e556e0724b379f9eaae8aeaf1b7bd058686'}, + ], + 'runtest': ( + 'pytest' + ' -m "not distributed"' + ' --ignore=tests/ignite/contrib/handlers/test_clearml_logger.py' # requires clearml + ' --ignore=tests/ignite/contrib/handlers/test_mlflow_logger.py' # requires mlflow + ' --ignore=tests/ignite/contrib/handlers/test_neptune_logger.py' # requires neptune + ' --ignore=tests/ignite/contrib/handlers/test_polyaxon_logger.py' # requires polyaxon + ' --ignore=tests/ignite/contrib/handlers/test_tensorboard_logger.py' # requires tensorboardX + ' --ignore=tests/ignite/contrib/handlers/test_visdom_logger.py' # requires visdom + ' --ignore=tests/ignite/contrib/handlers/test_wandb_logger.py' # requires wandb + ' --ignore=tests/ignite/metrics/gan/test_fid.py' # requires pytorch_fid + ' --ignore=tests/ignite/metrics/nlp/test_rouge.py' # requires rouge + ' --ignore=tests/ignite/handlers/test_checkpoint.py' # fails by comparing tensors on different devices + ' --ignore=tests/ignite/contrib/handlers/test_tqdm_logger.py' # fragile tests on some platforms + ' -k "not test_setup_visdom_logging"' # requires visdom + '" and not test_setup_plx_logging"' # requires polyaxon + '" and not test_setup_mlflow_logging"' # requires mlflow + '" and not test_setup_clearml_logging"' # requires clearml + '" and not test_setup_neptune_logging"' # requires neptune + '" and not test__setup_ddp_vars_from_slurm_env_bad_configs"' # fails sometimes + '" and not test__native_dist_model_create_from_backend_bad_config"' # fails sometimes + '" and not test_inception_score"' # fails sometimes due to connection problem with download.pytorch.org + ), + 'testinstall': True, + }), + ('torch-tb-profiler', '0.4.3', { + 'modulename': 'torch.profiler', + 'sources': ['torch_tb_profiler-%(version)s.tar.gz'], + 'checksums': ['8b8d29b2de960b3c4423087b23cec29beaf9ac3a8c7b046c18fd25b218f726b1'], + 'runtest': ( + 'pytest' + ' --ignore=test/test_tensorboard_end2end.py' # timeouts + ' -k "not test_dump_gpu_metrics"' # missing file + '" and not test_profiler_api_with_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_record_shapes_memory_stack"' # fails + '" and not test_profiler_api_without_step"' # fails + '" and not test_autograd_api"' # fails + ), + 'testinstall': True, + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch new file mode 100644 index 00000000000..e00f242d24c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torch-ignite-0.4.13_dont_destroy_python_path_in_test_launcher.patch @@ -0,0 +1,15 @@ +Don't destroy PYTHONPATH when launching subprocesses + +Åke Sandgren, 2024-04-09 +diff -ru ignite-0.4.13.orig/tests/ignite/distributed/test_launcher.py ignite-0.4.13/tests/ignite/distributed/test_launcher.py +--- ignite-0.4.13.orig/tests/ignite/distributed/test_launcher.py 2023-10-18 09:31:33.000000000 +0200 ++++ ignite-0.4.13/tests/ignite/distributed/test_launcher.py 2024-04-09 14:24:37.233741947 +0200 +@@ -45,7 +45,7 @@ + import ignite + + env = dict(os.environ) if env is None else env +- env["PYTHONPATH"] = f"{os.path.dirname(ignite.__path__[0])}" ++ #env["PYTHONPATH"] = f"{os.path.dirname(ignite.__path__[0])}" + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env) + process.wait() + if process.returncode != 0: diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch new file mode 100644 index 00000000000..230a7e6ccd0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_transform_test_tol.patch @@ -0,0 +1,32 @@ +Increase the atol and rtol for tests that fail with some elements exceeding +the default tolerances. +author: micketeer@gmail.com +--- test/torchaudio_unittest/transforms/batch_consistency_test.py.orig 2024-04-10 14:25:17.918305411 +0000 ++++ test/torchaudio_unittest/transforms/batch_consistency_test.py 2024-04-10 14:25:17.146306690 +0000 +@@ -91,7 +91,7 @@ + waveform = waveform.reshape(3, 2, -1) + transform = T.Spectrogram() + +- self.assert_batch_consistency(transform, waveform) ++ self.assert_batch_consistency(transform, waveform, atol=1e-7, rtol=1e-4) + + def test_batch_inverse_spectrogram(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) +@@ -99,7 +99,7 @@ + specgram = specgram.reshape(3, 2, specgram.shape[-2], specgram.shape[-1]) + transform = T.InverseSpectrogram(n_fft=400) + +- self.assert_batch_consistency(transform, specgram) ++ self.assert_batch_consistency(transform, specgram, atol=1e-7, rtol=1e-3) + + def test_batch_melspectrogram(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) +@@ -164,7 +164,7 @@ + waveform = waveform.reshape(3, 2, -1) + transform = T.PitchShift(sample_rate, n_steps, n_fft=400) + +- self.assert_batch_consistency(transform, waveform) ++ self.assert_batch_consistency(transform, waveform, atol=1e-5, rtol=1e-3) + + def test_batch_PSD(self): + waveform = common_utils.get_whitenoise(sample_rate=8000, duration=1, n_channels=6) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch new file mode 100644 index 00000000000..3b7e88f6e86 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchaudio-2.1.2_use-external-sox.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +use external Sox library instead of fetching and building at build time +--- CMakeLists.txt.orig 2024-04-10 22:50:03.376931244 +0000 ++++ CMakeLists.txt 2024-04-10 22:51:00.861834095 +0000 +@@ -167,7 +167,7 @@ + + add_subdirectory(torchaudio/csrc) + if (BUILD_SOX) +- add_subdirectory(third_party/sox) ++ # add_subdirectory(third_party/sox) + add_subdirectory(torchaudio/csrc/sox) + endif() + if (USE_FFMPEG) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_cxx_17.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_cxx_17.patch new file mode 100644 index 00000000000..c980e7c2ebf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_cxx_17.patch @@ -0,0 +1,19 @@ +The error "string_view has not been declared in std" appears when not using C++17 +Split from "deps_fix" patch from torchtext +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ead15d46..879118c60 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,10 +24,10 @@ string(FIND "${CMAKE_CXX_FLAGS}" "-std=c++" env_cxx_standard) + if(env_cxx_standard GREATER -1) + message( + WARNING "C++ standard version definition detected in environment variable." +- "PyTorch requires -std=c++14. Please remove -std=c++ settings in your environment.") ++ "PyTorch requires -std=c++17. Please remove -std=c++ settings in your environment.") + endif() + +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_C_STANDARD 11) + + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_use-system-libs.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_use-system-libs.patch new file mode 100644 index 00000000000..d0902da8c9e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.13.1_use-system-libs.patch @@ -0,0 +1,67 @@ +Use external deps for third party libraries +Split from "deps_fix" patch from torchtext +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ead15d46..21f85e555 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,5 +63,9 @@ endif() + # TORCH_CXX_FLAGS contains the same -D_GLIBCXX_USE_CXX11_ABI value as PyTorch + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ${TORCH_CXX_FLAGS}") + +-add_subdirectory(third_party) ++find_package(double-conversion) ++find_package(re2) ++find_library(SENTENCEPIECE_LIBRARY sentencepiece PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(SENTENCEPIECE_TRAIN_LIBRARY sentencepiece_train PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(UTF8PROC_LIBRARY utf8proc PATHS $ENV{UTF8PROC}/lib64) + add_subdirectory(torchtext/csrc) +diff --git a/packaging/build_wheel.sh b/packaging/build_wheel.sh +index 9882cb1b2..43e2a05d8 100755 +--- a/packaging/build_wheel.sh ++++ b/packaging/build_wheel.sh +@@ -10,7 +10,6 @@ setup_env + setup_wheel_python + pip_install numpy future cmake>=3.18.0 ninja + setup_pip_pytorch_version +-git submodule update --init --recursive + python setup.py clean + if [[ "$OSTYPE" == "msys" ]]; then + "$script_dir/vc_env_helper.bat" python setup.py bdist_wheel +diff --git a/setup.py b/setup.py +index 080415f7e..bd84405be 100644 +--- a/setup.py ++++ b/setup.py +@@ -68,7 +68,6 @@ class clean(distutils.command.clean.clean): + # Remove build directory + build_dirs = [ + ROOT_DIR / "build", +- ROOT_DIR / "third_party" / "build", + ] + for path in build_dirs: + if path.exists(): +diff --git a/torchtext/csrc/CMakeLists.txt b/torchtext/csrc/CMakeLists.txt +index 037f814dc..658b90342 100644 +--- a/torchtext/csrc/CMakeLists.txt ++++ b/torchtext/csrc/CMakeLists.txt +@@ -24,10 +24,6 @@ set( + set( + LIBTORCHTEXT_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) +@@ -123,10 +119,6 @@ if (BUILD_TORCHTEXT_PYTHON_EXTENSION) + set( + EXTENSION_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.14.1_use-system-libs.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.14.1_use-system-libs.patch new file mode 100644 index 00000000000..a071b8f51f8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.14.1_use-system-libs.patch @@ -0,0 +1,75 @@ +Use external deps for third party libraries +Split from "deps_fix" patch from torchtext +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ead15d46..21f85e555 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,5 +63,9 @@ endif() + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_COMPILED_WITH_CXX_ABI} -Wall ${TORCH_CXX_FLAGS}") + +-add_subdirectory(third_party) ++find_package(double-conversion) ++find_package(re2) ++find_library(SENTENCEPIECE_LIBRARY sentencepiece PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(SENTENCEPIECE_TRAIN_LIBRARY sentencepiece_train PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(UTF8PROC_LIBRARY utf8proc PATHS $ENV{UTF8PROC}/lib64) + add_subdirectory(torchtext/csrc) +diff --git a/packaging/build_wheel.sh b/packaging/build_wheel.sh +index 9882cb1b2..43e2a05d8 100755 +--- a/packaging/build_wheel.sh ++++ b/packaging/build_wheel.sh +@@ -10,7 +10,6 @@ setup_env + setup_wheel_python + pip_install numpy future cmake>=3.18.0 ninja + setup_pip_pytorch_version +-git submodule update --init --recursive + python setup.py clean + if [[ "$OSTYPE" == "msys" ]]; then + "$script_dir/vc_env_helper.bat" python setup.py bdist_wheel +diff --git a/setup.py b/setup.py +index 080415f7e..bd84405be 100644 +--- a/setup.py ++++ b/setup.py +@@ -81,7 +81,6 @@ class clean(distutils.command.clean.clean): + # Remove build directory + build_dirs = [ + ROOT_DIR / "build", +- ROOT_DIR / "third_party" / "build", + ] + for path in build_dirs: + if path.exists(): +@@ -89,7 +88,6 @@ + shutil.rmtree(str(path), ignore_errors=True) + + +-_init_submodule() + setup_info = dict( + # Metadata + name="torchtext", +diff --git a/torchtext/csrc/CMakeLists.txt b/torchtext/csrc/CMakeLists.txt +index 037f814dc..658b90342 100644 +--- a/torchtext/csrc/CMakeLists.txt ++++ b/torchtext/csrc/CMakeLists.txt +@@ -18,10 +18,6 @@ set( + set( + LIBTORCHTEXT_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) +@@ -119,10 +115,6 @@ if (BUILD_TORCHTEXT_PYTHON_EXTENSION) + set( + EXTENSION_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch new file mode 100644 index 00000000000..93652c3235c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchtext-0.16.2_download-to-project-root.patch @@ -0,0 +1,35 @@ +TorchtextTestCase sets project root to test dir instead of project root. This +patch makes sure the download ends up in the right place. + +Author: Viktor Rehnberg, vikren@chalmers.se (Chalmers University of Technology) + + +--- text-0.16.2.old/test/torchtext_unittest/prototype/test_with_asset.py 2024-03-19 13:26:46.094164142 +0000 ++++ text-0.16.2/test/torchtext_unittest/prototype/test_with_asset.py 2024-03-19 13:22:25.481657690 +0000 +@@ -201,7 +201,7 @@ + self.assertEqual(dict(v2.get_stoi()), expected_stoi) + + def test_builtin_pretrained_sentencepiece_processor(self) -> None: +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_unigram_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_unigram_25000"], root=os.path.join(self.project_root, ".data")) + spm_tokenizer = sentencepiece_tokenizer(sp_model_path) + _path = os.path.join(self.project_root, ".data", "text_unigram_25000.model") + os.remove(_path) +@@ -209,7 +209,7 @@ + ref_results = ["\u2581the", "\u2581pre", "trained", "\u2581sp", "m", "\u2581model", "\u2581names"] + self.assertEqual(spm_tokenizer(test_sample), ref_results) + +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"], root=os.path.join(self.project_root, ".data")) + spm_transform = sentencepiece_processor(sp_model_path) + _path = os.path.join(self.project_root, ".data", "text_bpe_25000.model") + os.remove(_path) +@@ -223,7 +223,7 @@ + example_strings = ["the pretrained spm model names"] * 64 + ref_results = torch.tensor([[13, 1465, 12824, 304, 24935, 5771, 3776]] * 16, dtype=torch.long) + +- sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"]) ++ sp_model_path = download_from_url(PRETRAINED_SP_MODEL["text_bpe_25000"], root=os.path.join(self.project_root, ".data")) + spm_processor = sentencepiece_processor(sp_model_path) + batch_fn = partial(_batch_func, spm_processor) + diff --git a/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.patch new file mode 100644 index 00000000000..7a3637f3adc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_ffmpeg-6.0-fix.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/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch new file mode 100644 index 00000000000..844a0b29da8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch-bundle/torchvision-0.16.2_quantized_tol.patch @@ -0,0 +1,15 @@ +Increase the toleances for quantized model that failed tests +The absolute error just barely exceed the default 0.02, but given the small numbers +the relative tolerance is high, thus the relative high tolerance of 0.5 +author: micketeer@gmail.com +--- test/test_models.py.orig 2024-03-21 10:54:03.467723691 +0000 ++++ test/test_models.py 2024-03-21 10:53:49.857749169 +0000 +@@ -987,7 +987,7 @@ + out = model(x) + + if model_name not in quantized_flaky_models: +- _assert_expected(out.cpu(), model_name + "_quantized", prec=2e-2) ++ _assert_expected(out.cpu(), model_name + "_quantized", prec=5e-1) + assert out.shape[-1] == 5 + _check_jit_scriptable(model, (x,), unwrapper=script_model_unwrapper.get(model_name, None), eager_out=out) + _check_fx_compatible(model, x, eager_out=out) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..33304aa7d22 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,149 @@ +name = 'PyTorch' +version = '1.10.0' +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': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', + 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', + 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', + 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', + 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', + 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', + 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', + 'PyTorch-1.10.0_skip_cmake_rpath.patch', + 'PyTorch-1.10.0_skip_failing_ops_tests.patch', + 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', +] +checksums = [ + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch + 'd4d967d47f8a6172fcbf57f0a61835482968850967c4fdb01108b720696a988d', + '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch + # PyTorch-1.8.1_increase-distributed-test-timeout.patch + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', + # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch + 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', + # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch + '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', + # PyTorch-1.10.0_fix-test-cond-cpu.patch + '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vnni-detection.patch + '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', + # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch + 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', + # PyTorch-1.10.0_skip_cmake_rpath.patch + 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', + # PyTorch-1.10.0_skip_failing_ops_tests.patch + '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', + # PyTorch-1.10.0_skip_nan_tests_openblas.patch + '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + # 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + # 'distributed/rpc/test_process_group_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check can be taken out once the TestRPATH test from https://github.com/pytorch/pytorch/pull/68912 +# 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 = [ + "python -c 'import caffe2.python'", + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb new file mode 100644 index 00000000000..208a35c065a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-foss-2021a.eb @@ -0,0 +1,133 @@ +name = 'PyTorch' +version = '1.10.0' + +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': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', + 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', + 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', + 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', + 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', + 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', + 'PyTorch-1.10.0_skip_failing_ops_tests.patch', + 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', +] +checksums = [ + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch + 'd4d967d47f8a6172fcbf57f0a61835482968850967c4fdb01108b720696a988d', + # PyTorch-1.8.1_increase-distributed-test-timeout.patch + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', + # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch + 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', + # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch + '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', + # PyTorch-1.10.0_fix-test-cond-cpu.patch + '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vnni-detection.patch + '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', + # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch + 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', + # PyTorch-1.10.0_skip_failing_ops_tests.patch + '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', + # PyTorch-1.10.0_skip_nan_tests_openblas.patch + '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + # 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + # 'distributed/rpc/test_process_group_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +sanity_check_commands = ["python -c 'import caffe2.python'"] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..ffbf98f586c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0-fosscuda-2020b.eb @@ -0,0 +1,147 @@ +name = 'PyTorch' +version = '1.10.0' + +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': 'fosscuda', 'version': '2020b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', + 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', + 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', + 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', + 'PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch', + 'PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch', + 'PyTorch-1.10.0_fix-faulty-asserts.patch', + 'PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-missing-VSX-dispatch.patch', + 'PyTorch-1.10.0_fix-test-cond-cpu.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vnni-detection.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', + 'PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch', + 'PyTorch-1.10.0_remove-vec-dump-functions.patch', + 'PyTorch-1.10.0_skip_cmake_rpath.patch', + 'PyTorch-1.10.0_skip_failing_ops_tests.patch', + 'PyTorch-1.10.0_skip_nan_tests_openblas.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', +] +checksums = [ + '1970225700d1f9791eb553855ad3c22e7c9fd69cff2765d532506b33e449831e', # pytorch-v1.10.0.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch + 'd4d967d47f8a6172fcbf57f0a61835482968850967c4fdb01108b720696a988d', + '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch + # PyTorch-1.8.1_increase-distributed-test-timeout.patch + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', + # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch + 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', + # PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch + '0c8bf4b284c5c2cb4d175645d44bed674cca5218de741a8ea698cef2884a86da', + # PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch + '426c9ead1a74b656748d4c8bf8afd4303d8b9f2394ad22b21a845d07c8ca1d12', + # PyTorch-1.10.0_fix-faulty-asserts.patch + '44d2bb998ec3b3b65659f3327894745888a58f957a191cb524b4003018db51a2', + # PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch + 'dfc09c2e787e757191a0ebf68ace46e2a90d71263ba84e2ee764b596d2ee6769', + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-missing-VSX-dispatch.patch + '29368e69e98cb16659a2043b7a0df0411c99bc57a70405f8b5300f68c25f3ee9', + # PyTorch-1.10.0_fix-test-cond-cpu.patch + '51f83f5d5ef69656ef35b73f17e0671e70113798421be11ea4c7b56ffcc4da03', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vnni-detection.patch + '1f3664c0febfa2a3fc4c0cd3bae185f289716ac0b6c3d7e8fa1cee19ba62b7cc', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', + # PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch + 'e65afb01786f7f030ccb5faada1eb474bb0c418bcadcf1baaa71a4fa2f3f4240', + # PyTorch-1.10.0_remove-vec-dump-functions.patch + '5e796c83f74e77aa193fef2720a7a41e3e0eb39df726a6f0a2a1c55d37d8fcc8', + # PyTorch-1.10.0_skip_cmake_rpath.patch + 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', + # PyTorch-1.10.0_skip_failing_ops_tests.patch + '399af94ffcef4a6db5226552c46f11e9b0f0f371b2d7924b9e5764d2281581ab', + # PyTorch-1.10.0_skip_nan_tests_openblas.patch + '7d3f83e3056d9e47a460790313238f28708beb596cafaa7ae55e374d368bbedf', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), # Needs 3.20 or newer. + ('hypothesis', '5.41.5'), +] + +dependencies = [ + ('Ninja', '1.10.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.8.6'), + ('protobuf', '3.14.0'), + ('protobuf-python', '3.14.0'), + ('pybind11', '2.6.0'), + ('SciPy-bundle', '2020.11'), + ('typing-extensions', '3.7.4.3'), + ('PyYAML', '5.3.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.0'), + ('numactl', '2.0.13'), + ('FFmpeg', '4.3.1'), + ('Pillow', '8.0.1'), + ('expecttest', '0.1.3'), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.5.4'), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + # 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + # 'distributed/rpc/test_process_group_agent', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# The readelf sanity check can be taken out once the TestRPATH test from https://github.com/pytorch/pytorch/pull/68912 +# 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 = [ + "python -c 'import caffe2.python'", + "readelf -d %s | egrep 'RPATH|RUNPATH' | grep -v stubs" % local_libcaffe2, +] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch new file mode 100644 index 00000000000..8e74d538e62 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_add-dummy-bfloat16-for-ppc.patch @@ -0,0 +1,116 @@ +Fix missing `vec_scalar_t` on PPC during compilation. + +From https://github.com/pytorch/pytorch/pull/67331 + +From: Nikita Shulga +Date: Wed, 27 Oct 2021 08:04:08 -0700 +Subject: [PATCH] Add dummy bfloat16 VSX implementation + +Just a copy of DEFAULT bfloat16 implementation and revert restriction +introduced by https://github.com/pytorch/pytorch/pull/61630 + +Fixes https://github.com/pytorch/pytorch/issues/66867 and https://github.com/pytorch/pytorch/issues/62016 +--- + aten/src/ATen/cpu/vec/functional.h | 2 - + .../cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h | 54 +++++++++++++++++++ + .../cpu/vec/vec256/vsx/vec256_common_vsx.h | 6 +++ + 3 files changed, 60 insertions(+), 2 deletions(-) + create mode 100644 aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h + +diff --git a/aten/src/ATen/cpu/vec/functional.h b/aten/src/ATen/cpu/vec/functional.h +index 210ae9e9e883..388b3170d5b5 100644 +--- a/aten/src/ATen/cpu/vec/functional.h ++++ b/aten/src/ATen/cpu/vec/functional.h +@@ -1,6 +1,4 @@ + #pragma once + + #include +-#if !defined(__VSX__) || !defined(CPU_CAPABILITY_VSX) + #include +-#endif +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h +new file mode 100644 +index 000000000000..ee8ca997a20e +--- /dev/null ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_bfloat16_vsx.h +@@ -0,0 +1,54 @@ ++#pragma once ++ ++#include ++#include ++#include ++namespace at { ++namespace vec { ++// See Note [Acceptable use of anonymous namespace in header] ++namespace { ++ ++inline std::tuple, Vectorized> convert_bfloat16_float( ++ const Vectorized& a) { ++ constexpr int64_t K = Vectorized::size(); ++ __at_align__ float arr[K]; ++ __at_align__ BFloat16 arr2[K]; ++ a.store(arr2); ++ convert(arr2, arr, K); ++ return std::make_tuple( ++ Vectorized::loadu(arr), ++ Vectorized::loadu(arr + Vectorized::size())); ++} ++ ++inline Vectorized convert_float_bfloat16( ++ const Vectorized& a, ++ const Vectorized& b) { ++ constexpr int64_t K = Vectorized::size(); ++ __at_align__ float arr[K]; ++ __at_align__ BFloat16 arr2[K]; ++ a.store(arr); ++ b.store(arr + Vectorized::size()); ++ convert(arr, arr2, K); ++ return Vectorized::loadu(arr2); ++} ++ ++void load_fp32_from_bf16(const c10::BFloat16* data, Vectorized& out) { ++ __at_align__ float values[Vectorized::size()]; ++ for (int k = 0; k < Vectorized::size(); ++k) { ++ values[k] = data[k]; ++ } ++ out = Vectorized::loadu(values); ++} ++ ++C10_UNUSED void load_fp32_from_bf16( ++ const c10::BFloat16* data, ++ Vectorized& out1, ++ Vectorized& out2) { ++ load_fp32_from_bf16(data, out1); ++ data += Vectorized::size(); ++ load_fp32_from_bf16(data, out2); ++} ++ ++} // namespace ++} // namespace vec ++} // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h +index 3d798a7f6268..b06f6a4bd1b5 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h +@@ -3,6 +3,8 @@ + #include + #include + #include ++ ++// Note: header order is important here + #include + #include + #include +@@ -11,8 +13,12 @@ + #include + #include + #include ++ + #include + #include ++ ++#include ++ + namespace at { + namespace vec { + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-XNNPACK-tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-XNNPACK-tests.patch new file mode 100644 index 00000000000..c9a82a56164 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-XNNPACK-tests.patch @@ -0,0 +1,236 @@ +When XNNPACK is disabled tests run into assertion failures. +Fix by using (most of) https://github.com/pytorch/pytorch/pull/72642 + +Author: Digant Desai + +Backported by Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0c11507838..5b74b7f63c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -275,7 +275,14 @@ option(USE_LITE_INTERPRETER_PROFILER "Enable " ON) + option(USE_VULKAN_FP16_INFERENCE "Vulkan - Use fp16 inference" OFF) + option(USE_VULKAN_RELAXED_PRECISION "Vulkan - Use relaxed precision math in the kernels (mediump)" OFF) + option(USE_VULKAN_SHADERC_RUNTIME "Vulkan - Use runtime shader compilation as opposed to build-time (needs libshaderc)" OFF) +-option(USE_XNNPACK "Use XNNPACK" ON) ++# option USE_XNNPACK: try to enable xnnpack by default. ++set(XNNPACK_MIN_CMAKE_VER 3.12) ++cmake_dependent_option( ++ USE_XNNPACK "Use XNNPACK. Requires cmake >= ${XNNPACK_MIN_CMAKE_VER}." ON ++ "CMAKE_VERSION VERSION_GREATER_EQUAL ${XNNPACK_MIN_CMAKE_VER}" OFF) ++if(NOT USE_XNNPACK AND CMAKE_VERSION VERSION_LESS ${XNNPACK_MIN_CMAKE_VER}) ++ message(WARNING "USE_XNNPACK is set to OFF. XNNPACK requires CMake version ${XNNPACK_MIN_CMAKE_VER} or greater.") ++endif() + option(USE_ZMQ "Use ZMQ" OFF) + option(USE_ZSTD "Use ZSTD" OFF) + # Ensure that an MKLDNN build is the default for x86 CPUs +diff --git a/cmake/Summary.cmake b/cmake/Summary.cmake +index 6d021536c1..7c1ac64539 100644 +--- a/cmake/Summary.cmake ++++ b/cmake/Summary.cmake +@@ -165,6 +165,7 @@ function(caffe2_print_configuration_summary) + message(STATUS " USE_PROF : ${USE_PROF}") + message(STATUS " USE_QNNPACK : ${USE_QNNPACK}") + message(STATUS " USE_PYTORCH_QNNPACK : ${USE_PYTORCH_QNNPACK}") ++ message(STATUS " USE_XNNPACK : ${USE_XNNPACK}") + message(STATUS " USE_REDIS : ${USE_REDIS}") + message(STATUS " USE_ROCKSDB : ${USE_ROCKSDB}") + message(STATUS " USE_ZMQ : ${USE_ZMQ}") +diff --git a/test/jit/test_optimize_for_mobile_preserve_debug_info.py b/test/jit/test_optimize_for_mobile_preserve_debug_info.py +index c08f3b5838..1b93f54c15 100644 +--- a/test/jit/test_optimize_for_mobile_preserve_debug_info.py ++++ b/test/jit/test_optimize_for_mobile_preserve_debug_info.py +@@ -1,8 +1,8 @@ + import torch + import torch._C +-import torch.backends.xnnpack + import torch.nn.functional as F + from torch.testing._internal.jit_utils import JitTestCase ++from torch.testing._internal.common_utils import skipIfNoXNNPACK + + class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + def check_replacement( +@@ -34,6 +34,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + original_source_ranges[replacements[node.kind()]], + ) + ++ @skipIfNoXNNPACK + def test_replace_conv1d_with_conv2d(self): + class TestConv1d(torch.nn.Module): + def __init__(self, weight, bias): +@@ -61,6 +62,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + jit_pass=torch._C._jit_pass_transform_conv1d_to_conv2d, + ) + ++ @skipIfNoXNNPACK + def test_insert_pre_packed_linear_before_inline_and_conv_2d_op(self): + class TestPrepackedLinearBeforeInlineAndConv2dOp(torch.nn.Module): + def __init__( +@@ -137,6 +139,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + jit_pass=torch._C._jit_pass_insert_prepacked_ops, + ) + ++ @skipIfNoXNNPACK + def test_insert_pre_packed_linear_op(self): + self.check_replacement( + model=torch.jit.trace(torch.nn.Linear(5, 4), torch.rand(3, 2, 5)), +@@ -228,6 +231,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + jit_pass=torch._C._jit_pass_fuse_clamp_w_prepacked_linear_conv, + ) + ++ @skipIfNoXNNPACK + def test_fuse_activation_with_pack_ops_linear_conv2d_1(self): + self.run_test_fuse_activation_with_pack_ops_linear_conv2d( + linear_activation=F.hardtanh, +@@ -236,6 +240,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + conv2d_activation_kind="aten::hardtanh_" + ) + ++ @skipIfNoXNNPACK + def test_fuse_activation_with_pack_ops_linear_conv2d_2(self): + self.run_test_fuse_activation_with_pack_ops_linear_conv2d( + linear_activation=F.hardtanh_, +@@ -244,6 +249,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + conv2d_activation_kind="aten::hardtanh" + ) + ++ @skipIfNoXNNPACK + def test_fuse_activation_with_pack_ops_linear_conv2d_3(self): + self.run_test_fuse_activation_with_pack_ops_linear_conv2d( + linear_activation=F.relu, +@@ -252,6 +258,7 @@ class TestOptimizeForMobilePreserveDebugInfo(JitTestCase): + conv2d_activation_kind="aten::relu_" + ) + ++ @skipIfNoXNNPACK + def test_fuse_activation_with_pack_ops_linear_conv2d_4(self): + self.run_test_fuse_activation_with_pack_ops_linear_conv2d( + linear_activation=F.relu_, +diff --git a/test/test_mobile_optimizer.py b/test/test_mobile_optimizer.py +index 19f07e2454..21ae5d3ee9 100644 +--- a/test/test_mobile_optimizer.py ++++ b/test/test_mobile_optimizer.py +@@ -1,9 +1,8 @@ + import unittest + import torch + import torch.nn as nn +-import torch.backends.xnnpack + import torch.utils.bundled_inputs +-from torch.testing._internal.common_utils import TestCase, run_tests ++from torch.testing._internal.common_utils import TestCase, run_tests, skipIfNoXNNPACK + from torch.testing._internal.jit_utils import get_forward, get_forward_graph + from torch.utils.mobile_optimizer import (LintCode, + generate_mobile_module_lints, +@@ -22,9 +21,7 @@ FileCheck = torch._C.FileCheck + + class TestOptimizer(TestCase): + +- @unittest.skipUnless(torch.backends.xnnpack.enabled, +- " XNNPACK must be enabled for these tests." +- " Please build with USE_XNNPACK=1.") ++ @skipIfNoXNNPACK + def test_optimize_for_mobile(self): + batch_size = 2 + input_channels_per_group = 6 +@@ -263,9 +260,7 @@ class TestOptimizer(TestCase): + rtol=1e-2, + atol=1e-3) + +- @unittest.skipUnless(torch.backends.xnnpack.enabled, +- " XNNPACK must be enabled for these tests." +- " Please build with USE_XNNPACK=1.") ++ @skipIfNoXNNPACK + def test_quantized_conv_no_asan_failures(self): + # There were ASAN failures when fold_conv_bn was run on + # already quantized conv modules. Verifying that this does +@@ -359,6 +354,7 @@ class TestOptimizer(TestCase): + bi_module_lint_list = generate_mobile_module_lints(bi_module) + self.assertEqual(len(bi_module_lint_list), 0) + ++ @skipIfNoXNNPACK + def test_preserve_bundled_inputs_methods(self): + class MyBundledInputModule(torch.nn.Module): + def __init__(self): +@@ -413,9 +409,7 @@ class TestOptimizer(TestCase): + incomplete_bi_module_optim = optimize_for_mobile(incomplete_bi_module, preserved_methods=['get_all_bundled_inputs']) + self.assertTrue(hasattr(incomplete_bi_module_optim, 'get_all_bundled_inputs')) + +- @unittest.skipUnless(torch.backends.xnnpack.enabled, +- " XNNPACK must be enabled for these tests." +- " Please build with USE_XNNPACK=1.") ++ @skipIfNoXNNPACK + def test_hoist_conv_packed_params(self): + + if 'qnnpack' not in torch.backends.quantized.supported_engines: +@@ -509,6 +503,7 @@ class TestOptimizer(TestCase): + m_optim_res = m_optim(data) + torch.testing.assert_close(m_res, m_optim_res, rtol=1e-2, atol=1e-3) + ++ @skipIfNoXNNPACK + @unittest.skipUnless(HAS_TORCHVISION, "Needs torchvision") + def test_mobilenet_optimize_for_mobile(self): + m = torchvision.models.mobilenet_v3_small() +diff --git a/test/test_model_dump.py b/test/test_model_dump.py +index 417bb2a91a..e4a9ffa1bd 100644 +--- a/test/test_model_dump.py ++++ b/test/test_model_dump.py +@@ -8,9 +8,10 @@ import urllib + import unittest + + import torch ++import torch.backends.xnnpack + import torch.utils.model_dump + import torch.utils.mobile_optimizer +-from torch.testing._internal.common_utils import TestCase, run_tests, IS_WINDOWS ++from torch.testing._internal.common_utils import TestCase, run_tests, IS_WINDOWS, skipIfNoXNNPACK + from torch.testing._internal.common_quantized import supported_qengines + + +@@ -170,6 +171,7 @@ class TestModelDump(TestCase): + qmodel = self.get_quant_model() + self.do_dump_model(torch.jit.script(qmodel)) + ++ @skipIfNoXNNPACK + @unittest.skipUnless("qnnpack" in supported_qengines, "QNNPACK not available") + def test_optimized_quantized_model(self): + qmodel = self.get_quant_model() +diff --git a/test/test_xnnpack_integration.py b/test/test_xnnpack_integration.py +index a0f8328ec6..a737ed4b8b 100644 +--- a/test/test_xnnpack_integration.py ++++ b/test/test_xnnpack_integration.py +@@ -51,7 +51,6 @@ class TestXNNPACKOps(TestCase): + output_linearprepacked = torch.ops.prepacked.linear_clamp_run(input_data, packed_weight_bias) + torch.testing.assert_close(ref_result, output_linearprepacked, rtol=1e-2, atol=1e-3) + +- + @given(batch_size=st.integers(0, 3), + input_channels_per_group=st.integers(1, 32), + height=st.integers(5, 64), +diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py +index b4ef79620d..18d8925d6a 100644 +--- a/torch/testing/_internal/common_utils.py ++++ b/torch/testing/_internal/common_utils.py +@@ -56,6 +56,7 @@ from torch._six import string_classes + from torch import Tensor + import torch.backends.cudnn + import torch.backends.mkl ++import torch.backends.xnnpack + from enum import Enum + + torch.backends.disable_global_flags() +@@ -908,6 +909,14 @@ def _test_function(fn, device): + return fn(self, device) + return run_test_function + ++def skipIfNoXNNPACK(fn): ++ @wraps(fn) ++ def wrapper(*args, **kwargs): ++ if not torch.backends.xnnpack.enabled: ++ raise unittest.SkipTest('XNNPACK must be enabled for these tests. Please build with USE_XNNPACK=1.') ++ else: ++ fn(*args, **kwargs) ++ return wrapper + + def skipIfNoLapack(fn): + @wraps(fn) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch new file mode 100644 index 00000000000..e51ba483c96 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-alias-violation-in-bitwise-ops.patch @@ -0,0 +1,31 @@ +A reinterpret_cast to an unrelated type is undefined behavior. +This causes real issues due to misoptimizations on at least GCC 10.2 on POWER +See https://github.com/pytorch/pytorch/issues/58031 + +Author: Alexander Grund (TU Dresden) + +Adapted for PT-1.10, where this is now in vec_base.h and templated + +diff --git a/aten/src/ATen/cpu/vec/vec_base.h b/aten/src/ATen/cpu/vec/vec_base.h +index 697996ab8e..1663ae239a 100644 +--- a/aten/src/ATen/cpu/vec/vec_base.h ++++ b/aten/src/ATen/cpu/vec/vec_base.h +@@ -701,12 +701,14 @@ inline Vectorized operator^(const Vectorized& a, const Vectorized& b) { + + template + static inline Vectorized bitwise_binary_op(const Vectorized &a, const Vectorized &b, Op op) { +- static constexpr uint32_t element_no = VECTOR_WIDTH / sizeof(intmax_t); ++ constexpr uint32_t element_no = VECTOR_WIDTH / sizeof(intmax_t); ++ __at_align__ intmax_t buffer_a[element_no]; ++ __at_align__ intmax_t buffer_b[element_no]; + __at_align__ intmax_t buffer[element_no]; +- const intmax_t *a_ptr = reinterpret_cast((const T*) a); +- const intmax_t *b_ptr = reinterpret_cast((const T*) b); ++ a.store(buffer_a); ++ b.store(buffer_b); + for (uint32_t i = 0U; i < element_no; ++ i) { +- buffer[i] = op(a_ptr[i], b_ptr[i]); ++ buffer[i] = op(buffer_a[i], buffer_b[i]); + } + return Vectorized::loadu(buffer); + } diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch new file mode 100644 index 00000000000..1ba71564df7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-faulty-asserts.patch @@ -0,0 +1,169 @@ +From: Alexander Grund +Date: Tue, 18 May 2021 15:08:41 +0200 +Subject: Fix usage of TORCH_INTERNAL_ASSERT with message + +Using only a string as the argument for TORCH_INTERNAL_ASSERT will never +trigger a failure as a string is always a truethy value. +This hides actual bugs and makes users and devs think all worked while +it did not. +Change to use TORCH_INTERNAL_ASSERT(false, "msg") + +diff --git a/aten/src/ATen/native/BinaryOps.cpp b/aten/src/ATen/native/BinaryOps.cpp +index c4edadb03e..e889cd03a8 100644 +--- a/aten/src/ATen/native/BinaryOps.cpp ++++ b/aten/src/ATen/native/BinaryOps.cpp +@@ -106,6 +106,7 @@ Tensor& add_relu_impl( + max_val = std::numeric_limits::max(); + } else { + TORCH_INTERNAL_ASSERT( ++ false, + "Unsupported datatype for add_relu:", self.dtype().name()); + } + +diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag.cpp +index 050fdce2ca..7e72263917 100644 +--- a/aten/src/ATen/native/quantized/cpu/qembeddingbag.cpp ++++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag.cpp +@@ -780,6 +780,7 @@ class QEmbeddingBag final { + include_last_offset); + } else { + TORCH_INTERNAL_ASSERT( ++ false, + "Currently only support 8-bit embedding_bag quantization"); + } + } +@@ -808,6 +809,7 @@ class QEmbedding final { + + } else { + TORCH_INTERNAL_ASSERT( ++ false, + "Currently only support 8-bit embedding quantization"); + } + return output; +diff --git a/aten/src/ATen/native/quantized/cpu/qnnpack_utils.h b/aten/src/ATen/native/quantized/cpu/qnnpack_utils.h +index 6de646acfe..66341c959d 100644 +--- a/aten/src/ATen/native/quantized/cpu/qnnpack_utils.h ++++ b/aten/src/ATen/native/quantized/cpu/qnnpack_utils.h +@@ -131,6 +131,7 @@ struct PackedConvWeightsQnnp : public ConvPackedParamsBase { + + if (conv_p.per_channel && conv_p.ukernel_type == pytorch_qnnp_ukernel_type_xzp_gemm) { + TORCH_INTERNAL_ASSERT( ++ false, + "Per channel quantized weights are not supported for XZP kernels"); + } + +@@ -140,6 +141,7 @@ struct PackedConvWeightsQnnp : public ConvPackedParamsBase { + static_cast(calloc(1, sizeof(struct pytorch_qnnp_operator))); + if (convolution == nullptr) { + TORCH_INTERNAL_ASSERT( ++ false, + "failed to allocate %zu bytes for pytorch_qnnp_operator structure", + sizeof(struct pytorch_qnnp_operator)); + } +@@ -406,7 +408,7 @@ std::pair, at::Tensor> make_zero_points_and_scales_tensor( + 128); + } + } else { +- TORCH_INTERNAL_ASSERT("Unsupported quantization scheme."); ++ TORCH_INTERNAL_ASSERT(false, "Unsupported quantization scheme."); + } + at:: Tensor weight_scales = + at::empty( +@@ -423,7 +425,7 @@ std::pair, at::Tensor> make_zero_points_and_scales_tensor( + weight_contig.q_per_channel_scales()[i].item(); + } + } else { +- TORCH_INTERNAL_ASSERT("Unsupported quantization scheme."); ++ TORCH_INTERNAL_ASSERT(false, "Unsupported quantization scheme."); + } + for (int i = num_output_channels; i < num_output_channels_padded; ++i) { + weight_scales_data[i] = 1.f; +diff --git a/torch/csrc/jit/api/module.cpp b/torch/csrc/jit/api/module.cpp +index 38592b80b9..8f9508321b 100644 +--- a/torch/csrc/jit/api/module.cpp ++++ b/torch/csrc/jit/api/module.cpp +@@ -305,7 +305,7 @@ void Module::train(bool on) { + if (auto slot = m._ivalue()->type()->findAttributeSlot("training")) { + m._ivalue()->setSlot(*slot, on); + } else { +- TORCH_INTERNAL_ASSERT("'training' attribute not found"); ++ TORCH_INTERNAL_ASSERT(false, "'training' attribute not found"); + } + } + } +diff --git a/torch/csrc/jit/passes/quantization/insert_quant_dequant.cpp b/torch/csrc/jit/passes/quantization/insert_quant_dequant.cpp +index 53a13b6cf1..93c2b5a7da 100644 +--- a/torch/csrc/jit/passes/quantization/insert_quant_dequant.cpp ++++ b/torch/csrc/jit/passes/quantization/insert_quant_dequant.cpp +@@ -304,6 +304,7 @@ Node* insertEmbeddingBagOps(Node* observer, const std::string& op_name) { + quant_fn = "quantized::embedding_bag_byte_rowwise_offsets"; + } else { + TORCH_INTERNAL_ASSERT( ++ false, + "Graph Mode Quantization currently supports 4-bit and 8-bit embedding bag quantization."); + } + +diff --git a/torch/csrc/jit/passes/xnnpack_rewrite.cpp b/torch/csrc/jit/passes/xnnpack_rewrite.cpp +index 3be480068c..2289f028ae 100644 +--- a/torch/csrc/jit/passes/xnnpack_rewrite.cpp ++++ b/torch/csrc/jit/passes/xnnpack_rewrite.cpp +@@ -405,21 +405,25 @@ script::Module optimizeForMobile( + + void insertPrePackedOps(std::shared_ptr& graph) { + TORCH_INTERNAL_ASSERT( ++ false, + "XNNPACK is not enabled. Please build with USE_XNNPACK=1"); + } + + void insertPrePackedOps(script::Module& module) { + TORCH_INTERNAL_ASSERT( ++ false, + "XNNPACK is not enabled. Please build with USE_XNNPACK=1"); + } + + void fusePrePackedLinearConvWithClamp(script::Module& module) { + TORCH_INTERNAL_ASSERT( ++ false, + "XNNPACK is not enabled. Please build with USE_XNNPACK=1"); + } + + void FoldPrePackingOps(script::Module& m) { + TORCH_INTERNAL_ASSERT( ++ false, + "XNNPACK is not enabled. Please build with USE_XNNPACK=1"); + } + +@@ -428,6 +432,7 @@ script::Module optimizeForMobile( + const std::set& blocklist, + const std::vector& preserved_methods) { + TORCH_INTERNAL_ASSERT( ++ false, + "Mobile optimization only available with XNNPACK at the moment. " + "XNNPACK is not enabled. Please build with USE_XNNPACK=1"); + return module; +diff --git a/torch/csrc/jit/runtime/register_ops_utils.cpp b/torch/csrc/jit/runtime/register_ops_utils.cpp +index 537716e1ad..3bcff0af55 100644 +--- a/torch/csrc/jit/runtime/register_ops_utils.cpp ++++ b/torch/csrc/jit/runtime/register_ops_utils.cpp +@@ -182,7 +182,7 @@ IValue tensorToListRecursive( + } else if (inner_result.isBool()) { + result.emplace_back(inner_result.toBool()); + } else { +- TORCH_INTERNAL_ASSERT("Unknown return type for tensorToListRecursive"); ++ TORCH_INTERNAL_ASSERT(false, "Unknown return type for tensorToListRecursive"); + } + + data += strides[cur_dim] * element_size; +diff --git a/torch/csrc/distributed/c10d/ProcessGroup.cpp b/torch/csrc/distributed/c10d/ProcessGroup.cpp +index 7909bfa7c9..9e2a51f291 100644 +--- a/torch/csrc/distributed/c10d/ProcessGroup.cpp ++++ b/torch/csrc/distributed/c10d/ProcessGroup.cpp +@@ -43,7 +43,7 @@ std::string opTypeToString(OpType opType) { + case OpType::UNKNOWN: + return "UNKNOWN"; + default: +- TORCH_INTERNAL_ASSERT("Unknown op type!"); ++ TORCH_INTERNAL_ASSERT(false, "Unknown op type!"); + } + return "UNKNOWN"; + } diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch new file mode 100644 index 00000000000..b62f757853f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-fp16-quantization-without-fbgemm.patch @@ -0,0 +1,43 @@ +From https://github.com/pytorch/pytorch/pull/84750 + +From d5480f56374e7612d4400e845b05bc3a4507d87c Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Fri, 9 Sep 2022 14:39:49 +0200 +Subject: [PATCH] Fix Use-after-Free in qembeddingbag_byte_prepack_out + +When FBGEMM is not used (either manually disabled or on platforms such +as POWER where it isn't supported at all) the fallback code requests a +`data_ptr` on a `Tensor` object returned by +`to(ScalarType::Float)` in the same line. This object will be destroyed +at the end of the line leading to a dangling pointer. + +On some platforms this manifests in wrong results being returned as the +memory gets overwritten. + +Fix this by binding the temporary object (or initial object) to a const +value reference which extents its lifetime and getting the `data_ptr` +from that. + +Fixes #84748 +--- + .../ATen/native/quantized/cpu/qembeddingbag_prepack.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +index 614e274b54..6c04d0ae12 100644 +--- a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp ++++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +@@ -242,9 +242,10 @@ Tensor& qembeddingbag_byte_prepack_out(Tensor& output, const Tensor& weight) { + } + + #else +- const auto weight_data = weight_contig->scalar_type() == at::ScalarType::Half +- ? weight_contig->to(at::ScalarType::Float).data_ptr() +- : weight_contig->data_ptr(); ++ const Tensor& float_weight = weight_contig->scalar_type() == at::ScalarType::Half ++ ? weight_contig->to(at::ScalarType::Float) ++ : *weight_contig; ++ const auto weight_data = float_weight.data_ptr(); + constexpr float kEpsilon = 1e-8f; + for (auto row: c10::irange(embedding_rows)) { + const float* input_row = weight_data + row * embedding_cols; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-kineto-crash.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-kineto-crash.patch new file mode 100644 index 00000000000..7858aa1f8cf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-kineto-crash.patch @@ -0,0 +1,24 @@ +Fix a crash during application shutdown visible in test_profiler on some machines. +See https://github.com/pytorch/kineto/pull/642 + +Author: Alexander Grund (TU Dresden) + +diff -aur a/third_party/kineto/libkineto/src/EventProfilerController.cpp b/third_party/kineto/libkineto/src/EventProfilerController.cpp +--- a/third_party/kineto/libkineto/src/EventProfilerController.cpp 2022-08-05 13:10:46.175716618 +0200 ++++ b/third_party/kineto/libkineto/src/EventProfilerController.cpp 2022-08-05 13:16:00.654118490 +0200 +@@ -233,9 +233,14 @@ EventProfilerController::~EventProfilerController() { + + // Must be called under lock + void EventProfilerController::start(CUcontext ctx, ConfigLoader& configLoader) { +- profilerMap()[ctx] = unique_ptr( ++ // Avoid static initialization order fiasco: ++ // We need the profilerMap and with it all controllers to be destroyed ++ // before everything the controller accesses gets destroyed. ++ // Hence access the profilerMap after initialization of the controller. ++ auto controller = unique_ptr( + new EventProfilerController( + ctx, configLoader, detail::HeartbeatMonitor::instance())); ++ profilerMap()[ctx] = std::move(controller); + } + + // Must be called under lock diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch new file mode 100644 index 00000000000..dcc0eac4bf0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-missing-VSX-dispatch.patch @@ -0,0 +1,26 @@ + +Fix for following error on PPC: +> undefined reference to `at::native::DispatchStub, c10::ArrayRef, c10::ArrayRef, void const*, c10::ArrayRef, void*), at::native::fft_fill_with_conjugate_symmetry_stub>::VSX' + +From https://github.com/pytorch/pytorch/pull/68914 + +From: Deepali Chourasia +Date: Thu, 25 Nov 2021 12:29:50 +0000 +Subject: [PATCH] add VSX dispatch for fft_fill_with_conjugate_symmetry_stub + +--- + aten/src/ATen/native/mkl/SpectralOps.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/aten/src/ATen/native/mkl/SpectralOps.cpp b/aten/src/ATen/native/mkl/SpectralOps.cpp +index 0625110a04ff..2bd05ca19cac 100644 +--- a/aten/src/ATen/native/mkl/SpectralOps.cpp ++++ b/aten/src/ATen/native/mkl/SpectralOps.cpp +@@ -151,6 +151,7 @@ static void _fft_fill_with_conjugate_symmetry_cpu_( + REGISTER_ARCH_DISPATCH(fft_fill_with_conjugate_symmetry_stub, DEFAULT, &_fft_fill_with_conjugate_symmetry_cpu_) + REGISTER_AVX2_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) + REGISTER_AVX512_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) ++REGISTER_VSX_DISPATCH(fft_fill_with_conjugate_symmetry_stub, &_fft_fill_with_conjugate_symmetry_cpu_) + + // _out variants can be shared between PocketFFT and MKL + Tensor& _fft_r2c_mkl_out(const Tensor& self, IntArrayRef dim, int64_t normalization, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-cond-cpu.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-cond-cpu.patch new file mode 100644 index 00000000000..df38550bf1f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-cond-cpu.patch @@ -0,0 +1,32 @@ +# Author: Caspar van Leeuwen, SURF +# +# Tests test_cond_cpu_complex128, test_cond_cpu_complex64, +# test_cond_cpu_float32, test_cond_cpu_float64, failed with +# "numpy.linalg.LinAlgError: SVD did not converge" +# when numpy was build with OpenBLAS 0.3.15 or newer. +# Now, these tests simply pass if this error is raised. +# +# See https://github.com/pytorch/pytorch/issues/67675 +# Patch based on https://github.com/pytorch/pytorch/pull/67679 +--- + test/test_linalg.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/test/test_linalg.py b/test/test_linalg.py +index d7494dfebe10..9eb3d0bf7d99 100644 +--- a/test/test_linalg.py ++++ b/test/test_linalg.py +@@ -1638,7 +1638,12 @@ def run_test_case(input, p): + a = torch.eye(3, dtype=dtype, device=device) + a[-1, -1] = 0 # make 'a' singular + for p in norm_types: +- run_test_case(a, p) ++ try: ++ run_test_case(a, p) ++ except np.linalg.LinAlgError: ++ # Numpy may fail to converge for some BLAS backends ++ # See the discussion in https://github.com/pytorch/pytorch/issues/67675 ++ pass + + # test for 0x0 matrices. NumPy doesn't work for such input, we return 0 + input_sizes = [(0, 0), (2, 5, 0, 0)] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch new file mode 100644 index 00000000000..fb66d1b6696 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch @@ -0,0 +1,40 @@ +# Author: Alexander Grund +# Avoid test failures in CGROUP environments +# See https://github.com/pytorch/pytorch/issues/44368 and https://github.com/pytorch/pytorch/pull/44369 +diff -Nru pytorch.orig/test/test_dataloader.py pytorch/test/test_dataloader.py +--- pytorch.orig/test/test_dataloader.py 2021-10-28 19:19:23.284526686 +0200 ++++ pytorch/test/test_dataloader.py 2021-10-28 19:21:31.860488973 +0200 +@@ -2374,22 +2374,27 @@ + after = os.sched_getaffinity(0) + return iter(after) + +- +-def worker_set_affinity(_): +- os.sched_setaffinity(0, [multiprocessing.cpu_count() - 1]) +- +- + @unittest.skipIf( + not hasattr(os, 'sched_setaffinity'), + "os.sched_setaffinity is not available") + class TestSetAffinity(TestCase): + def test_set_affinity_in_worker_init(self): ++ # Query the current affinity mask to avoid setting a disallowed one ++ old_affinity = os.sched_getaffinity(0) ++ if not old_affinity: ++ self.skipTest("No affinity information") ++ # Choose any ++ expected_affinity = list(old_affinity)[-1] ++ ++ def worker_set_affinity(_): ++ os.sched_setaffinity(0, [expected_affinity]) ++ + dataset = SetAffinityDataset() + + dataloader = torch.utils.data.DataLoader( + dataset, num_workers=2, worker_init_fn=worker_set_affinity) + for sample in dataloader: +- self.assertEqual(sample, [multiprocessing.cpu_count() - 1]) ++ self.assertEqual(sample, [expected_affinity]) + + class ConvDataset(Dataset): + def __init__(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-model_dump.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-model_dump.patch new file mode 100644 index 00000000000..1891c93e93f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-test-model_dump.patch @@ -0,0 +1,36 @@ +From https://github.com/pytorch/pytorch/pull/84744 + +Author: Alexander Grund (TU Dresden) + +From 4d99f72dcf71bffa7ff4275750cb86d872ac653f Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Fri, 9 Sep 2022 11:10:05 +0200 +Subject: [PATCH] Fix failing test_model_dump due to empty file + +The `torch.jit.save` call on a file object may not actually write the +data to disk due to buffering. The call to `model_dump.main` on that +file will when fail with an error like + +> zipfile.BadZipFile: File is not a zip file + +Inspecting the file confirms that it is either empty (usually) or +incomplete (possible). + +Fix this by flushing the file after saving the model. +--- + test/test_model_dump.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/test/test_model_dump.py b/test/test_model_dump.py +index a8add0e2cd923..3c682b6ce6805 100644 +--- a/test/test_model_dump.py ++++ b/test/test_model_dump.py +@@ -131,6 +131,8 @@ def test_main(self): + + with tempfile.NamedTemporaryFile() as tf: + torch.jit.save(torch.jit.script(SimpleModel()), tf) ++ # Actually write contents to disk so we can read it below ++ tf.flush() + + stdout = io.StringIO() + torch.utils.model_dump.main( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vnni-detection.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vnni-detection.patch new file mode 100644 index 00000000000..944e85363a3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vnni-detection.patch @@ -0,0 +1,22 @@ +# Author: Caspar van Leeuwen, SURF +# +# A bug in the test_lstm test was triggered on machines with AVX512_vnni support +# See https://github.com/pytorch/pytorch/issues/59098 +# It was supposed to skip this test based on IS_AVX512_VNNI_SUPPORTED +# But the test function only searched for 'avx512vnni', while my /proc/cpuinfo +# contained 'avx512_vnni' +# This patch should fix the avx512_vnni detection and skip any incompatible tests +# VNNI detection issue: https://github.com/pytorch/pytorch/issues/67685 +# And PR: https://github.com/pytorch/pytorch/pull/67686 +diff -Nru pytorch.orig/torch/testing/_internal/common_utils.py pytorch/torch/testing/_internal/common_utils.py +--- pytorch.orig/torch/testing/_internal/common_utils.py 2021-11-02 15:50:14.328727067 +0100 ++++ pytorch/torch/testing/_internal/common_utils.py 2021-11-02 15:59:44.621177782 +0100 +@@ -620,7 +620,7 @@ + return False + with open("/proc/cpuinfo", encoding="ascii") as f: + lines = f.read() +- return "avx512vnni" in lines ++ return any(s in lines for s in ("avx512_vnni", "avx512vnni")) + + IS_AVX512_VNNI_SUPPORTED = is_avx512_vnni_supported() + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vsx-vector-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vsx-vector-functions.patch new file mode 100644 index 00000000000..7d35ac8d134 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_fix-vsx-vector-functions.patch @@ -0,0 +1,39 @@ +This fixes the remaining bug introduced by the VSX optimized code in https://github.com/pytorch/pytorch/pull/41541 + +See https://github.com/pytorch/pytorch/pull/59382 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 2427276bce..2b46e0a662 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -558,27 +558,7 @@ class Vectorized { + } + + Vectorized C10_ALWAYS_INLINE pow(const Vectorized& exp) const { +- auto x = *this; +- auto sign_bit = (*this) & sign_mask; +- // |b| +- auto exp_abs = exp.abs(); +- auto exp_trunc = exp.trunc(); +- Vectorized odd_mask; +- odd_mask._vecb0 = (vec_signed(exp._vec0) & vi_1) != vi_0; +- odd_mask._vecb1 = (vec_signed(exp._vec1) & vi_1) != vi_0; +- // using ln fuction +- auto temp = (abs().log() * exp).exp(); +- +- // is odd or even check from Sleef +- auto is_int = (exp == exp_trunc) | (exp_abs >= vcheck); +- auto is_odd = odd_mask & is_int & (exp_abs < vcheck); +- // if even then then pow result should be absolute +- auto temp_sign = temp | sign_bit; // copy_sign +- auto out = blendv(temp, temp_sign, is_odd); +- // x<0 and y != N, then NAN +- auto out1 = blendv(out, v_nan, ((exp.floor() != exp) & (x < zero))); +- // y = 0 then 1 +- return blendv(out1, one, (exp_abs == zero)); ++ return {Sleef_powf4_u10vsx(_vec0, exp._vec0), Sleef_powf4_u10vsx(_vec1, exp._vec1)}; + } + + Vectorized fmod(const Vectorized& b) const { diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch new file mode 100644 index 00000000000..c61a46e0fa6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_increase_zero_optimizer_test_tolerance.patch @@ -0,0 +1,26 @@ +# Author: Caspar van Leeuwen, SURF +# Fixes failing tests in test_zero_redundancy_optimizer for A100 due to the use of TensorFloat32 +# We increase tolerances in the assert's, so that the small differences that arise due to the +# use of TensorFloat32 fall within the limits of torch.allclose(...) +# See https://github.com/pytorch/pytorch/issues/67764 +diff -Nru pytorch.orig/test/distributed/optim/test_zero_redundancy_optimizer.py pytorch/test/distributed/optim/test_zero_redundancy_optimizer.py +--- pytorch.orig/test/distributed/optim/test_zero_redundancy_optimizer.py 2021-11-02 15:50:15.430729833 +0100 ++++ pytorch/test/distributed/optim/test_zero_redundancy_optimizer.py 2021-11-03 14:38:23.244771749 +0100 +@@ -881,13 +881,15 @@ + local_loss = cast(torch.Tensor, local_optim.step(closure=closure_local)) + ddp_loss = cast(torch.Tensor, zero_optim.step(closure=closure_ddp)).to(cpu_device) + ++ # Increased tolerances are needed to pass test when using TensorFloat32 ++ # see https://github.com/pytorch/pytorch/issues/67764 + assert torch.allclose( +- local_loss, ddp_loss ++ local_loss, ddp_loss, rtol=1e-03 + ), "Losses differ between local optim and ZeroRedundancyOptimizer" + + for local_p, ddp_p in zip(local_model.parameters(), ddp_model.parameters()): + ddp_p = ddp_p.to(cpu_device) +- assert torch.allclose(local_p, ddp_p), "Models differ after a step" ++ assert torch.allclose(local_p, ddp_p, rtol=1e-04, atol=1e-04), "Models differ after a step" + + @common_distributed.skip_if_lt_x_gpu(4) + def test_zero_model_parallel_with_bucket_view(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch new file mode 100644 index 00000000000..b6e2100a178 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_remove-vec-dump-functions.patch @@ -0,0 +1,114 @@ +Fix compilation on PPC due to missing include + +From https://patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/66085 + +From e0fa15d188986e2a68973e3facf9d794f6cfc5df Mon Sep 17 00:00:00 2001 +From: Nikita Shulga +Date: Mon, 4 Oct 2021 09:26:37 -0700 +Subject: [PATCH] Remove unused `dump` method from VSX vec256 methods + +Follow up after https://github.com/pytorch/pytorch/pull/63533 + +Probably fixes https://github.com/pytorch/pytorch/issues/65956 +--- + .../ATen/cpu/vec/vec256/vsx/vec256_complex_double_vsx.h | 5 ----- + .../ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h | 8 -------- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h | 3 --- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h | 7 ------- + aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h | 9 --------- + 5 files changed, 32 deletions(-) + +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 888f2f0b932b..3a3e0daade09 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 +@@ -356,11 +356,6 @@ class Vectorized { + return {vec_sqrt(_vec0), vec_sqrt(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << std::endl; +- } +- + Vectorized sqrt() const { + return map(std::sqrt); + } +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 0aa726b9bfdd..712de24597dc 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 +@@ -144,7 +144,6 @@ class Vectorized { + // convert std::complex index mask to V index mask: xy -> xxyy + auto mask_complex = Vectorized( + vec_mergeh(mask._vec0, mask._vec0), vec_mergeh(mask._vec1, mask._vec1)); +- // mask_complex.dump(); + return { + vec_sel(a._vec0, b._vec0, mask_complex._vec0), + vec_sel(a._vec1, b._vec1, mask_complex._vec1), +@@ -409,13 +408,6 @@ class Vectorized { + return {vec_sqrt(_vec0), vec_sqrt(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec0[2] << "," +- << _vec0[3] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << "," << _vec1[2] << "," +- << _vec1[3] << std::endl; +- } +- + Vectorized sqrt() const { + return map(std::sqrt); + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +index 29616182fe12..0d5b5cb39384 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +@@ -188,9 +188,6 @@ class Vectorized { + } + const double& operator[](int idx) const = delete; + double& operator[](int idx) = delete; +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec1[0] << "," << _vec1[1] << std::endl; +- } + Vectorized map(double (*const f)(double)) const { + Vectorized ret; + for (int i = 0; i < size()/2; i++) { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 2427276bcea2..58d4b057b507 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -436,13 +436,6 @@ class Vectorized { + return {vec_neg(_vec0), vec_neg(_vec1)}; + } + +- void dump() const { +- std::cout << _vec0[0] << "," << _vec0[1] << "," << _vec0[2] << "," +- << _vec0[3] << ","; +- std::cout << _vec1[0] << "," << _vec1[1] << "," << _vec1[2] << "," +- << _vec1[3] << std::endl; +- } +- + Vectorized C10_ALWAYS_INLINE round() const { + return {vec_round(_vec0), vec_round(_vec1)}; + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +index c335ace0ced6..2482af6ec232 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +@@ -369,15 +369,6 @@ struct Vectorized { + return {vec0, vec1}; + } + +- void dump() const { +- value_type vals[size()]; +- store((void*)vals); +- for (int i = 0; i < size(); ++i) { +- std::cout << (int)(vals[i]) << " "; +- } +- std::cout << std::endl; +- } +- + DEFINE_MEMBER_OP(operator==, c10::quint8, vec_cmpeq) + DEFINE_MEMBER_OP(operator!=, c10::quint8, vec_cmpne) + DEFINE_MEMBER_OP(operator<, c10::quint8, vec_cmplt) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch new file mode 100644 index 00000000000..ce5acf4a884 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch @@ -0,0 +1,30 @@ +When QNNPACK is not available the test will fail trying to use it. +Skip them conditionally. +See https://github.com/pytorch/pytorch/pull/82882 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_nnapi.py b/test/test_nnapi.py +index f8db7e1a3d..1d4fd52e28 100644 +--- a/test/test_nnapi.py ++++ b/test/test_nnapi.py +@@ -2,8 +2,10 @@ + import os + import ctypes + import torch ++import unittest + from typing import Tuple + from torch.backends._nnapi.prepare import convert_model_to_nnapi ++from torch.testing._internal.common_quantized import supported_qengines + from torch.testing._internal.common_utils import TestCase, run_tests + + +@@ -18,6 +20,8 @@ def nhwc(t): + return t + + ++@unittest.skipUnless('qnnpack' in supported_qengines, ++ "This Pytorch Build has not been built with or does not support QNNPACK") + class TestNNAPI(TestCase): + + def setUp(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_cmake_rpath.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_cmake_rpath.patch new file mode 100644 index 00000000000..09469cd45b4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_cmake_rpath.patch @@ -0,0 +1,195 @@ +# Author: Caspar van Leeuwen +# PyTorch's CMAKE configuration by default sets RUNPATH on libraries if they link other libraries +# that are outside the build tree, which is done because of the CMAKE config on +# https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L10. +# This provides problems, since the cuda stubs library path then also gets added to the RUNPATH. +# As a result, at runtime, the stub version of things like libcuda.so.1 gets picked up, instead of the real drivers +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/14359 +# This line https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L16 +# Makes sure that any path that is linked, is also added to the RUNPATH. +# This has been reported upstream in https://github.com/pytorch/pytorch/issues/35418 +# and a fix was attempted in https://github.com/pytorch/pytorch/pull/37737 but it was reverted +# +# This EasyBuild patch changes behavior for the libraries that were failing, i.e. the ones in this list: +# https://github.com/easybuilders/easybuild-easyconfigs/issues/14359#issuecomment-970479904 +# This is done by setting INSTALL_RPATH_USE_LINK_PATH to false, and instead, specifying the RPATH +# explicitely by defining INSTALL_RPATH, but only adding directories that do not match to the "stubs" regex +# It has been upstreamed in this PR https://github.com/pytorch/pytorch/pull/68912 (not accepted yet at the time of writing) +diff -Nru pytorch.orig/caffe2/CMakeLists.txt pytorch/caffe2/CMakeLists.txt +--- pytorch.orig/caffe2/CMakeLists.txt 2021-11-17 11:46:01.797337624 +0100 ++++ pytorch/caffe2/CMakeLists.txt 2021-11-18 19:05:35.637707235 +0100 +@@ -630,8 +630,33 @@ + else() + set(DELAY_LOAD_FLAGS "") + endif() +- target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) ++ # message("CUDA_NVRTC: ${CUDA_NVRTC}") ++ # message("CUDA_NVRTC_LIB: ${CUDA_NVRTC_LIB}") ++ # message("CUDA_CUDA_LIB: ${CUDA_CUDA_LIB}") ++ # message("DELAY_LOAD_FLAGS: ${DELAY_LOAD_FLAGS}") ++ # if(CUDA_CUDA_LIB MATCHES "stubs") ++ # message("stubs libraries found in the CUDA_CUDA_LIB: ${CUDA_CUDA_LIB}") ++ # else() ++ # message("Stubs libs not found in CUDA_CUDA_LIB: ${CUDA_CUDA_LIB}") ++ # endif() ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of CAFFE2_NVRTC: ++ set(CAFFE2_NVRTC_LIBS ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB}) ++ foreach(LIB IN LISTS CAFFE2_NVRTC_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in caffe2_nvrtc's RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND CAFFE2_NVRTC_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("CAFFE2_NVRTC_RPATH: ${CAFFE2_NVRTC_RPATH}") ++ set_target_properties(caffe2_nvrtc PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(caffe2_nvrtc PROPERTIES INSTALL_RPATH "${CAFFE2_NVRTC_RPATH}") ++ target_link_libraries(caffe2_nvrtc ${CAFFE2_NVRTC_LIBS} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) ++# message(FATAL_ERROR "STOP HERE, we're debugging") + install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") + if(USE_NCCL AND BUILD_SPLIT_CUDA) + list(APPEND Caffe2_GPU_SRCS_CPP +diff -Nru pytorch.orig/test/cpp/api/CMakeLists.txt pytorch/test/cpp/api/CMakeLists.txt +--- pytorch.orig/test/cpp/api/CMakeLists.txt 2021-11-17 11:46:02.991350652 +0100 ++++ pytorch/test/cpp/api/CMakeLists.txt 2021-11-18 19:06:41.207423777 +0100 +@@ -61,6 +61,22 @@ + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of test_api: ++ set(TEST_API_LIBS ${CUDA_LIBRARIES} ${CUDA_NVRTC_LIB} ${CUDA_CUDA_LIB} ${TORCH_CUDA_LIBRARIES}) ++ foreach(LIB IN LISTS TEST_API_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in caffe2_nvrtc's RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND TEST_API_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("TEST_API_RPATH: ${TEST_API_RPATH}") ++ set_target_properties(test_api PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(test_api PROPERTIES INSTALL_RPATH "${TEST_API_RPATH}") ++ + target_compile_definitions(test_api PRIVATE "USE_CUDA") + endif() + +diff -Nru pytorch.orig/test/cpp/dist_autograd/CMakeLists.txt pytorch/test/cpp/dist_autograd/CMakeLists.txt +--- pytorch.orig/test/cpp/dist_autograd/CMakeLists.txt 2021-11-17 11:46:02.993350674 +0100 ++++ pytorch/test/cpp/dist_autograd/CMakeLists.txt 2021-11-18 19:06:18.389174421 +0100 +@@ -16,6 +16,22 @@ + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of test_dist_autograd: ++ set(DIST_AUTOGRAD_LIBS ${CUDA_LIBRARIES} ${CUDA_NVRTC_LIB} ${CUDA_CUDA_LIB} ${TORCH_CUDA_LIBRARIES}) ++ foreach(LIB IN LISTS DIST_AUTOGRAD_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in caffe2_nvrtc's RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND DIST_AUTOGRAD_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("DIST_AUTOGRAD_RPATH: ${DIST_AUTOGRAD_RPATH}") ++ set_target_properties(test_dist_autograd PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(test_dist_autograd PROPERTIES INSTALL_RPATH "${DIST_AUTOGRAD_RPATH}") ++ + target_compile_definitions(test_dist_autograd PRIVATE "USE_CUDA") + endif() + +diff -Nru pytorch.orig/test/cpp/jit/CMakeLists.txt pytorch/test/cpp/jit/CMakeLists.txt +--- pytorch.orig/test/cpp/jit/CMakeLists.txt 2021-11-17 11:46:02.989350630 +0100 ++++ pytorch/test/cpp/jit/CMakeLists.txt 2021-11-18 19:05:41.396770168 +0100 +@@ -94,6 +94,7 @@ + list(APPEND JIT_TEST_DEPENDENCIES onnx_library) + endif(MSVC) + ++ + target_link_libraries(test_jit PRIVATE ${JIT_TEST_DEPENDENCIES}) + target_include_directories(test_jit PRIVATE ${ATen_CPU_INCLUDE}) + +@@ -109,6 +110,22 @@ + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of test_jit: ++ set(TEST_JIT_LIBS ${CUDA_LIBRARIES} ${CUDA_NVRTC_LIB} ${CUDA_CUDA_LIB} ${TORCH_CUDA_LIBRARIES}) ++ foreach(LIB IN LISTS TEST_JIT_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in test_jit's RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND TEST_JIT_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("TEST_JIT_RPATH: ${TEST_JIT_RPATH}") ++ set_target_properties(test_jit PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(test_jit PROPERTIES INSTALL_RPATH "${TEST_JIT_RPATH}") ++ + target_compile_definitions(test_jit PRIVATE USE_CUDA) + elseif(USE_ROCM) + target_link_libraries(test_jit PRIVATE +diff -Nru pytorch.orig/test/cpp/rpc/CMakeLists.txt pytorch/test/cpp/rpc/CMakeLists.txt +--- pytorch.orig/test/cpp/rpc/CMakeLists.txt 2021-11-17 11:46:02.991350652 +0100 ++++ pytorch/test/cpp/rpc/CMakeLists.txt 2021-11-18 19:06:30.502306793 +0100 +@@ -39,6 +39,22 @@ + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of test_cpp_rpc: ++ set(CPP_RPC_LIBS ${CUDA_LIBRARIES} ${CUDA_NVRTC_LIB} ${CUDA_CUDA_LIB} ${TORCH_CUDA_LIBRARIES}) ++ foreach(LIB IN LISTS CPP_RPC_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in caffe2_nvrtc's RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND CPP_RPC_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("CPP_RPC_RPATH: ${CPP_RPC_RPATH}") ++ set_target_properties(test_cpp_rpc PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(test_cpp_rpc PROPERTIES INSTALL_RPATH "${CPP_RPC_RPATH}") ++ + target_compile_definitions(test_cpp_rpc PRIVATE "USE_CUDA") + endif() + +diff -Nru pytorch.orig/test/cpp/tensorexpr/CMakeLists.txt pytorch/test/cpp/tensorexpr/CMakeLists.txt +--- pytorch.orig/test/cpp/tensorexpr/CMakeLists.txt 2021-11-17 11:46:02.993350674 +0100 ++++ pytorch/test/cpp/tensorexpr/CMakeLists.txt 2021-11-18 19:06:00.988984273 +0100 +@@ -62,6 +62,24 @@ + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + target_compile_definitions(tutorial_tensorexpr PRIVATE USE_CUDA) ++ ++ # Make sure the CUDA stubs folder doesn't end up in the RPATH of tutorial_tensorexpr: ++ set(CUDA_LINK_LIBS ${CUDA_LIBRARIES} ${CUDA_NVRTC_LIB} ${CUDA_CUDA_LIB} ${TORCH_CUDA_LIBRARIES}) ++ foreach(LIB IN LISTS CUDA_LINK_LIBS) ++ message("LIB: ${LIB}") ++ if(LIB MATCHES "stubs") ++ message("Filtering ${LIB} from being set in test_tensorexpr and tutorial_tensorexpr RPATH, because it appears to point to the CUDA stubs directory, which should not be RPATHed.") ++ else() ++ cmake_path(GET LIB PARENT_PATH LIB_PATH) ++ message("LIBPATH: ${LIB_PATH}") ++ list(APPEND TENSOREXPR_RPATH ${LIB_PATH}) ++ endif() ++ endforeach() ++ message("TENSOREXPR_RPATH: ${TENSOREXPR_RPATH}") ++ set_target_properties(test_tensorexpr PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(test_tensorexpr PROPERTIES INSTALL_RPATH "${TENSOREXPR_RPATH}") ++ set_target_properties(tutorial_tensorexpr PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(tutorial_tensorexpr PROPERTIES INSTALL_RPATH "${TENSOREXPR_RPATH}") + elseif(USE_ROCM) + target_link_libraries(test_tensorexpr PRIVATE + ${ROCM_HIPRTC_LIB} diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_failing_ops_tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_failing_ops_tests.patch new file mode 100644 index 00000000000..77190dc7a9f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_failing_ops_tests.patch @@ -0,0 +1,33 @@ +# Author: Caspar van Leeuwen, SURF +# Test 'test_fn_grad_linalg_det_singular_cpu_complex128' was failing +# It was noticed by the PyTorch devs that this is flaky and recommended to skip it for now +# See https://github.com/pytorch/pytorch/issues/67767 +# Test 'test_variant_consistency_jit_contiguous_cpu_float32' was also failing +# However, the test passes when run individually +# See https://github.com/pytorch/pytorch/issues/67838 +diff -Nru pytorch.orig/torch/testing/_internal/common_methods_invocations.py pytorch/torch/testing/_internal/common_methods_invocations.py +--- pytorch.orig/torch/testing/_internal/common_methods_invocations.py 2021-11-02 15:50:14.328727067 +0100 ++++ pytorch/torch/testing/_internal/common_methods_invocations.py 2021-11-04 12:04:29.794149360 +0100 +@@ -6448,7 +6448,10 @@ + supports_forward_ad=True, + autodiff_fusible_nodes=['aten::contiguous'], + assert_jit_shape_analysis=True, +- supports_out=False), ++ supports_out=False, ++ skips=( ++ DecorateInfo(unittest.skip("Skipped!"), 'TestJit', 'test_variant_consistency_jit', device_type='cpu'), ++ )), + OpInfo('symeig', + dtypes=floating_and_complex_types(), + check_batched_gradgrad=False, +@@ -7060,6 +7063,10 @@ + # Probable fix (open PR): https://github.com/pytorch/pytorch/pull/62570 + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad', device_type='cuda', + dtypes=(torch.complex128,)), ++ # It also breaks on CPU. We'll revisit this once `linalg.lu_solve` is a thing ++ # See https://github.com/pytorch/pytorch/pull/64387 and https://github.com/pytorch/pytorch/issues/67767 ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad', ++ dtypes=(torch.complex128,)), + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + # This test fails because singular inputs cannot be reliably diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_nan_tests_openblas.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_nan_tests_openblas.patch new file mode 100644 index 00000000000..7a7927e87a7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.10.0_skip_nan_tests_openblas.patch @@ -0,0 +1,54 @@ +# Author: Caspar van Leeuwen, SURF +# Skip tests that fail due to how OpenBLAS 0.3.15 and later handle NaN inputs +# This affects the following tests: +# ERROR: test_norm_extreme_values_cpu (__main__.TestLinalgCPU) +# FAIL: test_svd_errors_and_warnings_cpu_complex64 (__main__.TestLinalgCPU) +# FAIL: test_svd_errors_and_warnings_cpu_float32 (__main__.TestLinalgCPU) +# FAIL: test_svd_errors_and_warnings_cpu_float64 (__main__.TestLinalgCPU) +# See https://github.com/pytorch/pytorch/issues/67693 +diff -Nru pytorch.orig/test/test_linalg.py pytorch/test/test_linalg.py +--- pytorch.orig/test/test_linalg.py 2021-11-02 15:50:15.433729841 +0100 ++++ pytorch/test/test_linalg.py 2021-11-03 10:46:52.910339202 +0100 +@@ -1873,6 +1873,11 @@ + # These cases are broken because of another issue with svd + # https://github.com/pytorch/pytorch/issues/52633 + return True ++ if self.device_type == 'cpu': ++ if torch.any(torch.isnan(x)): ++ # This case is broken when cpu backend is OpenBLAS >= 0.3.15 ++ # See https://github.com/pytorch/pytorch/issues/67693 ++ return True + return False + + for matrix in matrices: +@@ -2896,15 +2901,17 @@ + # error from out_v + svd(a, out=(out_u, out_s, out_v)) + ++ # Skip test for NaNs, it fails with OpenBLAS since it produces a different error than expected ++ # See https://github.com/pytorch/pytorch/issues/67693 + # if input contains NaN then an error is triggered for svd +- a = torch.full((3, 3), float('nan'), dtype=dtype, device=device) +- a[0] = float('nan') +- with self.assertRaisesRegex(RuntimeError, "The algorithm failed to converge"): +- svd(a) +- a = torch.randn(3, 33, 33, dtype=dtype, device=device) +- a[1, 0, 0] = float('nan') +- with self.assertRaisesRegex(RuntimeError, r"\(Batch element 1\): The algorithm failed to converge"): +- svd(a) ++ # a = torch.full((3, 3), float('nan'), dtype=dtype, device=device) ++ # a[0] = float('nan') ++ # with self.assertRaisesRegex(RuntimeError, "The algorithm failed to converge"): ++ # svd(a) ++ # a = torch.randn(3, 33, 33, dtype=dtype, device=device) ++ # a[1, 0, 0] = float('nan') ++ # with self.assertRaisesRegex(RuntimeError, r"\(Batch element 1\): The algorithm failed to converge"): ++ # svd(a) + + @skipCUDAIfNoMagmaAndNoCusolver + @skipCPUIfNoLapack +Binary files pytorch.orig/torch/__pycache__/autocast_mode.cpython-39.pyc and pytorch/torch/__pycache__/autocast_mode.cpython-39.pyc differ +Binary files pytorch.orig/torch/__pycache__/__init__.cpython-39.pyc and pytorch/torch/__pycache__/__init__.cpython-39.pyc differ +Binary files pytorch.orig/torch/__pycache__/torch_version.cpython-39.pyc and pytorch/torch/__pycache__/torch_version.cpython-39.pyc differ +Binary files pytorch.orig/torch/__pycache__/_utils.cpython-39.pyc and pytorch/torch/__pycache__/_utils.cpython-39.pyc differ +Binary files pytorch.orig/torch/__pycache__/_utils_internal.cpython-39.pyc and pytorch/torch/__pycache__/_utils_internal.cpython-39.pyc differ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..a20df9fa1e0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,148 @@ +name = 'PyTorch' +version = '1.11.0' +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': '2021a'} + +source_urls = ['https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_fix-XNNPACK-tests.patch', + 'PyTorch-1.10.0_skip_cmake_rpath.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch', + 'PyTorch-1.11.0_fix-attention_cpp-compilation.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix_sharded_imports.patch', + 'PyTorch-1.11.0_fix_skip_jit_cuda_fuser.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + 'PyTorch-1.11.0_increase_test_tolerances_TF32.patch', + 'PyTorch-1.11.0_increase-tolerance-test_ops.patch', + 'PyTorch-1.11.0_install-vsx-vec-headers.patch', + 'PyTorch-1.11.0_skip_failing_ops_tests.patch', + 'PyTorch-1.11.1_skip-test_init_from_local_shards.patch', + 'PyTorch-1.11.1_skip-test_sibling_fusion.patch', +] +checksums = [ + 'dc0c2b8d13c112a2b9ea8757a475b0ce2ca97cd19c50a8b70b8c286676616f1d', # pytorch-v1.11.0.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_fix-XNNPACK-tests.patch + 'd3e749a2a42efce463e3b8a1aebb21f0edf2256682c4417297d9a44a6210e5f8', + 'ac05943bb205623f91ef140aa00869efc5fe844184bd666bebf5405808610448', # PyTorch-1.10.0_skip_cmake_rpath.patch + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + # PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch + 'e7bfe120a8b3fe2b40dac6839852a5fbab3cb3429fbe44a0fc3a1800adaaee51', + # PyTorch-1.11.0_fix-attention_cpp-compilation.patch + '84214fcc7e30cf70659a7c3bd70bf11e73d58fd4f7fff2c233e3225619b0e42c', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '9a04f4285b800dad8a00c3014af0a9713d40d5dd35d10931c7c0da4e89c558e9', # PyTorch-1.11.0_fix_sharded_imports.patch + '21fc678febcdfbb9dabd72235be23cd392044e9a954f6580d15b530e1f69dcc1', # PyTorch-1.11.0_fix_skip_jit_cuda_fuser.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + # PyTorch-1.11.0_increase_test_tolerances_TF32.patch + '26e179a4f6f57e49209092612ae5f5cd8c03fd2ca84566ba0244eabefc3736ba', + # PyTorch-1.11.0_increase-tolerance-test_ops.patch + 'ceec745c68a405bba79efb4dc61c662ca84eb950cd0163c7104330f4bf614cf5', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + '8eaca92d64fcadb0552d28e9c7ea5c4bc669d2fe33004e45a3519ce8d0d136a2', # PyTorch-1.11.0_skip_failing_ops_tests.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + # PyTorch-1.11.1_skip-test_sibling_fusion.patch + '3d6f6395d98e8e4ad76b0b63c625fddf082cf7f066eb97d4d82401f96dab2555', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # This test fails on A10s at the very least, times out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # These tests appear flaky, possibly related to number of GPUs that are used + 'distributed/fsdp/test_fsdp_memory', + 'distributed/fsdp/test_fsdp_overlap', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +# several tests are known to be flaky, and fail in some contexts (like having multiple GPUs available), +# so we allow some (out of ~90k) tests to fail before treating the installation to be faulty +max_failed_tests = 1 + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/68912 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 = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch new file mode 100644 index 00000000000..c589c52b504 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_disable_failing_jit_cuda_fuser_tests.patch @@ -0,0 +1,50 @@ +# Author: Caspar van Leeuwen +# Company: SURF +# We've seen that these tests fail for version 1.11.0, see https://github.com/pytorch/pytorch/issues/76107 +# These failures probably point to underlying issues, but the PR that fixes them touches a ton of files +# It's near-impossible to cherry pick that, without causing other issues. Moreover, +# PyTorch devs have pointed out that nvfuser is not enabled by default in 1.11.0, so chances of anyone +# hitting these issues are very small +# We simply disable the tests and accept that in v 1.11.0 in PyTorch, this functionality is broken. +diff -Nru pytorch_orig/test/test_jit_cuda_fuser.py pytorch/test/test_jit_cuda_fuser.py +--- pytorch_orig/test/test_jit_cuda_fuser.py 2022-04-29 14:54:30.771378000 +0200 ++++ pytorch/test/test_jit_cuda_fuser.py 2022-04-29 14:05:54.067297000 +0200 +@@ -1313,6 +1313,12 @@ + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") ++ # Disable test, since it fails and nnfuser wasn't enabled by default in 1.11 ++ # Thus, even if this points to an underlying issue, it should be extremely rare that ++ # anyone hits it. ++ # See https://github.com/pytorch/pytorch/issues/76107 ++ # and https://github.com/easybuilders/easybuild-easyconfigs/pull/15137 ++ @unittest.skip("Skipping test that is known to fail, see PT #76107") + def test_native_layer_norm_bfloat(self): + dims = 4 + rnds = 3 +@@ -2828,6 +2834,12 @@ + @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") ++ # Disable test, since it fails and nnfuser wasn't enabled by default in 1.11 ++ # Thus, even if this points to an underlying issue, it should be extremely rare that ++ # anyone hits it. ++ # See https://github.com/pytorch/pytorch/issues/76107 ++ # and https://github.com/easybuilders/easybuild-easyconfigs/pull/15137 ++ @unittest.skip("Skipping test that is known to fail, see PT #76107") + def test_batch_norm_half(self): + with torch.backends.cudnn.flags(enabled=True): + setups = [ +@@ -2843,6 +2855,12 @@ + @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") ++ # Disable test, since it fails and nnfuser wasn't enabled by default in 1.11 ++ # Thus, even if this points to an underlying issue, it should be extremely rare that ++ # anyone hits it. ++ # See https://github.com/pytorch/pytorch/issues/76107 ++ # and https://github.com/easybuilders/easybuild-easyconfigs/pull/15137 ++ @unittest.skip("Skipping test that is known to fail, see PT #76107") + def test_batch_norm_impl_index_correctness(self): + with torch.backends.cudnn.flags(enabled=True): + batch = [2, 7, 16] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-attention_cpp-compilation.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-attention_cpp-compilation.patch new file mode 100644 index 00000000000..751e954f75f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-attention_cpp-compilation.patch @@ -0,0 +1,61 @@ +Fix failure to compile attention.cpp on some platforms, e.g. POWER. +I.e. those 3 errors: + +../aten/src/ATen/native/attention.cpp:145:46: error: call to deleted function 'double& at::vec::CPU_CAPABILITY::Vectorized::operator[](int)' + 145 | hmax = std::max(max_input[i], hmax); +[snip] +../aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h:190:11: note: declared here + 190 | double& operator[](int idx) = delete; + +../aten/src/ATen/native/attention.cpp:152:66: error: call to deleted function 'double& at::vec::CPU_CAPABILITY::Vectorized::operator[](int)' + 152 | hsum += std::exp(static_cast(v[i]) - hmax); + +../aten/src/ATen/native/attention.cpp:168:100: error: call to deleted function 'double& at::vec::CPU_CAPABILITY::Vectorized::operator[](int)' + 168 | input_data[t + i] = static_cast(std::exp(static_cast(v[i]) - hmax) * inv_denominator); + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/native/attention.cpp b/aten/src/ATen/native/attention.cpp +index 188de5e2cd..7f3e8e5af2 100644 +--- a/aten/src/ATen/native/attention.cpp ++++ b/aten/src/ATen/native/attention.cpp +@@ -140,22 +140,18 @@ void masked_softmax_dropout( + max_input = vec::maximum(max_input, v); + } + ++ __at_align__ scalar_t arr_max_input[V]; ++ max_input.store(arr_max_input); + auto hmax = std::numeric_limits::lowest(); + for (auto i = 0; i < V; ++i) { +- hmax = std::max(max_input[i], hmax); ++ hmax = std::max(arr_max_input[i], hmax); + } + accscalar_t hsum = 0; +- for (auto t = 0; t < T; t += V) { +- auto v = Vec::loadu(&input_data[t]); +- // TODO: vectorize in accscalar_t? +- for (auto i = 0; i < V; ++i) { +- hsum += std::exp(static_cast(v[i]) - hmax); +- } ++ for (auto t = 0; t < T; ++t) { ++ hsum += std::exp(static_cast(input_data[t]) - hmax); + } + auto inv_denominator = 1.0 / hsum; +- for (auto t = 0; t < T; t += V) { +- Vec v = Vec::loadu(&input_data[t]); +- ++ for (auto t = 0; t < T; ++t) { + // TODO: vectorize in accscalar_t? + // TODO this faster solution does not work on Android build + /* +@@ -164,9 +160,7 @@ void masked_softmax_dropout( + } + v.store(&input_data[t]); + */ +- for (auto i = 0; i < V; ++i) { +- input_data[t + i] = static_cast(std::exp(static_cast(v[i]) - hmax) * inv_denominator); +- } ++ input_data[t] = static_cast(std::exp(static_cast(input_data[t]) - hmax) * inv_denominator); + } + } + }); diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch new file mode 100644 index 00000000000..b690fc529d5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch @@ -0,0 +1,25 @@ +Fix use-after free leading to random failures in nn/test_embedding +on e.g. POWER platforms where FBGEMM isn't used + +From https://github.com/pytorch/pytorch/pull/84750 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +index 224a66f8abf..f4d018007bf 100644 +--- a/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp ++++ b/aten/src/ATen/native/quantized/cpu/qembeddingbag_prepack.cpp +@@ -252,9 +252,10 @@ Tensor& qembeddingbag_byte_prepack_out(Tensor& output, const Tensor& weight) { + } + + #else +- const auto weight_data = weight_contig->scalar_type() == at::ScalarType::Half +- ? weight_contig->to(at::ScalarType::Float).data_ptr() +- : weight_contig->data_ptr(); ++ const Tensor& float_weight = weight_contig->scalar_type() == at::ScalarType::Half ++ ? weight_contig->to(at::ScalarType::Float) ++ : *weight_contig; ++ const auto weight_data = float_weight.data_ptr(); + constexpr float kEpsilon = 1e-8f; + for (auto row : c10::irange(embedding_rows)) { + const float* input_row = weight_data + row * embedding_cols; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fsdp-fp16-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fsdp-fp16-test.patch new file mode 100644 index 00000000000..dc9159e5cf9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-fsdp-fp16-test.patch @@ -0,0 +1,35 @@ +The test fails on a node with more than 5 V100 GPUs or more than 4 A100 GPUs. +Hence limit the world_size to 4 +See https://github.com/pytorch/pytorch/issues/78975 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_fsdp.py b/torch/testing/_internal/common_fsdp.py +index ff0fbb69e3..6bf3e71fde 100644 +--- a/torch/testing/_internal/common_fsdp.py ++++ b/torch/testing/_internal/common_fsdp.py +@@ -324,7 +324,7 @@ class FSDPTest(MultiProcessTestCase): + + @property + def world_size(self): +- return torch.cuda.device_count() if torch.cuda.is_available() else 4 ++ return min(4, torch.cuda.device_count()) if torch.cuda.is_available() else 4 + + @property + def init_method(self): +diff --git a/test/distributed/fsdp/test_fsdp_pure_fp16.py b/test/distributed/fsdp/test_fsdp_pure_fp16.py +index eea03bea3d..d3a4bb8257 100644 +--- a/test/distributed/fsdp/test_fsdp_pure_fp16.py ++++ b/test/distributed/fsdp/test_fsdp_pure_fp16.py +@@ -32,6 +32,11 @@ if TEST_WITH_DEV_DBG_ASAN: + + class TestPureFP16(FSDPTest): + ++ @property ++ def world_size(self): ++ # Test fails due to inaccuracies when using more than 4 GPUs ++ return min(4, super().world_size) ++ + @skip_if_lt_x_gpu(2) + @parametrize( + "cpu_offload", diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-test_utils.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-test_utils.patch new file mode 100644 index 00000000000..a42166c927c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix-test_utils.patch @@ -0,0 +1,20 @@ +The function tested is dependent on the current locale and may fail on non-English systems. +See https://github.com/pytorch/pytorch/pull/85891 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index 9c6635f111..d99aae1ca2 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -292,7 +292,9 @@ def check_compiler_ok_for_platform(compiler: str) -> bool: + if any(name in compiler_path for name in _accepted_compilers_for_platform()): + return True + # If compiler wrapper is used try to infer the actual compiler by invoking it with -v flag +- version_string = subprocess.check_output([compiler, '-v'], stderr=subprocess.STDOUT).decode(*SUBPROCESS_DECODE_ARGS) ++ env = os.environ.copy() ++ env['LC_ALL'] = 'C' # Don't localize output ++ version_string = subprocess.check_output([compiler, '-v'], stderr=subprocess.STDOUT, env=env).decode(*SUBPROCESS_DECODE_ARGS) + if IS_LINUX: + # Check for 'gcc' or 'g++' for sccache warpper + pattern = re.compile("^COLLECT_GCC=(.*)$", re.MULTILINE) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_sharded_imports.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_sharded_imports.patch new file mode 100644 index 00000000000..7d46fdadd51 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_sharded_imports.patch @@ -0,0 +1,44 @@ +# Fixes a "NameError: name 'sharded_tensor' is not defined" error +# for the test_named_params_with_sharded_tensor test +# See https://github.com/pytorch/pytorch/pull/73309 +From 012d490ed76d8af8538d310a508b0e09a91b7632 Mon Sep 17 00:00:00 2001 +From: wanchaol +Date: Wed, 23 Feb 2022 12:10:39 -0800 +Subject: [PATCH] [shard] fix some imports in tests + +This fix some imports in sharded optimizer tests + +Differential Revision: [D34427252](https://our.internmc.facebook.com/intern/diff/D34427252/) + +[ghstack-poisoned] +--- + .../_shard/sharded_optim/test_sharded_optim.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/test/distributed/_shard/sharded_optim/test_sharded_optim.py b/test/distributed/_shard/sharded_optim/test_sharded_optim.py +index 085c928985eb..d3f1468aea3c 100644 +--- a/test/distributed/_shard/sharded_optim/test_sharded_optim.py ++++ b/test/distributed/_shard/sharded_optim/test_sharded_optim.py +@@ -2,7 +2,10 @@ + + import torch + import torch.optim as optim +-import torch.distributed._shard.sharded_tensor ++from torch.distributed._shard import ( ++ sharded_tensor, ++ shard_parameter ++) + + from copy import deepcopy + from torch.distributed._shard.sharding_spec import ( +@@ -77,8 +80,8 @@ def shard_parameter(self): + ], + ) + +- sharded_tensor.shard_parameter(self.linear1, "weight", rowwise_sharding_spec) +- sharded_tensor.shard_parameter(self.linear2, "weight", colwise_sharding_spec) ++ shard_parameter(self.linear1, "weight", rowwise_sharding_spec) ++ shard_parameter(self.linear2, "weight", colwise_sharding_spec) + + def forward(self, inp): + return self.linear2(self.gelu(self.linear1(inp))) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_skip_jit_cuda_fuser.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_skip_jit_cuda_fuser.patch new file mode 100644 index 00000000000..4368fb8f660 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_fix_skip_jit_cuda_fuser.patch @@ -0,0 +1,439 @@ +# Author: Caspar van Leeuwen +# Company: SURF +# The CudaFuser test suite checks CUDA capabilities, even if 'RUN_CUDA' is false. +# That makes the test fail on non-GPU nodes. +# In this patch, I wrapped the logic in 'if RUN_CUDA' blocks in order to make sure +# no CUDA calls are made when RUN_CUDA=false +# Furthermore, I swapped all occurences of @unittest.skipIf(not RUN_CUDA, ...) and @unittest.skipIf(is_pre_volta()) +# The latter check is a more specific 'skip' condition: you should only check if a GPU is pre-volta, +# if there are CUDA devices present to begin with. Again, doing this in the wrong order would incur CUDA calls +# on non-CUDA nodes. +# Note that this has been fixed in master, so we probably don't need this patch beyond PT 1.11 +diff -Nru pytorch-1.11.0-rc3.orig/test/test_jit_cuda_fuser.py pytorch-1.11.0-rc3/test/test_jit_cuda_fuser.py +--- pytorch-1.11.0-rc3.orig/test/test_jit_cuda_fuser.py 2022-02-24 18:06:55.180421593 +0100 ++++ pytorch-1.11.0-rc3/test/test_jit_cuda_fuser.py 2022-02-25 13:30:47.112845480 +0100 +@@ -57,18 +57,25 @@ + torch._C._jit_set_nvfuser_horizontal_mode(old_value) + + def is_pre_volta(): +- prop = torch.cuda.get_device_properties(torch.cuda.current_device()) +- return prop.major < 7 +- +-TEST_BF16 = torch.cuda.is_bf16_supported() ++ if RUN_CUDA: ++ prop = torch.cuda.get_device_properties(torch.cuda.current_device()) ++ return prop.major < 7 ++ else: ++ return True ++ ++if RUN_CUDA: ++ TEST_BF16 = torch.cuda.is_bf16_supported() ++else: ++ TEST_BF16=False + + class TestCudaFuser(JitTestCase): + +- special_values = torch.tensor( +- [float("-inf"), -10, -math.pi, +- -1, -0.5, 0, 1, 0.5, +- math.pi, 10, float("inf"), +- float("nan")], dtype=torch.float, device='cuda') ++ if RUN_CUDA: ++ special_values = torch.tensor( ++ [float("-inf"), -10, -math.pi, ++ -1, -0.5, 0, 1, 0.5, ++ math.pi, 10, float("inf"), ++ float("nan")], dtype=torch.float, device='cuda') + + int_types = [ + torch.int8, +@@ -253,8 +260,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x, y, z, q), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_reduction_dtypes_axis(self): +@@ -1120,8 +1127,8 @@ + self.assertTrue(self._compare("comparing output failed", o, jit_o, 1e-4)) + self.assertGraphContains(t_jit.graph_for(x, y), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_reduction(self): +@@ -1170,8 +1177,8 @@ + FileCheck().check(FUSION_GUARD).run(g) + FileCheck().check(FUSION_GUARD).run(v2.graph) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_layer_norm_autodiff(self): +@@ -1212,8 +1219,8 @@ + args.append(torch.randn(shapes, dtype=torch.float32, device="cuda").requires_grad_()) + self._layer_norm_autodiff_helper(m, grad, shapes, args) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_layer_norm_parser(self): +@@ -1273,8 +1280,8 @@ + self.assertGraphContains(t_jit.graph_for(x), FUSION_GUARD) + + @unittest.skipIf(True, "codegen failure awaiting fix") +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_native_layer_norm(self): +@@ -1288,8 +1295,8 @@ + self._native_layer_norm_helper(input_shape, norm_shape, torch.float32, "cuda", 1e-4, affine) + + @unittest.skipIf(True, "codegen failure awaiting fix") +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_native_layer_norm_half(self): +@@ -1301,8 +1308,8 @@ + norm_shape = [input_shape[idx] for idx in range(dims - offset, dims)] + self._native_layer_norm_helper(input_shape, norm_shape, torch.float16, "cuda", 5e-3) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") +@@ -1362,8 +1369,8 @@ + self.assertTrue(self._compare("comparing running_var failed", eager_running_var, jit_running_var, error)) + self.assertGraphContains(t_jit.graph_for(x, running_mean, running_var), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_norm_channels_last(self): +@@ -1374,8 +1381,8 @@ + for mf in [torch.channels_last, torch.contiguous_format]: + self._norm_helper(size, torch.float32, "cuda", 1e-4, is_batch_norm_else_instance_norm, memory_format=mf) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_norm(self): +@@ -1391,8 +1398,8 @@ + x[1] = C + self._norm_helper(x, torch.float32, "cuda", 1e-4, is_batch_norm_else_instance_norm) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_norm_large(self): +@@ -1407,8 +1414,8 @@ + x[1] = C + self._norm_helper(x, torch.float32, "cuda", 1e-4, is_batch_norm_else_instance_norm) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_norm_half(self): +@@ -1424,8 +1431,8 @@ + x[1] = C + self._norm_helper(x, torch.float16, "cuda", 5e-3, is_batch_norm_else_instance_norm) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") +@@ -1469,8 +1476,8 @@ + self.assertTrue(self._compare("comparing output failed", o, jit_o, error)) + self.assertGraphContains(t_jit.graph_for(x, y), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_softmax_dtype(self): +@@ -1511,8 +1518,8 @@ + )[0].graph + FileCheck().check(FUSION_GUARD).run(bwd_graph) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test__softmax_function(self): +@@ -1535,8 +1542,8 @@ + self.assertTrue(self._compare("comparing output failed", o, jit_o, 1e-3)) + self.assertGraphContainsExactly(t_jit.graph_for(x, y), FUSION_GUARD, 1, consider_subgraphs=True) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test__softmax_function_half_to_float(self): +@@ -1559,8 +1566,8 @@ + self.assertTrue(self._compare("comparing output failed", o, jit_o, 1e-3)) + self.assertGraphContainsExactly(t_jit.graph_for(x, y), FUSION_GUARD, 1, consider_subgraphs=True) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_softmax(self): +@@ -1575,8 +1582,8 @@ + x[reduction_dim] = reduction_size + self._softmax_helper(x, reduction_dim, torch.float32, "cuda", 1e-4) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_softmax_half(self): +@@ -1591,8 +1598,8 @@ + x[reduction_dim] = reduction_size + self._softmax_helper(x, reduction_dim, torch.float16, "cuda", 5e-3) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") +@@ -1608,8 +1615,8 @@ + x[reduction_dim] = reduction_size + self._softmax_helper(x, reduction_dim, torch.bfloat16, "cuda", 1e-1) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_reduction_permutation(self): +@@ -1622,8 +1629,8 @@ + for perm1 in itertools.permutations(range(len(x))): + self._reduction_helper(x, axes, torch.float32, "cuda", perm0, perm1) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_reduction_multiple_output(self): +@@ -1767,8 +1774,8 @@ + self.assertEqual(o, jit_o) + ''' + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_pw_single_reduction_partition(self): +@@ -1792,8 +1799,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x, y, z), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_permutation_preservation(self): +@@ -1830,8 +1837,8 @@ + self.assertGraphContains(t_jit.graph_for(x), FUSION_GUARD) + self.assertTrue(jit_o.is_contiguous(memory_format=torch.channels_last)) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_normalization_partition(self): +@@ -1858,8 +1865,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x, y, z, r_m, r_v), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_sum_to_one(self): +@@ -1879,8 +1886,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_single_reduction_broadcast(self): +@@ -1903,8 +1910,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x, y, z), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_trivial_reduction(self): +@@ -1940,8 +1947,8 @@ + repro_jit = torch.jit.script(repro) + self._run_helper(repro_jit, repro, x, 0.6) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_reduction_sizes_op(self): +@@ -1964,8 +1971,8 @@ + # have been optimized away + self.assertGraphContainsExactly(t_jit.graph_for(x, y), FUSION_GUARD, 0) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_profile_ivalue(self): +@@ -1987,8 +1994,8 @@ + self.assertEqual(o, jit_o) + self.assertGraphContains(t_jit.graph_for(x, y, (0, 1), False), FUSION_GUARD) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_sum_to_size(self): +@@ -2021,8 +2028,8 @@ + self.assertEqual(o.dtype, jit_o.dtype) + self.assertEqual(o, jit_o) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_grad_sum_to_size(self): +@@ -2145,8 +2152,8 @@ + self.assertTrue((percent_zeros >= (prob - 0.01)) and (percent_zeros <= (prob + 0.01))) + self.assertGraphContainsExactly(t_jit.graph_for(x, prob, True), FUSION_GUARD, 1, consider_subgraphs=True) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_dropout_training_fusion(self): +@@ -2294,8 +2301,8 @@ + self.assertEqual(x.grad.dtype, x.dtype) + self.assertEqual(y.grad.dtype, y.dtype) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_autocast_1(self): +@@ -2331,8 +2338,8 @@ + self.assertEqual(x.grad.dtype, x.dtype) + self.assertEqual(y.grad.dtype, y.dtype) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_autocast_2(self): +@@ -2367,8 +2374,8 @@ + self.assertEqual(jit_o.dtype, torch.float) + self.assertEqual(x.grad.dtype, x.dtype) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") +@@ -2405,8 +2412,8 @@ + self.assertEqual(x.grad.dtype, x.dtype) + self.assertEqual(y.grad.dtype, y.dtype) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + @unittest.skipIf(not TEST_BF16, "device does not support BFloat16") +@@ -2817,8 +2824,8 @@ + ref_module.bn.running_var, + e0)) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_batch_norm_half(self): +@@ -2832,8 +2839,8 @@ + training, track_running_stats = training_and_track + self._test_batch_norm_impl_index_helper(4, 8, 5, affine, track_running_stats, training, torch.half) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_batch_norm_impl_index_correctness(self): +@@ -2947,8 +2954,8 @@ + self.assertGraphContainsExactly(graph, FUSION_GROUP, 0) + self.assertGraphContains(graph, 'prim::add_optional', True) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_remove_output_used_only_in_dtype(self): +@@ -2980,8 +2987,8 @@ + graph = jitted.graph_for(x, y) + self.assertGraphContains(graph, FUSION_GROUP, True) + +- @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_fix_shape_expression_bn(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-distributed-test-timeout.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-distributed-test-timeout.patch new file mode 100644 index 00000000000..05ff461fc44 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-distributed-test-timeout.patch @@ -0,0 +1,17 @@ +It seems the timeout for the distributed tests is set to low and spurious failures can be seen +Increase it by a factor of 6 similar to torch/testing/_internal/distributed/distributed_test.py + +Original patch by Alexander Grund (TU Dresden), updated by Caspar van Leeuwen (SURF) + +diff -Nru pytorch-1.11.0-rc3.orig/torch/testing/_internal/common_distributed.py pytorch-1.11.0-rc3/torch/testing/_internal/common_distributed.py +--- pytorch-1.11.0-rc3.orig/torch/testing/_internal/common_distributed.py 2022-02-24 18:07:16.414274654 +0100 ++++ pytorch-1.11.0-rc3/torch/testing/_internal/common_distributed.py 2022-02-24 18:08:31.772851148 +0100 +@@ -321,7 +321,7 @@ + # TSAN runs much slower. + TIMEOUT_DEFAULT = 500 + else: +- TIMEOUT_DEFAULT = 100 ++ TIMEOUT_DEFAULT = 600 + TIMEOUT_OVERRIDE = {"test_ddp_uneven_inputs": 400} + + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-tolerance-test_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-tolerance-test_ops.patch new file mode 100644 index 00000000000..69d58f7a334 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase-tolerance-test_ops.patch @@ -0,0 +1,22 @@ +`test_out` may fail due to slightly different values caused by different order of matrizes in SGEMM: + +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 1.430511474609375e-05 at index (4, 5) (up to 1e-05 allowed) +> Greatest relative difference: 4.65393206065873e-06 at index (4, 5) (up to 1.3e-06 allowed) + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_ops.py b/test/test_ops.py +index 291361d53d..2e0597376d 100644 +--- a/test/test_ops.py ++++ b/test/test_ops.py +@@ -418,6 +418,9 @@ class TestCommon(TestCase): + self.skipTest("Skipped! Op has not supported dtypes on this device.") + dtype = torch.float32 if torch.float32 in supported_dtypes else list(supported_dtypes)[0] + ++ if dtype is torch.float32: ++ self.precision, self.rel_tol = (1.5e-05, 1e-05) ++ + # NOTE: only tests on first sample + samples = op.sample_inputs(device, dtype) + sample = first_sample(self, samples) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_c10d_gloo_timeout.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_c10d_gloo_timeout.patch new file mode 100644 index 00000000000..15d6be2f463 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_c10d_gloo_timeout.patch @@ -0,0 +1,16 @@ +# Author: Caspar van Leeuwen +# Institute: SURF +# Increase timeout for c10d gloo process group operations since test_allreduce_coalesced_basics +# was failing with a timeout (see https://github.com/easybuilders/easybuild-easyconfigs/pull/15137) +diff -Nru pytorch/test/distributed/test_c10d_gloo.py pytorch_orig/test/distributed/test_c10d_gloo.py +--- pytorch/test/distributed/test_c10d_gloo.py 2022-04-19 15:27:48.540163735 +0200 ++++ pytorch_orig/test/distributed/test_c10d_gloo.py 2022-04-07 18:31:13.110755000 +0200 +@@ -216,7 +216,7 @@ + + def opts(self, threads=2): + opts = c10d.ProcessGroupGloo._Options() +- opts._timeout = 5.0 ++ opts._timeout = 50.0 + opts._devices = [create_device(interface=LOOPBACK)] + opts._threads = threads + return opts diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_test_tolerances_TF32.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_test_tolerances_TF32.patch new file mode 100644 index 00000000000..38a6d0eee38 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_increase_test_tolerances_TF32.patch @@ -0,0 +1,143 @@ +# Author: Caspar van Leeuwen, SURF +# Fixes failing tests due to use of TensorFloat32 +# Setting NVIDIA_TF32_OVERRIDE=0 makes these tests pass, proving that TensorFloat32 is the issue +# We increase tolerances for the asserts to make these tests pass +diff -Nru pytorch_orig/test/distributed/_shard/sharded_tensor/ops/test_linear.py pytorch/test/distributed/_shard/sharded_tensor/ops/test_linear.py +--- pytorch_orig/test/distributed/_shard/sharded_tensor/ops/test_linear.py 2022-04-07 18:31:13.069599000 +0200 ++++ pytorch/test/distributed/_shard/sharded_tensor/ops/test_linear.py 2022-04-07 18:32:32.877406000 +0200 +@@ -77,7 +77,7 @@ + local_output = local_linear(inp) + + # Verify +- self.assertEqual(local_output, sharded_output) ++ self.assertEqual(local_output, sharded_output, rtol=0.02, atol=1e-03) + + # Validate for torch.nn.functional.linear version. + local_output = torch.nn.functional.linear( +@@ -91,7 +91,7 @@ + # for reshard. We need to squeeze the # of dimensions manually. + if inp.dim() == 1: + sharded_output = sharded_output.squeeze(reshard_spec.dim) +- self.assertEqual(local_output, sharded_output) ++ self.assertEqual(local_output, sharded_output, rtol=0.02, atol=1e-03) + + # Compute loss and run backward pass. + local_output.sum().backward() +@@ -114,7 +114,7 @@ + + # Test backward gradient calculation. + self.assertEqual(sharded_linear.bias.grad, local_bias_grad) +- self.assertEqual(sharded_weight.grad, local_grad_narrowed) ++ self.assertEqual(sharded_weight.grad, local_grad_narrowed, rtol=0.01, atol=1e-03) + + # Test optimizer. + previous = local_linear.weight.clone().detach() +@@ -135,7 +135,7 @@ + ) + self.assertEqual(sharded_weight.size(), local_weight_narrowed.size()) + self.assertNotEqual(previous_sharded_weight, sharded_weight) +- self.assertEqual(sharded_weight, local_weight_narrowed) ++ self.assertEqual(sharded_weight, local_weight_narrowed, rtol=0.01, atol=1e-04) + self.assertNotEqual(previous_sharded_bias, sharded_linear.bias) + self.assertEqual(sharded_linear.bias, local_linear.bias) + +diff -Nru pytorch_orig/test/distributed/_shard/sharded_tensor/test_megatron_prototype.py pytorch/test/distributed/_shard/sharded_tensor/test_megatron_prototype.py +--- pytorch_orig/test/distributed/_shard/sharded_tensor/test_megatron_prototype.py 2022-04-07 18:31:13.091710000 +0200 ++++ pytorch/test/distributed/_shard/sharded_tensor/test_megatron_prototype.py 2022-04-07 18:41:03.744644000 +0200 +@@ -113,7 +113,7 @@ + local_output = local_megatron_lm(inp) + + # Verify +- self.assertEqual(local_output, sharded_output) ++ self.assertEqual(local_output, sharded_output, rtol=0.01, atol=1e-03) + + # Compute loss and run backward pass. + local_output.sum().backward() +@@ -161,9 +161,9 @@ + ) + + # Test backward gradient calculation. +- self.assertEqual(sharded_weight_fc1.grad, local_grad_narrowed_fc1) +- self.assertEqual(sharded_weight_fc2.grad, local_grad_narrowed_fc2) +- self.assertEqual(bias_grad_fc1, local_bias_grad_fc1) ++ self.assertEqual(sharded_weight_fc1.grad, local_grad_narrowed_fc1, rtol=0.01, atol=2e-03) ++ self.assertEqual(sharded_weight_fc2.grad, local_grad_narrowed_fc2, rtol=0.01, atol=1e-03) ++ self.assertEqual(bias_grad_fc1, local_bias_grad_fc1, rtol=0.01, atol=2e-02) + self.assertEqual(bias_grad_fc2, local_bias_grad_fc2) + + # Test optimizer. +@@ -171,7 +171,7 @@ + local_bias_fc1, local_bias_fc2 = _get_bias(local_megatron_lm) + self.assertEqual(bias_fc1, local_bias_fc1) + self.assertEqual(bias_fc2, local_bias_fc2) +- self.assertEqual(bias_fc1.grad, local_bias_fc1.grad) ++ self.assertEqual(bias_fc1.grad, local_bias_fc1.grad, rtol=0.01, atol=2e-02) + self.assertEqual(bias_fc2.grad, local_bias_fc2.grad) + previous_sharded_weight_fc1 = sharded_weight_fc1.clone() + previous_sharded_weight_fc2 = sharded_weight_fc2.clone() +@@ -197,13 +197,13 @@ + self.assertEqual(sharded_weight_fc2.size(), local_weight_fc2_narrowed.size()) + self.assertNotEqual(previous_sharded_weight_fc1, sharded_weight_fc1) + self.assertNotEqual(previous_sharded_weight_fc2, sharded_weight_fc2) +- self.assertEqual(sharded_weight_fc1, local_weight_fc1_narrowed) +- self.assertEqual(sharded_weight_fc2, local_weight_fc2_narrowed) ++ self.assertEqual(sharded_weight_fc1, local_weight_fc1_narrowed, rtol=0.01, atol=1e-03) ++ self.assertEqual(sharded_weight_fc2, local_weight_fc2_narrowed, rtol=0.01, atol=1e-03) + + # Test bias value after optimizer. + local_bias_fc1, local_bias_fc2 = _get_bias(local_megatron_lm) + self.assertNotEqual(previous_bias_fc1, bias_fc1) +- self.assertEqual(bias_fc1, local_bias_fc1) ++ self.assertEqual(bias_fc1, local_bias_fc1, rtol=0.01, atol=1e-03) + self.assertNotEqual(previous_bias_fc2, bias_fc2) + self.assertEqual(bias_fc2, local_bias_fc2) + +diff -Nru pytorch_orig/test/test_stateless.py pytorch/test/test_stateless.py +--- pytorch_orig/test/test_stateless.py 2022-04-07 18:31:13.029968000 +0200 ++++ pytorch/test/test_stateless.py 2022-04-07 18:43:46.723968000 +0200 +@@ -42,7 +42,7 @@ + # existing params in module. So here we expect the result to be the + # same as the input if the weight swapping went well. + res = _stateless.functional_call(module, parameters, x) +- self.assertEqual(x, res) ++ self.assertEqual(x, res, rtol=1e-04, atol=1e-04) + # check that the weight remain unmodified + cur_weight = to_check.l1.weight + uur_buffer = to_check.buffer +c PyTorch-1.11.0_increase_test_tolerances_TF32.patch +rig/test/test_jit_fuser_te.py pytorch/test/test_jit_fuser_te.py +--- pytorch_orig/test/test_jit_fuser_te.py 2022-04-07 18:31:13.046680000 +0200 ++++ pytorch/test/test_jit_fuser_te.py 2022-04-12 18:21:00.355114000 +0200 +@@ -956,7 +956,7 @@ + def test_lstm_traced(self): + for device in self.devices: + inputs = get_lstm_inputs(device) +- ge = self.checkTrace(LSTMCellF, inputs) ++ ge = self.checkTrace(LSTMCellF, inputs, atol=1e-4, rtol=1e-5) + graph = ge.graph_for(*inputs) + fusion_groups = self.findFusionGroups(graph) + # TODO: chunk +diff -Nru pytorch_orig/torch/testing/_internal/jit_utils.py pytorch/torch/testing/_internal/jit_utils.py +--- pytorch_orig/torch/testing/_internal/jit_utils.py 2022-04-07 18:28:54.339477000 +0200 ++++ pytorch/torch/testing/_internal/jit_utils.py 2022-04-12 18:19:59.614272000 +0200 +@@ -525,7 +525,7 @@ + def checkTrace(self, func, reference_tensors, input_tensors=None, + drop=None, allow_unused=False, verbose=False, + inputs_require_grads=True, check_tolerance=1e-5, export_import=True, +- _force_outplace=False): ++ _force_outplace=False, rtol=None, atol=None): + + # TODO: check gradients for parameters, not just inputs + def allSum(vs): +@@ -618,7 +618,10 @@ + + self.assertEqual(outputs, outputs_ge) + if inputs_require_grads: +- self.assertEqual(grads, grads_ge) ++ if atol is not None and rtol is not None: ++ self.assertEqual(grads, grads_ge, atol=atol, rtol=rtol) ++ else: ++ self.assertEqual(grads, grads_ge) + for g2, g2_ge in zip(grads2, grads2_ge): + if g2 is None and g2_ge is None: + continue diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_install-vsx-vec-headers.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_install-vsx-vec-headers.patch new file mode 100644 index 00000000000..628a59ec0a2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_install-vsx-vec-headers.patch @@ -0,0 +1,38 @@ +Add missing headers to the installation which fixes e.g. test_cpp_extensions_aot_ninja +See https://github.com/pytorch/pytorch/pull/85547 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt +index 5710eca27c..0cd15c2ad2 100644 +--- a/aten/src/ATen/CMakeLists.txt ++++ b/aten/src/ATen/CMakeLists.txt +@@ -56,7 +56,7 @@ if(NOT BUILD_CAFFE2 AND NOT BUILD_LITE_INTERPRETER) + EXCLUDE(ATen_CORE_TEST_SRCS "${ATen_CORE_TEST_SRCS}" ${ATen_CORE_EXCLUDED_TEST_SRCS}) + endif() + +-file(GLOB base_h "*.h" "detail/*.h" "cpu/*.h" "cpu/vec/vec512/*.h" "cpu/vec/vec256/*.h" "cpu/vec/*.h" "quantized/*.h") ++file(GLOB base_h "*.h" "detail/*.h" "cpu/*.h" "cpu/vec/vec512/*.h" "cpu/vec/vec256/*.h" "cpu/vec/vec256/vsx/*.h" "cpu/vec/*.h" "quantized/*.h") + file(GLOB base_cpp "*.cpp" "detail/*.cpp" "cpu/*.cpp") + file(GLOB cuda_h "cuda/*.h" "cuda/detail/*.h" "cuda/*.cuh" "cuda/detail/*.cuh") + file(GLOB cuda_cpp "cuda/*.cpp" "cuda/detail/*.cpp") +diff --git a/setup.py b/setup.py +index f1ebab7391..92de0367ac 100644 +--- a/setup.py ++++ b/setup.py +@@ -942,6 +942,7 @@ if __name__ == '__main__': + 'include/ATen/*.h', + 'include/ATen/cpu/*.h', + 'include/ATen/cpu/vec/vec256/*.h', ++ 'include/ATen/cpu/vec/vec256/vsx/*.h', + 'include/ATen/cpu/vec/vec512/*.h', + 'include/ATen/cpu/vec/*.h', + 'include/ATen/core/*.h', +@@ -1043,6 +1044,7 @@ if __name__ == '__main__': + 'include/THH/*.cuh', + 'include/THH/*.h*', + 'include/THH/generic/*.h', ++ 'include/sleef.h', + 'share/cmake/ATen/*.cmake', + 'share/cmake/Caffe2/*.cmake', + 'share/cmake/Caffe2/public/*.cmake', diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_skip_failing_ops_tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_skip_failing_ops_tests.patch new file mode 100644 index 00000000000..25bac0b7e1b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.0_skip_failing_ops_tests.patch @@ -0,0 +1,35 @@ +# Author: Caspar van Leeuwen +# Company: SURF +# Test 'test_fn_grad_linalg_det_singular_cpu_complex128' and test_variant_consistency_jit_contiguous_cpu_float32 fail +# See https://github.com/pytorch/pytorch/issues/67767 and https://github.com/pytorch/pytorch/issues/67838 +# For the first one, devs recommended to switch it off while they revisit the code. +# For the second: the test works interactively when run with +# python -m unittest test_ops.TestJitCPU.test_variant_consistency_jit_contiguous_cpu_float32 -v +# This shows there is no fundamental problem with the installation, +# but something in the environment when run as 'python run_test.py' makes it fail. +diff -Nru pytorch-1.11.0-rc3.orig/torch/testing/_internal/common_methods_invocations.py pytorch-1.11.0-rc3/torch/testing/_internal/common_methods_invocations.py +--- pytorch-1.11.0-rc3.orig/torch/testing/_internal/common_methods_invocations.py 2022-02-24 18:07:16.430276050 +0100 ++++ pytorch-1.11.0-rc3/torch/testing/_internal/common_methods_invocations.py 2022-02-24 19:38:11.610293957 +0100 +@@ -8791,7 +8791,10 @@ + supports_fwgrad_bwgrad=True, + autodiff_fusible_nodes=['aten::contiguous'], + assert_jit_shape_analysis=True, +- supports_out=False), ++ supports_out=False, ++ skips=( ++ DecorateInfo(unittest.skip("Skipped!"), 'TestJit', 'test_variant_consistency_jit', device_type='cpu'), ++ )), + OpInfo('sum_to_size', + op=lambda x, *args, **kwargs: x.sum_to_size(*args, **kwargs), + dtypes=floating_and_complex_types_and(torch.float16, torch.bfloat16), +@@ -9746,6 +9749,10 @@ + DecorateInfo(unittest.skip("Skipped!"), 'TestMathBits', 'test_neg_view', device_type='cuda'), + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), ++ # It also breaks on CPU. We'll revisit this once `linalg.lu_solve` is a thing ++ # See https://github.com/pytorch/pytorch/pull/64387 and https://github.com/pytorch/pytorch/issues/67767 ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad', ++ dtypes=(torch.complex128,)), + )), + OpInfo('linalg.cholesky', + aten_name='linalg_cholesky', diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_init_from_local_shards.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_init_from_local_shards.patch new file mode 100644 index 00000000000..c63d7193b7e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_init_from_local_shards.patch @@ -0,0 +1,25 @@ +The test often times out and seems to be considered flaky by PyTorch: +https://github.com/pytorch/pytorch/issues/78068 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/_shard/sharded_tensor/test_sharded_tensor.py b/test/distributed/_shard/sharded_tensor/test_sharded_tensor.py +index cbad9458ae..72a36e0e9a 100644 +--- a/test/distributed/_shard/sharded_tensor/test_sharded_tensor.py ++++ b/test/distributed/_shard/sharded_tensor/test_sharded_tensor.py +@@ -6,6 +6,7 @@ import io + import itertools + import pickle + import sys ++from unittest import skip + import torch + import torch.distributed as dist + from torch.distributed import rpc +@@ -1817,6 +1818,7 @@ class TestShardedTensorFromLocalShards(ShardedTensorTestBase): + @with_comms + @skip_if_lt_x_gpu(4) + @requires_nccl() ++ @skip("Times out often") + def test_init_from_local_shards(self): + local_shard_metadata = ShardMetadata( + shard_offsets=[(self.rank // 2) * 5, (self.rank % 2) * 5], diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_sibling_fusion.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_sibling_fusion.patch new file mode 100644 index 00000000000..6845706f484 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.11.1_skip-test_sibling_fusion.patch @@ -0,0 +1,17 @@ +The test fails on pre-volta devices as fusing the at::sum/at::add +is skipped if the device is not of compute capability >= 7 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_jit_cuda_fuser.py b/test/test_jit_cuda_fuser.py +index c03ff0b311..feb6e281f9 100644 +--- a/test/test_jit_cuda_fuser.py ++++ b/test/test_jit_cuda_fuser.py +@@ -3053,6 +3054,7 @@ class TestCudaFuser(JitTestCase): + self.assertGraphContainsExactly(graph, op, 0) + + @unittest.skipIf(not RUN_CUDA, "requires CUDA") ++ @unittest.skipIf(is_pre_volta(), "reduction not supported in pre volta device") + @unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.PROFILING, + "Requires fusion optimization pass to be effective") + def test_sibling_fusion(self): 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 new file mode 100644 index 00000000000..13b4fae31ae --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,191 @@ +name = 'PyTorch' +version = '1.12.0' +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + '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', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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'}, + {'PyTorch-1.7.0_avoid-nan-in-test-torch.patch': + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch': + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707'}, + {'PyTorch-1.10.0_fix-test-model_dump.patch': '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557'}, + {'PyTorch-1.10.0_fix-vsx-vector-functions.patch': + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312'}, + {'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch': + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.0_fix-fsdp-fp16-test.patch': 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13'}, + {'PyTorch-1.11.0_fix-test_utils.patch': '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861'}, + {'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch': + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953'}, + {'PyTorch-1.11.0_increase-distributed-test-timeout.patch': + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f'}, + {'PyTorch-1.11.0_install-vsx-vec-headers.patch': + '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': + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab'}, + {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch': + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch': + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695'}, + {'PyTorch-1.12.1_increase-tolerance-test_ops.patch': + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb'}, + {'PyTorch-1.12.1_no-cuda-stubs-rpath.patch': '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6'}, + {'PyTorch-1.12.1_python-3.10-annotation-fix.patch': + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7'}, + {'PyTorch-1.12.1_python-3.10-compat.patch': '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67'}, + {'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch': + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d'}, + {'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch': + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39'}, + {'PyTorch-1.12.1_skip-failing-grad-test.patch': + '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 = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = [ + '3.5', + '3.7', + '5.2', + '6.0', + '6.1', + '7.0', + '7.2', + '7.5', + '8.0', + '8.6', +] + +custom_opts = ['USE_CUPTI_SO=1'] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + # 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + # 'distributed/rpc/test_process_group_agent', + # This test fails constently when run as part of the test suite, but succeeds when run interactively + 'test_model_dump', + # These tests appear flaky, possibly related to number of GPUs that are used + 'distributed/fsdp/test_fsdp_memory', + 'distributed/fsdp/test_fsdp_overlap', + ] +} + +runtest = "cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s" + +# several tests are known to be flaky, and fail in some contexts (like having multiple GPUs available), +# so we allow up to 400 (out of ~90k) tests to fail before treating the installation to be faulty +max_failed_tests = 400 + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/68912 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 = ['%(name)s-check-cpp-extension.py'] + +moduleclass = 'ai' 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 new file mode 100644 index 00000000000..a361777ca2a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0-foss-2022a.eb @@ -0,0 +1,163 @@ +name = 'PyTorch' +version = '1.12.0' + +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + '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', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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'}, + {'PyTorch-1.7.0_avoid-nan-in-test-torch.patch': + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch': + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707'}, + {'PyTorch-1.10.0_fix-test-model_dump.patch': '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557'}, + {'PyTorch-1.10.0_fix-vsx-vector-functions.patch': + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312'}, + {'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch': + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.0_fix-fsdp-fp16-test.patch': 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13'}, + {'PyTorch-1.11.0_fix-test_utils.patch': '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861'}, + {'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch': + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953'}, + {'PyTorch-1.11.0_increase-distributed-test-timeout.patch': + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f'}, + {'PyTorch-1.11.0_install-vsx-vec-headers.patch': + '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': + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab'}, + {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch': + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch': + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695'}, + {'PyTorch-1.12.1_increase-tolerance-test_ops.patch': + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb'}, + {'PyTorch-1.12.1_no-cuda-stubs-rpath.patch': '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6'}, + {'PyTorch-1.12.1_python-3.10-annotation-fix.patch': + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7'}, + {'PyTorch-1.12.1_python-3.10-compat.patch': '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67'}, + {'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch': + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d'}, + {'PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch': + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39'}, + {'PyTorch-1.12.1_skip-failing-grad-test.patch': + '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 = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), +] + +osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + # 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + # 'distributed/rpc/test_process_group_agent', + # This test fails constently when run as part of the test suite, but succeeds when run interactively + 'test_model_dump', + # These tests appear flaky, possibly related to number of GPUs that are used + 'distributed/fsdp/test_fsdp_memory', + 'distributed/fsdp/test_fsdp_overlap', + ] +} + +runtest = "cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s" + +# several tests are known to be flaky, and fail in some contexts (like having multiple GPUs available), +# so we allow up to 400 (out of ~90k) tests to fail before treating the installation to be faulty +max_failed_tests = 400 + +tests = ['%(name)s-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch new file mode 100644 index 00000000000..644c5d87545 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch @@ -0,0 +1,48 @@ +There is a bug in the fallback path for the case where FBGEMM isn't available (e.g. on POWER) +which leads to a race condition: +Data is "copied" for the full buffer while it is processed in chunks by different threads. +This a) duplicates the work and b) might write incomplete/wrong data to the output. + +Found in failing test_embedding_bag_half_cpu_* of nn/test_embedding: +ERROR: test_embedding_bag_half_cpu_int32_int32 (__main__.TestEmbeddingNNDeviceTypeCPU) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/dev/shm/s3248973-EasyBuild/PyTorch/1.13.1/foss-2022a/pytorch-v1.13.1/test/nn/test_embedding.py", line 936, in _test_EmbeddingBag_vs_Embedding + self.assertEqual(output, ref_output, atol=dtype2prec_DONTUSE[wdtype], rtol=0) + File "/tmp/eb-tmp-2022a/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 2470, in assertEqual + assert_equal( + File "/tmp/eb-tmp-2022a/lib/python3.10/site-packages/torch/testing/_comparison.py", line 1093, in assert_equal + raise error_metas[0].to_error(msg) +AssertionError: Tensor-likes are not close! + +Mismatched elements: 1 / 4 (25.0%) +Greatest absolute difference: 1.18359375 at index (1, 1) (up to 0.01 allowed) +Greatest relative difference: 1.0 at index (1, 1) (up to 0 allowed) + + +Introduced by https://github.com/pytorch/pytorch/pull/74844 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/native/EmbeddingBag.cpp b/aten/src/ATen/native/EmbeddingBag.cpp +index 6d8cea26f52..604ea16bace 100644 +--- a/aten/src/ATen/native/EmbeddingBag.cpp ++++ b/aten/src/ATen/native/EmbeddingBag.cpp +@@ -246,7 +246,7 @@ index_select_add(const Tensor &select_indices, + /*scale_bias=*/nullptr, + /*normalize_by_lengths=*/false, + /*out=*/output_data_fp32 + start_idx * ddim); +- for (const auto i : c10::irange(output_size)) { ++ for (const auto i : c10::irange(start_idx, end_idx)) { + // Convert FP32 intermediate buffer result back to FP16 for output dtype + for (const auto d : c10::irange(ddim)) { + (output_data + i * ddim)[d] = static_cast((output_data_fp32 + ddim * i)[d]); +@@ -590,7 +590,7 @@ index_select_scale_add(const Tensor &select_indices, + /*scale_bias=*/nullptr, + /*normalize_by_lengths=*/false, + /*out=*/output_data_fp32 + start_idx * ddim); +- for (const auto i : c10::irange(output_size)) { ++ for (const auto i : c10::irange(start_idx, end_idx)) { + // Convert FP32 intermediate buffer result back to FP16 for output dtype + for (const auto d : c10::irange(ddim)) { + (output_data + i * ddim)[d] = static_cast((output_data_fp32 + ddim * i)[d]); 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-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..59ced2ffd4f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,159 @@ +name = 'PyTorch' +version = '1.12.1' +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': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + '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.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + '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', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + # PyTorch-1.12.1_add-hypothesis-suppression.patch + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch + '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('cuDNN', '8.2.1.32', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +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 +# https://github.com/pytorch/pytorch/pull/87593 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-1.12.1-foss-2021a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a.eb new file mode 100644 index 00000000000..25c318bf603 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021a.eb @@ -0,0 +1,142 @@ +name = 'PyTorch' +version = '1.12.1' + +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': '2021a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + '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.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + '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', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + # PyTorch-1.12.1_add-hypothesis-suppression.patch + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch + '1435fcac3234edc865479199673b902eb67f6a2bd046af7d731141f03594666d', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.20.1'), + ('hypothesis', '6.13.1'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.5'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.6.2'), + ('SciPy-bundle', '2021.05'), + ('typing-extensions', '3.10.0.0'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.2.0'), + ('expecttest', '0.1.3'), +] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb new file mode 100644 index 00000000000..f985f5736c1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b-CUDA-11.5.2.eb @@ -0,0 +1,179 @@ +name = 'PyTorch' +version = '1.12.1' +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': '2021b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + '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.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', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7', + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + # PyTorch-1.12.1_add-hypothesis-suppression.patch + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', + # PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch + 'd97cd6b0570a167ecc3e631dc4ea884d95ace285cc38aa980566f4fec2c0d089', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin.patch + '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.22.1'), + ('hypothesis', '6.14.6'), +] + +dependencies = [ + ('CUDA', '11.5.2', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.6'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.7.1'), + ('SciPy-bundle', '2021.10'), + ('typing-extensions', '3.10.0.2'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.3.2'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.10.3', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Broken on CUDA 11.5+(?): https://github.com/pytorch/pytorch/issues/75375 + 'distributions/test_constraints', + # Those 2 abort on some machines. Skip for now + 'distributed/fsdp/test_fsdp_input', + 'distributed/fsdp/test_fsdp_mixed_precision', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +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 +# https://github.com/pytorch/pytorch/pull/87593 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-1.12.1-foss-2021b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b.eb new file mode 100644 index 00000000000..7789981c294 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2021b.eb @@ -0,0 +1,153 @@ +name = 'PyTorch' +version = '1.12.1' + +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': '2021b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + '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.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-cuda-gcc-version-check.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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', +] +checksums = [ + '031c71073db73da732b5d01710220564ce6dd88d812ba053f0cc94296401eccb', # pytorch-v1.12.1.tar.gz + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + # PyTorch-1.12.1_add-hypothesis-suppression.patch + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '1c89e7e67287fe6b9a95480a4178d3653b94d0ab2fe68edf227606c8ae548fdc', # PyTorch-1.12.1_skip-failing-grad-test.patch + # PyTorch-1.12.1_skip-test_round_robin.patch + '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349', +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.22.1'), + ('hypothesis', '6.14.6'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.9.6'), + ('protobuf', '3.17.3'), + ('protobuf-python', '3.17.3'), + ('pybind11', '2.7.1'), + ('SciPy-bundle', '2021.10'), + ('typing-extensions', '3.10.0.2'), + ('PyYAML', '5.4.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.3.2'), + ('Pillow', '8.3.2'), + ('expecttest', '0.1.3'), +] + +excluded_tests = { + '': [ + # This test seems to take too long on NVIDIA Ampere at least. + 'distributed/test_distributed_spawn', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' 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 new file mode 100644 index 00000000000..ec3d5b3d62c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,188 @@ +name = 'PyTorch' +version = '1.12.1' +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + 'PyTorch-1.11.0_increase-distributed-test-timeout.patch', + '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', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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 + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + 'f2e6b9625733d9a471bb75e1ea20e28814cf1380b4f9089aa838ee35ddecf07d', # PyTorch-1.11.0_install-vsx-vec-headers.patch + # PyTorch-1.11.1_skip-test_init_from_local_shards.patch + '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 + 'd97cd6b0570a167ecc3e631dc4ea884d95ace285cc38aa980566f4fec2c0d089', + # PyTorch-1.12.1_fix-cuda-gcc-version-check.patch + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '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] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +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', + # Those 2 abort on some machines. Skip for now + 'distributed/fsdp/test_fsdp_input', + 'distributed/fsdp/test_fsdp_mixed_precision', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +# 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 +# https://github.com/pytorch/pytorch/pull/87593 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-1.12.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb new file mode 100644 index 00000000000..6d7b0753752 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1-foss-2022a.eb @@ -0,0 +1,164 @@ +name = 'PyTorch' +version = '1.12.1' + +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] + +patches = [ + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + 'PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.10.0_fix-test-model_dump.patch', + 'PyTorch-1.10.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch', + 'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch', + 'PyTorch-1.11.0_fix-fsdp-fp16-test.patch', + 'PyTorch-1.11.0_fix-test_utils.patch', + 'PyTorch-1.11.0_increase_c10d_gloo_timeout.patch', + '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', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_increase-test-adadelta-tolerance.patch', + 'PyTorch-1.12.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.12.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.12.1_python-3.10-annotation-fix.patch', + 'PyTorch-1.12.1_python-3.10-compat.patch', + 'PyTorch-1.12.1_remove-flaky-test-in-testnn.patch', + '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 + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.10.0_fix-kineto-crash.patch + 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb', + # PyTorch-1.10.0_fix-test-dataloader-fixed-affinity.patch + '313dca681f45ce3bc7c4557fdcdcbe0b77216d2c708fa30a2ec0e22c44876707', + # PyTorch-1.10.0_fix-test-model_dump.patch + '339148ae1a028cda6e750ac93fa38a599f66c7abe26586c9219f1a206ea14557', + # PyTorch-1.10.0_fix-vsx-vector-functions.patch + '7bef5f96cb83b2d655d2f76dd7468a171d446f0b3e06da2232ec7f886484d312', + # PyTorch-1.10.0_skip-nnapi-test-without-qnnpack.patch + '34ba476a7bcddec323bf9eca083cb4623d0f569d081aa3add3769c24f22849d2', + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + 'bb1c4e6d6fd4b0cf57ff8b824c797331b533bb1ffc63f5db0bae3aee10c3dc13', # PyTorch-1.11.0_fix-fsdp-fp16-test.patch + '4f7e25c4e2eb7094f92607df74488c6a4a35849fabf05fcf6c3655fa3f44a861', # PyTorch-1.11.0_fix-test_utils.patch + # PyTorch-1.11.0_increase_c10d_gloo_timeout.patch + '20cd4a8663f74ab326fdb032b926bf5c7e94d9750c515ab9050927ba00cf1953', + # PyTorch-1.11.0_increase-distributed-test-timeout.patch + '087ad20163a1291773ae3457569b80523080eb3731e210946459b2333a919f3f', + '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 + 'a650f4576f06c749f244cada52ff9c02499fa8f182019129488db3845e0756ab', + 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c', # PyTorch-1.12.1_fix-skip-decorators.patch + # PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83', + # PyTorch-1.12.1_fix-test_wishart_log_prob.patch + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45', + # PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch + '8e6e844c6b0541e0c8115911ee1a9d548613254b36dfbdada202fd723fc26aa2', + '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535', # PyTorch-1.12.1_fix-TestTorch.test_to.patch + # PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d', + 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2', # PyTorch-1.12.1_fix-vsx-vector-funcs.patch + '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2', # PyTorch-1.12.1_fix-vsx-loadu.patch + # PyTorch-1.12.1_increase-test-adadelta-tolerance.patch + '944ed1af5ad4bbe20cbb042764a88dad1eef6cd33218617cf3d4cd90c6764695', + # PyTorch-1.12.1_increase-tolerance-test_ops.patch + '1c1fa520801e2ee5faf56a3d6dc96321e7c11664fd16bffd7c6ee437e68357fb', + '2905826ca713752b47c84e4ec8b177c90cbd91fca498ba2ba546f495c4cf70a6', # PyTorch-1.12.1_no-cuda-stubs-rpath.patch + # PyTorch-1.12.1_python-3.10-annotation-fix.patch + '11e168fd429d9e156fc79dd806b08125f3640651ad9998abd810446b2ed0c2d7', + '81402420a878b40f824778f0333fbec6504325a6a1b06a22749c4cac3eaccf67', # PyTorch-1.12.1_python-3.10-compat.patch + # PyTorch-1.12.1_remove-flaky-test-in-testnn.patch + 'e81b678e354dd137c0d6d974605cdedbf672096fdbdf567c347bc2fbfc73471d', + # PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch + 'edd464ec8c37b44c07a72008d732604f6837f2dd61c7810c391a86ba4945ca39', + '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] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), +] + +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', + # Produces a single test failure on some systems + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/fsdp/test_fsdp_core', + # failing on broadwell + # See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'test_native_mha', + # flaky test which fails on some systems, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/17615 + 'distributed/elastic/multiprocessing/api_test', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + # Fails intermittently: https://github.com/pytorch/pytorch/issues/98414 + 'test_optim', + ] +} + +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.12.1_add-hypothesis-suppression.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_add-hypothesis-suppression.patch new file mode 100644 index 00000000000..43a08b24044 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_add-hypothesis-suppression.patch @@ -0,0 +1,20 @@ +The @settings decorator overwrites `suppress_health_check` accidentally removing the `too_slow` filter +inherited by the profile. +Add it explicitely. +See https://github.com/easybuilders/easybuild-easyconfigs/issues/17615#issuecomment-1504930435 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/quantization/core/test_quantized_op.py b/test/quantization/core/test_quantized_op.py +index 41e90bc6ec7..c19324cf86a 100644 +--- a/test/quantization/core/test_quantized_op.py ++++ b/test/quantization/core/test_quantized_op.py +@@ -5569,7 +5569,7 @@ class TestQNNPackOps(TestCase): + msg="QNNPACK Sigmoid failed (FBGEMM ref)!") + + """Tests the correctness of the quantized::add (qnnpack) op.""" +- @settings(suppress_health_check=(HealthCheck.filter_too_much,)) ++ @settings(suppress_health_check=(HealthCheck.filter_too_much, HealthCheck.too_slow)) + @given(A=hu.tensor(shapes=hu.array_shapes(1, 5, 1, 5), + qparams=hu.qparams(dtypes=[torch.quint8, torch.qint8])), + zero_point=st.sampled_from([0, 2, 5, 15, 127]), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch new file mode 100644 index 00000000000..28a8238fb30 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestCudaFuser.test_unary_ops.patch @@ -0,0 +1,26 @@ +Fix test failure with a commit contained in https://github.com/pytorch/pytorch/pull/78244 + +From fade8da55e60a118c5595378896d34b862b2fcc3 Mon Sep 17 00:00:00 2001 +From: "S. Song" <41357537+shmsong@users.noreply.github.com> +Date: Mon, 23 May 2022 16:41:01 -0700 +Subject: [PATCH] patch python test for bfloat16 (#1724) + +* patch python test +--- + test/test_jit_cuda_fuser.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/test/test_jit_cuda_fuser.py b/test/test_jit_cuda_fuser.py +index 48dd8a4659f1..324a758ff713 100644 +--- a/test/test_jit_cuda_fuser.py ++++ b/test/test_jit_cuda_fuser.py +@@ -598,7 +598,9 @@ def t(x: torch.Tensor, y: torch.Tensor): + # bfloat16 kernels instead of eager mode + # implementation, since mismatch in cast + # adds excessive noise. +- o = t(x.to(torch.float64), y.to(torch.float64)).to(torch.bfloat16) ++ o = t(x.to(torch.float64), y.to(torch.float64)) ++ if o.dtype.is_floating_point: ++ o = o.to(torch.bfloat16) + else: + o = t(x, y) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch new file mode 100644 index 00000000000..8d78d655b5b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-TestTorch.test_to.patch @@ -0,0 +1,21 @@ +A bug in PyTorch makes sparse Tensors report the wrong device making the test fail +when using multiple GPUs. +Fixed in 1.13 by https://github.com/pytorch/pytorch/pull/85240 + +Here change the test to only run the check with the default CUDA device. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_torch.py b/test/test_torch.py +index 0c9c00984c..99285b20dc 100644 +--- a/test/test_torch.py ++++ b/test/test_torch.py +@@ -7687,7 +7687,7 @@ tensor([[[1.+1.j, 1.+1.j, 1.+1.j, ..., 1.+1.j, 1.+1.j, 1.+1.j], + + if torch.cuda.is_available(): + for non_blocking in [True, False]: +- for cuda in ['cuda', 'cuda:0' if torch.cuda.device_count() == 1 else 'cuda:1']: ++ for cuda in ['cuda']: + b = torch.tensor(5., device=cuda) + test_copy_behavior(b, non_blocking) + self.assertEqual(b.device, b.to(cuda, non_blocking=non_blocking).device) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch new file mode 100644 index 00000000000..c82cc060467 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-autograd-thread_shutdown-test.patch @@ -0,0 +1,24 @@ +Fix flaky test_thread_shutdown in test_autograd + +From https://github.com/pytorch/pytorch/pull/86464 + +Backport: Alexander Grund (TU Dresden) + +diff --git a/test/test_autograd.py b/test/test_autograd.py +index da1e859682e..0c0bc4f1a2a 100644 +--- a/test/test_autograd.py ++++ b/test/test_autograd.py +@@ -4320,8 +4320,12 @@ class MyFunction(Function): + def backward(ctx, grad): + return grad + ++# Run on cuda if it is available to ensure that the worker thread ++# is properly initialized by the time we exit. ++device = "cuda" if torch.cuda.is_available() else "cpu" ++ + for shape in [(1,), ()]: +- v = torch.ones(shape, requires_grad=True) ++ v = torch.ones(shape, requires_grad=True, device=device) + MyFunction.apply(v).backward() + """ + s = TestCase.runWithPytorchAPIUsageStderr(code) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch new file mode 100644 index 00000000000..def8bc857bc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-cuda-gcc-version-check.patch @@ -0,0 +1,79 @@ +Update CUDA <-> compiler version compatibility matrix +See https://github.com/pytorch/pytorch/pull/86360 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index aed4fd5004..fca125ce26 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -48,20 +48,30 @@ MINIMUM_MSVC_VERSION = (19, 0, 24215) + # The following values were taken from the following GitHub gist that + # summarizes the minimum valid major versions of g++/clang++ for each supported + # CUDA version: https://gist.github.com/ax3l/9489132 ++# Or from include/crt/host_config.h in the CUDA SDK ++# The second value is the exclusive(!) upper bound, i.e. min <= version < max + CUDA_GCC_VERSIONS = { +- '10.2': (MINIMUM_GCC_VERSION, (8, 0, 0)), +- '11.1': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.2': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.3': (MINIMUM_GCC_VERSION, (10, 0, 0)), +- '11.4': ((6, 0, 0), (10, 0, 0)) ++ '10.2': (MINIMUM_GCC_VERSION, (9, 0)), ++ '11.0': (MINIMUM_GCC_VERSION, (10, 0)), ++ '11.1': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.2': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.3': (MINIMUM_GCC_VERSION, (11, 0)), ++ '11.4': ((6, 0, 0), (12, 0)), ++ '11.5': ((6, 0, 0), (12, 0)), ++ '11.6': ((6, 0, 0), (12, 0)), ++ '11.7': ((6, 0, 0), (12, 0)), + } + ++MINIMUM_CLANG_VERSION = (3, 3, 0), + CUDA_CLANG_VERSIONS = { +- '10.2': ((3, 3, 0), (8, 0, 0)), +- '11.1': ((6, 0, 0), (10, 0, 0)), +- '11.2': ((6, 0, 0), (10, 0, 0)), +- '11.3': ((6, 0, 0), (10, 0, 0)), +- '11.4': ((6, 0, 0), (10, 0, 0)) ++ '10.2': (MINIMUM_CLANG_VERSION, (9, 0)), ++ '11.1': (MINIMUM_CLANG_VERSION, (11, 0)), ++ '11.2': (MINIMUM_CLANG_VERSION, (12, 0)), ++ '11.3': (MINIMUM_CLANG_VERSION, (12, 0)), ++ '11.4': (MINIMUM_CLANG_VERSION, (13, 0)), ++ '11.5': (MINIMUM_CLANG_VERSION, (13, 0)), ++ '11.6': (MINIMUM_CLANG_VERSION, (14, 0)), ++ '11.7': (MINIMUM_CLANG_VERSION, (14, 0)), + } + + +@@ -819,12 +829,11 @@ class BuildExtension(build_ext, object): + if cuda_str_version not in cuda_compiler_bounds: + warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}') + else: +- min_compiler_version, max_compiler_version = cuda_compiler_bounds[cuda_str_version] ++ min_compiler_version, max_excl_compiler_version = cuda_compiler_bounds[cuda_str_version] + min_compiler_version_str = '.'.join(map(str, min_compiler_version)) +- max_compiler_version_str = '.'.join(map(str, max_compiler_version)) ++ max_excl_compiler_version_str = '.'.join(map(str, max_excl_compiler_version)) + +- version_bound_str = f'>={min_compiler_version_str}' +- version_bound_str = f'{version_bound_str}, <={max_compiler_version_str}' ++ version_bound_str = f'>={min_compiler_version_str}, <{max_excl_compiler_version_str}' + + if compiler_version < TorchVersion(min_compiler_version_str): + raise RuntimeError( +@@ -832,10 +841,10 @@ class BuildExtension(build_ext, object): + f'than the minimum required version by CUDA {cuda_str_version} ({min_compiler_version_str}). ' + f'Please make sure to use an adequate version of {compiler_name} ({version_bound_str}).' + ) +- elif compiler_version > TorchVersion(max_compiler_version_str): ++ elif compiler_version >= TorchVersion(max_excl_compiler_version_str): + raise RuntimeError( + f'The current installed version of {compiler_name} ({compiler_version}) is greater ' +- f'than the maximum required version by CUDA {cuda_str_version} ({max_compiler_version_str}). ' ++ f'than the maximum required version by CUDA {cuda_str_version}. ' + f'Please make sure to use an adequate version of {compiler_name} ({version_bound_str}).' + ) + else: diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch new file mode 100644 index 00000000000..0fbe044ff32 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-skip-decorators.patch @@ -0,0 +1,118 @@ +The decorators are implemented to run when the function is called which is after +the test `setup` method spawned subprocesses which may use NCCL to sync failing when there are +not enough GPUs available. +So replace the custom code by calls to the `unittest` skip decorators. +See https://github.com/pytorch/pytorch/pull/89750 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_distributed.py b/torch/testing/_internal/common_distributed.py +index 8baf7d03d9f..3dc922ee923 100644 +--- a/torch/testing/_internal/common_distributed.py ++++ b/torch/testing/_internal/common_distributed.py +@@ -124,46 +124,11 @@ def skip_if_odd_worldsize(func): + return wrapper + + def require_n_gpus_for_nccl_backend(n, backend): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend == "nccl" and torch.cuda.device_count() < n: +- sys.exit(TEST_SKIPS[f"multi-gpu-{n}"].exit_code) +- else: +- return func(*args, **kwargs) +- +- return wrapper +- +- return decorator ++ return skip_if_lt_x_gpu(n) if backend == "nccl" else unittest.skipIf(False, None) + + + def skip_if_lt_x_gpu(x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator +- +- +-# This decorator helps avoiding initializing cuda while testing other backends +-def nccl_skip_if_lt_x_gpu(backend, x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend != "nccl": +- return func(*args, **kwargs) +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator ++ return unittest.skipIf(torch.cuda.device_count() < x, TEST_SKIPS[f"multi-gpu-{x}"].message) + + + def verify_ddp_error_logged(model_DDP, err_substr): +diff --git a/torch/testing/_internal/distributed/distributed_test.py b/torch/testing/_internal/distributed/distributed_test.py +index 1414a0376b1..1f6b00e6edf 100644 +--- a/torch/testing/_internal/distributed/distributed_test.py ++++ b/torch/testing/_internal/distributed/distributed_test.py +@@ -56,7 +56,6 @@ from torch.testing._internal.common_distributed import ( + skip_if_small_worldsize, + skip_if_odd_worldsize, + skip_if_lt_x_gpu, +- nccl_skip_if_lt_x_gpu, + skip_if_no_gpu, + require_n_gpus_for_nccl_backend, + requires_nccl_version, +@@ -4604,7 +4603,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4615,7 +4614,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_grad_is_view(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4626,7 +4625,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync +@@ -4654,7 +4653,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_with_then_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync using allreduce +@@ -4688,7 +4687,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_get_future(self): + def mult(fut): + return [t * 3 for t in fut.wait()] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch new file mode 100644 index 00000000000..38dcd0c2eb6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch @@ -0,0 +1,31 @@ +When the CUDA Toolkit (compiler...) is to new or to old for the GPU or the GPU driver +this test may fail. +See https://github.com/pytorch/pytorch/pull/89495 + +diff --git a/test/test_cpp_extensions_jit.py b/test/test_cpp_extensions_jit.py +index 2ead8d32ca179..dd350823ffef9 100644 +--- a/test/test_cpp_extensions_jit.py ++++ b/test/test_cpp_extensions_jit.py +@@ -200,7 +200,21 @@ def test_jit_cuda_archflags(self): + archflags["5.0;6.0+PTX;7.0;7.5"] = (['50', '60', '70', '75'], ['60']) + + for flags, expected in archflags.items(): +- self._run_jit_cuda_archflags(flags, expected) ++ try: ++ self._run_jit_cuda_archflags(flags, expected) ++ except RuntimeError as e: ++ # Using the device default (empty flags) may fail if the device is newer than the CUDA compiler ++ # This raises a RuntimeError with a specific message which we explictely ignore here ++ if not flags and "Error building" in str(e): ++ pass ++ else: ++ raise ++ try: ++ torch.cuda.synchronize() ++ except RuntimeError: ++ # Ignore any error, e.g. unsupported PTX code on current device ++ # to avoid errors from here leaking into other tests ++ pass + + @unittest.skipIf(not TEST_CUDNN, "CuDNN not found") + def test_jit_cudnn_extension(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch new file mode 100644 index 00000000000..c801b4ca53f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-test_wishart_log_prob.patch @@ -0,0 +1,36 @@ +Fix a TestDistributions.test_wishart_log_prob failure in test_distributions +See https://github.com/pytorch/pytorch/pull/87977 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributions/test_distributions.py b/test/distributions/test_distributions.py +index 127018516e123..219eacf4790b0 100644 +--- a/test/distributions/test_distributions.py ++++ b/test/distributions/test_distributions.py +@@ -2036,7 +2036,7 @@ def test_lowrank_multivariate_normal_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_lowrank_multivariate_normal_sample(self): +@@ -2176,7 +2176,7 @@ def test_multivariate_normal_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_multivariate_normal_sample(self): +@@ -2331,7 +2331,7 @@ def test_wishart_log_prob(self): + unbatched_prob = torch.stack([dist_unbatched[i].log_prob(x[:, i]) for i in range(5)]).t() + + self.assertEqual(batched_prob.shape, unbatched_prob.shape) +- self.assertEqual(0.0, (batched_prob - unbatched_prob).abs().max(), atol=1e-3, rtol=0) ++ self.assertEqual(batched_prob, unbatched_prob, atol=1e-3, rtol=0) + + @unittest.skipIf(not TEST_NUMPY, "NumPy not found") + def test_wishart_sample(self): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch new file mode 100644 index 00000000000..e0f64391792 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch @@ -0,0 +1,24 @@ +Fix an invalid usage of `erase` leading to a use after free. +See https://github.com/pytorch/pytorch/issues/87359 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/csrc/distributed/rpc/tensorpipe_agent.cpp b/torch/csrc/distributed/rpc/tensorpipe_agent.cpp +index 39935febe6..c160d1c771 100644 +--- a/torch/csrc/distributed/rpc/tensorpipe_agent.cpp ++++ b/torch/csrc/distributed/rpc/tensorpipe_agent.cpp +@@ -1261,9 +1261,11 @@ void TensorPipeAgent::updateGroupMembership( + workerNameToInfo_.erase(name); + workerNameToURL_.erase(name); + +- for (const auto& it : reverseDeviceMaps_) { +- if (reverseDeviceMaps.find(it.first) == reverseDeviceMaps.end()) { +- reverseDeviceMaps_.erase(it.first); ++ for(auto iter = reverseDeviceMaps_.begin(); iter != reverseDeviceMaps_.end(); ) { ++ if (reverseDeviceMaps.find(iter->first) == reverseDeviceMaps.end()) { ++ iter = reverseDeviceMaps_.erase(iter); ++ } else { ++ ++iter; + } + } + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch new file mode 100644 index 00000000000..839c6567bb2 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-loadu.patch @@ -0,0 +1,109 @@ +Fix access to unitialized memory resulting in e.g. failures in TestNNDeviceTypeCPU.test_groupnorm_nhwc_cpu_float32 +See https://github.com/pytorch/pytorch/issues/32502 + +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 cb8bb78597..f5084f2101 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 +@@ -142,7 +142,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +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 8445a31fb3..b4e35acfb4 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 +@@ -196,7 +196,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +index c53b7c792e..810e79ebfe 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_double_vsx.h +@@ -171,7 +171,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 0267c40e1e..1a6aec7dbe 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -180,7 +180,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +index 464a13c9f5..7c300c8087 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +@@ -269,7 +269,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +index 6ef6147447..c98ab6215e 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +@@ -199,7 +199,7 @@ class Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +index c0f1146d9d..a4171026a2 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +@@ -148,7 +148,7 @@ class Vectorized { + (vint64)vec_vsx_ld(offset16, dptr)}; + } + +- __at_align__ double tmp_values[size()]; ++ __at_align__ double tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return { +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h +index c3cec14a5b..a85730c9a6 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint32_vsx.h +@@ -81,7 +81,7 @@ struct Vectorized { + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } + +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch new file mode 100644 index 00000000000..56a02bdac0e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_fix-vsx-vector-funcs.patch @@ -0,0 +1,310 @@ +That code fails for large values such as sin(1e20) producing inf. +See https://github.com/pytorch/pytorch/issues/85978 +and https://github.com/pytorch/pytorch/pull/86453 +Use the Sleef functions similar to the double variants. + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +index 77cf3695ab912..8fe6cc25f0ee9 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_float_vsx.h +@@ -256,29 +256,29 @@ class Vectorized { + } + + Vectorized C10_ALWAYS_INLINE acos() const { +- return {Sleef_acosf4_u10vsx(_vec0), Sleef_acosf4_u10vsx(_vec1)}; ++ return {Sleef_acosf4_u10vsx(_vec0), Sleef_acosf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE asin() const { +- return {Sleef_asinf4_u10vsx(_vec0), Sleef_asinf4_u10vsx(_vec1)}; ++ return {Sleef_asinf4_u10vsx(_vec0), Sleef_asinf4_u10vsx(_vec1)}; + } + Vectorized atan() const { +- return {Sleef_atanf4_u10vsx(_vec0), Sleef_atanf4_u10vsx(_vec1)}; ++ return {Sleef_atanf4_u10vsx(_vec0), Sleef_atanf4_u10vsx(_vec1)}; + } + Vectorized atan2(const Vectorized& b) const { +- return {Sleef_atan2f4_u10vsx(_vec0, b._vec0), Sleef_atan2f4_u10vsx(_vec1, b._vec1)}; ++ return {Sleef_atan2f4_u10vsx(_vec0, b._vec0), Sleef_atan2f4_u10vsx(_vec1, b._vec1)}; + } + Vectorized copysign(const Vectorized &sign) const { + return {Sleef_copysignf4_vsx(_vec0, sign._vec0), Sleef_copysignf4_vsx(_vec1, sign._vec1)}; + } + Vectorized lgamma() const { +- return {Sleef_lgammaf4_u10vsx(_vec0), Sleef_lgammaf4_u10vsx(_vec1)}; ++ return {Sleef_lgammaf4_u10vsx(_vec0), Sleef_lgammaf4_u10vsx(_vec1)}; + } + Vectorized erf() const { +- return {Sleef_erff4_u10vsx(_vec0), Sleef_erff4_u10vsx(_vec1)}; ++ return {Sleef_erff4_u10vsx(_vec0), Sleef_erff4_u10vsx(_vec1)}; + } + + Vectorized erfc() const { +- return {Sleef_erfcf4_u15vsx(_vec0), Sleef_erfcf4_u15vsx(_vec1)}; ++ return {Sleef_erfcf4_u15vsx(_vec0), Sleef_erfcf4_u15vsx(_vec1)}; + } + + Vectorized erfinv() const { +@@ -301,133 +301,32 @@ class Vectorized { + } + + Vectorized C10_ALWAYS_INLINE exp() const { +- // implementation logic from avx_mathfun with some modifications from sleef +- // Express e**x = e**g 2**n +- /// = e**g e**( n loge(2) ) +- /// = e**( g + n loge(2) ) +- // +- auto tmp_x = *this; +- auto fx = (tmp_x * log2e_inv).round(); +- +- auto x = fx.madd(negln2f_hi, tmp_x); +- x = fx.madd(negln2f_lo, x); +- auto z = x * x; +- auto y = x.madd(exp_p0, exp_p1); +- y = y.madd(x, exp_p2); +- y = y.madd(x, exp_p3); +- y = y.madd(x, exp_p4); +- y = y.madd(x, exp_p5); +- y = y.madd(z, x) + one; +- +- // vm_pow2n 2^n +- vint32 imm0 = vec_signed(fx._vec0); +- vint32 imm1 = vec_signed(fx._vec1); +- // this pow2n logic is from Sleef code +- vint32 imm00 = imm0 >> 1; //>>1 +- vint32 imm01 = imm1 >> 1; +- vint32 imm10 = imm0 - imm00; +- vint32 imm11 = imm1 - imm01; +- imm00 = (imm00 + v0x7f) << vu_23; +- imm01 = (imm01 + v0x7f) << vu_23; +- imm10 = (imm10 + v0x7f) << vu_23; +- imm11 = (imm11 + v0x7f) << vu_23; +- // treat imm as float vector without conversion +- +- y._vec0 = (y._vec0 * (vfloat32)imm00) * (vfloat32)imm10; +- y._vec1 = (y._vec1 * (vfloat32)imm01) * (vfloat32)imm11; +- // boundary check +- auto tmp = blendv(y, v_inf, (Vectorized(exp_hi) <= tmp_x)); +- y = blendv(tmp, zero, (tmp_x < Vectorized(exp_lo))); +- +- return y; ++ return {Sleef_expf4_u10vsx(_vec0), Sleef_expf4_u10vsx(_vec1)}; + } + Vectorized expm1() const { +- return exp() - one; ++ return {Sleef_expm1f4_u10vsx(_vec0), Sleef_expm1f4_u10vsx(_vec1)}; + } + + Vectorized C10_ALWAYS_INLINE log() const { + return {Sleef_logf4_u10vsx(_vec0), Sleef_logf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log10() const { +- return {Sleef_log10f4_u10vsx(_vec0), Sleef_log10f4_u10vsx(_vec1)}; ++ return {Sleef_log10f4_u10vsx(_vec0), Sleef_log10f4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log1p() const { +- return {Sleef_log1pf4_u10vsx(_vec0), Sleef_log1pf4_u10vsx(_vec1)}; ++ return {Sleef_log1pf4_u10vsx(_vec0), Sleef_log1pf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE log2() const { +- return {Sleef_log2f4_u10vsx(_vec0), Sleef_log2f4_u10vsx(_vec1)}; ++ return {Sleef_log2f4_u10vsx(_vec0), Sleef_log2f4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE ceil() const { + return {vec_ceil(_vec0), vec_ceil(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE cos() const { +- // take the absolute value +- auto x = abs(); +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- // scale by 4/Pi +- auto y = x * _4div_pi; +- // store the integer part of y in mm0 +- // j=(j+1) & (~1) (see the cephes sources) +- vint32 imm0 = (vec_signed(y._vec0) + vi_1) & vi_inv1; +- vint32 imm1 = (vec_signed(y._vec1) + vi_1) & vi_inv1; +- y._vec0 = vec_float(imm0); +- y._vec1 = vec_float(imm1); +- +- imm0 = imm0 - vi_2; +- imm1 = imm1 - vi_2; +- Vectorized poly_mask; +- // get the swap sign flag +- vint32 tmp0 = vec_and(vec_nand(imm0, imm0), vi_4); +- vint32 tmp1 = vec_and(vec_nand(imm1, imm1), vi_4); +- sign_bit._vecb0 = (vbool32)vec_sl(tmp0, vu_29); +- sign_bit._vecb1 = (vbool32)vec_sl(tmp1, vu_29); +- // get the polynom selection mask +- // there is one polynom for 0 <= x <= Pi / 4 +- // and another one for Pi / 4 < x <= Pi / 2 +- // Both branches will be computed. +- +- poly_mask._vecb0 = (vbool32)vec_cmpeq((imm0 & vi_2), vi_0); +- poly_mask._vecb1 = (vbool32)vec_cmpeq((imm1 & vi_2), vi_0); +- +- // The magic pass: "Extended precision modular arithmetic" +- // x = ((x - y * DP1) - y * DP2) - y * DP3; +- x = y.madd(minus_cephes_dp1, x); +- x = y.madd(minus_cephes_dp2, x); +- x = y.madd(minus_cephes_dp3, x); +- +- // Evaluate the first polynom (0 <= x <= Pi/4) +- auto z = x * x; +- y = z.madd(coscof_p0, coscof_p1); +- y = y.madd(z, coscof_p2); +- y = y * z * z; +- y = y - z * half + one; +- +- // Evaluate the second polynom (Pi/4 <= x <= 0) +- auto y_2 = z.madd(sincof_p0, sincof_p1); +- y_2 = y_2.madd(z, sincof_p2); +- y_2 = y_2 * z; +- y_2 = y_2.madd(x, x); +- +- // select the correct result from the two polynoms +- y = blendv(y, y_2, poly_mask); +- // update the sign +- y = y ^ sign_bit; +- +- return y; ++ return {Sleef_cosf4_u10vsx(_vec0), Sleef_cosf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE cosh() const { +- // cosh = 1/2 * (e^x + e^-x) +- auto x = abs(); +- auto e_x = x.exp(); +- auto ret = (e_x + Vectorized(one) / e_x) * half; +- // inf and nan checks +-#if 0 +- ret = blendv(ret, v_inf, x >= vf_89); +- ret = blendv(ret, v_inf, ret.isnan()); +- ret = blendv(ret, v_nan, this->isnan()); +-#endif +- return ret; ++ return {Sleef_coshf4_u10vsx(_vec0), Sleef_coshf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE floor() const { + return {vec_floor(_vec0), vec_floor(_vec1)}; +@@ -440,97 +339,16 @@ class Vectorized { + return {vec_round(_vec0), vec_round(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE sin() const { +- // take the absolute value and xtract sign +- auto x = abs(); +- auto sign_bit = (*this) & sign_mask; +- +- // scale by 4/Pi +- auto y = x * _4div_pi; +- // store the integer part of y in mm0 +- +- // j=(j+1) & (~1) (see the cephes sources) +- vint32 imm0 = (vec_signed(y._vec0) + vi_1) & vi_inv1; +- vint32 imm1 = (vec_signed(y._vec1) + vi_1) & vi_inv1; +- y._vec0 = vec_float(imm0); +- y._vec1 = vec_float(imm1); +- // get the swap sign flag +- Vectorized swap_sign_bit, poly_mask; +- swap_sign_bit._vecb0 = (vbool32)vec_sl(imm0 & vi_4, vu_29); +- swap_sign_bit._vecb1 = (vbool32)vec_sl(imm1 & vi_4, vu_29); +- // get the polynom selection mask +- // there is one polynom for 0 <= x <= Pi/4 +- // and another one for Pi/4 C10_ALWAYS_INLINE sinh() const { +- auto temp_abs = abs(); +- // get exponent +- auto ret = temp_abs.exp(); +- auto recp = Vectorized(half) / ret; +- auto v = ret * half - recp; +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- auto z = temp_abs * temp_abs; +- auto y = z.madd(p0, p1); +- y = y.madd(z, p2); +- y = (y * z).madd(temp_abs, temp_abs); +- // check and select +- auto result = blendv(y, v, temp_abs > one); +- return result | sign_bit; ++ return {Sleef_sinhf4_u10vsx(_vec0), Sleef_sinhf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE tan() const { +- return {Sleef_tanf4_u10vsx(_vec0), Sleef_tanf4_u10vsx(_vec1)}; ++ return {Sleef_tanf4_u10vsx(_vec0), Sleef_tanf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE tanh() const { +- auto x = *this; +- auto vabs = abs(); +- // get exponent +- auto exp2x = (vabs + vabs).exp(); +- auto vv = Vectorized(one) - Vectorized(two) / (exp2x + one); +- // extract the sign bit (upper one) +- auto sign_bit = (*this) & sign_mask; +- auto z = vabs * vabs; +- auto y = z.madd(tanh_p0, tanh_p1); +- auto tmp = y.madd(z, tanh_p2); +- y = z.madd(tmp, tanh_p3); +- tmp = y.madd(z, tanh_p4); +- y = tmp * z; +- tmp = y.madd(x, x); +- // add sign +- vv = vv | sign_bit; +- // check and select +- auto sel_mask = vabs >= tanh_0p625; +- auto max_mask = vabs > tanh_half_max; +- auto max_ret = sign_bit ^ one; +- return blendv(blendv(tmp, vv, sel_mask), max_ret, max_mask); ++ return {Sleef_tanhf4_u10vsx(_vec0), Sleef_tanhf4_u10vsx(_vec1)}; + } + Vectorized C10_ALWAYS_INLINE trunc() const { + return {vec_trunc(_vec0), vec_trunc(_vec1)}; +@@ -555,15 +373,15 @@ class Vectorized { + } + + Vectorized fmod(const Vectorized& b) const { +- return {Sleef_fmodf4_vsx(_vec0, b._vec0),Sleef_fmodf4_vsx(_vec1, b._vec1)}; ++ return {Sleef_fmodf4_vsx(_vec0, b._vec0),Sleef_fmodf4_vsx(_vec1, b._vec1)}; + } + + Vectorized hypot(const Vectorized& b) const { +- return {Sleef_hypotf4_u05vsx(_vec0, b._vec0), Sleef_hypotf4_u05vsx(_vec1, b._vec1)}; ++ return {Sleef_hypotf4_u05vsx(_vec0, b._vec0), Sleef_hypotf4_u05vsx(_vec1, b._vec1)}; + } + + Vectorized nextafter(const Vectorized& b) const { +- return {Sleef_nextafterf4_vsx(_vec0, b._vec0), Sleef_nextafterf4_vsx(_vec1, b._vec1)}; ++ return {Sleef_nextafterf4_vsx(_vec0, b._vec0), Sleef_nextafterf4_vsx(_vec1, b._vec1)}; + } + + Vectorized igamma(const Vectorized& x) const { diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch new file mode 100644 index 00000000000..6455052773f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-test-adadelta-tolerance.patch @@ -0,0 +1,22 @@ +TestOptim.test_adadelta fails on some systems with +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 0.0012711584568023682 at index (1, 3) (up to 1e-05 allowed) +> Greatest relative difference: 0.005316456816424191 at index (1, 3) (up to 0.004 allowed) +This is possibly related to the CUDA driver version. See also https://github.com/pytorch/pytorch/issues/51992 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_optim.py b/test/test_optim.py +index 6d587b4b35..32e5dbcc2f 100644 +--- a/test/test_optim.py ++++ b/test/test_optim.py +@@ -621,7 +621,8 @@ class TestOptim(TestCase): + # ROCm precision is too low to pass this test + def test_adadelta(self): + # Handles https://github.com/pytorch/pytorch/issues/69698 +- self.rel_tol = 4e-3 ++ self.precision = 2e-3 ++ self.rel_tol = 1e-2 + for optimizer in [optim.Adadelta, optim_mt.Adadelta]: + self._test_basic_cases( + lambda weight, bias, maximize: optimizer([weight, bias], maximize=maximize), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch new file mode 100644 index 00000000000..9a728ce288d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_increase-tolerance-test_ops.patch @@ -0,0 +1,27 @@ +`test_out` may fail due to slightly different values caused by different order of matrizes in SGEMM: + +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 1.430511474609375e-05 at index (4, 5) (up to 1e-05 allowed) +> Greatest relative difference: 4.65393206065873e-06 at index (4, 5) (up to 1.3e-06 allowed) + +See https://github.com/pytorch/pytorch/pull/86365 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 00eb3f7f09..d97505ffb6 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -9984,7 +9984,11 @@ op_db: List[OpInfo] = [ + DecorateInfo( + toleranceOverride({torch.float32: tol(atol=1.3e-05, rtol=1.3e-05), + torch.complex64: tol(atol=1e-05, rtol=1.2e-03)}), +- 'TestCommon', 'test_reference_testing')], ++ 'TestCommon', 'test_reference_testing'), ++ DecorateInfo( ++ toleranceOverride({torch.float32: tol(atol=1.5e-05, rtol=1e-05)}), ++ 'TestCommon', 'test_out'), ++ ], + skips=( + # NVIDIA only assures that bfloat16 is supported by bmm if SM >= 5.3 + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes', device_type='cuda', active_if=not SM53OrLater), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch new file mode 100644 index 00000000000..60e09456182 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_no-cuda-stubs-rpath.patch @@ -0,0 +1,159 @@ +# PyTorch's CMAKE configuration by default sets RUNPATH on libraries if they link other libraries +# that are outside the build tree, which is done because of the CMAKE config on +# https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L10. +# This provides problems, since the cuda stubs library path then also gets added to the RUNPATH. +# As a result, at runtime, the stub version of things like libcuda.so.1 gets picked up, instead of the real drivers +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/14359 +# This line https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L16 +# Makes sure that any path that is linked, is also added to the RUNPATH. +# This has been reported upstream in https://github.com/pytorch/pytorch/issues/35418 +# and a fix was attempted in https://github.com/pytorch/pytorch/pull/37737 but it was reverted +# +# This EasyBuild patch changes behavior for the libraries that were failing, i.e. the ones in this list: +# https://github.com/easybuilders/easybuild-easyconfigs/issues/14359#issuecomment-970479904 +# This is done by setting INSTALL_RPATH_USE_LINK_PATH to false, and instead, specifying the RPATH +# explicitely by defining INSTALL_RPATH, but only adding directories that do not match to the "stubs" regex +# +# Original patch: Caspar van Leeuwen +# Updated: Alexander Grund (TU Dresden) +# +# See https://github.com/pytorch/pytorch/pull/87593 + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 328210c978..f06ee0bb4e 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -643,13 +643,12 @@ if(NOT INTERN_BUILD_MOBILE OR NOT BUILD_CAFFE2_MOBILE) + if(USE_CUDA) + list(APPEND Caffe2_GPU_CU_SRCS ${Caffe2_GPU_HIP_JIT_FUSERS_SRCS}) + add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS}) ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB}) + if(MSVC) + # Delay load nvcuda.dll so we can import torch compiled with cuda on a CPU-only machine +- set(DELAY_LOAD_FLAGS "-DELAYLOAD:nvcuda.dll;delayimp.lib") +- else() +- set(DELAY_LOAD_FLAGS "") ++ target_link_libraries(caffe2_nvrtc "-DELAYLOAD:nvcuda.dll;delayimp.lib") + endif() +- target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) + install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") + if(USE_NCCL) +diff --git a/cmake/LinkCudaLibraries.cmake b/cmake/LinkCudaLibraries.cmake +new file mode 100644 +index 0000000000..a24583bff4 +--- /dev/null ++++ b/cmake/LinkCudaLibraries.cmake +@@ -0,0 +1,33 @@ ++# Link CUDA libraries to the given target, i.e.: `target_link_libraries(target )` ++# ++# Additionally makes sure CUDA stub libs don't end up being in RPath ++# ++# Example: link_cuda_libraries(mytarget PRIVATE ${CUDA_LIBRARIES}) ++function(link_cuda_libraries target) ++ set(libs ${ARGN}) ++ set(install_rpath "") ++ set(filtered FALSE) ++ foreach(lib IN LISTS libs) ++ # CUDA stub libs are in form /prefix/lib/stubs/libcuda.so ++ # So extract the name of the parent folder, to check against "stubs" ++ # And the parent path which we need to add to the INSTALL_RPATH for non-stubs ++ get_filename_component(parent_path "${lib}" DIRECTORY) ++ get_filename_component(parent_name "${parent_path}" NAME) ++ if(parent_name STREQUAL "stubs") ++ message(STATUS "Filtering ${lib} from being set in ${target}'s RPATH, " ++ "because it appears to point to the CUDA stubs directory.") ++ set(filtered TRUE) ++ elseif(parent_path) ++ list(APPEND install_rpath ${parent_path}) ++ endif() ++ endforeach() ++ ++ # Regular link command ++ target_link_libraries(${target} ${scope} ${libs}) ++ # Manually set INSTALL_RPATH when there were any stub libs ++ if(filtered) ++ list(REMOVE_DUPLICATES install_rpath) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH "${install_rpath}") ++ endif() ++endfunction() +diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt +index 373895a0ce..19868221cb 100644 +--- a/test/cpp/api/CMakeLists.txt ++++ b/test/cpp/api/CMakeLists.txt +@@ -58,7 +58,8 @@ if(NOT MSVC) + endif() + + if(USE_CUDA) +- target_link_libraries(test_api PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_api PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/dist_autograd/CMakeLists.txt b/test/cpp/dist_autograd/CMakeLists.txt +index 9969c63e16..356ba5be55 100644 +--- a/test/cpp/dist_autograd/CMakeLists.txt ++++ b/test/cpp/dist_autograd/CMakeLists.txt +@@ -10,7 +10,8 @@ if(USE_DISTRIBUTED AND NOT WIN32) + target_link_libraries(test_dist_autograd PRIVATE torch gtest) + + if(USE_CUDA) +- target_link_libraries(test_dist_autograd PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_dist_autograd PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt +index 60b43b81fc..57cd4422f8 100644 +--- a/test/cpp/jit/CMakeLists.txt ++++ b/test/cpp/jit/CMakeLists.txt +@@ -136,7 +137,8 @@ if(LINUX) + endif() + + if(USE_CUDA) +- target_link_libraries(test_jit PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_jit PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/rpc/CMakeLists.txt b/test/cpp/rpc/CMakeLists.txt +index 3997f8753e..21fddbc645 100644 +--- a/test/cpp/rpc/CMakeLists.txt ++++ b/test/cpp/rpc/CMakeLists.txt +@@ -33,7 +33,8 @@ target_include_directories( + target_link_libraries(test_cpp_rpc PRIVATE ${TORCH_RPC_TEST_DEPENDENCY_LIBS}) + + if(USE_CUDA) +- target_link_libraries(test_cpp_rpc PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_cpp_rpc PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt +index 7dff70630d..ecb8300549 100644 +--- a/test/cpp/tensorexpr/CMakeLists.txt ++++ b/test/cpp/tensorexpr/CMakeLists.txt +@@ -57,14 +57,15 @@ if(USE_PTHREADPOOL) + target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface) + endif() + if(USE_CUDA) +- target_link_libraries(test_tensorexpr PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + target_compile_definitions(test_tensorexpr PRIVATE USE_CUDA) + +- target_link_libraries(tutorial_tensorexpr PRIVATE ++ link_cuda_libraries(tutorial_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch new file mode 100644 index 00000000000..61f04d40743 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-annotation-fix.patch @@ -0,0 +1,69 @@ +Handle change of type annotation handling in Python 3.10 in the JIT module. +Fixes failures in e.g. test_jit. + +From https://github.com/pytorch/pytorch/pull/81334 & https://github.com/pytorch/pytorch/pull/81506 +Backport: Alexander Grund (TU Dresden) + +diff --git a/torch/_jit_internal.py b/torch/_jit_internal.py +index 3c067d5c1c5..2cc3dba89b4 100644 +--- a/torch/_jit_internal.py ++++ b/torch/_jit_internal.py +@@ -1059,11 +1059,19 @@ def _get_named_tuple_properties(obj): + if field in obj._field_defaults] + else: + defaults = [] ++ # In 3.10 recommended way to get annotations is to call `inspect.get_annotations` function ++ # Also, annotations from base class are not inherited so they need to be queried explicitly ++ if sys.version_info[:2] < (3, 10): ++ obj_annotations = getattr(obj, '__annotations__', {}) ++ else: ++ obj_annotations = inspect.get_annotations(obj) ++ if len(obj_annotations) == 0 and hasattr(obj, "__base__"): ++ obj_annotations = inspect.get_annotations(obj.__base__) ++ + annotations = [] +- has_annotations = hasattr(obj, '__annotations__') + for field in obj._fields: +- if has_annotations and field in obj.__annotations__: +- the_type = torch.jit.annotations.ann_to_type(obj.__annotations__[field], fake_range()) ++ if field in obj_annotations: ++ the_type = torch.jit.annotations.ann_to_type(obj_annotations[field], fake_range()) + annotations.append(the_type) + else: + annotations.append(torch._C.TensorType.getInferred()) +diff --git a/torch/jit/_recursive.py b/torch/jit/_recursive.py +index 8175d14fe5d..aa36a4561d4 100644 +--- a/torch/jit/_recursive.py ++++ b/torch/jit/_recursive.py +@@ -5,6 +5,7 @@ import collections + import textwrap + import functools + import warnings ++import sys + from typing import Dict, List, Set, Type + + import torch._jit_internal as _jit_internal +@@ -134,7 +135,22 @@ def infer_concrete_type_builder(nn_module, share_types=True): + if isinstance(nn_module, (torch.nn.ParameterDict)): + concrete_type_builder.set_parameter_dict() + +- class_annotations = getattr(nn_module, '__annotations__', {}) ++ def get_annotations(obj): ++ if sys.version_info < (3, 10): ++ return getattr(obj, '__annotations__', {}) ++ # In Python-3.10+ it is recommended to use inspect.get_annotations ++ # See https://docs.python.org/3.10/howto/annotations.html ++ # But also, in 3.10 annotations from base class are not inherited ++ # by unannotated derived one, so they must be manually extracted ++ annotations = inspect.get_annotations(obj) ++ if len(annotations) > 0: ++ return annotations ++ cls = obj if isinstance(obj, type) else type(obj) ++ if len(cls.__bases__) == 0: ++ return {} ++ return inspect.get_annotations(cls.__bases__[0]) ++ ++ class_annotations = get_annotations(nn_module) + if isinstance(nn_module, (torch.ao.quantization.QuantWrapper)): + class_annotations = {} + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch new file mode 100644 index 00000000000..957a31669b0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_python-3.10-compat.patch @@ -0,0 +1,115 @@ +Fixes some compatibility issues with Python 3.10 + +Most notably conversion from float to long which avoids: + TypeError: 'float' object cannot be interpreted as an integer +Also some test failures in test_fx & test_jit due to differences in Python 3.10. + +From https://github.com/pytorch/pytorch/pull/82329 +Backported: Alexander Grund (TU Dresden) + +diff --git a/test/jit/test_hash.py b/test/jit/test_hash.py +index cb1c1544b10..2ca1e9cda0a 100644 +--- a/test/jit/test_hash.py ++++ b/test/jit/test_hash.py +@@ -75,7 +75,10 @@ class TestHash(JitTestCase): + self.checkScript(fn, (1.2345, float("inf"))) + self.checkScript(fn, (float("inf"), float("inf"))) + self.checkScript(fn, (1.2345, float('nan'))) +- self.checkScript(fn, (float("nan"), float("nan"))) ++ if sys.version_info < (3, 10): ++ # Hash of two nans are not guaranteed to be equal. From https://docs.python.org/3/whatsnew/3.10.html : ++ # Hashes of NaN values of both float type and decimal.Decimal type now depend on object identity. ++ self.checkScript(fn, (float("nan"), float("nan"))) + self.checkScript(fn, (float("nan"), float("inf"))) + + def test_hash_int(self): +diff --git a/test/test_fx.py b/test/test_fx.py +index 625614d29a8..307b629cab3 100644 +--- a/test/test_fx.py ++++ b/test/test_fx.py +@@ -3280,6 +3280,7 @@ class TestFX(JitTestCase): + .run(scripted.code) + + @unittest.skipIf(IS_WINDOWS, "Python Windows bug? https://bugs.python.org/issue45108") ++ @unittest.skipIf(sys.version_info >= (3, 10), "Does not work on Python-3.10") + def test_assert(self): + def f(x): + assert x > 1 +@@ -4017,7 +4018,7 @@ class TestFunctionalTracing(JitTestCase): + + def functional_test(self): + if func_name in self.UNTRACEABLE_FUNCTIONALS_PY38 and \ +- sys.version_info >= (3, 8) and sys.version_info < (3, 10): ++ sys.version_info >= (3, 8) and sys.version_info < (3, 11): + exc, err = self.UNTRACEABLE_FUNCTIONALS_PY38[func_name] + with self.assertRaisesRegex(exc, err): + symbolic_trace(fn) +diff --git a/test/test_jit.py b/test/test_jit.py +index 7dbae135a9a..ea436482a55 100644 +--- a/test/test_jit.py ++++ b/test/test_jit.py +@@ -7450,6 +7450,9 @@ a") + # tensor from empty list is type float in python and annotated type in torchscript + if "annotate" in li and "dtype" not in option: + continue ++ # Skip unsigned tensor initializaton for signed values on 3.10 ++ if sys.version_info[:2] >= (3, 10) and "torch.uint8" in option and "-" in li: ++ continue + code = tensor_template.format(list_create=li, tensor_op=op, options=option) + scope = {} + exec(code, globals(), scope) +diff --git a/torch/csrc/utils/python_scalars.h b/torch/csrc/utils/python_scalars.h +index 7f454bdff82..7df0662fa2c 100644 +--- a/torch/csrc/utils/python_scalars.h ++++ b/torch/csrc/utils/python_scalars.h +@@ -1,6 +1,7 @@ + #pragma once + + #include ++#include + #include + + #include +@@ -8,13 +9,37 @@ + + namespace torch { namespace utils { + ++template ++inline T unpackIntegral(PyObject* obj, const char* type) { ++#if PY_VERSION_HEX >= 0x030a00f0 ++ // In Python-3.10 floats can no longer be silently converted to integers ++ // Keep backward compatible behavior for now ++ if (PyFloat_Check(obj)) { ++ return c10::checked_convert(THPUtils_unpackDouble(obj), type); ++ } ++ return c10::checked_convert(THPUtils_unpackLong(obj), type); ++#else ++ return static_cast(THPUtils_unpackLong(obj)); ++#endif ++} ++ + inline void store_scalar(void* data, at::ScalarType scalarType, PyObject* obj) { + switch (scalarType) { +- case at::kByte: *(uint8_t*)data = (uint8_t)THPUtils_unpackLong(obj); break; +- case at::kChar: *(int8_t*)data = (int8_t)THPUtils_unpackLong(obj); break; +- case at::kShort: *(int16_t*)data = (int16_t)THPUtils_unpackLong(obj); break; +- case at::kInt: *(int32_t*)data = (int32_t)THPUtils_unpackLong(obj); break; +- case at::kLong: *(int64_t*)data = THPUtils_unpackLong(obj); break; ++ case at::kByte: ++ *(uint8_t*)data = unpackIntegral(obj, "uint8"); ++ break; ++ case at::kChar: ++ *(int8_t*)data = unpackIntegral(obj, "int8"); ++ break; ++ case at::kShort: ++ *(int16_t*)data = unpackIntegral(obj, "int16"); ++ break; ++ case at::kInt: ++ *(int32_t*)data = unpackIntegral(obj, "int32"); ++ break; ++ case at::kLong: ++ *(int64_t*)data = unpackIntegral(obj, "int64"); ++ break; + case at::kHalf: + *(at::Half*)data = at::convert(THPUtils_unpackDouble(obj)); + break; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch new file mode 100644 index 00000000000..31d44fb01d1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_remove-flaky-test-in-testnn.patch @@ -0,0 +1,22 @@ +This test is flaky when run with the type float16. +I.e. TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int32_int32_float16 & + TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int64_int64_float16 +fail. +See https://github.com/pytorch/pytorch/issues/86638 +So remove the half precision test. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_nn.py b/test/test_nn.py +index aad884ebd4f..b514f72a3e9 100644 +--- a/test/test_nn.py ++++ b/test/test_nn.py +@@ -18236,7 +18236,7 @@ class TestNNDeviceType(NNTestCase): + self.assertRaises(RuntimeError, lambda: es(input.view(-1), offset)) + + @skipMeta +- @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double, torch.half))) ++ @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double))) + def test_embedding_bag_device(self, device, dtypes): + self._test_EmbeddingBag(device, 'sum', False, wdtype=dtypes[2], dtype=dtypes[0], odtype=dtypes[1]) + self._test_EmbeddingBag(device, 'mean', False, wdtype=dtypes[2], dtype=dtypes[0], odtype=dtypes[1]) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch new file mode 100644 index 00000000000..6b2fb265395 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-ao-sparsity-test-without-fbgemm.patch @@ -0,0 +1,26 @@ +Those tests (from test_ao_sparsity) require FBGEMM which may not be available. +So add the skip decorator. +See https://github.com/pytorch/pytorch/issues/87364 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/ao/sparsity/test_composability.py b/test/ao/sparsity/test_composability.py +index b44c885507..b7d35343c0 100644 +--- a/test/ao/sparsity/test_composability.py ++++ b/test/ao/sparsity/test_composability.py +@@ -9,6 +9,7 @@ import torch.ao.quantization as tq + from torch import nn + from torch.ao import sparsity + from torch.testing._internal.common_utils import TestCase ++from torch.testing._internal.common_quantization import skipIfNoFBGEMM + + logging.basicConfig( + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO +@@ -23,6 +24,7 @@ sparse_defaults = { + # This series of tests are to check the composability goals for sparsity and quantization. Namely + # that performing quantization and sparsity model manipulations in various orderings + # does not cause problems ++@skipIfNoFBGEMM + class TestComposability(TestCase): + def _get_model_and_sparsifier_and_sparse_config(self, qconfig=None): + model = nn.Sequential( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch new file mode 100644 index 00000000000..a79bc9a7a5e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-failing-grad-test.patch @@ -0,0 +1,72 @@ +Test test_fn_grad_linalg_det_singular_cpu_complex128 in test_ops_gradients fails not only on Windows, +so extend the skip marker introduced in https://github.com/pytorch/pytorch/pull/69827 + +test_forward_mode_AD_norm_inf_cpu_complex128 in test_ops_gradients fails due to NaNs. +Might be fixed by https://github.com/pytorch/pytorch/pull/80082 where a part of the changes +come from with additional skip for that test similar to other complex128 skips. + +Also skip test_forward_mode_AD_nn_functional_max_unpool2d_cpu_float64 & test_forward_mode_AD_nn_functional_max_unpool3d_cpu_float64 +which may unexpectably succeed. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 00eb3f7f09..8d009cf280 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -9729,11 +9729,11 @@ op_db: List[OpInfo] = [ + dtypesIfCUDA=all_types_and_complex_and(torch.bool, torch.half, torch.bfloat16, torch.chalf), + skips=( + # Inplace abs doesn't support complex inputs +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_grad', dtypes=(torch.cdouble,)), +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_gradgrad', dtypes=(torch.cdouble,)), +- DecorateInfo(unittest.expectedFailure, 'TestGradients', ++ DecorateInfo(unittest.skip("In-place abs not supported for complex tensors"), 'TestGradients', + 'test_inplace_forward_mode_AD', dtypes=(torch.cdouble,)), + DecorateInfo(unittest.skip("Skipped!"), 'TestUnaryUfuncs', 'test_reference_numerics_extremal', + device_type='cpu', dtypes=[torch.cfloat, torch.cdouble]), +@@ -11559,7 +11559,7 @@ op_db: List[OpInfo] = [ + skips=( + # These tests started breaking after touching the SVD. + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad', device_type='cpu', +- dtypes=(torch.complex128,), active_if=IS_WINDOWS), ++ dtypes=(torch.complex128,)), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + # dtypes are tested in the suite above, no need to repeat it for singular + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes'), +@@ -13447,7 +13447,7 @@ op_db: List[OpInfo] = [ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + )), +@@ -13481,7 +13481,7 @@ op_db: List[OpInfo] = [ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + )), +@@ -17230,6 +17230,13 @@ op_db: List[OpInfo] = [ + device_type="cpu", + dtypes=(torch.complex128,), + ), ++ DecorateInfo( ++ unittest.skip("NaNs in analytical jacobian!"), ++ "TestGradients", ++ "test_forward_mode_AD", ++ device_type="cpu", ++ dtypes=(torch.complex128,), ++ ), + DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_fn_fwgrad_bwgrad', + dtypes=[torch.complex128]), + # AssertionError: RuntimeError not raised : Expected RuntimeError when doing an unsafe cast from a result diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch new file mode 100644 index 00000000000..ebeec6b80b5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin.patch @@ -0,0 +1,35 @@ +test_round_robin & test_round_robin_create_destroy of distributed/test_c10d_gloo may run into timeouts. +So simply skip the on all OS (not only on Windows), the existing skip marker suggest that this is OK. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_gloo.py b/test/distributed/test_c10d_gloo.py +index e49d65ea33d..b4fb75a1b11 100644 +--- a/test/distributed/test_c10d_gloo.py ++++ b/test/distributed/test_c10d_gloo.py +@@ -10,6 +10,7 @@ import sys + import tempfile + from functools import reduce + from itertools import groupby ++from unittest import skip + + import torch + import torch.distributed as c10d +@@ -1415,7 +1415,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + for i, tensor in enumerate(tensors): + self.assertEqual(torch.full(size, float(i * self.world_size)), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin(self): + num_process_groups = 2 +@@ -1438,7 +1439,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + pg.broadcast(tensor, root=0).wait() + self.assertEqual(torch.full([100, 100], 0.0), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin_create_destroy(self): + store = c10d.FileStore(self.file_name, self.world_size) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch new file mode 100644 index 00000000000..f8e01a445db --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.12.1_skip-test_round_robin_create_destroy.patch @@ -0,0 +1,26 @@ +test_round_robin_create_destroy of distributed/test_c10d_gloo may run into timeouts. +So simply skip the on all OS (not only on Windows), the existing skip marker suggest that this is OK. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_gloo.py b/test/distributed/test_c10d_gloo.py +index e49d65ea33d..b4fb75a1b11 100644 +--- a/test/distributed/test_c10d_gloo.py ++++ b/test/distributed/test_c10d_gloo.py +@@ -10,6 +10,7 @@ import sys + import tempfile + from functools import reduce + from itertools import groupby ++from unittest import skip + + import torch + import torch.distributed as c10d +@@ -1438,7 +1439,7 @@ class ProcessGroupGlooTest(MultiProcessTestCase): + pg.broadcast(tensor, root=0).wait() + self.assertEqual(torch.full([100, 100], 0.0), tensor) + +- @skip_if_win32() ++ @skip("Occasionally times out") + @requires_gloo() + def test_round_robin_create_destroy(self): + store = c10d.FileStore(self.file_name, self.world_size) 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 new file mode 100644 index 00000000000..bd559ee8dfd --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,170 @@ +name = 'PyTorch' +version = '1.13.1' +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + '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', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_disable-test-sharding.patch', + 'PyTorch-1.13.1_fix-flaky-jit-test.patch', + 'PyTorch-1.13.1_fix-fsdp-fp16-test.patch', + 'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch', + 'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch', + 'PyTorch-1.13.1_fix-pytest-args.patch', + 'PyTorch-1.13.1_fix-test-ops-conf.patch', + 'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch', + 'PyTorch-1.13.1_increase-tolerance-test_jit.patch', + 'PyTorch-1.13.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.13.1_increase-tolerance-test_optim.patch', + 'PyTorch-1.13.1_install-vsx-vec-headers.patch', + 'PyTorch-1.13.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', + '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'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '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'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_disable-test-sharding.patch': 'df2074adeba47998ce2993d99ca64eb6f1c79ab7057f553b436efdec264d3572'}, + {'PyTorch-1.13.1_fix-flaky-jit-test.patch': '71efdeb29b5e5b4982c9f5cb2182733654a34d52f85bb5487bc4d7d99b86101b'}, + {'PyTorch-1.13.1_fix-fsdp-fp16-test.patch': '8ae68e60d6e1f92f50322b7f0381c7e65251fba32d7606e3a238a36a2f55b5cf'}, + {'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch': + '31e2d63b54ae1a8c554575f46db79bf8bbda851b6ca0ffe623c4911207a3c2bc'}, + {'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch': + 'f1e6808ee8d91a2ad76e0caedb4685e5aec3008d5e2e3c3c3e88cbb25cbd71b4'}, + {'PyTorch-1.13.1_fix-pytest-args.patch': 'd3e3c841cf8d73683750f29326f2be56ee0bb5df7ff522baf7d7c3f301a91ec2'}, + {'PyTorch-1.13.1_fix-test-ops-conf.patch': 'df652eec7753864ebebbfeca546929a53e3fb8f24259d5c9b964266a8551198c'}, + {'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch': + 'cbb5ca9ad668a504a456a2cc02d7254b79ddfd9a971a1648f0508fb103a9fc89'}, + {'PyTorch-1.13.1_increase-tolerance-test_jit.patch': + 'b97913754a0ae0887b8137db0b0d57caff8c3d7bd96fe555ea27ea01ff14527a'}, + {'PyTorch-1.13.1_increase-tolerance-test_ops.patch': + 'c909fdfc2b12df457e1eb5514265ffec3eab653994949416f3f048668421e223'}, + {'PyTorch-1.13.1_increase-tolerance-test_optim.patch': + 'a079d824085eab89794f5ecfc67792f735ed8cfd3fe7db52e4dea62e583cfe06'}, + {'PyTorch-1.13.1_install-vsx-vec-headers.patch': + '7b678f54bb947afd4767f5877ac424b4b94ce5db609ea20f5a869ccf4027035f'}, + {'PyTorch-1.13.1_no-cuda-stubs-rpath.patch': '4c636059850fc9d1ecb27ce275f8aad5d5b6fdc19e35aff0c25b86cb3201352a'}, + {'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch': + 'be83ff61fe2dedab6d49c232936d5622df81ab49154264490021c6c828e53315'}, + {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, + {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': + '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] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), + # For tests + ('pytest-rerunfailures', '11.1'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('cuDNN', '8.4.1.50', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.6.2', '-CUDA-%(cudaver)s'), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +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' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 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, +] + +# 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-1.13.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb new file mode 100644 index 00000000000..2cc54d6522f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022a.eb @@ -0,0 +1,135 @@ +name = 'PyTorch' +version = '1.13.1' + +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': '2022a'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + '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', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_fix-flaky-jit-test.patch', + 'PyTorch-1.13.1_fix-fsdp-fp16-test.patch', + 'PyTorch-1.13.1_fix-pytest-args.patch', + 'PyTorch-1.13.1_fix-test-ops-conf.patch', + 'PyTorch-1.13.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.13.1_install-vsx-vec-headers.patch', + 'PyTorch-1.13.1_no-cuda-stubs-rpath.patch', + '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'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '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'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_fix-flaky-jit-test.patch': '71efdeb29b5e5b4982c9f5cb2182733654a34d52f85bb5487bc4d7d99b86101b'}, + {'PyTorch-1.13.1_fix-fsdp-fp16-test.patch': '8ae68e60d6e1f92f50322b7f0381c7e65251fba32d7606e3a238a36a2f55b5cf'}, + {'PyTorch-1.13.1_fix-pytest-args.patch': 'd3e3c841cf8d73683750f29326f2be56ee0bb5df7ff522baf7d7c3f301a91ec2'}, + {'PyTorch-1.13.1_fix-test-ops-conf.patch': 'df652eec7753864ebebbfeca546929a53e3fb8f24259d5c9b964266a8551198c'}, + {'PyTorch-1.13.1_increase-tolerance-test_ops.patch': + 'c909fdfc2b12df457e1eb5514265ffec3eab653994949416f3f048668421e223'}, + {'PyTorch-1.13.1_install-vsx-vec-headers.patch': + '7b678f54bb947afd4767f5877ac424b4b94ce5db609ea20f5a869ccf4027035f'}, + {'PyTorch-1.13.1_no-cuda-stubs-rpath.patch': '4c636059850fc9d1ecb27ce275f8aad5d5b6fdc19e35aff0c25b86cb3201352a'}, + {'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch': + 'be83ff61fe2dedab6d49c232936d5622df81ab49154264490021c6c828e53315'}, + {'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] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), + # For tests + ('pytest-rerunfailures', '11.1'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), +] + +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 = 12 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb new file mode 100644 index 00000000000..74ad2dc9d34 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b-CUDA-11.7.0.eb @@ -0,0 +1,197 @@ +name = 'PyTorch' +version = '1.13.1' +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': '2022b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + '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.1_add-hypothesis-suppression.patch', + 'PyTorch-1.12.1_fix-skip-decorators.patch', + 'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch', + 'PyTorch-1.13.1_disable-test-sharding.patch', + 'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch', + 'PyTorch-1.13.1_fix-flaky-jit-test.patch', + 'PyTorch-1.13.1_fix-fsdp-fp16-test.patch', + 'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch', + 'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch', + 'PyTorch-1.13.1_fix-numpy-deprecations.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-pytest-args.patch', + 'PyTorch-1.13.1_fix-python-3.11-compat.patch', + 'PyTorch-1.13.1_fix-test-ops-conf.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch', + 'PyTorch-1.13.1_increase-tolerance-test_jit.patch', + 'PyTorch-1.13.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.13.1_increase-tolerance-test_optim.patch', + 'PyTorch-1.13.1_install-vsx-vec-headers.patch', + 'PyTorch-1.13.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.13.1_skip-failing-grad-test.patch', + 'PyTorch-1.13.1_skip-failing-singular-grad-test.patch', + 'PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch', + 'PyTorch-1.13.1_skip-test-requiring-online-access.patch', + 'PyTorch-1.13.1_skip-tests-without-fbgemm.patch', + 'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', +] +checksums = [ + {'pytorch-v1.13.1.tar.gz': 'dbc229ee9750b02b514937d017744443a269ea0241ed3f32b9af0703589d25d4'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '4aeb1b0bc863d4801b0095cbce69f8794066748f0df27c6aaaf729c5ecba04b7'}, + {'PyTorch-1.12.0_fix-EmbeddingBag-without-fbgemm.patch': + '090598592283e3fc46ee08a68b6a6afe07be41b26514afba51834408bf1c98ed'}, + {'PyTorch-1.12.1_add-hypothesis-suppression.patch': + 'e71ffb94ebe69f580fa70e0de84017058325fdff944866d6bd03463626edc32c'}, + {'PyTorch-1.12.1_fix-skip-decorators.patch': 'e3ca6e42b2fa592ea095939fb59ab875668a058479407db3f3684cc5c6f4146c'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch': + '4c9a4247dcf6e0f62fda2e7283f7de6f7c801d5e61c39d27a91a287f9d363d68'}, + {'PyTorch-1.13.1_disable-test-sharding.patch': 'df2074adeba47998ce2993d99ca64eb6f1c79ab7057f553b436efdec264d3572'}, + {'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch': + '882f8cfaf33490a4372928fb6673cbbfa40e5be1b64bf7e0cc2924d73cf872e8'}, + {'PyTorch-1.13.1_fix-flaky-jit-test.patch': '71efdeb29b5e5b4982c9f5cb2182733654a34d52f85bb5487bc4d7d99b86101b'}, + {'PyTorch-1.13.1_fix-fsdp-fp16-test.patch': '8ae68e60d6e1f92f50322b7f0381c7e65251fba32d7606e3a238a36a2f55b5cf'}, + {'PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch': + '31e2d63b54ae1a8c554575f46db79bf8bbda851b6ca0ffe623c4911207a3c2bc'}, + {'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch': + '18df8c61ecaa9fb659346c1e172828bca6b069f0145bb8f6a36b0a23b7bef0a6'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-kineto-crash-on-exit.patch': + 'f1e6808ee8d91a2ad76e0caedb4685e5aec3008d5e2e3c3c3e88cbb25cbd71b4'}, + {'PyTorch-1.13.1_fix-numpy-deprecations.patch': 'f461b570efe0434ddd806bf2fa7020eb213e3ed89d0eb4403e076f4276ba2a46'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-pytest-args.patch': 'd3e3c841cf8d73683750f29326f2be56ee0bb5df7ff522baf7d7c3f301a91ec2'}, + {'PyTorch-1.13.1_fix-python-3.11-compat.patch': 'fa4eb0e27e00a90bb217b77c0023089c4659c03f37d781ab4a681bdcb4f0432f'}, + {'PyTorch-1.13.1_fix-test-ops-conf.patch': 'df652eec7753864ebebbfeca546929a53e3fb8f24259d5c9b964266a8551198c'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch': + 'cbb5ca9ad668a504a456a2cc02d7254b79ddfd9a971a1648f0508fb103a9fc89'}, + {'PyTorch-1.13.1_increase-tolerance-test_jit.patch': + 'b97913754a0ae0887b8137db0b0d57caff8c3d7bd96fe555ea27ea01ff14527a'}, + {'PyTorch-1.13.1_increase-tolerance-test_ops.patch': + 'c909fdfc2b12df457e1eb5514265ffec3eab653994949416f3f048668421e223'}, + {'PyTorch-1.13.1_increase-tolerance-test_optim.patch': + 'a079d824085eab89794f5ecfc67792f735ed8cfd3fe7db52e4dea62e583cfe06'}, + {'PyTorch-1.13.1_install-vsx-vec-headers.patch': + '7b678f54bb947afd4767f5877ac424b4b94ce5db609ea20f5a869ccf4027035f'}, + {'PyTorch-1.13.1_no-cuda-stubs-rpath.patch': '4c636059850fc9d1ecb27ce275f8aad5d5b6fdc19e35aff0c25b86cb3201352a'}, + {'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch': + 'be83ff61fe2dedab6d49c232936d5622df81ab49154264490021c6c828e53315'}, + {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch': + 'c71a3385ce5fc447f908a3df78ade2143d97e2538cf03b530db4f6cc8b32c22b'}, + {'PyTorch-1.13.1_skip-test-requiring-online-access.patch': + '61c3b7859dc06a9969981b07aa2789630de110d6d1d3633d27364be47af74712'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '481e595f673baf8ae58b41697a6792b83048b0264aa79b422f48cd8c22948bb7'}, + {'PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch': + 'a09a2d7ebd428c65988729578bb3fa372565ba176ab9ed7abf11f6fcb15e903e'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.24.3'), + ('hypothesis', '6.68.2'), + # For tests + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.8'), + ('protobuf', '23.0'), + ('protobuf-python', '4.23.0'), + ('pybind11', '2.10.3'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '5.1.2'), + ('Pillow', '9.4.0'), + ('cuDNN', '8.5.0.96', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.7.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.16.2', '-CUDA-%(cudaver)s'), + ('expecttest', '0.1.3'), +] + +custom_opts = ['CMAKE_CUDA_FLAGS=-allow-unsupported-compiler'] + +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' + +# The readelf sanity check command can be taken out once the TestRPATH test from +# https://github.com/pytorch/pytorch/pull/87593 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, +] + +# 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-1.13.1-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb new file mode 100644 index 00000000000..a7196938e26 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1-foss-2022b.eb @@ -0,0 +1,164 @@ +name = 'PyTorch' +version = '1.13.1' + +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': '2022b'} + +source_urls = [GITHUB_RELEASE] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +patches = [ + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.10.0_fix-kineto-crash.patch', + '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', + 'PyTorch-1.12.1_fix-test_wishart_log_prob.patch', + 'PyTorch-1.12.1_fix-TestTorch.test_to.patch', + 'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch', + 'PyTorch-1.12.1_fix-vsx-loadu.patch', + 'PyTorch-1.12.1_fix-vsx-vector-funcs.patch', + 'PyTorch-1.12.1_skip-test_round_robin.patch', + 'PyTorch-1.13.1_disable-test-sharding.patch', + 'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch', + 'PyTorch-1.13.1_fix-flaky-jit-test.patch', + 'PyTorch-1.13.1_fix-fsdp-fp16-test.patch', + 'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch', + 'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch', + 'PyTorch-1.13.1_fix-numpy-deprecations.patch', + 'PyTorch-1.13.1_fix-protobuf-dependency.patch', + 'PyTorch-1.13.1_fix-pytest-args.patch', + 'PyTorch-1.13.1_fix-python-3.11-compat.patch', + 'PyTorch-1.13.1_fix-test-ops-conf.patch', + 'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch', + 'PyTorch-1.13.1_increase-tolerance-test_ops.patch', + 'PyTorch-1.13.1_install-vsx-vec-headers.patch', + 'PyTorch-1.13.1_no-cuda-stubs-rpath.patch', + 'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch', + 'PyTorch-1.13.1_skip-failing-grad-test.patch', + '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'}, + {'PyTorch-1.7.0_disable-dev-shm-test.patch': '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a'}, + {'PyTorch-1.10.0_fix-kineto-crash.patch': 'dc467333b28162149af8f675929d8c6bf219f23230bfc0d39af02ba4f6f882eb'}, + {'PyTorch-1.11.0_fix-fp16-quantization-without-fbgemm.patch': + 'cc526130b6446bbbf5f0f7372d3aeee3e7d4c4d6e471524dff028b430b152934'}, + {'PyTorch-1.11.1_skip-test_init_from_local_shards.patch': + '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'}, + {'PyTorch-1.12.1_fix-test_cpp_extensions_jit.patch': + '1efc9850c431d702e9117d4766277d3f88c5c8b3870997c9974971bce7f2ab83'}, + {'PyTorch-1.12.1_fix-test_wishart_log_prob.patch': + 'cf475ae6e6234b96c8d1bf917597c5176c94b3ccd940b72f2e1cd0c979580f45'}, + {'PyTorch-1.12.1_fix-TestTorch.test_to.patch': '75f27987c3f25c501e719bd2b1c70a029ae0ee28514a97fe447516aee02b1535'}, + {'PyTorch-1.12.1_fix-use-after-free-in-tensorpipe-agent.patch': + '0bd7e88b92c4c6f0fecf01746009858ba19f2df68b10b88c41485328a531875d'}, + {'PyTorch-1.12.1_fix-vsx-loadu.patch': '8bfe3c94ada1dd1f7974a1261a8b576fb7ae944050fa1c7830fca033831123b2'}, + {'PyTorch-1.12.1_fix-vsx-vector-funcs.patch': 'caccbf60f62eac313896c1eaec78b08f5d0fdfcb907079087490bb13d1561aa2'}, + {'PyTorch-1.12.1_skip-test_round_robin.patch': '63d4849b78605aa088fdff695637d9473ea60dee603a3ff7f788690d70c55349'}, + {'PyTorch-1.13.1_disable-test-sharding.patch': 'df2074adeba47998ce2993d99ca64eb6f1c79ab7057f553b436efdec264d3572'}, + {'PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch': + '882f8cfaf33490a4372928fb6673cbbfa40e5be1b64bf7e0cc2924d73cf872e8'}, + {'PyTorch-1.13.1_fix-flaky-jit-test.patch': '71efdeb29b5e5b4982c9f5cb2182733654a34d52f85bb5487bc4d7d99b86101b'}, + {'PyTorch-1.13.1_fix-fsdp-fp16-test.patch': '8ae68e60d6e1f92f50322b7f0381c7e65251fba32d7606e3a238a36a2f55b5cf'}, + {'PyTorch-1.13.1_fix-gcc-12-missing-includes.patch': + '18df8c61ecaa9fb659346c1e172828bca6b069f0145bb8f6a36b0a23b7bef0a6'}, + {'PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch': + '5c7be91a6096083a0b1315efe0001537499c600f1f569953c6a2c7f4cc1d0910'}, + {'PyTorch-1.13.1_fix-numpy-deprecations.patch': + 'f461b570efe0434ddd806bf2fa7020eb213e3ed89d0eb4403e076f4276ba2a46'}, + {'PyTorch-1.13.1_fix-protobuf-dependency.patch': + '8bd755a0cab7233a243bc65ca57c9630dfccdc9bf8c9792f0de4e07a644fcb00'}, + {'PyTorch-1.13.1_fix-pytest-args.patch': 'd3e3c841cf8d73683750f29326f2be56ee0bb5df7ff522baf7d7c3f301a91ec2'}, + {'PyTorch-1.13.1_fix-python-3.11-compat.patch': + 'fa4eb0e27e00a90bb217b77c0023089c4659c03f37d781ab4a681bdcb4f0432f'}, + {'PyTorch-1.13.1_fix-test-ops-conf.patch': 'df652eec7753864ebebbfeca546929a53e3fb8f24259d5c9b964266a8551198c'}, + {'PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch': + 'bdde0f2105215c95a54de64ec4b1a4520528510663174fef6d5b900eb1db3937'}, + {'PyTorch-1.13.1_increase-tolerance-test_ops.patch': + 'c909fdfc2b12df457e1eb5514265ffec3eab653994949416f3f048668421e223'}, + {'PyTorch-1.13.1_install-vsx-vec-headers.patch': + '7b678f54bb947afd4767f5877ac424b4b94ce5db609ea20f5a869ccf4027035f'}, + {'PyTorch-1.13.1_no-cuda-stubs-rpath.patch': '4c636059850fc9d1ecb27ce275f8aad5d5b6fdc19e35aff0c25b86cb3201352a'}, + {'PyTorch-1.13.1_remove-flaky-test-in-testnn.patch': + 'be83ff61fe2dedab6d49c232936d5622df81ab49154264490021c6c828e53315'}, + {'PyTorch-1.13.1_skip-failing-grad-test.patch': '6681200f9509893cb9231b5c93ac9bc5e6d9d9ae4febefca52e7cbc843ba8f51'}, + {'PyTorch-1.13.1_skip-failing-singular-grad-test.patch': + '72688a57b2bb617665ad1a1d5e362c5111ae912c10936bb38a089c0204729f48'}, + {'PyTorch-1.13.1_skip-tests-without-fbgemm.patch': + '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] + +builddependencies = [ + ('CMake', '3.24.3'), + ('hypothesis', '6.68.2'), + # For tests + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.8'), + ('protobuf', '23.0'), + ('protobuf-python', '4.23.0'), + ('pybind11', '2.10.3'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '5.1.2'), + ('Pillow', '9.4.0'), + ('expecttest', '0.1.3'), +] + +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 = 5 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch new file mode 100644 index 00000000000..568c4b57e9c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_allow-GCC-12-for-CUDA-11.7.patch @@ -0,0 +1,29 @@ +The JIT generator for CUDA fails as GCC 12 isn't officially compatible with CUDA 11.7. +We can make it compatible by passing `-allow-unsupported-compiler` +but also need to tell the PyTorch code about the raised maximum compiler version. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/utils/cpp_extension.py b/torch/utils/cpp_extension.py +index 9ab43e5ccdd..15da97619be 100644 +--- a/torch/utils/cpp_extension.py ++++ b/torch/utils/cpp_extension.py +@@ -56,7 +56,7 @@ CUDA_GCC_VERSIONS = { + '11.4': ((6, 0, 0), (11, 5, 0)), + '11.5': ((6, 0, 0), (11, 5, 0)), + '11.6': ((6, 0, 0), (11, 5, 0)), +- '11.7': ((6, 0, 0), (11, 5, 0)), ++ '11.7': ((6, 0, 0), (12, 3, 0)), + } + + CUDA_CLANG_VERSIONS = { +@@ -227,7 +227,8 @@ COMMON_NVCC_FLAGS = [ + '-D__CUDA_NO_HALF_CONVERSIONS__', + '-D__CUDA_NO_BFLOAT16_CONVERSIONS__', + '-D__CUDA_NO_HALF2_OPERATORS__', +- '--expt-relaxed-constexpr' ++ '--expt-relaxed-constexpr', ++ '-allow-unsupported-compiler', + ] + + COMMON_HIP_FLAGS = [ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_disable-test-sharding.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_disable-test-sharding.patch new file mode 100644 index 00000000000..551d7a4830a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_disable-test-sharding.patch @@ -0,0 +1,41 @@ +Our error checking doesn't work well with the parallel/sharded pytorch test. +As the overall gain is low, disable it and always run the full test suite in a single process. +Additionally remove the fail-on-first-error flag (-x) to collect all errors. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/run_test.py b/test/run_test.py +index f7c80f3f0a6..9e930d774ed 100755 +--- a/test/run_test.py ++++ b/test/run_test.py +@@ -718,18 +718,18 @@ def print_log_file(test: str, file_path: str, failed: bool) -> None: + + + def run_test_ops(test_module, test_directory, options): +- if 'slow-gradcheck' in os.getenv("BUILD_ENVIRONMENT", ""): ++ if True: + # there are a lot of tests that take up a lot of space in slowgrad check, so don't bother parallelizing + # it's also on periodic so we don't care about TTS as much + return run_test(test_module, test_directory, copy.deepcopy(options), +- extra_unittest_args=["--use-pytest", '-vv', '-x', '--reruns=2', '-rfEX'], ++ extra_unittest_args=["--use-pytest", '-vv', '--reruns=2', '-rfEX'], + ) + return_codes = [] + os.environ["NUM_PARALLEL_PROCS"] = str(NUM_PROCS) + pool = get_context("spawn").Pool(NUM_PROCS) + for i in range(NUM_PROCS): + return_code = pool.apply_async(run_test, args=(test_module, test_directory, copy.deepcopy(options)), +- kwds={"extra_unittest_args": ["--use-pytest", '-vv', '-x', '--reruns=2', '-rfEX', ++ kwds={"extra_unittest_args": ["--use-pytest", '-vv', '--reruns=2', '-rfEX', + f'--shard-id={i}', f'--num-shards={NUM_PROCS}', + "-k=not _linalg_cholesky_"], + }) +@@ -742,7 +742,7 @@ def run_test_ops(test_module, test_directory, options): + if return_code.get() != 0: + return return_code.get() + return_code = run_test(test_module, test_directory, copy.deepcopy(options), +- extra_unittest_args=["--use-pytest", '-vv', '-x', '--reruns=2', '-rfEX', ++ extra_unittest_args=["--use-pytest", '-vv', '--reruns=2', '-rfEX', + "-k=_linalg_cholesky_"], + ) + return return_code diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch new file mode 100644 index 00000000000..6e211b1f3a8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-duplicate-kDefaultTimeout-definition.patch @@ -0,0 +1,31 @@ +From 9a18968253e28ba8d8bdf646731087000c7876b7 Mon Sep 17 00:00:00 2001 +From: sclarkson +Date: Tue, 21 Mar 2023 21:44:49 +0000 +Subject: [PATCH] Fix kDefaultTimeout multiple definition build failure + (#97270) + +Make the namespace explicit to avoid the constexpr conflict on GCC 11. + +Fixes #90448 + +@ezyang + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/97270 +Approved by: https://github.com/ezyang +--- + torch/csrc/distributed/c10d/ProcessGroupGloo.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp b/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp +index a64bc37c4de522..e4d2967c8604ea 100644 +--- a/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp ++++ b/torch/csrc/distributed/c10d/ProcessGroupGloo.hpp +@@ -125,7 +125,7 @@ class TORCH_API ProcessGroupGloo : public Backend { + } + + void wait(const std::vector& keys) override { +- store_->wait(keys, Store::kDefaultTimeout); ++ store_->wait(keys, ::c10d::Store::kDefaultTimeout); + } + + void wait( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-flaky-jit-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-flaky-jit-test.patch new file mode 100644 index 00000000000..f04de0cc8ed --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-flaky-jit-test.patch @@ -0,0 +1,21 @@ +Especially `test_jit_legacy` seems to be flaky. +https://github.com/pytorch/pytorch/commit/316ba9e6fc9e2c309c1b3785e35393b4a727b918 +makes the JIT tests run serially avoiding potential races. +So backport that commit. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/run_test.py b/test/run_test.py +index f7c80f3f0a6..9d9b0c553e9 100755 +--- a/test/run_test.py ++++ b/test/run_test.py +@@ -994,7 +994,8 @@ def must_serial(file: str) -> bool: + "distributed" in file or + file in CUSTOM_HANDLERS or + file in RUN_PARALLEL_BLOCKLIST or +- file in CI_SERIAL_LIST ++ file in CI_SERIAL_LIST or ++ file in JIT_EXECUTOR_TESTS + ) + + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-fp16-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-fp16-test.patch new file mode 100644 index 00000000000..567103a376b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-fp16-test.patch @@ -0,0 +1,21 @@ +The test fails on a node with more than 5 V100 GPUs or more than 4 A100 GPUs. +Hence limit the world_size to 4 +See https://github.com/pytorch/pytorch/pull/86280 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/fsdp/test_fsdp_pure_fp16.py b/test/distributed/fsdp/test_fsdp_pure_fp16.py +index 1c663f8263354..e0033ef3d4b72 100644 +--- a/test/distributed/fsdp/test_fsdp_pure_fp16.py ++++ b/test/distributed/fsdp/test_fsdp_pure_fp16.py +@@ -34,8 +34,8 @@ + class TestPureFP16(FSDPTest): + @property + def world_size(self): +- # Test fails due to inaccuracies when using more than 5 GPUs +- return min(5, super().world_size) ++ # Test fails due to inaccuracies when using more than 4 GPUs ++ return min(4, super().world_size) + + @skip_if_lt_x_gpu(2) + @parametrize( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch new file mode 100644 index 00000000000..6f4a52f460f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-fsdp-tp-integration-test.patch @@ -0,0 +1,32 @@ +Similar to the FP16 test this test seems to expect at most 4 GPUs +as indicated by `skip_if_lt_x_gpu(4)` decorators. + +Otherwise: +- test_fsdp_tp_checkpoint_integration fails with + File "/tmp/eb-tmp-2022a-cuda/lib/python3.10/site-packages/torch/distributed/_shard/sharded_tensor/_ops/tensor_ops.py", line 46, in tensor_device + return self_st.local_shards()[0].tensor.device + IndexError: list index out of range +- test_fsdp_tp_integration fails with + AssertionError: Tensor-likes are not close! + + Mismatched elements: 72 / 72 (100.0%) + Greatest absolute difference: 0.958100214600563 at index (0, 2, 7) (up to 1e-05 allowed) + Greatest relative difference: 52.01691657271702 at index (1, 2, 4) (up to 1.3e-06 allowed) + +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 e813966ec2f..ec2308c705b 100644 +--- a/test/distributed/fsdp/test_fsdp_tp_integration.py ++++ b/test/distributed/fsdp/test_fsdp_tp_integration.py +@@ -202,6 +202,10 @@ class SimpleModel(torch.nn.Module): + + + class TestTPFSDPIntegration(FSDPTest): ++ @property ++ def world_size(self): ++ return min(4, super().world_size) ++ + def _get_params_and_sharding_info( + self, + model: SimpleModel, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-missing-includes.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-missing-includes.patch new file mode 100644 index 00000000000..a74b69d95f4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-missing-includes.patch @@ -0,0 +1,29 @@ +Add missing headers that are no longer transitively included in GCC 12 + +Author: Alexander Grund (TU Dresden) + +Submodule third_party/gloo contains modified content +diff --git a/third_party/gloo/gloo/transport/ibverbs/pair.h b/third_party/gloo/gloo/transport/ibverbs/pair.h +index 1ccc050..54dbc7e 100644 +--- a/third_party/gloo/gloo/transport/ibverbs/pair.h ++++ b/third_party/gloo/gloo/transport/ibverbs/pair.h +@@ -8,6 +8,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/third_party/gloo/gloo/transport/tcp/device.cc b/third_party/gloo/gloo/transport/tcp/device.cc +index 05cf0a4..4408d60 100644 +--- a/third_party/gloo/gloo/transport/tcp/device.cc ++++ b/third_party/gloo/gloo/transport/tcp/device.cc +@@ -8,6 +8,7 @@ + + #include "gloo/transport/tcp/device.h" + ++#include + #include + #include + #include diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch new file mode 100644 index 00000000000..ec1168d3917 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-gcc-12-warning-in-fbgemm.patch @@ -0,0 +1,24 @@ +GCC 12 has a regression (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105593) +leading to warnings/errors during build: https://github.com/pytorch/FBGEMM/issues/1666 +Suppress the affected warning in FBGEMM. + +Author: Alexander Grund (TU Dresden) + +Submodule third_party/fbgemm contains modified content +diff --git a/third_party/fbgemm/CMakeLists.txt b/third_party/fbgemm/CMakeLists.txt +index 58dcb9ae..c888f0f8 100644 +--- a/third_party/fbgemm/CMakeLists.txt ++++ b/third_party/fbgemm/CMakeLists.txt +@@ -147,10 +147,10 @@ else(MSVC) + string(APPEND CMAKE_CXX_FLAGS " -Werror") + string(APPEND CMAKE_CXX_FLAGS " -Wno-deprecated-declarations") + target_compile_options(fbgemm_avx2 PRIVATE +- "-m64" "-mavx2" "-mf16c" "-mfma") ++ "-m64" "-mavx2" "-mf16c" "-mfma" "-Wno-uninitialized") + target_compile_options(fbgemm_avx512 PRIVATE + "-m64" "-mavx2" "-mfma" "-mavx512f" "-mavx512bw" "-mavx512dq" +- "-mavx512vl") ++ "-mavx512vl" "-Wno-uninitialized") + set_source_files_properties( + src/FbgemmFP16UKernelsAvx2.cc + src/FbgemmFP16UKernelsAvx512.cc diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch new file mode 100644 index 00000000000..ea4708e3b68 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-kineto-crash-on-exit.patch @@ -0,0 +1,102 @@ +Fix a crash in libkineto on shutdown observed in e.g. test_jit_cuda_fuser.py +Taken from https://github.com/pytorch/kineto/pull/696 +by Dmytro Dzhulgakov + +Backported: Alexander Grund (TU Dresden) + +Submodule third_party/kineto contains modified content +diff --git a/third_party/kineto/libkineto/include/Config.h b/third_party/kineto/libkineto/include/Config.h +index 3e7f2d4..10c80d9 100644 +--- a/third_party/kineto/libkineto/include/Config.h ++++ b/third_party/kineto/libkineto/include/Config.h +@@ -315,6 +315,12 @@ class Config : public AbstractConfig { + + void print(std::ostream& s) const; + ++ // Config relies on some state with global static lifetime. If other ++ // threads are using the config, it's possible that the global state ++ // is destroyed before the threads stop. By hanging onto this handle, ++ // correct destruction order can be ensured. ++ static std::shared_ptr getStaticObjectsLifetimeHandle(); ++ + private: + explicit Config(const Config& other) = default; + +diff --git a/third_party/kineto/libkineto/src/Config.cpp b/third_party/kineto/libkineto/src/Config.cpp +index 2b6e04e..b23abd6 100644 +--- a/third_party/kineto/libkineto/src/Config.cpp ++++ b/third_party/kineto/libkineto/src/Config.cpp +@@ -155,10 +155,8 @@ struct FactoryMap { + + std::shared_ptr configFactories() { + // Ensure this is safe to call during shutdown, even as static +- // destructors are invoked. Once factories destructor has been +- // invoked, weak_ptr.lock() will return nullptr. +- // But calls before that point will have a valid shared_ptr, +- // delaying destruction of the underlying FactoryMap. ++ // destructors are invoked. getStaticObjectLifetimeHandle hangs onto ++ // FactoryMap delaying its destruction. + static auto factories = std::make_shared(); + static std::weak_ptr weak_ptr = factories; + return weak_ptr.lock(); +@@ -210,6 +208,10 @@ Config::Config() + } + } + ++std::shared_ptr Config::getStaticObjectsLifetimeHandle() { ++ return configFactories(); ++} ++ + uint8_t Config::createDeviceMask(const string& val) { + uint8_t res = 0; + for (const auto& d : splitAndTrim(val, ',')) { +diff --git a/third_party/kineto/libkineto/src/ConfigLoader.cpp b/third_party/kineto/libkineto/src/ConfigLoader.cpp +index 4080b67..ca72b32 100644 +--- a/third_party/kineto/libkineto/src/ConfigLoader.cpp ++++ b/third_party/kineto/libkineto/src/ConfigLoader.cpp +@@ -157,7 +157,7 @@ void ConfigLoader::startThread() { + } + } + +-ConfigLoader::~ConfigLoader() { ++void ConfigLoader::stopThread() { + if (updateThread_) { + stopFlag_ = true; + { +@@ -165,7 +165,12 @@ ConfigLoader::~ConfigLoader() { + updateThreadCondVar_.notify_one(); + } + updateThread_->join(); ++ updateThread_ = nullptr; + } ++} ++ ++ConfigLoader::~ConfigLoader() { ++ stopThread(); + #if !USE_GOOGLE_LOG + Logger::clearLoggerObservers(); + #endif // !USE_GOOGLE_LOG +@@ -249,6 +254,11 @@ void ConfigLoader::configureFromDaemon( + } + + void ConfigLoader::updateConfigThread() { ++ // It's important to hang to this reference until the thread stops. ++ // Otherwise, the Config's static members may be destroyed before this ++ // function finishes. ++ auto handle = Config::getStaticObjectsLifetimeHandle(); ++ + auto now = system_clock::now(); + auto next_config_load_time = now; + auto next_on_demand_load_time = now + onDemandConfigUpdateIntervalSecs_; +diff --git a/third_party/kineto/libkineto/src/ConfigLoader.h b/third_party/kineto/libkineto/src/ConfigLoader.h +index 4680816..83a94ac 100644 +--- a/third_party/kineto/libkineto/src/ConfigLoader.h ++++ b/third_party/kineto/libkineto/src/ConfigLoader.h +@@ -108,6 +108,7 @@ class ConfigLoader { + DaemonConfigLoader* daemonConfigLoader(); + + void startThread(); ++ void stopThread(); + void updateConfigThread(); + void updateBaseConfig(); + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-numpy-deprecations.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-numpy-deprecations.patch new file mode 100644 index 00000000000..e9586796310 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-numpy-deprecations.patch @@ -0,0 +1,102 @@ +Numpy 1.24 removed some types deprecated earlier leading to failures in e.g. test_torch: +> ERROR: test_parsing_intlist (__main__.TestTorch) +> ... +> AttributeError: module 'numpy' has no attribute 'float'. + +Backported from https://github.com/pytorch/pytorch/pull/93997 +Author: Alexander Grund (TU Dresden) + +diff --git a/test/quantization/core/test_quantized_op.py b/test/quantization/core/test_quantized_op.py +index 79297e073f0..827a781df10 100644 +--- a/test/quantization/core/test_quantized_op.py ++++ b/test/quantization/core/test_quantized_op.py +@@ -3010,7 +3010,7 @@ class TestDynamicQuantizedOps(TestCase): + # W_scale = 1.0 + # W_zp = 0 + W_scales = np.ones(output_channels) +- W_zps = np.zeros(output_channels).astype(np.int) ++ W_zps = np.zeros(output_channels).astype(int) + W_value_min = -128 + W_value_max = 127 + W_q0 = np.round( +@@ -3581,9 +3581,9 @@ class TestQuantizedLinear(TestCase): + # xnnpack forces W_zp to 0 when using symmetric quantization + # ONEDNN only supports symmetric quantization of weight + if dtype == torch.qint8 or qengine_is_onednn(): +- W_zps = np.zeros(output_channels).astype(np.int) ++ W_zps = np.zeros(output_channels).astype(int) + else: +- W_zps = np.round(np.random.rand(output_channels) * 100 - 50).astype(np.int) ++ W_zps = np.round(np.random.rand(output_channels) * 100 - 50).astype(int) + # when using symmetric quantization + # special restriction for xnnpack fully connected op weight + # [-127, 127] instead of [-128, 127] +diff --git a/test/test_reductions.py b/test/test_reductions.py +index 0e36906f25f..20fcb6ef9ae 100644 +--- a/test/test_reductions.py ++++ b/test/test_reductions.py +@@ -1323,7 +1323,7 @@ class TestReductions(TestCase): + vals = [[True, True], [True, False], [False, False], []] + for val in vals: + result = torch.prod(torch.tensor(val, device=device), dtype=torch.bool).item() +- expect = np.prod(np.array(val), dtype=np.bool) ++ expect = np.prod(np.array(val), dtype=bool) + self.assertEqual(result, expect) + + result = torch.prod(torch.tensor(val, device=device)).item() +diff --git a/test/test_tensor_creation_ops.py b/test/test_tensor_creation_ops.py +index aab26452496..a71761ce670 100644 +--- a/test/test_tensor_creation_ops.py ++++ b/test/test_tensor_creation_ops.py +@@ -1440,14 +1440,14 @@ class TestTensorCreation(TestCase): + def test_ctor_with_numpy_array(self, device): + correct_dtypes = [ + np.double, +- np.float, ++ float, + np.float16, + np.int64, + np.int32, + np.int16, + np.int8, + np.uint8, +- np.bool, ++ bool, + ] + + incorrect_byteorder = '>' if sys.byteorder == 'little' else '<' +diff --git a/test/test_tensorboard.py b/test/test_tensorboard.py +index e836b0f1ba8..0857873a5fa 100644 +--- a/test/test_tensorboard.py ++++ b/test/test_tensorboard.py +@@ -796,7 +796,7 @@ class TestTensorBoardNumpy(BaseTestCase): + model = ModelHelper(name="mnist") + # how come those inputs don't break the forward pass =.=a + workspace.FeedBlob("data", np.random.randn(1, 3, 64, 64).astype(np.float32)) +- workspace.FeedBlob("label", np.random.randn(1, 1000).astype(np.int)) ++ workspace.FeedBlob("label", np.random.randn(1, 1000).astype(int)) + + with core.NameScope("conv1"): + conv1 = brew.conv(model, "data", 'conv1', dim_in=1, dim_out=20, kernel=5) +@@ -831,7 +831,7 @@ class TestTensorBoardNumpy(BaseTestCase): + def test_caffe2_simple_cnnmodel(self): + model = cnn.CNNModelHelper("NCHW", name="overfeat") + workspace.FeedBlob("data", np.random.randn(1, 3, 64, 64).astype(np.float32)) +- workspace.FeedBlob("label", np.random.randn(1, 1000).astype(np.int)) ++ workspace.FeedBlob("label", np.random.randn(1, 1000).astype(int)) + with core.NameScope("conv1"): + conv1 = model.Conv("data", "conv1", 3, 96, 11, stride=4) + relu1 = model.Relu(conv1, conv1) +diff --git a/test/test_torch.py b/test/test_torch.py +index 8de5b822d00..3121e256b21 100644 +--- a/test/test_torch.py ++++ b/test/test_torch.py +@@ -6182,7 +6182,7 @@ class TestTorch(TestCase): + # fail parse with float variables + self.assertRaises(TypeError, lambda: torch.ones((torch.tensor(3.), torch.tensor(4)))) + # fail parse with numpy floats +- self.assertRaises(TypeError, lambda: torch.ones((np.float(3.), torch.tensor(4)))) ++ self.assertRaises(TypeError, lambda: torch.ones((3., torch.tensor(4)))) + self.assertRaises(TypeError, lambda: torch.ones((np.array(3.), torch.tensor(4)))) + + # fail parse with > 1 element variables diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-protobuf-dependency.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-protobuf-dependency.patch new file mode 100644 index 00000000000..c92a9d49d02 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-protobuf-dependency.patch @@ -0,0 +1,35 @@ +Add proper dependency in libprotobuf target to get the correct set of flags. +Otherwise the build will fail with e.g.: + undefined reference to `google::protobuf::internal::ThreadSafeArena::thread_cache_' +This is caused by missing the `PROTOBUF_USE_DLLS` define required for libprotobuf as a shared library. +See https://github.com/pytorch/pytorch/issues/106297 + +Author: Alexander Grund (TU Dresden) + +diff --git a/caffe2/proto/CMakeLists.txt b/caffe2/proto/CMakeLists.txt +index ba6b696dde4..5033e228119 100644 +--- a/caffe2/proto/CMakeLists.txt ++++ b/caffe2/proto/CMakeLists.txt +@@ -7,6 +7,7 @@ endif() + caffe2_protobuf_generate_cpp_py(Caffe2_PROTO_SRCS Caffe2_PROTO_HEADERS Caffe2_PROTO_PY ${Caffe2_PROTOBUF_FILES}) + + add_library(Caffe2_PROTO OBJECT ${Caffe2_PROTO_HEADERS} ${Caffe2_PROTO_SRCS}) ++target_link_libraries(Caffe2_PROTO PRIVATE protobuf::libprotobuf) + + if(MSVC) + if(BUILD_SHARED_LIBS) +diff --git a/cmake/ProtoBuf.cmake b/cmake/ProtoBuf.cmake +index 8d7633c4ab0..fb0e9a0c5f7 100644 +--- a/cmake/ProtoBuf.cmake ++++ b/cmake/ProtoBuf.cmake +@@ -122,10 +122,6 @@ if((NOT TARGET protobuf::libprotobuf) AND (NOT TARGET protobuf::libprotobuf-lite + # "Please set the proper paths so that I can find protobuf correctly.") + endif() + +-get_target_property(__tmp protobuf::libprotobuf INTERFACE_INCLUDE_DIRECTORIES) +-message(STATUS "Caffe2 protobuf include directory: " ${__tmp}) +-include_directories(BEFORE SYSTEM ${__tmp}) +- + # If Protobuf_VERSION is known (true in most cases, false if we are building + # local protobuf), then we will add a protobuf version check in + # Caffe2Config.cmake.in. diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-pytest-args.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-pytest-args.patch new file mode 100644 index 00000000000..f89df575837 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-pytest-args.patch @@ -0,0 +1,28 @@ +As we don't set `--save-xml` pytest is called without arguments causing it to try to discover ALL tests. +This leads to massive failures in e.g. `test_ops*` where `--use-pytest` is used by the tests. +See https://github.com/pytorch/pytorch/pull/94589 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py +index e32850908d4..e63c6f2a392 100644 +--- a/torch/testing/_internal/common_utils.py ++++ b/torch/testing/_internal/common_utils.py +@@ -737,14 +737,16 @@ def run_tests(argv=UNITTEST_ARGS): + failed |= wait_for_process(p) != 0 + assert not failed, "Some test shards have failed" + elif USE_PYTEST: ++ pytest_args = argv + if TEST_SAVE_XML: + test_report_path = get_report_path(pytest=True) + print(f'Test results will be stored in {test_report_path}') ++ pytest_args = pytest_args + [f'--junit-xml-reruns={test_report_path}'] + + import pytest + os.environ["NO_COLOR"] = "1" + os.environ["USING_PYTEST"] = "1" +- exit_code = pytest.main(args=argv + [f'--junit-xml-reruns={test_report_path}'] if TEST_SAVE_XML else []) ++ exit_code = pytest.main(args=pytest_args) + del os.environ["USING_PYTEST"] + if TEST_SAVE_XML: + sanitize_pytest_xml(test_report_path) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-python-3.11-compat.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-python-3.11-compat.patch new file mode 100644 index 00000000000..327ff5fba84 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-python-3.11-compat.patch @@ -0,0 +1,160 @@ +Some code isn't compatible with Python 3.11+ +Backport https://github.com/pytorch/pytorch/pull/92895 to fix this. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_fx.py b/test/test_fx.py +index c8da9d3d2cf..6aefb4b9b2c 100644 +--- a/test/test_fx.py ++++ b/test/test_fx.py +@@ -3295,6 +3295,7 @@ class TestFX(JitTestCase): + finally: + del sys.modules["__future__"] + ++ @unittest.skipIf(sys.version_info > (3, 11), "Does not work in 3.11") + def test_annotations_empty_tuple(self): + class Foo(torch.nn.Module): + def forward(self, x: Tuple[()], y: Tuple[str, Tuple[()]]): +@@ -4030,7 +4031,7 @@ class TestFunctionalTracing(JitTestCase): + "max_pool2d": PROXY_ITERATED, + "max_pool3d": PROXY_ITERATED, + +- "group_norm": LEN_ERROR ++ "group_norm": PROXY_ITERATED + } + + @classmethod +@@ -4069,7 +4070,7 @@ class TestFunctionalTracing(JitTestCase): + + def functional_test(self): + if func_name in self.UNTRACEABLE_FUNCTIONALS_PY38 and \ +- sys.version_info >= (3, 8) and sys.version_info < (3, 11): ++ sys.version_info >= (3, 8) and sys.version_info < (3, 12): + exc, err = self.UNTRACEABLE_FUNCTIONALS_PY38[func_name] + with self.assertRaisesRegex(exc, err): + symbolic_trace(fn) +diff --git a/torch/fx/_symbolic_trace.py b/torch/fx/_symbolic_trace.py +index ff9df1161a7..521bb02c846 100644 +--- a/torch/fx/_symbolic_trace.py ++++ b/torch/fx/_symbolic_trace.py +@@ -119,7 +119,29 @@ def _patch_function(fn: FunctionType, nargs: int) -> FunctionType: + co = fn.__code__ + co_flags = co.co_flags & ~HAS_VARSTUFF + co_args: tuple +- if hasattr(co, "co_posonlyargcount"): ++ if hasattr(co, "co_qualname"): ++ # Python-3.11+ code signature ++ co_args = ( ++ nargs, ++ 0, ++ 0, ++ co.co_nlocals, ++ co.co_stacksize, ++ co_flags, ++ co.co_code, ++ co.co_consts, ++ co.co_names, ++ co.co_varnames, ++ co.co_filename, ++ co.co_name, ++ co.co_qualname, # type: ignore[attr-defined] ++ co.co_firstlineno, ++ co.co_lnotab, ++ co.co_exceptiontable, # type: ignore[attr-defined] ++ co.co_freevars, ++ co.co_cellvars, ++ ) ++ elif hasattr(co, "co_posonlyargcount"): + co_args = ( + nargs, + 0, +diff --git a/torch/fx/operator_schemas.py b/torch/fx/operator_schemas.py +index 7ec3bc9a673..7c8971fb3ec 100644 +--- a/torch/fx/operator_schemas.py ++++ b/torch/fx/operator_schemas.py +@@ -61,18 +61,29 @@ def _torchscript_type_to_python_type(ts_type : 'torch._C.JitType') -> Any: + return eval(ts_type.annotation_str, _type_eval_globals) + + def _torchscript_schema_to_signature(ts_schema : torch._C.FunctionSchema) -> inspect.Signature: +- parameters : List[inspect.Parameter] = [] ++ from inspect import Parameter ++ parameters : List[Parameter] = [] + for arg in ts_schema.arguments: + arg_type = _torchscript_type_to_python_type(arg.type) +- default = arg.default_value if arg.has_default_value() else inspect.Parameter.empty ++ default = arg.default_value if arg.has_default_value() else Parameter.empty + # TODO: Figure out if this is safe. It seems like when generating the type signatures for + # PythonArgParser, we emit signatures with `input` instead of `self` as the first tensor + # argument name. Downstream, if someone converts that positional argument to a keyword + # argument, the name mismatch will break things, so here we're going to normalize the + # name to "input" + name = arg.name if arg.name != 'self' else 'input' +- kind = inspect.Parameter.KEYWORD_ONLY if arg.kwarg_only else inspect.Parameter.POSITIONAL_OR_KEYWORD +- parameters.append(inspect.Parameter(name=name, kind=kind, default=default, annotation=arg_type)) ++ kind = Parameter.KEYWORD_ONLY if arg.kwarg_only else Parameter.POSITIONAL_OR_KEYWORD ++ # "from" is a keyword therefore it must be a POSITIONAL_ONLY argument ++ if name == "from": ++ assert kind == Parameter.POSITIONAL_OR_KEYWORD ++ # ParameterKind type is internal implementation detail to inspec package ++ # which makes it hard to do type annoation ++ kind = Parameter.POSITIONAL_ONLY # type: ignore[assignment] ++ # This renders all previous arguments to positional only ++ for idx, p in enumerate(parameters): ++ assert p.kind == Parameter.POSITIONAL_OR_KEYWORD ++ parameters[idx] = Parameter(name=p.name, kind=Parameter.POSITIONAL_ONLY, default=p.default, annotation=p.annotation) ++ parameters.append(Parameter(name=name, kind=kind, default=default, annotation=arg_type)) + return_types = [_torchscript_type_to_python_type(ret.type) for ret in ts_schema.returns] + if len(return_types) == 0: + return_type = None +@@ -392,7 +403,12 @@ def _args_kwargs_to_normalized_args_kwargs(sig : inspect.Signature, args : Tuple + supported_parameter_types = { + inspect.Parameter.POSITIONAL_OR_KEYWORD, inspect.Parameter.KEYWORD_ONLY} + if any(p.kind not in supported_parameter_types for p in sig.parameters.values()): +- return None ++ # Add an exception for one signature, which is common for random/uniform, i.e.: ++ # Tensor(a!) self, float from=0, float to=1, *, Generator? generator=None ++ # `from` is Python keyword and as such functions with that signature should have ++ # positional-only args, but at the same time they could be dispatched as kwargs ++ if list(sig.parameters.keys()) != ['input', 'from', 'to', 'generator']: ++ return None + + bound_args = sig.bind(*args, **kwargs) + bound_args.apply_defaults() +diff --git a/torch/fx/proxy.py b/torch/fx/proxy.py +index 5d65f03e29b..120452dfd71 100644 +--- a/torch/fx/proxy.py ++++ b/torch/fx/proxy.py +@@ -1,4 +1,5 @@ + import dis ++import sys + import torch + import inspect + import operator +@@ -267,7 +268,13 @@ class Proxy: + assert frame is not None + calling_frame = frame.f_back + assert calling_frame is not None +- inst = list(dis.get_instructions(calling_frame.f_code))[calling_frame.f_lasti // 2] ++ inst_list = list(dis.get_instructions(calling_frame.f_code)) ++ if sys.version_info >= (3, 11): ++ from bisect import bisect_left ++ inst_idx = bisect_left(inst_list, calling_frame.f_lasti, key=lambda x: x.offset) ++ else: ++ inst_idx = calling_frame.f_lasti // 2 ++ inst = inst_list[inst_idx] + if inst.opname == 'UNPACK_SEQUENCE': + return (self[i] for i in range(inst.argval)) # type: ignore[index] + +@@ -282,7 +289,11 @@ class Proxy: + calling_frame = frame.f_back + assert calling_frame is not None + insts = list(dis.get_instructions(calling_frame.f_code)) +- cur = calling_frame.f_lasti // 2 ++ if sys.version_info >= (3, 11): ++ from bisect import bisect_left ++ cur = bisect_left(insts, calling_frame.f_lasti, key=lambda x: x.offset) ++ else: ++ cur = calling_frame.f_lasti // 2 + inst = insts[cur] + + if inst.opname == 'POP_JUMP_IF_TRUE': diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-test-ops-conf.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-test-ops-conf.patch new file mode 100644 index 00000000000..d30746dab4d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-test-ops-conf.patch @@ -0,0 +1,26 @@ +From 8581301957b0018a32433f85163535709bc9d332 Mon Sep 17 00:00:00 2001 +From: Masaki Kozuki +Date: Fri, 7 Oct 2022 21:25:07 -0700 +Subject: [PATCH] try using a different group name + +ref: +https://github.com/pytorch/pytorch/issues/85923#issuecomment-1272220271 + +Signed-off-by: Masaki Kozuki +--- + functorch/test/conftest.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/functorch/test/conftest.py b/functorch/test/conftest.py +index d2e929a9a58db..afc39d9f35de9 100644 +--- a/functorch/test/conftest.py ++++ b/functorch/test/conftest.py +@@ -17,7 +17,7 @@ + + + def pytest_addoption(parser: Parser) -> None: +- group = parser.getgroup("terminal reporting") ++ group = parser.getgroup("terminal reporting functorch") + group.addoption( + "--junit-xml-reruns", + action="store", diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch new file mode 100644 index 00000000000..186cfe89dfa --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-warning-in-test-cpp-api.patch @@ -0,0 +1,29 @@ +From 367387bab836c73c23719f97d929572c8b4e0fad Mon Sep 17 00:00:00 2001 +From: Nick Rossenbach +Date: Tue, 18 Apr 2023 23:31:51 +0200 +Subject: [PATCH] Add -Wno-error=nonnull for test/cpp/api/ + +On some platforms the build might fail due to the nonnull error +being triggered by different compiler behavior. + +Fix for #99278. +--- + test/cpp/api/CMakeLists.txt | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt +index 6b801a07318279..181139b01360c3 100644 +--- a/test/cpp/api/CMakeLists.txt ++++ b/test/cpp/api/CMakeLists.txt +@@ -80,6 +80,11 @@ if(NOT MSVC) + target_compile_options_if_supported(test_api "-Wno-maybe-uninitialized") + # gcc gives nonsensical warnings about variadic.h + target_compile_options_if_supported(test_api "-Wno-unused-but-set-parameter") ++ # the nonnull check might trigger for some build configurations, ++ # probably happening due to different code optimization ++ # (see e.g. https://rkoucha.fr/tech_corner/nonnull_gcc_attribute.html) ++ # this happened for a riscv build: https://github.com/pytorch/pytorch/issues/99278 ++ target_compile_options_if_supported(test_api "-Wno-error=nonnull") + endif() + + if(INSTALL_TEST) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch new file mode 100644 index 00000000000..ec664f7ae32 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_fix-wrong-check-in-fsdp-tests.patch @@ -0,0 +1,21 @@ +A check in the test code was inverted and incomplete. +See https://github.com/pytorch/pytorch/pull/90252 & https://github.com/pytorch/pytorch/pull/90785 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_fsdp.py b/torch/testing/_internal/common_fsdp.py +index eda1b953d95..56a95961371 100644 +--- a/torch/testing/_internal/common_fsdp.py ++++ b/torch/testing/_internal/common_fsdp.py +@@ -1014,7 +1014,10 @@ class FSDPTest(MultiProcessTestCase): + # the DDP parameters are in FP16 (from `half()`) while the FSDP + # parameters are in FP32 (from `summon_full_params()`) and (2) DDP runs + # the optimizer in FP16 while FSDP runs it in FP32 +- if mixed_precision is not None: ++ # TODO: Disable checking the parameters for pure FP16 due to floating ++ # point inaccuracy. Note that this means that the backward pass is not ++ # checked: https://github.com/pytorch/pytorch/issues/90784 ++ if mixed_precision is None and not use_pure_fp16: + self.assertEqual( + ddp_params, + fsdp_unsharded_params, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch new file mode 100644 index 00000000000..b1d87bd071f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_jit.patch @@ -0,0 +1,24 @@ +Fix the following failure: + +FAIL: test_freeze_conv_relu_fusion (jit.test_freezing.TestFrozenOptimizations) +---------------------------------------------------------------------- +... +Mismatched elements: 10 / 30 (33.3%) +Greatest absolute difference: 3.057718276977539e-05 at index (2, 3, 0, 0, 0) (up to 1e-05 allowed) +Greatest relative difference: 8.758584417742737e-05 at index (0, 3, 0, 0, 0) (up to 1.3e-06 allowed) + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/jit/test_freezing.py b/test/jit/test_freezing.py +index cdb2187f6bb..900c7dc5f53 100644 +--- a/test/jit/test_freezing.py ++++ b/test/jit/test_freezing.py +@@ -2255,7 +2255,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=5e-5, rtol=1e-4) + + @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-1.13.1_increase-tolerance-test_ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_ops.patch new file mode 100644 index 00000000000..b07becd652e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_ops.patch @@ -0,0 +1,27 @@ +`test_out` may fail due to slightly different values caused by different order of matrizes in SGEMM: + +> Mismatched elements: 1 / 50 (2.0%) +> Greatest absolute difference: 1.430511474609375e-05 at index (4, 5) (up to 1e-05 allowed) +> Greatest relative difference: 4.65393206065873e-06 at index (4, 5) (up to 1.3e-06 allowed) + +See https://github.com/pytorch/pytorch/pull/86365 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_methods_invocations.py b/torch/testing/_internal/common_methods_invocations.py +index 4b2d0ebabc46b..bab7843a72b74 100644 +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -8503,7 +8503,11 @@ op_db: List[OpInfo] = [ + DecorateInfo( + toleranceOverride({torch.float32: tol(atol=1.3e-05, rtol=1.3e-05), + torch.complex64: tol(atol=1e-05, rtol=1.2e-03)}), +- 'TestCommon', 'test_numpy_refs')], ++ 'TestCommon', 'test_numpy_refs'), ++ DecorateInfo( ++ toleranceOverride({torch.float32: tol(atol=1.5e-05, rtol=1e-05)}), ++ 'TestCommon', 'test_out'), ++ ], + skips=( + # NVIDIA only assures that bfloat16 is supported by bmm if SM >= 5.3 + DecorateInfo(unittest.skip("Skipped!"), 'TestCommon', 'test_dtypes', device_type='cuda', active_if=not SM53OrLater), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch new file mode 100644 index 00000000000..566751f4990 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_increase-tolerance-test_optim.patch @@ -0,0 +1,17 @@ +Increase tolerance for failing test(s). +See https://github.com/pytorch/pytorch/issues/98414 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_optim.py b/test/test_optim.py +index 2cb27376919..ce7cf2cb160 100644 +--- a/test/test_optim.py ++++ b/test/test_optim.py +@@ -777,6 +777,7 @@ class TestOptim(TestCase): + ) + + def test_nadam(self): ++ self.precision, self.rel_tol = (2e-05, 1e-05) + self._test_basic_cases( + lambda weight, bias, foreach: optim.NAdam([weight, bias], lr=1e-3, foreach=foreach), + constructor_accepts_foreach=True, diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_install-vsx-vec-headers.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_install-vsx-vec-headers.patch new file mode 100644 index 00000000000..1f6150a5cb0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_install-vsx-vec-headers.patch @@ -0,0 +1,35 @@ +Add missing headers to the installation which fixes e.g. test_cpp_extensions_aot_ninja +See https://github.com/pytorch/pytorch/pull/85547 + +Author: Alexander Grund (TU Dresden) +Updated for PyTorch 1.13.1: Simon Branford (University of Birmingham) + +--- a/aten/src/ATen/CMakeLists.txt ++++ b/aten/src/ATen/CMakeLists.txt +@@ -56,7 +56,7 @@ + EXCLUDE(ATen_CORE_TEST_SRCS "${ATen_CORE_TEST_SRCS}" ${ATen_CORE_EXCLUDED_TEST_SRCS}) + endif() + +-file(GLOB base_h "*.h" "detail/*.h" "cpu/*.h" "cpu/vec/vec512/*.h" "cpu/vec/vec256/*.h" "cpu/vec/*.h" "quantized/*.h" "functorch/*.h") ++file(GLOB base_h "*.h" "detail/*.h" "cpu/*.h" "cpu/vec/vec512/*.h" "cpu/vec/vec256/*.h" "cpu/vec/vec256/vsx/*.h" "cpu/vec/*.h" "quantized/*.h" "functorch/*.h") + file(GLOB base_cpp "*.cpp" "detail/*.cpp" "cpu/*.cpp" "functorch/*.cpp") + file(GLOB cuda_h "cuda/*.h" "cuda/detail/*.h" "cuda/*.cuh" "cuda/detail/*.cuh") + file(GLOB cuda_cpp "cuda/*.cpp" "cuda/detail/*.cpp") +--- a/setup.py ++++ b/setup.py +@@ -1031,6 +1031,7 @@ + 'include/ATen/*.h', + 'include/ATen/cpu/*.h', + 'include/ATen/cpu/vec/vec256/*.h', ++ 'include/ATen/cpu/vec/vec256/vsx/*.h', + 'include/ATen/cpu/vec/vec512/*.h', + 'include/ATen/cpu/vec/*.h', + 'include/ATen/core/*.h', +@@ -1138,6 +1139,7 @@ + 'include/THH/*.cuh', + 'include/THH/*.h*', + 'include/THH/generic/*.h', ++ 'include/sleef.h', + 'share/cmake/ATen/*.cmake', + 'share/cmake/Caffe2/*.cmake', + 'share/cmake/Caffe2/public/*.cmake', diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_no-cuda-stubs-rpath.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_no-cuda-stubs-rpath.patch new file mode 100644 index 00000000000..be2335491ea --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_no-cuda-stubs-rpath.patch @@ -0,0 +1,185 @@ +# PyTorch's CMAKE configuration by default sets RUNPATH on libraries if they link other libraries +# that are outside the build tree, which is done because of the CMAKE config on +# https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L10. +# This provides problems, since the cuda stubs library path then also gets added to the RUNPATH. +# As a result, at runtime, the stub version of things like libcuda.so.1 gets picked up, instead of the real drivers +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/14359 +# This line https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L16 +# Makes sure that any path that is linked, is also added to the RUNPATH. +# This has been reported upstream in https://github.com/pytorch/pytorch/issues/35418 +# and a fix was attempted in https://github.com/pytorch/pytorch/pull/37737 but it was reverted +# +# This EasyBuild patch changes behavior for the libraries that were failing, i.e. the ones in this list: +# https://github.com/easybuilders/easybuild-easyconfigs/issues/14359#issuecomment-970479904 +# This is done by setting INSTALL_RPATH_USE_LINK_PATH to false, and instead, specifying the RPATH +# explicitely by defining INSTALL_RPATH, but only adding directories that do not match to the "stubs" regex +# +# Original patch: Caspar van Leeuwen +# Updated: Alexander Grund (TU Dresden) +# +# See https://github.com/pytorch/pytorch/pull/87593 + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 9074b848411..1d45807189b 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -631,13 +631,12 @@ endif() + if(USE_CUDA) + list(APPEND Caffe2_GPU_CU_SRCS ${Caffe2_GPU_HIP_JIT_FUSERS_SRCS}) + add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS}) ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB}) + if(MSVC) + # Delay load nvcuda.dll so we can import torch compiled with cuda on a CPU-only machine +- set(DELAY_LOAD_FLAGS "-DELAYLOAD:nvcuda.dll;delayimp.lib") +- else() +- set(DELAY_LOAD_FLAGS "") ++ target_link_libraries(caffe2_nvrtc "-DELAYLOAD:nvcuda.dll;delayimp.lib") + endif() +- target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) + install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") + if(USE_NCCL) +diff --git a/cmake/LinkCudaLibraries.cmake b/cmake/LinkCudaLibraries.cmake +new file mode 100644 +index 00000000000..005914ccc6f +--- /dev/null ++++ b/cmake/LinkCudaLibraries.cmake +@@ -0,0 +1,33 @@ ++# Link CUDA libraries to the given target, i.e.: `target_link_libraries(target )` ++# ++# Additionally makes sure CUDA stub libs don't end up being in RPath ++# ++# Example: link_cuda_libraries(mytarget PRIVATE ${CUDA_LIBRARIES}) ++function(link_cuda_libraries target) ++ set(libs ${ARGN}) ++ set(install_rpath "$ORIGIN") ++ set(filtered FALSE) ++ foreach(lib IN LISTS libs) ++ # CUDA stub libs are in form /prefix/lib/stubs/libcuda.so ++ # So extract the name of the parent folder, to check against "stubs" ++ # And the parent path which we need to add to the INSTALL_RPATH for non-stubs ++ get_filename_component(parent_path "${lib}" DIRECTORY) ++ get_filename_component(parent_name "${parent_path}" NAME) ++ if(parent_name STREQUAL "stubs") ++ message(STATUS "Filtering ${lib} from being set in ${target}'s RPATH, " ++ "because it appears to point to the CUDA stubs directory.") ++ set(filtered TRUE) ++ elseif(parent_path) ++ list(APPEND install_rpath ${parent_path}) ++ endif() ++ endforeach() ++ ++ # Regular link command ++ target_link_libraries(${target} ${scope} ${libs}) ++ # Manually set INSTALL_RPATH when there were any stub libs ++ if(filtered) ++ list(REMOVE_DUPLICATES install_rpath) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH "${install_rpath}") ++ endif() ++endfunction() +diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt +index 6b801a07318..6ac92870479 100644 +--- a/test/cpp/api/CMakeLists.txt ++++ b/test/cpp/api/CMakeLists.txt +@@ -54,7 +54,8 @@ if(NOT MSVC) + endif() + + if(USE_CUDA) +- target_link_libraries(test_api PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_api PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/dist_autograd/CMakeLists.txt b/test/cpp/dist_autograd/CMakeLists.txt +index 9969c63e16d..356ba5be55c 100644 +--- a/test/cpp/dist_autograd/CMakeLists.txt ++++ b/test/cpp/dist_autograd/CMakeLists.txt +@@ -10,7 +10,8 @@ if(USE_DISTRIBUTED AND NOT WIN32) + target_link_libraries(test_dist_autograd PRIVATE torch gtest) + + if(USE_CUDA) +- target_link_libraries(test_dist_autograd PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_dist_autograd PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt +index 66a60fb01ca..005e18183d2 100644 +--- a/test/cpp/jit/CMakeLists.txt ++++ b/test/cpp/jit/CMakeLists.txt +@@ -148,7 +148,8 @@ if(LINUX) + endif() + + if(USE_CUDA) +- target_link_libraries(test_jit PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_jit PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/rpc/CMakeLists.txt b/test/cpp/rpc/CMakeLists.txt +index 3997f8753e5..21fddbc645d 100644 +--- a/test/cpp/rpc/CMakeLists.txt ++++ b/test/cpp/rpc/CMakeLists.txt +@@ -33,7 +33,8 @@ target_include_directories( + target_link_libraries(test_cpp_rpc PRIVATE ${TORCH_RPC_TEST_DEPENDENCY_LIBS}) + + if(USE_CUDA) +- target_link_libraries(test_cpp_rpc PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_cpp_rpc PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt +index 7dff70630d3..ecb83005492 100644 +--- a/test/cpp/tensorexpr/CMakeLists.txt ++++ b/test/cpp/tensorexpr/CMakeLists.txt +@@ -57,14 +57,15 @@ if(USE_PTHREADPOOL) + target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface) + endif() + if(USE_CUDA) +- target_link_libraries(test_tensorexpr PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + target_compile_definitions(test_tensorexpr PRIVATE USE_CUDA) + +- target_link_libraries(tutorial_tensorexpr PRIVATE ++ link_cuda_libraries(tutorial_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/test_torch.py b/test/test_torch.py +index 8de5b822d00..fce7b5714f1 100644 +--- a/test/test_torch.py ++++ b/test/test_torch.py +@@ -8414,6 +8414,21 @@ def add_neg_dim_tests(): + assert not hasattr(TestTorch, test_name), "Duplicated test name: " + test_name + setattr(TestTorch, test_name, make_neg_dim_test(name, tensor_arg, arg_constr, types, extra_dim)) + ++class TestRPATH(TestCase): ++ @unittest.skipIf(not sys.platform.startswith('linux'), "linux-only test") ++ def test_rpath(self): ++ """ ++ Make sure RPATH (or RUNPATH) in nvrtc does not contain a cuda stubs directory ++ issue gh-35418 ++ """ ++ libdir = os.path.join(os.path.dirname(torch._C.__file__), 'lib') ++ caffe2_nvrtc = os.path.join(libdir, 'libcaffe2_nvrtc.so') ++ if os.path.exists(caffe2_nvrtc): ++ output = subprocess.check_output(['objdump', '-x', caffe2_nvrtc]) ++ for line in output.split(b'\n'): ++ if b'RPATH' in line or b'RUNPATH' in line: ++ self.assertFalse(b'stubs' in line) ++ + # TODO: these empy classes are temporarily instantiated for XLA compatibility + # once XLA updates their test suite it should be removed + class TestViewOps(TestCase): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_remove-flaky-test-in-testnn.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_remove-flaky-test-in-testnn.patch new file mode 100644 index 00000000000..c95d2227258 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_remove-flaky-test-in-testnn.patch @@ -0,0 +1,22 @@ +This test is flaky when run with the type float16. +I.e. TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int32_int32_float16 & + TestNNDeviceTypeCPU.test_embedding_bag_device_cpu_int64_int64_float16 +fail. +See https://github.com/pytorch/pytorch/issues/86638 +So remove the half precision test. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/nn/test_embedding.py b/test/nn/test_embedding.py +index f76e01c65c5..6b5de2b1059 100644 +--- a/test/nn/test_embedding.py ++++ b/test/nn/test_embedding.py +@@ -1108,7 +1108,7 @@ class TestEmbeddingNNDeviceType(NNTestCase): + self.assertRaises(RuntimeError, lambda: es(input.view(-1), offset)) + + @skipMeta +- @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double, torch.half))) ++ @dtypes(*itertools.product((torch.int, torch.long), (torch.int, torch.long), (torch.float, torch.double))) + def test_embedding_bag_device(self, device, dtypes): + with set_default_dtype(torch.double): + self._test_EmbeddingBag(device, 'sum', False, wdtype=dtypes[2], dtype=dtypes[0], odtype=dtypes[1]) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-grad-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-grad-test.patch new file mode 100644 index 00000000000..13ab1717e00 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-grad-test.patch @@ -0,0 +1,25 @@ +Skip test_forward_mode_AD_nn_functional_max_unpool2d_cpu_float64 & test_forward_mode_AD_nn_functional_max_unpool3d_cpu_float64 +which may unexpectably succeed. + +Author: Simon Branford (University of Birmingham) + +--- a/torch/testing/_internal/common_methods_invocations.py ++++ b/torch/testing/_internal/common_methods_invocations.py +@@ -11574,7 +11574,7 @@ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestCompositeCompliance', 'test_forward_ad'), +@@ -11611,7 +11611,7 @@ + # and if there are several indices pointing to the same memory, + # gradcheck is oblivious about that and cannot perturb them all at once + # (see sample_inputs_max_unpool_grad to find out more). +- DecorateInfo(unittest.expectedFailure, 'TestGradients', 'test_forward_mode_AD'), ++ DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_forward_mode_AD'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_gradgrad'), + DecorateInfo(unittest.skip("Skipped!"), 'TestGradients', 'test_fn_grad'), + DecorateInfo(unittest.expectedFailure, 'TestCompositeCompliance', 'test_forward_ad'), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-singular-grad-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-singular-grad-test.patch new file mode 100644 index 00000000000..0933e5a3abc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-failing-singular-grad-test.patch @@ -0,0 +1,28 @@ +TestGradientsCPU.test_forward_mode_AD_linalg_det_singular_cpu_complex128 sometimes fails with + + raise GradcheckError(_get_notallclose_msg(a, n, j, i, complex_indices, test_imag, is_forward_ad) + jacobians_str) + torch.autograd.gradcheck.GradcheckError: While considering the imaginary part of complex inputs only, Jacobian computed with forward mode mismatch for output 0 with respect to input 0, + numerical:tensor([-0.1722-0.0510j, 0.0925-0.0695j, 0.1424+0.0206j, 0.0174-0.0618j], + dtype=torch.complex128) + analytical:tensor([-0.0000+0.0000j, 0.0925-0.0695j, 0.1424+0.0206j, 0.0174-0.0618j], + dtype=torch.complex128, grad_fn=) + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/opinfo/definitions/linalg.py b/torch/testing/_internal/opinfo/definitions/linalg.py +index 0eb1ca07644..f3e5f9ec6ed 100644 +--- a/torch/testing/_internal/opinfo/definitions/linalg.py ++++ b/torch/testing/_internal/opinfo/definitions/linalg.py +@@ -1341,6 +1341,12 @@ op_db: List[OpInfo] = [ + "test_fn_fwgrad_bwgrad", + dtypes=(torch.complex128,), + ), ++ DecorateInfo( ++ unittest.skip(""), ++ "TestGradients", ++ "test_forward_mode_AD", ++ dtypes=(torch.complex128,), ++ ), + DecorateInfo( + unittest.skip("Skipped, see https://github.com//issues/84192"), + "TestGradients", diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch new file mode 100644 index 00000000000..cd50539752f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test-requiring-online-access.patch @@ -0,0 +1,25 @@ +This tests downloads a Perl file from a Github repo which may fail in: + + File "test/test_cuda.py", line 4632, in test_memory_snapshot + torch.cuda.memory._save_segment_usage(f.name) + File "/torch/cuda/memory.py", line 610, in _save_segment_usage + f.write(_segments(snapshot)) + File "/torch/cuda/_memory_viz.py", line 60, in segments + return format_flamegraph(f.getvalue()) + File "/torch/cuda/_memory_viz.py", line 21, in format_flamegraph + urllib.request.urlretrieve( + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_cuda.py b/test/test_cuda.py +index 50644c22875..64d0eeb2fd4 100644 +--- a/test/test_cuda.py ++++ b/test/test_cuda.py +@@ -4599,6 +4599,7 @@ class TestCudaComm(TestCase): + cat = torch.cat((outputs[0][i].to('cpu'), outputs[1][i].to('cpu'))) + self.assertTrue(torch.equal(x, cat)) + ++ @unittest.skip("Requires internet access") + def test_memory_snapshot(self): + try: + torch.cuda.memory.empty_cache() diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch new file mode 100644 index 00000000000..fb1436b254e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-test_find_unused_parameters-detail.patch @@ -0,0 +1,48 @@ +In distributed/test_c10d_nccl the tests +test_find_unused_parameters_kwarg_debug_detail and +test_find_unused_parameters_kwarg_grad_is_view_debug_detail +are failing often on some systems with the root error seemingly being +> terminate called after throwing an instance of 'c10::Error' +> what(): CUDA error: driver shutting down + +Stacktrace: +frame #0: c10::Error::Error() + 0x8d (0x2ae861eff2cd in /torch/lib/libc10.so) +frame #1: c10::detail::torchCheckFail() + 0xd0 (0x2ae861ec64d1 in /torch/lib/libc10.so) +frame #2: c10::cuda::c10_cuda_check_implementation() + 0x352 (0x2ae861e948c2 in /torch/lib/libc10_cuda.so) +frame #3: c10d::ProcessGroupNCCL::WorkNCCL::startedGPUExecutionInternal() const + 0x140 (0x2ae848587e80 in /torch/lib/libtorch_cuda.so) +frame #4: c10d::ProcessGroupNCCL::WorkNCCL::isStarted() + 0x58 (0x2ae84858a1b8 in /torch/lib/libtorch_cuda.so) +frame #5: c10d::ProcessGroupNCCL::workCleanupLoop() + 0x3c8 (0x2ae84858ee18 in /torch/lib/libtorch_cuda.so) + +Just skip the tests to avoid failing the testsuite. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/test_c10d_nccl.py b/test/distributed/test_c10d_nccl.py +index 6a0858eebf8..7340a89db82 100644 +--- a/test/distributed/test_c10d_nccl.py ++++ b/test/distributed/test_c10d_nccl.py +@@ -12,7 +12,7 @@ import time + from contextlib import contextmanager + from datetime import timedelta + from itertools import product +-from unittest import mock ++from unittest import mock, skip + + import torch + import torch.distributed as c10d +@@ -1460,6 +1460,7 @@ class DistributedDataParallelTest( + + # TODO: Combine the following tests once https://github.com/pytorch/pytorch/issues/55967 + # is resolved. ++ @skip("Debug level DETAIL fails on some systems/CUDA versions") + @requires_nccl() + @skip_if_lt_x_gpu(2) + @with_dist_debug_levels(levels=["DETAIL"]) +@@ -1478,6 +1479,7 @@ class DistributedDataParallelTest( + def test_find_unused_parameters_kwarg_debug_off(self): + self._test_find_unused_parameters_kwarg() + ++ @skip("Debug level DETAIL fails on some systems/CUDA versions") + @requires_nccl() + @skip_if_lt_x_gpu(2) + @with_dist_debug_levels(levels=["DETAIL"]) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-tests-without-fbgemm.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-tests-without-fbgemm.patch new file mode 100644 index 00000000000..77dde5f3110 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_skip-tests-without-fbgemm.patch @@ -0,0 +1,68 @@ +Those tests (from test_ao_sparsity & test_quantization) require FBGEMM which may not be available. +So add the skip decorator. +See https://github.com/pytorch/pytorch/issues/87364 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/ao/sparsity/test_composability.py b/test/ao/sparsity/test_composability.py +index 6a1b6067a4c..0c43f585af2 100644 +--- a/test/ao/sparsity/test_composability.py ++++ b/test/ao/sparsity/test_composability.py +@@ -9,6 +9,7 @@ import torch.ao.quantization as tq + from torch import nn + from torch.ao import sparsity + from torch.testing._internal.common_utils import TestCase ++from torch.testing._internal.common_quantization import skipIfNoFBGEMM + from torch.ao.quantization.quantize_fx import prepare_fx, convert_fx, convert_to_reference_fx, prepare_qat_fx + from torch.ao.sparsity import fqn_to_module + +@@ -62,6 +63,7 @@ def _calculate_sparsity(tensor): + # This series of tests are to check the composability goals for sparsity and quantization. Namely + # that performing quantization and sparsity model manipulations in various orderings + # does not cause problems ++@skipIfNoFBGEMM + class TestComposability(TestCase): + # This test checks whether performing quantization prepare before sparse prepare + # causes any issues and verifies that the correct observers are inserted and that +@@ -326,6 +328,7 @@ class TestFxComposability(TestCase): + r"""This series of tests checks that various steps of the quantization and sparsity flow + compose cleanly despite variation in sequencing. + """ ++ @skipIfNoFBGEMM + def test_q_prep_fx_before_s_prep(self): + r""" + This test checks that the ordering of prepare_fx -> sparse prepare -> convert_fx +@@ -445,6 +448,7 @@ class TestFxComposability(TestCase): + ) + self.assertGreaterAlmostEqual(cur_sparsity, sparse_config[0]["sparsity_level"]) + ++ @skipIfNoFBGEMM + def test_s_prep_before_q_prep_fx(self): + r""" + This test checks that the ordering of sparse prepare -> prepare_fx -> convert_fx +@@ -490,6 +494,7 @@ class TestFxComposability(TestCase): + ) + self.assertGreaterAlmostEqual(cur_sparsity, sparse_config[0]["sparsity_level"]) + ++ @skipIfNoFBGEMM + def test_s_prep_before_qat_prep_fx(self): + r""" + This test checks that the ordering of sparse prepare -> prepare_qat_fx -> convert_fx +diff --git a/test/quantization/core/test_docs.py b/test/quantization/core/test_docs.py +index 27842b46ce7..8e50ffa3166 100644 +--- a/test/quantization/core/test_docs.py ++++ b/test/quantization/core/test_docs.py +@@ -10,11 +10,13 @@ import torch + from torch.testing._internal.common_quantization import ( + QuantizationTestCase, + SingleLayerLinearModel, ++ skipIfNoFBGEMM, + ) + from torch.testing._internal.common_quantized import override_quantized_engine + from torch.testing._internal.common_utils import IS_ARM64 + + ++@skipIfNoFBGEMM + class TestQuantizationDocs(QuantizationTestCase): + r""" + The tests in this section import code from the quantization docs and check that diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch new file mode 100644 index 00000000000..63c3ab6c425 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.13.1_workaround-gcc12-destructor-exception-bug.patch @@ -0,0 +1,75 @@ +GCC 12 introduced a regression that may cause it to call the destructor twice on an object. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112301 +This is visible in e.g. `test_cpp_extensions_jit.py -k test_warning` +See also https://github.com/pytorch/pytorch/issues/112383 + +Workaround this by trying to avoid the throwing PyWarningHandler destructor. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/csrc/Exceptions.cpp b/torch/csrc/Exceptions.cpp +index 5210d6f713d..3c91ed378e1 100644 +--- a/torch/csrc/Exceptions.cpp ++++ b/torch/csrc/Exceptions.cpp +@@ -226,6 +226,10 @@ PyWarningHandler::PyWarningHandler() noexcept(true) + /// NOLINTNEXTLINE(bugprone-exception-escape) + PyWarningHandler::~PyWarningHandler() noexcept(false) { + c10::Warning::set_warning_handler(prev_handler_); ++ process_warnings(); ++} ++ ++void PyWarningHandler::process_warnings() { + auto& warning_buffer = internal_handler_.warning_buffer_; + + if (warning_buffer.size() > 0) { +diff --git a/torch/csrc/Exceptions.h b/torch/csrc/Exceptions.h +index 89256c64bba..8514d08c8d0 100644 +--- a/torch/csrc/Exceptions.h ++++ b/torch/csrc/Exceptions.h +@@ -110,6 +110,13 @@ static inline void PyErr_SetString(PyObject* type, const std::string& message) { + retstmnt; \ + } + ++/** To be called inside a HANDLE_TH_ERRORS..END_HANDLE_TH_ERRORS_* block ++ * before returning a value / where no further warnings can occur. ++ * Avoids throwing an error in the destructor which triggers a bug in GCC 12+ ++ * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112301 ++ */ ++#define FLUSH_TH_ERRORS __enforce_warning_buffer.process_warnings(); ++ + #define END_HANDLE_TH_ERRORS_PYBIND \ + } \ + catch (...) { \ +@@ -381,6 +388,9 @@ struct PyWarningHandler { + in_exception_ = true; + } + ++ // Trigger processing of warnings ++ TORCH_API void process_warnings(); ++ + private: + InternalHandler internal_handler_; + at::WarningHandler* prev_handler_; +@@ -394,12 +404,20 @@ using Arg = typename function_traits::template arg::type; + template + auto wrap_pybind_function_impl_(Func&& f, std::index_sequence) { + using traits = function_traits; ++ using result_type = typename traits::result_type; + namespace py = pybind11; + + // f=f is needed to handle function references on older compilers +- return [f = f](Arg... args) -> typename traits::result_type { ++ return [f = f](Arg... args) -> result_type { + HANDLE_TH_ERRORS +- return f(std::forward>(args)...); ++ if constexpr (std::is_void::value) { ++ c10::guts::invoke(f, std::forward>(args)...); ++ FLUSH_TH_ERRORS ++ } else { ++ auto res = c10::guts::invoke(f, std::forward>(args)...); ++ FLUSH_TH_ERRORS ++ return res; ++ } + END_HANDLE_TH_ERRORS_PYBIND + }; + } diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.3.1-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.3.1-fosscuda-2020b.eb index 20dd004271e..1e64c9e1b94 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.3.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.3.1-fosscuda-2020b.eb @@ -277,7 +277,7 @@ dependencies = [ ('numactl', '2.0.13'), ('FFmpeg', '4.3.1'), ('Pillow', '8.0.1'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.5.4'), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020a-Python-3.8.2.eb index 5483fb70434..64428626873 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020a-Python-3.8.2.eb @@ -320,7 +320,7 @@ dependencies = [ ('numactl', '2.0.13'), ('FFmpeg', '4.2.2'), ('Pillow', '7.0.0', versionsuffix), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.5.4'), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020b.eb index 5b00155d13b..63ff087989b 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.7.1-fosscuda-2020b.eb @@ -28,7 +28,7 @@ dependencies = [ ('numactl', '2.0.13'), ('FFmpeg', '4.3.1'), ('Pillow', '8.0.1'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.5.4'), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-foss-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-foss-2020b.eb index 1d96d37ea37..b93b0e82420 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-foss-2020b.eb @@ -48,7 +48,7 @@ checksums = [ '1601eacd336e01176bdbdbc5a2207743dc2999b535a738a8e36b3da3e8a2f3b6', 'a8fcb63cf963dc743e8b0a96b966f18d8edde6a4e76365d6de56aa2c71ce6d3f', # PyTorch-1.8.1_fix-vsx-vector-functions.patch # PyTorch-1.8.1_increase-distributed-test-timeout.patch - 'c94eda2289692d00873e2ae8cecaaf7a1e5e657dfa4cfcd94b56093f6f4766ad', + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.8.1_skip-complex-grad-check-on-ppc.patch 'b0000aa9e028ad24ac4bb62d42db9e56ab78818e812aa4a4943a4456505927c7', ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..0adebd46525 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,132 @@ +name = 'PyTorch' +version = '1.8.1' +versionsuffix = '-Python-%(pyver)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': 'fosscuda', 'version': '2019b'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'pytorch', + 'tag': 'v%(version)s', + 'recursive': True, + }, +}] +patches = [ + 'PyTorch-1.6.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', + 'PyTorch-1.7.1_disable-tf32-in-distributed-tests.patch', + 'PyTorch-1.7.1_fix-alias-violation-in-bitwise-ops.patch', + 'PyTorch-1.7.1_fix-use-after-destruct-in-cudaipctypes.patch', + 'PyTorch-1.8.0_correct-skip-tests-decorators.patch', + 'PyTorch-1.8.0_fix-noMKL-linear-algebra.patch', + 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', + 'PyTorch-1.8.1_fix-arange-on-VSX.patch', + 'PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch', + 'PyTorch-1.8.1_fix-testnn-on-A100.patch', + 'PyTorch-1.8.1_fix-vsx-vector-functions.patch', + 'PyTorch-1.8.1_honor_shared_cupti-setting.patch', + 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', + 'PyTorch-1.8.1_limit_world_size_for_zero_redundancy_opt_test.patch', + 'PyTorch-1.8.1_skip-complex-grad-check-on-ppc.patch', + 'PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch', + 'PyTorch-1.8.1_skip-nccl-error-tests.patch', + 'PyTorch-1.8.1_fix_test_collect_shards.patch', + 'PyTorch-1.8.1_skip_test_kineto_cu101.patch', +] +checksums = [ + None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + # PyTorch-1.6.0_fix-test-dataloader-fixed-affinity.patch + 'a4208a46cd2098744daaba96cebb96cd91166f8fc616924315e05974bad80c67', + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch + 'd4d967d47f8a6172fcbf57f0a61835482968850967c4fdb01108b720696a988d', + # PyTorch-1.7.1_disable-tf32-in-distributed-tests.patch + '18ecad081a8c940add64040ad9698d3273366acf738a8a44eab1c793d3f49950', + # PyTorch-1.7.1_fix-alias-violation-in-bitwise-ops.patch + 'e92f054f1297df83ace901e7af38222787b709ee29580f5f2b89a300ca03666b', + # PyTorch-1.7.1_fix-use-after-destruct-in-cudaipctypes.patch + '250345aad08fb72deaaee9b249d9661d4ce93d08661b32d7856ed57e4aa8142e', + # PyTorch-1.8.0_correct-skip-tests-decorators.patch + 'eb0ca83e88196cc5cf9bc8a50f6ee4c7fd4ae045ab0d549896b82b0526ee50f9', + 'a1ca9382b0eb333090536633092bab6fa281d26b491bf7b1849117f68ab0730c', # PyTorch-1.8.0_fix-noMKL-linear-algebra.patch + '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch + 'eca718ce0ecc61b57659808179cc660919b3c25b5dce326f51c1cc5a5bfb9829', # PyTorch-1.8.1_fix-arange-on-VSX.patch + # PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch + '1601eacd336e01176bdbdbc5a2207743dc2999b535a738a8e36b3da3e8a2f3b6', + '241561a0497dd27adffd71b8b0815be1fe924800f4ee336d95e0cc3881fac98b', # PyTorch-1.8.1_fix-testnn-on-A100.patch + 'a8fcb63cf963dc743e8b0a96b966f18d8edde6a4e76365d6de56aa2c71ce6d3f', # PyTorch-1.8.1_fix-vsx-vector-functions.patch + # PyTorch-1.8.1_honor_shared_cupti-setting.patch + 'a6459fe544f9e2b61ab09ba54e8db5b294176ffdbf41c99e0d0b678e1e617b8f', + # PyTorch-1.8.1_increase-distributed-test-timeout.patch + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', + # PyTorch-1.8.1_limit_world_size_for_zero_redundancy_opt_test.patch + 'c3488fa24405eac6e2e36fbdf94e877bd39fd177e92fb3a0b6bbd5c8b7ddc7bc', + # PyTorch-1.8.1_skip-complex-grad-check-on-ppc.patch + 'b0000aa9e028ad24ac4bb62d42db9e56ab78818e812aa4a4943a4456505927c7', + # PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch + '7940e571f41c350d3b634e98b1658a7001c96fdb1b1920835b8f5484ce389d09', + '33704164ad2da7426a6c21482389826345b92690d37cbf938896eef421a62575', # PyTorch-1.8.1_skip-nccl-error-tests.patch + '8d0f60bb4025ca90bbf21d945867a934738560323d232e3b69ae478c364156d3', # PyTorch-1.8.1_fix_test_collect_shards.patch + 'cc493437740479e23f6e48f886c979245d038705cba4b781d910d69a00229390', # PyTorch-1.8.1_skip_test_kineto_cu101.patch +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.15.3'), + ('hypothesis', '4.44.2', versionsuffix), +] + +dependencies = [ + ('Ninja', '1.9.0'), # Required for JIT compilation of C++ extensions + ('Python', '3.7.4'), + ('protobuf', '3.10.0'), + ('protobuf-python', '3.10.0', versionsuffix), + ('pybind11', '2.4.3', versionsuffix), + ('SciPy-bundle', '2019.10', versionsuffix), + ('typing-extensions', '3.7.4.3', versionsuffix), + ('PyYAML', '5.1.2'), + ('MPFR', '4.0.2'), + ('GMP', '6.1.2'), + ('numactl', '2.0.12'), + ('FFmpeg', '4.2.1'), + ('Pillow', '6.2.1'), + ('cuDNN', '7.6.4.38'), + ('magma', '2.5.4'), + ('NCCL', '2.4.8'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + 'POWER': [ + # https://github.com/pytorch/pytorch/issues/57617 + 'test_autograd', + ], + '': [ + # Test from this suite timeout often. The process group backend is deprecated anyway + 'distributed/rpc/test_process_group_agent', + # Potentially problematic save/load issue with test_lstm on only some machines. Tell users to verify save&load! + # https://github.com/pytorch/pytorch/issues/43209 + 'test_quantization', + ] +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +sanity_check_commands = ["python -c 'import caffe2.python'"] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2020b.eb index b7c08cd3003..90e96f96e04 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1-fosscuda-2020b.eb @@ -37,6 +37,7 @@ patches = [ 'PyTorch-1.8.1_skip-complex-grad-check-on-ppc.patch', 'PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch', 'PyTorch-1.8.1_skip-nccl-error-tests.patch', + 'PyTorch-1.8.1_fix_test_collect_shards.patch', ] checksums = [ None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' @@ -64,7 +65,7 @@ checksums = [ # PyTorch-1.8.1_honor_shared_cupti-setting.patch 'a6459fe544f9e2b61ab09ba54e8db5b294176ffdbf41c99e0d0b678e1e617b8f', # PyTorch-1.8.1_increase-distributed-test-timeout.patch - 'c94eda2289692d00873e2ae8cecaaf7a1e5e657dfa4cfcd94b56093f6f4766ad', + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.8.1_limit_world_size_for_zero_redundancy_opt_test.patch 'c3488fa24405eac6e2e36fbdf94e877bd39fd177e92fb3a0b6bbd5c8b7ddc7bc', # PyTorch-1.8.1_skip-complex-grad-check-on-ppc.patch @@ -72,6 +73,7 @@ checksums = [ # PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch '7940e571f41c350d3b634e98b1658a7001c96fdb1b1920835b8f5484ce389d09', '33704164ad2da7426a6c21482389826345b92690d37cbf938896eef421a62575', # PyTorch-1.8.1_skip-nccl-error-tests.patch + '8d0f60bb4025ca90bbf21d945867a934738560323d232e3b69ae478c364156d3', # PyTorch-1.8.1_fix_test_collect_shards.patch ] osdependencies = [OS_PKG_IBVERBS_DEV] @@ -95,7 +97,7 @@ dependencies = [ ('numactl', '2.0.13'), ('FFmpeg', '4.3.1'), ('Pillow', '8.0.1'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.5.4'), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_fix_test_collect_shards.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_fix_test_collect_shards.patch new file mode 100644 index 00000000000..cae99d01ecc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_fix_test_collect_shards.patch @@ -0,0 +1,24 @@ +Resolves test failure on single gpu systems +adapted from https://github.com/pytorch/pytorch/pull/53564 + +diff --git a/test/distributed/optim/test_zero_redundancy_optimizer.py b/test/distributed/optim/test_zero_redundancy_optimizer.py +index 06f1b4f484..0ae12d41e7 100644 +--- a/test/distributed/optim/test_zero_redundancy_optimizer.py ++++ b/test/distributed/optim/test_zero_redundancy_optimizer.py +@@ -16,7 +16,7 @@ from torch.distributed.optim import ZeroRedundancyOptimizer + from torch.optim import SGD + from torch.testing._internal.common_distributed import skip_if_no_gpu, MultiProcessTestCase + from torch.distributed.optim.zero_redundancy_optimizer import _broadcast_object +-from torch.testing._internal.common_distributed import skip_if_rocm ++from torch.testing._internal.common_distributed import skip_if_rocm, skip_if_not_multigpu + + import copy + from torch.nn.parallel import DistributedDataParallel as DDP +@@ -367,6 +367,7 @@ class TestZeroRedundancyOptimizerDistributed(TestZeroRedundancyOptimizer): + all_trainable() + some_trainable() + ++ @skip_if_not_multigpu + def test_collect_shards(self): + """ Check the state consolidation mechanism, and the state dict exposed by ZeroRedundancyOptimizer""" + self.dist_init(self.rank) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_increase-distributed-test-timeout.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_increase-distributed-test-timeout.patch index c82f2fc6d30..e2231d01814 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_increase-distributed-test-timeout.patch +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_increase-distributed-test-timeout.patch @@ -1,5 +1,5 @@ It seems the timeout for the distributed tests is set to low and spurious failures can be seen -Increase it by a factor of 3 similar to torch/testing/_internal/distributed/distributed_test.py +Increase it by a factor of 6 similar to torch/testing/_internal/distributed/distributed_test.py Author: Alexander Grund (TU Dresden) @@ -12,7 +12,7 @@ index 4f36b31a23..fbd2b9364a 100644 ) -TIMEOUT_DEFAULT = 100 -+TIMEOUT_DEFAULT = 300 ++TIMEOUT_DEFAULT = 600 TIMEOUT_OVERRIDE = {"test_ddp_uneven_inputs": 400} diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_skip_test_kineto_cu101.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_skip_test_kineto_cu101.patch new file mode 100644 index 00000000000..4bc085652c7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.8.1_skip_test_kineto_cu101.patch @@ -0,0 +1,24 @@ +Skip test_kineto on CUDA 10.1 because it uses CUPTI which requires root due to a vulnerability +on that CUDA version. +author: Christoph Siegert (Leipzig University) + +diff --git a/test/test_profiler.py b/test/test_profiler.py +index 585f569aa7..35f3ff6015 100644 +--- a/test/test_profiler.py ++++ b/test/test_profiler.py +@@ -113,6 +113,7 @@ class TestProfiler(TestCase): + + @unittest.skipIf(not kineto_available(), "Kineto is required") + @unittest.skipIf(not torch.cuda.is_available(), "CUDA is required") ++ @unittest.skipIf(torch.version.cuda == "10.1", "CUPTI requires root on CUDA 10.1") + def test_kineto(self): + with _profile(use_cuda=True, use_kineto=True): + self.payload() +@@ -136,6 +137,7 @@ class TestProfiler(TestCase): + + @unittest.skipIf(not kineto_available(), "Kineto is required") + @unittest.skipIf(not TEST_MULTIGPU, "Multiple GPUs needed") ++ @unittest.skipIf(torch.version.cuda == "10.1", "CUPTI requires root on CUDA 10.1") + def test_kineto_multigpu(self): + with profile( + activities=[ diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-foss-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-foss-2020b.eb index d614502526d..000f5a2c4f2 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-foss-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-foss-2020b.eb @@ -26,7 +26,9 @@ patches = [ 'PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch', 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', 'PyTorch-1.9.0_avoid-failures-in-test_unary_ufuncs.patch', + 'PyTorch-1.9.0_fix-kineto-crash.patch', 'PyTorch-1.9.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch', 'PyTorch-1.9.0_skip-lstm-serialization-test.patch', ] checksums = [ @@ -43,10 +45,13 @@ checksums = [ # PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch '1601eacd336e01176bdbdbc5a2207743dc2999b535a738a8e36b3da3e8a2f3b6', # PyTorch-1.8.1_increase-distributed-test-timeout.patch - 'c94eda2289692d00873e2ae8cecaaf7a1e5e657dfa4cfcd94b56093f6f4766ad', + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.9.0_avoid-failures-in-test_unary_ufuncs.patch 'f600e6831f8a03af007845687d1e0f65b2394ca89a9dab5178e2cdc9bd384d43', - '56a46c1690467a7fe7f6b904d152f8a3e2385305c5c29717f66b98b38022bf74', # PyTorch-1.9.0_fix-vsx-vector-functions.patch + '1ed5e125f7922ea577d43053a6652aedc21cc036157e101c0e3b9aee9029d3b0', # PyTorch-1.9.0_fix-kineto-crash.patch + 'a4733b6b16a0db4ee5f85f2b103abc29bd711cfc5253f8dd8494d2b0c1509516', # PyTorch-1.9.0_fix-vsx-vector-functions.patch + # PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch + '94957de0fd5bcbea37482cb6d0d12b4608dccf50a10da0836e151b414954ccc3', # PyTorch-1.9.0_skip-lstm-serialization-test.patch '0fc14e29bd7530bcc09f4212df3c846072b1313216da86b827e102b85d695f49', ] @@ -79,9 +84,19 @@ excluded_tests = { # Bad tests: https://github.com/pytorch/pytorch/issues/60260 'distributed/elastic/utils/distributed_test', 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', # Test from this suite timeout often. The process group backend is deprecated anyway 'distributed/rpc/test_process_group_agent', - ] + ], + 'POWER': [ + # Works when run alone, fails when run as part of the suite. So far only observed on PPC + 'distributed/rpc/test_tensorpipe_agent', + ], } runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b-imkl.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b-imkl.eb new file mode 100644 index 00000000000..32f09e64e75 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b-imkl.eb @@ -0,0 +1,141 @@ +name = 'PyTorch' +version = '1.9.0' +versionsuffix = '-imkl' + +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': 'fosscuda', 'version': '2020b'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'pytorch', + 'tag': 'v%(version)s', + 'recursive': True, + }, +}] +patches = [ + 'PyTorch-1.6.0_fix-test-dataloader-fixed-affinity.patch', + 'PyTorch-1.7.0_avoid-nan-in-test-torch.patch', + 'PyTorch-1.7.0_disable-dev-shm-test.patch', + 'PyTorch-1.7.1_correctly-pass-jit_opt_level.patch', + 'PyTorch-1.7.1_fix-alias-violation-in-bitwise-ops.patch', + 'PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch', + 'PyTorch-1.8.1_fix-arange-on-VSX.patch', + 'PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch', + 'PyTorch-1.8.1_increase-distributed-test-timeout.patch', + 'PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch', + 'PyTorch-1.9.0_avoid-failures-in-test_unary_ufuncs.patch', + 'PyTorch-1.9.0_fix-min-amount-of-devices-for-test.patch', + 'PyTorch-1.9.0_fix-testnn-on-A100.patch', + 'PyTorch-1.9.0_fix-use-after-destruct-in-cudaipctypes.patch', + 'PyTorch-1.9.0_fix-kineto-crash.patch', + 'PyTorch-1.9.0_fix-vsx-vector-functions.patch', + 'PyTorch-1.9.0_increase-test-cuda-tolerance.patch', + 'PyTorch-1.9.0_increase-tolerance-for-distributed-tests.patch', + 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', + 'PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch', + 'PyTorch-1.9.0_skip-lstm-serialization-test.patch', + 'PyTorch-1.9.0_skip-nccl-error-tests.patch', +] +checksums = [ + None, # can't add proper SHA256 checksum, because source tarball is created locally after recursive 'git clone' + # PyTorch-1.6.0_fix-test-dataloader-fixed-affinity.patch + 'a4208a46cd2098744daaba96cebb96cd91166f8fc616924315e05974bad80c67', + 'b899aa94d9e60f11ee75a706563312ccefa9cf432756c470caa8e623991c8f18', # PyTorch-1.7.0_avoid-nan-in-test-torch.patch + '622cb1eaeadc06e13128a862d9946bcc1f1edd3d02b259c56a9aecc4d5406b8a', # PyTorch-1.7.0_disable-dev-shm-test.patch + # PyTorch-1.7.1_correctly-pass-jit_opt_level.patch + 'd4d967d47f8a6172fcbf57f0a61835482968850967c4fdb01108b720696a988d', + # PyTorch-1.7.1_fix-alias-violation-in-bitwise-ops.patch + 'e92f054f1297df83ace901e7af38222787b709ee29580f5f2b89a300ca03666b', + '89ac7a8e9e7df2e64cf8404fe3a279f5e9b759fee41c9de3aaff9c22f385c2c6', # PyTorch-1.8.1_dont-use-gpu-ccc-in-test.patch + 'eca718ce0ecc61b57659808179cc660919b3c25b5dce326f51c1cc5a5bfb9829', # PyTorch-1.8.1_fix-arange-on-VSX.patch + # PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch + '1601eacd336e01176bdbdbc5a2207743dc2999b535a738a8e36b3da3e8a2f3b6', + # PyTorch-1.8.1_increase-distributed-test-timeout.patch + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', + # PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch + '7940e571f41c350d3b634e98b1658a7001c96fdb1b1920835b8f5484ce389d09', + # PyTorch-1.9.0_avoid-failures-in-test_unary_ufuncs.patch + 'f600e6831f8a03af007845687d1e0f65b2394ca89a9dab5178e2cdc9bd384d43', + # PyTorch-1.9.0_fix-min-amount-of-devices-for-test.patch + 'edb180d6967c507c147400a64422ff4499bcd5519f9be8d332890c317359dbad', + '8e8b417782e2f3004462c32338e12685e7296d15207f3e3087dcb8015e648f98', # PyTorch-1.9.0_fix-testnn-on-A100.patch + # PyTorch-1.9.0_fix-use-after-destruct-in-cudaipctypes.patch + '67960bf9140baf004b07e29f7c2b338e7bc4e4e4f2c931768be44f58526e605f', + '1ed5e125f7922ea577d43053a6652aedc21cc036157e101c0e3b9aee9029d3b0', # PyTorch-1.9.0_fix-kineto-crash.patch + 'a4733b6b16a0db4ee5f85f2b103abc29bd711cfc5253f8dd8494d2b0c1509516', # PyTorch-1.9.0_fix-vsx-vector-functions.patch + # PyTorch-1.9.0_increase-test-cuda-tolerance.patch + '73de855ab1ed38043c7fb2a983927786b83d7547aefed926f19e554e2214838a', + # PyTorch-1.9.0_increase-tolerance-for-distributed-tests.patch + '725922f0000d51c03f726a34b249db8f53eee7e5c67417774a5113de954f5a5c', + # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch + 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', + # PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch + '94957de0fd5bcbea37482cb6d0d12b4608dccf50a10da0836e151b414954ccc3', + # PyTorch-1.9.0_skip-lstm-serialization-test.patch + '0fc14e29bd7530bcc09f4212df3c846072b1313216da86b827e102b85d695f49', + '9634fb34fedff4589b9175a4e4c3f278b60d4dcbc7b36b0f19604748d32074f0', # PyTorch-1.9.skip-nccl-error-tests.patch +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.18.4'), + ('hypothesis', '5.41.5'), +] + +dependencies = [ + ('Ninja', '1.10.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.8.6'), + ('protobuf', '3.14.0'), + ('protobuf-python', '3.14.0'), + ('pybind11', '2.6.0'), + ('SciPy-bundle', '2020.11'), + ('typing-extensions', '3.7.4.3'), + ('PyYAML', '5.3.1'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.0'), + ('numactl', '2.0.13'), + ('FFmpeg', '4.3.1'), + ('Pillow', '8.0.1'), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), + ('magma', '2.5.4'), + ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), + ('imkl', '2020.4.304'), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0', '8.6'] + +custom_opts = ["USE_CUPTI_SO=1"] + +excluded_tests = { + '': [ + # Bad tests: https://github.com/pytorch/pytorch/issues/60260 + 'distributed/elastic/utils/distributed_test', + 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', + # Test from this suite timeout often. The process group backend is deprecated anyway + 'distributed/rpc/test_process_group_agent', + ], + 'POWER': [ + # Works when run alone, fails when run as part of the suite. So far only observed on PPC + 'distributed/rpc/test_tensorpipe_agent', + ], +} + +runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' + +sanity_check_commands = ["python -c 'import caffe2.python'"] +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b.eb index ede9dfd996c..a1aad90e3f1 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0-fosscuda-2020b.eb @@ -31,10 +31,12 @@ patches = [ 'PyTorch-1.9.0_fix-min-amount-of-devices-for-test.patch', 'PyTorch-1.9.0_fix-testnn-on-A100.patch', 'PyTorch-1.9.0_fix-use-after-destruct-in-cudaipctypes.patch', + 'PyTorch-1.9.0_fix-kineto-crash.patch', 'PyTorch-1.9.0_fix-vsx-vector-functions.patch', 'PyTorch-1.9.0_increase-test-cuda-tolerance.patch', 'PyTorch-1.9.0_increase-tolerance-for-distributed-tests.patch', 'PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch', + 'PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch', 'PyTorch-1.9.0_skip-lstm-serialization-test.patch', 'PyTorch-1.9.0_skip-nccl-error-tests.patch', ] @@ -53,7 +55,7 @@ checksums = [ # PyTorch-1.8.1_fix-faulty-asserts-and-skip-test.patch '1601eacd336e01176bdbdbc5a2207743dc2999b535a738a8e36b3da3e8a2f3b6', # PyTorch-1.8.1_increase-distributed-test-timeout.patch - 'c94eda2289692d00873e2ae8cecaaf7a1e5e657dfa4cfcd94b56093f6f4766ad', + '7a6e512274f0b8673f4f207a5bc53387d88be7e79833f42d20365668b2118071', # PyTorch-1.8.1_skip_dist_autograd_sync_streams.patch '7940e571f41c350d3b634e98b1658a7001c96fdb1b1920835b8f5484ce389d09', # PyTorch-1.9.0_avoid-failures-in-test_unary_ufuncs.patch @@ -63,13 +65,16 @@ checksums = [ '8e8b417782e2f3004462c32338e12685e7296d15207f3e3087dcb8015e648f98', # PyTorch-1.9.0_fix-testnn-on-A100.patch # PyTorch-1.9.0_fix-use-after-destruct-in-cudaipctypes.patch '67960bf9140baf004b07e29f7c2b338e7bc4e4e4f2c931768be44f58526e605f', - '56a46c1690467a7fe7f6b904d152f8a3e2385305c5c29717f66b98b38022bf74', # PyTorch-1.9.0_fix-vsx-vector-functions.patch + '1ed5e125f7922ea577d43053a6652aedc21cc036157e101c0e3b9aee9029d3b0', # PyTorch-1.9.0_fix-kineto-crash.patch + 'a4733b6b16a0db4ee5f85f2b103abc29bd711cfc5253f8dd8494d2b0c1509516', # PyTorch-1.9.0_fix-vsx-vector-functions.patch # PyTorch-1.9.0_increase-test-cuda-tolerance.patch '73de855ab1ed38043c7fb2a983927786b83d7547aefed926f19e554e2214838a', # PyTorch-1.9.0_increase-tolerance-for-distributed-tests.patch '725922f0000d51c03f726a34b249db8f53eee7e5c67417774a5113de954f5a5c', # PyTorch-1.9.0_limit-world-size-for-zero-redundancy-opt-test.patch 'ff573660913ce055e24cfd194ce747ba5685091c631cfd443eae2a99d56b57ea', + # PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch + '94957de0fd5bcbea37482cb6d0d12b4608dccf50a10da0836e151b414954ccc3', # PyTorch-1.9.0_skip-lstm-serialization-test.patch '0fc14e29bd7530bcc09f4212df3c846072b1313216da86b827e102b85d695f49', '9634fb34fedff4589b9175a4e4c3f278b60d4dcbc7b36b0f19604748d32074f0', # PyTorch-1.9.skip-nccl-error-tests.patch @@ -96,7 +101,7 @@ dependencies = [ ('numactl', '2.0.13'), ('FFmpeg', '4.3.1'), ('Pillow', '8.0.1'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('magma', '2.5.4'), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ] @@ -111,9 +116,19 @@ excluded_tests = { # Bad tests: https://github.com/pytorch/pytorch/issues/60260 'distributed/elastic/utils/distributed_test', 'distributed/elastic/multiprocessing/api_test', + # These tests fail on A10s at the very least, they time out forever no matter how long the timeout is. + # Possibly related to NCCL 2.8.3: https://docs.nvidia.com/deeplearning/nccl/release-notes/rel_2-8-3.html + 'distributed/test_distributed_fork', + 'distributed/test_distributed_spawn', + # Fails on A10s: https://github.com/pytorch/pytorch/issues/63079 + 'test_optim', # Test from this suite timeout often. The process group backend is deprecated anyway 'distributed/rpc/test_process_group_agent', - ] + ], + 'POWER': [ + # Works when run alone, fails when run as part of the suite. So far only observed on PPC + 'distributed/rpc/test_tensorpipe_agent', + ], } runtest = 'cd test && PYTHONUNBUFFERED=1 %(python)s run_test.py --continue-through-error --verbose %(excluded_tests)s' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-kineto-crash.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-kineto-crash.patch new file mode 100644 index 00000000000..928922a5ed5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-kineto-crash.patch @@ -0,0 +1,24 @@ +Fix a crash during application shutdown visible in test_profiler on some machines. +See https://github.com/pytorch/kineto/pull/642 + +Author: Alexander Grund (TU Dresden) + +diff -aur a/third_party/kineto/libkineto/src/EventProfilerController.cpp b/third_party/kineto/libkineto/src/EventProfilerController.cpp +--- a/third_party/kineto/libkineto/src/EventProfilerController.cpp 2022-08-05 13:10:46.175716618 +0200 ++++ b/third_party/kineto/libkineto/src/EventProfilerController.cpp 2022-08-05 13:16:00.654118490 +0200 +@@ -231,9 +231,14 @@ + + // Must be called under lock + void EventProfilerController::start(CUcontext ctx) { +- profilerMap()[ctx] = unique_ptr( ++ // Avoid static initialization order fiasco: ++ // We need the profilerMap and with it all controllers to be destroyed ++ // before everything the controller accesses gets destroyed. ++ // Hence access the profilerMap after initialization of the controller. ++ auto controller = unique_ptr( + new EventProfilerController( + ctx, ConfigLoader::instance(), detail::HeartbeatMonitor::instance())); ++ profilerMap()[ctx] = std::move(controller); + } + + // Must be called under lock diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-vsx-vector-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-vsx-vector-functions.patch index a3c3e0b0b85..d4ba6c36d16 100644 --- a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-vsx-vector-functions.patch +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_fix-vsx-vector-functions.patch @@ -185,7 +185,7 @@ index 2a1a87aa72..5bcf818232 100644 - auto out1 = blendv(out, v_nan, ((exp.floor() != exp) & (x < zero))); - // y = 0 then 1 - return blendv(out1, one, (exp_abs == zero)); -+ return {Sleef_powf4_u10vsx(_vec0, b._vec0), Sleef_powf4_u10vsx(_vec1, b._vec1)}; ++ return {Sleef_powf4_u10vsx(_vec0, exp._vec0), Sleef_powf4_u10vsx(_vec1, exp._vec1)}; } Vec256 fmod(const Vec256& b) const { diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch new file mode 100644 index 00000000000..cfb52a911e0 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-1.9.0_skip-autograd-thread_shutdown-test.patch @@ -0,0 +1,18 @@ +This test is flaky due to a race condition. +See https://github.com/pytorch/pytorch/issues/85259 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_autograd.py b/test/test_autograd.py +index 19fe8777d5..bb25e3ef53 100644 +--- a/test/test_autograd.py ++++ b/test/test_autograd.py +@@ -4339,7 +4339,7 @@ class TestAutograd(TestCase): + b.data = a + self.assertTrue(b_id_saved == id(b)) + +- @unittest.skipIf(IS_WINDOWS, "Skipping because doesn't work for windows") ++ @unittest.skip("Skipping due to possible race condition") + def test_thread_shutdown(self): + code = """import torch + from torch.autograd import Function diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1-foss-2022a.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1-foss-2022a.eb new file mode 100644 index 00000000000..e3428bfcbe7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1-foss-2022a.eb @@ -0,0 +1,147 @@ +name = 'PyTorch' +version = '2.0.1' + +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': '2022a'} + +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_add-missing-vsx-vector-shift-functions.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', + 'PyTorch-2.0.1_disable-test-sharding.patch', + 'PyTorch-2.0.1_fix-numpy-compat.patch', + 'PyTorch-2.0.1_fix-shift-ops.patch', + 'PyTorch-2.0.1_fix-skip-decorators.patch', + 'PyTorch-2.0.1_fix-test_memory_profiler.patch', + 'PyTorch-2.0.1_fix-test-ops-conf.patch', + 'PyTorch-2.0.1_fix-torch.compile-on-ppc.patch', + 'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch', + 'PyTorch-2.0.1_fix-vsx-loadu.patch', + 'PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch', + 'PyTorch-2.0.1_no-cuda-stubs-rpath.patch', + 'PyTorch-2.0.1_remove-test-requiring-online-access.patch', + 'PyTorch-2.0.1_skip-diff-test-on-ppc.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', +] +checksums = [ + {'pytorch-v2.0.1.tar.gz': '9c564ca440265c69400ef5fdd48bf15e28af5aa4bed84c95efaad960a6699998'}, + {'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_add-missing-vsx-vector-shift-functions.patch': + 'da44961d6c204403ba0c4b88cedccf06a7a3d24f29c4398545f96efae7a45c95'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, + {'PyTorch-2.0.1_disable-test-sharding.patch': 'a1ed7f21c9a269ea039a07a3d6574f885787b30ca5687143c96e096d31066cca'}, + {'PyTorch-2.0.1_fix-numpy-compat.patch': 'f3e5798193e0909a415d824f13772973200965db84476c1737824f2735f2db94'}, + {'PyTorch-2.0.1_fix-shift-ops.patch': '5ee655d5dba56d801d5618543b6ca299fa874939a3471f7b5449bfcb7f3f18c7'}, + {'PyTorch-2.0.1_fix-skip-decorators.patch': '2039012cef45446065e1a2097839fe20bb29fe3c1dcc926c3695ebf29832e920'}, + {'PyTorch-2.0.1_fix-test_memory_profiler.patch': + 'fd03117c46f59c1c62227d31c410c4cdd98fd35410976758cb9e7ec947582ddb'}, + {'PyTorch-2.0.1_fix-test-ops-conf.patch': '0f995e4f89baf3cbeb8666cbfe694666a2ef2bc53d97d6301f768b3ff9001fa4'}, + {'PyTorch-2.0.1_fix-torch.compile-on-ppc.patch': + '20f9172ae696da0c5c7b3bae6f0bf1221192cb1cbac3a44526a415087834bee7'}, + {'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch': + '1b37194f55ae678f3657b8728dfb896c18ffe8babe90987ce468c4fa9274f357'}, + {'PyTorch-2.0.1_fix-vsx-loadu.patch': 'a0ffa61da2d47c6acd09aaf6d4791e527d8919a6f4f1aa7ed38454cdcadb1f72'}, + {'PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch': + '57e2985a5b7085c2786e4b0c4a5f0c81f6b2ae9d5804bbd552b06e8b1570f4c4'}, + {'PyTorch-2.0.1_no-cuda-stubs-rpath.patch': '8902e58a762240f24cdbf0182e99ccdfc2a93492869352fcb4ca0ec7e407f83a'}, + {'PyTorch-2.0.1_remove-test-requiring-online-access.patch': + '721ab0d35ed0ff8a46cb84ced5a98c0fb8ce6143cf6cea80b1360d3d7f64f584'}, + {'PyTorch-2.0.1_skip-diff-test-on-ppc.patch': 'f6e39cd774e5663df25507a73d37ad598157c2eadb2f47ca20a537dbe4b3e14f'}, + {'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'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), + # For tests + ('pytest-rerunfailures', '11.1'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), + ('networkx', '2.8.4'), + ('sympy', '1.10.1'), +] + +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.0.1-foss-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1-foss-2022b.eb new file mode 100644 index 00000000000..9253a982717 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1-foss-2022b.eb @@ -0,0 +1,152 @@ +name = 'PyTorch' +version = '2.0.1' + +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': '2022b'} + +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_add-missing-vsx-vector-shift-functions.patch', + 'PyTorch-2.0.1_avoid-test_quantization-failures.patch', + 'PyTorch-2.0.1_disable-gcc12-warning.patch', + 'PyTorch-2.0.1_disable-test-sharding.patch', + 'PyTorch-2.0.1_fix-numpy-compat.patch', + 'PyTorch-2.0.1_fix-shift-ops.patch', + 'PyTorch-2.0.1_fix-skip-decorators.patch', + 'PyTorch-2.0.1_fix-test_memory_profiler.patch', + 'PyTorch-2.0.1_fix-test-ops-conf.patch', + 'PyTorch-2.0.1_fix-torch.compile-on-ppc.patch', + 'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch', + 'PyTorch-2.0.1_fix-vsx-loadu.patch', + 'PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch', + 'PyTorch-2.0.1_no-cuda-stubs-rpath.patch', + 'PyTorch-2.0.1_remove-test-requiring-online-access.patch', + 'PyTorch-2.0.1_skip-diff-test-on-ppc.patch', + 'PyTorch-2.0.1_skip-failing-gradtest.patch', + 'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch', + 'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch', + 'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch', +] +checksums = [ + {'pytorch-v2.0.1.tar.gz': '9c564ca440265c69400ef5fdd48bf15e28af5aa4bed84c95efaad960a6699998'}, + {'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_add-missing-vsx-vector-shift-functions.patch': + 'da44961d6c204403ba0c4b88cedccf06a7a3d24f29c4398545f96efae7a45c95'}, + {'PyTorch-2.0.1_avoid-test_quantization-failures.patch': + '02e3f47e4ed1d7d6077e26f1ae50073dc2b20426269930b505f4aefe5d2f33cd'}, + {'PyTorch-2.0.1_disable-gcc12-warning.patch': 'f558dfc8f7cdcdc74c4c58ef7e8fe6d67870aec6386ac0d923f1b745d108eec7'}, + {'PyTorch-2.0.1_disable-test-sharding.patch': 'a1ed7f21c9a269ea039a07a3d6574f885787b30ca5687143c96e096d31066cca'}, + {'PyTorch-2.0.1_fix-numpy-compat.patch': 'f3e5798193e0909a415d824f13772973200965db84476c1737824f2735f2db94'}, + {'PyTorch-2.0.1_fix-shift-ops.patch': '5ee655d5dba56d801d5618543b6ca299fa874939a3471f7b5449bfcb7f3f18c7'}, + {'PyTorch-2.0.1_fix-skip-decorators.patch': '2039012cef45446065e1a2097839fe20bb29fe3c1dcc926c3695ebf29832e920'}, + {'PyTorch-2.0.1_fix-test_memory_profiler.patch': + 'fd03117c46f59c1c62227d31c410c4cdd98fd35410976758cb9e7ec947582ddb'}, + {'PyTorch-2.0.1_fix-test-ops-conf.patch': '0f995e4f89baf3cbeb8666cbfe694666a2ef2bc53d97d6301f768b3ff9001fa4'}, + {'PyTorch-2.0.1_fix-torch.compile-on-ppc.patch': + '20f9172ae696da0c5c7b3bae6f0bf1221192cb1cbac3a44526a415087834bee7'}, + {'PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch': + '1b37194f55ae678f3657b8728dfb896c18ffe8babe90987ce468c4fa9274f357'}, + {'PyTorch-2.0.1_fix-vsx-loadu.patch': 'a0ffa61da2d47c6acd09aaf6d4791e527d8919a6f4f1aa7ed38454cdcadb1f72'}, + {'PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch': + '57e2985a5b7085c2786e4b0c4a5f0c81f6b2ae9d5804bbd552b06e8b1570f4c4'}, + {'PyTorch-2.0.1_no-cuda-stubs-rpath.patch': '8902e58a762240f24cdbf0182e99ccdfc2a93492869352fcb4ca0ec7e407f83a'}, + {'PyTorch-2.0.1_remove-test-requiring-online-access.patch': + '721ab0d35ed0ff8a46cb84ced5a98c0fb8ce6143cf6cea80b1360d3d7f64f584'}, + {'PyTorch-2.0.1_skip-diff-test-on-ppc.patch': 'f6e39cd774e5663df25507a73d37ad598157c2eadb2f47ca20a537dbe4b3e14f'}, + {'PyTorch-2.0.1_skip-failing-gradtest.patch': '8030bdec6ba49b057ab232d19a7f1a5e542e47e2ec340653a246ec9ed59f8bc1'}, + {'PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch': + '199005bbbb913837e557358dee31535d8e3f63af9ac7cdcece624ab8e572e28a'}, + {'PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch': + '7047862abc1abaff62954da59700f36d4f39fcf83167a638183b1b7f8fec78ae'}, + {'PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch': + '166c134573a95230e39b9ea09ece3ad8072f39d370c9a88fb2a1e24f6aaac2b5'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.24.3'), + ('hypothesis', '6.68.2'), + # For tests + ('pytest-rerunfailures', '12.0'), + ('pytest-shard', '0.1.2'), +] + +dependencies = [ + ('Ninja', '1.11.1'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.8'), + ('protobuf', '23.0'), + ('protobuf-python', '4.23.0'), + ('pybind11', '2.10.3'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '5.1.2'), + ('Pillow', '9.4.0'), + ('expecttest', '0.1.3'), + ('networkx', '3.0'), + ('sympy', '1.12'), +] + +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 = 3 + +tests = ['PyTorch-check-cpp-extension.py'] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_add-missing-vsx-vector-shift-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_add-missing-vsx-vector-shift-functions.patch new file mode 100644 index 00000000000..0f30c6b98c5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_add-missing-vsx-vector-shift-functions.patch @@ -0,0 +1,109 @@ +The `Vectorized` class template specializations for VSX are missing the +left and right shift operators. +Add a backported version of the fixed operators of https://github.com/pytorch/pytorch/pull/109886 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +index 7c300c8087c..84c84286740 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +@@ -348,6 +348,7 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int16_t) + + } // namespace + } // namespace vec +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +index c98ab6215e6..e1e86d3b53a 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +@@ -279,6 +279,8 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int32_t) ++ + } // namespace + } // namespace vec + } // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +index a4171026a2b..70613d90443 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +@@ -231,6 +231,8 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int64_t) ++ + } // namespace + } // namespace vec + } // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h b/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h +index dab38458184..52032cdd817 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + + using vbool8 = __attribute__((altivec(vector__))) __attribute__((altivec(bool__))) char; + using vbool16 = __attribute__((altivec(vector__))) __attribute__((altivec(bool__))) short; +@@ -18,6 +19,11 @@ using vuint64 = __attribute__((altivec(vector__))) unsigned long long; + using vfloat32 = __attribute__((altivec(vector__))) float; + using vfloat64 = __attribute__((altivec(vector__))) double; + ++inline auto make_vuint(vint8 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint16 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint32 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint64 v){ return reinterpret_cast(v); } ++ + #if !defined(vec_float) + C10_ALWAYS_INLINE vfloat32 vec_float(const vint32& vec_in) { + vfloat32 vec_out; +@@ -448,6 +454,40 @@ const vfloat64 vd_imag_half = vfloat64{0.0, 0.5}; + const vfloat64 vd_sqrt2_2 = vfloat64{0.70710678118654757, 0.70710678118654757}; + const vfloat64 vd_pi_2 = vfloat64{M_PI / 2.0, 0.0}; + ++template ++Vectorized VsxShiftRightArith(const Vectorized& a, const Vectorized& b) { ++ const Vectorized max_shift(sizeof(T) * CHAR_BIT - std::is_signed_v); ++ const auto mask = (b < Vectorized(0)) | (b >= max_shift); ++ const auto shift = Vectorized::blendv(b, max_shift, mask); ++ return Vectorized{ ++ vec_sra(a.vec0(), make_vuint(shift.vec0())), ++ vec_sra(a.vec1(), make_vuint(shift.vec1()))}; ++} ++ ++template ++Vectorized VsxShiftLeftArith(const Vectorized& a, const Vectorized& b) { ++ const Vectorized max_shift(sizeof(T) * CHAR_BIT); ++ const auto mask = (b < Vectorized(0)) | (b >= max_shift); ++ Vectorized ret( ++ vec_sl(a.vec0(), make_vuint(b.vec0())), ++ vec_sl(a.vec1(), make_vuint(b.vec1()))); ++ return Vectorized::blendv(ret, Vectorized(0), mask); ++} ++ ++#define DEFINE_SHIFT_FUNCS(operand_type) \ ++ template <> \ ++ Vectorized C10_ALWAYS_INLINE operator>>( \ ++ const Vectorized& a, \ ++ const Vectorized& b) { \ ++ return VsxShiftRightArith(a, b); \ ++ } \ ++ template <> \ ++ Vectorized C10_ALWAYS_INLINE operator<<( \ ++ const Vectorized& a, \ ++ const Vectorized& b) { \ ++ return VsxShiftLeftArith(a, b); \ ++ } \ ++ + } // namespace + } // namespace vec + } // namespace at diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_avoid-test_quantization-failures.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_avoid-test_quantization-failures.patch new file mode 100644 index 00000000000..01a7e098c41 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_avoid-test_quantization-failures.patch @@ -0,0 +1,19 @@ +The quantized values returned by hypothesis as test inputs might still cause overflows. +Hence reduce their maximum value by a factor that should fix most such cases. +See e.g. https://github.com/pytorch/pytorch/issues/111471 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/hypothesis_utils.py b/torch/testing/_internal/hypothesis_utils.py +index 15e7b4512a4..67df4d74e9d 100644 +--- a/torch/testing/_internal/hypothesis_utils.py ++++ b/torch/testing/_internal/hypothesis_utils.py +@@ -36,6 +36,8 @@ _ENFORCED_ZERO_POINT = defaultdict(lambda: None, { + def _get_valid_min_max(qparams): + scale, zero_point, quantized_type = qparams + adjustment = 1 + torch.finfo(torch.float).eps ++ # provide some leeway for scaling values without overflowing long ++ adjustment *= 1e4 + _long_type_info = torch.iinfo(torch.long) + long_min, long_max = _long_type_info.min / adjustment, _long_type_info.max / adjustment + # make sure intermediate results are within the range of long diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-gcc12-warning.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-gcc12-warning.patch new file mode 100644 index 00000000000..e3091daf27a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-gcc12-warning.patch @@ -0,0 +1,32 @@ +GCC 12 has a false positive warning when compiled for some architectures, e.g. Intel Sapphire Rapids. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112370 + +Suppress this warning such that the build doesn't error. + +Author: Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 471fc8a8d3d..5eb7b432630 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -557,6 +557,7 @@ string(APPEND CMAKE_CUDA_FLAGS " -Xfatbin -compress-all") + if(NOT MSVC) + string(APPEND CMAKE_CUDA_FLAGS_DEBUG " -g -lineinfo --source-in-ptx") + string(APPEND CMAKE_CUDA_FLAGS_RELWITHDEBINFO " -g -lineinfo --source-in-ptx") ++ append_cxx_flag_if_supported("-Wno-free-nonheap-object" CMAKE_CXX_FLAGS) + endif(NOT MSVC) + + # Set INTERN_BUILD_MOBILE for all mobile builds. Components that are not +diff --git a/cmake/public/utils.cmake b/cmake/public/utils.cmake +index 60cca5383dd..76c02d7479f 100644 +--- a/cmake/public/utils.cmake ++++ b/cmake/public/utils.cmake +@@ -548,6 +548,8 @@ function(torch_update_find_cuda_flags) + endif() + endfunction() + ++include(CheckCXXCompilerFlag) ++ + ############################################################################## + # CHeck if given flag is supported and append it to provided outputvar + # Also define HAS_UPPER_CASE_FLAG_NAME variable diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-test-sharding.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-test-sharding.patch new file mode 100644 index 00000000000..525d9fda1dc --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_disable-test-sharding.patch @@ -0,0 +1,18 @@ +Our error checking doesn't work well with the parallel/sharded pytorch test. +As the overall gain is low, disable it and always run the full test suite in a single process. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/run_test.py b/test/run_test.py +index 9619cb2626e..ddfb200148f 100755 +--- a/test/run_test.py ++++ b/test/run_test.py +@@ -815,7 +815,7 @@ def run_test_ops(test_module, test_directory, options): + ] + default_unittest_args.extend(rerun_options) + +- if 'slow-gradcheck' in os.getenv("BUILD_ENVIRONMENT", ""): ++ if True: + extra_unittest_args = default_unittest_args.copy() + # there are a lot of tests that take up a lot of space in slowgrad check, so don't bother parallelizing + # it's also on periodic so we don't care about TTS as much diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-numpy-compat.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-numpy-compat.patch new file mode 100644 index 00000000000..99b3cc6b770 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-numpy-compat.patch @@ -0,0 +1,237 @@ +From ae1ed277563a1ac887faef4370ad9933c883ab9e Mon Sep 17 00:00:00 2001 +From: Omkar Salpekar +Date: Wed, 21 Jun 2023 18:16:40 +0000 +Subject: [PATCH] [codemod][numpy] replace np.str with str (#103931) + +Summary: +`np.str` is removed from numpy 1.20.0. It was an alias to builtin `str` and it's safe to do the replacement. + +The whole changes is mechanical, generated using the following onliner: +``` +fbgr -sl 'np\.str\b' | xargs perl -pi -e 's,\bnp\.str\b,str,g' +``` + +Test Plan: sandcastle + +Differential Revision: D46586144 + +Pull Request resolved: https://github.com/pytorch/pytorch/pull/103931 +Approved by: https://github.com/huydhn +--- + caffe2/python/core.py | 2 +- + caffe2/python/hypothesis_test.py | 4 ++-- + caffe2/python/layer_model_helper.py | 2 +- + caffe2/python/operator_test/adagrad_test_helper.py | 2 +- + caffe2/python/operator_test/cast_op_test.py | 2 +- + caffe2/python/operator_test/detectron_keypoints.py | 4 ++-- + caffe2/python/operator_test/tile_op_test.py | 6 +++--- + caffe2/python/schema.py | 2 +- + caffe2/python/schema_test.py | 4 ++-- + caffe2/python/utils.py | 6 +++--- + .../examples/maml_omniglot/support/omniglot_loaders.py | 4 ++-- + test/quantization/core/test_quantized_op.py | 4 ++-- + 12 files changed, 21 insertions(+), 21 deletions(-) + +diff --git a/caffe2/python/core.py b/caffe2/python/core.py +index d9f97b6121fdd2..e69af5c0a482b1 100644 +--- a/caffe2/python/core.py ++++ b/caffe2/python/core.py +@@ -1636,7 +1636,7 @@ def do_set(operator): + return do_set(self.GivenTensorIntFill) + elif array.dtype == np.int64: + return do_set(self.GivenTensorInt64Fill) +- elif array.dtype == np.str: ++ elif array.dtype == str: + return do_set(self.GivenTensorStringFill) + elif array.dtype == np.bool: + return do_set(self.GivenTensorBoolFill) +diff --git a/caffe2/python/hypothesis_test.py b/caffe2/python/hypothesis_test.py +index 02200f8cf74f18..cb5d00064b6eda 100644 +--- a/caffe2/python/hypothesis_test.py ++++ b/caffe2/python/hypothesis_test.py +@@ -1629,8 +1629,8 @@ def test_tt_sls_layer(self, gc, dc): + c0 = np.ones([10, 1, 2, 16]).astype(np.float32) + c1 = np.ones([10, 16, 2, 16]).astype(np.float32) + c2 = np.ones([10, 16, 2, 1]).astype(np.float32) +- # index = np.array([0, 1, 2, 1, 4], dtype=np.int) +- # lengths = np.array([3, 2], dtype=np.int) ++ # index = np.array([0, 1, 2, 1, 4], dtype=int) ++ # lengths = np.array([3, 2], dtype=int) + index = np.array([0, 1, 2, 1, 4], np.int64) + lengths = np.array([3, 2], np.int32) + +diff --git a/caffe2/python/layer_model_helper.py b/caffe2/python/layer_model_helper.py +index 9a8e237e302143..f21b47e57c653a 100644 +--- a/caffe2/python/layer_model_helper.py ++++ b/caffe2/python/layer_model_helper.py +@@ -148,7 +148,7 @@ def _get_global_constant_initializer_op( + op_name = 'GivenTensorIntFill' + elif array.dtype == np.int64: + op_name = 'GivenTensorInt64Fill' +- elif array.dtype == np.str: ++ elif array.dtype == str: + op_name = 'GivenTensorStringFill' + elif array.dtype == np.bool: + op_name = 'GivenTensorBoolFill' +diff --git a/caffe2/python/operator_test/adagrad_test_helper.py b/caffe2/python/operator_test/adagrad_test_helper.py +index 08caf22b266178..1fd017c4d2ac5c 100644 +--- a/caffe2/python/operator_test/adagrad_test_helper.py ++++ b/caffe2/python/operator_test/adagrad_test_helper.py +@@ -98,7 +98,7 @@ def adagrad_sparse_test_helper( + # Create an indexing array containing values that are lists of indices, + # which index into grad + if grad.size == 0: +- indices = np.empty(shape=(0,), dtype=np.int) ++ indices = np.empty(shape=(0,), dtype=int) + else: + indices = np.random.choice( + np.arange(grad.shape[0]), +diff --git a/caffe2/python/operator_test/cast_op_test.py b/caffe2/python/operator_test/cast_op_test.py +index bf2a210086e691..95540a6121bcac 100644 +--- a/caffe2/python/operator_test/cast_op_test.py ++++ b/caffe2/python/operator_test/cast_op_test.py +@@ -37,7 +37,7 @@ def test_cast_int_to_string(self, data, gc, dc): + 'Cast', 'data', 'data_cast', to=core.DataType.STRING) + + def ref(data): +- ret = data.astype(dtype=np.str) ++ ret = data.astype(dtype=str) + # the string blob will be fetched as object, we feed and re-fetch + # to mimic this. + with hu.temp_workspace('tmp_ref_int_to_string'): +diff --git a/caffe2/python/operator_test/detectron_keypoints.py b/caffe2/python/operator_test/detectron_keypoints.py +index 1abff0675993ff..319e8b5bbffd5e 100644 +--- a/caffe2/python/operator_test/detectron_keypoints.py ++++ b/caffe2/python/operator_test/detectron_keypoints.py +@@ -32,8 +32,8 @@ def heatmaps_to_keypoints(maps, rois): + heights = rois[:, 3] - rois[:, 1] + widths = np.maximum(widths, 1) + heights = np.maximum(heights, 1) +- widths_ceil = np.ceil(widths).astype(np.int) +- heights_ceil = np.ceil(heights).astype(np.int) ++ widths_ceil = np.ceil(widths).astype(int) ++ heights_ceil = np.ceil(heights).astype(int) + + num_keypoints = np.maximum(maps.shape[1], _NUM_KEYPOINTS) + +diff --git a/caffe2/python/operator_test/tile_op_test.py b/caffe2/python/operator_test/tile_op_test.py +index d39dfeee0ad72a..fbb424fe058ccb 100644 +--- a/caffe2/python/operator_test/tile_op_test.py ++++ b/caffe2/python/operator_test/tile_op_test.py +@@ -32,7 +32,7 @@ def test_tile(self, M, K, N, tiles, axis, gc, dc): + ) + + def tile_ref(X, tiles, axis): +- dims = np.asarray([1, 1, 1], dtype=np.int) ++ dims = np.asarray([1, 1, 1], dtype=int) + dims[axis] = tiles + tiled_data = np.tile(X, dims) + return (tiled_data,) +@@ -61,7 +61,7 @@ def test_tile_grad(self, M, N, tiles, gc, dc): + ) + + def tile_ref(X, tiles, axis): +- dims = np.asarray([1, 1], dtype=np.int) ++ dims = np.asarray([1, 1], dtype=int) + dims[axis] = tiles + tiled_data = np.tile(X, dims) + return (tiled_data,) +@@ -99,7 +99,7 @@ def test_tilewinput(self, M, K, N, tiles, axis, gc, dc): + ) + + def tile_ref(X, tiles, axis): +- dims = np.asarray([1, 1, 1], dtype=np.int) ++ dims = np.asarray([1, 1, 1], dtype=int) + dims[axis] = tiles + tiled_data = np.tile(X, dims) + return (tiled_data,) +diff --git a/caffe2/python/schema.py b/caffe2/python/schema.py +index ab6ec29372e2ff..ecbcb2287dddea 100644 +--- a/caffe2/python/schema.py ++++ b/caffe2/python/schema.py +@@ -1252,7 +1252,7 @@ def InitEmptyRecord(net, schema_or_record, enforce_types=False): + + + _DATA_TYPE_FOR_DTYPE = [ +- (np.str, core.DataType.STRING), ++ (str, core.DataType.STRING), + (np.float16, core.DataType.FLOAT16), + (np.float32, core.DataType.FLOAT), + (np.float64, core.DataType.DOUBLE), +diff --git a/caffe2/python/schema_test.py b/caffe2/python/schema_test.py +index 8f3ed4415fd4f5..2f3eaf38dc138d 100644 +--- a/caffe2/python/schema_test.py ++++ b/caffe2/python/schema_test.py +@@ -94,12 +94,12 @@ def testTuple(self): + s = schema.Tuple(np.int32, str, np.float32) + s2 = schema.Struct( + ('field_0', schema.Scalar(dtype=np.int32)), +- ('field_1', schema.Scalar(dtype=np.str)), ++ ('field_1', schema.Scalar(dtype=str)), + ('field_2', schema.Scalar(dtype=np.float32)) + ) + self.assertEqual(s, s2) + self.assertEqual(s[0], schema.Scalar(dtype=np.int32)) +- self.assertEqual(s[1], schema.Scalar(dtype=np.str)) ++ self.assertEqual(s[1], schema.Scalar(dtype=str)) + self.assertEqual(s[2], schema.Scalar(dtype=np.float32)) + self.assertEqual( + s[2, 0], +diff --git a/caffe2/python/utils.py b/caffe2/python/utils.py +index 02a77e74681a93..8c82faee33a4c3 100644 +--- a/caffe2/python/utils.py ++++ b/caffe2/python/utils.py +@@ -67,7 +67,7 @@ def Caffe2TensorToNumpyArray(tensor): + tensor.int64_data, dtype=np.int64).reshape(tensor.dims) + elif tensor.data_type == caffe2_pb2.TensorProto.INT32: + return np.asarray( +- tensor.int32_data, dtype=np.int).reshape(tensor.dims) # pb.INT32=>np.int use int32_data ++ tensor.int32_data, dtype=int).reshape(tensor.dims) # pb.INT32=>int use int32_data + elif tensor.data_type == caffe2_pb2.TensorProto.INT16: + return np.asarray( + tensor.int32_data, dtype=np.int16).reshape(tensor.dims) # pb.INT16=>np.int16 use int32_data +@@ -100,9 +100,9 @@ def NumpyArrayToCaffe2Tensor(arr, name=None): + elif arr.dtype == np.int64: + tensor.data_type = caffe2_pb2.TensorProto.INT64 + tensor.int64_data.extend(list(arr.flatten().astype(np.int64))) +- elif arr.dtype == np.int or arr.dtype == np.int32: ++ elif arr.dtype == int or arr.dtype == np.int32: + tensor.data_type = caffe2_pb2.TensorProto.INT32 +- tensor.int32_data.extend(arr.flatten().astype(np.int).tolist()) ++ tensor.int32_data.extend(arr.flatten().astype(int).tolist()) + elif arr.dtype == np.int16: + tensor.data_type = caffe2_pb2.TensorProto.INT16 + tensor.int32_data.extend(list(arr.flatten().astype(np.int16))) # np.int16=>pb.INT16 use int32_data +diff --git a/functorch/examples/maml_omniglot/support/omniglot_loaders.py b/functorch/examples/maml_omniglot/support/omniglot_loaders.py +index cac99b2dfbb2aa..ce636ecca0b1b2 100644 +--- a/functorch/examples/maml_omniglot/support/omniglot_loaders.py ++++ b/functorch/examples/maml_omniglot/support/omniglot_loaders.py +@@ -271,10 +271,10 @@ def load_data_cache(self, data_pack): + + # [b, setsz, 1, 84, 84] + x_spts = np.array(x_spts).astype(np.float32).reshape(self.batchsz, setsz, 1, self.resize, self.resize) +- y_spts = np.array(y_spts).astype(np.int).reshape(self.batchsz, setsz) ++ y_spts = np.array(y_spts).astype(int).reshape(self.batchsz, setsz) + # [b, qrysz, 1, 84, 84] + x_qrys = np.array(x_qrys).astype(np.float32).reshape(self.batchsz, querysz, 1, self.resize, self.resize) +- y_qrys = np.array(y_qrys).astype(np.int).reshape(self.batchsz, querysz) ++ y_qrys = np.array(y_qrys).astype(int).reshape(self.batchsz, querysz) + + x_spts, y_spts, x_qrys, y_qrys = [ + torch.from_numpy(z).to(self.device) for z in +diff --git a/test/quantization/core/test_quantized_op.py b/test/quantization/core/test_quantized_op.py +index 252d7b92f77ebb..232150a0ba34a6 100644 +--- a/test/quantization/core/test_quantized_op.py ++++ b/test/quantization/core/test_quantized_op.py +@@ -3840,9 +3840,9 @@ def test_qlinear_with_input_q_dq_qweight_dq_output_fp32( + # xnnpack forces W_zp to 0 when using symmetric quantization + # ONEDNN only supports symmetric quantization of weight + if dtype == torch.qint8 or qengine_is_onednn(): +- W_zps = np.zeros(output_channels).astype(np.int) ++ W_zps = np.zeros(output_channels).astype(int) + else: +- W_zps = np.round(np.random.rand(output_channels) * 100 - 50).astype(np.int) ++ W_zps = np.round(np.random.rand(output_channels) * 100 - 50).astype(int) + # when using symmetric quantization + # special restriction for xnnpack fully connected op weight + # [-127, 127] instead of [-128, 127] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-shift-ops.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-shift-ops.patch new file mode 100644 index 00000000000..f63f3cf4c5f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-shift-ops.patch @@ -0,0 +1,253 @@ +From d64fb24ee4a71d8cfe175cafc73c5f90fb26c9ac Mon Sep 17 00:00:00 2001 +From: BJ Hargrave +Date: Tue, 14 Mar 2023 15:30:41 -0400 +Subject: [PATCH 1/2] Fix operator>> for int64 vector in vec256 + +There is no vector instruction for shift right arithmetic for int64. +The operator>> implementation emulates this through other vector +instructions. It has been fixed to properly handle out-of-limit +shift values so that shift values <0 and >64 are set to 64 which +results in a value of -1 for negative inputs and 0 for non-negative +inputs (sign preserving). + +Fixes https://github.com/pytorch/pytorch/issues/70904 + +Signed-off-by: BJ Hargrave +--- + aten/src/ATen/cpu/vec/vec256/vec256_int.h | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vec256_int.h b/aten/src/ATen/cpu/vec/vec256/vec256_int.h +index 81e9d687d10a7b..784514f49e1d48 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vec256_int.h ++++ b/aten/src/ATen/cpu/vec/vec256/vec256_int.h +@@ -1481,16 +1481,22 @@ Vectorized inline operator<<(const Vectorized& a, const Vector + + template <> + Vectorized inline operator>>(const Vectorized& a, const Vectorized& b) { +- // No vector instruction for right shifting int64_t, so emulating it ++ // No vector instruction for right arithmetic shifting int64_t, so emulating it + // instead. + ++ // Clamp the shift values such that shift values < 0 and > 64 are changed to 64 ++ // which results in -1 for negative input and 0 for non-negative input. ++ __m256i zero = _mm256_set1_epi64x(0); ++ __m256i max_shift = _mm256_set1_epi64x(64); ++ __m256i mask = _mm256_or_si256(_mm256_cmpgt_epi64(zero, b), _mm256_cmpgt_epi64(b, max_shift)); ++ __m256i shift = _mm256_blendv_epi8(b, max_shift, mask); + // Shift the number logically to the right, thus filling the most + // significant bits with 0s. Then, replace these bits with the sign + // bit. +- __m256i sign_bits = _mm256_cmpgt_epi64(_mm256_set1_epi64x(0), a); +- __m256i b_inv_mod_64 = _mm256_sub_epi64(_mm256_set1_epi64x(64), b); +- __m256i sign_ext = _mm256_sllv_epi64(sign_bits, b_inv_mod_64); +- __m256i c = _mm256_srlv_epi64(a, b); ++ __m256i sign_bits = _mm256_cmpgt_epi64(zero, a); ++ __m256i sign_shift = _mm256_sub_epi64(max_shift, shift); ++ __m256i sign_ext = _mm256_sllv_epi64(sign_bits, sign_shift); ++ __m256i c = _mm256_srlv_epi64(a, shift); + c = _mm256_or_si256(c, sign_ext); + + return c; + +From 734e2cea43ee782d756f04bc21c625b8fdd36d31 Mon Sep 17 00:00:00 2001 +From: BJ Hargrave +Date: Mon, 13 Mar 2023 10:56:00 -0400 +Subject: [PATCH 2/2] Fix CPU bitwise shifts for out-of-limit shift values + +Negative shift values and positive shift values greater than the +bit size of the dtype (limit 0..bits) now yield expected results +which are consistent with numpy. + +Left shift with an out-of-limit shift value result in a value of 0. +Right shift with an out-of-limit shift value results in a value of -1 +for negative inputs and 0 for non-negative inputs (sign preserving). + +Fixes https://github.com/pytorch/pytorch/issues/70904 + +Signed-off-by: BJ Hargrave +--- + aten/src/ATen/cpu/vec/vec_base.h | 18 ++++++++-- + aten/src/ATen/native/cpu/BinaryOpsKernel.cpp | 9 +++++ + test/functorch/test_vmap.py | 12 ------- + test/test_binary_ufuncs.py | 37 ++++++++++++++++++++ + 4 files changed, 62 insertions(+), 14 deletions(-) + +diff --git a/aten/src/ATen/cpu/vec/vec_base.h b/aten/src/ATen/cpu/vec/vec_base.h +index cb0e37054b4d32..8f006ae0f6634f 100644 +--- a/aten/src/ATen/cpu/vec/vec_base.h ++++ b/aten/src/ATen/cpu/vec/vec_base.h +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -803,17 +804,30 @@ inline Vectorized operator~(const Vectorized& a) { + } + + template Vectorized inline operator<<(const Vectorized &a, const Vectorized &b) { ++ constexpr T max_shift = sizeof(T) * CHAR_BIT; + Vectorized c; + for (int i = 0; i != Vectorized::size(); i++) { +- c[i] = a[i] << b[i]; ++ T shift = b[i]; ++ if ((static_cast>(shift) < 0) || (shift >= max_shift)) { ++ c[i] = 0; ++ } else { ++ c[i] = static_cast>(a[i]) << shift; ++ } + } + return c; + } + + template Vectorized inline operator>>(const Vectorized &a, const Vectorized &b) { ++ // right shift value to retain sign bit for signed and no bits for unsigned ++ constexpr T max_shift = sizeof(T) * CHAR_BIT - std::is_signed_v; + Vectorized c; + for (int i = 0; i != Vectorized::size(); i++) { +- c[i] = a[i] >> b[i]; ++ T shift = b[i]; ++ if ((static_cast>(shift) < 0) || (shift >= max_shift)) { ++ c[i] = a[i] >> max_shift; ++ } else { ++ c[i] = a[i] >> shift; ++ } + } + return c; + } +diff --git a/aten/src/ATen/native/cpu/BinaryOpsKernel.cpp b/aten/src/ATen/native/cpu/BinaryOpsKernel.cpp +index d0393aaf18bf8b..d2d0892d8ea956 100644 +--- a/aten/src/ATen/native/cpu/BinaryOpsKernel.cpp ++++ b/aten/src/ATen/native/cpu/BinaryOpsKernel.cpp +@@ -316,6 +316,10 @@ void lshift_kernel(TensorIteratorBase& iter) { + AT_DISPATCH_INTEGRAL_TYPES(iter.dtype(), "lshift_cpu", [&]() { + cpu_kernel_vec(iter, + [](scalar_t a, scalar_t b) -> scalar_t { ++ constexpr scalar_t max_shift = sizeof(scalar_t) * CHAR_BIT; ++ if ((static_cast>(b) < 0) || (b >= max_shift)) { ++ return 0; ++ } + return static_cast>(a) << b; + }, + [](Vectorized a, Vectorized b) { +@@ -385,6 +389,11 @@ void rshift_kernel(TensorIteratorBase& iter) { + AT_DISPATCH_INTEGRAL_TYPES(iter.dtype(), "rshift_cpu", [&]() { + cpu_kernel_vec(iter, + [](scalar_t a, scalar_t b) -> scalar_t { ++ // right shift value to retain sign bit for signed and no bits for unsigned ++ constexpr scalar_t max_shift = sizeof(scalar_t) * CHAR_BIT - std::is_signed_v; ++ if ((static_cast>(b) < 0) || (b >= max_shift)) { ++ return a >> max_shift; ++ } + return a >> b; + }, + [](Vectorized a, Vectorized b) { +diff --git a/test/functorch/test_vmap.py b/test/functorch/test_vmap.py +index a5fb144f881880..5c352cf8fdf6f0 100644 +--- a/test/functorch/test_vmap.py ++++ b/test/functorch/test_vmap.py +@@ -27,8 +27,6 @@ + instantiate_parametrized_tests, + subtest, + TEST_WITH_UBSAN, +- IS_MACOS, +- IS_X86 + ) + from torch.testing._internal.common_device_type import \ + toleranceOverride, tol +@@ -46,7 +44,6 @@ + compute_quantities_for_vmap_test, + is_valid_inplace_sample_input, + decorate, +- expectedFailureIf + ) + import types + from collections import namedtuple +@@ -3572,10 +3569,6 @@ def test(): + xfail('addcdiv'), + xfail('addcmul'), + xfail('clamp'), +- # AssertionError: Tensor-likes are not equal! +- xfail('bitwise_left_shift', device_type='cpu'), +- decorate('bitwise_right_shift', device_type='cpu', +- decorator=expectedFailureIf(not (IS_MACOS and IS_X86))), + + # UBSAN: runtime error: shift exponent -1 is negative + decorate('bitwise_left_shift', decorator=unittest.skipIf(TEST_WITH_UBSAN, "Fails with above error")), +@@ -3734,11 +3727,6 @@ def test_vmap_exhaustive(self, device, dtype, op): + xfail('linalg.lu', ''), + skip('linalg.ldl_solve', ''), + skip('_softmax_backward_data'), +- # AssertionError: Tensor-likes are not equal! +- # Issue: https://github.com/pytorch/pytorch/issues/70904 +- xfail('bitwise_left_shift', device_type='cpu'), +- decorate('bitwise_right_shift', device_type='cpu', +- decorator=expectedFailureIf(not (IS_MACOS and IS_X86))), + # UBSAN: runtime error: shift exponent -1 is negative + decorate('bitwise_left_shift', decorator=unittest.skipIf(TEST_WITH_UBSAN, "Fails with above error")), + decorate('bitwise_right_shift', decorator=unittest.skipIf(TEST_WITH_UBSAN, "Fails with above error")), +diff --git a/test/test_binary_ufuncs.py b/test/test_binary_ufuncs.py +index 52d7c7a4ffcb00..bf3e4d43494932 100644 +--- a/test/test_binary_ufuncs.py ++++ b/test/test_binary_ufuncs.py +@@ -4,6 +4,7 @@ + import numpy as np + + import itertools ++from itertools import chain + from itertools import product + import math + import random +@@ -53,6 +54,7 @@ + floating_types_and, + floating_and_complex_types, + get_all_math_dtypes, ++ get_all_int_dtypes, + ) + from torch.testing._internal.common_methods_invocations import ( + binary_ufuncs, +@@ -3139,6 +3141,41 @@ def test_signed_shift(self, device, dtype): + self.assertEqual(a >> 1, expected_r) + self.compare_with_numpy(lambda x: x >> 1, lambda x: np.right_shift(x, 1), a) + ++ @onlyCPU ++ @dtypes(*get_all_int_dtypes()) ++ def test_shift_limits(self, device, dtype): ++ "Ensure that CPU integer bit shifting works as expected with out-of-limits shift values." ++ # Issue #70904 ++ iinfo = torch.iinfo(dtype) ++ bits = iinfo.bits ++ low = iinfo.min ++ high = iinfo.max ++ exact_dtype = dtype != torch.uint8 # numpy changes dtype from uint8 to int16 for some out-of-limits shift values ++ for input in ( ++ torch.tensor([-1, 0, 1], device=device, dtype=dtype), # small for non-vectorized operation ++ torch.tensor([low, high], device=device, dtype=dtype), # small for non-vectorized operation ++ make_tensor((64, 64, 64), low=low, high=high, device=device, dtype=dtype), # large for vectorized operation ++ ): ++ shift_left_expected = torch.zeros_like(input) ++ shift_right_expected = torch.clamp(input, -1, 0) ++ for shift in chain(range(-100, -1), range(bits, 100)): ++ shift_left = input << shift ++ self.assertEqual(shift_left, shift_left_expected, msg=f"<< {shift}") ++ self.compare_with_numpy( ++ lambda x: x << shift, ++ lambda x: np.left_shift(x, shift), ++ input, ++ exact_dtype=exact_dtype, msg=f"<< {shift}" ++ ) ++ shift_right = input >> shift ++ self.assertEqual(shift_right, shift_right_expected, msg=f">> {shift}") ++ self.compare_with_numpy( ++ lambda x: x >> shift, ++ lambda x: np.right_shift(x, shift), ++ input, ++ exact_dtype=exact_dtype, msg=f">> {shift}" ++ ) ++ + @onlyNativeDeviceTypes + @dtypes( + *list( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-skip-decorators.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-skip-decorators.patch new file mode 100644 index 00000000000..101849f4dbf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-skip-decorators.patch @@ -0,0 +1,122 @@ +The decorators are implemented to run when the function is called which is after +the test `setup` method spawned subprocesses which may use NCCL to sync failing when there are +not enough GPUs available. +So replace the custom code by calls to the `unittest` skip decorators. +See hhttps://github.com/pytorch/pytorch/pull/109491 + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_distributed.py b/torch/testing/_internal/common_distributed.py +index 400aa80fdca..80a7375cfe1 100644 +--- a/torch/testing/_internal/common_distributed.py ++++ b/torch/testing/_internal/common_distributed.py +@@ -134,17 +134,7 @@ def skip_if_odd_worldsize(func): + + + def require_n_gpus_for_nccl_backend(n, backend): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend == "nccl" and torch.cuda.device_count() < n: +- sys.exit(TEST_SKIPS[f"multi-gpu-{n}"].exit_code) +- else: +- return func(*args, **kwargs) +- +- return wrapper +- +- return decorator ++ return skip_if_lt_x_gpu(n) if backend == "nccl" else unittest.skipIf(False, None) + + + def import_transformers_or_skip(): +@@ -167,32 +157,7 @@ def import_transformers_or_skip(): + + + def skip_if_lt_x_gpu(x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator +- +- +-# This decorator helps avoiding initializing cuda while testing other backends +-def nccl_skip_if_lt_x_gpu(backend, x): +- def decorator(func): +- @wraps(func) +- def wrapper(*args, **kwargs): +- if backend != "nccl": +- return func(*args, **kwargs) +- if torch.cuda.is_available() and torch.cuda.device_count() >= x: +- return func(*args, **kwargs) +- sys.exit(TEST_SKIPS[f"multi-gpu-{x}"].exit_code) +- +- return wrapper +- +- return decorator ++ return unittest.skipIf(torch.cuda.device_count() < x, TEST_SKIPS[f"multi-gpu-{x}"].message) + + + def verify_ddp_error_logged(model_DDP, err_substr): +diff --git a/torch/testing/_internal/distributed/distributed_test.py b/torch/testing/_internal/distributed/distributed_test.py +index eb5130f2963..25839618308 100644 +--- a/torch/testing/_internal/distributed/distributed_test.py ++++ b/torch/testing/_internal/distributed/distributed_test.py +@@ -56,7 +56,6 @@ from torch.testing._internal.common_distributed import ( + skip_if_small_worldsize, + skip_if_odd_worldsize, + skip_if_lt_x_gpu, +- nccl_skip_if_lt_x_gpu, + skip_if_no_gpu, + require_n_gpus_for_nccl_backend, + requires_nccl_version, +@@ -4960,7 +4959,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4971,7 +4970,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_grad_is_view(self): + """ + Runs _test_accumulate_gradients_no_sync using default inputs +@@ -4982,7 +4981,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync +@@ -5010,7 +5009,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_accumulate_gradients_no_sync_allreduce_with_then_hook(self): + """ + Runs multiple iterations on _test_accumulate_gradients_no_sync using allreduce +@@ -5044,7 +5043,7 @@ class DistributedTest: + BACKEND != "mpi" and BACKEND != "nccl" and BACKEND != "gloo", + "get_future is only supported on mpi, nccl and gloo", + ) +- @nccl_skip_if_lt_x_gpu(BACKEND, 2) ++ @require_n_gpus_for_nccl_backend(2, BACKEND) + def test_get_future(self): + def mult(fut): + return [t * 3 for t in fut.wait()] diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-test-ops-conf.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-test-ops-conf.patch new file mode 100644 index 00000000000..6f3977c99a4 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-test-ops-conf.patch @@ -0,0 +1,26 @@ +From 8581301957b0018a32433f85163535709bc9d332 Mon Sep 17 00:00:00 2001 +From: Masaki Kozuki +Date: Fri, 7 Oct 2022 21:25:07 -0700 +Subject: [PATCH] try using a different group name + +ref: +https://github.com/pytorch/pytorch/issues/85923#issuecomment-1272220271 + +Signed-off-by: Masaki Kozuki +--- + test/conftest.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/conftest.py b/test/conftest.py +index e5af19b760a..c9755322d16 100644 +--- a/test/conftest.py ++++ b/test/conftest.py +@@ -18,7 +18,7 @@ xml_key = StashKey["LogXMLReruns"]() + + + def pytest_addoption(parser: Parser) -> None: +- group = parser.getgroup("terminal reporting") ++ group = parser.getgroup("terminal reporting functorch") + group.addoption( + "--junit-xml-reruns", + action="store", diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-test_memory_profiler.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-test_memory_profiler.patch new file mode 100644 index 00000000000..b11903a6de3 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_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 70b21b6b610..176fe153638 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 >= 256 ++ if size >= 1024 + ] + + self.assertExpectedInline( diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-torch.compile-on-ppc.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-torch.compile-on-ppc.patch new file mode 100644 index 00000000000..0b064c8b4c7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-torch.compile-on-ppc.patch @@ -0,0 +1,39 @@ +commit 9942a14e96c539cb0195475d2cd660dcdc274123 +Author: Nisanth M P +Date: Fri Jul 14 04:09:14 2023 +0000 + + Fix torch.compile g++ flag error on ppc64le (#104956) + + g++ flag -march is not recognised on ppc64le. So adding a check for platform machine to be ppc64le and using -mcpu flag instead. Other architectures will still use -march flag + + This fixes the torch.compile feature failure on ppc64le + + Pull Request resolved: https://github.com/pytorch/pytorch/pull/104956 + Approved by: https://github.com/jgong5, https://github.com/jansel + +diff --git a/torch/_inductor/codecache.py b/torch/_inductor/codecache.py +--- a/torch/_inductor/codecache.py ++++ b/torch/_inductor/codecache.py +@@ -7,6 +7,7 @@ import json + import logging + import multiprocessing + import os ++import platform + import re + import shutil + import signal +@@ -378,7 +379,14 @@ def optimization_flags(): + # Also, `-march=native` is unrecognized option on M1 + base_flags += " -Xclang -fopenmp" + else: +- base_flags += " -march=native -fopenmp" ++ if platform.machine() == "ppc64le": ++ base_flags += " -mcpu=native" ++ else: ++ base_flags += " -march=native" ++ ++ # Internal cannot find libgomp.so ++ if not config.is_fbcode(): ++ base_flags += " -fopenmp" + return base_flags + diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch new file mode 100644 index 00000000000..5651f8fbbcf --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-ub-in-inductor-codegen.patch @@ -0,0 +1,34 @@ +Casting negative floats to unsigned integers is undefined behavior so results vary between +different invocations and platforms. +This causes failures on e.g. PPC with test_comprehensive_byte in inductor/test_torchinductor_opinfo +See https://github.com/pytorch/pytorch/issues/110077 + +Fix by using `c10::convert` which handles that case. + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/_inductor/codegen/cpp.py b/torch/_inductor/codegen/cpp.py +index de6a32421c1..d16ae4cd91c 100644 +--- a/torch/_inductor/codegen/cpp.py ++++ b/torch/_inductor/codegen/cpp.py +@@ -577,7 +577,7 @@ class CppOverrides(OpOverrides): + @staticmethod + def to_dtype(x, dtype): + assert dtype in DTYPE_TO_CPP, f"{dtype} missing from {__name__}.DTYPE_TO_CPP" +- return f"static_cast<{DTYPE_TO_CPP[dtype]}>({x})" ++ return f"c10::convert<{DTYPE_TO_CPP[dtype]}>({x})" + + @staticmethod + def abs(x): +diff --git a/torch/_inductor/codegen/cpp_prefix.h b/torch/_inductor/codegen/cpp_prefix.h +index e0dba663144..9e17e481a89 100644 +--- a/torch/_inductor/codegen/cpp_prefix.h ++++ b/torch/_inductor/codegen/cpp_prefix.h +@@ -12,6 +12,7 @@ + #endif + #include + #include ++#include + + typedef at::Half half; + typedef at::BFloat16 bfloat16; diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-vsx-loadu.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-vsx-loadu.patch new file mode 100644 index 00000000000..5d8afb76fe5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_fix-vsx-loadu.patch @@ -0,0 +1,31 @@ +Fix access to unitialized memory on PPC +See https://github.com/pytorch/pytorch/issues/32502 & https://github.com/pytorch/pytorch/pull/109487 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint8_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint8_vsx.h +index 806f6731abb..648ed06afa6 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint8_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_qint8_vsx.h +@@ -91,7 +91,7 @@ struct Vectorized { + vec_vsx_ld(offset0, reinterpret_cast(ptr)), + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; + } +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +index 891c56b53ec..db3698804a7 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_quint8_vsx.h +@@ -94,7 +94,7 @@ struct Vectorized { + vec_vsx_ld(offset0, reinterpret_cast(ptr)), + vec_vsx_ld(offset16, reinterpret_cast(ptr))}; + } +- __at_align__ value_type tmp_values[size()]; ++ __at_align__ value_type tmp_values[size()] = {}; + std::memcpy(tmp_values, ptr, std::min(count, size()) * sizeof(value_type)); + return {vec_vsx_ld(offset0, tmp_values), vec_vsx_ld(offset16, tmp_values)}; + } diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch new file mode 100644 index 00000000000..db8aa200deb --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_ignore_unexpected_success_in_test_torchinductor_opinfo.patch @@ -0,0 +1,22 @@ +Some tests may succeed although they are not expected to. E.g.: +> FAILED inductor/test_torchinductor_opinfo.py::TestInductorOpInfoCPU::test_comprehensive_index_add_cpu_float16 - RuntimeError: unexpected success index_add, torch.float16, cpu +> FAILED inductor/test_torchinductor_opinfo.py::TestInductorOpInfoCPU::test_comprehensive_scatter_add_cpu_float16 - RuntimeError: unexpected success scatter_add, torch.float16, cpu +> FAILED inductor/test_torchinductor_opinfo.py::TestInductorOpInfoCPU::test_comprehensive_scatter_reduce_sum_cpu_float16 - RuntimeError: unexpected success scatter_reduce.sum, torch.float16, cpu + +Disable that unexpected success check. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/inductor/test_torchinductor_opinfo.py b/test/inductor/test_torchinductor_opinfo.py +index d91a27684ba..1e6d247c8d4 100644 +--- a/test/inductor/test_torchinductor_opinfo.py ++++ b/test/inductor/test_torchinductor_opinfo.py +@@ -66,7 +66,7 @@ _ops = partial( + TestExpect = Enum("TestExpect", ("SUCCESS", "XFAILURE", "SKIP")) + + COLLECT_EXPECT = os.getenv("PYTORCH_COLLECT_EXPECT", "0") == "1" +-FAIL_ON_SUCCESS = os.getenv("PYTORCH_FAIL_ON_SUCCESS", "1") == "1" ++FAIL_ON_SUCCESS = False + ALL_SAMPLES = os.getenv("PYTORCH_ALL_SAMPLES", "0") == "1" + START = os.getenv("PYTORCH_TEST_RANGE_START", None) + END = os.getenv("PYTORCH_TEST_RANGE_END", None) diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_no-cuda-stubs-rpath.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_no-cuda-stubs-rpath.patch new file mode 100644 index 00000000000..df699c5517e --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_no-cuda-stubs-rpath.patch @@ -0,0 +1,186 @@ +# PyTorch's CMAKE configuration by default sets RUNPATH on libraries if they link other libraries +# that are outside the build tree, which is done because of the CMAKE config on +# https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L10. +# This provides problems, since the cuda stubs library path then also gets added to the RUNPATH. +# As a result, at runtime, the stub version of things like libcuda.so.1 gets picked up, instead of the real drivers +# See https://github.com/easybuilders/easybuild-easyconfigs/issues/14359 +# This line https://github.com/pytorch/pytorch/blob/v1.10.0/cmake/Dependencies.cmake#L16 +# Makes sure that any path that is linked, is also added to the RUNPATH. +# This has been reported upstream in https://github.com/pytorch/pytorch/issues/35418 +# and a fix was attempted in https://github.com/pytorch/pytorch/pull/37737 but it was reverted +# +# This EasyBuild patch changes behavior for the libraries that were failing, i.e. the ones in this list: +# https://github.com/easybuilders/easybuild-easyconfigs/issues/14359#issuecomment-970479904 +# This is done by setting INSTALL_RPATH_USE_LINK_PATH to false, and instead, specifying the RPATH +# explicitely by defining INSTALL_RPATH, but only adding directories that do not match to the "stubs" regex +# +# Original patch: Caspar van Leeuwen +# Updated: Alexander Grund (TU Dresden) +# +# See https://github.com/pytorch/pytorch/pull/87593 + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 221e3f32b29..c3f24060f6a 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -627,14 +627,13 @@ endif() + if(USE_CUDA) + list(APPEND Caffe2_GPU_CU_SRCS ${Caffe2_GPU_HIP_JIT_FUSERS_SRCS}) + add_library(caffe2_nvrtc SHARED ${ATen_NVRTC_STUB_SRCS}) ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB}) + if(MSVC) + # Delay load nvcuda.dll so we can import torch compiled with cuda on a CPU-only machine +- set(DELAY_LOAD_FLAGS "-DELAYLOAD:nvcuda.dll;delayimp.lib") +- else() +- set(DELAY_LOAD_FLAGS "") ++ target_link_libraries(caffe2_nvrtc "-DELAYLOAD:nvcuda.dll;delayimp.lib") + endif() + +- target_link_libraries(caffe2_nvrtc ${CUDA_NVRTC} ${CUDA_CUDA_LIB} ${CUDA_NVRTC_LIB} ${DELAY_LOAD_FLAGS}) + target_include_directories(caffe2_nvrtc PRIVATE ${CUDA_INCLUDE_DIRS}) + install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}") + if(USE_NCCL) +diff --git a/cmake/LinkCudaLibraries.cmake b/cmake/LinkCudaLibraries.cmake +new file mode 100644 +index 00000000000..005914ccc6f +--- /dev/null ++++ b/cmake/LinkCudaLibraries.cmake +@@ -0,0 +1,33 @@ ++# Link CUDA libraries to the given target, i.e.: `target_link_libraries(target )` ++# ++# Additionally makes sure CUDA stub libs don't end up being in RPath ++# ++# Example: link_cuda_libraries(mytarget PRIVATE ${CUDA_LIBRARIES}) ++function(link_cuda_libraries target) ++ set(libs ${ARGN}) ++ set(install_rpath "$ORIGIN") ++ set(filtered FALSE) ++ foreach(lib IN LISTS libs) ++ # CUDA stub libs are in form /prefix/lib/stubs/libcuda.so ++ # So extract the name of the parent folder, to check against "stubs" ++ # And the parent path which we need to add to the INSTALL_RPATH for non-stubs ++ get_filename_component(parent_path "${lib}" DIRECTORY) ++ get_filename_component(parent_name "${parent_path}" NAME) ++ if(parent_name STREQUAL "stubs") ++ message(STATUS "Filtering ${lib} from being set in ${target}'s RPATH, " ++ "because it appears to point to the CUDA stubs directory.") ++ set(filtered TRUE) ++ elseif(parent_path) ++ list(APPEND install_rpath ${parent_path}) ++ endif() ++ endforeach() ++ ++ # Regular link command ++ target_link_libraries(${target} ${libs}) ++ # Manually set INSTALL_RPATH when there were any stub libs ++ if(filtered) ++ list(REMOVE_DUPLICATES install_rpath) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH_USE_LINK_PATH FALSE) ++ set_target_properties(${target} PROPERTIES INSTALL_RPATH "${install_rpath}") ++ endif() ++endfunction() +diff --git a/test/cpp/api/CMakeLists.txt b/test/cpp/api/CMakeLists.txt +index 6b801a07318..6ac92870479 100644 +--- a/test/cpp/api/CMakeLists.txt ++++ b/test/cpp/api/CMakeLists.txt +@@ -54,7 +54,8 @@ if(NOT MSVC) + endif() + + if(USE_CUDA) +- target_link_libraries(test_api PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_api PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/dist_autograd/CMakeLists.txt b/test/cpp/dist_autograd/CMakeLists.txt +index 9969c63e16d..356ba5be55c 100644 +--- a/test/cpp/dist_autograd/CMakeLists.txt ++++ b/test/cpp/dist_autograd/CMakeLists.txt +@@ -10,7 +10,8 @@ if(USE_DISTRIBUTED AND NOT WIN32) + target_link_libraries(test_dist_autograd PRIVATE torch gtest) + + if(USE_CUDA) +- target_link_libraries(test_dist_autograd PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_dist_autograd PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/jit/CMakeLists.txt b/test/cpp/jit/CMakeLists.txt +index 2376f1bc43b..30fbb99fa6d 100644 +--- a/test/cpp/jit/CMakeLists.txt ++++ b/test/cpp/jit/CMakeLists.txt +@@ -139,7 +139,8 @@ if(LINUX) + endif() + + if(USE_CUDA) +- target_link_libraries(test_jit PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_jit PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/rpc/CMakeLists.txt b/test/cpp/rpc/CMakeLists.txt +index 3997f8753e5..21fddbc645d 100644 +--- a/test/cpp/rpc/CMakeLists.txt ++++ b/test/cpp/rpc/CMakeLists.txt +@@ -33,7 +33,8 @@ target_include_directories( + target_link_libraries(test_cpp_rpc PRIVATE ${TORCH_RPC_TEST_DEPENDENCY_LIBS}) + + if(USE_CUDA) +- target_link_libraries(test_cpp_rpc PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_cpp_rpc PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt +index 7dff70630d3..ecb83005492 100644 +--- a/test/cpp/tensorexpr/CMakeLists.txt ++++ b/test/cpp/tensorexpr/CMakeLists.txt +@@ -57,14 +57,15 @@ if(USE_PTHREADPOOL) + target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface) + endif() + if(USE_CUDA) +- target_link_libraries(test_tensorexpr PRIVATE ++ include(${Torch_SOURCE_DIR}/cmake/LinkCudaLibraries.cmake) ++ link_cuda_libraries(test_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} + ${TORCH_CUDA_LIBRARIES}) + target_compile_definitions(test_tensorexpr PRIVATE USE_CUDA) + +- target_link_libraries(tutorial_tensorexpr PRIVATE ++ link_cuda_libraries(tutorial_tensorexpr PRIVATE + ${CUDA_LIBRARIES} + ${CUDA_NVRTC_LIB} + ${CUDA_CUDA_LIB} +diff --git a/test/test_torch.py b/test/test_torch.py +index c86535e22c0..6859311d806 100644 +--- a/test/test_torch.py ++++ b/test/test_torch.py +@@ -8833,6 +8833,21 @@ def add_neg_dim_tests(): + assert not hasattr(TestTorch, test_name), "Duplicated test name: " + test_name + setattr(TestTorch, test_name, make_neg_dim_test(name, tensor_arg, arg_constr, types, extra_dim)) + ++class TestRPATH(TestCase): ++ @unittest.skipIf(not sys.platform.startswith('linux'), "linux-only test") ++ def test_rpath(self): ++ """ ++ Make sure RPATH (or RUNPATH) in nvrtc does not contain a cuda stubs directory ++ issue gh-35418 ++ """ ++ libdir = os.path.join(os.path.dirname(torch._C.__file__), 'lib') ++ caffe2_nvrtc = os.path.join(libdir, 'libcaffe2_nvrtc.so') ++ if os.path.exists(caffe2_nvrtc): ++ output = subprocess.check_output(['objdump', '-x', caffe2_nvrtc]) ++ for line in output.split(b'\n'): ++ if b'RPATH' in line or b'RUNPATH' in line: ++ self.assertFalse(b'stubs' in line) ++ + # TODO: these empy classes are temporarily instantiated for XLA compatibility + # once XLA updates their test suite it should be removed + class TestViewOps(TestCase): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_remove-test-requiring-online-access.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_remove-test-requiring-online-access.patch new file mode 100644 index 00000000000..4022d01c852 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_remove-test-requiring-online-access.patch @@ -0,0 +1,30 @@ +This downloads a Perl file from a Github repo which may fail in: + + File "test/test_cuda.py", line 4632, in test_memory_snapshot + torch.cuda.memory._save_segment_usage(f.name) + File "/torch/cuda/memory.py", line 610, in _save_segment_usage + f.write(_segments(snapshot)) + File "/torch/cuda/_memory_viz.py", line 60, in segments + return format_flamegraph(f.getvalue()) + File "/torch/cuda/_memory_viz.py", line 21, in format_flamegraph + urllib.request.urlretrieve( + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_cuda.py b/test/test_cuda.py +index 7f2693b52c5..4bff69e5cad 100644 +--- a/test/test_cuda.py ++++ b/test/test_cuda.py +@@ -4993,12 +4993,6 @@ class TestCudaComm(TestCase): + found_it = True + self.assertTrue(found_it) + +- if not IS_WINDOWS: +- with tempfile.NamedTemporaryFile() as f: +- torch.cuda.memory._save_segment_usage(f.name) +- with open(f.name, 'r') as f2: +- self.assertTrue('test_cuda.py' in f2.read()) +- + del x + torch.cuda.empty_cache() + ss = torch.cuda.memory._snapshot() diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-diff-test-on-ppc.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-diff-test-on-ppc.patch new file mode 100644 index 00000000000..41d0da2eb03 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-diff-test-on-ppc.patch @@ -0,0 +1,26 @@ +The workaround for over/underflow isn't implemented for PPC yet. +So skip the test. +See https://github.com/pytorch/pytorch/issues/109870 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_binary_ufuncs.py b/test/test_binary_ufuncs.py +index 57fc1b76f18..06c129e007a 100644 +--- a/test/test_binary_ufuncs.py ++++ b/test/test_binary_ufuncs.py +@@ -27,6 +27,7 @@ from torch.testing._internal.common_utils import ( + numpy_to_torch_dtype_dict, + TEST_SCIPY, + set_default_dtype, ++ IS_PPC, + ) + from torch.testing._internal.common_device_type import ( + expectedFailureMeta, +@@ -1091,6 +1092,7 @@ class TestBinaryUfuncs(TestCase): + ) + + @dtypes(*complex_types()) ++ @skipIf(IS_PPC, "Vectorized div fails on PPC: #109870") + def test_complex_div_underflow_overflow(self, device, dtype): + # test to make sure the complex division does not produce underflow or overflow + # in the intermediate of its calculations diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-failing-gradtest.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-failing-gradtest.patch new file mode 100644 index 00000000000..19d427b3049 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-failing-gradtest.patch @@ -0,0 +1,16 @@ +test_fn_grad_linalg_det_singular_cpu_float64 fails not only on macos + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/opinfo/definitions/linalg.py b/torch/testing/_internal/opinfo/definitions/linalg.py +index 616c8cf42f4..3a07d19df46 100644 +--- a/torch/testing/_internal/opinfo/definitions/linalg.py ++++ b/torch/testing/_internal/opinfo/definitions/linalg.py +@@ -1135,7 +1135,6 @@ op_db: List[OpInfo] = [ + "test_fn_grad", + device_type="cpu", + dtypes=(torch.float64,), +- active_if=IS_MACOS, + ), + DecorateInfo( + unittest.skip("Gradients are incorrect on macos"), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch new file mode 100644 index 00000000000..247be914888 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_baddbmm_cpu_bfloat16.patch @@ -0,0 +1,25 @@ +test_baddbmm_cpu_bfloat16 in test_linalg.py fails with +> AssertionError: Tensor-likes are not close! +> +> Mismatched elements: 1387 / 6000 (23.1%) +> Greatest absolute difference: 3.98046875 at index (0, 11, 7) (up to 0.5 allowed) +> Greatest relative difference: 1324.7142857142858 at index (0, 4, 9) (up to 0.016 allowed) + +Happens also with the official 2.0.1 PIP package, and seems to be known to be flaky: https://github.com/pytorch/pytorch/issues/103046 +So assume this to be expected and skip the test. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_linalg.py b/test/test_linalg.py +index 29a0e482d86..d195ad60add 100644 +--- a/test/test_linalg.py ++++ b/test/test_linalg.py +@@ -5871,7 +5871,7 @@ scipy_lobpcg | {:10.2e} | {:10.2e} | {:6} | N/A + + @precisionOverride({torch.half: 0.1, torch.bfloat16: 0.5}) + @onlyNativeDeviceTypes +- @dtypes(*floating_and_complex_types_and(torch.bfloat16)) ++ @dtypes(*floating_and_complex_types()) + @tf32_on_and_off(0.05) + def test_baddbmm(self, device, dtype): + if self.device_type == 'cuda' and dtype is torch.bfloat16 and not SM53OrLater: diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch new file mode 100644 index 00000000000..f02e5d3ab0d --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-test_shuffle_reproducibility.patch @@ -0,0 +1,20 @@ +The test fails on some systems with +> RuntimeError: Too many open files. Communication with the workers is no longer possible. +> Please increase the limit using `ulimit -n` in the shell or change the sharing strategy by calling `torch.multiprocessing.set_sharing_strategy('file_system')` at the beginning of your code + +So just skip it. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_dataloader.py b/test/test_dataloader.py +index 39d91876f0b..aff47063344 100644 +--- a/test/test_dataloader.py ++++ b/test/test_dataloader.py +@@ -1542,6 +1542,7 @@ except RuntimeError as e: + def test_shuffle_batch(self): + self._test_shuffle(self._get_data_loader(self.dataset, batch_size=2, shuffle=True)) + ++ @unittest.skip("May cause 'Too many open files' error due to potential `ulimit -n` restrictions") + def test_shuffle_reproducibility(self): + for fn in ( + lambda: DataLoader(self.dataset, shuffle=True, num_workers=0, generator=torch.Generator().manual_seed(42)), diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch new file mode 100644 index 00000000000..8e80dec749f --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.0.1_skip-tests-skipped-in-subprocess.patch @@ -0,0 +1,34 @@ +Use unittest.skip to skip tests skipped by subprocesses as otherwise skipped tests +marked as expectedFailure may succeed unexpectatly failing the testsuite. +E.g.: +> INFO:torch.testing._internal.common_distributed:Thread 0 skipping test > for following reason: PyTorch is built without MKL support +> INFO:torch.testing._internal.common_distributed:Thread 1 skipping test > for following reason: PyTorch is built without MKL support +> INFO:torch.testing._internal.common_distributed:Skipping > on sandcastle for the following reason: Test skipped at subprocess level, look at subprocess log for skip reason +> u +> ... +> FAILED (unexpected successes=1) + +Author: Alexander Grund (TU Dresden) + +diff --git a/torch/testing/_internal/common_distributed.py b/torch/testing/_internal/common_distributed.py +index 400aa80fdca..afea4a8f89f 100644 +--- a/torch/testing/_internal/common_distributed.py ++++ b/torch/testing/_internal/common_distributed.py +@@ -828,7 +828,7 @@ class MultiProcessTestCase(TestCase): + ) + for skip in TEST_SKIPS.values(): + if first_process.exitcode == skip.exit_code: +- if IS_SANDCASTLE: ++ if False: + # Don't use unittest.skip to skip the test on sandcastle + # since it creates tasks for skipped tests assuming there + # is some follow-up needed. Instead just "pass" the test +@@ -1123,7 +1123,7 @@ class MultiThreadedTestCase(TestCase): + if skip_code > 0: + for skip in TEST_SKIPS.values(): + if skip_code == skip.exit_code: +- if IS_SANDCASTLE: ++ if False: + # "pass" the test with an appropriate message. + logger.info( + f"Skipping {fn} on sandcastle for the following reason: {skip.message}" 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_disable-gcc12-warning.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_disable-gcc12-warning.patch new file mode 100644 index 00000000000..cb31fe9c022 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_disable-gcc12-warning.patch @@ -0,0 +1,32 @@ +GCC 12 has a false positive warning when compiled for some architectures, e.g. Intel Sapphire Rapids. +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112370 + +Suppress this warning such that the build doesn't error. + +Author: Alexander Grund (TU Dresden) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a48eaf4e29..faa06c8177a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -561,6 +561,7 @@ if(MSVC) + string(APPEND CMAKE_CXX_FLAGS " /FS") + string(APPEND CMAKE_CUDA_FLAGS " -Xcompiler /FS") + endif(MSVC) ++append_cxx_flag_if_supported("-Wno-free-nonheap-object" CMAKE_CXX_FLAGS) + + string(APPEND CMAKE_CUDA_FLAGS " -Xfatbin -compress-all") + +diff --git a/cmake/public/utils.cmake b/cmake/public/utils.cmake +index 4d48c0f0f3d..bda17319ce7 100644 +--- a/cmake/public/utils.cmake ++++ b/cmake/public/utils.cmake +@@ -533,6 +533,8 @@ function(torch_update_find_cuda_flags) + endif() + endfunction() + ++include(CheckCXXCompilerFlag) ++ + ############################################################################## + # CHeck if given flag is supported and append it to provided outputvar + # Also define HAS_UPPER_CASE_FLAG_NAME variable diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch new file mode 100644 index 00000000000..4ad64a886b5 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-bufferoverflow-in-oneDNN.patch @@ -0,0 +1,30 @@ +Fix a buffer overflow in oneDNN resulting in memory corruption. +Visible in e.g test_scaled_dot_product_fused_attention_vs_math_cpu in test_transformers.py + +See https://github.com/pytorch/pytorch/issues/115253 +Fixed in oneDNN 3.3 with https://github.com/oneapi-src/oneDNN/commit/6518e55b025b75ea83c677c601cfb8b1f7df0a68 +Use this commit to patch the submodule. + +Author: Alexander Grund (TU Dresden) + +diff -ur pytorch/third_party/ideep/mkl-dnn/src/cpu/matmul/gemm_based_common.hpp pytorch-orig/third_party/ideep/mkl-dnn/src/cpu/matmul/gemm_based_common.hpp +--- pytorch/third_party/ideep/mkl-dnn/src/cpu/matmul/gemm_based_common.hpp 2023-12-08 11:02:21.817449743 +0100 ++++ pytorch-orig/third_party/ideep/mkl-dnn/src/cpu/matmul/gemm_based_common.hpp 2023-12-08 11:02:17.796537323 +0100 +@@ -139,9 +139,15 @@ + const int nthr) { + const int num_scratchpad_blocks + = use_single_gemm_call_optimization ? 1 : nthr; +- return get_scratchpad_block_elements( +- batch, M, N, use_single_gemm_call_optimization, nthr) ++ size_t buf_sz = get_scratchpad_block_elements(batch, M, N, ++ use_single_gemm_call_optimization, nthr) + * num_scratchpad_blocks; ++ ++ // Buffer needs to be large enough to accommodate one thread buffer ++ // size requirement in case only one thread is used during execution. ++ size_t buf_sz_1thr = get_scratchpad_block_elements( ++ batch, M, N, use_single_gemm_call_optimization, 1); ++ return nstl::max(buf_sz_1thr, buf_sz); + } + + inline void book_acc_scratchpad(matmul_pd_t &pd, const params_t ¶ms, 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_fix-validationError-output-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-validationError-output-test.patch new file mode 100644 index 00000000000..2fd2ac954e7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-validationError-output-test.patch @@ -0,0 +1,66 @@ +test_trigger_on_error in dynamo/test_exc.py fails as the output lines are ordered differently. +Sort those to make them consistent as is done in https://github.com/pytorch/pytorch/commit/dfdc0b63c9a5befd363d304eb5e08ed1e592d7ca +Then update the expected output. + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/dynamo/test_exc.py b/test/dynamo/test_exc.py +index c8390880aa9..a69c229a8ae 100644 +--- a/test/dynamo/test_exc.py ++++ b/test/dynamo/test_exc.py +@@ -211,28 +211,28 @@ ReluCompileError:""", + translation validation failed. + + Model: ++ ==> L['x'].size()[0]: 4 + ==> L['x'].storage_offset(): 0 +- ==> s0: 4 + ==> L['x'].stride()[0]: 1 +- ==> L['x'].size()[0]: 4 ++ ==> s0: 4 + + Assertions: ++ ==> (== 0 L['x'].storage_offset()) ++ ==> (== 1 L['x'].stride()[0]) + ==> (== L['x'].size()[0] s0) + ==> (> s0 1) + ==> (Not (And (< L['x'].size()[0] 4) (>= L['x'].size()[0] 0))) + ==> (True) +- ==> (== 0 L['x'].storage_offset()) +- ==> (== 1 L['x'].stride()[0]) + ==> (True) + + Target Expressions: +- ==> (>= 9223372036854775806 s0) +- ==> (== 4 L['x'].size()[0]) ++ ==> (<= 2 s0) + ==> (== 0 L['x'].storage_offset()) +- ==> (> s0 0) + ==> (== 1 L['x'].stride()[0]) +- ==> (<= 2 s0) ++ ==> (== 4 L['x'].size()[0]) + ==> (== 4 s0) ++ ==> (> s0 0) ++ ==> (>= 9223372036854775806 s0) + + Failed Source Expressions: + ==> (!= 4 L['x'].size()[0])""", +diff --git a/torch/fx/experimental/validator.py b/torch/fx/experimental/validator.py +index 313e299151c..3b5e1e81aa3 100644 +--- a/torch/fx/experimental/validator.py ++++ b/torch/fx/experimental/validator.py +@@ -559,10 +559,10 @@ class ValidationException(TorchDynamoException): + def joinlines(xs) -> str: + return "\n".join(f" ==> {x}" for x in xs) + +- model_str = joinlines(map(symbolstr, model)) +- assertions_str = joinlines(map(z3str, assertions)) +- target_exprs_str = joinlines(map(z3str, target_exprs)) +- failed_source_exprs_str = joinlines(map(z3str, failed_source_exprs)) ++ model_str = joinlines(sorted(map(symbolstr, model))) ++ assertions_str = joinlines(sorted(map(z3str, assertions))) ++ target_exprs_str = joinlines(sorted(map(z3str, target_exprs))) ++ failed_source_exprs_str = joinlines(sorted(map(z3str, failed_source_exprs))) + + super().__init__( + "translation validation failed.\n\n" diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch new file mode 100644 index 00000000000..cf0fd419778 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_fix-vsx-vector-shift-functions.patch @@ -0,0 +1,172 @@ +The VSX vector shift operators don't handle out-of-bounds values correctly. +See https://github.com/pytorch/pytorch/issues/109777 +Taken from https://github.com/pytorch/pytorch/pull/109886 + +Author: Alexander Grund (TU Dresden) + +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +index a71f50fc7aa..84c84286740 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int16_vsx.h +@@ -334,20 +334,6 @@ class Vectorized { + DEFINE_MEMBER_OP(operator^, int16_t, vec_xor) + }; + +-template <> +-Vectorized inline operator<<(const Vectorized& a, const Vectorized& b) { +- vuint16 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint16 shift_vec1 = reinterpret_cast(b.vec1()); +- return Vectorized{vec_sl(a.vec0(), shift_vec0), vec_sl(a.vec1(), shift_vec1)}; +-} +- +-template <> +-Vectorized inline operator>>(const Vectorized& a, const Vectorized& b) { +- vuint16 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint16 shift_vec1 = reinterpret_cast(b.vec1()) ; +- return Vectorized{vec_sr(a.vec0(), shift_vec0), vec_sr(a.vec1(), shift_vec1)}; +-} +- + template <> + Vectorized inline maximum( + const Vectorized& a, +@@ -362,6 +348,7 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int16_t) + + } // namespace + } // namespace vec +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +index 1b6a82df39b..e1e86d3b53a 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int32_vsx.h +@@ -265,20 +265,6 @@ class Vectorized { + DEFINE_MEMBER_OP(operator^, int32_t, vec_xor) + }; + +-template <> +-Vectorized inline operator<<(const Vectorized& a, const Vectorized& b) { +- vuint32 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint32 shift_vec1 = reinterpret_cast(b.vec1()) ; +- return Vectorized{vec_sl(a.vec0(), shift_vec0), vec_sl(a.vec1(), shift_vec1)}; +-} +- +-template <> +-Vectorized inline operator>>(const Vectorized& a, const Vectorized& b) { +- vuint32 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint32 shift_vec1 = reinterpret_cast(b.vec1()) ; +- return Vectorized{vec_sr(a.vec0(), shift_vec0), vec_sr(a.vec1(), shift_vec1)}; +-} +- + template <> + Vectorized inline maximum( + const Vectorized& a, +@@ -293,6 +279,8 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int32_t) ++ + } // namespace + } // namespace vec + } // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +index a7a376ee16e..70613d90443 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vec256_int64_vsx.h +@@ -217,20 +217,6 @@ class Vectorized { + DEFINE_MEMBER_OP(operator^, int64_t, vec_xor) + }; + +-template <> +-Vectorized inline operator<<(const Vectorized& a, const Vectorized& b) { +- vuint64 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint64 shift_vec1 = reinterpret_cast(b.vec1()) ; +- return Vectorized{vec_sl(a.vec0(), shift_vec0), vec_sl(a.vec1(), shift_vec1)}; +-} +- +-template <> +-Vectorized inline operator>>(const Vectorized& a, const Vectorized& b) { +- vuint64 shift_vec0 = reinterpret_cast(b.vec0()); +- vuint64 shift_vec1 = reinterpret_cast(b.vec1()) ; +- return Vectorized{vec_sr(a.vec0(), shift_vec0), vec_sr(a.vec1(), shift_vec1)}; +-} +- + template <> + Vectorized inline maximum( + const Vectorized& a, +@@ -245,6 +231,8 @@ Vectorized inline minimum( + return a.minimum(b); + } + ++DEFINE_SHIFT_FUNCS(int64_t) ++ + } // namespace + } // namespace vec + } // namespace at +diff --git a/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h b/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h +index dab38458184..52032cdd817 100644 +--- a/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h ++++ b/aten/src/ATen/cpu/vec/vec256/vsx/vsx_helpers.h +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + + using vbool8 = __attribute__((altivec(vector__))) __attribute__((altivec(bool__))) char; + using vbool16 = __attribute__((altivec(vector__))) __attribute__((altivec(bool__))) short; +@@ -18,6 +19,11 @@ using vuint64 = __attribute__((altivec(vector__))) unsigned long long; + using vfloat32 = __attribute__((altivec(vector__))) float; + using vfloat64 = __attribute__((altivec(vector__))) double; + ++inline auto make_vuint(vint8 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint16 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint32 v){ return reinterpret_cast(v); } ++inline auto make_vuint(vint64 v){ return reinterpret_cast(v); } ++ + #if !defined(vec_float) + C10_ALWAYS_INLINE vfloat32 vec_float(const vint32& vec_in) { + vfloat32 vec_out; +@@ -448,6 +454,40 @@ const vfloat64 vd_imag_half = vfloat64{0.0, 0.5}; + const vfloat64 vd_sqrt2_2 = vfloat64{0.70710678118654757, 0.70710678118654757}; + const vfloat64 vd_pi_2 = vfloat64{M_PI / 2.0, 0.0}; + ++template ++Vectorized VsxShiftRightArith(const Vectorized& a, const Vectorized& b) { ++ const Vectorized max_shift(sizeof(T) * CHAR_BIT - std::is_signed_v); ++ const auto mask = (b < Vectorized(0)) | (b >= max_shift); ++ const auto shift = Vectorized::blendv(b, max_shift, mask); ++ return Vectorized{ ++ vec_sra(a.vec0(), make_vuint(shift.vec0())), ++ vec_sra(a.vec1(), make_vuint(shift.vec1()))}; ++} ++ ++template ++Vectorized VsxShiftLeftArith(const Vectorized& a, const Vectorized& b) { ++ const Vectorized max_shift(sizeof(T) * CHAR_BIT); ++ const auto mask = (b < Vectorized(0)) | (b >= max_shift); ++ Vectorized ret( ++ vec_sl(a.vec0(), make_vuint(b.vec0())), ++ vec_sl(a.vec1(), make_vuint(b.vec1()))); ++ return Vectorized::blendv(ret, Vectorized(0), mask); ++} ++ ++#define DEFINE_SHIFT_FUNCS(operand_type) \ ++ template <> \ ++ Vectorized C10_ALWAYS_INLINE operator>>( \ ++ const Vectorized& a, \ ++ const Vectorized& b) { \ ++ return VsxShiftRightArith(a, b); \ ++ } \ ++ template <> \ ++ Vectorized C10_ALWAYS_INLINE operator<<( \ ++ const Vectorized& a, \ ++ const Vectorized& b) { \ ++ return VsxShiftLeftArith(a, b); \ ++ } \ ++ + } // namespace + } // namespace vec + } // namespace at diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch new file mode 100644 index 00000000000..00096a92073 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_increase-tolerance-functorch-test_vmapvjpvjp.patch @@ -0,0 +1,28 @@ +Increase tolerance of test_vmapvjpvjp_linalg_tensorsolve_cpu_float32 which fails with the same diff on multiple machines. + +_________________________________________ TestOperatorsCPU.test_vmapvjpvjp_linalg_tensorsolve_cpu_float32 _________________________________________ +AssertionError: Tensor-likes are not close! + +Mismatched elements: 6 / 288 (2.1%) +Greatest absolute difference: 0.0005550384521484375 at index (0, 2, 1, 0, 2) (up to 0.0001 allowed) +Greatest relative difference: 0.0002498962276149541 at index (0, 1, 0, 0, 2) (up to 0.0001 allowed) + +The failure occurred for item [2] + +See https://github.com/pytorch/pytorch/issues/114868 + +@Author: Alexander Grund (TU Dresden) + +diff --git a/test/functorch/test_ops.py b/test/functorch/test_ops.py +index 923d75d53d9..1ae32bffba6 100644 +--- a/test/functorch/test_ops.py ++++ b/test/functorch/test_ops.py +@@ -825,6 +825,8 @@ class TestOperators(TestCase): + @opsToleranceOverride('TestOperators', 'test_vmapvjpvjp', ( + tol1('linalg.svd', + {torch.float32: tol(atol=1e-03, rtol=5e-04)}), ++ tol1('linalg.tensorsolve', ++ {torch.float32: tol(atol=1e-03, rtol=5e-04)}), + tol1('linalg.lu_factor', + {torch.float32: tol(atol=2e-03, rtol=2e-02)}), + tol1('svd', diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch new file mode 100644 index 00000000000..b2881c72510 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-sparse-csr-nnz-overflow-test.patch @@ -0,0 +1,26 @@ +The test causes an overflow before it gets to the point it wants to test. +Simply remove that part. +See https://github.com/pytorch/pytorch/pull/114940 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_sparse_csr.py b/test/test_sparse_csr.py +index 5d344953526..f0bf8535214 100644 +--- a/test/test_sparse_csr.py ++++ b/test/test_sparse_csr.py +@@ -864,15 +864,6 @@ class TestSparseCompressed(TestCase): + torch.tensor([0], dtype=torch.int64), + torch.tensor([1]), (1, cols)) + +- nnz = 2 ** 31 +- with self.assertRaisesRegex(RuntimeError, '32-bit integer overflow in nnz'): +- torch.sparse_csr_tensor(torch.tensor([0, nnz // 2, nnz], dtype=torch.int32), +- torch.arange(nnz // 2, dtype=torch.int32).repeat(2), +- torch.ones(nnz, dtype=torch.int8), (2, nnz // 2)) +- torch.sparse_csr_tensor(torch.tensor([0, nnz // 2, nnz], dtype=torch.int64), +- torch.arange(nnz // 2, dtype=torch.int64).repeat(2), +- torch.ones(nnz, dtype=torch.int8), (2, nnz // 2)) +- + @skipMeta + @onlyCPU + @all_sparse_compressed_layouts() diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-test-requiring-online-access.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-test-requiring-online-access.patch new file mode 100644 index 00000000000..f65b96bac38 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_remove-test-requiring-online-access.patch @@ -0,0 +1,26 @@ +This downloads a Perl file from a Github repo which may fail in: + + File "test/test_cuda.py", line 4632, in test_memory_snapshot + torch.cuda.memory._save_segment_usage(f.name) + File "/torch/cuda/memory.py", line 610, in _save_segment_usage + f.write(_segments(snapshot)) + File "/torch/cuda/_memory_viz.py", line 60, in segments + return format_flamegraph(f.getvalue()) + File "/torch/cuda/_memory_viz.py", line 21, in format_flamegraph + urllib.request.urlretrieve( + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_cuda.py b/test/test_cuda.py +index e81c9365139..b95206bcff7 100644 +--- a/test/test_cuda.py ++++ b/test/test_cuda.py +@@ -3372,7 +3372,7 @@ class TestCudaMallocAsync(TestCase): + self.assertEqual(x.untyped_storage().data_ptr(), b['address']) + self.assertTrue(found_it) + +- if not IS_WINDOWS: ++ if False: + with tempfile.NamedTemporaryFile() as f: + torch.cuda.memory._save_segment_usage(f.name) + with open(f.name) as f2: diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-diff-test-on-ppc.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-diff-test-on-ppc.patch new file mode 100644 index 00000000000..916d1b80188 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-diff-test-on-ppc.patch @@ -0,0 +1,26 @@ +The workaround for over/underflow isn't implemented for PPC yet. +So skip the test. +See https://github.com/pytorch/pytorch/issues/109870 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_binary_ufuncs.py b/test/test_binary_ufuncs.py +index c4bb5a1ba0b..83ad37f332b 100644 +--- a/test/test_binary_ufuncs.py ++++ b/test/test_binary_ufuncs.py +@@ -26,6 +26,7 @@ from torch.testing._internal.common_utils import ( + TEST_SCIPY, + set_default_dtype, + skipIfTorchDynamo, ++ IS_PPC, + ) + from torch.testing._internal.common_device_type import ( + expectedFailureMeta, +@@ -1082,6 +1083,7 @@ class TestBinaryUfuncs(TestCase): + ) + + @dtypes(*complex_types()) ++ @skipIf(IS_PPC, "Vectorized div fails on PPC: #109870") + def test_complex_div_underflow_overflow(self, device, dtype): + # test to make sure the complex division does not produce underflow or overflow + # in the intermediate of its calculations diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-dynamo-test_predispatch.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-dynamo-test_predispatch.patch new file mode 100644 index 00000000000..6677746244c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-dynamo-test_predispatch.patch @@ -0,0 +1,23 @@ +test_predispatch_with_for_out_dtype_nested_dynamic_shapes fails when run after test_predispatch_with_for_out_dtype_nested +with: torch._subclasses.fake_tensor.DataDependentOutputException: aten.allclose.default +This is a known issue so just disable it, see +https://github.com/pytorch/pytorch/issues/107980 +https://github.com/pytorch/pytorch/issues/112678 +Might be fixed after https://github.com/pytorch/pytorch/pull/108715 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/dynamo/test_export.py b/test/dynamo/test_export.py +index 1b6deb7e524..ca3792e55c9 100644 +--- a/test/dynamo/test_export.py ++++ b/test/dynamo/test_export.py +@@ -3743,6 +3743,9 @@ def forward(self, l_x_, ones_3_true_branch, ones_1_true_branch, ones_true_branch + self.assertTrue(torch.allclose(m(x), gm(x))) + + def test_predispatch_with_for_out_dtype_nested(self): ++ if self.__class__.__name__.startswith('DynamicShapes'): ++ self.skipTest("Doesn't work running twice, see issue #112678") ++ + class M(torch.nn.Module): + def __init__(self, weight): + super().__init__() 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.0_skip-test_jvp_linalg_det_singular.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch new file mode 100644 index 00000000000..3216012d35c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_jvp_linalg_det_singular.patch @@ -0,0 +1,35 @@ +test_jvp_linalg_det_singular_cpu_float32 in functorch/test_ops.py fails consistently with the error +> Mismatched elements: 1 / 4 (25.0%) +> Greatest absolute difference: 0.44168850779533386 at index (0, 1) (up to 1e-05 allowed) +> Greatest relative difference: inf at index (0, 1) (up to 1.3e-06 allowed) + +This is an already known issue on x86 MacOS, see https://github.com/pytorch/pytorch/issues/110980 +So just skip this test. + +Similar for test_vmapjvpall_linalg_det_singular_cpu_float32, +see https://github.com/pytorch/pytorch/issues/111583 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/functorch/test_ops.py b/test/functorch/test_ops.py +index 923d75d53d9..378498d4dc5 100644 +--- a/test/functorch/test_ops.py ++++ b/test/functorch/test_ops.py +@@ -498,7 +498,7 @@ class TestOperators(TestCase): + xfail('as_strided', 'partial_views'), + xfail('as_strided_scatter'), + decorate('linalg.det', 'singular', +- decorator=expectedFailureIf(IS_MACOS and IS_X86)), ++ decorator=unittest.skipIf(IS_X86, 'Known failure: #110980')), + })) + @opsToleranceOverride('TestOperators', 'test_jvp', ( + tol1('nn.functional.conv_transpose3d', +@@ -1053,7 +1053,7 @@ class TestOperators(TestCase): + {torch.float32: tol(atol=2e-04, rtol=9e-3)}), + )) + @skipOps('TestOperators', 'test_vmapjvpall', vmapjvpall_fail.union({ +- decorate('linalg.det', 'singular', decorator=expectedFailureIf(IS_MACOS and IS_X86)), ++ decorate('linalg.det', 'singular', decorator=unittest.skipIf(IS_X86, 'Known failure: #110980')), + })) + # This is technically a superset of test_vmapjvp. We should either delete test_vmapjvp + # or figure out if we can split vmapjvpall. It's useful to keep test_vmapjvp intact diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch new file mode 100644 index 00000000000..427eb9ca050 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_linear_fp32-without-MKL.patch @@ -0,0 +1,26 @@ +The test assumes PyTorch is compiled with MKL, so skip it if it is not. +See https://github.com/pytorch/pytorch/pull/113949 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/inductor/test_mkldnn_pattern_matcher.py b/test/inductor/test_mkldnn_pattern_matcher.py +index 0b5e2821aed..62e9774d864 100644 +--- a/test/inductor/test_mkldnn_pattern_matcher.py ++++ b/test/inductor/test_mkldnn_pattern_matcher.py +@@ -20,7 +20,7 @@ from torch.testing._internal.common_quantization import ( + skipIfNoDynamoSupport, + skipIfNoONEDNN, + ) +-from torch.testing._internal.common_utils import IS_LINUX, skipIfRocm ++from torch.testing._internal.common_utils import IS_LINUX, TEST_MKL, skipIfRocm + from torch.testing._internal.inductor_utils import HAS_CPU + + # The dict value is match_nodes(computation_op+unary_op) +@@ -236,6 +236,7 @@ class TestPatternMatcher(TestPatternMatcherBase): + mod, (v,), matcher_count, matcher_nodes, check_autocast=True + ) + ++ @unittest.skipIf(not TEST_MKL, "Test requires MKL") + def test_linear_fp32(self): + class M(torch.nn.Module): + def __init__(self, bias): diff --git a/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_wrap_bad.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_wrap_bad.patch new file mode 100644 index 00000000000..359b3e420ad --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.0_skip-test_wrap_bad.patch @@ -0,0 +1,69 @@ +test_wrap_bad in distributed/elastic/multiprocessing/api_test fails fails when executed with pytest, +e.g. when running via run_test.py. +Skip it. +See https://github.com/pytorch/pytorch/issues/115069 + +Author: Alexander Grund (TU Dresden) + +diff --git a/test/distributed/elastic/multiprocessing/api_test.py b/test/distributed/elastic/multiprocessing/api_test.py +index 6240fbe41d6..8fe6e3bc6d7 100644 +--- a/test/distributed/elastic/multiprocessing/api_test.py ++++ b/test/distributed/elastic/multiprocessing/api_test.py +@@ -42,6 +42,7 @@ from torch.testing._internal.common_utils import ( + TestCase, + run_tests, + skip_but_pass_in_sandcastle_if, ++ skip_if_pytest, + ) + + +@@ -661,6 +662,7 @@ if not (TEST_WITH_DEV_DBG_ASAN or IS_WINDOWS or IS_MACOS): + if not (TEST_WITH_DEV_DBG_ASAN or IS_WINDOWS or IS_MACOS or IS_CI): + + class StartProcessesNotCITest(StartProcessesTest): ++ @skip_if_pytest + def test_wrap_bad(self): + none = "" + stdout_log = os.path.join(self.test_dir, "stdout.log") +diff --git a/torch/_dynamo/testing.py b/torch/_dynamo/testing.py +index 79c869cc481..20605019005 100644 +--- a/torch/_dynamo/testing.py ++++ b/torch/_dynamo/testing.py +@@ -36,16 +36,6 @@ def clone_me(x): + return x.detach().clone().requires_grad_(x.requires_grad) + + +-def skip_if_pytest(fn): +- @functools.wraps(fn) +- def wrapped(*args, **kwargs): +- if "PYTEST_CURRENT_TEST" in os.environ: +- raise unittest.SkipTest("does not work under pytest") +- return fn(*args, **kwargs) +- +- return wrapped +- +- + def named_parameters_for_optimized_module(mod): + assert isinstance(mod, eval_frame.OptimizedModule) + return mod._orig_mod.named_parameters +diff --git a/torch/testing/_internal/common_utils.py b/torch/testing/_internal/common_utils.py +index 1e18ca2afec..db2766923ce 100644 +--- a/torch/testing/_internal/common_utils.py ++++ b/torch/testing/_internal/common_utils.py +@@ -1541,6 +1541,16 @@ def skipIfTBB(message="This test makes TBB sad"): + return dec_fn + + ++def skip_if_pytest(fn): ++ @wraps(fn) ++ def wrapped(*args, **kwargs): ++ if "PYTEST_CURRENT_TEST" in os.environ: ++ raise unittest.SkipTest("does not work under pytest") ++ return fn(*args, **kwargs) ++ ++ return wrapped ++ ++ + def slowTest(fn): + @wraps(fn) + def wrapper(*args, **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 new file mode 100644 index 00000000000..4c9324b7479 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022a.eb @@ -0,0 +1,180 @@ +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': '2022a'} + +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_fix-bufferoverflow-in-oneDNN.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_skip-memory-leak-test.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_fix-bufferoverflow-in-oneDNN.patch': + 'b15b1291a3c37bf6a4982cfbb3483f693acb46a67bc0912b383fd98baf540ccf'}, + {'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_skip-memory-leak-test.patch': '8d9841208e8a00a498295018aead380c360cf56e500ef23ca740adb5b36de142'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.23.1'), + ('hypothesis', '6.46.7'), + # For tests + ('pytest-flakefinder', '1.1.0'), + ('pytest-rerunfailures', '11.1'), + ('pytest-shard', '0.1.2'), + ('pytest-xdist', '2.5.0'), +] + +dependencies = [ + ('Ninja', '1.10.2'), # Required for JIT compilation of C++ extensions + ('Python', '3.10.4'), + ('protobuf', '3.19.4'), + ('protobuf-python', '3.19.4'), + ('pybind11', '2.9.2'), + ('SciPy-bundle', '2022.05'), + ('typing-extensions', '4.3.0'), + ('PyYAML', '6.0'), + ('MPFR', '4.1.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.14'), + ('FFmpeg', '4.4.2'), + ('Pillow', '9.1.1'), + ('expecttest', '0.1.3'), + ('networkx', '2.8.4'), + ('sympy', '1.10.1'), + ('Z3', '4.10.2', '-Python-%(pyver)s'), +] + +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-2022b.eb b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb new file mode 100644 index 00000000000..ee2c8731bb8 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2022b.eb @@ -0,0 +1,180 @@ +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': '2022b'} + +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-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_skip-memory-leak-test.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-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_skip-memory-leak-test.patch': '8d9841208e8a00a498295018aead380c360cf56e500ef23ca740adb5b36de142'}, + {'PyTorch-2.1.2_workaround_dynamo_failure_without_nnpack.patch': + 'fb96eefabf394617bbb3fbd3a7a7c1aa5991b3836edc2e5d2a30e708bfe49ba1'}, +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +builddependencies = [ + ('CMake', '3.24.3'), + ('hypothesis', '6.68.2'), + # 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.10.8'), + ('protobuf', '23.0'), + ('protobuf-python', '4.23.0'), + ('pybind11', '2.10.3'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('MPFR', '4.2.0'), + ('GMP', '6.2.1'), + ('numactl', '2.0.16'), + ('FFmpeg', '5.1.2'), + ('Pillow', '9.4.0'), + ('expecttest', '0.1.3'), + ('networkx', '3.0'), + ('sympy', '1.12'), + ('Z3', '4.12.2', '-Python-%(pyver)s'), +] + +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-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..65dfced1701 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,238 @@ +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-memory-leak-test.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-memory-leak-test.patch': '8d9841208e8a00a498295018aead380c360cf56e500ef23ca740adb5b36de142'}, + {'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..a79f709480c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023a.eb @@ -0,0 +1,184 @@ +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_skip-memory-leak-test.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_skip-memory-leak-test.patch': '8d9841208e8a00a498295018aead380c360cf56e500ef23ca740adb5b36de142'}, + {'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..bce1b68aa7b --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2-foss-2023b.eb @@ -0,0 +1,185 @@ +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_skip-memory-leak-test.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_skip-memory-leak-test.patch': '8d9841208e8a00a498295018aead380c360cf56e500ef23ca740adb5b36de142'}, + {'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-memory-leak-test.patch b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-memory-leak-test.patch new file mode 100644 index 00000000000..cbebd761d98 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch/PyTorch-2.1.2_skip-memory-leak-test.patch @@ -0,0 +1,17 @@ +Reports from various sites show that this test is unreliable. +As it is not critical just skip it. + +@Author: Alexander Grund (TU Dresden) + +diff --git a/test/test_jit.py b/test/test_jit.py +index 2cdc5413dfe..5b145458630 100644 +--- a/test/test_jit.py ++++ b/test/test_jit.py +@@ -12838,6 +12838,7 @@ dedent """ + data = reader.get_record(str(offset)) + assert(data == buffers[i]) + ++ @unittest.skip("The memory allocation tracking is not reliable on all systems") + def test_file_reader_no_memory_leak(self): + num_iters = 10000 + filename, _, _ = self._make_filereader_test_file() 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/PyTorch3D/PyTorch3D-0.4.0-fosscuda-2020b-PyTorch-1.7.1.eb b/easybuild/easyconfigs/p/PyTorch3D/PyTorch3D-0.4.0-fosscuda-2020b-PyTorch-1.7.1.eb new file mode 100644 index 00000000000..28c09209b9c --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorch3D/PyTorch3D-0.4.0-fosscuda-2020b-PyTorch-1.7.1.eb @@ -0,0 +1,51 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'PyTorch3D' +version = '0.4.0' +local_pytorch_version = '1.7.1' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = "https://pytorch3d.org/" +description = """PyTorch3D is FAIR's library of reusable components for deep learning with 3D data.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('tqdm', '4.56.2'), + ('PyTorch', local_pytorch_version), + ('imageio', '2.9.0'), + ('IPython', '7.18.1'), + ('torchvision', '0.8.2', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('portalocker', '2.3.0', { + 'checksums': ['4e913d807aa6598c320e8a50c50e2ee0602bc45240b485e3f8bc06f13060084c'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('yacs', '0.1.8', { + 'checksums': ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'], + }), + ('iopath', '0.1.8', { + 'source_tmpl': '%(namelower)s-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['e11029c30ee77616b3efd82888aa80941d12afcc5940c2ef57e04a8e93a10f9f'], + }), + ('fvcore', '0.1.5.post20210617', { + 'checksums': ['1f1fb91b82166f85ed0f7da8906e87688de9e1b4879b478dc3969d93d24f0379'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/facebookresearch/%(namelower)s/archive'], + 'checksums': ['6f33c45c8b698b068ff267287ad490dc2f8f48ad2f486175438b0426575e391a'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..65f3bd34e66 --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'PyTorchVideo' +version = '0.1.5' +local_pytorchver = '1.12.0' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)s' % local_pytorchver + +homepage = 'https://pytorchvideo.org/' +description = """PyTorchVideo is a deeplearning library with a focus on video understanding +work. PytorchVideo provides reusable, modular and efficient components needed +to accelerate the video understanding research. PyTorchVideo is developed +using PyTorch and supports different deeplearning video components like video +models, video datasets, and video-specific transforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', local_pytorchver, '-CUDA-%(cudaver)s'), + ('networkx', '2.8.4'), + ('parameterized', '0.9.0'), + ('PyAV', '10.0.0'), + ('Pillow', '9.1.1'), # required by fvcore + ('PyYAML', '6.0'), # required by fvcore + ('tqdm', '4.64.0'), # required by fvcore + ('YACS', '0.1.8'), # required by fvcore +] + +use_pip = True + +exts_list = [ + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('iopath', '0.1.10', { + 'checksums': ['3311c16a4d9137223e20f141655759933e1eda24f8bff166af834af3c645ef01'], + }), + ('fvcore', '0.1.5.post20221221', { + 'checksums': ['f2fb0bb90572ae651c11c78e20493ed19b2240550a7e4bbb2d6de87bdd037860'], + }), + ('pytorchvideo', version, { + 'checksums': ['69a3424c7feb70422da59d0cec17b56657984bd0ba8d5d78cad08a328cf6341b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..8854c10e34a --- /dev/null +++ b/easybuild/easyconfigs/p/PyTorchVideo/PyTorchVideo-0.1.5-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'PyTorchVideo' +version = '0.1.5' +local_pytorchver = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorchver + +homepage = 'https://pytorchvideo.org/' +description = """PyTorchVideo is a deeplearning library with a focus on video understanding +work. PytorchVideo provides reusable, modular and efficient components needed +to accelerate the video understanding research. PyTorchVideo is developed +using PyTorch and supports different deeplearning video components like video +models, video datasets, and video-specific transforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', local_pytorchver), + ('networkx', '2.8.4'), + ('parameterized', '0.9.0'), + ('PyAV', '10.0.0'), + ('Pillow', '9.1.1'), # required by fvcore + ('PyYAML', '6.0'), # required by fvcore + ('tqdm', '4.64.0'), # required by fvcore + ('YACS', '0.1.8'), # required by fvcore +] + +use_pip = True + +exts_list = [ + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('portalocker', '2.7.0', { + 'checksums': ['032e81d534a88ec1736d03f780ba073f047a06c478b06e2937486f334e955c51'], + }), + ('iopath', '0.1.10', { + 'checksums': ['3311c16a4d9137223e20f141655759933e1eda24f8bff166af834af3c645ef01'], + }), + ('fvcore', '0.1.5.post20221221', { + 'checksums': ['f2fb0bb90572ae651c11c78e20493ed19b2240550a7e4bbb2d6de87bdd037860'], + }), + ('pytorchvideo', version, { + 'checksums': ['69a3424c7feb70422da59d0cec17b56657984bd0ba8d5d78cad08a328cf6341b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..93af43ac5a9 --- /dev/null +++ b/easybuild/easyconfigs/p/PyVCF3/PyVCF3-1.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'PyVCF3' +version = '1.0.3' + +homepage = 'https://github.com/dridk/PyVCF3' +description = """A VCFv4.0 and 4.1 parser for Python. The intent of this module is to mimic the +csv module in the Python stdlib, as opposed to more flexible serialization +formats like JSON or YAML. vcf will attempt to parse the content of each record +based on the data types specified in the meta-information lines -- specifically +the ##INFO and ##FORMAT lines. If these lines are missing or incomplete, it +will check against the reserved types mentioned in the spec. Failing that, it +will just return strings. +PyVCF3 has been created because the Official PyVCF repository is no longer +maintained and do not accept any pull requests. This fork is for python 3 only +and has been published on pyPI as PyVCF3.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['4b16d71c8b97010487e2c939fb4d5707b7bbfa4e2b313df9dba3e372c5ba031d'], + 'modulename': 'vcf', + }), +] + +_pyvcf_scripts = ["vcf_filter.py", "vcf_melt", "vcf_sample_filter.py"] + +postinstallcmds = [ + # fix old scripts written for python 2, update is minor + "2to3 -w -n %%(installdir)s/bin/%s" % x for x in _pyvcf_scripts +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _pyvcf_scripts], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "vcf_filter.py --help", + "vcf_sample_filter.py --help" +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2022a.eb b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2022a.eb new file mode 100644 index 00000000000..6a80df15a1b --- /dev/null +++ b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2022a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'PyVista' +version = '0.43.8' + +homepage = 'https://docs.pyvista.org/' +description = """ +3D plotting and mesh analysis through a streamlined interface for the +Visualization Toolkit (VTK)""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('VTK', '9.2.2'), + ('imageio', '2.22.2'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), +] + +use_pip = True + +exts_list = [ + ('scooby', '0.10.0', { + 'checksums': ['7ea33c262c0cc6a33c6eeeb5648df787be4f22660e53c114e5fff1b811a8854f'], + }), + ('cmocean', '4.0.3', { + 'checksums': ['37868399fb5f41b4eac596e69803f9bfaea49946514dfb2e7f48886854250d7c'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + ('meshio', '5.3.5', { + 'checksums': ['f21f01abd9f29ba06ea119304b3d39e610421cfe93b9dd23362834919f87586d'], + }), + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('pyvista', version, { + 'use_pip_extras': 'colormaps,io', + 'checksums': ['b9220753ae94fb8ca3047d291a706a4046b06659016c0000c184b5f24504f8d0'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb new file mode 100644 index 00000000000..b89bae3b057 --- /dev/null +++ b/easybuild/easyconfigs/p/PyVista/PyVista-0.43.8-foss-2023a.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'PyVista' +version = '0.43.8' + +homepage = 'https://docs.pyvista.org/' +description = """ +3D plotting and mesh analysis through a streamlined interface for the +Visualization Toolkit (VTK)""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('VTK', '9.3.0'), + ('imageio', '2.33.1'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), +] + +use_pip = True + +exts_list = [ + ('scooby', '0.10.0', { + 'checksums': ['7ea33c262c0cc6a33c6eeeb5648df787be4f22660e53c114e5fff1b811a8854f'], + }), + ('cmocean', '4.0.3', { + 'checksums': ['37868399fb5f41b4eac596e69803f9bfaea49946514dfb2e7f48886854250d7c'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('meshio', '5.3.5', { + 'checksums': ['f21f01abd9f29ba06ea119304b3d39e610421cfe93b9dd23362834919f87586d'], + }), + ('pyvista', version, { + 'use_pip_extras': 'colormaps,io', + 'checksums': ['b9220753ae94fb8ca3047d291a706a4046b06659016c0000c184b5f24504f8d0'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2021b.eb b/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2021b.eb new file mode 100644 index 00000000000..c4f7abef078 --- /dev/null +++ b/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2021b.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'PyWBGT' +version = '1.0.0' + +homepage = 'https://github.com/QINQINKONG/PyWBGT' +description = """Cython source code for estimating wet bulb globe temperature (WBGT) from datasets of standard +meterological measurements using models developed by Liljegren et al (2008)""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('xarray', '0.20.1'), +] + +use_pip = True + +# strip out extra compiler flags -qopenmp and -Ofast, which cause trouble (GCC doesn't know about -qopenmp) +local_common_preinstallopts = r"""sed -i "s/'-qopenmp'//g" setup.py && sed -i "s/,'-Ofast'//g" setup.py && """ + +# inject correct version into setup.py to avoid 0.0.0 version in installation +local_common_preinstallopts += r"""sed -i "s/name=/version='%(version)s', name=/g" setup.py && """ + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + ('WBGT', version, { + 'source_urls': ['https://github.com/QINQINKONG/PyWBGT/archive/'], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'PyWBGT-%(version)s.tar.gz', + }], + 'checksums': ['476d18a65a1bce9bdd1e82076ecdbdeda199fd2fe3a2fbe0cc013d11d7b1b6e8'], + 'start_dir': 'src', + 'preinstallopts': "rm *.so && ln -s setupWBGT.py setup.py && " + local_common_preinstallopts, + 'modulename': 'WBGT', + }), + ('coszenith', version, { + 'source_urls': ['https://github.com/QINQINKONG/PyWBGT/archive/'], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'PyWBGT-%(version)s.tar.gz', + }], + 'checksums': ['476d18a65a1bce9bdd1e82076ecdbdeda199fd2fe3a2fbe0cc013d11d7b1b6e8'], + 'start_dir': 'src', + 'preinstallopts': "rm *.so && ln -s setupcoszenith.py setup.py && " + local_common_preinstallopts, + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2022a.eb b/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2022a.eb new file mode 100644 index 00000000000..112c19e53fa --- /dev/null +++ b/easybuild/easyconfigs/p/PyWBGT/PyWBGT-1.0.0-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'PyWBGT' +version = '1.0.0' + +homepage = 'https://github.com/QINQINKONG/PyWBGT' +description = """Cython source code for estimating wet bulb globe temperature (WBGT) from datasets of standard +meterological measurements using models developed by Liljegren et al (2008)""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), +] + +use_pip = True + +# strip out extra compiler flags -qopenmp and -Ofast, which cause trouble (GCC doesn't know about -qopenmp) +local_common_preinstallopts = r"""sed -i "s/'-qopenmp'//g" setup.py && sed -i "s/,'-Ofast'//g" setup.py && """ + +# inject correct version into setup.py to avoid 0.0.0 version in installation +local_common_preinstallopts += r"""sed -i "s/name=/version='%(version)s', name=/g" setup.py && """ + +exts_list = [ + ('cftime', '1.6.2', { + 'checksums': ['8614c00fb8a5046de304fdd86dbd224f99408185d7b245ac6628d0276596e6d2'], + }), + ('WBGT', version, { + 'source_urls': ['https://github.com/QINQINKONG/PyWBGT/archive/'], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'PyWBGT-%(version)s.tar.gz', + }], + 'checksums': ['476d18a65a1bce9bdd1e82076ecdbdeda199fd2fe3a2fbe0cc013d11d7b1b6e8'], + 'start_dir': 'src', + 'preinstallopts': "rm *.so && ln -s setupWBGT.py setup.py && " + local_common_preinstallopts, + 'modulename': 'WBGT', + }), + ('coszenith', version, { + 'source_urls': ['https://github.com/QINQINKONG/PyWBGT/archive/'], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'PyWBGT-%(version)s.tar.gz', + }], + 'checksums': ['476d18a65a1bce9bdd1e82076ecdbdeda199fd2fe3a2fbe0cc013d11d7b1b6e8'], + 'start_dir': 'src', + 'preinstallopts': "rm *.so && ln -s setupcoszenith.py setup.py && " + local_common_preinstallopts, + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb new file mode 100644 index 00000000000..5dda1d53259 --- /dev/null +++ b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.1.1-intelcuda-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'PyWavelets' +version = '1.1.1' + +homepage = 'https://pywavelets.readthedocs.io' +description = "PyWavelets is open source wavelet transform software for Python." + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for numpy +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'pywt'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.7.0-foss-2023a.eb b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.7.0-foss-2023a.eb new file mode 100644 index 00000000000..f68a1a2ba06 --- /dev/null +++ b/easybuild/easyconfigs/p/PyWavelets/PyWavelets-1.7.0-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'PyWavelets' +version = '1.7.0' + +homepage = 'https://pywavelets.readthedocs.io' +description = "PyWavelets is open source wavelet transform software for Python." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b47250e5bb853e37db5db423bafc82847f4cde0ffdf7aebb06336a993bc174f6'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy + ('meson-python', '0.13.2'), + ('Cython', '3.0.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'pywt'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..1e3db0a9e7f --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0-Python-2.7.18.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '5.4.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://github.com/yaml/pyyaml" +description = """PyYAML is a YAML parser and emitter for the Python programming language.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '2.7.18'), + ('libyaml', '0.2.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'yaml'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..85c970dbaf7 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-5.4.1-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '5.4.1' + +homepage = "https://github.com/yaml/pyyaml" +description = """PyYAML is a YAML parser and emitter for the Python programming language.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('libyaml', '0.2.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'yaml'} + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..a715d91e530 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), + ('libyaml', '0.2.5'), +] + +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/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a9baad89a06 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), + ('libyaml', '0.2.5'), +] + +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/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b373b0c8033 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('libyaml', '0.2.5'), + ('Python-bundle-PyPI', '2023.06'), +] + +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/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..23133f20f02 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0.1' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43'] + +builddependencies = [ + ('binutils', '2.40'), +] +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/PyYAML/PyYAML-6.0.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..50b9ad427e6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyYAML/PyYAML-6.0.2-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'PyYAML' +version = '6.0.2' + +homepage = 'https://github.com/yaml/pyyaml' +description = "PyYAML is a YAML parser and emitter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = ['https://github.com/yaml/pyyaml/archive/refs/tags/%(version)s.tar.gz'] +checksums = ['9377c381ac3fccad8df73d96b5139ef8b1a2c57a0d913e95ab0a2275d66b5caa'] + +builddependencies = [ + ('binutils', '2.42'), + ('Cython', '3.0.10'), +] +dependencies = [ + ('Python', '3.12.3'), + ('libyaml', '0.2.5'), + ('Python-bundle-PyPI', '2024.06'), +] + +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-22.3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-22.3.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..de5166f57a6 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-22.3.0-GCCcore-10.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '22.3.0' + +homepage = 'https://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8eddc033e716f8c91c6a2112f0a8ebc5e00532b4a6ae1eb0ccc48e027f9c671c'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('ZeroMQ', '4.3.4'), +] + +options = {'modulename': 'zmq'} + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e604581d052 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-24.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '24.0.1' + +homepage = 'https://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('ZeroMQ', '4.3.4'), +] + +options = {'modulename': 'zmq'} + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e3ee288bac1 --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '25.1.0' + +homepage = 'https://www.zeromq.org/bindings:python' +description = """Python bindings for ZeroMQ""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['80c41023465d36280e801564a69cbfce8ae85ff79b080e1913f6e90481fb8957'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('ZeroMQ', '4.3.4'), +] + +options = {'modulename': 'zmq'} + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..19a3a61687c --- /dev/null +++ b/easybuild/easyconfigs/p/PyZMQ/PyZMQ-25.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'PyZMQ' +version = '25.1.1' + +homepage = 'https://www.zeromq.org/bindings:python' +description = "Python bindings for ZeroMQ" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('ZeroMQ', '4.3.4'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True +options = {'modulename': 'zmq'} + +moduleclass = 'devel' 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/PycURL/PycURL-7.45.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..721db47c2b2 --- /dev/null +++ b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'PycURL' +version = '7.45.2' + +homepage = "http://pycurl.io/" +description = """PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL + from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of + features.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('cURL', '7.83.0'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..77dc8f48bc8 --- /dev/null +++ b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'PycURL' +version = '7.45.2' + +homepage = "http://pycurl.io/" +description = """PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL + from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of + features.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('cURL', '7.86.0'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2e8cc5dfd61 --- /dev/null +++ b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.2-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'PycURL' +version = '7.45.2' + +homepage = 'http://pycurl.io/' +description = """PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL + from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of + features.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.3'), + ('cURL', '8.0.1'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8c337a0cb79 --- /dev/null +++ b/easybuild/easyconfigs/p/PycURL/PycURL-7.45.3-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'PycURL' +version = '7.45.3' + +homepage = 'http://pycurl.io/' +description = """PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL + from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of + features.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8c2471af9079ad798e1645ec0b0d3d4223db687379d17dd36a70637449f81d6b'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('cURL', '8.3.0'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Pychopper/Pychopper-2.3.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/Pychopper/Pychopper-2.3.1-intel-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..02d9af193c6 --- /dev/null +++ b/easybuild/easyconfigs/p/Pychopper/Pychopper-2.3.1-intel-2019b-Python-3.7.4.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'Pychopper' +version = '2.3.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/nanoporetech/pychopper' +description = "A tool to identify, orient, trim and rescue full length cDNA reads." + +toolchain = {'name': 'intel', 'version': '2019b'} + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), # for pandas + ('matplotlib', '3.1.1', versionsuffix), + ('Biopython', '1.75', versionsuffix), + ('parasail', '2.4.1'), + ('python-parasail', '1.2', versionsuffix), + ('Seaborn', '0.10.0', versionsuffix), + ('tqdm', '4.41.1'), +] + +use_pip = True + +exts_list = [ + ('edlib', '1.3.8.post1', { + 'checksums': ['81bc688e8fc69d657a6b5067e104a0924b0217b7ab54547155278935d09346e0'], + }), + ('sphinx_rtd_theme', '0.4.3', { + 'checksums': ['728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/nanoporetech/pychopper/archive'], + 'checksums': ['ef92553c27a068baf18794a802c79fcc85554df4c9eec9da5e2e017dd6827e0a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pygments/Pygments-2.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Pygments/Pygments-2.18.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..54edd0b830e --- /dev/null +++ b/easybuild/easyconfigs/p/Pygments/Pygments-2.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'Pygments' +version = '2.18.0' + +homepage = 'https://pygments.org/' +description = """Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications + that need to prettify source code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_PY3_WHL] +checksums = ['b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a'] + +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/pygmentize'], + 'dirs': [], +} + +sanity_check_commands = ['pygmentize --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/Pylint/Pylint-2.17.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Pylint/Pylint-2.17.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3fe567849fd --- /dev/null +++ b/easybuild/easyconfigs/p/Pylint/Pylint-2.17.4-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Pylint' +version = '2.17.4' + +homepage = 'https://www.pylint.org/' +description = """Pylint is a tool that checks for errors in Python code, tries to enforce + a coding standard and looks for code smells. It can also look for certain type errors, + it can recommend suggestions about how particular blocks can be refactored and + can offer you details about the code's complexity.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('dill', '0.3.7', { + 'checksums': ['cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03'], + }), + ('lazy-object-proxy', '1.9.0', { + 'checksums': ['659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae'], + }), + ('wrapt', '1.15.0', { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), + ('astroid', '2.15.6', { + 'checksums': ['903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd'], + }), + ('isort', '5.12.0', { + 'checksums': ['8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504'], + }), + ('mccabe', '0.7.0', { + 'checksums': ['348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325'], + }), + ('pylint', version, { + 'checksums': ['5dcf1d9e19f41f38e4e85d10f511e5b9c35e1aa74251bf95cdd8cb23584e2db1'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pylint'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Pylint/Pylint-3.2.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Pylint/Pylint-3.2.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c919c6c4dd4 --- /dev/null +++ b/easybuild/easyconfigs/p/Pylint/Pylint-3.2.5-GCCcore-13.2.0.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'Pylint' +version = '3.2.5' + +homepage = 'https://www.pylint.org/' +description = """Pylint is a tool that checks for errors in Python code, tries to enforce + a coding standard and looks for code smells. It can also look for certain type errors, + it can recommend suggestions about how particular blocks can be refactored and + can offer you details about the code's complexity.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.6.1'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True + +exts_list = [ + ('dill', '0.3.8', { + 'checksums': ['3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca'], + }), + ('platformdirs', '4.2.2', { + 'checksums': ['38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'], + }), + ('tomlkit', '0.12.5', { + 'checksums': ['eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c'], + }), + ('astroid', '3.2.2', { + 'checksums': ['8ead48e31b92b2e217b6c9733a21afafe479d52d6e164dd25fb1a770c7c3cf94'], + }), + ('isort', '5.13.2', { + 'checksums': ['48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109'], + }), + ('mccabe', '0.7.0', { + 'checksums': ['348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325'], + }), + ('pylint', version, { + 'checksums': ['e9b7171e242dcc6ebd0aaa7540481d1a72860748a0a7816b8fe6cf6c80a6fe7e'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pylint'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2020b.eb b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2020b.eb new file mode 100644 index 00000000000..d6de3792fcf --- /dev/null +++ b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2020b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'Pyomo' +version = '6.0.1' + +homepage = 'https://www.pyomo.org/' +description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization + capabilities for formulating and analyzing optimization models. """ + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('GLPK', '4.65'), # Optional solver backend + ('Cbc', '2.10.5'), # Optional solver backend +] + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('PyUtilib', '6.0.0', { + 'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'], + }), + (name, version, { + 'checksums': ['4b27bc917b12a6011e7eb3442a54619f0f42f1087d4defa14b903dd985fdbe7c'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pyomo -h'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2021a.eb b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2021a.eb new file mode 100644 index 00000000000..d3869bc4a6d --- /dev/null +++ b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.0.1-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Pyomo' +version = '6.0.1' + +homepage = 'https://www.pyomo.org/' +description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization + capabilities for formulating and analyzing optimization models. """ + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [('Python', '3.9.5')] + +exts_list = [ + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('PyUtilib', '6.0.0', { + 'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'], + }), + (name, version, { + 'checksums': ['4b27bc917b12a6011e7eb3442a54619f0f42f1087d4defa14b903dd985fdbe7c'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pyomo -h'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pyomo/Pyomo-6.4.2-foss-2022a.eb b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.4.2-foss-2022a.eb new file mode 100644 index 00000000000..f9c607a6ed0 --- /dev/null +++ b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.4.2-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'Pyomo' +version = '6.4.2' + +homepage = 'https://www.pyomo.org/' +description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization + capabilities for formulating and analyzing optimization models. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [('Python', '3.10.4')] + +exts_list = [ + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('PyUtilib', '6.0.0', { + 'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'], + 'preinstallopts': """sed -i "s/'nose',//g" setup.py && """, + }), + (name, version, { + 'checksums': ['6f5a867e77bdd6ac2ba0da5d4a251e38543ae05eba5a0c5cf8ab39e7fa8e1ea9'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pyomo -h'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pyomo/Pyomo-6.5.0-foss-2022b.eb b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.5.0-foss-2022b.eb new file mode 100644 index 00000000000..c924968a115 --- /dev/null +++ b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.5.0-foss-2022b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'Pyomo' +version = '6.5.0' + +homepage = 'https://www.pyomo.org/' +description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization + capabilities for formulating and analyzing optimization models. """ + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('mpi4py', '3.1.4'), +] + +exts_list = [ + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('PyUtilib', '6.0.0', { + 'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'], + 'preinstallopts': """sed -i "s/'nose',//g" setup.py && """, + }), + (name, version, { + 'checksums': ['5a23e775bba9fdbad22698fa1a841e662482edc979f2dea41cc6c54b1bb4b968'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pyomo -h'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pyomo/Pyomo-6.7.3-foss-2023a.eb b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.7.3-foss-2023a.eb new file mode 100644 index 00000000000..64ee6de4f2b --- /dev/null +++ b/easybuild/easyconfigs/p/Pyomo/Pyomo-6.7.3-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Pyomo' +version = '6.7.3' + +homepage = 'https://www.pyomo.org/' +description = """ Pyomo is a Python-based open-source software package that supports a diverse set of optimization + capabilities for formulating and analyzing optimization models. """ + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('mpi4py', '3.1.4'), + ('PLY', '3.11'), +] + +exts_list = [ + ('PyUtilib', '6.0.0', { + 'preinstallopts': """sed -i "s/'nose',//g" setup.py && """, + 'checksums': ['d3c14f8ed9028a831b2bf51b8ab7776eba87e66cfc58a06b99c359aaa640f040'], + }), + (name, version, { + 'checksums': ['b7f0441c405af4f42f38527ae38826a5c0a4984dd7bea1fe07172789d8594770'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pyomo -h'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.15.1-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.15.1-intel-2018b-Python-3.6.6.eb index df802ef6580..6a5c8973e66 100644 --- a/easybuild/easyconfigs/p/Pysam/Pysam-0.15.1-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.15.1-intel-2018b-Python-3.6.6.eb @@ -34,9 +34,6 @@ dependencies = [ download_dep_fail = True use_pip = True -sanity_check_paths = { - 'files': [], - 'dirs': ['lib/python%(pyshortver)s/site-packages'], -} +sanity_pip_check = True moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.16.0.1-GCC-10.3.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.16.0.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..4198d10d48c --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.16.0.1-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 0.9.1.4: +# Modified by: Adam Huffman +# The Francis Crick Institute +# Modified by: Erich Birngruber +# Gregor Mendel Institute + +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.16.0.1' + +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': '10.3.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a61e98e299fa93ba121aab521081282b61bc978bb9052d33b26b38f8fe15573e'] + +dependencies = [ + ('Python', '3.9.5'), + ('ncurses', '6.2'), + ('cURL', '7.76.0'), + ('XZ', '5.2.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..2b1c61cd8ce --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,41 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 0.9.1.4: +# Modified by: Adam Huffman +# The Francis Crick Institute +# Modified by: Erich Birngruber +# Gregor Mendel Institute +# updated to 0.1.0. +# J. Sassmannshausen / GSTT +# +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.17.0' +versionsuffix = '-Python-%(pyver)s' + +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': '11.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f4d697e322d12f239c96c263374bad2b40fd95bff34841ab9515e3de9e3e7cca'] + +dependencies = [ + ('Python', '2.7.18'), + ('ncurses', '6.2'), + ('cURL', '7.78.0'), + ('XZ', '5.2.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..a73df684da9 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.17.0-GCC-11.2.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# 0.9.1.4: +# Modified by: Adam Huffman +# The Francis Crick Institute +# Modified by: Erich Birngruber +# Gregor Mendel Institute +# updated to 0.1.0. +# J. Sassmannshausen / GSTT +# +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.17.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': '11.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f4d697e322d12f239c96c263374bad2b40fd95bff34841ab9515e3de9e3e7cca'] + +dependencies = [ + ('Python', '3.9.6'), + ('ncurses', '6.2'), + ('cURL', '7.78.0'), + ('XZ', '5.2.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.18.0-GCC-11.2.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.18.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..1ce324df851 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.18.0-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.18.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': '11.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['db1ddf41639e4dbb3f94cc9afb14e879bff15690de5b713dec3a81e43f6fa131'] + +dependencies = [ + ('Python', '3.9.6'), + ('ncurses', '6.2'), + ('cURL', '7.78.0'), + ('XZ', '5.2.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.19.1-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.19.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..ba8af04da92 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.19.1-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.19.1' + +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': '11.3.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c33a51324fc4191bbfb135e93bf0c9b85ac9dad1320fb852a8af47c38626e37a'] + +dependencies = [ + ('Python', '3.10.4'), + ('ncurses', '6.3'), + ('cURL', '7.83.0'), + ('XZ', '5.2.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb new file mode 100755 index 00000000000..3420c765f84 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.20.0-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.20.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': '11.3.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5a25d95b986c2cb9f5040b9df4e1d93ce9a8bc3af5a956b1317416ed05269f60'] + +dependencies = [ + ('Python', '3.10.4'), + ('ncurses', '6.3'), + ('cURL', '7.83.0'), + ('XZ', '5.2.5'), +] + +# https://github.com/pysam-developers/pysam/issues/1146#issuecomment-1309421979 +preinstallopts = """export CFLAGS="-fPIC $CFLAGS" && """ +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Pysam/Pysam-0.21.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.21.0-GCC-12.2.0.eb new file mode 100755 index 00000000000..abaae145a96 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.21.0-GCC-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Pysam' +version = '0.21.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.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b0c0d1d621892a0acea3d3dbf27564353b088d5bf6ee68852b1b8f3a408ccdf'] + +dependencies = [ + ('Python', '3.10.8'), + ('ncurses', '6.3'), + ('cURL', '7.86.0'), + ('XZ', '5.2.7'), +] + +# https://github.com/pysam-developers/pysam/issues/1146#issuecomment-1309421979 +preinstallopts = """export CFLAGS="-fPIC $CFLAGS" && """ +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' 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/Pysam/Pysam-0.22.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..41ccf5a3458 --- /dev/null +++ b/easybuild/easyconfigs/p/Pysam/Pysam-0.22.0-GCC-13.2.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': '13.2.0'} + +source_urls = ['https://github.com/pysam-developers/pysam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['61b3377c5f889ddc6f6979912c3bb960d7e08407dada9cb38f13955564ea036f'] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('ncurses', '6.4'), + ('cURL', '8.3.0'), + ('XZ', '5.4.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.10-bist-1.3.6-compatibility.patch b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.10-bist-1.3.6-compatibility.patch new file mode 100644 index 00000000000..a19979e4909 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.10-bist-1.3.6-compatibility.patch @@ -0,0 +1,182 @@ +From 4b88010f208080173d0976d271d4c3100bfbef17 Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Thu, 18 Nov 2021 13:42:17 -0400 +Subject: [PATCH 1/2] Python 3.10 support: use Py_SET_REFCNT() + +Py_REFCNT() is no longer an lvalue; use Py_SET_REFCNT() instead. +--- + blist/_blist.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/blist/_blist.c b/blist/_blist.c +index f7fcb60..cacd6f2 100644 +--- a/blist/_blist.c ++++ b/blist/_blist.c +@@ -6589,7 +6589,7 @@ py_blist_sort(PyBListRoot *self, PyObject *args, PyObject *kwds) + memcpy(&saved.BLIST_FIRST_FIELD, &self->BLIST_FIRST_FIELD, + sizeof(*self) - offsetof(PyBListRoot, BLIST_FIRST_FIELD)); + Py_TYPE(&saved) = &PyRootBList_Type; +- Py_REFCNT(&saved) = 1; ++ Py_SET_REFCNT(&saved, 1); + + if (extra_list != NULL) { + self->children = extra_list; + +From fddb7837e2094560789a09790360feb75f06ed86 Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Thu, 18 Nov 2021 13:42:42 -0400 +Subject: [PATCH 2/2] Python 3.10 support: use collections.abc.MutableSet + +collections.MutableSet is obsolete, replaced by +collections.abc.MutableSet. +--- + blist/__init__.py | 2 +- + blist/_btuple.py | 2 +- + blist/_sorteddict.py | 8 ++++---- + blist/_sortedlist.py | 24 ++++++++++++------------ + blist/test/sortedlist_tests.py | 4 ++-- + 5 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/blist/__init__.py b/blist/__init__.py +index 931aaac..38c01a9 100644 +--- a/blist/__init__.py ++++ b/blist/__init__.py +@@ -1,6 +1,6 @@ + __version__ = '1.3.6' + from blist._blist import * +-import collections ++import collections.abc as collections + if hasattr(collections, 'MutableSet'): # Only supported in Python 2.6+ + from blist._sortedlist import sortedlist, sortedset, weaksortedlist, weaksortedset + from blist._sorteddict import sorteddict +diff --git a/blist/_btuple.py b/blist/_btuple.py +index 1e409cd..3a17972 100644 +--- a/blist/_btuple.py ++++ b/blist/_btuple.py +@@ -1,7 +1,7 @@ + from blist._blist import blist + from ctypes import c_int + import collections +-class btuple(collections.Sequence): ++class btuple(collections.abc.Sequence): + def __init__(self, seq=None): + if isinstance(seq, btuple): + self._blist = seq._blist +diff --git a/blist/_sorteddict.py b/blist/_sorteddict.py +index fcdf7e4..daa132c 100644 +--- a/blist/_sorteddict.py ++++ b/blist/_sorteddict.py +@@ -6,7 +6,7 @@ class missingdict(dict): + def __missing__(self, key): + return self._missing(key) + +-class KeysView(collections.KeysView, collections.Sequence): ++class KeysView(collections.abc.KeysView, collections.abc.Sequence): + def __getitem__(self, index): + return self._mapping._sortedkeys[index] + def __reversed__(self): +@@ -23,7 +23,7 @@ def bisect_right(self, key): + return self._mapping._sortedkeys.bisect_right(key) + bisect = bisect_right + +-class ItemsView(collections.ItemsView, collections.Sequence): ++class ItemsView(collections.abc.ItemsView, collections.abc.Sequence): + def __getitem__(self, index): + if isinstance(index, slice): + keys = self._mapping._sortedkeys[index] +@@ -46,7 +46,7 @@ def _from_iterable(self, it): + else: + return sortedset(it, key=lambda item: keyfunc(item[0])) + +-class ValuesView(collections.ValuesView, collections.Sequence): ++class ValuesView(collections.abc.ValuesView, collections.abc.Sequence): + def __getitem__(self, index): + if isinstance(index, slice): + keys = self._mapping._sortedkeys[index] +@@ -54,7 +54,7 @@ def __getitem__(self, index): + key = self._mapping._sortedkeys[index] + return self._mapping[key] + +-class sorteddict(collections.MutableMapping): ++class sorteddict(collections.abc.MutableMapping): + def __init__(self, *args, **kw): + if hasattr(self, '__missing__'): + self._map = missingdict() +diff --git a/blist/_sortedlist.py b/blist/_sortedlist.py +index b34f69e..7b8a2f3 100644 +--- a/blist/_sortedlist.py ++++ b/blist/_sortedlist.py +@@ -25,7 +25,7 @@ def __exit__(self, exc_type, exc_val, exc_tb): + del self.local.repr_count[self.ob_id] + return False + +-class _sortedbase(collections.Sequence): ++class _sortedbase(collections.abc.Sequence): + def __init__(self, iterable=(), key=None): + self._key = key + if key is not None and not hasattr(key, '__call__'): +@@ -428,23 +428,23 @@ def __iter__(self): + + def safe_cmp(f): + def g(self, other): +- if not isinstance(other, collections.Set): ++ if not isinstance(other, collections.abc.Set): + raise TypeError("can only compare to a set") + return f(self, other) + return g + +-class _setmixin2(collections.MutableSet): +- "methods that override or supplement the collections.MutableSet methods" ++class _setmixin2(collections.abc.MutableSet): ++ "methods that override or supplement the collections.abc.MutableSet methods" + +- __ror__ = collections.MutableSet.__or__ +- __rand__ = collections.MutableSet.__and__ +- __rxor__ = collections.MutableSet.__xor__ ++ __ror__ = collections.abc.MutableSet.__or__ ++ __rand__ = collections.abc.MutableSet.__and__ ++ __rxor__ = collections.abc.MutableSet.__xor__ + + if sys.version_info[0] < 3: # pragma: no cover +- __lt__ = safe_cmp(collections.MutableSet.__lt__) +- __gt__ = safe_cmp(collections.MutableSet.__gt__) +- __le__ = safe_cmp(collections.MutableSet.__le__) +- __ge__ = safe_cmp(collections.MutableSet.__ge__) ++ __lt__ = safe_cmp(collections.abc.MutableSet.__lt__) ++ __gt__ = safe_cmp(collections.abc.MutableSet.__gt__) ++ __le__ = safe_cmp(collections.abc.MutableSet.__le__) ++ __ge__ = safe_cmp(collections.abc.MutableSet.__ge__) + + def __ior__(self, it): + if self is it: +@@ -476,7 +476,7 @@ def __rsub__(self, other): + return self._from_iterable(other) - self + + def _make_set(self, iterable): +- if isinstance(iterable, collections.Set): ++ if isinstance(iterable, collections.abc.Set): + return iterable + return self._from_iterable(iterable) + +diff --git a/blist/test/sortedlist_tests.py b/blist/test/sortedlist_tests.py +index 1cff8b9..ad392e9 100644 +--- a/blist/test/sortedlist_tests.py ++++ b/blist/test/sortedlist_tests.py +@@ -29,7 +29,7 @@ def test_empty_repr(self): + repr(self.type2test())) + + def validate_comparison(self, instance): +- if sys.version_info[0] < 3 and isinstance(instance, collections.Set): ++ if sys.version_info[0] < 3 and isinstance(instance, collections.abc.Set): + ops = ['ne', 'or', 'and', 'xor', 'sub'] + else: + ops = ['lt', 'gt', 'le', 'ge', 'ne', 'or', 'and', 'xor', 'sub'] +@@ -185,7 +185,7 @@ def __cmp__(self, other): # pragma: no cover + def test_order(self): + stuff = [self.build_item(random.randrange(1000000)) + for i in range(1000)] +- if issubclass(self.type2test, collections.Set): ++ if issubclass(self.type2test, collections.abc.Set): + stuff = set(stuff) + sorted_stuff = list(sorted(stuff)) + u = self.type2test diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.11-bist-1.3.6-compatibility.patch b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.11-bist-1.3.6-compatibility.patch new file mode 100644 index 00000000000..b77df275ef6 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3.11-bist-1.3.6-compatibility.patch @@ -0,0 +1,56 @@ +From: Stefano Rivera +Date: Tue, 15 Nov 2022 20:43:01 +0200 +Subject: Python 3.11 support + +Since Py_TYPE() is changed to a inline static function, Py_TYPE(obj) = new_type +must be replaced with Py_SET_TYPE(obj, new_type): see the Py_SET_TYPE() function +(available since Python 3.9) + +See: bpo-39573 +Forwarded: https://github.com/DanielStutzbach/blist/pull/101 +Bug-Debian: https://bugs.debian.org/1023905 +--- + blist/_blist.c | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/blist/_blist.c b/blist/_blist.c +index 71321e3..1ae7f5e 100644 +--- a/blist/_blist.c ++++ b/blist/_blist.c +@@ -130,6 +130,12 @@ + + #endif + ++#if PY_VERSION_HEX < 0x030900A4 && !defined(Py_SET_TYPE) ++static inline void _Py_SET_TYPE(PyObject *ob, PyTypeObject *type) ++{ ob->ob_type = type; } ++#define Py_SET_TYPE(ob, type) _Py_SET_TYPE((PyObject*)(ob), type) ++#endif ++ + #ifndef BLIST_IN_PYTHON + #include "blist.h" + #endif +@@ -6594,7 +6600,7 @@ py_blist_sort(PyBListRoot *self, PyObject *args, PyObject *kwds) + memset(&saved, 0, offsetof(PyBListRoot, BLIST_FIRST_FIELD)); + memcpy(&saved.BLIST_FIRST_FIELD, &self->BLIST_FIRST_FIELD, + sizeof(*self) - offsetof(PyBListRoot, BLIST_FIRST_FIELD)); +- Py_TYPE(&saved) = &PyRootBList_Type; ++ Py_SET_TYPE(&saved, &PyRootBList_Type); + Py_SET_REFCNT(&saved, 1); + + if (extra_list != NULL) { +@@ -7381,10 +7387,10 @@ init_blist_types1(void) + decref_init(); + highest_set_bit_init(); + +- Py_TYPE(&PyBList_Type) = &PyType_Type; +- Py_TYPE(&PyRootBList_Type) = &PyType_Type; +- Py_TYPE(&PyBListIter_Type) = &PyType_Type; +- Py_TYPE(&PyBListReverseIter_Type) = &PyType_Type; ++ Py_SET_TYPE(&PyBList_Type, &PyType_Type); ++ Py_SET_TYPE(&PyRootBList_Type, &PyType_Type); ++ Py_SET_TYPE(&PyBListIter_Type, &PyType_Type); ++ Py_SET_TYPE(&PyBListReverseIter_Type, &PyType_Type); + + Py_INCREF(&PyBList_Type); + Py_INCREF(&PyRootBList_Type); diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch new file mode 100644 index 00000000000..41967a2a390 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch @@ -0,0 +1,238 @@ +From d816f8c30cc15b1a7cdc9fa855ff919359069fb3 Mon Sep 17 00:00:00 2001 +From: "H. Vetinari" +Date: Tue, 13 Oct 2020 16:34:17 +0200 +Subject: [PATCH 4/4] compatibility with PEP 620 + +--- + blist/_blist.c | 8 +- + blist/pythoncapi_compat.h | 192 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 199 insertions(+), 1 deletion(-) + create mode 100644 blist/pythoncapi_compat.h + +diff --git a/blist/_blist.c b/blist/_blist.c +index fee7b1a..9fdf178 100644 +--- a/blist/_blist.c ++++ b/blist/_blist.c +@@ -98,7 +98,7 @@ + #endif + #endif + +-/* This macro is defined in Python 3. We need it since calling ++/* This macro is defined in Python<3.9. We need it since calling + * PyObject_GC_UnTrack twice is unsafe. */ + /* True if the object is currently tracked by the GC. */ + #define _PyObject_GC_IS_TRACKED(o) \ +@@ -122,6 +122,12 @@ + #define PyInt_AsLong PyLong_AsLong + #define PyInt_AsSsize_t PyLong_AsSsize_t + #define PyInt_FromLong PyLong_FromLong ++#if PY_MINOR_VERSION > 8 ++/* _PyObject_GC_IS_TRACKED was removed from Python 3.9, re-add it; ++ * see PEP 620 and https://github.com/pythoncapi/pythoncapi_compat */ ++#include "pythoncapi_compat.h" ++#define _PyObject_GC_IS_TRACKED(o) PyObject_GC_IsTracked((PyObject*)(o)) ++#endif + #endif + + #ifndef BLIST_IN_PYTHON +diff --git a/blist/pythoncapi_compat.h b/blist/pythoncapi_compat.h +new file mode 100644 +index 0000000..a255b3a +--- /dev/null ++++ b/blist/pythoncapi_compat.h +@@ -0,0 +1,192 @@ ++/* Header file providing new functions of the Python C API ++ for old Python versions. ++ ++ File distributed under the MIT license. ++ Homepage: https://github.com/pythoncapi/pythoncapi_compat. ++*/ ++ ++#ifndef PYTHONCAPI_COMPAT ++#define PYTHONCAPI_COMPAT ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include ++#include "frameobject.h" // PyFrameObject ++ ++ ++// bpo-39573: Py_TYPE(), Py_REFCNT() and Py_SIZE() can no longer be used ++// as l-value in Python 3.10. ++#if PY_VERSION_HEX < 0x030900A4 ++static inline void _Py_SET_REFCNT(PyObject *ob, Py_ssize_t refcnt) ++{ ++ ob->ob_refcnt = refcnt; ++} ++#define Py_SET_REFCNT(ob, refcnt) _Py_SET_REFCNT((PyObject*)(ob), refcnt) ++ ++ ++static inline void ++_Py_SET_TYPE(PyObject *ob, PyTypeObject *type) ++{ ++ ob->ob_type = type; ++} ++#define Py_SET_TYPE(ob, type) _Py_SET_TYPE((PyObject*)(ob), type) ++ ++static inline void ++_Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) ++{ ++ ob->ob_size = size; ++} ++#define Py_SET_SIZE(ob, size) _Py_SET_SIZE((PyVarObject*)(ob), size) ++ ++#endif // PY_VERSION_HEX < 0x030900A4 ++ ++ ++#if PY_VERSION_HEX < 0x030900B1 ++static inline PyCodeObject* ++PyFrame_GetCode(PyFrameObject *frame) ++{ ++ assert(frame != NULL); ++ PyCodeObject *code = frame->f_code; ++ assert(code != NULL); ++ Py_INCREF(code); ++ return code; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900B1 ++static inline PyFrameObject* ++PyFrame_GetBack(PyFrameObject *frame) ++{ ++ assert(frame != NULL); ++ PyFrameObject *back = frame->f_back; ++ Py_XINCREF(back); ++ return back; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A5 ++static inline PyInterpreterState * ++PyThreadState_GetInterpreter(PyThreadState *tstate) ++{ ++ assert(tstate != NULL); ++ return tstate->interp; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900B1 ++static inline PyFrameObject* ++PyThreadState_GetFrame(PyThreadState *tstate) ++{ ++ assert(tstate != NULL); ++ PyFrameObject *frame = tstate->frame; ++ Py_XINCREF(frame); ++ return frame; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A5 ++static inline PyInterpreterState * ++PyInterpreterState_Get(void) ++{ ++ PyThreadState *tstate = PyThreadState_GET(); ++ if (tstate == NULL) { ++ Py_FatalError("GIL released (tstate is NULL)"); ++ } ++ PyInterpreterState *interp = tstate->interp; ++ if (interp == NULL) { ++ Py_FatalError("no current interpreter"); ++ } ++ return interp; ++} ++#endif ++ ++ ++#if 0x030700A1 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x030900A6 ++static inline uint64_t ++PyThreadState_GetID(PyThreadState *tstate) ++{ ++ assert(tstate != NULL); ++ return tstate->id; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A1 ++static inline PyObject* ++PyObject_CallNoArgs(PyObject *func) ++{ ++ return PyObject_CallFunctionObjArgs(func, NULL); ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A4 ++static inline PyObject* ++PyObject_CallOneArg(PyObject *func, PyObject *arg) ++{ ++ return PyObject_CallFunctionObjArgs(func, arg, NULL); ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A5 ++static inline int ++PyModule_AddType(PyObject *module, PyTypeObject *type) ++{ ++ if (PyType_Ready(type) < 0) { ++ return -1; ++ } ++ ++ // inline _PyType_Name() ++ const char *name = type->tp_name; ++ assert(name != NULL); ++ const char *dot = strrchr(name, '.'); ++ if (dot != NULL) { ++ name = dot + 1; ++ } ++ ++ Py_INCREF(type); ++ if (PyModule_AddObject(module, name, (PyObject *)type) < 0) { ++ Py_DECREF(type); ++ return -1; ++ } ++ ++ return 0; ++} ++#endif ++ ++ ++#if PY_VERSION_HEX < 0x030900A6 ++static inline int ++PyObject_GC_IsTracked(PyObject* obj) ++{ ++ return (PyObject_IS_GC(obj) && _PyObject_GC_IS_TRACKED(obj)); ++} ++ ++static inline int ++PyObject_GC_IsFinalized(PyObject *obj) ++{ ++ return (PyObject_IS_GC(obj) && _PyGCHead_FINALIZED((PyGC_Head *)(obj)-1)); ++} ++#endif // PY_VERSION_HEX < 0x030900A6 ++ ++ ++#if PY_VERSION_HEX < 0x030900A4 ++static inline int ++_Py_IS_TYPE(const PyObject *ob, const PyTypeObject *type) { ++ return ob->ob_type == type; ++} ++#define Py_IS_TYPE(ob, type) _Py_IS_TYPE((const PyObject*)(ob), type) ++#endif ++ ++ ++#ifdef __cplusplus ++} ++#endif ++#endif // PYTHONCAPI_COMPAT +-- +2.26.2.windows.1 + 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 new file mode 100644 index 00000000000..808285d9f26 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.06-GCCcore-12.3.0.eb @@ -0,0 +1,473 @@ +easyblock = 'PythonBundle' + +name = 'Python-bundle-PyPI' +version = '2023.06' + +homepage = 'https://python.org/' +description = "Bundle of Python packages from PyPI" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('UnZip', '6.0'), + ('pkgconf', '1.9.5'), + ('git', '2.41.0', '-nodocs'), # required for pbr + ('hatchling', '1.18.0'), + ('poetry', '1.5.1'), + ('scikit-build', '0.17.6'), + ('flit', '3.9.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('cryptography', '41.0.1'), + ('virtualenv', '20.23.1'), +] + +sanity_pip_check = True +use_pip = True + +# order is important! +# package versions updated 2023-06-26 +exts_list = [ + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + 'Python-3.11-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'}, + {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch': + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'}, + {'Python-3.10-bist-1.3.6-compatibility.patch': + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'}, + {'Python-3.11-bist-1.3.6-compatibility.patch': + 'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'}, + ], + }), + ('pbr', '5.11.1', { + 'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'], + }), + ('Cython', '0.29.35', { + 'checksums': ['6e381fa0bf08b3c26ec2f616b19ae852c06f5750f4290118bf986b6f85c8c527'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.18.0', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['c9adee653fc882d98956e33ca2c1fb582e23a8af7ac82fee75bd6113c55a0413'], + }), + ('ecdsa', '0.18.0', { + 'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.15.1', { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + ('pyasn1', '0.5.0', { + 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('pyparsing', '3.1.0', { + 'checksums': ['edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('mock', '5.0.2', { + 'checksums': ['06f18d7d65b44428202b145a9a36e99c2ee00d1eb992df0caf881d4664377891'], + }), + ('pytz', '2023.3', { + 'checksums': ['1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588'], + }), + ('bitstring', '4.0.2', { + 'checksums': ['a391db8828ac4485dd5ce72c80b27ebac3e7b989631359959e310cd9729723b2'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.6', { + 'checksums': ['14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46'], + }), + ('zipp', '3.15.0', { + 'checksums': ['112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b'], + }), + ('importlib_metadata', '6.7.0', { + 'checksums': ['1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4'], + }), + ('backports.entry-points-selectable', '1.2.0', { + 'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'], + 'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'], + }), + ('pathspec', '0.11.1', { + 'checksums': ['2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687'], + }), + ('pluggy', '1.2.0', { + 'checksums': ['d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3'], + }), + ('editables', '0.3', { + 'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'], + }), + ('filelock', '3.12.2', { + 'checksums': ['002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81'], + }), + ('platformdirs', '3.8.0', { + 'checksums': ['b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib_resources', '5.12.0', { + 'checksums': ['4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + ('chardet', '5.1.0', { + 'checksums': ['0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5'], + }), + ('certifi', '2023.5.7', { + 'checksums': ['0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7'], + }), + # poetry 1.5.1 has requirement urllib3<2.0.0,>=1.26.0 + ('urllib3', '1.26.16', { + 'checksums': ['8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14'], + }), + ('charset-normalizer', '3.1.0', { + 'checksums': ['34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.14', { + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('ujson', '5.8.0', { + 'checksums': ['78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '9.1.0', { + 'checksums': ['cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d'], + }), + ('attrs', '23.1.0', { + 'modulename': 'attr', + 'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'], + }), + ('backports.functools_lru_cache', '1.6.5', { + 'checksums': ['e7efcdd8cf92279bcb09fdb9b31e984ffdc96fc9f21e22ff20538884cb99b97d'], + }), + ('wcwidth', '0.2.6', { + 'checksums': ['a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0'], + }), + ('iniconfig', '2.0.0', { + 'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'], + }), + ('colorama', '0.4.6', { + 'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'], + }), + ('exceptiongroup', '1.1.1', { + 'checksums': ['d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785'], + }), + ('pytest', '7.4.0', { + 'checksums': ['b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a'], + }), + ('MarkupSafe', '2.1.3', { + 'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'], + }), + ('Jinja2', '3.1.2', { + 'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'], + }), + ('sphinxcontrib-serializinghtml', '1.1.5', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'], + }), + ('sphinxcontrib-websupport', '1.2.4', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], + }), + ('Pygments', '2.15.1', { + 'checksums': ['8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c'], + }), + ('imagesize', '1.4.1', { + 'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'], + }), + ('docutils', '0.20.1', { + 'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.13', { + 'checksums': ['a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2'], + }), + ('sphinxcontrib-applehelp', '1.0.4', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e'], + }), + ('sphinxcontrib-devhelp', '1.0.2', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], + }), + ('sphinxcontrib-htmlhelp', '2.0.1', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.3', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], + }), + ('Babel', '2.12.1', { + 'checksums': ['cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455'], + }), + ('Sphinx', '7.0.1', { + 'checksums': ['61e025f788c5977d9412587e733733a289e2b9fdc2fef8868ddfbfc4ccfe881d'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.3', { + 'checksums': ['7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e'], + }), + ('psutil', '5.9.5', { + 'checksums': ['5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c'], + }), + ('future', '0.18.3', { + 'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('regex', '2023.6.3', { + 'checksums': ['72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + # clikit 0.6.2 has requirement crashtest<0.4.0,>=0.3.0 + # but poetry 1.5.1 has requirement crashtest>=0.4.1 + # and cleo 2.0.1 has requirement crashtest>=0.4.1 + # ('clikit', '0.6.2', { + # 'source_tmpl': SOURCE_WHL, + # 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + # }), + ('jeepney', '0.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + # poetry 1.5.1 has requirement keyring<24.0.0,>=23.9.0 + ('keyring', '23.13.1', { + 'modulename': False, + 'checksums': ['ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678'], + }), + ('jaraco.classes', '3.2.3', { + 'checksums': ['89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a'], + }), + ('keyrings.alt', '4.2.0', { + 'modulename': False, + 'checksums': ['2ba3d56441ba0637f5f9c096068f67010ac0453f9d0b626de2aa3019353b6431'], + }), + ('tomlkit', '0.11.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171'], + }), + ('shellingham', '1.5.0.post1', { + 'checksums': ['823bc5fb5c34d60f285b624e7264f4dda254bc803a3774a147bf99c0e3004a28'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('pyrsistent', '0.19.3', { + 'checksums': ['1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440'], + }), + ('pkginfo', '1.9.6', { + 'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '4.17.3', { + 'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'], + }), + ('simplejson', '3.19.1', { + 'checksums': ['6277f60848a7d8319d27d2be767a7546bc965535b28070e310b3a9af90604a4c'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('rapidfuzz', '2.15.1', { + 'checksums': ['d62137c2ca37aea90a11003ad7dc109c8f1739bfbe5a9a217f3cdb07d7ac00f6'], + }), + ('cleo', '2.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('CacheControl', '0.12.14', { + 'checksums': ['d1087f45781c0e00616479bfd282c78504371ca71da017b49df9f5365a95feba'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('dulwich', '0.21.5', { + 'checksums': ['70955e4e249ddda6e34a4636b90f74e931e558f993b17c52570fa6144b993103'], + }), + ('fsspec', '2023.6.0', { + 'checksums': ['d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af'], + }), + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('pooch', '1.7.0', { + 'checksums': ['f174a1041b6447f0eef8860f76d17f60ed2f857dc0efa387a7f08228af05d998'], + }), + ('doit', '0.36.0', { + 'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'], + }), + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('pydevtool', '0.3.0', { + 'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'], + }), + ('Pygments', '2.15.1', { + 'checksums': ['8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.4.2', { + 'checksums': ['d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898'], + }), + ('rich-click', '1.6.1', { + 'checksums': ['f8ff96693ec6e261d1544e9f7d9a5811c5ef5d74c8adb4978430fc0dac16777e'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-xdist', '3.3.1', { + 'modulename': 'xdist', + 'checksums': ['d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..d97f7a93c0f --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2023.10-GCCcore-13.2.0.eb @@ -0,0 +1,474 @@ +easyblock = 'PythonBundle' + +name = 'Python-bundle-PyPI' +version = '2023.10' + +homepage = 'https://python.org/' +description = "Bundle of Python packages from PyPI" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('UnZip', '6.0'), + ('pkgconf', '2.0.3'), + ('git', '2.42.0'), # required for pbr + ('hatchling', '1.18.0'), + ('poetry', '1.6.1'), + ('scikit-build', '0.17.6'), + ('flit', '3.9.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('cryptography', '41.0.5'), + ('virtualenv', '20.24.6'), +] + +sanity_pip_check = True +use_pip = True + +# order is important! +# package versions updated 2023-10-29 +exts_list = [ + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + 'Python-3.11-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'}, + {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch': + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'}, + {'Python-3.10-bist-1.3.6-compatibility.patch': + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'}, + {'Python-3.11-bist-1.3.6-compatibility.patch': + 'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'}, + ], + }), + ('pbr', '5.11.1', { + 'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'], + }), + ('Cython', '3.0.4', { + 'checksums': ['2e379b491ee985d31e5faaf050f79f4a8f59f482835906efe4477b33b4fbe9ff'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '23.2', { + 'checksums': ['048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.19.0', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bc35d463222cdb4dbebd35e0784155c81e161b9284e567e7e933d722e533331e'], + }), + ('ecdsa', '0.18.0', { + 'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.16.0', { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + ('pyasn1', '0.5.0', { + 'checksums': ['97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('pyparsing', '3.1.1', { + 'checksums': ['ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.9.0', { + 'checksums': ['7b46fa9b1a2d71fd5de9e4a3784ef339700a53a08c8040f08baf5f1194da0128'], + }), + ('mock', '5.1.0', { + 'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'], + }), + ('pytz', '2023.3.post1', { + 'checksums': ['7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b'], + }), + ('bitarray', '2.8.2', { + 'checksums': ['f90b2f44b5b23364d5fbade2c34652e15b1fcfe813c46f828e008f68a709160f'], + }), + ('bitstring', '4.1.2', { + 'checksums': ['c22283d60fd3e1a8f386ccd4f1915d7fe13481d6349db39711421e24d4a9cccf'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.7', { + 'checksums': ['9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8'], + }), + ('zipp', '3.17.0', { + 'checksums': ['84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0'], + }), + ('importlib_metadata', '6.8.0', { + 'checksums': ['dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743'], + }), + ('backports.entry-points-selectable', '1.2.0', { + 'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'], + 'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'], + }), + ('pathspec', '0.11.2', { + 'checksums': ['e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3'], + }), + ('pluggy', '1.3.0', { + 'checksums': ['cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12'], + }), + ('editables', '0.5', { + 'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'], + }), + ('filelock', '3.13.0', { + 'checksums': ['63c6052c82a1a24c873a549fbd39a26982e8f35a3016da231ead11a5be9dad44'], + }), + ('platformdirs', '3.11.0', { + 'checksums': ['cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib_resources', '6.1.0', { + 'checksums': ['9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.3.2', { + 'checksums': ['92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1'], + }), + ('chardet', '5.2.0', { + 'checksums': ['1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7'], + }), + ('certifi', '2023.7.22', { + 'checksums': ['539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082'], + }), + ('urllib3', '2.0.7', { + 'checksums': ['c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84'], + }), + ('charset-normalizer', '3.3.1', { + 'checksums': ['d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.14', { + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('ujson', '5.8.0', { + 'checksums': ['78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '10.1.0', { + 'checksums': ['626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a'], + }), + ('attrs', '23.1.0', { + 'modulename': 'attr', + 'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'], + }), + ('backports.functools_lru_cache', '1.6.6', { + 'checksums': ['7b70e701ba4db58c0ed8671a9d3391b0abb9bd1bc24d4e90c3480f4baafcc2dc'], + }), + ('wcwidth', '0.2.8', { + 'checksums': ['8705c569999ffbb4f6a87c6d1b80f324bd6db952f5eb0b95bc07517f4c1813d4'], + }), + ('iniconfig', '2.0.0', { + 'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'], + }), + ('colorama', '0.4.6', { + 'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'], + }), + ('exceptiongroup', '1.1.3', { + 'checksums': ['097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9'], + }), + ('pytest', '7.4.3', { + 'checksums': ['d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5'], + }), + ('MarkupSafe', '2.1.3', { + 'checksums': ['af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad'], + }), + ('Jinja2', '3.1.2', { + 'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'], + }), + ('sphinxcontrib_serializinghtml', '1.1.9', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['0c64ff898339e1fac29abd2bf5f11078f3ec413cfe9c046d3120d7ca65530b54'], + }), + ('sphinxcontrib_websupport', '1.2.6', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['d592be8e11261bbbc64668f258efc4fd42c93ab617411143b5245fe30c633d8c'], + }), + ('Pygments', '2.16.1', { + 'checksums': ['1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29'], + }), + ('imagesize', '1.4.1', { + 'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'], + }), + ('docutils', '0.20.1', { + 'checksums': ['f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.13', { + 'checksums': ['a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2'], + }), + ('sphinxcontrib_applehelp', '1.0.7', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['39fdc8d762d33b01a7d8f026a3b7d71563ea3b72787d5f00ad8465bd9d6dfbfa'], + }), + ('sphinxcontrib_devhelp', '1.0.5', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['63b41e0d38207ca40ebbeabcf4d8e51f76c03e78cd61abe118cf4435c73d4212'], + }), + ('sphinxcontrib_htmlhelp', '2.0.4', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['6c26a118a05b76000738429b724a0568dbde5b72391a688577da08f11891092a'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib_qthelp', '1.0.6', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['62b9d1a186ab7f5ee3356d906f648cacb7a6bdb94d201ee7adf26db55092982d'], + }), + ('Babel', '2.13.1', { + 'checksums': ['33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900'], + }), + ('sphinx', '7.2.6', { + 'checksums': ['9a5160e1ea90688d5963ba09a2dcd8bdd526620edbb65c328728f1b2228d5ab5'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.7', { + 'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'], + }), + ('psutil', '5.9.6', { + 'checksums': ['e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a'], + }), + ('future', '0.18.3', { + 'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('regex', '2023.10.3', { + 'checksums': ['3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + # clikit 0.6.2 has requirement crashtest<0.4.0,>=0.3.0 + # but poetry 1.5.1 has requirement crashtest>=0.4.1 + # and cleo 2.0.1 has requirement crashtest>=0.4.1 + # ('clikit', '0.6.2', { + # 'source_tmpl': SOURCE_WHL, + # 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + # }), + ('jeepney', '0.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('keyring', '24.2.0', { + 'modulename': False, + 'checksums': ['ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509'], + }), + ('jaraco.classes', '3.3.0', { + 'checksums': ['c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621'], + }), + ('keyrings.alt', '5.0.0', { + 'modulename': False, + 'checksums': ['9d446cb47bbcea90ffa2ecc3e8003acf41573fc201bf44b4bf13bd0e11484828'], + }), + ('tomlkit', '0.12.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('pyrsistent', '0.20.0', { + 'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'], + }), + ('pkginfo', '1.9.6', { + 'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '4.17.3', { + 'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'], + }), + ('simplejson', '3.19.2', { + 'checksums': ['9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('rapidfuzz', '2.15.2', { + 'checksums': ['bfc1d38a7adcbe8912f980a5f46f27a801dd8655582ff0d4a2c0431c02b7ce33'], + }), + ('cleo', '2.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.7', { + 'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'], + }), + ('cachecontrol', '0.13.1', { + 'checksums': ['f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('dulwich', '0.21.6', { + 'checksums': ['30fbe87e8b51f3813c131e2841c86d007434d160bd16db586b40d47f31dd05b0'], + }), + ('fsspec', '2023.10.0', { + 'checksums': ['330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5'], + }), + ('threadpoolctl', '3.2.0', { + 'checksums': ['c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('pooch', '1.8.0', { + 'checksums': ['f59981fd5b9b5d032dcde8f4a11eaa492c2ac6343fae3596a2fdae35fc54b0a0'], + }), + ('doit', '0.36.0', { + 'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('pydevtool', '0.3.0', { + 'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'], + }), + ('Pygments', '2.16.1', { + 'checksums': ['1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.6.0', { + 'checksums': ['5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef'], + }), + ('rich-click', '1.7.0', { + 'checksums': ['ab34e5d9f7733c4e6072f4de79eb3b35ac9ae78e692ea8a543f3b2828b30fee4'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('execnet', '2.0.2', { + 'checksums': ['cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af'], + }), + ('pytest-xdist', '3.3.1', { + 'modulename': 'xdist', + 'checksums': ['d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..42df4fd52a1 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle-PyPI/Python-bundle-PyPI-2024.06-GCCcore-13.3.0.eb @@ -0,0 +1,497 @@ +easyblock = 'PythonBundle' + +name = 'Python-bundle-PyPI' +version = '2024.06' + +homepage = 'https://python.org/' +description = "Bundle of Python packages from PyPI" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('UnZip', '6.0'), + ('pkgconf', '2.2.0'), + ('git', '2.45.1'), # required for pbr + ('hatchling', '1.24.2'), + ('poetry', '1.8.3'), + ('scikit-build', '0.17.6'), + ('flit', '3.9.0'), + ('setuptools-rust', '1.9.0'), # required for dulwich + ('maturin', '1.6.0'), # required for rpds-py +] + +dependencies = [ + ('Python', '3.12.3'), + ('cryptography', '42.0.8'), + ('virtualenv', '20.26.2'), +] + +sanity_pip_check = True +use_pip = True + +# order is important! +# package versions updated 2024-06-14 +exts_list = [ + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + 'Python-3.11-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'}, + {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch': + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'}, + {'Python-3.10-bist-1.3.6-compatibility.patch': + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'}, + {'Python-3.11-bist-1.3.6-compatibility.patch': + 'da283300bc5f0524b9982c9d9de4670908711634667849d3d81ccd87fc82c4ee'}, + ], + }), + ('pbr', '6.0.0', { + 'checksums': ['d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '24.1', { + 'checksums': ['026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002'], + }), + ('python-dateutil', '2.9.0.post0', { + 'modulename': 'dateutil', + 'checksums': ['37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.20.0', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7'], + }), + ('ecdsa', '0.19.0', { + 'checksums': ['60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.7', { + 'checksums': ['028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc'], + }), + ('pycparser', '2.22', { + 'checksums': ['491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6'], + }), + ('cffi', '1.16.0', { + 'checksums': ['bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0'], + }), + ('semantic-version', '2.10.0', { + 'sources': ['semantic_version-%(version)s.tar.gz'], + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + ('pyasn1', '0.6.0', { + 'checksums': ['3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('pyparsing', '3.1.2', { + 'checksums': ['a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '1.3.0', { + 'checksums': ['5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a'], + }), + ('mock', '5.1.0', { + 'checksums': ['5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d'], + }), + ('pytz', '2024.1', { + 'checksums': ['2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812'], + }), + ('bitarray', '2.9.2', { + 'checksums': ['a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e'], + }), + ('bitstring', '4.2.3', { + 'checksums': ['e0c447af3fda0d114f77b88c2d199f02f97ee7e957e6d719f40f41cf15fbb897'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.8', { + 'checksums': ['1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64'], + }), + ('zipp', '3.19.2', { + 'checksums': ['bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19'], + }), + ('importlib-metadata', '7.1.0', { + 'sources': ['importlib_metadata-%(version)s.tar.gz'], + 'checksums': ['b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2'], + }), + ('backports.entry-points-selectable', '1.3.0', { + 'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'], + 'checksums': ['17a8b44ae700fba548686dd274ddc91c060371565cd63806c20a1d33911746e6'], + }), + ('pathspec', '0.12.1', { + 'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'], + }), + ('pluggy', '1.5.0', { + 'checksums': ['2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1'], + }), + ('editables', '0.5', { + 'checksums': ['309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2'], + }), + ('filelock', '3.15.1', { + 'checksums': ['58a2549afdf9e02e10720eaa4d4470f56386d7a6f72edd7d0596337af8ed7ad8'], + }), + ('platformdirs', '4.2.2', { + 'checksums': ['38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib-resources', '6.4.0', { + 'sources': ['importlib_resources-%(version)s.tar.gz'], + 'checksums': ['cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.4.2', { + 'checksums': ['2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e'], + }), + ('chardet', '5.2.0', { + 'checksums': ['1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7'], + }), + ('certifi', '2024.6.2', { + 'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'], + }), + ('urllib3', '2.2.1', { + 'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'], + }), + ('charset-normalizer', '3.3.2', { + 'checksums': ['f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5'], + }), + ('requests', '2.32.3', { + 'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py-expression-eval', '0.3.14', { + 'sources': ['py_expression_eval-%(version)s.tar.gz'], + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('ujson', '5.10.0', { + 'checksums': ['b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '10.3.0', { + 'checksums': ['e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463'], + }), + ('attrs', '23.2.0', { + 'modulename': 'attr', + 'checksums': ['935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30'], + }), + ('backports.functools-lru-cache', '2.0.0', { + 'sources': ['backports.functools_lru_cache-%(version)s.tar.gz'], + 'checksums': ['dcbfa5e0dae8a014168807c9e026d33eead71df5af76c1fb78fd248bf07f6f99'], + }), + ('wcwidth', '0.2.13', { + 'checksums': ['72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5'], + }), + ('iniconfig', '2.0.0', { + 'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'], + }), + ('colorama', '0.4.6', { + 'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'], + }), + ('exceptiongroup', '1.2.1', { + 'checksums': ['a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16'], + }), + ('pytest', '8.2.2', { + 'checksums': ['de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977'], + }), + ('MarkupSafe', '2.1.5', { + 'checksums': ['d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b'], + }), + ('Jinja2', '3.1.4', { + 'sources': ['jinja2-%(version)s.tar.gz'], + 'checksums': ['4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369'], + }), + ('sphinxcontrib-serializinghtml', '1.1.10', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'sources': ['sphinxcontrib_serializinghtml-%(version)s.tar.gz'], + 'checksums': ['93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f'], + }), + ('sphinxcontrib-websupport', '1.2.7', { + 'modulename': 'sphinxcontrib.websupport', + 'sources': ['sphinxcontrib_websupport-%(version)s.tar.gz'], + 'checksums': ['e322802ebfd5fe79368efd864aeb87b063566ae61911dccb2714e28a45ed7561'], + }), + ('Pygments', '2.18.0', { + 'sources': ['pygments-%(version)s.tar.gz'], + 'checksums': ['786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199'], + }), + ('imagesize', '1.4.1', { + 'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'], + }), + ('docutils', '0.21.2', { + 'checksums': ['3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.16', { + 'checksums': ['75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65'], + }), + ('sphinxcontrib-applehelp', '1.0.8', { + 'modulename': 'sphinxcontrib.applehelp', + 'sources': ['sphinxcontrib_applehelp-%(version)s.tar.gz'], + 'checksums': ['c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619'], + }), + ('sphinxcontrib-devhelp', '1.0.6', { + 'modulename': 'sphinxcontrib.devhelp', + 'sources': ['sphinxcontrib_devhelp-%(version)s.tar.gz'], + 'checksums': ['9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3'], + }), + ('sphinxcontrib-htmlhelp', '2.0.5', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'sources': ['sphinxcontrib_htmlhelp-%(version)s.tar.gz'], + 'checksums': ['0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.7', { + 'modulename': 'sphinxcontrib.qthelp', + 'sources': ['sphinxcontrib_qthelp-%(version)s.tar.gz'], + 'checksums': ['053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6'], + }), + ('Babel', '2.15.0', { + 'sources': ['babel-%(version)s.tar.gz'], + 'checksums': ['8daf0e265d05768bc6c7a314cf1321e9a123afc328cc635c18622a2f30a04413'], + }), + ('Sphinx', '7.3.7', { + 'sources': ['sphinx-%(version)s.tar.gz'], + 'checksums': ['a4a7db75ed37531c05002d56ed6948d4c42f473a36f46e1382b0bd76ca9627bc'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.7', { + 'checksums': ['ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de'], + }), + ('psutil', '5.9.8', { + 'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'], + }), + ('future', '1.0.0', { + 'checksums': ['bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli-w', '1.0.0', { + 'sources': ['tomli_w-%(version)s.tar.gz'], + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('regex', '2024.5.15', { + 'checksums': ['d3ee02d9e5f482cc8309134a91eeaacbdd2261ba111b0fef3748eeb4913e6a2c'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('keyring', '24.3.1', { + 'modulename': False, + 'checksums': ['c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db'], + }), + ('jaraco.classes', '3.4.0', { + 'checksums': ['47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd'], + }), + ('jaraco.context', '5.3.0', { + 'checksums': ['c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2'], + }), + ('keyrings.alt', '5.0.1', { + 'modulename': False, + 'checksums': ['cd372a1ec446a1bc5a90624a52c88e83b9330218e39047a6c9a48ae37d116745'], + }), + ('tomlkit', '0.12.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('pyrsistent', '0.20.0', { + 'checksums': ['4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4'], + }), + ('pkginfo', '1.11.1', { + 'checksums': ['2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa'], + }), + ('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', { + 'sources': ['jsonschema_specifications-%(version)s.tar.gz'], + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('rpds-py', '0.18.1', { + 'sources': ['rpds_py-%(version)s.tar.gz'], + 'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'], + 'modulename': 'rpds', + }), + ('jsonschema', '4.22.0', { + 'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'], + }), + ('simplejson', '3.19.2', { + 'checksums': ['9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('distro', '1.9.0', { + 'checksums': ['2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed'], + }), + ('rapidfuzz', '3.9.3', { + 'checksums': ['b398ea66e8ed50451bce5997c430197d5e4b06ac4aa74602717f792d8d8d06e2'], + }), + ('cleo', '2.1.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.8', { + 'checksums': ['95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3'], + }), + ('CacheControl', '0.14.0', { + 'sources': ['cachecontrol-%(version)s.tar.gz'], + 'checksums': ['7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('dulwich', '0.22.1', { + 'checksums': ['e36d85967cfbf25da1c7bc3d6921adc5baa976969d926aaf1582bd5fd7e94758'], + }), + ('fsspec', '2024.6.0', { + 'checksums': ['f579960a56e6d8038a9efc8f9c77279ec12e6299aa86b0769a7e9c46b94527c2'], + }), + ('threadpoolctl', '3.5.0', { + 'checksums': ['082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('pooch', '1.8.2', { + 'checksums': ['76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10'], + }), + ('doit', '0.36.0', { + 'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'], + }), + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('pydevtool', '0.3.0', { + 'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '3.0.0', { + 'modulename': 'markdown_it', + 'checksums': ['e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('rich-click', '1.8.3', { + 'sources': ['rich_click-%(version)s.tar.gz'], + 'checksums': ['6d75bdfa7aa9ed2c467789a0688bc6da23fbe3a143e19aa6ad3f8bac113d2ab3'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('execnet', '2.1.1', { + 'checksums': ['5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3'], + }), + ('pytest-xdist', '3.6.1', { + 'modulename': 'xdist', + 'sources': ['pytest_xdist-%(version)s.tar.gz'], + 'checksums': ['ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb b/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb new file mode 100644 index 00000000000..0d2db0765c9 --- /dev/null +++ b/easybuild/easyconfigs/p/Python-bundle/Python-bundle-3.10.4-foss-2022a.eb @@ -0,0 +1,20 @@ +easyblock = 'Bundle' + +name = 'Python-bundle' +version = '3.10.4' + +homepage = 'https://easybuild.io/' +description = """Python distribution with a number of widely used +extensions incl. NumPy, SciPy, Matplotlib, JupyterLab, MPI4PY, ... """ + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'lowopt': True} + +dependencies = [ + ('Python', version), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('JupyterLab', '3.5.0'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.12-foss-2016b.eb b/easybuild/easyconfigs/p/Python/Python-2.7.12-foss-2016b.eb index 016bc5c4749..c0e04d1e1e3 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.12-foss-2016b.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.12-foss-2016b.eb @@ -97,6 +97,28 @@ exts_list = [ ('ecdsa', '0.13', { 'checksums': ['64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa'], }), + ('ipaddress', '1.0.22', { + 'checksums': ['b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c'], + }), + ('asn1crypto', '0.24.0', { + 'checksums': ['9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49'], + }), + ('idna', '2.7', { + 'checksums': ['684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16'], + }), + ('enum34', '1.1.6', { + 'modulename': 'enum', + 'checksums': ['8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1'], + }), + ('pycparser', '2.18', { + 'checksums': ['99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226'], + }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), + ('pyasn1', '0.4.3', { + 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], + }), ('cryptography', '1.4', { 'checksums': ['bb149540ed90c4b2171bf694fe6991d6331bc149ae623c8ff419324f4222d128'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.13-foss-2017a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.13-foss-2017a.eb index 8b83e77fb18..8586d43d2b3 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.13-foss-2017a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.13-foss-2017a.eb @@ -98,21 +98,44 @@ exts_list = [ ('ecdsa', '0.13', { 'checksums': ['64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa'], }), + ('ipaddress', '1.0.22', { + 'checksums': ['b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c'], + }), + ('asn1crypto', '0.24.0', { + 'checksums': ['9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49'], + }), + ('idna', '2.7', { + 'checksums': ['684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16'], + }), + ('enum34', '1.1.6', { + 'modulename': 'enum', + 'checksums': ['8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1'], + }), ('pycparser', '2.18', { 'checksums': ['99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226'], }), ('cffi', '1.11.5', { 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], }), + ('pyasn1', '0.4.3', { + 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], + }), + ('pyparsing', '2.2.0', { + 'checksums': ['0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04'], + }), + ('attrs', '19.1.0', { + 'checksums': ['f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399'], + 'modulename': 'attr', + }), + ('packaging', '19.1', { + 'checksums': ['c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe'], + }), ('cryptography', '1.8.1', { 'checksums': ['323524312bb467565ebca7e50c8ae5e9674e544951d28a2904a50012a8828190'], }), ('paramiko', '2.1.2', { 'checksums': ['5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310'], }), - ('pyparsing', '2.2.0', { - 'checksums': ['0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04'], - }), ('netifaces', '0.10.5', { 'checksums': ['59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.13-intel-2017a.eb b/easybuild/easyconfigs/p/Python/Python-2.7.13-intel-2017a.eb index 73b08e8b434..229b0bf80d8 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.13-intel-2017a.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.13-intel-2017a.eb @@ -98,21 +98,44 @@ exts_list = [ ('ecdsa', '0.13', { 'checksums': ['64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa'], }), + ('ipaddress', '1.0.22', { + 'checksums': ['b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c'], + }), + ('asn1crypto', '0.24.0', { + 'checksums': ['9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49'], + }), + ('idna', '2.7', { + 'checksums': ['684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16'], + }), + ('enum34', '1.1.6', { + 'modulename': 'enum', + 'checksums': ['8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1'], + }), ('pycparser', '2.18', { 'checksums': ['99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226'], }), ('cffi', '1.11.5', { 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], }), + ('pyasn1', '0.4.3', { + 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], + }), + ('pyparsing', '2.2.0', { + 'checksums': ['0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04'], + }), + ('attrs', '19.1.0', { + 'checksums': ['f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399'], + 'modulename': 'attr', + }), + ('packaging', '19.1', { + 'checksums': ['c491ca87294da7cc01902edbe30a5bc6c4c28172b5138ab4e4aa1b9d7bfaeafe'], + }), ('cryptography', '1.8.1', { 'checksums': ['323524312bb467565ebca7e50c8ae5e9674e544951d28a2904a50012a8828190'], }), ('paramiko', '2.1.2', { 'checksums': ['5fae49bed35e2e3d45c4f7b0db2d38b9ca626312d91119b3991d0ecf8125e310'], }), - ('pyparsing', '2.2.0', { - 'checksums': ['0832bcf47acd283788593e7a0f542407bd9550a55a8a8435214a1960e04bcb04'], - }), ('netifaces', '0.10.5', { 'checksums': ['59d8ad52dd3116fcb6635e175751b250dc783fb011adba539558bd764e5d628b'], }), diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0-bare.eb new file mode 100644 index 00000000000..8734a5abdcd --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.15-GCCcore-8.2.0-bare.eb @@ -0,0 +1,34 @@ +name = 'Python' +version = '2.7.15' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '8.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['18617d1f15a380a919d517630a9cd85ce17ea602f9bbdc58ddc672df4b0239db'] + +# python needs bzip2 to build the bz2 package + +dependencies = [ + ('binutils', '2.31.1'), # required for pip install that involves compilation + ('bzip2', '1.0.6'), + ('zlib', '1.2.11'), + ('libreadline', '8.0'), + ('ncurses', '6.1'), + ('SQLite', '3.27.2'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # ('OpenSSL', '1.1.0h'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +install_pip = True + +moduleclass = 'lang' 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-2.7.16-GCCcore-8.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0-bare.eb new file mode 100644 index 00000000000..3dbf567056b --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0-bare.eb @@ -0,0 +1,34 @@ +name = 'Python' +version = '2.7.16' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['01da813a3600876f03f46db11cc5c408175e99f03af2ba942ef324389a83bad5'] + +# python needs bzip2 to build the bz2 package + +dependencies = [ + ('binutils', '2.32'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('libreadline', '8.0'), + ('ncurses', '6.1'), + ('SQLite', '3.29.0'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # ('OpenSSL', '1.1.0h'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb index 630fe512e04..ce674d734f0 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.16-GCCcore-8.3.0.eb @@ -37,6 +37,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 Sept 13th 2019 exts_list = [ @@ -125,6 +130,7 @@ exts_list = [ ('PyNaCl', '1.3.0', { 'modulename': 'nacl', 'checksums': ['0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('bcrypt', '3.1.7', { 'checksums': ['0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42'], @@ -209,9 +215,11 @@ exts_list = [ }), ('importlib_metadata', '0.22', { 'checksums': ['652234b6ab8f2506ae58e528b6fbcc668831d3cc758e1bc01ef438d328b68cdb'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), ('pluggy', '0.13.0', { 'checksums': ['fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34'], + 'preinstallopts': local_fix_pyproject_toml_cmd, }), # more-itertools 5.0.0 is the most recent version still supporting Python 2.x ('more-itertools', '5.0.0', { diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-10.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-10.3.0-bare.eb index 98638347a5b..5ce78d117e8 100644 --- a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-10.3.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-10.3.0-bare.eb @@ -13,6 +13,10 @@ source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] sources = [SOURCE_TGZ] checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] +builddependencies = [ + ('pkg-config', '0.29.2'), +] + dependencies = [ ('binutils', '2.36.1'), ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib @@ -20,7 +24,7 @@ dependencies = [ ('libreadline', '8.1'), ('ncurses', '6.2'), ('SQLite', '3.35.4'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] install_pip = True diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0-bare.eb new file mode 100644 index 00000000000..32a0a66ea27 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0-bare.eb @@ -0,0 +1,32 @@ +name = 'Python' +version = '2.7.18' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.11'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('SQLite', '3.36'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6cae29ec4ff --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.2.0.eb @@ -0,0 +1,432 @@ +name = 'Python' +version = '2.7.18' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.11'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('SQLite', '3.36'), + ('GMP', '6.2.1'), # required for pycrypto + ('libffi', '3.4.2'), # required for cryptography + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 13 January 2022, to the most recent versions still supporting Python 2.x +# while keeping it in sync with the Python 3 version for this toolchain/version +exts_list = [ + ('setuptools', '44.1.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['c67aa55db532a0dadc4d2e20ba9961cbd3ccc84d544e9029699822542b5a476b'], + }), + ('wheel', '0.36.2', { + 'checksums': ['e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e'], + }), + ('pip', '20.3.4', { + 'checksums': ['6773934e5f5fc3eaa8c5a44949b5b924fc122daa0a8aa9f80c835b4ca2a543fc'], + }), + ('nose', '1.3.7', { + 'checksums': ['f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98'], + }), + ('blist', '1.3.6', { + 'checksums': ['3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'], + }), + ('paycheck', '1.0.2', { + 'checksums': ['6db7fc367c146cd59d2327ad4d2d6b0a24bc1be2d6953bb0773cbf702ee1ed34'], + }), + ('pbr', '5.6.0', { + 'checksums': ['42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd'], + }), + ('Cython', '0.29.24', { + 'checksums': ['cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('setuptools_scm', '5.0.2', { + 'checksums': ['83a0cedd3449e3946307811a4c7b9d89c4b5fd464a2fb5eeccd0a5bb158ae5c8'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '4.4.2', { + 'checksums': ['e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'patches': ['pycrypto-2.6.1_remove-usr-include.patch'], + 'checksums': [ + 'f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c', # pycrypto-2.6.1.tar.gz + # pycrypto-2.6.1_remove-usr-include.patch + '06c3d3bb290305e1360a023ea03f9281116c230de62382e6be9474996086712e', + ], + }), + ('ecdsa', '0.17.0', { + 'checksums': ['b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa'], + }), + ('enum34', '1.1.10', { + 'modulename': 'enum', + 'checksums': ['cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.4.0', { + 'checksums': ['f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c'], + }), + ('idna', '2.10', { + 'checksums': ['b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6'], + }), + ('pycparser', '2.20', { + 'checksums': ['2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0'], + }), + ('cffi', '1.14.6', { + 'checksums': ['c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd'], + }), + ('cryptography', '3.3.2', { + 'checksums': ['5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed'], + }), + ('pyasn1', '0.4.8', { + 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], + }), + ('PyNaCl', '1.4.0', { + 'modulename': 'nacl', + 'checksums': ['54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505'], + }), + ('bcrypt', '3.1.7', { + 'checksums': ['0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42'], + }), + ('paramiko', '2.7.2', { + 'checksums': ['7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035'], + }), + ('pyparsing', '2.4.7', { + 'checksums': ['c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '3.0.5', { + 'checksums': ['83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3'], + }), + ('pytz', '2021.1', { + 'checksums': ['83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da'], + }), + ('bitstring', '3.1.9', { + 'checksums': ['a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.2', { + 'source_tmpl': 'distlib-%(version)s.zip', + 'checksums': ['106fef6dc37dd8c0e2c0a60d3fca3e77460a48907f335fa28420463a6f799736'], + }), + ('filelock', '3.0.12', { + 'checksums': ['18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59'], + }), + ('importlib_resources', '3.3.1', { + 'checksums': ['0ed250dbd291947d1a298e89f39afcc477d5a6624770503034b72588601bcc05'], + }), + ('platformdirs', '2.0.2', { + 'checksums': ['3b00d081227d9037bbbca521a5787796b5ef5000faea1e43fd76f1d44b06fcfa'], + }), + ('backports.entry_points_selectable', '1.1.0', { + 'checksums': ['988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a'], + 'preinstallopts': "sed -i 's/^author =.*/version = %(version)s/g' setup.cfg && ", + }), + ('virtualenv', '20.7.0', { + 'checksums': ['97066a978431ec096d163e72771df5357c5c898ffdd587048f45e0aecc228094'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '0.14.1', { + 'checksums': ['0630eea4f5664c463f23fbf5dcfc54a2bc6168902719fa8e19daf033022786c8'], + }), + ('chardet', '4.0.0', { + 'checksums': ['0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa'], + }), + ('certifi', '2021.5.30', { + 'checksums': ['2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee'], + }), + ('urllib3', '1.26.6', { + 'checksums': ['f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f'], + }), + ('requests', '2.26.0', { + 'checksums': ['b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.13', { + 'checksums': ['6e7d59d391d54a034609ce66b820e7dd68c757672d166dcc514bf7abf15ba57e'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('ujson', '2.0.3', { + 'checksums': ['bd2deffc983827510e5145fb66e4cc0f577480c62fe0b4882139f8f7d27ae9a3'], + }), + ('atomicwrites', '1.4.0', { + 'checksums': ['ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a'], + }), + ('py', '1.10.0', { + 'checksums': ['21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.6', { + 'checksums': ['7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f'], + }), + ('zipp', '1.2.0', { + 'checksums': ['c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1'], + }), + ('configparser', '4.0.2', { + 'checksums': ['c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df'], + }), + ('contextlib2', '0.6.0.post1', { + 'checksums': ['01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e'], + }), + ('importlib_metadata', '1.7.0', { + 'checksums': ['90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83'], + }), + ('pluggy', '0.13.1', { + 'checksums': ['15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0'], + }), + ('more-itertools', '5.0.0', { + 'checksums': ['38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4'], + }), + ('attrs', '21.2.0', { + 'modulename': 'attr', + 'checksums': ['ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb'], + }), + ('backports.functools_lru_cache', '1.6.4', { + 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + 'preinstallopts': "sed -i 's/^author .*/version = %(version)s/g' setup.cfg && ", + }), + ('wcwidth', '0.2.5', { + 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], + }), + ('pytest', '4.6.11', { + 'checksums': ['50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353'], + }), + ('MarkupSafe', '1.1.1', { + 'checksums': ['29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b'], + }), + ('Jinja2', '2.11.3', { + 'checksums': ['a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6'], + }), + ('packaging', '20.9', { + 'checksums': ['5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5'], + }), + ('sphinxcontrib-websupport', '1.1.2', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['1501befb0fdf1d1c29a800fdbf4ef5dc5369377300ddbdd16d2cd40e54c6eefc'], + }), + ('Pygments', '2.5.2', { + 'checksums': ['98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe'], + }), + ('imagesize', '1.2.0', { + 'checksums': ['b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1'], + }), + ('docutils', '0.17.1', { + 'checksums': ['686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125'], + }), + ('snowballstemmer', '2.1.0', { + 'checksums': ['e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914'], + }), + ('Babel', '2.9.1', { + 'checksums': ['bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0'], + }), + ('alabaster', '0.7.12', { + 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], + }), + ('typing', '3.10.0.0', { + 'checksums': ['13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130'], + }), + ('Sphinx', '1.8.6', { + 'checksums': ['e096b1b369dbb0fcb95a31ba8c9e1ae98c588e601f08eada032248e1696de4b1'], + }), + ('sphinx-bootstrap-theme', '0.8.0', { + 'checksums': ['038ee7e89478e064b5dd7e614de6f3f4cec81d9f9efbebb06e105693d6a50924'], + }), + ('colorama', '0.4.4', { + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], + }), + ('click', '7.1.2', { + 'checksums': ['d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a'], + }), + ('psutil', '5.8.0', { + 'checksums': ['0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('singledispatch', '3.7.0', { + 'checksums': ['c1a4d5c1da310c3fd8fccfb8d4e1cb7df076148fd5d858a819e37fffe44f3092'], + 'preinstallopts': "sed -i 's/^author .*/version = %(version)s/g' setup.cfg && ", + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('functools32', '3.2.3-2', { + 'checksums': ['f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d'], + }), + ('futures', '3.3.0', { + 'modulename': False, + 'checksums': ['7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794'], + }), + ('glob2', '0.6', { + 'checksums': ['f5b0a686ff21f820c4d3f0c4edd216704cea59d79d00fa337e244a2f2ff83ed6'], + }), + ('subprocess32', '3.5.4', { + 'checksums': ['eb2937c80497978d181efa1b839ec2d9622cf9600a039a79d0e108d1f9aec79d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('regex', '2021.3.17', { + 'checksums': ['4b8a1fb724904139149a43e172850f35aa6ea97fb0545244dc0b805e0154ed68'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('clikit', '0.6.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + }), + ('entrypoints', '0.3', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19'], + }), + ('SecretStorage', '2.3.1', { + 'modulename': False, # Doesn't work properly under Python2, but is required for keyring + 'checksums': ['3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6'], + }), + ('keyring', '18.0.1', { + 'modulename': False, # Doesn't work properly if HOME directory contains keys + 'checksums': ['67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838'], + }), + ('keyrings.alt', '3.2.0', { + 'modulename': False, # Doesn't work properly if HOME directory contains keys + 'checksums': ['1c9981c351dabe902172ccf75bccff78185548f15ad51d5297e6366c0f4c3b51'], + }), + ('tomlkit', '0.7.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['173ad840fa5d2aac140528ca1933c29791b79a374a0861a80347f42ec9328117'], + }), + ('shellingham', '1.4.0', { + 'checksums': ['4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e'], + }), + ('requests-toolbelt', '0.9.1', { + 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], + }), + ('pyrsistent', '0.16.1', { + 'checksums': ['aa2ae1c2e496f4d6777f869ea5de7166a8ccb9c2e06ebcf6c7ff1b670c98c5ef'], + }), + ('pkginfo', '1.7.1', { + 'checksums': ['e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '3.2.0', { + 'checksums': ['c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a'], + }), + ('simplejson', '3.17.3', { + 'checksums': ['da72a452bcf4349fc467a12b54ab0e63e654a571cacc44084826d52bde12b6ee'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('cleo', '0.8.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['141cda6dc94a92343be626bb87a0b6c86ae291dfc732a57bf04310d4b4201753'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('CacheControl', '0.12.6', { + 'checksums': ['be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.0.3', { + 'modulename': 'poetry.core', + 'checksums': ['2315c928249fc3207801a81868b64c66273077b26c8d8da465dccf8f488c90c5'], + }), + ('poetry', '1.1.7', { + 'checksums': ['3833c7b22411b8393e8e594fede94f0ef7a5260c19f51e272cce76512cffe6c8'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb new file mode 100644 index 00000000000..f2ad29b3f79 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-11.3.0-bare.eb @@ -0,0 +1,32 @@ +name = 'Python' +version = '2.7.18' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('SQLite', '3.38.3'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb new file mode 100644 index 00000000000..f8c443163d4 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.2.0-bare.eb @@ -0,0 +1,32 @@ +name = 'Python' +version = '2.7.18' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..23b38544c6c --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-12.3.0.eb @@ -0,0 +1,55 @@ +name = 'Python' +version = '2.7.18' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('SQLite', '3.42.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-05-17 +# https://pip.pypa.io/en/latest/development/release-process/#python-2-support + +exts_list = [ + ('wheel', '0.37.1', { + 'checksums': ['e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4'], + }), + ('setuptools', '44.1.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['c67aa55db532a0dadc4d2e20ba9961cbd3ccc84d544e9029699822542b5a476b'], + }), + ('pip', '20.3.4', { + 'checksums': ['6773934e5f5fc3eaa8c5a44949b5b924fc122daa0a8aa9f80c835b4ca2a543fc'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-9.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-9.3.0-bare.eb new file mode 100644 index 00000000000..41c95013bf7 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-2.7.18-GCCcore-9.3.0-bare.eb @@ -0,0 +1,34 @@ +name = 'Python' +version = '2.7.18' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.%(namelower)s.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +# python needs bzip2 to build the bz2 package + +dependencies = [ + ('binutils', '2.34'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('libreadline', '8.0'), + ('ncurses', '6.2'), + ('SQLite', '3.31.1'), + # OS dependency should be preferred if the os version is more recent then this version, + # it's nice to have an up to date openssl for security reasons + # ('OpenSSL', '1.1.0h'), +] + +osdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10-bist-1.3.6-compatibility.patch b/easybuild/easyconfigs/p/Python/Python-3.10-bist-1.3.6-compatibility.patch new file mode 100644 index 00000000000..a19979e4909 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10-bist-1.3.6-compatibility.patch @@ -0,0 +1,182 @@ +From 4b88010f208080173d0976d271d4c3100bfbef17 Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Thu, 18 Nov 2021 13:42:17 -0400 +Subject: [PATCH 1/2] Python 3.10 support: use Py_SET_REFCNT() + +Py_REFCNT() is no longer an lvalue; use Py_SET_REFCNT() instead. +--- + blist/_blist.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/blist/_blist.c b/blist/_blist.c +index f7fcb60..cacd6f2 100644 +--- a/blist/_blist.c ++++ b/blist/_blist.c +@@ -6589,7 +6589,7 @@ py_blist_sort(PyBListRoot *self, PyObject *args, PyObject *kwds) + memcpy(&saved.BLIST_FIRST_FIELD, &self->BLIST_FIRST_FIELD, + sizeof(*self) - offsetof(PyBListRoot, BLIST_FIRST_FIELD)); + Py_TYPE(&saved) = &PyRootBList_Type; +- Py_REFCNT(&saved) = 1; ++ Py_SET_REFCNT(&saved, 1); + + if (extra_list != NULL) { + self->children = extra_list; + +From fddb7837e2094560789a09790360feb75f06ed86 Mon Sep 17 00:00:00 2001 +From: Steve Langasek +Date: Thu, 18 Nov 2021 13:42:42 -0400 +Subject: [PATCH 2/2] Python 3.10 support: use collections.abc.MutableSet + +collections.MutableSet is obsolete, replaced by +collections.abc.MutableSet. +--- + blist/__init__.py | 2 +- + blist/_btuple.py | 2 +- + blist/_sorteddict.py | 8 ++++---- + blist/_sortedlist.py | 24 ++++++++++++------------ + blist/test/sortedlist_tests.py | 4 ++-- + 5 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/blist/__init__.py b/blist/__init__.py +index 931aaac..38c01a9 100644 +--- a/blist/__init__.py ++++ b/blist/__init__.py +@@ -1,6 +1,6 @@ + __version__ = '1.3.6' + from blist._blist import * +-import collections ++import collections.abc as collections + if hasattr(collections, 'MutableSet'): # Only supported in Python 2.6+ + from blist._sortedlist import sortedlist, sortedset, weaksortedlist, weaksortedset + from blist._sorteddict import sorteddict +diff --git a/blist/_btuple.py b/blist/_btuple.py +index 1e409cd..3a17972 100644 +--- a/blist/_btuple.py ++++ b/blist/_btuple.py +@@ -1,7 +1,7 @@ + from blist._blist import blist + from ctypes import c_int + import collections +-class btuple(collections.Sequence): ++class btuple(collections.abc.Sequence): + def __init__(self, seq=None): + if isinstance(seq, btuple): + self._blist = seq._blist +diff --git a/blist/_sorteddict.py b/blist/_sorteddict.py +index fcdf7e4..daa132c 100644 +--- a/blist/_sorteddict.py ++++ b/blist/_sorteddict.py +@@ -6,7 +6,7 @@ class missingdict(dict): + def __missing__(self, key): + return self._missing(key) + +-class KeysView(collections.KeysView, collections.Sequence): ++class KeysView(collections.abc.KeysView, collections.abc.Sequence): + def __getitem__(self, index): + return self._mapping._sortedkeys[index] + def __reversed__(self): +@@ -23,7 +23,7 @@ def bisect_right(self, key): + return self._mapping._sortedkeys.bisect_right(key) + bisect = bisect_right + +-class ItemsView(collections.ItemsView, collections.Sequence): ++class ItemsView(collections.abc.ItemsView, collections.abc.Sequence): + def __getitem__(self, index): + if isinstance(index, slice): + keys = self._mapping._sortedkeys[index] +@@ -46,7 +46,7 @@ def _from_iterable(self, it): + else: + return sortedset(it, key=lambda item: keyfunc(item[0])) + +-class ValuesView(collections.ValuesView, collections.Sequence): ++class ValuesView(collections.abc.ValuesView, collections.abc.Sequence): + def __getitem__(self, index): + if isinstance(index, slice): + keys = self._mapping._sortedkeys[index] +@@ -54,7 +54,7 @@ def __getitem__(self, index): + key = self._mapping._sortedkeys[index] + return self._mapping[key] + +-class sorteddict(collections.MutableMapping): ++class sorteddict(collections.abc.MutableMapping): + def __init__(self, *args, **kw): + if hasattr(self, '__missing__'): + self._map = missingdict() +diff --git a/blist/_sortedlist.py b/blist/_sortedlist.py +index b34f69e..7b8a2f3 100644 +--- a/blist/_sortedlist.py ++++ b/blist/_sortedlist.py +@@ -25,7 +25,7 @@ def __exit__(self, exc_type, exc_val, exc_tb): + del self.local.repr_count[self.ob_id] + return False + +-class _sortedbase(collections.Sequence): ++class _sortedbase(collections.abc.Sequence): + def __init__(self, iterable=(), key=None): + self._key = key + if key is not None and not hasattr(key, '__call__'): +@@ -428,23 +428,23 @@ def __iter__(self): + + def safe_cmp(f): + def g(self, other): +- if not isinstance(other, collections.Set): ++ if not isinstance(other, collections.abc.Set): + raise TypeError("can only compare to a set") + return f(self, other) + return g + +-class _setmixin2(collections.MutableSet): +- "methods that override or supplement the collections.MutableSet methods" ++class _setmixin2(collections.abc.MutableSet): ++ "methods that override or supplement the collections.abc.MutableSet methods" + +- __ror__ = collections.MutableSet.__or__ +- __rand__ = collections.MutableSet.__and__ +- __rxor__ = collections.MutableSet.__xor__ ++ __ror__ = collections.abc.MutableSet.__or__ ++ __rand__ = collections.abc.MutableSet.__and__ ++ __rxor__ = collections.abc.MutableSet.__xor__ + + if sys.version_info[0] < 3: # pragma: no cover +- __lt__ = safe_cmp(collections.MutableSet.__lt__) +- __gt__ = safe_cmp(collections.MutableSet.__gt__) +- __le__ = safe_cmp(collections.MutableSet.__le__) +- __ge__ = safe_cmp(collections.MutableSet.__ge__) ++ __lt__ = safe_cmp(collections.abc.MutableSet.__lt__) ++ __gt__ = safe_cmp(collections.abc.MutableSet.__gt__) ++ __le__ = safe_cmp(collections.abc.MutableSet.__le__) ++ __ge__ = safe_cmp(collections.abc.MutableSet.__ge__) + + def __ior__(self, it): + if self is it: +@@ -476,7 +476,7 @@ def __rsub__(self, other): + return self._from_iterable(other) - self + + def _make_set(self, iterable): +- if isinstance(iterable, collections.Set): ++ if isinstance(iterable, collections.abc.Set): + return iterable + return self._from_iterable(iterable) + +diff --git a/blist/test/sortedlist_tests.py b/blist/test/sortedlist_tests.py +index 1cff8b9..ad392e9 100644 +--- a/blist/test/sortedlist_tests.py ++++ b/blist/test/sortedlist_tests.py +@@ -29,7 +29,7 @@ def test_empty_repr(self): + repr(self.type2test())) + + def validate_comparison(self, instance): +- if sys.version_info[0] < 3 and isinstance(instance, collections.Set): ++ if sys.version_info[0] < 3 and isinstance(instance, collections.abc.Set): + ops = ['ne', 'or', 'and', 'xor', 'sub'] + else: + ops = ['lt', 'gt', 'le', 'ge', 'ne', 'or', 'and', 'xor', 'sub'] +@@ -185,7 +185,7 @@ def __cmp__(self, other): # pragma: no cover + def test_order(self): + stuff = [self.build_item(random.randrange(1000000)) + for i in range(1000)] +- if issubclass(self.type2test, collections.Set): ++ if issubclass(self.type2test, collections.abc.Set): + stuff = set(stuff) + sorted_stuff = list(sorted(stuff)) + u = self.type2test diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0-bare.eb new file mode 100644 index 00000000000..2209fb0498b --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.10.4' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f3bcc65b1d5f1dc78675c746c98fcee823c038168fc629c5935b044d0911ad28'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('SQLite', '3.38.3'), + ('XZ', '5.2.5'), + ('libffi', '3.4.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..033fd05880f --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.4-GCCcore-11.3.0.eb @@ -0,0 +1,475 @@ +name = 'Python' +version = '3.10.4' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f3bcc65b1d5f1dc78675c746c98fcee823c038168fc629c5935b044d0911ad28'] + +builddependencies = [ + ('UnZip', '6.0'), + ('Rust', '1.60.0'), # required for setuptools-rust, which is needed for cryptography + ('pkgconf', '1.8.0'), + ('git', '2.36.0', '-nodocs'), # required for pbr +] + +dependencies = [ + ('binutils', '2.38'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('SQLite', '3.38.3'), + ('XZ', '5.2.5'), + ('GMP', '6.2.1'), # required for pycrypto + ('libffi', '3.4.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 1 May 2022 +exts_list = [ + ('wheel', '0.37.1', { + 'checksums': ['e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4'], + }), + ('setuptools', '62.1.0', { + 'checksums': ['47c7b0c0f8fc10eec4cf1e71c6fdadf8decaa74ffa087e68cd1c20db7ad6a592'], + }), + ('pip', '22.0.4', { + 'checksums': ['b3a9de2c6ef801e9247d1527a4b16f92f2cc141cd1489f3fffaf6a9e96729764'], + }), + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3', # blist-1.3.6.tar.gz + # Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0', + # Python-3.10-bist-1.3.6-compatibility.patch + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741', + ], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('Cython', '0.29.28', { + 'checksums': ['d6fac2342802c30e51426828fe084ff4deb1b3387367cf98976bb2e64b6f8e45'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('flit-core', '3.7.1', { + 'source_tmpl': 'flit_core-%(version)s.tar.gz', + 'checksums': ['14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('setuptools_scm', '6.4.2', { + 'checksums': ['6833ac65c6ed9711a4d5d2266f8024cfa07c533a0e55f4c12f6eff280a5a9e30'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.17', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bce2e2d8e82fcf972005652371a3e8731956a0c1fbb719cc897943b3695ad91b'], + }), + ('ecdsa', '0.17.0', { + 'checksums': ['b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.3', { + 'checksums': ['9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d'], + }), + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.15.0', { + 'checksums': ['920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954'], + }), + ('semantic_version', '2.9.0', { + 'checksums': ['abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2'], + }), + ('typing_extensions', '4.2.0', { + 'checksums': ['f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376'], + }), + ('setuptools-rust', '1.3.0', { + 'checksums': ['958c5bf4ab6483d59dab888538121871cc5006354a42fb0fbd50acf03caad1de'], + }), + ('cryptography', '37.0.1', { + # avoid that cargo uses $HOME/.cargo, which can lead to build failures if home directory is NFS mounted, + # see https://github.com/rust-lang/cargo/issues/6652 + 'preinstallopts': "export CARGO_HOME=%(builddir)s/cargo && ", + 'checksums': ['d610d0ee14dd9109006215c7c0de15eee91230b70a9bce2263461cf7c3720b83'], + }), + ('pyasn1', '0.4.8', { + 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('bcrypt', '3.2.2', { + 'checksums': ['433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb'], + }), + ('paramiko', '2.10.4', { + 'checksums': ['3d2e650b6812ce6d160abff701d6ef4434ec97934b13e95cf1ad3da70ffb5c58'], + }), + ('pyparsing', '3.0.8', { + 'checksums': ['7bf433498c016c4314268d95df76c81b842a4cb2b276fa3312cfb1e1d85f6954'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('pytz', '2022.1', { + 'checksums': ['1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7'], + }), + ('bitstring', '3.1.9', { + 'checksums': ['a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.4', { + 'source_tmpl': 'distlib-%(version)s.zip', + 'checksums': ['e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579'], + }), + ('filelock', '3.6.0', { + 'checksums': ['9cd540a9352e432c7246a48fe4e8712b10acb1df2ad1f30e8c070b82ae1fed85'], + }), + ('zipp', '3.8.0', { + 'checksums': ['56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad'], + }), + ('importlib_metadata', '4.11.3', { + 'checksums': ['ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539'], + }), + ('backports.entry_points_selectable', '1.1.1', { + 'checksums': ['914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386'], + }), + ('pathspec', '0.9.0', { + 'checksums': ['e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1'], + }), + ('pluggy', '1.0.0', { + 'checksums': ['4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159'], + }), + # poetry 1.1.13 has requirement packaging<21.0,>=20.4 + ('packaging', '20.9', { + 'checksums': ['5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5'], + }), + ('editables', '0.3', { + 'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'], + }), + # platformdirs >= 2.5 requires hatchling and that requires packaging>=21.3 + # however poetry 1.1.13 requires packaging<21.0,>=20.4, so use an older platformdirs to avoid needing hatchling + ('platformdirs', '2.4.1', { + 'checksums': ['440633ddfebcc36264232365d7840a970e75e1018d15b4327d11f91909045fda'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib_resources', '5.7.1', { + 'checksums': ['b6062987dfc51f0fcb809187cffbd60f35df7acb4589091f154214af6d0d49d3'], + }), + ('virtualenv', '20.14.1', { + 'checksums': ['ef589a79795589aada0c1c5b319486797c03b67ac3984c48c669c0e4f50df3a5'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.1.0', { + 'checksums': ['4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35'], + }), + ('chardet', '4.0.0', { + 'checksums': ['0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa'], + }), + ('certifi', '2021.10.8', { + 'checksums': ['78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872'], + }), + ('urllib3', '1.26.9', { + 'checksums': ['aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e'], + }), + ('charset-normalizer', '2.0.12', { + 'checksums': ['2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597'], + }), + ('requests', '2.27.1', { + 'checksums': ['68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.14', { + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('ujson', '5.2.0', { + 'checksums': ['163191b88842d874e081707d35de2e205e0e396e70fd068d1038879bca8b17ad'], + }), + ('atomicwrites', '1.4.0', { + 'checksums': ['ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '8.12.0', { + 'checksums': ['7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064'], + }), + ('attrs', '21.4.0', { + 'modulename': 'attr', + 'checksums': ['626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd'], + }), + ('backports.functools_lru_cache', '1.6.4', { + 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + }), + ('wcwidth', '0.2.5', { + 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + }), + ('colorama', '0.4.4', { + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], + }), + ('pytest', '7.1.2', { + 'checksums': ['a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45'], + }), + ('MarkupSafe', '2.1.1', { + 'checksums': ['7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b'], + }), + ('Jinja2', '3.1.2', { + 'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'], + }), + ('sphinxcontrib-serializinghtml', '1.1.5', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'], + }), + ('sphinxcontrib-websupport', '1.2.4', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], + }), + ('Pygments', '2.12.0', { + 'checksums': ['5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb'], + }), + ('imagesize', '1.3.0', { + 'checksums': ['cd1750d452385ca327479d45b64d9c7729ecf0b3969a58148298c77092261f9d'], + }), + # Sphinx 4.5.0 has requirement docutils<0.18,>=0.14 + ('docutils', '0.17.1', { + 'checksums': ['686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.12', { + 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], + }), + ('sphinxcontrib-applehelp', '1.0.2', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58'], + }), + ('sphinxcontrib-devhelp', '1.0.2', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], + }), + ('sphinxcontrib-htmlhelp', '2.0.0', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.3', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], + }), + ('Babel', '2.10.1', { + 'checksums': ['98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13'], + }), + ('Sphinx', '4.5.0', { + 'checksums': ['7bf8ca9637a4ee15af412d1a1d9689fec70523a68ca9bb9127c2f3eeb344e2e6'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.3', { + 'checksums': ['7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e'], + }), + ('psutil', '5.9.0', { + 'checksums': ['869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('flit', '3.7.1', { + 'checksums': ['3c9bd9c140515bfe62dd938c6610d10d6efb9e35cc647fc614fe5fb3a5036682'], + }), + ('regex', '2022.4.24', { + 'checksums': ['92183e9180c392371079262879c6532ccf55f808e6900df5d9f03c9ca8807255'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.3.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['300f4b0825f57688b47b6d70c6a31de33512eb2fa1ac614f780939aa0cf91680'], + }), + ('clikit', '0.6.2', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.2', { + 'checksums': ['0a8eb9645b320881c222e827c26f4cfcf55363e8b374a021981ef886657a912f'], + }), + ('keyring', '23.5.0', { + 'modulename': False, # Doesn't work properly if HOME directory contains keys + 'checksums': ['9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9'], + }), + ('keyrings.alt', '4.1.0', { + 'modulename': False, + 'checksums': ['52ccb61d6f16c10f32f30d38cceef7811ed48e086d73e3bae86f0854352c4ab2'], + }), + ('tomlkit', '0.10.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['905cf92c2111ef80d355708f47ac24ad1b6fc2adc5107455940088c9bbecaedb'], + }), + ('shellingham', '1.4.0', { + 'checksums': ['4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e'], + }), + ('requests-toolbelt', '0.9.1', { + 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], + }), + ('pyrsistent', '0.18.1', { + 'checksums': ['d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96'], + }), + ('pkginfo', '1.8.2', { + 'checksums': ['542e0d0b6750e2e21c20179803e40ab50598d8066d51097a0e382cba9eb02bff'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '4.4.0', { + 'checksums': ['636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83'], + }), + ('simplejson', '3.17.6', { + 'checksums': ['cf98038d2abf63a1ada5730e91e84c642ba6c225b0198c3684151b1f80c5f8a6'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('cleo', '0.8.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['141cda6dc94a92343be626bb87a0b6c86ae291dfc732a57bf04310d4b4201753'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.3', { + 'checksums': ['51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.0.8', { + 'modulename': 'poetry.core', + 'checksums': ['951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('poetry', '1.1.13', { + 'checksums': ['b905ed610085f568aa61574e0e09260c02bff9eae12ff672af39e9f399357ac4'], + }), + ('fsspec', '2022.3.0', { + 'checksums': ['fd582cc4aa0db5968bad9317cae513450eddd08b2193c4428d9349265a995523'], + }), + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb new file mode 100644 index 00000000000..39fbf14affe --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.10.8' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c134f2d2796 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,522 @@ +name = 'Python' +version = '3.10.8' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('UnZip', '6.0'), + ('Rust', '1.65.0'), # required for setuptools-rust, which is needed for cryptography + ('pkgconf', '1.9.3'), + ('git', '2.38.1', '-nodocs'), # required for pbr +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('GMP', '6.2.1'), # required for pycrypto + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 12 Nov 2022 +exts_list = [ + ('wheel', '0.38.4', { + 'checksums': ['965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac'], + }), + ('setuptools', '63.4.3', { + 'checksums': ['521c833d1e5e1ef0869940e7f486a83de7773b9f029010ad0c2fe35453a9dad9'], + }), + ('pip', '22.3.1', { + 'checksums': ['65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38'], + }), + ('blist', '1.3.6', { + 'patches': [ + 'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch', + 'Python-3.10-bist-1.3.6-compatibility.patch', + ], + 'checksums': [ + {'blist-1.3.6.tar.gz': '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3'}, + {'Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch': + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0'}, + {'Python-3.10-bist-1.3.6-compatibility.patch': + '0fb2d92e06b2c39bfc79e229e6fde6053f9aa9538733029377c9a743650a4741'}, + ], + }), + ('pbr', '5.11.0', { + 'checksums': ['b97bc6695b2aff02144133c2e7399d5885223d42b7912ffaec2ca3898e673bfe'], + }), + ('Cython', '0.29.32', { + 'checksums': ['8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('flit_core', '3.8.0', { + 'checksums': ['b305b30c99526df5e63d6022dd2310a0a941a187bd3884f4c8ef0418df6c39f3'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '21.3', { + 'checksums': ['dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb'], + }), + ('setuptools_scm', '7.0.5', { + 'checksums': ['031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycryptodome', '3.17', { + 'modulename': 'Crypto.PublicKey.RSA', + 'checksums': ['bce2e2d8e82fcf972005652371a3e8731956a0c1fbb719cc897943b3695ad91b'], + }), + ('ecdsa', '0.18.0', { + 'checksums': ['190348041559e21b22a1d65cee485282ca11a6f81d503fddb84d5017e9ed1e49'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.5.1', { + 'checksums': ['13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pycparser', '2.21', { + 'checksums': ['e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206'], + }), + ('cffi', '1.15.1', { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('setuptools-rust', '1.5.2', { + 'checksums': ['d8daccb14dc0eae1b6b6eb3ecef79675bd37b4065369f79c35393dd5c55652c7'], + }), + ('cryptography', '38.0.3', { + # avoid that cargo uses $HOME/.cargo, which can lead to build failures if home directory is NFS mounted, + # see https://github.com/rust-lang/cargo/issues/6652 + 'preinstallopts': "export CARGO_HOME=%(builddir)s/cargo && ", + 'checksums': ['bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd'], + }), + ('pyasn1', '0.4.8', { + 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], + }), + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + ('bcrypt', '4.0.1', { + 'checksums': ['27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd'], + }), + ('paramiko', '2.12.0', { + 'checksums': ['376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('pytz', '2022.6', { + 'checksums': ['e89512406b793ca39f5971bc999cc538ce125c0e51c27941bef4568b460095e2'], + }), + ('bitstring', '3.1.9', { + 'checksums': ['a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.6', { + 'checksums': ['14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46'], + }), + ('filelock', '3.8.0', { + 'checksums': ['55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc'], + }), + ('zipp', '3.10.0', { + 'checksums': ['7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8'], + }), + ('importlib_metadata', '5.0.0', { + 'checksums': ['da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab'], + }), + ('backports.entry-points-selectable', '1.2.0', { + 'sources': ['backports.entry_points_selectable-%(version)s.tar.gz'], + 'checksums': ['4706f59179657ca7c1d325a543ee1370f8f46331f432bcac62fab242fdf0afa5'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('pluggy', '1.0.0', { + 'checksums': ['4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159'], + }), + ('editables', '0.3', { + 'checksums': ['167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a'], + }), + ('hatchling', '1.11.1', { + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('hatch_vcs', '0.2.0', { + 'checksums': ['9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff'], + }), + ('platformdirs', '2.5.3', { + 'checksums': ['6e52c21afff35cb659c6e52d8b4d61b9bd544557180440538f255d9382c8cbe0'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('importlib_resources', '5.10.0', { + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('virtualenv', '20.16.6', { + 'checksums': ['530b850b523c6449406dfba859d6345e48ef19b8439606c5d74d7d3c9e14d76e'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + ('chardet', '5.0.0', { + 'checksums': ['0368df2bfd78b5fc20572bb4e9bb7fb53e2c094f60ae9993339e8671d0afb8aa'], + }), + ('certifi', '2022.9.24', { + 'checksums': ['0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14'], + }), + ('urllib3', '1.26.12', { + 'checksums': ['3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e'], + }), + ('charset-normalizer', '2.1.1', { + 'checksums': ['5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845'], + }), + ('requests', '2.28.1', { + 'checksums': ['7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.14', { + 'checksums': ['ea60f9404a18346d5a63854db21c50666dfb4274ae111000165b31c6f8ab93f1'], + }), + ('tabulate', '0.9.0', { + 'checksums': ['0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c'], + }), + ('ujson', '5.5.0', { + 'checksums': ['b25077a971c7da47bd6846a912a747f6963776d90720c88603b1b55d81790780'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('more-itertools', '9.0.0', { + 'checksums': ['5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab'], + }), + ('attrs', '22.1.0', { + 'modulename': 'attr', + 'checksums': ['29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6'], + }), + ('backports.functools_lru_cache', '1.6.4', { + 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + }), + ('wcwidth', '0.2.5', { + 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + }), + ('colorama', '0.4.6', { + 'checksums': ['08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44'], + }), + ('flit_scm', '1.7.0', { + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('exceptiongroup', '1.0.1', { + 'checksums': ['73866f7f842ede6cb1daa42c4af078e2035e5f7607f0e2c762cc51bb31bbe7b2'], + }), + ('pytest', '7.2.0', { + 'checksums': ['c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59'], + }), + ('MarkupSafe', '2.1.1', { + 'checksums': ['7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b'], + }), + ('Jinja2', '3.1.2', { + 'checksums': ['31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852'], + }), + ('sphinxcontrib-serializinghtml', '1.1.5', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'], + }), + ('sphinxcontrib-websupport', '1.2.4', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], + }), + ('Pygments', '2.13.0', { + 'checksums': ['56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1'], + }), + ('imagesize', '1.4.1', { + 'checksums': ['69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a'], + }), + ('docutils', '0.19', { + 'checksums': ['33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6'], + }), + ('snowballstemmer', '2.2.0', { + 'checksums': ['09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1'], + }), + ('alabaster', '0.7.12', { + 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], + }), + ('sphinxcontrib-applehelp', '1.0.2', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58'], + }), + ('sphinxcontrib-devhelp', '1.0.2', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], + }), + ('sphinxcontrib-htmlhelp', '2.0.0', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.3', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], + }), + ('Babel', '2.11.0', { + 'checksums': ['5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6'], + }), + ('Sphinx', '5.3.0', { + 'checksums': ['51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5'], + }), + ('sphinx-bootstrap-theme', '0.8.1', { + 'checksums': ['683e3b735448dadd0149f76edecf95ff4bd9157787e9e77e0d048ca6f1d680df'], + }), + ('click', '8.1.3', { + 'checksums': ['7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e'], + }), + ('psutil', '5.9.4', { + 'checksums': ['3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('tomli_w', '1.0.0', { + 'checksums': ['f463434305e0336248cac9c2dc8076b707d8a12d019dd349f5c1e382dd1ae1b9'], + }), + ('flit', '3.8.0', { + 'checksums': ['d0f2a8f4bd45dc794befbf5839ecc0fd3830d65a57bd52b5997542fac5d5e937'], + }), + ('regex', '2022.10.31', { + 'checksums': ['a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.3.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['300f4b0825f57688b47b6d70c6a31de33512eb2fa1ac614f780939aa0cf91680'], + }), + ('clikit', '0.6.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('keyring', '23.11.0', { + 'modulename': False, + 'checksums': ['ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361'], + }), + ('jaraco.classes', '3.2.3', { + 'checksums': ['89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a'], + }), + ('keyrings.alt', '4.2.0', { + 'modulename': False, + 'checksums': ['2ba3d56441ba0637f5f9c096068f67010ac0453f9d0b626de2aa3019353b6431'], + }), + ('tomlkit', '0.11.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b'], + }), + ('shellingham', '1.5.0', { + 'checksums': ['72fb7f5c63103ca2cb91b23dee0c71fe8ad6fbfd46418ef17dbe40db51592dad'], + }), + ('requests-toolbelt', '0.9.1', { + 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], + }), + ('pyrsistent', '0.19.2', { + 'checksums': ['bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2'], + }), + ('pkginfo', '1.8.3', { + 'checksums': ['a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('hatch_fancy_pypi_readme', '22.8.0', { + 'checksums': ['da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a'], + }), + ('jsonschema', '4.17.0', { + 'checksums': ['5bfcf2bca16a087ade17e02b282d34af7ccd749ef76241e7f9bd7c0cb8a9424d'], + }), + ('simplejson', '3.17.6', { + 'checksums': ['cf98038d2abf63a1ada5730e91e84c642ba6c225b0198c3684151b1f80c5f8a6'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('cleo', '1.0.0a5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff53056589300976e960f75afb792dfbfc9c78dcbb5a448e207a17b643826360'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.4', { + 'checksums': ['f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.3.2', { + 'modulename': 'poetry.core', + 'checksums': ['0ab006a40cb38d6a38b97264f6835da2f08a96912f2728ce668e9ac6a34f686f'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('dulwich', '0.20.50', { + 'checksums': ['50a941796b2c675be39be728d540c16b5b7ce77eb9e1b3f855650ece6832d2be'], + }), + ('poetry_plugin_export', '1.2.0', { + 'checksums': ['9a1dd42765408931d7831738749022651d43a2968b67c988db1b7a567dfe41ef'], + }), + ('poetry', '1.2.2', { + 'checksums': ['6d9ed0b1b826a0a79190f2078d7d78483fa24bf2494f3b170e354eaa5e7b5ea1'], + }), + ('fsspec', '2022.11.0', { + 'checksums': ['259d5fd5c8e756ff2ea72f42e7613c32667dc2049a4ac3d84364a7ca034acb8b'], + }), + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('doit', '0.36.0', { + 'checksums': ['71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc'], + }), + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + ('pydevtool', '0.3.0', { + 'checksums': ['25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a'], + }), + ('rich', '13.1.0', { + 'checksums': ['81c73a30b144bbcdedc13f4ea0b6ffd7fdc3b0d3cc259a9402309c8e4aee1964'], + }), + ('rich-click', '1.6.0', { + 'checksums': ['33799c31f8817101f2eb8fe90e95d2c2acd428a567ee64358ca487f963f75e9c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-xdist', '3.1.0', { + 'modulename': 'xdist', + 'checksums': ['40fdb8f3544921c5dfcd486ac080ce22870e71d82ced6d2e78fa97c2addd480c'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb new file mode 100644 index 00000000000..7c1cddc4f4e --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.11.2-GCCcore-12.2.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.11.2' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['2411c74bda5bbcfcddaf4531f66d1adc73f247f529aee981b029513aefdbf849'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('binutils', '2.39'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.12'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..092c0b628d7 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.11.3-GCCcore-12.3.0.eb @@ -0,0 +1,70 @@ +name = 'Python' +version = '3.11.3' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['1a79f3df32265d9e6625f1a0b31c28eb1594df911403d11f3320ee1da1b3e048'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('SQLite', '3.42.0'), + ('XZ', '5.4.2'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-05-17 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.40.0', { + 'checksums': ['cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873'], + }), + ('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'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..5ad7ceb101b --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.11.5-GCCcore-13.2.0.eb @@ -0,0 +1,70 @@ +name = 'Python' +version = '3.11.5' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('binutils', '2.40'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.13'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('SQLite', '3.43.1'), + ('XZ', '5.4.4'), + ('libffi', '3.4.4'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2023-09-28 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('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'], + }), + ('pip', '23.2.1', { + 'checksums': ['fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..af5f4d13235 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.12.3-GCCcore-13.3.0.eb @@ -0,0 +1,72 @@ +name = 'Python' +version = '3.12.3' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +patches = ['Python-3.12.3_avoid-tkinter-build.patch'] +checksums = [ + {'Python-3.12.3.tgz': 'a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'}, + {'Python-3.12.3_avoid-tkinter-build.patch': '34fa44ca67fc08d41c58db2e289317f12f32777a352a982dca2e63459fc089e3'}, +] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('binutils', '2.42'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.3.1'), + ('libreadline', '8.2'), + ('ncurses', '6.5'), + ('SQLite', '3.45.3'), + ('XZ', '5.4.5'), + ('libffi', '3.4.5'), + ('OpenSSL', '3', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 2024-05-21 +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('wheel', '0.43.0', { + 'checksums': ['465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('packaging', '24.0', { + 'checksums': ['eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9'], + }), + ('typing_extensions', '4.11.0', { + 'checksums': ['83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0'], + }), + ('setuptools', '70.0.0', { + 'checksums': ['f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0'], + }), + ('setuptools_scm', '8.1.0', { + 'checksums': ['42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7'], + }), + ('pip', '24.0', { + 'checksums': ['ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch b/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch new file mode 100644 index 00000000000..cd6261321c0 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.12.3_avoid-tkinter-build.patch @@ -0,0 +1,17 @@ +Explicitly disable building of _tkinter module +Simon Branford (University of Birmingham) +--- configure.orig 2024-05-24 11:09:00.888859445 +0100 ++++ configure 2024-05-24 11:52:11.840124559 +0100 +@@ -30585,11 +30585,11 @@ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _tkinter" >&5 + printf %s "checking for stdlib extension module _tkinter... " >&6; } + if test "$py_cv_module__tkinter" != "n/a" + then : + +- if true ++ if false + then : + if test "$have_tcltk" = "yes" + then : + py_cv_module__tkinter=yes + else $as_nop diff --git a/easybuild/easyconfigs/p/Python/Python-3.6.2-intel-2017b.eb b/easybuild/easyconfigs/p/Python/Python-3.6.2-intel-2017b.eb index 7bfa572ace5..feb2f81b6b7 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.6.2-intel-2017b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.6.2-intel-2017b.eb @@ -132,15 +132,15 @@ exts_list = [ ('pycparser', '2.19', { 'checksums': ['a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3'], }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), ('cryptography', '2.0.3', { 'checksums': ['d04bb2425086c3fe86f7bc48915290b13e798497839fbb18ab7f6dffcf98cc3a'], }), ('pyasn1', '0.4.3', { 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], }), - ('cffi', '1.11.5', { - 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], - }), ('PyNaCl', '1.2.1', { 'checksums': ['e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9'], 'modulename': 'nacl', diff --git a/easybuild/easyconfigs/p/Python/Python-3.6.3-foss-2017b.eb b/easybuild/easyconfigs/p/Python/Python-3.6.3-foss-2017b.eb index 971a41dc778..21619609a88 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.6.3-foss-2017b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.6.3-foss-2017b.eb @@ -128,15 +128,15 @@ exts_list = [ ('pycparser', '2.19', { 'checksums': ['a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3'], }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), ('cryptography', '2.1.1', { 'checksums': ['2699ed21e1f73dd1bdb7b0b22a517295de07809d535b23e200dd22166037fe6f'], }), ('pyasn1', '0.4.3', { 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], }), - ('cffi', '1.11.5', { - 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], - }), ('PyNaCl', '1.2.1', { 'checksums': ['e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9'], 'modulename': 'nacl', diff --git a/easybuild/easyconfigs/p/Python/Python-3.6.3-fosscuda-2017b.eb b/easybuild/easyconfigs/p/Python/Python-3.6.3-fosscuda-2017b.eb index 4ba48e9fbda..6fb51065a60 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.6.3-fosscuda-2017b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.6.3-fosscuda-2017b.eb @@ -128,15 +128,15 @@ exts_list = [ ('pycparser', '2.19', { 'checksums': ['a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3'], }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), ('cryptography', '2.1.1', { 'checksums': ['2699ed21e1f73dd1bdb7b0b22a517295de07809d535b23e200dd22166037fe6f'], }), ('pyasn1', '0.4.3', { 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], }), - ('cffi', '1.11.5', { - 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], - }), ('PyNaCl', '1.2.1', { 'checksums': ['e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9'], 'modulename': 'nacl', diff --git a/easybuild/easyconfigs/p/Python/Python-3.6.3-intel-2017b.eb b/easybuild/easyconfigs/p/Python/Python-3.6.3-intel-2017b.eb index 3fb4a2f7fb9..9800d4ce806 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.6.3-intel-2017b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.6.3-intel-2017b.eb @@ -136,15 +136,15 @@ exts_list = [ ('pycparser', '2.19', { 'checksums': ['a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3'], }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), ('cryptography', '2.1.1', { 'checksums': ['2699ed21e1f73dd1bdb7b0b22a517295de07809d535b23e200dd22166037fe6f'], }), ('pyasn1', '0.4.3', { 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], }), - ('cffi', '1.11.5', { - 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], - }), ('PyNaCl', '1.2.1', { 'checksums': ['e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9'], 'modulename': 'nacl', diff --git a/easybuild/easyconfigs/p/Python/Python-3.6.3-intelcuda-2017b.eb b/easybuild/easyconfigs/p/Python/Python-3.6.3-intelcuda-2017b.eb index b9fbee6941a..9b9457942e0 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.6.3-intelcuda-2017b.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.6.3-intelcuda-2017b.eb @@ -136,15 +136,15 @@ exts_list = [ ('pycparser', '2.19', { 'checksums': ['a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3'], }), + ('cffi', '1.11.5', { + 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], + }), ('cryptography', '2.1.1', { 'checksums': ['2699ed21e1f73dd1bdb7b0b22a517295de07809d535b23e200dd22166037fe6f'], }), ('pyasn1', '0.4.3', { 'checksums': ['fb81622d8f3509f0026b0683fe90fea27be7284d3826a5f2edf97f69151ab0fc'], }), - ('cffi', '1.11.5', { - 'checksums': ['e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4'], - }), ('PyNaCl', '1.2.1', { 'checksums': ['e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9'], 'modulename': 'nacl', 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/Python/Python-3.8.2-GCCcore-9.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.8.2-GCCcore-9.3.0.eb index f3b5d1b0640..7e9174f9fe2 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.8.2-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.8.2-GCCcore-9.3.0.eb @@ -14,6 +14,7 @@ checksums = ['e634a7a74776c2b89516b2e013dda1728c89c8149b9863b8cea21946daf9d561'] builddependencies = [ ('UnZip', '6.0'), + ('git', '2.23.0', '-nodocs'), # required for pbr ] dependencies = [ diff --git a/easybuild/easyconfigs/p/Python/Python-3.8.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.8.6-GCCcore-10.2.0.eb index 602f3f5c329..46621989091 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.8.6-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.8.6-GCCcore-10.2.0.eb @@ -14,6 +14,7 @@ checksums = ['313562ee9986dc369cd678011bdfd9800ef62fbf7b1496228a18f86b36428c21'] builddependencies = [ ('UnZip', '6.0'), + ('git', '2.28.0', '-nodocs'), # required for pbr ] dependencies = [ diff --git a/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0-bare.eb index e96cf3a75bc..451ff497b6e 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0-bare.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0-bare.eb @@ -15,6 +15,7 @@ checksums = ['e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab'] builddependencies = [ ('UnZip', '6.0'), + ('pkg-config', '0.29.2'), ] dependencies = [ @@ -26,7 +27,7 @@ dependencies = [ ('SQLite', '3.35.4'), ('XZ', '5.2.5'), ('libffi', '3.3'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] install_pip = True diff --git a/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0.eb index 4ba357afee6..f225ea27ce8 100644 --- a/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/Python/Python-3.9.5-GCCcore-10.3.0.eb @@ -15,6 +15,8 @@ checksums = ['e0fbd5b6e1ee242524430dee3c91baf4cbbaba4a72dd1674b90fda87b713c7ab'] builddependencies = [ ('UnZip', '6.0'), ('Rust', '1.52.1'), # required for setuptools-rust, which is needed for cryptography + ('pkg-config', '0.29.2'), + ('git', '2.32.0', '-nodocs'), # required for pbr ] dependencies = [ @@ -27,7 +29,7 @@ dependencies = [ ('XZ', '5.2.5'), ('GMP', '6.2.1'), # required for pycrypto ('libffi', '3.3'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] install_pip = True diff --git a/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0-bare.eb b/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0-bare.eb new file mode 100644 index 00000000000..44e990e3147 --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0-bare.eb @@ -0,0 +1,35 @@ +name = 'Python' +version = '3.9.6' +versionsuffix = '-bare' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866'] + +builddependencies = [ + ('UnZip', '6.0'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.11'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('SQLite', '3.36'), + ('XZ', '5.2.5'), + ('libffi', '3.4.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..707d986560a --- /dev/null +++ b/easybuild/easyconfigs/p/Python/Python-3.9.6-GCCcore-11.2.0.eb @@ -0,0 +1,465 @@ +name = 'Python' +version = '3.9.6' + +homepage = 'https://python.org/' +description = """Python is a programming language that lets you work more quickly and integrate your systems + more effectively.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/%(namelower)s/%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866'] + +builddependencies = [ + ('UnZip', '6.0'), + ('Rust', '1.54.0'), # required for setuptools-rust, which is needed for cryptography + ('pkg-config', '0.29.2'), + ('git', '2.33.1', '-nodocs'), # required for pbr +] + +dependencies = [ + ('binutils', '2.37'), + ('bzip2', '1.0.8'), # required for bz2 package in Python stdlib + ('zlib', '1.2.11'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('SQLite', '3.36'), + ('XZ', '5.2.5'), + ('GMP', '6.2.1'), # required for pycrypto + ('libffi', '3.4.2'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +install_pip = True + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, +} + +# order is important! +# package versions updated 06 August 2021 +exts_list = [ + ('wheel', '0.36.2', { + 'checksums': ['e11eefd162658ea59a60a0f6c7d493a7190ea4b9a85e335b33489d9f17e0245e'], + }), + ('setuptools', '57.4.0', { + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('pip', '21.2.2', { + 'checksums': ['38e9250dfb0d7fa842492bede9259d4b3289a936ce454f7c58f059f28a94c01d'], + }), + ('nose', '1.3.7', { + 'checksums': ['f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98'], + }), + ('blist', '1.3.6', { + 'patches': ['Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch'], + 'checksums': [ + '3a12c450b001bdf895b30ae818d4d6d3f1552096b8c995f0fe0c74bef04d1fc3', # blist-1.3.6.tar.gz + # Python-3_9-blist-1.3.6-fix-undefined_symbol_PyObject_GC_IS_TRACKED.patch + '18a643d1d1565b05df7dcc9a612a86dcf7b3b352435032f6425a61b597f911d0', + ], + }), + ('paycheck', '1.0.2', { + 'checksums': ['6db7fc367c146cd59d2327ad4d2d6b0a24bc1be2d6953bb0773cbf702ee1ed34'], + }), + ('pbr', '5.6.0', { + 'checksums': ['42df03e7797b796625b1029c0400279c7c34fd7df24a7d7818a1abb5b38710dd'], + }), + ('Cython', '0.29.24', { + 'checksums': ['cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443'], + }), + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('setuptools_scm', '6.0.1', { + 'checksums': ['d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92'], + }), + ('python-dateutil', '2.8.2', { + 'modulename': 'dateutil', + 'checksums': ['0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86'], + }), + ('decorator', '5.0.9', { + 'checksums': ['72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5'], + }), + ('liac-arff', '2.5.0', { + 'modulename': 'arff', + 'checksums': ['3220d0af6487c5aa71b47579be7ad1d94f3849ff1e224af3bf05ad49a0b5c4da'], + }), + ('pycrypto', '2.6.1', { + 'modulename': 'Crypto', + 'patches': ['pycrypto-2.6.1_remove-usr-include.patch'], + 'checksums': [ + 'f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c', # pycrypto-2.6.1.tar.gz + # pycrypto-2.6.1_remove-usr-include.patch + '06c3d3bb290305e1360a023ea03f9281116c230de62382e6be9474996086712e', + ], + }), + ('ecdsa', '0.17.0', { + 'checksums': ['b9f500bb439e4153d0330610f5d26baaf18d17b8ced1bc54410d189385ea68aa'], + }), + ('ipaddress', '1.0.23', { + 'checksums': ['b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2'], + }), + ('asn1crypto', '1.4.0', { + 'checksums': ['f4f6e119474e58e04a2b1af817eb585b4fd72bdd89b998624712b5c99be7641c'], + }), + ('idna', '3.2', { + 'checksums': ['467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3'], + }), + ('pycparser', '2.20', { + 'checksums': ['2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0'], + }), + ('cffi', '1.14.6', { + 'checksums': ['c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd'], + }), + ('semantic_version', '2.8.5', { + 'checksums': ['d2cb2de0558762934679b9a104e82eca7af448c9f4974d1f3eeccff651df8a54'], + }), + ('setuptools-rust', '0.12.1', { + 'checksums': ['647009e924f0ae439c7f3e0141a184a69ad247ecb9044c511dabde232d3d570e'], + }), + ('cryptography', '3.4.7', { + 'checksums': ['3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713'], + # avoid that cargo uses $HOME/.cargo, which can lead to build failures if home directory is NFS mounted, + # see https://github.com/rust-lang/cargo/issues/6652 + 'preinstallopts': "export CARGO_HOME=%(builddir)s/cargo && ", + }), + ('pyasn1', '0.4.8', { + 'checksums': ['aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba'], + }), + ('PyNaCl', '1.4.0', { + 'modulename': 'nacl', + 'checksums': ['54e9a2c849c742006516ad56a88f5c74bf2ce92c9f67435187c3c5953b346505'], + }), + ('bcrypt', '3.2.0', { + 'checksums': ['5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29'], + }), + ('paramiko', '2.7.2', { + 'checksums': ['7f36f4ba2c0d81d219f4595e35f70d56cc94f9ac40a6acdf51d6ca210ce65035'], + }), + ('pyparsing', '2.4.7', { + 'checksums': ['c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1'], + }), + ('netifaces', '0.11.0', { + 'checksums': ['043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32'], + }), + ('netaddr', '0.8.0', { + 'checksums': ['d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('pytz', '2021.1', { + 'checksums': ['83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da'], + }), + ('bitstring', '3.1.9', { + 'checksums': ['a5848a3f63111785224dca8bb4c0a75b62ecdef56a042c8d6be74b16f7e860e7'], + }), + ('appdirs', '1.4.4', { + 'checksums': ['7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41'], + }), + ('distlib', '0.3.2', { + 'source_tmpl': 'distlib-%(version)s.zip', + 'checksums': ['106fef6dc37dd8c0e2c0a60d3fca3e77460a48907f335fa28420463a6f799736'], + }), + ('filelock', '3.0.12', { + 'checksums': ['18d82244ee114f543149c66a6e0c14e9c4f8a1044b5cdaadd0f82159d6a6ff59'], + }), + ('zipp', '3.5.0', { + 'checksums': ['f5812b1e007e48cff63449a5e9f4e7ebea716b4111f9c4f9a645f91d579bf0c4'], + }), + ('typing_extensions', '3.10.0.0', { + 'checksums': ['50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342'], + }), + ('importlib_metadata', '4.6.3', { + 'checksums': ['0645585859e9a6689c523927a5032f2ba5919f1f7d0e84bd4533312320de1ff9'], + }), + ('backports.entry_points_selectable', '1.1.0', { + 'checksums': ['988468260ec1c196dab6ae1149260e2f5472c9110334e5d51adcb77867361f6a'], + }), + ('platformdirs', '2.2.0', { + 'checksums': ['632daad3ab546bd8e6af0537d09805cec458dce201bccfe23012df73332e181e'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.6', { + 'checksums': ['7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f'], + }), + ('importlib_resources', '5.2.2', { + 'checksums': ['a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b'], + }), + ('virtualenv', '20.7.0', { + 'checksums': ['97066a978431ec096d163e72771df5357c5c898ffdd587048f45e0aecc228094'], + }), + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + ('joblib', '1.0.1', { + 'checksums': ['9c17567692206d2f3fb9ecf5e991084254fe631665c450b443761c4186a613f7'], + }), + ('chardet', '4.0.0', { + 'checksums': ['0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa'], + }), + ('certifi', '2021.5.30', { + 'checksums': ['2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee'], + }), + ('urllib3', '1.26.6', { + 'checksums': ['f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f'], + }), + ('charset-normalizer', '2.0.4', { + 'checksums': ['f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3'], + }), + ('requests', '2.26.0', { + 'checksums': ['b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('py_expression_eval', '0.3.13', { + 'checksums': ['6e7d59d391d54a034609ce66b820e7dd68c757672d166dcc514bf7abf15ba57e'], + }), + ('tabulate', '0.8.9', { + 'checksums': ['eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7'], + }), + ('ujson', '4.0.2', { + 'checksums': ['c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d'], + }), + ('atomicwrites', '1.4.0', { + 'checksums': ['ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a'], + }), + ('py', '1.10.0', { + 'checksums': ['21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3'], + }), + ('pluggy', '0.13.1', { + 'checksums': ['15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0'], + }), + ('more-itertools', '8.8.0', { + 'checksums': ['83f0308e05477c68f56ea3a888172c78ed5d5b3c282addb67508e7ba6c8f813a'], + }), + ('attrs', '21.2.0', { + 'modulename': 'attr', + 'checksums': ['ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb'], + }), + ('backports.functools_lru_cache', '1.6.4', { + 'checksums': ['d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271'], + }), + ('wcwidth', '0.2.5', { + 'checksums': ['c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + }), + ('packaging', '20.9', { + 'checksums': ['5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5'], + }), + ('colorama', '0.4.4', { + 'checksums': ['5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b'], + }), + ('pytest', '6.2.4', { + 'checksums': ['50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b'], + }), + ('MarkupSafe', '2.0.1', { + 'checksums': ['594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a'], + }), + ('Jinja2', '3.0.1', { + 'checksums': ['703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4'], + }), + ('sphinxcontrib-serializinghtml', '1.1.5', { + 'modulename': 'sphinxcontrib.serializinghtml', + 'checksums': ['aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952'], + }), + ('sphinxcontrib-websupport', '1.2.4', { + 'modulename': 'sphinxcontrib.websupport', + 'checksums': ['4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232'], + }), + ('Pygments', '2.9.0', { + 'checksums': ['a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f'], + }), + ('imagesize', '1.2.0', { + 'checksums': ['b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1'], + }), + ('docutils', '0.17.1', { + 'checksums': ['686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125'], + }), + ('snowballstemmer', '2.1.0', { + 'checksums': ['e997baa4f2e9139951b6f4c631bad912dfd3c792467e2f03d7239464af90e914'], + }), + ('alabaster', '0.7.12', { + 'checksums': ['a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02'], + }), + ('sphinxcontrib-applehelp', '1.0.2', { + 'modulename': 'sphinxcontrib.applehelp', + 'checksums': ['a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58'], + }), + ('sphinxcontrib-devhelp', '1.0.2', { + 'modulename': 'sphinxcontrib.devhelp', + 'checksums': ['ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4'], + }), + ('sphinxcontrib-htmlhelp', '2.0.0', { + 'modulename': 'sphinxcontrib.htmlhelp', + 'checksums': ['f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2'], + }), + ('sphinxcontrib-jsmath', '1.0.1', { + 'modulename': 'sphinxcontrib.jsmath', + 'checksums': ['a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8'], + }), + ('sphinxcontrib-qthelp', '1.0.3', { + 'modulename': 'sphinxcontrib.qthelp', + 'checksums': ['4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72'], + }), + ('Babel', '2.9.1', { + 'checksums': ['bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0'], + }), + ('Sphinx', '4.1.2', { + 'checksums': ['3092d929cd807926d846018f2ace47ba2f3b671b309c7a89cd3306e80c826b13'], + }), + ('sphinx-bootstrap-theme', '0.7.1', { + 'checksums': ['571e43ccb76d4c6c06576aa24a826b6ebc7adac45a5b54985200128806279d08'], + }), + ('click', '8.0.1', { + 'checksums': ['8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a'], + }), + ('psutil', '5.8.0', { + 'checksums': ['0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6'], + }), + ('future', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('sortedcontainers', '2.4.0', { + 'checksums': ['25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88'], + }), + ('intervaltree', '3.1.0', { + 'checksums': ['902b1b88936918f9b2a19e0e5eb7ccb430ae45cde4f39ea4b36932920d33952d'], + }), + ('pytoml', '0.1.21', { + 'checksums': ['8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7'], + }), + ('flit-core', '3.3.0', { + 'source_tmpl': 'flit_core-%(version)s.tar.gz', + 'checksums': ['b1404accffd6504b5f24eeca9ec5d3c877f828d16825348ba81515fa084bd5f0'], + }), + ('zipfile36', '0.1.3', { + 'checksums': ['a78a8dddf4fa114f7fe73df76ffcce7538e23433b7a6a96c1c904023f122aead'], + }), + ('flit', '3.3.0', { + 'checksums': ['65fbe22aaa7f880b776b20814bd80b0afbf91d1f95b17235b608aa256325ce57'], + }), + ('regex', '2021.8.3', { + 'checksums': ['8935937dad2c9b369c3d932b0edbc52a62647c2afb2fafc0c280f14a8bf56a6a'], + }), + ('intreehooks', '1.0', { + 'checksums': ['87e600d3b16b97ed219c078681260639e77ef5a17c0e0dbdd5a302f99b4e34e1'], + }), + ('pylev', '1.4.0', { + 'checksums': ['9e77e941042ad3a4cc305dcdf2b2dec1aec2fbe3dd9015d2698ad02b173006d1'], + }), + ('pastel', '0.2.1', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364'], + }), + ('crashtest', '0.3.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['300f4b0825f57688b47b6d70c6a31de33512eb2fa1ac614f780939aa0cf91680'], + }), + ('clikit', '0.6.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['71268e074e68082306e23d7369a7b99f824a0ef926e55ba2665e911f7208489e'], + }), + ('jeepney', '0.7.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['1b5a0ea5c0e7b166b2f5895b91a08c14de8915afda4407fb5022a195224958ac'], + }), + ('SecretStorage', '3.3.1', { + 'checksums': ['fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195'], + }), + ('keyring', '21.2.0', { + 'modulename': False, # Doesn't work properly if HOME directory contains keys + 'checksums': ['197fd5903901030ef7b82fe247f43cfed2c157a28e7747d1cfcf4bc5e699dd03'], + }), + ('keyrings.alt', '4.1.0', { + 'modulename': False, + 'checksums': ['52ccb61d6f16c10f32f30d38cceef7811ed48e086d73e3bae86f0854352c4ab2'], + }), + ('tomlkit', '0.7.2', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['173ad840fa5d2aac140528ca1933c29791b79a374a0861a80347f42ec9328117'], + }), + ('shellingham', '1.4.0', { + 'checksums': ['4855c2458d6904829bd34c299f11fdeed7cfefbf8a2c522e4caea6cd76b3171e'], + }), + ('requests-toolbelt', '0.9.1', { + 'checksums': ['968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0'], + }), + ('pyrsistent', '0.18.0', { + 'checksums': ['773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b'], + }), + ('pkginfo', '1.7.1', { + 'checksums': ['e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '3.2.0', { + 'checksums': ['c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a'], + }), + ('simplejson', '3.17.3', { + 'checksums': ['da72a452bcf4349fc467a12b54ab0e63e654a571cacc44084826d52bde12b6ee'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('cleo', '0.8.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['141cda6dc94a92343be626bb87a0b6c86ae291dfc732a57bf04310d4b4201753'], + }), + ('cachy', '0.3.0', { + 'checksums': ['186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1'], + }), + ('msgpack', '1.0.2', { + 'checksums': ['fae04496f5bc150eefad4e9571d1a76c55d021325dcd484ce45065ebbdd00984'], + }), + ('CacheControl', '0.12.6', { + 'checksums': ['be9aa45477a134aee56c8fac518627e1154df063e85f67d4f83ce0ccc23688e8'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.0.3', { + 'modulename': 'poetry.core', + 'checksums': ['2315c928249fc3207801a81868b64c66273077b26c8d8da465dccf8f488c90c5'], + }), + ('glob2', '0.7', { + 'checksums': ['85c3dbd07c8aa26d63d7aacee34fa86e9a91a3873bc30bf62ec46e531f92ab8c'], + }), + ('poetry', '1.1.7', { + 'checksums': ['3833c7b22411b8393e8e594fede94f0ef7a5260c19f51e272cce76512cffe6c8'], + }), + ('fsspec', '2021.7.0', { + 'checksums': ['792ebd3b54de0b30f1ce73f0ba0a8bcc864724f2d9f248cb8d0ece47db0cbde8'], + }), + ('threadpoolctl', '2.2.0', { + 'checksums': ['86d4b6801456d780e94681d155779058759eaef3c3564758b17b6c99db5f81cb'], + }), + ('simplegeneric', '0.8.1', { + 'source_tmpl': 'simplegeneric-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..62561fca653 --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.24.1' + +homepage = 'https://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libtasn1', '4.18.0'), + ('libffi', '3.4.2'), +] + +preconfigopts = "bashcompdir=%(installdir)s/share/bash-completions " + +configopts = "--without-systemd" + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % SHLIB_EXT], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +sanity_check_commands = ["p11-kit --help"] + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..08cb956cf61 --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.24.1-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.24.1' + +homepage = 'https://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libtasn1', '4.19.0'), + ('libffi', '3.4.2'), +] + +preconfigopts = "bashcompdir=%(installdir)s/share/bash-completions " + +configopts = "--without-systemd" + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % SHLIB_EXT], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +sanity_check_commands = ["p11-kit --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..64d64977241 --- /dev/null +++ b/easybuild/easyconfigs/p/p11-kit/p11-kit-0.25.3-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'p11-kit' +version = '0.25.3' + +homepage = 'https://p11-glue.freedesktop.org/p11-kit.html' +description = """Provides a way to load and enumerate PKCS#11 modules. + Provides a standard configuration setup for installing + PKCS#11 modules in such a way that they're discoverable. + Also solves problems with coordinating the use of PKCS#11 + by different components or libraries living in the same process.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/p11-glue/p11-kit/releases/download/%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['d8ddce1bb7e898986f9d250ccae7c09ce14d82f1009046d202a0eb1b428b2adc'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libtasn1', '4.19.0'), + ('libffi', '3.4.4'), +] + +preconfigopts = "bashcompdir=%(installdir)s/share/bash-completions " + +configopts = "--without-systemd" + +sanity_check_paths = { + 'files': ['bin/p11-kit', 'bin/trust'] + + ['lib/libp11-kit.%s' % SHLIB_EXT], + 'dirs': ['include/p11-kit-1/p11-kit'], +} + +sanity_check_commands = ["p11-kit --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/p4est/p4est-2.2-foss-2019a.eb b/easybuild/easyconfigs/p/p4est/p4est-2.2-foss-2019a.eb new file mode 100644 index 00000000000..20a5323912e --- /dev/null +++ b/easybuild/easyconfigs/p/p4est/p4est-2.2-foss-2019a.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'p4est' +version = '2.2' + +homepage = 'https://www.p4est.org' +description = """p4est is a C library to manage a collection (a forest) of multiple +connected adaptive quadtrees or octrees in parallel.""" + +toolchain = {'name': 'foss', 'version': '2019a'} +# disable architecture-specific optimisations to fix failing sc_test_dmatrix test +# cfr. https://github.com/cburstedde/libsc/issues/15 +toolchainopts = {'openmp': True, 'usempi': True, 'optarch': False} + +source_urls = [ + 'https://github.com/cburstedde/p4est/archive', + 'https://github.com/cburstedde/libsc/archive/', +] +sources = [ + 'v%(version)s.tar.gz', + {'download_filename': '5282025.tar.gz', 'filename': 'libsc-2.2.tar.gz'}, +] +checksums = [ + '7df0e9a161b6ea680324dfdbc0ffc6e0d0a6c9c9b0ea5b37c973e71a054226c2', # v2.2.tar.gz + 'c32682c7542ecf2c115150bf79c7b9ac379cb6396179878575d7b228cc0295c5', # libsc-2.2.tar.gz +] + +dependencies = [ + ('zlib', '1.2.11'), + ('METIS', '5.1.0') +] + +builddependencies = [ + ('Autotools', '20180311') +] + +preconfigopts = "rmdir sc && mv %(builddir)s/libsc-* sc && " +preconfigopts += "echo '%(version)s' >> .tarball-version && ./bootstrap && " +configopts = "--enable-openmp --enable-mpi --with-metis " +configopts += "--with-blas=$EBROOTOPENBLAS/lib/libopenblas.a --with-lapack=$EBROOTOPENBLAS/lib/libopenblas.a" + +runtest = 'check VERBOSE=1' + +sanity_check_paths = { + 'files': ['bin/p4est_simple', 'bin/p4est_step1', 'bin/p4est_step2', 'bin/p4est_step3', 'bin/p4est_step4', + 'lib/libp4est-%%(version)s.%s' % SHLIB_EXT, 'lib/libp4est.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/p4est/p4est-2.8-foss-2021a.eb b/easybuild/easyconfigs/p/p4est/p4est-2.8-foss-2021a.eb new file mode 100644 index 00000000000..b8097204f60 --- /dev/null +++ b/easybuild/easyconfigs/p/p4est/p4est-2.8-foss-2021a.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'p4est' +version = '2.8' + +homepage = 'https://www.p4est.org' +description = """p4est is a C library to manage a collection (a forest) of multiple +connected adaptive quadtrees or octrees in parallel.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://p4est.github.io/release'] +sources = [SOURCE_TAR_GZ] +patches = [ + # 'p4est-2.2_remove_loadsave_tests.patch', + # 'p4est-2.8_automake_version.patch', + # 'sc_test_sort.patch', +] +checksums = ['6a0586e3abac06c20e31b1018f3a82a564a6a0d9ff6b7f6c772a9e6b0f0cc5e4'] + +# checksums = [ +# '6a0586e3abac06c20e31b1018f3a82a564a6a0d9ff6b7f6c772a9e6b0f0cc5e4', # p4est-2.8.tar.gz +# '20cabc7985edbc007fb8190fafc51b873a2c3eb879700ff93432646b563ec642', # p4est-2.2_remove_loadsave_tests.patch +# ] + +builddependencies = [ + ('Autotools', '20210128') +] + +dependencies = [ + ('zlib', '1.2.11'), + ('METIS', '5.1.0') +] + +# preconfigopts = "./bootstrap && " +# preconfigopts = 'autoreconf -f -i && ' +configopts = "--enable-openmp --enable-mpi --with-metis " +configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' + +configopts += '--disable-shared --enable-static ' + +# commenting out 'make check' - one test fails and if we patched +# runtest = 'check VERBOSE=1' + +sanity_check_paths = { + 'files': ['bin/p4est_simple', 'bin/p4est_step1', 'bin/p4est_step2', 'bin/p4est_step3', 'bin/p4est_step4', + 'lib/libp4est.a', 'lib/libp4est.la'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb b/easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb new file mode 100644 index 00000000000..afc3d3fb705 --- /dev/null +++ b/easybuild/easyconfigs/p/p4est/p4est-2.8.6-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'p4est' +version = '2.8.6' + +homepage = 'https://www.p4est.org' +description = """p4est is a C library to manage a collection (a forest) of multiple +connected adaptive quadtrees or octrees in parallel.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://p4est.github.io/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['46ee0c6e5a24f45be97fba743f5ef3d9618c075b023e9421ded9fc8cf7811300'] + +builddependencies = [ + ('Autotools', '20220317') +] + +dependencies = [ + ('zlib', '1.2.13'), + ('METIS', '5.1.0') +] + +configopts = "--enable-openmp --enable-mpi --with-metis " +configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" ' + +sanity_check_paths = { + 'files': ['bin/p4est_simple', 'bin/p4est_step1', 'bin/p4est_step2', 'bin/p4est_step3', 'bin/p4est_step4', + 'lib/libp4est.a', 'lib/libp4est.la'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb index 7da7616f42f..9ceffd4c100 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.03-GCCcore-10.2.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.03' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['bb4b9b21584c0e076e0b4b2705af0dbe7ac19d378aa7f09a79da33a5b3293187'] @@ -22,18 +22,26 @@ prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' files_to_copy = [ - (['bin/7z', 'bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), - (['bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), # 7z requires 7z.so plugin in same directory +] + +# put script in place for 7z, since it *must* be called full path, to ensure that 7z.so is found in the same directory +# see also http://sourceforge.net/p/p7zip/discussion/383044/thread/5e4085ab/ +postinstallcmds = [ + "echo '#!/bin/sh\n%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask ] sanity_check_paths = { - 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z.%s' % SHLIB_EXT], + 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z', 'libexec/7z.%s' % SHLIB_EXT], 'dirs': ['libexec/Codecs'], } sanity_check_commands = [ '7z --help', '7z x || test $? -gt 0', + "! 7z i | grep -q \"Can't load\" ", ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb index 6d18ac44dc4..1a1e8bee25f 100644 --- a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-10.3.0.eb @@ -3,13 +3,13 @@ easyblock = 'MakeCp' name = 'p7zip' version = '17.04' -homepage = 'https://github.com/jinfeihan57/p7zip/' +homepage = 'https://github.com/p7zip-project/p7zip/' description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" toolchain = {'name': 'GCCcore', 'version': '10.3.0'} -github_account = 'jinfeihan57' +github_account = 'p7zip-project' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] @@ -22,18 +22,26 @@ prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' files_to_copy = [ - (['bin/7z', 'bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), - (['bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), # 7z requires 7z.so plugin in same directory +] + +# put script in place for 7z, since it *must* be called full path, to ensure that 7z.so is found in the same directory +# see also http://sourceforge.net/p/p7zip/discussion/383044/thread/5e4085ab/ +postinstallcmds = [ + "echo '#!/bin/sh\n%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask ] sanity_check_paths = { - 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z.%s' % SHLIB_EXT], + 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z', 'libexec/7z.%s' % SHLIB_EXT], 'dirs': ['libexec/Codecs'], } sanity_check_commands = [ '7z --help', '7z x || test $? -gt 0', + "! 7z i | grep -q \"Can't load\" ", ] moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cab4069d018 --- /dev/null +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'p7zip' +version = '17.04' + +homepage = 'https://github.com/p7zip-project/p7zip/' +description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of +7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'p7zip-project' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] + +builddependencies = [ + ('binutils', '2.37'), +] + +prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" +buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' + +files_to_copy = [ + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), # 7z requires 7z.so plugin in same directory +] + +# put script in place for 7z, since it *must* be called full path, to ensure that 7z.so is found in the same directory +# see also http://sourceforge.net/p/p7zip/discussion/383044/thread/5e4085ab/ +postinstallcmds = [ + "echo '#!/bin/sh\n%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask +] + +sanity_check_paths = { + 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z', 'libexec/7z.%s' % SHLIB_EXT], + 'dirs': ['libexec/Codecs'], +} + +sanity_check_commands = [ + '7z --help', + '7z x || test $? -gt 0', + "! 7z i | grep -q \"Can't load\" ", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..de1003ee0df --- /dev/null +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'p7zip' +version = '17.04' + +homepage = 'https://github.com/p7zip-project/p7zip/' +description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of +7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'p7zip-project' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] + +builddependencies = [ + ('binutils', '2.38'), +] + +prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" +buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' + +files_to_copy = [ + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), # 7z requires 7z.so plugin in same directory +] + +# put script in place for 7z, since it *must* be called full path, to ensure that 7z.so is found in the same directory +# see also http://sourceforge.net/p/p7zip/discussion/383044/thread/5e4085ab/ +postinstallcmds = [ + "echo '#!/bin/sh\n%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask +] + +sanity_check_paths = { + 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z', 'libexec/7z.%s' % SHLIB_EXT], + 'dirs': ['libexec/Codecs'], +} + +sanity_check_commands = [ + '7z --help', + '7z x || test $? -gt 0', + "! 7z i | grep -q \"Can't load\" ", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6a37b555e9e --- /dev/null +++ b/easybuild/easyconfigs/p/p7zip/p7zip-17.04-GCCcore-12.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'p7zip' +version = '17.04' + +homepage = 'https://github.com/p7zip-project/p7zip/' +description = """p7zip is a quick port of 7z.exe and 7za.exe (CLI version of +7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'p7zip-project' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ea029a2e21d2d6ad0a156f6679bd66836204aa78148a4c5e498fe682e77127ef'] + +builddependencies = [ + ('binutils', '2.40'), +] + +prebuildopts = "cp makefile.linux_amd64 makefile.linux &&" +buildopts = 'all3 CC="$CC" CXX="$CXX" OPTFLAGS="$CFLAGS"' + +files_to_copy = [ + (['bin/7za', 'bin/7zr', 'bin/7zCon.sfx'], 'bin'), # stand-alone binaries + (['bin/7z', 'bin/7z.%s' % SHLIB_EXT, 'bin/Codecs'], 'libexec'), # 7z requires 7z.so plugin in same directory +] + +# put script in place for 7z, since it *must* be called full path, to ensure that 7z.so is found in the same directory +# see also http://sourceforge.net/p/p7zip/discussion/383044/thread/5e4085ab/ +postinstallcmds = [ + "echo '#!/bin/sh\n%(installdir)s/libexec/7z $@' > %(installdir)s/bin/7z", + "chmod +x %(installdir)s/bin/7z", # set execution bits according to current umask +] + +sanity_check_paths = { + 'files': ['bin/7z', 'bin/7za', 'bin/7zCon.sfx', 'bin/7zr', 'libexec/7z', 'libexec/7z.%s' % SHLIB_EXT], + 'dirs': ['libexec/Codecs'], +} + +sanity_check_commands = [ + '7z --help', + '7z x || test $? -gt 0', + "! 7z i | grep -q \"Can't load\" ", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pFUnit/pFUnit-4.2.0-iimpi-2021a.eb b/easybuild/easyconfigs/p/pFUnit/pFUnit-4.2.0-iimpi-2021a.eb new file mode 100644 index 00000000000..6015cd42608 --- /dev/null +++ b/easybuild/easyconfigs/p/pFUnit/pFUnit-4.2.0-iimpi-2021a.eb @@ -0,0 +1,66 @@ +easyblock = 'CMakeMake' + +name = 'pFUnit' +version = '4.2.0' +local_fargparse_major_minor_version = '1.1' +local_gftl_major_minor_version = '1.3' +local_gftl_shared_major_minor_version = '1.2' + +homepage = 'https://github.com/Goddard-Fortran-Ecosystem/pFUnit' +description = """pFUnit is a unit testing framework enabling JUnit-like testing of serial + and MPI-parallel software written in Fortran.""" + +toolchain = {'name': 'iimpi', 'version': '2021a'} + +source_urls = ['https://github.com/Goddard-Fortran-Ecosystem/pFUnit/releases/download/v%(version)s'] +sources = [SOURCE_TAR] +checksums = ['33df62f80cf03827455508b67d53f820ddffa2ec0f1ba999790ff1f87592ce16'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +sanity_check_paths = { + 'files': [ + 'PFUNIT-%(version_major_minor)s/bin/funitproc', + 'PFUNIT-%(version_major_minor)s/lib/libpfunit.a' + ], + 'dirs': [ + 'FARGPARSE-%s' % local_fargparse_major_minor_version, + 'GFTL-%s' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s' % local_gftl_shared_major_minor_version, + ], +} + +sanity_check_commands = ["funitproc --help"] + +modextrapaths = { + 'PATH': ['PFUNIT-%(version_major_minor)s/bin'], + 'CPATH': [ + 'FARGPARSE-%s/include' % local_fargparse_major_minor_version, + 'GFTL-%s/include' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/include' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/include', + ], + 'LD_LIBRARY_PATH': [ + 'FARGPARSE-%s/lib' % local_fargparse_major_minor_version, + 'GFTL-%s/lib' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/lib' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/lib', + ], + 'CMAKE_PREFIX_PATH': [ + 'FARGPARSE-%s/cmake' % local_fargparse_major_minor_version, + 'GFTL-%s/cmake' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/cmake' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/cmake', + ], +} + +modextravars = {'PFUNIT': '%(installdir)s'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pFUnit/pFUnit-4.7.3-gompi-2022a.eb b/easybuild/easyconfigs/p/pFUnit/pFUnit-4.7.3-gompi-2022a.eb new file mode 100644 index 00000000000..b0cf52a8184 --- /dev/null +++ b/easybuild/easyconfigs/p/pFUnit/pFUnit-4.7.3-gompi-2022a.eb @@ -0,0 +1,63 @@ +easyblock = 'CMakeMake' + +name = 'pFUnit' +version = '4.7.3' +local_fargparse_major_minor_version = '1.5' +local_gftl_major_minor_version = '1.10' +local_gftl_shared_major_minor_version = '1.6' + +homepage = 'https://github.com/Goddard-Fortran-Ecosystem/pFUnit' +description = """pFUnit is a unit testing framework enabling JUnit-like testing of serial + and MPI-parallel software written in Fortran.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/Goddard-Fortran-Ecosystem/pFUnit/releases/download/v%(version)s'] +sources = ['%(name)s-v%(version)s.tar'] +checksums = ['247239298b55e847417b7830183d7fc62cca93dc92c8ec7c0067784b7ce34544'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('M4', '1.4.19'), +] +dependencies = [('Python', '3.10.4')] + +sanity_check_paths = { + 'files': [ + 'PFUNIT-%(version_major_minor)s/bin/funitproc', + 'PFUNIT-%(version_major_minor)s/lib/libpfunit.a' + ], + 'dirs': [ + 'FARGPARSE-%s' % local_fargparse_major_minor_version, + 'GFTL-%s' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s' % local_gftl_shared_major_minor_version, + ], +} + +sanity_check_commands = ["funitproc --help"] + +modextrapaths = { + 'PATH': ['PFUNIT-%(version_major_minor)s/bin'], + 'CPATH': [ + 'FARGPARSE-%s/include' % local_fargparse_major_minor_version, + 'GFTL-%s/include' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/include' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/include', + ], + 'LD_LIBRARY_PATH': [ + 'FARGPARSE-%s/lib' % local_fargparse_major_minor_version, + 'GFTL-%s/lib' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/lib' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/lib', + ], + 'CMAKE_PREFIX_PATH': [ + 'FARGPARSE-%s/cmake' % local_fargparse_major_minor_version, + 'GFTL-%s/cmake' % local_gftl_major_minor_version, + 'GFTL_SHARED-%s/cmake' % local_gftl_shared_major_minor_version, + 'PFUNIT-%(version_major_minor)s/cmake', + ], +} + +modextravars = {'PFUNIT': '%(installdir)s'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/packmol/packmol-20.14.4-GCC-12.3.0.eb b/easybuild/easyconfigs/p/packmol/packmol-20.14.4-GCC-12.3.0.eb new file mode 100644 index 00000000000..4f5dd6ed6b8 --- /dev/null +++ b/easybuild/easyconfigs/p/packmol/packmol-20.14.4-GCC-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'MakeCp' + +name = 'packmol' +version = '20.14.4' + +homepage = 'http://m3g.iqm.unicamp.br/packmol' +description = "Packing Optimization for Molecular Dynamics Simulations" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/m3g/packmol/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['45ec33798d5f10c0aac6046675531a0e98567890c1a76f753450c5fc6b1aaa2f'] + +buildopts = 'FORTRAN="$F90"' + +files_to_copy = [(['packmol'], 'bin'), 'AUTHORS', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/packmol', 'AUTHORS', 'LICENSE'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021a.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021a.eb new file mode 100644 index 00000000000..4f3c77ebe3a --- /dev/null +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021a.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'pagmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pagmo2' +description = "pagmo is a C++ scientific library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/esa/pagmo2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('tbb', '2020.3'), + ('Eigen', '3.3.9'), + ('NLopt', '2.7.0'), +] + +configopts = "-DPAGMO_WITH_EIGEN3=ON -DPAGMO_WITH_NLOPT=ON -DPAGMO_BUILD_TESTS=ON" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libpagmo.%s' % SHLIB_EXT], + 'dirs': ['include/pagmo', 'lib/cmake/pagmo'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021b.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021b.eb new file mode 100644 index 00000000000..f85086e034b --- /dev/null +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2021b.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'pagmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pagmo2' +description = "pagmo is a C++ scientific library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/esa/pagmo2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('tbb', '2020.3'), + ('Eigen', '3.4.0'), + ('NLopt', '2.7.0'), +] + +configopts = "-DPAGMO_WITH_EIGEN3=ON -DPAGMO_WITH_NLOPT=ON -DPAGMO_BUILD_TESTS=ON" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libpagmo.%s' % SHLIB_EXT], + 'dirs': ['include/pagmo', 'lib/cmake/pagmo'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2022a.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2022a.eb new file mode 100644 index 00000000000..8b32a6f297f --- /dev/null +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.18.0-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'pagmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pagmo2' +description = "pagmo is a C++ scientific library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/esa/pagmo2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5ad40bf3aa91857a808d6b632d9e1020341a33f1a4115d7a2b78b78fd063ae31'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('tbb', '2021.5.0'), + ('Eigen', '3.4.0'), + ('NLopt', '2.7.1'), +] + +configopts = "-DPAGMO_WITH_EIGEN3=ON -DPAGMO_WITH_NLOPT=ON -DPAGMO_BUILD_TESTS=ON" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libpagmo.%s' % SHLIB_EXT], + 'dirs': ['include/pagmo', 'lib/cmake/pagmo'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb new file mode 100644 index 00000000000..6f64905045c --- /dev/null +++ b/easybuild/easyconfigs/p/pagmo/pagmo-2.19.0-gfbf-2022b.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'pagmo' +version = '2.19.0' + +homepage = 'https://esa.github.io/pagmo2' +description = "pagmo is a C++ scientific library for massively parallel optimization." + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://github.com/esa/pagmo2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['701ada528de7d454201e92a5d88903dd1c22ea64f43861d9694195ddfef82a70'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('tbb', '2021.9.0'), + ('Eigen', '3.4.0'), + ('NLopt', '2.7.1'), +] + +configopts = "-DPAGMO_WITH_EIGEN3=ON -DPAGMO_WITH_NLOPT=ON -DPAGMO_BUILD_TESTS=ON" + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib/libpagmo.%s' % SHLIB_EXT], + 'dirs': ['include/pagmo', 'lib/cmake/pagmo'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pairsnp/pairsnp-0.0.7-foss-2021a.eb b/easybuild/easyconfigs/p/pairsnp/pairsnp-0.0.7-foss-2021a.eb new file mode 100644 index 00000000000..faf81064d4d --- /dev/null +++ b/easybuild/easyconfigs/p/pairsnp/pairsnp-0.0.7-foss-2021a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'pairsnp' +version = '0.0.7' + +homepage = 'https://github.com/gtonkinhill/pairsnp' +description = """ + A set of scripts for very quickly obtaining pairwise SNP distance matrices from multiple sequence alignments + using sparse matrix libraries to improve performance. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['591f395c59d91056882f0b349c201b2d708a093d6b6ffd3c2ee34aed8767ee98'] + +sanity_check_commands = ['pairsnp -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..942e8e2ff5d --- /dev/null +++ b/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-10.3.0.eb @@ -0,0 +1,43 @@ + +easyblock = 'MakeCp' + +name = 'paladin' +version = '1.4.6' + +homepage = 'https://github.com/ToniWestbrook/paladin' +description = """ +Protein ALignment And Detection INterface + +PALADIN is a protein sequence alignment tool designed for the accurate functional characterization of metagenomes. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ToniWestbrook/paladin/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd23a8907d832cada060e112addb1b3b3751353dda515887c69c1772fd37cc4a'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +# Use EB build flags +buildopts = 'CFLAGS="$CFLAGS"' + +dependencies = [ + ('zlib', '1.2.11'), + ('cURL', '7.76.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +files_to_copy = [(['paladin'], 'bin'), 'run.py', 'sample_data', 'scripts'] + +sanity_check_commands = ["paladin version 2>&1 | grep 'Program: PALADIN (Protein Alignment and Detection Interface)'"] + +sanity_check_paths = { + 'files': ['bin/paladin'], + 'dirs': ['sample_data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..bc0742d120f --- /dev/null +++ b/easybuild/easyconfigs/p/paladin/paladin-1.4.6-GCCcore-11.2.0.eb @@ -0,0 +1,43 @@ + +easyblock = 'MakeCp' + +name = 'paladin' +version = '1.4.6' + +homepage = 'https://github.com/ToniWestbrook/paladin' +description = """ +Protein ALignment And Detection INterface + +PALADIN is a protein sequence alignment tool designed for the accurate functional characterization of metagenomes. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ToniWestbrook/paladin/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['fd23a8907d832cada060e112addb1b3b3751353dda515887c69c1772fd37cc4a'] + +builddependencies = [ + ('binutils', '2.37'), +] + +# Use EB build flags +buildopts = 'CFLAGS="$CFLAGS"' + +dependencies = [ + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +files_to_copy = [(['paladin'], 'bin'), 'run.py', 'sample_data', 'scripts'] + +sanity_check_commands = ["paladin version 2>&1 | grep 'Program: PALADIN (Protein Alignment and Detection Interface)'"] + +sanity_check_paths = { + 'files': ['bin/paladin'], + 'dirs': ['sample_data'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/panaroo/panaroo-1.2.8-foss-2020b.eb b/easybuild/easyconfigs/p/panaroo/panaroo-1.2.8-foss-2020b.eb new file mode 100644 index 00000000000..733968e1019 --- /dev/null +++ b/easybuild/easyconfigs/p/panaroo/panaroo-1.2.8-foss-2020b.eb @@ -0,0 +1,60 @@ +# Author: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'panaroo' +version = '1.2.8' + +homepage = 'https://gtonkinhill.github.io/panaroo/' +description = "A pangenome analysis pipeline." + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('CD-HIT', '4.8.1'), + ('PRANK', '170427'), + ('Biopython', '1.78'), + ('SciPy-bundle', '2020.11'), + ('networkx', '2.5'), + ('edlib', '1.3.9'), + ('tqdm', '4.56.2'), + ('matplotlib', '3.3.3'), + ('scikit-learn', '0.23.2'), + ('plotly.py', '4.14.3'), + ('DendroPy', '4.5.2'), + ('pyfaidx', '0.5.9.5'), + ('prokka', '1.14.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('argcomplete', '1.12.3', { + 'checksums': ['2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445'], + }), + ('argh', '0.26.2', { + 'checksums': ['e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65'], + }), + ('gffutils', '0.10.1', { + 'checksums': ['a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb'], + }), + ('intbitset', '2.4.1', { + 'checksums': ['44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/gtonkinhill/panaroo/archive/'], + 'checksums': ['af56fae581908a93b843a90471dc80d4ff7299afc9e66e22510233d1a76d00c5'], + }), +] + +sanity_check_commands = [ + "panaroo --version" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/panaroo/panaroo-1.2.9-foss-2021a.eb b/easybuild/easyconfigs/p/panaroo/panaroo-1.2.9-foss-2021a.eb new file mode 100644 index 00000000000..84949ba857b --- /dev/null +++ b/easybuild/easyconfigs/p/panaroo/panaroo-1.2.9-foss-2021a.eb @@ -0,0 +1,60 @@ +# Author: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'panaroo' +version = '1.2.9' + +homepage = 'https://gtonkinhill.github.io/panaroo/' +description = "A pangenome analysis pipeline." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('CD-HIT', '4.8.1'), + ('PRANK', '170427'), + ('Biopython', '1.79'), + ('SciPy-bundle', '2021.05'), + ('networkx', '2.5.1'), + ('edlib', '1.3.9'), + ('tqdm', '4.61.2'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('plotly.py', '5.1.0'), + ('DendroPy', '4.5.2'), + ('pyfaidx', '0.6.3.1'), + ('prokka', '1.14.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('argcomplete', '1.12.3', { + 'checksums': ['2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445'], + }), + ('argh', '0.26.2', { + 'checksums': ['e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65'], + }), + ('gffutils', '0.10.1', { + 'checksums': ['a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb'], + }), + ('intbitset', '2.4.1', { + 'checksums': ['44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/gtonkinhill/panaroo/archive/'], + 'checksums': ['70bf4226bdb1a0b9ca3677b0c0c3cf4defb9a1d3517c1ab205c99f85108d856a'], + }), +] + +sanity_check_commands = [ + "panaroo --version" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb b/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb new file mode 100755 index 00000000000..d7b9f1bdbbb --- /dev/null +++ b/easybuild/easyconfigs/p/panaroo/panaroo-1.3.2-foss-2021b.eb @@ -0,0 +1,68 @@ +# Author: Pavel Grochal (INUITS) + +easyblock = 'PythonBundle' + +name = 'panaroo' +version = '1.3.2' + +homepage = 'https://gtonkinhill.github.io/panaroo/' +description = "A pangenome analysis pipeline." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('CD-HIT', '4.8.1'), + ('PRANK', '170427'), + ('Biopython', '1.79'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('edlib', '1.3.9'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('plotly.py', '5.4.0'), + ('DendroPy', '4.5.2'), + ('pyfaidx', '0.7.0'), + ('prokka', '1.14.5'), + ('python-igraph', '0.9.8') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('argh', '0.27.2', { + 'checksums': ['00c9027f6f461bcf24afe599a281bbda5cbd5dee4b6705befbea293a4ca7d221'], + }), + ('peewee', '3.15.4', { + 'checksums': ['2581520c8dfbacd9d580c2719ae259f0637a9e46eda47dfc0ce01864c6366205'], + }), + ('taxadb', '0.12.1', { + 'checksums': ['eca577cd0f4ff2f26c7d8f68d7f5a0d2f7a2f73e623139ded2493e429b23cecd'], + }), + ('biocode', '0.10.0', { + 'preinstallopts': 'sed -i "s/python-igraph/igraph/" setup.py &&', + 'checksums': ['ab48e0ea92f52c7fe48c6c947d4d5aa43437f16cd42a804546c71ef0e5ba2265'], + }), + ('gffutils', '0.11.1', { + 'checksums': ['ca7bf814d600b389bb2d5c403dd279755118cb1476c19c6f7aecb8c51a84263c'], + }), + ('intbitset', '3.0.2', { + 'checksums': ['a300b2d5a4989857ff1d0c3971624766a89a751e315aa080c07865031ae637a7'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/gtonkinhill/panaroo/archive/'], + 'checksums': ['290580ce094d9f790fe992c13dddd10ed6c33b389a50c434851ce2d04e0f34db'], + }), +] + +sanity_check_commands = [ + "panaroo --version" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pandapower/pandapower-2.7.0-foss-2020b.eb b/easybuild/easyconfigs/p/pandapower/pandapower-2.7.0-foss-2020b.eb new file mode 100644 index 00000000000..b7d9b8c9208 --- /dev/null +++ b/easybuild/easyconfigs/p/pandapower/pandapower-2.7.0-foss-2020b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'pandapower' +version = '2.7.0' + +homepage = 'http://www.pandapower.org/' +description = """An easy to use open source tool for power system modeling, analysis and optimization with a high +degree of automation""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_ZIP] +checksums = ['abd64ade5bbaa107df2f5b69769ac7747c1190c7c8b7a03d83ef3a14da29f1cd'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('networkx', '2.5'), + ('XlsxWriter', '1.4.0'), + ('openpyxl', '3.0.7'), +] + +runtest = 'pytest' + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pangolin/pangolin-3.1.11-foss-2020b.eb b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.11-foss-2020b.eb new file mode 100644 index 00000000000..b84ba84bea4 --- /dev/null +++ b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.11-foss-2020b.eb @@ -0,0 +1,81 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on a EC provided by Paul Jähne +# uploaded by J. Sassmannshausen + +easyblock = 'PythonBundle' + +name = 'pangolin' +version = '3.1.11' + +homepage = 'https://cov-lineages.org/pangolin.html' +description = """Software package for assigning SARS-CoV-2 genome sequences to global lineages. +This module also contains the faToVcf tool""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Biopython', '1.78'), + ('gofasta', '0.0.5', '', SYSTEM), + ('minimap2', '2.18'), + ('Pysam', '0.16.0.1'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('snakemake', '6.1.0'), + ('UShER', '0.4.1'), + ('scikit-learn', '0.23.2'), + ('Kent_tools', '411'), +] + +use_pip = True +sanity_pip_check = True + +github_account = 'cov-lineages' +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], +} + +exts_list = [ + (name, version, { + 'checksums': ['ce64a3ef84de5b11d5c9f21f76341cae23c0fabbf46cc3c1b7b244701b36efbc'], + }), + ('pangoLEARN', '2021-08-09', { + 'modulename': 'pangoLEARN', + 'sources': [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['ece55bc37b3e35dbdff2432fb8b9ea76fa53fe993394a425d1df67147484a81e'], + }), + ('scorpio', '0.3.12', { + 'checksums': ['48390ed1c1a79bb5f801083042cdeddee060e2277f40c293fd30384882aced81'], + }), + ('constellations', '0.0.13', { + 'checksums': ['4aa3edae9491a59621ef6a3b5bbd21a13c68355986f6c097e46a1397d5b1d24b'], + }), + ('pango-designation', '1.2.59', { + 'checksums': ['bd6c11b376c2f6955afa9e96938464184e5f6db22334589cbbbfefe1cbe35e86'], + }), +] + +local_binaries = [ + 'constellations', 'extract_definitions.py', 'pango_designation', 'pangoLEARN', + 'pangolearn.smk', 'pangolin', 'scorpio', 'type_constellations.py' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'pangolin -v', + 'pangolin -pv', + 'scorpio -v', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-10-18.eb b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-10-18.eb new file mode 100644 index 00000000000..9ed7733f533 --- /dev/null +++ b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-10-18.eb @@ -0,0 +1,84 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on a EC provided by Paul Jähne +# uploaded by J. Sassmannshausen +# using the pangoLEARN extension to distinguish between different versions + +easyblock = 'PythonBundle' + +name = 'pangolin' +version = '3.1.16' +local_pLEARN_version = '2021-10-18' +versionsuffix = '-pangoLEARN-%s' % local_pLEARN_version + +homepage = 'https://cov-lineages.org/pangolin.html' +description = """Software package for assigning SARS-CoV-2 genome sequences to global lineages. +This module also contains the faToVcf tool""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Biopython', '1.79'), + ('gofasta', '0.0.5', '', SYSTEM), + ('minimap2', '2.22'), + ('Pysam', '0.17.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('snakemake', '6.10.0'), + ('UShER', '0.5.0'), + ('scikit-learn', '1.0.1'), + ('Kent_tools', '422'), +] + +use_pip = True +sanity_pip_check = True + +github_account = 'cov-lineages' +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], +} + +exts_list = [ + (name, version, { + 'checksums': ['f247caf5ee4252a3edbbf9e60f23374438aaad1879d8dfbf6fb7a64bde8bf3fc'], + }), + ('pangoLEARN', local_pLEARN_version, { + 'modulename': 'pangoLEARN', + 'sources': [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['5a0a5e00d92c769686b98947fe40e6a89a366beedd086babe6873f2c1b62947d'], + }), + ('scorpio', '0.3.14', { + 'checksums': ['31108c9e8399691b3167b14689fbedebd7a410b0879c362a12d807cb077ac57a'], + }), + ('constellations', '0.0.21', { + 'checksums': ['83c3d61e83b81b59b03d7da176a50c6beac05efdb080978856c9eeb32cd05eca'], + }), + ('pango-designation', '1.2.93', { + 'checksums': ['9fd2159d8681e1674e9c812693ef391fb389cf4f7e74c467ba7882e7cb2d6bce'], + }), +] + +local_binaries = [ + 'constellations', 'extract_definitions.py', 'pango_designation', 'pangoLEARN', + 'pangolearn.smk', 'pangolin', 'scorpio', 'type_constellations.py' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'pangolin -v', + 'pangolin -pv', + 'scorpio -v', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-11-25.eb b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-11-25.eb new file mode 100644 index 00000000000..7057ca7d244 --- /dev/null +++ b/easybuild/easyconfigs/p/pangolin/pangolin-3.1.16-foss-2021b-pangoLEARN-2021-11-25.eb @@ -0,0 +1,85 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# Based on a EC provided by Paul Jähne +# uploaded by J. Sassmannshausen +# using the pangoLEARN extension to distinguish between different versions + +easyblock = 'PythonBundle' + +name = 'pangolin' +version = '3.1.16' +local_pLEARN_version = '2021-11-25' +versionsuffix = '-pangoLEARN-%s' % local_pLEARN_version + +homepage = 'https://cov-lineages.org/pangolin.html' +description = """Software package for assigning SARS-CoV-2 genome sequences to global lineages. +This module also contains the faToVcf tool""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Biopython', '1.79'), + ('gofasta', '0.0.5', '', SYSTEM), + ('minimap2', '2.22'), + ('Pysam', '0.17.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('snakemake', '6.10.0'), + ('UShER', '0.5.0'), + ('scikit-learn', '1.0.1'), + ('Kent_tools', '422'), +] + +use_pip = True +sanity_pip_check = True + +github_account = 'cov-lineages' +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': [{ + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], +} + + +exts_list = [ + (name, version, { + 'checksums': ['f247caf5ee4252a3edbbf9e60f23374438aaad1879d8dfbf6fb7a64bde8bf3fc'], + }), + ('pangoLEARN', local_pLEARN_version, { + 'modulename': 'pangoLEARN', + 'sources': [{ + 'download_filename': '%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['a803da5a30f83d88ad50ac1c6696f5157ff3406d93aa907c8fa176e3ac30b09d'], + }), + ('scorpio', '0.3.14', { + 'checksums': ['31108c9e8399691b3167b14689fbedebd7a410b0879c362a12d807cb077ac57a'], + }), + ('constellations', '0.0.25', { + 'checksums': ['3fb91ed26803d8e73c18153f6e096c4639d1a96beb3fac3c6b5eaf8656ce050f'], + }), + ('pango-designation', '1.2.103', { + 'checksums': ['d9ce36f618d5024d5a687581d6656585dbd52169b4e8f36fc6daca17f0d65c06'], + }), +] + +local_binaries = [ + 'constellations', 'extract_definitions.py', 'pango_designation', 'pangoLEARN', + 'pangolearn.smk', 'pangolin', 'scorpio', 'type_constellations.py' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'pangolin -v', + 'pangolin -pv', + 'scorpio -v', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/panito/panito-0.0.1-GCC-10.3.0.eb b/easybuild/easyconfigs/p/panito/panito-0.0.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..f29a5f36e99 --- /dev/null +++ b/easybuild/easyconfigs/p/panito/panito-0.0.1-GCC-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'panito' +version = '0.0.1' + +homepage = 'https://github.com/sanger-pathogens/panito' +description = """Calculate genome wide average nucleotide identity (gwANI) for a multiFASTA alignment.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['a97047ab12cb73c90a2b5fe73034f5497a3de2c31459f30d6e9ae90db0fe6f0f'] + +builddependencies = [ + ('Autotools', '20210128'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -i -f && " + +installopts = 'PREFIX=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/panito', 'lib/libpanito.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ['panito -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb new file mode 100644 index 00000000000..b401fc90655 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb @@ -0,0 +1,44 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'parallel-fastq-dump' +version = '0.6.6' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/rvalieris/parallel-fastq-dump' +description = "parallel fastq-dump wrapper" +docurls = ["https://github.com/rvalieris/parallel-fastq-dump"] + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +# https://github.com/rvalieris/parallel-fastq-dump/archive/ +github_account = 'rvalieris' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['38a3db72e4f87b8ca2412147a5938372098df15e839c78cddc8a7bfa3dd35b64'] + +builddependencies = [('binutils', '2.34')] + +dependencies = [ + ('Python', '3.8.2'), + ('SRA-Toolkit', '2.9.6-1', '-centos_linux64', SYSTEM) +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + "files": ["bin/parallel-fastq-dump"], + "dirs": ["lib/python%(pyshortver)s/site-packages"], +} + +# This package doesn't produce importable module, only executable script. +options = {'modulename': False} + +sanity_check_commands = ["parallel-fastq-dump --version"] + +sanity_pip_check = True + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2020b.eb b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2020b.eb new file mode 100644 index 00000000000..c74bb75c503 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2020b.eb @@ -0,0 +1,43 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'parallel-fastq-dump' +version = '0.6.7' + +homepage = 'https://github.com/rvalieris/parallel-fastq-dump' +description = "parallel fastq-dump wrapper" +docurls = ["https://github.com/rvalieris/parallel-fastq-dump"] + +toolchain = {'name': 'gompi', 'version': '2020b'} + +# https://github.com/rvalieris/parallel-fastq-dump/archive/ +github_account = 'rvalieris' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['cb33ea0ed0b1123c100aee7b9ea60a3fc3fc81a3a46be5237c85ba56380617de'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('SRA-Toolkit', '2.10.9'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + "files": ["bin/parallel-fastq-dump"], + "dirs": ["lib/python%(pyshortver)s/site-packages"], +} + +# This package doesn't produce importable module, only executable script. +options = {'modulename': False} + +sanity_check_commands = ["parallel-fastq-dump --version"] + +sanity_pip_check = True + +moduleclass = "bio" diff --git a/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb new file mode 100644 index 00000000000..462e3e4976a --- /dev/null +++ b/easybuild/easyconfigs/p/parallel-fastq-dump/parallel-fastq-dump-0.6.7-gompi-2022a.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'parallel-fastq-dump' +version = '0.6.7' + +homepage = 'https://github.com/rvalieris/parallel-fastq-dump' +description = "parallel fastq-dump wrapper" +docurls = ["https://github.com/rvalieris/parallel-fastq-dump"] + +toolchain = {'name': 'gompi', 'version': '2022a'} + +# https://github.com/rvalieris/parallel-fastq-dump/archive/ +github_account = 'rvalieris' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['cb33ea0ed0b1123c100aee7b9ea60a3fc3fc81a3a46be5237c85ba56380617de'] + +dependencies = [ + ('Python', '3.10.4'), + ('SRA-Toolkit', '3.0.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/parallel-fastq-dump'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# This package doesn't produce importable module, only executable script. +options = {'modulename': False} + +sanity_check_commands = ["parallel-fastq-dump --version"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20210722-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20210722-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8b38cbfbf17 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20210722-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20210722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3239094bc043957be191e1e4376716ef0d1b369e545b5bf7d7824b7d46284a49'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Perl', '5.34.0')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20220722-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20220722-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..290d6b575fd --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20220722-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20220722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0e4083ac0d850c434598c6dfbf98f3b6dd2cc932a3af9269eb1f9323e43af019'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Perl', '5.34.1')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4d1487aacf5 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20230722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['55f991ad195a72f0abfaf1ede8fc1d03dd255cac91bc5eb900f9aa2873d1ff87'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Perl', '5.36.0')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7725cf4990a --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20230722-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20230722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['55f991ad195a72f0abfaf1ede8fc1d03dd255cac91bc5eb900f9aa2873d1ff87'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Perl', '5.36.1')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..53acb414c76 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20240322-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20240322' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0b17029a203dabf7ba6ca7e52c2d3910fff46b2979476e12a9110920b79e6a95'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [('Perl', '5.38.0')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..92658cc24b7 --- /dev/null +++ b/easybuild/easyconfigs/p/parallel/parallel-20240722-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'parallel' +version = '20240722' + +homepage = 'https://savannah.gnu.org/projects/parallel/' +description = """parallel: Build and execute shell commands in parallel""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['c7335471f776af28bea9464ad85a50f2ed120f78fbf75ead6647aeea8e0e53f0'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Perl', '5.38.2')] + +sanity_check_paths = { + 'files': ['bin/parallel'], + 'dirs': [] +} + +sanity_check_commands = ["parallel --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parameterized/parameterized-0.8.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/parameterized/parameterized-0.8.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b8228743136 --- /dev/null +++ b/easybuild/easyconfigs/p/parameterized/parameterized-0.8.1-GCCcore-10.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'parameterized' +version = '0.8.1' + +homepage = 'https://github.com/wolever/parameterized' +description = """ Parameterized testing with any Python test framework """ + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['41bbff37d6186430f77f900d777e5bb6a24928a1c46fb1de692f8b52b8833b5c'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..051c4e887dc --- /dev/null +++ b/easybuild/easyconfigs/p/parameterized/parameterized-0.9.0-GCCcore-11.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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1'] + +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/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/paramiko/paramiko-3.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/paramiko/paramiko-3.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..42a419cb9a6 --- /dev/null +++ b/easybuild/easyconfigs/p/paramiko/paramiko-3.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = "PythonBundle" + +name = 'paramiko' +version = '3.2.0' + +homepage = 'https://paramiko.org' +description = """Paramiko is a pure-Python (3.6+) implementation of the SSHv2 protocol, +providing both client and server functionality. It provides the foundation +for the high-level SSH library Fabric, which is what we recommend you use for +common client use-cases such as running remote shell commands or transferring +files. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('bcrypt', '4.0.1'), + ('cffi', '1.15.1'), + ('cryptography', '41.0.1'), +] + +exts_default_options = { + 'download_dep_fail': True, + 'sanity_pip_check': True, + 'use_pip': True, +} + +exts_list = [ + ('PyNaCl', '1.5.0', { + 'modulename': 'nacl', + 'checksums': ['8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba'], + }), + (name, version, { + 'checksums': ['93cdce625a8a1dc12204439d45033f3261bdb2c201648cfcdc06f9fd0f94ec29'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/parasail/parasail-2.4.2-GCC-9.3.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.4.2-GCC-9.3.0.eb new file mode 100644 index 00000000000..8c472d02b40 --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.4.2-GCC-9.3.0.eb @@ -0,0 +1,32 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v2.4.2 +# R.QIAO + +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.4.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': '9.3.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3843055fc04743269cf22d127ae26952a7f5e6fc4f1bc29f6b6f3c156c8ca434'] + +builddependencies = [('CMake', '3.16.4')] + +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/parasail/parasail-2.4.3-GCC-10.3.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.4.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..b3298d8ce84 --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.4.3-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.4.3' + +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': '10.3.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6f0cddcaaf7c00573e62a3b081a09380cb022b2ed6a3a138108f8823775ca026'] + +builddependencies = [('CMake', '3.20.1')] + +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/parasail/parasail-2.5-GCC-11.2.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.5-GCC-11.2.0.eb new file mode 100644 index 00000000000..3c6c53d248d --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.5-GCC-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.5' + +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': '11.2.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['68ff83c8378f5d9aa8c4618096757e2c5d5c506ce818dcdbb364247d562997b0'] + +builddependencies = [('CMake', '3.21.1')] + +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/parasail/parasail-2.6-GCC-11.3.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.6-GCC-11.3.0.eb new file mode 100755 index 00000000000..e613ae5ca19 --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.6-GCC-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'parasail' +version = '2.6' + +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': '11.3.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f175923063547a9c2ca65254bca0745d5d2398216dab7dd937c912a790c98b2f'] + +builddependencies = [('CMake', '3.23.1')] + +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/parasail/parasail-2.6.2-GCC-12.2.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-12.2.0.eb new file mode 100755 index 00000000000..c294daacb08 --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-12.2.0.eb @@ -0,0 +1,27 @@ +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.2.0'} + +# https://github.com/jeffdaily/parasail +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9057041db8e1cde76678f649420b85054650414e5de9ea84ee268756c7ea4b4b'] + +builddependencies = [('CMake', '3.24.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/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/parasail/parasail-2.6.2-GCC-13.2.0.eb b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..ddb3e791f30 --- /dev/null +++ b/easybuild/easyconfigs/p/parasail/parasail-2.6.2-GCC-13.2.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': '13.2.0'} + +github_account = 'jeffdaily' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['9057041db8e1cde76678f649420b85054650414e5de9ea84ee268756c7ea4b4b'] + +builddependencies = [('CMake', '3.27.6')] + +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/pastml/pastml-1.9.34-foss-2021a.eb b/easybuild/easyconfigs/p/pastml/pastml-1.9.34-foss-2021a.eb new file mode 100644 index 00000000000..8f83b335609 --- /dev/null +++ b/easybuild/easyconfigs/p/pastml/pastml-1.9.34-foss-2021a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'pastml' +version = '1.9.34' + +homepage = 'https://pastml.pasteur.fr/' +description = "Ancestor character reconstruction and visualisation for rooted phylogenetic trees" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Biopython', '1.79'), + ('SciPy-bundle', '2021.05'), + ('ETE', '3.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('itolapi', '4.1.0', { + 'checksums': ['e52c6ce86ccf8ab6702b8b110543a0d9f8d4eec1f13d5c278e2d1c25e3f7c7f2'], + }), + (name, version, { + 'source_urls': ['https://github.com/evolbioinfo/pastml/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['3ac606b5db79dc311110aa9a19a344ca28797275f174218b095e7874140f70da'], + }), +] + +sanity_check_commands = ['pastml --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/patch/patch-2.7.6.eb b/easybuild/easyconfigs/p/patch/patch-2.7.6.eb new file mode 100644 index 00000000000..257791cf8f4 --- /dev/null +++ b/easybuild/easyconfigs/p/patch/patch-2.7.6.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'patch' +version = '2.7.6' + +homepage = 'https://savannah.gnu.org/projects/patch' +description = """Patch takes a patch file containing a difference listing produced by the diff program + and applies those differences to one or more original files, producing patched versions.""" + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['8cf86e00ad3aaa6d26aca30640e86b0e3e1f395ed99f189b06d4c9f74bc58a4e'] + +sanity_check_paths = { + 'files': ['bin/patch', 'share/man/man1/patch.1'], + 'dirs': [], +} + +sanity_check_commands = ["patch --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.12-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.12-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..d68d496f127 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.12-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.12' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3dca33fb862213b3541350e1da262249959595903f559eae0fbc68966e9c3f56'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f553b4df4c1 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.13-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.13' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['60c6aeadb673de9cc1838b630c81f61e31c501de324ef7f1e8094a2431197d09'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..44c578da855 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.15.0-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.15.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['5d1eda9bad4439bb9c0a87fcba198d7c0d372f361e77de41d68d6308062e5000'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.17.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.17.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..01967b9be37 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.17.2-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.17.2' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['039f755bd3533f92cc07b8034419117c763d8a97a909aefbef6a6ecf86e679fc'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b87a53d6bda --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.18.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +sanity_check_commands = ["patchelf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..62d26c800db --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.18.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +sanity_check_commands = ["patchelf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9bf25222d44 --- /dev/null +++ b/easybuild/easyconfigs/p/patchelf/patchelf-0.18.0-GCCcore-13.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'patchelf' +version = '0.18.0' + +homepage = 'https://github.com/NixOS/patchelf' +description = """PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/NixOS/patchelf/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1451d01ee3a21100340aed867d0b799f46f0b1749680028d38c3f5d0128fb8a7'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = "sh bootstrap.sh && " + +sanity_check_paths = { + 'files': ['bin/patchelf'], + 'dirs': ['share'], +} + +sanity_check_commands = ["patchelf --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb new file mode 100644 index 00000000000..5bd495d2adb --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2021a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb new file mode 100644 index 00000000000..309b061d0c7 --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb new file mode 100644 index 00000000000..672fd7dc282 --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2022b.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Biopython', '1.81'), + ('scikit-learn', '1.2.1'), + ('matplotlib', '3.7.0'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb new file mode 100644 index 00000000000..b1b09a6411d --- /dev/null +++ b/easybuild/easyconfigs/p/pauvre/pauvre-0.2.3-foss-2023a.eb @@ -0,0 +1,40 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'pauvre' +version = '0.2.3' + +homepage = 'https://github.com/conchoecia/pauvre' +description = "Tools for plotting Oxford Nanopore and other long-read data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ba756bc9025ae7edafd91092d12a57864f018958fd46b548e9eeda7167ee197d'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('scikit-learn', '1.3.1'), + ('matplotlib', '3.7.2'), +] + +download_dep_fail = True +use_pip = True + +# fix incorrect requirement, correct name is 'scikit-learn' +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +sanity_check_paths = { + 'files': ['bin/pauvre'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pauvre --help"] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pbipa/pbipa-1.8.0-foss-2021b.eb b/easybuild/easyconfigs/p/pbipa/pbipa-1.8.0-foss-2021b.eb new file mode 100644 index 00000000000..2ad7859af59 --- /dev/null +++ b/easybuild/easyconfigs/p/pbipa/pbipa-1.8.0-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'pbipa' +version = '1.8.0' + +homepage = 'https://github.com/PacificBiosciences/pbipa' +description = """Improved Phased Assembler (IPA) is the official PacBio +software for HiFi genome assembly. IPA was designed to utilize the +accuracy of PacBio HiFi reads to produce high-quality phased genome +assemblies. IPA is an end-to-end solution, starting with input reads and +resulting in a polished assembly. IPA is fast, providing an easy to use +local run mode or a distributed pipeline for a cluster.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'PacificBiosciences' +source_urls = [GITHUB_RELEASE] +sources = [{'download_filename': '%(name)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8c08fc53a17dfc6e773c10a3e565ea7224595829e0b48adcd76556418544388a'] + +dependencies = [ + ('Python', '3.9.6'), + ('snakemake', '6.10.0'), +] + +sanity_check_paths = { + 'files': ['bin/ipa', 'etc/ipa.snakefile'], + 'dirs': [], +} + +sanity_check_commands = [ + 'ipa --version', +] + +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/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb new file mode 100644 index 00000000000..6033270a677 --- /dev/null +++ b/easybuild/easyconfigs/p/pdf2docx/pdf2docx-0.5.8-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = "PythonBundle" + +name = 'pdf2docx' +version = '0.5.8' + +homepage = 'https://github.com/ArtifexSoftware/pdf2docx' +description = """Open source Python library converting pdf to docx.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('SWIG', '4.1.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('OpenCV', '4.8.1', '-contrib'), + ('lxml', '4.9.2'), # for python-docx +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyMuPDF', '1.20.2', { + 'modulename': 'fitz', + 'checksums': ['02eedf01f57c6bafb5e8667cea0088a2d2522643c47100f1908bec3a68a84888'], + }), + ('python-docx', '1.1.0', { + 'modulename': 'docx', + 'checksums': ['5829b722141cf1ab79aedf0c34d9fe9924b29764584c0f2164eb2b02dcdf17c9'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('fire', '0.5.0', { + 'checksums': ['a6b0d49e98c8963910021f92bba66f65ab440da2982b78eb1bbf95a0a34aacc6'], + }), + ('fonttools', '4.47.2', { + 'modulename': 'fontTools', + 'checksums': ['7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/opencv-python-headless/opencv-contrib-python/g' requirements.txt && ", + 'checksums': ['e723f639728193468602b69eade2fe62df5f5d339d2630228e325f4cc61c1918'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..514caad6711 --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'pdsh' +version = '2.34' + +homepage = 'https://github.com/chaos/pdsh' +description = "A high performance, parallel remote shell utility" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libreadline', '8.1.2'), +] + +configopts = "--with-ssh --with-slurm --with-mrsh --with-readline" + +sanity_check_paths = { + 'files': ['bin/dshbak', 'bin/pdcp', 'bin/pdsh', 'bin/rpdcp'], + 'dirs': ['lib/pdsh', 'share/man/man1'], +} + +sanity_check_commands = [ + "dshbak -h", + "pdcp -h 2>&1 | grep '^Usage: pdcp'", + "pdsh -h 2>&1 | grep '^Usage: pdsh'", + "rpdcp -h 2>&1 | grep '^Usage: rpdcp'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..eb35068da2a --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'pdsh' +version = '2.34' + +homepage = 'https://github.com/chaos/pdsh' +description = "A high performance, parallel remote shell utility" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('libreadline', '8.2'), +] + +configopts = "--with-ssh --with-slurm --with-mrsh --with-readline" + +sanity_check_paths = { + 'files': ['bin/dshbak', 'bin/pdcp', 'bin/pdsh', 'bin/rpdcp'], + 'dirs': ['lib/pdsh', 'share/man/man1'], +} + +sanity_check_commands = [ + "dshbak -h", + "pdcp -h 2>&1 | grep '^Usage: pdcp'", + "pdsh -h 2>&1 | grep '^Usage: pdsh'", + "rpdcp -h 2>&1 | grep '^Usage: rpdcp'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..90ebe848ded --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'pdsh' +version = '2.34' + +homepage = 'https://github.com/chaos/pdsh' +description = "A high performance, parallel remote shell utility" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/chaos/pdsh/releases/download/pdsh-%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['pdsh-2.34_fix-slurm-23.x.patch'] +checksums = [ + {'pdsh-2.34.tar.gz': 'b47b3e4662736ef44b6fe86e3d380f95e591863e69163aa0592e9f9f618521e9'}, + {'pdsh-2.34_fix-slurm-23.x.patch': 'cba3a60f5cbc2ca6dc32cda16998c43818f740c0998aba201dfbe334349e60b9'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('libreadline', '8.2'), +] + +configopts = "--with-ssh --with-slurm --with-mrsh --with-readline" + +sanity_check_paths = { + 'files': ['bin/dshbak', 'bin/pdcp', 'bin/pdsh', 'bin/rpdcp'], + 'dirs': ['lib/pdsh', 'share/man/man1'], +} + +sanity_check_commands = [ + "dshbak -h", + "pdcp -h 2>&1 | grep '^Usage: pdcp'", + "pdsh -h 2>&1 | grep '^Usage: pdsh'", + "rpdcp -h 2>&1 | grep '^Usage: rpdcp'", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch b/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch new file mode 100644 index 00000000000..1889f83a15b --- /dev/null +++ b/easybuild/easyconfigs/p/pdsh/pdsh-2.34_fix-slurm-23.x.patch @@ -0,0 +1,22 @@ +see https://github.com/chaos/pdsh/issues/152 + https://github.com/chaos/pdsh/pull/153 +diff --git a/src/modules/slurm.c b/src/modules/slurm.c +index 5594c4f..c227337 100644 +--- a/src/modules/slurm.c ++++ b/src/modules/slurm.c +@@ -50,6 +50,16 @@ + * with our internal List datatype. + */ + #define __list_datatypes_defined 1 ++/* ++ * Also, Slurm>=23.x requires that `struct xlist` be typedef'd to list_t: ++ */ ++typedef struct xlist list_t; ++typedef struct listIterator list_itr_t; ++/* ++ * Also, Slurm exports the hostlist_t interface as well: ++ */ ++#define __hostlist_t_defined 1 ++ + #include + #include + diff --git a/easybuild/easyconfigs/p/peakdetect/peakdetect-1.2-foss-2022a.eb b/easybuild/easyconfigs/p/peakdetect/peakdetect-1.2-foss-2022a.eb new file mode 100644 index 00000000000..df1f1e6b33c --- /dev/null +++ b/easybuild/easyconfigs/p/peakdetect/peakdetect-1.2-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'peakdetect' +version = '1.2' + +homepage = 'https://github.com/avhn/peakdetect' +description = "Simple peak detection library for Python based on Billauer's work and this gist." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/avhn/peakdetect/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8f64a1fd6717ecaaec64fca6c16cb15698caa6aa8d6bc83bba3a22090a63e94f'] + +# also requires pbr, which is an extension in Python already +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/petsc4py/petsc4py-3.15.0-foss-2021a.eb b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.15.0-foss-2021a.eb new file mode 100644 index 00000000000..d92f71f87e9 --- /dev/null +++ b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.15.0-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'petsc4py' +version = '3.15.0' + +homepage = 'https://bitbucket.org/petsc/petsc4py' +description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fe744bd9c92557f0a38027f19a419b6e6765a982f531d02e620c79eb1a97bae7'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PETSc', '3.15.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from petsc4py import PETSc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/petsc4py/petsc4py-3.17.4-foss-2022a.eb b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.17.4-foss-2022a.eb new file mode 100644 index 00000000000..a944c674694 --- /dev/null +++ b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.17.4-foss-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'petsc4py' +version = '3.17.4' + +homepage = 'https://bitbucket.org/petsc/petsc4py' +description = "petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['216c3da074557946615d37d0826bc89f1f2e599323e2dacbdc45326d78bd50c6'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PETSc', version), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from petsc4py import PETSc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb new file mode 100644 index 00000000000..da89786496b --- /dev/null +++ b/easybuild/easyconfigs/p/petsc4py/petsc4py-3.20.3-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'petsc4py' +version = '3.20.3' + +homepage = 'https://gitlab.com/petsc/petsc' +description = """petsc4py are Python bindings for PETSc, the Portable, +Extensible Toolchain for Scientific Computation.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8e10884df5ca38191b71294dc7e89f7479b18cca83fedfe27f89105e57c40785'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PETSc', version), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from petsc4py import PETSc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pfind/pfind-20220613-gompi-2021b.eb b/easybuild/easyconfigs/p/pfind/pfind-20220613-gompi-2021b.eb new file mode 100644 index 00000000000..3b0d9e86681 --- /dev/null +++ b/easybuild/easyconfigs/p/pfind/pfind-20220613-gompi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'Binary' + +name = 'pfind' +version = '20220613' +local_commit = 'bef6b4c' + +homepage = 'https://github.com/VI4IO/pfind' +description = 'Drop-in replacement for find, implemented for using parallel access and MPI.' + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/VI4IO/pfind/archive'] +sources = [local_commit + '.tar.gz'] +checksums = ['237b06ec5d0ee881fc52d9b72e366172abf0876734a511eafabd5d380a2cc683'] + +dependencies = [ + ('lz4', '1.9.3'), +] + +extract_sources = True +staged_install = True + +# Less work to write the build command than to try to patch the build scripts +install_cmd = 'mkdir %(installdir)s/bin && ' +install_cmd += '$MPICC -o %(installdir)s/bin/pfind src/*.c $CFLAGS -DLZ4 -llz4' + +sanity_check_paths = { + 'files': ['bin/pfind'], + 'dirs': [], +} + +sanity_check_commands = ['pfind --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7d307b8bedb --- /dev/null +++ b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-GCCcore-10.3.0.eb @@ -0,0 +1,60 @@ +## +# 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 = 'pftoolsV3' +version = '3.2.11' + +homepage = 'https://github.com/sib-swiss/pftools3' +description = """A suite of tools to build and search generalized profiles (protein and DNA).""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/sib-swiss/pftools3/archive/refs/tags/'] +checksums = ['b45381584c57bc7c3ac6544f8654752095a5c04fd8242ab270b1d8cdce40d94a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('PCRE', '8.44'), + ('libharu', '2.3.0'), + ('zlib', '1.2.11'), + ('libgd', '2.3.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), +] + +configure_cmd = 'cmake -DCMAKE_INSTALL_PREFIX:PATH=%(installdir)s -DCMAKE_BUILD_TYPE=Release ' +configure_cmd += '-DUSE_GRAPHICS=OFF -DUSE_PDF=ON ' +configure_cmd += '-DUSE_AFFINITY=OFF ' # Disable affinity for some old architectures +configure_cmd += '../pftools3-%(version)s' + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'bin/ptof', 'bin/htop', 'bin/6ft', 'bin/2ft', 'bin/pfdump', 'bin/pfscan', 'bin/pfsearch', + 'bin/pfscanV3', 'bin/pfsearchV3', + ], + 'dirs': ['share/doc', 'share/man'], +} + +sanity_check_commands = [ + 'pfsearchV3 --help', + 'pfscanV3 --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-foss-2021a.eb b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-foss-2021a.eb new file mode 100644 index 00000000000..cd0e063e51f --- /dev/null +++ b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.11-foss-2021a.eb @@ -0,0 +1,54 @@ +## +# 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 = 'pftoolsV3' +version = '3.2.11' + +homepage = 'https://github.com/sib-swiss/pftools3' +description = """A suite of tools to build and search generalized profiles (protein and DNA).""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/sib-swiss/pftools3/archive/refs/tags/'] +checksums = ['b45381584c57bc7c3ac6544f8654752095a5c04fd8242ab270b1d8cdce40d94a'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('make', '4.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('PCRE', '8.44'), + ('libharu', '2.3.0'), + ('zlib', '1.2.11'), + ('libgd', '2.3.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), +] + +configure_cmd = 'cmake -DCMAKE_INSTALL_PREFIX:PATH=%(installdir)s -DCMAKE_BUILD_TYPE=Release ' +configure_cmd += '-DUSE_GRAPHICS=OFF -DUSE_PDF=ON ' +configure_cmd += '-DUSE_AFFINITY=OFF ' # Disable affinity for some old architectures +configure_cmd += '../pftools3-%(version)s' + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'bin/ptof', 'bin/htop', 'bin/6ft', 'bin/2ft', 'bin/pfdump', 'bin/pfscan', 'bin/pfsearch', + 'bin/pfscanV3', 'bin/pfsearchV3', + ], + 'dirs': ['share/doc', 'share/man'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..abb076bd8d5 --- /dev/null +++ b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'pftoolsV3' +version = '3.2.12' + +homepage = 'https://github.com/sib-swiss/pftools3' +description = """A suite of tools to build and search generalized profiles (protein and DNA).""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/sib-swiss/pftools3/archive/refs/tags/'] +checksums = ['1de33d6444015942afa690d54a103ad5a3d68f416fad63f247c12fa3f71a550c'] # pftools3-3.2.12.tar.gz + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('make', '4.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libgd', '2.3.3'), + ('libharu', '2.3.0'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('PCRE2', '10.37'), + ('Perl', '5.34.0'), + ('zlib', '1.2.11'), +] + +configopts = '-DUSE_GRAPHICS=OFF -DUSE_PDF=ON -DUSE_AFFINITY=OFF' # Disable affinity for some old architectures + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'bin/2ft', + 'bin/6ft', + 'bin/htop', + 'bin/pfdump', + 'bin/pfscan', + 'bin/pfscanV3', + 'bin/pfsearch', + 'bin/pfsearchV3', + 'bin/ptof', + ], + 'dirs': [ + 'share/doc', + 'share/man' + ], +} + +sanity_check_commands = [ + 'pfscanV3 --help', + 'pfsearchV3 --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..51c1ebbe912 --- /dev/null +++ b/easybuild/easyconfigs/p/pftoolsV3/pftoolsV3-3.2.12-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +easyblock = 'CMakeMake' + +name = 'pftoolsV3' +version = '3.2.12' + +homepage = 'https://github.com/sib-swiss/pftools3' +description = """A suite of tools to build and search generalized profiles (protein and DNA).""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/sib-swiss/pftools3/archive/refs/tags/'] +checksums = ['1de33d6444015942afa690d54a103ad5a3d68f416fad63f247c12fa3f71a550c'] # pftools3-3.2.12.tar.gz + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('make', '4.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libgd', '2.3.3'), + ('libharu', '2.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('PCRE2', '10.40'), + ('Perl', '5.34.1'), + ('zlib', '1.2.12'), +] + +configopts = '-DUSE_GRAPHICS=OFF -DUSE_PDF=ON -DUSE_AFFINITY=OFF' # Disable affinity for some old architectures + +runtest = 'test' + +sanity_check_paths = { + 'files': [ + 'bin/2ft', + 'bin/6ft', + 'bin/htop', + 'bin/pfdump', + 'bin/pfscan', + 'bin/pfscanV3', + 'bin/pfsearch', + 'bin/pfsearchV3', + 'bin/ptof', + ], + 'dirs': [ + 'share/doc', + 'share/man' + ], +} + +sanity_check_commands = [ + 'pfscanV3 --help', + 'pfsearchV3 --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/phasius/phasius-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/phasius/phasius-0.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..bc9d066a13d --- /dev/null +++ b/easybuild/easyconfigs/p/phasius/phasius-0.2.0-GCC-12.3.0.eb @@ -0,0 +1,393 @@ +easyblock = 'Cargo' + +name = 'phasius' +version = '0.2.0' + +homepage = 'https://github.com/wdecoster/phasius' +description = """A tool to visualize phase block structure from (many) BAM, + CRAM or VCF files together with BED annotation""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wdecoster/phasius/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.2.0.tar.gz': 'a5b320303383b473661fccf7ec93f3b555b21d86d78d9cdaf5317cc9bcf3cb0e'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'android-tzdata-0.1.1.tar.gz': 'e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0'}, + {'android_system_properties-0.1.5.tar.gz': '819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311'}, + {'anstream-0.6.15.tar.gz': '64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526'}, + {'anstyle-1.0.8.tar.gz': '1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1'}, + {'anstyle-parse-0.2.5.tar.gz': 'eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb'}, + {'anstyle-query-1.1.1.tar.gz': '6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a'}, + {'anstyle-wincon-3.0.4.tar.gz': '5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8'}, + {'askama-0.12.1.tar.gz': 'b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28'}, + {'askama_derive-0.12.5.tar.gz': '19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83'}, + {'askama_escape-0.10.3.tar.gz': '619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341'}, + {'askama_parser-0.2.1.tar.gz': 'acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'basic-toml-0.1.9.tar.gz': '823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8'}, + {'bindgen-0.69.4.tar.gz': 'a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0'}, + {'bio-types-1.0.4.tar.gz': 'f4dcf54f8b7f51450207d54780bab09c05f30b8b0caa991545082842e466ad7e'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.6.0.tar.gz': 'b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de'}, + {'bumpalo-3.16.0.tar.gz': '79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.1.15.tar.gz': '57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6'}, + {'cexpr-0.6.0.tar.gz': '6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'chrono-0.4.38.tar.gz': 'a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401'}, + {'clang-sys-1.8.1.tar.gz': '0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4'}, + {'clap-3.2.25.tar.gz': '4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123'}, + {'clap_derive-3.2.25.tar.gz': 'ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008'}, + {'clap_lex-0.2.4.tar.gz': '2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5'}, + {'cmake-0.1.51.tar.gz': 'fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a'}, + {'colorchoice-1.0.2.tar.gz': 'd3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0'}, + {'core-foundation-sys-0.8.7.tar.gz': '773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'ctor-0.2.8.tar.gz': 'edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f'}, + {'curl-sys-0.4.74+curl-8.9.0.tar.gz': '8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'darling-0.20.10.tar.gz': '6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989'}, + {'darling_core-0.20.10.tar.gz': '95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5'}, + {'darling_macro-0.20.10.tar.gz': 'd336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'derive-new-0.5.9.tar.gz': '3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535'}, + {'derive-new-0.6.0.tar.gz': 'd150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad'}, + {'dyn-clone-1.0.17.tar.gz': '0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'env_filter-0.1.2.tar.gz': '4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab'}, + {'env_logger-0.11.5.tar.gz': 'e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d'}, + {'erased-serde-0.4.5.tar.gz': '24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hex-0.4.3.tar.gz': '7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70'}, + {'hts-sys-2.1.4.tar.gz': 'e9f348d14cb4e50444e39fcd6b00302fe2ed2bc88094142f6278391d349a386d'}, + {'humansize-2.1.3.tar.gz': '6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'iana-time-zone-0.1.60.tar.gz': 'e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141'}, + {'iana-time-zone-haiku-0.1.2.tar.gz': 'f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'is_terminal_polyfill-1.70.1.tar.gz': '7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'jobserver-0.1.32.tar.gz': '48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0'}, + {'js-sys-0.3.70.tar.gz': '1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'lazycell-1.3.0.tar.gz': '830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55'}, + {'libc-0.2.158.tar.gz': 'd8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439'}, + {'libloading-0.8.5.tar.gz': '4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libz-sys-1.1.20.tar.gz': 'd2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'log-0.4.22.tar.gz': 'a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'mime_guess-2.0.5.tar.gz': 'f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'openssl-src-300.3.1+3.3.1.tar.gz': '7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91'}, + {'openssl-sys-0.9.103.tar.gz': '7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6'}, + {'os_str_bytes-6.6.1.tar.gz': 'e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'plotly-0.9.0.tar.gz': '25b8fd16c14ce31e4d48a31970530c2e3152b965e8567469e292712af7c9536f'}, + {'plotly_derive-0.9.0.tar.gz': '7817cbbd497db67dc5d21206fd0f4cab0cd6974b6fd2791f012c5455245b0e65'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.20.tar.gz': '77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.37.tar.gz': 'b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af'}, + {'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.10.0.tar.gz': 'b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'regex-1.10.6.tar.gz': '4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619'}, + {'regex-automata-0.4.7.tar.gz': '38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df'}, + {'regex-syntax-0.8.4.tar.gz': '7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b'}, + {'rust-htslib-0.47.0.tar.gz': '41f1796800e73ebb282c6fc5c03f1fe160e867e01114a58a7e115ee3c1d02482'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'rustversion-1.0.17.tar.gz': '955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.209.tar.gz': '99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09'}, + {'serde_derive-1.0.209.tar.gz': 'a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170'}, + {'serde_json-1.0.127.tar.gz': '8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad'}, + {'serde_repr-0.1.19.tar.gz': '6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9'}, + {'serde_with-2.3.3.tar.gz': '07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe'}, + {'serde_with_macros-2.3.3.tar.gz': '881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f'}, + {'shlex-1.3.0.tar.gz': '0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'strum_macros-0.26.4.tar.gz': '4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.76.tar.gz': '578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'textwrap-0.16.1.tar.gz': '23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9'}, + {'thiserror-1.0.63.tar.gz': 'c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724'}, + {'thiserror-impl-1.0.63.tar.gz': 'a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261'}, + {'time-0.3.36.tar.gz': '5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.18.tar.gz': '3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf'}, + {'tinyvec-1.8.0.tar.gz': '445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'typeid-1.0.2.tar.gz': '0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e'}, + {'unicase-2.7.0.tar.gz': 'f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89'}, + {'unicode-bidi-0.3.15.tar.gz': '08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.23.tar.gz': 'a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5'}, + {'unzip-n-0.1.2.tar.gz': 'c2e7e85a0596447f0f2ac090e16bc4c516c6fe91771fb0c0ccf7fa3dae896b9c'}, + {'url-2.5.2.tar.gz': '22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.93.tar.gz': 'a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5'}, + {'wasm-bindgen-backend-0.2.93.tar.gz': '9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b'}, + {'wasm-bindgen-macro-0.2.93.tar.gz': '585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf'}, + {'wasm-bindgen-macro-support-0.2.93.tar.gz': 'afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836'}, + {'wasm-bindgen-shared-0.2.93.tar.gz': 'c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.9.tar.gz': 'cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-core-0.52.0.tar.gz': '33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-sys-0.59.0.tar.gz': '1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b'}, + {'windows-targets-0.52.6.tar.gz': '9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973'}, + {'windows_aarch64_gnullvm-0.52.6.tar.gz': '32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3'}, + {'windows_aarch64_msvc-0.52.6.tar.gz': '09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469'}, + {'windows_i686_gnu-0.52.6.tar.gz': '8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b'}, + {'windows_i686_gnullvm-0.52.6.tar.gz': '0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66'}, + {'windows_i686_msvc-0.52.6.tar.gz': '240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66'}, + {'windows_x86_64_gnu-0.52.6.tar.gz': '147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78'}, + {'windows_x86_64_gnullvm-0.52.6.tar.gz': '24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d'}, + {'windows_x86_64_msvc-0.52.6.tar.gz': '589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec'}, + {'zerocopy-0.7.35.tar.gz': '1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0'}, + {'zerocopy-derive-0.7.35.tar.gz': 'fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e'}, +] + +crates = [ + ('aho-corasick', '1.1.3'), + ('android-tzdata', '0.1.1'), + ('android_system_properties', '0.1.5'), + ('anstream', '0.6.15'), + ('anstyle', '1.0.8'), + ('anstyle-parse', '0.2.5'), + ('anstyle-query', '1.1.1'), + ('anstyle-wincon', '3.0.4'), + ('askama', '0.12.1'), + ('askama_derive', '0.12.5'), + ('askama_escape', '0.10.3'), + ('askama_parser', '0.2.1'), + ('atty', '0.2.14'), + ('autocfg', '1.3.0'), + ('base64', '0.13.1'), + ('basic-toml', '0.1.9'), + ('bindgen', '0.69.4'), + ('bio-types', '1.0.4'), + ('bitflags', '1.3.2'), + ('bitflags', '2.6.0'), + ('bumpalo', '3.16.0'), + ('byteorder', '1.5.0'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.1.15'), + ('cexpr', '0.6.0'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.38'), + ('clang-sys', '1.8.1'), + ('clap', '3.2.25'), + ('clap_derive', '3.2.25'), + ('clap_lex', '0.2.4'), + ('cmake', '0.1.51'), + ('colorchoice', '1.0.2'), + ('core-foundation-sys', '0.8.7'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.20'), + ('ctor', '0.2.8'), + ('curl-sys', '0.4.74+curl-8.9.0'), + ('custom_derive', '0.1.7'), + ('darling', '0.20.10'), + ('darling_core', '0.20.10'), + ('darling_macro', '0.20.10'), + ('deranged', '0.3.11'), + ('derive-new', '0.5.9'), + ('derive-new', '0.6.0'), + ('dyn-clone', '1.0.17'), + ('either', '1.13.0'), + ('env_filter', '0.1.2'), + ('env_logger', '0.11.5'), + ('erased-serde', '0.4.5'), + ('fnv', '1.0.7'), + ('form_urlencoded', '1.2.1'), + ('fs-utils', '1.1.4'), + ('getrandom', '0.2.15'), + ('glob', '0.3.1'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.1'), + ('heck', '0.5.0'), + ('hermit-abi', '0.1.19'), + ('hex', '0.4.3'), + ('hts-sys', '2.1.4'), + ('humansize', '2.1.3'), + ('humantime', '2.1.0'), + ('iana-time-zone', '0.1.60'), + ('iana-time-zone-haiku', '0.1.2'), + ('ident_case', '1.0.1'), + ('idna', '0.5.0'), + ('ieee754', '0.2.6'), + ('indexmap', '1.9.3'), + ('is_terminal_polyfill', '1.70.1'), + ('itertools', '0.12.1'), + ('itoa', '1.0.11'), + ('jobserver', '0.1.32'), + ('js-sys', '0.3.70'), + ('lazy_static', '1.5.0'), + ('lazycell', '1.3.0'), + ('libc', '0.2.158'), + ('libloading', '0.8.5'), + ('libm', '0.2.8'), + ('libz-sys', '1.1.20'), + ('linear-map', '1.2.0'), + ('log', '0.4.22'), + ('lzma-sys', '0.1.20'), + ('memchr', '2.7.4'), + ('mime', '0.3.17'), + ('mime_guess', '2.0.5'), + ('minimal-lexical', '0.2.1'), + ('newtype_derive', '0.1.6'), + ('nom', '7.1.3'), + ('num-conv', '0.1.0'), + ('num-traits', '0.2.19'), + ('once_cell', '1.19.0'), + ('openssl-src', '300.3.1+3.3.1'), + ('openssl-sys', '0.9.103'), + ('os_str_bytes', '6.6.1'), + ('percent-encoding', '2.3.1'), + ('pkg-config', '0.3.30'), + ('plotly', '0.9.0'), + ('plotly_derive', '0.9.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.20'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.86'), + ('quick-error', '1.2.3'), + ('quote', '1.0.37'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.10.0'), + ('rayon-core', '1.12.1'), + ('regex', '1.10.6'), + ('regex-automata', '0.4.7'), + ('regex-syntax', '0.8.4'), + ('rust-htslib', '0.47.0'), + ('rustc-hash', '1.1.0'), + ('rustc_version', '0.1.7'), + ('rustversion', '1.0.17'), + ('ryu', '1.0.18'), + ('semver', '0.1.20'), + ('serde', '1.0.209'), + ('serde_derive', '1.0.209'), + ('serde_json', '1.0.127'), + ('serde_repr', '0.1.19'), + ('serde_with', '2.3.3'), + ('serde_with_macros', '2.3.3'), + ('shlex', '1.3.0'), + ('strsim', '0.10.0'), + ('strsim', '0.11.1'), + ('strum_macros', '0.26.4'), + ('syn', '1.0.109'), + ('syn', '2.0.76'), + ('termcolor', '1.4.1'), + ('textwrap', '0.16.1'), + ('thiserror', '1.0.63'), + ('thiserror-impl', '1.0.63'), + ('time', '0.3.36'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.18'), + ('tinyvec', '1.8.0'), + ('tinyvec_macros', '0.1.1'), + ('typeid', '1.0.2'), + ('unicase', '2.7.0'), + ('unicode-bidi', '0.3.15'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.23'), + ('unzip-n', '0.1.2'), + ('url', '2.5.2'), + ('utf8parse', '0.2.2'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.93'), + ('wasm-bindgen-backend', '0.2.93'), + ('wasm-bindgen-macro', '0.2.93'), + ('wasm-bindgen-macro-support', '0.2.93'), + ('wasm-bindgen-shared', '0.2.93'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.9'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-core', '0.52.0'), + ('windows-sys', '0.52.0'), + ('windows-sys', '0.59.0'), + ('windows-targets', '0.52.6'), + ('windows_aarch64_gnullvm', '0.52.6'), + ('windows_aarch64_msvc', '0.52.6'), + ('windows_i686_gnu', '0.52.6'), + ('windows_i686_gnullvm', '0.52.6'), + ('windows_i686_msvc', '0.52.6'), + ('windows_x86_64_gnu', '0.52.6'), + ('windows_x86_64_gnullvm', '0.52.6'), + ('windows_x86_64_msvc', '0.52.6'), + ('zerocopy', '0.7.35'), + ('zerocopy-derive', '0.7.35'), +] + +builddependencies = [ + ('Rust', '1.75.0'), + ('CMake', '3.26.3'), + ('Clang', '16.0.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --version"] + +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/phonopy/phonopy-2.12.0-foss-2020b.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.12.0-foss-2020b.eb new file mode 100644 index 00000000000..2aa223e2c83 --- /dev/null +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.12.0-foss-2020b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'phonopy' +version = '2.12.0' + +homepage = 'https://phonopy.github.io/phonopy/' +description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ff65065f418ccbff9fbc1186b9a65581e83b42789aa4a656f45badfff9bd3f61'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # for numpy + ('matplotlib', '3.3.3'), + ('PyYAML', '5.3.1'), + ('h5py', '3.1.0'), + ('spglib-python', '1.16.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phonopy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phonopy --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb new file mode 100644 index 00000000000..bd922d7ded0 --- /dev/null +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.16.3-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'phonopy' +version = '2.16.3' + +homepage = 'https://phonopy.github.io/phonopy/' +description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c536d355156626f26e5d5fd158b03e10c4a13c461d6a02a26b05e3b6311b9d79'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('matplotlib', '3.5.2'), + ('PyYAML', '6.0'), + ('h5py', '3.7.0'), + ('spglib-python', '2.0.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phonopy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phonopy --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-foss-2023a.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-foss-2023a.eb new file mode 100644 index 00000000000..9e6b6c5f6e6 --- /dev/null +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.20.0-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'phonopy' +version = '2.20.0' + +homepage = 'https://phonopy.github.io/phonopy/' +description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5e2f9d1bd6efad051c6dfd4d9296846f4bd2d378c5c48eb179177656849999e'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # for numpy + ('matplotlib', '3.7.2'), + ('PyYAML', '6.0'), + ('h5py', '3.9.0'), + ('spglib-python', '2.1.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/phonopy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["phonopy --help"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2019b-Python-3.7.4.eb index 694e7938d28..310c8045b34 100644 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2019b-Python-3.7.4.eb @@ -4,7 +4,7 @@ name = 'phonopy' version = '2.7.1' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://atztogo.github.io/phonopy/' +homepage = 'https://phonopy.github.io/phonopy/' description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" toolchain = {'name': 'intel', 'version': '2019b'} diff --git a/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2020a-Python-3.8.2.eb index 5744c456a63..2d2fef61b17 100644 --- a/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/p/phonopy/phonopy-2.7.1-intel-2020a-Python-3.8.2.eb @@ -4,7 +4,7 @@ name = 'phonopy' version = '2.7.1' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://atztogo.github.io/phonopy/' +homepage = 'https://phonopy.github.io/phonopy/' description = """Phonopy is an open source package of phonon calculations based on the supercell approach.""" toolchain = {'name': 'intel', 'version': '2020a'} diff --git a/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2020b.eb b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2020b.eb new file mode 100644 index 00000000000..0a19fe634e2 --- /dev/null +++ b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2020b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'photontorch' +version = '0.4.1' + +homepage = 'https://docs.photontorch.com/' +description = """ +Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and +frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the +deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the +use of native PyTorch optimizers to optimize the (physical) parameters of the circuit. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), + ('networkx', '2.5'), + ('matplotlib', '3.3.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('torch-lfilter', '0.0.3', { + 'source_tmpl': 'torch_lfilter-%(version)s.tar.gz', + 'checksums': ['aa613725b73e7b6e7efd63c30580a906d7bb23206b5d045b8452ab770f7a50df'], + }), + (name, version, { + 'checksums': ['50d2e2c8a24c914cc7afee1eea6efb8bccfbc19ff9652a9af46efad28caa6381'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2022a.eb b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2022a.eb new file mode 100644 index 00000000000..e43677fa77d --- /dev/null +++ b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'photontorch' +version = '0.4.1' + +homepage = 'https://docs.photontorch.com/' +description = """ +Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and +frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the +deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the +use of native PyTorch optimizers to optimize the (physical) parameters of the circuit. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('networkx', '2.8.4'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('torch-lfilter', '0.0.3', { + 'source_tmpl': 'torch_lfilter-%(version)s.tar.gz', + 'checksums': ['aa613725b73e7b6e7efd63c30580a906d7bb23206b5d045b8452ab770f7a50df'], + }), + (name, version, { + 'checksums': ['50d2e2c8a24c914cc7afee1eea6efb8bccfbc19ff9652a9af46efad28caa6381'], + }), +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-fosscuda-2020b.eb b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..75ef1ef367c --- /dev/null +++ b/easybuild/easyconfigs/p/photontorch/photontorch-0.4.1-fosscuda-2020b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'photontorch' +version = '0.4.1' + +homepage = 'https://docs.photontorch.com/' +description = """ +Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and +frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the +deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the +use of native PyTorch optimizers to optimize the (physical) parameters of the circuit. +""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyTorch', '1.7.1'), + ('tqdm', '4.56.2'), + ('networkx', '2.5'), + ('matplotlib', '3.3.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('torch-lfilter', '0.0.3', { + 'source_tmpl': 'torch_lfilter-%(version)s.tar.gz', + 'checksums': ['aa613725b73e7b6e7efd63c30580a906d7bb23206b5d045b8452ab770f7a50df'], + }), + (name, version, { + 'checksums': ['50d2e2c8a24c914cc7afee1eea6efb8bccfbc19ff9652a9af46efad28caa6381'], + }), +] + +moduleclass = 'phys' 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/phyx/phyx-1.3-foss-2022a.eb b/easybuild/easyconfigs/p/phyx/phyx-1.3-foss-2022a.eb new file mode 100644 index 00000000000..ba5ddd69573 --- /dev/null +++ b/easybuild/easyconfigs/p/phyx/phyx-1.3-foss-2022a.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'phyx' +version = '1.3' + +homepage = 'https://github.com/FePhyFoFum/%(name)s' +description = "phyx performs phylogenetics analyses on trees and sequences." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +github_account = 'FePhyFoFum' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_link_flexiblas.patch'] +checksums = [ + {'v1.3.tar.gz': 'b09677f98f997838b39cd2724463be06d0627ddc90a7e659dc90d4e02db624eb'}, + {'phyx-1.3_link_flexiblas.patch': 'e9dc98da0f3c5df8e5b8ac3e64c2b0f77358f61fc60a4aadce5ad790b636ebdd'}, +] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Armadillo', '11.4.3'), + ('NLopt', '2.7.1'), +] + +start_dir = 'src' + +preconfigopts = "autoreconf -f -i && " + +preinstallopts = 'mkdir %(installdir)s/bin && ' + +sanity_check_paths = { + 'files': ['bin/' + _exec for _exec in ["pxaa2cdn", "pxbdfit", "pxbdsim", + "pxboot", "pxbp", "pxcat", "pxclsq", "pxcltr", "pxcolt", "pxconsq", + "pxcontrates", "pxfqfilt", "pxlog", "pxlssq", "pxlstr", "pxmrca", + "pxmrcacut", "pxmrcaname", "pxnw", "pxrecode", "pxrevcomp", + "pxrls", "pxrlt", "pxrmk", "pxrms", "pxrmt", "pxrr", "pxs2fa", "pxs2nex", + "pxs2phy", "pxseqgen", "pxssort", "pxsstat", "pxstrec", "pxsw", "pxt2new", + "pxt2nex", "pxtcol", "pxtcomb", "pxtlate", "pxtrt", "pxtscale", + "pxvcf2fa"]], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch b/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch new file mode 100644 index 00000000000..1b541919cf8 --- /dev/null +++ b/easybuild/easyconfigs/p/phyx/phyx-1.3_link_flexiblas.patch @@ -0,0 +1,14 @@ +replace linking with lapack and blas by flexiblas +autor: Graham Derryberry +diff -Naur phyx-1.3.orig/src/Makefile.in phyx-1.3/src/Makefile.in +--- phyx-1.3.orig/src/Makefile.in 2023-04-12 22:44:14.000000000 -0400 ++++ phyx-1.3/src/Makefile.in 2023-04-13 09:57:34.000000000 -0400 +@@ -17,7 +17,7 @@ + HARM := @HARM@ + HOMP := @HOMP@ + +-CPP_LIBS = -llapack -lblas -lpthread -lm ++CPP_LIBS = -lflexiblas -lpthread -lm + ifeq "$(HNLOPT)" "Y" + CPP_LIBS += -lnlopt + endif diff --git a/easybuild/easyconfigs/p/picard/picard-2.18.14-Java-1.8.eb b/easybuild/easyconfigs/p/picard/picard-2.18.14-Java-1.8.eb index ad1bce59ad9..58561192969 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.18.14-Java-1.8.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.18.14-Java-1.8.eb @@ -36,7 +36,7 @@ checksums = ['4941719941a46c72e72a3b160ff8b8fc7e2af90198004bd727526ce522ae8575'] postinstallcmds = ["mv %(installdir)s/%(name)s-%(version)s.jar %(installdir)s/%(name)s.jar"] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['picard.jar'], diff --git a/easybuild/easyconfigs/p/picard/picard-2.18.17-Java-1.8.eb b/easybuild/easyconfigs/p/picard/picard-2.18.17-Java-1.8.eb index 570181a5407..88b4346cba4 100644 --- a/easybuild/easyconfigs/p/picard/picard-2.18.17-Java-1.8.eb +++ b/easybuild/easyconfigs/p/picard/picard-2.18.17-Java-1.8.eb @@ -36,7 +36,7 @@ checksums = ['f51f64824072f26dc5d0932376929b20e6f66ff478810bcf8145792773f5474f'] postinstallcmds = ["mv %(installdir)s/%(name)s-%(version)s.jar %(installdir)s/%(name)s.jar"] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['picard.jar'], diff --git a/easybuild/easyconfigs/p/picard/picard-2.26.10-Java-15.eb b/easybuild/easyconfigs/p/picard/picard-2.26.10-Java-15.eb new file mode 100644 index 00000000000..342591127c3 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-2.26.10-Java-15.eb @@ -0,0 +1,58 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# 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:: MIT +# +# 2.10.1: +# Adam Huffman +# The Francis Crick Institute +# 2.18.11: +# Jonas Demeulemeester +# The Francis Crick Institute +# 2.21.1 +# Pavel Grochal (INUITS) +# 2.25.1 +# J. Sassmannshausen (GSTT) +# 2.25.5 +# Erica Bianco (HPCNow!) +# 2.26.10 +# Christoph Siegert (Leipzig University) +## + +easyblock = 'JAR' + +name = 'picard' +version = '2.26.10' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s'] +sources = [{ + 'filename': '%(name)s-%(version)s.jar', + 'download_filename': '%(name)s.jar', +}] +checksums = ['84a056466cf23155e2126b33fde61b5485217b365d4899c1bdc82fe9284f2395'] + +postinstallcmds = ["mv %(installdir)s/%(name)s-%(version)s.jar %(installdir)s/%(name)s.jar"] + +dependencies = [('Java', '15')] + +sanity_check_commands = ['java -jar $EBROOTPICARD/picard.jar 2>&1 | grep USAGE'] + +sanity_check_paths = { + 'files': ['picard.jar'], + 'dirs': [], +} + +modloadmsg = "To execute picard run: java -jar $EBROOTPICARD/%(name)s.jar" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/picard/picard-3.0.0-Java-17.eb b/easybuild/easyconfigs/p/picard/picard-3.0.0-Java-17.eb new file mode 100644 index 00000000000..b9cd29fae76 --- /dev/null +++ b/easybuild/easyconfigs/p/picard/picard-3.0.0-Java-17.eb @@ -0,0 +1,60 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# +# 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:: MIT +# +# 2.10.1: +# Adam Huffman +# The Francis Crick Institute +# 2.18.11: +# Jonas Demeulemeester +# The Francis Crick Institute +# 2.21.1 +# Pavel Grochal (INUITS) +# 2.25.1 +# J. Sassmannshausen (GSTT) +# 2.25.5 +# Erica Bianco (HPCNow!) +# 2.26.10 +# Christoph Siegert (Leipzig University) +# 3.0.0 +# Graham Derryberry (UTK) +## + +easyblock = 'JAR' + +name = 'picard' +version = '3.0.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://broadinstitute.github.io/picard/' +description = """A set of tools (in Java) for working with next generation sequencing data in the BAM format.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/broadinstitute/picard/releases/download/%(version)s'] +sources = [{ + 'filename': '%(name)s-%(version)s.jar', + 'download_filename': '%(name)s.jar', +}] +checksums = ['0d5e28ab301fad3b02030d01923888129ba82c5f722ac5ccb2d418ab76ac5499'] + +postinstallcmds = ["mv %(installdir)s/%(name)s-%(version)s.jar %(installdir)s/%(name)s.jar"] + +dependencies = [('Java', '17')] + +sanity_check_commands = ['java -jar $EBROOTPICARD/picard.jar 2>&1 | grep USAGE'] + +sanity_check_paths = { + 'files': ['picard.jar'], + 'dirs': [], +} + +modloadmsg = "To execute picard run: java -jar $EBROOTPICARD/%(name)s.jar" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2670597f6ad --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.6-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.6' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + '2eed7b0d7449d1d70903f2a62cd6005d262eb3a8c9e98687bc8cbb5809db2a7d', # pigz-2.6.tar.gz + '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d', # pigz-2.6_makefile.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..95cc9bff5e7 --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.7' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.7.tar.gz': 'b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8bac10c36ba --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.7-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.7' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.7.tar.gz': 'b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..99723204e1e --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.8' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.8.tar.gz': 'eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1639902aa17 --- /dev/null +++ b/easybuild/easyconfigs/p/pigz/pigz-2.8-GCCcore-13.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'MakeCp' + +name = 'pigz' +version = '2.8' + +homepage = 'https://zlib.net/pigz/' + +description = """ + pigz, which stands for parallel implementation of gzip, is a fully + functional replacement for gzip that exploits multiple processors and multiple + cores to the hilt when compressing data. pigz was written by Mark Adler, and + uses the zlib and pthread libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [ + 'https://zlib.net/pigz/', + 'https://zlib.net/pigz/fossils/', +] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-2.6_makefile.patch'] +checksums = [ + {'pigz-2.8.tar.gz': 'eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0'}, + {'pigz-2.6_makefile.patch': '7e37175714d43c946373d07c522ec98a77c0f8572a9d448f759c41f6f060275d'}, +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="-L$EBROOTZLIB/lib"' + +files_to_copy = [(["pigz", "unpigz"], "bin")] + +sanity_check_paths = { + 'files': ['bin/pigz', 'bin/unpigz'], + 'dirs': [], +} + +sanity_check_commands = ['pigz -V'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..913df957af3 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.40.0' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc'] + +builddependencies = [ + ('binutils', '2.37'), +] + + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..893f6803884 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.40.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.40.0' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..17b7e5b6432 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.42.2' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8308c32bb59 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.42.2' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2d5befc2cf5 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.42.2-GCCcore-13.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'pixman' +version = '0.42.2' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pixman/pixman-0.43.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pixman/pixman-0.43.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b15cf9f2ef6 --- /dev/null +++ b/easybuild/easyconfigs/p/pixman/pixman-0.43.4-GCCcore-13.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MesonNinja' + +name = 'pixman' +version = '0.43.4' + +homepage = 'http://www.pixman.org/' +description = """ + Pixman is a low-level software library for pixel manipulation, providing + features such as image compositing and trapezoid rasterization. Important + users of pixman are the cairo graphics library and the X server. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://cairographics.org/releases/'] +sources = [SOURCE_TAR_GZ] +checksums = ['a0624db90180c7ddb79fc7a9151093dc37c646d8c38d3f232f767cf64b85a226'] + +builddependencies = [ + ('binutils', '2.42'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), +] + +sanity_check_paths = { + 'files': ['lib/libpixman-1.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pizzly/pizzly-0.37.3-foss-2018b.eb b/easybuild/easyconfigs/p/pizzly/pizzly-0.37.3-foss-2018b.eb index 80427327483..19f28932807 100644 --- a/easybuild/easyconfigs/p/pizzly/pizzly-0.37.3-foss-2018b.eb +++ b/easybuild/easyconfigs/p/pizzly/pizzly-0.37.3-foss-2018b.eb @@ -23,7 +23,6 @@ builddependencies = [('CMake', '3.12.1')] dependencies = [('zlib', '1.2.11')] -configopts = '-DCMAKE_BUILD_TYPE=Release' separate_build_dir = True diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-GCCcore-5.4.0.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-GCCcore-5.4.0.eb index 0320934f75e..a5ae68a1194 100644 --- a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.1-GCCcore-5.4.0.eb @@ -17,7 +17,7 @@ checksums = ['beb43c9e064555469bd4390dcfd8030b1536e0aa103f08d7abf7ae8cac0cb001'] builddependencies = [ # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] # don't use PAX, it might break. diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a3f62fffa54 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/pkg-config/' + +description = """ + pkg-config is a helper tool used when compiling applications and libraries. + It helps you insert the correct compiler options on the command line so an + application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other + libraries). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://pkg-config.freedesktop.org/releases/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591'] + +builddependencies = [('binutils', '2.37')] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..894e8691645 --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# pkgconf should be used in preference to pkg-config +# This is included for use only in software that fails to build when using pkgconf +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/pkg-config/' + +description = """ + pkg-config is a helper tool used when compiling applications and libraries. + It helps you insert the correct compiler options on the command line so an + application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other + libraries). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pkg-config.freedesktop.org/releases/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591'] + +builddependencies = [('binutils', '2.38')] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f922f12f6dd --- /dev/null +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +# pkgconf should be used in preference to pkg-config +# This is included for use only in software that fails to build when using pkgconf +easyblock = 'ConfigureMake' + +name = 'pkg-config' +version = '0.29.2' + +homepage = 'https://www.freedesktop.org/wiki/Software/pkg-config/' + +description = """ + pkg-config is a helper tool used when compiling applications and libraries. + It helps you insert the correct compiler options on the command line so an + application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0` + for instance, rather than hard-coding values on where to find glib (or other + libraries). +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pkg-config.freedesktop.org/releases/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591'] + +builddependencies = [('binutils', '2.39')] + +# don't use PAX, it might break. +tar_config_opts = True + +configopts = " --with-internal-glib" + +sanity_check_paths = { + 'files': ['bin/pkg-config'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2.eb b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2.eb index 46d7ee378a4..6281f5a2f9d 100644 --- a/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2.eb +++ b/easybuild/easyconfigs/p/pkg-config/pkg-config-0.29.2.eb @@ -22,7 +22,11 @@ checksums = ['6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591'] # don't use PAX, it might break. tar_config_opts = True -configopts = " --with-internal-glib" +# add pkgconfig directories in the system to list of default search paths +preconfigopts = 'EB_SYS_PC_PATH=":$(find /usr -xdev -type d -name "pkgconfig" -printf %p: 2>/dev/null)";' +configopts = '--with-pc-path="%(installdir)s/lib/pkgconfig:%(installdir)s/share/pkgconfig${EB_SYS_PC_PATH%:}"' + +configopts += " --with-internal-glib" sanity_check_paths = { 'files': ['bin/pkg-config'], diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..fa7cf70d46b --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +builddependencies = [('binutils', '2.36.1')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0d6dab08f33 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +builddependencies = [('binutils', '2.37')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cffdf67d1da --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +builddependencies = [('binutils', '2.38')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0.eb new file mode 100644 index 00000000000..710f2739928 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.8.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = SYSTEM + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d7b6fdb522d81c11f5a0e0a0629a9f5480809ec90e595058674c1517822dfb8c'] + +# add pkgconfig directories in the system to list of default search paths +preconfigopts = 'EB_SYS_PC_PATH=":$(find /usr -xdev -type d -name "pkgconfig" -printf %p: 2>/dev/null)";' +configopts = '--with-pkg-config-dir="%(installdir)s/lib/pkgconfig:%(installdir)s/share/pkgconfig${EB_SYS_PC_PATH%:}"' + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2d47decfa86 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.9.3' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6d73ac21a9410f5cc636acf730f3a5bf46b28d1e18a239c89efc4b2c5548792f'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.4-GCCcore-13.1.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.4-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..c80ab34d708 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.4-GCCcore-13.1.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.9.4' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d6b844ab6bf8ca685e9ef8103dee64fb39b2484c7a18da64ae5ba269514c9f78'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1896354cb61 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-1.9.5-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '1.9.5' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6466efd2e38c4c0ac5de4e345f0dc6dad57e689efb08c31f2a71547683d20dc7'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a9a638fa1ef --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.0.3' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a8f25f4b0c1ad48edc9b07ed46101aab4bcb305ba6ae811be49b7499b00eed49'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..aaaecf30a9a --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.2.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28f8dfc279a10ef66148befa3f6eb266e5f3570316600208ed50e9781c7269d8'] + +builddependencies = [('binutils', '2.42')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb new file mode 100644 index 00000000000..3440e388cc3 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.2.0' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = SYSTEM + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['28f8dfc279a10ef66148befa3f6eb266e5f3570316600208ed50e9781c7269d8'] + +# add pkgconfig directories in the system to list of default search paths +preconfigopts = 'EB_SYS_PC_PATH=":$(find /usr -xdev -type d -name "pkgconfig" -printf %p: 2>/dev/null)";' +configopts = '--with-pkg-config-dir="%(installdir)s/lib/pkgconfig:%(installdir)s/share/pkgconfig${EB_SYS_PC_PATH%:}"' + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.2.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.2.0-python.eb new file mode 100644 index 00000000000..5c0847b62e8 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.2.0-python.eb @@ -0,0 +1,28 @@ +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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('pkg-config', '0.29.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb new file mode 100644 index 00000000000..568e0498ef7 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-11.3.0-python.eb @@ -0,0 +1,28 @@ +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('pkgconf', '1.8.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb new file mode 100644 index 00000000000..95979ef5286 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.2.0-python.eb @@ -0,0 +1,28 @@ +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': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('pkgconf', '1.9.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.3.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.3.0-python.eb new file mode 100644 index 00000000000..7572556098c --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-12.3.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': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('pkgconf', '1.9.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' 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/pkgconfig/pkgconfig-1.5.5-GCCcore-13.3.0-python.eb b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-13.3.0-python.eb new file mode 100644 index 00000000000..f66c2f13358 --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconfig/pkgconfig-1.5.5-GCCcore-13.3.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.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899'] + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('pkgconf', '2.2.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..5578e11ec0e --- /dev/null +++ b/easybuild/easyconfigs/p/planarity/planarity-3.0.2.0-GCC-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'planarity' +version = '3.0.2.0' + +homepage = "https://github.com/graph-algorithms/edge-addition-planarity-suite" +description = """A library for implementing graph algorithms""" + +source_urls = ['https://github.com/graph-algorithms/edge-addition-planarity-suite/archive'] +checksums = ['40f4ee7bbd5d8535460c60fc0fc1f806b10909a1419618fd9235746a420a04c6'] +sources = ['Version_%(version)s.tar.gz'] + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +builddependencies = [ + ('Autotools', '20220317'), +] + +start_dir = 'edge-addition-planarity-suite-Version_%(version)s' +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': [ + 'bin/planarity', + 'lib/libplanarity.a', + 'lib/libplanarity.%s' % SHLIB_EXT, + ], + 'dirs': [ + 'include/planarity', + 'share/doc', + 'share/man', + ] +} + +sanity_check_commands = ['%(name)s -h'] + +moduleclass = "lib" diff --git a/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..96423f3f80b --- /dev/null +++ b/easybuild/easyconfigs/p/plantri/plantri-5.4-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'plantri' +version = '5.4' + +homepage = 'https://doc.sagemath.org/html/en/reference/spkg/plantri.html' +description = """Plantri is a program that generates certain types of graphs that are imbedded on the sphere. +Exactly one member of each isomorphism class is output, +using an amount of memory almost independent of the number of graphs produced. +This, together with the exceptionally fast operation and careful validation, +makes the program suitable for processing very large numbers of graphs. +Isomorphisms are defined with respect to the embeddings, +so in some cases outputs may be isomorphic as abstract graphs.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://users.cecs.anu.edu.au/~bdm/plantri'] +sources = ['plantri%s.tar.gz' % version.replace('.', '')] +checksums = ['10625820bd1eae7376a9cbe8af8ffaba71a25fcb6a76c36fe89be83ce6c28bdd'] + +builddependencies = [('binutils', '2.40')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +local_bins = ['plantri', 'fullgen'] + +files_to_copy = [ + (local_bins, 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb b/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb new file mode 100644 index 00000000000..feef3c53fc4 --- /dev/null +++ b/easybuild/easyconfigs/p/plc/plc-3.10-intel-2022a.eb @@ -0,0 +1,64 @@ +easyblock = 'Waf' + +name = 'plc' +version = '3.10' + +homepage = 'https://pla.esac.esa.int/pla/#home' + +description = """ + plc is the public Planck Likelihood Code. + It provides C and Fortran libraries that allow + users to compute the log likelihoods of the temperature, + polarization, and lensing maps. Optionally, it also provides a python version of this library, + as well as tools to modify the predetermined options for some likelihoods + (e.g. changing the high-ell and low-ell lmin and lmax values of the temperature). +""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +source_urls = ['https://pla.esac.esa.int/pla/aio'] +sources = ['product-action?COSMOLOGY.FILE_ID=COM_Likelihood_Code-v3.0_R3.10.tar.gz'] +checksums = ['0538eaae1a04528ee355264b77dc6c18c0c1904c28fa18cab8e34baddf581696'] + +dependencies = [ + ('Python', '3.10.4'), + ('CFITSIO', '4.2.0'), + ('cURL', '7.83.0'), + ('astropy', '5.1.1'), +] + +configopts = "--icc " # Do not test for gcc and only use icc +configopts += "--ifort " # Do not test for gfortran and only use ifort +configopts += "--lapack_mkl=${MKLROOT} " # location of the EB mkl install +configopts += "--cfitsio_prefix=${EBROOTCFITSIO} " # location of the EB cfitsio install +configopts += "--extra_lib=curl " # not having curl in extra lib will fail to build the examples +configopts += "--extra_lib=m " # not having -lm will fail the build.. +configopts += "--extra_libpath=${EBROOTCURL}/lib " # -''- + +unpack_options = '--strip 3' +buildininstalldir = 'true' + +modextravars = { + 'CLIK_PATH': '%(installdir)s', + 'CLIK_DATA': 'share/clik', + 'CLIK_PLUGIN': 'rel2015', +} + +modextrapaths = { + 'PYTHONPATH': 'lib/python/site-packages' +} + +sanity_check_paths = { + 'files': [ + 'lib/libclik_f90.%s' % SHLIB_EXT, + 'lib/libclik.%s' % SHLIB_EXT, + 'lib/python/site-packages/clik/__init__.py', + 'include/clik.h', + ], + 'dirs': [ + 'bin', + 'share', + ], +} + +moduleclass = 'astro' diff --git a/easybuild/easyconfigs/p/plinkliftover/plinkliftover-0.3.0-foss-2022b.eb b/easybuild/easyconfigs/p/plinkliftover/plinkliftover-0.3.0-foss-2022b.eb new file mode 100644 index 00000000000..5d149fa5722 --- /dev/null +++ b/easybuild/easyconfigs/p/plinkliftover/plinkliftover-0.3.0-foss-2022b.eb @@ -0,0 +1,47 @@ +# EasyBuild EasyConfig +# +# Fred Hutch Cancer Center - Seattle Washington US +# +# John Dey +easyblock = 'PythonBundle' + +name = 'plinkliftover' +version = '0.3.0' + +homepage = 'https://github.com/milescsmith/plinkliftover' +description = """PLINKLiftOver is a utility enabling liftOver to work on genomics files from PLINK, + allowing one to update the coordinates from one genome reference version to another.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('typer', '0.4.1', { + 'checksums': ['5646aef0d936b2c761a10393f0384ee6b5c7fe0bb3e5cd710b17134ca1d99cff'], + }), + ('rich', '10.16.2', { + 'checksums': ['720974689960e06c2efdb54327f8bf0cdbdf4eae4ad73b6c94213cad405c371b'], + }), + (name, version, { + 'checksums': ['fa38546f0c92def1ecf454c34a1044597f3b7025d3142a9e2dcc1c0976aa16ae'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb new file mode 100644 index 00000000000..d32ed87425b --- /dev/null +++ b/easybuild/easyconfigs/p/plmc/plmc-20230121-GCCcore-12.3.0-32bit.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'plmc' +version = '20230121' +versionsuffix = '-32bit' +local_commit = '18c9e55' + +homepage = 'https://github.com/debbiemarkslab/plmc' +description = """ +Inference of couplings in proteins and RNAs from sequence variation. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'debbiemarkslab' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['780b657246749adeb8c5ec01746b7283d1b94598c547abd61b87f1efd996d619'] + +builddependencies = [ + ('binutils', '2.40'), +] + +buildopts = 'all-openmp32' + +files_to_copy = ['*'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin'], +} + +sanity_check_commands = [ + "plmc -h 2>&1| grep Usage:", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..97a84ddcb6a --- /dev/null +++ b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'plot1cell' +version = '0.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/HaojiaWu/plot1cell' +description = "plot1cell: a package for advanced single cell data visualization" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/HaojiaWu/plot1cell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ac39a21e8530d7eb489ac64d8e56d19dcbf3f904b99fc91cf0746bb230f37a10'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('DoubletFinder', '2.0.3-20230131', versionsuffix), + ('loomR', '0.2.0-20180425', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..d25d694958d --- /dev/null +++ b/easybuild/easyconfigs/p/plot1cell/plot1cell-0.0.1-foss-2022b-R-4.2.2.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'plot1cell' +version = '0.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/HaojiaWu/plot1cell' +description = "plot1cell: a package for advanced single cell data visualization" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/HaojiaWu/plot1cell/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ac39a21e8530d7eb489ac64d8e56d19dcbf3f904b99fc91cf0746bb230f37a10'] + +dependencies = [ + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), + ('DoubletFinder', '2.0.3-20230819', versionsuffix), + ('loomR', '0.2.0-20180425', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/plotly-orca/plotly-orca-1.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/plotly-orca/plotly-orca-1.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..fcf1a67d7ff --- /dev/null +++ b/easybuild/easyconfigs/p/plotly-orca/plotly-orca-1.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) + +easyblock = 'Binary' + +name = 'plotly-orca' +version = '1.3.1' + +homepage = 'https://github.com/plotly/orca' +description = """Orca is an Electron app that generates images and reports of Plotly things like + plotly.js graphs, dash apps, dashboards from the command line.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/plotly/orca/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['25ebf207d75769c140dcea033a984e7a3a6d919bb8e110a14c890c8cf430f14d'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('nodejs', '18.17.1'), +] + +install_cmd = 'npm install --no-package-lock -g --prefix %(installdir)s electron@6.1.4 v%(version)s.tar.gz' + +sanity_check_paths = { + 'files': ['bin/orca'], + 'dirs': ['lib/node_modules/orca'], +} +sanity_check_commands = ['orca --help'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-4.14.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-4.14.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..6cfb8cf4ced --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-4.14.3-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '4.14.3' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [('Python', '3.9.5')] + +use_pip = True + +exts_list = [ + ('retrying', '1.3.3', { + 'checksums': ['08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b'], + }), + ('plotly', version, { + 'checksums': ['7d8aaeed392e82fb8e0e48899f2d3d957b12327f9d38cdd5802bc574a8a39d91'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8c791642cf0 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.1.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [('Python', '3.9.5')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.0.1', { + 'checksums': ['43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f'], + }), + ('plotly', version, { + 'checksums': ['71f6744acdc524c22236c226d7cf1072d1a58ebacaf749c640998298472c8c44'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..10401fd48fc --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.12.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.12.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [('Python', '3.10.4')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.0.1', { + 'checksums': ['43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f'], + }), + ('plotly', version, { + 'checksums': ['8bf1b37a1e3cb260a4aa77ab79c9db4fd0ad3ccd66463c3a3e8a5300196ec61e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..818ae974dd7 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.13.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.13.1' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [('Python', '3.10.8')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.2.2', { + 'checksums': ['43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0'], + }), + ('plotly', version, { + 'checksums': ['90ee9a1fee0dda30e2830e129855081ea17bd1b06a553a62b62de15caff1a219'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1471f01011a --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.16.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.3')] + +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.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('plotly', version, { + 'checksums': ['13dc052665dcb4d9eefd89847c0b144984e99aca5c8008f9885d2583b77d8b7d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' 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/plotly.py/plotly.py-5.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..536b80f0c65 --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.4.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [('Python', '3.9.6')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.0.1', { + 'checksums': ['43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f'], + }), + ('plotly', version, { + 'checksums': ['735d50738c760ecbf3a38e2336b8c1b119bff2d857096e4f68af31089b798161'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch b/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch new file mode 100644 index 00000000000..0bf7c04f34c --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch @@ -0,0 +1,12 @@ +Putting a manually typed version in setup.cfg, as it wouldnt resolve automatically. +Author: Denis Kristak (Inuits)diff -ruN tenacity-8.2.3_orig/setup.cfg tenacity-8.2.3/setup.cfg +--- tenacity-8.2.3_orig/setup.cfg 2023-08-14 15:22:48.000000000 +0200 ++++ tenacity-8.2.3/setup.cfg 2023-08-15 19:47:02.512360441 +0200 +@@ -1,6 +1,7 @@ + [metadata] + name = tenacity + license = Apache 2.0 ++version = 8.2.3 + url = https://github.com/jd/tenacity + summary = Retry code until it succeeds + long_description = Tenacity is a general-purpose retrying library to simplify the task of adding retry behavior to just about anything. diff --git a/easybuild/easyconfigs/p/plotutils/plotutils-2.6-GCC-11.3.0.eb b/easybuild/easyconfigs/p/plotutils/plotutils-2.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..76c7003655d --- /dev/null +++ b/easybuild/easyconfigs/p/plotutils/plotutils-2.6-GCC-11.3.0.eb @@ -0,0 +1,60 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'ConfigureMake' + +name = 'plotutils' +version = '2.6' + +homepage = 'https://www.gnu.org/software/plotutils/' +description = """The GNU plotutils package contains software for both programmers and +technical users. Its centerpiece is libplot, a powerful C/C++ function library for +exporting 2-D vector graphics in many file formats, both vector and bitmap. On the +X Window System, it can also do 2-D vector graphics animations. + +libplot is device-independent, in the sense that its API (application programming interface) +does not depend on the type of graphics file to be exported. A Postscript-like API +is used both for file export and for graphics animations. A libplot programmer needs +to learn only one API: not the details of many graphics file formats.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://ftp.gnu.org/gnu/plotutils'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-png.patch'] + +checksums = [ + '4f4222820f97ca08c7ea707e4c53e5a3556af4d8f1ab51e0da6ff1627ff433ab', # plotutils-2.6.tar.gz + 'd60997b0608db37d494f60394a468cd5491e200862d8d9af32ba1dbc3c178aaa', # plotutils-2.6-png.patch +] + +builddependencies = [ + ('gawk', '5.1.1'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('X11', '20220504'), +] + +configopts = '--enable-libxmi --enable-ps-fonts-in-pcl --enable-libplotter ' +configopts += '--enable-lj-fonts-in-ps ' + +runtest = 'check' + +local_bin = [ + 'double', 'graph', 'hersheydemo', 'ode', 'pic2plot', 'plot', + 'plotfont', 'spline', 'tek2plot' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin] + + ['lib/libplot.a', 'lib/libplot.%s' % SHLIB_EXT] + + ['lib/libplotter.a', 'lib/libplotter.%s' % SHLIB_EXT] + + ['lib/libxmi.a', 'lib/libxmi.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +sanity_check_commands = ["%s --help" % x for x in local_bin] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/plotutils/plotutils-2.6-png.patch b/easybuild/easyconfigs/p/plotutils/plotutils-2.6-png.patch new file mode 100644 index 00000000000..abb18420d29 --- /dev/null +++ b/easybuild/easyconfigs/p/plotutils/plotutils-2.6-png.patch @@ -0,0 +1,40 @@ +Patch to ensure png-1.5 and higher can be used, taken from +https://lists.gnu.org/archive/html/bug-plotutils/2011-01/msg00000.html +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/plotutils-2.6.orig/libplot/z_write.c b/plotutils-2.6/libplot/z_write.c +index d76a7cc..173d4a9 100644 +--- a/plotutils-2.6.orig/libplot/z_write.c ++++ b/plotutils-2.6/libplot/z_write.c +@@ -164,7 +164,7 @@ _pl_z_maybe_output_image (S___(Plotter *_plotter)) + } + + /* cleanup after libpng errors (error handler does a longjmp) */ +- if (setjmp (png_ptr->jmpbuf)) ++ if (setjmp (png_jmpbuf (png_ptr))) + { + png_destroy_write_struct (&png_ptr, (png_info **)NULL); + return -1; +@@ -444,7 +444,11 @@ _our_error_fn_stdio (png_struct *png_ptr, const char *data) + #endif + } + ++#if (PNG_LIBPNG_VER < 10500) + longjmp (png_ptr->jmpbuf, 1); ++#else ++ png_longjmp (png_ptr, 1); ++#endif + } + + static void +@@ -515,7 +519,11 @@ _our_error_fn_stream (png_struct *png_ptr, const char *data) + #endif + } + ++#if (PNG_LIBPNG_VER < 10500) + longjmp (png_ptr->jmpbuf, 1); ++#else ++ png_longjmp (png_ptr, 1); ++#endif + } + + static void diff --git a/easybuild/easyconfigs/p/pmt/pmt-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pmt/pmt-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b2eda8583d9 --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.1.0' + +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'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['ab342ec33992c1ad4c42e0e66031710fe6320f73a1ca2a6e34cb1d4739da781f'] + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' 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-11.3.0.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5a74097eda9 --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' + +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'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +sanity_check_paths = { + 'files': ["bin/Rapl-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/pmt/pmt-1.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cd1fc004ffd --- /dev/null +++ b/easybuild/easyconfigs/p/pmt/pmt-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'pmt' +version = '1.2.0' + +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'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40') +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pmx/pmx-2.0-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/p/pmx/pmx-2.0-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..00f2bd3ae26 --- /dev/null +++ b/easybuild/easyconfigs/p/pmx/pmx-2.0-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'pmx' +version = '2.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/deGrootLab/pmx' +description = """pmx (formerly pymacs) is a small bunch of classes to +read structure files such as pdb or gro and trajectory data in gromacs +xtc format. Over the years it has been extended towards a versatile +(bio-) molecular structure manipulation package with some additional +functionalities, e.g. gromacs file parsers and scripts for setup and +analysis of free energy calculations.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['323dd5091c62255f1f6cbfc6b4869ef9672a188ce7e3439ed1bb6e9cf2c3804c'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.11', versionsuffix), + ('matplotlib', '2.2.5', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ['pmx --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.4-GCC-8.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.4-GCC-8.3.0.eb index c8b6eda3b49..032f249a058 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.4-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.4-GCC-8.3.0.eb @@ -34,7 +34,9 @@ separate_build_dir = True # disable attempt to find an ICD loader, always build libOpenCL.so configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " # make sure we use the easybuild Clang -configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config" +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config " +# 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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.4-gcccuda-2019b.eb b/easybuild/easyconfigs/p/pocl/pocl-1.4-gcccuda-2019b.eb index 42495666e3e..2939fcf0e31 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.4-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.4-gcccuda-2019b.eb @@ -34,7 +34,9 @@ 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" +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config " +# 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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.5-GCC-9.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.5-GCC-9.3.0.eb index 9868608073f..3a67d21dcc9 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.5-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.5-GCC-9.3.0.eb @@ -34,7 +34,9 @@ separate_build_dir = True # disable attempt to find an ICD loader, always build libOpenCL.so configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " # make sure we use the easybuild Clang -configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config" +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config " +# 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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.6-GCC-10.2.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.6-GCC-10.2.0.eb index 7f2991f31f8..949bd6168a8 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.6-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.6-GCC-10.2.0.eb @@ -30,7 +30,9 @@ separate_build_dir = True # disable attempt to find an ICD loader, always build libOpenCL.so configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " # make sure we use the easybuild Clang -configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON" +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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.6-gcccuda-2020b.eb b/easybuild/easyconfigs/p/pocl/pocl-1.6-gcccuda-2020b.eb index d5d54b8902c..b6ff23250e3 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.6-gcccuda-2020b.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.6-gcccuda-2020b.eb @@ -30,7 +30,9 @@ 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" +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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.6-iccifort-2020.4.304.eb b/easybuild/easyconfigs/p/pocl/pocl-1.6-iccifort-2020.4.304.eb index 4dc3a0dc23e..257dcb0f4d9 100644 --- a/easybuild/easyconfigs/p/pocl/pocl-1.6-iccifort-2020.4.304.eb +++ b/easybuild/easyconfigs/p/pocl/pocl-1.6-iccifort-2020.4.304.eb @@ -30,7 +30,9 @@ separate_build_dir = True # disable attempt to find an ICD loader, always build libOpenCL.so configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " # make sure we use the easybuild Clang -configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON" +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], diff --git a/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-10.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..6caccf9d359 --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-10.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' + +homepage = 'https://portablecl.org' +description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" + +toolchain = {'name': 'GCC', 'version': '10.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.20.1'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Clang', '12.0.1'), + ('hwloc', '2.4.1'), + ('libtool', '2.4.6'), + ('libxml2', '2.9.10'), +] + +# disable attempt to find an ICD loader, always build libOpenCL.so +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=1 " +# make sure we use the easybuild Clang +configopts += "-DWITH_LLVM_CONFIG=$EBROOTCLANG/bin/llvm-config -DSTATIC_LLVM=ON" + +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-1.8-GCC-11.2.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.2.0.eb new file mode 100644 index 00000000000..0c7f9416308 --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' + +homepage = 'https://portablecl.org' +description = "Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard" + +toolchain = {'name': 'GCC', 'version': '11.2.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.22.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Clang', '12.0.1'), + ('hwloc', '2.5.0'), + ('libtool', '2.4.6'), + ('libxml2', '2.9.10'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=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-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-1.8-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb new file mode 100644 index 00000000000..06688ffbce2 --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8-GCC-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeNinja' + +name = 'pocl' +version = '1.8' + +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 = [ + ('Clang', '13.0.1'), + ('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 +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=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-1.8_fix-header-install.patch b/easybuild/easyconfigs/p/pocl/pocl-1.8_fix-header-install.patch new file mode 100644 index 00000000000..aa74658080d --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-1.8_fix-header-install.patch @@ -0,0 +1,24 @@ +see https://github.com/pocl/pocl/issues/1000 + https://github.com/pocl/pocl/pull/1001 + +From f5a841706edd5b201274337660528d75797031bc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Gem=C3=BCnd?= + +Date: Thu, 11 Nov 2021 09:38:24 +0100 +Subject: [PATCH] Add missing cl_ext_pocl.h to install. + +--- + include/CL/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/CL/CMakeLists.txt b/include/CL/CMakeLists.txt +index 63e6b1ba4..eb4f4773d 100644 +--- a/include/CL/CMakeLists.txt ++++ b/include/CL/CMakeLists.txt +@@ -35,6 +35,7 @@ if(INSTALL_OPENCL_HEADERS) + cl_ext.h + cl_egl.h + cl_ext_intel.h ++ cl_ext_pocl.h + cl_gl.h + cl_gl_ext.h + cl_half.h 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/pocl/pocl-4.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-4.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..64594d3b31f --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-4.0-GCC-12.3.0.eb @@ -0,0 +1,48 @@ +# 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' + +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 = [ + ('Clang', '16.0.6'), + ('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 +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=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-6.0-GCC-13.3.0.eb b/easybuild/easyconfigs/p/pocl/pocl-6.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..4a188f7473b --- /dev/null +++ b/easybuild/easyconfigs/p/pocl/pocl-6.0-GCC-13.3.0.eb @@ -0,0 +1,48 @@ +# 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 = '6.0' + +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': '13.3.0'} + +source_urls = ['https://github.com/pocl/pocl/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [] +checksums = [ + 'de9710223fc1855f833dbbf42ea2681e06aa8ec0464f0201104dc80a74dfd1f2', # v6.0.tar.gz +] + +builddependencies = [ + ('CMake', '3.29.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('Clang', '18.1.8'), + ('hwloc', '2.10.0'), + ('libtool', '2.4.7'), + ('libxml2', '2.12.7'), +] + +separate_build_dir = True + +# disable attempt to find an ICD loader, always build libOpenCL.so +configopts = "-DENABLE_ICD=0 -DINSTALL_OPENCL_HEADERS=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/pod5-file-format/pod5-file-format-0.1.8-foss-2022a.eb b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.1.8-foss-2022a.eb new file mode 100644 index 00000000000..e1c12919d47 --- /dev/null +++ b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.1.8-foss-2022a.eb @@ -0,0 +1,86 @@ +easyblock = 'CMakeMake' + +name = 'pod5-file-format' +version = '0.1.8' + +homepage = 'https://github.com/nanoporetech/pod5-file-format' +description = """POD5 is a file format for storing nanopore dna data in an easily accessible way. + The format is able to be written in a streaming manner which allows a sequencing + instrument to directly write the format.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/nanoporetech/%(name)s/archive/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['pod5-file-format-0.1.8_dep_fix.patch'] +checksums = [ + {'pod5-file-format-0.1.8.tar.gz': '262b85a44b2e5e93be55bfc2d55a49c07a012b04b59aa24e1d59fd981ac58b5c'}, + {'pod5-file-format-0.1.8_dep_fix.patch': '9c7fe8e8aa79c8fff9e43ea3ae1754c5ef0d3023c47f7e4a157d12b34be378a4'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconfig', '1.5.5', '-python'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Arrow', '8.0.0'), + ('SciPy-bundle', '2022.05'), + ('zstd', '1.5.2'), + ('flatbuffers', '2.0.7'), + ('pybind11', '2.9.2'), + ('Boost', '1.79.0'), + ('build', '0.10.0'), + ('HDF5', '1.12.2'), + ('h5py', '3.7.0'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +exts_list = [ + ('attrs', '22.2.0', { + 'checksums': ['c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99'], + }), + ('vbz_h5py_plugin', '1.0.1', { + 'checksums': ['c784458bb0aad6303474cb2f10956179116b35555803fd1154eb4ef362519341'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('pod5', version, { + 'source_urls': source_urls, + 'sources': sources, + 'start_dir': 'python/pod5', + 'checksums': ['262b85a44b2e5e93be55bfc2d55a49c07a012b04b59aa24e1d59fd981ac58b5c'], + }), +] + +configopts = ' -DBUILD_PYTHON_WHEEL=ON -DZSTD_LIB="$EBROOTZSTD/lib/libzstd.a" ' + +installopts = ' && export XDG_CACHE_HOME=%(builddir)s && cd %(installdir)s' +installopts += ' && pip install --no-deps --ignore-installed --prefix %(installdir)s lib_pod5-%(version)s-*.whl' + +postinstallcmds = ['rm %(installdir)s/lib_pod5-%(version)s-*.whl'] + +sanity_check_paths = { + 'files': ['bin/pod5', 'lib/libpod5_format.a'], + 'dirs': ['include/pod5_format', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pod5 subset --help", + "python -c 'import lib_pod5'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.1.8_dep_fix.patch b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.1.8_dep_fix.patch new file mode 100644 index 00000000000..3015c600bb5 --- /dev/null +++ b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.1.8_dep_fix.patch @@ -0,0 +1,31 @@ +Flatbuffers 2.0.7 uses capital 'B' in 'FlatBuffersConfig.cmake' +We want to use our pybind11 instead of the one in git submodules +Author: Petr Král (INUITS) +diff -u pod5-file-format-0.1.8/c++/CMakeLists.txt.orig pod5-file-format-0.1.8/c++/CMakeLists.txt +--- pod5-file-format-0.1.8/c++/CMakeLists.txt.orig 2023-02-23 19:17:13.000000000 +0100 ++++ pod5-file-format-0.1.8/c++/CMakeLists.txt 2023-04-25 14:07:28.174884834 +0200 +@@ -16,11 +16,12 @@ + COMPONENTS + headers + ) +- find_package(Flatbuffers REQUIRED) ++ find_package(FlatBuffers REQUIRED) + find_package(zstd REQUIRED) + endif() + + find_package(Threads REQUIRED) ++find_package(pybind11 REQUIRED) + + find_program( + FLATBUFFERS_FLATC_EXECUTABLE +diff -u pod5-file-format-0.1.8/CMakeLists.txt.orig pod5-file-format-0.1.8/CMakeLists.txt +--- pod5-file-format-0.1.8/CMakeLists.txt.orig 2023-01-20 12:22:05.000000000 +0100 ++++ pod5-file-format-0.1.8/CMakeLists.txt 2023-01-23 10:34:44.860294168 +0100 +@@ -92,7 +91,6 @@ + + if (BUILD_PYTHON_WHEEL) + find_package (Python ${PYTHON_VERSION} EXACT COMPONENTS Interpreter Development) +- add_subdirectory(third_party/pybind11) + endif() + + add_subdirectory(c++) diff --git a/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10-foss-2023a.eb b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10-foss-2023a.eb new file mode 100644 index 00000000000..9db2243c96e --- /dev/null +++ b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10-foss-2023a.eb @@ -0,0 +1,110 @@ +easyblock = 'CMakeMake' + +name = 'pod5-file-format' +version = '0.3.10' + +homepage = 'https://github.com/nanoporetech/pod5-file-format' +description = """POD5 is a file format for storing nanopore dna data in an easily accessible way. + The format is able to be written in a streaming manner which allows a sequencing + instrument to directly write the format.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/nanoporetech/%(name)s/archive/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['pod5-file-format-0.3.10_dep_fix.patch'] +checksums = [ + {'pod5-file-format-0.3.10.tar.gz': 'eb177018b310e508f7ad6b5d486cc29166404dd5f82879d0c26aceaff51d3768'}, + {'pod5-file-format-0.3.10_dep_fix.patch': '20dc87ab82d4b52ff7fb769d17c2478daf95f787b2a184c9d985e33e03038e31'}, +] + +builddependencies = [ + ('poetry', '1.5.1'), + ('CMake', '3.26.3'), + ('pkgconfig', '1.5.5', '-python'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('Arrow', '14.0.1'), + ('SciPy-bundle', '2023.07'), + ('zstd', '1.5.5'), + ('flatbuffers', '23.5.26'), + ('pybind11', '2.11.1'), + ('Boost', '1.82.0'), + ('build', '1.0.3'), + ('HDF5', '1.14.0'), + ('h5py', '3.9.0'), + ('tqdm', '4.66.1'), + ('polars', '0.20.2'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, + 'installopts': '', +} + +# unpin polars and h5py versions in pod5 +local_preinstallopts = ( + "sed -i" + " -e 's/polars~=0.19/polars/'" + " -e 's/h5py~=3.10.0/h5py/'" + " pyproject.toml && " +) + +exts_list = [ + ('vbz_h5py_plugin', '1.0.1', { + 'checksums': ['c784458bb0aad6303474cb2f10956179116b35555803fd1154eb4ef362519341'], + }), + ('iso8601', '2.1.0', { + 'checksums': ['6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df'], + }), + ('pod5', version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['f2dcb1938fcf51c725393345e480c1d12711089d542a27446fb92fbe2e18ae60'], + }), +] + +# create POD5Version.cmake +# python -m setuptools_scm && python -m pod5_make_version shows wrong version +local_ver_sub_minor = version.split('.')[2] +preconfigopts = ( + 'cd %%(builddir)s/%%(name)s-%%(version)s/cmake && ' + 'touch POD5Version.cmake && ' + 'echo "set(POD5_VERSION_MAJOR %%(version_major)s)">POD5Version.cmake && ' + 'echo "set(POD5_VERSION_MINOR %%(version_minor)s)">>POD5Version.cmake && ' + 'echo "set(POD5_VERSION_REV %s)">>POD5Version.cmake && ' + 'echo "set(POD5_NUMERIC_VERSION %%(version)s)">>POD5Version.cmake && ' + 'echo "set(POD5_FULL_VERSION %%(version)s)">>POD5Version.cmake && ' % local_ver_sub_minor +) + +# delete add_subdirectory(third_party/pybind11) from CMakeLists.txt +preconfigopts += "cd %(builddir)s/%(name)s-%(version)s && sed -i '/add_subdirectory(third_party/d' CMakeLists.txt && " +preconfigopts += 'cd %(builddir)s/easybuild_obj && ' + +configopts = ' -DBUILD_PYTHON_WHEEL=ON -DZSTD_LIB="$EBROOTZSTD/lib" -DZSTD_INCLUDE_DIR="$EBROOTZSTD/include"' + +# install lib_pod5 from wheel - dependency of pod5 +installopts = ' && export XDG_CACHE_HOME=%(builddir)s && cd %(installdir)s' +installopts += ' && pip install --no-deps --ignore-installed --prefix %(installdir)s lib_pod5-%(version)s-*.whl' + +postinstallcmds = ['rm %(installdir)s/lib_pod5-%(version)s-*.whl'] + +sanity_check_paths = { + 'files': ['bin/pod5', 'lib/libpod5_format.a'], + 'dirs': ['include/pod5_format', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "pod5 subset --help", + "python -c 'import lib_pod5'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10_dep_fix.patch b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10_dep_fix.patch new file mode 100644 index 00000000000..a053f870ebe --- /dev/null +++ b/easybuild/easyconfigs/p/pod5-file-format/pod5-file-format-0.3.10_dep_fix.patch @@ -0,0 +1,32 @@ +Flatbuffers 2.0.7 uses capital 'B' in 'FlatBuffersConfig.cmake' +We want to use our pybind11 instead of the one in git submodules +Author: Petr Král (INUITS) +diff -u c++/CMakeLists.txt.orig c++/CMakeLists.txt +--- c++/CMakeLists.txt.orig 2023-02-23 19:17:13.000000000 +0100 ++++ c++/CMakeLists.txt 2023-04-25 14:07:28.174884834 +0200 +@@ -3,7 +3,7 @@ + if (ENABLE_CONAN) + find_package(Arrow REQUIRED CONFIG) + find_package(Boost REQUIRED CONFIG) +- find_package(Flatbuffers REQUIRED CONFIG) ++ find_package(FlatBuffers REQUIRED CONFIG) + find_package(zstd REQUIRED CONFIG) + find_package(ZLIB REQUIRED CONFIG) + +@@ -17,7 +17,7 @@ + COMPONENTS + headers + ) +- find_package(Flatbuffers REQUIRED) ++ find_package(FlatBuffers REQUIRED) + find_package(zstd REQUIRED) + find_package(ZLIB REQUIRED) + +@@ -27,6 +27,7 @@ + endif() + + find_package(Threads REQUIRED) ++find_package(pybind11 REQUIRED) + + find_program( + FLATBUFFERS_FLATC_EXECUTABLE diff --git a/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb new file mode 100755 index 00000000000..c73bba0beff --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.2.2-GCCcore-11.3.0.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.2.2' + +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': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '21.3', { + 'checksums': ['dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb'], + }), + ('dulwich', '0.20.50', { + 'checksums': ['50a941796b2c675be39be728d540c16b5b7ce77eb9e1b3f855650ece6832d2be'], + }), + ('poetry_plugin_export', '1.2.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['109fb43ebfd0e79d8be2e7f9d43ba2ae357c4975a18dfc0cfdd9597dd086790e'], + }), + ('cleo', '1.0.0a5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff53056589300976e960f75afb792dfbfc9c78dcbb5a448e207a17b643826360'], + }), + ('jsonschema', '4.17.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f660066c3966db7d6daeaea8a75e0b68237a48e51cf49882087757bb59916248'], + }), + ('platformdirs', '2.5.3', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0cb405749187a194f444c25c82ef7225232f11564721eabffc6ec70df83b11cb'], + }), + ('shellingham', '1.5.0', { + 'checksums': ['72fb7f5c63103ca2cb91b23dee0c71fe8ad6fbfd46418ef17dbe40db51592dad'], + }), + ('tomlkit', '0.11.6', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b'], + }), + ('poetry_core', '1.3.2', { + 'modulename': 'poetry.core', + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ea0f5a90b339cde132b4e43cff78a1b440cd928db864bb67cfc97fdfcefe7218'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['93ea3c4a622485c2a7b7249f1e34e4ac84f8229ded76153b67506313201b154f'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('hatchling', '1.11.1', { + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('hatch_vcs', '0.2.0', { + 'checksums': ['9913d733b34eec9bb0345d0626ca32165a4ad2de15d1ce643c36d09ca908abff'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/poetry/poetry-1.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.5.1-GCCcore-12.3.0.eb new file mode 100755 index 00000000000..f88ebb3614b --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,160 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.5.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'), +] + +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.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('certifi', '2023.5.7', { + 'checksums': ['0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7'], + }), + # poetry 1.5.1 has requirement urllib3<2.0.0,>=1.26.0 + ('urllib3', '1.26.16', { + 'checksums': ['8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14'], + }), + ('charset-normalizer', '3.1.0', { + 'checksums': ['34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5'], + }), + ('dulwich', '0.21.5', { + 'checksums': ['70955e4e249ddda6e34a4636b90f74e931e558f993b17c52570fa6144b993103'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + ('zipp', '3.15.0', { + 'checksums': ['112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b'], + }), + ('importlib_metadata', '6.7.0', { + 'checksums': ['1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4'], + }), + ('jeepney', '0.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755'], + }), + ('SecretStorage', '3.3.3', { + 'checksums': ['2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77'], + }), + ('more-itertools', '9.1.0', { + 'checksums': ['cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d'], + }), + ('jaraco.classes', '3.2.3', { + 'checksums': ['89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a'], + }), + # poetry 1.5.1 has requirement keyring<24.0.0,>=23.9.0 + ('keyring', '23.13.1', { + 'modulename': False, + 'checksums': ['ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + ('build', '0.10.0', { + 'checksums': ['d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269'], + }), + ('installer', '0.7.0', { + 'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('rapidfuzz', '2.15.1', { + 'checksums': ['d62137c2ca37aea90a11003ad7dc109c8f1739bfbe5a9a217f3cdb07d7ac00f6'], + }), + ('cleo', '2.0.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'], + }), + ('attrs', '23.1.0', { + 'modulename': 'attr', + 'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'], + }), + ('pyrsistent', '0.19.3', { + 'checksums': ['1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440'], + }), + ('requests-toolbelt', '1.0.0', { + 'checksums': ['7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6'], + }), + ('pkginfo', '1.9.6', { + 'checksums': ['8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046'], + }), + ('ptyprocess', '0.7.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], + }), + ('pexpect', '4.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + ('jsonschema', '4.17.3', { + 'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'], + }), + ('platformdirs', '3.8.0', { + 'checksums': ['b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc'], + }), + ('shellingham', '1.5.0', { + 'checksums': ['72fb7f5c63103ca2cb91b23dee0c71fe8ad6fbfd46418ef17dbe40db51592dad'], + }), + ('tomlkit', '0.11.8', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('CacheControl', '0.12.14', { + 'checksums': ['d1087f45781c0e00616479bfd282c78504371ca71da017b49df9f5365a95feba'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry_core', '1.6.1', { + 'modulename': 'poetry.core', + 'checksums': ['0f9b0de39665f36d6594657e7d57b6f463cc10f30c28e6d1c3b9ff54c26c9ac3'], + }), + ('poetry_plugin_export', '1.4.0', { + 'checksums': ['f16974cd9f222d4ef640fa97a8d661b04d4fb339e51da93973f1bc9d578e183f'], + }), + (name, version, { + 'checksums': ['cc7ea4524d1a11558006224bfe8ba8ed071417d4eb5ef6c89decc6a37d437eeb'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/poetry/poetry-1.6.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.6.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b55799d2110 --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.6.1-GCCcore-13.2.0.eb @@ -0,0 +1,161 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.6.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': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('scikit-build', '0.17.6'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('hatchling', '1.18.0'), + ('cryptography', '41.0.5'), + ('virtualenv', '20.24.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('certifi', '2023.7.22', { + 'checksums': ['539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082'], + }), + ('urllib3', '2.0.7', { + 'checksums': ['c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84'], + }), + ('charset-normalizer', '3.3.1', { + 'checksums': ['d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e'], + }), + ('dulwich', '0.21.6', { + 'checksums': ['30fbe87e8b51f3813c131e2841c86d007434d160bd16db586b40d47f31dd05b0'], + }), + ('crashtest', '0.4.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5'], + }), + ('zipp', '3.17.0', { + 'checksums': ['84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0'], + }), + ('importlib_metadata', '6.8.0', { + 'checksums': ['dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743'], + }), + ('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.1.0', { + 'checksums': ['626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a'], + }), + ('jaraco.classes', '3.3.0', { + 'checksums': ['c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621'], + }), + ('keyring', '24.2.0', { + 'modulename': False, + 'checksums': ['ca0746a19ec421219f4d713f848fa297a661a8a8c1504867e55bfb5e09091509'], + }), + ('pyproject_hooks', '1.0.0', { + 'checksums': ['f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5'], + }), + # poetry 1.6.1 has requirement build<0.11.0,>=0.10.0 + ('build', '0.10.0', { + 'checksums': ['d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269'], + }), + ('installer', '0.7.0', { + 'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + # poetry 1.5.1 has requirement rapidfuzz<3.0.0,>=2.2.0 + ('rapidfuzz', '2.15.2', { + 'checksums': ['bfc1d38a7adcbe8912f980a5f46f27a801dd8655582ff0d4a2c0431c02b7ce33'], + }), + ('cleo', '2.0.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448'], + }), + ('attrs', '23.1.0', { + 'modulename': 'attr', + 'checksums': ['6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015'], + }), + ('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.8.0', { + 'checksums': ['fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c'], + }), + # poetry 1.6.1 has requirement jsonschema<4.18.0,>=4.10.0 + ('jsonschema', '4.17.3', { + 'checksums': ['0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d'], + }), + ('platformdirs', '3.11.0', { + 'checksums': ['cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('tomlkit', '0.12.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['712cbd236609acc6a3e2e97253dfc52d4c2082982a88f61b640ecf0817eab899'], + }), + ('requests', '2.31.0', { + 'checksums': ['942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1'], + }), + ('msgpack', '1.0.7', { + 'checksums': ['572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87'], + }), + ('cachecontrol', '0.13.1', { + 'checksums': ['f012366b79d2243a6118309ce73151bf52a38d4a5dac8ea57f09bd29087e506b'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry_core', '1.7.0', { + 'modulename': 'poetry.core', + 'checksums': ['8f679b83bd9c820082637beca1204124d5d2a786e4818da47ec8acefd0353b74'], + }), + ('poetry_plugin_export', '1.5.0', { + 'checksums': ['ecc8738da0c81c3758e36b4e72e04ae59648a547492af2ffe6245af3594bb00f'], + }), + (name, version, { + 'checksums': ['0ab9b1a592731cc8b252b8d6aaeea19c72cc0a109d7468b829ad57e6c48039d2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' 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/poetry/poetry-1.8.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/poetry/poetry-1.8.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..030ca7ce42e --- /dev/null +++ b/easybuild/easyconfigs/p/poetry/poetry-1.8.3-GCCcore-13.3.0.eb @@ -0,0 +1,181 @@ +easyblock = 'PythonBundle' + +name = 'poetry' +version = '1.8.3' + +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': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('scikit-build', '0.17.6'), + ('Rust', '1.78.0'), + ('setuptools-rust', '1.9.0'), + ('maturin', '1.6.0'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('hatchling', '1.24.2'), + ('cryptography', '42.0.8'), + ('virtualenv', '20.26.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('six', '1.16.0', { + 'checksums': ['1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926'], + }), + ('idna', '3.7', { + 'checksums': ['028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc'], + }), + ('certifi', '2024.6.2', { + 'checksums': ['3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516'], + }), + ('urllib3', '2.2.1', { + 'checksums': ['d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19'], + }), + ('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.19.2', { + 'checksums': ['bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19'], + }), + ('importlib-metadata', '7.1.0', { + 'sources': ['importlib_metadata-%(version)s.tar.gz'], + 'checksums': ['b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2'], + }), + ('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.3.0', { + 'checksums': ['e5d93ef411224fbcef366a6e8ddc4c5781bc6359d43412a65dd5964e46111463'], + }), + ('jaraco.classes', '3.4.0', { + 'checksums': ['47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd'], + }), + ('keyring', '24.3.1', { + 'modulename': False, + 'checksums': ['c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db'], + }), + ('pyproject-hooks', '1.1.0', { + 'sources': ['pyproject_hooks-%(version)s.tar.gz'], + 'checksums': ['4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965'], + }), + ('build', '1.2.1', { + 'checksums': ['526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d'], + }), + ('installer', '0.7.0', { + 'checksums': ['a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631'], + }), + ('webencodings', '0.5.1', { + 'checksums': ['b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923'], + }), + ('html5lib', '1.1', { + 'checksums': ['b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f'], + }), + ('rapidfuzz', '3.9.3', { + 'checksums': ['b398ea66e8ed50451bce5997c430197d5e4b06ac4aa74602717f792d8d8d06e2'], + }), + ('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.11.1', { + 'checksums': ['2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa'], + }), + ('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', { + 'sources': ['jsonschema_specifications-%(version)s.tar.gz'], + 'checksums': ['48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc'], + }), + ('referencing', '0.35.1', { + 'checksums': ['25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c'], + }), + ('rpds-py', '0.18.1', { + 'sources': ['rpds_py-%(version)s.tar.gz'], + 'checksums': ['dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f'], + 'modulename': 'rpds', + }), + ('jsonschema', '4.22.0', { + 'checksums': ['5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7'], + }), + ('platformdirs', '4.2.2', { + 'checksums': ['38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'], + }), + ('shellingham', '1.5.4', { + 'checksums': ['8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de'], + }), + ('tomlkit', '0.12.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f'], + }), + ('requests', '2.32.3', { + 'checksums': ['55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760'], + }), + ('msgpack', '1.0.8', { + 'checksums': ['95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3'], + }), + ('CacheControl', '0.14.0', { + 'sources': ['cachecontrol-%(version)s.tar.gz'], + 'checksums': ['7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('poetry-core', '1.9.0', { + 'modulename': 'poetry.core', + 'sources': ['poetry_core-%(version)s.tar.gz'], + 'checksums': ['fa7a4001eae8aa572ee84f35feb510b321bd652e5cf9293249d62853e1f935a2'], + }), + ('poetry-plugin-export', '1.8.0', { + 'sources': ['poetry_plugin_export-%(version)s.tar.gz'], + 'checksums': ['1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61'], + }), + ('fastjsonschema', '2.19.1', { + 'checksums': ['e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d'], + }), + (name, version, { + 'checksums': ['67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb b/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb new file mode 100644 index 00000000000..12b58c2b352 --- /dev/null +++ b/easybuild/easyconfigs/p/polars/polars-0.15.6-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'polars' +version = '0.15.6' + +homepage = 'https://pola.rs/' +description = """Lightning-fast DataFrame library for Rust and Python.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + # required for setuptools-rust, which is needed for maturin + # (and is needed in a more recent version than supplied with Python 3.10.4) + ('Rust', '1.65.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Arrow', '8.0.0'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('setuptools', '65.6.3', { + 'checksums': ['a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75'], + }), + ('setuptools-rust', '1.5.2', { + 'checksums': ['d8daccb14dc0eae1b6b6eb3ecef79675bd37b4065369f79c35393dd5c55652c7'], + }), + ('maturin', '0.14.6', { + 'checksums': ['021e0b557e907027a6c7f10968635fd4c15522eee0688fed031b1ac6240ecac4'], + }), + ('connectorx', '0.3.1', { + 'source_tmpl': 'connectorx-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl', + 'checksums': ['71d2c2678339fb01f89469bbe22e66e75cabcf727a52ed72d576fef5744ebc58'], + }), + ('xlsx2csv', '0.8.0', { + 'checksums': ['2c268e509b7766ca4a24f2f36302e918705c5ead2fcde3f4bd5f1ca6152f7e2c'], + }), + ('deltalake', '0.6.4', { + 'checksums': ['2f3cf70d67c17a7d5928c7da214ff795283f628311d91643602176dc50f7099e'], + }), + (name, version, { + 'checksums': ['f6d27e88b46ddd88036869f066c12dd6877192d936430b43001e092529766cee'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb new file mode 100644 index 00000000000..a3d7ab5fd0d --- /dev/null +++ b/easybuild/easyconfigs/p/polars/polars-0.20.2-gfbf-2023a.eb @@ -0,0 +1,908 @@ +easyblock = 'CargoPythonPackage' + +name = 'polars' +version = '0.20.2' + +homepage = 'https://pola.rs/' +description = """Polars is a blazingly fast DataFrame library for manipulating +structured data. The core is written in Rust and this module provides its +interface for Python.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'polars-0.20.2.tar.gz': '483562f157e6aef6cb4343bf13d11295c8bff55ee62fef8010975a5fc22ff4e0'}, + {'addr2line-0.21.0.tar.gz': '8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'adler32-1.2.0.tar.gz': 'aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234'}, + {'ahash-0.8.6.tar.gz': '91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a'}, + {'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.75.tar.gz': 'a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6'}, + {'apache-avro-0.16.0.tar.gz': 'ceb7c683b2f8f40970b70e39ff8be514c95b96fcb9c4af87e1ed2cb2e10801a0'}, + {'argminmax-0.6.1.tar.gz': '202108b46429b765ef483f8a24d5c46f48c14acfdacc086dd4ab6dddf6bcdbd2'}, + {'array-init-cursor-0.2.0.tar.gz': 'bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76'}, + {'arrow-array-49.0.0.tar.gz': '6bda9acea48b25123c08340f3a8ac361aa0f74469bb36f5ee9acf923fce23e9d'}, + {'arrow-buffer-49.0.0.tar.gz': '01a0fc21915b00fc6c2667b069c1b64bdd920982f426079bc4a7cab86822886c'}, + {'arrow-data-49.0.0.tar.gz': '907fafe280a3874474678c1858b9ca4cb7fd83fb8034ff5b6d6376205a08c634'}, + {'arrow-format-0.8.1.tar.gz': '07884ea216994cdc32a2d5f8274a8bee979cfe90274b83f86f440866ee3132c7'}, + {'arrow-schema-49.0.0.tar.gz': '09e28a5e781bf1b0f981333684ad13f5901f4cd2f20589eab7cf1797da8fc167'}, + {'arrow2-0.17.4.tar.gz': '59c468daea140b747d781a1da9f7db5f0a8e6636d4af20cc539e43d05b0604fa'}, + {'async-stream-0.3.5.tar.gz': 'cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51'}, + {'async-stream-impl-0.3.5.tar.gz': '16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193'}, + {'async-trait-0.1.74.tar.gz': 'a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9'}, + {'atoi-2.0.0.tar.gz': 'f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528'}, + {'atoi_simd-0.15.5.tar.gz': 'ccfc14f5c3e34de57539a7ba9c18ecde3d9bbde48d232ea1da3e468adb307fd0'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'avro-schema-0.3.0.tar.gz': 'b5281855b39aba9684d2f47bf96983fbfd8f1725f12fabb0513a8ab879647bbd'}, + {'aws-config-1.0.3.tar.gz': '004dc45f6b869e6a70725df448004a720b7f52f6607d55d8815cbd5448f86def'}, + {'aws-credential-types-1.0.3.tar.gz': 'cfa51c87f10211f37cd78e6d01d6f18b3f96a086906ed361d11e04ac53e29508'}, + {'aws-http-0.60.0.tar.gz': '361c4310fdce94328cc2d1ca0c8a48c13f43009c61d3367585685a50ca8c66b6'}, + {'aws-runtime-1.0.3.tar.gz': 'ce0953f7fc1c4428511345e28ea3e98c8b59c9e91eafae30bf76d71d70642693'}, + {'aws-sdk-s3-1.7.0.tar.gz': 'c1c12ff4dee4cbcfb0f7b7c19b1f72d5603ff8cd1183db7678a10ecf378ba534'}, + {'aws-sdk-sso-1.6.0.tar.gz': '86575c7604dcdb583aba3390200e5333d8e4fe597bad54f57b190aaf4fac9771'}, + {'aws-sdk-ssooidc-1.6.0.tar.gz': 'bef0d7c1d0730adb5e85407174483a579e39576e0f4350ecd0fac69ec1217b1b'}, + {'aws-sdk-sts-1.6.0.tar.gz': 'f45778089751d5aa8645a02dd60865fa0eea39f00be5db2c7779bc50b83db19a'}, + {'aws-sigv4-1.0.3.tar.gz': 'b6bcbad6e0f130232b22e4b4e28834348ce5b79c23b5059b387c08fd0dc8f876'}, + {'aws-smithy-async-1.1.1.tar.gz': '1e9f65000917e3aa94c259d67fe01fa9e4cd456187d026067d642436e6311a81'}, + {'aws-smithy-checksums-0.60.1.tar.gz': '4c2a63681f82fb85ca58d566534b7dc619c782fee0c61c1aa51e2b560c21cb4f'}, + {'aws-smithy-eventstream-0.60.1.tar.gz': 'a85e16fa903c70c49ab3785e5f4ac2ad2171b36e0616f321011fa57962404bb6'}, + {'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.0.3.tar.gz': 'faa59f6f26a3472ca2ce7e7802d037a0a9a7ac23de5761eadd9b68f31ac4fd21'}, + {'backtrace-0.3.69.tar.gz': '2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837'}, + {'base16ct-0.1.1.tar.gz': '349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'base64-simd-0.8.0.tar.gz': '339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195'}, + {'base64ct-1.6.0.tar.gz': '8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'brotli-3.4.0.tar.gz': '516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f'}, + {'brotli-decompressor-2.5.1.tar.gz': '4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f'}, + {'built-0.7.1.tar.gz': '38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'bytemuck-1.14.0.tar.gz': '374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6'}, + {'bytemuck_derive-1.5.0.tar.gz': '965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bytes-utils-0.1.4.tar.gz': '7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35'}, + {'cargo-lock-9.0.0.tar.gz': 'e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72'}, + {'casey-0.4.0.tar.gz': '614586263949597dcc18675da12ef9b429135e13628d92eb8b8c6fa50ca5656b'}, + {'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.4.tar.gz': 'e23185c0e21df6ed832a12e2bda87c7d1def6842881fb634a8511ced741b0d76'}, + {'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.11.tar.gz': 'bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2'}, + {'clap_builder-4.4.11.tar.gz': 'a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb'}, + {'clap_lex-0.6.0.tar.gz': '702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1'}, + {'cmake-0.1.50.tar.gz': 'a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130'}, + {'comfy-table-7.1.0.tar.gz': '7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686'}, + {'const-oid-0.9.5.tar.gz': '28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f'}, + {'const-random-0.1.17.tar.gz': '5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a'}, + {'const-random-macro-0.1.16.tar.gz': 'f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e'}, + {'core-foundation-0.9.4.tar.gz': '91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f'}, + {'core-foundation-sys-0.8.6.tar.gz': '06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f'}, + {'core2-0.4.0.tar.gz': 'b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505'}, + {'cpufeatures-0.2.11.tar.gz': 'ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0'}, + {'crc-2.1.0.tar.gz': '49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23'}, + {'crc-catalog-1.1.1.tar.gz': 'ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403'}, + {'crc32c-0.6.4.tar.gz': 'd8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'criterion-0.5.1.tar.gz': 'f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f'}, + {'criterion-plot-0.5.0.tar.gz': '6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1'}, + {'crossbeam-channel-0.5.9.tar.gz': '14c3242926edf34aec4ac3a77108ad4854bffaa2e4ddc1824124ce59231302d5'}, + {'crossbeam-deque-0.8.4.tar.gz': 'fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751'}, + {'crossbeam-epoch-0.9.16.tar.gz': '2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa'}, + {'crossbeam-queue-0.3.9.tar.gz': 'b9bcf5bdbfdd6030fb4a1c497b5d5fc5921aa2f60d359a17e249c0e6df3de153'}, + {'crossbeam-utils-0.8.17.tar.gz': 'c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f'}, + {'crossterm-0.27.0.tar.gz': 'f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df'}, + {'crossterm_winapi-0.9.1.tar.gz': 'acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'crypto-bigint-0.4.9.tar.gz': 'ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef'}, + {'crypto-bigint-0.5.5.tar.gz': '0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'dary_heap-0.3.6.tar.gz': '7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca'}, + {'der-0.6.1.tar.gz': 'f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de'}, + {'deranged-0.3.10.tar.gz': '8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'doc-comment-0.3.3.tar.gz': 'fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10'}, + {'dyn-clone-1.0.16.tar.gz': '545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d'}, + {'ecdsa-0.14.8.tar.gz': '413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'elliptic-curve-0.12.3.tar.gz': 'e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'enum_dispatch-0.3.12.tar.gz': '8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e'}, + {'env_logger-0.8.4.tar.gz': 'a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'ethnum-1.5.0.tar.gz': 'b90ca2580b73ab6a1f724b76ca11ab632df820fd6040c336200d2c1df7b3c82c'}, + {'fallible-streaming-iterator-0.1.9.tar.gz': '7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a'}, + {'fast-float-0.2.0.tar.gz': '95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'ff-0.12.1.tar.gz': 'd013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'float-cmp-0.9.0.tar.gz': '98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'foreign_vec-0.1.0.tar.gz': 'ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673'}, + {'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}, + {'futures-0.3.29.tar.gz': 'da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335'}, + {'futures-channel-0.3.29.tar.gz': 'ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb'}, + {'futures-core-0.3.29.tar.gz': 'eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c'}, + {'futures-executor-0.3.29.tar.gz': '0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc'}, + {'futures-io-0.3.29.tar.gz': '8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa'}, + {'futures-macro-0.3.29.tar.gz': '53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb'}, + {'futures-sink-0.3.29.tar.gz': 'e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817'}, + {'futures-task-0.3.29.tar.gz': 'efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2'}, + {'futures-util-0.3.29.tar.gz': 'a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.11.tar.gz': 'fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f'}, + {'gimli-0.28.1.tar.gz': '4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253'}, + {'git2-0.18.1.tar.gz': 'fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'group-0.12.1.tar.gz': '5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7'}, + {'h2-0.3.22.tar.gz': '4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178'}, + {'half-1.8.2.tar.gz': 'eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7'}, + {'half-2.3.1.tar.gz': 'bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872'}, + {'halfbrown-0.2.4.tar.gz': '5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec'}, + {'hash_hasher-2.0.3.tar.gz': '74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c'}, + {'hashbrown-0.13.2.tar.gz': '43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e'}, + {'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.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'home-0.5.5.tar.gz': '5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb'}, + {'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.27.tar.gz': 'ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468'}, + {'hyper-rustls-0.24.2.tar.gz': 'ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590'}, + {'iana-time-zone-0.1.58.tar.gz': '8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20'}, + {'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'}, + {'inventory-0.3.13.tar.gz': '0508c56cfe9bfd5dfeb0c22ab9a6abfda2f27bdca422132e494266351ed8d83c'}, + {'ipnet-2.9.0.tar.gz': '8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3'}, + {'is-terminal-0.4.9.tar.gz': 'cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'itoap-1.0.1.tar.gz': '9028f49264629065d057f340a86acb84867925865f73bbf8d47b4d149a7e88b8'}, + {'jemalloc-sys-0.5.4+5.3.0-patched.tar.gz': 'ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2'}, + {'jemallocator-0.5.4.tar.gz': 'a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc'}, + {'jobserver-0.1.27.tar.gz': '8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d'}, + {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, + {'jsonpath_lib-0.3.0.tar.gz': 'dfb5eb7f47b5b5a7b35262f7b41787a785958001a23ff039cdae926396c6af96'}, + {'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.151.tar.gz': '302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4'}, + {'libflate-1.4.0.tar.gz': '5ff4ae71b685bbad2f2f391fe74f6b7659a34871c08b210fdc039e43bee07d18'}, + {'libflate-2.0.0.tar.gz': '9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf'}, + {'libflate_lz77-1.2.0.tar.gz': 'a52d3a8bfc85f250440e4424db7d857e241a3aebbbe301f3eb606ab15c39acbf'}, + {'libflate_lz77-2.0.0.tar.gz': 'be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524'}, + {'libgit2-sys-0.16.1+1.7.1.tar.gz': 'f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c'}, + {'libloading-0.8.1.tar.gz': 'c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libmimalloc-sys-0.1.35.tar.gz': '3979b5c37ece694f1f5e51e7ecc871fdb0f517ed04ee45f88d15d6d553cb9664'}, + {'libz-ng-sys-1.1.12.tar.gz': '3dd9f43e75536a46ee0f92b758f6b63846e594e86638c61a9251338a65baea63'}, + {'libz-sys-1.1.12.tar.gz': 'd97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b'}, + {'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-1.24.0.tar.gz': '7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1'}, + {'lz4-sys-1.9.4.tar.gz': '57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'md-5-0.10.6.tar.gz': 'd89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memmap2-0.7.1.tar.gz': 'f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mimalloc-0.1.39.tar.gz': 'fa01922b5ea280a911e323e4d2fd24b7fe5cc4042e0d2cda3c40775cdc4bdc9c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'mio-0.8.10.tar.gz': '8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09'}, + {'multiversion-0.7.3.tar.gz': 'b2c7b9d7fe61760ce5ea19532ead98541f6b4c495d87247aff9826445cf6872a'}, + {'multiversion-macros-0.7.3.tar.gz': '26a83d8500ed06d68877e9de1dde76c1dbb83885dcdbda4ef44ccbc3fbda2ac8'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'now-0.1.3.tar.gz': '6d89e9874397a1f0a52fc1f197a8effd9735223cb2390e9dcc83ac6cd02923d0'}, + {'ntapi-0.4.1.tar.gz': 'e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4'}, + {'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'}, + {'numpy-0.20.0.tar.gz': 'bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331'}, + {'object-0.32.1.tar.gz': '9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0'}, + {'object_store-0.8.0.tar.gz': '2524735495ea1268be33d200e1ee97455096a0846295a21548cd2f3541de7050'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'outref-0.5.1.tar.gz': '4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a'}, + {'p256-0.11.1.tar.gz': '51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'parquet-format-safe-0.2.4.tar.gz': '1131c54b167dd4e4799ce762e1ab01549ebb94d5bdd13e6ec1b467491c378e1f'}, + {'parse-zoneinfo-0.3.0.tar.gz': 'c705f256449c60da65e11ff6626e0c16a0a0b96aaa348de61376b249bc340f41'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'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'}, + {'pkcs8-0.9.0.tar.gz': '9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'planus-0.3.1.tar.gz': 'fc1691dd09e82f428ce8d6310bd6d5da2557c82ff17694d2a32cad7242aea89f'}, + {'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'}, + {'proc-macro2-1.0.70.tar.gz': '39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b'}, + {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, + {'prost-0.11.9.tar.gz': '0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd'}, + {'prost-derive-0.11.9.tar.gz': 'e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4'}, + {'pyo3-0.20.0.tar.gz': '04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b'}, + {'pyo3-build-config-0.20.0.tar.gz': 'a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5'}, + {'pyo3-built-0.4.7.tar.gz': 'be6d574e0f8cab2cdd1eeeb640cbf845c974519fa9e9b62fa9c08ecece0ca5de'}, + {'pyo3-ffi-0.20.0.tar.gz': '214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b'}, + {'pyo3-macros-0.20.0.tar.gz': 'dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b'}, + {'pyo3-macros-backend-0.20.0.tar.gz': '7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424'}, + {'quad-rand-0.2.1.tar.gz': '658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88'}, + {'quick-xml-0.31.0.tar.gz': '1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33'}, + {'quickcheck-1.0.3.tar.gz': '588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6'}, + {'quote-1.0.33.tar.gz': '5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_distr-0.4.3.tar.gz': '32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31'}, + {'rand_regex-0.15.1.tar.gz': '8b2a9fe2d7d9eeaf3279d1780452a5bbd26b31b27938787ef1c3e930d1e9cfbd'}, + {'rand_xorshift-0.3.0.tar.gz': 'd25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-core-1.12.0.tar.gz': '5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'ref-cast-1.0.21.tar.gz': '53313ec9f12686aeeffb43462c3ac77aa25f590a5f630eb2cde0de59417b29c7'}, + {'ref-cast-impl-1.0.21.tar.gz': '2566c4bf6845f2c2e83b27043c3f5dfcd5ba8f2937d6c00dc009bfb51a079dc4'}, + {'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.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'reqwest-0.11.22.tar.gz': '046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b'}, + {'rfc6979-0.3.1.tar.gz': '7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb'}, + {'ring-0.17.7.tar.gz': '688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74'}, + {'rle-decode-fast-1.0.3.tar.gz': '3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.28.tar.gz': '72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316'}, + {'rustls-0.21.10.tar.gz': 'f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba'}, + {'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'}, + {'sample-arrow2-0.17.1.tar.gz': '722050f91586506195398fd22d834eb8768716084f6ebf9f32b917ed422b6afb'}, + {'sample-std-0.1.1.tar.gz': '567a153dc3302ce838920fb095c025a6d0529fff0290d25deeec2136e41a57c8'}, + {'sample-test-0.1.1.tar.gz': '713e500947ff19fc1ae2805afa33ef45f3bb2ec656c77d92252d24cf9e3091b2'}, + {'sample-test-macros-0.1.1.tar.gz': 'df1a2c832a259aae95b6ed1da3aa377111ffde38d4282fa734faa3fff356534e'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'sct-0.7.1.tar.gz': 'da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414'}, + {'sec1-0.3.0.tar.gz': '3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'semver-1.0.20.tar.gz': '836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090'}, + {'seq-macro-0.3.5.tar.gz': 'a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4'}, + {'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'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'sha1-0.10.6.tar.gz': 'e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba'}, + {'sha2-0.10.8.tar.gz': '793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8'}, + {'signal-hook-registry-1.4.1.tar.gz': 'd8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1'}, + {'signature-1.6.4.tar.gz': '74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c'}, + {'simd-json-0.13.4.tar.gz': 'e5a3720326b20bf5b95b72dbbd133caae7e0dcf71eae8f6e6656e71a7e5c9aaa'}, + {'simdutf8-0.1.4.tar.gz': 'f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a'}, + {'siphasher-0.3.11.tar.gz': '38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'smartstring-1.0.1.tar.gz': '3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29'}, + {'snafu-0.7.5.tar.gz': 'e4de37ad025c587a29e8f3f5605c00f70b98715ef90b9061a815b9e59e9042d6'}, + {'snafu-derive-0.7.5.tar.gz': '990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'socket2-0.4.10.tar.gz': '9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d'}, + {'socket2-0.5.5.tar.gz': '7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'spki-0.6.0.tar.gz': '67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b'}, + {'sqlparser-0.39.0.tar.gz': '743b4dc2cbde11890ccb254a8fc9d537fa41b36da00de2a1c5e9848c9bc42bd7'}, + {'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}, + {'streaming-decompression-0.1.2.tar.gz': 'bf6cc3b19bfb128a8ad11026086e31d3ce9ad23f8ea37354b31383a187c44cf3'}, + {'streaming-iterator-0.1.9.tar.gz': '2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520'}, + {'strength_reduce-0.2.4.tar.gz': 'fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82'}, + {'strum-0.25.0.tar.gz': '290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125'}, + {'strum_macros-0.25.3.tar.gz': '23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.41.tar.gz': '44c8b28c477cc3bf0e7966561e3460130e1255f7a1cf71931075f1c5e7a7e269'}, + {'sysinfo-0.29.11.tar.gz': 'cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666'}, + {'system-configuration-0.5.1.tar.gz': 'ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7'}, + {'system-configuration-sys-0.5.0.tar.gz': 'a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9'}, + {'target-features-0.1.5.tar.gz': 'cfb5fa503293557c5158bd215fdc225695e567a77e453f5d4452a50a193969bd'}, + {'target-lexicon-0.12.12.tar.gz': '14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a'}, + {'tempfile-3.8.1.tar.gz': '7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5'}, + {'thiserror-1.0.50.tar.gz': 'f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2'}, + {'thiserror-impl-1.0.50.tar.gz': '266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8'}, + {'time-0.3.30.tar.gz': 'c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.15.tar.gz': '4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20'}, + {'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.0.tar.gz': '841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c'}, + {'tokio-macros-2.2.0.tar.gz': '5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b'}, + {'tokio-rustls-0.24.1.tar.gz': 'c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081'}, + {'tokio-util-0.7.10.tar.gz': '5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15'}, + {'toml-0.7.8.tar.gz': 'dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257'}, + {'toml_datetime-0.6.5.tar.gz': '3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1'}, + {'toml_edit-0.19.15.tar.gz': '1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421'}, + {'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'}, + {'typed-builder-0.16.2.tar.gz': '34085c17941e36627a879208083e25d357243812c30e7d7387c3b954f30ade16'}, + {'typed-builder-macro-0.16.2.tar.gz': 'f03ca4cb38206e2bef0700092660bb74d696f808514dae47fa1467cbfe26e96e'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, + {'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-reverse-1.0.8.tar.gz': '0bea5dacebb0d2d0a69a6700a05b59b3908bf801bf563a49bd27a1b60122962c'}, + {'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.9.0.tar.gz': '8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'urlencoding-2.1.3.tar.gz': 'daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da'}, + {'uuid-1.6.1.tar.gz': '5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560'}, + {'value-trait-0.8.0.tar.gz': 'ea87257cfcbedcb9444eda79c59fdfea71217e6305afee8ee33f500375c2ac97'}, + {'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-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.51.1.tar.gz': 'f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64'}, + {'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.5.28.tar.gz': '6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2'}, + {'winreg-0.50.0.tar.gz': '524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1'}, + {'xmlparser-0.13.6.tar.gz': '66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4'}, + {'xxhash-rust-0.8.7.tar.gz': '9828b178da53440fa9c766a3d2f73f7cf5d0ac1fe3980c1e5018d899fd19e07b'}, + {'zerocopy-0.7.31.tar.gz': '1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d'}, + {'zerocopy-derive-0.7.31.tar.gz': 'b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a'}, + {'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'}, +] + +crates = [ + ('addr2line', '0.21.0'), + ('adler', '1.0.2'), + ('adler32', '1.2.0'), + ('ahash', '0.8.6'), + ('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.75'), + ('apache-avro', '0.16.0'), + ('argminmax', '0.6.1'), + ('array-init-cursor', '0.2.0'), + ('arrow-array', '49.0.0'), + ('arrow-buffer', '49.0.0'), + ('arrow-data', '49.0.0'), + ('arrow-format', '0.8.1'), + ('arrow-schema', '49.0.0'), + ('arrow2', '0.17.4'), + ('async-stream', '0.3.5'), + ('async-stream-impl', '0.3.5'), + ('async-trait', '0.1.74'), + ('atoi', '2.0.0'), + ('atoi_simd', '0.15.5'), + ('autocfg', '1.1.0'), + ('avro-schema', '0.3.0'), + ('aws-config', '1.0.3'), + ('aws-credential-types', '1.0.3'), + ('aws-http', '0.60.0'), + ('aws-runtime', '1.0.3'), + ('aws-sdk-s3', '1.7.0'), + ('aws-sdk-sso', '1.6.0'), + ('aws-sdk-ssooidc', '1.6.0'), + ('aws-sdk-sts', '1.6.0'), + ('aws-sigv4', '1.0.3'), + ('aws-smithy-async', '1.1.1'), + ('aws-smithy-checksums', '0.60.1'), + ('aws-smithy-eventstream', '0.60.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.0.3'), + ('backtrace', '0.3.69'), + ('base16ct', '0.1.1'), + ('base64', '0.21.5'), + ('base64-simd', '0.8.0'), + ('base64ct', '1.6.0'), + ('bincode', '1.3.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('block-buffer', '0.10.4'), + ('brotli', '3.4.0'), + ('brotli-decompressor', '2.5.1'), + ('built', '0.7.1'), + ('bumpalo', '3.14.0'), + ('bytemuck', '1.14.0'), + ('bytemuck_derive', '1.5.0'), + ('bytes', '1.5.0'), + ('bytes-utils', '0.1.4'), + ('cargo-lock', '9.0.0'), + ('casey', '0.4.0'), + ('cast', '0.3.0'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('chrono', '0.4.31'), + ('chrono-tz', '0.8.4'), + ('chrono-tz-build', '0.2.1'), + ('ciborium', '0.2.1'), + ('ciborium-io', '0.2.1'), + ('ciborium-ll', '0.2.1'), + ('clap', '4.4.11'), + ('clap_builder', '4.4.11'), + ('clap_lex', '0.6.0'), + ('cmake', '0.1.50'), + ('comfy-table', '7.1.0'), + ('const-oid', '0.9.5'), + ('const-random', '0.1.17'), + ('const-random-macro', '0.1.16'), + ('core-foundation', '0.9.4'), + ('core-foundation-sys', '0.8.6'), + ('core2', '0.4.0'), + ('cpufeatures', '0.2.11'), + ('crc', '2.1.0'), + ('crc-catalog', '1.1.1'), + ('crc32c', '0.6.4'), + ('crc32fast', '1.3.2'), + ('criterion', '0.5.1'), + ('criterion-plot', '0.5.0'), + ('crossbeam-channel', '0.5.9'), + ('crossbeam-deque', '0.8.4'), + ('crossbeam-epoch', '0.9.16'), + ('crossbeam-queue', '0.3.9'), + ('crossbeam-utils', '0.8.17'), + ('crossterm', '0.27.0'), + ('crossterm_winapi', '0.9.1'), + ('crunchy', '0.2.2'), + ('crypto-bigint', '0.4.9'), + ('crypto-bigint', '0.5.5'), + ('crypto-common', '0.1.6'), + ('dary_heap', '0.3.6'), + ('der', '0.6.1'), + ('deranged', '0.3.10'), + ('digest', '0.10.7'), + ('doc-comment', '0.3.3'), + ('dyn-clone', '1.0.16'), + ('ecdsa', '0.14.8'), + ('either', '1.9.0'), + ('elliptic-curve', '0.12.3'), + ('encoding_rs', '0.8.33'), + ('enum_dispatch', '0.3.12'), + ('env_logger', '0.8.4'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('ethnum', '1.5.0'), + ('fallible-streaming-iterator', '0.1.9'), + ('fast-float', '0.2.0'), + ('fastrand', '2.0.1'), + ('ff', '0.12.1'), + ('flate2', '1.0.28'), + ('float-cmp', '0.9.0'), + ('fnv', '1.0.7'), + ('foreign_vec', '0.1.0'), + ('form_urlencoded', '1.2.1'), + ('futures', '0.3.29'), + ('futures-channel', '0.3.29'), + ('futures-core', '0.3.29'), + ('futures-executor', '0.3.29'), + ('futures-io', '0.3.29'), + ('futures-macro', '0.3.29'), + ('futures-sink', '0.3.29'), + ('futures-task', '0.3.29'), + ('futures-util', '0.3.29'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.11'), + ('gimli', '0.28.1'), + ('git2', '0.18.1'), + ('glob', '0.3.1'), + ('group', '0.12.1'), + ('h2', '0.3.22'), + ('half', '1.8.2'), + ('half', '2.3.1'), + ('halfbrown', '0.2.4'), + ('hash_hasher', '2.0.3'), + ('hashbrown', '0.13.2'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.3'), + ('hex', '0.4.3'), + ('hmac', '0.12.1'), + ('home', '0.5.5'), + ('http', '0.2.11'), + ('http-body', '0.4.6'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.3'), + ('humantime', '2.1.0'), + ('hyper', '0.14.27'), + ('hyper-rustls', '0.24.2'), + ('iana-time-zone', '0.1.58'), + ('iana-time-zone-haiku', '0.1.2'), + ('idna', '0.5.0'), + ('indexmap', '2.1.0'), + ('indoc', '2.0.4'), + ('inventory', '0.3.13'), + ('ipnet', '2.9.0'), + ('is-terminal', '0.4.9'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itoa', '1.0.10'), + ('itoap', '1.0.1'), + ('jemalloc-sys', '0.5.4+5.3.0-patched'), + ('jemallocator', '0.5.4'), + ('jobserver', '0.1.27'), + ('js-sys', '0.3.66'), + ('jsonpath_lib', '0.3.0', 'https://github.com/ritchie46/jsonpath', '24eaf0b4416edff38a4d1b6b17bc4b9f3f047b4b'), + ('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.151'), + ('libflate', '1.4.0'), + ('libflate', '2.0.0'), + ('libflate_lz77', '1.2.0'), + ('libflate_lz77', '2.0.0'), + ('libgit2-sys', '0.16.1+1.7.1'), + ('libloading', '0.8.1'), + ('libm', '0.2.8'), + ('libmimalloc-sys', '0.1.35'), + ('libz-ng-sys', '1.1.12'), + ('libz-sys', '1.1.12'), + ('linux-raw-sys', '0.4.12'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('lz4', '1.24.0'), + ('lz4-sys', '1.9.4'), + ('matrixmultiply', '0.3.8'), + ('md-5', '0.10.6'), + ('memchr', '2.6.4'), + ('memmap2', '0.7.1'), + ('memoffset', '0.9.0'), + ('mimalloc', '0.1.39'), + ('mime', '0.3.17'), + ('miniz_oxide', '0.7.1'), + ('mio', '0.8.10'), + ('multiversion', '0.7.3'), + ('multiversion-macros', '0.7.3'), + ('ndarray', '0.15.6'), + ('now', '0.1.3'), + ('ntapi', '0.4.1'), + ('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'), + ('numpy', '0.20.0'), + ('object', '0.32.1'), + ('object_store', '0.8.0'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('openssl-probe', '0.1.5'), + ('outref', '0.5.1'), + ('p256', '0.11.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('parquet-format-safe', '0.2.4'), + ('parse-zoneinfo', '0.3.0'), + ('percent-encoding', '2.3.1'), + ('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'), + ('pkcs8', '0.9.0'), + ('pkg-config', '0.3.27'), + ('planus', '0.3.1'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.70'), + ('proptest', '1.4.0'), + ('prost', '0.11.9'), + ('prost-derive', '0.11.9'), + ('pyo3', '0.20.0'), + ('pyo3-build-config', '0.20.0'), + ('pyo3-built', '0.4.7'), + ('pyo3-ffi', '0.20.0'), + ('pyo3-macros', '0.20.0'), + ('pyo3-macros-backend', '0.20.0'), + ('quad-rand', '0.2.1'), + ('quick-xml', '0.31.0'), + ('quickcheck', '1.0.3'), + ('quote', '1.0.33'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_distr', '0.4.3'), + ('rand_regex', '0.15.1'), + ('rand_xorshift', '0.3.0'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.0'), + ('rayon-core', '1.12.0'), + ('redox_syscall', '0.4.1'), + ('ref-cast', '1.0.21'), + ('ref-cast-impl', '1.0.21'), + ('regex', '1.10.2'), + ('regex-automata', '0.4.3'), + ('regex-lite', '0.1.5'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('reqwest', '0.11.22'), + ('rfc6979', '0.3.1'), + ('ring', '0.17.7'), + ('rle-decode-fast', '1.0.3'), + ('rustc-demangle', '0.1.23'), + ('rustc-hash', '1.1.0'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.28'), + ('rustls', '0.21.10'), + ('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'), + ('sample-arrow2', '0.17.1'), + ('sample-std', '0.1.1'), + ('sample-test', '0.1.1'), + ('sample-test-macros', '0.1.1'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('sct', '0.7.1'), + ('sec1', '0.3.0'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('semver', '1.0.20'), + ('seq-macro', '0.3.5'), + ('serde', '1.0.193'), + ('serde_derive', '1.0.193'), + ('serde_json', '1.0.108'), + ('serde_spanned', '0.6.4'), + ('serde_urlencoded', '0.7.1'), + ('sha1', '0.10.6'), + ('sha2', '0.10.8'), + ('signal-hook-registry', '1.4.1'), + ('signature', '1.6.4'), + ('simd-json', '0.13.4'), + ('simdutf8', '0.1.4'), + ('siphasher', '0.3.11'), + ('slab', '0.4.9'), + ('smallvec', '1.11.2'), + ('smartstring', '1.0.1'), + ('snafu', '0.7.5'), + ('snafu-derive', '0.7.5'), + ('snap', '1.1.1'), + ('socket2', '0.4.10'), + ('socket2', '0.5.5'), + ('spin', '0.9.8'), + ('spki', '0.6.0'), + ('sqlparser', '0.39.0'), + ('static_assertions', '1.1.0'), + ('streaming-decompression', '0.1.2'), + ('streaming-iterator', '0.1.9'), + ('strength_reduce', '0.2.4'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('subtle', '2.5.0'), + ('syn', '1.0.109'), + ('syn', '2.0.41'), + ('sysinfo', '0.29.11'), + ('system-configuration', '0.5.1'), + ('system-configuration-sys', '0.5.0'), + ('target-features', '0.1.5'), + ('target-lexicon', '0.12.12'), + ('tempfile', '3.8.1'), + ('thiserror', '1.0.50'), + ('thiserror-impl', '1.0.50'), + ('time', '0.3.30'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.15'), + ('tiny-keccak', '2.0.2'), + ('tinytemplate', '1.2.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('tokio', '1.35.0'), + ('tokio-macros', '2.2.0'), + ('tokio-rustls', '0.24.1'), + ('tokio-util', '0.7.10'), + ('toml', '0.7.8'), + ('toml_datetime', '0.6.5'), + ('toml_edit', '0.19.15'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.40'), + ('tracing-attributes', '0.1.27'), + ('tracing-core', '0.1.32'), + ('try-lock', '0.2.5'), + ('typed-builder', '0.16.2'), + ('typed-builder-macro', '0.16.2'), + ('typenum', '1.17.0'), + ('unarray', '0.1.4'), + ('unicode-bidi', '0.3.14'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.22'), + ('unicode-reverse', '1.0.8'), + ('unicode-segmentation', '1.10.1'), + ('unicode-width', '0.1.11'), + ('unindent', '0.2.3'), + ('untrusted', '0.9.0'), + ('url', '2.5.0'), + ('urlencoding', '2.1.3'), + ('uuid', '1.6.1'), + ('value-trait', '0.8.0'), + ('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-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.51.1'), + ('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.5.28'), + ('winreg', '0.50.0'), + ('xmlparser', '0.13.6'), + ('xxhash-rust', '0.8.7'), + ('zerocopy', '0.7.31'), + ('zerocopy-derive', '0.7.31'), + ('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'), + ('CMake', '3.26.3'), # needed by crate libz-ng-sys +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Arrow', '14.0.1'), + ('DeltaLake', '0.15.1'), + ('openpyxl', '3.1.2'), +] + +use_pip = True +use_pip_extras = "deltalake,matplotlib,numpy,openpyxl,pandas,pyarrow" +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/polymake/polymake-4.8-foss-2021b.eb b/easybuild/easyconfigs/p/polymake/polymake-4.8-foss-2021b.eb new file mode 100644 index 00000000000..a15d42eeece --- /dev/null +++ b/easybuild/easyconfigs/p/polymake/polymake-4.8-foss-2021b.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'polymake' +version = '4.8' + +homepage = 'https://polymake.org' +description = """polymake is open source software for research in polyhedral geometry. +It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, +graphs, tropical hypersurfaces, and other objects.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://polymake.org/lib/exe/fetch.php/download/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['3f7bd19d6ac1372ae32368e57134ff37a11fbe9eb1f6abe8195b34c5eec29b11'] + +dependencies = [ + ('Ninja', '1.10.2'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('libreadline', '8.1'), + ('Perl', '5.34.0'), + ('SVG', '2.87'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('Boost', '1.77.0'), + ('FLINT', '2.8.4'), + ('Java', '11', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/polymake', 'bin/polymake-config', 'lib/libpolymake.%s' % SHLIB_EXT, + 'lib/libpolymake-apps.%s' % SHLIB_EXT, 'lib/libpolymake-apps-rt.%s' % SHLIB_EXT], + 'dirs': ['include/polymake', 'lib/polymake', 'share/polymake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/polymake/polymake-4.8-gfbf-2022a.eb b/easybuild/easyconfigs/p/polymake/polymake-4.8-gfbf-2022a.eb new file mode 100644 index 00000000000..5eff12ad133 --- /dev/null +++ b/easybuild/easyconfigs/p/polymake/polymake-4.8-gfbf-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'polymake' +version = '4.8' + +homepage = 'https://polymake.org' +description = """polymake is open source software for research in polyhedral geometry. +It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, +graphs, tropical hypersurfaces, and other objects.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} + +source_urls = ['https://polymake.org/lib/exe/fetch.php/download/'] +sources = [SOURCE_TAR_BZ2] +checksums = ['3f7bd19d6ac1372ae32368e57134ff37a11fbe9eb1f6abe8195b34c5eec29b11'] + +dependencies = [ + ('Ninja', '1.10.2'), + ('libxml2', '2.9.13'), + ('libxslt', '1.1.34'), + ('libreadline', '8.1.2'), + ('Perl', '5.34.1'), + ('SVG', '2.87'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('Boost', '1.79.0'), + ('FLINT', '2.9.0'), + ('Java', '11', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/polymake', 'bin/polymake-config', 'lib/libpolymake.%s' % SHLIB_EXT, + 'lib/libpolymake-apps.%s' % SHLIB_EXT, 'lib/libpolymake-apps-rt.%s' % SHLIB_EXT], + 'dirs': ['include/polymake', 'lib/polymake', 'share/polymake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.2.0.eb b/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..50d29257193 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '21.06.1' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +builddependencies = [ + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), + ('Python', '3.8.6'), +] + +dependencies = [ + ('freetype', '2.10.3'), + ('fontconfig', '2.13.92'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('NSS', '3.57'), + ('LibTIFF', '4.1.0'), + ('Qt5', '5.14.2'), + ('Boost', '1.74.0'), + ('cairo', '1.16.0'), + ('OpenJPEG', '2.4.0'), + ('zlib', '1.2.11'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['86b09e5a02de40081a3916ef8711c5128eaf4b1fc59d5f87d0ec66f04f595db4'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.10', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.3.0.eb b/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..bfbecae1c25 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-21.06.1-GCC-10.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '21.06.1' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +builddependencies = [ + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.5', '-bare'), +] + +dependencies = [ + ('freetype', '2.10.4'), + ('fontconfig', '2.13.93'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('NSS', '3.65'), + ('LibTIFF', '4.2.0'), + ('Qt5', '5.15.2'), + ('Boost', '1.76.0'), + ('cairo', '1.16.0'), + ('OpenJPEG', '2.4.0'), + ('zlib', '1.2.11'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['86b09e5a02de40081a3916ef8711c5128eaf4b1fc59d5f87d0ec66f04f595db4'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.10', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poppler/poppler-22.01.0-GCC-11.2.0.eb b/easybuild/easyconfigs/p/poppler/poppler-22.01.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..ad8abb534ac --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-22.01.0-GCC-11.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '22.01.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkgconf', '1.8.0'), + ('Python', '3.9.6', '-bare'), +] + +dependencies = [ + ('freetype', '2.11.0'), + ('fontconfig', '2.13.94'), + ('libjpeg-turbo', '2.0.6'), + ('libpng', '1.6.37'), + ('NSS', '3.69'), + ('LibTIFF', '4.3.0'), + ('Qt5', '5.15.2'), + ('Boost', '1.77.0'), + ('cairo', '1.16.0'), + ('OpenJPEG', '2.4.0'), + ('zlib', '1.2.11'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['7d3493056b5b86413e5c693c2cae02c5c06cd8e618d14c2c31e2c84b67b2313e'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.11', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..ab2bab38826 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-22.12.0-GCC-11.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '22.12.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('freetype', '2.12.1'), + ('fontconfig', '2.14.0'), + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('NSS', '3.79'), + ('LibTIFF', '4.3.0'), + ('Qt5', '5.15.5'), + ('Boost', '1.79.0'), + ('cairo', '1.17.4'), + ('OpenJPEG', '2.5.0'), + ('zlib', '1.2.12'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['d9aa9cacdfbd0f8e98fc2b3bb008e645597ed480685757c3e7bc74b4278d15c0'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.11', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2cec05cd1bb03af98a8b06a1e22f6e6e1a65b1e2f3816cb3069bb0874825f08c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poppler/poppler-23.09.0-GCC-12.3.0.eb b/easybuild/easyconfigs/p/poppler/poppler-23.09.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..a5162ef7ca5 --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-23.09.0-GCC-12.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '23.09.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('freetype', '2.13.0'), + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('NSS', '3.89.1'), + ('LibTIFF', '4.5.0'), + ('Qt5', '5.15.10'), + ('Boost', '1.82.0'), + ('cairo', '1.17.8'), + ('OpenJPEG', '2.5.0'), + ('zlib', '1.2.13'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55'], + 'configopts': "-DENABLE_BOOST=ON", + }), + ('poppler-data', '0.4.12', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..b87358a52ff --- /dev/null +++ b/easybuild/easyconfigs/p/poppler/poppler-24.04.0-GCC-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'Bundle' + +name = 'poppler' +version = '24.04.0' + +homepage = 'https://poppler.freedesktop.org' +description = "Poppler is a PDF rendering library" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), +] + +dependencies = [ + ('freetype', '2.13.2'), + ('fontconfig', '2.14.2'), + ('libjpeg-turbo', '3.0.1'), + ('libpng', '1.6.40'), + ('NSS', '3.94'), + ('LibTIFF', '4.6.0'), + ('Qt6', '6.6.3'), + ('Boost', '1.83.0'), + ('cairo', '1.18.0'), + ('OpenJPEG', '2.5.0'), + ('zlib', '1.2.13'), + ('gnupg-bundle', '20240306'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + (name, version, { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['1e804ec565acf7126eb2e9bb3b56422ab2039f7e05863a5dfabdd1ffd1bb77a7'], + 'configopts': "-DENABLE_BOOST=ON -DENABLE_QT5=OFF -DENABLE_LCMS=OFF", + }), + ('poppler-data', '0.4.12', { + 'source_urls': ['https://poppler.freedesktop.org/'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pdfinfo', 'lib/libpoppler.%s' % SHLIB_EXT, 'lib/libpoppler-cpp.%s' % SHLIB_EXT, + 'lib/libpoppler-glib.%s' % SHLIB_EXT, 'lib/libpoppler-qt6.%s' % SHLIB_EXT], + 'dirs': ['include/poppler', 'lib/pkgconfig', 'share'], +} + +sanity_check_commands = ["pdfinfo --help"] + +moduleclass = 'lib' 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/popscle/popscle-0.1-beta-20210505-GCC-11.3.0.eb b/easybuild/easyconfigs/p/popscle/popscle-0.1-beta-20210505-GCC-11.3.0.eb new file mode 100644 index 00000000000..00fd99b414b --- /dev/null +++ b/easybuild/easyconfigs/p/popscle/popscle-0.1-beta-20210505-GCC-11.3.0.eb @@ -0,0 +1,49 @@ +# Author: Arne Soete +# VIB-UGent Center for Inflammation Research +# updated by Kenneth Hoste (HPC-UGent) +easyblock = 'CMakeMake' + +name = 'popscle' +version = '0.1-beta-20210505' +local_commit = 'da70fc7' + +homepage = 'https://github.com/statgen/popscle' +description = """A suite of +population scale analysis tools for single-cell genomics data including +implementation of Demuxlet / Freemuxlet methods and auxilary tools """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True, 'cstd': 'c++14'} + +source_urls = ['https://github.com/statgen/popscle/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['popscle-0.1-beta-20210505_fix-limits.patch'] +checksums = [ + {'popscle-0.1-beta-20210505.tar.gz': 'f4723a8f098f88262e04ecd4d3e62b7d6884e2a3d4eb0b08196aab1651a95d6c'}, + {'popscle-0.1-beta-20210505_fix-limits.patch': 'c476b9f1b8a340bbb8873bff8a831261ade03e48f4b354b2d956bd0204278071'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), +] + +configopts = "-DHTS_INCLUDE_DIRS=$EBROOTHTSLIB/include -DHTS_LIBRARIES=$EBROOTHTSLIB/lib/libhts.a " +configopts += "-DBZIP2_INCLUDE_DIRS=$EBROOTBZIP2/include -DBZIP2_LIBRARIES=$EBROOTBZIP2/lib/libbz2.a " +configopts += "-DLZMA_INCLUDE_DIRS=$EBROOTXZ/include -DLZMA_LIBRARIES=$EBROOTXZ/lib/liblzma.a " + +install_cmd = "mkdir %(installdir)s/bin && install %(builddir)s/%(name)s-*/bin/popscle %(installdir)s/bin/" + +sanity_check_paths = { + 'files': ['bin/popscle'], + 'dirs': [], +} + +sanity_check_commands = ["popscle --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/popscle/popscle-0.1-beta-20210505_fix-limits.patch b/easybuild/easyconfigs/p/popscle/popscle-0.1-beta-20210505_fix-limits.patch new file mode 100644 index 00000000000..75e3257d83c --- /dev/null +++ b/easybuild/easyconfigs/p/popscle/popscle-0.1-beta-20210505_fix-limits.patch @@ -0,0 +1,12 @@ +fix for: error: 'numeric_limits' is not a member of 'std' +author: Kenneth Hoste (HPC-UGent) +--- popscle-da70fc78da385ef049e0e890342acfd62842cae0/gtf_interval_tree.h.orig 2021-05-05 06:49:20.000000000 +0200 ++++ popscle-da70fc78da385ef049e0e890342acfd62842cae0/gtf_interval_tree.h 2023-07-05 09:13:54.273004779 +0200 +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + + template + class gtfInterval { diff --git a/easybuild/easyconfigs/p/popt/popt-1.16-GCC-10.2.0.eb b/easybuild/easyconfigs/p/popt/popt-1.16-GCC-10.2.0.eb new file mode 100644 index 00000000000..b455329798a --- /dev/null +++ b/easybuild/easyconfigs/p/popt/popt-1.16-GCC-10.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'popt' +version = '1.16' + +homepage = 'https://github.com/rpm-software-management/popt' +description = """Popt is a C library for parsing command line parameters.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'optarch': False} + +source_urls = ['https://ftp.osuosl.org/pub/rpm/popt/releases/historical/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e728ed296fe9f069a0e005003c3d6b2dde3d9cad453422a10d6558616d304cc8'] + +sanity_check_paths = { + 'files': ['include/popt.h', + ('lib/libpopt.a', 'lib64/libpopt.a'), + ('lib/libpopt.%s' % SHLIB_EXT, 'lib64/libpopt.%s' % SHLIB_EXT)], + 'dirs': [], +} + +maxparallel = 1 + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/popt/popt-1.19-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/popt/popt-1.19-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..91b5c7c74ba --- /dev/null +++ b/easybuild/easyconfigs/p/popt/popt-1.19-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'popt' +version = '1.19' + +homepage = 'https://github.com/rpm-software-management/popt' +description = 'Popt is a C library for parsing command line parameters.' + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['http://ftp.rpm.org/popt/releases/popt-1.x'] +sources = [SOURCE_TAR_GZ] +checksums = ['c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9'] + +builddependencies = [ + ('binutils', '2.42') +] + +sanity_check_paths = { + 'files': ['include/%(name)s.h', ('lib/libpopt.a', 'lib64/libpopt.a'), ('lib/libpopt.so', 'lib64/libpopt.so')], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb new file mode 100644 index 00000000000..ca9ea7d9cd0 --- /dev/null +++ b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21-foss-2020a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'porefoam' +local_commit = 'eb02ba3' +version = '2021-09-21' + +homepage = 'https://github.com/ImperialCollegeLondon/porefoam' +description = "Direct pore-scale simulation of single- and two-phase flow through confined media" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/ImperialCollegeLondon/porefoam/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + 'porefoam-2021-09-21_fix-scotch-linking.patch', + 'porefoam-2021-09-21_fix-hardcoded-mpicommand.patch', +] +checksums = [ + '61b7d23869f5cfadf001def25750576b05f13d3f117ffb409e56996a0de6d696', # porefoam-2021-09-21.tar.gz + '86b7e389b62f54bbd3c931ae3dbdc363226e250faa181e7e50ed121da9959a92', # porefoam-2021-09-21_fix-scotch-linking.patch + # porefoam-2021-09-21_fix-hardcoded-mpicommand.patch + '4cfa924c9a5d3ec38cf233312eb325ed625219644468f4b34fba8bc6ceee5ba2', +] + +builddependencies = [ + ('CMake', '3.16.4'), +] + +dependencies = [ + ('SCOTCH', '6.0.9'), +] + +buildininstalldir = True +unpack_options = '--strip-components=1' + +skipsteps = ['configure', 'install'] + +prebuildopts = "export WM_COMPILER=Gcc && export WM_COMPILE_OPTION=Opt && " +# using ld.gold linker doesn't work +prebuildopts += 'export WM_CC="$CC $CFLAGS -fuse-ld=bfd" && export WM_CXX="$CXX $CXXFLAGS -fuse-ld=bfd" && ' + +sanity_check_paths = { + 'files': ['bin/interFaceFoam', 'bin/smoothMesh', 'bin/voxelToSurface'], + 'dirs': ['include', 'lib'], +} + +sanity_check_commands = ["voxelToFoam --help | grep 'convert micro-CT images to OpenFOAM mesh'"] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-hardcoded-mpicommand.patch b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-hardcoded-mpicommand.patch new file mode 100644 index 00000000000..23c42699def --- /dev/null +++ b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-hardcoded-mpicommand.patch @@ -0,0 +1,16 @@ +# porefome hard-codes mpi command to be "mpirun.openmpi" and also fixes the "-np" switch to set the number of mpi tasks. +# I implemeted here $POREFOAM_MPIRUN_CMD variable to set the mpirun command and the switch to set the number of mpi tasks. +# for example for OpenMPI, use export POREFOAM_MPIRUN_CMD="mpirun -np" before you run porefoem +# June 21st 2022 by B. Hajgato (UGent) +diff -ru porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f.org/src/script/initbash porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/src/script/initbash +--- porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f.org/src/script/initbash 2021-09-21 19:12:45.000000000 +0200 ++++ porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/src/script/initbash 2022-06-21 14:24:04.255861222 +0200 +@@ -70,7 +70,7 @@ + else + echo "Running $APP_NAME $@ > $PWD/$LOG_NAME , using $np processes" + # --bind to none ( mpirun -x LD_LIBRARY_PATH -x PATH -x WM_PROJECT_DIR -x WM_PROJECT_INST_DIR -x MPI_BUFFER_SIZE --mca btl_tcp_if_exclude lo --mca btl_tcp_if_exclude eth0:avahi --hostfile machines.txt -np $np $APP_RUN -parallel "$@" < /dev/null > $LOG_NAME 2>&1 ) +- nice mpirun.openmpi -np $np $APP_RUN -parallel "$@" < /dev/null > $LOG_NAME 2>&1 ++ ${POREFOAM_MPIRUN_CMD:- nice mpirun.openmpi -np} $np $APP_RUN -parallel "$@" < /dev/null > $LOG_NAME 2>&1 + [[ $? == 0 ]] || echo "Error: $APP_RUN -parallel $@, exit status: $?, see $(pwd)/$LOG_NAME" >&2 + fi + sleep .1 diff --git a/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch new file mode 100644 index 00000000000..17d5864d050 --- /dev/null +++ b/easybuild/easyconfigs/p/porefoam/porefoam-2021-09-21_fix-scotch-linking.patch @@ -0,0 +1,13 @@ +fix for: undefined reference to `SCOTCH_errorPrint' +author: Kenneth Hoste (HPC-UGent) +--- porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/pkgs/foamx4m/applications/utilities/parallelProcessing/decomposePar/Make/options.orig 2022-02-25 16:29:05.774243797 +0100 ++++ porefoam-eb02ba3ede738befe02dc7c587d21f05fd40cb9f/pkgs/foamx4m/applications/utilities/parallelProcessing/decomposePar/Make/options 2022-02-25 16:29:28.484450588 +0100 +@@ -10,7 +10,7 @@ + -l:libdecompositionMethods.$(SO) \ + -l:libdecomposeReconstruct.$(SO) \ + -l:libmeshTools.$(SO) \ +- -l:libscotchDecomp.$(SO) -lscotch ++ -l:libscotchDecomp.$(SO) -lscotch -lscotcherrexit + + delsSkip = -ltetFiniteElement + delsSkip = -lfiniteArea diff --git a/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb b/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb new file mode 100644 index 00000000000..76d53174915 --- /dev/null +++ b/easybuild/easyconfigs/p/powerlaw/powerlaw-1.5-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'powerlaw' +version = '1.5' + +homepage = 'http://www.github.com/jeffalstott/powerlaw' +description = "powerlaw: A Python Package for Analysis of Heavy-Tailed Distributions" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_PY3_WHL] +checksums = ['633a669573d9fd663d2f452f121117f2d6b2f2c502eca532f9355f733abfec96'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb b/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb new file mode 100644 index 00000000000..ee3db5ffcf2 --- /dev/null +++ b/easybuild/easyconfigs/p/pp-sketchlib/pp-sketchlib-2.1.1-foss-2022a.eb @@ -0,0 +1,44 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'pp-sketchlib' +version = '2.1.1' + +homepage = 'https://github.com/bacpop/pp-sketchlib' +description = """Library of sketching functions used by PopPUNK""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('HDF5', '1.12.2'), + ('pybind11', '2.9.2'), + ('Eigen', '3.4.0'), + ('Boost', '1.79.0'), + ('nlohmann_json', '3.10.5'), + ('HighFive', '2.6.2'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('docopt', '0.6.2', { + 'checksums': ['49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491'], + }), + (name, version, { + 'source_urls': ['https://github.com/bacpop/pp-sketchlib/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['b42acf0a58ea3225e3fe95adc8fc165578832c58e6f5b6fb3f7817655e0a9f30'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/ppl/ppl-1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/ppl/ppl-1.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..956def8cb4a --- /dev/null +++ b/easybuild/easyconfigs/p/ppl/ppl-1.2-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'ppl' +version = '1.2' + +homepage = 'https://www.bugseng.com/parma-polyhedra-library' +description = """The Parma Polyhedra Library (PPL) provides numerical abstractions especially +targeted at applications in the field of analysis and verification of complex systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.bugseng.com/products/ppl/download/ftp/releases/%(version)s'] +sources = [SOURCE_ZIP] +checksums = ['127be72fcd9b2db44b0b7dee11ec89fbe25c5c2694327a859a75d82bc7613492'] + +builddependencies = [ + ('M4', '1.4.19'), + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/ppl-config', 'bin/ppl_pips', 'lib/libppl.%s' % SHLIB_EXT, 'include/ppl.hh'], + 'dirs': ['share'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pplpy/pplpy-0.8.9-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pplpy/pplpy-0.8.9-GCC-11.3.0.eb new file mode 100644 index 00000000000..553da922263 --- /dev/null +++ b/easybuild/easyconfigs/p/pplpy/pplpy-0.8.9-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'pplpy' +version = '0.8.9' + +homepage = 'https://pypi.org/project/pplpy/' +description = "This Python package provides a wrapper to the C++ Parma Polyhedra Library (PPL)." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['db7a3b571d6ef053f75137975e947c3a1c1e45a30bab90eaf215b4e5cc15797e'] + +# the GMP, MPC etc. is not needed here. Since they are contained in gmpy2 +dependencies = [ + ('Python', '3.10.4'), + ('ppl', '1.2'), + ('cysignals', '1.11.2'), + ('gmpy2', '2.1.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'ppl'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0-foss-2022a.eb b/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0-foss-2022a.eb new file mode 100644 index 00000000000..1cfa3f80e8b --- /dev/null +++ b/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0-foss-2022a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'preCICE' +version = '2.5.0' + +homepage = 'https://www.precice.org/' +description = """preCICE (Precise Code Interaction Coupling Environment) +is a coupling library for partitioned multi-physics simulations, +including, but not restricted to fluid-structure interaction and +conjugate heat transfer simulations. Partitioned means that preCICE +couples existing programs (solvers) capable of simulating a subpart of +the complete physics involved in a simulation. This allows for the high +flexibility that is needed to keep a decent time-to-solution for complex +multi-physics scenarios.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/precice/precice/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'preCICE-2.5.0_link_with_statics.patch', +] +checksums = [ + {'v2.5.0.tar.gz': '76ec6ee0d1a66f6f3d3d2d11f03cfc5aa7ef4d9e5deb9b7a4b4455ec7f796c00'}, + {'preCICE-2.5.0_link_with_statics.patch': '38de293a94e9029b60b262ee23e45f0e9098f7d00ba0d0f7278b7109a50e21f6'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Boost', '1.79.0'), + ('Eigen', '3.4.0'), + ('libxml2', '2.9.13'), + ('PETSc', '3.17.4'), + ('SciPy-bundle', '2022.05'), +] + +separate_build_dir = True +build_shared_libs = True + +# Tell pkg-config to keep flags available in CPATH and others because it prevents CMake from finding PETSc correctly +preconfigopts = 'PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 ' +# Make sure MPI support is enabled +configopts = '-DPRECICE_MPICommunication=ON ' +# Make sure PETSc support is enabled +configopts += '-DPRECICE_PETScMapping=ON ' +# Make sure PythonActions support is enabled +configopts += "-DPYTHON_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPYTHON_LIBRARY=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s " % SHLIB_EXT +configopts += '-DPRECICE_PythonActions=ON ' +# force Eigen include directory which is not found correctly otherwise +configopts += '-DEIGEN3_INCLUDE_DIR="$EBROOTEIGEN/include"' + +# Run basic tests +runtest = ' test_base' + +sanity_check_paths = { + 'files': ['bin/binprecice'] + + ['include/precice/%s' % x for x in ['SolverInterfaceC.h', 'Version.h', + 'SolverInterfaceFortran.hpp', 'SolverInterface.hpp']] + + ['lib/libprecice.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0_link_with_statics.patch b/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0_link_with_statics.patch new file mode 100644 index 00000000000..01efdbc69fc --- /dev/null +++ b/easybuild/easyconfigs/p/preCICE/preCICE-2.5.0_link_with_statics.patch @@ -0,0 +1,22 @@ +# Adds static SCOTCH library for PETSc component +# +# Author: Jiri Furst +# +--- cmake/modules/FindPETSc.cmake.orig 2023-02-27 15:04:41.282052238 +0100 ++++ cmake/modules/FindPETSc.cmake 2023-02-27 16:10:09.140875043 +0100 +@@ -182,6 +182,15 @@ + endif() + endforeach() + ++ # Add missing static liraries (easybuild specific?) ++ foreach(_next_lib IN LISTS PC_PETSc_STATIC_LIBRARIES) ++ if(_next_lib STREQUAL "ptscotch") ++ list(APPEND _petsc_libs "$ENV{EBROOTSCOTCH}/lib/libptscotch.a") ++ elseif(_next_lib STREQUAL "scotch") ++ list(APPEND _petsc_libs "$ENV{EBROOTSCOTCH}/lib/libscotch.a") ++ endif() ++ endforeach() ++ + # Link against MPI if it is used. + # This adds all required link directories. + foreach(_next_lib IN LISTS PC_PETSc_STATIC_LIBRARIES) diff --git a/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4f8fb886b0e --- /dev/null +++ b/easybuild/easyconfigs/p/premailer/premailer-3.10.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'premailer' +version = '3.10.0' + +homepage = "https://premailer.io/" +description = """ +CSS blocks into inline style attributes for HTML emails +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('lxml', '4.9.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cachetools', '5.3.2', { + 'checksums': ['086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2'], + }), + ('cssselect', '1.2.0', { + 'checksums': ['666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc'], + }), + ('cssutils', '2.9.0', { + 'checksums': ['89477b3d17d790e97b9fb4def708767061055795aae6f7c82ae32e967c9be4cd'], + }), + (name, version, { + 'checksums': ['d1875a8411f5dc92b53ef9f193db6c0f879dc378d618e0ad292723e388bfe4c2'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-10.3.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..2d8165add8e --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.1.2' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['ed5176eb638e709bd22c0a43cedae5a2a3fcece40f6c130c509fbce6a59fa788'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.12'), + ('zlib', '1.2.11'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(name)s', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = [('%(name)s')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..9849472fb76 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.1.2-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.1.2' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['ed5176eb638e709bd22c0a43cedae5a2a3fcece40f6c130c509fbce6a59fa788'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.14'), + ('zlib', '1.2.11'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(name)s', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = [('%(name)s')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..85b102d3291 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.2.0' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/preseq/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['95b81c9054e0d651de398585c7e96b807ad98f0bdc541b3e46665febbe2134d9'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['preseq', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = ['preseq'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..e97deba5b85 --- /dev/null +++ b/easybuild/easyconfigs/p/preseq/preseq-3.2.0-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'preseq' +version = '3.2.0' + +homepage = 'https://smithlabresearch.org/software/preseq' +description = "Software for predicting library complexity and genome coverage in high-throughput sequencing." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/smithlabcode/preseq/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['95b81c9054e0d651de398585c7e96b807ad98f0bdc541b3e46665febbe2134d9'] + +dependencies = [ + ('GSL', '2.7'), + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-hts CPPFLAGS="-I$EBROOTHTSLIB/include" LDFLAGS="-L$EBROOTHTSLIB/lib"' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['preseq', 'to-mr']], + 'dirs': [], +} + +sanity_check_commands = ['preseq'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..da212be4da9 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20200718-foss-2021b-R-4.1.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '052085d' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20200718' +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': '2021b'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['464fda01f49020cbc9e6dea250fa05f81822259409e701e90882fab20cddbef5'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..97c1a2bd545 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230113-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'presto' +local_commit = '045390a' +# see DESCRIPTION to determine version, +# but also take date of last commit into account (since version isn't always bumped) +version = '1.0.0-20230113' +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': '2022a'} + +source_urls = ['https://github.com/immunogenomics/presto/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['79b92212d2d3165e27d137aa9c216c531934b67f37d413022fa8b1b48b36a209'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..fa760d42006 --- /dev/null +++ b/easybuild/easyconfigs/p/presto/presto-1.0.0-20230501-foss-2022b-R-4.2.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': '2022b'} + +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.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' 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/pretty-yaml/pretty-yaml-21.10.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-21.10.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..08a61b6799f --- /dev/null +++ b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-21.10.1-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pretty-yaml' +local_mod = 'pyaml' +version = '21.10.1' + +homepage = 'https://github.com/mk-fg/pretty-yaml' +description = """PyYAML-based python module to produce pretty and readable YAML-serialized data. +This module is for serialization only, see ruamel.yaml module for literate YAML +parsing (keeping track of comments, spacing, line/column numbers of values, etc).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/%s/' % local_mod] +sources = ['%s-%%(version)s.tar.gz' % local_mod] +checksums = ['c6519fee13bf06e3bb3f20cacdea8eba9140385a7c2546df5dbae4887f768383'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': local_mod} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-23.9.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-23.9.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3990756639a --- /dev/null +++ b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-23.9.5-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'pretty-yaml' +local_mod = 'pyaml' +version = '23.9.5' + +homepage = 'https://github.com/mk-fg/pretty-yaml' +description = """ +PyYAML-based python module to produce pretty and readable YAML-serialized data. +This module is for serialization only, see ruamel.yaml module for literate YAML +parsing (keeping track of comments, spacing, line/column numbers of values, etc). +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/%s/' % local_mod] +sources = ['%s-%%(version)s.tar.gz' % local_mod] +checksums = ['9b903a1185eefdf85499cb856b70b12245988db990bfd6af596d3521ece306a4'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': local_mod} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7a8779a9412 --- /dev/null +++ b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pretty-yaml' +local_mod = 'pyaml' +version = '24.7.0' + +homepage = 'https://github.com/mk-fg/pretty-yaml' +description = """PyYAML-based python module to produce pretty and readable YAML-serialized data. +This module is for serialization only, see ruamel.yaml module for literate YAML +parsing (keeping track of comments, spacing, line/column numbers of values, etc).""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/%s/' % local_mod] +sources = ['%s-%%(version)s.tar.gz' % local_mod] +checksums = ['5d0fdf9e681036fb263a783d0298fc3af580a6e2a6cf1a3314ffc48dc3d91ccb'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': local_mod} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ef58228ef61 --- /dev/null +++ b/easybuild/easyconfigs/p/pretty-yaml/pretty-yaml-24.7.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pretty-yaml' +local_mod = 'pyaml' +version = '24.7.0' + +homepage = 'https://github.com/mk-fg/pretty-yaml' +description = """PyYAML-based python module to produce pretty and readable YAML-serialized data. +This module is for serialization only, see ruamel.yaml module for literate YAML +parsing (keeping track of comments, spacing, line/column numbers of values, etc).""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/%s/' % local_mod] +sources = ['%s-%%(version)s.tar.gz' % local_mod] +checksums = ['5d0fdf9e681036fb263a783d0298fc3af580a6e2a6cf1a3314ffc48dc3d91ccb'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), + ('PyYAML', '6.0.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': local_mod} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/primecount/primecount-7.14-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/primecount/primecount-7.14-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..556cc0f1507 --- /dev/null +++ b/easybuild/easyconfigs/p/primecount/primecount-7.14-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'primecount' +version = '7.14' + +homepage = 'https://github.com/kimwalisch/primecount' +description = """primecount is a command-line program and C/C++ library that counts the number of primes ≤ x + (maximum 1031) using highly optimized implementations of the combinatorial prime counting algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/kimwalisch/primecount/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d867ac18cc52c0f7014682169988a76f39e4cd56f8ce78fb56e064499b1d66bb'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/primecount', 'include/primecount.h'] + + ['lib/libprimecount.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +sanity_check_commands = ["primecount -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/primecount/primecount-7.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/primecount/primecount-7.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c7e2b9843fc --- /dev/null +++ b/easybuild/easyconfigs/p/primecount/primecount-7.9-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'primecount' +version = '7.9' + +homepage = 'https://github.com/kimwalisch/primecount' +description = """primecount is a command-line program and C/C++ library that counts the number of primes ≤ x + (maximum 1031) using highly optimized implementations of the combinatorial prime counting algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/kimwalisch/primecount/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['872975ba2cbb43f5cc1ff5f5fda9ec4ec3f2be1eb3e3e906abe5d0b29a997f5b'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/primecount', 'include/primecount.h'] + + ['lib/libprimecount.%s' % e for e in ['a', SHLIB_EXT]], + 'dirs': ['share'], +} + +sanity_check_commands = ["primecount -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..51b021780f2 --- /dev/null +++ b/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'primecountpy' +version = '0.1.0' + +homepage = 'https://pypi.org/project/primecountpy' +description = "This is a Cython interface to the C++ library primecount." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['78fe7cc32115f0669a45d7c90faaf39f7ce3939e39e2e7e5f14c17fe4bff0676'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('cysignals', '1.11.2'), + ('primecount', '7.9'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..11244361d59 --- /dev/null +++ b/easybuild/easyconfigs/p/primecountpy/primecountpy-0.1.0-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'primecountpy' +version = '0.1.0' + +homepage = 'https://pypi.org/project/primecountpy' +description = "This is a Cython interface to the C++ library primecount." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['78fe7cc32115f0669a45d7c90faaf39f7ce3939e39e2e7e5f14c17fe4bff0676'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Cython', '3.0.10'), + ('cysignals', '1.11.4'), + ('primecount', '7.14'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..aa4d5c7ac03 --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-10.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': '10.3.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.36.1')] + +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/prodigal/prodigal-2.6.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2ce7b22891a --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.2.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': '11.2.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.37')] + +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/prodigal/prodigal-2.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..254d50dc31c --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-11.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': '11.3.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.38')] + +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/prodigal/prodigal-2.6.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f5a5c8c9681 --- /dev/null +++ b/easybuild/easyconfigs/p/prodigal/prodigal-2.6.3-GCCcore-12.2.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.2.0'} + +source_urls = ['https://github.com/hyattpd/Prodigal/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['89094ad4bff5a8a8732d899f31cec350f5a4c27bcbdd12663f87c9d1f0ec599f'] + +builddependencies = [('binutils', '2.39')] + +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/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/prokka/prokka-1.14.5-gompi-2019a.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019a.eb index eb877d4f4ae..275ef39e9b8 100644 --- a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019a.eb +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019a.eb @@ -22,7 +22,9 @@ checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] dependencies = [ ('BioPerl', '1.7.2', '-Perl-5.28.1'), ('BLAST+', '2.9.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), + ('parallel', '20190622'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), ] local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019b.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019b.eb index dc0d383a4bd..fba179ce972 100644 --- a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019b.eb +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2019b.eb @@ -22,7 +22,9 @@ checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] dependencies = [ ('BioPerl', '1.7.2'), ('BLAST+', '2.9.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), + ('parallel', '20190922'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), ] local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2020b.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2020b.eb index 28077ad116d..d5adf00b384 100644 --- a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2020b.eb +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2020b.eb @@ -22,7 +22,10 @@ checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] dependencies = [ ('BioPerl', '1.7.8'), ('BLAST+', '2.11.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20210322'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), ] local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021a.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021a.eb new file mode 100644 index 00000000000..39eb4f8fef4 --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021a.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.11.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20210622'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb new file mode 100755 index 00000000000..9ce8c18ac83 --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2021b.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.12.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20210722'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb new file mode 100644 index 00000000000..c1a3cfa1cd2 --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022a.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.13.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20220722'), + ('tbl2asn', '20220427', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022b.eb b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022b.eb new file mode 100644 index 00000000000..94b4e5939e2 --- /dev/null +++ b/easybuild/easyconfigs/p/prokka/prokka-1.14.5-gompi-2022b.eb @@ -0,0 +1,50 @@ +# EasyBuild easyconfig +# +# John Dey jfdey@fredhutch.org +# Fred Hutchenson Cancer Research Center +# +# Updated: Pavel Grochal (INUITS) + +easyblock = 'Tarball' + +name = 'prokka' +version = '1.14.5' + +homepage = 'https://www.vicbioinformatics.com/software.prokka.shtml' +description = "Prokka is a software tool for the rapid annotation of prokaryotic genomes." + +toolchain = {'name': 'gompi', 'version': '2022b'} + +source_urls = ['https://github.com/tseemann/prokka/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['0c13dd5621c352633565f5831c4e85ce2e1e400c2f17ba50800282ae121803ff'] + +dependencies = [ + ('BioPerl', '1.7.8'), + ('BLAST+', '2.14.0'), + ('Java', '11', '', SYSTEM), + ('Bio-SearchIO-hmmer', '1.7.3'), + ('parallel', '20230722'), + ('tbl2asn', '20230713', '-linux64', SYSTEM), +] + +local_bin_files = ['prokka', 'prokka-cdd_to_hmm', 'prokka-genpept_to_fasta_db', 'prokka-tigrfams_to_hmm', + 'prokka-biocyc_to_fasta_db', 'prokka-clusters_to_hmm', 'prokka-hamap_to_hmm', + 'prokka-uniprot_to_fasta_db', 'prokka-build_kingdom_dbs', 'prokka-genbank_to_fasta_db', + 'prokka-make_tarball'] + +postinstallcmds = ["%(installdir)s/bin/prokka --setupdb"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin_files] + ['binaries/linux/aragorn', 'db/cm/Bacteria', 'doc/ToDoList.txt'], + 'dirs': ['bin', 'binaries', 'db', 'db/cm', 'db/genus', 'db/hmm', 'db/kingdom', 'doc'], +} + +sanity_check_commands = [ + "prokka --version", + "prokka --listdb", +] + +modloadmsg = "prokka scripts are located in $EBROOTPROKKA/bin; databases are located in $EBROOTPROKKA/db\n" + +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-12.3.0.eb b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dfcdad173d1 --- /dev/null +++ b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-12.3.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': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +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/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..8cbde894708 --- /dev/null +++ b/easybuild/easyconfigs/p/prompt-toolkit/prompt-toolkit-3.0.36-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +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.3.0'} + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +sources = ['prompt_toolkit-%(version)s-py3-none-any.whl'] +checksums = ['aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +options = {'modulename': 'prompt_toolkit'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.17.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.17.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a37091edc78 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.17.3-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '3.17.3' + +homepage = 'https://github.com/google/protobuf/' +description = """Python Protocol Buffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = [{'download_filename': 'protobuf-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['72804ea5eaa9c22a090d2803813e280fb273b62d5ae497aaf3553d141c4fdd7b'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('protobuf', version) +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# 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'], +} + +options = {'modulename': 'google.protobuf'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.19.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.19.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..76dece60b6e --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-3.19.4-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '3.19.4' + +homepage = 'https://github.com/google/protobuf/' +description = """Python Protocol Buffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = [{'download_filename': 'protobuf-%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('protobuf', version) +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# 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'], +} + +options = {'modulename': 'google.protobuf'} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5a00b1b6fdd --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.23.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '4.23.0' + +homepage = 'https://github.com/google/protobuf/' +description = """Python Protocol Buffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +checksums = ['5f1eba1da2a2f3f7df469fccddef3cc060b8a16cfe3cc65961ad36b4dbcf59c5'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('protobuf', '23.0') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# 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'], +} + +options = {'modulename': 'google.protobuf'} + +moduleclass = 'devel' 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 new file mode 100644 index 00000000000..4606b18567e --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-4.24.0-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '4.24.0' + +homepage = 'https://github.com/google/protobuf/' +description = """Python Protocol Buffers runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +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')] + +dependencies = [ + ('Python', '3.11.3'), + ('protobuf', '24.0') +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# 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'], +} + +options = {'modulename': 'google.protobuf'} + +moduleclass = 'devel' 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-python/protobuf-python-5.28.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-5.28.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ed4aac1448e --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf-python/protobuf-python-5.28.0-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'protobuf-python' +version = '5.28.0' + +homepage = 'https://github.com/google/protobuf/' +description = "Python Protocol Buffers runtime library." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://pypi.python.org/packages/source/p/protobuf'] +sources = ['protobuf-%(version)s.tar.gz'] +checksums = ['dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), + ('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-21.9_linking-error.patch b/easybuild/easyconfigs/p/protobuf/protobuf-21.9_linking-error.patch new file mode 100644 index 00000000000..3b7fd616d63 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-21.9_linking-error.patch @@ -0,0 +1,37 @@ +# https://github.com/protocolbuffers/protobuf/pull/11032 +diff -ruN protobuf-21.9-orig/src/libprotobuf-lite.map protobuf-21.9/src/libprotobuf-lite.map +--- protobuf-21.9-orig/src/libprotobuf-lite.map 2022-12-18 15:56:13.701778705 +0100 ++++ protobuf-21.9/src/libprotobuf-lite.map 2022-12-18 15:57:06.973681257 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; +diff -ruN protobuf-21.9-orig/src/libprotobuf.map protobuf-21.9/src/libprotobuf.map +--- protobuf-21.9-orig/src/libprotobuf.map 2022-12-18 15:56:13.702992299 +0100 ++++ protobuf-21.9/src/libprotobuf.map 2022-12-18 15:57:11.786965226 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; +diff -ruN protobuf-21.9-orig/src/libprotoc.map protobuf-21.9/src/libprotoc.map +--- protobuf-21.9-orig/src/libprotoc.map 2022-12-18 15:56:13.704384023 +0100 ++++ protobuf-21.9/src/libprotoc.map 2022-12-18 15:57:15.907564998 +0100 +@@ -3,6 +3,8 @@ + extern "C++" { + *google*; + }; ++ scc_info_*; ++ descriptor_table_*; + + local: + *; diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-23.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-23.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..962f6810124 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-23.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '23.0' + +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': '12.2.0'} + +source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b8faf8487cc364e5c2b47a9abd77512bc79a6389ea45392ca938ba7617eae877'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +srcdir = '.' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER="package" ' + +dependencies = [ + ('Abseil', '20230125.2'), +] + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-24.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-24.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d29fcd6825d --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-24.0-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '24.0' + +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': '12.3.0'} + +source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['850357336189c470e429e9bdffca92229d8cd5b7f84aa2f3b4c5fdb80ce8351b'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +srcdir = '.' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_ABSL_PROVIDER="package" ' + +dependencies = [ + ('Abseil', '20230125.3'), +] + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +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/protobuf/protobuf-28.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-28.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b5f959fc06b --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-28.0-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '28.0' + +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.3.0'} + +github_account = 'protocolbuffers' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_GZ] +checksums = ['13e7749c30bc24af6ee93e092422f9dc08491c7097efa69461f88eb5f61805ce'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] +dependencies = [ + ('Abseil', '20240722.0'), +] + +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/protobuf/protobuf-3.17.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-3.17.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..826ee80c352 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-3.17.3-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '3.17.3' + +homepage = 'https://github.com/google/protobuf/' +description = """Google Protocol Buffers""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/google/protobuf/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +srcdir = 'cmake' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-3.19.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-3.19.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7b0be936361 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-3.19.4-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '3.19.4' + +homepage = 'https://github.com/google/protobuf/' +description = """Google Protocol Buffers""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/protobuf/archive/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +srcdir = 'cmake' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON ' + +sanity_check_paths = { + 'files': ['bin/protoc', 'lib/libprotobuf.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..93d2bca89f4 --- /dev/null +++ b/easybuild/easyconfigs/p/protobuf/protobuf-3.21.9-GCCcore-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'protobuf' +version = '3.21.9' + +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': '10.3.0'} + +source_urls = ['https://github.com/protocolbuffers/protobuf/archive/refs/tags/'] +sources = ['v21.9.tar.gz'] +patches = ['protobuf-21.9_linking-error.patch'] +checksums = [ + '0aa7df8289c957a4c54cbe694fbabe99b180e64ca0f8fdb5e2f76dcf56ff2422', # v21.9.tar.gz + '14487154fa9d50cc647d6837f9e83f24d2002bcbac876b6b35eb042ededee7ad', # protobuf-21.9_linking-error.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +srcdir = 'cmake' + +configopts = '-Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON ' + +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/psutil/psutil-5.9.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..6cb55d20405 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.3' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Python', '3.8.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..062ec65ec9a --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.3-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.3' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['7ccfcdfea4fc4b0a02ca2c31de7fcd186beb9cff8207800e14ab66f79c773af6'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..be9c08d05c6 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.4-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.4' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f51a55120b6 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.5-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.5' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +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 = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..554ec684e83 --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-5.9.8-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '5.9.8' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +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, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psutil/psutil-6.0.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/psutil/psutil-6.0.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..d6b6501e7da --- /dev/null +++ b/easybuild/easyconfigs/p/psutil/psutil-6.0.0-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psutil' +version = '6.0.0' + +homepage = 'https://github.com/giampaolo/psutil' +description = """A cross-platform process and system utilities module for Python""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [('binutils', '2.42')] + +dependencies = [('Python', '3.12.3')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/giampaolo/psutil/archive'], + 'sources': ['%(name)s-%(version)s.tar.gz'], + 'checksums': ['8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2'], + }), +] + +moduleclass = 'lib' 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/psycopg/psycopg-3.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/psycopg/psycopg-3.2.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5c0aab8a54e --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg/psycopg-3.2.1-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'psycopg' +version = '3.2.1' + +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'), +] + +exts_list = [ + (name, version, { + 'checksums': ['dc8da6dc8729dacacda3cc2f17d2c9397a70a66cf0d2b69c91065d60d5f00cb7'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..5b4e7b5052c --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.5-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'psycopg2' +version = '2.9.5' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5246d2e683a972e2187a8714b5c2cf8156c064629f9a9b1a873c1730d9e245a'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('PostgreSQL', '13.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..25a24c12236 --- /dev/null +++ b/easybuild/easyconfigs/p/psycopg2/psycopg2-2.9.6-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'psycopg2' +version = '2.9.6' + +homepage = 'https://psycopg.org/' +description = "Psycopg is the most popular PostgreSQL adapter for the Python programming language." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f15158418fd826831b28585e2ab48ed8df2d0d98f502a2b4fe619e7d5ca29011'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PostgreSQL', '14.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +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/pugixml/pugixml-1.11.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pugixml/pugixml-1.11.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..cada546fa3a --- /dev/null +++ b/easybuild/easyconfigs/p/pugixml/pugixml-1.11.4-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'pugixml' +version = '1.11.4' + +homepage = 'https://pugixml.org/' +description = """pugixml is a light-weight C++ XML processing library""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/zeux/pugixml/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pugixml-1.11.4_pugixml_remove_headeronly.patch'] +checksums = [ + '017139251c122dbff400a507cddc4cb74120a431a50c6c524f30edcc5b331ade', # v1.11.4.tar.gz + # pugixml-1.11.4_pugixml_remove_headeronly.patch + 'fb1a566a4a5c2e26385d932b43a25b3e0a5a380a7c8d1fd82c7bfc80379ec6ff', +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1') +] + +configopts = '-DBUILD_SHARED_AND_STATIC_LIBS=ON -DPUGIXML_HEADER_ONLY=True ' + +sanity_check_paths = { + 'files': ['include/pugiconfig.hpp', 'include/pugixml.hpp', 'lib/libpugixml.a', + 'lib/libpugixml.%s' % SHLIB_EXT, 'lib/pkgconfig/pugixml.pc'], + 'dirs': ['lib/cmake/pugixml'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pugixml/pugixml-1.11.4_pugixml_remove_headeronly.patch b/easybuild/easyconfigs/p/pugixml/pugixml-1.11.4_pugixml_remove_headeronly.patch new file mode 100644 index 00000000000..2ba50fe075f --- /dev/null +++ b/easybuild/easyconfigs/p/pugixml/pugixml-1.11.4_pugixml_remove_headeronly.patch @@ -0,0 +1,22 @@ +# CvL: Ran into this issue https://bugreports.qt.io/browse/QTBUG-11923?focusedCommentId=233276&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-233276 +# Comments in the header seem to suggest the macro expansion should fix it, but it does not +# The error we get is a missing pugixml.cpp +# Since pugixml by default is not configured to use header-only mode, we might as well comment it +diff -Nru pugixml-1.11.4-orig/src/pugixml.hpp pugixml-1.11.4/src/pugixml.hpp +--- pugixml-1.11.4-orig/src/pugixml.hpp 2021-06-24 10:24:25.117459425 +0200 ++++ pugixml-1.11.4/src/pugixml.hpp 2021-06-24 10:25:21.338514908 +0200 +@@ -1468,10 +1468,10 @@ + + // Make sure implementation is included in header-only mode + // Use macro expansion in #include to work around QMake (QTBUG-11923) +-#if defined(PUGIXML_HEADER_ONLY) && !defined(PUGIXML_SOURCE) +-# define PUGIXML_SOURCE "pugixml.cpp" +-# include PUGIXML_SOURCE +-#endif ++//#if defined(PUGIXML_HEADER_ONLY) && !defined(PUGIXML_SOURCE) ++//# define PUGIXML_SOURCE "pugixml.cpp" ++//# include PUGIXML_SOURCE ++//#endif + + /** + * Copyright (c) 2006-2020 Arseny Kapoulkine diff --git a/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0c105e447f2 --- /dev/null +++ b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'pugixml' +version = '1.12.1' + +homepage = 'https://pugixml.org/' +description = """pugixml is a light-weight C++ XML processing library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/zeux/pugixml/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1e28ab24b6e04e013d96f45d25e9f2d04c921dc68c613fd010ecaaad3892c14d'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1') +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DPUGIXML_BUILD_SHARED_AND_STATIC_LIBS=ON ' + +sanity_check_paths = { + 'files': ['include/pugiconfig.hpp', 'include/pugixml.hpp', 'lib/libpugixml.a', + 'lib/libpugixml.%s' % SHLIB_EXT, 'lib/pkgconfig/pugixml.pc'], + 'dirs': ['lib/cmake/pugixml'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d507f7f7f30 --- /dev/null +++ b/easybuild/easyconfigs/p/pugixml/pugixml-1.12.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pugixml' +version = '1.12.1' + +homepage = 'https://pugixml.org/' +description = "pugixml is a light-weight C++ XML processing library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/zeux/pugixml/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1e28ab24b6e04e013d96f45d25e9f2d04c921dc68c613fd010ecaaad3892c14d'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +configopts = " ".join([ + "-DBUILD_SHARED_LIBS=ON", + "-DPUGIXML_BUILD_SHARED_AND_STATIC_LIBS=ON", +]) + +sanity_check_paths = { + 'files': [ + 'include/pugiconfig.hpp', + 'include/pugixml.hpp', + 'lib/libpugixml.a', + 'lib/libpugixml.%s' % SHLIB_EXT, + 'lib/pkgconfig/pugixml.pc' + ], + 'dirs': ['lib/cmake/pugixml'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..bd94483da59 --- /dev/null +++ b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'pullseq' +version = '1.0.2' + +homepage = 'https://github.com/bcthomas/pullseq' +description = "Utility program for extracting sequences from a fasta/fastq file" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/bcthomas/pullseq/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a295d7e0e2d64ed05d293d795d1716376707e465f2c42ede6454f27db586c85f'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] +dependencies = [ + ('PCRE', '8.44'), +] + +preconfigopts = "./bootstrap && " + +buildopts = 'CFLAGS="$CFLAGS -fcommon"' + +sanity_check_paths = { + 'files': ['bin/pullseq', 'bin/seqdiff'], + 'dirs': [], +} + +sanity_check_commands = [ + "pullseq --help 2>&1 | grep 'pullseq - a bioinformatics tool'", + "seqdiff --help 2>&1 | grep 'seqdiff - a bioinformatics tool'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b0676dedca5 --- /dev/null +++ b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'pullseq' +version = '1.0.2' + +homepage = 'https://github.com/bcthomas/pullseq' +description = "Utility program for extracting sequences from a fasta/fastq file" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/bcthomas/pullseq/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a295d7e0e2d64ed05d293d795d1716376707e465f2c42ede6454f27db586c85f'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] +dependencies = [ + ('PCRE', '8.45'), +] + +preconfigopts = "./bootstrap && " + +buildopts = 'CFLAGS="$CFLAGS -fcommon"' + +sanity_check_paths = { + 'files': ['bin/pullseq', 'bin/seqdiff'], + 'dirs': [], +} + +sanity_check_commands = [ + "pullseq --help 2>&1 | grep 'pullseq - a bioinformatics tool'", + "seqdiff --help 2>&1 | grep 'seqdiff - a bioinformatics tool'", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-7.3.0.eb b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-7.3.0.eb index bc6e3f50681..513b5e5c745 100644 --- a/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/p/pullseq/pullseq-1.0.2-GCCcore-7.3.0.eb @@ -16,6 +16,9 @@ builddependencies = [ ('binutils', '2.30'), ('Autotools', '20180311'), ] +dependencies = [ + ('PCRE', '8.41'), +] preconfigopts = "./bootstrap && " @@ -24,4 +27,9 @@ sanity_check_paths = { 'dirs': [], } +sanity_check_commands = [ + "pullseq --help 2>&1 | grep 'pullseq - a bioinformatics tool'", + "seqdiff --help 2>&1 | grep 'seqdiff - a bioinformatics tool'", +] + moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/purge_dups/purge_dups-1.2.5-foss-2021b.eb b/easybuild/easyconfigs/p/purge_dups/purge_dups-1.2.5-foss-2021b.eb new file mode 100644 index 00000000000..c2a1fcd985d --- /dev/null +++ b/easybuild/easyconfigs/p/purge_dups/purge_dups-1.2.5-foss-2021b.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'purge_dups' +version = '1.2.5' + +homepage = 'https://github.com/dfguan/purge_dups' +description = "purge haplotigs and overlaps in an assembly based on read depth" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('minimap2', '2.22'), + ('zlib', '1.2.11'), +] + +use_pip = True + +default_easyblock = 'MakeCp' + +components = [ + (name, version, { + 'source_urls': ['https://github.com/dfguan/purge_dups/archive/refs/tags/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['7879a8ecc26e5de1eaaf4b4633cb240ed2802d648068b193652477317a3e2645'], + 'start_dir': 'purge_dups-%(version)s', + 'prebuildopts': "cd src && ", + 'buildopts': 'CC="$CC" CFLAGS="$CFLAGS"', + 'files_to_copy': ['bin', 'scripts'], + }), + ('KMC', '20190629', { + 'source_urls': ['https://github.com/dfguan/KMC/archive/'], + 'sources': [{'download_filename': 'c05a5f9.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['7251941f4b1913bfdd68759d9292b419d95fe7c63815056e15ecb097a12a0bc4'], + 'prebuildopts': 'cd KMC-* && ', + 'buildopts': 'CC="$CXX"', + 'files_to_copy': [(['KMC-*/bin/*kmc*'], 'bin'), 'KMC-*/spectra.py'], + }), +] + +exts_list = [ + ('runner', '20191220', { + 'sources': [{ + 'git_config': { + 'url': 'https://github.com/dfguan/', + 'repo_name': 'runner', + 'commit': '73a4d11', + }, + 'filename': 'runner-%(version)s.tar.gz', + }], + 'checksums': [None], + 'preinstallopts': "sed -i 's/0.0.0/%(version)s/g' setup.py && " + }), +] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/purge_dups'], + 'dirs': ['scripts'], +} + +sanity_check_commands = [ + "purge_dups -h 2>&1 | grep 'Program: purge_dups'", + "kmc --help", + "run_purge_dups.py -h", + "hist_plot.py -h", +] + +sanity_pip_check = True + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pv/pv-1.7.24-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pv/pv-1.7.24-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..beb37508fe0 --- /dev/null +++ b/easybuild/easyconfigs/p/pv/pv-1.7.24-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'pv' +version = '1.7.24' + +homepage = 'https://www.ivarch.com/programs/pv.shtml' +description = "Pipe Viewer - monitor the progress of data through a pipe" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/a-j-wood/pv/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3bf43c5809c8d50066eaeaea5a115f6503c57a38c151975b710aa2bee857b65e'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': ['bin/pv'], + 'dirs': ['share/man'], +} + +sanity_check_commands = ["pv --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/py-c3d/py-c3d-0.5.2-foss-2022a.eb b/easybuild/easyconfigs/p/py-c3d/py-c3d-0.5.2-foss-2022a.eb new file mode 100644 index 00000000000..cfa66a73607 --- /dev/null +++ b/easybuild/easyconfigs/p/py-c3d/py-c3d-0.5.2-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'py-c3d' +version = '0.5.2' + +homepage = 'https://github.com/EmbodiedCognition/py-c3d' +description = """ +This is a small library for reading and writing C3D binary files. C3D files are a standard +format for recording 3-dimensional time sequence data, especially data recorded by a 3D +motion tracking apparatus. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + ('c3d', version, { + 'checksums': ['b49801237be3b3cede1731a5058f48a96c0bd02339ef25e4e384a4648e23e580'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..dab4b630329 --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-8.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'py-cpuinfo' +version = '8.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = """ Py-cpuinfo gets CPU info with pure Python. +Py-cpuinfo should work without any extra programs or libraries, +beyond what your OS provides. It does not require any +compilation(C/C++, assembly, et cetera) to use. It works with Python 3. +""" +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + 'modulename': 'cpuinfo', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a9fcf12cfb2 --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'py-cpuinfo' +version = '9.0.0' + +homepage = 'https://github.com/workhorsy/py-cpuinfo' +description = """ Py-cpuinfo gets CPU info with pure Python. +Py-cpuinfo should work without any extra programs or libraries, +beyond what your OS provides. It does not require any +compilation(C/C++, assembly, et cetera) to use. It works with Python 3. +""" +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'], + 'modulename': 'cpuinfo', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..14c968128f7 --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-11.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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +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-12.2.0.eb b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a36d83f17ab --- /dev/null +++ b/easybuild/easyconfigs/p/py-cpuinfo/py-cpuinfo-9.0.0-GCCcore-12.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': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +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-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/py3Dmol/py3Dmol-2.0.1.post1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.0.1.post1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9e22b8a26a6 --- /dev/null +++ b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.0.1.post1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'py3Dmol' +version = '2.0.1.post1' + +homepage = 'https://github.com/3dmol/3Dmol.js/tree/master/py3Dmol' +description = "A simple IPython/Jupyter widget to embed an interactive 3Dmol.js viewer in a notebook." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'checksums': ['add70ecf8f647970925eb8c1043c5c1343813fa49e613b77f0628e522c4148ac'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0ff64a7f07a --- /dev/null +++ b/easybuild/easyconfigs/p/py3Dmol/py3Dmol-2.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'py3Dmol' +version = '2.1.0' + +homepage = 'https://github.com/3dmol/3Dmol.js/tree/master/py3Dmol' +description = "A simple IPython/Jupyter widget to embed an interactive 3Dmol.js viewer in a notebook." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('IPython', '8.14.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': "%(name)s", + 'checksums': ['83d2f25a9107b4cef125c0c1f5caa4dce9b7577f1346fc0a3f7d12972e11c0e8'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021a.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021a.eb new file mode 100644 index 00000000000..083d379028f --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.18' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['552564d8ce8720a8ae70ed5e5534617fb0cab306b666468d1c61b6d389b8a10c'] + +dependencies = [ + ('Python', '3.9.5'), + ('cURL', '7.76.0'), + ('NSS', '3.65'), # provides libfreebl3 + ('SciPy-bundle', '2021.05'), # optional, for numpy support +] + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021b.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021b.eb new file mode 100644 index 00000000000..9a870e5cd21 --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.18' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['552564d8ce8720a8ae70ed5e5534617fb0cab306b666468d1c61b6d389b8a10c'] + +dependencies = [ + ('Python', '3.9.6'), + ('cURL', '7.78.0'), + ('NSS', '3.69'), # provides libfreebl3 + ('SciPy-bundle', '2021.10'), # optional, for numpy support +] + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb new file mode 100644 index 00000000000..52abcea4672 --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.18-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.18' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['552564d8ce8720a8ae70ed5e5534617fb0cab306b666468d1c61b6d389b8a10c'] + +dependencies = [ + ('Python', '3.10.4'), + ('cURL', '7.83.0'), + ('NSS', '3.79'), # provides libfreebl3 + ('SciPy-bundle', '2022.05'), # optional, for numpy support +] + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2022b.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2022b.eb new file mode 100644 index 00000000000..723a23aefbf --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-foss-2022b.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.22' + +github_account = 'deeptools' +homepage = 'https://github.com/%(github_account)s/%(name)s' +description = """A python extension, written in C, for quick access to bigBed + files and access to and creation of bigWig files.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['3b8d62b2bedcee0545a586884466c97a64b64283a309b211300b670f41dd2046'] + +dependencies = [ + ('Python', '3.10.8'), + ('cURL', '7.86.0'), + ('NSS', '3.85'), # provides libfreebl3 + ('SciPy-bundle', '2023.02'), # optional, for numpy support +] + +# fix version of '0.0.0' issue +preinstallopts = """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """ +# do not use setuptools-scm to detect version +preinstallopts += """sed -i 's/[tool.setuptools_scm]//' pyproject.toml && """ + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-gfbf-2023a.eb b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-gfbf-2023a.eb new file mode 100644 index 00000000000..8e9947f8e5b --- /dev/null +++ b/easybuild/easyconfigs/p/pyBigWig/pyBigWig-0.3.22-gfbf-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'pyBigWig' +version = '0.3.22' + +homepage = 'https://github.com/deeptools/pyBigWig' +description = """A python extension, written in C, for quick access to bigBed +files and access to and creation of bigWig files.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5d4426f754bd7b7f6dc21d6c3f93b58a96a65b6eb2e578ae03b31a71272d2243'] + +dependencies = [ + ('Python', '3.11.3'), + ('cURL', '8.0.1'), + ('NSS', '3.89.1'), # provides libfreebl3 + ('SciPy-bundle', '2023.07'), # optional, for numpy support +] + +use_pip = True +download_dep_fail = True + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..afab7243636 --- /dev/null +++ b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-4.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'pyEGA3' +version = '4.0.0' + +homepage = 'https://github.com/EGA-archive/ega-download-client' +description = """ A basic Python-based EGA download client """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.0.0', { + 'checksums': ['ee1f872fdfc7d2ef4a28d4f80ddde9f96d36955b5d6b0dac4bdeb99502bddb00'], + }), + ('htsget', '0.2.5', { + 'checksums': ['d383dc36f699bd921f760f5500c8ed251e5f8358a7cc219c6c89c35d103e8045'], + }), + ('urllib3', '1.26.9', { + 'checksums': ['aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/==/>=/g' setup.py && ", + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['4a1582da6b3c018e69c9d6023cd0344372e7c3d6be19c8f3f75a5123b53de065'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pyega3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["pyega3 -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyEGA3/pyEGA3-5.0.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-5.0.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2c867a3ef22 --- /dev/null +++ b/easybuild/easyconfigs/p/pyEGA3/pyEGA3-5.0.2-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'pyEGA3' +version = '5.0.2' + +homepage = 'https://github.com/EGA-archive/ega-download-client' +description = """ A basic Python-based EGA download client """ + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('tqdm', '4.66.1'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('htsget', '0.2.6', { + 'checksums': ['84816534e2740d3bcc4fb44a6d703b387b8a392209be098752466c35ff253884'], + }), + ('urllib3', '1.26.18', { + 'checksums': ['f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0'], + }), + (name, version, { + 'preinstallopts': "sed -i 's/==/>=/g' setup.py && ", + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['677f49564ff3178291ce14a7dcd4032a10bf8505d3f5c07ded13565302a89336'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pyega3'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["pyega3 -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-foss-2020b.eb b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-foss-2020b.eb new file mode 100644 index 00000000000..1a72ee67c64 --- /dev/null +++ b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-foss-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyFAI' +version = '0.20.0' + +github_account = 'silx-kit' +homepage = "https://github.com/%(github_account)s/pyFAI" +description = """Python implementation of fast azimuthal integration.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('silx', '0.14.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f39f56ff58868ab7f12d6fa5c7bf6b7d111b7fa687f3816c5d8d11cb75fa82f0'] + +options = {'modulename': 'pyFAI'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +modextravars = { + 'PYFAI_OPENCL': '0', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-fosscuda-2020b.eb b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..c5766420e2b --- /dev/null +++ b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.20.0-fosscuda-2020b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyFAI' +version = '0.20.0' + +github_account = 'silx-kit' +homepage = "https://github.com/%(github_account)s/pyFAI" +description = """Python implementation of fast azimuthal integration.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('silx', '0.14.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f39f56ff58868ab7f12d6fa5c7bf6b7d111b7fa687f3816c5d8d11cb75fa82f0'] + +options = {'modulename': 'pyFAI'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +modextravars = { + 'PYFAI_OPENCL': '0', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb new file mode 100644 index 00000000000..a39091f0bc3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyFAI/pyFAI-0.21.3-foss-2021b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyFAI' +version = '0.21.3' + +github_account = 'silx-kit' +homepage = "https://github.com/%(github_account)s/pyFAI" +description = """Python implementation of fast azimuthal integration.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('silx', '1.0.0'), +] + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3524dee3c5eaa9415c125b08f5a4e1ed9c08ea51d657a5c4a7a74fd0eedf7764'] + +options = {'modulename': 'pyFAI'} + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +modextravars = { + 'PYFAI_OPENCL': '0', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-foss-2020b.eb b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-foss-2020b.eb new file mode 100755 index 00000000000..09b5d4fc47a --- /dev/null +++ b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-foss-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pyFFTW' +version = '0.12.0' + +homepage = 'https://github.com/pyFFTW/pyFFTW' +description = """A pythonic wrapper around FFTW, the FFT library, presenting a unified interface + for all the supported transforms.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('FFTW', '3.3.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-fosscuda-2020b.eb b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-fosscuda-2020b.eb new file mode 100755 index 00000000000..bff68e67027 --- /dev/null +++ b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.12.0-fosscuda-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pyFFTW' +version = '0.12.0' + +homepage = 'https://github.com/pyFFTW/pyFFTW' +description = """A pythonic wrapper around FFTW, the FFT library, presenting a unified interface + for all the supported transforms.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['60988e823ca75808a26fd79d88dbae1de3699e72a293f812aa4534f8a0a58cb0'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('FFTW', '3.3.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.13.1-foss-2022a.eb new file mode 100755 index 00000000000..fa32aafe1c2 --- /dev/null +++ b/easybuild/easyconfigs/p/pyFFTW/pyFFTW-0.13.1-foss-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'pyFFTW' +version = '0.13.1' + +homepage = 'https://github.com/pyFFTW/pyFFTW' +description = """A pythonic wrapper around FFTW, the FFT library, presenting a unified interface + for all the supported transforms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['09155e90a0c6d0c1f2d1f3668180a7de95fb9f83fef5137a112fb05978e87320'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb b/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb new file mode 100644 index 00000000000..fd2765c622e --- /dev/null +++ b/easybuild/easyconfigs/p/pyGAM/pyGAM-0.9.1-gfbf-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'pyGAM' +version = '0.9.1' + +homepage = 'https://pygam.readthedocs.io' +description = """ +pyGAM is a package for building Generalized Additive Models in Python, with an emphasis on +modularity and performance. The API will be immediately familiar to anyone with experience of +scikit-learn or scipy. +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1'), ] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +exts_list = [ + ('python-utils', '3.8.2', { + 'checksums': ['c5d161e4ca58ce3f8c540f035e018850b261a41e7cb98f6ccf8e1deb7174a1f1'], + }), + ('progressbar2', '4.4.2', { + 'modulename': 'progressbar', + 'checksums': ['3fda2e0c60693600a6585a784c9d3bc4e1dac57e99e133f8c0f5c8cf3df374a2'], + }), + ('poetry-dynamic-versioning', '1.2.0', { + 'source_tmpl': 'poetry_dynamic_versioning-%(version)s.tar.gz', + 'checksums': ['1a7bbdba2530499e73dfc6ac0af19de29020ab4aaa3e507573877114e6b71ed6'], + }), + ('dunamai', '1.19.2', { + 'checksums': ['3be4049890763e19b8df1d52960dbea60b3e263eb0c96144a677ae0633734d2e'], + }), + ('pygam', version, { + 'checksums': ['a321a017bf485ed93fc6233e02621f8e7eab3d4f8971371c9ae9e079c55be01d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.7-foss-2021b.eb b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.7-foss-2021b.eb new file mode 100644 index 00000000000..f5d7484ca9f --- /dev/null +++ b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.7-foss-2021b.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'pyGenomeTracks' +version = '3.7' + +homepage = 'https://pygenometracks.readthedocs.io' +description = "pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('bx-python', '0.8.13'), + ('pybedtools', '0.8.2'), + ('pyBigWig', '0.3.18'), + ('pyfaidx', '0.7.0'), + ('Pysam', '0.17.0'), + ('tqdm', '4.62.3'), + ('PyTables', '3.6.1'), + ('h5py', '3.6.0'), + ('PyYAML', '5.4.1'), +] + +use_pip = True + +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('argh', '0.26.2', { + 'checksums': ['e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65'], + }), + ('gffutils', '0.11.0', { + 'checksums': ['4593bdf8bda2501b8e0c54cd3366fdaba04b211c86f43c0029e65869d15ec769'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('cytoolz', '0.10.1', { + 'checksums': ['82f5bba81d73a5a6b06f2a3553ff9003d865952fcb32e1df192378dd944d8a5c'], + }), + ('dill', '0.3.5.1', { + 'checksums': ['d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86'], + }), + ('multiprocess', '0.70.13', { + 'checksums': ['2e096dd618a84d15aa369a9cf6695815e5539f853dc8fa4f4b9153b11b1d0b32'], + }), + ('pypairix', '0.3.7', { + 'checksums': ['c1b47c05f92b5be628923c60a27344503ddeba5d8f35a3752d646271d38e0525'], + }), + ('cooler', '0.8.11', { + 'checksums': ['367b58efa87647d31acf45e67d852aaee3273845b6e7507ae644d6a86f7526c5'], + }), + ('HiCMatrix', '15', { + 'checksums': ['74e49e7ef2b1ac555333515b8fda67b3ad49ffbdbc92f9e09c31647cbfac00bd'], + }), + (name, version, { + 'checksums': ['600bb836e78a50408d702140ac68248f8442c54201fe07e780e7b6b3e35e62df'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyGenomeTracks'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyGenomeTracks --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb new file mode 100644 index 00000000000..d64d75e4db0 --- /dev/null +++ b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.8-foss-2022a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'pyGenomeTracks' +version = '3.8' + +homepage = 'https://pygenometracks.readthedocs.io' +description = "pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('bx-python', '0.9.0'), + ('pybedtools', '0.9.0'), + ('pyBigWig', '0.3.18'), + ('pyfaidx', '0.7.1'), + ('Pysam', '0.19.1'), + ('tqdm', '4.64.0'), + ('PyTables', '3.8.0'), + ('h5py', '3.7.0'), + ('PyYAML', '6.0'), + ('cooler', '0.9.1'), + ('HiCMatrix', '17'), +] + +use_pip = True + +exts_list = [ + ('argcomplete', '2.0.0', { + 'checksums': ['6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20'], + }), + ('argh', '0.27.2', { + 'checksums': ['00c9027f6f461bcf24afe599a281bbda5cbd5dee4b6705befbea293a4ca7d221'], + }), + ('gffutils', '0.11.1', { + 'checksums': ['ca7bf814d600b389bb2d5c403dd279755118cb1476c19c6f7aecb8c51a84263c'], + }), + ('pypairix', '0.3.7', { + 'checksums': ['c1b47c05f92b5be628923c60a27344503ddeba5d8f35a3752d646271d38e0525'], + }), + (name, version, { + 'checksums': ['d8c823aaee08d3069b66ca2a443adf4c0f0163a477273b518dddbdf351912386'], + 'preinstallopts': r"sed -i 's/\.\*//g' setup.py && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/pyGenomeTracks'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyGenomeTracks --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.9-foss-2023a.eb b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.9-foss-2023a.eb new file mode 100644 index 00000000000..aa1c8985476 --- /dev/null +++ b/easybuild/easyconfigs/p/pyGenomeTracks/pyGenomeTracks-3.9-foss-2023a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'pyGenomeTracks' +version = '3.9' + +homepage = 'https://pygenometracks.readthedocs.io' +description = "pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('bx-python', '0.10.0'), + ('pybedtools', '0.9.1'), + ('pyBigWig', '0.3.22'), + ('pyfaidx', '0.8.1.1'), + ('Pysam', '0.22.0'), + ('tqdm', '4.66.1'), + ('PyTables', '3.8.0'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('cooler', '0.10.2'), + ('HiCMatrix', '17.2'), +] + +use_pip = True +exts_list = [ + ('argcomplete', '3.4.0', { + 'checksums': ['c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f'], + }), + ('argh', '0.31.2', { + 'checksums': ['db1c34885804f7d4646c385dc2fb19b45298561322f4c15eae1b133993f9e323'], + }), + ('gffutils', '0.13', { + 'checksums': ['b0d52f35c014cc0330fb5c4e3c6fea127c90ccf4c5384a825cdb5c8ff330d4eb'], + }), + ('pypairix', '0.3.7', { + 'checksums': ['c1b47c05f92b5be628923c60a27344503ddeba5d8f35a3752d646271d38e0525'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/deeptools/pyGenomeTracks/archive/refs/tags'], + 'checksums': ['4318cb642422ee16d83675d571f4cd49b14784d7ee135ab53d8946fc7ad663f6'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyGenomeTracks'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyGenomeTracks --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyMBE/pyMBE-0.8.0-foss-2023b.eb b/easybuild/easyconfigs/p/pyMBE/pyMBE-0.8.0-foss-2023b.eb new file mode 100644 index 00000000000..6e676c32455 --- /dev/null +++ b/easybuild/easyconfigs/p/pyMBE/pyMBE-0.8.0-foss-2023b.eb @@ -0,0 +1,67 @@ +easyblock = 'PythonBundle' + +name = 'pyMBE' +version = '0.8.0' + +homepage = '' +description = """pyMBE: the Python-based Molecule Builder for ESPResSo + +pyMBE provides tools to facilitate building up molecules with complex architectures +in the Molecular Dynamics software ESPResSo.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [('hatchling', '1.18.0')] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Pint', '0.24'), + ('tqdm', '4.66.2'), + ('matplotlib', '3.8.2'), + ('ESPResSo', '4.2.2'), +] + +use_pip = True +# pyMBE is not installable and should just be copied to the installation directory +exts_classmap = {'pyMBE': 'Tarball'} + +# pyMBE itself should be the first one in the list, +# otherwise the Tarball easyblock will copy the sources of all extensions to the installation directory +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/pyMBE-dev/pyMBE/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f143ae655b477d6d2ab6d97190a387fa9c7e854502a38c72c24eac48e37ea663'], + }), + ('looseversion', '1.1.2', { + 'checksums': ['94d80bdbd0b6d57c11b886147ba1601f7d1531571621b81933b34537cbe469ad'], + }), + ('mmtf-python', '1.1.3', { + 'modulename': 'mmtf', + 'checksums': ['12a02fe1b7131f0a2b8ce45b46f1e0cdd28b9818fe4499554c26884987ea0c32'], + }), + ('Pint-Pandas', '0.5', { + 'checksums': ['48ec96d457f802a347763dee1d3e1a273f11f90e4e595df17fd44613dd14a61c'], + }), + ('biopandas', '0.5.1.dev0', { + 'checksums': ['6dc9de631babf8221c1ac60230133717039e08911f15e8ac48498c787022de12'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['pyMBE.py'], + 'dirs': ['figs', 'lib', 'maintainer', 'parameters', 'refs', 'samples', 'testsuite', 'tutorials', 'visualization'], +} + +sanity_check_commands = [ + 'python -c "import pyMBE"', + # running the full test suite takes a long time, so just stick to the unit tests + 'cd %(installdir)s && make unit_tests' +] + +modextrapaths = {'PYTHONPATH': ['.']} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyMannKendall/pyMannKendall-1.4.3-foss-2022a.eb b/easybuild/easyconfigs/p/pyMannKendall/pyMannKendall-1.4.3-foss-2022a.eb new file mode 100644 index 00000000000..a49ad264275 --- /dev/null +++ b/easybuild/easyconfigs/p/pyMannKendall/pyMannKendall-1.4.3-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonBundle' + +name = 'pyMannKendall' +version = '1.4.3' + +homepage = 'https://github.com/mmhs013/pymannkendall' +description = """A python package for non parametric Mann Kendall family of trend tests.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +exts_list = [ + ('pymannkendall', version, { + 'checksums': ['f9e3bbbb583b5285d15082aa0007825e5bea4dde9858d2e7ca81ee6f1e378e82'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' 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/pySCENIC/pySCENIC-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-foss-2022a.eb new file mode 100644 index 00000000000..bd24b611c05 --- /dev/null +++ b/easybuild/easyconfigs/p/pySCENIC/pySCENIC-0.12.1-foss-2022a.eb @@ -0,0 +1,71 @@ + +easyblock = 'PythonBundle' + +name = 'pySCENIC' +version = '0.12.1' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('Arrow', '8.0.0'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('networkx', '2.8.4'), + ('dask', '2022.10.0'), + ('aiohttp', '3.8.3'), + ('dill', '0.3.6'), + ('loompy', '3.0.7'), + ('umap-learn', '0.5.3'), +] + +use_pip = True + +exts_list = [ + ('cytoolz', version, { + 'checksums': ['fc33909397481c90de3cec831bfb88d97e220dc91939d996920202f184b4648e'], + }), + ('multiprocessing_on_dill', '3.5.0a4', { + 'checksums': ['d6d50c300ff4bd408bb71eb78725e60231039ee9b3d0d9bb7697b9d0e15045e7'], + }), + ('frozendict', '2.3.8', { + 'checksums': ['5526559eca8f1780a4ee5146896f59afc31435313560208dd394a3a5e537d3ff'], + }), + ('arboreto', '0.1.6', { + # the source on PyPI is missing 'requirements.txt', fetching from github instead + 'source_urls': ['https://github.com/aertslab/arboreto/archive/refs/tags/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['f94c0bc084ca61422e8b74ecdb80585a45b168ac682f18dd3c52c9097ee29caa'], + }), + ('boltons', '23.0.0', { + 'checksums': ['8c50a71829525835ca3c849c7ed2511610c972b4dddfcd41a4a5447222beb4b0'], + }), + ('interlap', '0.2.7', { + 'checksums': ['31e4f30c54b067c4939049f5d8131ae5e2fa682ec71aa56f89c0e5b900806ec9'], + }), + ('ctxcore', '0.2.0', { + 'sources': ['ctxcore-0.2.0-py3-none-any.whl'], + 'checksums': ['b90570377e26280c4861ebad1f4cee2fe598167c5d4bd12c1b713f03c9682627'], + }), + ('pyscenic', version, { + 'checksums': ['ae8fafa707d2578ffe08f9eed85f14a4cd9e1b53d57217420e2e956f0a8ddba2'], + }), +] + +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/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb new file mode 100644 index 00000000000..f4d75a875c3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-foss-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'MakeCp' + +name = 'pyWannier90' +local_commit = '8354e91' +version = '2021-12-07' + +homepage = 'https://github.com/hungpham2017/pyWannier90' +description = "A Wannier90 Python interface for VASP and PySCF" + +toolchain = {'name': 'foss', 'version': '2021a'} + +local_wannier90_version = '3.1.0' + +sources = [ + { + 'source_urls': ['https://github.com/hungpham2017/pyWannier90/archive/'], + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ + }, + { + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'], + 'download_filename': 'v%s.tar.gz' % local_wannier90_version, + 'filename': 'Wannier90-%s.tar.gz' % local_wannier90_version, + }, +] +checksums = [ + {'pyWannier90-2021-12-07.tar.gz': '27233891fe39e0f45914dfa756b28319ebd4c3b5ec2124f4c9d1d3816fc0887e'}, + {'Wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PySCF', '1.7.6'), +] + +local_wannier90_make = 'make -j %(parallel)s F90="$F90" FCOPTS="$FFLAGS -fPIC" LDOPTS="$FFLAGS" ' +local_wannier90_make += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK"' + +prebuildopts = "cd %%(builddir)s/wannier90-%s && touch make.inc && " % local_wannier90_version +prebuildopts += "cp %(builddir)s/pyWannier90-*/src/wannier_lib.F90 src/wannier_lib.F90 && " +prebuildopts += local_wannier90_make + " && " +prebuildopts += local_wannier90_make + " lib && " +prebuildopts += "cd %(builddir)s/pyWannier90-*/src && pwd && " + +buildopts = 'CPP="$CXX" LIBS="-L%%(builddir)s/wannier90-%s $LIBLAPACK -lwannier" ' % local_wannier90_version +# with Intel compilers, use libwannier90_intel as make target +# with GCC compilers, use libwannier90_gf as make target +buildopts += "libwannier90_gf && " +buildopts += """sed -i "s@W90LIB = .*@W90LIB = '%(installdir)s'@g" pywannier90.py""" + +files_to_copy = [ + (['src/pywannier90.py', 'src/libwannier90.*.%s' % SHLIB_EXT], 'lib/python%(pyshortver)s/site-packages'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import libwannier90'", + "python -c 'import pywannier90'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb new file mode 100644 index 00000000000..3a1d4b39c48 --- /dev/null +++ b/easybuild/easyconfigs/p/pyWannier90/pyWannier90-2021-12-07-gomkl-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'MakeCp' + +name = 'pyWannier90' +local_commit = '8354e91' +version = '2021-12-07' + +homepage = 'https://github.com/hungpham2017/pyWannier90' +description = "A Wannier90 Python interface for VASP and PySCF" + +toolchain = {'name': 'gomkl', 'version': '2021a'} + +local_wannier90_version = '3.1.0' + +sources = [ + { + 'source_urls': ['https://github.com/hungpham2017/pyWannier90/archive/'], + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ + }, + { + 'source_urls': ['https://github.com/wannier-developers/wannier90/archive/'], + 'download_filename': 'v%s.tar.gz' % local_wannier90_version, + 'filename': 'Wannier90-%s.tar.gz' % local_wannier90_version, + }, +] +checksums = [ + {'pyWannier90-2021-12-07.tar.gz': '27233891fe39e0f45914dfa756b28319ebd4c3b5ec2124f4c9d1d3816fc0887e'}, + {'Wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [ + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PySCF', '1.7.6'), +] + +local_wannier90_make = 'make -j %(parallel)s F90="$F90" FCOPTS="$FFLAGS -fPIC" LDOPTS="$FFLAGS" ' +local_wannier90_make += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK"' + +prebuildopts = "cd %%(builddir)s/wannier90-%s && touch make.inc && " % local_wannier90_version +prebuildopts += "cp %(builddir)s/pyWannier90-*/src/wannier_lib.F90 src/wannier_lib.F90 && " +prebuildopts += local_wannier90_make + " && " +prebuildopts += local_wannier90_make + " lib && " +prebuildopts += "cd %(builddir)s/pyWannier90-*/src && pwd && " + +buildopts = 'CPP="$CXX" LIBS="-L%%(builddir)s/wannier90-%s $LIBLAPACK -lwannier" ' % local_wannier90_version +# with Intel compilers, use libwannier90_intel as make target +# with GCC compilers, use libwannier90_gf as make target +buildopts += "libwannier90_gf && " +buildopts += """sed -i "s@W90LIB = .*@W90LIB = '%(installdir)s'@g" pywannier90.py""" + +files_to_copy = [ + (['src/pywannier90.py', 'src/libwannier90.*.%s' % SHLIB_EXT], 'lib/python%(pyshortver)s/site-packages'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'import libwannier90'", + "python -c 'import pywannier90'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' 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/pybedtools/pybedtools-0.8.2-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.8.2-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..62c0c429372 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.8.2-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pybedtools' +version = '0.8.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a184a36099458627e7ef52ea88218f7c00dc9c505b4256ece9ede58b1efa8771'] + +dependencies = [ + ('Python', '2.7.18'), + ('BEDTools', '2.30.0'), + ('Pysam', '0.17.0', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.8.2-GCC-11.2.0.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.8.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..cb10d93a635 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.8.2-GCC-11.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pybedtools' +version = '0.8.2' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a184a36099458627e7ef52ea88218f7c00dc9c505b4256ece9ede58b1efa8771'] + +dependencies = [ + ('Python', '3.9.6'), + ('BEDTools', '2.30.0'), + ('Pysam', '0.17.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..4b4c5f40023 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'pybedtools' +version = '0.9.0' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('BEDTools', '2.30.0'), + ('Pysam', '0.19.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://daler.github.io/pybedtools/archive'], + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['9267c92cd764173449d9c31baedac0659b4eccc3d7c05e22ec378f86c0fc30a3'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-12.2.0.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..d7062b3aade --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.0-GCC-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'pybedtools' +version = '0.9.0' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +dependencies = [ + ('Python', '3.10.8'), + ('BEDTools', '2.30.0'), + ('Pysam', '0.21.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['9267c92cd764173449d9c31baedac0659b4eccc3d7c05e22ec378f86c0fc30a3'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb new file mode 100644 index 00000000000..ac4c03a4f64 --- /dev/null +++ b/easybuild/easyconfigs/p/pybedtools/pybedtools-0.9.1-foss-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'pybedtools' +version = '0.9.1' + +homepage = 'https://daler.github.io/pybedtools' +description = "pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('BEDTools', '2.31.0'), + ('Pysam', '0.22.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['586a626895b1b7215aef877e985c03fd8a908fd6c636e5b9ff8a1a1d09a1d514'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..14e409a2101 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11-stubgen/pybind11-stubgen-2.5.1-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2024/04 +easyblock = 'PythonBundle' + +name = 'pybind11-stubgen' +version = '2.5.1' + +homepage = 'https://github.com/sizmailov/pybind11-stubgen' +description = """ +Static analysis tools and IDE usually struggle to understand python binary +extensions. pybind11-stubgen generates stubs for python extensions to make them +less opaque. + +While the CLI tool includes tweaks to target modules compiled specifically with +pybind11 but it should work well with modules built with other libraries. +""" + +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': ['4427a67038a00c5ac1637ffa6c65728c67c5b1251ecc23c7704152be0b14cc0b'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f46106ed058 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +name = 'pybind11' +version = '2.10.3' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'pybind11-2.10.3_fix-nvcc-compat.patch', + 'pybind11-2.10.3_require-catch.patch', +] +checksums = [ + {'v2.10.3.tar.gz': '5d8c4c5dda428d3a944ba3d2a5212cb988c2fae4670d58075a5a49075a6ca315'}, + {'pybind11-2.10.3_fix-nvcc-compat.patch': '510a23dac47b8b440c06c101d269451c95e09907d9034b6b8a16aeb8b89364ae'}, + {'pybind11-2.10.3_require-catch.patch': '4a27ba3ef1d5c535d120d6178a6e876ae678e4899a07500aab37908357b0b60b'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + # Test dependencies + ('Eigen', '3.4.0'), + ('Catch2', '2.13.9'), +] +dependencies = [('Python', '3.10.8')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_fix-nvcc-compat.patch b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_fix-nvcc-compat.patch new file mode 100644 index 00000000000..f6f0d60071f --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_fix-nvcc-compat.patch @@ -0,0 +1,34 @@ +NVCC of CUDA 12 (and seemingly also CUDA 11.7 in some configureations) +fail to parse the expression and fail with +> pybind11/detail/../cast.h: In function ‘typename pybind11::detail::type_caster::type +> ::cast_op_type pybind11::detail::cast_op(make_caster&)’: +> pybind11/detail/../cast.h:45:120: error: expected template-name before ‘<’ token +> 45 | return caster.operator typename make_caster::template cast_op_type(); + +See https://github.com/pybind/pybind11/issues/4606 +Disambiguate the expression to workaround this. + +Author: Alexander Grund (TU Dresden) + +diff --git a/include/pybind11/cast.h b/include/pybind11/cast.h +index 3a404602..1eefd0f1 100644 +--- a/include/pybind11/cast.h ++++ b/include/pybind11/cast.h +@@ -42,13 +42,14 @@ using make_caster = type_caster>; + // Shortcut for calling a caster's `cast_op_type` cast operator for casting a type_caster to a T + template + typename make_caster::template cast_op_type cast_op(make_caster &caster) { +- return caster.operator typename make_caster::template cast_op_type(); ++ using result_t = typename make_caster::template cast_op_type; ++ return caster.operator result_t(); + } + template + typename make_caster::template cast_op_type::type> + cast_op(make_caster &&caster) { +- return std::move(caster).operator typename make_caster:: +- template cast_op_type::type>(); ++ using result_t = typename make_caster::template cast_op_type::type>; ++ return std::move(caster).operator result_t(); + } + + template diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_require-catch.patch b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_require-catch.patch new file mode 100644 index 00000000000..dc0b6c18e77 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3_require-catch.patch @@ -0,0 +1,21 @@ +Error out if Catch2 is not found instead of silently skipping. + +Author: Alexander Grund (TU Dresden) + +diff --git a/tools/FindCatch.cmake b/tools/FindCatch.cmake +index 57bba58b..41f82e5c 100644 +--- a/tools/FindCatch.cmake ++++ b/tools/FindCatch.cmake +@@ -60,9 +60,10 @@ if(NOT CATCH_VERSION OR CATCH_VERSION VERSION_LESS ${Catch_FIND_VERSION}) + if(DOWNLOAD_CATCH) + _download_catch(${Catch_FIND_VERSION} "${PROJECT_BINARY_DIR}/catch/") + _get_catch_version() ++ elseif(CATCH_INCLUDE_DIR) ++ message(FATAL_ERROR "Catch (${CATCH_INCLUDE_DIR}) version to low: ${CATCH_VERSION} < ${Catch_FIND_VERSION}") + else() +- set(CATCH_FOUND FALSE) +- return() ++ message(FATAL_ERROR "Catch not found") + endif() + endif() + diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..489231503eb --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +name = 'pybind11' +version = '2.11.1' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'pybind11-2.10.3_fix-nvcc-compat.patch', + 'pybind11-2.10.3_require-catch.patch', +] +checksums = [ + {'v2.11.1.tar.gz': 'd475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c'}, + {'pybind11-2.10.3_fix-nvcc-compat.patch': '510a23dac47b8b440c06c101d269451c95e09907d9034b6b8a16aeb8b89364ae'}, + {'pybind11-2.10.3_require-catch.patch': '4a27ba3ef1d5c535d120d6178a6e876ae678e4899a07500aab37908357b0b60b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + # Test dependencies + ('Eigen', '3.4.0'), + ('Catch2', '2.13.9'), + ('Python-bundle-PyPI', '2023.06'), # to provide pytest +] +dependencies = [('Python', '3.11.3')] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a7e27c52618 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.11.1-GCCcore-13.2.0.eb @@ -0,0 +1,35 @@ +name = 'pybind11' +version = '2.11.1' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'pybind11-2.10.3_fix-nvcc-compat.patch', + 'pybind11-2.10.3_require-catch.patch', +] +checksums = [ + {'v2.11.1.tar.gz': 'd475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c'}, + {'pybind11-2.10.3_fix-nvcc-compat.patch': '510a23dac47b8b440c06c101d269451c95e09907d9034b6b8a16aeb8b89364ae'}, + {'pybind11-2.10.3_require-catch.patch': '4a27ba3ef1d5c535d120d6178a6e876ae678e4899a07500aab37908357b0b60b'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + # Test dependencies + ('Eigen', '3.4.0'), + ('Catch2', '2.13.9'), + ('Python-bundle-PyPI', '2023.10'), # to provide pytest +] + +dependencies = [ + ('Python', '3.11.5'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-GCC-13.3.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-GCC-13.3.0.eb new file mode 100644 index 00000000000..e4e0460d13e --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.12.0-GCC-13.3.0.eb @@ -0,0 +1,33 @@ +name = 'pybind11' +version = '2.12.0' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'pybind11-2.10.3_require-catch.patch', +] +checksums = [ + {'v2.12.0.tar.gz': 'bf8f242abd1abcd375d516a7067490fb71abd79519a282d22b6e4d19282185a7'}, + {'pybind11-2.10.3_require-catch.patch': '4a27ba3ef1d5c535d120d6178a6e876ae678e4899a07500aab37908357b0b60b'}, +] + +builddependencies = [ + ('CMake', '3.29.3'), + # Test dependencies + ('Eigen', '3.4.0'), + ('Catch2', '2.13.10'), + ('Python-bundle-PyPI', '2024.06'), # to provide pytest +] + +dependencies = [ + ('Boost', '1.85.0'), + ('Python', '3.12.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-foss-2018a-Python-3.6.4.eb index 6bd38d27263..24a72d64d3a 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-foss-2018a-Python-3.6.4.eb @@ -16,7 +16,7 @@ checksums = ['b69e83658513215b8d1443544d0549b7d231b9f201f6fc787a2b2218b408181e'] builddependencies = [ ('CMake', '3.12.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('pytest', '3.8.0', versionsuffix), ] dependencies = [('Python', '3.6.4')] diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-intel-2018b-Python-3.6.6.eb index 65b955a13b7..968a6a89f01 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.2.4-intel-2018b-Python-3.6.6.eb @@ -16,7 +16,7 @@ checksums = ['b69e83658513215b8d1443544d0549b7d231b9f201f6fc787a2b2218b408181e'] builddependencies = [ ('CMake', '3.12.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ('pytest', '3.8.2', versionsuffix), ] dependencies = [('Python', '3.6.6')] diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.4.3-GCCcore-8.3.0-Python-3.7.4.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.4.3-GCCcore-8.3.0-Python-3.7.4.eb index 37a8909ca53..fbdf9a41967 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.4.3-GCCcore-8.3.0-Python-3.7.4.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.4.3-GCCcore-8.3.0-Python-3.7.4.eb @@ -19,7 +19,7 @@ checksums = [ builddependencies = [ ('binutils', '2.32'), ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ] dependencies = [('Python', '3.7.4')] diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb index 60135a6d7f6..9eddf8c8ef2 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0-GCCcore-10.2.0.eb @@ -1,3 +1,7 @@ +# include patch to fix failing test jobs due to additional white space +# see https://github.com/pybind/pybind11/issues/3680 +# Authors: J. Sassmannshausen / Alexander Grund + name = 'pybind11' version = '2.6.0' @@ -9,7 +13,12 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = ['https://github.com/pybind/pybind11/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571'] +patches = ['pybind11-2.6.0_fix-test-extra-whitespace.patch'] +checksums = [ + '90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571', + # pybind11-2.6.0_fix-test-extra-whitespace.patch: + 'f0ff7416d14f9589b5d100ad021e18690cb08cb662df9d0ac21327d04bdb96fc', +] builddependencies = [ ('binutils', '2.35'), diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch new file mode 100644 index 00000000000..5d0bcd18dba --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.0_fix-test-extra-whitespace.patch @@ -0,0 +1,121 @@ +From 1d3b04e805c8a7dd4d8b68e2a311c75a66cae1d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 3 Feb 2022 18:29:46 +0100 +URL: https://github.com/pybind/pybind11/commit/1d3b04e805c8a7dd4d8b68e2a311c75a66cae1d5.patch +Subject: [PATCH] test: Strip whitespace when comparing numpy dtypes for 1.22 + compat (#3682) + +* test: Strip whitespace when comparing numpy dtypes for 1.22 compat + +Strip whitespace when comparing numpy dtype str() in order to preserve +test compatibility with both numpy 1.22 and older versions whose output +differ by whitespace. + +Fixes #3680 + +diff --git a/pybind11-2.6.0.orig/tests/test_numpy_dtypes.py b/pybind11-2.6.0/tests/test_numpy_dtypes.py +index f56b776..228ef63 100644 +--- a/pybind11-2.6.0.orig/tests/test_numpy_dtypes.py ++++ b/pybind11-2.6.0/tests/test_numpy_dtypes.py +@@ -33,8 +33,8 @@ def dt_fmt(): + e = "<" if byteorder == "little" else ">" + return ( + "{{'names':['bool_','uint_','float_','ldbl_']," +- " 'formats':['?','" + e + "u4','" + e + "f4','" + e + "f{}']," +- " 'offsets':[0,4,8,{}], 'itemsize':{}}}" ++ "'formats':['?','" + e + "u4','" + e + "f4','" + e + "f{}']," ++ "'offsets':[0,4,8,{}],'itemsize':{}}}" + ) + + +@@ -47,7 +47,7 @@ def simple_dtype_fmt(): + def packed_dtype_fmt(): + from sys import byteorder + +- return "[('bool_', '?'), ('uint_', '{e}u4'), ('float_', '{e}f4'), ('ldbl_', '{e}f{}')]".format( ++ return "[('bool_','?'),('uint_','{e}u4'),('float_','{e}f4'),('ldbl_','{e}f{}')]".format( + np.dtype("longdouble").itemsize, e="<" if byteorder == "little" else ">" + ) + +@@ -72,7 +72,7 @@ def partial_nested_fmt(): + partial_nested_off = 8 + 8 * (ld.alignment > 8) + partial_ld_off = partial_ld_offset() + partial_nested_size = partial_nested_off * 2 + partial_ld_off + ld.itemsize +- return "{{'names':['a'], 'formats':[{}], 'offsets':[{}], 'itemsize':{}}}".format( ++ return "{{'names':['a'],'formats':[{}],'offsets':[{}],'itemsize':{}}}".format( + partial_dtype_fmt(), partial_nested_off, partial_nested_size + ) + +@@ -116,25 +116,25 @@ def test_dtype(simple_dtype): + + e = "<" if byteorder == "little" else ">" + +- assert m.print_dtypes() == [ ++ assert [x.replace(" ", "") for x in m.print_dtypes()] == [ + simple_dtype_fmt(), + packed_dtype_fmt(), +- "[('a', {}), ('b', {})]".format(simple_dtype_fmt(), packed_dtype_fmt()), ++ "[('a',{}),('b',{})]".format(simple_dtype_fmt(), packed_dtype_fmt()), + partial_dtype_fmt(), + partial_nested_fmt(), +- "[('a', 'S3'), ('b', 'S3')]", ++ "[('a','S3'),('b','S3')]", + ( +- "{{'names':['a','b','c','d'], " +- + "'formats':[('S4', (3,)),('" ++ "{{'names':['a','b','c','d']," ++ + "'formats':[('S4',(3,)),('" + + e +- + "i4', (2,)),('u1', (3,)),('" ++ + "i4',(2,)),('u1',(3,)),('" + + e +- + "f4', (4, 2))], " +- + "'offsets':[0,12,20,24], 'itemsize':56}}" ++ + "f4',(4,2))]," ++ + "'offsets':[0,12,20,24],'itemsize':56}}" + ).format(e=e), +- "[('e1', '" + e + "i8'), ('e2', 'u1')]", +- "[('x', 'i1'), ('y', '" + e + "u8')]", +- "[('cflt', '" + e + "c8'), ('cdbl', '" + e + "c16')]", ++ "[('e1','" + e + "i8'),('e2','u1')]", ++ "[('x','i1'),('y','" + e + "u8')]", ++ "[('cflt','" + e + "c8'),('cdbl','" + e + "c16')]", + ] + + d1 = np.dtype( +@@ -228,7 +228,7 @@ def test_recarray(simple_dtype, packed_dtype): + ] + + arr = m.create_rec_partial(3) +- assert str(arr.dtype) == partial_dtype_fmt() ++ assert str(arr.dtype).replace(" ", "") == partial_dtype_fmt() + partial_dtype = arr.dtype + assert "" not in arr.dtype.fields + assert partial_dtype.itemsize > simple_dtype.itemsize +@@ -236,7 +236,7 @@ def test_recarray(simple_dtype, packed_dtype): + assert_equal(arr, elements, packed_dtype) + + arr = m.create_rec_partial_nested(3) +- assert str(arr.dtype) == partial_nested_fmt() ++ assert str(arr.dtype).replace(" ", "") == partial_nested_fmt() + assert "" not in arr.dtype.fields + assert "" not in arr.dtype.fields["a"][0].fields + assert arr.dtype.itemsize > partial_dtype.itemsize +@@ -275,12 +275,12 @@ def test_array_array(): + e = "<" if byteorder == "little" else ">" + + arr = m.create_array_array(3) +- assert str(arr.dtype) == ( +- "{{'names':['a','b','c','d'], " +- + "'formats':[('S4', (3,)),('" ++ assert str(arr.dtype).replace(" ", "") == ( ++ "{{'names':['a','b','c','d']," ++ + "'formats':[('S4',(3,)),('" + + e +- + "i4', (2,)),('u1', (3,)),('{e}f4', (4, 2))], " +- + "'offsets':[0,12,20,24], 'itemsize':56}}" ++ + "i4',(2,)),('u1',(3,)),('{e}f4',(4,2))]," ++ + "'offsets':[0,12,20,24],'itemsize':56}}" + ).format(e=e) + assert m.print_array_array(arr) == [ + "a={{A,B,C,D},{K,L,M,N},{U,V,W,X}},b={0,1}," diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.2-GCCcore-10.3.0.eb index ad21aadc19b..2c22e302221 100644 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.6.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.6.2-GCCcore-10.3.0.eb @@ -9,7 +9,12 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://github.com/pybind/pybind11/archive/'] sources = ['v%(version)s.tar.gz'] -checksums = ['8ff2fff22df038f5cd02cea8af56622bc67f5b64534f1b83b9f133b8366acff2'] +patches = ['pybind11-2.6.0_fix-test-extra-whitespace.patch'] +checksums = [ + {'v2.6.2.tar.gz': '8ff2fff22df038f5cd02cea8af56622bc67f5b64534f1b83b9f133b8366acff2'}, + {'pybind11-2.6.0_fix-test-extra-whitespace.patch': + 'f0ff7416d14f9589b5d100ad021e18690cb08cb662df9d0ac21327d04bdb96fc'}, +] builddependencies = [ ('binutils', '2.36.1'), diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..e08f29369de --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0-Python-2.7.18.eb @@ -0,0 +1,30 @@ +name = 'pybind11' +version = '2.7.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pybind11-2.6.0_fix-test-extra-whitespace.patch'] +checksums = [ + {'v2.7.1.tar.gz': '616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020'}, + {'pybind11-2.6.0_fix-test-extra-whitespace.patch': + 'f0ff7416d14f9589b5d100ad021e18690cb08cb662df9d0ac21327d04bdb96fc'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Eigen', '3.3.9'), +] + +dependencies = [('Python', '2.7.18')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..29ae717308d --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.7.1-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +name = 'pybind11' +version = '2.7.1' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['pybind11-2.6.0_fix-test-extra-whitespace.patch'] +checksums = [ + {'v2.7.1.tar.gz': '616d1c42e4cf14fa27b2a4ff759d7d7b33006fdc5ad8fd603bb2c22622f27020'}, + {'pybind11-2.6.0_fix-test-extra-whitespace.patch': + 'f0ff7416d14f9589b5d100ad021e18690cb08cb662df9d0ac21327d04bdb96fc'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Eigen', '3.3.9'), +] +dependencies = [('Python', '3.9.6')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.9.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.9.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fb9fa22bd4a --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.9.2-GCCcore-11.3.0.eb @@ -0,0 +1,23 @@ +name = 'pybind11' +version = '2.9.2' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6bd528c4dbe2276635dc787b6b1f2e5316cf6b49ee3e150264e455a0d68d19c1'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Eigen', '3.4.0'), +] +dependencies = [('Python', '3.10.4')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb b/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb new file mode 100644 index 00000000000..bb8a4b217c2 --- /dev/null +++ b/easybuild/easyconfigs/p/pybinding/pybinding-0.9.5-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'pybinding' +version = '0.9.5' + +homepage = 'https://github.com/dean0x7d/pybinding' +description = """Pybinding is a Python package for numerical tight-binding +calculations in solid state physics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['a3b0fd5c7bc6babdd265797698573a2ffe31edc5c4c6c4265262aa6f1005603d'] + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb b/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb new file mode 100644 index 00000000000..efb6a2e0e29 --- /dev/null +++ b/easybuild/easyconfigs/p/pyccel/pyccel-1.7.0-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'pyccel' +version = '1.7.0' + +homepage = 'https://github.com/pyccel/pyccel' +description = "Python extension language using accelerators" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('sympy', '1.10.1'), +] + +use_pip = True + +exts_list = [ + ('textX', '3.0.0', { + 'checksums': ['cd432adb82e348960cecdcabe68dbb916fe6eb2e4cb067c4a4b68b8c9ec51acf'], + }), + ('Arpeggio', '2.0.0', { + 'checksums': ['d6b03839019bb8a68785f9292ee6a36b1954eb84b925b84a6b8a5e1e26d3ed3d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + (name, version, { + 'preinstallopts': "PYTHONPATH=$PWD:$PYTHONPATH ", + 'checksums': ['473212328957514d7ea52e1a57cc3a4402ae2140b0bca34c904b79d52ae81bfb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pycoQC/pycoQC-2.5.2-foss-2021a.eb b/easybuild/easyconfigs/p/pycoQC/pycoQC-2.5.2-foss-2021a.eb new file mode 100644 index 00000000000..8d84121978f --- /dev/null +++ b/easybuild/easyconfigs/p/pycoQC/pycoQC-2.5.2-foss-2021a.eb @@ -0,0 +1,42 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'pycoQC' +version = '2.5.2' + +homepage = 'https://tleonardi.github.io/pycoQC' +description = """PycoQC computes metrics and generates interactive QC plots for + Oxford Nanopore technologies sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8ceba86bb9a08bdf7c329a165d0218ad8b026f6772efa661fcc98750acc2c8ce'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('plotly.py', '5.1.0'), + ('tqdm', '4.61.2'), + ('Pysam', '0.16.0.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': name} + +# Loosen unnecessarily strict version dependency for plotly +preinstallopts = "sed -i 's|plotly==|plotly>=|g' setup.py &&" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in [name, 'Barcode_split', 'Fast5_to_seq_summary']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +sanity_check_commands = ["%(name)s --help", "%(name)s --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb new file mode 100644 index 00000000000..286d7177035 --- /dev/null +++ b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.4-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pycocotools' +version = '2.0.4' + +homepage = 'https://pypi.org/project/pycocotools' +description = "Official APIs for the MS-COCO dataset" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2ab586aa389b9657b6d73c2b9a827a3681f8d00f36490c2e8ab05902e3fd9e93'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.6-foss-2022a.eb b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.6-foss-2022a.eb new file mode 100644 index 00000000000..6791855a959 --- /dev/null +++ b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.6-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pycocotools' +version = '2.0.6' + +homepage = 'https://pypi.org/project/pycocotools' +description = "Official APIs for the MS-COCO dataset" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7fe089b05cc18e806dcf3bd764708d86dab922a100f3734eb77fb77a70a1d18c'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.7-foss-2023a.eb b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.7-foss-2023a.eb new file mode 100644 index 00000000000..666074add24 --- /dev/null +++ b/easybuild/easyconfigs/p/pycocotools/pycocotools-2.0.7-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pycocotools' +version = '2.0.7' + +homepage = 'https://pypi.org/project/pycocotools' +description = "Official APIs for the MS-COCO dataset" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['da8b7815196eebf0adabf67fcc459126cbc6498bbc6ab1fd144c371465d86879'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' 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/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.eb new file mode 100644 index 00000000000..66965820b1d --- /dev/null +++ b/easybuild/easyconfigs/p/pycodestyle/pycodestyle-2.11.1-foss-2023a.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': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f'] + +dependencies = [ + ('Python', '3.11.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pycubescd/pycubescd-20220704-foss-2022a.eb b/easybuild/easyconfigs/p/pycubescd/pycubescd-20220704-foss-2022a.eb new file mode 100644 index 00000000000..319aa9dcc54 --- /dev/null +++ b/easybuild/easyconfigs/p/pycubescd/pycubescd-20220704-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'pycubescd' +version = '20220704' +_commit = 'a254c1a' + +homepage = 'https://github.com/BERTHA-4c-DKS/pycubescd' +description = """Charge-displacement analysis via natural orbitals for chemical +valence in the four-component relativistic framework""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/BERTHA-4c-DKS/pycubescd/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, + }, +] +checksums = ['4747d63eae7d368c89a29f7e1864aa3e7c1a89fffde923154331187022aa7e7f'] +unpack_options = '--strip-components=1' + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +postinstallcmds = [ + 'mv %(installdir)s/PY3 %(installdir)s/bin', + 'mv %(installdir)s/*.sh %(installdir)s/bin/', + 'chmod a+x %(installdir)s/bin/{*.py,*.sh}', + 'rm %(installdir)s/*.py', + 'rm -r %(installdir)s/modules/load_cube.py', +] + +fix_python_shebang_for = ['bin/*.py'] + +_bins = ['pycd.py', 'pycd_simple.py', 'pybader.py', 'pycdfrags.py', 'pycdexct.py', 'pyct.py', 'pydens_iso.py', + 'py_spherical.py', 'pyadd_cube.py', 'pysub_cube.py', 'py_central.py', 'py_sphere.py'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in _bins], + 'dirs': ['modules', 'Tools', 'test'], +} + +sanity_check_commands = [ + 'pycd.py --help', + 'pycd_simple.py --help', + 'py_central.py --help', +] + +modextrapaths = { + 'PYTHONPATH': 'modules', +} + +moduleclass = 'chem' 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-1.10.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..da47b586bf1 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.2-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.2' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('typing_extensions', '4.3.0', { + 'checksums': ['e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6'], + }), + (name, version, { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..796120e325e --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-1.10.4-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pydantic' +version = '1.10.4' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = """Data validation and settings management using Python type hinting.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + (name, version, { + 'checksums': ['b9a3859f24eb4e097502a3be1fb4b2abb79b6103dd9e2e0edb70613a4459a648'], + }), +] + +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/pydantic/pydantic-2.7.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.7.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..efc3388a073 --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.7.4-GCCcore-13.2.0.eb @@ -0,0 +1,126 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.7.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.10'), + ('aho-corasick', '1.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.21.7'), + ('bitflags', '1.3.2'), + ('bitvec', '1.0.1'), + ('cc', '1.0.79'), + ('cfg-if', '1.0.0'), + ('enum_dispatch', '0.3.13'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.1'), + ('funty', '2.0.0'), + ('getrandom', '0.2.10'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('idna', '0.5.0'), + ('indexmap', '2.2.2'), + ('indoc', '2.0.4'), + ('itoa', '1.0.8'), + ('jiter', '0.4.1'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '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'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.76'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('python3-dll-a', '0.2.9'), + ('quote', '1.0.35'), + ('radium', '0.7.0'), + ('redox_syscall', '0.3.5'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.5'), + ('regex-syntax', '0.8.2'), + ('rustversion', '1.0.13'), + ('ryu', '1.0.14'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.203'), + ('serde_derive', '1.0.203'), + ('serde_json', '1.0.116'), + ('smallvec', '1.13.2'), + ('speedate', '0.14.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.25.0'), + ('strum_macros', '0.25.3'), + ('strum_macros', '0.26.1'), + ('syn', '2.0.48'), + ('tap', '1.0.1'), + ('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.8.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'), + ('wyz', '0.5.1'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +exts_list = [ + ('annotated_types', '0.6.0', { + 'checksums': ['563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d'], + }), + ('pydantic_core', '2.18.4', { + 'checksums': ['ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydantic/pydantic-2.9.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pydantic/pydantic-2.9.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a6cda3881ae --- /dev/null +++ b/easybuild/easyconfigs/p/pydantic/pydantic-2.9.1-GCCcore-13.3.0.eb @@ -0,0 +1,235 @@ +easyblock = 'CargoPythonBundle' + +name = 'pydantic' +version = '2.9.1' + +homepage = 'https://github.com/samuelcolvin/pydantic' +description = "Data validation and settings management using Python type hinting." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('Rust', '1.78.0'), + ('maturin', '1.6.0'), + ('hatchling', '1.24.2'), +] +dependencies = [ + ('Python', '3.12.3'), + ('typing-extensions', '4.11.0'), +] + +sanity_pip_check = True +use_pip = True +crates = [ + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.3'), + ('autocfg', '1.3.0'), + ('base64', '0.22.1'), + ('bitvec', '1.0.1'), + ('cc', '1.0.101'), + ('cfg-if', '1.0.0'), + ('displaydoc', '0.2.5'), + ('enum_dispatch', '0.3.13'), + ('equivalent', '1.0.1'), + ('form_urlencoded', '1.2.1'), + ('funty', '2.0.0'), + ('getrandom', '0.2.15'), + ('hashbrown', '0.14.5'), + ('heck', '0.5.0'), + ('hex', '0.4.3'), + ('icu_collections', '1.5.0'), + ('icu_locid', '1.5.0'), + ('icu_locid_transform', '1.5.0'), + ('icu_locid_transform_data', '1.5.0'), + ('icu_normalizer', '1.5.0'), + ('icu_normalizer_data', '1.5.0'), + ('icu_properties', '1.5.1'), + ('icu_properties_data', '1.5.0'), + ('icu_provider', '1.5.0'), + ('icu_provider_macros', '1.5.0'), + ('idna', '0.5.0'), + ('idna', '1.0.2'), + ('indexmap', '2.2.6'), + ('indoc', '2.0.5'), + ('itoa', '1.0.11'), + ('jiter', '0.5.0'), + ('lexical-parse-float', '0.8.5'), + ('lexical-parse-integer', '0.8.6'), + ('lexical-util', '0.8.5'), + ('libc', '0.2.155'), + ('litemap', '0.7.3'), + ('memchr', '2.7.4'), + ('memoffset', '0.9.1'), + ('num-bigint', '0.4.6'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('once_cell', '1.19.0'), + ('percent-encoding', '2.3.1'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.86'), + ('pyo3', '0.22.2'), + ('pyo3-build-config', '0.22.2'), + ('pyo3-ffi', '0.22.2'), + ('pyo3-macros', '0.22.2'), + ('pyo3-macros-backend', '0.22.2'), + ('python3-dll-a', '0.2.10'), + ('quote', '1.0.36'), + ('radium', '0.7.0'), + ('regex', '1.10.6'), + ('regex-automata', '0.4.7'), + ('regex-syntax', '0.8.4'), + ('rustversion', '1.0.17'), + ('ryu', '1.0.18'), + ('serde', '1.0.209'), + ('serde_derive', '1.0.209'), + ('serde_json', '1.0.128'), + ('smallvec', '1.13.2'), + ('speedate', '0.14.4'), + ('stable_deref_trait', '1.2.0'), + ('static_assertions', '1.1.0'), + ('strum', '0.26.3'), + ('strum_macros', '0.26.4'), + ('syn', '2.0.68'), + ('synstructure', '0.13.1'), + ('tap', '1.0.1'), + ('target-lexicon', '0.12.14'), + ('tinystr', '0.7.6'), + ('tinyvec', '1.6.1'), + ('tinyvec_macros', '0.1.1'), + ('unicode-bidi', '0.3.15'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.23'), + ('unindent', '0.2.3'), + ('url', '2.5.2'), + ('utf16_iter', '1.0.5'), + ('utf8_iter', '1.0.4'), + ('uuid', '1.10.0'), + ('version_check', '0.9.5'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('write16', '1.0.0'), + ('writeable', '0.5.5'), + ('wyz', '0.5.1'), + ('yoke', '0.7.4'), + ('yoke-derive', '0.7.4'), + ('zerocopy', '0.7.34'), + ('zerocopy-derive', '0.7.34'), + ('zerofrom', '0.1.4'), + ('zerofrom-derive', '0.1.4'), + ('zerovec', '0.10.4'), + ('zerovec-derive', '0.10.3'), +] + +checksums = [ + ({'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}), + ({'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}), + ({'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}), + ({'base64-0.22.1.tar.gz': '72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6'}), + ({'bitvec-1.0.1.tar.gz': '1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c'}), + ({'cc-1.0.101.tar.gz': 'ac367972e516d45567c7eafc73d24e1c193dcf200a8d94e9db7b3d38b349572d'}), + ({'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}), + ({'displaydoc-0.2.5.tar.gz': '97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0'}), + ({'enum_dispatch-0.3.13.tar.gz': 'aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd'}), + ({'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}), + ({'form_urlencoded-1.2.1.tar.gz': 'e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456'}), + ({'funty-2.0.0.tar.gz': 'e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c'}), + ({'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}), + ({'hashbrown-0.14.5.tar.gz': 'e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1'}), + ({'heck-0.5.0.tar.gz': '2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea'}), + ({'hex-0.4.3.tar.gz': '7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70'}), + ({'icu_collections-1.5.0.tar.gz': 'db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526'}), + ({'icu_locid-1.5.0.tar.gz': '13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637'}), + ({'icu_locid_transform-1.5.0.tar.gz': '01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e'}), + ({'icu_locid_transform_data-1.5.0.tar.gz': 'fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e'}), + ({'icu_normalizer-1.5.0.tar.gz': '19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f'}), + ({'icu_normalizer_data-1.5.0.tar.gz': 'f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516'}), + ({'icu_properties-1.5.1.tar.gz': '93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5'}), + ({'icu_properties_data-1.5.0.tar.gz': '67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569'}), + ({'icu_provider-1.5.0.tar.gz': '6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9'}), + ({'icu_provider_macros-1.5.0.tar.gz': '1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6'}), + ({'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}), + ({'idna-1.0.2.tar.gz': 'bd69211b9b519e98303c015e21a007e293db403b6c85b9b124e133d25e242cdd'}), + ({'indexmap-2.2.6.tar.gz': '168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'}), + ({'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}), + ({'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}), + ({'jiter-0.5.0.tar.gz': '02e23549143ef50eddffd46ba8cd0229b0a4500aef7518cf2eb0f41c9a09d22b'}), + ({'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'}), + ({'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}), + ({'litemap-0.7.3.tar.gz': '643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704'}), + ({'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}), + ({'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}), + ({'num-bigint-0.4.6.tar.gz': 'a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9'}), + ({'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}), + ({'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}), + ({'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}), + ({'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}), + ({'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}), + ({'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'}), + ({'pyo3-0.22.2.tar.gz': '831e8e819a138c36e212f3af3fd9eeffed6bf1510a805af35b0edee5ffa59433'}), + ({'pyo3-build-config-0.22.2.tar.gz': '1e8730e591b14492a8945cdff32f089250b05f5accecf74aeddf9e8272ce1fa8'}), + ({'pyo3-ffi-0.22.2.tar.gz': '5e97e919d2df92eb88ca80a037969f44e5e70356559654962cbb3316d00300c6'}), + ({'pyo3-macros-0.22.2.tar.gz': 'eb57983022ad41f9e683a599f2fd13c3664d7063a3ac5714cae4b7bee7d3f206'}), + ({'pyo3-macros-backend-0.22.2.tar.gz': 'ec480c0c51ddec81019531705acac51bcdbeae563557c982aa8263bb96880372'}), + ({'python3-dll-a-0.2.10.tar.gz': 'bd0b78171a90d808b319acfad166c4790d9e9759bbc14ac8273fe133673dd41b'}), + ({'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}), + ({'radium-0.7.0.tar.gz': 'dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09'}), + ({'regex-1.10.6.tar.gz': '4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619'}), + ({'regex-automata-0.4.7.tar.gz': '38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df'}), + ({'regex-syntax-0.8.4.tar.gz': '7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b'}), + ({'rustversion-1.0.17.tar.gz': '955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6'}), + ({'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}), + ({'serde-1.0.209.tar.gz': '99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09'}), + ({'serde_derive-1.0.209.tar.gz': 'a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170'}), + ({'serde_json-1.0.128.tar.gz': '6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8'}), + ({'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}), + ({'speedate-0.14.4.tar.gz': '08a20480dbd4c693f0b0f3210f2cee5bfa21a176c1fa4df0e65cc0474e7fa557'}), + ({'stable_deref_trait-1.2.0.tar.gz': 'a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3'}), + ({'static_assertions-1.1.0.tar.gz': 'a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f'}), + ({'strum-0.26.3.tar.gz': '8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06'}), + ({'strum_macros-0.26.4.tar.gz': '4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be'}), + ({'syn-2.0.68.tar.gz': '901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9'}), + ({'synstructure-0.13.1.tar.gz': 'c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971'}), + ({'tap-1.0.1.tar.gz': '55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369'}), + ({'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}), + ({'tinystr-0.7.6.tar.gz': '9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f'}), + ({'tinyvec-1.6.1.tar.gz': 'c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82'}), + ({'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}), + ({'unicode-bidi-0.3.15.tar.gz': '08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75'}), + ({'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}), + ({'unicode-normalization-0.1.23.tar.gz': 'a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5'}), + ({'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}), + ({'url-2.5.2.tar.gz': '22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c'}), + ({'utf16_iter-1.0.5.tar.gz': 'c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246'}), + ({'utf8_iter-1.0.4.tar.gz': 'b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be'}), + ({'uuid-1.10.0.tar.gz': '81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314'}), + ({'version_check-0.9.5.tar.gz': '0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a'}), + ({'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}), + ({'write16-1.0.0.tar.gz': 'd1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936'}), + ({'writeable-0.5.5.tar.gz': '1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51'}), + ({'wyz-0.5.1.tar.gz': '05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed'}), + ({'yoke-0.7.4.tar.gz': '6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5'}), + ({'yoke-derive-0.7.4.tar.gz': '28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95'}), + ({'zerocopy-0.7.34.tar.gz': 'ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087'}), + ({'zerocopy-derive-0.7.34.tar.gz': '15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b'}), + ({'zerofrom-0.1.4.tar.gz': '91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55'}), + ({'zerofrom-derive-0.1.4.tar.gz': '0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5'}), + ({'zerovec-0.10.4.tar.gz': 'aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079'}), + ({'zerovec-derive-0.10.3.tar.gz': '6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6'}), +] + +exts_list = [ + ('annotated_types', '0.7.0', { + 'checksums': ['aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89'], + }), + ('pydantic_core', '2.23.3', { + 'checksums': ['3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690'], + }), + (name, version, { + 'preinstallopts': "sed -i '/Framework :: Pydantic/d' pyproject.toml && ", + 'checksums': ['1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2'], + }), +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1-foss-2022a.eb b/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1-foss-2022a.eb new file mode 100644 index 00000000000..6d9a6cd4b45 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'pydicom-seg' +version = '0.4.1' + +homepage = 'https://github.com/razorx89/pydicom-seg' +description = """Reading and writing of DICOM-SEG medical image segmentation storage files + using pydicom as DICOM serialization/deserialization library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SimpleITK', '2.1.1.2'), + ('pydicom', '2.3.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['pydicom-seg-0.4.1_dep-fix.patch'], + 'checksums': [ + 'ec6bbd961d44b2fb347a9aa313d6b66c5aa8db9d002d28a58fa549ff48a431fb', # pydicom-seg-0.4.1.tar.gz + '71d312e66894e9f7eebca690bfa129bfcd9cfb9ddac974657fafbe34a08d4524', # pydicom-seg-0.4.1_dep-fix.patch + ], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1_dep-fix.patch b/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1_dep-fix.patch new file mode 100644 index 00000000000..3e793f96d7c --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom-seg/pydicom-seg-0.4.1_dep-fix.patch @@ -0,0 +1,38 @@ +Python 3.10.4 for GCCcore-11.3.0 uses jsonschema 4.4.0 +Author: Petr Král (INUITS) +diff -u pydicom-seg-0.4.1/pyproject.toml.orig pydicom-seg-0.4.1/pyproject.toml +--- pydicom-seg-0.4.1/pyproject.toml.orig 2023-02-16 11:32:28.351423500 +0100 ++++ pydicom-seg-0.4.1/pyproject.toml 2023-06-23 12:08:00.072754917 +0200 +@@ -18,7 +18,7 @@ + pydicom = ">=1.4.2" + SimpleITK = ">1.2.4" + numpy = "^1.18.0" +-jsonschema = "^3.2.0" ++jsonschema = ">=3.2.0" + + [tool.poetry.dev-dependencies] + pytest = "^5.3.2" +diff -u pydicom-seg-0.4.1/setup.py.orig pydicom-seg-0.4.1/setup.py +--- pydicom-seg-0.4.1/setup.py.orig 2023-02-16 11:34:18.241670100 +0100 ++++ pydicom-seg-0.4.1/setup.py 2023-06-23 12:08:22.012960453 +0200 +@@ -9,7 +9,7 @@ + + install_requires = \ + ['SimpleITK>1.2.4', +- 'jsonschema>=3.2.0,<4.0.0', ++ 'jsonschema>=3.2.0', + 'numpy>=1.18.0,<2.0.0', + 'pydicom>=1.4.2'] + +diff -u pydicom-seg-0.4.1/PKG-INFO.orig pydicom-seg-0.4.1/PKG-INFO +--- pydicom-seg-0.4.1/PKG-INFO.orig 2023-02-16 11:34:18.242097400 +0100 ++++ pydicom-seg-0.4.1/PKG-INFO 2023-06-23 12:08:38.909784959 +0200 +@@ -14,7 +14,7 @@ + Classifier: Programming Language :: Python :: 3.8 + Classifier: Programming Language :: Python :: 3.9 + Requires-Dist: SimpleITK (>1.2.4) +-Requires-Dist: jsonschema (>=3.2.0,<4.0.0) ++Requires-Dist: jsonschema (>=3.2.0) + Requires-Dist: numpy (>=1.18.0,<2.0.0) + Requires-Dist: pydicom (>=1.4.2) + Description-Content-Type: text/markdown diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..d9d87eb3ea3 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.2.2' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d827669486414b6b6688ecf4d220065e754fabc1b0d016329fced2da4192555d'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ca86fd03b78 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.2.2' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d827669486414b6b6688ecf4d220065e754fabc1b0d016329fced2da4192555d'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('Python', '3.9.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a92eebf56b9 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'pydicom' +version = '2.3.0' + +homepage = 'https://pydicom.github.io/' +description = "Pure python package for DICOM medical file reading and writing." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['e50dfa6bc44516816248c750a93b07fa577b867433bd8bf4fd3319a4a19259a5'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a1071f66e07 --- /dev/null +++ b/easybuild/easyconfigs/p/pydicom/pydicom-2.4.4-GCCcore-12.2.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.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['42c06ed74331174111dd42c89db774a13fc472abe18015f22c5aba80cddb7843'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'vis' 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-1.4.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c4587a7bc28 --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-10.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pydot' +version = '1.4.2' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('Graphviz', '2.47.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c0f68a2a026 --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'pydot' +version = '1.4.2' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('Graphviz', '2.50.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2f7e3d2bd9b --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-1.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'pydot' +version = '1.4.2' + +homepage = 'https://github.com/pydot/pydot' +description = "Python interface to Graphviz's Dot language." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d39e368e0cd --- /dev/null +++ b/easybuild/easyconfigs/p/pydot/pydot-2.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +# 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.2.0'} + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +exts_list = [ + (name, version, { + 'checksums': ['60246af215123fa062f21cd791be67dda23a6f280df09f68919e637a1e4f3235'], + }), +] + +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.6.3.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.6.3.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..149a6028516 --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.6.3.1-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.6.3.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['93adf036a75e08dc9b1dcd59de6a4db2f65a48c603edabe2e499764b6535ed50'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a2af09931ca --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.7.0' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9ad5cc9381f0de9c43d4bdec0faf106b828cdfb6f8150ec71cab2ca7c8bee770'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6881ae5ea0c --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.7.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3977632b7fd29049f8b11035d7e9dea0e2c5da9c235f982b4c3fae06ff1fa23f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.2.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.2.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a236fced155 --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.7.2.1-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.7.2.1' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['30f0d20a9e3d53353fb20eb69b7e22e6f01a53ed4f21b3e17dd408f0be5051a0'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' 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/pyfaidx/pyfaidx-0.8.1.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..f54906c30b3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyfaidx/pyfaidx-0.8.1.2-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'pyfaidx' +version = '0.8.1.2' + +homepage = 'https://pypi.python.org/pypi/pyfaidx' +description = "pyfaidx: efficient pythonic random access to fasta subsequences" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d8452470455b1e778f93969447db8ea24deb4624c7c40769516459cb6f87bc33'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/faidx'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["faidx --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyfasta/pyfasta-0.5.2-foss-2023a.eb b/easybuild/easyconfigs/p/pyfasta/pyfasta-0.5.2-foss-2023a.eb new file mode 100644 index 00000000000..127a798d38a --- /dev/null +++ b/easybuild/easyconfigs/p/pyfasta/pyfasta-0.5.2-foss-2023a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'pyfasta' +version = '0.5.2' + +homepage = 'https://pypi.org/project/pyfasta/' +description = """fast, memory-efficient, pythonic (and command-line) access to fasta sequence files""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True + +local_preinstallopts = ( + "sed -i" + " -e 's/from fasta/from pyfasta.fasta/'" + " -e 's/from records/from pyfasta.records/'" + " -e 's/from split_fasta/from pyfasta.split_fasta/'" + " %(name)s/__init__.py && " +) +local_preinstallopts += "sed -i 's/from collections/from collections.abc/' pyfasta/fasta.py && " +local_preinstallopts += "sed -i 's/from records/from pyfasta.records/' pyfasta/fasta.py && " +local_preinstallopts += "sed -i 's/import cPickle/import _pickle as cPickle/' pyfasta/records.py && " +local_preinstallopts += "sed -i 's/from cStringIO import StringIO/from io import StringIO/' pyfasta/split_fasta.py && " + +exts_list = [ + (name, version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['ab08d75fa90253bc91933d10567d5d9cca2718f4796ef3bdc36b68df0e45b258'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyfasta'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = ['pyfasta extract --help'] +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pygame/pygame-2.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pygame/pygame-2.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8289fdb8c6b --- /dev/null +++ b/easybuild/easyconfigs/p/pygame/pygame-2.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'pygame' +version = '2.1.0' + +homepage = 'https://www.pygame.org' +description = """ +Pygame is a set of Python modules designed for writing video games. Pygame adds +functionality on top of the excellent SDL library. This allows you to create +fully featured games and multimedia programs in the python language. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SDL2_image', '2.6.3'), + ('SDL2_mixer', '2.6.3'), + ('SDL2_ttf', '2.20.2'), + ('PortMidi', '2.0.4'), + ('libpng', '1.6.37'), +] + +use_pip = True + +_pygame_extra_base = ':'.join([ + '$EBROOTSDL2_IMAGE', + '$EBROOTSDL2_MIXER', + '$EBROOTSDL2_TTF', + '$EBROOTLIBJPEGMINTURBO', + '$EBROOTLIBPNG', + '$EBROOTPORTMIDI', +]) + +exts_list = [ + ('pygame', '2.1.0', { + 'preinstallopts': 'PORTMIDI_INC_PORTTIME=1 PYGAME_EXTRA_BASE="%s"' % _pygame_extra_base, + 'checksums': ['232e51104db0e573221660d172af8e6fc2c0fda183c5dbf2aa52170f29aa9ec9'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..d6cedcabd90 --- /dev/null +++ b/easybuild/easyconfigs/p/pygame/pygame-2.5.2-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'pygame' +version = '2.5.2' + +homepage = 'https://www.pygame.org' +description = """ +Pygame is a set of Python modules designed for writing video games. Pygame adds +functionality on top of the excellent SDL library. This allows you to create +fully featured games and multimedia programs in the python language. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SDL2_image', '2.8.2'), + ('SDL2_mixer', '2.8.0'), + ('SDL2_ttf', '2.22.0'), + ('PortMidi', '2.0.4'), + ('libpng', '1.6.39'), +] + +use_pip = True + +_pygame_extra_base = ':'.join([ + '$EBROOTSDL2_IMAGE', + '$EBROOTSDL2_MIXER', + '$EBROOTSDL2_TTF', + '$EBROOTLIBJPEGMINTURBO', + '$EBROOTLIBPNG', + '$EBROOTPORTMIDI', +]) + +exts_list = [ + (name, version, { + 'preinstallopts': 'PORTMIDI_INC_PORTTIME=1 PYGAME_EXTRA_BASE="%s"' % _pygame_extra_base, + 'checksums': ['c1b89eb5d539e7ac5cf75513125fb5f2f0a2d918b1fd6e981f23bf0ac1b1c24a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.16.1-foss-2020b.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.16.1-foss-2020b.eb index 9b5c672dad3..8e5e9cc5010 100644 --- a/easybuild/easyconfigs/p/pygmo/pygmo-2.16.1-foss-2020b.eb +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.16.1-foss-2020b.eb @@ -46,6 +46,11 @@ exts_list = [ }), ] +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + sanity_pip_check = True moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021a.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021a.eb new file mode 100644 index 00000000000..ef02c9437a7 --- /dev/null +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021a.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakePythonPackage' + +name = 'pygmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pygmo2' +description = "pygmo is a scientific Python library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Boost', '1.76.0'), + ('pagmo', '2.18.0'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), +] + +# make sure that all files are installed in the correct location (-DCMAKE_INSTALL_PREFIX is not enough)... +configopts = "-DPYGMO_INSTALL_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" + +runtest = False + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('dill', '0.3.4', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021b.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021b.eb new file mode 100644 index 00000000000..16518cab2ff --- /dev/null +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakePythonPackage' + +name = 'pygmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pygmo2' +description = "pygmo is a scientific Python library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('pybind11', '2.7.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Boost', '1.77.0'), + ('pagmo', '2.18.0'), + ('matplotlib', '3.4.3'), + ('networkx', '2.6.3'), +] + +# make sure that all files are installed in the correct location (-DCMAKE_INSTALL_PREFIX is not enough)... +configopts = "-DPYGMO_INSTALL_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" + +runtest = False + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('cloudpickle', '2.0.0', { + 'checksums': ['5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4'], + }), + ('dill', '0.3.4', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2022a.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2022a.eb new file mode 100644 index 00000000000..235eb433fa9 --- /dev/null +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.18.0-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakePythonPackage' + +name = 'pygmo' +version = '2.18.0' + +homepage = 'https://esa.github.io/pygmo2' +description = "pygmo is a scientific Python library for massively parallel optimization." + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9f081cc973297894af09f713f889870ac452bfb32b471f9f7ba08a5e0bb9a125'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('pagmo', '2.18.0'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('dill', '0.3.6'), +] + +# make sure that all files are installed in the correct location (-DCMAKE_INSTALL_PREFIX is not enough)... +configopts = "-DPYGMO_INSTALL_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" + +runtest = False + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb new file mode 100644 index 00000000000..20109f00554 --- /dev/null +++ b/easybuild/easyconfigs/p/pygmo/pygmo-2.19.5-gfbf-2022b.eb @@ -0,0 +1,58 @@ +easyblock = 'CMakePythonPackage' + +name = 'pygmo' +version = '2.19.5' + +homepage = 'https://esa.github.io/pygmo2' +description = "pygmo is a scientific Python library for massively parallel optimization." + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +source_urls = ['https://github.com/esa/pygmo2/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['742ff0c3d535cb2af94d5095968d8f29c23ed7bdbd4ddd8259ca787eef881aa2'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('Boost', '1.81.0'), + ('pagmo', '2.19.0'), + ('matplotlib', '3.7.0'), + ('networkx', '3.0'), +] + +# make sure that all files are installed in the correct location (-DCMAKE_INSTALL_PREFIX is not enough)... +configopts = "-DPYGMO_INSTALL_PATH=%(installdir)s/lib/python%(pyshortver)s/site-packages" + +runtest = False + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/pygmo'], +} + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b87232bf398 --- /dev/null +++ b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.10-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'pygraphviz' +version = '1.10' + +homepage = 'https://pygraphviz.github.io/' +description = """PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. +With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz +graph data structure and layout algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['%(namelower)s-%(version)s.zip'], + 'checksums': ['457e093a888128903251a266a8cc16b4ba93f3f6334b3ebfed92c7471a74d867'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.11-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.11-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..152d35266b7 --- /dev/null +++ b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.11-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'pygraphviz' +version = '1.11' + +homepage = 'https://pygraphviz.github.io' +description = """PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. +With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz +graph data structure and layout algorithms.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Graphviz', '8.1.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'sources': ['%(namelower)s-%(version)s.zip'], + 'checksums': ['a97eb5ced266f45053ebb1f2c6c6d29091690503e3a5c14be7f908b37b06f2d4'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2020b.eb b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2020b.eb new file mode 100644 index 00000000000..d42c422ae7a --- /dev/null +++ b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pygraphviz' +version = '1.7' + +homepage = 'https://pygraphviz.github.io/' +description = """PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. +With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz +graph data structure and layout algorithms.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_ZIP] +checksums = ['a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304'] + +dependencies = [ + ('Python', '3.8.6'), + ('Graphviz', '2.47.0', '-Java-11'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2021a.eb b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2021a.eb new file mode 100644 index 00000000000..e5f0bc1eece --- /dev/null +++ b/easybuild/easyconfigs/p/pygraphviz/pygraphviz-1.7-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pygraphviz' +version = '1.7' + +homepage = 'https://pygraphviz.github.io/' +description = """PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. +With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz +graph data structure and layout algorithms.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_ZIP] +checksums = ['a7bec6609f37cf1e64898c59f075afd659106cf9356c5f387cecaa2e0cdb2304'] + +dependencies = [ + ('Python', '3.9.5'), + ('Graphviz', '2.47.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.3.0-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.3.0-intel-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..7e7975cedd3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.3.0-intel-2020a-Python-3.8.2.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'pyiron' +version = '0.3.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/pyiron/pyiron' +description = "An integrated development environment (IDE) for computational materials science." + +toolchain = {'name': 'intel', 'version': '2020a'} + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('matplotlib', '3.2.1', versionsuffix), + ('h5py', '2.10.0', versionsuffix), + ('PyYAML', '5.3'), + ('phonopy', '2.7.1', versionsuffix), + ('spglib-python', '1.16.0', versionsuffix), + ('ASE', '3.20.1', versionsuffix), + ('numexpr', '2.7.1', versionsuffix), + ('PyTables', '3.6.1', versionsuffix), + ('nglview', '2.7.7', versionsuffix), + ('tqdm', '4.47.0'), + ('molmod', '1.4.5', versionsuffix), + ('scikit-learn', '0.23.1', versionsuffix), + ('yaff', '1.6.0', versionsuffix), + ('TAMkin', '1.2.6', versionsuffix), + ('QuickFF', '2.2.4', versionsuffix), +] + +check_ldshared = True +use_pip = True + +exts_list = [ + ('h5io', '0.1.2', { + 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], + }), + ('defusedxml', '0.6.0', { + 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], + }), + ('pysqa', '0.0.11', { + 'checksums': ['b1a1995ac8b83b86046cef8b72cda962c5fdbf480c6dbba906a467a5dd1d3c81'], + }), + ('SQLAlchemy', '1.3.19', { + 'checksums': ['3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e'], + }), + ('dill', '0.3.2', { + 'source_tmpl': 'dill-%(version)s.zip', + 'checksums': ['6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e'], + }), + ('smmap', '3.0.4', { + 'checksums': ['9c98bbd1f9786d22f14b3d4126894d56befb835ec90cef151af566c7e19b5d24'], + }), + ('gitdb', '4.0.5', { + 'checksums': ['c9e1f2d0db7ddb9a704c2a0217be31214e91a4fe1dea1efad19ae42ba0c285c9'], + }), + ('GitPython', '3.1.8', { + 'checksums': ['080bf8e2cf1a2b907634761c2eaefbe83b69930c94c66ad11b65a8252959f912'], + 'modulename': 'git', + }), + ('colorama', '0.4.3', { + 'checksums': ['e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1'], + }), + ('pyfiglet', '0.8.post1', { + 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], + }), + ('mendeleev', '0.6.0', { + 'checksums': ['944d185e81f158e48dd394b011e6c14acb612c2ffbc3c32c4aa490cd5b4f65dd'], + }), + ('pyfileindex', '0.0.4', { + 'checksums': ['bbfbfc9372f810587917ab1a88bebb8de44d32a1210bbd436c5b88447d97dfd2'], + }), + ('seekpath', '2.0.1', { + 'checksums': ['188513ee187fbbace49066a29ecea9bbd351f23da3bea33d507d0f590856b082'], + }), + (name, version, { + 'checksums': ['6d49899c2dbec4b80299c227b04dceb9211a668c49e9d80a621448b69bb2ac65'], + # import pyiron triggers interactive configuration setup, so we disable it + 'modulename': False, + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..79469b4b140 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -0,0 +1,114 @@ +easyblock = 'PythonBundle' + +name = 'pyiron' +version = '0.5.1' + +homepage = 'https://github.com/pyiron/pyiron' +description = "An integrated development environment (IDE) for computational materials science." + + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('phonopy', '2.20.0'), + ('ASE', '3.22.1'), + ('PyTables', '3.8.0'), + ('nglview', '3.1.2'), + ('tqdm', '4.66.1'), + ('molmod', '1.4.8'), + ('scikit-learn', '1.3.1'), + ('yaff', '1.6.0'), + ('TAMkin', '1.2.6'), + ('QuickFF', '2.2.7'), + ('plotly.py', '5.16.0'), + ('GitPython', '3.1.40'), + ('dill', '0.3.7'), + ('sympy', '1.12'), + ('pymatgen', '2023.12.18'), + ('Pint', '0.23'), + ('SQLAlchemy', '2.0.25'), +] + +check_ldshared = True +use_pip = True + +exts_list = [ + ('h5io', '0.1.2', { + 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], + }), + ('defusedxml', '0.6.0', { + 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], + }), + ('pysqa', '0.1.7', { + 'checksums': ['fdc37e0178649750e7386b4e9b8287693ee2d47559723c11b9ad42afcfc55900'], + }), + ('pyfiglet', '0.8.post1', { + 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], + }), + ('mendeleev', '0.14.0', { + 'checksums': ['1a89ccf05c708aebe627c5eb19ff5c6379585a2f9e588e1dcf9b03182fe61f3c'], + }), + ('pyfileindex', '0.0.18', { + 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], + }), + ('seekpath', '2.1.0', { + 'checksums': ['31cec579628262e6d4a4c3693fefa70d6ccae1ceeef7c9d10ea3cd48988452c4'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], + }), + ('pyiron_base', '0.6.12', { + 'patches': ['pyiron-0.5.1_fix-pyiron-base-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_base/archive/refs/tags/'], + 'checksums': [ + {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, + {'pyiron-0.5.1_fix-pyiron-base-version.patch': + 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, + ], + }), + ('atomistics', '0.1.15', { + 'patches': ['pyiron-0.5.1_fix-atomistics-requirements.patch'], + 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], + 'checksums': [ + {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, + {'pyiron-0.5.1_fix-atomistics-requirements.patch': + 'deaa57c27be147efc7e4926f6795bfa421280a299fc96de8c0bae342e4770d6c'}, + ], + }), + ('pyiron_atomistics', '0.3.11', { + 'patches': ['pyiron-0.5.1_fix-pyiron-atomistics-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], + 'checksums': [ + {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, + {'pyiron-0.5.1_fix-pyiron-atomistics-version.patch': + '5c9b987cb63508f482bff696e252987e10df9b8ee8e860491583c8e547d4568c'}, + ], + }), + ('pylammpsmpi', '0.2.10', { + 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], + 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], + 'checksums': [ + {'%(name)s-%(version)s.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, + {'pyiron-0.5.1_fix-pylammpsmpi.patch': + 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, + ], + }), + ('pympipool', '0.7.9', { + 'checksums': ['5698181bc5dc9a69595fd00ff6a8ba651b77734ccf00df79ae3aea8aaf32790a'], + }), + ('structuretoolkit', '0.0.15', { + 'checksums': ['1a258a072055d0c20e9d56156afd4481cfc94c2612c1b908de4b274b423cc6e6'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch new file mode 100644 index 00000000000..5b47f86d759 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch @@ -0,0 +1,17 @@ +Relax requirements of `atomistics`. + +--- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2024-01-09 12:42:59.508409527 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml 2024-01-09 12:43:44.589293464 +0000 +@@ -26,9 +26,9 @@ + ] + dependencies = [ + "ase==3.22.1", +- "numpy==1.26.2", +- "scipy==1.11.4", +- "spglib==2.2.0", ++ "numpy>=1.25.1", ++ "scipy>=1.11.1", ++ "spglib>=2.1.0", + ] + dynamic = ["version"] + diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch new file mode 100644 index 00000000000..46ab8c36467 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch @@ -0,0 +1,73 @@ +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. + +--- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2024-01-22 10:12:31.768251943 +0000 ++++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2024-01-22 10:26:21.997455595 +0000 +@@ -26,24 +26,24 @@ + dependencies = [ + "ase==3.22.1", +- "atomistics==0.1.12", +- "defusedxml==0.7.1", +- "h5py==3.10.0", +- "matplotlib==3.8.2", +- "mendeleev==0.14.0", +- "mp-api==0.39.1", +- "numpy==1.26.2", +- "pandas==2.1.3", +- "phonopy==2.21.0", ++ "atomistics>=0.1.12", ++ "defusedxml>=0.6.0", ++ "h5py>=3.9.0", ++ "matplotlib>=3.7.2", ++ "mendeleev>=0.14.0", ++ "mp-api>=0.39.1", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "phonopy>=2.20.0", +- "pint==0.22", ++ "pint>=0.22", + "pyiron_base==0.6.12", +- "pylammpsmpi==0.2.9", ++ "pylammpsmpi>=0.2.9", +- "scipy==1.11.4", +- "scikit-learn==1.3.2", +- "seekpath==2.1.0", +- "spglib==2.1.0", ++ "scipy>=1.11.1", ++ "scikit-learn>=1.3.1", ++ "seekpath>=2.1.0", ++ "spglib>=2.1.0", + "structuretoolkit==0.0.15", + ] +-dynamic = ["version"] ++version = '0.3.11' + + [project.urls] + Homepage = "https://pyiron.org" +@@ -55,13 +55,3 @@ + + [tool.setuptools.package-data] + "*" = ["data/*.csv"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_atomistics.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_atomistics/_version.py" +-parentdir_prefix = "pyiron_atomistics" +-tag_prefix = "pyiron_atomistics-" + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.111/setup.py 2023-12-13 17:18:56.504736380 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ No newline at end ++ version="0.3.11", ++) ++ diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch new file mode 100644 index 00000000000..9efc42afbb9 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch @@ -0,0 +1,72 @@ +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +@@ -24,23 +24,23 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ +- "dill==0.3.7", +- "gitpython==3.1.40", +- "h5io==0.1.9", +- "h5py==3.10.0", +- "jinja2==3.1.2", +- "numpy==1.26.2", +- "pandas==2.1.3", +- "pint==0.22", +- "psutil==5.9.5", +- "pyfileindex==0.0.18", +- "pysqa==0.1.7", +- "sqlalchemy==2.0.23", +- "tables==3.9.2", +- "tqdm==4.66.1", +- "traitlets==5.14.0", ++ "dill>=0.3.2", ++ "gitpython>=3.1.8", ++ "h5io>=0.1.2", ++ "h5py>=3.9.0", ++ "jinja2>=3.1.2", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "pint>=0.22", ++ "psutil>=5.9.5", ++ "pyfileindex>=0.0.18", ++ "pysqa>=0.1.7", ++ "sqlalchemy>=2.0.23", ++ "tables>=3.8.0", ++ "tqdm>=4.66.1", ++ "traitlets>=5.9.0", + ] +-dynamic = ["version"] ++version = "0.6.12" + + [project.urls] + Homepage = "https://github.com/pyiron/pyiron_base" +@@ -53,12 +53,3 @@ + [tool.setuptools.packages.find] + include = ["pyiron_base*"] + +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_base.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_base/_version.py" +-parentdir_prefix = "pyiron_base" +-tag_prefix = "pyiron_base-" + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ No newline at end ++ version="0.6.12", ++) ++ + diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch new file mode 100644 index 00000000000..c306bf08da9 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch @@ -0,0 +1,47 @@ +Fix versioning issue and relax requirements. + +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py.orig 2023-12-21 17:27:54.405181324 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:31:38.136048756 +0000 +@@ -1,8 +1,4 @@ + from setuptools import setup + +-import versioneer ++setup(version='0.2.10') + +-setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ Ingen nyrad vid filslut + +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml.orig 2023-12-21 17:57:36.066162000 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml 2023-12-21 17:58:37.373851635 +0000 +@@ -24,11 +24,11 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ +- "mpi4py==3.1.5", ++ "mpi4py>=3.1.4", + "pympipool==0.7.9", +- "numpy==1.26.2", ++ "numpy>=1.25.1", + ] +-dynamic = ["version"] ++version = '0.2.10' + + [project.urls] + Homepage = "https://github.com/pyiron/pylammpsmpi" +@@ -43,13 +43,3 @@ + + [tool.setuptools.packages.find] + include = ["pylammpsmpi*"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pylammpsmpi.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pylammpsmpi/_version.py" +-parentdir_prefix = "pylammpsmpi" +-tag_prefix = "pylammpsmpi-" diff --git a/easybuild/easyconfigs/p/pylipid/pylipid-1.5.14-foss-2021b.eb b/easybuild/easyconfigs/p/pylipid/pylipid-1.5.14-foss-2021b.eb new file mode 100644 index 00000000000..4afab6a8441 --- /dev/null +++ b/easybuild/easyconfigs/p/pylipid/pylipid-1.5.14-foss-2021b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'pylipid' +version = "1.5.14" + +homepage = 'https://github.com/wlsong/PyLipID' +description = "PyLipID is a python package for analyzing lipid interactions \ + with membrane proteins from Molecular Dynamics Simulations." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), + ('tqdm', '4.62.3'), + ('MDTraj', '1.9.7'), + ('networkx', '2.6.3'), + ('python-louvain', '0.15'), + ('statsmodels', '0.13.1'), + ('dill', '0.3.4') +] + +use_pip = True + +exts_list = [ + ('kneebow', '1.0.1', { + 'checksums': ['e935c19d71a468c9080bb364dc59e8a88a809685b15e2a57dbddc27e72ad7f9a'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('multiprocess', '0.70.12.2', { + 'sources': { + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': 'unzip %s' + }, + 'checksums': ['206bb9b97b73f87fec1ed15a19f8762950256aa84225450abc7150d02855a083'], + }), + ('pathos', '0.2.8', { + 'sources': { + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': 'unzip %s' + }, + 'checksums': ['1f0f27a90f7ab66c423ba796529000fde9360d17b2d8e50097641ff405fc6f15'], + }), + ('ppft', '1.6.6.4', { + 'sources': { + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': 'unzip %s' + }, + 'checksums': ['473442cc6731856990bd25bd6b454bb98720007de4523a73c560bdd0060463d2'], + }), + ('pox', '0.3.0', { + 'sources': { + 'filename': '%(name)s-%(version)s.zip', + 'extract_cmd': 'unzip %s' + }, + 'checksums': ['cb968350b186466bb4905a21084587ec3aa6fd7aa0ef55d416ee0d523e2abe31'], + }), + ('p_tqdm', '1.3.3', { + 'checksums': ['8b9316d8bae43279e03ea01c8849422e5072a931f1b94b79890b0da426802c6e'], + }), + (name, version, { + 'checksums': ['ba1a0506c7922d9e03d8ee1ca26dc181976d94bec76073842c565d1a1c1ce660'], + }), +] + +sanity_pip_check = True + +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/pymatgen/pymatgen-2023.3.10-foss-2022a.eb b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.3.10-foss-2022a.eb new file mode 100644 index 00000000000..bc8ccfc43a9 --- /dev/null +++ b/easybuild/easyconfigs/p/pymatgen/pymatgen-2023.3.10-foss-2022a.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'pymatgen' +version = '2023.3.10' + +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': '2022a'} + +builddependencies = [ + ('hypothesis', '6.46.7'), # required for numpy tests +] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('sympy', '1.10.1'), + ('plotly.py', '5.12.0'), + ('tqdm', '4.64.0'), + +] + +use_pip = True + +# pymatgen 2023.3.10 requires spglib >= 2.0.2 +# skip import check for ruamel.yaml.clib, covered by import check for ruamel.yaml extension +exts_list = [ + ('monty', '2022.9.9', { + 'checksums': ['6cca8f14a18a2030b243a1377dfd59049a1ccce007b34f810a8f5eece72b9ceb'], + }), + ('palettable', '3.3.0', { + 'checksums': ['72feca71cf7d79830cd6d9181b02edf227b867d503bec953cf9fa91bf44896bd'], + }), + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + ('ruamel.yaml', '0.17.21', { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('uncertainties', '3.1.7', { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), + ('latexcodec', '2.0.1', { + 'checksums': ['2aa2551c373261cefe2ad3a8953a6d6533e68238d180eb4bb91d7964adb3fe9a'], + }), + ('pybtex', '0.24.0', { + 'checksums': ['818eae35b61733e5c007c3fcd2cfb75ed1bc8b4173c1f70b56cc4c0802d34755'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('emmet-core', '0.49.1', { + 'modulename': 'emmet', + 'checksums': ['8133d63900c170ac5c66efe8d70c32c9762c9a42fc150a79c7c90a8477ac81ec'], + }), + ('mp-api', '0.30.10', { + 'checksums': ['b58522b106f362d6917eba97ef8d699cc87210b65a9f0a8ac70c0841110ce50a'], + }), + ('spglib', '2.0.2', { + 'checksums': ['1d081ec22da4ab4fc3198e9445ddad6dec2261c43927831151d93e39422610aa'], + }), + (name, version, { + 'checksums': ['20a5d1681e2951d2710d5358197b5b58992e2b0ec4217a5ba966cf28513c1283'], + }), +] + +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/pymca/pymca-5.6.3-fosscuda-2020b.eb b/easybuild/easyconfigs/p/pymca/pymca-5.6.3-fosscuda-2020b.eb new file mode 100644 index 00000000000..473c95d50eb --- /dev/null +++ b/easybuild/easyconfigs/p/pymca/pymca-5.6.3-fosscuda-2020b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'pymca' +version = '5.6.3' + +github_account = 'vasole' +homepage = "https://github.com/%(github_account)s/pymca" +description = """The PyMca X-Ray Fluorescence Toolkit, including PyMca5 and fisx.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('silx', '0.14.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': ['v%(version)s.tar.gz'], +} + +exts_list = [ + ('fisx', '1.2.0', { + 'checksums': ['868642045725552126d43331cdec7d7a6a85251d54011b4a0360fc90b02041e4'], + }), + (name, version, { + 'checksums': ['36b37f51a550b1262346e853ec8d3f1e8dd45adfc1a80e3626dc35e197eadb8c'], + 'modulename': 'PyMca5', + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb b/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb new file mode 100644 index 00000000000..a0106dcb5ea --- /dev/null +++ b/easybuild/easyconfigs/p/pymca/pymca-5.7.6-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'pymca' +version = '5.7.6' + +github_account = 'vasole' +homepage = "https://github.com/%(github_account)s/pymca" +description = """The PyMca X-Ray Fluorescence Toolkit, including PyMca5 and fisx.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('matplotlib', '3.4.3'), + ('PyQt5', '5.15.4'), + ('silx', '1.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_default_options = { + 'source_urls': [GITHUB_SOURCE], + 'sources': ['v%(version)s.tar.gz'], +} + +exts_list = [ + ('fisx', '1.2.0', { + 'checksums': ['868642045725552126d43331cdec7d7a6a85251d54011b4a0360fc90b02041e4'], + }), + (name, version, { + 'checksums': ['50f61b7cf940171e33f0c30e33a7c0808eae301ad851dcf57984722a33680882'], + 'modulename': 'PyMca5', + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb b/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb new file mode 100644 index 00000000000..d1a967e4abc --- /dev/null +++ b/easybuild/easyconfigs/p/pyobjcryst/pyobjcryst-2.2.1-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'pyobjcryst' +version = '2.2.1' + +homepage = 'https://github.com/diffpy/pyobjcryst' +description = "Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/diffpy/pyobjcryst/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3804259ebf29a0c4a593a7fb1c356bbaaa8455715affa297517abb92bf8d13e6'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('Boost.Python', '1.77.0'), + ('libobjcryst', '2021.1.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_commands = ["python -m pyobjcryst.tests.run"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/p/pyodbc/pyodbc-4.0.39-foss-2022b.eb b/easybuild/easyconfigs/p/pyodbc/pyodbc-4.0.39-foss-2022b.eb new file mode 100644 index 00000000000..026e13f54fb --- /dev/null +++ b/easybuild/easyconfigs/p/pyodbc/pyodbc-4.0.39-foss-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'pyodbc' +version = '4.0.39' + +homepage = 'https://github.com/mkleehammer/pyodbc' +description = """pyodbc is an open source Python module that makes + accessing ODBC databases simple. It implements the DB API 2.0 + specification but is packed with even more Pythonic convenience.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('unixODBC', '2.3.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5accb085ce1 --- /dev/null +++ b/easybuild/easyconfigs/p/pyparsing/pyparsing-3.0.9-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'pyparsing' +version = '3.0.9' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' 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/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..733a5bef2fc --- /dev/null +++ b/easybuild/easyconfigs/p/pyperf/pyperf-2.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'pyperf' +version = '2.5.0' + +homepage = 'https://github.com/psf/pyperf' +description = "The Python pyperf module is a toolkit to write, run and analyze benchmarks" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9fd9be5b57224e68b5a5b88f7126f15b6c8667573f62a0a39faf14d6fdd13909'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/pyperf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyperf --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyperf/pyperf-2.6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pyperf/pyperf-2.6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2cc5f691e4a --- /dev/null +++ b/easybuild/easyconfigs/p/pyperf/pyperf-2.6.0-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'pyperf' +version = '2.6.0' + +homepage = 'https://github.com/psf/pyperf' +description = "The Python pyperf module is a toolkit to write, run and analyze benchmarks" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d7e367a1ec7035d7a2b25f55a5925596c00cb15851f28cffd85b05b7307232af'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/pyperf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyperf --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyperf/pyperf-2.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pyperf/pyperf-2.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0c4a1504248 --- /dev/null +++ b/easybuild/easyconfigs/p/pyperf/pyperf-2.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'pyperf' +version = '2.7.0' + +homepage = 'https://github.com/psf/pyperf' +description = "The Python pyperf module is a toolkit to write, run and analyze benchmarks" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4201c6601032f374e9c900c6d2544a2f5891abedc1a96eec0e7b2338a6247589'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('psutil', '5.9.8'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/pyperf'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyperf --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-foss-2022a.eb b/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-foss-2022a.eb new file mode 100644 index 00000000000..b52a9b4b673 --- /dev/null +++ b/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pypmt' +version = '1.1.0' + +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': 'foss', 'version': '2022a'} +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['ab342ec33992c1ad4c42e0e66031710fe6320f73a1ca2a6e34cb1d4739da781f'] + +configopts = '-DBUILD_PYTHON_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': [ + "lib", + "lib/python", + "include"], +} +sanity_check_commands = [('python', "-c 'import pmt'")] + +modextrapaths = { + 'PYTHONPATH': ['lib/python'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-gfbf-2023a.eb b/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-gfbf-2023a.eb new file mode 100644 index 00000000000..69a0899d6a0 --- /dev/null +++ b/easybuild/easyconfigs/p/pypmt/pypmt-1.1.0-gfbf-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pypmt' +version = '1.1.0' + +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': 'gfbf', 'version': '2023a'} +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['ab342ec33992c1ad4c42e0e66031710fe6320f73a1ca2a6e34cb1d4739da781f'] + +configopts = '-DBUILD_PYTHON_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': [ + "lib", + "lib/python", + "include"], +} +sanity_check_commands = [('python', "-c 'import pmt'")] + +modextrapaths = { + 'PYTHONPATH': ['lib/python'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-foss-2022a.eb b/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-foss-2022a.eb new file mode 100644 index 00000000000..c4a491c898c --- /dev/null +++ b/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-foss-2022a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pypmt' +version = '1.2.0' + +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': 'foss', 'version': '2022a'} +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +configopts = '-DBUILD_PYTHON_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': [ + "lib", + "lib/python", + "include"], +} +sanity_check_commands = [('python', "-c 'import pmt'")] + +modextrapaths = { + 'PYTHONPATH': ['lib/python'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-gfbf-2023a.eb b/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-gfbf-2023a.eb new file mode 100644 index 00000000000..fde22430c13 --- /dev/null +++ b/easybuild/easyconfigs/p/pypmt/pypmt-1.2.0-gfbf-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'pypmt' +version = '1.2.0' + +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': 'gfbf', 'version': '2023a'} +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +source_urls = ['https://git.astron.nl/RD/pmt/-/archive/%(version)s'] +sources = ['pmt-%(version)s.tar.gz'] +checksums = ['98faf305c60cc4d39d3b8ada1dcb7c87c49bf6f01a3cd2800b413d21d5df1a38'] + +configopts = '-DBUILD_PYTHON_PMT=1' + +sanity_check_paths = { + 'files': ["bin/Rapl-test"], + 'dirs': [ + "lib", + "lib/python", + "include"], +} +sanity_check_commands = [('python', "-c 'import pmt'")] + +modextrapaths = { + 'PYTHONPATH': ['lib/python'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8e5edebbcc3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.1.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['67b94f4e694ae33fc90dfb7da0e6b5ed5f671dd0acc2f6cf46e9c39d56e16e1a'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('PROJ', '8.0.1'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c426db6dc89 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.3.1' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b3d8e14d91cc95fb3dbc03a9d0588ac58326803eefa5bbb0978d109de3304fbe'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('PROJ', '8.1.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d70aee5e640 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.3.1-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.3.1' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b3d8e14d91cc95fb3dbc03a9d0588ac58326803eefa5bbb0978d109de3304fbe'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PROJ', '9.0.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2fecab55426 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.4.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a708445927ace9857f52c3ba67d2915da7b41a8fdcd9b8f99a4c9ed60a75eb33'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('PROJ', '9.0.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f90f4e9a5b1 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.5.0-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.5.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9859d1591c1863414d875ae0759e72c2cffc01ab989dc64137fbac572cc81bf6'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('PROJ', '9.1.1'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyproj/pyproj-3.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pyproj/pyproj-3.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a9fef51cd71 --- /dev/null +++ b/easybuild/easyconfigs/p/pyproj/pyproj-3.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'pyproj' +version = '3.6.0' + +homepage = 'https://pyproj4.github.io/pyproj' +description = "Python interface to PROJ4 library for cartographic transformations" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a5b111865b3f0f8b77b3983f2fbe4dd6248fc09d3730295949977c8dcd988062'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('PROJ', '9.2.0'), +] + +download_dep_fail = True +use_pip = True + +preinstallopts = "export PROJ_DIR=$EBROOTPROJ && " + +sanity_check_paths = { + 'files': ['bin/pyproj'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['pyproj --help'] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-foss-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-foss-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..2e18fed82c8 --- /dev/null +++ b/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-foss-2020b-ASE-3.22.0.eb @@ -0,0 +1,44 @@ +easyblock = "PythonPackage" + +name = 'pyqstem' +version = '1.0.3' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +homepage = 'https://github.com/jacobjma/PyQSTEM' +description = """QSTEM is a program for quantitative image simulation in electron +microscopy, including TEM, STEM and CBED image simulation. + +This project interfaces the QSTEM code with Python and the Atomic +Simulation Environment (ASE) to provide a single environment for +building models, simulating and analysing images.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('pyqstem-1.0.3-Remove-unused-scipy-import.patch', 1), +] +checksums = [ + '612c4c95531ea9239c91e6f8b9e29a954ac873dd8584b6a57512dcfb6263ff0a', # pyqstem-1.0.3.tar.gz + # pyqstem-1.0.3-Remove-unused-scipy-import.patch + 'de1e6615057648c4d1f857f58d751699c1b292b4fe0c0f8b2f0b300e99f91d59', +] + +dependencies = [ + ('Python', '3.8.6'), + ('scikit-image', '0.18.1'), + ('ASE', _aseversion), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-fosscuda-2020b-ASE-3.22.0.eb b/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-fosscuda-2020b-ASE-3.22.0.eb new file mode 100644 index 00000000000..b6a80dcfb0c --- /dev/null +++ b/easybuild/easyconfigs/p/pyqstem/pyqstem-1.0.3-fosscuda-2020b-ASE-3.22.0.eb @@ -0,0 +1,44 @@ +easyblock = "PythonPackage" + +name = 'pyqstem' +version = '1.0.3' +_aseversion = '3.22.0' +versionsuffix = '-ASE-' + _aseversion + +homepage = 'https://github.com/jacobjma/PyQSTEM' +description = """QSTEM is a program for quantitative image simulation in electron +microscopy, including TEM, STEM and CBED image simulation. + +This project interfaces the QSTEM code with Python and the Atomic +Simulation Environment (ASE) to provide a single environment for +building models, simulating and analysing images.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + ('pyqstem-1.0.3-Remove-unused-scipy-import.patch', 1), +] +checksums = [ + '612c4c95531ea9239c91e6f8b9e29a954ac873dd8584b6a57512dcfb6263ff0a', # pyqstem-1.0.3.tar.gz + # pyqstem-1.0.3-Remove-unused-scipy-import.patch + 'de1e6615057648c4d1f857f58d751699c1b292b4fe0c0f8b2f0b300e99f91d59', +] + +dependencies = [ + ('Python', '3.8.6'), + ('scikit-image', '0.18.1'), + ('ASE', _aseversion), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..95fd73b63b0 --- /dev/null +++ b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'pyradiomics' +version = '3.0.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://pyradiomics.readthedocs.io/' +description = """Open-source python package for the extraction of Radiomics features from 2D and 3D + images and binary masks.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), # for numpy + ('SimpleITK', '1.2.4', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('PyWavelets', '1.2.0', { + 'modulename': 'pywt', + 'checksums': ['6cbd69b047bb4e00873097472133425f5f08a4e6bc8b3f0ae709274d4d5e9a8d'], + }), + ('pykwalify', '1.8.0', { + 'checksums': ['796b2ad3ed4cb99b88308b533fb2f559c30fa6efb4fa9fda11347f483d245884'], + }), + ('ruamel.yaml.clib', '0.2.6', { + 'modulename': False, + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + }), + ('ruamel.yaml', '0.17.20', { + 'checksums': ['4b8a33c1efb2b443a93fcaafcfa4d2e445f8e8c29c528d9f5cdafb7cc9e4004c'], + }), + (name, version, { + 'modulename': 'radiomics', + 'checksums': ['47c57f441d6cb7973fa3b2ea48d3948df78e3348e1c69e1e2ff19001601fc2f5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyradiomics'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyradiomics --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb new file mode 100644 index 00000000000..410c853423d --- /dev/null +++ b/easybuild/easyconfigs/p/pyradiomics/pyradiomics-3.0.1-foss-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'pyradiomics' +version = '3.0.1' + +homepage = 'https://pyradiomics.readthedocs.io/' +description = """Open-source python package for the extraction of Radiomics features from 2D and 3D + images and binary masks.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # for numpy + ('SimpleITK', '2.1.1'), +] + +use_pip = True + +exts_list = [ + ('PyWavelets', '1.2.0', { + 'modulename': 'pywt', + 'checksums': ['6cbd69b047bb4e00873097472133425f5f08a4e6bc8b3f0ae709274d4d5e9a8d'], + }), + ('pykwalify', '1.8.0', { + 'checksums': ['796b2ad3ed4cb99b88308b533fb2f559c30fa6efb4fa9fda11347f483d245884'], + }), + ('ruamel.yaml.clib', '0.2.6', { + 'modulename': False, + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + }), + ('ruamel.yaml', '0.17.20', { + 'checksums': ['4b8a33c1efb2b443a93fcaafcfa4d2e445f8e8c29c528d9f5cdafb7cc9e4004c'], + }), + (name, version, { + 'modulename': 'radiomics', + 'checksums': ['47c57f441d6cb7973fa3b2ea48d3948df78e3348e1c69e1e2ff19001601fc2f5'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyradiomics'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pyradiomics --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..2bf1ab424b3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,48 @@ +# Author: Denis Krišťák (INU) +# Updated to 1.8.2, pyro-api as extension added +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.8.0' +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': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), +] + +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': ['68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c'], + }), +] + +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/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/pyro-ppl/pyro-ppl-1.8.4-foss-2022a.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.4-foss-2022a.eb new file mode 100644 index 00000000000..05afed8446b --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.8.4-foss-2022a.eb @@ -0,0 +1,44 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.8.4' + +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 = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0'), + ('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/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..4add431b9a3 --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,47 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.9.0' +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': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + (name, version, { + 'modulename': 'pyro', + 'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'], + }), +] + +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/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb new file mode 100644 index 00000000000..28ed959d3b2 --- /dev/null +++ b/easybuild/easyconfigs/p/pyro-ppl/pyro-ppl-1.9.0-foss-2023a.eb @@ -0,0 +1,45 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonBundle' + +name = 'pyro-ppl' +version = '1.9.0' + +homepage = 'https://github.com/pyro-ppl/pyro' +description = "Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + (name, version, { + 'modulename': 'pyro', + 'checksums': ['41f4c005159568280fbc511648960a98a2b1a410027d8bd0a43220ac9b102cdf'], + }), +] + +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/pysamstats/pysamstats-1.1.2-foss-2020b.eb b/easybuild/easyconfigs/p/pysamstats/pysamstats-1.1.2-foss-2020b.eb new file mode 100644 index 00000000000..ee98447beae --- /dev/null +++ b/easybuild/easyconfigs/p/pysamstats/pysamstats-1.1.2-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = "PythonPackage" + +name = 'pysamstats' +version = '1.1.2' + +homepage = 'https://github.com/alimanfoo/pysamstats' +description = """A Python utility for calculating statistics +against genome positions based on sequence alignments from a SAM or BAM file.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6d8b41934fdc700552d689f473860c64525a88600460344d0cac2095424750c6'] + +use_pip = True +download_dep_fail = True + +# acceptance of pysam>0.16 +preinstallopts = "sed -i -e 's/ (<0.16)//g' setup.py && " + +dependencies = [ + ('Python', '3.8.6'), + ('Pysam', '0.16.0.1'), + ('SciPy-bundle', '2020.11'), + ('PyTables', '3.6.1'), +] + +sanity_check_commands = [ + "pysamstats --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb new file mode 100644 index 00000000000..4e728d27fe7 --- /dev/null +++ b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.11-foss-2022b.eb @@ -0,0 +1,55 @@ +# Borrowed from the BEAR RSG team, University of Birmingham +easyblock = 'PythonBundle' + +name = 'pyseer' +version = '1.3.11' + +homepage = 'https://github.com/mgalardini/pyseer' +description = """pyseer was first written a python reimplementation of seer, which was written in C++. pyseer uses + linear models with fixed or mixed effects to estimate the effect of genetic variation in a bacterial population + on a phenotype of interest, while accounting for potentially very strong confounding population structure. + This allows for genome-wide association studies (GWAS) to be performed in clonal organisms + such as bacteria and viruses.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('pybedtools', '0.9.0'), + ('statsmodels', '0.14.0'), + ('scikit-learn', '1.2.1'), + ('Pysam', '0.21.0'), + ('DendroPy', '4.5.2'), + ('matplotlib', '3.7.0'), + ('tqdm', '4.64.1'), +] + +use_pip = True + +exts_list = [ + ('glmnet-python', '1.0.2', { + 'source_urls': ['https://github.com/johnlees/glmnet_python/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7a5550514140dabbd27ad4eb1c04db64199d9bb89541e088d9bb162570205e76'], + }), + (name, version, { + 'source_urls': ['https://github.com/mgalardini/pyseer/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['06ea2987509f9c1952bbb90e4b59c6f5a4f2ca9e88e7dac5f5cb7f43aa693a1b'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyseer', 'bin/square_mash'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + '%(namelower)s --help', + 'square_mash --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyseer/pyseer-1.3.12-foss-2023a.eb b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.12-foss-2023a.eb new file mode 100644 index 00000000000..16cf7b1a00c --- /dev/null +++ b/easybuild/easyconfigs/p/pyseer/pyseer-1.3.12-foss-2023a.eb @@ -0,0 +1,56 @@ +# Borrowed from the BEAR RSG team, University of Birmingham +# Update: Petr Král (INUITS) +easyblock = 'PythonBundle' + +name = 'pyseer' +version = '1.3.12' + +homepage = 'https://github.com/mgalardini/pyseer' +description = """pyseer was first written a python reimplementation of seer, which was written in C++. pyseer uses + linear models with fixed or mixed effects to estimate the effect of genetic variation in a bacterial population + on a phenotype of interest, while accounting for potentially very strong confounding population structure. + This allows for genome-wide association studies (GWAS) to be performed in clonal organisms + such as bacteria and viruses.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('pybedtools', '0.9.1'), + ('statsmodels', '0.14.1'), + ('scikit-learn', '1.3.1'), + ('Pysam', '0.22.0'), + ('DendroPy', '4.6.1'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('glmnet-python', '1.0.2', { + 'source_urls': ['https://github.com/johnlees/glmnet_python/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['7a5550514140dabbd27ad4eb1c04db64199d9bb89541e088d9bb162570205e76'], + }), + (name, version, { + 'source_urls': ['https://github.com/mgalardini/pyseer/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['aa07fc1bd5346d02123ff36ba64a1ff4dbbb85a21c37a12f35ad7d5be7e21e9c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pyseer', 'bin/square_mash'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + '%(namelower)s --help', + 'square_mash --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyshp/pyshp-2.1.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/pyshp/pyshp-2.1.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..96e075cd30d --- /dev/null +++ b/easybuild/easyconfigs/p/pyshp/pyshp-2.1.3-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'pyshp' +version = '2.1.3' + +homepage = 'https://github.com/GeospatialPython/pyshp' +description = """Pure Python read/write support for ESRI Shapefile format""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'GeospatialPython' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['b9c5420a013ae04b81306d36435d42fb78d336a36dd18c31e1b365c18e319e05'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('cURL', '7.72.0'), +] + +options = {'modulename': 'shapefile'} + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb new file mode 100644 index 00000000000..021accc9eba --- /dev/null +++ b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pyslim' +version = '1.0.1' + +homepage = 'https://tskit.dev/pyslim/docs/stable/introduction.html' +description = """A Python API for reading and modifying tskit tree +sequence files produced by SLiM, or modifying files produced by other +programs (e.g., msprime, fwdpy11, and tsinfer) for use in SLiM.""" + + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('msprime', '1.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d65923658df9303962997f8911449245d33cf7f56aada8df4573ad301a9934c6'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2022a.eb b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2022a.eb new file mode 100644 index 00000000000..da7c91bba12 --- /dev/null +++ b/easybuild/easyconfigs/p/pyslim/pyslim-1.0.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'pyslim' +version = '1.0.1' + +homepage = 'https://tskit.dev/pyslim/docs/stable/introduction.html' +description = """A Python API for reading and modifying tskit tree +sequence files produced by SLiM, or modifying files produced by other +programs (e.g., msprime, fwdpy11, and tsinfer) for use in SLiM.""" + + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for numpy + ('msprime', '1.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d65923658df9303962997f8911449245d33cf7f56aada8df4573ad301a9934c6'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb new file mode 100644 index 00000000000..11e83c46fdb --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.0.8' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/nanoporetech/pyspoa/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'pyspoa-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/USCiLab/cereal/archive/'], + 'download_filename': '3e4d1b8.tar.gz', + 'filename': 'cereal-20200423.tar.gz', + }, +] +patches = ['pyspoa-%(version)s_use-spoa-dep.patch'] +checksums = [ + 'a1e630ef30a42d8e8c076d914261d0d34060631d64694569d52c1a2be5deada7', # pyspoa-0.0.8.tar.gz + '284cd14c1e60b36c966bcc8ce650d0b798b8a836d6c379e021e0da0dbe6ddf38', # cereal-20200423.tar.gz + 'a98c82ae8346b48952b171675f9df7ab1c95ea5421afcf5bcd778c01c5ee5a52', # pyspoa-0.0.8_use-spoa-dep.patch +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pybind11', '2.6.2'), + ('spoa', '4.0.7'), +] + +download_dep_fail = 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 && " + +use_pip = True + +options = {'modulename': 'spoa'} + +sanity_pip_check = True + +sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-11.2.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-11.2.0.eb new file mode 100644 index 00000000000..c2b2e7caac2 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.8-GCC-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.0.8' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [ + { + 'source_urls': ['https://github.com/nanoporetech/pyspoa/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'pyspoa-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/USCiLab/cereal/archive/'], + 'download_filename': '3e4d1b8.tar.gz', + 'filename': 'cereal-20200423.tar.gz', + }, +] +patches = ['pyspoa-%(version)s_use-spoa-dep.patch'] +checksums = [ + 'a1e630ef30a42d8e8c076d914261d0d34060631d64694569d52c1a2be5deada7', # pyspoa-0.0.8.tar.gz + '284cd14c1e60b36c966bcc8ce650d0b798b8a836d6c379e021e0da0dbe6ddf38', # cereal-20200423.tar.gz + 'a98c82ae8346b48952b171675f9df7ab1c95ea5421afcf5bcd778c01c5ee5a52', # pyspoa-0.0.8_use-spoa-dep.patch +] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('pybind11', '2.7.1'), + ('spoa', '4.0.7'), +] + +download_dep_fail = 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 && " + +use_pip = True + +options = {'modulename': 'spoa'} + +sanity_pip_check = True + +sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9-GCC-11.3.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9-GCC-11.3.0.eb new file mode 100644 index 00000000000..01299533940 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9-GCC-11.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.0.9' + +local_cereal_version = '1.3.2' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = [ + { + 'source_urls': ['https://github.com/nanoporetech/pyspoa/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'pyspoa-%(version)s.tar.gz', + }, + { + '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 = [ + {'pyspoa-0.0.9.tar.gz': '30b883b8dfc2355a6062f9f848e825f7ffac169657190d797cf17b4314d588fe'}, + {'cereal-%s.tar.gz' % local_cereal_version: '16a7ad9b31ba5880dac55d62b5d6f243c3ebc8d46a3514149e56b5e7ea81f85f'}, + {'pyspoa-0.0.9_use-spoa-dep.patch': 'fdd11ecc22f65e5c06491fb60f59aab3427d264903d678d59095029ab1e65da7'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), + ('spoa', '4.0.7'), +] + +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 && " + +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.0.9-GCC-12.2.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9-GCC-12.2.0.eb new file mode 100644 index 00000000000..ff7e7b177e9 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9-GCC-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'pyspoa' +version = '0.0.9' + +homepage = 'https://github.com/nanoporetech/pyspoa' +description = "Python bindings to spoa." + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +sources = [ + { + 'source_urls': ['https://github.com/nanoporetech/pyspoa/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'pyspoa-%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/USCiLab/cereal/archive/'], + 'download_filename': '3e4d1b8.tar.gz', + 'filename': 'cereal-20200423.tar.gz', + }, +] +patches = ['pyspoa-0.0.8_use-spoa-dep.patch'] +checksums = [ + {'pyspoa-0.0.9.tar.gz': '30b883b8dfc2355a6062f9f848e825f7ffac169657190d797cf17b4314d588fe'}, + {'cereal-20200423.tar.gz': '284cd14c1e60b36c966bcc8ce650d0b798b8a836d6c379e021e0da0dbe6ddf38'}, + {'pyspoa-0.0.8_use-spoa-dep.patch': 'a98c82ae8346b48952b171675f9df7ab1c95ea5421afcf5bcd778c01c5ee5a52'}, +] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('Python', '3.10.8'), + ('pybind11', '2.10.3'), + ('spoa', '4.0.7'), +] + +download_dep_fail = 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 && " + +use_pip = True + +options = {'modulename': 'spoa'} + +sanity_pip_check = True + +sanity_check_commands = ["cd %(builddir)s/*/tests && python test_pyspoa.py"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9_use-spoa-dep.patch b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9_use-spoa-dep.patch new file mode 100644 index 00000000000..969e77f0ffa --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.0.9_use-spoa-dep.patch @@ -0,0 +1,25 @@ +use spoa dependency provided through EasyBuild + +author: Kenneth Hoste (HPC-UGent) +updated by: Petr Král (Inuits) +diff --git a/pyspoa-0.0.9/setup.py.orig b/pyspoa-0.0.9/setup.py +index 53338a5..6aaff2b 100644 +--- a/pyspoa-0.0.9/setup.py.orig ++++ b/pyspoa-0.0.9/setup.py +@@ -106,14 +106,14 @@ ext_modules = [ + '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=[ +- 'src/build/lib/libspoa.a' ++ os.path.join(os.getenv('EBROOTSPOA'), 'lib64/libspoa.a'), + ], + + ), 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-GCC-13.2.0.eb b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..127ab6861d9 --- /dev/null +++ b/easybuild/easyconfigs/p/pyspoa/pyspoa-0.2.1-GCC-13.2.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': '13.2.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.27.6')] + +dependencies = [ + ('Python', '3.11.5'), + ('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/pystencils/pystencils-1.3.4-gfbf-2023b.eb b/easybuild/easyconfigs/p/pystencils/pystencils-1.3.4-gfbf-2023b.eb new file mode 100644 index 00000000000..2c08948afa0 --- /dev/null +++ b/easybuild/easyconfigs/p/pystencils/pystencils-1.3.4-gfbf-2023b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'pystencils' +version = '1.3.4' + +homepage = 'https://pycodegen.pages.i10git.cs.fau.de/pystencils' +description = "pystencils uses sympy to define stencil operations, that can be executed on numpy arrays" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('sympy', '1.12'), + ('PyYAML', '6.0.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['d8c502ad27d5e270c5048558a3c8b316beef8d7ac6a8a9f72b78632a6e0ca317'], + # remove strict version requirement for sympy + 'preinstallopts': """sed -i 's/"sympy[^"]*"/"sympy"/g' pyproject.toml && """, + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/p/pysteps/pysteps-1.10.0-foss-2023a.eb b/easybuild/easyconfigs/p/pysteps/pysteps-1.10.0-foss-2023a.eb new file mode 100644 index 00000000000..f60f3a18e87 --- /dev/null +++ b/easybuild/easyconfigs/p/pysteps/pysteps-1.10.0-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'pysteps' +version = '1.10.0' + +homepage = 'https://pysteps.github.io/' +description = """Pysteps is an open-source and community-driven Python library for probabilistic +precipitation nowcasting, i.e. short-term ensemble prediction systems.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('OpenCV', '4.8.1', '-contrib'), + ('Pillow', '10.0.0'), + ('pyproj', '3.6.0'), + ('matplotlib', '3.7.2'), + ('netcdf4-python', '1.6.4'), + ('dask', '2023.9.2'), # needed by pysteps-nwp-importers + ('xarray', '2023.9.0'), # needed by pysteps-nwp-importers +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsmin', '3.0.1', { + 'checksums': ['c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc'], + }), + (name, version, { + 'checksums': ['28b51d61c3411fccf5c5f80792b9effe8f92a515e5984ffc5ad9ce810603a62d'], + }), + ('pysteps-nwp-importers', '20240624', { + 'source_urls': ['https://github.com/pySTEPS/pysteps-nwp-importers/archive/'], + 'sources': [{'download_filename': '73b3573.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['d5835023c739056aa04c6938e256e6ba24ed9585a252cdf3f10b6dc0b92f0730'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb new file mode 100644 index 00000000000..241d7b89116 --- /dev/null +++ b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'pysteps' +version = '1.7.1' + +homepage = 'https://pysteps.github.io/' +description = """ +Pysteps is an open-source and community-driven Python library for probabilistic +precipitation nowcasting, i.e. short-term ensemble prediction systems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('OpenCV', '4.6.0', '-contrib'), + ('Pillow', '9.1.1'), + ('pyproj', '3.4.0'), + ('matplotlib', '3.5.2'), + ('dask', '2022.10.0'), + ('netcdf4-python', '1.6.1'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('jsmin', '3.0.1', { + 'checksums': ['c0959a121ef94542e807a674142606f7e90214a2b3d1eb17300244bbb5cc2bfc'], + }), + ('pyFFTW', '0.13.0', { + 'source_tmpl': '%(name)s-%(version)s.tar.gz', + 'checksums': ['da85102405c0bd95d57eb19e99b01a0729d8406cb204c3900894b873784253da'], + }), + (name, version, { + 'patches': ['pysteps-1.7.1_h5py-3.7_compat.patch'], + 'source_urls': ['https://github.com/pySTEPS/pysteps/archive/'], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': [ + {'pysteps-1.7.1.tar.gz': '5063d7546d9995ec6ca52a5b4e50ef3f3c1ae43088a55e370af4aec18162a22f'}, + {'pysteps-1.7.1_h5py-3.7_compat.patch': 'c2b1a47d7151a7f4072dce797c6303314c0d8fd7683b0001deb43f24357ed977'}, + ], + }), + ('pysteps-nwp-importers', '20220124', { + 'source_urls': ['https://github.com/pySTEPS/pysteps-nwp-importers/archive/'], + 'sources': [{'download_filename': '6ca1582.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['e9aea5f1c49dadf0bc878822cd9403db93cf473c8ad21d8bfda799136c87f4db'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch new file mode 100644 index 00000000000..853055ec24e --- /dev/null +++ b/easybuild/easyconfigs/p/pysteps/pysteps-1.7.1_h5py-3.7_compat.patch @@ -0,0 +1,17 @@ +Fix compatibility with h5py v3.7 +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur pysteps-1.7.1.orig/pysteps/io/importers.py pysteps-1.7.1/pysteps/io/importers.py +--- pysteps-1.7.1.orig/pysteps/io/importers.py 2022-09-25 22:49:54.000000000 +0200 ++++ pysteps-1.7.1/pysteps/io/importers.py 2022-11-25 13:00:14.948382946 +0100 +@@ -1377,7 +1377,10 @@ + raise IOError("requested quantity %s not found" % qty) + + where = f["where"] +- proj4str = where.attrs["projdef"].decode() ++ proj4str = where.attrs["projdef"] ++ if(not isinstance(proj4str, str)): ++ proj4str = proj4str.decode() ++ + pr = pyproj.Proj(proj4str) + + ll_lat = where.attrs["LL_lat"] diff --git a/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3f3e9090b61 --- /dev/null +++ b/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonPackage' + +name = 'pytesseract' +version = '0.3.10' + +homepage = "https://github.com/madmaze/pytesseract" +description = """Python-tesseract is an optical character recognition (OCR) +tool for python. That is, it will recognize and "read" the text embedded in +images. + +Python-tesseract is a wrapper for Google's Tesseract-OCR Engine. It is also +useful as a stand-alone invocation script to tesseract, as it can read all +image types supported by the Pillow and Leptonica imaging libraries, including +jpeg, png, gif, bmp, tiff, and others. Additionally, if used as a script, +Python-tesseract will print the recognized text instead of writing it to a +file.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +patches = ['pytesseract-0.3.10_relax-packaging-version-requirements.patch'] +checksums = [ + {SOURCELOWER_TAR_GZ: 'f1c3a8b0f07fd01a1085d451f5b8315be6eec1d5577a6796d46dc7a62bd4120f'}, + {'pytesseract-0.3.10_relax-packaging-version-requirements.patch': + '17bcf10055dd421572654b8da3a7899115c0eb50ec32bb6ab58371d16530f8c6'}, +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('tesseract', '5.3.0'), + ('Python', '3.10.4'), + ('Pillow', '9.1.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10_relax-packaging-version-requirements.patch b/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10_relax-packaging-version-requirements.patch new file mode 100644 index 00000000000..90471c98279 --- /dev/null +++ b/easybuild/easyconfigs/p/pytesseract/pytesseract-0.3.10_relax-packaging-version-requirements.patch @@ -0,0 +1,14 @@ +Packaging is used with Version, parse and InvalidVersion that does not strictly +need the versions specified in setup.cfg +Author: Viktor Rehnberg +--- ./setup.cfg.orig 2023-05-11 10:30:41.231633193 +0200 ++++ ./setup.cfg 2023-05-11 10:33:01.127272708 +0200 +@@ -27,7 +27,7 @@ + packages = find: + include_package_data = True + install_requires = +- packaging>=21.3 ++ packaging>=20.9 + Pillow>=8.0.0 + python_requires = >=3.7 + diff --git a/easybuild/easyconfigs/p/pytest-benchmark/pytest-benchmark-3.4.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/pytest-benchmark/pytest-benchmark-3.4.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..fc22ef34689 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-benchmark/pytest-benchmark-3.4.1-GCCcore-10.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'pytest-benchmark' +version = '3.4.1' + +homepage = 'https://github.com/ionelmc/pytest-benchmark' +description = "A pytest fixture for benchmarking code." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), +] + +use_pip = True + +exts_list = [ + ('py-cpuinfo', '8.0.0', { + 'checksums': ['5f269be0e08e33fd959de96b34cd4aeeeacac014dd8305f70eb28d06de2345c5'], + 'modulename': 'cpuinfo', + }), + (name, version, { + 'checksums': ['40e263f912de5a81d891619032983557d62a3d85843f9a9f30b98baea0cd7b47'], + }), +] + +sanity_check_paths = { + 'files': ['bin/cpuinfo', 'bin/pytest-benchmark'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "cpuinfo --help", + "pytest-benchmark --help", +] + +sanity_pip_check = True + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..40226083365 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-cpp/pytest-cpp-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'pytest-cpp' +version = '2.3.0' + +homepage = 'http://github.com/pytest-dev/pytest-cpp' +description = """Use pytest runner to discover and execute C++ tests.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['37abfa693697940aed2e7c034698188dee3616183ad9b3f764f3b06aeb75ed4a'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..60f2242fba0 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,21 @@ +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': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +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-12.2.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2827c01ebbc --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,21 @@ +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.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +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-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-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7a512df4e25 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-flakefinder/pytest-flakefinder-1.1.0-GCCcore-13.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': '13.3.0'} + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +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 new file mode 100644 index 00000000000..b55fb3746ed --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-11.1-GCCcore-11.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '11.1' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = """pytest plugin to re-run tests to eliminate flaky failures.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['bc6ad13614c976b04558c3a7bcc393a7e09686fb86b6ae73f827b78326c09f75'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..58871575982 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.2.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '12.0' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = """pytest plugin to re-run tests to eliminate flaky failures.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..4a8634e4c3b --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-rerunfailures/pytest-rerunfailures-12.0-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'pytest-rerunfailures' +version = '12.0' + +homepage = 'https://github.com/pytest-dev/pytest-rerunfailures' +description = """pytest plugin to re-run tests to eliminate flaky failures.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # It checks for it after installed +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sources = [SOURCE_TAR_GZ] +checksums = ['784f462fa87fe9bdf781d0027d856b47a4bfe6c12af108f6bd887057a917b48e'] + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..9e4d690223f --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +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': '11.3.0'} + +builddependencies = [('binutils', '2.38')] +dependencies = [('Python', '3.10.4')] + +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-12.2.0.eb b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9087c9673f6 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-shard/pytest-shard-0.1.2-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +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.2.0'} + +builddependencies = [('binutils', '2.39')] +dependencies = [('Python', '3.10.8')] + +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-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/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..25aaab957da --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-workflow/pytest-workflow-2.1.0-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +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.3.0'} + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Python', '3.12.3'), + ('PyYAML', '6.0.2'), + ('python-isal', '1.7.0'), + ('zlib-ng', '2.2.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('zstandard', '0.23.0', {'checksums': ['b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09']}), + ('xopen', '2.0.2', {'checksums': ['f19d83de470f5a81725df0140180ec71d198311a1d7dad48f5467b4ad5df6154']}), + (name, version, {'checksums': ['dc86ad9a5f94482aec14926788f6b78b428be68ee0428cbca22f89b6326f8b7a']}), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.3.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.3.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..93631bf96c8 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.3.0-GCCcore-10.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'pytest-xdist' +version = '2.3.0' + +homepage = 'https://github.com/pytest-dev/pytest-xdist' +description = """xdist: pytest distributed testing plugin + +The pytest-xdist plugin extends pytest with some unique test execution modes: + + * test run parallelization: if you have multiple CPUs or hosts you + can use those for a combined test run. This allows to speed up + development or to use special resources of remote machines. + + * --looponfail: run your tests repeatedly in a subprocess. After + each run pytest waits until a file in your project changes and + then re-runs the previously failing tests. This is repeated + until all tests pass after which again a full run is + performed. + + * Multi-Platform coverage: you can specify different Python + interpreters or different platforms and run tests in parallel on + all of them. + +Before running tests remotely, pytest efficiently “rsyncs” your +program source code to the remote place. All test results are reported +back and displayed to your local terminal. You may specify different +Python versions and interpreters.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('apipkg', '1.5', { + 'checksums': ['37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-forked', '1.3.0', { + 'checksums': ['6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca'], + }), + (name, version, { + 'modulename': 'xdist', + 'checksums': ['e8ecde2f85d88fbcadb7d28cb33da0fa29bca5cf7d5967fa89fc0e97e5299ea5'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..073e6f7d238 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'pytest-xdist' +version = '2.5.0' + +homepage = 'https://github.com/pytest-dev/pytest-xdist' +description = """xdist: pytest distributed testing plugin + +The pytest-xdist plugin extends pytest with some unique test execution modes: + + * test run parallelization: if you have multiple CPUs or hosts you + can use those for a combined test run. This allows to speed up + development or to use special resources of remote machines. + + * --looponfail: run your tests repeatedly in a subprocess. After + each run pytest waits until a file in your project changes and + then re-runs the previously failing tests. This is repeated + until all tests pass after which again a full run is + performed. + + * Multi-Platform coverage: you can specify different Python + interpreters or different platforms and run tests in parallel on + all of them. + +Before running tests remotely, pytest efficiently “rsyncs” your +program source code to the remote place. All test results are reported +back and displayed to your local terminal. You may specify different +Python versions and interpreters.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('apipkg', '1.5', { + 'checksums': ['37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-forked', '1.4.0', { + 'checksums': ['8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e'], + }), + (name, version, { + 'modulename': 'xdist', + 'checksums': ['4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9d96c47ef05 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-2.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'pytest-xdist' +version = '2.5.0' + +homepage = 'https://github.com/pytest-dev/pytest-xdist' +description = """xdist: pytest distributed testing plugin + +The pytest-xdist plugin extends pytest with some unique test execution modes: + + * test run parallelization: if you have multiple CPUs or hosts you + can use those for a combined test run. This allows to speed up + development or to use special resources of remote machines. + + * --looponfail: run your tests repeatedly in a subprocess. After + each run pytest waits until a file in your project changes and + then re-runs the previously failing tests. This is repeated + until all tests pass after which again a full run is + performed. + + * Multi-Platform coverage: you can specify different Python + interpreters or different platforms and run tests in parallel on + all of them. + +Before running tests remotely, pytest efficiently “rsyncs” your +program source code to the remote place. All test results are reported +back and displayed to your local terminal. You may specify different +Python versions and interpreters.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('apipkg', '1.5', { + 'checksums': ['37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6'], + }), + ('execnet', '1.9.0', { + 'checksums': ['8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5'], + }), + ('pytest-forked', '1.4.0', { + 'checksums': ['8b67587c8f98cbbadfdd804539ed5455b6ed03802203485dd2f53c1422d7440e'], + }), + (name, version, { + 'modulename': 'xdist', + 'checksums': ['4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-3.3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-3.3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e9fc2a36b36 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest-xdist/pytest-xdist-3.3.1-GCCcore-12.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'pytest-xdist' +version = '3.3.1' + +homepage = 'https://github.com/pytest-dev/pytest-xdist' +description = """xdist: pytest distributed testing plugin + +The pytest-xdist plugin extends pytest with some unique test execution modes: + + * test run parallelization: if you have multiple CPUs or hosts you + can use those for a combined test run. This allows to speed up + development or to use special resources of remote machines. + + * --looponfail: run your tests repeatedly in a subprocess. After + each run pytest waits until a file in your project changes and + then re-runs the previously failing tests. This is repeated + until all tests pass after which again a full run is + performed. + + * Multi-Platform coverage: you can specify different Python + interpreters or different platforms and run tests in parallel on + all of them. + +Before running tests remotely, pytest efficiently “rsyncs” your +program source code to the remote place. All test results are reported +back and displayed to your local terminal. You may specify different +Python versions and interpreters.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('pytest', '7.4.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('apipkg', '3.0.2', { + 'checksums': ['c7aa61a4f82697fdaa667e70af1505acf1f7428b1c27b891d204ba7a8a3c5e0d'], + }), + ('execnet', '2.0.2', { + 'checksums': ['cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af'], + }), + (name, version, { + 'modulename': 'xdist', + 'checksums': ['d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..97f957621d5 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest/pytest-7.1.3-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'pytest' +version = '7.1.3' + +homepage = 'https://pytest.org' +description = """pytest: simple powerful testing with Python""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] +dependencies = [('Python', '3.9.6')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('py', '1.11.0', { + 'checksums': ['51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719'], + }), + ('attrs', '22.1.0', { + 'modulename': 'attr', + 'checksums': ['29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6'], + }), + ('pluggy', '1.0.0', { + 'checksums': ['4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159'], + }), + ('atomicwrites', '1.4.1', { + 'checksums': ['81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11'], + }), + ('more-itertools', '8.14.0', { + 'modulename': 'more_itertools', + 'checksums': ['c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750'], + }), + ('scandir', '1.10.0', { + 'checksums': ['4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae'], + }), + ('pathlib2', '2.3.7.post1', { + 'checksums': ['9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641'], + }), + ('iniconfig', '1.1.1', { + 'checksums': ['bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32'], + 'preinstallopts': """sed -i 's/setup(/setup(version="%(version)s",/g' setup.py && """ + }), + ('toml', '0.10.2', { + 'checksums': ['b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f'], + }), + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + (name, version, { + 'checksums': ['4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39'], + }), +] + +sanity_check_paths = { + 'files': ['bin/pytest'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pytest/pytest-7.2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/pytest/pytest-7.2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..8f1d64d7528 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest/pytest-7.2.2-GCCcore-11.2.0.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'pytest' +version = '7.2.2' + +homepage = 'https://docs.pytest.org/en/latest/' +description = """The pytest framework makes it easy to write small, +readable tests, and can scale to support complex functional testing for +applications and libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +# Note! Some of the file system related tests may fail on shared file systems. +# Notably TestPOSIXLocalPath.test_copy_stat_file, TestPOSIXLocalPath.test_copy_stat_dir +# and test_source_mtime_long_long are known to fail on GPFS +# Build with buildpath and tmpdir set to a local file system to avoid this +# or use --ignore-test-failures +_skip_tests = [ + 'testing/io/test_terminalwriter.py', + 'testing/test_terminal.py', + 'testing/test_debugging.py', + 'testing/test_config.py', + 'testing/test_helpconfig.py', +] +_ignore_tests = ' --ignore='.join(_skip_tests) + +exts_list = [ + ('tomli', '2.0.1', { + 'checksums': ['de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f'], + }), + ('setuptools-scm', '7.1.0', { + 'source_tmpl': 'setuptools_scm-%(version)s.tar.gz', + 'checksums': ['6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27'], + }), + ('flit-core', '3.8.0', { + 'source_tmpl': 'flit_core-%(version)s.tar.gz', + 'checksums': ['b305b30c99526df5e63d6022dd2310a0a941a187bd3884f4c8ef0418df6c39f3'], + }), + ('flit-scm', '1.7.0', { + 'source_tmpl': 'flit_scm-%(version)s.tar.gz', + 'checksums': ['961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2'], + }), + ('exceptiongroup', '1.1.0', { + 'checksums': ['bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23'], + }), + ('hypothesis', '6.54.6', { + 'checksums': ['2d5e2d5ccd0efce4e0968a6164f4e4853f808e33f4d91490c975c98beec0c7c3'], + }), + ('elementpath', '4.0.1', { + 'checksums': ['1162e4c8e5501bd36291b668f4449b8125fea5ef64a26da8d71da31126725aa5'], + }), + ('xmlschema', '2.2.2', { + 'checksums': ['0caa96668807b4b51c42a0fe2b6610752bc59f069615df3e34dcfffb962973fd'], + }), + (name, version, { + 'checksums': ['c99ab0c73aceb050f68929bc93af19ab6db0558791c6a0715723abe9d0ade9d4'], + }), +] + +sanity_check_commands = [ + "python -c 'import pytest'", + 'cd %%(builddir)s/%%(name)s/%%(name)s-%%(version)s && %%(installdir)s/bin/pytest --ignore=%s testing' + % _ignore_tests, +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pytest/pytest-7.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/pytest/pytest-7.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..45ab5fae484 --- /dev/null +++ b/easybuild/easyconfigs/p/pytest/pytest-7.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'pytest' +version = '7.4.2' + +homepage = 'https://docs.pytest.org/en/latest/' +description = """The pytest framework makes it easy to write small, +readable tests, and can scale to support complex functional testing for +applications and libraries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), + ('flit', '3.9.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('hypothesis', '6.82.0'), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +# Note! Some of the file system related tests may fail on shared file systems. +# Notably TestPOSIXLocalPath.test_copy_stat_file, TestPOSIXLocalPath.test_copy_stat_dir +# and test_source_mtime_long_long are known to fail on GPFS +# Build with buildpath and tmpdir set to a local file system to avoid this +# or use --ignore-test-failures +_skip_tests = [ + 'testing/io/test_terminalwriter.py', + 'testing/test_terminal.py', + 'testing/test_debugging.py', + 'testing/test_config.py', + 'testing/test_helpconfig.py', +] +_ignore_tests = ' --ignore='.join(_skip_tests) + +exts_list = [ + ('iniconfig', '2.0.0', { + 'checksums': ['2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3'], + }), + ('exceptiongroup', '1.1.1', { + 'checksums': ['d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785'], + }), + ('pluggy', '1.2.0', { + 'checksums': ['d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3'], + }), + ('elementpath', '4.1.5', { + 'checksums': ['c2d6dc524b29ef751ecfc416b0627668119d8812441c555d7471da41d4bacb8d'], + }), + ('xmlschema', '2.5.0', { + 'checksums': ['276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454'], + }), + (name, version, { + 'checksums': ['a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069'], + }), +] + +sanity_check_commands = [ + "python -c 'import pytest'", + 'cd %%(builddir)s/%%(name)s/%%(name)s-%%(version)s && %%(installdir)s/bin/pytest --ignore=%s testing' + % _ignore_tests, +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pythermalcomfort/pythermalcomfort-2.8.10-foss-2022a.eb b/easybuild/easyconfigs/p/pythermalcomfort/pythermalcomfort-2.8.10-foss-2022a.eb new file mode 100644 index 00000000000..f3c3fa164c0 --- /dev/null +++ b/easybuild/easyconfigs/p/pythermalcomfort/pythermalcomfort-2.8.10-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'pythermalcomfort' +version = '2.8.10' + +homepage = 'https://github.com/CenterForTheBuiltEnvironment/pythermalcomfort' +description = """Package to calculate several thermal comfort + indices (e.g. PMV, PPD, SET, adaptive) and convert physical variables.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ff6ff88476bff23619411bc90656f1ae54354a30d5b3a554434adc68a18d76c6'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/pythermalcomfort'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["pythermalcomfort --help"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/python-Levenshtein/python-Levenshtein-0.12.1-foss-2020b.eb b/easybuild/easyconfigs/p/python-Levenshtein/python-Levenshtein-0.12.1-foss-2020b.eb new file mode 100644 index 00000000000..9934a63e080 --- /dev/null +++ b/easybuild/easyconfigs/p/python-Levenshtein/python-Levenshtein-0.12.1-foss-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-Levenshtein' +version = '0.12.1' + +homepage = 'https://pypi.org/project/python-Levenshtein/' +description = 'Python extension for computing string edit distances and similarities.' + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['554e273a88060d177e7b3c1e6ea9158dde11563bfae8f7f661f73f47e5ff0911'] + +dependencies = [ + ('Python', '3.8.6'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'Levenshtein'} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/p/python-blosc/python-blosc-1.11.0-foss-2023a.eb b/easybuild/easyconfigs/p/python-blosc/python-blosc-1.11.0-foss-2023a.eb new file mode 100644 index 00000000000..3a8083cc0d5 --- /dev/null +++ b/easybuild/easyconfigs/p/python-blosc/python-blosc-1.11.0-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'python-blosc' +version = '1.11.0' + +homepage = 'https://github.com/Blosc/python-blosc/' +description = "A Python wrapper for the extremely fast Blosc compression library." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('scikit-build', '0.17.6'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Blosc', '1.21.5'), +] + +use_pip = True +sanity_pip_check = True + +local_preinstallopts = 'export USE_SYSTEM_BLOSC=1 && ' +local_preinstallopts += 'export Blosc_ROOT=$EBROOTBLOSC && ' + +exts_list = [ + ('blosc', version, { + 'preinstallopts': local_preinstallopts, + 'checksums': ['c985b8f435dbc49b190fe88947539ed710ad0e9aaaf83778acc506a71ada7bd2'], + }), +] + +sanity_check_commands = ["python -m blosc.test"] + +moduleclass = 'lib' 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-docx/python-docx-0.8.11-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/python-docx/python-docx-0.8.11-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..f5f38e76007 --- /dev/null +++ b/easybuild/easyconfigs/p/python-docx/python-docx-0.8.11-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'python-docx' +version = '0.8.11' + +homepage = 'https://python-docx.readthedocs.io/en/latest/' +description = 'python-docx is a Python library for creating and updating Microsoft Word (.docx) files' + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1105d233a0956dd8dd1e710d20b159e2d72ac3c301041b95f4d4ceb3e0ebebc4'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('lxml', '4.6.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'docx'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-docx/python-docx-0.8.11-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/python-docx/python-docx-0.8.11-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4dc389d5dc9 --- /dev/null +++ b/easybuild/easyconfigs/p/python-docx/python-docx-0.8.11-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'python-docx' +version = '0.8.11' + +homepage = 'https://python-docx.readthedocs.io/en/latest/' +description = 'python-docx is a Python library for creating and updating Microsoft Word (.docx) files' + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['1105d233a0956dd8dd1e710d20b159e2d72ac3c301041b95f4d4ceb3e0ebebc4'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('lxml', '4.9.2'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +options = {'modulename': 'docx'} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-elf/python-elf-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/python-elf/python-elf-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..c3fe23a272a --- /dev/null +++ b/easybuild/easyconfigs/p/python-elf/python-elf-0.5.1-foss-2023a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'python-elf' +version = '0.5.1' + +homepage = 'https://github.com/constantinpape/elf' +description = "Utils and convenience functions for large-scale bio-image analysis." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('scikit-build', '0.17.6'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('imageio', '2.33.1'), + ('scikit-image', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('h5py', '3.9.0'), + ('zarr', '2.17.1'), + ('mrcfile', '1.5.0'), + ('numba', '0.58.1'), + ('tqdm', '4.66.1'), + ('vigra', '1.11.2'), + ('python-blosc', '1.11.0'), + ('openpyxl', '3.1.2'), + ('nifty', '1.2.1'), + ('z5py', '2.0.17'), + ('affogato', '0.3.3'), + ('napari', '0.4.18'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('nose2', '0.14.1', { + 'checksums': ['7f8f03a21c9de2c33015933afcef72bf8e4a2d5dfec3b40092287de6e41b093a'], + }), + ('intern', '1.4.1', { + 'checksums': ['7cdc6caa66716760f93dbbadaa67cc8a03866d6c5f33a6a3285cb9e5f4994315'], + }), + ('skan', '0.11.1', { + 'checksums': ['d5439c17fbf5f86386a7548acb6ab11482961164a6284047b9bdc6652a0d1faf'], + }), + (name, version, { + 'modulename': 'elf', + 'source_urls': ['https://github.com/constantinpape/elf/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['29c542dfb953a1975e2d45f72c84b8f8a2f79fcb0cb2d855dae5493cadbbaa9d'], + }), +] + +sanity_check_commands = [ + "python -c 'import elf.segmentation.multicut'", + "python -c 'import elf.segmentation.features'", + "python -c 'import elf.segmentation.embeddings'", + "python -c 'from elf.segmentation.mutex_watershed import mutex_watershed_clustering'", + "python -c 'from elf.segmentation.utils import load_mutex_watershed_problem'", + "python -c 'import elf.htm'", + "python -c 'from elf.parallel.label import label'", + "python -c 'from elf.evaluation import rand_index'", + "python -c 'from elf.io import open_file'", + "python -c 'from elf.visualisation import visualise_edges'", + "python -c 'import elf.tracking.tracking_utils'", + "python -c 'import elf.transformation'", + "python -c 'import elf.util'", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb new file mode 100644 index 00000000000..469bb111d12 --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.3-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.10.3' + +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': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('igraph', '0.10.3'), + ('PyCairo', '1.21.0'), + ('Clang', '13.0.1'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.6.7', { + 'checksums': ['290348fb67f7746931bcdfd55ac7584ecd4e5b0846ab164333f0794b121760f2'], + }), + ('igraph', version, { + 'patches': ['python-igraph-0.9.0_fix-igraph-libs.patch'], + 'checksums': [ + 'b720cb88c4b9af4a968e8390355f666ba146d631298518cc4ffa1bd0e2c21eed', # igraph-0.10.3.tar.gz + # python-igraph-0.9.0_fix-igraph-libs.patch + '7af7a6e6a8b982ced7cdd939d82a98829512088744bebad34c714a3c4803f126', + ], + 'installopts': '--install-option="--use-pkg-config"', + 'modulename': 'igraph', + }), +] + +sanity_check_paths = { + 'files': ['bin/igraph'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# 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-igraph/python-igraph-0.10.6-foss-2022b.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.6-foss-2022b.eb new file mode 100644 index 00000000000..3b61ec3f869 --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.10.6-foss-2022b.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.10.6' + +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': '2022b'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('igraph', '0.10.6'), + ('Clang', '16.0.4'), + ('libxml2', '2.10.3'), + ('zlib', '1.2.12'), + ('cairo', '1.17.4'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.6.4', { + 'checksums': ['42ee7b9e15f7b225747c3fa08f43c5d6c83bc899f80ff9bae9319334824076e9'], + }), + ('cairocffi', '1.6.1', { + 'checksums': ['78e6bbe47357640c453d0be929fa49cd05cce2e1286f3d2a1ca9cbda7efdb8b7'], + }), + # The pypi project 'python-igraph' is depreicated, use pypi package igraph instead. To avoid + # collision with the C/C++ build of igraph, continue to use the package name 'python-igraph' + ('igraph', version, { + 'installopts': '--install-option="--use-pkg-config"', + 'modulename': 'igraph', + 'checksums': ['76f7aad294514412f835366a7d9a9c1e7a34c3e6ef0a6c3a1a835234323228e8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/igraph'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# 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-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-igraph/python-igraph-0.9.6-foss-2021a.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.9.6-foss-2021a.eb new file mode 100644 index 00000000000..a9d7cb4ed18 --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.9.6-foss-2021a.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.9.6' + +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': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('igraph', '0.9.4'), + ('PyCairo', '1.20.1'), + ('Clang', '12.0.1'), + ('libxml2', '2.9.10'), + ('zlib', '1.2.11'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.6.4', { + 'checksums': ['42ee7b9e15f7b225747c3fa08f43c5d6c83bc899f80ff9bae9319334824076e9'], + }), + (name, version, { + 'installopts': '--install-option="--use-pkg-config"', + 'modulename': 'igraph', + 'patches': ['%(name)s-0.9.0_fix-igraph-libs.patch'], + 'checksums': [ + '1824ca0489068100534d717056395d580b2d19bf4fefb378465e6a37a20bf316', # python-igraph-0.9.6.tar.gz + # python-igraph-0.9.0_fix-igraph-libs.patch + '7af7a6e6a8b982ced7cdd939d82a98829512088744bebad34c714a3c4803f126', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/igraph'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# cairo must be available for proper plotting support +sanity_check_commands = ["python -c 'from igraph.drawing.utils import find_cairo; cairo = find_cairo(); cairo.Context'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-igraph/python-igraph-0.9.8-foss-2021b.eb b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.9.8-foss-2021b.eb new file mode 100644 index 00000000000..f16f7fbcc66 --- /dev/null +++ b/easybuild/easyconfigs/p/python-igraph/python-igraph-0.9.8-foss-2021b.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'python-igraph' +version = '0.9.8' + +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': '2021b'} + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('igraph', '0.9.5'), + ('PyCairo', '1.20.1'), + ('Clang', '12.0.1'), + ('libxml2', '2.9.10'), + ('zlib', '1.2.11'), +] + +use_pip = True + +exts_list = [ + ('texttable', '1.6.4', { + 'checksums': ['42ee7b9e15f7b225747c3fa08f43c5d6c83bc899f80ff9bae9319334824076e9'], + }), + ('igraph', version, { + 'installopts': '--install-option="--use-pkg-config"', + 'modulename': 'igraph', + 'patches': ['python-igraph-0.9.0_fix-igraph-libs.patch'], + 'checksums': [ + 'e7bad9f5f52e6dc3ccdaa3d02d8ec433d9ada704f7a83168915cfa0c4c226730', # igraph-0.9.8.tar.gz + # python-igraph-0.9.0_fix-igraph-libs.patch + '7af7a6e6a8b982ced7cdd939d82a98829512088744bebad34c714a3c4803f126', + ], + }), +] + +sanity_check_paths = { + 'files': ['bin/igraph'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +# cairo must be available for proper plotting support +sanity_check_commands = ["python -c 'from igraph.drawing.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-1.1.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-1.1.4-GCCcore-10.3.0.eb new file mode 100755 index 00000000000..136c97d177d --- /dev/null +++ b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-1.1.4-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'python-irodsclient' +version = '1.1.4' + +homepage = 'https://github.com/irods/python-irodsclient' +description = "A python API for iRODS" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('prettytable', '3.3.0', { + 'checksums': ['118eb54fd2794049b810893653b20952349df6d3bc1764e7facd8a18064fa9b0'], + }), + (name, version, { + 'modulename': 'irods', + 'checksums': ['f427699739911042dc35a7fbd92f7ba87db9fad3977423c2fa2ab61a0ffebe43'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-1.1.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-1.1.4-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..c68d09039d3 --- /dev/null +++ b/easybuild/easyconfigs/p/python-irodsclient/python-irodsclient-1.1.4-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'python-irodsclient' +version = '1.1.4' + +homepage = 'https://github.com/irods/python-irodsclient' +description = "A python API for iRODS" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('prettytable', '3.3.0', { + 'checksums': ['118eb54fd2794049b810893653b20952349df6d3bc1764e7facd8a18064fa9b0'], + }), + (name, version, { + 'modulename': 'irods', + 'checksums': ['f427699739911042dc35a7fbd92f7ba87db9fad3977423c2fa2ab61a0ffebe43'], + }), +] + +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-0.11.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9a5313be404 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.0-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '0.11.0' +_modname = 'isal' + +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': '10.3.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3959ce30f1043ae591bc9d6ee9edb5781c09cc15c69dd5361517d29b56327260'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': _modname} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..a8d2cb81ce6 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-10.2.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '0.11.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': '10.2.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['43d885814f1ee19f5c3a7e9ada3d696fe75f19c0853728fe0ade564bc021a78f'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [ + ('Python', '3.8.6'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f78d48e7c9d --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-0.11.1-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '0.11.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': '11.2.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['43d885814f1ee19f5c3a7e9ada3d696fe75f19c0853728fe0ade564bc021a78f'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..24db46643c1 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.1.0' + +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': '11.3.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fa7f5ac22350cf9c4370aa725dea39c4155123864fff4bf6e6392f83976c86f'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a913b5d6331 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.1.0' + +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': '12.2.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fa7f5ac22350cf9c4370aa725dea39c4155123864fff4bf6e6392f83976c86f'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..77edd20e032 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.1.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.1.0' + +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': '12.3.0'} + +github_account = 'pycompression' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['3fa7f5ac22350cf9c4370aa725dea39c4155123864fff4bf6e6392f83976c86f'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('ISA-L', '2.30.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' +installopts = '--no-binary isal' + +options = {'modulename': 'isal'} + +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-isal/python-isal-1.7.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..96885969511 --- /dev/null +++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'python-isal' +version = '1.7.0' + +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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('versioningit', '3.1.2'), +] +dependencies = [ + ('Python', '3.12.3'), + ('ISA-L', '2.31.0'), +] + +source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')] +sources = ['isal-%(version)s.tar.gz'] +checksums = ['9eb9457ed27fd0a8a7b403a5f4f9e6c8d1a44c2ca28ecd2f2bf3aed90b0a74bf'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true' + +options = {'modulename': 'isal'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb new file mode 100644 index 00000000000..04cf6dfe9e0 --- /dev/null +++ b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.19.7-foss-2021a.eb @@ -0,0 +1,47 @@ +## +# 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 = 'PythonBundle' + +name = 'python-libsbml' +version = '5.19.7' + +homepage = 'https://sbml.org/' +description = """LibSBML Python API.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.2.9'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'libsbml', + 'checksums': ['447b1fde7aceccd11a93dc9f589ffd9319ba854d7b7583f911259a8b0127ab7b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.eb new file mode 100644 index 00000000000..f0bd3d688c2 --- /dev/null +++ b/easybuild/easyconfigs/p/python-libsbml/python-libsbml-5.20.2-foss-2021b.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: Pavel Tománek (INUITS) + +easyblock = 'PythonBundle' + +name = 'python-libsbml' +version = '5.20.2' + +homepage = 'https://sbml.org/' +description = """LibSBML Python API.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('make', '4.3'), + ('Check', '0.15.2'), + ('SWIG', '4.0.2'), + ('expat', '2.4.1'), + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': 'libsbml', + 'checksums': ['0af5cbff68c9b52bac4bd7bb261f93a60832dc8cb31dafc90d3aff51467935b7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' 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-louvain/python-louvain-0.15-foss-2021b.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.15-foss-2021b.eb new file mode 100644 index 00000000000..393d5ade5b9 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.15-foss-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.15' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2a856edfbe29952a60a5538a84bb78cca18f6884a88b9325e85a11c8dd4917eb'] + +dependencies = [ + ('Python', '3.9.6'), + ('networkx', '2.6.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb new file mode 100644 index 00000000000..0be4ba83665 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.16' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'] + +dependencies = [ + ('Python', '3.10.4'), + ('networkx', '2.8.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022b.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022b.eb new file mode 100644 index 00000000000..5c6085a41e6 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.16' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'] + +dependencies = [ + ('Python', '3.10.8'), + ('networkx', '3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb new file mode 100644 index 00000000000..6f730914bc2 --- /dev/null +++ b/easybuild/easyconfigs/p/python-louvain/python-louvain-0.16-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'python-louvain' +version = '0.16' + +homepage = 'https://pypi.org/project/python-louvain' +description = "Louvain algorithm for community detection" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b7ba2df5002fd28d3ee789a49532baad11fe648e4f2117cf0798e7520a1da56b'] + +dependencies = [ + ('Python', '3.11.3'), + ('networkx', '3.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'community'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2-foss-2022a.eb b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2-foss-2022a.eb new file mode 100644 index 00000000000..1ee171c4091 --- /dev/null +++ b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'python-mujoco' +version = '2.2.2' + +homepage = 'https://www.mujoco.org' +description = """ +This package is the canonical Python bindings for the MuJoCo physics engine. +The mujoco package provides direct access to raw MuJoCo C API functions, structs, +constants, and enumerations. Structs are provided as Python classes, with +Pythonic initialization and deletion semantics. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), + ('pybind11', '2.9.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Abseil', '20230125.2'), + ('MuJoCo', '2.2.2'), + ('GLFW', '3.3.8'), + ('PyOpenGL', '3.1.6'), +] + +use_pip = True + +exts_list = [ + ('mujoco', version, { + 'patches': ['python-mujoco-2.2.2_use_eb_deps.patch'], + 'preinstallopts': 'MUJOCO_PATH="$EBROOTMUJOCO"', + 'checksums': [ + {'mujoco-2.2.2.tar.gz': 'b1ca70b21ef01d0e56952d03a387bdae9c6b141c042379226596410a3ac82085'}, + {'python-mujoco-2.2.2_use_eb_deps.patch': + 'dc05de6a86abbc12e23becdcec4c04715c8dcb9abf3dfcdd6baf0113e22273c9'}, + ], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('glfw', '2.6.1', { + 'checksums': ['e15c21f06e74cc9740bf36c3c618b5f0d015ef09fb4e216d138967d8ee532567'], + }), +] + +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2_use_eb_deps.patch b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2_use_eb_deps.patch new file mode 100644 index 00000000000..4142c9277fc --- /dev/null +++ b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-2.2.2_use_eb_deps.patch @@ -0,0 +1,32 @@ +Use EasyBuild provided dependencies +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -ur mujoco-2.2.2.orig/mujoco/CMakeLists.txt mujoco-2.2.2/mujoco/CMakeLists.txt +--- mujoco-2.2.2.orig/mujoco/CMakeLists.txt 2022-09-06 20:39:39.000000000 +0200 ++++ mujoco-2.2.2/mujoco/CMakeLists.txt 2023-06-28 11:50:43.850376703 +0200 +@@ -119,7 +119,7 @@ + set(MUJOCO_PYTHON_ABSL_TARGETS absl::core_headers absl::flat_hash_map absl::span) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + absl + LIBRARY_NAME +@@ -152,7 +152,7 @@ + add_compile_definitions(EIGEN_MPL2_ONLY) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + Eigen3 + LIBRARY_NAME +@@ -169,7 +169,7 @@ + # ==================== PYBIND11 ================================================ + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + pybind11 + LIBRARY_NAME diff --git a/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb new file mode 100644 index 00000000000..ea4591a1783 --- /dev/null +++ b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'python-mujoco' +version = '3.1.4' + +homepage = 'https://www.mujoco.org' +description = """ +This package is the canonical Python bindings for the MuJoCo physics engine. +The mujoco package provides direct access to raw MuJoCo C API functions, structs, +constants, and enumerations. Structs are provided as Python classes, with +Pythonic initialization and deletion semantics. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + ('pybind11', '2.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Abseil', '20230125.3'), + ('MuJoCo', '3.1.4'), + ('GLFW', '3.4'), + ('PyOpenGL', '3.1.7'), +] + +use_pip = True + +exts_list = [ + ('absl-py', '2.1.0', { + 'modulename': 'absl', + 'checksums': ['7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff'], + }), + ('glfw', '2.7.0', { + 'checksums': ['0e209ad38fa8c5be67ca590d7b17533d95ad1eb57d0a3f07b98131db69b79000'], + }), + ('etils', '1.8.0', { + 'checksums': ['fb478f57fec202e260e54c9192b317692fd63db2d11d993e70bcdffa29cccd58'], + }), + ('mujoco', version, { + 'patches': ['python-mujoco-3.1.4_use_eb_deps.patch'], + 'preinstallopts': 'MUJOCO_PATH="$EBROOTMUJOCO" MUJOCO_PLUGIN_PATH="$EBROOTMUJOCO/bin/mujoco_plugin"', + 'checksums': [ + {'mujoco-3.1.4.tar.gz': '19d78bd7332b8bf02b8d7ca35d381a9f8f1654f4c70c0d7f499c6d4d807c4059'}, + {'python-mujoco-3.1.4_use_eb_deps.patch': + '2160f00996011ff31faaf566d1cb0c0ae4fe49b3c36c29e860b34a61fa732b55'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4_use_eb_deps.patch b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4_use_eb_deps.patch new file mode 100644 index 00000000000..2a57ac16ec8 --- /dev/null +++ b/easybuild/easyconfigs/p/python-mujoco/python-mujoco-3.1.4_use_eb_deps.patch @@ -0,0 +1,30 @@ +Use EasyBuild provided dependencies +Author: Cintia Willemyns (Vrije Universiteit Brussel) +--- mujoco-3.1.4.orig/mujoco/CMakeLists.txt 2024-04-17 15:42:21.449694000 +0200 ++++ mujoco-3.1.4/mujoco/CMakeLists.txt 2024-04-17 15:43:56.347482395 +0200 +@@ -132,7 +132,7 @@ + set(MUJOCO_PYTHON_ABSL_TARGETS absl::core_headers absl::flat_hash_map absl::span) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + absl + LIBRARY_NAME +@@ -165,7 +165,7 @@ + add_compile_definitions(EIGEN_MPL2_ONLY) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + Eigen3 + LIBRARY_NAME +@@ -183,6 +183,7 @@ + option(MUJOCO_PYTHON_USE_SYSTEM_PYBIND11 "Use installed pybind11 version." OFF) + findorfetch( + USE_SYSTEM_PACKAGE ++ ON + MUJOCO_PYTHON_USE_SYSTEM_PYBIND11 + PACKAGE_NAME + pybind11 diff --git a/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.3-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.3-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..ebbe2552def --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.3-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,36 @@ +# Contribution by +# DeepThought, Flinders University +# Updated to v1.2.3 +# R.QIAO + +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.2.3' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['e0eb66b15c6318724bd3c4a3c05b5a1a4b7926eb1ee79606958c98c52a32cbb3'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('parasail', '2.4.2'), +] + +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-parasail/python-parasail-1.2.4-foss-2020b.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2020b.eb new file mode 100644 index 00000000000..cd8f3bb5c6d --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2020b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.2.4' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['8e6e0762924a461bb437cbb71122765c6912dace880e338bd19c7f9d12efead2'] + +builddependencies = [ + ('parasail', '2.4.3'), +] +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +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-parasail/python-parasail-1.2.4-foss-2021a.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2021a.eb new file mode 100644 index 00000000000..752bd173d53 --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2021a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.2.4' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['8e6e0762924a461bb437cbb71122765c6912dace880e338bd19c7f9d12efead2'] + +builddependencies = [ + ('parasail', '2.4.3'), +] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +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-parasail/python-parasail-1.2.4-foss-2021b.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2021b.eb new file mode 100644 index 00000000000..1b586fbe7f0 --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.2.4-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.2.4' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['8e6e0762924a461bb437cbb71122765c6912dace880e338bd19c7f9d12efead2'] + +builddependencies = [ + ('parasail', '2.5'), +] +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +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-parasail/python-parasail-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.3-foss-2022a.eb new file mode 100755 index 00000000000..42d5f17c07c --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.3-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'python-parasail' +version = '1.3.3' + +homepage = 'https://github.com/jeffdaily/parasail-python' +description = "Python Bindings for the Parasail C Library" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['06f05066d9cf624c0b043f51a1e9d2964154e1edd0f9843e0838f32073e576f8'] + +builddependencies = [ + ('parasail', '2.6'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +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-parasail/python-parasail-1.3.4-foss-2022b.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2022b.eb new file mode 100644 index 00000000000..9411731d91a --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2022b.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': '2022b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/parasail'] +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['d6a7035dfae3ef5aafdd7e6915711214c22b572ea059fa69d9d7ecbfb9b61b0f'] + +builddependencies = [ + ('parasail', '2.6.2'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +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-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-parasail/python-parasail-1.3.4-foss-2023b.eb b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2023b.eb new file mode 100644 index 00000000000..46bbb77dda9 --- /dev/null +++ b/easybuild/easyconfigs/p/python-parasail/python-parasail-1.3.4-foss-2023b.eb @@ -0,0 +1,32 @@ +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': '2023b'} + +sources = ['parasail-%(version)s.tar.gz'] +checksums = ['d6a7035dfae3ef5aafdd7e6915711214c22b572ea059fa69d9d7ecbfb9b61b0f'] + +builddependencies = [ + ('parasail', '2.6.2'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +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-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/python-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..dfb7a16b6ba --- /dev/null +++ b/easybuild/easyconfigs/p/python-telegram-bot/python-telegram-bot-20.0a0-GCCcore-10.2.0.eb @@ -0,0 +1,85 @@ +easyblock = 'PythonBundle' + +name = 'python-telegram-bot' +version = '20.0a0' + +homepage = 'https://python-telegram-bot.org/' +description = """This library provides a pure Python, asynchronous interface for the Telegram Bot API. + It's compatible with Python versions 3.7+.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +dependencies = [ + ('Python', '3.8.6'), +] + +builddependencies = [('binutils', '2.35')] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('APScheduler', '3.9.1', { + 'checksums': ['65e6574b6395498d371d045f2a8a7e4f7d50c6ad21ef7313d15b1c7cf20df1e3'], + }), + ('anyio', '3.6.2', { + 'checksums': ['25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421'], + }), + ('backports.zoneinfo', '0.2.1', { + 'checksums': ['fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2'], + }), + ('cachetools', '5.0.0', { + 'checksums': ['486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6'], + }), + ('charset-normalizer', '2.1.1', { + 'checksums': ['5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845'], + }), + ('flit_core', '3.7.1', { + 'checksums': ['14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f'], + }), + ('h11', '0.12.0', { + 'checksums': ['47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042'], + }), + ('httpcore', '0.14.7', { + 'checksums': ['7503ec1c0f559066e7e39bc4003fd2ce023d01cf51793e3c173b864eb456ead1'], + }), + ('httpx', '0.22.0', { + 'checksums': ['d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4'], + }), + ('idna', '3.4', { + 'checksums': ['814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4'], + }), + ('pytz_deprecation_shim', '0.1.0.post0', { + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + # to overwrite Python's requests requirement which requires older version of idna + ('requests', '2.28.1', { + 'checksums': ['7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983'], + }), + ('rfc3986', '1.5.0', { + 'checksums': ['270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835'], + }), + ('sniffio', '1.3.0', { + 'checksums': ['e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101'], + }), + ('tornado', '6.1', { + 'checksums': ['33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791'], + }), + ('tzdata', '2022.5', { + 'checksums': ['e15b2b3005e2546108af42a0eb4ccab4d9e225e2dfbf4f77aad50c70a4b1f3ab'], + }), + ('tzlocal', '4.2', { + 'checksums': ['ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7'], + }), + (name, version, { + 'modulename': 'telegram', + 'checksums': ['a182a3d081071f1ea34833bc68ed7d0843c1fe0d6dca1d260a0e2d253b150f71'], + }), +] + +sanity_check_commands = [ + "python -c 'from telegram import Update'", + "python -c 'from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/python-weka-wrapper3/python-weka-wrapper3-0.1.11-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/p/python-weka-wrapper3/python-weka-wrapper3-0.1.11-foss-2019b-Python-3.7.4.eb index b3f71b6a46b..eafbd05b096 100644 --- a/easybuild/easyconfigs/p/python-weka-wrapper3/python-weka-wrapper3-0.1.11-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/p/python-weka-wrapper3/python-weka-wrapper3-0.1.11-foss-2019b-Python-3.7.4.eb @@ -13,7 +13,7 @@ dependencies = [ ('Python', '3.7.4'), ('matplotlib', '3.1.1', versionsuffix), ('Pillow', '6.2.1'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] use_pip = True diff --git a/easybuild/easyconfigs/p/python-xxhash/python-xxhash-2.0.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-2.0.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..e094054b20e --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-2.0.2-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'python-xxhash' +version = '2.0.2' + +homepage = 'https://github.com/ifduyue/python-xxhash' +description = """Python bindings for xxHash. xxHash is an extremely fast +non-cryptographic hash algorithm, working at RAM speed limit.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('xxHash', '0.8.1'), +] + +use_pip = True + +exts_list = [ + ('xxhash', version, { + 'preinstallopts': 'XXHASH_LINK_SO=1', + 'checksums': ['b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cae096c79f5 --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.1.0-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'python-xxhash' +version = '3.1.0' + +homepage = 'https://github.com/ifduyue/python-xxhash' +description = """Python bindings for xxHash. xxHash is an extremely fast +non-cryptographic hash algorithm, working at RAM speed limit.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('xxHash', '0.8.1'), +] + +use_pip = True + +exts_list = [ + ('xxhash', version, { + 'checksums': ['ac21b1e21dc6fdfee9a57b53f4777539d53a84f2e1546a3f802f159f9966bdc1'], + 'preinstallopts': 'XXHASH_LINK_SO=1', # use xxHash library from EB + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.2.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.2.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a776e467399 --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.2.0-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'python-xxhash' +version = '3.2.0' + +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.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('xxHash', '0.8.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xxhash', version, { + 'checksums': ['1afd47af8955c5db730f630ad53ae798cf7fae0acb64cebb3cf94d35c47dd088'], + 'preinstallopts': 'XXHASH_LINK_SO=1', # use xxHash library from EB + }), +] + +moduleclass = 'lib' 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/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9f43a8f2759 --- /dev/null +++ b/easybuild/easyconfigs/p/python-xxhash/python-xxhash-3.4.1-GCCcore-13.2.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': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('xxHash', '0.8.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xxhash', version, { + 'preinstallopts': 'XXHASH_LINK_SO=1', + '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/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..7c9c80b1e52 --- /dev/null +++ b/easybuild/easyconfigs/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +easyblock = 'Binary' + +name = 'pytorch-CycleGAN-pix2pix' +version = '20230314' +_commit = '9f8f61e' +versionsuffix = '-CUDA-11.7.0' + +homepage = 'https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix' +description = """ +PyTorch implementations for both unpaired and paired image-to-image translation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [{ + 'source_urls': ['https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/archive'], + 'download_filename': '%s.tar.gz' % _commit, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['%(name)s-%(version)s_fix_pytorch_order.patch'] +checksums = [ + {'pytorch-CycleGAN-pix2pix-20230314.tar.gz': '8a50fd9431b5720767b9a3803d8d8e8dd10119555acbf04eaa2a79ffc9cdefca'}, + {'pytorch-CycleGAN-pix2pix-20230314_fix_pytorch_order.patch': + '5afc81d510fd1ead98e1b9788734659328edac81240af9c97ee02267b0cd7d56'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('wandb', '0.13.4'), + ('dominate', '2.8.0'), + ('visdom', '0.2.4'), +] + +extract_sources = True + +_pylib = 'lib/python%(pyshortver)s/site-packages' + +postinstallcmds = [ + 'cd %(installdir)s && mkdir bin && mv train.py test.py bin/ && chmod a+rx bin/*.py', + 'cd %%(installdir)s && mkdir -p %s && mv data models options util %s' % (_pylib, _pylib), +] + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/train.py', 'bin/test.py'], + 'dirs': ['datasets', 'docs', 'imgs', 'scripts', _pylib], +} + +sanity_check_commands = [ + 'train.py --help', + 'test.py --help', +] + +modextrapaths = {'PYTHONPATH': _pylib} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314_fix_pytorch_order.patch b/easybuild/easyconfigs/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314_fix_pytorch_order.patch new file mode 100644 index 00000000000..b6345657b9a --- /dev/null +++ b/easybuild/easyconfigs/p/pytorch-CycleGAN-pix2pix/pytorch-CycleGAN-pix2pix-20230314_fix_pytorch_order.patch @@ -0,0 +1,60 @@ +Fix: +.../PyTorch/1.12.0-foss-2022a-CUDA-11.7.0/lib/python3.10/site-packages/torch/optim/lr_scheduler.py:131: UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`. Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate + warnings.warn("Detected call of `lr_scheduler.step()` before `optimizer.step()`. " + +From: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/issues/1412#issuecomment-1109419010 +diff -ur pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/models/base_model.py pytorch-CycleGAN-and-pix2pix-9f8f61e/models/base_model.py +--- pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/models/base_model.py 2023-03-14 21:28:49.000000000 +0100 ++++ pytorch-CycleGAN-and-pix2pix-9f8f61e/models/base_model.py 2023-06-13 21:50:16.637178772 +0200 +@@ -114,16 +114,7 @@ + return self.image_paths + + def update_learning_rate(self): +- """Update learning rates for all the networks; called at the end of every epoch""" +- old_lr = self.optimizers[0].param_groups[0]['lr'] +- for scheduler in self.schedulers: +- if self.opt.lr_policy == 'plateau': +- scheduler.step(self.metric) +- else: +- scheduler.step() +- +- lr = self.optimizers[0].param_groups[0]['lr'] +- print('learning rate %.7f -> %.7f' % (old_lr, lr)) ++ pass + + def get_current_visuals(self): + """Return visualization images. train.py will display these images with visdom, and save the images to a HTML""" +diff -ur pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/models/pix2pix_model.py pytorch-CycleGAN-and-pix2pix-9f8f61e/models/pix2pix_model.py +--- pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/models/pix2pix_model.py 2023-03-14 21:28:49.000000000 +0100 ++++ pytorch-CycleGAN-and-pix2pix-9f8f61e/models/pix2pix_model.py 2023-06-13 22:02:28.673948000 +0200 +@@ -64,6 +64,7 @@ + # define loss functions + self.criterionGAN = networks.GANLoss(opt.gan_mode).to(self.device) + self.criterionL1 = torch.nn.L1Loss() ++ self.old_lr = opt.lr + # initialize optimizers; schedulers will be automatically created by function . + self.optimizer_G = torch.optim.Adam(self.netG.parameters(), lr=opt.lr, betas=(opt.beta1, 0.999)) + self.optimizer_D = torch.optim.Adam(self.netD.parameters(), lr=opt.lr, betas=(opt.beta1, 0.999)) +@@ -125,3 +126,13 @@ + self.optimizer_G.zero_grad() # set G's gradients to zero + self.backward_G() # calculate graidents for G + self.optimizer_G.step() # update G's weights ++ ++ def update_learning_rate(self): ++ lrd = self.opt.lr / self.opt.n_epochs_decay ++ lr = self.old_lr - lrd ++ for param_group in self.optimizer_D.param_groups: ++ param_group['lr'] = lr ++ for param_group in self.optimizer_G.param_groups: ++ param_group['lr'] = lr ++ print('update learning rate: %f -> %f' % (self.old_lr, lr)) ++ self.old_lr = lr +diff -ur pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/train.py pytorch-CycleGAN-and-pix2pix-9f8f61e/train.py +--- pytorch-CycleGAN-and-pix2pix-9f8f61e.orig/train.py 2023-03-14 21:28:49.000000000 +0100 ++++ pytorch-CycleGAN-and-pix2pix-9f8f61e/train.py 2023-06-13 22:03:55.965877000 +0200 +@@ -75,3 +75,5 @@ + model.save_networks(epoch) + + print('End of epoch %d / %d \t Time Taken: %d sec' % (epoch, opt.n_epochs + opt.n_epochs_decay, time.time() - epoch_start_time)) ++ if epoch > opt.n_epochs: ++ model.update_learning_rate() # update learning rates at the end of every epoch. diff --git a/easybuild/easyconfigs/p/pyvips/pyvips-2.2.3-GCC-12.3.0.eb b/easybuild/easyconfigs/p/pyvips/pyvips-2.2.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..b690235bd4c --- /dev/null +++ b/easybuild/easyconfigs/p/pyvips/pyvips-2.2.3-GCC-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'pyvips' +version = '2.2.3' + +homepage = 'https://github.com/libvips/pyvips' +description = """This module wraps the libvips image processing library. +libvips is a demand-driven, horizontally threaded image processing library.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +github_account = 'libvips' +local_pyshortver = '3.11' # no pyshortver with Python-bundle-PyPI + +source_urls = ['https://github.com/%s/%s/archive/refs/tags/' % (github_account, name)] +sources = ['v%(version)s.tar.gz'] +checksums = ['d70f21a557523404884dd2a192505227e1e6a50ed74315d73c416489b43e9414'] + +dependencies = [ + ('libvips', '8.15.2'), + ('Python-bundle-PyPI', '2023.06'), + ('pyperf', '2.7.0'), + ('pkgconfig', '1.5.5', '-python'), +] + +download_dep_fail = True +use_pip = True + +testinstall = True +runtest = 'pytest' + +sanity_check_paths = { + 'files': ['lib/python%s/site-packages/pyvips/base.py' % local_pyshortver], + 'dirs': ['lib/python%s/site-packages' % local_pyshortver], +} + +sanity_check_commands = ['python -c "import pyvips"'] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4261cd91c3a --- /dev/null +++ b/easybuild/easyconfigs/q/QCA/QCA-2.3.5-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QCA' +version = '2.3.5' + +homepage = 'https://userbase.kde.org/QCA' +description = """Taking a hint from the similarly-named Java Cryptography Architecture, + QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes + and conventions. QCA separates the API from the implementation, using plugins known as + Providers. The advantage of this model is to allow applications to avoid linking to or + explicitly depending on any particular cryptographic library. This allows one to easily + change or upgrade crypto implementations without even needing to recompile the + application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://download.kde.org/stable/qca/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['91f7d916ab3692bf5991f0a553bf8153161bfdda14bd005d480a2b4e384362e8'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1') +] +dependencies = [ + ('Qt5', '5.15.2') +] + +configopts = "-DQT5_BUILD=true" + +sanity_check_paths = { + 'files': ['bin/qcatool-qt5', 'lib/libqca-qt5.%s' % SHLIB_EXT, 'lib/pkgconfig/qca2-qt5.pc'], + 'dirs': ['include/Qca-qt5', 'lib/cmake/Qca-qt5', 'share/man'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3-foss-2021a.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3-foss-2021a.eb new file mode 100644 index 00000000000..e15fca04e5d --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3-foss-2021a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'QCG-PilotJob' +version = '0.12.3' + +homepage = 'https://qcg-pilotjob.readthedocs.org' +description = """A python service for easy execution of many tasks inside a single allocation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyZMQ', '22.3.0'), + ('Kaleido', '0.2.1'), + ('plotly.py', '5.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('statsmodels', '0.13.0', { + 'checksums': ['f2efc02011b7240a9e851acd76ab81150a07d35c97021cb0517887539a328f8a'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.21', { + 'checksums': ['27f13ff4e4850fe8f860b77414c7880f67c6158076a7b099062cc8570f1562e5'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'patches': ['QCG-PilotJob-0.12.3_rename_zmq.patch'], + 'checksums': [ + '9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966', # v0.12.3.tar.gz + '51cba1bfe1dcd33180dffe65941acdfa70823d6cae4b81182fd16a7debf907cd', # QCG-PilotJob-0.12.3_rename_zmq.patch + ], + 'start_dir': 'components/core', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/cmds', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/executor_api', + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3_rename_zmq.patch b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3_rename_zmq.patch new file mode 100644 index 00000000000..3fa5595dadb --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.12.3_rename_zmq.patch @@ -0,0 +1,14 @@ +# Replace zmq with pyzmq +# Author: maxim-masterov (SURF) +diff -Nru QCG-PilotJob-0.12.3.orig/components/core/setup.py QCG-PilotJob-0.12.3/components/core/setup.py +--- QCG-PilotJob-0.12.3.orig/components/core/setup.py 2021-12-02 13:33:02.564287000 +0100 ++++ QCG-PilotJob-0.12.3/components/core/setup.py 2021-12-02 15:00:08.997343000 +0100 +@@ -27,7 +27,7 @@ + long_description_content_type="text/markdown", + + install_requires=[ +- "zmq", ++ "pyzmq", + "click", + "psutil", + ], diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb new file mode 100644 index 00000000000..db30f1ee63e --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-foss-2022a.eb @@ -0,0 +1,62 @@ +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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyZMQ', '24.0.1'), + ('Kaleido', '0.2.1'), + ('plotly.py', '5.12.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + ('statsmodels', '0.13.0', { + 'checksums': ['f2efc02011b7240a9e851acd76ab81150a07d35c97021cb0517887539a328f8a'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.21', { + 'checksums': ['27f13ff4e4850fe8f860b77414c7880f67c6158076a7b099062cc8570f1562e5'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'patches': ['QCG-PilotJob-0.12.3_rename_zmq.patch'], + 'checksums': [ + '9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966', # v0.12.3.tar.gz + '51cba1bfe1dcd33180dffe65941acdfa70823d6cae4b81182fd16a7debf907cd', # QCG-PilotJob-0.12.3_rename_zmq.patch + ], + 'start_dir': 'components/core', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/cmds', + }), + ('qcg', '0.12.3', { + 'source_urls': ['https://github.com/vecma-project/QCG-PilotJob/archive/'], + 'source_tmpl': 'v%(version)s.tar.gz', + 'checksums': ['9342d9fb3a13909e3fc24b9135c9c702dd03a50ee2858a8daced4aa654dce966'], + 'start_dir': 'components/executor_api', + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2022b.eb b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2022b.eb new file mode 100644 index 00000000000..4040a8b8488 --- /dev/null +++ b/easybuild/easyconfigs/q/QCG-PilotJob/QCG-PilotJob-0.13.1-gfbf-2022b.eb @@ -0,0 +1,56 @@ +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PyZMQ', '25.1.0'), + ('Kaleido', '0.2.1'), + ('statsmodels', '0.14.0'), + ('plotly.py', '5.13.1'), +] + +use_pip = True + +exts_list = [ + ('patsy', '0.5.3', { + 'checksums': ['bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277'], + }), + ('plotly_express', '0.4.1', { + 'checksums': ['ff73a41ce02fb43d1d8e8fa131ef3e6589857349ca216b941b8f3f862bce0278'], + }), + ('prompt_toolkit', '3.0.39', { + 'checksums': ['04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('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/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/QCxMS/QCxMS-5.0.3.eb b/easybuild/easyconfigs/q/QCxMS/QCxMS-5.0.3.eb new file mode 100644 index 00000000000..34a912daa3d --- /dev/null +++ b/easybuild/easyconfigs/q/QCxMS/QCxMS-5.0.3.eb @@ -0,0 +1,30 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'QCxMS' +version = '5.0.3' + +homepage = 'https://xtb-docs.readthedocs.io/en/latest/qcxms_doc/qcxms.html' +description = """QCxMS is a quantum chemical based program to calculate electron ionization (EI) + and collision induced dissociation (CID) mass spectra using Born-Oppenheimer Molecular Dynamics + (BO-MD). It is the successor of the QCEIMS program, in which the EI part is exchanged to x to + account for the greater general applicibility of the program. +""" + +toolchain = SYSTEM + +# current release does not include source code +source_urls = ['https://github.com/qcxms/QCxMS/releases/download/v.5.0.3'] +sources = ['%(name)s.v%(version)s.tar.xz'] +checksums = ['9afffbc9f16d860bea939d9d569a91067f6c4292b89d3603e4d08f53ae23b954'] + +local_bins = ['pqcxms', 'qcxms', 'q-batch', 'getres'] # 5.0.3 doesn't include 'plotms' +preinstall_cmd = "mkdir bin && mv %s bin" % " ".join(local_bins) + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QD/QD-0.8.9-foss-2021a.eb b/easybuild/easyconfigs/q/QD/QD-0.8.9-foss-2021a.eb new file mode 100644 index 00000000000..21c99df9cf6 --- /dev/null +++ b/easybuild/easyconfigs/q/QD/QD-0.8.9-foss-2021a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'QD' +version = '0.8.9' + +# Actual homepage is down. +homepage = 'https://pypi.org/project/qd/' +description = "QD-Engineering Python Library for CAE" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [('binutils', '2.36.1')] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('diversipy', '0.8', { + 'checksums': ['6abc959e64821c7122137c4352a7c9d45217a26feb2b4d4830d627b0c82b04d4'], + }), + (name, version, { + 'patches': ['QD-%(version)s_remove_pybind_requirement.patch'], + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': [ + '711fcc0772011dccddbd971407d79b9bea06f11745162066c6dbbca0f6ff5211', # qd-0.8.9.tar.gz + # QD-0.8.9_remove_pybind_requirement.patch + 'e71750960460221a601deaf1af18aec303998a2a98f0883f9e5da292728147e8', + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/q/QD/QD-0.8.9_remove_pybind_requirement.patch b/easybuild/easyconfigs/q/QD/QD-0.8.9_remove_pybind_requirement.patch new file mode 100644 index 00000000000..c36925961b5 --- /dev/null +++ b/easybuild/easyconfigs/q/QD/QD-0.8.9_remove_pybind_requirement.patch @@ -0,0 +1,13 @@ +Requirement on pybind11 is unncessarily strict. +Author: micketeer@gmail.com +--- setup.py.orig 2021-08-31 11:25:48.110514794 +0200 ++++ setup.py 2021-08-31 11:25:53.937501309 +0200 +@@ -325,7 +325,7 @@ + ext_package='qd.cae', # where to place c extensions + ext_modules=[dyna_extension], + install_requires=['numpy>=1.8', +- 'diversipy', 'pybind11==2.1.1', 'h5py'], ++ 'diversipy', 'pybind11', 'h5py'], + keywords=['cae', + 'simulation', + 'engineering', diff --git a/easybuild/easyconfigs/q/QD/QD-2.3.17-NVHPC-21.2-20160110.eb b/easybuild/easyconfigs/q/QD/QD-2.3.17-NVHPC-21.2-20160110.eb new file mode 100644 index 00000000000..5d803a7d745 --- /dev/null +++ b/easybuild/easyconfigs/q/QD/QD-2.3.17-NVHPC-21.2-20160110.eb @@ -0,0 +1,22 @@ +easyblock = 'ConfigureMake' + +name = 'QD' +version = '2.3.17' +versionsuffix = '-20160110' +local_gitcommit = 'a5dbb61' + +homepage = 'https://github.com/scibuilder/QD' +description = "Quad Double computation package" + +toolchain = {'name': 'NVHPC', 'version': '21.2'} + +source_urls = ['https://github.com/scibuilder/QD/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_gitcommit, 'filename': SOURCE_TAR_GZ}] +checksums = ['1e5949b7d20434193d496c28070d8f2fb6406a7688a86080dfdac57fbe730624'] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['qdmod', 'qd']], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb new file mode 100755 index 00000000000..f3d52a8e04b --- /dev/null +++ b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1-foss-2021b.eb @@ -0,0 +1,78 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QGIS' +version = '3.28.1' + +homepage = 'http://www.qgis.org/' +description = "QGIS is a user friendly Open Source Geographic Information System (GIS)" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'cstd': 'gnu++11'} + +source_urls = ['http://qgis.org/downloads/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['QGIS-%(version)s_fix-SIP-macro.patch'] +checksums = [ + {'qgis-3.28.1.tar.bz2': '09015bb68c45556ffe9d480272d24048e6276a6bf1c010fd77beae64329ff674'}, + {'QGIS-3.28.1_fix-SIP-macro.patch': '141b7730666b3e703b9a6648d1e5a2686f8819f6a4938c6d60aa8c8d65820bd3'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Qt5', '5.15.2'), + ('Qt5Webkit', '5.212.0-alpha4'), + ('PyQt5', '5.15.4'), + ('PROJ', '8.1.0'), + ('GEOS', '3.9.1'), + ('SQLite', '3.36'), + ('libspatialite', '5.0.1'), + ('libspatialindex', '1.9.3'), + ('PyYAML', '5.4.1'), + ('Cartopy', '0.20.3'), + ('psycopg2', '2.9.5'), + ('GDAL', '3.3.2'), + ('Qwt', '6.2.0'), + ('expat', '2.4.1'), + ('QCA', '2.3.5'), + # QScintilla must be listed after PyQt5 due to Python bindings 'overriding' those of PyQt5 + ('QScintilla', '2.11.6'), + ('GSL', '2.7'), + ('libzip', '1.7.3'), + ('QtKeychain', '0.13.2'), + ('ICU', '69.1'), + ('PostgreSQL', '13.4'), + ('GRASS', '8.2.0'), + ('protobuf', '3.17.3'), + ('exiv2', '0.27.5'), +] + +# specify locations that CMake can't figure out correctly +_copts = [ + "-DCMAKE_PREFIX_PATH=$EBROOTQT", + "-DQSCINTILLA_LIBRARY=$EBROOTQSCINTILLA/lib/libqscintilla2_qt5.%s" % SHLIB_EXT, + "-DQt5WebKit_DIR=$EBROOTQT5WEBKIT/lib64/cmake/Qt5WebKit", + "-DQt5WebKitWidgets_DIR=$EBROOTQT5WEBKIT/lib64/cmake/Qt5WebKitWidgets", + "-DPYQT5_SIP_DIR=$EBROOTPYQT5/share/sip", + "-DQSCI_SIP_DIR=$EBROOTQSCINTILLA/share/sip/PyQt5", + "-DGRASS_PREFIX8=$EBROOTGRASS/grass8", +] +configopts = ' '.join(_copts) + +sanity_check_paths = { + 'files': ['bin/qgis', 'bin/qgis_bench', 'lib/libqgis_analysis.%s' % SHLIB_EXT, + 'lib/libqgis_app.%s' % SHLIB_EXT, 'lib/libqgis_core.%s' % SHLIB_EXT, 'lib/libqgis_gui.%s' % SHLIB_EXT, + 'lib/libqgis_native.%s' % SHLIB_EXT, 'lib/libqgispython.%s' % SHLIB_EXT], + 'dirs': ['include/qgis', 'man', 'share/qgis'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch new file mode 100644 index 00000000000..0b30feff707 --- /dev/null +++ b/easybuild/easyconfigs/q/QGIS/QGIS-3.28.1_fix-SIP-macro.patch @@ -0,0 +1,27 @@ +include location of PyQt .sip files in SIPCMD macro + +author: Kenneth Hoste (HPC-UGent) +author: Pavel Grochal (INUITS) + +Updated to QGIS/3.28.1: Åke Sandgren, 2022-12-09 +diff -ru qgis-3.28.1.orig/cmake/SIPMacros.cmake qgis-3.28.1/cmake/SIPMacros.cmake +--- qgis-3.28.1.orig/cmake/SIPMacros.cmake 2022-11-18 13:10:21.000000000 +0100 ++++ qgis-3.28.1/cmake/SIPMacros.cmake 2022-12-09 08:14:33.475615182 +0100 +@@ -101,7 +101,7 @@ + ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) + ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) + +- SET(SIPCMD ${SIP_BUILD_EXECUTABLE} --no-protected-is-public --pep484-pyi --no-make --concatenate=${SIP_CONCAT_PARTS} --qmake=${QMAKE_EXECUTABLE} --include-dir=${CMAKE_CURRENT_BINARY_DIR} --include-dir=${PYQT5_SIP_DIR} ${SIP_BUILD_EXTRA_OPTIONS}) ++ SET(SIPCMD ${SIP_BUILD_EXECUTABLE} --no-protected-is-public --pep484-pyi --no-make --concatenate=${SIP_CONCAT_PARTS} --qmake=${QMAKE_EXECUTABLE} --include-dir=${CMAKE_CURRENT_BINARY_DIR} --include-dir=${PYQT5_SIP_DIR} --include-dir=$ENV{EBROOTPYQT5}/share/sip --include-dir=$ENV{EBROOTQSCINTILLA}/share/sip/PyQt5 ${SIP_BUILD_EXTRA_OPTIONS}) + + ADD_CUSTOM_COMMAND( + OUTPUT ${_sip_output_files} +@@ -140,7 +140,7 @@ + ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} ) + ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} ) + +- SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} -I ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_configured_module_sip}) ++ SET(SIPCMD ${SIP_BINARY_PATH} ${_sip_tags} -w -e ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} -I ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} --include-dir=$ENV{EBROOTPYQT5}/share/sip --include-dir=$ENV{EBROOTQSCINTILLA}/share/sip/PyQt5 ${_configured_module_sip}) + ADD_CUSTOM_COMMAND( + OUTPUT ${_sip_output_files} + COMMAND ${CMAKE_COMMAND} -E echo ${message} diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2021.8.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2021.8.eb new file mode 100644 index 00000000000..27c300f63a1 --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2021.8.eb @@ -0,0 +1,31 @@ +# EasyBuild recipy for QIIME2 +# Author: Caspar van Leeuwen +# SURFsara - The Netherlands + +easyblock = 'Conda' + +name = 'QIIME2' +version = '2021.8' + +homepage = 'http://qiime2.org/' +description = """QIIME is an open-source bioinformatics pipeline for performing microbiome analysis + from raw DNA sequencing data.""" + +source_urls = ['https://data.qiime2.org/distro/core/'] +sources = ['qiime2-%(version)s-py38-linux-conda.yml'] +checksums = ['af381370dd034b71fe72925b1890cc7bc7566e5d4409eaef91825ffb446455a0'] + +toolchain = SYSTEM + +builddependencies = [('Miniconda3', '4.9.2')] + +environment_file = 'qiime2-%(version)s-py38-linux-conda.yml' + +sanity_check_commands = ['qiime info'] + +sanity_check_paths = { + 'files': ["bin/qiime"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb new file mode 100644 index 00000000000..d709d4458ce --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.11.eb @@ -0,0 +1,31 @@ +# EasyBuild recipy for QIIME2 +# Author: Caspar van Leeuwen +# SURFsara - The Netherlands + +easyblock = 'Conda' + +name = 'QIIME2' +version = '2022.11' + +homepage = 'http://qiime2.org/' +description = """QIIME is an open-source bioinformatics pipeline for performing microbiome analysis + from raw DNA sequencing data.""" + +source_urls = ['https://data.qiime2.org/distro/core/'] +sources = ['qiime2-%(version)s-py38-linux-conda.yml'] +checksums = ['79c250efd2d464b13702f8e210a921e9aa830dd33a0330966129121770a9188c'] + +toolchain = SYSTEM + +builddependencies = [('Miniconda3', '22.11.1-1')] + +environment_file = 'qiime2-%(version)s-py38-linux-conda.yml' + +sanity_check_commands = ['qiime info'] + +sanity_check_paths = { + 'files': ["bin/qiime"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb new file mode 100644 index 00000000000..ecd06506127 --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2022.8.eb @@ -0,0 +1,31 @@ +# EasyBuild recipy for QIIME2 +# Author: Caspar van Leeuwen +# SURFsara - The Netherlands + +easyblock = 'Conda' + +name = 'QIIME2' +version = '2022.8' + +homepage = 'http://qiime2.org/' +description = """QIIME is an open-source bioinformatics pipeline for performing microbiome analysis + from raw DNA sequencing data.""" + +source_urls = ['https://data.qiime2.org/distro/core/'] +sources = ['qiime2-%(version)s-py38-linux-conda.yml'] +checksums = ['e43bffad08dfd8ab9054f1530e501258525a7b9a3f3079ac04fad701d797c90b'] + +toolchain = SYSTEM + +builddependencies = [('Miniconda3', '4.12.0')] + +environment_file = 'qiime2-%(version)s-py38-linux-conda.yml' + +sanity_check_commands = ['qiime info'] + +sanity_check_paths = { + 'files': ["bin/qiime"], + 'dirs': ["lib", "include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.5.1-foss-2022a.eb b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.5.1-foss-2022a.eb new file mode 100644 index 00000000000..74194d08155 --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.5.1-foss-2022a.eb @@ -0,0 +1,326 @@ +easyblock = 'PythonBundle' + +name = 'QIIME2' +version = '2023.5.1' + +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'), + ('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.5/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.5.1.tar.gz': '9fe2b29f64204138e575a992970e4333ffb99affd75c132682fdec1c85a95ee8'}, + {'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': ['2ec403e5f701b21a09cf9a68def5c37175577d92f5460d5aa1182dcdf7f29888'], + }), + ('q2-alignment', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-alignment/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8b492790314d3bf43717668c51c5ce9a4bcd105fca59d7594b2c655a151eb436'], + }), + ('q2-composition', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-composition/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['1fd9ee2bedd049b961a6b0bac3376126cacf6e14c7e4c961853083d3e46d54a1'], + }), + ('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': ['40cc43f7bc0b063a60d14bcddf5e70da5eacef54e12648eb9e3c2e7baba28087'], + }), + ('q2-dada2', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-dada2/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['091006b59d08540a926acd41429b4bd83859ccac9956fb212759d63fbbff1640'], + }), + ('q2-deblur', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-deblur/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['8997c784dee72f9d9b31920bd33fac283581468ca910769fd2d00f62e7733718'], + }), + ('q2-demux', '2023.5.0', { + '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': ['409a17a02b874ac7804494be7fda6831e4bde3170930705ddd0b5ccf2324c238'], + }), + ('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': ['21d267613808fdee3b19c51cb3d694932f0a16d80cf6515f6750a6668fd2b8e1'], + }), + ('q2-diversity-lib', '2023.5.0', { + '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': ['0971c173611f28e6306db9bdea53ddf7940bae08aa6b01fa543869e111a27f45'], + }), + ('q2-emperor', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-emperor/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['4a877320389001bd4c53b4b4943bc8b50233169cee802fb561d1f90bea6f1c31'], + }), + ('q2-feature-classifier', '2023.5.0', { + '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': ['33d59dffa6da2706680d202e8d6da4a5e223d7f8391fe8b975762af3e56e77ec'], + }), + ('q2-feature-table', '2023.5.0', { + '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': ['91a4172d1c82c1571bba9f21080956ab4681a80562491125175e9770a8f7d988'], + }), + ('q2-fragment-insertion', '2023.5.0', { + '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': ['6917fdab888388e67e0e7e2e6e90b42e9a90b67cc4fcbcd8f7033aae032d7cd9'], + }), + ('q2-gneiss', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-gneiss/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6bdac2eb4136c0ce181e5daa85fe852a23200e6d5e9aea708d9387c23a47328e'], + }), + ('q2-longitudinal', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-longitudinal/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['ca67146351e7ba8522c8dfa47c26a0e39b66838e0de0d34674fbf0e471f0d98c'], + }), + ('q2-metadata', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-metadata/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['f1d0e0604afee936c2f4c58ea0b5b3d4c9796cad3bd86cdf403e038d70d4db52'], + }), + ('q2-phylogeny', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-phylogeny/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['48ef0832e488ed647d68cfa0653632b0afc5dc4ae884898398ca71c3061a5557'], + }), + ('q2-quality-control', '2023.5.0', { + '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': ['595415cbde38e07e025037c88cd576bbfb1b05543db29c3aaa15db0b8c410222'], + }), + ('q2-quality-filter', '2023.5.0', { + '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': ['aa41f5bc7f26a395ac6ebca5d2308b4d2a8c5b1207ada9375fc37da4fc704820'], + }), + ('q2-sample-classifier', '2023.5.0', { + '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': ['50efbbfee0296f9e6214aff8b51a4d2ae1a3c9cfa970c258f1b5b826331da5c4'], + }), + ('q2-taxa', '2023.5.0', { + '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': ['bf0702721c1ec53f87a0ab1ac7afcaedb0aba3e4b2fba24345672b132a0e35f9'], + }), + ('q2-types', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-types/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['2e583d68e4d6e1be34b2acbbfb3444b9c1eefd71842a85e3848c89579984b4ca'], + }), + ('q2-vsearch', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2-vsearch/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['30e4d7a731d87d595fc2f9903b8def36eedead1ff209b91e5e4d8ed0c8caf694'], + }), + ('q2templates', '2023.5.0', { + 'source_urls': ['https://github.com/qiime2/q2templates/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['08b49f4640bd2f72b4274dd364657ff40a48aabd72fc5650d6460a62f91f6a46'], + }), +] + +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/QIIME2/QIIME2-2023.5.1_fix.patch b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.5.1_fix.patch new file mode 100644 index 00000000000..8072243412b --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/QIIME2-2023.5.1_fix.patch @@ -0,0 +1,17 @@ +Make compatible with `ast` in Python >=3.9 +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur qiime2-2023.5.1.orig/qiime2/core/type/parse.py qiime2-2023.5.1/qiime2/core/type/parse.py +--- qiime2-2023.5.1.orig/qiime2/core/type/parse.py 2023-05-30 19:43:57.000000000 +0200 ++++ qiime2-2023.5.1/qiime2/core/type/parse.py 2023-07-27 11:04:05.167408000 +0200 +@@ -44,7 +44,10 @@ + return _build_predicate(expr.func.id, args, kwargs) + + if node is ast.Subscript: +- field_expr = expr.slice.value ++ if hasattr(expr.slice, "value"): ++ field_expr = expr.slice.value ++ else: ++ field_expr = expr.slice + + if type(field_expr) is ast.Tuple: + field_expr = field_expr.elts 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/QIIME2/unifrac-1.1.1_fix.patch b/easybuild/easyconfigs/q/QIIME2/unifrac-1.1.1_fix.patch new file mode 100644 index 00000000000..d1897cae0f6 --- /dev/null +++ b/easybuild/easyconfigs/q/QIIME2/unifrac-1.1.1_fix.patch @@ -0,0 +1,22 @@ +Fix include paths for unifrac +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur unifrac-1.1.1.orig/setup.py unifrac-1.1.1/setup.py +--- unifrac-1.1.1.orig/setup.py 2022-04-13 20:14:51.000000000 +0200 ++++ unifrac-1.1.1/setup.py 2023-07-26 17:12:07.365976000 +0200 +@@ -75,12 +75,15 @@ + + USE_CYTHON = os.environ.get('USE_CYTHON', True) + ext = '.pyx' if USE_CYTHON else '.cpp' ++unifrac_includes = [os.path.join(os.environ['EBROOTUNIFRAC'], 'include', 'unifrac')] + extensions = [Extension("unifrac._api", + sources=["unifrac/_api" + ext], + extra_link_args=LINK_ARGS, + extra_compile_args=COMPILE_ARGS, + include_dirs=([np.get_include()] + +- CONDA_INCLUDES), ++ CONDA_INCLUDES + ++ os.environ['CPATH'].split(':') + ++ unifrac_includes), + libraries=['ssu'])] + + if USE_CYTHON: diff --git a/easybuild/easyconfigs/q/QJson/QJson-0.9.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/q/QJson/QJson-0.9.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..fdf7452a362 --- /dev/null +++ b/easybuild/easyconfigs/q/QJson/QJson-0.9.0-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QJson' +version = '0.9.0' + +homepage = 'http://qjson.sourceforge.net/' +description = "QJson is a Qt-based library that maps JSON data to QVariant objects and vice versa." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/flavio/qjson/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['e812617477f3c2bb990561767a4cd8b1d3803a52018d4878da302529552610d4'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4') +] +dependencies = [ + ('Qt5', '5.14.2'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['lib/libqjson-qt5.%s' % SHLIB_EXT], + 'dirs': ['include/qjson-qt5', 'lib/cmake', 'lib/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..65d4b96bf10 --- /dev/null +++ b/easybuild/easyconfigs/q/QScintilla/QScintilla-2.11.6-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +name = 'QScintilla' +version = '2.11.6' + +homepage = 'https://www.riverbankcomputing.com/software/qscintilla' +description = "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True, 'cstd': 'c++11'} + +source_urls = ['https://www.riverbankcomputing.com/static/Downloads/QScintilla/%(version)s/'] +sources = [SOURCE_TAR_GZ] +patches = ['QScintilla-2.11.2_fix-link-python-bindings.patch'] +checksums = [ + {'QScintilla-2.11.6.tar.gz': 'e7346057db47d2fb384467fafccfcb13aa0741373c5d593bc72b55b2f0dd20a7'}, + {'QScintilla-2.11.2_fix-link-python-bindings.patch': + '6296efa69ce9448e43dda80573cb0a70fee72462157d3d6fc194fe61fd477803'}, +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4'), +] + +prebuildopts = 'export CPATH=$EBROOTQT5/include/QtWidgets:$EBROOTQT5/include/QtPrintSupport:$CPATH && ' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QTLtools/QTLtools-1.3.1-foss-2020b.eb b/easybuild/easyconfigs/q/QTLtools/QTLtools-1.3.1-foss-2020b.eb new file mode 100644 index 00000000000..e71d8260809 --- /dev/null +++ b/easybuild/easyconfigs/q/QTLtools/QTLtools-1.3.1-foss-2020b.eb @@ -0,0 +1,43 @@ +# Easyconfig for QTLtools +# Author: Caspar van Leeuwen +# SURFsara, Amsterdam, The Netherlands + +easyblock = 'MakeCp' + +name = 'QTLtools' +version = '1.3.1' + +homepage = "https://qtltools.github.io/qtltools/" +description = """QTLtools is a tool set for molecular QTL discovery and analysis. +It allows to go from the raw sequence data to collection of molecular Quantitative Trait Loci (QTLs) +in few easy-to-perform steps.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://qtltools.github.io/qtltools/binaries/'] +sources = ['QTLtools_%(version)s_source.tar.gz'] +checksums = ['8d812145a210fe96ae31590423a0eab6bf9e3f46b33a62c8b04b0d428bcfed8d'] + +dependencies = [ + ('GSL', '2.6'), + ('bzip2', '1.0.8'), + ('Boost', '1.74.0'), + ('Rmath', '4.0.4'), + ('HTSlib', '1.11'), + ('imkl', '2020.4.304'), +] + +# Overwrite CXX, CXXFLAG, LIB_FLAGS and LIB_FILES build options from the default makefile +# since the default makefile uses hard-coded compiler & library paths +buildopts = 'CXX="$CXX -std=c++0x" CXXFLAG="$CXXFLAGS" LIB_FILES="" ' +buildopts += 'LIB_FLAGS="-lz -lgsl -lmkl -lbz2 -lm -lpthread -lRmath -lhts -lboost_iostreams -lboost_program_options"' +buildopts += ' RMATH_INC=$EBROOTRMAT/include HTSLD_INC=$EBROOTHTSLIB/include BOOST_INC=$EBROOTBOOST/include' + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/QTLtools'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2019a-Python-3.7.2.eb index 01960475b5e..9e7475ccdd8 100644 --- a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2019a-Python-3.7.2.eb @@ -20,7 +20,7 @@ dependencies = [ ('Python', '3.7.2'), ('Perl', '5.28.1'), ('matplotlib', '3.0.3', versionsuffix), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Boost', '1.70.0'), ] diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020a-Python-3.8.2.eb index 87ae71af604..e0f1cd1e1ce 100644 --- a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020a-Python-3.8.2.eb @@ -20,7 +20,7 @@ dependencies = [ ('Python', '3.8.2'), ('Perl', '5.30.2'), ('matplotlib', '3.2.1', versionsuffix), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Boost', '1.72.0'), ] diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b-Python-2.7.18.eb index 58f9709a656..81762184ba7 100644 --- a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b-Python-2.7.18.eb +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b-Python-2.7.18.eb @@ -20,7 +20,7 @@ dependencies = [ ('Python', '2.7.18'), ('Perl', '5.32.0'), ('matplotlib', '2.2.5', versionsuffix), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Boost', '1.74.0'), ] diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b.eb new file mode 100644 index 00000000000..d0057cb1ac6 --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2020b.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'QUAST' +version = '5.0.2' + +homepage = 'https://github.com/ablab/%(namelower)s' +description = """QUAST evaluates genome assemblies by computing various metrics. +It works both with and without reference genomes. The tool accepts multiple +assemblies, thus is suitable for comparison.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + + +dependencies = [ + ('Python', '3.8.6'), + ('Perl', '5.32.0'), + ('matplotlib', '3.3.3'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.74.0'), +] + +use_pip = True + +exts_list = [ + ('simplejson', '3.17.2', { + 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], + }), + (name, version, { + 'install_target': 'install_full', + 'modulename': 'quast_libs', + 'patches': ['QUAST-%(version)s_fix-Python-3.8.patch'], + 'source_tmpl': 'quast_%(version)s.tar.gz', + 'source_urls': ['https://github.com/ablab/quast/archive/'], + 'checksums': [ + '9f30c03e0bfd261492fe6b72fb07645bdee5b29d741f75fc75857b6fa095d91d', # quast_5.0.2.tar.gz + '8ae7ebf45e5368ebc058fc208822a23d32ce1052bd53fd8c3aaa4ad14d3c95aa', # QUAST-5.0.2_fix-Python-3.8.patch + ], + }), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s quast.py quast"] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/%(namelower)s.py', 'bin/meta%(namelower)s.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "wget quast.sf.net/test_data.tar.gz && " + "tar xzf test_data.tar.gz && " + "%(namelower)s.py --test && " + "rm -rf ./test_data.tar.gz ./test_data", + "%(namelower)s -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021a.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021a.eb new file mode 100644 index 00000000000..435b062ca1e --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'QUAST' +version = '5.0.2' + +homepage = 'https://github.com/ablab/%(namelower)s' +description = """QUAST evaluates genome assemblies by computing various metrics. +It works both with and without reference genomes. The tool accepts multiple +assemblies, thus is suitable for comparison.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('matplotlib', '3.4.2'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.76.0'), +] + +use_pip = True + +exts_list = [ + ('simplejson', '3.17.2', { + 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], + }), + (name, version, { + 'install_target': 'install_full', + 'modulename': 'quast_libs', + 'patches': ['QUAST-%(version)s_fix-Python-3.8.patch'], + 'source_tmpl': 'quast_%(version)s.tar.gz', + 'source_urls': ['https://github.com/ablab/quast/archive/'], + 'checksums': [ + '9f30c03e0bfd261492fe6b72fb07645bdee5b29d741f75fc75857b6fa095d91d', # quast_5.0.2.tar.gz + '8ae7ebf45e5368ebc058fc208822a23d32ce1052bd53fd8c3aaa4ad14d3c95aa', # QUAST-5.0.2_fix-Python-3.8.patch + ], + }), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s quast.py quast"] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/%(namelower)s.py', 'bin/meta%(namelower)s.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "wget quast.sf.net/test_data.tar.gz && " + "tar xzf test_data.tar.gz && " + "%(namelower)s.py --test && " + "rm -rf ./test_data.tar.gz ./test_data", + "%(namelower)s -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021b.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021b.eb new file mode 100644 index 00000000000..6a2efd7b120 --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.0.2-foss-2021b.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'QUAST' +version = '5.0.2' + +homepage = 'https://github.com/ablab/quast' +description = """QUAST evaluates genome assemblies by computing various metrics. +It works both with and without reference genomes. The tool accepts multiple +assemblies, thus is suitable for comparison.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('matplotlib', '3.4.3'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.77.0'), +] + +use_pip = True + +github_account = 'ablab' +exts_list = [ + ('simplejson', '3.17.2', { + 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], + }), + (name, version, { + 'install_target': 'install_full', + 'modulename': '%(namelower)s_libs', + 'patches': ['%(name)s-%(version)s_fix-Python-3.8.patch'], + 'source_tmpl': '%(namelower)s_%(version)s.tar.gz', + 'source_urls': [GITHUB_LOWER_SOURCE], + 'checksums': [ + '9f30c03e0bfd261492fe6b72fb07645bdee5b29d741f75fc75857b6fa095d91d', # quast_5.0.2.tar.gz + '8ae7ebf45e5368ebc058fc208822a23d32ce1052bd53fd8c3aaa4ad14d3c95aa', # QUAST-5.0.2_fix-Python-3.8.patch + ], + }), +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s %(namelower)s.py %(namelower)s"] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/%(namelower)s.py', 'bin/meta%(namelower)s.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "wget quast.sourceforge.net/test_data.tar.gz && " + "tar xzf test_data.tar.gz && " + "%(namelower)s.py --test && " + "rm -rf ./test_data.tar.gz ./test_data", + "%(namelower)s -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb new file mode 100644 index 00000000000..d3589c364cf --- /dev/null +++ b/easybuild/easyconfigs/q/QUAST/QUAST-5.2.0-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'QUAST' +version = '5.2.0' + +homepage = 'https://github.com/ablab/quast' +description = """QUAST evaluates genome assemblies by computing various metrics. +It works both with and without reference genomes. The tool accepts multiple +assemblies, thus is suitable for comparison.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('matplotlib', '3.5.2'), + ('Java', '11', '', SYSTEM), + ('Boost', '1.79.0'), +] + +use_pip = True + +github_account = 'ablab' +exts_list = [ + (name, version, { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['%(namelower)s_%(version)s.tar.gz'], + 'checksums': ['db903a6e4dd81384687f1c38d47cbe0f51bdf7f6d5e5c0bd30c13796391f4f04'], + 'modulename': 'quast_libs', + }), +] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -s %(namelower)s.py %(namelower)s", + "cp -a %(builddir)s/QUAST/quast*%(version)s/test_data %(installdir)s/", +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/%(namelower)s.py', 'bin/meta%(namelower)s.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages', 'test_data'], +} + +sanity_check_commands = [ + "quast -h", + "mkdir -p %(builddir)s && cp -a %(installdir)s/test_data %(builddir)s && cd %(builddir)s && quast.py --test", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..c69c792e71d --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-10.3.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': '10.3.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.36.1'), + ('CMake', '3.20.1'), +] + +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/Qhull/Qhull-2020.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..14e2a0d4bec --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-11.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': '11.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.37'), + ('CMake', '3.21.1'), +] + +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/Qhull/Qhull-2020.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..da692d927dd --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-11.3.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': '11.3.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.38'), + ('CMake', '3.23.1'), +] + +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/Qhull/Qhull-2020.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..08814cad379 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.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': '12.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.39'), + ('CMake', '3.24.3'), +] + +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/Qhull/Qhull-2020.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..818323a0922 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-12.3.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': '12.3.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.26.3'), +] + +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/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/Qhull/Qhull-2020.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..400fecee609 --- /dev/null +++ b/easybuild/easyconfigs/q/Qhull/Qhull-2020.2-GCCcore-13.3.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.3.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.42'), + ('CMake', '3.29.3'), +] + +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/Qiskit/Qiskit-0.31.0-foss-2021a.eb b/easybuild/easyconfigs/q/Qiskit/Qiskit-0.31.0-foss-2021a.eb new file mode 100644 index 00000000000..ee6da687228 --- /dev/null +++ b/easybuild/easyconfigs/q/Qiskit/Qiskit-0.31.0-foss-2021a.eb @@ -0,0 +1,156 @@ +easyblock = 'PythonBundle' + +name = 'Qiskit' +version = '0.31.0' + +homepage = 'https://qiskit.org' +description = """Qiskit is an open-source framework for working with noisy quantum computers + at the level of pulses, circuits, and algorithms.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'lowopt': True, 'vectorize': False, 'debug': True} + +builddependencies = [ + # required for building/installing qiskit-aer + ('CMake', '3.20.1'), + ('Ninja', '1.10.2'), + ('scikit-build', '0.11.1'), + ('pybind11', '2.6.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('sympy', '1.8'), + ('numba', '0.53.1'), + ('dill', '0.3.4'), + ('h5py', '3.2.1'), + ('retworkx', '0.9.0'), + ('networkx', '2.5.1'), + ('scikit-learn', '0.24.2'), + ('CVXOPT', '1.2.6'), + ('Quandl', '3.6.1'), + ('PySCF', '1.7.6'), + ('SymEngine-python', '0.7.2'), + ('lxml', '4.6.3'), + ('nlohmann_json', '3.10.0'), + ('spdlog', '1.9.2'), + ('muparserx', '4.0.8'), +] + +use_pip = True +sanity_pip_check = True +preinstallopts = 'export DISABLE_CONAN=ON &&' + +exts_list = [ + ('marshmallow', '3.13.0', { + 'checksums': ['c67929438fd73a2be92128caa0325b1b5ed8b626d91a094d2f7f2771bf1f1c0e'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('marshmallow-polyfield', '5.10', { + 'checksums': ['75d0e31b725650e91428f975a66ed30f703cc6f9fcfe45b8436ee6d676921691'], + }), + ('pylatexenc', '2.10', { + 'checksums': ['3dd8fd84eb46dc30bee1e23eaab8d8fb5a7f507347b23e5f38ad9675c84f40d3'], + }), + ('fastdtw', '0.3.4', { + 'checksums': ['2350fa6ec36bcad186eaf81f46eff35181baf04e324f522de8aeb43d0243f64f'], + }), + ('dlx', '1.0.4', { + 'checksums': ['ef75bc9d590216ebde7d4811f9ae6b2d6c6dc2a54772d94ae13384dc517a5aae'], + }), + ('docloud', '1.0.375', { + 'checksums': ['996d55407498fd01e6c6c480f367048f92255e9ca9db0e9ea19aaef91328a441'], + }), + ('docplex', '2.22.213', { + 'checksums': ['8a86bba42b5b65f2e0f88ed350115efeb783b444661e2cfcf3a67d5c59bcb0bd'], + }), + ('websockets', '10.0', { + 'checksums': ['c4fc9a1d242317892590abe5b61a9127f1a61740477bfb121743f290b8054002'], + }), + ('ntlm-auth', '1.5.0', { + 'checksums': ['c9667d361dc09f6b3750283d503c689070ff7d89f2f6ff0d38088d5436ff8543'], + }), + ('requests_ntlm', '1.1.0', { + 'checksums': ['9189c92e8c61ae91402a64b972c4802b2457ce6a799d658256ebf084d5c7eb71'], + }), + ('nest-asyncio', '1.5.1', { + 'source_tmpl': 'nest_asyncio-%(version)s.tar.gz', + 'checksums': ['afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa'], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('python-constraint', '1.4.0', { + 'modulename': 'constraint', + 'source_tmpl': '%(name)s-%(version)s.tar.bz2', + 'checksums': ['501d6f17afe0032dfc6ea6c0f8acc12e44f992733f00e8538961031ef27ccb8e'], + }), + ('sparse', '0.13.0', { + 'checksums': ['685dc994aa770ee1b23f2d5392819c8429f27958771f8dceb2c4fb80210d5915'], + }), + ('fastjsonschema', '2.15.1', { + 'checksums': ['671f36d225b3493629b5e789428660109528f373cf4b8a22bac6fa2f8191c2d2'], + }), + ('tweedledum', '1.1.1', { + 'checksums': ['58d6f7a988b10c31be3faa1faf3e58288ef7e8159584bfa6ded45742f390309f'], + }), + ('websocket-client', '1.2.1', { + 'modulename': 'websocket', + 'checksums': ['8dfb715d8a992f5712fff8c843adae94e22b22a99b2c5e6b0ec4a1a981cc4e0d'], + }), + ('multitasking', '0.0.9', { + 'checksums': ['b59d99f709d2e17d60ccaa2be09771b6e9ed9391c63f083c0701e724f624d2e0'], + }), + ('yfinance', '0.1.63', { + 'checksums': ['11364fe94f1cf7811c45fc620acb61c8c45fcb88de317c7718bbdbc9c1573a4c'], + }), + ('qiskit-terra', '0.18.3', { + 'modulename': 'qiskit.qobj', + 'patches': ['qiskit-terra-0.18.3_fix-qiskit-version-env.patch'], + 'checksums': [ + '8737c8f1f4c6f29ec2fb02d73023f4854a396c33f78f4629a861a3e48fc789cc', # qiskit-terra-0.18.3.tar.gz + # qiskit-terra-0.18.3_fix-qiskit-version-env.patch + '1296cc650a7d4d2d908a6a5de6b4ce52106748464a54d47744a4648494f4c24e', + ], + }), + ('qiskit-ignis', '0.6.0', { + 'modulename': 'qiskit.ignis', + 'checksums': ['b41bbbc90a042f89d1a5bb01100d59d72facdfe18cb9fc336af74f0e94aae7fc'], + }), + ('qiskit-ibmq-provider', '0.17.0', { + 'modulename': 'qiskit.providers.ibmq', + 'checksums': ['3ffe3e43a229191f9b9dba6c05254cd0d5687f99728ba4dee8d143c59b5f0db5'], + }), + ('qiskit-optimization', '0.2.3', { + 'modulename': 'qiskit_optimization', + 'checksums': ['939c994adbb599b5039abccda70afca4da7becc21ef5ebbe3cd5d5ef71ddefce'], + }), + ('qiskit-finance', '0.2.1', { + 'modulename': 'qiskit_finance', + 'checksums': ['063f3c267efb21002f3fb8bf6766f6a4e6299fafa849a9560f2962745c83bc95'], + }), + ('qiskit-nature', '0.2.2', { + 'modulename': 'qiskit_nature', + 'checksums': ['ce3558d4acf2511111cc398361146af36391d67e5a9fe9c4bd0f727cb56022bf'], + }), + ('qiskit-machine-learning', '0.2.1', { + 'modulename': 'qiskit_machine_learning', + 'checksums': ['4afb429b36da48d9b45167758454ca53b12018320863dc2f0748b877b3ab1c29'], + }), + ('qiskit-aqua', '0.9.5', { + 'modulename': 'qiskit.aqua', + 'checksums': ['3ae50cfb008726e9862a17ba49d23bf987bc918239149db36f51c0f94e9cd36d'], + }), + ('qiskit-aer', '0.9.1', { + 'modulename': 'qiskit.providers.aer', + 'checksums': ['3bf5f615aaae7cc5f816c39a4e9108aabaed0cc894fb6f841e48ffd56574e7eb'], + }), + ('qiskit', version, { + 'checksums': ['9f5c185332ae6aa1fe02b2ec66a9b6b2442e72cc94d078c3e6c534f4db63d455'], + }), +] + +moduleclass = 'quantum' diff --git a/easybuild/easyconfigs/q/Qiskit/qiskit-terra-0.18.3_fix-qiskit-version-env.patch b/easybuild/easyconfigs/q/Qiskit/qiskit-terra-0.18.3_fix-qiskit-version-env.patch new file mode 100644 index 00000000000..cb8ad5c1f95 --- /dev/null +++ b/easybuild/easyconfigs/q/Qiskit/qiskit-terra-0.18.3_fix-qiskit-version-env.patch @@ -0,0 +1,13 @@ +also include $LD_LIBRARY_PATH in environment where "python -m pip freeze" is run on 'import qiskit' +author: Kenneth Hoste (HPC-UGent) +--- qiskit/version.py.orig 2021-08-04 16:34:17.261482728 +0200 ++++ qiskit/version.py 2021-08-04 16:34:26.087460624 +0200 +@@ -25,7 +25,7 @@ + def _minimal_ext_cmd(cmd): + # construct minimal environment + env = {} +- for k in ["SYSTEMROOT", "PATH"]: ++ for k in ["SYSTEMROOT", "PATH", "LD_LIBRARY_PATH"]: + v = os.environ.get(k) + if v is not None: + env[k] = v diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-foss-2018b.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-foss-2018b.eb index 9ecfb02053e..918a6ab56a7 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-foss-2018b.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-foss-2018b.eb @@ -14,7 +14,11 @@ source_urls = [ 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', ] sources = ['qt-everywhere-src-%(version)s.tar.xz'] -checksums = ['05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a'] +patches = [('%(name)s-%(version)s_glibc-fix.patch', 'qtbase')] +checksums = [ + '05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a', # qt-everywhere-src-5.10.1.tar.xz + '47fb63019aa48c18896350a56d9bdf788a2af6dc838ccb8fd098b26a441fab94', # Qt5-5.10.1_glibc-fix.patch +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-fosscuda-2018b.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-fosscuda-2018b.eb index f969e6b6e76..41d3a31e594 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-fosscuda-2018b.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-fosscuda-2018b.eb @@ -14,7 +14,11 @@ source_urls = [ 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', ] sources = ['qt-everywhere-src-%(version)s.tar.xz'] -checksums = ['05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a'] +patches = ['%(name)s-%(version)s_glibc-fix.patch'] +checksums = [ + '05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a', # qt-everywhere-src-5.10.1.tar.xz + '47fb63019aa48c18896350a56d9bdf788a2af6dc838ccb8fd098b26a441fab94', # Qt5-5.10.1_glibc-fix.patch +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-intel-2018b.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-intel-2018b.eb index 9f4a742d137..8315688266b 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-intel-2018b.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1-intel-2018b.eb @@ -14,7 +14,11 @@ source_urls = [ 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', ] sources = ['qt-everywhere-src-%(version)s.tar.xz'] -checksums = ['05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a'] +patches = ['%(name)s-%(version)s_glibc-fix.patch'] +checksums = [ + '05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a', # qt-everywhere-src-5.10.1.tar.xz + '47fb63019aa48c18896350a56d9bdf788a2af6dc838ccb8fd098b26a441fab94', # Qt5-5.10.1_glibc-fix.patch +] builddependencies = [('pkg-config', '0.29.2')] diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1_glibc-fix.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1_glibc-fix.patch new file mode 100644 index 00000000000..48e9b6e243b --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.10.1_glibc-fix.patch @@ -0,0 +1,26 @@ +Fix Qt5.10.1 to build against newer glibc. +This takes the relevant part of patch from https://code.qt.io/cgit/qt/qtbase.git/commit/?id=25feee4e061b99edab79503d81f5bd045c6c8e3d +Added to EasyBuild by Simon Branford (University of Birmingham) +index 3469ebe5e6..c5585ea32a 100644 +--- a/qtbase/src/corelib/global/qconfig-bootstrapped.h ++++ b/qtbase/src/corelib/global/qconfig-bootstrapped.h +@@ -98,9 +98,17 @@ + #define QT_NO_QOBJECT + #define QT_FEATURE_process -1 +-#define QT_FEATURE_renameat2 -1 ++#ifdef __GLIBC_PREREQ ++# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1) ++#else ++# define QT_FEATURE_renameat2 -1 ++#endif + #define QT_FEATURE_sharedmemory -1 + #define QT_FEATURE_slog2 -1 +-#define QT_FEATURE_statx -1 ++#ifdef __GLIBC_PREREQ ++# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1) ++#else ++# define QT_FEATURE_statx -1 ++#endif + #define QT_FEATURE_syslog -1 + #define QT_NO_SYSTEMLOCALE + #define QT_FEATURE_systemsemaphore -1 diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..53c92a6b3ea --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10-GCCcore-12.3.0.eb @@ -0,0 +1,90 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.10' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '12.3.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', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.10.tar.xz': 'b545cb83c60934adc9a6bbd27e2af79e5013de77d46f5b9f5bb2a3c762bf55ca'}, + {'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'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.11.1'), + ('Python', '3.11.3'), + ('re2c', '3.1'), +] + +dependencies = [ + ('double-conversion', '3.3.0'), + ('GLib', '2.77.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.39'), + ('HarfBuzz', '5.3.1'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20230603'), + ('fontconfig', '2.14.2'), + ('DBus', '1.15.4'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '2.1.5.1'), + ('NSS', '3.89.1'), + ('snappy', '1.1.10'), + ('JasPer', '4.0.0'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '73.2'), + ('nodejs', '18.17.1'), +] + +# 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.10_fix-OF-Gentoo.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_fix-OF-Gentoo.patch new file mode 100644 index 00000000000..9ec986bc88f --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_fix-OF-Gentoo.patch @@ -0,0 +1,82 @@ +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 +since 5.15.10 the file has been moved from qt3d/src/3rdparty/assimp/contrib/unzip/ioapi.h to qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +author: Kenneth Hoste (HPC-UGent) +diff -ru qt-everywhere-src-5.14.1.orig/qt3d/src/3rdparty/assimp/contrib/unzip/ioapi.h qt-everywhere-src-5.14.1/qt3d/src/3rdparty/assimp/contrib/unzip/ioapi.h +--- qt-everywhere-src-5.14.1.orig/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h 2020-01-15 17:09:24.000000000 -0000 ++++ qt-everywhere-src-5.14.1/qt3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h 2020-09-25 18:30:03.146291932 -0000 +@@ -35,6 +35,15 @@ + extern "C" { + #endif + ++// if OF macro is not defined by _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)); + typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); + typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); +diff -ru qt-everywhere-src-5.14.1.orig/qtquick3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h qt-everywhere-src-5.14.1/qtquick3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h +--- qt-everywhere-src-5.14.1.orig/qtquick3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h 2019-03-10 11:05:27.000000000 -0000 ++++ qt-everywhere-src-5.14.1/qtquick3d/src/3rdparty/assimp/src/contrib/unzip/ioapi.h 2020-09-25 18:30:16.136640746 -0000 +@@ -35,6 +35,15 @@ + extern "C" { + #endif + ++// if OF macro is not defined by _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)); + typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); + typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); +diff -ru qt-everywhere-src-5.14.1.orig/qtquick3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h qt-everywhere-src-5.14.1/qtquick3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h +--- qt-everywhere-src-5.14.1.orig/qtquick3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h 2019-03-10 11:05:27.000000000 -0000 ++++ qt-everywhere-src-5.14.1/qtquick3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h 2020-09-25 18:30:23.096828085 -0000 +@@ -131,6 +131,15 @@ + + + ++// if OF macro is not defined by _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)); + typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); +diff -ru qt-everywhere-src-5.14.1.orig/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h qt-everywhere-src-5.14.1/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h +--- qt-everywhere-src-5.14.1.orig/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h 2020-01-20 10:37:42.000000000 -0000 ++++ qt-everywhere-src-5.14.1/qtwebengine/src/3rdparty/chromium/third_party/zlib/contrib/minizip/ioapi.h 2020-09-25 18:29:45.635820801 -0000 +@@ -129,8 +129,14 @@ + #endif + #endif + +- +- ++// if OF macro is not defined by _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)); + typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch new file mode 100644 index 00000000000..74d0b4703ad --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_fix-qtwebengine-breakpad-glibc-2.34.patch @@ -0,0 +1,20 @@ +Fix "no matching function" error. +Patch taken from https://bugs.gentoo.org/811312 + +From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:11:06 +0200 +Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34 + +diff -ruN a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +--- a/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2022-04-06 15:32:17.000000000 +0200 ++++ b/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2023-08-15 13:16:53.990656375 +0200 +@@ -138,7 +138,7 @@ + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384U, (unsigned)SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-drop-catapult.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-drop-catapult.patch new file mode 100644 index 00000000000..ce717404021 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-drop-catapult.patch @@ -0,0 +1,489 @@ +From b0581c62625e57a63e56369f7eb24a141687cc7a Mon Sep 17 00:00:00 2001 +From: Jimi Huotari +Date: Wed, 6 Apr 2022 14:35:14 +0300 +Subject: [PATCH] Remove dependency on catapult + +Signed-off-by: Andreas Sturmlechner +--- + chromium/BUILD.gn | 11 ---- + chromium/chrome/chrome_paks.gni | 2 - + chromium/chrome/test/BUILD.gn | 6 --- + chromium/content/browser/BUILD.gn | 1 - + chromium/content/browser/tracing/BUILD.gn | 51 ------------------- + .../content/browser/tracing/tracing_ui.cc | 3 -- + chromium/content/shell/BUILD.gn | 2 - + chromium/fuchsia/engine/BUILD.gn | 2 - + chromium/headless/BUILD.gn | 2 - + chromium/mojo/public/tools/BUILD.gn | 1 - + chromium/testing/BUILD.gn | 1 - + chromium/third_party/webrtc/test/BUILD.gn | 5 -- + chromium/tools/binary_size/BUILD.gn | 1 - + chromium/tools/grit/BUILD.gn | 1 - + chromium/tools/gritsettings/resource_ids.spec | 6 --- + chromium/tools/metrics/BUILD.gn | 1 - + .../perf/chrome_telemetry_build/BUILD.gn | 3 -- + .../perf/core/perfetto_binary_roller/BUILD.gn | 1 - + chromium/tools/polymer/BUILD.gn | 1 - + chromium/v8/tools/BUILD.gn | 4 -- + chromium/weblayer/shell/BUILD.gn | 2 - + 21 files changed, 107 deletions(-) + delete mode 100644 chromium/content/browser/tracing/BUILD.gn + +diff --git a/chromium/BUILD.gn b/chromium/BUILD.gn +index 8d9657d545c..59e9447f456 100644 +--- a/qtwebengine/src/3rdparty/chromium/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/BUILD.gn +@@ -239,7 +239,6 @@ group("gn_all") { + "//media/capture:capture_unittests", + "//media/cast:cast_unittests", + "//third_party/angle/src/tests:angle_white_box_tests", +- "//third_party/catapult/telemetry:bitmaptools($host_toolchain)", + ] + } else if (is_ios && !use_qt) { + deps += [ +@@ -354,7 +353,6 @@ group("gn_all") { + "//net/android:net_junit_tests", + "//services:services_junit_tests", + "//testing/android/junit:junit_unit_tests", +- "//third_party/catapult/devil", + "//third_party/smhasher:murmurhash3", + "//tools/android:android_tools", + "//tools/android:memconsumer", +@@ -959,7 +957,6 @@ if (is_chromeos) { + "//third_party/dawn/src/tests:dawn_unittests", + + # Blocked on https://github.com/catapult-project/catapult/issues/2297 +- #"//third_party/catapult/telemetry:bitmaptools", + "//tools/perf/clear_system_cache", + "//ui/ozone/gl:ozone_gl_unittests", + ] +@@ -1037,7 +1034,6 @@ if (!is_ios && !use_qt) { + data_deps = [ + "//chrome:chrome", + "//chrome/test/chromedriver", +- "//third_party/catapult/third_party/typ", + ] + if (is_win) { + data_deps += [ "//build/win:copy_cdb_to_output" ] +@@ -1084,7 +1080,6 @@ if (!is_ios && !use_qt) { + "//third_party/blink/public:blink_devtools_inspector_resources", + "//third_party/blink/public/mojom:mojom_platform_js_data_deps", + "//third_party/blink/renderer/core/html:js_files_for_form_controls_web_tests", +- "//third_party/catapult/third_party/typ", + "//third_party/mesa_headers", + "//tools/imagediff", + ] +@@ -1152,7 +1147,6 @@ if (!is_ios && !use_qt) { + + if (is_android) { + data += [ +- "//third_party/catapult/", + "//build/android/", + ] + } +@@ -1259,11 +1253,6 @@ if (!is_ios && !use_qt) { + "//third_party/blink/web_tests/StaleTestExpectations", + "//third_party/blink/web_tests/TestExpectations", + "//third_party/blink/web_tests/VirtualTestSuites", +- "//third_party/catapult/common/py_utils/", +- "//third_party/catapult/devil/", +- "//third_party/catapult/dependency_manager/", +- "//third_party/catapult/third_party/zipfile/", +- "//third_party/catapult/third_party/typ/", + "//third_party/depot_tools/pylint", + "//third_party/depot_tools/pylint-1.5", + "//third_party/depot_tools/pylint_main.py", +diff --git a/chromium/chrome/chrome_paks.gni b/chromium/chrome/chrome_paks.gni +index 9323a774a56..0362b6501aa 100644 +--- a/qtwebengine/src/3rdparty/chromium/chrome/chrome_paks.gni ++++ b/qtwebengine/src/3rdparty/chromium/chrome/chrome_paks.gni +@@ -94,7 +94,6 @@ template("chrome_extra_paks") { + "$root_gen_dir/chrome/common_resources.pak", + "$root_gen_dir/components/autofill/core/browser/autofill_address_rewriter_resources.pak", + "$root_gen_dir/components/components_resources.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", + "$root_gen_dir/net/net_resources.pak", +@@ -110,7 +109,6 @@ template("chrome_extra_paks") { + "//components/autofill/core/browser:autofill_address_rewriter_resources", + "//components/resources", + "//content:content_resources", +- "//content/browser/tracing:resources", + "//mojo/public/js:resources", + "//net:net_resources", + "//skia:skia_resources", +diff --git a/chromium/chrome/test/BUILD.gn b/chromium/chrome/test/BUILD.gn +index 1a369fa56d2..eb5bc9676fb 100644 +--- a/qtwebengine/src/3rdparty/chromium/chrome/test/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/chrome/test/BUILD.gn +@@ -7103,8 +7103,6 @@ if (!is_fuchsia && !is_android) { + "//chrome/test/data/password/captured_sites/", + "//chrome/test/data/web_page_replay_go_helper_scripts/automation_helper.js", + "//components/test/data/autofill/web_page_replay_support_files/", +- "//third_party/catapult/telemetry/telemetry/bin/", +- "//third_party/catapult/web_page_replay_go/deterministic.js", + ] + + if (is_linux || is_chromeos || is_win) { +@@ -7141,7 +7139,6 @@ if (!is_fuchsia && !is_android) { + + # TODO(uwyiming@chromium.org) create a gn target for Web Page Replay Go (WPR Go) and only WPR Go. + # So that test targets requiring WPR Go does not pull down the whole telemetry tool chain. +- "//third_party/catapult:telemetry_chrome_test_support", + "//third_party/hunspell", + "//third_party/icu", + "//third_party/libpng", +@@ -7171,7 +7168,6 @@ if (!is_fuchsia && !is_android) { + deps = [ "//tools/perf/chrome_telemetry_build:telemetry_chrome_test" ] + + data = [ +- "//third_party/catapult/telemetry/telemetry/internal/bin/", + "//tools/perf/run_telemetry_tests", + + # For isolate contract. +@@ -7189,7 +7185,6 @@ if (!is_fuchsia && !is_android) { + group("telemetry_gpu_unittests") { + testonly = true + deps = [ +- "//third_party/catapult:telemetry_chrome_test_support", + "//tools/metrics:metrics_python_tests", + ] + data = [ +@@ -7313,7 +7308,6 @@ if (is_mac || is_win || is_android) { + "//testing/scripts", + "//testing/test_env.py", + "//testing/xvfb.py", +- "//third_party/catapult", + "//tools", + ] + } +diff --git a/chromium/content/browser/BUILD.gn b/chromium/content/browser/BUILD.gn +index 1466f33d462..51039e0da19 100644 +--- a/qtwebengine/src/3rdparty/chromium/content/browser/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/content/browser/BUILD.gn +@@ -2169,7 +2169,6 @@ jumbo_static_library("browser") { + if (!is_android) { + deps += [ + "//components/vector_icons", +- "//content/browser/tracing:resources", + ] + } + +diff --git a/chromium/content/browser/tracing/BUILD.gn b/chromium/content/browser/tracing/BUILD.gn +deleted file mode 100644 +index eac05999fac..00000000000 +--- a/qtwebengine/src/3rdparty/chromium/content/browser/tracing/BUILD.gn ++++ /dev/null +@@ -1,51 +0,0 @@ +-# Copyright 2014 The Chromium Authors. All rights reserved. +-# Use of this source code is governed by a BSD-style license that can be +-# found in the LICENSE file. +- +-import("//tools/grit/grit_rule.gni") +- +-# generate_about_tracing puts its files in this directory +-tracing_gen_dir = "$root_gen_dir/content/browser/tracing" +- +-# The script just writes filename with no dirs to the .grd, so we always need +-# this file to be in the same directory as the inputs. +-tracing_grd = "$tracing_gen_dir/tracing_resources.grd" +- +-action("generate_tracing_grd") { +- visibility = [ ":*" ] # Depend on ":resources" to get this. +- script = "generate_trace_viewer_grd.py" +- +- input_pages = [ +- "$tracing_gen_dir/about_tracing.html", +- "$tracing_gen_dir/about_tracing.js", +- ] +- inputs = input_pages +- outputs = [ tracing_grd ] +- +- args = rebase_path(input_pages, target_gen_dir) + [ +- "--output", +- rebase_path(tracing_grd, root_build_dir), +- ] +- +- deps = [ "//third_party/catapult/tracing:generate_about_tracing" ] +-} +- +-grit("resources") { +- source = tracing_grd +- +- # Required because the .grd is generated. +- enable_input_discovery_for_gn_analyze = false +- +- outputs = [ +- "grit/tracing_resources.h", +- "tracing_resources.pak", +- ] +- +- # resource_ids has an entry for our .grd file that looks like: +- # "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd" +- # and what we pass here should make that resolve to our .grd file. +- defines = +- [ "SHARED_INTERMEDIATE_DIR=" + rebase_path(root_gen_dir, root_build_dir) ] +- +- deps = [ ":generate_tracing_grd" ] +-} +diff --git a/chromium/content/browser/tracing/tracing_ui.cc b/chromium/content/browser/tracing/tracing_ui.cc +index 2bffb5eb3b0..8965922dfba 100644 +--- a/qtwebengine/src/3rdparty/chromium/content/browser/tracing/tracing_ui.cc ++++ b/qtwebengine/src/3rdparty/chromium/content/browser/tracing/tracing_ui.cc +@@ -27,7 +27,6 @@ + #include "base/strings/stringprintf.h" + #include "base/trace_event/trace_event.h" + #include "base/values.h" +-#include "content/browser/tracing/grit/tracing_resources.h" + #include "content/browser/tracing/tracing_controller_impl.h" + #include "content/public/browser/browser_context.h" + #include "content/public/browser/browser_thread.h" +@@ -242,8 +241,6 @@ TracingUI::TracingUI(WebUI* web_ui) + WebUIDataSource* source = WebUIDataSource::Create(kChromeUITracingHost); + source->DisableTrustedTypesCSP(); + source->UseStringsJs(); +- source->SetDefaultResource(IDR_TRACING_HTML); +- source->AddResourcePath("tracing.js", IDR_TRACING_JS); + source->SetRequestFilter(base::BindRepeating(OnShouldHandleRequest), + base::BindRepeating(OnTracingRequest)); + WebUIDataSource::Add(browser_context, source); +diff --git a/chromium/content/shell/BUILD.gn b/chromium/content/shell/BUILD.gn +index 56c0e8b48e3..6e4ffbe962d 100644 +--- a/qtwebengine/src/3rdparty/chromium/content/shell/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/content/shell/BUILD.gn +@@ -390,7 +390,6 @@ repack("pak") { + sources = [ + "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", + "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", +@@ -413,7 +412,6 @@ repack("pak") { + "//content:dev_ui_content_resources", + "//content/app/resources", + "//content/browser/resources/media:media_internals_resources", +- "//content/browser/tracing:resources", + "//content/browser/webrtc/resources", + "//mojo/public/js:resources", + "//net:net_resources", +diff --git a/chromium/fuchsia/engine/BUILD.gn b/chromium/fuchsia/engine/BUILD.gn +index a502b7fc273..39df2a7028a 100644 +--- a/qtwebengine/src/3rdparty/chromium/fuchsia/engine/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/fuchsia/engine/BUILD.gn +@@ -43,7 +43,6 @@ repack("web_engine_pak") { + "$root_gen_dir/components/components_resources.pak", + "$root_gen_dir/components/strings/components_strings_en-US.pak", + "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", + "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", +@@ -66,7 +65,6 @@ repack("web_engine_pak") { + "//content:content_resources", + "//content:dev_ui_content_resources", + "//content/app/resources", +- "//content/browser/tracing:resources", + "//gpu/command_buffer/service", + "//mojo/public/js:resources", + "//net:net_resources", +diff --git a/chromium/headless/BUILD.gn b/chromium/headless/BUILD.gn +index d2ab76aed32..15e4b78009d 100644 +--- a/qtwebengine/src/3rdparty/chromium/headless/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/headless/BUILD.gn +@@ -37,7 +37,6 @@ repack("pak") { + "$root_gen_dir/components/components_resources.pak", + "$root_gen_dir/components/strings/components_strings_en-US.pak", + "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", + "$root_gen_dir/headless/headless_lib_resources.pak", +@@ -65,7 +64,6 @@ repack("pak") { + "//content:content_resources", + "//content:dev_ui_content_resources", + "//content/app/resources", +- "//content/browser/tracing:resources", + "//mojo/public/js:resources", + "//net:net_resources", + "//third_party/blink/public:resources", +diff --git a/chromium/mojo/public/tools/BUILD.gn b/chromium/mojo/public/tools/BUILD.gn +index 4c68350b399..1cc01256f00 100644 +--- a/qtwebengine/src/3rdparty/chromium/mojo/public/tools/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/BUILD.gn +@@ -14,5 +14,4 @@ group("mojo_python_unittests") { + "//testing/xvfb.py", + ] + deps = [ "//mojo/public/tools/mojom/mojom:tests" ] +- data_deps = [ "//third_party/catapult/third_party/typ/" ] + } +diff --git a/chromium/testing/BUILD.gn b/chromium/testing/BUILD.gn +index 56ebf8d46c9..7d51bc0ccf7 100644 +--- a/qtwebengine/src/3rdparty/chromium/testing/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/testing/BUILD.gn +@@ -27,7 +27,6 @@ group("run_perf_test") { + + data_deps = [ + ":test_scripts_shared", +- "//third_party/catapult/tracing:convert_chart_json", + ] + + if (is_android) { +diff --git a/chromium/third_party/webrtc/test/BUILD.gn b/chromium/third_party/webrtc/test/BUILD.gn +index 58d3dab5219..48328298d2e 100644 +--- a/qtwebengine/src/3rdparty/chromium/third_party/webrtc/test/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/third_party/webrtc/test/BUILD.gn +@@ -258,10 +258,6 @@ rtc_library("perf_test") { + absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] + if (rtc_enable_protobuf) { + sources += [ "testsupport/perf_test_histogram_writer.cc" ] +- deps += [ +- "//third_party/catapult/tracing/tracing:histogram", +- "//third_party/catapult/tracing/tracing:reserved_infos", +- ] + } else { + sources += [ "testsupport/perf_test_histogram_writer_no_protobuf.cc" ] + } +@@ -566,7 +562,6 @@ if (rtc_include_tests) { + + if (rtc_enable_protobuf) { + sources += [ "testsupport/perf_test_histogram_writer_unittest.cc" ] +- deps += [ "//third_party/catapult/tracing/tracing:histogram" ] + } + + data = test_support_unittests_resources +diff --git a/chromium/tools/binary_size/BUILD.gn b/chromium/tools/binary_size/BUILD.gn +index e6806bf7754..2c985d15fab 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/binary_size/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/binary_size/BUILD.gn +@@ -18,7 +18,6 @@ python_library("binary_size_trybot_py") { + python_library("sizes_py") { + testonly = true + pydeps_file = "sizes.pydeps" +- data_deps = [ "//third_party/catapult/tracing:convert_chart_json" ] + } + + if (is_linux || is_chromeos) { +diff --git a/chromium/tools/grit/BUILD.gn b/chromium/tools/grit/BUILD.gn +index 1cd3c75b553..60c4cf2f77a 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/grit/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/grit/BUILD.gn +@@ -33,7 +33,6 @@ group("grit_python_unittests") { + "//testing/scripts/run_isolated_script_test.py", + "//testing/xvfb.py", + "//tools/grit/", +- "//third_party/catapult/third_party/typ/", + ] + } + +diff --git a/chromium/tools/gritsettings/resource_ids.spec b/chromium/tools/gritsettings/resource_ids.spec +index d0a4545514c..80b0bf1737b 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/gritsettings/resource_ids.spec ++++ b/qtwebengine/src/3rdparty/chromium/tools/gritsettings/resource_ids.spec +@@ -499,12 +499,6 @@ + "content/shell/shell_resources.grd": { + "includes": [2940], + }, +- +- # This file is generated during the build. +- "<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.grd": { +- "META": {"sizes": {"includes": [20],}}, +- "includes": [2960], +- }, + # END content/ section. + + # START ios/web/ section. +diff --git a/chromium/tools/metrics/BUILD.gn b/chromium/tools/metrics/BUILD.gn +index 846d5248bfa..cb57d2bdae1 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/metrics/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/metrics/BUILD.gn +@@ -56,7 +56,6 @@ group("metrics_python_tests") { + "//testing/scripts/common.py", + "//testing/xvfb.py", + "//testing/test_env.py", +- "//third_party/catapult/third_party/typ/", + + # Scripts we depend on. Their unit tests are also included. + "//tools/json_comment_eater/json_comment_eater.py", +diff --git a/chromium/tools/perf/chrome_telemetry_build/BUILD.gn b/chromium/tools/perf/chrome_telemetry_build/BUILD.gn +index 280bb754c2c..c287fdcebb3 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn +@@ -107,7 +107,6 @@ group("telemetry_chrome_test_without_chrome") { + "//tools/perf/core/", # chrome_telemetry_build/ depends on core/ + ] + data_deps = [ +- "//third_party/catapult:telemetry_chrome_test_support", + "//tools/metrics:metrics_python_tests", + ] + +@@ -151,7 +150,5 @@ group("telemetry_chrome_test_without_chrome") { + "//build/android:devil_chromium_py", + "//build/android:stack_tools", + ] +- } else if (!is_fuchsia) { +- data_deps += [ "//third_party/catapult/telemetry:bitmaptools" ] + } + } +diff --git a/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn b/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn +index 7fe48cba143..e9c7f0261a5 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/perf/core/perfetto_binary_roller/BUILD.gn +@@ -7,7 +7,6 @@ import("//build/util/generate_wrapper.gni") + generate_wrapper("upload_trace_processor") { + testonly = true + data_deps = [ +- "//third_party/catapult:telemetry_chrome_test_support", + "//third_party/perfetto/src/trace_processor:trace_processor_shell", + ] + data = [ +diff --git a/chromium/tools/polymer/BUILD.gn b/chromium/tools/polymer/BUILD.gn +index 092066b7c04..d115144cd61 100644 +--- a/qtwebengine/src/3rdparty/chromium/tools/polymer/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/tools/polymer/BUILD.gn +@@ -10,6 +10,5 @@ group("polymer_tools_python_unittests") { + "//testing/scripts/run_isolated_script_test.py", + "//testing/xvfb.py", + "//tools/polymer/", +- "//third_party/catapult/third_party/typ/", + ] + } +diff --git a/chromium/v8/tools/BUILD.gn b/chromium/v8/tools/BUILD.gn +index 2f8197dd369..83304b6342b 100644 +--- a/qtwebengine/src/3rdparty/chromium/v8/tools/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/v8/tools/BUILD.gn +@@ -31,10 +31,6 @@ group("v8_android_test_runner_deps") { + + if (is_android && !build_with_chromium) { + data_deps = [ "//build/android:test_runner_py" ] +- data = [ +- # This is used by android.py, but not included by test_runner_py above. +- "//third_party/catapult/devil/devil/android/perf/", +- ] + } + } + +diff --git a/chromium/weblayer/shell/BUILD.gn b/chromium/weblayer/shell/BUILD.gn +index 66984a7da54..1815fad623d 100644 +--- a/qtwebengine/src/3rdparty/chromium/weblayer/shell/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/weblayer/shell/BUILD.gn +@@ -161,7 +161,6 @@ repack("support_pak") { + "$root_gen_dir/components/strings/components_locale_settings_en-US.pak", + "$root_gen_dir/components/strings/components_strings_en-US.pak", + "$root_gen_dir/content/app/resources/content_resources_100_percent.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", + "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", +@@ -182,7 +181,6 @@ repack("support_pak") { + "//content:content_resources", + "//content:dev_ui_content_resources", + "//content/app/resources", +- "//content/browser/tracing:resources", + "//mojo/public/js:resources", + "//net:net_resources", + "//third_party/blink/public:resources", +-- +2.35.1 + diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-python3.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-python3.patch new file mode 100644 index 00000000000..af9769225b3 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-chromium-python3.patch @@ -0,0 +1,1883 @@ +From 3c26c6214f675d170718df6bd54e61743620166a Mon Sep 17 00:00:00 2001 +From: Antonio Rojas +Date: Sat, 16 Oct 2021 20:17:35 +0000 +Subject: [PATCH 1/3] Build without python 2 + +--- + chromium/build/print_python_deps.py | 6 +- + .../protobufs/binary_proto_generator.py | 8 +- + .../tracing/generate_trace_viewer_grd.py | 2 +- + chromium/mojo/public/tools/bindings/BUILD.gn | 2 + + .../tools/bindings/gen_data_files_list.py | 8 +- + .../generators/mojom_java_generator.py | 4 + + .../tools/mojom/mojom/generate/generator.py | 14 ++-- + .../tools/mojom/mojom/generate/module.py | 3 +- + .../mojom/mojom/generate/template_expander.py | 12 +-- + .../scripts/bind_gen/blink_v8_bridge.py | 6 +- + .../scripts/bind_gen/callback_interface.py | 2 +- + .../bindings/scripts/bind_gen/code_node.py | 10 +-- + .../bindings/scripts/bind_gen/codegen_expr.py | 15 ++-- + .../scripts/bind_gen/codegen_format.py | 2 +- + .../scripts/bind_gen/codegen_utils.py | 2 +- + .../bindings/scripts/bind_gen/dictionary.py | 2 +- + .../bindings/scripts/bind_gen/interface.py | 82 +++++++++++-------- + .../scripts/bind_gen/mako_renderer.py | 2 +- + .../bindings/scripts/bind_gen/style_format.py | 9 +- + .../bindings/scripts/bind_gen/task_queue.py | 5 +- + .../bindings/scripts/code_generator.py | 10 +++ + .../scripts/generate_origin_trial_features.py | 4 +- + .../bindings/scripts/idl_definitions.py | 8 +- + .../renderer/bindings/scripts/idl_reader.py | 4 +- + .../renderer/bindings/scripts/idl_types.py | 2 +- + .../renderer/bindings/scripts/utilities.py | 28 +++---- + .../renderer/bindings/scripts/v8_interface.py | 9 +- + .../renderer/bindings/scripts/v8_methods.py | 4 + + .../renderer/bindings/scripts/v8_utilities.py | 2 +- + .../scripts/web_idl/callback_interface.py | 12 +-- + .../bindings/scripts/web_idl/database.py | 2 +- + .../bindings/scripts/web_idl/exposure.py | 5 +- + .../bindings/scripts/web_idl/function_like.py | 28 +++---- + .../bindings/scripts/web_idl/idl_compiler.py | 21 ++--- + .../bindings/scripts/web_idl/interface.py | 45 +++++----- + .../bindings/scripts/web_idl/ir_builder.py | 29 ++++--- + .../bindings/scripts/web_idl/make_copy.py | 7 ++ + .../bindings/scripts/web_idl/namespace.py | 12 +-- + .../bindings/templates/dictionary_v8.cc.tmpl | 8 +- + .../scripts/core/css/make_style_shorthands.py | 23 +++--- + .../properties/make_css_property_instances.py | 4 +- + .../blink/renderer/build/scripts/gperf.py | 2 +- + .../blink/renderer/build/scripts/in_file.py | 2 +- + .../renderer/build/scripts/in_generator.py | 5 ++ + .../build/scripts/make_runtime_features.py | 2 +- + .../scripts/templates/element_factory.cc.tmpl | 4 +- + .../templates/element_type_helpers.cc.tmpl | 4 +- + .../templates/element_type_helpers.h.tmpl | 2 +- + .../build/scripts/templates/macros.tmpl | 4 +- + .../templates/make_qualified_names.h.tmpl | 4 +- + .../dawn/generator/generator_lib.py | 4 + + .../devtools-frontend/src/BUILD.gn | 2 + + .../scripts/build/build_inspector_overlay.py | 3 +- + .../build/build_release_applications.py | 9 +- + .../scripts/build/generate_devtools_grd.py | 4 +- + .../src/scripts/build/modular_build.py | 6 +- + chromium/third_party/jinja2/tests.py | 2 +- + chromium/tools/metrics/ukm/gen_builders.py | 5 +- + .../ui/ozone/generate_constructor_list.py | 13 ++- + .../ui/ozone/generate_ozone_platform_list.py | 26 ++++-- + 60 files changed, 334 insertions(+), 232 deletions(-) + +diff --git a/chromium/build/print_python_deps.py b/chromium/build/print_python_deps.py +index fd29c0972c9..69af247094b 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/build/print_python_deps.py ++++ b/qtwebengine/src/3rdparty/chromium/build/print_python_deps.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2.7 ++#!/usr/bin/python + # Copyright 2016 The Chromium Authors. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. +@@ -80,7 +80,7 @@ def _GetTargetPythonVersion(module): + if shebang.startswith('#!'): + # Examples: + # '#!/usr/bin/python' +- # '#!/usr/bin/python2.7' ++ # '#!/usr/bin/python' + # '#!/usr/bin/python3' + # '#!/usr/bin/env python3' + # '#!/usr/bin/env vpython' +@@ -152,7 +152,7 @@ def main(): + + # Trybots run with vpython as default Python, but with a different config + # from //.vpython. To make the is_vpython test work, and to match the behavior +- # of dev machines, the shebang line must be run with python2.7. ++ # of dev machines, the shebang line must be run with python. + # + # E.g. $HOME/.vpython-root/dd50d3/bin/python + # E.g. /b/s/w/ir/cache/vpython/ab5c79/bin/python +diff --git a/chromium/components/resources/protobufs/binary_proto_generator.py b/chromium/components/resources/protobufs/binary_proto_generator.py +index 7422ead9697..16365515f26 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/components/resources/protobufs/binary_proto_generator.py ++++ b/qtwebengine/src/3rdparty/chromium/components/resources/protobufs/binary_proto_generator.py +@@ -7,7 +7,7 @@ + Converts a given ASCII proto into a binary resource. + + """ +- ++from __future__ import print_function + import abc + import imp + import optparse +@@ -196,12 +196,12 @@ class BinaryProtoGenerator: + self._ImportProtoModules(opts.path) + + if not self.VerifyArgs(opts): +- print "Wrong arguments" ++ print("Wrong arguments") + return 1 + + try: + self._GenerateBinaryProtos(opts) + except Exception as e: +- print "ERROR: Failed to render binary version of %s:\n %s\n%s" % ( +- opts.infile, str(e), traceback.format_exc()) ++ print("ERROR: Failed to render binary version of %s:\n %s\n%s" % ++ (opts.infile, str(e), traceback.format_exc())) + return 1 +diff --git a/chromium/content/browser/tracing/generate_trace_viewer_grd.py b/chromium/content/browser/tracing/generate_trace_viewer_grd.py +index 037f9497dc2..be393d21f90 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/content/browser/tracing/generate_trace_viewer_grd.py ++++ b/qtwebengine/src/3rdparty/chromium/content/browser/tracing/generate_trace_viewer_grd.py +@@ -74,7 +74,7 @@ def main(argv): + for filename in parsed_args.source_files: + add_file_to_grd(doc, os.path.basename(filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/mojo/public/tools/bindings/BUILD.gn b/chromium/mojo/public/tools/bindings/BUILD.gn +index fc04b5dd0b1..708958e438b 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/bindings/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/bindings/BUILD.gn +@@ -2,9 +2,11 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") + import("//mojo/public/tools/bindings/mojom.gni") + import("//third_party/jinja2/jinja2.gni") + ++# TODO(crbug.com/1194274): Investigate nondeterminism in Py3 builds. + action("precompile_templates") { + sources = mojom_generator_sources + sources += [ +diff --git a/chromium/mojo/public/tools/bindings/gen_data_files_list.py b/chromium/mojo/public/tools/bindings/gen_data_files_list.py +index 79c9e50efce..8b78d092418 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/bindings/gen_data_files_list.py ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/bindings/gen_data_files_list.py +@@ -18,7 +18,6 @@ import os + import re + import sys + +-from cStringIO import StringIO + from optparse import OptionParser + + sys.path.insert( +@@ -41,12 +40,9 @@ def main(): + pattern = re.compile(options.pattern) + files = [f for f in os.listdir(options.directory) if pattern.match(f)] + +- stream = StringIO() +- for f in files: +- print(f, file=stream) ++ contents = '\n'.join(f for f in files) + '\n' ++ WriteFile(contents, options.output) + +- WriteFile(stream.getvalue(), options.output) +- stream.close() + + if __name__ == '__main__': + sys.exit(main()) +diff --git a/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py b/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +index 96b2fdfae0c..00b9dccd00c 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/bindings/generators/mojom_java_generator.py +@@ -25,6 +25,10 @@ sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, + 'build', 'android', 'gyp')) + from util import build_utils + ++# TODO(crbug.com/1174969): Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ long = int + + GENERATOR_PREFIX = 'java' + +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/generator.py b/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +index de62260a5c9..4a1c73fcf82 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/mojom/mojom/generate/generator.py ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/generator.py +@@ -136,9 +136,14 @@ class Stylizer(object): + + def WriteFile(contents, full_path): + # If |contents| is same with the file content, we skip updating. ++ if not isinstance(contents, bytes): ++ data = contents.encode('utf8') ++ else: ++ data = contents ++ + if os.path.isfile(full_path): + with open(full_path, 'rb') as destination_file: +- if destination_file.read() == contents: ++ if destination_file.read() == data: + return + + # Make sure the containing directory exists. +@@ -146,11 +151,8 @@ def WriteFile(contents, full_path): + fileutil.EnsureDirectoryExists(full_dir) + + # Dump the data to disk. +- with open(full_path, "wb") as f: +- if not isinstance(contents, bytes): +- f.write(contents.encode('utf-8')) +- else: +- f.write(contents) ++ with open(full_path, 'wb') as f: ++ f.write(data) + + + def AddComputedData(module): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/module.py b/chromium/mojo/public/tools/mojom/mojom/generate/module.py +index ebbc9b322ea..3d026429bbc 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/mojom/mojom/generate/module.py ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/module.py +@@ -398,7 +398,8 @@ class Field(object): + + + class StructField(Field): +- pass ++ def __hash__(self): ++ return super(Field, self).__hash__() + + + class UnionField(Field): +diff --git a/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py b/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +index 7a300560246..8d9e26fb7f6 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py ++++ b/qtwebengine/src/3rdparty/chromium/mojo/public/tools/mojom/mojom/generate/template_expander.py +@@ -75,9 +75,9 @@ def PrecompileTemplates(generator_modules, output_dir): + os.path.dirname(module.__file__), generator.GetTemplatePrefix()) + ])) + jinja_env.filters.update(generator.GetFilters()) +- jinja_env.compile_templates( +- os.path.join(output_dir, "%s.zip" % generator.GetTemplatePrefix()), +- extensions=["tmpl"], +- zip="stored", +- py_compile=True, +- ignore_errors=False) ++ jinja_env.compile_templates(os.path.join( ++ output_dir, "%s.zip" % generator.GetTemplatePrefix()), ++ extensions=["tmpl"], ++ zip="stored", ++ py_compile=sys.version_info.major < 3, ++ ignore_errors=False) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +index 3225ecca6e4..fc078d31b55 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py +@@ -344,7 +344,7 @@ def make_default_value_expr(idl_type, default_value): + """ + assert default_value.is_type_compatible_with(idl_type) + +- class DefaultValueExpr: ++ class DefaultValueExpr(object): + _ALLOWED_SYMBOLS_IN_DEPS = ("isolate") + + def __init__(self, initializer_expr, initializer_deps, +@@ -502,7 +502,7 @@ def make_v8_to_blink_value(blink_var_name, + assert isinstance(blink_var_name, str) + assert isinstance(v8_value_expr, str) + assert isinstance(idl_type, web_idl.IdlType) +- assert (argument_index is None or isinstance(argument_index, (int, long))) ++ assert (argument_index is None or isinstance(argument_index, int)) + assert (default_value is None + or isinstance(default_value, web_idl.LiteralConstant)) + +@@ -622,7 +622,7 @@ def make_v8_to_blink_value_variadic(blink_var_name, v8_array, + """ + assert isinstance(blink_var_name, str) + assert isinstance(v8_array, str) +- assert isinstance(v8_array_start_index, (int, long)) ++ assert isinstance(v8_array_start_index, int) + assert isinstance(idl_type, web_idl.IdlType) + + pattern = ("auto&& ${{{_1}}} = " +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +index 4a6df513068..8b51f23a409 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/callback_interface.py +@@ -177,7 +177,7 @@ def generate_callback_interface(callback_interface_identifier): + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=None, + attribute_entries=[], +- constant_entries=filter(is_unconditional, constant_entries), ++ constant_entries=list(filter(is_unconditional, constant_entries)), + exposed_construct_entries=[], + operation_entries=[]) + (install_interface_template_decl, install_interface_template_def, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +index 52972fefe20..e5ae9d9629e 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/code_node.py +@@ -503,13 +503,13 @@ class CompositeNode(CodeNode): + gensym_kwargs = {} + template_vars = {} + for arg in args: +- assert isinstance(arg, (CodeNode, int, long, str)) ++ assert isinstance(arg, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_args.append("${{{}}}".format(gensym)) + template_vars[gensym] = arg + for key, value in kwargs.items(): +- assert isinstance(key, (int, long, str)) +- assert isinstance(value, (CodeNode, int, long, str)) ++ assert isinstance(key, (int, str)) ++ assert isinstance(value, (CodeNode, int, str)) + gensym = CodeNode.gensym() + gensym_kwargs[key] = "${{{}}}".format(gensym) + template_vars[gensym] = value +@@ -602,7 +602,7 @@ class ListNode(CodeNode): + def insert(self, index, node): + if node is None: + return +- assert isinstance(index, (int, long)) ++ assert isinstance(index, int) + assert isinstance(node, CodeNode) + assert node.outer is None and node.prev is None + +@@ -721,7 +721,7 @@ class SymbolScopeNode(SequenceNode): + if not scope_chains: + return counts + +- self_index = iter(scope_chains).next().index(self) ++ self_index = next(iter(scope_chains)).index(self) + scope_chains = map( + lambda scope_chain: scope_chain[self_index + 1:], scope_chains) + scope_to_likeliness = {} +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +index a229a6c71c9..5fa288dabf2 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_expr.py +@@ -109,7 +109,7 @@ def expr_and(terms): + + if any(term.is_always_false for term in terms): + return _Expr(False) +- terms = filter(lambda x: not x.is_always_true, terms) ++ terms = list(filter(lambda x: not x.is_always_true, terms)) + if not terms: + return _Expr(True) + if len(terms) == 1: +@@ -124,7 +124,7 @@ def expr_or(terms): + + if any(term.is_always_true for term in terms): + return _Expr(True) +- terms = filter(lambda x: not x.is_always_false, terms) ++ terms = list(filter(lambda x: not x.is_always_false, terms)) + if not terms: + return _Expr(False) + if len(terms) == 1: +@@ -222,7 +222,7 @@ def expr_from_exposure(exposure, + elif exposure.only_in_secure_contexts is False: + secure_context_term = _Expr(True) + else: +- terms = map(ref_enabled, exposure.only_in_secure_contexts) ++ terms = list(map(ref_enabled, exposure.only_in_secure_contexts)) + secure_context_term = expr_or( + [_Expr("${is_in_secure_context}"), + expr_not(expr_and(terms))]) +@@ -275,10 +275,11 @@ def expr_from_exposure(exposure, + + # [ContextEnabled] + if exposure.context_enabled_features: +- terms = map( +- lambda feature: _Expr( +- "${{context_feature_settings}}->is{}Enabled()".format( +- feature)), exposure.context_enabled_features) ++ terms = list( ++ map( ++ lambda feature: _Expr( ++ "${{context_feature_settings}}->is{}Enabled()".format( ++ feature)), exposure.context_enabled_features)) + context_enabled_terms.append( + expr_and([_Expr("${context_feature_settings}"), + expr_or(terms)])) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +index 87d26eec3ca..f3e9d38247e 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_format.py +@@ -23,7 +23,7 @@ class _TemplateFormatter(string.Formatter): + self._template_formatter_indexing_count_ = 0 + + def get_value(self, key, args, kwargs): +- if isinstance(key, (int, long)): ++ if isinstance(key, int): + return args[key] + assert isinstance(key, str) + if not key: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +index 2bcc4fed49a..e72282aa696 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/codegen_utils.py +@@ -116,4 +116,4 @@ def write_code_node_to_file(code_node, filepath): + # stderr=format_result.error_message)) + # + # web_idl.file_io.write_to_file_if_changed(filepath, format_result.contents) +- web_idl.file_io.write_to_file_if_changed(filepath, rendered_text) ++ web_idl.file_io.write_to_file_if_changed(filepath, rendered_text.encode('utf-8')) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +index b39f0100410..4d68202296b 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py +@@ -993,7 +993,7 @@ def make_dict_trace_func(cg_context): + _2 = _blink_member_name(member).value_var + return TextNode(_format(pattern, _1=_1, _2=_2)) + +- body.extend(map(make_trace_member_node, own_members)) ++ body.extend(list(map(make_trace_member_node, own_members))) + body.append(TextNode("BaseClass::Trace(visitor);")) + + return func_decl, func_def +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +index 10ff30656ad..bfdf7128aac 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/interface.py +@@ -582,7 +582,7 @@ def _make_blink_api_call(code_node, + overriding_args=None): + assert isinstance(code_node, SymbolScopeNode) + assert isinstance(cg_context, CodeGenContext) +- assert num_of_args is None or isinstance(num_of_args, (int, long)) ++ assert num_of_args is None or isinstance(num_of_args, int) + assert (overriding_args is None + or (isinstance(overriding_args, (list, tuple)) + and all(isinstance(arg, str) for arg in overriding_args))) +@@ -1196,8 +1196,10 @@ def make_overload_dispatcher(cg_context): + did_use_break = did_use_break or can_fail + + conditional = expr_or( +- map(lambda item: expr_from_exposure(item.function_like.exposure), +- items)) ++ list( ++ map( ++ lambda item: expr_from_exposure(item.function_like.exposure ++ ), items))) + if not conditional.is_always_true: + node = CxxUnlikelyIfNode(cond=conditional, body=node) + +@@ -4642,7 +4644,7 @@ class _PropEntryConstructorGroup(_PropEntryBase): + def __init__(self, is_context_dependent, exposure_conditional, world, + constructor_group, ctor_callback_name, ctor_func_length): + assert isinstance(ctor_callback_name, str) +- assert isinstance(ctor_func_length, (int, long)) ++ assert isinstance(ctor_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, constructor_group) +@@ -4670,7 +4672,7 @@ class _PropEntryOperationGroup(_PropEntryBase): + op_func_length, + no_alloc_direct_callback_name=None): + assert isinstance(op_callback_name, str) +- assert isinstance(op_func_length, (int, long)) ++ assert isinstance(op_func_length, int) + + _PropEntryBase.__init__(self, is_context_dependent, + exposure_conditional, world, operation_group) +@@ -5175,9 +5177,9 @@ def make_install_interface_template(cg_context, function_name, class_name, api_c + ]) + + if class_like.identifier == "CSSStyleDeclaration": +- css_properties = filter( +- lambda attr: "CSSProperty" in attr.extended_attributes, +- class_like.attributes) ++ css_properties = list( ++ filter(lambda attr: "CSSProperty" in attr.extended_attributes, ++ class_like.attributes)) + if css_properties: + prop_name_list = "".join( + map(lambda attr: "\"{}\", ".format(attr.identifier), +@@ -5567,8 +5569,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantCallbackTable, base::size(kConstantCallbackTable));") +- constant_callback_entries = filter(lambda entry: entry.const_callback_name, +- constant_entries) ++ constant_callback_entries = list(filter(lambda entry: entry.const_callback_name, ++ constant_entries)) + install_properties(table_name, constant_callback_entries, + _make_constant_callback_registration_table, + installer_call_text) +@@ -5584,8 +5586,8 @@ ${instance_object} = ${v8_context}->Global()->GetPrototype().As();\ + "V8DOMConfiguration::InstallConstants(${isolate}, " + "${interface_template}, ${prototype_template}, " + "kConstantValueTable, base::size(kConstantValueTable));") +- constant_value_entries = filter( +- lambda entry: not entry.const_callback_name, constant_entries) ++ constant_value_entries = list(filter( ++ lambda entry: not entry.const_callback_name, constant_entries)) + install_properties(table_name, constant_value_entries, + _make_constant_value_registration_table, + installer_call_text) +@@ -6336,8 +6338,8 @@ def make_v8_context_snapshot_api(cg_context, component, attribute_entries, + assert isinstance(component, web_idl.Component) + + derived_interfaces = cg_context.interface.deriveds +- derived_names = map(lambda interface: interface.identifier, +- derived_interfaces) ++ derived_names = list( ++ map(lambda interface: interface.identifier, derived_interfaces)) + derived_names.append(cg_context.interface.identifier) + if not ("Window" in derived_names or "HTMLDocument" in derived_names): + return None, None +@@ -6411,9 +6413,11 @@ def _make_v8_context_snapshot_get_reference_table_function( + collect_callbacks(named_properties_object_callback_defs) + collect_callbacks(cross_origin_property_callback_defs) + +- entry_nodes = map( +- lambda name: TextNode("reinterpret_cast({}),".format(name)), +- filter(None, callback_names)) ++ entry_nodes = list( ++ map( ++ lambda name: TextNode("reinterpret_cast({}),".format(name ++ )), ++ filter(None, callback_names))) + table_node = ListNode([ + TextNode("using namespace ${class_name}Callbacks;"), + TextNode("static const intptr_t kReferenceTable[] = {"), +@@ -6451,10 +6455,11 @@ def _make_v8_context_snapshot_install_props_per_context_function( + class_name=None, + prop_install_mode=PropInstallMode.V8_CONTEXT_SNAPSHOT, + trampoline_var_name=None, +- attribute_entries=filter(selector, attribute_entries), +- constant_entries=filter(selector, constant_entries), +- exposed_construct_entries=filter(selector, exposed_construct_entries), +- operation_entries=filter(selector, operation_entries)) ++ attribute_entries=list(filter(selector, attribute_entries)), ++ constant_entries=list(filter(selector, constant_entries)), ++ exposed_construct_entries=list( ++ filter(selector, exposed_construct_entries)), ++ operation_entries=list(filter(selector, operation_entries))) + + return func_decl, func_def + +@@ -6810,11 +6815,11 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.UNCONDITIONAL, + trampoline_var_name=tp_install_unconditional_props, +- attribute_entries=filter(is_unconditional, attribute_entries), +- constant_entries=filter(is_unconditional, constant_entries), +- exposed_construct_entries=filter(is_unconditional, +- exposed_construct_entries), +- operation_entries=filter(is_unconditional, operation_entries)) ++ attribute_entries=list(filter(is_unconditional, attribute_entries)), ++ constant_entries=list(filter(is_unconditional, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_unconditional, exposed_construct_entries)), ++ operation_entries=list(filter(is_unconditional, operation_entries))) + (install_context_independent_props_decl, + install_context_independent_props_def, + install_context_independent_props_trampoline) = make_install_properties( +@@ -6823,11 +6828,14 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_INDEPENDENT, + trampoline_var_name=tp_install_context_independent_props, +- attribute_entries=filter(is_context_independent, attribute_entries), +- constant_entries=filter(is_context_independent, constant_entries), +- exposed_construct_entries=filter(is_context_independent, +- exposed_construct_entries), +- operation_entries=filter(is_context_independent, operation_entries)) ++ attribute_entries=list( ++ filter(is_context_independent, attribute_entries)), ++ constant_entries=list(filter(is_context_independent, ++ constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_independent, exposed_construct_entries)), ++ operation_entries=list( ++ filter(is_context_independent, operation_entries))) + (install_context_dependent_props_decl, install_context_dependent_props_def, + install_context_dependent_props_trampoline) = make_install_properties( + cg_context, +@@ -6835,11 +6843,13 @@ def generate_interface(interface_identifier): + class_name=impl_class_name, + prop_install_mode=PropInstallMode.CONTEXT_DEPENDENT, + trampoline_var_name=tp_install_context_dependent_props, +- attribute_entries=filter(is_context_dependent, attribute_entries), +- constant_entries=filter(is_context_dependent, constant_entries), +- exposed_construct_entries=filter(is_context_dependent, +- exposed_construct_entries), +- operation_entries=filter(is_context_dependent, operation_entries)) ++ attribute_entries=list(filter(is_context_dependent, ++ attribute_entries)), ++ constant_entries=list(filter(is_context_dependent, constant_entries)), ++ exposed_construct_entries=list( ++ filter(is_context_dependent, exposed_construct_entries)), ++ operation_entries=list(filter(is_context_dependent, ++ operation_entries))) + (install_interface_template_decl, install_interface_template_def, + install_interface_template_trampoline) = make_install_interface_template( + cg_context, +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +index b4c70553863..f3a2fcd772d 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/mako_renderer.py +@@ -105,7 +105,7 @@ class MakoRenderer(object): + on_error = self._caller_stack_on_error + if (len(current) <= len(on_error) + and all(current[i] == on_error[i] +- for i in xrange(len(current)))): ++ for i in range(len(current)))): + pass # Error happened in a deeper caller. + else: + self._caller_stack_on_error = list(self._caller_stack) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +index dc3493cc394..017d3d47bb3 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -70,8 +70,13 @@ def gn_format(contents, filename=None): + + + def _invoke_format_command(command_line, filename, contents): +- proc = subprocess.Popen( +- command_line, stdin=subprocess.PIPE, stdout=subprocess.PIPE) ++ kwargs = {} ++ if sys.version_info.major != 2: ++ kwargs['encoding'] = 'utf-8' ++ proc = subprocess.Popen(command_line, ++ stdin=subprocess.PIPE, ++ stdout=subprocess.PIPE, ++ **kwargs) + stdout_output, stderr_output = proc.communicate(input=contents) + exit_code = proc.wait() + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py b/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +index 0d8f4c0f303..e666a9b668e 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/task_queue.py +@@ -2,6 +2,7 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import functools + import multiprocessing + + from .package_initializer import package_initializer +@@ -76,7 +77,7 @@ class TaskQueue(object): + if not report_progress: + return + +- done_count = reduce( ++ done_count = functools.reduce( + lambda count, worker_task: count + bool(worker_task.ready()), + self._worker_tasks, 0) + report_progress(len(self._worker_tasks), done_count) +@@ -85,4 +86,4 @@ class TaskQueue(object): + def _task_queue_run_tasks(tasks): + for task in tasks: + func, args, kwargs = task +- apply(func, args, kwargs) ++ func(*args, **kwargs) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py b/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +index e8280be7213..e49e6eb965e 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/code_generator.py +@@ -13,6 +13,7 @@ import re + import sys + + from idl_types import set_ancestors, IdlType ++from itertools import groupby + from v8_globals import includes + from v8_interface import constant_filters + from v8_types import set_component_dirs +@@ -43,6 +44,7 @@ TEMPLATES_DIR = os.path.normpath( + # after path[0] == invoking script dir + sys.path.insert(1, THIRD_PARTY_DIR) + import jinja2 ++from jinja2.filters import make_attrgetter, environmentfilter + + + def generate_indented_conditional(code, conditional): +@@ -88,6 +90,13 @@ def runtime_enabled_if(code, name): + return generate_indented_conditional(code, function) + + ++@environmentfilter ++def do_stringify_key_group_by(environment, value, attribute): ++ expr = make_attrgetter(environment, attribute) ++ key = lambda item: '' if expr(item) is None else str(expr(item)) ++ return groupby(sorted(value, key=key), expr) ++ ++ + def initialize_jinja_env(cache_dir): + jinja_env = jinja2.Environment( + loader=jinja2.FileSystemLoader(TEMPLATES_DIR), +@@ -117,6 +126,7 @@ def initialize_jinja_env(cache_dir): + }) + jinja_env.filters.update(constant_filters()) + jinja_env.filters.update(method_filters()) ++ jinja_env.filters["stringifykeygroupby"] = do_stringify_key_group_by + return jinja_env + + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py b/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +index 130004eae83..04c0fabcef2 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/generate_origin_trial_features.py +@@ -80,7 +80,7 @@ def read_idl_file(reader, idl_filename): + assert len(interfaces) == 1, ( + "Expected one interface in file %r, found %d" % + (idl_filename, len(interfaces))) +- return (interfaces.values()[0], includes) ++ return (list(interfaces.values())[0], includes) + + + def interface_is_global(interface): +@@ -281,7 +281,7 @@ def main(): + + info_provider = create_component_info_provider( + os.path.normpath(options.info_dir), options.target_component) +- idl_filenames = map(str.strip, open(options.idl_files_list)) ++ idl_filenames = list(map(str.strip, open(options.idl_files_list))) + + generate_origin_trial_features(info_provider, options, idl_filenames) + return 0 +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +index 14e6e9d3f87..b027818aef2 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_definitions.py +@@ -394,7 +394,8 @@ class IdlInterface(object): + else: + raise ValueError('Unrecognized node class: %s' % child_class) + +- if len(filter(None, [self.iterable, self.maplike, self.setlike])) > 1: ++ if len(list(filter(None, ++ [self.iterable, self.maplike, self.setlike]))) > 1: + raise ValueError( + 'Interface can only have one of iterable<>, maplike<> and setlike<>.' + ) +@@ -512,6 +513,9 @@ class IdlAttribute(TypedObject): + def accept(self, visitor): + visitor.visit_attribute(self) + ++ def __lt__(self, other): ++ return self.name < other.name ++ + + ################################################################################ + # Constants +@@ -852,7 +856,7 @@ class IdlIncludes(object): + ################################################################################ + + +-class Exposure: ++class Exposure(object): + """An Exposure holds one Exposed or RuntimeEnabled condition. + Each exposure has two properties: exposed and runtime_enabled. + Exposure(e, r) corresponds to [Exposed(e r)]. Exposure(e) corresponds to +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +index 8d72865a6ca..b80eebdcd61 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_reader.py +@@ -55,8 +55,8 @@ def validate_blink_idl_definitions(idl_filename, idl_file_basename, + definitions. There is no filename convention in this case. + - Otherwise, an IDL file is invalid. + """ +- targets = ( +- definitions.interfaces.values() + definitions.dictionaries.values()) ++ targets = (list(definitions.interfaces.values()) + ++ list(definitions.dictionaries.values())) + number_of_targets = len(targets) + if number_of_targets > 1: + raise Exception( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py b/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +index cd4f0c3513b..ab95e9c0b08 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/idl_types.py +@@ -349,7 +349,7 @@ class IdlUnionType(IdlTypeBase): + return True + + def single_matching_member_type(self, predicate): +- matching_types = filter(predicate, self.flattened_member_types) ++ matching_types = list(filter(predicate, self.flattened_member_types)) + if len(matching_types) > 1: + raise ValueError('%s is ambiguous.' % self.name) + return matching_types[0] if matching_types else None +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +index e1677ee7bd6..3c5006f064f 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/utilities.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/utilities.py +@@ -196,8 +196,9 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + @property + def callback_functions(self): +- return dict(self._component_info_core['callback_functions'].items() + +- self._component_info_modules['callback_functions'].items()) ++ return dict( ++ list(self._component_info_core['callback_functions'].items()) + ++ list(self._component_info_modules['callback_functions'].items())) + + @property + def specifier_for_export(self): +@@ -209,8 +210,8 @@ class ComponentInfoProviderModules(ComponentInfoProvider): + + + def load_interfaces_info_overall_pickle(info_dir): +- with open(os.path.join(info_dir, +- 'interfaces_info.pickle')) as interface_info_file: ++ with open(os.path.join(info_dir, 'interfaces_info.pickle'), ++ mode='rb') as interface_info_file: + return pickle.load(interface_info_file) + + +@@ -236,23 +237,20 @@ def merge_dict_recursively(target, diff): + + def create_component_info_provider_core(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info = pickle.load(component_info_file) + return ComponentInfoProviderCore(interfaces_info, component_info) + + + def create_component_info_provider_modules(info_dir): + interfaces_info = load_interfaces_info_overall_pickle(info_dir) +- with open( +- os.path.join(info_dir, 'core', +- 'component_info_core.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'core', 'component_info_core.pickle'), ++ mode='rb') as component_info_file: + component_info_core = pickle.load(component_info_file) +- with open( +- os.path.join( +- info_dir, 'modules', +- 'component_info_modules.pickle')) as component_info_file: ++ with open(os.path.join(info_dir, 'modules', ++ 'component_info_modules.pickle'), ++ mode='rb') as component_info_file: + component_info_modules = pickle.load(component_info_file) + return ComponentInfoProviderModules(interfaces_info, component_info_core, + component_info_modules) +@@ -356,7 +354,7 @@ def write_pickle_file(pickle_filename, data): + pickle_filename = abs(pickle_filename) + # If |data| is same with the file content, we skip updating. + if os.path.isfile(pickle_filename): +- with open(pickle_filename) as pickle_file: ++ with open(pickle_filename, 'rb') as pickle_file: + try: + if pickle.load(pickle_file) == data: + return +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +index a43260414db..a85b03abe75 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_interface.py +@@ -189,7 +189,7 @@ def context_enabled_features(attributes): + return sorted([ + member for member in members + if member.get(KEY) and not member.get('exposed_test') +- ]) ++ ], key=lambda item: item['name']) + + def member_filter_by_name(members, name): + return [member for member in members if member[KEY] == name] +@@ -612,7 +612,8 @@ def interface_context(interface, interfaces, component_info): + sorted( + origin_trial_features(interface, context['constants'], + context['attributes'], context['methods']) + +- context_enabled_features(context['attributes'])), ++ context_enabled_features(context['attributes']), ++ key=lambda item: item['name']), + }) + if context['optional_features']: + includes.add('platform/bindings/v8_per_context_data.h') +@@ -1356,9 +1357,9 @@ def resolution_tests_methods(effective_overloads): + + # Extract argument and IDL type to simplify accessing these in each loop. + arguments = [method['arguments'][index] for method in methods] +- arguments_methods = zip(arguments, methods) ++ arguments_methods = list(zip(arguments, methods)) + idl_types = [argument['idl_type_object'] for argument in arguments] +- idl_types_methods = zip(idl_types, methods) ++ idl_types_methods = list(zip(idl_types, methods)) + + # We can’t do a single loop through all methods or simply sort them, because + # a method may be listed in multiple steps of the resolution algorithm, and +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +index 5f1f89a3def..6ee8a407798 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_methods.py +@@ -46,6 +46,10 @@ import v8_types + import v8_utilities + from v8_utilities import (has_extended_attribute_value, is_unforgeable) + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + def method_is_visible(method, interface_is_partial): + if 'overloads' in method: +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py b/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +index 2ecd6923320..fcfc48371b1 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/v8_utilities.py +@@ -271,7 +271,7 @@ EXPOSED_WORKERS = set([ + ]) + + +-class ExposureSet: ++class ExposureSet(object): + """An ExposureSet is a collection of Exposure instructions.""" + + def __init__(self, exposures=None): +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +index 13fb7c7068d..b73b7710687 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/callback_interface.py +@@ -91,11 +91,13 @@ class CallbackInterface(UserDefinedType, WithExtendedAttributes, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +index c92cf48eb2a..f5d59129449 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/database.py +@@ -156,4 +156,4 @@ class Database(object): + return self._view_by_kind(Database._Kind.UNION) + + def _view_by_kind(self, kind): +- return self._impl.find_by_kind(kind).values() ++ return list(self._impl.find_by_kind(kind).values()) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +index abaeef39c30..e36cf7439ae 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/exposure.py +@@ -8,8 +8,11 @@ from .runtime_enabled_features import RuntimeEnabledFeatures + class _Feature(str): + """Represents a runtime-enabled feature.""" + ++ def __new__(cls, value): ++ return str.__new__(cls, value) ++ + def __init__(self, value): +- str.__init__(self, value) ++ str.__init__(self) + self._is_context_dependent = ( + RuntimeEnabledFeatures.is_context_dependent(self)) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +index 648c70d803d..1712f19c672 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/function_like.py +@@ -71,8 +71,9 @@ class FunctionLike(WithIdentifier): + def num_of_required_arguments(self): + """Returns the number of required arguments.""" + return len( +- filter(lambda arg: not (arg.is_optional or arg.is_variadic), +- self.arguments)) ++ list( ++ filter(lambda arg: not (arg.is_optional or arg.is_variadic), ++ self.arguments))) + + + class OverloadGroup(WithIdentifier): +@@ -171,8 +172,7 @@ class OverloadGroup(WithIdentifier): + Returns the effective overload set. + https://heycam.github.io/webidl/#compute-the-effective-overload-set + """ +- assert argument_count is None or isinstance(argument_count, +- (int, long)) ++ assert argument_count is None or isinstance(argument_count, int) + + N = argument_count + S = [] +@@ -188,21 +188,21 @@ class OverloadGroup(WithIdentifier): + + S.append( + OverloadGroup.EffectiveOverloadItem( +- X, map(lambda arg: arg.idl_type, X.arguments), +- map(lambda arg: arg.optionality, X.arguments))) ++ X, list(map(lambda arg: arg.idl_type, X.arguments)), ++ list(map(lambda arg: arg.optionality, X.arguments)))) + + if X.is_variadic: +- for i in xrange(n, max(maxarg, N)): +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for _ in xrange(n, i + 1): ++ for i in range(n, max(maxarg, N)): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for _ in range(n, i + 1): + t.append(X.arguments[-1].idl_type) + o.append(X.arguments[-1].optionality) + S.append(OverloadGroup.EffectiveOverloadItem(X, t, o)) + +- t = map(lambda arg: arg.idl_type, X.arguments) +- o = map(lambda arg: arg.optionality, X.arguments) +- for i in xrange(n - 1, -1, -1): ++ t = list(map(lambda arg: arg.idl_type, X.arguments)) ++ o = list(map(lambda arg: arg.optionality, X.arguments)) ++ for i in range(n - 1, -1, -1): + if X.arguments[i].optionality == IdlType.Optionality.REQUIRED: + break + S.append(OverloadGroup.EffectiveOverloadItem(X, t[:i], o[:i])) +@@ -222,7 +222,7 @@ class OverloadGroup(WithIdentifier): + for item in items) + assert len(items) > 1 + +- for index in xrange(len(items[0].type_list)): ++ for index in range(len(items[0].type_list)): + # Assume that the given items are valid, and we only need to test + # the two types. + if OverloadGroup.are_distinguishable_types( +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +index c5ee2bd8a3d..58315072480 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/idl_compiler.py +@@ -149,8 +149,8 @@ class IdlCompiler(object): + for old_ir in old_irs: + new_ir = make_copy(old_ir) + self._ir_map.add(new_ir) +- new_ir.attributes = filter(not_disabled, new_ir.attributes) +- new_ir.operations = filter(not_disabled, new_ir.operations) ++ new_ir.attributes = list(filter(not_disabled, new_ir.attributes)) ++ new_ir.operations = list(filter(not_disabled, new_ir.operations)) + + def _record_defined_in_partial_and_mixin(self): + old_irs = self._ir_map.irs_of_kinds( +@@ -231,7 +231,7 @@ class IdlCompiler(object): + only_to_members_of_partial_or_mixin=False) + propagate_to_exposure(propagate) + +- map(process_member_like, ir.iter_all_members()) ++ list(map(process_member_like, ir.iter_all_members())) + + def process_member_like(ir): + propagate = functools.partial(propagate_extattr, ir=ir) +@@ -257,7 +257,7 @@ class IdlCompiler(object): + + self._ir_map.move_to_new_phase() + +- map(process_interface_like, old_irs) ++ list(map(process_interface_like, old_irs)) + + def _determine_blink_headers(self): + irs = self._ir_map.irs_of_kinds( +@@ -422,9 +422,9 @@ class IdlCompiler(object): + assert not new_interface.deriveds + derived_set = identifier_to_derived_set.get( + new_interface.identifier, set()) +- new_interface.deriveds = map( +- lambda id_: self._ref_to_idl_def_factory.create(id_), +- sorted(derived_set)) ++ new_interface.deriveds = list( ++ map(lambda id_: self._ref_to_idl_def_factory.create(id_), ++ sorted(derived_set))) + + def _supplement_missing_html_constructor_operation(self): + # Temporary mitigation of misuse of [HTMLConstructor] +@@ -553,7 +553,8 @@ class IdlCompiler(object): + self._ir_map.add(new_ir) + + for group in new_ir.iter_all_overload_groups(): +- exposures = map(lambda overload: overload.exposure, group) ++ exposures = list(map(lambda overload: overload.exposure, ++ group)) + + # [Exposed] + if any(not exposure.global_names_and_features +@@ -653,8 +654,8 @@ class IdlCompiler(object): + constructs = set() + for global_name in global_names: + constructs.update(exposed_map.get(global_name, [])) +- new_ir.exposed_constructs = map( +- self._ref_to_idl_def_factory.create, sorted(constructs)) ++ new_ir.exposed_constructs = list( ++ map(self._ref_to_idl_def_factory.create, sorted(constructs))) + + assert not new_ir.legacy_window_aliases + if new_ir.identifier != 'Window': +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +index 65d24e529d1..067ef2eb0b2 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/interface.py +@@ -180,8 +180,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._constructors)), + owner=self) for group_ir in ir.constructor_groups + ]) + assert len(self._constructor_groups) <= 1 +@@ -192,8 +193,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._named_constructor_groups = tuple([ + ConstructorGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._named_constructors), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._named_constructors)), + owner=self) for group_ir in ir.named_constructor_groups + ]) + self._operations = tuple([ +@@ -203,22 +205,23 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=self) for group_ir in ir.operation_groups + ]) + self._exposed_constructs = tuple(ir.exposed_constructs) + self._legacy_window_aliases = tuple(ir.legacy_window_aliases) + self._indexed_and_named_properties = None +- indexed_and_named_property_operations = filter( +- lambda x: x.is_indexed_or_named_property_operation, +- self._operations) ++ indexed_and_named_property_operations = list( ++ filter(lambda x: x.is_indexed_or_named_property_operation, ++ self._operations)) + if indexed_and_named_property_operations: + self._indexed_and_named_properties = IndexedAndNamedProperties( + indexed_and_named_property_operations, owner=self) + self._stringifier = None +- stringifier_operation_irs = filter(lambda x: x.is_stringifier, +- ir.operations) ++ stringifier_operation_irs = list( ++ filter(lambda x: x.is_stringifier, ir.operations)) + if stringifier_operation_irs: + assert len(stringifier_operation_irs) == 1 + op_ir = make_copy(stringifier_operation_irs[0]) +@@ -231,8 +234,9 @@ class Interface(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + attribute = None + if operation.stringifier_attribute: + attr_id = operation.stringifier_attribute +- attributes = filter(lambda x: x.identifier == attr_id, +- self._attributes) ++ attributes = list( ++ filter(lambda x: x.identifier == attr_id, ++ self._attributes)) + assert len(attributes) == 1 + attribute = attributes[0] + self._stringifier = Stringifier(operation, attribute, owner=self) +@@ -578,8 +582,9 @@ class Iterable(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -666,8 +671,9 @@ class Maplike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +@@ -755,8 +761,9 @@ class Setlike(WithDebugInfo): + self._operation_groups = tuple([ + OperationGroup( + group_ir, +- filter(lambda x: x.identifier == group_ir.identifier, +- self._operations), ++ list( ++ filter(lambda x: x.identifier == group_ir.identifier, ++ self._operations)), + owner=owner) for group_ir in ir.operation_groups + ]) + +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +index e9aeff4ab82..d80554d603e 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/ir_builder.py +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import sys ++ + from .argument import Argument + from .ast_group import AstGroup + from .attribute import Attribute +@@ -30,6 +32,11 @@ from .operation import Operation + from .typedef import Typedef + + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ ++ + def load_and_register_idl_definitions(filepaths, register_ir, + create_ref_to_idl_def, idl_type_factory): + """ +@@ -160,7 +167,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) + +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + attributes = [] + constants = [] + operations = [] +@@ -302,7 +309,7 @@ class _IRBuilder(object): + child_nodes = list(node.GetChildren()) + inherited = self._take_inheritance(child_nodes) + extended_attributes = self._take_extended_attributes(child_nodes) +- own_members = map(self._build_dictionary_member, child_nodes) ++ own_members = list(map(self._build_dictionary_member, child_nodes)) + + return Dictionary.IR( + identifier=Identifier(node.GetName()), +@@ -336,7 +343,7 @@ class _IRBuilder(object): + + child_nodes = list(node.GetChildren()) + extended_attributes = self._take_extended_attributes(child_nodes) +- members = map(self._build_interface_member, child_nodes) ++ members = list(map(self._build_interface_member, child_nodes)) + constants = [] + operations = [] + for member in members: +@@ -456,8 +463,8 @@ class _IRBuilder(object): + assert len(child_nodes) == 1 + child = child_nodes[0] + if child.GetClass() == 'Arguments': +- arguments = map(build_extattr_argument, +- child.GetChildren()) ++ arguments = list( ++ map(build_extattr_argument, child.GetChildren())) + elif child.GetClass() == 'Call': + assert len(child.GetChildren()) == 1 + grand_child = child.GetChildren()[0] +@@ -486,7 +493,9 @@ class _IRBuilder(object): + + assert node.GetClass() == 'ExtAttributes' + return ExtendedAttributes( +- filter(None, map(build_extended_attribute, node.GetChildren()))) ++ list( ++ filter(None, map(build_extended_attribute, ++ node.GetChildren())))) + + def _build_inheritance(self, node): + assert node.GetClass() == 'Inherit' +@@ -506,7 +515,7 @@ class _IRBuilder(object): + + def _build_iterable(self, node): + assert node.GetClass() == 'Iterable' +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 or len(types) == 2 + if len(types) == 1: # value iterator + key_type, value_type = (None, types[0]) +@@ -584,7 +593,7 @@ class _IRBuilder(object): + def _build_maplike(self, node, interface_identifier): + assert node.GetClass() == 'Maplike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 2 + key_type, value_type = types + is_readonly = bool(node.GetProperty('READONLY')) +@@ -676,7 +685,7 @@ class _IRBuilder(object): + def _build_setlike(self, node, interface_identifier): + assert node.GetClass() == 'Setlike' + assert isinstance(interface_identifier, Identifier) +- types = map(self._build_type, node.GetChildren()) ++ types = list(map(self._build_type, node.GetChildren())) + assert len(types) == 1 + value_type = types[0] + is_readonly = bool(node.GetProperty('READONLY')) +@@ -838,7 +847,7 @@ class _IRBuilder(object): + + def build_union_type(node, extended_attributes): + return self._idl_type_factory.union_type( +- member_types=map(self._build_type, node.GetChildren()), ++ member_types=list(map(self._build_type, node.GetChildren())), + is_optional=is_optional, + extended_attributes=extended_attributes, + debug_info=self._build_debug_info(node)) +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +index a7a2b11f3f0..2f6b61300ff 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/make_copy.py +@@ -3,6 +3,13 @@ + # found in the LICENSE file. + + ++import sys ++ ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ long = int ++ basestring = str ++ + def make_copy(obj, memo=None): + """ + Creates a copy of the given object, which should be an IR or part of IR. +diff --git a/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py b/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +index eeabef97cbe..bd7e98907f3 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/web_idl/namespace.py +@@ -107,11 +107,13 @@ class Namespace(UserDefinedType, WithExtendedAttributes, WithCodeGeneratorInfo, + for operation_ir in ir.operations + ]) + self._operation_groups = tuple([ +- OperationGroup( +- operation_group_ir, +- filter(lambda x: x.identifier == operation_group_ir.identifier, +- self._operations), +- owner=self) for operation_group_ir in ir.operation_groups ++ OperationGroup(operation_group_ir, ++ list( ++ filter( ++ lambda x: x.identifier == operation_group_ir ++ .identifier, self._operations)), ++ owner=self) ++ for operation_group_ir in ir.operation_groups + ]) + + @property +diff --git a/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl b/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +index 0add9c45a38..dc910f6d227 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl +@@ -59,9 +59,9 @@ void {{v8_class}}::ToImpl(v8::Isolate* isolate, v8::Local v8_value, { + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +@@ -147,9 +147,9 @@ bool toV8{{cpp_class}}(const {{cpp_class}}* impl, v8::Local dictiona + DCHECK(executionContext); + {% endif %}{# has_origin_trial_members #} + {% endif %}{# members #} +- {% for origin_trial_test, origin_trial_member_list in members | groupby('origin_trial_feature_name') %} ++ {% for origin_trial_test, origin_trial_member_list in members | stringifykeygroupby('origin_trial_feature_name') %} + {% filter origin_trial_enabled(origin_trial_test, "executionContext") %} +- {% for feature_name, member_list in origin_trial_member_list | groupby('runtime_enabled_feature_name') %} ++ {% for feature_name, member_list in origin_trial_member_list | stringifykeygroupby('runtime_enabled_feature_name') %} + {% filter runtime_enabled(feature_name) %} + {% for member in member_list %} + v8::Local {{member.v8_value}}; +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py b/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +index 1799cd5a153..5f43ffabc26 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/make_style_shorthands.py +@@ -71,7 +71,7 @@ class Expansion(object): + def enabled_longhands(self): + include = lambda longhand: not longhand[ + 'runtime_flag'] or self.is_enabled(longhand['runtime_flag']) +- return filter(include, self._longhands) ++ return list(filter(include, self._longhands)) + + @property + def index(self): +@@ -87,8 +87,9 @@ class Expansion(object): + + def create_expansions(longhands): + flags = collect_runtime_flags(longhands) +- expansions = map(lambda mask: Expansion(longhands, flags, mask), +- range(1 << len(flags))) ++ expansions = list( ++ map(lambda mask: Expansion(longhands, flags, mask), ++ range(1 << len(flags)))) + assert len(expansions) > 0 + # We generate 2^N expansions for N flags, so enforce some limit. + assert len(flags) <= 4, 'Too many runtime flags for a single shorthand' +@@ -114,14 +115,14 @@ class StylePropertyShorthandWriter(json5_generator.Writer): + + self._longhand_dictionary = defaultdict(list) + for property_ in json5_properties.shorthands: +- property_['longhand_enum_keys'] = map(enum_key_for_css_property, +- property_['longhands']) +- property_['longhand_property_ids'] = map(id_for_css_property, +- property_['longhands']) +- +- longhands = map( +- lambda name: json5_properties.properties_by_name[name], +- property_['longhands']) ++ property_['longhand_enum_keys'] = list( ++ map(enum_key_for_css_property, property_['longhands'])) ++ property_['longhand_property_ids'] = list( ++ map(id_for_css_property, property_['longhands'])) ++ ++ longhands = list( ++ map(lambda name: json5_properties.properties_by_name[name], ++ property_['longhands'])) + property_['expansions'] = create_expansions(longhands) + for longhand_enum_key in property_['longhand_enum_keys']: + self._longhand_dictionary[longhand_enum_key].append(property_) +diff --git a/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py b/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +index 75030ac577e..f72aadee17d 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/core/css/properties/make_css_property_instances.py +@@ -42,8 +42,8 @@ class CSSPropertyInstancesWriter(json5_generator.Writer): + aliases = self._css_properties.aliases + + # Lists of PropertyClassData. +- self._property_classes_by_id = map(self.get_class, properties) +- self._alias_classes_by_id = map(self.get_class, aliases) ++ self._property_classes_by_id = list(map(self.get_class, properties)) ++ self._alias_classes_by_id = list(map(self.get_class, aliases)) + + # Sort by enum value. + self._property_classes_by_id.sort(key=lambda t: t.enum_value) +diff --git a/chromium/third_party/blink/renderer/build/scripts/gperf.py b/chromium/third_party/blink/renderer/build/scripts/gperf.py +index 5ee49056be4..db72660d471 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/gperf.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/gperf.py +@@ -95,7 +95,7 @@ def main(): + + open(args.output_file, 'wb').write( + generate_gperf(gperf_path, +- open(infile).read(), gperf_args)) ++ open(infile).read(), gperf_args).encode('utf-8')) + + + if __name__ == '__main__': +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_file.py b/chromium/third_party/blink/renderer/build/scripts/in_file.py +index 28adc050f1e..58113483e57 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/in_file.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_file.py +@@ -66,7 +66,7 @@ class InFile(object): + self._defaults = defaults + self._valid_values = copy.deepcopy( + valid_values if valid_values else {}) +- self._parse(map(str.strip, lines)) ++ self._parse(list(map(str.strip, lines))) + + @classmethod + def load_from_files(self, file_paths, defaults, valid_values, +diff --git a/chromium/third_party/blink/renderer/build/scripts/in_generator.py b/chromium/third_party/blink/renderer/build/scripts/in_generator.py +index e46740a2e85..ab1981ad1e3 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/in_generator.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/in_generator.py +@@ -32,10 +32,15 @@ import os + import os.path + import shlex + import shutil ++import sys + import optparse + + from in_file import InFile + ++# TODO: Remove this once Python2 is obsoleted. ++if sys.version_info.major != 2: ++ basestring = str ++ + + ######################################################### + # This is now deprecated - use json5_generator.py instead +diff --git a/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py b/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +index cafe8d94a8e..6925a4fa580 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/make_runtime_features.py +@@ -138,7 +138,7 @@ class RuntimeFeatureWriter(BaseRuntimeFeatureWriter): + except Exception: + # If trouble unpickling, overwrite + pass +- with open(os.path.abspath(file_name), 'w') as pickle_file: ++ with open(os.path.abspath(file_name), 'wb') as pickle_file: + pickle.dump(features_map, pickle_file) + + def _template_inputs(self): +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +index dc3f44c5b10..3eefcf9f0ee 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_factory.cc.tmpl +@@ -26,7 +26,7 @@ using {{namespace}}FunctionMap = HashMapGetExecutionContext())) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +index 1b5297d52dc..edecc81d9d4 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/element_type_helpers.h.tmpl +@@ -15,7 +15,7 @@ namespace blink { + class Document; + + // Type checking. +-{% for tag in tags|sort if not tag.multipleTagNames and not tag.noTypeHelpers %} ++{% for tag in tags|sort(attribute='name') if not tag.multipleTagNames and not tag.noTypeHelpers %} + class {{tag.interface}}; + template <> + inline bool IsElementOfType(const Node& node) { +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +index 0244433af2e..dcdbb02a56c 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/macros.tmpl +@@ -25,7 +25,7 @@ + + + {% macro trie_leaf(index, object, return_macro, lowercase_data) %} +-{% set name, value = object.items()[0] %} ++{% set name, value = (object.items()|list)[0] %} + {% if name|length %} + if ( + {%- for c in name -%} +@@ -45,7 +45,7 @@ return {{ return_macro(value) }}; + + + {% macro trie_switch(trie, index, return_macro, lowercase_data) %} +-{% if trie|length == 1 and trie.values()[0] is string %} ++{% if trie|length == 1 and (trie.values()|list)[0] is string %} + {{ trie_leaf(index, trie, return_macro, lowercase_data) -}} + {% else %} + {% if lowercase_data %} +diff --git a/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl b/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +index cb05c6c4315..bd5566b03e7 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl ++++ b/qtwebengine/src/3rdparty/chromium/third_party/blink/renderer/build/scripts/templates/make_qualified_names.h.tmpl +@@ -24,12 +24,12 @@ namespace {{cpp_namespace}} { + {{symbol_export}}extern const WTF::AtomicString& {{namespace_prefix}}NamespaceURI; + + // Tags +-{% for tag in tags|sort %} ++{% for tag in tags|sort(attribute='name') %} + {{symbol_export}}extern const blink::{{namespace}}QualifiedName& {{tag|symbol}}Tag; + {% endfor %} + + // Attributes +-{% for attr in attrs|sort %} ++{% for attr in attrs|sort(attribute='name') %} + {{symbol_export}}extern const blink::QualifiedName& {{attr|symbol}}Attr; + {% endfor %} + +diff --git a/chromium/third_party/dawn/generator/generator_lib.py b/chromium/third_party/dawn/generator/generator_lib.py +index 5e3734d7833..e3d46bd194f 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/dawn/generator/generator_lib.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/dawn/generator/generator_lib.py +@@ -201,6 +201,10 @@ def _compute_python_dependencies(root_dir=None): + + paths = set() + for path in module_paths: ++ # Builtin/namespaced modules may return None for the file path. ++ if not path: ++ continue ++ + path = os.path.abspath(path) + + if not path.startswith(root_dir): +diff --git a/chromium/third_party/devtools-frontend/src/BUILD.gn b/chromium/third_party/devtools-frontend/src/BUILD.gn +index cd488e88b60..ea1dc3d9a79 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/devtools-frontend/src/BUILD.gn ++++ b/qtwebengine/src/3rdparty/chromium/third_party/devtools-frontend/src/BUILD.gn +@@ -2,6 +2,8 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + ++import("//build/config/python.gni") ++ + import("//third_party/blink/public/public_features.gni") + import("./all_devtools_files.gni") + import("./all_devtools_modules.gni") +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +index d6666e8b74f..0f7a661e632 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +@@ -45,7 +45,8 @@ def rollup(input_path, output_path, filename, max_size, rollup_plugin): + ['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] + + ['--plugin', rollup_plugin], + stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) ++ stderr=subprocess.PIPE, ++ text=True) + out, error = rollup_process.communicate() + if not out: + raise Exception("rollup failed: " + error) +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py b/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +index fa8e73d34af..7d0b84b2171 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/build_release_applications.py +@@ -10,7 +10,7 @@ Builds applications in release mode: + and the application loader into a single script. + """ + +-from cStringIO import StringIO ++from io import StringIO + from os import path + from os.path import join + import copy +@@ -145,8 +145,7 @@ class ReleaseBuilder(object): + resource_content = read_file(path.join(self.application_dir, resource_name)) + if not (resource_name.endswith('.html') + or resource_name.endswith('md')): +- resource_content += resource_source_url(resource_name).encode( +- 'utf-8') ++ resource_content += resource_source_url(resource_name) + resource_content = resource_content.replace('\\', '\\\\') + resource_content = resource_content.replace('\n', '\\n') + resource_content = resource_content.replace('"', '\\"') +@@ -173,7 +172,9 @@ class ReleaseBuilder(object): + def _concatenate_application_script(self, output): + output.write('Root.allDescriptors.push(...%s);' % self._release_module_descriptors()) + if self.descriptors.extends: +- output.write('Root.applicationDescriptor.modules.push(...%s);' % json.dumps(self.descriptors.application.values())) ++ output.write( ++ 'Root.applicationDescriptor.modules.push(...%s);' % ++ json.dumps(list(self.descriptors.application.values()))) + else: + output.write('Root.applicationDescriptor = %s;' % self.descriptors.application_json()) + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py b/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +index be510c48d76..c6a59c90298 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/generate_devtools_grd.py +@@ -123,7 +123,7 @@ def main(argv): + + try: + os.makedirs(path.join(output_directory, 'Images')) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.EEXIST: + raise e + +@@ -147,7 +147,7 @@ def main(argv): + shutil.copy(path.join(dirname, filename), path.join(output_directory, 'Images')) + add_file_to_grd(doc, path.join('Images', filename)) + +- with open(parsed_args.output_filename, 'w') as output_file: ++ with open(parsed_args.output_filename, 'wb') as output_file: + output_file.write(doc.toxml(encoding='UTF-8')) + + +diff --git a/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py b/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +index 0ba695d3810..bb1da2f9f8d 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/devtools-frontend/src/scripts/build/modular_build.py +@@ -7,6 +7,8 @@ + Utilities for the modular DevTools build. + """ + ++from __future__ import print_function ++ + import collections + from os import path + import os +@@ -40,7 +42,7 @@ def load_and_parse_json(filename): + try: + return json.loads(read_file(filename)) + except: +- print 'ERROR: Failed to parse %s' % filename ++ print('ERROR: Failed to parse %s' % filename) + raise + + class Descriptors: +@@ -57,7 +59,7 @@ class Descriptors: + + def application_json(self): + result = dict() +- result['modules'] = self.application.values() ++ result['modules'] = list(self.application.values()) + return json.dumps(result) + + def all_compiled_files(self): +diff --git a/chromium/third_party/jinja2/tests.py b/chromium/third_party/jinja2/tests.py +index 0adc3d4dbcb..b14f85ff148 100644 +--- a/qtwebengine/src/3rdparty/chromium/chromium/third_party/jinja2/tests.py ++++ b/qtwebengine/src/3rdparty/chromium/third_party/jinja2/tests.py +@@ -10,7 +10,7 @@ + """ + import operator + import re +-from collections import Mapping ++from collections.abc import Mapping + from jinja2.runtime import Undefined + from jinja2._compat import text_type, string_types, integer_types + import decimal +diff --git a/chromium/tools/metrics/ukm/gen_builders.py b/chromium/tools/metrics/ukm/gen_builders.py +index f9f61d90a56..44e46fae8cc 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/tools/metrics/ukm/gen_builders.py ++++ b/qtwebengine/src/3rdparty/chromium/tools/metrics/ukm/gen_builders.py +@@ -48,9 +48,10 @@ def ReadFilteredData(path): + data = ukm_model.UKM_XML_TYPE.Parse(ukm_file.read()) + event_tag = ukm_model._EVENT_TYPE.tag + metric_tag = ukm_model._METRIC_TYPE.tag +- data[event_tag] = filter(ukm_model.IsNotObsolete, data[event_tag]) ++ data[event_tag] = list(filter(ukm_model.IsNotObsolete, data[event_tag])) + for event in data[event_tag]: +- event[metric_tag] = filter(ukm_model.IsNotObsolete, event[metric_tag]) ++ event[metric_tag] = list( ++ filter(ukm_model.IsNotObsolete, event[metric_tag])) + return data + + +diff --git a/chromium/ui/ozone/generate_constructor_list.py b/chromium/ui/ozone/generate_constructor_list.py +index 8d800636c97..04fa18e93df 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/ui/ozone/generate_constructor_list.py ++++ b/qtwebengine/src/3rdparty/chromium/ui/ozone/generate_constructor_list.py +@@ -45,12 +45,15 @@ Example Output: ./ui/ozone/generate_constructor_list.py \ + } // namespace ui + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetTypedefName(typename): +@@ -68,7 +71,7 @@ def GetConstructorName(typename, platform): + This is just "Create" + typename + platform. + """ + +- return 'Create' + typename + string.capitalize(platform) ++ return 'Create' + typename + platform.capitalize() + + + def GenerateConstructorList(out, namespace, export, typenames, platforms, +@@ -163,12 +166,14 @@ def main(argv): + sys.exit(1) + + # Write to standard output or file specified by --output_cc. +- out_cc = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + +- GenerateConstructorList(out_cc, options.namespace, options.export, ++ out_cc_str = StringIO() ++ GenerateConstructorList(out_cc_str, options.namespace, options.export, + typenames, platforms, includes, usings) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +diff --git a/chromium/ui/ozone/generate_ozone_platform_list.py b/chromium/ui/ozone/generate_ozone_platform_list.py +index d47c398259b..2702b68b9bd 100755 +--- a/qtwebengine/src/3rdparty/chromium/chromium/ui/ozone/generate_ozone_platform_list.py ++++ b/qtwebengine/src/3rdparty/chromium/ui/ozone/generate_ozone_platform_list.py +@@ -49,12 +49,15 @@ Example Output: ./generate_ozone_platform_list.py --default wayland dri wayland + + """ + ++try: ++ from StringIO import StringIO # for Python 2 ++except ImportError: ++ from io import StringIO # for Python 3 + import optparse + import os + import collections + import re + import sys +-import string + + + def GetConstantName(name): +@@ -63,7 +66,7 @@ def GetConstantName(name): + We just capitalize the platform name and prepend "CreateOzonePlatform". + """ + +- return 'kPlatform' + string.capitalize(name) ++ return 'kPlatform' + name.capitalize() + + + def GeneratePlatformListText(out, platforms): +@@ -149,9 +152,9 @@ def main(argv): + platforms.insert(0, options.default) + + # Write to standard output or file specified by --output_{cc,h}. +- out_cc = sys.stdout +- out_h = sys.stdout +- out_txt = sys.stdout ++ out_cc = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_h = getattr(sys.stdout, 'buffer', sys.stdout) ++ out_txt = getattr(sys.stdout, 'buffer', sys.stdout) + if options.output_cc: + out_cc = open(options.output_cc, 'wb') + if options.output_h: +@@ -159,9 +162,16 @@ def main(argv): + if options.output_txt: + out_txt = open(options.output_txt, 'wb') + +- GeneratePlatformListText(out_txt, platforms) +- GeneratePlatformListHeader(out_h, platforms) +- GeneratePlatformListSource(out_cc, platforms) ++ out_txt_str = StringIO() ++ out_h_str = StringIO() ++ out_cc_str = StringIO() ++ ++ GeneratePlatformListText(out_txt_str, platforms) ++ out_txt.write(out_txt_str.getvalue().encode('utf-8')) ++ GeneratePlatformListHeader(out_h_str, platforms) ++ out_h.write(out_h_str.getvalue().encode('utf-8')) ++ GeneratePlatformListSource(out_cc_str, platforms) ++ out_cc.write(out_cc_str.getvalue().encode('utf-8')) + + if options.output_cc: + out_cc.close() +-- +2.35.1 + diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-drop-catapult.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-drop-catapult.patch new file mode 100644 index 00000000000..db149389f03 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-drop-catapult.patch @@ -0,0 +1,32 @@ +From b60fc250d65144532cd47eac72279e93baaec2b8 Mon Sep 17 00:00:00 2001 +From: Jimi Huotari +Date: Wed, 6 Apr 2022 14:35:14 +0300 +Subject: [PATCH] Remove dependency on catapult + +--- + src/core/qtwebengine_resources.gni | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/core/qtwebengine_resources.gni b/src/core/qtwebengine_resources.gni +index 3bf1a5d57..29fd2603c 100644 +--- a/qtwebengine/src/core/qtwebengine_resources.gni ++++ b/qtwebengine/src/core/qtwebengine_resources.gni +@@ -27,7 +27,6 @@ repack("qtwebengine_repack_resources") { + "$root_gen_dir/components/components_resources.pak", + "$root_gen_dir/components/dev_ui_components_resources.pak", + "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak", +- "$root_gen_dir/content/browser/tracing/tracing_resources.pak", + "$root_gen_dir/content/content_resources.pak", + "$root_gen_dir/content/dev_ui_content_resources.pak", + "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak", +@@ -44,7 +43,6 @@ repack("qtwebengine_repack_resources") { + "//components/resources:components_resources_grit", + "//components/resources:dev_ui_components_resources_grit", + "//content/browser/resources/media:media_internals_resources", +- "//content/browser/tracing:resources", + "//content:content_resources_grit", + "//content:dev_ui_content_resources_grit", + "//mojo/public/js:resources", +-- +2.35.1 + diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.11.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.11.patch new file mode 100644 index 00000000000..454dcfa3d89 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.11.patch @@ -0,0 +1,46 @@ +Description: fix build with Python 3.11 +Author: Dmitry Shachnev +Last-Update: 2023-01-08 + +--- a/qtwebengine/src/3rdparty/chromium/tools/grit/grit/util.py ++++ b/qtwebengine/src/3rdparty/chromium/tools/grit/grit/util.py +@@ -211,7 +211,7 @@ def ReadFile(filename, encoding): + mode = 'rb' + encoding = None + else: +- mode = 'rU' ++ mode = 'r' + + with io.open(abs(filename), mode, encoding=encoding) as f: + return f.read() +--- a/qtwebengine/src/3rdparty/chromium/tools/metrics/structured/model.py ++++ b/qtwebengine/src/3rdparty/chromium/tools/metrics/structured/model.py +@@ -26,7 +26,7 @@ _METRIC_TYPE = models.ObjectNodeType( + 'metric', + attributes=[ + ('name', unicode, r'^[A-Za-z0-9_.]+$'), +- ('kind', unicode, r'^(?i)(|hashed-string|int)$'), ++ ('kind', unicode, r'(?i)^(|hashed-string|int)$'), + ], + alphabetization=[ + (_OBSOLETE_TYPE.tag, lambda _: 1), +--- a/qtwebengine/src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py ++++ b/qtwebengine/src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py +@@ -42,7 +42,7 @@ _INDEX_TYPE = models.ObjectNodeType( + _STATISTICS_TYPE = models.ObjectNodeType( + 'statistics', + attributes=[ +- ('export', str, r'^(?i)(|true|false)$'), ++ ('export', str, r'(?i)^(|true|false)$'), + ], + children=[ + models.ChildType(_QUANTILES_TYPE.tag, _QUANTILES_TYPE, multiple=False), +@@ -94,7 +94,7 @@ _EVENT_TYPE = models.ObjectNodeType( + 'event', + attributes=[ + ('name', str, r'^[A-Za-z0-9.]+$'), +- ('singular', str, r'^(?i)(|true|false)$'), ++ ('singular', str, r'(?i)^(|true|false)$'), + ], + alphabetization=[ + (_OBSOLETE_TYPE.tag, _KEEP_ORDER), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.patch new file mode 100644 index 00000000000..15451cd435b --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.10_webengine-python3.patch @@ -0,0 +1,176 @@ +From cf6eb34ea064fc273bdb3de7646894b8df1f7bc8 Mon Sep 17 00:00:00 2001 +From: Antonio Rojas +Date: Sat, 16 Oct 2021 20:17:35 +0000 +Subject: [PATCH] Build without python 2 + +--- + configure.pri | 25 ++++++------------------- + mkspecs/features/functions.prf | 6 +++--- + src/buildtools/config/support.pri | 10 +++++----- + src/buildtools/configure.json | 18 +++++++++--------- + 4 files changed, 23 insertions(+), 36 deletions(-) + +diff --git a/configure.pri b/configure.pri +index 8705ad93f..94d41e9c4 100644 +--- a/qtwebengine/configure.pri ++++ b/qtwebengine/configure.pri +@@ -7,20 +7,7 @@ QTWEBENGINE_SOURCE_TREE = $$PWD + equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe + + defineTest(isPythonVersionSupported) { +- python = $$system_quote($$system_path($$1)) +- python_version = $$system('$$python -c "import sys; print(sys.version_info[0:3])"') +- python_version ~= s/[()]//g +- python_version = $$split(python_version, ',') +- python_major_version = $$first(python_version) +- greaterThan(python_major_version, 2) { +- qtLog("Python version 3 is not supported by Chromium.") +- return(false) +- } +- python_minor_version = $$member(python_version, 1) +- python_patch_version = $$member(python_version, 2) +- greaterThan(python_major_version, 1): greaterThan(python_minor_version, 6): greaterThan(python_patch_version, 4): return(true) +- qtLog("Unsupported python version: $${python_major_version}.$${python_minor_version}.$${python_patch_version}.") +- return(false) ++ return(true) + } + + defineTest(qtConfTest_detectJumboBuild) { +@@ -52,10 +39,10 @@ defineTest(qtConfReport_jumboBuild) { + qtConfReportPadded($${1}, $$mergeLimit) + } + +-defineTest(qtConfTest_detectPython2) { +- python = $$qtConfFindInPath("python2$$EXE_SUFFIX") ++defineTest(qtConfTest_detectPython) { ++ python = $$qtConfFindInPath("python$$EXE_SUFFIX") + isEmpty(python) { +- qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") ++ qtLog("'python$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.") + python = $$qtConfFindInPath("python$$EXE_SUFFIX") + } + isEmpty(python) { +@@ -63,11 +50,11 @@ defineTest(qtConfTest_detectPython2) { + return(false) + } + !isPythonVersionSupported($$python) { +- qtLog("A suitable Python 2 executable could not be located.") ++ qtLog("A suitable Python executable could not be located.") + return(false) + } + +- # Make tests.python2.location available in configure.json. ++ # Make tests.python.location available in configure.json. + $${1}.location = $$clean_path($$python) + export($${1}.location) + $${1}.cache += location +diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf +index 2750d7071..9fda13d08 100644 +--- a/qtwebengine/mkspecs/features/functions.prf ++++ b/qtwebengine/mkspecs/features/functions.prf +@@ -39,11 +39,11 @@ defineReplace(which) { + + # Returns the unquoted path to the python executable. + defineReplace(pythonPath) { +- isEmpty(QMAKE_PYTHON2) { ++ isEmpty(QMAKE_PYTHON) { + # Fallback for building QtWebEngine with Qt < 5.8 +- QMAKE_PYTHON2 = python ++ QMAKE_PYTHON = python + } +- return($$QMAKE_PYTHON2) ++ return($$QMAKE_PYTHON) + } + + # Returns the python executable for use with shell / make targets. +diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri +index 7a07b1b5b..497a9e0e2 100644 +--- a/qtwebengine/src/buildtools/config/support.pri ++++ b/qtwebengine/src/buildtools/config/support.pri +@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngineCoreError) { + !qtwebengine_checkForGperf(QtWebEngine):return(false) + !qtwebengine_checkForBison(QtWebEngine):return(false) + !qtwebengine_checkForFlex(QtWebEngine):return(false) +- !qtwebengine_checkForPython2(QtWebEngine):return(false) ++ !qtwebengine_checkForPython(QtWebEngine):return(false) + !qtwebengine_checkForNodejs(QtWebEngine):return(false) + !qtwebengine_checkForSanitizer(QtWebEngine):return(false) + linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) +@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError) { + !qtwebengine_checkForGperf(QtPdf):return(false) + !qtwebengine_checkForBison(QtPdf):return(false) + !qtwebengine_checkForFlex(QtPdf):return(false) +- !qtwebengine_checkForPython2(QtPdf):return(false) ++ !qtwebengine_checkForPython(QtPdf):return(false) + !qtwebengine_checkForSanitizer(QtPdf):return(false) + linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) +@@ -147,10 +147,10 @@ defineTest(qtwebengine_checkForFlex) { + return(true) + } + +-defineTest(qtwebengine_checkForPython2) { ++defineTest(qtwebengine_checkForPython) { + module = $$1 +- !qtConfig(webengine-python2) { +- qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.") ++ !qtConfig(webengine-python) { ++ qtwebengine_skipBuild("Python is required to build $${module}.") + return(false) + } + return(true) +diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json +index 88d1790c1..032aa665f 100644 +--- a/qtwebengine/src/buildtools/configure.json ++++ b/qtwebengine/src/buildtools/configure.json +@@ -295,9 +295,9 @@ + "label": "system ninja", + "type": "detectNinja" + }, +- "webengine-python2": { +- "label": "python2", +- "type": "detectPython2", ++ "webengine-python": { ++ "label": "python", ++ "type": "detectPython", + "log": "location" + }, + "webengine-winversion": { +@@ -374,7 +374,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && features.webengine-nodejs + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) +@@ -400,7 +400,7 @@ + && features.webengine-gperf + && features.webengine-bison + && features.webengine-flex +- && features.webengine-python2 ++ && features.webengine-python + && (!config.sanitizer || features.webengine-sanitizer) + && (!config.linux || features.pkg-config) + && (!config.linux || features.webengine-host-pkg-config) +@@ -423,12 +423,12 @@ + "autoDetect": "features.private_tests", + "output": [ "privateFeature" ] + }, +- "webengine-python2": { +- "label": "python2", +- "condition": "tests.webengine-python2", ++ "webengine-python": { ++ "label": "python", ++ "condition": "tests.webengine-python", + "output": [ + "privateFeature", +- { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" } ++ { "type": "varAssign", "name": "QMAKE_PYTHON", "value": "tests.webengine-python.location" } + ] + }, + "webengine-gperf": { +-- +2.35.1 + 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/Qt5/Qt5-5.15.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-10.3.0.eb index 0d7bdcbe989..206f0e034b5 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-10.3.0.eb @@ -20,12 +20,18 @@ patches = [ 'Qt5-5.13.1_fix-avx2.patch', 'Qt5-5.13.1_fix-qmake-libdir.patch', 'Qt5-5.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', ] checksums = [ - '3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240', # qt-everywhere-src-5.15.2.tar.xz - '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc', # Qt5-5.13.1_fix-avx2.patch - '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63', # Qt5-5.13.1_fix-qmake-libdir.patch - '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa', # Qt5-5.14.1_fix-OF-Gentoo.patch + {'qt-everywhere-src-5.15.2.tar.xz': '3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + '1ae0f43ae8444041bc5b8b2dd89a257fedff1f9e7e6007b2c8fb336150e80597'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, ] builddependencies = [ @@ -56,7 +62,7 @@ dependencies = [ ('snappy', '1.1.8'), ('JasPer', '2.0.28'), ('bzip2', '1.0.8'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] # qtgamepad needs recent kernel/libevdev (fails on RHEL 6.x) diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..598ac43800a --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2-GCCcore-11.2.0.eb @@ -0,0 +1,81 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.2' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '11.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 = [ + 'Qt5-5.13.1_fix-avx2.patch', + 'Qt5-5.13.1_fix-qmake-libdir.patch', + 'Qt5-5.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.2_fix-gcc11.patch', + 'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', +] +checksums = [ + {'qt-everywhere-src-5.15.2.tar.xz': '3a530d1b243b5dec00bc54937455471aaa3e56849d2593edb8ded07228202240'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2_fix-gcc11.patch': '6606e2434aacaac49545be733bf012f1d489393bf8bd5573691c171ab8bc0976'}, + {'Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + '1ae0f43ae8444041bc5b8b2dd89a257fedff1f9e7e6007b2c8fb336150e80597'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + # deps for QtWebEngine + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + # Qt5WebEngine has build dependency on Python 2 + ('Python', '2.7.18', '-bare'), + ('re2c', '2.2'), +] + +dependencies = [ + ('double-conversion', '3.1.5'), + ('GLib', '2.69.1'), + ('PCRE2', '10.37'), + ('libpng', '1.6.37'), + ('HarfBuzz', '2.8.2'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20210802'), + ('fontconfig', '2.13.94'), + ('DBus', '1.13.18'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.2'), + ('libjpeg-turbo', '2.0.6'), + ('NSS', '3.69'), + ('snappy', '1.1.9'), + ('JasPer', '2.0.33'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '69.1'), +] + +# 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.2_fix-gcc11.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-gcc11.patch new file mode 100644 index 00000000000..0a9ec1a4a99 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-gcc11.patch @@ -0,0 +1,139 @@ +# Qt 5.15.2 build fixes for GCC 11 +# +# Upstream patches: +# https://code.qt.io/cgit/qt/qtbase.git/commit/?id=813a928c7c3cf986 +# https://code.qt.io/cgit/qt/qtbase.git/commit/?id=9c56d4da2ff631a8 +# https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=367293b18ab0d0a0 +# +# Third-party software patches (taken from Fedora): +# https://src.fedoraproject.org/rpms/qt5-qtwebengine/blob/rawhide/f/qtwebengine-gcc11.patch +# +diff -Nrup a/qtbase/src/corelib/global/qendian.h b/qtbase/src/corelib/global/qendian.h +--- a/qtbase/src/corelib/global/qendian.h 2020-10-27 09:02:11.000000000 +0100 ++++ b/qtbase/src/corelib/global/qendian.h 2021-06-21 18:02:01.741899258 +0200 +@@ -1,7 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. +-** Copyright (C) 2016 Intel Corporation. ++** Copyright (C) 2021 The Qt Company Ltd. ++** Copyright (C) 2021 Intel Corporation. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -44,6 +44,8 @@ + #include + #include + ++#include ++ + // include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems + #include + #include +diff -Nrup a/qtbase/src/corelib/global/qfloat16.h b/qtbase/src/corelib/global/qfloat16.h +--- a/qtbase/src/corelib/global/qfloat16.h 2020-10-27 09:02:11.000000000 +0100 ++++ b/qtbase/src/corelib/global/qfloat16.h 2021-06-21 18:02:17.409709370 +0200 +@@ -43,6 +43,7 @@ + + #include + #include ++#include + #include + + #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) +diff -Nrup a/qtbase/src/corelib/text/qbytearraymatcher.h b/qtbase/src/corelib/text/qbytearraymatcher.h +--- a/qtbase/src/corelib/text/qbytearraymatcher.h 2020-10-27 09:02:11.000000000 +0100 ++++ b/qtbase/src/corelib/text/qbytearraymatcher.h 2021-06-21 18:13:45.885352546 +0200 +@@ -42,6 +42,8 @@ + + #include + ++#include ++ + QT_BEGIN_NAMESPACE + + +diff -Nrup a/qtbase/src/corelib/tools/qsharedpointer_impl.h b/qtbase/src/corelib/tools/qsharedpointer_impl.h +--- a/qtbase/src/corelib/tools/qsharedpointer_impl.h 2020-10-27 09:02:11.000000000 +0100 ++++ b/qtbase/src/corelib/tools/qsharedpointer_impl.h 2021-06-21 18:13:45.885352546 +0200 +@@ -155,9 +155,6 @@ namespace QtSharedPointer { + #endif + inline void checkQObjectShared(...) { } + inline void setQObjectShared(...) { } +- +- inline void operator delete(void *ptr) { ::operator delete(ptr); } +- inline void operator delete(void *, void *) { } + }; + // sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit) + +diff -Nrup a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp +--- a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp 2020-10-27 09:02:11.000000000 +0100 ++++ b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp 2021-06-21 18:13:45.885352546 +0200 +@@ -698,7 +698,7 @@ void QXcbWindow::show() + if (isTransient(window())) { + const QWindow *tp = window()->transientParent(); + if (tp && tp->handle()) +- transientXcbParent = static_cast(tp->handle())->winId(); ++ transientXcbParent = tp->handle()->winId(); + // Default to client leader if there is no transient parent, else modal dialogs can + // be hidden by their parents. + if (!transientXcbParent) +diff -Nrup a/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h b/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h +--- a/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h 2020-10-27 09:02:12.000000000 +0100 ++++ b/qtdeclarative/src/qmldebug/qqmlprofilerevent_p.h 2021-06-22 09:35:22.877912946 +0200 +@@ -48,6 +48,7 @@ + #include + + #include ++#include + #include + + // +diff -Nrup a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc +--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc 2020-11-07 02:22:36.000000000 +0100 ++++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/containers/string_pool.cc 2021-06-22 12:05:40.736177321 +0200 +@@ -14,9 +14,9 @@ + * limitations under the License. + */ + ++#include + #include "src/trace_processor/containers/string_pool.h" + +-#include + + #include "perfetto/base/logging.h" + #include "perfetto/ext/base/utils.h" +diff -Nrup a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc +--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc 2020-11-07 02:22:36.000000000 +0100 ++++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc 2021-06-22 12:06:05.087880649 +0200 +@@ -14,6 +14,7 @@ + * limitations under the License. + */ + ++#include + #include "src/trace_processor/db/column.h" + + #include "src/trace_processor/db/compare.h" +diff -Nrup a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/heap_graph_walker.cc b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/heap_graph_walker.cc +--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/heap_graph_walker.cc 2020-11-07 02:22:36.000000000 +0100 ++++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/importers/proto/heap_graph_walker.cc 2021-06-22 12:06:28.911590412 +0200 +@@ -14,6 +14,8 @@ + * limitations under the License. + */ + ++#include ++ + #include "src/trace_processor/importers/proto/heap_graph_walker.h" + #include "perfetto/base/logging.h" + +diff -Nrup a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc +--- a/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc 2020-11-07 02:22:36.000000000 +0100 ++++ b/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/types/variadic.cc 2021-06-22 12:06:52.631301445 +0200 +@@ -14,6 +14,7 @@ + * limitations under the License. + */ + ++#include + #include "src/trace_processor/types/variadic.h" + + namespace perfetto { diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch new file mode 100644 index 00000000000..eccf15208e5 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch @@ -0,0 +1,75 @@ +Fix "no matching function" error. +Patch taken from https://bugs.gentoo.org/811312 + +From 78b1bcff4d9b977313e9ea15068168e1b11f5ba1 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:08:03 +0200 +Subject: [PATCH] chromium: abseil-cpp: fix build with glibc-2.34 + +* backport a fix from upstream abseil-cpp: + https://github.com/abseil/abseil-cpp/commit/a9831f1cbf93fb18dd951453635f488037454ce9 + + to fix: + +[97/24505] CXX obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +FAILED: obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/abseil-cpp -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -o obj/third_party/abseil-cpp/absl/debugging/failure_signal_handler/failure_signal_handler.o +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc: In function 'bool absl::SetupAlternateStackOnce()': +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to 'max(long int, int)' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:61, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: deduced conflicting types for parameter 'const _Tp' ('long int' and 'int') + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:35: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc:138:32: note: mismatched types 'std::initializer_list<_Tp>' and 'long int' + 138 | size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../abseil-cpp/absl/debugging/failure_signal_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc b/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +index 5d13bdbbbd1..150a43f2660 100644 +--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc ++++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc +@@ -135,7 +135,7 @@ static bool SetupAlternateStackOnce() { + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \ + defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch new file mode 100644 index 00000000000..088e902bcf3 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch @@ -0,0 +1,75 @@ +Fix "no matching function" error. +Patch taken from https://bugs.gentoo.org/811312 + +From a3bc792bdc116806a50e022d9102914c8daf6210 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Wed, 4 Aug 2021 19:11:06 +0200 +Subject: [PATCH] chromium: breakpad: fix build with glibc-2.34 + +* fixes: +[218/24061] CXX obj/third_party/breakpad/client/exception_handler.o +FAILED: obj/third_party/breakpad/client/exception_handler.o +/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot-native/usr/bin/x86_64-webos-linux/x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -Wdate-time --sysroot=/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.15.4+gitAUTOINC+dd7f7a9166_555f348ae8-r0/recipe-sysroot -MMD -MF obj/third_party/breakpad/client/exception_handler.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=5f64b417e1018dcf8fcc81dc2714e0f264b9b911 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../../../git/src/3rdparty/chromium/third_party/breakpad -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/linux/include -Igen -I../../../../git/src/3rdparty/chromium -I../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../recipe-sysroot -fvisibility-inlines-hidden -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -o obj/third_party/breakpad/client/exception_handler.o +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc: In function 'void google_breakpad::{anonymous}::InstallAlternateStackLocked()': +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to 'max(int, long int)' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&)' + 254 | max(const _Tp& __a, const _Tp& __b) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/char_traits.h:39, + from ../../../../recipe-sysroot/usr/include/c++/11.2.0/string:40, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h:38, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:66: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: candidate: 'template constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' + 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long int') + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>)' + 3461 | max(initializer_list<_Tp> __l) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ +In file included from ../../../../recipe-sysroot/usr/include/c++/11.2.0/algorithm:62, + from ../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:85: +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: candidate: 'template constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' + 3467 | max(initializer_list<_Tp> __l, _Compare __comp) + | ^~~ +../../../../recipe-sysroot/usr/include/c++/11.2.0/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: +../../../../git/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc:141:49: note: mismatched types 'std::initializer_list<_Tp>' and 'int' + 141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + | ~~~~~~~~^~~~~~~~~~~~~~~~~ + +Signed-off-by: Martin Jansa +--- + .../breakpad/src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +index ca353c40997..2e43ba6fc04 100644 +--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch new file mode 100644 index 00000000000..667f05b1468 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.2b_fix-qtwebengine-abseil-cpp-glibc-2.34.patch @@ -0,0 +1,14 @@ +Backport of Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch to actually 5.15.2 +author: micketeer@gmail.com + +--- qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2023-03-05 12:13:50.013671083 +0000 ++++ qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2023-03-05 12:37:43.958183965 +0000 +@@ -135,7 +135,7 @@ + #else + const size_t page_mask = sysconf(_SC_PAGESIZE) - 1; + #endif +- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; ++ size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask; + #if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \ + defined(THREAD_SANITIZER) + // Account for sanitizer instrumentation requiring additional stack space. diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e06fc4d90b9 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5-GCCcore-11.3.0.eb @@ -0,0 +1,83 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.5' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '11.3.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.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', + 'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.5.tar.xz': '5a97827bdf9fd515f43bc7651defaf64fecb7a55e051c79b8f80510d0e990f06'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + 'f39506495b70cc0968fb7a5f4c9028b0f0a180c552906ff4e58e0bcae83cf187'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, + {'Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch': + '599cc94535dc276a5d97e002c81907c74ead9dc8d55f35567017fb7a491aaf01'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + # Qt5WebEngine has build dependency on Python 2 + ('Python', '2.7.18', '-bare'), + ('re2c', '2.2'), +] + +dependencies = [ + ('double-conversion', '3.2.0'), + ('GLib', '2.72.1'), + ('PCRE2', '10.40'), + ('libpng', '1.6.37'), + ('HarfBuzz', '4.2.1'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20220504'), + ('fontconfig', '2.14.0'), + ('DBus', '1.14.0'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.2'), + ('libjpeg-turbo', '2.1.3'), + ('NSS', '3.79'), + ('snappy', '1.1.9'), + ('JasPer', '2.0.33'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '71.1'), + ('nodejs', '16.15.1'), +] + +# 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.5_fix-qtwebegine-HarfBuzz-3.x.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch new file mode 100644 index 00000000000..1fda2959232 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.5_fix-qtwebegine-HarfBuzz-3.x.patch @@ -0,0 +1,35 @@ +fix compatibility with HarfBuzz v3.x or newer: + ../../3rdparty/chromium/components/paint_preview/common/subset_font.cc:74:3: error: hb_subset_input_set_retain_gids was not declared in this scope + ../../3rdparty/chromium/components/paint_preview/common/subset_font.cc:76:35: error: hb_subset was not declared in this scope +see also https://bugs.gentoo.org/817758 +--- qt-everywhere-src-5.15.5/qtwebengine/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc ++++ qt-everywhere-src-5.15.5/qtwebengine/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc +@@ -71,9 +71,9 @@ sk_sp SubsetFont(SkTypeface* typeface, const GlyphUsage& usage) { + hb_set_t* glyphs = + hb_subset_input_glyph_set(input.get()); // Owned by |input|. + usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs))); +- hb_subset_input_set_retain_gids(input.get(), true); ++ hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS); + +- HbScoped subset_face(hb_subset(face.get(), input.get())); ++ HbScoped subset_face(hb_subset_or_fail(face.get(), input.get())); + HbScoped subset_blob(hb_face_reference_blob(subset_face.get())); + if (!subset_blob) + return nullptr; +--- qt-everywhere-src-5.15.5/qtwebengine/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp ++++ qt-everywhere-src-5.15.5/qtwebengine/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp +@@ -71,11 +71,10 @@ static sk_sp subset_harfbuzz(sk_sp fontData, + hb_set_t* glyphs = hb_subset_input_glyph_set(input.get()); + glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, gid);}); + +- hb_subset_input_set_retain_gids(input.get(), true); + // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY. + // If it isn't known if a font is 'tricky', retain the hints. +- hb_subset_input_set_drop_hints(input.get(), false); +- HBFace subset(hb_subset(face.get(), input.get())); ++ hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS | HB_SUBSET_FLAGS_NO_HINTING); ++ HBFace subset(hb_subset_or_fail(face.get(), input.get())); + HBBlob result(hb_face_reference_blob(subset.get())); + return to_data(std::move(result)); + } + diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..fedde0639fa --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7-GCCcore-12.2.0.eb @@ -0,0 +1,82 @@ +easyblock = 'EB_Qt' + +name = 'Qt5' +version = '5.15.7' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '12.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.14.1_fix-OF-Gentoo.patch', + 'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch', + 'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch', + 'Qt5-5.15.7_GCC-12.patch', +] +checksums = [ + {'qt-everywhere-opensource-src-5.15.7.tar.xz': '8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0'}, + {'Qt5-5.13.1_fix-avx2.patch': '6f46005f056bf9e6ff3e5d012a874d18ee03b33e685941f2979c970be91a9dbc'}, + {'Qt5-5.13.1_fix-qmake-libdir.patch': '511ca9c0599ceb1989f73d8ceea9199c041512d3a26ee8c5fd870ead2c10cb63'}, + {'Qt5-5.14.1_fix-OF-Gentoo.patch': '0b9defb7ce75314d85bebe07e143db7f7de316fec64c17cbd13f7eec5d2d1afa'}, + {'Qt5-5.15.2_fix-qtwebengine-abseil-cpp-glibc-2.34.patch': + 'f39506495b70cc0968fb7a5f4c9028b0f0a180c552906ff4e58e0bcae83cf187'}, + {'Qt5-5.15.2_fix-qtwebengine-breakpad-glibc-2.34.patch': + '74590de2b9e32f2c88123cb096c4f5c3001b00710aad096a4d16444a8e9eb991'}, + {'Qt5-5.15.7_GCC-12.patch': '9a5bde91b223a3e2e90d3d6bec107af69a1a0f18d789593738a953080473fa68'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + # deps for QtWebEngine + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.11.1'), + # Qt5WebEngine has build dependency on Python 2 + ('Python', '2.7.18', '-bare'), + ('re2c', '3.0'), +] + +dependencies = [ + ('double-conversion', '3.2.1'), + ('GLib', '2.75.0'), + ('PCRE2', '10.40'), + ('libpng', '1.6.38'), + ('HarfBuzz', '5.3.1'), + ('graphite2', '1.3.14'), + # deps for QtWebEngine + ('X11', '20221110'), + ('fontconfig', '2.14.1'), + ('DBus', '1.15.2'), + ('libevent', '2.1.12'), + ('libGLU', '9.0.2'), + ('libjpeg-turbo', '2.1.4'), + ('NSS', '3.85'), + ('snappy', '1.1.9'), + ('JasPer', '4.0.0'), + ('bzip2', '1.0.8'), + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '72.1'), + ('nodejs', '18.12.1'), +] + +# 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.7_GCC-12.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch new file mode 100644 index 00000000000..02c54554ffb --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.15.7_GCC-12.patch @@ -0,0 +1,14 @@ +add missing include to fix compilation error with GCC 12.x +../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to begin(const char* const [140]) +cfr. https://github.com/archlinux/svntogit-packages/blob/packages/qt5-webengine/trunk/qt5-webengine-gcc12.patch +--- Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp.orig 2021-10-19 14:46:32.000000000 +0200 ++++ Qt5/5.15.7/GCCcore-12.2.0/qt-everywhere-src-5.15.7/qtwebengine/src/3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp 2022-11-25 14:48:38.501288572 +0100 +@@ -8,6 +8,8 @@ + + #include "include/utils/SkParse.h" + ++#include ++ + static constexpr const char* gColorNames[] = { + "aliceblue", + "antiquewhite", diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-foss-2016a.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-foss-2016a.eb index ea7a0361a22..5138261fdec 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-foss-2016a.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-foss-2016a.eb @@ -23,7 +23,7 @@ builddependencies = [ ('kbproto', '1.0.7'), ('libpthread-stubs', '0.3'), ('pkg-config', '0.29.1'), - ('xcb-proto', '1.11', '', True), + ('xcb-proto', '1.11', '', SYSTEM), ('xextproto', '7.3.0'), ('xorg-macros', '1.19.0'), ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb index cb2811a839e..cf7f35e5fee 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.6.0-intel-2016a.eb @@ -23,7 +23,7 @@ builddependencies = [ ('kbproto', '1.0.7'), ('libpthread-stubs', '0.3'), ('pkg-config', '0.29.1'), - ('xcb-proto', '1.11', '', True), + ('xcb-proto', '1.11', '', SYSTEM), ('xextproto', '7.3.0'), ('xorg-macros', '1.19.0'), ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-foss-2016a.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-foss-2016a.eb index 316cae4a7e0..4309fafb895 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-foss-2016a.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-foss-2016a.eb @@ -23,7 +23,7 @@ builddependencies = [ ('kbproto', '1.0.7'), ('libpthread-stubs', '0.3'), ('pkg-config', '0.29.1'), - ('xcb-proto', '1.11', '', True), + ('xcb-proto', '1.11', '', SYSTEM), ('xextproto', '7.3.0'), ('xorg-macros', '1.19.0'), ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-intel-2016a.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-intel-2016a.eb index 6ddda44037e..db20d4633cd 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-intel-2016a.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.7.0-intel-2016a.eb @@ -23,7 +23,7 @@ builddependencies = [ ('kbproto', '1.0.7'), ('libpthread-stubs', '0.3'), ('pkg-config', '0.29.1'), - ('xcb-proto', '1.11', '', True), + ('xcb-proto', '1.11', '', SYSTEM), ('xextproto', '7.3.0'), ('xorg-macros', '1.19.0'), ('xproto', '7.0.28'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0-foss-2017b.eb b/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0-foss-2017b.eb index 1b0221b68f9..073d60e48ae 100644 --- a/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0-foss-2017b.eb +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0-foss-2017b.eb @@ -14,7 +14,13 @@ source_urls = [ 'https://download.qt.io/new_archive/qt/%(version_major_minor)s/%(version)s/single/', ] sources = ['qt-everywhere-opensource-src-%(version)s.tar.xz'] -checksums = ['0f4c54386d3dbac0606a936a7145cebb7b94b0ca2d29bc001ea49642984824b6'] +patches = ['Qt5-5.8.0_fix-template-compile-failure-in-webkit.patch'] +checksums = [ + # qt-everywhere-opensource-src-5.8.0.tar.xz + '0f4c54386d3dbac0606a936a7145cebb7b94b0ca2d29bc001ea49642984824b6', + # Qt5-5.8.0_fix-template-compile-failure-in-webkit.patch + '76b98cea1b4e3422e50e22c4ab040b4b4f2004433ba1f46e53ae710664186d25', +] builddependencies = [ ('pkg-config', '0.29.2'), diff --git a/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0_fix-template-compile-failure-in-webkit.patch b/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0_fix-template-compile-failure-in-webkit.patch new file mode 100644 index 00000000000..c9653b097a8 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5/Qt5-5.8.0_fix-template-compile-failure-in-webkit.patch @@ -0,0 +1,91 @@ +Fix a compile failure due to missing template code +Taken from https://bugs.chromium.org/p/chromium/issues/detail?id=593980 + +diff --git i/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp w/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp +index fd34261..bc3a58a 100644 +--- i/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp ++++ w/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp +@@ -638,35 +638,6 @@ StyleMotionRotation StyleBuilderConverter::convertMotionRotation(const CSSValue& + return result; + } + +-template +-Length StyleBuilderConverter::convertPositionLength(StyleResolverState& state, const CSSValue& value) +-{ +- if (value.isValuePair()) { +- const CSSValuePair& pair = toCSSValuePair(value); +- Length length = StyleBuilderConverter::convertLength(state, pair.second()); +- if (toCSSPrimitiveValue(pair.first()).getValueID() == cssValueFor0) +- return length; +- ASSERT(toCSSPrimitiveValue(pair.first()).getValueID() == cssValueFor100); +- return length.subtractFromOneHundredPercent(); +- } +- +- const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); +- if (primitiveValue.isValueID()) { +- switch (primitiveValue.getValueID()) { +- case cssValueFor0: +- return Length(0, Percent); +- case cssValueFor100: +- return Length(100, Percent); +- case CSSValueCenter: +- return Length(50, Percent); +- default: +- ASSERT_NOT_REACHED(); +- } +- } +- +- return StyleBuilderConverter::convertLength(state, primitiveValue); +-} +- + LengthPoint StyleBuilderConverter::convertPosition(StyleResolverState& state, const CSSValue& value) + { + const CSSValuePair& pair = toCSSValuePair(value); +diff --git i/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h w/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h +index 22fd808..9075bcc 100644 +--- i/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h ++++ w/qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.h +@@ -30,6 +30,7 @@ + #include "core/css/CSSStringValue.h" + #include "core/css/CSSValue.h" + #include "core/css/CSSValueList.h" ++#include "core/css/CSSValuePair.h" + #include "core/css/resolver/StyleResolverState.h" + #include "core/style/QuotesData.h" + #include "core/style/ShadowList.h" +@@ -118,6 +119,35 @@ T StyleBuilderConverter::convertComputedLength(StyleResolverState& state, const + return toCSSPrimitiveValue(value).computeLength(state.cssToLengthConversionData()); + } + ++template ++Length StyleBuilderConverter::convertPositionLength(StyleResolverState& state, const CSSValue& value) ++{ ++ if (value.isValuePair()) { ++ const CSSValuePair& pair = toCSSValuePair(value); ++ Length length = StyleBuilderConverter::convertLength(state, pair.second()); ++ if (toCSSPrimitiveValue(pair.first()).getValueID() == cssValueFor0) ++ return length; ++ ASSERT(toCSSPrimitiveValue(pair.first()).getValueID() == cssValueFor100); ++ return length.subtractFromOneHundredPercent(); ++ } ++ ++ const CSSPrimitiveValue& primitiveValue = toCSSPrimitiveValue(value); ++ if (primitiveValue.isValueID()) { ++ switch (primitiveValue.getValueID()) { ++ case cssValueFor0: ++ return Length(0, Percent); ++ case cssValueFor100: ++ return Length(100, Percent); ++ case CSSValueCenter: ++ return Length(50, Percent); ++ default: ++ ASSERT_NOT_REACHED(); ++ } ++ } ++ ++ return StyleBuilderConverter::convertLength(state, primitiveValue); ++} ++ + template + T StyleBuilderConverter::convertFlags(StyleResolverState& state, const CSSValue& value) + { diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha3-GCCcore-8.2.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha3-GCCcore-8.2.0.eb index 1de978078f4..9981cd1c560 100644 --- a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha3-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha3-GCCcore-8.2.0.eb @@ -39,7 +39,7 @@ dependencies = [ ('libjpeg-turbo', '2.0.2'), ] -configopts = "-G Ninja -DPORT=Qt -DCMAKE_BUILD_TYPE=Release -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " +configopts = "-DPORT=Qt -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " sanity_check_paths = { 'files': [ diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d3095e4a6c1 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-10.2.0.eb @@ -0,0 +1,56 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeNinja' + +name = 'Qt5Webkit' +# Qt5 > 5.9 required at least version 5.212.0 +# At the time of writing the latest version was 5.212.0-alpha3 +version = '5.212.0-alpha4' + +homepage = 'https://github.com/qt/qtwebkit' +description = "Qt Port of WebKit. WebKit is an open source web browser engine." +docurls = ['https://github.com/qt/qtwebkit/blob/dev/README'] + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%(version)s/'] +sources = ['qtwebkit-%(version)s.tar.xz'] +patches = ['%(name)s-%(version)s_bison3.7.patch'] +checksums = [ + '9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6', # qtwebkit-5.212.0-alpha4.tar.xz + '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be', # Qt5Webkit-5.212.0-alpha4_bison3.7.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.1'), + ('Python', '3.8.6'), + ('Ruby', '2.7.2'), +] + +dependencies = [ + ('Qt5', '5.14.2'), + ('zlib', '1.2.11'), + ('SQLite', '3.33.0'), + ('ICU', '67.1'), + ('libxslt', '1.1.34'), + ('libjpeg-turbo', '2.0.5'), +] + +configopts = "-DPORT=Qt -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " + +sanity_check_paths = { + 'files': [ + 'lib64/libQt5WebKit.%s' % SHLIB_EXT, + 'lib64/libQt5WebKitWidgets.%s' % SHLIB_EXT, + ], + 'dirs': ['include/QtWebKit', 'include/QtWebKitWidgets'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..9c4fab966b4 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.2.0.eb @@ -0,0 +1,71 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeNinja' + +name = 'Qt5Webkit' +# Qt5 > 5.9 required at least version 5.212.0 +# At the time of writing the latest version was 5.212.0-alpha3 +version = '5.212.0-alpha4' + +homepage = 'https://github.com/qt/qtwebkit' +description = "Qt Port of WebKit. WebKit is an open source web browser engine." +docurls = ['https://github.com/qt/qtwebkit/blob/dev/README'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%(version)s/'] +sources = ['qtwebkit-%(version)s.tar.xz'] +patches = [ + '%(name)s-%(version)s_bison3.7.patch', + '%(name)s-%(version)s_fix_python_path.patch', + '%(name)s-%(version)s_fix_deprecated_encoding_in_json.load.patch', + '%(name)s-%(version)s_use_CXX_true_instead_of_TRUE_define.patch', + '%(name)s-%(version)s_dont_use_multiarch_lib_dir.patch', +] +checksums = [ + {'qtwebkit-5.212.0-alpha4.tar.xz': '9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6'}, + {'Qt5Webkit-5.212.0-alpha4_bison3.7.patch': '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be'}, + {'Qt5Webkit-5.212.0-alpha4_fix_python_path.patch': + '126aed68cf0e22f595d3a8ae87938ba9e6a0727b53e38a92412fbf816a1687b2'}, + {'Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch': + 'e6ffe068a41af8d8aade58eeaa8352b87b731f29fc463e71bb1dc497301956c8'}, + {'Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch': + 'b952923cfe35667c69e7540d5c449d5e65301a4c2f43cdea8b33f190ab6b0403'}, + {'Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch': + '4974a348731ce80f73fbfbcce2351bddfb87a54affc7ae6dd52559a4ad93e8e8'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('pkgconf', '1.8.0'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + ('Python', '3.9.6'), + ('Ruby', '3.0.1'), + ('Perl', '5.34.0'), +] + +dependencies = [ + ('Qt5', '5.15.2'), + ('zlib', '1.2.11'), + ('SQLite', '3.36'), + ('ICU', '69.1'), + ('libxslt', '1.1.34'), + ('libjpeg-turbo', '2.0.6'), +] + +configopts = "-DPORT=Qt -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " + +sanity_check_paths = { + 'files': [ + 'lib/libQt5WebKit.%s' % SHLIB_EXT, + 'lib/libQt5WebKitWidgets.%s' % SHLIB_EXT, + ], + 'dirs': ['include/QtWebKit', 'include/QtWebKitWidgets'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4323d480ca2 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4-GCCcore-11.3.0.eb @@ -0,0 +1,63 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeNinja' + +name = 'Qt5Webkit' +# Qt5 > 5.9 required at least version 5.212.0 +# At the time of writing the latest version was 5.212.0-alpha4 +version = '5.212.0-alpha4' + +homepage = 'https://github.com/qt/qtwebkit' +description = "Qt Port of WebKit. WebKit is an open source web browser engine." +docurls = ['https://github.com/qt/qtwebkit/blob/dev/README'] + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/qtwebkit/qtwebkit/releases/download/qtwebkit-%(version)s/'] +sources = ['qtwebkit-%(version)s.tar.xz'] +patches = [ + '%(name)s-%(version)s_bison3.7.patch', + '%(name)s-%(version)s_json.patch', +] +checksums = [ + '9ca126da9273664dd23a3ccd0c9bebceb7bb534bddd743db31caf6a5a6d4a9e6', # qtwebkit-5.212.0-alpha4.tar.xz + '34f37b53ee0bc31c63ce85ebd1ae95543a8ba28483e387b20efd50574bd813be', # Qt5Webkit-5.212.0-alpha4_bison3.7.patch + '68e2c47882e4749c85933f176c45a8f781fa8a2e92818c58b6af15f27dadb9f5', # Qt5Webkit-5.212.0-alpha4_json.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + ('gperf', '3.1'), + ('Ninja', '1.10.2'), + ('Python', '3.10.4'), + ('Ruby', '3.0.3'), +] + +dependencies = [ + ('Qt5', '5.15.5'), + ('zlib', '1.2.12'), + ('SQLite', '3.38.3'), + ('ICU', '71.1'), + ('libxslt', '1.1.34'), + ('libjpeg-turbo', '2.1.3'), +] + +configopts = "-G Ninja -DPORT=Qt -DCMAKE_BUILD_TYPE=Release -DUSE_LIBHYPHEN=OFF -DUSE_GSTREAMER=OFF " +# Starting from ICU 68 the TRUE/FALSE macros are not defined in standard header +# files, see https://unicode-org.github.io/icu/userguide/dev/codingguidelines.html +configopts += "-DCMAKE_CXX_FLAGS='-DU_DEFINE_FALSE_AND_TRUE=1' " + +sanity_check_paths = { + 'files': [ + 'lib64/libQt5WebKit.%s' % SHLIB_EXT, + 'lib64/libQt5WebKitWidgets.%s' % SHLIB_EXT, + ], + 'dirs': ['include/QtWebKit', 'include/QtWebKitWidgets'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_bison3.7.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_bison3.7.patch new file mode 100644 index 00000000000..13dd68182af --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_bison3.7.patch @@ -0,0 +1,46 @@ +From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Tue, 4 Aug 2020 21:04:06 +0300 +Subject: [PATCH] Let Bison generate the header directly, to fix build with + Bison 3.7 + +Starting with Bison 3.7, the generated C++ file #include's the header +by default, instead of duplicating it. So we should not delete it. + +Remove the code to add #ifdef guards to the header, since Bison adds +them itself since version 2.6.3. +--- + Source/WebCore/css/makegrammar.pl | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl +index 5d63b08102eb5..9435701c70612 100644 +--- a/Source/WebCore/css/makegrammar.pl ++++ b/Source/WebCore/css/makegrammar.pl +@@ -73,25 +73,6 @@ + } + + my $fileBase = File::Spec->join($outputDir, $filename); +-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); ++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); + push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives. + system(@bisonCommand) == 0 or die; +- +-open HEADER, ">$fileBase.h" or die; +-print HEADER << "EOF"; +-#ifndef CSSGRAMMAR_H +-#define CSSGRAMMAR_H +-EOF +- +-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die; +-while () { +- print HEADER; +-} +-close HPP; +- +-print HEADER "#endif\n"; +-close HEADER; +- +-unlink("$fileBase.cpp.h"); +-unlink("$fileBase.hpp"); +- diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch new file mode 100644 index 00000000000..6ce4a9830dd --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_dont_use_multiarch_lib_dir.patch @@ -0,0 +1,26 @@ +Don't use multiarch lib dir + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/cmake/KDEInstallDirs.cmake qtwebkit-5.212.0-alpha4/Source/cmake/KDEInstallDirs.cmake +--- qtwebkit-5.212.0-alpha4.orig/Source/cmake/KDEInstallDirs.cmake 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/cmake/KDEInstallDirs.cmake 2022-12-08 11:04:09.788027403 +0100 +@@ -210,11 +210,6 @@ + # See http://wiki.debian.org/Multiarch + if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") + AND NOT CMAKE_CROSSCOMPILING) +- if (EXISTS "/etc/debian_version") # is this a debian system ? +- if(CMAKE_LIBRARY_ARCHITECTURE) +- set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}") +- endif() +- else() # not debian, rely on CMAKE_SIZEOF_VOID_P: + if(NOT DEFINED CMAKE_SIZEOF_VOID_P) + message(AUTHOR_WARNING + "Unable to determine default LIB_INSTALL_LIBDIR directory because no target architecture is known. " +@@ -224,7 +219,6 @@ + set(_LIBDIR_DEFAULT "lib64") + endif() + endif() +- endif() + endif() + + set(_gnu_install_dirs_vars diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch new file mode 100644 index 00000000000..d456d73cb1b --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_deprecated_encoding_in_json.load.patch @@ -0,0 +1,15 @@ +"enconding" kw has been deprecated in json.load since Python 3.1 and was removed completely in 3.9 + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 08:20:29.980590518 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 08:21:00.908330630 +0100 +@@ -163,7 +163,7 @@ + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch new file mode 100644 index 00000000000..02a483f2f51 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_fix_python_path.patch @@ -0,0 +1,66 @@ +Don't use hardcoded path to python + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/generate-bytecode-files 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#! /usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2014 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/cssmin.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/cssmin.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/cssmin.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/cssmin.py 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py 2022-12-08 07:56:12.532708103 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/UpdateContents.py qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/UpdateContents.py +--- qtwebkit-5.212.0-alpha4.orig/Source/JavaScriptCore/Scripts/UpdateContents.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/Scripts/UpdateContents.py 2022-12-08 07:56:12.532708103 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2015 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py +--- qtwebkit-5.212.0-alpha4.orig/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py 2022-12-08 07:56:12.524708171 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + # + # Copyright (c) 2015 The ANGLE Project Authors. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/AVFoundationSupport.py qtwebkit-5.212.0-alpha4/Source/WebCore/AVFoundationSupport.py +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/AVFoundationSupport.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/AVFoundationSupport.py 2022-12-08 07:56:12.524708171 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2015 Apple Inc. All rights reserved. + # +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebInspectorUI/Scripts/cssmin.py qtwebkit-5.212.0-alpha4/Source/WebInspectorUI/Scripts/cssmin.py +--- qtwebkit-5.212.0-alpha4.orig/Source/WebInspectorUI/Scripts/cssmin.py 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebInspectorUI/Scripts/cssmin.py 2022-12-08 07:56:12.528708137 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # Copyright (C) 2013 Apple Inc. All rights reserved. + # diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch new file mode 100644 index 00000000000..e2c189a2ee7 --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_json.patch @@ -0,0 +1,15 @@ +# The "encoding" is no more supported in python json library (utf-8 is default now?) +# author: Jiri Furst + +--- qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files.orig 2022-12-20 15:43:51.483563960 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/generate-bytecode-files 2022-12-20 15:43:23.979251951 +0100 +@@ -163,7 +163,8 @@ + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ #bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch new file mode 100644 index 00000000000..3068f9bfc4b --- /dev/null +++ b/easybuild/easyconfigs/q/Qt5Webkit/Qt5Webkit-5.212.0-alpha4_use_CXX_true_instead_of_TRUE_define.patch @@ -0,0 +1,128 @@ +Use C++ "true" value instead of the TRUE define +It is not automatically defined in later ICU vwersions + +Åke Sandgren, 2022-12-08 +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProvider.h 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProvider.h 2022-12-08 08:45:36.252382941 +0100 +@@ -80,12 +80,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -94,12 +94,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp 2022-12-08 08:46:20.924008445 +0100 +@@ -100,23 +100,23 @@ + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -336,7 +336,7 @@ + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -356,7 +356,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp 2022-12-08 08:46:59.755682780 +0100 +@@ -125,7 +125,7 @@ + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -145,7 +145,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp +--- qtwebkit-5.212.0-alpha4.orig/Source/WebCore/platform/text/TextCodecICU.cpp 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4/Source/WebCore/platform/text/TextCodecICU.cpp 2022-12-08 08:44:48.972780065 +0100 +@@ -308,7 +308,7 @@ + m_converterICU = ucnv_open(m_canonicalConverterName, &err); + ASSERT(U_SUCCESS(err)); + if (m_converterICU) +- ucnv_setFallback(m_converterICU, TRUE); ++ ucnv_setFallback(m_converterICU, true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err) diff --git a/easybuild/easyconfigs/q/Qt6/Qt6-6.5.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qt6/Qt6-6.5.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ebbfe66572d --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.5.2-GCCcore-12.3.0.eb @@ -0,0 +1,89 @@ +easyblock = 'CMakeNinja' + +name = 'Qt6' +version = '6.5.2' + +homepage = 'https://qt.io/' +description = "Qt is a comprehensive cross-platform C++ application framework." + +toolchain = {'name': 'GCCcore', 'version': '12.3.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.5.2_fix_OF-Gentoo.patch', +] +checksums = [ + {'qt-everywhere-src-6.5.2.tar.xz': 'cde57be663d0f875759797298bdc37a936d517c39f2013e4e6ece5e12edeed12'}, + {'Qt6-6.5.2_fix_OF-Gentoo.patch': '62c4b1abdeac69f40fd48f5e46f470f9f9c328fdb02ab8aceb9aa1885ad8c601'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('CMake', '3.26.3'), + ('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.77.1'), + ('PCRE2', '10.42'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('libwebp', '1.3.1'), + ('JasPer', '4.0.0'), + ('HarfBuzz', '5.3.1'), + ('SQLite', '3.42.0'), + ('graphite2', '1.3.14'), + ('assimp', '5.2.5'), # for Qt 3D + ('FFmpeg', '6.0'), + ('X11', '20230603'), + ('fontconfig', '2.14.2'), + ('zlib', '1.2.13'), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # WebEngine + ('freetype', '2.13.0'), # WebEngine + ('DBus', '1.15.4'), + ('libevent', '2.1.12'), # WebEngine + ('libGLU', '9.0.3'), + ('libjpeg-turbo', '2.1.5.1'), # WebEngine + ('NSS', '3.89.1'), # WebEngine, required + ('snappy', '1.1.10'), # WebEngine + ('OpenSSL', '1.1', '', SYSTEM), + ('ICU', '73.2'), # WebEngine, optional + ('nodejs', '18.17.1'), # 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.5.2/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.5.2_fix_OF-Gentoo.patch b/easybuild/easyconfigs/q/Qt6/Qt6-6.5.2_fix_OF-Gentoo.patch new file mode 100644 index 00000000000..4a47501ebcf --- /dev/null +++ b/easybuild/easyconfigs/q/Qt6/Qt6-6.5.2_fix_OF-Gentoo.patch @@ -0,0 +1,48 @@ +############################################ +# 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/zlib/contrib/minizip/ioapi.h b/qt3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h +index 8dcbdb06e3..e9cc96914e 100644 +--- a/qt3d/src/3rdparty/assimp/src/contrib/zlib/contrib/minizip/ioapi.h ++++ b/qt3d/src/3rdparty/assimp/src/contrib/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/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/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/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7cb7366cb23 --- /dev/null +++ b/easybuild/easyconfigs/q/QtKeychain/QtKeychain-0.13.2-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'CMakeMake' + +name = 'QtKeychain' +version = '0.13.2' + +homepage = 'https://github.com/frankosterfeld/qtkeychain' +description = "Platform-independent Qt API for storing passwords securely." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/frankosterfeld/qtkeychain/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['20beeb32de7c4eb0af9039b21e18370faf847ac8697ab3045906076afbc4caa5'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +# Need to turn off build tranlsations, it tries to put that to qt5 dir. +# The other option would be to set translations directory +configopts = "-DCMAKE_INSTALL_LIBDIR=lib/ -DBUILD_TRANSLATIONS=OFF -DLIBSECRET_SUPPORT=OFF " + +sanity_check_paths = { + 'files': ['lib/libqt5keychain.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..deb1b3231ed --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.2.1-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.2.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': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7d5231133b772e40b4ee514b6673aca558331e4b88ca038b26c9e16c5c95524f'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('PyQt5', '5.15.4') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..79b8aeb2b47 --- /dev/null +++ b/easybuild/easyconfigs/q/QtPy/QtPy-2.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'QtPy' +version = '2.3.0' + +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': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0603c9c83ccc035a4717a12908bf6bc6cb22509827ea2ec0e94c2da7c9ed57c5'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyQt5', '5.15.5') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' 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.3.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.3.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cd750a04be5 --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.3.2-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.3.2' + +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': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8eadf012e83ab018295803c247c6ab7eacd3d5ab1e1d88a0f37fdcfdab9295a3'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('IPython', '7.26.0'), + ('QtPy', '2.2.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4ca3e9f8a2e --- /dev/null +++ b/easybuild/easyconfigs/q/Qtconsole/Qtconsole-5.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Qtconsole' +version = '5.4.0' + +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': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['57748ea2fd26320a0b77adba20131cfbb13818c7c96d83fafcb110ff55f58b35'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('IPython', '8.5.0'), + ('QtPy', '2.3.0'), +] + +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/Qualimap/Qualimap-2.2.1-foss-2019a-R-3.6.0.eb b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2019a-R-3.6.0.eb index 90bf997ca5c..35374dd4af2 100644 --- a/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2019a-R-3.6.0.eb +++ b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2019a-R-3.6.0.eb @@ -16,7 +16,7 @@ sources = ['qualimap_v%(version)s.zip'] checksums = ['08f1d66e49c83c76c56c4225c53aee44f41e0592c8bdc84b8c4ecd975700e045'] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('R', '3.6.0'), ('R-bundle-Bioconductor', '3.9', versionsuffix), ] diff --git a/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..70260a39f73 --- /dev/null +++ b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2020b-R-4.0.3.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'Qualimap' +version = '2.2.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://qualimap.bioinfo.cipf.es/' +description = """Qualimap 2 is a platform-independent application written in Java and R that provides both + a Graphical User Inteface (GUI) and a command-line interface to facilitate the quality control of + alignment sequencing data and its derivatives like feature counts.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://bitbucket.org/kokonech/qualimap/downloads/'] +sources = ['qualimap_v%(version)s.zip'] +checksums = ['08f1d66e49c83c76c56c4225c53aee44f41e0592c8bdc84b8c4ecd975700e045'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('R', '4.0.3'), + ('R-bundle-Bioconductor', '3.12', versionsuffix), +] + +sanity_check_paths = { + 'files': ['qualimap'], + 'dirs': [], +} + +sanity_check_commands = ["qualimap --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..ee634ca5d69 --- /dev/null +++ b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.2.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'Qualimap' +version = '2.2.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://qualimap.bioinfo.cipf.es/' +description = """Qualimap 2 is a platform-independent application written in Java and R that provides both + a Graphical User Inteface (GUI) and a command-line interface to facilitate the quality control of + alignment sequencing data and its derivatives like feature counts.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://bitbucket.org/kokonech/qualimap/downloads/'] +sources = ['qualimap_v%(version)s.zip'] +checksums = ['08f1d66e49c83c76c56c4225c53aee44f41e0592c8bdc84b8c4ecd975700e045'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +sanity_check_paths = { + 'files': ['qualimap'], + 'dirs': [], +} + +sanity_check_commands = ["qualimap --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qualimap/Qualimap-2.3-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.3-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..c6a3e40d231 --- /dev/null +++ b/easybuild/easyconfigs/q/Qualimap/Qualimap-2.3-foss-2022b-R-4.2.2.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'Qualimap' +version = '2.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'http://qualimap.bioinfo.cipf.es/' +description = """Qualimap 2 is a platform-independent application written in Java and R that provides both + a Graphical User Inteface (GUI) and a command-line interface to facilitate the quality control of + alignment sequencing data and its derivatives like feature counts.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://bitbucket.org/kokonech/qualimap/downloads/'] +sources = ['qualimap_v%(version)s.zip'] +checksums = ['2a04dd864b712da30923cce3bc8dfc6ea59612118e8b0ff1a246fe43b8d34c40'] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('R', '4.2.2'), + ('R-bundle-Bioconductor', '3.16', versionsuffix), +] + +sanity_check_paths = { + 'files': ['qualimap'], + 'dirs': [], +} + +sanity_check_commands = ["qualimap --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Quandl/Quandl-3.6.1-foss-2021a.eb b/easybuild/easyconfigs/q/Quandl/Quandl-3.6.1-foss-2021a.eb new file mode 100644 index 00000000000..4192107f244 --- /dev/null +++ b/easybuild/easyconfigs/q/Quandl/Quandl-3.6.1-foss-2021a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'Quandl' +version = '3.6.1' + +homepage = 'https://pypi.python.org/pypi/Quandl' +description = "A Python library for Quandl’s RESTful API." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('inflection', '0.5.1', { + 'checksums': ['1a29730d366e996aaacffb2f1f1cb9593dc38e2ddd30c91250c6dde09ea9b417'], + }), + ('pyOpenSSL', '20.0.1', { + 'modulename': 'OpenSSL', + 'checksums': ['4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51'], + }), + ('ndg-httpsclient', '0.5.1', { + 'modulename': 'ndg', + 'source_tmpl': 'ndg_httpsclient-%(version)s.tar.gz', + 'checksums': ['d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210'], + }), + (name, version, { + 'checksums': ['84414e5f8e870a9c8a9392e9dc639d50e839c5f5e07737a09bb57dd8b14b264b'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.6-intel-2020a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.6-intel-2020a.eb new file mode 100644 index 00000000000..9f590db57c1 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.6-intel-2020a.eb @@ -0,0 +1,43 @@ +name = 'QuantumESPRESSO' +version = '6.6' + +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': '2020a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/archive/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + {'filename': 'qe-gipaw-%(version)s.tar.gz', 'download_filename': '%(version)s.tar.gz'}, + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'de6996b9f1bf480bcd0166d24e918f5ff3c8fdb710f59f781bc9d33819280eb5', # qe-6.6-ReleasePack.tgz + '277fbe3bd10cb8f64e0f351a0c2fff1f68fb3ccdeb18107900803f4566661459', # qe-gipaw-6.6.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.6'), + ('ELPA', '2019.11.001'), + ('libxc', '4.3.4'), +] + +# The third party packages should be installed separately and added as +# dependencies. The exception is w90, which is force built +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-6.7-foss-2021a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-foss-2021a.eb index 5438527c158..bdff659a888 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-foss-2021a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-foss-2021a.eb @@ -29,7 +29,8 @@ checksums = [ dependencies = [ ('HDF5', '1.10.7'), - ('ELPA', '2021.05.001'), + # From the QE configure help, this version of ELPA is not compatible + # ('ELPA', '2021.05.001'), ('libxc', '5.1.5'), ] @@ -41,4 +42,7 @@ buildopts = 'all gwl xspectra couple epw gipaw w90' # parallel build tends to fail parallel = 1 +# allow some test failures (not investigated for old easyconfig) +test_suite_max_failed = 4 + moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2021a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2021a.eb index 90cb839d1f7..99d05042d92 100644 --- a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2021a.eb +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.7-intel-2021a.eb @@ -29,7 +29,8 @@ checksums = [ dependencies = [ ('HDF5', '1.10.7'), - ('ELPA', '2021.05.001'), + # From the QE configure help, this version of ELPA is not compatible + # ('ELPA', '2021.05.001'), ('libxc', '5.1.5'), ] @@ -41,4 +42,7 @@ buildopts = 'all gwl xspectra couple epw gipaw w90' # parallel build tends to fail parallel = 1 +# allow some test failures (not investigated for old easyconfig) +test_suite_max_failed = 2 + moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021a.eb new file mode 100644 index 00000000000..36c8fdf64b0 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021a.eb @@ -0,0 +1,44 @@ +name = 'QuantumESPRESSO' +version = '6.8' + +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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'fc9b8141705d31db30f6cfe61d4e49867c7c3b04a59533eb7f90301fa8bd50ce', # qe-%(version)s-ReleasePack.tgz + 'ec6212b1f1084818a91b9980c6c24e4f9f7da2212e534732e0af6072addfb4dd', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.5'), +] + +# 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-6.8-foss-2021b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021b.eb new file mode 100644 index 00000000000..aedc3282d14 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-foss-2021b.eb @@ -0,0 +1,47 @@ +name = 'QuantumESPRESSO' +version = '6.8' + +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': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'fc9b8141705d31db30f6cfe61d4e49867c7c3b04a59533eb7f90301fa8bd50ce', # qe-%(version)s-ReleasePack.tgz + 'ec6212b1f1084818a91b9980c6c24e4f9f7da2212e534732e0af6072addfb4dd', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.6'), +] + +# 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 + +# don't run the tests (not investigated for old easyconfig) +skipsteps = ['test'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-intel-2021a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-intel-2021a.eb new file mode 100644 index 00000000000..5982b4efde6 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-6.8-intel-2021a.eb @@ -0,0 +1,47 @@ +name = 'QuantumESPRESSO' +version = '6.8' + +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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + 'fc9b8141705d31db30f6cfe61d4e49867c7c3b04a59533eb7f90301fa8bd50ce', # qe-%(version)s-ReleasePack.tgz + 'ec6212b1f1084818a91b9980c6c24e4f9f7da2212e534732e0af6072addfb4dd', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.5'), +] + +# 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 (not investigated for old easyconfig) +test_suite_max_failed = 4 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb new file mode 100644 index 00000000000..9f62ca5ad84 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-foss-2021b.eb @@ -0,0 +1,47 @@ +name = 'QuantumESPRESSO' +version = '7.0' + +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': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + '268ec506f88c56ba4e9b691c1e81e33a6ad7949f857f1c6c32197f9c2af2a957', # qe-%(version)s-ReleasePack.tgz + '0f26055495c5d757ccd388ff3e8fd1ad036a798d3017f6ea0bcd0ea84b8a5bce', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.6'), +] + +# 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 (not investigated for old easyconfig) +test_suite_max_failed = 3 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2021b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2021b.eb new file mode 100644 index 00000000000..3aef60958a6 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.0-intel-2021b.eb @@ -0,0 +1,47 @@ +name = 'QuantumESPRESSO' +version = '7.0' + +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': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = [ + 'https://github.com/QEF/q-e/releases/download/qe-%(version)s/', + 'https://github.com/dceresoli/qe-gipaw/releases/download/%(version)s/', + 'https://github.com/wannier-developers/wannier90/archive/' +] +sources = [ + 'qe-%(version)s-ReleasePack.tgz', + 'qe-gipaw-%(version)s.tar.gz', + {'filename': 'wannier90-3.1.0.tar.gz', 'download_filename': 'v3.1.0.tar.gz'}, +] +checksums = [ + '268ec506f88c56ba4e9b691c1e81e33a6ad7949f857f1c6c32197f9c2af2a957', # qe-%(version)s-ReleasePack.tgz + '0f26055495c5d757ccd388ff3e8fd1ad036a798d3017f6ea0bcd0ea84b8a5bce', # qe-gipaw-%(version)s.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('ELPA', '2021.05.001'), + ('libxc', '5.1.6'), +] + +# 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 + +# don't run the tests (not investigated for old easyconfig) +skipsteps = ['test'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb new file mode 100644 index 00000000000..3f34e98c970 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-foss-2022a.eb @@ -0,0 +1,54 @@ +name = 'QuantumESPRESSO' +version = '7.1' + +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': '2022a'} +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 = [ + 'd56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6', # q-e-qe-7.1.tar.gz + '0eee3f613d249ff14e8b891493fe68a3567188575ec7397a8fbe3a97cbf6cb69', # qe-gipaw-7.1.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +builddependencies = [('M4', '1.4.19')] + +dependencies = [ + ('HDF5', '1.12.2'), + ('ELPA', '2021.11.001'), + ('libxc', '5.2.3'), +] + +# 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 + +# don't run the tests (not investigated for old easyconfig) +skipsteps = ['test'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb new file mode 100644 index 00000000000..931d16c7f63 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.1-intel-2022a.eb @@ -0,0 +1,54 @@ +name = 'QuantumESPRESSO' +version = '7.1' + +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': '2022a'} +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 = [ + 'd56dea096635808843bd5a9be2dee3d1f60407c01dbeeda03f8256a3bcfc4eb6', # q-e-qe-7.1.tar.gz + '0eee3f613d249ff14e8b891493fe68a3567188575ec7397a8fbe3a97cbf6cb69', # qe-gipaw-7.1.tar.gz + '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254', # wannier90-3.1.0.tar.gz +] + +builddependencies = [('M4', '1.4.19')] + +dependencies = [ + ('HDF5', '1.12.2'), + ('ELPA', '2021.11.001'), + ('libxc', '5.2.3'), +] + +# 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 + +# don't run the tests (not investigated for old easyconfig) +skipsteps = ['test'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2022b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2022b.eb new file mode 100644 index 00000000000..9362d5a9fb8 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2022b.eb @@ -0,0 +1,53 @@ +name = 'QuantumESPRESSO' +version = '7.2' + +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': '2022b'} +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-7.2.tar.gz': 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0'}, + {'qe-gipaw-7.2.tar.gz': '3375e6e8242b9d0a1ebf9ff9ac1111f4cc5c95d3f654bc2534c396b3b4e59a2f'}, + {'wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [('M4', '1.4.19')] + +dependencies = [ + ('HDF5', '1.14.0'), + ('ELPA', '2022.05.001'), + ('libxc', '6.1.0'), +] + +# 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' + +with_fox = True + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb new file mode 100644 index 00000000000..8369f3fb31a --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-foss-2023a.eb @@ -0,0 +1,55 @@ +name = 'QuantumESPRESSO' +version = '7.2' + +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': 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0'}, + {'qe-gipaw-%(version)s.tar.gz': '3375e6e8242b9d0a1ebf9ff9ac1111f4cc5c95d3f654bc2534c396b3b4e59a2f'}, + {'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" + +with_fox = True + +# parallel build tends to fail +parallel = 1 + + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb new file mode 100644 index 00000000000..53852bd770b --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.2-intel-2022b.eb @@ -0,0 +1,55 @@ +name = 'QuantumESPRESSO' +version = '7.2' + +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': '2022b'} +# OpenMP is not working with Intel ifort/ifx compilers (Fortran) starting from version 2021.2.0 +# toolchainopts = {'usempi': True, 'openmp': True} +toolchainopts = {'usempi': 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-7.2.tar.gz': 'b348a4a7348b66a73545d9ca317a2645755c98d343c1cfe8def475ad030808c0'}, + {'qe-gipaw-7.2.tar.gz': '3375e6e8242b9d0a1ebf9ff9ac1111f4cc5c95d3f654bc2534c396b3b4e59a2f'}, + {'wannier90-3.1.0.tar.gz': '40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'}, +] + +builddependencies = [('M4', '1.4.19')] + +dependencies = [ + ('HDF5', '1.14.0'), + ('ELPA', '2022.05.001'), + ('libxc', '6.1.0'), +] + +# 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' + +with_fox = True + +# parallel build tends to fail +parallel = 1 + +moduleclass = 'chem' 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..dff22dff1e6 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3-foss-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': '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 + +# allow some test failures (see https://github.com/EESSI/software-layer/pull/504#issuecomment-2039605740) +test_suite_max_failed = 2 + +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/QuantumESPRESSO/QuantumESPRESSO-7.3.1-foss-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-foss-2023a.eb new file mode 100644 index 00000000000..ff3277e87b3 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-foss-2023a.eb @@ -0,0 +1,158 @@ +name = "QuantumESPRESSO" +version = "7.3.1" + +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, +} + +# Check hashes inside external/submodule_commit_hash_records when making file for new version +local_lapack_hash = "12d825396fcef1e0a1b27be9f119f9e554621e55" +local_mbd_hash = "82005cbb65bdf5d32ca021848eec8f19da956a77" +local_devxlib_hash = "a6b89ef77b1ceda48e967921f1f5488d2df9226d" +local_fox_hash = "3453648e6837658b747b895bb7bef4b1ed2eac40" +# Different from the one at tag qe-7.3.1 because of: +# https://gitlab.com/QEF/q-e/-/issues/666 +local_d3q_hash = "de4718351e7bbb9d1d12aad2b7ca232d06775b83" +# Different from the one at tag qe-7.3.1 because of: +# https://github.com/dceresoli/qe-gipaw/issues/19 +local_qe_gipaw_hash = "79d3a03b7bdc4325e66f3fad02a24c6e6e3e5806" +local_qmcpack_hash = "f72ab25fa4ea755c1b4b230ae8074b47d5509c70" +local_w90_hash = "1d6b187374a2d50b509e5e79e2cab01a79ff7ce1" + + +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": "lapack-%s.tar.gz" % local_lapack_hash, + "git_config": { + "url": "https://github.com/Reference-LAPACK", + "repo_name": "lapack", + "commit": local_lapack_hash, + }, + }, + { + "filename": "mbd-%s.tar.gz" % local_mbd_hash, + "git_config": { + "url": "https://github.com/libmbd", + "repo_name": "libmbd", + "commit": local_mbd_hash, + 'clone_into': 'mbd', + }, + }, + { + "filename": "devxlib-%s.tar.gz" % local_devxlib_hash, + "git_config": { + "url": "https://gitlab.com/max-centre/components", + "repo_name": "devicexlib", + "commit": local_devxlib_hash, + 'clone_into': 'devxlib', + }, + }, + { + "filename": "d3q-%s.tar.gz" % local_d3q_hash, + "git_config": { + "url": "https://github.com/anharmonic", + "repo_name": "d3q", + "commit": local_d3q_hash, + }, + }, + { + "filename": "fox-%s.tar.gz" % local_fox_hash, + "git_config": { + "url": "https://github.com/pietrodelugas", + "repo_name": "fox", + "commit": local_fox_hash, + }, + }, + { + "filename": "qe-gipaw-%s.tar.gz" % local_qe_gipaw_hash, + "git_config": { + "url": "https://github.com/dceresoli", + "repo_name": "qe-gipaw", + "commit": local_qe_gipaw_hash, + }, + }, + { + "filename": "pw2qmcpack-%s.tar.gz" % local_qmcpack_hash, + "git_config": { + "url": "https://github.com/QMCPACK", + "repo_name": "pw2qmcpack", + "commit": local_qmcpack_hash, + }, + }, + { + "filename": "wannier90-%s.tar.gz" % local_w90_hash, + "git_config": { + "url": "https://github.com/wannier-developers", + "repo_name": "wannier90", + "commit": local_w90_hash, + }, + }, +] +# Holding off checksum checks untill 5.0.x +# https://github.com/easybuilders/easybuild-framework/pull/4248 +# checksums = [ +# {'q-e-qe-7.3.1.tar.gz': '2c58b8fadfe4177de5a8b69eba447db5e623420b070dea6fd26c1533b081d844'}, +# {'lapack-%s.tar.gz' % local_lapack_hash: 'c05532ae0e5fe35f473206dda12970da5f2e2214620487d71837ddcf0ea6b21d'}, +# {'mbd-%s.tar.gz' % local_mbd_hash: 'a180682c00bb890c9b1e26a98addbd68e32f970c06439acf7582415f4c589800'}, +# {'devxlib-%s.tar.gz' % local_devxlib_hash: '76da8fe5a2050f58efdc92fa8831efec25c19190df7f4e5e39c173a5fbae83b4'}, +# {'d3q-%s.tar.gz' % local_d3q_hash: '43e50753a56af05d181b859d3e29d842fb3fc4352f00cb7fe229a435a1f20c31'}, +# {'fox-%s.tar.gz' % local_fox_hash: '99b6a899a3f947d7763aa318e86f9f08db684568bfdcd293f3318bee9d7f1948'}, +# {'qe-gipaw-%s.tar.gz' % local_qe_gipaw_hash: '9ac8314363d29cc2f1ce85abd8f26c1a3ae311d54f6e6034d656442dd101c928'}, +# {'pw2qmcpack-%s.tar.gz' % local_qmcpack_hash: 'a8136da8429fc49ab560ef7356cd6f0a2714dfbb137baff7961f46dfe32061eb'}, +# {'wannier90-%s.tar.gz' % local_w90_hash: 'f989497790ec9777bdc159945bbf42156edb7268011f972874dec67dd4f58658'}, +# ] +checksums = [ + '2c58b8fadfe4177de5a8b69eba447db5e623420b070dea6fd26c1533b081d844', + None, None, None, None, None, None, None, None +] + +builddependencies = [ + ("M4", "1.4.19"), + ("CMake", "3.26.3"), + ("pkgconf", "1.9.5"), +] +dependencies = [ + ("HDF5", "1.14.0"), + ("ELPA", "2023.05.001"), + ("libxc", "6.2.2"), +] + +# Disabled because of +# https://gitlab.com/QEF/q-e/-/issues/667 +# https://github.com/anharmonic/d3q/issues/15 +build_shared_libs = False +with_scalapack = True +with_fox = True +with_gipaw = True +with_d3q = True +with_qmcpack = True + +moduleclass = "chem" + +test_suite_threshold = ( + 0.4 # Low threshold because of https://gitlab.com/QEF/q-e/-/issues/665 +) +test_suite_max_failed = ( + 5 # Allow for some flaky tests (failed due to strict thresholds) +) +test_suite_allow_failures = [ + "test_qe_xclib_", # 7.3.1: https://gitlab.com/QEF/q-e/-/issues/640 + "--hp_", # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + "--ph_", # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + "--epw_", # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + "--tddfpt_", # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) +] diff --git a/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023a.eb b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023a.eb new file mode 100644 index 00000000000..d6ffe3c80c1 --- /dev/null +++ b/easybuild/easyconfigs/q/QuantumESPRESSO/QuantumESPRESSO-7.3.1-intel-2023a.eb @@ -0,0 +1,150 @@ +name = 'QuantumESPRESSO' +version = '7.3.1' + +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, +} + +# Check hashes inside external/submodule_commit_hash_records when making file for new version +local_lapack_hash = "12d825396fcef1e0a1b27be9f119f9e554621e55" +local_mbd_hash = "82005cbb65bdf5d32ca021848eec8f19da956a77" +local_devxlib_hash = "a6b89ef77b1ceda48e967921f1f5488d2df9226d" +local_fox_hash = "3453648e6837658b747b895bb7bef4b1ed2eac40" +# Different from the one at tag qe-7.3.1 because of: +# https://gitlab.com/QEF/q-e/-/issues/666 +local_d3q_hash = "de4718351e7bbb9d1d12aad2b7ca232d06775b83" +local_qe_gipaw_hash = "75b01b694c9ba4df55d294cacc27cf28591b2161" +local_qmcpack_hash = "f72ab25fa4ea755c1b4b230ae8074b47d5509c70" +local_w90_hash = "1d6b187374a2d50b509e5e79e2cab01a79ff7ce1" + +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": "lapack-%s.tar.gz" % local_lapack_hash, + "git_config": { + "url": "https://github.com/Reference-LAPACK", + "repo_name": "lapack", + "commit": local_lapack_hash, + }, + }, + { + "filename": "mbd-%s.tar.gz" % local_mbd_hash, + "git_config": { + "url": "https://github.com/libmbd", + "repo_name": "libmbd", + "commit": local_mbd_hash, + 'clone_into': 'mbd', + }, + }, + { + "filename": "devxlib-%s.tar.gz" % local_devxlib_hash, + "git_config": { + "url": "https://gitlab.com/max-centre/components", + "repo_name": "devicexlib", + "commit": local_devxlib_hash, + 'clone_into': 'devxlib', + }, + }, + { + "filename": "d3q-%s.tar.gz" % local_d3q_hash, + "git_config": { + "url": "https://github.com/anharmonic", + "repo_name": "d3q", + "commit": local_d3q_hash, + }, + }, + { + "filename": "fox-%s.tar.gz" % local_fox_hash, + "git_config": { + "url": "https://github.com/pietrodelugas", + "repo_name": "fox", + "commit": local_fox_hash, + }, + }, + { + "filename": "qe-gipaw-%s.tar.gz" % local_qe_gipaw_hash, + "git_config": { + "url": "https://github.com/dceresoli", + "repo_name": "qe-gipaw", + "commit": local_qe_gipaw_hash, + }, + }, + { + "filename": "pw2qmcpack-%s.tar.gz" % local_qmcpack_hash, + "git_config": { + "url": "https://github.com/QMCPACK", + "repo_name": "pw2qmcpack", + "commit": local_qmcpack_hash, + }, + }, + { + "filename": "wannier90-%s.tar.gz" % local_w90_hash, + "git_config": { + "url": "https://github.com/wannier-developers", + "repo_name": "wannier90", + "commit": local_w90_hash, + }, + }, +] +# Holding off checksum checks untill 5.0.x +# https://github.com/easybuilders/easybuild-framework/pull/4248 +# checksums = [ +# {'q-e-qe-7.3.1.tar.gz': '2c58b8fadfe4177de5a8b69eba447db5e623420b070dea6fd26c1533b081d844'}, +# {'lapack-%s.tar.gz' % local_lapack_hash: 'c05532ae0e5fe35f473206dda12970da5f2e2214620487d71837ddcf0ea6b21d'}, +# {'mbd-%s.tar.gz' % local_mbd_hash: 'a180682c00bb890c9b1e26a98addbd68e32f970c06439acf7582415f4c589800'}, +# {'devxlib-%s.tar.gz' % local_devxlib_hash: '76da8fe5a2050f58efdc92fa8831efec25c19190df7f4e5e39c173a5fbae83b4'}, +# {'d3q-%s.tar.gz' % local_d3q_hash: '43e50753a56af05d181b859d3e29d842fb3fc4352f00cb7fe229a435a1f20c31'}, +# {'fox-%s.tar.gz' % local_fox_hash: '99b6a899a3f947d7763aa318e86f9f08db684568bfdcd293f3318bee9d7f1948'}, +# {'qe-gipaw-%s.tar.gz' % local_qe_gipaw_hash: '9ac8314363d29cc2f1ce85abd8f26c1a3ae311d54f6e6034d656442dd101c928'}, +# {'pw2qmcpack-%s.tar.gz' % local_qmcpack_hash: 'a8136da8429fc49ab560ef7356cd6f0a2714dfbb137baff7961f46dfe32061eb'}, +# {'wannier90-%s.tar.gz' % local_w90_hash: 'f989497790ec9777bdc159945bbf42156edb7268011f972874dec67dd4f58658'}, +# ] +checksums = [ + '2c58b8fadfe4177de5a8b69eba447db5e623420b070dea6fd26c1533b081d844', + None, None, None, None, None, None, None, None +] + +builddependencies = [ + ('M4', '1.4.19'), + ('CMake', '3.26.3'), + ("pkgconf", "1.9.5"), +] +dependencies = [ + ('HDF5', '1.14.0'), + ('ELPA', '2023.05.001'), + ('libxc', '6.2.2'), +] + +# Disabled because of +# https://gitlab.com/QEF/q-e/-/issues/667 +# https://github.com/anharmonic/d3q/issues/15 +build_shared_libs = False +with_scalapack = True +with_gipaw = False # https://github.com/dceresoli/qe-gipaw/issues/19 +with_d3q = True +with_qmcpack = True + +moduleclass = 'chem' + +test_suite_threshold = 0.4 # Low threshold because of https://gitlab.com/QEF/q-e/-/issues/665 +test_suite_max_failed = 5 # Allow for some flaky tests (failed due to strict thresholds) +test_suite_allow_failures = [ + 'test_qe_xclib_', # 7.3.1: https://gitlab.com/QEF/q-e/-/issues/640 + '--hp_', # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + '--ph_', # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + '--epw_', # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) + '--tddfpt_', # 7.3.1: Broken testsuite (https://gitlab.com/QEF/q-e/-/issues/665) +] diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb new file mode 100644 index 00000000000..5bf05e90cf8 --- /dev/null +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'QuickFF' +version = '2.2.7' + +homepage = 'https://molmod.github.io/QuickFF/' +description = """QuickFF is a Python package developed at the Center for +Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio +calculations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/QuickFF/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a71922dd39869770b03809355f13bcabdbb8d50429f4d3574cf427ea762f4023'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('yaff', '1.6.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224-gompi-2021b.eb b/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224-gompi-2021b.eb new file mode 100644 index 00000000000..c7f08ff8d65 --- /dev/null +++ b/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224-gompi-2021b.eb @@ -0,0 +1,49 @@ +# There is unfortunately right now no proper release, thus the +# commit-tag is being used. Does not build in parallel. +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'QuickPIC' +local_commit = '776fcff' +version = '20210224' + +homepage = 'https://github.com/UCLA-Plasma-Simulation-Group/QuickPIC-OpenSource' +description = """ QuickPIC is a 3D parallel (MPI & OpenMP Hybrid) Quasi-Static PIC code, +which is developed based on the framework UPIC. QuickPIC can efficiently simulate plasma +based accelerator problems. This is the UCLA Plasma Simulation Group's official open-source +repository for QuickPIC.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'pic': True, 'usempi': True, 'cstd': 'c99'} + +source_urls = ['https://github.com/UCLA-Plasma-Simulation-Group/QuickPIC-OpenSource/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['QuickPIC-20210224_fix_paths_in_makefile.patch'] + +checksums = [ + '83d3664542ce0a1c1fa055802e214bdba98790ee512f1f2525d0c087d20d88af', # QuickPIC-20210224.tar.gz + 'fd4be47519513ca3add974e5c5964707a7534ef68ad850f775fae3d8e0cdc987', # QuickPIC-20210224_fix_paths_in_makefile.patch +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('json-fortran', '8.3.0'), +] + +prebuildopts = 'cd source && ' + +# See here for documentation +# https://portal.hdfgroup.org/display/HDF5/Migrating+from+HDF5+1.10+to+HDF5+1.12 +configopts = ' --with-default-api-version=v110' + +parallel = 1 + +files_to_copy = [(['source/qpic.e'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/qpic.e'], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224_fix_paths_in_makefile.patch b/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224_fix_paths_in_makefile.patch new file mode 100644 index 00000000000..7163e61dd9b --- /dev/null +++ b/easybuild/easyconfigs/q/QuickPIC/QuickPIC-20210224_fix_paths_in_makefile.patch @@ -0,0 +1,49 @@ +Patch for makefile and make.GF_OPENMPI so HDF5 and json-fortran is being found +instead of hard-coded paths +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca.orig/source/make.GF_OPENMPI b/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca/source/make.GF_OPENMPI +index b2f08f0..c1538cf 100644 +--- a/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca.orig/source/make.GF_OPENMPI ++++ b/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca/source/make.GF_OPENMPI +@@ -1,6 +1,6 @@ + # name of the compiler +-JSON_LIB = /usr/local/jsonfortran-gnu-6.3.0/lib/ +-JSON_INC = /usr/local/jsonfortran-gnu-6.3.0/lib/ ++JSON_LIB = ${EBROOTJSONMINFORTRAN}/lib ++JSON_INC = ${EBROOTJSONMINFORTRAN}/include + + FC_GF_OPENMPI = mpif90 -c -I$(JSON_INC) -fopenmp + CC_GF_OPENMPI = mpicc -c -O3 -std=c99 +@@ -14,11 +14,11 @@ FORMAT_FIXED_GF_OPENMPI = -ffixed-form + + # hdf5 libraries + +-HDF5_LIB =/usr/local/hdf5/lib +-HDF5_INC =/usr/local/hdf5/include ++HDF5_LIB =${EBROOTHDF5}/lib ++HDF5_INC =${EBROOTHDF5}/include + + HDF_LIBPATH_GF_OPENMPI= -L$(HDF5_LIB) -lhdf5_fortran -lhdf5_hl -lhdf5 -lz +-HDF_INCLUDE_PATH_GF_OPENMPI= -I$(HDF5_INC) -I${HDF5_LIB} -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 ++HDF_INCLUDE_PATH_GF_OPENMPI= -I$(HDF5_INC) -L${HDF5_LIB} -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5 + + # other libs + OTHER_LIBS_GF_OPENMPI = -L$(JSON_LIB) -ljsonfortran +diff --git a/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca.orig/source/makefile b/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca/source/makefile +index faf3c77..2deff20 100644 +--- a/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca.orig/source/makefile ++++ b/QuickPIC-OpenSource-776fcffaaf9e170fbae80bfe54abc95b1f84dfca/source/makefile +@@ -42,10 +42,9 @@ OBJS_MAIN = main.o + + OBJS = ${OBJS_BASE} ${OBJS_MAIN} + +-# hdf libraries +-HDF_INCLUDE_PATH = ${HDF_INCLUDE_PATH_${SYS_SFX}} +-HDF_LIBPATH = ${HDF_LIBPATH_${SYS_SFX}} +-HDF_LIBS = ${HDF_LIBPATH} ++HDF_INCLUDE_PATH = -I${EBROOTHDF5}/include ++HDF_LIBPATH = -L${EBROOTHDF5}/lib64 ++HDF_LIBS = -lhdf5_fortran + + # other libs + OTHER_LIBS = ${OTHER_LIBS_${SYS_SFX}} diff --git a/easybuild/easyconfigs/q/QuickTree/QuickTree-2.5-GCC-12.2.0.eb b/easybuild/easyconfigs/q/QuickTree/QuickTree-2.5-GCC-12.2.0.eb new file mode 100644 index 00000000000..ac38c02ea44 --- /dev/null +++ b/easybuild/easyconfigs/q/QuickTree/QuickTree-2.5-GCC-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'MakeCp' + +name = 'QuickTree' +version = '2.5' + +description = """QuickTree is an efficient implementation of the Neighbor-Joining algorithm (PMID: 3447015), + capable of reconstructing phylogenies from huge alignments in time less than the age of the universe. + """ + +homepage = 'https://github.com/khowe/quicktree' + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/khowe/quicktree/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['731aa845ce3f1f0645bd0df2b54df75f78fce065d6a3ddc47fedf4bdcb11c248'] + +files_to_copy = [ + (["quicktree"], "bin/"), + 'README.md', + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/quicktree', 'README.md'], + 'dirs': [] +} + +sanity_check_commands = ["quicktree -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/Qwt/Qwt-6.1.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.1.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9ffe3f5f9dd --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.1.5-GCCcore-10.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Qwt' +version = '6.1.5' + +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': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Qwt-6.1.4_Fix_prefix_and_pkgconfig.patch'] +checksums = [ + '4076de63ec2b5e84379ddfebf27c7b29b8dc9074f3db7e2ca61d11a1d8adc041', # qwt-6.1.5.tar.bz2 + '82788aaa23e4bc764ab1f2769e9260d154976c7d7f043ba4e288330d6984b6a9', # Qwt-6.1.4_Fix_prefix_and_pkgconfig.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Qt5', '5.14.2'), +] + +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/Qwt/Qwt-6.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ae40164274e --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-10.3.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': '10.3.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.36.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +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/Qwt/Qwt-6.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2238ccf4c84 --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0-GCCcore-11.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': '11.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.37'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Qt5', '5.15.2'), +] + +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/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/Qwt/Qwt-6.2.0_fix-install-prefix.patch b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0_fix-install-prefix.patch new file mode 100644 index 00000000000..18af690a9be --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.2.0_fix-install-prefix.patch @@ -0,0 +1,18 @@ +Inject correct installation path +Author: Davide Vanzo (Vanderbilt University), ported to Qwt 6.2.0 by Kenneth Hoste (HPC-UGent) + +--- qwt-6.2.0/qwtconfig.pri.orig 2021-07-18 13:19:33.656367878 +0200 ++++ qwt-6.2.0/qwtconfig.pri 2022-06-22 15:27:47.919619835 +0200 +@@ -16,10 +16,10 @@ + # Install paths + ###################################################################### + +-QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX] ++QWT_INSTALL_PREFIX = $$(QWT_PREFIX) + + unix { +- QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION ++ QWT_INSTALL_PREFIX = $$(QWT_PREFIX) + # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION + } + diff --git a/easybuild/easyconfigs/q/Qwt/Qwt-6.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/q/Qwt/Qwt-6.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f208a034542 --- /dev/null +++ b/easybuild/easyconfigs/q/Qwt/Qwt-6.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Qwt' +version = '6.3.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.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Qwt-6.2.0_fix-install-prefix.patch'] +checksums = [ + {'qwt-6.3.0.tar.bz2': 'dcb085896c28aaec5518cbc08c0ee2b4e60ada7ac929d82639f6189851a6129a'}, + {'Qwt-6.2.0_fix-install-prefix.patch': 'ac5c329c0693d565b461cdd3b36c1b96b4d09885e1e0c10929fc7a9021c03bad'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Qt5', '5.15.10'), +] + +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/QwtPolar/QwtPolar-1.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/q/QwtPolar/QwtPolar-1.1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..0d2549e8115 --- /dev/null +++ b/easybuild/easyconfigs/q/QwtPolar/QwtPolar-1.1.1-GCCcore-10.2.0.eb @@ -0,0 +1,36 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'ConfigureMake' + +name = 'QwtPolar' +version = '1.1.1' + +homepage = 'http://qwtpolar.sourceforge.net/' +description = "The QwtPolar library contains classes for displaying values on a polar coordinate system." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6168baa9dbc8d527ae1ebf2631313291a1d545da268a05f4caa52ceadbe8b295'] + +builddependencies = [ + ('binutils', '2.35'), +] +dependencies = [ + ('Qwt', '6.1.5'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i 's@INSTALL_PREFIX[ ]*=.*@INSTALL_PREFIX = %(installdir)s@g' qwtpolarconfig.pri && " +prebuildopts += "sed -i 's/QwtPolarExamples//g' qwtpolarconfig.pri && " +prebuildopts += "qmake qwtpolar.pro && " + +sanity_check_paths = { + 'files': ['lib/libqwtpolar.%s' % SHLIB_EXT], + '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/q/qcat/qcat-1.1.0-foss-2022b.eb b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2022b.eb new file mode 100644 index 00000000000..fa296e92fee --- /dev/null +++ b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2022b.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonPackage' + +name = 'qcat' +version = '1.1.0' + +homepage = 'https://github.com/nanoporetech/qcat/releases' +description = "qcat is a Python command-line tool for demultiplexing Oxford Nanopore reads from FASTQ files" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['56f225321a48eef43e2b83a33cbbb47bf1b1edcd569f3db4d088a1bc0199e20a'] + +dependencies = [ + ('Python', '3.10.8'), + ('Biopython', '1.81'), + ('python-parasail', '1.3.4'), + ('PyYAML', '6.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/qcat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qcat --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..0c20434dec2 --- /dev/null +++ b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023a.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) +easyblock = 'PythonPackage' + +name = 'qcat' +version = '1.1.0' + +homepage = 'https://github.com/nanoporetech/qcat' +description = "qcat is a Python command-line tool for demultiplexing Oxford Nanopore reads from FASTQ files" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['56f225321a48eef43e2b83a33cbbb47bf1b1edcd569f3db4d088a1bc0199e20a'] + +dependencies = [ + ('Python', '3.11.3'), + ('Biopython', '1.83'), + ('python-parasail', '1.3.4'), + ('PyYAML', '6.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/qcat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qcat --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023b.eb b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023b.eb new file mode 100644 index 00000000000..347b09bccf3 --- /dev/null +++ b/easybuild/easyconfigs/q/qcat/qcat-1.1.0-foss-2023b.eb @@ -0,0 +1,35 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Update: Petr Král (INUITS) +easyblock = 'PythonPackage' + +name = 'qcat' +version = '1.1.0' + +homepage = 'https://github.com/nanoporetech/qcat' +description = "qcat is a Python command-line tool for demultiplexing Oxford Nanopore reads from FASTQ files" + +toolchain = {'name': 'foss', 'version': '2023b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['56f225321a48eef43e2b83a33cbbb47bf1b1edcd569f3db4d088a1bc0199e20a'] + +dependencies = [ + ('Python', '3.11.5'), + ('Biopython', '1.84'), + ('python-parasail', '1.3.4'), + ('PyYAML', '6.0.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/qcat'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qcat --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qforce/qforce-0.6.11-foss-2022a.eb b/easybuild/easyconfigs/q/qforce/qforce-0.6.11-foss-2022a.eb new file mode 100644 index 00000000000..2152465181b --- /dev/null +++ b/easybuild/easyconfigs/q/qforce/qforce-0.6.11-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'qforce' +version = '0.6.11' + +homepage = 'https://github.com/selimsami/qforce' +description = """ +Quantum Mechanically augmented molecular force fields. Q-Force is a software package +for deriving all-atom force fields from quantum mechanical calculations in an automated +manner. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ASE', '3.22.1'), + ('matplotlib', '3.5.2'), + ('Seaborn', '0.12.1'), + ('networkx', '2.8.4'), + ('numba', '0.56.4'), +] + +use_pip = True + +exts_list = [ + ('PuLP', '2.1', { + 'checksums': ['76f9c9f984e6e407959545a556ce10c6cc0fdb0db820d627f0073ecf4f5c5c1b'], + }), + ('pycolt', '0.6.0', { + 'modulename': 'colt', + 'checksums': ['0baf234160e65556477207cad09000bf360694470de1ca2aad4065aa569ef57a'], + }), + (name, version, { + 'checksums': ['8f5e5c8f174f2a4a3468e6d2d973bd56494e9233db9c99a122f8a36ea2f1a01b'], + }), +] + +sanity_check_commands = ["qforce --help"] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb new file mode 100644 index 00000000000..f3cf15b36c7 --- /dev/null +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0-foss-2022a.eb @@ -0,0 +1,62 @@ +easyblock = 'PythonBundle' + +name = 'qmflows' +version = '1.0.0' + +homepage = 'https://github.com/SCM-NV/qmflows' +description = """This library tackles the construction and efficient execution +of computational chemistry workflows. This allows computational chemists to use +the emerging massively parallel compute environments in an easy manner and focus +on interpretation of scientific data rather than on tedious job submission +procedures and manual data processing. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = { + ('Python', '3.10.4'), + ('RDKit', '2022.09.4'), + ('HDF5', '1.12.2'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('PyYAML', '6.0') +} + +use_pip = True + +exts_list = [ + ('more-itertools', '9.0.0', { + 'checksums': ['5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('plams', '1.5.1', { + 'modulename': 'scm.plams', + 'checksums': ['5e77632be84a8c12172eb426589cb80187b5b31325d917bdbeb0798f9c5aed46'], + }), + ('pyparsing', '3.0.9', { + 'checksums': ['2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb'], + }), + ('filelock', '3.8.0', { + 'checksums': ['55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc'], + }), + ('graphviz', '0.19.2', { + 'checksums': ['7c90cebc147c18bcdffcd3c76db58cbface5d45fe0247a2f3bfb144d32a8c77c'], + 'sources': {'filename': '%(name)s-%(version)s.zip'} + }), + ('Noodles', '0.3.3', { + 'checksums': ['b57979b08a44c61a962d2003b31313925ac974d39721c9ef3cd46526d18d25ef'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'patches': ['qmflows-1.0.0_version.patch'], + 'checksums': [ + 'c4b3ba80345d7cb921b582d27c2597caa27d4890067be74de103dec15f9ed5a5', + '8f85e7fd3cd7f1b816dfec8c44e8ac27a91e1bb6c91c7fd8f65d42ccf20a653f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch new file mode 100644 index 00000000000..ac145848f54 --- /dev/null +++ b/easybuild/easyconfigs/q/qmflows/qmflows-1.0.0_version.patch @@ -0,0 +1,26 @@ +During EasyBuild, tool.setuptools_scm appears to rewrite '__version__' in _version.py +into 'version', leading to import issues. +Author: Guillaume Acke (UGent) +--- pyproject-orig.toml 2024-04-16 22:11:46.485575321 +0200 ++++ pyproject.toml 2024-04-17 12:40:38.118879192 +0200 +@@ -8,8 +8,8 @@ + + [project] + name = "qmflows" ++version = "1.0.0" + dynamic = [ +- "version", + "readme", + ] + description = "Automation of computations in quantum chemistry." +@@ -101,8 +101,8 @@ + [tool.setuptools.dynamic] + readme = { file = ["README.rst"], content-type = "text/x-rst" } + +-[tool.setuptools_scm] +-write_to = "src/qmflows/_version.py" ++#[tool.setuptools_scm] ++#write_to = "src/qmflows/_version.py" + + [tool.mypy] + plugins = "numpy.typing.mypy_plugin" diff --git a/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb new file mode 100644 index 00000000000..1b0932b22af --- /dev/null +++ b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'qnorm' +version = '0.8.1' + +homepage = 'https://github.com/Maarten-vd-Sande/qnorm' +description = "Fast-ish (and correct!) quantile normalization in Python" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('numba', '0.56.4'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['61b2f3ef09a9c552a4f3b83dc438cb13f191fa190164361a3a508c4777eed3c7'] + +download_dep_fail = True +use_pip = True + +# pyproject.toml included in qnorm source tarball does not include standard fields, +# it's only there to be read by setup.py... +preinstallopts = "sed -i 's/pyproject.toml/pyproject.toml_/g' setup.py && mv pyproject.toml pyproject.toml_ && " + +sanity_check_paths = { + 'files': ['bin/qnorm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qnorm --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022b.eb b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022b.eb new file mode 100644 index 00000000000..99c6ebe1e23 --- /dev/null +++ b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2022b.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'qnorm' +version = '0.8.1' + +homepage = 'https://github.com/Maarten-vd-Sande/qnorm' +description = "Fast-ish (and correct!) quantile normalization in Python" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('numba', '0.58.1'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['61b2f3ef09a9c552a4f3b83dc438cb13f191fa190164361a3a508c4777eed3c7'] + +download_dep_fail = True +use_pip = True + +# pyproject.toml included in qnorm source tarball does not include standard fields, +# it's only there to be read by setup.py... +preinstallopts = "sed -i 's/pyproject.toml/pyproject.toml_/g' setup.py && mv pyproject.toml pyproject.toml_ && " + +sanity_check_paths = { + 'files': ['bin/qnorm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qnorm --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb new file mode 100644 index 00000000000..fe306fc5314 --- /dev/null +++ b/easybuild/easyconfigs/q/qnorm/qnorm-0.8.1-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'qnorm' +version = '0.8.1' + +homepage = 'https://github.com/Maarten-vd-Sande/qnorm' +description = "Fast-ish (and correct!) quantile normalization in Python" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('numba', '0.58.1'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['61b2f3ef09a9c552a4f3b83dc438cb13f191fa190164361a3a508c4777eed3c7'] + +download_dep_fail = True +use_pip = True + +# pyproject.toml included in qnorm source tarball does not include standard fields, +# it's only there to be read for setup.py +preinstallopts = "sed -i 's/pyproject.toml/pyproject.toml_/g' setup.py && mv pyproject.toml pyproject.toml_ && " + +sanity_check_paths = { + 'files': ['bin/qnorm'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["qnorm --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..412f083ea7b --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'qrupdate' +version = '1.1.2' + +homepage = 'https://sourceforge.net/projects/qrupdate/' +description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_makeconf.patch'] +checksums = [ + 'e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08', # qrupdate-1.1.2.tar.gz + '4aa0e61a18bd14c76048f7b2f1f52875f7bac4bc3426ce9a37dfdb5b2b0d2379', # qrupdate-1.1.2_makeconf.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +buildopts = 'lib' + +files_to_copy = [(['libqrupdate.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libqrupdate.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a0bb33bae79 --- /dev/null +++ b/easybuild/easyconfigs/q/qrupdate/qrupdate-1.1.2-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'qrupdate' +version = '1.1.2' + +homepage = 'https://sourceforge.net/projects/qrupdate/' +description = """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_makeconf.patch'] +checksums = [ + 'e2a1c711dc8ebc418e21195833814cb2f84b878b90a2774365f0166402308e08', # qrupdate-1.1.2.tar.gz + '4aa0e61a18bd14c76048f7b2f1f52875f7bac4bc3426ce9a37dfdb5b2b0d2379', # qrupdate-1.1.2_makeconf.patch +] + +builddependencies = [ + ('binutils', '2.38'), +] + +buildopts = 'lib' + +files_to_copy = [(['libqrupdate.a'], 'lib')] + +sanity_check_paths = { + 'files': ['lib/libqrupdate.a'], + 'dirs': [], +} + +parallel = 1 + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_fix-hardcoded-deps.patch b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_fix-hardcoded-deps.patch new file mode 100644 index 00000000000..5fd0b954d98 --- /dev/null +++ b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_fix-hardcoded-deps.patch @@ -0,0 +1,55 @@ +use dependencies provided by EasyBuild +authors: Denis Kristak (INUITS), Kenneth Hoste (HPC-UGent) +diff -ru r-inla-Version_24.01.18.orig/inlaprog/Makefile r-inla-Version_24.01.18/inlaprog/Makefile +--- r-inla-Version_24.01.18.orig/inlaprog/Makefile 2024-01-18 20:34:05.000000000 +0100 ++++ r-inla-Version_24.01.18/inlaprog/Makefile 2024-01-19 13:58:44.694060467 +0100 +@@ -9,13 +9,11 @@ + + ## *** chose either one of these; rgeneric requires the second version *** + ifeq ($(INLA_WITHOUT_LIBR),1) +- RLIB_INC = -DINLA_WITH_RMATH \ +- -I/usr/include/R -I/usr/share/R/include +- RLIB_LIB = -L/usr/lib -lRmath ++ RLIB_INC = -DINLA_WITH_RMATH ++ RLIB_LIB = -lRmath + else +- RLIB_INC = -DINLA_WITH_RMATH -DINLA_LIBR \ +- -I/usr/include/R -I/usr/share/R/include +- RLIB_LIB = -L/usr/lib -lRmath -L/usr/lib/R/lib -lR ++ RLIB_INC = -DINLA_WITH_RMATH -DINLA_LIBR ++ RLIB_LIB = -lRmath -lR + endif + + # select compilers and optimized compiler-options, add -fopenmp or similar to use OpenMP +@@ -32,7 +30,7 @@ + + # The external libraries to link with + EXTLIBS1 = -L$(PREFIX)/lib -lGMRFLib -L$(LEXTPREFIX)/lib +-EXTLIBS2 = -lgsl -ltaucs -lmetis -llapack -lblas -lgslcblas -lamd -lmuparser -lz -lgfortran -lcrypto ++EXTLIBS2 = -lgsl -ltaucs -lmetis -lscalapack -lflexiblas -lgslcblas -lamd -lmuparser -lz -lgfortran -lcrypto + EXTLIBS3 = -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -lm + + ################################################################################ +@@ -92,8 +90,8 @@ + done; \ + install -m755 $(INLA) $(PREFIX)/bin/$(INLA);\ + install -m755 $(INLA) $(PREFIX)/bin/$(INLA)-$(VERSION);\ +- rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete doc/* $(PREFIX)/doc/inla; \ +- rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete examples/* $(PREFIX)/doc/inla/examples; ++ # rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete doc/* $(PREFIX)/doc/inla; \ ++ # rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete examples/* $(PREFIX)/doc/inla/examples; + + clean:; -$(RM) $(OBJ) $(INLA) + +diff -ru r-inla-Version_24.01.18.orig/inlaprog/src/eval.c r-inla-Version_24.01.18/inlaprog/src/eval.c +--- r-inla-Version_24.01.18.orig/inlaprog/src/eval.c 2024-01-18 20:34:05.000000000 +0100 ++++ r-inla-Version_24.01.18/inlaprog/src/eval.c 2024-01-19 13:55:57.883885401 +0100 +@@ -34,7 +34,7 @@ + #include + #include + +-#include ++#include + + #include "GMRFLib/GMRFLib.h" + #include "inla.h" diff --git a/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_remove-hardcoding.patch b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_remove-hardcoding.patch new file mode 100644 index 00000000000..747e9e81781 --- /dev/null +++ b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01-18_remove-hardcoding.patch @@ -0,0 +1,44 @@ +remove hardcoded paths from scripts +authors: Denis Kristak (INUTS) + Kenneth Hoste (HPC-UGent) +diff -ru r-inla-Version_24.01.18.orig/rinla/inst/bin/linux/64bit/fmesher.run r-inla-Version_24.01.18/rinla/inst/bin/linux/64bit/fmesher.run +--- r-inla-Version_24.01.18.orig/rinla/inst/bin/linux/64bit/fmesher.run 2024-01-18 20:34:05.000000000 +0100 ++++ r-inla-Version_24.01.18/rinla/inst/bin/linux/64bit/fmesher.run 2024-01-19 15:51:25.789786893 +0100 +@@ -4,17 +4,6 @@ + prog=${tmp%%.run} + DIR=$(dirname "$cmd") + +-D="" +-for d in {,/usr}/lib64 /usr/lib64/R/lib {,/usr}/lib/x86_64-linux-gnu {,/usr}/lib; do +- if [ -d "$d" ]; then +- if [ -z "$D" ]; then +- D="$d" +- else +- D="$D:$d" +- fi +- fi +-done +-export LD_LIBRARY_PATH="$DIR/first:$D:$DIR:$LD_LIBRARY_PATH" + + if [ "${INLA_DEBUG}XX" != "XX" ]; then + echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" +diff -ru r-inla-Version_24.01.18.orig/rinla/inst/bin/linux/64bit/inla.run r-inla-Version_24.01.18/rinla/inst/bin/linux/64bit/inla.run +--- r-inla-Version_24.01.18.orig/rinla/inst/bin/linux/64bit/inla.run 2024-01-18 20:34:05.000000000 +0100 ++++ r-inla-Version_24.01.18/rinla/inst/bin/linux/64bit/inla.run 2024-01-19 15:56:17.584566196 +0100 +@@ -13,17 +13,6 @@ + fi + fi + +-D="" +-for d in {,/usr}/lib64 /usr/lib64/R/lib {,/usr}/lib/x86_64-linux-gnu {,/usr}/lib; do +- if [ -d "$d" ]; then +- if [ -z "$D" ]; then +- D="$d" +- else +- D="$D:$d" +- fi +- fi +-done +- + for f in $DIR/first/lib*.so*; do + case "$f" in + $DIR/first/libjemalloc.so*) diff --git a/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01.18-foss-2023a.eb b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01.18-foss-2023a.eb new file mode 100644 index 00000000000..6691aea2a24 --- /dev/null +++ b/easybuild/easyconfigs/r/R-INLA/R-INLA-24.01.18-foss-2023a.eb @@ -0,0 +1,104 @@ +easyblock = 'Bundle' + +name = 'R-INLA' +version = '24.01.18' + +homepage = 'https://www.r-inla.org' +description = "R-INLA is a package in R that do approximate Bayesian inference for Latent Gaussian Models." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('GSL', '2.7'), + ('zlib', '1.2.13'), + ('SuiteSparse', '7.1.0'), + ('METIS', '5.1.0'), + ('muParser', '2.3.4'), + ('Rmath', '%(rver)s'), + ('X11', '20230603'), + ('libtool', '2.4.7'), # provides libltdl +] + +default_easyblock = 'ConfigureMake' +# all components are installed from the same source tarball +default_component_specs = { + 'source_urls': ['https://github.com/hrue/r-inla/archive/refs/tags/'], + 'sources': [{'download_filename': 'Version_%s.tar.gz' % version, 'filename': 'R-INLA-%s.tar.gz' % version}], + 'skipsteps': ['configure'], + 'checksums': ['ad166a01b8d774d52e4e9a1dc94547439c263af6539605f47735d3a3cc294145'], +} + +local_gmrflib_buildopts = ' -C r-inla-*/gmrflib PREFIX=%(installdir)s CC="$CC" FC="$FC" ' +local_gmrflib_buildopts += ' FLAGS="$CXXFLAGS -DINLA_LINK_WITH_OPENBLAS " ' + +# enable linking with fake PARDISO library (since PARDISO is not freely available) +local_rinla_prebuildopts = "sed -i 's@src/tweedie.o@src/tweedie.o src/libpardiso.o@g' r-inla-*/inlaprog/Makefile && " +local_rinla_prebuildopts += "export CPATH=$EBROOTR/lib64/R/include/:$CPATH && " + +local_inla_buildopts = '-C r-inla-*/inlaprog PREFIX=%(installdir)s ' +local_inla_buildopts += ' CC="$CC" CXX="$CXX" FC="$FC" LD="$CXX -lltdl" ' +local_inla_buildopts += ' FLAGS="$CXXFLAGS -DINLA_LINK_WITH_OPENBLAS"' + +components = [ + ('taucs', version, { + 'easyblock': 'MakeCp', + 'prebuildopts': "cd r-inla-*/extlibs && tar xvfz taucs-2.2--my-fix.tgz && cd taucs-2.2--my-fix && ", + 'buildopts': 'CC="$CC" CFLAGS="$CFLAGS" FC="$FC" FFLAGS="$FFLAGS" LIBBLAS="$LIBBLAS" LIBLAPACK="$LIBLAPACK"', + 'files_to_copy': [(['r-inla-*/extlibs/taucs-2.2--my-fix/lib/linux/libtaucs.a'], 'lib')], + }), + ('fmesher-R-INLA', version, { + 'patches': ['R-INLA-24.01-18_fix-hardcoded-deps.patch'], + 'checksums': default_component_specs['checksums'] + [ + '6dadd25dff99862f6271513cb97330549b74e29580209c0b204cd93192f98507', + ], + 'buildopts': '-C r-inla-*/fmesher PREFIX=%(installdir)s CC="$CC" CXX="$CXX" LD="$CXX" FLAGS="$CXXFLAGS"', + 'installopts': '-C r-inla-*/fmesher PREFIX=%(installdir)s', + }), + ('GMRFLib', version, { + 'buildopts': local_gmrflib_buildopts, + 'installopts': '-C r-inla-*/gmrflib PREFIX=%(installdir)s', + }), + ('fmesher', '0.1.5', { + 'easyblock': 'RPackage', + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/Archive/fmesher', # package archive + 'https://cran.r-project.org/src/contrib/', # current version of packages + ], + 'sources': ['fmesher_%(version)s.tar.gz'], + 'checksums': ['f6f7af8a88e87d1b0580afbea5284ca1140124686356da72c51fb3929791f85f'], + 'start_dir': 'fmesher', + }), + ('rinla', version, { + 'patches': ['R-INLA-24.01-18_remove-hardcoding.patch'], + 'checksums': default_component_specs['checksums'] + [ + 'fca2bab58ad0bfd08422c06af8991a85f537caccbfbfe1bd6cb5e6892503c7d4', + ], + 'easyblock': 'RPackage', + 'start_dir': 'r-inla-Version_%(version)s/rinla', + 'preinstallopts': "export R_LIBS_SITE=%(installdir)s:$R_LIBS_SITE && ", + }), + (name, version, { + 'prebuildopts': local_rinla_prebuildopts, + 'buildopts': local_inla_buildopts, + 'installopts': '-C r-inla-*/inlaprog PREFIX=%(installdir)s', + }), +] + +local_bins = ['inla', 'fmesher'] + +postinstallcmds = ['ln -s %%(installdir)s/bin/%s %%(installdir)s/INLA/bin/linux/64bit/%s' % (x, x) for x in local_bins] + +sanity_check_paths = { + 'files': ['%s/%s' % (p, x) for p in ['bin', 'INLA/bin/linux/64bit'] for x in local_bins] + + ['lib/libGMRFLib.a', 'lib/libtaucs.a'], + 'dirs': ['doc', 'include/GMRFLib'], +} + +sanity_check_commands = ["Rscript -e 'library(INLA)'"] + ["%s -h" % x for x in local_bins] + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb b/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb new file mode 100644 index 00000000000..fbbc6f6be34 --- /dev/null +++ b/easybuild/easyconfigs/r/R-MXM/R-MXM-1.5.5-foss-2021b.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'R-MXM' +version = '1.5.5' + +homepage = 'https://cran.r-project.org/package=MXM' +description = "MXM: Feature Selection (Including Multiple Solutions) and Bayesian Networks" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.1.2'), +] + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', # current version of packages + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', # package archive + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + ('sets', '1.0-24', { + 'checksums': ['e75733f5c9418eb09fb950a4a94ccf84ddd88231c61ee80d02b7f0917debcac9'], + }), + ('relations', '0.6-13', { + 'checksums': ['f859c336fb0c4a2df7f294b33d1d04f95c6988e5e76933e2e70bf291d904d9da'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.7', { + 'checksums': ['8f86159a4760a7124e1c91ae0b022c7e496f81590ea4e4af702bea44e8dedf8f'], + }), + ('Rfast2', '0.1.4', { + 'checksums': ['494b777a86342aae0a6a5f0eb189337b846ef2929964672c0f010d93699d0d63'], + }), + ('MXM', version, { + 'checksums': ['943d7d3ff8496bad43329614922795b0777fa0787fdfd98f71d90a1a9c952497'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['MXM'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..fd091166b36 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.13-foss-2021a-R-4.1.0.eb @@ -0,0 +1,1074 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.13' +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': '2021a'} + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('R', '4.1.0'), + ('Boost', '1.76.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('ncdf4', '1.17', versionsuffix), # for mzR + ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.13/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.13/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.13/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.13/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 + ], + 'source_tmpl': '%(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 3rd June 2021 +exts_list = [ + ('BiocGenerics', '0.38.0', { + 'checksums': ['a692fe68256578fc1beb60630cfd45ffc3b003ad36801dce8970c4e9eba767cf'], + }), + ('Biobase', '2.52.0', { + 'checksums': ['79abe91af6c5c133582fd08d2035f65034ad90eae5b81b74fa147e6010e2e8e9'], + }), + ('S4Vectors', '0.30.0', { + 'checksums': ['98dce0f9a5f92419e6fa5ce4237e1b352c964b2ad4fd5afddbf108055eedbb6c'], + }), + ('IRanges', '2.26.0', { + 'checksums': ['7d1e8fcbd1f9fc9005765e216418d819775452a77e48a59b80347eb93047f237'], + }), + ('GenomeInfoDbData', '1.2.6', { + 'checksums': ['09209adea5f0ea69535b27710b191f2679f83ccc0bd4342a4d91a9dcf0f91f31'], + }), + ('GenomeInfoDb', '1.28.0', { + 'checksums': ['c36427b5689db58cb1489e6e6c0fd5ce1244ad6fb2d4bf1a7334e579a03e4d72'], + }), + ('zlibbioc', '1.38.0', { + 'checksums': ['3702d30db5ddb22ea2907f533509894b9b50a3d7e50dedfcf761fe29825b65b7'], + }), + ('XVector', '0.32.0', { + 'checksums': ['192b8175d836bf574254cf163580cc7f18fc6c3eb49f7136a057ab98da2383b3'], + }), + ('Biostrings', '2.60.0', { + 'checksums': ['fe0b28157ea2e11700f2b920f76d89d7f8199276a4a19e6478875070b9812d76'], + }), + ('KEGGREST', '1.32.0', { + 'checksums': ['8d5daf8823a1b906fb2222a0d0db947d06cffe728641278af5f18f0d441b6194'], + }), + ('AnnotationDbi', '1.54.0', { + 'checksums': ['f06a5df46a902a0fe7462ac4f2dddaa356a5729f85ec997bd6f01a85e381ff84'], + }), + ('GenomicRanges', '1.44.0', { + 'checksums': ['1da88df1a1bf9aa97ffc46fa70ccc329fa773e743e49f0e0b06ad2c65933ace3'], + }), + ('BiocParallel', '1.26.0', { + 'checksums': ['401297f6ea653be0272a8b3d6b656110b7bef269e132cfe373baf62e557b849f'], + }), + ('Rhtslib', '1.24.0', { + 'checksums': ['8e66aeaa25f3a1f87ec9fafcc54381664d55c0b7738029a260318982d27e9729'], + }), + ('Rsamtools', '2.8.0', { + 'checksums': ['05ab1ef36e9f5d3b4583929d5c461bc863aed9674fea0267edf58ebe5681302b'], + }), + ('MatrixGenerics', '1.4.0', { + 'checksums': ['ba88596471c750d3ec07f0f4ab359dc60dfcbb5e2d8f60a175bc88a0695203f7'], + }), + ('DelayedArray', '0.18.0', { + 'checksums': ['59e2f53c97ccac0f74015bbb50ba576da4afec615b1a9df0b6ece3268c10c370'], + }), + ('SummarizedExperiment', '1.22.0', { + 'checksums': ['2f58077942686218a01ef5645a41516a71eea7f666450a2b32713d69662cd79a'], + }), + ('GenomicAlignments', '1.28.0', { + 'checksums': ['e242de78aab5ba1d8f1d4f72801b5915cdaef544f017305fb709c12941083803'], + }), + ('ShortRead', '1.50.0', { + 'checksums': ['e372bcda18598826a445fc3116f7b226689e63fc717e680b0bbb40c306b7117f'], + }), + ('graph', '1.70.0', { + 'checksums': ['aa6701bad9af248cd4174e0874472244daa9f01e4d636ccd7c84cfd2500afac4'], + }), + ('affyio', '1.62.0', { + 'checksums': ['595ead901fa87b8b625ef94e727cccf31c042f2286288cb1010f2154355e711e'], + }), + ('preprocessCore', '1.54.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['40e4a5a458134ed5f126d39e16033cfeb6992455e52e91a6ae704ff2e902409d'], + }), + ('BiocManager', '1.30.15', { + 'checksums': ['f5cc1f7bf104731eeca316b7bd0a9b2d59368f5a757972f4435737a224017fd5'], + }), + ('affy', '1.70.0', { + 'checksums': ['35cfd9f609d1e09c40d8bdce7d72fb74203357416a517ccac4a032fc44f2e56f'], + }), + ('GO.db', '3.13.0', { + 'checksums': ['bd20844bd09913b1980818444ad264292dca647c99ea9124e30720ce75c45791'], + }), + ('limma', '3.48.0', { + 'checksums': ['ee8292947f271329ccd915d73fe36e0aa928e59b4611189b61d4eb1996a077d6'], + }), + ('RBGL', '1.68.0', { + 'checksums': ['c5fbe4e42d77bb78b364b8570613a0856129510a54243d9057449787dc8a8050'], + }), + ('org.Hs.eg.db', '3.13.0', { + 'checksums': ['d51b1db2ad1f02df9ab1e8ebb040f1fa8a33a8dbe8458fd384b81a2e6212962f'], + }), + ('AnnotationForge', '1.34.0', { + 'checksums': ['5dc133355a2707197d453462f85bb0ef9c20c9ad277176d24c00110f7c6cc3af'], + }), + # Is *deprecated* so not available anymore in release 3.13 and afterwards + ('KEGG.db', '3.2.4', { + 'source_tmpl': '%(name)s_%(version)s.tar.gz', + 'source_urls': ['http://bioconductor.org/packages/3.12/data/annotation/src/contrib/'], + 'checksums': ['2e60d1b664cbd1491cc00ed13a22904706c5a4651150f70daca04bf3ba9ead88'], + }), + ('annaffy', '1.63.1', { + 'checksums': ['9b4312b79b5488756b2ef82020b6f7c6994794988bd2fbf8ae6322db90c9381c'], + }), + ('gcrma', '2.64.0', { + 'checksums': ['b15f74347307818b1d07f4730de88079ac7ddd89d416d1ad664343a1135f8afc'], + }), + ('oligoClasses', '1.54.0', { + 'checksums': ['273e21d10d32532e73c16bea21854115ac004004ff5f218637901821aff34edb'], + }), + ('edgeR', '3.34.0', { + 'checksums': ['cff4a761756f03a96a14dee581baca7c2c1088f0bdf9b0b215e90a098d4f74c6'], + }), + ('PFAM.db', '3.13.0', { + 'checksums': ['56844cea1e3f2f0ab0b3f7d3e0a9170c0da6575588c7a819e82ffb2e1ddd82e5'], + }), + ('perm', '1.0-0.0', { + 'checksums': ['53c6ee598d5b7b04388915dddc5adf1f8f313b73c3bceb3708db7a632857e500'], + }), + ('baySeq', '2.26.0', { + 'checksums': ['6cad635fe196a739bfb9839e6c6d1690ff4036a8f1af2ec15f28382ba806cc43'], + }), + ('qvalue', '2.24.0', { + 'checksums': ['f55a09483db70a4cdcb26979daebb92d1711f9655fd98a883b1906e89c555a77'], + }), + ('impute', '1.66.0', { + 'checksums': ['33341ffd43051d3521b59d60c5ddc475453bfcc65b6bd61aa5b06f55c49ef95e'], + }), + ('shinyFiles', '0.9.0', { + 'checksums': ['51ad2aad61bcae22fb2c48a79d02bf6f86e36ffc49a3b64e26a76d133a955167'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.46.0', { + 'checksums': ['0a06703453f1c666a7251504ab739540746f7f122a83fcf4af9e4b865eab1216'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.34.0', { + 'checksums': ['69d3e7e790256dc871f54cba8ee2b83e3db643f79747d55bf584ebbfec88c0eb'], + }), + ('BiocIO', '1.2.0', { + 'checksums': ['f09625df03bbbe07ab8d7172696408bd8075e0ff2ee3db228c783a43fbb57c6a'], + }), + ('restfulr', '0.0.13', { + 'checksums': ['7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6'], + }), + ('rtracklayer', '1.52.0', { + 'checksums': ['1b3e9e8cd3ea7e6d13ea1dbcdfe1d7aeda0c459946bbdaae4f4d6acac0032c46'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.0.0', { + 'checksums': ['bb77b8e8de8df4e9a65abd459b45a8d44bc894308d6aad1e1e43cca52a24af7a'], + }), + ('biomaRt', '2.48.0', { + 'checksums': ['a5383f391a7bf5fb8078582d803e0ccf50e8e7fd0a5a6acbf1c16f3c4cfb14c1'], + }), + ('GenomicFeatures', '1.44.0', { + 'checksums': ['cf915a63b5154e5704a15fe46a922954b3f43d66fd183b57174767c7dcb6f478'], + }), + ('bumphunter', '1.34.0', { + 'checksums': ['5b604e753c1e387a704cc468bcb133ccedd33bf5d0c54e3a0819a3e8f8462372'], + }), + ('multtest', '2.48.0', { + 'checksums': ['2a718469c69022ff762badfcb5abe5ca665b86223049b12e0c613f4ac92e21f2'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.66.0', { + 'checksums': ['0e528edd7c95b4d82785c2a2ce24e1f660122c9171675784f197b95284036a53'], + }), + ('DynDoc', '1.70.0', { + 'checksums': ['9074872276017c04e5e7a2f5651ac4d9255156b236877cf7d04ab6415c1ed322'], + }), + ('NOISeq', '2.36.0', { + 'checksums': ['3f4ac4e23c6634ba01908500a0adff2af3cc830b6450c5e73c553f2f760ba5a1'], + }), + ('Rgraphviz', '2.36.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + '1a519beb85f931224d0afa5545724c2d302f5dfde7716259316191fc76c01d34', # Rgraphviz_2.36.0.tar.gz + # Rgraphviz-2.28.0_fno-tree-vectorize.patch + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9', + ], + }), + ('RNASeqPower', '1.32.0', { + 'checksums': ['0ad4cdd72d29d6b8be00d504ba6b01f44c5550b38c7747f019e8469de5f97d9e'], + }), + ('annotate', '1.70.0', { + 'checksums': ['e7eb71f67dbfd5813cd68485f452e2619a461024ed03bedae1ba18c84d2ade8e'], + }), + ('GSEABase', '1.54.0', { + 'checksums': ['7618e77120ce9531d019b00f71363b1be6fc3b105818d12daee9e83afd9c8624'], + }), + ('genefilter', '1.74.0', { + 'checksums': ['13138f8cac1da15fdc59b4e98a67152e3158edfb69b9a22759895db068bdc937'], + }), + ('Category', '2.58.0', { + 'checksums': ['3d9ceceef4222a0c44a4df716f249b4b0b70530500dfa2580d856104cfbae638'], + }), + ('GOstats', '2.58.0', { + 'checksums': ['8aa767c4626261001fa5b81418867d21f5a477bbc98fb98d13f9b98a8de75a4a'], + }), + ('BSgenome', '1.60.0', { + 'checksums': ['968504723d9933e561bac5da87d5c29e20bba8f623ff05aeb0393495aed611ca'], + }), + ('VariantAnnotation', '1.38.0', { + 'checksums': ['301b906e144e33d85582242e9147de5fd2c0e4099193dd80357a0d8524003931'], + }), + ('interactiveDisplayBase', '1.30.0', { + 'checksums': ['3b0abd6aee0ced9b7301791d62b21984504f5ba9e0427ea4598f6afa6ace2f03'], + }), + ('BiocVersion', '3.13.1', { + 'checksums': ['d1ad6a280ce314ff5b1b9e8daec9c41de6369a3fa1a3be7ee092ddf0c8435c67'], + }), + ('AnnotationHub', '3.0.0', { + 'checksums': ['97327df6693358d402b47e3ee39eb098268fc5e00a63a94327f8c8b3dd3827dd'], + }), + ('AnnotationFilter', '1.16.0', { + 'checksums': ['4a03a9a0af23e168c62bab17d0625731d3922755727123a296839e6d9494291d'], + }), + ('ProtGenerics', '1.24.0', { + 'checksums': ['d899a98099bea1abdf4c1a4ec31b0cb8b52a519df7c4fe0a17e820c12c9ae9b0'], + }), + ('ensembldb', '2.16.0', { + 'checksums': ['b209df28bbd45e89bfeac41e2ae6f40b5bd2acfdcdfd1e71a3f512da7f151580'], + }), + ('biovizBase', '1.40.0', { + 'checksums': ['43f008722d6ce1cf4ea644a9f5bc33074e7f55330e13092ec40ab6f7c6f35e92'], + }), + ('OrganismDbi', '1.34.0', { + 'checksums': ['b14f6ba963b20c4a73a8d9bc7da345babedf54e307f8b427898c37c8da650c5d'], + }), + ('ggbio', '1.40.0', { + 'checksums': ['9d46bb3f1b875979e49cfed9a30033daad1b74d082bd77ea9ed93f9e99ea6d4c'], + }), + ('geneplotter', '1.70.0', { + 'checksums': ['9fb47280dad9e486f1d36aa3e043e39881f7fe07cb05ed272f2efaa11c2d08b4'], + }), + ('DESeq2', '1.32.0', { + 'checksums': ['5f4d52e371d358ea047070398cde5b41ffd1f711562a298e5c60ab232bcf2b64'], + }), + ('ReportingTools', '2.32.0', { + 'checksums': ['b2d6367a073a0368154133042f4bb9246f5527fd2f29fe7aeba131ceb5fbdc6c'], + }), + ('Glimma', '2.2.0', { + 'checksums': ['4a43a2a97bb13ea14dfb0f70862c54a1ca10707a5c92497a68f5d7c82b465337'], + }), + ('affycoretools', '1.64.0', { + 'checksums': ['b0e569d8ff3c4662f0a068140301ce759d1c68d18338c87b0b768e7c7530a8b7'], + }), + ('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.42.0', { + 'checksums': ['bd7cd8e18591bc41cc5af8602ba6b8efb4e2fdda788f6cf6c5a02801de758760'], + }), + ('geneLenDataBase', '1.28.0', { + 'checksums': ['1f6678274dfa387baf27fb462f979ab18bf7d6131ae0d5c9fc791b6a36505134'], + }), + ('goseq', '1.44.0', { + 'checksums': ['1ac4737eafe357060310233258cabdbdfdeb3aea55878c4aca6865d2b5ee191f'], + }), + ('KEGGgraph', '1.52.0', { + 'checksums': ['1ad3699b4b271b9f233f7c11ac8b4a28281e77bc58d6f084fc73e40f0bbcad7f'], + }), + ('GEOquery', '2.60.0', { + 'checksums': ['5581713a5588f18d24e32d27d63d5753f6209c696af66137b2a50dd0d86a134a'], + }), + ('RSpectra', '0.16-0', { + 'checksums': ['aaf1cfc9ffe3a4c6684247899924e1c18306971dfef4bae1dc596a2fb42a64a9'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.16.0', { + 'checksums': ['3ca32e2a7c940828f82aaddd967372357d0fccaecaed780d1b782387732e31c3'], + }), + ('Rhdf5lib', '1.14.0', { + 'checksums': ['07d9c6bc5bc52c38ff6437853518940d37824e71c72b8dc5a21d926f49abf8fa'], + }), + ('rhdf5filters', '1.4.0', { + 'checksums': ['ec2dd94273dfec06f95d52366990fa18e4dc85d2cfb8d548bc9a295188067b8c'], + }), + ('rhdf5', '2.36.0', { + 'checksums': ['7f2adc8e8755fdf7ff0ea55fdf98ae3ed85eb406787440152a22b3e473e2b3a8'], + }), + ('HDF5Array', '1.20.0', { + 'checksums': ['2cef8fc8bba194afa0b84707bb699c29477ae84aa01cb478e78be2f2e985289c'], + }), + ('sparseMatrixStats', '1.4.0', { + 'checksums': ['99d9998a829984c1d9fc2e99abb461749b0d95d052a667a970f6e2e95abb9a46'], + }), + ('DelayedMatrixStats', '1.14.0', { + 'checksums': ['135f3a0618d7f84bb183311eb68430251ab1fdadaaf0eb46199514567f46260b'], + }), + ('minfi', '1.38.0', { + 'checksums': ['b24a9485c3c76875b3463fc585bc874a402f9d7e5cdd7ba7e0cbfcbceffd34a1'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.38.0', { + 'checksums': ['121f4fea4b220b11d7d1bbd1078d76adc1ec5e0564f20af9435d6b220acb81a4'], + }), + ('lumi', '2.44.0', { + 'checksums': ['02408f60eb6f389956d3810e1083c3452334d0d8a1b8754065dd5af79bec4d62'], + }), + ('widgetTools', '1.70.0', { + 'checksums': ['62b531a17e4333b66c47d9f94bffd77bffeb282ac57cd89f55247ae7df7ddda0'], + }), + ('tkWidgets', '1.70.0', { + 'checksums': ['c9d28b42a8b8ff08320476b5869c738ba9f86ddba7197057d5e978aca75da25e'], + }), + ('Mfuzz', '2.52.0', { + 'checksums': ['cb9301d13f8db26ef3035e2ffa2cc875b4636133610b5a4bbc19dbc287a5525a'], + }), + ('admisc', '0.15', { + 'checksums': ['27b7ce48026ec2b28b85870b07ad2d338488f39eb879e9a4bfadb7c78793d549'], + }), + ('venn', '1.10', { + 'checksums': ['65422a158cdc8581182d3d326e448e43ecc3764501a5dab1ccac1234b4f961e4'], + }), + ('maSigPro', '1.64.0', { + 'checksums': ['78055e87db33bff8fd507f189d6cf17207ffcc5c4f32bc3e5d55a3deee695ea4'], + }), + ('SPIA', '2.44.0', { + 'checksums': ['09f121cb778c71579fb516fa0a0f4b0fefdc4aeb5d6cb968ef2a15a63572fa6a'], + }), + ('Gviz', '1.36.1', { + 'checksums': ['e5dd779dc1149450a7e17d88ff8dd177f134ee2046ba06717ecd8c77c19192d6'], + }), + ('cummeRbund', '2.34.0', { + 'checksums': ['5d6aae3fc5a3e7f40be40739bc9dfa6b7ad985984699d60f637a355af3ae7bab'], + }), + ('GenomicFiles', '1.28.0', { + 'checksums': ['7e84594e8a76a173153fa1d482ba0200a3b7c83bb7b3ee0ba78a197e2a0990de'], + }), + ('derfinderHelper', '1.26.0', { + 'checksums': ['abfcbc154acb38363d9f70bb8916cbff0b9feaeac6c918f1a157d3d19deeadf0'], + }), + ('derfinder', '1.26.0', { + 'checksums': ['5b1054ce0d5e68e67b8b0bc7c67b79e774eaa1d2e736d7fab3d012ccfea81faf'], + }), + ('polyester', '1.28.0', { + 'checksums': ['c059e37a9ea0c9edadc213ec0874eec84e05adde9fbc0ebb08134841dcb9f038'], + }), + ('Rsubread', '2.6.1', { + 'checksums': ['c8fc4d32e0cf77bf05736edc1f9775eb2e69ad8251c937db07234138fb5ef700'], + }), + ('pcaMethods', '1.84.0', { + 'checksums': ['65556f989400c46ba0d85f24150bfee49f9012742e86269848be1d446cd798b1'], + }), + ('marray', '1.70.0', { + 'checksums': ['a628561c453d1afb50445bd2743af627939383f81f86616180476c7f31ccf572'], + }), + ('CGHbase', '1.52.0', { + 'checksums': ['4421e120d31622297f7f19151352e3b294e772be75b295da4933a0c4379907dd'], + }), + ('Wrench', '1.10.0', { + 'checksums': ['40ef65d4d7edb92cd1e88dfe4c6902e3b9866f6c1d4ba91560d967e515ae5a7b'], + }), + ('lpsymphony', '1.20.0', { + 'checksums': ['f6433dac3e6e7012f0c9dd873004e9bc0f30b15e4323cfe93fdaa35fee58842b'], + }), + ('IHW', '1.20.0', { + 'checksums': ['dc51f14ae444c419b93ad81fc6c7ba4c6d75640b5c9832e7cb767daf901a692c'], + }), + ('metagenomeSeq', '1.34.0', { + 'checksums': ['67a83c151b536b067568f7773964dbfd9d00f31fe2a2b47eb6d663258ce7dd23'], + }), + ('gdsfmt', '1.28.0', { + 'checksums': ['7e5326e82dfd589c2f79c345683f82d08867628b3c5bb0e4c44aedd3766c3885'], + }), + ('SNPRelate', '1.26.0', { + 'checksums': ['6a4d410903b8cefb3dbf3f7ab7e88c5ac226081c89f1df96d54c421704d27a54'], + }), + ('biomformat', '1.20.0', { + 'checksums': ['c96bd41b5afd0a0b9027a7f485a3d136958bf7b90dd47961d4b7aededa84faf1'], + }), + ('phyloseq', '1.36.0', { + 'checksums': ['f112e646382558fda90ecc7b4af770c42bfdb1463c82f5a6a4695bd701d84fa4'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('zCompositions', '1.3.4', { + 'checksums': ['ae22c86fe92368a26265933f42eecc518b9b69e7d9b698bc31bfaabfc3c48e95'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.3', { + 'checksums': ['25bc8c4028c021c7135bd86812265d2cf190bc07b3a412c4406f126c22adb0ae'], + }), + ('ALDEx2', '1.24.0', { + 'checksums': ['14181f57035004dbfad33c509109037862c26b951a90b2a6e3ba57677418e29d'], + }), + ('dada2', '1.20.0', { + 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], + 'checksums': [ + '85242fcf2c2f273d72a08869128f2e85d388c709531c1523c241ece8bb9d69f1', # dada2_1.20.0.tar.gz + # dada2-1.16.0-remove-sse-on-aarch64.patch + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935', + ], + }), + ('LEA', '3.4.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + 'ca58096dd7bcd104044314b50ed304ccb82af1adbd6f7aaf0c3cb04a0b56eb82', # LEA_3.4.0.tar.gz + # LEA-3.0.0_support_aarch64_and_ppc64le.patch + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881', + ], + }), + ('tximport', '1.20.0', { + 'checksums': ['2e0ab41a6e025acbb51e5681b470e10d91cc2c6f84f6a99f52c25dfd41f6e246'], + }), + ('SingleCellExperiment', '1.14.1', { + 'checksums': ['ffe10077c9617c469f5fb02cdf484f04d9ab10e9a7f1d73a714803ad41878daf'], + }), + ('beachmat', '2.8.0', { + 'checksums': ['0629aacb6631f5ed548f8c45da62d2bbf2ad7d011913db54f01a79b214d4e69a'], + }), + ('RcppAnnoy', '0.0.18', { + 'checksums': ['e4e7ddf071109b47b4fdf285db6d2155618ed73da829c30d8e64fc778e63c858'], + }), + ('RcppHNSW', '0.3.0', { + 'checksums': ['a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007'], + }), + ('BiocNeighbors', '1.10.0', { + 'checksums': ['fbe400f8214c4d51c953c1e56b00967b03322507090dd47f4f374a8e426c5132'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.0.0', { + 'checksums': ['06a8606f0ed6129d2bf6237c3fc00767e01635acce57c4ca5e1d2b1ef87626c9'], + }), + ('BiocSingular', '1.8.0', { + 'checksums': ['372b86f6cfc7bb087cfdcbcb7310cc80c432c17bdaa2145ad425b2f2077b1dd0'], + }), + ('scuttle', '1.2.0', { + 'checksums': ['e56b29639a1fa1702c4e96c2210f6eb98c56ae5485917654a8e2172b4a7db5ef'], + }), + ('scater', '1.20.0', { + 'checksums': ['450eb0ea7e768571c5047b8d6d1f9454483b664d894453160f247a57415bf766'], + }), + ('sitmo', '2.0.1', { + 'checksums': ['0c90d357af334d5c99c8956739dc12623ddd87dda5efa59f4a43f7393c87ed2a'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('bluster', '1.2.1', { + 'checksums': ['8f1aebbdd967cb85395194ca56650ddf6196a7ed2ddcbb009eb942ca77691f89'], + }), + ('metapod', '1.0.0', { + 'checksums': ['9b426dae5ef4c289ff5eb02cfdce7fe6e5d9112af101f81571d93fd44ce66cc1'], + }), + ('scran', '1.20.1', { + 'checksums': ['c039eae54a46a8c4b8eb035b6a5854b240d7bf6031a6331f42f826feacb99f46'], + }), + ('SC3', '1.20.0', { + 'checksums': ['9c421a02000f3687b1fe146b92a82d01148ba4f6143012d68f264b54bd2f3d32'], + }), + ('ComplexHeatmap', '2.8.0', { + 'checksums': ['2e102de57cbfb17b40276353eea88870c35b37281a99f7ecce4dda207535894a'], + }), + ('GENIE3', '1.14.0', { + 'checksums': ['2bd011e127b845bde1f8ec90521da831915dca7ae8ae6b47759c14f3d96fa4ec'], + }), + ('dupRadar', '1.22.0', { + 'checksums': ['ca4ece6a714bbbbf5daa62cd78cc3cfefd09eec7be946ccab058e4937295bdbf'], + }), + ('DNAcopy', '1.66.0', { + 'checksums': ['8d30c9b6475bcf954327aa97981551756cabd730e7752a5a384230e34840f855'], + }), + ('sva', '3.40.0', { + 'checksums': ['51ce2d1875715e5efeee98ed371ee730489728218d88d00f5cea6ad79667538a'], + }), + ('ballgown', '2.24.0', { + 'checksums': ['211eccb48e3356885dba01c29e2897296ab8cc789439a5081651fde72ef9c839'], + }), + ('DropletUtils', '1.12.1', { + 'checksums': ['298f644106103ad3efd64c34251af81544e38dbd28e0cb8f40e20548fccacf77'], + }), + ('DeconRNASeq', '1.34.0', { + 'checksums': ['e480ec254f26aedc439681faec66ebcf6ad00322786be31c72c2c4dd02093b04'], + }), + ('GSVA', '1.40.0', { + 'checksums': ['0207a189c2fadc3d3d953ce96f673861d5ec06fc8f8ca55e4b5eb334adff4d0d'], + }), + ('PureCN', '1.22.1', { + 'checksums': ['b953c53df361a1ef7ae23d3259628d5edb7b74078174a6b35efff1fa35ba851d'], + }), + ('globaltest', '5.46.0', { + 'checksums': ['3f0ae9b34de6e3daec896ed7583141e056186f45a5fc12957b86251af11429b9'], + }), + ('GlobalAncova', '4.10.0', { + 'checksums': ['320f1a7f36458d67a78eed6f5d7e700f7f34ef90c71cb5e2351df949bb53debc'], + }), + ('vsn', '3.60.0', { + 'checksums': ['5beb0d330a78e30430813344ef934012b34decd068598dcc18e8a33d07bcf75a'], + }), + ('mzID', '1.30.0', { + 'checksums': ['dabf9cca3d3b6bb3a4a8696def386af1be5fd3d898dab0b014c014d5b3335ef3'], + }), + ('mzR', '2.26.0', { + 'patches': ['mzR-2.22.0_use-external-boost.patch'], + 'checksums': [ + '772601b6e053df5a5eef85b98da1b7a5b411b2cfde73496276d9f70cb6ddbdd4', # mzR_2.26.0.tar.gz + '8b5ba4f0c4efbbab9b4801d7da3fb04a490a5d95af1cefb489f209afa4d14fb4', # mzR-2.22.0_use-external-boost.patch + ], + }), + ('MsCoreUtils', '1.4.0', { + 'checksums': ['a8dd139e14777e69851cdf50d8a787d5b6ad90db82b419aad1d2eb6dc451e88d'], + }), + ('MSnbase', '2.18.0', { + 'checksums': ['79d2d4e80984fbbe813c7c1fc576a4df2e4b318bc97938410567bd6fe409fafc'], + }), + ('MassSpecWavelet', '1.58.0', { + 'checksums': ['1f988dbae5037454be066829753aa58b0a38eb757033a07bb278fbf0a21643b3'], + }), + ('xcms', '3.14.0', { + 'checksums': ['9dcff26777cd5a9b9b87450dd8faa5391b2891236b995875985186ff261547bb'], + }), + ('CAMERA', '1.48.0', { + 'checksums': ['bed3d65914791907c604184312eb3d3819d8870ca3f6ca123a7735a9ab3e4688'], + }), + ('fgsea', '1.18.0', { + 'checksums': ['2d3d63bb30a735ae5138fe1fae68a05fbe0dbcc32bcd45ca3efb756b887f0dd6'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.58.0', { + 'checksums': ['7d9008700c0ae754d10d71d68d2819bf3bc83b0aeffb37da78c76c73239c005b'], + }), + ('GWASTools', '1.38.0', { + 'checksums': ['f759070b907b9c320cbfdd61705aea1bc5be5b60d2678c9c9fc1982728cc462b'], + }), + ('SeqArray', '1.32.0', { + 'checksums': ['016f523104bb07ca67fd7aac59bb754b246c531a20ca1d3ff72b9c6770918c5a'], + }), + ('SeqVarTools', '1.30.0', { + 'checksums': ['c7775c0c5db8ca644971d3c0b2bca0ef5705617354b1af160e41158e6e3735ae'], + }), + ('GENESIS', '2.22.0', { + 'checksums': ['a76a60d6d4deb6203fa3e0895f6519c259d08251320a71033dcd31c7edbc62de'], + }), + ('MLInterfaces', '1.72.0', { + 'checksums': ['eb669bf5d39a19d906cc2637537bd32f06203036254d15a56f10bbddf8d9ff46'], + }), + ('pRoloc', '1.32.0', { + 'checksums': ['b758b1d6a8e99de46b71629cbdd8212303b878f4198cb1a8efa4affbdf34dd24'], + }), + ('pRolocdata', '1.30.0', { + 'checksums': ['91482fb61a75ce87ee7a351b1676edac8d539d685d8e3aac465b744055afa8bd'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.1', { + 'checksums': ['85b9efef4d396698ba300e1f20f151ed5dc351e2391653d8eccbdd5bb77ead15'], + }), + ('shinydashboardPlus', '2.0.1', { + 'checksums': ['5b25b510b151a78e25ec679a8abf37ee1d21ca49e437fd0538f5eaa39bce78cd'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('shinyWidgets', '0.6.0', { + 'checksums': ['764a4876b4466dc10b85b43a91fe01359533b1b5dc1e177ca3d86918fe2e0f90'], + }), + ('pRolocGUI', '2.2.0', { + 'checksums': ['b6309ec2f9a0004e21adc277b164211d93bdc80d2bc31579e437a715d28e8f3f'], + }), + ('EBImage', '4.34.0', { + 'checksums': ['03221ccab083dc65ac2eece74e01e307b5201b141096ff9935a68d545eef6cfc'], + }), + ('GenomicScores', '2.4.0', { + 'checksums': ['dc74b41ca5e3f05c325cafb461112f28b1615dd392f2448e7cf164209d4009ad'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.0', { + 'checksums': ['6e2eb3bce208cc7766f0e0ef1e14465289d5463b34d94c9a9279256545b5408b'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.24.0', { + 'checksums': ['54dbf1302eacd1fee259dad6a20b688b9730d10e2335f0b4ebfe1acac657ff77'], + }), + ('InteractionSet', '1.20.0', { + 'checksums': ['ab1b458afdadbfc1b4b6e96a245901d754f9ceafed5a170e09f6185b658b9d0c'], + }), + ('ChIPpeakAnno', '3.26.0', { + 'checksums': ['f30d7eff4a1653fe96ace7f5e16f155e8cce011ccdd622f3c5e273b272d3d5f2'], + }), + ('seqLogo', '1.58.0', { + 'checksums': ['9755621d3a8725356573c63b40a98e1bdb9ff650bdec089ccb6b190683d4a388'], + }), + ('rGADEM', '2.40.0', { + 'checksums': ['f54b126363bd2b46ba9f56d3626a2efb9a25dac87b0048a69971168b255cb915'], + }), + ('MotifDb', '1.34.0', { + 'checksums': ['7f2c8123ef0cbe7e12ce4670139cf3bdd5e96b14ccf95fd25b98055ecb7b9511'], + }), + ('motifStack', '1.36.0', { + 'checksums': ['f78da2a47c8d8aa045d1be2da456fddd16e849677684547d34641f5e2722c37a'], + }), + ('ATACseqQC', '1.16.0', { + 'checksums': ['b4cfc602a77aa6fc69567af995fdcda3770d9d6f2e5a1fd4952e7f09671f0f99'], + }), + ('ResidualMatrix', '1.2.0', { + 'checksums': ['3becaaa3d668e4a64852b140118e6fc7b212d74c074d76ba554602ae5250fb5c'], + }), + ('batchelor', '1.8.0', { + 'checksums': ['0a474dc558f73c26ad096e6f31a42d956fb916d334151d18ad75d4713901a2f6'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.56.0', { + 'checksums': ['5de0e1baaf497b10fc5f496a881b3349abe6606b4d13dc6a28daf54e02dc51fb'], + }), + ('R.devices', '2.17.0', { + 'checksums': ['c2d4b12949e0faab414c9f7575e39ee9dbf50ea12d858143df529f15ea365fb6'], + }), + ('R.filesets', '2.14.0', { + 'checksums': ['707dd7c099aeadbecebbd2ba57e6400405aa44487c641f3729ce06c4c642bb23'], + }), + ('aroma.light', '3.22.0', { + 'checksums': ['c50f8be7d7b6bafca440fdd54c957ac0c288904fd69115e996f13274033578fb'], + }), + ('PSCBS', '0.65.0', { + 'checksums': ['3365065d5375c599eb024bfff12c5f6b10a6b1a4fe4ba6f200f7e83618dd399a'], + }), + ('aroma.core', '3.2.2', { + 'checksums': ['35e0312e403a1894da036afac12d1d727c937e666d7eb400bfe4018b21244855'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.0', { + 'checksums': ['87513774baeed8e1d43f819e615c85278aef748ebc842f1ee50686c3392e37d1'], + }), + ('aroma.affymetrix', '3.2.0', { + 'checksums': ['d279cf13cf6ed8369cfdf6682ace12924379bad578003453449aa1ccec31b0a7'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('Repitools', '1.38.0', { + 'checksums': ['7464394ebd039cd1d57e242ddb71bf02fa35a6d0dc9aafae04c834e021c36a50'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.3', { + 'checksums': ['c29911ca93935e3b9aa6a67e894337dc2ad707405da1500c9898bd0578519ecc'], + }), + ('MEDIPS', '1.44.0', { + 'checksums': ['3128cdc286275faffc792c4a6cf08562cad072be6b9c8595d52353f06151a750'], + }), + ('RProtoBufLib', '2.4.0', { + 'patches': ['RProtoBufLib-2.4.0_fix-protobuf-build.patch'], + 'checksums': [ + 'cb2e6eba5fabea2f3ecc9a97ae25d54f2b5ad14ed08381a83db612af4ed2cdc3', # RProtoBufLib_2.4.0.tar.gz + # RProtoBufLib-2.4.0_fix-protobuf-build.patch + '379e0227b22ee027de3ab22be9667f358de7d176f74aba598e5a3cbf41dc99a3', + ], + }), + ('cytolib', '2.4.0', { + 'checksums': ['db92fc4dc0f0e8546f692b07eb1c1ab12f568705e46b87bf6b6844b039fe8772'], + }), + ('flowCore', '2.4.0', { + 'checksums': ['cc92e084d693928e034bcda4f844eb9545589b5fc6c77637ac3d8f12fb5cb78f'], + }), + ('mutoss', '0.1-12', { + 'checksums': ['2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa'], + }), + ('mathjaxr', '1.4-0', { + 'checksums': ['ba57378236d593a39c5839054adc5473526de0c8f05b7eeb87c99438496ddc67'], + }), + ('metap', '1.4', { + 'checksums': ['5fac23d823d0ad4eebc3f97620364e25f7b41f8d0c3579f6c09ec059940b85a5'], + }), + ('uwot', '0.1.10', { + 'checksums': ['6ee1b6027bce679cd5a35f647f516a5b327632234bcf323c7f3d5b5e10807d23'], + }), + ('scattermore', '0.7', { + 'checksums': ['f36280197b8476314d6ce81a51c4ae737180b180204043d2937bc25bf3a5dfa2'], + }), + ('sctransform', '0.3.2', { + 'checksums': ['5dbb0a045e514c19f51bbe11c2dba0b72dca1942d6eb044c36b0538b443475dc'], + }), + ('SeuratObject', '4.0.2', { + 'checksums': ['64ee97a221ccaa0bbdc1890da9d3e9cf5b3b9fab037095cfb757db5bbb69cb1c'], + }), + ('Seurat', '4.0.3', { + 'checksums': ['75d98696d0cee22eac5154ac26ef94accde5a5b0a140f3bdd60265322d9edfc9'], + }), + ('ALL', '1.34.0', { + 'checksums': ['6c376f3360bbb0aad4b5aad9655cb95d2f9d33a1abd2ba4533bee803988d8b63'], + }), + ('ConsensusClusterPlus', '1.56.0', { + 'checksums': ['0b496182208b41928caeea4cc05f0d66e20bceed8f815aa5d2996f6f41c97698'], + }), + ('flowViz', '1.56.0', { + 'checksums': ['3b30dc5b6ade5880afd3127643314f3b2f86d6ec35ef07e72ff70aee7927a09f'], + }), + ('ncdfFlow', '2.38.0', { + 'checksums': ['c0d9ec37b275e98f717f6ac063a594358a23a4e77bbdca4fb6369bed2c46a8d2'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.4.0', { + 'checksums': ['a933b1526f9090218ed0394e71541bed1cff73b07fadb6c11febf1cd9a5838a9'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.6', { + 'checksums': ['63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '5.1.9', { + 'checksums': ['c8bdf4bd285100c4c7ee89bb67df96dbf1132c1cf2c9ee85c59cad52b696597a'], + }), + ('flowStats', '4.4.0', { + 'checksums': ['a60b93ea5f06f1b225f5e945918f9210b8f789ffa08d0f0e13a55658f1a925fb'], + }), + ('flowClust', '3.30.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['cb9cad23d3dca1c30fba10af661efd63395c49b9bc2b2af55493f799f3adba0f'], + }), + ('openCyto', '2.4.0', { + 'checksums': ['bd20a444c91c4d3e045246a0c5bc33af1f55312fbfc4834b783287794b0b59dd'], + }), + ('ggcyto', '1.20.0', { + 'checksums': ['eff273fae7b6676413dfa2176780b09a3a5b8f5fedb1457abcd67e5209aaa649'], + }), + ('CytoML', '2.4.0', { + 'checksums': ['27e640d0b232df06518c0ac7728d86bfb0e5e4f1d87c1e8ce768de686b3dbe47'], + }), + ('colorRamps', '2.3', { + 'checksums': ['3f10eab0602a42a2e5a79c7c04638be06cbf1e6f23979a1bd95d853e10940b6a'], + }), + ('ggnewscale', '0.4.5', { + 'checksums': ['021c36230ab6a7e90ac47f70ad26c27e2f68e8c109e31d3df2988af694d35ec2'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.0.0', { + 'checksums': ['02518842b746b40a1d66bc20cd4cfae4b449eea3548ec442f335263edeb907a2'], + }), + ('HMMcopy', '1.34.0', { + 'checksums': ['0277c63e16826ae33a445b1f1e854a354133a451510101d019afb237d26654de'], + }), + ('diffcyt', '1.12.0', { + 'checksums': ['e30f011f466573e965e7a584a05aeba60f46e3179d7865ffc85d5974af886122'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('variancePartition', '1.22.0', { + 'checksums': ['f2df15335a81fc55225b05c031dcc98247caf9a4df099d67e5faa277d3131edf'], + }), + ('muscat', '1.6.0', { + 'checksums': ['586c88bd14c23ab0593457a4bf9c89a480ba5d517728251f38ad800e05b6a73e'], + }), + ('IlluminaHumanMethylation450kmanifest', '0.4.0', { + 'checksums': ['41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763'], + }), + ('IlluminaHumanMethylationEPICmanifest', '0.3.0', { + 'checksums': ['e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a'], + }), + ('IlluminaHumanMethylation450kanno.ilmn12.hg19', '0.6.0', { + 'checksums': ['249b8fd62add3c95b5047b597cff0868d26a98862a47cebd656edcd175a73b15'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b2.hg19', '0.6.0', { + 'checksums': ['4decdbc78a6a8d02bf8aecb0d6e1d81134ae9dbc2375add52574f07829e8cd69'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b4.hg19', '0.6.0', { + 'checksums': ['2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719'], + }), + ('conumee', '1.26.0', { + 'checksums': ['82f0e066ac038fead0f800c1abc5e2a54ad8b655504b5bc6619627ae7f39ee31'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.0.0', { + 'checksums': ['e402f25a540cb68e1c67324fa668beab4c9999edcb1ef1a11fc35100c2e0f5d7'], + }), + ('SingleR', '1.6.1', { + 'checksums': ['d66d4c355edf6278616b5164528e651cb3e012aa5c505b49dfe6b53090b51198'], + }), + ('FlowSorted.Blood.EPIC', '1.10.1', { + 'checksums': ['7e791e844585b0deca8a879f2c1283cc93590e137441b38ce9f6620ccf68ccb3'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.8.0', { + 'checksums': ['b7c78d61f6f2dd823027207bb0ca07b9a4e24c0be12690bb0c46f2852abb7f1d'], + }), + ('DRIMSeq', '1.20.0', { + 'checksums': ['a4295a0beb2d0a0717219fa3a7455c9a5fc9e2d5c2e238a7b366133d29695ce7'], + }), + ('stageR', '1.14.0', { + 'checksums': ['43a0eec22328571697eb72cd56be56784844b70a5c0841f47a79ab0d9c859cc2'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.13.0', { + 'checksums': ['94fcdf89df0f1174eb92327cfc3918f7a1b62be09240926b90b423dcae19ffcb'], + }), + ('org.Rn.eg.db', '3.13.0', { + 'checksums': ['748382f57ea49cc06af44bc89e47443c9694554a9657bd567ee8c982d0111dfd'], + }), + ('ROC', '1.68.0', { + 'checksums': ['4c6640e9f711bc07f03a3be5b0f55cc30a50418d542bb89cfef22def2fcbc539'], + }), + ('wateRmelon', '1.36.0', { + 'checksums': ['fc1f6197df7342b0061e7c77261bdb9622ec1678916b8448c66b0c67c14759e1'], + }), + ('GLAD', '2.56.0', { + 'checksums': ['1deeb411fea9a240e79989ae8d84f18e218c2d36f4d7f2b919386ae35276d741'], + }), + ('missMethyl', '1.26.0', { + 'checksums': ['f1204a2b1d57a35f823cc7ceb4d6547a1811a914a43390023e51df94208fbfea'], + }), + ('MethylSeekR', '1.32.0', { + 'checksums': ['b4268bfd304f5362771e927faf4827ff9b0b9b08f1901b390e68787bd95a3e5a'], + }), + ('affxparser', '1.64.0', { + 'checksums': ['3480b9cf9b73240630dba3fa29bde1546324e7c62f26da3107fce34f5ff67e58'], + }), + ('ccdata', '1.18.0', { + 'checksums': [('de24c7205723067599de8b7dbec3c8488c9fcf8cbac7948966a82c22bab4ea6d', + '48c5b1c054972b5ad720e3cb3ad9fe02b0a9fe39590681450c2dbadecaea1e95')], + }), + ('lsa', '0.73.2', { + 'checksums': ['cb0017bbda9b0eb1d05b451e0f557d02f789f65b2f8bf005606b63a3708e63a8'], + }), + ('ccmap', '1.18.0', { + 'checksums': ['aabb5d13dd5aecb3b5fea1f6bce2b80aea3ea298023ecb1bf34ef53296b73eed'], + }), + ('oligo', '1.56.0', { + 'checksums': ['540d494d80c6fcaeab7928452dc908ba536a2186902d2eb782e96853e339d83b'], + }), + ('SMVar', '1.3.3', { + 'checksums': ['17625e89eb8be7a6dbb77e6bd9daca1ea1acff69026049f213e30edf2325999f'], + }), + ('metaMA', '3.1.2', { + 'checksums': ['01851d9632cdf1988d6a43ba44500e51477b9b25d5df1e1da488cd800df85ed6'], + }), + ('randomcoloR', '1.1.0.1', { + 'checksums': ['cbae51a47a92b2cc3d5ab48877818404429fb73fc795430ec622a8dff20f1067'], + }), + ('shinyBS', '0.61', { + 'checksums': ['51be29541e066d30c66e243393f20b0da705eba1b7ce7eeadea993bb2aa91166'], + }), + ('shinypanel', '0.1.4', { + 'checksums': ['f98644118a582aed4149920beaeac12851ae2cacbd3cbe46f547620f9dbcae41'], + }), + ('crossmeta', '1.18.0', { + 'checksums': ['acbcfaf2858c6cbe85ef5bc6d2f5b366245381c11b42fe706280f9a83bae0f5d'], + }), + ('snpStats', '1.42.0', { + 'checksums': ['6fbc2bd815494e28ca1d1d64b2297fcec74eee75732b2bae937ecfe40b8c7b87'], + }), + ('coloc', '3.2-1', { + 'checksums': ['b01c8fd81e4c4d766606e546482482d07ebe9e46e12538a1661bc685a2aca26a'], + }), + ('SCANVIS', '1.6.0', { + 'checksums': ['d8aa379f1274ef4f52078c9ad72cb9045a0e32fbb984226d0e9ef3010b8429d6'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-3', { + 'checksums': ['e9b16317f7f97c8af5d5edcf414ff209114bfc76329e06701fffc279eaa21f8e'], + }), + ('bookdown', '0.22', { + 'checksums': ['1fe466484e0ef8d413180bede8b89ec1399e40efa672c72c096ef06a46e50049'], + }), + ('BiocStyle', '2.20.0', { + 'checksums': ['3f781f49bbf593f9bcb5487d8552627871a03debd2c287570487093586875f18'], + }), + ('estimability', '1.3', { + 'checksums': ['a33179c5fbd6a1a623d90cb6f1743148f92c09429fac466867f3ea70946a2e32'], + }), + ('emmeans', '1.6.1', { + 'checksums': ['94e35de9d97ae07fdeafa89d1c861ab66d891479d35d4406376546e10c0e500b'], + }), + ('ggdendro', '0.1.22', { + 'checksums': ['f0a65f3498c1abc3076df0fb56364b63bdf5d212d8931f85bcc6997510916b6a'], + }), + ('pmp', '1.4.0', { + 'checksums': ['20fccc9ace7fbb0f5375240fcb2c69587f60c33e6ec685f89c092f013c71cbd1'], + }), + ('MultiDataSet', '1.20.0', { + 'checksums': ['d235d69b02b55850cb6545d2bad1d3bbfc77472386edc63bcea0f8fa3a20d3c3'], + }), + ('ropls', '1.24.0', { + 'checksums': ['abcc7dba829c34c4ca74b7b5fb798c88130e5281da176d59fb5852cf7d9b29c9'], + }), + ('ontologyIndex', '2.7', { + 'checksums': ['33f4918cafb983635f9f831553daf15e10103dc375475e170f104a8eaf0e7048'], + }), + ('struct', '1.4.0', { + 'checksums': ['4bf66c88e905e8fead7c46453c9987653b940fd83e3545097b42411f1746c625'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.4.0', { + 'checksums': ['59b8d36e55e81e5db4100aad91d43e5606fdb4037074685b40f20f1102b41c77'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2', { + 'checksums': ['1a1f54d6b0dca6ae83e3f729a1895c91c58bfe55427dacc50ddb0d2c5d32a9f6'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.2.1', { + 'checksums': ['626e976bef3f4647dbbb7adf2a0d4d650c4b24827f3e09f5f8a9e6fe0dda4bde'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.28.0', { + 'checksums': ['533c7a3053e6b3de8d8e52f7d80cbc06941ec5d2898165cb6d49cc539d7e808f'], + }), + ('DirichletMultinomial', '1.34.0', { + 'checksums': ['546be33fee6b05291ca9fee856538125f259ba7750f91db091df510006907546'], + }), + ('TFMPvalue', '0.0.8', { + 'checksums': ['6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841'], + }), + ('TFBSTools', '1.30.0', { + 'checksums': ['596d30e5ca511035ca0c5a89af83292e6408f680bba50f146548646fc5966fab'], + }), + ('motifmatchr', '1.14.0', { + 'checksums': ['75594c5591aebbdb9d9f15d35c653118e518d2791160dd6ff8926c4a6e1b2eee'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.1-10', { + 'checksums': ['44979f16803806419a94a6b0daeac812f4e7bd52d2fff11561fd4bbc41353b7c'], + }), + ('qap', '0.1-1', { + 'checksums': ['60bd564bb0e6325de44351af33870177d84b1c00ded142a2efb12a16a20d4d34'], + }), + ('seriation', '1.2-9', { + 'checksums': ['8b9279caf60755377ee9023971bff33634f7bb9c055d4ebb493b648512b09dbe'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.2.1', { + 'checksums': ['2dddf6741eaaa49c1354b7092ded5ac6d06df9d6accd879c16c6731bed745743'], + }), + ('OUTRIDER', '1.10.0', { + 'checksums': ['4180041609e3668232155df1ce3658735d2825ca2116e4e13ce687c112176cef'], + }), + ('FRASER', '1.4.0', { + 'checksums': ['5205d8623ce0e5629a49aa092e4aa3350fc5d1a4575130400b1e61115f56cb0d'], + }), + ('GenABEL.data', '1.0.0', { + 'checksums': ['2c28d5df63ae13545cf7aea6ce5f22ae1bbb58219fdaed6c1d5d5affc072c65c'], + }), + ('GenABEL', '1.8-0', { + 'checksums': ['434fc806b918738ec67171a37a47099d1706332819317e368fe0ccb8f149a469'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.14.0', { + 'checksums': ['5936a7b33d7afb144e4bcfb99bece7de51d01063804c9032107132aaf060aa61'], + }), + ('RcisTarget', '1.12.0', { + 'checksums': ['eef8c2e328b4b10951fad9174786ff6228455845ecdda5bfc98f6abb43a000fa'], + }), + ('NMF', '0.23.0', { + 'checksums': ['0f0cca01b37bf46fce90d2e951df609d3d377908aa607825083fd0c47cc24753'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..e6a7f8828df --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.14-foss-2021b-R-4.1.2.eb @@ -0,0 +1,1107 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.14' +versionsuffix = '-R-%(rver)s' + +local_biocver = 3.14 + +homepage = 'https://bioconductor.org' +description = """Bioconductor provides tools for the analysis and coprehension + of high-throughput genomic data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('R', '4.1.2'), + ('Boost', '1.77.0'), # for mzR ###### + ('GSL', '2.7'), # for flowClust + ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.14/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.14/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.14/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.14/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 + ], + 'source_tmpl': '%(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 1st November 2021 +exts_list = [ + ('BiocGenerics', '0.40.0', { + 'checksums': ['d045577f491676583a5faca014af9774d993fffb999fdab3b3790a8732e9255b'], + }), + ('Biobase', '2.54.0', { + 'checksums': ['9c3fa69a195ff3001c3614df6b3995a8064083919dfdb4fba1e57aa5de14594d'], + }), + ('S4Vectors', '0.32.0', { + 'checksums': ['09b00dd57bd291f4018163ea1f0fe65e8d87ce15320e1990eac9059c31eda1fe'], + }), + ('IRanges', '2.28.0', { + 'checksums': ['ef860c47be9fbab4a5f413d17401d17ab910ce85b9981058609cbbc5c310fa1f'], + }), + ('GenomeInfoDbData', '1.2.7', { + 'checksums': ['217cbad0dd3ed8f0da6b21c7d35df5737bcbd21e317ca71d2fb6ec4c316b1987'], + }), + ('GenomeInfoDb', '1.30.0', { + 'checksums': ['da1a0d06fc4a0d6e549c74d9351eecf0f46d23f85a375e42ed18129e3e5d1ce4'], + }), + ('zlibbioc', '1.40.0', { + 'checksums': ['1276702b631a9fb50a68364ceae30b52d2076f8f7d7d349291ad7f54fea10d28'], + }), + ('XVector', '0.34.0', { + 'checksums': ['80096b1ef4156e0af1072fcb327c72408230e866e0c9acc59489bb68ebc3241f'], + }), + ('Biostrings', '2.62.0', { + 'checksums': ['b88fae10bf1bd98b658503dfb21c8ebf0f4eb2ab4fec52581ddfcd3a0ce21387'], + }), + ('KEGGREST', '1.34.0', { + 'checksums': ['e988ab805547e542f468bbe0a423f05e9416eb7ba60470e05429ce7c6688e3da'], + }), + ('AnnotationDbi', '1.56.1', { + 'checksums': ['0f27191cf64063e8e8153d4aa955e73adabf99a08198f28721bffab3d82f70eb'], + }), + ('GenomicRanges', '1.46.0', { + 'checksums': ['c259366e0074141cbeaf0070cb56c6b718d66b9983f935949e2740e4d8afcd0d'], + }), + ('BiocParallel', '1.28.0', { + 'checksums': ['46e5bbdef307b354515c4650abbac1f697c4a6200c620002ff36f27be55d0f4b'], + }), + ('Rhtslib', '1.26.0', { + 'checksums': ['24bba61616e7d4fc57fda86172486b92ffcae31d1a7183d7b8ee29e324ff955f'], + }), + ('Rsamtools', '2.10.0', { + 'checksums': ['d02799a7883b801abb5c0399e22a18f116bfb8dc41bbeb0870a9ed58881ccb6c'], + }), + ('MatrixGenerics', '1.6.0', { + 'checksums': ['e3078d2873d7df131557d1ec8ad0900479f43ae23eaac536c844c89a33bae5e8'], + }), + ('DelayedArray', '0.20.0', { + 'checksums': ['f272d2ca627bde399274d93c6fc397dec6fe6a1bf8cc98ffc111ee1a00fca6b2'], + }), + ('SummarizedExperiment', '1.24.0', { + 'checksums': ['aa8864655e3a0efdbcdd6554282126112eedcf91a52b70993b7aa71895e8f662'], + }), + ('GenomicAlignments', '1.30.0', { + 'checksums': ['09fba64038a4c868a6d4afa3d34d6ce472dcf71c1cccf75a5d68569274d493cb'], + }), + ('ShortRead', '1.52.0', { + 'checksums': ['5dcba7ecf069db6d3caa100a7f0ac56222bf919852de1769e2668fc64bd827dc'], + }), + ('graph', '1.72.0', { + 'checksums': ['000ab6023bdb49d254fccb12b0486a8324a9bec2b6a7c4cdb3b5d788c7a76174'], + }), + ('affyio', '1.64.0', { + 'checksums': ['75d333ba33299353e77aa909ab4361f8563deaa41442bf7072b35106116e980a'], + }), + ('preprocessCore', '1.56.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['7db82d625c6cb7bab6c140c70034d4a9c3ed99d9745c9f63559f5fa370db23c5'], + }), + ('BiocManager', '1.30.16', { + 'checksums': ['75a754a55192ef6aa6ac9b054fd5381ff03fe6bb8b2e033eb8143da930ef3855'], + }), + ('affy', '1.72.0', { + 'checksums': ['aa04b7372723a429713d73ef48d75b1388d5a5ad73a92e441f100820acbfc67c'], + }), + ('GO.db', '3.14.0', { + 'checksums': ['45d0a681a662667d45b2472d160b72f7058ad0a28dd0ca24742e11ddfd87d8e7'], + }), + ('limma', '3.50.0', { + 'checksums': ['7ebf4d7e1b7f2dd6eecf6c0c830b0a86ff0f3b0fc6f625c8b7c11b1dbaaad717'], + }), + ('RBGL', '1.70.0', { + 'checksums': ['60760abe0d168d02e4f7ef57b6197ab3f48c50daf42425c8b1a4c7dd380d574c'], + }), + ('org.Hs.eg.db', '3.14.0', { + 'checksums': ['d22c7e6b13f89488d10bafbf7eacdb6b7aaa697c131ed73f601a502ac86ecd56'], + }), + ('AnnotationForge', '1.36.0', { + 'checksums': ['5f4716afa0ebedd5caeeccfb42e5c7e48fd32a71e59d634c6c1198824bb49b0b'], + }), + ('annaffy', '1.66.0', { + 'checksums': ['1469527b920af9272e5450c8de93402eb4a34477d783d6f22a008453f6193233'], + }), + ('gcrma', '2.66.0', { + 'checksums': ['01807197ba5d354ebe739494b5fbe99743ae3d7c1eff261b666b6ae322a1ed40'], + }), + ('oligoClasses', '1.56.0', { + 'checksums': ['c48804225d41e1b82397669523d9015b01fa4854933b2b4a018b47ae537042c5'], + }), + ('edgeR', '3.36.0', { + 'checksums': ['732b5ed10095abc7e1ba972f4ea033818d967354c53b3e0b8750ee145d9b28b4'], + }), + ('PFAM.db', '3.14.0', { + 'checksums': ['25c1915079e8f93d04e2cc1ab791f7f47813aaab5ac394feaf57520bb292d616'], + }), + ('perm', '1.0-0.2', { + 'checksums': ['729294987bb0f367c67c4bf4071464e097ec9a2bbdb2c63f19ebfb907c604aa0'], + }), + ('baySeq', '2.28.0', { + 'checksums': ['19b5cd9837bf3711926b87674fa8083bfe6fed74ae76a931279fb183c4e2fdfd'], + }), + ('qvalue', '2.26.0', { + 'checksums': ['6804cb61cedf07358883cae09016e86e15f2390d8d94974fd78e266471c5c2d6'], + }), + ('impute', '1.68.0', { + 'checksums': ['4562070e74b4a2780bc3ea331efb7266ac1749a41d9e7a50c6e53e49118dcd4c'], + }), + ('shinyFiles', '0.9.0', { + 'checksums': ['51ad2aad61bcae22fb2c48a79d02bf6f86e36ffc49a3b64e26a76d133a955167'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.48.0', { + 'checksums': ['5608775f8eab60e63c4539679eeef669d566036c67857c2733229c198eeca6af'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.36.0', { + 'checksums': ['958c397dfe78c2d2e3acf85b5e58a29b587841212c41d151cbbb540582b99a45'], + }), + ('BiocIO', '1.4.0', { + 'checksums': ['d9e5ced69af81d5f53c288bd7347327802681c10e7932e3dc7472e1d4cdae6e1'], + }), + ('restfulr', '0.0.13', { + 'checksums': ['7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6'], + }), + ('rtracklayer', '1.54.0', { + 'checksums': ['0c5e46ca04c2956c0d9d5ba4a946f8c121370751dec47b59ac0d0b95e14c7085'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.2.0', { + 'checksums': ['81e1807f11226e3fb8a14e0080aaec931fa0aa1642ec000983e488fd2af60a87'], + }), + ('biomaRt', '2.50.0', { + 'checksums': ['b8ec32df4a6697a9b2fb0cfd2c0bd32b712b895c6dffd802c9435e5461c43c19'], + }), + ('GenomicFeatures', '1.46.1', { + 'checksums': ['dbcb1b07228f42de590c62b1fbfebf724035b81363ac72ff473590797222a0b6'], + }), + ('bumphunter', '1.36.0', { + 'checksums': ['fbf54448fdbf6dde6e1105153290e5c76a0476748cc0618b540ceee37bfaac34'], + }), + ('multtest', '2.50.0', { + 'checksums': ['daced40b138659b02c265605081b8481c30717c768821f1fe71685f14e0ee70f'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.68.0', { + 'checksums': ['a9c7ea334c9ef6890707b228e1fea67be34e0c89141ee97c9993db1059b9d5bb'], + }), + ('DynDoc', '1.72.0', { + 'checksums': ['1506f73275fa0008e38a66f007fb1a01e6170ffceac158358667af9a259ba1c7'], + }), + ('NOISeq', '2.38.0', { + 'checksums': ['db944151c4e9c7a6cd0b7db05a2e3f439ce1c332c8dd261f24a83ee291fbbb56'], + }), + ('Rgraphviz', '2.38.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + 'e786bd853185368e6b7b591881023b1e45a8adebaf7faedcf87c4275970fdb3b', # Rgraphviz_2.38.0.tar.gz + # Rgraphviz-2.28.0_fno-tree-vectorize.patch + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9', + ], + }), + ('RNASeqPower', '1.34.0', { + 'checksums': ['ae4f78438c05f4eb8b60eec59e27fdb823bce39d90e5765dcd890c707312aa42'], + }), + ('annotate', '1.72.0', { + 'checksums': ['04399dfc9bd250a306667b66d897bf7a18627f7b1992b7c5c10380331b2cf85c'], + }), + ('GSEABase', '1.56.0', { + 'checksums': ['a6118780b20b808d9c2c696f9b0cea5ea0cd1bf546116a51bb62f6a7b6cf19c5'], + }), + ('genefilter', '1.76.0', { + 'checksums': ['c21b3c778a61c4fd85c4c157755fcf9ba636abac6658ad2809e4b594ea186a15'], + }), + ('Category', '2.60.0', { + 'checksums': ['479015d8274551ea441b1fd83ac5f4dd1746afb9c20b7b77b916e7a428b99f98'], + }), + ('GOstats', '2.60.0', { + 'checksums': ['df1c7bbf5ccf00d46f66c4f78f2c096363479f6252521353d1db720d68c31cb9'], + }), + ('BSgenome', '1.62.0', { + 'checksums': ['d14bf074f9c1ec3a13b2400b9f86bbff19c34e9a15786cda04f879e46f1b02ac'], + }), + ('VariantAnnotation', '1.40.0', { + 'checksums': ['6abf8b7d235c2b627f6061ccd131057a265719804e6c8a80a69c7508ae5733e5'], + }), + ('interactiveDisplayBase', '1.32.0', { + 'checksums': ['4bcdb17ccb574b9bb210946fe36bed813258ac14ee8e49968b324c91c24128de'], + }), + ('BiocVersion', '3.14.0', { + 'checksums': ['33228f7c27351def841efec625eb4503874781a2291c98af84fd70aa049c9f63'], + }), + ('AnnotationHub', '3.2.0', { + 'checksums': ['cff2a29816030705d640532478ee7e7c58e0a69ef52093d635260bbdf7f7484f'], + }), + ('AnnotationFilter', '1.18.0', { + 'checksums': ['9c18bd835fd5903be2b6e2abf79c5c97d6b4f1e070d3c54a95062c8f8408d795'], + }), + ('ProtGenerics', '1.26.0', { + 'checksums': ['a09e32711df48bc47030d9959cc54f8a438cc392e7df8283faf21d02cfbca374'], + }), + ('ensembldb', '2.18.0', { + 'checksums': ['32782077ae3c51c47e7ff1d529b8c9190ff31ab82f07d7024788bc312e5e2d0b'], + }), + ('biovizBase', '1.42.0', { + 'checksums': ['5faa6b446cb4e059cd1fb4007351f40f2be782e6f9a7c000557d3baccf0de74d'], + }), + ('OrganismDbi', '1.36.0', { + 'checksums': ['0349e79ca54df218c98dbd44d5e6666a1c0b4db634fa036e1f3a5988a3e8e67e'], + }), + ('ggbio', '1.41.0', { + 'checksums': ['59f7b264c8488108a7c144ed081f8f86102d69ac31c34132846ad30ebeb0770b'], + }), + ('geneplotter', '1.72.0', { + 'checksums': ['e84297d17034922dfab02d82945d24f768438a6ada8e367af5790340d37df6ac'], + }), + ('DESeq2', '1.34.0', { + 'checksums': ['6989e5eaacc3d5546c7e9c3189b2836827d11cf0f0154e18cd35ed9a7f121372'], + }), + ('ReportingTools', '2.34.0', { + 'checksums': ['47165f14bc02ff59bdcb9088db9971364895f2ab799d9a27d7af13040f727c1a'], + }), + ('Glimma', '2.4.0', { + 'checksums': ['a9cf543cd81cc4ff74147deeb6203c7515efdcb29a01e0cadaf3ac2d6cea6b62'], + }), + ('affycoretools', '1.66.0', { + 'checksums': ['80b8916c6b8d2e38f6f81bc95294e56432e3c9f01a07920f7129c62482549eb1'], + }), + ('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.44.0', { + 'checksums': ['d7d422a6bb89d6d12acf2c7d7e0fc14d71b1245c3afb4c8b49f7fb8e53a6a916'], + }), + ('geneLenDataBase', '1.30.0', { + 'checksums': ['3438242b95c4d43cb95f6040ce66abe23738a46911acb9ee9825906149e221a8'], + }), + ('goseq', '1.46.0', { + 'checksums': ['e08df3a08ae88ea9032bf894663918d891c163ee7977e5d50ca285fe704d54df'], + }), + ('KEGGgraph', '1.54.0', { + 'checksums': ['a4ae85d3ea7c623d4de606251e1c9ae1392794170089e535384526acc35e1be3'], + }), + ('GEOquery', '2.62.0', { + 'checksums': ['7facd1f1cd032ad8eeb765a41f168cd1749a95cf7346be4b00d41c1da0247d3a'], + }), + ('RSpectra', '0.16-0', { + 'checksums': ['aaf1cfc9ffe3a4c6684247899924e1c18306971dfef4bae1dc596a2fb42a64a9'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.17.26', { + 'checksums': ['3df0ce2450fe3fe6dbc81ec6f0ccf71a7a3c3c877a4b067815bc4a6d0e223982'], + }), + ('Rhdf5lib', '1.16.0', { + 'checksums': ['3735fe66a9e12da8957946a1a1bf2f63af8806c5d37529224b0ddac6874e9e7a'], + }), + ('rhdf5filters', '1.6.0', { + 'checksums': ['e828f85ebb269bb01da10b1fe42a9c80977c946e7434516b66e18deb6f096015'], + }), + ('rhdf5', '2.38.0', { + 'checksums': ['0ff7c75cbc9b1d3722a0794b25fabdf8b9e47ed6afdf861f4a2ec541474af58f'], + }), + ('HDF5Array', '1.22.0', { + 'checksums': ['297e944b50e1ad7da197f35351c7ccf0b448b7d42a2a3119c8d1faf949c6068e'], + }), + ('sparseMatrixStats', '1.6.0', { + 'checksums': ['a19bc467a08fed614c5905d6d2db5fab56d3781bf80993752287d86a1491d845'], + }), + ('DelayedMatrixStats', '1.16.0', { + 'checksums': ['534e33b7f08548a7398416609f02d5ea4952ab7b6042f62ab40cba9cc69c1cdf'], + }), + ('minfi', '1.40.0', { + 'checksums': ['dd1a4590c5e69ce25441d698a66a03e8168b00396ec30d0408f1713b2d10a234'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.39.0', { + 'checksums': ['d9ff90a06eb5022abd9e0fceea171b3b9127851479c242fc23f8cfa6d6eed73e'], + }), + ('lumi', '2.46.0', { + 'checksums': ['369e004053e630f90a9a4f68209f566f639dd86e9c271a45875411bb8db9636c'], + }), + ('widgetTools', '1.72.0', { + 'checksums': ['1239f79153d7c7228b86aefeeb9394242aaefb62dbfdbab893dc84800e745249'], + }), + ('tkWidgets', '1.72.0', { + 'checksums': ['6efb04a33230e360f685e8f6a606db37a468cb3936fbed677616439452cf9bf2'], + }), + ('Mfuzz', '2.54.0', { + 'checksums': ['f015462c0d416c057ffb9c724d127659e1145973ea277c8aeb503185bb18665e'], + }), + ('admisc', '0.19', { + 'checksums': ['7c0bc4d86914e1bf05b32f1d1bc5a253ec9b763535595aea58afbcf69507d33f'], + }), + ('venn', '1.10', { + 'checksums': ['65422a158cdc8581182d3d326e448e43ecc3764501a5dab1ccac1234b4f961e4'], + }), + ('maSigPro', '1.66.0', { + 'checksums': ['ebaa80caa013e3d88bf32c4891209da8dbcc517c70248e7547f9e33beb75420b'], + }), + ('SPIA', '2.46.0', { + 'checksums': ['0ffc29805d1e4b4e9d7dfb86985c9fb3f91c242b17215f92a012d586be180e61'], + }), + ('Gviz', '1.38.0', { + 'checksums': ['48255d046049ff24f6f98f6f0ed260c88f46ccce8699e595beef3400463d0a5b'], + }), + ('cummeRbund', '2.36.0', { + 'checksums': ['1477a6e16b8f8d480900eac49f23dd6821d59a0de1051da15e4b49f169866004'], + }), + ('GenomicFiles', '1.30.0', { + 'checksums': ['7d74f9dac3243601f56c45152eb04cff146a9829c77f328bc41e856f6633be44'], + }), + ('derfinderHelper', '1.28.0', { + 'checksums': ['65c0cc5f162b1a160b4e7768083e5b3674fa3bb842667bc354cfdecf85e7a01b'], + }), + ('derfinder', '1.28.0', { + 'checksums': ['97fa810d966f349ce63ce739bde855798baa46e765e79bc7cebed22c2320aec3'], + }), + ('polyester', '1.30.0', { + 'checksums': ['1e81c68f1d1ae06933c751423e4cdd5f21dd7b26a553d65d5fc40937a892290d'], + }), + ('Rsubread', '2.8.0', { + 'checksums': ['7a30fa881b737c823952c60e3e3e300c8076344cc7f8efee1568a62fe83e6d26'], + }), + ('pcaMethods', '1.86.0', { + 'checksums': ['2fb79e823e51b15704811198732ec6d4ff4b9ef023c194d5e18b1265b5d942ba'], + }), + ('marray', '1.72.0', { + 'checksums': ['ff3ff370fdb7f65a548cd7951557527145822f373fd4afe2dd4214897c0148d1'], + }), + ('CGHbase', '1.54.0', { + 'checksums': ['8ddc75282c7a437a67541139d9a73b6f118c93620db9ca8ef1aeb56544e0ddcd'], + }), + ('Wrench', '1.12.0', { + 'checksums': ['d60089f0e6e812fd31760669abb6bcd60a4e790a2c7b54b045ebc9c8b53efbef'], + }), + ('lpsymphony', '1.22.0', { + 'checksums': ['da49e8f36d5a479ead3a1e43e5a7c5676849b9b196f00ea4d95fb1e7c24262af'], + }), + ('IHW', '1.22.0', { + 'checksums': ['1d633fc18078896707ac0550a9d95c1feb1f6bf092bc99d5816e70e57f91f16d'], + }), + ('metagenomeSeq', '1.36.0', { + 'checksums': ['69b264040e1186e76082dab70de624b0a552e0212591bc882f5fad2801f1db3b'], + }), + ('gdsfmt', '1.30.0', { + 'checksums': ['772769400a1b05b6edfc15850988f1929278aa7b5fd6150765c316b3f418f190'], + }), + ('SNPRelate', '1.28.0', { + 'checksums': ['910858527fecd6f601fda052020b8fc69c221758645871dcb7d6e46b19402804'], + }), + ('biomformat', '1.22.0', { + 'checksums': ['27203a5623de744034cac85817b4a4d9ecd6ffcaf084116082133948894cc975'], + }), + ('phyloseq', '1.38.0', { + 'checksums': ['da843432fe402c594fa5abe9d3d30cec1fc3c73aa03086013d7987771c920a4c'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('zCompositions', '1.3.4', { + 'checksums': ['ae22c86fe92368a26265933f42eecc518b9b69e7d9b698bc31bfaabfc3c48e95'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.3', { + 'checksums': ['25bc8c4028c021c7135bd86812265d2cf190bc07b3a412c4406f126c22adb0ae'], + }), + ('ALDEx2', '1.26.0', { + 'checksums': ['ae0fd03068ddb47df54641ff03f52e2ceb4d32ae13812a36ca8748fc998ba7cc'], + }), + ('dada2', '1.22.0', { + 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], + 'checksums': [ + '86528f7a71419b34dcd9e9e33cc34b0d0d45018854ad8150b81465ab707442d6', # dada2_1.22.0.tar.gz + # dada2-1.16.0-remove-sse-on-aarch64.patch + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935', + ], + }), + ('LEA', '3.6.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + '109a86e15e35c4718076f00dca5b60d10e9d9f3e1e28e99b8ae847914f581a26', # LEA_3.6.0.tar.gz + # LEA-3.0.0_support_aarch64_and_ppc64le.patch + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881', + ], + }), + ('tximport', '1.22.0', { + 'checksums': ['e4a16b53ac6a0d0c37645e3f16dd60fdefee7576ebe73bec75842299f4c9d770'], + }), + ('SingleCellExperiment', '1.16.0', { + 'checksums': ['69445241bbde85f2a74ca5dc4810ddb2913f574e5b51d56f4ac343a4d72e0704'], + }), + ('beachmat', '2.10.0', { + 'checksums': ['eb5602d3b80e6dce8e146640a1a13afc890d14766c1933d66420b95a064e0cd1'], + }), + ('RcppAnnoy', '0.0.19', { + 'checksums': ['89b209900516f3096b53c90937081fb8965c605c867aa465f1b3b68092b7688a'], + }), + ('RcppHNSW', '0.3.0', { + 'checksums': ['a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007'], + }), + ('BiocNeighbors', '1.12.0', { + 'checksums': ['f9a900eb19aa4b114e8ebefc720e4795250bdd57f0fe5614a82fbb230d453612'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.2.0', { + 'checksums': ['6c06d4cc4a4cf8a65b88b73ff32884dbdb7512867cf9eb8367fe15fa0221e86f'], + }), + ('BiocSingular', '1.10.0', { + 'checksums': ['96b446c98b5de3d92f08e47bdcd06ecadd5fc31cf7d67bad67b27a3c84327036'], + }), + ('scuttle', '1.4.0', { + 'checksums': ['c710f4258d24a229e122ccf69e0bcb8c104781337e072f690b6072c3bc596db5'], + }), + ('scater', '1.22.0', { + 'checksums': ['afbdb75aa1f72228a547c47751d82e963316333f824a0a882a99755ef94d914c'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('bluster', '1.4.0', { + 'checksums': ['55ae7b356012d6d95abc64bd673f85797b60c242521f811a26eaa91145a044c8'], + }), + ('metapod', '1.2.0', { + 'checksums': ['f3e2f5d3ccab202b77d87e9cd5a91dc47a39f87e21a1bee5b0abdff5ee770de9'], + }), + ('scran', '1.22.0', { + 'checksums': ['f44cf46170f6dd4d1ec559ae7c63c9d4acf2c94b3cf2723f8f8f8444b45edbdb'], + }), + ('SC3', '1.22.0', { + 'checksums': ['d58d4739361ced94f7993fec9de6a78848c886ff1fe32561da534745b28d7fed'], + }), + ('ComplexHeatmap', '2.10.0', { + 'checksums': ['963db258af319e5b077288154bf4537495fee9aa919dec7919607e302b399c88'], + }), + ('GENIE3', '1.16.0', { + 'checksums': ['dc193a2c89c5b80014731ff27e74ef93463c80976f72de47cf35de6344324757'], + }), + ('dupRadar', '1.24.0', { + 'checksums': ['d11588be5410f4189bc0cd8b0f3e9fa2f15a5f7268f1546eb2c46bba8331431b'], + }), + ('DNAcopy', '1.68.0', { + 'checksums': ['95ebcf02c0c682f08624045b6ac4346ccffa2a725b0c11e04b249f14c3205da5'], + }), + ('sva', '3.42.0', { + 'checksums': ['b2d5b33a2709e54de9c493a554180dd2c63145181ddbbd0a7b0e8bd8528b9f32'], + }), + ('ballgown', '2.26.0', { + 'checksums': ['2e9b0db08396da8432237a1a8755bbf8d9592a39162f52737fffedac04f2333a'], + }), + ('DropletUtils', '1.14.0', { + 'checksums': ['1f3d75387eeadea48ad4db0116df7584fa57465d3a1f53927a891f6d41bd29fe'], + }), + ('DeconRNASeq', '1.36.0', { + 'checksums': ['5bf34cb0ad1d9394fc0e9eb84cf672ab219ca0bb7095b16b606592874ba7a9ab'], + }), + ('GSVA', '1.42.0', { + 'checksums': ['9e8451d006cc022ebc6c9887fb57935def3411c8285fae8aaf32f8d500a898fc'], + }), + ('PureCN', '2.0.0', { + 'checksums': ['4cad56ab9ea01e2231a5b4788aad4644b130117cf552cfca107ebfdf511d1067'], + }), + ('globaltest', '5.48.0', { + 'checksums': ['2eadae9624688a93017ee2bfa51459a591e487045c4d6c5a8f7072c6c10aed72'], + }), + ('GlobalAncova', '4.12.0', { + 'checksums': ['a009a25bb426f83554dc8fae51b728b8e7bf4654ce55a4192de88e798c12268b'], + }), + ('vsn', '3.62.0', { + 'checksums': ['5dc8a017a0507f65e45503423cd0aefaf65609b0cb81ef5b0b365bb964e3e20e'], + }), + ('mzID', '1.32.0', { + 'checksums': ['31e3908629479118fe32416f8fc1c21dec0ffecd68f01ec1662955d2aa0a0064'], + }), + ('mzR', '2.28.0', { + 'patches': ['mzR-2.22.0_use-external-boost.patch'], + 'checksums': [ + '41e71d2c4e8f7fd9f4db645cb24af8520d529d325fbe200eebc51a2f2507f8ab', # mzR_2.28.0.tar.gz + '8b5ba4f0c4efbbab9b4801d7da3fb04a490a5d95af1cefb489f209afa4d14fb4', # mzR-2.22.0_use-external-boost.patch + ], + }), + ('MsCoreUtils', '1.6.0', { + 'checksums': ['3bbf697df2da404da0a7aff6d18d12ee2a48e7be0bfe213ee39cde91c50e0df1'], + }), + ('MSnbase', '2.20.0', { + 'checksums': ['e58f7314b3aedea0f3292ceb599dfbe9d16de460c03b770667b8ac7ed67fb1e4'], + }), + ('MassSpecWavelet', '1.60.0', { + 'checksums': ['24fec0ed1dc9e36439b7a9fa002324f4b082f8b3fdf609151f3ea9d267f798c5'], + }), + ('MsFeatures', '1.2.0', { + 'checksums': ['3823b872d27bf2dd2be383cedc683ca8156927f9a9c145261ead7d2a63761108'], + }), + ('xcms', '3.16.0', { + 'checksums': ['25d553871462ce67cd3ccea6f8f09fea14fcd65a60ad8b48984409d72c32dc54'], + }), + ('CAMERA', '1.50.0', { + 'checksums': ['70fc13860b75731d2720a249d5343bfb1cad6b275c615ba599d023b9e8afedd5'], + }), + ('fgsea', '1.20.0', { + 'checksums': ['a93e440b6542c2ac2d9221893946546b87f527af66120ab7b67d86456a63d481'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.60.0', { + 'checksums': ['1aa5a93275c052a426ce414a63145cb433723d0911d85eeb29050234e1aefa8c'], + }), + ('GWASTools', '1.40.0', { + 'checksums': ['a99d9522bda98bd00b0adf68b07e3f28f09144eaf8542aab6f58ce114ab7dcb2'], + }), + ('SeqArray', '1.34.0', { + 'checksums': ['0169b9eeb527bd0e79a2e456db034e6fa3e0f14382b8de630b6ae22e342dd48d'], + }), + ('SeqVarTools', '1.32.0', { + 'checksums': ['c6d060801bb22b8faf4685a85e1aa761a1969bc9777af3afdaec5ed9c6c0b12b'], + }), + ('GENESIS', '2.24.0', { + 'checksums': ['5fbdcda14272937fb50e6293dc85a61681336ab37b3654ed67c821eba34a30d8'], + }), + ('MLInterfaces', '1.74.0', { + 'checksums': ['4f4da26cada395ef117cb4a2c72e7960052be2a8a33fa722f7607d8e1d01fedb'], + }), + ('pRoloc', '1.34.0', { + 'checksums': ['7f19543bfee2f31720f630ba603aa23aee2b239776bb9fcd36bd75406969fbbf'], + }), + ('pRolocdata', '1.32.0', { + 'checksums': ['d683bfc38c3feade43539f6599192998d965a0757bc2bd7fc71629d5010345f2'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.4', { + 'checksums': ['4b0af45e609036688bc46f0621bcadf515e6071cbc80d60096d40ca434067d76'], + }), + ('shinydashboardPlus', '2.0.3', { + 'checksums': ['49a88cfa396f880ff4faf558bb038763084287c932e27b0c9251f4d676584d83'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('shinyWidgets', '0.6.2', { + 'checksums': ['2d11d903f5b9c075aa58b2046f4aef33fe344110e97a88d43fb920eedb5fed24'], + }), + ('pRolocGUI', '2.4.0', { + 'checksums': ['daff6fe04ddd8c9479a6fef8bdb7e5899a5f7acaae324fbb161c71e9b348f9e2'], + }), + ('EBImage', '4.36.0', { + 'checksums': ['29181cea9e913e714358527d837de827344038598d300408c1d8dd5b8abd1b0c'], + }), + ('GenomicScores', '2.6.0', { + 'checksums': ['9ad642f15ef7f9d543983bb410bbb91c3ab3cfbafc677c220b059514b188dfa1'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.26.0', { + 'checksums': ['4679feea2a0f439b51bd5db789d80a2d516dd2d471e043d8ad3ef7ed3e573578'], + }), + ('InteractionSet', '1.22.0', { + 'checksums': ['5caf717b2927f1ccd4483d4ef21b8994b19ffadf986664a2b2ea8fe3d7ada2a6'], + }), + ('ChIPpeakAnno', '3.28.0', { + 'checksums': ['6b6cf21e3d58d6a7e21b856456f889212222888320e63cbda73670be3fc2cb15'], + }), + ('seqLogo', '1.60.0', { + 'checksums': ['341b9dfdd43102b9f465e46556c499e06515a92aa2ee5991c236894b85e47004'], + }), + ('rGADEM', '2.42.0', { + 'checksums': ['7b709ce7bcda17d9d937e79b766fa174c783b6e6f7a68e06f353d4b3317e1ded'], + }), + ('MotifDb', '1.36.0', { + 'checksums': ['4590b3218b4dba9513b87c228cb48501d2d41ba27cd5315891ebccff8d785f28'], + }), + ('motifStack', '1.38.0', { + 'checksums': ['5fada7533e39f6ee3983740ecff6740053b359d6cd51058e5b152d95ed5a66b2'], + }), + ('ATACseqQC', '1.18.0', { + 'checksums': ['96db9f9cf8d28611494be0c2d0b452e3636320ada6341b6893ba873bdd1a3144'], + }), + ('ResidualMatrix', '1.4.0', { + 'checksums': ['6f27e1d3047c126031170604453d14aeabf6bb90418d5edfbcfd2832aa235677'], + }), + ('batchelor', '1.10.0', { + 'checksums': ['b91184bb32689262ed6c2bc47e30e474cba343b9a6777e15e24bf215028bb32b'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.58.0', { + 'checksums': ['463f04ff993e42f9c29effd7a36607bb6218b5217f98f124f0f635fdccf55a2e'], + }), + ('R.devices', '2.17.0', { + 'checksums': ['c2d4b12949e0faab414c9f7575e39ee9dbf50ea12d858143df529f15ea365fb6'], + }), + ('R.filesets', '2.14.0', { + 'checksums': ['707dd7c099aeadbecebbd2ba57e6400405aa44487c641f3729ce06c4c642bb23'], + }), + ('aroma.light', '3.24.0', { + 'checksums': ['17966f409c13c57037eff86978da4ad75eb8ecac3e1e611feca1a1ab61410a8b'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.2.2', { + 'checksums': ['35e0312e403a1894da036afac12d1d727c937e666d7eb400bfe4018b21244855'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.0', { + 'checksums': ['87513774baeed8e1d43f819e615c85278aef748ebc842f1ee50686c3392e37d1'], + }), + ('aroma.affymetrix', '3.2.0', { + 'checksums': ['d279cf13cf6ed8369cfdf6682ace12924379bad578003453449aa1ccec31b0a7'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('Repitools', '1.40.0', { + 'checksums': ['27808873e10b3376659a7b96321e2c1eec2b9f4dbca7d824960e57672d169734'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.4', { + 'checksums': ['024e3571b70f8e07bd50c4dd4d2dc05288497bf5409a9ac4ef12db94b081b50f'], + }), + ('MEDIPS', '1.46.0', { + 'checksums': ['f7abbddb2373c44680f1565d46bf40d7a83942f15346504560b4d18dcbe97966'], + }), + ('RProtoBufLib', '2.6.0', { + 'patches': ['RProtoBufLib-2.4.0_fix-protobuf-build.patch'], + 'checksums': [ + '20f4fce4dd793d4540556869dab2b3f61bef901f4c1ad67219f942d6e0821413', # RProtoBufLib_2.6.0.tar.gz + # RProtoBufLib-2.4.0_fix-protobuf-build.patch + '379e0227b22ee027de3ab22be9667f358de7d176f74aba598e5a3cbf41dc99a3', + ], + }), + ('cytolib', '2.6.0', { + 'checksums': ['f12ffba1d0e6017bd7f49f1eb84007293e953a6249beb2a61125061aa56b2507'], + }), + ('flowCore', '2.6.0', { + 'checksums': ['97571105031e69b5265ed05acef6293439462d5a6a346bae05d9acd532146d7d'], + }), + ('mutoss', '0.1-12', { + 'checksums': ['2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa'], + }), + ('mathjaxr', '1.4-0', { + 'checksums': ['ba57378236d593a39c5839054adc5473526de0c8f05b7eeb87c99438496ddc67'], + }), + ('metap', '1.5', { + 'checksums': ['640b73a49b37494182a836aea01ed87aa09a96ede64cb92d005839f5bf859233'], + }), + ('uwot', '0.1.10', { + 'checksums': ['6ee1b6027bce679cd5a35f647f516a5b327632234bcf323c7f3d5b5e10807d23'], + }), + ('scattermore', '0.7', { + 'checksums': ['f36280197b8476314d6ce81a51c4ae737180b180204043d2937bc25bf3a5dfa2'], + }), + ('sctransform', '0.3.2', { + 'checksums': ['5dbb0a045e514c19f51bbe11c2dba0b72dca1942d6eb044c36b0538b443475dc'], + }), + ('SeuratObject', '4.0.2', { + 'checksums': ['64ee97a221ccaa0bbdc1890da9d3e9cf5b3b9fab037095cfb757db5bbb69cb1c'], + }), + ('Seurat', '4.0.5', { + 'checksums': ['afab7c417500e67a7f784d42ce9b798a2909e44ce97929f86fbbe8b7dca55ba3'], + }), + ('ALL', '1.36.0', { + 'checksums': ['8b96af99fd7e12b73dbb19698cef0c165f40d8ba4f2106bb75b3c0ddd20ca968'], + }), + ('ConsensusClusterPlus', '1.58.0', { + 'checksums': ['79b64f27c5e5e88c1026f5a2b0a0321108604d2d284cb491dff5fc34171ee48f'], + }), + ('flowViz', '1.58.0', { + 'checksums': ['04d0f7ea43b41d873eed3be74ba5becaf7dbb26f48c349c612f71561f1813a0d'], + }), + ('ncdfFlow', '2.40.0', { + 'checksums': ['59ed5dcf53b30f63ff6193abe49d6ca98fe08c84cbf4dc6db9b87922ba58dcb0'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.6.0', { + 'checksums': ['2fba91bd9622285f409434dec64e25133ad14f36baa0b7e9f82ee834df3cd186'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.6', { + 'checksums': ['63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '5.5.0', { + 'checksums': ['c2cf471dabc879b018211e8de50773a0acbbd10335803612ef9e00060322c759'], + }), + ('flowStats', '4.6.0', { + 'checksums': ['a9e6d149129ec2e7df1992b144e5b8d0fe02dacceaaacead9f7751528dc14e4a'], + }), + ('flowClust', '3.32.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['f13b6c14f2d830c99ba9edee01ee5ea47fcf69933b14ff1fef966140f0ac0732'], + }), + ('openCyto', '2.6.0', { + 'checksums': ['d5895fd21413f542d66a8f7156b5cc6dac33e07036f36b499d77a03169c85b87'], + }), + ('ggcyto', '1.22.0', { + 'checksums': ['e102662751a6aac0b2d5b3e83f61ee14d3994f7b740e6686fa823d9194aeb69d'], + }), + ('CytoML', '2.6.0', { + 'checksums': ['9f6515ec03dab19a13404746cda4dbb6653b234fd0225547a56895df04d32f9b'], + }), + ('colorRamps', '2.3', { + 'checksums': ['3f10eab0602a42a2e5a79c7c04638be06cbf1e6f23979a1bd95d853e10940b6a'], + }), + ('ggnewscale', '0.4.5', { + 'checksums': ['021c36230ab6a7e90ac47f70ad26c27e2f68e8c109e31d3df2988af694d35ec2'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.2.0', { + 'checksums': ['0e5d72c2c94eec13b79333a6047efc2652ec146c6557a47022e88b48d1ce5d18'], + }), + ('HMMcopy', '1.36.0', { + 'checksums': ['b173c885d4db74a193b409cc5a3e6b313a095962cb475c5401fee7bcb76e7b4d'], + }), + ('diffcyt', '1.14.0', { + 'checksums': ['d1965da7f4c675cf23ab89268ccb6d7c06dcf43a094ffdb38167b90818ad89f9'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('variancePartition', '1.24.0', { + 'checksums': ['7cc3154dbf402d05c5916951f6574ec422d5f747a1c66bcf46b9f27f5b30be38'], + }), + ('muscat', '1.8.0', { + 'checksums': ['bc14e7a7b86ebd2a5662c038a39347ae2616abaee96f9b94a4fddb11b10eb154'], + }), + ('IlluminaHumanMethylation450kmanifest', '0.4.0', { + 'checksums': ['41b2e54bac3feafc7646fe40bce3aa2b92c10871b0a13657c5736517792fa763'], + }), + ('IlluminaHumanMethylationEPICmanifest', '0.3.0', { + 'checksums': ['e39a69d98486cec981e97c56f45bbe47d2ccb5bbb66a1b16fa0685575493902a'], + }), + ('IlluminaHumanMethylation450kanno.ilmn12.hg19', '0.6.0', { + 'checksums': ['249b8fd62add3c95b5047b597cff0868d26a98862a47cebd656edcd175a73b15'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b2.hg19', '0.6.0', { + 'checksums': ['4decdbc78a6a8d02bf8aecb0d6e1d81134ae9dbc2375add52574f07829e8cd69'], + }), + ('IlluminaHumanMethylationEPICanno.ilm10b4.hg19', '0.6.0', { + 'checksums': ['2c8128126b63e7fa805a5f3b02449367dca9c3be3eb5f6300acc718826590719'], + }), + ('conumee', '1.28.0', { + 'checksums': ['52b88f3dfd84acec90e7b39e31eff0f39ac6c6e7f670223ce17802844e94f438'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.2.0', { + 'checksums': ['d851fe26a0a5e7ed3ccb28a747c39da4403c23f543f5cf6040366f5c31d18a96'], + }), + ('SingleR', '1.8.0', { + 'checksums': ['91d556ec4d4c80f942ab3ea43ce43e34336533e7eb6149fa7270c277d9b09aa6'], + }), + ('FlowSorted.Blood.EPIC', '1.12.1', { + 'checksums': ['00ba0f996b2bf465b021546eab6f0b0a94ee352e533734eeb2afc0b698591545'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.10.0', { + 'checksums': ['7258021079e5b5fc3c8f80bbe3822a14ce5db3aa59957ebdcb409e363194ef75'], + }), + ('DRIMSeq', '1.22.0', { + 'checksums': ['02505b5e473f28b8cf710278dfdc39511168bc7596d78f0668710cb320585278'], + }), + ('stageR', '1.16.0', { + 'checksums': ['deb8e996e21745fb24a585646b372ff68cdcd3b2379eba40fc703e48c006fd6e'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.14.0', { + 'checksums': ['56f228448b50f1cea0fc15d6f61b1e94359ef885336034bf346693315390ad45'], + }), + ('org.Rn.eg.db', '3.14.0', { + 'checksums': ['591be1fc4fcc9765bffd412a220c7c37728d986385cf096c8a5c0ada4cfb97dc'], + }), + ('ROC', '1.70.0', { + 'checksums': ['c9cb38bdf1a9af30c15e6c4e8ae9eeb917adcacb3eb3f93901db3e73cbbefdd5'], + }), + ('wateRmelon', '2.0.0', { + 'checksums': ['63be175befd8a8ae3940e6983d5256737ca3ecb138f04b97d1ec966ad978f3cf'], + }), + ('GLAD', '2.58.0', { + 'checksums': ['3616e6cee451f667d456bc35fe1a0940f32d6284372afe0de122856888bba741'], + }), + ('missMethyl', '1.28.0', { + 'checksums': ['fc6ed50e00f2f7fc4e7d2787370033cf0a9a2d3a483499fa8d2e2b2da0e8d143'], + }), + ('MethylSeekR', '1.34.0', { + 'checksums': ['cf8e3f01cc58d389aa059c0535c9baf9f39344040b3c3b247a313980b8cb0472'], + }), + ('affxparser', '1.66.0', { + 'checksums': ['54b1d597c5abeebd687292bd5fd370ed89282b68f5f251456f871ae92272a0ad'], + }), + ('ccdata', '1.20.0', { + 'checksums': ['0d9fb146f89ecfcadb52e494acdd5444bdf5b1974e437b24216fdc907643d668'], + }), + ('lsa', '0.73.2', { + 'checksums': ['cb0017bbda9b0eb1d05b451e0f557d02f789f65b2f8bf005606b63a3708e63a8'], + }), + ('ccmap', '1.20.0', { + 'checksums': ['6de073489fc8452cdf9052ed1b26404554196ea5eee34c25b38c9752cff6b4fc'], + }), + ('oligo', '1.58.0', { + 'checksums': ['c66957028776b3e957d4d9a345dfd261b4440d651c59c450d752f7d200b6b6b2'], + }), + ('SMVar', '1.3.3', { + 'checksums': ['17625e89eb8be7a6dbb77e6bd9daca1ea1acff69026049f213e30edf2325999f'], + }), + ('metaMA', '3.1.2', { + 'checksums': ['01851d9632cdf1988d6a43ba44500e51477b9b25d5df1e1da488cd800df85ed6'], + }), + ('randomcoloR', '1.1.0.1', { + 'checksums': ['cbae51a47a92b2cc3d5ab48877818404429fb73fc795430ec622a8dff20f1067'], + }), + ('shinyBS', '0.61', { + 'checksums': ['51be29541e066d30c66e243393f20b0da705eba1b7ce7eeadea993bb2aa91166'], + }), + ('shinypanel', '0.1.4', { + 'checksums': ['f98644118a582aed4149920beaeac12851ae2cacbd3cbe46f547620f9dbcae41'], + }), + ('crossmeta', '1.20.0', { + 'checksums': ['a48a0ee5cc0fe8bf8fdfa898e4421ca3bd72ace4896bfc3dfd95d05c7494ddf5'], + }), + ('snpStats', '1.44.0', { + 'checksums': ['186ba6d4edcc2ec2cfc1120bfc32753668db54217e3e183b20c988c7ca224341'], + }), + ('mixsqp', '0.3-43', { + 'checksums': ['58042d832803462ca03197a9dbd49d022378756de8996682b89e6bc009d02ce2'], + }), + ('susieR', '0.11.42', { + 'checksums': ['d09f1ba8026db07f6ce9b1d61234ac889fc95fd9fa043c5b5d6288133d98b9f4'], + }), + ('coloc', '5.1.0', { + 'checksums': ['9a2f65cef45d0626513e7b9b4e10b499a7f737f55ee18110201da1f4d156aceb'], + }), + ('SCANVIS', '1.7.0', { + 'checksums': ['dd14589fe89e52a5fa2f1a386c8c6bc616bb373a521fd18e3ec818f3a3116098'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-5', { + 'checksums': ['83822535608b5307ca7d0067dbcf1ea3b7f2b1be17a52a55b72cc9f3c6bdec5d'], + }), + ('bookdown', '0.24', { + 'checksums': ['8bead2a20542d05f643fe77a949689a17b0ae9ff23efbb918ddab47597db1be3'], + }), + ('BiocStyle', '2.22.0', { + 'checksums': ['6d513130dc9105720ef25209931ed82e6522f8ebbf8442d28bbc2c1d40eea677'], + }), + ('estimability', '1.3', { + 'checksums': ['a33179c5fbd6a1a623d90cb6f1743148f92c09429fac466867f3ea70946a2e32'], + }), + ('emmeans', '1.7.0', { + 'checksums': ['d4b654896197dfda8354b33257380a66ee06117d6177b1ed7f1e42176525e9c5'], + }), + ('ggdendro', '0.1.22', { + 'checksums': ['f0a65f3498c1abc3076df0fb56364b63bdf5d212d8931f85bcc6997510916b6a'], + }), + ('pmp', '1.6.0', { + 'checksums': ['e2f0a0353de8c03d7f6761a67f1fb07e417360e5e955b8a270490c88ab7fcf97'], + }), + ('MultiDataSet', '1.22.0', { + 'checksums': ['3a781fd4a3a56a80407a148bf3118e04dbb7161571d9d365d4e36edc6da35a9d'], + }), + ('ropls', '1.26.0', { + 'checksums': ['05e41966a2bf46c5fb5b4d33191793b206befbdd96ced49f36a6c3a85ba6e557'], + }), + ('ontologyIndex', '2.7', { + 'checksums': ['33f4918cafb983635f9f831553daf15e10103dc375475e170f104a8eaf0e7048'], + }), + ('rols', '2.22.0', { + 'checksums': ['231858c7617bf4a6ce71e99b0096870b47ae046b0bd4406a01af556da8745a21'], + }), + ('struct', '1.6.0', { + 'checksums': ['002867b0b6dbcddd6e79b2d10faac543f37517e429f7cba68010392260fbdaee'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.6.0', { + 'checksums': ['1f589118052a79c6ed3812b620e3c9402cc6ae9d0adf9d4a8a4a3f10fb4c6219'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2', { + 'checksums': ['1a1f54d6b0dca6ae83e3f729a1895c91c58bfe55427dacc50ddb0d2c5d32a9f6'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.4.0', { + 'checksums': ['e07b124156b370b838e0a3e2dc85d536dd7fcaa2a9c65ebf9ffc31238ba64931'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.30.0', { + 'checksums': ['825e085aa2d72503928a0545576288e21b4960e3d8301457a26669e87dc59170'], + }), + ('DirichletMultinomial', '1.36.0', { + 'checksums': ['06fbbdd0d0c71e9443b91aedf6750281c9ea23340f857694aa5b48992ea5ca1a'], + }), + ('TFMPvalue', '0.0.8', { + 'checksums': ['6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841'], + }), + ('TFBSTools', '1.32.0', { + 'checksums': ['2fe55b1c0333284eec3a4f2695a77db7007fc8a3dc2fc8af6eff335748d8af48'], + }), + ('motifmatchr', '1.16.0', { + 'checksums': ['ff3c379475040310f5be8ec97c319790e9ba15d2780764d90b3014db3e29f238'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.1-11', { + 'checksums': ['49a2b5a762aeeef582f09e8e3f4c6b7a902c06dbae72ada13c2ae627e4eabc3d'], + }), + ('qap', '0.1-1', { + 'checksums': ['60bd564bb0e6325de44351af33870177d84b1c00ded142a2efb12a16a20d4d34'], + }), + ('seriation', '1.3.1', { + 'checksums': ['ce63b4b116f1cd4d8ef8865e9c1b9aacd206071d130d3ed72696b0de873d8321'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.3.0', { + 'checksums': ['0a5d269c4837dd66fbfa6b87fd648bdef222f1ad6f33df3f695d5164d6f71ef1'], + }), + ('OUTRIDER', '1.12.0', { + 'checksums': ['902862ca43442c9fe5a0278ddf007ec8faecfd948ab1d1891700221b3098fa79'], + }), + ('FRASER', '1.6.0', { + 'checksums': ['3d179ac500891a25e97140e0a13d1ce93184257a071a1d64384c576cbf3bb21f'], + }), + ('GenABEL.data', '1.0.0', { + 'checksums': ['2c28d5df63ae13545cf7aea6ce5f22ae1bbb58219fdaed6c1d5d5affc072c65c'], + }), + ('GenABEL', '1.8-0', { + 'checksums': ['434fc806b918738ec67171a37a47099d1706332819317e368fe0ccb8f149a469'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.16.0', { + 'checksums': ['b7951f27af5b66f297675577e7920417b9c76d971b7a745d79a66638217294d1'], + }), + ('RcisTarget', '1.14.0', { + 'checksums': ['27bef800117389eb671eca317cbbd984ddc3f4e9c548c6140c7f86d3fac959e1'], + }), + ('NMF', '0.23.0', { + 'checksums': ['0f0cca01b37bf46fce90d2e951df609d3d377908aa607825083fd0c47cc24753'], + }), + ('reldist', '1.6-6', { + 'checksums': ['8a7b55120d24fae72b4c284072b07d7f90094ba00bf89ba172e0b3ab8fbe7127'], + }), + ('M3Drop', '1.20.0', { + 'checksums': ['b82772303c624ff01418e66cefd751a0f6f9d819ea2cf3c9c20a9acd1fc106e5'], + }), + ('bsseq', '1.30.0', { + 'checksums': ['2dada40e222d4f42510deeb99c24043078420a4d3d214d4cc3409d428cfb60c4'], + }), + ('DSS', '2.42.0', { + 'checksums': ['b1e2a9044cd10b09ecf667f7a3201269f2dca78ae431cccef6d46816e77dd1a8'], + }), + ('pathview', '1.34.0', { + 'checksums': ['594e4b2dd4bb9e826fa87c63f56fbc9132e1b4b620696ec31ae0ebbc6940b4c9'], + }), + ('chromVAR', '1.16.0', { + 'checksums': ['f3ea91fd13c2be56e3bd37991396876a6aba155b398200e01ae650404a769a7a'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.70-3', { + 'checksums': ['b9843b839728183af6b746f239e9519d438b294613362b556002acdb8522cbd4'], + }), + ('DNABarcodes', '1.24.0', { + 'checksums': ['af73c60288596fad26e077a0d02c9db71f955997d6551a83b7b2a29051faca1f'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb new file mode 100644 index 00000000000..ca9f54f0088 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2021b-R-4.2.0.eb @@ -0,0 +1,1119 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.15' +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': '2021b'} + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('R', '4.2.0'), + ('Boost', '1.77.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('arrow-R', '6.0.0.2', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.15/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.15/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 + ], + 'source_tmpl': '%(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 7th Nov 2022 +exts_list = [ + ('BiocGenerics', '0.42.0', { + 'checksums': ['0cb6fa74a389693d253a9f61935d335fcfcc1dfe5acbba78b3cc43c1af5d6947'], + }), + ('Biobase', '2.56.0', { + 'checksums': ['7b49f4336b1b9323b02b6819ff3bb8347e47e696ec0802cc4d0758858e9fddd6'], + }), + ('S4Vectors', '0.34.0', { + 'checksums': ['9368ef6636862f02a7cca0022b94975a21a1a4ac434f7b44411c52d83e5c7e48'], + }), + ('IRanges', '2.30.0', { + 'checksums': ['1331cf39cab3d0e2233247bb6e9d439e0e804c2a3336c103cb195fb2802ddd41'], + }), + ('GenomeInfoDbData', '1.2.8', { + 'checksums': ['576750330a011c1eccb47c7154ca1b40ae4cd473fd7973f6c2955237a0729eb4'], + }), + ('GenomeInfoDb', '1.32.1', { + 'checksums': ['d5f7696eeeb48f01563aa82e1cce4aafb4db3c0110c23fe3fdf304dcfdcb0647'], + }), + ('zlibbioc', '1.42.0', { + 'checksums': ['fbf78b33def67a1778e97c15c5161c095268c14baf14ab559dcaccd6a34c1e70'], + }), + ('XVector', '0.36.0', { + 'checksums': ['136e5bc29f3d64634eff01794cb7824171df2300721c3ac24ceba5233c5e7ab8'], + }), + ('Biostrings', '2.64.0', { + 'checksums': ['e8c1dfbeb4b00d1dec1234693ab5ed6152fdd93c3afabd84173cd1843e14e5eb'], + }), + ('KEGGREST', '1.36.0', { + 'checksums': ['6f1dcea3209e502e9a5de29787cac23d30f88612a10c03a0f411f4faada9f443'], + }), + ('AnnotationDbi', '1.58.0', { + 'checksums': ['96bf9c24b8401361c2c9d4efbf6f93a790becaba449edc06e5322116e9f19c95'], + }), + ('GenomicRanges', '1.48.0', { + 'checksums': ['d623d25b9eb20d4b48f42f6e30771101503b8e9e1592d76e310273ca54d81921'], + }), + ('BiocParallel', '1.30.0', { + 'checksums': ['6bd54210c6ce1eb2f7d7d104317c3f808f9aabc99806fa491d9de5db69ce314f'], + }), + ('Rhtslib', '1.28.0', { + 'checksums': ['4e48c8643e5d3429238ee76faa4c68ed8a7028e7f594c109ee75f5e994d17c1e'], + }), + ('Rsamtools', '2.12.0', { + 'checksums': ['20e860c61ef66f8e61f8de7f77c4a244439c8fe39286d080cd580417073894f2'], + }), + ('MatrixGenerics', '1.8.0', { + 'checksums': ['c50118dd8ebb404f7ff0ff35bbccd51931c09dab8ba2fb648ed1629a761afa68'], + }), + ('DelayedArray', '0.22.0', { + 'checksums': ['1ee707dc606f257020c2654b21305045f4da9dc2943e6246a0bd25f5f1302d86'], + }), + ('SummarizedExperiment', '1.26.1', { + 'checksums': ['697c5faf7620dbb336591463bcb027d45a297197ed012a13d0327aaaebc7740b'], + }), + ('GenomicAlignments', '1.32.0', { + 'checksums': ['71354a8f7b07283065bff8280558a15ddfc35a6d225de2d8f7c5214400a3d5c5'], + }), + ('ShortRead', '1.54.0', { + 'checksums': ['18ca2c82688c158cdc952436434d4a608000ec4c02b199a0925c6cb2500a030c'], + }), + ('graph', '1.74.0', { + 'checksums': ['e4d1389e5f148fa6ff55299b29f096bd9cfd5d772691a0298b53a027b9cc10ad'], + }), + ('affyio', '1.66.0', { + 'checksums': ['d7bd8ba9f3a24f6a74c28226765cecc6e917dbf1028cfa04dce6cfbfb1409ca5'], + }), + ('preprocessCore', '1.58.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['6e36ad18eae494105b88f5195493b8ac3decf1c588cb4cddf5cf6c0801b817eb'], + }), + ('BiocManager', '1.30.17', { + 'checksums': ['25638d92687d303d762088797e061915694a887fce3acee22094675d5455acea'], + }), + ('affy', '1.74.0', { + 'checksums': ['87b54c76d72abd9a44041772914451ab426df6d4aac9b1e6e39254d2883f870a'], + }), + ('GO.db', '3.15.0', { + 'checksums': ['bac91d73c57f206fa5bc4a501a2aaf61b365cf411181ce44353370cdbc132d99'], + }), + ('limma', '3.52.0', { + 'checksums': ['34e8c9d8c438c4c1cf85ac4c38ff6f6b5bd6cd1e9a60eec45f19877a9766fdc3'], + }), + ('RBGL', '1.72.0', { + 'checksums': ['fe301943e9444a43ac14b874bd984931cd9b13f491b70b9ed58928da7742005e'], + }), + ('org.Hs.eg.db', '3.15.0', { + 'checksums': ['1dc9bb6019e0f0a222b9ec84a1c5870cdbca480f45d9ad08e35f77278baa3c5f'], + }), + ('AnnotationForge', '1.38.0', { + 'checksums': ['e8fffd592a364e0154c255964cbfd198b6f6f6b227c83ca4f4efa9d69b722ca3'], + }), + ('annaffy', '1.68.0', { + 'checksums': ['f8d532a12f6d21d7f5c2ef1025a74b75ab9b9ecf0ce66e0c24a310bab89d78b9'], + }), + ('gcrma', '2.68.0', { + 'checksums': ['cd380cfa86dfdddfca88b83a81a23ed03c3ec69a6790618dd24f8025f28b488d'], + }), + ('oligoClasses', '1.58.0', { + 'checksums': ['b3d5a3f276419c27b7e5f1b164713138098101ad67875194e2a5ba401f289dd4'], + }), + ('edgeR', '3.38.0', { + 'checksums': ['f72901816d4949ca65e21863978b021904c2a44b0621c9f5ad1ba2aff8c28b9f'], + }), + ('PFAM.db', '3.15.0', { + 'checksums': ['e7036a5f76779ab6e8a32eb659c54f52426c4824dee02903cffd85bed372720f'], + }), + ('perm', '1.0-0.2', { + 'checksums': ['729294987bb0f367c67c4bf4071464e097ec9a2bbdb2c63f19ebfb907c604aa0'], + }), + ('baySeq', '2.30.0', { + 'checksums': ['52d843b27f8d48b8119ded918fd88b17640c0271d8a07e66165a8ced9b9d1efb'], + }), + ('qvalue', '2.28.0', { + 'checksums': ['dcd72f19ed80eb22b27b04fef42d1472d3246f78b18d2414efd6b24659a97033'], + }), + ('impute', '1.70.0', { + 'checksums': ['22a7e1e1067a435e890d76cc9caaca806d2bcbffb7973207f1a646e0eff96085'], + }), + ('shinyFiles', '0.9.1', { + 'checksums': ['05694630ed5ae6ac15307ffcb211c83097fee0f38ca59340a7e68cac62730d39'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.50.0', { + 'checksums': ['2e84bf5351579f092df72afba90bab08a70c536e56400a05ae6d80ba1cec5ede'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.38.0', { + 'checksums': ['c240646e8cfe38456c7e223da4edaf8e4526678d887b896247fa129ed42960f6'], + }), + ('BiocIO', '1.6.0', { + 'checksums': ['b7f901ca3e6fa06171f839c088c8769a462533a3cf5b83eb7dabe64fb811489a'], + }), + ('restfulr', '0.0.13', { + 'checksums': ['7b59f5887aaf02f46a80617f4d1e0ffd4e11e4840e9e2fbd486a9a9c7f2d64b6'], + }), + ('rtracklayer', '1.56.0', { + 'checksums': ['cd215e2e7c0c5ab27c037869289598a25b300537d7ee8181dc6ce6dcc3543ab5'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.4.0', { + 'checksums': ['5cefe2e72648c0003ac74937b390ebda7258b09eed575b84de1cb5dc23adabad'], + }), + ('biomaRt', '2.52.0', { + 'checksums': ['af23f7f9fe0fe9f7a38ea56d49671d62076ec7f8b1039054428cdeecad9ac37a'], + }), + ('GenomicFeatures', '1.48.0', { + 'checksums': ['b86587355c00661257bf89e3c05a4a0da1e372c82f7b6f4263f01c44cdee4586'], + }), + ('bumphunter', '1.38.0', { + 'checksums': ['bc73783c84765a82f182ea17eb2cdaeea7631ed728eb7dd8aa5163c892be224d'], + }), + ('multtest', '2.52.0', { + 'checksums': ['02f5d868a59d849e7c9d528d7242843af2791312d36e5a5f9770f3307965fc0c'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.70.0', { + 'checksums': ['f4b454231928de76e85cd5582e69467de9c503b2e72610fa973b5cc444c5b22a'], + }), + ('DynDoc', '1.74.0', { + 'checksums': ['b1bfc7f8a519c4bd36a36bd22b16015900e3210ad3d8931be323d9401b6d117b'], + }), + ('NOISeq', '2.40.0', { + 'checksums': ['47cc6c13a1904f31f1b7ab206e438321208b6614d646ada72445900d6953062a'], + }), + ('Rgraphviz', '2.40.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.40.0.tar.gz': '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.36.0', { + 'checksums': ['8d9ffdf045b56a69f2109503a733ab9bd55801a42ac6e52b4d7983f1e6ec692f'], + }), + ('annotate', '1.74.0', { + 'checksums': ['4fc0553435855aa7dbf352a26b86e39936d4510ae03816f708e7091e6f6bdb74'], + }), + ('GSEABase', '1.58.0', { + 'checksums': ['0f9d54c3be70854e349e150fcfd28585c67a1eacae5a2c204acd89349e7f1be2'], + }), + ('genefilter', '1.78.0', { + 'checksums': ['58913b670b29109a7226320e1f99d795931991db1939ea3fa25143492d55e3d2'], + }), + ('Category', '2.62.0', { + 'checksums': ['0def183b2707c0a1c2341ba104bfc6cc59df31dd2a92c0fffacfb4e6d8005a1e'], + }), + ('GOstats', '2.62.0', { + 'checksums': ['35cbed07bac0e1c67ea9d469d335d91de8b5c229c810568f472f2b1777f23488'], + }), + ('BSgenome', '1.64.0', { + 'checksums': ['ace392a9db183effb8a55c1f74719ef00dee5ea2da2af6f383af77e354cdf89d'], + }), + ('VariantAnnotation', '1.42.0', { + 'checksums': ['3fae05179d419e49bd5e0e45425eb13b22a1d6f341a8544e0c973a956937aa6d'], + }), + ('interactiveDisplayBase', '1.34.0', { + 'checksums': ['af2d2e7d806a349bf87b0eb969da661c160ce1ff0747375b5708320059e9bc39'], + }), + ('BiocVersion', '3.15.2', { + 'checksums': ['d67d6ecbdc89c9a69bc05a950edde3658411407c67804680981843a2beb74467'], + }), + ('AnnotationHub', '3.4.0', { + 'checksums': ['bacb8e2c4f14168087aa5c463902f3f910acf27d224c4ad2ee69eb3c485fb50d'], + }), + ('AnnotationFilter', '1.20.0', { + 'checksums': ['8d2ab20f253890fd7a560bf16be9e9cdd9d130e66232da6c9f56646f1abb5420'], + }), + ('ProtGenerics', '1.28.0', { + 'checksums': ['05e06c4ed777360f6e027568ff6e3ae6e5de97e07ce52454b87f3584897c0c12'], + }), + ('ensembldb', '2.20.1', { + 'checksums': ['9fc77f065b629d3a4e9d11420f12d44ae15b12814c33337e4f76bb67c9d179a0'], + }), + ('biovizBase', '1.44.0', { + 'checksums': ['cd7f83e8170d22ef45a3a832475edffcc131707aa882a2d046f410bafd71dfb9'], + }), + ('OrganismDbi', '1.38.0', { + 'checksums': ['d9b3e40d252a8d15c50c9444e147b10d3a6474c0d4852092d36957d27c5474f6'], + }), + ('ggbio', '1.44.0', { + 'checksums': ['4734df49744bdc64c01720999565919620c52407c5de0782fb3625b50ed075d3'], + }), + ('geneplotter', '1.74.0', { + 'checksums': ['4cc610c37d6c5fa2eeb6d61c52fa1cb322658216035c99dcb654e5967f05438c'], + }), + ('DESeq2', '1.36.0', { + 'checksums': ['2737cdbb39d393262af22c37aa7e8db72375ff04fb6aeeb849cf098b2558bb1a'], + }), + ('ReportingTools', '2.36.0', { + 'checksums': ['104e5363b8756259028b1aba15d3f3adce99fce8488e09e19b5d06e83e6e0c65'], + }), + ('Glimma', '2.6.0', { + 'checksums': ['df6f7fd11e6c0913a8527d367624dd2ad21feedd2feff0a68262c19d805727cc'], + }), + ('affycoretools', '1.68.0', { + 'checksums': ['9d93de8b27d5b8621643e3f5a3c3bca11fffb30bd8f1c70bb2d848780c7e3993'], + }), + ('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.46.0', { + 'checksums': ['aa8b1482bae0a7a71f19191a9c0dba1411ac025ca93e47bf3c7bc1eb5f422c4a'], + }), + ('geneLenDataBase', '1.32.0', { + 'checksums': ['5f691667b53acb1769509540bdbdbf7001e5be4973b97a88f5567f8d47ab995c'], + }), + ('goseq', '1.48.0', { + 'checksums': ['88b45cf35e363e3c9b2edd6619d62be902ad97f40c835dfce9e2ee89e1e719f0'], + }), + ('KEGGgraph', '1.56.0', { + 'checksums': ['bdd9104ca0296d8f26d6719a2d9fdfaf9ed553b9b2f6d851c8103d760101f896'], + }), + ('GEOquery', '2.64.0', { + 'checksums': ['3f1a750ac1a7262ad6ac1d4ca69197e4fd64d53e9408f7b2e0be982fee994158'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.20.0', { + 'checksums': ['871f11604dd4e1923fc107a4c3df083ff41b8feb7332f765940bc8ec0e178c3b'], + }), + ('Rhdf5lib', '1.18.0', { + 'checksums': ['d253cfc669a2f67db4f0f817e57480178cfe088e380ab8e9cb53052e3bbd8960'], + }), + ('rhdf5filters', '1.8.0', { + 'checksums': ['7ad7b5ae372c1a700976768e37ad227475c675bc15333d8cac317c6cd106efc6'], + }), + ('rhdf5', '2.40.0', { + 'checksums': ['ce4585ddf67848e3b34c531e02df7ee712874127dd54eaa21ce8a2652b489701'], + }), + ('HDF5Array', '1.24.0', { + 'checksums': ['84fbce555988d3883e9c55e1441ba7bac5f97397a1a48c28af93a532c8913b69'], + }), + ('sparseMatrixStats', '1.8.0', { + 'checksums': ['a28fe0592793913b2c9c553bb15c71f741992ce88d27544475eb977bbc9a225c'], + }), + ('DelayedMatrixStats', '1.18.0', { + 'checksums': ['5b637538070ee949bad499390d140c0e8eac0d3f19655de71f5c64c092d99ce2'], + }), + ('minfi', '1.42.0', { + 'checksums': ['06e7596df31e8c01cd990f7f0dde3ef5e001cf58531ecb110f609658f8f9a508'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.42.0', { + 'checksums': ['9c4bb87b4f581ebe142ca1bd42434f07248250da793ef4490bd2d152b08d934e'], + }), + ('lumi', '2.48.0', { + 'checksums': ['2d7964151fc7eab8cd4bea18b17f2d3c60f233a5302bbf46d5d5fb200ba5f51b'], + }), + ('widgetTools', '1.74.0', { + 'checksums': ['cd2027038e0cb97a63dd0e7d01d5c3425c3a722c24c80d6f5dd1a84f60d18183'], + }), + ('tkWidgets', '1.74.0', { + 'checksums': ['60124d00b1b0839b6a25befcaa76433ec9c4b867b0457219592335f43561f12c'], + }), + ('Mfuzz', '2.56.0', { + 'checksums': ['04426eed6a20834f793024370cc9120e54be586f7ab417227c0c8b3bf87de567'], + }), + ('admisc', '0.27', { + 'checksums': ['23d46a081714431b6674281b3442ee4f8c3e7050f73b6f9dd38db23b36cc0e1e'], + }), + ('venn', '1.10', { + 'checksums': ['65422a158cdc8581182d3d326e448e43ecc3764501a5dab1ccac1234b4f961e4'], + }), + ('maSigPro', '1.68.0', { + 'checksums': ['2f81ff0150c613c3ebdd2eead744cbf4e5d5c68683be2213eba6b3d1254687d0'], + }), + ('SPIA', '2.48.0', { + 'checksums': ['fc246d7db41f6c34e6ca4d4f8fc63c20e79a171168e9e96283c8bf3e0ce9d5e8'], + }), + ('Gviz', '1.40.0', { + 'checksums': ['dd7e4b6ce5e896145721f1ecb7a2c7484380516285eb22d128eeafae292dd1e6'], + }), + ('cummeRbund', '2.38.0', { + 'checksums': ['185478a9e3ed1b8c8bc9e475a8cf42720ef1ca79078c1cc19dfe9b4162b58adc'], + }), + ('GenomicFiles', '1.32.0', { + 'checksums': ['6ea4efaf63ba8b3c6fe79f0c457115188dc358b25abb34b7c5d89924cee7f761'], + }), + ('derfinderHelper', '1.30.0', { + 'checksums': ['e5527df3b13f13cbfee97af8f60019df8ef2394e0d7911b4640556b74a5fff64'], + }), + ('derfinder', '1.30.0', { + 'checksums': ['3b9f4aea71f556219d262b216dcd5d7d38f5b0d4c09de9b466baa269c477d9ff'], + }), + ('polyester', '1.32.0', { + 'checksums': ['fe7cee66c8bb7bd1eab3a26852c34742524478b2b762bc5806a07b83df5345d0'], + }), + ('Rsubread', '2.10.0', { + 'checksums': ['fc6cbbde18d63c0aa4b3edb14554c23a8d37a545667a39973f4daaef111fa8b9'], + }), + ('pcaMethods', '1.88.0', { + 'checksums': ['2b41f13657f86c404851bc8164f748b755fb42f174b8fb4fa3ff80e30fd50781'], + }), + ('marray', '1.74.0', { + 'checksums': ['11d56753452ad1d9fd1829849dfcfe0de7b09b7a1d7619b8a75e8f3f15f88e2b'], + }), + ('CGHbase', '1.56.0', { + 'checksums': ['9971d4f559ad99604a43c664993360e3b42e5298afb9f5c4f6b63c9281f11ee1'], + }), + ('Wrench', '1.14.0', { + 'checksums': ['8afd0fa42accbd4058cf62a1edba2659047c49b911612d7441928753892ea6ff'], + }), + ('lpsymphony', '1.24.0', { + 'checksums': ['6f8c96972863d3c1ed8f55b937ceaf4e43832d59350d0231e2dfafa23502874d'], + }), + ('IHW', '1.24.0', { + 'checksums': ['aeea5a941d44a9b6c45e2bd7af5bcc40816b6565941282be09b09fdfcaf14ebf'], + }), + ('metagenomeSeq', '1.38.0', { + 'checksums': ['02cc936885c5835fb1a942face09618a4221d11e3c5f0741da00ff471a45106d'], + }), + ('gdsfmt', '1.32.0', { + 'checksums': ['000ff7bdfc325b8f37159d3bd3219fec95d2f92972ac2461e1de30f776f4bcb1'], + }), + ('SNPRelate', '1.30.0', { + 'checksums': ['4944f046e3068c0e018c8f8a4345657f349ec3071d89b1d8d8c6d94e3e8b75c9'], + }), + ('biomformat', '1.24.0', { + 'checksums': ['3669661b489e5bb1b1e230cf6989e2c2d759714b62f4dab2a5f559d86f94988b'], + }), + ('phyloseq', '1.40.0', { + 'checksums': ['5378322e1c0b71a3d7d5703cc8c14df1c7844753ebb89d5825872b1f3fd99e41'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.4.0-1', { + 'checksums': ['33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.6', { + 'checksums': ['34694b5c67ce8fcbdc90aac2ac80a74d4b66515f383e6301aea7c020009ebe7f'], + }), + ('ALDEx2', '1.28.0', { + 'checksums': ['68f4ddea3d672ed128ec8c48b252042abdfc1a535f9043949f2ce60de48da0b7'], + }), + ('dada2', '1.24.0', { + 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], + 'checksums': [ + {'dada2_1.24.0.tar.gz': '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b'}, + {'dada2-1.16.0-remove-sse-on-aarch64.patch': + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935'}, + ], + }), + ('LEA', '3.8.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.8.0.tar.gz': 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.24.0', { + 'checksums': ['1db129f369b37e5ebaefa85b724b1e640fa50c8317f009834ae7f37d0552d9b2'], + }), + ('SingleCellExperiment', '1.18.0', { + 'checksums': ['f76ccbb90d2cf14edca37f34815b3242e25eb18dd749eedd97f15b47f7c22a68'], + }), + ('beachmat', '2.12.0', { + 'checksums': ['0c292f7368fb6a7d0809f332a02576d6c6cdf3b86ae22fa493ae062ce5de8639'], + }), + ('RcppAnnoy', '0.0.19', { + 'checksums': ['89b209900516f3096b53c90937081fb8965c605c867aa465f1b3b68092b7688a'], + }), + ('RcppHNSW', '0.3.0', { + 'checksums': ['a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007'], + }), + ('BiocNeighbors', '1.14.0', { + 'checksums': ['bda4dfa69b93b21a4d6949e2ebaa4265d467b253130e7192c271f7cbea8783a8'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.4.0', { + 'checksums': ['949533de2730ae04794dc386e08e08f46a95471e1f32272fbcf01cbb6a31c05c'], + }), + ('BiocSingular', '1.12.0', { + 'checksums': ['7dd45d85c0c8248406caab4accb74b483d0066443e443b51bc5049602df32aeb'], + }), + ('scuttle', '1.6.0', { + 'checksums': ['42921bd382e8760f2c2ff9069192dcc90f81efc159829b33bb7a5d8e98795bd0'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('scater', '1.24.0', { + 'checksums': ['3c9718fd782a69159d4361f497fea417478682f200274b09b6c5d7c3dfcb1137'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('bluster', '1.6.0', { + 'checksums': ['681356e8ff7f8be93115a733f18b8a66a4ae8e841d59908d831ab67a983789bc'], + }), + ('metapod', '1.4.0', { + 'checksums': ['ebe8d6ce014448fe43b21cb5525339be95457931246a104ec6983caa1060e9a5'], + }), + ('scran', '1.24.0', { + 'checksums': ['1c997e6c653e74bc99a4b249ead5490e47523553adcf5f6f31aa8454066de775'], + }), + ('SC3', '1.24.0', { + 'checksums': ['e253051097403d8c5cadad27193cfc35e402efe943ed3132c4ce95fc53073d9d'], + }), + ('ComplexHeatmap', '2.12.0', { + 'checksums': ['c5e8e76184e7bf91b1b1ee36d48dd0b03ff08d019c567038cb37213ae94e6495'], + }), + ('GENIE3', '1.18.0', { + 'checksums': ['54ccf0e155f8160b5903a9bbfa77d05be32a9a65e472f7906a392dfbedb57b40'], + }), + ('dupRadar', '1.26.0', { + 'checksums': ['12b901d6d0cb6e74234a6d136593e06ba8be3ca05d0a92089d64367b9c6dc622'], + }), + ('DNAcopy', '1.70.0', { + 'checksums': ['8cc7c37dd99dc90d0543ae24e7662aa10a52788a6b54fdaccb04d165d1257081'], + }), + ('sva', '3.44.0', { + 'checksums': ['441d2096740bd7acceedd5704b104c077adf0226821f49b584405160732a424d'], + }), + ('ballgown', '2.28.0', { + 'checksums': ['089c8fcc1650fd4872ac5eaeb3dfbfd498d8cb977f46264bd4b54f5dbd1b1851'], + }), + ('DropletUtils', '1.16.0', { + 'checksums': ['9cb38acd4097f448dd39ead182f6cf36a9b83e124245e7e21d4681d323f408ff'], + }), + ('DeconRNASeq', '1.38.0', { + 'checksums': ['661e11800fc7ce9706e735b18e0a16e0176a9a6b133a102944a5f6ac119a5583'], + }), + ('GSVA', '1.44.0', { + 'checksums': ['8fb2759b927aa9b544d16c46737c549d77f06fbf4783984c8a9306850463b706'], + }), + ('PureCN', '2.2.0', { + 'checksums': ['db490d56e6f69c15e3d9967a1e9eecf2647bf029b60b6e032d0a6a297a52a6e5'], + }), + ('globaltest', '5.50.0', { + 'checksums': ['452736d1d75be95b5781888eaf0d0fc0809e9539bb0f74882f111c9a6a4fb055'], + }), + ('GlobalAncova', '4.14.0', { + 'checksums': ['641b24765da7bdbc5fa76c9a3edd19e37274c1e99dc4714e432e3a06e8048507'], + }), + ('vsn', '3.64.0', { + 'checksums': ['0ebf308a53caf996c5cb93685cddef071bb68975df25770a0dc7f4b765db47c9'], + }), + ('mzID', '1.34.0', { + 'checksums': ['c1245fd0cb5cd23601794520b9786e37f63887532d8f7a3449a4d9a4bcc72ae0'], + }), + ('mzR', '2.30.0', { + 'checksums': ['ba318b62d3a5d1297f25360eca1e29f926e7679351cf129ec36b0ab2e0000ab7'], + }), + ('MsCoreUtils', '1.8.0', { + 'checksums': ['f0f7d14b2d8560043a06dcad0c957d4c2070922cc7caa7ea54a81fe1d90ffd1c'], + }), + ('MSnbase', '2.22.0', { + 'checksums': ['a38f0232b8aa8b1713cf5f9071447a3a00c1866f0d82b49f61c672c1c604f6f7'], + }), + ('MassSpecWavelet', '1.62.0', { + 'checksums': ['69b44651c7b7862523617d8f9b4700652af01b5485e0e574fd011e377cfb313d'], + }), + ('MsFeatures', '1.4.0', { + 'checksums': ['037b64dada359ed60c4c5ad474c20560251ba13e827c24c9ba250c4c30c33184'], + }), + ('xcms', '3.18.0', { + 'checksums': ['b58763f7c1520c7b02702cc371a2a0df3419a5deae3d223cc24552248e685f5c'], + }), + ('CAMERA', '1.52.0', { + 'checksums': ['257b25b53fe9e73b6b6d1a366ca0a9160d307527eecd2fbf47c1a1872a88e84b'], + }), + ('fgsea', '1.22.0', { + 'checksums': ['ef56433dfff96c1ab20737d6af954c1c6f5158fb74654ce875849aa8def3d646'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.62.0', { + 'checksums': ['3a2bf8786a52c3709c2b5baf006f77365acd806cc2383005b24d471a43a8ea08'], + }), + ('GWASTools', '1.42.0', { + 'checksums': ['9fc08c28ece2f22ba9b834645f0c2e6bc0105a869f08338012c717a9ae620f58'], + }), + ('SeqArray', '1.36.0', { + 'checksums': ['3e03fd8dfea39b7482d3d76870d41eb93653afbb5b8f3ce2d42611c82af7d58c'], + }), + ('SeqVarTools', '1.34.0', { + 'checksums': ['6a2c3275c4adc0d6fab912b5d00747456fd80c2c8063172ac6de250cde5c2abe'], + }), + ('GENESIS', '2.26.0', { + 'checksums': ['2c517d2e008cd2d4fbb5b19c7ed0e58b33b5fb3a8fa7aec108dd6f9aa4e9c3e2'], + }), + ('MLInterfaces', '1.76.0', { + 'checksums': ['453f7b0aa2a91f5e3815b9ae37fe3e0dff1dfa19a3840f089bee46d9670a2d9d'], + }), + ('pRoloc', '1.36.0', { + 'checksums': ['ffba6a8083ffd1153c6880f3e5f6522a96f5f1c578d29f68f9691bc059b7df86'], + }), + ('pRolocdata', '1.34.0', { + 'checksums': ['10030fafa36d8ab321e98341b471e4f08072974797074bf69d2faa54bddd33ac'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.5', { + 'checksums': ['9ac25e979db9242598bd0492ff862360009b51ce672184ec9f4eeb2232164979'], + }), + ('shinydashboardPlus', '2.0.3', { + 'checksums': ['49a88cfa396f880ff4faf558bb038763084287c932e27b0c9251f4d676584d83'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('shinyWidgets', '0.6.4', { + 'checksums': ['52a3553c41bba75665c2c4f69996653987f894bc4780d282b7c0b00f488cf7c8'], + }), + ('pRolocGUI', '2.6.0', { + 'checksums': ['b097d2c35429c5612b789af3438f9a83926659ffc0e019ef7b32d017fcb48848'], + }), + ('EBImage', '4.38.0', { + 'checksums': ['510381699581592915aa5e73271f99b8ca73fe2a92fb96b86a699ac157219ded'], + }), + ('GenomicScores', '2.8.0', { + 'checksums': ['319d3548cea4d9d5dcd7aa7d479c585f5ee85c60dace9c1c098cb6840299097f'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.28.0', { + 'checksums': ['6ea89b61959317a16a16a16f589df0996eb55123814a7674fab18720b6889087'], + }), + ('InteractionSet', '1.24.0', { + 'checksums': ['a56a76d729d30824b533e01692f0badfce6abe708b568870d4a86e5944af5162'], + }), + ('ChIPpeakAnno', '3.30.0', { + 'checksums': ['6e3669676cf13cc9d98c6b6eff396cd9396e8696bb1442ad63d0b43fa41906b2'], + }), + ('seqLogo', '1.62.0', { + 'checksums': ['b9f3c5038c8ca343f25a938ccd87a90ef1ee99be4bca474dab4c9d50d11063d2'], + }), + ('rGADEM', '2.44.0', { + 'checksums': ['e4d928382ff48651860057cbf66e30c9670c4ee97322d761b2c00e063e6f7d04'], + }), + ('MotifDb', '1.38.0', { + 'checksums': ['7165a40692d2c906cfbe6513e5e2759ff6efd3e00547d5e288b16d0f28f8ceb3'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.32.0', { + 'checksums': ['780a43bba1307625b1bf395c20a22002b7338ea3796f2e20eef95ab45dc9fb17'], + }), + ('DirichletMultinomial', '1.38.0', { + 'checksums': ['bdae3433f4fcf27f8aae91f7ee5f14c4b6f6263d7ba89d4bcd9502f4b1808096'], + }), + ('TFMPvalue', '0.0.8', { + 'checksums': ['6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841'], + }), + ('TFBSTools', '1.34.0', { + 'checksums': ['3c899efd9c44cb9398ecff7a6fb40fa8fd2dc9b4deaf8fd3684e9ece440ed250'], + }), + ('motifStack', '1.40.0', { + 'checksums': ['1fe01cd6ae2e700f35d21c937976cbf48a331626c086e4cc5e9f41364e875134'], + }), + ('ATACseqQC', '1.20.2', { + 'checksums': ['17cf6c17610c287a187010f30b880ae57e5e9f9ef42b3d018fec01c92ab0474a'], + }), + ('ResidualMatrix', '1.6.0', { + 'checksums': ['445b280e890d70303200a48599211c25841c03b564928cdf15924ba0f61b59de'], + }), + ('batchelor', '1.12.0', { + 'checksums': ['17dad6caaffa9e663577999ab514a8a143b5019ae58ba253d4487e47c3b7cc56'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.60.0', { + 'checksums': ['ec7e0b3897400f8137b33d01d3f8c0842991c1ac273ea17ea9518617eeefd5fe'], + }), + ('R.devices', '2.17.0', { + 'checksums': ['c2d4b12949e0faab414c9f7575e39ee9dbf50ea12d858143df529f15ea365fb6'], + }), + ('R.filesets', '2.14.0', { + 'checksums': ['707dd7c099aeadbecebbd2ba57e6400405aa44487c641f3729ce06c4c642bb23'], + }), + ('aroma.light', '3.26.0', { + 'checksums': ['da6fd263bcf8a66b8b6f09bc16a1360fc5c92c4c415794d22b4038bd79da8088'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.2.2', { + 'checksums': ['35e0312e403a1894da036afac12d1d727c937e666d7eb400bfe4018b21244855'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.0', { + 'checksums': ['87513774baeed8e1d43f819e615c85278aef748ebc842f1ee50686c3392e37d1'], + }), + ('aroma.affymetrix', '3.2.0', { + 'checksums': ['d279cf13cf6ed8369cfdf6682ace12924379bad578003453449aa1ccec31b0a7'], + }), + ('Repitools', '1.42.0', { + 'checksums': ['48a60c930cae9343b0820c88e274c6c5c473fc73075ef966ff272a3e70f35ac9'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.4', { + 'checksums': ['024e3571b70f8e07bd50c4dd4d2dc05288497bf5409a9ac4ef12db94b081b50f'], + }), + ('MEDIPS', '1.48.0', { + 'checksums': ['a025c9f0c5846ecd9e16ba3945c6522080272789c46ebaffb1cb422c8f12afe3'], + }), + ('RProtoBufLib', '2.8.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.8.0.tar.gz': 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('cytolib', '2.8.0', { + 'checksums': ['cf4b6d2f32610c14c967ac791ea762e187776ace978c6135a2453116b51865a1'], + }), + ('flowCore', '2.8.0', { + 'checksums': ['19ce4ffbf70bd3b5a68b045f0c4a21f85c0586ff0817be22d01b44c2b289cc9e'], + }), + ('mutoss', '0.1-12', { + 'checksums': ['2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa'], + }), + ('qqconf', '1.2.3', { + 'checksums': ['9b5b6042ea8e52e6e049807c0b5e3bfd534b624bd257be769de69cf505fece62'], + }), + ('metap', '1.8', { + 'checksums': ['ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b'], + }), + ('uwot', '0.1.11', { + 'checksums': ['4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b'], + }), + ('scattermore', '0.8', { + 'checksums': ['dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5'], + }), + ('SeuratObject', '4.1.0', { + 'checksums': ['9ca406cb3bd95c588e1a81c5383e3173a446cc0667142b139ca32685b4b20a05'], + }), + ('Seurat', '4.1.1', { + 'checksums': ['201aa96919b32378fc4cb67557188214c1242dcbae50cadd7d12c86666af8ace'], + }), + ('ALL', '1.38.0', { + 'checksums': ['1fdce1f158f0c8c68ab9c86e0464ec9e70a8a3470d6a3da7abfc88d10b012010'], + }), + ('ConsensusClusterPlus', '1.60.0', { + 'checksums': ['f7809db4eef81367be8b92b327e64dfd373e689893f0a99dd238e54a7a644180'], + }), + ('flowViz', '1.60.0', { + 'checksums': ['0efd9db768ea51a4137b0991fe6f83a6f25413d23d4275d1aa069b9d997dbe9c'], + }), + ('ncdfFlow', '2.42.0', { + 'checksums': ['9528ac9f6f87a0e749126d7e73a83695775a38c968cc0b4ad03e34f67c466aa1'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.8.0', { + 'checksums': ['5a6305edbe8da4651bfa8d4d866411b097833d12ad55687a91a133244c8a3e66'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.6', { + 'checksums': ['63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.0.3', { + 'checksums': ['205814b9812664e8201221f99e0e8391aa49dba2ae287dc404c57c0c492477d3'], + }), + ('flowStats', '4.8.0', { + 'checksums': ['9243df5cb48531a08137d9789f5e7a797c4cf60102ccb14fb397560195486cc9'], + }), + ('flowClust', '3.34.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['93aeb50d3fd5c3fa3c9951496e639e0bf17cff8d13cb0bed1749418574aabb14'], + }), + ('openCyto', '2.8.0', { + 'checksums': ['3ee8bc6bdd7273fe41d6ca7167dd1666f5f2ad9ee5b3e53c97e038095476e5db'], + }), + ('ggcyto', '1.24.0', { + 'checksums': ['a90c69fb3a6c6290f05af1aa6feb478718d8d43d2a8193fff4f51c75dbf6cc6b'], + }), + ('CytoML', '2.8.0', { + 'checksums': ['399f4daacc8b69adc47f9a804041af443d28b5f2ea5f094d2aa805e87653e76e'], + }), + ('colorRamps', '2.3.1', { + 'checksums': ['61f1290824380ae2fe4649f296649e0a155b73ced41479686150400f8a9c568a'], + }), + ('ggnewscale', '0.4.7', { + 'checksums': ['6b12ac9947fd3161941b2bb85c00a18d5fc794ad8b1e22a6f37f63ac8d3f0a81'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.4.0', { + 'checksums': ['8518c515dfefcf9ba970a6e99815cc2af9809b1d5bb6aa300b28d55a74d3542d'], + }), + ('HMMcopy', '1.38.0', { + 'checksums': ['7d30c261c3c9299c0dcd1f31488a5adb8191ad13b4267aaea0db77ddb920eb42'], + }), + ('diffcyt', '1.16.0', { + 'checksums': ['abe58173f953fd273e93dbc851e0735357fce9f4c4aa1e2a3d8f88573ff5da57'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('variancePartition', '1.26.0', { + 'checksums': ['9b9fe9790c06ecb7c945685b8956e20d9f5b772745c3f471f6fd818528ee6172'], + }), + ('muscat', '1.10.0', { + 'checksums': ['b967cc258a3e993bb1e09db295b2cb804ca22069b1e961c7831bc6ff1efc1319'], + }), + ('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.30.0', { + 'checksums': ['c80828acdc1855186d6c85cd15c84871a344e2060a43cdf974ad4ffdf736efdf'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.4.0', { + 'checksums': ['74d2b33433436f0c01e1a5c42538044d130439d84df07be60f5f859a37521686'], + }), + ('SingleR', '1.10.0', { + 'checksums': ['beb04226eb673fc592df7dcf7bd4e5301aaebb1af1a090221dbb0bfebc617e61'], + }), + ('FlowSorted.Blood.EPIC', '2.0.0', { + 'checksums': ['44323f350cec601eb73c3235571b02b18e4f0e9633c9f8ab88377fe9f28a17f3'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.12.0', { + 'checksums': ['9b12170568c3ba8c7f71c339d9c43d020e0c36c21f59851fcef98c78cf0bc0dd'], + }), + ('DRIMSeq', '1.24.0', { + 'checksums': ['94a4fd7143ff3015ebb830445de6517394cb9fb976b5f201f76a10190722f0b6'], + }), + ('stageR', '1.18.0', { + 'checksums': ['3e7141d1b02c44b124a3b6d981b1cdf0389c1af1b1b00c758e4659420d8c435b'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.15.0', { + 'checksums': ['c658df080feb03fedfcbb5f772f3683ff7272b2de3deee055292005b3093d78a'], + }), + ('org.Rn.eg.db', '3.15.0', { + 'checksums': ['e09eb3e6a7d8c73ba3de018d8e9715b353ad5f5dfd8a488d67e016d115dea47b'], + }), + ('ROC', '1.72.0', { + 'checksums': ['62077c63539636fbf21ad5630aafe369d789c8355050a3a56df82f214103d879'], + }), + ('wateRmelon', '2.2.0', { + 'checksums': ['fb92984b6eafe8bc56849e1520961749dec7285e195c5e8754ccedbc94f3b829'], + }), + ('GLAD', '2.60.0', { + 'checksums': ['bf00850efc7a19f61cf3ca825a48f7206e8339e036ce465a7ddc1f6059645509'], + }), + ('missMethyl', '1.30.0', { + 'checksums': ['81fa1e991bc3dbd5c2ec8fbdf2a55ab935f0c231f8bc71666855f7bc8c22d146'], + }), + ('MethylSeekR', '1.36.0', { + 'checksums': ['5fa7880d1967570fa5ea2c2526fe47c6323eba7377cf0cf774fb26e21bd13590'], + }), + ('affxparser', '1.68.1', { + 'checksums': ['9a462b6dc5c3592b32cdc06afc4cc3d50bdb0f419c9156c9f7ed1faff913a99b'], + }), + ('ccdata', '1.22.0', { + 'checksums': ['cc5057a0cdd38adc36fa3642df5d5fa40c4f94029840b8e38b57e0f307cb8fbe'], + }), + ('lsa', '0.73.2', { + 'checksums': ['cb0017bbda9b0eb1d05b451e0f557d02f789f65b2f8bf005606b63a3708e63a8'], + }), + ('ccmap', '1.22.0', { + 'checksums': ['c7cbf2e562b392ec795aebd9bd52313866cfd10add80af012399064bc1143c0f'], + }), + ('oligo', '1.60.0', { + 'checksums': ['7e97ad2b355b31679175634c7a8c1cb120334e1c8808dc75412b55a7b249f278'], + }), + ('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.22.0', { + 'checksums': ['aeafe570de4b38366911fd748a970c987d0f1a628bdaefd25a6bfdb6ccf7b40e'], + }), + ('snpStats', '1.46.0', { + 'checksums': ['42911ba76e4b38f4d3a01d5de81e59d10462d79f5cc642a62c26d9c3b02dab28'], + }), + ('mixsqp', '0.3-43', { + 'checksums': ['58042d832803462ca03197a9dbd49d022378756de8996682b89e6bc009d02ce2'], + }), + ('susieR', '0.11.92', { + 'checksums': ['6bac024fbaba792531a0f2e3904051dfda8cabd850d87b6b33ee2daa77209cf2'], + }), + ('coloc', '5.1.0', { + 'checksums': ['9a2f65cef45d0626513e7b9b4e10b499a7f737f55ee18110201da1f4d156aceb'], + }), + ('SCANVIS', '1.10.0', { + 'checksums': ['276c44e0c9db797442423f0851a22c8695f547eaa603c3b4ed72587f5ffdd38c'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-5', { + 'checksums': ['83822535608b5307ca7d0067dbcf1ea3b7f2b1be17a52a55b72cc9f3c6bdec5d'], + }), + ('bookdown', '0.26', { + 'checksums': ['c6207288cb72ea7c555cbad449c61278e94b742cac1f610879fb3f2d60b2b185'], + }), + ('BiocStyle', '2.24.0', { + 'checksums': ['459527c4b14b003f9446f13ec7518b76032a4bc612c398420f38ad00c48a91db'], + }), + ('estimability', '1.3', { + 'checksums': ['a33179c5fbd6a1a623d90cb6f1743148f92c09429fac466867f3ea70946a2e32'], + }), + ('emmeans', '1.7.3', { + 'checksums': ['c646a62772171f9a6f4810673e61bb6e0a7fb60b6310cc55a91377f7878d6b4d'], + }), + ('ggdendro', '0.1.23', { + 'checksums': ['3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8'], + }), + ('pmp', '1.8.0', { + 'checksums': ['692aad74ef842f485969ac2b22dc7d79645cb52f5e9f653fd999eeae375b6e89'], + }), + ('MultiDataSet', '1.24.0', { + 'checksums': ['ce62949e80a88d2e901878a8fc23671751563fa764ba7783ac2406f8a734da65'], + }), + ('ropls', '1.28.0', { + 'checksums': ['c765e47ab30457defa89614695ba5f693e90ed613a5af117152ddb29ab182fc5'], + }), + ('ontologyIndex', '2.7', { + 'checksums': ['33f4918cafb983635f9f831553daf15e10103dc375475e170f104a8eaf0e7048'], + }), + ('rols', '2.24.0', { + 'checksums': ['8229167008f254b6b4c9f3793b94e50ea9ab88b5ebca3b385b7e65049d3d8e16'], + }), + ('struct', '1.8.0', { + 'checksums': ['4080796019da2faed837b098731402a66fda365cfa6e88539ae0822ace168d0d'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.8.0', { + 'checksums': ['b29d3000686b4cc73364c30b4b01cb097901cc9036db2648569f78b9f052b104'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2', { + 'checksums': ['1a1f54d6b0dca6ae83e3f729a1895c91c58bfe55427dacc50ddb0d2c5d32a9f6'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.6.0', { + 'checksums': ['dfb465c18c23ca9d870ca148127bd73d3d840241807ec7c366432eab4bb000ba'], + }), + ('motifmatchr', '1.18.0', { + 'checksums': ['e8a07d39783a8a69c3a69803f5804326265377af6c03654bfe434cde2b0056eb'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.2-0', { + 'checksums': ['2a7eee07197d01e3637fbb35beefbcd5211759a20974880d07abb3294e025308'], + }), + ('qap', '0.1-1', { + 'checksums': ['60bd564bb0e6325de44351af33870177d84b1c00ded142a2efb12a16a20d4d34'], + }), + ('seriation', '1.3.5', { + 'checksums': ['f905e02f7cdb8a28c89c1d2578b1bfe62914d14110587fa2a905957771059236'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.3.0', { + 'checksums': ['0a5d269c4837dd66fbfa6b87fd648bdef222f1ad6f33df3f695d5164d6f71ef1'], + }), + ('OUTRIDER', '1.14.0', { + 'checksums': ['d1e57f34c7052db751a639029a47959b9baf9d2988795173ced69c06041cf72a'], + }), + ('FRASER', '1.8.0', { + 'checksums': ['a9f5f8070926a8575cbf61ca4a4c5198ad56fcb4f27f10d820789e18a1d47e61'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.18.0', { + 'checksums': ['ffb545fc19b2fae164cc195f812cf062024175c3d0de502b4e5e5237b62db085'], + }), + ('RcisTarget', '1.16.0', { + 'checksums': ['35124ea89250e397cc8ee591c09af1203c85a70ee8517df61812cb6cde94d69d'], + }), + ('NMF', '0.24.0', { + 'checksums': ['481811d35b3bbc07e9a60e2f853b05ef26581b43be9c6c4bab81151b8dcadd93'], + }), + ('densEstBayes', '1.0-2.1', { + 'checksums': ['4b7066e18902ee2a0ea084513b237b5fb8e43fe3102354c2fb216d5a8c7df5df'], + }), + ('reldist', '1.7-0', { + 'checksums': ['51ba13e16fdf8d0c4ea497f2b28369f5d966a0b5d4fce917a9df993cb8690444'], + }), + ('M3Drop', '1.22.0', { + 'checksums': ['4b09b331181219980ba16d89e6c3891fc45cfa32526c7fc23900d4c9e1911841'], + }), + ('bsseq', '1.32.0', { + 'checksums': ['25cee0bcaf95eeb734a76ad55f4e508b1201d99363b401df3d0d9ab5c58aeeca'], + }), + ('DSS', '2.44.0', { + 'checksums': ['561a87d9ca20c7607a2c6816ead719d16da4c0f19dd94d9e69543499e058858a'], + }), + ('pathview', '1.36.0', { + 'checksums': ['b861a0bf041ea83a0edd6f3bfe3aa73cd1879e48373ad117752c08774098e290'], + }), + ('chromVAR', '1.18.0', { + 'checksums': ['d514d3a0da41b71daabe7c273ec38fd52577caf46a0427000096ee49eadc1a6e'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.71', { + 'checksums': ['21f5349e888ea76241912600ee5c35a0d2fd50180568b9b08b2b597f099bf708'], + }), + ('DNABarcodes', '1.26.0', { + 'checksums': ['867590e663f88db8f757b275f28cd5c75dc6e14eff1d91d7c83d43c9eea65858'], + }), + ('MultiAssayExperiment', '1.22.0', { + 'checksums': ['0127ce0a68624c313874a177ea58d00046b3d2fdcd3efc79b0ddc59da828d7f2'], + }), + ('CAGEr', '2.2.0', { + 'checksums': ['1cd64f6b045a5e246ae92cd709234c806edfcc25463819df0bd32fe4f4b2fd0d'], + }), + ('SPOTlight', '1.0.0', { + 'checksums': ['f6baf718e468292960884a1aacdf8295f0864d771f5eb0f2088fb9a1bc00dcc0'], + }), + ('CGHcall', '2.58.0', { + 'checksums': ['c5e86b9234685462b7330c85b91ca648a801a76c99f3e98cd509ac47ee8afae2'], + }), + ('QDNAseq', '1.32.0', { + 'checksums': ['75bbde9b6cc55cd6a47b9f466358033a180b480def2144abdcc93a2a8e066668'], + }), + ('HiCcompare', '1.18.0', { + 'checksums': ['b9320fa7a9f10832e2ac7ade0245f85ac4c2c26edef2580078888f5e1050ee2d'], + }), + ('ROntoTools', '2.24.0', { + 'checksums': ['dec7ec0d6d709fbdb44d595d776fc462420957e5c23c7bd6d2d63f5a44df04dd'], + }), + ('scDblFinder', '1.10.0', { + 'checksums': ['c0834495a342c6467d64dc899ba5913354ea5d53037c9be95e639950db6e2478'], + }), + ('HiCBricks', '1.14.0', { + 'checksums': ['ac998260ffa66ec93a4c34e56cbaf392f76a848ae35b9ea987f0ec15f0adc47d'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2f9800a49ad --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.15-foss-2022a-R-4.2.1.eb @@ -0,0 +1,1238 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.15' +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': '2022a'} + +# lpsymphony fails to build with pkgconf, so stick to pkg-config +# error in: https://github.com/easybuilders/easybuild-easyconfigs/pull/15829#issuecomment-1178655286 +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('R', '4.2.1'), + ('Boost', '1.79.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('arrow-R', '8.0.0', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.15/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.15/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 + ], + 'source_tmpl': '%(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 7th Nov 2022 +exts_list = [ + ('BiocGenerics', '0.42.0', { + 'checksums': ['0cb6fa74a389693d253a9f61935d335fcfcc1dfe5acbba78b3cc43c1af5d6947'], + }), + ('Biobase', '2.56.0', { + 'checksums': ['7b49f4336b1b9323b02b6819ff3bb8347e47e696ec0802cc4d0758858e9fddd6'], + }), + ('S4Vectors', '0.34.0', { + 'checksums': ['9368ef6636862f02a7cca0022b94975a21a1a4ac434f7b44411c52d83e5c7e48'], + }), + ('IRanges', '2.30.0', { + 'checksums': ['1331cf39cab3d0e2233247bb6e9d439e0e804c2a3336c103cb195fb2802ddd41'], + }), + ('GenomeInfoDbData', '1.2.8', { + 'checksums': ['576750330a011c1eccb47c7154ca1b40ae4cd473fd7973f6c2955237a0729eb4'], + }), + ('GenomeInfoDb', '1.32.2', { + 'checksums': ['b0a7bed8527c89b04f96bcc169366c6b238b45d32fa760177ead6227165f67d8'], + }), + ('zlibbioc', '1.42.0', { + 'checksums': ['fbf78b33def67a1778e97c15c5161c095268c14baf14ab559dcaccd6a34c1e70'], + }), + ('XVector', '0.36.0', { + 'checksums': ['136e5bc29f3d64634eff01794cb7824171df2300721c3ac24ceba5233c5e7ab8'], + }), + ('Biostrings', '2.64.0', { + 'checksums': ['e8c1dfbeb4b00d1dec1234693ab5ed6152fdd93c3afabd84173cd1843e14e5eb'], + }), + ('KEGGREST', '1.36.2', { + 'checksums': ['fc7d4fcad2a08d5b8a7d4cc620a5ad3e2a588e406e4fa8fe5ef902e4111fc0e6'], + }), + ('AnnotationDbi', '1.58.0', { + 'checksums': ['96bf9c24b8401361c2c9d4efbf6f93a790becaba449edc06e5322116e9f19c95'], + }), + ('GenomicRanges', '1.48.0', { + 'checksums': ['d623d25b9eb20d4b48f42f6e30771101503b8e9e1592d76e310273ca54d81921'], + }), + ('BiocParallel', '1.30.3', { + 'checksums': ['22318a3b47b56492445c1f2125a4dcef6dbb40dd94c594863bbd26aa55e543e7'], + }), + ('Rhtslib', '1.28.0', { + 'checksums': ['4e48c8643e5d3429238ee76faa4c68ed8a7028e7f594c109ee75f5e994d17c1e'], + }), + ('Rsamtools', '2.12.0', { + 'checksums': ['20e860c61ef66f8e61f8de7f77c4a244439c8fe39286d080cd580417073894f2'], + }), + ('MatrixGenerics', '1.8.1', { + 'checksums': ['ee8c3c0eab964f505bd570c083e88218bb4d6342adb406f3efd2fbf8afa52bd2'], + }), + ('DelayedArray', '0.22.0', { + 'checksums': ['1ee707dc606f257020c2654b21305045f4da9dc2943e6246a0bd25f5f1302d86'], + }), + ('SummarizedExperiment', '1.26.1', { + 'checksums': ['697c5faf7620dbb336591463bcb027d45a297197ed012a13d0327aaaebc7740b'], + }), + ('GenomicAlignments', '1.32.0', { + 'checksums': ['71354a8f7b07283065bff8280558a15ddfc35a6d225de2d8f7c5214400a3d5c5'], + }), + ('ShortRead', '1.54.0', { + 'checksums': ['18ca2c82688c158cdc952436434d4a608000ec4c02b199a0925c6cb2500a030c'], + }), + ('graph', '1.74.0', { + 'checksums': ['e4d1389e5f148fa6ff55299b29f096bd9cfd5d772691a0298b53a027b9cc10ad'], + }), + ('affyio', '1.66.0', { + 'checksums': ['d7bd8ba9f3a24f6a74c28226765cecc6e917dbf1028cfa04dce6cfbfb1409ca5'], + }), + ('preprocessCore', '1.58.0', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['6e36ad18eae494105b88f5195493b8ac3decf1c588cb4cddf5cf6c0801b817eb'], + }), + ('BiocManager', '1.30.18', { + 'checksums': ['f763126b45614e1b83260da5311923eac50db24002f3c22fa5f667434a5b5c35'], + }), + ('affy', '1.74.0', { + 'checksums': ['87b54c76d72abd9a44041772914451ab426df6d4aac9b1e6e39254d2883f870a'], + }), + ('GO.db', '3.15.0', { + 'checksums': ['bac91d73c57f206fa5bc4a501a2aaf61b365cf411181ce44353370cdbc132d99'], + }), + ('limma', '3.52.2', { + 'checksums': ['c5ccd94d05286cfdbbe7e139281e2a6c41e62b3446e3e1da170e1157f1451755'], + }), + ('RBGL', '1.72.0', { + 'checksums': ['fe301943e9444a43ac14b874bd984931cd9b13f491b70b9ed58928da7742005e'], + }), + ('org.Hs.eg.db', '3.15.0', { + 'checksums': ['1dc9bb6019e0f0a222b9ec84a1c5870cdbca480f45d9ad08e35f77278baa3c5f'], + }), + ('AnnotationForge', '1.38.0', { + 'checksums': ['e8fffd592a364e0154c255964cbfd198b6f6f6b227c83ca4f4efa9d69b722ca3'], + }), + ('annaffy', '1.68.0', { + 'checksums': ['f8d532a12f6d21d7f5c2ef1025a74b75ab9b9ecf0ce66e0c24a310bab89d78b9'], + }), + ('gcrma', '2.68.0', { + 'checksums': ['cd380cfa86dfdddfca88b83a81a23ed03c3ec69a6790618dd24f8025f28b488d'], + }), + ('oligoClasses', '1.58.0', { + 'checksums': ['b3d5a3f276419c27b7e5f1b164713138098101ad67875194e2a5ba401f289dd4'], + }), + ('edgeR', '3.38.1', { + 'checksums': ['3356f4f1349267091db058367f2f74faf78b5a7b42dfc7c1f0af94604e1d23e1'], + }), + ('PFAM.db', '3.15.0', { + 'checksums': ['e7036a5f76779ab6e8a32eb659c54f52426c4824dee02903cffd85bed372720f'], + }), + ('perm', '1.0-0.2', { + 'checksums': ['729294987bb0f367c67c4bf4071464e097ec9a2bbdb2c63f19ebfb907c604aa0'], + }), + ('baySeq', '2.30.0', { + 'checksums': ['52d843b27f8d48b8119ded918fd88b17640c0271d8a07e66165a8ced9b9d1efb'], + }), + ('qvalue', '2.28.0', { + 'checksums': ['dcd72f19ed80eb22b27b04fef42d1472d3246f78b18d2414efd6b24659a97033'], + }), + ('impute', '1.70.0', { + 'checksums': ['22a7e1e1067a435e890d76cc9caaca806d2bcbffb7973207f1a646e0eff96085'], + }), + ('shinyFiles', '0.9.2', { + 'checksums': ['8fbe4b8e1478c5e5efdb8fddcbe210fd2275e61d9ff06efa1672f61dd3268ad0'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.50.0', { + 'checksums': ['2e84bf5351579f092df72afba90bab08a70c536e56400a05ae6d80ba1cec5ede'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.38.0', { + 'checksums': ['c240646e8cfe38456c7e223da4edaf8e4526678d887b896247fa129ed42960f6'], + }), + ('BiocIO', '1.6.0', { + 'checksums': ['b7f901ca3e6fa06171f839c088c8769a462533a3cf5b83eb7dabe64fb811489a'], + }), + ('restfulr', '0.0.15', { + 'checksums': ['40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692'], + }), + ('rtracklayer', '1.56.1', { + 'checksums': ['9acadac5fface3639c779d9116cfaf20708fe200163b1c0e92af8e228c4e1e83'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.4.0', { + 'checksums': ['5cefe2e72648c0003ac74937b390ebda7258b09eed575b84de1cb5dc23adabad'], + }), + ('biomaRt', '2.52.0', { + 'checksums': ['af23f7f9fe0fe9f7a38ea56d49671d62076ec7f8b1039054428cdeecad9ac37a'], + }), + ('GenomicFeatures', '1.48.3', { + 'checksums': ['815eaac9baf0ded8a5589fd9cf825f49f3ae802cb0769d2e301479a16ab82438'], + }), + ('bumphunter', '1.38.0', { + 'checksums': ['bc73783c84765a82f182ea17eb2cdaeea7631ed728eb7dd8aa5163c892be224d'], + }), + ('multtest', '2.52.0', { + 'checksums': ['02f5d868a59d849e7c9d528d7242843af2791312d36e5a5f9770f3307965fc0c'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.70.0', { + 'checksums': ['f4b454231928de76e85cd5582e69467de9c503b2e72610fa973b5cc444c5b22a'], + }), + ('DynDoc', '1.74.0', { + 'checksums': ['b1bfc7f8a519c4bd36a36bd22b16015900e3210ad3d8931be323d9401b6d117b'], + }), + ('NOISeq', '2.40.0', { + 'checksums': ['47cc6c13a1904f31f1b7ab206e438321208b6614d646ada72445900d6953062a'], + }), + ('Rgraphviz', '2.40.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.40.0.tar.gz': '94a4ce168efe39046fe10e2d75a9e459158716b4ef6ef977a0ced725f871cee4'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.36.0', { + 'checksums': ['8d9ffdf045b56a69f2109503a733ab9bd55801a42ac6e52b4d7983f1e6ec692f'], + }), + ('annotate', '1.74.0', { + 'checksums': ['4fc0553435855aa7dbf352a26b86e39936d4510ae03816f708e7091e6f6bdb74'], + }), + ('GSEABase', '1.58.0', { + 'checksums': ['0f9d54c3be70854e349e150fcfd28585c67a1eacae5a2c204acd89349e7f1be2'], + }), + ('genefilter', '1.78.0', { + 'checksums': ['58913b670b29109a7226320e1f99d795931991db1939ea3fa25143492d55e3d2'], + }), + ('Category', '2.62.0', { + 'checksums': ['0def183b2707c0a1c2341ba104bfc6cc59df31dd2a92c0fffacfb4e6d8005a1e'], + }), + ('GOstats', '2.62.0', { + 'checksums': ['35cbed07bac0e1c67ea9d469d335d91de8b5c229c810568f472f2b1777f23488'], + }), + ('BSgenome', '1.64.0', { + 'checksums': ['ace392a9db183effb8a55c1f74719ef00dee5ea2da2af6f383af77e354cdf89d'], + }), + ('VariantAnnotation', '1.42.1', { + 'checksums': ['e1b5d52ce3f50c480ccda5340cf9f22774b124b9923caf95a0c6af6bfa84a589'], + }), + ('interactiveDisplayBase', '1.34.0', { + 'checksums': ['af2d2e7d806a349bf87b0eb969da661c160ce1ff0747375b5708320059e9bc39'], + }), + ('BiocVersion', '3.15.2', { + 'checksums': ['d67d6ecbdc89c9a69bc05a950edde3658411407c67804680981843a2beb74467'], + }), + ('AnnotationHub', '3.4.0', { + 'checksums': ['bacb8e2c4f14168087aa5c463902f3f910acf27d224c4ad2ee69eb3c485fb50d'], + }), + ('AnnotationFilter', '1.20.0', { + 'checksums': ['8d2ab20f253890fd7a560bf16be9e9cdd9d130e66232da6c9f56646f1abb5420'], + }), + ('ProtGenerics', '1.28.0', { + 'checksums': ['05e06c4ed777360f6e027568ff6e3ae6e5de97e07ce52454b87f3584897c0c12'], + }), + ('ensembldb', '2.20.2', { + 'checksums': ['ac1f2d701e9bf99265c8db18c7be7f30a60af6eaa68e31bff40fb61a590bc28a'], + }), + ('biovizBase', '1.44.0', { + 'checksums': ['cd7f83e8170d22ef45a3a832475edffcc131707aa882a2d046f410bafd71dfb9'], + }), + ('OrganismDbi', '1.38.1', { + 'checksums': ['2998649c56b5f7309dc3853ee9b1b1da05b8393eaea6f1f50d8241d291ecb657'], + }), + ('ggbio', '1.44.1', { + 'checksums': ['6f8ffb3507d81ffbc5f7c2e7d680a8dafc3a05453b02616fa35506cca992d047'], + }), + ('geneplotter', '1.74.0', { + 'checksums': ['4cc610c37d6c5fa2eeb6d61c52fa1cb322658216035c99dcb654e5967f05438c'], + }), + ('DESeq2', '1.36.0', { + 'checksums': ['2737cdbb39d393262af22c37aa7e8db72375ff04fb6aeeb849cf098b2558bb1a'], + }), + ('ReportingTools', '2.36.0', { + 'checksums': ['104e5363b8756259028b1aba15d3f3adce99fce8488e09e19b5d06e83e6e0c65'], + }), + ('Glimma', '2.6.0', { + 'checksums': ['df6f7fd11e6c0913a8527d367624dd2ad21feedd2feff0a68262c19d805727cc'], + }), + ('affycoretools', '1.68.1', { + 'checksums': ['9c0f1ab7e121e6655ce831f70b188ec006ff5fc204f3b8c649af5e593c24a617'], + }), + ('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.46.0', { + 'checksums': ['aa8b1482bae0a7a71f19191a9c0dba1411ac025ca93e47bf3c7bc1eb5f422c4a'], + }), + ('geneLenDataBase', '1.32.0', { + 'checksums': ['5f691667b53acb1769509540bdbdbf7001e5be4973b97a88f5567f8d47ab995c'], + }), + ('goseq', '1.48.0', { + 'checksums': ['88b45cf35e363e3c9b2edd6619d62be902ad97f40c835dfce9e2ee89e1e719f0'], + }), + ('KEGGgraph', '1.56.0', { + 'checksums': ['bdd9104ca0296d8f26d6719a2d9fdfaf9ed553b9b2f6d851c8103d760101f896'], + }), + ('GEOquery', '2.64.2', { + 'checksums': ['3dc51776c33d45371f8913d2593ea0babbbebd1aed018e220e037d0505de73b3'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.20.0', { + 'checksums': ['871f11604dd4e1923fc107a4c3df083ff41b8feb7332f765940bc8ec0e178c3b'], + }), + ('Rhdf5lib', '1.18.2', { + 'checksums': ['8f9893a4c8173f5d154e2a0b9f73f0f575ac17481a3bf943f99e88c30e44ebca'], + }), + ('rhdf5filters', '1.8.0', { + 'checksums': ['7ad7b5ae372c1a700976768e37ad227475c675bc15333d8cac317c6cd106efc6'], + }), + ('rhdf5', '2.40.0', { + 'checksums': ['ce4585ddf67848e3b34c531e02df7ee712874127dd54eaa21ce8a2652b489701'], + }), + ('HDF5Array', '1.24.1', { + 'checksums': ['5e35b79abd1115d98dda6551bf61a4adba50f723edfad91322eb6160e67934e4'], + }), + ('sparseMatrixStats', '1.8.0', { + 'checksums': ['a28fe0592793913b2c9c553bb15c71f741992ce88d27544475eb977bbc9a225c'], + }), + ('DelayedMatrixStats', '1.18.0', { + 'checksums': ['5b637538070ee949bad499390d140c0e8eac0d3f19655de71f5c64c092d99ce2'], + }), + ('minfi', '1.42.0', { + 'checksums': ['06e7596df31e8c01cd990f7f0dde3ef5e001cf58531ecb110f609658f8f9a508'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.42.0', { + 'checksums': ['9c4bb87b4f581ebe142ca1bd42434f07248250da793ef4490bd2d152b08d934e'], + }), + ('lumi', '2.48.0', { + 'checksums': ['2d7964151fc7eab8cd4bea18b17f2d3c60f233a5302bbf46d5d5fb200ba5f51b'], + }), + ('widgetTools', '1.74.0', { + 'checksums': ['cd2027038e0cb97a63dd0e7d01d5c3425c3a722c24c80d6f5dd1a84f60d18183'], + }), + ('tkWidgets', '1.74.0', { + 'checksums': ['60124d00b1b0839b6a25befcaa76433ec9c4b867b0457219592335f43561f12c'], + }), + ('Mfuzz', '2.56.0', { + 'checksums': ['04426eed6a20834f793024370cc9120e54be586f7ab417227c0c8b3bf87de567'], + }), + ('venn', '1.11', { + 'checksums': ['33d915c7c90078f1e76e803fa3f02ab5b74dd04de7a9700477e51e0235f19314'], + }), + ('maSigPro', '1.68.0', { + 'checksums': ['2f81ff0150c613c3ebdd2eead744cbf4e5d5c68683be2213eba6b3d1254687d0'], + }), + ('SPIA', '2.48.0', { + 'checksums': ['fc246d7db41f6c34e6ca4d4f8fc63c20e79a171168e9e96283c8bf3e0ce9d5e8'], + }), + ('Gviz', '1.40.1', { + 'checksums': ['71af4c24a462438f73f010103ce49f10a2744e8d9839b56fc67805b161d7432b'], + }), + ('cummeRbund', '2.38.0', { + 'checksums': ['185478a9e3ed1b8c8bc9e475a8cf42720ef1ca79078c1cc19dfe9b4162b58adc'], + }), + ('GenomicFiles', '1.32.1', { + 'checksums': ['7fee384a18a2926acf53777ef011cbaefa65c87e975abdf7119d4e239475cc1b'], + }), + ('derfinderHelper', '1.30.0', { + 'checksums': ['e5527df3b13f13cbfee97af8f60019df8ef2394e0d7911b4640556b74a5fff64'], + }), + ('derfinder', '1.30.0', { + 'checksums': ['3b9f4aea71f556219d262b216dcd5d7d38f5b0d4c09de9b466baa269c477d9ff'], + }), + ('polyester', '1.32.0', { + 'checksums': ['fe7cee66c8bb7bd1eab3a26852c34742524478b2b762bc5806a07b83df5345d0'], + }), + ('Rsubread', '2.10.4', { + 'checksums': ['349fe4942612b7192d6de0b31b7e686d4a10e90934c67cf9d1163fb55e11b094'], + }), + ('pcaMethods', '1.88.0', { + 'checksums': ['2b41f13657f86c404851bc8164f748b755fb42f174b8fb4fa3ff80e30fd50781'], + }), + ('marray', '1.74.0', { + 'checksums': ['11d56753452ad1d9fd1829849dfcfe0de7b09b7a1d7619b8a75e8f3f15f88e2b'], + }), + ('CGHbase', '1.56.0', { + 'checksums': ['9971d4f559ad99604a43c664993360e3b42e5298afb9f5c4f6b63c9281f11ee1'], + }), + ('Wrench', '1.14.0', { + 'checksums': ['8afd0fa42accbd4058cf62a1edba2659047c49b911612d7441928753892ea6ff'], + }), + ('lpsymphony', '1.24.0', { + 'checksums': ['6f8c96972863d3c1ed8f55b937ceaf4e43832d59350d0231e2dfafa23502874d'], + }), + ('IHW', '1.24.0', { + 'checksums': ['aeea5a941d44a9b6c45e2bd7af5bcc40816b6565941282be09b09fdfcaf14ebf'], + }), + ('metagenomeSeq', '1.38.0', { + 'checksums': ['02cc936885c5835fb1a942face09618a4221d11e3c5f0741da00ff471a45106d'], + }), + ('gdsfmt', '1.32.0', { + 'checksums': ['000ff7bdfc325b8f37159d3bd3219fec95d2f92972ac2461e1de30f776f4bcb1'], + }), + ('SNPRelate', '1.30.1', { + 'checksums': ['998d11991c8d564932e25e947b164360c9aa9dffa87e533144a42ef00af96cc8'], + }), + ('biomformat', '1.24.0', { + 'checksums': ['3669661b489e5bb1b1e230cf6989e2c2d759714b62f4dab2a5f559d86f94988b'], + }), + ('phyloseq', '1.40.0', { + 'checksums': ['5378322e1c0b71a3d7d5703cc8c14df1c7844753ebb89d5825872b1f3fd99e41'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.4.0-1', { + 'checksums': ['33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.6', { + 'checksums': ['34694b5c67ce8fcbdc90aac2ac80a74d4b66515f383e6301aea7c020009ebe7f'], + }), + ('ALDEx2', '1.28.1', { + 'checksums': ['492e774d4e72c86511028420eac13ec3cd49a210849c10e9257f51aa45e9f776'], + }), + ('dada2', '1.24.0', { + 'patches': ['dada2-1.16.0-remove-sse-on-aarch64.patch'], + 'checksums': [ + {'dada2_1.24.0.tar.gz': '9dd083928fc06d53cdb0a2e2d35be7c304fac74a300f8d3c3026022859b5725b'}, + {'dada2-1.16.0-remove-sse-on-aarch64.patch': + 'ec840afde51428f6f2d1a480b7f0da16660c1d7a234699fa5e23fd6e66888935'}, + ], + }), + ('LEA', '3.8.0', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.8.0.tar.gz': 'c0fd5b5a66aff94d65b8961409c226966aa96a02eb7d1e9a9e75382226e5b774'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.24.0', { + 'checksums': ['1db129f369b37e5ebaefa85b724b1e640fa50c8317f009834ae7f37d0552d9b2'], + }), + ('SingleCellExperiment', '1.18.0', { + 'checksums': ['f76ccbb90d2cf14edca37f34815b3242e25eb18dd749eedd97f15b47f7c22a68'], + }), + ('beachmat', '2.12.0', { + 'checksums': ['0c292f7368fb6a7d0809f332a02576d6c6cdf3b86ae22fa493ae062ce5de8639'], + }), + ('RcppAnnoy', '0.0.19', { + 'checksums': ['89b209900516f3096b53c90937081fb8965c605c867aa465f1b3b68092b7688a'], + }), + ('RcppHNSW', '0.3.0', { + 'checksums': ['a0eb4eea65e28ba31e8306a1856f7e617a192bd448b148f88abe99181cbde007'], + }), + ('BiocNeighbors', '1.14.0', { + 'checksums': ['bda4dfa69b93b21a4d6949e2ebaa4265d467b253130e7192c271f7cbea8783a8'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.4.0', { + 'checksums': ['949533de2730ae04794dc386e08e08f46a95471e1f32272fbcf01cbb6a31c05c'], + }), + ('BiocSingular', '1.12.0', { + 'checksums': ['7dd45d85c0c8248406caab4accb74b483d0066443e443b51bc5049602df32aeb'], + }), + ('scuttle', '1.6.2', { + 'checksums': ['f64fe1c7478b45d062656cfd2ecad3341abb1b1d9eb0ac0857dd0ce2f8c0d55a'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('scater', '1.24.0', { + 'checksums': ['3c9718fd782a69159d4361f497fea417478682f200274b09b6c5d7c3dfcb1137'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('bluster', '1.6.0', { + 'checksums': ['681356e8ff7f8be93115a733f18b8a66a4ae8e841d59908d831ab67a983789bc'], + }), + ('metapod', '1.4.0', { + 'checksums': ['ebe8d6ce014448fe43b21cb5525339be95457931246a104ec6983caa1060e9a5'], + }), + ('scran', '1.24.0', { + 'checksums': ['1c997e6c653e74bc99a4b249ead5490e47523553adcf5f6f31aa8454066de775'], + }), + ('SC3', '1.24.0', { + 'checksums': ['e253051097403d8c5cadad27193cfc35e402efe943ed3132c4ce95fc53073d9d'], + }), + ('ComplexHeatmap', '2.12.0', { + 'checksums': ['c5e8e76184e7bf91b1b1ee36d48dd0b03ff08d019c567038cb37213ae94e6495'], + }), + ('GENIE3', '1.18.0', { + 'checksums': ['54ccf0e155f8160b5903a9bbfa77d05be32a9a65e472f7906a392dfbedb57b40'], + }), + ('dupRadar', '1.26.1', { + 'checksums': ['b63bd2946ce00e4ce1104c691dea8b8bc7407c9879491ba4e0a8d105ebb3ce51'], + }), + ('DNAcopy', '1.70.0', { + 'checksums': ['8cc7c37dd99dc90d0543ae24e7662aa10a52788a6b54fdaccb04d165d1257081'], + }), + ('sva', '3.44.0', { + 'checksums': ['441d2096740bd7acceedd5704b104c077adf0226821f49b584405160732a424d'], + }), + ('ballgown', '2.28.0', { + 'checksums': ['089c8fcc1650fd4872ac5eaeb3dfbfd498d8cb977f46264bd4b54f5dbd1b1851'], + }), + ('DropletUtils', '1.16.0', { + 'checksums': ['9cb38acd4097f448dd39ead182f6cf36a9b83e124245e7e21d4681d323f408ff'], + }), + ('DeconRNASeq', '1.38.0', { + 'checksums': ['661e11800fc7ce9706e735b18e0a16e0176a9a6b133a102944a5f6ac119a5583'], + }), + ('GSVA', '1.44.2', { + 'checksums': ['580b70cd77d2a38ffda3bba6f78e44f5d27f6ed09b5297a3eed8fd81a1090260'], + }), + ('PureCN', '2.2.0', { + 'checksums': ['db490d56e6f69c15e3d9967a1e9eecf2647bf029b60b6e032d0a6a297a52a6e5'], + }), + ('globaltest', '5.50.0', { + 'checksums': ['452736d1d75be95b5781888eaf0d0fc0809e9539bb0f74882f111c9a6a4fb055'], + }), + ('GlobalAncova', '4.14.0', { + 'checksums': ['641b24765da7bdbc5fa76c9a3edd19e37274c1e99dc4714e432e3a06e8048507'], + }), + ('vsn', '3.64.0', { + 'checksums': ['0ebf308a53caf996c5cb93685cddef071bb68975df25770a0dc7f4b765db47c9'], + }), + ('mzID', '1.34.0', { + 'checksums': ['c1245fd0cb5cd23601794520b9786e37f63887532d8f7a3449a4d9a4bcc72ae0'], + }), + ('mzR', '2.30.0', { + 'checksums': ['ba318b62d3a5d1297f25360eca1e29f926e7679351cf129ec36b0ab2e0000ab7'], + }), + ('MsCoreUtils', '1.8.0', { + 'checksums': ['f0f7d14b2d8560043a06dcad0c957d4c2070922cc7caa7ea54a81fe1d90ffd1c'], + }), + ('MSnbase', '2.22.0', { + 'checksums': ['a38f0232b8aa8b1713cf5f9071447a3a00c1866f0d82b49f61c672c1c604f6f7'], + }), + ('MassSpecWavelet', '1.62.0', { + 'checksums': ['69b44651c7b7862523617d8f9b4700652af01b5485e0e574fd011e377cfb313d'], + }), + ('MsFeatures', '1.4.0', { + 'checksums': ['037b64dada359ed60c4c5ad474c20560251ba13e827c24c9ba250c4c30c33184'], + }), + ('xcms', '3.18.0', { + 'checksums': ['b58763f7c1520c7b02702cc371a2a0df3419a5deae3d223cc24552248e685f5c'], + }), + ('CAMERA', '1.52.0', { + 'checksums': ['257b25b53fe9e73b6b6d1a366ca0a9160d307527eecd2fbf47c1a1872a88e84b'], + }), + ('fgsea', '1.22.0', { + 'checksums': ['ef56433dfff96c1ab20737d6af954c1c6f5158fb74654ce875849aa8def3d646'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.62.0', { + 'checksums': ['3a2bf8786a52c3709c2b5baf006f77365acd806cc2383005b24d471a43a8ea08'], + }), + ('GWASTools', '1.42.0', { + 'checksums': ['9fc08c28ece2f22ba9b834645f0c2e6bc0105a869f08338012c717a9ae620f58'], + }), + ('SeqArray', '1.36.2', { + 'checksums': ['17ca83fdae5175b7f0631f95598602c5f8209ed285899d2b47b13bfae11c9312'], + }), + ('SeqVarTools', '1.34.0', { + 'checksums': ['6a2c3275c4adc0d6fab912b5d00747456fd80c2c8063172ac6de250cde5c2abe'], + }), + ('GENESIS', '2.26.0', { + 'checksums': ['2c517d2e008cd2d4fbb5b19c7ed0e58b33b5fb3a8fa7aec108dd6f9aa4e9c3e2'], + }), + ('MLInterfaces', '1.76.0', { + 'checksums': ['453f7b0aa2a91f5e3815b9ae37fe3e0dff1dfa19a3840f089bee46d9670a2d9d'], + }), + ('pRoloc', '1.36.0', { + 'checksums': ['ffba6a8083ffd1153c6880f3e5f6522a96f5f1c578d29f68f9691bc059b7df86'], + }), + ('pRolocdata', '1.34.0', { + 'checksums': ['10030fafa36d8ab321e98341b471e4f08072974797074bf69d2faa54bddd33ac'], + }), + ('fresh', '0.2.0', { + 'checksums': ['a92db254ae88e8371efac44efe2cf1f5be7cce62291fdf994ebd68c14dad079d'], + }), + ('waiter', '0.2.5', { + 'checksums': ['9ac25e979db9242598bd0492ff862360009b51ce672184ec9f4eeb2232164979'], + }), + ('shinydashboardPlus', '2.0.3', { + 'checksums': ['49a88cfa396f880ff4faf558bb038763084287c932e27b0c9251f4d676584d83'], + }), + ('shinyhelper', '0.3.2', { + 'checksums': ['f7ed62543ab4d05a34b69a9183517a09e93e1b2da85b113282de0f9982db90b0'], + }), + ('shinyWidgets', '0.7.0', { + 'checksums': ['d4cb8ab7a96861a819128f9deeb293e8178f90fcd51f0e84467161ca7cd36711'], + }), + ('pRolocGUI', '2.6.0', { + 'checksums': ['b097d2c35429c5612b789af3438f9a83926659ffc0e019ef7b32d017fcb48848'], + }), + ('EBImage', '4.38.0', { + 'checksums': ['510381699581592915aa5e73271f99b8ca73fe2a92fb96b86a699ac157219ded'], + }), + ('GenomicScores', '2.8.2', { + 'checksums': ['f2a4823ad57d47528044a05ac16b3c84868334f21d95ac0e2e2d58950cef2c8b'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.28.0', { + 'checksums': ['6ea89b61959317a16a16a16f589df0996eb55123814a7674fab18720b6889087'], + }), + ('InteractionSet', '1.24.0', { + 'checksums': ['a56a76d729d30824b533e01692f0badfce6abe708b568870d4a86e5944af5162'], + }), + ('ChIPpeakAnno', '3.30.1', { + 'checksums': ['1ed141ec6994a7a548e7dcd41de3bfd54352cb7e85b42dab77ecb3de287d4628'], + }), + ('seqLogo', '1.62.0', { + 'checksums': ['b9f3c5038c8ca343f25a938ccd87a90ef1ee99be4bca474dab4c9d50d11063d2'], + }), + ('rGADEM', '2.44.0', { + 'checksums': ['e4d928382ff48651860057cbf66e30c9670c4ee97322d761b2c00e063e6f7d04'], + }), + ('MotifDb', '1.38.0', { + 'checksums': ['7165a40692d2c906cfbe6513e5e2759ff6efd3e00547d5e288b16d0f28f8ceb3'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.32.0', { + 'checksums': ['780a43bba1307625b1bf395c20a22002b7338ea3796f2e20eef95ab45dc9fb17'], + }), + ('DirichletMultinomial', '1.38.0', { + 'checksums': ['bdae3433f4fcf27f8aae91f7ee5f14c4b6f6263d7ba89d4bcd9502f4b1808096'], + }), + ('TFMPvalue', '0.0.8', { + 'checksums': ['6d052529f7b59d0384edc097f724f70468013777b6adf4c63e61a359029d3841'], + }), + ('TFBSTools', '1.34.0', { + 'checksums': ['3c899efd9c44cb9398ecff7a6fb40fa8fd2dc9b4deaf8fd3684e9ece440ed250'], + }), + ('motifStack', '1.40.0', { + 'checksums': ['1fe01cd6ae2e700f35d21c937976cbf48a331626c086e4cc5e9f41364e875134'], + }), + ('ATACseqQC', '1.20.2', { + 'checksums': ['17cf6c17610c287a187010f30b880ae57e5e9f9ef42b3d018fec01c92ab0474a'], + }), + ('ResidualMatrix', '1.6.0', { + 'checksums': ['445b280e890d70303200a48599211c25841c03b564928cdf15924ba0f61b59de'], + }), + ('batchelor', '1.12.3', { + 'checksums': ['ac4bd7758ddf758ec599873c6ac698721ca11417db7a8b87799daa07371c3d02'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.60.0', { + 'checksums': ['ec7e0b3897400f8137b33d01d3f8c0842991c1ac273ea17ea9518617eeefd5fe'], + }), + ('R.devices', '2.17.1', { + 'checksums': ['3b7e57039311c034ff87ccebef4f16410d59985693c47949ecefa49a166c9c09'], + }), + ('R.filesets', '2.14.0', { + 'checksums': ['707dd7c099aeadbecebbd2ba57e6400405aa44487c641f3729ce06c4c642bb23'], + }), + ('aroma.light', '3.26.0', { + 'checksums': ['da6fd263bcf8a66b8b6f09bc16a1360fc5c92c4c415794d22b4038bd79da8088'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.2.2', { + 'checksums': ['35e0312e403a1894da036afac12d1d727c937e666d7eb400bfe4018b21244855'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.0', { + 'checksums': ['87513774baeed8e1d43f819e615c85278aef748ebc842f1ee50686c3392e37d1'], + }), + ('aroma.affymetrix', '3.2.0', { + 'checksums': ['d279cf13cf6ed8369cfdf6682ace12924379bad578003453449aa1ccec31b0a7'], + }), + ('Repitools', '1.42.0', { + 'checksums': ['48a60c930cae9343b0820c88e274c6c5c473fc73075ef966ff272a3e70f35ac9'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.4', { + 'checksums': ['024e3571b70f8e07bd50c4dd4d2dc05288497bf5409a9ac4ef12db94b081b50f'], + }), + ('MEDIPS', '1.48.0', { + 'checksums': ['a025c9f0c5846ecd9e16ba3945c6522080272789c46ebaffb1cb422c8f12afe3'], + }), + ('RProtoBufLib', '2.8.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.8.0.tar.gz': 'f7160c1623f50f0e23d14e7e99a2e6c018186871f7f1f68c9171031f6ae678d7'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('cytolib', '2.8.0', { + 'checksums': ['cf4b6d2f32610c14c967ac791ea762e187776ace978c6135a2453116b51865a1'], + }), + ('flowCore', '2.8.0', { + 'checksums': ['19ce4ffbf70bd3b5a68b045f0c4a21f85c0586ff0817be22d01b44c2b289cc9e'], + }), + ('mutoss', '0.1-12', { + 'checksums': ['2889ae3d502157592697124eb86adc14911e2b7fdaa7204743a376b1eeb967fa'], + }), + ('qqconf', '1.2.3', { + 'checksums': ['9b5b6042ea8e52e6e049807c0b5e3bfd534b624bd257be769de69cf505fece62'], + }), + ('metap', '1.8', { + 'checksums': ['ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b'], + }), + ('uwot', '0.1.11', { + 'checksums': ['4fcf90f1369a2a1f01db9e05a2365b155b2ada8e51e1f7f3ba5122d86affd41b'], + }), + ('scattermore', '0.8', { + 'checksums': ['dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5'], + }), + ('SeuratObject', '4.1.0', { + 'checksums': ['9ca406cb3bd95c588e1a81c5383e3173a446cc0667142b139ca32685b4b20a05'], + }), + ('Seurat', '4.1.1', { + 'checksums': ['201aa96919b32378fc4cb67557188214c1242dcbae50cadd7d12c86666af8ace'], + }), + ('ALL', '1.38.0', { + 'checksums': ['1fdce1f158f0c8c68ab9c86e0464ec9e70a8a3470d6a3da7abfc88d10b012010'], + }), + ('ConsensusClusterPlus', '1.60.0', { + 'checksums': ['f7809db4eef81367be8b92b327e64dfd373e689893f0a99dd238e54a7a644180'], + }), + ('flowViz', '1.60.2', { + 'checksums': ['2531766d40373f44794cb64d8d7ac993e97e1730ae62ac25e7405b6904fb3c23'], + }), + ('ncdfFlow', '2.42.1', { + 'checksums': ['67ef4d897a1a497d6c822bcb924169800773d1bcfb5d5e305cb60971e7eea91c'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.8.0', { + 'checksums': ['5a6305edbe8da4651bfa8d4d866411b097833d12ad55687a91a133244c8a3e66'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.6', { + 'checksums': ['63d1246f88a498f3db0321b46a552163631b288a25b24400935db41326636e87'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.0.5', { + 'checksums': ['14445776fc65284cd6cae98e5b4dd14c2626d96db5f78c0fcc6aabce5419b8f1'], + }), + ('flowStats', '4.8.0', { + 'checksums': ['9243df5cb48531a08137d9789f5e7a797c4cf60102ccb14fb397560195486cc9'], + }), + ('flowClust', '3.34.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['93aeb50d3fd5c3fa3c9951496e639e0bf17cff8d13cb0bed1749418574aabb14'], + }), + ('openCyto', '2.8.2', { + 'checksums': ['a3de6596f03536e70aeb3f800861fdb53f4f6514c9d36499061aed94016d883d'], + }), + ('ggcyto', '1.24.1', { + 'checksums': ['450c300a9c7c2cd2d02763fa35ae73aaf16fbeef7ab45ed6abf2e38d4e0786b3'], + }), + ('CytoML', '2.8.0', { + 'checksums': ['399f4daacc8b69adc47f9a804041af443d28b5f2ea5f094d2aa805e87653e76e'], + }), + ('colorRamps', '2.3.1', { + 'checksums': ['61f1290824380ae2fe4649f296649e0a155b73ced41479686150400f8a9c568a'], + }), + ('ggnewscale', '0.4.7', { + 'checksums': ['6b12ac9947fd3161941b2bb85c00a18d5fc794ad8b1e22a6f37f63ac8d3f0a81'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.4.0', { + 'checksums': ['8518c515dfefcf9ba970a6e99815cc2af9809b1d5bb6aa300b28d55a74d3542d'], + }), + ('HMMcopy', '1.38.0', { + 'checksums': ['7d30c261c3c9299c0dcd1f31488a5adb8191ad13b4267aaea0db77ddb920eb42'], + }), + ('diffcyt', '1.16.0', { + 'checksums': ['abe58173f953fd273e93dbc851e0735357fce9f4c4aa1e2a3d8f88573ff5da57'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('variancePartition', '1.26.0', { + 'checksums': ['9b9fe9790c06ecb7c945685b8956e20d9f5b772745c3f471f6fd818528ee6172'], + }), + ('muscat', '1.10.1', { + 'checksums': ['cd3ddcd139a08b5bae9912b0848dcab8692e6550d187357ddb22a9ff309c7fc8'], + }), + ('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.30.0', { + 'checksums': ['c80828acdc1855186d6c85cd15c84871a344e2060a43cdf974ad4ffdf736efdf'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.4.0', { + 'checksums': ['74d2b33433436f0c01e1a5c42538044d130439d84df07be60f5f859a37521686'], + }), + ('SingleR', '1.10.0', { + 'checksums': ['beb04226eb673fc592df7dcf7bd4e5301aaebb1af1a090221dbb0bfebc617e61'], + }), + ('FlowSorted.Blood.EPIC', '2.0.0', { + 'checksums': ['44323f350cec601eb73c3235571b02b18e4f0e9633c9f8ab88377fe9f28a17f3'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.12.0', { + 'checksums': ['9b12170568c3ba8c7f71c339d9c43d020e0c36c21f59851fcef98c78cf0bc0dd'], + }), + ('DRIMSeq', '1.24.0', { + 'checksums': ['94a4fd7143ff3015ebb830445de6517394cb9fb976b5f201f76a10190722f0b6'], + }), + ('stageR', '1.18.0', { + 'checksums': ['3e7141d1b02c44b124a3b6d981b1cdf0389c1af1b1b00c758e4659420d8c435b'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.15.0', { + 'checksums': ['c658df080feb03fedfcbb5f772f3683ff7272b2de3deee055292005b3093d78a'], + }), + ('org.Rn.eg.db', '3.15.0', { + 'checksums': ['e09eb3e6a7d8c73ba3de018d8e9715b353ad5f5dfd8a488d67e016d115dea47b'], + }), + ('ROC', '1.72.0', { + 'checksums': ['62077c63539636fbf21ad5630aafe369d789c8355050a3a56df82f214103d879'], + }), + ('wateRmelon', '2.2.0', { + 'checksums': ['fb92984b6eafe8bc56849e1520961749dec7285e195c5e8754ccedbc94f3b829'], + }), + ('GLAD', '2.60.0', { + 'checksums': ['bf00850efc7a19f61cf3ca825a48f7206e8339e036ce465a7ddc1f6059645509'], + }), + ('missMethyl', '1.30.0', { + 'checksums': ['81fa1e991bc3dbd5c2ec8fbdf2a55ab935f0c231f8bc71666855f7bc8c22d146'], + }), + ('MethylSeekR', '1.36.0', { + 'checksums': ['5fa7880d1967570fa5ea2c2526fe47c6323eba7377cf0cf774fb26e21bd13590'], + }), + ('affxparser', '1.68.1', { + 'checksums': ['9a462b6dc5c3592b32cdc06afc4cc3d50bdb0f419c9156c9f7ed1faff913a99b'], + }), + ('ccdata', '1.22.0', { + 'checksums': ['cc5057a0cdd38adc36fa3642df5d5fa40c4f94029840b8e38b57e0f307cb8fbe'], + }), + ('lsa', '0.73.3', { + 'checksums': ['f07f1159f215501495d7a077911e7ed2ac61e1705899f3be3a5cf9012778619a'], + }), + ('ccmap', '1.22.0', { + 'checksums': ['c7cbf2e562b392ec795aebd9bd52313866cfd10add80af012399064bc1143c0f'], + }), + ('oligo', '1.60.0', { + 'checksums': ['7e97ad2b355b31679175634c7a8c1cb120334e1c8808dc75412b55a7b249f278'], + }), + ('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.22.1', { + 'checksums': ['9aad965ab2332e8001a2cc0eff4fd4ae9859a77dadf117870135ebb242d00be3'], + }), + ('snpStats', '1.46.0', { + 'checksums': ['42911ba76e4b38f4d3a01d5de81e59d10462d79f5cc642a62c26d9c3b02dab28'], + }), + ('mixsqp', '0.3-43', { + 'checksums': ['58042d832803462ca03197a9dbd49d022378756de8996682b89e6bc009d02ce2'], + }), + ('susieR', '0.12.16', { + 'checksums': ['89452c3d40a8396a3236e1493003e3a06173bfee90619e1b1aca09c435a00826'], + }), + ('coloc', '5.1.0.1', { + 'checksums': ['427bfa566a6ae6ef719401c9214188ff3cd84aad9752ccbf22dc9f61e30b6a47'], + }), + ('SCANVIS', '1.10.0', { + 'checksums': ['276c44e0c9db797442423f0851a22c8695f547eaa603c3b4ed72587f5ffdd38c'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-5', { + 'checksums': ['83822535608b5307ca7d0067dbcf1ea3b7f2b1be17a52a55b72cc9f3c6bdec5d'], + }), + ('bookdown', '0.27', { + 'checksums': ['2e724abbe63fdceb74fc4ac59fcf1dcaac5f768617f6fbeb752df401e1899f23'], + }), + ('BiocStyle', '2.24.0', { + 'checksums': ['459527c4b14b003f9446f13ec7518b76032a4bc612c398420f38ad00c48a91db'], + }), + ('estimability', '1.4', { + 'checksums': ['4a9eac160958457eeaf442e0bcd698990851b30a8963a3519f2d7da28b4bfa41'], + }), + ('emmeans', '1.7.5', { + 'checksums': ['ba7e03bfa3127378ee347380c14d785fb85f0f4590bd454efc858e5d9623fe13'], + }), + ('ggdendro', '0.1.23', { + 'checksums': ['3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8'], + }), + ('pmp', '1.8.0', { + 'checksums': ['692aad74ef842f485969ac2b22dc7d79645cb52f5e9f653fd999eeae375b6e89'], + }), + ('MultiDataSet', '1.24.0', { + 'checksums': ['ce62949e80a88d2e901878a8fc23671751563fa764ba7783ac2406f8a734da65'], + }), + ('MultiAssayExperiment', '1.22.0', { + 'checksums': ['0127ce0a68624c313874a177ea58d00046b3d2fdcd3efc79b0ddc59da828d7f2'], + }), + ('ropls', '1.28.2', { + 'checksums': ['ccc45171c1c25f88de4753da93d3ff70757eee17ced9cea3a47c30944be8f71d'], + }), + ('ontologyIndex', '2.7', { + 'checksums': ['33f4918cafb983635f9f831553daf15e10103dc375475e170f104a8eaf0e7048'], + }), + ('rols', '2.24.2', { + 'checksums': ['33b010e6c338aeddb57d625b4fba3d8ae30b2f1a0b5c2f8434bb255df432d630'], + }), + ('struct', '1.8.0', { + 'checksums': ['4080796019da2faed837b098731402a66fda365cfa6e88539ae0822ace168d0d'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.8.0', { + 'checksums': ['b29d3000686b4cc73364c30b4b01cb097901cc9036db2648569f78b9f052b104'], + }), + ('EnsDb.Hsapiens.v75', '2.99.0', { + 'checksums': ['2c59f95959f344b2a3eaa65a00086b01a420823e30b0810fc81e49b08dcba64b'], + }), + ('ggseqlogo', '0.1', { + 'checksums': ['c14f145a982597f32264b37a5f2645206a0bee30dd2584a25cb8e3dc2f9b068f'], + }), + ('sparsesvd', '0.2', { + 'checksums': ['1a1f54d6b0dca6ae83e3f729a1895c91c58bfe55427dacc50ddb0d2c5d32a9f6'], + }), + ('docopt', '0.7.1', { + 'checksums': ['9f473887e4607e9b21fd4ab02e802858d0ac2ca6dad9e357a9d884a47fe4b0ff'], + }), + ('qlcMatrix', '0.9.7', { + 'checksums': ['1ef5e0350cfbdb07fca761fc7251584d39d3da2958ea813498b467e4f7661347'], + }), + ('Signac', '1.7.0', { + 'checksums': ['5e4456eeab29fa2df7f6236b050dec8cb9c073d7652a89ee5030a27f94e5e4bf'], + }), + ('motifmatchr', '1.18.0', { + 'checksums': ['e8a07d39783a8a69c3a69803f5804326265377af6c03654bfe434cde2b0056eb'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.2-0', { + 'checksums': ['2a7eee07197d01e3637fbb35beefbcd5211759a20974880d07abb3294e025308'], + }), + ('qap', '0.1-2', { + 'checksums': ['47a4ada3ae7a3a5c9304174bd5291daad60d329d527c0c6bb5ec1ac257584da5'], + }), + ('seriation', '1.3.5', { + 'checksums': ['f905e02f7cdb8a28c89c1d2578b1bfe62914d14110587fa2a905957771059236'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.3.0', { + 'checksums': ['0a5d269c4837dd66fbfa6b87fd648bdef222f1ad6f33df3f695d5164d6f71ef1'], + }), + ('OUTRIDER', '1.14.0', { + 'checksums': ['d1e57f34c7052db751a639029a47959b9baf9d2988795173ced69c06041cf72a'], + }), + ('FRASER', '1.8.1', { + 'checksums': ['03dc3478c4691e9c9e4882ae566bb74c53811135a5b0c289b67f7ad05d563dae'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.18.1', { + 'checksums': ['f969bb6262af856e71b846e650f41a26e87838464670d2d50b1450ca7c3b999f'], + }), + ('RcisTarget', '1.16.0', { + 'checksums': ['35124ea89250e397cc8ee591c09af1203c85a70ee8517df61812cb6cde94d69d'], + }), + ('NMF', '0.24.0', { + 'checksums': ['481811d35b3bbc07e9a60e2f853b05ef26581b43be9c6c4bab81151b8dcadd93'], + }), + ('densEstBayes', '1.0-2.1', { + 'checksums': ['4b7066e18902ee2a0ea084513b237b5fb8e43fe3102354c2fb216d5a8c7df5df'], + }), + ('reldist', '1.7-1', { + 'checksums': ['2693ab9660e34a3f5e27bf8eec985f7f8dcd625df14779367c93557c15c66b9e'], + }), + ('M3Drop', '1.22.0', { + 'checksums': ['4b09b331181219980ba16d89e6c3891fc45cfa32526c7fc23900d4c9e1911841'], + }), + ('bsseq', '1.32.0', { + 'checksums': ['25cee0bcaf95eeb734a76ad55f4e508b1201d99363b401df3d0d9ab5c58aeeca'], + }), + ('DSS', '2.44.0', { + 'checksums': ['561a87d9ca20c7607a2c6816ead719d16da4c0f19dd94d9e69543499e058858a'], + }), + ('pathview', '1.36.0', { + 'checksums': ['b861a0bf041ea83a0edd6f3bfe3aa73cd1879e48373ad117752c08774098e290'], + }), + ('chromVAR', '1.18.0', { + 'checksums': ['d514d3a0da41b71daabe7c273ec38fd52577caf46a0427000096ee49eadc1a6e'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.71', { + 'checksums': ['21f5349e888ea76241912600ee5c35a0d2fd50180568b9b08b2b597f099bf708'], + }), + ('DNABarcodes', '1.26.0', { + 'checksums': ['867590e663f88db8f757b275f28cd5c75dc6e14eff1d91d7c83d43c9eea65858'], + }), + ('CAGEr', '2.2.0', { + 'checksums': ['1cd64f6b045a5e246ae92cd709234c806edfcc25463819df0bd32fe4f4b2fd0d'], + }), + ('SPOTlight', '1.0.0', { + 'checksums': ['f6baf718e468292960884a1aacdf8295f0864d771f5eb0f2088fb9a1bc00dcc0'], + }), + ('CGHcall', '2.58.0', { + 'checksums': ['c5e86b9234685462b7330c85b91ca648a801a76c99f3e98cd509ac47ee8afae2'], + }), + ('QDNAseq', '1.32.0', { + 'checksums': ['75bbde9b6cc55cd6a47b9f466358033a180b480def2144abdcc93a2a8e066668'], + }), + ('HiCcompare', '1.18.0', { + 'checksums': ['b9320fa7a9f10832e2ac7ade0245f85ac4c2c26edef2580078888f5e1050ee2d'], + }), + ('ROntoTools', '2.24.0', { + 'checksums': ['dec7ec0d6d709fbdb44d595d776fc462420957e5c23c7bd6d2d63f5a44df04dd'], + }), + ('scDblFinder', '1.10.0', { + 'checksums': ['c0834495a342c6467d64dc899ba5913354ea5d53037c9be95e639950db6e2478'], + }), + ('treeio', '1.20.2', { + 'checksums': ['a103a6953abf2014bd1bb8b2da4f2d7375bab338724d0bf864085981a85fd5cb'], + }), + ('ggtree', '3.4.4', { + 'checksums': ['c59f4879b4e4ee1a24d61bbec9bfddced3a7a6a747c9bc537bf2c84c2ca43840'], + }), + ('scistreer', '1.0.1', { + 'checksums': ['cb2461cb97a844a1cbdd9e5ecc1961ada0fc3ef186313c73cb07658a887a16dd'], + }), + ('numbat', '1.1.0', { + 'checksums': ['3cdda07de7329e6c886a1f60b2978bb776b04133080e97d82d5772fd666efc2c'], + }), + ('HiCBricks', '1.14.0', { + 'checksums': ['ac998260ffa66ec93a4c34e56cbaf392f76a848ae35b9ea987f0ec15f0adc47d'], + }), + ('dir.expiry', '1.4.0', { + 'checksums': ['588f190e57f3e4a9196c48369e0f879436f1d124548b991203c75f0a51fd1c25'], + }), + ('basilisk.utils', '1.8.0', { + 'checksums': ['1356bb897401316fd0c8df916a9512ae8cb18739b447d2f211784a4a33d8d8ca'], + }), + ('basilisk', '1.8.1', { + 'checksums': ['f34a74870c59e84c3594eb2cab09a4a58ed6e994523cdb063a87161c458f9d8c'], + }), + ('zellkonverter', '1.6.5', { + 'checksums': ['669a314d8ca5f62d29a5ab42d51647c4c2a23e9ae2542921933d48a9e394b767'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.22.0', { + 'checksums': ['6d93c0bd9075bb3fb3b65d08906a657ddb8ee5d3ced337914b0f54d0fe2de1c2'], + }), + ('DOSE', '3.22.1', { + 'checksums': ['b19853ee01ef6016ec37b4efca6cce17b6bd8ef756eb45e2fb10e6d6a61190d5'], + }), + ('enrichplot', '1.16.2', { + 'checksums': ['5a5b5ad4dcf2ed5dc9f597bcde3f90a63229cc6af9c742a813ded83c225b0762'], + }), + ('clusterProfiler', '4.4.4', { + 'checksums': ['e5e23a5a1b9580f3801291affb2e547e2fd228e1190e9bce398a1b097c86b24c'], + }), + ('reactome.db', '1.81.0', { + 'checksums': ['8fc4436f8189ad979e5a90d76c674b1450991427d036a3bf51f059391598d965'], + }), + ('graphite', '1.42.0', { + 'checksums': ['cf00d3c9c7848d044bf1ea32e468badbf5dac24a3222e225d6fbb89ddfac855a'], + }), + ('ReactomePA', '1.40.0', { + 'checksums': ['458b3febb341700414ca04ea4a6f3005061c9db97622cfdfda6b75a74415a7b9'], + }), + ('flowClean', '1.34.1', { + 'checksums': ['d0e58ac89fd302761136cbcd5eb859351a61da2bd8967840bcd054ec16630f7f'], + }), + ('flowAI', '1.26.0', { + 'checksums': ['f4e35c824f68036cea5746236a026ad8e336c2595411d15d303d45fbc02526a5'], + }), + ('flowFP', '1.54.0', { + 'checksums': ['ba12d5bd4dc784997f30435314fe61f86b0c28d99c4458f7e8f9b76daa54b442'], + }), + ('simplifyEnrichment', '1.6.1', { + 'checksums': ['66fafb64d19c5fc4bb7aa6c6805130144f35fd508c2551024aec9f5c7b7b7461'], + }), + ('RPMG', '2.2-3', { + 'checksums': ['74d5bada6a51d280296cb36fae4938c16ba9ed2fa37f3bfb60cf7c541c5b22b6'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.1-4', { + 'checksums': ['76d5caf30cd3871fa80d27ea694023a4c303ffc099297aeeff03d22538dbff76'], + }), + ('splancs', '2.01-43', { + 'checksums': ['b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-0', { + 'checksums': ['82e5608eda7330632bc67aa662b649e7b7b3ccdfda6a18a19d2e3379e0db1093'], + }), + ('RFOC', '3.4-6', { + 'checksums': ['0dfa237f4d04eb9a2718942b4d7ed9538fc5f89e3cbaa5a34a4fd1bc6fe54533'], + }), + ('flowDensity', '1.30.0', { + 'checksums': ['c321b395d6f1ae24d1428319401b225ae5e31fee5051127e43142d96f820103d'], + }), + ('flowPeaks', '1.42.0', { + 'checksums': ['ae98124c0574364bf8cd47be7704ad90b2b7d3dabbdd8df7744cbfaf81d665a8'], + }), + ('SamSPECTRAL', '1.50.0', { + 'checksums': ['b55de8cb2092d1b5c192ed0e4b47c421d888e5392165f28395241ca5884b8a5c'], + }), + ('ddPCRclust', '1.16.0', { + 'checksums': ['a457b78a2c254c69ed572d8dca01c66134d6ad2952f72097703110c1d663da5d'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.44.0', { + 'checksums': ['ba143b5fff19207f323c1e7b7feaf56fa6e31700422d002521fe49e86bbc5e03'], + }), + ('SpatialExperiment', '1.6.1', { + 'checksums': ['31e516e14e827e4b9fe853bc136066863dd762053012631c569ec3c00c6cbab5'], + }), + ('deepSNV', '1.42.1', { + 'checksums': ['f64d43645d696af7b375c66f7dccf877d099482f8470dd18c4aba8b1f30bf22d'], + }), + ('TreeSummarizedExperiment', '2.4.0', { + 'checksums': ['a7339e41cb1ed74bb633b6c4ae6e762f25eeeae2c396da6fa676b29550b7182f'], + }), + ('decontam', '1.16.0', { + 'checksums': ['09a3e41b012678e3c9a3aa8bd577b59f33fbfd05dc270382f8065feb986330bd'], + }), + ('DECIPHER', '2.24.0', { + 'checksums': ['059fbb6df17a7e5dc0e6bd4b95677c44cd4babcd30ef9f3dfc3ee0f7dd12b810'], + }), + ('mia', '1.4.0', { + 'checksums': ['b332f5bc9a2955fd4fff40b98c06696a816fcf15224c0799ea00afa40d4eea96'], + }), + ('ANCOMBC', '1.6.4', { + 'checksums': ['ff5e80929cdbf6beb1073a6f5e008e2d2d8bdaccf5f65635b7fccf6d96b9710b'], + }), + ('decoupleR', '2.2.2', { + 'checksums': ['354d165e9c6f0bf5211966242c63a797117ed2a78867f44b54a8f335b8473c60'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..1728329d079 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.16-foss-2022b-R-4.2.2.eb @@ -0,0 +1,1323 @@ +easyblock = 'Bundle' + +name = 'R-bundle-Bioconductor' +version = '3.16' +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': '2022b'} + +builddependencies = [('pkgconf', '1.9.3')] + +dependencies = [ + ('R', '4.2.2'), + ('Boost', '1.81.0'), # for mzR + ('GSL', '2.7'), # for flowClust + ('arrow-R', '11.0.0.3', versionsuffix), # required by RcisTarget +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.16/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.16/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.16/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 + ], + 'source_tmpl': '%(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.44.0', { + 'checksums': ['8518e462c1ef103ab059d059d871afc444e48f56fe6b3afdb60dc1abf6c9b09d'], + }), + ('Biobase', '2.58.0', { + 'checksums': ['db798af54eb18d83242b1ffbb1fa35b5bc0256cedf86b9a6519e2d786d20e566'], + }), + ('S4Vectors', '0.36.2', { + 'checksums': ['68b441289882bde641a1d736287b2dfb837c21b21e18b127b9fee1fc5d792c8c'], + }), + ('IRanges', '2.32.0', { + 'checksums': ['097935916b5cb33804e1ea09fa6c4ee7ddeaa03eef99138a05b1896b28dc6a4b'], + }), + ('GenomeInfoDbData', '1.2.9', { + 'checksums': ['e63a719a8eceefeda39fc95de83e7aa41caad39705efc712a44ab4021adc45fa'], + }), + ('GenomeInfoDb', '1.34.9', { + 'checksums': ['2bbb094636bf628447ed4c49b4cd96c164264d012a59f0fe5982f12e6a6bc956'], + }), + ('zlibbioc', '1.44.0', { + 'checksums': ['8b2616b722e2d610cdd41aba1a94b987ab017e0bfff63f6ce66f191e81abe530'], + }), + ('XVector', '0.38.0', { + 'checksums': ['e9ba0ec3f4124c6f0ce13c4d562e7e4419f8aa5db4283092574a63a207f4ed79'], + }), + ('Biostrings', '2.66.0', { + 'checksums': ['7312c508bc2fe6ea3da75edd621b41a35929f9dbdca16d25eb3724ca2cd206fd'], + }), + ('KEGGREST', '1.38.0', { + 'checksums': ['ec9fe4b9e11858ba1236c22c9058ea3b3e6967168c847b01003b15d1afb94318'], + }), + ('AnnotationDbi', '1.60.2', { + 'checksums': ['0f52a460cefc40919273463648656c306640cf82afee3bd0fd2941dbde16eeb0'], + }), + ('GenomicRanges', '1.50.2', { + 'checksums': ['37fdc2074f17b833002c906998b09c88174c054bc5dd9fffdba1f76c4d5d668d'], + }), + ('BiocParallel', '1.32.5', { + 'checksums': ['395ed5c19fb706ca73c841c843c3a89f8a88f774a26415bfdbac0dca92a5a6f9'], + }), + ('Rhtslib', '2.0.0', { + 'checksums': ['5098bf9f4e8bbbe7eea3d63480c5c970af87b68998d625a2ec0f12b2393727e6'], + }), + ('Rsamtools', '2.14.0', { + 'checksums': ['5fe4f80752459f6f1691320ffeffd2d7d17d52dcef60c7a7035fd714ac86a471'], + }), + ('MatrixGenerics', '1.10.0', { + 'checksums': ['09fbea178608186571acabc18cd2b81fe5c7aa2d143f5d456ceaed55e01b4815'], + }), + ('DelayedArray', '0.24.0', { + 'checksums': ['d764b4f487b49ca04150ea7d8f5f180683cd80575d67a162e4a99cd52bd8815a'], + }), + ('SummarizedExperiment', '1.28.0', { + 'checksums': ['96e5e4f496ce32d8c812a7483d9208aa1b89cbf6c0342bd53c95c419bad92721'], + }), + ('GenomicAlignments', '1.34.1', { + 'checksums': ['1af0675483cd233ebc4c6d086ffec0c054e0066c424ccea97bc4ec825824e8b0'], + }), + ('ShortRead', '1.56.1', { + 'checksums': ['6baea2227937d6458d25dc590ae4d7209efe071fce8d3859e4c97266989476b7'], + }), + ('graph', '1.76.0', { + 'checksums': ['8c0ddb6d131a88d585bcf3c1e922465fbc40d6d40ba718c8a869f5f9b6ecabc1'], + }), + ('affyio', '1.68.0', { + 'checksums': ['2b3a5fc98ed39b6113031ea989f9cc9271077224cce7d6c83d1a4ef275faacad'], + }), + ('preprocessCore', '1.60.2', { + 'installopts': "--configure-args='--disable-threading'", + 'checksums': ['6d2d5746059a5016e09b3f46f7688de29b5afdf33c6023ce4bc0b7f4eb8c7d46'], + }), + ('BiocManager', '1.30.20', { + 'checksums': ['b9e72d7687abbd785a69fecb530ec86ad92257a6be95b8e15953b193a516d5ea'], + }), + ('affy', '1.76.0', { + 'checksums': ['f28162f390369957f4bed64c535c64c1901be151c4642cf456065e45704d3dc6'], + }), + ('GO.db', '3.16.0', { + 'checksums': ['4652812d8ba380aeeb9b136efbc9365156397eec99c5ca36cfb8294139493b8e'], + }), + ('limma', '3.54.2', { + 'checksums': ['0be567ec0e24707ca27bd54d9e86b407e82ffe10fef21ebc4631356a3f1990e1'], + }), + ('RBGL', '1.74.0', { + 'checksums': ['35c9808240051d88218514fa69de186f7d64c09b254321a6fc125a67bdee8c35'], + }), + ('org.Hs.eg.db', '3.16.0', { + 'checksums': ['2d2e6fdefa0dbb61c86d4736e5a0d430745ae733e310f240b97b2cb3703a2c0a'], + }), + ('AnnotationForge', '1.40.1', { + 'checksums': ['de073ce37a6c661696d4de2e577882c7379af49f20181b6be62896660a658d9b'], + }), + ('annaffy', '1.70.0', { + 'checksums': ['cf2552152ce81eb209a454efe727bfc913c2f2ef1fddf6dfbe5ac6d32185b163'], + }), + ('gcrma', '2.70.0', { + 'checksums': ['c16fc57ae299503aad93cdc7af96cc587f3e7360922cf0de76f54ef924977c28'], + }), + ('oligoClasses', '1.60.0', { + 'checksums': ['e8be665b4310a73b1a7f14aefb1949c6fc186eccb7b8522129ee9167baeb69c6'], + }), + ('edgeR', '3.40.2', { + 'checksums': ['09f4f4ff636f6bb412c95cda601728151c81c442777636601ba6e132c2224337'], + }), + ('PFAM.db', '3.16.0', { + 'checksums': ['8082aaa94eb962b2cf42cfaead8ff9e1bdbd12fdeae82a49d0f3b37bd50eb30c'], + }), + ('perm', '1.0-0.2', { + 'checksums': ['729294987bb0f367c67c4bf4071464e097ec9a2bbdb2c63f19ebfb907c604aa0'], + }), + ('baySeq', '2.31.0', { + 'checksums': ['900f72debe1aff26cc0232efddf9145592ae5f3317425c938237af38aae30253'], + }), + ('qvalue', '2.30.0', { + 'checksums': ['04deeabb43f4f12815cbbe0891b8bfa36abfc82eb2d097b14a28e598585051b7'], + }), + ('impute', '1.72.3', { + 'checksums': ['68e8385d04af8bcc6bb69c3a7b3767aa23f0a5856a4f462de6e0cd95d40708e3'], + }), + ('shinyFiles', '0.9.3', { + 'checksums': ['4a72e165ee8a6e8256988f27286a2cfc4d7a42e2a902f4f2a728b1c237c07286'], + }), + ('samr', '3.0', { + 'checksums': ['25f88ac002c2adce8881a562241bc12d683810a05defb553e8e3d4878f037506'], + }), + ('DEGseq', '1.52.0', { + 'checksums': ['26b3040109926b66598bf3d2a8df186bdbf1fdda62fed1ad4e3ac863ce82a397'], + }), + ('hgu133plus2.db', '3.13.0', { + 'checksums': ['ddde58e777a8341536a664c7d4be874a2f395f8aaa019c1f738462a8ce74cc44'], + }), + ('illuminaio', '0.40.0', { + 'checksums': ['22f4545c0420ebc42709b7d42562279344eea0c916a734f9fc0c40b8aa1185b3'], + }), + ('BiocIO', '1.8.0', { + 'checksums': ['2e41284256ef5dac4deb27ee41f973092e091c387a77cf3e3d588c39aceea495'], + }), + ('restfulr', '0.0.15', { + 'checksums': ['40ff8f1fb2987af2223e1a855bb1680c5ce2143fbce7ebc42f1edb291f80e692'], + }), + ('rtracklayer', '1.58.0', { + 'checksums': ['b3d2dddd3924ab739324aad65c149949d73d879eeb9e2fe39a6ecd5a9d03b9e3'], + }), + ('filelock', '1.0.2', { + 'checksums': ['ac2915950789b16c43a625a2b8dab6ba423588db4a7d0daa75b74518b82b1403'], + }), + ('BiocFileCache', '2.6.1', { + 'checksums': ['87a3d98cde0abcdbfa0c8e7a8f77eda78e39be712bc6edefcd85fa778b326198'], + }), + ('biomaRt', '2.54.0', { + 'checksums': ['989a1ac3c9f99833c277892dfc868f0aebc8ac106ce4d038766e4d514c7cca30'], + }), + ('GenomicFeatures', '1.50.4', { + 'checksums': ['d63cfa59fac2c379b2745263c408b6fe6c9785cb32eb67cbbc450868c72059e3'], + }), + ('bumphunter', '1.40.0', { + 'checksums': ['e28d6b3b887b1d83f61d76d4a9c8c2489581b8cd137dc8a92e3c54e844838b4b'], + }), + ('multtest', '2.54.0', { + 'checksums': ['e7012d1f04a4aba6b85bef5bbef95c9253408a16c329c4b184a4fe0ba8033f32'], + }), + ('scrime', '1.3.5', { + 'checksums': ['5d97d3e57d8eb30709340fe572746029fd139456d7a955421c4e3aa75d825578'], + }), + ('siggenes', '1.72.0', { + 'checksums': ['7bcaf25b8050e72161ef241ba515f74514d31e97dcbfa482519d785334193a3e'], + }), + ('DynDoc', '1.76.0', { + 'checksums': ['0bee877511766c478bbbb916fef58c24ad4d347089d9a1436af0da6b4f4a1d71'], + }), + ('NOISeq', '2.42.0', { + 'checksums': ['221e4d1396b7c3d412c0f1358a2ea1676c9eabf86ac3f953b27a875ca8531ec8'], + }), + ('Rgraphviz', '2.42.0', { + 'patches': ['Rgraphviz-2.28.0_fno-tree-vectorize.patch'], + 'checksums': [ + {'Rgraphviz_2.42.0.tar.gz': '955b3cff1951725d527f80e51d150e2b0096a0df0f1279a978ff83d055ab9e2e'}, + {'Rgraphviz-2.28.0_fno-tree-vectorize.patch': + '15783e9daba6f63c8e655858468a99e9f4f088468dbe3b414825e5844cf6b4a9'}, + ], + }), + ('RNASeqPower', '1.38.0', { + 'checksums': ['0aad1434beb5d2dfa5329af5d6fae1200e0a2973016ce136901233d5258d12b9'], + }), + ('annotate', '1.76.0', { + 'checksums': ['6ad0db66b81c9f998852b18df0cea0847eff3409b71abd03bdc60e6fc6b6551a'], + }), + ('GSEABase', '1.60.0', { + 'checksums': ['a583e6286214f10a23f9d385b090f6539a1f7a730a5f327ae23aed6169a40e45'], + }), + ('genefilter', '1.80.3', { + 'checksums': ['09995bc8d29311f1083c3f27abbff2e055778666dd9d1941031563d73141f710'], + }), + ('Category', '2.64.0', { + 'checksums': ['d0769ce883810e46ce2e464e579cf59221d72e9138a83001ba47accdfc58c2c8'], + }), + ('GOstats', '2.64.0', { + 'checksums': ['dadb1b988a81fa24a972ed2f1227c0cda4c425529fe74ced939d5b84a7f3901d'], + }), + ('BSgenome', '1.66.3', { + 'checksums': ['46fb92b6bab87c36cdd79f60e1d81c56d02ce06c0ef12e26d21eed9aa2d147df'], + }), + ('VariantAnnotation', '1.44.1', { + 'checksums': ['fd430a989ac4c4fcf7f88ee4c0c6e8adc0d086c2a209b1d3e0a569fadaa9f18f'], + }), + ('interactiveDisplayBase', '1.36.0', { + 'checksums': ['3fb388572c9250ba2cf56fa56c40adc83c5897ad43b36f219b1c269c44fa4cc8'], + }), + ('BiocVersion', '3.16.0', { + 'checksums': ['dc7af08c09242cc436be7b91e46705789d13ac3a3939211ee9be8511fc1057b6'], + }), + ('AnnotationHub', '3.6.0', { + 'checksums': ['f6c4062a04a1a8421072ae89cf2ba41ef98c8372cd360f179c89745e0d1660c2'], + }), + ('AnnotationFilter', '1.22.0', { + 'checksums': ['d37a0e40e5503c84bc99432c982f4894a10114ae93abe9077074adaeb59b2654'], + }), + ('ProtGenerics', '1.30.0', { + 'checksums': ['9116dd55ef2e09f1b1d9d81f4745574d898dcf1d438e58a896357db83e78b7cc'], + }), + ('ensembldb', '2.22.0', { + 'checksums': ['51d68978b0f2285be379bbbfbb7b890ac689303434259ef6988a2f5ce3b031ec'], + }), + ('biovizBase', '1.46.0', { + 'checksums': ['865393b822d308c96d9987faa0d1e253ad14cf3efd3c3c376896eff2065ea64c'], + }), + ('OrganismDbi', '1.40.0', { + 'checksums': ['7cfa7055f5b4625e764ee918e8af46409a7b7f54ad53d3fa4e2268bc38ee8186'], + }), + ('ggbio', '1.46.0', { + 'checksums': ['0f983bebac75b2ae957e709d2fa316f547844ceb0136f132e3082ad06df0a3be'], + }), + ('geneplotter', '1.76.0', { + 'checksums': ['6a2bf0e14ca16d23c629680967d24c5c08006300483235ee3acceadda6269b24'], + }), + ('DESeq2', '1.38.3', { + 'checksums': ['b5db24957eefca903089d9b6ca56db25438a25ad3981ce83fc847eb3647a3e4f'], + }), + ('ReportingTools', '2.38.0', { + 'checksums': ['c0673fe479e09590b789ade6d91c50ad7f5e568aa9bc9debf7606301c0b22fdb'], + }), + ('Glimma', '2.8.0', { + 'checksums': ['42bcc0390167920fd1b5c58815fcd1beaddaef8aa9aabf315c99f6d1ee5253bb'], + }), + ('affycoretools', '1.70.0', { + 'checksums': ['94c4be4223a427763e07bf468e63a1ce2e272a432c5abf4cbd56c2d890a6549f'], + }), + ('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.48.0', { + 'checksums': ['c7d5319808ec9267e052fecc1336777d3fa8731efe882554801036d2bcf57060'], + }), + ('geneLenDataBase', '1.34.0', { + 'checksums': ['8f9cf0b21de1e9042dd8680c86ca93b72f57c0f68d38acf81a0187cdc2d396f5'], + }), + ('goseq', '1.50.0', { + 'checksums': ['c8478273cb97f28a827fca7721e31fa51831d467d292a218540c0f4ad0a60975'], + }), + ('KEGGgraph', '1.58.3', { + 'checksums': ['c60fd72bdf5f0fd9335779a15f9f299143cab0592406a418dc643274db3fb2e8'], + }), + ('GEOquery', '2.66.0', { + 'checksums': ['7602d0cb9c8d600187d599c2fb6d7328f219193c72c4af1987aaf51968556232'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('mixOmics', '6.22.0', { + 'checksums': ['3dabec627b5e21da365979d6980565bd338e5a6ec8c3a016f3726ebb6184da70'], + }), + ('Rhdf5lib', '1.20.0', { + 'patches': ['Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch'], + 'checksums': [ + {'Rhdf5lib_1.20.0.tar.gz': 'a73b462be309c9df11afc9b941282dcefb36b4a38d15c050fd98bb3c05bbaf7f'}, + {'Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch': + 'fd35fd20166aa67cf5fbc194861d9196a2220fd40057b0524722ecc3de4774e8'}, + ], + }), + ('rhdf5filters', '1.10.0', { + 'checksums': ['e1bf2ada5070b4b8d48b90db13ea750c812eaa2a82536571faa35621c250a29f'], + }), + ('rhdf5', '2.42.0', { + 'checksums': ['07818686cf0ce84d179416c900903289b301ccd6cee41cd1772589d08e10baef'], + }), + ('HDF5Array', '1.26.0', { + 'checksums': ['d0c47ddf50deae248f93d97c154e52ab2d3068ef4520c18d8c360a8735ad45f8'], + }), + ('sparseMatrixStats', '1.10.0', { + 'checksums': ['60f523d2c70b926768070373b9fd05dafcc53e822b3dfd406fe95b4b541e02e7'], + }), + ('DelayedMatrixStats', '1.20.0', { + 'checksums': ['63ca262c2b92966759ba9d2ebdea7500a4dd859e9f87c17408522f80693e9661'], + }), + ('minfi', '1.44.0', { + 'checksums': ['8ca2606e3dc83ecece76df8725a0b4fe44cad1c386006ec92452f847e34f2895'], + }), + ('FDb.InfiniumMethylation.hg19', '2.2.0', { + 'checksums': ['605aa3643588a2f40a942fa760b92662060a0dfedb26b4e4cd6f1a78b703093f'], + }), + ('methylumi', '2.44.0', { + 'checksums': ['84d507e3008b1d762de2ddaf3ee98d18f1c95eba83ba3e1580dfab39c7f66e1e'], + }), + ('lumi', '2.50.0', { + 'checksums': ['582ea1e15b4c70682addb7e6699b468695e2f167213496a5ed2d191d51212181'], + }), + ('widgetTools', '1.76.0', { + 'checksums': ['c5cbbd2b111629a30fb4cf82f27c5f2a5555bd12c3220754cce1277edc6f23dd'], + }), + ('tkWidgets', '1.76.0', { + 'checksums': ['72da8e46958dfd1ae9d707656302111214e2c9e5bafdf971d624202848fdf027'], + }), + ('Mfuzz', '2.58.0', { + 'checksums': ['dfb9ca914110b92d919624b484954971cb8bce8b3f3d2194172a002d1d636d06'], + }), + ('venn', '1.11', { + 'checksums': ['33d915c7c90078f1e76e803fa3f02ab5b74dd04de7a9700477e51e0235f19314'], + }), + ('maSigPro', '1.70.0', { + 'checksums': ['a04310374247c39fdbe6dbd6a68a59b4412ecb3b8d686a6ad7214b078a151011'], + }), + ('SPIA', '2.50.0', { + 'checksums': ['ebd8998907f9f42085d9e00bd001b149486b74e79a6afbefdb17f213259532ff'], + }), + ('Gviz', '1.42.1', { + 'checksums': ['4ac722abc5ba97141d286a8b8324424b4179b9636ee1b16767881dd834301a07'], + }), + ('cummeRbund', '2.40.0', { + 'checksums': ['a955bc1b76c59d1fab97de09740d524c770f5954a58990a906ed93fda885f3bb'], + }), + ('GenomicFiles', '1.34.0', { + 'checksums': ['a11026ba7461816097b889aa1148f4c5d3227b041e1ed4384817215f5caac44c'], + }), + ('derfinderHelper', '1.32.0', { + 'checksums': ['0478def20d6861779e4c640283d71759bc3bbf56131cc9db67718fe271951985'], + }), + ('derfinder', '1.32.0', { + 'checksums': ['f920adcd310b352a070bbd6d03a2587fb7626add4a74071ac8e2cced3c1c306d'], + }), + ('polyester', '1.34.0', { + 'checksums': ['bac7b6a80979d604732e3ccc785ceca08fa37760312abf8332f3ce1ba9278a9b'], + }), + ('Rsubread', '2.12.3', { + 'checksums': ['ad498c5c386219989b689e5bd22eb16d7f741d666bbb0009598bc2e791da1552'], + }), + ('pcaMethods', '1.90.0', { + 'checksums': ['440fc4441798c50ecd39416188e82375f2484a9732e51197e9f3bbb5ae9b55b2'], + }), + ('marray', '1.76.0', { + 'checksums': ['fa4d8751414a3038e0c07dc61b90fc10f6ddcfedd520dbfb365088dd25234dad'], + }), + ('CGHbase', '1.58.0', { + 'checksums': ['77b7b07137f4f48208c063d8c1f4390d52f3c4938f2a2747f606125844f9c106'], + }), + ('Wrench', '1.16.0', { + 'checksums': ['3d0d9b3127e2622dde59ce78d3ff16fbeebc3e9e3391480c2f1cdd2693dcf558'], + }), + ('lpsymphony', '1.26.3', { + 'checksums': ['e57bb9a414cd9bf219072179c58d32715ca0ae4475968145a4a0f04bea340c47'], + }), + ('IHW', '1.26.0', { + 'checksums': ['3e7b896a87b2c21a9da91a4a4634bca4b70ea0671557126b71cde3bf04716b13'], + }), + ('metagenomeSeq', '1.40.0', { + 'checksums': ['5e26362985890a6bb22b17b755b9d5d3df1293220fb3617551daa3ca26e19207'], + }), + ('gdsfmt', '1.34.0', { + 'checksums': ['06cc0c5d087859a897c46bca4555b957df99453bb9d1cbe2dee64ab809c663b2'], + }), + ('SNPRelate', '1.32.2', { + 'checksums': ['9daadded411c04ac33b98c27d4d873f735cc757b4ef4874589cfa76091da60c5'], + }), + ('biomformat', '1.26.0', { + 'checksums': ['21dac4201474b56610d0aa8c6f4dc0d5514dec6a37897a695176af02e475481c'], + }), + ('phyloseq', '1.42.0', { + 'checksums': ['736a9bf5315e548293e41c0c6696c3147357c6abee308ec3a8997fb35301f11f'], + }), + ('NADA', '1.6-1.1', { + 'checksums': ['670ff6595ba074ed0a930b7a09624d5ef20616379a20e768c1a7b37332aee44a'], + }), + ('zCompositions', '1.4.0-1', { + 'checksums': ['33ee11f635cb87cc9c0617e1cfc91f1ac41c6cfe2b70fc441e226015939230e7'], + }), + ('RcppZiggurat', '0.1.6', { + 'checksums': ['9c78255ca476c945c05a564d1e4da363de714d890e0e27f3b252fd73c50eed71'], + }), + ('Rfast', '2.0.7', { + 'checksums': ['8f86159a4760a7124e1c91ae0b022c7e496f81590ea4e4af702bea44e8dedf8f'], + }), + ('ALDEx2', '1.30.0', { + 'checksums': ['6eba6fdd689fdd5d18fde3ffe4aa64ad4af5bfdc8977b8038d297fb46ed10515'], + }), + ('dada2', '1.26.0', { + 'checksums': ['6c9ee66abfa2e21096b8a3669346a445ee051308d9773f2d9e6e4ea230c1aeb1'], + }), + ('LEA', '3.10.2', { + 'patches': ['LEA-3.0.0_support_aarch64_and_ppc64le.patch'], + 'checksums': [ + {'LEA_3.10.2.tar.gz': '2ecf7f965bf0812619ecc73e5ac1536c9a4f97dce7e37aff098d696607d08807'}, + {'LEA-3.0.0_support_aarch64_and_ppc64le.patch': + 'caeaae7aa0577540bc9c03b54ce5a0fe4ff1a28ac503106e2b3acd1b9db82881'}, + ], + }), + ('tximport', '1.26.1', { + 'checksums': ['d68f13fdd8f4eec668dd20147a18a03f3e02abb34f64cf3cb6a92fb12cc1c7e4'], + }), + ('SingleCellExperiment', '1.20.0', { + 'checksums': ['4fa8af4bb12c045628b6448d63a8fad302e700abfafe0120263c01301c4f2cf9'], + }), + ('beachmat', '2.14.0', { + 'checksums': ['d52485edb2919fe2b1a75999fd583c8eee7b9608fbe406bcf8d1c99312e44169'], + }), + ('RcppAnnoy', '0.0.20', { + 'checksums': ['dcc6c7e091154d0a5698472e0fc7ed77976941c7376d21e019c90c3efaeacf85'], + }), + ('RcppHNSW', '0.4.1', { + 'checksums': ['4f0082154f77dcb7756d41cdbfe0f58316431b9027081321a27942f319097c74'], + }), + ('BiocNeighbors', '1.16.0', { + 'checksums': ['37c993c476c179a12dfc1d75afe42c4fbe5128c19169e655ef94f3575c06c025'], + }), + ('rsvd', '1.0.5', { + 'checksums': ['e40686b869acd4f71fdb1e8e7a6c64cd6792fc9d52a78f9e559a7176ab84e21e'], + }), + ('ScaledMatrix', '1.6.0', { + 'checksums': ['815ac82cc510995eaccfc521fdb65c153f25e8432d301b0da8fbe5f6d337b953'], + }), + ('BiocSingular', '1.14.0', { + 'checksums': ['738abd56358dd2bd56890380345b05d453be000005ba93d40571bbc8aaff3110'], + }), + ('scuttle', '1.8.4', { + 'checksums': ['6e94e7c96ef9ac584da2a28cd11133d10b50fc1370d8d06a39259794e83b4510'], + }), + ('RcppML', '0.3.7', { + 'checksums': ['325c6515085527eb9123cc5e87e028547065771ed4d623048f41886ae28908c6'], + }), + ('sitmo', '2.0.2', { + 'checksums': ['448ef8d56e36783354011845daf33f1efb83ea3b9685eea75eaf5134e24fa8c2'], + }), + ('dqrng', '0.3.0', { + 'checksums': ['4beeabfe245ce7196b07369f2a7d277cb08869ad8b45a22c6354c4cc70a39abb'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + ('ggrastr', '1.0.1', { + 'checksums': ['82d6e90fa38dec85e829f71018532ed5b709a50a585455fc07cb3bae282f5d1f'], + }), + ('scater', '1.26.1', { + 'checksums': ['03336f494089d71920b30e285876b7256aba2946dcc3f4ce8976d340bc7056d6'], + }), + ('bluster', '1.8.0', { + 'checksums': ['7e9b2cab68ddf27b4167436b6a4e42bce32487bdc3a635cba025559b00dd29f6'], + }), + ('metapod', '1.6.0', { + 'checksums': ['6b25503595ba5c951f04504a9a3f8167ce827261a08a24ad3dd8adf471505419'], + }), + ('scran', '1.26.2', { + 'checksums': ['de010e0dd5ce69fcb2a2692211cfe8c0597ea12786caa060a20998a91b990065'], + }), + ('SC3', '1.26.2', { + 'checksums': ['6a3e53c3cc6368b1fd303570f8e7ebe3c8f877affcba78066a06575c4a2d4437'], + }), + ('ComplexHeatmap', '2.14.0', { + 'checksums': ['47a475eaddb85fdf67cb2d9d260a79eb359eac8c48eaa04793a7d430a480c0d5'], + }), + ('GENIE3', '1.20.0', { + 'checksums': ['31a0d9b1b06b19d6b36a5a6eca80c63a6f3f1ab5878eae9306a697634fcfcc24'], + }), + ('dupRadar', '1.28.0', { + 'checksums': ['99c1878dccebd5bc7446167222ef97c994b86237edd2ce0adc6c88d0921ff580'], + }), + ('DNAcopy', '1.72.3', { + 'checksums': ['dc1eac19ad9e414cbf69eedabf23a23a1c104bc87f1f21f14d0db714bccdbfcf'], + }), + ('sva', '3.46.0', { + 'checksums': ['6f08aab3ee29cbe6481797b6bb507f351be25e4f0fc9e72588c8fb9d093f2b30'], + }), + ('ballgown', '2.30.0', { + 'checksums': ['7cbb7ee5a145242d965eea49456f6de4ea7e08a32bb9debe23333c4ae426c247'], + }), + ('DropletUtils', '1.18.1', { + 'checksums': ['e738ed88fb2186dfd6957e46b5fece8c1908d84b13f248d5298ddbd4a7565067'], + }), + ('DeconRNASeq', '1.40.0', { + 'checksums': ['c4235fcd08426920dbefdb96945fce60ee5d6836a224c95c8ac85fed20c33c17'], + }), + ('GSVA', '1.46.0', { + 'checksums': ['c5f0451956b31312d22fe2e439bd64f28495107d2637e72eaeebdad424ebf6ee'], + }), + ('PureCN', '2.4.0', { + 'checksums': ['2b909b5d4736a5c6726e80c0fa0ec0a8b1d8144f12199d7c1dbd295736b2c974'], + }), + ('globaltest', '5.52.0', { + 'checksums': ['335d0bd6e5a90d0ecd769a4119ff89e60746edbf31ce3f34572a2caddad199e1'], + }), + ('GlobalAncova', '4.16.0', { + 'checksums': ['9b638ad642176b857df209ab830c56b4ddf055cb6b167abdd5909dd0d84c6c7c'], + }), + ('vsn', '3.66.0', { + 'checksums': ['1f5069ed5d8c2b3b9feabf1199eda5f0bbb496a610a7626fa8861827cbcbe7cc'], + }), + ('mzID', '1.36.0', { + 'checksums': ['ea273dc50ab2d7099d543bc9dde8737465e144ea45dd60aa7151c5bfa62fbc40'], + }), + ('mzR', '2.32.0', { + 'checksums': ['e1d49d3e6bb3af2a96a7918398f4abfdb7516531f9f24b4b8aba08a7f69ef55c'], + }), + ('MsCoreUtils', '1.10.0', { + 'checksums': ['98fda58cc3aa32f9425f54297452667fa3d8f3be58a632bba961eebac5da19ea'], + }), + ('MSnbase', '2.24.2', { + 'checksums': ['8727e255ae4f10e772935a720118f3b97d674e8d2f6f185d871e270b7320b849'], + }), + ('MassSpecWavelet', '1.64.1', { + 'checksums': ['0f6f1bd21b6b7977c4db1b26515e0f8fc963e7a87407bdfc2b6a233632690c5d'], + }), + ('MsFeatures', '1.6.0', { + 'checksums': ['41060ed64d31f71d9c9b5f027648f16458d0000f4c7bb4dd53aaf130381122e0'], + }), + ('xcms', '3.20.0', { + 'checksums': ['1d0bda1f634c592002726b402a3cf0bf95ed5efecdf66383e5d31b0652b340be'], + }), + ('CAMERA', '1.54.0', { + 'checksums': ['b59a76592046c5a024e1f137b954778518a70bd7a0765a1fe55dca0e408ecf9f'], + }), + ('fgsea', '1.24.0', { + 'checksums': ['138f343ead7b33c41044b4235f9b137ba35830c6e670da7af7f8e505592d34bb'], + }), + ('GWASExactHW', '1.01', { + 'checksums': ['e850ed40fbf14b02eb3798603cfb111fe3718bb69d74c0ff4cb6f679209a15a7'], + }), + ('quantsmooth', '1.64.0', { + 'checksums': ['f7c68e30ab169fe2a13928b7fb06f3714e859abdb1456f1e6901acbc86e6bca9'], + }), + ('GWASTools', '1.44.0', { + 'checksums': ['38e5f2e1e6f739b98129f2ad9bc388df4ec74955341004a71a949432f106d109'], + }), + ('SeqArray', '1.38.0', { + 'checksums': ['9699cd3b5b2cd523c78fc8c4c289a0deb4329f72d02c8a7b08e05a06b9b0048b'], + }), + ('SeqVarTools', '1.36.0', { + 'checksums': ['cda342b2c133bbf67e4a636a6fdce950321631dac093739837c4b495bf2bc833'], + }), + ('GENESIS', '2.28.0', { + 'checksums': ['ca95507d01d53cecc98358a78ff9f2e649e82f3c86d5489f7df172dbdb318a51'], + }), + ('MLInterfaces', '1.78.0', { + 'checksums': ['3df9895df290a287c14c850b6680e0cded83bd44e395fe5f00b3f9622a7cca76'], + }), + ('pRoloc', '1.38.2', { + 'checksums': ['51ff83200eb07d9effff745d8dd233ada759db54fb2fdd3c5589c044328695e0'], + }), + ('pRolocdata', '1.36.0', { + 'checksums': ['0a274be874e66b6b27c0d97e64bc21133f0ad37595dbf9d8e8be0baa2b892e60'], + }), + ('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.7.6', { + 'checksums': ['5392d287828f32f7708e49d1a2030d27f05118cdb3865ca630deccf632ed8478'], + }), + ('pRolocGUI', '2.8.0', { + 'checksums': ['225788ccc3c03027138f08ac20809997b29281cbb32af4a208158f556af4d768'], + }), + ('EBImage', '4.40.0', { + 'checksums': ['1880d87e7be3a4c3152f5622141eb9497fa8011b790b0c7928242aca775ccfcc'], + }), + ('GenomicScores', '2.10.0', { + 'checksums': ['b04037578d3d2ced91c69a83350d51da1a58da15e030dbef4055c5c2787de0eb'], + }), + ('BSgenome.Mmusculus.UCSC.mm10', '1.4.3', { + 'checksums': ['dcf602bf9fadf1ef4ce70e0c0fc92b6435467df5affe7d0872d88a93b99ff9ee'], + }), + ('TxDb.Mmusculus.UCSC.mm10.knownGene', '3.10.0', { + 'checksums': ['696281749d01737c94894564d62093433045bc007a4528cc3d94f205edb54977'], + }), + ('regioneR', '1.30.0', { + 'checksums': ['89001c6f24ffd23a8badd7f09595cfb973dd1b0e1f2bfdc503b475053ee45605'], + }), + ('InteractionSet', '1.26.1', { + 'checksums': ['ad7cc6801d88858801fcf855a95788587834a513bef1d0a4bf39e6b5149468da'], + }), + ('ChIPpeakAnno', '3.32.0', { + 'checksums': ['c6ef5c446457d381934aeac90fbbafc495808ead8d67d6ac7b585dbceb805e8f'], + }), + ('seqLogo', '1.64.0', { + 'checksums': ['d7fe7ac53c7b64e78ac34619758df42d9442e635b284befe52f148ac62889df6'], + }), + ('rGADEM', '2.46.0', { + 'checksums': ['e30653add6e38db91ca92a2897421461eccaf6604ef02ec83cbc2c849b1c111c'], + }), + ('MotifDb', '1.40.0', { + 'checksums': ['f41d4a37328db893f8c0cd6afee1e0be8d588cc090a5c6440a6383b86a775188'], + }), + ('poweRlaw', '0.70.6', { + 'checksums': ['efc091449c5c6494c1c13c85a8eb95625d1c55ffffebe86c7ea16e4abbafa191'], + }), + ('CNEr', '1.34.0', { + 'checksums': ['dceb50eb3881436ed961e22e603b48e4dce3dc8c7e3e9cafb0b03912143bc297'], + }), + ('DirichletMultinomial', '1.40.0', { + 'checksums': ['8112a8443d76ea587106c6f8d6fde4eac4db4c4172507e60354f33fe07b53601'], + }), + ('TFMPvalue', '0.0.9', { + 'checksums': ['b9db56e75e2cee840d8b7861686dec07ee2c40cbc7d55361e5d04f1bf0c65de7'], + }), + ('TFBSTools', '1.36.0', { + 'checksums': ['099d17585a41d53d23a5c287e33247cbcea73d8b3f07d43aa899d5022b9f6f16'], + }), + ('motifStack', '1.42.0', { + 'checksums': ['153689805f2cd4ccf31ae8b909687aaf803532798f1d9586b7420f845be9eea1'], + }), + ('ATACseqQC', '1.22.0', { + 'checksums': ['62a5f0cd3ec7e6dfa5c591a026de52d907e3520273e7dbb3fc1e23f79b88ef89'], + }), + ('ResidualMatrix', '1.8.0', { + 'checksums': ['49e6f4f805836f9a02857e84fcd1f726b9c470c452814be5ccd069f84376117f'], + }), + ('batchelor', '1.14.1', { + 'checksums': ['d5312d436dcb6fa2163c8e0c4febfeb533b78f284614f4f08224f46bd42248fa'], + }), + ('gsmoothr', '0.1.7', { + 'checksums': ['b75ffd2a4a0f357762e02e46e355b45cc90ea637830f0a1b01f216bb4541e903'], + }), + ('Ringo', '1.62.0', { + 'checksums': ['f93f6274e8bcfdfe419b784fdf68607cd311e0f118b9722a444832a18cbb3451'], + }), + ('R.devices', '2.17.1', { + 'checksums': ['3b7e57039311c034ff87ccebef4f16410d59985693c47949ecefa49a166c9c09'], + }), + ('R.filesets', '2.15.0', { + 'checksums': ['bad66f3d0f00eccc681b9e23aefc37343e6e414298eedba3a2db41e74c7fb691'], + }), + ('aroma.light', '3.28.0', { + 'checksums': ['c4463dec311c25ff2c54b2a92547eaa6453a125edecb70b64d76ba5ba7dbe905'], + }), + ('PSCBS', '0.66.0', { + 'checksums': ['58805636e55e0fd3f57bd4a0e296a8bb3d57a7bdd0fdd5868a73ddc83d173a93'], + }), + ('aroma.core', '3.3.0', { + 'checksums': ['7b6ab7cc6079f6783b0eaa2c10a29492e53cfb3f05b7a298588491b35a472188'], + }), + ('R.huge', '0.9.0', { + 'checksums': ['f12d113a965603cfdbbb46e1a57331d267916235555b22f2bbc06caa302ae58e'], + }), + ('aroma.apd', '0.6.1', { + 'checksums': ['d30f3bcfa756958107f3b3f1e11151278463dcc36da7bdc66819864ab4b6c82f'], + }), + ('aroma.affymetrix', '3.2.1', { + 'checksums': ['7aefbbddf94f6fc0ee2dec261f0caa6ca28d5f36aa7f7534ffb5f4e10ec4f5fb'], + }), + ('Repitools', '1.44.0', { + 'checksums': ['030048566a8549b9bdd9faf2552097df520ffd8efd89832d446c0172ed051591'], + }), + ('BSgenome.Hsapiens.UCSC.hg38', '1.4.5', { + 'checksums': ['b49277e4fd955be76571f187630993b02a459c7c5b69ef62a01a75dd5226e952'], + }), + ('MEDIPS', '1.50.0', { + 'checksums': ['c15bc4d0c5f750e853872e0e0e1f0a46faeeaa60cc2d707b59f96f6c1ae160fd'], + }), + ('RProtoBufLib', '2.10.0', { + 'patches': ['RProtoBufLib-2.8.0_fix-protobuf-build.patch'], + 'checksums': [ + {'RProtoBufLib_2.10.0.tar.gz': '55e45aff285a370ce7909f03eb21e1c265a611241cf2a397f4105c86f2d4a51d'}, + {'RProtoBufLib-2.8.0_fix-protobuf-build.patch': + '8775d74e2288000c57575f4ef45a875b4a377ac02f89efa947699ea786bedf64'}, + ], + }), + ('cytolib', '2.10.1', { + 'checksums': ['25d6d625cd882bbba0997c818597ceda2f1fcef39630c40658e5d0a815a6f865'], + }), + ('flowCore', '2.10.0', { + 'checksums': ['52ab82e9fddc26990d1e201b9c226d5aa771a5a8ed151d894930b23dbef71948'], + }), + ('mutoss', '0.1-13', { + 'checksums': ['b60f6fcdce44dc60c7d34c6510047f756f1442366a3566661b22aae12f4ff141'], + }), + ('qqconf', '1.3.1', { + 'checksums': ['c531d4c074583418e7a6e23cea0b163ae825db83b338775dddf8628b683a7cef'], + }), + ('metap', '1.8', { + 'checksums': ['ee9501a8de8a4c47af1632e6053e42ef53fc4b8bdf0f2759edc4d3eefaf5552b'], + }), + ('scattermore', '0.8', { + 'checksums': ['dbdd73d8261cb063464bb29d5c17733b7e87bc50a19948bc80439e19f2a9f8e5'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('Seurat', '4.3.0', { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), + ('ALL', '1.40.0', { + 'checksums': ['1c6be8426c4a926de63ff2779d0e031308f6904b1f732d82370f54f208308ece'], + }), + ('ConsensusClusterPlus', '1.62.0', { + 'checksums': ['5845f024820b5a5514a8b839024f8e7f7be1754867f5627b717f0741d71a9f95'], + }), + ('flowViz', '1.62.0', { + 'checksums': ['e85f0a6282d5b0a663142943514f8825082a87ce7c2494f33eb1ec05e858e27b'], + }), + ('ncdfFlow', '2.44.0', { + 'checksums': ['f5473d14e8ebe59988a0dde0c1d8d2245dbae71d3bbdf6c9b729a10c5ace612a'], + }), + ('aws.signature', '0.6.0', { + 'checksums': ['f7fe4f686979be21e5a8ba7ae11f0fade4f5aaf4e98063b5349ee0962dbb9496'], + }), + ('aws.s3', '0.3.21', { + 'checksums': ['bd21054ab63555d294e7465dcb6c86f107db52ba841aeac5bdf4d00af0674c8c'], + }), + ('flowWorkspace', '4.10.1', { + 'checksums': ['e4e1fe6fe6284e649b3ff4b8a9295727c61da70189a40975151654372973ab4a'], + }), + ('ash', '1.0-15', { + 'checksums': ['8b0a7bc39dd0ce2172f09edc5b5e029347d041a4d508bbff3f3fd6f69450c2ab'], + }), + ('hdrcde', '3.4', { + 'checksums': ['4341c6a021da46dcae3b1ef6d580e84dcf625c2b2139f537d0c26ec90899149b'], + }), + ('rainbow', '3.7', { + 'checksums': ['159dd90555eee237397f042d811f773aaee779f5036c4e0669a52c36e28d8db2'], + }), + ('fds', '1.8', { + 'checksums': ['203a5e7671e542dcb83d4c75d0f4012aaebc32d54f94657afaf9e71e99dd0489'], + }), + ('fda', '6.0.5', { + 'checksums': ['14445776fc65284cd6cae98e5b4dd14c2626d96db5f78c0fcc6aabce5419b8f1'], + }), + ('flowStats', '4.10.0', { + 'checksums': ['57d0c7601640544a2bc71c3d179422c42f5db937a69001bda86a436d5d06b883'], + }), + ('flowClust', '3.36.0', { + 'installopts': "--configure-args='--with-gsl=${EBROOTGSL} --enable-bundled-gsl=false'", + 'checksums': ['d803a12086b3dfefac0b6ba08a7e5e3fa455f17ea69aa1daf7cf806eea7334d0'], + }), + ('openCyto', '2.10.1', { + 'checksums': ['20438f78c21727634fee387658dd798284e796dddd411f75f80f7d0b5b529a9b'], + }), + ('ggcyto', '1.26.4', { + 'checksums': ['f2febbda6f07350778f96c841458389ba68fa786d7087483e57bb20d17d841de'], + }), + ('CytoML', '2.10.0', { + 'checksums': ['4a4b94b6a3e296139093d5034f755fcf2ee3a45866b1d3cfe476d2c7796dbb80'], + }), + ('colorRamps', '2.3.1', { + 'checksums': ['61f1290824380ae2fe4649f296649e0a155b73ced41479686150400f8a9c568a'], + }), + ('ggnewscale', '0.4.8', { + 'checksums': ['c7fefa6941ecbc789507e59be13fa96327fe2549681a938c43beb06ca22a9700'], + }), + ('ggpointdensity', '0.1.0', { + 'checksums': ['3ea646cf183c8bf7869b122a4ee972b53709056ff443ea71551b823524092a31'], + }), + ('FlowSOM', '2.6.0', { + 'checksums': ['2cfcb3ca83f0c35eceb753b551eb5fc8b5022dfceeeefa017eb11406218dfde8'], + }), + ('HMMcopy', '1.40.0', { + 'checksums': ['bb4469b4050a0b86cbd8158efbec435931075495fdd639509fc9f3eda9b0325c'], + }), + ('diffcyt', '1.18.0', { + 'checksums': ['5a30682f27f04a73884712cf9f94a9fe7524f2aadc99e0290c95586bf5dcb083'], + }), + ('blme', '1.0-5', { + 'checksums': ['679a4f19d34a584c2390ffab37810a31f6834b913fceaa2409d297ccdf912310'], + }), + ('remaCor', '0.0.11', { + 'checksums': ['750699c75e46dbc6a654ad29be736d886da0bc3c8a259882785d9b2ff30f1342'], + }), + ('variancePartition', '1.28.7', { + 'checksums': ['a985b6ce9a6183c91a2eb053fdbb6e9ce1411898b50ac3ac825d91076e616547'], + }), + ('muscat', '1.12.1', { + 'checksums': ['2a6c8cded6e4cd36f5ca0ccd63a5c2451d452c9eb1e66a58de24efe7877e2d18'], + }), + ('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.32.0', { + 'checksums': ['e29b0e8bb803116056e5d19dfc649721ac55994f1654eedbb76bfdce96078f70'], + }), + ('BSgenome.Cfamiliaris.UCSC.canFam3', '1.4.0', { + 'checksums': ['99c55b6f7808822a3dae6679e60ecfb88a2b618159484bc35303c000bd4820c7'], + }), + ('ExperimentHub', '2.6.0', { + 'checksums': ['ba84b86f66a6eebeeb1427615d9dc98152feadaf4bc438cd7b02fdc87bfde1c8'], + }), + ('SingleR', '2.0.0', { + 'checksums': ['66711532e1b54835ba1ec8f398433703f41bb3fba5dc765a0b3559d200353c17'], + }), + ('FlowSorted.Blood.EPIC', '2.2.0', { + 'checksums': ['81bedf637192c6a3bd88979f1c2bfa43ec1dd61d788019cdc339da2e9391cbef'], + }), + ('FlowSorted.CordBloodCombined.450k', '1.14.0', { + 'checksums': ['7a0c913d669589b527c1a7a74d84bc2b3cb6de460f554e5ac38138a84d994d18'], + }), + ('DRIMSeq', '1.26.0', { + 'checksums': ['9c98d07557a2ff00fdbb778cc9375f5fd3cbffbe2fa85c860303ba9496774332'], + }), + ('stageR', '1.20.0', { + 'checksums': ['1568cbb00db6186239aa0e914a14ac310bdb3933fccb9497e032fea9d2de5ed1'], + }), + ('isva', '1.9', { + 'checksums': ['9fd016e0b34034d271d45f8a0d0db62780bf0187112e45f610aa9237014e1d17'], + }), + ('org.Mm.eg.db', '3.16.0', { + 'checksums': ['a00357b46734d10997dd9c1f5022c25a76ca68e63bdcce8d76c351727fbf1c0c'], + }), + ('org.Rn.eg.db', '3.16.0', { + 'checksums': ['d011779b8e208bd31ded100cc76490c8875d01d9600d63157e0b6c9b9c6876f3'], + }), + ('ROC', '1.74.0', { + 'checksums': ['bb6e514655f972a37feebeb0b8893953b989fd7a064fcd515ff97ed96b37fc02'], + }), + ('wateRmelon', '2.4.0', { + 'checksums': ['108825fd1dcc03a84536ac17237d230ab680e40d163fd546a84f9b2581ca1555'], + }), + ('GLAD', '2.62.0', { + 'checksums': ['46e293b3599afd7e7bd5349cfd24846bd6b5d9262754eb457dd39a5c5814653d'], + }), + ('missMethyl', '1.32.0', { + 'checksums': ['26b77733a8cfe24b116cf49a3f653bbe66a8ab315aad4a431230b459d5f62383'], + }), + ('MethylSeekR', '1.38.0', { + 'checksums': ['f229b8ca441ab164134f44d6dfc7b8fc0f970399f53745941d3d091469776435'], + }), + ('affxparser', '1.70.0', { + 'checksums': ['5ae2aebc04d48abcc58ad98a284f3d560283f6963e4e946582579904fdcd825c'], + }), + ('ccdata', '1.24.0', { + 'checksums': ['83a10af8db1e81ff92fa4198688dba35028ae06c57f137a98a522c4c02174fbd'], + }), + ('lsa', '0.73.3', { + 'checksums': ['f07f1159f215501495d7a077911e7ed2ac61e1705899f3be3a5cf9012778619a'], + }), + ('ccmap', '1.24.0', { + 'checksums': ['c7f1bddaf3d1975fd36b294a8fb2a2af956a144e4be6dd7068228fbec1f866b1'], + }), + ('oligo', '1.62.2', { + 'checksums': ['e97dc548b46715caa7f741034815370f37b7fb5f828fa428fb1f8aeddfb6c0a6'], + }), + ('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.24.0', { + 'checksums': ['c80aaa69451750c5b67442f39c0a5ec543f75ef60c8553d369c15a992421142d'], + }), + ('snpStats', '1.48.0', { + 'checksums': ['9de304806e6902d8bbfabbf75dabbcc58ca9c7f06d6a924241acf948b6ca3393'], + }), + ('mixsqp', '0.3-48', { + 'checksums': ['8874d7c2ce1a43ffe55d2de450bc7bd4e252d7e621c40ebc8f1fc752c7789209'], + }), + ('susieR', '0.12.35', { + 'checksums': ['ede62644fbbeb5e534e4d049638a990f8e2ffcf54f9c67054c9a5038e9600d3a'], + }), + ('coloc', '5.1.0.1', { + 'checksums': ['427bfa566a6ae6ef719401c9214188ff3cd84aad9752ccbf22dc9f61e30b6a47'], + }), + ('SCANVIS', '1.12.0', { + 'checksums': ['e6a4fbc0855a8caf7f72a7a489c02dada3a9ae7c81c56916fa4d72a769314043'], + }), + ('EnsDb.Hsapiens.v86', '2.99.0', { + 'checksums': ['552c07bcc2a1420089d4330deafaeb5303e03d0fa75c96b78075dfd67eeee7be'], + }), + ('agricolae', '1.3-5', { + 'checksums': ['83822535608b5307ca7d0067dbcf1ea3b7f2b1be17a52a55b72cc9f3c6bdec5d'], + }), + ('bookdown', '0.33', { + 'checksums': ['2288e1d0c383e6ab49202a18db6cc1a04c3adc1b25da646cc46167bc6c2892c3'], + }), + ('BiocStyle', '2.26.0', { + 'checksums': ['546f4f06289585d8772ed35e85aa4ce071dc0d151cb12d862ce5a80c7dbd5024'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.8.5', { + 'checksums': ['5c88b415b5a42d8c1aa63af090c4987326530ea6d0e60bab9b5fb7e99a982415'], + }), + ('ggdendro', '0.1.23', { + 'checksums': ['3a33e988c4fe12eec540876ad8ba09bda998773b2d2a90e043ebae4a69fa8eb8'], + }), + ('pmp', '1.10.0', { + 'checksums': ['3d1209041237315376b8db01499952696d16815dabc7c140a58fe555483a6080'], + }), + ('MultiDataSet', '1.26.0', { + 'checksums': ['8ff8fbbd81e3fd55dcc2a22bfadc137ed19f60b510121ad9c20872415a2f4ae2'], + }), + ('BiocBaseUtils', '1.0.0', { + 'checksums': ['c9cc62b5f96e51ea8f90cffe3123ffa28604e287c7306746c606a39e5b8cda5c'], + }), + ('MultiAssayExperiment', '1.24.0', { + 'checksums': ['0978c80129ecb3839c62c26bad2c8c32c6919a826fa54367a9747c4f14b69002'], + }), + ('ropls', '1.30.0', { + 'checksums': ['ab733764a94cbceefe07951005841870036744026086c80336650df441645c6e'], + }), + ('ontologyIndex', '2.10', { + 'checksums': ['c995d6d9df5ff9cfb81fb80f553fc0f392d2237ffa6dd8619fd8fbce745a3a42'], + }), + ('rols', '2.26.0', { + 'checksums': ['1cb85c1ba793228f467b7f8e396737246d31e0230e6d818d435422f3ad3af978'], + }), + ('struct', '1.10.0', { + 'checksums': ['eef24bd104f666017f24d2c791834c8265700559bfeea5ca448786dddf443f5e'], + }), + ('ggthemes', '4.2.4', { + 'checksums': ['7b35168cf5b68f6f52dd533a1b345ec87e09d1a85ca68e8dc5377cdf95718567'], + }), + ('structToolbox', '1.10.1', { + 'checksums': ['51ccbcf1458b5429d77e2d6849f59e6560c3f55cdd178fc7c22b8c7179145194'], + }), + ('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.9.0', { + 'checksums': ['b8ff36427e5919fd420daa1f50cf8c71935293ee7f88560041acb993b5e3afa8'], + }), + ('motifmatchr', '1.20.0', { + 'checksums': ['db596cab5ab1292eec380bf2ff6c9b8d7783fc32890935d6574c484bdcb36206'], + }), + ('extraDistr', '1.9.1', { + 'checksums': ['9990348c4dbc611684fcb58ab8db7e856dfde1c9c86ffb7705f4b3dff6b2d7bf'], + }), + ('PRROC', '1.3.1', { + 'checksums': ['479118ce47c527bc97fb58d531a31cabc094d9843d62f16922009dc62e8248d4'], + }), + ('TSP', '1.2-3', { + 'checksums': ['7dfb3cdcbcb79c07eb1db41e66e5e0c872f5f90c7e63eca94afc30bae9cf66b2'], + }), + ('qap', '0.1-2', { + 'checksums': ['47a4ada3ae7a3a5c9304174bd5291daad60d329d527c0c6bb5ec1ac257584da5'], + }), + ('ca', '0.71.1', { + 'checksums': ['040c2fc94c356075f116cc7cd880530b3c9e02206c0035182c03a525ee99b424'], + }), + ('seriation', '1.4.2', { + 'checksums': ['ad19ecbc375aa8121b8a60c6bbd0e7b3a5ab2779dab805c72124caa472ff5090'], + }), + ('egg', '0.4.5', { + 'checksums': ['15c8ba7cf2676eb0460de7e5dfbc89fc3175ac22a8869cfd44d66d156fd6c7bb'], + }), + ('heatmaply', '1.4.2', { + 'checksums': ['8a92b1ccee11371467f30833255c9ebef2259b6cbdf489181a0adac056c5ea7d'], + }), + ('OUTRIDER', '1.16.3', { + 'checksums': ['9684dd78d65e0bbe87e81b6d805824d488179cd96ae4cd351059b522610f6037'], + }), + ('FRASER', '1.10.2', { + 'checksums': ['b701286649c2c83fdf8f55ec66f0790d9258e20185464b456e9c79da966b499e'], + }), + ('JASPAR2020', '0.99.10', { + 'checksums': ['b9b92d141a317ebb32a14708229f6b82522ceeb5f1b88360d93b0a7cfe30375b'], + }), + ('AUCell', '1.20.2', { + 'checksums': ['7a70f12a55a99cfaf1de614469801fffeae21ca0743c2a4dbff9fd5e1a1e61e1'], + }), + ('RcisTarget', '1.18.2', { + 'checksums': ['22be06fe8461b2d3f9a0ead86d2126a7c0061e365ad32deb6ec173f845159f0a'], + }), + ('NMF', '0.25', { + 'checksums': ['28b918765f6c579c46d9a0638408297df27b78e9c4392abcd1f59e4dbe3fb44d'], + }), + ('densEstBayes', '1.0-2.1', { + 'checksums': ['4b7066e18902ee2a0ea084513b237b5fb8e43fe3102354c2fb216d5a8c7df5df'], + }), + ('reldist', '1.7-2', { + 'checksums': ['d9086cbc14ed7c65d72da285b86a07e77cbfebc478ba7327b769bd08549229c9'], + }), + ('M3Drop', '1.24.0', { + 'checksums': ['66110f22c81144763e38c78c22703cf640924d2953501ec624afda06da111ec1'], + }), + ('bsseq', '1.34.0', { + 'checksums': ['4ed397d29efd18fd2de659b72a9e1a137a3c3a16beb82f3cdd334415328ca065'], + }), + ('DSS', '2.46.0', { + 'checksums': ['ee494438bf49f33f5cafab56f4b2393e07c0c36a4ab5b6f217d695440cbea0e2'], + }), + ('pathview', '1.38.0', { + 'checksums': ['fe12df8ffa7cb6cb0d76d2aa32029f41df37a00f3adf0400bf7f1834006eec5c'], + }), + ('chromVAR', '1.20.2', { + 'checksums': ['5f84ba3ea747f136a682c8c67c7119e2182f26abfe0b658344aa374d03b2910c'], + }), + ('EnsDb.Hsapiens.v79', '2.99.0', { + 'checksums': ['eff1ae8d7f4ed5c6bed335de63a758be593750fb0b3483c01cf50402688d244d'], + }), + ('WGCNA', '1.72-1', { + 'checksums': ['1dbf82761ef3e76464b18fc9f698ad0f971aafecabf66ca937b950930bd57fdc'], + }), + ('DNABarcodes', '1.28.0', { + 'checksums': ['2596c0eb02789418b4522cbbc5a99c191d5e238940530e6d13653e443fdf51a3'], + }), + ('CAGEr', '2.4.0', { + 'checksums': ['e026e29d8f86bf2ba934bb6bf22b290ea833365dd499ebc996d65e31a2928ad1'], + }), + ('SPOTlight', '1.2.0', { + 'checksums': ['6e3b6e011952cf37c10efaa1ef248c37c8735d492225f5e7b7fc9319325cfb0f'], + }), + ('CGHcall', '2.60.0', { + 'checksums': ['e289c5e932e86db0f98233c6de2893860cea0bea4dde0462c45818e3b6e0c020'], + }), + ('QDNAseq', '1.34.0', { + 'checksums': ['a968daf40745cc54b48bfe6c2a105d631f88deaeb09008f12d239f6858dd63e3'], + }), + ('HiCcompare', '1.20.0', { + 'checksums': ['ae4adc96ef85b0675d2089207ad756dd14152e9127db66cf5b034c07ee1a7b43'], + }), + ('ROntoTools', '2.26.0', { + 'checksums': ['1a60b08689b2878761188298cf1969e096741f560e96608612b6ed9145671174'], + }), + ('scDblFinder', '1.12.0', { + 'checksums': ['f1eb33ad022e4d1c007f9dae72efb05a3c183cd6eb576794b9a0339f9180543f'], + }), + ('treeio', '1.22.0', { + 'checksums': ['892283d09694dd4cc7111118647612d1f2fcd2b730bab1c7a5301de54f2288f6'], + }), + ('ggtree', '3.6.2', { + 'checksums': ['bdca865db5cfc5b4aa89f62e185b31d3f1de87658609a7bfe9e0769895c1f69c'], + }), + ('scistreer', '1.1.0', { + 'checksums': ['49936bcbb107423d96aee421334c4ac6a1048434d2621b84eab95cf7ac11b731'], + }), + ('numbat', '1.2.2', { + 'checksums': ['0c567b26f7ff9a6c2129f9c023ffe6eaccea441b73b91cc3f327d630513c181b'], + }), + ('HiCBricks', '1.16.0', { + 'checksums': ['d41a7600003b62ff04e3e3ddbc62e494c325207b3da720e5acefcc03ad06a80e'], + }), + ('dir.expiry', '1.6.0', { + 'checksums': ['c8157d9ea86ad244923b344fe39bd73931fe2399e46ba0ae08af8de8980ca3c7'], + }), + ('basilisk.utils', '1.10.0', { + 'checksums': ['dca17bf5ca9ae225258241744a9829c71fb07b5450f37cb9a20fbcac104f023e'], + }), + ('basilisk', '1.10.2', { + 'checksums': ['09b402dae2d9328f76d7ffb91311cde639e55c967462ed279345caa3e2a84f93'], + }), + ('zellkonverter', '1.8.0', { + 'checksums': ['bed7c72324df7882816e594ccd8d6b84f5575999491c89a4ab5739e8a9d9242c'], + }), + ('DO.db', '2.9', { + 'checksums': ['762bcb9b5188274fd81d82f785cf2846a5acc61fad55e2ff8ec1502282c27881'], + }), + ('GOSemSim', '2.24.0', { + 'checksums': ['5a78ea253c1c34ef0b2c479eaef295eb766c81658688021ab553df301f3e8c93'], + }), + ('HDO.db', '0.99.1', { + 'checksums': ['c17cf28d06621d91148a64d47fdeaa906d8621aba7a688715fb9571a55f7cf92'], + }), + ('DOSE', '3.24.2', { + 'checksums': ['6fec12b1d5f622f5606236d559c801072d185c6f64aaf60e749cc7b09e369769'], + }), + ('enrichplot', '1.18.3', { + 'checksums': ['f483d3a8e7210a772acec74b4728a3f14812be11ae67072c80e3a35287c8ec5b'], + }), + ('gson', '0.1.0', { + 'checksums': ['14ddbee5be66d0b1dc178e41175a50ab6ed9ffed04d4361ecf5eef3548d9a381'], + }), + ('clusterProfiler', '4.6.2', { + 'checksums': ['af014c40f46646db0a5b6ef883af6e04010b5c1c0c33b8ff5d30336e43c3fc04'], + }), + ('reactome.db', '1.82.0', { + 'checksums': ['82f013e2bf42580c039af74a7fddba17e445cdb4845f95ccd61cfd07bc3cd350'], + }), + ('graphite', '1.44.0', { + 'checksums': ['1ccca351d2f6e6c90e76b6a899b08b83a95241a67c1546f50e4f312bc252723e'], + }), + ('ReactomePA', '1.42.0', { + 'checksums': ['c2c55cf86b81841303952d9c4d4acac1ad964d31c1f8a5d17ff4679b26242919'], + }), + ('flowClean', '1.36.0', { + 'checksums': ['732848b879f4d7bb5b9b4cbef32a6980e93b28fd92913b08456736c01dc21cf3'], + }), + ('flowAI', '1.28.0', { + 'checksums': ['e9995350f3076a42f8e9fc65c8cafded12924947da17c361a72f26c4a5a5f9a3'], + }), + ('flowFP', '1.56.3', { + 'checksums': ['fe64504cdb419adbb4342686ef0c99906c0071cc626ac12bba9d3161ed3ec611'], + }), + ('simplifyEnrichment', '1.8.0', { + 'checksums': ['fe492daf93f39c34b47340182e008ac7140eeb14d02a4e9961f47d693c2c1d8c'], + }), + ('RPMG', '2.2-3', { + 'checksums': ['74d5bada6a51d280296cb36fae4938c16ba9ed2fa37f3bfb60cf7c541c5b22b6'], + }), + ('Rwave', '2.6-5', { + 'checksums': ['6c9ef75bb376f2e3f5c5dcd3b3fdca7d86797ce809da34f444632657189be2e4'], + }), + ('RSEIS', '4.1-4', { + 'checksums': ['76d5caf30cd3871fa80d27ea694023a4c303ffc099297aeeff03d22538dbff76'], + }), + ('splancs', '2.01-43', { + 'checksums': ['b351565e1f69f6c86a29d921d3a18d5896c4586e2ab8c73bb3df8e75630fc448'], + }), + ('MBA', '0.1-0', { + 'checksums': ['78039905c5b98be2bb79a5f292187a2aca21ef449daeefea58b0cac53a5283af'], + }), + ('GEOmap', '2.5-0', { + 'checksums': ['82e5608eda7330632bc67aa662b649e7b7b3ccdfda6a18a19d2e3379e0db1093'], + }), + ('RFOC', '3.4-6', { + 'checksums': ['0dfa237f4d04eb9a2718942b4d7ed9538fc5f89e3cbaa5a34a4fd1bc6fe54533'], + }), + ('flowDensity', '1.32.0', { + 'checksums': ['4977c5a2723a034a9fb9458bfba00f917fa87182af35198f82d24d75f4c1d4bd'], + }), + ('flowPeaks', '1.44.0', { + 'checksums': ['97ad0e513cfb954eef35445ee085d1d6268d0ab2a8ec4e73d6456ea6d25a7a58'], + }), + ('SamSPECTRAL', '1.52.0', { + 'checksums': ['b8f85ce42b62b42c6fe6fd7fac7501e4329a359ad9126190207da9607c88f0ea'], + }), + ('ddPCRclust', '1.18.0', { + 'checksums': ['c27706a922d11d49a0a4f269df9de6882d81140eecf8a726220cd52b6db8372c'], + }), + ('feature', '1.2.15', { + 'checksums': ['de38292b7e800068a20824e2a9e7d5d4d0b465b7925db0d165346aa5030ff67b'], + }), + ('flowMerge', '2.46.0', { + 'checksums': ['3634723fd87b1bae71e2cd9e646e98cecc891521b4f2e9ff3ff388362b8b21eb'], + }), + ('SpatialExperiment', '1.8.1', { + 'checksums': ['0fdfc5642dde227b73d81812b6641f2d10223de66892b9d61ac80664cd6cbacd'], + }), + ('TrajectoryUtils', '1.6.0', { + 'checksums': ['03f0ef8643c0a8be48e042efe5b17ce1840719dd70f16151216fe6aaef261c8c'], + }), + ('slingshot', '2.6.0', { + 'checksums': ['6348ecd10a1572593de1d329318f03d8b1352dc041290a092d25a72f5a8c0902'], + }), + ('TreeSummarizedExperiment', '2.6.0', { + 'checksums': ['82aa3d7ec6935f5bd8fde3d1be38f9827c6bf2bd2a1af98889a9001aec7ddf8c'], + }), + ('decontam', '1.18.0', { + 'checksums': ['02b95f72c76af5abbc5d2febbb2f51b88fab76ebc355b45252bc5bea848a672e'], + }), + ('DECIPHER', '2.26.0', { + 'checksums': ['c10e55204abbfb691a697f40a5527d8e1d645710f43459fad553ece24aeb1f06'], + }), + ('mia', '1.6.0', { + 'checksums': ['ccfaca9cc948778e10bc6157fa95f69db0157c7abcc7cf1b63b934b3df43e87b'], + }), + ('ANCOMBC', '2.0.2', { + 'checksums': ['e577ffe62a86090de9ea3743c84a4f3b34c3d645dcedff3c8af675b8c9b69136'], + }), + ('decoupleR', '2.4.0', { + 'checksums': ['b141afd331449b0b1c2dc3dc3097465c2c02b5026129d8f06dd5bfb445bce2a0'], + }), + ('UCell', '2.2.0', { + 'checksums': ['e3ca2b2d77a780a9450853e869bc10654c47485777d39a703203dc44d97df4bc'], + }), + ('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.16.0', { + 'checksums': ['459c14a98be9056b844b9c44b865a76f30e38edbfef3592ac79c2c261d6f5fb2'], + }), + ('RnBeads.hg19', '1.30.0', { + 'checksums': ['d20a968f7a7d5980f4a0dadfd3b1044245fdefa48985951dffcd6258abaa5e01'], + }), + ('RnBeads.hg38', '1.30.0', { + 'checksums': ['b7c9ff2ba2c280a9160d7782571636d8a3868fe2f2882c08839a0a70e7f85e39'], + }), + ('RnBeads.mm9', '1.30.0', { + 'checksums': ['ed370096cc8590a41ebdb81153be5499bc3c8cf4f79e1ee67744ec06f96d439f'], + }), + ('RnBeads.mm10', '2.6.0', { + 'checksums': ['b655d2b0b056047ab88537fd8a3453eb5677feb5a6cda6206b3350d9a62ba571'], + }), + ('RnBeads.rn5', '1.30.0', { + 'checksums': ['e92ab6c298042f16cf0dbcf72fda8ab23877324598a9750cf98281ed0a453191'], + }), + ('log4r', '0.4.3', { + 'checksums': ['dfe3d49d35a8d8f3ad63f156d18e860540a01bd0af0e343cbab3e31a2cf5904c'], + }), + ('MSstatsConvert', '1.8.3', { + 'checksums': ['3deafb978100695037f97bcb458cfd5c76034440435d104a096459190ddd0891'], + }), + ('MSstats', '4.6.5', { + 'checksums': ['9a573976fb0fcb4b9d3e6cce831770305205ff8c46e30af4f4e4ba12ccc9fd89'], + }), + ('MSstatsTMT', '2.6.1', { + 'checksums': ['f1bf45345b4c6e14b0977d50016dc5925ee154d63a4765e218d1453d9e6fbbc0'], + }), + ('MSstatsPTM', '2.0.3', { + 'checksums': ['fe0106c66311f47f4e391528939b4aa6a690e2049b3638c4f5055fdc7b7210d8'], + }), + ('factoextra', '1.0.7', { + 'checksums': ['624ff01c74933352aca55966f8a052b1ccc878f52c2c307e47f88e0665db94aa'], + }), + ('MSstatsLiP', '1.4.1', { + 'checksums': ['ccc5b10a7310c5197a21b88cbd365bbba34d799a948d7e120114dfd047064142'], + }), + ('babelgene', '22.9', { + 'checksums': ['ce6601dcb78352516d3b0355042c52a20e154b39d3b27b93ff52150a59c885e2'], + }), + ('msigdbr', '7.5.1', { + 'checksums': ['dc30487bdf3594425ae9faec1ca0d7d0cd7278f4f177689133f92880e74acaca'], + }), + ('escape', '1.8.0', { + 'checksums': ['4d80d2798f07885ae035dbb9d994c707ed3a94fbe6cef5f35da51a50cc4168f1'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' 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..7d2ebad2d77 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/R-bundle-Bioconductor-3.18-foss-2023a-R-4.3.2.eb @@ -0,0 +1,1373 @@ +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 + ('arrow-R', '14.0.1', 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', { + 'patches': ['Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch'], + 'checksums': [ + {'Rhdf5lib_1.24.1.tar.gz': '90eb76a2f6b73e18c8fb560ab14e5e3a2c85ae747f278d66e67d3bebfe6c6551'}, + {'Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch': + 'fd35fd20166aa67cf5fbc194861d9196a2220fd40057b0524722ecc3de4774e8'}, + ], + }), + ('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'], + }), + ('seqPattern', '1.34.0', { + 'checksums': ['6037d3685bab94e2d1f6046bdc19369a786a595ef421e6ce7d8a34408a6f4967'], + }), + ('genomation', '1.34.0', { + 'checksums': ['6c7e40caee1115a28617c2a0a0837c92701dbce7511277c078a5957a50e877ed'], + }), + ('ChIPseeker', '1.38.0', { + 'checksums': ['a0d4710fccda620b750f933916acac6d12999a077e1c17632d8823848a2fa82f'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['AnnotationDbi', 'BiocManager', 'GenomicFeatures'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.4.0_fix-protobuf-build.patch b/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.4.0_fix-protobuf-build.patch new file mode 100644 index 00000000000..037f9f5bc50 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.4.0_fix-protobuf-build.patch @@ -0,0 +1,41 @@ +Replace the protobuf map files so that the required symbols are extern "C++" +Fix from https://github.com/protocolbuffers/protobuf/issues/5144#issuecomment-688723405 + +Add extra path to includes. + +Patch by Simon Branford (University of Birmingham) +--- RProtoBufLib/configure.orig 2021-06-05 10:58:25.972255000 +0100 ++++ RProtoBufLib/configure 2021-06-05 11:08:16.635526105 +0100 +@@ -2867,6 +2867,23 @@ + gzip -dc ${PBTGZNAME} | tar -xf - + fi; + ++mapfiles="libprotoc.map libprotobuf-lite.map libprotobuf.map" ++for mapfile in ${mapfiles}; do ++ cat << EOF > protobuf-3.13.0/src/${mapfile} ++{ ++ global: ++ extern "C++" { ++ *google*; ++ }; ++ scc_info_*; ++ descriptor_table_*; ++ ++ local: ++ *; ++}; ++EOF ++done ++ + #run this bootstrap script to update all the gnu auto build files (e.g. automake symlinked fils (e.g. ./compile), alocal.m4,etc... ) + cd ${BASEPBNAME} + #./autogen.sh +--- RProtoBufLib/src/Makevars.in.orig 2021-06-05 11:58:07.587850000 +0100 ++++ RProtoBufLib/src/Makevars.in 2021-06-05 11:58:57.608744000 +0100 +@@ -1,5 +1,5 @@ + CXX_STD = CXX11 +-PKG_CPPFLAGS =-I../inst/include/ -I@PBBUILD@/include/ ++PKG_CPPFLAGS =-I../inst/include/ -I@PBBUILD@/include/ -I@PBBUILD@/src + #expose headers in installed package include folder + USER_INCLUDE = ${R_PACKAGE_DIR}/include + USER_LIB_DIR = ${R_PACKAGE_DIR}/lib${R_ARCH}/ diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.8.0_fix-protobuf-build.patch b/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.8.0_fix-protobuf-build.patch new file mode 100644 index 00000000000..bd942739fc2 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/RProtoBufLib-2.8.0_fix-protobuf-build.patch @@ -0,0 +1,41 @@ +Replace the protobuf map files so that the required symbols are extern "C++" +Fix from https://github.com/protocolbuffers/protobuf/issues/5144#issuecomment-688723405 + +Add extra path to includes. + +Patch by Simon Branford (University of Birmingham) +--- RProtoBufLib/configure.orig 2021-06-05 10:58:25.972255000 +0100 ++++ RProtoBufLib/configure 2021-06-05 11:08:16.635526105 +0100 +@@ -2867,6 +2867,23 @@ + gzip -dc ${PBTGZNAME} | tar -xf - + fi; + ++mapfiles="libprotoc.map libprotobuf-lite.map libprotobuf.map" ++for mapfile in ${mapfiles}; do ++ cat << EOF > protobuf-3.8.0/src/${mapfile} ++{ ++ global: ++ extern "C++" { ++ *google*; ++ }; ++ scc_info_*; ++ descriptor_table_*; ++ ++ local: ++ *; ++}; ++EOF ++done ++ + #run this bootstrap script to update all the gnu auto build files (e.g. automake symlinked fils (e.g. ./compile), alocal.m4,etc... ) + cd ${BASEPBNAME} + #./autogen.sh +--- RProtoBufLib/src/Makevars.in.orig 2021-06-05 11:58:07.587850000 +0100 ++++ RProtoBufLib/src/Makevars.in 2021-06-05 11:58:57.608744000 +0100 +@@ -1,5 +1,5 @@ + CXX_STD = CXX11 +-PKG_CPPFLAGS =-I../inst/include/ -I@PBBUILD@/include/ ++PKG_CPPFLAGS =-I../inst/include/ -I@PBBUILD@/include/ -I@PBBUILD@/src + #expose headers in installed package include folder + USER_INCLUDE = ${R_PACKAGE_DIR}/include + USER_LIB_DIR = ${R_PACKAGE_DIR}/lib${R_ARCH}/ diff --git a/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch b/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch new file mode 100644 index 00000000000..856ebae5891 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-Bioconductor/Rhdf5lib-1.20.0_fix_hardcoded_path_to_mv.patch @@ -0,0 +1,15 @@ +Replace the call to /bin/mv by mv in the configure file of the included HDF5 source tarball. +This prevents issues when building with a non-default sysroot. + +Author: Bob Dröge (University of Groningen) +diff -ru Rhdf5lib.orig/src/Makevars.in Rhdf5lib/src/Makevars.in +--- Rhdf5lib.orig/src/Makevars.in 2022-11-01 20:04:33.000000000 +0100 ++++ Rhdf5lib/src/Makevars.in 2024-04-16 20:32:22.028694313 +0200 +@@ -48,6 +48,7 @@ + + build-hdf5: @REQUIRE_SZIP@ @EXTRACT_SOURCE@ + cd hdf5; \ ++ sed -i "s|/bin/mv|mv|" ./configure; \ + ./configure --with-pic --enable-shared=no --enable-cxx --enable-hl \ + --enable-tests=no --enable-tools=no \ + --with-szlib=@SZIP_HOME@ --with-zlib=@ZLIB_HOME@ \ diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/HWxtest-1.1.9_add-fcommon.patch b/easybuild/easyconfigs/r/R-bundle-CRAN/HWxtest-1.1.9_add-fcommon.patch new file mode 100644 index 00000000000..a4e41eea63e --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/HWxtest-1.1.9_add-fcommon.patch @@ -0,0 +1,21 @@ +fix "multiple definition" errors by adding -fcommon compiler options, +see https://www.gnu.org/software/gcc/gcc-10/porting_to.html + +author: Kenneth Hoste (HPC-UGent) + +diff -ruN HWxtest.orig/MD5 HWxtest/MD5 +--- HWxtest.orig/MD5 2020-11-08 21:15:03.612622261 +0100 ++++ HWxtest/MD5 2020-11-08 21:13:24.278691443 +0100 +@@ -40,6 +40,7 @@ + 4657a2011dc5363ed1cfd1d29a7040d5 *src/HWmtest.c + 08ec52ea231752fbb2bb11a529107806 *src/HWxcount.c + 23598383650c211dd18d54bded68b9bd *src/HWxtest.c ++8b6d9aec8b8cef60d1b245e0f290bfed *src/Makevars + 886a6d855fb0b59e565b919a1ff69eb0 *vignettes/HWxtest.Rmd + fcf857c5f98963f740c5c2f95e33ccc9 *vignettes/HWxtest.md + b93f768037a75ec9edd60ca89fd4c1db *vignettes/bibHW.txt +diff -ruN HWxtest.orig/src/Makevars HWxtest/src/Makevars +--- HWxtest.orig/src/Makevars 1970-01-01 01:00:00.000000000 +0100 ++++ HWxtest/src/Makevars 2020-11-08 21:15:51.340615023 +0100 +@@ -0,0 +1 @@ ++PKG_CFLAGS = -fcommon 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 new file mode 100644 index 00000000000..972a8488f6a --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2023.12-foss-2023a.eb @@ -0,0 +1,3442 @@ +easyblock = 'Bundle' + +name = 'R-bundle-CRAN' +version = '2023.12' + +homepage = 'https://www.r-project.org/' +description = "Bundle of R packages from CRAN" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Xvfb', '21.1.8'), + ('Autotools', '20220317'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('R', '4.3.2'), + ('libxml2', '2.11.4'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.1'), # for nlopt + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.2.2'), # for seewave + ('ICU', '73.2'), # for rJava & gdsfmt + ('HDF5', '1.14.0'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.1-15'), + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '18.17.1'), # for V8 (required by rstan) + ('GDAL', '3.7.1'), # for sf + ('MPFR', '4.2.0'), # for Rmpfr + ('PostgreSQL', '16.1'), # for RPostgreSQL +] + +# 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" + +exts_defaultclass = 'RPackage' + +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', +} + +# 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)) + +# 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 = [ + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-1', { + 'checksums': ['ca79ec7ae92b736cb128556c081abf547f49956c326e053a76579889cbcb7976'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.19', { + 'checksums': ['49d5b49e64c6eba2bc4cea80eb615df21a2d0188b1bbffa05052dc978c94581b'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.7', { + 'checksums': ['96204205f51b4d63c2e7a7b00365def27d131f3c9ec66db56b510046e5d2013b'], + }), + ('bit', '4.0.5', { + 'checksums': ['f0f2536a8874b6a30b80baefbc68cb21f0ffbf51f3877bda8038c3f9f354bfbc'], + }), + ('filehash', '2.4-5', { + 'checksums': ['3b1ee2794dd61e525ee44db16611c65957691d77bb26ae481eba988bb55da22c'], + }), + ('ff', '4.0.9', { + 'checksums': ['722053271987a0c9673c3ff9e7968bbab47979d529a2fe6bb1a3179408ee3c4f'], + }), + ('bnlearn', '4.9.1', { + 'checksums': ['51e1f40ac947fb1b43bc178bc5d82e23facaaefe6c66acbddf715165e1f5ee08'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-42', { + 'checksums': ['a17f452a94fc3964c939c5b147ad6d4f326a0990493519d376d6700cf733a134'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.14', { + 'checksums': ['4ebaab2c3f8527871655246b62abd060bc75dae1cec7f962ca4752b8080f474c'], + }), + ('gtools', '3.9.5', { + 'checksums': ['dee9b6c1152db1a5dc427d074b32bbbb738708683f17a95e0e95e4d79fdf174b'], + }), + ('gdata', '3.0.0', { + 'checksums': ['a456b9921765a705fe8e51780dfbbc6ca005abc948b2f80effeccd468601b17f'], + }), + ('GSA', '1.03.2', { + 'checksums': ['177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-18', { + 'checksums': ['99441bcae2dfbf450eee91f3ec969d416c225f671ac54459c50536916890f00a'], + }), + ('kernlab', '0.9-32', { + 'checksums': ['654ef34e343deb4d2c4c139a44e5397d6e38876088ce1c53c7deb087935d6fdc'], + }), + ('markdown', '1.12', { + 'checksums': ['7ddce3e8f08ce2e5feaa9fab30b50671ea200a8cfe2be230a98601d940124ba0'], + }), + ('mlbench', '2.1-3.1', { + 'checksums': ['7afec6d58968ab526ea642e1df39bead2f479c14486b0a62032c999ba73d5cf0'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '6.0.1', { + 'checksums': ['0e92de6fd1bd2a13de2c94eae84fba0d3762099a2505e05b887f1c2a7242537f'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-60', { + 'checksums': ['b802410feab01464d112b27b3501176eb8e68511d4ba9d052ac4db1f2a72f0c2'], + }), + ('lattice', '0.22-5', { + 'checksums': ['ba1fbe5e18a133507dca9851b7f933002bdb6d1f3ea5f410a0a441103b6da5f1'], + }), + ('nlme', '3.1-164', { + 'checksums': ['79a5a020ce7037b83ee6c28336e35a1310058c13fc59f7fcb11eca0bc9bdd4e8'], + }), + ('segmented', '2.0-0', { + 'checksums': ['8dbb31d85f116f53f08de53c30bc225d27e8be429dfd07ca838d1ab1d5a7eec8'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3.1', { + 'checksums': ['8174afebaf239dfda979c8c7e1e219624576d577c983ae787fbd2785b4ccd15c'], + }), + ('pspline', '1.0-19', { + 'checksums': ['ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40'], + }), + ('timeDate', '4022.108', { + 'checksums': ['a5949b4fe2f6bdff751fc0793df8e3150cc25c078d48a28c066c10a6c4bfceef'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('sp', '2.1-2', { + 'checksums': ['bfdbb4a62f9fe0c554f88c75af6f214dc9a550da09bd3aefe1115ac6963e0dc5'], + }), + ('hms', '1.1.3', { + 'checksums': ['e626f4c60af46efd53ea631b316a103e089470d8fd63c0e0c0efb99364990282'], + }), + ('progress', '1.2.3', { + 'checksums': ['ea2b079b894de85c3ab12088c9c52aec06432245047a961d5b4b8aa6889f9276'], + }), + ('RcppArmadillo', '0.12.6.6.1', { + 'checksums': ['9a6abd298ac1a87c2c85722f7561c40c424d27909cb014bf421b13f7050dffc0'], + }), + ('ade4', '1.7-22', { + 'checksums': ['007df54e83a2a6cb8d6da8006f0aace011e7eaa7744dc5f8230ac2c002b393b4'], + }), + ('AlgDesign', '1.2.1', { + 'checksums': ['5989626c526bd7c3d9bdda326c962056879be03392065a0b7ddb9b8cf9309d05'], + }), + ('BH', '1.81.0-1', { + 'checksums': ['f51c8badd6f181e06353314e1d15a6ec1495cc498ee74b6fa4ea8aba6e97ff64'], + }), + ('Matrix', '1.6-4', { + 'checksums': ['70ca7bdaece68d4837da0523d067e1553947c3c81b0b55206223bb647617bb01'], + }), + ('Brobdingnag', '1.2-9', { + 'checksums': ['f9012d250bc2a0f47815d6a7c06df2d4ddf3d8bab2d3b75e8cdefd964d20e91e'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.4.1', { + 'checksums': ['845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474'], + }), + ('checkmate', '2.3.1', { + 'checksums': ['e7e6ba0cca400137f352a599ea29cf35a83f40a5ad26e7c4f06e6c35471884f6'], + }), + ('cubature', '2.1.0', { + 'checksums': ['5d82785609611200d5bea069b93b0bf75bafec808f7eeef7b052eb516f273665'], + }), + ('DEoptimR', '1.1-3', { + 'checksums': ['8dd8a61b07b02022493d7021dc62ef2c4dc2d596cff897846713c5f8dd784694'], + }), + ('fastmatch', '1.1-4', { + 'checksums': ['9a914cac9c1ea2984bd44eebe421e1636504907a8064ae26347fe3ec2b9bd56b'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.1.1', { + 'checksums': ['d39d467537c336d20c4b501d36a421dd3e8309c9d1bdcf9b4a7abe994242851a'], + }), + ('nnls', '1.5', { + 'checksums': ['cd70feb286f86f6dead75da693a8f67c9bd3b91eb738e6e6ac659e3b8c7a3452'], + }), + ('sendmailR', '1.4-0', { + 'checksums': ['5b8b91fc13f6b07b9fc5a2cf7591cf760fad47c5ea17d87a2891898c506454ad'], + }), + ('dotCall64', '1.1-1', { + 'checksums': ['21b8d7d747c07aaf8a82d61ec98fe0539afcaa5a565d9c2fc55be65b6af2c91b'], + }), + ('spam', '2.10-0', { + 'checksums': ['719c86a23801ecf051ffd8291912ee3567af4010e74af470fbf09e274728ac79'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('logspline', '2.1.21', { + 'checksums': ['8e3a3cf11f3261f010092aa657d938a69b604818afc123151c7d3e24e0980b77'], + }), + ('ncbit', '2013.03.29.1', { + 'checksums': ['847f570c035d849e775c1cb922d2775e6c535971eb4429cf62904319fd126504'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-4', { + 'checksums': ['e6a22d93ab61c67af21cbbe1fe333c06934cf576a44745bf2beee59bceaae8d6'], + }), + ('randomForest', '4.7-1.1', { + 'checksums': ['f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6'], + }), + ('scatterplot3d', '0.3-44', { + 'checksums': ['1c9c08348c3ed925f59df40cb73accc9e1a169ccfb1e8571f105f40fa98e6ec2'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.5', { + 'checksums': ['d9928644a5a7e94838558d73afaaee8a914fd26fe68f691ad103331632060bf4'], + }), + ('rJava', '1.0-10', { + 'checksums': ['b5826818e5c5819d8117f692073e5bd3cc93320a6d6c2ccc34eb5c96b193396b'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-8', { + 'checksums': ['5a36fabb6d62ba2533d3fc4cececd07891942cfb76fe689ec0d550d08762f61c'], + }), + ('jpeg', '0.1-10', { + 'checksums': ['c8d9f609c3088f91ec4853d6cc0e66511038a465811dea79ca6a0c09519178ca'], + }), + ('deldir', '2.0-2', { + 'checksums': ['e9bf787f0c5877a8dc6b6c62c8f99b77dd9130337f946a4802f90eed0ec1eee3'], + }), + ('RcppEigen', '0.3.3.9.4', { + 'checksums': ['41eabb8d034ffae0fcfcf23ca92b8f0fba5aec8f1ba108d922e19db7e10d5fb9'], + }), + ('interp', '1.1-5', { + 'checksums': ['0c520971a10156162e4430873066e73b798be2f45aa0f222d64c987aba0e4b20'], + }), + ('latticeExtra', '0.6-30', { + 'checksums': ['c550a76913624818482bf237d48883c58e368ba356ced8ed5e76146672279eed'], + }), + ('plyr', '1.8.9', { + 'checksums': ['15b5e7f711d53bf41b8687923983b8ef424563aa2f74c5195feb5b1df1aee103'], + }), + ('gtable', '0.3.4', { + 'checksums': ['7032039371a4ec1bde9d3e4b7dae450dcc9aab50bb0e6287ab26a1b0199c7977'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0.1', { + 'checksums': ['a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081'], + }), + ('colorspace', '2.1-0', { + 'checksums': ['04078abb6b54119c90dc7085d62916bf292ccb163e213f9ea70567d1be82614c'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.3', { + 'checksums': ['c62f4fc2cc74377d7055903c5f1913b7295f7587456fe468592738a483e264f2'], + }), + ('viridisLite', '0.4.2', { + 'checksums': ['893f111d31deccd2cc959bc9db7ba2ce9020a2dd1b9c1c009587e449c4cce1a1'], + }), + ('farver', '2.1.1', { + 'checksums': ['0dcfda6ca743f465372790bcff1bcbc6a7145fdac1c682b021f654e8c6c996ce'], + }), + ('scales', '1.3.0', { + 'checksums': ['b33e0f6b44259551ce02befd52eac53602509fbfdd903920620c658c50f35888'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('mgcv', '1.9-0', { + 'checksums': ['b2b10078c1f8b2ce3cadcca405496eedacc8d4632ee4357e17632cae1b043b70'], + }), + ('isoband', '0.2.7', { + 'checksums': ['7693223343b45b86de2b5b638ff148f0dafa6d7b1237e822c5272902f79cdf61'], + }), + ('ggplot2', '3.4.4', { + 'checksums': ['2d76ec065d3e604d019506f45b3b713ae20f38e47dbebfb5ba1648b47fe63e46'], + }), + ('pROC', '1.18.5', { + 'checksums': ['5593c841a6df5a2f2d209d0c14401971eb9427092ed9c3ac2059273807b42c89'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.14.10', { + 'checksums': ['014b41eb71a8ddad504baeaa3a2fbbf03406783f00f3adcce48567692978627e'], + }), + ('BBmisc', '1.13', { + 'checksums': ['1145dcf9fed15e7beeaa4a5c7075d8a8badd17c8246838cd63e40cd9551e4405'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-8', { + 'checksums': ['66bed3543337535fe2cf2d3eee4165472599c14d3c5e4402f7a1ebf5112c75c9'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-43', { + 'checksums': ['9b0a996d013cce4f457abdbdc54bd2f8f4dbe4ef0b33e0a53925509c509d5287'], + }), + ('pls', '2.8-3', { + 'checksums': ['e6eb728dd38cd4867698df06e02601ed767e69098b1daadde5beef634ae66be3'], + }), + ('class', '7.3-22', { + 'checksums': ['b6994164e93843fcc7e08dfdc8c8b4af6a5a10ef7153d2e72a6855342508d15c'], + }), + ('proxy', '0.4-27', { + 'checksums': ['249991a4c4d70ad139e93f3a24e17f161ad1ec854951813ea192daf79478563f'], + }), + ('e1071', '1.7-14', { + 'checksums': ['754d97ab073acc07b909a190f87f021e31e07269c8632c53166a6c2843e65195'], + }), + ('nnet', '7.3-19', { + 'checksums': ['a9241f469270d3b03bbab7dc0d3c6a06a84010af16ba82fd3bd6660b35382ce7'], + }), + ('minqa', '1.2.6', { + 'checksums': ['51a7b8850e5f2fee79e8f460b9d9eca4221d9702087cca5fab5851ad3d594110'], + }), + ('MatrixModels', '0.5-3', { + 'checksums': ['c2db5406c6b0b9d348b44eea215a39c64fc087099fea1342a04d50326577f20f'], + }), + ('matrixStats', '1.1.0', { + 'checksums': ['b4671875d80903aabbb8d6a7750f93886eb1a67703c9263d1c1ab1aab7840541'], + }), + ('codetools', '0.2-19', { + 'checksums': ['c4b7e567c87f33dad85de92f79641e5e5b5deede6d19a9dfa47133d191782dab'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.3', { + 'checksums': ['75046163bfa8b8a4f4214c1b689e796207f6447182f2e5062cf570302387d053'], + }), + ('tidyselect', '1.2.0', { + 'checksums': ['538d26b727e37d618e2efd3b00836048f103112a03e6994bf07a02392e269e3b'], + }), + ('dplyr', '1.1.4', { + 'checksums': ['cf730414d5d4ab387b4e9890a4b1df9d17a3903488e8da8df1cf2e11e44558cb'], + }), + ('gower', '1.0.1', { + 'checksums': ['296a9d8e5efa8c3a8cc6b92cf38880915753afdef30281629af9dc8eae8315fc'], + }), + ('rpart', '4.1.23', { + 'checksums': ['f9b89aed6aa6cea656a2dcb271574e969ce2b1c98beb07bd91e17339f6daabaf'], + }), + ('survival', '3.5-7', { + 'checksums': ['d50e2dd32add39f0d148c17ec301eeff1ba9b74d9f9674324a9acd5ef234272e'], + }), + ('KernSmooth', '2.23-22', { + 'checksums': ['76e044904606cab79c9edf4eae3ad63ac9d91a2962b44e063075b4b40e8574e9'], + }), + ('globals', '0.16.2', { + 'checksums': ['682c26a95fa6c4e76a3a875be1a3192fc5b88e036c80dfa3b256add0336d770a'], + }), + ('listenv', '0.9.0', { + 'checksums': ['352841e04f0725d361b78cfdc75e00511f740d97237dd651ea86aa5484674887'], + }), + ('parallelly', '1.36.0', { + 'checksums': ['b9c0a29155944aae8fdb4cab00c521c7ed16af250450dd2a3dd69d5661427c88'], + }), + ('future', '1.33.0', { + 'checksums': ['4228eb9b35ce4b56bf4168977661fed4f83bb36131b2dc7120b2898d8747935b'], + }), + ('future.apply', '1.11.0', { + 'checksums': ['317b30ceb9b5b03eabaf367d52b8fbcbfeabce1da2ee1000ca1eec5adb4b01e8'], + }), + ('progressr', '0.14.0', { + 'checksums': ['9a2899f879a5577f043be99c18d52bfe4d655cc52a96cae834e8a301b36258af'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.7.3', { + 'checksums': ['4e087df1350b05c3d0403597a1ad97f4b0e183047d5d8636a62143f26bd86a08'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('prodlim', '2023.08.28', { + 'checksums': ['8002229f38bbe42e26b88ac542d9c028a9dbe8fd3b80af7552060bec3a555de8'], + }), + ('ipred', '0.9-14', { + 'checksums': ['81c83dc847d09c3db52ef15e36cd4dac38c50eead1008ddd458b9e89d7528f35'], + }), + ('timechange', '0.2.0', { + 'checksums': ['3d602008052123daef94a5c3f5154c5461b4ec0432ab70c37273d7ddd252f7f1'], + }), + ('lubridate', '1.9.3', { + 'checksums': ['2b6e1406d231b0a14d60b99cc406d159fea5465a5694725ad25343f12cf37fff'], + }), + ('tidyr', '1.3.0', { + 'checksums': ['8d532b9366fdd3ec9827b51830e559a49d073425007c766025f0e603964e0a9d'], + }), + ('hardhat', '1.3.0', { + 'checksums': ['fe9ff009e2ba6dd4d70cbb541430f88d85c0a28d6a1c2772e4910c79b81fe82e'], + }), + ('tzdb', '0.4.0', { + 'checksums': ['4253c66041bdddfd463c98183bf0052fbcacdb7c5cff9eadbb858b3dcf9d3a23'], + }), + ('clock', '0.7.0', { + 'checksums': ['54e57a3b3f8c308d67536e2a75d48f3493cf7fe821bfa4da9159b4fb2ceca874'], + }), + ('recipes', '1.0.8', { + 'checksums': ['d3d20824b36e1195ed072b632c3be89714c335f56c0a2e942386fdadcd78a00d'], + }), + ('caret', '6.0-94', { + 'checksums': ['2715e83ca260bb739cd926a55b0d2da1e3f6308b17b56862466e738d930d29a8'], + }), + ('conquer', '1.3.3', { + 'checksums': ['a2c6155ed74af0e2a279145843ec5229ae2f3707aa25169ae030c520aa97deba'], + }), + ('quantreg', '5.97', { + 'checksums': ['87e7de5776dee936ef0809dcc9ac2e0d51a7580368e6defa12ec21276a676da1'], + }), + ('robustbase', '0.99-1', { + 'checksums': ['ae1a1bece804172e30c1aa6ee7dafb638b53123bed1e906b4863c2310cef7858'], + }), + ('zoo', '1.8-12', { + 'checksums': ['e6c3862668f9e3422bced3b6fba485c76a1e91b48f5d6153822d6a61863b2fb8'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-11', { + 'checksums': ['7a54e855689e1429d46e0d4d7a956f96b0ad2fd0c7084fa023902c55849e0932'], + }), + ('snowfall', '1.84-6.3', { + 'checksums': ['2641932b01041e34b7afb1261f649755b4c8d6560080e0e2ee549ffdf3b8b143'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.1.1', { + 'checksums': ['95fca70378af0afd5a388982ba5528f5b27e02157eeb9940a0a9762d11511308'], + }), + ('foreign', '0.8-86', { + 'checksums': ['a729120108b29ca9744cadd61e3e6a9dc4188a007055c22b6b9a30a676e8c3e1'], + }), + ('psych', '2.3.9', { + 'checksums': ['04c2e81c161792aae9de458b15a373577569629c1b0a897e973bf4b3bd2019b1'], + }), + ('broom', '1.0.5', { + 'checksums': ['9d77ddee9ee32ffefdacddcb35adc0ac83035537c4e5ef5cfbd2f8bbd909d991'], + }), + ('nloptr', '2.0.3', { + 'checksums': ['7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7'], + }), + ('boot', '1.3-28.1', { + 'checksums': ['d4cde76fcc8ccc7ffa329de69147b66a6a93a10188e89342fd18207b1d02ff53'], + }), + ('statmod', '1.5.0', { + 'checksums': ['d61c3ef9b09d55b42e038f8d767fa483ebbdec2a9c7172b1b0ccda0ae0016ec9'], + }), + ('lme4', '1.1-35.1', { + 'checksums': ['e4a411396f68bf93751dfd01c8cd431e2d4658340186c47d164ebb2b840afb5b'], + }), + ('ucminf', '1.2.0', { + 'checksums': ['5add8f84aeb0910a7ebf796c9514d4a3998606c3e45fe97e55d84f000a1d6df4'], + }), + ('ordinal', '2023.12-4', { + 'checksums': ['f5582ad983dfd2ffbaf1e90b49af6f2cc319953d1fcb33f31c6c6f335cbd9fa2'], + }), + ('jomo', '2.7-6', { + 'checksums': ['3ffa2a5521d4969fe77b23cd3ab201afdf8db3f8f708b1276c33083c01d7e2da'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.6.5', { + 'checksums': ['7bdca21e58c9c5049d7445d182f59fd399193cb2f4318d083de0a559ec9b5761'], + }), + ('readr', '2.1.4', { + 'checksums': ['98144fa48c4fa61ef8c73ede8f87a2d2c5c44e9502b7875b266eb79984fbeb0d'], + }), + ('forcats', '1.0.0', { + 'checksums': ['c5bb157909d92e1e1a427c0dc5cb358ea00a43a14918a9088fa4f6630962254e'], + }), + ('haven', '2.5.4', { + 'checksums': ['9e1531bb37aa474abd91db5e0ed9e3a355c03faa65f4e653b3ea68b7c61ea835'], + }), + ('pan', '1.9', { + 'checksums': [ + ('e37e184c3c1b7a34f54dd95335e6bc730fd5716d2d2dc20c24279401aa673c52', + 'cd91232d653783ea7f34c0eebaa80c472b5501b21eea500c4c1a8e57116c6eea'), + ], + }), + ('mitml', '0.4-5', { + 'checksums': ['056aec823187cc3793640d8a5e74d74093bae74260a975ceb098a83a52e2eeeb'], + }), + ('glmnet', '4.1-8', { + 'checksums': ['1ddbe5ce07076d1bdf58b0202ebd0ceac8eeb4796c5175681adb9e58c30ddcfe'], + }), + ('mice', '3.16.0', { + 'checksums': ['29f0285185a540337e9dde2357690c82d174f115be701ee2f0a7083173a44040'], + }), + ('urca', '1.3-3', { + 'checksums': ['43baa8b6735f8325a69e6a43686f4fecd77a0eb7f60da25b4fc5c51b9271e9f1'], + }), + ('fracdiff', '1.5-2', { + 'checksums': ['ac5f881330287f5bc68b5cdce4fb74156a95356ffb875ee171538bc44200f437'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.26.0', { + 'checksums': ['f916e568c8c64fc48695c72214439267c02310c6c68d3ffea5708ec00e80190b'], + }), + ('akima', '0.6-3.4', { + 'checksums': ['95657592a81d2e3628cb054b60127827ae64e65c58b77d059aa510bc6781ad3e'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('crosstalk', '1.2.1', { + 'checksums': ['680cf08416d6d5a1194dd85ee5695c268af9d4d01b201448e1d486c6e06014f1'], + }), + ('plotly', '4.10.3', { + 'checksums': ['8b7a6c26443088c8aae4624e01cf726a91fee875c2e60b6c439375d1adaa5d8f'], + }), + ('mixtools', '2.0.0', { + 'checksums': ['854e7482230b9a5dde61bab191b78e06aa8f9b0cdfe3c03e046afa133b317e0d'], + }), + ('cluster', '2.1.6', { + 'checksums': ['d1c50efafd35a55387cc5b36086b97d5591e0b33c48dc718005d2f5907113164'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + ('gam', '1.22-3', { + 'checksums': ['66cd688e3b86b9a4ee8ec565ebc8a19aa45e0a282e6de40ef2b78d6846787194'], + }), + ('gamlss.data', '6.0-2', { + 'checksums': ['dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e'], + }), + ('gamlss.dist', '6.1-1', { + 'checksums': ['d2db3a7658799c2ef212aa18cb75a3ecf4f73faf8c13dfdc3c14b21ae0129069'], + }), + ('gamlss', '5.4-20', { + 'checksums': ['a60c1e20e173f909a0df344016e64381e45a098b60f07f80fd2802bfba086873'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.13.1', { + 'checksums': ['2c3907c6d0162e48d1898647105bbb32cfe0cb005788481a64ee675a941d825d'], + }), + ('TTR', '0.24.4', { + 'checksums': ['89732b9c359bae2f41cd23db649f0897c10fab0702d780c4c25a997322710284'], + }), + ('quantmod', '0.4.25', { + 'checksums': ['3f1896d45fbd4daea438fd2824bf4c91aba1a6729d93d20e6a0e60d2a0f95b32'], + }), + ('mvtnorm', '1.2-4', { + 'checksums': ['848287bb0016eaeab7cef474087ed4e6fadb805e26c767c816c204037d3d9aff'], + }), + ('pcaPP', '2.0-4', { + 'checksums': ['d6c5670611d92ffa11904746a62191e6bcf294fb96afee10cb25ebbbd8458133'], + }), + ('pscl', '1.5.5.1', { + 'checksums': ['611367c3d34c78f2d4db79e630e38d7a5df8296bd7e72d258f6a115fbbe78d5b'], + }), + ('blob', '1.2.4', { + 'checksums': ['d08922ebc4147d930fe4762b1b289935217308c6d3fcaa5ae028ce3f5cf2728f'], + }), + ('RSQLite', '2.3.4', { + 'checksums': ['73cdc81bb3cfce6f680a8ee384927867520a883e6d0705f6d6c79dccd4fbc4eb'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.0-2', { + 'checksums': ['6e30b6b554eb19430a60c45a8132fb7918ddb0013577bf6a62caeb163bdfe2b4'], + }), + ('sfsmisc', '1.1-16', { + 'checksums': ['511b4a661e3cfec540eb3d08f67b715f3cda398eb135a011b9be84305c11436c'], + }), + ('spatial', '7.3-17', { + 'checksums': ['f1003ed8cff2a47169a4787c8be46e8c2c501cc06c8b1e5f97bf62507e5f5dd7'], + }), + ('VGAM', '1.1-9', { + 'checksums': ['d4d411b020acaec32777c89e2b2265449e6855794442b2c4c51bcd9288b1afd0'], + }), + ('waveslim', '1.8.4', { + 'checksums': ['408eeea72a218ef3458f0934ff556733cacf1a63ddaa52491abcc1fce6ed2094'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.40', { + 'checksums': ['8c09ae6bb6875b569b9844eede30b790f39fc227f5c9d045fa63ce1b22f500ef'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-55', { + 'checksums': ['97c7822b06533de0b208be4ae7429fc208bc13290a3e109f5f197a4964144b0e'], + }), + ('fastICA', '1.2-4', { + 'checksums': ['ed6988ea410d1a75bf4f4925edcac5a660a417e33ba0a939bc0351e534df5f2f'], + }), + ('R.methodsS3', '1.8.2', { + 'checksums': ['822d5e61dad4c91e8883be2b38d7b89f87492046d0fe345704eb5d2658927c2e'], + }), + ('R.oo', '1.25.0', { + 'checksums': ['b8b19061774918ee7d9d4330c16c0ea505f7cd02d01343df1e8b2e4fb847beef'], + }), + ('cgdsr', '1.3.0', { + 'checksums': ['4aa2a3564cee2449c3ff39ab2ad631deb165d4c78b8107e0ff77a9095340cc1f'], + }), + ('R.utils', '2.12.3', { + 'checksums': ['74d6e77a95a23381a490fea54be01b653d4b938a2dc75e749a694ab48302c40c'], + }), + ('R.matlab', '3.7.0', { + 'checksums': ['d713522268a1206555610938350137ea022e07e27fa9cdd73c02fae8d1a43dda'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8.1', { + 'checksums': ['8d2456124552658ee9500707c4e9992cf42cb88705008c32ea258efb4f2be80b'], + }), + ('Formula', '1.2-5', { + 'checksums': ['86254674600d64e18b65d52f42d7ebfc217c8e1945cb63ac06da22cbf04d355c'], + }), + ('acepack', '1.4.2', { + 'checksums': ['5bffcd12b783f372bb6c50e35317744ac31597c91b6433442a7b0dce2f66ac91'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-61', { + 'checksums': ['a096957625a0438075b3486322ee07c753c7c4ba3efcd04a3ac92476d6c43b9b'], + }), + ('viridis', '0.6.4', { + 'checksums': ['0ba2a88bc38ff8be4d074ed2bc17fd9d746e96ed4dec03fa079d96a06541d6dc'], + }), + ('htmlTable', '2.4.2', { + 'checksums': ['6a83dd6172c13cad4a74f2660db94565814aaf8500237e2c418216be6db7360d'], + }), + ('Hmisc', '5.1-1', { + 'checksums': ['4971efa6d89d0002d688d160f9abca0185c5a9aa3ecc79f598a91a258db04a51'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.5.1', { + 'checksums': ['f3c1a0a4e666c4addd73ff13ce8ce073d73d10ebca36d333328ade8a0b493ed1'], + }), + ('pkgmaker', '0.32.10', { + 'checksums': ['972b0473a64408ccc4841fa3f09a567cc32811e69c3c7e42a2f391a5eb2e2933'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5.1', { + 'checksums': ['2cfe6384fef91c223a9920895ce89496f990d1450d731e44309fdbec2bb5c5cf'], + }), + ('igraph', '1.5.1', { + 'checksums': ['add90a1e77ad4a5d95641f0556553e3f1d1c4443cb2d5afb70171efd278ab14a'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.7-1', { + 'checksums': ['8b09c71218d8aa629e43bc807b433a4e30a61847d91b2810e31c366f0fe5057a'], + }), + ('RJSONIO', '1.3-1.9', { + 'checksums': ['f173034b0c28873f417ee804b9e278aedd92e76eb56c7c6d71b1c02fa1193ece'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3', { + 'checksums': ['9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('seqinr', '4.2-36', { + 'checksums': ['931a62a091a7aaaa5efadb1fe85f29e861e2506b75710ba3a6be9b58cb14b225'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('gmodels', '2.18.1.1', { + 'checksums': ['da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95'], + }), + ('expm', '0.999-8', { + 'checksums': ['79e22a9fd17392c360b21d4d42c17d968a11e3c073cb8c50f4691f4bef700552'], + }), + ('terra', '1.7-55', { + 'checksums': ['7000bdfd8591be64921cf841ef29b2aad74661781865f29e1540e57a7d7231ec'], + }), + ('raster', '3.6-26', { + 'checksums': ['c65777225a46ada699e70098f54c60cf191d15e454fac9440aca439a4dbd5592'], + }), + ('spData', '2.3.0', { + 'checksums': ['4b2c1f597049f2c78a7e2b7538c067e2b57e2f12291d19210b1eef702664848b'], + }), + ('units', '0.8-5', { + 'checksums': ['d95e80af760b053e10a1e33ce1f0c1280a84e84bd4b1d9c34d1fe9fc153603b1'], + }), + ('classInt', '0.4-10', { + 'checksums': ['c3561eafbc493ac02840191d4f1e4d2ef437ca8eb20f41fc5eca28f00ee42b8b'], + }), + ('vegan', '2.6-4', { + 'checksums': ['5d8ad4bebe79ae2bbd840a34100cf54c62f089c66ea484a542a201afcba21d06'], + }), + ('rncl', '0.8.7', { + 'checksums': ['1d876e4f5f2b8a24cc3ea1002c29eedbc0ca96011b0fa15b085e5b75cfc7993a'], + }), + ('XML', '3.99-0.16', { + 'checksums': ['350d37bab99ba3dac03313fa3901cc053ab2d962a94a9c3404fb3ad0a91cc95b'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.4.1', { + 'checksums': ['192f2fef6341e43bd56ef4f9841e813e07be990f4ffcf38c5606259630efe0f7'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.4.0', { + 'checksums': ['8e50415e415702402473caf622d86b89ddc881f6e5d888079a4818a8807ac9a2'], + }), + ('bold', '1.3.0', { + 'checksums': [ + ('0ead11d4386c4c0cd578d3a956f809db2001e387e449a431b4ad503f3da38f5f', + '4920fbebd22fb1d0f1a31ccc09c98aec446bb6cb5f65a2610437e405c0512c68'), + ], + }), + ('rredlist', '0.7.1', { + 'checksums': ['92a10c37a211dc19b41b93f9ceb13d7ce1c3d3a7290cbba4c1688d944353ae85'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.1.0', { + 'checksums': ['12baeef897c835d20a4d84cf058a3d3d09b89202f7ec0325140cb7754ab5635c'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.3', { + 'checksums': ['32b918f921a318078712ce6647e1b19cd7a9c550df8c37cb3d839277431fb9ad'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.7-2', { + 'checksums': ['aeed8c8c308c7e3827daf10b01b8ed4b88c1d68cea57d72d67c600c0ce0dae13'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.11.1', { + 'checksums': ['10096ecae03e118aa4dbc60d9866175fad4849c948e004cf10c3868e3feed420'], + }), + ('uuid', '1.1-1', { + 'checksums': ['1611240eb706e6f53400b25c9cf792ad90f151b72ed0918a1e756997f7abb716'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.11', { + 'checksums': ['246913cbb0e816401bb8e37dda20646202547f5cc8379c9dadf832f61d6cfd46'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.8.1', { + 'checksums': ['d8fcd10e1817d42796102e85df05bb45fc8ced4c721b06fac37e61b6792b458e'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.6', { + 'checksums': ['3bfa6ac966ce0ea93283f5856a853d0ee5ff85aedd7a7d1ca8a93d0aa642860c'], + }), + ('bigmemory', '4.6.1', { + 'checksums': ['b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.8', { + 'checksums': ['0f842256582ab41bcd00ee08ea6d7e231ff362fe0156a53347873e9636f73a70'], + }), + ('dismo', '1.3-14', { + 'checksums': ['67a0f2e95562dd2aa612d52dfffab86985b52591a5ed7891b58b26667b394cd7'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.12', { + 'checksums': ['0b4b7a303990369a6944de817b6bd220b400942fcabf42c04fb5b56f1b40a583'], + }), + ('extrafont', '0.19', { + 'checksums': ['4e8f90152df13fc5dee573222a26b4d66553493fdf6af1c7777e59521ccdab8d'], + }), + ('fields', '15.2', { + 'checksums': ['1f270f2331522ef93e04a8b199dfab17995ac02aaa0a68eeca90fef55f6cad3d'], + }), + ('shapefiles', '0.7.2', { + 'checksums': ['4bfa4094c1052c1b1918b1670798f8b4e53f771cfdf9cb8c04bd00a856674d0f'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('optimParallel', '1.0-2', { + 'checksums': ['0f9bc62c23d9005130f2892bf5eaecf308fa48a727bdd5e19b7dcd1d95f30a9d'], + }), + ('phytools', '2.0-3', { + 'checksums': ['a10f5ceba81d5f8dc8e1b80e4cd00c7878842ee312ecd266809f60f70b23e82e'], + }), + ('geiger', '2.0.11', { + 'checksums': ['dcc5a0a988439110078867e0aaf09b048e27db7f02e4cbdfe35783611fde3f69'], + }), + ('webshot', '0.5.5', { + 'checksums': ['d675913ccac80e0af8ee396f95a24124eae6c42d80aed9f47f7a88218ecbb913'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '1.2.8', { + 'checksums': ['e535e738702d0babe043c1fec3d358c7bfdfe202ad95d68971b28ad7a81717f4'], + }), + ('Rtsne', '0.17', { + 'checksums': ['3aae6814d6c6d406785145f07374135652f2b26a58690dfd4bfbc8365dc5590b'], + }), + ('labdsv', '2.1-0', { + 'checksums': ['99da92515e9aa49ea7f3df7e301ef714c57054a3838139cd3fd798531d625cd1'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-3', { + 'checksums': ['cac6b4028f68cc8d39202377161d0f7f72ea229b552a5c35769053ab89f90f86'], + }), + ('TH.data', '1.1-2', { + 'checksums': ['47f94eb57b6fcef42efa30824c1356bf10529c4b94b0d0acdb787b434dddde73'], + }), + ('multcomp', '1.4-25', { + 'checksums': ['9dfa7821a699e7b6fc99f2b8bf6bc5fecf6e3d83ece814882b5c8ed8faffd282'], + }), + ('libcoin', '1.0-10', { + 'checksums': ['3023e0495d0789765bdf04c0ef0990a57b48fefa322c55f20e250d2d70d67eaf'], + }), + ('coin', '1.4-3', { + 'checksums': ['8a6302dbf3ef570cd9f69ce7b6cd3d3b928dc776f840bbd767af132e0080b974'], + }), + ('party', '1.3-14', { + 'checksums': ['bc30975c97826aa68a839df63a2fc977473a8a144ec66ae95618e385da470867'], + }), + ('inum', '1.0-5', { + 'checksums': ['e696b7e0b31b3bbf405112e60691b6a72fedcaa02e08ee517c59f6bf9cd36bbd'], + }), + ('partykit', '1.2-20', { + 'checksums': ['63509aa3ed2d7417ad284c037cef66bc837fdb7a97967957e79b9fee8ed2e0da'], + }), + ('mboost', '2.9-9', { + 'checksums': ['bf3a83f124d28bd9167a6aafa4cd25f107d3db8a1e7e1d5ca13065dd416aecaa'], + }), + ('msm', '1.7.1', { + 'checksums': ['d134782b966eed33742819595119ab1a61bec4416cc3fa7630a0f34c4e7f785b'], + }), + ('nor1mix', '1.3-2', { + 'checksums': ['463636ceab6512e8ef0a57dbbba23461e9da0c0bf5a6c27424675cdd209ea208'], + }), + ('np', '0.60-17', { + 'checksums': ['d97957cb234ec2e570fc2d02d305eadff3d71939484b3d1054ed8b67a3427f36'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.24', { + 'checksums': ['6641c3666727841d291e3bbeda548ca422e4f04e7ba92e806486ca741c3a5455'], + }), + ('rms', '6.7-1', { + 'checksums': ['1f836c12973b39c42230005767e94b075fb6767e6b8c9714476de9fe515a3da5'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-46', { + 'checksums': ['660555781703c19b994c9dcfc9e7d8312c30b02539f38cd3948bfc33d9f94b67'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-11', { + 'checksums': ['9aab8b8493df4c62cff8adbba53be72295673ba8c546cdb129cdc52aabeae742'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '3.0.4', { + 'checksums': ['d766bfd86f8a871b972b9b9cd952fa2e5bb7c0fe6903b3f2c15eccf4612a17e2'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-8', { + 'checksums': ['052b905c067fb1fd71ed8a4f02ccf94579b344bc9e4d8153f5a7e4b520c2e762'], + }), + ('chemometrics', '1.4.4', { + 'checksums': ['fd0edb1ebe321ff7677d0a668d7dfc79a7cd55f408a53d1f13db4cf6347aa881'], + }), + ('FNN', '1.1.3.2', { + 'checksums': ['d701a13487979ebb07a071f4cc83fcf4daea5832d1f3923bce1e0d671dfe0e87'], + }), + ('miscTools', '0.6-28', { + 'checksums': ['bd4c2f2120948af538f9874df1ac745ff162817d0e53756f52f863eb4f593b21'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.16', { + 'checksums': ['9c7c0fba47f63b1749005311c7174b40e72d95c863a67b736a84b8ff375a2aaf'], + }), + ('Rdpack', '2.6', { + 'checksums': ['6a75d98c651778358732429258056a327def2be4d2af244a8daaac5b500c220a'], + }), + ('dfidx', '0.0-5', { + 'checksums': ['37521940b35d62773a4d127c94148aadf207f400a686f2212a22d96e53086a0a'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.4', { + 'checksums': ['87d36cbe6dba41dbc1d78d845210266cdd08c7440d977d738a6e45db14221e8b'], + }), + ('gsalib', '2.2.1', { + 'checksums': ['3da3a4b959142a0d694a843e39143bfce82a6de197c6cc92650a28ac05f3bf90'], + }), + ('optparse', '1.7.3', { + 'checksums': ['6287e1af051d4a65037900ce7b30bd962039450dd4eab63b6f2491eace6a07ed'], + }), + ('labelled', '2.12.0', { + 'checksums': ['fe043c2cd910e692c98bf7c79d20d0d8b9e27431eb26c266d863f1956b80d2b8'], + }), + ('R.cache', '0.16.0', { + 'checksums': ['7853409161571a790e0383f64f99e4eae43201a0ed7146d2baf157741a509291'], + }), + ('styler', '1.10.2', { + 'checksums': ['a6c055310f4be6f3c5d11314938cb592594a869bf9c9fa7fce588a53794f7b10'], + }), + ('questionr', '0.7.8', { + 'checksums': ['af72e59fe652c6063282a7e5b0f487993b9361cc9ed052a632d64a5a6db76ba9'], + }), + ('klaR', '1.7-2', { + 'checksums': ['8035c3edb8257973184ad5a2109fc7c77c32da913cb9dd0c2f1c373e6fccbd61'], + }), + ('neuRosim', '0.2-14', { + 'checksums': ['7fc264bb86f1edd7b39a2472330bbabb34eb6dfb722db016a6ee60444ebfafd9'], + }), + ('locfit', '1.5-9.8', { + 'checksums': ['0d0a9bfb32e50e8f8f97de771f91b17db1db7c5be35027f2d7840a7293e11de3'], + }), + ('patchwork', '1.1.3', { + 'checksums': ['e976424f4bd88e075f2ca6836db2aa1eb5fa7ad6a20ad0a34a4d5047d59ad71e'], + }), + ('broom.helpers', '1.14.0', { + 'checksums': ['cdc12f35bfed5d3da55ac7c7e09974584c8e4cb7a2147429c53b7b1176c76a93'], + }), + ('ggstats', '0.5.1', { + 'checksums': ['2c6a563fb7072e820837d052855aa475a3486b9519a06a63678166c5af6a9ec9'], + }), + ('GGally', '2.2.0', { + 'checksums': ['dce20b47d639aa1ad63d9f14aae48c554d1e787758876c9842bf0e093bab80dd'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.5.0', { + 'checksums': ['cde8553973ce2cc04324318b3df13890d585987171fedfe2efbf1430f82cc2f3'], + }), + ('pbkrtest', '0.5.2', { + 'checksums': ['8e79adf035a0fcf3c82145ad55847497379e009f7be880ba3007ebeb2e69b6e3'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-8', { + 'checksums': ['5e8579e3f559161935f1dde622ece703eefa2a28a677ce553d7f27611e66e0f7'], + }), + ('openxlsx', '4.2.5.2', { + 'checksums': ['ee7089e7e5832ef22ee0d0eebf7cca5096ce23afb2bcdb58700be62526fc9b67'], + }), + ('rematch', '2.0.0', { + 'checksums': ['15daf7bf2907aef8503635bc8631fce9fd75248a1fc2496825588c4bdf785c26'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.3', { + 'checksums': ['7efebbcdefeb8523633db62b3eeb6ea2e4e81e3d010d8b2adb134011c09a5948'], + }), + ('writexl', '1.4.2', { + 'checksums': ['8f75633eb2b6349a07db347d5b6bf40781a8dab63b6cb858849a616e9b629027'], + }), + ('rio', '1.0.1', { + 'checksums': ['754c137c5588870f75665d0acc149f0ef28250edc057d5d4ac6fa25ba9547bee'], + }), + ('car', '3.1-2', { + 'checksums': ['89263491977ac8e9406b2f4b1638bf06c7ddd1b0e0e3ecda4be61420474674c8'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.4', { + 'checksums': ['81abb47270593709587480ffbc88dce3d3f695bd6f1164729311b37c50d7cf3e'], + }), + ('DT', '0.31', { + 'checksums': ['956f42a784d1c426ddc75ebfb22a854886e2d6ae8b7014b95669aed0cd699c87'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.8.9', { + 'checksums': ['8a0cf0a1fd1d69fe7642644181b943bcf38db6cb1cbbb8b2282e7a1b11d2ffc6'], + }), + ('multcompView', '0.1-9', { + 'checksums': ['1f3993e9d51f3c7a711a881b6a20081a85ffab60c27828ceb3640a6b4c887397'], + }), + ('FactoMineR', '2.9', { + 'checksums': ['882698d399a641c80f63ffae69c334fc5306238fb8592e9b760e17d4621f5230'], + }), + ('flexclust', '1.4-1', { + 'checksums': ['d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d'], + }), + ('flexmix', '2.3-19', { + 'checksums': ['adf5a40cbb6d45e3652c1666cb3ccdb9654e501fd685c091cad0686e62bc12e9'], + }), + ('prabclus', '2.3-3', { + 'checksums': ['005d000a9ac357e670de26e5b8fc4ddb1617351275fa43bf6d2e88b8774358c1'], + }), + ('diptest', '0.77-0', { + 'checksums': ['c3c835155e6bddce730623c4e9b4eeed00624c26d493076e79db203a55f8ca32'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-10', { + 'checksums': ['99b4548f2eca1a092a31bc2fa4e4bd1d6b50fdfacf3218588c879ceec99147d2'], + }), + ('BiasedUrn', '2.0.11', { + 'checksums': ['6295f1a12cd9d425cc03ec05a993fba04f539007c1754f23d7043a585b9e7537'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.12', { + 'checksums': ['40944b916aa228d90862301beb9d93a521e6d98ba23c147d1bd9dded04ef0ca1'], + }), + ('base64', '2.0.1', { + 'checksums': ['4d22687c0195c2049e0af2c613b1ebcb908037010ad6e550bf47d69e842535f1'], + }), + ('doRNG', '1.8.6', { + 'checksums': ['5032ade083f1f9841ac2e8d4426faa07f189c25c0c338fa155c5dadbe5507de2'], + }), + ('nleqslv', '3.3.5', { + 'checksums': ['1298172d2fe67d8d6b742ce7e792f6b897f081da5c94d34f14970ab531f04b3a'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '3.0.2', { + 'checksums': ['c965e9d106f0954ce940314e4d5d3f8f0f57b7fc5c5c8cbe913e43a9a3953f83'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.21.1', { + 'checksums': ['811eace27c7f6e99e1048b8f2522e67bb3620471c5431e0ef83c396612dc8127'], + }), + ('fma', '2.5', { + 'checksums': ['400dea4d2b6e73ed686d901fbab1b4f930dfcdd67fbd0bb3abc34a707656cf78'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-6', { + 'checksums': ['3c2f13edabdd9cd2612a60afec9ba447b3dd5a4109dd066d7870411d032f8b63'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '3.0-4', { + 'checksums': ['5d418e39e0e20a14d44779fcde17caea9bf8075f1647baa59342e824b40f3cc4'], + }), + ('spatstat.data', '3.0-3', { + 'checksums': ['7642c0e41e905a287f9f319a4169d82bf41349cbc406e9c6d107a89f8d11ad3b'], + }), + ('spatstat.geom', '3.2-7', { + 'checksums': ['be9819b3abde9714629a06bc8d741c7a7f8352fb8f72d92b3156b48f422a688e'], + }), + ('spatstat.sparse', '3.0-3', { + 'checksums': ['6bbc4e42ae71eece63e8c3e390068a84eeeb6cd4f6bdb555d8815aa2ed988d69'], + }), + ('spatstat.random', '3.2-2', { + 'checksums': ['48c6ee4c51ac50e4bf939118f9e5f94470529c0ee608b628ce4de79bfe813a07'], + }), + ('spatstat.core', '2.4-4', { + 'checksums': ['e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b'], + }), + ('spatstat.explore', '3.2-5', { + 'checksums': ['4c0715a12af4f5691c493545ab7f6cad790e36a79f5354c0c57356c80fa27c14'], + }), + ('spatstat.model', '3.2-8', { + 'checksums': ['8d5c73abbd5e8fff4246d4ee3a5229cc1d774fb7fc4e69b26f08e720927703f4'], + }), + ('spatstat.linnet', '3.1-3', { + 'checksums': ['78649210eca810deae5bce0edbe85dd790cafe48f37318178d25a7cb58a172f9'], + }), + ('spatstat', '3.0-7', { + 'checksums': ['33779f4a4f881e98c4fa2f8faac8d3a8eb2d45149992cde77fb3a83a62b6cec0'], + }), + ('pracma', '2.4.4', { + 'checksums': ['1a4ef3af2197f999dbaa614bf5a70f09ec463d8c91feb5aa0d995de24ec6ba7f'], + }), + ('RCurl', '1.98-1.13', { + 'checksums': ['05a52f6329b4ea91dc92ae23b2528b99d654532c8291712bd591521d6eacf306'], + }), + ('bio3d', '2.4-4', { + 'checksums': ['5654eac10d33e4235ef89292e3b99006d8812b6bfaaa3d6fb540312160fd9de9'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.5', { + 'checksums': ['dd8fa4a6b07d8a43b980e1df2f112c1915f93ca9d53cae0f0307a8ce00946c23'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-28.1', { + 'checksums': ['752f11b99816f8d61c1ff411ea4d5bec5509f2a655d250e58baa48e8a0266ba6'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.6', { + 'checksums': ['9a7eb14781f01a12e26e7b26a91c8edaca7d824b9c1ffe74c81837098d9bf417'], + }), + ('ddalpha', '1.3.13', { + 'checksums': ['e4a60a4e0950a3587db2a2d5958ab4fbe07b2548f7c3d4795912fe45c77a4eae'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + ('ConsRank', '2.1.3', { + 'checksums': ['7ef9fd405d2f01a9b31fccbbfe0bdb1fd3dcbec6654f553db3ef3a21ffc92d6c'], + }), + ('adabag', '5.0', { + 'checksums': ['ec58756fda2e64753d21e28d9e27ed34f28020045b199a58dcea06a3e2c3d60e'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14.1', { + 'checksums': ['0450ff8489b0d4d0842130f6a9713ede97da936d7909c43d43587bf2d5a01a21'], + }), + ('ggvis', '0.4.8', { + 'checksums': ['3d5480a0b97a57c26b595785f826b13d7695dab1f1dd8fcf5d7964fa8546a26a'], + }), + ('mlr', '2.19.1', { + 'checksums': ['9d52afd54d9d5746e798134d5675818cee65caa53d7eaf317d46ba88d5865202'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-17', { + 'checksums': ['424557d7326889e09e31e04d2a9b7224bed0bb4aa6f9e5433d7ce4fe04a35afc'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.2.1', { + 'checksums': ['db52a397a204a0040ec1368ae217cf7b0d8e99e2567927dbe3ae89f93d1de598'], + }), + ('lhs', '1.1.6', { + 'checksums': ['e37fce44efe6a371677ba2f72f9e1e48270a0fdc60872d05def89270586cd23f'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5.2', { + 'checksums': ['326c92e003866728729dc61473f168c3663106b1229e8513abd7ce520c18689c'], + }), + ('git2r', '0.33.0', { + 'checksums': ['1855b68d0e22566f1c255fdcb8e13282a2bebf55cbc804a8591dc8047f0e1895'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('covr', '3.6.4', { + 'checksums': ['2b6204036510c629d0b1d58daaee34d4e38baf54164f8d4c9afd6d6b1fb1862a'], + }), + ('Rook', '1.2', { + 'checksums': ['c79ae4b5164daffd4e7cf74bd23c1b08a3948bf343dfe9570d57f39cbf8e5f62'], + }), + ('Cairo', '1.6-2', { + 'checksums': ['6b6f4c6f93178a1295860a9dc6dc45e60fec70f684d5c8d0b59baf5b8dd44d62'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-3', { + 'checksums': ['e1ccf0dd542502eb9775682ff64ed358fce4aec271b98cd746e58fbfcf093c40'], + }), + ('tkrplot', '0.0-27', { + 'checksums': ['c99211919414400b0f579e1354407f2e154cfe85533d324bcf9c68172c2772a5'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '1.0.0', { + 'checksums': ['4fb08e97d59da8d53730bc72ddabcb04f84ac7965f1e590e5ed1973f7861913d'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.4', { + 'checksums': ['6d87a9a32aba3aa64f751268cabd14dbd3e0eca2bd5f0a4b11366cd1e2f51bdd'], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.14.1', { + 'checksums': ['4543f53af412c368d7dedd1bf30c411290de3f37a5d5f77226112e8315dec76d'], + }), + ('logcondens', '2.1.8', { + 'checksums': ['f139206e47d1077ffcb39248450c1d7ce2ac892cb9264dd0e1ace92532162a00'], + }), + ('Iso', '0.0-21', { + 'checksums': ['b6842ae1c7b629ebb63355f50bb2e5d96e5696fa59590807ac6028b6dce28fa6'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.1.0', { + 'checksums': ['b0b554e9220f7abeb8e40af7617802509bf49aa4b2b58882330cde54c20bad63'], + }), + ('influenceR', '0.1.5', { + 'checksums': ['8164e4820f769032fab97c9ca486d33e83309641fcc4875065d8f5a43b20f58c'], + }), + ('visNetwork', '2.1.2', { + 'checksums': ['47c99d42fc89e6ae929257b2648d998c5ffed60dff97ad7e47613f5a0c1ddc84'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.10', { + 'checksums': ['72f6a89708ae15277acbbab2dded5f461b6bdc9c5893112860fb34c8df3ff890'], + }), + ('randomForestSRC', '3.2.3', { + 'checksums': ['8ca24f235f4e0036d6c767e0b7c8597c404b91ab7cd88d4a6a1c3accd46d4f6f'], + }), + ('sm', '2.2-5.7.1', { + 'checksums': ['ea0cc32eb14f6c18beba0bede66ed37bc5341bd3f76c1a7ae56d7254693e1457'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-16', { + 'checksums': ['1def927393a2681b0a61f67b4d92ff05530bf75fab51e5c434140b32c7d70a94'], + }), + ('matrixcalc', '1.0-6', { + 'checksums': ['0bc7d2f11f62d8b1969474defe27c924a243ccba0c856d585f317f6caa07f326'], + }), + ('arm', '1.13-1', { + 'checksums': ['c02da290c1b9699b958431865fcedce94f00ccc80da5c0aa50ed1c3fb56de937'], + }), + ('mi', '1.1', { + 'checksums': ['4d7a9790dbdc675605d70755af9aa80c21a279be5a5d712b22d77465772cc785'], + }), + ('servr', '0.27', { + 'checksums': ['01c23c56bbe483486b9daac831953ce1d5d1814966b9044c03c69884065458c5'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.9.0', { + 'checksums': ['a485dc6e363a993d87336fbd1027adb1cd7b9103447fd63904cae4dc3bfc2dd7'], + }), + ('network', '1.18.2', { + 'checksums': ['bf33892db9cabba9cd1597f09ef0e1277d63520a8cebd2d919e0d41fc706a27b'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.7-2', { + 'checksums': ['7b214626967feb9389e743e50b919dd4b00e7436b2355fd068c873c45ac7a7cd'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.72', { + 'checksums': ['7cf9cc1bccf2a56b518c88030e00e88217f571afcb250aa95c3bd2771a8b83cd'], + }), + ('graphlayouts', '1.0.2', { + 'checksums': ['55c95490bc0625ea2fc187f58dc20ee4df325cc93b7987da5d0d5dc96692e0d5'], + }), + ('tweenr', '2.0.2', { + 'checksums': ['64bbfded418d4880e3636f434571c20303d2f66be6950d64583a864fbb661ff3'], + }), + ('ggforce', '0.4.1', { + 'checksums': ['b44219fb63c45fa003c64bca323452f16dcace635204bc0127d3244c0f451873'], + }), + ('tidygraph', '1.2.3', { + 'checksums': ['b09c06b12583ae57edd1ec01e61a0e1b7a4b82358361fb28a6046dbece475687'], + }), + ('ggraph', '2.1.0', { + 'checksums': ['686fdb22dc4f613273fb755ec42399a208b4d10348eecd1a217afd4612245c1f'], + }), + ('qgraph', '1.9.8', { + 'checksums': ['14a81d64f37614a05445408babbb2da5bc53886def8b0c2e4101b06e8b4c01d4'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + {'HWxtest_1.1.9.tar.gz': 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6'}, + {'HWxtest-1.1.9_add-fcommon.patch': '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451'}, + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.9', { + 'checksums': ['a106fdf99a7070243c412f0117f0f4e3954b2bae81266fba272e9c85040dcde7'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-4', { + 'checksums': ['e30fa4fe353cf00d266839d3c5db83ec9548a660f31d447ad9a69f556d56e731'], + }), + ('rootSolve', '1.8.2.4', { + 'checksums': ['e16a317ea494192e0a5668a18f7eb99675f8edf3b3095861d213bc2590ad385d'], + }), + ('FME', '1.3.6.3', { + 'checksums': ['83c4c28ad4f9197610be40fb66f1025f438a46e4085d64b736e83a0ab71e36a1'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-12', { + 'checksums': ['df10ce719f92597572763182f7cb03686b8d7fb9123d036a4daf5b10738e815c'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.45.2', { + 'checksums': ['49848bcb03dd3fc3605799893d39986b521921faaa5647815274eb204bb9bf56'], + }), + ('signal', '1.8-0', { + 'checksums': [ + ('89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684', + '0a604949bae91410a150a22cfa02d954f5b83166cc7a73e5409554d00e0417a7'), + ], + }), + ('tuneR', '1.4.6', { + 'checksums': ['c5441fb56dc84cafb6aa6b47d83839da1e1a4e5b19eafbb63b268d1a660647d0'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-11', { + 'checksums': ['1052f6335be4df4b2e145c077d82e781eaf6658f3ed4821033b07e57bb4ce17c'], + }), + ('fftw', '1.0-7', { + 'checksums': ['f69f63467b84e107f3e0b18d1f034a37140545e6f50e6be3b887df2b4eec3a1e'], + }), + ('seewave', '2.2.3', { + 'checksums': ['1f897af809e8e5f9d515d788f4b5ea14ba27b2b554a3ab8024d78f42ac46848d'], + }), + ('gsw', '1.1-1', { + 'checksums': ['d2a21dbcc3b285163d9cf1bc649a3de1bb1e713c64e4cb6cbc3e613c43f4dd82'], + }), + ('wk', '0.9.1', { + 'checksums': ['b7a0af51c0e04175dc359d1fb0e852ac55097b4105d876b58d3cf995c0f2bf7b'], + }), + ('s2', '1.1.4', { + 'checksums': ['be0b4925eaade52cf85b1cb6e851430bd4fe6ca30722dffcc3f9107e7a4e404c'], + }), + ('sf', '1.0-14', { + 'checksums': ['8b535648d537a1a95920c938e43692c1dfaac8d293ff3f506334001352c339f7'], + }), + ('oce', '1.8-2', { + 'checksums': ['cf5fee1b44f1f972d496c005993eab5267878177c4ce8bf74a3b018047a33fa9'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-3', { + 'checksums': ['906fdff665e2aed0e98ee3181233a5c62bd521abfce6ab1cb215c71c95d12620'], + }), + ('pinfsc50', '1.3.0', { + 'checksums': ['971627cf4567fdb34db26010f2db44cfac5ff07f327d3247e778638cc4e849bf'], + }), + ('vcfR', '1.15.0', { + 'checksums': ['df17e48b961d96f2a78a1a15037df674f57d0445f2669e401543d8082f0b49fa'], + }), + ('glmmML', '1.1.6', { + 'checksums': ['2710f56530de37a52a042645da76c8af075d66e04eaee9e18bf1e5f32f0b7958'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.1.1', { + 'checksums': ['f9f6b56d91dc7cb18dc8308d0875b9648c90b268d1aaf8f4c5164ff016df22bd'], + }), + ('tclust', '1.5-5', { + 'checksums': ['fc8dbf2626cab50a06e037423fa005431202edd6782ea770c9a002abb30e5496'], + }), + ('ranger', '0.16.0', { + 'checksums': ['0395f93afdb807a7882c1fa8f183a26a871c5168ea0903566951298ef1138589'], + }), + ('hexbin', '1.28.3', { + 'checksums': ['0eb33511c1a4ff29dda8b89fee420ea7041033f981c7f16484c9f504d749de5f'], + }), + ('lobstr', '1.1.2', { + 'checksums': ['9bc533ed7e8f816097a03acfbca33308c9940ba26d02674f4ba06311cf3a1718'], + }), + ('pryr', '0.1.6', { + 'checksums': ['68c1a30a42808eb01a64d31e521d21f2fd5a88dd2c14d05b4b7986d27a177704'], + }), + ('moments', '0.14.1', { + 'checksums': ['2ed2b84802da132ae0cf826a65de5bfa85042b82e086be844002fe1ce270d864'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.2.2', { + 'checksums': ['afa7492c54508c46eff39ac66fa4b05627e0044253ebe4a61b2a78d459f715e4'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.7.2', { + 'checksums': ['fd7ca265bb892dde514d5f8d6a853fb8b32d7a673b05e9c8b50544a523299ce5'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-4', { + 'checksums': ['6341eddc590fe11fb8545aa9084f5d99cd93415a599022ba63f1af890617754a'], + }), + ('WriteXLS', '6.4.0', { + 'checksums': ['644b90a82683c668b6e05bb4f940111a42cd634f63a5b559351e8cd4274a19b7'], + }), + ('bst', '0.3-24', { + 'checksums': ['64d96e13551d35ec32aabaa733bec86dbe8c9ca3f976a34ebbf1f49bb63e49f4'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-13', { + 'checksums': ['5e356189885390f47f21eedfb93726e2920b679da480a07823c44012b689aaa5'], + }), + ('mpath', '0.4-2.23', { + 'checksums': ['1608215dd7826dde0cb7c8890375568d286270024d52f01cb12c9402c817ed99'], + }), + ('timereg', '2.0.5', { + 'checksums': ['a0d1ddeaf6962c7f48e213430ec838cf8e880a6c41571e4c2e864d070f84f7ef'], + }), + ('peperr', '1.5', { + 'checksums': ['f7f9b3140bd8f0d00b7cacd55e9626e2333eb91ab0173e8f21237803045b8500'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.15', { + 'checksums': ['d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.17.1', { + 'checksums': ['87e96e119e7236b4f5df1c6f1b0d4d4e12aab606a2142e039f56d8ec71f9e521'], + }), + ('RInside', '0.2.18', { + 'checksums': ['805014f0f0a364633e0e3c59100665a089bc455dec80b24f04aaec96466cb736'], + }), + ('limSolve', '1.5.7', { + 'checksums': ['047766ff01171c67763f50103c4cfa97c37300e01dd84b0b2410e979e39c58f1'], + }), + ('dbplyr', '2.4.0', { + 'checksums': ['9154f35771fa818456c6c6ec566699f2e1e7569aaa48209de80b44274240f1e7'], + }), + ('modelr', '0.1.11', { + 'checksums': ['94ebd506e9ccf3bf25318be6a182f8f89c3669a77b41864a0b9dbcc1d4337bd3'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.2', { + 'checksums': ['a85b16e26112364a65c886efea050df08c17aadf1411fd14ec27d9ef13e87092'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.3', { + 'checksums': ['a465ef7391afaa3c26eebe8c61db02314ac04c4d8de5aa53f090716763d21c1e'], + }), + ('dtplyr', '1.3.1', { + 'checksums': ['a5a9689a640b8bd1274519af220c33deaa3919654acac4ebdff1ff365cc8d6e5'], + }), + ('gargle', '1.5.2', { + 'checksums': ['4a5beb046eb50a168b4baf5d1fcd8ac20d698e7fcb6b6ef46a436ded5b039001'], + }), + ('googledrive', '2.1.1', { + 'checksums': ['0b8b4f74ba3630b0347249a32a80bc5fc2e8b63ad2952702f30162bd2d38fb82'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.1.1', { + 'checksums': ['c5cc63348c54b9de8492e7b12b249245746ea1ff33e306f12431f4fc9386fccf'], + }), + ('conflicted', '1.2.0', { + 'checksums': ['c99b86bb52da3e7d1f4d96d70c77304d0434db5bd906edd8d743e89ac9223088'], + }), + ('tidyverse', '2.0.0', { + 'checksums': ['3d3c2d135056333247d309d1c2cc98cc0d87e2c781f4c6fbceab28d28c0728e5'], + }), + ('R.rsp', '0.45.0', { + 'checksums': ['a58046d448b2fca15fb1bf5b5eec4da37b29175270c07e46d740066537435da4'], + }), + ('gdistance', '1.6.4', { + 'checksums': ['6af5fd3ea7e256f34d705d4817bb88056037ce1d68adfeb28d61c4a640d8992b'], + }), + ('vioplot', '0.4.0', { + 'checksums': ['5729b483e3a4f7c81d2cc22c8bc5211b64e289734e9da5b5696c4974067867b5'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.8', { + 'checksums': ['7099fc5c6a9069924392995a726190e8d62f6e55375ef356084b0c73346d85d8'], + }), + ('tmvtnorm', '1.6', { + 'checksums': ['2d9b2c5330d11a62384b4c0c1c012be34806b48683898045a4a40fdb9a8e1bba'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap.datasets', '0.0.6', { + 'checksums': ['1e14b06fac203016555ddca323225ccf18d784609dbf9bdfff423e6dccd297cb'], + }), + ('gap', '1.5-3', { + 'checksums': ['6e19f9d822460867fcb97fe917730ce0f87218893a6a7edae42caaa401b452ce'], + }), + ('qrnn', '2.1', { + 'checksums': ['4f597c9b1437388716db232bf4a33ad5afeca6aa261aaed6eb1cf6938fde8aa6'], + }), + ('TMB', '1.9.9', { + 'checksums': ['04398a620d7e383793e2e8e139e680289138294675be378c8d78a7e9aeee674c'], + }), + ('glmmTMB', '1.1.8', { + 'checksums': ['4248f6c37a2f82543bc0160c71d6d409ff742a4b1b29b417a42f34460489bd14'], + }), + ('gmp', '0.7-3', { + 'checksums': ['606d0f7fbbf81ad61dcfa5e83002fc274a5ebf6b4ff5c9a9b69f141f886ac665'], + }), + ('ROI', '1.0-1', { + 'checksums': ['d4ff143304f1422ecc455eb1a00896530193c1a227ed7f3e9da2baa95d921616'], + }), + ('Rglpk', '0.6-5', { + 'checksums': ['aaeffc005a8febfe3422c8ae1347d5e17ea84320b959358670bb1083d6b57ca1'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '4.4.0', { + 'checksums': ['ff7299662dfa60b73f8792242a7480332468c9248f337b89c38dc95388762731'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.6', { + 'checksums': ['32fd3d5cd354ff6b5457599d7fb870b94c7d86401a47c7c553bca26f782a4b73'], + }), + ('mvnfast', '0.2.8', { + 'checksums': ['8871e0ce54b87afc556fd94ca77c3db72dcbb8c245558287e0fe342e30eec9a0'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.8', { + 'checksums': ['f543bdd6b61ec7fd31a7e4040bd7835341d9079243fa4eb0cd5e684e5e39bdd1'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.2', { + 'checksums': ['9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.5', { + 'checksums': ['e20139794ad1a8c7d7fdffb8dac068c6fbdc8f0b65929341cb5c4d2ff1f98cc6'], + }), + ('Rssa', '1.0.5', { + 'checksums': ['475819636afb330a4467722b0a664fa54d6114d782b681f681ccb123f3be522d'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-1', { + 'checksums': ['31e79eaa8871b0b9fb8ac63a3fbd852f9ed3047bc584c233ac030b50e1b963d7'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-26', { + 'checksums': ['9a8553b5ab51f3aa929ce80597b0b5cecd8a8bdb2ea3c578edd1c608c5c6438c'], + }), + ('Matching', '4.10-14', { + 'checksums': ['bfb4286a5da29dcfcc4ddee6299e2d91c0de177720b060b8946fd16f32f6a6b0'], + }), + ('chk', '0.9.1', { + 'checksums': ['f9b43dcf1002c6244dc87965f21dff6e65256eb634b826deb7b5cdfc26f505a7'], + }), + ('MatchIt', '4.5.5', { + 'checksums': ['ae39cafdd3a52487e3ebff1b49642f516cf64321fea90fa57ce3d545a259859e'], + }), + ('RItools', '0.3-3', { + 'checksums': ['2a08e2d2ea3abf5fad89c65fdba1d78dd5f4bd12f980436964fe535554d331d5'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.2-1', { + 'checksums': ['cc3c61e132fb20bed98fa59a8254335a588780a5f4eeb51fab7489390aadf150'], + }), + ('rlemon', '0.2.1', { + 'checksums': ['4a18fa034f197c68daf48daf25c0e41f1b8acbe71d030c6bc1f55e3062a10375'], + }), + ('optmatch', '0.10.7', { + 'checksums': ['330fc251ebe6901a6fbf931457943ee113bc882f786b2b14d837cd59f4327d1d'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.5', { + 'checksums': ['1441fa46b6a78a060007442fb8cb8c87753bdc2b1ea2dc24ff951ac3fef651f4'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.9.2', { + 'checksums': ['b52a817ed66b75defb009e2f946472ab87f693f63c43638e86b5482cd39a2e30'], + }), + ('distrEx', '2.9.0', { + 'checksums': ['087d1847ad400141b5e0fd0858ef3e5c698b3018d7e2d33087be601a5740fb35'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('RcppTOML', '0.2.2', { + 'checksums': ['371391f9ca82221e76a424082ea9ebc5ea2c50f14e8408469b09d7dc3e6f63aa'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('reticulate', '1.34.0', { + 'checksums': ['8d0d8922cd811153836e95354357615968b005a4d0d4c5734441953c526e4206'], + }), + ('umap', '0.2.10.0', { + 'checksums': ['8d4786929345e8980bb8be8bb4b6300a679bba03a5984eed59e5e00c626b6ea9'], + }), + ('KODAMA', '2.4', { + 'checksums': ['78f2ea3596f3697fc06a080947e82a54c5270ed90f86916b91902e5db6ec85e7'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-3', { + 'checksums': ['474d3530b16b76a1bf1a1114d24092678ea7215fa57c6fdcee6333f1e768b865'], + }), + ('dtw', '1.23-1', { + 'checksums': ['6ed6a3b52be673ce2617b8d48723c7c488c95aab88fe2912d7e00507838e826d'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.4', { + 'checksums': ['2bf71c2034804cec637e6748dc51d8cadad01d3ea4d14ace754327f082e8d851'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-11', { + 'checksums': ['26274f2b710b2417a8bca314d400abf320d4ccf0387ad082743056699501b53d'], + }), + ('hdf5r', '1.3.8', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['b53281e2cf57447965849748e972de2f7fe8df0cee3538ef5813c33c7ed2302b'], + }), + ('DTRreg', '2.0', { + 'checksums': ['88f35521b755ed73aebc7d4139ed149487731cdd8a97c0efa4c048b65dafe84b'], + }), + ('pulsar', '0.3.11', { + 'checksums': ['ee82ef25b2be4bbac713c34bca85d8ea1fa0e32eb8c800dad7256e145fc79393'], + }), + ('bayesm', '3.1-6', { + 'checksums': ['17d72b9cdc090845f98e7a04640380d0baef8bc23d1487c8f64dc192fdb93cb5'], + }), + ('gsl', '2.1-8', { + 'checksums': ['f33609bf485abd190e65ff5d0fdab438b759294c47b921d983d89d6f053a2d95'], + }), + ('energy', '1.7-11', { + 'checksums': ['c29f8fb000c979d2504f6f6d3a99c773004f77d58793e7e2a5766155272b6511'], + }), + ('compositions', '2.0-6', { + 'checksums': ['45d374ebfdcc2c9f6cc738d196caf83a2297ed2aefe2cc99007fcbeb78a61c34'], + }), + ('clustree', '0.5.1', { + 'checksums': ['b5f2496e596e3fd140ace69c4837085e13f3abb850f5eb57d496380691fdd117'], + }), + ('tweedie', '2.3.5', { + 'checksums': ['983c745fee5a780d46e8dd04c2eb1c10cb2e222d3679654f0d6934d3db7b1c3e'], + }), + ('RcppGSL', '0.3.13', { + 'checksums': ['fe5e73bc119c6424e1a40b6fea17417a7bba93e81dbe9b7cf86dde9b8e8d93e7'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('alabama', '2023.1.0', { + 'checksums': ['925f67c72d9cdb677105377777bd09e9b56a61573bea7e3f69e0a49595c7bf1c'], + }), + ('gllvm', '1.4.3', { + 'checksums': ['63b77040e9cf2694882d1d80a3bc3030b3a348819ea38e6728417e4c5de07ecc'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.11', { + 'checksums': ['b08d6cae4fc17575adf5df0113ea5f4f819bb2c7f87987e0d66c8eabfc933fa4'], + }), + ('ergm', '4.5.0', { + 'checksums': ['3372c7bd35b640518d65a62615cb7029652a65fe2851748847f1c16b657b6351'], + }), + ('networkLite', '1.0.5', { + 'checksums': ['aaab55d4f8f0b330fe7c1ecbab3c44746c52c2fda99c53c6b46042bb8775718b'], + }), + ('networkDynamic', '0.11.3', { + 'checksums': ['2c664fd0d85c0cdc099480d67a18e6afbb0cc1036963b6664a8a756874648e5b'], + }), + ('ergm.multi', '0.2.0', { + 'checksums': ['13e27ba59b087f09cfb3dc6fccaa360e4ae0159f13e7a20d2c3306b5fe74fb5a'], + }), + ('tergm', '4.2.0', { + 'checksums': ['dcf5a26cc2c4d165766706af08f8ea4f36e328158f5b682490c2a351f7fbda69'], + }), + ('ergm.count', '4.1.1', { + 'checksums': ['446893614ad8b41aa39c37c2bf45a167f575536bb6778b8ad1fbcddb7b934932'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-8', { + 'checksums': ['6a06440d4b58e8a7f122747d92046ff40da4bb58a20bf642228a648a0c826ea7'], + }), + ('MCMCpack', '1.6-3', { + 'checksums': ['cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.2', { + 'checksums': ['7210c97fc864e78ea8502067359d642bbd95bf2df30d33da193fc5c004e45baf'], + }), + ('asnipe', '1.1.17', { + 'checksums': ['e7b4010fa1adf27534420db2971dae3c63190920a4323c86fd586842e22d9b07'], + }), + ('liquidSVM', '1.2.4', { + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + {'liquidSVM_1.2.4.tar.gz': '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'}, + {'liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch': + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8'}, + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.42.0.2', { + 'checksums': ['9aae531f4eb3ed90b5d3e31a9030ba0ca7c6bdc6e3c84aec2a5c4e3eb562929b'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.2.1', { + 'checksums': ['9f7a20acf4aec249e16f83d81f5ec796aa718deb1b8bc24393fc0421eb8ce1c0'], + }), + ('bartMachine', '1.3.4.1', { + 'checksums': ['3b0a5250f5425a8efe460adcb58ea1342f1d845ae3a8db29dbf4806653884b89'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.11', { + 'checksums': ['c63a6453783865b7c69c580a09a769e99390dd8b2e0f63e48fbfc86da3bee4b7'], + }), + ('GUTS', '1.2.5', { + 'checksums': ['9d983a566daa07d3e0036fe7011efe94f29e31a611493ba16bd316b61730a7b7'], + }), + ('GenSA', '1.1.10.1', { + 'checksums': ['9093384941b5626aae2acf4835b591875193a6000d1f0b212abeaf682652949b'], + }), + ('parsedate', '1.3.1', { + 'checksums': ['1fc31ab9813b61680abf4f4c2705b8f484d56d1d3ef256df84b342b628b6d1b1'], + }), + ('circular', '0.5-0', { + 'checksums': ['4bf4da5de29e555d1a7ae7ea64f8a5dda037e5c423f1078944f0bbb6eb9a7b92'], + }), + ('cobs', '1.3-5', { + 'checksums': ['7fae7da8f940975d544120c836e2d3b874f9b0cbab9631851ce986709f51c611'], + }), + ('resample', '0.6', { + 'checksums': ['1b958009b18c92a47971847c782af76952ea4e85d5f1e3e1e70fa35c67b95265'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-10', { + 'checksums': ['bd89a8fe939f3becd71a9dab30fe27fa43c96572d8309d2c1a70633117d4cb33'], + }), + ('Rserve', '1.8-13', { + 'checksums': ['7e5d312fca8029d746f60e7d9e701129561942f97dfc33b036b123f159d69a4c'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '8.0.0', { + 'checksums': ['38e75b1ebc8b2d1c54b3373a42529b819c7b4773fd4932f57bc9701d1e3e3dc7'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '2.0.0', { + 'checksums': ['8693cab745d426260227d522d9113078d720b1ac0eb0931a47fa8f74aab82fa7'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.2', { + 'checksums': ['f0e0a6a4eb11213073aa2f0cd6c76d87e8b3965124d8ca509538eb3c128533a0'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-65', { + 'checksums': ['bdf8fdd35fb2b1c65d09766da79d930fa664a00aa497f03b636400eecb623ef8'], + }), + ('bdsmatrix', '1.3-6', { + 'checksums': ['f9c871d54378408902931792b3dbf8bda863d6aa67af6a0472a6ec1c420760bc'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.22.1', { + 'checksums': ['0a52a55dbe76a7e7ca50c5555fea4381eeda0c215c66e420d8dc9bfd2992411c'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.2-1', { + 'checksums': ['37038a9131c9133519f5e64fa1a86dbe28b21f519cf6528503234648a139ae9a'], + }), + ('sampling', '2.10', { + 'checksums': ['fdec976ec0abfb5c690049d76f89ebcb8ab3650e2eb28a5b54c3984d17372775'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.25.1', { + 'checksums': ['d92a0cf819fe4c08b8eb17f5e03275c8accde7f3b54f990cbba5ab926575b60b'], + }), + ('emdbook', '1.3.13', { + 'checksums': ['26044b7ea1b42304b4dfde48afa94dd487acf979da4db2bf670ba41222083c19'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.6', { + 'checksums': ['61bd0d19d045b50c6764f3a7c95ce1e734af9e5f964449825d002afe02109489'], + }), + ('tictoc', '1.2', { + 'checksums': ['f05ea4b4142a90b0dc5d10356be3748625ef86bbd0e4399c56455654165ff20c'], + }), + ('ISOcodes', '2023.12.07', { + 'checksums': ['73631fec5822d256e91d7b929ab7f5d7c2312749990d4031f65e0408c366d90e'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '1.0.0', { + 'checksums': ['b4c32ee1395ee4a8efe714c535c0fe578b0dbf5f3bb85b41fa5cc87569b8e8aa'], + }), + ('SnowballC', '0.7.1', { + 'checksums': ['753cf13f3206751662c03b1cf39bce9e680024f6d9f8503b836a83797181c034'], + }), + ('tokenizers', '0.3.0', { + 'checksums': ['24571e4642a1a2d9f4f4c7a363b514eece74788d59c09012a5190ee718a91c29'], + }), + ('hunspell', '3.0.3', { + 'checksums': ['fdaa1473a62dff2a5923b9bd958d87e546069ca22ce113f44e88c761338442f3'], + }), + ('topicmodels', '0.2-15', { + 'checksums': ['71b50f78e4d7b95b5c3663d766eb15ad2061cc49d58436dc3aa56960cdaf77d0'], + }), + ('tidytext', '0.4.1', { + 'checksums': ['526750a2cc8ac7b65be1093f4c9186aa27f0a22f00023a6d6b3b878e1310c815'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.3-1', { + 'checksums': ['216a1a5bb18c7a7dfb13c6c162228c6c81c45408f04d7784b6e60ae6cd4745d2'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.3', { + 'checksums': ['6b3910dc48495439cd01828f8999823864a6712f73560ee3e6c903065c67d1e4'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.6.0', { + 'checksums': ['66da60fdf53a62cbc93797fa696a4cc43bce77f1721dd4bc1a58d25b3f981210'], + }), + ('RcppParallel', '5.1.7', { + 'checksums': ['f9c30eb9ce1abffc590825d513d6d28dcbe970e36032dd7521febf04e905b29c'], + }), + ('StanHeaders', '2.26.28', { + 'checksums': ['938a8d96d3a64357b5fee73eea2923a2a2292a062ff516ea8c720756ec7e3de8'], + }), + ('V8', '4.4.1', { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['5b6dd6133d83f3cc7297d0369706070f26c376d6ce6fb4cfcf2ad5308abd3a89'], + }), + ('QuickJSR', '1.0.8', { + 'checksums': ['7697faa26d7c67b7d218ae6be74c86e7249842d6f0ea8a3932920825398a9e81'], + }), + ('rstan', '2.32.3', { + 'checksums': ['a29d9e1abf6d7c7b5ce98e10e60f14f18bad076aff4c7affa4b6263945ba549d'], + }), + ('Rborist', '0.3-5', { + 'checksums': ['30cf41ae646e53ef5e4be0c924eca9c783ccec9e771aeba1429f801009be8abc'], + }), + ('VSURF', '1.2.0', { + 'checksums': ['c027b1e19762f1eaf4a559c2592f3530210fefd21ee3d7c787c73b776c683393'], + }), + ('mRMRe', '2.1.2.1', { + 'checksums': ['d53c392e82a437005b71d0e8b97350d0237608fffafe087700fe7f6770167fd9'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '3.0.0', { + 'checksums': ['8901316516d78f82a2a8685d93ba479424bcfd8cb5e28a28adbd50e68964e129'], + }), + ('ggsignif', '0.6.4', { + 'checksums': ['112051af425a0c0f2998ce187dacad066bc16f55af01e3e7b76d62ff6954b20a'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.2', { + 'checksums': ['e0c6f5ab1d9c5d84713defabc5d149aad3d55944cffdb903cc128b694e5221a1'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.6.0', { + 'checksums': ['2e6ec5d8151991d17ef8832259cf545fa0d1a50b326ba8c1c4657700171df774'], + }), + ('yaImpute', '1.0-33', { + 'checksums': ['58595262eb1bc9ffeeadca78664c418ea24b4e894744890c00252c5ebd02512c'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('leiden', '0.4.3.1', { + 'checksums': ['a9ecbbcfa2724d8fdd0133af569278e036b25b6e2cbb23d453092cc6b3fc30e2'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('packrat', '0.9.2', { + 'checksums': ['69df5943257e6c4d06f3d907241b668b53dedece72158ca935260b8b8e1672d7'], + }), + ('colourpicker', '1.3.0', { + 'checksums': ['c7f2618cd1ae1f7ac15aee072c648e6494dfff6714e13dc7cd1da993d1102510'], + }), + ('ggExtra', '0.10.1', { + 'checksums': ['6879edfe8e3905a2c299cbd18777422223ad30042bc6e20614ca5109a75de82c'], + }), + ('findpython', '1.0.8', { + 'checksums': ['0f8a90cbafd4949c0333a86808383a358fb7ec3268953d8a4887d5d22264cdb7'], + }), + ('argparse', '2.2.2', { + 'checksums': ['b62c9bf5e6ca35fb7a2e614a916815c04cbf6c6db3f89f99b4df76470a4a856d'], + }), + ('intergraph', '2.0-3', { + 'checksums': ['354640a8ac4a1186e6d229b6c25f0535be3e456c13b1e7224a1632d3a346a7e8'], + }), + ('ggnetwork', '0.5.12', { + 'checksums': ['74368662c1a225cdefc8addf606b398f14dafeff03faac56c15aa5e14819e9cd'], + }), + ('qqman', '0.1.9', { + 'checksums': ['3f6a931771d375174b78f220471ddd601def9b5c69631931b0992ebbc8c5bc13'], + }), + ('rstantools', '2.3.1.1', { + 'checksums': ['f260ee54c11461d0f80f447e6fa6909337ede09806cd48f4a89ae9d59804e22e'], + }), + ('distributional', '0.3.2', { + 'checksums': ['c883d633398233aee5a8ca6b587687f765bdfe0732a84e4961e7f71ac0d008f8'], + }), + ('posterior', '1.5.0', { + 'checksums': ['4a10307fcae321f2cd4ca7871504a0c6c9152b8473dc9a033721e8dcda18e2de'], + }), + ('bayesplot', '1.10.0', { + 'checksums': ['bb4cb92b1ae4cf8ae5f4b5cb092aba34af3d820d137e1f2265cca8f3e85113ff'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('renv', '1.0.3', { + 'checksums': ['985a1432144a662d34af4b55a3e38c4fc030551ba077f68541af91a1a70f5eb4'], + }), + ('rsconnect', '1.1.1', { + 'checksums': ['77bce6f08ed376be1028b05db3526bb4587aa024d86b9117ab30af177c5608ed'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2023-10.21', { + 'checksums': ['0d732d5604c26af59cfb95b80ed4e226c9c10422e2d82a6cc06b92f9ba6a44b5'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('memisc', '0.99.31.6', { + 'checksums': ['52336b4ffc6e60c3ed10ccc7417231582b0d2e4c5c3b2184396a7d3ca9c1d96e'], + }), + ('mclogit', '0.9.6', { + 'checksums': ['9adc5f6d8649960abe009c30d9b4c448ff7d174c455a594cbf104a33d5a36f69'], + }), + ('projpred', '2.7.0', { + 'checksums': ['b9e8336c1da7eea958e8aca8ecdb9e2aea1a3d9a3032bb288914db0fd69ecd37'], + }), + ('brms', '2.20.4', { + 'checksums': ['00a6f3ea690c4e6b3e645e0a366d8a93c9bd51151b9376d01011ab95e332072f'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.8.0', { + 'checksums': ['52a3eace87d73e3088d2eacc37c1840ca0436f6060498cc2520a2d9f9955dff3'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.3.2', { + 'checksums': ['a1d21619c8627419e09646cc12e09457c0ea8989caf2e674d032e59b310cf883'], + }), + ('maxlike', '0.1-10', { + 'checksums': ['0c0af4c44140e6037b6b9700013fe2b87f750b4af41b7646b37e16bd7feb5133'], + }), + ('coxme', '2.2-18.1', { + 'checksums': ['aef691d74ee75095c43d7b6ab27e01641382cfb349a8eefad972c745ac0531f5'], + }), + ('AICcmodavg', '2.3-3', { + 'checksums': ['4055b5f1fc12917b9f812c056e6a2dbf23bbd0169e468f567306ddf29d699f7a'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.4.0', { + 'checksums': ['f540de066de5538e303cd535cbd2e771b40474bc2c6e8d08a4894a868543ee33'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.7.8', { + 'checksums': ['c0d3b84ce6fbbadf007c16ea93c3037faf451736d8ced5b0b9f529b53685b1a3'], + }), + ('rgdal', '1.6-7', { + 'checksums': ['555cedfdadb05db90b061d4b056f96d8b7010c00ea54bc6c1bbcc7684fadae33'], + }), + ('rgeos', '0.6-4', { + 'checksums': ['9d03c4de96fd3fad55ff8d1ff8113dcaaa00f15d9d0588e54c9f91751bcede11'], + }), + ('mapproj', '1.2.11', { + 'checksums': ['db2d201cc939de26717566066bf44225a967ccde6fc34731af845f03c086347d'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.7', { + 'checksums': ['af2a90a8a90fbede4cf2178b758f00cc13066f4d0bd87dac8d156809050a6d59'], + }), + ('spocc', '1.2.2', { + 'checksums': ['af4b398dc02522629b9fee697ccf640b7654330419a8f94cb5d1c7d17c8784fc'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('RPostgreSQL', '0.7-5', { + 'checksums': ['6b5401ee55bd948ae7bc84520d789ceb422533a7d5e5bd6e10e3b54447f29fa1'], + }), + ('fasterize', '1.0.5', { + 'checksums': ['d44f101aec29aee285c4c7b578e26d11b6add423336ace90a7c22e07cfc1c3b4'], + }), + ('BIEN', '1.2.6', { + 'checksums': ['fa7a25d89f26c10686fb4ab4d0aa704beb50dc44b173ff56abe4ab3e5991f99f'], + }), + ('rangeModelMetadata', '0.1.5', { + 'checksums': ['289620500522d489aafbb03c85f68182ef0a6701fed5f9d09b55fae337e2647b'], + }), + ('ENMeval', '2.0.4', { + 'checksums': ['6d9f3c460fa7ab3131cede904fcb9280cf69f4fdd43f67115a3abcb8ed5b64d1'], + }), + ('plotmo', '3.6.2', { + 'checksums': ['cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c'], + }), + ('earth', '5.3.2', { + 'checksums': ['c844d75edf9a2706a911bb05ed4287aad9acf6f3fed357e037763a300eac0bea'], + }), + ('mda', '0.5-4', { + 'checksums': ['f25f7f28807d0fa478b1b55eb9d026ebc30577d9d5ff288f9abfe1f3fdb8a759'], + }), + ('xgboost', '1.7.6.1', { + 'checksums': ['f23dd6b6ca7a58ef3236d8bdc7b4928591507cf41133fc8053d32ab91b3d3d60'], + }), + ('biomod2', '4.2-4', { + 'checksums': ['c28163075df90a90fc1939e9ff24d40bace7de611ff7ddfe027e0ff980e7c64f'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.2', { + 'checksums': ['aa2c774d6c6dcfeec882c1936e8723ef49bd36030fb10c17ca60bb9d4a519443'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-4', { + 'checksums': ['d4b3d65a33cae454d3ab13343bceabfb3f6b8004ac64ae7bd86dee92a1cd2055'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-3', { + 'checksums': ['154ed68785de8c4a02db1916dfe50862cf544865901936e864207ada777e5108'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.21', { + 'checksums': ['293544afb194934b1d58cf88c6f8c372f537745514b6e428cf83ae62e87d2bba'], + }), + ('dbarts', '0.9-25', { + 'checksums': ['39a78228ead17c92bd88fe5f959c888412a22a7cbbc0edfa9c09072b4182d870'], + 'preinstallopts': local_dbarts_preinstallopts, + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.2.0', { + 'checksums': ['26fcfbc79810f23a28389a5ce5519e6ddc2470c5e924ba8cf4dd19a1b0fd9f83'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-10', { + 'checksums': ['f6fcd9012f2fa777127c86ba520d8dc834f4ea746a6e29623edd072479191c75'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '2.1.0', { + 'checksums': ['3f3e557ac7cadeda4759c51f866ce9a942cb21a2b3dd24e55a082fc7d300d7fe'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.8.1', { + 'checksums': ['12952b9eaa64b7bdbaaa5c6b7acb3aa1028ddfa4e5de7ddfea54f900c452d6a6'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.9.1', { + 'checksums': ['f1db0c66c8fa05e99c4059c1799abc3eb7effd7113baf03f38d26853ac05c425'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-4', { + 'checksums': ['2f820474ed20e06f65b284962c87cd1e85220a11cc7fcde09716f0eee5821387'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.2', { + 'checksums': ['53b4e20cbb57615970c572fc4e7a780a510bde8b5deadec3880095f6e17a6328'], + }), + ('lmom', '3.0', { + 'checksums': ['4b0ae8638a63b45ddedfd65c15e3206d34e947a2b5d31e9aa8c55446d69a0291'], + }), + ('gld', '2.6.6', { + 'checksums': ['ea23e9781207b5d47ed04e4d5758d9652cab5d1eedcf9fbc9c2ee4d3babffdc4'], + }), + ('DescTools', '0.99.52', { + 'checksums': ['94997df960b572a46c625fac5338099d0df51bb08c97809d5b11fa6ff34af790'], + }), + ('orthopolynom', '1.0-6.1', { + 'checksums': ['ec4a6ed266532f2f6d37a4ca6bd1b74c1df28a8c2caeab60e5d6af15bdbfe2c5'], + }), + ('gaussquad', '1.0-3', { + 'checksums': ['a3337ce52bc53435cb4565a38bf48b72b384be397d2e86bb66f62973004dc810'], + }), + ('nlsem', '0.8-1', { + 'checksums': ['0674ec2a1ae7e50b08ee1b156674c2f2100258b14d6a9068f7dd6ad1ee128377'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.1.3', { + 'checksums': ['dc6447d311cc1edda581bb696252d9062363d03e0a6227825868f81e0833d56d'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-6', { + 'checksums': ['b59144f50fb264fd0d40ee770bf25047bf0f37fa154620d8fe0a91c0065061e8'], + }), + ('blavaan', '0.5-2', { + 'checksums': ['f3523ab082a0db524719c32ddc3397a7798ba146766356ac134c3973acc40758'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '4.4-0', { + 'checksums': ['62aca0c70b44205e885cf55f6cfb56c37efff74bdef79dbabd727d629d3087d4'], + }), + ('RNifti', '1.5.1', { + 'checksums': ['a59405c8b08f8072210b2e2817b8d0fcc52c8c2ecbb14533695035ba75a87e65'], + }), + ('oro.nifti', '0.11.4', { + 'checksums': ['efe4f5d2c2e37ff6c3e9250f54ef775e4d452c1334f781f22f219ed53148b606'], + }), + ('fmri', '1.9.12', { + 'checksums': ['d8b55f8867bb0487d1a8241b340099c41d990ae5aa49768b2dc0f9db58af65b3'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.6', { + 'checksums': ['4f28ae62748654cb6f90e1ffa17b05bb8b89eb6a20262d9c5d39cb862f71dc91'], + }), + ('DEoptim', '2.2-8', { + 'checksums': ['631eabdcf26ec25a759651f699db1971beca3ae193c7fbd1c63a78248fdbf54c'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2022.4-1', { + 'checksums': ['61c06e6bd6b43c295472c6990266fe87ca41e57db04d3460e756a35ef24e0824'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2022-4.30', { + 'checksums': ['2684b8e7fb970da2afbc00e482031cf4447416249d04c4c1740400ad112fb911'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.16-18', { + 'checksums': ['dbc56cd2b20aaaaa69ea28c15cfd61d48d072fe9c0dc8e392c81a569e280cf75'], + }), + ('visdat', '0.6.0', { + 'checksums': ['104acdbb9d41167b861ab24de0e1e1e14f61c1b476bac112fcbc6e47c157e598'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-11.1', { + 'checksums': ['c2ffe6c30fc203337bde49ef630a740141604d8e648c558e58c20116c47963bc'], + }), + ('naniar', '1.0.0', { + 'checksums': ['c2eda97de603e2daf4c1c5d12f9c9a65635910833a3c669e08e344e90d9394f4'], + }), + ('stringdist', '0.9.12', { + 'checksums': ['e1843452ff4184b8d3bc5168732c0c65d3fce11f0df9fcf92173a22ef92e66c4'], + }), + ('image.binarization', '0.1.3', { + 'checksums': ['ecc844bdd9bf15b88ce1e1afc8321c177bdc8ec32618c22102b1e8b02b36e00e'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.11', { + 'checksums': ['373cfb1e79174b568dac254fab02d99bf79b830218bf18f0cc592af6fef853d6'], + }), + ('truncnorm', '1.0-9', { + 'checksums': ['5156acc4d63243bf95326d6285b0ba3cdf710697d67c233a12ae56f3d87ec708'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.9.5', { + 'checksums': ['7392bd644efe82f96da0df470a962de398f1d0162273cba1ff31c2ecd7f17a53'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('admisc', '0.34', { + 'checksums': ['fdcf875e6440fd049a78171db2594d6d963c484eca9387f852c5c8b3208a5bdf'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-9', { + 'checksums': ['4ec305565c214872705f7d5ea4928c8761750663d664a77f1676d81a1ca0c632'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('rngWELL', '0.10-9', { + 'checksums': ['9969cc10be6d18155d2b2de93381c52e7f720c2b1b3f2554fa8bfa84ceb7cacb'], + }), + ('randtoolbox', '2.0.4', { + 'checksums': ['94da14953e4ffc7981d7a9398622082c4eda3bd9d912d1437b527d949da39e4b'], + }), + ('TruncatedNormal', '2.2.2', { + 'checksums': ['aef567e8962a64d1afbdfd98ab8f385f32966c3c42acb54ee20f02dceab18e15'], + }), + ('cSEM', '0.5.0', { + 'checksums': ['25ae115520aab7d916da9ded1f87b8519c4e15101c4adef2284c51eb03d81728'], + }), + ('cubelyr', '1.0.2', { + 'checksums': ['18b10f1fe561305a1e115a438460264b88b301b3e8c086b931500a798be39b94'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('broom.mixed', '0.2.9.4', { + 'checksums': ['7631cd29316a32050b9e72057754e053d7f9064a75900bb7e69b29ebca6c60b2'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.3.1', { + 'checksums': ['151878724a99d516fe3824299274f194e6c67c4bacc6f4cba9adfd64bc5b1c7c'], + }), + ('twang', '2.6', { + 'checksums': ['0b28382af11cebf675cdffc66990e011d751e9703d27e2ed41895ead5e667fdb'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.3', { + 'checksums': ['5dc9d8bb4c0020b5e51a53a4fa71afa9adc6b907ea618b231f5cfc2877a49779'], + }), + ('origami', '1.0.7', { + 'checksums': ['b44034541ac358e0686682684c40e9a1de8d78c7913e56e4d3dbe41a2a55c62c'], + }), + ('hal9001', '0.4.6', { + 'checksums': ['1123288b603f97de98b42178ab5b4809536f64d7884a46b829795245eacd08dd'], + }), + ('cobalt', '4.5.2', { + 'checksums': ['f15a2113d837ecd59f011603a31afde411b9315b6399793861d308ab72716ec9'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-13', { + 'checksums': ['f0822888c029af48bf0238e3d20d82d3c75018e7e63728765a6220a6a0151c67'], + }), + ('finalfit', '1.0.7', { + 'checksums': ['4fb9fa3a8eae9ea80277ca3f256947d6f9485ab66ad2e3bbe429a586e79eda12'], + }), + ('bigD', '0.2.0', { + 'checksums': ['bca9eb0c9a231b159b97650884b1a7a490bc3bf4edef11cc12db06fb15c6ff5f'], + }), + ('juicyjuice', '0.1.0', { + 'checksums': ['64f5418b2a4794b47f0525baaf101beb4f1374ea22f38d7d604f5118bdb6e12a'], + }), + ('reactR', '0.5.0', { + 'checksums': ['e79e3f37c2f28ae70c912efe203dbca35094ce017e497421c049e1221817f192'], + }), + ('reactable', '0.4.4', { + 'checksums': ['b4aae6be2dd85aaa5226067415e501abc139e99499bc62c539630eeafdaf6af2'], + }), + ('gt', '0.10.0', { + 'checksums': ['708a5f303ea131babd35e4ee5ce28dd30376001714eabcc967615f608fc76e3e'], + }), + ('gtsummary', '1.7.2', { + 'checksums': ['ddc225f1c3a629b47bce85b64229d2a99c46c7bf22b88a6bb6cc728e76d34b0a'], + }), + ('ncdf4', '1.22', { + 'checksums': ['b9a9a2004f4c008d665afbe617f4e4b45e57dc70e303c8ec341aa5a51fbb1210'], + }), + ('geex', '1.1.1', { + 'checksums': ['a1aebb9f73ba8dfe26ee3dc7b0725ccb814b3db5358ba17e417bdfc7eb3e4143'], + }), + ('momentfit', '0.5', { + 'checksums': ['5f68e90545f123790d6ba149a21f07d1885361e4ca748cc93fb13bc443f7c720'], + }), + ('StatMatch', '1.4.1', { + 'checksums': ['0c5479c444cb831d21b6305fc4cdcdf2653723ff08a31427dc2b236ca4f25bc5'], + }), + ('stars', '0.6-4', { + 'checksums': ['424a4cfde4c3524f8bd44a1090c8d725662af8cc636f785d951d4aa45c130d57'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.2', { + 'checksums': ['3745e962592f021a3deaed8b2f6b99c4f7181f28e095300a96d1c2b08af4af2f'], + }), + ('geometries', '0.2.3', { + 'checksums': ['642fd7b5b98be3197616b38c5eb7e59f93859ad327800ab8af65b8d5b18a9e77'], + }), + ('sfheaders', '0.4.3', { + 'checksums': ['a3a11b7297de2c85405fbdfcb6b47462cb053b727ef7a8d9ec9bd5977a8e4348'], + }), + ('geojsonsf', '2.0.3', { + 'checksums': ['275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1'], + }), + ('leaflet.providers', '2.0.0', { + 'checksums': ['c5ceeadc8088c9840a8249f0347501cdba0119be97219a01ea2050d1dd4a8666'], + }), + ('leaflet', '2.2.1', { + 'checksums': ['01c53031cb6456d08bdcd6fed92ec76feff27a8865de47f64781dcaad771dabd'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.3', { + 'checksums': ['defd5baa4383da4182e97d41145c7a9633a987de05c465eb99a7a452fbf375e3'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-4', { + 'checksums': ['c966bcd61c21a9609144f2de89da1601e734ee2c6903f08bf624b217944faaf7'], + }), + ('collapse', '2.0.7', { + 'checksums': ['6c854941a96822d28f2a25d5c205483b86b547b364df1c2e83d17febc8bbfb6b'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.5.0', { + 'checksums': ['51b99e6fe0a1f4c32c860fc24b0164f0ade5d81aee7235e0ef5b5256e2115b68'], + }), + ('Rmpfr', '0.9-4', { + 'checksums': ['cec798f46e6331ef90bf04ee0338cb60d5f566e3f15c4995a2ffc6b504a1a8bb'], + }), + ('scam', '1.2-14', { + 'checksums': ['cc5086aaab35d0e1969760af191ed7e76f97b65a26a9be623ac8cf0c45a93771'], + }), + ('copula', '1.1-3', { + 'checksums': ['9b196cb4f1d6faa46ae6f80a4639b4044c98aaf9dcc02face6e04a51003677a6'], + }), + ('evd', '2.3-6.1', { + 'checksums': ['662c592d3f5c5693dbf1c673d1137c4a60a347e330b71be1f3933f201d2c8971'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6.4', { + 'checksums': ['365a49ac4cc9dc6fb88953214b0e97b019cd1a1a8529c0ef640711c3bb8eec57'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('kde1d', '1.0.5', { + 'checksums': ['b5fab76a394a7819deee10afdff39ac64fccdb844735adfe51c92043016f2468'], + }), + ('RcppThread', '2.1.6', { + 'checksums': ['e9470c5e29e5e07ac5360d165ec96effad9115c03833b25c3acd8cd6809a27a5'], + }), + ('wdm', '0.2.4', { + 'checksums': ['e2d19c04ea2fb9394cc2b61899c7fd21ae7c6d5825bfdcb74822c7243cd335d3'], + }), + ('rvinecopulib', '0.6.3.1.1', { + 'checksums': ['df95d007552e7fa30aefad90a86acf5e14f6fe1e363ed4c71a74d501a08cbf32'], + }), + ('PearsonDS', '1.3.0', { + 'checksums': ['d37f1c38ca0ad457cff6c3e21d1b0c0d5e0d06832c5de3ee11d72b93803b57b5'], + }), + ('covsim', '1.0.0', { + 'checksums': ['3788e91ee7f7fd44b290feb22185637493e8301a64f9511ca80e1ed361c3f44f'], + }), + ('semTools', '0.5-6', { + 'checksums': ['f522ce3c02ac580ad49af7a7278141dae39fdfaeccc7d1379faf1266ce9fcaf2'], + }), + ('GPArotation', '2023.11-1', { + 'checksums': ['e2d71c2ee4696dc39e44b58099be5d5dc8bf0600cc663315ee76f33884354b3f'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.41', { + 'checksums': ['d01b2d2e8caf0f1569f1db9138839e698e17c46020dfaaab8a5496f649c6a863'], + }), + ('rpf', '1.0.14', { + 'checksums': ['e4bb090a810ec4e70a23547f95e1e07ce0229e38fbbbbe22abfad98e9b33f796'], + }), + ('OpenMx', '2.21.11', { + 'checksums': ['152570b9cdb2d6b91f309b352458ed1b29ae2f7ce1f97c091f84c617a14071cc'], + }), + ('matlab', '1.0.4', { + 'checksums': ['1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea'], + }), + ('FactorCopula', '0.9.3', { + 'checksums': ['df1675bb96431417cdbb9000ab80e15e12d82c8ed9809eeb3d7fe7b4855178d3'], + }), + ('rpact', '3.4.0', { + 'checksums': ['447e142f53437c070ad11b04a7d549207635114312147f358249be0d49b83674'], + }), + ('ldbounds', '2.0.2', { + 'checksums': ['a98d8498e46fd814957e7d47a6bf3d27649885ed840c0753469f268b8942bda7'], + }), + ('catlearn', '1.0', { + 'checksums': ['c6ef66257b8a6968599876f53bd431b5d836f125b32cdb829b53fb972ffeffaf'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-4', { + 'checksums': ['796f1424fc75800f1818f427809730f43eb798614ac570af1c301e951b2d3c82'], + }), + ('ggdag', '0.2.10', { + 'checksums': ['66cdb226f63f44268fed0ef596d8849f8b70cd92cec20eb305db52a3bd1fc9ee'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.3', { + 'checksums': ['8a030b5be9c6494b44af9d8cd7a966cc94a41ae0aaecb553fc36de4762749110'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('RhpcBLASctl', '0.23-42', { + 'checksums': ['5c889d5b69e264060b9f1f0383c447f594855b8afc15b7d76d39e4d62b946615'], + }), + ('harmony', '1.2.0', { + 'checksums': ['a63c7d7cbbc5d183e8f919552e9d73044e0a89660856e80861a00eb5d25ac7b5'], + }), + ('apcluster', '1.4.11', { + 'checksums': ['4497da8766802cb18a5729ddb629368a17a967436d696941deb4b21da73e3333'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.18-0', { + 'checksums': ['e06febbe421a6493dff0a3c05b894bb1fffdfb1c4fed576288974f5dae597cc3'], + }), + ('pdp', '0.8.1', { + 'checksums': ['e23db66e5d575337d5c8fd664ccd0548cc85da2aca6613d90ce187be1dca376c'], + }), + ('date', '1.2-42', { + 'checksums': ['5a913f960a0071cf9db05df4de03055a21a1c243b3bdbf846375537a664bcb74'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.3.3', { + 'checksums': ['3fea881f6edfae76016d9135a57eb690a5eedf91a2d3afada6b378352aa75017'], + }), + ('Publish', '2023.01.17', { + 'checksums': ['436cc2bf5cdca1b3fdf892c9d35227f01740f1a4b335ff7b42a37e12c0115953'], + }), + ('riskRegression', '2023.09.08', { + 'checksums': ['e4f08d4ebc19ce6ddb2c1cd9a52191d34f9b57da9498c52db416ef4216985f21'], + }), + ('pec', '2023.04.12', { + 'checksums': ['6552fe9843b0b59bfd97c0db70c1ac5b0291184b498a796803b9dca0dc70ef95'], + }), + ('pammtools', '0.5.92', { + 'checksums': ['ccf9d930521af76d441d82bf08b89e125f237f81df1f50a8152c13c9bf73e401'], + }), + ('relsurv', '2.2-9', { + 'checksums': ['e966435c16c0978d1314867c3b9fbd7170ae7450d60e676d06cc7f8ca3d74d78'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.10', { + 'checksums': ['04cc41be72708dce8d31ff1cb105d88cc9f167250ea00fe9a165c99204b9b481'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-13', { + 'checksums': ['cbef4706aa09e93030243cee3ae4e62b02160d96981020f5a385751eade4f88d'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('AMAPVox', '1.0.1', { + 'checksums': ['00310dd6bce81849e799326efdf49fdc89633d53411d2a89b01586180d5ed4f1'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.1', { + 'checksums': ['aa3f0b3a8691ed93d63bec8f36d2954c6fcfd0b8b3efc705379248544c999363'], + }), + ('logger', '0.2.2', { + 'checksums': ['4f1be7d4381f2fc591f19fdbfb8f3cccbf26c9fdbae104612f6e6d5762a97e22'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.1.0', { + 'checksums': ['ef4fa9fc7e5fd458f84e0337cd08fd66961cb18be4508c59aa480d715e1fba10'], + }), + ('ggfun', '0.1.3', { + 'checksums': ['89232ea73b7bcf3262ce4f66c7f6d05b00c5c79927c9c16d3ba8f816332669ca'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.2', { + 'checksums': ['01bae5759e14e211bddb04413e094ba31399b513989894ea08602d202f990e87'], + }), + ('aplot', '0.2.2', { + 'checksums': ['c7f163fb0010e3a2d742f79d5a220cbfa5be2a40ae577ac56c422f2f59fe8b24'], + }), + ('tidytree', '0.4.5', { + 'checksums': ['d2708e5ff068102262eb3bc0577e34522263d70ed1e291ef196c931b51c89472'], + }), + ('ggvenn', '0.1.10', { + 'checksums': ['cde116f117266cca27d8cd20205512e602c23514db6d97caaa950b9b21fa873e'], + }), + ('scatterpie', '0.2.1', { + 'checksums': ['8b5ac54273f1d4a988e2ee8d3d8c863dc4e6307fe1bddd3019fc13bffd64d971'], + }), + ('shadowtext', '0.1.2', { + 'checksums': ['253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-21', { + 'checksums': ['fa86cb5140f5dfce29f9517b94d6d08c316ddcffa4aa3085945b84d34910134d'], + }), + ('aricode', '1.0.3', { + 'checksums': ['10a739353feb4f552496d3a51d436088c92edbd241f80f7c33ee5f278de1d90a'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-12', { + 'checksums': ['56f8b1bdb392f8fb679a343b2ad5b4656c4f21d4ead85d6d81900d2f8b63ceea'], + }), + ('ggh4x', '0.2.6', { + 'checksums': ['eb7929b4c3167dce644b13d655144b2893e320072e7a998f07c37c4f7d9b2b3b'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.3.4', { + 'checksums': ['f39d1d3d34b4e26694e3916002ea370b2f4e745c0992e718bb024ed03a2b78ea'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.6', { + 'checksums': ['cd9ad4fb83c583009ee45371c7d02d32b33d06238d3f0162b3ba9851e27a6372'], + }), + ('mosaicCore', '0.9.4.0', { + 'checksums': ['e25605d787d274eedd3de8584283c20204bcb7b94f4a409461304ce7cd867d6c'], + }), + ('ggformula', '0.12.0', { + 'checksums': ['d569f83e059f9e4836bd513f92706fb8a614300f744dcc47bf86e8dafd8e776d'], + }), + ('kinship2', '1.9.6', { + 'checksums': ['0150bd5974c2a19885f6ff2e99f3c1f6361054a0910dcfc9dd26a8e0cd73bbf6'], + }), + ('MESS', '0.5.12', { + 'checksums': ['41e07993e67a8aab52d9d4d07a06d654186ac8a8db9b740763ed5d481f01dcf7'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-0.2', { + 'checksums': ['d9e8bd286c4578be76a3dc7a1110bbb751eb8d0e451143273f0ced09878a243b'], + }), + ('webutils', '1.2.0', { + 'checksums': ['51243a1d7843dbb3968e7725c2266e1d68dcec43b919c320033f611ff9ca7f3c'], + }), + ('swagger', '3.33.1', { + 'checksums': ['528369b04c6142112e05ee8b950ca1c01b3e390a4515eacb0fa17db98bafafd1'], + }), + ('varhandle', '2.0.6', { + 'checksums': ['4e7afd3ef77343c61508b0465b588751dc089c264faabf7bed60e9f4d9e1c577'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2-2', { + 'checksums': ['34f2a4236b5c9793cfea2c6367c61146687c277749dbbff0524425a8f335bdb9'], + }), + ('unikn', '0.9.0', { + 'checksums': ['5480f568bd182a96ac6b613347a659b3a506ff540713021692712f0b91c31c10'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('berryFunctions', '1.22.0', { + 'checksums': ['8d8578d746e8e4f7a1deb0b1d49ff8603c5e51504d5fe549bcba54f20fe9d498'], + }), + ('cld2', '1.2.4', { + 'checksums': ['79e04de836812a980406a540c0f022926ba71c2bf5294ad5eaa437a9c33e615b'], + }), + ('crfsuite', '0.4.2', { + 'checksums': ['d5f6379a2bb7fd585fde5945189a6a69e1ef33664fe86828d646f5f4505f8d96'], + }), + ('doc2vec', '0.2.0', { + 'checksums': ['db3853685072554402434ea699d703e01ac7818044cf47a2ee7d0e1040858908'], + }), + ('fastDummies', '1.7.3', { + 'checksums': ['cf6a182f778711b69460b00575babfa573f1578166d83ae2ed932db5fa15a06a'], + }), + ('quanteda', '3.3.1', { + 'checksums': ['628542307d7ac45d4996fbc993a43ed5efcca73d97735ca74a10ccea401d4166'], + }), + ('ISOweek', '0.6-2', { + 'checksums': ['b58a37b61ee772ea2704d510e9fce69dea4dd641b45124d566242825df4530b8'], + }), + ('sentometrics', '1.0.0', { + 'checksums': ['b5c238bb72f36331cb1ed63b581a9a2a73cefc96f80bf770b0e064a89fe31b1b'], + }), + ('tau', '0.0-25', { + 'checksums': ['ff22d4a633957479e0ecdb1c0223df09f9321017aade6a28b2f264fe7bbd8e90'], + }), + ('textcat', '1.0-8', { + 'checksums': ['cb650147576bae9c78381524831c9fcc85c76177274672098aac1860aa39749e'], + }), + ('textplot', '0.2.2', { + 'checksums': ['6e99a204b4be2ccd317978eda900b923e0e0a0f34217405777a0eb5fcc80e2a9'], + }), + ('udpipe', '0.8.11', { + 'checksums': ['522900de24d1f0f4f15e6b26df5521ac6efaf63c5fcfc35171a78275b3633233'], + }), + ('word2vec', '0.4.0', { + 'checksums': ['38c6934ad7c601d6de7fa44a1ecf911ef34609b5c32b67da12a0814124036a91'], + }), + ('epitools', '0.5-10.1', { + 'checksums': ['b418854de1fcedd126f3bf19dc27e8a71ee6efae5371098ab64a53a2d51d164b'], + }), + ('RBesT', '1.7-2', { + 'checksums': ['bde8008b5fc8f0023bdd84b3a14a7425aecf1edcdf79480dac861895de4a9a9b'], + }), + ('svglite', '2.1.3', { + 'checksums': ['f0a8564e6f9127f4d1e05cf5a5f36b4e244aee0008e27473e504c63873ef0a54'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('FKSUM', '1.0.1', { + 'checksums': ['6de23f5b7692f627b0b8e9575a612e77e166c16c28acab31d5ea0a27d7afe829'], + }), + ('warp', '0.2.1', { + 'checksums': ['020ad590de099661aa62b4d5e51499a2ac91c41c61db2dbc71c3f4a3df2c46be'], + }), + ('slider', '0.3.1', { + 'checksums': ['200a26795fadb2058e3976af7a697dde7f120645279cfe2580b8c0d6c0a429b0'], + }), + ('rsample', '1.2.0', { + 'checksums': ['e0c9b7060e0037f4213a5faad73f5910cf97bf93ecba93d35301cbc88cf45eed'], + }), + ('haldensify', '0.2.3', { + 'checksums': ['fc0ee1d5bce54520bad6a1ce1cce5074eead6c8573dc4ce502c48a244d7f341c'], + }), + ('Polychrome', '1.5.1', { + 'checksums': ['6fe7da62459d7b94b1a8516a4626971cf35b76331f46e36798b05d29aa00d143'], + }), + ('shinycssloaders', '1.0.0', { + 'checksums': ['744641836a4cede2bb47caff1b600bff2c3e450dfccd2af4fab0413a8ea87d64'], + }), + ('princurve', '2.1.6', { + 'checksums': ['0216332390eb27013b6ba62232782156dfc99ca640087fcaff53d2be9218f373'], + }), + ('ECOSolveR', '0.5.5', { + 'checksums': ['2594ed1602b2fe159cc9aff3475e9cba7c1927b496c3daeabc1c0d227943ecc7'], + }), + ('scs', '3.2.4', { + 'checksums': ['c3f39874bf4532fa8c2f2e2c41533ba4fe20b61cf6dfc6314407dc981621298f'], + }), + ('osqp', '0.6.3.2', { + 'checksums': ['18543b329a42be0f419dff4aa42f4401c2afb18f46276ce359853494dd803244'], + }), + ('CVXR', '1.0-11', { + 'checksums': ['e92a9638f35f4909e2a29c3b7106081e3dae7ff88b14bb6466b87fbdc80b972a'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), + ('officer', '0.6.3', { + 'checksums': ['e51754029240d66fb1c8e6d524c63a275f6fafa19a22fef90d90c8ceb982777c'], + }), + ('gfonts', '0.2.0', { + 'checksums': ['72e2eead5280b45aadbbd9385971d65e9866fd659270b1c3c1eb98330f024aa6'], + }), + ('fontBitstreamVera', '0.1.1', { + 'checksums': ['3298b3dd95605bdda0c5fce5594c9bedde6aa63d89b216d5c83c6c092b6d375a'], + }), + ('fontLiberation', '0.1.0', { + 'checksums': ['acdea423e005873aa509e280074a3cef4796e4f7e9d77b3945d77b451ea039f0'], + }), + ('fontquiver', '0.2.1', { + 'checksums': ['95871814c2d55c03ee15a54e29aadfb840c791e1430f94127d9e1dc8608a6363'], + }), + ('gdtools', '0.3.5', { + 'checksums': ['8cb46da05b87440aadf6958baa37dd9b62d526c558622285146ea7cc4b51b894'], + }), + ('flextable', '0.9.4', { + 'checksums': ['55ad11660325cf470cedf532df774f99748583eb53c0162e2dede8e1c3539ab6'], + }), + ('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'], + }), + ('cmna', '1.0.5', { + 'checksums': ['7cf99880cb70e8fd0b022184167888b1ad32dca503e0250c1d552a84f0613898'], + }), + ('XBRL', '0.99.19.1', { + 'checksums': ['ad9ebb5431bdfecc38b8bf3b2552f1a048878a9ac02f5a9d71279b3b099a9757'], + }), + ('rhandsontable', '0.3.8', { + 'checksums': ['901ed9c59936f7fa52ad8db3111c8904ab962f9c74f1b6cd40f81683af35d21d'], + }), + ('missMDA', '1.19', { + 'checksums': ['f9675884829b2fef75237c335b21991d163674320e766523c71c7a853f95e65c'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['abind', 'base64', 'calibrate'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2024.06-foss-2023b.eb b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2024.06-foss-2023b.eb new file mode 100644 index 00000000000..0ff705e9788 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/R-bundle-CRAN-2024.06-foss-2023b.eb @@ -0,0 +1,3463 @@ +easyblock = 'Bundle' + +name = 'R-bundle-CRAN' +version = '2024.06' + +homepage = 'https://www.r-project.org/' +description = "Bundle of R packages from CRAN" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('pkgconf', '2.0.3'), + ('Xvfb', '21.1.9'), + ('Autotools', '20220317'), + ('CMake', '3.27.6'), +] + +dependencies = [ + ('R', '4.4.1'), + ('libxml2', '2.11.5'), # for XML + ('GMP', '6.3.0'), # for igraph + ('NLopt', '2.7.1'), # for nlopt + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.2.2'), # for seewave + ('ICU', '74.1'), # for rJava & gdsfmt + ('HDF5', '1.14.3'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.1-34'), + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '20.9.0'), # for V8 (required by rstan) + ('GDAL', '3.9.0'), # for sf + ('MPFR', '4.2.1'), # for Rmpfr + ('PostgreSQL', '16.1'), # for RPostgreSQL +] + +# 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" + +exts_defaultclass = 'RPackage' + +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', +} + +# 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)) + +# 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 24 June 2024 +exts_list = [ + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-1', { + 'checksums': ['ca79ec7ae92b736cb128556c081abf547f49956c326e053a76579889cbcb7976'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.20', { + 'checksums': ['3ffe06a0685123c36cd306b874f89a59a70c864c8f78c5569f82a86abedc21db'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.7', { + 'checksums': ['96204205f51b4d63c2e7a7b00365def27d131f3c9ec66db56b510046e5d2013b'], + }), + ('bit', '4.0.5', { + 'checksums': ['f0f2536a8874b6a30b80baefbc68cb21f0ffbf51f3877bda8038c3f9f354bfbc'], + }), + ('filehash', '2.4-5', { + 'checksums': ['3b1ee2794dd61e525ee44db16611c65957691d77bb26ae481eba988bb55da22c'], + }), + ('ff', '4.0.12', { + 'checksums': ['08af355a9a10fe29d48d085abc7cf1f975e1a4a670668a4f8d9632d087fb41bf'], + }), + ('bnlearn', '4.9.4', { + 'checksums': ['ce3d8d89451fed9277f879c03bb02bc17acab13f1f35587aab8175b80246eeea'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-42', { + 'checksums': ['a17f452a94fc3964c939c5b147ad6d4f326a0990493519d376d6700cf733a134'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.14', { + 'checksums': ['4ebaab2c3f8527871655246b62abd060bc75dae1cec7f962ca4752b8080f474c'], + }), + ('gtools', '3.9.5', { + 'checksums': ['dee9b6c1152db1a5dc427d074b32bbbb738708683f17a95e0e95e4d79fdf174b'], + }), + ('gdata', '3.0.0', { + 'checksums': ['a456b9921765a705fe8e51780dfbbc6ca005abc948b2f80effeccd468601b17f'], + }), + ('GSA', '1.03.3', { + 'checksums': ['5459786190f40339addc45e7bb58c6a983548aa8feac7277ea7ec0662c5a282c'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-18', { + 'checksums': ['99441bcae2dfbf450eee91f3ec969d416c225f671ac54459c50536916890f00a'], + }), + ('kernlab', '0.9-32', { + 'checksums': ['654ef34e343deb4d2c4c139a44e5397d6e38876088ce1c53c7deb087935d6fdc'], + }), + ('markdown', '1.13', { + 'checksums': ['385421c674cf5bf2ba04d1df7c16bb5d857bec03755a36321999ac37f5b3cfd9'], + }), + ('mlbench', '2.1-5', { + 'checksums': ['4dbfd652adda7c0caf544d3a6cd23a2ee97c22faefe4d15b8a6782061cc9e76f'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '6.1.1', { + 'checksums': ['ddd7018e5e6ea7f92c7fc9872b391491b7e91c2cd89ef1dcaf4408afb5116775'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-61', { + 'checksums': ['3144c8bf579dd7b7c47c259728c27f53f53e294e7ed307da434dfd144e800a90'], + }), + ('lattice', '0.22-6', { + 'checksums': ['4b377211e472ece7872b9d6759f9b9c660b09594500462eb6146312a1d4d00f7'], + }), + ('nlme', '3.1-165', { + 'checksums': ['fc37bba493c2138be2f38fcfd2a67327d81ab91a37bad6f698226bb400ec9499'], + }), + ('segmented', '2.1-0', { + 'checksums': ['6d7ba0248cb5aa23dfdfc3fc53b6aab2f564323c671420fc73c5274e03640cf2'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3.1', { + 'checksums': ['8174afebaf239dfda979c8c7e1e219624576d577c983ae787fbd2785b4ccd15c'], + }), + ('pspline', '1.0-20', { + 'checksums': ['eaa7cd9b870d5d10cf457c435ebcbe698ba0d463e3a996fbe758a4b57b93eb8a'], + }), + ('timeDate', '4032.109', { + 'checksums': ['402841bda47e8c31f49773de2ff5447e9780bc7c8af5fb18be9287b546fcb958'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-13', { + 'checksums': ['e3dbc641a0497575b45a4140dadc6bf43cdf39b02393f93f1b0ee4f4d026e711'], + }), + ('sp', '2.1-4', { + 'checksums': ['e185e7fb61d2d7dbc50fd765a93e170fa778083a653588db1f5e99d019479f0a'], + }), + ('hms', '1.1.3', { + 'checksums': ['e626f4c60af46efd53ea631b316a103e089470d8fd63c0e0c0efb99364990282'], + }), + ('progress', '1.2.3', { + 'checksums': ['ea2b079b894de85c3ab12088c9c52aec06432245047a961d5b4b8aa6889f9276'], + }), + ('RcppArmadillo', '0.12.8.4.0', { + 'checksums': ['cabf6865073204c184ddad4dec1f30aae1b8020b4c9d6e74d1a6b0baaef03046'], + }), + ('ade4', '1.7-22', { + 'checksums': ['007df54e83a2a6cb8d6da8006f0aace011e7eaa7744dc5f8230ac2c002b393b4'], + }), + ('AlgDesign', '1.2.1', { + 'checksums': ['5989626c526bd7c3d9bdda326c962056879be03392065a0b7ddb9b8cf9309d05'], + }), + ('BH', '1.84.0-0', { + 'checksums': ['6fb660755f572cd975073d7052075654acf8db12d208954ca223b8e4f77ef1ac'], + }), + ('Matrix', '1.7-0', { + 'checksums': ['fb97bba0df370222eb4f7e2da2e94dd01053b5e054b1c51829ff9a6efc08ad37'], + }), + ('Brobdingnag', '1.2-9', { + 'checksums': ['f9012d250bc2a0f47815d6a7c06df2d4ddf3d8bab2d3b75e8cdefd964d20e91e'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.5.0', { + 'checksums': ['0d3ed9db8f1505e88967f48d669b2a257e0c6b7e6320ea64b946c1bd40897ca2'], + }), + ('checkmate', '2.3.1', { + 'checksums': ['e7e6ba0cca400137f352a599ea29cf35a83f40a5ad26e7c4f06e6c35471884f6'], + }), + ('cubature', '2.1.0', { + 'checksums': ['5d82785609611200d5bea069b93b0bf75bafec808f7eeef7b052eb516f273665'], + }), + ('DEoptimR', '1.1-3', { + 'checksums': ['8dd8a61b07b02022493d7021dc62ef2c4dc2d596cff897846713c5f8dd784694'], + }), + ('fastmatch', '1.1-4', { + 'checksums': ['9a914cac9c1ea2984bd44eebe421e1636504907a8064ae26347fe3ec2b9bd56b'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.2', { + 'checksums': ['53e57b889f1779cfd4a116a8ed3eded7ed29a73a1b9506248772a389c8404b0c'], + }), + ('nnls', '1.5', { + 'checksums': ['cd70feb286f86f6dead75da693a8f67c9bd3b91eb738e6e6ac659e3b8c7a3452'], + }), + ('sendmailR', '1.4-0', { + 'checksums': ['5b8b91fc13f6b07b9fc5a2cf7591cf760fad47c5ea17d87a2891898c506454ad'], + }), + ('dotCall64', '1.1-1', { + 'checksums': ['21b8d7d747c07aaf8a82d61ec98fe0539afcaa5a565d9c2fc55be65b6af2c91b'], + }), + ('spam', '2.10-0', { + 'checksums': ['719c86a23801ecf051ffd8291912ee3567af4010e74af470fbf09e274728ac79'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('logspline', '2.1.22', { + 'checksums': ['773af7a2f12bce0eac30a036bd61bafd9a2b0eb083e377f4ef4e5518a463ed02'], + }), + ('ncbit', '2013.03.29.1', { + 'checksums': ['847f570c035d849e775c1cb922d2775e6c535971eb4429cf62904319fd126504'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-4', { + 'checksums': ['e6a22d93ab61c67af21cbbe1fe333c06934cf576a44745bf2beee59bceaae8d6'], + }), + ('randomForest', '4.7-1.1', { + 'checksums': ['f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6'], + }), + ('scatterplot3d', '0.3-44', { + 'checksums': ['1c9c08348c3ed925f59df40cb73accc9e1a169ccfb1e8571f105f40fa98e6ec2'], + }), + ('SparseM', '1.83', { + 'checksums': ['f07e5d5cf181ff5c878a5d747bd77fb7cc45e8da5d7395d1ddbb82492eb7095a'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.5', { + 'checksums': ['d9928644a5a7e94838558d73afaaee8a914fd26fe68f691ad103331632060bf4'], + }), + ('rJava', '1.0-11', { + 'checksums': ['9ea0ccf5553d86f7de8649a8324766c4f0810f35b7be561640dd87fd37986417'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-8', { + 'checksums': ['5a36fabb6d62ba2533d3fc4cececd07891942cfb76fe689ec0d550d08762f61c'], + }), + ('jpeg', '0.1-10', { + 'checksums': ['c8d9f609c3088f91ec4853d6cc0e66511038a465811dea79ca6a0c09519178ca'], + }), + ('deldir', '2.0-4', { + 'checksums': ['d418acb28ec3707b6d64c7466d0cefbb49b098537f37558d8f7a5befd34a4653'], + }), + ('RcppEigen', '0.3.4.0.0', { + 'checksums': ['28d4a02011129f9b7a2a2bbe69ec4cca7676b072d5aca9dc1cefa8f96af45136'], + }), + ('interp', '1.1-6', { + 'checksums': ['3674044e5334ecdf124054303929c084fc0797d3123e28576a230492ea6ecd34'], + }), + ('latticeExtra', '0.6-30', { + 'checksums': ['c550a76913624818482bf237d48883c58e368ba356ced8ed5e76146672279eed'], + }), + ('plyr', '1.8.9', { + 'checksums': ['15b5e7f711d53bf41b8687923983b8ef424563aa2f74c5195feb5b1df1aee103'], + }), + ('gtable', '0.3.5', { + 'checksums': ['b19fc1a30359945adbab7d4e915fe95523a839c380e34ae705d70b7ebddeea72'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0.1', { + 'checksums': ['a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081'], + }), + ('colorspace', '2.1-0', { + 'checksums': ['04078abb6b54119c90dc7085d62916bf292ccb163e213f9ea70567d1be82614c'], + }), + ('munsell', '0.5.1', { + 'checksums': ['03a2fd9ac40766cded96dfe33b143d872d0aaa262a25482ce19161ca959429a6'], + }), + ('labeling', '0.4.3', { + 'checksums': ['c62f4fc2cc74377d7055903c5f1913b7295f7587456fe468592738a483e264f2'], + }), + ('viridisLite', '0.4.2', { + 'checksums': ['893f111d31deccd2cc959bc9db7ba2ce9020a2dd1b9c1c009587e449c4cce1a1'], + }), + ('farver', '2.1.2', { + 'checksums': ['528823b95daab4566137711f1c842027a952bea1b2ae6ff098e2ca512b17fe25'], + }), + ('scales', '1.3.0', { + 'checksums': ['b33e0f6b44259551ce02befd52eac53602509fbfdd903920620c658c50f35888'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('mgcv', '1.9-1', { + 'checksums': ['700fbc37bedd3a49505b9bc4949faee156d9cfb4f669d797d06a10a15a5bdb32'], + }), + ('isoband', '0.2.7', { + 'checksums': ['7693223343b45b86de2b5b638ff148f0dafa6d7b1237e822c5272902f79cdf61'], + }), + ('ggplot2', '3.5.1', { + 'checksums': ['7c58b424f99b3634038e6f6d1fe4b0241b8aecb50e9c50466d5590f7e3144721'], + }), + ('pROC', '1.18.5', { + 'checksums': ['5593c841a6df5a2f2d209d0c14401971eb9427092ed9c3ac2059273807b42c89'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.15.4', { + 'checksums': ['ab8065ff946d59ecaaf5eaf91a975495c07c30caad97a71205c72e41a740cb53'], + }), + ('BBmisc', '1.13', { + 'checksums': ['1145dcf9fed15e7beeaa4a5c7075d8a8badd17c8246838cd63e40cd9551e4405'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-8', { + 'checksums': ['66bed3543337535fe2cf2d3eee4165472599c14d3c5e4402f7a1ebf5112c75c9'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-43', { + 'checksums': ['9b0a996d013cce4f457abdbdc54bd2f8f4dbe4ef0b33e0a53925509c509d5287'], + }), + ('pls', '2.8-3', { + 'checksums': ['e6eb728dd38cd4867698df06e02601ed767e69098b1daadde5beef634ae66be3'], + }), + ('class', '7.3-22', { + 'checksums': ['b6994164e93843fcc7e08dfdc8c8b4af6a5a10ef7153d2e72a6855342508d15c'], + }), + ('proxy', '0.4-27', { + 'checksums': ['249991a4c4d70ad139e93f3a24e17f161ad1ec854951813ea192daf79478563f'], + }), + ('e1071', '1.7-14', { + 'checksums': ['754d97ab073acc07b909a190f87f021e31e07269c8632c53166a6c2843e65195'], + }), + ('nnet', '7.3-19', { + 'checksums': ['a9241f469270d3b03bbab7dc0d3c6a06a84010af16ba82fd3bd6660b35382ce7'], + }), + ('minqa', '1.2.7', { + 'checksums': ['76f3459d1ed860d5095b1d89d41628fc7187e72506cf48f073e15724d9e52fe2'], + }), + ('MatrixModels', '0.5-3', { + 'checksums': ['c2db5406c6b0b9d348b44eea215a39c64fc087099fea1342a04d50326577f20f'], + }), + ('matrixStats', '1.3.0', { + 'checksums': ['413ee607d95b243c514b4a7c4944c2caea1fb264d27c96ff547c3939f893245a'], + }), + ('codetools', '0.2-20', { + 'checksums': ['3be6f375ec178723ddfd559d1e8e85bfeee04a5fbaf9f53f2f844e1669fea863'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.3', { + 'checksums': ['75046163bfa8b8a4f4214c1b689e796207f6447182f2e5062cf570302387d053'], + }), + ('tidyselect', '1.2.1', { + 'checksums': ['169e97ba0bbfbcdf4a80534322751f87a04370310c40e27f04aac6525d45903c'], + }), + ('dplyr', '1.1.4', { + 'checksums': ['cf730414d5d4ab387b4e9890a4b1df9d17a3903488e8da8df1cf2e11e44558cb'], + }), + ('gower', '1.0.1', { + 'checksums': ['296a9d8e5efa8c3a8cc6b92cf38880915753afdef30281629af9dc8eae8315fc'], + }), + ('rpart', '4.1.23', { + 'checksums': ['f9b89aed6aa6cea656a2dcb271574e969ce2b1c98beb07bd91e17339f6daabaf'], + }), + ('survival', '3.7-0', { + 'checksums': ['cd96b08ec928b0028f69c942cc788e190b4543c8518d71deb6d8a712de44feef'], + }), + ('KernSmooth', '2.23-24', { + 'checksums': ['d0b3ec39547ffd92565e91b0c3bb637f3b30e7a46afe416d8790b8c4f528ac5f'], + }), + ('globals', '0.16.3', { + 'checksums': ['d73ced94248d8b81d29d774bdfc41496274d7da683a5d84440aed6a501a18c5b'], + }), + ('listenv', '0.9.1', { + 'checksums': ['422aaf487b91c6512b83c05536f8dac255db79b16ee85254acc59a3fda8c1c3b'], + }), + ('parallelly', '1.37.1', { + 'checksums': ['df7e4eb18df8a30c87cc651bdc2e6ded20736c3484984facabb89a98e07a36a1'], + }), + ('future', '1.33.2', { + 'checksums': ['b5a71ac628cdaeeb26e3fc41003d2c5bd48156da881cabd9b14878991324aa66'], + }), + ('future.apply', '1.11.2', { + 'checksums': ['f4a635b0fa5e0d826d2f8da6bc1fa5bb055e640c29a85c644931d08ab2d81387'], + }), + ('progressr', '0.14.0', { + 'checksums': ['9a2899f879a5577f043be99c18d52bfe4d655cc52a96cae834e8a301b36258af'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.8.0', { + 'checksums': ['8db996eeca012c58736f2d3b97f569c03e9361e20f31513c090a9386eb87e87f'], + }), + ('shape', '1.4.6.1', { + 'checksums': ['43f9bd0f997fd6cf1838efd8b2509c9a6396513f4e54a20360481634affd22a4'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('prodlim', '2023.08.28', { + 'checksums': ['8002229f38bbe42e26b88ac542d9c028a9dbe8fd3b80af7552060bec3a555de8'], + }), + ('ipred', '0.9-14', { + 'checksums': ['81c83dc847d09c3db52ef15e36cd4dac38c50eead1008ddd458b9e89d7528f35'], + }), + ('timechange', '0.3.0', { + 'checksums': ['d85c0b5514ab9578d16032e703c33f197feaed1a424c834ebfcbf0ad46ae46b4'], + }), + ('lubridate', '1.9.3', { + 'checksums': ['2b6e1406d231b0a14d60b99cc406d159fea5465a5694725ad25343f12cf37fff'], + }), + ('tidyr', '1.3.1', { + 'checksums': ['e820c261cb5543f572f49276a7bdc7302aa4215da4bf850b1b939a315353835d'], + }), + ('hardhat', '1.4.0', { + 'checksums': ['46d023ddfc8f940cd889478fa91c42e894a0df58a10f3b6c0eb688a500b2b3ad'], + }), + ('tzdb', '0.4.0', { + 'checksums': ['4253c66041bdddfd463c98183bf0052fbcacdb7c5cff9eadbb858b3dcf9d3a23'], + }), + ('clock', '0.7.0', { + 'checksums': ['54e57a3b3f8c308d67536e2a75d48f3493cf7fe821bfa4da9159b4fb2ceca874'], + }), + ('recipes', '1.0.10', { + 'checksums': ['cfc5bdf7ec23c65f94730af8a53362fcc9a765988c5749f1568503bf8e4c9bd4'], + }), + ('caret', '6.0-94', { + 'checksums': ['2715e83ca260bb739cd926a55b0d2da1e3f6308b17b56862466e738d930d29a8'], + }), + ('conquer', '1.3.3', { + 'checksums': ['a2c6155ed74af0e2a279145843ec5229ae2f3707aa25169ae030c520aa97deba'], + }), + ('quantreg', '5.98', { + 'checksums': ['a98cb259d8cf563f66a25ae8858794e574dd40de6206816ad61b1ffeb9686a61'], + }), + ('robustbase', '0.99-2', { + 'checksums': ['b6a69628f7ae36b5eb553412365afb3227fde2f7b64000cfad77ba3562fecd44'], + }), + ('zoo', '1.8-12', { + 'checksums': ['e6c3862668f9e3422bced3b6fba485c76a1e91b48f5d6153822d6a61863b2fb8'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-12', { + 'checksums': ['c931ef115529931cddb1d5caec4d4d3569ebf12aadde719b2f5019812c9ded88'], + }), + ('snowfall', '1.84-6.3', { + 'checksums': ['2641932b01041e34b7afb1261f649755b4c8d6560080e0e2ee549ffdf3b8b143'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.3', { + 'checksums': ['662dae785aee715855415f4e743281ccbf0832e426084dc2f0ca9c9c908ec9fa'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.1.1', { + 'checksums': ['95fca70378af0afd5a388982ba5528f5b27e02157eeb9940a0a9762d11511308'], + }), + ('foreign', '0.8-86', { + 'checksums': ['a729120108b29ca9744cadd61e3e6a9dc4188a007055c22b6b9a30a676e8c3e1'], + }), + ('psych', '2.4.3', { + 'checksums': ['718d82cacc70be0b4eb1b4a4973b38ee44494bb854b25081b07692307c3a8445'], + }), + ('broom', '1.0.6', { + 'checksums': ['24cf36248dffbde38d3d81befa679e362bfd0526b9843bc536a85452a19fbccf'], + }), + ('nloptr', '2.1.0', { + 'checksums': ['5ead4257c9ec20045644c1d80a2bbbfef1aa9bfb8c2bbba189c56a7747eb6fac'], + }), + ('boot', '1.3-30', { + 'checksums': ['5509d62bd6e6c21b6ef352ab7846d89027bddbfb727fd0cf55da59558bd3fe97'], + }), + ('statmod', '1.5.0', { + 'checksums': ['d61c3ef9b09d55b42e038f8d767fa483ebbdec2a9c7172b1b0ccda0ae0016ec9'], + }), + ('lme4', '1.1-35.4', { + 'checksums': ['589ac3273ff1c9d6fefe7a4f38c4ecbe4e023f57f02826ead29ed29e3d0799ff'], + }), + ('ucminf', '1.2.1', { + 'checksums': ['ed3ebba3d99a324444bd521d7aeb9f87344f44f170d67f77dab18dd3fbbfcc83'], + }), + ('ordinal', '2023.12-4', { + 'checksums': ['f5582ad983dfd2ffbaf1e90b49af6f2cc319953d1fcb33f31c6c6f335cbd9fa2'], + }), + ('jomo', '2.7-6', { + 'checksums': ['3ffa2a5521d4969fe77b23cd3ab201afdf8db3f8f708b1276c33083c01d7e2da'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.6.5', { + 'checksums': ['7bdca21e58c9c5049d7445d182f59fd399193cb2f4318d083de0a559ec9b5761'], + }), + ('readr', '2.1.5', { + 'checksums': ['0fa65a5fe0a46cffe221b7696b52adb82dd4d7a692a895484e438e439594e10a'], + }), + ('forcats', '1.0.0', { + 'checksums': ['c5bb157909d92e1e1a427c0dc5cb358ea00a43a14918a9088fa4f6630962254e'], + }), + ('haven', '2.5.4', { + 'checksums': ['9e1531bb37aa474abd91db5e0ed9e3a355c03faa65f4e653b3ea68b7c61ea835'], + }), + ('pan', '1.9', { + 'checksums': [ + ('e37e184c3c1b7a34f54dd95335e6bc730fd5716d2d2dc20c24279401aa673c52', + 'cd91232d653783ea7f34c0eebaa80c472b5501b21eea500c4c1a8e57116c6eea'), + ], + }), + ('mitml', '0.4-5', { + 'checksums': ['056aec823187cc3793640d8a5e74d74093bae74260a975ceb098a83a52e2eeeb'], + }), + ('glmnet', '4.1-8', { + 'checksums': ['1ddbe5ce07076d1bdf58b0202ebd0ceac8eeb4796c5175681adb9e58c30ddcfe'], + }), + ('mice', '3.16.0', { + 'checksums': ['29f0285185a540337e9dde2357690c82d174f115be701ee2f0a7083173a44040'], + }), + ('urca', '1.3-4', { + 'checksums': ['fe3d6ce5041f1e7caaf3137dfb6187640bcd2d208e19c59ee1202355ac0acb16'], + }), + ('fracdiff', '1.5-3', { + 'checksums': ['0f90946b4092feff93fad094a2c91bb47c8051595210e86c029c70238dbf7fc0'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.26.0', { + 'checksums': ['f916e568c8c64fc48695c72214439267c02310c6c68d3ffea5708ec00e80190b'], + }), + ('akima', '0.6-3.4', { + 'checksums': ['95657592a81d2e3628cb054b60127827ae64e65c58b77d059aa510bc6781ad3e'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('crosstalk', '1.2.1', { + 'checksums': ['680cf08416d6d5a1194dd85ee5695c268af9d4d01b201448e1d486c6e06014f1'], + }), + ('plotly', '4.10.4', { + 'checksums': ['cfa995b7ed55d31a196707a3ae6ea352dd907cef3058a3bf1956fde39366d867'], + }), + ('mixtools', '2.0.0', { + 'checksums': ['854e7482230b9a5dde61bab191b78e06aa8f9b0cdfe3c03e046afa133b317e0d'], + }), + ('cluster', '2.1.6', { + 'checksums': ['d1c50efafd35a55387cc5b36086b97d5591e0b33c48dc718005d2f5907113164'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4.1', { + 'checksums': ['f4b451d86fbb56ff9ade043ddd6b0944368c37d0dad12d02837750ecdc708ad6'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.2.3', { + 'checksums': ['cf6708a7566a80929f06575aa345fae354714159ed5fab5db14306fc5d0d2dbe'], + }), + ('gam', '1.22-3', { + 'checksums': ['66cd688e3b86b9a4ee8ec565ebc8a19aa45e0a282e6de40ef2b78d6846787194'], + }), + ('gamlss.data', '6.0-6', { + 'checksums': ['bae0db19d95500b3f49f855d4ebd3ddb071c5e2d9104b27e0a73865f4909ab22'], + }), + ('gamlss.dist', '6.1-1', { + 'checksums': ['d2db3a7658799c2ef212aa18cb75a3ecf4f73faf8c13dfdc3c14b21ae0129069'], + }), + ('gamlss', '5.4-22', { + 'checksums': ['01e6908df92691147b884a8d58025473e18d7bf58d5f5a2d7e4f18b2a451fe2d'], + }), + ('gamlss.tr', '5.1-9', { + 'checksums': ['e90ce51be60bd00c00d8463912d26f40080bbd8f24c4254fc77d59925368b7e4'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.14.0', { + 'checksums': ['d28b16eefa9876a815bad3fc204779c197e3a0d7796b8dae8856fe153f5fcfd9'], + }), + ('TTR', '0.24.4', { + 'checksums': ['89732b9c359bae2f41cd23db649f0897c10fab0702d780c4c25a997322710284'], + }), + ('quantmod', '0.4.26', { + 'checksums': ['396c5d3241f77911d9f7738a60a9d728ed25b3dbce2fd92f5b11f9fcbcb8bb98'], + }), + ('mvtnorm', '1.2-5', { + 'checksums': ['9e7882a3a24d5e288097466ed77fd6bb9e5fdfadfdfed953367b1d0667e3eda6'], + }), + ('pcaPP', '2.0-4', { + 'checksums': ['d6c5670611d92ffa11904746a62191e6bcf294fb96afee10cb25ebbbd8458133'], + }), + ('pscl', '1.5.9', { + 'checksums': ['8085ffd1987804793ba44637165fba3e6805aa2f6457f0692b6e641658fe6efe'], + }), + ('blob', '1.2.4', { + 'checksums': ['d08922ebc4147d930fe4762b1b289935217308c6d3fcaa5ae028ce3f5cf2728f'], + }), + ('RSQLite', '2.3.7', { + 'checksums': ['25e0572589e64264fe4e5d0495f5d85d977bacbb93a3fc631ede5b078db294ce'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.1-0', { + 'checksums': ['96b0e105ee50391a1fd286e9556ba6669f08565fa30788b1a21bc861b0a023fa'], + }), + ('sfsmisc', '1.1-18', { + 'checksums': ['33052ea0e9b7f2b8f079b2adbf58bd89a39b49e66a352df85191cc01adc483ad'], + }), + ('spatial', '7.3-17', { + 'checksums': ['f1003ed8cff2a47169a4787c8be46e8c2c501cc06c8b1e5f97bf62507e5f5dd7'], + }), + ('VGAM', '1.1-11', { + 'checksums': ['de9d909bd2bcfccf55d24f96999e0780ca45ec29030e227a722eb24e378b33a5'], + }), + ('multitaper', '1.0-17', { + 'checksums': ['3430ca62be2ee491d29b05e461647327a8977743241af2d3c39277c920170af3'], + }), + ('waveslim', '1.8.5', { + 'checksums': ['1e98a823075e34fd80a3613ae62e731915bdb45bb8cf4b249f5be7a90d00a775'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.40', { + 'checksums': ['8c09ae6bb6875b569b9844eede30b790f39fc227f5c9d045fa63ce1b22f500ef'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-56', { + 'checksums': ['a81efc7c4fcf11b14de607a8f506914fb63a9dcdcec1a11138a456234bfafae8'], + }), + ('fastICA', '1.2-4', { + 'checksums': ['ed6988ea410d1a75bf4f4925edcac5a660a417e33ba0a939bc0351e534df5f2f'], + }), + ('R.methodsS3', '1.8.2', { + 'checksums': ['822d5e61dad4c91e8883be2b38d7b89f87492046d0fe345704eb5d2658927c2e'], + }), + ('R.oo', '1.26.0', { + 'checksums': ['f7602b388c2216fbb4d1a31d4040ed92b40dc83d3e3746db7011637db4d44365'], + }), + ('cgdsr', '1.3.0', { + 'checksums': ['4aa2a3564cee2449c3ff39ab2ad631deb165d4c78b8107e0ff77a9095340cc1f'], + }), + ('R.utils', '2.12.3', { + 'checksums': ['74d6e77a95a23381a490fea54be01b653d4b938a2dc75e749a694ab48302c40c'], + }), + ('R.matlab', '3.7.0', { + 'checksums': ['d713522268a1206555610938350137ea022e07e27fa9cdd73c02fae8d1a43dda'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.9', { + 'checksums': ['9d88fa1d584afa58189bad47406ee9126390cbc869c041cea0247cf26645ade4'], + }), + ('Formula', '1.2-5', { + 'checksums': ['86254674600d64e18b65d52f42d7ebfc217c8e1945cb63ac06da22cbf04d355c'], + }), + ('acepack', '1.4.2', { + 'checksums': ['5bffcd12b783f372bb6c50e35317744ac31597c91b6433442a7b0dce2f66ac91'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-61', { + 'checksums': ['a096957625a0438075b3486322ee07c753c7c4ba3efcd04a3ac92476d6c43b9b'], + }), + ('viridis', '0.6.5', { + 'checksums': ['862b5cb6be115deea0207cdd3c8bb33de28552cfdc29900777512fd488d0005c'], + }), + ('htmlTable', '2.4.2', { + 'checksums': ['6a83dd6172c13cad4a74f2660db94565814aaf8500237e2c418216be6db7360d'], + }), + ('Hmisc', '5.1-3', { + 'checksums': ['3c61772ff7a78ca5855189faa810c74117dc5df240103adc6e90eb94e9c605eb'], + }), + ('fastcluster', '1.2.6', { + 'checksums': ['852a05458fb0b64497e9cf8f0182b599d1c2b1e9af03ec45f7c0c9280c1f8d19'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.5.1', { + 'checksums': ['f3c1a0a4e666c4addd73ff13ce8ce073d73d10ebca36d333328ade8a0b493ed1'], + }), + ('pkgmaker', '0.32.10', { + 'checksums': ['972b0473a64408ccc4841fa3f09a567cc32811e69c3c7e42a2f391a5eb2e2933'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5.1', { + 'checksums': ['2cfe6384fef91c223a9920895ce89496f990d1450d731e44309fdbec2bb5c5cf'], + }), + ('igraph', '2.0.3', { + 'checksums': ['8e8a172d4567219474562cfb1085496be3ab356483c4e88011aca1fc3b2d8f76'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.8', { + 'checksums': ['24ce729979e1bcc60317e71e5100ce54156ceb7484917b0d64260f733ae84d24'], + }), + ('RJSONIO', '1.3-1.9', { + 'checksums': ['f173034b0c28873f417ee804b9e278aedd92e76eb56c7c6d71b1c02fa1193ece'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3.1', { + 'checksums': ['1ae1de94f27583ad84543a15f042b8dbd0850c56447929c7157787d755211af2'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('seqinr', '4.2-36', { + 'checksums': ['931a62a091a7aaaa5efadb1fe85f29e861e2506b75710ba3a6be9b58cb14b225'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('gmodels', '2.19.1', { + 'checksums': ['bb57b83274dcc6c62eeb0d0b041d81ed19daca927bcd3872c4667ccfe3e9888d'], + }), + ('expm', '0.999-9', { + 'checksums': ['83a1234aca8d3c4f7c6a1101a8ce8b56aaca924e7283880fa2667b38948ffed4'], + }), + ('terra', '1.7-78', { + 'checksums': ['658956b79d8a1371aefdf7300316f1756b58d436ba549ade012307684b2d4b7e'], + }), + ('raster', '3.6-26', { + 'checksums': ['c65777225a46ada699e70098f54c60cf191d15e454fac9440aca439a4dbd5592'], + }), + ('spData', '2.3.1', { + 'checksums': ['8c377f2123b7b274c5ca0de656ccd30aaba1b5b245be58a842395311ecc70075'], + }), + ('units', '0.8-5', { + 'checksums': ['d95e80af760b053e10a1e33ce1f0c1280a84e84bd4b1d9c34d1fe9fc153603b1'], + }), + ('classInt', '0.4-10', { + 'checksums': ['c3561eafbc493ac02840191d4f1e4d2ef437ca8eb20f41fc5eca28f00ee42b8b'], + }), + ('vegan', '2.6-6.1', { + 'checksums': ['7d2a5e700a6639bef203d6e35dfe6e8cc1dd7440957334317b61a9dafbb90b60'], + }), + ('rncl', '0.8.7', { + 'checksums': ['1d876e4f5f2b8a24cc3ea1002c29eedbc0ca96011b0fa15b085e5b75cfc7993a'], + }), + ('XML', '3.99-0.16.1', { + 'checksums': ['a30ae3a3e0d559a2b84b118aa185ef9c42adcf644bf042569f6d192762d2eec4'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.4.1', { + 'checksums': ['192f2fef6341e43bd56ef4f9841e813e07be990f4ffcf38c5606259630efe0f7'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.4.2', { + 'checksums': ['405c77f191f30ffdbf8c05542ff5dff61059e9c731d2dc5ff0bfccb616314147'], + }), + ('bold', '1.3.0', { + 'checksums': [ + ('0ead11d4386c4c0cd578d3a956f809db2001e387e449a431b4ad503f3da38f5f', + '4920fbebd22fb1d0f1a31ccc09c98aec446bb6cb5f65a2610437e405c0512c68'), + ], + }), + ('rredlist', '0.7.1', { + 'checksums': ['92a10c37a211dc19b41b93f9ceb13d7ce1c3d3a7290cbba4c1688d944353ae85'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.1.0', { + 'checksums': ['12baeef897c835d20a4d84cf058a3d3d09b89202f7ec0325140cb7754ab5635c'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.3', { + 'checksums': ['32b918f921a318078712ce6647e1b19cd7a9c550df8c37cb3d839277431fb9ad'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.7.1', { + 'checksums': ['6ee69561f304edf13c67b4cabca3688eaf1b8b10acf82257c39b351aa91bb222'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.7-2', { + 'checksums': ['aeed8c8c308c7e3827daf10b01b8ed4b88c1d68cea57d72d67c600c0ce0dae13'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.11.1', { + 'checksums': ['10096ecae03e118aa4dbc60d9866175fad4849c948e004cf10c3868e3feed420'], + }), + ('uuid', '1.2-0', { + 'checksums': ['73710a14f812e34e891795b8945ea213f15ebcaf00b464b0e4b3fa09cf222afd'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.11', { + 'checksums': ['246913cbb0e816401bb8e37dda20646202547f5cc8379c9dadf832f61d6cfd46'], + }), + ('phylobase', '0.8.12', { + 'checksums': ['9b81ca60dc6215e74b720880cc2db3abc1f7e6d8785ea7d7df95a950f0778f20'], + }), + ('magick', '2.8.3', { + 'checksums': ['932b522d2e9199f50f391266b7f7cb22ca20ca8d5cedbeff12113f5cb445c079'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.8', { + 'checksums': ['029a4ed24aa17636a20b83857d55fe6a9283acb8b647cbc75280dea8ec987771'], + }), + ('bigmemory', '4.6.4', { + 'checksums': ['fe3f576c0d87fd2820c0f436a202261dff353e50e5b86dd9c80fdea7ad60002d'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.8', { + 'checksums': ['0f842256582ab41bcd00ee08ea6d7e231ff362fe0156a53347873e9636f73a70'], + }), + ('dismo', '1.3-14', { + 'checksums': ['67a0f2e95562dd2aa612d52dfffab86985b52591a5ed7891b58b26667b394cd7'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.12', { + 'checksums': ['0b4b7a303990369a6944de817b6bd220b400942fcabf42c04fb5b56f1b40a583'], + }), + ('extrafont', '0.19', { + 'checksums': ['4e8f90152df13fc5dee573222a26b4d66553493fdf6af1c7777e59521ccdab8d'], + }), + ('fields', '15.2', { + 'checksums': ['1f270f2331522ef93e04a8b199dfab17995ac02aaa0a68eeca90fef55f6cad3d'], + }), + ('shapefiles', '0.7.2', { + 'checksums': ['4bfa4094c1052c1b1918b1670798f8b4e53f771cfdf9cb8c04bd00a856674d0f'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('optimParallel', '1.0-2', { + 'checksums': ['0f9bc62c23d9005130f2892bf5eaecf308fa48a727bdd5e19b7dcd1d95f30a9d'], + }), + ('DEoptim', '2.2-8', { + 'checksums': ['631eabdcf26ec25a759651f699db1971beca3ae193c7fbd1c63a78248fdbf54c'], + }), + ('phytools', '2.3-0', { + 'checksums': ['973020a695be3fef94a37d7d6732d9352b66e44d30feb554d267b6aeb646d081'], + }), + ('geiger', '2.0.11', { + 'checksums': ['dcc5a0a988439110078867e0aaf09b048e27db7f02e4cbdfe35783611fde3f69'], + }), + ('webshot', '0.5.5', { + 'checksums': ['d675913ccac80e0af8ee396f95a24124eae6c42d80aed9f47f7a88218ecbb913'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '1.3.1', { + 'checksums': ['9fea7b59dd7fef9bbd783c745d68325ec753ef412699d168bb6c664a56506d49'], + }), + ('Rtsne', '0.17', { + 'checksums': ['3aae6814d6c6d406785145f07374135652f2b26a58690dfd4bfbc8365dc5590b'], + }), + ('labdsv', '2.1-0', { + 'checksums': ['99da92515e9aa49ea7f3df7e301ef714c57054a3838139cd3fd798531d625cd1'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-3', { + 'checksums': ['cac6b4028f68cc8d39202377161d0f7f72ea229b552a5c35769053ab89f90f86'], + }), + ('TH.data', '1.1-2', { + 'checksums': ['47f94eb57b6fcef42efa30824c1356bf10529c4b94b0d0acdb787b434dddde73'], + }), + ('multcomp', '1.4-25', { + 'checksums': ['9dfa7821a699e7b6fc99f2b8bf6bc5fecf6e3d83ece814882b5c8ed8faffd282'], + }), + ('libcoin', '1.0-10', { + 'checksums': ['3023e0495d0789765bdf04c0ef0990a57b48fefa322c55f20e250d2d70d67eaf'], + }), + ('coin', '1.4-3', { + 'checksums': ['8a6302dbf3ef570cd9f69ce7b6cd3d3b928dc776f840bbd767af132e0080b974'], + }), + ('party', '1.3-15', { + 'checksums': ['c0e27c2e215526ba67879570fe4ac8c1fad34128e3785e26b4b86307cfad2217'], + }), + ('inum', '1.0-5', { + 'checksums': ['e696b7e0b31b3bbf405112e60691b6a72fedcaa02e08ee517c59f6bf9cd36bbd'], + }), + ('partykit', '1.2-20', { + 'checksums': ['63509aa3ed2d7417ad284c037cef66bc837fdb7a97967957e79b9fee8ed2e0da'], + }), + ('mboost', '2.9-10', { + 'checksums': ['e713a47faa94424b497685eb3b1df3d376be5f126b48e3f834b6b897f0d0b08d'], + }), + ('msm', '1.7.1', { + 'checksums': ['d134782b966eed33742819595119ab1a61bec4416cc3fa7630a0f34c4e7f785b'], + }), + ('nor1mix', '1.3-3', { + 'checksums': ['97bfd0f8c847fa68bf607aaa465845a34ac8a7a262315073026a6a1937dd076e'], + }), + ('np', '0.60-17', { + 'checksums': ['d97957cb234ec2e570fc2d02d305eadff3d71939484b3d1054ed8b67a3427f36'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.25', { + 'checksums': ['2943fc4cd922300afeaa58e6a0e4c21e5a0f7255e6367c7ea6ad136fce1e9ba3'], + }), + ('rms', '6.8-1', { + 'checksums': ['9d38545749430763c242bae1181ce24a7f6f6b244e4c69348ab200b83925596a'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-46', { + 'checksums': ['660555781703c19b994c9dcfc9e7d8312c30b02539f38cd3948bfc33d9f94b67'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-13', { + 'checksums': ['e5266ce245da9ad53f95630d737ef30b07981c59fb793b5010486a57eb671db4'], + }), + ('leaps', '3.2', { + 'checksums': ['a0d6bebb676e5cdc0ecf3e3a07163ce0d60b6fe72a083d91f0413e11a8a96fad'], + }), + ('cNORM', '3.0.4', { + 'checksums': ['d766bfd86f8a871b972b9b9cd952fa2e5bb7c0fe6903b3f2c15eccf4612a17e2'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-10', { + 'checksums': ['8b1689fe6a0f4ff3493e6b430592705be34f12ac6a24aae1735e5262e50e85a6'], + }), + ('chemometrics', '1.4.4', { + 'checksums': ['fd0edb1ebe321ff7677d0a668d7dfc79a7cd55f408a53d1f13db4cf6347aa881'], + }), + ('FNN', '1.1.4', { + 'checksums': ['db4db5a348c6051fe547193c282b6e5cc839f68f51e0afccf4939f35e9a2fc27'], + }), + ('miscTools', '0.6-28', { + 'checksums': ['bd4c2f2120948af538f9874df1ac745ff162817d0e53756f52f863eb4f593b21'], + }), + ('maxLik', '1.5-2.1', { + 'checksums': ['d054c7626d0b4e03a5d5beecb7a39e60785322a146c34b2e1ee9f7939183925d'], + }), + ('gbRd', '0.4.12', { + 'checksums': ['48cd1d2a845f4b54c307473d2fa07a4ef6a644272f91c6a953844e66cd832338'], + }), + ('rbibutils', '2.2.16', { + 'checksums': ['9c7c0fba47f63b1749005311c7174b40e72d95c863a67b736a84b8ff375a2aaf'], + }), + ('Rdpack', '2.6', { + 'checksums': ['6a75d98c651778358732429258056a327def2be4d2af244a8daaac5b500c220a'], + }), + ('dfidx', '0.0-5', { + 'checksums': ['37521940b35d62773a4d127c94148aadf207f400a686f2212a22d96e53086a0a'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.4', { + 'checksums': ['87d36cbe6dba41dbc1d78d845210266cdd08c7440d977d738a6e45db14221e8b'], + }), + ('gsalib', '2.2.1', { + 'checksums': ['3da3a4b959142a0d694a843e39143bfce82a6de197c6cc92650a28ac05f3bf90'], + }), + ('optparse', '1.7.5', { + 'checksums': ['0cc917505780786e69b8ceca4b3840ed7b0c011495108ec05af3871965415712'], + }), + ('labelled', '2.13.0', { + 'checksums': ['9e2e82a42343b62f8a476d4dd7b13e9ffb3ee2c4e23bdf2cd29ef25b3dffa237'], + }), + ('R.cache', '0.16.0', { + 'checksums': ['7853409161571a790e0383f64f99e4eae43201a0ed7146d2baf157741a509291'], + }), + ('styler', '1.10.3', { + 'checksums': ['adb9c22111a8669bdce6d4a5c09e0ad353e07c3488373484a258028203bfda41'], + }), + ('questionr', '0.7.8', { + 'checksums': ['af72e59fe652c6063282a7e5b0f487993b9361cc9ed052a632d64a5a6db76ba9'], + }), + ('klaR', '1.7-3', { + 'checksums': ['d36c041c017cdb5ba3dbf7fb61d5ce3908d8e780eb2912fc99471394fcb8e3e5'], + }), + ('neuRosim', '0.2-14', { + 'checksums': ['7fc264bb86f1edd7b39a2472330bbabb34eb6dfb722db016a6ee60444ebfafd9'], + }), + ('locfit', '1.5-9.10', { + 'checksums': ['4c20661814993a87ca435f42b0814bacb87c5a9ccc2ff55e4cae718cb176ac06'], + }), + ('patchwork', '1.2.0', { + 'checksums': ['cc31ea13560c424de9bfe2287d926a7d9e6cc8da2d5561402bb145b4f51b68a1'], + }), + ('broom.helpers', '1.15.0', { + 'checksums': ['ec5c58522cb03478ce6fb42533cc00f11eb18d7f7810f62b83cbdc719a98a93e'], + }), + ('ggstats', '0.6.0', { + 'checksums': ['f80aaa229f542cb18174b9ab82b0026c6bd3331f22bf2662712ab6af480b6d80'], + }), + ('GGally', '2.2.1', { + 'checksums': ['8bb326665936a63f6eef92a2af1a11d1fae78dbd28d6980608d2b38ee1f586c6'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.5.0', { + 'checksums': ['cde8553973ce2cc04324318b3df13890d585987171fedfe2efbf1430f82cc2f3'], + }), + ('pbkrtest', '0.5.2', { + 'checksums': ['8e79adf035a0fcf3c82145ad55847497379e009f7be880ba3007ebeb2e69b6e3'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-8', { + 'checksums': ['5e8579e3f559161935f1dde622ece703eefa2a28a677ce553d7f27611e66e0f7'], + }), + ('openxlsx', '4.2.5.2', { + 'checksums': ['ee7089e7e5832ef22ee0d0eebf7cca5096ce23afb2bcdb58700be62526fc9b67'], + }), + ('rematch', '2.0.0', { + 'checksums': ['15daf7bf2907aef8503635bc8631fce9fd75248a1fc2496825588c4bdf785c26'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.3', { + 'checksums': ['7efebbcdefeb8523633db62b3eeb6ea2e4e81e3d010d8b2adb134011c09a5948'], + }), + ('writexl', '1.5.0', { + 'checksums': ['e253dc58f00abf51e9b727ae132e8b301e359fb23df0afc40c3ebec3fb096dce'], + }), + ('rio', '1.1.1', { + 'checksums': ['3ef1ef7982146eebcfa17236e26544640248009c660de5d796fbf6b6496b9b52'], + }), + ('car', '3.1-2', { + 'checksums': ['89263491977ac8e9406b2f4b1638bf06c7ddd1b0e0e3ecda4be61420474674c8'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.5', { + 'checksums': ['d1e600e56c2ad345961ed23f30f04b81c631ff94bd6762a260c62e0206cf8caa'], + }), + ('DT', '0.33', { + 'checksums': ['e145dadb1ce3db7c837f4313a8b5615b5b8ae63063ec2df93e528529717b27b8'], + }), + ('estimability', '1.5.1', { + 'checksums': ['3ca6b96a39fd8877e8636f94d20f34308b7296c1376c646703d27df8591644e9'], + }), + ('emmeans', '1.10.2', { + 'checksums': ['60be64c27a9d1660b76a114762c1c9fb8063415e6a87510d6218ef686e3b8522'], + }), + ('multcompView', '0.1-10', { + 'checksums': ['38f249b22758c9f727b1656d1a08c6022a06a1ea319364ff680147d64598ad8a'], + }), + ('FactoMineR', '2.11', { + 'checksums': ['32c26b42cb4dd8d7a8c845f1e8562fa0e3ebded19d3c1284c3504df09974f063'], + }), + ('flexclust', '1.4-2', { + 'checksums': ['0c4720d691e36091cedafa26ee1f0ddc7af931168096df00b9bf6d64fdd35a55'], + }), + ('flexmix', '2.3-19', { + 'checksums': ['adf5a40cbb6d45e3652c1666cb3ccdb9654e501fd685c091cad0686e62bc12e9'], + }), + ('prabclus', '2.3-3', { + 'checksums': ['005d000a9ac357e670de26e5b8fc4ddb1617351275fa43bf6d2e88b8774358c1'], + }), + ('diptest', '0.77-1', { + 'checksums': ['224eae00f483ce0fb131719065667227417cc98ad2beda55bfd5efe2bb612813'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-12', { + 'checksums': ['555996b4c7e78a28067df25ac657b5065ec79b6b2cd76080382c2d5b43104787'], + }), + ('BiasedUrn', '2.0.12', { + 'checksums': ['29b3b596431c5364e3be9aae2068adb44a205de31c66ec3fa1ef06a4ab8c5792'], + }), + ('TeachingDemos', '2.13', { + 'checksums': ['f80eb952b7d1a0cde3bed8152f9c4e9eceaa3f635209b2af9a11e785e8c0fbcc'], + }), + ('kohonen', '3.0.12', { + 'checksums': ['40944b916aa228d90862301beb9d93a521e6d98ba23c147d1bd9dded04ef0ca1'], + }), + ('base64', '2.0.1', { + 'checksums': ['4d22687c0195c2049e0af2c613b1ebcb908037010ad6e550bf47d69e842535f1'], + }), + ('doRNG', '1.8.6', { + 'checksums': ['5032ade083f1f9841ac2e8d4426faa07f189c25c0c338fa155c5dadbe5507de2'], + }), + ('nleqslv', '3.3.5', { + 'checksums': ['1298172d2fe67d8d6b742ce7e792f6b897f081da5c94d34f14970ab531f04b3a'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '3.0.3', { + 'checksums': ['48c327f99bae71050acb30b217720d73bf5c40f35af1a3b3b5e4ed118b315701'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-3', { + 'checksums': ['30f623d119299c8020c81c577d83e825811e96ec694ee1e2522fcbe02fed4c2f'], + }), + ('forecast', '8.23.0', { + 'checksums': ['ffc3d41138f498fb286f0ebfeb72d15f9f7a8e953abf3c351ebf95fc188a1880'], + }), + ('fma', '2.5', { + 'checksums': ['400dea4d2b6e73ed686d901fbab1b4f930dfcdd67fbd0bb3abc34a707656cf78'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-6', { + 'checksums': ['3c2f13edabdd9cd2612a60afec9ba447b3dd5a4109dd066d7870411d032f8b63'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '3.0-5', { + 'checksums': ['eb98665f20fb007d06575ed3357cbaaeaf4ed5bb201238139c78bbc1ae23f596'], + }), + ('spatstat.data', '3.1-2', { + 'checksums': ['9b9b416303b8040f723400f3dc454cda75cff1d958660767e7b824503b490b77'], + }), + ('spatstat.geom', '3.2-9', { + 'checksums': ['a7337166481366ff301c9585636e162d94c8593511a36ae33477966720c9d517'], + }), + ('spatstat.sparse', '3.1-0', { + 'checksums': ['63be5dc5818339b878a14a39815dab730b28029d51bac5233e88f5e2464bbbe9'], + }), + ('spatstat.random', '3.2-3', { + 'checksums': ['e052a33e90b097bc160c687d4927e17d01a1c282f503205d322133464f3934a7'], + }), + ('spatstat.core', '2.4-4', { + 'checksums': ['e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b'], + }), + ('spatstat.explore', '3.2-7', { + 'checksums': ['4ee4d918c7998d44995879cd870987b861918d851d29a09bad066d4c9907e420'], + }), + ('spatstat.model', '3.2-11', { + 'checksums': ['700dc1225d110ccd88e5c640935d551a67389e928a4d2726443737665ec47643'], + }), + ('spatstat.linnet', '3.1-5', { + 'checksums': ['a7d03c037b8c918977527a9b00b75fb87048222d10473319d132b1d67433f7a3'], + }), + ('spatstat', '3.0-8', { + 'checksums': ['c2042e7b68297a479338b765ca4ae70bed2730351f8e79a1697d1d1b4c90103e'], + }), + ('pracma', '2.4.4', { + 'checksums': ['1a4ef3af2197f999dbaa614bf5a70f09ec463d8c91feb5aa0d995de24ec6ba7f'], + }), + ('RCurl', '1.98-1.14', { + 'checksums': ['eead278694471dfa9bd2f256d229eebed782e71dc1c734fb457ec35377f303cf'], + }), + ('bio3d', '2.4-4', { + 'checksums': ['5654eac10d33e4235ef89292e3b99006d8812b6bfaaa3d6fb540312160fd9de9'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.5', { + 'checksums': ['dd8fa4a6b07d8a43b980e1df2f112c1915f93ca9d53cae0f0307a8ce00946c23'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-29', { + 'checksums': ['236b03f969f4880680abb7f818bbbd92926ac3cb30b55560e3ee4d25d1572b3c'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.6', { + 'checksums': ['9a7eb14781f01a12e26e7b26a91c8edaca7d824b9c1ffe74c81837098d9bf417'], + }), + ('ddalpha', '1.3.15', { + 'checksums': ['0c2794a4e88cef44d96dc980ec2f091d66b3c83995760297b623e5285878feed'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + ('ConsRank', '2.1.4', { + 'checksums': ['c213c6008fcb617a2144d75b41b25520ffadcf38686cc5050e10ce1363ac3000'], + }), + ('adabag', '5.0', { + 'checksums': ['ec58756fda2e64753d21e28d9e27ed34f28020045b199a58dcea06a3e2c3d60e'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14.1', { + 'checksums': ['0450ff8489b0d4d0842130f6a9713ede97da936d7909c43d43587bf2d5a01a21'], + }), + ('ggvis', '0.4.9', { + 'checksums': ['69b9d184789c90aedd2f336d43033a8b710a16b052580bf9e7ce229ac25ba12f'], + }), + ('mlr', '2.19.2', { + 'checksums': ['85e67049f1067a7eae0f0e5b5c4e4e46a25407a17750512220f438a0fa5097c5'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-17', { + 'checksums': ['424557d7326889e09e31e04d2a9b7224bed0bb4aa6f9e5433d7ce4fe04a35afc'], + }), + ('abc.data', '1.1', { + 'checksums': ['48d685cf81a6053cce981791570abd27773454d7ff7586c2a563dab7a1cdb07d'], + }), + ('abc', '2.2.1', { + 'checksums': ['db52a397a204a0040ec1368ae217cf7b0d8e99e2567927dbe3ae89f93d1de598'], + }), + ('lhs', '1.1.6', { + 'checksums': ['e37fce44efe6a371677ba2f72f9e1e48270a0fdc60872d05def89270586cd23f'], + }), + ('tensorA', '0.36.2.1', { + 'checksums': ['06588261fe7dff6a8edafe2b9d436b39a3b46c754f2ed327ae6322561a617db7'], + }), + ('EasyABC', '1.5.2', { + 'checksums': ['326c92e003866728729dc61473f168c3663106b1229e8513abd7ce520c18689c'], + }), + ('git2r', '0.33.0', { + 'checksums': ['1855b68d0e22566f1c255fdcb8e13282a2bebf55cbc804a8591dc8047f0e1895'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('covr', '3.6.4', { + 'checksums': ['2b6204036510c629d0b1d58daaee34d4e38baf54164f8d4c9afd6d6b1fb1862a'], + }), + ('Rook', '1.2', { + 'checksums': ['c79ae4b5164daffd4e7cf74bd23c1b08a3948bf343dfe9570d57f39cbf8e5f62'], + }), + ('Cairo', '1.6-2', { + 'checksums': ['6b6f4c6f93178a1295860a9dc6dc45e60fec70f684d5c8d0b59baf5b8dd44d62'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-4', { + 'checksums': ['cea42cf67e7a2d99451a2a3541bab41c1e64c86b45de37fa0119c49f7083b78a'], + }), + ('tkrplot', '0.0-27', { + 'checksums': ['c99211919414400b0f579e1354407f2e154cfe85533d324bcf9c68172c2772a5'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '1.0.1', { + 'checksums': ['bd72de1fbd7ea32018d6af09ac2af80871ebe26bf9dfdf1ba53f87e6cff56c1f'], + }), + ('plot3D', '1.4.1', { + 'checksums': ['db6df74844dda9177f2be024762b2f0e63182916e987a09480514d078d55d1f4'], + }), + ('plot3Drgl', '1.0.4', { + 'checksums': ['6d87a9a32aba3aa64f751268cabd14dbd3e0eca2bd5f0a4b11366cd1e2f51bdd'], + }), + ('OceanView', '1.0.7', { + 'checksums': ['2af53bf28ce55b740a5612e742bf6410601e592d2f231c6041ad2abe722dc168'], + }), + ('ks', '1.14.2', { + 'checksums': ['f19130476cfafec26bba102b66ecbaeb80a9312c62d55eeec54d1aec75803fcb'], + }), + ('logcondens', '2.1.8', { + 'checksums': ['f139206e47d1077ffcb39248450c1d7ce2ac892cb9264dd0e1ace92532162a00'], + }), + ('Iso', '0.0-21', { + 'checksums': ['b6842ae1c7b629ebb63355f50bb2e5d96e5696fa59590807ac6028b6dce28fa6'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.1.0', { + 'checksums': ['b0b554e9220f7abeb8e40af7617802509bf49aa4b2b58882330cde54c20bad63'], + }), + ('influenceR', '0.1.5', { + 'checksums': ['8164e4820f769032fab97c9ca486d33e83309641fcc4875065d8f5a43b20f58c'], + }), + ('visNetwork', '2.1.2', { + 'checksums': ['47c99d42fc89e6ae929257b2648d998c5ffed60dff97ad7e47613f5a0c1ddc84'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.11', { + 'checksums': ['e873e3d6e198232408161661001ddcb04c9a56065bb4703c925e538462f4c4df'], + }), + ('randomForestSRC', '3.2.3', { + 'checksums': ['8ca24f235f4e0036d6c767e0b7c8597c404b91ab7cd88d4a6a1c3accd46d4f6f'], + }), + ('sm', '2.2-6.0', { + 'checksums': ['27a6e3291a572c3d30f25982902ccde5299230061e5dc1a38fb52aaac2561d61'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-18', { + 'checksums': ['b907cacd6c4a2320138cb2206f17b60acf077453540bcb9cc94659fc9a48df51'], + }), + ('matrixcalc', '1.0-6', { + 'checksums': ['0bc7d2f11f62d8b1969474defe27c924a243ccba0c856d585f317f6caa07f326'], + }), + ('arm', '1.14-4', { + 'checksums': ['425bcb0afea2efb668d15ed8daa430bb356c62587eba806fd91e37afac1807bd'], + }), + ('mi', '1.1', { + 'checksums': ['4d7a9790dbdc675605d70755af9aa80c21a279be5a5d712b22d77465772cc785'], + }), + ('servr', '0.30', { + 'checksums': ['43f920161408871a042462b7c3353149a608941253541a19a9ce3408f9882d40'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.9.0', { + 'checksums': ['a485dc6e363a993d87336fbd1027adb1cd7b9103447fd63904cae4dc3bfc2dd7'], + }), + ('network', '1.18.2', { + 'checksums': ['bf33892db9cabba9cd1597f09ef0e1277d63520a8cebd2d919e0d41fc706a27b'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.7-2', { + 'checksums': ['7b214626967feb9389e743e50b919dd4b00e7436b2355fd068c873c45ac7a7cd'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.72', { + 'checksums': ['7cf9cc1bccf2a56b518c88030e00e88217f571afcb250aa95c3bd2771a8b83cd'], + }), + ('graphlayouts', '1.1.1', { + 'checksums': ['7bc2459a02b1339ac01184a76687a3e50de5680f4699b5966a3f2e6a882f3801'], + }), + ('tweenr', '2.0.3', { + 'checksums': ['efabe512a45d653787ba40f87f3e23add4037f88573a102fa9ac7a5ff43c8cbe'], + }), + ('ggforce', '0.4.2', { + 'checksums': ['c145b0e6ed6847d409ed2fe103b81234855bc0661cde2bfb4410fb23680e51a8'], + }), + ('tidygraph', '1.3.1', { + 'checksums': ['aac1d4bb9396081bbeecbde11a3cd1a26a56bd6b1f608a628b359cb37c18ac1a'], + }), + ('ggraph', '2.2.1', { + 'checksums': ['4405f8a907ad8fee68b5d4991f0bc8f35d6c0facbb7467c2ce425d3ec8b23af1'], + }), + ('qgraph', '1.9.8', { + 'checksums': ['14a81d64f37614a05445408babbb2da5bc53886def8b0c2e4101b06e8b4c01d4'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + {'HWxtest_1.1.9.tar.gz': 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6'}, + {'HWxtest-1.1.9_add-fcommon.patch': '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451'}, + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.11', { + 'checksums': ['29e2f0d314e75de748f33438b5b1282f469d163e29534c61616c257b2955e478'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-4', { + 'checksums': ['e30fa4fe353cf00d266839d3c5db83ec9548a660f31d447ad9a69f556d56e731'], + }), + ('rootSolve', '1.8.2.4', { + 'checksums': ['e16a317ea494192e0a5668a18f7eb99675f8edf3b3095861d213bc2590ad385d'], + }), + ('FME', '1.3.6.3', { + 'checksums': ['83c4c28ad4f9197610be40fb66f1025f438a46e4085d64b736e83a0ab71e36a1'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-12', { + 'checksums': ['df10ce719f92597572763182f7cb03686b8d7fb9123d036a4daf5b10738e815c'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '1.0.2', { + 'checksums': ['7c849086cb17d6c5aefc106217363e14afbcda2a9e0120687d40805b5e1c566a'], + }), + ('signal', '1.8-0', { + 'checksums': [ + ('89cba854167a2b051a58cf3b73ccbf74eeb47c890ac39720611cd41f86b94684', + '0a604949bae91410a150a22cfa02d954f5b83166cc7a73e5409554d00e0417a7'), + ], + }), + ('tuneR', '1.4.7', { + 'checksums': ['364154a0440953327eeefd2f3c72c9f819944cbb52b6e7497958882ca0b6960a'], + }), + ('pastecs', '1.4.2', { + 'checksums': ['43b656809f601be7b2f98187b0b71d3fdd2b515f5658a0690e7a515ddbb376f8'], + }), + ('audio', '0.1-11', { + 'checksums': ['1052f6335be4df4b2e145c077d82e781eaf6658f3ed4821033b07e57bb4ce17c'], + }), + ('fftw', '1.0-8', { + 'checksums': ['8c7e011666a0ed76e0554abfa62cf658c055bd6efebe94d16b4462d123d08620'], + }), + ('seewave', '2.2.3', { + 'checksums': ['1f897af809e8e5f9d515d788f4b5ea14ba27b2b554a3ab8024d78f42ac46848d'], + }), + ('gsw', '1.1-1', { + 'checksums': ['d2a21dbcc3b285163d9cf1bc649a3de1bb1e713c64e4cb6cbc3e613c43f4dd82'], + }), + ('wk', '0.9.1', { + 'checksums': ['b7a0af51c0e04175dc359d1fb0e852ac55097b4105d876b58d3cf995c0f2bf7b'], + }), + ('s2', '1.1.6', { + 'checksums': ['1d9d2e6b7890122f916fd8f86060cb0f101637ead158bbc22ee2f0324b93a066'], + }), + ('sf', '1.0-16', { + 'checksums': ['e96e191011cdf2a073c773bdfc50ffd4a5d80f1da0ba1aa05db8015da45a9987'], + }), + ('oce', '1.8-2', { + 'checksums': ['cf5fee1b44f1f972d496c005993eab5267878177c4ce8bf74a3b018047a33fa9'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-3', { + 'checksums': ['906fdff665e2aed0e98ee3181233a5c62bd521abfce6ab1cb215c71c95d12620'], + }), + ('pinfsc50', '1.3.0', { + 'checksums': ['971627cf4567fdb34db26010f2db44cfac5ff07f327d3247e778638cc4e849bf'], + }), + ('vcfR', '1.15.0', { + 'checksums': ['df17e48b961d96f2a78a1a15037df674f57d0445f2669e401543d8082f0b49fa'], + }), + ('glmmML', '1.1.6', { + 'checksums': ['2710f56530de37a52a042645da76c8af075d66e04eaee9e18bf1e5f32f0b7958'], + }), + ('cowplot', '1.1.3', { + 'checksums': ['8756971af5c50381cf00ec7ed622fd5cf3d70f534bdfa3ebadd157b5aef5b273'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.1.1', { + 'checksums': ['f9f6b56d91dc7cb18dc8308d0875b9648c90b268d1aaf8f4c5164ff016df22bd'], + }), + ('tclust', '2.0-4', { + 'checksums': ['a6667167778b974afc968340161171a7911415bcc1220dc7f0f350552f560578'], + }), + ('ranger', '0.16.0', { + 'checksums': ['0395f93afdb807a7882c1fa8f183a26a871c5168ea0903566951298ef1138589'], + }), + ('hexbin', '1.28.3', { + 'checksums': ['0eb33511c1a4ff29dda8b89fee420ea7041033f981c7f16484c9f504d749de5f'], + }), + ('lobstr', '1.1.2', { + 'checksums': ['9bc533ed7e8f816097a03acfbca33308c9940ba26d02674f4ba06311cf3a1718'], + }), + ('pryr', '0.1.6', { + 'checksums': ['68c1a30a42808eb01a64d31e521d21f2fd5a88dd2c14d05b4b7986d27a177704'], + }), + ('moments', '0.14.1', { + 'checksums': ['2ed2b84802da132ae0cf826a65de5bfa85042b82e086be844002fe1ce270d864'], + }), + ('laeken', '0.5.3', { + 'checksums': ['60495f494f2a41b2ca94e11e3d0224843b7282cf8b2a859dbf6077a3bc97e80b'], + }), + ('VIM', '6.2.2', { + 'checksums': ['afa7492c54508c46eff39ac66fa4b05627e0044253ebe4a61b2a78d459f715e4'], + }), + ('smoother', '1.3', { + 'checksums': ['e8df4bc88e9d95c30c66fc10e6b1b485626828b6d28ad1a52a20168736468277'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.7', { + 'checksums': ['baad41e9ddaa13b5a1db1abab34253b27d5b99e5a6a649b2036aaf1483370b9e'], + }), + ('ggbeeswarm', '0.7.2', { + 'checksums': ['fd7ca265bb892dde514d5f8d6a853fb8b32d7a673b05e9c8b50544a523299ce5'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-5', { + 'checksums': ['dfc595077fb65eb12653d994c757e0998c09a186575d5b61000bb5452fd0b033'], + }), + ('WriteXLS', '6.6.0', { + 'checksums': ['bc17a1f3bc1b2b2e37fb28b95bf613f8ef8234393c5c5e4c8a86430850e3b729'], + }), + ('bst', '0.3-24', { + 'checksums': ['64d96e13551d35ec32aabaa733bec86dbe8c9ca3f976a34ebbf1f49bb63e49f4'], + }), + ('pamr', '1.56.2', { + 'checksums': ['29046c761d1999f34c6eb69cab5484985cc5c309e3e9d60891cf36d5febbfc58'], + }), + ('WeightSVM', '1.7-13', { + 'checksums': ['5e356189885390f47f21eedfb93726e2920b679da480a07823c44012b689aaa5'], + }), + ('mpath', '0.4-2.25', { + 'checksums': ['4b9943386557779c42984c77f2ad97c2d689da3de52d69b521e863096e5d6184'], + }), + ('timereg', '2.0.5', { + 'checksums': ['a0d1ddeaf6962c7f48e213430ec838cf8e880a6c41571e4c2e864d070f84f7ef'], + }), + ('peperr', '1.5', { + 'checksums': ['f7f9b3140bd8f0d00b7cacd55e9626e2333eb91ab0173e8f21237803045b8500'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.16', { + 'checksums': ['16dc32c7704906d13a9e5281bb396e92fb89a6b17fa5e201953240726b650b67'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.17.1', { + 'checksums': ['87e96e119e7236b4f5df1c6f1b0d4d4e12aab606a2142e039f56d8ec71f9e521'], + }), + ('RInside', '0.2.18', { + 'checksums': ['805014f0f0a364633e0e3c59100665a089bc455dec80b24f04aaec96466cb736'], + }), + ('limSolve', '1.5.7.1', { + 'checksums': ['a5945217bbf512724297883f8d7c65846a11202266b2b6bb3355372935e85b92'], + }), + ('dbplyr', '2.5.0', { + 'checksums': ['bb475bdbe89487b189ecc257b5c92007a7458803c81aa77bfc4ed46f5f24bcff'], + }), + ('modelr', '0.1.11', { + 'checksums': ['94ebd506e9ccf3bf25318be6a182f8f89c3669a77b41864a0b9dbcc1d4337bd3'], + }), + ('debugme', '1.2.0', { + 'checksums': ['b22605ad3b20d460308d8c9c18116e56c4d6ff10577608eaf58802998171f099'], + }), + ('reprex', '2.1.0', { + 'checksums': ['0a0dfe5976e5ddb908d5a7582b11cbddee342e99d8dbd64b08ff64c1e705a951'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.4', { + 'checksums': ['7d707c6b2994cf7b6c1d665bec872d2ef5c55f30e7c343c447a8a386a6049ca6'], + }), + ('dtplyr', '1.3.1', { + 'checksums': ['a5a9689a640b8bd1274519af220c33deaa3919654acac4ebdff1ff365cc8d6e5'], + }), + ('gargle', '1.5.2', { + 'checksums': ['4a5beb046eb50a168b4baf5d1fcd8ac20d698e7fcb6b6ef46a436ded5b039001'], + }), + ('googledrive', '2.1.1', { + 'checksums': ['0b8b4f74ba3630b0347249a32a80bc5fc2e8b63ad2952702f30162bd2d38fb82'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.1.1', { + 'checksums': ['c5cc63348c54b9de8492e7b12b249245746ea1ff33e306f12431f4fc9386fccf'], + }), + ('conflicted', '1.2.0', { + 'checksums': ['c99b86bb52da3e7d1f4d96d70c77304d0434db5bd906edd8d743e89ac9223088'], + }), + ('tidyverse', '2.0.0', { + 'checksums': ['3d3c2d135056333247d309d1c2cc98cc0d87e2c781f4c6fbceab28d28c0728e5'], + }), + ('R.rsp', '0.46.0', { + 'checksums': ['1a9f680ffe563abdaa91add6ebf5e6c0ecbe57f0d39687bcb272ff2a987c33bb'], + }), + ('gdistance', '1.6.4', { + 'checksums': ['6af5fd3ea7e256f34d705d4817bb88056037ce1d68adfeb28d61c4a640d8992b'], + }), + ('vioplot', '0.4.0', { + 'checksums': ['5729b483e3a4f7c81d2cc22c8bc5211b64e289734e9da5b5696c4974067867b5'], + }), + ('emulator', '1.2-24', { + 'checksums': ['91dc91eea7df9bf243d45db1bbf98aa72a1dafef789a6091f41180d5242fa469'], + }), + ('gmm', '1.8', { + 'checksums': ['7099fc5c6a9069924392995a726190e8d62f6e55375ef356084b0c73346d85d8'], + }), + ('tmvtnorm', '1.6', { + 'checksums': ['2d9b2c5330d11a62384b4c0c1c012be34806b48683898045a4a40fdb9a8e1bba'], + }), + ('IDPmisc', '1.1.21', { + 'checksums': ['478b95ae7e73df78e0728d37281b9af6b4f152a8d54bf9811121d32722f9088c'], + }), + ('gap.datasets', '0.0.6', { + 'checksums': ['1e14b06fac203016555ddca323225ccf18d784609dbf9bdfff423e6dccd297cb'], + }), + ('gap', '1.5-3', { + 'checksums': ['6e19f9d822460867fcb97fe917730ce0f87218893a6a7edae42caaa401b452ce'], + }), + ('qrnn', '2.1.1', { + 'checksums': ['14f7ab438349dd9a9deb8bcdc1bf6734872a018061f46d0ba5d02db63c904cc9'], + }), + ('TMB', '1.9.12', { + 'checksums': ['db5801f43e55fdeea520355628286c491c694f1165e8567eecd5f3d864cfc7f0'], + }), + ('glmmTMB', '1.1.9', { + 'checksums': ['93d5a6b907b0f71f97c13134e0c450c951b3636365a369f48edb804207e78963'], + }), + ('gmp', '0.7-4', { + 'checksums': ['a7d6b40f77d2619c11db5170b8f47336f7c5fa1db7eed0ac9d8a432e41053919'], + }), + ('ROI', '1.0-1', { + 'checksums': ['d4ff143304f1422ecc455eb1a00896530193c1a227ed7f3e9da2baa95d921616'], + }), + ('Rglpk', '0.6-5.1', { + 'checksums': ['e528b8c487e9dfef16ade3b834a17fc93cc898869978a5dd79bee2c5bf9cb6c9'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '4.5.0', { + 'checksums': ['bbf9a15620f707f49c81b465f9d87a6f151be8afffdc18f060cbbe719e2424db'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.6', { + 'checksums': ['32fd3d5cd354ff6b5457599d7fb870b94c7d86401a47c7c553bca26f782a4b73'], + }), + ('mvnfast', '0.2.8', { + 'checksums': ['8871e0ce54b87afc556fd94ca77c3db72dcbb8c245558287e0fe342e30eec9a0'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.8', { + 'checksums': ['f543bdd6b61ec7fd31a7e4040bd7835341d9079243fa4eb0cd5e684e5e39bdd1'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.3', { + 'checksums': ['b7245e8abf7d78cdfa7f74f6d90f79a418b883058aa3edd5977a60bdbed4087e'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.5', { + 'checksums': ['e20139794ad1a8c7d7fdffb8dac068c6fbdc8f0b65929341cb5c4d2ff1f98cc6'], + }), + ('Rssa', '1.0.5', { + 'checksums': ['475819636afb330a4467722b0a664fa54d6114d782b681f681ccb123f3be522d'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.33', { + 'checksums': ['b2a4c5afc7ef9534dac5006f6ef1b2af68630bb73eb74ef70ec7ed53dae6cb5f'], + }), + ('DistributionUtils', '0.6-1', { + 'checksums': ['31e79eaa8871b0b9fb8ac63a3fbd852f9ed3047bc584c233ac030b50e1b963d7'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-27', { + 'checksums': ['3fb4773fd58fe6aa8bd0ae031add8ee7c33d0e43dfec92e89db04b5dc709a49c'], + }), + ('Matching', '4.10-14', { + 'checksums': ['bfb4286a5da29dcfcc4ddee6299e2d91c0de177720b060b8946fd16f32f6a6b0'], + }), + ('chk', '0.9.1', { + 'checksums': ['f9b43dcf1002c6244dc87965f21dff6e65256eb634b826deb7b5cdfc26f505a7'], + }), + ('MatchIt', '4.5.5', { + 'checksums': ['ae39cafdd3a52487e3ebff1b49642f516cf64321fea90fa57ce3d545a259859e'], + }), + ('RItools', '0.3-4', { + 'checksums': ['047684b8d135d9a90156a7be6625c2961c8f6789bf80533b525a201a69ee52d7'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.4-2', { + 'checksums': ['8a4a0f3122f0971f7c8756805add781192c655f507b235801dd78457a8d2f1bd'], + }), + ('rlemon', '0.2.1', { + 'checksums': ['4a18fa034f197c68daf48daf25c0e41f1b8acbe71d030c6bc1f55e3062a10375'], + }), + ('optmatch', '0.10.7', { + 'checksums': ['330fc251ebe6901a6fbf931457943ee113bc882f786b2b14d837cd59f4327d1d'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.5', { + 'checksums': ['1441fa46b6a78a060007442fb8cb8c87753bdc2b1ea2dc24ff951ac3fef651f4'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6.1', { + 'checksums': ['431b4eea5fe9f1f421518b24cd4ae27c9228f3311ac11bfcaf22620f86a65881'], + }), + ('distr', '2.9.3', { + 'checksums': ['15ac7c835bca5b90121fe42fab35f8151a3bd876d3c88a41eb5339c4bdd7db58'], + }), + ('distrEx', '2.9.2', { + 'checksums': ['d06bcaa1ccb52ef775f7c8b2d6d4676408dbc2813dfc128da34ffa4c7740f3e4'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('RcppTOML', '0.2.2', { + 'checksums': ['371391f9ca82221e76a424082ea9ebc5ea2c50f14e8408469b09d7dc3e6f63aa'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('reticulate', '1.38.0', { + 'checksums': ['cb2f313e2351a3cde03be55561b592318ec5376fba3b10e371eeff1986deca8d'], + }), + ('umap', '0.2.10.0', { + 'checksums': ['8d4786929345e8980bb8be8bb4b6300a679bba03a5984eed59e5e00c626b6ea9'], + }), + ('KODAMA', '2.4', { + 'checksums': ['78f2ea3596f3697fc06a080947e82a54c5270ed90f86916b91902e5db6ec85e7'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-3', { + 'checksums': ['474d3530b16b76a1bf1a1114d24092678ea7215fa57c6fdcee6333f1e768b865'], + }), + ('dtw', '1.23-1', { + 'checksums': ['6ed6a3b52be673ce2617b8d48723c7c488c95aab88fe2912d7e00507838e826d'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.6', { + 'checksums': ['efccaa309a150d11c6b402b912e618ea041f25cca3101f32cd821a6f41684e35'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-11', { + 'checksums': ['26274f2b710b2417a8bca314d400abf320d4ccf0387ad082743056699501b53d'], + }), + ('hdf5r', '1.3.10', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['92496e0693a27c0a1c8caba671c51fcecc3a120f8ef7eb0cb3cd686a3e49124e'], + }), + ('DTRreg', '2.2', { + 'checksums': ['9c8954d5c342af85611d13dab5be64c4a7a5904644a6e04ff21d5494559e2fc7'], + }), + ('pulsar', '0.3.11', { + 'checksums': ['ee82ef25b2be4bbac713c34bca85d8ea1fa0e32eb8c800dad7256e145fc79393'], + }), + ('bayesm', '3.1-6', { + 'checksums': ['17d72b9cdc090845f98e7a04640380d0baef8bc23d1487c8f64dc192fdb93cb5'], + }), + ('gsl', '2.1-8', { + 'checksums': ['f33609bf485abd190e65ff5d0fdab438b759294c47b921d983d89d6f053a2d95'], + }), + ('energy', '1.7-11', { + 'checksums': ['c29f8fb000c979d2504f6f6d3a99c773004f77d58793e7e2a5766155272b6511'], + }), + ('compositions', '2.0-8', { + 'checksums': ['c5063488f456992b5821458b3237322addffd3451ae91f9474707886971ef290'], + }), + ('clustree', '0.5.1', { + 'checksums': ['b5f2496e596e3fd140ace69c4837085e13f3abb850f5eb57d496380691fdd117'], + }), + ('tweedie', '2.3.5', { + 'checksums': ['983c745fee5a780d46e8dd04c2eb1c10cb2e222d3679654f0d6934d3db7b1c3e'], + }), + ('RcppGSL', '0.3.13', { + 'checksums': ['fe5e73bc119c6424e1a40b6fea17417a7bba93e81dbe9b7cf86dde9b8e8d93e7'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('alabama', '2023.1.0', { + 'checksums': ['925f67c72d9cdb677105377777bd09e9b56a61573bea7e3f69e0a49595c7bf1c'], + }), + ('gllvm', '1.4.3', { + 'checksums': ['63b77040e9cf2694882d1d80a3bc3030b3a348819ea38e6728417e4c5de07ecc'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.11', { + 'checksums': ['b08d6cae4fc17575adf5df0113ea5f4f819bb2c7f87987e0d66c8eabfc933fa4'], + }), + ('ergm', '4.6.0', { + 'checksums': ['b471a60c39eb5b478e06dd0caf1d085f4b0927f1c260de699f1c8d4fe831a7f7'], + }), + ('networkLite', '1.0.5', { + 'checksums': ['aaab55d4f8f0b330fe7c1ecbab3c44746c52c2fda99c53c6b46042bb8775718b'], + }), + ('networkDynamic', '0.11.4', { + 'checksums': ['6bf3e216a444f183ff925e29560fae4c2362cc2a9fed19b3e116a9d9f1184a46'], + }), + ('ergm.multi', '0.2.1', { + 'checksums': ['e09dd0d7207a8214746ea251a50c93f6f5de255175309dc8757206f419a01902'], + }), + ('tergm', '4.2.0', { + 'checksums': ['dcf5a26cc2c4d165766706af08f8ea4f36e328158f5b682490c2a351f7fbda69'], + }), + ('ergm.count', '4.1.2', { + 'checksums': ['9bce70b64a2f60b242603b771370b40d7f7aeed37ed426670131fd966c13b020'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-8', { + 'checksums': ['6a06440d4b58e8a7f122747d92046ff40da4bb58a20bf642228a648a0c826ea7'], + }), + ('MCMCpack', '1.7-0', { + 'checksums': ['846073d710017ec1dc9a2b4616cb6aeb60ce04e3500a37214522818d34045def'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.2', { + 'checksums': ['7210c97fc864e78ea8502067359d642bbd95bf2df30d33da193fc5c004e45baf'], + }), + ('asnipe', '1.1.17', { + 'checksums': ['e7b4010fa1adf27534420db2971dae3c63190920a4323c86fd586842e22d9b07'], + }), + ('liquidSVM', '1.2.4', { + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + {'liquidSVM_1.2.4.tar.gz': '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'}, + {'liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch': + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8'}, + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.44.0.3', { + 'checksums': ['61a85f6c2f15e8e96839f8a4fd3a45eaa6bca90517bb20a4dd36e951d6fd0c82'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.2.1', { + 'checksums': ['9f7a20acf4aec249e16f83d81f5ec796aa718deb1b8bc24393fc0421eb8ce1c0'], + }), + ('bartMachine', '1.3.4.1', { + 'checksums': ['3b0a5250f5425a8efe460adcb58ea1342f1d845ae3a8db29dbf4806653884b89'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.11', { + 'checksums': ['c63a6453783865b7c69c580a09a769e99390dd8b2e0f63e48fbfc86da3bee4b7'], + }), + ('GUTS', '1.2.5', { + 'checksums': ['9d983a566daa07d3e0036fe7011efe94f29e31a611493ba16bd316b61730a7b7'], + }), + ('GenSA', '1.1.14', { + 'checksums': ['66e455bb0e66d3c04af84d9dddc9b89f40b4cf9fe9ad1cf0714bcf30aa1b6837'], + }), + ('parsedate', '1.3.1', { + 'checksums': ['1fc31ab9813b61680abf4f4c2705b8f484d56d1d3ef256df84b342b628b6d1b1'], + }), + ('circular', '0.5-0', { + 'checksums': ['4bf4da5de29e555d1a7ae7ea64f8a5dda037e5c423f1078944f0bbb6eb9a7b92'], + }), + ('cobs', '1.3-8', { + 'checksums': ['2c2049c7cb868a2e4e1a530fe7218fac56e6157ef64ad57b91c5bb457dbc9821'], + }), + ('resample', '0.6', { + 'checksums': ['1b958009b18c92a47971847c782af76952ea4e85d5f1e3e1e70fa35c67b95265'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-10', { + 'checksums': ['bd89a8fe939f3becd71a9dab30fe27fa43c96572d8309d2c1a70633117d4cb33'], + }), + ('Rserve', '1.8-13', { + 'checksums': ['7e5d312fca8029d746f60e7d9e701129561942f97dfc33b036b123f159d69a4c'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '8.0.0', { + 'checksums': ['38e75b1ebc8b2d1c54b3373a42529b819c7b4773fd4932f57bc9701d1e3e3dc7'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '2.0.1.1', { + 'checksums': ['8c2448f176ed94201affb8a9c42a5d0f56f26e88131ff2c1f4a9d14c5a0d87f6'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.2', { + 'checksums': ['f0e0a6a4eb11213073aa2f0cd6c76d87e8b3965124d8ca509538eb3c128533a0'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-65', { + 'checksums': ['bdf8fdd35fb2b1c65d09766da79d930fa664a00aa497f03b636400eecb623ef8'], + }), + ('bdsmatrix', '1.3-7', { + 'checksums': ['c3505e5ac06d5e01b3a6bad94177f8375cd9867bb0146cc9c63d92424ecb7922'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.22.2', { + 'checksums': ['6051b07019003c698ae016d79f13945bfe2edec26f8a688126b978cb90adcfff'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.2-1', { + 'checksums': ['37038a9131c9133519f5e64fa1a86dbe28b21f519cf6528503234648a139ae9a'], + }), + ('sampling', '2.10', { + 'checksums': ['fdec976ec0abfb5c690049d76f89ebcb8ab3650e2eb28a5b54c3984d17372775'], + }), + ('lda', '1.5.2', { + 'checksums': ['95d354786e002352a973052df993b9d3acfc9f9598a053afb95ac27c7e150fd4'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.2', { + 'checksums': ['3354b22752f0aa0c0d9c8c12b38810202b6380f2587e539be11d9a358412fe6a'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.25.1', { + 'checksums': ['d92a0cf819fe4c08b8eb17f5e03275c8accde7f3b54f990cbba5ab926575b60b'], + }), + ('emdbook', '1.3.13', { + 'checksums': ['26044b7ea1b42304b4dfde48afa94dd487acf979da4db2bf670ba41222083c19'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.6', { + 'checksums': ['61bd0d19d045b50c6764f3a7c95ce1e734af9e5f964449825d002afe02109489'], + }), + ('tictoc', '1.2.1', { + 'checksums': ['8fcdb7c9a1e4b4817bcab654effd64dea6ec749a7901d4060d5b5c625fc88833'], + }), + ('ISOcodes', '2024.02.12', { + 'checksums': ['02cb7b918034085dffcba0d329a2bc52514873f898a3a716560ebf17b57ae2e6'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '1.0.0', { + 'checksums': ['b4c32ee1395ee4a8efe714c535c0fe578b0dbf5f3bb85b41fa5cc87569b8e8aa'], + }), + ('SnowballC', '0.7.1', { + 'checksums': ['753cf13f3206751662c03b1cf39bce9e680024f6d9f8503b836a83797181c034'], + }), + ('tokenizers', '0.3.0', { + 'checksums': ['24571e4642a1a2d9f4f4c7a363b514eece74788d59c09012a5190ee718a91c29'], + }), + ('hunspell', '3.0.3', { + 'checksums': ['fdaa1473a62dff2a5923b9bd958d87e546069ca22ce113f44e88c761338442f3'], + }), + ('topicmodels', '0.2-16', { + 'checksums': ['0d5c9c65dd7ba031ba81adc0984d3e36b0309ada2204644bf816370ae656e905'], + }), + ('tidytext', '0.4.2', { + 'checksums': ['0cf4180c2ab9fdb158337a7bfb6ba32f15fb61aae28abce425deaa5933ed2d54'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.3-1', { + 'checksums': ['216a1a5bb18c7a7dfb13c6c162228c6c81c45408f04d7784b6e60ae6cd4745d2'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.3', { + 'checksums': ['6b3910dc48495439cd01828f8999823864a6712f73560ee3e6c903065c67d1e4'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.4', { + 'checksums': ['bb944389a61cff22bb3bdde938a0ff6c16700a1ca725ef36b391b97812c45b26'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('distributional', '0.4.0', { + 'checksums': ['09b5f3279bed4c79575f75d5f7f5e3e593c7838434a78c89f0b7184e8f20e602'], + }), + ('posterior', '1.5.0', { + 'checksums': ['4a10307fcae321f2cd4ca7871504a0c6c9152b8473dc9a033721e8dcda18e2de'], + }), + ('loo', '2.7.0', { + 'checksums': ['7664f331555e569d6037100048681e3a696fb9ca2e87907712eb54faa85bcb36'], + }), + ('RcppParallel', '5.1.7', { + 'checksums': ['f9c30eb9ce1abffc590825d513d6d28dcbe970e36032dd7521febf04e905b29c'], + }), + ('StanHeaders', '2.32.9', { + 'checksums': ['27b0feb34e1200193e3a31a951d28c5adc91c93dc0454732545b8078132e0b33'], + }), + ('V8', '4.4.2', { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['e7bc35f3420f5f537121d681a90c16a74b36dc17210c9425e7f03842493a9670'], + }), + ('QuickJSR', '1.2.2', { + 'checksums': ['51842f846585c8dfdab155eb5a26be0735cae280fa1c1bff1907d718525968ed'], + }), + ('rstan', '2.32.6', { + 'checksums': ['3390d00191bbd3b0739dd19fe437b99a041a6b04be208877b48419d1348a1a70'], + }), + ('Rborist', '0.3-7', { + 'checksums': ['011efef9e6f304f752bd5013627dc8482f0e9d4cf1ec49503e97d3718f542596'], + }), + ('VSURF', '1.2.0', { + 'checksums': ['c027b1e19762f1eaf4a559c2592f3530210fefd21ee3d7c787c73b776c683393'], + }), + ('mRMRe', '2.1.2.1', { + 'checksums': ['d53c392e82a437005b71d0e8b97350d0237608fffafe087700fe7f6770167fd9'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '3.2.0', { + 'checksums': ['41d8ed4c01c3740028bdf2ba9c5550f1142061e4a40c93b1d2160719c59c3c4a'], + }), + ('ggsignif', '0.6.4', { + 'checksums': ['112051af425a0c0f2998ce187dacad066bc16f55af01e3e7b76d62ff6954b20a'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.2', { + 'checksums': ['e0c6f5ab1d9c5d84713defabc5d149aad3d55944cffdb903cc128b694e5221a1'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.6.0', { + 'checksums': ['2e6ec5d8151991d17ef8832259cf545fa0d1a50b326ba8c1c4657700171df774'], + }), + ('yaImpute', '1.0-34', { + 'checksums': ['b4c898c95fca784480bbbc239c78c85dc9f45a96c34c563ea7e81248ef8a8a73'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('leiden', '0.4.3.1', { + 'checksums': ['a9ecbbcfa2724d8fdd0133af569278e036b25b6e2cbb23d453092cc6b3fc30e2'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('packrat', '0.9.2', { + 'checksums': ['69df5943257e6c4d06f3d907241b668b53dedece72158ca935260b8b8e1672d7'], + }), + ('colourpicker', '1.3.0', { + 'checksums': ['c7f2618cd1ae1f7ac15aee072c648e6494dfff6714e13dc7cd1da993d1102510'], + }), + ('ggExtra', '0.10.1', { + 'checksums': ['6879edfe8e3905a2c299cbd18777422223ad30042bc6e20614ca5109a75de82c'], + }), + ('findpython', '1.0.8', { + 'checksums': ['0f8a90cbafd4949c0333a86808383a358fb7ec3268953d8a4887d5d22264cdb7'], + }), + ('argparse', '2.2.3', { + 'checksums': ['a50cc4e1221f063e472a8cfe7e881a1d4abed5ef93cf40d5f65a2528cdfd2674'], + }), + ('intergraph', '2.0-4', { + 'checksums': ['585f2f9fa92aa52022dfdcbe597a3654099ca63c1d4110a0f8e895fa32fc59c9'], + }), + ('ggnetwork', '0.5.13', { + 'checksums': ['6c297ead19dbd89de3278f3705410b757f2d9744bc466d8175105833a4e1fd46'], + }), + ('qqman', '0.1.9', { + 'checksums': ['3f6a931771d375174b78f220471ddd601def9b5c69631931b0992ebbc8c5bc13'], + }), + ('rstantools', '2.4.0', { + 'checksums': ['bff72ca2f0352c6c5d2868823e286fdb73a6ead74508a4124cbcb222c83b4faa'], + }), + ('bayesplot', '1.11.1', { + 'checksums': ['4f71e67391e0135acd3e890989b87025f3f8160242f532a8e1a0ed74ed0f3830'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('renv', '1.0.7', { + 'checksums': ['7b60b58a23743803ab167f82f78663e86f778947b2bda07afa12689338794507'], + }), + ('PKI', '0.1-14', { + 'checksums': ['c024e81977b978b705460df96639e3369420bd7e8f4f3242ec796255dc1b7966'], + }), + ('rsconnect', '1.3.1', { + 'checksums': ['47de8a832da493e2a1b3243fb42459a53eb193f75a1143348b7d8c7478cb5557'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2023-10.21', { + 'checksums': ['0d732d5604c26af59cfb95b80ed4e226c9c10422e2d82a6cc06b92f9ba6a44b5'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('memisc', '0.99.31.7', { + 'checksums': ['b403185850520db18ebd608df85c76df80e6c64af428cdc4e49c2fe487483637'], + }), + ('mclogit', '0.9.6', { + 'checksums': ['9adc5f6d8649960abe009c30d9b4c448ff7d174c455a594cbf104a33d5a36f69'], + }), + ('projpred', '2.8.0', { + 'checksums': ['b383ddc5eca275737b96e4e3e14256b4f4abc4b29d292b5cebf3828d0921a1f6'], + }), + ('brms', '2.21.0', { + 'checksums': ['7289ff33c2a4b83584b7fece0a6aa53fd14b5881a467d417fbca5dbf62ec5d58'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.9.1', { + 'checksums': ['c2136a7a5b3a6b71c8ba3cdfc7e83c14b400c9197c1544f0967297659e3b8631'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.4.1', { + 'checksums': ['1c277248ad00122f404aabd0f0bbdeaf1cd69c58b65faaf23e36ee39f1e750c7'], + }), + ('maxlike', '0.1-11', { + 'checksums': ['6dde7bb4a46d5509a1fee024c2fd1d13c82e14a80806969ec89359103ade01e9'], + }), + ('coxme', '2.2-20', { + 'checksums': ['a0eeeadaabe81458b4fe80d26ca9770ff17dc3a2a41a37b2d1b09fadb887cb62'], + }), + ('AICcmodavg', '2.3-3', { + 'checksums': ['4055b5f1fc12917b9f812c056e6a2dbf23bbd0169e468f567306ddf29d699f7a'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.4.0', { + 'checksums': ['f540de066de5538e303cd535cbd2e771b40474bc2c6e8d08a4894a868543ee33'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.8.0', { + 'checksums': ['8b5cd096404291d39778ec4fed36cd25719fa0ca4225866e67566c4d346d2ce8'], + }), + ('rgdal', '1.6-7', { + 'checksums': ['555cedfdadb05db90b061d4b056f96d8b7010c00ea54bc6c1bbcc7684fadae33'], + }), + ('rgeos', '0.6-4', { + 'checksums': ['9d03c4de96fd3fad55ff8d1ff8113dcaaa00f15d9d0588e54c9f91751bcede11'], + }), + ('mapproj', '1.2.11', { + 'checksums': ['db2d201cc939de26717566066bf44225a967ccde6fc34731af845f03c086347d'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.4', { + 'checksums': ['b1826899f33640541752f2b68ed4d23530fe62744ac4714adf79ff748fc6701a'], + }), + ('ridigbio', '0.3.8', { + 'checksums': ['e518dbaeaf7f0dd0b833d83a6a094e07c5bd84935279c9e35bb69fe35ee00288'], + }), + ('spocc', '1.2.3', { + 'checksums': ['ee14de78a9a91bf4220b3317d724f9e4953fda8b5478b2083690c984903db951'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('RPostgreSQL', '0.7-6', { + 'checksums': ['385939708b6a3657663409f91e165ded0ff5268d1dc6225e0f9b34764baf2d2c'], + }), + ('fasterize', '1.0.5', { + 'checksums': ['d44f101aec29aee285c4c7b578e26d11b6add423336ace90a7c22e07cfc1c3b4'], + }), + ('BIEN', '1.2.6', { + 'checksums': ['fa7a25d89f26c10686fb4ab4d0aa704beb50dc44b173ff56abe4ab3e5991f99f'], + }), + ('rangeModelMetadata', '0.1.5', { + 'checksums': ['289620500522d489aafbb03c85f68182ef0a6701fed5f9d09b55fae337e2647b'], + }), + ('ENMeval', '2.0.4', { + 'checksums': ['6d9f3c460fa7ab3131cede904fcb9280cf69f4fdd43f67115a3abcb8ed5b64d1'], + }), + ('plotmo', '3.6.3', { + 'checksums': ['6917cd8185325f1f2998fb14def9e6a8d93f1b708cf70d7c443d3960c9189b7b'], + }), + ('earth', '5.3.3', { + 'checksums': ['786a0fcabb3db13e0e0a4ba61ecccb7e171030b39bc97926f8e7159485d2f572'], + }), + ('mda', '0.5-4', { + 'checksums': ['f25f7f28807d0fa478b1b55eb9d026ebc30577d9d5ff288f9abfe1f3fdb8a759'], + }), + ('xgboost', '1.7.7.1', { + 'checksums': ['f7912ccf3a583a27208f74ca15c3b272cc930bae6b10ae7e5958ff2951ee9723'], + }), + ('biomod2', '4.2-5-2', { + 'checksums': ['1c4ca427b8d6af54de548023dcbe25c7e9cbea7afb684c58b66f4210af9eb4e5'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.2', { + 'checksums': ['aa2c774d6c6dcfeec882c1936e8723ef49bd36030fb10c17ca60bb9d4a519443'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-4', { + 'checksums': ['d4b3d65a33cae454d3ab13343bceabfb3f6b8004ac64ae7bd86dee92a1cd2055'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-5', { + 'checksums': ['b27cb2795cb59592d474cfaf49a21657a8878404da4f01c556f7323e953b4c5b'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.21', { + 'checksums': ['293544afb194934b1d58cf88c6f8c372f537745514b6e428cf83ae62e87d2bba'], + }), + ('dbarts', '0.9-28', { + 'checksums': ['d2e4b4ee1c191e7c506be3fec5a5e877c1b36754cba558bd75eaac9cc6ac0138'], + 'preinstallopts': local_dbarts_preinstallopts, + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.2.0', { + 'checksums': ['26fcfbc79810f23a28389a5ce5519e6ddc2470c5e924ba8cf4dd19a1b0fd9f83'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-10', { + 'checksums': ['f6fcd9012f2fa777127c86ba520d8dc834f4ea746a6e29623edd072479191c75'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('minty', '0.0.1', { + 'checksums': ['cfbdc6603c8fb54ea4d43091e2aee4c99212e6e20a335ed89576156d86237acd'], + }), + ('readODS', '2.3.0', { + 'checksums': ['1e120ff8fdb34c7e00f07726b4843cfaeee9c680bfdc2982e83422c24e4c0491'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.8.1', { + 'checksums': ['12952b9eaa64b7bdbaaa5c6b7acb3aa1028ddfa4e5de7ddfea54f900c452d6a6'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.9.1', { + 'checksums': ['f1db0c66c8fa05e99c4059c1799abc3eb7effd7113baf03f38d26853ac05c425'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-4', { + 'checksums': ['2f820474ed20e06f65b284962c87cd1e85220a11cc7fcde09716f0eee5821387'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.2', { + 'checksums': ['53b4e20cbb57615970c572fc4e7a780a510bde8b5deadec3880095f6e17a6328'], + }), + ('lmom', '3.0', { + 'checksums': ['4b0ae8638a63b45ddedfd65c15e3206d34e947a2b5d31e9aa8c55446d69a0291'], + }), + ('gld', '2.6.6', { + 'checksums': ['ea23e9781207b5d47ed04e4d5758d9652cab5d1eedcf9fbc9c2ee4d3babffdc4'], + }), + ('DescTools', '0.99.54', { + 'checksums': ['470a16405d52d7e8595ac025a0d2bf50b78edaebe83af358903e201168a80b9b'], + }), + ('orthopolynom', '1.0-6.1', { + 'checksums': ['ec4a6ed266532f2f6d37a4ca6bd1b74c1df28a8c2caeab60e5d6af15bdbfe2c5'], + }), + ('gaussquad', '1.0-3', { + 'checksums': ['a3337ce52bc53435cb4565a38bf48b72b384be397d2e86bb66f62973004dc810'], + }), + ('nlsem', '0.8-1', { + 'checksums': ['0674ec2a1ae7e50b08ee1b156674c2f2100258b14d6a9068f7dd6ad1ee128377'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.2.6', { + 'checksums': ['b759553446892a4b8697be0c696f5d2c5aafdb64cff1ca1b22557687ea7218bd'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-7', { + 'checksums': ['e440c2464b3bd3b452e02583bb280eecba6acecf0f2c04b6b9fe4dcdd128db3e'], + }), + ('blavaan', '0.5-5', { + 'checksums': ['a8d3bc5e9d15a2e8496950e87ed3c6bc6d769e761ec068e1f063f2d255330b6d'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '4.6-0', { + 'checksums': ['07344cc3bd87b8bd25ef998e9a6ce322ae8e448ef5af06ec3e79631724e18666'], + }), + ('RNifti', '1.7.0', { + 'checksums': ['e58cf73a0f5fbf5d6a2c845bfdeea193eb5262c73d0f329beae17d68f40e18e8'], + }), + ('oro.nifti', '0.11.4', { + 'checksums': ['efe4f5d2c2e37ff6c3e9250f54ef775e4d452c1334f781f22f219ed53148b606'], + }), + ('fmri', '1.9.12', { + 'checksums': ['d8b55f8867bb0487d1a8241b340099c41d990ae5aa49768b2dc0f9db58af65b3'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.6', { + 'checksums': ['4f28ae62748654cb6f90e1ffa17b05bb8b89eb6a20262d9c5d39cb862f71dc91'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2024.2-1', { + 'checksums': ['e3b21b08b7db3c2c06543a21718e1c18a2b2d2ddf4c92f0e44841d10f55d5c40'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2022-4.30', { + 'checksums': ['2684b8e7fb970da2afbc00e482031cf4447416249d04c4c1740400ad112fb911'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '3.5.4', { + 'checksums': ['2c2ab38ed5ae140e1d5d045a1d4b95ef9d286b13467301be37477258de87804f'], + }), + ('miceadds', '3.17-44', { + 'checksums': ['6ef69dd1ac3b547a1450ca54c719c5d1f983a585207cb09ae3ad6b42a8cc2165'], + }), + ('visdat', '0.6.0', { + 'checksums': ['104acdbb9d41167b861ab24de0e1e1e14f61c1b476bac112fcbc6e47c157e598'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-11.1', { + 'checksums': ['c2ffe6c30fc203337bde49ef630a740141604d8e648c558e58c20116c47963bc'], + }), + ('naniar', '1.1.0', { + 'checksums': ['a94c46c3a78893bd935a0a51adb6a523915afb35427a56ce650b1e1ab28c6f44'], + }), + ('stringdist', '0.9.12', { + 'checksums': ['e1843452ff4184b8d3bc5168732c0c65d3fce11f0df9fcf92173a22ef92e66c4'], + }), + ('image.binarization', '0.1.3', { + 'checksums': ['ecc844bdd9bf15b88ce1e1afc8321c177bdc8ec32618c22102b1e8b02b36e00e'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.11', { + 'checksums': ['373cfb1e79174b568dac254fab02d99bf79b830218bf18f0cc592af6fef853d6'], + }), + ('truncnorm', '1.0-9', { + 'checksums': ['5156acc4d63243bf95326d6285b0ba3cdf710697d67c233a12ae56f3d87ec708'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.9.5', { + 'checksums': ['7392bd644efe82f96da0df470a962de398f1d0162273cba1ff31c2ecd7f17a53'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('admisc', '0.35', { + 'checksums': ['cf4b5b3f09f0fd0ad085d97bd589be0cfe6652e5a365f7b09c0e93515b5aed3f'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-9', { + 'checksums': ['4ec305565c214872705f7d5ea4928c8761750663d664a77f1676d81a1ca0c632'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('rngWELL', '0.10-9', { + 'checksums': ['9969cc10be6d18155d2b2de93381c52e7f720c2b1b3f2554fa8bfa84ceb7cacb'], + }), + ('randtoolbox', '2.0.4', { + 'checksums': ['94da14953e4ffc7981d7a9398622082c4eda3bd9d912d1437b527d949da39e4b'], + }), + ('TruncatedNormal', '2.2.2', { + 'checksums': ['aef567e8962a64d1afbdfd98ab8f385f32966c3c42acb54ee20f02dceab18e15'], + }), + ('cSEM', '0.5.0', { + 'checksums': ['25ae115520aab7d916da9ded1f87b8519c4e15101c4adef2284c51eb03d81728'], + }), + ('cubelyr', '1.0.2', { + 'checksums': ['18b10f1fe561305a1e115a438460264b88b301b3e8c086b931500a798be39b94'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('broom.mixed', '0.2.9.5', { + 'checksums': ['959fa6cd26135ad408d3ee447d4423919c9cdaa9a6ecc4396f858c90d30b5ab3'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.3.2', { + 'checksums': ['c0392b6f6e20058cc6d5cdd5b5c1e5298bc42906cee45d04143adc4d6162427d'], + }), + ('twang', '2.6', { + 'checksums': ['0b28382af11cebf675cdffc66990e011d751e9703d27e2ed41895ead5e667fdb'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.3', { + 'checksums': ['5dc9d8bb4c0020b5e51a53a4fa71afa9adc6b907ea618b231f5cfc2877a49779'], + }), + ('origami', '1.0.7', { + 'checksums': ['b44034541ac358e0686682684c40e9a1de8d78c7913e56e4d3dbe41a2a55c62c'], + }), + ('hal9001', '0.4.6', { + 'checksums': ['1123288b603f97de98b42178ab5b4809536f64d7884a46b829795245eacd08dd'], + }), + ('cobalt', '4.5.5', { + 'checksums': ['076c1956e1a24d3ded5ac6227bf05cb294e103dc0d02d825e65b72d2c5f62ec0'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-14', { + 'checksums': ['26db6cf7dbc8cf43a70e5e2a34941a1c4b65e182f86f58d64ff9f614b3be929c'], + }), + ('finalfit', '1.0.7', { + 'checksums': ['4fb9fa3a8eae9ea80277ca3f256947d6f9485ab66ad2e3bbe429a586e79eda12'], + }), + ('bigD', '0.2.0', { + 'checksums': ['bca9eb0c9a231b159b97650884b1a7a490bc3bf4edef11cc12db06fb15c6ff5f'], + }), + ('juicyjuice', '0.1.0', { + 'checksums': ['64f5418b2a4794b47f0525baaf101beb4f1374ea22f38d7d604f5118bdb6e12a'], + }), + ('reactR', '0.5.0', { + 'checksums': ['e79e3f37c2f28ae70c912efe203dbca35094ce017e497421c049e1221817f192'], + }), + ('reactable', '0.4.4', { + 'checksums': ['b4aae6be2dd85aaa5226067415e501abc139e99499bc62c539630eeafdaf6af2'], + }), + ('gt', '0.10.1', { + 'checksums': ['c56760e2dd4490b755c569d5fbc25f38b33096cefec5bf24a01cb198e4cc3387'], + }), + ('gtsummary', '1.7.2', { + 'checksums': ['ddc225f1c3a629b47bce85b64229d2a99c46c7bf22b88a6bb6cc728e76d34b0a'], + }), + ('ncdf4', '1.22', { + 'checksums': ['b9a9a2004f4c008d665afbe617f4e4b45e57dc70e303c8ec341aa5a51fbb1210'], + }), + ('geex', '1.1.1', { + 'checksums': ['a1aebb9f73ba8dfe26ee3dc7b0725ccb814b3db5358ba17e417bdfc7eb3e4143'], + }), + ('momentfit', '0.5', { + 'checksums': ['5f68e90545f123790d6ba149a21f07d1885361e4ca748cc93fb13bc443f7c720'], + }), + ('StatMatch', '1.4.2', { + 'checksums': ['852f9f923e18f528af86858e10142800182f87c216636b4d7de4345661ee954f'], + }), + ('stars', '0.6-5', { + 'checksums': ['4fcb12f25ce4351840d24489b8d6ca61eecc0da12f93bfab702701a430d0afac'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.2', { + 'checksums': ['3745e962592f021a3deaed8b2f6b99c4f7181f28e095300a96d1c2b08af4af2f'], + }), + ('geometries', '0.2.4', { + 'checksums': ['c6292acc336bb8520b8cb3672566f993fd077cb1f6f980ae39b9c9f56b971410'], + }), + ('sfheaders', '0.4.4', { + 'checksums': ['f65ffe67b1d07beb6904b8960c66be684f5526b4d6450ab46c630c77e9b9bd07'], + }), + ('geojsonsf', '2.0.3', { + 'checksums': ['275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1'], + }), + ('leaflet.providers', '2.0.0', { + 'checksums': ['c5ceeadc8088c9840a8249f0347501cdba0119be97219a01ea2050d1dd4a8666'], + }), + ('leaflet', '2.2.2', { + 'checksums': ['d2877b8d394116cc648456a828c5b825728be6a7afbbb3d55cc142c91a1ab8eb'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.3', { + 'checksums': ['defd5baa4383da4182e97d41145c7a9633a987de05c465eb99a7a452fbf375e3'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-4', { + 'checksums': ['c966bcd61c21a9609144f2de89da1601e734ee2c6903f08bf624b217944faaf7'], + }), + ('collapse', '2.0.14', { + 'checksums': ['a802773967abc0c015be4f00f26042eb792175f317f6d75bed8849a0928e555a'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.5.0', { + 'checksums': ['51b99e6fe0a1f4c32c860fc24b0164f0ade5d81aee7235e0ef5b5256e2115b68'], + }), + ('Rmpfr', '0.9-5', { + 'checksums': ['bce9a2729efcd329a13910e2ecb4675b4626dd3322cd01b01cb835d516a5f31b'], + }), + ('scam', '1.2-17', { + 'checksums': ['b33de62a18da930ceee2db73cd951fb47d5855bb58c80331eee2730437e30502'], + }), + ('copula', '1.1-3', { + 'checksums': ['9b196cb4f1d6faa46ae6f80a4639b4044c98aaf9dcc02face6e04a51003677a6'], + }), + ('evd', '2.3-7', { + 'checksums': ['4a899df15d39be4a8d544de4f5e4690b4673790a46da6a6c9c2a70fef3b55648'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6.5', { + 'checksums': ['5ca310337acc4539aea9dafc4200abccb9476bd0c73cbe8c7c95b50511a4c948'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('kde1d', '1.0.7', { + 'checksums': ['d60bc5f543d865df9f928b4dfe0e4f846774280d7faa343a24c0e7083129cffc'], + }), + ('RcppThread', '2.1.7', { + 'checksums': ['88debafefb13a77e507eeb2ae2a9e53f717e8cff071fcb4063b2be549423bbe8'], + }), + ('wdm', '0.2.4', { + 'checksums': ['e2d19c04ea2fb9394cc2b61899c7fd21ae7c6d5825bfdcb74822c7243cd335d3'], + }), + ('rvinecopulib', '0.6.3.1.1', { + 'checksums': ['df95d007552e7fa30aefad90a86acf5e14f6fe1e363ed4c71a74d501a08cbf32'], + }), + ('PearsonDS', '1.3.1', { + 'checksums': ['415d3cdb980cff474e09f5cd4118f7c5475d7a9623430b16e83999a370fb07e8'], + }), + ('covsim', '1.1.0', { + 'checksums': ['30de5b5711d7608796479c3a2adb9c9cbf8659f833d3f687a9f8b275a093665e'], + }), + ('semTools', '0.5-6', { + 'checksums': ['f522ce3c02ac580ad49af7a7278141dae39fdfaeccc7d1379faf1266ce9fcaf2'], + }), + ('GPArotation', '2024.3-1', { + 'checksums': ['88f657af29789591d581e0c529fd50ef1307abfb33e0403209bd3e591e2654da'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.41', { + 'checksums': ['d01b2d2e8caf0f1569f1db9138839e698e17c46020dfaaab8a5496f649c6a863'], + }), + ('rpf', '1.0.14', { + 'checksums': ['e4bb090a810ec4e70a23547f95e1e07ce0229e38fbbbbe22abfad98e9b33f796'], + }), + ('OpenMx', '2.21.11', { + 'checksums': ['152570b9cdb2d6b91f309b352458ed1b29ae2f7ce1f97c091f84c617a14071cc'], + }), + ('matlab', '1.0.4', { + 'checksums': ['1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea'], + }), + ('FactorCopula', '0.9.3', { + 'checksums': ['df1675bb96431417cdbb9000ab80e15e12d82c8ed9809eeb3d7fe7b4855178d3'], + }), + ('rpact', '4.0.0', { + 'checksums': ['ecd9e5af98b16f71c0b6511080eafea57f94fe87018038b087519f907cf19ad7'], + }), + ('ldbounds', '2.0.2', { + 'checksums': ['a98d8498e46fd814957e7d47a6bf3d27649885ed840c0753469f268b8942bda7'], + }), + ('catlearn', '1.0', { + 'checksums': ['c6ef66257b8a6968599876f53bd431b5d836f125b32cdb829b53fb972ffeffaf'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-4', { + 'checksums': ['796f1424fc75800f1818f427809730f43eb798614ac570af1c301e951b2d3c82'], + }), + ('ggdag', '0.2.12', { + 'checksums': ['9d5621290eb234e9c5c2e8cb357e1e5267a00a9549b6c45ae7e760989de2b160'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.3', { + 'checksums': ['8a030b5be9c6494b44af9d8cd7a966cc94a41ae0aaecb553fc36de4762749110'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('RhpcBLASctl', '0.23-42', { + 'checksums': ['5c889d5b69e264060b9f1f0383c447f594855b8afc15b7d76d39e4d62b946615'], + }), + ('harmony', '1.2.0', { + 'checksums': ['a63c7d7cbbc5d183e8f919552e9d73044e0a89660856e80861a00eb5d25ac7b5'], + }), + ('apcluster', '1.4.13', { + 'checksums': ['5e975baa427def9944ec0a3ea5f8f92f4ebce4e98689b4019525d25b54d5a1a7'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.18-2', { + 'checksums': ['8b20580bc6ab4c4bbe8a8ffb5f55e75e5d6855955b49d6dcb1259436715b84df'], + }), + ('pdp', '0.8.1', { + 'checksums': ['e23db66e5d575337d5c8fd664ccd0548cc85da2aca6613d90ce187be1dca376c'], + }), + ('date', '1.2-42', { + 'checksums': ['5a913f960a0071cf9db05df4de03055a21a1c243b3bdbf846375537a664bcb74'], + }), + ('cmprsk', '2.2-12', { + 'checksums': ['773ecb93be0eac7bb5dfe9ea1480380da89ea95497b7b2febb08fd7c5104acdc'], + }), + ('mets', '1.3.4', { + 'checksums': ['8a0136c2134c169ef5b7e88741b0fa7f570a1f838341c97ce1bd5f05b6513a7a'], + }), + ('Publish', '2023.01.17', { + 'checksums': ['436cc2bf5cdca1b3fdf892c9d35227f01740f1a4b335ff7b42a37e12c0115953'], + }), + ('riskRegression', '2023.12.21', { + 'checksums': ['ac4ca90c4d533b3eb7659bc6b5a8ae6bd18eb9a08f619d3d19314cb10d929b1d'], + }), + ('pec', '2023.04.12', { + 'checksums': ['6552fe9843b0b59bfd97c0db70c1ac5b0291184b498a796803b9dca0dc70ef95'], + }), + ('pammtools', '0.5.93', { + 'checksums': ['948030fbeaee8d89cca39b2660d4ba45d7de30f6c7d83f07fcdfea66bfde3076'], + }), + ('relsurv', '2.2-9', { + 'checksums': ['e966435c16c0978d1314867c3b9fbd7170ae7450d60e676d06cc7f8ca3d74d78'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.10', { + 'checksums': ['04cc41be72708dce8d31ff1cb105d88cc9f167250ea00fe9a165c99204b9b481'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-13', { + 'checksums': ['cbef4706aa09e93030243cee3ae4e62b02160d96981020f5a385751eade4f88d'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.3', { + 'checksums': ['2c5735fc2a2728a71272aaf0d559bc7bc09b45476ea63d94cb7be84f0dbfaf85'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('AMAPVox', '2.2.1', { + 'checksums': ['9fe36614bc1bc0f74dec4dbfe4e2b13a3b33cca90ed02670ae52705dc704eb81'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.14', { + 'checksums': ['6516f963301e1ebfd08745a743691d1419aa82f1197cc69bfffc946ff0bf1866'], + }), + ('logger', '0.3.0', { + 'checksums': ['6da7bd851c5410e3cb27f32eb2e66e25f429abb1b9427ffa3beb224070cd7047'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.1.4', { + 'checksums': ['32d4e1b0bfe94b9c051615e65d90fc2bd14e1d6019706cbc483f84c3cd8d3154'], + }), + ('ggfun', '0.1.5', { + 'checksums': ['fe6c01fd68c17497f23f76dfd4e5a6edd79a6e86850b8c5054748f31527b16d3'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.2', { + 'checksums': ['01bae5759e14e211bddb04413e094ba31399b513989894ea08602d202f990e87'], + }), + ('aplot', '0.2.3', { + 'checksums': ['1fb062050199933f724164118cc3e5d85b60a3a4d4a466016bed2928b0310d6a'], + }), + ('tidytree', '0.4.6', { + 'checksums': ['dba909ba767283fa76795a67e048ff1c8cd339c7e44f64c9698c70ecb3d92292'], + }), + ('ggvenn', '0.1.10', { + 'checksums': ['cde116f117266cca27d8cd20205512e602c23514db6d97caaa950b9b21fa873e'], + }), + ('scatterpie', '0.2.3', { + 'checksums': ['704f1072ff934729aefdd659e5c81e62b59f5ae94dc36a1e1f52085dce896447'], + }), + ('shadowtext', '0.1.3', { + 'checksums': ['861af6ff3401e34e4e5a996fde277cefb7554af24bb22459367c1f391ac12b81'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-22.1', { + 'checksums': ['438e6241b96b73cf9adf51b5564fd27a14710256c93aa18e6b7382acc89d38a5'], + }), + ('aricode', '1.0.3', { + 'checksums': ['10a739353feb4f552496d3a51d436088c92edbd241f80f7c33ee5f278de1d90a'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-12', { + 'checksums': ['56f8b1bdb392f8fb679a343b2ad5b4656c4f21d4ead85d6d81900d2f8b63ceea'], + }), + ('ggh4x', '0.2.8', { + 'checksums': ['a84e9e9553afc7b4cd107c576f93ba99eaa14c71e36ceb25f09f841a1cee62ee'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.4.1', { + 'checksums': ['e83d8653578b3c245d912dd5d7b03f0b2f875b206fbe3d0f328635dabf2522a8'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.7', { + 'checksums': ['5a2647b4d130d3b76dc08a2fe568e1e8eb2c8a69a4fb831032b7614446d4456c'], + }), + ('mosaicCore', '0.9.4.0', { + 'checksums': ['e25605d787d274eedd3de8584283c20204bcb7b94f4a409461304ce7cd867d6c'], + }), + ('ggformula', '0.12.0', { + 'checksums': ['d569f83e059f9e4836bd513f92706fb8a614300f744dcc47bf86e8dafd8e776d'], + }), + ('kinship2', '1.9.6.1', { + 'checksums': ['695b73964fa1d9329bd5d57f2b44e0faf56fec8a10aff5d936dff7b1d061ef2d'], + }), + ('MESS', '0.5.12', { + 'checksums': ['41e07993e67a8aab52d9d4d07a06d654186ac8a8db9b740763ed5d481f01dcf7'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-2', { + 'checksums': ['e9ef9bf0058b63b43a4bc7aa2f696ef1b4c3a0dc8aa804bc6347f8f650ebe1a8'], + }), + ('webutils', '1.2.0', { + 'checksums': ['51243a1d7843dbb3968e7725c2266e1d68dcec43b919c320033f611ff9ca7f3c'], + }), + ('swagger', '5.17.14', { + 'checksums': ['3341d9157cc35b73ffafbccc7c3dd28ba4d53493b2fa4565f38f326c2a337f6d'], + }), + ('varhandle', '2.0.6', { + 'checksums': ['4e7afd3ef77343c61508b0465b588751dc089c264faabf7bed60e9f4d9e1c577'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2-3', { + 'checksums': ['e7572f82c159f34058fdec4c8158d394d6cf68b7978953c8893315e298cc6d06'], + }), + ('unikn', '1.0.0', { + 'checksums': ['6edd5d420175a4691066b5c695d2a96f706d225a62473c85be62b2dd42350dc1'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('berryFunctions', '1.22.5', { + 'checksums': ['3360bdc4c73d1d7daccc134e8b959b50bf58a67bbbf3186fc5efb5a020caa1cd'], + }), + ('cld2', '1.2.4', { + 'checksums': ['79e04de836812a980406a540c0f022926ba71c2bf5294ad5eaa437a9c33e615b'], + }), + ('crfsuite', '0.4.2', { + 'checksums': ['d5f6379a2bb7fd585fde5945189a6a69e1ef33664fe86828d646f5f4505f8d96'], + }), + ('doc2vec', '0.2.0', { + 'checksums': ['db3853685072554402434ea699d703e01ac7818044cf47a2ee7d0e1040858908'], + }), + ('fastDummies', '1.7.3', { + 'checksums': ['cf6a182f778711b69460b00575babfa573f1578166d83ae2ed932db5fa15a06a'], + }), + ('quanteda', '4.0.2', { + 'checksums': ['b21c650c01f925e406057950455991f87979708e321688abf86638bbc63504e8'], + }), + ('ISOweek', '0.6-2', { + 'checksums': ['b58a37b61ee772ea2704d510e9fce69dea4dd641b45124d566242825df4530b8'], + }), + ('sentometrics', '1.0.0', { + 'checksums': ['b5c238bb72f36331cb1ed63b581a9a2a73cefc96f80bf770b0e064a89fe31b1b'], + }), + ('tau', '0.0-25', { + 'checksums': ['ff22d4a633957479e0ecdb1c0223df09f9321017aade6a28b2f264fe7bbd8e90'], + }), + ('textcat', '1.0-8', { + 'checksums': ['cb650147576bae9c78381524831c9fcc85c76177274672098aac1860aa39749e'], + }), + ('textplot', '0.2.2', { + 'checksums': ['6e99a204b4be2ccd317978eda900b923e0e0a0f34217405777a0eb5fcc80e2a9'], + }), + ('udpipe', '0.8.11', { + 'checksums': ['522900de24d1f0f4f15e6b26df5521ac6efaf63c5fcfc35171a78275b3633233'], + }), + ('word2vec', '0.4.0', { + 'checksums': ['38c6934ad7c601d6de7fa44a1ecf911ef34609b5c32b67da12a0814124036a91'], + }), + ('epitools', '0.5-10.1', { + 'checksums': ['b418854de1fcedd126f3bf19dc27e8a71ee6efae5371098ab64a53a2d51d164b'], + }), + ('RBesT', '1.7-3', { + 'checksums': ['8a6e1a2afb07cd04f9a9bd1a1de7587c61683dd0d437db816055e30164b070a5'], + }), + ('svglite', '2.1.3', { + 'checksums': ['f0a8564e6f9127f4d1e05cf5a5f36b4e244aee0008e27473e504c63873ef0a54'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('FKSUM', '1.0.1', { + 'checksums': ['6de23f5b7692f627b0b8e9575a612e77e166c16c28acab31d5ea0a27d7afe829'], + }), + ('warp', '0.2.1', { + 'checksums': ['020ad590de099661aa62b4d5e51499a2ac91c41c61db2dbc71c3f4a3df2c46be'], + }), + ('slider', '0.3.1', { + 'checksums': ['200a26795fadb2058e3976af7a697dde7f120645279cfe2580b8c0d6c0a429b0'], + }), + ('rsample', '1.2.1', { + 'checksums': ['e3f437f21ea527d1c9fa344494b4c127254c5c5d87b0b2aecfcbdeea5964edc5'], + }), + ('haldensify', '0.2.3', { + 'checksums': ['fc0ee1d5bce54520bad6a1ce1cce5074eead6c8573dc4ce502c48a244d7f341c'], + }), + ('Polychrome', '1.5.1', { + 'checksums': ['6fe7da62459d7b94b1a8516a4626971cf35b76331f46e36798b05d29aa00d143'], + }), + ('shinycssloaders', '1.0.0', { + 'checksums': ['744641836a4cede2bb47caff1b600bff2c3e450dfccd2af4fab0413a8ea87d64'], + }), + ('princurve', '2.1.6', { + 'checksums': ['0216332390eb27013b6ba62232782156dfc99ca640087fcaff53d2be9218f373'], + }), + ('ECOSolveR', '0.5.5', { + 'checksums': ['2594ed1602b2fe159cc9aff3475e9cba7c1927b496c3daeabc1c0d227943ecc7'], + }), + ('scs', '3.2.4', { + 'checksums': ['c3f39874bf4532fa8c2f2e2c41533ba4fe20b61cf6dfc6314407dc981621298f'], + }), + ('osqp', '0.6.3.3', { + 'checksums': ['ff3d8e4ec7764333144d461eb5ea7a4adbf5b5f29f84c3ec3e60a93802e2f5bb'], + }), + ('CVXR', '1.0-13', { + 'checksums': ['81895c750a562d04bb6840ef7744f3a2dd6232b076d5c18ecdcf30a60f83875a'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), + ('officer', '0.6.6', { + 'checksums': ['f1fc3f7a9299da1fd09864da4ae6b8c47c6491f0119da86863b1c9470caeb412'], + }), + ('gfonts', '0.2.0', { + 'checksums': ['72e2eead5280b45aadbbd9385971d65e9866fd659270b1c3c1eb98330f024aa6'], + }), + ('fontBitstreamVera', '0.1.1', { + 'checksums': ['3298b3dd95605bdda0c5fce5594c9bedde6aa63d89b216d5c83c6c092b6d375a'], + }), + ('fontLiberation', '0.1.0', { + 'checksums': ['acdea423e005873aa509e280074a3cef4796e4f7e9d77b3945d77b451ea039f0'], + }), + ('fontquiver', '0.2.1', { + 'checksums': ['95871814c2d55c03ee15a54e29aadfb840c791e1430f94127d9e1dc8608a6363'], + }), + ('gdtools', '0.3.7', { + 'checksums': ['d292c3b8574adc38007662085c3d1cf5d17e8019f085295d594380d85cf2b394'], + }), + ('flextable', '0.9.6', { + 'checksums': ['232e050bec231b5d58ca8ad54116c476d2dd683ac2824b3688c06250338f9229'], + }), + ('ridge', '3.3', { + 'checksums': ['5c2daecf6f97aa099ef5fa54f8448518c4f2ed6e44dd29fc60621a70721c60f5'], + }), + ('ggdist', '3.3.2', { + 'checksums': ['f6563091cb7ca48b4fb415740a60113be6aac541616f5025110364e12cbe83f1'], + }), + ('svUnit', '1.0.6', { + 'checksums': ['263e6c03d6c2717dfd25b96d25f8019c9c98120de280a17224e0d79adba2d522'], + }), + ('arrayhelpers', '1.1-0', { + 'checksums': ['5fddd5dd4fb8237bcb24465ef823bc8715ba53e6e5fd7a716c31c48ec128340b'], + }), + ('tidybayes', '3.0.6', { + 'checksums': ['706044e17855a684a5ad1aeb582963dd3c7192a4a8ad0584358d0ea7c7aadb90'], + }), + ('spdep', '1.3-5', { + 'checksums': ['ba8efa06ddbc12408f4f6d4c85606d84922131d9c05953e0b23b81f03e56e626'], + }), + ('stringmagic', '1.1.2', { + 'checksums': ['eed1c04aa99be5a99ecfdd32498279f170e261669cc1b91d18673454064b8f8c'], + }), + ('dreamerr', '1.4.0', { + 'checksums': ['3e5e4afd10623b6dac6bb9b8bf0480d41c7422884cfec2d9d9786414f9026a87'], + }), + ('fixest', '0.12.1', { + 'checksums': ['7ce71ab9856b17000aae7dd578b1b99a43fee35116500626005056b4d9e713df'], + }), + ('cmna', '1.0.5', { + 'checksums': ['7cf99880cb70e8fd0b022184167888b1ad32dca503e0250c1d552a84f0613898'], + }), + ('XBRL', '0.99.19.1', { + 'checksums': ['ad9ebb5431bdfecc38b8bf3b2552f1a048878a9ac02f5a9d71279b3b099a9757'], + }), + ('rhandsontable', '0.3.8', { + 'checksums': ['901ed9c59936f7fa52ad8db3111c8904ab962f9c74f1b6cd40f81683af35d21d'], + }), + ('missMDA', '1.19', { + 'checksums': ['f9675884829b2fef75237c335b21991d163674320e766523c71c7a853f95e65c'], + }), + ('insight', '0.20.3', { + 'checksums': ['b60e189849cd3c368e9c2b2174e89c2dfbba3b34e84feb8a20af1bb758116bb2'], + }), + ('datawizard', '0.12.2', { + 'checksums': ['fee36520440131596394878eb19f295609ef5d7997a3a5614c059f2a8d2be081'], + }), + ('bayestestR', '0.14.0', { + 'checksums': ['fa0f94204b414df05ecf7340b37fbb5fbe6dff2d057e2425a6990b6510054880'], + }), + ('performance', '0.12.2', { + 'checksums': ['b55e663eb45b8e88625c704506f20c4068a1c892c5a6a94d7bd0c0e3a7ed4028'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['abind', 'base64', 'calibrate'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R-bundle-CRAN/liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch b/easybuild/easyconfigs/r/R-bundle-CRAN/liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch new file mode 100644 index 00000000000..56af45097b7 --- /dev/null +++ b/easybuild/easyconfigs/r/R-bundle-CRAN/liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch @@ -0,0 +1,49 @@ +The code requires C++11 but nvcc is not passed any flag for it, do that to avoid 'error: identifier "__ieee128" is undefined' on PPC +Use uppercase __PPC64__ to detect PPC 64bit (defined by GCC) +Use lowercase __aarch64__ to detect aarch64 (defined by GCC) +diff -aur liquidSVM-orig/MD5 liquidSVM/MD5 +--- liquidSVM-orig/MD5 2020-02-20 15:51:17.387058566 +0100 ++++ liquidSVM/MD5 2020-02-20 16:48:06.042078399 +0100 +@@ -66,7 +66,7 @@ + e0ea06f050a2ae8ed2f2e401d968f0ce *man/test.liquidSVM.Rd + 8874fc45419e3174bf06013d887f6582 *man/trainSVMs.Rd + 4cf2abf7c6d415a4a8cd7f5dee2df959 *man/write.liquidData.Rd +-854c1eecccd169acdb80b03ad6d768dc *src/Makevars.in ++8c4346267f7b7f649ff27fb5288d4e23 *src/Makevars.in + e6d47b428caa2cc55798b431cb5e504f *src/kernel_calculator.cpp + 13af8529f5c2bccd4ea03288e9adf908 *src/kernel_calculator.h + dc2c86cbe61e7b7c5dd433f9fa41fac6 *src/liquidSVM.cpp +@@ -155,7 +155,7 @@ + 8b39ec05680bf3416bc1de3ad92f043f *src/sources/shared/system_support/cuda_simple_vector_operations.h + 806ca83732bff4b1b89adfc3494e90da *src/sources/shared/system_support/full_64bit_support.h + dfb08cdb449d490d86dd33bee186aac5 *src/sources/shared/system_support/memory_allocation.cpp +-aec0000be577e69e88c040b641d6818a *src/sources/shared/system_support/memory_allocation.h ++f0231e65bd627116f1b5ebcc45ab1e66 *src/sources/shared/system_support/memory_allocation.h + 683d4ee517b1c760dc410c69c5508ce2 *src/sources/shared/system_support/memory_allocation.ins.cpp + cbd209324ad752e19be10d8975d65e2f *src/sources/shared/system_support/os_specifics.h + 54e8583d2e8e269ff2b6d7a79d57cbd5 *src/sources/shared/system_support/parallel_control.cpp +diff -aur liquidSVM-orig/src/Makevars.in liquidSVM/src/Makevars.in +--- liquidSVM-orig/src/Makevars.in 2020-02-20 15:51:17.377058962 +0100 ++++ liquidSVM/src/Makevars.in 2020-02-20 16:47:44.042949538 +0100 +@@ -39,7 +39,7 @@ + # The architecure flag can be set to higher values, if the hardware supports this. + # The value below should be safe for essentially all non stone-age systems. + +-NVCCFLAGS= -arch sm_30 -L$(CUDA_LIB_PATH) -DCOMPILE_WITH_CUDA__ -U__SSE2__ -U__AVX__ ++NVCCFLAGS= -arch sm_30 -L$(CUDA_LIB_PATH) -DCOMPILE_WITH_CUDA__ -U__SSE2__ -U__AVX__ -std=c++11 + + + #----------- CUDA related flags for GCC ---------------------------------------------------- +diff -aur liquidSVM-orig/src/sources/shared/system_support/memory_allocation.h liquidSVM/src/sources/shared/system_support/memory_allocation.h +--- liquidSVM-orig/src/sources/shared/system_support/memory_allocation.h 2020-02-20 15:51:17.377058962 +0100 ++++ liquidSVM/src/sources/shared/system_support/memory_allocation.h 2020-02-20 15:56:04.905673381 +0100 +@@ -42,7 +42,7 @@ + + // Check for GCC + #if __GNUC__ +- #if __x86_64__ || __ppc64__ ++ #if __x86_64__ || __ppc64__ || __PPC64__ || __aarch64__ + #define SYSTEM_WITH_64BIT + #else + #define SYSTEM_WITH_32BIT + diff --git a/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..367d0c8c5f7 --- /dev/null +++ b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.1.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'R-tesseract' +version = '5.1.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/package=tesseract' +description = "The R extension for using tesseract" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [('pkgconf', '1.8.0')] + +dependencies = [ + ('R', '4.2.1'), + ('poppler', '22.12.0'), + ('tesseract', '5.3.0'), +] + +exts_defaultclass = 'RPackage' + +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', +} + +exts_list = [ + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('qpdf', '1.3.2', { + 'checksums': ['d9c905a4879274d72de0c638f2e14737ec0a59895cbba9814e05c62b43e8e976'], + }), + ('pdftools', '3.3.3', { + 'checksums': ['ffc0dfa5205ac3c26ee22713289784cb6b9aada6c21417d79bfd4d7f5bd5909c'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('tesseract', version, { + 'preinstallopts': 'INCLUDE_DIR="$EBROOTTESSERACT/include/tesseract -I$EBROOTLEPTONICA/include/leptonica"' + + ' LIB_DIR=$EBROOTTESSERACT/lib', + 'checksums': ['6dae7cbc1d4cf6decabb2d1c56d95b5eb6a0a4a1cbc9f9a1c274ba558b31cdfa'], + }), +] + +sanity_check_paths = { + 'files': ['tesseract/libs/tesseract.%s' % SHLIB_EXT, 'tesseract/R/tesseract'], + 'dirs': ['askpass', 'qpdf', 'pdftools', 'rappdirs'], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.2.1-foss-2023a.eb b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.2.1-foss-2023a.eb new file mode 100644 index 00000000000..4981b999b95 --- /dev/null +++ b/easybuild/easyconfigs/r/R-tesseract/R-tesseract-5.2.1-foss-2023a.eb @@ -0,0 +1,51 @@ +easyblock = 'Bundle' + +name = 'R-tesseract' +version = '5.2.1' + +homepage = 'https://cran.r-project.org/package=tesseract' +description = "The R extension for using tesseract" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('pkgconf', '1.9.5')] + +dependencies = [ + ('R', '4.3.2'), + ('poppler', '23.09.0'), + ('tesseract', '5.3.4'), +] + +exts_defaultclass = 'RPackage' + +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', +} + +exts_list = [ + ('qpdf', '1.3.3', { + 'checksums': ['415610be6fa73f60a31872b81fea089288b07f9cb6d078088009207c5e60fe53'], + }), + ('pdftools', '3.4.0', { + 'checksums': ['0b9d7b2100a6d7959c56e144285b9638ca6ff4a7f484a31ff814a99d71482c64'], + }), + ('tesseract', version, { + 'preinstallopts': 'INCLUDE_DIR="$EBROOTTESSERACT/include/tesseract -I$EBROOTLEPTONICA/include/leptonica"' + ' LIB_DIR=$EBROOTTESSERACT/lib', + 'checksums': ['ffaba641c5d531a2b6d4ded3608a669206b1e0690cb5e013e3fc9db8aea117fe'], + }), +] + +sanity_check_paths = { + 'files': ['tesseract/libs/tesseract.%s' % SHLIB_EXT, 'tesseract/R/tesseract'], + 'dirs': ['qpdf', 'pdftools'], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb b/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb new file mode 100644 index 00000000000..fbc8b3c32f9 --- /dev/null +++ b/easybuild/easyconfigs/r/R-transport/R-transport-0.13-0-foss-2021b.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'R-transport' +local_rpkg = 'transport' +version = '0.13-0' + +homepage = 'https://cran.r-project.org/package=transport' +description = "transport: Computation of Optimal Transport Plans and Wasserstein Distances" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/transport/', + 'https://cran.r-project.org/src/contrib/', +] +sources = ['%s_%%(version)s.tar.gz' % local_rpkg] +checksums = ['c55efbdd93e36e92ef39e4b9529ee64c3c7ecb965d77ec9c469a7c56c93f5f57'] + +dependencies = [ + ('R', '4.1.2'), +] + +options = {'modulename': local_rpkg} + +sanity_check_paths = { + 'files': ['transport/R/transport', 'transport/libs/transport.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/R/R-3.3.3-intel-2016b-X11-20160819.eb b/easybuild/easyconfigs/r/R/R-3.3.3-intel-2016b-X11-20160819.eb index c9d9b92cc47..c29dcf3fa05 100644 --- a/easybuild/easyconfigs/r/R/R-3.3.3-intel-2016b-X11-20160819.eb +++ b/easybuild/easyconfigs/r/R/R-3.3.3-intel-2016b-X11-20160819.eb @@ -27,7 +27,7 @@ dependencies = [ ('libpng', '1.6.24'), # for plotting in R ('libjpeg-turbo', '1.5.0'), # for plottting in R ('LibTIFF', '4.0.6'), - ('Java', '1.8.0_92', '', True), # Java bindings are built if Java is found, might as well provide it + ('Java', '1.8.0_92', '', SYSTEM), # Java bindings are built if Java is found, might as well provide it ('Tcl', '8.6.5'), # for tcltk ('Tk', '8.6.5'), # for tcltk ('cURL', '7.49.1'), # for RCurl diff --git a/easybuild/easyconfigs/r/R/R-3.5.0-iomkl-2018a-X11-20180131.eb b/easybuild/easyconfigs/r/R/R-3.5.0-iomkl-2018a-X11-20180131.eb index b5ababcb2d4..0852baef0e8 100644 --- a/easybuild/easyconfigs/r/R/R-3.5.0-iomkl-2018a-X11-20180131.eb +++ b/easybuild/easyconfigs/r/R/R-3.5.0-iomkl-2018a-X11-20180131.eb @@ -30,7 +30,7 @@ dependencies = [ ('libpng', '1.6.34'), # for plotting in R ('libjpeg-turbo', '1.5.3'), # for plottting in R ('LibTIFF', '4.0.9'), - ('Java', '1.8.0_162', '', True), # Java bindings are built if Java is found, might as well provide it + ('Java', '1.8.0_162', '', SYSTEM), # Java bindings are built if Java is found, might as well provide it ('Tcl', '8.6.8'), # for tcltk ('Tk', '8.6.8'), # for tcltk ('cURL', '7.58.0'), # for RCurl @@ -70,15 +70,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on June 20 2018 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', ('Rmpi', '0.6-7', { diff --git a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-Python-2.7.15.eb index ade3dc827cc..3cf0f77bff8 100644 --- a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-Python-2.7.15.eb @@ -30,7 +30,7 @@ dependencies = [ ('libpng', '1.6.34'), # for plotting in R ('libjpeg-turbo', '2.0.0'), # for plottting in R ('LibTIFF', '4.0.9'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Tk', '8.6.8'), # for tcltk ('cURL', '7.60.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -71,15 +71,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on Aug 17, 2018 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', ('Rmpi', '0.6-7', { diff --git a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-bare.eb b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-bare.eb index b6425f1a0f4..75f04ccc800 100644 --- a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-bare.eb +++ b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b-bare.eb @@ -36,7 +36,7 @@ dependencies = [ ('libpng', '1.6.34'), # for plotting in R ('libjpeg-turbo', '2.0.0'), # for plottting in R ('LibTIFF', '4.0.9'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Tk', '8.6.8'), # for tcltk ('cURL', '7.60.0'), # for RCurl ('libxml2', '2.9.8'), # for XML diff --git a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b.eb b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b.eb index 42f68a958e8..e0d6e243698 100644 --- a/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b.eb +++ b/easybuild/easyconfigs/r/R/R-3.5.1-foss-2018b.eb @@ -28,7 +28,7 @@ dependencies = [ ('libpng', '1.6.34'), # for plotting in R ('libjpeg-turbo', '2.0.0'), # for plottting in R ('LibTIFF', '4.0.9'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Tk', '8.6.8'), # for tcltk ('cURL', '7.60.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -69,15 +69,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on Aug 17, 2018 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', ('Rmpi', '0.6-7', { diff --git a/easybuild/easyconfigs/r/R/R-3.5.1-intel-2018b.eb b/easybuild/easyconfigs/r/R/R-3.5.1-intel-2018b.eb index 191e1926053..85c028d5c76 100644 --- a/easybuild/easyconfigs/r/R/R-3.5.1-intel-2018b.eb +++ b/easybuild/easyconfigs/r/R/R-3.5.1-intel-2018b.eb @@ -28,7 +28,7 @@ dependencies = [ ('libpng', '1.6.34'), # for plotting in R ('libjpeg-turbo', '2.0.0'), # for plottting in R ('LibTIFF', '4.0.9'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Tk', '8.6.8'), # for tcltk ('cURL', '7.60.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -69,15 +69,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on Aug 17, 2018 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', ('Rmpi', '0.6-7', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb index 305cfe5d42e..424575fc5d8 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-foss-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -29,7 +33,7 @@ dependencies = [ ('libpng', '1.6.36'), # for plotting in R ('libjpeg-turbo', '2.0.2'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.63.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -71,15 +75,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on June 7, 2019 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', ('Rmpi', '0.6-9', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb index 16cad3fccd8..1af773bd859 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-fosscuda-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -29,7 +33,7 @@ dependencies = [ ('libpng', '1.6.36'), # for plotting in R ('libjpeg-turbo', '2.0.2'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.63.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -72,15 +76,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on June 7, 2019 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', ('Rmpi', '0.6-9', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb b/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb index a60bcfdbb34..1ba3ae79f23 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.0-intel-2019a.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'intel', 'version': '2019a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.0.tar.gz': '36fcac3e452666158e62459c6fc810adc247c7109ed71c5b6c3ad5fc2bf57509'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -29,7 +33,7 @@ dependencies = [ ('libpng', '1.6.36'), # for plotting in R ('libjpeg-turbo', '2.0.2'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.63.0'), # for RCurl ('libxml2', '2.9.8'), # for XML @@ -71,15 +75,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on June 7, 2019 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', ('Rmpi', '0.6-9', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb index fea6a7d1230..5d9da19d990 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-foss-2019b.eb @@ -10,11 +10,13 @@ toolchain = {'name': 'foss', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] patches = [ - '%(name)s-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', ] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69', # R-3.6.2_fix_long_dbl_on_ppc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix_long_dbl_on_ppc.patch': '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ @@ -35,7 +37,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.3'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.66.0'), # for RCurl ('libxml2', '2.9.9'), # for XML @@ -77,15 +79,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 16 December 2019 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', ('Rmpi', '0.6-9', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb index 5f8b881fea6..a8534abd2a9 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-fosscuda-2019b.eb @@ -10,11 +10,13 @@ toolchain = {'name': 'fosscuda', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] patches = [ - '%(name)s-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-%(version)s_fix_long_dbl_on_ppc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', ] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69', # R-3.6.2_fix_long_dbl_on_ppc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix_long_dbl_on_ppc.patch': '833b80f9a62751eae9cfbad6116542acf932e9c6511235145be32264aacdce69'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ @@ -35,7 +37,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.3'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.66.0'), # for RCurl ('libxml2', '2.9.9'), # for XML @@ -78,15 +80,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 16 December 2019 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', ('Rmpi', '0.6-9', { diff --git a/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb b/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb index 368d1c5b59a..3e94ecb9131 100644 --- a/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb +++ b/easybuild/easyconfigs/r/R/R-3.6.2-intel-2019b.eb @@ -9,10 +9,14 @@ toolchain = {'name': 'intel', 'version': '2019b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_fix-intel-recent-glibc.patch'] +patches = [ + 'R-%(version)s_fix-intel-recent-glibc.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954', # R-3.6.2.tar.gz - '1052d223df58b6199edbac3721640f06b22a282c95dd0db982566dc36884a146', # R-3.6.2_fix-intel-recent-glibc.patch + {'R-3.6.2.tar.gz': 'bd65a45cddfb88f37370fbcee4ac8dd3f1aebeebe47c2f968fd9770ba2bbc954'}, + {'R-3.6.2_fix-intel-recent-glibc.patch': '1052d223df58b6199edbac3721640f06b22a282c95dd0db982566dc36884a146'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ @@ -33,7 +37,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.3'), # for plottting in R ('LibTIFF', '4.0.10'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.9'), # for tcltk ('cURL', '7.66.0'), # for RCurl ('libxml2', '2.9.9'), # for XML @@ -75,15 +79,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 16 December 2019 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', ('Rmpi', '0.6-9', { 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 152ea2ef921..d1dc61629fc 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 @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2020a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-3.6.3.tar.gz': '89302990d8e8add536e12125ec591d6951022cf8475861b3690bc8bf1cefaa8f'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -29,7 +33,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.4'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.69.1'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -71,15 +75,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 25 March 2020 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', ('Rmpi', '0.6-9', { @@ -2107,7 +2117,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.0.0-foss-2020a.eb b/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb index 525775e4f02..bd2f43f16b7 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.0-foss-2020a.eb @@ -9,10 +9,14 @@ toolchain = {'name': 'foss', 'version': '2020a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_ppc64le-build-fix.patch'] +patches = [ + 'R-%(version)s_ppc64le-build-fix.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - '06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940', # R-4.0.0.tar.gz - 'ae14b063be40ba2f2e73d95ae1ee0b8630ac7bbc8ec2d64830016c8d62f672ad', # R-4.0.0_ppc64le-build-fix.patch + {'R-4.0.0.tar.gz': '06beb0291b569978484eb0dcb5d2339665ec745737bdfb4e873e7a5a75492940'}, + {'R-4.0.0_ppc64le-build-fix.patch': 'ae14b063be40ba2f2e73d95ae1ee0b8630ac7bbc8ec2d64830016c8d62f672ad'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ @@ -34,7 +38,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.4'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.69.1'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -77,15 +81,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 23 July 2020 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', ('Rmpi', '0.6-9', { @@ -2594,9 +2604,6 @@ exts_list = [ ('gWidgets2', '1.0-8', { 'checksums': ['1615ce9ab07a251d06c68780be15ab5a4814df877a23aa93e0faf14ccd56d45c'], }), - ('memoise', '1.1.0', { - 'checksums': ['b276f9452a26aeb79e12dd7227fcc8712832781a42f92d70e86040da0573980c'], - }), ('gWidgets2tcltk', '1.0-6', { 'checksums': ['aa3a2f4612116a652e5573a369e3d89c5939f7c06067c6826ba40ed3bb07302b'], # need to run installation via xvfb-run to avoid problems on headless systems: @@ -2705,6 +2712,12 @@ exts_list = [ ('sensemakr', '0.1.3', { 'checksums': ['2eccda4ac3752266779d9c8ae87154c9fbaf0f73e0a768692a836a29ceaeffdd'], }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.0.0-fosscuda-2020a.eb b/easybuild/easyconfigs/r/R/R-4.0.0-fosscuda-2020a.eb index a2e481d0822..e1e620b5669 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.0-fosscuda-2020a.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.0-fosscuda-2020a.eb @@ -34,7 +34,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.4'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.69.1'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -87,15 +87,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 23 July 2020 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', ('Rmpi', '0.6-9', { @@ -2713,6 +2719,12 @@ exts_list = [ ('sensemakr', '0.1.3', { 'checksums': ['2eccda4ac3752266779d9c8ae87154c9fbaf0f73e0a768692a836a29ceaeffdd'], }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), # Specific packages for GPUs ('OpenCL', '0.2-1', { 'checksums': ['5cc80395bf3c28a27ff124e3d602e8037487f8f6d1800ccb6c145eb432c716ae'], diff --git a/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb index 42178857455..9d09c819514 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.3-foss-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.3.tar.gz': '09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -30,7 +34,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -53,6 +57,10 @@ dependencies = [ osdependencies = [OS_PKG_OPENSSL_DEV] +# 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 @@ -74,15 +82,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 10 Nov 2020 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', ('Rmpi', '0.6-9', { @@ -1493,7 +1507,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.1', { 'checksums': ['c7ffe12b99867675b5e9c9f31798f9521f14305c9d9f9485b171bcbd8697d09c'], @@ -2882,6 +2897,27 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb index d988cd20cce..3437fa7f9d0 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.3-fosscuda-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.3.tar.gz': '09983a8a78d5fb6bc45d27b1c55f9ba5265f78fa54a55c13ae691f87c5bb9e0d'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -30,7 +34,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -83,15 +87,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 10 Nov 2020 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', ('Rmpi', '0.6-9', { @@ -1502,7 +1512,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.1', { 'checksums': ['c7ffe12b99867675b5e9c9f31798f9521f14305c9d9f9485b171bcbd8697d09c'], @@ -2892,6 +2903,27 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), # Specific packages for GPUs ('OpenCL', '0.2-1', { 'checksums': ['5cc80395bf3c28a27ff124e3d602e8037487f8f6d1800ccb6c145eb432c716ae'], diff --git a/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb index 1f05e7f1af3..c5a53742396 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.4-foss-2020b.eb @@ -15,7 +15,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.4.tar.gz': '523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -36,7 +40,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -81,15 +85,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 08 Mar 2021 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', ('Rmpi', '0.6-9.1', { @@ -1521,7 +1531,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.2', { 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], @@ -2918,6 +2929,39 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.3.0', { + 'checksums': ['e02531f37a3cd56513ec3a9a083070b5f0ec9b438b2cc7d8e036f7bcedfeb7b0'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.4.2', { + 'checksums': ['3fe958077df9e604bf536eeda73eb825ee6ae7fcac716b7a42d5a9d867bd4122'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb index f56ea3e03bf..5930c930423 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.4-fosscuda-2020b.eb @@ -9,7 +9,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.4.tar.gz': '523f27d69744a08c8f0bd5e1e6c3d89a4db29ed983388ba70963a3cd3a4a802e'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -30,7 +34,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -85,15 +89,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 08 Mar 2021 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', ('Rmpi', '0.6-9.1', { @@ -1525,7 +1535,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.2', { 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], @@ -2923,6 +2934,39 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.3.0', { + 'checksums': ['e02531f37a3cd56513ec3a9a083070b5f0ec9b438b2cc7d8e036f7bcedfeb7b0'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.4.2', { + 'checksums': ['3fe958077df9e604bf536eeda73eb825ee6ae7fcac716b7a42d5a9d867bd4122'], + }), # Specific packages for GPUs ('OpenCL', '0.2-1', { 'checksums': ['5cc80395bf3c28a27ff124e3d602e8037487f8f6d1800ccb6c145eb432c716ae'], diff --git a/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb index b6cddf6beef..a3d990d65b4 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.5-foss-2020b.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.5.tar.gz': '0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -33,7 +37,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -78,15 +82,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 07 Apr 2021 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', ('Rmpi', '0.6-9.1', { @@ -1533,7 +1543,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.2', { 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], @@ -2927,6 +2938,39 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.3.0', { + 'checksums': ['e02531f37a3cd56513ec3a9a083070b5f0ec9b438b2cc7d8e036f7bcedfeb7b0'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.4.2', { + 'checksums': ['3fe958077df9e604bf536eeda73eb825ee6ae7fcac716b7a42d5a9d867bd4122'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb b/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb index ad61d8b44d6..9fbcf1785f5 100644 --- a/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/r/R/R-4.0.5-fosscuda-2020b.eb @@ -12,7 +12,11 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -checksums = ['0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.0.5.tar.gz': '0a3ee079aa772e131fe5435311ab627fcbccb5a50cabc54292e6f62046f1ffef'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] builddependencies = [ ('pkg-config', '0.29.2'), @@ -33,7 +37,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.5'), # for plottting in R ('LibTIFF', '4.1.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.10'), # for tcltk ('cURL', '7.72.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -88,15 +92,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 07 Apr 2021 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', ('Rmpi', '0.6-9.1', { @@ -1543,7 +1553,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.2', { 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], @@ -2938,6 +2949,39 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.3.0', { + 'checksums': ['e02531f37a3cd56513ec3a9a083070b5f0ec9b438b2cc7d8e036f7bcedfeb7b0'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.4.2', { + 'checksums': ['3fe958077df9e604bf536eeda73eb825ee6ae7fcac716b7a42d5a9d867bd4122'], + }), # Specific packages for GPUs ('OpenCL', '0.2-1', { 'checksums': ['5cc80395bf3c28a27ff124e3d602e8037487f8f6d1800ccb6c145eb432c716ae'], diff --git a/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb b/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb index c3e0f54a993..0edc567f774 100644 --- a/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb +++ b/easybuild/easyconfigs/r/R/R-4.1.0-foss-2021a.eb @@ -9,10 +9,15 @@ toolchain = {'name': 'foss', 'version': '2021a'} source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] sources = [SOURCE_TAR_GZ] -patches = ['%(name)s-%(version)s_identify-flexiblas-in-configure.patch'] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] checksums = [ - 'e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781', # R-4.1.0.tar.gz - '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257', # R-4.1.0_identify-flexiblas-in-configure.patch + {'R-4.1.0.tar.gz': 'e8e68959d7282ca147360fc9644ada9bd161bab781bab14d33b8999a95182781'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, ] builddependencies = [ @@ -34,7 +39,7 @@ dependencies = [ ('libpng', '1.6.37'), # for plotting in R ('libjpeg-turbo', '2.0.6'), # for plottting in R ('LibTIFF', '4.2.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Tk', '8.6.11'), # for tcltk ('cURL', '7.76.0'), # for RCurl ('libxml2', '2.9.10'), # for XML @@ -51,7 +56,7 @@ dependencies = [ ('nodejs', '14.17.0'), # for V8 (required by rstan) ('GDAL', '3.3.0'), # for sf ('libgit2', '1.1.0'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] # Some R extensions (mclust, quantreg, waveslim for example) require the math library (-lm) to avoid undefined symbols. @@ -79,15 +84,21 @@ exts_default_options = { # !! order of packages is important !! # packages updated on 3rd June 2021 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', ('Rmpi', '0.6-9.1', { @@ -217,7 +228,8 @@ exts_list = [ 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], }), ('MASS', '7.3-54', { - 'checksums': ['b800ccd5b5c2709b1559cf5eab126e4935c4f8826cf7891253432bb6a056e821'], + 'checksums': [('b800ccd5b5c2709b1559cf5eab126e4935c4f8826cf7891253432bb6a056e821', + 'eb644c0e94b447c46387aa22436ef5a43192960ee9cfd0df2940f4a4116179ae')], }), ('pixmap', '0.4-12', { 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], @@ -529,7 +541,8 @@ exts_list = [ 'checksums': ['8f1d960ab74f05fdd11c4c7a3d30ff9e263fc658f5690b67278ca7c045d0742c'], }), ('class', '7.3-19', { - 'checksums': ['7820ae94b22009561a69ed1f8b2ca2a3814be6a656e9884738206997caecbe37'], + 'checksums': [('7820ae94b22009561a69ed1f8b2ca2a3814be6a656e9884738206997caecbe37', + '9012f5c65384b441b5738ed7bd18ea735884bab32b31776e80cf3679f38a3769')], }), ('proxy', '0.4-25', { 'checksums': ['4e1c70d87eb106e95df7c6eb61b8808d79705d5fc5a64e6b5393999d651b09d5'], @@ -538,7 +551,8 @@ exts_list = [ 'checksums': ['797c6c087159c6d338ad002ae7eee305da447f95529bd25f5571ba834ecf18de'], }), ('nnet', '7.3-16', { - 'checksums': ['99511969babaf937c3033750b00b41e4e03742f268084efc4ee953b849f7b56a'], + 'checksums': [('99511969babaf937c3033750b00b41e4e03742f268084efc4ee953b849f7b56a', + 'c5b73eb4fff0d225e14f898cec987a7a88796b6e70cde4cf277374428f2d5c13')], }), ('minqa', '1.2.4', { 'checksums': ['cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c'], @@ -793,7 +807,9 @@ exts_list = [ 'checksums': ['c78aed92ce0239fd876b053291c77bb2ae979f01b4f30ec38e2f07a2c44ea3e2'], }), ('spatial', '7.3-14', { - 'checksums': ['52cc1982732f14544fae7dd9d028e2fc3b525ed695d211d6ed5055420e768a36'], + 'checksums': [('52cc1982732f14544fae7dd9d028e2fc3b525ed695d211d6ed5055420e768a36', + '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b', + '0c42df479c1a202dfc678f223e924b1adde5822a9902a3d71fd5f2ff36c4b83b')], }), ('VGAM', '1.1-5', { 'checksums': ['30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb'], @@ -1549,7 +1565,8 @@ exts_list = [ 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], }), ('lhs', '1.1.1', { - 'checksums': ['903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc'], + 'checksums': [('903e9f2adde87f6f9ad41dd52ff83d28a645dba69934c7535142cb48f10090dc', + '00278a65b18c86799301d27c55e3d32c6c307aed745ea69c9b96bbb1d0a352c2')], }), ('tensorA', '0.36.2', { 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], @@ -1639,7 +1656,8 @@ exts_list = [ 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], }), ('plot3Drgl', '1.0.2', { - 'checksums': ['aa874891446a395f01791d80a5a0f1f9a1c2c41f029de3a8d5af9aa47f46a496'], + 'checksums': [('aa874891446a395f01791d80a5a0f1f9a1c2c41f029de3a8d5af9aa47f46a496', + '805513029895cf5a81f18ede4123ef2525a236cd555437609229fe720c346e14')], }), ('OceanView', '1.0.5', { 'checksums': ['c16e1bed97f4ede46dc017fdd6bd7575d925b57bd2601317bd3ad2357609f885'], @@ -2887,7 +2905,8 @@ exts_list = [ 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], }), ('norm', '1.0-9.5', { - 'checksums': ['305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106'], + 'checksums': [('305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106', + '45016701291a5851d42452fc3ae682ff9bf86b0a9ba4619dc8b36a0187e4d0e4')], }), ('naniar', '0.6.1', { 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], @@ -2960,6 +2979,98 @@ exts_list = [ ('neuralnet', '1.44.2', { 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.3', { + 'checksums': ['43d33c47d66a08f84cb4914497a5ebea9dd0937151f47f41c3947e4a6d4b900c'], + }), + ('hal9001', '0.2.7', { + 'checksums': ['6facafa87179c7efb34d4acb3746198bb4c123f749fd784c8aab1021b8d77941'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-7', { + 'checksums': ['b34c155f3d7c4535ef3d02e3381b05a57990d19b3b1ec09a7458c101f8fafae1'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.3.0', { + 'checksums': ['e02531f37a3cd56513ec3a9a083070b5f0ec9b438b2cc7d8e036f7bcedfeb7b0'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.4.2', { + 'checksums': ['3fe958077df9e604bf536eeda73eb825ee6ae7fcac716b7a42d5a9d867bd4122'], + }), + ('geex', '1.0.12', { + 'checksums': ['037aece09bc0c4349897cd1d8f5dcf1e680598cdfdf72148b6d1506e02690e7f'], + }), + ('momentfit', '0.2', { + 'checksums': ['a10d43ac23bb61b9c67efa4800e3e2b6a444c1afaca8bad351648accd7e003f6'], + }), + ('StatMatch', '1.4.0', { + 'checksums': ['820091cd2213734ea16f5fcd616491bbf39d3e6c2bcfb34a7c9fe09f4fd1a459'], + }), + ('stars', '0.5-3', { + 'checksums': ['44944a82af36bea09ac1874ff9647acbb7fef021ebdca5aae7c34794be929401'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.1', { + 'checksums': ['929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce'], + }), + ('geometries', '0.2.0', { + 'checksums': ['8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314'], + }), + ('sfheaders', '0.4.0', { + 'checksums': ['86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045'], + }), + ('geojsonsf', '2.0.1', { + 'checksums': ['42df40433bfbece5a39cd97b5bd4690b4424855241fcc3e7322ee68a3988bfbf'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.0.4.1', { + 'checksums': ['b0f038295f1de5d32d9ffa1d0dbc1562320190f2f1365f3a5e95863fff88901f'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.1.6', { + 'checksums': ['ca50e0a699f564449248511857a2df0d48cd07de3157e099478a19b533088156'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-2', { + 'checksums': ['2bcb74c5c5546223d79abe5d633581fb2664b910f6246f4b8b7166b208b4629a'], + }), + ('collapse', '1.6.5', { + 'checksums': ['1e232a3a62b5eb5ed5d81e7d92ce1bae34c3d877d593d47d7edbd3f515b95a46'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), ] moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb b/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb new file mode 100644 index 00000000000..acc5de78f2b --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.1.2-foss-2021b.eb @@ -0,0 +1,3342 @@ +name = 'R' +version = '4.1.2' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] +checksums = [ + {'R-4.1.2.tar.gz': '2036225e9f7207d4ce097e54972aecdaa8b40d7d9911cd26491fac5a0fab38af'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('Xvfb', '1.20.13'), +] +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('cairo', '1.16.0'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('SQLite', '3.36'), + ('PCRE2', '10.37'), + ('libpng', '1.6.37'), # for plotting in R + ('libjpeg-turbo', '2.0.6'), # for plottting in R + ('LibTIFF', '4.3.0'), + ('Java', '11', '', SYSTEM), + ('Tk', '8.6.11'), # for tcltk + ('cURL', '7.78.0'), # for RCurl + ('libxml2', '2.9.10'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.0'), # for nloptr + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.0.31'), # for seewave + ('ICU', '69.1'), # for rJava & gdsfmt + ('HDF5', '1.12.1'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.0-4'), # for animation + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '14.17.6'), # for V8 (required by rstan) + ('GDAL', '3.3.2'), # for sf + ('MPFR', '4.1.0'), # for Rmpfr + ('libgit2', '1.1.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# 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 1st November 2021 +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', + ('Rmpi', '0.6-9.2', { + 'checksums': ['358ac1af97402e676f209261a231f36a35e60f0301edf8ca53dac11af3c3bd1a'], + }), + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.5-9', { + 'checksums': ['fa1d5ef2d39e880f262d31b77006a2a7e76ea38e306aae4356e682b90d6cd56a'], + }), + ('Rcpp', '1.0.7', { + 'checksums': ['15e5a4732216daed16263c79fb37017c2ada84a2d4e785e3b76445d0eba3dc1d'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.15', { + 'checksums': ['4627be4178abad34fc85a7d264c2eb5e27506f007e46687b0b8a4f8fbdf4f3ba'], + }), + ('linprog', '0.9-2', { + 'checksums': ['8937b2e30692e38de1713f1513b78f505f73da6f5b4a576d151ad60bac2221ce'], + }), + ('geometry', '0.4.5', { + 'checksums': ['8fedd17c64468721d398e3c17a39706321ab71098b29f5e8d8039dd115a220d8'], + }), + ('bit', '4.0.4', { + 'checksums': ['e404841fbe4ebefe4ecd4392effe673a8c9fa05f97952c4ce6e2f6159bd2f168'], + }), + ('filehash', '2.4-2', { + 'checksums': ['b6d056f75d45e315943a4618f5f62802612cd8931ba3f9f474b595140a3cfb93'], + }), + ('ff', '4.0.5', { + 'checksums': ['9aba9e271144ec224063ddba0d791e2fcdb9c912d48fdc49e204fce628355037'], + }), + ('bnlearn', '4.7', { + 'checksums': ['2e1dd7ba9b7cf07e51eec3238684310edbeb0573d9b907049fb6b28db3022817'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-39', { + 'checksums': ['a349db8f1c86cbd8315c068da49314ce9eb585dbb50d2e5ff09300506bd8806b'], + }), + ('fdrtool', '1.2.16', { + 'checksums': ['e7dea648ee018e2c8c8834084051c76f7e8b2b42067772c62035a941c32457a9'], + }), + ('formatR', '1.11', { + 'checksums': ['bd81662d09cf363652761e63ba5969c71be4dd5ae6fc9098f440d6729254a30c'], + }), + ('gtools', '3.9.2', { + 'checksums': ['03b1898bf581f6d12fa90e23ff700cfa7c834ac10c6654bdac42d7ec943fa953'], + }), + ('gdata', '2.18.0', { + 'checksums': ['4b287f59f5bbf5fcbf18db16477852faac4a605b10c5284c46b93fa6e9918d7f'], + }), + ('GSA', '1.03.1', { + 'checksums': ['e192d4383f53680dbd556223ea5f8cad6bae62a80a337ba5fd8d05a8aee6a917'], + }), + ('xfun', '0.27', { + 'checksums': ['c775bf33a6bc57f8022960cbf7dc20a4e82175a9c71807b2723f46ade6805485'], + }), + ('highr', '0.9', { + 'checksums': ['beff11390d936c90fdcc00e7ed0eb72220f3de403a51b56659e3d3e0b6d8ed4d'], + }), + ('infotheo', '1.2.0', { + 'checksums': ['9b47ebc3db5708c88dc014b4ffec6734053a9c255a9241fcede30fec3e63aaa3'], + }), + ('lars', '1.2', { + 'checksums': ['64745b568f20b2cfdae3dad02fba92ebf78ffee466a71aaaafd4f48c3921922e'], + }), + ('lazy', '1.2-16', { + 'checksums': ['c796c8b987ed1bd9dfddd593e17312ed681fc4fa3a1ecfe51da2def0ac1e50df'], + }), + ('kernlab', '0.9-29', { + 'checksums': ['c3da693a0041dd34f869e7b63a8d8cf7d4bc588ac601bcdddcf7d44f68b3106f'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('markdown', '1.1', { + 'checksums': ['8d8cd47472a37362e615dbb8865c3780d7b7db694d59050e19312f126e5efc1b'], + }), + ('mlbench', '2.1-3', { + 'checksums': ['b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '5.4.7', { + 'checksums': ['45f5a666caee5bebd3160922b8655295a25e37f624741f6574365e4ac5a14c23'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('segmented', '1.3-4', { + 'checksums': ['8276bfbb3e5c1d7a9a61098f72ac9b2b0f52c89ae9f9b715f76b22303cc3902d'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.5', { + 'checksums': ['680b67145c07d44e200275e08e48602fe19cd99fb106c05422b3f4a244c071c4'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3', { + 'checksums': ['1449e7038e048e6ad4d3f7767983c0873c9c7a7637ffa03a4cc7f0e25c31cd72'], + }), + ('pspline', '1.0-18', { + 'checksums': ['f71cf293bd5462e510ac5ad16c4a96eda18891a0bfa6447dd881c65845e19ac7'], + }), + ('timeDate', '3043.102', { + 'checksums': ['377cba03cddab8c6992e31d0683c1db3a73afa9834eee3e95b3b0723f02d7473'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('MASS', '7.3-54', { + 'checksums': [('b800ccd5b5c2709b1559cf5eab126e4935c4f8826cf7891253432bb6a056e821', + 'eb644c0e94b447c46387aa22436ef5a43192960ee9cfd0df2940f4a4116179ae')], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('lattice', '0.20-45', { + 'checksums': ['22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad'], + }), + ('sp', '1.4-5', { + 'checksums': ['6beeb216d540475cdead5f2c72d6c7ee400fe2423c1882d72cf57f6df58f09da'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('rlang', '0.4.12', { + 'checksums': ['2a26915738be120a56ec93e781bcb50ffa1031e11904544198b4a15c35029915'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('digest', '0.6.28', { + 'checksums': ['4a328c75e95f8522fc07390d1dd00c19fb643f558e761a8aed04f99c1dc7db00'], + }), + ('glue', '1.4.2', { + 'checksums': ['9f7354132a26e9a876428fa87629b9aaddcd558f9932328e6ac065b95b8ef7ad'], + }), + ('vctrs', '0.3.8', { + 'checksums': ['7f4e8b75eda115e69dddf714f0643eb889ad61017cdc13af24389aab2a2d1bb1'], + }), + ('lifecycle', '1.0.1', { + 'checksums': ['1da76e1c00f1be96ca34e122ae611259430bf99d6a1b999fdef70c00c30f7ba0'], + }), + ('hms', '1.1.1', { + 'checksums': ['6b5f30db1845c70d27b5de33f31caa487cdd0787cd80a4073375e5f482269062'], + }), + ('prettyunits', '1.1.1', { + 'checksums': ['9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('crayon', '1.4.2', { + 'checksums': ['ee34397f643e76e30588068d4c93bd3c9afd2193deacccacb3bffcadf141b857'], + }), + ('progress', '1.2.2', { + 'checksums': ['b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35'], + }), + ('ade4', '1.7-18', { + 'checksums': ['ecb6f4c42c60f39702aa96f454bb536a333049c9608ee2b6bdf8795e059cc525'], + }), + ('AlgDesign', '1.2.0', { + 'checksums': ['ff86c9e19505770520e7614970ad19c698664d08001ce888b8603e44c2a3b52a'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('BH', '1.75.0-0', { + 'checksums': ['ae4c10992607dd697663f60675a46a5770851da159330bb63c4a68890bdd6f5a'], + }), + ('brew', '1.0-6', { + 'checksums': ['d70d1a9a01cf4a923b4f11e4374ffd887ad3ff964f35c6f9dc0f29c8d657f0ed'], + }), + ('Brobdingnag', '1.2-6', { + 'checksums': ['19eccaed830ce9d93b70642f6f126ac66722a98bbd48586899cc613dd9966ad4'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.12', { + 'checksums': ['d4f894c38373ba105b1bdc89e3e7c1b215838e2fb6b4470b9f23768b84e603b5'], + }), + ('backports', '1.3.0', { + 'checksums': ['4f231e91ca8298fb1a27810ef5dd4c84e05c2b2b6f6748eab68f70ff4827812d'], + }), + ('checkmate', '2.0.0', { + 'checksums': ['0dc25b0e20c04836359df1885d099c6e4ad8ae0e585a9e4107f7ea945d9c6fa4'], + }), + ('cubature', '2.0.4.2', { + 'checksums': ['605bdd9d90fb6645359cccd1b289c5afae235b46360ef5bdd2001aa307a7694e'], + }), + ('DEoptimR', '1.0-9', { + 'checksums': ['6151aa74f52ff4be664343e3992749e63235ebba51c9fded3775c1a2407c6512'], + }), + ('fastmatch', '1.1-3', { + 'checksums': ['1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861'], + }), + ('ffbase', '0.13.3', { + 'checksums': ['b3f61f80ba6851130247779786903d42a24ee5219aa24556c8470aece8a2e6b6'], + }), + ('iterators', '1.0.13', { + 'checksums': ['778e30e4c292da9f94d62acc637cf55273dae258199d847e62658f44840f11a4'], + }), + ('maps', '3.4.0', { + 'checksums': ['7918ccb2393ca19589d4c4e77d9ebe863dc6317ebfc1ff41869dbfaf439f5747'], + }), + ('nnls', '1.4', { + 'checksums': ['0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f'], + }), + ('sendmailR', '1.2-1', { + 'checksums': ['04feb08c6c763d9c58b2db24b1222febe01e28974eac4fe87670be6fb9bff17c'], + }), + ('dotCall64', '1.0-1', { + 'checksums': ['f10b28fcffb9453b1d8888a72c8fd2112038b5ac33e02a481492c7bd249aa5c6'], + }), + ('spam', '2.7-0', { + 'checksums': ['632b5c48f587a34c997a487b72099c9c89d76a43f2cd9a36cb95fdec1d07850d'], + }), + ('subplex', '1.6', { + 'checksums': ['0d05da1622fffcd20a01cc929fc6c2b7df40a8246e7018f7f1f3c175b774cbf9'], + }), + ('stringi', '1.7.5', { + 'checksums': ['2914cc34e1cbfb65147090263b0e1bf2727ad32bc9bb860732094fecff4b2565'], + }), + ('magrittr', '2.0.1', { + 'checksums': ['75c265d51cc2b34beb27040edb09823c7b954d3990a7a931e40690b75d4aad5f'], + }), + ('stringr', '1.4.0', { + 'checksums': ['87604d2d3a9ad8fd68444ce0865b59e2ffbdb548a38d6634796bbd83eeb931dd'], + }), + ('evaluate', '0.14', { + 'checksums': ['a8c88bdbe4e60046d95ddf7e181ee15a6f41cdf92127c9678f6f3d328a3c5e28'], + }), + ('logspline', '2.1.16', { + 'checksums': ['7418491b8c778483c24e4354ee47b1e1b1d68b0057c12d6e012cce7d4e6c138a'], + }), + ('ncbit', '2013.03.29', { + 'checksums': ['4480271f14953615c8ddc2e0666866bb1d0964398ba0fab6cc29046436820738'], + }), + ('permute', '0.9-5', { + 'checksums': ['d2885384a07497e8df273689d6713fc7c57a7c161f6935f3572015e16ab94865'], + }), + ('plotrix', '3.8-2', { + 'checksums': ['bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f'], + }), + ('randomForest', '4.6-14', { + 'checksums': ['f4b88920419eb0a89d0bc5744af0416d92d112988702dc726882394128a8754d'], + }), + ('scatterplot3d', '0.3-41', { + 'checksums': ['4c8326b70a3b2d37126ca806771d71e5e9fe1201cfbe5b0d5a0a83c3d2c75d94'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.4.1', { + 'checksums': ['7eea92ba42e6ba320fa8bdca3c53091ae42f26a0f097244f65e7e117f6d514b6'], + }), + ('rJava', '1.0-5', { + 'checksums': ['2fdba5774f6333440e0ef6d96567b37f9f382820242a4d885f2891796fb36fde'], + }), + ('RColorBrewer', '1.1-2', { + 'checksums': ['f3e9781e84e114b7a88eb099825936cc5ae7276bbba5af94d35adb1b3ea2ccdd'], + }), + ('png', '0.1-7', { + 'checksums': ['e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c'], + }), + ('jpeg', '0.1-9', { + 'checksums': ['01a175442ec209b838a56a66a3908193aca6f040d537da7838d9368e46913072'], + }), + ('latticeExtra', '0.6-29', { + 'checksums': ['6cadc31d56f73d926e2e8d72e43ae17ac03607a4d1a374719999a4a231e3df11'], + }), + ('Matrix', '1.3-4', { + 'checksums': ['ab42179d44545e99bbdf44bb6d04cab051dd2aba552b1f6edd51ed71b55f6c39'], + }), + ('RcppArmadillo', '0.10.7.0.0', { + 'checksums': ['01a8eac49d5b2bcefcba076f0ee7b234bee3d22d54d7f4d56d9a6ae7cbea65f4'], + }), + ('plyr', '1.8.6', { + 'checksums': ['ea55d26f155443e9774769531daa5d4c20a0697bb53abd832e891b126c935287'], + }), + ('gtable', '0.3.0', { + 'checksums': ['fd386cc4610b1cc7627dac34dba8367f7efe114b968503027fb2e1265c67d6d3'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0', { + 'checksums': ['31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1'], + }), + ('colorspace', '2.0-2', { + 'checksums': ['b891cd2ec129ed5f116429345947bcaadc33969758a108521eb0cf36bd12183a'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.2', { + 'checksums': ['e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165'], + }), + ('viridisLite', '0.4.0', { + 'checksums': ['849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a'], + }), + ('farver', '2.1.0', { + 'checksums': ['e5c8630607049f682fb3002b99ca4f5e7c6b94f8b2a4342df594e7853b77cef4'], + }), + ('scales', '1.1.1', { + 'checksums': ['40b2b66522f1f314a20fd09426011b0cdc9d16b23ee2e765fe1930292dd03705'], + }), + ('utf8', '1.2.2', { + 'checksums': ['a71aee87d43a9bcf29249c7a5a2e9ca1d2a836e8d5ee3a264d3062f25378d8f4'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('fansi', '0.5.0', { + 'checksums': ['9d1bf8c316969c163abd3dd41cc1425b2671df9471fe806bf8783794a19ca54f'], + }), + ('cli', '3.1.0', { + 'checksums': ['c70a61830bf706a84c59eb74a809978846cee93742198ab4192742a5df1ace11'], + }), + ('pillar', '1.6.4', { + 'checksums': ['033a92a271ddeec2a17323d070de8257b9ca4d57f5be6181e2ad35fe7e1ea19e'], + }), + ('tibble', '3.1.5', { + 'checksums': ['da6387ba683a67cd7fc2a111f6b62468e480a8078bc1867d433a40c5460edbe7'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('withr', '2.4.2', { + 'checksums': ['48f96a4cb780cf6fd5fbbea1f1eb04ea3102d7a4a644cae1ed1e91139dcbbac8'], + }), + ('nlme', '3.1-153', { + 'checksums': ['3d27a98edf1b16ee868949e823ac0babbf10c937a7220d648b7ef9480cd680e3'], + }), + ('mgcv', '1.8-38', { + 'checksums': ['cd12ed5787d6fdcead34e782e48b62b3f9efd523616c906e2da77bd9c142ddbb'], + }), + ('rprojroot', '2.0.2', { + 'checksums': ['5fa161f0d4ac3b7a99dc6aa2d832251001dc92e93c828593a51fe90afd019e1f'], + }), + ('desc', '1.4.0', { + 'checksums': ['8220e4c706449b8121b822e70b1414f391ef419aed574836a234c63b83e5d649'], + }), + ('ps', '1.6.0', { + 'checksums': ['89ad7ddc5e0818bccacfd0673ddf2da0892ac2a3b4d3a821e40884ab1e96bf31'], + }), + ('processx', '3.5.2', { + 'checksums': ['ed6f2d1047461c6061e6ed58fb6de65a289b56009867892abad76c6bba46fc2b'], + }), + ('callr', '3.7.0', { + 'checksums': ['d67255148595c6d0ba4c4d241bc9f6b5e00cafe25fdc13e38c10acc38653360a'], + }), + ('pkgbuild', '1.2.0', { + 'checksums': ['2e19308d3271fefd5e118c6d132d6a2511253b903620b5417892c72d2010a963'], + }), + ('rstudioapi', '0.13', { + 'checksums': ['aac35bbdcb4a8e8caba943bc8a2b98120e8940b80cd1020224bb1a26ff776d8b'], + }), + ('pkgload', '1.2.3', { + 'checksums': ['105ae5b2caca495bd0702757c5c676353cca8525954d0822f07103ca8a54b349'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.2', { + 'checksums': ['42dde6953151e31cc38bbec72335c01ac9e755cc07d11e26f4e1fcd0f9f471ef'], + }), + ('jsonlite', '1.7.2', { + 'checksums': ['06354b50435942f67ba264f79831e577809ef89e5f9a5a2201985396fe651fd2'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.3.1', { + 'checksums': ['ec2c8c1afbc413f8db8b6b0c6970194a875f616ad18e1e72a004bc4497ec019b'], + }), + ('testthat', '3.1.0', { + 'checksums': ['e714b105891a766d03d5bab09d705b1f6c23f04db56dfe310bff8cfa00464987'], + }), + ('isoband', '0.2.5', { + 'checksums': ['46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5'], + }), + ('ggplot2', '3.3.5', { + 'checksums': ['b075294faf3af31b18e415f260c62d6000b218770e430484fe38819bdc3224ea'], + }), + ('pROC', '1.18.0', { + 'checksums': ['d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('BBmisc', '1.11', { + 'checksums': ['1ea48c281825349d8642a661bb447e23bfd651db3599bf72593bfebe17b101d2'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-5', { + 'checksums': ['4723434ff7624d4f404a6854ffa0673fc43daa46f58f064dbeeaa17da28ab626'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-41', { + 'checksums': ['21cf995b187d97de0bce8330973a52c46235db0fc09a133cad26283b7a6f5c8e'], + }), + ('pls', '2.8-0', { + 'checksums': ['eff3a92756ca34cdc1661fa36d2bf7fc8e9f4132d2f1ef9ed0105c83594618bf'], + }), + ('class', '7.3-19', { + 'checksums': [('7820ae94b22009561a69ed1f8b2ca2a3814be6a656e9884738206997caecbe37', + '9012f5c65384b441b5738ed7bd18ea735884bab32b31776e80cf3679f38a3769')], + }), + ('proxy', '0.4-26', { + 'checksums': ['676bad821343974e0297a0566c4bf0cf0ea890104906a745b87d3b5989c81a4d'], + }), + ('e1071', '1.7-9', { + 'checksums': ['9bf9a15e7ce0b9b1a57ce3048d29cbea7f2a5bb2e91271b1b6aaafe07c852226'], + }), + ('nnet', '7.3-16', { + 'checksums': [('99511969babaf937c3033750b00b41e4e03742f268084efc4ee953b849f7b56a', + 'c5b73eb4fff0d225e14f898cec987a7a88796b6e70cde4cf277374428f2d5c13')], + }), + ('minqa', '1.2.4', { + 'checksums': ['cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c'], + }), + ('RcppEigen', '0.3.3.9.1', { + 'checksums': ['8a0486249b778a4275a1168fc89fc7fc49c2bb031cb14b50a50089acae7fe962'], + }), + ('MatrixModels', '0.5-0', { + 'checksums': ['a87faf1a185219f79ea2307e6787d293e1d30bf3af9398e8cfe1e079978946ed'], + }), + ('matrixStats', '0.61.0', { + 'checksums': ['dbd3c0ec59b1ae62ff9b4c2c90c4687cbd680d1796f6fdd672319458d4d2fd9a'], + }), + ('codetools', '0.2-18', { + 'checksums': ['1a9ea6b9792dbd1688078455929385acc3a5e4bef945c77bec1261fa4a084c28'], + }), + ('foreach', '1.5.1', { + 'checksums': ['fb5ad69e295618c52b2ac7dff84a0771462870a97345374d43b3de2dc31a68e1'], + }), + ('data.table', '1.14.2', { + 'checksums': ['f741b951e5937440139514aedbae78dbd6862d825066848bdb006aa02c2f3d2b'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.1', { + 'checksums': ['a2478ebf1a0faa8855a152f4e747ad969a800597434196ed1f71975a9eb11912'], + }), + ('purrr', '0.3.4', { + 'checksums': ['23ebc93bc9aed9e7575e8eb9683ff4acc0270ef7d6436cc2ef4236a9734840b2'], + }), + ('tidyselect', '1.1.1', { + 'checksums': ['18eb6a6746196a81ce19ee6cbf1db0c33f494177b97e2419312ef25a00ae486b'], + }), + ('dplyr', '1.0.7', { + 'checksums': ['d2fe3aedbce02fdddce09a8a80f85f5918a9d1f15f792ad4a98f254959d7123d'], + }), + ('gower', '0.2.2', { + 'checksums': ['3f022010199fafe34f6e7431730642a76893e6b4249b84e5a61012cb83483631'], + }), + ('rpart', '4.1-15', { + 'checksums': ['2b8ebe0e9e11592debff893f93f5a44a6765abd0bd956b0eb1f70e9394cfae5c'], + }), + ('survival', '3.2-13', { + 'checksums': ['3fab9c0ba2c4e2b6a475207e2629a7f06a104c70093dfb768f50a7caac9a317f'], + }), + ('KernSmooth', '2.23-20', { + 'checksums': ['20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39'], + }), + ('globals', '0.14.0', { + 'checksums': ['203dbccb829ca9cc6aedb6f5e79cb126ea31f8dd379dff9111ec66e3628c32f3'], + }), + ('listenv', '0.8.0', { + 'checksums': ['fd2aaf3ff2d8d546ce33d1cb38e68401613975117c1f9eb98a7b41facf5c485f'], + }), + ('parallelly', '1.28.1', { + 'checksums': ['f4ae883b18409adb83c561ed69427e740e1b50bf85ef57f48c3f2edf837cc663'], + }), + ('future', '1.23.0', { + 'checksums': ['d869c80e837c0937a414b8050deff081aefeac586b796f3d634d64f0f4fdb8f8'], + }), + ('future.apply', '1.8.1', { + 'checksums': ['0d5bc3cb0289665bb27ae4ccad51fcc5ebf6dca46872b0a4e57790b9dc0aa6c7'], + }), + ('progressr', '0.9.0', { + 'checksums': ['cfe70f8423041ea5b5a2a39122c166462e58b1bba84df935858a7b86362b530f'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.6.10', { + 'checksums': ['7a88f8a885872e2abb3011c446e9e1c4884cd4dbe6ab4cfe9207538e5560232e'], + }), + ('prodlim', '2019.11.13', { + 'checksums': ['6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f'], + }), + ('ipred', '0.9-12', { + 'checksums': ['d6e1535704d39415a799d7643141ffa4f6f55597f03e763f4ccd5d8106005843'], + }), + ('cpp11', '0.4.0', { + 'checksums': ['1768fd07dc30dfbbf8f3fb1a1183947cb7e1dfd909165c4d612a63c163a41e87'], + }), + ('lubridate', '1.8.0', { + 'checksums': ['87d66efdb1f3d680db381d7e40a202d35645865a0542e2f270ef008a19002ba5'], + }), + ('tidyr', '1.1.4', { + 'checksums': ['0b0c98be98a433e15a2550f60330b31a58529a9c58bc2abd7bff6462ab761241'], + }), + ('recipes', '0.1.17', { + 'checksums': ['ed20ba0ea0165310e31864ed7d2e005a2a37b76c7913977fd124d8b567616d3d'], + }), + ('caret', '6.0-90', { + 'checksums': ['e851a4ed7d939c665e57e3551a5464b09fe4285e7c951236efdd890b0da866bc'], + }), + ('conquer', '1.2.0', { + 'checksums': ['10451223658e02b31b87f7f86a14e3d8c71bfbff62ea30f85b89cdef829f07f9'], + }), + ('quantreg', '5.86', { + 'checksums': ['71d1c829af7574ca00575cc0375376ac3ecd54b3d6d36e8eecd71ed8acb9d605'], + }), + ('robustbase', '0.93-9', { + 'checksums': ['d75fb5075463fec61d063bced7003936e9198492328b6fae15f67e8415713c45'], + }), + ('zoo', '1.8-9', { + 'checksums': ['b7be259067a8b9d4a8f5d387e0946a5ba1eb43474baa67ccf4f8bf4b15f772a3'], + }), + ('lmtest', '0.9-38', { + 'checksums': ['32a22cea45398ffc5732d9f5c0391431d0cdd3a9e29cc7b77bea32c1eb4a216b'], + }), + ('vcd', '1.4-9', { + 'checksums': ['a5b420ad5ff1a27fa92f98099a8b43f2dded7e5f60297b3e4d947ad6f039568f'], + }), + ('snowfall', '1.84-6.1', { + 'checksums': ['5c446df3a931e522a8b138cf1fb7ca5815cc82fcf486dbac964dcbc0690e248d'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.0.2', { + 'checksums': ['5c6aa036d3f1035ffe8f9a8e95bb908b191b126b016591cf893c50472851f334'], + }), + ('foreign', '0.8-81', { + 'checksums': ['1ae8f9f18f2a037697fa1a9060417ff255c71764f0145080b2bd23ba8262992c'], + }), + ('psych', '2.1.9', { + 'checksums': ['1475e03a17f1ae6837834f01c2472aed68887c89d90a84a3e09a532ce218500c'], + }), + ('broom', '0.7.10', { + 'checksums': ['129fd5a53abef7f42b7efac6c64ebd71269b136aa648846d640562357927464f'], + }), + ('nloptr', '1.2.2.2', { + 'checksums': ['e80ea9619ac18f4bfe44812198b40b9ae5c0ddf3f9cc91778f9ccc82168d1372'], + }), + ('boot', '1.3-28', { + 'checksums': ['9f7158fd2714659f590c3955651893dc24bd8f39196bc5a4cc35b0b031744a32'], + }), + ('statmod', '1.4.36', { + 'checksums': ['14e897c83d426caca4d920d3d5bead7ae9a679276b3cb2e227f299ad189d7bc2'], + }), + ('lme4', '1.1-27.1', { + 'checksums': ['25fa873e39b8192e48c15eec93db8c8bf6f03baf3bd8d5ca9188482ce8442ec5'], + }), + ('ucminf', '1.1-4', { + 'checksums': ['a2eb382f9b24e949d982e311578518710f8242070b3aa3314a331c1e1e7f6f07'], + }), + ('ordinal', '2019.12-10', { + 'checksums': ['7a41e7b7e852a8fa3e911f8859d36e5709ccec5ca42ee3de14a813b7aaac7725'], + }), + ('jomo', '2.7-2', { + 'checksums': ['3962d5cbecc60e72670329dbef0dd74303080f5ea2a79c91e27f75db99ba6ce9'], + }), + ('clipr', '0.7.1', { + 'checksums': ['ffad477b07847e3b68f7e4406bbd323025a8dae7e3c768943d4d307ee3248afb'], + }), + ('tzdb', '0.2.0', { + 'checksums': ['c335905d452b400af7ed54b916b5246cb3f47ede0602911a2bcb25a1cf56d5a9'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.5.5', { + 'checksums': ['1d45688c08f162a3300eda532d9e87d144f4bc686769a521bf9a12e3d3b465fe'], + }), + ('readr', '2.0.2', { + 'checksums': ['98b05ed751dda2bcf7a29d070ce3d3e8475e0138a3e3ec68941dc45218db7615'], + }), + ('forcats', '0.5.1', { + 'checksums': ['c4fb96e874e2bedaa8a1aa32ea22abdee7906d93b5c5c7b42c0894c0c5b6a289'], + }), + ('haven', '2.4.3', { + 'checksums': ['95b70f47e77792bed4312441787299d2e3e27d79a176f0638a37e5301b93295f'], + }), + ('pan', '1.6', { + 'checksums': ['adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6'], + }), + ('mitml', '0.4-3', { + 'checksums': ['49bd3eb68a60fb2a269e7ddca8b862e1e81e0651e2b29759482fb7bcad452102'], + }), + ('mice', '3.13.0', { + 'checksums': ['5108e4673512c96ced19c23fdbb0feea2b2a655a4c7dc9afb06a2a1a29f69785'], + }), + ('urca', '1.3-0', { + 'checksums': ['621cc82398e25b58b4a16edf000ed0a1484d9a0bc458f734e97b6f371cc76aaa'], + }), + ('fracdiff', '1.5-1', { + 'checksums': ['b8103b32a4ca3a59dda1624c07da08ecd144c7a91a747d1f4663e99421950eb6'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.24', { + 'checksums': ['6561d311fe21b789954cb33c008b86abdd6509b2a2900385dd6046163679d96b'], + }), + ('akima', '0.6-2.2', { + 'checksums': ['deefc9ff82f78e68b7333c2fc88bd23863da9919493f2b73658044436f6b8742'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('mixtools', '1.2.0', { + 'checksums': ['ef033ef13625209065d26767bf70d129972e6808927f755629f1d70a118b9023'], + }), + ('cluster', '2.1.2', { + 'checksums': ['5c8aa760fb6dda4fcfe6196e561ffcd2dc12b1a6c7659cb90be2cde747311499'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.7', { + 'checksums': ['defab27adc298a6746896d83251f8355d62c01012d51ef96d491875a2e74b54d'], + }), + ('DBI', '1.1.1', { + 'checksums': ['572ab3b8a6421d0ac3e7665c4c842826f1723af98fca25d4f43edb419e771344'], + }), + ('gam', '1.20', { + 'checksums': ['91eb416ba06aa1c3f611661530467f4513992f6c168e3f6e474cf57bae131efe'], + }), + ('gamlss.data', '6.0-1', { + 'checksums': ['98fdec571aeacea4318c9e1c9d56b74716f3dc6acce385cbaad0d6128b154bb2'], + }), + ('gamlss.dist', '5.3-2', { + 'checksums': ['0caa92cd20c3d2d11b1af4656fd0de09adf145992345cba07fdcd33b7716ced3'], + }), + ('gamlss', '5.3-4', { + 'checksums': ['72707187471fd35c5379ae8c9b7b0ca87e302557f09cb3979d1cdb2e2500b01a'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2', { + 'checksums': ['6b3531d2e7a239be9d6e3a1aa3256b2745eb68aa0bdffd2076d36552d0d7322b'], + }), + ('xts', '0.12.1', { + 'checksums': ['d680584af946fc30be0b2046e838cff7b3a65e00df1eadba325ca5e96f3dca2c'], + }), + ('curl', '4.3.2', { + 'checksums': ['90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568'], + }), + ('TTR', '0.24.2', { + 'checksums': ['2587b988d9199474a19470b9b999b99133d0d8aa45410813e05c5f0ed763711b'], + }), + ('quantmod', '0.4.18', { + 'checksums': ['aa40448e93a1facf399213ac691784007731e869ad243fe762381ab099cd6c35'], + }), + ('mvtnorm', '1.1-3', { + 'checksums': ['ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448'], + }), + ('pcaPP', '1.9-74', { + 'checksums': ['50837b434d67e4b5fcec34c689a9e30c7a9fb94c561b39f24e68a1456ff999b6'], + }), + ('pscl', '1.5.5', { + 'checksums': ['054c9b88a991abdec3338688f58e81b6ba55f91edb988621864b24fd152fee6f'], + }), + ('fastmap', '1.1.0', { + 'checksums': ['9113e526b4c096302cfeae660a06de2c4c82ae4e2d3d6ef53af6de812d4c822b'], + }), + ('cachem', '1.0.6', { + 'checksums': ['9a9452f7bcf3f79436c418b3c3290449fb8fd338714d9b992153754d112f1864'], + }), + ('memoise', '2.0.0', { + 'checksums': ['ff9ae3a1a95ad6271d98e6eca016768b790e44bd613356b8e86b685aefd9ecaf'], + }), + ('blob', '1.2.2', { + 'checksums': ['4976053c65994c769a4c22b4553bea0bd9c623b3b991dbaf023d2a164770c7fa'], + }), + ('RSQLite', '2.2.8', { + 'checksums': ['1b8adc1b7ed4bc5ec070b8765837cd4104fcdda482a1d335c030f51b427c4cc3'], + }), + ('BatchJobs', '1.8', { + 'checksums': ['35cc2dae31994b1df982d11939509ce965e12578418c4fbb8cd7a422afd6e4ff'], + }), + ('sandwich', '3.0-1', { + 'checksums': ['f6584b7084f3223bbc0c4722f53280496be73849747819b0cb4e8f3910284a89'], + }), + ('sfsmisc', '1.1-12', { + 'checksums': ['9b12184a28fff87cacd0c3602d0cf63acb4d0f3049ad3a6ff16177f6df350782'], + }), + ('spatial', '7.3-14', { + 'checksums': [('52cc1982732f14544fae7dd9d028e2fc3b525ed695d211d6ed5055420e768a36', + '50e6daacbacff6c716485d20b15eb7fff7b8108dc5ea0ff508024beb4f0a8b9b', + '0c42df479c1a202dfc678f223e924b1adde5822a9902a3d71fd5f2ff36c4b83b')], + }), + ('VGAM', '1.1-5', { + 'checksums': ['30190b150f3e5478137d288a45f575b2654ad7c29254b0a1fe5c954ee010a1bb'], + }), + ('waveslim', '1.8.2', { + 'checksums': ['133c4f7a027282742fe99b583ca65f178fc7a3df2ce75cb4d60650f0a1dd7145'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.30', { + 'checksums': ['39f65d7af6b4d85eb023cce2a200c2de470644b22d45e210c5b7d558c3abf548'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-48', { + 'checksums': ['53bd22708c936205c5f839a10f2e302524d2cc54dc309e7d885ebd081ccb4471'], + }), + ('fastICA', '1.2-3', { + 'checksums': ['e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950'], + }), + ('R.methodsS3', '1.8.1', { + 'checksums': ['8a98fb81bcfa78193450f855f614f6f64e6c65daf115f301d97d1f474f5e619b'], + }), + ('R.oo', '1.24.0', { + 'checksums': ['37a1dab8dd668ceba69a1ba36c0c60e9809e29b74bd56d1e8ed519e19c8e3bb6'], + }), + ('sys', '3.4', { + 'checksums': ['17f88fbaf222f1f8fd07919461093dac0e7175ae3c3b3264b88470617afd0487'], + }), + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('openssl', '1.4.5', { + 'checksums': ['4fc141aba8e94e9f5ecce6eda07e45a5e7048d8609ba909ede4f7f4933e0c1f7'], + }), + ('httr', '1.4.2', { + 'checksums': ['462bed6ed0d92f811d5df4d294336025f1dbff357286999d9269bfd9c20b1ef9'], + }), + ('cgdsr', '1.3.0', { + 'checksums': ['4aa2a3564cee2449c3ff39ab2ad631deb165d4c78b8107e0ff77a9095340cc1f'], + }), + ('R.utils', '2.11.0', { + 'checksums': ['622860f995f78be3a6e439f29d945874c5cb0866f6a73a9b43ac1d4d7f23fed8'], + }), + ('R.matlab', '3.6.2', { + 'checksums': ['1ba338f470a24b7f6ef68cadbd04eb468ead4a689f263d2642408ad591b786bb'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8', { + 'checksums': ['7d5de3b980b8f23275e86ac9bed48a497c9aa53c58e407dfd676309f38272ec1'], + }), + ('Formula', '1.2-4', { + 'checksums': ['cb70e373b5ed2fc8450937fb3321d37dfd22dcc6f07cb872a419d51205125caf'], + }), + ('acepack', '1.4.1', { + 'checksums': ['82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-56', { + 'checksums': ['863ecbb951a3da994761ea9062fa96d34e94e19fbc4122521ac179274dfa3f5d'], + }), + ('viridis', '0.6.2', { + 'checksums': ['69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311'], + }), + ('yaml', '2.2.1', { + 'checksums': ['1115b7bc2a397fa724956eec916df5160c600c99a3be186d21558dd38d782783'], + }), + ('htmltools', '0.5.2', { + 'checksums': ['7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb'], + }), + ('htmlwidgets', '1.5.4', { + 'checksums': ['1a3fc60f40717de7f1716b754fd1c31a132e489a2560a278636ee78eba46ffc1'], + }), + ('knitr', '1.36', { + 'checksums': ['6ecef5b428d135e95a05f24f9f194d0d828b1180c61be44ad89b6210e32b8e41'], + }), + ('htmlTable', '2.3.0', { + 'checksums': ['070d9a0ef6311304f6739d81f7690d8f19899451524b376b403d6a40d477a577'], + }), + ('Hmisc', '4.6-0', { + 'checksums': ['2c1ce906b2333c6dc946dc7f10b74cfa552bce2b12dbebf295d143163562a1ad'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.4.2.3', { + 'checksums': ['7bad194920b412781ac9754ad41058d52d3cd7186e1851c2bce3640490e9bc6d'], + }), + ('pkgmaker', '0.32.2', { + 'checksums': ['ce45b22def771a9c90a414093823e6befe7e23489c500eeccee5154b44d3ef91'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.16', { + 'checksums': ['f1bb26f964f30d47ae4d6cf2b0a2ca0c2122d376424875e82d9abe9e7b054eb2'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.3', { + 'checksums': ['6ee233697bcd579813bd0af5e1f4e6dd1eea971e8919c748408130d970fef5c0'], + }), + ('igraph', '1.2.7', { + 'checksums': ['25c1a03273359e012e2625d0d8826264c805037f247785e0b432e02c2aae1be5'], + }), + ('GeneNet', '1.2.15', { + 'checksums': ['555ac4e1d6c53c099b94b9298b6a8893a07797886a21ce3655a98fa9a1326a85'], + }), + ('ape', '5.5', { + 'checksums': ['a3aa01c74b99eafec7d98284e05957b6487b6971ced93f26881f2479bcd5299a'], + }), + ('RJSONIO', '1.3-1.6', { + 'checksums': ['82d1c9ea7758b2a64ad683f9c46223dcba9aa8146b43c1115bf9aa76a657a09f'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.1', { + 'checksums': ['f9ae19c2574b6d41adbeccaf7bc66cf56d7b2769004daba7e0038d5fbd821339'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('later', '1.3.0', { + 'checksums': ['08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829'], + }), + ('promises', '1.2.0.1', { + 'checksums': ['8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7'], + }), + ('httpuv', '1.6.3', { + 'checksums': ['bfe338c86cc09968c5ec2fd1023040db323d3c3aa413d8d3e5ad4b320bf00876'], + }), + ('rjson', '0.2.20', { + 'checksums': ['3a287c1e5ee7c333ed8385913c0a307daf99335fbdf803e9dcca6e3d5adb3f6c'], + }), + ('sourcetools', '0.1.7', { + 'checksums': ['47984406efb3b3face133979ccbae9fefb7360b9a6ca1a1c11473681418ed2ca'], + }), + ('xml2', '1.3.2', { + 'checksums': ['df22f9e7e3189d8c9b8804eaf0105324fdac983cffe743552f6d76613600a4cf'], + }), + ('commonmark', '1.7', { + 'checksums': ['d14a767a3ea9778d6165f44f980dd257423ca6043926e3cd8f664f7171f89108'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('fs', '1.5.0', { + 'checksums': ['36df1653571de3c628a4f769c4627f6ac53d0f9e4106d9d476afb22ae9603897'], + }), + ('sass', '0.4.0', { + 'checksums': ['7d06ca15239142a49e88bb3be494515abdd8c75f00f3f1b0ee7bccb55019bc2b'], + }), + ('bslib', '0.3.1', { + 'checksums': ['5f5cb56e5cab9039a24cd9d70d73b69c2cab5b2f5f37afc15f71dae0339d9849'], + }), + ('fontawesome', '0.2.2', { + 'checksums': ['572db64d1b3c9be301935e0ca7baec69f3a6e0aa802e23f1f224b3724259df64'], + }), + ('shiny', '1.7.1', { + 'checksums': ['c03b2056fb41430352c7c0e812bcc8632e6ec4caef077d2f7633512d91721d00'], + }), + ('seqinr', '4.2-8', { + 'checksums': ['584b34e9dec0320cef02096eb356a0f6115bbd24356cf62e67356963e9d5e9f7'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('deldir', '1.0-6', { + 'checksums': ['6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5'], + }), + ('gmodels', '2.18.1', { + 'checksums': ['626140a34eb8c53dd0a06511a76c71bc61c48777fa76fcc5e6934c9c276a1369'], + }), + ('expm', '0.999-6', { + 'checksums': ['2c79912fd2e03fcf89c29f09555880934402fcb2359af8b4579d79b4f955addc'], + }), + ('terra', '1.4-11', { + 'checksums': ['0a8fc0deffd4f2d0065ac6b70ae5cda079a38fe86e40861df94d01d01412fd21'], + }), + ('raster', '3.5-2', { + 'checksums': ['99565167f3ef41ade08b8466a172fc471c73184815c9fb199f9555db63e03d72'], + }), + ('spData', '2.0.1', { + 'checksums': ['c635a3e2e5123b4cdb2e6877b9b09e3d50169e1512a53b2ba2db7fbe63b990fc'], + }), + ('units', '0.7-2', { + 'checksums': ['b90be023431100632b3081747af9e743e615452b4ad38810991f7b024b7040eb'], + }), + ('classInt', '0.4-3', { + 'checksums': ['9ede7a2a7a6b6c114919a3315a884fb592e33b037a50a4fe45cbd4fe2fc434ac'], + }), + ('vegan', '2.5-7', { + 'checksums': ['e63b586951ea7d8b0118811f329c700212892ec1db3b93951603ce1d68aa462a'], + }), + ('rncl', '0.8.4', { + 'checksums': ['6b19d0dd9bb08ecf99766be5ad684bcd1894d1cd9291230bdd709dbd3396496b'], + }), + ('XML', '3.99-0.8', { + 'checksums': ['081f691c2ee8ad39c7c95281e7d9153ec04cee79ca2d41f5d82c2ec2f1d36b50'], + }), + ('tinytex', '0.34', { + 'checksums': ['1d059397b70579c325b64bfd548ef7b985a7558bd1e3d95716e0ed7a0dd8e69b'], + }), + ('rmarkdown', '2.11', { + 'checksums': ['9371255300e7ea4cd936978ad2ca3d205d8605e09f4913cb0d4725005a7a9775'], + }), + ('reshape', '0.8.8', { + 'checksums': ['4d5597fde8511e8fe4e4d1fd7adfc7ab37ff41ac68c76a746f7487d7b106d168'], + }), + ('triebeard', '0.3.0', { + 'checksums': ['bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.1.0', { + 'checksums': ['f0b6cfd19f7470a8aacc7621530315f83796aa64e24a47b96365963e5f615ace'], + }), + ('bold', '1.2.0', { + 'checksums': ['8f1597f04acbe6b090232929325734c802049d82649ae102b438e1fa3af5a464'], + }), + ('rredlist', '0.7.0', { + 'checksums': ['d2e66b655c43565a4cc0984dc3fcc9732652cb9677baaa9bb2b82e9f9d65e7f0'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.0.11', { + 'checksums': ['339bf0b7527449eb495673e406b76a0831aa529fe05952c3448b455cd2c91c2c'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.2', { + 'checksums': ['1ab228ea762a431a5e3a565b589b804fcb2865ceaa2b1459bd2ab3ebe8f5ebbe'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.0', { + 'checksums': ['06b491f1469078862e40543fd74e1d38b2e0fb61fdf01c8083add4b11ac2eb54'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.5-0', { + 'checksums': ['effdfee286e5ba9534dc2ac3cee96590a37f5cd2af28c836d00c25ca9f070a55'], + }), + ('WikidataR', '2.3.1', { + 'checksums': ['dd349d160c1c0bae9e3efa336efc622ea9dd481cc0a449ceab49852d220eb2da'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.7.1', { + 'checksums': ['d8a9d67851f16c3947575eb3344b9ce7ef856354e691211ef23c92b7889e1398'], + }), + ('uuid', '1.0-2', { + 'checksums': ['0bed1a3fe298123e818b631c1a2d8bcf5c6ab334f625a482197324a877a6387a'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.99', { + 'checksums': ['1a5d2783a82db4b6dd13df3639c7cd07112c1d83ddaabc83706ff235d977681c'], + }), + ('RNeXML', '2.4.5', { + 'checksums': ['2b667ecb6400e4c0c125ca73a98cde81330cde3a85b764261f77159e702754f3'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.7.3', { + 'checksums': ['83877b2e23ea43fbc1164de9c2422eafbe7858393ac384df5adf3a7eec122441'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.3', { + 'checksums': ['55403252d8bae9627476d1f553236ea5dc7aa6e54da6980526a6cdc66924e155'], + }), + ('bigmemory', '4.5.36', { + 'checksums': ['18c67fbe6344b2f8223456c4f19ceebcf6c1166255eab81311001fd67a45ef0e'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.7', { + 'checksums': ['534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c'], + }), + ('dismo', '1.3-5', { + 'checksums': ['812e1932d42c0f40acf2ab5c5b2d068f93128caf648626e1d11baf1a09340ee7'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.9', { + 'checksums': ['8667e48ed639c80180b1c1b65eff6ca2031bc9633a4fe79b50772f92375e3e71'], + }), + ('extrafont', '0.17', { + 'checksums': ['2f6d7d79a890424b56ddbdced361f8b9ddede5edd33e090b816b88a99315332d'], + }), + ('fields', '13.3', { + 'checksums': ['c652838b1ae7eb368831522824bfbc1d1db7b9d1db5e9bb52b194098549944c3'], + }), + ('shapefiles', '0.7', { + 'checksums': ['eeb18ea4165119519a978d4a2ba1ecbb47649deb96a7f617f5b3100d63b3f021'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('phytools', '0.7-90', { + 'checksums': ['48615a709760af5f298f0af6615d238c96cad7d26e997fb65467520aad37e0d1'], + }), + ('geiger', '2.0.7', { + 'checksums': ['d200736c4ad7ed4bc55a13e7d0126ddc7fed88e245cd5706d4692aaa437e9596'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('glmnet', '4.1-2', { + 'checksums': ['06ab2b58c0b431736605aee2d42e517e0e2640d16b5a6c7867a25f05dd44cdcd'], + }), + ('crosstalk', '1.1.1', { + 'checksums': ['ed3234f7f000fb607cc42e005d68be1dd598d95fa687a3f6e6b17ba38e36ccd8'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('webshot', '0.5.2', { + 'checksums': ['f183dc970157075b51ac543550a7a48fa3428b9c6838abb72fe987c21982043f'], + }), + ('shinyjs', '2.0.0', { + 'checksums': ['c2cdd9fab41f6b46bb41b288cd9b3fb3a7fe9627b664e3a58a0cb5dd4c19f8ff'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '0.107.14', { + 'checksums': ['67213c3215bcadb56e15922fbf0dc7f6a6642cc3d924363dcb1705291727b0fc'], + }), + ('Rtsne', '0.15', { + 'checksums': ['56376e4f0a382fad3d3d40e2cb0562224be5265b827622bcd235e8fc63df276c'], + }), + ('labdsv', '2.0-1', { + 'checksums': ['5a4d55e9be18222dc47e725008b450996448ab117d83e7caaa191c0f13fd3925'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-2', { + 'checksums': ['7d247c5ae6f5a63c80e478799d009c57fb8803943aa4286d05f71235cc1002f8'], + }), + ('TH.data', '1.1-0', { + 'checksums': ['21b37e251da5635ae91668f64b4c6f6a7ccedbe1f01af769d30fb532af83113e'], + }), + ('multcomp', '1.4-17', { + 'checksums': ['41509d8457cfad9ce579115e6e0ed1f7c0244455a8639cbd38a6d755d338fb0b'], + }), + ('libcoin', '1.0-9', { + 'checksums': ['2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb'], + }), + ('coin', '1.4-2', { + 'checksums': ['7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2'], + }), + ('party', '1.3-9', { + 'checksums': ['29a1fefdb86369285ebf5d48ab51268a83e2011fb9d9f609a2250b5f0b169089'], + }), + ('inum', '1.0-4', { + 'checksums': ['5febef69c43a4b95b376c1418550a949d988a5f26b1383ca01c9728a94fc13ce'], + }), + ('partykit', '1.2-15', { + 'checksums': ['b2e9454b2f4b9a39c9581c5871462f00acef4eeee5696ce3e32cfa1468d1e3ac'], + }), + ('mboost', '2.9-5', { + 'checksums': ['cf9b13e00efe0b25702cb33151e8c11eff2de07db805db217472e9d09a3be079'], + }), + ('msm', '1.6.9', { + 'checksums': ['aefcd9bb40b0167311d088d6fe23fdf7aa35deaac0f8b47ef02377cff5577023'], + }), + ('nor1mix', '1.3-0', { + 'checksums': ['9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0'], + }), + ('np', '0.60-11', { + 'checksums': ['a3b31b8ad70c42826076786b2b1b63b79cdbadfa55fe126773bc357686fd33a9'], + }), + ('polynom', '1.4-0', { + 'checksums': ['c5b788b26f7118a18d5d8e7ba93a0abf3efa6603fa48603c70ed63c038d3d4dd'], + }), + ('polspline', '1.1.19', { + 'checksums': ['953e3c4d007c3ef86ac2af3c71b272a99e8e35b194bdd58575785558c6711f66'], + }), + ('rms', '6.2-0', { + 'checksums': ['10d58cbfe39fb434223834e29e5248c9384cded23e6267cfc99367d0f5ee24b6'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-43', { + 'checksums': ['8c227a5935cff180d03c30eb73bdd00b16737579c8b8503ec7fccc17e746179a'], + }), + ('slam', '0.1-48', { + 'checksums': ['0a0b32d35fd6b8d1ac021b1358e73d32ab942d274a84fbba732d6c02efdcfade'], + }), + ('tm', '0.7-8', { + 'checksums': ['b1eb1683d956db1a207b61cc086ae08b3ca7f46b6b8bc46d09ba5a4fafa66256'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '2.1.0', { + 'checksums': ['52d0f831c2bfac93999b004c6f9ef84fe8230dc954da7b3d10030640fb7e3106'], + }), + ('TraMineR', '2.2-2', { + 'checksums': ['0c0823e2f591bb669f8f36dac22199c0d2e2dfb20fc89d62e4a44575d57397a9'], + }), + ('chemometrics', '1.4.2', { + 'checksums': ['b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a'], + }), + ('FNN', '1.1.3', { + 'checksums': ['de763a25c9cfbd19d144586b9ed158135ec49cf7b812938954be54eb2dc59432'], + }), + ('miscTools', '0.6-26', { + 'checksums': ['be3c5a63ca12ce7ce4d43767a1815cd3dcf32664728ade251cfb03ea6f77fc9a'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.4', { + 'checksums': ['bb9e7bd0ca472f7851704bd9a52ef7eca7540db32523f1b1f7e3bf06268cde97'], + }), + ('Rdpack', '2.1.2', { + 'checksums': ['714897ec115344d9a9d423519f4c289e71038f80abccced02a47cdc05d61a168'], + }), + ('dfidx', '0.0-4', { + 'checksums': ['04255de9b002b2f89db04144edcd72e21804e0c129a3e5082b4a21630c850702'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.3', { + 'checksums': ['531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f'], + }), + ('gsalib', '2.1', { + 'checksums': ['e1b23b986c18b89a94c58d9db45e552d1bce484300461803740dacdf7c937fcc'], + }), + ('optparse', '1.7.1', { + 'checksums': ['324e304c13efd565d766766193d4ccd75e2cd949dfcfb416afc3939489071fe7'], + }), + ('labelled', '2.9.0', { + 'checksums': ['36ac0e169ee065a8bced9417efeb85d62e1504a590d4321667d8a6213285d639'], + }), + ('R.cache', '0.15.0', { + 'checksums': ['adb4d3b08f7917e10fe6188c7b90a3318701a974c58eaa09943b929382bdf126'], + }), + ('styler', '1.6.2', { + 'checksums': ['a62fcc76aac851069f33874f9eaabdd580973b619cfc625d6ec910476015f75c'], + }), + ('questionr', '0.7.5', { + 'checksums': ['a1a25d8ab228a8d3bdb6c37d50db3964fe33a3fe1c46a95331b029261977d4a3'], + }), + ('klaR', '0.6-15', { + 'checksums': ['5bfe5bc643f8a64b222317732c26e9f93be297cdc318a869f15cc9ab0d9e0fae'], + }), + ('neuRosim', '0.2-12', { + 'checksums': ['f4f718c7bea2f4b61a914023015f4c71312f8a180124dcbc2327b71b7be256c3'], + }), + ('locfit', '1.5-9.4', { + 'checksums': ['d9d3665c5f3d49f698fb4675daf40a0550601e86db3dc00f296413ceb1099ced'], + }), + ('GGally', '2.1.2', { + 'checksums': ['30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5'], + }), + ('beanplot', '1.2', { + 'checksums': ['49da299139a47171c5b4ccdea79ffbbc152894e05d552e676f135147c0c9b372'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.4.2', { + 'checksums': ['1719ce9a00b9ac4d56dbf961803085b892d3359726fda3567bb989ddfed9a5f2'], + }), + ('pbkrtest', '0.5.1', { + 'checksums': ['b2a3452003d93890f122423b3f2487dcb6925440f5b8a05578509e98b6aec7c5'], + }), + ('carData', '3.0-4', { + 'checksums': ['cda6f5e3efc1d955a4a0625e9c33f90d49f5455840e88b3bd757129b86044724'], + }), + ('maptools', '1.1-2', { + 'checksums': ['3995c96e8472cd6717fe3cbd3506358ff460b6c2cf92dbe4b00f75f507514439'], + }), + ('zip', '2.2.0', { + 'checksums': ['9f95987c964039834f770ecda2d5f7e3d3a9de553c89db2a5926c4219bf4b9d8'], + }), + ('openxlsx', '4.2.4', { + 'checksums': ['af571b3c60cea2a5975f6a394469f1c50266d4a5c5c91896b991b1b3ba8bc86e'], + }), + ('rematch', '1.0.1', { + 'checksums': ['a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.3.1', { + 'checksums': ['24b441713e2f46a3e7c6813230ad6ea4d4ddf7e0816ad76614f33094fbaaaa96'], + }), + ('rio', '0.5.27', { + 'checksums': ['e0eb616cdbba9f2d5c4489ae05336201d717ce65b0ea6854023054d1c2e3dd0a'], + }), + ('car', '3.0-11', { + 'checksums': ['b32c927206f515631ff276dbb337b0f22e9b2d851f4abb1d2c272e534c19542c'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.1', { + 'checksums': ['29fb916d4799ba6503a5dd019717ffdf154d2aaae9ff1736f03e2be24af6bdfc'], + }), + ('DT', '0.19', { + 'checksums': ['baa6bdae215ab84a5dee9c0a6c55dd92135c795d13dfce3c3485519c6f0e3b13'], + }), + ('FactoMineR', '2.4', { + 'checksums': ['b9e3adce9a66b4daccc85fa67cb0769d6be230beeb126921b386ccde5db2e851'], + }), + ('flexclust', '1.4-0', { + 'checksums': ['82fe445075a795c724644864c7ee803c5dd332a89ea9e6ccf7cd1ae2d1ecfc74'], + }), + ('flexmix', '2.3-17', { + 'checksums': ['36019b7833032409ac61720dd625fa5a581a1d8bcba9045b04979c90907b5649'], + }), + ('prabclus', '2.3-2', { + 'checksums': ['f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441'], + }), + ('diptest', '0.76-0', { + 'checksums': ['508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-9', { + 'checksums': ['29b0006e96c8645645d215d3378551bd6525aaf45abde2d9f12933cf6e75fa38'], + }), + ('BiasedUrn', '1.07', { + 'checksums': ['2377c2e59d68e758a566452d7e07e88663ae61a182b9ee455d8b4269dda3228e'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.10', { + 'checksums': ['996956ea46a827c9f214e4f940a19304a0ff35bda707d4d7312f80d3479067b2'], + }), + ('base64', '2.0', { + 'checksums': ['8e259c2b12446197d1152b83a81bab84ccb5a5b77021a9b5645dd4c63c804bd1'], + }), + ('doRNG', '1.8.2', { + 'checksums': ['33e9d45b91b0fde2e35e911b9758d0c376049121a98a1e4c73a1edfcff11cec9'], + }), + ('nleqslv', '3.3.2', { + 'checksums': ['f54956cf67f9970bb3c6803684c84a27ac78165055745e444efc45cfecb63fed'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '2.1.2', { + 'checksums': ['20f341fca8f616c556699790814debdf2ac7aa4dd9ace2071100c66af1549d7d'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.1', { + 'checksums': ['3b9489ab05ea83ead99ca6e4a1e6830467a2064779834aff1317b42bd41bb8fd'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.0', { + 'checksums': ['7537566ae94ea4bde97ca819ce5ec477943f33847a8eb0042d0859ce11ab35d1'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.15', { + 'checksums': ['c73aabed083095b457ed875c240716686fbd41d1cbafa116b7b890a54b919174'], + }), + ('fma', '2.4', { + 'checksums': ['69a94c3bd464176a80232d49fcd04d478d4dd59f9bf128d6a9f46e49612d27f4'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-0', { + 'checksums': ['74dabc0dfe5a527114f0bb8f3d22f5d1ae694e6ea9345912909bae885525d34b'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '2.2-0', { + 'checksums': ['5ad87e524285621dc4ef75c941eba933d980125293ee8f2bef5b7db02f63d7ab'], + }), + ('spatstat.data', '2.1-0', { + 'checksums': ['1b9840ad0ec7eddfa98a01e8b8a5291e5cb447c3082aa7d7b4df762577f95533'], + }), + ('spatstat.geom', '2.3-0', { + 'checksums': ['7b1746a44509a6d518799332477fffa3474217c6cb3c6b92a325525b48fce9c7'], + }), + ('spatstat.sparse', '2.0-0', { + 'checksums': ['27fbce64e21f095a5e9ac54c86f91c9f4b45eac3c2358580e04423b4beba19c7'], + }), + ('spatstat.core', '2.3-0', { + 'checksums': ['5795ec6db2961dce740c7cd39a9c1b855d92a4af351a794a9bfd634a3f1526c9'], + }), + ('spatstat.linnet', '2.3-0', { + 'checksums': ['f0c089c41db8fe83d09ecb396ce8952a593c265411fb997847201d9784f9a2f9'], + }), + ('spatstat', '2.2-0', { + 'checksums': ['8f0f90e8d5af1e2e97ef5f01e595511916290d554fc1ae3ad7b217605bd4e353'], + }), + ('pracma', '2.3.3', { + 'checksums': ['cf1f8d7724a385d9a2e1a5496d9ba0e9908940b85669fb2c506b9059722cb93c'], + }), + ('RCurl', '1.98-1.5', { + 'checksums': ['73187c9a039188ffdc255fb7fa53811a6abfb31e6375a51eae8c763b37dd698d'], + }), + ('bio3d', '2.4-2', { + 'checksums': ['91415766cda0f96557e6bc568dbce8d44254a9460f2e2d0beed0ce14ffad6ccb'], + }), + ('AUC', '0.3.0', { + 'checksums': ['e705f2c63d336249d19187f3401120d738d42d323fce905f3e157c2c56643766'], + }), + ('interpretR', '0.2.4', { + 'checksums': ['4c08a6dffd6fd5764f27812f3a085c53e6a21d59ae82d903c9c0da93fd1dd059'], + }), + ('cvAUC', '1.1.0', { + 'checksums': ['c4d8ed53b93869650aa2f666cf6d1076980cbfea7fa41f0b8227595be849738d'], + }), + ('SuperLearner', '2.0-28', { + 'checksums': ['5f42233abd48f1740c33aae1ec4ad8e9952fddb5df1ee49ff2d43d5d89f05601'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-2', { + 'checksums': ['854b8c983427ecf9f2f7798c4fd1c1d06762b5b0bcb1045502baadece6f78316'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.3', { + 'checksums': ['e6e56e3f6999ebdc326e64ead5269f3aaf61dd587beefafb7536ac3890370d84'], + }), + ('ddalpha', '1.3.11', { + 'checksums': ['c30b4a3a9549cb4dc0a8e51e06f5b6e4c457c5326acc8f4680968c920f59b6e9'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('adabag', '4.2', { + 'checksums': ['47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14', { + 'checksums': ['b17652d0a69de3241a69f20be4ad1bfe02c413328a17f3c1ac7b73886a6ba2eb'], + }), + ('ggvis', '0.4.7', { + 'checksums': ['9e6b067e11d497c796d42156570e2481afb554c5db265f42afbb74d2ae0865e3'], + }), + ('mlr', '2.19.0', { + 'checksums': ['1149c9b453896481c85906045aa82d511d96979ddecbe5a3faf04f9f4a5e6113'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-14', { + 'checksums': ['7f6262cb2b49b5d5979ccce9ded9cbb2c0b348fd7c9eabc1ea1d31c51a102c20'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.1', { + 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], + }), + ('lhs', '1.1.3', { + 'checksums': ['e43b8d48db1cf26013697e2a798ed1d31d1ee1790f2ebfecb280176c0e0c06d1'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5', { + 'checksums': ['1dd7b1383a7c891cafb34d9cec65d92f1511a336cff1b219e63c0aa791371b9f'], + }), + ('whisker', '0.4', { + 'checksums': ['7a86595be4f1029ec5d7152472d11b16175737e2777134e296ae97341bf8fba8'], + }), + ('roxygen2', '7.1.2', { + 'checksums': ['b3693d1eb57bb1c27134447ea7f64c353c085dd2237af7cfacc75fca3d2fc5fd'], + }), + ('git2r', '0.28.0', { + 'checksums': ['ce6d148d21d2c87757e98ef4474b2d09faded9b9b866f046bd26d4ca925e55f2'], + }), + ('rversions', '2.1.1', { + 'checksums': ['79aaacf5a1258d91ac0ddedf3c8c16a2d10d39010993dcc7b0a2638afee27cb1'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('sessioninfo', '1.2.0', { + 'checksums': ['adebf738ad3d3af9e018302d949994240311ef06c0a77c645b2f761c1a8c07df'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.1', { + 'checksums': ['d5d777b2e10d70fd0670166d539eab88ec4f7fe030f54ec5cd2703f548473276'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.1', { + 'checksums': ['b14aaf4e910a9d2d6c65c93e645f0b0159c00898e669f917f83c03dfedb1dfea'], + }), + ('gh', '1.3.0', { + 'checksums': ['a44039054e8ca56496f2d9c7a10cdadf4a7383bc91086e768ba7e7f1fbcaed1c'], + }), + ('credentials', '1.3.1', { + 'checksums': ['8795a73a65d1ce2e9f0be66546e85231c846ba6445a11948b9816fbee20a7a60'], + }), + ('gert', '1.4.1', { + 'checksums': ['623b58f12c5530b101e91a352269fe011814b074cf7a7ed0b3cd4506390a63f8'], + }), + ('usethis', '2.1.3', { + 'checksums': ['2db075980247d854110de60e7afe6f6e0b654a3ba49d0699ff40dd516e8e9bbf'], + }), + ('covr', '3.5.1', { + 'checksums': ['a54cfc3623ea56084158ac5d7fe33f216f45191f6dcddab9c9ed4ec1d9d8ac6c'], + }), + ('devtools', '2.4.2', { + 'checksums': ['71f0a55054d293fb553702b21b91941bc5c83a933610fad6f9662bf0a6178f05'], + }), + ('Rook', '1.1-1', { + 'checksums': ['00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903'], + }), + ('Cairo', '1.5-12.2', { + 'checksums': ['dd524105c83b82b5c3b3ee2583ef90d4cafa54b0c29817dac48b425b79f90f92'], + }), + ('RMTstat', '0.3', { + 'checksums': ['81eb4c5434d04cb66c749a434c33ceb1c07d92ba79765d4e9233c13a092ec2da'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-1', { + 'checksums': ['5a1927bb21f178ec5a3e3f862d792e690e45c16c88190e64e83aa1fb9e3ffa02'], + }), + ('tkrplot', '0.0-26', { + 'checksums': ['dd66264c2553f6927aff297c6b1c3b61867d6c63aec080f40a1e9d53cfc9d120'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '0.1-12', { + 'checksums': ['487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.2', { + 'checksums': [('aa874891446a395f01791d80a5a0f1f9a1c2c41f029de3a8d5af9aa47f46a496', + '805513029895cf5a81f18ede4123ef2525a236cd555437609229fe720c346e14')], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.13.2', { + 'checksums': ['7c9e4e178adcecb0817213c0210b82d91647f4acf5c4d4056d46d286a5bff609'], + }), + ('logcondens', '2.1.6', { + 'checksums': ['785bbda00b9a25e56440e11356ac219cfbf0fdf8b08c7b0728e53a9febe7a365'], + }), + ('Iso', '0.0-18.1', { + 'checksums': ['2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f'], + }), + ('penalized', '0.9-51', { + 'checksums': ['eaa80dca99981fb9eb576261f30046cfe492d014cc2bf286c447b03a92e299fd'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.0.0', { + 'checksums': ['40674c90a5bd00f5185db9adbd221c6f1114043e69095249f5fa8b3044af3f5e'], + }), + ('influenceR', '0.1.0.1', { + 'checksums': ['63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766'], + }), + ('visNetwork', '2.1.0', { + 'checksums': ['a2b91e7fbbd9d08a9929a5b2c891d9c0bca5977ad772fa37510d96656af1152f'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.6.1', { + 'checksums': ['be4e4c520a3692902ce405e8225aef9f3d5f0cd11fcde614f6541e981b63673d'], + }), + ('randomForestSRC', '2.13.0', { + 'checksums': ['beb981cae3a8c7232a2ca67f0a7bf3293eb44d5f1ac14913632ca8f8d4728abd'], + }), + ('sm', '2.2-5.7', { + 'checksums': ['2607a2cafc68d7e99005daf99e36f4a66eaf569ebb6b7500e962642cf58be80f'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-9', { + 'checksums': ['d404c4eb40686534f9c05f24f908cd954041f66d1072caea4a3adfa83a5f108a'], + }), + ('matrixcalc', '1.0-5', { + 'checksums': ['5906e1ef06dbc18efc7a4b370adc180ef8941b5438119703bd981d1c76a06fca'], + }), + ('arm', '1.12-2', { + 'checksums': ['816ba1c31eec00feef472c57e280488d3d233b592f6f0a1a30e4abb903cb4f5d'], + }), + ('mi', '1.0', { + 'checksums': ['34f44353101e8c3cb6bf59c5f4ff5b2391d884dcbb9d23066a11ee756b9987c0'], + }), + ('servr', '0.23', { + 'checksums': ['4492d1dabc8f62cf7f7a53c97413a664823a3916dcaf99a7b04bcb279f7b2eb8'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-13', { + 'checksums': ['07749f710ad800f43cacdff8f1aa4f20105a619c72be4465f29860c381242f65'], + }), + ('statnet.common', '4.5.0', { + 'checksums': ['3cdb23db86f3080462f15e29bcf3e941590bc17ea719993b301199b22d6f882f'], + }), + ('network', '1.17.1', { + 'checksums': ['fc3c3a0014f8895a11c33994c9b44c6ef6cc49c7d026cd41ae6bba5ef63005a7'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.6', { + 'checksums': ['3a016550d9f424a0613c3f5b0b680dbd3a1f20a343173d39a96034340ad9202a'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.64', { + 'checksums': ['243f3af3724552049f8f4f55dd425e3313adab95e1128ae4d6551d96005fdf5e'], + }), + ('graphlayouts', '0.7.1', { + 'checksums': ['380f8ccb0b08735694e83f661fd56a0d592a78448ae91b89c290ba8582d66717'], + }), + ('tweenr', '1.0.2', { + 'checksums': ['1805f575da6705ca4e5ec1c4605222fc826ba806d9ff9af41770294fe08ff69f'], + }), + ('ggforce', '0.3.3', { + 'checksums': ['2a283bb409da6b96929863a926b153bcc59b2c6f00551805db1d1d43e5929f2f'], + }), + ('tidygraph', '1.2.0', { + 'checksums': ['057d6c42fc0144109f3ace7f5058cca7b2fe493c761daa991448b23f86b6129f'], + }), + ('ggraph', '2.0.5', { + 'checksums': ['e36ad49dba92ee8652e18b1fb197be0ceb9f0a2f8faee2194453a62578449654'], + }), + ('qgraph', '1.9', { + 'checksums': ['e1d7489c4db47878dccd34ded7e8173d58a190ad453d2e6e89f33549ccfd10aa'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6', # HWxtest_1.1.9.tar.gz + '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451', # HWxtest-1.1.9_add-fcommon.patch + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.19', { + 'checksums': ['4cd2d080628482f4c6ecab593313d7e42516f5ff13fbf9f90e461fcad0580738'], + }), + ('geepack', '1.3-2', { + 'checksums': ['99b53e40f7e5fda7422b143e6fee16513e2f880cb04a97cd403e98c4760670a6'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-1', { + 'checksums': ['14cb7dba3ef2b46da0479b46d46c76198e129a31f6157cd8b37f178adb15d5a3'], + }), + ('rootSolve', '1.8.2.3', { + 'checksums': ['b5b3d1641642a3fd1279dbd1245f968d2331ac9588d77f872b113f7dc4594ba0'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('FME', '1.3.6.2', { + 'checksums': ['65a200f8171e27f0a3d7ffce3e49b01561f219a11f3cb515ff613a45927ff618'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-8', { + 'checksums': ['4b7482f70d8ecef9596b766ef1c64102c8b09208cb769c39d9e4db81cb3ba1a2'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.42.10', { + 'checksums': ['01939eb03ad2e1369a4240a128c3b246a4c56f572f1ea4967f1acdc555adaeee'], + }), + ('signal', '0.7-7', { + 'checksums': ['67a015c46d67de7548c3adb83a1b22524de75501a861d91668c3c2ea761a4e61'], + }), + ('tuneR', '1.3.3.1', { + 'checksums': ['cdcbf04ab5b547002ee5b1d3bc46145882c5a551f164cac43df71596f1edd18a'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-8', { + 'checksums': ['1a1c78bca63ed1fb5e30e00c593b67e1230b408e6a77c67082b41373d79b5bb4'], + }), + ('fftw', '1.0-6', { + 'checksums': ['397ef5ec354b919884f74fba4202bfc13ad11a70b16285c41677aad1d3b170ce'], + }), + ('seewave', '2.1.8', { + 'checksums': ['10e6487325ccd1c3cd64617182733f1472f3170974b32bb61a6b12ba7ddeeceb'], + }), + ('gsw', '1.0-6', { + 'checksums': ['147ce73da75777799af9cb712862ef25b52fcae146a64ce0a525460ddfea1deb'], + }), + ('wk', '0.5.0', { + 'checksums': ['71d500e0beaeed40501702adf214054d30278acb3171af6db4ae8dcdf5e7423a'], + }), + ('s2', '1.0.7', { + 'checksums': ['2010c1c6ae29938ec9cd153a8b2c06a333ea4d647932369b2fc7d0c68d6d9e3f'], + }), + ('sf', '1.0-3', { + 'checksums': ['2ee3ece4e5056fe267d76a785912a2285ddfc235b1be67b4c21b74dc39a831f8'], + }), + ('oce', '1.4-0', { + 'checksums': ['3b341448001164dc62b54a26c8f86adf50e68705ddc47615b290b950da734408'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-1', { + 'checksums': ['f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3'], + }), + ('pinfsc50', '1.2.0', { + 'checksums': ['ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794'], + }), + ('vcfR', '1.12.0', { + 'checksums': ['dd87ff010365de363864a44ca49887c0fdad0dd18d0d9c66e44e39c2d4581d52'], + }), + ('glmmML', '1.1.1', { + 'checksums': ['255fe2640933d83ef7ea5813ba8006038c18195147d1f34f47a759210a674dd4'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3', { + 'checksums': ['66fdf5d73e69594af529a9c4f261d972872b9b7bffd19f85c1adcd66afd80c69'], + }), + ('sn', '2.0.0', { + 'checksums': ['abd6ccdb3719b482db43ff2d5b12f2efcb8244792ec08e1176c5eb98fcc7886a'], + }), + ('tclust', '1.4-2', { + 'checksums': ['95dcd07dbd16383f07f5cea8561e7f3bf314e4a7483879841103b149fc8c65d9'], + }), + ('ranger', '0.13.1', { + 'checksums': ['60934f0accc21edeefddbb4ddebfdd7cd10a3d3e90b31aa2e6e4b7f50d632d0a'], + }), + ('hexbin', '1.28.2', { + 'checksums': ['6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d'], + }), + ('lobstr', '1.1.1', { + 'checksums': ['b8c9ce00095bd4f304b4883ef71da24572022f0632a18c3e1ba317814e70716e'], + }), + ('pryr', '0.1.5', { + 'checksums': ['7b1653ec51850f4633cee8e2eb7d0b2724fb587b801539488b426cf88f0f770b'], + }), + ('moments', '0.14', { + 'checksums': ['2a3b81e60dafdd092d2bdd3513d7038855ca7d113dc71df1229f7518382a3e39'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.1.1', { + 'checksums': ['7581adca64cf20b93d5a111da83f663215b4529868b065b3463c4238bca97739'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.6.0', { + 'checksums': ['bbac8552f67ff1945180fbcda83f7f1c47908f27ba4e84921a39c45d6e123333'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.6-0', { + 'checksums': ['795f3a49b3e17c9c6e0fdd865e81a0402cefda970032c8299bcf2056ca7ec944'], + }), + ('WriteXLS', '6.3.0', { + 'checksums': ['0b1d987abe4b08f6a32003b77d1cfc2eefdc5a478382e77ca0da98bccf6e526b'], + }), + ('bst', '0.3-23', { + 'checksums': ['70957f1db8800bf0d628a9e6f72b7273329786dd119427790b326844591aa0f3'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-9', { + 'checksums': ['983733b618631d9ad754fb12f5e576912aff1f529cafdee4fddfd38d81ccc710'], + }), + ('mpath', '0.4-2.19', { + 'checksums': ['fa0d92984910b8f556677850e3d899bc675724f0e2a3a73629d2700040335afe'], + }), + ('timereg', '2.0.1', { + 'checksums': ['38429ae21d9d090ed968d2e0c06cd0310cc304e974c353a97cde3d2e49f138d7'], + }), + ('peperr', '1.3', { + 'checksums': ['64d30b0ec09bf9b8f7b6edce67dd0f9e0e3dbe665fec8f5411f74142e53e9f5d'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.13', { + 'checksums': ['6cbadbf8e8b1abbd71a79080677d2b95f2bdd18f2e4d707c32d5c2ff26c5369b'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.15.2', { + 'checksums': ['4ba3885b66694589d455ffef31c218fe653fa25aff3efb7e8db6c25008d2921b'], + }), + ('RInside', '0.2.16', { + 'checksums': ['7ae4ade128ea05f37068d59e610822ff0b277f9d39d8900f7eb31759ad5a2a0e'], + }), + ('limSolve', '1.5.6', { + 'checksums': ['b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0'], + }), + ('dbplyr', '2.1.1', { + 'checksums': ['aba4cf47b85ab240fd3ec4cd8d512f6e1958201e151577c1a2ebc3d6ebc5bc08'], + }), + ('modelr', '0.1.8', { + 'checksums': ['825ba77d95d60cfb94920bec910872ca2ffe7790a44148b2992be2759cb361c4'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.1', { + 'checksums': ['0e6d8667cacb63135476a766fba3a4f91e5ad86274ea66d2b1e6d773b5ca6426'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.2', { + 'checksums': ['89bb477e0944c80298a52ccf650db8f6377fd7ed3c1bc7034d000f695fdf05a4'], + }), + ('dtplyr', '1.1.0', { + 'checksums': ['99681b7285d7d5086e5595ca6bbeebf7f4e2ee358a32b694cd9d35916cdfc732'], + }), + ('gargle', '1.2.0', { + 'checksums': ['4d46ca2933f19429ca5a2cfe47b4130a75c7cd9931c7758ade55bac0c091d73b'], + }), + ('googledrive', '2.0.0', { + 'checksums': ['605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.0.0', { + 'checksums': ['0a107d76aac99d6db48d97ce55810c1412b2197f457b8476f676169a36c7cc7a'], + }), + ('tidyverse', '1.3.1', { + 'checksums': ['83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632'], + }), + ('R.rsp', '0.44.0', { + 'checksums': ['8969075bdcabd43bad40eef6b82223e119426279fded041163fd41e55cee3a59'], + }), + ('gdistance', '1.3-6', { + 'checksums': ['2ccabeb2f8cf44630c0bd2da79815fe357b812737ebece1bed8f90b27c126a24'], + }), + ('vioplot', '0.3.7', { + 'checksums': ['06475d9a47644245ec91598e9aaef7db1c393802d9fc314420ac5139ae56adb6'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.6-6', { + 'checksums': ['b1b321ad1b4a4a14a2825a2c3eb939ce2f2bcef995247a1d638eca250e59739b'], + }), + ('tmvtnorm', '1.4-10', { + 'checksums': ['1a9f35e9b4899672e9c0b263affdc322ecb52ec198b2bb015af9d022faad73f0'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap', '1.2.3-1', { + 'checksums': ['343ae58ca91e75147ae3961285c3413bdf6dedf7cb4743a822a6c5b16d1b89e7'], + }), + ('qrnn', '2.0.5', { + 'checksums': ['3bd83ee8bd83941f9defdab1b5573d0ceca02bf06759a67665e5b9358ff92f52'], + }), + ('TMB', '1.7.22', { + 'checksums': ['c24125e1a37ed2b3c2554133183465cb6f3c0021cd4d4609c61336f59c3bd384'], + }), + ('glmmTMB', '1.1.2.3', { + 'checksums': ['55631e001ff3f1d8e419e3b0b5555317713c733c11a2f7d4db6434d8c4e7dcf9'], + }), + ('gmp', '0.6-2', { + 'checksums': ['6bfcb45b3f1e7da27d8773f911027355cab371d150c3dabf7dbaf8fba85b7f0e'], + }), + ('ROI', '1.0-0', { + 'checksums': ['b0d87fb4ed2137d982734f3c5cdc0305aabe6e80f95de29655d02a9e82a0a341'], + }), + ('Rglpk', '0.6-4', { + 'checksums': ['a28dbc3130b9618d6ed2ef718d2c55df8ed8c44a47161097c53fe15fa3bfbfa6'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '3.9.13', { + 'checksums': ['f9ded29106c656ff15ddc2564c16d44b77f08dac1f2dea5720028923e83e2514'], + }), + ('qgam', '1.3.3', { + 'checksums': ['9a68fe4e74f4188862f7c01d682d50ffadd96ce7b98383404472309c87e3a26f'], + }), + ('DHARMa', '0.4.4', { + 'checksums': ['b5a073f84faf7144f2074a43f619f8f264773afb0e09ca0294735e792552edca'], + }), + ('mvnfast', '0.2.7', { + 'checksums': ['b67d50936c9a466977669ef6bb7b23df8e7c90a820ac916328c20e41ef8e0b72'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.7', { + 'checksums': ['af49389bdeb794da3c39e1d63f59e6219438ecb8613c5ef523b00c6fed5a600c'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.1', { + 'checksums': ['052d8802500fcfdb3b37a8e3e6f3fbd5c3a54e48c3f68122402d2ea3a15403bc'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5', { + 'checksums': ['d042d448671355d0664d37fd64dc90932eb780e6494c479d4431d1faae2071a1'], + }), + ('Rssa', '1.0.4', { + 'checksums': ['4115b516f6782d52f02695bbbd52921a474aafc7232d49aca85010f1c33b08a7'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-0', { + 'checksums': ['7443d6cd154760d55b6954142908eae30385672c4f3f838dd49876ec2f297823'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-20', { + 'checksums': ['53014cee059bd87dc22f9679dfbf18fe6813b9ab41dfe90361921159edfbf798'], + }), + ('Matching', '4.9-11', { + 'checksums': ['1c71ca8462b3168839bf446ee8e5b4baa6288a72f8c8590c9d7565c91fba7688'], + }), + ('MatchIt', '4.3.0', { + 'checksums': ['ca897ab81a7c19ebd4cbc67011c6223668ad5a8876b10f665a86f5f79ed85446'], + }), + ('RItools', '0.1-17', { + 'checksums': ['75654780e9ca39cb3c43acfaca74080ad74de50f92c5e36e95694aafdfdc0cea'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.1-1', { + 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], + }), + ('optmatch', '0.9-15', { + 'checksums': [('7500fdbed939b7f16603a097d734a332793a3ac68e6a80c7957bef2a567691d8', + 'f37254b3af586ffa259f09914e27cba576b6f4ef023b794195014d29f715895b')], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('SKAT', '2.0.1', { + 'checksums': ['c8637cf5786b926f6bbef3f4ef1d3af5130cc0cfd9094d4835839724b2d0e8c7'], + }), + ('GillespieSSA', '0.6.1', { + 'checksums': ['272e9b6b26001d166fd7ce8d04f32831ba23c676075fbd1e922e27ba2c962052'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.8.0', { + 'checksums': ['bb7df05d6b946bcdbbec2e3397c7c7e349b537cabfcbb13a34bcf6312a71ceb7'], + }), + ('distrEx', '2.8.0', { + 'checksums': ['b064cde7d63ce93ec9969c8c4463c1e327758b6f8ea7765217d77f9ba9d590bf'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('KODAMA', '1.8', { + 'checksums': ['1ed9c14826c3c549c7323672cee04a71048c505c130e739ef5a95ed9bfe43444'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-2', { + 'checksums': ['e721596fc6175d3270a60d5e0b5b98be103a8fd0dd93ef16680af21fe0b54179'], + }), + ('dtw', '1.22-3', { + 'checksums': ['df7cf9adf613422ddb22a160597eb5f5475ab6c67c0d790092edb7f72ba98f00'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.3', { + 'checksums': ['f5eafab17f2d4a8a2a83821ad3e96ae7c26b62bbce9de414484c657383c7b42e'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-6', { + 'checksums': ['17c2990041a3bb7479f3c3a6d13d96c989db8eaddab17eff7e1fbe172a5b96be'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('reticulate', '1.22', { + 'checksums': ['b06e7b39abf08ae9604ea26d02e3c6e4ef6dcc4b6c7c98118fd85192f615f56c'], + }), + ('hdf5r', '1.3.4', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['64d057601841b604e04e8514d33a1e5e515dcbfd9cc8369d40d717d7036fab53'], + }), + ('DTRreg', '1.7', { + 'checksums': ['f0fad2244d960cec8fc33d9a1078df359ceb0aadff980ce6149aa9f01c62223b'], + }), + ('pulsar', '0.3.7', { + 'checksums': ['78c9f7e3b2bf8a8d16a81d6ee43bb05b0c360219be473d920c8c8ccb2aba4e3d'], + }), + ('bayesm', '3.1-4', { + 'checksums': ['061b216c62bc72eab8d646ad4075f2f78823f9913344a781fa53ea7cf4a48f94'], + }), + ('gsl', '2.1-7', { + 'checksums': ['1a86af59d9864ecf2a85d5371076786e7a0491d6d6b4d5c1a7590ea8919f3b17'], + }), + ('energy', '1.7-8', { + 'checksums': ['de08e8de037bb30068bbf0c1880b153a586d342304681f4ba103ab808c7f4789'], + }), + ('compositions', '2.0-2', { + 'checksums': ['b5e47a14a1bb010b47b4ad7fbfabfead1a08b009b92e1f7d4bd3bd7f8589f216'], + }), + ('clustree', '0.4.3', { + 'checksums': ['5ff3afc3fb3e1d20d033328935084de574250d29545c0a5b69180fe4846fbe53'], + }), + ('plotly', '4.10.0', { + 'checksums': ['bd995c654dbc8c09a84adaba8def99766919e3894caf18b551bb26b2f591389a'], + }), + ('tweedie', '2.3.3', { + 'checksums': ['a032cad512dac37a8619e6f66cb513eb82a88a5a2ffbe91e92c2d44d1756d0d9'], + }), + ('RcppGSL', '0.3.10', { + 'checksums': ['8612087da02fb791f427fed310c23d0482a8eb60fb089119f018878143f95451'], + }), + ('mvabund', '4.1.12', { + 'checksums': ['c1af39dbfd048c9bb367765ee266be49622e1a5d964186920a2d47bec4e6f780'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('gllvm', '1.3.1', { + 'checksums': ['cd3f72b84f0c722e9c0b21c2b2de7683ec742345d7f8e62f67c8c93342c1a5c6'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.7', { + 'checksums': ['9ebc8e45ad73eb51e0b25049598a5bc758370cf89508e2328cf4bd93d68d55bb'], + }), + ('ergm', '4.1.2', { + 'checksums': ['1abc6ef53376a4132530c376ce477ae7a2590e95fe8feb011c0da9cfb4d49ba0'], + }), + ('networkDynamic', '0.11.0', { + 'checksums': ['aa21caaddce75c22e08b94adfb6036f5ee151ffb79d174ad250fe4592d27dad2'], + }), + ('tergm', '4.0.2', { + 'checksums': ['5ab1d61166c90f90c77edd12544b5946e01a933cc3e7ca609cae72075b742a64'], + }), + ('ergm.count', '4.0.2', { + 'checksums': ['316ed3cbe4b472eec79e8a5fd4183ce953070f6d98056d87423bd6d9ac155bd1'], + }), + ('tsna', '0.3.4', { + 'checksums': ['08fd9612388b86077cd877a48f81068d63f20291836eedbc727c9e00c1a2b4d2'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-7', { + 'checksums': ['b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260'], + }), + ('MCMCpack', '1.6-0', { + 'checksums': ['b5b9493457d11d4dca12f7732bd1b3eb1443852977c8ee78393126f13deaf29b'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.0', { + 'checksums': ['dc7c1c8874d6cfa34d550d9af194389e13471dfbc55049a1ab66db112fbf1343'], + }), + ('asnipe', '1.1.16', { + 'checksums': ['be50f9fdef0f4bf9676b9c3c2906d0431afc678af55cf48b1119f9fc0adac44f'], + }), + ('liquidSVM', '1.2.4', { + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba', # liquidSVM_1.2.4.tar.gz + # liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8', + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.34.0.3', { + 'checksums': ['2a707b9f7271eae611c9e81b13d2024b8829f6b06b3c41c5b97de1aef591931e'], + }), + ('mlegp', '3.1.8', { + 'checksums': ['eac1df085a608451828575028ca05b78dc6b5035da14cabc141bfee5ef986de9'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.4', { + 'checksums': ['f785804b03bdf424e1c76095989a803afb3b47d6bebca9a6832074b6326c0278'], + }), + ('bartMachineJARs', '1.1', { + 'checksums': ['f2c31cb94d7485174a2519771127a102e35b9fe7f665e27beda3e76a56feeef2'], + }), + ('bartMachine', '1.2.6', { + 'checksums': ['5e1ac0033da5b41a96d95782886a167e51ff8e43822800e8d40874ff9c13847f'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.9', { + 'checksums': ['1a30b0a4317ea227d674ac873ab94f87f8326490304e5b08ad58953cdf23169f'], + }), + ('GUTS', '1.1.1', { + 'checksums': ['094b8f51719cc36ddc56e3412dbb146eafc93c5e8fbb2c5999c2e80ea7a7d216'], + }), + ('GenSA', '1.1.7', { + 'checksums': ['9d99d3d0a4b7770c3c3a6de44206811272d78ab94481713a8c369f7d6ae7b80f'], + }), + ('parsedate', '1.2.1', { + 'checksums': ['6b078da4a47904194bfe29e2c3b6fbbf6e3ad190e33979f840a3ea366c708616'], + }), + ('circular', '0.4-93', { + 'checksums': ['76cee2393757390ad91d3db3e5aeb2c2d34c0a46822b7941498571a473417142'], + }), + ('cobs', '1.3-4', { + 'checksums': ['a1c7b77e4ca097349884fd1c0d863d74f9092766131094d603f34d33ab2e3c42'], + }), + ('resample', '0.4', { + 'checksums': ['f0d5f735e1b812612720845d79167a19f713a438fd10a6a3206e667045fd93e5'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-7', { + 'checksums': ['d28107a4bbbb0ace1d571f0aa6884ee4c50d7731c04bceba207fd55a39b83b9c'], + }), + ('Rserve', '1.7-3.1', { + 'checksums': ['3ba1e919706e16a8632def5f45d666b6e44eafa6c14b57064d6ddf3415038f99'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '7.0.0', { + 'checksums': ['6ff520d27d68637058c33a34c547a656bb44d5e351b7cc7afed6cd4216275c78'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '1.5.0.2', { + 'checksums': ['4772c352e8d3d9b5a0b7480c0e0962de4f5060fb7bf3fcb8ee4fa1cb10f93fd4'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.15', { + 'checksums': ['4be0d52f433503631e9574944067f613bafba129ebe27396bcfccb3b95992b1a'], + }), + ('BCEE', '1.3.0', { + 'checksums': ['82afc9b8c6d617f5f728341960ae32922194f637c550916b3bea12c231414fa7'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-60', { + 'checksums': ['6d21ddfd0d621ed3bac861890c600884b6ed5ff7d2a36c9778b892636dbbef2a'], + }), + ('bdsmatrix', '1.3-4', { + 'checksums': ['251e21f433a016ec85e478811ea3ad34c572eb26137447f48d1bbf3cc8bb06ea'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.20', { + 'checksums': ['fff39d5df295b937cdad57b73d4e06e925f69e68784ef58b5dfcd3cf500931c1'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.0.2-2.1', { + 'checksums': [('6918b62f51252b57f2c05b99debef6136b370f594dc3ae6466268e4c35578ef8', + 'eea3a51a2e132a023146bfbc0c384f5373eb3ea2b61743d7658be86a5b04949e')], + }), + ('sampling', '2.9', { + 'checksums': ['7f5ba5978f6cdbbbdb6f51958197b28b6fc63e7eeee59e6845ea09fb37d1b187'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.2', { + 'checksums': ['53d2ff3ddbb398655b245ad3a19c028d6fb6bb1d59adeb30bb3497606733fc2d'], + }), + ('bbmle', '1.0.24', { + 'checksums': ['01edc00479fabf7491e47ff59bc4adbe6f0d4c23d22e76d1d49c4c1b6b4693ad'], + }), + ('emdbook', '1.3.12', { + 'checksums': ['0646caf9e15aaa61ff917a4b5fdf82c06ac17ef221a61dec3fbb554e7bff4353'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.0', { + 'checksums': ['5225334add4dd3502044cf80a00543b766568c2d93c47af180f66a76942d76be'], + }), + ('tictoc', '1.0.1', { + 'checksums': ['a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705'], + }), + ('ISOcodes', '2021.02.24', { + 'checksums': ['152769bcb4ae99d06a767384541c2000c94990a2c6983780837f85e885b539a6'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '0.1.5', { + 'checksums': ['992f6673653daf7010fe176993a01cd4127d9a88be428da8da7a28241826d6f3'], + }), + ('SnowballC', '0.7.0', { + 'checksums': ['b10fee9d322f567a22c580b49b5d4ba1c86eae40a71794ca92552c726b3895f3'], + }), + ('tokenizers', '0.2.1', { + 'checksums': ['28617cdc5ddef5276abfe14a2642999833322b6c34697de1d4e9d6dc7670dd00'], + }), + ('hunspell', '3.0.1', { + 'checksums': ['1fedbb913bc13c790d2fabfe4edda0a987db3a078bea8c0ca9b777d20af08662'], + }), + ('topicmodels', '0.2-12', { + 'checksums': ['afd83a4381bf39e470446ebefd41ed03f314be400c1b2f702a4b1060eb8fd1b4'], + }), + ('tidytext', '0.3.2', { + 'checksums': ['6fe0ada78ee2cdf77c16e519a29b9baff61d8e23ab56aa0a9adc1b2a99a6472b'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.2-0', { + 'checksums': ['a102a2d877e42cd4e4e346e5510a77b2f3e57b43ae3c6d5c272fdceb506b00a7'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.2', { + 'checksums': ['8bbfdf82c8c2b5c73eb079127e198b6cb65c437bb36729f502c7bcd6037fdb16'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.4.1', { + 'checksums': ['bc21fb6b4a93a7e95ee1be57e4e787d731895fb8b4743c26b30b43adee475b50'], + }), + ('RcppParallel', '5.1.4', { + 'checksums': ['76b545a6878c55edba780183fd89a76fe723b7f19709c5243495dcf3d54eea82'], + }), + ('StanHeaders', '2.21.0-7', { + 'checksums': ['27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b'], + }), + ('V8', '3.4.2', { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['210643473ca8bf423fae34ce72ceb37a3e44c3315ec4abae59a77f077542d2ed'], + }), + ('rstan', '2.21.2', { + 'checksums': ['e30e04d38a612e2cb3ac69b53eaa19f7ede8b3548bf82f7892a2e9991d46054a'], + }), + ('Rborist', '0.2-3', { + 'checksums': ['f3b3f953ca99e0d17425ac6ba9a7b1e9d6098343abace575cdb492bca2a9c461'], + }), + ('VSURF', '1.1.0', { + 'checksums': ['eee99e0c441795c2ccb21cc6e0a37b24f580241e494c83e811b726b43469eeab'], + }), + ('mRMRe', '2.1.2', { + 'checksums': ['a59a3cb3cca89f51d9ee6702cd479fd7db8bc2e25b72f45cb6712da983777ca0'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '2.9', { + 'checksums': ['4af14e6f3657134c115d5ac5e65a2ed74596f9a8437c03255447cd959fe9e33c'], + }), + ('ggsignif', '0.6.3', { + 'checksums': ['ca8545b25590e531512a90a18449a2cbab945f7434a1d60188c41f7d1839a7a9'], + }), + ('corrplot', '0.90', { + 'checksums': ['d9871f219351f443f879ae93c45e3a364eb32cc6f41491a801e7b8a91e96d5dd'], + }), + ('rstatix', '0.7.0', { + 'checksums': ['a5ae17dc32cc26fc5dcab9ff0a9747ce3786c9fe091699247ad8b9f823f2600c'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.4.0', { + 'checksums': ['abb21ec0b1ae3fa1c58eedca2d59b9b009621b30e3660f1247b3880c5fa50675'], + }), + ('yaImpute', '1.0-32', { + 'checksums': ['08eee5d851b80aad9c7c80f9531aadd50d60e4b16b3a80657a50212269cd73ff'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('patchwork', '1.1.1', { + 'checksums': ['cf0d7d9f92945729b499d6e343441c55007d5b371206d5389b9e5154dc7cf481'], + }), + ('leiden', '0.3.9', { + 'checksums': ['81754276e026a9a8436476365bbadf0f15a403a525a349cb56418da5d8edea0d'], + }), + ('sctransform', '0.3.2', { + 'checksums': ['5dbb0a045e514c19f51bbe11c2dba0b72dca1942d6eb044c36b0538b443475dc'], + }), + ('packrat', '0.7.0', { + 'checksums': ['e8bce1fd78f28f3a7bf56e65a2ae2c6802e69bf55466c24e1d1a4b8a5f83dcc2'], + }), + ('colourpicker', '1.1.1', { + 'checksums': ['a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0'], + }), + ('ggExtra', '0.9', { + 'checksums': ['f22db92d6e3e610901998348acbcaa6652fa6c62a285a622d3b962ba9e89aba2'], + }), + ('findpython', '1.0.7', { + 'checksums': ['59f904b9c2ec84b589380de59d13afbf14d1ec3b670e3a07e820298aaf04c149'], + }), + ('argparse', '2.1.2', { + 'checksums': ['9997359a735359580ab6b054672388a55701fca71c80b54bab1aedc13bc5e5b3'], + }), + ('intergraph', '2.0-2', { + 'checksums': ['6cbe77f1e87fa1c110db2d46010f2f3ae72bfdb708ce2ca84c1cdc2cd6eb47a1'], + }), + ('ggnetwork', '0.5.10', { + 'checksums': ['1b655dbab8eed8d0aa3ab2148aac8e0e5bfa190468f5e3c06b001ce88b7f0d3f'], + }), + ('qqman', '0.1.8', { + 'checksums': ['58da8317df8d726d1fde4805919da5d64f880894a423ee20937cafb479b9d8a8'], + }), + ('rstantools', '2.1.1', { + 'checksums': ['c95b15de8ec577eeb24bb5206e7b685d882f88b5e6902efda924b7217f463d2d'], + }), + ('bayesplot', '1.8.1', { + 'checksums': ['d8d74201ea91fa5438714686ca22a947ec9375b6c12b0cfef010c57104b1aa2a'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('rsconnect', '0.8.24', { + 'checksums': ['cf6bef1e073d6fa95c8be8a00e9e4982b88f4bab0e8ecd77db816a585be2e4a6'], + }), + ('shinystan', '2.5.0', { + 'checksums': ['45f9c552a31035c5de8658bb9e5d72da7ec1f88fbddb520d15fe701c677154a1'], + }), + ('optimx', '2021-10.12', { + 'checksums': ['39384c856b5efa3992cd230548b60eff936d428111ad6ad5b8fb98a3bcbb7943'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('projpred', '2.0.2', { + 'checksums': ['af0a9fb53f706090fe81b6381b27b0b6bd3f7ae1e1e44b0ada6f40972b09a55b'], + }), + ('distributional', '0.2.2', { + 'checksums': ['028e5a91aabe3a676eb7b7f3dc907f7f34735a123fe0d9adcabc03476504435f'], + }), + ('posterior', '1.1.0', { + 'checksums': ['eff6262dbcc1bf18337f535b0c75ba2fe360322e8b170c466e24ed3ee76cf4d2'], + }), + ('brms', '2.16.1', { + 'checksums': ['749efbd9fb061fe207cf2e729c1387d9a8538b922f12ceec4e82a9f8dd9c1bc4'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.6.5', { + 'checksums': ['5be825734d76760723e2d5b8fbe03524a2b59d9163b33841d4a2c9ab2d4257cf'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.1.1', { + 'checksums': ['48474f396c4a91e257490025ede6a998883683e8020a898fff5d4e23a3764bfd'], + }), + ('maxlike', '0.1-8', { + 'checksums': ['90aaab9602f259cbfae61fe96e105cc4a0c2a385b42380f85c14f5d544107251'], + }), + ('coxme', '2.2-16', { + 'checksums': ['a0ce4b5649c4c1abbfe2c2bf23089744d1f66eb8368dea16e74e090f366a5111'], + }), + ('AICcmodavg', '2.3-1', { + 'checksums': ['d0517da15a38e9b1df20fa73f5342b586624e65792d266e7dff278ad7fc458b0'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.3.2', { + 'checksums': ['ebfa756e08f6ac0aa61556b1a5bbe611f407bfff8aef1f8d075a24c361678bfd'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.6.0', { + 'checksums': ['2941857c85d89ebaf614ed130ec2f68e326a8ca99e00263ac4e2a9c556917f20'], + }), + ('rgdal', '1.5-27', { + 'checksums': ['62a555ed7b5424dd0252b3764e3542fb30c524d06e8245215bcfaedd84ee5756'], + }), + ('rgeos', '0.5-8', { + 'checksums': ['0db35392146cefb5eea0392eecb6b0bfee53708222b98b06de54a3e1a04ea314'], + }), + ('mapproj', '1.2.7', { + 'checksums': ['f0081281b08bf3cc7052c4f1360d6d3c20d9063be57754448ad9b48ab0d34c5b'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.5', { + 'checksums': ['e5cfb2e4dd8ddd1452a5afcf24fcc260889179d0f52eff4f41835adf99b64614'], + }), + ('spocc', '1.2.0', { + 'checksums': ['4bac45db5e69bfa3bf6cebd1b0c9241214c95561f275cee6d31e00911aa79d84'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('rangeModelMetadata', '0.1.4', { + 'checksums': ['529d529ca90437db3d1e45118443e27a920422806383c7edaa2102beb43f5f80'], + }), + ('ENMeval', '2.0.1', { + 'checksums': ['2f7b7760ae70a45cd3c766aacf1e39f498de4f2e8c7b6dcde6b9adf6d8100250'], + }), + ('plotmo', '3.6.1', { + 'checksums': ['245a0c87f0cca08746c6fdc60da2e3856cd69b1a2b7b5641293c620d4ae04343'], + }), + ('earth', '5.3.1', { + 'checksums': ['0bbe06ba974ceb8ec5de1d59cb53f9487d1828d7130fe2503c48b6cb449c4b03'], + }), + ('mda', '0.5-2', { + 'checksums': ['344f2053215ddf535d1554b4539e9b09067dac878887cc3eb995cef421fc00c3'], + }), + ('biomod2', '3.5.1', { + 'checksums': ['30ed33ff980558a59782ec9e35f9c2c710a540718010654363f63878cdc0ac18'], + }), + ('poLCA', '1.4.1', { + 'checksums': ['2e69975b5e7da8c36641bfa9453afdb4861523866b8799bec1d4eace9ab5762e'], + }), + ('PermAlgo', '1.1', { + 'checksums': ['d7157b92241c34b71ad19901b52144973b49df453bf2a5edf4497d4bf26bd099'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('fasterize', '1.0.3', { + 'checksums': ['62b459625e9bdb00251ec5f6cb873e0c59713f3e86dc1e2c8332adc0cea17f81'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-3', { + 'checksums': ['56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-1', { + 'checksums': ['e8abadc5614f132edc3fb9cb1c82ce4dacc1315b727fbd49db7399aee24115ba'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.16', { + 'checksums': ['fab573abdc0dd44e8c8bc7242a1428df20b3ec64c4c194e5f1f907393f902d01'], + }), + ('dbarts', '0.9-20', { + 'checksums': ['1d75e795812819b7637d38fc909f4d7942bddf359acfb40a7b8e7cd167a5e92a'], + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.1.6', { + 'checksums': ['2aa85997d5ec2222e610604022684c004a4925241761d9a0104919f1cf3a8c79'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-8', { + 'checksums': ['28b10c91d693b938ebca610933889095ca160b22e6ca750c46103dfd2b009447'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '1.7.0', { + 'checksums': ['f6a8ec724df68983c9b176a1b3b3b01239cc4e99aac4bfb42ce1c2b3d40922c2'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.4.0', { + 'checksums': ['49459e76412037b3d8021bd83ee93d140bc3e715a2a2282a347ef60061900514'], + }), + ('outliers', '0.14', { + 'checksums': ['b6ce8f1db6442481546131def8253cabdf4472116d193daea7cb935d2b76986d'], + }), + ('elementR', '1.3.7', { + 'checksums': ['4275f88f372a2efe96ccd0afc20f4f12be92f28c7db35c68b80bb0ffb2c2ab07'], + }), + ('gWidgets2', '1.0-8', { + 'checksums': ['1615ce9ab07a251d06c68780be15ab5a4814df877a23aa93e0faf14ccd56d45c'], + }), + ('gWidgets2tcltk', '1.0-6', { + 'checksums': ['aa3a2f4612116a652e5573a369e3d89c5939f7c06067c6826ba40ed3bb07302b'], + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.8.6', { + 'checksums': ['f3e2cc8a88f3789a5e339d2676455472a52a303c8273191f27aa2f2f02fdd8cd'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-4', { + 'checksums': ['5c0663fecb4b7c30f2e1d65da8644534fcfe97fb3d8b51f74c1327cd14291a6b'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-3', { + 'checksums': ['ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.0', { + 'checksums': ['a76114e9780c86e4ea0a561300db024b95af9b0ebb6c3bf9a7598d276d009529'], + }), + ('lmom', '2.8', { + 'checksums': ['cae2a925c39429d8e9f91bdb2682ea0d1343e9b2e5c9e8752c5929eb5f20d2d2'], + }), + ('gld', '2.6.2', { + 'checksums': ['915860ac054ba4d29854c7d274e9c927995c5df2a7d4a6a0122b1fbc4a3c3cf3'], + }), + ('DescTools', '0.99.43', { + 'checksums': ['8c3c4e5975428b9f2817907931449cd704d3df0e19e4337010f0dee333e7a4ff'], + }), + ('orthopolynom', '1.0-5', { + 'checksums': ['6da4f437aae5c8fafdf791ce3c6a66f68198df4054af3aab8406402a4dc770bf'], + }), + ('gaussquad', '1.0-2', { + 'checksums': ['ba3a1ab6ffe92f592c9f2bb1d4070f1fb1019325226dcb4863cf725eb59e9b2d'], + }), + ('nlsem', '0.8', { + 'checksums': ['495a5d07aa5f59efdcd43acf429ae842453abd6c0720a80e2102d663fa997c60'], + }), + ('tableone', '0.13.0', { + 'checksums': ['1c73a5a7595dc0ae2299d17c74738e077984af7d5429e4858b7be3c55e121346'], + }), + ('jstable', '1.0.7', { + 'checksums': ['a8f66172973dc75d1d751d7015e0f028c441263f6649909bd25fa944be0042c3'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.2', { + 'checksums': ['70eb4a13a6ac1bfb35af07cb8a63d501ad38dfd9817fc3fba6724260b23932de'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-5', { + 'checksums': ['027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5'], + }), + ('blavaan', '0.3-17', { + 'checksums': ['ada14fcc665a22f11fc57392d70141c398d85dbb35f0a3373a501bc51d27f1e5'], + }), + ('mathjaxr', '1.4-0', { + 'checksums': ['ba57378236d593a39c5839054adc5473526de0c8f05b7eeb87c99438496ddc67'], + }), + ('metafor', '3.0-2', { + 'checksums': ['02df435197b225da736103edf73d19253a542bc31fc0b99610c02daec434138a'], + }), + ('fmri', '1.9.6', { + 'checksums': ['7614290d880667512744d3450480a670cc38abdb270f3f776ac9a17a793f07f2'], + }), + ('AnalyzeFMRI', '1.1-24', { + 'checksums': ['0d2acfe9ce8f25eb5cc9e6ef1db3ea8e232a31d46a95e50914489b1997e17062'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.4', { + 'checksums': ['266702330250e9fbeb8616d86edf1d50d63084a0731d17e84a04dc6faacf653a'], + }), + ('DEoptim', '2.2-6', { + 'checksums': ['8c63397d83a067212d003ef3e639fd81f5f00bf61e3c271b4e4999031a69e2e1'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2013.9-1', { + 'checksums': ['1a1a399682a06a5fea3934985ebb1334005676c6a2a22d06f3c91c3923432908'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2013-2.21', { + 'checksums': ['a824a09c32d7565a3e30607c71333506d5b7197478fbe8b43f8a77dad6c12f0a'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.11-6', { + 'checksums': ['121d03c812fbcf584a25585ac73f6c44f4b5d6cd21b05362ddd15395fb3909f6'], + }), + ('visdat', '0.5.3', { + 'checksums': ['527c76b6643b8475a58516763ef40238cdc61ec62d2dcf690f7c316b93b878c6'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-9.5', { + 'checksums': [('305cbf007f3905cfd535ed9bf5ae3e2995e228cc8883d6482e5d3a2f02814106', + '45016701291a5851d42452fc3ae682ff9bf86b0a9ba4619dc8b36a0187e4d0e4')], + }), + ('naniar', '0.6.1', { + 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], + }), + ('stringdist', '0.9.8', { + 'checksums': ['efccd6ccc5c74c578be95b7dae1099c52b0d7805452ab14ee91ca34adb8261bb'], + }), + ('image.binarization', '0.1.2', { + 'checksums': ['0621ca94a74264bb73f689b1a00484b5a3bbef93fc203d9c001d791a18fcc13f'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.10', { + 'checksums': ['adc2b2a621625b52165245ab2f3a0bfba4f4db64fcc6ad48a3e5b219c3bd2fa1'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.8.0', { + 'checksums': ['28ff1c2dbddcafc6ed6c30154f46074aa0c8974757466680529b71a5f3e463ec'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('alabama', '2015.3-1', { + 'checksums': ['6600fcf4842488950e196d3f5a8fc4d69e8271b36292ce67ac3ab697449a8f56'], + }), + ('polycor', '0.7-10', { + 'checksums': ['caea3beca2c889e12e5b976c20c19cf5a76d42e6329e9ab646112eeae8fcfc73'], + }), + ('multipol', '1.0-7', { + 'checksums': ['0abe3c894c0d8e928a920e73708a397133386a0d73a1e7952c4075afe67879e6'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('cSEM', '0.4.0', { + 'checksums': ['7753ac7db9d2c0392e51dd31ec8638e1a7fcbb2546dd9103f5ecc03dd51836c1'], + }), + ('cubelyr', '1.0.1', { + 'checksums': ['740a34100592b2c6b7bc89a31bddccf4c8fd95720caf68f530104f17aada77bc'], + }), + ('broom.mixed', '0.2.7', { + 'checksums': ['ff29385557af239a41452ffb5ebe230630a2a30f4a91e95505c3178b62df01ba'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.0.2', { + 'checksums': ['043f21a057762a2d5e0febb37c1d9cb8d2f94d19f2eded20c672dec7ff54b505'], + }), + ('xgboost', '1.4.1.1', { + 'checksums': ['9f986f3895ce5f6744335c82afe3a87d9ac2e473e60785295edf2be80d34e0c4'], + }), + ('twang', '2.5', { + 'checksums': ['fc355527c57e4f6e0f60d26d7c690c4475fcd5fb165d125fea7cc6b9fafc4ce5'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.0', { + 'checksums': ['73876c6d1cf42928a03a64aba197c67b4a4f4de2c431cfbc6fce615bbea32fa0'], + }), + ('origami', '1.0.5', { + 'checksums': ['8d0d08aaecc428cbbf5db4615ad3623777c10c6d7947a1cc3ccc7f8db8cb5263'], + }), + ('hal9001', '0.4.1', { + 'checksums': ['386fa93ae6c0f409a9137adc54da25a2770826fbed63787e33a36c95f3f89441'], + }), + ('cobalt', '4.3.1', { + 'checksums': ['67e26a700ca083a39beb255df54c6ab495f34ea5847a0bf1c4bac895e980eef8'], + }), + ('CBPS', '0.22', { + 'checksums': ['d19247e6765f02737d15a0a2ee86ae24e7206ae740dfaa61821622eb3a309aef'], + }), + ('SBdecomp', '1.1', { + 'checksums': ['ad4e4f00bc58eafe551ad6288c0642a16e16ef8f73c2ae649f808b1e559df644'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-8', { + 'checksums': ['f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34'], + }), + ('finalfit', '1.0.3', { + 'checksums': ['bbfa841a2b1a7b1f8c153d773ff076a2e465e451815f8166ff0ce8c4018ff61e'], + }), + ('broom.helpers', '1.4.0', { + 'checksums': ['7f6a5c0c79260b57cd31976bc216fffbc79a1641e01b74630dcd37d2c84e3f75'], + }), + ('gt', '0.3.1', { + 'checksums': ['ddd1fee446f156d1b52bb2db83262aac2a896db93748e92e08407d317e126019'], + }), + ('gtsummary', '1.5.0', { + 'checksums': ['54dd5e11c5b2a808ca93284760a5cd102f820332d2fa40474d5cedea030711a7'], + }), + ('ncdf4', '1.17', { + 'checksums': ['db95c4729d3187d1a56dfd019958216f442be6221bd15e23cd597e6129219af6'], + }), + ('geex', '1.0.12', { + 'checksums': ['037aece09bc0c4349897cd1d8f5dcf1e680598cdfdf72148b6d1506e02690e7f'], + }), + ('momentfit', '0.2', { + 'checksums': ['a10d43ac23bb61b9c67efa4800e3e2b6a444c1afaca8bad351648accd7e003f6'], + }), + ('StatMatch', '1.4.0', { + 'checksums': ['820091cd2213734ea16f5fcd616491bbf39d3e6c2bcfb34a7c9fe09f4fd1a459'], + }), + ('stars', '0.5-3', { + 'checksums': ['44944a82af36bea09ac1874ff9647acbb7fef021ebdca5aae7c34794be929401'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.1', { + 'checksums': ['929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce'], + }), + ('geometries', '0.2.0', { + 'checksums': ['8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314'], + }), + ('sfheaders', '0.4.0', { + 'checksums': ['86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045'], + }), + ('geojsonsf', '2.0.1', { + 'checksums': ['42df40433bfbece5a39cd97b5bd4690b4424855241fcc3e7322ee68a3988bfbf'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.0.4.1', { + 'checksums': ['b0f038295f1de5d32d9ffa1d0dbc1562320190f2f1365f3a5e95863fff88901f'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.1.6', { + 'checksums': ['ca50e0a699f564449248511857a2df0d48cd07de3157e099478a19b533088156'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-2', { + 'checksums': ['2bcb74c5c5546223d79abe5d633581fb2664b910f6246f4b8b7166b208b4629a'], + }), + ('collapse', '1.6.5', { + 'checksums': ['1e232a3a62b5eb5ed5d81e7d92ce1bae34c3d877d593d47d7edbd3f515b95a46'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.4.3', { + 'checksums': ['42727aa7345ab544242182222eb97476f5dc04bc837f94f6fd3ea6ccac93ea17'], + }), + ('Rmpfr', '0.8-7', { + 'checksums': ['93c2db785ff705dcfc6fa7f0373c2426cdc2ef72ceb5b294edeb2952775f57d2'], + }), + ('scam', '1.2-12', { + 'checksums': ['0ce5f844221370884719424eb5b2b22c34a8a8ad64eac3de981e5539b6e88f4a'], + }), + ('copula', '1.0-1', { + 'checksums': ['d09b2ccffc7379e48b00952aa6b282baf502feebaf55cc44e93f881d7b909742'], + }), + ('evd', '2.3-3', { + 'checksums': ['2fc5ef2e0c3a2a9392425ddd45914445497433d90fb80b8c363877baee4559b4'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-5.1', { + 'checksums': ['516dd73c70e5c8ab60b24027f94cab42603797c41cb7aa740882cb850f6d6ab4'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('rngWELL', '0.10-7', { + 'checksums': ['0c00c54e69d7d552cfa08d766e4854c01c6c1c8e2c558f387760b91a55ef2d38'], + }), + ('randtoolbox', '1.31.1', { + 'checksums': ['30992e8156782542e9a2bffb75eb2e35f6d302a8c22cb7c3ed9004f0f0973bad'], + }), + ('kde1d', '1.0.3', { + 'checksums': ['d645652d09f1981eb37be9f041034da9b9191885dd38be8a7e485e5e41eb050e'], + }), + ('RcppThread', '1.0.0', { + 'checksums': ['544a48ee4ea381e2e1421d4edbec54365f17059084d94ded7c339de36deeccf5'], + }), + ('wdm', '0.2.2', { + 'checksums': ['11c616f0896d62993f5eee1daf7b021d27f13751f6617067b57cf463aea32dde'], + }), + ('rvinecopulib', '0.6.1.1.1', { + 'checksums': ['779fd288774ebb1a0adde6b960053e5c63750bfa66d5ddf349e0f1d8730f08cd'], + }), + ('PearsonDS', '1.2.1', { + 'checksums': ['354be30b8df4e5432d1bc2b6162900522d4c08dc63b207331819d589fb069824'], + }), + ('covsim', '0.2.1', { + 'checksums': ['57ca810c6950ab295078b745eb87fdd7f195e15082777eed9f1059b6302f13bf'], + }), + ('semTools', '0.5-5', { + 'checksums': ['ddf883753c5964eae8313d7e8a4703be52e649f10d3bc1d12ede6d1707b1fab6'], + }), + ('GPArotation', '2014.11-1', { + 'checksums': ['351bc15fc8dc6c8ea5045fbba22180d1e68314fc34d267545687748e312e5096'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.35.1', { + 'checksums': ['788b7e499b7d48f5f590eb5cfdac260c4e993b94a3956d30bc2d8bce8cd2ba3e'], + }), + ('rpf', '1.0.11', { + 'checksums': ['e1fd670ae7c3e947db08ce50d6b16ce1b3b8f63a9016b03baba760aee78921fb'], + }), + ('OpenMx', '2.19.8', { + 'checksums': ['cb4be9850f61d320dcd47ef0ad7b20e5baafde558ebbc67301b13d883baf6760'], + }), + ('matlab', '1.0.2', { + 'checksums': ['a23dec736c51ae1864c1a53caac556a2f98e8020138a3b121badb0f5b7984154'], + }), + ('FactorCopula', '0.8', { + 'checksums': ['d95b0ccd1b0eebcf27a90286e9392f662b878a669c693fbbb4145798045134ff'], + }), + ('rpact', '3.2.1', { + 'checksums': ['d12f9a085163a1745cc7672685dd24e04d27f76998a57835a1ea32e06b637471'], + }), + ('ldbounds', '1.1-1.1', { + 'checksums': ['e88e6bff43762a9f7d80484056d10c7d2fd80969b43061d8cc96c3bd5b9c3583'], + }), + ('catlearn', '0.8', { + 'checksums': ['0d13da431a5511b025090b7ffaa3765b94b33c7de5a7cc1cec8c50437755646e'], + }), + ('metadat', '1.0-0', { + 'checksums': ['ed335a4eb2145fffde20e36077e360f9d36a615e9d93453d2bbd6f5967db4b9c'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', version, { + 'checksums': ['d9f3feb3da2efaf4e5d794e05475be62666192a7c855e373c3d369324078690c'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.4', { + 'checksums': ['372ec4ef0ded9637304a19b50bce908e84a034e54dbd2a52a061bb747b2b08a0'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.1', { + 'checksums': ['a680dfccaaf89b5a55355062b5292baf514d53aa3b206aa74869f1b733a06e2c'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.0', { + 'checksums': ['e0598c220ae90d1334e47c9958ccccf7defbe6ac530159bc69424923894f724a'], + }), + ('apcluster', '1.4.9', { + 'checksums': ['3aac75e3e640eb89c1337d6f2e72a85d226b9c9483e43e0c76f9d424e758cb72'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.8-6', { + 'checksums': ['37ffd9d6c5f5cebcd95720c6599f25f2e6c4fd3f6134f6aec026cb671ea373c0'], + }), + ('pdp', '0.7.0', { + 'checksums': ['28d69eb63b92bdf8e974b3222e1e9565000d7f15a3bd90854a8e0446b0fa9a71'], + }), + ('date', '1.2-39', { + 'checksums': ['b5b1935638b73373809c009f94b77f993cd301744488d9bdf71ef79c82099757'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.2.9', { + 'checksums': ['5faccc064e715c44234def40f4f560e90f2dbd34c915a8687b48103b39814ab5'], + }), + ('Publish', '2020.12.23', { + 'checksums': ['a7a98fc52801bee30b9c8cb423e4e0082ea42d05134f7d3324ac3e95242cfbe2'], + }), + ('riskRegression', '2022.03.09', { + 'checksums': ['6b256cc54de81e8304f859fba7994d101ef972b6cad01b46050363fc48108dc6'], + }), + ('pec', '2022.03.06', { + 'checksums': ['d55e1d9b5786537ed127f3c470e8e139a9745969dea9a495afe13743a89883ec'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-7', { + 'checksums': ['82c84bbe0a3eb9b391cbb885b3f3e7114adda5243aa83f974922d2edca918317'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.9', { + 'checksums': ['443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-11', { + 'checksums': ['318e95ea88a15939dac33691886a9ce0c54765b25a3f4ef483d168bfc699098a'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('renv', '0.15.5', { + 'checksums': ['b4f1a9a7daa82f0c3123ebd4eeba06e98d5485215518e5292b25bc56741d582e'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..a8e0a1c8bf4 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.2.0-foss-2021b.eb @@ -0,0 +1,3393 @@ +name = 'R' +version = '4.2.0' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'R-4.1.0_identify-flexiblas-in-configure.patch', + 'R-4.x_fix-CVE-2024-27322.patch', +] +checksums = [ + {'R-4.2.0.tar.gz': '38eab7719b7ad095388f06aa090c5a2b202791945de60d3e2bb0eab1f5097488'}, + {'R-4.1.0_identify-flexiblas-in-configure.patch': + '2c6720e2e144ae4fe00842daab0ebba72241080603e0ff1a6ca758738041b257'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('Xvfb', '1.20.13'), + ('Autotools', '20210726'), +] +dependencies = [ + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('cairo', '1.16.0'), + ('libreadline', '8.1'), + ('ncurses', '6.2'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('SQLite', '3.36'), + ('PCRE2', '10.37'), + ('libpng', '1.6.37'), # for plotting in R + ('libjpeg-turbo', '2.0.6'), # for plottting in R + ('LibTIFF', '4.3.0'), + ('Java', '11', '', SYSTEM), + ('Tk', '8.6.11'), # for tcltk + ('cURL', '7.78.0'), # for RCurl + ('libxml2', '2.9.10'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.0'), # for nloptr + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.0.31'), # for seewave + ('ICU', '69.1'), # for rJava & gdsfmt + ('HDF5', '1.12.1'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.0-4'), # for animation + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '14.17.6'), # for V8 (required by rstan) + ('GDAL', '3.3.2'), # for sf + ('MPFR', '4.1.0'), # for Rmpfr + ('libgit2', '1.1.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# 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', +} + +# 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 = [ + # 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', + ('Rmpi', '0.6-9.2', { + 'checksums': ['358ac1af97402e676f209261a231f36a35e60f0301edf8ca53dac11af3c3bd1a'], + }), + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-0', { + 'checksums': ['4516d48c9618e3f395db873e886f5deb3b66b32ebe10d4c26c1420ac848acbbf'], + }), + ('Rcpp', '1.0.8.3', { + 'checksums': ['9da5b84cdaf56e972b41e669d496b1ece2e91bcd435505c68b9f2bd98375f8bf'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.15', { + 'checksums': ['4627be4178abad34fc85a7d264c2eb5e27506f007e46687b0b8a4f8fbdf4f3ba'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.6', { + 'checksums': ['910465a8c8043faca73bcc7c81c9249b9938677ee6649468003b438a6503f5d8'], + }), + ('bit', '4.0.4', { + 'checksums': ['e404841fbe4ebefe4ecd4392effe673a8c9fa05f97952c4ce6e2f6159bd2f168'], + }), + ('filehash', '2.4-3', { + 'checksums': ['f394e2c93233e8ad1c104562ea9349855dc8e303131f559cd59834f9aa3e41bd'], + }), + ('ff', '4.0.5', { + 'checksums': ['9aba9e271144ec224063ddba0d791e2fcdb9c912d48fdc49e204fce628355037'], + }), + ('bnlearn', '4.7.1', { + 'checksums': ['243930daa7f71c63fe1aa6717e5d55a116a597b83e08745cbcbe9a418d7c1509'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-39', { + 'checksums': ['a349db8f1c86cbd8315c068da49314ce9eb585dbb50d2e5ff09300506bd8806b'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.12', { + 'checksums': ['8b52efbf43cbef25d837bb99a793a590c0958b753052c032b52304724e808c8b'], + }), + ('gtools', '3.9.2', { + 'checksums': ['03b1898bf581f6d12fa90e23ff700cfa7c834ac10c6654bdac42d7ec943fa953'], + }), + ('gdata', '2.18.0', { + 'checksums': ['4b287f59f5bbf5fcbf18db16477852faac4a605b10c5284c46b93fa6e9918d7f'], + }), + ('GSA', '1.03.2', { + 'checksums': ['177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8'], + }), + ('xfun', '0.30', { + 'checksums': ['ebf81cf302e051f0361dc4c8b519d99e20a353b4b29cee13e768663ff562c0ee'], + }), + ('highr', '0.9', { + 'checksums': ['beff11390d936c90fdcc00e7ed0eb72220f3de403a51b56659e3d3e0b6d8ed4d'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-17', { + 'checksums': ['27bf1216ac6220712fe7e86c0a288b7d7118f9088989f67e0a86b3d0f99c3370'], + }), + ('kernlab', '0.9-30', { + 'checksums': ['48fc3a839ae57e8ab6ec26a34093ca3306391e7b271bef6e69812e2b4859ee81'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('markdown', '1.1', { + 'checksums': ['8d8cd47472a37362e615dbb8865c3780d7b7db694d59050e19312f126e5efc1b'], + }), + ('mlbench', '2.1-3', { + 'checksums': ['b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '5.4.9', { + 'checksums': ['65f123c6af86cf5eb511c81ae0eafa60da7b2085bfea1a08bdc3116081da9568'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-57', { + 'checksums': ['bd8b880105bc1aadb2db699086f74bd92a8611287979a24243187f9d80795a8d'], + }), + ('segmented', '1.5-0', { + 'checksums': ['d65c9a6268844d86fe5b842a587a46d7e06bee8e27b4ded7c01e57abafb916b5'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3', { + 'checksums': ['1449e7038e048e6ad4d3f7767983c0873c9c7a7637ffa03a4cc7f0e25c31cd72'], + }), + ('pspline', '1.0-19', { + 'checksums': ['ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40'], + }), + ('timeDate', '3043.102', { + 'checksums': ['377cba03cddab8c6992e31d0683c1db3a73afa9834eee3e95b3b0723f02d7473'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('lattice', '0.20-45', { + 'checksums': ['22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad'], + }), + ('sp', '1.4-7', { + 'checksums': ['01946953707363b78d3eb8dcf472ea8c6ea0097094aa0ca0b756ce5fac01b1ad'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('rlang', '1.0.2', { + 'checksums': ['8de87c3e6fb0b3cce2dabc6908186f8e1528cc0c16b54de965fe02d405fdd7cc'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('digest', '0.6.29', { + 'checksums': ['792c1f14a4c8047745152f5e45ce7351978af8d770c29d2ea39c7acd5d619cd9'], + }), + ('glue', '1.6.2', { + 'checksums': ['9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf'], + }), + ('cli', '3.3.0', { + 'checksums': ['c3a9ebbcb9017fb9aeda4f7df5ca981e42b169cbd7ce13e592cda2cd74250d63'], + }), + ('vctrs', '0.4.1', { + 'checksums': ['9676881e009aa1217818f326338e8b35dd9a9438918f8b1ac249f4c8afe460dd'], + }), + ('lifecycle', '1.0.1', { + 'checksums': ['1da76e1c00f1be96ca34e122ae611259430bf99d6a1b999fdef70c00c30f7ba0'], + }), + ('hms', '1.1.1', { + 'checksums': ['6b5f30db1845c70d27b5de33f31caa487cdd0787cd80a4073375e5f482269062'], + }), + ('prettyunits', '1.1.1', { + 'checksums': ['9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('crayon', '1.5.1', { + 'checksums': ['c025c73b78a8e88e8e4363c8e1a941da5089a7baea39e59ea5342ab9ebe45df9'], + }), + ('progress', '1.2.2', { + 'checksums': ['b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35'], + }), + ('ade4', '1.7-19', { + 'checksums': ['c85111881ff93a261ca34a5b5ef313d1c0ff9b84f0b23596bc56cfa696f165ef'], + }), + ('AlgDesign', '1.2.0', { + 'checksums': ['ff86c9e19505770520e7614970ad19c698664d08001ce888b8603e44c2a3b52a'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('BH', '1.78.0-0', { + 'checksums': ['3b9e9d07682013e0c06a396dda176b405eab99a7273eca6c40d1b4c4110e8cb3'], + }), + ('brew', '1.0-7', { + 'checksums': ['38b859c1dca63479f6937c593da8f806f2b3279585bb6e20ecff1b898469e76e'], + }), + ('Brobdingnag', '1.2-7', { + 'checksums': ['73a734342736da5b29c2827d91f662101873503af7ad9cdf9e9e697bb32dd742'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.4.1', { + 'checksums': ['845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474'], + }), + ('checkmate', '2.1.0', { + 'checksums': ['b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6'], + }), + ('cubature', '2.0.4.4', { + 'checksums': ['087b3b2c4f25d873fa95e9d38766a17a7201d03a6f4960f1e080a8db8b67d569'], + }), + ('DEoptimR', '1.0-11', { + 'checksums': ['1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b'], + }), + ('fastmatch', '1.1-3', { + 'checksums': ['1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861'], + }), + ('ffbase', '0.13.3', { + 'checksums': ['b3f61f80ba6851130247779786903d42a24ee5219aa24556c8470aece8a2e6b6'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.0', { + 'checksums': ['7918ccb2393ca19589d4c4e77d9ebe863dc6317ebfc1ff41869dbfaf439f5747'], + }), + ('nnls', '1.4', { + 'checksums': ['0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f'], + }), + ('sendmailR', '1.2-1', { + 'checksums': ['04feb08c6c763d9c58b2db24b1222febe01e28974eac4fe87670be6fb9bff17c'], + }), + ('dotCall64', '1.0-1', { + 'checksums': ['f10b28fcffb9453b1d8888a72c8fd2112038b5ac33e02a481492c7bd249aa5c6'], + }), + ('spam', '2.8-0', { + 'checksums': ['d98177435b028d1c706d0197ea8132bfaffae6052c3ce6064a7f64178512d6aa'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('stringi', '1.7.6', { + 'checksums': ['0ea3d5afec5701977ff53de9afbaceb53b00aa34f5fb641cadc1eeb7759119ec'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('stringr', '1.4.0', { + 'checksums': ['87604d2d3a9ad8fd68444ce0865b59e2ffbdb548a38d6634796bbd83eeb931dd'], + }), + ('evaluate', '0.15', { + 'checksums': ['885aee530a8b6aa7fd3acaa1ecd94ab58b71038c879ca37405f948e105907c5d'], + }), + ('logspline', '2.1.17', { + 'checksums': ['03b72b860896f8801014b7b3b907389cc3cbe2e13bc1049241606df685a08815'], + }), + ('ncbit', '2013.03.29', { + 'checksums': ['4480271f14953615c8ddc2e0666866bb1d0964398ba0fab6cc29046436820738'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-2', { + 'checksums': ['bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f'], + }), + ('randomForest', '4.7-1', { + 'checksums': ['785a590a3f845ab3fef4d01f2e0da092221c3addc9b13310f7a4d513d27a0613'], + }), + ('scatterplot3d', '0.3-41', { + 'checksums': ['4c8326b70a3b2d37126ca806771d71e5e9fe1201cfbe5b0d5a0a83c3d2c75d94'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.4.1', { + 'checksums': ['7eea92ba42e6ba320fa8bdca3c53091ae42f26a0f097244f65e7e117f6d514b6'], + }), + ('rJava', '1.0-6', { + 'checksums': ['e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-7', { + 'checksums': ['e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c'], + }), + ('jpeg', '0.1-9', { + 'checksums': ['01a175442ec209b838a56a66a3908193aca6f040d537da7838d9368e46913072'], + }), + ('latticeExtra', '0.6-29', { + 'checksums': ['6cadc31d56f73d926e2e8d72e43ae17ac03607a4d1a374719999a4a231e3df11'], + }), + ('Matrix', '1.4-1', { + 'checksums': ['42b24f1d1e94482b0ff0ef1292e2df29f69694bdbee47b3d6bfeec46fafb2f7e'], + }), + ('RcppArmadillo', '0.11.0.0.0', { + 'checksums': ['367606b31c51f7c1fdb40dd4d40b6fd06f6e29b5108d6d92222920be68de748d'], + }), + ('plyr', '1.8.7', { + 'checksums': ['7d9fdaf1157035a49c3661da3bbaa7bfcf782aafe1b98f7b5a68b0520046e87f'], + }), + ('gtable', '0.3.0', { + 'checksums': ['fd386cc4610b1cc7627dac34dba8367f7efe114b968503027fb2e1265c67d6d3'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0', { + 'checksums': ['31151eaf36f70bdc1172da5ff5088ee51cc0a3db4ead59c7c38c25316d580dd1'], + }), + ('colorspace', '2.0-3', { + 'checksums': ['e75681cc4dd6e4b70303fd96a6d4597065dc6bffcaa4ae4244b73ff19016857f'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.2', { + 'checksums': ['e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165'], + }), + ('viridisLite', '0.4.0', { + 'checksums': ['849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a'], + }), + ('farver', '2.1.0', { + 'checksums': ['e5c8630607049f682fb3002b99ca4f5e7c6b94f8b2a4342df594e7853b77cef4'], + }), + ('scales', '1.2.0', { + 'checksums': ['185d50240e6b3e84d36ec7fbca6aef7a85db7c8c1b0dde51d4af28d363ce02df'], + }), + ('utf8', '1.2.2', { + 'checksums': ['a71aee87d43a9bcf29249c7a5a2e9ca1d2a836e8d5ee3a264d3062f25378d8f4'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('fansi', '1.0.3', { + 'checksums': ['86a7b83d8c9d28baebbde310cd0b459d0950a9c7ff1a6276ce5858f6a89bc06a'], + }), + ('pillar', '1.7.0', { + 'checksums': ['7841f89658cc8935568c0ff24dc480b4481bac896de2f6447050abc4360a13bb'], + }), + ('tibble', '3.1.6', { + 'checksums': ['5b33d909f146ebad38e262f6a57cb91ab70bfe240c2af01004beec11b3898292'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('withr', '2.5.0', { + 'checksums': ['37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0'], + }), + ('nlme', '3.1-157', { + 'checksums': ['ddf2a2729dcb6cbaaf579d8093cf62fc41736648b5e8b74afc3acc7a9ae1d96c'], + }), + ('mgcv', '1.8-40', { + 'checksums': ['dbe627266c3b339232e2d4228d5370ba88c86540319e6891d161242efba7e4a5'], + }), + ('rprojroot', '2.0.3', { + 'checksums': ['50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897'], + }), + ('desc', '1.4.1', { + 'checksums': ['8f9ebb51eccf925b2e76bc65ecf495e8f3882b8c0053023f396622f0402d6f54'], + }), + ('ps', '1.7.0', { + 'checksums': ['8220cf32c6a12c908b6b7669f96b57445d3147a1aa484b9b5209e0f3fd4b52e1'], + }), + ('processx', '3.5.3', { + 'checksums': ['679629fa56ec185d4fd52ade5b699c78a2a0e875acdf57555b31bc62111f342a'], + }), + ('callr', '3.7.0', { + 'checksums': ['d67255148595c6d0ba4c4d241bc9f6b5e00cafe25fdc13e38c10acc38653360a'], + }), + ('pkgbuild', '1.3.1', { + 'checksums': ['7c6a82d1e6b19e136a7d16095743c50cd7b6340eeda594e4a8e14d74972ddb48'], + }), + ('rstudioapi', '0.13', { + 'checksums': ['aac35bbdcb4a8e8caba943bc8a2b98120e8940b80cd1020224bb1a26ff776d8b'], + }), + ('pkgload', '1.2.4', { + 'checksums': ['d6912bc824a59ccc9b2895c3cf3b08a3ff310a333888bb8e90d1a6ce754dd90f'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.3', { + 'checksums': ['eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6'], + }), + ('jsonlite', '1.8.0', { + 'checksums': ['7b1892efebcb4cf4628f716000accd4b43bbf82b3e6ba90b9529d4fa0e55cd4c'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.4.0', { + 'checksums': ['57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa'], + }), + ('testthat', '3.1.3', { + 'checksums': ['c860253f94b8f21b046d55c014c8a22bf17134dcf4727adbc757f16f6887fc30'], + }), + ('isoband', '0.2.5', { + 'checksums': ['46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5'], + }), + ('ggplot2', '3.3.5', { + 'checksums': ['b075294faf3af31b18e415f260c62d6000b218770e430484fe38819bdc3224ea'], + }), + ('pROC', '1.18.0', { + 'checksums': ['d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.14.2', { + 'checksums': ['f741b951e5937440139514aedbae78dbd6862d825066848bdb006aa02c2f3d2b'], + }), + ('BBmisc', '1.12', { + 'checksums': ['900a633f69b7d9b13d58709eeae2fca2c1bc510765d778623a2af32cc870053e'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-5', { + 'checksums': ['4723434ff7624d4f404a6854ffa0673fc43daa46f58f064dbeeaa17da28ab626'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-41', { + 'checksums': ['21cf995b187d97de0bce8330973a52c46235db0fc09a133cad26283b7a6f5c8e'], + }), + ('pls', '2.8-0', { + 'checksums': ['eff3a92756ca34cdc1661fa36d2bf7fc8e9f4132d2f1ef9ed0105c83594618bf'], + }), + ('class', '7.3-20', { + 'checksums': [('e65b046bc72b312ff0c5dc7feba4fa3e9bc63387274d44911493782b85f65483', + '93956d7b66ece2261e8846a1703e28a838c2621e366016f792ad48741f230205')], + }), + ('proxy', '0.4-26', { + 'checksums': ['676bad821343974e0297a0566c4bf0cf0ea890104906a745b87d3b5989c81a4d'], + }), + ('e1071', '1.7-9', { + 'checksums': ['9bf9a15e7ce0b9b1a57ce3048d29cbea7f2a5bb2e91271b1b6aaafe07c852226'], + }), + ('nnet', '7.3-17', { + 'checksums': [('ee750bb8164aa058edf93823af987ab2c7ec64128dce2abeaae1b7d3661e9a67', + 'd86871d54e4a331cd5e00da28a2f42a56d8976084578ed2fcdb3a7ad25d4dfaa')], + }), + ('minqa', '1.2.4', { + 'checksums': ['cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c'], + }), + ('RcppEigen', '0.3.3.9.2', { + 'checksums': ['2547e794d5a6fb8d9fbadf19e64afa0bcf413cc69ecf3f428995fa5a0fced493'], + }), + ('MatrixModels', '0.5-0', { + 'checksums': ['a87faf1a185219f79ea2307e6787d293e1d30bf3af9398e8cfe1e079978946ed'], + }), + ('matrixStats', '0.62.0', { + 'checksums': ['85e2016b6dd20cbfe32d38a2ef2578ae80e688d9a3590aefd1d2f4bf4bd44eca'], + }), + ('codetools', '0.2-18', { + 'checksums': ['1a9ea6b9792dbd1688078455929385acc3a5e4bef945c77bec1261fa4a084c28'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.2', { + 'checksums': ['63eab37a9148f820ce2d67bda3dab6dedb9db6890baa5284949c39ab1b4c5898'], + }), + ('purrr', '0.3.4', { + 'checksums': ['23ebc93bc9aed9e7575e8eb9683ff4acc0270ef7d6436cc2ef4236a9734840b2'], + }), + ('tidyselect', '1.1.2', { + 'checksums': ['0389a3b15417954a30d6d692f6ebdd3d0f318cb94a5c9b05365df2f4ea1d8270'], + }), + ('dplyr', '1.0.8', { + 'checksums': ['3b6aa3a06d67037223da6af4b59ab89cbd342bc450b92c6050fb267127236075'], + }), + ('gower', '1.0.0', { + 'checksums': ['671cb7baafe05140d822e8f26f9cd3576fc3bf4c6572b7223fb54da754ea385d'], + }), + ('rpart', '4.1.16', { + 'checksums': ['27ec75258a5a3459ad999f5f36760ead974930744249605bf8465f234f31425c'], + }), + ('survival', '3.3-1', { + 'checksums': ['14878705cd0c7edcfead79011444aa84f680759293bde8634721c49f37cb4dc7'], + }), + ('KernSmooth', '2.23-20', { + 'checksums': ['20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39'], + }), + ('globals', '0.14.0', { + 'checksums': ['203dbccb829ca9cc6aedb6f5e79cb126ea31f8dd379dff9111ec66e3628c32f3'], + }), + ('listenv', '0.8.0', { + 'checksums': ['fd2aaf3ff2d8d546ce33d1cb38e68401613975117c1f9eb98a7b41facf5c485f'], + }), + ('parallelly', '1.31.1', { + 'checksums': ['40c7fc3d842fa928448e574091a521bead2367bf97545c744ca78ea9af3117da'], + }), + ('future', '1.25.0', { + 'checksums': ['d6242ece0fb45f0bf492e8219eae790a448255540ee39ef930a2752fdc821847'], + }), + ('future.apply', '1.9.0', { + 'checksums': ['6166c1c5ce30b9745059c3d30c8110f7c1d51871e58aa414f195cb1f91c467f5'], + }), + ('progressr', '0.10.0', { + 'checksums': ['4c95dc11c50c792440fa17f4538d59f1f3012bf6ef462a5a141609f87319badc'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.6.10', { + 'checksums': ['7a88f8a885872e2abb3011c446e9e1c4884cd4dbe6ab4cfe9207538e5560232e'], + }), + ('prodlim', '2019.11.13', { + 'checksums': ['6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f'], + }), + ('ipred', '0.9-12', { + 'checksums': ['d6e1535704d39415a799d7643141ffa4f6f55597f03e763f4ccd5d8106005843'], + }), + ('cpp11', '0.4.2', { + 'checksums': ['403ce0bf82358d237176053b0fb1e958cb6bfa4d0fb3555bf5801db6a6939b99'], + }), + ('lubridate', '1.8.0', { + 'checksums': ['87d66efdb1f3d680db381d7e40a202d35645865a0542e2f270ef008a19002ba5'], + }), + ('tidyr', '1.2.0', { + 'checksums': ['8cd01da9e97827521d01ea50b9225f2705c46b7538bbf74bec6249a04c1213a8'], + }), + ('hardhat', '0.2.0', { + 'checksums': ['9497ca0fe6206c54d1da79f248d44c5faffc7d375b630091ef45dfca46c29628'], + }), + ('recipes', '0.2.0', { + 'checksums': ['3d0073e3eb98ac089a94bf8430f3c50915ff1f495d8e967c37baa6a0f6cea0a4'], + }), + ('caret', '6.0-92', { + 'checksums': ['1d814a2a921a23ad8b9a7da6f788e6abc06f5668b3918bd440d4355bc4b81511'], + }), + ('conquer', '1.3.0', { + 'checksums': ['ac354e18c9ad6f41ed5200fad1c99fa5b124fc6fa5bba8f3434be2478f53d5fa'], + }), + ('quantreg', '5.88', { + 'checksums': ['1940e553711ed50655b2692ba29432d1083ed83c2db06e31a031ce8f82823a3f'], + }), + ('robustbase', '0.95-0', { + 'checksums': ['5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724'], + }), + ('zoo', '1.8-10', { + 'checksums': ['c9a282d8004c22651c4fa1d657d3cad946c5ec55c4dc068569d860ee9b31ed47'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-9', { + 'checksums': ['a5b420ad5ff1a27fa92f98099a8b43f2dded7e5f60297b3e4d947ad6f039568f'], + }), + ('snowfall', '1.84-6.1', { + 'checksums': ['5c446df3a931e522a8b138cf1fb7ca5815cc82fcf486dbac964dcbc0690e248d'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.0.2', { + 'checksums': ['5c6aa036d3f1035ffe8f9a8e95bb908b191b126b016591cf893c50472851f334'], + }), + ('foreign', '0.8-82', { + 'checksums': ['f8ed0684d59bec7f3a39cde1aa5ec7b3e6e36aaecacb28120c9c54f7b13f80fb'], + }), + ('psych', '2.2.3', { + 'checksums': ['f60e90d6d4255aaefd45fd650b810ef7e1f1bb1ea0ca779d6f352cd6157b273a'], + }), + ('broom', '0.8.0', { + 'checksums': ['66a1095d4430450dc810a5cea61cd7e7bee0e23739dcf5ddc5b57c9894fcf999'], + }), + ('nloptr', '2.0.0', { + 'checksums': ['65ca3149cfc9ba15ac10a91f34b5d86b20f5fd693f44e3edf3e392402911619a'], + }), + ('boot', '1.3-28', { + 'checksums': ['9f7158fd2714659f590c3955651893dc24bd8f39196bc5a4cc35b0b031744a32'], + }), + ('statmod', '1.4.36', { + 'checksums': ['14e897c83d426caca4d920d3d5bead7ae9a679276b3cb2e227f299ad189d7bc2'], + }), + ('lme4', '1.1-29', { + 'checksums': ['83d97de48cc4706a5a9615b126ba1a86f1a3009d3f38b8da3e57dd619519e826'], + }), + ('ucminf', '1.1-4', { + 'checksums': ['a2eb382f9b24e949d982e311578518710f8242070b3aa3314a331c1e1e7f6f07'], + }), + ('ordinal', '2019.12-10', { + 'checksums': ['7a41e7b7e852a8fa3e911f8859d36e5709ccec5ca42ee3de14a813b7aaac7725'], + }), + ('jomo', '2.7-3', { + 'checksums': ['9d3987f3a73d305f3ab6fc66efc04a196a7eb8b65e20c411131dc17af51f0063'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('tzdb', '0.3.0', { + 'checksums': ['6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.5.7', { + 'checksums': ['d087cb148f71c222fc89199d03df2502689149873414a6d89c2f006d3a109fde'], + }), + ('readr', '2.1.2', { + 'checksums': ['94afd03a1fa4abcf2985ec903bbf5995d7c590e1a50512ed80d081ef4fe10c1b'], + }), + ('forcats', '0.5.1', { + 'checksums': ['c4fb96e874e2bedaa8a1aa32ea22abdee7906d93b5c5c7b42c0894c0c5b6a289'], + }), + ('haven', '2.5.0', { + 'checksums': ['b580311bc1b28efc6b123e29a331282b9f7eb552c485f4e5cacab39fe534aff4'], + }), + ('pan', '1.6', { + 'checksums': ['adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6'], + }), + ('mitml', '0.4-3', { + 'checksums': ['49bd3eb68a60fb2a269e7ddca8b862e1e81e0651e2b29759482fb7bcad452102'], + }), + ('mice', '3.14.0', { + 'checksums': ['f87bb73d8bfee36c6bf4f15779c59ff6b70c70ca25b1388b4ee236757276d605'], + }), + ('urca', '1.3-0', { + 'checksums': ['621cc82398e25b58b4a16edf000ed0a1484d9a0bc458f734e97b6f371cc76aaa'], + }), + ('fracdiff', '1.5-1', { + 'checksums': ['b8103b32a4ca3a59dda1624c07da08ecd144c7a91a747d1f4663e99421950eb6'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.24.1', { + 'checksums': ['e7e0d9054cf7f3221ba363afa0fdf1c8bb65b8841700ec0010fa4886be26a661'], + }), + ('akima', '0.6-3.3', { + 'checksums': ['69cbb88079f98905736322bb2fe2a6a58091f0f3c0fdc9a407d8fdd48160d175'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('mixtools', '1.2.0', { + 'checksums': ['ef033ef13625209065d26767bf70d129972e6808927f755629f1d70a118b9023'], + }), + ('cluster', '2.1.3', { + 'checksums': ['a3ad7a9455d634c4e0c6ccf8ea7a3a392a0ecf9c2bdb368d127ffa68a93164a9'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.1.2', { + 'checksums': ['56ec377d471c76ac234ddfd313bd01a050c99fb6fa5f704f5333b34a5d714f58'], + }), + ('gam', '1.20.1', { + 'checksums': ['5787c6fabea5aaba29fe214db305a7369916082efc6a18f84e4c9ef81c8e7dad'], + }), + ('gamlss.data', '6.0-2', { + 'checksums': ['dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e'], + }), + ('gamlss.dist', '6.0-3', { + 'checksums': ['ec90ea83cd81b894c73f987f69814077697be33abf0708e0f3e2a39d02c912bf'], + }), + ('gamlss', '5.4-3', { + 'checksums': ['6619d4fdc183ab492615d44961a126c827d18db20a0d59362e54de877f0a3076'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.12.1', { + 'checksums': ['d680584af946fc30be0b2046e838cff7b3a65e00df1eadba325ca5e96f3dca2c'], + }), + ('curl', '4.3.2', { + 'checksums': ['90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568'], + }), + ('TTR', '0.24.3', { + 'checksums': ['4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87'], + }), + ('quantmod', '0.4.18', { + 'checksums': ['aa40448e93a1facf399213ac691784007731e869ad243fe762381ab099cd6c35'], + }), + ('mvtnorm', '1.1-3', { + 'checksums': ['ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448'], + }), + ('pcaPP', '1.9-74', { + 'checksums': ['50837b434d67e4b5fcec34c689a9e30c7a9fb94c561b39f24e68a1456ff999b6'], + }), + ('pscl', '1.5.5', { + 'checksums': ['054c9b88a991abdec3338688f58e81b6ba55f91edb988621864b24fd152fee6f'], + }), + ('fastmap', '1.1.0', { + 'checksums': ['9113e526b4c096302cfeae660a06de2c4c82ae4e2d3d6ef53af6de812d4c822b'], + }), + ('cachem', '1.0.6', { + 'checksums': ['9a9452f7bcf3f79436c418b3c3290449fb8fd338714d9b992153754d112f1864'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('blob', '1.2.3', { + 'checksums': ['2d88d683ee3d1b56b332b5c7769979b5d3994b5d9285ea634ec919576da3631b'], + }), + ('RSQLite', '2.2.12', { + 'checksums': ['3a31916b35e267c36b93977234067676d42fd7d4e49b5c2c1c4c87542e4b6a8a'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.0-1', { + 'checksums': ['f6584b7084f3223bbc0c4722f53280496be73849747819b0cb4e8f3910284a89'], + }), + ('sfsmisc', '1.1-13', { + 'checksums': ['a81710357de2dcdaf00d9fa30a29cde0dd83616edc358452fd6105ea88f34218'], + }), + ('spatial', '7.3-15', { + 'checksums': [('e5613be94d6f5c1f54813dadc96e4a86b3417dea28106cc90cb24dfd6c3c8cef', + 'de1dafbccfde599ae24c5a78dbbc2df746d17f4c97d7b1c282a03ddff2f23ecf')], + }), + ('VGAM', '1.1-6', { + 'checksums': ['446a61bac5dd4794e05d20c2f3901eec54afac52c6e23ce2787c5575170dd417'], + }), + ('waveslim', '1.8.2', { + 'checksums': ['133c4f7a027282742fe99b583ca65f178fc7a3df2ce75cb4d60650f0a1dd7145'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.32', { + 'checksums': ['74670f16eaafddd044a3ac1813acd5d164aed3f862b87aa1ac275b600e27d9ad'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-50', { + 'checksums': ['1c47a3bb760b915adf1d13ee979849f2756a7f828290af637c17cb90cc26c598'], + }), + ('fastICA', '1.2-3', { + 'checksums': ['e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950'], + }), + ('R.methodsS3', '1.8.1', { + 'checksums': ['8a98fb81bcfa78193450f855f614f6f64e6c65daf115f301d97d1f474f5e619b'], + }), + ('R.oo', '1.24.0', { + 'checksums': ['37a1dab8dd668ceba69a1ba36c0c60e9809e29b74bd56d1e8ed519e19c8e3bb6'], + }), + ('sys', '3.4', { + 'checksums': ['17f88fbaf222f1f8fd07919461093dac0e7175ae3c3b3264b88470617afd0487'], + }), + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('openssl', '2.0.0', { + 'checksums': ['eb28fde65f33ffb780abb85ab17d724ae55c2b9dbe171155d3dd2d7154ff564b'], + }), + ('httr', '1.4.2', { + 'checksums': ['462bed6ed0d92f811d5df4d294336025f1dbff357286999d9269bfd9c20b1ef9'], + }), + ('cgdsr', '1.3.0', { + 'checksums': ['4aa2a3564cee2449c3ff39ab2ad631deb165d4c78b8107e0ff77a9095340cc1f'], + }), + ('R.utils', '2.11.0', { + 'checksums': ['622860f995f78be3a6e439f29d945874c5cb0866f6a73a9b43ac1d4d7f23fed8'], + }), + ('R.matlab', '3.6.2', { + 'checksums': ['1ba338f470a24b7f6ef68cadbd04eb468ead4a689f263d2642408ad591b786bb'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8', { + 'checksums': ['7d5de3b980b8f23275e86ac9bed48a497c9aa53c58e407dfd676309f38272ec1'], + }), + ('Formula', '1.2-4', { + 'checksums': ['cb70e373b5ed2fc8450937fb3321d37dfd22dcc6f07cb872a419d51205125caf'], + }), + ('acepack', '1.4.1', { + 'checksums': ['82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-56', { + 'checksums': ['863ecbb951a3da994761ea9062fa96d34e94e19fbc4122521ac179274dfa3f5d'], + }), + ('viridis', '0.6.2', { + 'checksums': ['69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311'], + }), + ('yaml', '2.3.5', { + 'checksums': ['3edf6c0554a0e184a25e8bec5721a2e66b4ab0dceb3737428e22705e52eb5140'], + }), + ('htmltools', '0.5.2', { + 'checksums': ['7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb'], + }), + ('htmlwidgets', '1.5.4', { + 'checksums': ['1a3fc60f40717de7f1716b754fd1c31a132e489a2560a278636ee78eba46ffc1'], + }), + ('knitr', '1.38', { + 'checksums': ['d138e881414eed915cadcb8c82ffbbab002614f1d492cbf413cded255ab5e7ad'], + }), + ('htmlTable', '2.4.0', { + 'checksums': ['4ca2b5616d77cfeee8ae5ca74307b86407d478b12d1ce17ba9c447e233b89a9d'], + }), + ('Hmisc', '4.7-0', { + 'checksums': ['29ec2d9ca11c790c350e93323126bef4f498c69c41c31bb335fd04671e0f87bd'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.4.2.3', { + 'checksums': ['7bad194920b412781ac9754ad41058d52d3cd7186e1851c2bce3640490e9bc6d'], + }), + ('pkgmaker', '0.32.2', { + 'checksums': ['ce45b22def771a9c90a414093823e6befe7e23489c500eeccee5154b44d3ef91'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5', { + 'checksums': ['26fc8c0d36460e422ab77f43a597b8ec292eacd452628c54d34b8bf7d5269bb9'], + }), + ('igraph', '1.3.1', { + 'checksums': ['505a2ba7c417ceaf869240cc1c9a5f3fbd75f8d9dfcfe048df1326c6ec41144e'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.6-2', { + 'checksums': ['9b62450a0390a1f07df007d348ad4cedcd814d42cb11c5a300ed33550fd41257'], + }), + ('RJSONIO', '1.3-1.6', { + 'checksums': ['82d1c9ea7758b2a64ad683f9c46223dcba9aa8146b43c1115bf9aa76a657a09f'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3', { + 'checksums': ['9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('later', '1.3.0', { + 'checksums': ['08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829'], + }), + ('promises', '1.2.0.1', { + 'checksums': ['8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7'], + }), + ('httpuv', '1.6.5', { + 'checksums': ['f5f63629ca5e9d0e396a89982d95b5286726c0cb425166f35a3ad32a60a79156'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('sourcetools', '0.1.7', { + 'checksums': ['47984406efb3b3face133979ccbae9fefb7360b9a6ca1a1c11473681418ed2ca'], + }), + ('xml2', '1.3.3', { + 'checksums': ['cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d'], + }), + ('commonmark', '1.8.0', { + 'checksums': ['7d07e72937b1cf158e69f183722bf79dbb91b8967a9dd29f4fa145500c2be668'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('fs', '1.5.2', { + 'checksums': ['35cad1781d6d17c1feb56adc4607079c6844b63794d0ce1e74bb18dbc11e1987'], + }), + ('sass', '0.4.1', { + 'checksums': ['850fcb6bd49085d5afd25ac18da0744234385baf1f13d8c0a320f4da2de608bb'], + }), + ('bslib', '0.3.1', { + 'checksums': ['5f5cb56e5cab9039a24cd9d70d73b69c2cab5b2f5f37afc15f71dae0339d9849'], + }), + ('fontawesome', '0.2.2', { + 'checksums': ['572db64d1b3c9be301935e0ca7baec69f3a6e0aa802e23f1f224b3724259df64'], + }), + ('shiny', '1.7.1', { + 'checksums': ['c03b2056fb41430352c7c0e812bcc8632e6ec4caef077d2f7633512d91721d00'], + }), + ('seqinr', '4.2-8', { + 'checksums': ['584b34e9dec0320cef02096eb356a0f6115bbd24356cf62e67356963e9d5e9f7'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('deldir', '1.0-6', { + 'checksums': ['6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5'], + }), + ('gmodels', '2.18.1', { + 'checksums': ['626140a34eb8c53dd0a06511a76c71bc61c48777fa76fcc5e6934c9c276a1369'], + }), + ('expm', '0.999-6', { + 'checksums': ['2c79912fd2e03fcf89c29f09555880934402fcb2359af8b4579d79b4f955addc'], + }), + ('terra', '1.5-21', { + 'checksums': ['091ee928ccaa6561aa9f8ee6c1c99f139dc89f1653c2a76a035cca14d404f43f'], + }), + ('raster', '3.5-15', { + 'checksums': ['29c7d3c5d34284f8b5a2ddc9989fbcf092ce209d5eb5310ebc772b5ebdfdd685'], + }), + ('spData', '2.0.1', { + 'checksums': ['c635a3e2e5123b4cdb2e6877b9b09e3d50169e1512a53b2ba2db7fbe63b990fc'], + }), + ('units', '0.8-0', { + 'checksums': ['9c46fe138e8c1c3d3a51268776412f02d09673656516148cccb71b1071beb21a'], + }), + ('classInt', '0.4-3', { + 'checksums': ['9ede7a2a7a6b6c114919a3315a884fb592e33b037a50a4fe45cbd4fe2fc434ac'], + }), + ('vegan', '2.6-2', { + 'checksums': ['ab77d110c959d19b0c6268ae0c8f78c897e2419eff3f1f7b19c1bb2f8db7c059'], + }), + ('rncl', '0.8.6', { + 'checksums': ['fcc972c04fb43ace0876eb640a6433caddf6ec8304f7ceee37107d812ce68ffb'], + }), + ('XML', '3.99-0.9', { + 'checksums': ['9c15dedf3157efc59e0db31506631dfe770a4d397ce52f972434bed60e206a09'], + }), + ('tinytex', '0.38', { + 'checksums': ['eac1b5c0d05ef856b8ffd6262238b8aafe0a0d9395de974a799d104c3ae11c86'], + }), + ('rmarkdown', '2.14', { + 'checksums': ['e9ec17afa4d9d6e8cf555b56e0c00acc189d8ec0b4406680b14d71d62f0c3220'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.3.0', { + 'checksums': ['bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.2.0', { + 'checksums': ['be1a149b21cf219ef55adfb56a6a5eb9892a9acf0d5f5421a22e52f2a7066f8c'], + }), + ('bold', '1.2.0', { + 'checksums': ['8f1597f04acbe6b090232929325734c802049d82649ae102b438e1fa3af5a464'], + }), + ('rredlist', '0.7.0', { + 'checksums': ['d2e66b655c43565a4cc0984dc3fcc9732652cb9677baaa9bb2b82e9f9d65e7f0'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.0.12', { + 'checksums': ['1688b3284139803a9b1339d7f34a5db94bb1f2f4fd4c395423f7164dbdb3d98e'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.2', { + 'checksums': ['1ab228ea762a431a5e3a565b589b804fcb2865ceaa2b1459bd2ab3ebe8f5ebbe'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.5-0', { + 'checksums': ['effdfee286e5ba9534dc2ac3cee96590a37f5cd2af28c836d00c25ca9f070a55'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.8.1', { + 'checksums': ['6d471410ae29775104a94746936e8c1c54c7273dd289333973ec06dad489dc75'], + }), + ('uuid', '1.1-0', { + 'checksums': ['e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.6', { + 'checksums': ['9a1db4424bf86170311aaf1c00f099442d9e1592afb007cbe8bb02f4585ea64c'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.7.3', { + 'checksums': ['83877b2e23ea43fbc1164de9c2422eafbe7858393ac384df5adf3a7eec122441'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.3', { + 'checksums': ['55403252d8bae9627476d1f553236ea5dc7aa6e54da6980526a6cdc66924e155'], + }), + ('bigmemory', '4.5.36', { + 'checksums': ['18c67fbe6344b2f8223456c4f19ceebcf6c1166255eab81311001fd67a45ef0e'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.7', { + 'checksums': ['534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c'], + }), + ('dismo', '1.3-5', { + 'checksums': ['812e1932d42c0f40acf2ab5c5b2d068f93128caf648626e1d11baf1a09340ee7'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.10', { + 'checksums': ['81886b4f686341ce5139816233c957e840541d17a1d2db0047af17d527f0e1ba'], + }), + ('extrafont', '0.18', { + 'checksums': ['44e6a9798914b99c1460a1177c1f1503cf2a2f74844e3e7858fb98462b08a857'], + }), + ('fields', '13.3', { + 'checksums': ['c652838b1ae7eb368831522824bfbc1d1db7b9d1db5e9bb52b194098549944c3'], + }), + ('shapefiles', '0.7', { + 'checksums': ['eeb18ea4165119519a978d4a2ba1ecbb47649deb96a7f617f5b3100d63b3f021'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('phytools', '1.0-3', { + 'checksums': ['bfe2aec6aae8235264c1494eee42be494fed81a676c6de9e39c57a6e3682b37d'], + }), + ('geiger', '2.0.7', { + 'checksums': ['d200736c4ad7ed4bc55a13e7d0126ddc7fed88e245cd5706d4692aaa437e9596'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('glmnet', '4.1-4', { + 'checksums': ['f6b0f70a0b3d81ff91c2b94f795a2a32e90dd458270f1a29e49e085dd65000f9'], + }), + ('crosstalk', '1.2.0', { + 'checksums': ['4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('webshot', '0.5.3', { + 'checksums': ['b7c4f2be61c8c4730202a9c3604072478e30cb85b423b7497cd703cc3f49dbc0'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '0.108.3', { + 'checksums': ['89f96eb462cacfcc796ad351d7dac0480a7eb9f80e9bd75e58c5a79f0ee8133b'], + }), + ('Rtsne', '0.16', { + 'checksums': ['52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5'], + }), + ('labdsv', '2.0-1', { + 'checksums': ['5a4d55e9be18222dc47e725008b450996448ab117d83e7caaa191c0f13fd3925'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-2', { + 'checksums': ['7d247c5ae6f5a63c80e478799d009c57fb8803943aa4286d05f71235cc1002f8'], + }), + ('TH.data', '1.1-0', { + 'checksums': ['21b37e251da5635ae91668f64b4c6f6a7ccedbe1f01af769d30fb532af83113e'], + }), + ('multcomp', '1.4-18', { + 'checksums': ['107a5e65cfff158b271d7386240dc8672d8cf45313f016e0ed83767faf7c2806'], + }), + ('libcoin', '1.0-9', { + 'checksums': ['2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb'], + }), + ('coin', '1.4-2', { + 'checksums': ['7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2'], + }), + ('party', '1.3-9', { + 'checksums': ['29a1fefdb86369285ebf5d48ab51268a83e2011fb9d9f609a2250b5f0b169089'], + }), + ('inum', '1.0-4', { + 'checksums': ['5febef69c43a4b95b376c1418550a949d988a5f26b1383ca01c9728a94fc13ce'], + }), + ('partykit', '1.2-15', { + 'checksums': ['b2e9454b2f4b9a39c9581c5871462f00acef4eeee5696ce3e32cfa1468d1e3ac'], + }), + ('mboost', '2.9-6', { + 'checksums': ['3dfa88ed64832e99847bc75ed09d9e8fa071c3a040a83e0befefe69b7cc06cbf'], + }), + ('msm', '1.6.9', { + 'checksums': ['aefcd9bb40b0167311d088d6fe23fdf7aa35deaac0f8b47ef02377cff5577023'], + }), + ('nor1mix', '1.3-0', { + 'checksums': ['9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0'], + }), + ('np', '0.60-11', { + 'checksums': ['a3b31b8ad70c42826076786b2b1b63b79cdbadfa55fe126773bc357686fd33a9'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.20', { + 'checksums': ['6992484e9e41036debef1e705e26959f8f5c7a68d3e1fda58273d2a72297a1b5'], + }), + ('rms', '6.3-0', { + 'checksums': ['6c41eb670daf5e4391cc2f2a19e20a591f90769c124300a7ccf555820140d3f9'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-44', { + 'checksums': ['f3239437aeeb01453b7ce235f9680bc281886b46de0b536d9c8413c6294c7bc8'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-8', { + 'checksums': ['b1eb1683d956db1a207b61cc086ae08b3ca7f46b6b8bc46d09ba5a4fafa66256'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '3.0.1', { + 'checksums': ['c20822eb8239226abfce05202821488cbbb97c76dd5226eb3a6f0dc5594e76bb'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-3', { + 'checksums': ['3c698e4f79555fbe70358b679c75f9c72c23256568da46c775bbebe8668b72cb'], + }), + ('chemometrics', '1.4.2', { + 'checksums': ['b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a'], + }), + ('FNN', '1.1.3', { + 'checksums': ['de763a25c9cfbd19d144586b9ed158135ec49cf7b812938954be54eb2dc59432'], + }), + ('miscTools', '0.6-26', { + 'checksums': ['be3c5a63ca12ce7ce4d43767a1815cd3dcf32664728ade251cfb03ea6f77fc9a'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.8', { + 'checksums': ['f1aecdeeba99042d34de19234238c5bbdc18a26f271f6adf9c9b7e349d50d152'], + }), + ('Rdpack', '2.3', { + 'checksums': ['c45e1ab8352b92ce03f26ece1f4db3716959fca2af9e826d5bd3c76b2151f7c5'], + }), + ('dfidx', '0.0-4', { + 'checksums': ['04255de9b002b2f89db04144edcd72e21804e0c129a3e5082b4a21630c850702'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.3', { + 'checksums': ['531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f'], + }), + ('gsalib', '2.1', { + 'checksums': ['e1b23b986c18b89a94c58d9db45e552d1bce484300461803740dacdf7c937fcc'], + }), + ('optparse', '1.7.1', { + 'checksums': ['324e304c13efd565d766766193d4ccd75e2cd949dfcfb416afc3939489071fe7'], + }), + ('labelled', '2.9.0', { + 'checksums': ['36ac0e169ee065a8bced9417efeb85d62e1504a590d4321667d8a6213285d639'], + }), + ('R.cache', '0.15.0', { + 'checksums': ['adb4d3b08f7917e10fe6188c7b90a3318701a974c58eaa09943b929382bdf126'], + }), + ('styler', '1.7.0', { + 'checksums': ['3e49f3ac2e65f9bdab15837a4e629db35c8fd0a15a74daa057354ba01e3022ce'], + }), + ('questionr', '0.7.7', { + 'checksums': ['ce24c40bd98dbeca615b9eb2a9cd2da26852821dc3840f8394eeecb0739dfd56'], + }), + ('klaR', '1.7-0', { + 'checksums': ['b4795250ef19fd1b5e1b9a59343fd01159a33dbdbb504a06258220e37a718198'], + }), + ('neuRosim', '0.2-12', { + 'checksums': ['f4f718c7bea2f4b61a914023015f4c71312f8a180124dcbc2327b71b7be256c3'], + }), + ('locfit', '1.5-9.5', { + 'checksums': ['fd9f2bad9d8beec8be4843dc80e38ebe0f388835a7003490f67e57eeb9e6de23'], + }), + ('GGally', '2.1.2', { + 'checksums': ['30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.4.2', { + 'checksums': ['1719ce9a00b9ac4d56dbf961803085b892d3359726fda3567bb989ddfed9a5f2'], + }), + ('pbkrtest', '0.5.1', { + 'checksums': ['b2a3452003d93890f122423b3f2487dcb6925440f5b8a05578509e98b6aec7c5'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-4', { + 'checksums': ['f3ee25f9787d97c8373dac3651c6a198c932948eb3a6006b8618c91c6344fdc9'], + }), + ('zip', '2.2.0', { + 'checksums': ['9f95987c964039834f770ecda2d5f7e3d3a9de553c89db2a5926c4219bf4b9d8'], + }), + ('openxlsx', '4.2.5', { + 'checksums': ['65d06d2819b656ac30fc78437ee712a83fb5a7ab750f56268e5c9e578c582519'], + }), + ('rematch', '1.0.1', { + 'checksums': ['a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.0', { + 'checksums': ['ab9239c249f79b649f7665a612b3dbf4b774ab633115e6dee41091a8cb2491f7'], + }), + ('rio', '0.5.29', { + 'checksums': ['9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412'], + }), + ('car', '3.0-12', { + 'checksums': ['b899a6efae3842a90a2349d381dbcf4b4ed36bd03108ebe7380e81120e457302'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.1', { + 'checksums': ['29fb916d4799ba6503a5dd019717ffdf154d2aaae9ff1736f03e2be24af6bdfc'], + }), + ('DT', '0.22', { + 'checksums': ['3f181c4ef8dd225864c8859751cd369a21d37b83bd33a35922723f0f0c045099'], + }), + ('FactoMineR', '2.4', { + 'checksums': ['b9e3adce9a66b4daccc85fa67cb0769d6be230beeb126921b386ccde5db2e851'], + }), + ('flexclust', '1.4-1', { + 'checksums': ['d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d'], + }), + ('flexmix', '2.3-17', { + 'checksums': ['36019b7833032409ac61720dd625fa5a581a1d8bcba9045b04979c90907b5649'], + }), + ('prabclus', '2.3-2', { + 'checksums': ['f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441'], + }), + ('diptest', '0.76-0', { + 'checksums': ['508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-9', { + 'checksums': ['29b0006e96c8645645d215d3378551bd6525aaf45abde2d9f12933cf6e75fa38'], + }), + ('BiasedUrn', '1.07', { + 'checksums': ['2377c2e59d68e758a566452d7e07e88663ae61a182b9ee455d8b4269dda3228e'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.11', { + 'checksums': ['018d820acdb7dfa716275ba24c4d671cb0202cb1fee584b673d0118e2c9063ae'], + }), + ('base64', '2.0', { + 'checksums': ['8e259c2b12446197d1152b83a81bab84ccb5a5b77021a9b5645dd4c63c804bd1'], + }), + ('doRNG', '1.8.2', { + 'checksums': ['33e9d45b91b0fde2e35e911b9758d0c376049121a98a1e4c73a1edfcff11cec9'], + }), + ('nleqslv', '3.3.2', { + 'checksums': ['f54956cf67f9970bb3c6803684c84a27ac78165055745e444efc45cfecb63fed'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '2.1.2', { + 'checksums': ['20f341fca8f616c556699790814debdf2ac7aa4dd9ace2071100c66af1549d7d'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.16', { + 'checksums': ['9f01eb895a883a7e1e23725b167b46edc1b0b152fd4120278aaa5f7b2621767f'], + }), + ('fma', '2.4', { + 'checksums': ['69a94c3bd464176a80232d49fcd04d478d4dd59f9bf128d6a9f46e49612d27f4'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-0', { + 'checksums': ['74dabc0dfe5a527114f0bb8f3d22f5d1ae694e6ea9345912909bae885525d34b'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '2.3-0', { + 'checksums': ['5f096ce5a201482d61e6d6859be7d40a55705ba5c6ebadd4875367ef9cb0db1a'], + }), + ('spatstat.data', '2.2-0', { + 'checksums': ['d3943bb4f6509d60bf68e79ce4533c5ec5261f411da6b0ef5238c124fc37c3e5'], + }), + ('spatstat.geom', '2.4-0', { + 'checksums': ['32b89a409ce87ffe901e4c8720a26cac9629f9816e163c4ad68b7aa012d69e67'], + }), + ('spatstat.sparse', '2.1-1', { + 'checksums': ['9a35ad69715b767b3ae60b02dce05ccf108fcccdf95bbc8f7d02557bcbde7303'], + }), + ('spatstat.random', '2.2-0', { + 'checksums': ['45f0bbdb9dbd53b6c4151c3cdd098451cf787729717ccbb063cd1f33910e604d'], + }), + ('spatstat.core', '2.4-2', { + 'checksums': ['6985c284b8410bedc15317cb0947e6434d04bc277f6d6d934fce8b20b8ef0d2e'], + }), + ('spatstat.linnet', '2.3-2', { + 'checksums': ['9c78a4b680debfff0f3ae934575c30d03ded49bc9a7179475384af0ebaf13778'], + }), + ('spatstat', '2.3-4', { + 'checksums': ['4ea0f8d70b926b92bf4a06521f985a0bb6d573619f5d526957c87860ccb999da'], + }), + ('pracma', '2.3.8', { + 'checksums': ['2302d454406e72711714732658d0c59c9d5a1ead698f22ee23f38cba63d42764'], + }), + ('RCurl', '1.98-1.6', { + 'checksums': ['6cb56864ac043195b658bbdb345518d561507d84ccd60362866e970c2f71d1a2'], + }), + ('bio3d', '2.4-3', { + 'checksums': ['c6031f0d9033260a938171d0fa70720962e352935eb7bd2ddb9b92b93abe6a74'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.4', { + 'checksums': ['4c08a6dffd6fd5764f27812f3a085c53e6a21d59ae82d903c9c0da93fd1dd059'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-28', { + 'checksums': ['5f42233abd48f1740c33aae1ec4ad8e9952fddb5df1ee49ff2d43d5d89f05601'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.5', { + 'checksums': ['ab043bcbac4636faadb81c0654cab58aeeec850fba3f8b7a749bea8a58c30efd'], + }), + ('ddalpha', '1.3.13', { + 'checksums': ['e4a60a4e0950a3587db2a2d5958ab4fbe07b2548f7c3d4795912fe45c77a4eae'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('adabag', '4.2', { + 'checksums': ['47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14', { + 'checksums': ['b17652d0a69de3241a69f20be4ad1bfe02c413328a17f3c1ac7b73886a6ba2eb'], + }), + ('ggvis', '0.4.7', { + 'checksums': ['9e6b067e11d497c796d42156570e2481afb554c5db265f42afbb74d2ae0865e3'], + }), + ('mlr', '2.19.0', { + 'checksums': ['1149c9b453896481c85906045aa82d511d96979ddecbe5a3faf04f9f4a5e6113'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-14', { + 'checksums': ['7f6262cb2b49b5d5979ccce9ded9cbb2c0b348fd7c9eabc1ea1d31c51a102c20'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.1', { + 'checksums': ['0bd2dcd4ee1915448d325fb5e66bee68e0497cbd91ef67a11b400b2fbe52ff59'], + }), + ('lhs', '1.1.5', { + 'checksums': ['7a3c6fdcc953490e51026e17a0b1a9dc0ca8d03e6fc989457a7cdda2075b6339'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5', { + 'checksums': ['1dd7b1383a7c891cafb34d9cec65d92f1511a336cff1b219e63c0aa791371b9f'], + }), + ('whisker', '0.4', { + 'checksums': ['7a86595be4f1029ec5d7152472d11b16175737e2777134e296ae97341bf8fba8'], + }), + ('roxygen2', '7.1.2', { + 'checksums': ['b3693d1eb57bb1c27134447ea7f64c353c085dd2237af7cfacc75fca3d2fc5fd'], + }), + ('git2r', '0.30.1', { + 'checksums': ['85d913ddc7659e32c1b98ebc247fa1cc1b7717a5bd413fa78ea84696986ca840'], + }), + ('rversions', '2.1.1', { + 'checksums': ['79aaacf5a1258d91ac0ddedf3c8c16a2d10d39010993dcc7b0a2638afee27cb1'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2', { + 'checksums': ['f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.1', { + 'checksums': ['b14aaf4e910a9d2d6c65c93e645f0b0159c00898e669f917f83c03dfedb1dfea'], + }), + ('gh', '1.3.0', { + 'checksums': ['a44039054e8ca56496f2d9c7a10cdadf4a7383bc91086e768ba7e7f1fbcaed1c'], + }), + ('credentials', '1.3.2', { + 'checksums': ['2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8'], + }), + ('gert', '1.6.0', { + 'checksums': ['8c440aeebabf1cb3b57124ec9280e0f46b2ab56f2bca07d72b5c7a7f4edc2964'], + }), + ('usethis', '2.1.5', { + 'checksums': ['7d539e16ecdc1cd45ba1a215d42d8b9c16bc38280ddd27048003dbb37b16f052'], + }), + ('covr', '3.5.1', { + 'checksums': ['a54cfc3623ea56084158ac5d7fe33f216f45191f6dcddab9c9ed4ec1d9d8ac6c'], + }), + ('devtools', '2.4.3', { + 'checksums': ['e42159a9bca0b219170e76c282862e27ca283649d6cbf6a868175d8982e06b4f'], + }), + ('Rook', '1.1-1', { + 'checksums': ['00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903'], + }), + ('Cairo', '1.5-15', { + 'checksums': ['bb3ab1ff6431c15eb01a66ddf90695cd9a2af3d5a384753f5180cd0401d2e89d'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-1', { + 'checksums': ['5a1927bb21f178ec5a3e3f862d792e690e45c16c88190e64e83aa1fb9e3ffa02'], + }), + ('tkrplot', '0.0-26', { + 'checksums': ['dd66264c2553f6927aff297c6b1c3b61867d6c63aec080f40a1e9d53cfc9d120'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '0.1-12', { + 'checksums': ['487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.2', { + 'checksums': [('aa874891446a395f01791d80a5a0f1f9a1c2c41f029de3a8d5af9aa47f46a496', + '805513029895cf5a81f18ede4123ef2525a236cd555437609229fe720c346e14')], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.13.5', { + 'checksums': ['d1c4d06d704f301628455787ba929add1e774debc343d0952a768abea6cc7815'], + }), + ('logcondens', '2.1.6', { + 'checksums': ['785bbda00b9a25e56440e11356ac219cfbf0fdf8b08c7b0728e53a9febe7a365'], + }), + ('Iso', '0.0-18.1', { + 'checksums': ['2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.0.0', { + 'checksums': ['40674c90a5bd00f5185db9adbd221c6f1114043e69095249f5fa8b3044af3f5e'], + }), + ('influenceR', '0.1.0.1', { + 'checksums': ['63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766'], + }), + ('visNetwork', '2.1.0', { + 'checksums': ['a2b91e7fbbd9d08a9929a5b2c891d9c0bca5977ad772fa37510d96656af1152f'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.9', { + 'checksums': ['64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf'], + }), + ('randomForestSRC', '3.1.0', { + 'checksums': ['a38fbd465eea87c65c7e7406972de84b1073560b40b1e9c806d46bf874a445c0'], + }), + ('sm', '2.2-5.7', { + 'checksums': ['2607a2cafc68d7e99005daf99e36f4a66eaf569ebb6b7500e962642cf58be80f'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-11', { + 'checksums': ['2cc193b82463a865cd8dadb7332409fdebf47e4035d5fe8dbf3414a7ae18d308'], + }), + ('matrixcalc', '1.0-5', { + 'checksums': ['5906e1ef06dbc18efc7a4b370adc180ef8941b5438119703bd981d1c76a06fca'], + }), + ('arm', '1.12-2', { + 'checksums': ['816ba1c31eec00feef472c57e280488d3d233b592f6f0a1a30e4abb903cb4f5d'], + }), + ('mi', '1.0', { + 'checksums': ['34f44353101e8c3cb6bf59c5f4ff5b2391d884dcbb9d23066a11ee756b9987c0'], + }), + ('servr', '0.24', { + 'checksums': ['d94e1d31802ce6bbab7a5838ff94cbca8cd998237d834ff25fedf7514f41a087'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.5.0', { + 'checksums': ['3cdb23db86f3080462f15e29bcf3e941590bc17ea719993b301199b22d6f882f'], + }), + ('network', '1.17.1', { + 'checksums': ['fc3c3a0014f8895a11c33994c9b44c6ef6cc49c7d026cd41ae6bba5ef63005a7'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.6', { + 'checksums': ['3a016550d9f424a0613c3f5b0b680dbd3a1f20a343173d39a96034340ad9202a'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.66', { + 'checksums': ['67168c6b1a32e2d1dab1174fc909a7f167d77d5beeafa00e52cbd3523ef78634'], + }), + ('graphlayouts', '0.8.0', { + 'checksums': ['d724266778e4d97ca7a762253c293ffa3d09e2627cb1c3c7a654c690819defd0'], + }), + ('tweenr', '1.0.2', { + 'checksums': ['1805f575da6705ca4e5ec1c4605222fc826ba806d9ff9af41770294fe08ff69f'], + }), + ('ggforce', '0.3.3', { + 'checksums': ['2a283bb409da6b96929863a926b153bcc59b2c6f00551805db1d1d43e5929f2f'], + }), + ('tidygraph', '1.2.1', { + 'checksums': ['2fbdc2db18c5ad48c72f14d2d04111f4b0d4c434ad87c280eda3bcb98673ad36'], + }), + ('ggraph', '2.0.5', { + 'checksums': ['e36ad49dba92ee8652e18b1fb197be0ceb9f0a2f8faee2194453a62578449654'], + }), + ('qgraph', '1.9.2', { + 'checksums': ['baf190f6db30c4d5a3dc7ab5043b8ec0f79071d515c818c8e7666b9bcf2a4264'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6', # HWxtest_1.1.9.tar.gz + '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451', # HWxtest-1.1.9_add-fcommon.patch + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.3', { + 'checksums': ['01b5ef3c2266d624fba23d84059e4066e5501bb69fb8e8ff77b19a03c5595cd8'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-2', { + 'checksums': ['c70956122528575433c57a5669e26f4f9b1e160b004f135a38658c2c2634df87'], + }), + ('rootSolve', '1.8.2.3', { + 'checksums': ['b5b3d1641642a3fd1279dbd1245f968d2331ac9588d77f872b113f7dc4594ba0'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('FME', '1.3.6.2', { + 'checksums': ['65a200f8171e27f0a3d7ffce3e49b01561f219a11f3cb515ff613a45927ff618'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-11', { + 'checksums': ['b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.42.13', { + 'checksums': ['d90a9893d11190ba249c7fae5bd6517a77907efbce2941452cb2aec57bb5cf7f'], + }), + ('signal', '0.7-7', { + 'checksums': ['67a015c46d67de7548c3adb83a1b22524de75501a861d91668c3c2ea761a4e61'], + }), + ('tuneR', '1.4.0', { + 'checksums': ['561eeae1bfe10ac4a950d2a60afc6db05d28557a8cb932e00ac7b7f57b6ea0e9'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-10', { + 'checksums': ['82c731a88c741a6b4efe5069ce7dc2f765932d769323ac8d3fbb84ac30afc4dd'], + }), + ('fftw', '1.0-7', { + 'checksums': ['f69f63467b84e107f3e0b18d1f034a37140545e6f50e6be3b887df2b4eec3a1e'], + }), + ('seewave', '2.2.0', { + 'checksums': ['943b1864fe50359b253a4511522c00b0a7dbc1ce5b4033516086a0410fa1212e'], + }), + ('gsw', '1.0-6', { + 'checksums': ['147ce73da75777799af9cb712862ef25b52fcae146a64ce0a525460ddfea1deb'], + }), + ('wk', '0.6.0', { + 'checksums': ['af2c2837056a6dcc9f64d5ace29601d6d668c95769f855ca0329648d7326eaf5'], + }), + ('s2', '1.0.7', { + 'checksums': ['2010c1c6ae29938ec9cd153a8b2c06a333ea4d647932369b2fc7d0c68d6d9e3f'], + }), + ('sf', '1.0-7', { + 'checksums': ['d0731fab9438d73a55af7232f0474b36f4b2a4e6d66adaa141632f4a60265453'], + }), + ('oce', '1.7-2', { + 'checksums': ['db26cbd6b6f11a977a29d81fb51eeb9b95287503964109d2c596317a63c1b23d'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-1', { + 'checksums': ['f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3'], + }), + ('pinfsc50', '1.2.0', { + 'checksums': ['ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794'], + }), + ('vcfR', '1.12.0', { + 'checksums': ['dd87ff010365de363864a44ca49887c0fdad0dd18d0d9c66e44e39c2d4581d52'], + }), + ('glmmML', '1.1.2', { + 'checksums': ['8e44901ddeaa75a75c70dead2c3fe3c62d04b6be2ac3138a12d4599c54e53d8e'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.0.2', { + 'checksums': ['957b49027c2111f51893433e902486141a942a5ed384ca605714605de80d1790'], + }), + ('tclust', '1.4-2', { + 'checksums': ['95dcd07dbd16383f07f5cea8561e7f3bf314e4a7483879841103b149fc8c65d9'], + }), + ('ranger', '0.13.1', { + 'checksums': ['60934f0accc21edeefddbb4ddebfdd7cd10a3d3e90b31aa2e6e4b7f50d632d0a'], + }), + ('hexbin', '1.28.2', { + 'checksums': ['6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d'], + }), + ('lobstr', '1.1.1', { + 'checksums': ['b8c9ce00095bd4f304b4883ef71da24572022f0632a18c3e1ba317814e70716e'], + }), + ('pryr', '0.1.5', { + 'checksums': ['7b1653ec51850f4633cee8e2eb7d0b2724fb587b801539488b426cf88f0f770b'], + }), + ('moments', '0.14', { + 'checksums': ['2a3b81e60dafdd092d2bdd3513d7038855ca7d113dc71df1229f7518382a3e39'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.1.1', { + 'checksums': ['7581adca64cf20b93d5a111da83f663215b4529868b065b3463c4238bca97739'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.6.0', { + 'checksums': ['bbac8552f67ff1945180fbcda83f7f1c47908f27ba4e84921a39c45d6e123333'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-0', { + 'checksums': ['cbcca84a82d63fa50556aa8db29312b9bb588a638eb306ce4a81c271529228fd'], + }), + ('WriteXLS', '6.4.0', { + 'checksums': ['644b90a82683c668b6e05bb4f940111a42cd634f63a5b559351e8cd4274a19b7'], + }), + ('bst', '0.3-23', { + 'checksums': ['70957f1db8800bf0d628a9e6f72b7273329786dd119427790b326844591aa0f3'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-9', { + 'checksums': ['983733b618631d9ad754fb12f5e576912aff1f529cafdee4fddfd38d81ccc710'], + }), + ('mpath', '0.4-2.22', { + 'checksums': ['f9709532b2254befea7fd4046179ee60ebcb4ac1fa7b0564fe34643d22f59b44'], + }), + ('timereg', '2.0.2', { + 'checksums': ['b1f62be5d34d4d36c3b14cd3c719f936c9e3a80e2907bdeab240821267db3559'], + }), + ('peperr', '1.4', { + 'checksums': ['0a44f40cfeb298cbe990dba0d9c979070d7a8659581dea09dd3238526fb59f39'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.14', { + 'checksums': ['61ed9b3ffaf0689c3c260a699abb89603bda1457fe31e3cf934107b9aac41e2c'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.15.2', { + 'checksums': ['4ba3885b66694589d455ffef31c218fe653fa25aff3efb7e8db6c25008d2921b'], + }), + ('RInside', '0.2.17', { + 'checksums': ['0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348'], + }), + ('limSolve', '1.5.6', { + 'checksums': ['b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0'], + }), + ('dbplyr', '2.1.1', { + 'checksums': ['aba4cf47b85ab240fd3ec4cd8d512f6e1958201e151577c1a2ebc3d6ebc5bc08'], + }), + ('modelr', '0.1.8', { + 'checksums': ['825ba77d95d60cfb94920bec910872ca2ffe7790a44148b2992be2759cb361c4'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.1', { + 'checksums': ['0e6d8667cacb63135476a766fba3a4f91e5ad86274ea66d2b1e6d773b5ca6426'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.2', { + 'checksums': ['89bb477e0944c80298a52ccf650db8f6377fd7ed3c1bc7034d000f695fdf05a4'], + }), + ('dtplyr', '1.2.1', { + 'checksums': ['2640e9cde4eaa06f02cff29e3f2b99fdd08488df07ea2e6629b2ed6a8285d0f3'], + }), + ('gargle', '1.2.0', { + 'checksums': ['4d46ca2933f19429ca5a2cfe47b4130a75c7cd9931c7758ade55bac0c091d73b'], + }), + ('googledrive', '2.0.0', { + 'checksums': ['605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.0.0', { + 'checksums': ['0a107d76aac99d6db48d97ce55810c1412b2197f457b8476f676169a36c7cc7a'], + }), + ('tidyverse', '1.3.1', { + 'checksums': ['83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632'], + }), + ('R.rsp', '0.44.0', { + 'checksums': ['8969075bdcabd43bad40eef6b82223e119426279fded041163fd41e55cee3a59'], + }), + ('gdistance', '1.3-6', { + 'checksums': ['2ccabeb2f8cf44630c0bd2da79815fe357b812737ebece1bed8f90b27c126a24'], + }), + ('vioplot', '0.3.7', { + 'checksums': ['06475d9a47644245ec91598e9aaef7db1c393802d9fc314420ac5139ae56adb6'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.6-6', { + 'checksums': ['b1b321ad1b4a4a14a2825a2c3eb939ce2f2bcef995247a1d638eca250e59739b'], + }), + ('tmvtnorm', '1.5', { + 'checksums': ['1c7a606bdce4319a6fdb4180fef499c293df3412d8583e296869521ece5460fe'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap', '1.2.3-1', { + 'checksums': ['343ae58ca91e75147ae3961285c3413bdf6dedf7cb4743a822a6c5b16d1b89e7'], + }), + ('qrnn', '2.0.5', { + 'checksums': ['3bd83ee8bd83941f9defdab1b5573d0ceca02bf06759a67665e5b9358ff92f52'], + }), + ('TMB', '1.8.1', { + 'checksums': ['b4717fdf8c3aa7291b25616d19f86af14c4472b448c2f8398e75daf242dffbc3'], + }), + ('glmmTMB', '1.1.3', { + 'checksums': ['b9d1e97587b213e52ff304f62480ddee77c658f29a7e99334a4032d0df60b275'], + }), + ('gmp', '0.6-5', { + 'checksums': ['8ae76f3d17542eab3e7468341dabeebe28b11da8c1b4b3f7bbdb00d379689e52'], + }), + ('ROI', '1.0-0', { + 'checksums': ['b0d87fb4ed2137d982734f3c5cdc0305aabe6e80f95de29655d02a9e82a0a341'], + }), + ('Rglpk', '0.6-4', { + 'checksums': ['a28dbc3130b9618d6ed2ef718d2c55df8ed8c44a47161097c53fe15fa3bfbfa6'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '3.11.14', { + 'checksums': ['b9aa8f0f06b8bcc3c9c88d6279723a015981fda62ea7ee9a0defbe387c3ee982'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.5', { + 'checksums': ['0fcd41099ababedff010d8fe05f8efa630cceb829dbb87af8b8d650ad49d88bf'], + }), + ('mvnfast', '0.2.7', { + 'checksums': ['b67d50936c9a466977669ef6bb7b23df8e7c90a820ac916328c20e41ef8e0b72'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.7', { + 'checksums': ['af49389bdeb794da3c39e1d63f59e6219438ecb8613c5ef523b00c6fed5a600c'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.2', { + 'checksums': ['9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.1', { + 'checksums': ['d4dcb650757bfbf8ae388622686be20e8d55cca68096146a30aee8ced96aa113'], + }), + ('Rssa', '1.0.4', { + 'checksums': ['4115b516f6782d52f02695bbbd52921a474aafc7232d49aca85010f1c33b08a7'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-0', { + 'checksums': ['7443d6cd154760d55b6954142908eae30385672c4f3f838dd49876ec2f297823'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-22', { + 'checksums': ['3c0fb6b3b130cfe91277b61fcb795a693f5cfaf06d104899a1097c2cd7b17cf1'], + }), + ('Matching', '4.10-2', { + 'checksums': ['1e75dc61553c1687b2b520dc52688409c2e84285e4b6c16c94d8d85fd5ccece0'], + }), + ('MatchIt', '4.3.4', { + 'checksums': ['a645a80ed2daf8b90f55bfb055d97941fa5c47fe7212595ea6d89430ffd94d14'], + }), + ('RItools', '0.1-18', { + 'checksums': ['714685d8e04acafe5d5ddf93edac69afec0c62045a7b93478734771b6a0fa928'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.1-1', { + 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], + }), + ('rlemon', '0.2.0', { + 'checksums': ['e06792875f05a0c6cd637b7bf16bd51c3891e0df6bad78ffba0ee195abe8d3a0'], + }), + ('optmatch', '0.10.0', { + 'checksums': ['5f65b6902fefb2efd726cdead9f9f4e842c6b274f0b64a7587f6b6906eefa9f3'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.4', { + 'checksums': ['2b349896560ad18c3428e245fc25b17e9c2946676044fa56025ddf9c87ff08bf'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.8.0', { + 'checksums': ['bb7df05d6b946bcdbbec2e3397c7c7e349b537cabfcbb13a34bcf6312a71ceb7'], + }), + ('distrEx', '2.8.0', { + 'checksums': ['b064cde7d63ce93ec9969c8c4463c1e327758b6f8ea7765217d77f9ba9d590bf'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('KODAMA', '1.9', { + 'checksums': ['e4f8bbfeae9d2f628f7338c708a538aae481a633e59e86727f9b6f9c72920ecf'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-2', { + 'checksums': ['e721596fc6175d3270a60d5e0b5b98be103a8fd0dd93ef16680af21fe0b54179'], + }), + ('dtw', '1.22-3', { + 'checksums': ['df7cf9adf613422ddb22a160597eb5f5475ab6c67c0d790092edb7f72ba98f00'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.3', { + 'checksums': ['f5eafab17f2d4a8a2a83821ad3e96ae7c26b62bbce9de414484c657383c7b42e'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-8', { + 'checksums': ['f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('RcppTOML', '0.1.7', { + 'checksums': ['2f09f00cbee6c6eeff5d5f0195c10de0155496de15fbe8189c18627ee3090541'], + }), + ('reticulate', '1.24', { + 'checksums': ['b918c5204916601f757ad0fc629b2ae1eabab7cdf7f6aa2e219d26e506d916cc'], + }), + ('hdf5r', '1.3.5', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['87b75173ab226a9fbaa5b28289349f3c56b638629560a172994b8f9323c1622f'], + }), + ('DTRreg', '1.7', { + 'checksums': ['f0fad2244d960cec8fc33d9a1078df359ceb0aadff980ce6149aa9f01c62223b'], + }), + ('pulsar', '0.3.7', { + 'checksums': ['78c9f7e3b2bf8a8d16a81d6ee43bb05b0c360219be473d920c8c8ccb2aba4e3d'], + }), + ('bayesm', '3.1-4', { + 'checksums': ['061b216c62bc72eab8d646ad4075f2f78823f9913344a781fa53ea7cf4a48f94'], + }), + ('gsl', '2.1-7.1', { + 'checksums': ['ee98d1382d37ffa77538a90ccdbf44affbf1710a9e66b8ada73fa72e67921985'], + }), + ('energy', '1.7-10', { + 'checksums': ['543de4875c46cc90e711e71c45b082d962fbb5158a094f9f10d37d3f57e1bea7'], + }), + ('compositions', '2.0-4', { + 'checksums': ['7b9c7a3bf654fb02d9eb1b4a7566469b2f5232f3b2c1b324c02239fd31060faf'], + }), + ('clustree', '0.4.4', { + 'checksums': ['7a6100f88c9a6e8d10b253ee227ecf1dc4e84e418eb8da64cd801d2a158b956f'], + }), + ('plotly', '4.10.0', { + 'checksums': ['bd995c654dbc8c09a84adaba8def99766919e3894caf18b551bb26b2f591389a'], + }), + ('tweedie', '2.3.3', { + 'checksums': ['a032cad512dac37a8619e6f66cb513eb82a88a5a2ffbe91e92c2d44d1756d0d9'], + }), + ('RcppGSL', '0.3.11', { + 'checksums': ['f094ea26c99b04d9e203986a1f2003f02472ceca0e2ef1c3beefd3ae80aeada8'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('gllvm', '1.3.1', { + 'checksums': ['cd3f72b84f0c722e9c0b21c2b2de7683ec742345d7f8e62f67c8c93342c1a5c6'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.7', { + 'checksums': ['9ebc8e45ad73eb51e0b25049598a5bc758370cf89508e2328cf4bd93d68d55bb'], + }), + ('ergm', '4.1.2', { + 'checksums': ['1abc6ef53376a4132530c376ce477ae7a2590e95fe8feb011c0da9cfb4d49ba0'], + }), + ('networkDynamic', '0.11.1', { + 'checksums': ['7bbbc4fa3fedf188ca28e1e442be039866cf05ce51efb33fda5023b19dc2737f'], + }), + ('tergm', '4.0.2', { + 'checksums': ['5ab1d61166c90f90c77edd12544b5946e01a933cc3e7ca609cae72075b742a64'], + }), + ('ergm.count', '4.0.2', { + 'checksums': ['316ed3cbe4b472eec79e8a5fd4183ce953070f6d98056d87423bd6d9ac155bd1'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-7', { + 'checksums': ['b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260'], + }), + ('MCMCpack', '1.6-3', { + 'checksums': ['cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.1', { + 'checksums': ['14f67ce96dd8f1cb457614271b0b4376dd6fd3073a2e727a17c0964be67272cb'], + }), + ('asnipe', '1.1.16', { + 'checksums': ['be50f9fdef0f4bf9676b9c3c2906d0431afc678af55cf48b1119f9fc0adac44f'], + }), + ('liquidSVM', '1.2.4', { + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba', # liquidSVM_1.2.4.tar.gz + # liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8', + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.36.0.4', { + 'checksums': ['d33078a4db7a56d890d04a4677f28aeea84939c8fd8df1a8073ffed44af42014'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.1', { + 'checksums': ['f2c31cb94d7485174a2519771127a102e35b9fe7f665e27beda3e76a56feeef2'], + }), + ('bartMachine', '1.2.6', { + 'checksums': ['5e1ac0033da5b41a96d95782886a167e51ff8e43822800e8d40874ff9c13847f'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.10', { + 'checksums': ['59266ffdf702ab1ecca7cbcf0538afe38d1a15abea66056734b62c0c15609c7c'], + }), + ('GUTS', '1.2.3', { + 'checksums': ['40061ec1677def40b410b5ef90d01e0bcb0095abed1545513a33a01d4444adc2'], + }), + ('GenSA', '1.1.7', { + 'checksums': ['9d99d3d0a4b7770c3c3a6de44206811272d78ab94481713a8c369f7d6ae7b80f'], + }), + ('parsedate', '1.3.0', { + 'checksums': ['1e9399d6b16079e6cdc43fa33742d6b7e6e2b6bb2ba470bfe9d30d55b7be4cb0'], + }), + ('circular', '0.4-94.1', { + 'checksums': ['82c653230e186e1e2612fa6181253a6484801119cafc2db957e9fa4f3d730a37'], + }), + ('cobs', '1.3-4', { + 'checksums': ['a1c7b77e4ca097349884fd1c0d863d74f9092766131094d603f34d33ab2e3c42'], + }), + ('resample', '0.4', { + 'checksums': ['f0d5f735e1b812612720845d79167a19f713a438fd10a6a3206e667045fd93e5'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-7', { + 'checksums': ['d28107a4bbbb0ace1d571f0aa6884ee4c50d7731c04bceba207fd55a39b83b9c'], + }), + ('Rserve', '1.8-10', { + 'checksums': ['af63a28a4958dbe82597586494d0277272842bb3869db70c547d0896f1345d2c'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '7.0.0', { + 'checksums': ['6ff520d27d68637058c33a34c547a656bb44d5e351b7cc7afed6cd4216275c78'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '1.5.0.2', { + 'checksums': ['4772c352e8d3d9b5a0b7480c0e0962de4f5060fb7bf3fcb8ee4fa1cb10f93fd4'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.0', { + 'checksums': ['82afc9b8c6d617f5f728341960ae32922194f637c550916b3bea12c231414fa7'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-60', { + 'checksums': ['6d21ddfd0d621ed3bac861890c600884b6ed5ff7d2a36c9778b892636dbbef2a'], + }), + ('bdsmatrix', '1.3-4', { + 'checksums': ['251e21f433a016ec85e478811ea3ad34c572eb26137447f48d1bbf3cc8bb06ea'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.21', { + 'checksums': ['0771f82034aa6a77af67f3572c900987b7e6b578d04d707c6e06689d021a2ff8'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.0.2-2.1', { + 'checksums': [('6918b62f51252b57f2c05b99debef6136b370f594dc3ae6466268e4c35578ef8', + 'eea3a51a2e132a023146bfbc0c384f5373eb3ea2b61743d7658be86a5b04949e')], + }), + ('sampling', '2.9', { + 'checksums': ['7f5ba5978f6cdbbbdb6f51958197b28b6fc63e7eeee59e6845ea09fb37d1b187'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.24', { + 'checksums': ['01edc00479fabf7491e47ff59bc4adbe6f0d4c23d22e76d1d49c4c1b6b4693ad'], + }), + ('emdbook', '1.3.12', { + 'checksums': ['0646caf9e15aaa61ff917a4b5fdf82c06ac17ef221a61dec3fbb554e7bff4353'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.2', { + 'checksums': ['c116f979ed891ec55f3e1e7b9a92436b5ec9430c1170439a501ecb7e2a33ef4d'], + }), + ('tictoc', '1.0.1', { + 'checksums': ['a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705'], + }), + ('ISOcodes', '2022.01.10', { + 'checksums': ['b25ddec624b46f5630c29267bdf4a749cfb9d001ef029fb9ca84dafe56b1c73f'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '0.1.5', { + 'checksums': ['992f6673653daf7010fe176993a01cd4127d9a88be428da8da7a28241826d6f3'], + }), + ('SnowballC', '0.7.0', { + 'checksums': ['b10fee9d322f567a22c580b49b5d4ba1c86eae40a71794ca92552c726b3895f3'], + }), + ('tokenizers', '0.2.1', { + 'checksums': ['28617cdc5ddef5276abfe14a2642999833322b6c34697de1d4e9d6dc7670dd00'], + }), + ('hunspell', '3.0.1', { + 'checksums': ['1fedbb913bc13c790d2fabfe4edda0a987db3a078bea8c0ca9b777d20af08662'], + }), + ('topicmodels', '0.2-12', { + 'checksums': ['afd83a4381bf39e470446ebefd41ed03f314be400c1b2f702a4b1060eb8fd1b4'], + }), + ('tidytext', '0.3.2', { + 'checksums': ['6fe0ada78ee2cdf77c16e519a29b9baff61d8e23ab56aa0a9adc1b2a99a6472b'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.2-0', { + 'checksums': ['a102a2d877e42cd4e4e346e5510a77b2f3e57b43ae3c6d5c272fdceb506b00a7'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.2', { + 'checksums': ['8bbfdf82c8c2b5c73eb079127e198b6cb65c437bb36729f502c7bcd6037fdb16'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.5.1', { + 'checksums': ['866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1'], + }), + ('RcppParallel', '5.1.5', { + 'checksums': ['6396322b3b6d6f7019aac808ceb74707bc5c4ed01677fab408372c2a5508c2ea'], + }), + ('StanHeaders', '2.21.0-7', { + 'checksums': ['27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b'], + }), + ('V8', '4.1.0', { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['09d9d1166c8e3cc407c8153ad115fb24a60739dcb970c6584a6a4d483bfbd497'], + }), + ('rstan', '2.21.5', { + 'checksums': ['86e4fe562d8ddcd0b02336f35a420fa8786dd21de7ca2bebb4ed6e9c252bb9ea'], + }), + ('Rborist', '0.2-3', { + 'checksums': ['f3b3f953ca99e0d17425ac6ba9a7b1e9d6098343abace575cdb492bca2a9c461'], + }), + ('VSURF', '1.1.0', { + 'checksums': ['eee99e0c441795c2ccb21cc6e0a37b24f580241e494c83e811b726b43469eeab'], + }), + ('mRMRe', '2.1.2', { + 'checksums': ['a59a3cb3cca89f51d9ee6702cd479fd7db8bc2e25b72f45cb6712da983777ca0'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '2.9', { + 'checksums': ['4af14e6f3657134c115d5ac5e65a2ed74596f9a8437c03255447cd959fe9e33c'], + }), + ('ggsignif', '0.6.3', { + 'checksums': ['ca8545b25590e531512a90a18449a2cbab945f7434a1d60188c41f7d1839a7a9'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.0', { + 'checksums': ['a5ae17dc32cc26fc5dcab9ff0a9747ce3786c9fe091699247ad8b9f823f2600c'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.4.0', { + 'checksums': ['abb21ec0b1ae3fa1c58eedca2d59b9b009621b30e3660f1247b3880c5fa50675'], + }), + ('yaImpute', '1.0-32', { + 'checksums': ['08eee5d851b80aad9c7c80f9531aadd50d60e4b16b3a80657a50212269cd73ff'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('patchwork', '1.1.1', { + 'checksums': ['cf0d7d9f92945729b499d6e343441c55007d5b371206d5389b9e5154dc7cf481'], + }), + ('leiden', '0.3.9', { + 'checksums': ['81754276e026a9a8436476365bbadf0f15a403a525a349cb56418da5d8edea0d'], + }), + ('sctransform', '0.3.3', { + 'checksums': ['83af125c40f211e1ddae5098f88766aea1453c02ae98486081f3efadb3620b2b'], + }), + ('packrat', '0.7.0', { + 'checksums': ['e8bce1fd78f28f3a7bf56e65a2ae2c6802e69bf55466c24e1d1a4b8a5f83dcc2'], + }), + ('colourpicker', '1.1.1', { + 'checksums': ['a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0'], + }), + ('ggExtra', '0.10.0', { + 'checksums': ['dc6855bbb7e81ffa58d6b65b594d22718fa36b7f50b2284386f70fa8ccc6a3e5'], + }), + ('findpython', '1.0.7', { + 'checksums': ['59f904b9c2ec84b589380de59d13afbf14d1ec3b670e3a07e820298aaf04c149'], + }), + ('argparse', '2.1.5', { + 'checksums': ['83e112beb47733849980b286d93ac930f0cbe6ac78fcb94fc9f6b0eea882658d'], + }), + ('intergraph', '2.0-2', { + 'checksums': ['6cbe77f1e87fa1c110db2d46010f2f3ae72bfdb708ce2ca84c1cdc2cd6eb47a1'], + }), + ('ggnetwork', '0.5.10', { + 'checksums': ['1b655dbab8eed8d0aa3ab2148aac8e0e5bfa190468f5e3c06b001ce88b7f0d3f'], + }), + ('qqman', '0.1.8', { + 'checksums': ['58da8317df8d726d1fde4805919da5d64f880894a423ee20937cafb479b9d8a8'], + }), + ('rstantools', '2.2.0', { + 'checksums': ['cb810baeb90c67668361b666c6862df9917aff6aaec63d2c3a485f28407c4eb7'], + }), + ('distributional', '0.3.0', { + 'checksums': ['fab36c7346617d8f2ca4b3cd0e3c9da93cb2f95fb7f102a3ae88670e694751d6'], + }), + ('posterior', '1.2.1', { + 'checksums': ['b757e06885a1f21e7ad8f5a3feaecbe0a71ae8d766e4aec4c3aa2183a810afe1'], + }), + ('bayesplot', '1.9.0', { + 'checksums': ['0a81a4b99cf781334e57cfc3c469fad8b932a68204016a3bbca33cab4e2a1e43'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('rsconnect', '0.8.25', { + 'checksums': ['3c055277f745f2ca37a73e2f425249307cea4dc95ecc59fbe05ee8b6cf26d9cf'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2021-10.12', { + 'checksums': ['39384c856b5efa3992cd230548b60eff936d428111ad6ad5b8fb98a3bcbb7943'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('projpred', '2.1.1', { + 'checksums': ['86f418ae4271aeb314938a0bb23e8e35096e51a7b3224c6817627acdf6d4179c'], + }), + ('brms', '2.17.0', { + 'checksums': ['24e5a3a40b81bea558e8f660d0de7fd1a4c2080c7553baac98f34dd2682ece71'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.6.5', { + 'checksums': ['5be825734d76760723e2d5b8fbe03524a2b59d9163b33841d4a2c9ab2d4257cf'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.1.1', { + 'checksums': ['48474f396c4a91e257490025ede6a998883683e8020a898fff5d4e23a3764bfd'], + }), + ('maxlike', '0.1-8', { + 'checksums': ['90aaab9602f259cbfae61fe96e105cc4a0c2a385b42380f85c14f5d544107251'], + }), + ('coxme', '2.2-16', { + 'checksums': ['a0ce4b5649c4c1abbfe2c2bf23089744d1f66eb8368dea16e74e090f366a5111'], + }), + ('AICcmodavg', '2.3-1', { + 'checksums': ['d0517da15a38e9b1df20fa73f5342b586624e65792d266e7dff278ad7fc458b0'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.3.2', { + 'checksums': ['ebfa756e08f6ac0aa61556b1a5bbe611f407bfff8aef1f8d075a24c361678bfd'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.7.2', { + 'checksums': ['460f9e80bb3d90618bb80a8b57ac6fed99a22e8919279df47b6d0710b6a89d5f'], + }), + ('rgdal', '1.5-31', { + 'checksums': ['f3a400d531839a1e8581d81129dd208671e207a159afd7bcc009e98da707f0ec'], + }), + ('rgeos', '0.5-9', { + 'checksums': ['ab90cbfe6a3680a9d2eed5e655064a075adc66788e304468969ab7cc2df0e3d4'], + }), + ('mapproj', '1.2.8', { + 'checksums': ['865f108f1ee54cda38571b86cd46063a903824d9b4eabfdf75218023d08a7781'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.5', { + 'checksums': ['e5cfb2e4dd8ddd1452a5afcf24fcc260889179d0f52eff4f41835adf99b64614'], + }), + ('spocc', '1.2.0', { + 'checksums': ['4bac45db5e69bfa3bf6cebd1b0c9241214c95561f275cee6d31e00911aa79d84'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('rangeModelMetadata', '0.1.4', { + 'checksums': ['529d529ca90437db3d1e45118443e27a920422806383c7edaa2102beb43f5f80'], + }), + ('ENMeval', '2.0.3', { + 'checksums': ['4b39173a8d9dc4f36d09509e0177abcf91b7b1b51dc219eebcb007a0fb8c3c41'], + }), + ('plotmo', '3.6.1', { + 'checksums': ['245a0c87f0cca08746c6fdc60da2e3856cd69b1a2b7b5641293c620d4ae04343'], + }), + ('earth', '5.3.1', { + 'checksums': ['0bbe06ba974ceb8ec5de1d59cb53f9487d1828d7130fe2503c48b6cb449c4b03'], + }), + ('mda', '0.5-2', { + 'checksums': ['344f2053215ddf535d1554b4539e9b09067dac878887cc3eb995cef421fc00c3'], + }), + ('biomod2', '3.5.1', { + 'checksums': ['30ed33ff980558a59782ec9e35f9c2c710a540718010654363f63878cdc0ac18'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.1', { + 'checksums': ['d7157b92241c34b71ad19901b52144973b49df453bf2a5edf4497d4bf26bd099'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('fasterize', '1.0.3', { + 'checksums': ['62b459625e9bdb00251ec5f6cb873e0c59713f3e86dc1e2c8332adc0cea17f81'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-3', { + 'checksums': ['56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-1', { + 'checksums': ['e8abadc5614f132edc3fb9cb1c82ce4dacc1315b727fbd49db7399aee24115ba'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.16', { + 'checksums': ['fab573abdc0dd44e8c8bc7242a1428df20b3ec64c4c194e5f1f907393f902d01'], + }), + ('dbarts', '0.9-22', { + 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.1.6', { + 'checksums': ['2aa85997d5ec2222e610604022684c004a4925241761d9a0104919f1cf3a8c79'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-8', { + 'checksums': ['28b10c91d693b938ebca610933889095ca160b22e6ca750c46103dfd2b009447'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '1.7.0', { + 'checksums': ['f6a8ec724df68983c9b176a1b3b3b01239cc4e99aac4bfb42ce1c2b3d40922c2'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.7.0', { + 'checksums': ['09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('elementR', '1.3.7', { + 'checksums': ['4275f88f372a2efe96ccd0afc20f4f12be92f28c7db35c68b80bb0ffb2c2ab07'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.8.8', { + 'checksums': ['c81441af7588c62ab019ef2fbf31f61e0c2e3440a5e131938b1c5946cd2bce1a'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-3', { + 'checksums': ['ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.1', { + 'checksums': ['d67f5c71b1209bea655d1e8d7530fa72359e0bcac25312551524501d0287e3cf'], + }), + ('lmom', '2.8', { + 'checksums': ['cae2a925c39429d8e9f91bdb2682ea0d1343e9b2e5c9e8752c5929eb5f20d2d2'], + }), + ('gld', '2.6.4', { + 'checksums': ['0db6daee1b6e256d64d292c1f6795c505677331dcf2f97e04e264566ded93323'], + }), + ('DescTools', '0.99.44', { + 'checksums': ['129d025c0cadcbcb94f65fe14f545131c0113c1abe18724cc00f2a6dae1e9713'], + }), + ('orthopolynom', '1.0-5', { + 'checksums': ['6da4f437aae5c8fafdf791ce3c6a66f68198df4054af3aab8406402a4dc770bf'], + }), + ('gaussquad', '1.0-2', { + 'checksums': ['ba3a1ab6ffe92f592c9f2bb1d4070f1fb1019325226dcb4863cf725eb59e9b2d'], + }), + ('nlsem', '0.8', { + 'checksums': ['495a5d07aa5f59efdcd43acf429ae842453abd6c0720a80e2102d663fa997c60'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.0.7', { + 'checksums': ['a8f66172973dc75d1d751d7015e0f028c441263f6649909bd25fa944be0042c3'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-5', { + 'checksums': ['027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5'], + }), + ('blavaan', '0.4-1', { + 'checksums': ['afb077d72f84ef0b6f45ef2ccb8335358042943c32a3472a9ca239ebca1c4aa4'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '3.4-0', { + 'checksums': ['92e1bc21c4d135b6e651fbefc4b40666fc02c66a6a4f6f28effee0e73a21c26e'], + }), + ('fmri', '1.9.6', { + 'checksums': ['7614290d880667512744d3450480a670cc38abdb270f3f776ac9a17a793f07f2'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.4', { + 'checksums': ['266702330250e9fbeb8616d86edf1d50d63084a0731d17e84a04dc6faacf653a'], + }), + ('DEoptim', '2.2-6', { + 'checksums': ['8c63397d83a067212d003ef3e639fd81f5f00bf61e3c271b4e4999031a69e2e1'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2022.4-1', { + 'checksums': ['61c06e6bd6b43c295472c6990266fe87ca41e57db04d3460e756a35ef24e0824'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2013-2.21', { + 'checksums': ['a824a09c32d7565a3e30607c71333506d5b7197478fbe8b43f8a77dad6c12f0a'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.12-26', { + 'checksums': ['7fde441038cbecccc51d39d7410edf9a1848e218e9b69f755a2bf02070c43cc9'], + }), + ('visdat', '0.5.3', { + 'checksums': ['527c76b6643b8475a58516763ef40238cdc61ec62d2dcf690f7c316b93b878c6'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-10.0', { + 'checksums': ['4384791af74c1008238f036abe0dda4b4048b9700cc4acd7b45025598fd20cc7'], + }), + ('naniar', '0.6.1', { + 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], + }), + ('stringdist', '0.9.8', { + 'checksums': ['efccd6ccc5c74c578be95b7dae1099c52b0d7805452ab14ee91ca34adb8261bb'], + }), + ('image.binarization', '0.1.2', { + 'checksums': ['0621ca94a74264bb73f689b1a00484b5a3bbef93fc203d9c001d791a18fcc13f'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.10', { + 'checksums': ['adc2b2a621625b52165245ab2f3a0bfba4f4db64fcc6ad48a3e5b219c3bd2fa1'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.8.0', { + 'checksums': ['28ff1c2dbddcafc6ed6c30154f46074aa0c8974757466680529b71a5f3e463ec'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('alabama', '2022.4-1', { + 'checksums': ['a8c62859b39a8340ecf7bbf411fac303c059e4237d28ff7bba9ba3daaca1d36c'], + }), + ('admisc', '0.26', { + 'checksums': ['4120a3a985cd44238e7e3575dcf1d284f4af48a3bcb658c97108ef87aee7f3a7'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-7', { + 'checksums': ['0abe3c894c0d8e928a920e73708a397133386a0d73a1e7952c4075afe67879e6'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('cSEM', '0.4.0', { + 'checksums': ['7753ac7db9d2c0392e51dd31ec8638e1a7fcbb2546dd9103f5ecc03dd51836c1'], + }), + ('cubelyr', '1.0.1', { + 'checksums': ['740a34100592b2c6b7bc89a31bddccf4c8fd95720caf68f530104f17aada77bc'], + }), + ('furrr', '0.2.3', { + 'checksums': ['0a213422dc0a2e84173f2d3e6c7900dcb677f980c255d6b6ccf666fba1173700'], + }), + ('broom.mixed', '0.2.9.4', { + 'checksums': ['7631cd29316a32050b9e72057754e053d7f9064a75900bb7e69b29ebca6c60b2'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.1.0', { + 'checksums': ['02a4fe9c8147768f1345be2f8ca73fca079af5f07ccaa4900f9ec255ca66bb19'], + }), + ('xgboost', '1.6.0.1', { + 'checksums': ['9ae99a20997e1b02ffd21cabada2a55e53f5754746238ee900de5eb6cd964ebd'], + }), + ('twang', '2.5', { + 'checksums': ['fc355527c57e4f6e0f60d26d7c690c4475fcd5fb165d125fea7cc6b9fafc4ce5'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.2', { + 'checksums': ['fe0c67cda541639a1a2147f68cae29d17cd05ff8edb6f7bea8d44be346a5f1b6'], + }), + ('origami', '1.0.5', { + 'checksums': ['8d0d08aaecc428cbbf5db4615ad3623777c10c6d7947a1cc3ccc7f8db8cb5263'], + }), + ('hal9001', '0.4.3', { + 'checksums': ['f2489e7a0a16db6dc65da8ce13bfb7f0854e6f303c9ec05f6158d46c66b6588c'], + }), + ('cobalt', '4.3.2', { + 'checksums': ['b9bfd0746e41de6a61fd8f3fa51eb344190a226445e51ef032931b026d5d314c'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-8', { + 'checksums': ['f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34'], + }), + ('finalfit', '1.0.4', { + 'checksums': ['446940d300c8b725e798bf2a2829a41165d25a939d2c59425768234438a2deb1'], + }), + ('broom.helpers', '1.7.0', { + 'checksums': ['2b7087ca73af04a130e78dfbf4941590e3557bcce4ec7e0106b012df061581f5'], + }), + ('gt', '0.5.0', { + 'checksums': ['d59766ff2e23b6a31d605a9339d6560b1f3b7d41a1d2e01a95a5aa38268ffab5'], + }), + ('gtsummary', '1.6.0', { + 'checksums': ['dffd452c42f1b4b78a55af87bafab35d353f99a748ce84597516484dc2038753'], + }), + ('ncdf4', '1.19', { + 'checksums': ['cb8d139211fc7475c435ce9f6a43e47710603409dc523b053c8b7de9848dfb63'], + }), + ('geex', '1.0.12', { + 'checksums': ['037aece09bc0c4349897cd1d8f5dcf1e680598cdfdf72148b6d1506e02690e7f'], + }), + ('momentfit', '0.2', { + 'checksums': ['a10d43ac23bb61b9c67efa4800e3e2b6a444c1afaca8bad351648accd7e003f6'], + }), + ('StatMatch', '1.4.1', { + 'checksums': ['0c5479c444cb831d21b6305fc4cdcdf2653723ff08a31427dc2b236ca4f25bc5'], + }), + ('stars', '0.5-5', { + 'checksums': ['f359577c9e08066cb9ea6aab9b8eae574efea95ba6efcc250663f2c350fe8b41'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.1', { + 'checksums': ['929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce'], + }), + ('geometries', '0.2.0', { + 'checksums': ['8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314'], + }), + ('sfheaders', '0.4.0', { + 'checksums': ['86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045'], + }), + ('geojsonsf', '2.0.2', { + 'checksums': ['6d13fd75028705837c920ccddc24862a24fa2a2a7c69e59fc7a14b7fbf9248ba'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.1.1', { + 'checksums': ['32f6a043759a0d2d98ea05739b7b4c55a266aa01272e48243e3c44046c7a5677'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.0', { + 'checksums': ['97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-3', { + 'checksums': ['60e58eef0f8c723db855d59117ca9f9b5e3663ba34b5ca783dc889bf20285e04'], + }), + ('collapse', '1.7.6', { + 'checksums': ['bccf3e984b669299440f9e0f2a7c8cd297aee141041b6834e532543b7c6ddd43'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.4.3', { + 'checksums': ['42727aa7345ab544242182222eb97476f5dc04bc837f94f6fd3ea6ccac93ea17'], + }), + ('Rmpfr', '0.8-7', { + 'checksums': ['93c2db785ff705dcfc6fa7f0373c2426cdc2ef72ceb5b294edeb2952775f57d2'], + }), + ('scam', '1.2-12', { + 'checksums': ['0ce5f844221370884719424eb5b2b22c34a8a8ad64eac3de981e5539b6e88f4a'], + }), + ('copula', '1.0-1', { + 'checksums': ['d09b2ccffc7379e48b00952aa6b282baf502feebaf55cc44e93f881d7b909742'], + }), + ('evd', '2.3-6', { + 'checksums': ['8edb8bc4f06d246c4343fd923bb5d5df99724d6db8821bfd996220343a834cb6'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6', { + 'checksums': ['f8abe1900a83892a9ee96bc62cdb1a42fabf8ba66eed60e44f59bd203b5f6779'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('rngWELL', '0.10-7', { + 'checksums': ['0c00c54e69d7d552cfa08d766e4854c01c6c1c8e2c558f387760b91a55ef2d38'], + }), + ('randtoolbox', '1.31.1', { + 'checksums': ['30992e8156782542e9a2bffb75eb2e35f6d302a8c22cb7c3ed9004f0f0973bad'], + }), + ('kde1d', '1.0.4', { + 'checksums': ['124eb2e427e08fd24ca37e0baa697736601785d6c6fb1c97c2ebcc5146bb4556'], + }), + ('RcppThread', '2.1.3', { + 'checksums': ['127e3d333dd412334d89d633e92f40135f65d68c91b7945fa63ce0e35abcf946'], + }), + ('wdm', '0.2.3', { + 'checksums': ['5f0184f6f0f9e9b8c47fb571e4d34dff309644a50afe5f18e42b9c37f52c593b'], + }), + ('rvinecopulib', '0.6.1.1.3', { + 'checksums': ['212189441b4cd2383e485c2aa410837456ba70357834f443c9275e4775b8bf22'], + }), + ('PearsonDS', '1.2.2', { + 'checksums': ['443a0619b824332ba5e50733a2aaf2913230925a64960a9f589ae368bcba3dc8'], + }), + ('covsim', '0.2.1', { + 'checksums': ['57ca810c6950ab295078b745eb87fdd7f195e15082777eed9f1059b6302f13bf'], + }), + ('semTools', '0.5-5', { + 'checksums': ['ddf883753c5964eae8313d7e8a4703be52e649f10d3bc1d12ede6d1707b1fab6'], + }), + ('GPArotation', '2022.4-1', { + 'checksums': ['231e7edcdcc091fbecfb4f2e88d1a4344967cf7ea58074b385a4b8b48d9da224'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.36.1', { + 'checksums': ['5215a0f4eb5949a3985a84a7d4776d4dd7471973a980c1d158ce82b3bde185bb'], + }), + ('rpf', '1.0.11', { + 'checksums': ['e1fd670ae7c3e947db08ce50d6b16ce1b3b8f63a9016b03baba760aee78921fb'], + }), + ('OpenMx', '2.20.6', { + 'checksums': ['65c50ce09f9c006b41b7311ec05eba3ae77926d84fb44e3905905208404826ed'], + }), + ('matlab', '1.0.2', { + 'checksums': ['a23dec736c51ae1864c1a53caac556a2f98e8020138a3b121badb0f5b7984154'], + }), + ('FactorCopula', '0.8', { + 'checksums': ['d95b0ccd1b0eebcf27a90286e9392f662b878a669c693fbbb4145798045134ff'], + }), + ('rpact', '3.2.3', { + 'checksums': ['3a6a6840e23209ec2e7634d4b85e232b44b21b520f0f5f369c7bfc0d2deed77e'], + }), + ('ldbounds', '2.0.0', { + 'checksums': ['d4279d5f9952643f9051cf37eeb8441fff7ac050a49ef6363a9f5cbc8287a26a'], + }), + ('catlearn', '0.9.1', { + 'checksums': ['c6c492f5cc6a9ec6fdbd3721dd64a4bb2e146152d64eeeab4db3d0575bd2f650'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.4', { + 'checksums': ['372ec4ef0ded9637304a19b50bce908e84a034e54dbd2a52a061bb747b2b08a0'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.2', { + 'checksums': ['75a3a64014d2a99f08d12594d14fdade136f278abcf6252119cc20558ed14c9f'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.0', { + 'checksums': ['e0598c220ae90d1334e47c9958ccccf7defbe6ac530159bc69424923894f724a'], + }), + ('apcluster', '1.4.9', { + 'checksums': ['3aac75e3e640eb89c1337d6f2e72a85d226b9c9483e43e0c76f9d424e758cb72'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.9-1', { + 'checksums': ['4ec840cc9abf75dde3ce5d679e79030d858b18f0c57ad9d68a685b0ee970430c'], + }), + ('pdp', '0.7.0', { + 'checksums': ['28d69eb63b92bdf8e974b3222e1e9565000d7f15a3bd90854a8e0446b0fa9a71'], + }), + ('date', '1.2-39', { + 'checksums': ['b5b1935638b73373809c009f94b77f993cd301744488d9bdf71ef79c82099757'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.2.9', { + 'checksums': ['5faccc064e715c44234def40f4f560e90f2dbd34c915a8687b48103b39814ab5'], + }), + ('Publish', '2020.12.23', { + 'checksums': ['a7a98fc52801bee30b9c8cb423e4e0082ea42d05134f7d3324ac3e95242cfbe2'], + }), + ('riskRegression', '2022.03.22', { + 'checksums': ['4e1a66a45be73ae07bbc537192d3132e1cfc67ad24bc4b281b5cffa44282a047'], + }), + ('pec', '2022.03.06', { + 'checksums': ['d55e1d9b5786537ed127f3c470e8e139a9745969dea9a495afe13743a89883ec'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-7', { + 'checksums': ['82c84bbe0a3eb9b391cbb885b3f3e7114adda5243aa83f974922d2edca918317'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.9', { + 'checksums': ['443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-11', { + 'checksums': ['318e95ea88a15939dac33691886a9ce0c54765b25a3f4ef483d168bfc699098a'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('renv', '0.15.5', { + 'checksums': ['b4f1a9a7daa82f0c3123ebd4eeba06e98d5485215518e5292b25bc56741d582e'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..7b4e813f60f --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.2.1-foss-2022a.eb @@ -0,0 +1,3600 @@ +name = 'R' +version = '4.2.1' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.2.1.tar.gz': '4d52db486d27848e54613d4ee977ad952ec08ce17807e1b525b10cd4436c643f'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Xvfb', '21.1.3'), + ('Autotools', '20220317'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('cairo', '1.17.4'), + ('libreadline', '8.1.2'), + ('ncurses', '6.3'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), + ('SQLite', '3.38.3'), + ('PCRE2', '10.40'), + ('libpng', '1.6.37'), # for plotting in R + ('libjpeg-turbo', '2.1.3'), # for plottting in R + ('LibTIFF', '4.3.0'), + ('Java', '11', '', SYSTEM), + ('Tk', '8.6.12'), # for tcltk + ('cURL', '7.83.0'), # for RCurl + ('libxml2', '2.9.13'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.1'), # for nloptr + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.1.0'), # for seewave + ('ICU', '71.1'), # for rJava & gdsfmt + ('HDF5', '1.12.2'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.0-37'), # for animation + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '16.15.1'), # for V8 (required by rstan) + ('GDAL', '3.5.0'), # for sf + ('MPFR', '4.1.0'), # for Rmpfr + ('HarfBuzz', '4.2.1'), # for textshaping + ('FriBidi', '1.0.12'), # for textshaping + ('libgit2', '1.4.3'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +# 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', +} + +# 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 = [ + # 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', + ('Rmpi', '0.6-9.2', { + 'checksums': ['358ac1af97402e676f209261a231f36a35e60f0301edf8ca53dac11af3c3bd1a'], + }), + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-0', { + 'checksums': ['4516d48c9618e3f395db873e886f5deb3b66b32ebe10d4c26c1420ac848acbbf'], + }), + ('Rcpp', '1.0.8.3', { + 'checksums': ['9da5b84cdaf56e972b41e669d496b1ece2e91bcd435505c68b9f2bd98375f8bf'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.15', { + 'checksums': ['4627be4178abad34fc85a7d264c2eb5e27506f007e46687b0b8a4f8fbdf4f3ba'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.6', { + 'checksums': ['910465a8c8043faca73bcc7c81c9249b9938677ee6649468003b438a6503f5d8'], + }), + ('bit', '4.0.4', { + 'checksums': ['e404841fbe4ebefe4ecd4392effe673a8c9fa05f97952c4ce6e2f6159bd2f168'], + }), + ('filehash', '2.4-3', { + 'checksums': ['f394e2c93233e8ad1c104562ea9349855dc8e303131f559cd59834f9aa3e41bd'], + }), + ('ff', '4.0.7', { + 'checksums': ['0a47333d31c7afc3f95387166e21a3e4c763cbef47d9b5927753aef4ff8d83fa'], + }), + ('bnlearn', '4.7.1', { + 'checksums': ['243930daa7f71c63fe1aa6717e5d55a116a597b83e08745cbcbe9a418d7c1509'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-39', { + 'checksums': ['a349db8f1c86cbd8315c068da49314ce9eb585dbb50d2e5ff09300506bd8806b'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.12', { + 'checksums': ['8b52efbf43cbef25d837bb99a793a590c0958b753052c032b52304724e808c8b'], + }), + ('gtools', '3.9.2.2', { + 'checksums': ['352086375d06cc55becfe8b8d65953645249661a44881cad83c7f79d7280d843'], + }), + ('gdata', '2.18.0.1', { + 'checksums': ['5e2f3d5b9398d52a4c07a4d35f5f936450a44567c7db8d8f68b4cc6946e032d9'], + }), + ('GSA', '1.03.2', { + 'checksums': ['177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8'], + }), + ('xfun', '0.31', { + 'checksums': ['d169f3e682dab0c3f2ca381f2dba9b7014a5e2ca3d6863dbae3d1bca699ef235'], + }), + ('highr', '0.9', { + 'checksums': ['beff11390d936c90fdcc00e7ed0eb72220f3de403a51b56659e3d3e0b6d8ed4d'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-17', { + 'checksums': ['27bf1216ac6220712fe7e86c0a288b7d7118f9088989f67e0a86b3d0f99c3370'], + }), + ('kernlab', '0.9-31', { + 'checksums': ['7359c665c1c5e6780e1ce44b143347c8eec839301c3079d7f19e29159873278a'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('markdown', '1.1', { + 'checksums': ['8d8cd47472a37362e615dbb8865c3780d7b7db694d59050e19312f126e5efc1b'], + }), + ('mlbench', '2.1-3', { + 'checksums': ['b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '5.4.10', { + 'checksums': ['2a1bbbf3c4a17df08d1ba8bc4d3c6d9c7241ed5fd68b8aabe660115597b60672'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-57', { + 'checksums': ['bd8b880105bc1aadb2db699086f74bd92a8611287979a24243187f9d80795a8d'], + }), + ('lattice', '0.20-45', { + 'checksums': ['22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad'], + }), + ('nlme', '3.1-158', { + 'checksums': ['a55bb401c2ba2706763d1f40283780699eb812b0d090b3d1903fae8aa956bf23'], + }), + ('segmented', '1.6-0', { + 'checksums': ['6baf7f0a4f5d37b945312d28fcbca47cc3c171d097c43a28cf7ffc998a4ce569'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3', { + 'checksums': ['1449e7038e048e6ad4d3f7767983c0873c9c7a7637ffa03a4cc7f0e25c31cd72'], + }), + ('pspline', '1.0-19', { + 'checksums': ['ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40'], + }), + ('timeDate', '3043.102', { + 'checksums': ['377cba03cddab8c6992e31d0683c1db3a73afa9834eee3e95b3b0723f02d7473'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('sp', '1.5-0', { + 'checksums': ['939a06adf78ec8de7a663d6ca5bba426780852b357773446b00cc298200ff81c'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('rlang', '1.0.2', { + 'checksums': ['8de87c3e6fb0b3cce2dabc6908186f8e1528cc0c16b54de965fe02d405fdd7cc'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('digest', '0.6.29', { + 'checksums': ['792c1f14a4c8047745152f5e45ce7351978af8d770c29d2ea39c7acd5d619cd9'], + }), + ('glue', '1.6.2', { + 'checksums': ['9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf'], + }), + ('cli', '3.3.0', { + 'checksums': ['c3a9ebbcb9017fb9aeda4f7df5ca981e42b169cbd7ce13e592cda2cd74250d63'], + }), + ('vctrs', '0.4.1', { + 'checksums': ['9676881e009aa1217818f326338e8b35dd9a9438918f8b1ac249f4c8afe460dd'], + }), + ('lifecycle', '1.0.1', { + 'checksums': ['1da76e1c00f1be96ca34e122ae611259430bf99d6a1b999fdef70c00c30f7ba0'], + }), + ('hms', '1.1.1', { + 'checksums': ['6b5f30db1845c70d27b5de33f31caa487cdd0787cd80a4073375e5f482269062'], + }), + ('prettyunits', '1.1.1', { + 'checksums': ['9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('crayon', '1.5.1', { + 'checksums': ['c025c73b78a8e88e8e4363c8e1a941da5089a7baea39e59ea5342ab9ebe45df9'], + }), + ('progress', '1.2.2', { + 'checksums': ['b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35'], + }), + ('ade4', '1.7-19', { + 'checksums': ['c85111881ff93a261ca34a5b5ef313d1c0ff9b84f0b23596bc56cfa696f165ef'], + }), + ('AlgDesign', '1.2.1', { + 'checksums': ['5989626c526bd7c3d9bdda326c962056879be03392065a0b7ddb9b8cf9309d05'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('BH', '1.78.0-0', { + 'checksums': ['3b9e9d07682013e0c06a396dda176b405eab99a7273eca6c40d1b4c4110e8cb3'], + }), + ('brew', '1.0-7', { + 'checksums': ['38b859c1dca63479f6937c593da8f806f2b3279585bb6e20ecff1b898469e76e'], + }), + ('Brobdingnag', '1.2-7', { + 'checksums': ['73a734342736da5b29c2827d91f662101873503af7ad9cdf9e9e697bb32dd742'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.4.1', { + 'checksums': ['845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474'], + }), + ('checkmate', '2.1.0', { + 'checksums': ['b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6'], + }), + ('cubature', '2.0.4.4', { + 'checksums': ['087b3b2c4f25d873fa95e9d38766a17a7201d03a6f4960f1e080a8db8b67d569'], + }), + ('DEoptimR', '1.0-11', { + 'checksums': ['1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b'], + }), + ('fastmatch', '1.1-3', { + 'checksums': ['1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861'], + }), + ('ffbase', '0.13.3', { + 'checksums': ['b3f61f80ba6851130247779786903d42a24ee5219aa24556c8470aece8a2e6b6'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.0', { + 'checksums': ['7918ccb2393ca19589d4c4e77d9ebe863dc6317ebfc1ff41869dbfaf439f5747'], + }), + ('nnls', '1.4', { + 'checksums': ['0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f'], + }), + ('sendmailR', '1.2-1.1', { + 'checksums': ['20d7d54f247dd1b444d2d74170646977cc4bd52f5a4152c72a9c3665b9a1fdb5'], + }), + ('dotCall64', '1.0-1', { + 'checksums': ['f10b28fcffb9453b1d8888a72c8fd2112038b5ac33e02a481492c7bd249aa5c6'], + }), + ('spam', '2.8-0', { + 'checksums': ['d98177435b028d1c706d0197ea8132bfaffae6052c3ce6064a7f64178512d6aa'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('stringi', '1.7.6', { + 'checksums': ['0ea3d5afec5701977ff53de9afbaceb53b00aa34f5fb641cadc1eeb7759119ec'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('stringr', '1.4.0', { + 'checksums': ['87604d2d3a9ad8fd68444ce0865b59e2ffbdb548a38d6634796bbd83eeb931dd'], + }), + ('evaluate', '0.15', { + 'checksums': ['885aee530a8b6aa7fd3acaa1ecd94ab58b71038c879ca37405f948e105907c5d'], + }), + ('logspline', '2.1.17', { + 'checksums': ['03b72b860896f8801014b7b3b907389cc3cbe2e13bc1049241606df685a08815'], + }), + ('ncbit', '2013.03.29', { + 'checksums': ['4480271f14953615c8ddc2e0666866bb1d0964398ba0fab6cc29046436820738'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-2', { + 'checksums': ['bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f'], + }), + ('randomForest', '4.7-1.1', { + 'checksums': ['f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6'], + }), + ('scatterplot3d', '0.3-41', { + 'checksums': ['4c8326b70a3b2d37126ca806771d71e5e9fe1201cfbe5b0d5a0a83c3d2c75d94'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.4.1', { + 'checksums': ['7eea92ba42e6ba320fa8bdca3c53091ae42f26a0f097244f65e7e117f6d514b6'], + }), + ('rJava', '1.0-6', { + 'checksums': ['e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-7', { + 'checksums': ['e269ff968f04384fc9421d17cfc7c10cf7756b11c2d6d126e9776f5aca65553c'], + }), + ('jpeg', '0.1-9', { + 'checksums': ['01a175442ec209b838a56a66a3908193aca6f040d537da7838d9368e46913072'], + }), + ('latticeExtra', '0.6-29', { + 'checksums': ['6cadc31d56f73d926e2e8d72e43ae17ac03607a4d1a374719999a4a231e3df11'], + }), + ('Matrix', '1.4-1', { + 'checksums': ['42b24f1d1e94482b0ff0ef1292e2df29f69694bdbee47b3d6bfeec46fafb2f7e'], + }), + ('RcppArmadillo', '0.11.2.0.0', { + 'checksums': ['f9e17af85ef5c0c8d63771b6e7da0cdcdbecc7ac8bd40d5035a64952c4ce1938'], + }), + ('plyr', '1.8.7', { + 'checksums': ['7d9fdaf1157035a49c3661da3bbaa7bfcf782aafe1b98f7b5a68b0520046e87f'], + }), + ('gtable', '0.3.0', { + 'checksums': ['fd386cc4610b1cc7627dac34dba8367f7efe114b968503027fb2e1265c67d6d3'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0.1', { + 'checksums': ['a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081'], + }), + ('colorspace', '2.0-3', { + 'checksums': ['e75681cc4dd6e4b70303fd96a6d4597065dc6bffcaa4ae4244b73ff19016857f'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.2', { + 'checksums': ['e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165'], + }), + ('viridisLite', '0.4.0', { + 'checksums': ['849955dc8ad9bc52bdc50ed4867fd92a510696fc8294e6971efa018437c83c6a'], + }), + ('farver', '2.1.0', { + 'checksums': ['e5c8630607049f682fb3002b99ca4f5e7c6b94f8b2a4342df594e7853b77cef4'], + }), + ('scales', '1.2.0', { + 'checksums': ['185d50240e6b3e84d36ec7fbca6aef7a85db7c8c1b0dde51d4af28d363ce02df'], + }), + ('utf8', '1.2.2', { + 'checksums': ['a71aee87d43a9bcf29249c7a5a2e9ca1d2a836e8d5ee3a264d3062f25378d8f4'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('fansi', '1.0.3', { + 'checksums': ['86a7b83d8c9d28baebbde310cd0b459d0950a9c7ff1a6276ce5858f6a89bc06a'], + }), + ('pillar', '1.7.0', { + 'checksums': ['7841f89658cc8935568c0ff24dc480b4481bac896de2f6447050abc4360a13bb'], + }), + ('tibble', '3.1.7', { + 'checksums': ['e1a50891f476803526960b4c4d736a72e7d9c3d366946744a02d6347f591c872'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('withr', '2.5.0', { + 'checksums': ['37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0'], + }), + ('mgcv', '1.8-40', { + 'checksums': ['dbe627266c3b339232e2d4228d5370ba88c86540319e6891d161242efba7e4a5'], + }), + ('rprojroot', '2.0.3', { + 'checksums': ['50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897'], + }), + ('desc', '1.4.1', { + 'checksums': ['8f9ebb51eccf925b2e76bc65ecf495e8f3882b8c0053023f396622f0402d6f54'], + }), + ('ps', '1.7.1', { + 'checksums': ['9c458a377d47cc972d3cd0b2a17d0b7ad3cf3b62226410803072089a57a55ef1'], + }), + ('processx', '3.6.1', { + 'checksums': ['87705769601e67799d976945c0e3e1cdd09e52a25900252e6f9b80a1cf90f2f5'], + }), + ('callr', '3.7.0', { + 'checksums': ['d67255148595c6d0ba4c4d241bc9f6b5e00cafe25fdc13e38c10acc38653360a'], + }), + ('pkgbuild', '1.3.1', { + 'checksums': ['7c6a82d1e6b19e136a7d16095743c50cd7b6340eeda594e4a8e14d74972ddb48'], + }), + ('rstudioapi', '0.13', { + 'checksums': ['aac35bbdcb4a8e8caba943bc8a2b98120e8940b80cd1020224bb1a26ff776d8b'], + }), + ('pkgload', '1.2.4', { + 'checksums': ['d6912bc824a59ccc9b2895c3cf3b08a3ff310a333888bb8e90d1a6ce754dd90f'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.3', { + 'checksums': ['eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6'], + }), + ('jsonlite', '1.8.0', { + 'checksums': ['7b1892efebcb4cf4628f716000accd4b43bbf82b3e6ba90b9529d4fa0e55cd4c'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.4.0', { + 'checksums': ['57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa'], + }), + ('testthat', '3.1.4', { + 'checksums': ['a47eec031b4e186a8bd331031371b2347063a283050eca2adbfaa37d7a6c9c09'], + }), + ('isoband', '0.2.5', { + 'checksums': ['46f53fa066f0966f02cb2bf050190c0d5e950dab2cdf565feb63fc092c886ba5'], + }), + ('ggplot2', '3.3.6', { + 'checksums': ['bfcb4eb92a0fcd3fab713aca4bb25e916e05914f2540271a45522ad7e43943a9'], + }), + ('pROC', '1.18.0', { + 'checksums': ['d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.14.2', { + 'checksums': ['f741b951e5937440139514aedbae78dbd6862d825066848bdb006aa02c2f3d2b'], + }), + ('BBmisc', '1.12', { + 'checksums': ['900a633f69b7d9b13d58709eeae2fca2c1bc510765d778623a2af32cc870053e'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-5', { + 'checksums': ['4723434ff7624d4f404a6854ffa0673fc43daa46f58f064dbeeaa17da28ab626'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-42', { + 'checksums': ['5a17c30423f4a1b81ae4fdf4a1c0079724000c9fdb339306438db442e17c72e0'], + }), + ('pls', '2.8-0', { + 'checksums': ['eff3a92756ca34cdc1661fa36d2bf7fc8e9f4132d2f1ef9ed0105c83594618bf'], + }), + ('class', '7.3-20', { + 'checksums': [('e65b046bc72b312ff0c5dc7feba4fa3e9bc63387274d44911493782b85f65483', + '93956d7b66ece2261e8846a1703e28a838c2621e366016f792ad48741f230205')], + }), + ('proxy', '0.4-27', { + 'checksums': ['249991a4c4d70ad139e93f3a24e17f161ad1ec854951813ea192daf79478563f'], + }), + ('e1071', '1.7-11', { + 'checksums': ['48c18e10e7cabc742d37b563672e2eddb6061f2378b69e5563be79ab9948d92f'], + }), + ('nnet', '7.3-17', { + 'checksums': [('ee750bb8164aa058edf93823af987ab2c7ec64128dce2abeaae1b7d3661e9a67', + 'd86871d54e4a331cd5e00da28a2f42a56d8976084578ed2fcdb3a7ad25d4dfaa')], + }), + ('minqa', '1.2.4', { + 'checksums': ['cfa193a4a9c55cb08f3faf4ab09c11b70412523767f19894e4eafc6e94cccd0c'], + }), + ('RcppEigen', '0.3.3.9.2', { + 'checksums': ['2547e794d5a6fb8d9fbadf19e64afa0bcf413cc69ecf3f428995fa5a0fced493'], + }), + ('MatrixModels', '0.5-0', { + 'checksums': ['a87faf1a185219f79ea2307e6787d293e1d30bf3af9398e8cfe1e079978946ed'], + }), + ('matrixStats', '0.62.0', { + 'checksums': ['85e2016b6dd20cbfe32d38a2ef2578ae80e688d9a3590aefd1d2f4bf4bd44eca'], + }), + ('codetools', '0.2-18', { + 'checksums': ['1a9ea6b9792dbd1688078455929385acc3a5e4bef945c77bec1261fa4a084c28'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.2', { + 'checksums': ['63eab37a9148f820ce2d67bda3dab6dedb9db6890baa5284949c39ab1b4c5898'], + }), + ('purrr', '0.3.4', { + 'checksums': ['23ebc93bc9aed9e7575e8eb9683ff4acc0270ef7d6436cc2ef4236a9734840b2'], + }), + ('tidyselect', '1.1.2', { + 'checksums': ['0389a3b15417954a30d6d692f6ebdd3d0f318cb94a5c9b05365df2f4ea1d8270'], + }), + ('dplyr', '1.0.9', { + 'checksums': ['e2e1f7312618b4e32ada9a1da79cef32eaec12acd408c973a6b069c6be4fb46b'], + }), + ('gower', '1.0.0', { + 'checksums': ['671cb7baafe05140d822e8f26f9cd3576fc3bf4c6572b7223fb54da754ea385d'], + }), + ('rpart', '4.1.16', { + 'checksums': ['27ec75258a5a3459ad999f5f36760ead974930744249605bf8465f234f31425c'], + }), + ('survival', '3.3-1', { + 'checksums': ['14878705cd0c7edcfead79011444aa84f680759293bde8634721c49f37cb4dc7'], + }), + ('KernSmooth', '2.23-20', { + 'checksums': ['20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39'], + }), + ('globals', '0.15.0', { + 'checksums': ['f83689a420590b0d62b049c40a944c1c8c7202b3f1cc12102712c63104e99496'], + }), + ('listenv', '0.8.0', { + 'checksums': ['fd2aaf3ff2d8d546ce33d1cb38e68401613975117c1f9eb98a7b41facf5c485f'], + }), + ('parallelly', '1.32.0', { + 'checksums': ['909ca35e7931b08dab7c8e48747c9b55c4f92480d87a85f98331a03b5f85e179'], + }), + ('future', '1.26.1', { + 'checksums': ['a35c0bdae86265ebe86119231802b6fbf7b1d533b57cb423d8483fbe779390d5'], + }), + ('future.apply', '1.9.0', { + 'checksums': ['6166c1c5ce30b9745059c3d30c8110f7c1d51871e58aa414f195cb1f91c467f5'], + }), + ('progressr', '0.10.1', { + 'checksums': ['8f83024b2a6f52996750d45bf6698c2b438fb1062985f1df936ba3af313caed1'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.6.10', { + 'checksums': ['7a88f8a885872e2abb3011c446e9e1c4884cd4dbe6ab4cfe9207538e5560232e'], + }), + ('prodlim', '2019.11.13', { + 'checksums': ['6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f'], + }), + ('ipred', '0.9-13', { + 'checksums': ['6168a062d93c2d3063c064a8f242cd3716dee99822e20363a1801261319c4c98'], + }), + ('cpp11', '0.4.2', { + 'checksums': ['403ce0bf82358d237176053b0fb1e958cb6bfa4d0fb3555bf5801db6a6939b99'], + }), + ('lubridate', '1.8.0', { + 'checksums': ['87d66efdb1f3d680db381d7e40a202d35645865a0542e2f270ef008a19002ba5'], + }), + ('tidyr', '1.2.0', { + 'checksums': ['8cd01da9e97827521d01ea50b9225f2705c46b7538bbf74bec6249a04c1213a8'], + }), + ('hardhat', '1.1.0', { + 'checksums': ['0374a9f5af2e8eaf100b4dbda951a5289258d0d466e5ef10768e8ffda928b4b1'], + }), + ('recipes', '0.2.0', { + 'checksums': ['3d0073e3eb98ac089a94bf8430f3c50915ff1f495d8e967c37baa6a0f6cea0a4'], + }), + ('caret', '6.0-92', { + 'checksums': ['1d814a2a921a23ad8b9a7da6f788e6abc06f5668b3918bd440d4355bc4b81511'], + }), + ('conquer', '1.3.0', { + 'checksums': ['ac354e18c9ad6f41ed5200fad1c99fa5b124fc6fa5bba8f3434be2478f53d5fa'], + }), + ('quantreg', '5.93', { + 'checksums': ['d4a94984a500bf4c92dec21013441f001a4aa0541c4c651384e257a4b4e9e539'], + }), + ('robustbase', '0.95-0', { + 'checksums': ['5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724'], + }), + ('zoo', '1.8-10', { + 'checksums': ['c9a282d8004c22651c4fa1d657d3cad946c5ec55c4dc068569d860ee9b31ed47'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-10', { + 'checksums': ['7188192afa289350cc1b89790f4f8f5a5114c1c88bee7715a0c8f5347aa0b35b'], + }), + ('snowfall', '1.84-6.1', { + 'checksums': ['5c446df3a931e522a8b138cf1fb7ca5815cc82fcf486dbac964dcbc0690e248d'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.1.0', { + 'checksums': ['2d498505e32d8aa9fa54a1ab328c35ae3a85e0b20a0cf0d519a4df84e2b307b8'], + }), + ('foreign', '0.8-82', { + 'checksums': ['f8ed0684d59bec7f3a39cde1aa5ec7b3e6e36aaecacb28120c9c54f7b13f80fb'], + }), + ('psych', '2.2.5', { + 'checksums': ['dcc3f9b30ed44dfd1de0366295a308e0b52959eb7ac9cb3bc3f32dc5b15fc321'], + }), + ('broom', '0.8.0', { + 'checksums': ['66a1095d4430450dc810a5cea61cd7e7bee0e23739dcf5ddc5b57c9894fcf999'], + }), + ('nloptr', '2.0.3', { + 'checksums': ['7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7'], + }), + ('boot', '1.3-28', { + 'checksums': ['9f7158fd2714659f590c3955651893dc24bd8f39196bc5a4cc35b0b031744a32'], + }), + ('statmod', '1.4.36', { + 'checksums': ['14e897c83d426caca4d920d3d5bead7ae9a679276b3cb2e227f299ad189d7bc2'], + }), + ('lme4', '1.1-29', { + 'checksums': ['83d97de48cc4706a5a9615b126ba1a86f1a3009d3f38b8da3e57dd619519e826'], + }), + ('ucminf', '1.1-4', { + 'checksums': ['a2eb382f9b24e949d982e311578518710f8242070b3aa3314a331c1e1e7f6f07'], + }), + ('ordinal', '2019.12-10', { + 'checksums': ['7a41e7b7e852a8fa3e911f8859d36e5709ccec5ca42ee3de14a813b7aaac7725'], + }), + ('jomo', '2.7-3', { + 'checksums': ['9d3987f3a73d305f3ab6fc66efc04a196a7eb8b65e20c411131dc17af51f0063'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('tzdb', '0.3.0', { + 'checksums': ['6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.5.7', { + 'checksums': ['d087cb148f71c222fc89199d03df2502689149873414a6d89c2f006d3a109fde'], + }), + ('readr', '2.1.2', { + 'checksums': ['94afd03a1fa4abcf2985ec903bbf5995d7c590e1a50512ed80d081ef4fe10c1b'], + }), + ('forcats', '0.5.1', { + 'checksums': ['c4fb96e874e2bedaa8a1aa32ea22abdee7906d93b5c5c7b42c0894c0c5b6a289'], + }), + ('haven', '2.5.0', { + 'checksums': ['b580311bc1b28efc6b123e29a331282b9f7eb552c485f4e5cacab39fe534aff4'], + }), + ('pan', '1.6', { + 'checksums': ['adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6'], + }), + ('mitml', '0.4-3', { + 'checksums': ['49bd3eb68a60fb2a269e7ddca8b862e1e81e0651e2b29759482fb7bcad452102'], + }), + ('mice', '3.14.0', { + 'checksums': ['f87bb73d8bfee36c6bf4f15779c59ff6b70c70ca25b1388b4ee236757276d605'], + }), + ('urca', '1.3-0', { + 'checksums': ['621cc82398e25b58b4a16edf000ed0a1484d9a0bc458f734e97b6f371cc76aaa'], + }), + ('fracdiff', '1.5-1', { + 'checksums': ['b8103b32a4ca3a59dda1624c07da08ecd144c7a91a747d1f4663e99421950eb6'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.24.1', { + 'checksums': ['e7e0d9054cf7f3221ba363afa0fdf1c8bb65b8841700ec0010fa4886be26a661'], + }), + ('akima', '0.6-3.4', { + 'checksums': ['95657592a81d2e3628cb054b60127827ae64e65c58b77d059aa510bc6781ad3e'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('mixtools', '1.2.0', { + 'checksums': ['ef033ef13625209065d26767bf70d129972e6808927f755629f1d70a118b9023'], + }), + ('cluster', '2.1.3', { + 'checksums': ['a3ad7a9455d634c4e0c6ccf8ea7a3a392a0ecf9c2bdb368d127ffa68a93164a9'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + ('gam', '1.20.1', { + 'checksums': ['5787c6fabea5aaba29fe214db305a7369916082efc6a18f84e4c9ef81c8e7dad'], + }), + ('gamlss.data', '6.0-2', { + 'checksums': ['dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e'], + }), + ('gamlss.dist', '6.0-3', { + 'checksums': ['ec90ea83cd81b894c73f987f69814077697be33abf0708e0f3e2a39d02c912bf'], + }), + ('gamlss', '5.4-3', { + 'checksums': ['6619d4fdc183ab492615d44961a126c827d18db20a0d59362e54de877f0a3076'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.12.1', { + 'checksums': ['d680584af946fc30be0b2046e838cff7b3a65e00df1eadba325ca5e96f3dca2c'], + }), + ('curl', '4.3.2', { + 'checksums': ['90b1facb4be8b6315bb3d272ba2dd90b88973f6ea1ab7f439550230f8500a568'], + }), + ('TTR', '0.24.3', { + 'checksums': ['4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87'], + }), + ('quantmod', '0.4.20', { + 'checksums': ['f757df41595d885f7927e18f4835bc233d78d2d3ae48fd11c8874d4338c48e94'], + }), + ('mvtnorm', '1.1-3', { + 'checksums': ['ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448'], + }), + ('pcaPP', '2.0-1', { + 'checksums': ['9690e2f263162452d5a14bd8c52264cb70b317d30907411af4e5b6df4086121a'], + }), + ('pscl', '1.5.5', { + 'checksums': ['054c9b88a991abdec3338688f58e81b6ba55f91edb988621864b24fd152fee6f'], + }), + ('fastmap', '1.1.0', { + 'checksums': ['9113e526b4c096302cfeae660a06de2c4c82ae4e2d3d6ef53af6de812d4c822b'], + }), + ('cachem', '1.0.6', { + 'checksums': ['9a9452f7bcf3f79436c418b3c3290449fb8fd338714d9b992153754d112f1864'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('blob', '1.2.3', { + 'checksums': ['2d88d683ee3d1b56b332b5c7769979b5d3994b5d9285ea634ec919576da3631b'], + }), + ('RSQLite', '2.2.14', { + 'checksums': ['2ae36a875ebc02497985b2ad9ddc6a5434f576e2ab25769580749d9e4f3b607c'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.0-2', { + 'checksums': ['6e30b6b554eb19430a60c45a8132fb7918ddb0013577bf6a62caeb163bdfe2b4'], + }), + ('sfsmisc', '1.1-13', { + 'checksums': ['a81710357de2dcdaf00d9fa30a29cde0dd83616edc358452fd6105ea88f34218'], + }), + ('spatial', '7.3-15', { + 'checksums': [('e5613be94d6f5c1f54813dadc96e4a86b3417dea28106cc90cb24dfd6c3c8cef', + 'de1dafbccfde599ae24c5a78dbbc2df746d17f4c97d7b1c282a03ddff2f23ecf')], + }), + ('VGAM', '1.1-6', { + 'checksums': ['446a61bac5dd4794e05d20c2f3901eec54afac52c6e23ce2787c5575170dd417'], + }), + ('waveslim', '1.8.3', { + 'checksums': ['988bdce52ce1c31cb0abb4fb7a9f1e9192283f597c2a418f0010f780dbe3b37b'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.32', { + 'checksums': ['74670f16eaafddd044a3ac1813acd5d164aed3f862b87aa1ac275b600e27d9ad'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-51', { + 'checksums': ['a55f20704883710ab58ea479e20cf0f263c50d54282f693793cda4af664c207f'], + }), + ('fastICA', '1.2-3', { + 'checksums': ['e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950'], + }), + ('R.methodsS3', '1.8.2', { + 'checksums': ['822d5e61dad4c91e8883be2b38d7b89f87492046d0fe345704eb5d2658927c2e'], + }), + ('R.oo', '1.25.0', { + 'checksums': ['b8b19061774918ee7d9d4330c16c0ea505f7cd02d01343df1e8b2e4fb847beef'], + }), + ('sys', '3.4', { + 'checksums': ['17f88fbaf222f1f8fd07919461093dac0e7175ae3c3b3264b88470617afd0487'], + }), + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('openssl', '2.0.2', { + 'checksums': ['862d3dc9bb69d92e36e83a7506be83443d4a4957f5f08f6617d7873c67a1f1c4'], + }), + ('httr', '1.4.3', { + 'checksums': ['9a8613fa96173ac910c021391af1ced4d0609169049c802cf7cdfe1c40897c6a'], + }), + ('cgdsr', '1.3.0', { + 'checksums': ['4aa2a3564cee2449c3ff39ab2ad631deb165d4c78b8107e0ff77a9095340cc1f'], + }), + ('R.utils', '2.11.0', { + 'checksums': ['622860f995f78be3a6e439f29d945874c5cb0866f6a73a9b43ac1d4d7f23fed8'], + }), + ('R.matlab', '3.6.2', { + 'checksums': ['1ba338f470a24b7f6ef68cadbd04eb468ead4a689f263d2642408ad591b786bb'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8', { + 'checksums': ['7d5de3b980b8f23275e86ac9bed48a497c9aa53c58e407dfd676309f38272ec1'], + }), + ('Formula', '1.2-4', { + 'checksums': ['cb70e373b5ed2fc8450937fb3321d37dfd22dcc6f07cb872a419d51205125caf'], + }), + ('acepack', '1.4.1', { + 'checksums': ['82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-57', { + 'checksums': ['9645d86a84d1afc12a0accf4f826fdd40e6d050a313424ad70f8085e8f19c232'], + }), + ('viridis', '0.6.2', { + 'checksums': ['69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311'], + }), + ('yaml', '2.3.5', { + 'checksums': ['3edf6c0554a0e184a25e8bec5721a2e66b4ab0dceb3737428e22705e52eb5140'], + }), + ('htmltools', '0.5.2', { + 'checksums': ['7dc7d50436e5a82a5801f85bcd2f572a06a98b4027d71aa17b4854ec9b2767fb'], + }), + ('htmlwidgets', '1.5.4', { + 'checksums': ['1a3fc60f40717de7f1716b754fd1c31a132e489a2560a278636ee78eba46ffc1'], + }), + ('knitr', '1.39', { + 'checksums': ['c91a65edebdca779af7f7480fa6636667497c9291ad55d6efd982db0bb91ac72'], + }), + ('htmlTable', '2.4.0', { + 'checksums': ['4ca2b5616d77cfeee8ae5ca74307b86407d478b12d1ce17ba9c447e233b89a9d'], + }), + ('Hmisc', '4.7-0', { + 'checksums': ['29ec2d9ca11c790c350e93323126bef4f498c69c41c31bb335fd04671e0f87bd'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.4.2.3', { + 'checksums': ['7bad194920b412781ac9754ad41058d52d3cd7186e1851c2bce3640490e9bc6d'], + }), + ('pkgmaker', '0.32.2', { + 'checksums': ['ce45b22def771a9c90a414093823e6befe7e23489c500eeccee5154b44d3ef91'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5', { + 'checksums': ['26fc8c0d36460e422ab77f43a597b8ec292eacd452628c54d34b8bf7d5269bb9'], + }), + ('igraph', '1.3.2', { + 'checksums': ['0f5066180e223e165d28cee050054008ca23102e8392ff4ecd72e733537ec320'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.6-2', { + 'checksums': ['9b62450a0390a1f07df007d348ad4cedcd814d42cb11c5a300ed33550fd41257'], + }), + ('RJSONIO', '1.3-1.6', { + 'checksums': ['82d1c9ea7758b2a64ad683f9c46223dcba9aa8146b43c1115bf9aa76a657a09f'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3', { + 'checksums': ['9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('later', '1.3.0', { + 'checksums': ['08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829'], + }), + ('promises', '1.2.0.1', { + 'checksums': ['8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7'], + }), + ('httpuv', '1.6.5', { + 'checksums': ['f5f63629ca5e9d0e396a89982d95b5286726c0cb425166f35a3ad32a60a79156'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('sourcetools', '0.1.7', { + 'checksums': ['47984406efb3b3face133979ccbae9fefb7360b9a6ca1a1c11473681418ed2ca'], + }), + ('xml2', '1.3.3', { + 'checksums': ['cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d'], + }), + ('commonmark', '1.8.0', { + 'checksums': ['7d07e72937b1cf158e69f183722bf79dbb91b8967a9dd29f4fa145500c2be668'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('fs', '1.5.2', { + 'checksums': ['35cad1781d6d17c1feb56adc4607079c6844b63794d0ce1e74bb18dbc11e1987'], + }), + ('sass', '0.4.1', { + 'checksums': ['850fcb6bd49085d5afd25ac18da0744234385baf1f13d8c0a320f4da2de608bb'], + }), + ('bslib', '0.3.1', { + 'checksums': ['5f5cb56e5cab9039a24cd9d70d73b69c2cab5b2f5f37afc15f71dae0339d9849'], + }), + ('fontawesome', '0.2.2', { + 'checksums': ['572db64d1b3c9be301935e0ca7baec69f3a6e0aa802e23f1f224b3724259df64'], + }), + ('shiny', '1.7.1', { + 'checksums': ['c03b2056fb41430352c7c0e812bcc8632e6ec4caef077d2f7633512d91721d00'], + }), + ('seqinr', '4.2-16', { + 'checksums': ['c4f3253832fc255197bdce7b4dd381db606c6b787d2e888751b4963acf3a4032'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('deldir', '1.0-6', { + 'checksums': ['6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5'], + }), + ('gmodels', '2.18.1.1', { + 'checksums': ['da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95'], + }), + ('expm', '0.999-6', { + 'checksums': ['2c79912fd2e03fcf89c29f09555880934402fcb2359af8b4579d79b4f955addc'], + }), + ('terra', '1.5-34', { + 'checksums': ['3cad88f4fad6517713861a8debc8c7c746c32e0c2ee851bb0c2bc43744fcaa1c'], + }), + ('raster', '3.5-15', { + 'checksums': ['29c7d3c5d34284f8b5a2ddc9989fbcf092ce209d5eb5310ebc772b5ebdfdd685'], + }), + ('spData', '2.0.1', { + 'checksums': ['c635a3e2e5123b4cdb2e6877b9b09e3d50169e1512a53b2ba2db7fbe63b990fc'], + }), + ('units', '0.8-0', { + 'checksums': ['9c46fe138e8c1c3d3a51268776412f02d09673656516148cccb71b1071beb21a'], + }), + ('classInt', '0.4-7', { + 'checksums': ['a30e3a8987ce133944897100ab5bdc31b019d897969c452c3795f50ac234606e'], + }), + ('vegan', '2.6-2', { + 'checksums': ['ab77d110c959d19b0c6268ae0c8f78c897e2419eff3f1f7b19c1bb2f8db7c059'], + }), + ('rncl', '0.8.6', { + 'checksums': ['fcc972c04fb43ace0876eb640a6433caddf6ec8304f7ceee37107d812ce68ffb'], + }), + ('XML', '3.99-0.10', { + 'checksums': ['c45991b5edadc3cf7e2d80c38e798a5d6c4e27baf6007004d4db5a6ca97ff35b'], + }), + ('tinytex', '0.40', { + 'checksums': ['3f5e7adb2c047a8181a39fe5fee1f709039e6e94245f98c64282fdecc183d88d'], + }), + ('rmarkdown', '2.14', { + 'checksums': ['e9ec17afa4d9d6e8cf555b56e0c00acc189d8ec0b4406680b14d71d62f0c3220'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.3.0', { + 'checksums': ['bf1dd6209cea1aab24e21a85375ca473ad11c2eff400d65c6202c0fb4ef91ec3'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.2.0', { + 'checksums': ['be1a149b21cf219ef55adfb56a6a5eb9892a9acf0d5f5421a22e52f2a7066f8c'], + }), + ('bold', '1.2.0', { + 'checksums': ['8f1597f04acbe6b090232929325734c802049d82649ae102b438e1fa3af5a464'], + }), + ('rredlist', '0.7.0', { + 'checksums': ['d2e66b655c43565a4cc0984dc3fcc9732652cb9677baaa9bb2b82e9f9d65e7f0'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.0.12', { + 'checksums': ['1688b3284139803a9b1339d7f34a5db94bb1f2f4fd4c395423f7164dbdb3d98e'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.2', { + 'checksums': ['1ab228ea762a431a5e3a565b589b804fcb2865ceaa2b1459bd2ab3ebe8f5ebbe'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.5-0', { + 'checksums': ['effdfee286e5ba9534dc2ac3cee96590a37f5cd2af28c836d00c25ca9f070a55'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.9.0', { + 'checksums': ['3262dbe002bedc636467d4ac77044965f4976da09fa710c606075c5ddf26da23'], + }), + ('uuid', '1.1-0', { + 'checksums': ['e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.7', { + 'checksums': ['cb311d6dda33a95521a6df360a2d2f4e6d6bc6b330ac5e19ea721ca665bce6fe'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.7.3', { + 'checksums': ['83877b2e23ea43fbc1164de9c2422eafbe7858393ac384df5adf3a7eec122441'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.3', { + 'checksums': ['55403252d8bae9627476d1f553236ea5dc7aa6e54da6980526a6cdc66924e155'], + }), + ('bigmemory', '4.6.1', { + 'checksums': ['b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.7', { + 'checksums': ['534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c'], + }), + ('dismo', '1.3-5', { + 'checksums': ['812e1932d42c0f40acf2ab5c5b2d068f93128caf648626e1d11baf1a09340ee7'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.10', { + 'checksums': ['81886b4f686341ce5139816233c957e840541d17a1d2db0047af17d527f0e1ba'], + }), + ('extrafont', '0.18', { + 'checksums': ['44e6a9798914b99c1460a1177c1f1503cf2a2f74844e3e7858fb98462b08a857'], + }), + ('fields', '13.3', { + 'checksums': ['c652838b1ae7eb368831522824bfbc1d1db7b9d1db5e9bb52b194098549944c3'], + }), + ('shapefiles', '0.7', { + 'checksums': ['eeb18ea4165119519a978d4a2ba1ecbb47649deb96a7f617f5b3100d63b3f021'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('phytools', '1.0-3', { + 'checksums': ['bfe2aec6aae8235264c1494eee42be494fed81a676c6de9e39c57a6e3682b37d'], + }), + ('geiger', '2.0.10', { + 'checksums': ['2895cfb73fb91764be2ec3f931e4f3b2e75ae00a1431af4b40dc90e7c0693be0'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('glmnet', '4.1-4', { + 'checksums': ['f6b0f70a0b3d81ff91c2b94f795a2a32e90dd458270f1a29e49e085dd65000f9'], + }), + ('crosstalk', '1.2.0', { + 'checksums': ['4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('webshot', '0.5.3', { + 'checksums': ['b7c4f2be61c8c4730202a9c3604072478e30cb85b423b7497cd703cc3f49dbc0'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '0.109.2', { + 'checksums': ['117504ce5a22ead0b068314988804f4aeec0fb8a354c4c5f214cfe2de29d2c97'], + }), + ('Rtsne', '0.16', { + 'checksums': ['52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5'], + }), + ('labdsv', '2.0-1', { + 'checksums': ['5a4d55e9be18222dc47e725008b450996448ab117d83e7caaa191c0f13fd3925'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-3', { + 'checksums': ['cac6b4028f68cc8d39202377161d0f7f72ea229b552a5c35769053ab89f90f86'], + }), + ('TH.data', '1.1-1', { + 'checksums': ['edf3ab16b142f4c52d21fc64e41409ed138e5b3e142f2fae964b00f02d53dd7a'], + }), + ('multcomp', '1.4-19', { + 'checksums': ['f03473b1cfbc714cd85a0ee948e2ecdb23bcdccbe95e27237ee25e9c71e3e557'], + }), + ('libcoin', '1.0-9', { + 'checksums': ['2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb'], + }), + ('coin', '1.4-2', { + 'checksums': ['7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2'], + }), + ('party', '1.3-10', { + 'checksums': ['e5892955f6ce662ade568e646d1d672c3ecbf5d4e74b4a887a353e6160f7b56a'], + }), + ('inum', '1.0-4', { + 'checksums': ['5febef69c43a4b95b376c1418550a949d988a5f26b1383ca01c9728a94fc13ce'], + }), + ('partykit', '1.2-16', { + 'checksums': ['e643d4e29c1894497e3dd5fe274783319d0044dec50282ed807cebc21736ddb2'], + }), + ('mboost', '2.9-7', { + 'checksums': ['0242cb91656280c4bd705643b65674900a1475305d9f80cfc12ef4b5fa069606'], + }), + ('msm', '1.6.9', { + 'checksums': ['aefcd9bb40b0167311d088d6fe23fdf7aa35deaac0f8b47ef02377cff5577023'], + }), + ('nor1mix', '1.3-0', { + 'checksums': ['9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0'], + }), + ('np', '0.60-11', { + 'checksums': ['a3b31b8ad70c42826076786b2b1b63b79cdbadfa55fe126773bc357686fd33a9'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.20', { + 'checksums': ['6992484e9e41036debef1e705e26959f8f5c7a68d3e1fda58273d2a72297a1b5'], + }), + ('rms', '6.3-0', { + 'checksums': ['6c41eb670daf5e4391cc2f2a19e20a591f90769c124300a7ccf555820140d3f9'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-44', { + 'checksums': ['f3239437aeeb01453b7ce235f9680bc281886b46de0b536d9c8413c6294c7bc8'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-8', { + 'checksums': ['b1eb1683d956db1a207b61cc086ae08b3ca7f46b6b8bc46d09ba5a4fafa66256'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '3.0.2', { + 'checksums': ['31231a0612915ee5171676b28273f82acdc8914bd6385fc9e7b17f930e66c91a'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-4', { + 'checksums': ['b69ef547443453f1d814d09141f7b9be1dd09ef374cc50771d1a8d3f0815e1a7'], + }), + ('chemometrics', '1.4.2', { + 'checksums': ['b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a'], + }), + ('FNN', '1.1.3.1', { + 'checksums': ['52b0e20611481a95bced40be4126f44b002fd3a9c4c9674bb34db4e1e3b5be5a'], + }), + ('miscTools', '0.6-26', { + 'checksums': ['be3c5a63ca12ce7ce4d43767a1815cd3dcf32664728ade251cfb03ea6f77fc9a'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.8', { + 'checksums': ['f1aecdeeba99042d34de19234238c5bbdc18a26f271f6adf9c9b7e349d50d152'], + }), + ('Rdpack', '2.3.1', { + 'checksums': ['b53e5e9db53e31f514e2fef46bafa00bc7cd8828e36e5c933e28e9ac892d448a'], + }), + ('dfidx', '0.0-4', { + 'checksums': ['04255de9b002b2f89db04144edcd72e21804e0c129a3e5082b4a21630c850702'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.3', { + 'checksums': ['531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f'], + }), + ('gsalib', '2.1', { + 'checksums': ['e1b23b986c18b89a94c58d9db45e552d1bce484300461803740dacdf7c937fcc'], + }), + ('optparse', '1.7.1', { + 'checksums': ['324e304c13efd565d766766193d4ccd75e2cd949dfcfb416afc3939489071fe7'], + }), + ('labelled', '2.9.1', { + 'checksums': ['9eb10b245f64f3fb7346121aa4cd98638946e1cc4208dd5e28791ef8fd62fa40'], + }), + ('R.cache', '0.15.0', { + 'checksums': ['adb4d3b08f7917e10fe6188c7b90a3318701a974c58eaa09943b929382bdf126'], + }), + ('styler', '1.7.0', { + 'checksums': ['3e49f3ac2e65f9bdab15837a4e629db35c8fd0a15a74daa057354ba01e3022ce'], + }), + ('questionr', '0.7.7', { + 'checksums': ['ce24c40bd98dbeca615b9eb2a9cd2da26852821dc3840f8394eeecb0739dfd56'], + }), + ('klaR', '1.7-0', { + 'checksums': ['b4795250ef19fd1b5e1b9a59343fd01159a33dbdbb504a06258220e37a718198'], + }), + ('neuRosim', '0.2-12', { + 'checksums': ['f4f718c7bea2f4b61a914023015f4c71312f8a180124dcbc2327b71b7be256c3'], + }), + ('locfit', '1.5-9.5', { + 'checksums': ['fd9f2bad9d8beec8be4843dc80e38ebe0f388835a7003490f67e57eeb9e6de23'], + }), + ('GGally', '2.1.2', { + 'checksums': ['30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.4.3', { + 'checksums': ['02ef2b11c3462a8b800332e522183f4c7c40c7d2d66c5174d5f3f6d8cc68a946'], + }), + ('pbkrtest', '0.5.1', { + 'checksums': ['b2a3452003d93890f122423b3f2487dcb6925440f5b8a05578509e98b6aec7c5'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-4', { + 'checksums': ['f3ee25f9787d97c8373dac3651c6a198c932948eb3a6006b8618c91c6344fdc9'], + }), + ('zip', '2.2.0', { + 'checksums': ['9f95987c964039834f770ecda2d5f7e3d3a9de553c89db2a5926c4219bf4b9d8'], + }), + ('openxlsx', '4.2.5', { + 'checksums': ['65d06d2819b656ac30fc78437ee712a83fb5a7ab750f56268e5c9e578c582519'], + }), + ('rematch', '1.0.1', { + 'checksums': ['a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.0', { + 'checksums': ['ab9239c249f79b649f7665a612b3dbf4b774ab633115e6dee41091a8cb2491f7'], + }), + ('rio', '0.5.29', { + 'checksums': ['9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412'], + }), + ('car', '3.1-0', { + 'checksums': ['bd52b4eaea46ce828fccd93445301d06ebd265e2ffff796064875a8c0f0aea21'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.1', { + 'checksums': ['29fb916d4799ba6503a5dd019717ffdf154d2aaae9ff1736f03e2be24af6bdfc'], + }), + ('DT', '0.23', { + 'checksums': ['360ae2fcb1141125a1b16448570fc37d14c4dd3f78a872c26df4fda1787cdc70'], + }), + ('FactoMineR', '2.4', { + 'checksums': ['b9e3adce9a66b4daccc85fa67cb0769d6be230beeb126921b386ccde5db2e851'], + }), + ('flexclust', '1.4-1', { + 'checksums': ['d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d'], + }), + ('flexmix', '2.3-18', { + 'checksums': ['462201ef49088845c83083e4ed6725cf069aafb12a814041618aaf09ebd69b51'], + }), + ('prabclus', '2.3-2', { + 'checksums': ['f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441'], + }), + ('diptest', '0.76-0', { + 'checksums': ['508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-9', { + 'checksums': ['29b0006e96c8645645d215d3378551bd6525aaf45abde2d9f12933cf6e75fa38'], + }), + ('BiasedUrn', '1.07', { + 'checksums': ['2377c2e59d68e758a566452d7e07e88663ae61a182b9ee455d8b4269dda3228e'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.11', { + 'checksums': ['018d820acdb7dfa716275ba24c4d671cb0202cb1fee584b673d0118e2c9063ae'], + }), + ('base64', '2.0', { + 'checksums': ['8e259c2b12446197d1152b83a81bab84ccb5a5b77021a9b5645dd4c63c804bd1'], + }), + ('doRNG', '1.8.2', { + 'checksums': ['33e9d45b91b0fde2e35e911b9758d0c376049121a98a1e4c73a1edfcff11cec9'], + }), + ('nleqslv', '3.3.2', { + 'checksums': ['f54956cf67f9970bb3c6803684c84a27ac78165055745e444efc45cfecb63fed'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '2.1.2', { + 'checksums': ['20f341fca8f616c556699790814debdf2ac7aa4dd9ace2071100c66af1549d7d'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.16', { + 'checksums': ['9f01eb895a883a7e1e23725b167b46edc1b0b152fd4120278aaa5f7b2621767f'], + }), + ('fma', '2.4', { + 'checksums': ['69a94c3bd464176a80232d49fcd04d478d4dd59f9bf128d6a9f46e49612d27f4'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-0', { + 'checksums': ['74dabc0dfe5a527114f0bb8f3d22f5d1ae694e6ea9345912909bae885525d34b'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '2.3-1', { + 'checksums': ['5b914308df0585993084b5e95967864eea0314c98ed6af58267b64b2235dfe22'], + }), + ('spatstat.data', '2.2-0', { + 'checksums': ['d3943bb4f6509d60bf68e79ce4533c5ec5261f411da6b0ef5238c124fc37c3e5'], + }), + ('spatstat.geom', '2.4-0', { + 'checksums': ['32b89a409ce87ffe901e4c8720a26cac9629f9816e163c4ad68b7aa012d69e67'], + }), + ('spatstat.sparse', '2.1-1', { + 'checksums': ['9a35ad69715b767b3ae60b02dce05ccf108fcccdf95bbc8f7d02557bcbde7303'], + }), + ('spatstat.random', '2.2-0', { + 'checksums': ['45f0bbdb9dbd53b6c4151c3cdd098451cf787729717ccbb063cd1f33910e604d'], + }), + ('spatstat.core', '2.4-4', { + 'checksums': ['e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b'], + }), + ('spatstat.linnet', '2.3-2', { + 'checksums': ['9c78a4b680debfff0f3ae934575c30d03ded49bc9a7179475384af0ebaf13778'], + }), + ('spatstat', '2.3-4', { + 'checksums': ['4ea0f8d70b926b92bf4a06521f985a0bb6d573619f5d526957c87860ccb999da'], + }), + ('pracma', '2.3.8', { + 'checksums': ['2302d454406e72711714732658d0c59c9d5a1ead698f22ee23f38cba63d42764'], + }), + ('RCurl', '1.98-1.7', { + 'checksums': ['2ac22d0160633fe3b6b26f3eda5df839eee1120f0111e1172f0fc801f874188d'], + }), + ('bio3d', '2.4-3', { + 'checksums': ['c6031f0d9033260a938171d0fa70720962e352935eb7bd2ddb9b92b93abe6a74'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.4', { + 'checksums': ['4c08a6dffd6fd5764f27812f3a085c53e6a21d59ae82d903c9c0da93fd1dd059'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-28', { + 'checksums': ['5f42233abd48f1740c33aae1ec4ad8e9952fddb5df1ee49ff2d43d5d89f05601'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.5', { + 'checksums': ['ab043bcbac4636faadb81c0654cab58aeeec850fba3f8b7a749bea8a58c30efd'], + }), + ('ddalpha', '1.3.13', { + 'checksums': ['e4a60a4e0950a3587db2a2d5958ab4fbe07b2548f7c3d4795912fe45c77a4eae'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('adabag', '4.2', { + 'checksums': ['47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14', { + 'checksums': ['b17652d0a69de3241a69f20be4ad1bfe02c413328a17f3c1ac7b73886a6ba2eb'], + }), + ('ggvis', '0.4.7', { + 'checksums': ['9e6b067e11d497c796d42156570e2481afb554c5db265f42afbb74d2ae0865e3'], + }), + ('mlr', '2.19.0', { + 'checksums': ['1149c9b453896481c85906045aa82d511d96979ddecbe5a3faf04f9f4a5e6113'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-14', { + 'checksums': ['7f6262cb2b49b5d5979ccce9ded9cbb2c0b348fd7c9eabc1ea1d31c51a102c20'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.2.1', { + 'checksums': ['db52a397a204a0040ec1368ae217cf7b0d8e99e2567927dbe3ae89f93d1de598'], + }), + ('lhs', '1.1.5', { + 'checksums': ['7a3c6fdcc953490e51026e17a0b1a9dc0ca8d03e6fc989457a7cdda2075b6339'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5', { + 'checksums': ['1dd7b1383a7c891cafb34d9cec65d92f1511a336cff1b219e63c0aa791371b9f'], + }), + ('whisker', '0.4', { + 'checksums': ['7a86595be4f1029ec5d7152472d11b16175737e2777134e296ae97341bf8fba8'], + }), + ('roxygen2', '7.2.0', { + 'checksums': ['2ebfcfd567b9db6c606c6d42be1645b4e987f987995a2ad8954fa963a519448b'], + }), + ('git2r', '0.30.1', { + 'checksums': ['85d913ddc7659e32c1b98ebc247fa1cc1b7717a5bd413fa78ea84696986ca840'], + }), + ('rversions', '2.1.1', { + 'checksums': ['79aaacf5a1258d91ac0ddedf3c8c16a2d10d39010993dcc7b0a2638afee27cb1'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2', { + 'checksums': ['f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.1', { + 'checksums': ['b14aaf4e910a9d2d6c65c93e645f0b0159c00898e669f917f83c03dfedb1dfea'], + }), + ('gh', '1.3.0', { + 'checksums': ['a44039054e8ca56496f2d9c7a10cdadf4a7383bc91086e768ba7e7f1fbcaed1c'], + }), + ('credentials', '1.3.2', { + 'checksums': ['2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8'], + }), + ('gert', '1.6.0', { + 'checksums': ['8c440aeebabf1cb3b57124ec9280e0f46b2ab56f2bca07d72b5c7a7f4edc2964'], + }), + ('usethis', '2.1.6', { + 'checksums': ['31dc6707577065ac1d4acb7d4cbf135942727c5cc2699092198c544be86f6818'], + }), + ('covr', '3.5.1', { + 'checksums': ['a54cfc3623ea56084158ac5d7fe33f216f45191f6dcddab9c9ed4ec1d9d8ac6c'], + }), + ('devtools', '2.4.3', { + 'checksums': ['e42159a9bca0b219170e76c282862e27ca283649d6cbf6a868175d8982e06b4f'], + }), + ('Rook', '1.1-1', { + 'checksums': ['00f4ecfa4c5c57018acbb749080c07154549a6ecaa8d4130dd9de79427504903'], + }), + ('Cairo', '1.5-15', { + 'checksums': ['bb3ab1ff6431c15eb01a66ddf90695cd9a2af3d5a384753f5180cd0401d2e89d'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-2', { + 'checksums': ['a7a38dc9a876967d54843872b4355c65e1910c324b0630f91a50009c2f3005a7'], + }), + ('tkrplot', '0.0-26', { + 'checksums': ['dd66264c2553f6927aff297c6b1c3b61867d6c63aec080f40a1e9d53cfc9d120'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '0.1-12', { + 'checksums': ['487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.3', { + 'checksums': ['85421213e01e1b5f8b929ee1644232f37bacd723305e549c32850f6b6d6924a4'], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.13.5', { + 'checksums': ['d1c4d06d704f301628455787ba929add1e774debc343d0952a768abea6cc7815'], + }), + ('logcondens', '2.1.6', { + 'checksums': ['785bbda00b9a25e56440e11356ac219cfbf0fdf8b08c7b0728e53a9febe7a365'], + }), + ('Iso', '0.0-18.1', { + 'checksums': ['2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.0.0', { + 'checksums': ['40674c90a5bd00f5185db9adbd221c6f1114043e69095249f5fa8b3044af3f5e'], + }), + ('influenceR', '0.1.0.1', { + 'checksums': ['63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766'], + }), + ('visNetwork', '2.1.0', { + 'checksums': ['a2b91e7fbbd9d08a9929a5b2c891d9c0bca5977ad772fa37510d96656af1152f'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.9', { + 'checksums': ['64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf'], + }), + ('randomForestSRC', '3.1.0', { + 'checksums': ['a38fbd465eea87c65c7e7406972de84b1073560b40b1e9c806d46bf874a445c0'], + }), + ('sm', '2.2-5.7', { + 'checksums': ['2607a2cafc68d7e99005daf99e36f4a66eaf569ebb6b7500e962642cf58be80f'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-11', { + 'checksums': ['2cc193b82463a865cd8dadb7332409fdebf47e4035d5fe8dbf3414a7ae18d308'], + }), + ('matrixcalc', '1.0-5', { + 'checksums': ['5906e1ef06dbc18efc7a4b370adc180ef8941b5438119703bd981d1c76a06fca'], + }), + ('arm', '1.12-2', { + 'checksums': ['816ba1c31eec00feef472c57e280488d3d233b592f6f0a1a30e4abb903cb4f5d'], + }), + ('mi', '1.1', { + 'checksums': ['4d7a9790dbdc675605d70755af9aa80c21a279be5a5d712b22d77465772cc785'], + }), + ('servr', '0.24', { + 'checksums': ['d94e1d31802ce6bbab7a5838ff94cbca8cd998237d834ff25fedf7514f41a087'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.6.0', { + 'checksums': ['ddad51128b50d465e1d1aca3a53b452810b9ba578e96b08b8f50f5850d7bb21d'], + }), + ('network', '1.17.2', { + 'checksums': ['9588a198807c8c68da147f479ca9af5bcb4468cf91b6a90b8044d313d9fa30f7'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.7', { + 'checksums': ['440fa4347c7b437e93c73127d34894068afd240d3128898474a7201e740a434d'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.67', { + 'checksums': ['1f424c9254db3d553f6421b3c095b49c57683d25afefbdb195fed12f0c215268'], + }), + ('graphlayouts', '0.8.0', { + 'checksums': ['d724266778e4d97ca7a762253c293ffa3d09e2627cb1c3c7a654c690819defd0'], + }), + ('tweenr', '1.0.2', { + 'checksums': ['1805f575da6705ca4e5ec1c4605222fc826ba806d9ff9af41770294fe08ff69f'], + }), + ('ggforce', '0.3.3', { + 'checksums': ['2a283bb409da6b96929863a926b153bcc59b2c6f00551805db1d1d43e5929f2f'], + }), + ('tidygraph', '1.2.1', { + 'checksums': ['2fbdc2db18c5ad48c72f14d2d04111f4b0d4c434ad87c280eda3bcb98673ad36'], + }), + ('ggraph', '2.0.5', { + 'checksums': ['e36ad49dba92ee8652e18b1fb197be0ceb9f0a2f8faee2194453a62578449654'], + }), + ('qgraph', '1.9.2', { + 'checksums': ['baf190f6db30c4d5a3dc7ab5043b8ec0f79071d515c818c8e7666b9bcf2a4264'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + {'HWxtest_1.1.9.tar.gz': 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6'}, + {'HWxtest-1.1.9_add-fcommon.patch': '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451'}, + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.4', { + 'checksums': ['efc73fc92429973a5dc29b0913ac45ec364a4a264140cf388df54d4873d458d9'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-2', { + 'checksums': ['c70956122528575433c57a5669e26f4f9b1e160b004f135a38658c2c2634df87'], + }), + ('rootSolve', '1.8.2.3', { + 'checksums': ['b5b3d1641642a3fd1279dbd1245f968d2331ac9588d77f872b113f7dc4594ba0'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('FME', '1.3.6.2', { + 'checksums': ['65a200f8171e27f0a3d7ffce3e49b01561f219a11f3cb515ff613a45927ff618'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-11', { + 'checksums': ['b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.42.13', { + 'checksums': ['d90a9893d11190ba249c7fae5bd6517a77907efbce2941452cb2aec57bb5cf7f'], + }), + ('signal', '0.7-7', { + 'checksums': ['67a015c46d67de7548c3adb83a1b22524de75501a861d91668c3c2ea761a4e61'], + }), + ('tuneR', '1.4.0', { + 'checksums': ['561eeae1bfe10ac4a950d2a60afc6db05d28557a8cb932e00ac7b7f57b6ea0e9'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-10', { + 'checksums': ['82c731a88c741a6b4efe5069ce7dc2f765932d769323ac8d3fbb84ac30afc4dd'], + }), + ('fftw', '1.0-7', { + 'checksums': ['f69f63467b84e107f3e0b18d1f034a37140545e6f50e6be3b887df2b4eec3a1e'], + }), + ('seewave', '2.2.0', { + 'checksums': ['943b1864fe50359b253a4511522c00b0a7dbc1ce5b4033516086a0410fa1212e'], + }), + ('gsw', '1.0-6', { + 'checksums': ['147ce73da75777799af9cb712862ef25b52fcae146a64ce0a525460ddfea1deb'], + }), + ('wk', '0.6.0', { + 'checksums': ['af2c2837056a6dcc9f64d5ace29601d6d668c95769f855ca0329648d7326eaf5'], + }), + ('s2', '1.0.7', { + 'checksums': ['2010c1c6ae29938ec9cd153a8b2c06a333ea4d647932369b2fc7d0c68d6d9e3f'], + }), + ('sf', '1.0-7', { + 'checksums': ['d0731fab9438d73a55af7232f0474b36f4b2a4e6d66adaa141632f4a60265453'], + }), + ('oce', '1.7-6', { + 'checksums': ['3aaa7600bd2b322062cdeb0a0d910f6fa872fecc4dbc2e30665d51acb12261a8'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-1', { + 'checksums': ['f5e9dbaad4efbbfe219a93f446e318a00cad5b294bfc60ca2146eca894b47cf3'], + }), + ('pinfsc50', '1.2.0', { + 'checksums': ['ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794'], + }), + ('vcfR', '1.12.0', { + 'checksums': ['dd87ff010365de363864a44ca49887c0fdad0dd18d0d9c66e44e39c2d4581d52'], + }), + ('glmmML', '1.1.3', { + 'checksums': ['24e34f0834bded06d52cbd9cb025dc65ea2db2faa7dbee01d545aa33eea35e7c'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.0.2', { + 'checksums': ['957b49027c2111f51893433e902486141a942a5ed384ca605714605de80d1790'], + }), + ('tclust', '1.5-1', { + 'checksums': ['73328b30774bb0767d613d7f2b60b75706b19fab864c712645ea18181f1af327'], + }), + ('ranger', '0.14.1', { + 'checksums': ['5d99401d555da1cfb11c70e59d1bb545ce48720073a06a2a32eb396f622dee1b'], + }), + ('hexbin', '1.28.2', { + 'checksums': ['6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d'], + }), + ('lobstr', '1.1.2', { + 'checksums': ['9bc533ed7e8f816097a03acfbca33308c9940ba26d02674f4ba06311cf3a1718'], + }), + ('pryr', '0.1.5', { + 'checksums': ['7b1653ec51850f4633cee8e2eb7d0b2724fb587b801539488b426cf88f0f770b'], + }), + ('moments', '0.14.1', { + 'checksums': ['2ed2b84802da132ae0cf826a65de5bfa85042b82e086be844002fe1ce270d864'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.1.1', { + 'checksums': ['7581adca64cf20b93d5a111da83f663215b4529868b065b3463c4238bca97739'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.6.0', { + 'checksums': ['bbac8552f67ff1945180fbcda83f7f1c47908f27ba4e84921a39c45d6e123333'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-0', { + 'checksums': ['cbcca84a82d63fa50556aa8db29312b9bb588a638eb306ce4a81c271529228fd'], + }), + ('WriteXLS', '6.4.0', { + 'checksums': ['644b90a82683c668b6e05bb4f940111a42cd634f63a5b559351e8cd4274a19b7'], + }), + ('bst', '0.3-23', { + 'checksums': ['70957f1db8800bf0d628a9e6f72b7273329786dd119427790b326844591aa0f3'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-9', { + 'checksums': ['983733b618631d9ad754fb12f5e576912aff1f529cafdee4fddfd38d81ccc710'], + }), + ('mpath', '0.4-2.22', { + 'checksums': ['f9709532b2254befea7fd4046179ee60ebcb4ac1fa7b0564fe34643d22f59b44'], + }), + ('timereg', '2.0.2', { + 'checksums': ['b1f62be5d34d4d36c3b14cd3c719f936c9e3a80e2907bdeab240821267db3559'], + }), + ('peperr', '1.4', { + 'checksums': ['0a44f40cfeb298cbe990dba0d9c979070d7a8659581dea09dd3238526fb59f39'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.15', { + 'checksums': ['d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.15.2', { + 'checksums': ['4ba3885b66694589d455ffef31c218fe653fa25aff3efb7e8db6c25008d2921b'], + }), + ('RInside', '0.2.17', { + 'checksums': ['0be28c44ee34cba669a7264d2b99c289230645598ca78e21682559dc31824348'], + }), + ('limSolve', '1.5.6', { + 'checksums': ['b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0'], + }), + ('dbplyr', '2.2.0', { + 'checksums': ['4a6e092c9349f8b3030c752f8c6cc551637d6fbca3c84be0da89968f1e9adce1'], + }), + ('modelr', '0.1.8', { + 'checksums': ['825ba77d95d60cfb94920bec910872ca2ffe7790a44148b2992be2759cb361c4'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.1', { + 'checksums': ['0e6d8667cacb63135476a766fba3a4f91e5ad86274ea66d2b1e6d773b5ca6426'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.2', { + 'checksums': ['89bb477e0944c80298a52ccf650db8f6377fd7ed3c1bc7034d000f695fdf05a4'], + }), + ('dtplyr', '1.2.1', { + 'checksums': ['2640e9cde4eaa06f02cff29e3f2b99fdd08488df07ea2e6629b2ed6a8285d0f3'], + }), + ('gargle', '1.2.0', { + 'checksums': ['4d46ca2933f19429ca5a2cfe47b4130a75c7cd9931c7758ade55bac0c091d73b'], + }), + ('googledrive', '2.0.0', { + 'checksums': ['605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.0.0', { + 'checksums': ['0a107d76aac99d6db48d97ce55810c1412b2197f457b8476f676169a36c7cc7a'], + }), + ('tidyverse', '1.3.1', { + 'checksums': ['83cf95109d4606236274f5a8ec2693855bf75d3a1b3bc1ab4426dcc275ed6632'], + }), + ('R.rsp', '0.44.0', { + 'checksums': ['8969075bdcabd43bad40eef6b82223e119426279fded041163fd41e55cee3a59'], + }), + ('gdistance', '1.3-6', { + 'checksums': ['2ccabeb2f8cf44630c0bd2da79815fe357b812737ebece1bed8f90b27c126a24'], + }), + ('vioplot', '0.3.7', { + 'checksums': ['06475d9a47644245ec91598e9aaef7db1c393802d9fc314420ac5139ae56adb6'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.6-6', { + 'checksums': ['b1b321ad1b4a4a14a2825a2c3eb939ce2f2bcef995247a1d638eca250e59739b'], + }), + ('tmvtnorm', '1.5', { + 'checksums': ['1c7a606bdce4319a6fdb4180fef499c293df3412d8583e296869521ece5460fe'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap.datasets', '0.0.5', { + 'checksums': ['2299b52efee322ce0eaf66c66ae440f46618b647701cd741568c08bdc3111c9c'], + }), + ('plotly', '4.10.0', { + 'checksums': ['bd995c654dbc8c09a84adaba8def99766919e3894caf18b551bb26b2f591389a'], + }), + ('gap', '1.2.3-6', { + 'checksums': ['0ef352aa98a3bf27908b256f27a903058502176ea9112a4ffc41928ebbc48c22'], + }), + ('qrnn', '2.0.5', { + 'checksums': ['3bd83ee8bd83941f9defdab1b5573d0ceca02bf06759a67665e5b9358ff92f52'], + }), + ('TMB', '1.9.0', { + 'checksums': ['2c9dd281d911c2cb1cc01c6a8e114826891280f15e0ed4a00b4f195e15df25d7'], + }), + ('glmmTMB', '1.1.3', { + 'checksums': ['b9d1e97587b213e52ff304f62480ddee77c658f29a7e99334a4032d0df60b275'], + }), + ('gmp', '0.6-5', { + 'checksums': ['8ae76f3d17542eab3e7468341dabeebe28b11da8c1b4b3f7bbdb00d379689e52'], + }), + ('ROI', '1.0-0', { + 'checksums': ['b0d87fb4ed2137d982734f3c5cdc0305aabe6e80f95de29655d02a9e82a0a341'], + }), + ('Rglpk', '0.6-4', { + 'checksums': ['a28dbc3130b9618d6ed2ef718d2c55df8ed8c44a47161097c53fe15fa3bfbfa6'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '3.12.0', { + 'checksums': ['ff3af7ab107655bd521bba68093696f343de29294602d00dee7601cc91245f2d'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.5', { + 'checksums': ['0fcd41099ababedff010d8fe05f8efa630cceb829dbb87af8b8d650ad49d88bf'], + }), + ('mvnfast', '0.2.7', { + 'checksums': ['b67d50936c9a466977669ef6bb7b23df8e7c90a820ac916328c20e41ef8e0b72'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.7', { + 'checksums': ['af49389bdeb794da3c39e1d63f59e6219438ecb8613c5ef523b00c6fed5a600c'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.2', { + 'checksums': ['9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.1', { + 'checksums': ['d4dcb650757bfbf8ae388622686be20e8d55cca68096146a30aee8ced96aa113'], + }), + ('Rssa', '1.0.4', { + 'checksums': ['4115b516f6782d52f02695bbbd52921a474aafc7232d49aca85010f1c33b08a7'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-0', { + 'checksums': ['7443d6cd154760d55b6954142908eae30385672c4f3f838dd49876ec2f297823'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-23', { + 'checksums': ['f8217c3bb077cb805e0cd7761efecac1231035bfc195246b9f185f744c550e6c'], + }), + ('Matching', '4.10-2', { + 'checksums': ['1e75dc61553c1687b2b520dc52688409c2e84285e4b6c16c94d8d85fd5ccece0'], + }), + ('MatchIt', '4.4.0', { + 'checksums': ['e79a96e7972097829a839c855c0bc97638eeae4b148e01340dfa5296323e6c06'], + }), + ('RItools', '0.1-18', { + 'checksums': ['714685d8e04acafe5d5ddf93edac69afec0c62045a7b93478734771b6a0fa928'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.1-1', { + 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], + }), + ('rlemon', '0.2.0', { + 'checksums': ['e06792875f05a0c6cd637b7bf16bd51c3891e0df6bad78ffba0ee195abe8d3a0'], + }), + ('optmatch', '0.10.3', { + 'checksums': ['ed09be71b0e293273412d4a181c1f085ad93f4038996dc7c90beae8466574aeb'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.4', { + 'checksums': ['2b349896560ad18c3428e245fc25b17e9c2946676044fa56025ddf9c87ff08bf'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.8.0', { + 'checksums': ['bb7df05d6b946bcdbbec2e3397c7c7e349b537cabfcbb13a34bcf6312a71ceb7'], + }), + ('distrEx', '2.8.0', { + 'checksums': ['b064cde7d63ce93ec9969c8c4463c1e327758b6f8ea7765217d77f9ba9d590bf'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('KODAMA', '1.9', { + 'checksums': ['e4f8bbfeae9d2f628f7338c708a538aae481a633e59e86727f9b6f9c72920ecf'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-2', { + 'checksums': ['e721596fc6175d3270a60d5e0b5b98be103a8fd0dd93ef16680af21fe0b54179'], + }), + ('dtw', '1.22-3', { + 'checksums': ['df7cf9adf613422ddb22a160597eb5f5475ab6c67c0d790092edb7f72ba98f00'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.3', { + 'checksums': ['f5eafab17f2d4a8a2a83821ad3e96ae7c26b62bbce9de414484c657383c7b42e'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-8', { + 'checksums': ['f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('RcppTOML', '0.1.7', { + 'checksums': ['2f09f00cbee6c6eeff5d5f0195c10de0155496de15fbe8189c18627ee3090541'], + }), + ('reticulate', '1.25', { + 'checksums': ['2125af9e75939c3b7c0dc74f28f42606e816d63aa1143baf631c318ff5ff3a2c'], + }), + ('hdf5r', '1.3.5', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['87b75173ab226a9fbaa5b28289349f3c56b638629560a172994b8f9323c1622f'], + }), + ('DTRreg', '1.7', { + 'checksums': ['f0fad2244d960cec8fc33d9a1078df359ceb0aadff980ce6149aa9f01c62223b'], + }), + ('pulsar', '0.3.7', { + 'checksums': ['78c9f7e3b2bf8a8d16a81d6ee43bb05b0c360219be473d920c8c8ccb2aba4e3d'], + }), + ('bayesm', '3.1-4', { + 'checksums': ['061b216c62bc72eab8d646ad4075f2f78823f9913344a781fa53ea7cf4a48f94'], + }), + ('gsl', '2.1-7.1', { + 'checksums': ['ee98d1382d37ffa77538a90ccdbf44affbf1710a9e66b8ada73fa72e67921985'], + }), + ('energy', '1.7-10', { + 'checksums': ['543de4875c46cc90e711e71c45b082d962fbb5158a094f9f10d37d3f57e1bea7'], + }), + ('compositions', '2.0-4', { + 'checksums': ['7b9c7a3bf654fb02d9eb1b4a7566469b2f5232f3b2c1b324c02239fd31060faf'], + }), + ('clustree', '0.4.4', { + 'checksums': ['7a6100f88c9a6e8d10b253ee227ecf1dc4e84e418eb8da64cd801d2a158b956f'], + }), + ('tweedie', '2.3.3', { + 'checksums': ['a032cad512dac37a8619e6f66cb513eb82a88a5a2ffbe91e92c2d44d1756d0d9'], + }), + ('RcppGSL', '0.3.11', { + 'checksums': ['f094ea26c99b04d9e203986a1f2003f02472ceca0e2ef1c3beefd3ae80aeada8'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('gllvm', '1.3.1', { + 'checksums': ['cd3f72b84f0c722e9c0b21c2b2de7683ec742345d7f8e62f67c8c93342c1a5c6'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.7', { + 'checksums': ['9ebc8e45ad73eb51e0b25049598a5bc758370cf89508e2328cf4bd93d68d55bb'], + }), + ('ergm', '4.2.2', { + 'checksums': ['ced92b0a32c78c85546d665c32fb3993fe77a3809aa88f43c3eee39e2577f2f0'], + }), + ('networkDynamic', '0.11.2', { + 'checksums': ['beefaf50eb8609528358b75f5814a8f1cdc4d2db8059b99be69919da2bc02beb'], + }), + ('tergm', '4.1.0', { + 'checksums': ['abff35b48b53a182d9424c78c5240bde1259b695c2328861000193bf88044a50'], + }), + ('ergm.count', '4.1.1', { + 'checksums': ['446893614ad8b41aa39c37c2bf45a167f575536bb6778b8ad1fbcddb7b934932'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-7', { + 'checksums': ['b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260'], + }), + ('MCMCpack', '1.6-3', { + 'checksums': ['cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.1', { + 'checksums': ['14f67ce96dd8f1cb457614271b0b4376dd6fd3073a2e727a17c0964be67272cb'], + }), + ('asnipe', '1.1.16', { + 'checksums': ['be50f9fdef0f4bf9676b9c3c2906d0431afc678af55cf48b1119f9fc0adac44f'], + }), + ('liquidSVM', '1.2.4', { + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + {'liquidSVM_1.2.4.tar.gz': '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'}, + {'liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch': + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8'}, + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.36.1.2', { + 'checksums': ['d470dc71e637d589bf228e59ddb021ade240d74536323d8ca77ac1fb334d3535'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.1', { + 'checksums': ['f2c31cb94d7485174a2519771127a102e35b9fe7f665e27beda3e76a56feeef2'], + }), + ('bartMachine', '1.2.6', { + 'checksums': ['5e1ac0033da5b41a96d95782886a167e51ff8e43822800e8d40874ff9c13847f'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.10', { + 'checksums': ['59266ffdf702ab1ecca7cbcf0538afe38d1a15abea66056734b62c0c15609c7c'], + }), + ('GUTS', '1.2.3', { + 'checksums': ['40061ec1677def40b410b5ef90d01e0bcb0095abed1545513a33a01d4444adc2'], + }), + ('GenSA', '1.1.7', { + 'checksums': ['9d99d3d0a4b7770c3c3a6de44206811272d78ab94481713a8c369f7d6ae7b80f'], + }), + ('parsedate', '1.3.0', { + 'checksums': ['1e9399d6b16079e6cdc43fa33742d6b7e6e2b6bb2ba470bfe9d30d55b7be4cb0'], + }), + ('circular', '0.4-95', { + 'checksums': ['483d3e31e9c7afe59e6bcb98ad17c4f6333d19b6c70f948b168c9ee16e90bce2'], + }), + ('cobs', '1.3-5', { + 'checksums': ['7fae7da8f940975d544120c836e2d3b874f9b0cbab9631851ce986709f51c611'], + }), + ('resample', '0.6', { + 'checksums': ['1b958009b18c92a47971847c782af76952ea4e85d5f1e3e1e70fa35c67b95265'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-7', { + 'checksums': ['d28107a4bbbb0ace1d571f0aa6884ee4c50d7731c04bceba207fd55a39b83b9c'], + }), + ('Rserve', '1.8-10', { + 'checksums': ['af63a28a4958dbe82597586494d0277272842bb3869db70c547d0896f1345d2c'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '7.0.0', { + 'checksums': ['6ff520d27d68637058c33a34c547a656bb44d5e351b7cc7afed6cd4216275c78'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '1.5.0.2', { + 'checksums': ['4772c352e8d3d9b5a0b7480c0e0962de4f5060fb7bf3fcb8ee4fa1cb10f93fd4'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.0', { + 'checksums': ['82afc9b8c6d617f5f728341960ae32922194f637c550916b3bea12c231414fa7'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-61', { + 'checksums': ['71311b16ce380fd9a8834be95b55b3d1b47e4ee2b8acb35b8d481138c314dc31'], + }), + ('bdsmatrix', '1.3-6', { + 'checksums': ['f9c871d54378408902931792b3dbf8bda863d6aa67af6a0472a6ec1c420760bc'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.21', { + 'checksums': ['0771f82034aa6a77af67f3572c900987b7e6b578d04d707c6e06689d021a2ff8'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.0.2-2.1', { + 'checksums': [('6918b62f51252b57f2c05b99debef6136b370f594dc3ae6466268e4c35578ef8', + 'eea3a51a2e132a023146bfbc0c384f5373eb3ea2b61743d7658be86a5b04949e')], + }), + ('sampling', '2.9', { + 'checksums': ['7f5ba5978f6cdbbbdb6f51958197b28b6fc63e7eeee59e6845ea09fb37d1b187'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.25', { + 'checksums': ['86a8c69902fbf6caf337f9bc532afe89dc2a59dd24287a2423d781797010b255'], + }), + ('emdbook', '1.3.12', { + 'checksums': ['0646caf9e15aaa61ff917a4b5fdf82c06ac17ef221a61dec3fbb554e7bff4353'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.2', { + 'checksums': ['c116f979ed891ec55f3e1e7b9a92436b5ec9430c1170439a501ecb7e2a33ef4d'], + }), + ('tictoc', '1.0.1', { + 'checksums': ['a09a1535c417ddf6637bbbda5fca6edab6c7f7b252a64e57e99d4d0748712705'], + }), + ('ISOcodes', '2022.01.10', { + 'checksums': ['b25ddec624b46f5630c29267bdf4a749cfb9d001ef029fb9ca84dafe56b1c73f'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '0.1.5', { + 'checksums': ['992f6673653daf7010fe176993a01cd4127d9a88be428da8da7a28241826d6f3'], + }), + ('SnowballC', '0.7.0', { + 'checksums': ['b10fee9d322f567a22c580b49b5d4ba1c86eae40a71794ca92552c726b3895f3'], + }), + ('tokenizers', '0.2.1', { + 'checksums': ['28617cdc5ddef5276abfe14a2642999833322b6c34697de1d4e9d6dc7670dd00'], + }), + ('hunspell', '3.0.1', { + 'checksums': ['1fedbb913bc13c790d2fabfe4edda0a987db3a078bea8c0ca9b777d20af08662'], + }), + ('topicmodels', '0.2-12', { + 'checksums': ['afd83a4381bf39e470446ebefd41ed03f314be400c1b2f702a4b1060eb8fd1b4'], + }), + ('tidytext', '0.3.3', { + 'checksums': ['753b2bcea6e343ac439869b92e7c11b0aaf98ce5c0373965da6c7d087d57924e'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.2-0', { + 'checksums': ['a102a2d877e42cd4e4e346e5510a77b2f3e57b43ae3c6d5c272fdceb506b00a7'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.3', { + 'checksums': ['6b3910dc48495439cd01828f8999823864a6712f73560ee3e6c903065c67d1e4'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.5.1', { + 'checksums': ['866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1'], + }), + ('RcppParallel', '5.1.5', { + 'checksums': ['6396322b3b6d6f7019aac808ceb74707bc5c4ed01677fab408372c2a5508c2ea'], + }), + ('StanHeaders', '2.21.0-7', { + 'checksums': ['27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b'], + }), + ('V8', '4.2.0', { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['6c62fdc974cc30fa975cad4ccb1e3796112fc2490a807f6e3d7878c3a5544743'], + }), + ('rstan', '2.21.5', { + 'checksums': ['86e4fe562d8ddcd0b02336f35a420fa8786dd21de7ca2bebb4ed6e9c252bb9ea'], + }), + ('Rborist', '0.2-3', { + 'checksums': ['f3b3f953ca99e0d17425ac6ba9a7b1e9d6098343abace575cdb492bca2a9c461'], + }), + ('VSURF', '1.1.0', { + 'checksums': ['eee99e0c441795c2ccb21cc6e0a37b24f580241e494c83e811b726b43469eeab'], + }), + ('mRMRe', '2.1.2', { + 'checksums': ['a59a3cb3cca89f51d9ee6702cd479fd7db8bc2e25b72f45cb6712da983777ca0'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '2.9', { + 'checksums': ['4af14e6f3657134c115d5ac5e65a2ed74596f9a8437c03255447cd959fe9e33c'], + }), + ('ggsignif', '0.6.3', { + 'checksums': ['ca8545b25590e531512a90a18449a2cbab945f7434a1d60188c41f7d1839a7a9'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.0', { + 'checksums': ['a5ae17dc32cc26fc5dcab9ff0a9747ce3786c9fe091699247ad8b9f823f2600c'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.4.0', { + 'checksums': ['abb21ec0b1ae3fa1c58eedca2d59b9b009621b30e3660f1247b3880c5fa50675'], + }), + ('yaImpute', '1.0-32', { + 'checksums': ['08eee5d851b80aad9c7c80f9531aadd50d60e4b16b3a80657a50212269cd73ff'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('patchwork', '1.1.1', { + 'checksums': ['cf0d7d9f92945729b499d6e343441c55007d5b371206d5389b9e5154dc7cf481'], + }), + ('leiden', '0.4.2', { + 'checksums': ['cace86748c4aa1720508210658ee2f63f7875be5bac215084001fdc59d22e2bd'], + }), + ('sctransform', '0.3.3', { + 'checksums': ['83af125c40f211e1ddae5098f88766aea1453c02ae98486081f3efadb3620b2b'], + }), + ('packrat', '0.8.0', { + 'checksums': ['3025b9052974bec00fb09299226b80004d48e611e15a65e5a0bc49d3538844ef'], + }), + ('colourpicker', '1.1.1', { + 'checksums': ['a0d09982b048b143e2c3438ccec039dd20d6f892fa0dedc9fdcb0d40de883ce0'], + }), + ('ggExtra', '0.10.0', { + 'checksums': ['dc6855bbb7e81ffa58d6b65b594d22718fa36b7f50b2284386f70fa8ccc6a3e5'], + }), + ('findpython', '1.0.7', { + 'checksums': ['59f904b9c2ec84b589380de59d13afbf14d1ec3b670e3a07e820298aaf04c149'], + }), + ('argparse', '2.1.5', { + 'checksums': ['83e112beb47733849980b286d93ac930f0cbe6ac78fcb94fc9f6b0eea882658d'], + }), + ('intergraph', '2.0-2', { + 'checksums': ['6cbe77f1e87fa1c110db2d46010f2f3ae72bfdb708ce2ca84c1cdc2cd6eb47a1'], + }), + ('ggnetwork', '0.5.10', { + 'checksums': ['1b655dbab8eed8d0aa3ab2148aac8e0e5bfa190468f5e3c06b001ce88b7f0d3f'], + }), + ('qqman', '0.1.8', { + 'checksums': ['58da8317df8d726d1fde4805919da5d64f880894a423ee20937cafb479b9d8a8'], + }), + ('rstantools', '2.2.0', { + 'checksums': ['cb810baeb90c67668361b666c6862df9917aff6aaec63d2c3a485f28407c4eb7'], + }), + ('distributional', '0.3.0', { + 'checksums': ['fab36c7346617d8f2ca4b3cd0e3c9da93cb2f95fb7f102a3ae88670e694751d6'], + }), + ('posterior', '1.2.2', { + 'checksums': ['d615ed75b43b2927002b79d2982c624a6144c851aac7b81fa14e4ec9cc3d353b'], + }), + ('bayesplot', '1.9.0', { + 'checksums': ['0a81a4b99cf781334e57cfc3c469fad8b932a68204016a3bbca33cab4e2a1e43'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('rsconnect', '0.8.26', { + 'checksums': ['faafabbed803743799b345051f221aef2b4497b421fc98092ca41c05ef6b5fed'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2022-4.30', { + 'checksums': ['ebe9887a22296cf4b2db07981aaa1f898bf7c17fb61a4b398c228d4077d0b410'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('projpred', '2.1.2', { + 'checksums': ['a88a651e533c118aad0e8c2c905cfcf688d9c419ed195896036b8f6667b5cfb0'], + }), + ('brms', '2.17.0', { + 'checksums': ['24e5a3a40b81bea558e8f660d0de7fd1a4c2080c7553baac98f34dd2682ece71'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.6.6', { + 'checksums': ['8edb6607c5d91cea5ba32290eeb76c35317383a24d726bde6eca61f9cce96bb9'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.2.5', { + 'checksums': ['a54f49f42d30a7a69eb6c3db00d3cd2e1f8e549aec28fa5487fcdd27a37f87fe'], + }), + ('maxlike', '0.1-8', { + 'checksums': ['90aaab9602f259cbfae61fe96e105cc4a0c2a385b42380f85c14f5d544107251'], + }), + ('coxme', '2.2-17', { + 'checksums': ['dd0565f97adb7ff978d1dbd6cb7d6e44edee5e2a31cf6d5d4806a0151d1b1318'], + }), + ('AICcmodavg', '2.3-1', { + 'checksums': ['d0517da15a38e9b1df20fa73f5342b586624e65792d266e7dff278ad7fc458b0'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.3.2', { + 'checksums': ['ebfa756e08f6ac0aa61556b1a5bbe611f407bfff8aef1f8d075a24c361678bfd'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.7.2', { + 'checksums': ['460f9e80bb3d90618bb80a8b57ac6fed99a22e8919279df47b6d0710b6a89d5f'], + }), + ('rgdal', '1.5-32', { + 'checksums': ['4583a4e187492eb936b59bc6bfeefea687b115bc3ae25172e0ed348b38f473ed'], + }), + ('rgeos', '0.5-9', { + 'checksums': ['ab90cbfe6a3680a9d2eed5e655064a075adc66788e304468969ab7cc2df0e3d4'], + }), + ('mapproj', '1.2.8', { + 'checksums': ['865f108f1ee54cda38571b86cd46063a903824d9b4eabfdf75218023d08a7781'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.5', { + 'checksums': ['e5cfb2e4dd8ddd1452a5afcf24fcc260889179d0f52eff4f41835adf99b64614'], + }), + ('spocc', '1.2.0', { + 'checksums': ['4bac45db5e69bfa3bf6cebd1b0c9241214c95561f275cee6d31e00911aa79d84'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('rangeModelMetadata', '0.1.4', { + 'checksums': ['529d529ca90437db3d1e45118443e27a920422806383c7edaa2102beb43f5f80'], + }), + ('ENMeval', '2.0.3', { + 'checksums': ['4b39173a8d9dc4f36d09509e0177abcf91b7b1b51dc219eebcb007a0fb8c3c41'], + }), + ('plotmo', '3.6.2', { + 'checksums': ['cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c'], + }), + ('earth', '5.3.1', { + 'checksums': ['0bbe06ba974ceb8ec5de1d59cb53f9487d1828d7130fe2503c48b6cb449c4b03'], + }), + ('mda', '0.5-3', { + 'checksums': ['bda6409c17f385fae97da458cc742334e7b47aab8217a975b7551e2e18d38463'], + }), + ('biomod2', '3.5.1', { + 'checksums': ['30ed33ff980558a59782ec9e35f9c2c710a540718010654363f63878cdc0ac18'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.2', { + 'checksums': ['aa2c774d6c6dcfeec882c1936e8723ef49bd36030fb10c17ca60bb9d4a519443'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('fasterize', '1.0.3', { + 'checksums': ['62b459625e9bdb00251ec5f6cb873e0c59713f3e86dc1e2c8332adc0cea17f81'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-3', { + 'checksums': ['56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-1', { + 'checksums': ['e8abadc5614f132edc3fb9cb1c82ce4dacc1315b727fbd49db7399aee24115ba'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.16', { + 'checksums': ['fab573abdc0dd44e8c8bc7242a1428df20b3ec64c4c194e5f1f907393f902d01'], + }), + ('dbarts', '0.9-22', { + 'checksums': ['68fa2bfe274811c91ea7b67da46c4ffe527eb662d75edbec26ffe934ddc7150a'], + 'preinstallopts': local_dbarts_preinstallopts, + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.1.6', { + 'checksums': ['2aa85997d5ec2222e610604022684c004a4925241761d9a0104919f1cf3a8c79'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-8', { + 'checksums': ['28b10c91d693b938ebca610933889095ca160b22e6ca750c46103dfd2b009447'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '1.7.0', { + 'checksums': ['f6a8ec724df68983c9b176a1b3b3b01239cc4e99aac4bfb42ce1c2b3d40922c2'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.7.0', { + 'checksums': ['09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('elementR', '1.3.7', { + 'checksums': ['4275f88f372a2efe96ccd0afc20f4f12be92f28c7db35c68b80bb0ffb2c2ab07'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.8.8', { + 'checksums': ['c81441af7588c62ab019ef2fbf31f61e0c2e3440a5e131938b1c5946cd2bce1a'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-3', { + 'checksums': ['ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.1', { + 'checksums': ['d67f5c71b1209bea655d1e8d7530fa72359e0bcac25312551524501d0287e3cf'], + }), + ('lmom', '2.9', { + 'checksums': ['363e62751a73e0870fd0206206f1743a884a23aeac9b31b9afc71c0a1b51bb90'], + }), + ('gld', '2.6.4', { + 'checksums': ['0db6daee1b6e256d64d292c1f6795c505677331dcf2f97e04e264566ded93323'], + }), + ('DescTools', '0.99.45', { + 'checksums': ['8dfe7057fdcec475bc444761b00db59f6fb7313fd39c7bd6aebeca7f67aceb05'], + }), + ('orthopolynom', '1.0-6', { + 'checksums': ['17576157374c927da2959459caf2ed161b49a4a7768ea3d3fbe47656cafacc5b'], + }), + ('gaussquad', '1.0-3', { + 'checksums': ['a3337ce52bc53435cb4565a38bf48b72b384be397d2e86bb66f62973004dc810'], + }), + ('nlsem', '0.8', { + 'checksums': ['495a5d07aa5f59efdcd43acf429ae842453abd6c0720a80e2102d663fa997c60'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.0.7', { + 'checksums': ['a8f66172973dc75d1d751d7015e0f028c441263f6649909bd25fa944be0042c3'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-5', { + 'checksums': ['027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5'], + }), + ('blavaan', '0.4-3', { + 'checksums': ['a9f9f7b32aab7e7f179340c9f0f9d154b5fac51352c4fd590d317c201fe81b74'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '3.4-0', { + 'checksums': ['92e1bc21c4d135b6e651fbefc4b40666fc02c66a6a4f6f28effee0e73a21c26e'], + }), + ('fmri', '1.9.6', { + 'checksums': ['7614290d880667512744d3450480a670cc38abdb270f3f776ac9a17a793f07f2'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.5', { + 'checksums': ['2cab23b60d9d97474c946da7369e859c19dee20288eeccdcb123fccdc50a3999'], + }), + ('DEoptim', '2.2-6', { + 'checksums': ['8c63397d83a067212d003ef3e639fd81f5f00bf61e3c271b4e4999031a69e2e1'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2022.4-1', { + 'checksums': ['61c06e6bd6b43c295472c6990266fe87ca41e57db04d3460e756a35ef24e0824'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2022-4.30', { + 'checksums': ['2684b8e7fb970da2afbc00e482031cf4447416249d04c4c1740400ad112fb911'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.13-12', { + 'checksums': ['74ab5503d6f3c0d016166a4c664918d60f1adb0672d8aefbc57385be3d287c3a'], + }), + ('visdat', '0.5.3', { + 'checksums': ['527c76b6643b8475a58516763ef40238cdc61ec62d2dcf690f7c316b93b878c6'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-10.0', { + 'checksums': ['4384791af74c1008238f036abe0dda4b4048b9700cc4acd7b45025598fd20cc7'], + }), + ('naniar', '0.6.1', { + 'checksums': ['d546ca15bf6c224f3103eb1441abef91d34feebb7320c2398d598f5d50177450'], + }), + ('stringdist', '0.9.8', { + 'checksums': ['efccd6ccc5c74c578be95b7dae1099c52b0d7805452ab14ee91ca34adb8261bb'], + }), + ('image.binarization', '0.1.2', { + 'checksums': ['0621ca94a74264bb73f689b1a00484b5a3bbef93fc203d9c001d791a18fcc13f'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.10', { + 'checksums': ['adc2b2a621625b52165245ab2f3a0bfba4f4db64fcc6ad48a3e5b219c3bd2fa1'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.8.0', { + 'checksums': ['28ff1c2dbddcafc6ed6c30154f46074aa0c8974757466680529b71a5f3e463ec'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('alabama', '2022.4-1', { + 'checksums': ['a8c62859b39a8340ecf7bbf411fac303c059e4237d28ff7bba9ba3daaca1d36c'], + }), + ('admisc', '0.29', { + 'checksums': ['ce46df3d75afd47dd97824bc3e740c708b25ae023d007f1a180dcb88ca14740b'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-7', { + 'checksums': ['0abe3c894c0d8e928a920e73708a397133386a0d73a1e7952c4075afe67879e6'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('cSEM', '0.4.0', { + 'checksums': ['7753ac7db9d2c0392e51dd31ec8638e1a7fcbb2546dd9103f5ecc03dd51836c1'], + }), + ('cubelyr', '1.0.1', { + 'checksums': ['740a34100592b2c6b7bc89a31bddccf4c8fd95720caf68f530104f17aada77bc'], + }), + ('furrr', '0.3.0', { + 'checksums': ['3fe91cc1614f9404c708ea3a15b6a40289fa57f40f3ece54452093408d91fd84'], + }), + ('broom.mixed', '0.2.9.4', { + 'checksums': ['7631cd29316a32050b9e72057754e053d7f9064a75900bb7e69b29ebca6c60b2'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.1.0', { + 'checksums': ['02a4fe9c8147768f1345be2f8ca73fca079af5f07ccaa4900f9ec255ca66bb19'], + }), + ('xgboost', '1.6.0.1', { + 'checksums': ['9ae99a20997e1b02ffd21cabada2a55e53f5754746238ee900de5eb6cd964ebd'], + }), + ('twang', '2.5', { + 'checksums': ['fc355527c57e4f6e0f60d26d7c690c4475fcd5fb165d125fea7cc6b9fafc4ce5'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.2', { + 'checksums': ['fe0c67cda541639a1a2147f68cae29d17cd05ff8edb6f7bea8d44be346a5f1b6'], + }), + ('origami', '1.0.5', { + 'checksums': ['8d0d08aaecc428cbbf5db4615ad3623777c10c6d7947a1cc3ccc7f8db8cb5263'], + }), + ('hal9001', '0.4.3', { + 'checksums': ['f2489e7a0a16db6dc65da8ce13bfb7f0854e6f303c9ec05f6158d46c66b6588c'], + }), + ('cobalt', '4.3.2', { + 'checksums': ['b9bfd0746e41de6a61fd8f3fa51eb344190a226445e51ef032931b026d5d314c'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-8', { + 'checksums': ['f48a92de222da0590b37a30d5cbf2364555044a842795f6b488afecc650b8b34'], + }), + ('finalfit', '1.0.4', { + 'checksums': ['446940d300c8b725e798bf2a2829a41165d25a939d2c59425768234438a2deb1'], + }), + ('broom.helpers', '1.7.0', { + 'checksums': ['2b7087ca73af04a130e78dfbf4941590e3557bcce4ec7e0106b012df061581f5'], + }), + ('gt', '0.6.0', { + 'checksums': ['469384e0daecd4b09d5814e4e56b17e9220d872a1906625cc6f609d22ce226fb'], + }), + ('gtsummary', '1.6.1', { + 'checksums': ['fe04caf79826ecf4fd9da0ef5d4705775a15bf18a7d508a53492a086798ce35c'], + }), + ('ncdf4', '1.19', { + 'checksums': ['cb8d139211fc7475c435ce9f6a43e47710603409dc523b053c8b7de9848dfb63'], + }), + ('geex', '1.0.12', { + 'checksums': ['037aece09bc0c4349897cd1d8f5dcf1e680598cdfdf72148b6d1506e02690e7f'], + }), + ('momentfit', '0.2', { + 'checksums': ['a10d43ac23bb61b9c67efa4800e3e2b6a444c1afaca8bad351648accd7e003f6'], + }), + ('StatMatch', '1.4.1', { + 'checksums': ['0c5479c444cb831d21b6305fc4cdcdf2653723ff08a31427dc2b236ca4f25bc5'], + }), + ('stars', '0.5-5', { + 'checksums': ['f359577c9e08066cb9ea6aab9b8eae574efea95ba6efcc250663f2c350fe8b41'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.1', { + 'checksums': ['929191ab32e34af6a02ad991e29314cc78ea40763fcf232388ef2d132137fbce'], + }), + ('geometries', '0.2.0', { + 'checksums': ['8cf5094f3c2458fef5d755799c766afd27c66cd1c292574a6ab532d608360314'], + }), + ('sfheaders', '0.4.0', { + 'checksums': ['86bcd61018a0491fc8a1e7fb0422c918296287b82be299a79ccee8fcb515e045'], + }), + ('geojsonsf', '2.0.3', { + 'checksums': ['275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.1.1', { + 'checksums': ['32f6a043759a0d2d98ea05739b7b4c55a266aa01272e48243e3c44046c7a5677'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.0', { + 'checksums': ['97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-3', { + 'checksums': ['60e58eef0f8c723db855d59117ca9f9b5e3663ba34b5ca783dc889bf20285e04'], + }), + ('collapse', '1.8.6', { + 'checksums': ['9c13f4322d496702255652c9467fc2a202bfdb36cee6d78791780b7ab988f3ef'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.4.4', { + 'checksums': ['8449b1181fd7f325a2f0539cdaa4a4ff895c41424f462f52258729436078c90a'], + }), + ('Rmpfr', '0.8-9', { + 'checksums': ['cfee5ab47d49c6433c372a267f7d849c8f7c61a84e00d08afb047eaafcdbbc8a'], + }), + ('scam', '1.2-12', { + 'checksums': ['0ce5f844221370884719424eb5b2b22c34a8a8ad64eac3de981e5539b6e88f4a'], + }), + ('copula', '1.1-0', { + 'checksums': ['9ab76e6256534db2a18d3880143b8c67e385767010de861bbde25212aa75d924'], + }), + ('evd', '2.3-6', { + 'checksums': ['8edb8bc4f06d246c4343fd923bb5d5df99724d6db8821bfd996220343a834cb6'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6', { + 'checksums': ['f8abe1900a83892a9ee96bc62cdb1a42fabf8ba66eed60e44f59bd203b5f6779'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('rngWELL', '0.10-7', { + 'checksums': ['0c00c54e69d7d552cfa08d766e4854c01c6c1c8e2c558f387760b91a55ef2d38'], + }), + ('randtoolbox', '2.0.1', { + 'checksums': ['c4f28963fe5dbc821427691527a204aa6e08ab40bf00337f220cc60b81d552dc'], + }), + ('kde1d', '1.0.4', { + 'checksums': ['124eb2e427e08fd24ca37e0baa697736601785d6c6fb1c97c2ebcc5146bb4556'], + }), + ('RcppThread', '2.1.3', { + 'checksums': ['127e3d333dd412334d89d633e92f40135f65d68c91b7945fa63ce0e35abcf946'], + }), + ('wdm', '0.2.3', { + 'checksums': ['5f0184f6f0f9e9b8c47fb571e4d34dff309644a50afe5f18e42b9c37f52c593b'], + }), + ('rvinecopulib', '0.6.1.1.3', { + 'checksums': ['212189441b4cd2383e485c2aa410837456ba70357834f443c9275e4775b8bf22'], + }), + ('PearsonDS', '1.2.2', { + 'checksums': ['443a0619b824332ba5e50733a2aaf2913230925a64960a9f589ae368bcba3dc8'], + }), + ('covsim', '1.0.0', { + 'checksums': ['3788e91ee7f7fd44b290feb22185637493e8301a64f9511ca80e1ed361c3f44f'], + }), + ('semTools', '0.5-6', { + 'checksums': ['f522ce3c02ac580ad49af7a7278141dae39fdfaeccc7d1379faf1266ce9fcaf2'], + }), + ('GPArotation', '2022.4-1', { + 'checksums': ['231e7edcdcc091fbecfb4f2e88d1a4344967cf7ea58074b385a4b8b48d9da224'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.36.1', { + 'checksums': ['5215a0f4eb5949a3985a84a7d4776d4dd7471973a980c1d158ce82b3bde185bb'], + }), + ('rpf', '1.0.11', { + 'checksums': ['e1fd670ae7c3e947db08ce50d6b16ce1b3b8f63a9016b03baba760aee78921fb'], + }), + ('OpenMx', '2.20.6', { + 'checksums': ['65c50ce09f9c006b41b7311ec05eba3ae77926d84fb44e3905905208404826ed'], + }), + ('matlab', '1.0.4', { + 'checksums': ['1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea'], + }), + ('FactorCopula', '0.8', { + 'checksums': ['d95b0ccd1b0eebcf27a90286e9392f662b878a669c693fbbb4145798045134ff'], + }), + ('rpact', '3.3.0', { + 'checksums': ['a568bb04b4dcecf163024269042124a4d75c5431edbf06776515aa524506f11c'], + }), + ('ldbounds', '2.0.0', { + 'checksums': ['d4279d5f9952643f9051cf37eeb8441fff7ac050a49ef6363a9f5cbc8287a26a'], + }), + ('catlearn', '0.9.1', { + 'checksums': ['c6c492f5cc6a9ec6fdbd3721dd64a4bb2e146152d64eeeab4db3d0575bd2f650'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.4', { + 'checksums': ['372ec4ef0ded9637304a19b50bce908e84a034e54dbd2a52a061bb747b2b08a0'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.2', { + 'checksums': ['75a3a64014d2a99f08d12594d14fdade136f278abcf6252119cc20558ed14c9f'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.0', { + 'checksums': ['e0598c220ae90d1334e47c9958ccccf7defbe6ac530159bc69424923894f724a'], + }), + ('apcluster', '1.4.10', { + 'checksums': ['a214f72fa2f84563f3ca1aabb5322ef3e266007a6273ee8434bc2e2a7b9040a0'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.10-0', { + 'checksums': ['1acdeafa1b96bbcb13c73f2ef965efb635e6306678cc22468d383c4bb5098a92'], + }), + ('pdp', '0.8.1', { + 'checksums': ['e23db66e5d575337d5c8fd664ccd0548cc85da2aca6613d90ce187be1dca376c'], + }), + ('date', '1.2-39', { + 'checksums': ['b5b1935638b73373809c009f94b77f993cd301744488d9bdf71ef79c82099757'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.2.9', { + 'checksums': ['5faccc064e715c44234def40f4f560e90f2dbd34c915a8687b48103b39814ab5'], + }), + ('Publish', '2020.12.23', { + 'checksums': ['a7a98fc52801bee30b9c8cb423e4e0082ea42d05134f7d3324ac3e95242cfbe2'], + }), + ('riskRegression', '2022.03.22', { + 'checksums': ['4e1a66a45be73ae07bbc537192d3132e1cfc67ad24bc4b281b5cffa44282a047'], + }), + ('pec', '2022.05.04', { + 'checksums': ['47a1079b5d4aa5df8aaa716324ee48c55660025c4cf10c93b5ee1d7250761468'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-7', { + 'checksums': ['82c84bbe0a3eb9b391cbb885b3f3e7114adda5243aa83f974922d2edca918317'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.9', { + 'checksums': ['443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-11', { + 'checksums': ['318e95ea88a15939dac33691886a9ce0c54765b25a3f4ef483d168bfc699098a'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('RhpcBLASctl', '0.21-247.1', { + 'checksums': ['5be55fd5ddd8173167a48b9f072835a34062ad0268308f2b3fbd1781a5c99769'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('renv', '0.15.5', { + 'checksums': ['b4f1a9a7daa82f0c3123ebd4eeba06e98d5485215518e5292b25bc56741d582e'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('AMAPVox', '0.12.0', { + 'checksums': ['b30fefef8661e27ffe3883665204b623eda2143dbcd3084a1d5810f8ea834c85'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.1', { + 'checksums': ['aa3f0b3a8691ed93d63bec8f36d2954c6fcfd0b8b3efc705379248544c999363'], + }), + ('logger', '0.2.2', { + 'checksums': ['4f1be7d4381f2fc591f19fdbfb8f3cccbf26c9fdbae104612f6e6d5762a97e22'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.0.5', { + 'checksums': ['6ecd4dc5dae40e86b7a462fdac3ab8c0b276dcae5a284eb43390a05b01e3056b'], + }), + ('ggfun', '0.0.9', { + 'checksums': ['5c740e9d1e73b77658f41ed65e21492f4e71b12c7c9ff4b9e52ebf5f8f197612'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.0', { + 'checksums': ['178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a'], + }), + ('aplot', '0.1.9', { + 'checksums': ['af0763620a757571caac769bad5398c22a4890af6cb5646ac5fa9039a114bb12'], + }), + ('tidytree', '0.4.1', { + 'checksums': ['fbc4364d17e1b1c26ed06af0cdf36c88a5bc562fdbd4731ab179e30bba4009eb'], + }), + ('ggvenn', '0.1.9', { + 'checksums': ['38779cfa4e01e07d4a42453cfb8b93d32d2acd6187676bae7d11b2168714a52e'], + }), + ('scatterpie', '0.1.8', { + 'checksums': ['a6ccc63a8be63fa113704cf5d4893c1ec1b75d3081ab971bd70e650e708872a0'], + }), + ('shadowtext', '0.1.2', { + 'checksums': ['253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-21', { + 'checksums': ['fa86cb5140f5dfce29f9517b94d6d08c316ddcffa4aa3085945b84d34910134d'], + }), + ('aricode', '1.0.2', { + 'checksums': ['5f4e51f7063cfd4924a8925c902a3eb7517c743234a14560691cb84428b6b2f0'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + ('ggh4x', '0.2.2', { + 'checksums': ['2a0eda36b787bd3f49b5ae21e20b8104b615b21294b369f784d2bfe1579eba86'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.3.3', { + 'checksums': ['3e25da94633da0b5c6cdac03f5b6d8205d078f60c5a09073e90a1b6f0930e302'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.5', { + 'checksums': ['ed641857c49eb60f5baf2817fbd610caea62322a247f8b2c1aca3056eddee94b'], + }), + ('mosaicCore', '0.9.2.1', { + 'checksums': ['b7ce16f20fde1d8a5b1836110e5980fb274504ddae6b9c5c2f4198dc7d09dafa'], + }), + ('ggformula', '0.10.2', { + 'checksums': ['948b1c34a5c089cf86275d2b3e020e1a099278136e43175a50fb6063e54b6375'], + }), + ('kinship2', '1.9.6', { + 'checksums': ['0150bd5974c2a19885f6ff2e99f3c1f6361054a0910dcfc9dd26a8e0cd73bbf6'], + }), + ('MESS', '0.5.9', { + 'checksums': ['b57dff943a130830a24d87fe2e8f8b766cf18398c9c09e0a020d5dd183f9d72d'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-0.1', { + 'checksums': ['bff6c84274e9bdcbdb82d6edd90265844f7cd23f22abbf68d6b563ef48237966'], + }), + ('webutils', '1.1', { + 'checksums': ['33e2b408d2b9ca12e158e0007d4a55a3ace6838341ad944344de2ceb806e4699'], + }), + ('swagger', '3.33.1', { + 'checksums': ['528369b04c6142112e05ee8b950ca1c01b3e390a4515eacb0fa17db98bafafd1'], + }), + ('varhandle', '2.0.5', { + 'checksums': ['9b0ee653e0343e292547d2a7052e60a2e7d97d1d5528246862522e67346882d0'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('tvem', '1.3.1', { + 'checksums': ['931085e210891744df64288ce174dface7a68bdb6b21a5883a9d83bb66a132c3'], + }), + ('berryFunctions', '1.22.0', { + 'checksums': ['8d8578d746e8e4f7a1deb0b1d49ff8603c5e51504d5fe549bcba54f20fe9d498'], + }), + ('cld2', '1.2.4', { + 'checksums': ['79e04de836812a980406a540c0f022926ba71c2bf5294ad5eaa437a9c33e615b'], + }), + ('crfsuite', '0.4.1', { + 'checksums': ['be4f8e7773caa2e3ceac7e35d47ef323f6b121d2b2da1e3b90b4e3b4fc7da46e'], + }), + ('doc2vec', '0.2.0', { + 'checksums': ['db3853685072554402434ea699d703e01ac7818044cf47a2ee7d0e1040858908'], + }), + ('fastDummies', '1.6.3', { + 'checksums': ['bd3934fe19d7dff2723438bbb7b89334118143f8ce151d98477ae964ee5d81df'], + }), + ('quanteda', '3.2.3', { + 'checksums': ['f34b0e89ad7795eed0d624fb57a9fb924175a03df0c23fc1f71eefe6a14d93ae'], + }), + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + ('ISOweek', '0.6-2', { + 'checksums': ['b58a37b61ee772ea2704d510e9fce69dea4dd641b45124d566242825df4530b8'], + }), + ('sentometrics', '1.0.0', { + 'checksums': ['b5c238bb72f36331cb1ed63b581a9a2a73cefc96f80bf770b0e064a89fe31b1b'], + }), + ('tau', '0.0-24', { + 'checksums': ['f08d9fc92ed11ec01f7da12ccf98862e36ef8bb69d5e42584a08b46cea6917e1'], + }), + ('textcat', '1.0-8', { + 'checksums': ['cb650147576bae9c78381524831c9fcc85c76177274672098aac1860aa39749e'], + }), + ('textplot', '0.2.2', { + 'checksums': ['6e99a204b4be2ccd317978eda900b923e0e0a0f34217405777a0eb5fcc80e2a9'], + }), + ('udpipe', '0.8.11', { + 'checksums': ['522900de24d1f0f4f15e6b26df5521ac6efaf63c5fcfc35171a78275b3633233'], + }), + ('word2vec', '0.3.4', { + 'checksums': ['53db1d8c8d6af8ace8636adec1e254b0b61fbdba77ba7a295afc7da3eb4e4362'], + }), + ('epitools', '0.5-10.1', { + 'checksums': ['b418854de1fcedd126f3bf19dc27e8a71ee6efae5371098ab64a53a2d51d164b'], + }), + ('RBesT', '1.6-6', { + 'checksums': ['0301ee95f9b46722b9e1bacd668b570eee14badaa8ca0a7d0ccd8d3d9068d485'], + }), + ('systemfonts', '1.0.4', { + 'checksums': ['ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0'], + }), + ('svglite', '2.1.1', { + 'checksums': ['48700169eec1b05dbee9e2bae000aa84c544617b018cb3ac431a128cfd8dac56'], + }), + ('ECOSolveR', '0.5.5', { + 'checksums': ['2594ed1602b2fe159cc9aff3475e9cba7c1927b496c3daeabc1c0d227943ecc7'], + }), + ('scs', '3.2.4', { + 'checksums': ['c3f39874bf4532fa8c2f2e2c41533ba4fe20b61cf6dfc6314407dc981621298f'], + }), + ('osqp', '0.6.0.8', { + 'checksums': ['14034045ae4ae5ec4eae4944653d41d94282fa85a0cd53614ac86f34fd02ed97'], + }), + ('CVXR', '1.0-11', { + 'checksums': ['e92a9638f35f4909e2a29c3b7106081e3dae7ff88b14bb6466b87fbdc80b972a'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), + ('textshaping', '0.3.6', { + 'checksums': ['80e2c087962f55ce2811fbc798b09f5638c06c6b28c10cd3cb3827005b902ada'], + }), + ('ragg', '1.2.5', { + 'checksums': ['936f4d75e0e01cdeefb9f57d121cdd7812d0de5a9e1a3a8315f92ce1c84da8f9'], + }), + ('officer', '0.6.2', { + 'checksums': ['0948b5785c90767b63382b17a36c5167c54c5ba6dc61c80e808e16df620bd335'], + }), + ('gfonts', '0.2.0', { + 'checksums': ['72e2eead5280b45aadbbd9385971d65e9866fd659270b1c3c1eb98330f024aa6'], + }), + ('fontBitstreamVera', '0.1.1', { + 'checksums': ['3298b3dd95605bdda0c5fce5594c9bedde6aa63d89b216d5c83c6c092b6d375a'], + }), + ('fontLiberation', '0.1.0', { + 'checksums': ['acdea423e005873aa509e280074a3cef4796e4f7e9d77b3945d77b451ea039f0'], + }), + ('fontquiver', '0.2.1', { + 'checksums': ['95871814c2d55c03ee15a54e29aadfb840c791e1430f94127d9e1dc8608a6363'], + }), + ('gdtools', '0.3.3', { + 'checksums': ['da5a189841475b1d69c94a30ff834eb44560c69e6c0ec0a257006e1f59e83483'], + }), + ('flextable', '0.9.2', { + 'checksums': ['bccd53919ae58f1d26c4a8ee42da1f5e0b7333f8b4ee295b380ed256069f923d'], + }), +] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..65a3ad6c54b --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.2.2-foss-2022b.eb @@ -0,0 +1,3711 @@ +name = 'R' +version = '4.2.2' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.2.2.tar.gz': '0ff62b42ec51afa5713caee7c4fde7a0c45940ba39bef8c5c9487fef0c953df5'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Xvfb', '21.1.6'), + ('Autotools', '20220317'), + ('CMake', '3.24.3'), +] +dependencies = [ + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('cairo', '1.17.4'), + ('libreadline', '8.2'), + ('ncurses', '6.3'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), + ('SQLite', '3.39.4'), + ('PCRE2', '10.40'), + ('libpng', '1.6.38'), # for plotting in R + ('libjpeg-turbo', '2.1.4'), # for plottting in R + ('LibTIFF', '4.4.0'), + ('Java', '11', '', SYSTEM), + ('Tk', '8.6.12'), # for tcltk + ('cURL', '7.86.0'), # for RCurl + ('libxml2', '2.10.3'), # for XML + ('GMP', '6.2.1'), # for igraph + ('NLopt', '2.7.1'), # for nloptr + ('FFTW', '3.3.10'), # for fftw + ('libsndfile', '1.2.0'), # for seewave + ('ICU', '72.1'), # for rJava & gdsfmt + ('HDF5', '1.14.0'), # for hdf5r + ('UDUNITS', '2.2.28'), # for units + ('GSL', '2.7'), # for RcppGSL + ('ImageMagick', '7.1.0-53'), # for animation + ('GLPK', '5.0'), # for Rglpk + ('nodejs', '18.12.1'), # for V8 (required by rstan) + ('GDAL', '3.6.2'), # for sf + ('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. +# 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', +} + +# 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 = [ + # 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', + ('abind', '1.4-5', { + 'checksums': ['3a3ace5afbcb86e56889efcebf3bf5c3bb042a282ba7cc4412d450bb246a3f2c'], + }), + ('magic', '1.6-1', { + 'checksums': ['ca79ec7ae92b736cb128556c081abf547f49956c326e053a76579889cbcb7976'], + }), + ('Rcpp', '1.0.10', { + 'checksums': ['1e65e24a9981251ab5fc4f9fd65fe4eab4ba0255be3400a8c5abe20b62b5d546'], + }), + ('RcppProgress', '0.4.2', { + 'checksums': ['b1624b21b7aeb1dafb30f092b2a4bef4c3504efd2d6b00b2cdf55dc9df194b48'], + }), + ('lpSolve', '5.6.18', { + 'checksums': ['751e1926fcd81b852b6c0d5ea7ecd9311ef6fbdbce9143b7872fea79590de712'], + }), + ('linprog', '0.9-4', { + 'checksums': ['81a6aa2fdc075f12dc912794d0554f87705a8b872b99c89a90a69ee9ada864b4'], + }), + ('geometry', '0.4.7', { + 'checksums': ['96204205f51b4d63c2e7a7b00365def27d131f3c9ec66db56b510046e5d2013b'], + }), + ('bit', '4.0.5', { + 'checksums': ['f0f2536a8874b6a30b80baefbc68cb21f0ffbf51f3877bda8038c3f9f354bfbc'], + }), + ('digest', '0.6.31', { + 'checksums': ['5a284f490eaca6750f695f00a584cfca3f180ca1046ac1107202141149d431b9'], + }), + ('filehash', '2.4-5', { + 'checksums': ['3b1ee2794dd61e525ee44db16611c65957691d77bb26ae481eba988bb55da22c'], + }), + ('ff', '4.0.9', { + 'checksums': ['722053271987a0c9673c3ff9e7968bbab47979d529a2fe6bb1a3179408ee3c4f'], + }), + ('bnlearn', '4.8.1', { + 'checksums': ['623c1bf0b3a38ee2060908c3197b763339115246dd72fb063f9476c7a54cd3ac'], + }), + ('bootstrap', '2019.6', { + 'checksums': ['5252fdfeb944cf1fae35016d35f9333b1bd1fc8c6d4a14e33901160e21968694'], + }), + ('combinat', '0.0-8', { + 'checksums': ['1513cf6b6ed74865bfdd9f8ca58feae12b62f38965d1a32c6130bef810ca30c1'], + }), + ('deal', '1.2-42', { + 'checksums': ['a17f452a94fc3964c939c5b147ad6d4f326a0990493519d376d6700cf733a134'], + }), + ('fdrtool', '1.2.17', { + 'checksums': ['3452601adbead9be4820794e3af2666f710fdf9b801186df565b80b43629c5dd'], + }), + ('formatR', '1.14', { + 'checksums': ['4ebaab2c3f8527871655246b62abd060bc75dae1cec7f962ca4752b8080f474c'], + }), + ('gtools', '3.9.4', { + 'checksums': ['59cf8b194fe98b1cc05dbb4d686810a1068f59d8b402b731548a898ece85f111'], + }), + ('gdata', '2.18.0.1', { + 'checksums': ['5e2f3d5b9398d52a4c07a4d35f5f936450a44567c7db8d8f68b4cc6946e032d9'], + }), + ('GSA', '1.03.2', { + 'checksums': ['177d6059fc645d3d8883806d2dea1c5dfc68efdada9aadde8a96b6d57acf35b8'], + }), + ('xfun', '0.37', { + 'checksums': ['3b619ff0b2aea36a1d422d1f7ca2e5cef0102e1d127c94c87acf5e6e8358e1f9'], + }), + ('highr', '0.10', { + 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], + }), + ('infotheo', '1.2.0.1', { + 'checksums': ['c0fb8ec97ad3a49f231c4c993b5eee70c6a61c8c30dc4a46197867e4763a29d4'], + }), + ('lars', '1.3', { + 'checksums': ['c69e6a8da6a3344c0915dd1fd4c78fec5cdf50c62cf6297476e9bb7dc10b549d'], + }), + ('lazy', '1.2-18', { + 'checksums': ['99441bcae2dfbf450eee91f3ec969d416c225f671ac54459c50536916890f00a'], + }), + ('kernlab', '0.9-32', { + 'checksums': ['654ef34e343deb4d2c4c139a44e5397d6e38876088ce1c53c7deb087935d6fdc'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('commonmark', '1.8.1', { + 'checksums': ['96adcb093de3d2e48811af402da70e7222a313b97f1e979e0cbe84dd59bd5cbe'], + }), + ('markdown', '1.5', { + 'checksums': ['001503f95fa59b399c0fc9178b0a4f5ab745f38879d38985c6642e944c2e9816'], + }), + ('mlbench', '2.1-3', { + 'checksums': ['b1f92be633243185ab86e880a1e1ac5a4dd3c535d01ebd187a4872d0a8c6f194'], + }), + ('NLP', '0.2-1', { + 'checksums': ['05eaa453ad2757311c073fd30093c738b20a977c5089031eb454345a1d01f2b6'], + }), + ('mclust', '6.0.0', { + 'checksums': ['de7c306ecba1ef0f4e4a56c748ce08149417496b711beefb032d561a4c28122a'], + }), + ('RANN', '2.6.1', { + 'checksums': ['b299c3dfb7be17aa41e66eff5674fddd2992fb6dd3b10bc59ffbf0c401697182'], + }), + ('rmeta', '3.0', { + 'checksums': ['b9f9d405935cffcd7a5697ff13b033f9725de45f4dc7b059fd68a7536eb76b6e'], + }), + ('MASS', '7.3-58.3', { + 'checksums': ['42e5599582dca0d32bc9c709216ddc71df1761af23f11cfa25d582212a5c79ae'], + }), + ('lattice', '0.20-45', { + 'checksums': ['22388d92bdb7d3959da84d7308d9026dd8226ef07580783729e8ad2f7d7507ad'], + }), + ('nlme', '3.1-162', { + 'checksums': ['ba6da2575554afa2614c4cba9971f8a9f8a07622d201284cb78899f3d6a2dc67'], + }), + ('segmented', '1.6-2', { + 'checksums': ['413c2c07e87ca72c8b3fba61a1a7c606480786025544d5530f7c4406e7643b52'], + }), + ('som', '0.3-5.1', { + 'checksums': ['a6f4c0e5b36656b7a8ea144b057e3d7642a8b71972da387a7133f3dd65507fb9'], + }), + ('SuppDists', '1.1-9.7', { + 'checksums': ['6b5527e2635c0ff762eb7af8154704c85e66d7f79a9524089a5c98dfa94dab08'], + }), + ('stabledist', '0.7-1', { + 'checksums': ['06c5704d3a3c179fa389675c537c39a006867bc6e4f23dd7e406476ed2c88a69'], + }), + ('survivalROC', '1.0.3.1', { + 'checksums': ['8174afebaf239dfda979c8c7e1e219624576d577c983ae787fbd2785b4ccd15c'], + }), + ('pspline', '1.0-19', { + 'checksums': ['ba55bf193f1df9785a0e13b7ef727d5fd2415b318cd6a26b48a2db490c4dfe40'], + }), + ('timeDate', '4022.108', { + 'checksums': ['a5949b4fe2f6bdff751fc0793df8e3150cc25c078d48a28c066c10a6c4bfceef'], + }), + ('longmemo', '1.1-2', { + 'checksums': ['7964e982287427dd58f98e1144e468ae0cbd572d25a4bea6ca9ae9c7522f3207'], + }), + ('ADGofTest', '0.3', { + 'checksums': ['9cd9313954f6ecd82480d373f6c5371ca84ab33e3f5c39d972d35cfcf1096846'], + }), + ('pixmap', '0.4-12', { + 'checksums': ['893ba894d4348ba05e6edf9c1b4fd201191816b444a214f7a6b2c0a79b0a2aec'], + }), + ('sp', '1.6-0', { + 'checksums': ['f5977fbe80e7dee8e95d41fe0ef9d87c2c984422bb529ea5211fd38a13f9fcda'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('rlang', '1.1.0', { + 'checksums': ['f89859d91c9edc05fd7ccf21163fe53ad58da907ee273a93d5ab004a8649335b'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('glue', '1.6.2', { + 'checksums': ['9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf'], + }), + ('cli', '3.6.0', { + 'checksums': ['b6078131803043d53d4e670aa3a0506f614e0b40fda8e0102afd48a6188ab896'], + }), + ('lifecycle', '1.0.3', { + 'checksums': ['6459fdc3211585c0cdf120427579c12149b02161efe273a64b825c05e9aa69c2'], + }), + ('vctrs', '0.6.0', { + 'checksums': ['be0b712c4e6aae353120a60ded6a4301eb9631c8d256927b79b9ad83b4299757'], + }), + ('hms', '1.1.2', { + 'checksums': ['1ee6a9847336aaf58d3fcee5b56c290c2204e1213b6628862818419b2302bded'], + }), + ('prettyunits', '1.1.1', { + 'checksums': ['9a199aa80c6d5e50fa977bc724d6e39dae1fc597a96413053609156ee7fb75c5'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('crayon', '1.5.2', { + 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], + }), + ('progress', '1.2.2', { + 'checksums': ['b4a4d8ed55db99394b036a29a0fb20b5dd2a91c211a1d651c52a1023cc58ff35'], + }), + ('RcppArmadillo', '0.12.0.1.0', { + 'checksums': ['73c6153b79c0b71a896d76031424fe1c0a3ad44a9d09f922a084bb3fbfd3fbea'], + }), + ('ade4', '1.7-22', { + 'checksums': ['007df54e83a2a6cb8d6da8006f0aace011e7eaa7744dc5f8230ac2c002b393b4'], + }), + ('AlgDesign', '1.2.1', { + 'checksums': ['5989626c526bd7c3d9bdda326c962056879be03392065a0b7ddb9b8cf9309d05'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('BH', '1.81.0-1', { + 'checksums': ['f51c8badd6f181e06353314e1d15a6ec1495cc498ee74b6fa4ea8aba6e97ff64'], + }), + ('brew', '1.0-8', { + 'checksums': ['11652d5a7042d645cc5be5f9f97ff4d46083cea7d3ad2dd6ad1570b52c097826'], + }), + ('Matrix', '1.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('Brobdingnag', '1.2-9', { + 'checksums': ['f9012d250bc2a0f47815d6a7c06df2d4ddf3d8bab2d3b75e8cdefd964d20e91e'], + }), + ('corpcor', '1.6.10', { + 'checksums': ['71a04c503c93ec95ddde09abe8c7ddeb36175b7da76365a14b27066383e10e09'], + }), + ('longitudinal', '1.1.13', { + 'checksums': ['57f04a0f387c1cc30d2feb945dc3ed35d2a304d94d21d3bc2cac8c92571fdc10'], + }), + ('backports', '1.4.1', { + 'checksums': ['845c3c59fbb05e5a892c4231b955a0afdd331d82b7cc815bcff0672023242474'], + }), + ('checkmate', '2.1.0', { + 'checksums': ['b784dd5163a0350d084ef34882d9781373839dedeaa9a8b8e6187d773d0d21c6'], + }), + ('cubature', '2.0.4.6', { + 'checksums': ['330c9dc2be9bf6815473fd40efa8c2de47c1ed286cb097d0ff846b56c9e9f95a'], + }), + ('DEoptimR', '1.0-11', { + 'checksums': ['1874b30f4b75f9bfa891986598f1ebe1fce27fdced14f8f417d3535cac08165b'], + }), + ('fastmatch', '1.1-3', { + 'checksums': ['1defa0b08bc3f48e4c3e4ba8df4f1b9e8299932fd8c747c67d32de44f90b9861'], + }), + ('iterators', '1.0.14', { + 'checksums': ['cef3075a0930e1408c764e4da56bbadd4f7d14315809df8f38dd51f80ccc677b'], + }), + ('maps', '3.4.1', { + 'checksums': ['e693a5218ed8122e92d73a98a475d9016f2293c7852c8048677daa7649086400'], + }), + ('nnls', '1.4', { + 'checksums': ['0e5d77abae12bc50639d34354f96a8e079408c9d7138a360743b73bd7bce6c1f'], + }), + ('sendmailR', '1.4-0', { + 'checksums': ['5b8b91fc13f6b07b9fc5a2cf7591cf760fad47c5ea17d87a2891898c506454ad'], + }), + ('dotCall64', '1.0-2', { + 'checksums': ['e0c7728aebbea5ebf06dfeefae4fc0a240e6dde7c2bf13f2ed041b91d337a4ac'], + }), + ('spam', '2.9-1', { + 'checksums': ['c32e219279988b1bfc258aaf64f5a46efa558202848a9ae64946ffbe8b497ddb'], + }), + ('subplex', '1.8', { + 'checksums': ['3bc31d8990380c9f790c9c7d84cb2e39f4945eff934eddfa1196d597465be5a5'], + }), + ('stringi', '1.7.12', { + 'checksums': ['efe8ac2900001f986a75db5641fbb24587a6d23de274a6a85c39dfa58921e009'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('stringr', '1.5.0', { + 'checksums': ['52b159d7700a139111b4caf939e7c9c6ab3e01185181400d70a74c552826633a'], + }), + ('evaluate', '0.20', { + 'checksums': ['35f5d9e85603600b58960923d591c5ca1115153febba7c612867d8b5598afff0'], + }), + ('logspline', '2.1.19', { + 'checksums': ['37219e6edfdee59d8edee96ca1cb97902905ae049a7a921fbab2e162ad654794'], + }), + ('ncbit', '2013.03.29.1', { + 'checksums': ['847f570c035d849e775c1cb922d2775e6c535971eb4429cf62904319fd126504'], + }), + ('permute', '0.9-7', { + 'checksums': ['eff88ffb579aaeb994e9f8609b776b2d9d9d56bc2879ddf180e3a2ad19f48dc0'], + }), + ('plotrix', '3.8-2', { + 'checksums': ['bb72953102889cea41cd6521874e35d2458ebd10aab97ba6f262e102cac0bc1f'], + }), + ('randomForest', '4.7-1.1', { + 'checksums': ['f59ea87534480edbcd6baf53d7ec57e8c69f4532c2d2528eacfd48924efa2cd6'], + }), + ('scatterplot3d', '0.3-43', { + 'checksums': ['90d7bfb535b76008768306ea9209adfb48e0e07f36eabbb59ab6ddb6522f16a5'], + }), + ('SparseM', '1.81', { + 'checksums': ['bd838f381ace680fa38508ff70b3d83cb9ffa28ac1ab568509249bca53c34b33'], + }), + ('tripack', '1.3-9.1', { + 'checksums': ['7f82f8d63741c468767acc6fb35281bd9903f6c3c52e8fada60a6ae317511fbe'], + }), + ('irace', '3.5', { + 'checksums': ['d9928644a5a7e94838558d73afaaee8a914fd26fe68f691ad103331632060bf4'], + }), + ('rJava', '1.0-6', { + 'checksums': ['e290d0493317a5d6c452793e92baa914e37ef03faef19b2e436329b4ec8658c6'], + }), + ('RColorBrewer', '1.1-3', { + 'checksums': ['4f42f5423c45688b39f492c7892d93f37b4541831c8ffb140364d2bd89031ac0'], + }), + ('png', '0.1-8', { + 'checksums': ['5a36fabb6d62ba2533d3fc4cececd07891942cfb76fe689ec0d550d08762f61c'], + }), + ('jpeg', '0.1-10', { + 'checksums': ['c8d9f609c3088f91ec4853d6cc0e66511038a465811dea79ca6a0c09519178ca'], + }), + ('deldir', '1.0-6', { + 'checksums': ['6df6d8325c607e0b7d63cbc53c29e774eff95ad4acf9c7ec8f70693b0505f8c5'], + }), + ('RcppEigen', '0.3.3.9.3', { + 'checksums': ['5873a47fd6587d916f86119ab140c6736abf80ac45d06ff1c9d198708e7d1c76'], + }), + ('interp', '1.1-3', { + 'checksums': ['b74e606b38cfb02985c1f9e3e45093620f76c0307b1b0b4058761e871eb5fa3f'], + }), + ('latticeExtra', '0.6-30', { + 'checksums': ['c550a76913624818482bf237d48883c58e368ba356ced8ed5e76146672279eed'], + }), + ('plyr', '1.8.8', { + 'checksums': ['a73211b4bbe13e4e5e764966a8dd90172c1cc311938dd464d142e1c7a701070c'], + }), + ('gtable', '0.3.1', { + 'checksums': ['8bd62c5722d5188914d667cabab12991c555f657f4f5ce7b547571ae3aec7cb5'], + }), + ('reshape2', '1.4.4', { + 'checksums': ['d88dcf9e2530fa9695fc57d0c78adfc5e361305fe8919fe09410b17da5ca12d8'], + }), + ('dichromat', '2.0-0.1', { + 'checksums': ['a10578e9ad8a581bd8fe0d8a8370051f3cdcf12c7d282f3af2a18dacda566081'], + }), + ('colorspace', '2.1-0', { + 'checksums': ['04078abb6b54119c90dc7085d62916bf292ccb163e213f9ea70567d1be82614c'], + }), + ('munsell', '0.5.0', { + 'checksums': ['d0f3a9fb30e2b5d411fa61db56d4be5733a2621c0edf017d090bdfa5e377e199'], + }), + ('labeling', '0.4.2', { + 'checksums': ['e022d79276173e0d62bf9e37d7574db65ab439eb2ae1833e460b1cff529bd165'], + }), + ('viridisLite', '0.4.1', { + 'checksums': ['a896db1ccae5fc1a8b3764d02f24cef74ef7a8341cf9f3401c4efe799870ea97'], + }), + ('farver', '2.1.1', { + 'checksums': ['0dcfda6ca743f465372790bcff1bcbc6a7145fdac1c682b021f654e8c6c996ce'], + }), + ('scales', '1.2.1', { + 'checksums': ['59453e6dbdafee93dfb101e4d86048a62a12898134259d3ef02d65aeec57ed08'], + }), + ('utf8', '1.2.3', { + 'checksums': ['c0a88686591f4ad43b52917d0964e9df4c62d8858fe25135a1bf357dfcbd6347'], + }), + ('zeallot', '0.1.0', { + 'checksums': ['439f1213c97c8ddef9a1e1499bdf81c2940859f78b76bc86ba476cebd88ba1e9'], + }), + ('assertthat', '0.2.1', { + 'checksums': ['85cf7fcc4753a8c86da9a6f454e46c2a58ffc70c4f47cac4d3e3bcefda2a9e9f'], + }), + ('fansi', '1.0.4', { + 'checksums': ['3163214e6c40922bbb495229259ed8ce1bebd98b77098a6936d234e43da9c49f'], + }), + ('pillar', '1.8.1', { + 'checksums': ['2f06a7cc9e5638390c9b98a6ec9a9ec1beec0f2b9dbdfa42e39a5ab2456d87ec'], + }), + ('tibble', '3.2.0', { + 'checksums': ['8f2ff14bca39e342f36d026776351f21b7627fe0f20f009b7a9e0a69a166298a'], + }), + ('lazyeval', '0.2.2', { + 'checksums': ['d6904112a21056222cfcd5eb8175a78aa063afe648a562d9c42c6b960a8820d4'], + }), + ('withr', '2.5.0', { + 'checksums': ['37317b3ed790a08407072993a05ab255f6305f95a12a16e0e28aa6aa80fc8bc0'], + }), + ('mgcv', '1.8-42', { + 'checksums': ['087fc38b64ad06f2149eafc54f2679dd8840cf6fc488e66cf131e3c1de2db6c7'], + }), + ('rprojroot', '2.0.3', { + 'checksums': ['50604247470e910cecfe9b76df754bf96a0d701f81b732f7aa9c90a20d30f897'], + }), + ('desc', '1.4.2', { + 'checksums': ['758acf14be478c09ba7e84ade3a7ce512becf35d44e5e6a997b932065f2a227c'], + }), + ('ps', '1.7.2', { + 'checksums': ['9225ebdedb5c1b245bb38b01ce88084c0fc7eafcff6c4fda2e299003ace6b21a'], + }), + ('processx', '3.8.0', { + 'checksums': ['9270d9d26c4314151062801a5c1fc57556b4fcb41dbf3558cb5bd230b18ffb0b'], + }), + ('callr', '3.7.3', { + 'checksums': ['567bfedf073a1d4c5785f0553341608a214938110567b9a6495ff20ebb2fd04e'], + }), + ('pkgbuild', '1.4.0', { + 'checksums': ['357f3c40c99650eaa8a715991ff1355a553acb165f217ed204712f698ba55ed6'], + }), + ('rstudioapi', '0.14', { + 'checksums': ['469d0987b1ad728a96c363a422fba712a5cebc8b11a5f7e953b4a671044dafc4'], + }), + ('fs', '1.6.1', { + 'checksums': ['faf1e421a2c270c60c0a30c74e1a48faad45b339163716102d77d64d23d76732'], + }), + ('pkgload', '1.3.2', { + 'checksums': ['35d19a032bfeeefcab92d76a768b4a420c2ede0920badaf48cca878592b46b2f'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.3', { + 'checksums': ['eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6'], + }), + ('jsonlite', '1.8.4', { + 'checksums': ['79eaabe042226b0918aa828cc63d54fee8be67ae7c67f5e0d3010f468efb1278'], + }), + ('diffobj', '0.3.5', { + 'checksums': ['d860a79b1d4c9e369282d7391b539fe89228954854a65ba47181407c53e3cf60'], + }), + ('rematch2', '2.1.2', { + 'checksums': ['fe9cbfe99dd7731a0a2a310900d999f80e7486775b67f3f8f388c30737faf7bb'], + }), + ('waldo', '0.4.0', { + 'checksums': ['57ee89eec9bcbba58cf8fa29c8e097f038768c30833eaf812682826333127eaa'], + }), + ('testthat', '3.1.7', { + 'checksums': ['1ad86b1739481c6c46359a6634ecc706bf513f34b26d7a62cbc719bbd4658eab'], + }), + ('isoband', '0.2.7', { + 'checksums': ['7693223343b45b86de2b5b638ff148f0dafa6d7b1237e822c5272902f79cdf61'], + }), + ('ggplot2', '3.4.1', { + 'checksums': ['041bc333f90d6026702c8bd5140a1c8ddd270b15742badf8ca5c53f0e02c6d84'], + }), + ('pROC', '1.18.0', { + 'checksums': ['d5ef54b384176ece6d6448014ba40570a98181b58fee742f315604addb5f7ba9'], + }), + ('quadprog', '1.5-8', { + 'checksums': ['22128dd6b08d3516c44ff89276719ad4fe46b36b23fdd585274fa3a93e7a49cd'], + }), + ('BB', '2019.10-1', { + 'checksums': ['04d0b6ce6e5f070b109478a6005653dbe78613bb4e3ea4903203d851b5d3c94d'], + }), + ('data.table', '1.14.8', { + 'checksums': ['14b2ce5367df9c9bb58f373555066f5dcb629c156149b5565de36d69557139fd'], + }), + ('BBmisc', '1.13', { + 'checksums': ['1145dcf9fed15e7beeaa4a5c7075d8a8badd17c8246838cd63e40cd9551e4405'], + }), + ('fail', '1.3', { + 'checksums': ['ede8aa2a9f2371aff5874cd030ac625adb35c33954835b54ab4abf7aeb34d56d'], + }), + ('rlecuyer', '0.3-5', { + 'checksums': ['4723434ff7624d4f404a6854ffa0673fc43daa46f58f064dbeeaa17da28ab626'], + }), + ('snow', '0.4-4', { + 'checksums': ['84587f46f222a96f3e2fde10ad6ec6ddbd878f4e917cd926d632f61a87db13c9'], + }), + ('tree', '1.0-43', { + 'checksums': ['9b0a996d013cce4f457abdbdc54bd2f8f4dbe4ef0b33e0a53925509c509d5287'], + }), + ('pls', '2.8-1', { + 'checksums': ['e22e7febeef1a6800b97ee7f6eb03dc1d6681aba7f9298449c9e6375fa78f28c'], + }), + ('class', '7.3-21', { + 'checksums': ['0c19404aa4d2da61a62495e788b07c8e429c4c5ee64486ea5e6dd347bcaecddf'], + }), + ('proxy', '0.4-27', { + 'checksums': ['249991a4c4d70ad139e93f3a24e17f161ad1ec854951813ea192daf79478563f'], + }), + ('e1071', '1.7-13', { + 'checksums': ['da94e191af6e69aa0f9e3250d4b823674cc869339d914f761ebf2824177b6b2f'], + }), + ('nnet', '7.3-18', { + 'checksums': ['d29aebfb5cb00071eecf754d55db5d474a6fda88860df5c9d31ba89aa8d9e3d0'], + }), + ('minqa', '1.2.5', { + 'checksums': ['9b83562390990d04b2c61b63ac9a7c9ecab0d35c460d232596e3c73bdc89f4be'], + }), + ('MatrixModels', '0.5-1', { + 'checksums': ['3fc55bdfa5ab40c75bf395e90983d14c9715078c33c727c1658e4e1f36e43ea9'], + }), + ('matrixStats', '0.63.0', { + 'checksums': ['c000b60421742eb035ff4ceedd3e588a79e4b28985484f0c81361e5a6c351f5f'], + }), + ('codetools', '0.2-19', { + 'checksums': ['c4b7e567c87f33dad85de92f79641e5e5b5deede6d19a9dfa47133d191782dab'], + }), + ('foreach', '1.5.2', { + 'checksums': ['56338d8753f9f68f262cf532fd8a6d0fe25a71a2ff0107f3ce378feb926bafe4'], + }), + ('ModelMetrics', '1.2.2.2', { + 'checksums': ['5e06f1926aebca5654e1329c66ef19b04058376b2277ebb16e3bf8c208d73457'], + }), + ('generics', '0.1.3', { + 'checksums': ['75046163bfa8b8a4f4214c1b689e796207f6447182f2e5062cf570302387d053'], + }), + ('purrr', '1.0.1', { + 'checksums': ['0a7911be3539355a4c40d136f2602befcaaad5a3f7222078500bfb969a6f2ba2'], + }), + ('tidyselect', '1.2.0', { + 'checksums': ['538d26b727e37d618e2efd3b00836048f103112a03e6994bf07a02392e269e3b'], + }), + ('dplyr', '1.1.0', { + 'checksums': ['8cb0535e49dd40b3054046735738f1e48507ac9a56b015d16ebcb54593b84ed7'], + }), + ('gower', '1.0.1', { + 'checksums': ['296a9d8e5efa8c3a8cc6b92cf38880915753afdef30281629af9dc8eae8315fc'], + }), + ('rpart', '4.1.19', { + 'checksums': ['fe723ed0b5583fae8b40e6fecc29b357229cb11f2339b02a4e4f812926249565'], + }), + ('survival', '3.5-5', { + 'checksums': ['1375a509554b0258e04e27baca2e073e179406e2a9a71e6d3e0c777072568476'], + }), + ('KernSmooth', '2.23-20', { + 'checksums': ['20eb75051e2473933d41eedc9945b03c632847fd581e2207d452cf317fa5ec39'], + }), + ('globals', '0.16.2', { + 'checksums': ['682c26a95fa6c4e76a3a875be1a3192fc5b88e036c80dfa3b256add0336d770a'], + }), + ('listenv', '0.9.0', { + 'checksums': ['352841e04f0725d361b78cfdc75e00511f740d97237dd651ea86aa5484674887'], + }), + ('parallelly', '1.34.0', { + 'checksums': ['11639d7039e4a2450dabac1f82cb7ead0bbc68bdb0e113054b7104840098aff4'], + }), + ('future', '1.32.0', { + 'checksums': ['d5bb74512d069745184dd580a36449dc0b50d95b1cbbbc1605db82de596f2f76'], + }), + ('future.apply', '1.10.0', { + 'checksums': ['dee92dd84812fe8c55064c0f0e6d806c0c29848b5a5fc4a7725d6a4b623e94aa'], + }), + ('progressr', '0.13.0', { + 'checksums': ['0ffb3dcadde0cc191bad0ff9e05d000aa65e2fc339cfc94ebbb263088df5a4e1'], + }), + ('numDeriv', '2016.8-1.1', { + 'checksums': ['d8c4d19ff9aeb31b0c628bd4a16378e51c1c9a3813b525469a31fe89af00b345'], + }), + ('SQUAREM', '2021.1', { + 'checksums': ['66e5e18ca29903e4950750bbd810f0f9df85811ee4195ce0a86d939ba8183a58'], + }), + ('lava', '1.7.2.1', { + 'checksums': ['d42b1f5c7e4e76718e4f014c44608295f82b5de0eb25ce8e9b35c40c7839ef2e'], + }), + ('prodlim', '2019.11.13', { + 'checksums': ['6809924f503a14681de84730489cdaf9240d7951c64f5b98ca37dc1ce7809b0f'], + }), + ('ipred', '0.9-14', { + 'checksums': ['81c83dc847d09c3db52ef15e36cd4dac38c50eead1008ddd458b9e89d7528f35'], + }), + ('cpp11', '0.4.3', { + 'checksums': ['f1a60e4971a86dbbcf6a16bbd739b59bb66d9c45d93cfd8dedc2a87e302598f1'], + }), + ('timechange', '0.2.0', { + 'checksums': ['3d602008052123daef94a5c3f5154c5461b4ec0432ab70c37273d7ddd252f7f1'], + }), + ('lubridate', '1.9.2', { + 'checksums': ['8976431a4affe989261cbaa5e09cd44bb42a3b16eed59a42c1698da34c6544a7'], + }), + ('tidyr', '1.3.0', { + 'checksums': ['8d532b9366fdd3ec9827b51830e559a49d073425007c766025f0e603964e0a9d'], + }), + ('hardhat', '1.2.0', { + 'checksums': ['f9320eccb1b5f624a46fa074e3ccc202c383b77098ecd08b193aeb47daedad78'], + }), + ('tzdb', '0.3.0', { + 'checksums': ['6099f0ec1fba692b51b4360aa776902a39f10dae815933c31994b8e4d4277038'], + }), + ('clock', '0.6.1', { + 'checksums': ['f80c385fd8229538968ffb71d7de53ddc82bfcec6641f8e76f299546c43c1702'], + }), + ('recipes', '1.0.5', { + 'checksums': ['fd8b0d4282f490b5bd3853543c9a0518783caa9fa9280534aaab40f9bdd3cfb2'], + }), + ('caret', '6.0-93', { + 'checksums': ['4c156b88879d390436a54779ea19ffbae3f476533d83caaf30400d76130c4a07'], + }), + ('conquer', '1.3.3', { + 'checksums': ['a2c6155ed74af0e2a279145843ec5229ae2f3707aa25169ae030c520aa97deba'], + }), + ('quantreg', '5.94', { + 'checksums': ['52d585ccb972ed7726b7d083f5635d3e42915847398e00fd6e0f69a5fe1b17c1'], + }), + ('robustbase', '0.95-0', { + 'checksums': ['5cfaea1c46df6d45086614fea5f152c8da8ebfcadf33bb8df5b82e742eef9724'], + }), + ('zoo', '1.8-11', { + 'checksums': ['848e50f875afe06f13422e32160082b0725159a8be98234ef358480e57029ca5'], + }), + ('lmtest', '0.9-40', { + 'checksums': ['64400d4d6cc635316531042971f1783539686e9015c76f5741c07304fa14d997'], + }), + ('vcd', '1.4-11', { + 'checksums': ['7a54e855689e1429d46e0d4d7a956f96b0ad2fd0c7084fa023902c55849e0932'], + }), + ('snowfall', '1.84-6.2', { + 'checksums': ['9b467ab2b992455c6e1aeabe375c5694761fa1cf8aaf4f003ca47102b656353b'], + }), + ('bindr', '0.1.1', { + 'checksums': ['7c785ca77ceb3ab9282148bcecf64d1857d35f5b800531d49483622fe67505d0'], + }), + ('plogr', '0.2.0', { + 'checksums': ['0e63ba2e1f624005fe25c67cdd403636a912e063d682eca07f2f1d65e9870d29'], + }), + ('bindrcpp', '0.2.2', { + 'checksums': ['48130709eba9d133679a0e959e49a7b14acbce4f47c1e15c4ab46bd9e48ae467'], + }), + ('tmvnsim', '1.0-2', { + 'checksums': ['97f63d0bab3b240cc7bdbe6e6e74e90ad25a4382a345ee51a26fe3959edeba0f'], + }), + ('mnormt', '2.1.1', { + 'checksums': ['95fca70378af0afd5a388982ba5528f5b27e02157eeb9940a0a9762d11511308'], + }), + ('foreign', '0.8-84', { + 'checksums': ['17edf302c7568a122dc496a61a4a886ef7c02224a235d945b473611c79c98549'], + }), + ('psych', '2.2.9', { + 'checksums': ['4cd518bff387fef95067696b0a0b323310e6f4a063c3d242f2a50bcb17675571'], + }), + ('broom', '1.0.4', { + 'checksums': ['1d5f11b509786a8a45ffdd137243e24d6445f2944947cbd62a0734a06add0ad6'], + }), + ('nloptr', '2.0.3', { + 'checksums': ['7b26ac1246fd1bd890817b0c3a145456c11aec98458b8518de863650b99616d7'], + }), + ('boot', '1.3-28.1', { + 'checksums': ['d4cde76fcc8ccc7ffa329de69147b66a6a93a10188e89342fd18207b1d02ff53'], + }), + ('statmod', '1.5.0', { + 'checksums': ['d61c3ef9b09d55b42e038f8d767fa483ebbdec2a9c7172b1b0ccda0ae0016ec9'], + }), + ('lme4', '1.1-32', { + 'checksums': ['5e46cba4384d95c6ec70db7f56f3e4c17dc6dccb7e873cb3e5b47f448dc50348'], + }), + ('ucminf', '1.1-4.1', { + 'checksums': ['01a5b6f373ad267d22e2c29b8f7b6e31a1a148e48f4413e6a38e51aa049976b2'], + }), + ('ordinal', '2022.11-16', { + 'checksums': ['5488ad1dfa531a09d017d68d7393d376c8bc49cceeaa6a3e5f7d57b99168d493'], + }), + ('jomo', '2.7-4', { + 'checksums': ['2d25bc248dc1b931e6c19636197cd6f58fb00f5e1102ed3c04084c71d03d93fd'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('bit64', '4.0.5', { + 'checksums': ['25df6826ea5e93241c4874cad4fa8dadc87a40f4ff74c9107aa12a9e033e1578'], + }), + ('vroom', '1.6.1', { + 'checksums': ['eb0e33d53212f9c7e8b38d632c98bd5015365cc13f55dadb15ff0d404b31807c'], + }), + ('readr', '2.1.4', { + 'checksums': ['98144fa48c4fa61ef8c73ede8f87a2d2c5c44e9502b7875b266eb79984fbeb0d'], + }), + ('forcats', '1.0.0', { + 'checksums': ['c5bb157909d92e1e1a427c0dc5cb358ea00a43a14918a9088fa4f6630962254e'], + }), + ('haven', '2.5.2', { + 'checksums': ['2131fb0377ae1beffae54bf4beb8b3a876e9b6b9841a5acc39a2a2615023561d'], + }), + ('pan', '1.6', { + 'checksums': ['adc0df816ae38bc188bce0aef3aeb71d19c0fc26e063107eeee71a81a49463b6'], + }), + ('mitml', '0.4-5', { + 'checksums': ['056aec823187cc3793640d8a5e74d74093bae74260a975ceb098a83a52e2eeeb'], + }), + ('mice', '3.15.0', { + 'checksums': ['3d64dd260e3dce9c4c2f7be8c99f3063769df9ccfd3a0fc827c2de0ac842e87b'], + }), + ('urca', '1.3-3', { + 'checksums': ['43baa8b6735f8325a69e6a43686f4fecd77a0eb7f60da25b4fc5c51b9271e9f1'], + }), + ('fracdiff', '1.5-2', { + 'checksums': ['ac5f881330287f5bc68b5cdce4fb74156a95356ffb875ee171538bc44200f437'], + }), + ('operator.tools', '1.6.3', { + 'checksums': ['e5b74018fb75bfa02820dec4b822312f1640422f01d9fec1b58d880ffb798dec'], + }), + ('formula.tools', '1.7.1', { + 'checksums': ['4fe0e72d9d96f2398e86cbd8536d0c84de38e5583d4ff7dcd73f415ddd8ca395'], + }), + ('logistf', '1.24.1', { + 'checksums': ['e7e0d9054cf7f3221ba363afa0fdf1c8bb65b8841700ec0010fa4886be26a661'], + }), + ('akima', '0.6-3.4', { + 'checksums': ['95657592a81d2e3628cb054b60127827ae64e65c58b77d059aa510bc6781ad3e'], + }), + ('bitops', '1.0-7', { + 'checksums': ['e9b5fc92c39f94a10cd0e13f3d6e2a9c17b75ea01467077a51d47a5f708517c4'], + }), + ('curl', '5.0.0', { + 'checksums': ['d7f3cac9b513914ffa8f6f64e6fa5dd96c8273378ace6b0c16b71bc6ba59c9b2'], + }), + ('sys', '3.4.1', { + 'checksums': ['324e6d8fde58264e62bc04867b719c5fd16296de1542689801b8cb13621ecf52'], + }), + ('askpass', '1.1', { + 'checksums': ['db40827d1bdbb90c0aa2846a2961d3bf9d76ad1b392302f9dd84cc2fd18c001f'], + }), + ('openssl', '2.0.6', { + 'checksums': ['77f3032a16270f0d1734f269b8d348eedc75b277812854386091143082c1b3f3'], + }), + ('httr', '1.4.5', { + 'checksums': ['f93bac7f882b0df099abca47dd5aae3686fb3cd2d3e9926fcd639bcddff76f6c'], + }), + ('fastmap', '1.1.1', { + 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], + }), + ('htmltools', '0.5.4', { + 'checksums': ['008228a8690d39d8ae2716bc614e76337fdbe2bac4e96258c10245fdf24f327e'], + }), + ('yaml', '2.3.7', { + 'checksums': ['d20cb219e0f9c48aba02f132f81cfa9ecda5e22c925e36726840218ed56680ab'], + }), + ('knitr', '1.42', { + 'checksums': ['9344f1a0089e4da101def54aee38d7cfe3b2022d75c560141d8cc22ac65130f3'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('sass', '0.4.5', { + 'checksums': ['eba161d982d2db108c8c0b61ec6b41a20d3adec430c7cc39537ab388c1007a90'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('cachem', '1.0.7', { + 'checksums': ['234fad2a947d1e1fb87d3fa92abf9197877772e31bc81ae5991ae69689b6320a'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.4.2', { + 'checksums': ['9a40b7a1bbe409af273e1e940d921ab198ea576548f06f055f552f70ff822f19'], + }), + ('tinytex', '0.44', { + 'checksums': ['afa14c1274593f0f980b12c4a27b5d0f6cad0c28ed9b4062d59e42562a33620e'], + }), + ('rmarkdown', '2.20', { + 'checksums': ['d7f7059bfcb43e4b92432d69ba0e0c74ad10a20f153689262a3e848adb60159d'], + }), + ('htmlwidgets', '1.6.1', { + 'checksums': ['42533cbcbefcfe5978c66d7f10f28d294c344e606aa75323c797d5a1dd960e43'], + }), + ('crosstalk', '1.2.0', { + 'checksums': ['4237baab35cd246a8a98fb9cf4ce53b6ddbc31d00742ded4edea0479613d1ea0'], + }), + ('later', '1.3.0', { + 'checksums': ['08f50882ca3cfd2bb68c83f1fcfbc8f696f5cfb5a42c1448c051540693789829'], + }), + ('promises', '1.2.0.1', { + 'checksums': ['8d3a8217909e91f4c2a2eebba5ac8fc902a9ac1a9e9d8a30815c9dc0f162c4b7'], + }), + ('plotly', '4.10.1', { + 'checksums': ['ac0921a1cba24e17a0f3a0a28b7a40ac930e17fe5caa9c3973c9a8d1e20c367a'], + }), + ('mixtools', '2.0.0', { + 'checksums': ['854e7482230b9a5dde61bab191b78e06aa8f9b0cdfe3c03e046afa133b317e0d'], + }), + ('cluster', '2.1.4', { + 'checksums': ['c6f10ceca29a176ba833f24ebf71fd451629052c2338398ba286df5689d6f5b6'], + }), + ('gclus', '1.3.2', { + 'checksums': ['9cc61cdff206c11213e73afca3d570a7234250cf6044a9202c2589932278e0b3'], + }), + ('coda', '0.19-4', { + 'checksums': ['422d3cfd34797a3631e9c4812431940599c0ca4bb9937797bed07b7b1d6fe58f'], + }), + ('doMC', '1.3.8', { + 'checksums': ['b2186f851448251ae6af5d14b9e3e7f9221f90887e5f8de6a68c91caf16619a3'], + }), + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + ('gam', '1.22-1', { + 'checksums': ['fba1dc23ceadb2452aaf2e1c6c7cbd05273575bdba610d93d573f1a33b9d04c1'], + }), + ('gamlss.data', '6.0-2', { + 'checksums': ['dbb3b6f855540928ccdbda497f8d552144895e34565799e8b595e704096db71e'], + }), + ('gamlss.dist', '6.0-5', { + 'checksums': ['0f88afdfb148de79d3ece66bf4631ea0dc3ecf1188680802abffd6bc7139a20e'], + }), + ('gamlss', '5.4-12', { + 'checksums': ['9f791039f7e5c3cf3f6a2da955994a8c41c43044a2d77d99b289e4f82118a6f0'], + }), + ('gamlss.tr', '5.1-7', { + 'checksums': ['8f9975bceaf8000b1d39317daf490e59c8385b5291326ed6a2630be11dae3137'], + }), + ('hwriter', '1.3.2.1', { + 'checksums': ['ed2fa254ab27cf65d397e181339976fc3261dfb4f6b600fea8c5689620dab6f3'], + }), + ('xts', '0.13.0', { + 'checksums': ['188e4d1d8c3ec56a544dfb9da002e8aac80b9303d0a5a1f62ff0e960aeef9674'], + }), + ('TTR', '0.24.3', { + 'checksums': ['4d9aef32647664be5cf965b05f21ed62cde9425fa87c21530852e05ef7aaba87'], + }), + ('quantmod', '0.4.20', { + 'checksums': ['f757df41595d885f7927e18f4835bc233d78d2d3ae48fd11c8874d4338c48e94'], + }), + ('mvtnorm', '1.1-3', { + 'checksums': ['ff4e302139ba631280fc9c4a2ab168596bfd09e17a805974199b043697c02448'], + }), + ('pcaPP', '2.0-3', { + 'checksums': ['1aac554f039753bf9d026090e47d66b82bf3f1f75479ed0adefa3f7bbb55d603'], + }), + ('pscl', '1.5.5', { + 'checksums': ['054c9b88a991abdec3338688f58e81b6ba55f91edb988621864b24fd152fee6f'], + }), + ('blob', '1.2.4', { + 'checksums': ['d08922ebc4147d930fe4762b1b289935217308c6d3fcaa5ae028ce3f5cf2728f'], + }), + ('RSQLite', '2.3.0', { + 'checksums': ['442e19a1d08ed072e795e2c968cd7e9e2cf9e1a7412bf6b30d21d34ffe175d33'], + }), + ('BatchJobs', '1.9', { + 'checksums': ['5da9c381df461320ed4033523bad1ee97f88a4670d2714fec32be92964115c77'], + }), + ('sandwich', '3.0-2', { + 'checksums': ['6e30b6b554eb19430a60c45a8132fb7918ddb0013577bf6a62caeb163bdfe2b4'], + }), + ('sfsmisc', '1.1-14', { + 'checksums': ['bca942d8c2d738c6e4a8fdee832ae29e39dc3010d18cdf74613f379b6ffcb3ef'], + }), + ('spatial', '7.3-16', { + 'checksums': ['e46565a64c5ec148a77789867e5103746462a41de294539b230bad2a0e16e406'], + }), + ('VGAM', '1.1-8', { + 'checksums': ['d4c0f1d4e356d88ab6f39c05076ff97ebef6d20b7fbf1b0fa31d40c73d0ad1cc'], + }), + ('waveslim', '1.8.4', { + 'checksums': ['408eeea72a218ef3458f0934ff556733cacf1a63ddaa52491abcc1fce6ed2094'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('profileModel', '0.6.1', { + 'checksums': ['91dc25e81f52506593f5c8d80a6131510b14525262f65b4ac10ae0cad0b2a506'], + }), + ('brglm', '0.7.2', { + 'checksums': ['56098d2ce238478e7a27cacc4cdec0bc65f287fe746b38fbb1edda20c1675023'], + }), + ('deSolve', '1.35', { + 'checksums': ['96f17f497713754f84ff56c3538c6d05b9f5229f9a2a32aafec7d7cdc721d488'], + }), + ('tseriesChaos', '0.1-13.1', { + 'checksums': ['23cb5fea56409a305e02a523ff8b7642ec383942d415c9cffdc92208dacfd961'], + }), + ('tseries', '0.10-53', { + 'checksums': ['ec388ee6d022752bbebbecbf22d793d31f3734982e3f2e3ffd8dde14bffcca56'], + }), + ('fastICA', '1.2-3', { + 'checksums': ['e9ef82644cb64bb49ae3b7b6e0885f4fb2dc08ae030f8c76fe8dd8507b658950'], + }), + ('R.methodsS3', '1.8.2', { + 'checksums': ['822d5e61dad4c91e8883be2b38d7b89f87492046d0fe345704eb5d2658927c2e'], + }), + ('R.oo', '1.25.0', { + 'checksums': ['b8b19061774918ee7d9d4330c16c0ea505f7cd02d01343df1e8b2e4fb847beef'], + }), + ('cgdsr', '1.2.10', { + 'checksums': ['43bc02fb33c371464f9407d5e5e6419527e9360e3e394343862cca0aebe1d0f7'], + }), + ('R.utils', '2.12.2', { + 'checksums': ['fe3cf1aa8641540634e96990294d0202d4d94ec79ce73aaf78e4eda30fcb8836'], + }), + ('R.matlab', '3.7.0', { + 'checksums': ['d713522268a1206555610938350137ea022e07e27fa9cdd73c02fae8d1a43dda'], + }), + ('gridExtra', '2.3', { + 'checksums': ['81b60ce6f237ec308555471ae0119158b115463df696d2eca9b177ded8988e3b'], + }), + ('gbm', '2.1.8.1', { + 'checksums': ['8d2456124552658ee9500707c4e9992cf42cb88705008c32ea258efb4f2be80b'], + }), + ('Formula', '1.2-5', { + 'checksums': ['86254674600d64e18b65d52f42d7ebfc217c8e1945cb63ac06da22cbf04d355c'], + }), + ('acepack', '1.4.1', { + 'checksums': ['82750507926f02a696f6cc03693e8d4a5ee7e92500c8c15a16a9c12addcd28b9'], + }), + ('proto', '1.0.0', { + 'checksums': ['9294d9a3b2b680bb6fac17000bfc97453d77c87ef68cfd609b4c4eb6d11d04d1'], + }), + ('chron', '2.3-60', { + 'checksums': ['0e0675cec55b6cea87fc5776846215e0445442554684120079e66013067491ee'], + }), + ('viridis', '0.6.2', { + 'checksums': ['69b58cd1d992710a08b0b227fd0a9590430eea3ed4858099412f910617e41311'], + }), + ('htmlTable', '2.4.1', { + 'checksums': ['3a7f3e75d886dc398fd1d3cae907b536fff6af3a3d2c18349ef12ec06d310f93'], + }), + ('Hmisc', '5.0-1', { + 'checksums': ['db390f8f8a150cb5cffb812e9609a8e8632ceae0dc198528f190fd670ba8fa59'], + }), + ('fastcluster', '1.2.3', { + 'checksums': ['1f229129e1cddc78c7bb5ecc90c4d28ed810ee68cf210004c7cdfa12cfaf2a01'], + }), + ('registry', '0.5-1', { + 'checksums': ['dfea36edb0a703ec57e111016789b47a1ba21d9c8ff30672555c81327a3372cc'], + }), + ('bibtex', '0.5.1', { + 'checksums': ['f3c1a0a4e666c4addd73ff13ce8ce073d73d10ebca36d333328ade8a0b493ed1'], + }), + ('pkgmaker', '0.32.8', { + 'checksums': ['0ff3578d2c051b544c3f105cfe4801575aac1564add048f9e952c53a8ccd1745'], + }), + ('rngtools', '1.5.2', { + 'checksums': ['7f8c76ca4c7851b69a86e27be09b02ddc86357f0388659ef8787634682e8a74d'], + }), + ('doParallel', '1.0.17', { + 'checksums': ['b96a25ad105a654d70c7b4ca27290dc9967bc47f4668b2763927a886b178abd7'], + }), + ('gridBase', '0.4-7', { + 'checksums': ['be8718d24cd10f6e323dce91b15fc40ed88bccaa26acf3192d5e38fe33e15f26'], + }), + ('irlba', '2.3.5.1', { + 'checksums': ['2cfe6384fef91c223a9920895ce89496f990d1450d731e44309fdbec2bb5c5cf'], + }), + ('igraph', '1.4.1', { + 'checksums': ['08a258f46ae87bcbe7f7cf47d46d2bbedb0663407921a30fc89892674b505df1'], + }), + ('GeneNet', '1.2.16', { + 'checksums': ['c1e98073ccdaa18f4952630bfe4fc0617106eeaf7ed94d347cb2773bd48333e4'], + }), + ('ape', '5.7-1', { + 'checksums': ['8b09c71218d8aa629e43bc807b433a4e30a61847d91b2810e31c366f0fe5057a'], + }), + ('RJSONIO', '1.3-1.8', { + 'checksums': ['f6f0576d3c7852b16295dfc897feebca064fe5dd29cdce7592f94c56823553f5'], + }), + ('caTools', '1.18.2', { + 'checksums': ['75d61115afec754b053ed1732cc034f2aeb27b13e6e1932aa0f26bf590cf0293'], + }), + ('gplots', '3.1.3', { + 'checksums': ['9f853b9e205264d087e61e8825f797ce36c9eb585b187dab794563613a526716'], + }), + ('ROCR', '1.0-11', { + 'checksums': ['57385a773220a3aaef5b221a68b2d9c2a94794d4f9e9fc3c1eb9521767debb2a'], + }), + ('httpuv', '1.6.9', { + 'checksums': ['8d77f25b22fa7473b45007c2048e9a38d3792d59b2716e1fcdf9e99bd585d95d'], + }), + ('rjson', '0.2.21', { + 'checksums': ['982b56d35ccc0c7db0b20c1d3eab5f5f47c620309646fdc278ff1cc3433ea2e2'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('xml2', '1.3.3', { + 'checksums': ['cb4e9c0d31618ed67d2bfa4c7b5e52680e11612ed356a8164b541d44163c1c8d'], + }), + ('fontawesome', '0.5.0', { + 'checksums': ['4117b417a33e82d626881d7059eb54e7534cba202e75dae7e27021cb3796e90b'], + }), + ('shiny', '1.7.4', { + 'checksums': ['bbfcdd7375013b8f59248b3f3f4e752acd445feb25179f3f7f65cd69614da4b5'], + }), + ('seqinr', '4.2-23', { + 'checksums': ['af2174178972f71821062daec3e3ce98edfec19dd133f6bbbf39f5dcd821fb93'], + }), + ('LearnBayes', '2.15.1', { + 'checksums': ['9b110858456523ca0b2a63f22013c4e1fbda6674b9d84dc1f4de8bffc5260532'], + }), + ('gmodels', '2.18.1.1', { + 'checksums': ['da7d48021b7cd2fd8a7cd8d0bb9658b12342a32698a13877b25ca94aa03f1e95'], + }), + ('expm', '0.999-7', { + 'checksums': ['28f249b914b8dd33eee16663fc793e57afd0e301e16067bf9f27fa8e591ba0f1'], + }), + ('terra', '1.7-18', { + 'checksums': ['d6815927ceccc217aa0f19b2231b3a160f643c5046cdb51b42f77b7082dcea46'], + }), + ('raster', '3.6-20', { + 'checksums': ['7e5be49f4e37a2c14a3b87661b252956643b959146cbdb08e983660c1d59a813'], + }), + ('spData', '2.2.2', { + 'checksums': ['878a58e98b6cf259432149ecb4e5d66ada59466e1b5b0dafa60ec839e90104ed'], + }), + ('units', '0.8-1', { + 'checksums': ['d3e1ba246b4c97205bc3da3cf45d6b5bd5c196b8d421b84b4e94b2090985cd9a'], + }), + ('classInt', '0.4-9', { + 'checksums': ['5b11af7d08f8793c7b47ee7c68b8e371cb23027165d30abddbd8b2abcc20e1c3'], + }), + ('vegan', '2.6-4', { + 'checksums': ['5d8ad4bebe79ae2bbd840a34100cf54c62f089c66ea484a542a201afcba21d06'], + }), + ('rncl', '0.8.7', { + 'checksums': ['1d876e4f5f2b8a24cc3ea1002c29eedbc0ca96011b0fa15b085e5b75cfc7993a'], + }), + ('XML', '3.99-0.13', { + 'checksums': ['85c568a6e2f0c43a8026d10861ddd8984907b03665ed88fca1a3776c25e8f73a'], + }), + ('reshape', '0.8.9', { + 'checksums': ['791178b3b5f30c166ebf5910a5ab1c67b54e7023b10b6c2e2ddd1cc02a1e4048'], + }), + ('triebeard', '0.4.1', { + 'checksums': ['192f2fef6341e43bd56ef4f9841e813e07be990f4ffcf38c5606259630efe0f7'], + }), + ('urltools', '1.7.3', { + 'checksums': ['6020355c1b16a9e3956674e5dea9ac5c035c8eb3eb6bbdd841a2b5528cafa313'], + }), + ('httpcode', '0.3.0', { + 'checksums': ['593a030a4f94c3df8c15576837c17344701bac023ae108783d0f06c476062f76'], + }), + ('crul', '1.3', { + 'checksums': ['8058617d8b3724acb5b89d0e6e63f381df5c56565128b250a65eceb2b8081e2d'], + }), + ('bold', '1.2.0', { + 'checksums': ['8f1597f04acbe6b090232929325734c802049d82649ae102b438e1fa3af5a464'], + }), + ('rredlist', '0.7.1', { + 'checksums': ['92a10c37a211dc19b41b93f9ceb13d7ce1c3d3a7290cbba4c1688d944353ae85'], + }), + ('rentrez', '1.2.3', { + 'checksums': ['fb256597ebe7780e38bef9c4c2626b3feacd60c7a5a29fc6a218cf0d8d132f74'], + }), + ('rotl', '3.0.14', { + 'checksums': ['982ae7012c0e6c56115d5355c6269c507965c3b0b7f251daf1ca49eb80ad5fcf'], + }), + ('solrium', '1.2.0', { + 'checksums': ['7ec64199497cc69f542fded955b709fc548cf8e2734c9db0f4a99a0ea67ca49b'], + }), + ('ritis', '1.0.0', { + 'checksums': ['327b221872408b1f0fe0cce953685535b66d2fa5d6cac628e1142a26e4856136'], + }), + ('worrms', '0.4.2', { + 'checksums': ['1ab228ea762a431a5e3a565b589b804fcb2865ceaa2b1459bd2ab3ebe8f5ebbe'], + }), + ('natserv', '1.0.0', { + 'checksums': ['30f90f938e963191ef19b1433db1e265f67d8efe29c92a1d3603c3dc9a03d5c8'], + }), + ('WikipediR', '1.5.0', { + 'checksums': ['f8d0e6f04fb65f7ad9c1c068852a6a8b699ffe8d39edf1f3fa07d32d087e8ff0'], + }), + ('ratelimitr', '0.4.1', { + 'checksums': ['2b21e4574521c5336feeb3041eaf096bde7857b140049cdeb6ec97dc652aa71b'], + }), + ('rex', '1.2.1', { + 'checksums': ['af42e649c06e4bbdba94d5a1870a7e8347903571c90cd5e5ca40f52307a3bfd6'], + }), + ('WikidataQueryServiceR', '1.0.0', { + 'checksums': ['0e14eec8471a72227f800b41b331cfc49a94b4d4f49e68936448ebbae0b281ae'], + }), + ('pbapply', '1.7-0', { + 'checksums': ['64b8e931e0a09031c20b66173ce80a646043b8f135d329bc86226a11c6b706c0'], + }), + ('WikidataR', '2.3.3', { + 'checksums': ['3da74b0584b8141a1b61b4d8f58e53c0e46524d811b1642bcc01fb7fd6180888'], + }), + ('wikitaxa', '0.4.0', { + 'checksums': ['ba872853af59fdc8f1121d6e205f15e5bf4f2ec5ad68cd5755a423fa783bf7fc'], + }), + ('phangorn', '2.11.1', { + 'checksums': ['10096ecae03e118aa4dbc60d9866175fad4849c948e004cf10c3868e3feed420'], + }), + ('uuid', '1.1-0', { + 'checksums': ['e75b50ee7dc8c4c8e7083023e954ffd1c6a004431bf5e9094463e46aa760f42f'], + }), + ('conditionz', '0.1.0', { + 'checksums': ['ccd81e4f2534d29cddf44cf697f76ff01417cbeb22001a93477edc61cdd35646'], + }), + ('taxize', '0.9.100', { + 'checksums': ['e2e578fc45eb5d1306332892c67535fa4bc32d63129532df2c6cde393993cd29'], + }), + ('RNeXML', '2.4.11', { + 'checksums': ['246913cbb0e816401bb8e37dda20646202547f5cc8379c9dadf832f61d6cfd46'], + }), + ('phylobase', '0.8.10', { + 'checksums': ['5a44380ff49bab333a56f6f96157324ade8afb4af0730e013194c4badb0bf94b'], + }), + ('magick', '2.7.4', { + 'checksums': ['e28d67737590f8c19e4cf00a9c74e59d0e45f9ece363ed105b5f40e821e8f02f'], + }), + ('animation', '2.7', { + 'checksums': ['88418f1b04ec785963bad492f30eb48b05914e9e5d88c7eef705d949cbd7e469'], + }), + ('bigmemory.sri', '0.1.6', { + 'checksums': ['3bfa6ac966ce0ea93283f5856a853d0ee5ff85aedd7a7d1ca8a93d0aa642860c'], + }), + ('bigmemory', '4.6.1', { + 'checksums': ['b56e157c87ed6c4fc69d4cb9c697ae9a2001726e776e41aa7c48b35327b65141'], + }), + ('calibrate', '1.7.7', { + 'checksums': ['713b09b415c954e1ef5216088acd40621b0546c45afbb8c2c6f118ecb5cd6fa6'], + }), + ('clusterGeneration', '1.3.7', { + 'checksums': ['534f29d8f7ed11e6e9a496f15845b588ec7133f3da5e6def8140b88500e52d5c'], + }), + ('dismo', '1.3-9', { + 'checksums': ['3924521db67716b004a4c870985c65d037edfe926b14222740fd6c2b2093beee'], + }), + ('extrafontdb', '1.0', { + 'checksums': ['faa1bafee5d4fbc24d03ed237f29f1179964ebac6e3a46ac25b0eceda020b684'], + }), + ('Rttf2pt1', '1.3.12', { + 'checksums': ['0b4b7a303990369a6944de817b6bd220b400942fcabf42c04fb5b56f1b40a583'], + }), + ('extrafont', '0.19', { + 'checksums': ['4e8f90152df13fc5dee573222a26b4d66553493fdf6af1c7777e59521ccdab8d'], + }), + ('fields', '14.1', { + 'checksums': ['57c4c5592443d2ee869014b3199989b5edd1aff52e24f1cd313b8f9b34a95434'], + }), + ('shapefiles', '0.7.2', { + 'checksums': ['4bfa4094c1052c1b1918b1670798f8b4e53f771cfdf9cb8c04bd00a856674d0f'], + }), + ('fossil', '0.4.0', { + 'checksums': ['37c082fa15ebae89db99d6071b2bb2cad6a97a0405e9b4ef77f62a8f6ad274c1'], + }), + ('optimParallel', '1.0-2', { + 'checksums': ['0f9bc62c23d9005130f2892bf5eaecf308fa48a727bdd5e19b7dcd1d95f30a9d'], + }), + ('phytools', '1.5-1', { + 'checksums': ['f8be59abbff1f5032be4523c361da53b0d5b71677fedebba6d7cbae2dca7e101'], + }), + ('geiger', '2.0.10', { + 'checksums': ['2895cfb73fb91764be2ec3f931e4f3b2e75ae00a1431af4b40dc90e7c0693be0'], + }), + ('shape', '1.4.6', { + 'checksums': ['b9103e5ed05c223c8147dbe3b87a0d73184697343634a353a2ae722f7ace0b7b'], + }), + ('glmnet', '4.1-6', { + 'checksums': ['bec4c6cea284d0dc24bbdac3e623f0772cea1d74ef77e718651e3830c74b7e30'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('webshot', '0.5.4', { + 'checksums': ['3dc2b9baef7855e1deea060276b9ccc6375eee36b7100987cbb1f8e5cd7a8f24'], + }), + ('shinyjs', '2.1.0', { + 'checksums': ['7ec20cbf1b1fd7a32d85a56dfc0df8b5f67c828d241da400a21d893cb37ea9c5'], + }), + ('manipulateWidget', '0.11.1', { + 'checksums': ['5b73728d7d6dcc32f32d861375074cd65112c03a01e4ee4fa94e21b063fdefb6'], + }), + ('rgl', '1.0.1', { + 'checksums': ['89a300faca7dc34a2c2a1f174a02754b2ceb5fcfffb746487af02b23c30a2fc8'], + }), + ('Rtsne', '0.16', { + 'checksums': ['52a05adc826c28212e97d11c54eba3fec45d14eb52039c0f47f62a8e338ffbd5'], + }), + ('labdsv', '2.0-1', { + 'checksums': ['5a4d55e9be18222dc47e725008b450996448ab117d83e7caaa191c0f13fd3925'], + }), + ('stabs', '0.6-4', { + 'checksums': ['f8507337789f668e421a6ee7b11dd5ea331bf8bff0f9702dd1b93f46c2f3c1d9'], + }), + ('modeltools', '0.2-23', { + 'checksums': ['6b3e8d5af1a039db5c178498dbf354ed1c5627a8cea9229726644053443210ef'], + }), + ('strucchange', '1.5-3', { + 'checksums': ['cac6b4028f68cc8d39202377161d0f7f72ea229b552a5c35769053ab89f90f86'], + }), + ('TH.data', '1.1-1', { + 'checksums': ['edf3ab16b142f4c52d21fc64e41409ed138e5b3e142f2fae964b00f02d53dd7a'], + }), + ('multcomp', '1.4-23', { + 'checksums': ['425154a58bd8f2dbaff5d16e97b03473cbc0d571b1c2e4dd66a13c6d20a8cde1'], + }), + ('libcoin', '1.0-9', { + 'checksums': ['2d7dd0b7c6dfc20472430570419ea36a714da7bbafd336da1fb53c5c6463d9eb'], + }), + ('coin', '1.4-2', { + 'checksums': ['7546d1f27a82d98b4b3e43e4659eba0f74a67d5919ce85d2fb360282ba3cfbb2'], + }), + ('party', '1.3-13', { + 'checksums': ['def05e7f0c59f1b1ecf0ab3929cff75ae8c2691aaf52292cad4371281b897e7b'], + }), + ('inum', '1.0-5', { + 'checksums': ['e696b7e0b31b3bbf405112e60691b6a72fedcaa02e08ee517c59f6bf9cd36bbd'], + }), + ('partykit', '1.2-18', { + 'checksums': ['2c3f8ba0eaa38268565d006954d6f45a172e29e81b8e2ad86a0ec4b5d41464fb'], + }), + ('mboost', '2.9-7', { + 'checksums': ['0242cb91656280c4bd705643b65674900a1475305d9f80cfc12ef4b5fa069606'], + }), + ('msm', '1.7', { + 'checksums': ['7f89f8e47966919e49ef8dfe1f9c82ac6553b2f404bb03840da5f42e73dd0db0'], + }), + ('nor1mix', '1.3-0', { + 'checksums': ['9ce4ee92f889a4a4041b5ea1ff09396780785a9f12ac46f40647f74a37e327a0'], + }), + ('np', '0.60-17', { + 'checksums': ['d97957cb234ec2e570fc2d02d305eadff3d71939484b3d1054ed8b67a3427f36'], + }), + ('polynom', '1.4-1', { + 'checksums': ['bc1edb7bb16c8b299103f80a52ab8c5fc200cd07a9056578c1f672e9f5019278'], + }), + ('polspline', '1.1.22', { + 'checksums': ['b2f2198f020d7d492a87bad2b58a6cc9ae91d95b7330dd12b9b1145c72d7457b'], + }), + ('rms', '6.5-0', { + 'checksums': ['fd6f819d91d673dc40ce45126ed769d47173cda590147192fd98c2f5e45db185'], + }), + ('RWekajars', '3.9.3-2', { + 'checksums': ['16e6b019aab1646f89c5203f0d6fc1cb800129e5169b15aaef30fd6236f5da1a'], + }), + ('RWeka', '0.4-46', { + 'checksums': ['660555781703c19b994c9dcfc9e7d8312c30b02539f38cd3948bfc33d9f94b67'], + }), + ('slam', '0.1-50', { + 'checksums': ['7899bf3266c204ecccefc1878f96940b117d4503af128f4fbc50fc409163f8bd'], + }), + ('tm', '0.7-11', { + 'checksums': ['9aab8b8493df4c62cff8adbba53be72295673ba8c546cdb129cdc52aabeae742'], + }), + ('leaps', '3.1', { + 'checksums': ['3d7c3a102ce68433ecf167ece96a7ebb4207729e4defd0ac8fc00e7003f5c3b6'], + }), + ('cNORM', '3.0.2', { + 'checksums': ['31231a0612915ee5171676b28273f82acdc8914bd6385fc9e7b17f930e66c91a'], + }), + ('weights', '1.0.4', { + 'checksums': ['efbe65e8a9d05824a86095d45ed62ce24d82101d4ca3b94828d443e08e83ccba'], + }), + ('TraMineR', '2.2-6', { + 'checksums': ['e7f65b5692bf925b3fc94c47083b65917fe3bfdc77b769b4743644a0ad8313e7'], + }), + ('chemometrics', '1.4.2', { + 'checksums': ['b705832fa167dc24b52b642f571ed1efd24c5f53ba60d02c7797986481b6186a'], + }), + ('FNN', '1.1.3.1', { + 'checksums': ['52b0e20611481a95bced40be4126f44b002fd3a9c4c9674bb34db4e1e3b5be5a'], + }), + ('miscTools', '0.6-26', { + 'checksums': ['be3c5a63ca12ce7ce4d43767a1815cd3dcf32664728ade251cfb03ea6f77fc9a'], + }), + ('maxLik', '1.5-2', { + 'checksums': ['7cee05be0624b6a76911fa7b0d66f3e1b78460e0c55ed8bc904ce1e8af7bb15d'], + }), + ('gbRd', '0.4-11', { + 'checksums': ['0251f6dd6ca987a74acc4765838b858f1edb08b71dbad9e563669b58783ea91b'], + }), + ('rbibutils', '2.2.13', { + 'checksums': ['ac235c60bf191ad1830b93045af1b2fe50a6978f6f63cecc4c514a8ba339efc2'], + }), + ('Rdpack', '2.4', { + 'checksums': ['7652add12b30fcba1f3a12493a089a4166079e78c47b95802a98595a3ff53581'], + }), + ('dfidx', '0.0-5', { + 'checksums': ['37521940b35d62773a4d127c94148aadf207f400a686f2212a22d96e53086a0a'], + }), + ('mlogit', '1.1-1', { + 'checksums': ['6f3ea97db410be929a3078422f3d354d2f17855a21bbdc7c2c09d901e233d143'], + }), + ('getopt', '1.20.3', { + 'checksums': ['531f5fdfdcd6b96a73df2b39928418de342160ac1b0043861e9ea844f9fbf57f'], + }), + ('gsalib', '2.2.1', { + 'checksums': ['3da3a4b959142a0d694a843e39143bfce82a6de197c6cc92650a28ac05f3bf90'], + }), + ('optparse', '1.7.3', { + 'checksums': ['6287e1af051d4a65037900ce7b30bd962039450dd4eab63b6f2491eace6a07ed'], + }), + ('labelled', '2.10.0', { + 'checksums': ['5e93e29dcbbf0f6273b502b744695426e238ffe106f1db2bb5daeb1f17c9c40a'], + }), + ('R.cache', '0.16.0', { + 'checksums': ['7853409161571a790e0383f64f99e4eae43201a0ed7146d2baf157741a509291'], + }), + ('styler', '1.9.1', { + 'checksums': ['c80fa3c062f007645ec820b5b087d4d5784e7797cc88d030ab59fb5823ded0bb'], + }), + ('questionr', '0.7.8', { + 'checksums': ['af72e59fe652c6063282a7e5b0f487993b9361cc9ed052a632d64a5a6db76ba9'], + }), + ('klaR', '1.7-1', { + 'checksums': ['0354bafb1a202bc439660ecfcfe78359bc2881a69d15ff64afa049e4eb171d25'], + }), + ('neuRosim', '0.2-13', { + 'checksums': ['b6f45e005ab0305b797b4f30a73e43d42630a54cafb61728abace27c569eb74b'], + }), + ('locfit', '1.5-9.7', { + 'checksums': ['48e5fcd089fbc609d8e4c62c390425fba1dd167ad95ae0bddc175cbbe1517aff'], + }), + ('GGally', '2.1.2', { + 'checksums': ['30352f36bf061bc98bdd5fa373ea0f23d007040bd908c7c018c8e627e0fb28e5'], + }), + ('beanplot', '1.3.1', { + 'checksums': ['49158aee3449108fd857ef43fb777f55a2b975b350a4a710788996ad19dd15ad'], + }), + ('clValid', '0.7', { + 'checksums': ['037da469891462021eb177f9c9e18caefa8532f08c68fb576fae1668a1f451a1'], + }), + ('DiscriMiner', '0.1-29', { + 'checksums': ['5aab7671086ef9940e030324651976456f0e84dab35edb7048693ade885228c6'], + }), + ('ellipse', '0.4.3', { + 'checksums': ['02ef2b11c3462a8b800332e522183f4c7c40c7d2d66c5174d5f3f6d8cc68a946'], + }), + ('pbkrtest', '0.5.2', { + 'checksums': ['8e79adf035a0fcf3c82145ad55847497379e009f7be880ba3007ebeb2e69b6e3'], + }), + ('carData', '3.0-5', { + 'checksums': ['02e77159b33e3afb8cd9cfab11cf5a996a93175f924b07d991ce44bc6e16451a'], + }), + ('maptools', '1.1-6', { + 'checksums': ['d6a5df52db03b2231f21921b693c67f85df3c3b376181aa13ef4f21710f69308'], + }), + ('zip', '2.2.2', { + 'checksums': ['e16cde23bb283efbe9b6bce19575c716c371d09033b42514471ccb444c0a8ea4'], + }), + ('openxlsx', '4.2.5.2', { + 'checksums': ['ee7089e7e5832ef22ee0d0eebf7cca5096ce23afb2bcdb58700be62526fc9b67'], + }), + ('rematch', '1.0.1', { + 'checksums': ['a409dec978cd02914cdddfedc974d9b45bd2975a124d8870d52cfd7d37d47578'], + }), + ('cellranger', '1.1.0', { + 'checksums': ['5d38f288c752bbb9cea6ff830b8388bdd65a8571fd82d8d96064586bd588cf99'], + }), + ('readxl', '1.4.2', { + 'checksums': ['387304e2c5be0dca4861ec0232f0d92cc1882b660ca917f8f2a8a4ae858aba11'], + }), + ('rio', '0.5.29', { + 'checksums': ['9fa63187e1814053e6ed2a164665b4924e08c3453adccb78f7211d403dcc5412'], + }), + ('car', '3.1-1', { + 'checksums': ['8fc55815eed7e46a32b54da9e0bfa4b74a8d082d73d896e3372f2a413b6bd2bc'], + }), + ('flashClust', '1.01-2', { + 'checksums': ['48a7849bb86530465ff3fbfac1c273f0df4b846e67d5eee87187d250c8bf9450'], + }), + ('ggrepel', '0.9.3', { + 'checksums': ['b9eba0e2edee84db0276b49e4834b65f5369edc4bc56f4cacc13e0d1c39a005c'], + }), + ('DT', '0.27', { + 'checksums': ['e32fdccd2be430933cff88a9ce79045bfdbe3e08e0cd8d15037445808613289a'], + }), + ('estimability', '1.4.1', { + 'checksums': ['c65aaf1e452f3947013d3ce05ae674d48492081f615a942592dc91db780f1124'], + }), + ('emmeans', '1.8.5', { + 'checksums': ['5c88b415b5a42d8c1aa63af090c4987326530ea6d0e60bab9b5fb7e99a982415'], + }), + ('multcompView', '0.1-8', { + 'checksums': ['123d539172ad6fc63d83d1fc7f356a5ed7b691e7803827480118bebc374fd8e5'], + }), + ('FactoMineR', '2.7', { + 'checksums': ['27b83ecc64cf445a42d0af3812492fd58624839fa5d458ec0ca6666ed914250d'], + }), + ('flexclust', '1.4-1', { + 'checksums': ['d67977df059e622832358069509f8968d506074320a45d34bfd21c65f898538d'], + }), + ('flexmix', '2.3-19', { + 'checksums': ['adf5a40cbb6d45e3652c1666cb3ccdb9654e501fd685c091cad0686e62bc12e9'], + }), + ('prabclus', '2.3-2', { + 'checksums': ['f421bcbcb557281e0de4a06b15f9a496adb5c640e883c0f7bb12051efc69e441'], + }), + ('diptest', '0.76-0', { + 'checksums': ['508a5ebb161519cd0fcd156dc047b51becb216d545d62c6522496463f94ec280'], + }), + ('trimcluster', '0.1-5', { + 'checksums': ['9239f20e4a06ac2fa89e5d5d89b23a45c8c534a7264d89bede8a35d43dda518b'], + }), + ('fpc', '2.2-10', { + 'checksums': ['99b4548f2eca1a092a31bc2fa4e4bd1d6b50fdfacf3218588c879ceec99147d2'], + }), + ('BiasedUrn', '2.0.9', { + 'checksums': ['bac62bbbc3e2417772f8784996a6c2d0857adb42e86e46b1a9703b187a406b09'], + }), + ('TeachingDemos', '2.12', { + 'checksums': ['3e75405ce1affa406d6df85e06f96381412bc7a2810b25d8c81bfe64c4698644'], + }), + ('kohonen', '3.0.11', { + 'checksums': ['018d820acdb7dfa716275ba24c4d671cb0202cb1fee584b673d0118e2c9063ae'], + }), + ('base64', '2.0.1', { + 'checksums': ['4d22687c0195c2049e0af2c613b1ebcb908037010ad6e550bf47d69e842535f1'], + }), + ('doRNG', '1.8.6', { + 'checksums': ['5032ade083f1f9841ac2e8d4426faa07f189c25c0c338fa155c5dadbe5507de2'], + }), + ('nleqslv', '3.3.4', { + 'checksums': ['2783e7525bcd155dd8cedf5a41b7db65cd1fa0e095cd937371448316f3930fcf'], + }), + ('Deriv', '4.1.3', { + 'checksums': ['dbdbf5ed8babf706373ae33a937d013c46110a490aa821bcd158a70f761d0f8c'], + }), + ('RGCCA', '2.1.2', { + 'checksums': ['20f341fca8f616c556699790814debdf2ac7aa4dd9ace2071100c66af1549d7d'], + }), + ('pheatmap', '1.0.12', { + 'checksums': ['579d96ee0417203b85417780eca921969cda3acc210c859bf9dfeff11539b0c1'], + }), + ('pvclust', '2.2-0', { + 'checksums': ['7892853bacd413b5a921006429641ad308a344ca171b3081c15e4c522a8b0201'], + }), + ('RCircos', '1.2.2', { + 'checksums': ['5bbdc3baff2d22a8922685af02b2af07541a1bcf1914abd9c166850b4c550afc'], + }), + ('lambda.r', '1.2.4', { + 'checksums': ['d252fee39065326c6d9f45ad798076522cec05e73b8905c1b30f95a61f7801d6'], + }), + ('futile.options', '1.0.1', { + 'checksums': ['7a9cc974e09598077b242a1069f7fbf4fa7f85ffe25067f6c4c32314ef532570'], + }), + ('futile.logger', '1.4.3', { + 'checksums': ['5e8b32d65f77a86d17d90fd8690fc085aa0612df8018e4d6d6c1a60fa65776e4'], + }), + ('VennDiagram', '1.7.3', { + 'checksums': ['e7c2475f7613241787e6c85bd03315e4fd88413ccbbb735959756a8c2eeb8c46'], + }), + ('xlsxjars', '0.6.1', { + 'checksums': ['37c1517f95f8bca6e3514429394d2457b9e62383305eba288416fb53ab2e6ae6'], + }), + ('xlsx', '0.6.5', { + 'checksums': ['378c5ed475a3d7631ea1ea13e0a69d619c1a52260922abda42818752dbb32107'], + }), + ('uroot', '2.1-2', { + 'checksums': ['bd7fd9e35928d09d0e8fae9e4359a2b2bca6e6865b278436319e2f91db0e4b37'], + }), + ('forecast', '8.21', { + 'checksums': ['fdd131795a9d3fb399d76a9aa66a0c276637caaa9ec0c75fbe386189d005c6c2'], + }), + ('fma', '2.5', { + 'checksums': ['400dea4d2b6e73ed686d901fbab1b4f930dfcdd67fbd0bb3abc34a707656cf78'], + }), + ('expsmooth', '2.3', { + 'checksums': ['ac7da36347f983d6ec71715daefd2797fe2fc505c019f4965cff9f77ce79982a'], + }), + ('fpp', '0.5', { + 'checksums': ['9c87dd8591b8a87327cae7a03fd362a5492495a96609e5845ccbeefb96e916cb'], + }), + ('tensor', '1.5', { + 'checksums': ['e1dec23e3913a82e2c79e76313911db9050fb82711a0da227f94fc6df2d3aea6'], + }), + ('polyclip', '1.10-4', { + 'checksums': ['84d2c9778771d3759b49d7d16fb54c8ddc5397da3b1d21074bc4aa42c02e6f56'], + }), + ('goftest', '1.2-3', { + 'checksums': ['3a5f74b6ae7ece5b294781ae57782abe12375d61789c55ff5e92e4aacf347f19'], + }), + ('spatstat.utils', '3.0-2', { + 'checksums': ['be60cd2cf21a6b3f71ba60553c045fd87884a4e57744f60e6eb0a2d096314615'], + }), + ('spatstat.data', '3.0-1', { + 'checksums': ['8eeb4b1de356e9cef42f58b5e0fc7ced2a476a1306e09395ba97253b22dd5300'], + }), + ('spatstat.geom', '3.1-0', { + 'checksums': ['184a96679babcbff4897c5a471e034eb1bb7127c6cf668e8cc2c2c74bdea47fe'], + }), + ('spatstat.sparse', '3.0-1', { + 'checksums': ['2c1cf0ddad366aa4230bd03241a1ef87ed635f53a6943fc4a6c2d371626d0d1c'], + }), + ('spatstat.random', '3.1-4', { + 'checksums': ['a6cd75e187a992fd8dae535f6745e12801635a344ca51bd2fe048debea3df7d3'], + }), + ('spatstat.core', '2.4-4', { + 'checksums': ['e38c39efe8b14d6e8fdbee8dd870b90c52f78ea571ab7988fd3685f48347d13b'], + }), + ('spatstat.explore', '3.1-0', { + 'checksums': ['87ef4882652db3b834214bfc776dd7d23d931a9227de12f19722aeb1029d086e'], + }), + ('spatstat.model', '3.2-1', { + 'checksums': ['7ae5c0da47dcf786ae09bd12eecd41dc44e9390adfd36a559f8e58480f81596f'], + }), + ('spatstat.linnet', '3.0-6', { + 'checksums': ['1609d4c3b3bf168b6218827749e0c887c09727dc144403a2cf7778e8c8fb606a'], + }), + ('spatstat', '3.0-3', { + 'checksums': ['1daf773656da834790ea4a9013d1e1858575888e55007a3a5849b7290771502a'], + }), + ('pracma', '2.4.2', { + 'checksums': ['1d50337fdfd9a8d704a64f01dae5d52b9a2bd6d872fdaa4a6685b8d3bde89c16'], + }), + ('RCurl', '1.98-1.10', { + 'checksums': ['5a622bcf8b6fb77f4b01e9473d3685f64f51401240630bb25b0266a61306f1d4'], + }), + ('bio3d', '2.4-4', { + 'checksums': ['5654eac10d33e4235ef89292e3b99006d8812b6bfaaa3d6fb540312160fd9de9'], + }), + ('AUC', '0.3.2', { + 'checksums': ['836b25b654a82f6ab69b86be95acc22a214da0ad06d71eab787ae1ebe721ae1f'], + }), + ('interpretR', '0.2.4', { + 'checksums': ['4c08a6dffd6fd5764f27812f3a085c53e6a21d59ae82d903c9c0da93fd1dd059'], + }), + ('cvAUC', '1.1.4', { + 'checksums': ['48b4a3c34e9beb63239e9c7372dd125fe87648262ad5490e0bee2a1f14285ed4'], + }), + ('SuperLearner', '2.0-28', { + 'checksums': ['5f42233abd48f1740c33aae1ec4ad8e9952fddb5df1ee49ff2d43d5d89f05601'], + }), + ('mediation', '4.5.0', { + 'checksums': ['210206618787c395a67689be268283df044deec7199d9860ed95218ef1e60845'], + }), + ('CVST', '0.2-3', { + 'checksums': ['efa296230395f323c2a398a7b386e3a88e75a5b9b645307459d0b7c14d03f32d'], + }), + ('DRR', '0.0.4', { + 'checksums': ['93e365a4907e301ae01f7d943e6bdcda71ef23c51a4759ba3c94bcf842d4e0f8'], + }), + ('dimRed', '0.2.6', { + 'checksums': ['9a7eb14781f01a12e26e7b26a91c8edaca7d824b9c1ffe74c81837098d9bf417'], + }), + ('ddalpha', '1.3.13', { + 'checksums': ['e4a60a4e0950a3587db2a2d5958ab4fbe07b2548f7c3d4795912fe45c77a4eae'], + }), + ('RcppRoll', '0.3.0', { + 'checksums': ['cbff2096443a8a38a6f1dabf8c90b9e14a43d2196b412b5bfe5390393f743f6b'], + }), + ('adabag', '4.2', { + 'checksums': ['47019eb8cefc8372996fbb2642f64d4a91d7cedc192690a8d8be6e7e03cd3c81'], + }), + ('parallelMap', '1.5.1', { + 'checksums': ['c108a634a335ed47b0018f532a52b032487e239c5061f939ba32355dfefde7e1'], + }), + ('ParamHelpers', '1.14.1', { + 'checksums': ['0450ff8489b0d4d0842130f6a9713ede97da936d7909c43d43587bf2d5a01a21'], + }), + ('ggvis', '0.4.8', { + 'checksums': ['3d5480a0b97a57c26b595785f826b13d7695dab1f1dd8fcf5d7964fa8546a26a'], + }), + ('mlr', '2.19.1', { + 'checksums': ['9d52afd54d9d5746e798134d5675818cee65caa53d7eaf317d46ba88d5865202'], + }), + ('unbalanced', '2.0', { + 'checksums': ['9be32b1ce9d972f1abfff2fbe18f5bb5ba9c3f4fb1282063dc410b82ad4d1ea2'], + }), + ('RSNNS', '0.4-15', { + 'checksums': ['4a4286444f50b28fb6294b8b49250fa6c43c8fddf2ee0550a3ae59a4212ec1b3'], + }), + ('abc.data', '1.0', { + 'checksums': ['b242f43c3d05de2e8962d25181c6b1bb6ca1852d4838868ae6241ca890b161af'], + }), + ('abc', '2.2.1', { + 'checksums': ['db52a397a204a0040ec1368ae217cf7b0d8e99e2567927dbe3ae89f93d1de598'], + }), + ('lhs', '1.1.6', { + 'checksums': ['e37fce44efe6a371677ba2f72f9e1e48270a0fdc60872d05def89270586cd23f'], + }), + ('tensorA', '0.36.2', { + 'checksums': ['8e8947566bd3b65a54de4269df1abaa3d49cf5bfd2a963c3274a524c8a819ca7'], + }), + ('EasyABC', '1.5.2', { + 'checksums': ['326c92e003866728729dc61473f168c3663106b1229e8513abd7ce520c18689c'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('roxygen2', '7.2.3', { + 'checksums': ['d844fab977d2575ab942fa1309ac7ff67f35f099a75d8b41c79efe6ea10416da'], + }), + ('git2r', '0.31.0', { + 'checksums': ['f1db9278fa4604600a64beaedcf86dda595d7c8a10cdb1f7300a6635e73cd66d'], + }), + ('rversions', '2.1.2', { + 'checksums': ['de5818233e8271132fe8ea70145618950b35786e0d2f270e39bf3338f3b8b160'], + }), + ('xopen', '1.0.0', { + 'checksums': ['e207603844d69c226142be95281ba2f4a056b9d8cbfae7791ba60535637b3bef'], + }), + ('sessioninfo', '1.2.2', { + 'checksums': ['f56283857c53ac8691e3747ed48fe03e893d8ff348235bff7364658bcfb0c7cb'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.4.2', { + 'checksums': ['f2ef875f24a485bf4f55a8c830f87cdd5db868f9a8cdb624dc452d0bf66ba516'], + }), + ('clisymbols', '1.2.0', { + 'checksums': ['0649f2ce39541820daee3ed408d765eddf83db5db639b493561f4e5fbf88efe0'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.2', { + 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], + }), + ('httr2', '0.2.2', { + 'checksums': ['5d1ab62541f7817112519f0f9d00d6a2555bab5b2da7f5c6d579b0c307d7f2bf'], + }), + ('gh', '1.4.0', { + 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], + }), + ('credentials', '1.3.2', { + 'checksums': ['2ffa7c11bedbfa034adf553d0a2f2e4f6a496b858af753a09a89219cff9028b8'], + }), + ('gert', '1.9.2', { + 'checksums': ['42ca1b4bcafb1fdbbc7f54df0ee4476ecd19e9e7d563b53fe7064e0086ab665e'], + }), + ('usethis', '2.1.6', { + 'checksums': ['31dc6707577065ac1d4acb7d4cbf135942727c5cc2699092198c544be86f6818'], + }), + ('covr', '3.6.1', { + 'checksums': ['ffbe15438c1a4f274c14cacfb944480e284f1ab60808d5e840c015cc57c51157'], + }), + ('downlit', '0.4.2', { + 'checksums': ['33dff66909104d1a5ba8e57b1288986e82b61fd5e91dce0cd358d53724b37e3c'], + }), + ('systemfonts', '1.0.4', { + 'checksums': ['ef766c75b942f147d382664a00d6a4930f1bfe0cce9d88943f571682a85a84c0'], + }), + ('textshaping', '0.3.6', { + 'checksums': ['80e2c087962f55ce2811fbc798b09f5638c06c6b28c10cd3cb3827005b902ada'], + }), + ('ragg', '1.2.5', { + 'checksums': ['936f4d75e0e01cdeefb9f57d121cdd7812d0de5a9e1a3a8315f92ce1c84da8f9'], + }), + ('pkgdown', '2.0.7', { + 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], + }), + ('profvis', '0.3.7', { + 'checksums': ['43974863cb793f81dbea4b94096343c321f7739c9038980405c9b16b04a906b9'], + }), + ('urlchecker', '1.0.1', { + 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], + }), + ('devtools', '2.4.5', { + 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], + }), + ('Rook', '1.2', { + 'checksums': ['c79ae4b5164daffd4e7cf74bd23c1b08a3948bf343dfe9570d57f39cbf8e5f62'], + }), + ('Cairo', '1.6-0', { + 'checksums': ['c762ac1d8daa4af527342360c256ed742de4e3031d997e9e59c9a369fcafb7d3'], + }), + ('RMTstat', '0.3.1', { + 'checksums': ['bb4827d76106f5377044cd2b230208881eb714cae65f512f4b95988d9b162ae4'], + }), + ('Lmoments', '1.3-1', { + 'checksums': ['7c9d489a08f93fa5877e2f233ab9732e0d1b2761596b3f6ac91f2295e41a865d'], + }), + ('distillery', '1.2-1', { + 'checksums': ['4b88f0b34e472b9134ad403fb32283424f1883a5943e52c55f1fe05995efb5fa'], + }), + ('extRemes', '2.1-3', { + 'checksums': ['e1ccf0dd542502eb9775682ff64ed358fce4aec271b98cd746e58fbfcf093c40'], + }), + ('tkrplot', '0.0-27', { + 'checksums': ['c99211919414400b0f579e1354407f2e154cfe85533d324bcf9c68172c2772a5'], + }), + ('misc3d', '0.9-1', { + 'checksums': ['a07bbb0de153e806cd79675ed478d2d9221cff825654f59a71a9cf61f4293d65'], + }), + ('multicool', '0.1-12', { + 'checksums': ['487d28d9c3c606be0cf56e2d8f8b0d79fb71949c68886ea9251fbb1c01664a36'], + }), + ('plot3D', '1.4', { + 'checksums': ['d04a45197646fb36bc38870c1c2351cb56b912bd772b1ebfa25eaeef35fda9c0'], + }), + ('plot3Drgl', '1.0.4', { + 'checksums': ['6d87a9a32aba3aa64f751268cabd14dbd3e0eca2bd5f0a4b11366cd1e2f51bdd'], + }), + ('OceanView', '1.0.6', { + 'checksums': ['2c5165975d6c49fdc83a892cb0406584928dd44000c9774fffc00fbd2fec86f3'], + }), + ('ks', '1.14.0', { + 'checksums': ['2db9c56b7b0217b324bbf1e0f66bb94d3f7067a75c5823cbc7d369d63bbb4391'], + }), + ('logcondens', '2.1.7', { + 'checksums': ['1ad887571afe2d3f66676c59b32ed8fb2fa13fada14f0a1834fbbcfe983acbf8'], + }), + ('Iso', '0.0-18.1', { + 'checksums': ['2fa5f78a7603cbae94a5e38e791938596a053d48c609a7c120a19cbb7d93c66f'], + }), + ('penalized', '0.9-52', { + 'checksums': ['d8e38e6c4e993c74998ca8f986b4e11e09c0b9971103e1d5c7ebdee75f6d6a21'], + }), + ('clusterRepro', '0.9', { + 'checksums': ['940d84529ff429b315cf4ad25700f93e1156ccacee7b6c38e4bdfbe2d4c6f868'], + }), + ('data.tree', '1.0.0', { + 'checksums': ['40674c90a5bd00f5185db9adbd221c6f1114043e69095249f5fa8b3044af3f5e'], + }), + ('influenceR', '0.1.0.1', { + 'checksums': ['63c46f1175fced33fb1b78d4d56e37fbee09b408945b0106dac36e3344cd4766'], + }), + ('visNetwork', '2.1.2', { + 'checksums': ['47c99d42fc89e6ae929257b2648d998c5ffed60dff97ad7e47613f5a0c1ddc84'], + }), + ('downloader', '0.4', { + 'checksums': ['1890e75b028775154023f2135cafb3e3eed0fe908138ab4f7eff1fc1b47dafab'], + }), + ('DiagrammeR', '1.0.9', { + 'checksums': ['64a426fe27110dddd8b0c1223ae4c397a2e553ae5e81ddd4ff67c026cfc40abf'], + }), + ('randomForestSRC', '3.2.1', { + 'checksums': ['8548102482a724d2ecb1c249e1fbda18f9a9be3ad071c0e559412aac96537f2c'], + }), + ('sm', '2.2-5.7.1', { + 'checksums': ['ea0cc32eb14f6c18beba0bede66ed37bc5341bd3f76c1a7ae56d7254693e1457'], + }), + ('pbivnorm', '0.6.0', { + 'checksums': ['07c37d507cb8f8d2d9ae51a9a6d44dfbebd8a53e93c242c4378eaddfb1cc5f16'], + }), + ('lavaan', '0.6-15', { + 'checksums': ['9a43f3e999f9b3003a8c46a615902e01d6701d28a871d657751dd2ff3928ed9b'], + }), + ('matrixcalc', '1.0-6', { + 'checksums': ['0bc7d2f11f62d8b1969474defe27c924a243ccba0c856d585f317f6caa07f326'], + }), + ('arm', '1.13-1', { + 'checksums': ['c02da290c1b9699b958431865fcedce94f00ccc80da5c0aa50ed1c3fb56de937'], + }), + ('mi', '1.1', { + 'checksums': ['4d7a9790dbdc675605d70755af9aa80c21a279be5a5d712b22d77465772cc785'], + }), + ('servr', '0.25', { + 'checksums': ['e6ae0d4c09e9037268b1c291c36c93ba0a74c31fe2fcb1f0652b2ae9fca5e73c'], + }), + ('rgexf', '0.16.2', { + 'checksums': ['6ee052b0de99d0c7492366b991d345a51b3d0cc890d10a68b8670e1bd4fc8201'], + }), + ('sem', '3.1-15', { + 'checksums': ['ad023b00e6e8eb20d107039caf1008c4b05104c7c69709e59c66fbddbf381316'], + }), + ('statnet.common', '4.8.0', { + 'checksums': ['def999130673fbcb315fecf3620a2559864f51961a828625aa5cd5fded7946f0'], + }), + ('network', '1.18.1', { + 'checksums': ['c80d70352967d8480cfa801f2a31bfe130e2ad4dbf2c07b0046e57f3013cd243'], + }), + ('rle', '0.9.2', { + 'checksums': ['803cbe310af6e882e27be61d37d660dbe5910ac1ee1eff61a480bcf724a04f69'], + }), + ('sna', '2.7-1', { + 'checksums': ['60daf217c15b6fa335804600dc1e6eb73594b6e794faa4f82a2275c4d8570ae3'], + }), + ('glasso', '1.11', { + 'checksums': ['4c37844b26f55985184a734e16b8fe880b192e3d2763614b0ab3f99b4530e30a'], + }), + ('huge', '1.3.5', { + 'checksums': ['9240866e2f773cd0ac8a02514871149d2babaa162a49e151eab9591ad42984ea'], + }), + ('d3Network', '0.5.2.1', { + 'checksums': ['5c798dc0c87c6d574abb7c1f1903346e6b0fec8adfd1df7aef5e4f9e7e3a09be'], + }), + ('BDgraph', '2.72', { + 'checksums': ['7cf9cc1bccf2a56b518c88030e00e88217f571afcb250aa95c3bd2771a8b83cd'], + }), + ('graphlayouts', '0.8.4', { + 'checksums': ['778d8f7e190b05d0dbbaa7e6dbdfc0b8fef3c83b71333a6fa89926e6c04690fd'], + }), + ('tweenr', '2.0.2', { + 'checksums': ['64bbfded418d4880e3636f434571c20303d2f66be6950d64583a864fbb661ff3'], + }), + ('ggforce', '0.4.1', { + 'checksums': ['b44219fb63c45fa003c64bca323452f16dcace635204bc0127d3244c0f451873'], + }), + ('tidygraph', '1.2.3', { + 'checksums': ['b09c06b12583ae57edd1ec01e61a0e1b7a4b82358361fb28a6046dbece475687'], + }), + ('ggraph', '2.1.0', { + 'checksums': ['686fdb22dc4f613273fb755ec42399a208b4d10348eecd1a217afd4612245c1f'], + }), + ('qgraph', '1.9.3', { + 'checksums': ['46ae6ab1d2b64667bc5ad7c9e81d44cbdd67d4e865eb35f5a25c80b569975f91'], + }), + ('HWxtest', '1.1.9', { + 'patches': ['HWxtest-1.1.9_add-fcommon.patch'], + 'checksums': [ + {'HWxtest_1.1.9.tar.gz': 'a37309bed4a99212ca104561239d834088217e6c5e5e136ff022544c706f25e6'}, + {'HWxtest-1.1.9_add-fcommon.patch': '4ce08c35035dbcc4edf092cdb405ae32c21c05b3786c15c0aa4bfe13bd81f451'}, + ], + }), + ('diveRsity', '1.9.90', { + 'checksums': ['b8f49cdbfbd82805206ad293fcb2dad65b962fb5523059a3e3aecaedf5c0ee86'], + }), + ('doSNOW', '1.0.20', { + 'checksums': ['917cabed166aa2d1ec291691c17e1e3d344e858543e1682e3a442cc0c504bbb8'], + }), + ('geepack', '1.3.9', { + 'checksums': ['a106fdf99a7070243c412f0117f0f4e3954b2bae81266fba272e9c85040dcde7'], + }), + ('biom', '0.3.12', { + 'checksums': ['4ad17f7811c7346dc4923bd6596a007c177eebb1944a9f46e5674afcc5fdd5a1'], + }), + ('pim', '2.0.2', { + 'checksums': ['1195dbdbd67348dfef4b6fc34fcec643da685ebe58d34bbe049ab121aca9944f'], + }), + ('minpack.lm', '1.2-3', { + 'checksums': ['bfa702679f023b2c9a54b23172deb6e26cfa27addce4d2d6bd5e7d89e14feef0'], + }), + ('rootSolve', '1.8.2.3', { + 'checksums': ['b5b3d1641642a3fd1279dbd1245f968d2331ac9588d77f872b113f7dc4594ba0'], + }), + ('diagram', '1.6.5', { + 'checksums': ['e9c03e7712e0282c5d9f2b760bafe2aac9e99a9723578d9e6369d60301f574e4'], + }), + ('FME', '1.3.6.2', { + 'checksums': ['65a200f8171e27f0a3d7ffce3e49b01561f219a11f3cb515ff613a45927ff618'], + }), + ('bmp', '0.3', { + 'checksums': ['bdf790249b932e80bc3a188a288fef079d218856cf64ffb88428d915423ea649'], + }), + ('tiff', '0.1-11', { + 'checksums': ['b8c3ea15114d972f8140541c7b01f5ce2e5322af1f63c1a083aaf766fd3eec75'], + }), + ('readbitmap', '0.1.5', { + 'checksums': ['737d7d585eb33de2c200da64d16781e3c9522400fe2af352e1460c6a402a0291'], + }), + ('imager', '0.42.18', { + 'checksums': ['c11536d7b6fc08300b78d3688204a87aeae42c7858adc69b6d4dea90f4665352'], + }), + ('signal', '0.7-7', { + 'checksums': ['67a015c46d67de7548c3adb83a1b22524de75501a861d91668c3c2ea761a4e61'], + }), + ('tuneR', '1.4.3', { + 'checksums': ['a9fec8a3c2afeb078bdf7bc5af82cd2a9b177d6637b3721bd0d3b3a1040f399b'], + }), + ('pastecs', '1.3.21', { + 'checksums': ['8c1ef2affe88627f0b23295aa5edb758b8fd6089ef09f60f37c46445128b8d7c'], + }), + ('audio', '0.1-10', { + 'checksums': ['82c731a88c741a6b4efe5069ce7dc2f765932d769323ac8d3fbb84ac30afc4dd'], + }), + ('fftw', '1.0-7', { + 'checksums': ['f69f63467b84e107f3e0b18d1f034a37140545e6f50e6be3b887df2b4eec3a1e'], + }), + ('seewave', '2.2.0', { + 'checksums': ['943b1864fe50359b253a4511522c00b0a7dbc1ce5b4033516086a0410fa1212e'], + }), + ('gsw', '1.1-1', { + 'checksums': ['d2a21dbcc3b285163d9cf1bc649a3de1bb1e713c64e4cb6cbc3e613c43f4dd82'], + }), + ('wk', '0.7.1', { + 'checksums': ['e5a5772c982da9c43593cecab9b4f2edbab7b290bb6efc1409eabda4c4dbd384'], + }), + ('s2', '1.1.2', { + 'checksums': ['8fb237531c6f4aa5b78fbe36d4fd15bfe852c1308fed58b04b3dae2bb73c0b57'], + }), + ('sf', '1.0-11', { + 'checksums': ['2e7848706b8e251199d6e5bac07c10cb9d2efe12bb8757e7b2db4b9c9e8e2117'], + }), + ('oce', '1.7-10', { + 'checksums': ['b899eeb7ae73f6520f65f0f052dd2f6f2d102190527eace94d057357ed9568ff'], + }), + ('ineq', '0.2-13', { + 'checksums': ['e0876403f59a3dfc2ea7ffc0d965416e1ecfdecf154e5856e5f54800b3efda25'], + }), + ('soundecology', '1.3.3', { + 'checksums': ['276164d5eb92c78726c647be16232d2443acbf7061371ddde2672b4fdb7a069a'], + }), + ('memuse', '4.2-3', { + 'checksums': ['906fdff665e2aed0e98ee3181233a5c62bd521abfce6ab1cb215c71c95d12620'], + }), + ('pinfsc50', '1.2.0', { + 'checksums': ['ed1fe214b9261feef8abfbf724c2bd9070d68e99a6ea95208aff2c57bbef8794'], + }), + ('vcfR', '1.14.0', { + 'checksums': ['8576dbd2e5a707dabc20acbbea3fe18b6a783910e622423ac203609a386204cb'], + }), + ('glmmML', '1.1.4', { + 'checksums': ['bdb7d83505103514e5cfe23a0766e5bc9d508ccc74514da1be62f84284dd4677'], + }), + ('cowplot', '1.1.1', { + 'checksums': ['c7dce625b456dffc59ba100c816e16226048d12fdd29a7335dc1f6f6e12eed48'], + }), + ('tsne', '0.1-3.1', { + 'checksums': ['14abc65bc0a3f3ed63c04dda19620e483a21d1f5f33feb74aba9f3221434d888'], + }), + ('sn', '2.1.0', { + 'checksums': ['495f9baed26e2e70357eda996fdb327ccc22673486e375686c32daec727a448b'], + }), + ('tclust', '1.5-2', { + 'checksums': ['492674b30a465e5f4a22ba0ce5556ed4d8e57b29090f9b5b94ad655d064e6f8b'], + }), + ('ranger', '0.14.1', { + 'checksums': ['5d99401d555da1cfb11c70e59d1bb545ce48720073a06a2a32eb396f622dee1b'], + }), + ('hexbin', '1.28.2', { + 'checksums': ['6241f8d3a6c6be2c1c693c3ddb99554bc103e3c6cf602d0c2787c0ce6fd1702d'], + }), + ('lobstr', '1.1.2', { + 'checksums': ['9bc533ed7e8f816097a03acfbca33308c9940ba26d02674f4ba06311cf3a1718'], + }), + ('pryr', '0.1.6', { + 'checksums': ['68c1a30a42808eb01a64d31e521d21f2fd5a88dd2c14d05b4b7986d27a177704'], + }), + ('moments', '0.14.1', { + 'checksums': ['2ed2b84802da132ae0cf826a65de5bfa85042b82e086be844002fe1ce270d864'], + }), + ('laeken', '0.5.2', { + 'checksums': ['22790f7157f23eb0b7b0b89e2ea53478fb3c0d15b5be8ad11525d3e6d5626cdc'], + }), + ('VIM', '6.2.2', { + 'checksums': ['afa7492c54508c46eff39ac66fa4b05627e0044253ebe4a61b2a78d459f715e4'], + }), + ('smoother', '1.1', { + 'checksums': ['91b55b82f805cfa1deedacc0a4e844a2132aa59df593f3b05676954cf70a195b'], + }), + ('dynamicTreeCut', '1.63-1', { + 'checksums': ['831307f64eddd68dcf01bbe2963be99e5cde65a636a13ce9de229777285e4db9'], + }), + ('beeswarm', '0.4.0', { + 'checksums': ['51f4339bf4080a2be84bb49a844c636625657fbed994abeaa42aead916c3d504'], + }), + ('vipor', '0.4.5', { + 'checksums': ['7d19251ac37639d6a0fed2d30f1af4e578785677df5e53dcdb2a22771a604f84'], + }), + ('ggbeeswarm', '0.7.1', { + 'checksums': ['f41550335149bc2122fed0dd280d980cecd02ace79e042d5e03c1f102200ac92'], + }), + ('shinydashboard', '0.7.2', { + 'checksums': ['a56ee48572649830cd8d82f1caa2099411461e19e19223cbad36a375299f3843'], + }), + ('rrcov', '1.7-2', { + 'checksums': ['0f01ed07cbc9e55dfcba27040a3f72237fb2fb86eda899472c2f96500220ecae'], + }), + ('WriteXLS', '6.4.0', { + 'checksums': ['644b90a82683c668b6e05bb4f940111a42cd634f63a5b559351e8cd4274a19b7'], + }), + ('bst', '0.3-24', { + 'checksums': ['64d96e13551d35ec32aabaa733bec86dbe8c9ca3f976a34ebbf1f49bb63e49f4'], + }), + ('pamr', '1.56.1', { + 'checksums': ['d0e527f2336ee4beee91eefb2a8f0dfa96413d9b5a5841d6fc7ff821e67c9779'], + }), + ('WeightSVM', '1.7-11', { + 'checksums': ['498f2d1d8329b7309b373c18afcdad8ed9d3d54169f310de3264a65364406e69'], + }), + ('mpath', '0.4-2.23', { + 'checksums': ['1608215dd7826dde0cb7c8890375568d286270024d52f01cb12c9402c817ed99'], + }), + ('timereg', '2.0.5', { + 'checksums': ['a0d1ddeaf6962c7f48e213430ec838cf8e880a6c41571e4c2e864d070f84f7ef'], + }), + ('peperr', '1.4', { + 'checksums': ['0a44f40cfeb298cbe990dba0d9c979070d7a8659581dea09dd3238526fb59f39'], + }), + ('heatmap3', '1.1.9', { + 'checksums': ['594c33947b2be2cc8a592075f41a0df2398c892add7d63a15c613a5eeb8fdb69'], + }), + ('GlobalOptions', '0.1.2', { + 'checksums': ['47890699668cfa9900a829c51f8a32e02a7a7764ad07cfac972aad66f839753e'], + }), + ('circlize', '0.4.15', { + 'checksums': ['d602d55313fe7c675109153d6ed3b99bdba5292e1deefed71d5a21e0db595cc7'], + }), + ('GetoptLong', '1.0.5', { + 'checksums': ['8c237986ed3dfb72d956ad865ef7768644eebf144675ad66140acfd1aca9d701'], + }), + ('dendextend', '1.16.0', { + 'checksums': ['ec2fd09c31a2a93292d87a9bd5bfc261840de941dfded79d6c2fe87116708466'], + }), + ('RInside', '0.2.18', { + 'checksums': ['805014f0f0a364633e0e3c59100665a089bc455dec80b24f04aaec96466cb736'], + }), + ('limSolve', '1.5.6', { + 'checksums': ['b97ea9930383634c8112cdbc42f71c4e93fe0e7bfaa8f401921835cb44cb49a0'], + }), + ('dbplyr', '2.3.1', { + 'checksums': ['e192059e923abcb39fcebc52a18cb3ba532cb50d2963c6d25435a0ec00b4ac28'], + }), + ('modelr', '0.1.10', { + 'checksums': ['9345a6e86363181e369c5e9de190fcab62d05e284fc65f1c4d30acfbce6a0f63'], + }), + ('debugme', '1.1.0', { + 'checksums': ['4dae0e2450d6689a6eab560e36f8a7c63853abbab64994028220b8fd4b793ab1'], + }), + ('reprex', '2.0.2', { + 'checksums': ['a85b16e26112364a65c886efea050df08c17aadf1411fd14ec27d9ef13e87092'], + }), + ('selectr', '0.4-2', { + 'checksums': ['5588aed05f3f5ee63c0d29953ef53da5dac7afccfdd04b7b22ef24e1e3b0c127'], + }), + ('rvest', '1.0.3', { + 'checksums': ['a465ef7391afaa3c26eebe8c61db02314ac04c4d8de5aa53f090716763d21c1e'], + }), + ('dtplyr', '1.3.0', { + 'checksums': ['1bbcdda7e1708c2ca1e592e487affc54143ca24f86e28ae5e98b07de5cf680f8'], + }), + ('gargle', '1.3.0', { + 'checksums': ['428ffc49e39907b366d5c79b0065042522efcbced761d980a641c38b2ad48d0a'], + }), + ('googledrive', '2.0.0', { + 'checksums': ['605c469a6a086ef4b049909c2e20a35411c165ce7ce4f62d68fd39ffed8c5a26'], + }), + ('ids', '1.0.1', { + 'checksums': ['b6212a186063c23116c5cbd3cca65dbb8977dd737261e4526ebee8f64852cfe8'], + }), + ('googlesheets4', '1.0.1', { + 'checksums': ['284ecbce98944093cb065c1b0b32074eae7b45fd74b87d7815c7ca6deca76591'], + }), + ('conflicted', '1.2.0', { + 'checksums': ['c99b86bb52da3e7d1f4d96d70c77304d0434db5bd906edd8d743e89ac9223088'], + }), + ('tidyverse', '2.0.0', { + 'checksums': ['3d3c2d135056333247d309d1c2cc98cc0d87e2c781f4c6fbceab28d28c0728e5'], + }), + ('R.rsp', '0.45.0', { + 'checksums': ['a58046d448b2fca15fb1bf5b5eec4da37b29175270c07e46d740066537435da4'], + }), + ('gdistance', '1.6', { + 'checksums': ['3ddb02c5ca0477b9c9d96988451381d2d64b06869adb4e7f20da616819d55fde'], + }), + ('vioplot', '0.4.0', { + 'checksums': ['5729b483e3a4f7c81d2cc22c8bc5211b64e289734e9da5b5696c4974067867b5'], + }), + ('emulator', '1.2-21', { + 'checksums': ['9b50b2c1e673dbc5e846a4fa72e8bd03434add9f659bde6d7b0c4f1bbd713346'], + }), + ('gmm', '1.7', { + 'checksums': ['194075a3e644ca449a60f4e00c37cce457f4d08ed7229aa62b479f7f8c148f8a'], + }), + ('tmvtnorm', '1.5', { + 'checksums': ['1c7a606bdce4319a6fdb4180fef499c293df3412d8583e296869521ece5460fe'], + }), + ('IDPmisc', '1.1.20', { + 'checksums': ['bcb9cd7b8097e5089d1936286ef310ac2030ea7791350df706382ba470afc67f'], + }), + ('gap.datasets', '0.0.5', { + 'checksums': ['2299b52efee322ce0eaf66c66ae440f46618b647701cd741568c08bdc3111c9c'], + }), + ('gap', '1.5-1', { + 'checksums': ['0d4d37045f5712ebd010cad0617f8e88a021b15fd25d899e4ec222af74e313dc'], + }), + ('qrnn', '2.0.5', { + 'checksums': ['3bd83ee8bd83941f9defdab1b5573d0ceca02bf06759a67665e5b9358ff92f52'], + }), + ('TMB', '1.9.2', { + 'checksums': ['041426e94bf33c6b5130f9da9e05de130aa6951cce19dc99171fb36efc50e54f'], + }), + ('glmmTMB', '1.1.5', { + 'checksums': ['334b4755c0b93ade9a0b4419cc41c7d30ee76090124e34112015223a28c008fa'], + }), + ('gmp', '0.7-1', { + 'checksums': ['a6873dc65218905cb7615cb8e2522258f3740e29c0632473d58a1cb409835db6'], + }), + ('ROI', '1.0-0', { + 'checksums': ['b0d87fb4ed2137d982734f3c5cdc0305aabe6e80f95de29655d02a9e82a0a341'], + }), + ('Rglpk', '0.6-4', { + 'checksums': ['a28dbc3130b9618d6ed2ef718d2c55df8ed8c44a47161097c53fe15fa3bfbfa6'], + }), + ('ROI.plugin.glpk', '1.0-0', { + 'checksums': ['b361b0d4222d74b21432cdc6990762affecdbcec8fd6bbdb13b78b59cb04b444'], + }), + ('spaMM', '4.2.1', { + 'checksums': ['4b12060be94ecd3b6fc7d0c5e2b5b332d14971caac67edeec9651200af066879'], + }), + ('qgam', '1.3.4', { + 'checksums': ['7633120a48a85ab73f7e1bc8b02c98319285c2abd05f9d13d25339d7aaaacacb'], + }), + ('DHARMa', '0.4.6', { + 'checksums': ['32fd3d5cd354ff6b5457599d7fb870b94c7d86401a47c7c553bca26f782a4b73'], + }), + ('mvnfast', '0.2.8', { + 'checksums': ['8871e0ce54b87afc556fd94ca77c3db72dcbb8c245558287e0fe342e30eec9a0'], + }), + ('bridgesampling', '1.1-2', { + 'checksums': ['54ecd39aa2e36d4d521d3d36425f9fe56a3f8547df6048c814c5931d790f3e6b'], + }), + ('BayesianTools', '0.1.8', { + 'checksums': ['f543bdd6b61ec7fd31a7e4040bd7835341d9079243fa4eb0cd5e684e5e39bdd1'], + }), + ('gomms', '1.0', { + 'checksums': ['52828c6fe9b78d66bde5474e45ff153efdb153f2bd9f0e52a20a668e842f2dc5'], + }), + ('feather', '0.3.5', { + 'checksums': ['50ff06d5e24d38b5d5d62f84582861bd353b82363e37623f95529b520504adbf'], + }), + ('dummies', '1.5.6', { + 'checksums': ['7551bc2df0830b98c53582cac32145d5ce21f5a61d97e2bb69fd848e3323c805'], + }), + ('SimSeq', '1.4.0', { + 'checksums': ['5ab9d4fe2cb1b7634432ff125a9e04d2f574fed06246a93859f8004e10790f19'], + }), + ('uniqueAtomMat', '0.1-3-2', { + 'checksums': ['f7024e73274e1e76a870ce5e26bd58f76e8f6df0aa9775c631b861d83f4f53d7'], + }), + ('PoissonSeq', '1.1.2', { + 'checksums': ['6f3dc30ad22e33e4fcfa37b3427c093d591c02f1b89a014d85e63203f6031dc2'], + }), + ('aod', '1.3.2', { + 'checksums': ['9b85be7b12b31ac076f2456853a5b18d8a79ce2b86d00055264529a0cd28515c'], + }), + ('cghFLasso', '0.2-1', { + 'checksums': ['6e697959b35a3ceb2baa1542ef81f0335006a5a9c937f0173c6483979cb4302c'], + }), + ('svd', '0.5.3', { + 'checksums': ['14cea5447aaee391b363efc50750b80856262c02407999f428c2513705f9b3e6'], + }), + ('Rssa', '1.0.5', { + 'checksums': ['475819636afb330a4467722b0a664fa54d6114d782b681f681ccb123f3be522d'], + }), + ('JBTools', '0.7.2.9', { + 'checksums': ['b33cfa17339df7113176ad1832cbb0533acf5d25c36b95e888f561d586c5d62f'], + }), + ('RUnit', '0.4.32', { + 'checksums': ['23a393059989000734898685d0d5509ece219879713eb09083f7707f167f81f1'], + }), + ('DistributionUtils', '0.6-0', { + 'checksums': ['7443d6cd154760d55b6954142908eae30385672c4f3f838dd49876ec2f297823'], + }), + ('gapfill', '0.9.6-1', { + 'checksums': ['22f04755873e34a9077bb1b1de8d16f5bc56cb8c395c4f797f9ad0b209b1b996'], + }), + ('gee', '4.13-25', { + 'checksums': ['e140881e2febe793a24086a2d179062b9995db901257d678f85d220441400e89'], + }), + ('Matching', '4.10-8', { + 'checksums': ['54412e2ddd1f5eeb189ffc653e4d3ead3e2f9c5c4fe516cfb1966abf69ada49a'], + }), + ('MatchIt', '4.5.1', { + 'checksums': ['961e6debea443179fb196581e0783ce05215faa4115e3f5e1cff89eb82b0c7e0'], + }), + ('RItools', '0.3-3', { + 'checksums': ['2a08e2d2ea3abf5fad89c65fdba1d78dd5f4bd12f980436964fe535554d331d5'], + }), + ('mitools', '2.4', { + 'checksums': ['f204f3774e29d79810f579f128de892539518f2cbe6ed237e08c8e7283155d30'], + }), + ('survey', '4.1-1', { + 'checksums': ['05e89a1678a39e32bfb41af8a31d643b04fc4d2660a96e701825e6bffcd75a52'], + }), + ('rlemon', '0.2.1', { + 'checksums': ['4a18fa034f197c68daf48daf25c0e41f1b8acbe71d030c6bc1f55e3062a10375'], + }), + ('optmatch', '0.10.6', { + 'checksums': ['2b7661567fdfbdb39dae3779b4b7dea2b9eb759d3117311b3a7936b10cce1d35'], + }), + ('SPAtest', '3.1.2', { + 'checksums': ['b3d74ed2b0a6475a9966dd50eb5d363d0b2985636271dfbf82f0472b8d22b9f4'], + }), + ('RSpectra', '0.16-1', { + 'checksums': ['cba5d3403d6a7d0e27abf6279fbfea6e0d0fe36b28c688bbadb8eafb3841329a'], + }), + ('SKAT', '2.2.5', { + 'checksums': ['1441fa46b6a78a060007442fb8cb8c87753bdc2b1ea2dc24ff951ac3fef651f4'], + }), + ('GillespieSSA', '0.6.2', { + 'checksums': ['f4233b4a44c7d4b9e3459b1efa9a8087a602ef93806b4d70eadbb537b67567c2'], + }), + ('startupmsg', '0.9.6', { + 'checksums': ['1d60ff13bb260630f797bde66a377a5d4cd65d78ae81a3936dc4374572ec786e'], + }), + ('distr', '2.9.1', { + 'checksums': ['82b790a90bd40025c7ff8ccc7da784fa967015fc015874f6b209088d0bd01a5f'], + }), + ('distrEx', '2.9.0', { + 'checksums': ['087d1847ad400141b5e0fd0858ef3e5c698b3018d7e2d33087be601a5740fb35'], + }), + ('minerva', '1.5.10', { + 'checksums': ['2f26353d8fcc989ac698c4e45bb683801b1a7bb60b14903d05a4d73c629c590f'], + }), + ('RcppTOML', '0.2.2', { + 'checksums': ['371391f9ca82221e76a424082ea9ebc5ea2c50f14e8408469b09d7dc3e6f63aa'], + }), + ('here', '1.0.1', { + 'checksums': ['08ed908033420d3d665c87248b3a14d1b6e2b37844bf736be620578c20ca346b'], + }), + ('reticulate', '1.28', { + 'checksums': ['58a299ed18faaa3ff14936752fcc2b86e64ae18fc9f36befdfd492ccb251516f'], + }), + ('umap', '0.2.10.0', { + 'checksums': ['8d4786929345e8980bb8be8bb4b6300a679bba03a5984eed59e5e00c626b6ea9'], + }), + ('KODAMA', '2.4', { + 'checksums': ['78f2ea3596f3697fc06a080947e82a54c5270ed90f86916b91902e5db6ec85e7'], + }), + ('locfdr', '1.1-8', { + 'checksums': ['42d6e12593ae6d541e6813a140b92591dabeb1df94432a515507fc2eee9a54b9'], + }), + ('ica', '1.0-3', { + 'checksums': ['474d3530b16b76a1bf1a1114d24092678ea7215fa57c6fdcee6333f1e768b865'], + }), + ('dtw', '1.23-1', { + 'checksums': ['6ed6a3b52be673ce2617b8d48723c7c488c95aab88fe2912d7e00507838e826d'], + }), + ('SDMTools', '1.1-221.2', { + 'checksums': ['f0dd8c5f98d2f2c012536fa56d8f7a58aaf0c11cbe3527e66d4ee3194f6a6cf7'], + }), + ('ggridges', '0.5.4', { + 'checksums': ['2bf71c2034804cec637e6748dc51d8cadad01d3ea4d14ace754327f082e8d851'], + }), + ('TFisher', '0.2.0', { + 'checksums': ['bd9b7484d6fba0165841596275b446f85ba446d40e92f3b9cb37381a3827e76f'], + }), + ('lsei', '1.3-0', { + 'checksums': ['6289058f652989ca8a5ad6fa324ce1762cc9e36c42559c00929b70f762066ab6'], + }), + ('npsurv', '0.5-0', { + 'checksums': ['bc87db76e7017e178c2832a684fcd49c42e20054644b21b586413d26c8821dc6'], + }), + ('fitdistrplus', '1.1-8', { + 'checksums': ['f3c72310f40773b3839a9506c3cb781d044e09b94f2f38d332bb24e5f9960f5a'], + }), + ('hdf5r', '1.3.8', { + 'installopts': '--configure-args="--with-hdf5=$EBROOTHDF5/bin/h5pcc"', + 'preinstallopts': "unset LIBS && ", + 'checksums': ['b53281e2cf57447965849748e972de2f7fe8df0cee3538ef5813c33c7ed2302b'], + }), + ('DTRreg', '1.7', { + 'checksums': ['f0fad2244d960cec8fc33d9a1078df359ceb0aadff980ce6149aa9f01c62223b'], + }), + ('pulsar', '0.3.10', { + 'checksums': ['d464979af605cc16ff629f7b85e09a5dc005c60fd30f098588fd834b6acfd407'], + }), + ('bayesm', '3.1-5', { + 'checksums': ['f223074ca41ede293b48350eac77a565e034f0f8cf3dd72d0e1d126cc58047a2'], + }), + ('gsl', '2.1-8', { + 'checksums': ['f33609bf485abd190e65ff5d0fdab438b759294c47b921d983d89d6f053a2d95'], + }), + ('energy', '1.7-11', { + 'checksums': ['c29f8fb000c979d2504f6f6d3a99c773004f77d58793e7e2a5766155272b6511'], + }), + ('compositions', '2.0-5', { + 'checksums': ['a1b84b23f3fa5d7793318a6b6ad44f50b9653efccfb753a5952ccb11d1662c5a'], + }), + ('clustree', '0.5.0', { + 'checksums': ['a87f65dc0489af77807ed27de67e905699f21f50bcfba6a84353b9a846a84ac1'], + }), + ('tweedie', '2.3.5', { + 'checksums': ['983c745fee5a780d46e8dd04c2eb1c10cb2e222d3679654f0d6934d3db7b1c3e'], + }), + ('RcppGSL', '0.3.13', { + 'checksums': ['fe5e73bc119c6424e1a40b6fea17417a7bba93e81dbe9b7cf86dde9b8e8d93e7'], + }), + ('mvabund', '4.2.1', { + 'checksums': ['ed6946c95609443584081100cd38624d2309f7f5d210fd4b8ec12ad25bd27a06'], + }), + ('fishMod', '0.29', { + 'checksums': ['5989e49ca6d6b2c5d514655e61f75b019528a8c975f0d6056143f17dc4277a5d'], + }), + ('alabama', '2022.4-1', { + 'checksums': ['a8c62859b39a8340ecf7bbf411fac303c059e4237d28ff7bba9ba3daaca1d36c'], + }), + ('gllvm', '1.4.1', { + 'checksums': ['36f50697e3f38e008f0db8c2980db6fc6a736985573952cc23769d55fbb321d1'], + }), + ('grpreg', '3.4.0', { + 'checksums': ['fd57d20baf63d2cc5821998bca5c3fdcbe46c933c9553caa492911b12654d6ad'], + }), + ('trust', '0.1-8', { + 'checksums': ['952e348b62aec35988b103fd152329662cb6a451538f184549252fbf49d7dcac'], + }), + ('lpSolveAPI', '5.5.2.0-17.9', { + 'checksums': ['7b52ecf3f1174f771fe24e62502be6d31acc3e48a12473e35ad0a89fc2517811'], + }), + ('ergm', '4.4.0', { + 'checksums': ['2db152cc7fdd71d6f0065603405f30bf5e206591da39b8f542178ec6d6126173'], + }), + ('networkLite', '1.0.5', { + 'checksums': ['aaab55d4f8f0b330fe7c1ecbab3c44746c52c2fda99c53c6b46042bb8775718b'], + }), + ('networkDynamic', '0.11.3', { + 'checksums': ['2c664fd0d85c0cdc099480d67a18e6afbb0cc1036963b6664a8a756874648e5b'], + }), + ('tergm', '4.1.1', { + 'checksums': ['51cd845ab0dacaba34fcb4b1f04e540eb7a6d0e7be001809625c0a5b1ca45d25'], + }), + ('ergm.count', '4.1.1', { + 'checksums': ['446893614ad8b41aa39c37c2bf45a167f575536bb6778b8ad1fbcddb7b934932'], + }), + ('tsna', '0.3.5', { + 'checksums': ['4ee2f773d573f0f4bd93131156fdccf01d7f1a3f725eff3e885021098c6bff65'], + }), + ('statnet', '2019.6', { + 'checksums': ['0903e1a81ed1b6289359cefd12da1424c92456d19e062c3f74197b69e536b29d'], + }), + ('aggregation', '1.0.1', { + 'checksums': ['86f88a02479ddc8506bafb154117ebc3b1a4a44fa308e0193c8c315109302f49'], + }), + ('ComICS', '1.0.4', { + 'checksums': ['0af7901215876f95f309d7da6e633c38e4d7faf04112dd6fd343bc15fc593a2f'], + }), + ('dtangle', '2.0.9', { + 'checksums': ['c375068c1877c2e8cdc5601cfd5a9c821645c3dff90ddef64817f788f372e179'], + }), + ('mcmc', '0.9-7', { + 'checksums': ['b7c4d3d5f9364c67a4a3cd49296a61c315ad9bd49324a22deccbacb314aa8260'], + }), + ('MCMCpack', '1.6-3', { + 'checksums': ['cb14ba20690b31fd813b05565484c866425f072a5ad99a5cbf1da63588958db3'], + }), + ('shinythemes', '1.2.0', { + 'checksums': ['37d68569ce838c7da9f0ea7e2b162ecf38fba2ae448a4888b6dd29c4bb5b2963'], + }), + ('csSAM', '1.2.4', { + 'checksums': ['3d6442ad8c41fa84633cbbc275cd67e88490a160927a5c55d29da55a36e148d7'], + }), + ('bridgedist', '0.1.2', { + 'checksums': ['7210c97fc864e78ea8502067359d642bbd95bf2df30d33da193fc5c004e45baf'], + }), + ('asnipe', '1.1.16', { + 'checksums': ['be50f9fdef0f4bf9676b9c3c2906d0431afc678af55cf48b1119f9fc0adac44f'], + }), + ('liquidSVM', '1.2.4', { + # Don't add optimization flags by liquidSVM which may not be known e.g. on PPC + 'patches': ['liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch'], + 'preinstallopts': 'LIQUIDSVM_TARGET="empty"', + 'checksums': [ + {'liquidSVM_1.2.4.tar.gz': '15a9c7f2930e2ed3f4c5bcd9b042884ea580d2b2e52e1c68041600c196046aba'}, + {'liquidSVM-1.2.4-fix_ppc_and_aarch64_build.patch': + '46b09e441c3b59af535f20d8db0dee7f1d6a7ddd511175d252115b53cb8b86f8'}, + ], + }), + ('oddsratio', '2.0.1', { + 'checksums': ['2097e7a8bf623379d55652de5dce4946d05163e85d30df50dc19055962bf60b5'], + }), + ('mltools', '0.3.5', { + 'checksums': ['7093ffceccdf5d4c3f045d8c8143deaa8ab79935cc6d5463973ffc7d3812bb10'], + }), + ('h2o', '3.40.0.1', { + 'checksums': ['15b69544c90e482c3c1064886742ca1c0df102db64a698a7ed4976993d83c1e0'], + }), + ('mlegp', '3.1.9', { + 'checksums': ['63296d17a162fdce0958b10f45cb7d5dab4b3ee29340528d33cedcae08a040b3'], + }), + ('itertools', '0.1-3', { + 'checksums': ['b69b0781318e175532ad2d4f2840553bade9637e04de215b581704b5635c45d3'], + }), + ('missForest', '1.5', { + 'checksums': ['417055a03b02ad8359cf1bdc8f89d49531a3a8ee2c98edf90c8a01432f44838d'], + }), + ('bartMachineJARs', '1.2.1', { + 'checksums': ['9f7a20acf4aec249e16f83d81f5ec796aa718deb1b8bc24393fc0421eb8ce1c0'], + }), + ('bartMachine', '1.3.3.1', { + 'checksums': ['c4b27af602b019b7d0d933a8efd30b45db11f423a54cc8e178e0285aee72c65f'], + }), + ('lqa', '1.0-3', { + 'checksums': ['3889675dc4c8cbafeefe118f4f20c3bd3789d4875bb725933571f9991a133990'], + }), + ('PresenceAbsence', '1.1.11', { + 'checksums': ['c63a6453783865b7c69c580a09a769e99390dd8b2e0f63e48fbfc86da3bee4b7'], + }), + ('GUTS', '1.2.3', { + 'checksums': ['40061ec1677def40b410b5ef90d01e0bcb0095abed1545513a33a01d4444adc2'], + }), + ('GenSA', '1.1.8', { + 'checksums': ['375e87541eb6b098584afccab361dc28ff09d03cf1d062ff970208e294eca216'], + }), + ('parsedate', '1.3.1', { + 'checksums': ['1fc31ab9813b61680abf4f4c2705b8f484d56d1d3ef256df84b342b628b6d1b1'], + }), + ('circular', '0.4-95', { + 'checksums': ['483d3e31e9c7afe59e6bcb98ad17c4f6333d19b6c70f948b168c9ee16e90bce2'], + }), + ('cobs', '1.3-5', { + 'checksums': ['7fae7da8f940975d544120c836e2d3b874f9b0cbab9631851ce986709f51c611'], + }), + ('resample', '0.6', { + 'checksums': ['1b958009b18c92a47971847c782af76952ea4e85d5f1e3e1e70fa35c67b95265'], + }), + ('MIIVsem', '0.5.8', { + 'checksums': ['a908f51e1598290d25864c358d57201bd50c1c40775d4d0405cbc8077bee61e1'], + }), + ('medflex', '0.6-7', { + 'checksums': ['d28107a4bbbb0ace1d571f0aa6884ee4c50d7731c04bceba207fd55a39b83b9c'], + }), + ('Rserve', '1.8-11', { + 'checksums': ['9dfb1d68493f8cee5d2e12a1bfa604404834e11809f4c908d65b9100a9af1b85'], + }), + ('spls', '2.2-3', { + 'checksums': ['bbd693da80487eef2939c37aba199f6d811ec289828c763d9416a05fa202ab2e'], + }), + ('Boruta', '8.0.0', { + 'checksums': ['38e75b1ebc8b2d1c54b3373a42529b819c7b4773fd4932f57bc9701d1e3e3dc7'], + }), + ('dr', '3.0.10', { + 'checksums': ['ce523c1bdb62a9dda30afc12b1dd96975cc34695c61913012236f3b80e24bf36'], + }), + ('CovSel', '1.2.1', { + 'checksums': ['b375d00cc567e125ff106b4357654f43bba3abcadeed2238b6dea4b7a68fda09'], + }), + ('tmle', '1.5.0.2', { + 'checksums': ['4772c352e8d3d9b5a0b7480c0e0962de4f5060fb7bf3fcb8ee4fa1cb10f93fd4'], + }), + ('ctmle', '0.1.2', { + 'checksums': ['e3fa0722cd87aa0e0b209c2dddf3fc44c6d09993f1e66a6c43285fe950948161'], + }), + ('BayesPen', '1.0', { + 'checksums': ['772df9ae12cd8a3da1d5b7d1f1629602c7693f0eb03945784df2809e2bb061b0'], + }), + ('inline', '0.3.19', { + 'checksums': ['0ee9309bb7dab0b97761ddd18381aa12bd7d54678ccd7bec00784e831f4c99d5'], + }), + ('BMA', '3.18.17', { + 'checksums': ['6d8c514fa179f8a48c2105b551a8a08e28ea4375d06150a4b8ab4ccda577daf5'], + }), + ('BCEE', '1.3.1', { + 'checksums': ['dfd896250cc6b8cc83fafaeea57da5bc9dc49ce7475da2ba54484c2efb7a477b'], + }), + ('bacr', '1.0.1', { + 'checksums': ['c847272e2c03fd08ed79b3b739f57fe881af77404b6fd087caa0c398c90ef993'], + }), + ('clue', '0.3-64', { + 'checksums': ['f45cb7a84c87ddca2b9f7c2ea9505016d002e6fda23322e6d57466c7a4de28af'], + }), + ('bdsmatrix', '1.3-6', { + 'checksums': ['f9c871d54378408902931792b3dbf8bda863d6aa67af6a0472a6ec1c420760bc'], + }), + ('fftwtools', '0.9-11', { + 'checksums': ['f1f0c9a9086c7b2f72c5fb0334717cc917213a004eaef8448eab4940c9852c7f'], + }), + ('imagerExtra', '1.3.2', { + 'checksums': ['0ebfa1eabb89459d774630ab73c7a97a93b9481ea5afc55482975475acebd5b8'], + }), + ('MALDIquant', '1.22', { + 'checksums': ['7b01a2e05f3bcccc426d8175b289255a8c2976ea8ab0e20eec18d442d2c9d015'], + }), + ('threejs', '0.3.3', { + 'checksums': ['76c759c8b20fb34f4f7a01cbd1b961296e1f19f4df6dded69aae7f1bca80219c'], + }), + ('LaplacesDemon', '16.1.6', { + 'checksums': ['57b53882fd7a195b38bbdbbf0b17745405eb3159b1b42f7f11ce80c78ab94eb7'], + }), + ('rda', '1.2-1', { + 'checksums': ['37038a9131c9133519f5e64fa1a86dbe28b21f519cf6528503234648a139ae9a'], + }), + ('sampling', '2.9', { + 'checksums': ['7f5ba5978f6cdbbbdb6f51958197b28b6fc63e7eeee59e6845ea09fb37d1b187'], + }), + ('lda', '1.4.2', { + 'checksums': ['5606a1e1bc24706988853528023f7a004c725791ae1a7309f1aea2fc6681240f'], + }), + ('jiebaRD', '0.1', { + 'checksums': ['045ee670f5378fe325a45b40fd55136b355cbb225e088cb229f512c51abb4df1'], + }), + ('jiebaR', '0.11', { + 'checksums': ['adde8b0b21c01ec344735d49cd33929511086719c99f8e10dce4ca9479276623'], + }), + ('hdm', '0.3.1', { + 'checksums': ['ba087565e9e0a8ea30a6095919141895fd76b7f3c05a03e60e9e24e602732bce'], + }), + ('abe', '3.0.1', { + 'checksums': ['66d2e9ac78ba64b7d27b22b647fc00378ea832f868e51c18df50d6fffb8029b8'], + }), + ('SignifReg', '4.3', { + 'checksums': ['f755808fcb618582acb862729b20e267d9c2214f22e6e7a0c8d29073d8faa7b8'], + }), + ('bbmle', '1.0.25', { + 'checksums': ['86a8c69902fbf6caf337f9bc532afe89dc2a59dd24287a2423d781797010b255'], + }), + ('emdbook', '1.3.12', { + 'checksums': ['0646caf9e15aaa61ff917a4b5fdf82c06ac17ef221a61dec3fbb554e7bff4353'], + }), + ('SOAR', '0.99-11', { + 'checksums': ['d5a0fba3664087308ce5295a1d57d10bad149eb9771b4fe67478deae4b7f68d8'], + }), + ('rasterVis', '0.51.5', { + 'checksums': ['3a9ffe38f7835bf9008cb3f2fbe01208f17130f4b1ca9ba19f97dc240ccf7aa1'], + }), + ('tictoc', '1.1', { + 'checksums': ['120f868ba276bda70c8edef5d6c092586cf73db0fa02eb5459d8f55350fb474d'], + }), + ('ISOcodes', '2022.09.29', { + 'checksums': ['4bae4fdf661a1c29694f9702240b84c933518ef70e66312cbaddaf35562d4fe5'], + }), + ('stopwords', '2.3', { + 'checksums': ['c5ec1c6ab1bad1786d87d7823d4b63abc94d2fd84ed7d8e985906e96fb6321b2'], + }), + ('janeaustenr', '1.0.0', { + 'checksums': ['b4c32ee1395ee4a8efe714c535c0fe578b0dbf5f3bb85b41fa5cc87569b8e8aa'], + }), + ('SnowballC', '0.7.0', { + 'checksums': ['b10fee9d322f567a22c580b49b5d4ba1c86eae40a71794ca92552c726b3895f3'], + }), + ('tokenizers', '0.3.0', { + 'checksums': ['24571e4642a1a2d9f4f4c7a363b514eece74788d59c09012a5190ee718a91c29'], + }), + ('hunspell', '3.0.2', { + 'checksums': ['5ea25955f76cc275e56424c8ac0700d1cb1f5c21c7f8d61c25fa740d731a324e'], + }), + ('topicmodels', '0.2-13', { + 'checksums': ['7d6106a68482b65aed821d558c782f4a10664e98b46b1606622d96ca0f05bc9a'], + }), + ('tidytext', '0.4.1', { + 'checksums': ['526750a2cc8ac7b65be1093f4c9186aa27f0a22f00023a6d6b3b878e1310c815'], + }), + ('splitstackshape', '1.4.8', { + 'checksums': ['656032c3f1e3dd5b8a3ee19ffcae617e07104c0e342fc3da4d863637a770fe56'], + }), + ('grImport2', '0.2-0', { + 'checksums': ['a102a2d877e42cd4e4e346e5510a77b2f3e57b43ae3c6d5c272fdceb506b00a7'], + }), + ('preseqR', '4.0.0', { + 'checksums': ['0143db473fb9a811f9cf582a348226a5763e62d9857ce3ef4ec41412abb559bc'], + }), + ('idr', '1.3', { + 'checksums': ['6b3910dc48495439cd01828f8999823864a6712f73560ee3e6c903065c67d1e4'], + }), + ('entropy', '1.3.1', { + 'checksums': ['6f5a89f5ce0e90cbed1695b81259326c976e7a8f538157e223ee5f63b54412b8'], + }), + ('kedd', '1.0.3', { + 'checksums': ['38760abd8c8e8f69ad85ca7992803060acc44ce68358de1763bd2415fdf83c9f'], + }), + ('HiddenMarkov', '1.8-13', { + 'checksums': ['7186d23e561818f3e1f01376a4fb2af9ccee775ce5afc1e3175f3b07a81db515'], + }), + ('lmerTest', '3.1-3', { + 'checksums': ['35aa75e9f5f2871398ff56a482b013e6828135ef04916ced7d1d7e35257ea8fd'], + }), + ('loo', '2.5.1', { + 'checksums': ['866a2f54a4e8726cc3062e27daa8a073e6ac4aeb6719af7845284f7a668745f1'], + }), + ('RcppParallel', '5.1.7', { + 'checksums': ['f9c30eb9ce1abffc590825d513d6d28dcbe970e36032dd7521febf04e905b29c'], + }), + ('StanHeaders', '2.21.0-7', { + 'checksums': ['27546e064f0e907e031d9185ad55245d118d82fbe3074ecb1d76fae8b9f2336b'], + }), + ('V8', version, { + 'installopts': '--configure-vars="INCLUDE_DIR=$CPATH LIB_DIR=$LIBRARY_PATH"', + 'preinstallopts': "export CPATH=$EBROOTNODEJS/include/node:$CPATH && ", + 'checksums': ['50653527198637a37c010052f394839f50a3c643975aac1d04e42d36f8e5313b'], + }), + ('rstan', '2.21.8', { + 'checksums': ['b2d4edc315419037970c9fa2e8740b934966d88d40548152811f3d4a28475075'], + }), + ('Rborist', '0.3-2', { + 'checksums': ['46ce30cda4d0554e61405ea211cefa06a72762e8078662e369df9f18bdb7a98b'], + }), + ('VSURF', '1.2.0', { + 'checksums': ['c027b1e19762f1eaf4a559c2592f3530210fefd21ee3d7c787c73b776c683393'], + }), + ('mRMRe', '2.1.2', { + 'checksums': ['a59a3cb3cca89f51d9ee6702cd479fd7db8bc2e25b72f45cb6712da983777ca0'], + }), + ('dHSIC', '2.1', { + 'checksums': ['94c86473790cf69f11c68ed8ba9d6ae98218c7c69b7a9a093f235d175cf83db0'], + }), + ('ggsci', '3.0.0', { + 'checksums': ['8901316516d78f82a2a8685d93ba479424bcfd8cb5e28a28adbd50e68964e129'], + }), + ('ggsignif', '0.6.4', { + 'checksums': ['112051af425a0c0f2998ce187dacad066bc16f55af01e3e7b76d62ff6954b20a'], + }), + ('corrplot', '0.92', { + 'checksums': ['e8c09f963f9c4837036c439ebfe00fa3a6e462ccbb786d2cf90850ddcd9428bd'], + }), + ('rstatix', '0.7.2', { + 'checksums': ['e0c6f5ab1d9c5d84713defabc5d149aad3d55944cffdb903cc128b694e5221a1'], + }), + ('ggfan', '0.1.3', { + 'checksums': ['5c888b203ecf5e3dc7a317a790ca059c733002fbca4b4bc1a4f62b7ded5f70dc'], + }), + ('ggpubr', '0.6.0', { + 'checksums': ['2e6ec5d8151991d17ef8832259cf545fa0d1a50b326ba8c1c4657700171df774'], + }), + ('yaImpute', '1.0-33', { + 'checksums': ['58595262eb1bc9ffeeadca78664c418ea24b4e894744890c00252c5ebd02512c'], + }), + ('intrinsicDimension', '1.2.0', { + 'checksums': ['6cc9180a83aa0d123f1e420136bb959c0d5877867fa170b79536f5ee22106a32'], + }), + ('patchwork', '1.1.2', { + 'checksums': ['dab9d5d2d704d591717eaa6efeacf09cb6cd7bee2ca2c46d18414e8503ac8977'], + }), + ('leiden', '0.4.3', { + 'checksums': ['6a464b4b860e621749b3b701bb7ceb07e23c1a36be241c3e13b18105eb980938'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('packrat', '0.9.1', { + 'checksums': ['414013c6044d2985e69bbc8494c152716b6f81ca15b329c731cfe8f965fd3344'], + }), + ('colourpicker', '1.2.0', { + 'checksums': ['bc2c80eee046219038baef9f8f213c9824d7fec7f893f6a1b881dd44b4a8638a'], + }), + ('ggExtra', '0.10.0', { + 'checksums': ['dc6855bbb7e81ffa58d6b65b594d22718fa36b7f50b2284386f70fa8ccc6a3e5'], + }), + ('findpython', '1.0.8', { + 'checksums': ['0f8a90cbafd4949c0333a86808383a358fb7ec3268953d8a4887d5d22264cdb7'], + }), + ('argparse', '2.2.2', { + 'checksums': ['b62c9bf5e6ca35fb7a2e614a916815c04cbf6c6db3f89f99b4df76470a4a856d'], + }), + ('intergraph', '2.0-2', { + 'checksums': ['6cbe77f1e87fa1c110db2d46010f2f3ae72bfdb708ce2ca84c1cdc2cd6eb47a1'], + }), + ('ggnetwork', '0.5.12', { + 'checksums': ['74368662c1a225cdefc8addf606b398f14dafeff03faac56c15aa5e14819e9cd'], + }), + ('qqman', '0.1.8', { + 'checksums': ['58da8317df8d726d1fde4805919da5d64f880894a423ee20937cafb479b9d8a8'], + }), + ('rstantools', '2.3.0', { + 'checksums': ['937e2de6ac80214dccd90c09b26ebcf366c4b55adc84837a6fbb137ebb13822d'], + }), + ('distributional', '0.3.1', { + 'checksums': ['727e56cbcf0c8a8adacca8030214ddbd14f68ee28d0aad716467bd68b027235f'], + }), + ('posterior', '1.4.1', { + 'checksums': ['2b8953fa8d6890a105521023c431ddea725465eb95cf9454a88852e43ebb58d3'], + }), + ('bayesplot', '1.10.0', { + 'checksums': ['bb4cb92b1ae4cf8ae5f4b5cb092aba34af3d820d137e1f2265cca8f3e85113ff'], + }), + ('dygraphs', '1.1.1.6', { + 'checksums': ['c3d331f30012e721a048e04639f60ea738cd7e54e4f930ac9849b95f0f005208'], + }), + ('rsconnect', '0.8.29', { + 'checksums': ['852899d2aaf90bcedf4d191a9e00c770e8ee4233235169fc97e6aa636de01c43'], + }), + ('shinystan', '2.6.0', { + 'checksums': ['a084856a2d66d8744f2c72e3e19ca35e600a508ed7ef1f7ebed8c7fc0738d529'], + }), + ('optimx', '2022-4.30', { + 'checksums': ['ebe9887a22296cf4b2db07981aaa1f898bf7c17fb61a4b398c228d4077d0b410'], + }), + ('gamm4', '0.2-6', { + 'checksums': ['57c5b66582b2adc32f6a3bb6a259f5b95198e283a96d966a6007e8e48b380c89'], + }), + ('memisc', '0.99.31.6', { + 'checksums': ['52336b4ffc6e60c3ed10ccc7417231582b0d2e4c5c3b2184396a7d3ca9c1d96e'], + }), + ('mclogit', '0.9.6', { + 'checksums': ['9adc5f6d8649960abe009c30d9b4c448ff7d174c455a594cbf104a33d5a36f69'], + }), + ('projpred', '2.4.0', { + 'checksums': ['6f01bb7f1ddbda92ea0fc44e5596f3885f1ac326f4e88abb0f0cd7fcb71edeb2'], + }), + ('brms', '2.19.0', { + 'checksums': ['0e146842c7acfcc6b8273df536eabb5279fb3bf2ae27ce1696f7d838d94fe5c1'], + }), + ('drgee', '1.1.10', { + 'checksums': ['e684f07f7dfec922380d4202922c11094f859721f77b31ff38b0d35d0f42c743'], + }), + ('stdReg', '3.4.1', { + 'checksums': ['285335dbe29b6898641e1151ab2f06acf76c6f4d6fbeadd66d151c25d7e38a74'], + }), + ('mcmcse', '1.5-0', { + 'checksums': ['4a820dc22c48efd32b7f9d1e1b897b4b3f165cd64b2ff85ba7029621cf9e7463'], + }), + ('copCAR', '2.0-4', { + 'checksums': ['8b4ed53c58a665f70e48bdca689a992a81d5ecb5a6051ca7361d3870e13c77f3'], + }), + ('batchmeans', '1.0-4', { + 'checksums': ['8694573009d9070a76007281407d3314da78902e122a9d8aec1f819d3bbe562c'], + }), + ('ngspatial', '1.2-2', { + 'checksums': ['3fa79e45d3a502a58c1454593ec83dfc73144e92b34c14f617a6126557dd0d26'], + }), + ('BIGL', '1.7.0', { + 'checksums': ['36e086a10be6b1d348052cca0bc2d4ba5335635386f79b2b3b025a128316bfb8'], + }), + ('drugCombo', '1.2.1', { + 'checksums': ['9a605c655c159604033558d757711e6d83d33dfc286c1280f722d4cb7d130f80'], + }), + ('betareg', '3.1-4', { + 'checksums': ['5106986096a68b2b516215968158589b71969ce7912879253d6e930355a18101'], + }), + ('unmarked', '1.2.5', { + 'checksums': ['a54f49f42d30a7a69eb6c3db00d3cd2e1f8e549aec28fa5487fcdd27a37f87fe'], + }), + ('maxlike', '0.1-9', { + 'checksums': ['632fb15dd21a75bb95c7473ba4fe2ed58bc1b2f1401da65c6df348599b2f655f'], + }), + ('coxme', '2.2-18.1', { + 'checksums': ['aef691d74ee75095c43d7b6ab27e01641382cfb349a8eefad972c745ac0531f5'], + }), + ('AICcmodavg', '2.3-1', { + 'checksums': ['d0517da15a38e9b1df20fa73f5342b586624e65792d266e7dff278ad7fc458b0'], + }), + ('pacman', '0.5.1', { + 'checksums': ['9ec9a72a15eda5b8f727adc877a07c4b36f8372fe7ed80a1bc6c2068dab3ef7c'], + }), + ('spaa', '0.2.2', { + 'checksums': ['a5a54454d4a7af473ce797875f849bd893005cb04325bf3e0dbddb19fe8d7198'], + }), + ('maxnet', '0.1.4', { + 'checksums': ['fd21e5ecf3c1ac00ef1bbe79fab4cdd62789e0c4c45f126f1b64bda667238216'], + }), + ('oai', '0.4.0', { + 'checksums': ['f540de066de5538e303cd535cbd2e771b40474bc2c6e8d08a4894a868543ee33'], + }), + ('wellknown', '0.7.4', { + 'checksums': ['483e6fc43edf09ed583e74ce5ca7e2d7838ef8a32291e06d774c37546eed1a34'], + }), + ('rgbif', '3.7.5', { + 'checksums': ['a97aa8d42fc7d094542b6835d7fe818eef64f5ffac3604be1eda3d0d9422d1de'], + }), + ('rgdal', '1.6-5', { + 'checksums': ['0c7aa3a52003ef53d6a6a3e72ea55b9ed21453ca9bf754cd12763dd85d2c1d64'], + }), + ('rgeos', '0.6-2', { + 'checksums': ['2ee2bb8b0c20d7908ac55d4d1cf8292c624ab836e02599ce1871a249a59fe0af'], + }), + ('mapproj', '1.2.11', { + 'checksums': ['db2d201cc939de26717566066bf44225a967ccde6fc34731af845f03c086347d'], + }), + ('rbison', '1.0.0', { + 'checksums': ['9957e5f85ce68f5dd0ddc3c4b2b3c9d2f52d6f37587e1022ab8a44863534a83c'], + }), + ('rebird', '1.3.0', { + 'checksums': ['b238d3f246aa0249145894e1f3a90f46902f6615fc2f23b24c99bb5feecc55d3'], + }), + ('rvertnet', '0.8.2', { + 'checksums': ['2de9a3ec33a213c7592b49cca1d510a25aef0625369376d9b1b4e5d0da519226'], + }), + ('ridigbio', '0.3.6', { + 'checksums': ['c019dd266aa1334c41430db95361a7b1b911a6793d692b35cd2dc1894232f560'], + }), + ('spocc', '1.2.1', { + 'checksums': ['208f2897d6118012780d083a02ec7f30c0bb580e9535c2ed79f5b7e736790277'], + }), + ('spThin', '0.2.0', { + 'checksums': ['2e997afb79a2a990eded34c71afaac83986669cfa9ac51b15ae3f2b558902048'], + }), + ('rangeModelMetadata', '0.1.4', { + 'checksums': ['529d529ca90437db3d1e45118443e27a920422806383c7edaa2102beb43f5f80'], + }), + ('ENMeval', '2.0.4', { + 'checksums': ['6d9f3c460fa7ab3131cede904fcb9280cf69f4fdd43f67115a3abcb8ed5b64d1'], + }), + ('plotmo', '3.6.2', { + 'checksums': ['cde33a8ec558b12d8e11d7d0531e73f6678a25ee589b79897d2fc425a3fd353c'], + }), + ('earth', '5.3.2', { + 'checksums': ['c844d75edf9a2706a911bb05ed4287aad9acf6f3fed357e037763a300eac0bea'], + }), + ('mda', '0.5-3', { + 'checksums': ['bda6409c17f385fae97da458cc742334e7b47aab8217a975b7551e2e18d38463'], + }), + ('biomod2', '4.2-2', { + 'checksums': ['9be863811589ba4ac50f57a6879c9efe4dd52d52f533265b5d2e829d4705231a'], + }), + ('poLCA', '1.6.0.1', { + 'checksums': ['ed8c60a42bff0402c9ba2f9ce1422dd171e711c1a64498c4d96010ddb29f6b16'], + }), + ('PermAlgo', '1.2', { + 'checksums': ['aa2c774d6c6dcfeec882c1936e8723ef49bd36030fb10c17ca60bb9d4a519443'], + }), + ('coxed', '0.3.3', { + 'checksums': ['d0d6cb8fea9516b3c63b34d0d81f3804c18a07f97a83e51555575c8ed4c75626'], + }), + ('testit', '0.13', { + 'checksums': ['90d47168ab6bdbd1274b600b457626ac07697ce09792c92b2043be5f5b678d80'], + }), + ('NISTunits', '1.0.1', { + 'checksums': ['eaccd68db5c73d6a089ce5b323cdd51bc6a6a58ce467987158ba8c9be6a0a94e'], + }), + ('celestial', '1.4.6', { + 'checksums': ['9f647f41465ac65b254717698f1978871c378ad8e6ccaa693abf579437069abe'], + }), + ('fasterize', '1.0.4', { + 'checksums': ['44efbde363345c7fc494599392ff538eaef8ffcc8cae48d78350b5eea3887db2'], + }), + ('RPMM', '1.25', { + 'checksums': ['f04a524b13918062616beda50c4e759ce2719ce14150a0e677d07132086c88c8'], + }), + ('RefFreeEWAS', '2.2', { + 'checksums': ['de2812f166caabf6ea01c0533402e5cd9d8a525a2a7583e4757decf22319caab'], + }), + ('wordcloud', '2.6', { + 'checksums': ['53716954430acd4f164bfd8eacd7068a908ee3358293ded6cd992d53b7f72649'], + }), + ('JADE', '2.0-3', { + 'checksums': ['56d68a993fa16fc6dec758c843960eee840814c4ca2271e97681a9d2b9e242ba'], + }), + ('awsMethods', '1.1-1', { + 'checksums': ['50934dc20cf4e015f1304a89de6703fed27e7bd54c6b9fc9fb253cdf2ecb7541'], + }), + ('aws', '2.5-1', { + 'checksums': ['e8abadc5614f132edc3fb9cb1c82ce4dacc1315b727fbd49db7399aee24115ba'], + }), + ('ruv', '0.9.7.1', { + 'checksums': ['a0c54e56ba3d8f6ae178ae4d0e417a79295abf5dcb68bbae26c4b874734d98d8'], + }), + ('mhsmm', '0.4.16', { + 'checksums': ['fab573abdc0dd44e8c8bc7242a1428df20b3ec64c4c194e5f1f907393f902d01'], + }), + ('dbarts', '0.9-23', { + 'checksums': ['e1ac65fd89c321895d4f0e77d9cd8dcda5f1103485008afd4e19e6c9137557a3'], + 'preinstallopts': local_dbarts_preinstallopts, + }), + ('proftools', '0.99-3', { + 'checksums': ['e034eb1531af54013143da3e15229e1d4c2260f8eb79c93846014db3bdefb724'], + }), + ('NCmisc', '1.2.0', { + 'checksums': ['26fcfbc79810f23a28389a5ce5519e6ddc2470c5e924ba8cf4dd19a1b0fd9f83'], + }), + ('reader', '1.0.6', { + 'checksums': ['905c7c5a1b035ac8213fc533fa26e511abfeea40bd22e3edfde42a49074e88f4'], + }), + ('gnumeric', '0.7-8', { + 'checksums': ['28b10c91d693b938ebca610933889095ca160b22e6ca750c46103dfd2b009447'], + }), + ('tcltk2', '1.2-11', { + 'checksums': ['ad183ae3b7190501504a0589e0b3be480f04267303e3384fef00987446a37dc5'], + }), + ('readODS', '1.8.0', { + 'checksums': ['11d4fc5c1b8685cae594b5a0d70ea782a93befa134514786254f8f6a77baafc9'], + }), + ('nortest', '1.0-4', { + 'checksums': ['a3850a048181d5d059c1e74903437569873b430c915b709808237d71fee5209f'], + }), + ('EnvStats', '2.7.0', { + 'checksums': ['09a6f0d5b60856c7298371e4a8a085a1db7abf0e71ccb9a2dc9ca24248fb5d81'], + }), + ('outliers', '0.15', { + 'checksums': ['cc31d7f2faefd2c3a27f8ce78c7e67d3b321dcd6690292fad2468125e5e635fb'], + }), + ('elementR', '1.3.7', { + 'checksums': ['4275f88f372a2efe96ccd0afc20f4f12be92f28c7db35c68b80bb0ffb2c2ab07'], + }), + ('gWidgets2', '1.0-9', { + 'checksums': ['d4d9ef7b2788efeb8209aa8dd610af4cd86286392fbdf9ea70bcfeafda95d4c5'], + }), + ('gWidgets2tcltk', '1.0-8', { + # need to run installation via xvfb-run to avoid problems on headless systems: + # no DISPLAY variable so Tk is not available + # [tcl] invalid command name "font" + 'preinstallopts': "xvfb-run ", + # skip 'import' check with library(gWidgets2tcltk), since it also fails on headless systems... + 'modulename': False, + 'checksums': ['10399cc636eeeb5484c3379970c37c56df10d979bf866a35b66d0c75b7222c0a'], + }), + ('mgsub', '1.7.3', { + 'checksums': ['c9ae2560fe2690bedc5248af3fc89e7ef2bc6c147d46ced28f9824584c3791d5'], + }), + ('ie2misc', '0.9.0', { + 'checksums': ['7de6e8ddf05d3a8d105ddfa69732e94a1045180f8c86cbb0659c67e7e1a45c31'], + }), + ('assertive.base', '0.0-9', { + 'checksums': ['4bf0910b0eaa507e0e11c3c43c316b524500c548d307eb045d6f89047e6ba01e'], + }), + ('assertive.properties', '0.0-5', { + 'checksums': ['b68954f53082561f0242682611bf3373e0bf30d8ac2256d82474edc5f992f4dd'], + }), + ('assertive.types', '0.0-3', { + 'checksums': ['ab6db2eb926e7bc885f2043fab679330aa336d07755375282d89bf9f9d0cb87f'], + }), + ('assertive.numbers', '0.0-2', { + 'checksums': ['bae18c0b9e5b960a20636e127eb738ecd8a266e5fc29d8bc5ca712498cd68349'], + }), + ('assertive.strings', '0.0-3', { + 'checksums': ['d541d608a01640347d661cc9a67af8202904142031a20caa270f1c83d0ccd258'], + }), + ('assertive.datetimes', '0.0-3', { + 'checksums': ['014e2162f5a8d95138ed8330f7477e71c908a29341697c09a1b7198b7e012d94'], + }), + ('assertive.files', '0.0-2', { + 'checksums': ['be6adda6f18a0427449249e44c2deff4444a123244b16fe82c92f15d24faee0a'], + }), + ('assertive.sets', '0.0-3', { + 'checksums': ['876975a16ed911ea1ad12da284111c6eada6abfc0118585033abc0edb5801bb3'], + }), + ('assertive.matrices', '0.0-2', { + 'checksums': ['3462a7a7e11d7cc24180330d48cc3067cf92eab1699b3e4813deec66d99f5e9b'], + }), + ('assertive.models', '0.0-2', { + 'checksums': ['b9a6d8786f352d53371dbe8c5f2f2a62a7866e30313f268e69626d5c3691c42e'], + }), + ('assertive.data', '0.0-3', { + 'checksums': ['5a00fb48ad870d9b3c872ce3d6aa20a7948687a980f49fe945b455339e789b01'], + }), + ('assertive.data.uk', '0.0-2', { + 'checksums': ['ab48dab6977e8f43d6fffb33228d158865f68dde7026d123c693d77339dcf2bb'], + }), + ('assertive.data.us', '0.0-2', { + 'checksums': ['180e64dfe6339d25dd27d7fe9e77619ef697ef6e5bb6a3cf4fb732a681bdfaad'], + }), + ('assertive.reflection', '0.0-5', { + 'checksums': ['c2ca9b27cdddb9b9876351afd2ebfaf0fbe72c636cd12aa2af5d64e33fbf34bd'], + }), + ('assertive.code', '0.0-3', { + 'checksums': ['ef80e8d1d683d776a7618e78ddccffca7f72ab4a0fcead90c670bb8f8cb90be2'], + }), + ('assertive', '0.3-6', { + 'checksums': ['c403169e83c433b65e911f7fd640b378e2a4a4765a36063584b8458168a4ea0a'], + }), + ('rdrop2', '0.8.2.1', { + 'checksums': ['b9add765fe8e7c966f0d36eef939a9e38f253958bd2a3c656b890cbb0366300b'], + }), + ('Exact', '3.2', { + 'checksums': ['53b4e20cbb57615970c572fc4e7a780a510bde8b5deadec3880095f6e17a6328'], + }), + ('lmom', '2.9', { + 'checksums': ['363e62751a73e0870fd0206206f1743a884a23aeac9b31b9afc71c0a1b51bb90'], + }), + ('gld', '2.6.6', { + 'checksums': ['ea23e9781207b5d47ed04e4d5758d9652cab5d1eedcf9fbc9c2ee4d3babffdc4'], + }), + ('DescTools', '0.99.48', { + 'checksums': ['dbe058c0ae9ad15ed07cab4baf690f315ec73e5274ddcc6dae9f33b49f4eb62b'], + }), + ('orthopolynom', '1.0-6.1', { + 'checksums': ['ec4a6ed266532f2f6d37a4ca6bd1b74c1df28a8c2caeab60e5d6af15bdbfe2c5'], + }), + ('gaussquad', '1.0-3', { + 'checksums': ['a3337ce52bc53435cb4565a38bf48b72b384be397d2e86bb66f62973004dc810'], + }), + ('nlsem', '0.8', { + 'checksums': ['495a5d07aa5f59efdcd43acf429ae842453abd6c0720a80e2102d663fa997c60'], + }), + ('tableone', '0.13.2', { + 'checksums': ['b1cf15579abd4240e24435d2d9aad255c839d2a0293e28cb2eef0c808c4727af'], + }), + ('jstable', '1.0.7', { + 'checksums': ['a8f66172973dc75d1d751d7015e0f028c441263f6649909bd25fa944be0042c3'], + }), + ('RCAL', '2.0', { + 'checksums': ['10f5f938a8322d8737159e1e49ce9d12419a5130699b8a19c6ca53d6508da8cc'], + }), + ('stargazer', '5.2.3', { + 'checksums': ['208e9b48a11cf56ce142731c204f3d2bcb5b68719f84309a36362cd925414265'], + }), + ('sensemakr', '0.1.4', { + 'checksums': ['6a1354f05392fa9343b90f69a54022c995651fb3c3d05cb08fa088ef52258caf'], + }), + ('CompQuadForm', '1.4.3', { + 'checksums': ['042fc56c800dd8f5f47a017e2efa832caf74f0602824abf7099898d9708660c4'], + }), + ('nonnest2', '0.5-5', { + 'checksums': ['027f510e322122fc75c936251a95ddd392f96047ac86e0fae6cf8f883ac7aab5'], + }), + ('blavaan', '0.4-7', { + 'checksums': ['43577264a1faff3cf98fce2c03b729816b40a82d36846458b8026b62da3008c3'], + }), + ('mathjaxr', '1.6-0', { + 'checksums': ['ecc47607111b788d84789459af7f4f9102719f98640b7a23bd5a4eb1a6d3c179'], + }), + ('metadat', '1.2-0', { + 'checksums': ['f0cce5e30c3d256eaf5a41e4f52ffc7108e195016a4b99409e0ab4c2ef58f5b8'], + }), + ('metafor', '3.8-1', { + 'checksums': ['d694577f954144d8a5eeab6521fe1c87e68ddf9ecfd7ccc915d01533371b0514'], + }), + ('RNifti', '1.4.5', { + 'checksums': ['a277a849cdfeba3a104fd4ac2764c655d5cf8a71d8e64fa212d359fe60934628'], + }), + ('oro.nifti', '0.11.4', { + 'checksums': ['efe4f5d2c2e37ff6c3e9250f54ef775e4d452c1334f781f22f219ed53148b606'], + }), + ('fmri', '1.9.11', { + 'checksums': ['e5eb14829fd2750eff65641caab7e8229b4d98650a61b48cedd436ab2411931e'], + }), + ('linkcomm', '1.0-14', { + 'checksums': ['36f1557c65d862fc87635eedfad77f18a5deb66da00895e50e2d5eac0f23b597'], + }), + ('rnetcarto', '0.2.6', { + 'checksums': ['4f28ae62748654cb6f90e1ffa17b05bb8b89eb6a20262d9c5d39cb862f71dc91'], + }), + ('DEoptim', '2.2-8', { + 'checksums': ['631eabdcf26ec25a759651f699db1971beca3ae193c7fbd1c63a78248fdbf54c'], + }), + ('optextras', '2019-12.4', { + 'checksums': ['59006383860826be502ea8757e39ed94338f04d246c4fc398a088e004d8b13eb'], + }), + ('setRNG', '2022.4-1', { + 'checksums': ['61c06e6bd6b43c295472c6990266fe87ca41e57db04d3460e756a35ef24e0824'], + }), + ('Rvmmin', '2018-4.17.1', { + 'checksums': ['55000ac4ff57d42f172c46c7d6b0a603da3b65866d6440d6b32bac4d2b81814e'], + }), + ('Rcgmin', '2022-4.30', { + 'checksums': ['2684b8e7fb970da2afbc00e482031cf4447416249d04c4c1740400ad112fb911'], + }), + ('optimr', '2019-12.16', { + 'checksums': ['73b1ed560ffd74599517e8baa4c5b293aa062e9c8d50219a3a24b63e72fa7c00'], + }), + ('DMCfun', '2.0.2', { + 'checksums': ['430cbc18f17db11a7941e6a8274a0eefbb8a6b0bdac8800970530d60d5881fde'], + }), + ('miceadds', '3.16-18', { + 'checksums': ['dbc56cd2b20aaaaa69ea28c15cfd61d48d072fe9c0dc8e392c81a569e280cf75'], + }), + ('visdat', '0.6.0', { + 'checksums': ['104acdbb9d41167b861ab24de0e1e1e14f61c1b476bac112fcbc6e47c157e598'], + }), + ('UpSetR', '1.4.0', { + 'checksums': ['351e5fee64204cf77fd378cf2a2c0456cc19d4d98a2fd5f3dac74b69a505f100'], + }), + ('norm', '1.0-10.0', { + 'checksums': ['4384791af74c1008238f036abe0dda4b4048b9700cc4acd7b45025598fd20cc7'], + }), + ('naniar', '1.0.0', { + 'checksums': ['c2eda97de603e2daf4c1c5d12f9c9a65635910833a3c669e08e344e90d9394f4'], + }), + ('stringdist', '0.9.10', { + 'checksums': ['6fd42e0b7ff25843ca7f45acf9a183facfe14a6cde2dc7a97ef7126ab0f06ce8'], + }), + ('image.binarization', '0.1.3', { + 'checksums': ['ecc844bdd9bf15b88ce1e1afc8321c177bdc8ec32618c22102b1e8b02b36e00e'], + }), + ('lassosum', '0.4.5', { + 'source_urls': ['https://github.com/tshmak/%(name)s/releases/download/v%(version)s/'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['18c0d0b5022bcf81a9bf1b3b6647da3e080f221828b473ea2a45a9bf98474fbc'], + }), + ('lslx', '0.6.11', { + 'checksums': ['373cfb1e79174b568dac254fab02d99bf79b830218bf18f0cc592af6fef853d6'], + }), + ('truncnorm', '1.0-8', { + 'checksums': ['49564e8d87063cf9610201fbc833859ed01935cc0581b9e21c42a0d21a47c87e'], + }), + ('Rsolnp', '1.16', { + 'checksums': ['3142776062beb8e2b45cdbc4fe6e5446b6d33505253d79f2890fe4178d9cf670'], + }), + ('regsem', '1.9.3', { + 'checksums': ['5c8f37264b62ee3cbe61801e65d32dc143ea5365ce260f6b57b6145a5bfdf16e'], + }), + ('semPLS', '1.0-10', { + 'checksums': ['cb587ccfdaf970f426dc7146035c7e010b1c51c17bf4fc089fd796eda58db460'], + }), + ('GxEScanR', '2.0.2', { + 'checksums': ['6d42fd15d83dd1491405b282d26fa472f9f9902a9dc68836d6a48b459ada6a4c'], + }), + ('admisc', '0.31', { + 'checksums': ['db385081c93f9d21adf4b8a8710ae0125a8dd01a87530b5051a3299997e0f4ea'], + }), + ('polycor', '0.8-1', { + 'checksums': ['f05f53e0b5c992de0e5b4c6b2e998148cf83310358821e1bba180d81face0509'], + }), + ('multipol', '1.0-7', { + 'checksums': ['0abe3c894c0d8e928a920e73708a397133386a0d73a1e7952c4075afe67879e6'], + }), + ('symmoments', '1.2.1', { + 'checksums': ['9a6be1f8fe44f6ab5a1790e870fd8b18de1686a48a14a9fca2d035bfb5458672'], + }), + ('rngWELL', '0.10-9', { + 'checksums': ['9969cc10be6d18155d2b2de93381c52e7f720c2b1b3f2554fa8bfa84ceb7cacb'], + }), + ('randtoolbox', '2.0.4', { + 'checksums': ['94da14953e4ffc7981d7a9398622082c4eda3bd9d912d1437b527d949da39e4b'], + }), + ('TruncatedNormal', '2.2.2', { + 'checksums': ['aef567e8962a64d1afbdfd98ab8f385f32966c3c42acb54ee20f02dceab18e15'], + }), + ('cSEM', '0.5.0', { + 'checksums': ['25ae115520aab7d916da9ded1f87b8519c4e15101c4adef2284c51eb03d81728'], + }), + ('cubelyr', '1.0.2', { + 'checksums': ['18b10f1fe561305a1e115a438460264b88b301b3e8c086b931500a798be39b94'], + }), + ('furrr', '0.3.1', { + 'checksums': ['0d91735e2e9be759b1ab148d115c2c7429b79740514778828e5dab631dc0e48b'], + }), + ('broom.mixed', '0.2.9.4', { + 'checksums': ['7631cd29316a32050b9e72057754e053d7f9064a75900bb7e69b29ebca6c60b2'], + }), + ('DiceKriging', '1.6.0', { + 'checksums': ['ab5d1332809f2bb16d156ed234b102eb9fbd6de792e4291f9f6ea4652215cb49'], + }), + ('grf', '2.2.1', { + 'checksums': ['49e3fb600b6f5f4469457a051749932fb401be39c0f6a87fa97350e5ac871f2d'], + }), + ('xgboost', '1.7.3.1', { + 'checksums': ['3ced2ca30efaa86a9e93bc28e5cd3cc6df93bd68a550751ecf3a9f488ea438a5'], + }), + ('twang', '2.5', { + 'checksums': ['fc355527c57e4f6e0f60d26d7c690c4475fcd5fb165d125fea7cc6b9fafc4ce5'], + }), + ('neuralnet', '1.44.2', { + 'checksums': ['5f66cd255db633322c0bd158b9320cac5ceff2d56f93e4864a0540f936028826'], + }), + ('PCAmatchR', '0.3.3', { + 'checksums': ['5dc9d8bb4c0020b5e51a53a4fa71afa9adc6b907ea618b231f5cfc2877a49779'], + }), + ('origami', '1.0.7', { + 'checksums': ['b44034541ac358e0686682684c40e9a1de8d78c7913e56e4d3dbe41a2a55c62c'], + }), + ('hal9001', '0.4.3', { + 'checksums': ['f2489e7a0a16db6dc65da8ce13bfb7f0854e6f303c9ec05f6158d46c66b6588c'], + }), + ('cobalt', '4.4.1', { + 'checksums': ['4ea30c5a0e7d2940a6d7eaf927933b2d341a2e10dbb0f5fcd38eec34cb369fc0'], + }), + ('CBPS', '0.23', { + 'checksums': ['ed8fe09b642db459a516bdeb03a49e718a7d5ad915cbf82400029508efe9b32d'], + }), + ('SBdecomp', '1.2', { + 'checksums': ['0be4e1c9e8bed87fd1712e62346a97148a1a295ff56981e832921cc390006e5c'], + }), + ('naturalsort', '0.1.3', { + 'checksums': ['cd38a9c5f323f61459e6096cdbf4493851d40497baf671af4f8dfe9a7c00e857'], + }), + ('lwgeom', '0.2-11', { + 'checksums': ['7fd73cf58981f9566d946bf63ed6575ea0c70634abeaf4e60ef9615040d63419'], + }), + ('finalfit', '1.0.6', { + 'checksums': ['c12be933408b0a8ec4962ebe5e9b404ef99a0b1eafccf7f646627458f4af4b9a'], + }), + ('broom.helpers', '1.12.0', { + 'checksums': ['bfb5d960367af1c4d04180345b65af4e3604345d4d6267af9445da72188c2a2c'], + }), + ('bigD', '0.2.0', { + 'checksums': ['bca9eb0c9a231b159b97650884b1a7a490bc3bf4edef11cc12db06fb15c6ff5f'], + }), + ('juicyjuice', '0.1.0', { + 'checksums': ['64f5418b2a4794b47f0525baaf101beb4f1374ea22f38d7d604f5118bdb6e12a'], + }), + ('gt', '0.8.0', { + 'checksums': ['5eb74e134101cc74b8764252b8f4693a19e58f670b2f286b35cdb4d0ad0de9f9'], + }), + ('gtsummary', '1.7.0', { + 'checksums': ['73ed05c4b7c62f3e5e7bb86c940d4a03d6b39f420a3582039a725b367a6336d0'], + }), + ('ncdf4', '1.21', { + 'checksums': ['2f5ae7def382c595c66b6ed0ea0529f8337108eb73de39939f9762f3fb21b30d'], + }), + ('geex', '1.1.1', { + 'checksums': ['a1aebb9f73ba8dfe26ee3dc7b0725ccb814b3db5358ba17e417bdfc7eb3e4143'], + }), + ('momentfit', '0.3', { + 'checksums': ['67cbee1edf4c3b8193e693e6511a0b9574af2bb6314aef92b24f8fbfee37da6c'], + }), + ('StatMatch', '1.4.1', { + 'checksums': ['0c5479c444cb831d21b6305fc4cdcdf2653723ff08a31427dc2b236ca4f25bc5'], + }), + ('stars', '0.6-0', { + 'checksums': ['49fde4f78d1a5e09e6746e700c2e323a5102d7be05f02675c10cc6852ed68b7f'], + }), + ('rapidjsonr', '1.2.0', { + 'checksums': ['62c94fcdcf5d0fbdfa2f6168affe526bf547c37c16d94e2e1b78d7bf608eed1f'], + }), + ('jsonify', '1.2.2', { + 'checksums': ['3745e962592f021a3deaed8b2f6b99c4f7181f28e095300a96d1c2b08af4af2f'], + }), + ('geometries', '0.2.2', { + 'checksums': ['32d3063de0f8a751382788f85ebaee5f39d68e486253c159d553bb3d72d69141'], + }), + ('sfheaders', '0.4.2', { + 'checksums': ['ed9fb934c537fb6f126886f8e5997727de856e32fc3d38911b61a3a83faa7b2c'], + }), + ('geojsonsf', '2.0.3', { + 'checksums': ['275ca14672d982e6a95884515f49d8a0aad14f3be62ea01b675a91b0bffb46d1'], + }), + ('leaflet.providers', '1.9.0', { + 'checksums': ['9e8fc75c83313ab24663c2e718135459599549ed6e7396086cacb44e36cfd67b'], + }), + ('leaflet', '2.1.2', { + 'checksums': ['26d8671e8c99d85a4c257d8fb8c07ba899a2b95f801652598578f5cc5c724039'], + }), + ('leafsync', '0.1.0', { + 'checksums': ['7d8fd8dbbbf66417cf32575f14c0fe68199762ecf1c036c7905c7c5ff859d75c'], + }), + ('leafem', '0.2.0', { + 'checksums': ['97eb78b3eaf6012940f2c4f73effd8ff2d39aa46fef5f2ddf0005990b07dba8d'], + }), + ('widgetframe', '0.3.1', { + 'checksums': ['44089a2cf8b0941a6f3da55da36353e2f44653ca58bfec7960ee5b71ea380d48'], + }), + ('tmaptools', '3.1-1', { + 'checksums': ['fd89cb0d7fb44e0a5dd5311fa3e75a729746bf2e8e158d5ec423e5963f1b542d'], + }), + ('tmap', '3.3-3', { + 'checksums': ['60e58eef0f8c723db855d59117ca9f9b5e3663ba34b5ca783dc889bf20285e04'], + }), + ('collapse', '1.9.3', { + 'checksums': ['59425d108e7fdafd5fbca7099fe2fdc5c29d7390606c78bb7ef8ea8eb64d2056'], + }), + ('genoPlotR', '0.8.11', { + 'checksums': ['f127f7fe8b19c899ecfdf98bf69d2e18926afb593a72fc40097acca66d401607'], + }), + ('VineCopula', '2.4.5', { + 'checksums': ['06b9f67d14d525cbf04c991cedbd2e4f58bbb1f24ec10947aeed1efef91c33cd'], + }), + ('Rmpfr', '0.9-1', { + 'checksums': ['dbaf1db46b06211852befe4aecfe75ea2f0a91fe63d92a2039a36edf6c259d54'], + }), + ('scam', '1.2-13', { + 'checksums': ['33fd80394583ee9c909c5059fee1184ee3ca9325bd3cf40beaa12cfe8978e562'], + }), + ('copula', '1.1-2', { + 'checksums': ['88f9454d25e4dcdf53d8ca5156daf48e664769f5e13b1e835ed64f37251587d3'], + }), + ('evd', '2.3-6.1', { + 'checksums': ['662c592d3f5c5693dbf1c673d1137c4a60a347e330b71be1f3933f201d2c8971'], + }), + ('ismev', '1.42', { + 'checksums': ['0d57fbeca83bd478e84fcff795967d51d8448c629abe7adc6c4c18c7fb8bf1a5'], + }), + ('GJRM', '0.2-6.1', { + 'checksums': ['cbcba080ab368e32d41511292b78b351b4f0e71daaa47bee76e7d249955c5c0d'], + }), + ('penfa', '0.1.1', { + 'checksums': ['a22a8ac3d4a040c77e50ddc92328c1989eae536d79fe56013e9372ba27c114e5'], + }), + ('kde1d', '1.0.5', { + 'checksums': ['b5fab76a394a7819deee10afdff39ac64fccdb844735adfe51c92043016f2468'], + }), + ('RcppThread', '2.1.3', { + 'checksums': ['127e3d333dd412334d89d633e92f40135f65d68c91b7945fa63ce0e35abcf946'], + }), + ('wdm', '0.2.3', { + 'checksums': ['5f0184f6f0f9e9b8c47fb571e4d34dff309644a50afe5f18e42b9c37f52c593b'], + }), + ('rvinecopulib', '0.6.3.1.1', { + 'checksums': ['df95d007552e7fa30aefad90a86acf5e14f6fe1e363ed4c71a74d501a08cbf32'], + }), + ('PearsonDS', '1.2.3', { + 'checksums': ['ca9a87799469d2522e22b0c1702861ee6f07fa48c1ca77427d3876cba82bfd0e'], + }), + ('covsim', '1.0.0', { + 'checksums': ['3788e91ee7f7fd44b290feb22185637493e8301a64f9511ca80e1ed361c3f44f'], + }), + ('semTools', '0.5-6', { + 'checksums': ['f522ce3c02ac580ad49af7a7278141dae39fdfaeccc7d1379faf1266ce9fcaf2'], + }), + ('GPArotation', '2022.10-2', { + 'checksums': ['04f72d8f3a9c204df5df904be563ec272a8437a707daee8823b2a690dde21917'], + }), + ('dcurver', '0.9.2', { + 'checksums': ['cc6c55090d3607910515981ea0c7221e40e7a29e0da0c5a5f42c3847012290ec'], + }), + ('mirt', '1.38.1', { + 'checksums': ['b256e333cbc2e4763bb79bbcd739c04fbcef535125bb80a90e20b120a7b38f88'], + }), + ('rpf', '1.0.11', { + 'checksums': ['e1fd670ae7c3e947db08ce50d6b16ce1b3b8f63a9016b03baba760aee78921fb'], + }), + ('OpenMx', '2.21.1', { + 'checksums': ['631b5c896baf083827338e115db8665d2f86df203ebc5eb314182c8a0f3b6a8e'], + }), + ('matlab', '1.0.4', { + 'checksums': ['1988a2220703444a575f2bad4eb090a0da71478599eb53081dd7237b7ec216ea'], + }), + ('FactorCopula', '0.9.3', { + 'checksums': ['df1675bb96431417cdbb9000ab80e15e12d82c8ed9809eeb3d7fe7b4855178d3'], + }), + ('rpact', '3.3.4', { + 'checksums': ['3de77ca528c3ae206f634e1ca7f6fed4f34363c7dc906410021aefab63ca1520'], + }), + ('ldbounds', '2.0.0', { + 'checksums': ['d4279d5f9952643f9051cf37eeb8441fff7ac050a49ef6363a9f5cbc8287a26a'], + }), + ('catlearn', '0.9.1', { + 'checksums': ['c6c492f5cc6a9ec6fdbd3721dd64a4bb2e146152d64eeeab4db3d0575bd2f650'], + }), + ('MetaUtility', '2.1.2', { + 'checksums': ['e38c21588c239aa8926e64d916aa0f3b04108c2992f0e801095e4c7920b9ad5d'], + }), + ('EValue', '4.1.3', { + 'checksums': ['52a8d4df8ddc80eddf7c2f6684ed6f0fd71f3bd1bfc096ed07cfe875a367e446'], + }), + ('dagitty', '0.3-1', { + 'checksums': ['7d44b5d259ec3fef776a7e3fcb21d1c379f930d6ae9ae5fbfff54494ad78e8a8'], + }), + ('ggdag', '0.2.7', { + 'checksums': ['e078ebb8c63cde531f601feb71a20753fd45269061074cc742cf89fa0d4061dc'], + }), + ('simex', '1.8', { + 'checksums': ['80c7841196b9377a9367eb6960ad80ca0bf8de511b8b18a0031bfbe7bde289a0'], + }), + ('hash', '2.2.6.2', { + 'checksums': ['75a3a64014d2a99f08d12594d14fdade136f278abcf6252119cc20558ed14c9f'], + }), + ('nabor', '0.5.0', { + 'checksums': ['47938dcc987279281c13abfd667660bf1b3b76af116136a27eb066ee1a4b43da'], + }), + ('harmony', '0.1.1', { + 'checksums': ['754f8dd82ba1a6c0539628fd1861cba37061f2c4a6599680e6fccdfb84779b5d'], + }), + ('apcluster', '1.4.10', { + 'checksums': ['a214f72fa2f84563f3ca1aabb5322ef3e266007a6273ee8434bc2e2a7b9040a0'], + }), + ('DataCombine', '0.2.21', { + 'checksums': ['352b235612e2cf8234b3ab5f9aa6f7a394b006b98d24e315940ccc65c4218b47'], + }), + ('docstring', '1.0.0', { + 'checksums': ['14528bc85bbb299fb8fe1a7116034f8df49ae0c26fb299376185b5d56176e5a7'], + }), + ('gdalUtils', '2.0.3.2', { + 'checksums': ['4c6faabee2db8a87b7ea0f8e67e9fce3c5db7f4be353d7d86ea559507cbb2a4f'], + }), + ('openair', '2.16-0', { + 'checksums': ['7356203fab0a96a64996b1875ab973eb72d92a7ae0c4e58b6dc4d2383c47682d'], + }), + ('pdp', '0.8.1', { + 'checksums': ['e23db66e5d575337d5c8fd664ccd0548cc85da2aca6613d90ce187be1dca376c'], + }), + ('date', '1.2-42', { + 'checksums': ['5a913f960a0071cf9db05df4de03055a21a1c243b3bdbf846375537a664bcb74'], + }), + ('cmprsk', '2.2-11', { + 'checksums': ['844027cb2c162cf7ef97034d01237ad7b81aa192fe302250d22d2c5528110e14'], + }), + ('mets', '1.3.2', { + 'checksums': ['1a8bd1678c92650c0637b69b807bfb43df4210806518d56c650967c72f3e21d8'], + }), + ('Publish', '2023.01.17', { + 'checksums': ['436cc2bf5cdca1b3fdf892c9d35227f01740f1a4b335ff7b42a37e12c0115953'], + }), + ('riskRegression', '2022.11.28', { + 'checksums': ['601dd4e94cb32402413bf72b34b8f222671691b874333ed822cc44f4f1cd48e2'], + }), + ('pec', '2022.05.04', { + 'checksums': ['47a1079b5d4aa5df8aaa716324ee48c55660025c4cf10c93b5ee1d7250761468'], + }), + ('pammtools', '0.5.8', { + 'checksums': ['37197edd0984f8bf0e0a39a4ac1cfce897050dbb7f610553c349118fceb3ca93'], + }), + ('relsurv', '2.2-9', { + 'checksums': ['e966435c16c0978d1314867c3b9fbd7170ae7450d60e676d06cc7f8ca3d74d78'], + }), + ('mstate', '0.3.2', { + 'checksums': ['3c473dff6854e31cdbdaf79f8fe7eaf97119b01a581874a894b283555afe8d14'], + }), + ('microbenchmark', '1.4.9', { + 'checksums': ['443d2caf370ef33e4ac2773176ad9eb86f8790f43b430968ef9647699dbbffd2'], + }), + ('prettyGraphs', '2.1.6', { + 'checksums': ['fece08924fc7ed05ec419afa14a2216a2bb23d9da5ed3fc61472d6e45be7577a'], + }), + ('ExPosition', '2.8.23', { + 'checksums': ['0510bc51b1c8c883ff3652a5ed56242f91c2b7b7cf3100755436bffa1e002475'], + }), + ('alluvial', '0.1-2', { + 'checksums': ['77b6dc4651b33b03aaaf1e09a35f9c3536e5fddac2eda34f5a34e0ae33cf2e0d'], + }), + ('SNFtool', '2.3.1', { + 'checksums': ['982fe7c57f52c0c272b8cb5863dc5d50623b368e24ff6e27fc8b17acc0101f16'], + }), + ('BayesLogit', '2.1', { + 'checksums': ['3a423f68339ed1bf25e21be53b1fd68452ed7807b17c36239fba759dc6fc6b70'], + }), + ('Hmsc', '3.0-13', { + 'checksums': ['cbef4706aa09e93030243cee3ae4e62b02160d96981020f5a385751eade4f88d'], + }), + ('MonteCarlo', '1.0.6', { + 'checksums': ['f21aecfba957bbea9576b09f75b1f7c7621637a04532a8fed2c6bb8ffc1a98cb'], + }), + ('RhpcBLASctl', '0.23-42', { + 'checksums': ['5c889d5b69e264060b9f1f0383c447f594855b8afc15b7d76d39e4d62b946615'], + }), + ('chkptstanr', '0.1.1', { + 'checksums': ['433b29d597d7ea6c21ed652782a7bf2d766f9223a3b7bfed235c8fe7fffd175c'], + }), + ('MLmetrics', '1.1.1', { + 'checksums': ['777f1b76b16837387b830e2b65304ede234b9299d17efd09c7fd403356122118'], + }), + ('renv', '0.17.1', { + 'checksums': ['94f8b62846ce44e9c90884ce64a8faa0ff76b009c7a23ed0fb4343cd11836af4'], + }), + ('elliptic', '1.4-0', { + 'checksums': ['b65729b1a1c7a84a5b1a59bfc893a2d35106853eaadcae31cda5c9ee3c500bb6'], + }), + ('contfrac', '1.1-12', { + 'checksums': ['95bfc5e970513416c080486a1cd8dfd9f8d59fb691b02ef6ccbe0ce1ed61056b'], + }), + ('hypergeo', '1.2-13', { + 'checksums': ['6d5b78353aad1d13091ccbeb340867dad7b9eb00d0e2185286dc7e13848f4d8e'], + }), + ('rtdists', '0.11-5', { + 'checksums': ['97cf2ea758aa02b1dfaeef5032c6e50570777552aa771ed9a86df048b7871eed'], + }), + ('AMAPVox', '1.0.0', { + 'checksums': ['e4804d38b58c296f9efd088b58730421ef4ccfe331aec0f24f5a3fea5cd3ac5d'], + }), + ('LCFdata', '2.0', { + 'checksums': ['b58f4d93b9023dd1ba2db96a59ddfc058397085933d8de4cdb38ee064d5e7bf4'], + }), + ('LMERConvenienceFunctions', '3.0', { + 'checksums': ['eb430de9fbf836173f716960d60afc2de91de7f986471f406c3ca9027142e849'], + }), + ('HGNChelper', '0.8.1', { + 'checksums': ['aa3f0b3a8691ed93d63bec8f36d2954c6fcfd0b8b3efc705379248544c999363'], + }), + ('logger', '0.2.2', { + 'checksums': ['4f1be7d4381f2fc591f19fdbfb8f3cccbf26c9fdbae104612f6e6d5762a97e22'], + }), + ('parallelDist', '0.2.6', { + 'checksums': ['30c6b3b85cf78c04a7dcd17ea7ed64356971f6ce48d15794078a18c53b249e06'], + }), + ('roptim', '0.1.6', { + 'checksums': ['7ef0c2a2ddb3703efaabf337fa0026485875d5ffb35ba3ef5d60eb0c62c30686'], + }), + ('yulab.utils', '0.0.6', { + 'checksums': ['973a51b8d1284060aec34e94849eea6783439dbcbf85083dd4f1a5df4f927b25'], + }), + ('ggfun', '0.0.9', { + 'checksums': ['5c740e9d1e73b77658f41ed65e21492f4e71b12c7c9ff4b9e52ebf5f8f197612'], + }), + ('gridGraphics', '0.5-1', { + 'checksums': ['29086e94e63891884c933b186b35511aac2a2f9c56967a72e4050e2980e7da8b'], + }), + ('ggplotify', '0.1.0', { + 'checksums': ['178f73d6d3dc391c3efb1a62c95fe38587044f9e3288dffb915d3687941bb38a'], + }), + ('aplot', '0.1.10', { + 'checksums': ['d937768241f887628b88bb3b49dd6cbe9b7dae39ae7054e7380a9836721a67d1'], + }), + ('tidytree', '0.4.2', { + 'checksums': ['cb831a66d8afa5e21f5072e4fbebcbd2228881090d0040f87605f5aeefda155e'], + }), + ('ggvenn', '0.1.9', { + 'checksums': ['38779cfa4e01e07d4a42453cfb8b93d32d2acd6187676bae7d11b2168714a52e'], + }), + ('scatterpie', '0.1.8', { + 'checksums': ['a6ccc63a8be63fa113704cf5d4893c1ec1b75d3081ab971bd70e650e708872a0'], + }), + ('shadowtext', '0.1.2', { + 'checksums': ['253c4e737dbb302aa0729e5074e84cbfde2a73bfd7a0fd2c74b557cb728bae7d'], + }), + ('random', '0.2.6', { + 'checksums': ['2b59f9bce0c3ebf8215ab42dffaf9a1c7eea7468964063215a8d422af953b069'], + }), + ('R2WinBUGS', '2.1-21', { + 'checksums': ['fa86cb5140f5dfce29f9517b94d6d08c316ddcffa4aa3085945b84d34910134d'], + }), + ('aricode', '1.0.2', { + 'checksums': ['5f4e51f7063cfd4924a8925c902a3eb7517c743234a14560691cb84428b6b2f0'], + }), + ('DepthProc', '2.1.5', { + 'checksums': ['e6b0afd54bb20e25a6bf5402c771848db20e9c844f0fc990ecc3d1078b9eee44'], + }), + ('dbscan', '1.1-11', { + 'checksums': ['f0498e67e612629340a2758fbe747c4d9d4ca648f002230a03499cb73735e62f'], + }), + ('ggh4x', '0.2.3', { + 'checksums': ['8af0e855bf221ce53b3162ae9d25a8d04525aabbda2f63c4843d86ee3eca4535'], + }), + ('ComplexUpset', '1.3.3', { + 'checksums': ['5b2f99b4a38648641c7d31fc57f201a93e5bc1b85442a0b9726f72c166d964ea'], + }), + ('proxyC', '0.3.3', { + 'checksums': ['3e25da94633da0b5c6cdac03f5b6d8205d078f60c5a09073e90a1b6f0930e302'], + }), + ('changepoint', '2.2.4', { + 'checksums': ['ac636fde7610137385dde1e3d8a22a2ff856a8d5c917c7ad1a5cc49f98b8649b'], + }), + ('geeM', '0.10.1', { + 'checksums': ['fe76a32981b55835095041e777d1cf2e9ce43edb8d9488db56279f7cb6f43fe5'], + }), + ('ggstance', '0.3.6', { + 'checksums': ['cd9ad4fb83c583009ee45371c7d02d32b33d06238d3f0162b3ba9851e27a6372'], + }), + ('mosaicCore', '0.9.2.1', { + 'checksums': ['b7ce16f20fde1d8a5b1836110e5980fb274504ddae6b9c5c2f4198dc7d09dafa'], + }), + ('ggformula', '0.10.2', { + 'checksums': ['948b1c34a5c089cf86275d2b3e020e1a099278136e43175a50fb6063e54b6375'], + }), + ('kinship2', '1.9.6', { + 'checksums': ['0150bd5974c2a19885f6ff2e99f3c1f6361054a0910dcfc9dd26a8e0cd73bbf6'], + }), + ('MESS', '0.5.9', { + 'checksums': ['b57dff943a130830a24d87fe2e8f8b766cf18398c9c09e0a020d5dd183f9d72d'], + }), + ('smoof', '1.6.0.3', { + 'checksums': ['af8664b152876c545f6545528de6e05a289d0714103fac7afc52960a9a855fb1'], + }), + ('mlrMBO', '1.1.5.1', { + 'checksums': ['0cf26e5e9b180d15b932541cf081a552703a60edf762aafca9933c24ea91dc99'], + }), + ('emoa', '0.5-0.1', { + 'checksums': ['bff6c84274e9bdcbdb82d6edd90265844f7cd23f22abbf68d6b563ef48237966'], + }), + ('webutils', '1.1', { + 'checksums': ['33e2b408d2b9ca12e158e0007d4a55a3ace6838341ad944344de2ceb806e4699'], + }), + ('swagger', '3.33.1', { + 'checksums': ['528369b04c6142112e05ee8b950ca1c01b3e390a4515eacb0fa17db98bafafd1'], + }), + ('varhandle', '2.0.5', { + 'checksums': ['9b0ee653e0343e292547d2a7052e60a2e7d97d1d5528246862522e67346882d0'], + }), + ('dlm', '1.1-6', { + 'checksums': ['89dd4130ea3a5213244c66b313fed0a74cdcc96d3e70285b14cf3fe5f354ae57'], + }), + ('PMA', '1.2.1', { + 'checksums': ['3a155b89e380273dfd4ab301c422184a3f6d4679dc9e3d1bb65939392af511e6'], + }), + ('unikn', '0.8.0', { + 'checksums': ['77954418cf5475e57ccd5d28edefd97f82c49cd8e148b55b1b74f55b8c1c620f'], + }), + ('ppcor', '1.1', { + 'checksums': ['6a78f0c4d9caa17ab0252c5d351c2371e4ffb9047ebd13964877018dd6142bf5'], + }), + ('berryFunctions', '1.22.0', { + 'checksums': ['8d8578d746e8e4f7a1deb0b1d49ff8603c5e51504d5fe549bcba54f20fe9d498'], + }), + ('cld2', '1.2.4', { + 'checksums': ['79e04de836812a980406a540c0f022926ba71c2bf5294ad5eaa437a9c33e615b'], + }), + ('crfsuite', '0.4.1', { + 'checksums': ['be4f8e7773caa2e3ceac7e35d47ef323f6b121d2b2da1e3b90b4e3b4fc7da46e'], + }), + ('doc2vec', '0.2.0', { + 'checksums': ['db3853685072554402434ea699d703e01ac7818044cf47a2ee7d0e1040858908'], + }), + ('fastDummies', '1.6.3', { + 'checksums': ['bd3934fe19d7dff2723438bbb7b89334118143f8ce151d98477ae964ee5d81df'], + }), + ('quanteda', '3.3.0', { + 'checksums': ['03256faf63455d16d643349a34b068d0bf69506a0e952b99ab2391e6423663a5'], + }), + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + ('ISOweek', '0.6-2', { + 'checksums': ['b58a37b61ee772ea2704d510e9fce69dea4dd641b45124d566242825df4530b8'], + }), + ('sentometrics', '1.0.0', { + 'checksums': ['b5c238bb72f36331cb1ed63b581a9a2a73cefc96f80bf770b0e064a89fe31b1b'], + }), + ('tau', '0.0-24', { + 'checksums': ['f08d9fc92ed11ec01f7da12ccf98862e36ef8bb69d5e42584a08b46cea6917e1'], + }), + ('textcat', '1.0-8', { + 'checksums': ['cb650147576bae9c78381524831c9fcc85c76177274672098aac1860aa39749e'], + }), + ('textplot', '0.2.2', { + 'checksums': ['6e99a204b4be2ccd317978eda900b923e0e0a0f34217405777a0eb5fcc80e2a9'], + }), + ('udpipe', '0.8.11', { + 'checksums': ['522900de24d1f0f4f15e6b26df5521ac6efaf63c5fcfc35171a78275b3633233'], + }), + ('word2vec', '0.3.4', { + 'checksums': ['53db1d8c8d6af8ace8636adec1e254b0b61fbdba77ba7a295afc7da3eb4e4362'], + }), + ('epitools', '0.5-10.1', { + 'checksums': ['b418854de1fcedd126f3bf19dc27e8a71ee6efae5371098ab64a53a2d51d164b'], + }), + ('RBesT', '1.6-6', { + 'checksums': ['0301ee95f9b46722b9e1bacd668b570eee14badaa8ca0a7d0ccd8d3d9068d485'], + }), + ('svglite', '2.1.1', { + 'checksums': ['48700169eec1b05dbee9e2bae000aa84c544617b018cb3ac431a128cfd8dac56'], + }), + ('rARPACK', '0.11-0', { + 'checksums': ['c33401e2e31d272d485ce2ed22e7fe43ac641fd7c0a45a9b848d3ad60df1028a'], + }), + ('FKSUM', '1.0.1', { + 'checksums': ['6de23f5b7692f627b0b8e9575a612e77e166c16c28acab31d5ea0a27d7afe829'], + }), + ('warp', '0.2.0', { + 'checksums': ['0e0de344f3d711d58e6be2ab47ade1db3b703bf3ca85080b1124c0c25a630a68'], + }), + ('slider', '0.3.0', { + 'checksums': ['bc6a17ba5f0b27c8504a1d04992108470f24fd5662fbea14c300ac75fb02fca1'], + }), + ('rsample', '1.1.1', { + 'checksums': ['90d2ae86d27a397ba9d8d010e7dea5c7b86fecbec7e9af273db0c2e8c374b8ba'], + }), + ('haldensify', '0.2.3', { + 'checksums': ['fc0ee1d5bce54520bad6a1ce1cce5074eead6c8573dc4ce502c48a244d7f341c'], + }), + ('Polychrome', '1.5.1', { + 'checksums': ['6fe7da62459d7b94b1a8516a4626971cf35b76331f46e36798b05d29aa00d143'], + }), + ('shinycssloaders', '1.0.0', { + 'checksums': ['744641836a4cede2bb47caff1b600bff2c3e450dfccd2af4fab0413a8ea87d64'], + }), + ('princurve', '2.1.6', { + 'checksums': ['0216332390eb27013b6ba62232782156dfc99ca640087fcaff53d2be9218f373'], + }), + ('ECOSolveR', '0.5.5', { + 'checksums': ['2594ed1602b2fe159cc9aff3475e9cba7c1927b496c3daeabc1c0d227943ecc7'], + }), + ('scs', '3.2.4', { + 'checksums': ['c3f39874bf4532fa8c2f2e2c41533ba4fe20b61cf6dfc6314407dc981621298f'], + }), + ('osqp', '0.6.0.8', { + 'checksums': ['14034045ae4ae5ec4eae4944653d41d94282fa85a0cd53614ac86f34fd02ed97'], + }), + ('CVXR', '1.0-11', { + 'checksums': ['e92a9638f35f4909e2a29c3b7106081e3dae7ff88b14bb6466b87fbdc80b972a'], + }), + ('tabletools', '0.1.0', { + 'source_urls': ['https://github.com/JMLuther/%(name)s/archive/'], + 'sources': [{'download_filename': 'cc961c5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['667a4270456d28188734ce31411326130a94e085490ced84096c984789bb174a'], + }), + ('officer', '0.6.2', { + 'checksums': ['0948b5785c90767b63382b17a36c5167c54c5ba6dc61c80e808e16df620bd335'], + }), + ('gfonts', '0.2.0', { + 'checksums': ['72e2eead5280b45aadbbd9385971d65e9866fd659270b1c3c1eb98330f024aa6'], + }), + ('fontBitstreamVera', '0.1.1', { + 'checksums': ['3298b3dd95605bdda0c5fce5594c9bedde6aa63d89b216d5c83c6c092b6d375a'], + }), + ('fontLiberation', '0.1.0', { + 'checksums': ['acdea423e005873aa509e280074a3cef4796e4f7e9d77b3945d77b451ea039f0'], + }), + ('fontquiver', '0.2.1', { + 'checksums': ['95871814c2d55c03ee15a54e29aadfb840c791e1430f94127d9e1dc8608a6363'], + }), + ('gdtools', '0.3.3', { + 'checksums': ['da5a189841475b1d69c94a30ff834eb44560c69e6c0ec0a257006e1f59e83483'], + }), + ('flextable', '0.9.2', { + 'checksums': ['bccd53919ae58f1d26c4a8ee42da1f5e0b7333f8b4ee295b380ed256069f923d'], + }), + ('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.2-gfbf-2023a.eb b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb new file mode 100644 index 00000000000..806624dbe57 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.3.2-gfbf-2023a.eb @@ -0,0 +1,379 @@ +name = 'R' +version = '4.3.2' + +homepage = 'https://www.r-project.org/' +description = """R is a free software environment for statistical computing + and graphics.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +source_urls = ['https://cloud.r-project.org/src/base/R-%(version_major)s'] +sources = [SOURCE_TAR_GZ] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.3.2.tar.gz': 'b3f5760ac2eee8026a3f0eefcb25b47723d978038eee8e844762094c860c452a'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] +dependencies = [ + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('cairo', '1.17.8'), + ('libreadline', '8.2'), + ('ncurses', '6.4'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), + ('SQLite', '3.42.0'), + ('PCRE2', '10.42'), + ('libpng', '1.6.39'), # for plotting in R + ('libjpeg-turbo', '2.1.5.1'), # for plottting in R + ('LibTIFF', '4.5.0'), + ('Java', '11', '', SYSTEM), + ('libgit2', '1.7.1'), + ('OpenSSL', '1.1', '', SYSTEM), + ('cURL', '8.0.1'), + ('Tk', '8.6.13'), # for tcltk + ('HarfBuzz', '5.3.1'), # for textshaping + ('FriBidi', '1.0.12'), # 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 5th November 2023 +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.2', { + 'checksums': ['2a0ee1dc6e5c59b283c32db5e74e869922a336197cb406fe92622b6ec66f8092'], + }), + ('Rcpp', '1.0.11', { + 'checksums': ['df757c3068599c6c05367900bcad93547ba3422d59802dbaca20fd74d4d2fa5f'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('cli', '3.6.1', { + 'checksums': ['be3006cec7e67f9ae25e21b4658c4bec680038c2ef7467df5f14da3311a05e36'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('rprojroot', '2.0.4', { + 'checksums': ['b5f463fb25a24dac7a4ca916be57dbe22b5262e1f41e53871ca83e57d4336e99'], + }), + ('xfun', '0.41', { + 'checksums': ['2374c3b8f141f1e5ff01b291d8aa5c3dc807dd8e99ab4dc7a048c9534a7e3b02'], + }), + ('commonmark', '1.9.0', { + 'checksums': ['6dd01a5a26c8d436486abf69c2f6ad0f8dd1c811f575c31983aeb4dbd376548f'], + }), + ('highr', '0.10', { + 'checksums': ['ec55bc1ff66390ed66806dc2a7b6c17dbfd089b3d73fe2e369017f8cb4bc347b'], + }), + ('digest', '0.6.33', { + 'checksums': ['be702c886b1639be7eda4ea25a4261b30ce418c580f79bd78ec8d6cb4d327819'], + }), + ('desc', '1.4.2', { + 'checksums': ['758acf14be478c09ba7e84ade3a7ce512becf35d44e5e6a997b932065f2a227c'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('prettyunits', '1.2.0', { + 'checksums': ['f059f27e2a5c82e351fe05b87ad712f7afc273c651450453f59d99af5deeacea'], + }), + ('crayon', '1.5.2', { + 'checksums': ['70a9a505b5b3c0ee6682ad8b965e28b7e24d9f942160d0a2bad18eec22b45a7a'], + }), + ('stringi', '1.7.12', { + 'checksums': ['efe8ac2900001f986a75db5641fbb24587a6d23de274a6a85c39dfa58921e009'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('evaluate', '0.23', { + 'checksums': ['c9cf9c37502b8fbfa78e4eb96b8c3d1789060e49505c86c07cb7476da804a45c'], + }), + ('ps', '1.7.5', { + 'checksums': ['1abc3ae3c55797b994973f7e43bf5c7bbb4da649a0dcfad36675e196dba4cb4e'], + }), + ('processx', '3.8.2', { + 'checksums': ['e91b87af5b23c14b71003ec880f749dca81fd74f0601ab59ea1847c7fe857ecd'], + }), + ('callr', '3.7.3', { + 'checksums': ['567bfedf073a1d4c5785f0553341608a214938110567b9a6495ff20ebb2fd04e'], + }), + ('pkgbuild', '1.4.2', { + 'checksums': ['2334a245d75420b2adf9f217a6bc4a5f7faaa4244a6aac2b774b26f199fc82c5'], + }), + ('fs', '1.6.3', { + 'checksums': ['fa82061e50d7a4d94b7e404f9f2b699e75ae8fbfb575fabdfc2c39f536c0f971'], + }), + ('utf8', '1.2.4', { + 'checksums': ['418f824bbd9cd868d2d8a0d4345545c62151d321224cdffca8b1ffd98a167b7d'], + }), + ('fansi', '1.0.5', { + 'checksums': ['c616ce357fbfd43253c366da578549a38066459058c22fb99c82fc05992e23f6'], + }), + ('pkgconfig', '2.0.3', { + 'checksums': ['330fef440ffeb842a7dcfffc8303743f1feae83e8d6131078b5a44ff11bc3850'], + }), + ('withr', '2.5.2', { + 'checksums': ['d5b6fa6d728fda5201310d6ad5921a43aae1c23029c25334bfc1e54cb13d4205'], + }), + ('glue', '1.6.2', { + 'checksums': ['9da518f12be584c90e75fe8e07f711ee3f6fc0d03d817f72c25dc0f66499fdbf'], + }), + ('rstudioapi', '0.15.0', { + 'checksums': ['935bc81dca37d3d6e77982bfe6e7fbd779e8606e5b7e00d0ba4c80fec0416ccf'], + }), + ('pkgload', '1.3.3', { + 'checksums': ['b0898122876479cc4a35cd566654b3a7b50f8ac105565dbf3f8b9d4283816959'], + }), + ('fastmap', '1.1.1', { + 'checksums': ['3623809dd016ae8abd235200ba7834effc4b916915a059deb76044137c5c7173'], + }), + ('htmltools', '0.5.7', { + 'checksums': ['ecb0d82619063f49e4d001c44fcc1b811a06928fd66c2bb8c86632798d98b386'], + }), + ('yaml', '2.3.7', { + 'checksums': ['d20cb219e0f9c48aba02f132f81cfa9ecda5e22c925e36726840218ed56680ab'], + }), + ('knitr', '1.45', { + 'checksums': ['ee2edea53bc53efa51d131ab5a0b0c829c0f950b79d3c6ee34705354bf7584fb'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.3', { + 'checksums': ['eaa89041856189bee545bf1c42c7920a0bb0f1f70bb477487c467ee3e8fedcc6'], + }), + ('jsonlite', '1.8.7', { + 'checksums': ['7d42b7784b72d728698ea02b97818df51e2015ffa39fec2eaa2400771b0f601c'], + }), + ('lifecycle', '1.0.3', { + 'checksums': ['6459fdc3211585c0cdf120427579c12149b02161efe273a64b825c05e9aa69c2'], + }), + ('vctrs', '0.6.4', { + 'checksums': ['8a80192356e724d21bd89a0ce3e5835856fd5bb1651e7fc205c6fee58fd001c8'], + }), + ('stringr', '1.5.0', { + 'checksums': ['52b159d7700a139111b4caf939e7c9c6ab3e01185181400d70a74c552826633a'], + }), + ('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.0', { + 'checksums': ['5b0be53295fe509042e48711df091f7021e23512d1339a4f6f6d9f36d145650e'], + }), + ('xml2', '1.3.5', { + 'checksums': ['3d6a10a7ab76e0cc024b73d3fb8af65a662efe0e707681d9ffc2b3ff1f09e282'], + }), + ('curl', '5.1.0', { + 'checksums': ['57218da84b85bd01ce7daa4bca3e271eda1bf688e0cdb211c397ccb272ecba97'], + }), + ('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.7', { + 'checksums': ['717a08b63615a4fd9e494f775c33f0f965db83677cf1cc37849afc3da1c5e9ee'], + }), + ('purrr', '1.0.2', { + 'checksums': ['2c1bc6bb88433dff0892b41136f2f5c23573b335ff35a4775c72aa57b48bbb63'], + }), + ('cachem', '1.0.8', { + 'checksums': ['ea9ca919fe615dce8770758ecc2fc88ac99074f66ff1cde3a0b95d40007f45c2'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.5.1', { + 'checksums': ['b175612322e3ba929cf67a9261dd253346a981ce15bbb63d4a6874f54d5ef00e'], + }), + ('fontawesome', '0.5.2', { + 'checksums': ['da3de2a9717084d1400d48edd783f06c66b8c910ce9c8d753d1b7d99be1c5cc9'], + }), + ('tinytex', '0.48', { + 'checksums': ['1d0b989fa781a50a560b8d785f20c28bffc63b5b2e0fcd937c57fdd61d597695'], + }), + ('rmarkdown', '2.25', { + 'checksums': ['06e4662666fe018fbe3bef3531280a461c7bc24bb00f34b9d4c7b08d52210155'], + }), + ('downlit', '0.4.3', { + 'checksums': ['6c0fbe98ece8a511973263f8e8a35574df0cfc45edea7452b53b8d326436b3bd'], + }), + ('cpp11', '0.4.6', { + 'checksums': ['d1c56954671d3398078ad52aaa4efce0864e8166465c8c5e5e9a1e40599055b3'], + }), + ('systemfonts', '1.0.5', { + 'checksums': ['840ffb1d8293739c79cbc868101d9f9a84f4a9de4c7b3625e30af2fb63e15823'], + }), + ('textshaping', '0.3.7', { + 'checksums': ['fa924dbe1fb4138b80d6c26ee42f4203843f1d34f77e2a5e42514e6fcc97ec42'], + }), + ('ragg', '1.2.6', { + 'checksums': ['1014dc493ab52e98e4114fbabfca753bebd4d64db7ef7946bd064fb404e0f7c7'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('pkgdown', '2.0.7', { + 'checksums': ['f33872869dfa8319182d87e90eab3245ff69293b3b791471bf9538afb81b356a'], + }), + ('htmlwidgets', '1.6.2', { + 'checksums': ['7fda1672a4c0fbc203c790677b6ee7c40d2c2d72be4f6772f75288fc712b10bc'], + }), + ('profvis', '0.3.8', { + 'checksums': ['ec02c75bc9907a73564e691adfa8e06651ca0bd73b7915412960231cd265b4b2'], + }), + ('urlchecker', '1.0.1', { + 'checksums': ['62165ddbe1b748b58c71a50c8f07fdde6f3d19a7b39787b9fa2b4f9216250318'], + }), + ('later', '1.3.1', { + 'checksums': ['23eed681f0b9eacebbc3c6a5ba14ee0b676a4bf6e69af194c5a36edfe11464ac'], + }), + ('promises', '1.2.1', { + 'checksums': ['3ce0a26df39ea27536877ec6db13083b2952108245024baa8b40ae856d2ce5be'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('httpuv', '1.6.12', { + 'checksums': ['b1d972b1c240702c38cb844a1040670d62876abf462256764b49c120a52f5e74'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('shiny', '1.7.5.1', { + 'checksums': ['2023d91cc8039580752f6ecc5010d4419b7d928724ce5b10b93a3b48e1e6fb46'], + }), + ('miniUI', '0.1.1.1', { + 'checksums': ['452b41133289f630d8026507263744e385908ca025e9a7976925c1539816b0c0'], + }), + ('brew', '1.0-8', { + 'checksums': ['11652d5a7042d645cc5be5f9f97ff4d46083cea7d3ad2dd6ad1570b52c097826'], + }), + ('roxygen2', '7.2.3', { + 'checksums': ['d844fab977d2575ab942fa1309ac7ff67f35f099a75d8b41c79efe6ea10416da'], + }), + ('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', '0.2.3', { + 'checksums': ['352032029512f28f6f440ace0078e859ad3945d6b20841963b372523b6974b3d'], + }), + ('gh', '1.4.0', { + 'checksums': ['68c69fcd18429b378e639a09652465a4e92b7b5b5704804d0c5b1ca2b9b58b71'], + }), + ('credentials', '2.0.1', { + 'checksums': ['2c7cfc45bd4afa9a2c2b85d43e907b212da3468781e1b617737bd095253c358b'], + }), + ('zip', '2.3.0', { + 'checksums': ['33eba844922af9981732ee6ec1582d46cf04c562344f09a0f0f14a22c6f74543'], + }), + ('gert', '2.0.0', { + 'checksums': ['7c147c3740e7ece8764e6197f311d84e6191fddead1d96fbbfb29816ef5d6391'], + }), + ('usethis', '2.2.2', { + 'checksums': ['d9d8c1a789ae6fd0e717e174ac29da2e4a925df321e5cc0bfb3d65c87e4cbe46'], + }), + ('devtools', '2.4.5', { + 'checksums': ['38160ebd839acdec7ebf0699a085b4ab1ebd5500d3c57a9fa7ae484f1909904b'], + }), +] + +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..5209a5ce4a2 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.3.3-gfbf-2023b.eb @@ -0,0 +1,378 @@ +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] +patches = ['R-4.x_fix-CVE-2024-27322.patch'] +checksums = [ + {'R-4.3.3.tar.gz': '80851231393b85bf3877ee9e39b282e750ed864c5ec60cbd68e6e139f0520330'}, + {'R-4.x_fix-CVE-2024-27322.patch': 'd8560e15c3c5716f99e852541901014d406f2a73136b0b74f11ba529f7a7b00d'}, +] + +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/R-4.4.1-gfbf-2023b.eb b/easybuild/easyconfigs/r/R/R-4.4.1-gfbf-2023b.eb new file mode 100644 index 00000000000..09a46feeaa1 --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.4.1-gfbf-2023b.eb @@ -0,0 +1,371 @@ +name = 'R' +version = '4.4.1' + +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 = ['b4cb675deaaeb7299d3b265d218cde43f192951ce5b89b7bb1a5148a36b2d94d'] + +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" + +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 24 June 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.4', { + 'checksums': ['f2d74527508bf3287102470beb27de0d234c3cbba399c28d3312f2c83c64a6e1'], + }), + ('Rcpp', '1.0.12', { + 'checksums': ['0c7359cc43beee02761aa3df2baccede1182d29d28c9cd49964b609305062bd0'], + }), + ('R6', '2.5.1', { + 'checksums': ['8d92bd29c2ed7bf15f2778618ffe4a95556193d21d8431a7f75e7e5fc102bf48'], + }), + ('cli', '3.6.3', { + 'checksums': ['4295085f11221c54b1dd2b1d39a675a85dfd9f900294297567e1d36f65ac4841'], + }), + ('base64enc', '0.1-3', { + 'checksums': ['6d856d8a364bcdc499a0bf38bfd283b7c743d08f0b288174fba7dbf0a04b688d'], + }), + ('rprojroot', '2.0.4', { + 'checksums': ['b5f463fb25a24dac7a4ca916be57dbe22b5262e1f41e53871ca83e57d4336e99'], + }), + ('xfun', '0.45', { + 'checksums': ['3816f05c2fd297b40750be1a2f386f0aa4637136421f504d14b6ad9ea0993611'], + }), + ('commonmark', '1.9.1', { + 'checksums': ['9517a13f4ce4a99bb157493453b04419b222cb65a9471cd3b11e5045ac0db53b'], + }), + ('highr', '0.11', { + 'checksums': ['e90d14284001963325a84a9dbeef029609d52515da8d65c87ae61be21b7fe0a7'], + }), + ('digest', '0.6.36', { + 'checksums': ['d1777364b2358b3ff9d79428fa7c1b280042f88896302765b0d0e2d4dc7ae637'], + }), + ('desc', '1.4.3', { + 'checksums': ['54468da73dd78fc9e7c565c41cfe3331802c2134b2e61a9ad197215317092f26'], + }), + ('ellipsis', '0.3.2', { + 'checksums': ['a90266e5eb59c7f419774d5c6d6bd5e09701a26c9218c5933c9bce6765aa1558'], + }), + ('prettyunits', '1.2.0', { + 'checksums': ['f059f27e2a5c82e351fe05b87ad712f7afc273c651450453f59d99af5deeacea'], + }), + ('crayon', '1.5.3', { + 'checksums': ['3e74a0685541efb5ea763b92cfd5c859df71c46b0605967a0b5dbb7326e9da69'], + }), + ('stringi', '1.8.4', { + 'checksums': ['c219f8f64d1a2bfd4ca9528452d44d30db1899af14f4b9ef248412443bc669f3'], + }), + ('magrittr', '2.0.3', { + 'checksums': ['a2bff83f792a1acb801bfe6330bb62724c74d5308832f2cb6a6178336ace55d2'], + }), + ('evaluate', '0.24.0', { + 'checksums': ['e23d764a58e7525257d57da4ccfee9d6f63b5b3c18bf01c76818ec8c9c587fd6'], + }), + ('ps', '1.7.6', { + 'checksums': ['52c35ffc3d1e1d984a94c7bbd671ef4ad70946990cbcd80e814e17937b056dd2'], + }), + ('processx', '3.8.4', { + 'checksums': ['6627672d7fb109f37dc1d0eaef913f4cfc7ad8ac807abf0397e6d37753b1e70b'], + }), + ('callr', '3.7.6', { + 'checksums': ['e4bce367e869e42eaeea05566d2033d8cee2103179b11cd9a401440b58a351f8'], + }), + ('pkgbuild', '1.4.4', { + 'checksums': ['5972843cd43654715cdbdd28f50af013fa3d1c213146654992b2b5f39ed0e2a8'], + }), + ('fs', '1.6.4', { + 'checksums': ['7e06290f2dbe36f54fdf51b748a4b00b8b0f68967b5754e37e0c83df7fea5ac8'], + }), + ('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.16.0', { + 'checksums': ['74ffa867199e87a54386fbd26919233371f314f73d7338dd4e4695708fed4fe6'], + }), + ('pkgload', '1.3.4', { + 'checksums': ['60b04b948cda4dc56257b1e89f9b0a4b1273cacecdb2bd995d66dd76e89926ce'], + }), + ('fastmap', '1.2.0', { + 'checksums': ['b1da04a2915d1d057f3c2525e295ef15016a64e6667eac83a14641bbd83b9246'], + }), + ('htmltools', '0.5.8.1', { + 'checksums': ['f9f62293ec06c353c4584db6ccedb06a2da12e485208bd26b856f17dd013f176'], + }), + ('yaml', '2.3.8', { + 'checksums': ['9ed079e2159cae214f3fefcbc4c8eb3b888ceabe902350adbdb1d181eda23fd8'], + }), + ('knitr', '1.47', { + 'checksums': ['fadd849bf94a4e02520088a6626577c3c636227fe11c5cd7e8fcc5d51a7aa6cf'], + }), + ('mime', '0.12', { + 'checksums': ['a9001051d6c1e556e881910b1816b42872a1ee41ab76d0040ce66a27135e3849'], + }), + ('praise', '1.0.0', { + 'checksums': ['5c035e74fd05dfa59b03afe0d5f4c53fbf34144e175e90c53d09c6baedf5debd'], + }), + ('brio', '1.1.5', { + 'checksums': ['a9f22335ea39039de25bb27bccd5ff1ffb2b743579b31d150b6b91c9ea81d0b8'], + }), + ('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.1', { + 'checksums': ['d785ce3975939e28b61048b0e28d881c80904534ff21e5b1a79a0a934124e9f7'], + }), + ('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.2.0', { + 'checksums': ['18b8b46ae8db4bd57c7bcc8e10d0bb549ae63e383502051cef86102ab617ddb3'], + }), + ('httr', '1.4.7', { + 'checksums': ['1555e6c2fb67bd38ff11b479f74aa287b2d93f4add487aec53b836ff07de3a3a'], + }), + ('jquerylib', '0.1.4', { + 'checksums': ['f0bcc11dcde3a6ff180277e45c24642d3da3c8690900e38f44495efbc9064411'], + }), + ('rappdirs', '0.3.3', { + 'checksums': ['49959f65b45b0b189a2792d6c1339bef59674ecae92f8c2ed9f26ff9e488c184'], + }), + ('sass', '0.4.9', { + 'checksums': ['e133049aad7964e0f6150257e1470b3748f36029322265ee797b8caf7517d4d2'], + }), + ('purrr', '1.0.2', { + 'checksums': ['2c1bc6bb88433dff0892b41136f2f5c23573b335ff35a4775c72aa57b48bbb63'], + }), + ('cachem', '1.1.0', { + 'checksums': ['550839fc2ae5d865db475ba2c1714144f07fa0c052c72135b0e4a70287492e21'], + }), + ('memoise', '2.0.1', { + 'checksums': ['f85034ee98c8ca07fb3cd826142c1cd1e1e5747075a94c75a45783bbc4fe2deb'], + }), + ('bslib', '0.7.0', { + 'checksums': ['2135d9841af382673b815a14454abff2f2ce0f5dc97484d1499298b85b752ca0'], + }), + ('fontawesome', '0.5.2', { + 'checksums': ['da3de2a9717084d1400d48edd783f06c66b8c910ce9c8d753d1b7d99be1c5cc9'], + }), + ('tinytex', '0.51', { + 'checksums': ['bb113b51b4b58e78902a0220d709650c1458a8c6d3fa03f58ba007f0eb74c8ea'], + }), + ('rmarkdown', '2.27', { + 'checksums': ['61e9cb3eab4f8587fea98d3358652695b7e77eda858caa4c8985241ba6502b9f'], + }), + ('downlit', '0.4.4', { + 'checksums': ['55c377dcee4adc48c1060e14079f3d1832453d066a2cf070530caa210c48f828'], + }), + ('cpp11', '0.4.7', { + 'checksums': ['801d1266824c3972642bce2db2a5fd0528a65ec845c58eb5a886edf082264344'], + }), + ('systemfonts', '1.1.0', { + 'checksums': ['1941069bd20320284ec026a38c53cb736be60bda431303ceaf8fd27ae13fb644'], + }), + ('textshaping', '0.4.0', { + 'checksums': ['35e940786bb278560de61bb55d4f46f8c86c878d0461613ceb8c98ba9b239d7a'], + }), + ('ragg', '1.3.2', { + 'checksums': ['8037a45209fdd50acf101208af8e832b840a11ad4201cf7fb480de432e6b6931'], + }), + ('whisker', '0.4.1', { + 'checksums': ['bf5151494508032f68ac41e211bda80da9087c65c7068ffdd12f16669bf1f2bc'], + }), + ('pkgdown', '2.0.9', { + 'checksums': ['6e542216c03b5286cb9901175d1a7937a664db2572bc28bb51e9000269fcdda0'], + }), + ('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.3.0', { + 'checksums': ['f8209df3bab33340c1bc8c0d26caee2890fafb93129ff1423302abae5931fad3'], + }), + ('xtable', '1.8-4', { + 'checksums': ['5abec0e8c27865ef0880f1d19c9f9ca7cc0fd24eadaa72bcd270c3fb4075fd1c'], + }), + ('httpuv', '1.6.15', { + 'checksums': ['5e6ded3623a39df3e1db6cb7e7292b4c03c80b3c6c5faaac3b78b711cb205ed0'], + }), + ('sourcetools', '0.1.7-1', { + 'checksums': ['96812bdb7a0dd99690d84e4b0a3def91389e4290f53f01919ef28a50554e31d1'], + }), + ('shiny', '1.8.1.1', { + 'checksums': ['a38d5fb5d750e2c2091ce9101f138c1f9bc7009bbb195227a3519c5d97e36753'], + }), + ('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.1', { + 'checksums': ['e3b278b8c324a1aa2650141dd89d01253eea5c2555007422c797915689b29aec'], + }), + ('rcmdcheck', '1.4.0', { + 'checksums': ['bbd4ef7d514b8c2076196a7c4a6041d34623d55fbe73f2771758ce61fd32c9d0'], + }), + ('remotes', '2.5.0', { + 'checksums': ['4d663f1426cd88d42f4070f23d969305c575e0499ed1397be6607b0770d2850c'], + }), + ('clipr', '0.8.0', { + 'checksums': ['32c2931992fbec9c31b71de3e27059f1cbb45b4b1f45fd42e0e8dbcec6de3be9'], + }), + ('ini', '0.3.1', { + 'checksums': ['7b191a54019c8c52d6c2211c14878c95564154ec4865f57007953742868cd813'], + }), + ('gitcreds', '0.1.2', { + 'checksums': ['41c6abcca5635062b123ffb5af2794770eca5ebd97b05c5a64b24fa1c803c75d'], + }), + ('httr2', '1.0.1', { + 'checksums': ['33e92d830981b33cd5e55068b500c57dbfb72329c2fce54be3163c63b217f1b2'], + }), + ('gh', '1.4.1', { + 'checksums': ['76bd3f2a31eeaf76a633362899a20b0f7e8fb6159d4777baf3da2a47854292af'], + }), + ('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/R-4.x_fix-CVE-2024-27322.patch b/easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch new file mode 100644 index 00000000000..abf3c67864b --- /dev/null +++ b/easybuild/easyconfigs/r/R/R-4.x_fix-CVE-2024-27322.patch @@ -0,0 +1,39 @@ +see https://nvd.nist.gov/vuln/detail/CVE-2024-27322 + https://stat.ethz.ch/pipermail/r-devel/2024-April/083396.html + https://github.com/r-devel/r-svn/commit/f7c46500f455eb4edfc3656c3fa20af61b16abb7 +diff --git a/src/main/serialize.c b/src/main/serialize.c +index a389f71311..a190fbf8f3 100644 +--- a/src/main/serialize.c ++++ b/src/main/serialize.c +@@ -2650,6 +2650,13 @@ do_serializeToConn(SEXP call, SEXP op, SEXP args, SEXP env) + return R_NilValue; + } + ++static SEXP checkNotPromise(SEXP val) ++{ ++ if (TYPEOF(val) == PROMSXP) ++ error(_("cannot return a promise (PROMSXP) object")); ++ return val; ++} ++ + /* unserializeFromConn(conn, hook) used from readRDS(). + It became public in R 2.13.0, and that version added support for + connections internally */ +@@ -2699,7 +2706,7 @@ do_unserializeFromConn(SEXP call, SEXP op, SEXP args, SEXP env) + con->close(con); + UNPROTECT(1); + } +- return ans; ++ return checkNotPromise(ans); + } + + /* +@@ -3330,8 +3337,8 @@ attribute_hidden SEXP + do_serialize(SEXP call, SEXP op, SEXP args, SEXP env) + { + checkArity(op, args); +- if (PRIMVAL(op) == 2) return R_unserialize(CAR(args), CADR(args)); +- ++ if (PRIMVAL(op) == 2) //return R_unserialize(CAR(args), CADR(args)); ++ return checkNotPromise(R_unserialize(CAR(args), CADR(args))); + SEXP object, icon, type, ver, fun; + object = CAR(args); args = CDR(args); + icon = CAR(args); args = CDR(args); 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/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..8cc67b6d8df --- /dev/null +++ b/easybuild/easyconfigs/r/R2jags/R2jags-0.7-1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'R2jags' +version = '0.7-1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/R2jags' +description = "Providing wrapper functions to implement Bayesian analysis in JAGS." + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['3b097261c0b20b89a021bbc5087523a24f17249fa14c527cd54c5e5b2970226a'] + +dependencies = [ + ('R', '4.2.1'), + ('rjags', '4-13', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/RAPIDS/RAPIDS-24.4-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/r/RAPIDS/RAPIDS-24.4-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..287feaf2e3f --- /dev/null +++ b/easybuild/easyconfigs/r/RAPIDS/RAPIDS-24.4-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,215 @@ +easyblock = 'PythonBundle' + +name = 'RAPIDS' +version = '24.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://rapids.ai/' +description = """RAPIDS provides unmatched speed with familiar APIs that match the most popular +PyData libraries. Built on state-of-the-art foundations like NVIDIA CUDA and +Apache Arrow, it unlocks the speed of GPUs with code you already know.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), # needed by treelite + ('CMake', '3.26.3'), # needed by treelite +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('Python', '3.11.3'), + ('CUDA-Python', '12.1.0', versionsuffix), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('Arrow', '14.0.1'), + ('dask', '2023.9.2'), + ('geopandas', '0.14.2'), + ('jupyter-server-proxy', '4.0.0'), + ('numba', '0.58.1'), + ('protobuf-python', '4.24.0'), + ('pyproj', '3.6.0'), + ('scikit-image', '0.22.0'), + ('Shapely', '2.0.1'), + ('tqdm', '4.66.1'), + ('xarray', '2023.9.0'), +] + +# Installation based on wheels provided by Nvidia on pypi.nvidia.com +# Some of the extensions have alternatives as regular dependencies, such as +# cupy or ucx-py. However, they are still installed as extensions because the +# other wheels from Nvidia require those packages but with special cuda +# suffixes (e.g. "cupy_cuda12x" instead of "cupy") + +use_pip = True + +_whl_name_cuda = '%(name)s_cu%(cudamajver)s-%(version)s' +_whl_py_noneany = '-py%(pymajver)s-none-any.whl' +_whl_cp_version = '-cp%(pymajver)s%(pyminver)s-cp%(pymajver)s%(pyminver)s' +_whl_cp_linux28 = '-manylinux_2_28_x86_64.whl' +_whl_cp_linux27 = '-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl' +_whl_cp_linux17 = '-manylinux_2_17_x86_64.manylinux2014_x86_64.whl' +_whl_cp_linux14 = '-manylinux2014_x86_64.whl' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE, 'https://pypi.nvidia.com/%(name)s-cu%(cudamajver)s'], + 'source_tmpl': SOURCE_TAR_GZ, +} + +exts_list = [ + ('cudf', '24.4.1', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux28, + 'checksums': ['545c8845402b49bfbd35cda3653c12a6c776cfc873cada181f866c61223cde34'], + }), + ('dask_cudf', '24.4.1', { + 'source_tmpl': _whl_name_cuda + _whl_py_noneany, + 'source_urls': ['https://pypi.nvidia.com/dask-cudf-cu%(cudamajver)s'], + 'checksums': ['b18846636c846722b915af1a6828f6f70f17f5f8aff0d61bb19c3e6067e03b3e'], + }), + ('cuml', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['6c7e7209a01a872a9699bfb851678b30dde47cb003859bca059ca5395add46d3'], + }), + ('cugraph', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['968d3733a8559812574ffa4dd226b6c6eac19ef8dc395088121f2e37e1f00f38'], + }), + ('cuspatial', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['3ec862f6fd82e6e79f2ce90c416ef4323e489a02494b67424ea380143531d121'], + }), + ('cuproj', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['46b6a0e5174039bdcf2352e12c9b2bf67f4f6a1da23b3302293779e291dc9b7b'], + }), + ('cuxfilter', '24.4.1', { + 'source_tmpl': _whl_name_cuda + _whl_py_noneany, + 'checksums': ['c8f2f11a5e908854e5368c489b045fc578794fcb28978aa56351831025f570e5'], + }), + ('cucim', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['5cf9e5de6403d21679a79fa6d1fe9b18f6823687658a60292e4f092474363326'], + }), + ('pylibraft', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['245733dd2f2f3cb4286619966b83695387d76df7b91fda8dd8d934936b8db987'], + }), + ('raft_dask', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'source_urls': ['https://pypi.nvidia.com/raft-dask-cu%(cudamajver)s'], + 'checksums': ['97e39a93aee39876168fe61f9734f1a137ca9f3cb5801a22f08fe857e3ee269d'], + }), + ('cuvs', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['e9e5def770bfe69f94563a8470d2d68730abf3ddfb0ab2ebf0392e73a9ba0fdc'], + }), + ('cupy-cuda12x', '13.2.0', { + 'modulename': 'cupy', + 'source_tmpl': 'cupy_cuda%(cudamajver)sx-%(version)s' + _whl_cp_version + _whl_cp_linux14, + 'checksums': ['6474fa977e7df03e92374698f2b757065c5b14733b2bbacc19301cc440acafdd'], + }), + ('nvtx', '0.2.10', { + 'source_tmpl': '%(name)s-%(version)s' + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['71a1a641d4db137da8166d689d835a42f92b97cf2658ea069cbed162b8c5dd79'], + }), + ('pynvjitlink-cu12', '0.3.0', { + 'modulename': 'pynvjitlink', + 'source_tmpl': 'pynvjitlink_cu%(cudamajver)s-%(version)s' + _whl_cp_version + _whl_cp_linux27, + 'checksums': ['f56395025da610cb3aeaf4b04f4cbeb15676fb922738426028cc663324147ca4'], + }), + ('rmm', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['bd0f4a0a63be30381aafb169912130dadb3c107dd489c95f6dec14638bc0cb48'], + }), + ('rapids_dask_dependency', '24.4.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'source_urls': ['https://pypi.nvidia.com/rapids-dask-dependency'], + 'checksums': ['0713b99711cc2beda5e9bc52e4436c9d9131e9ab63c67c6628511703a7fefe3f'], + }), + ('dask_cuda', '24.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0f70bbbac8c7f19071ad9a78398ce7a3d17f10e5c70212810a9f1de8c50eae7f'], + }), + ('pynvml', '11.4.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['d27be542cd9d06558de18e2deffc8022ccd7355bc7382255d477038e7e424c6c'], + }), + ('ucx_py', '0.37.0', { + 'modulename': 'ucp', + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'source_urls': ['https://pypi.nvidia.com/ucx-py-cu%(cudamajver)s'], + 'checksums': ['32235eaf1191ea4fa0e795704ee51ec7bffc879ce075cbbbdd60ff994daed79c'], + }), + ('pylibcugraph', '24.4.0', { + 'source_tmpl': _whl_name_cuda + _whl_cp_version + _whl_cp_linux17, + 'checksums': ['1deb52562124343314cef504a92ac62afb5b6448cfffa19db8d208e6affe21b7'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('pyct', '0.5.0', { + 'checksums': ['dd9f4ac5cbd8e37c352c04036062d3c5f67efec76d404761ef16b0cbf26aa6a0'], + }), + ('param', '2.1.1', { + 'checksums': ['3b1da14abafa75bfd908572378a58696826b3719a723bc31b40ffff2e9a5c852'], + }), + ('datashader', '0.16.3', { + 'checksums': ['9d0040c7887f7a5a5edd374c297402fd208a62bf6845e87631b54f03b9ae479d'], + }), + ('pyviz_comms', '3.0.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['31541b976a21b7738557c3ea23bd8e44e94e736b9ed269570dcc28db4449d7e3'], + }), + ('holoviews', '1.19.1', { + 'checksums': ['b9e85e8c07275a456c0ef8d06bc157d02b37eff66fb3602aa12f5c86f084865c'], + }), + ('uc-micro-py', '1.0.3', { + 'modulename': 'uc_micro', + 'checksums': ['d321b92cff673ec58027c04015fcaa8bb1e005478643ff4a500882eaab88c48a'], + }), + ('linkify-it-py', '2.0.3', { + 'modulename': 'linkify_it', + 'checksums': ['68cda27e162e9215c17d786649d1da0021a451bdc436ef9e0fa0ba5234b9b048'], + }), + ('Markdown', '3.6', { + 'checksums': ['ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224'], + }), + ('mdit_py_plugins', '0.4.1', { + 'checksums': ['834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c'], + }), + ('panel', '1.2.3', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['0805bacf4a613e8869163bf80f50e59a89838afe76bdbe6a05ab5637f32683f7'], + }), + ('fastrlock', '0.8.2', { + 'checksums': ['644ec9215cf9c4df8028d8511379a15d9c1af3e16d80e47f1b6fdc6ba118356a'], + }), + ('dask', '2024.1.1', { + # overload dependency on dask due to strict requirement by rapids_dask_dependency + 'checksums': ['d0dc92e81ce68594a0a0ce23ba33f4d648f2c2f4217ab9b79068b7ecfb0416c7'], + }), + ('distributed', '2024.1.1', { + 'checksums': ['28cf5e9f4f07197b03ea8e5272e374ce2b9e9dc6742f6c9b525fd81645213c67'], + }), + ('dask-expr', '0.4.0', { + 'checksums': ['ee86ac5a5d3a892341af7ffab58e3a579c12aacbe332f2fe7477f668ac260279'], + }), + ('cachetools', '5.3.3', { + 'checksums': ['ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105'], + }), + ('treelite', '4.1.2', { + 'checksums': ['d6e6338b601fb3304425966de8a0f1073cb9f7917bcd6e3cdaeaf3492f247425'], + }), +] + +# RAPIDS v24.4 only supports GPUs with NVIDIA Volta architecture or newer +# Sanity checks need a physical GPU device +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/r/RAPSearch2/RAPSearch2-2.24-GCC-9.3.0.eb b/easybuild/easyconfigs/r/RAPSearch2/RAPSearch2-2.24-GCC-9.3.0.eb new file mode 100644 index 00000000000..f1694491013 --- /dev/null +++ b/easybuild/easyconfigs/r/RAPSearch2/RAPSearch2-2.24-GCC-9.3.0.eb @@ -0,0 +1,39 @@ +## +# 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:: GNU GPLv1 +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'RAPSearch2' +version = '2.24' + +homepage = 'https://omics.informatics.indiana.edu/mg/RAPSearch2' +description = """ +RAPSearch stands for Reduced Alphabet based Protein similarity Search +""" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} +toolchainopts = {'cstd': 'c++11', 'extra_cxxflags': '-D_GLIBCXX_USE_CXX11_ABI=0'} + +source_urls = ['https://sourceforge.net/projects/rapsearch2/files'] +sources = ['%(name)s.%(version_minor)s_64bits.tar.gz'] +checksums = ['85db4573f4c768b6c3c73bb44ff2611ba48dc6c8d188feb40f44bf7c55de36ce'] + +skipsteps = ['configure'] +build_cmd = './install' +parallel = 1 + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ('rapsearch', 'prerapsearch')], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RASPA2/RASPA2-2.0.47-foss-2022a.eb b/easybuild/easyconfigs/r/RASPA2/RASPA2-2.0.47-foss-2022a.eb new file mode 100644 index 00000000000..e9a6ba45203 --- /dev/null +++ b/easybuild/easyconfigs/r/RASPA2/RASPA2-2.0.47-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'RASPA2' +version = '2.0.47' + +homepage = 'https://iraspa.org/raspa/' +description = """RASPA is a software package for simulating adsorption and diffusion of +molecules in flexible nanoporous materials.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/iRASPA/RASPA2/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1a14524f95ab86e7a2910b53641262ec98ec23f794f1c3665982c32efc1997ed'] + +builddependencies = [ + ('Autotools', '20220317') +] + +preconfigopts = 'rm -rf autom4te.cache && ' +preconfigopts += 'mkdir m4 && ' +preconfigopts += 'aclocal && ' +preconfigopts += 'autoreconf -if && ' + +sanity_check_paths = { + 'files': ['bin/simulate', 'lib/libraspa2.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ['simulate -h'] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-GCC-8.3.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-GCC-8.3.0.eb index d404a8cd864..6e4afcf7720 100644 --- a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-GCC-8.3.0.eb @@ -63,10 +63,6 @@ builddependencies = [ configopts = '-DUSE_MPI=OFF ' configopts += '-DUSE_GMP=ON ' -build_type = 'Release' - -separate_build_dir = True - # too much parallellism makes the build fail with: # No rule to make target 'localdeps/lib/libterraces.a'; # see https://github.com/amkozlov/raxml-ng/issues/108 diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-gompi-2019b.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-gompi-2019b.eb index 983b0a97ec7..dd2cd4fdc19 100644 --- a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-gompi-2019b.eb +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-0.9.0-gompi-2019b.eb @@ -63,10 +63,6 @@ builddependencies = [ configopts = '-DUSE_MPI=ON ' configopts += '-DUSE_GMP=ON ' -build_type = 'Release' - -separate_build_dir = True - # too much parallellism makes the build fail with: # No rule to make target 'localdeps/lib/libterraces.a'; # see https://github.com/amkozlov/raxml-ng/issues/108 diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.1-gompi-2019b.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.1-gompi-2019b.eb index 627946c4e80..4e0ac9e3be5 100644 --- a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.1-gompi-2019b.eb +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.1-gompi-2019b.eb @@ -62,10 +62,6 @@ builddependencies = [ configopts = '-DUSE_MPI=ON ' configopts += '-DUSE_GMP=ON ' -build_type = 'Release' - -separate_build_dir = True - # too much parallellism makes the build fail with: # No rule to make target 'localdeps/lib/libterraces.a'; # see https://github.com/amkozlov/raxml-ng/issues/108 diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.2-gompi-2020b.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.2-gompi-2020b.eb index b18fbb2c5fb..9510c0e8ee0 100644 --- a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.2-gompi-2020b.eb +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.2-gompi-2020b.eb @@ -62,10 +62,6 @@ builddependencies = [ configopts = '-DUSE_MPI=ON ' configopts += '-DUSE_GMP=ON ' -build_type = 'Release' - -separate_build_dir = True - # too much parallellism makes the build fail with: # No rule to make target 'localdeps/lib/libterraces.a'; # see https://github.com/amkozlov/raxml-ng/issues/108 diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.3-GCC-10.2.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.3-GCC-10.2.0.eb new file mode 100644 index 00000000000..a29ce5a9755 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.0.3-GCC-10.2.0.eb @@ -0,0 +1,43 @@ +# EasyBuild easyconfig +# +# Contributed from Fred Hutchinson Cancer Research Center, Seattle WA, US +# John Dey jfdey@fredhutch.org +# +easyblock = 'CMakeMake' + +name = 'RAxML-NG' +version = '1.0.3' + +homepage = 'https://github.com/amkozlov/raxml-ng' +description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) + optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree + Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/amkozlov', + 'repo_name': '%(namelower)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] + +separate_build_dir = True + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.1.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..e6003772f6c --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.1.0-GCC-11.2.0.eb @@ -0,0 +1,41 @@ +# EasyBuild easyconfig +# +# Contributed from Fred Hutchinson Cancer Research Center, Seattle WA, US +# John Dey jfdey@fredhutch.org +# +easyblock = 'CMakeMake' + +name = 'RAxML-NG' +version = '1.1.0' + +homepage = 'https://github.com/amkozlov/raxml-ng' +description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) + optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree + Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/amkozlov', + 'repo_name': '%(namelower)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.21.1'), + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..1ca43f33fd7 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.2.0.eb @@ -0,0 +1,43 @@ +# EasyBuild easyconfig +# +# Contributed from Fred Hutchinson Cancer Research Center, Seattle WA, US +# John Dey jfdey@fredhutch.org +# +easyblock = 'CMakeMake' + +name = 'RAxML-NG' +version = '1.2.0' + +homepage = 'https://github.com/amkozlov/raxml-ng' +description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) + optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree + Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/amkozlov', + 'repo_name': '%(namelower)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['bin/raxml-ng'], + 'dirs': [], +} + +sanity_check_commands = ["raxml-ng --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..c4d287c525b --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML-NG/RAxML-NG-1.2.0-GCC-12.3.0.eb @@ -0,0 +1,43 @@ +# EasyBuild easyconfig +# +# Contributed from Fred Hutchinson Cancer Research Center, Seattle WA, US +# John Dey jfdey@fredhutch.org +# +easyblock = 'CMakeMake' + +name = 'RAxML-NG' +version = '1.2.0' + +homepage = 'https://github.com/amkozlov/raxml-ng' +description = """RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) + optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree + Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/amkozlov', + 'repo_name': '%(namelower)s', + 'tag': '%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['bin/raxml-ng'], + 'dirs': [], +} + +sanity_check_commands = ["raxml-ng --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2020b-hybrid-avx2.eb b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2020b-hybrid-avx2.eb new file mode 100644 index 00000000000..a853e77a979 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2020b-hybrid-avx2.eb @@ -0,0 +1,38 @@ +## +# 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:: Custom +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'RAxML' +version = '8.2.12' +versionsuffix = '-hybrid-avx2' + +homepage = 'https://github.com/stamatak/standard-RAxML' +description = "RAxML search algorithm for maximum likelihood based inference of phylogenetic trees." + +toolchain = {'name': 'gompi', 'version': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/stamatak/standard-RAxML/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['abe6978c6027e897ebed67066836e4eadd57ecd0d042045634424dd001e86105'] + +buildopts = '-f Makefile.AVX2.HYBRID.gcc CC="$CC"' + +files_to_copy = [(["raxmlHPC-HYBRID-AVX2"], "bin"), "usefulScripts", "README", "manual"] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s raxmlHPC-HYBRID-AVX2 raxmlHPC"] + +sanity_check_paths = { + 'files': ['bin/raxmlHPC'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021a-hybrid-avx2.eb b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021a-hybrid-avx2.eb new file mode 100644 index 00000000000..bcf227398b3 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021a-hybrid-avx2.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'RAxML' +version = '8.2.12' +versionsuffix = '-hybrid-avx2' + +homepage = 'https://github.com/stamatak/standard-RAxML' +description = "RAxML search algorithm for maximum likelihood based inference of phylogenetic trees." + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/stamatak/standard-RAxML/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['abe6978c6027e897ebed67066836e4eadd57ecd0d042045634424dd001e86105'] + +buildopts = '-f Makefile.AVX2.HYBRID.gcc CC="$CC"' + +files_to_copy = [(["raxmlHPC-HYBRID-AVX2"], "bin"), "usefulScripts", "README", "manual"] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s raxmlHPC-HYBRID-AVX2 raxmlHPC"] + +sanity_check_paths = { + 'files': ['bin/raxmlHPC'], + 'dirs': [], +} + +sanity_check_commands = ["raxmlHPC -%s" % x for x in ['h', 'v']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021b-hybrid-avx2.eb b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021b-hybrid-avx2.eb new file mode 100644 index 00000000000..7be898198dc --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2021b-hybrid-avx2.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'RAxML' +version = '8.2.12' +versionsuffix = '-hybrid-avx2' + +homepage = 'https://github.com/stamatak/standard-RAxML' +description = "RAxML search algorithm for maximum likelihood based inference of phylogenetic trees." + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/stamatak/standard-RAxML/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['abe6978c6027e897ebed67066836e4eadd57ecd0d042045634424dd001e86105'] + +buildopts = '-f Makefile.AVX2.HYBRID.gcc CC="$CC"' + +files_to_copy = [(["raxmlHPC-HYBRID-AVX2"], "bin"), "usefulScripts", "README", "manual"] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s raxmlHPC-HYBRID-AVX2 raxmlHPC"] + +sanity_check_paths = { + 'files': ['bin/raxmlHPC'], + 'dirs': [], +} + +sanity_check_commands = ["raxmlHPC -%s" % x for x in ['h', 'v']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb new file mode 100644 index 00000000000..8b13f18b2d6 --- /dev/null +++ b/easybuild/easyconfigs/r/RAxML/RAxML-8.2.12-gompi-2022b-avx2.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'RAxML' +version = '8.2.12' +versionsuffix = '-avx2' + +homepage = 'https://github.com/stamatak/standard-RAxML' +description = "RAxML search algorithm for maximum likelihood based inference of phylogenetic trees." + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/stamatak/standard-RAxML/archive/'] +sources = ['v%(version)s.zip'] +checksums = ['abe6978c6027e897ebed67066836e4eadd57ecd0d042045634424dd001e86105'] + +buildopts = '-f Makefile.AVX2.gcc CC="$CC" && rm *.o && ' +buildopts += 'make -j %(parallel)s -f Makefile.AVX2.PTHREADS.gcc CC="$CC" && rm *.o && ' +buildopts += 'make -j %(parallel)s -f Makefile.AVX2.HYBRID.gcc CC="$CC"' + +files_to_copy = [ + (["raxmlHPC-AVX2", "raxmlHPC-PTHREADS-AVX2", "raxmlHPC-HYBRID-AVX2"], "bin"), + "usefulScripts", "README", "manual" +] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s raxmlHPC-AVX2 raxmlHPC"] + +sanity_check_paths = { + 'files': ['bin/raxmlHPC'], + 'dirs': [], +} + +sanity_check_commands = ["raxmlHPC -%s" % x for x in ['h', 'v']] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RCall/RCall-0.13.17-disable_gpu_test.patch b/easybuild/easyconfigs/r/RCall/RCall-0.13.17-disable_gpu_test.patch new file mode 100644 index 00000000000..a86127ba3ce --- /dev/null +++ b/easybuild/easyconfigs/r/RCall/RCall-0.13.17-disable_gpu_test.patch @@ -0,0 +1,34 @@ +Removes a native test in RCall that uses GPU and therefore fails to install on machines without GPU. +Author: Orient Kružík (INUITS) +diff -ruN RCall_orig/test/basic.jl RCall/test/basic.jl +--- RCall_orig/test/basic.jl 2023-08-30 03:06:12.000000000 +0200 ++++ RCall/test/basic.jl 2023-10-11 18:54:35.664758000 +0200 +@@ -96,17 +96,17 @@ + @test_throws Exception t1[:x] = "a" + + # graphics +-RCall.rgui_init() +-let f = tempname() +- rcall(:png,f) +- rcall(:plot,1:10) +- rcall(Symbol("dev.off")) +- @test isfile(f) +- rm(f) +- @test !RCall.rgui_start(true) +- @test_throws ErrorException RCall.rgui_start() +- @test RCall.rgui_stop() +-end ++# RCall.rgui_init() ++# let f = tempname() ++# rcall(:png,f) ++# rcall(:plot,1:10) ++# rcall(Symbol("dev.off")) ++# @test isfile(f) ++# rm(f) ++# @test !RCall.rgui_start(true) ++# @test_throws ErrorException RCall.rgui_start() ++# @test RCall.rgui_stop() ++# end + + # S4 rprint + @test occursin("An object of class", diff --git a/easybuild/easyconfigs/r/RCall/RCall-0.13.17-foss-2022a-R-4.2.1-Julia-1.9.2.eb b/easybuild/easyconfigs/r/RCall/RCall-0.13.17-foss-2022a-R-4.2.1-Julia-1.9.2.eb new file mode 100644 index 00000000000..a7789bd8358 --- /dev/null +++ b/easybuild/easyconfigs/r/RCall/RCall-0.13.17-foss-2022a-R-4.2.1-Julia-1.9.2.eb @@ -0,0 +1,240 @@ +easyblock = 'JuliaBundle' + +name = 'RCall' +version = '0.13.17' +local_juliaver = '1.9.2' +versionsuffix = '-R-%%(rver)s-Julia-%s' % local_juliaver + +homepage = 'https://github.com/JuliaInterop/RCall.jl' +description = """This package facilitates communication between R and Julia and allows the + user to call R packages from within Julia, providing the best of both worlds.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Julia', local_juliaver, '-linux-%s' % ARCH, SYSTEM), +] + +preinstallopts = "export LD_LIBRARY_PATH=$EBROOTJULIA/lib/julia:$LD_LIBRARY_PATH && " + +exts_default_options = { + 'source_tmpl': 'v%(version)s.tar.gz', +} + +exts_list = [ + ('Preferences', '1.4.1', { + 'source_urls': ['https://github.com/JuliaPackaging/Preferences.jl/archive/'], + 'checksums': ['2240d5df55d69b22d27cb152c4abf8bf51106cd0b5910e194b5ab0ef8f260fcf'], + }), + ('PrecompileTools', '1.2.0', { + 'source_urls': ['https://github.com/JuliaLang/PrecompileTools.jl/archive/'], + 'checksums': ['8885c92380609bf077f316d454e92c75806353dbc22873c783207fc027401f2e'], + }), + ('Parsers', '2.7.2', { + 'source_urls': ['https://github.com/JuliaData/Parsers.jl/archive/'], + 'checksums': ['e8d837cfc5cdaec0eb692eb58c00fb1d476327a7dc79398d7ce711cf8e8e3fa1'], + }), + ('StructTypes', '1.10.0', { + 'source_urls': ['https://github.com/JuliaData/StructTypes.jl/archive/'], + 'checksums': ['f2d7edc4f21651f76ff21251bfe8ec417c5688ed56880654bfb1482f580ab072'], + }), + ('JSON', '0.21.4', { + 'source_urls': ['https://github.com/JuliaIO/JSON.jl/archive/'], + 'checksums': ['c6b620ad4150ec5a154367f50c9579af800e3a89a6d8f9cb5dd30215a5d3f552'], + }), + ('DataAPI', '1.15.0', { + 'source_urls': ['https://github.com/JuliaData/DataAPI.jl/archive/'], + 'checksums': ['c5d535c1a276ef6a0dc765eb720fd66321aa1e6fd944f78462276f1070c7bfa6'], + }), + ('Missings', '1.1.0', { + 'source_urls': ['https://github.com/JuliaData/Missings.jl/archive/'], + 'checksums': ['149c799f261e4f1645124c8f6957ccec16a5c59e03bea9fcc6b66c3038d8f757'], + }), + ('CategoricalArrays', '0.9.7', { + 'source_urls': ['https://github.com/JuliaData/CategoricalArrays.jl/archive/'], + 'checksums': ['57ad0322d613ba88dae8f05d41fcd30ffe381205d5f8dbbdaf5eafcd762a3f10'], + }), + ('WinReg', '1.0.0', { + 'source_urls': ['https://github.com/simonbyrne/WinReg.jl/archive/'], + 'checksums': ['79f5ac2c678501cc6c6a3b443c9bbbeb701efe335556c235e48da9002cdea97d'], + }), + ('ShiftedArrays', '2.0.0', { + 'source_urls': ['https://github.com/JuliaArrays/ShiftedArrays.jl/archive/'], + 'checksums': ['909f9b8bdef0fedf2202645e4a3147d4365dad8acab42853b0e0d804d5d0df38'], + }), + ('IrrationalConstants', '0.2.2', { + 'source_urls': ['https://github.com/JuliaMath/IrrationalConstants.jl/archive/'], + 'checksums': ['bece9a3643264a76bd625c3f9cf3b46bba0fd093f06e899e8d6167cf45d7e833'], + }), + ('DocStringExtensions', '0.9.3', { + 'source_urls': ['https://github.com/JuliaDocs/DocStringExtensions.jl/archive/'], + 'checksums': ['9c712789b1cbd367bced9fafb995dee026f931ac68b55e476d1c666210564ae6'], + }), + ('LogExpFunctions', '0.3.26', { + 'source_urls': ['https://github.com/JuliaStats/LogExpFunctions.jl/archive/'], + 'checksums': ['c78ff1b55a56ee6e5d4507d3ec762de7975e892350a204f8267fd0760d5f0a2f'], + }), + ('StatsAPI', '1.7.0', { + 'source_urls': ['https://github.com/JuliaStats/StatsAPI.jl/archive/'], + 'checksums': ['40a339e45e34266f60c9e806c8f5d3497a92a24c708024ed247a5bb3b7df1b99'], + }), + ('Compat', '4.10.0', { + 'source_urls': ['https://github.com/JuliaLang/Compat.jl/archive/'], + 'checksums': ['fff17f6648c8d26e5ad8058fbd78ae5583317ee78367062307b1205249c646b2'], + }), + ('OrderedCollections', '1.5.0', { + 'source_urls': ['https://github.com/JuliaCollections/OrderedCollections.jl/archive/'], + 'checksums': ['52489d9a431aa7087d02962112ea67d1be8ac17da1b7906a717d70588448975f'], + }), + ('DataStructures', '0.18.15', { + 'source_urls': ['https://github.com/JuliaCollections/DataStructures.jl/archive/'], + 'checksums': ['c37bf28d0105c2cba907d1301868e8701c862f180e3388229e42413fbbcc116c'], + }), + ('SortingAlgorithms', '1.1.0', { + 'source_urls': ['https://github.com/JuliaCollections/SortingAlgorithms.jl/archive/'], + 'checksums': ['bf9c1c1946c8eb058f9db66d59735cbf449407ab2dd301ccc561193057722cf3'], + }), + ('StatsBase', '0.34.0', { + 'source_urls': ['https://github.com/JuliaStats/StatsBase.jl/archive/'], + 'checksums': ['d6c12db91fadb484391529df5dabe06457c9aea0f27767958a5502f1d835fc8c'], + }), + ('Reexport', '1.2.2', { + 'source_urls': ['https://github.com/simonster/Reexport.jl/archive/'], + 'checksums': ['2566f7776aae9697cbf15765fc32187f46dd51200abc953a0266863ad67132b3'], + }), + ('JLLWrappers', '1.5.0', { + 'source_urls': ['https://github.com/JuliaPackaging/JLLWrappers.jl/archive/'], + 'checksums': ['6e83b81afd0c57636e80bcf52ad51f6ba43d98643cac999727b958d9ab3d4a01'], + }), + ('OpenSpecFun_jll', '0.5.5+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl/archive/'], + 'sources': ['OpenSpecFun-v%(version)s.tar.gz'], + 'checksums': ['6d1df617dd0a80fc0de5bc41a092e51f72782dbfd296c64e151707733cb57b6f'], + }), + ('SpecialFunctions', '2.3.1', { + 'source_urls': ['https://github.com/JuliaMath/SpecialFunctions.jl/archive/'], + 'checksums': ['c3197bfd8d2d90287a613c72b46ed04da69c6cf3870bae5ddbf9f4965f1f0823'], + }), + ('Calculus', '0.5.1', { + 'source_urls': ['https://github.com/JuliaMath/Calculus.jl/archive/'], + 'checksums': ['589a2b9ebdc9ccae98e2bb31b073f978e94d8e2125e14fd74aa1b3aa5746fe9a'], + }), + ('NaNMath', '1.0.2', { + 'source_urls': ['https://github.com/JuliaMath/NaNMath.jl/archive/'], + 'checksums': ['871f310dd1ad32f41e956f01d3149279e6b352fe459e40a334e9c076847fedd5'], + }), + ('DualNumbers', '0.6.8', { + 'source_urls': ['https://github.com/JuliaDiff/DualNumbers.jl/archive/'], + 'checksums': ['5d27ff5a2b0465377d6d3bc7ea9165ff31373e2909dcf786b0593fc8d6ddd31a'], + }), + ('HypergeometricFunctions', '0.3.23', { + 'source_urls': ['https://github.com/JuliaMath/HypergeometricFunctions.jl/archive/'], + 'checksums': ['54019965d08fa0097eaa418701ef3e271931aa9e76ae3b0d009d13a96c329b64'], + }), + ('Rmath_jll', '0.4.0+0', { + 'source_urls': ['https://github.com/JuliaBinaryWrappers/Rmath_jll.jl/archive/'], + 'sources': ['Rmath-v%(version)s.tar.gz'], + 'checksums': ['8cfe0bf37caa1297b3ea5d97bc29fae89bc41a25a723ef692f37d709f4e8c191'], + }), + ('Rmath', '0.7.1', { + 'source_urls': ['https://github.com/JuliaStats/Rmath.jl/archive/'], + 'checksums': ['4661107aca0c327849ec2635d282484d077518134ba69d741f2cb45efddd4b40'], + }), + ('StatsFuns', '1.3.0', { + 'source_urls': ['https://github.com/JuliaStats/StatsFuns.jl/archive/'], + 'checksums': ['0b1a8707b02cfd175c3d1e5b411625b380ffb4f280f05d177167515dbad3e007'], + }), + ('IteratorInterfaceExtensions', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/IteratorInterfaceExtensions.jl/archive/'], + 'checksums': ['c43dc43fc29c0c7aa738793c5a847ce29491c5fca1a0f0e434fff1bb1c5c7994'], + }), + ('TableTraits', '1.0.1', { + 'source_urls': ['https://github.com/queryverse/TableTraits.jl/archive/'], + 'checksums': ['a69811f66cd1b7a6d91a0da30bf8a3ab796138615c4ada2d0f4ec044313b32e2'], + }), + ('DataValueInterfaces', '1.0.0', { + 'source_urls': ['https://github.com/queryverse/DataValueInterfaces.jl/archive/'], + 'checksums': ['7f70be7cf1e49f7ce45bca8452193d08c2e75378f6b473205395c01010929825'], + }), + ('Tables', '1.11.0', { + 'source_urls': ['https://github.com/JuliaData/Tables.jl/archive/'], + 'checksums': ['663cfcd724a0388231f181c8be714fa53415dbe7c044cc2526721d6f3cec73b3'], + }), + ('StatsModels', '0.7.3', { + 'source_urls': ['https://github.com/JuliaStats/StatsModels.jl/archive/'], + 'checksums': ['6d9d14ab9dc25a74003e381dad48d74cc7e8547dbef875ef6dc9b4d672b0fc3d'], + }), + ('VersionParsing', '1.3.0', { + 'source_urls': ['https://github.com/JuliaInterop/VersionParsing.jl/archive/'], + 'checksums': ['f90fe419e1a40ef0eccfaaed1d1b7792d9115a059a82d0c23e3c04c944d0f8ca'], + }), + ('Conda', '1.9.1', { + 'source_urls': ['https://github.com/JuliaPy/Conda.jl/archive/'], + 'checksums': ['2a5e7074a36f885ee6020a077f55ba4d73963fdfcfe29d2567853dd9245f93de'], + }), + ('StringManipulation', '0.3.4', { + 'source_urls': ['https://github.com/ronisbr/StringManipulation.jl/archive/'], + 'checksums': ['5b2a606e8136a9b335ef4d62199a252b73b3ded614d519227929769542586cc0'], + }), + ('Crayons', '4.1.1', { + 'source_urls': ['https://github.com/KristofferC/Crayons.jl/archive/'], + 'checksums': ['ea708df14bd15293cb311978c9cd6b232f39d10f1d06c9e6bbecde7d4a0aa81a'], + }), + ('LaTeXStrings', '1.3.0', { + 'source_urls': ['https://github.com/JuliaStrings/LaTeXStrings.jl/archive/'], + 'checksums': ['9754cee3991d3a92827112b60064b381bec62e383634984dc0cad1fbc3301bda'], + }), + ('PrettyTables', '2.2.7', { + 'source_urls': ['https://github.com/ronisbr/PrettyTables.jl/archive/'], + 'checksums': ['6f38d8530c8da33e77bd6085b40c8daa2abf697a2bcbfdeeaa6b9f5a84eff72b'], + }), + ('PooledArrays', '1.4.3', { + 'source_urls': ['https://github.com/JuliaData/PooledArrays.jl/archive/'], + 'checksums': ['5500196c2d17233a35abb4c28a36e55d3ebba0940b1f8356ae5463f7e4c744da'], + }), + ('InvertedIndices', '1.3.0', { + 'source_urls': ['https://github.com/JuliaData/InvertedIndices.jl/archive/'], + 'checksums': ['86d6fed34f734811dc6878fdeab7e84f96963342839a2c355b25babbf1fb980a'], + }), + ('InlineStrings', '1.4.0', { + 'source_urls': ['https://github.com/JuliaStrings/InlineStrings.jl/archive/'], + 'checksums': ['700fbfaa7df0b6fead63a340d1c1f9033fc8d721a80b5bb8769eb399d3a4698d'], + }), + ('SentinelArrays', '1.4.0', { + 'source_urls': ['https://github.com/JuliaData/SentinelArrays.jl/archive/'], + 'checksums': ['816f12904041709aefb6b1fbfcaf4e21ac5e4dfb2bb3240fa68899f2023bea6e'], + }), + ('DataFrames', '1.6.1', { + 'source_urls': ['https://github.com/JuliaData/DataFrames.jl/archive/'], + 'checksums': ['2a72341a40860b45952ac7c2efee41e0f0ffb5faf7a59fbeb092dd49927d26c8'], + }), + ('Requires', '1.3.0', { + 'source_urls': ['https://github.com/JuliaPackaging/Requires.jl/archive/'], + 'checksums': ['8af4dac29839e796a651b8cb6a325b6f9c7eee5d5620b3e366b64f58325ebeb7'], + }), + (name, version, { + 'patches': ['RCall-0.13.17-disable_gpu_test.patch'], + 'source_urls': ['https://github.com/JuliaInterop/RCall.jl/archive/'], + 'checksums': [ + {'RCall-0.13.17.tar.gz': '0f706f4c0ac8739096ac2f3f032286b9a2b7419fa80443ec8f1a61817b61e51d'}, + {'RCall-0.13.17-disable_gpu_test.patch': + '2e66a68a62017f40eb7a3c00ab63482a4eed495d24fa9b5fc807baca72222d20'}, + ], + }), +] + +sanity_check_commands = ["julia -e 'using Pkg;Pkg.test(\"%(name)s\")'"] + +sanity_check_paths = { + 'files': [], + 'dirs': ['packages/%(name)s'], +} + +# When loading R and Julia, there seems to be a library collision and Julia (namely Pkg module) doesn't work properly +# This is a workaround to make Julia find the correct libraries +modluafooter = """ +prepend_path("LD_LIBRARY_PATH", os.getenv("EBROOTJULIA") .. "/lib/julia") +""" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..17b46ad32a5 --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '6.2.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d602151be5a --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-6.2.0-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '6.2.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..340bf45219e --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '7.0.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40'), + ('poetry', '1.5.1'), + ] + +dependencies = [('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06')] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4be8dccf690 --- /dev/null +++ b/easybuild/easyconfigs/r/RDFlib/RDFlib-7.0.0-GCCcore-13.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'RDFlib' +version = '7.0.0' + +homepage = 'https://github.com/RDFLib/rdflib' +description = """RDFLib is a Python library for working with RDF, a simple yet powerful language + for representing information.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +use_pip = True + +exts_list = [ + ('isodate', '0.6.1', { + 'checksums': ['48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9'], + }), + ('rdflib', version, { + 'checksums': ['9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2018.09.3-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2018.09.3-intel-2018b-Python-3.6.6.eb index 84be9e4f58f..5cec5783bdc 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2018.09.3-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2018.09.3-intel-2018b-Python-3.6.6.eb @@ -15,7 +15,7 @@ checksums = ['3be20bade43657c0d74617ab99ca30f872eaaedc314a87f690ac38e5ef590224'] builddependencies = [ ('CMake', '3.12.1'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2019.09.3-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2019.09.3-foss-2019b-Python-3.7.4.eb index d7db7604054..eb85dc0a82a 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2019.09.3-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2019.09.3-foss-2019b-Python-3.7.4.eb @@ -22,7 +22,7 @@ checksums = [ builddependencies = [ ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb index 9990f9acddb..3ddb556d58b 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-foss-2020a-Python-3.8.2.eb @@ -26,7 +26,7 @@ checksums = [ # https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source builddependencies = [ ('CMake', '3.16.4'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ @@ -44,10 +44,12 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' buildopts += 'ctest --output-on-failure' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb index 7715adac08e..33bde2b7c1f 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.03.3-intel-2020a-Python-3.8.2.eb @@ -26,7 +26,7 @@ checksums = [ # https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source builddependencies = [ ('CMake', '3.16.4'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ @@ -44,10 +44,12 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' # Exclude RGroup test on intel - https://github.com/rdkit/rdkit/issues/3291 buildopts += 'ctest --output-on-failure -E RGroup' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb index 17cc82723e1..501cd89e3bc 100644 --- a/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2020.09.3-foss-2019b-Python-3.7.4.eb @@ -24,7 +24,7 @@ checksums = [ # https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source builddependencies = [ ('CMake', '3.15.3'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('pkg-config', '0.29.2'), ] dependencies = [ @@ -42,12 +42,15 @@ separate_build_dir = True configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " +configopts += "-DBoost_NO_BOOST_CMAKE=ON " # merge source directory into build directory in order to run the tests buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + # 'ctest' allows to pass additional arguments opposed to 'make test' buildopts += 'ctest --output-on-failure ' + # Exclude RGroup test when using Intel compilers - https://github.com/rdkit/rdkit/issues/3291 # buildopts += '-E RGroup' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4-foss-2021a.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4-foss-2021a.eb new file mode 100644 index 00000000000..3146628e323 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4-foss-2021a.eb @@ -0,0 +1,79 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2021.03.4' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2021a'} +# avoid failing tests on skylake CPUs. comment out this line when building on CPUs that don't support AVX2 +# see also: https://github.com/rdkit/rdkit/issues/1674 +toolchainopts = {'optarch': 'mavx2', 'cstd': 'c++11'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +patches = [ + 'RDKit-%(version)s_skip-broken-test.patch', + 'RDKit-2021.03.4_fix-comic-neue-checksum.patch', +] +checksums = [ + 'bed309df7f1e2ea25736a986cf951325681142ee49468b1c62d020a109d2ef52', # Release_2021_03_4.tar.gz + '45869e01461b66e42c9305f5e8a65f696417e4777c2da60ef81d1e26e57d1b2e', # RDKit-2021.03.4_skip-broken-test.patch + '64d2c588203998c1da028b95032a7c006834e957f10c6335bb534148c0517dcb', # RDKit-2021.03.4_fix-comic-neue-checksum.patch +] + +# Dependencies varies from version to version +# https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('SQLite', '3.35.4'), + ('matplotlib', '3.4.2'), + ('Pillow', '8.2.0'), + ('Boost.Python', '1.76.0'), + ('cairo', '1.16.0'), +] + +separate_build_dir = True + +configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " +configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " +configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_fix-comic-neue-checksum.patch b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_fix-comic-neue-checksum.patch new file mode 100644 index 00000000000..3316f1a811c --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_fix-comic-neue-checksum.patch @@ -0,0 +1,17 @@ +As part of its installation, RDKit downloads a font package from https://fonts.google.com +and checks its md5sum. It appears the font package was modified and therefore a new md5sum +must be used. The authors of RDKit have updated the md5sum in the source code of RDKit but +no backward fix was made for already existing releases. This patch updates the md5 checksum +to the its new value. +Author: Robin Engler, SIB Swiss Institute for Bioinformatics +--- rdkit-Release_2021_03_4/Code/GraphMol/MolDraw2D/CMakeLists.txt.orig 2022-01-17 13:56:43.780726092 +0100 ++++ rdkit-Release_2021_03_4/Code/GraphMol/MolDraw2D/CMakeLists.txt 2022-01-17 13:57:02.668646178 +0100 +@@ -12,7 +12,7 @@ + set(needDownload "FALSE") + endif() + if(needDownload) +- set(MD5Sum "23ed3f833c1ae0adb141a26b4a30d73e") ++ set(MD5Sum "850b0df852f1cda4970887b540f8f333") + downloadAndCheckMD5("https://fonts.google.com/download?family=Comic%20Neue" + "${CMAKE_CURRENT_SOURCE_DIR}/Comic_Neue.zip" + ${MD5Sum}) diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_skip-broken-test.patch b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_skip-broken-test.patch new file mode 100644 index 00000000000..206f94fdba6 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2021.03.4_skip-broken-test.patch @@ -0,0 +1,13 @@ +skip broken test, see https://github.com/rdkit/rdkit/issues/3009 +author: Kenneth Hoste (HPC-UGent) +--- rdkit-Release_2021_03_4/Code/GraphMol/Wrap/rough_test.py.orig 2020-12-12 09:00:55.000000000 +0100 ++++ rdkit-Release_2021_03_4/Code/GraphMol/Wrap/rough_test.py 2021-01-05 11:43:13.850901127 +0100 +@@ -3945,7 +3945,7 @@ + self.assertEqual(v[0], 2) + self.assertEqual(v[1], 6) + +- def testCrambin(self): ++ def ignored_testCrambin(self): + crambinPdb = os.path.join(RDConfig.RDBaseDir, 'Code', 'GraphMol', 'FileParsers', 'test_data', + '1CRN.pdb') + crambin = Chem.MolFromPDBFile(crambinPdb) diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2022.03.5-foss-2021b.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2022.03.5-foss-2021b.eb new file mode 100644 index 00000000000..f551d9ac7c1 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2022.03.5-foss-2021b.eb @@ -0,0 +1,77 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2022.03.5' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2021b'} +# avoid failing tests on skylake CPUs. comment out this line when building on CPUs that don't support AVX2 +# see also: https://github.com/rdkit/rdkit/issues/1674 +toolchainopts = {'optarch': 'mavx2', 'cstd': 'c++11'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +patches = [ + 'RDKit-2021.03.4_skip-broken-test.patch', +] +checksums = [ + '38e6fb9f063b6132310f17e654f2c4350876f9164b0a17b49fe3df7d0555a744', # Release_2022_03_5.tar.gz + '45869e01461b66e42c9305f5e8a65f696417e4777c2da60ef81d1e26e57d1b2e', # RDKit-2021.03.4_skip-broken-test.patch +] + +# Dependencies varies from version to version +# https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source +builddependencies = [ + ('CMake', '3.22.1'), + ('Eigen', '3.4.0'), + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('SQLite', '3.36'), + ('matplotlib', '3.4.3'), + ('Pillow', '8.3.2'), + ('Boost.Python', '1.77.0'), + ('cairo', '1.16.0'), +] + +separate_build_dir = True + +configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " +configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " +configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb new file mode 100644 index 00000000000..d3156eb8986 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2022.09.4-foss-2022a.eb @@ -0,0 +1,77 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2022.09.4' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2022a'} +# avoid failing tests on skylake CPUs. comment out this line when building on CPUs that don't support AVX2 +# see also: https://github.com/rdkit/rdkit/issues/1674 +toolchainopts = {'optarch': 'mavx2', 'cstd': 'c++11'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +patches = [ + 'RDKit-2021.03.4_skip-broken-test.patch', +] +checksums = [ + {'Release_2022_09_4.tar.gz': 'edd30682cc3031cf3f2b1a400f453629db332a1018f355cd3f7ff76b2f7f5398'}, + {'RDKit-2021.03.4_skip-broken-test.patch': '45869e01461b66e42c9305f5e8a65f696417e4777c2da60ef81d1e26e57d1b2e'}, +] + +# Dependencies varies from version to version +# https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source +builddependencies = [ + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), + ('pkgconf', '1.8.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SQLite', '3.38.3'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), + ('Boost.Python', '1.79.0'), + ('cairo', '1.17.4'), +] + +separate_build_dir = True + +configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " +configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " +configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2023.03.3-foss-2021a.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2023.03.3-foss-2021a.eb new file mode 100644 index 00000000000..c9222722632 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2023.03.3-foss-2021a.eb @@ -0,0 +1,77 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2023.03.3' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2021a'} +# avoid failing tests on skylake CPUs. comment out this line when building on CPUs that don't support AVX2 +# see also: https://github.com/rdkit/rdkit/issues/1674 +toolchainopts = {'optarch': 'mavx2', 'cstd': 'c++11'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +patches = [ + 'RDKit-2021.03.4_skip-broken-test.patch', +] +checksums = [ + {'Release_2023_03_3.tar.gz': 'bdbf9a2e6988526bfeb8c56ce3cdfe2998d60ac289078e2215374288185e8c8d'}, + {'RDKit-2021.03.4_skip-broken-test.patch': '45869e01461b66e42c9305f5e8a65f696417e4777c2da60ef81d1e26e57d1b2e'}, +] + +# Dependencies varies from version to version +# https://rdkit.readthedocs.io/en/latest/Install.html#installing-prerequisites-from-source +builddependencies = [ + ('CMake', '3.20.1'), + ('Eigen', '3.3.9'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('SQLite', '3.35.4'), + ('matplotlib', '3.4.2'), + ('Pillow', '8.2.0'), + ('Boost.Python', '1.76.0'), + ('cairo', '1.16.0'), +] + +separate_build_dir = True + +configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " +configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " +configopts += "-DBoost_INCLUDE_DIR=$EBROOTBOOST/include -DBoost_LIBRARY_DIR_RELEASE=$EBROOTBOOST/lib " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RDKit/RDKit-2024.03.3-foss-2023a.eb b/easybuild/easyconfigs/r/RDKit/RDKit-2024.03.3-foss-2023a.eb new file mode 100644 index 00000000000..5af2865d609 --- /dev/null +++ b/easybuild/easyconfigs/r/RDKit/RDKit-2024.03.3-foss-2023a.eb @@ -0,0 +1,73 @@ +easyblock = 'CMakeMake' + +name = 'RDKit' +version = '2024.03.3' + +homepage = 'https://www.rdkit.org' +description = "RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python." + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/rdkit/rdkit/archive/'] +sources = ['Release_%s.tar.gz' % version.replace('.', '_')] +checksums = ['52f79c6bf1d446cdb5c86a35de655d96bad0c52a5f4ecbe15f08eaf334e6f76a'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('SQLite', '3.42.0'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('Boost.Python', '1.82.0'), + ('cairo', '1.17.8'), +] + +separate_build_dir = True + +configopts = "-DPy_ENABLE_SHARED=1 -DRDK_INSTALL_STATIC_LIBS=OFF -DRDK_INSTALL_INTREE=OFF " +configopts += "-DRDK_BUILD_INCHI_SUPPORT=ON " +configopts += "-DBOOST_ROOT=$EBROOTBOOST" + +# ingnore failing test pythonSourceTests - from . import rdBase failing +prebuildopts = "sed -i '22d' %(builddir)s/rdkit-Release_2024_03_3/rdkit/CMakeLists.txt && " +# ignore failing testUFFAngleConstraints +# https://github.com/rdkit/rdkit/discussions/7588 +prebuildopts += "sed -i 's/def testUFFAngleConstraints(self):/def ignore_testUFFAngleConstraints(self):/' " +prebuildopts += "%(builddir)s/rdkit-Release_2024_03_3/Code/ForceField/Wrap/testConstraints.py && " + +# merge source directory into build directory in order to run the tests +buildopts = '&& cp -RT %(builddir)s/%(namelower)s-*/ ./ && ' +buildopts += 'export RDBASE=$PWD && export PYTHONPATH=$PWD:$PYTHONPATH && ' + +# Specify path for libraries so that they are found during the tests when the module is built with --rpath flag. +buildopts += 'export LD_LIBRARY_PATH=%(builddir)s/easybuild_obj/lib:${LD_LIBRARY_PATH} && ' + +# 'ctest' allows to pass additional arguments opposed to 'make test' +buildopts += 'ctest --output-on-failure' + +local_libs = ['Alignment', 'Catalogs', 'ChemicalFeatures', 'ChemReactions', 'ChemTransforms', 'coordgen', 'DataStructs', + 'Depictor', 'Descriptors', 'DistGeometry', 'DistGeomHelpers', 'EigenSolvers', 'FileParsers', + 'FilterCatalog', 'Fingerprints', 'FMCS', 'ForceFieldHelpers', 'ForceField', 'FragCatalog', 'GraphMol', + 'hc', 'InfoTheory', 'maeparser', 'MMPA', 'MolAlign', 'MolCatalog', 'MolChemicalFeatures', 'MolDraw2D', + 'MolHash', 'MolInterchange', 'MolStandardize', 'MolTransforms', 'Optimizer', 'PartialCharges', 'RDBoost', + 'RDGeneral', 'RDGeometryLib', 'RDStreams', 'ReducedGraphs', 'RGroupDecomposition', 'RingDecomposerLib', + 'ScaffoldNetwork', 'ShapeHelpers', 'SimDivPickers', 'SLNParse', 'SmilesParse', 'Subgraphs', + 'SubstructLibrary', 'SubstructMatch', 'Trajectory'] + +sanity_check_paths = { + 'files': ['lib/libRDKit%s.%s' % (x, SHLIB_EXT) for x in local_libs], + 'dirs': ['include/rdkit', 'lib/python%(pyshortver)s/site-packages/rdkit'], +} + +sanity_check_commands = [ + "python -c 'import rdkit.rdBase'", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RDP-Classifier/RDP-Classifier-2.13-Java-17.eb b/easybuild/easyconfigs/r/RDP-Classifier/RDP-Classifier-2.13-Java-17.eb new file mode 100644 index 00000000000..2150bc84025 --- /dev/null +++ b/easybuild/easyconfigs/r/RDP-Classifier/RDP-Classifier-2.13-Java-17.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'RDP-Classifier' +version = '2.13' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://sourceforge.net/projects/rdp-classifier' +description = """The RDP Classifier is a naive Bayesian classifier that can rapidly and accurately provides taxonomic + assignments from domain to genus, with confidence estimates for each assignment.""" + +toolchain = SYSTEM + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['rdp_classifier_%(version)s.zip'] +checksums = ['d2eb9a989d7e31ff824de6876bc1d8ab70d97112ece167afe8d87a3cd412086a'] + +dependencies = [('Java', '17')] + +modextrapaths = { + 'CLASSPATH': 'dist/classifier.jar', + 'RDP_JAR_PATH': 'dist/classifier.jar', +} + +sanity_check_paths = { + 'files': ['dist/classifier.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..90c87d7d9d8 --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2022-02-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': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9c1e6acfd0fed71f40b025a7a1dabaf3ee2ebb74d64ced1f9ee1b0b01d22fd27'] + +builddependencies = { + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..efbb084d3ec --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2022-02-01-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2022-02-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': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['9c1e6acfd0fed71f40b025a7a1dabaf3ee2ebb74d64ced1f9ee1b0b01d22fd27'] + +builddependencies = { + ('binutils', '2.37'), + ('CMake', '3.21.1'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2022-06-01-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2022-06-01-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6180050adea --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2022-06-01-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2022-06-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': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['f89c61410a072e5cbcf8c27e3a778da7d6fd2f2b5b1445cd4f4508bee946ab0f'] + +builddependencies = { + ('binutils', '2.38'), + ('CMake', '3.23.1'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b43aca00751 --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2023-03-01-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +## +# Author: Robert Mijakovic +## +easyblock = "CMakeMake" + +name = 'RE2' +version = '2023-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': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['7a9a4824958586980926a300b4717202485c4b4115ac031822e29aa4ef207e48'] + +builddependencies = { + ('binutils', '2.39'), + ('CMake', '3.24.3'), +} + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RE2/RE2-2023-08-01-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/RE2/RE2-2023-08-01-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b57a4ad6e9b --- /dev/null +++ b/easybuild/easyconfigs/r/RE2/RE2-2023-08-01-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = "CMakeMake" + +name = 'RE2' +version = '2023-08-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': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'google' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['d82d0efe2389949244445e7a6ac9a10fccc3d6a3d267ec4652991a51291647b0'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Abseil', '20230125.3'), +] + +sanity_check_paths = { + 'files': ['lib/libre2.a'], + 'dirs': ['include/re2'], +} + +moduleclass = 'lib' 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/RECON/RECON-1.08-GCC-11.3.0.eb b/easybuild/easyconfigs/r/RECON/RECON-1.08-GCC-11.3.0.eb new file mode 100644 index 00000000000..4d030563a47 --- /dev/null +++ b/easybuild/easyconfigs/r/RECON/RECON-1.08-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'MakeCp' + +name = 'RECON' +version = '1.08' + +homepage = 'https://www.repeatmasker.org/RepeatModeler/' +description = """Patched version of RECON to be used with RepeatModeler.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://www.repeatmasker.org/RepeatModeler/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['699765fa49d18dbfac9f7a82ecd054464b468cb7521abe9c2bd8caccf08ee7d8'] + +dependencies = [('Perl', '5.34.1')] + +start_dir = 'src' + +buildopts = 'CC="$CC"' + +local_bins = ['edgeredef', 'eledef', 'eleredef', 'famdef', 'imagespread'] +local_scripts = ['scripts/%s' % x for x in ['MSPCollect.pl', 'recon.pl']] + +files_to_copy = [ + (['src/%s' % x for x in local_bins], 'bin'), + 'scripts', 'COPYRIGHT', 'LICENSE', '00README', +] + +postinstallcmds = ["sed -i 's|$path = \"\"|$path = \"%(installdir)s/bin\"|g' %(installdir)s/scripts/recon.pl"] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + local_scripts, + 'dirs': [], +} + +sanity_check_commands = [("recon.pl 2>&1 | grep 'usage: recon seq_name_list_file MSP_file integer'", '')] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RELION/RELION-2.1-foss-2018a-CUDA-9.1.85.eb b/easybuild/easyconfigs/r/RELION/RELION-2.1-foss-2018a-CUDA-9.1.85.eb index 747d228757a..c9c0251c232 100644 --- a/easybuild/easyconfigs/r/RELION/RELION-2.1-foss-2018a-CUDA-9.1.85.eb +++ b/easybuild/easyconfigs/r/RELION/RELION-2.1-foss-2018a-CUDA-9.1.85.eb @@ -23,7 +23,7 @@ checksums = [ builddependencies = [('CMake', '3.10.1')] dependencies = [ - ('CUDA', local_cuda_ver, '', True), + ('CUDA', local_cuda_ver, '', SYSTEM), ('X11', '20180131'), ('FLTK', '1.3.4'), ] diff --git a/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9ebc11b3bd2 --- /dev/null +++ b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'RFdiffusion' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/RosettaCommons/RFdiffusion' +description = """ +RFdiffusion is an open source method for structure generation, with or without conditional information +(a motif, target etc). It can perform a whole range of protein design challenges as we have outlined +in the RFdiffusion paper. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('e3nn', '0.3.3', versionsuffix), + ('wandb', '0.13.4'), +] + +use_pip = True + +exts_list = [ + ('pynvml', '11.0.0', { + 'checksums': ['d5fc4a22d355b40c341d6ba0aa888a2d4d2253177d243900f8401b7e6cacb1bb'], + }), + ('dllogger', '1.0.0', { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags'], + 'sources': ['v%(version)s.zip'], + 'checksums': ['07d0cd9b9b56f454f0c186a0889137e9f94e1979fca3d35911967c874c93c191'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('se3-transformer', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/RosettaCommons/RFdiffusion/archive/refs/tags'], + 'start_dir': 'env/SE3Transformer', + 'checksums': ['57d82f0d43540c2912eda3f1d34ad90b13db14966ee069c427e217fe78f0297f'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-find-packages.patch'], + 'sources': { + 'filename': '%(name)s-%(version)s.tar.gz', + 'download_filename': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/RosettaCommons/RFdiffusion/archive/refs/tags'], + }, + 'checksums': [ + {'RFdiffusion-1.1.0.tar.gz': '57d82f0d43540c2912eda3f1d34ad90b13db14966ee069c427e217fe78f0297f'}, + {'RFdiffusion-1.1.0_fix-find-packages.patch': + 'e25da7f476acacb6af58bd84f40aca712538900b0b48532b22f9a133d6886da2'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a.eb b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a.eb new file mode 100644 index 00000000000..04ca8f30e95 --- /dev/null +++ b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'RFdiffusion' +version = '1.1.0' + +homepage = 'https://github.com/RosettaCommons/RFdiffusion' +description = """ +RFdiffusion is an open source method for structure generation, with or without conditional information +(a motif, target etc). It can perform a whole range of protein design challenges as we have outlined +in the RFdiffusion paper. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('e3nn', '0.3.3'), + ('wandb', '0.13.4'), +] + +use_pip = True + +exts_list = [ + ('pynvml', '11.0.0', { + 'checksums': ['d5fc4a22d355b40c341d6ba0aa888a2d4d2253177d243900f8401b7e6cacb1bb'], + }), + ('dllogger', '1.0.0', { + 'source_urls': ['https://github.com/NVIDIA/dllogger/archive/refs/tags'], + 'sources': ['v%(version)s.zip'], + 'checksums': ['07d0cd9b9b56f454f0c186a0889137e9f94e1979fca3d35911967c874c93c191'], + }), + ('decorator', '5.1.1', { + 'checksums': ['637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330'], + }), + ('se3-transformer', version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/RosettaCommons/RFdiffusion/archive/refs/tags'], + 'start_dir': 'env/SE3Transformer', + 'checksums': ['57d82f0d43540c2912eda3f1d34ad90b13db14966ee069c427e217fe78f0297f'], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-find-packages.patch'], + 'source_urls': ['https://github.com/RosettaCommons/RFdiffusion/archive/refs/tags'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': [ + {'v1.1.0.tar.gz': '57d82f0d43540c2912eda3f1d34ad90b13db14966ee069c427e217fe78f0297f'}, + {'RFdiffusion-1.1.0_fix-find-packages.patch': + 'e25da7f476acacb6af58bd84f40aca712538900b0b48532b22f9a133d6886da2'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0_fix-find-packages.patch b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0_fix-find-packages.patch new file mode 100644 index 00000000000..3dbe92b07f4 --- /dev/null +++ b/easybuild/easyconfigs/r/RFdiffusion/RFdiffusion-1.1.0_fix-find-packages.patch @@ -0,0 +1,22 @@ +Fix version and switch setup.py from distutils to setuptools to fix find packages +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff --git a/setup.py b/setup.py +index 2761c12..6eb62b6 100644 +--- a/setup.py ++++ b/setup.py +@@ -1,10 +1,10 @@ +-from distutils.core import setup ++from setuptools import setup, find_packages + + setup(name='rfdiffusion', +- version='1.0.0', ++ version='1.1.0', + description='RFdiffusion is an open source method for protein structure generation.', + author='Rosetta Commons', + url='https://github.com/RosettaCommons/RFdiffusion', + scripts=["scripts/run_inference.py"], +- packages=["rfdiffusion"], +- install_requires=['torch', 'se3-transformer']) +\ No newline at end of file ++ packages=find_packages(), ++ install_requires=['torch', 'se3-transformer']) diff --git a/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.11-foss-2023a.eb b/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.11-foss-2023a.eb new file mode 100644 index 00000000000..d218a83dc02 --- /dev/null +++ b/easybuild/easyconfigs/r/RHEIA/RHEIA-1.1.11-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'RHEIA' +version = '1.1.11' + +homepage = 'https://github.com/rheia-framework/RHEIA' +description = "Robust design optimization of renewable Hydrogen and dErIved energy cArrier systems" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # deap, numpy, pandas, scipy + ('h5py', '3.9.0'), + ('matplotlib', '3.7.2'), +] + +use_pip = True + +exts_list = [ + ('pvlib', '0.11.0', { + 'checksums': ['88b31c44dc07f0435af1e2d5ddcac067e6ce15917251a9f270366f61e9bd015b'], + }), + ('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': ['d6b1ea991f6338cca136b59e8e413bae2167c5ebd631163ec68fafe0040aa143'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' 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/RInChI/RInChI-1.00-x86_64.eb b/easybuild/easyconfigs/r/RInChI/RInChI-1.00-x86_64.eb new file mode 100644 index 00000000000..98356fae35c --- /dev/null +++ b/easybuild/easyconfigs/r/RInChI/RInChI-1.00-x86_64.eb @@ -0,0 +1,64 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +# A makefile is provided to build the librinchi.so.1.0.0 library BUT +# no information about how to build the command line tool rinchi_cmdline. +# +# Also tests look broken, or incomplete. +# +# SO use the pre-compiled binaries! +## + +easyblock = 'Binary' + +name = 'RInChI' +version = '1.00' +versionsuffix = '-x86_64' + +# NOTE not in the license list of EB +# software_license = 'IUPAC/InChI-Trust Licence' +software_license_urls = ['https://www.inchi-trust.org/download/RInChI/LICENCES.zip'] +docurls = [ + 'https://www.inchi-trust.org/download/RInChI/RInChI%20V1-00-0.pdf', +] + +homepage = 'https://www.inchi-trust.org/' +description = """The reaction IUPAC International Chemical Identifier (RInChI TM) is a non-proprietary +identifier for chemical reactions that can be used in printed and electronic +data sources thus enabling easier linking of diverse data compilations.""" + +toolchain = SYSTEM + +source_urls = ['https://www.inchi-trust.org/download/RInChI/'] +sources = ['RInChI-V%(version_major)s-%(version_minor)s.zip'] +checksums = ['e115b941185ee64e444bfbd57f1b9e80d7fd14e39bc803975843dfface2a163c'] + + +extract_sources = True + +install_cmd = 'mkdir -p %(installdir)s/bin/ && ' +install_cmd += 'install bin/rinchi_cmdline/linux/x86_64/* %(installdir)s/bin/ && ' +install_cmd += 'cp docs/* rinchi/LICENCES/* %(installdir)s/ && ' +install_cmd += 'mkdir -p %(installdir)s/lib64/ && ' +install_cmd += 'install bin/rinchi_lib/linux/x86_64/* %(installdir)s/lib64/' + +# NOTE librinchi.so are not symlinks in the final build, but redundant copies! +# NOTE `keepsymlinks = True` does not look to do it, so use this trick +postinstallcmds = ["cd %(installdir)s/lib64/ && " + "ln -s librinchi.so.1.* librinchi.so.1.0 && " + "ln -s librinchi.so.1.0 librinchi.so.1 && " + "ln -s librinchi.so.1 librinchi.so"] + + +sanity_check_paths = { + 'files': ["bin/rinchi_cmdline", "lib64/librinchi.so", "RINCHI_LICENCE.TXT"], + 'dirs': ['lib64'] +} + +# NOTE help message returns a non-zero exit code. So use this trick +sanity_check_commands = ["rinchi_cmdline 2>&1 | grep 'Usage: rinchi_cmdline'"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb b/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb new file mode 100644 index 00000000000..b0c6e795abf --- /dev/null +++ b/easybuild/easyconfigs/r/RLCard/RLCard-1.0.9-foss-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'RLCard' +version = '1.0.9' + +homepage = 'https://www.rlcard.org' +description = "RLCard is a toolkit for Reinforcement Learning (RL) in card games." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0'), + ('GitPython', '3.1.27'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + # stick to termcolor 1.x, to avoid hatchling required dependency + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('rlcard', version, { + 'checksums': ['6454d2203220b7acff855cad35c9e24aabadfd664048aee45054a04adc842c75'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb new file mode 100644 index 00000000000..8a5f50b763d --- /dev/null +++ b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.13.0-gompi-2022a.eb @@ -0,0 +1,63 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'RMBlast' +version = '2.13.0' + +homepage = 'https://www.repeatmasker.org/rmblast/' +description = """RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary + difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' + for use with RepeatMasker and RepeatModeler.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +# RMBlast is distributed as a patch that applies on top of BLAST+ +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +patches = [('https://www.repeatmasker.org/%(namelower)s/isb-%(version)s+-%(namelower)s.patch.gz', 2)] +checksums = [ + {'ncbi-blast-2.13.0+-src.tar.gz': '89553714d133daf28c477f83d333794b3c62e4148408c072a1b4620e5ec4feb2'}, + {'isb-2.13.0+-rmblast.patch.gz': '06595546318577b450e4a82c641017b2818b1741446e7ac675d82aef3d8f7f3d'}, +] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost.MPI', '1.79.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), +] + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +prebuildopts = "sed -i 's/LIBS =/LIBS = $(BLAST_THIRD_PARTY_LIBS)/' src/app/rmblastn/Makefile.rmblastn.app && " + +sanity_check_paths = { + 'files': ['bin/blastp', 'bin/blastn', 'bin/deltablast', 'bin/rmblastn'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.0-gompi-2021a.eb b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.0-gompi-2021a.eb new file mode 100644 index 00000000000..0a3059df10a --- /dev/null +++ b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.0-gompi-2021a.eb @@ -0,0 +1,63 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +## + +easyblock = 'ConfigureMake' + +name = 'RMBlast' +version = '2.14.0' + +homepage = 'https://www.repeatmasker.org/rmblast/' +description = """RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary + difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' + for use with RepeatMasker and RepeatModeler.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +# RMBlast is distributed as a patch that applies on top of BLAST+ +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +patches = [('https://www.repeatmasker.org/%(namelower)s/isb-%(version)s+-%(namelower)s.patch.gz', 2)] +checksums = [ + {'ncbi-blast-2.14.0+-src.tar.gz': 'bf477f1b0c3b82f0b7a7094bf003a9a83e37e3b0716c1df799060c4feab17500'}, + {'isb-2.14.0+-rmblast.patch.gz': '9de0e67467a4cffdde0c5f67e3658fb52ed313e4550f9a36a251bddb2ba33f49'}, +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('PCRE', '8.44'), + ('Boost.MPI', '1.76.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), +] + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +prebuildopts = "sed -i 's/LIBS =/LIBS = $(BLAST_THIRD_PARTY_LIBS)/' src/app/rmblastn/Makefile.rmblastn.app && " + +sanity_check_paths = { + 'files': ['bin/blastp', 'bin/blastn', 'bin/deltablast', 'bin/rmblastn'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.1-gompi-2023a.eb b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.1-gompi-2023a.eb new file mode 100644 index 00000000000..22e6ed85f93 --- /dev/null +++ b/easybuild/easyconfigs/r/RMBlast/RMBlast-2.14.1-gompi-2023a.eb @@ -0,0 +1,65 @@ +## +# EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: 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: https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-94.html +# +# Update: Petr Král (INUITS) +## + +easyblock = 'ConfigureMake' + +name = 'RMBlast' +version = '2.14.1' + +homepage = 'https://www.repeatmasker.org/rmblast/' +description = """RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary + difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' + for use with RepeatMasker and RepeatModeler.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'usempi': True} + +# RMBlast is distributed as a patch that applies on top of BLAST+ +source_urls = ['https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/%(version)s/'] +sources = ['ncbi-blast-%(version)s+-src.tar.gz'] +patches = [('https://www.repeatmasker.org/%(namelower)s/isb-%(version)s+-%(namelower)s.patch.gz', 2)] +checksums = [ + {'ncbi-blast-2.14.1+-src.tar.gz': '712c2dbdf0fb13cc1c2d4f4ef5dd1ce4b06c3b57e96dfea8f23e6e99f5b1650e'}, + {'isb-2.14.1+-rmblast.patch.gz': '9c8091eb2aec97ac83287859d2bfec83cb08c082d5a121cbefe3cc626f933763'}, +] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('PCRE', '8.45'), + ('Boost.MPI', '1.82.0'), + ('GMP', '6.2.1'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('LMDB', '0.9.31'), +] + +# Disable auto-vectorization for the API on CPUs with AVX512 (Intel Skylake and onwards) +# Compilation fails on src/algo/blast/api/prelim_stage.cpp +local_apimake = 'src/algo/blast/api/Makefile.xblast.lib' +preconfigopts = "sed -i 's/FAST_CXXFLAGS)/FAST_CXXFLAGS) -fno-tree-vectorize/g' %s &&" % local_apimake + +configopts = "--with-64 --with-z=$EBROOTZLIB --with-bz2=$EBROOTBZIP2 " +configopts += "--with-pcre=$EBROOTPCRE --with-boost=$EBROOTBOOST " +configopts += "--with-gmp=$EBROOTGMP --with-png=$EBROOTLIBPNG " +configopts += "--with-jpeg=$EBROOTLIBJPEGMINTURBO --with-lmdb=$EBROOTLMDB" + +prebuildopts = "sed -i 's/LIBS =/LIBS = $(BLAST_THIRD_PARTY_LIBS)/' src/app/rmblastn/Makefile.rmblastn.app && " + +sanity_check_paths = { + 'files': ['bin/blastp', 'bin/blastn', 'bin/deltablast', 'bin/rmblastn'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.2.3-GCC-8.3.0.eb b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.2.3-GCC-8.3.0.eb index dbd242572b8..babe47dcf73 100644 --- a/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.2.3-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.2.3-GCC-8.3.0.eb @@ -13,7 +13,7 @@ sources = ['rnabloom_v%(version)s.tar.gz'] checksums = ['7418761ff99f24f0edc23772cfa517c3d7401eac98642dcb017d48fb35c6ee4a'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('minimap2', '2.17'), ('Racon', '1.4.13'), ('ntCard', '1.2.1'), diff --git a/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.4.3-GCC-11.2.0.eb b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.4.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..86df5571106 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-Bloom/RNA-Bloom-1.4.3-GCC-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'Tarball' + +name = 'RNA-Bloom' +version = '1.4.3' + +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': '11.2.0'} + +source_urls = ['https://github.com/bcgsc/%(name)s/releases/download/v%(version)s'] +sources = ['rnabloom_v%(version)s.tar.gz'] +checksums = ['819274d674fe350ae3a1e1136618d52a8abb941280f604c6777ea4540b299a38'] + +dependencies = [ + ('Java', '1.8', '', SYSTEM), + ('minimap2', '2.24'), + ('Racon', '1.5.0'), + ('ntCard', '1.2.1'), +] + +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/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/RNA-SeQC/RNA-SeQC-1.1.8-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..b2abeb093c0 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-GCCcore-11.2.0-Java-11.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'JAR' + +name = 'RNA-SeQC' +version = '1.1.8' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://software.broadinstitute.org/cancer/cga/rna-seqc' +description = """RNA-SeQC is a java program which computes a series of quality control metrics for + RNA-seq data. The input can be one or more BAM files. The output consists of HTML reports and tab + delimited files of metrics data. This program can be valuable for comparing sequencing quality + across different samples or experiments to evaluate different experimental parameters. It can + also be run on individual samples as a means of quality control before continuing with downstream + analysis.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://data.broadinstitute.org/cancer/cga/tools/rnaseqc/'] +sources = ['%(name)s_v%(version)s.jar'] +checksums = ['0a6a8cc885e77c7e7b75dafcfd2152e0d1031fa7aba2565250a46fbd98979793'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('BWA', '0.7.17'), + ('Java', '11', '', SYSTEM), +] + +modloadmsg = "To execute RNA-SeQC run: java -jar $EBROOTRNAMINSEQC/%(name)s_v%(version)s.jar" + +sanity_check_paths = { + 'files': ['%(name)s_v%(version)s.jar'], + 'dirs': [''], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2016b-Java-1.8.0_121.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2016b-Java-1.8.0_121.eb index 9ff75608237..f6ee37eac64 100644 --- a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2016b-Java-1.8.0_121.eb +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2016b-Java-1.8.0_121.eb @@ -22,7 +22,7 @@ checksums = ['0a6a8cc885e77c7e7b75dafcfd2152e0d1031fa7aba2565250a46fbd98979793'] dependencies = [ ('BWA', '0.7.16a'), - ('Java', '1.8.0_121', '', True), + ('Java', '1.8.0_121', '', SYSTEM), ] modloadmsg = """To execute RNA-SeQC run: java -jar $EBROOTRNAMINSEQC/%(name)s_v%(version)s.jar\n""" diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2018b-Java-1.8.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2018b-Java-1.8.eb index 75bf91935f7..22e20680911 100644 --- a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2018b-Java-1.8.eb +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-1.1.8-foss-2018b-Java-1.8.eb @@ -22,7 +22,7 @@ checksums = ['0a6a8cc885e77c7e7b75dafcfd2152e0d1031fa7aba2565250a46fbd98979793'] dependencies = [ ('BWA', '0.7.17'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ] modloadmsg = "To execute RNA-SeQC run: java -jar $EBROOTRNAMINSEQC/%(name)s_v%(version)s.jar" diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb new file mode 100644 index 00000000000..bb93b2f1d82 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021a.eb @@ -0,0 +1,67 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'RNA-SeQC' +version = '2.4.2' + +homepage = "https://github.com/getzlab/rnaseqc" +description = """Fast, efficient RNA-Seq metrics for quality control and process optimization""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'extra_cflags': '-fpermissive'} + +dependencies = [ + ('bx-python', '0.8.11'), + ('bzip2', '1.0.8'), + ('IPython', '7.25.0'), + ('matplotlib', '3.4.2'), + ('pyBigWig', '0.3.18'), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Seaborn', '0.11.2'), + ('Boost', '1.76.0'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pycryptodomex', '3.9.8', { + 'modulename': 'Cryptodome', + 'checksums': ['48cc2cfc251f04a6142badeb666d1ff49ca6fdfc303fd72579f62b768aaa52b9'], + }), + ('rsa', '4.6', { + 'checksums': ['109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa'], + }), + ('agutil', '4.1.1', { + 'preinstallopts': r"sed -i 's/package\.req/package.requirement/g' setup.py &&", + 'checksums': ['e58ed53ae209007328311603bd6e05e8cd2c509204b5e542c87f971a2530fb0d'], + }), + ('qtl', '0.1.8', { + 'checksums': ['8fdb99cda1ceff578a233db6c15a944fa57b43a2826af41c292e36848906117b'], + }), + ('rnaseqc', '0.0.3', { + # Build RNA-SeQC in the preinstall opts for the associated Python package + # RNA-SeQC bundles SeqLib, with HTSlib and BWA. These are old versions so we cannot use deps here + # rnaseqc version is from python/rnaseqc/__init__.py in the RNA-SeQC source code + 'patches': [ + 'RNA-SeQC-2.4.2_Makefile.patch', + 'RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch', + ], + 'source_tmpl': 'rnaseqc.v2.4.2.full_source.tar.gz', + 'source_urls': ['https://github.com/getzlab/rnaseqc/releases/download/v2.4.2'], + 'checksums': [ + 'b214151408696430aead56921b255e2b09efe5f6087a68446deae399227a1303', # rnaseqc.v2.4.2.full_source.tar.gz + '05b537eeef398646f51552c1dd26333e268b9b9eb3af2148681cb40ea0a5e4ba', # RNA-SeQC-2.4.2_Makefile.patch + # RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch + 'efb9ab63932bf25f3589de1e8f0c17bc1ef5ae928ba73e55d430b8a9761209cb', + ], + 'preinstallopts': "make && mkdir -p %(installdir)s/bin && cp rnaseqc %(installdir)s/bin/. && cd python &&", + }), +] + +sanity_check_commands = ["rnaseqc --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb new file mode 100644 index 00000000000..9f5a991db00 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2-foss-2021b.eb @@ -0,0 +1,67 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonBundle' + +name = 'RNA-SeQC' +version = '2.4.2' + +homepage = "https://github.com/getzlab/rnaseqc" +description = """Fast, efficient RNA-Seq metrics for quality control and process optimization""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'extra_cflags': '-fpermissive'} + +dependencies = [ + ('bx-python', '0.8.13'), + ('bzip2', '1.0.8'), + ('IPython', '7.26.0'), + ('matplotlib', '3.4.3'), + ('pyBigWig', '0.3.18'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Seaborn', '0.11.2'), + ('Boost', '1.77.0'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pycryptodomex', '3.9.8', { + 'modulename': 'Cryptodome', + 'checksums': ['48cc2cfc251f04a6142badeb666d1ff49ca6fdfc303fd72579f62b768aaa52b9'], + }), + ('rsa', '4.6', { + 'checksums': ['109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa'], + }), + ('agutil', '4.1.1', { + 'preinstallopts': r"sed -i 's/package\.req/package.requirement/g' setup.py &&", + 'checksums': ['e58ed53ae209007328311603bd6e05e8cd2c509204b5e542c87f971a2530fb0d'], + }), + ('qtl', '0.1.8', { + 'checksums': ['8fdb99cda1ceff578a233db6c15a944fa57b43a2826af41c292e36848906117b'], + }), + ('rnaseqc', '0.0.3', { + # Build RNA-SeQC in the preinstall opts for the associated Python package + # RNA-SeQC bundles SeqLib, with HTSlib and BWA. These are old versions so we cannot use deps here + # rnaseqc version is from python/rnaseqc/__init__.py in the RNA-SeQC source code + 'patches': [ + 'RNA-SeQC-2.4.2_Makefile.patch', + 'RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch', + ], + 'source_tmpl': 'rnaseqc.v2.4.2.full_source.tar.gz', + 'source_urls': ['https://github.com/getzlab/rnaseqc/releases/download/v2.4.2'], + 'checksums': [ + 'b214151408696430aead56921b255e2b09efe5f6087a68446deae399227a1303', # rnaseqc.v2.4.2.full_source.tar.gz + '05b537eeef398646f51552c1dd26333e268b9b9eb3af2148681cb40ea0a5e4ba', # RNA-SeQC-2.4.2_Makefile.patch + # RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch + 'efb9ab63932bf25f3589de1e8f0c17bc1ef5ae928ba73e55d430b8a9761209cb', + ], + 'preinstallopts': "make && mkdir -p %(installdir)s/bin && cp rnaseqc %(installdir)s/bin/. && cd python &&", + }), +] + +sanity_check_commands = ["rnaseqc --version"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_Makefile.patch b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_Makefile.patch new file mode 100644 index 00000000000..0a7844d6a71 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_Makefile.patch @@ -0,0 +1,23 @@ +Add the Boost include and library paths; add -fpermissive to fix a compile failure +Patch by Simon Branford (University of Birmingham) +--- Makefile.orig 2022-06-01 14:25:59.350419000 +0100 ++++ Makefile 2022-06-10 10:02:39.517207931 +0100 +@@ -1,7 +1,7 @@ + #Set inclusion paths here (if boost, bamtools, or args are installed outside your path) +-INCLUDE_DIRS=-ISeqLib -ISeqLib/htslib/ ++INCLUDE_DIRS=-ISeqLib -ISeqLib/htslib/ -I${EBROOTBOOST}/include + #Set library paths here (if boost or bamtools are installed outside your path) +-LIBRARY_PATHS= ++LIBRARY_PATHS=-L${EBROOTBOOST}/lib + #Set to 0 if you encounter linker errors regarding strings from the bamtools library + ABI=1 + #Provide full paths here to .a archives for libraries which should be statically linked +@@ -11,7 +11,7 @@ + + CC=g++ + STDLIB=-std=c++14 +-CFLAGS=-Wall $(STDLIB) -D_GLIBCXX_USE_CXX11_ABI=$(ABI) -O3 ++CFLAGS=-Wall $(STDLIB) -D_GLIBCXX_USE_CXX11_ABI=$(ABI) -O3 -fpermissive + SOURCES=BED.cpp Expression.cpp GTF.cpp RNASeQC.cpp Metrics.cpp Fasta.cpp BamReader.cpp + SRCDIR=src + OBJECTS=$(SOURCES:.cpp=.o) diff --git a/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch new file mode 100644 index 00000000000..387913e3e06 --- /dev/null +++ b/easybuild/easyconfigs/r/RNA-SeQC/RNA-SeQC-2.4.2_rle_auxtab-gcc-10.patch @@ -0,0 +1,30 @@ +Based off the BWA patch in https://github.com/lh3/bwa/pull/267 +Patch by Simon Branford (University of Birmingham) +diff --git a/SeqLib/bwa/rle.h b/SeqLib/bwa/rle.h +index 0d594846..4f8946dc 100644 +--- a/SeqLib/bwa/rle.h ++++ b/SeqLib/bwa/rle.h +@@ -30,7 +30,7 @@ extern "C" { + *** 43+3 codec *** + ******************/ + +-const uint8_t rle_auxtab[8]; ++extern const uint8_t rle_auxtab[8]; + + #define RLE_MIN_SPACE 18 + #define rle_nptr(block) ((uint16_t*)(block)) + +diff --git a/SeqLib/fermi-lite/rle.h b/SeqLib/fermi-lite/rle.h +index 0d594846..4f8946dc 100644 +--- a/SeqLib/fermi-lite/rle.h ++++ b/SeqLib/fermi-lite/rle.h +@@ -30,7 +30,7 @@ extern "C" { + *** 43+3 codec *** + ******************/ + +-const uint8_t rle_auxtab[8]; ++extern const uint8_t rle_auxtab[8]; + + #define RLE_MIN_SPACE 18 + #define rle_nptr(block) ((uint16_t*)(block)) + diff --git a/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb b/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb index 8b07ec53fe9..47f174f2776 100644 --- a/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb +++ b/easybuild/easyconfigs/r/RNAmmer/RNAmmer-1.2-intel-2018b-Perl-5.28.0.eb @@ -24,9 +24,9 @@ postinstallcmds = [ # replace hardcoded '/usr/bin/perl' with '/usr/bin/env perl' "for x in core-rnammer rnammer xml2fsa xml2gff; do sed -i 's@^#!/.*@#!/usr/bin/env perl@g' %(installdir)s/$x; done", # fix hardcoded locations for install dir + hmmsearch and perl commands - """sed -i 's@\(INSTALL_PATH\ = "\).*\(";\)@\\1%(installdir)s\\2@g' %(installdir)s/rnammer""", - 'sed -i "s@\/.*\/hmmsearch@`which hmmsearch`@g" %(installdir)s/rnammer', - 'sed -i "s@\/.*\/bin\/perl@`which perl`@g" %(installdir)s/rnammer', + r"""sed -i 's@\(INSTALL_PATH\ = "\).*\(";\)@\\1%(installdir)s\\2@g' %(installdir)s/rnammer""", + r'sed -i "s@\/.*\/hmmsearch@`which hmmsearch`@g" %(installdir)s/rnammer', + r'sed -i "s@\/.*\/bin\/perl@`which perl`@g" %(installdir)s/rnammer', ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/r/ROCR-Runtime/ROCR-Runtime-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/ROCR-Runtime/ROCR-Runtime-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7082db953d7 --- /dev/null +++ b/easybuild/easyconfigs/r/ROCR-Runtime/ROCR-Runtime-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CMakeMake' + +name = 'ROCR-Runtime' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/ROCR-Runtime' +description = """The user-mode API interfaces and libraries necessary for host +applications to launch compute kernels to available HSA ROCm kernel agents""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/ROCR-Runtime/archive/refs/tags"] +sources = ["rocm-%(version)s.tar.gz"] +checksums = ['fbf550f243dddfef46a716e360b77c43886fed3eef67215ab9dab1c82f3851ca'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('elfutils', '0.185'), + ('ROCT-Thunk-Interface', '%(version)s'), +] + +srcdir = "src" + +configopts = "-DIMAGE_SUPPORT=OFF" + +sanity_check_paths = { + 'files': ['include/hsa/amd_hsa_common.h', 'include/hsa/amd_hsa_elf.h', 'include/hsa/hsa.h', + 'lib/libhsa-runtime64.%s' % SHLIB_EXT], + 'dirs': ['hsa/include', 'hsa/lib', 'include/hsa', 'lib/cmake/hsa-runtime64'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ROCT-Thunk-Interface/ROCT-Thunk-Interface-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/ROCT-Thunk-Interface/ROCT-Thunk-Interface-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..de42d7c18f8 --- /dev/null +++ b/easybuild/easyconfigs/r/ROCT-Thunk-Interface/ROCT-Thunk-Interface-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'ROCT-Thunk-Interface' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface' +description = "The user-mode API interfaces used to interact with the ROCk driver" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/archive/refs/tags/"] +sources = ["rocm-%(version)s.tar.gz"] +checksums = ['620b39959e0ee5d709b8cf6eb3cc06c8356d72838343756230c638899b10bb9a'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('libdrm', '2.4.107'), + ('numactl', '2.0.14'), +] + +# The following group ensures that the user is in the 'video' group. According +# to AMD this is necessary to interact with the GPU, but testing has shown this +# to not be the case. If you experience problems this could be one area to +# check out +# group = 'video' + +preconfigopts = r"""sed -i 's/\({HSAKMT_LINK_FLAGS}\)" \(-.*\) )/\1 \2" )/g' ../ROCT-*/CMakeLists.txt && """ + +configopts = "-DCMAKE_INSTALL_LIBDIR=%(installdir)s/lib -DBUILD_SHARED_LIBS=ON" + +installopts = " && cp -a %(builddir)s/%(name)s-rocm-%(version)s/include %(installdir)s/" + +sanity_check_paths = { + 'files': ['include/hsakmt.h', 'include/hsakmttypes.h', 'include/linux/kfd_ioctl.h', + 'lib/libhsakmt.%s' % SHLIB_EXT], + 'dirs': ['lib/cmake/hsakmt', 'share/pkgconfig'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ROCm-CompilerSupport/ROCm-CompilerSupport-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/ROCm-CompilerSupport/ROCm-CompilerSupport-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..050c8c67582 --- /dev/null +++ b/easybuild/easyconfigs/r/ROCm-CompilerSupport/ROCm-CompilerSupport-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'ROCm-CompilerSupport' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/ROCm-CompilerSupport' +description = """The compiler support repository provides various Lightning +Compiler related services""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/archive/refs/tags/"] +sources = ["rocm-%(version)s.tar.gz"] +checksums = ['03c5880e0922fcff31306f7da2eb9d3a3709d9b5b75b3524dcfae85f4b181678'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('Clang-AOMP', '%(version)s'), +] + +srcdir = "lib/comgr" + +configopts = '-DCMAKE_C_COMPILER=$EBROOTCLANGMINAOMP/bin/clang' +configopts += ' -DCMAKE_CXX_COMPILER=$EBROOTCLANGMINAOMP/bin/clang++' +configopts += ' -DLLVM_INSTALL_PREFIX=$EBROOTCLANGMINAOMP' +configopts += ' -DLLVM_DIR=$EBROOTCLANGMINAOMP' +configopts += " -DROCM_DIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['include/amd_comgr.h', 'lib64/libamd_comgr.%s' % SHLIB_EXT], + 'dirs': ['lib/cmake', 'share/amd_comgr'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ROCm/ROCm-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/ROCm/ROCm-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1a80c86bff6 --- /dev/null +++ b/easybuild/easyconfigs/r/ROCm/ROCm-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'Bundle' + +name = 'ROCm' +version = '4.5.0' + +homepage = 'https://rocmdocs.amd.com/en/latest/' +description = """AMD ROCm is the first open-source software development +platform for HPC/Hyperscale-class GPU computing. AMD ROCm brings the UNIX +philosophy of choice, minimalism and modular software development to GPU +computing.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +dependencies = [ + ('Clang-AOMP', '%(version)s'), + ('HIP', '%(version)s', '-amd'), + ('ROCR-Runtime', '%(version)s'), + ('rocm-cmake', '%(version)s'), + ('rocm-smi', '%(version)s'), + ('rocminfo', '%(version)s'), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.12.06_cling-runtime-sysroot.patch b/easybuild/easyconfigs/r/ROOT/ROOT-6.12.06_cling-runtime-sysroot.patch new file mode 100644 index 00000000000..7bf22bc1d8e --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.12.06_cling-runtime-sysroot.patch @@ -0,0 +1,25 @@ +This patch disables the runtime sysroot feature for cling since we would not be cross-compiling in an EasyBuild context. + +Reusing existing patch found in Gentoo ebuild for ROOT, see url: +https://github.com/gentoo/gentoo/blob/master/sci-physics/root/files/root-6.12.06_cling-runtime-sysroot.patch + +Patch needed for at runtime for ROOT in EESSI: +https://github.com/EESSI/software-layer/pull/769 + +Index: root-6.12.06/interpreter/cling/lib/Utils/Paths.cpp +=================================================================== +--- root-6.12.06.orig/interpreter/cling/lib/Utils/Paths.cpp ++++ root-6.12.06/interpreter/cling/lib/Utils/Paths.cpp +@@ -57,11 +57,6 @@ using namespace clang; + void CopyIncludePaths(const clang::HeaderSearchOptions& Opts, + llvm::SmallVectorImpl& incpaths, + bool withSystem, bool withFlags) { +- if (withFlags && Opts.Sysroot != "/") { +- incpaths.push_back("-isysroot"); +- incpaths.push_back(Opts.Sysroot); +- } +- + /// User specified include entries. + for (unsigned i = 0, e = Opts.UserEntries.size(); i != e; ++i) { + const HeaderSearchOptions::Entry &E = Opts.UserEntries[i]; + diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb new file mode 100644 index 00000000000..ab70796cf4a --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.22.08-foss-2020b.eb @@ -0,0 +1,53 @@ +name = 'ROOT' +version = '6.22.08' + +homepage = 'https://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +checksums = ['6f061ff6ef8f5ec218a12c4c9ea92665eea116b16e1cd4df4f96f00c078a2f6f'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GSL', '2.6'), + ('libxml2', '2.9.10'), + ('PCRE', '8.44'), + ('CFITSIO', '3.49'), + ('freetype', '2.10.3'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('zlib', '1.2.11'), + ('X11', '20201008'), + ('Mesa', '20.2.1'), + ('libGLU', '9.0.1'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.8'), + ('SQLite', '3.33.0'), + ('XZ', '5.2.5'), + ('libpng', '1.6.37'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb new file mode 100644 index 00000000000..b7662891803 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.24.06-foss-2021b.eb @@ -0,0 +1,59 @@ +name = 'ROOT' +version = '6.24.06' + +homepage = 'https://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +patches = [ + 'ROOT-6.12.06_cling-runtime-sysroot.patch', +] +checksums = [ + {'root_v6.24.06.source.tar.gz': '907f69f4baca1e4f30eeb4979598ca7599b6aa803ca046e80e25b6bbaa0ef522'}, + {'ROOT-6.12.06_cling-runtime-sysroot.patch': '63db7cb8371408dfa35dc58a500cd1de70d06db6b87674d5694b02e4092b6bd0'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GSL', '2.7'), + ('libxml2', '2.9.10'), + ('PCRE', '8.45'), + ('CFITSIO', '3.49'), + ('freetype', '2.11.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.10'), + ('SQLite', '3.36'), + ('XZ', '5.2.5'), + ('libpng', '1.6.37'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.26.06-foss-2022a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.06-foss-2022a.eb new file mode 100644 index 00000000000..0514357e262 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.06-foss-2022a.eb @@ -0,0 +1,59 @@ +name = 'ROOT' +version = '6.26.06' + +homepage = 'https://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +patches = [ + 'ROOT-6.12.06_cling-runtime-sysroot.patch', +] +checksums = [ + {'root_v6.26.06.source.tar.gz': 'b1f73c976a580a5c56c8c8a0152582a1dfc560b4dd80e1b7545237b65e6c89cb'}, + {'ROOT-6.12.06_cling-runtime-sysroot.patch': '63db7cb8371408dfa35dc58a500cd1de70d06db6b87674d5694b02e4092b6bd0'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('GSL', '2.7'), + ('libxml2', '2.9.13'), + ('PCRE', '8.45'), + ('CFITSIO', '4.2.0'), + ('freetype', '2.12.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('zlib', '1.2.12'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.10'), + ('SQLite', '3.38.3'), + ('XZ', '5.2.5'), + ('libpng', '1.6.37'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.26.10-foss-2022b.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.10-foss-2022b.eb new file mode 100644 index 00000000000..845b0e4db80 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.26.10-foss-2022b.eb @@ -0,0 +1,59 @@ +name = 'ROOT' +version = '6.26.10' + +homepage = 'https://root.cern.ch/drupal/' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +patches = [ + 'ROOT-6.12.06_cling-runtime-sysroot.patch', +] +checksums = [ + {'root_v6.26.10.source.tar.gz': '8e56bec397104017aa54f9eb554de7a1a134474fe0b3bb0f43a70fc4fabd625f'}, + {'ROOT-6.12.06_cling-runtime-sysroot.patch': '63db7cb8371408dfa35dc58a500cd1de70d06db6b87674d5694b02e4092b6bd0'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('GSL', '2.7'), + ('libxml2', '2.10.3'), + ('PCRE', '8.45'), + ('CFITSIO', '4.2.0'), + ('freetype', '2.12.1'), + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('zlib', '1.2.12'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.10'), + ('SQLite', '3.39.4'), + ('XZ', '5.2.7'), + ('libpng', '1.6.38'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb b/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb new file mode 100644 index 00000000000..a95692ea233 --- /dev/null +++ b/easybuild/easyconfigs/r/ROOT/ROOT-6.30.06-foss-2023a.eb @@ -0,0 +1,59 @@ +name = 'ROOT' +version = '6.30.06' + +homepage = 'https://root.cern.ch' +description = """The ROOT system provides a set of OO frameworks with all the functionality + needed to handle and analyze large amounts of data in a very efficient way.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://root.cern.ch/download/'] +sources = ['%(namelower)s_v%(version)s.source.tar.gz'] +patches = [ + 'ROOT-6.12.06_cling-runtime-sysroot.patch', +] +checksums = [ + {'root_v6.30.06.source.tar.gz': '300db7ed1b678ed2fb9635ca675921a1945c7c2103da840033b493091f55700c'}, + {'ROOT-6.12.06_cling-runtime-sysroot.patch': '63db7cb8371408dfa35dc58a500cd1de70d06db6b87674d5694b02e4092b6bd0'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('GSL', '2.7'), + ('libxml2', '2.11.4'), + ('PCRE', '8.45'), + ('CFITSIO', '4.3.0'), + ('freetype', '2.13.0'), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('zlib', '1.2.13'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('GL2PS', '1.4.2'), + ('FFTW', '3.3.10'), + ('SQLite', '3.42.0'), + ('XZ', '5.4.2'), + ('libpng', '1.6.39'), +] + +# NOTE: Ensure that each configopts string begins with a blank +# disable some components +configopts = " -Dxrootd=OFF -Dmysql=OFF -Dkrb5=OFF -Dodbc=OFF -Doracle=OFF -Dpgsql=OFF -Dqt=OFF" + +# make sure some components are enabled +configopts += " -Dpcre=ON -Dzlib=ON -Dpyroot=ON" +configopts += " -Dunuran=ON -Dexplicitlink=ON -Dminuit2=ON -Droofit=ON " + +# Add component-specific settings based on dependencies +configopts += ' -Dfftw3=ON -Dgsl=ON -DOpenGL_GL_PREFERENCE=GLVND' + +# Set C++ standard to C++17 for better stability +configopts += ' -DCMAKE_CXX_STANDARD=17' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-5-foss-2022a.eb b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-5-foss-2022a.eb new file mode 100644 index 00000000000..88f4b40198b --- /dev/null +++ b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-5-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'Bundle' + +name = 'RPostgreSQL' +version = '0.7-5' + +homepage = 'https://cran.r-project.org/package=tesseract' +description = """ +Database interface and 'PostgreSQL' driver for 'R'. This package provides a +Database Interface 'DBI' compliant driver for 'R' to access 'PostgreSQL' +database systems.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('R', '4.2.1'), + ('PostgreSQL', '14.4'), +] + +exts_defaultclass = 'RPackage' + +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', +} + +exts_list = [ + (name, version, { + 'checksums': ['6b5401ee55bd948ae7bc84520d789ceb422533a7d5e5bd6e10e3b54447f29fa1'], + }), +] + +sanity_check_paths = { + 'files': ['RPostgreSQL/libs/RPostgreSQL.%s' % SHLIB_EXT, 'RPostgreSQL/R/RPostgreSQL'], + 'dirs': [], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb new file mode 100644 index 00000000000..b15c33a3c44 --- /dev/null +++ b/easybuild/easyconfigs/r/RPostgreSQL/RPostgreSQL-0.7-6-gfbf-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'Bundle' + +name = 'RPostgreSQL' +version = '0.7-6' + +homepage = "https://cran.r-project.org/package=RPostgreSQL" +description = """Database interface and 'PostgreSQL' driver for 'R'. This package provides a +Database Interface 'DBI' compliant driver for 'R' to access 'PostgreSQL' +database systems.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('R', '4.3.2'), + ('PostgreSQL', '16.1'), +] + +exts_defaultclass = 'RPackage' + +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', +} + +exts_list = [ + ('DBI', '1.1.3', { + 'checksums': ['38bb33753da5bddb78893a5228a5d269dae3bf16f21dc5d9853ac9c24d31428d'], + }), + (name, version, { + 'checksums': ['385939708b6a3657663409f91e165ded0ff5268d1dc6225e0f9b34764baf2d2c'], + }), +] + +sanity_check_paths = { + 'files': ['RPostgreSQL/libs/RPostgreSQL.%s' % SHLIB_EXT, 'RPostgreSQL/R/RPostgreSQL'], + 'dirs': [], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2021b.eb b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2021b.eb new file mode 100644 index 00000000000..55809893f41 --- /dev/null +++ b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2021b.eb @@ -0,0 +1,51 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'RSEM' +version = '1.3.3' + +homepage = 'https://deweylab.github.io/RSEM/' +description = "RNA-Seq by Expectation-Maximization" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/deweylab/RSEM/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['RSEM-1.3.0_makefiles.patch'] +checksums = [ + '90e784dd9df8346caa2a7e3ad2ad07649608a51df1c69bfb6e16f45e611a40dc', # v1.3.3.tar.gz + '2d244659206c78655b92f1bd519ee65f28a6b5f9418dfad04e887b64eca6641b', # RSEM-1.3.0_makefiles.patch +] + +skipsteps = ['configure'] + +installopts = "prefix=%(installdir)s" + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), + ('R', '4.1.2'), + ('HISAT2', '2.2.1'), + ('STAR', '2.7.9a'), + ('Bowtie2', '2.4.4'), + ('Bowtie', '1.3.1'), +] + +sanity_check_paths = { + 'files': ['bin/rsem-calculate-expression', 'bin/rsem-plot-model', 'bin/rsem-plot-transcript-wiggles', + 'bin/rsem-bam2wig', 'bin/rsem-generate-data-matrix', 'bin/rsem-run-em', 'bin/convert-sam-for-rsem'], + 'dirs': ['bin/samtools-1.3'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb new file mode 100644 index 00000000000..19cf63260a7 --- /dev/null +++ b/easybuild/easyconfigs/r/RSEM/RSEM-1.3.3-foss-2022a.eb @@ -0,0 +1,51 @@ +## +# 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:: GPLv3.0 +# +# Notes:: +## + +easyblock = 'ConfigureMake' + +name = 'RSEM' +version = '1.3.3' + +homepage = 'https://deweylab.github.io/RSEM/' +description = "RNA-Seq by Expectation-Maximization" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/deweylab/RSEM/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['RSEM-1.3.0_makefiles.patch'] +checksums = [ + '90e784dd9df8346caa2a7e3ad2ad07649608a51df1c69bfb6e16f45e611a40dc', # v1.3.3.tar.gz + '2d244659206c78655b92f1bd519ee65f28a6b5f9418dfad04e887b64eca6641b', # RSEM-1.3.0_makefiles.patch +] + +skipsteps = ['configure'] + +installopts = "prefix=%(installdir)s" + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), + ('R', '4.2.1'), + ('HISAT2', '2.2.1'), + ('STAR', '2.7.10b'), + ('Bowtie2', '2.4.5'), + ('Bowtie', '1.3.1'), +] + +sanity_check_paths = { + 'files': ['bin/rsem-calculate-expression', 'bin/rsem-plot-model', 'bin/rsem-plot-transcript-wiggles', + 'bin/rsem-bam2wig', 'bin/rsem-generate-data-matrix', 'bin/rsem-run-em', 'bin/convert-sam-for-rsem'], + 'dirs': ['bin/samtools-1.3'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021a.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021a.eb new file mode 100644 index 00000000000..2ac51d287d5 --- /dev/null +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021a.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'RSeQC' +version = '4.0.0' + +homepage = 'http://rseqc.sourceforge.net/' +description = """RSeQC provides a number of useful modules that can + comprehensively evaluate high throughput sequence data especially RNA-seq + data. Some basic modules quickly inspect sequence quality, nucleotide + composition bias, PCR bias and GC bias, while RNA-seq specific modules + evaluate sequencing saturation, mapped reads distribution, coverage + uniformity, strand specificity, transcript level RNA integrity etc.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5b44932bad669c6d9190c5c111d181e868fb40077ed20c16c0881f67fbcc669b'] + +dependencies = [ + ('Python', '3.9.5'), + ('Pysam', '0.16.0.1'), + ('bx-python', '0.8.11'), + ('pyBigWig', '0.3.18'), +] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +options = {'modulename': 'qcmodule'} + +sanity_check_paths = { + 'files': ['bin/bam_stat.py', 'bin/overlay_bigwig.py', 'bin/split_paired_bam.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + 'bam_stat.py --help', + 'overlay_bigwig.py --help', + 'split_bam.py --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021b.eb b/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021b.eb new file mode 100644 index 00000000000..d75ee7d4c6c --- /dev/null +++ b/easybuild/easyconfigs/r/RSeQC/RSeQC-4.0.0-foss-2021b.eb @@ -0,0 +1,51 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Huffman +# The Francis Crick Institute + +easyblock = 'PythonPackage' + +name = 'RSeQC' +version = '4.0.0' + +homepage = 'http://rseqc.sourceforge.net/' +description = """RSeQC provides a number of useful modules that can + comprehensively evaluate high throughput sequence data especially RNA-seq + data. Some basic modules quickly inspect sequence quality, nucleotide + composition bias, PCR bias and GC bias, while RNA-seq specific modules + evaluate sequencing saturation, mapped reads distribution, coverage + uniformity, strand specificity, transcript level RNA integrity etc.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['5b44932bad669c6d9190c5c111d181e868fb40077ed20c16c0881f67fbcc669b'] + +dependencies = [ + ('Python', '3.9.6'), + ('Pysam', '0.17.0'), + ('bx-python', '0.8.13'), + ('pyBigWig', '0.3.18'), +] + +download_dep_fail = True +use_pip = True + +fix_python_shebang_for = ['bin/*.py'] + +options = {'modulename': 'qcmodule'} + +sanity_check_paths = { + 'files': ['bin/bam_stat.py', 'bin/overlay_bigwig.py', 'bin/split_paired_bam.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = [ + 'bam_stat.py --help', + 'overlay_bigwig.py --help', + 'split_bam.py --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5033-fosscuda-2019b-Java-11.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5033-fosscuda-2019b-Java-11.eb index e68f58adf65..0e6ae1282eb 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5033-fosscuda-2019b-Java-11.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5033-fosscuda-2019b-Java-11.eb @@ -29,13 +29,13 @@ checksums = [ builddependencies = [ ('pkg-config', '0.29.2'), ('CMake', '3.15.3'), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ] dependencies = [ ('Boost', '1.71.0'), ('R', '3.6.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] osdependencies = [ diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5042-foss-2019b-Java-11.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5042-foss-2019b-Java-11.eb index 756445042c1..b91df14e310 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5042-foss-2019b-Java-11.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.2.5042-foss-2019b-Java-11.eb @@ -29,13 +29,13 @@ checksums = [ builddependencies = [ ('pkg-config', '0.29.2'), ('CMake', '3.15.3'), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ] dependencies = [ ('Boost', '1.71.0'), ('R', '3.6.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] osdependencies = [ diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.1093-foss-2020a-Java-11-R-4.0.0.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.1093-foss-2020a-Java-11-R-4.0.0.eb index 4c871371f5e..80dfe9052a9 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.1093-foss-2020a-Java-11-R-4.0.0.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.1093-foss-2020a-Java-11-R-4.0.0.eb @@ -29,13 +29,13 @@ checksums = [ builddependencies = [ ('pkg-config', '0.29.2'), ('CMake', '3.16.4'), - ('ant', '1.10.8', '-Java-%(javaver)s', True), + ('ant', '1.10.8', '-Java-%(javaver)s', SYSTEM), ] dependencies = [ ('Boost', '1.72.0'), ('R', '4.0.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] osdependencies = [ diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.959-foss-2020a-Java-11-R-4.0.0.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.959-foss-2020a-Java-11-R-4.0.0.eb index 26f4b962160..2ef5e389064 100644 --- a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.959-foss-2020a-Java-11-R-4.0.0.eb +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.3.959-foss-2020a-Java-11-R-4.0.0.eb @@ -25,13 +25,13 @@ checksums = [ builddependencies = [ ('pkg-config', '0.29.2'), ('CMake', '3.16.4'), - ('ant', '1.10.8', '-Java-%(javaver)s', True), + ('ant', '1.10.8', '-Java-%(javaver)s', SYSTEM), ] dependencies = [ ('Boost', '1.72.0'), ('R', '4.0.0'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ] osdependencies = [ diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.4.1717-foss-2021a-Java-11-R-4.1.0.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.4.1717-foss-2021a-Java-11-R-4.1.0.eb new file mode 100644 index 00000000000..db9cd5d65bf --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-1.4.1717-foss-2021a-Java-11-R-4.1.0.eb @@ -0,0 +1,73 @@ +easyblock = 'CMakeMake' + +name = 'RStudio-Server' +version = '1.4.1717' +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port 8787 --rsession-which-r=$(which R) +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3af234180fd7cef451aef40faac2c7b52860f14a322244c1c7aede029814d261'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('CMake', '3.20.1'), + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('R', '4.1.0'), + ('Java', '11', '', SYSTEM), + ('SOCI', '4.0.2'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +build_type = "Release" +local_dep_dir = "%(builddir)s/rstudio-%(version)s/dependencies/common" +preconfigopts = (("export RSTUDIO_TOOLS_ROOT={} && " + "cd {} && " + "./install-cef && " + "./install-dictionaries && " + "./install-mathjax && " + "./install-pandoc && " + "./install-packages && " + "./install-yaml-cpp && " + "./install-npm-dependencies && " + "cd ../../ && " + "mkdir build && cd build && ").format("%(builddir)s", local_dep_dir)) + +configopts = "-DRSTUDIO_TARGET=Server -DRSTUDIO_BOOST_SIGNALS_VERSION=2 " +configopts += "-DSOCI_CORE_LIB=$EBROOTSOCI/lib/libsoci_core.a " +configopts += "-DSOCI_POSTGRESQL_LIB=$EBROOTSOCI/lib/libsoci_postgresql.a " +configopts += "-DSOCI_SQLITE_LIB=$EBROOTSOCI/lib/libsoci_sqlite3.a " + +prebuildopts = (("cd {} && cd build && ")).format("%(builddir)s/rstudio-%(version)s") +preinstallopts = (("cd {} && cd build && ")).format("%(builddir)s/rstudio-%(version)s") + +sanity_check_commands = [ + # This command requires environment variables R_HOME and R_DOC_DIR + "R_HOME=$EBROOTR/lib64/R R_DOC_DIR=$R_HOME/doc rsession --verify-installation=1", + # This command requires a db conf (this may also be needed for live use) + """MYTMP=`mktemp -d` && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> $MYTMP/db.conf && """ + "rserver --verify-installation=1 --database-config-file=$MYTMP/db.conf --server-data-dir=$MYTMP/sdd ", +] + +sanity_check_paths = { + 'files': ["bin/rstudio-server"], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch new file mode 100644 index 00000000000..f57b688b6a5 --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch @@ -0,0 +1,46 @@ +From 9b7ac4b2952a47568d23f6cbfed4a797798ee161 Mon Sep 17 00:00:00 2001 +From: Kevin Ushey +Date: Fri, 19 Aug 2022 10:01:14 -0700 +Subject: [PATCH] make it possible to control QUARTO_ENABLED from command line + +--- + CMakeGlobals.txt | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) + +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index 6dfe1017a9a..cbd8e865672 100644 +--- a/CMakeGlobals.txt ++++ b/CMakeGlobals.txt +@@ -244,18 +244,20 @@ if(LINUX AND EXISTS "/etc/centos-release") + endif() + + # quarto support +-if(LINUX AND UNAME_M STREQUAL aarch64) +- # disabled on linux aarch64 +- message(STATUS "quarto does not yet support aarch64 builds of Linux; disabling quarto") +- set(QUARTO_ENABLED FALSE CACHE INTERNAL "") +-elseif(IS_CENTOS7) +- # disable quarto on Centos 7 +- message(STATUS "quarto is not supported on Centos7; disabling quarto") +- set(QUARTO_ENABLED FALSE CACHE INTERNAL "") +-else() +- # enable by default +- set(QUARTO_ENABLED TRUE CACHE INTERNAL "") +- add_definitions(-DQUARTO_ENABLED) ++if(NOT DEFINED QUARTO_ENABLED) ++ if(LINUX AND UNAME_M STREQUAL aarch64) ++ # disabled on linux aarch64 ++ message(STATUS "quarto does not yet support aarch64 builds of Linux; disabling quarto") ++ set(QUARTO_ENABLED FALSE CACHE INTERNAL "") ++ elseif(IS_CENTOS7) ++ # disable quarto on Centos 7 ++ message(STATUS "quarto is not supported on Centos7; disabling quarto") ++ set(QUARTO_ENABLED FALSE CACHE INTERNAL "") ++ else() ++ # enable by default ++ set(QUARTO_ENABLED TRUE CACHE INTERNAL "") ++ add_definitions(-DQUARTO_ENABLED) ++ endif() + endif() + + # install freedesktop integration files if we are installing into /usr diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch new file mode 100644 index 00000000000..25cae4ea6db --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_fix-libsoci-search.patch @@ -0,0 +1,27 @@ +Allow to find system SOCI_* libraries + +Add a second `find_library` call which will find the SOCI libraries in default locations if it hasn't been found already in `SOCI_LIBRARY_DIR` +See https://github.com/rstudio/rstudio/pull/11691 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index d2be417b40..6a42b4614d 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -467,12 +467,12 @@ endif() + # find SOCI libraries + if(UNIX) + set(SOCI_LIBRARY_DIR "${RSTUDIO_TOOLS_SOCI}/build/lib") +- if(NOT APPLE AND RSTUDIO_USE_SYSTEM_SOCI) +- set(SOCI_LIBRARY_DIR "/usr/lib") +- endif() + find_library(SOCI_CORE_LIB NAMES "libsoci_core.a" "soci_core" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_CORE_LIB NAMES "libsoci_core.a" "soci_core") + find_library(SOCI_SQLITE_LIB NAMES "libsoci_sqlite3.a" "soci_sqlite3" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_SQLITE_LIB NAMES "libsoci_sqlite3.a" "soci_sqlite3") + find_library(SOCI_POSTGRESQL_LIB NAMES "libsoci_postgresql.a" "soci_postgresql" PATHS "${SOCI_LIBRARY_DIR}" NO_DEFAULT_PATH) ++ find_library(SOCI_POSTGRESQL_LIB NAMES "libsoci_postgresql.a" "soci_postgresql") + find_library(DL_LIB "dl") + find_library(SQLITE_LIB "sqlite3") + get_filename_component(SQLITE_LIB "${SQLITE_LIB}" REALPATH) diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch new file mode 100644 index 00000000000..9df3a006a82 --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch @@ -0,0 +1,71 @@ +From https://github.com/rstudio/rstudio/pull/11976 + +From c131989e8ecb19733fe274fe7ad8a18d490fdcf9 Mon Sep 17 00:00:00 2001 +From: Jonathan McPherson +Date: Mon, 19 Sep 2022 14:34:18 -0700 +Subject: [PATCH] use XDG_CACHE_HOME for secure cookie key in low privilege + mode + +--- + src/cpp/core/include/core/system/Xdg.hpp | 7 +++++++ + src/cpp/core/system/Xdg.cpp | 15 +++++++++++++++ + src/cpp/server_core/SecureKeyFile.cpp | 2 +- + 3 files changed, 23 insertions(+), 1 deletion(-) + +diff --git a/src/cpp/core/include/core/system/Xdg.hpp b/src/cpp/core/include/core/system/Xdg.hpp +index 71cb2a8d50f..ed848ca2476 100644 +--- a/src/cpp/core/include/core/system/Xdg.hpp ++++ b/src/cpp/core/include/core/system/Xdg.hpp +@@ -66,6 +66,13 @@ FilePath userDataDir(const boost::optional& user = boost::none, + // Returns the user-specific logging directory underneath the userDataDir + FilePath userLogDir(); + ++// Returns the RStudio XDG user cache directory. ++// ++// On Unix-alikes, this is ~/.cache, or XDG_CACHE_HOME. ++// On Windows, this is 'FOLDERID_InternetCache' (typically 'AppData/Local/Microsoft/Windows/Temporary Files') ++FilePath userCacheDir(const boost::optional& user = boost::none, ++ const boost::optional& homeDir = boost::none); ++ + // This function verifies that the userConfigDir() and userDataDir() exist and are owned by the running user. + // + // It should be invoked once. Any issues with these directories will be emitted to the session log. +diff --git a/src/cpp/core/system/Xdg.cpp b/src/cpp/core/system/Xdg.cpp +index 3866f286437..ca1e7923ac5 100644 +--- a/src/cpp/core/system/Xdg.cpp ++++ b/src/cpp/core/system/Xdg.cpp +@@ -218,6 +218,21 @@ FilePath userDataDir( + ); + } + ++FilePath userCacheDir( ++ const boost::optional& user, ++ const boost::optional& homeDir) ++{ ++ return resolveXdgDir("RSTUDIO_CACHE_HOME", ++ "XDG_CACHE_HOME", ++#ifdef _WIN32 ++ FOLDERID_InternetCache, ++#endif ++ "~/.cache", ++ user, ++ homeDir ++ ); ++} ++ + FilePath userLogDir() + { + return userDataDir().completePath("log"); +diff --git a/src/cpp/server_core/SecureKeyFile.cpp b/src/cpp/server_core/SecureKeyFile.cpp +index d3a5e37c1bd..cbc3a91a44c 100644 +--- a/src/cpp/server_core/SecureKeyFile.cpp ++++ b/src/cpp/server_core/SecureKeyFile.cpp +@@ -113,7 +113,7 @@ core::Error readSecureKeyFile(const std::string& filename, + } + else + { +- secureKeyPath = core::FilePath("/tmp/rstudio-server").completePath(filename); ++ secureKeyPath = core::system::xdg::userCacheDir().completePath(filename); + if (secureKeyPath.exists()) + { + LOG_INFO_MESSAGE("Running without privilege; using secure key at " + secureKeyPath.getAbsolutePath()); diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb new file mode 100644 index 00000000000..b63011c23f4 --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2022.07.2+576-foss-2022a-Java-11-R-4.2.1.eb @@ -0,0 +1,111 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = '2022.07.2+576' +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = '7872775ebddc40635780ca1ed238934c3345c5de' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-2022.07.1+554_allow-disabling-quarto.patch', + '%(name)s-2022.07.1+554_fix-libsoci-search.patch', + '%(name)s-2022.07.1+554_use-XDG_CACHE_HOME.patch', +] +checksums = [ + '55705c36a9b826064b4d9aa87b58c40bb9f7cd2f149b16d554e20136306ce301', + # RStudio-Server-2022.07.1+554_allow-disabling-quarto.patch + '165306d976c7b851e1e6a2d1f0c2967984b0cd203006aa834a1a6ff17894cf81', + # RStudio-Server-2022.07.1+554_fix-libsoci-search.patch + '0dafd9fa45d745d350c0c852fe03e3e1e77558d94baae2b5c595d97765002cd5', + # RStudio-Server-2022.07.1+554_use-XDG_CACHE_HOME.patch + 'd033a383c8518a85dcdf45baf14d0a9d6283d03a28576a6eb03bbfb3682d2b00', +] + +builddependencies = [ + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('Java', '11', '', SYSTEM), + ('R', '4.2.1'), + ('SOCI', '4.0.3'), + ('yaml-cpp', '0.7.0'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +# Required until https://github.com/easybuilders/easybuild-framework/pull/4035 +local_start_dir = "%(builddir)s/rstudio-" + version.replace("+", "-") + +preconfigopts = " && ".join([ + # Install dependencies via scripts. Done in subshell to preserve PWD + "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", + "cd '%s/dependencies/common'" % local_start_dir, + "./install-cef", + "./install-dictionaries", + "./install-mathjax", + "./install-pandoc", + "./install-packages", + "./install-npm-dependencies)", + "" +]) + +configopts = " ".join([ + "-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", + "-DRSTUDIO_TARGET=Server", + "-DRSTUDIO_USE_SYSTEM_BOOST=ON", + "-DRSTUDIO_USE_SYSTEM_SOCI=ON", + "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", + "-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback + "-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev +]) + +sanity_check_commands = [ + # RSession requires environment variables R_HOME and R_DOC_DIR + 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', + # RServer requires a db conf (this may also be needed for live use) + # Also create and set a soem dirs so it doesn't try to use $HOME + 'MYTMP=`mktemp -d`' + ' && export RSTUDIO_CONFIG_DIR="$MYTMP"' + ' && export XDG_DATA_HOME="$MYTMP/.data"' + ' && export XDG_CACHE_HOME="$MYTMP/.cache"' + ' && mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"' + ' && export RS_LOG_DIR="$MYTMP/log"' + ' && echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"' + ' && rserver ' + ' '.join([ + '--verify-installation=1', + '--server-user="$USER"', + '--database-config-file="$MYTMP/db.conf"', + '--server-data-dir="$MYTMP/sdd"', + '--secure-cookie-key-file="$MYTMP/secure-cookie-key"', + ]), +] + +sanity_check_paths = { + 'files': ['bin/rstudio-server'], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.09.1+494-foss-2023a-Java-11-R-4.3.2.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.09.1+494-foss-2023a-Java-11-R-4.3.2.eb new file mode 100644 index 00000000000..56585dad1c0 --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.09.1+494-foss-2023a-Java-11-R-4.3.2.eb @@ -0,0 +1,108 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = "2023.09.1+494" +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = 'cd7011dce393115d3a7c3db799dda4b1c7e88711' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['38526a5816e980b12aeaef7debd2151f08ef2e54fed83af2622eb7cdeeb479a2'] + +builddependencies = [ + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('nodejs', '18.17.1'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('Java', '11', '', SYSTEM), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('SOCI', '4.0.3'), + ('yaml-cpp', '0.7.0'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +preconfigopts = " && ".join([ + # Install dependencies via scripts. Done in subshell to preserve PWD + "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", + "cd '%(start_dir)s/dependencies/common'", + "./install-cef", + "./install-dictionaries", + "./install-mathjax", + "./install-pandoc", + "./install-panmirror", + "./install-npm-dependencies)", + "" +]) + +configopts = " ".join([ + "-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", + "-DRSTUDIO_TARGET=Server", + "-DRSTUDIO_USE_SYSTEM_BOOST=ON", + "-DRSTUDIO_USE_SYSTEM_SOCI=ON", + "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", + "-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback + "-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev +]) + +sanity_check_commands = [ + # RSession requires environment variables R_HOME and R_DOC_DIR + 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', + # RServer requires a db conf (this may also be needed for live use) + # Also create and set a soem dirs so it doesn't try to use $HOME + ' '.join([ + 'MYTMP=`mktemp -d`', + '&& export RSTUDIO_CONFIG_DIR="$MYTMP"', + '&& export XDG_DATA_HOME="$MYTMP/.data"', + '&& export XDG_CACHE_HOME="$MYTMP/.cache"', + '&& mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"', + '&& export RS_LOG_DIR="$MYTMP/log"', + '&& echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"', + '&& rserver', + '--verify-installation=1', + '--server-user="$USER"', + '--database-config-file="$MYTMP/db.conf"', + '--server-data-dir="$MYTMP/sdd"', + '--secure-cookie-key-file="$MYTMP/secure-cookie-key"', + ]), +] + +sanity_check_paths = { + 'files': ['bin/rstudio-server'], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +modloadmsg = """ +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb new file mode 100644 index 00000000000..7821f9f4b06 --- /dev/null +++ b/easybuild/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb @@ -0,0 +1,98 @@ +easyblock = 'CMakeNinja' + +name = 'RStudio-Server' +version = "2023.12.1+402" +versionsuffix = '-Java-%(javaver)s-R-%(rver)s' +local_git_rev = '4da58325ffcff29d157d9264087d4b1ab27f7204' + +homepage = 'https://www.rstudio.com/' +description = """This is the RStudio Server version. +RStudio is a set of integrated tools designed to help you be more productive with R. + +The server can be started with: + rserver --server-daemonize=0 --www-port=8787 + +If you need a database config one can be created with: + MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" +and then used with: + rserver ... --database-config-file="${MYTMP}/db.conf" +""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/rstudio/rstudio/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['196d31094d580a74737fbf689d2d0b302da5fec13694aa1d63f8875d3e45e4dd'] + +builddependencies = [ + ('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('nodejs', '20.9.0'), +] + +dependencies = [ + ('Boost', '1.83.0'), + ('Java', '11', '', SYSTEM), + ('R', '4.3.3'), + ('SOCI', '4.0.3'), + ('yaml-cpp', '0.8.0'), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev') +] + +preconfigopts = " && ".join([ + # Install dependencies via scripts. Done in subshell to preserve PWD + "(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", + "cd '%(start_dir)s/dependencies/common'", + "./install-cef", + "./install-dictionaries", + "./install-mathjax", + "./install-pandoc", + "./install-packages", + "./install-panmirror", + "./install-npm-dependencies)", + "" +]) + +configopts = " ".join([ + "-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", + "-DRSTUDIO_TARGET=Server", + "-DRSTUDIO_USE_SYSTEM_BOOST=ON", + "-DRSTUDIO_USE_SYSTEM_SOCI=ON", + "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", + "-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback + "-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev +]) + +sanity_check_commands = [ + # RSession requires environment variables R_HOME and R_DOC_DIR + 'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', + # RServer requires a db conf (this may also be needed for live use) + # Also create and set a soem dirs so it doesn't try to use $HOME + ' '.join([ + 'MYTMP=`mktemp -d`', + '&& export RSTUDIO_CONFIG_DIR="$MYTMP"', + '&& export XDG_DATA_HOME="$MYTMP/.data"', + '&& export XDG_CACHE_HOME="$MYTMP/.cache"', + '&& mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"', + '&& export RS_LOG_DIR="$MYTMP/log"', + '&& echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"', + '&& rserver', + '--verify-installation=1', + '--server-user="$USER"', + '--database-config-file="$MYTMP/db.conf"', + '--server-data-dir="$MYTMP/sdd"', + '--secure-cookie-key-file="$MYTMP/secure-cookie-key"', + ]), +] + +sanity_check_paths = { + 'files': ['bin/rstudio-server'], + 'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/RTG-Tools/RTG-Tools-3.12.1-Java-11.eb b/easybuild/easyconfigs/r/RTG-Tools/RTG-Tools-3.12.1-Java-11.eb new file mode 100644 index 00000000000..6f653767be7 --- /dev/null +++ b/easybuild/easyconfigs/r/RTG-Tools/RTG-Tools-3.12.1-Java-11.eb @@ -0,0 +1,42 @@ +easyblock = 'CmdCp' + +name = 'RTG-Tools' +version = '3.12.1' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://www.realtimegenomics.com/products/rtg-tools' +description = """ RTG Tools contains utilities to easily manipulate and accurately compare multiple VCF files, + as well as utilities for processing other common NGS data formats. """ + +toolchain = SYSTEM + +source_urls = ['https://github.com/RealTimeGenomics/rtg-tools/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['6ee0ffe1bba7b5497aa09b147a7525b77b1808e6a71368aad440cbd64658085c'] + +builddependencies = [('ant', '1.10.12', versionsuffix)] +dependencies = [('Java', '11')] + +local_comp_cmd = "export RTG_MEM=1G && " +# NOTE Tests of RTG-Tools reserve 60% machine's memory. +# That causes them to fail on debug clusters and work on full nodes only. +# therefore this easyconfig has been tested on a full node and `ant runalltests` was removed from the easyconfig. +# local_comp_cmd += 'ant runalltests && ' +local_comp_cmd += 'ant zip-nojre && ' +local_comp_cmd += 'unzip %(builddir)s/rtg-tools-%(version)s/dist/rtg-tools-%(version)s-unknown-nojre.zip' + +cmds_map = [('.*', local_comp_cmd)] + +files_to_copy = ['rtg-tools-%(version)s-unknown/*'] + +# add default configuration: no crash reporting, no usage logging +postinstallcmds = ["echo 'RTG_TALKBACK=false\nRTG_USAGE=' > %(installdir)s/rtg.cfg"] + +modextrapaths = {'PATH': ['']} + +sanity_check_paths = { + 'files': ['rtg', 'rtg.cfg', 'RTG.jar'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RaGOO/RaGOO-1.11-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/r/RaGOO/RaGOO-1.11-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..939bf3e3e31 --- /dev/null +++ b/easybuild/easyconfigs/r/RaGOO/RaGOO-1.11-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,39 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'RaGOO' +version = '1.11' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/malonge/RaGOO' +description = 'A tool to order and orient genome assembly contigs via Minimap2 alignments to a reference genome' + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://github.com/malonge/RaGOO/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a14ea39d4542989609d09b2f33fc59c5003f5b14bfac53f6eca15a367e95082a'] + +dependencies = [ + ('Python', '3.6.6'), # provides numpy + ('minimap2', '2.13'), + ('intervaltree-python', '3.0.2', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/ragoo.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +options = {'modulename': 'ragoo_utilities'} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.2.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..dfa9bddceeb --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'Racon' +version = '1.4.21' + +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': '10.2.0'} + +source_urls = ['https://github.com/lbcb-sci/racon/releases/download/%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['df99208ebef6a12e1da11a31dade2eafe13a4cd80b4917cce44d44d879b5aee4'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +sanity_check_paths = { + 'files': ['bin/racon'], + 'dirs': [], +} + +sanity_check_commands = ['racon --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4131ade476e --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.4.21-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'CMakeMake' + +name = 'Racon' +version = '1.4.21' + +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': '10.3.0'} + +source_urls = ['https://github.com/lbcb-sci/racon/releases/download/%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['df99208ebef6a12e1da11a31dade2eafe13a4cd80b4917cce44d44d879b5aee4'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': ['bin/racon'], + 'dirs': [], +} + +sanity_check_commands = ['racon --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.4.7-gcccuda-2019b.eb b/easybuild/easyconfigs/r/Racon/Racon-1.4.7-gcccuda-2019b.eb index 34a23165aa8..127f585c034 100644 --- a/easybuild/easyconfigs/r/Racon/Racon-1.4.7-gcccuda-2019b.eb +++ b/easybuild/easyconfigs/r/Racon/Racon-1.4.7-gcccuda-2019b.eb @@ -11,7 +11,8 @@ description = "Ultrafast consensus module for raw de novo genome assembly of lon toolchain = {'name': 'gcccuda', 'version': '2019b'} -local_bioparser_commit = '0d66534d75b319f43ce5c59fe6548eee48f8f651' +local_vendor_dir = '%(builddir)s/racon-gpu-%(version)s/vendor' +local_extract_cmd_pattern = 'tar -C %s/%s --strip-components=1 -xf %%s' sources = [ { @@ -22,59 +23,72 @@ sources = [ 'source_urls': ['https://github.com/clara-genomics/ClaraGenomicsAnalysis/archive'], 'filename': 'ClaraGenomicsAnalysis-20190814.tar.gz', 'download_filename': '416af9f1817a4a70745b3f7cdb7418125159f75c.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'ClaraGenomicsAnalysis'), }, { 'source_urls': ['https://github.com/rvaser/bioparser/archive'], 'filename': 'bioparser-20190817.tar.gz', - 'download_filename': '%s.tar.gz' % local_bioparser_commit, + 'download_filename': '0d66534d75b319f43ce5c59fe6548eee48f8f651.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'bioparser'), }, { 'source_urls': ['https://github.com/martinsos/edlib/archive'], 'filename': 'edlib-20171127.tar.gz', 'download_filename': 'ee36875e944b63abf6f9b9e14c010b445529427d.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'edlib'), }, { 'source_urls': ['https://github.com/google/googletest/archive'], 'filename': 'googletest-20180131.tar.gz', 'download_filename': 'ea31cb15f0c2ab9f5f5b18e82311eb522989d747.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'googletest'), }, { 'source_urls': ['https://github.com/rvaser/logger/archive'], 'filename': 'logger-20190728.tar.gz', 'download_filename': 'b88c8ee8ba59fd07b40c022957b7bdce1a5f8502.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'logger'), }, { 'source_urls': ['https://github.com/rvaser/rampler/archive'], 'filename': 'rampler-20190905.tar.gz', 'download_filename': 'a6dec0140878ba81da90387c77740756fefa4920.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'rampler'), }, { 'source_urls': ['https://github.com/rvaser/spoa/archive'], 'filename': 'spoa-20180523.tar.gz', 'download_filename': '11219575bdcb356c57fb32f54cf23b8da2abc4f0.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'spoa'), }, { 'source_urls': ['https://github.com/rvaser/thread_pool/archive'], 'filename': 'thread_pool-20190530.tar.gz', 'download_filename': '048da9485390ee8b8a7ecedccc598a06ca4429e2.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'thread_pool'), }, { 'source_urls': ['https://github.com/google/benchmark/archive'], 'filename': 'benchmark-20190513.tar.gz', 'download_filename': '090faecb454fbd6e6e17a75ef8146acb037118d4.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'ClaraGenomicsAnalysis/3rdparty/benchmark'), }, { 'source_urls': ['https://github.com/gabime/spdlog/archive'], 'filename': 'spdlog-20190417.tar.gz', 'download_filename': '366935142780e3754b358542f0fd5ed83793b263.tar.gz', + 'extract_cmd': local_extract_cmd_pattern % (local_vendor_dir, 'ClaraGenomicsAnalysis/3rdparty/spdlog'), }, ] patches = [ - ('%(name)s-%(version)s_patch_bioparsers_zlib.patch', '../bioparser-%s' % local_bioparser_commit) + ('%(name)s-%(version)s_patch_bioparsers_zlib.patch', '%s/bioparser' % local_vendor_dir) ] checksums = [ '7d59c310eb8e7472f6b7bb523206cb0642fe7db32335011cd6b9e7b31cd549ee', # 1.4.7.tar.gz - '807b337c6016f92a03238a29ca646679cdd7cb9f48ea0f77ccb8ebcbe2596dba', # ClaraGenomicsAnalysis-20190814.tar.gz + # ClaraGenomicsAnalysis-20190814.tar.gz + ('807b337c6016f92a03238a29ca646679cdd7cb9f48ea0f77ccb8ebcbe2596dba', + 'e98fa393a5dd31401300cf00719cde3fd0625bcc751523b41355bfd75652b135', # Repo renamed + ), '67a327e3686e76e7502b7462b5fcd2d04c3dc6c23496b11699aa1a992de091d5', # bioparser-20190817.tar.gz '60c79ef9476d6c874beee79ea63597000b39b6ced8c6c406e8037e8f4b25093f', # edlib-20171127.tar.gz '41a782bacfed269409e533599f2272910e6c7ccd0c3d03f9694c693916070180', # googletest-20180131.tar.gz @@ -92,35 +106,7 @@ builddependencies = [ ('zlib', '1.2.11'), ] -local_vendor_dir = '%(builddir)s/racon-gpu-%(version)s/vendor/' - -# Move downloaded source to submodule dirs -# ClaraGenomicsAnalysis -preconfigopts = "mv %%(builddir)s/ClaraGenomicsAnalysis-*/* %s/ClaraGenomicsAnalysis/ && " % local_vendor_dir -# bioparser -preconfigopts += "mv %%(builddir)s/bioparser-*/* %s/bioparser/ && " % local_vendor_dir -# edlib -preconfigopts += "mv %%(builddir)s/edlib-*/* %s/edlib/ && " % local_vendor_dir -# googletest -preconfigopts += "mv %%(builddir)s/googletest-*/* %s/googletest/ && " % local_vendor_dir -# logger -preconfigopts += "mv %%(builddir)s/logger-*/* %s/logger/ && " % local_vendor_dir -# rampler -preconfigopts += "mv %%(builddir)s/rampler-*/* %s/rampler/ && " % local_vendor_dir -# spoa -preconfigopts += "mv %%(builddir)s/spoa-*/* %s/spoa/ && " % local_vendor_dir -# thread_pool -preconfigopts += "mv %%(builddir)s/thread_pool-*/* %s/thread_pool/ && " % local_vendor_dir - -# Submodules of submodules -# benchmark -preconfigopts += "mv %%(builddir)s/benchmark-*/* %s/ClaraGenomicsAnalysis/3rdparty/benchmark/ && " % local_vendor_dir -# spdlog -preconfigopts += "mv %%(builddir)s/spdlog-*/* %s/ClaraGenomicsAnalysis/3rdparty/spdlog/ && " % local_vendor_dir - configopts = '-Dracon_enable_cuda=ON' -separate_build_dir = True -build_type = 'Release' sanity_check_paths = { 'files': ['bin/racon'], diff --git a/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..437042cff43 --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-11.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': '11.2.0'} + +github_account = 'lbcb-sci' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['41e362f71cc03b934f17d6e2c0d626e1b2997258261b14551586de006666424a'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +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-11.3.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5150c4f5ea7 --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-11.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': '11.3.0'} + +github_account = 'lbcb-sci' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['41e362f71cc03b934f17d6e2c0d626e1b2997258261b14551586de006666424a'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), + ('git', '2.36.0', '-nodocs'), +] + +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.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/Racon/Racon-1.5.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..de4df21150d --- /dev/null +++ b/easybuild/easyconfigs/r/Racon/Racon-1.5.0-GCCcore-13.2.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': '13.2.0'} + +github_account = 'lbcb-sci' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['41e362f71cc03b934f17d6e2c0d626e1b2997258261b14551586de006666424a'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), + ('git', '2.42.0'), +] + +sanity_check_paths = { + 'files': ['bin/racon'], + 'dirs': [], +} + +sanity_check_commands = ['racon --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RagTag/RagTag-2.1.0-foss-2022a.eb b/easybuild/easyconfigs/r/RagTag/RagTag-2.1.0-foss-2022a.eb new file mode 100644 index 00000000000..d6ffda0d23c --- /dev/null +++ b/easybuild/easyconfigs/r/RagTag/RagTag-2.1.0-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'RagTag' +version = '2.1.0' + +homepage = 'https://github.com/malonge/RagTag' +description = """RagTag is a collection of software tools for scaffolding and +improving modern genome assemblies. Tasks include: homology-based misassembly +correction, homology-based assembly scaffolding and patching, and scaffold +merging. RagTag also provides command line utilities for working with common +genome assembly file formats.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/malonge/RagTag/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['ragtag-2.0.1-scripts.patch'] +checksums = [ + {'v2.1.0.tar.gz': 'b044b5e4305219ed1d9f05ffb9e7635e2ab61a4f72ab49660feede1a502aa419'}, + {'ragtag-2.0.1-scripts.patch': '01d1623fade21fb838904334fc2afc93351e66241c612939c619714658f43687'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pysam', '0.19.1'), + ('networkx', '2.8.4'), + ('MUMmer', '4.0.0rc1'), + ('minimap2', '2.24'), + ('unimap', '0.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/ragtag.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ragtag.py updategff --help', + # Ragtag exec()s these commands + 'nucmer --help', + 'minimap2 --help', + 'unimap --help', +] + +options = {'modulename': 'ragtag_utilities'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20230928-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20230928-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..92555adb82a --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20230928-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'RapidJSON' +# no new release since Aug'16 so using latest commit; +# see also https://github.com/Tencent/rapidjson/issues/2202 +version = '1.1.0-20230928' +local_commit = 'f9d5341' + +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 = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': 'v%(version)s.tar.gz'}] +checksums = ['2b521dba5c22eaae6e6e7d4d304cb317e2cf8c687c70046b02792c02f78c127e'] + +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-*/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/RapidJSON/RapidJSON-1.1.0-20240409-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20240409-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4f36c473ec4 --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20240409-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'RapidJSON' +# no new release since Aug'16 so using latest commit; +# see also https://github.com/Tencent/rapidjson/issues/2202 +version = '1.1.0-20240409' +local_commit = 'ab1842a' + +homepage = 'https://rapidjson.org' +description = "A fast JSON parser/generator for C++ with both SAX/DOM style API" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/Tencent/%(namelower)s/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': 'v%(version)s.tar.gz'}] +checksums = ['39f96f17b40f7201042c9b45d6444cb7eae1b7adfb7455412a86f6140450d32d'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +# strip out hardcoded use of -march=native, EasyBuild should be in control of this +preconfigopts = "sed -i 's/-march=native//g' ../rapidjson-*/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/RapidJSON/RapidJSON-1.1.0-20240815-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20240815-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b296d76e7b7 --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-20240815-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'RapidJSON' +# no new release since Aug'16 so using latest commit; +# see also https://github.com/Tencent/rapidjson/issues/2202 +version = '1.1.0-20240815' +local_commit = '7c73dd7' + +homepage = 'https://rapidjson.org' +description = "A fast JSON parser/generator for C++ with both SAX/DOM style API" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/Tencent/%(namelower)s/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': 'v%(version)s.tar.gz'}] +checksums = ['91138ebc9c980e554e6bcf9d13537f9eebf42710e0b956fdca46181ad645f94d'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +# strip out hardcoded use of -march=native, EasyBuild should be in control of this +preconfigopts = "sed -i 's/-march=native//g' ../rapidjson-*/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/RapidJSON/RapidJSON-1.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..c59421ba5da --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-10.2.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': '10.2.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.35'), + ('CMake', '3.18.4'), +] + +# 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/RapidJSON/RapidJSON-1.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..18bcf89078f --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-10.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': '10.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.36.1'), + ('CMake', '3.20.1'), +] + +# 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/RapidJSON/RapidJSON-1.1.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..88330bf84ea --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-11.2.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': '11.2.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.37'), + ('CMake', '3.21.1'), +] + +# 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/RapidJSON/RapidJSON-1.1.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..b43bed9a68f --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-11.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': '11.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.38'), + ('CMake', '3.23.1'), +] + +# 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/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9b786df30e0 --- /dev/null +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-12.2.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.2.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.39'), + ('CMake', '3.24.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/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/RapidJSON/RapidJSON-1.1.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.2.0.eb index 79d63114af0..75abae6a345 100644 --- a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.2.0.eb @@ -21,6 +21,9 @@ builddependencies = [ ('CMake', '3.13.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/RapidJSON.pc'], 'dirs': ['include/rapidjson', 'lib/cmake', 'share'], diff --git a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.3.0.eb index 046d65c9734..4b7fb2c19f6 100644 --- a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-8.3.0.eb @@ -21,6 +21,9 @@ builddependencies = [ ('CMake', '3.15.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/RapidJSON.pc'], 'dirs': ['include/rapidjson', 'lib/cmake', 'share'], diff --git a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-9.3.0.eb index 731c2bd91cb..187b4f5e6b6 100644 --- a/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/r/RapidJSON/RapidJSON-1.1.0-GCCcore-9.3.0.eb @@ -22,6 +22,8 @@ builddependencies = [ ('CMake', '3.16.4'), ] +# 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'], diff --git a/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..91c9deedba1 --- /dev/null +++ b/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-10.3.0.eb @@ -0,0 +1,47 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +# Based on Raptor2 RPM spec file: +# https://git.rockylinux.org/staging/rpms/raptor2/-/blob/r8/SPECS/raptor2.spec +# The RPM patches have been integrated in the version 2.0.16 +## +easyblock = 'ConfigureMake' + +name = 'Raptor' +version = '2.0.16' +homepage = 'https://librdf.org/raptor/' +description = """Set of parsers and serializers that generate Resource Description Framework +(RDF) triples by parsing syntaxes or serialize the triples into a syntax.""" +# software_license = 'LicenseLGPLv2.1 + LicenseGPLv2 + LicenseApachev2' + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://download.librdf.org/source'] +sources = ['raptor2-%(version)s.tar.gz'] +checksums = ['089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680'] + +builddependencies = [ + ('Autotools', '20210128'), + ('make', '4.3'), + ('binutils', '2.36.1'), +] +dependencies = [ + ('libxml2', '2.9.10'), + ('libxslt', '1.1.34'), + ('cURL', '7.76.0'), + ('ICU', '69.1'), +] + +configopts = "--disable-static --enable-release --disable-gtk-doc --with-yajl=no" + +sanity_check_paths = { + 'files': ['bin/rapper', 'lib/libraptor2.so'], + 'dirs': ['include/raptor2/'] +} + +sanity_check_commands = ["rapper --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..61c358020c8 --- /dev/null +++ b/easybuild/easyconfigs/r/Raptor/Raptor-2.0.16-GCCcore-12.3.0.eb @@ -0,0 +1,55 @@ +## +# This is a contribution from SIB Swiss Institute of Bioinformatics +# Homepage: https://www.sib.swiss/research-infrastructure/competence-centers/vital-it +# +# Authors:: Sebastien Moretti +# +# Based on Raptor2 RPM spec file: +# https://git.rockylinux.org/staging/rpms/raptor2/-/blob/r8/SPECS/raptor2.spec +# The RPM patches have been integrated in the version 2.0.16 +# +# Update: Petr Král (INUITS) +## +easyblock = 'ConfigureMake' + +name = 'Raptor' +version = '2.0.16' +homepage = 'https://librdf.org/raptor/' +description = """Set of parsers and serializers that generate Resource Description Framework +(RDF) triples by parsing syntaxes or serialize the triples into a syntax.""" +# software_license = 'LicenseLGPLv2.1 + LicenseGPLv2 + LicenseApachev2' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.librdf.org/source'] +sources = ['raptor2-%(version)s.tar.gz'] +checksums = ['089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('make', '4.4.1'), +] + +dependencies = [ + ('libxml2', '2.11.4'), + ('libxslt', '1.1.38'), + ('cURL', '8.0.1'), + ('ICU', '73.2'), +] + +configopts = "--disable-static --enable-release --disable-gtk-doc --with-yajl=no" + +# fix error: 'xmlEntity' {aka 'struct _xmlEntity'} has no member named 'checked' +# see https://github.com/dajobe/raptor/pull/58 +local_sed_replacement = r's/LIBXML_VERSION >= 20627/LIBXML_VERSION >= 2062 \&\& LIBXML_VERSION < 21100/g' +prebuildopts = "sed -i '%s' src/raptor_libxml.c && " % local_sed_replacement + +sanity_check_paths = { + 'files': ['bin/rapper', 'lib/libraptor2.%s' % SHLIB_EXT], + 'dirs': ['include/raptor2/'] +} + +sanity_check_commands = ["rapper --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/Rasqal/Rasqal-0.9.33-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Rasqal/Rasqal-0.9.33-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3d5e0ad9d83 --- /dev/null +++ b/easybuild/easyconfigs/r/Rasqal/Rasqal-0.9.33-GCCcore-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'Rasqal' +version = '0.9.33' +homepage = 'hhttps://librdf.org/rasqal' +description = """A library handling RDF query syntaxes, construction and execution""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.librdf.org/source'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.40'), + ('Raptor', '2.0.16'), +] + +dependencies = [ + ('libgcrypt', '1.10.3'), + ('MPFR', '4.2.0'), + ('PCRE', '8.45'), + ('gtk-doc', '1.34.0'), + ('ICU', '73.2'), +] + +preconfigopts = "autoreconf -f -i && " +configopts = "--disable-static --enable-release" + +sanity_check_paths = { + 'files': ['bin/roqet', 'lib/librasqal.%s' % SHLIB_EXT], + 'dirs': ['include/rasqal/'] +} + +sanity_check_commands = ["roqet --help"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb b/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..0e32ebaa9e0 --- /dev/null +++ b/easybuild/easyconfigs/r/Raven/Raven-1.8.1-GCC-11.2.0.eb @@ -0,0 +1,63 @@ +easyblock = "CMakeNinja" + +name = "Raven" +version = "1.8.1" + +homepage = "https://github.com/lbcb-sci/raven" +description = "Raven is a de novo genome assembler for long uncorrected reads." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/lbcb-sci/raven/archive/refs/tags/"] +sources = ["%(version)s.tar.gz"] +checksums = ['00009e9027761fa28313db4e2b5c5f40ebc10e6631b43b755e321ac6bbcc2c06'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Ninja', '1.10.2'), +] + +preinstallopts = "export CMAKE_BUILD_PARALLEL_LEVEL=%(parallel)s && " +configopts = '-DRAVEN_BUILD_EXE=1 -G Ninja ' +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +dependencies = [ + ('Python', '3.9.6'), + ('zlib', '1.2.11'), +] + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, +} + +# inject addition CMake options to make sure that Python dependency is actually used +local_ravenpy_preinstallopts = r"""sed -i 's|cmake_args += \["-GNinja"\]|cmake_args += \[""" +local_ravenpy_preinstallopts += r'"-GNinja", "-DPYBIND11_FINDPYTHON=ON", "-DPython_FIND_STRATEGY=LOCATION",' +local_ravenpy_preinstallopts += r""" "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python"\]|' setup.py && """ + +exts_list = [ + (name, version, { + 'modulename': 'ravenpy', + 'source_urls': ['https://github.com/lbcb-sci/raven/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['00009e9027761fa28313db4e2b5c5f40ebc10e6631b43b755e321ac6bbcc2c06'], + 'preinstallopts': local_ravenpy_preinstallopts, + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/raven'], + 'dirs': [], +} + +sanity_check_commands = [ + "export PYTHONNOUSERSITE=1 && python%(pyshortver)s -m pip check", + "raven --help" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-0.8.4-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-0.8.4-foss-2019b-Python-3.7.4.eb index 6726bb26e7a..15d7ae893ef 100644 --- a/easybuild/easyconfigs/r/Ray-project/Ray-project-0.8.4-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-0.8.4-foss-2019b-Python-3.7.4.eb @@ -75,6 +75,7 @@ exts_list = [ ('grpcio', '1.28.1', { 'modulename': 'grpc', 'checksums': ['cbc322c5d5615e67c2a15be631f64e6c2bab8c12505bc7c150948abdaa0bdbac'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('jsonschema', '3.2.0', { 'checksums': ['c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a'], diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-1.0.1-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.0.1-fosscuda-2019b-Python-3.7.4.eb index ea3efe2d1f9..90d60fc1d92 100644 --- a/easybuild/easyconfigs/r/Ray-project/Ray-project-1.0.1-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.0.1-fosscuda-2019b-Python-3.7.4.eb @@ -121,6 +121,7 @@ exts_list = [ ('grpcio', '1.33.2', { 'modulename': 'grpc', 'checksums': ['21265511880056d19ce4f809ce3fbe2a3fa98ec1fc7167dbdf30a80d3276202e'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('jsonschema', '3.2.0', { 'checksums': ['c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a'], diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021a.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021a.eb new file mode 100644 index 00000000000..bcd6321d086 --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021a.eb @@ -0,0 +1,54 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '1.13.0' + +homepage = "https://docs.ray.io/en/latest/" +description = "Ray is a fast and simple framework for building and running distributed applications." + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('protobuf-python', '3.17.3'), + ('PyYAML', '5.4.1'), + ('redis-py', '4.3.1'), +] + +use_pip = True + +exts_list = [ + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), + ('frozenlist', '1.3.0', { + 'checksums': ['ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b'], + }), + ('Ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp39-cp39-manylinux2014_x86_64.whl', + 'checksums': ['ba0829d495dec0bc90a72169f93e4cb004962a37df4d9b0df23004ebefb6d221'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ray --help' +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021b.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021b.eb new file mode 100644 index 00000000000..d11cdc2b662 --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.13.0-foss-2021b.eb @@ -0,0 +1,54 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '1.13.0' + +homepage = "https://docs.ray.io/en/latest/" +description = "Ray is a fast and simple framework for building and running distributed applications." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('protobuf-python', '3.17.3'), + ('PyYAML', '5.4.1'), + ('redis-py', '4.3.3'), +] + +use_pip = True + +exts_list = [ + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('aiosignal', '1.2.0', { + 'checksums': ['78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2'], + }), + ('frozenlist', '1.3.0', { + 'checksums': ['ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b'], + }), + ('Ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp39-cp39-manylinux2014_x86_64.whl', + 'checksums': ['ba0829d495dec0bc90a72169f93e4cb004962a37df4d9b0df23004ebefb6d221'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ray --help' +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-1.9.2-foss-2021b.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.9.2-foss-2021b.eb new file mode 100644 index 00000000000..939d9c99217 --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-1.9.2-foss-2021b.eb @@ -0,0 +1,100 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '1.9.2' + +homepage = "https://www.ray.io/" +description = """Ray is an open source project that makes it simple to scale any +compute-intensive Python workload — from deep learning to production model +serving. With a rich set of libraries and integrations built on a flexible +distributed execution framework, Ray makes distributed computing easy and +accessible to every engineer.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('Rust', '1.54.0'), # needed by maturin +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('aiohttp', '3.8.1'), # also provides frozenlist + ('dm-tree', '0.1.6'), + ('Flask', '2.0.2'), + ('gpustat', '1.0.0b1'), + ('libunwind', '1.5.0'), # needed by py-spy + ('OpenCensus-python', '0.8.0'), + ('protobuf-python', '3.17.3'), + ('PyYAML', '5.4.1'), + ('Redis', '6.2.6'), # needed by redis-py + ('OpenAI-Gym', '0.21.0'), # also provides lz4 + ('OpenCV', '4.5.5', '-contrib'), + ('scikit-image', '0.19.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('prometheus_client', '0.11.0', { + 'checksums': ['3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86'], + }), + ('maturin', '0.12.6', { + 'checksums': ['2b14cfae808b45a130e19b2999acea423d2e10e7a29ae2336996ba72ba442ff6'], + }), + ('py_spy', '0.3.11', { + 'modulename': False, + 'checksums': ['3115c6e45cdab657f81c886f8b1664e7e2208b775396031eeea60e4d16fc861d'], + # disable auditwheel which checks and modifies existing installations + 'preinstallopts': "sed -i '/^bindings =.*/a skip-auditwheel = true' pyproject.toml &&", + }), + ('pydantic', '1.9.0', { + 'checksums': ['742645059757a56ecd886faf4ed2441b9c0cd406079c2b4bee51bcc3fbcd510a'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + ('redis', '4.1.1', { + 'checksums': ['07420a3fbedd8e012c31d4fadac943fb81568946da202c5a5bc237774e5280a0'], + }), + ('smart_open', '5.2.1', { + 'checksums': ['75abf758717a92a8f53aa96953f0c245c8cedf8e1e4184903db3659b419d4c17'], + }), + ('sniffio', '1.2.0', { + 'checksums': ['c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de'], + }), + ('anyio', '3.5.0', { + 'checksums': ['a0aeffe2fb1fdf374a8e4b471444f0f3ac4fb9f5a5b542b48824475e0042a5a6'], + }), + ('starlette', '0.17.1', { + 'checksums': ['57eab3cc975a28af62f6faec94d355a410634940f10b30d68d31cb5ec1b44ae8'], + }), + ('aiorwlock', '1.3.0', { + 'checksums': ['83f12d87df4b9728a0b8fda1756585ab0d652b107bab59c6084e1b1ad692ab45'], + }), + ('ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp39-cp39-manylinux2014_x86_64.whl', + 'checksums': ['76294786421799a2a157917cbe493f758ae2f5a0acee8ac23cb885936b1a4e35'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'ray --help' +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb new file mode 100644 index 00000000000..566a35719e3 --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.2.0-foss-2022a.eb @@ -0,0 +1,54 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '2.2.0' + +homepage = "https://docs.ray.io/en/latest/" +description = "Ray is a fast and simple framework for building and running distributed applications." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('protobuf-python', '3.19.4'), + ('PyYAML', '6.0'), + ('redis-py', '4.5.1'), +] + +use_pip = True + +exts_list = [ + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('frozenlist', '1.3.3', { + 'checksums': ['58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a'], + }), + ('Ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp310-cp310-manylinux2014_x86_64.whl', + 'checksums': ['656768c6f7c15e9ae32cc624b065dfdc99e1a12a0b9aa787602cbcaf8308ab20'], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ray --help' +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Ray-project/Ray-project-2.9.1-foss-2023a.eb b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.9.1-foss-2023a.eb new file mode 100644 index 00000000000..67ab662077d --- /dev/null +++ b/easybuild/easyconfigs/r/Ray-project/Ray-project-2.9.1-foss-2023a.eb @@ -0,0 +1,73 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'Ray-project' +version = '2.9.1' + +homepage = "https://docs.ray.io/en/latest/" +description = "Ray is a fast and simple framework for building and running distributed applications." + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +builddependencies = [ + ('redis-py', '5.0.1'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), + ('PyYAML', '6.0'), + ('lz4', '1.9.4'), + ('mpi4py', '3.1.4'), +] + +use_pip = True + +exts_list = [ + ('grpcio', '1.62.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['6c455e008fa86d9e9a9d85bb76da4277c0d7d9668a3bfa70dbe86e9f3c759947'], + }), + ('aiosignal', '1.3.1', { + 'checksums': ['54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc'], + }), + ('expandvars', '0.12.0', { + 'checksums': ['7d1adfa55728cf4b5d812ece3d087703faea953e0c0a1a78415de9df5024d844'], + }), + ('frozenlist', '1.4.1', { + 'checksums': ['c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b'], + }), + ('lz4', '4.3.3', { + 'checksums': ['01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e'], + }), + ('Ray', version, { + 'source_tmpl': '%(namelower)s-%(version)s-cp311-cp311-manylinux2014_%(arch)s.whl', + 'checksums': [{ + '%(namelower)s-%(version)s-cp311-cp311-manylinux2014_x86_64.whl': ( + 'fabc520990c1b98dde592813d62737e5e817460e0ac359f32ba029ace292cbe2' + ), + '%(namelower)s-%(version)s-cp311-cp311-manylinux2014_aarch64.whl': ( + '1907649d69efdc1b9ffbc03db086f6d768216cb73908ebd4038ac5030effef9e' + ), + }], + }), +] + +sanity_check_paths = { + 'files': ['bin/ray'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'ray --help' +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-foss-2020b.eb b/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-foss-2020b.eb new file mode 100644 index 00000000000..53e51415d54 --- /dev/null +++ b/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-foss-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'Raysect' +version = '0.7.1' + +homepage = 'https://raysect.org' + +description = """Raysect is an OOP ray-tracing framework for Python""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5c91f7dc406fd64dfaa4096b259c31250ac50881a301a46b2a1d607a2746f968'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-intel-2020b.eb b/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-intel-2020b.eb new file mode 100644 index 00000000000..0d104c5782b --- /dev/null +++ b/easybuild/easyconfigs/r/Raysect/Raysect-0.7.1-intel-2020b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'Raysect' +version = '0.7.1' + +homepage = 'https://raysect.org' + +description = """Raysect is an OOP ray-tracing framework for Python""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5c91f7dc406fd64dfaa4096b259c31250ac50881a301a46b2a1d607a2746f968'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/RcppGSL/RcppGSL-0.3.8-foss-2020b-R-4.0.4.eb b/easybuild/easyconfigs/r/RcppGSL/RcppGSL-0.3.8-foss-2020b-R-4.0.4.eb index 1d6a13798f2..0dda15cefb4 100644 --- a/easybuild/easyconfigs/r/RcppGSL/RcppGSL-0.3.8-foss-2020b-R-4.0.4.eb +++ b/easybuild/easyconfigs/r/RcppGSL/RcppGSL-0.3.8-foss-2020b-R-4.0.4.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = [ 'https://cran.r-project.org/src/contrib/', - 'https://cran.r-project.org/src/contrib/Archive/$(name)s/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', ] sources = ['%(name)s_%(version)s.tar.gz'] checksums = ['7ffb047692c3717c5fee94fd115d23ce971309aa38aa42cd1e8bef67bc57d49e'] diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.0.eb index 7cd54d733cf..71ff1be0f5c 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.0.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.0.eb @@ -15,6 +15,11 @@ req_py_minver = 6 use_pip = True +exts_default_options = { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", +} + exts_list = [ ('pip', '20.1.1', { 'checksums': ['27f8dc29387dd83249e06e681ce087e6061826582198a425085e0bf4c1cf3a55'], @@ -69,7 +74,4 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions -modextrapaths = {'PATH': 'bin'} - moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.10.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.10.1.eb new file mode 100644 index 00000000000..198312322d2 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.10.1.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.10.1' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.2.4', { + 'use_pip': False, + 'checksums': ['0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['5fd649872bf93ba72a835896ea1a581b9b8c3e04150247be2359b95a7cdb89b5'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.0.eb new file mode 100644 index 00000000000..4fa02b9488a --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.0.eb @@ -0,0 +1,68 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.11.0' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['3ddfef5482f0c304286a6c8f1ad0b3d75c4c61d0b9f9f8429b6157c189f2bb64'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "cp -r hpctestlib %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.1.eb new file mode 100644 index 00000000000..2617252f8fb --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.1.eb @@ -0,0 +1,68 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.11.1' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('setuptools', '58.5.3', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['7f591cd8f4fbb2c6255cc8ea02e3814393355a8931ac883e9f57490fde699b63'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.2.eb new file mode 100644 index 00000000000..ccc3af8e291 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.11.2.eb @@ -0,0 +1,70 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.11.2' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + # stick to setuptools < 59.7.0, to maintain compatibility with Python 3.6 + ('setuptools', '59.6.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['d6f36071df316d6a5ef5ce6f0477b3385d9dac5c1b82e54ae6954dc9b68f9440'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb new file mode 100644 index 00000000000..34fd85c49e0 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.12.0.eb @@ -0,0 +1,70 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.12.0' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + # stick to setuptools < 59.7.0, to maintain compatibility with Python 3.6 + ('setuptools', '59.6.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['425cc546e24edd5b2dbfcdcb61dbbf723ca1a2a2977948e359e893514f5eb10f'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.2.eb index a8e5fb9d649..14b90f4f54f 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.2.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.2.eb @@ -15,6 +15,11 @@ req_py_minver = 6 use_pip = True +exts_default_options = { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", +} + exts_list = [ ('pip', '20.2.4', { 'checksums': ['85c99a857ea0fb0aedf23833d9be5c40cf253fe24443f0829c7b472e23c364a1'], @@ -73,7 +78,4 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions -modextrapaths = {'PATH': 'bin'} - moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.3.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.3.eb index e325322041c..7595b2ca7c8 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.3.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.3.eb @@ -33,8 +33,10 @@ exts_list = [ # Use bootstrap script to install ReFrame dependencies under `external`. # ReFrame adds `external` to its own python path before executing, without - # affecting the python path of the system - 'preinstallopts': './bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ', + # affecting the python path of the system; + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", }), ] @@ -55,9 +57,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.4.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.4.1.eb index 897caab22e8..e02756de89b 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.4.1.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.4.1.eb @@ -25,7 +25,9 @@ exts_list = [ 'checksums': ['1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5'], }), ('reframe', version, { - 'preinstallopts': "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], 'checksums': ['aed5752a2f687002839923c5432784d3a25d3a29d43b69122dcbf72befa0fdbf'], @@ -49,9 +51,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.0.eb index 5fa93291a41..28e5f5b4b49 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.0.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.0.eb @@ -25,7 +25,9 @@ exts_list = [ 'checksums': ['1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5'], }), ('reframe', version, { - 'preinstallopts': "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], 'checksums': ['81b501be4252c99f12043cb21b0b7b8059207a340fc94173b180444599773f1a'], @@ -53,9 +55,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.1.eb index 6f417ffc47f..f2df4f9de11 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.1.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.1.eb @@ -17,6 +17,8 @@ use_pip = True # bump hardcoded importlib-metadata version to more recent version, only require it with Python < 3.8 local_preinstallopts = r"""sed -i "s/\(importlib.*\)==.*/\1==3.10.0; python_version < '3.8'/g" requirements.txt && """ +# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages +local_preinstallopts += "export PATH=%(installdir)s/bin:$PATH && " # use bootstrap script to install required Python packages local_preinstallopts += "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " @@ -62,9 +64,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.2.eb index 44e2cd25dda..685bc826e33 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.2.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.5.2.eb @@ -25,7 +25,9 @@ exts_list = [ 'checksums': ['1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5'], }), ('reframe', version, { - 'preinstallopts': "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], 'checksums': ['50d461811f6bba7c9b897866a290063e1bd229e7055f5acc2de1f749b99bfce7'] @@ -53,9 +55,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.2.eb index be6da2fe133..ffed5ef3f85 100644 --- a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.2.eb +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.2.eb @@ -25,8 +25,10 @@ exts_list = [ 'checksums': ['1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5'], }), ('reframe', version, { - 'prebuildopts': ('./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ' - 'PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH '), + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'prebuildopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], 'use_pip': False, @@ -55,9 +57,7 @@ sanity_check_commands = ['reframe -V'] sanity_pip_check = True -# need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing extensions modextrapaths = { - 'PATH': 'bin', # bootstrap script installs required dependencies to 'external' subdirectory 'PYTHONPATH': 'external', } diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.3.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.3.eb new file mode 100644 index 00000000000..adafa2b8796 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.6.3.eb @@ -0,0 +1,65 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.6.3' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.1.2', { + 'use_pip': False, + 'checksums': ['eb5df6b9ab0af50fe1098a52fd439b04730b6e066887ff7497357b9ebd19f79b'], + }), + ('setuptools', '53.0.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['1b18ef17d74ba97ac9c0e4b4265f123f07a8ae85d9cd093949fa056d3eeeead5'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'prebuildopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'use_pip': False, + 'checksums': ['3616478c886c89385385d04f5bce625a690eec6bdca603cd5ac3a6f443168ac2'], + }), +] + +postinstallcmds = [ + 'cp -r tutorials %(installdir)s', + 'mkdir -p %(installdir)s/share/man/man1 %(installdir)s/share/man/man8', + 'cp docs/man/man1/reframe.1 %(installdir)s/share/man/man1', + 'cp docs/man/man8/reframe.settings.8 %(installdir)s/share/man/man8', + 'cp -r share/completions %(installdir)s/share/completions' +] + +sanity_check_paths = { + 'files': ['bin/reframe', 'share/man/man1/reframe.1', + 'share/man/man8/reframe.settings.8', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.7.3.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.7.3.eb new file mode 100644 index 00000000000..43f074cd3ee --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.7.3.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.7.3' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.2.4', { + 'use_pip': False, + 'checksums': ['0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'use_pip': True, + 'checksums': ['52427fbbaa558082b71f73b2b8aea37340584d14dc3b1aca1e9bdd8923fa4c65'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.8.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.8.0.eb new file mode 100644 index 00000000000..395aa64e600 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.8.0.eb @@ -0,0 +1,63 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.8.0' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.2.4', { + 'use_pip': False, + 'checksums': ['0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['b8a0486fd78786606586364968d1e2a4e7fc424d523b12b2c0ea8a227b485e30'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.0.eb new file mode 100644 index 00000000000..a365f15126b --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.9.0' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.2.4', { + 'use_pip': False, + 'checksums': ['0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['ccc36cb1db12148fe7658583e83c2717f5aae0d8c58f6b6ddd398e187c3edc3a'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.1.eb new file mode 100644 index 00000000000..efe48dd85fa --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-3.9.1.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '3.9.1' + +homepage = 'https://github.com/eth-cscs/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.2.4', { + 'use_pip': False, + 'checksums': ['0eb8a1516c3d138ae8689c0c1a60fde7143310832f9dc77e11d8a4bc62de193b'], + }), + ('wheel', '0.37.0', { + 'checksums': ['e2ef7239991699e3355d54f8e968a21bb940a1dbf34a4d226741e64462516fad'], + }), + ('setuptools', '57.4.0', { + 'source_tmpl': 'setuptools-%(version)s.tar.gz', + 'checksums': ['6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/eth-cscs/reframe/archive/'], + 'checksums': ['8f7f4991d1c32cc23f8b10a7509166030548bfe84e4785d017d8d797e31b0498'], + }), +] + +postinstallcmds = [ + "cp -r tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -r share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['lib', 'tutorials', 'external'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb new file mode 100644 index 00000000000..568f87e8ef2 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.1.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.0.1' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['1680b8f0dd405dcf98be23473570595a424cbee830b2dbb665459e2974723f6f'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb new file mode 100644 index 00000000000..3c77570ad5a --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.0.5.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.0.5' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip < 22.0, to maintain compatibility with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + # need to add 'bin' subdir to $PATH explicitly to ensure right 'pip' command is used for installing packages + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['4902258e5a201cb72ef9dc175a0970dcfc5869f3270a198dcd8bc47cc1a3cabd'], + }), +] + +postinstallcmds = [ + "cp -a hpctestlib tools tutorials %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'hpctestlib', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.2.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.2.0.eb new file mode 100644 index 00000000000..b00fc07a257 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.2.0.eb @@ -0,0 +1,66 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.2.0' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['f1d38133023b37d01fdee46b2bf472f8fd36bf410d1c909db043b9f9d7df6122'], + }), +] + +postinstallcmds = [ + "cp -a tools tutorials %(installdir)s", + # Adding hpctestlib separately to the external directory so that it can be + # imported and is in the PYTHONPATH + "cp -a hpctestlib %(installdir)s/external", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb new file mode 100644 index 00000000000..7e01526d78c --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.2.eb @@ -0,0 +1,68 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.3.2' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + # use PyYAML 6.0.1 to solve Cython 3 incompatibility issues + "sed -i 's@PyYAML==6.0@PyYAML==6.0.1@' requirements.txt && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['b4e42915cf3d6c7c0f975f12eecd609ae5f165b764989f4ee066a209ff0150ae'], + }), +] + +postinstallcmds = [ + "cp -a tools tutorials %(installdir)s", + # Adding hpctestlib separately to the external directory so that it can be + # imported and is in the PYTHONPATH + "cp -a hpctestlib %(installdir)s/external", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb new file mode 100644 index 00000000000..f4319b13ae5 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.3.3.eb @@ -0,0 +1,69 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.3.3' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +req_py_majver = 3 +req_py_minver = 6 + +use_pip = True + +exts_list = [ + # stick to pip 21.3.1 and wheel 0.37.1, which are compatible with Python 3.6 + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + ('reframe', version, { + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + # use PyYAML 6.0.1 to solve Cython 3 incompatibility issues + "sed -i 's@PyYAML==6.0@PyYAML==6.0.1@' requirements.txt && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && " + "PYTHONPATH=%(builddir)s/reframe/reframe-%(version)s/external:$PYTHONPATH ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['3d1a1a6d2c8e3b362dadc47f642f23f7574fb81b03be31055040afe9738829c2'], + }), +] + +postinstallcmds = [ + "cp -a tools tutorials %(installdir)s", + # Adding hpctestlib separately to the external directory so that it can be + # imported and is in the PYTHONPATH + "cp -a hpctestlib %(installdir)s/external", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'tutorials'] +} + +sanity_check_commands = ['reframe -V'] + +sanity_pip_check = True + +modextrapaths = { + # bootstrap script installs required dependencies to 'external' subdirectory + 'PYTHONPATH': 'external', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9046d5c9362 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-12.3.0.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.2' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('cURL', '8.0.1'), # Used by ReFrame to download pip in the bootstrap +] + +# Note that for ReFrame's CPU autodetect to work +# the system also needs to provide (new enough versions of) these dependencies +dependencies = [ + ('Python', '3.11.3'), + ('libxslt', '1.1.38'), # Required by lxml, which is installed by ReFrame's bootstrap installer + ('libxml2', '2.11.4'), # Required by lxml, which is installed by ReFrame's bootstrap installer +] + +use_pip = True + +exts_list = [ + # ReFrame's bootstrap script is intended to run with zero dependencies. It downloads all python deps for ReFrame + # into a %(installdir)/external directory. ReFrame's main executable (reframe) adds this dir to python's sys.path + # so that ReFrame (and only ReFrame) will find & use all of these dependencies. + # In EasyBuild, we should adhere to this installation method because a) it is how ReFrame is meant to be used and + # b) it isolates all of ReFrame dependencies from any other python code you run. Thus, there is no chance that + # a test will pick up on any python deps from ReFrame itself. + # For this to work, we need to disable download_dep_fail and sanity_pip_check, as both are _expected_ to fail + # for this setup. + ('reframe', version, { + # Deps are downloaded to %(installdir)/external, which won't polute the PYTHONPATH, so is ok + 'download_dep_fail': False, + # ReFrame uses its custom sys.path to find necessary packages, they are not on PYTYHONPATH + # Thus, the regular pip sanity check is expected to fail, even if ReFrame would run just fine + 'sanity_pip_check': False, + # Set modulename to False, as to skip the sanity_check-step from extension.py (python -c "import reframe") + # This step would fail, since the regular python interpreter wouldn't find the additional packages in + # %(installdir)/external. That's fine, as ReFrame should never be imported directly, only through the + # reframe command. + 'modulename': False, + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['d3343815ee3d2c330b91a1cdb924ba184119ed7d9fc88a4a754b939a4259df82'], + }), +] + +postinstallcmds = [ + "cp -a tools examples %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'examples'] +} + +sanity_check_commands = ['reframe -V'] + +# Since this is at the GCCcore toolchain level, make sure ReFrame is configured to purge modules before running +# any tests by default +modextravars = { + 'RFM_PURGE_ENVIRONMENT': '1', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..e2adb9db1d9 --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-GCCcore-13.2.0.eb @@ -0,0 +1,76 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.2' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('cURL', '8.3.0'), # Used by ReFrame to download pip in the bootstrap +] + +# Note that for ReFrame's CPU autodetect to work +# the system also needs to provide (new enough versions of) these dependencies +dependencies = [ + ('Python', '3.11.5'), + ('libxslt', '1.1.38'), # Required by lxml, which is installed by ReFrame's bootstrap installer + ('libxml2', '2.11.5'), # Required by lxml, which is installed by ReFrame's bootstrap installer +] + +use_pip = True + +exts_list = [ + # ReFrame's bootstrap script is intended to run with zero dependencies. It downloads all python deps for ReFrame + # into a %(installdir)/external directory. ReFrame's main executable (reframe) adds this dir to python's sys.path + # so that ReFrame (and only ReFrame) will find & use all of these dependencies. + # In EasyBuild, we should adhere to this installation method because a) it is how ReFrame is meant to be used and + # b) it isolates all of ReFrame dependencies from any other python code you run. Thus, there is no chance that + # a test will pick up on any python deps from ReFrame itself. + # For this to work, we need to disable download_dep_fail and sanity_pip_check, as both are _expected_ to fail + # for this setup. + ('reframe', version, { + # Deps are downloaded to %(installdir)/external, which won't polute the PYTHONPATH, so is ok + 'download_dep_fail': False, + # ReFrame uses its custom sys.path to find necessary packages, they are not on PYTYHONPATH + # Thus, the regular pip sanity check is expected to fail, even if ReFrame would run just fine + 'sanity_pip_check': False, + # Set modulename to False, as to skip the sanity_check-step from extension.py (python -c "import reframe") + # This step would fail, since the regular python interpreter wouldn't find the additional packages in + # %(installdir)/external. That's fine, as ReFrame should never be imported directly, only through the + # reframe command. + 'modulename': False, + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['d3343815ee3d2c330b91a1cdb924ba184119ed7d9fc88a4a754b939a4259df82'], + }), +] + +postinstallcmds = [ + "cp -a tools examples %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'examples'] +} + +sanity_check_commands = ['reframe -V'] + +# Since this is at the GCCcore toolchain level, make sure ReFrame is configured to purge modules before running +# any tests by default +modextravars = { + 'RFM_PURGE_ENVIRONMENT': '1', +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-Python-3.6.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-Python-3.6.eb new file mode 100644 index 00000000000..4e58793cd0a --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2-Python-3.6.eb @@ -0,0 +1,95 @@ +# This EasyConfig is made with older setuptools and wheel versions, so that it still works with Python-3.6.X +# For newer python versions, we suggest to use ReFrame-4.6.2.eb (without suffix) +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.2' +versionsuffix = '-Python-3.6' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +# Required by lxml, which is installed by ReFrame's bootstrap installer +osdependencies = [ + ('libxml2'), + ('libxslt', 'libxslt1.1'), +] + +# Listed as python_requires in https://github.com/reframe-hpc/reframe/blob/v4.6.2/setup.cfg +req_py_majver = 3 +req_py_minver = 6 + +# The setuptools in this EasyConfig is the latest that works for Python 3.6, but is too old for Python 3.12 +# See https://github.com/easybuilders/easybuild-easyconfigs/pull/21269#discussion_r1741570244 +max_py_majver = 3 +max_py_minver = 11 + +use_pip = True + +exts_list = [ + # stick to pip 21.3.1, which is compatible with Python 3.6 + # we still need pip outside of ReFrame's external dependencies, since the install cmd uses pip + ('pip', '21.3.1', { + 'use_pip': False, + 'checksums': ['fd11ba3d0fdb4c07fbc5ecbba0b1b719809420f25038f8ee3cd913d3faa3033a'], + }), + # Require new enough setuptools to install with e.g. pyproject.toml + # 59.6.0 is the latest compatible with Python 3.6 + ('setuptools', '59.6.0', { + 'use_pip': False, + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + 'checksums': ['22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373'], + }), + # stick to wheel 0.37.1, which is compatible with Python 3.6 + ('wheel', '0.37.1', { + 'source_tmpl': 'wheel-%(version)s-py2.py3-none-any.whl', + 'checksums': ['4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a'], + }), + # ReFrame's bootstrap script is intended to run with zero dependencies. It downloads all python deps for ReFrame + # into a %(installdir)/external directory. ReFrame's main executable (reframe) adds this dir to python's sys.path + # so that ReFrame (and only ReFrame) will find & use all of these dependencies. + # In EasyBuild, we should adhere to this installation method because a) it is how ReFrame is meant to be used and + # b) it isolates all of ReFrame dependencies from any other python code you run. Thus, there is no chance that + # a test will pick up on any python deps from ReFrame itself. + # For this to work, we need to disable download_dep_fail and sanity_pip_check, as both are _expected_ to fail + # for this setup. + ('reframe', version, { + # Deps are downloaded to %(installdir)/external, which won't polute the PYTHONPATH, so is ok + 'download_dep_fail': False, + # ReFrame uses its custom sys.path to find necessary packages, they are not on PYTYHONPATH + # Thus, the regular pip sanity check is expected to fail, even if ReFrame would run just fine + 'sanity_pip_check': False, + # Set modulename to False, as to skip the sanity_check-step from extension.py (python -c "import reframe") + # This step would fail, since the regular python interpreter wouldn't find the additional packages in + # %(installdir)/external. That's fine, as ReFrame should never be imported directly, only through the + # reframe command. + 'modulename': False, + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['d3343815ee3d2c330b91a1cdb924ba184119ed7d9fc88a4a754b939a4259df82'], + }), +] + +postinstallcmds = [ + "cp -a tools examples %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'examples'] +} + +sanity_check_commands = ['reframe -V'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2.eb b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2.eb new file mode 100644 index 00000000000..26e331c131e --- /dev/null +++ b/easybuild/easyconfigs/r/ReFrame/ReFrame-4.6.2.eb @@ -0,0 +1,91 @@ +easyblock = 'PythonBundle' + +name = 'ReFrame' +version = '4.6.2' + +homepage = 'https://github.com/reframe-hpc/reframe' +description = '''ReFrame is a framework for writing regression tests for HPC systems.''' + +toolchain = SYSTEM + +allow_system_deps = [('Python', SYS_PYTHON_VERSION)] + +# Required by lxml, which is installed by ReFrame's bootstrap installer +osdependencies = [ + ('libxml2'), + ('libxslt', 'libxslt1.1'), +] + +# We use pip, setuptools and wheel compatible with Python 3.7 and above +# Note that ReFrame itself is compatible also with Python 3.6 +# As listed in the python_requires in https://github.com/reframe-hpc/reframe/blob/v4.6.2/setup.cfg +# To use with Python 3.6, please install ReFrame-4.6.2-Python-3.6.eb instead +req_py_majver = 3 +req_py_minver = 7 + +use_pip = True + +exts_list = [ + # stick to pip 24.0, which is compatible with Python 3.7 + # we still need pip outside of ReFrame's external dependencies, since the install cmd uses pip + ('pip', '24.0', { + 'use_pip': False, + 'checksums': ['ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2'], + }), + # Require new enough setuptools to work with Python 3.12, which doesn't have pkgutil.ImpImporter anymore + # See https://github.com/pypa/setuptools/commit/6653e747c3815b140156249205397ef3719581ee + # 68.0.0 is the latest compatible with Python 3.7 + ('setuptools', '68.0.0', { + 'use_pip': False, + 'source_urls': ['https://pypi.python.org/packages/source/s/setuptools/'], + 'checksums': ['baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235'], + }), + # stick to wheel 0.42.0, which is compatible with Python 3.7 + ('wheel', '0.42.0', { + 'source_tmpl': 'wheel-%(version)s-py3-none-any.whl', + 'checksums': ['177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d'], + }), + # ReFrame's bootstrap script is intended to run with zero dependencies. It downloads all python deps for ReFrame + # into a %(installdir)/external directory. ReFrame's main executable (reframe) adds this dir to python's sys.path + # so that ReFrame (and only ReFrame) will find & use all of these dependencies. + # In EasyBuild, we should adhere to this installation method because a) it is how ReFrame is meant to be used and + # b) it isolates all of ReFrame dependencies from any other python code you run. Thus, there is no chance that + # a test will pick up on any python deps from ReFrame itself. + # For this to work, we need to disable download_dep_fail and sanity_pip_check, as both are _expected_ to fail + # for this setup. + ('reframe', version, { + # Deps are downloaded to %(installdir)/external, which won't polute the PYTHONPATH, so is ok + 'download_dep_fail': False, + # ReFrame uses its custom sys.path to find necessary packages, they are not on PYTYHONPATH + # Thus, the regular pip sanity check is expected to fail, even if ReFrame would run just fine + 'sanity_pip_check': False, + # Set modulename to False, as to skip the sanity_check-step from extension.py (python -c "import reframe") + # This step would fail, since the regular python interpreter wouldn't find the additional packages in + # %(installdir)/external. That's fine, as ReFrame should never be imported directly, only through the + # reframe command. + 'modulename': False, + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && " + "./bootstrap.sh +docs +pygelf && cp -r external %(installdir)s && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/reframe-hpc/reframe/archive/'], + 'checksums': ['d3343815ee3d2c330b91a1cdb924ba184119ed7d9fc88a4a754b939a4259df82'], + }), +] + +postinstallcmds = [ + "cp -a tools examples %(installdir)s", + "mkdir -p %(installdir)s/share && cp -a share/completions %(installdir)s/share/completions", + r"sed -i 's@/\(python[0-9.]*\)$@/\1 -S@g' %(installdir)s/bin/reframe", +] + +sanity_check_paths = { + 'files': ['bin/reframe', + 'share/completions/reframe.bash', + 'share/completions/reframe.fish', + 'share/completions/reframe.tcsh'], + 'dirs': ['external', 'lib', 'tools', 'examples'] +} + +sanity_check_commands = ['reframe -V'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-param.eb b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-param.eb new file mode 100644 index 00000000000..c1b34919ce4 --- /dev/null +++ b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-param.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = 'ReaxFF' +version = '2.0' +# There are 2 variants of ReaxFF: the parameter tool and the simulation tool. +# Both provide a single executable with the same name though, so we distinguish +# them with a version suffix to avoid a name collision. +versionsuffix = '-param' + +homepage = 'https://www.engr.psu.edu/adri/ReaxffManual.aspx' + +description = """ +parameter generation code for the REAXFF Reactive force field program +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = ['%(name)s-param-%(version)s.tar.gz'] +checksums = [None] + +download_instructions = """ +Register at https://www.engr.psu.edu/adri/Home.aspx and follow instructions +""" + +buildopts = 'SUFFIX="-c -O3 -std=legacy"' + +files_to_copy = [ + (['reac'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/reac'], + 'dirs': [], +} + +moduleclass = 'chem' 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 new file mode 100644 index 00000000000..fe63e07bdec --- /dev/null +++ b/easybuild/easyconfigs/r/ReaxFF/ReaxFF-2.0-GCC-11.3.0-sim.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'ReaxFF' +version = '2.0' +# There are 2 variants of ReaxFF: the parameter tool and the simulation tool. +# Both provide a single executable with the same name though, so we distinguish +# them with a version suffix to avoid a name collision. +versionsuffix = '-sim' + +homepage = 'https://www.engr.psu.edu/adri/ReaxffManual.aspx' + +description = """ +simulation code of the REAXFF Reactive force field program +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +sources = ['%(name)s-sim-%(version)s.zip'] +checksums = [None] + +download_instructions = """ +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 && " +prebuildopts += 'rm *.o && ' + +buildopts = 'SUFFIX="-c -O3 -std=legacy"' + +files_to_copy = [ + (['reac'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/reac'], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/r/Redis/Redis-6.2.6-GCC-10.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-6.2.6-GCC-10.3.0.eb new file mode 100644 index 00000000000..dc92e1ab2ea --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-6.2.6-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '6.2.6' + +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': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +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-6.2.6-GCC-11.2.0.eb b/easybuild/easyconfigs/r/Redis/Redis-6.2.6-GCC-11.2.0.eb new file mode 100644 index 00000000000..44ff0264189 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-6.2.6-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '6.2.6' + +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': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +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.0.8-GCC-11.3.0.eb b/easybuild/easyconfigs/r/Redis/Redis-7.0.8-GCC-11.3.0.eb new file mode 100644 index 00000000000..7c3b17fd830 --- /dev/null +++ b/easybuild/easyconfigs/r/Redis/Redis-7.0.8-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Redis' +version = '7.0.8' + +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': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://download.redis.io/releases'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['06a339e491306783dcf55b97f15a5dbcbdc01ccbde6dc23027c475cab735e914'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +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.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/Redland/Redland-1.0.17-GCC-12.3.0.eb b/easybuild/easyconfigs/r/Redland/Redland-1.0.17-GCC-12.3.0.eb new file mode 100644 index 00000000000..7217999a898 --- /dev/null +++ b/easybuild/easyconfigs/r/Redland/Redland-1.0.17-GCC-12.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'Redland' +version = '1.0.17' + +homepage = 'https://librdf.org/raptor' +description = """Redland is a set of free software C libraries that + provide support for the Resource Description Framework (RDF).""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://download.librdf.org/source'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681'] + +dependencies = [ + ('Rasqal', '0.9.33'), + ('Raptor', '2.0.16'), + ('PostgreSQL', '16.1'), + ('MariaDB', '11.6.0'), + ('unixODBC', '2.3.12'), + ('SQLite', '3.42.0'), + ('libtool', '2.4.7'), +] + +sanity_check_paths = { + 'files': [ + 'include/%(namelower)s.h', + 'bin/%(namelower)s-config', + 'bin/%(namelower)s-db-upgrade', + 'lib/librdf.%s' % SHLIB_EXT, + ], + 'dirs': ['share/%(namelower)s'], +} + +sanity_check_commands = ['%(namelower)s-config --help'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb b/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb new file mode 100644 index 00000000000..9c084bba01d --- /dev/null +++ b/easybuild/easyconfigs/r/RegTools/RegTools-0.5.2-foss-2021b.eb @@ -0,0 +1,39 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'RegTools' +version = '0.5.2' + +homepage = 'https://regtools.readthedocs.org' +description = """RegTools is a set of tools that integrate DNA-seq and RNA-seq data to help interpret mutations in a +regulatory and splicing context.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/griffithlab/%(namelower)s/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['24d3bc18174237e0fc2d0330839c8dc21c97cdb7d6e528c518188c10f17f3e7e'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +# required by included scripts +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), # required by create_IGVsessions.py script + ('R', '4.1.2'), +] + +# 'make install' is not supported... +install_cmd = 'mkdir %(installdir)s/bin && cp -a regtools %(installdir)s/bin/ && ' +install_cmd += 'cp -a %(builddir)s/regtools-%(version)s/scripts %(installdir)s/' + +sanity_check_paths = { + 'files': ['bin/regtools'], + 'dirs': ['scripts'], +} + +sanity_check_commands = ['regtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RegTools/RegTools-1.0.0-foss-2022b.eb b/easybuild/easyconfigs/r/RegTools/RegTools-1.0.0-foss-2022b.eb new file mode 100644 index 00000000000..855e142a17c --- /dev/null +++ b/easybuild/easyconfigs/r/RegTools/RegTools-1.0.0-foss-2022b.eb @@ -0,0 +1,41 @@ +# updated: Denis Kristak (INUITS) +# +# updated: Lara Peeters (UGent) +easyblock = 'CMakeMake' + +name = 'RegTools' +version = '1.0.0' + +homepage = 'https://regtools.readthedocs.org' +description = """RegTools is a set of tools that integrate DNA-seq and RNA-seq data to help interpret mutations in a +regulatory and splicing context.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://github.com/griffithlab/%(namelower)s/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['ed2b9db6b71b943924002653caee18511a22ed7cc3c88f428e7e9e0c2e4f431b'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +# required by included scripts +dependencies = [ + ('Python', '3.10.8'), + ('PyYAML', '6.0'), # required by create_IGVsessions.py script + ('R', '4.2.2'), +] + +# 'make install' is not supported... +install_cmd = 'mkdir %(installdir)s/bin && cp -a regtools %(installdir)s/bin/ && ' +install_cmd += 'cp -a %(builddir)s/regtools-%(version)s/scripts %(installdir)s/' + +sanity_check_paths = { + 'files': ['bin/regtools'], + 'dirs': ['scripts'], +} + +sanity_check_commands = ['regtools --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Regenie/Regenie-3.1.2-GCC-11.2.0.eb b/easybuild/easyconfigs/r/Regenie/Regenie-3.1.2-GCC-11.2.0.eb new file mode 100644 index 00000000000..09b2ac462d6 --- /dev/null +++ b/easybuild/easyconfigs/r/Regenie/Regenie-3.1.2-GCC-11.2.0.eb @@ -0,0 +1,47 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# we recommend to use --download-timeout=1000 when fetching the files + +easyblock = 'MakeCp' + +name = 'Regenie' +version = '3.1.2' + +homepage = 'https://rgcgithub.github.io/regenie' +description = """Regenie is a C++ program for whole genome regression modelling of large genome-wide +association studies. It is developed and supported by a team of scientists at the Regeneron Genetics Center.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/rgcgithub/regenie/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(namelower)s-%(version)s_Makefile.patch'] +checksums = [ + 'b2e5e98bb310d9b9071ae5c63c5207be853bb1ec7918574e1acfdd0c83e744ff', # v3.1.2.tar.gz + '8be5d4b3b237d7a1820727061227857770554970aa136da614b71c14767e655e', # regenie-3.1.2_Makefile.patch +] + +dependencies = [ + ('Boost', '1.55.0'), + ('BGEN-enkre', '1.1.7'), + ('OpenBLAS', '0.3.18'), +] + +build_cmd = "make BGEN_PATH=$EBROOTBGENMINENKRE HAS_BOOST_IOSTREAM=1 " +build_cmd += "OPENBLAS_ROOT=$EBROOTOPENBLAS BOOST=$EBROOTBOOST STATIC=0" + +files_to_copy = [ + (['regenie'], 'bin'), + (['example/*'], 'example'), + (['docs/*'], 'docs'), +] + +sanity_check_commands = ['regenie --help'] + +sanity_check_paths = { + 'files': ['bin/regenie'], + 'dirs': ['bin', 'example', 'docs'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Regenie/regenie-3.1.2_Makefile.patch b/easybuild/easyconfigs/r/Regenie/regenie-3.1.2_Makefile.patch new file mode 100644 index 00000000000..3fc4820cc4d --- /dev/null +++ b/easybuild/easyconfigs/r/Regenie/regenie-3.1.2_Makefile.patch @@ -0,0 +1,41 @@ +Patch to remove 3rd party software and replace lapack(e) with openblas and boost 1.55 +base on the work of Author: J. Sassmannshausen NHS/GSTT +diff -ruN regenie-3.1.1.orig/Makefile regenie-3.1.1/Makefile +--- regenie-3.1.1.orig/Makefile 2022-05-05 10:59:29.000000000 -0700 ++++ regenie-3.1.1/Makefile 2022-06-21 13:34:54.464076000 -0700 +@@ -44,7 +44,7 @@ + # detect OS architecture and add flags + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Linux) +- INC = -I${BGEN_PATH}/3rd_party/boost_1_55_0 ++ INC = -I${BOOST} + CFLAGS += -fopenmp + ifeq ($(strip $(STATIC)),1) + LPATHS = -static-libgcc -static-libstdc++ +@@ -103,10 +103,10 @@ + INC += -I${OPENBLAS_ROOT}/include/ + # static linking + ifeq ($(strip $(STATIC)),1) +- SLIBS += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -llapack -llapacke -lopenblas ++ SLIBS += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -lopenblas + # dynamic linking + else +- DLIBS += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -llapack -llapacke -lopenblas ++ DLIBS += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -lopenblas -lgfortran + endif + endif + endif +@@ -119,11 +119,10 @@ + OBJECTS = $(patsubst %.cpp,%.o,$(wildcard ./src/*.cpp)) + + PGEN_PATH = ./external_libs/pgenlib/ +-INC += -I${PGEN_PATH} -I${PGEN_PATH}/simde/ -I${PGEN_PATH}/include/ -I./external_libs/cxxopts/include/ -I./external_libs/LBFGSpp/include/ -I${BGEN_PATH} -I./external_libs/eigen-3.4.0/ -I${BGEN_PATH}/genfile/include/ -I${BGEN_PATH}/3rd_party/boost_1_55_0/ -I${BGEN_PATH}/3rd_party/zstd-1.1.0/lib -I${BGEN_PATH}/db/include/ -I${BGEN_PATH}/3rd_party/sqlite3 -I./external_libs/ ++INC += -I${PGEN_PATH} -I${PGEN_PATH}/simde/ -I${PGEN_PATH}/include/ -I./external_libs/cxxopts/include/ -I./external_libs/LBFGSpp/include/ -I./external_libs/eigen-3.4.0/ -I${BGEN_PATH}/include/ -I${BOOST}/include -I./external_libs/ + +-LPATHS += ${LIBMKL} -L${BGEN_PATH}/build/ -L${BGEN_PATH}/build/3rd_party/zstd-1.1.0/ -L${BGEN_PATH}/build/db/ -L${BGEN_PATH}/build/3rd_party/sqlite3/ -L${BGEN_PATH}/build/3rd_party/boost_1_55_0 -L/usr/lib/ + +-LIBS += ${SLIBS} -lbgen -lzstd -ldb -lsqlite3 -lboost ++LIBS += ${SLIBS} -lbgen -lzstd -ldb -lsqlite3 -lboost_system -lboost_filesystem -lboost_thread -lboost_timer + LIBS += -lz ${DLIBS} -lm -ldl -lgfortran + + diff --git a/easybuild/easyconfigs/r/Relate/Relate-20211123-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/r/Relate/Relate-20211123-foss-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..22e5374dd0a --- /dev/null +++ b/easybuild/easyconfigs/r/Relate/Relate-20211123-foss-2020b-R-4.0.3.eb @@ -0,0 +1,81 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakeMake' + +name = 'Relate' +version = '20211123' +local_commit = '78964f4' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://myersgroup.github.io/relate/' +description = "Software for estimating genome-wide genealogies for thousands of samples" +citing = """ +[1] Leo Speidel, Marie Forest, Sinan Shi, Simon Myers. A method for estimating genome-wide + genealogies for thousands of samples. Nature Genetics 51: 1321-1329, 2019. +[2] Leo Speidel, Lara Cassidy, Robert W. Davies, Garrett Hellenthal, Pontus Skoglund, Simon Myers. + Inferring population histories for ancient genomes using genome-wide genealogies. + bioRxiv:2021.02.17.431573. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'MyersGroup' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-20211123_add-cmake-install-targets.patch'] +checksums = [ + 'cc19a50036f78ede9f4d52cc0cbb81d90d1bdb51f8b70a1f001a4f32dd26dbd0', # 78964f4.tar.gz + # Relate-20211123_add-cmake-install-targets.patch + 'd4565aeef0036013b82b37e00909965a6447ab14b154caa3e304307d6f7818e4', +] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('zlib', '1.2.11'), + # Python (numpy), and R required for some scripts + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('R', '4.0.3'), +] + +runtest = 'test' + +# script directories to add to path: +local_script_dirs = ['DetectSelection', 'EstimatePopulationSize', 'PrepareInputFiles', 'RelateParallel', + 'SampleBranchLengths', 'TreeView'] +# un/comment as appropriate: +# local_script_dirs += ['RelateLSF'] +# local_script_dirs += ['EstimatePopulationSizeSGE', 'RelateSGE'] +# local_script_dirs += ['RelateSlurm'] + +local_bins = ['bin/%s%s' % (name, x) for x in ['', 'CoalescentRate', 'Extract', 'FileFormats', + 'MutationRate', 'Selection', 'TreeView']] +local_libs = ['lib/libtskitStatic.a'] + [ + 'lib/lib%s%s' % (x, y) for x in ['gzstream', 'kastore', 'relate'] for y in ['Shared.%s' % SHLIB_EXT, 'Static.a'] +] + +sanity_check_paths = { + 'files': local_bins + local_libs, + 'dirs': ['bin', 'lib', 'example'] + ['scripts/%s' % x for x in local_script_dirs], +} + +sanity_check_commands = [ + "%(name)s --help", + "cd %(builddir)s/relate-*/example && gunzip data/*.gz && Relate --mode All -m 1.25e-8 -N 30000 \ + --haps data/example.haps --sample data/example.sample --map data/genetic_map_*.txt \ + --annot data/example.annot --seed 1 -o example", +] + +modextrapaths = {'PATH': ['scripts/%s' % x for x in local_script_dirs]} + +modloadmsg = """ +Relate provides various scripts for parallel execution, supporting a variety of schedulers (LSF, + SGE, Slurm), located in `$EBROOTRELATE/scripts`. If the suitable script directory is not already + in `$PATH`, you can add this with: + [*] LSF : export PATH=$EBROOTRELATE/scrips/RelateLSF:$PATH + [*] SGE : export PATH=$EBROOTRELATE/scrips/RelateSGE:$EBROOTRELATE/scripts/EstimatePopulationSizeSGE:$PATH + [*] Slurm : export PATH=$EBROOTRELATE/scrips/RelateSlurm:$PATH + This should not be necessary for the other data preparation, output and analysis scripts included. +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Relate/Relate-20211123_add-cmake-install-targets.patch b/easybuild/easyconfigs/r/Relate/Relate-20211123_add-cmake-install-targets.patch new file mode 100644 index 00000000000..650f3ce04b1 --- /dev/null +++ b/easybuild/easyconfigs/r/Relate/Relate-20211123_add-cmake-install-targets.patch @@ -0,0 +1,35 @@ +Author: Jasper Grimm +--- +Add CMake install targets (for bin, lib, scripts and example) +Install shared and static libraries to lib instead of bin + +diff -Nru relate-78964f420ce99e28887d7756d0c34bcebfa07130.orig/CMakeLists.txt relate-78964f420ce99e28887d7756d0c34bcebfa07130/CMakeLists.txt +--- relate-78964f420ce99e28887d7756d0c34bcebfa07130.orig/CMakeLists.txt 2021-11-25 16:59:55.000000000 +0000 ++++ relate-78964f420ce99e28887d7756d0c34bcebfa07130/CMakeLists.txt 2021-11-26 10:46:14.000000000 +0000 +@@ -17,8 +17,9 @@ + + # Set dir + set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin) ++set(CMAKE_LIBRARY_DIR ${CMAKE_SOURCE_DIR}/lib) + set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) +-set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) ++set(LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_DIR}) + set(PROJECT_SOURCE_DIR ${CMAKE_SOURCE_DIR}/include/src) + set(PIPELINE_DIR ${CMAKE_SOURCE_DIR}/include/pipeline) + set(EVALUATE_DIR ${CMAKE_SOURCE_DIR}/include/evaluate) +@@ -53,3 +54,15 @@ + enable_testing() + add_test(UnitTest ${CMAKE_BINARY_DIR}/Tests) + add_custom_command(TARGET Tests COMMENT "Run tests" POST_BUILD WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND Tests) ++ ++ ++INSTALL ( TARGETS Relate RelateCoalescentRate RelateExtract RelateFileFormats RelateMutationRate RelateSelection RelateTreeView RUNTIME DESTINATION bin ) ++ ++INSTALL ( TARGETS relateStatic relateShared gzstreamShared gzstreamStatic kastoreShared kastoreStatic tskitStatic ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ ++INSTALL ( DIRECTORY scripts DESTINATION . USE_SOURCE_PERMISSIONS ) ++ ++INSTALL ( DIRECTORY example DESTINATION . USE_SOURCE_PERMISSIONS ) diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb index e8ef0ee102f..786360704ba 100644 --- a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb @@ -14,7 +14,7 @@ checksums = ['e294396f49ec236626c47020ce3c893ba08a50bce204e1d51a074978d215b558'] dependencies = [ ('Perl', '5.26.0'), - ('TRF', '4.09', '-linux64', True), + ('TRF', '4.09', '-linux64', SYSTEM), ('HMMER', '3.1b2'), ] diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-iccifort-2017.4.196-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-iccifort-2017.4.196-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb index 52f3b80f931..7eafecb7975 100644 --- a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-iccifort-2017.4.196-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-iccifort-2017.4.196-GCC-6.4.0-2.28-Perl-5.26.0-HMMER.eb @@ -14,7 +14,7 @@ checksums = ['e294396f49ec236626c47020ce3c893ba08a50bce204e1d51a074978d215b558'] dependencies = [ ('Perl', '5.26.0'), - ('TRF', '4.09', '-linux64', True), + ('TRF', '4.09', '-linux64', SYSTEM), ('HMMER', '3.1b2'), ] diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-intel-2018b-Perl-5.28.0-HMMER.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-intel-2018b-Perl-5.28.0-HMMER.eb index 49bf1b790e1..ffb217fc6f4 100644 --- a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-intel-2018b-Perl-5.28.0-HMMER.eb +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.8-intel-2018b-Perl-5.28.0-HMMER.eb @@ -14,7 +14,7 @@ checksums = ['e294396f49ec236626c47020ce3c893ba08a50bce204e1d51a074978d215b558'] dependencies = [ ('Perl', '5.28.0'), - ('TRF', '4.09', '-linux64', True), + ('TRF', '4.09', '-linux64', SYSTEM), ('HMMER', '3.2.1'), ] diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.9-p2-gompi-2019b-HMMER.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.9-p2-gompi-2019b-HMMER.eb index bb5f15e74c3..9f6c7bc0b01 100644 --- a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.9-p2-gompi-2019b-HMMER.eb +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.0.9-p2-gompi-2019b-HMMER.eb @@ -25,7 +25,7 @@ checksums = [ dependencies = [ ('Perl', '5.30.0'), - ('TRF', '4.09', '-linux64', True), + ('TRF', '4.09', '-linux64', SYSTEM), ('HMMER', '3.2.1'), ] diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.2-p1-foss-2020b.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.2-p1-foss-2020b.eb index 726cafbe039..f342fbdcfe0 100644 --- a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.2-p1-foss-2020b.eb +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.2-p1-foss-2020b.eb @@ -36,10 +36,14 @@ dependencies = [ local_default_search_engine = 'RMBlast' -preinstall_cmd = './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' -preinstall_cmd += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' -preinstall_cmd += '-default_search_engine %s' % local_default_search_engine.lower() -# preinstall_cmd += '-libdir="RepeatMasker/Libraries" +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] sanity_check_paths = { 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb new file mode 100644 index 00000000000..299da52fa56 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.4-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'RepeatMasker' +version = '4.1.4' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats + and low complexity DNA sequences.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://www.repeatmasker.org/%(name)s'] +sources = [ + SOURCE_TAR_GZ, + # optional but recommended: RepBase RepeatMasker Edition + # requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php + # { + # 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz', + # 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1", + # }, +] +checksums = ['d7af5f49b7ecc5fb90e66956c85877220ec461f6e4d54e06a5996bb2fd6b63fa'] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), + ('h5py', '3.7.0'), + # At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match + ('HMMER', '3.3.2'), + ('RMBlast', '2.13.0'), +] + +local_default_search_engine = 'RMBlast' + +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] + +sanity_check_paths = { + 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], + 'dirs': ['Libraries', 'util'], +} + +sanity_check_commands = ['RepeatMasker -help'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2021a.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2021a.eb new file mode 100644 index 00000000000..85b04e1a138 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2021a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'RepeatMasker' +version = '4.1.5' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats + and low complexity DNA sequences.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://www.repeatmasker.org/%(name)s'] +sources = [ + SOURCE_TAR_GZ, + # optional but recommended: RepBase RepeatMasker Edition + # requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php + # { + # 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz', + # 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1", + # }, +] +checksums = ['16e07f9efd99adf15f4492b0e334df5ad4ea6ca38ddf62bdd180d257f2f4753f'] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('TRF', '4.09.1'), + ('h5py', '3.2.1'), + # At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match + ('HMMER', '3.3.2'), + ('RMBlast', '2.14.0'), +] + +local_default_search_engine = 'RMBlast' + +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] + +sanity_check_paths = { + 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], + 'dirs': ['Libraries', 'util'], +} + +sanity_check_commands = ['RepeatMasker -help'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2022a.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2022a.eb new file mode 100644 index 00000000000..d7e8df4c81d --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.5-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'RepeatMasker' +version = '4.1.5' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats + and low complexity DNA sequences.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://www.repeatmasker.org/%(name)s'] +sources = [ + SOURCE_TAR_GZ, + # optional but recommended: RepBase RepeatMasker Edition + # requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php + # { + # 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz', + # 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1", + # }, +] +checksums = ['16e07f9efd99adf15f4492b0e334df5ad4ea6ca38ddf62bdd180d257f2f4753f'] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), + ('h5py', '3.7.0'), + # At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match + ('HMMER', '3.3.2'), + ('RMBlast', '2.13.0'), +] + +local_default_search_engine = 'RMBlast' + +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] + +sanity_check_paths = { + 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], + 'dirs': ['Libraries', 'util'], +} + +sanity_check_commands = ['RepeatMasker -help'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.7-p1-foss-2023a.eb b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.7-p1-foss-2023a.eb new file mode 100644 index 00000000000..90b43c163a0 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatMasker/RepeatMasker-4.1.7-p1-foss-2023a.eb @@ -0,0 +1,57 @@ +easyblock = 'Tarball' + +name = 'RepeatMasker' +version = '4.1.7-p1' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatMasker is a program that screens DNA sequences for interspersed repeats + and low complexity DNA sequences.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://www.repeatmasker.org/%(name)s'] +sources = [ + SOURCE_TAR_GZ, + # optional but recommended: RepBase RepeatMasker Edition + # requires subscription and academic license, download from here: https://www.girinst.org/server/RepBase/index.php + # { + # 'filename': 'RepBaseRepeatMaskerEdition-20181026.tar.gz', + # 'extract_cmd': "tar -xzf %s -C %(builddir)s/%(name)s/Libraries --strip-components 1", + # }, +] +checksums = ['15222b39178f19c116282437190b64c5ba68f62b0f2044b3bbcbda5e02748993'] + +dependencies = [ + ('Python', '3.11.3'), + ('Perl', '5.36.1'), + ('TRF', '4.09.1'), + ('h5py', '3.9.0'), + # At least one search engine of: RMBlast, HMMER, ABBlast/WUBlast, Cross_Match + ('HMMER', '3.4'), + ('RMBlast', '2.14.1'), +] + +local_default_search_engine = 'RMBlast' + +local_config_command = 'cd %(installdir)s &&' +local_config_command += './configure -perlbin "$EBROOTPERL/bin/perl" -trf_prgm "$EBROOTTRF/bin/trf" ' +local_config_command += '-hmmer_dir "$EBROOTHMMER/bin" -rmblast_dir "$EBROOTRMBLAST/bin" ' +local_config_command += '-default_search_engine %s' % local_default_search_engine.lower() + +postinstallcmds = [local_config_command] + +fix_perl_shebang_for = ['RepeatMasker'] + +sanity_check_paths = { + 'files': ['RepeatMasker', 'RepeatMaskerConfig.pm'], + 'dirs': ['Libraries', 'util'], +} + +sanity_check_commands = ['RepeatMasker -help'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.2a-foss-2020b.eb b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.2a-foss-2020b.eb new file mode 100644 index 00000000000..97c902e910b --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.2a-foss-2020b.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) + +name = 'RepeatModeler' +version = '2.0.2a' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatModeler is a de novo transposable element (TE) family identification and modeling package. """ + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://www.repeatmasker.org/RepeatModeler'] +sources = ['RepeatModeler-%(version)s.tar.gz'] +checksums = ['8a9d69c8d7afbfb07f8bb6560c5f2fd35e61e5e7ccd01361e4f9a63f4ef3e50c'] + +dependencies = [ + ('Perl', '5.32.0'), + ('TRF', '4.09.1'), + ('RMBlast', '2.11.0'), + ('RepeatMasker', '4.1.2-p1'), + ('RepeatScout', '1.0.6'), + ('RECON', '1.08'), + ('Kent_tools', '411'), + ('CD-HIT', '4.8.1'), + # Optional (required for LTR pipeline): + ('MAFFT', '7.475', '-with-extensions'), + ('GenomeTools', '1.6.1'), # for LTRHarvest + ('LTR_retriever', '2.9.0'), + ('TWL-NINJA', '0.97-cluster_only'), +] + +exts_defaultclass = 'PerlModule' +exts_list = [ + ('Devel::Size', '0.83', { + 'source_tmpl': 'Devel-Size-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK'], + 'checksums': ['757a67e0aa59ae103ea5ca092cbecc025644ebdc326731688ffab6f8823ef4b3'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb new file mode 100644 index 00000000000..43e0d80adb8 --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatModeler/RepeatModeler-2.0.4-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'Tarball' + +name = 'RepeatModeler' +version = '2.0.4' + +homepage = 'https://www.repeatmasker.org/' +description = """RepeatModeler is a de novo transposable element (TE) family identification and modeling package. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://www.repeatmasker.org/RepeatModeler'] +sources = [SOURCE_TAR_GZ] +checksums = ['94aad46cc70911d48de3001836fc3165adb95b2b282b5c53ab0d1da98c27a6b6'] + +dependencies = [ + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), + ('RMBlast', '2.13.0'), + ('RepeatMasker', '4.1.4'), + ('RepeatScout', '1.0.6'), + ('RECON', '1.08'), + ('Kent_tools', '442'), + ('CD-HIT', '4.8.1'), + # Optional (required for LTR pipeline): + ('MAFFT', '7.505', '-with-extensions'), + ('GenomeTools', '1.6.2'), # for LTRHarvest + ('LTR_retriever', '2.9.0'), + ('TWL-NINJA', '0.98-cluster_only'), +] + +_tmpl = "\"/'%s' =>/,/'value' => '/s|'value' =>.*|'value' => '%s'|\"" + +postinstallcmds = [ + ' '.join([ + 'sed -i', + '-e', _tmpl % ('CDHIT_DIR', '$EBROOTCDMINHIT/bin'), + '-e', _tmpl % ('GENOMETOOLS_DIR', '$EBROOTGENOMETOOLS/bin'), + '-e', _tmpl % ('LTR_RETRIEVER_DIR', '$EBROOTLTR_RETRIEVER'), + '-e', _tmpl % ('MAFFT_DIR', '$EBROOTMAFFT/bin'), + '-e', _tmpl % ('NINJA_DIR', '$EBROOTTWLMINNINJA/bin'), + '-e', _tmpl % ('RECON_DIR', '$EBROOTRECON/bin'), + '-e', _tmpl % ('REPEATMASKER_DIR', '$EBROOTREPEATMASKER'), + '-e', _tmpl % ('RMBLAST_DIR', '$EBROOTRMBLAST/bin'), + '-e', _tmpl % ('RSCOUT_DIR', '$EBROOTREPEATSCOUT'), + '-e', _tmpl % ('TRF_DIR', '$EBROOTTRF/bin'), + '-e', _tmpl % ('UCSCTOOLS_DIR', '$EBROOTKENT_TOOLS/bin'), + '%(installdir)s/RepModelConfig.pm', + ]), +] + +_bins = ['BuildDatabase', 'LTRPipeline', 'Refiner', 'RepeatClassifier', 'RepeatModeler', 'TRFMask', + 'util/CntSubst', 'util/Linup'] + +fix_perl_shebang_for = _bins + ['util/*.pl'] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': '', +} + +sanity_check_paths = { + 'files': _bins + ['Job.pm', 'RepeatUtil.pm', 'RepModelConfig.pm'], + 'dirs': ['Libraries', 'Matrices', 'util'], +} + +sanity_check_commands = ["RepeatModeler -help | grep 'RepeatModeler - Model repetitive DNA'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb b/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..b4926f2917b --- /dev/null +++ b/easybuild/easyconfigs/r/RepeatScout/RepeatScout-1.0.6-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'RepeatScout' +version = '1.0.6' + +homepage = 'https://www.repeatmasker.org/' +description = """De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner P.A. Developed and + tested with our multiple sequence version of RepeatScout ( 1.0.6 )""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://www.repeatmasker.org'] +sources = ['RepeatScout-%(version)s.tar.gz'] +checksums = ['31a44cf648d78356aec585ee5d3baf936d01eaba43aed382d9ac2d764e55b716'] + +dependencies = [ + ('Perl', '5.34.1'), + ('TRF', '4.09.1'), +] + +skipsteps = ['configure'] + +prebuildopts = "sed -i -e 's|mkdir|mkdir -p|g' -e 's|VERSION = .*|VERSION = %(version)s|g' Makefile &&" + +installopts = 'INSTDIR="%(installdir)s"' + +sanity_check_paths = { + 'files': [name, 'build_lmer_table', 'README'], + 'dirs': [], +} + +sanity_check_commands = [("RepeatScout 2>&1 | grep 'Usage:\nRepeatScout'", '')] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/ResistanceGA/JuliaCall-0.17.5-top_level_macro.patch b/easybuild/easyconfigs/r/ResistanceGA/JuliaCall-0.17.5-top_level_macro.patch new file mode 100644 index 00000000000..9b7e5180190 --- /dev/null +++ b/easybuild/easyconfigs/r/ResistanceGA/JuliaCall-0.17.5-top_level_macro.patch @@ -0,0 +1,20 @@ +diff -ruN JuliaCall_orig/inst/julia/JuliaObject.jl JuliaCall/inst/julia/JuliaObject.jl +--- JuliaCall_orig/inst/julia/JuliaObject.jl 2023-10-06 15:50:37.057320040 +0200 ++++ JuliaCall/inst/julia/JuliaObject.jl 2023-10-09 16:21:42.293384419 +0200 +@@ -74,14 +74,14 @@ + ## we should use JuliaObject for general AbstractArray + @static if julia07 + @suppress_err begin +- JuliaCall.sexpclass(x :: AbstractArray{T}) where {T} = RClass{:JuliaObject} ++ @eval JuliaCall.sexpclass(x :: AbstractArray{T}) where {T} = RClass{:JuliaObject} + end + + ## AbstractArray{Any} should be converted to R List + sexpclass(x :: AbstractArray{Any}) = RClass{:list} + else + @suppress_err begin +- JuliaCall.sexp(x :: AbstractArray{T}) where {T} = sexp(JuliaObject(x)) ++ @eval JuliaCall.sexp(x :: AbstractArray{T}) where {T} = sexp(JuliaObject(x)) + end + + ## AbstractArray{Any} should be converted to R List diff --git a/easybuild/easyconfigs/r/ResistanceGA/ResistanceGA-4.2-5-foss-2022a-R-4.2.1-Julia-1.9.2.eb b/easybuild/easyconfigs/r/ResistanceGA/ResistanceGA-4.2-5-foss-2022a-R-4.2.1-Julia-1.9.2.eb new file mode 100644 index 00000000000..83987de1e5a --- /dev/null +++ b/easybuild/easyconfigs/r/ResistanceGA/ResistanceGA-4.2-5-foss-2022a-R-4.2.1-Julia-1.9.2.eb @@ -0,0 +1,87 @@ +easyblock = 'Bundle' + +name = 'ResistanceGA' +version = '4.2-5' +local_commit = '04326a8' +local_juliaver = '1.9.2' +versionsuffix = '-R-%%(rver)s-Julia-%s' % local_juliaver + +homepage = 'https://github.com/wpeterman/ResistanceGA' +description = "An R package to optimize resistance surfaces using Genetic Algorithms." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('Julia', local_juliaver, '-linux-%s' % ARCH, SYSTEM), + ('Circuitscape', '5.12.3', '-Julia-%s' % local_juliaver, SYSTEM), + ('RCall', '0.13.17', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('Suppressor', '0.2.4', { + 'easyblock': 'JuliaPackage', + 'exts_filter': ("julia -e 'using %(ext_name)s'", ''), + 'preinstallopts': "export LD_LIBRARY_PATH=$EBROOTJULIA/lib/julia:$LD_LIBRARY_PATH && ", + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/JuliaIO/Suppressor.jl/archive/'], + 'checksums': ['5075b06ed6aa0956c786e5b5fe3d77571a4dd34e6d63b45e113c312729384cf4'], + }), + ('GA', '3.2.2', { + 'checksums': ['6245c634a11b8414bde7ed326b8c615512645489b19969619484c865e900bf8c'], + }), + ('MuMIn', '1.47.1', { + 'checksums': ['1223b5ada6f7d58220ac0267fa3473993190742646cbbb3dfe63895e61621af6'], + }), + ('spdep', '1.2-7', { + 'checksums': ['9dac594825bf2d0aa31e845bfec05d8ce206327840fe455391741dbbdf9c9eea'], + }), + ('JuliaCall', '0.17.5', { + 'patches': ['JuliaCall-0.17.5-top_level_macro.patch'], + 'checksums': [ + {'JuliaCall_0.17.5.tar.gz': '92542f9f02fe43702c18cf6c5a52fcbfc5ef3da6a2f73bfded773f4fc5edd90c'}, + {'JuliaCall-0.17.5-top_level_macro.patch': + '68508176c44fab479bce2a1a4e0302f835bd0d6a980abf860d713bb71f12145a'}, + ], + }), + ('XR', '0.7.2', { + 'checksums': ['7fc35f607d68095f861711fda9acbd8804829ad3915a22a407ab1e9fb89c1949'], + }), + ('XRJulia', '0.9.0', { + 'checksums': ['f59fddbe7ab65562f6e019ca7016417fff81f5b7e5f0ddeb00129aaaa6336f68'], + }), + (name, version, { + 'source_urls': ['https://github.com/wpeterman/ResistanceGA/archive/'], + 'sources': [{'download_filename': '04326a8.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6791c8b42559c0abe94b7a326961f45af2939905021cb9da7220383bf2ea3d75'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', +} + +# When loading R and Julia, there seems to be a library collision and Julia (namely Pkg module) doesn't work properly +# This is a workaround to make Julia find the correct libraries +modluafooter = """ +prepend_path("LD_LIBRARY_PATH", os.getenv("EBROOTJULIA") .. "/lib/julia") +""" + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Restrander/Restrander-20230713-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Restrander/Restrander-20230713-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..4580daeecca --- /dev/null +++ b/easybuild/easyconfigs/r/Restrander/Restrander-20230713-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'MakeCp' + +name = 'Restrander' +# No release or tag, so using the date of the last commit +version = '20230713' +github_account = 'mritchielab' +local_commit = '54a61fa' + +homepage = "https://github.com/mritchielab/restrander" +description = "A fast, accurate program for orienting and quality-checking cDNA sequencing reads." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(github_account)s/%(name)s/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['8b23c9992f81896b54d73c05b447f9002fe9482d848de16e1622e09961196237'] + +builddependencies = [ + ('binutils', '2.39'), +] + +files_to_copy = [ + (["restrander"], "bin/"), + 'README.md', + 'config', + 'figures', + 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/restrander', 'README.md'], + 'dirs': ['config', 'figures'], +} + +sanity_check_commands = ['restrander --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..3512d9cbffc --- /dev/null +++ b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.1.1-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# easybuild easyconfig +# +# John Dey +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +easyblock = 'CmdCp' + +name = 'RevBayes' +version = '1.1.1' + +homepage = 'https://revbayes.github.io/' + +description = """RevBayes provides an interactive environment for statistical computation in + phylogenetics. It is primarily intended for modeling, simulation, and Bayesian inference in + evolutionary biology, particularly phylogenetics.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/revbayes/revbayes/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['d61293fceac817d8203ed1e828661d76c73fa16bf04458a50a37057e99fd40c0'] + +builddependencies = [('CMake', '3.22.1')] + +dependencies = [ + ('Boost', '1.77.0'), +] + +start_dir = 'projects/cmake' +local_cmd = './build.sh -DCMAKE_CXX_FLAGS="-pthread" -DBoost_NO_BOOST_CMAKE=ON' +cmds_map = [('', local_cmd)] + +files_to_copy = [(['projects/cmake/rb'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/rb'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb new file mode 100644 index 00000000000..525ec2e7c03 --- /dev/null +++ b/easybuild/easyconfigs/r/RevBayes/RevBayes-1.2.1-gompi-2022a.eb @@ -0,0 +1,40 @@ +# easybuild easyconfig +# +# John Dey +# Fred Hutchinson Cancer Research Center - Seattle Washington - US +easyblock = 'CmdCp' + +name = 'RevBayes' +version = '1.2.1' + +homepage = 'https://revbayes.github.io' +description = """RevBayes provides an interactive environment for statistical computation in + phylogenetics. It is primarily intended for modeling, simulation, and Bayesian inference in + evolutionary biology, particularly phylogenetics.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://github.com/revbayes/revbayes/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['58c320ee7251a7a244aba57b471a6e695f3db8196ea4c9381bb2bc1076bcedfa'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.79.0'), +] + +start_dir = 'projects/cmake' +local_cmd = './build.sh -mpi true -DCMAKE_CXX_FLAGS="-pthread" -DBoost_NO_BOOST_CMAKE=ON' +cmds_map = [('', local_cmd)] + +files_to_copy = [(['projects/cmake/rb-mpi'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/rb-mpi'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.1.2-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.1.2-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..49cccf32791 --- /dev/null +++ b/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.1.2-foss-2021a-R-4.1.0.eb @@ -0,0 +1,43 @@ +## +# 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 = 'Rgurobi' +version = '9.1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://www.gurobi.com' +description = """Gurobi Optimizer %(version_major_minor)s interface""" +# NOTE not in the license list of EB +# software_license = 'LGPL-2.1' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['gurobi%(version)s_linux64.tar.gz'] +checksums = ['7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b'] + +dependencies = [ + ('R', '4.1.0'), + ('Gurobi', version), +] + +extract_sources = True +install_cmd = 'R CMD INSTALL R/gurobi_*.tar.gz --library=%(installdir)s --no-clean-on-error' + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['gurobi'], +} + +sanity_check_commands = ["echo 'library(gurobi)' | R -q --no-save"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.5.0-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.5.0-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..d21fd11e0be --- /dev/null +++ b/easybuild/easyconfigs/r/Rgurobi/Rgurobi-9.5.0-foss-2021a-R-4.1.0.eb @@ -0,0 +1,43 @@ +## +# 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 = 'Rgurobi' +version = '9.5.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://www.gurobi.com' +description = """Gurobi Optimizer %(version_major_minor)s interface""" +# NOTE not in the license list of EB +# software_license = 'LGPL-2.1' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://packages.gurobi.com/%(version_major_minor)s/'] +sources = ['gurobi%(version)s_linux64.tar.gz'] +checksums = ['bb542e5a5d1685f6e364eaf05ea6c5572485ffc37a2245169cf3cb40288bc29e'] + +dependencies = [ + ('R', '4.1.0'), + ('Gurobi', version), +] + +extract_sources = True +install_cmd = 'R CMD INSTALL R/gurobi_*.tar.gz --library=%(installdir)s --no-clean-on-error' + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': ['gurobi'], +} + +sanity_check_commands = ["echo 'library(gurobi)' | R -q --no-save"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/RheoTool/RheoTool-5.0-foss-2019b.eb b/easybuild/easyconfigs/r/RheoTool/RheoTool-5.0-foss-2019b.eb new file mode 100644 index 00000000000..b9117db641e --- /dev/null +++ b/easybuild/easyconfigs/r/RheoTool/RheoTool-5.0-foss-2019b.eb @@ -0,0 +1,46 @@ +easyblock = 'Binary' + +name = 'RheoTool' +version = '5.0' + +homepage = 'https://github.com/fppimenta/rheoTool' +description = """RheoTool is an open-source toolbox based on OpenFOAM to simulate Generalized Newtonian Fluids (GNF) +and viscoelastic fluids under pressure-driven and/or electrically-driven flows.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +source_urls = ['https://github.com/fppimenta/rheoTool/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2e0899684d6d7f9ddee0d93b39a6ed56262b171bc4e5536914645209b66003ed'] + +dependencies = [ + ('OpenFOAM', '7', '-20200508'), + ('Eigen', '3.3.7', '', SYSTEM), + ('PETSc', '3.12.4', '-Python-3.7.4'), +] + +extract_sources = True + +install_cmd = "source $FOAM_BASH && " +install_cmd += "export EIGEN_RHEO=$EBROOTEIGEN && " +install_cmd += "cd of70/src && " + +# variables of target install directory +install_cmd += "export WM_PROJECT_USER_DIR=%(installdir)s && " +install_cmd += "export FOAM_USER_APPBIN=%(installdir)s/bin && " +install_cmd += "export FOAM_USER_LIBBIN=%(installdir)s/lib && " +install_cmd += "export LD_LIBRARY_PATH=%(installdir)s/lib:$LD_LIBRARY_PATH && " + +install_cmd += "./Allwmake -j %(parallel)s " + +sanity_check_paths = { + 'files': ['bin/rheoBDFoam', 'lib/libthermoRheoTool.so'], + 'dirs': [], +} + +# source $FOAM_BASH must run before using RheoTool, otherwise there will be missing libraries +sanity_check_commands = ["source $FOAM_BASH && rheoBDFoam -help"] + +modloadmsg = "Please run 'source $FOAM_BASH' before using RheoTool." + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/r/Rhodium/Rhodium-1.2.0-foss-2022a.eb b/easybuild/easyconfigs/r/Rhodium/Rhodium-1.2.0-foss-2022a.eb new file mode 100644 index 00000000000..962c9b8aab0 --- /dev/null +++ b/easybuild/easyconfigs/r/Rhodium/Rhodium-1.2.0-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'Rhodium' +version = '1.2.0' + +homepage = 'https://github.com/Project-Platypus/Rhodium' +description = """Rhodium is an open source Python library for robust decision making (RDM) and + multiobjective robust decision making (MORDM), and exploratory modelling (EM).""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('poetry', '1.2.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('graphviz-python', '0.20.1'), + ('Platypus-Opt', '1.1.0'), + ('pydot', '1.4.2'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), +] + +use_pip = True + +exts_list = [ + ('mplcursors', '0.5.2', { + 'checksums': ['78febb32adf2d9040e2f6fc84b5e4cfb8f96b4ede4916fc418e5fffbcfdc0957'], + }), + ('PRIM', '0.5.0', { + 'checksums': ['22cebf7ce677f9eab80e4236ee34cd10e115a82b7eee436f6c7b21dddba302e4'], + }), + ('dill', '0.3.6', { + 'checksums': ['e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373'], + }), + ('multiprocess', '0.70.14', { + 'checksums': ['3eddafc12f2260d27ae03fe6069b12570ab4764ab59a75e81624fac453fbf46a'], + }), + ('salib', '1.4.7', { + 'modulename': 'SALib', + 'checksums': ['2e6cb19ec772d6cb7368feceae0f61e51f2d6afdbc4f8986a780b87d657b38cc'], + }), + (name, version, { + 'checksums': ['557b5914a4dce4ccb085bfa183ae083812161821bcb2aea743578e34b7c7405f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' 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 new file mode 100644 index 00000000000..e45a6645d00 --- /dev/null +++ b/easybuild/easyconfigs/r/Rivet/Rivet-3.1.7-gompi-2022a-HepMC3-3.2.5.eb @@ -0,0 +1,57 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'Rivet' +version = '3.1.7' +local_hepmc = "HepMC3" +local_hepmcver = "3.2.5" +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': '2022a'} +# Needed since Eigen complains about assertions otherwise +# http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html +toolchainopts = {'optarch': False} + +source_urls = ['https://www.hepforge.org/archive/rivet/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d18993298b79cc9c0f086780ad5251df4647c565ba4a99b692458dcbd597378a'] + +dependencies = [ + ('Python', '3.10.4'), + ('YODA', '1.9.7'), + ('fastjet', '3.4.0'), + ('fastjet-contrib', '1.049'), + ('HepMC3', '3.2.5'), + ('GSL', '2.7'), + ('zlib', '1.2.12') +] + +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`. +""" + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + # 'RIVET_ANALYSIS_PATH': '/path/to/share/Rivet/', # please adapt for system-wide shared non-default analysis +} + +moduleclass = 'phys' 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/Rmath/Rmath-4.3.2-foss-2023a.eb b/easybuild/easyconfigs/r/Rmath/Rmath-4.3.2-foss-2023a.eb new file mode 100644 index 00000000000..8378d7f8a8e --- /dev/null +++ b/easybuild/easyconfigs/r/Rmath/Rmath-4.3.2-foss-2023a.eb @@ -0,0 +1,46 @@ +# Easyconfig for Rmath +# Author: Caspar van Leeuwen +# SURFsara, Amsterdam, The Netherlands + +easyblock = 'ConfigureMake' + +name = 'Rmath' +version = '4.3.2' + +homepage = "https://www.r-project.org/" +description = """Rmath is the standalone version of the R math library. + Rmath can be used in your own C/C++ routines.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['http://cran.us.r-project.org/src/base/R-%(version_major)s/'] +sources = ['R-%(version)s.tar.gz'] +checksums = ['b3f5760ac2eee8026a3f0eefcb25b47723d978038eee8e844762094c860c452a'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('cURL', '8.0.1'), + ('libreadline', '8.2'), + ('PCRE2', '10.42'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13') +] + +# Copied from R-3.3.1-intel-2016b.eb. +# Again, unsure if these affect R-math: R documentation doesn't specify. +configopts = "--with-pic --enable-threads --with-x=no --with-pcre2" + +# Since we're only installing Rmath anyway, we don't care about R packages. +configopts += " --with-recommended-packages=no" + +# To build Rmath, docs say you need to execute 'make' in src/nmath/standalone +# https://cran.r-project.org/doc/manuals/r-devel/R-admin.html#Configuration-options +prebuildopts = 'cd src/nmath/standalone;' +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['lib/libRmath.a', 'lib/libRmath.%s' % SHLIB_EXT, 'include/Rmath.h'], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/r/RnBeads/RnBeads-2.14.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/RnBeads/RnBeads-2.14.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2d7ec893ec0 --- /dev/null +++ b/easybuild/easyconfigs/r/RnBeads/RnBeads-2.14.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'RnBeads' +version = '2.14.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://rnbeads.org' +description = """RnBeads is an R package for comprehensive analysis of DNA methylation data obtained with any +experimental protocol that provides single-CpG resolution.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('Ghostscript', '9.56.1'), + ('Zip', '3.0'), +] + +exts_default_options = { + 'source_urls': [ + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/', + 'https://bioconductor.org/packages/3.15/bioc/src/contrib/Archive/%(name)s', + 'https://bioconductor.org/packages/3.15/data/annotation/src/contrib/', + 'https://bioconductor.org/packages/3.15/data/experiment/src/contrib/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz' +} + +exts_defaultclass = 'RPackage' + +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_list = [ + (name, version, { + 'checksums': ['858c6920745f54cb141e828ba80e366e3a803be2658cafc11d7224049295b6e4'], + }), + ('RnBeads.hg19', '1.28.0', { + 'checksums': ['f017cb82d72bd7d3b9cac2d57cffe441d33c0eb2cc37f531029f6b634dc4728f'], + }), + ('RnBeads.hg38', '1.28.0', { + 'checksums': ['23f7e1cd0bdaf01c915bda9b7d4b2d730867b0472e7139a61ee3179b13aabf71'], + }), + ('RnBeads.mm10', '2.4.1', { + 'checksums': ['449d2d6df80b967482b5d69360567023853464f704d8ab7a5646cd22e2eff181'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2021a.eb b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2021a.eb new file mode 100644 index 00000000000..df89d796e47 --- /dev/null +++ b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2021a.eb @@ -0,0 +1,48 @@ +easyblock = 'Tarball' + +name = 'Roary' +version = '3.13.0' + +homepage = 'https://github.com/sanger-pathogens/Roary' +description = "Rapid large-scale prokaryote pan genome analysis" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/sanger-pathogens/Roary/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Roary-3.13.0_fix-CD-HIT-regexp.patch'] +checksums = [ + '375f83c8750b0f4dea5b676471e73e94f3710bc3a327ec88b59f25eae1c3a1e8', # v3.13.0.tar.gz + '28b4176ebf20c7bc6f38fdf1cf7e71cae8bd823297543f93fbc28a0c1c3cf791', # Roary-3.13.0_fix-CD-HIT-regexp.patch +] + +dependencies = [ + ('Perl', '5.32.1'), + ('CD-HIT', '4.8.1'), + ('BLAST+', '2.11.0'), + ('MCL', '14.137'), + ('BEDTools', '2.30.0'), + ('PRANK', '170427'), + ('parallel', '20210622'), + ('FastTree', '2.1.11'), + ('Kraken', '1.1.1'), + ('BioPerl', '1.7.8'), + ('R', '4.1.0'), +] + +sanity_check_paths = { + 'files': ['bin/roary', 'lib/Bio/Roary.pm'], + 'dirs': ['lib/Bio/Roary'], +} + +modextrapaths = {'PERL5LIB': 'lib'} + +sanity_check_commands = [ + "perldoc -lm Bio::Roary", + "roary -a", + # make sure all (optional) dependencies are found + # grep exits with '1' if no matches are found, hence we need to test the exit code ($?) + "roary -a 2>&1 | grep 'not found'; test $? -eq 1", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb new file mode 100644 index 00000000000..d748ba4f57b --- /dev/null +++ b/easybuild/easyconfigs/r/Roary/Roary-3.13.0-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'Tarball' + +name = 'Roary' +version = '3.13.0' + +homepage = 'https://github.com/sanger-pathogens/Roary' +description = "Rapid large-scale prokaryote pan genome analysis" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/sanger-pathogens/Roary/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Roary-3.13.0_fix-CD-HIT-regexp.patch'] +checksums = [ + '375f83c8750b0f4dea5b676471e73e94f3710bc3a327ec88b59f25eae1c3a1e8', # v3.13.0.tar.gz + '28b4176ebf20c7bc6f38fdf1cf7e71cae8bd823297543f93fbc28a0c1c3cf791', # Roary-3.13.0_fix-CD-HIT-regexp.patch +] + +dependencies = [ + ('Perl', '5.34.1'), + ('CD-HIT', '4.8.1'), + ('BLAST+', '2.13.0'), + ('MCL', '14.137'), + ('BEDTools', '2.30.0'), + ('PRANK', '170427'), + ('parallel', '20220722'), + ('FastTree', '2.1.11'), + ('Kraken', '1.1.1'), + ('BioPerl', '1.7.8'), + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/roary', 'lib/Bio/Roary.pm'], + 'dirs': ['lib/Bio/Roary'], +} + +modextrapaths = {'PERL5LIB': 'lib'} + +sanity_check_commands = [ + "perldoc -lm Bio::Roary", + "roary -a", + # make sure all (optional) dependencies are found + # grep exits with '1' if no matches are found, hence we need to test the exit code ($?) + "roary -a 2>&1 | grep 'not found'; test $? -eq 1", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/Rtree/Rtree-1.0.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Rtree/Rtree-1.0.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5650717ef68 --- /dev/null +++ b/easybuild/easyconfigs/r/Rtree/Rtree-1.0.1-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Rtree' +version = '1.0.1' + +homepage = 'https://toblerity.org/rtree/' +description = """Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial + indexing features for the spatially curious Python user.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['222121699c303a64065d849bf7038b1ecabc37b65c7fa340bedb38ef0e805429'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('libspatialindex', '1.9.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..e3bb2351383 --- /dev/null +++ b/easybuild/easyconfigs/r/Rtree/Rtree-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'Rtree' +version = '1.2.0' + +homepage = 'https://toblerity.org/rtree/' +description = """Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial + indexing features for the spatially curious Python user.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f5145f7852bf7f95c126fb16bf1a4c2ca9300ae151b07f8a0f7083ea47912675'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('libspatialindex', '1.9.3'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'data' 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 new file mode 100644 index 00000000000..02f29a4634f --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,167 @@ +name = 'Ruby' +version = '3.0.1' + +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': '11.2.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727'] + +dependencies = [ + ('binutils', '2.37'), # needed for gem + ('zlib', '1.2.11'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2021-07-02 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.1', { + 'checksums': ['7ff682a2db805d6b924e4e87341c3c0036824713a23c58ca53267ce7e5ce2ffd'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.23.0', { + 'checksums': ['88fc26a40083a51015faa2ba02cbdc3605cb59f183cf0868f4fb3ac02900148f'], + }), + ('arr-pm', '0.0.11', { + 'checksums': ['f1ab088421276f446da1971c5071defd1504855ec46e196815fa43cd62d61a9f'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.1.1', { + 'checksums': ['d2dd7aa957650e0d99e0513cd388401b069f09528441b87d884609c8e94ffcfd'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '2.0.1', { + 'checksums': ['f867b028552c3cf018b9293b58b993dc238ba62683568b3e194c673afe62d700'], + }), + ('faraday', '1.0.0', { + 'checksums': ['e67631809ae5633a1d2b03adfa83939a91a095f6dc61a1f322826612613dd687'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.0.3', { + 'checksums': ['2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.2.5', { + 'checksums': ['13a8fc3921ce4df8e04fb65f1037251decb08d74757b41163688bd1c1feccd39'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '4.0.6', { + 'checksums': ['a99967c7b2d1d2eb00e1142e60de06a1a6471e82af574b330e9af375e87c0cf7'], + }), + ('addressable', '2.8.0', { + 'checksums': ['f76d29d2d1f54b6c6a49aec58f9583b08d97e088c227a3fcba92f6c6531d5908'], + }), + ('concurrent-ruby', '1.1.9', { + 'checksums': ['0ec0846d991c38f355b4228ad8ea77aa69c3fdaa320cd574dafedc10c4688a5b'], + }), + ('i18n', '1.8.11', { + 'checksums': ['ae133354590b49070b87c83f8fe8cc064ffdc40ca76364535e100312e30cad6d'], + }), + ('minitest', '5.15.0', { + 'checksums': ['6d2d5bfa301257ef2c2fe8818abeaa0932ed54735c8ed039459cb4f85029ae1b'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.5.3', { + 'checksums': ['ddfeb36d24444b10f402cae2ee5a05c580f54115ae25bcf2ac29bf814c4faf52'], + }), + ('activesupport', '5.2.6', { + 'checksums': ['7249ee13859fc99ed2c833048674fd28c11605c679f1c65035190a2219e9cbef'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.0', { + 'checksums': ['954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5'], + }), + ('ethon', '0.15.0', { + 'checksums': ['0809805a035bc10f54162ca99f15ded49e428e0488bcfe1c08c821e18261a74d'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.10.3', { + 'checksums': ['65c88f8cbe579461f411097682e6402960eae327eef08e86ef581b8c609e4c5e'], + }), + ('rspec-mocks', '3.10.2', { + 'checksums': ['93fc76e312c3d19cacc1cb2eb64bf82731de2e216295cf2b4d0ce31ba77923b4'], + }), + ('rspec-expectations', '3.10.1', { + 'checksums': ['27acf5d5df13f8cc8f7158001ebf572513bcec3d45404ba76e0a8998895ce9eb'], + }), + ('rspec-core', '3.10.1', { + 'checksums': ['ac9abdc9577a3a34e9e92815603da8343931055ab4fba1c2a49de6dd3b749673'], + }), + ('rspec', '3.10.0', { + 'checksums': ['b870b43d49ae4a4e063b94976d2742b0854ec10458c425d569b5556ee5898ab7'], + }), + ('rack', '2.2.3', { + 'checksums': ['2638e7eb6689a5725c7e16f30cc4aa4e31694dc3ca30d790952526781bd0bb44'], + }), + ('rack-protection', '2.1.0', { + 'checksums': ['1f523c16e5b32f139c8f6f1e3b3eb53aaa7a69bc79a30f3e80f8a93c89242a95'], + }), + ('tilt', '2.0.10', { + 'checksums': ['9b664f0e9ae2b500cfa00f9c65c34abc6ff1799cf0034a8c0a0412d520fac866'], + }), + ('mustermann', '1.1.1', { + 'checksums': ['0a21cfe505869cce9ce17998db5260344e78df81ae857c07a62143fd30299531'], + }), + ('sinatra', '2.1.0', { + 'checksums': ['f323e4446f3e2a132dcaaa134f89caddb29dd88370317f4f32faf5797f1ea535'], + }), + ('rack-test', '1.1.0', { + 'checksums': ['154161f40f162b1c009a655b7b0c5de3a3102cc6d7d2e94b64e1f46ace800866'], + }), + ('bundler', '2.3.5', { + 'checksums': ['2553cbd138b466bc56a3c724c5c28648dff8e2343b13a7c696cf9c2818c8d629'], + })] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..8fd64d2779d --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,167 @@ +name = 'Ruby' +version = '3.0.3' + +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': '11.3.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac'] + +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2022-12-20 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.3', { + 'checksums': ['86aaea16adf346a2b22743d88f8dcceeb1038843989ab93cda44b5176c845459'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.23.0', { + 'checksums': ['88fc26a40083a51015faa2ba02cbdc3605cb59f183cf0868f4fb3ac02900148f'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.2.3', { + 'checksums': ['462979de2971b8df33c2ee797fd497731617241f9dcd93960cc3caccb2dd13d8'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '3.0.2', { + 'checksums': ['6882929abed8094e1ee30344a3369e856fe34530044630d1f652bf70ebd87e8d'], + }), + ('faraday', '1.2.0', { + 'checksums': ['bd5c138304ee53907f8d0747724660c3a1cdf77d530d1cecd70d141299194b99'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.0.3', { + 'checksums': ['2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.3.0', { + 'checksums': ['677985be912f33c90f98f229aaa0c0ddb2ef8776f21929a36eeeb25251c944da'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '5.0.1', { + 'checksums': ['65603917ff4ecb32f499f42c14951aeed2380054fa7fc51758fc0a8d455fe043'], + }), + ('addressable', '2.8.1', { + 'checksums': ['bc724a176ef02118c8a3ed6b5c04c39cf59209607ffcce77b91d0261dbadedfa'], + }), + ('concurrent-ruby', '1.1.10', { + 'checksums': ['244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68'], + }), + ('i18n', '1.12.0', { + 'checksums': ['91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced'], + }), + ('minitest', '5.16.3', { + 'checksums': ['60f81ad96ca5518e1457bd29eb826db60f86fbbdf8c05eac63b4824ef1f52614'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.6.6', { + 'checksums': ['bb397b50c31127f8dab372fa9b21da1e7c453c5b57da172ed858136c6283f826'], + }), + ('activesupport', '5.2.8.1', { + 'checksums': ['f0498c616e1b243c7b56d67920c389f959c186ad7031569e80335b42e1d22564'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.0', { + 'checksums': ['954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5'], + }), + ('ethon', '0.16.0', { + 'checksums': ['bba0da1cea8ac3e1f5cdd7cb1cb5fc78d7ac562c33736f18f0c3eb2b63053d9e'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.12.0', { + 'checksums': ['dd4d44b247ff679b95b5607ac5641d197a5f9b1d33f916123cb98fc5f917c58b'], + }), + ('rspec-mocks', '3.12.1', { + 'checksums': ['e0dd725c7d1c1417c3a1715ccc4e41c124fab6c05b2de5a91ce22d74ee301801'], + }), + ('rspec-expectations', '3.12.1', { + 'checksums': ['808b29f7f3ef4535fc897c10235b662bb6b58219406fec56158623b3a8e06c9e'], + }), + ('rspec-core', '3.12.0', { + 'checksums': ['c466f4137966526e177d2156ca45c249eeecc7ed519b23ae2fb80c4675406bc5'], + }), + ('rspec', '3.12.0', { + 'checksums': ['ccc41799a43509dc0be84070e3f0410ac95cbd480ae7b6c245543eb64162399c'], + }), + ('rack', '2.2.4', { + 'checksums': ['ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b'], + }), + ('rack-protection', '3.0.5', { + 'checksums': ['3a428f9de18ee2a4080e2fab308f20f9e98d74dcbe06ed407a8035b46ba822a8'], + }), + ('tilt', '2.0.11', { + 'checksums': ['7b180fc472cbdeb186c85d31c0f2d1e61a2c0d77e1d9fd0ca28482a9d972d6a0'], + }), + ('mustermann', '3.0.0', { + 'checksums': ['6d3569aa3c3b2f048c60626f48d9b2d561cc8d2ef269296943b03da181c08b67'], + }), + ('sinatra', '3.0.5', { + 'checksums': ['40ec7643a65d01b9c25ab5f7cafc5c67ca0b9ac523fa728345d88de69392cee7'], + }), + ('rack-test', '2.0.2', { + 'checksums': ['adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466'], + }), + ('bundler', '2.3.26', { + 'checksums': ['1ee53cdf61e728ad82c6dbff06cfcd8551d5422e88e86203f0e2dbe9ae999e09'], + })] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..510f94f6868 --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.0.5-GCCcore-11.3.0.eb @@ -0,0 +1,167 @@ +name = 'Ruby' +version = '3.0.5' + +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': '11.3.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9afc6380a027a4fe1ae1a3e2eccb6b497b9c5ac0631c12ca56f9b7beb4848776'] + +dependencies = [ + ('binutils', '2.38'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2022-12-20 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.3', { + 'checksums': ['86aaea16adf346a2b22743d88f8dcceeb1038843989ab93cda44b5176c845459'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.23.0', { + 'checksums': ['88fc26a40083a51015faa2ba02cbdc3605cb59f183cf0868f4fb3ac02900148f'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.2.3', { + 'checksums': ['462979de2971b8df33c2ee797fd497731617241f9dcd93960cc3caccb2dd13d8'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '3.0.2', { + 'checksums': ['6882929abed8094e1ee30344a3369e856fe34530044630d1f652bf70ebd87e8d'], + }), + ('faraday', '1.2.0', { + 'checksums': ['bd5c138304ee53907f8d0747724660c3a1cdf77d530d1cecd70d141299194b99'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.0.3', { + 'checksums': ['2ddd5c127d4692721486f91737307236fe005352d12a4202e26c48614f719479'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.3.0', { + 'checksums': ['677985be912f33c90f98f229aaa0c0ddb2ef8776f21929a36eeeb25251c944da'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '5.0.1', { + 'checksums': ['65603917ff4ecb32f499f42c14951aeed2380054fa7fc51758fc0a8d455fe043'], + }), + ('addressable', '2.8.1', { + 'checksums': ['bc724a176ef02118c8a3ed6b5c04c39cf59209607ffcce77b91d0261dbadedfa'], + }), + ('concurrent-ruby', '1.1.10', { + 'checksums': ['244cb1ca0d91ec2c15ca2209507c39fb163336994428e16fbd3f465c87bd8e68'], + }), + ('i18n', '1.12.0', { + 'checksums': ['91e3cc1b97616d308707eedee413d82ee021d751c918661fb82152793e64aced'], + }), + ('minitest', '5.16.3', { + 'checksums': ['60f81ad96ca5518e1457bd29eb826db60f86fbbdf8c05eac63b4824ef1f52614'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.6.6', { + 'checksums': ['bb397b50c31127f8dab372fa9b21da1e7c453c5b57da172ed858136c6283f826'], + }), + ('activesupport', '5.2.8.1', { + 'checksums': ['f0498c616e1b243c7b56d67920c389f959c186ad7031569e80335b42e1d22564'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.0', { + 'checksums': ['954243c4255920982ce682f89a42e76372dba94770bf09c23a523e204bdebef5'], + }), + ('ethon', '0.16.0', { + 'checksums': ['bba0da1cea8ac3e1f5cdd7cb1cb5fc78d7ac562c33736f18f0c3eb2b63053d9e'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.12.0', { + 'checksums': ['dd4d44b247ff679b95b5607ac5641d197a5f9b1d33f916123cb98fc5f917c58b'], + }), + ('rspec-mocks', '3.12.1', { + 'checksums': ['e0dd725c7d1c1417c3a1715ccc4e41c124fab6c05b2de5a91ce22d74ee301801'], + }), + ('rspec-expectations', '3.12.1', { + 'checksums': ['808b29f7f3ef4535fc897c10235b662bb6b58219406fec56158623b3a8e06c9e'], + }), + ('rspec-core', '3.12.0', { + 'checksums': ['c466f4137966526e177d2156ca45c249eeecc7ed519b23ae2fb80c4675406bc5'], + }), + ('rspec', '3.12.0', { + 'checksums': ['ccc41799a43509dc0be84070e3f0410ac95cbd480ae7b6c245543eb64162399c'], + }), + ('rack', '2.2.4', { + 'checksums': ['ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b'], + }), + ('rack-protection', '3.0.5', { + 'checksums': ['3a428f9de18ee2a4080e2fab308f20f9e98d74dcbe06ed407a8035b46ba822a8'], + }), + ('tilt', '2.0.11', { + 'checksums': ['7b180fc472cbdeb186c85d31c0f2d1e61a2c0d77e1d9fd0ca28482a9d972d6a0'], + }), + ('mustermann', '3.0.0', { + 'checksums': ['6d3569aa3c3b2f048c60626f48d9b2d561cc8d2ef269296943b03da181c08b67'], + }), + ('sinatra', '3.0.5', { + 'checksums': ['40ec7643a65d01b9c25ab5f7cafc5c67ca0b9ac523fa728345d88de69392cee7'], + }), + ('rack-test', '2.0.2', { + 'checksums': ['adadd0e957f63a34199a9fdf905a920a0b0a50795735095b4ac4bd3c13385466'], + }), + ('bundler', '2.3.26', { + 'checksums': ['1ee53cdf61e728ad82c6dbff06cfcd8551d5422e88e86203f0e2dbe9ae999e09'], + })] + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..6b8254f9c1f --- /dev/null +++ b/easybuild/easyconfigs/r/Ruby/Ruby-3.2.2-GCCcore-12.2.0.eb @@ -0,0 +1,168 @@ +name = 'Ruby' +version = '3.2.2' + +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.2.0'} + +source_urls = ['https://cache.ruby-lang.org/pub/ruby/%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc'] + +dependencies = [ + ('binutils', '2.39'), # needed for gem + ('zlib', '1.2.12'), + ('OpenSSL', '1.1', '', SYSTEM), + ('libyaml', '0.2.5'), +] + +exts_default_options = { + 'source_urls': ['https://rubygems.org/downloads/'], + 'source_tmpl': '%(name)s-%(version)s.gem', +} + +# !! order of packages is important !! +# some packages have dependencies with minimum and maximum version requirements +# each version is picked as high as possible to fullfill all requirements +# packages updated on 2022-12-20 +exts_list = [ + ('ffi', '1.15.5', { + 'checksums': ['6f2ed2fa68047962d6072b964420cba91d82ce6fa8ee251950c17fca6af3c2a0'], + }), + ('childprocess', '4.1.0', { + 'checksums': ['3616ce99ccb242361ce7f2b19bf9ff3e6bc1d98b927c7edc29af8ca617ba6cd3'], + }), + ('json', '2.6.3', { + 'checksums': ['86aaea16adf346a2b22743d88f8dcceeb1038843989ab93cda44b5176c845459'], + }), + ('cabin', '0.9.0', { + 'checksums': ['91c5394289e993e7037a6c869e3f212f31a5984d2b1811ac934f591c87446b2c'], + }), + ('backports', '3.24.1', { + 'checksums': ['83a720ea9a3ee0cf5eab18b866e9282293ab4f54eb6430291b3c238481677fb8'], + }), + ('arr-pm', '0.0.12', { + 'checksums': ['fdff482f75239239201f4d667d93424412639aad0b3b0ad4d827e7c637e0ad39'], + }), + ('clamp', '1.3.2', { + 'checksums': ['4f6a99a8678d51abbf1650263a74d1ac50939edc11986271431d2e03a0d7a022'], + }), + ('multipart-post', '2.3.0', { + 'checksums': ['3dcdd74a767302559fcf91a63b568ee00770494ce24195167b1c147ab3f6fe51'], + }), + ('ruby2_keywords', '0.0.5', { + 'checksums': ['ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef'], + }), + ('faraday-net_http', '3.0.2', { + 'checksums': ['6882929abed8094e1ee30344a3369e856fe34530044630d1f652bf70ebd87e8d'], + }), + ('faraday', '1.2.0', { + 'checksums': ['bd5c138304ee53907f8d0747724660c3a1cdf77d530d1cecd70d141299194b99'], + }), + ('faraday_middleware', '1.2.0', { + 'checksums': ['ded15d574d50e92bd04448d5566913af5cb1a01b2fa311ceecc2464fa0ab88af'], + }), + ('highline', '2.1.0', { + 'checksums': ['d63d7f472f8ffaa143725161ae6fb06895b5cb7527e0b4dac5ad1e4902c80cb9'], + }), + ('net-http-pipeline', '1.0.1', { + 'checksums': ['6923ce2f28bfde589a9f385e999395eead48ccfe4376d4a85d9a77e8c7f0b22f'], + }), + ('connection_pool', '2.4.1', { + 'checksums': ['0f40cf997091f1f04ff66da67eabd61a9fe0d4928b9a3645228532512fab62f4'], + }), + ('net-http-persistent', '2.9.4', { + 'checksums': ['24274d207ffe66222ef70c78a052c7ea6e66b4ff21e2e8a99e3335d095822ef9'], + }), + ('multi_json', '1.15.0', { + 'checksums': ['1fd04138b6e4a90017e8d1b804c039031399866ff3fbabb7822aea367c78615d'], + }), + ('public_suffix', '5.0.1', { + 'checksums': ['65603917ff4ecb32f499f42c14951aeed2380054fa7fc51758fc0a8d455fe043'], + }), + ('addressable', '2.8.4', { + 'checksums': ['40a88af5285625b7fb14070e550e667d5b0cc91f748068701b4d897cacda4897'], + }), + ('concurrent-ruby', '1.2.2', { + 'checksums': ['3879119b8b75e3b62616acc256c64a134d0b0a7a9a3fcba5a233025bcde22c4f'], + }), + ('i18n', '1.14.1', { + 'checksums': ['9d03698903547c060928e70a9bc8b6b87fda674453cda918fc7ab80235ae4a61'], + }), + ('minitest', '5.18.0', { + 'checksums': ['06f43aa0692ce3acf19cb5bc539ad2c6095ca3d2c7e5fbafc58a7d847e898745'], + }), + ('thread_safe', '0.3.6', { + 'checksums': ['9ed7072821b51c57e8d6b7011a8e282e25aeea3a4065eab326e43f66f063b05a'], + }), + ('tzinfo', '1.1.0', { + 'checksums': ['715a47c25f8e4c2f106c92d5a97e612f84eb7e85f5822bf3d6cf615b44492abc'], + }), + ('zeitwerk', '2.6.8', { + 'checksums': ['7361fc7da53b2a81b49ab2d38792b78e99690095659c11609b6d1cc58f5c6632'], + }), + ('activesupport', '5.2.8.1', { + 'checksums': ['f0498c616e1b243c7b56d67920c389f959c186ad7031569e80335b42e1d22564'], + }), + ('gh', '0.18.0', { + 'checksums': ['eb93f18a88db3ba92eb888610fc53fae731d9dacfe55922b58cc3f3aca776a47'], + }), + ('launchy', '2.5.2', { + 'checksums': ['8aa0441655aec5514008e1d04892c2de3ba57bd337afb984568da091121a241b'], + }), + ('ethon', '0.16.0', { + 'checksums': ['bba0da1cea8ac3e1f5cdd7cb1cb5fc78d7ac562c33736f18f0c3eb2b63053d9e'], + }), + ('typhoeus', '1.4.0', { + 'checksums': ['fff9880d5dc35950e7706cf132fd297f377c049101794be1cf01c95567f642d4'], + }), + ('websocket', '1.2.9', { + 'checksums': ['884b12dee993217795bb5f58acc89c0121c88bdc99df4d1636c0505dca352b36'], + }), + ('pusher-client', '0.6.2', { + 'checksums': ['c405c931090e126c056d99f6b69a01b1bcb6cbfdde02389c93e7d547c6efd5a3'], + }), + ('diff-lcs', '1.5.0', { + 'checksums': ['49b934001c8c6aedb37ba19daec5c634da27b318a7a3c654ae979d6ba1929b67'], + }), + ('rspec-support', '3.12.0', { + 'checksums': ['dd4d44b247ff679b95b5607ac5641d197a5f9b1d33f916123cb98fc5f917c58b'], + }), + ('rspec-mocks', '3.12.5', { + 'checksums': ['82030d2bfa1e4eef0a2ee36af5d3d224672598912a3f3384f27cbba9fa09d5c1'], + }), + ('rspec-expectations', '3.12.3', { + 'checksums': ['093d18e2e7e0a2c619ef8f7343d442fc6c0793fb7897d56f16f26c8a9d244416'], + }), + ('rspec-core', '3.12.2', { + 'checksums': ['155b54480f28e2b2813185077fe435c2d663031616360ed3b179a9d6a55d2551'], + }), + ('rspec', '3.12.0', { + 'checksums': ['ccc41799a43509dc0be84070e3f0410ac95cbd480ae7b6c245543eb64162399c'], + }), + ('rack', '2.2.4', { + 'checksums': ['ea2232b638cbd919129c8c8ad8012ecaccc09f848152a7e705d2139d0137ac2b'], + }), + ('rack-protection', '3.0.6', { + 'checksums': ['08c6dfdab74abf57243242df73c286de3d75b2b0110803cd79b4f3f0d531f5ce'], + }), + ('tilt', '2.2.0', { + 'checksums': ['e76f850e611128a87992bb13ba74807624a9b8ec748e2c2ea7139580f67ab22e'], + }), + ('mustermann', '3.0.0', { + 'checksums': ['6d3569aa3c3b2f048c60626f48d9b2d561cc8d2ef269296943b03da181c08b67'], + }), + ('sinatra', '3.0.6', { + 'checksums': ['1d1e158ee7fcdf40e01461bc461f13d854d371b135259370130fca875d870fe0'], + }), + ('rack-test', '2.1.0', { + 'checksums': ['0c61fc61904049d691922ea4bb99e28004ed3f43aa5cfd495024cc345f125dfb'], + }), + ('bundler', '2.4.14', { + 'checksums': ['94824acd510adf40f8dcee6ad18c09f85712c89c468a3dae5a5c47fa69487c72'], + })] + +moduleclass = 'lang' 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.35.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.35.0-GCCcore-8.2.0.eb index 4ec08e99cfb..112c2d67ac9 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.35.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.35.0-GCCcore-8.2.0.eb @@ -16,10 +16,17 @@ checksums = ['5a4d637a716bac18d085f44dd87ef48b32195f71b967d872d80280b38cff712d'] builddependencies = [ ('binutils', '2.31.1'), ('CMake', '3.13.3'), + ('Python', '2.7.15', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + sanity_check_paths = { 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.37.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.37.0-GCCcore-8.3.0.eb index 9a3fe998abe..b576b38b56e 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.37.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.37.0-GCCcore-8.3.0.eb @@ -16,10 +16,17 @@ checksums = ['120e7020d065499cc6b28759ff04153bfdc2ac9b5adeb252331a4eb87cbe38c3'] builddependencies = [ ('binutils', '2.32'), ('CMake', '3.15.3'), + ('Python', '2.7.16', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + sanity_check_paths = { 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-7.3.0.eb index 6f7bdda2b6b..a690c1ccad7 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-7.3.0.eb @@ -16,6 +16,7 @@ checksums = ['d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475'] builddependencies = [ ('binutils', '2.30'), ('CMake', '3.12.1'), + ('Python', '2.7.15', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.2.0.eb index 18a3fc7c04f..c386da91ae0 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.2.0.eb @@ -16,10 +16,17 @@ checksums = ['d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475'] builddependencies = [ ('binutils', '2.31.1'), ('CMake', '3.13.3'), + ('Python', '2.7.15', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + sanity_check_paths = { 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.3.0.eb index 11b48f9f188..641cc7103f5 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-8.3.0.eb @@ -16,10 +16,17 @@ checksums = ['d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475'] builddependencies = [ ('binutils', '2.32'), ('CMake', '3.15.3'), + ('Python', '2.7.16', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + sanity_check_paths = { 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-9.3.0.eb index af22457939e..821af75b032 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.42.0-GCCcore-9.3.0.eb @@ -16,10 +16,17 @@ checksums = ['d2e8f931d16a0539faaaacd801e0d92c58df190269014b2360c6ab2a90ee3475'] builddependencies = [ ('binutils', '2.34'), ('CMake', '3.16.4'), + ('Python', '2.7.18', '-bare'), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc" +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + sanity_check_paths = { 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..7eab5f3ec8d --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.52.1' + +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': '10.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.52.1_sysroot-fix-interpreter.patch'] +checksums = [ + '3a6f23a26d0e8f87abbfbf32c5cd7daa0c0b71d0986abefc56b9a5fbfbd0bf98', # rustc-1.52.1-src.tar.gz + 'e3db7005585eb807ecb69929818740f00417cac247b1065a9d43a7f16cf05e0b', # Rust-1.52.1_sysroot-fix-interpreter.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('Python', '3.8.6'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.3.0.eb index a4cedb1f126..8d66638b61d 100644 --- a/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/r/Rust/Rust-1.52.1-GCCcore-10.3.0.eb @@ -11,15 +11,21 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://static.rust-lang.org/dist/'] sources = ['rustc-%(version)s-src.tar.gz'] -checksums = ['3a6f23a26d0e8f87abbfbf32c5cd7daa0c0b71d0986abefc56b9a5fbfbd0bf98'] +patches = ['Rust-1.52.1_sysroot-fix-interpreter.patch'] +checksums = [ + '3a6f23a26d0e8f87abbfbf32c5cd7daa0c0b71d0986abefc56b9a5fbfbd0bf98', # rustc-1.52.1-src.tar.gz + 'e3db7005585eb807ecb69929818740f00417cac247b1065a9d43a7f16cf05e0b', # Rust-1.52.1_sysroot-fix-interpreter.patch +] builddependencies = [ ('binutils', '2.36.1'), ('CMake', '3.20.1'), + ('Python', '3.9.5', '-bare'), + ('pkg-config', '0.29.2'), ] dependencies = [ - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " @@ -28,6 +34,12 @@ configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " # since Rust is a build dependency for cryptography that is included with Python configopts += "--set=llvm.ninja=false " +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + # avoid failure when home directory is an NFS mount, # see https://github.com/rust-lang/cargo/issues/6652 prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.52.1_sysroot-fix-interpreter.patch b/easybuild/easyconfigs/r/Rust/Rust-1.52.1_sysroot-fix-interpreter.patch new file mode 100644 index 00000000000..bec629b9175 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.52.1_sysroot-fix-interpreter.patch @@ -0,0 +1,30 @@ +Use patchelf to fix interpreter of binaries that are used during Rust bootstrap procedure +when EasyBuild is configured to build in an alternate sysroot + +This fixes problems like due to a clash with the interpreter from the host, and a more recent libc.so.6 that's picked up +from the alternate sysroot: +error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /tmp/easybuild/build/Rust/1.52.1/GCCcore-10.3.0/rustc-1.52.1-src/build/bootstrap/debug/deps/libproc_macro_error_attr-fbfef320d848b049.so) + +author: Kenneth Hoste (HPC-UGent) + +--- rustc-1.42.0-src/src/bootstrap/bootstrap.py.orig 2020-03-09 22:11:17.000000000 +0000 ++++ rustc-1.42.0-src/src/bootstrap/bootstrap.py 2021-12-16 10:34:25.100100855 +0000 +@@ -446,6 +446,18 @@ + if ostype != "Linux": + return + ++ sysroot = os.getenv("EASYBUILD_SYSROOT") ++ if sysroot and not fname.endswith(".so"): ++ # determine patch to interpreter in host via output produced by 'file -b /bin/bash' ++ readelf_out = subprocess.check_output(['readelf', '-l', '/bin/bash']).decode('ascii', 'ignore').strip() ++ regex = re.compile('.*program interpreter: ([^\]]+)', re.M) ++ res = regex.search(readelf_out) ++ interpreter_path = os.path.join(sysroot, res.group(1).lstrip('/')) ++ if not os.path.exists(interpreter_path): ++ raise Exception("Derived path to interpreter does not exist: %s" % interpreter_path) ++ cmd = ["patchelf", "--set-interpreter", interpreter_path, fname] ++ run(cmd, verbose=True) ++ + if not os.path.exists("/etc/NIXOS"): + return + if os.path.exists("/lib"): diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.54.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.54.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3916f14fbd9 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.54.0-GCCcore-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.54.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': '11.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.52.1_sysroot-fix-interpreter.patch'] +checksums = [ + 'ac8511633e9b5a65ad030a1a2e5bdaa841fdfe3132f2baaa52cc04e71c6c6976', # rustc-1.54.0-src.tar.gz + 'e3db7005585eb807ecb69929818740f00417cac247b1065a9d43a7f16cf05e0b', # Rust-1.52.1_sysroot-fix-interpreter.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6', '-bare'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.56.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.56.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c70ed36ffd9 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.56.0-GCCcore-11.2.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.56.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': '11.2.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.56_sysroot-fix-interpreter.patch'] +checksums = [ + 'cd0fd72d698deb3001c18e0f4bf8261d8f86420097eef94ca3a1fe047f2df43f', # rustc-1.56.0-src.tar.gz + 'b2e55ae31d8972c71116fbf3626d421ce270c24c76c1aa2b1d7d2be24576d717', # Rust-1.56_sysroot-fix-interpreter.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6', '-bare'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.56_sysroot-fix-interpreter.patch b/easybuild/easyconfigs/r/Rust/Rust-1.56_sysroot-fix-interpreter.patch new file mode 100644 index 00000000000..8c7cd835d04 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.56_sysroot-fix-interpreter.patch @@ -0,0 +1,31 @@ +Use patchelf to fix interpreter of binaries that are used during Rust bootstrap procedure +when EasyBuild is configured to build in an alternate sysroot + +This fixes problems like due to a clash with the interpreter from the host, and a more recent libc.so.6 that's picked up +from the alternate sysroot: +error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /tmp/easybuild/build/Rust/1.52.1/GCCcore-10.3.0/rustc-1.52.1-src/build/bootstrap/debug/deps/libproc_macro_error_attr-fbfef320d848b049.so) + +author: Kenneth Hoste (HPC-UGent) +ported for 1.56.0 by: Adam Huffman (BDI, University of Oxford) + +--- rustc-1.56.0-src/src/bootstrap/bootstrap.py.orig 2022-04-27 17:29:10.541273561 +0100 ++++ rustc-1.56.0-src/src/bootstrap/bootstrap.py 2022-04-27 17:30:32.959859017 +0100 +@@ -582,6 +582,18 @@ + if ostype != "Linux": + return + ++ sysroot = os.getenv("EASYBUILD_SYSROOT") ++ if sysroot and not fname.endswith(".so"): ++ # determine patch to interpreter in host via output produced by 'file -b /bin/bash' ++ readelf_out = subprocess.check_output(['readelf', '-l', '/bin/bash']).decode('ascii', 'ignore').strip() ++ regex = re.compile('.*program interpreter: ([^\]]+)', re.M) ++ res = regex.search(readelf_out) ++ interpreter_path = os.path.join(sysroot, res.group(1).lstrip('/')) ++ if not os.path.exists(interpreter_path): ++ raise Exception("Derived path to interpreter does not exist: %s" % interpreter_path) ++ cmd = ["patchelf", "--set-interpreter", interpreter_path, fname] ++ run(cmd, verbose=True) ++ + # Use `/etc/os-release` instead of `/etc/NIXOS`. + # The latter one does not exist on NixOS when using tmpfs as root. + try: diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0b1bb2ee921 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-10.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.60.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': '10.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.60_sysroot-fix-interpreter.patch'] +checksums = [ + '20ca826d1cf674daf8e22c4f8c4b9743af07973211c839b85839742314c838b7', # rustc-1.60.0-src.tar.gz + 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716', # Rust-1.60_sysroot-fix-interpreter.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('Python', '3.9.5', '-bare'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0a1bf6c1485 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.60.0-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.60.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': '11.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.60_sysroot-fix-interpreter.patch'] +checksums = [ + '20ca826d1cf674daf8e22c4f8c4b9743af07973211c839b85839742314c838b7', # rustc-1.60.0-src.tar.gz + 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716', # Rust-1.60_sysroot-fix-interpreter.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.60_sysroot-fix-interpreter.patch b/easybuild/easyconfigs/r/Rust/Rust-1.60_sysroot-fix-interpreter.patch new file mode 100644 index 00000000000..3ebb15674f4 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.60_sysroot-fix-interpreter.patch @@ -0,0 +1,30 @@ +Use patchelf to fix interpreter of binaries that are used during Rust bootstrap procedure +when EasyBuild is configured to build in an alternate sysroot + +This fixes problems like due to a clash with the interpreter from the host, and a more recent libc.so.6 that's picked up +from the alternate sysroot: +error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /tmp/easybuild/build/Rust/1.52.1/GCCcore-10.3.0/rustc-1.52.1-src/build/bootstrap/debug/deps/libproc_macro_error_attr-fbfef320d848b049.so) + +author: Kenneth Hoste (HPC-UGent) + +--- rustc-1.60.0-src/src/bootstrap/bootstrap.py.orig 2022-06-01 16:35:37.111817747 +0200 ++++ rustc-1.60.0-src/src/bootstrap/bootstrap.py 2022-06-01 16:40:27.769571474 +0200 +@@ -671,6 +671,18 @@ + if ostype != "Linux": + return + ++ sysroot = os.getenv("EASYBUILD_SYSROOT") ++ if sysroot and not fname.endswith(".so"): ++ # determine patch to interpreter in host via output produced by 'file -b /bin/bash' ++ readelf_out = subprocess.check_output(['readelf', '-l', '/bin/bash']).decode('ascii', 'ignore').strip() ++ regex = re.compile('.*program interpreter: ([^\]]+)', re.M) ++ res = regex.search(readelf_out) ++ interpreter_path = os.path.join(sysroot, res.group(1).lstrip('/')) ++ if not os.path.exists(interpreter_path): ++ raise Exception("Derived path to interpreter does not exist: %s" % interpreter_path) ++ cmd = ["patchelf", "--set-interpreter", interpreter_path, fname] ++ run(cmd, verbose=True) ++ + # If the user has asked binaries to be patched for Nix, then + # don't check for NixOS or `/lib`, just continue to the patching. + if self.get_toml('patch-binaries-for-nix', 'build') != 'true': diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..245fa49d668 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'Rust' +version = '1.65.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': '11.3.0'} + +source_urls = ['https://static.rust-lang.org/dist/'] +sources = ['rustc-%(version)s-src.tar.gz'] +patches = ['Rust-1.60_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.65.0-src.tar.gz': '5828bb67f677eabf8c384020582b0ce7af884e1c84389484f7f8d00dd82c0038'}, + {'Rust-1.60_sysroot-fix-interpreter.patch': 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Python', '3.10.4', '-bare'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), +] + +configopts = "--enable-extended --sysconfdir=%(installdir)s/etc " + +# avoid build dependency on Ninja, which requires Python, +# since Rust is a build dependency for cryptography that is included with Python +configopts += "--set=llvm.ninja=false " + +# Use ./x.py to bootstrap so that options like -j N are correctly passed through +# see: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#what-is-xpy +# (ConfigureMake already adds `-j %(parallel)s` to the `build_cmd`) +build_cmd = "./x.py build" +install_cmd = "./x.py install -j %(parallel)s" + +# avoid failure when home directory is an NFS mount, +# see https://github.com/rust-lang/cargo/issues/6652 +prebuildopts = "export CARGO_HOME=%(builddir)s/cargo && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/cargo', 'bin/rustc', 'bin/rustdoc'], + 'dirs': ['lib/rustlib', 'share/doc', 'share/man'], +} + +sanity_check_commands = [ + "cargo --version", + "rustc --version", +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..31a461e1867 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.65.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +name = 'Rust' +version = '1.65.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.60_sysroot-fix-interpreter.patch'] +checksums = [ + {'rustc-1.65.0-src.tar.gz': '5828bb67f677eabf8c384020582b0ce7af884e1c84389484f7f8d00dd82c0038'}, + {'Rust-1.60_sysroot-fix-interpreter.patch': 'b59ed4c2591fc9098277299be21dd6752654f6f193d8652b7d21cb0fa0dd8716'}, +] + +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.70.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.70.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..6b3271c7a20 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.70.0-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.70.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.70.0-src.tar.gz': 'b2bfae000b7a5040e4ec4bbc50a09f21548190cb7570b0ed77358368413bd27c'}, + {'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.70_sysroot-fix-interpreter.patch b/easybuild/easyconfigs/r/Rust/Rust-1.70_sysroot-fix-interpreter.patch new file mode 100644 index 00000000000..a5e3d50eb2b --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.70_sysroot-fix-interpreter.patch @@ -0,0 +1,44 @@ +Use patchelf to fix interpreter of binaries that are used during Rust bootstrap procedure +when EasyBuild is configured to build in an alternate sysroot + +This fixes problems like due to a clash with the interpreter from the host, and a more recent libc.so.6 that's picked up +from the alternate sysroot: +error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /tmp/easybuild/build/Rust/1.52.1/GCCcore-10.3.0/rustc-1.52.1-src/build/bootstrap/debug/deps/libproc_macro_error_attr-fbfef320d848b049.so) + +author: Kenneth Hoste (HPC-UGent) +updated by: micketeer@gmail.com + +--- rustc-1.70.0-src.orig/src/bootstrap/bootstrap.py 2023-05-31 21:28:10.000000000 +0200 ++++ rustc-1.70.0-src/src/bootstrap/bootstrap.py 2023-06-04 14:15:39.784929373 +0200 +@@ -481,6 +481,10 @@ + if self._should_fix_bins_and_dylibs is not None: + return self._should_fix_bins_and_dylibs + ++ if os.getenv("EASYBUILD_SYSROOT"): ++ self._should_fix_bins_and_dylibs = True ++ return True ++ + def get_answer(): + default_encoding = sys.getdefaultencoding() + try: +@@ -531,6 +535,20 @@ + assert self._should_fix_bins_and_dylibs is True + print("attempting to patch", fname) + ++ easybuild_sysroot = os.getenv("EASYBUILD_SYSROOT") ++ if easybuild_sysroot: ++ if not fname.endswith(".so"): ++ # determine patch to interpreter in host via output produced by 'readelf -l /bin/bash' ++ readelf_out = subprocess.check_output(['readelf', '-l', '/bin/bash']).decode('ascii', 'ignore').strip() ++ regex = re.compile('.*program interpreter: ([^\]]+)', re.M) ++ res = regex.search(readelf_out) ++ interpreter_path = os.path.join(easybuild_sysroot, res.group(1).lstrip('/')) ++ if not os.path.exists(interpreter_path): ++ raise Exception("Derived path to interpreter does not exist: %s" % interpreter_path) ++ cmd = ["patchelf", "--set-interpreter", interpreter_path, fname] ++ run(cmd, verbose=True) ++ return ++ + # Only build `.nix-deps` once. + nix_deps_dir = self.nix_deps_dir + if not nix_deps_dir: diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.73.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.73.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..156414a7c55 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.73.0-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.73.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.73.0-src.tar.gz': '96d62e6d1f2d21df7ac8acb3b9882411f9e7c7036173f7f2ede9e1f1f6b1bb3a'}, + {'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/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/Rust/Rust-1.78.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ed5d13cb4a4 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.78.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.78.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.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.78.0-src.tar.gz': 'ff544823a5cb27f2738128577f1e7e00ee8f4c83f2a348781ae4fc355e91d5a9'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Python', '3.12.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('patchelf', '0.18.0'), # only required when RPATH linking is enabled +] + +dependencies = [ + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/Rust/Rust-1.79.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/Rust/Rust-1.79.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..88962930f30 --- /dev/null +++ b/easybuild/easyconfigs/r/Rust/Rust-1.79.0-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +name = 'Rust' +version = '1.79.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.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.79.0-src.tar.gz': '172ecf3c7d1f9d9fb16cd2a628869782670416ded0129e524a86751f961448c0'}, + {'Rust-1.70_sysroot-fix-interpreter.patch': '220129db55e022a98d25028da5dcc9f26b252dd995c3ac92f6312dbb1e362cb1'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Python', '3.12.3'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('patchelf', '0.18.0'), # only required when RPATH linking is enabled +] + +dependencies = [ + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/r/rMATS-long/rMATS-long-1.0.0-20240502-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rMATS-long/rMATS-long-1.0.0-20240502-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..6074c273fac --- /dev/null +++ b/easybuild/easyconfigs/r/rMATS-long/rMATS-long-1.0.0-20240502-foss-2023a-R-4.3.2.eb @@ -0,0 +1,44 @@ +easyblock = 'Tarball' + +name = 'rMATS-long' +local_commit = "592cb32" +version = '1.0.0-20240502' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/Xinglab/rMATS-long' +description = """rMATS-long is a collection of tools for analyzing long-read data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/Xinglab/%(name)s/archive/'] +sources = [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': '%(name)s-%(version)s.tar.gz', +}] +checksums = ['9f4f859c05be5a274b8c0aaf79a18f8c02839f8e6d71330d07f77d027ddba003'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('SciPy-bundle', '2023.07'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['scripts'], +} + +sanity_check_commands = [ + 'cd %(installdir)s/scripts && python rmats_long.py -h', +] + +modloadmsg = """ +To run rMATS-long scripts first go to scripts directory: +$ cd $EBROOTRMATSMINLONG/scripts +""" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb index c4ab2d228d0..9f2bd8d7260 100644 --- a/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb +++ b/easybuild/easyconfigs/r/rMATS-turbo/rMATS-turbo-4.1.1-foss-2020b.eb @@ -13,6 +13,7 @@ builddependencies = [ ] dependencies = [ ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), ('GSL', '2.6'), ('SAMtools', '1.11'), ('STAR', '2.7.6a'), @@ -33,7 +34,7 @@ components = [ 'easyblock': 'MakeCp', 'start_dir': 'rmats-turbo-%(version)s/rMATS_C', 'buildopts': "%s" % local_buildopts, - 'files_to_copy': [(['rMATSexe', '../rmats.py'], 'bin')], + 'files_to_copy': [(['rMATSexe', '../rmats.py', '../rMATS_C', '../rMATS_R', '../rMATS_P'], 'bin')] }), ('rmats-turbo-python', version, { 'easyblock': 'PythonPackage', 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/radeontop/radeontop-1.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/radeontop/radeontop-1.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..7df599480a5 --- /dev/null +++ b/easybuild/easyconfigs/r/radeontop/radeontop-1.3-GCCcore-10.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'MakeCp' + +name = 'radeontop' +version = '1.3' + +homepage = 'https://github.com/clbr/radeontop' +description = """View your GPU utilization, both for the total activity percent and individual blocks.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'clbr' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0e6abacafa3c795ee783be18b736f6dfc7ff93c6e3c3237cc7c1684863e08100'] + +dependencies = [ + ('libdrm', '2.4.106'), + ('libpciaccess', '0.16'), + ('ncurses', '6.2'), + ('X11', '20210518'), +] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), +] + +buildopts = "amdgpu=1 nls=0" + +files_to_copy = [(['radeontop'], 'bin'), (['radeontop.1'], 'share/man/man1')] + +sanity_check_paths = { + 'files': ['bin/radeontop', 'share/man/man1/radeontop.1'], + 'dirs': [], +} + +# radeontop requires special permissions to access the GPU hardware and basic +# options such as '--help' and '--version' output a non-zero exit code +# sanity_check_commands = ['radeontop --help'] + +moduleclass = 'tools' 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/rampart/rampart-1.2.0-foss-2020b.eb b/easybuild/easyconfigs/r/rampart/rampart-1.2.0-foss-2020b.eb new file mode 100644 index 00000000000..841aded3144 --- /dev/null +++ b/easybuild/easyconfigs/r/rampart/rampart-1.2.0-foss-2020b.eb @@ -0,0 +1,67 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# updated to version 1.0.6 +# J. Sassmannshausen (GSTT(NHS) +# +easyblock = 'PythonBundle' + +name = 'rampart' +version = '1.2.0' + +homepage = "https://github.com/artic-network/rampart/" +description = "Read Assignment, Mapping, and Phylogenetic Analysis in Real Time." +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('nodejs', '12.19.0'), + ('Python', '3.8.6'), + ('Biopython', '1.78'), + ('snakemake', '6.1.0'), + ('minimap2', '2.18'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + # This is not upstream version, but artic tweaked one, which is exactly required. + ('Porechop', '0.3.2pre', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/artic-network/Porechop/archive'], + 'checksums': ['85980d6f37d38a44c66182e7b39bad487211ccfd8cb820c866ceed7ef7a15523'], + }), + ('binlorry', '1.3.1', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/rambaut/binlorry/archive'], + 'checksums': ['001b74cad497b7253b821ceaac8c0b829b2787396a896fc2d3940a704a149b48'], + }), +] + +# Don't ever try to install unpacked source of nodejs globally! +# Always use 'npm install -g downloaded_file.tar.gz` or you will end up having broken links and installation will fail. +# -d (debug) and --timing can show errors while downloading dependencies +local_install_cmd = "npm install -d --timing --prefix %(installdir)s -g v%(version)s.tar.gz" + +components = [ + (name, version, { + 'easyblock': 'Binary', + 'source_urls': ['https://github.com/artic-network/rampart/archive/'], + 'sources': [{ + 'filename': 'v%(version)s.tar.gz', + # Don't extract downloaded .tar.gz, just copy that to builddir + 'extract_cmd': "cp %s .", + }], + 'checksums': ['96dc10a429e39c1ab241a76c4706a50754908f79f821b5d047be7f420aaf15be'], + 'install_cmd': local_install_cmd, + }), +] + +sanity_check_paths = { + 'files': ['bin/binlorry', 'bin/porechop', 'bin/rampart'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = [ + 'rampart --help' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rankwidth/rankwidth-0.9-foss-2023b.eb b/easybuild/easyconfigs/r/rankwidth/rankwidth-0.9-foss-2023b.eb new file mode 100644 index 00000000000..090a4aaf87a --- /dev/null +++ b/easybuild/easyconfigs/r/rankwidth/rankwidth-0.9-foss-2023b.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'rankwidth' +version = '0.9' + +homepage = 'https://sourceforge.net/projects/rankwidth/' +description = """rw calculates rank-width and rank-decompositions. +It is based on ideas from "Computing rank-width exactly" by Sang-il Oum, +"Sopra una formula numerica" by Ernesto Pascal, "Generation of a Vector +from the Lexicographical Index" by B.P. Buckles and M. Lybanon and "Fast +additions on masked integers" by Michael D. Adams and David S. Wise.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://master.dl.sourceforge.net/project/rankwidth'] +sources = ['rw-%(version)s.tar.gz'] +checksums = ['c1e03506fe25cdfcb428c051fc56b2d2affb5b06fba3f2ce756631466befb441'] + +dependencies = [('igraph', '0.10.12')] + +# fix `too few arguments to function igraph_get_adjacency` error +prebuildopts = 'sed -i "s/IGRAPH_GET_ADJACENCY_BOTH/IGRAPH_GET_ADJACENCY_BOTH, 0/g" simplerw.c && ' + +sanity_check_paths = { + 'files': [ + 'bin/rw', + 'include/rw.h', + 'lib/librw.%s' % SHLIB_EXT, + ], + 'dirs': ['share'], +} + +sanity_check_commands = ['rw --help | grep Usage:'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..aacfd189395 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# This seems to be actively maintained version of the code by the looks of it. +# See issue #5 +# https://github.com/somme89/rapidNJ/issues/5 +# why -march=native will not be used +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'rapidNJ' +version = '2.3.3' + +homepage = 'https://github.com/somme89/rapidNJ' +description = """RapidNJ is an algorithmic engineered implementation of canonical +neighbour-joining. It uses an efficient search heuristic to speed-up the core +computations of the neighbour-joining method that enables RapidNJ to +outperform other state-of-the-art neighbour-joining implementations.""" + +citing = """Rapid Neighbour Joining. Martin Simonsen, Thomas Mailund and Christian N. S. Pedersen. +In: Proceedings of the 8th Workshop in Algorithms in Bioinformatics (WABI), LNBI 5251, 113-122, +Springer Verlag, October 2008. +doi: 10.1007/978-3-540-87361-7_10""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/somme89/rapidNJ/archive/'] +sources = [{'filename': 'v%(version)s.tar.gz', 'download_filename': 'latest.tar.gz'}] +checksums = ['662f864cc3e5bc68aea23129f02e0062cac9ebd37e414b54c5c5e616ff4f245d'] + +builddependencies = [('binutils', '2.38')] + +files_to_copy = [(['bin/rapidnj'], 'bin')] + +# That is returning 1 instead of 0, so disabled for now +# sanity_check_commands = ['rapidnj --help'] + +sanity_check_paths = { + 'files': ['bin/rapidnj'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b6fc9da5925 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidNJ/rapidNJ-2.3.3-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +# This seems to be actively maintained version of the code by the looks of it. +# See issue #5 +# https://github.com/somme89/rapidNJ/issues/5 +# why -march=native will not be used +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'rapidNJ' +version = '2.3.3' + +homepage = 'https://github.com/somme89/rapidNJ' +description = """RapidNJ is an algorithmic engineered implementation of canonical +neighbour-joining. It uses an efficient search heuristic to speed-up the core +computations of the neighbour-joining method that enables RapidNJ to +outperform other state-of-the-art neighbour-joining implementations.""" + +citing = """Rapid Neighbour Joining. Martin Simonsen, Thomas Mailund and Christian N. S. Pedersen. +In: Proceedings of the 8th Workshop in Algorithms in Bioinformatics (WABI), LNBI 5251, 113-122, +Springer Verlag, October 2008. +doi: 10.1007/978-3-540-87361-7_10""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/somme89/rapidNJ/archive/'] +sources = [{'filename': 'v%(version)s.tar.gz', 'download_filename': 'latest.tar.gz'}] +checksums = ['662f864cc3e5bc68aea23129f02e0062cac9ebd37e414b54c5c5e616ff4f245d'] + +builddependencies = [('binutils', '2.39')] + +files_to_copy = [(['bin/rapidnj'], 'bin')] + +# That is returning 1 instead of 0, so disabled for now +# sanity_check_commands = ['rapidnj --help'] + +sanity_check_paths = { + 'files': ['bin/rapidnj'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.62-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.62-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..47457d665d6 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.62-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +# Contribution from Imperial College London/UK +# uploaded: J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'rapidcsv' +version = '8.62' + +homepage = 'https://github.com/d99kris/rapidcsv' +description = """ +Rapidcsv is a C++ header-only library for CSV parsing. +While the name admittedly was inspired by the rapidjson project, +the objectives are not the same. The goal of rapidcsv is to be +an easy-to-use CSV library enabling rapid development. +For optimal performance (be it CPU or memory usage) a CSV parser +implemented for the specific use-case is likely to be more performant. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/d99kris/rapidcsv/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a7efda6324420f2b69d3448672a9553dc91520632409661f9f83ac0425faa31d'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37') +] + +sanity_check_paths = { + 'files': ['include/rapidcsv.h'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..18ccedd9a55 --- /dev/null +++ b/easybuild/easyconfigs/r/rapidcsv/rapidcsv-8.64-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +# Contribution from Imperial College London/UK +# uploaded: J. Sassmannshausen + +easyblock = 'CMakeMake' + +name = 'rapidcsv' +version = '8.64' + +homepage = 'https://github.com/d99kris/rapidcsv' +description = """ +Rapidcsv is a C++ header-only library for CSV parsing. +While the name admittedly was inspired by the rapidjson project, +the objectives are not the same. The goal of rapidcsv is to be +an easy-to-use CSV library enabling rapid development. +For optimal performance (be it CPU or memory usage) a CSV parser +implemented for the specific use-case is likely to be more performant. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/d99kris/rapidcsv/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e2ab5231b6e65f1e168dc279bbba2e34afd43c7bc6e2522726b107bcc4e8ebac'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38') +] + +sanity_check_paths = { + 'files': ['include/rapidcsv.h'], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rasterio/rasterio-1.2.10-foss-2021b.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.2.10-foss-2021b.eb new file mode 100644 index 00000000000..2c552ddbca2 --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.2.10-foss-2021b.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.2.10' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # for numpy + ('matplotlib', '3.4.3'), + ('GDAL', '3.3.2'), +] + +use_pip = True + +exts_list = [ + ('affine', '2.3.1', { + 'checksums': ['d676de66157ad6af99ffd94e0f54e89dfc35b0fb7252ead2ed0ad2dca431bdd0'], + }), + ('jmespath', '1.0.0', { + 'checksums': ['a490e280edd1f57d6de88636992d05b71e97d69a26a19f058ecf7d304474bf5e'], + }), + ('botocore', '1.27.3', { + 'checksums': ['7be5962b956b5770799ba87b0bd2173230068d269982bdf8d16fabaa79483912'], + }), + ('s3transfer', '0.6.0', { + 'checksums': ['2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947'], + }), + ('boto3', '1.24.3', { + 'checksums': ['7625c5ed92bb7a953e03d2541bcbfcb66c3495f8d7b9421e47b4e2c280dc9162'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('snuggs', '1.4.7', { + 'checksums': ['501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b'], + }), + (name, version, { + 'checksums': ['6062456047ba6494fe18bd0da98a383b6fad5306b16cd52a22e76c59172a2b5f'], + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb new file mode 100644 index 00000000000..563debbbcd1 --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.4-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.3.4' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GDAL', '3.5.0'), + ('matplotlib', '3.5.2'), # plot extra + ('boto3', '1.26.37'), # s3 extra +] + +use_pip = True + +exts_list = [ + ('affine', '2.3.1', { + 'checksums': ['d676de66157ad6af99ffd94e0f54e89dfc35b0fb7252ead2ed0ad2dca431bdd0'], + }), + ('click-plugins', '1.1.1', { + 'checksums': ['46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + ('snuggs', '1.4.7', { + 'checksums': ['501cf113fe3892e14e2fee76da5cd0606b7e149c411c271898e6259ebde2617b'], + }), + (name, version, { + 'checksums': ['5a8771405276ecf00b8ee927bd0a81ec21778dcfc97e4a37d0b388f10c9a41a8'], + 'use_pip_extras': 'plot,s3', + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rasterio/rasterio-1.3.8-foss-2022b.eb b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.8-foss-2022b.eb new file mode 100644 index 00000000000..58109f4cb4d --- /dev/null +++ b/easybuild/easyconfigs/r/rasterio/rasterio-1.3.8-foss-2022b.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'rasterio' +version = '1.3.8' + +homepage = 'https://github.com/mapbox/rasterio' +description = "Rasterio reads and writes geospatial raster data." + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GDAL', '3.6.2'), + ('matplotlib', '3.7.0'), # plot extra + ('boto3', '1.26.163'), # 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': ['ffdd18e78efdf8ad5861065fd812a66dd34264293317ff6540a078ea891cdef8'], + }), +] + +fix_python_shebang_for = ['bin/jp.py', 'bin/rio'] + +sanity_check_paths = { + 'files': ['bin/rio'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "jp.py --help", + "rio --help", +] + +sanity_pip_check = True + +moduleclass = 'geo' 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/rasterstats/rasterstats-0.19.0-foss-2022a.eb b/easybuild/easyconfigs/r/rasterstats/rasterstats-0.19.0-foss-2022a.eb new file mode 100644 index 00000000000..a2c9fc437b6 --- /dev/null +++ b/easybuild/easyconfigs/r/rasterstats/rasterstats-0.19.0-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'rasterstats' +version = '0.19.0' + +homepage = 'https://github.com/perrygeo/python-rasterstats' +description = "rasterstats is a Python module for summarizing geospatial raster datasets based on vector geometries." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Shapely', '1.8.2'), + ('Fiona', '1.8.21'), + ('rasterio', '1.3.4'), +] + +use_pip = True + +exts_list = [ + ('affine', '2.3.1', { + 'checksums': ['d676de66157ad6af99ffd94e0f54e89dfc35b0fb7252ead2ed0ad2dca431bdd0'], + }), + ('cligj', '0.7.2', { + 'checksums': ['a4bc13d623356b373c2c27c53dbd9c68cae5d526270bfa71f6c6fa69669c6b27'], + }), + (name, version, { + 'checksums': ['066c44feb6f3936804a0c79d112271fa5bf5de0d5058823ab5c1e0047ab7bbbc'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.56.0-amd64.eb b/easybuild/easyconfigs/r/rclone/rclone-1.56.0-amd64.eb new file mode 100644 index 00000000000..399444446e3 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.56.0-amd64.eb @@ -0,0 +1,37 @@ +# Authors:: Jack Perdue - TAMU HPRC - https://hprc.tamu.edu + +easyblock = 'MakeCp' + +name = 'rclone' +version = '1.56.0' +versionsuffix = '-amd64' + +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 = ['https://downloads.%(name)s.org/v%(version)s/'] +sources = ['%(name)s-v%(version)s-linux%(versionsuffix)s.zip'] +checksums = ['d23d0c1f295a7399114b9a07fa987e7dc216dbe989b5d88530eb01d3c87c9c1f'] + +skipsteps = ['build'] + +files_to_copy = [ + (['rclone'], 'bin'), + (['rclone.1'], 'share/man/man1'), + (['README.*'], 'share/doc'), +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.txt', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rclone/rclone-1.57.0.eb b/easybuild/easyconfigs/r/rclone/rclone-1.57.0.eb new file mode 100644 index 00000000000..d34ee177ea3 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.57.0.eb @@ -0,0 +1,36 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'GoPackage' + +name = 'rclone' +version = '1.57.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 = ['294f7a6b0874509997d3a9ffae7c74f0c45b687df0ac7d7742f284ad3814fe55'] + +# rclone 1.57.0 needs at least Go 1.17 +builddependencies = [('Go', '1.17.3')] + +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.63.1-amd64.eb b/easybuild/easyconfigs/r/rclone/rclone-1.63.1-amd64.eb new file mode 100644 index 00000000000..ca2d00835c0 --- /dev/null +++ b/easybuild/easyconfigs/r/rclone/rclone-1.63.1-amd64.eb @@ -0,0 +1,37 @@ +# Authors:: Nikishe + +easyblock = 'MakeCp' + +name = 'rclone' +version = '1.63.1' +versionsuffix = '-amd64' + +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 = ['https://downloads.%(name)s.org/v%(version)s/'] +sources = ['%(name)s-v%(version)s-linux%(versionsuffix)s.zip'] +checksums = ['ca1cb4b1d9a3e45d0704aa77651b0497eacc3e415192936a5be7f7272f2c94c5'] + +skipsteps = ['build'] + +files_to_copy = [ + (['rclone'], 'bin'), + (['rclone.1'], 'share/man/man1'), + (['README.*'], 'share/doc'), +] + +sanity_check_paths = { + 'files': ['bin/rclone', 'share/doc/README.txt', 'share/man/man1/rclone.1'], + 'dirs': [] +} + +sanity_check_commands = ['rclone --version'] + +moduleclass = 'tools' 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/re2c/re2c-2.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/re2c/re2c-2.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..23695492f3d --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-2.2-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '2.2' + +homepage = 'https://re2c.org/' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/re2c/re2c-2.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/re2c/re2c-2.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..30545460282 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-2.2-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '2.2' + +homepage = 'https://re2c.org/' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['0fc45e4130a8a555d68e230d1795de0216dfe99096b61b28e67c86dfd7d86bda'] + +builddependencies = [('binutils', '2.38')] + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..baee86381e6 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-3.0-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '3.0' + +homepage = 'https://re2c.org' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b'] + +builddependencies = [('binutils', '2.39')] + +configopts = "--disable-rust" + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4222b2305c0 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '3.1' + +homepage = 'https://re2c.org' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.3') +] + +configopts = "--disable-rust" + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..4db6f2daf45 --- /dev/null +++ b/easybuild/easyconfigs/r/re2c/re2c-3.1-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 're2c' +version = '3.1' + +homepage = 'https://re2c.org' +description = """re2c is a free and open-source lexer generator for C and C++. Its main goal is generating +fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using +traditional table-driven approach, re2c encodes the generated finite state automata directly in the form +of conditional jumps and comparisons.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/skvadrik/re2c/releases/download/%(version)s'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029'] + +builddependencies = [ + ('binutils', '2.40'), + ('Python', '3.11.5') +] + +configopts = "--disable-rust" + +sanity_check_paths = { + 'files': ['bin/re2c'], + 'dirs': [], +} + +sanity_check_commands = ["re2c --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/read2tree/read2tree-0.1.5-foss-2023a.eb b/easybuild/easyconfigs/r/read2tree/read2tree-0.1.5-foss-2023a.eb new file mode 100644 index 00000000000..64d84b4a1ec --- /dev/null +++ b/easybuild/easyconfigs/r/read2tree/read2tree-0.1.5-foss-2023a.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'read2tree' +version = '0.1.5' + +homepage = 'https://github.com/DessimozLab/read2tree' +description = """read2tree is a software tool that allows to obtain alignment matrices for tree inference. + For this purpose it makes use of the OMA database and a set of reads. Its strength lies in the fact that + it bipasses the several standard steps when obtaining such a matrix in regular analysis. These steps are + read filtereing, assembly, gene prediction, gene annotation, all vs all comparison, orthology prediction, + alignment and concatination.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('ETE', '3.1.3'), + ('lxml', '4.9.2'), + ('tqdm', '4.66.1'), + ('pyparsing', '3.1.1'), + ('PyYAML', '6.0'), + ('DendroPy', '4.6.1'), + ('MAFFT', '7.520', '-with-extensions'), + ('IQ-TREE', '2.3.5'), + ('ngmlr', '0.2.7'), + ('NextGenMap', '0.5.5'), + ('SAMtools', '1.18'), + ('Pysam', '0.22.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('natsort', '8.4.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4732914fb471f56b5cce04d7bae6f164a592c7712e1c85f9ef585e197299521c'], + }), + ('filelock', '3.16.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0'], + }), + ('pyham', '1.2.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['57c91020ceb4d55dc5e8bfff40ad83d2410e15dad35f2d5c4bcbf4451031ad88'], + }), + (name, version, { + 'source_urls': ['https://github.com/DessimozLab/read2tree/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['c1a7f4801c0abc4742ff03c9af4e8817e4e8c9aa9ced0735e2275df2c7dd8e3d'], + }), +] + +sanity_check_commands = ['%(name)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/redis-py/redis-py-4.3.1-foss-2021a.eb b/easybuild/easyconfigs/r/redis-py/redis-py-4.3.1-foss-2021a.eb new file mode 100644 index 00000000000..2f495d612cc --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-4.3.1-foss-2021a.eb @@ -0,0 +1,38 @@ +easyblock = "PythonBundle" + +name = "redis-py" +version = "4.3.1" + +homepage = "https://github.com/redis/redis-py" +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('typing-extensions', '3.10.0.0'), + ('Redis', '6.2.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + (name, version, { + 'modulename': 'redis', + 'source_urls': ['https://github.com/redis/redis-py/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['adb409e9d457394b4eeeac075dd500f132717b66247befe387a85f76d93cf1b4'], + }), +] + +moduleclass = "data" diff --git a/easybuild/easyconfigs/r/redis-py/redis-py-4.3.3-foss-2021b.eb b/easybuild/easyconfigs/r/redis-py/redis-py-4.3.3-foss-2021b.eb new file mode 100644 index 00000000000..003261a26c7 --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-4.3.3-foss-2021b.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '4.3.3' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('typing-extensions', '3.10.0.2'), + ('Redis', '6.2.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.13', { + 'checksums': ['43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d'], + }), + (name, version, { + 'modulename': 'redis', + 'source_urls': ['https://github.com/redis/redis-py/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['8ca81c58dac19fb3c8efa14a95b8652da1c712bca5bc221f61b0d98a5c881fbb'], + }), +] + +moduleclass = "data" diff --git a/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb b/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb new file mode 100644 index 00000000000..9f1b437cc0e --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-4.5.1-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '4.5.1' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('typing-extensions', '4.3.0'), + ('Redis', '7.0.8'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('async-timeout', '4.0.2', { + 'checksums': ['2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15'], + }), + (name, version, { + 'modulename': 'redis', + 'source_urls': ['https://github.com/redis/redis-py/archive/refs/tags/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['d45e81f5d28024293e089ca54c65ebfca30289c1c596ce19b5d6b7a8131c92b6'], + }), +] + +moduleclass = "data" 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/redis-py/redis-py-5.0.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/r/redis-py/redis-py-5.0.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b877029e19a --- /dev/null +++ b/easybuild/easyconfigs/r/redis-py/redis-py-5.0.9-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'redis-py' +version = '5.0.9' + +homepage = 'https://github.com/redis/redis-py' +description = "The Python interface to the Redis key-value store." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('typing-extensions', '4.10.0'), + ('Redis', '7.2.4'), +] + +use_pip = 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': ['c107fddbaa40414559ddd21f0a78bc7d466cd6b20a800839ac18b9bb54e5c150'], + }), +] + +sanity_pip_check = True + +moduleclass = "data" diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.10.0-foss-2022b.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.10.0-foss-2022b.eb new file mode 100644 index 00000000000..dec0c537305 --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.10.0-foss-2022b.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.10.0' + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('geopandas', '0.12.2'), + ('rasterio', '1.3.8'), + ('Shapely', '2.0.1'), + ('xarray', '2023.4.2'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['6e951ad3513234d1fbd9ed2bfe71b4fd8b088d3fd270606251692854976a3a6b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.12.1-foss-2023a.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.12.1-foss-2023a.eb new file mode 100644 index 00000000000..4172bf592e3 --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.12.1-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.12.1' + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('geopandas', '0.14.2'), + ('rasterio', '1.3.9'), + ('Shapely', '2.0.1'), + ('xarray', '2023.9.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['7ef1e70c6ebab7bfc6a80e13f6fe771945b8b6a31b7f8980fc88c8b8505bb854'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..30ba66592cf --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.9.0' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), + ('geopandas', '0.8.1', versionsuffix), + ('rasterio', '1.1.7', versionsuffix), + ('Shapely', '1.7.1', versionsuffix), + ('xarray', '0.16.1', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('pooch', '1.3.0', { + 'checksums': ['30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898'], + }), + (name, version, { + 'checksums': ['8da1b6359756241867c4e967097810ef86b9dff4e06d11ca648fe1d607e9cf14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2021b.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2021b.eb new file mode 100644 index 00000000000..0a3ef2b5475 --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.9.0' + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('geopandas', '0.11.0'), + ('rasterio', '1.2.10'), + ('Shapely', '1.8.2'), + ('xarray', '0.20.1'), +] + +use_pip = True + +exts_list = [ + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + (name, version, { + 'checksums': ['8da1b6359756241867c4e967097810ef86b9dff4e06d11ca648fe1d607e9cf14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb new file mode 100644 index 00000000000..6c259ec85aa --- /dev/null +++ b/easybuild/easyconfigs/r/regionmask/regionmask-0.9.0-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'regionmask' +version = '0.9.0' + +homepage = 'https://regionmask.readthedocs.io' +description = """regionmask creates masks of geographical regions. It determines to which +geographic region each grid point belongs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('geopandas', '0.12.2'), + ('rasterio', '1.3.4'), + ('Shapely', '1.8.2'), + ('xarray', '2022.6.0'), +] + +use_pip = True + +exts_list = [ + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + (name, version, { + 'checksums': ['8da1b6359756241867c4e967097810ef86b9dff4e06d11ca648fe1d607e9cf14'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' 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/resolos/resolos-0.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/resolos/resolos-0.3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4a7708038c7 --- /dev/null +++ b/easybuild/easyconfigs/r/resolos/resolos-0.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'resolos' +version = '0.3.5' + +homepage = 'https://gitlab.unige.ch/resolos/resolos' +description = """Resolos is a toolkit written in Python for maintaining reproducible environments +for scientific computations. It's main goal is to enable researchers to easily +replicate environments through space (running code on HPC environment) +and time (environment preservation for long term archival). +For installation and detailed usage, check out the documentation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = { + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +} + +use_pip = True + +exts_list = [ + ('click-log', '0.4.0', { + 'checksums': ['3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975'], + }), + ('conda-pack', '0.6.0', { + 'checksums': ['615f41353fdc8793b0edb55702212273f17e40b43cc2c17493430e9c66d9f0b3'], + }), + ('semver', '2.13.0', { + 'checksums': ['fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f'], + }), + ('PyJWT', '2.6.0', { + 'modulename': 'jwt', + 'checksums': ['69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd'], + }), + (name, version, { + 'checksums': ['c0fb50e36866fa591f0a7ab3567e9037c97d96f34614e86ee9cad1b62c689de2'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["r3s info"] +sanity_check_paths = { + 'files': ["bin/r3s"], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +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/rgdal/rgdal-1.5-23-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/rgdal/rgdal-1.5-23-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..5946db654fa --- /dev/null +++ b/easybuild/easyconfigs/r/rgdal/rgdal-1.5-23-foss-2021a-R-4.1.0.eb @@ -0,0 +1,32 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'RPackage' + +name = 'rgdal' +version = '1.5-23' +versionsuffix = '-R-%(rver)s' + +homepage = "https://rgdal.r-forge.r-project.org/" +description = """Provides bindings to the 'Geospatial' Data Abstraction Library ('GDAL') (>= 1.11.4 and <= 2.5.0) and + access to projection/transformation operations from the 'PROJ.4' library.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['9ca5744b946e7a3c4ca26598612bf54e550d3a0c5811d56e22c30b73f83ccb6e'] + +dependencies = [ + ('R', '4.1.0'), + ('GDAL', '3.3.0'), +] + +sanity_check_paths = { + 'files': ['rgdal/R/rgdal'], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rgdal/rgdal-1.6-6-foss-2022a.eb b/easybuild/easyconfigs/r/rgdal/rgdal-1.6-6-foss-2022a.eb new file mode 100644 index 00000000000..9f53672f0cb --- /dev/null +++ b/easybuild/easyconfigs/r/rgdal/rgdal-1.6-6-foss-2022a.eb @@ -0,0 +1,31 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'RPackage' + +name = 'rgdal' +version = '1.6-6' + +homepage = 'https://rgdal.r-forge.r-project.org/' +description = """Provides bindings to the 'Geospatial' Data Abstraction Library ('GDAL') (>= 1.11.4 and <= 2.5.0) and + access to projection/transformation operations from the 'PROJ.4' library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['d742d7aadfc004771e61cac28a1faffeb4dbda981dea19115be11c541087399a'] + +dependencies = [ + ('R', '4.2.1'), + ('GDAL', '3.5.0'), +] + +sanity_check_paths = { + 'files': ['%(name)s/R/%(name)s'], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rgeos/rgeos-0.5-5-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/rgeos/rgeos-0.5-5-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..0d64b41bc09 --- /dev/null +++ b/easybuild/easyconfigs/r/rgeos/rgeos-0.5-5-foss-2021a-R-4.1.0.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'rgeos' +version = '0.5-5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rgeos/' +description = """R interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations + on geometries""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +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 +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['4baa0dfe6ff76e87ddb67a030fc14fe963d28b518485a4d71058923b2606d420'] + +dependencies = [ + ('R', '4.1.0'), + ('GEOS', '3.9.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['%(namelower)s'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rioxarray/rioxarray-0.11.1-foss-2021b.eb b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.11.1-foss-2021b.eb new file mode 100644 index 00000000000..7b5a3c11a9c --- /dev/null +++ b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.11.1-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'rioxarray' +version = '0.11.1' + +homepage = 'https://github.com/corteva/rioxarray' +description = "geospatial xarray extension powered by rasterio" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('rasterio', '1.2.10'), + ('pyproj', '3.3.1'), + ('xarray', '0.20.1'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['9932db0498d13bd1a2643b0eaa657d3d1558118396af0dd1ea86dae6f91e0ff4'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb new file mode 100644 index 00000000000..57c9a4816f3 --- /dev/null +++ b/easybuild/easyconfigs/r/rioxarray/rioxarray-0.14.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'rioxarray' +version = '0.14.0' + +homepage = 'https://github.com/corteva/rioxarray' +description = "geospatial xarray extension powered by rasterio" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('rasterio', '1.3.4'), + ('pyproj', '3.4.0'), + ('xarray', '2022.6.0'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['bbbda47fd7eb04c0986df553f11aa0bdbc9846e75601b8ebd704fc8573bfb835'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'geo' 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/ripunzip/ripunzip-0.4.0.eb b/easybuild/easyconfigs/r/ripunzip/ripunzip-0.4.0.eb new file mode 100644 index 00000000000..ef9b2d15dd9 --- /dev/null +++ b/easybuild/easyconfigs/r/ripunzip/ripunzip-0.4.0.eb @@ -0,0 +1,484 @@ +easyblock = 'Cargo' + +name = 'ripunzip' +version = '0.4.0' + +homepage = 'https://github.com/google/ripunzip' +description = "A tool to unzip files in parallel." + +toolchain = SYSTEM + +crates = [ + ('adler', '1.0.2'), + ('aes', '0.7.5'), + ('aho-corasick', '0.7.20'), + ('anyhow', '1.0.66'), + ('arbitrary', '1.2.0'), + ('arrayvec', '0.5.2'), + ('atty', '0.2.14'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('base64ct', '1.5.3'), + ('bitflags', '1.3.2'), + ('block-buffer', '0.10.3'), + ('bstr', '0.2.17'), + ('bumpalo', '3.11.1'), + ('byteorder', '1.4.3'), + ('bytes', '1.3.0'), + ('bzip2', '0.4.3'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cast', '0.3.0'), + ('cc', '1.0.77'), + ('cfg-if', '1.0.0'), + ('cipher', '0.3.0'), + ('clap', '2.34.0'), + ('clap', '4.0.29'), + ('clap_derive', '4.0.21'), + ('clap_lex', '0.3.0'), + ('console', '0.15.2'), + ('constant_time_eq', '0.1.5'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.3'), + ('cpufeatures', '0.2.5'), + ('crc32fast', '1.3.2'), + ('criterion', '0.3.6'), + ('criterion-plot', '0.4.5'), + ('crossbeam-channel', '0.5.6'), + ('crossbeam-deque', '0.8.2'), + ('crossbeam-epoch', '0.9.13'), + ('crossbeam-utils', '0.8.14'), + ('crypto-common', '0.1.6'), + ('csv', '1.1.6'), + ('csv-core', '0.1.10'), + ('derive_arbitrary', '1.2.1'), + ('digest', '0.10.6'), + ('either', '1.8.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.31'), + ('env_logger', '0.10.0'), + ('errno', '0.2.8'), + ('errno-dragonfly', '0.1.2'), + ('fastrand', '1.8.0'), + ('flate2', '1.0.25'), + ('fnv', '1.0.7'), + ('foreign-types', '0.3.2'), + ('foreign-types-shared', '0.1.1'), + ('form_urlencoded', '1.1.0'), + ('futures', '0.3.25'), + ('futures-channel', '0.3.25'), + ('futures-core', '0.3.25'), + ('futures-io', '0.3.25'), + ('futures-macro', '0.3.25'), + ('futures-sink', '0.3.25'), + ('futures-task', '0.3.25'), + ('futures-util', '0.3.25'), + ('generic-array', '0.14.6'), + ('getrandom', '0.2.8'), + ('h2', '0.3.15'), + ('half', '1.8.2'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.0'), + ('hermit-abi', '0.1.19'), + ('hermit-abi', '0.2.6'), + ('hexdump', '0.1.1'), + ('hmac', '0.12.1'), + ('http', '0.2.8'), + ('http-body', '0.4.5'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.2'), + ('httptest', '0.15.4'), + ('humantime', '2.1.0'), + ('hyper', '0.14.23'), + ('hyper-tls', '0.5.0'), + ('idna', '0.3.0'), + ('indexmap', '1.9.2'), + ('indicatif', '0.17.2'), + ('instant', '0.1.12'), + ('io-lifetimes', '1.0.3'), + ('ipnet', '2.5.1'), + ('is-terminal', '0.4.1'), + ('itertools', '0.4.19'), + ('itertools', '0.10.5'), + ('itoa', '0.4.8'), + ('itoa', '1.0.4'), + ('jobserver', '0.1.25'), + ('js-sys', '0.3.60'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.138'), + ('linux-raw-sys', '0.1.3'), + ('lipsum', '0.8.2'), + ('log', '0.4.17'), + ('memchr', '2.5.0'), + ('memoffset', '0.7.1'), + ('mime', '0.3.16'), + ('miniz_oxide', '0.6.2'), + ('mio', '0.8.5'), + ('monitor', '0.1.0'), + ('native-tls', '0.2.11'), + ('num-traits', '0.2.15'), + ('num_cpus', '1.14.0'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.16.0'), + ('oorandom', '11.1.3'), + ('opaque-debug', '0.3.0'), + ('openssl', '0.10.44'), + ('openssl-macros', '0.1.0'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.79'), + ('os_str_bytes', '6.4.1'), + ('password-hash', '0.4.2'), + ('pbkdf2', '0.11.0'), + ('percent-encoding', '2.2.0'), + ('pin-project-lite', '0.2.9'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.26'), + ('plotters', '0.3.4'), + ('plotters-backend', '0.3.4'), + ('plotters-svg', '0.3.3'), + ('portable-atomic', '0.3.15'), + ('ppv-lite86', '0.2.17'), + ('proc-macro-error', '1.0.4'), + ('proc-macro-error-attr', '1.0.4'), + ('proc-macro2', '1.0.47'), + ('progress-streams', '1.1.0'), + ('quote', '1.0.21'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rayon', '1.6.0'), + ('rayon-core', '1.10.1'), + ('redox_syscall', '0.2.16'), + ('regex', '1.7.0'), + ('regex-automata', '0.1.10'), + ('regex-syntax', '0.6.28'), + ('remove_dir_all', '0.5.3'), + ('reqwest', '0.11.13'), + ('rustix', '0.36.5'), + ('rustversion', '1.0.11'), + ('ryu', '1.0.11'), + ('same-file', '1.0.6'), + ('schannel', '0.1.20'), + ('scopeguard', '1.1.0'), + ('security-framework', '2.7.0'), + ('security-framework-sys', '2.6.1'), + ('serde', '1.0.149'), + ('serde_cbor', '0.11.2'), + ('serde_derive', '1.0.151'), + ('serde_json', '1.0.89'), + ('serde_urlencoded', '0.7.1'), + ('sha1', '0.10.5'), + ('sha2', '0.10.6'), + ('slab', '0.4.7'), + ('socket2', '0.4.7'), + ('strsim', '0.10.0'), + ('strum', '0.24.1'), + ('strum_macros', '0.24.3'), + ('subtle', '2.4.1'), + ('syn', '1.0.105'), + ('tempfile', '3.3.0'), + ('termcolor', '1.1.3'), + ('terminal_size', '0.1.17'), + ('test-log', '0.2.11'), + ('textwrap', '0.11.0'), + ('thiserror', '1.0.37'), + ('thiserror-impl', '1.0.37'), + ('time', '0.3.17'), + ('time-core', '0.1.0'), + ('time-macros', '0.2.6'), + ('tinytemplate', '1.2.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.0'), + ('tokio', '1.24.1'), + ('tokio-native-tls', '0.3.0'), + ('tokio-util', '0.7.4'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.37'), + ('tracing-core', '0.1.30'), + ('try-lock', '0.2.3'), + ('typenum', '1.16.0'), + ('unicode-bidi', '0.3.8'), + ('unicode-ident', '1.0.5'), + ('unicode-normalization', '0.1.22'), + ('unicode-width', '0.1.10'), + ('url', '2.3.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('walkdir', '2.3.2'), + ('want', '0.3.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.83'), + ('wasm-bindgen-backend', '0.2.83'), + ('wasm-bindgen-futures', '0.4.33'), + ('wasm-bindgen-macro', '0.2.83'), + ('wasm-bindgen-macro-support', '0.2.83'), + ('wasm-bindgen-shared', '0.2.83'), + ('web-sys', '0.3.60'), + ('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_aarch64_gnullvm', '0.42.0'), + ('windows_aarch64_msvc', '0.36.1'), + ('windows_aarch64_msvc', '0.42.0'), + ('windows_i686_gnu', '0.36.1'), + ('windows_i686_gnu', '0.42.0'), + ('windows_i686_msvc', '0.36.1'), + ('windows_i686_msvc', '0.42.0'), + ('windows_x86_64_gnu', '0.36.1'), + ('windows_x86_64_gnu', '0.42.0'), + ('windows_x86_64_gnullvm', '0.42.0'), + ('windows_x86_64_msvc', '0.36.1'), + ('windows_x86_64_msvc', '0.42.0'), + ('winreg', '0.10.1'), + ('zip', '0.6.3'), + ('zstd', '0.11.2+zstd.1.5.2'), + ('zstd-safe', '5.0.2+zstd.1.5.2'), + ('zstd-sys', '2.0.4+zstd.1.5.2'), +] +source_urls = ['https://github.com/google/ripunzip/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.4.0.tar.gz': 'ea8aaeb319dc72a4b2407fde8dafb310b0dfd9ced0c1602e2f3bcb068f9ee29b'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aes-0.7.5.tar.gz': '9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'anyhow-1.0.66.tar.gz': '216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6'}, + {'arbitrary-1.2.0.tar.gz': '29d47fbf90d5149a107494b15a7dc8d69b351be2db3bb9691740e88ec17fd880'}, + {'arrayvec-0.5.2.tar.gz': '23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64ct-1.5.3.tar.gz': 'b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'block-buffer-0.10.3.tar.gz': '69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e'}, + {'bstr-0.2.17.tar.gz': 'ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223'}, + {'bumpalo-3.11.1.tar.gz': '572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba'}, + {'byteorder-1.4.3.tar.gz': '14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610'}, + {'bytes-1.3.0.tar.gz': 'dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c'}, + {'bzip2-0.4.3.tar.gz': '6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'cc-1.0.77.tar.gz': 'e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.3.0.tar.gz': '7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7'}, + {'clap-2.34.0.tar.gz': 'a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c'}, + {'clap-4.0.29.tar.gz': '4d63b9e9c07271b9957ad22c173bae2a4d9a81127680962039296abcd2f8251d'}, + {'clap_derive-4.0.21.tar.gz': '0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014'}, + {'clap_lex-0.3.0.tar.gz': '0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8'}, + {'console-0.15.2.tar.gz': 'c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c'}, + {'constant_time_eq-0.1.5.tar.gz': '245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.3.tar.gz': '5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc'}, + {'cpufeatures-0.2.5.tar.gz': '28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'criterion-0.3.6.tar.gz': 'b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f'}, + {'criterion-plot-0.4.5.tar.gz': '2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876'}, + {'crossbeam-channel-0.5.6.tar.gz': 'c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521'}, + {'crossbeam-deque-0.8.2.tar.gz': '715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc'}, + {'crossbeam-epoch-0.9.13.tar.gz': '01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a'}, + {'crossbeam-utils-0.8.14.tar.gz': '4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f'}, + {'crypto-common-0.1.6.tar.gz': '1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3'}, + {'csv-1.1.6.tar.gz': '22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1'}, + {'csv-core-0.1.10.tar.gz': '2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90'}, + {'derive_arbitrary-1.2.1.tar.gz': 'f8a16495aeb28047bb1185fca837baf755e7d71ed3aeed7f8504654ffa927208'}, + {'digest-0.10.6.tar.gz': '8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f'}, + {'either-1.8.0.tar.gz': '90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.31.tar.gz': '9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b'}, + {'env_logger-0.10.0.tar.gz': '85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0'}, + {'errno-0.2.8.tar.gz': 'f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1'}, + {'errno-dragonfly-0.1.2.tar.gz': 'aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf'}, + {'fastrand-1.8.0.tar.gz': 'a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499'}, + {'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'}, + {'futures-0.3.25.tar.gz': '38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0'}, + {'futures-channel-0.3.25.tar.gz': '52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed'}, + {'futures-core-0.3.25.tar.gz': '04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac'}, + {'futures-io-0.3.25.tar.gz': '00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb'}, + {'futures-macro-0.3.25.tar.gz': 'bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d'}, + {'futures-sink-0.3.25.tar.gz': '39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9'}, + {'futures-task-0.3.25.tar.gz': '2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea'}, + {'futures-util-0.3.25.tar.gz': '197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6'}, + {'generic-array-0.14.6.tar.gz': 'bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9'}, + {'getrandom-0.2.8.tar.gz': 'c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31'}, + {'h2-0.3.15.tar.gz': '5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4'}, + {'half-1.8.2.tar.gz': 'eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.0.tar.gz': '2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hermit-abi-0.2.6.tar.gz': 'ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7'}, + {'hexdump-0.1.1.tar.gz': 'e40283dadb02f3af778878be1d717b17b4e4ab92e1d935ab03a730b0542905f2'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'http-0.2.8.tar.gz': '75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399'}, + {'http-body-0.4.5.tar.gz': 'd5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1'}, + {'httparse-1.8.0.tar.gz': 'd897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904'}, + {'httpdate-1.0.2.tar.gz': 'c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421'}, + {'httptest-0.15.4.tar.gz': 'f6f25cfb6def593d43fae1ead24861f217e93bc70768a45cc149a69b5f049df4'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'hyper-0.14.23.tar.gz': '034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c'}, + {'hyper-tls-0.5.0.tar.gz': 'd6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905'}, + {'idna-0.3.0.tar.gz': 'e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6'}, + {'indexmap-1.9.2.tar.gz': '1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399'}, + {'indicatif-0.17.2.tar.gz': '4295cbb7573c16d310e99e713cf9e75101eb190ab31fccd35f2d2691b4352b19'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'io-lifetimes-1.0.3.tar.gz': '46112a93252b123d31a119a8d1a1ac19deac4fac6e0e8b0df58f0d4e5870e63c'}, + {'ipnet-2.5.1.tar.gz': 'f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745'}, + {'is-terminal-0.4.1.tar.gz': '927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330'}, + {'itertools-0.4.19.tar.gz': 'c4a9b56eb56058f43dc66e58f40a214b2ccbc9f3df51861b63d51dec7b65bc3f'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-0.4.8.tar.gz': 'b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4'}, + {'itoa-1.0.4.tar.gz': '4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc'}, + {'jobserver-0.1.25.tar.gz': '068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b'}, + {'js-sys-0.3.60.tar.gz': '49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.138.tar.gz': 'db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8'}, + {'linux-raw-sys-0.1.3.tar.gz': '8f9f08d8963a6c613f4b1a78f4f4a4dbfadf8e6545b2d72861731e4858b8b47f'}, + {'lipsum-0.8.2.tar.gz': 'a8451846f1f337e44486666989fbce40be804da139d5a4477d6b88ece5dc69f4'}, + {'log-0.4.17.tar.gz': 'abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.7.1.tar.gz': '5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4'}, + {'mime-0.3.16.tar.gz': '2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d'}, + {'miniz_oxide-0.6.2.tar.gz': 'b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa'}, + {'mio-0.8.5.tar.gz': 'e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de'}, + {'monitor-0.1.0.tar.gz': '06508b4391c92efc13a8600bccbe29e04ceeefe65f021182f573e52e0f868931'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'num-traits-0.2.15.tar.gz': '578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd'}, + {'num_cpus-1.14.0.tar.gz': 'f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.16.0.tar.gz': '86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'opaque-debug-0.3.0.tar.gz': '624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5'}, + {'openssl-0.10.44.tar.gz': '29d971fd5722fec23977260f6e81aa67d2f22cadbdc2aa049f1022d9a3be1566'}, + {'openssl-macros-0.1.0.tar.gz': 'b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.79.tar.gz': '5454462c0eced1e97f2ec09036abc8da362e66802f66fd20f86854d9d8cbcbc4'}, + {'os_str_bytes-6.4.1.tar.gz': '9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee'}, + {'password-hash-0.4.2.tar.gz': '7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700'}, + {'pbkdf2-0.11.0.tar.gz': '83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917'}, + {'percent-encoding-2.2.0.tar.gz': '478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e'}, + {'pin-project-lite-0.2.9.tar.gz': 'e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkg-config-0.3.26.tar.gz': '6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160'}, + {'plotters-0.3.4.tar.gz': '2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97'}, + {'plotters-backend-0.3.4.tar.gz': '193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142'}, + {'plotters-svg-0.3.3.tar.gz': 'f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f'}, + {'portable-atomic-0.3.15.tar.gz': '15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro-error-1.0.4.tar.gz': 'da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c'}, + {'proc-macro-error-attr-1.0.4.tar.gz': 'a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869'}, + {'proc-macro2-1.0.47.tar.gz': '5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725'}, + {'progress-streams-1.1.0.tar.gz': 'e965d96c8162c607b0cd8d66047ad3c9fd35273c134d994327882c6e47f986a7'}, + {'quote-1.0.21.tar.gz': 'bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179'}, + {'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.6.0.tar.gz': '1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b'}, + {'rayon-core-1.10.1.tar.gz': 'cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3'}, + {'redox_syscall-0.2.16.tar.gz': 'fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a'}, + {'regex-1.7.0.tar.gz': 'e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a'}, + {'regex-automata-0.1.10.tar.gz': '6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132'}, + {'regex-syntax-0.6.28.tar.gz': '456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848'}, + {'remove_dir_all-0.5.3.tar.gz': '3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7'}, + {'reqwest-0.11.13.tar.gz': '68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c'}, + {'rustix-0.36.5.tar.gz': 'a3807b5d10909833d3e9acd1eb5fb988f79376ff10fce42937de71a449c4c588'}, + {'rustversion-1.0.11.tar.gz': '5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70'}, + {'ryu-1.0.11.tar.gz': '4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'schannel-0.1.20.tar.gz': '88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'security-framework-2.7.0.tar.gz': '2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c'}, + {'security-framework-sys-2.6.1.tar.gz': '0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556'}, + {'serde-1.0.149.tar.gz': '256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055'}, + {'serde_cbor-0.11.2.tar.gz': '2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5'}, + {'serde_derive-1.0.151.tar.gz': '255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8'}, + {'serde_json-1.0.89.tar.gz': '020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'sha1-0.10.5.tar.gz': 'f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3'}, + {'sha2-0.10.6.tar.gz': '82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0'}, + {'slab-0.4.7.tar.gz': '4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef'}, + {'socket2-0.4.7.tar.gz': '02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strum-0.24.1.tar.gz': '063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f'}, + {'strum_macros-0.24.3.tar.gz': '1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59'}, + {'subtle-2.4.1.tar.gz': '6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601'}, + {'syn-1.0.105.tar.gz': '60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908'}, + {'tempfile-3.3.0.tar.gz': '5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4'}, + {'termcolor-1.1.3.tar.gz': 'bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755'}, + {'terminal_size-0.1.17.tar.gz': '633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df'}, + {'test-log-0.2.11.tar.gz': '38f0c854faeb68a048f0f2dc410c5ddae3bf83854ef0e4977d58306a5edef50e'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thiserror-1.0.37.tar.gz': '10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e'}, + {'thiserror-impl-1.0.37.tar.gz': '982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb'}, + {'time-0.3.17.tar.gz': 'a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376'}, + {'time-core-0.1.0.tar.gz': '2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd'}, + {'time-macros-0.2.6.tar.gz': 'd967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.0.tar.gz': 'cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c'}, + {'tokio-1.24.1.tar.gz': '1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae'}, + {'tokio-native-tls-0.3.0.tar.gz': 'f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b'}, + {'tokio-util-0.7.4.tar.gz': '0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740'}, + {'tower-service-0.3.2.tar.gz': 'b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52'}, + {'tracing-0.1.37.tar.gz': '8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8'}, + {'tracing-core-0.1.30.tar.gz': '24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a'}, + {'try-lock-0.2.3.tar.gz': '59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642'}, + {'typenum-1.16.0.tar.gz': '497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba'}, + {'unicode-bidi-0.3.8.tar.gz': '099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992'}, + {'unicode-ident-1.0.5.tar.gz': '6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-width-0.1.10.tar.gz': 'c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b'}, + {'url-2.3.1.tar.gz': '0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'walkdir-2.3.2.tar.gz': '808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56'}, + {'want-0.3.0.tar.gz': '1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.83.tar.gz': 'eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268'}, + {'wasm-bindgen-backend-0.2.83.tar.gz': '4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142'}, + {'wasm-bindgen-futures-0.4.33.tar.gz': '23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d'}, + {'wasm-bindgen-macro-0.2.83.tar.gz': '052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810'}, + {'wasm-bindgen-macro-support-0.2.83.tar.gz': '07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c'}, + {'wasm-bindgen-shared-0.2.83.tar.gz': '1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f'}, + {'web-sys-0.3.60.tar.gz': 'bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f'}, + {'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_aarch64_gnullvm-0.42.0.tar.gz': '41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e'}, + {'windows_aarch64_msvc-0.36.1.tar.gz': '9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47'}, + {'windows_aarch64_msvc-0.42.0.tar.gz': 'dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4'}, + {'windows_i686_gnu-0.36.1.tar.gz': '180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6'}, + {'windows_i686_gnu-0.42.0.tar.gz': 'fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7'}, + {'windows_i686_msvc-0.36.1.tar.gz': 'e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024'}, + {'windows_i686_msvc-0.42.0.tar.gz': '84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246'}, + {'windows_x86_64_gnu-0.36.1.tar.gz': '4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1'}, + {'windows_x86_64_gnu-0.42.0.tar.gz': 'bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed'}, + {'windows_x86_64_gnullvm-0.42.0.tar.gz': '09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028'}, + {'windows_x86_64_msvc-0.36.1.tar.gz': 'c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680'}, + {'windows_x86_64_msvc-0.42.0.tar.gz': 'f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5'}, + {'winreg-0.10.1.tar.gz': '80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d'}, + {'zip-0.6.3.tar.gz': '537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080'}, + {'zstd-0.11.2+zstd.1.5.2.tar.gz': '20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4'}, + {'zstd-safe-5.0.2+zstd.1.5.2.tar.gz': '1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db'}, + {'zstd-sys-2.0.4+zstd.1.5.2.tar.gz': '4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0'}, +] + +builddependencies = [ + ('Rust', '1.65.0', '', ('GCCcore', '12.2.0')), +] + +sanity_check_paths = { + 'files': ['bin/ripunzip'], + 'dirs': [], +} + +sanity_check_commands = ["ripunzip --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..2a055d37ff0 --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # provides numpy + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a.eb new file mode 100644 index 00000000000..d13d6bbaafe --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # provides numpy + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a141be4df71 --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0', versionsuffix), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb new file mode 100644 index 00000000000..828dbb0e31a --- /dev/null +++ b/easybuild/easyconfigs/r/rising/rising-0.2.2-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'rising' +version = '0.2.2' + +homepage = 'https://rising.rtfd.io/' +description = "Provides everything needed for high performance data loading and augmentation in PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# rising archive on PyPi is incomplete as of 2022-02-05 +github_account = 'PhoenixDL' + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # provides numpy + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('threadpoolctl', '3.1.0', { + 'checksums': ['a335baacfaa4400ae1f0d8e3a58d6674d2f8828e3716bb2802c44955ad391380'], + }), + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5294b3f9b183b4efe7e4bafb4b42caa19aa4db737e7379e8356cc575fce57662'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..415dee78ed6 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.3.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.3'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.4.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.4.eb new file mode 100644 index 00000000000..7694a11ea49 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.4.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.4'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.5.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.5.eb new file mode 100644 index 00000000000..9de5eae8959 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2020b-R-4.0.5.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.5'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..b05c237aa37 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-foss-2021a-R-4.1.0.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.1.0'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.3.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.3.eb new file mode 100644 index 00000000000..42d5cdf10fe --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.3.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.3'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.4.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.4.eb new file mode 100644 index 00000000000..eafcc9b44f6 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.4.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.4'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.5.eb b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.5.eb new file mode 100644 index 00000000000..bb7c0dda508 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-10-fosscuda-2020b-R-4.0.5.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-10' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['bd3e0bdf50b23b63061a0caa2428be585ccbf0b3f5d28eaa690e714e508d0ada'] + +dependencies = [ + ('R', '4.0.5'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-12-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/r/rjags/rjags-4-12-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..de29888de5a --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-12-foss-2021b-R-4.1.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-12' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['b91f34c3f9ebf78fa44bd661346fbb6f28a01693a7203ac133c98392dd273e10'] + +dependencies = [ + ('R', '4.1.2'), + ('JAGS', '4.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..a19bae4623f --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-13' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['f85cc34c5127b828d8a3fa3613ef29f147c868bdaf55eb0f7406c10abbf92b32'] + +dependencies = [ + ('R', '4.2.1'), + ('JAGS', '4.3.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..77fe842ea5d --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-13-foss-2022b-R-4.2.2.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-13' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['f85cc34c5127b828d8a3fa3613ef29f147c868bdaf55eb0f7406c10abbf92b32'] + +dependencies = [ + ('R', '4.2.2'), + ('JAGS', '4.3.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rjags/rjags-4-15-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/r/rjags/rjags-4-15-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..f793f925da6 --- /dev/null +++ b/easybuild/easyconfigs/r/rjags/rjags-4-15-foss-2023a-R-4.3.2.eb @@ -0,0 +1,30 @@ +easyblock = 'RPackage' + +name = 'rjags' +version = '4-15' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rjags' +description = """The rjags package is an interface to the JAGS library.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/rjags/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['35cd4c1faaaa8523b87ac053b881dccf29798f073f438459589e786b95ef18a1'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('JAGS', '4.3.2'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['rjags'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..70a043c2405 --- /dev/null +++ b/easybuild/easyconfigs/r/rmarkdown/rmarkdown-2.20-foss-2021a-R-4.1.0.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'rmarkdown' +version = '2.20' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/rmarkdown' +description = "Convert R Markdown documents into a variety of formats." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', +] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['d7f7059bfcb43e4b92432d69ba0e0c74ad10a20f153689262a3e848adb60159d'] + +dependencies = [ + ('R', '4.1.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rnaQUAST/rnaQUAST-2.2.2-foss-2021b.eb b/easybuild/easyconfigs/r/rnaQUAST/rnaQUAST-2.2.2-foss-2021b.eb new file mode 100644 index 00000000000..20225e8951c --- /dev/null +++ b/easybuild/easyconfigs/r/rnaQUAST/rnaQUAST-2.2.2-foss-2021b.eb @@ -0,0 +1,67 @@ +easyblock = 'Tarball' + +name = 'rnaQUAST' +version = '2.2.2' + +homepage = 'https://cab.spbu.ru/software/rnaquast/' +description = """rnaQUAST is a tool for evaluating RNA-Seq assemblies using reference genome and gene database. +In addition, rnaQUAST is also capable of estimating gene database coverage by raw reads and de novo quality +assessment using third-party software.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/ablab/rnaquast/releases/download/v.%(version)s/'] +sources = ['rnaQUAST-%(version)s.tar.gz'] +checksums = ['941aeb9a296aa0135f8973c0cffa76e05d7451cc698f0f56c23c5627ae163c8f'] + +dependencies = [ + ('Python', '3.9.6'), + ('GMAP-GSNAP', '2021-12-17'), + ('Biopython', '1.79'), + ('matplotlib', '3.4.3'), + ('BLAST+', '2.12.0'), +] + +postinstallcmds = [ + 'chmod -x %(installdir)s/VERSION' +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('joblib', '1.0.0', { + 'checksums': ['7ad866067ac1fdec27d51c8678ea760601b70e32ff1881d4dc8e1171f2b64b24'], + }), + ('simplejson', '3.17.2', { + 'checksums': ['75ecc79f26d99222a084fbdd1ce5aad3ac3a8bd535cd9059528452da38b68841'], + }), + ('argh', '0.26.2', { + 'checksums': ['e9535b8c84dc9571a48999094fda7f33e63c3f1b74f3e5f3ac0105a58405bb65'], + }), + ('argcomplete', '1.12.2', { + 'checksums': ['de0e1282330940d52ea92a80fea2e4b9e0da1932aaa570f84d268939d1897b04'], + }), + ('pyfaidx', '0.5.9.2', { + 'checksums': ['73e740eaa45c097a09e543450f88d5ed06c0ece4b6936dad7e71077f67797b74'], + }), + ('gffutils', '0.10.1', { + 'checksums': ['a8fc39006d7aa353147238160640e2210b168f7849cb99896be3fc9441e351cb'], + }), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_paths = { + 'files': ['rnaQUAST.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rnamotif/rnamotif-20240904-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/rnamotif/rnamotif-20240904-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..742dabcaa85 --- /dev/null +++ b/easybuild/easyconfigs/r/rnamotif/rnamotif-20240904-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'MakeCp' + +name = 'rnamotif' +version = '20240904' +_commit = '697ee7fda4ff2f5181a33c0c3eac54d7b97409fa' + +homepage = "https://github.com/dacase/rnamotif" +description = """The rnamotif program searchs input sequences for portions that match a given descriptor or "motif". + Matching sequences can also be ranked by various scoring functions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'dacase' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % _commit] +checksums = ['e9432e128ce7f1bfcf4898a36d56435272ad9b4e2d37f1866a95aa159c81fdfe'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('flex', '2.6.4'), + +] + +prebuildopts = 'sed -i "s/CFLAGS= -O2 -Wall/CFLAGS=$CFLAGS/" config.h &&' +pretestopts = 'EFNDATA=%%(builddir)s/%%(name)s-%s/efndata' % _commit +runtest = 'test' + +files_to_copy = [ + (['src/rnamotif', 'src/rmprune', 'src/rmfmt', 'src/rm2ct'], 'bin'), + 'LICENSE', 'efndata', 'Ecoli.trna.example', +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['efndata'], +} + +sanity_check_commands = ['rnamotif -h 2>&1 | grep usage'] + +modextravars = {'EFNDATA': 'efndata'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cd8f5cea65d --- /dev/null +++ b/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'rocm-cmake' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/rocm-cmake' +description = """ROCM cmake modules provides cmake modules for common build +tasks needed for the ROCM software stack""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/rocm-cmake/archive/refs/tags/"] +sources = ["rocm-%(version)s.tar.gz"] +checksums = ['c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('Clang-AOMP', '%(version)s'), +] + +configopts = '-DCMAKE_C_COMPILER=$EBROOTCLANGMINAOMP/bin/clang' +configopts += ' -DCMAKE_CXX_COMPILER=$EBROOTCLANGMINAOMP/bin/clang++' +configopts += ' -DLLVM_INSTALL_PREFIX=$EBROOTCLANGMINAOMP' +configopts += ' -DLLVM_DIR=$EBROOTCLANGMINAOMP' + +sanity_check_paths = { + 'files': ['share/rocm/cmake/ROCMChecks.cmake', 'share/rocm/cmake/ROCMConfig.cmake', + 'share/rocm/cmake/ROCMCppCheck.cmake', 'share/rocm/cmake/ROCMCreatePackage.cmake', + 'share/rocm/cmake/ROCMSetupVersion.cmake'], + 'dirs': ['share/rocm/cmake'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rocm-smi/rocm-smi-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6edae76da88 --- /dev/null +++ b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'rocm-smi' +version = '4.5.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.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/rocm_smi_lib/archive/"] +sources = ["rocm-%(version)s.tar.gz"] + +checksums = ['43a2cc2ec548cc28698ca4fa01a947a4414febd433936a8d9770bf6f6ed55e4f'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.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'" + +sanity_check_paths = { + 'files': ['bin/rocm_smi.py', 'lib/librocm_smi64.%s' % SHLIB_EXT], + 'dirs': ['rocm_smi/bindings', 'rocm_smi/include'], +} +sanity_check_commands = ['rocm-smi --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.4.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.4.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a94e4236997 --- /dev/null +++ b/easybuild/easyconfigs/r/rocm-smi/rocm-smi-5.4.4-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'rocm-smi' +version = '5.4.4' + +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"] +checksums = ['27a6d851a493a3ab11ca3af079b4a0509579aa7bab2b2891af3bdf816a456ff0'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['bin/rocm-smi'], + 'dirs': [], +} + +sanity_check_commands = ['rocm-smi --help'] + +moduleclass = 'tools' 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/rocminfo/rocminfo-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/rocminfo/rocminfo-4.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7c01c982fda --- /dev/null +++ b/easybuild/easyconfigs/r/rocminfo/rocminfo-4.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'rocminfo' +version = '4.5.0' + +homepage = 'https://github.com/RadeonOpenCompute/rocminfo' +description = """ROCm Application for Reporting System Info""" +docurls = ['https://rocmdocs.amd.com'] + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://github.com/RadeonOpenCompute/rocminfo/archive/refs/tags/"] +sources = ["rocm-%(version)s.tar.gz"] +checksums = ['421ed55192780eb478f0341fd1ce47a0dd3ffafbec9d7a02109a411878a58ee5'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] +dependencies = [ + ('ROCR-Runtime', '%(version)s'), + ('Python', '3.9.6'), # Needed for 'rocm_agent_enumerator' which is a Python script +] + +configopts = "-DCMAKE_EXE_LINKER_FLAGS='-Wl,--disable-new-dtags'" +configopts += " -DROCRTST_BLD_TYPE=Release" +configopts += " -DROCM_DIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/rocminfo', 'bin/rocm_agent_enumerator'], + 'dirs': [], +} +sanity_check_commands = [ + 'rocminfo --help', + 'rocm_agent_enumerator' +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rpmrebuild/rpmrebuild-2.18.eb b/easybuild/easyconfigs/r/rpmrebuild/rpmrebuild-2.18.eb new file mode 100644 index 00000000000..64cae582362 --- /dev/null +++ b/easybuild/easyconfigs/r/rpmrebuild/rpmrebuild-2.18.eb @@ -0,0 +1,26 @@ +easyblock = "Tarball" + +name = "rpmrebuild" +version = "2.18" + +homepage = 'http://rpmrebuild.sourceforge.net/' +description = """rpmrebuild is a tool to build an RPM file from a package that has already been +installed in a basic use""" + +toolchain = SYSTEM + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['919ca6252eafbfb58dd54b0efa3ca4e6da293364937dcfe32c32a35b238a5837'] + +modextrapaths = {'PATH': ['']} +modextravars = {'RPMREBUILD_ROOT_DIR': '%(installdir)s'} + +sanity_check_paths = { + 'files': ["rpmrebuild"], + 'dirs': [] +} + +sanity_check_commands = ['rpmrebuild -h'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021a.eb b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021a.eb new file mode 100644 index 00000000000..242df18ed71 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021a.eb @@ -0,0 +1,62 @@ +# Author: Pavel Grochal (INUITS) +# Updated: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'rpy2' +version = '3.4.5' + +homepage = 'https://rpy2.bitbucket.io/' +description = """rpy2 is an interface to R running embedded in a Python process.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('R', '4.1.0'), + ('IPython', '7.25.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('simplegeneric', '0.8.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + # stick to tzlocal < 3.0 to avoid test errors in rpy2 like + # AttributeError: 'NoneType' object has no attribute 'total_seconds' + ('tzlocal', '2.1', { + 'checksums': ['643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44'], + }), + ('cffi', '1.15.1', { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), + ('tzdata', '2023.3', { + 'checksums': ['11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a'], + }), + ('backports-zoneinfo', '0.2.1', { + 'modulename': 'backports.zoneinfo', + 'source_tmpl': 'backports.zoneinfo-%(version)s.tar.gz', + 'checksums': ['fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'source_tmpl': 'pytz_deprecation_shim-%(version)s.tar.gz', + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + (name, version, { + 'patches': ['rpy2-3.4.5_disable_gui_tests.patch'], + 'checksums': [ + {'rpy2-3.4.5.tar.gz': '5d31a5ea43f5a59f6dec30faca87edb01fc9b8affa0beae96a99be923bd7dab3'}, + {'rpy2-3.4.5_disable_gui_tests.patch': '7424fed4bc9edb246944ad54fcb434a1ae5f2db086679b1a53d44cf5d3b98d8b'}, + ], + }), +] + +sanity_check_commands = [ + "pytest --pyargs rpy2 " +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021b.eb b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021b.eb new file mode 100644 index 00000000000..58749928808 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5-foss-2021b.eb @@ -0,0 +1,60 @@ +# Author: Pavel Grochal (INUITS) +# Updated: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'PythonBundle' + +name = 'rpy2' +version = '3.4.5' + +homepage = 'https://rpy2.bitbucket.io/' +description = """rpy2 is an interface to R running embedded in a Python process.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('R', '4.1.2'), + ('IPython', '7.26.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('simplegeneric', '0.8.1', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['dc972e06094b9af5b855b3df4a646395e43d1c9d0d39ed345b7393560d0b9173'], + }), + ('tzlocal', '2.1', { + 'checksums': ['643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44'], + }), + ('cffi', '1.15.0', { + 'checksums': ['920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954'], + }), + ('tzdata', '2021.5', { + 'checksums': ['68dbe41afd01b867894bbdfd54fa03f468cfa4f0086bfb4adcd8de8f24f3ee21'], + }), + ('backports-zoneinfo', '0.2.1', { + 'modulename': 'backports.zoneinfo', + 'source_tmpl': 'backports.zoneinfo-%(version)s.tar.gz', + 'checksums': ['fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'source_tmpl': 'pytz_deprecation_shim-%(version)s.tar.gz', + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + (name, version, { + 'patches': ['rpy2-%(version)s_disable_gui_tests.patch'], + 'checksums': [ + '5d31a5ea43f5a59f6dec30faca87edb01fc9b8affa0beae96a99be923bd7dab3', # rpy2-3.4.5.tar.gz + '7424fed4bc9edb246944ad54fcb434a1ae5f2db086679b1a53d44cf5d3b98d8b', # rpy2-3.4.5_disable_gui_tests.patch + ], + }), +] + +sanity_check_commands = [ + "pytest --pyargs rpy2 " +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch new file mode 100644 index 00000000000..9bde6bab775 --- /dev/null +++ b/easybuild/easyconfigs/r/rpy2/rpy2-3.4.5_disable_gui_tests.patch @@ -0,0 +1,115 @@ +skip tests that require running in environment that supports GUI +author: Denis Kristak (INUITS) +diff -ruN rpy2-3.4.5_orig/rpy2/tests/ipython/test_rmagic.py rpy2-3.4.5/rpy2/tests/ipython/test_rmagic.py +--- rpy2-3.4.5_orig/rpy2/tests/ipython/test_rmagic.py 2021-11-25 12:37:30.723114034 +0000 ++++ rpy2-3.4.5/rpy2/tests/ipython/test_rmagic.py 2021-11-26 16:45:54.886986180 +0000 +@@ -96,7 +96,7 @@ + np.testing.assert_almost_equal(np.asarray(r('Y')), + ipython_with_magic.user_ns['Y']) + +- ++@pytest.mark.skip(reason="Cannot test with GUI") + @pytest.mark.skipif(IPython is None, + reason='The optional package IPython cannot be imported.') + @pytest.mark.skipif(not has_numpy, reason='numpy not installed') +@@ -119,8 +119,7 @@ + np.testing.assert_equal(result, 12345) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_run_cell_with_error(ipython_with_magic, clean_globalenv): + """Run an R block with an error.""" + +@@ -166,6 +165,7 @@ + @pytest.mark.skipif(IPython is None, + reason='The optional package IPython cannot be imported.') + @pytest.mark.skipif(not has_numpy, reason='numpy not installed') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_Rconverter(ipython_with_magic, clean_globalenv): + # If we get to dropping numpy requirement, we might use something + # like the following: +@@ -221,6 +221,7 @@ + @pytest.mark.skipif(IPython is None, + reason='The optional package IPython cannot be imported.') + @pytest.mark.skipif(not has_numpy, reason='numpy not installed') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_cell_magic(ipython_with_magic, clean_globalenv): + ipython_with_magic.push({'x': np.arange(5), 'y': np.array([3,5,4,6,7])}) + # For now, print statements are commented out because they print +@@ -239,8 +240,7 @@ + np.testing.assert_almost_equal(ipython_with_magic.user_ns['r'], np.array([-0.2, 0.9, -1. , 0.1, 0.2])) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_cell_magic_localconverter(ipython_with_magic, clean_globalenv): + x = (1,2,3) + from rpy2.rinterface import IntSexpVector +@@ -283,8 +283,7 @@ + assert isinstance(globalenv['x'], vectors.IntVector) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rmagic_localscope(ipython_with_magic, clean_globalenv): + ipython_with_magic.push({'x':0}) + ipython_with_magic.run_line_magic('R', '-i x -o result result <-x+1') +@@ -312,6 +311,7 @@ + reason='The optional package IPython cannot be imported.') + # TODO: There is no test here... + @pytest.mark.skipif(not has_numpy, reason='numpy not installed') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_png_plotting_args(ipython_with_magic, clean_globalenv): + '''Exercise the PNG plotting machinery''' + +@@ -331,8 +331,7 @@ + ipython_with_magic.run_cell_magic('R', line, cell) + + +-@pytest.mark.skipif(IPython is None, +- reason='The optional package IPython cannot be imported.') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_display_args(ipython_with_magic, clean_globalenv): + + cell = ''' +@@ -362,6 +361,7 @@ + @pytest.mark.skipif(not has_numpy, reason='numpy not installed') + @pytest.mark.skipif(not rpacks.isinstalled('Cairo'), + reason='R package "Cairo" not installed') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_svg_plotting_args(ipython_with_magic, clean_globalenv): + '''Exercise the plotting machinery + +diff -ruN rpy2-3.4.5_orig/rpy2/tests/robjects/lib/test_grdevices.py rpy2-3.4.5/rpy2/tests/robjects/lib/test_grdevices.py +--- rpy2-3.4.5_orig/rpy2/tests/robjects/lib/test_grdevices.py 2021-11-25 12:37:30.724114020 +0000 ++++ rpy2-3.4.5/rpy2/tests/robjects/lib/test_grdevices.py 2021-11-25 12:42:11.886984001 +0000 +@@ -20,14 +20,13 @@ + os.unlink(fn) + + +-@pytest.mark.xfail(os.name == 'nt', +- reason='Windows produces non-empty file with no plot') ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertobytes_noplot(): + with grdevices.render_to_bytesio(grdevices.png) as b: + pass + assert len(b.getvalue()) == 0 + +- ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertofile(): + fn = tempfile.mktemp(suffix=".png") + with set_filenames_to_delete() as todelete: +@@ -38,7 +37,7 @@ + r(''' plot(0) ''') + assert os.path.exists(fn) + +- ++@pytest.mark.skip(reason="Cannot test with GUI") + def test_rendertobytes_plot(): + with grdevices.render_to_bytesio(grdevices.png) as b: + r(''' plot(0) ''') 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.17.21-GCCcore-10.3.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e7b90307fb9 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-10.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.6', { + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + 'modulename': False, + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.6', { + 'checksums': ['a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902'], + }), + ('ruamel.yaml.base', '0.3.0', { + 'checksums': ['bee661f95a842c3e90f83560f3a87ad3f9548ed4874af98f36b32aaf8a27462a'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.5.10', { + 'checksums': ['043c149c5517cfd0c7d02bd934224e1c9b0053a05e292a14f1b1a7f15bf0a943'], + }), +] + +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/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..62cdda5df2a --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.6', { + 'checksums': ['4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd'], + 'modulename': False, + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.6', { + 'checksums': ['a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902'], + }), + ('ruamel.yaml.base', '0.3.0', { + 'checksums': ['bee661f95a842c3e90f83560f3a87ad3f9548ed4874af98f36b32aaf8a27462a'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.5.10', { + 'checksums': ['043c149c5517cfd0c7d02bd934224e1c9b0053a05e292a14f1b1a7f15bf0a943'], + }), +] + +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/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..442567f3a0c --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-11.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.7', { + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + 'modulename': False, + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.6', { + 'checksums': ['a2f5650770e1c87fb335af19a9b7eb73fc05ccf22144eb68db7d00cd2bcb0902'], + }), + ('lz4', '4.0.2', { + 'checksums': ['083b7172c2938412ae37c3a090250bfdd9e4a6e855442594f86c3608ed12729b'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.3', { + 'checksums': ['f4ebce7d6d9d53afae84d7efd79f8d6c3dcad56e0e6be3a5d2370be0e04acea0'], + }), +] + +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/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e74ae172df4 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.21-GCCcore-12.2.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.21' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + (name, version, { + 'checksums': ['8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.2', { + 'checksums': ['e1431d84a9cfb23e6773e72078ce8e65cad6745816d4cbf9ae67da5ea419acda'], + }), + ('ruamel.yaml.base', '0.3.2', { + 'checksums': ['88b6edc8ace60c12d98f05fda22e5d9d69ba9a4b531cf54783142151145b0372'], + }), + ('ruamel.yaml.convert', '0.3.2', { + 'checksums': ['065ed9492a3189291d5bc0256709afc0231b52e4a01376fc91cf1757560ac9c4'], + }), + ('ruamel.yaml.cmd', '0.6.3', { + 'checksums': ['f4ebce7d6d9d53afae84d7efd79f8d6c3dcad56e0e6be3a5d2370be0e04acea0'], + }), +] + +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/r/ruamel.yaml/ruamel.yaml-0.17.32-GCCcore-12.3.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.32-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cb4385ee456 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.17.32-GCCcore-12.3.0.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'ruamel.yaml' +version = '0.17.32' + +homepage = 'https://sourceforge.net/projects/ruamel-yaml' +description = "ruamel.yaml is a YAML 1.2 loader/dumper package for Python." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('ruamel.yaml.clib', '0.2.7', { + 'modulename': False, + 'checksums': ['1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497'], + }), + (name, version, { + 'checksums': ['ec939063761914e14542972a5cba6d33c23b0859ab6342f61cf070cfc600efc2'], + }), + ('configobj', '5.0.8', { + 'checksums': ['6f704434a07dc4f4dc7c9a745172c1cad449feb548febd9f7fe362629c627a97'], + }), + ('lz4', '4.3.2', { + 'checksums': ['e1431d84a9cfb23e6773e72078ce8e65cad6745816d4cbf9ae67da5ea419acda'], + }), + ('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/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/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..48d0b0d8bb5 --- /dev/null +++ b/easybuild/easyconfigs/r/ruamel.yaml/ruamel.yaml-0.18.6-GCCcore-13.3.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.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('poetry', '1.8.3'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), +] + +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/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0354e336f08 --- /dev/null +++ b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'ruffus' +version = '2.8.4' + +homepage = 'http://www.ruffus.org.uk/' +description = """Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, + and widely used in science and bioinformatics.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd3d96e459a1aedcc10341f14fddedfdc13664551757fcd429a241de63826aa'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Graphviz', '5.0.0'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import ruffus.graph'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb new file mode 100644 index 00000000000..1d9f666570f --- /dev/null +++ b/easybuild/easyconfigs/r/ruffus/ruffus-2.8.4-foss-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'ruffus' +version = '2.8.4' + +homepage = 'http://www.ruffus.org.uk/' +description = """Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, + and widely used in science and bioinformatics.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['6cd3d96e459a1aedcc10341f14fddedfdc13664551757fcd429a241de63826aa'] + +dependencies = [ + ('Python', '3.9.6'), + ('Graphviz', '2.50.0'), +] + +download_dep_fail = True + +use_pip = True +sanity_pip_check = True + + +sanity_check_commands = ["python -c 'import ruffus.graph'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8-foss-2022a.eb b/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8-foss-2022a.eb new file mode 100644 index 00000000000..58dc52ba0ee --- /dev/null +++ b/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8-foss-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'ruptures' +version = '1.1.8' + +homepage = 'https://github.com/deepcharles/ruptures/' +description = """ +ruptures is a Python library for off-line change point detection. This package provides +methods for the analysis and segmentation of non-stationary signals. Implemented +algorithms include exact and approximate detection for various parametric and +non-parametric models. ruptures focuses on ease of use by providing a well-documented and +consistent interface. In addition, thanks to its modular structure, different algorithms +and models can be connected and extended within this package. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-scipy-version.patch'], + 'checksums': [ + {'ruptures-1.1.8.tar.gz': '75e1814851b706218c47a733d3d1c94acdcc690f35c69c08d48f0df9d3672cb6'}, + {'ruptures-1.1.8_fix-scipy-version.patch': + '6e0d1286e5b9db7372d13cb01d8f8cb0cf0e722b08950a2cf074d3082ba57c43'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8_fix-scipy-version.patch b/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8_fix-scipy-version.patch new file mode 100644 index 00000000000..e4395507856 --- /dev/null +++ b/easybuild/easyconfigs/r/ruptures/ruptures-1.1.8_fix-scipy-version.patch @@ -0,0 +1,14 @@ +Avoid scipy and numpy version requirement +Author: Cintia Willemyns (Vrije Universiteit Brussel) +--- a/pyproject.toml 2023-07-13 16:11:09.662444000 +0200 ++++ b/pyproject.toml 2023-07-13 16:12:18.320284000 +0200 +@@ -5,8 +5,8 @@ + "wheel", + "Cython>=0.28.5", + "setuptools_scm[toml]>=3.4", # https://scikit-hep.org/developer/packaging#git-tags-official-pypa-method +- "oldest-supported-numpy", # https://github.com/scipy/oldest-supported-numpy +- "scipy>=0.19.1", ++ "numpy", ++ "scipy", + ] + build-backend = "setuptools.build_meta" diff --git a/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2022a.eb new file mode 100644 index 00000000000..73bcca7c937 --- /dev/null +++ b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2022a.eb @@ -0,0 +1,169 @@ +easyblock = "CargoPythonPackage" + +name = 'rustworkx' +version = '0.12.1' + +homepage = 'https://github.com/Qiskit/rustworkx' +description = """rustworkx (previously retworkx) is a general purpose graph library for Python written in Rust to take +advantage of the performance and safety that Rust provides. It is designed to provide a high performance general +purpose graph library for any Python application.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Rust', '1.65.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +crates = [ + ('ahash', '0.7.6'), + ('autocfg', '1.1.0'), + ('bitflags', '1.3.2'), + ('cfg-if', '1.0.0'), + ('crossbeam-channel', '0.5.4'), + ('crossbeam-deque', '0.8.1'), + ('crossbeam-epoch', '0.9.8'), + ('crossbeam-utils', '0.8.8'), + ('either', '1.6.1'), + ('fixedbitset', '0.4.2'), + ('getrandom', '0.2.6'), + ('hashbrown', '0.11.2'), + ('hermit-abi', '0.1.19'), + ('indexmap', '1.7.0'), + ('indoc', '1.0.6'), + ('instant', '0.1.12'), + ('itoa', '1.0.2'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.126'), + ('lock_api', '0.4.7'), + ('matrixmultiply', '0.2.4'), + ('memchr', '2.5.0'), + ('memoffset', '0.6.5'), + ('ndarray', '0.13.1'), + ('num-bigint', '0.4.3'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.1'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.15'), + ('num_cpus', '1.13.1'), + ('numpy', '0.17.2'), + ('once_cell', '1.12.0'), + ('parking_lot', '0.11.2'), + ('parking_lot_core', '0.8.5'), + ('petgraph', '0.6.2'), + ('ppv-lite86', '0.2.16'), + ('priority-queue', '1.2.0'), + ('proc-macro2', '1.0.39'), + ('pyo3', '0.17.3'), + ('pyo3-build-config', '0.17.3'), + ('pyo3-ffi', '0.17.3'), + ('pyo3-macros', '0.17.3'), + ('pyo3-macros-backend', '0.17.3'), + ('quick-xml', '0.22.0'), + ('quote', '1.0.18'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.3'), + ('rand_pcg', '0.3.1'), + ('rawpointer', '0.2.1'), + ('rayon', '1.5.3'), + ('rayon-core', '1.9.3'), + ('redox_syscall', '0.2.13'), + ('ryu', '1.0.10'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.145'), + ('serde_derive', '1.0.145'), + ('serde_json', '1.0.89'), + ('smallvec', '1.8.0'), + ('syn', '1.0.96'), + ('target-lexicon', '0.12.4'), + ('unicode-ident', '1.0.0'), + ('unindent', '0.1.9'), + ('version_check', '0.9.4'), + ('wasi', '0.10.2+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'rustworkx-0.12.1.tar.gz': '13a19a2f64dff086b3bffffb294c4630100ecbc13634b4995d9d36a481ae130e'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'crossbeam-channel-0.5.4.tar.gz': '5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53'}, + {'crossbeam-deque-0.8.1.tar.gz': '6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e'}, + {'crossbeam-epoch-0.9.8.tar.gz': '1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c'}, + {'crossbeam-utils-0.8.8.tar.gz': '0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38'}, + {'either-1.6.1.tar.gz': 'e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'getrandom-0.2.6.tar.gz': '9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad'}, + {'hashbrown-0.11.2.tar.gz': 'ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexmap-1.7.0.tar.gz': 'bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5'}, + {'indoc-1.0.6.tar.gz': '05a0bd019339e5d968b37855180087b7b9d512c5046fbd244cf8c95687927d6e'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'itoa-1.0.2.tar.gz': '112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.126.tar.gz': '349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836'}, + {'lock_api-0.4.7.tar.gz': '327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53'}, + {'matrixmultiply-0.2.4.tar.gz': '916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.6.5.tar.gz': '5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce'}, + {'ndarray-0.13.1.tar.gz': 'ac06db03ec2f46ee0ecdca1a1c34a99c0d188a0d83439b84bf0cb4b386e4ab09'}, + {'num-bigint-0.4.3.tar.gz': 'f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.1.tar.gz': '97fbc387afefefd5e9e39493299f3069e14a140dd34dc19b4c1c1a8fddb6a790'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-traits-0.2.15.tar.gz': '578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd'}, + {'num_cpus-1.13.1.tar.gz': '19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1'}, + {'numpy-0.17.2.tar.gz': 'a462c1af5ba1fddec1488c4646993a23ae7931f9e170ccba23e9c7c834277797'}, + {'once_cell-1.12.0.tar.gz': '7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225'}, + {'parking_lot-0.11.2.tar.gz': '7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99'}, + {'parking_lot_core-0.8.5.tar.gz': 'd76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216'}, + {'petgraph-0.6.2.tar.gz': 'e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143'}, + {'ppv-lite86-0.2.16.tar.gz': 'eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872'}, + {'priority-queue-1.2.0.tar.gz': 'cf40e51ccefb72d42720609e1d3c518de8b5800d723a09358d4a6d6245e1f8ca'}, + {'proc-macro2-1.0.39.tar.gz': 'c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f'}, + {'pyo3-0.17.3.tar.gz': '268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543'}, + {'pyo3-build-config-0.17.3.tar.gz': '28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8'}, + {'pyo3-ffi-0.17.3.tar.gz': '0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc'}, + {'pyo3-macros-0.17.3.tar.gz': '94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28'}, + {'pyo3-macros-backend-0.17.3.tar.gz': 'c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f'}, + {'quick-xml-0.22.0.tar.gz': '8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b'}, + {'quote-1.0.18.tar.gz': 'a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.3.tar.gz': 'd34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7'}, + {'rand_pcg-0.3.1.tar.gz': '59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.5.3.tar.gz': 'bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d'}, + {'rayon-core-1.9.3.tar.gz': '258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f'}, + {'redox_syscall-0.2.13.tar.gz': '62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42'}, + {'ryu-1.0.10.tar.gz': 'f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'serde-1.0.145.tar.gz': '728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b'}, + {'serde_derive-1.0.145.tar.gz': '81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c'}, + {'serde_json-1.0.89.tar.gz': '020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db'}, + {'smallvec-1.8.0.tar.gz': 'f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83'}, + {'syn-1.0.96.tar.gz': '0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf'}, + {'target-lexicon-0.12.4.tar.gz': 'c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1'}, + {'unicode-ident-1.0.0.tar.gz': 'd22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee'}, + {'unindent-0.1.9.tar.gz': '52fee519a3e570f7df377a06a1a7775cdbfb7aa460be7e08de2b1f0e69973a44'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.10.2+wasi-snapshot-preview1.tar.gz': 'fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2023a.eb b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2023a.eb new file mode 100644 index 00000000000..2a86b64c9ae --- /dev/null +++ b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.12.1-foss-2023a.eb @@ -0,0 +1,170 @@ +easyblock = "CargoPythonPackage" + +name = 'rustworkx' +version = '0.12.1' + +homepage = 'https://github.com/Qiskit/rustworkx' +description = """rustworkx (previously retworkx) is a general purpose graph library for Python written in Rust to take +advantage of the performance and safety that Rust provides. It is designed to provide a high performance general +purpose graph library for any Python application.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('Rust', '1.75.0'), + ('setuptools-rust', '1.6.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +crates = [ + ('ahash', '0.7.6'), + ('autocfg', '1.1.0'), + ('bitflags', '1.3.2'), + ('cfg-if', '1.0.0'), + ('crossbeam-channel', '0.5.4'), + ('crossbeam-deque', '0.8.1'), + ('crossbeam-epoch', '0.9.8'), + ('crossbeam-utils', '0.8.8'), + ('either', '1.6.1'), + ('fixedbitset', '0.4.2'), + ('getrandom', '0.2.6'), + ('hashbrown', '0.11.2'), + ('hermit-abi', '0.1.19'), + ('indexmap', '1.7.0'), + ('indoc', '1.0.6'), + ('instant', '0.1.12'), + ('itoa', '1.0.2'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.126'), + ('lock_api', '0.4.7'), + ('matrixmultiply', '0.2.4'), + ('memchr', '2.5.0'), + ('memoffset', '0.6.5'), + ('ndarray', '0.13.1'), + ('num-bigint', '0.4.3'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.1'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.15'), + ('num_cpus', '1.13.1'), + ('numpy', '0.17.2'), + ('once_cell', '1.12.0'), + ('parking_lot', '0.11.2'), + ('parking_lot_core', '0.8.5'), + ('petgraph', '0.6.2'), + ('ppv-lite86', '0.2.16'), + ('priority-queue', '1.2.0'), + ('proc-macro2', '1.0.39'), + ('pyo3', '0.17.3'), + ('pyo3-build-config', '0.17.3'), + ('pyo3-ffi', '0.17.3'), + ('pyo3-macros', '0.17.3'), + ('pyo3-macros-backend', '0.17.3'), + ('quick-xml', '0.22.0'), + ('quote', '1.0.18'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.3'), + ('rand_pcg', '0.3.1'), + ('rawpointer', '0.2.1'), + ('rayon', '1.5.3'), + ('rayon-core', '1.9.3'), + ('redox_syscall', '0.2.13'), + ('ryu', '1.0.10'), + ('scopeguard', '1.1.0'), + ('serde', '1.0.145'), + ('serde_derive', '1.0.145'), + ('serde_json', '1.0.89'), + ('smallvec', '1.8.0'), + ('syn', '1.0.96'), + ('target-lexicon', '0.12.4'), + ('unicode-ident', '1.0.0'), + ('unindent', '0.1.9'), + ('version_check', '0.9.4'), + ('wasi', '0.10.2+wasi-snapshot-preview1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), +] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'rustworkx-0.12.1.tar.gz': '13a19a2f64dff086b3bffffb294c4630100ecbc13634b4995d9d36a481ae130e'}, + {'ahash-0.7.6.tar.gz': 'fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'crossbeam-channel-0.5.4.tar.gz': '5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53'}, + {'crossbeam-deque-0.8.1.tar.gz': '6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e'}, + {'crossbeam-epoch-0.9.8.tar.gz': '1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c'}, + {'crossbeam-utils-0.8.8.tar.gz': '0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38'}, + {'either-1.6.1.tar.gz': 'e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'getrandom-0.2.6.tar.gz': '9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad'}, + {'hashbrown-0.11.2.tar.gz': 'ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'indexmap-1.7.0.tar.gz': 'bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5'}, + {'indoc-1.0.6.tar.gz': '05a0bd019339e5d968b37855180087b7b9d512c5046fbd244cf8c95687927d6e'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'itoa-1.0.2.tar.gz': '112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.126.tar.gz': '349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836'}, + {'lock_api-0.4.7.tar.gz': '327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53'}, + {'matrixmultiply-0.2.4.tar.gz': '916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1'}, + {'memchr-2.5.0.tar.gz': '2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d'}, + {'memoffset-0.6.5.tar.gz': '5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce'}, + {'ndarray-0.13.1.tar.gz': 'ac06db03ec2f46ee0ecdca1a1c34a99c0d188a0d83439b84bf0cb4b386e4ab09'}, + {'num-bigint-0.4.3.tar.gz': 'f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.1.tar.gz': '97fbc387afefefd5e9e39493299f3069e14a140dd34dc19b4c1c1a8fddb6a790'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-traits-0.2.15.tar.gz': '578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd'}, + {'num_cpus-1.13.1.tar.gz': '19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1'}, + {'numpy-0.17.2.tar.gz': 'a462c1af5ba1fddec1488c4646993a23ae7931f9e170ccba23e9c7c834277797'}, + {'once_cell-1.12.0.tar.gz': '7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225'}, + {'parking_lot-0.11.2.tar.gz': '7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99'}, + {'parking_lot_core-0.8.5.tar.gz': 'd76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216'}, + {'petgraph-0.6.2.tar.gz': 'e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143'}, + {'ppv-lite86-0.2.16.tar.gz': 'eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872'}, + {'priority-queue-1.2.0.tar.gz': 'cf40e51ccefb72d42720609e1d3c518de8b5800d723a09358d4a6d6245e1f8ca'}, + {'proc-macro2-1.0.39.tar.gz': 'c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f'}, + {'pyo3-0.17.3.tar.gz': '268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543'}, + {'pyo3-build-config-0.17.3.tar.gz': '28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8'}, + {'pyo3-ffi-0.17.3.tar.gz': '0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc'}, + {'pyo3-macros-0.17.3.tar.gz': '94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28'}, + {'pyo3-macros-backend-0.17.3.tar.gz': 'c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f'}, + {'quick-xml-0.22.0.tar.gz': '8533f14c8382aaad0d592c812ac3b826162128b65662331e1127b45c3d18536b'}, + {'quote-1.0.18.tar.gz': 'a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.3.tar.gz': 'd34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7'}, + {'rand_pcg-0.3.1.tar.gz': '59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.5.3.tar.gz': 'bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d'}, + {'rayon-core-1.9.3.tar.gz': '258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f'}, + {'redox_syscall-0.2.13.tar.gz': '62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42'}, + {'ryu-1.0.10.tar.gz': 'f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'serde-1.0.145.tar.gz': '728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b'}, + {'serde_derive-1.0.145.tar.gz': '81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c'}, + {'serde_json-1.0.89.tar.gz': '020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db'}, + {'smallvec-1.8.0.tar.gz': 'f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83'}, + {'syn-1.0.96.tar.gz': '0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf'}, + {'target-lexicon-0.12.4.tar.gz': 'c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1'}, + {'unicode-ident-1.0.0.tar.gz': 'd22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee'}, + {'unindent-0.1.9.tar.gz': '52fee519a3e570f7df377a06a1a7775cdbfb7aa460be7e08de2b1f0e69973a44'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'wasi-0.10.2+wasi-snapshot-preview1.tar.gz': 'fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/r/rustworkx/rustworkx-0.15.1-gfbf-2023a.eb b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.15.1-gfbf-2023a.eb new file mode 100644 index 00000000000..48f1a6bfee0 --- /dev/null +++ b/easybuild/easyconfigs/r/rustworkx/rustworkx-0.15.1-gfbf-2023a.eb @@ -0,0 +1,216 @@ +easyblock = "CargoPythonPackage" + +name = 'rustworkx' +version = '0.15.1' +# needs ahash 0.8.11 which uses build_hasher_simple_hash_one which needs rustc>=1.71 +# see https://github.com/rust-lang/rust/issues/86161 +_rust_ver = '1.75.0' + +homepage = 'https://github.com/Qiskit/rustworkx' +description = """rustworkx (previously retworkx) is a general purpose graph library for Python written in Rust to take +advantage of the performance and safety that Rust provides. It is designed to provide a high performance general +purpose graph library for any Python application.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('Rust', _rust_ver), + ('setuptools-rust', '1.6.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +crates = [ + ('ahash', '0.8.11'), + ('alga', '0.9.3'), + ('allocator-api2', '0.2.18'), + ('approx', '0.3.2'), + ('autocfg', '1.3.0'), + ('bitflags', '2.6.0'), + ('cfg-if', '1.0.0'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.20'), + ('either', '1.13.0'), + ('equivalent', '1.0.1'), + ('fixedbitset', '0.4.2'), + ('getrandom', '0.2.15'), + ('hashbrown', '0.12.3'), + ('hashbrown', '0.14.5'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.9'), + ('indexmap', '1.9.3'), + ('indexmap', '2.2.6'), + ('indoc', '2.0.5'), + ('itertools', '0.10.5'), + ('itertools', '0.11.0'), + ('itoa', '1.0.11'), + ('libc', '0.2.155'), + ('libm', '0.2.8'), + ('lock_api', '0.4.12'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.7.4'), + ('memoffset', '0.9.1'), + ('ndarray', '0.15.6'), + ('ndarray-stats', '0.5.1'), + ('noisy_float', '0.2.0'), + ('num-bigint', '0.4.6'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.6'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.19'), + ('num_cpus', '1.16.0'), + ('numpy', '0.21.0'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.3'), + ('parking_lot_core', '0.9.10'), + ('petgraph', '0.6.5'), + ('portable-atomic', '1.6.0'), + ('ppv-lite86', '0.2.17'), + ('priority-queue', '2.0.3'), + ('proc-macro2', '1.0.86'), + ('pyo3', '0.21.2'), + ('pyo3-build-config', '0.21.2'), + ('pyo3-ffi', '0.21.2'), + ('pyo3-macros', '0.21.2'), + ('pyo3-macros-backend', '0.21.2'), + ('quick-xml', '0.34.0'), + ('quote', '1.0.36'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_pcg', '0.3.1'), + ('rawpointer', '0.2.1'), + ('rayon', '1.10.0'), + ('rayon-cond', '0.3.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.5.2'), + ('rustc-hash', '1.1.0'), + ('ryu', '1.0.18'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.203'), + ('serde_derive', '1.0.203'), + ('serde_json', '1.0.118'), + ('smallvec', '1.13.2'), + ('sprs', '0.11.1'), + ('syn', '2.0.68'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('version_check', '0.9.4'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('windows-targets', '0.52.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.52.5'), + ('zerocopy', '0.7.34'), + ('zerocopy-derive', '0.7.34'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'rustworkx-0.15.1.tar.gz': '0e0cc86599f979285b2ab9c357276f3272f3fcb3b2df5651a6bf9704c570d4c1'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'alga-0.9.3.tar.gz': '4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2'}, + {'allocator-api2-0.2.18.tar.gz': '5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f'}, + {'approx-0.3.2.tar.gz': 'f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'bitflags-2.6.0.tar.gz': 'b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'either-1.13.0.tar.gz': '60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'fixedbitset-0.4.2.tar.gz': '0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'hashbrown-0.14.5.tar.gz': 'e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indexmap-2.2.6.tar.gz': '168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'ndarray-stats-0.5.1.tar.gz': 'af5a8477ac96877b5bd1fd67e0c28736c12943aba24eda92b127e036b0c8f400'}, + {'noisy_float-0.2.0.tar.gz': '978fe6e6ebc0bf53de533cd456ca2d9de13de13856eda1518a285d7705a213af'}, + {'num-bigint-0.4.6.tar.gz': 'a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.6.tar.gz': '73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'numpy-0.21.0.tar.gz': 'ec170733ca37175f5d75a5bea5911d6ff45d2cd52849ce98b685394e4f2f37f4'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'parking_lot-0.12.3.tar.gz': 'f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27'}, + {'parking_lot_core-0.9.10.tar.gz': '1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8'}, + {'petgraph-0.6.5.tar.gz': 'b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'priority-queue-2.0.3.tar.gz': '70c501afe3a2e25c9bd219aa56ec1e04cdb3fcdd763055be268778c13fa82c1f'}, + {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'}, + {'pyo3-0.21.2.tar.gz': 'a5e00b96a521718e08e03b1a622f01c8a8deb50719335de3f60b3b3950f069d8'}, + {'pyo3-build-config-0.21.2.tar.gz': '7883df5835fafdad87c0d888b266c8ec0f4c9ca48a5bed6bbb592e8dedee1b50'}, + {'pyo3-ffi-0.21.2.tar.gz': '01be5843dc60b916ab4dad1dca6d20b9b4e6ddc8e15f50c47fe6d85f1fb97403'}, + {'pyo3-macros-0.21.2.tar.gz': '77b34069fc0682e11b31dbd10321cbf94808394c56fd996796ce45217dfac53c'}, + {'pyo3-macros-backend-0.21.2.tar.gz': '08260721f32db5e1a5beae69a55553f56b99bd0e1c3e6e0a5e8851a9d0f5a85c'}, + {'quick-xml-0.34.0.tar.gz': '6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rand_pcg-0.3.1.tar.gz': '59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.10.0.tar.gz': 'b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa'}, + {'rayon-cond-0.3.0.tar.gz': '059f538b55efd2309c9794130bc149c6a553db90e9d99c2030785c82f0bd7df9'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.5.2.tar.gz': 'c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.203.tar.gz': '7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094'}, + {'serde_derive-1.0.203.tar.gz': '500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba'}, + {'serde_json-1.0.118.tar.gz': 'd947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'sprs-0.11.1.tar.gz': '88bab60b0a18fb9b3e0c26e92796b3c3a278bf5fa4880f5ad5cc3bdfb843d0b1'}, + {'syn-2.0.68.tar.gz': '901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'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'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, + {'zerocopy-0.7.34.tar.gz': 'ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087'}, + {'zerocopy-derive-0.7.34.tar.gz': '15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b'}, +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.19-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.19-GCC-10.3.0.eb new file mode 100644 index 00000000000..d70838d8cfe --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-0.1.19-GCC-10.3.0.eb @@ -0,0 +1,24 @@ +name = 'SAMtools' +version = '0.1.19' + +homepage = 'http://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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [('http://sourceforge.net/projects/samtools/files/%(namelower)s/%(version)s', 'download')] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['SAMtools-%(version)s_Makefile-ncurses.patch'] +checksums = [ + 'd080c9d356e5f0ad334007e4461cbcee3c4ca97b8a7a5a48c44883cf9dee63d4', # samtools-0.1.19.tar.bz2 + '15334ff773d29dc38df64ec888f3724d7382cf34b013bfc3c868f7593d98b3ff', # SAMtools-0.1.19_Makefile-ncurses.patch +] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +moduleclass = 'bio' 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.12-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.12-GCC-10.3.0.eb new file mode 100644 index 00000000000..913d5ae11bf --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.12-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +## +# 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:: MIT +# +# Notes:: +## + +name = 'SAMtools' +version = '1.12' + +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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6da3770563b1c545ca8bdf78cf535e6d1753d6383983c7929245d5dba2902dcb'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.76.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-10.3.0.eb new file mode 100644 index 00000000000..1ea8b60ec8e --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +## +# 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:: MIT +# +# Notes:: +## + +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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(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.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.76.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.3.0.eb new file mode 100644 index 00000000000..2f667a4e3e8 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.13-GCC-11.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(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.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +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/SAMtools/SAMtools-1.14-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.14-GCC-11.2.0.eb new file mode 100644 index 00000000000..a1a0f8bdecf --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.14-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.14' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['9341dabaa98b0ea7d60fd47e42af25df43a7d3d64d8e654cdf852974546b7d74'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb new file mode 100644 index 00000000000..19cff7315ab --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.15' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['35d945a5eee9817a764490870474f24e538400b0397b28f94247a5b91447215d'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..80e29d5b26c --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.15.1' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['708c525ac76b0532b25f14aadea34a4d11df667bc19bf0a74dae617d80526c6e'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..b935cb8536e --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.15.1-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.15.1' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['708c525ac76b0532b25f14aadea34a4d11df667bc19bf0a74dae617d80526c6e'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..235090c4882 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.2.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.16.1' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2fa0a25f78594cf23d07c9d32d5060a14f1c5ee14d7b0af7a8a71abc9fdf1d07'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.78.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..87c553709eb --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.16.1-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.16.1' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['2fa0a25f78594cf23d07c9d32d5060a14f1c5ee14d7b0af7a8a71abc9fdf1d07'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('cURL', '7.83.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.2.0.eb new file mode 100644 index 00000000000..c5f0ef79106 --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.17-GCC-12.2.0.eb @@ -0,0 +1,37 @@ +## +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.17' + +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.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/samtools/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['3adf390b628219fd6408f14602a4c4aa90e63e18b395dad722ab519438a2a729'] + +# The htslib component of SAMtools >= 1.4 uses zlib, bzip2 and lzma compression. +# The latter is currently provided by XZ. +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('cURL', '7.86.0'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAMtools/SAMtools-1.18-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.18-GCC-12.3.0.eb new file mode 100644 index 00000000000..126567600ad --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.18-GCC-12.3.0.eb @@ -0,0 +1,38 @@ +# # +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.18' + +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 = ['d686ffa621023ba61822a2a50b70e85d0b18e79371de5adb07828519d3fc06e1'] + +# 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/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb new file mode 100644 index 00000000000..d806a09f0ec --- /dev/null +++ b/easybuild/easyconfigs/s/SAMtools/SAMtools-1.19.2-GCC-13.2.0.eb @@ -0,0 +1,38 @@ +# # +# 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:: MIT +# +# Notes:: +# +# Updated to 1.14 and gcc-11.2.0 +# J. Sassmannshausen / GSTT + +name = 'SAMtools' +version = '1.19.2' + +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': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['71f60499668e4c08e7d745fbff24c15cc8a0977abab1acd5d2bb419bdb065e96'] + +# 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.4'), + ('cURL', '8.3.0'), +] + + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..0b8512ddefa --- /dev/null +++ b/easybuild/easyconfigs/s/SAP/SAP-1.1.3-GCC-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'SAP' +version = '1.1.3' + +homepage = 'https://github.com/mathbio-nimr-mrc-ac-uk/SAP' +description = "SAP is a pairwise structure alignment via double dynamic programming" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'mathbio-nimr-mrc-ac-uk' +source_urls = [GITHUB_SOURCE] +sources = ['v.%(version)s.tar.gz'] +checksums = ['1ee5025f8a900cd9d9c490f7038b98d80a619e3015f2dc97b869ea3033c459e0'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Perl', '5.34.1'), +] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': ['bin/sap'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3aacb77b256 --- /dev/null +++ b/easybuild/easyconfigs/s/SBCL/SBCL-2.2.1-GCCcore-10.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' +name = 'SBCL' +version = '2.2.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': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.bz2'] +checksums = ['5dd6e6e3f08b7c6edf262a0e844a9f8b5e562cca08155034c1f2c014fc9087da'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CCL', '1.12.1'), +] + +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/SBCL/SBCL-2.3.11-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SBCL/SBCL-2.3.11-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..958501f55a8 --- /dev/null +++ b/easybuild/easyconfigs/s/SBCL/SBCL-2.3.11-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' +name = 'SBCL' +version = '2.3.11' + +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': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.bz2'] +checksums = ['84beeb8d72c87897847fc0285adcb3fa4f481bdb39102c4fb9ab79684184ad29'] + +builddependencies = [ + ('binutils', '2.38'), + ('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/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.2.4-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.2.4-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..3db03b3ba3a --- /dev/null +++ b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.2.4-foss-2021a-R-4.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SCENIC' +local_commit = '0585e87' +version = '1.2.4' +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': '2021a'} + +source_urls = ['https://github.com/aertslab/SCENIC/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['9cd5b102e5f9f27d19d5cd22241090a8426d170669951b845c34265f0e3cceb2'] + +dependencies = [ + ('R', '4.1.0'), + ('R-bundle-Bioconductor', '3.13', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['SCENIC'], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..2d3db4d9748 --- /dev/null +++ b/easybuild/easyconfigs/s/SCENIC/SCENIC-1.3.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,26 @@ +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': '2022a'} + +source_urls = ['https://github.com/aertslab/SCENIC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dcae14b1008cb11a34b03cd7c0830e2f00567bd073ff27da11d57501360965f8'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['SCENIC'], +} + +moduleclass = 'geo' 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/SCENICplus/SCENICplus-1.0a1-20240513-foss-2023a.eb b/easybuild/easyconfigs/s/SCENICplus/SCENICplus-1.0a1-20240513-foss-2023a.eb new file mode 100644 index 00000000000..796eb9a63b6 --- /dev/null +++ b/easybuild/easyconfigs/s/SCENICplus/SCENICplus-1.0a1-20240513-foss-2023a.eb @@ -0,0 +1,279 @@ +easyblock = 'PythonBundle' + +name = 'SCENICplus' +version = '1.0a1-20240513' +local_commit = "fa55dae" + +homepage = 'https://github.com/aertslab/scenicplus' +description = """SCENIC+ is a python package to build gene regulatory networks (GRNs) +using combined or separate single-cell gene expression (scRNA-seq) and single-cell +chromatin accessibility (scATAC-seq) data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), + ('maturin', '1.4.0', '-Rust-1.75.0'), + ('CMake', '3.26.3'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Single-cell-python-bundle', '2024.02'), + ('anndata', '0.10.5.post1'), + ('BeautifulSoup', '4.12.2'), + ('h5py', '3.9.0'), + ('python-igraph', '0.11.4'), + ('imageio', '2.33.1'), + ('leidenalg', '0.10.2'), + ('lxml', '4.9.2'), + ('MACS2', '2.2.9.1'), + ('numba', '0.58.1'), + ('polars', '0.20.2'), + ('Arrow', '14.0.1'), + ('plotly.py', '5.16.0'), + ('pybedtools', '0.9.1'), + ('pyBigWig', '0.3.22'), + ('pyGAM', '0.9.1'), + ('Pysam', '0.22.0'), + ('Ray-project', '2.9.1'), + ('scikit-image', '0.22.0'), + ('snakemake', '8.4.2'), + ('statsmodels', '0.14.1'), + ('IPython', '8.14.0'), + ('Pandoc', '3.1.2', '', SYSTEM), + ('ipympl', '0.9.3'), + ('PyTables', '3.8.0'), + ('Sphinx-RTD-Theme', '2.0.0'), + ('scrublet', '0.2.3'), + ('numexpr', '2.9.0'), + ('Kaleido', '0.2.1'), + ('pyfasta', '0.5.2'), + ('gensim', '4.3.2'), +] + +# fix requirements.txt of scenicplus +local_preinstallopts = ( + "sed -i" + " -e '/typing==3.7.4.3/d'" + " -e 's/==.*//g'" + " -e '/pyarrow-hotfix/d'" + " -e '/line-profiler/d'" + " -e '/ndindex/d'" + " -e '/sinfo/d'" + " requirements.txt && " +) +# unpin version restriction and delete typing requirement +local_pycistopic_preinstallopts = ( + "sed -i" + " -e 's/pyscenic>=0.12.0/pyscenic/'" + " -e 's/pandas==1.5/pandas/'" + " -e 's/python-Levenshtein/Levenshtein/'" + " -e 's/python-igraph/igraph/'" + " -e '/typing/d'" + # delete pyscenic and loomxpy req from commit - have versions now + " -e '/pyscenic@git/d'" + " -e '/loomxpy@git/d'" + " requirements.txt && " + "sed -i" + " -e 's/pandas == 1.5/pandas/'" + " -e 's/matplotlib < 3.7/matplotlib/'" + " pyproject.toml && " +) +# delete typing from requirements +local_pycistarget_preinstallopts = "sed -i '/typing/d' requirements.txt && " +# unpin version restriction and delete poetry.lock +local_loomxpy_preinstallopts = "sed -i 's/pyscenic>=0.12.0/pyscenic/' requirements.txt && " +local_loomxpy_preinstallopts += "sed -i 's/pyscenic = \">=0.12.0\"/pyscenic = \"*\"/' pyproject.toml && " +local_loomxpy_preinstallopts += "rm poetry.lock && " + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bs4', '0.0.2', { + 'checksums': ['a48685c58f50fe127722417bae83fe6badf500d54b55f7e39ffe43b798653925'], + }), + ('attr', '0.3.2', { + 'checksums': ['1ceebca768181cdcce9827611b1d728e592be5d293911539ea3d0b0bfa1146f4'], + }), + ('attrs', '23.2.0', { + 'checksums': ['935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30'], + }), + ('lda', '3.0.0', { + 'checksums': ['c9acbc1c55d2928f7e3e2336352b3382d78e43dbb0d12bf9ed97f87bce6d6708'], + }), + ('zope.interface', '6.2', { + 'checksums': ['3b6c62813c63c543a06394a636978b22dffa8c5410affc9331ce6cdb5bfa8565'], + }), + ('zope.event', '5.0', { + 'checksums': ['bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd'], + }), + ('gevent', '24.2.1', { + 'checksums': ['432fc76f680acf7cf188c2ee0f5d3ab73b63c1f03114c7cd8a34cebbe5aa2056'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('suds-community', '1.1.2', { + 'modulename': 'suds', + 'checksums': ['883b4173ad23e7b20e9779ac7238b06140c50d7852afd5dc49dad1ea5f5a3d08'], + }), + ('grequests', '0.7.0', { + 'checksums': ['5c33f14268df5b8fa1107d8537815be6febbad6ec560524d6a404b7778cf6ba6'], + }), + ('pexpect', '4.9.0', { + 'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'], + }), + ('colorlog', '6.8.2', { + 'checksums': ['3e3e079a41feb5a1b64f978b5ea4f46040a94f11f0e8bbb8261e3dbbeca64d44'], + }), + ('easydev', '0.12.1', { + 'checksums': ['b47b7e6f75316ac9045b46487930e16ddb567f3899310deee11d72d8e1f0a231'], + }), + ('bioservices', '1.11.2', { + 'checksums': ['31baaab4ab813b93f79995ba8cad431a16cbee99e1b0c6f9e419dd4be0c73a9e'], + }), + ('gseapy', '0.10.8', { + 'checksums': ['15be80bac73768501f5cecf6751aeb2e41416fd144bd6daa2ec453ad08a10ce0'], + }), + ('ncls', '0.0.68', { + 'checksums': ['81aaa5abb123bb21797ed2f8ef921e20222db14a3ecbc61ccf447532f2b7ba93'], + }), + ('pybigtools', '0.1.2', { + 'checksums': ['0f21bc8b4f2dce67c6e5287af895f5f28a8c6eb123d809e3ab5679e2131dbf58'], + }), + ('pybiomart', '0.2.0', { + 'checksums': ['e9eac20db921820670c646d99725b0ee279e407379e5e8c3ec7245a07425d8fe'], + }), + ('sorted_nearest', '0.0.39', { + 'checksums': ['16a51d5db87ae226b47ace43c176bb672477a1b7ba8052ea9291a6356c9c69b1'], + }), + ('pyranges', '0.0.111', { + 'checksums': ['d2cf3c31c1b9c6e1bf6e1e89254d8bd993bfb4401f2c4ede0ebc9c8e0678147d'], + }), + ('pyrle', '0.0.39', { + 'checksums': ['1be4be7814d3941db907aaf19f311bd46a407244316cadbf4b73109685c055c5'], + }), + ('pyvis', '0.3.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5720c4ca8161dc5d9ab352015723abb7a8bb8fb443edeb07f7a322db34a97555'], + }), + ('url-normalize', '1.4.3', { + 'checksums': ['d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2'], + }), + ('cattrs', '23.2.3', { + 'checksums': ['a934090d95abaa9e911dac357e3a8699e0b4b14f8529bcc7d2b1ad9d51672b9f'], + }), + ('requests_cache', '1.2.0', { + 'checksums': ['db1c709ca343cc1cd5b6c8b1a5387298eceed02306a6040760db538c885e3838'], + }), + ('scanorama', '1.7.4', { + 'checksums': ['67de100e63abc3028c7780d3a217e43e920a5781230bc6b6a51349d4605e005c'], + }), + ('rich_argparse', '1.4.0', { + 'checksums': ['c275f34ea3afe36aec6342c2a2298893104b5650528941fb53c21067276dba19'], + }), + ('scatac_fragment_tools', '0.1.0', { + 'checksums': ['e77a03ad1b7170c212f1ac672dad2c5d7e7f091b94e47b36a2ec2adc42051857'], + }), + ('snakemake_interface_common', '1.17.1', { + 'checksums': ['555c8218d9b68ddc1046f94a517e7d0f22e15bdc839d6ce149608d8ec137b9ae'], + }), + ('snakemake_interface_report_plugins', '1.0.0', { + 'checksums': ['02311cdc4bebab2a1c28469b5e6d5c6ac6e9c66998ad4e4b3229f1472127490f'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + ('globre', '0.1.5', { + 'checksums': ['ee214204f237e9114b8f61eeb61c2abd1e665ca3b59e5a6a0b070971c0bb12e2'], + }), + ('bidict', '0.23.1', { + 'checksums': ['03069d763bc387bbd20e7d49914e75fc4132a41937fa3405417e1a5a2d006d71'], + }), + ('tmtoolkit', '0.12.0', { + 'checksums': ['6df5429cd675989f21d9f075ddb11fe5ae273d6544fc337a2589bab2bc331909'], + }), + ('tspex', '0.6.3', { + 'checksums': ['315bfa1f60ea582777c549313cad9e9da0a4d11c5f69a6fc767bd0823dc46316'], + }), + ('plumbum', '1.8.3', { + 'checksums': ['6092c85ab970b7a7a9d5d85c75200bc93be82b33c9bdf640ffa87d2d7c8709f0'], + }), + ('pandoc', '2.3', { + 'checksums': ['e772c2c6d871146894579828dbaf1efd538eb64fc7e71d4a6b3a11a18baef90d'], + }), + ('nbsphinx', '0.9.4', { + 'checksums': ['042a60806fc23d519bc5bef59d95570713913fe442fda759d53e3aaf62104794'], + }), + ('nbsphinx-link', '1.3.0', { + 'checksums': ['fa3079a74c0dff1b2079e79a34babe770706ba8aa9cc0609c6dbfd593461a077'], + }), + ('numpydoc', '1.7.0', { + 'checksums': ['866e5ae5b6509dcf873fc6381120f5c31acf13b135636c1a81d68c166a95f921'], + }), + ('pyOpenSSL', '23.2.0', { + 'modulename': 'OpenSSL', + 'checksums': ['276f931f55a452e7dea69c7173e984eb2a4407ce413c918aa34b55f82f9b8bac'], + }), + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('ansicolors', '1.1.8', { + 'modulename': 'colors', + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['00d2dde5a675579325902536738dd27e4fac1fd68f773fe36c21044eb559e187'], + }), + ('papermill', '2.6.0', { + 'checksums': ['9fe2a91912fd578f391b4cc8d6d105e73124dcd0cde2a43c3c4a1c77ac88ea24'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('typing_inspect', '0.9.0', { + 'checksums': ['b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78'], + }), + ('marshmallow', '3.21.1', { + 'checksums': ['4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3'], + }), + ('dataclasses_json', '0.6.4', { + 'checksums': ['73696ebf24936560cca79a2430cbc4f3dd23ac7bf46ed17f38e5e5e7657a6377'], + }), + ('loomxpy', '0.4.2', { + 'preinstallopts': local_loomxpy_preinstallopts, + 'checksums': ['188411b77e04fa8458c0a7f02cfb3f15b58410a020f81f522957e922e79cdd82'], + }), + ('pycisTopic', '2.0a-dca4bb6', { + 'modulename': 'pycisTopic', + 'preinstallopts': local_pycistopic_preinstallopts, + # download commit dca4bb6 to be compatible with pycistarget + 'source_urls': ['https://github.com/aertslab/pycisTopic/archive/'], + 'sources': [{'download_filename': 'dca4bb6.tar.gz', 'filename': '%(name)s-%(version)s-dca4bb6.tar.gz'}], + 'checksums': ['82edc9313bbb587aeb1540fd5b095b6eafb422fa12a5fc97ba090b99b684b240'], + }), + ('pycistarget', '1.0a1-16d14b9', { + 'preinstallopts': local_pycistarget_preinstallopts, + # download commit 16d14b9 to make '$ scenicplus' work + 'source_urls': ['https://github.com/aertslab/pycistarget/archive/'], + 'sources': [{'download_filename': '16d14b9.tar.gz', 'filename': '%(name)s-%(version)s-16d14b9.tar.gz'}], + 'checksums': ['7285ac03be9d148437442a726366d7c6f9f5f86bc6636369149a2bc2cd8e0e29'], + }), + ('scenicplus', version, { + 'preinstallopts': local_preinstallopts, + 'source_urls': ['https://github.com/aertslab/scenicplus/archive/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}], + 'checksums': ['88cddec1ab2618861e5c93e8a0b17b8e9e2aa3a76410d882c35d472f98724e29'], + }), +] + +# copy files to let 'scenicplus init_snakemake' works +postinstallcmds = [ + "cp -r %%(builddir)s/scenicplus/scenicplus-%s*/src/scenicplus/snakemake " + "%%(installdir)s/lib/python%%(pyshortver)s/site-packages/scenicplus" % local_commit +] + +sanity_check_commands = ['scenicplus init_snakemake --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SCGid/SCGid-0.9-fixPrintToPython3.patch b/easybuild/easyconfigs/s/SCGid/SCGid-0.9-fixPrintToPython3.patch new file mode 100644 index 00000000000..661c7abcac0 --- /dev/null +++ b/easybuild/easyconfigs/s/SCGid/SCGid-0.9-fixPrintToPython3.patch @@ -0,0 +1,63 @@ +Some print functions used Python2 syntax. This fixes it to Python3 syntax. +Author: Orient Kružík (INUITS) +--- SCGid-master-orig/scgid/gct_window_plots.py 2021-10-28 06:18:47.000000000 +0200 ++++ SCGid-master/scgid/gct_window_plots.py 2022-02-07 16:47:49.356047797 +0100 +@@ -33,11 +33,11 @@ + axis1T = it.rfilter("coverage", axis1W) + gcMean = axis1T.target_filter().summary_stats("gc").mean + axis2W = calc_1d_window_asymm (axis1T, "gc", plot=False) +-print axis1W, axis2W ++print (axis1W, axis2W) + + figureWindow = FlexibleSelectionWindow("co2gc2") + figureWindow.calculate(it, inc_factor=0.01, plot=True) +-print figureWindow.show() ++print (figureWindow.show()) + + forR = ( + figureWindow.means["gc"], +@@ -62,14 +62,14 @@ + + + +-print "\n".join([x.ident for x in it.children]) +-print [x.children for x in it.children] ++print ("\n".join([x.ident for x in it.children])) ++print ([x.children for x in it.children]) + +-print [(c.ident,c.depth) for c in it.children] ++print ([(c.ident,c.depth) for c in it.children]) + + for c in it.children: + for c2 in c.children: +- print c2.ident,c2.depth ++ print (c2.ident,c2.depth) + + dim1axis, dim1win, points = calc_1d_window_symm(it, "coverage", plot=True) + +@@ -78,22 +78,22 @@ + + #calc_1d_window_symm(step1_it, "gc") + +-print dim1axis, dim1win +-print dim2axis, dim2win ++print (dim1axis, dim1win) ++print (dim2axis, dim2win) + +-print "" ++print ("") + + dim1axis, dim1win, points = calc_coverage_window_1tailed(it.df, target_taxa, plot=True) + + step1_it = get_window_table(it.df, dim1win, "coverage") + dim2axis, dim2win, gc_points = calc_gc_window_1tailed(step1_it, target_taxa, plot=True) + +-print dim1axis, dim1win +-print dim2axis, dim2win ++print (dim1axis, dim1win) ++print (dim2axis, dim2win) + + testWindow = FlexibleSelectionWindow("co1gc1") + testWindow.calculate(it) +-print testWindow.show() ++print (testWindow.show()) diff --git a/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb new file mode 100644 index 00000000000..750f9c843ff --- /dev/null +++ b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-foss-2021b.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonPackage' + +name = 'SCGid' +version = '0.9b0' +# No tagged commit for SCGid 0.9b, taking commit from commit history +local_commit = 'be106e4cd888fd913a527ea821e510e0afb100be' + +homepage = 'https://github.com/amsesk/SCGid' +description = 'A consensus approach to contig filtering and genome prediction from single-cell sequencing libraries' + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ["https://github.com/amsesk/SCGid/archive"] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = [ + "SCGid-0.9-fixPrintToPython3.patch", + "SCGid-0.9b0-initEdit.patch" +] +checksums = [ + '1f625e8f87b4d5e4ec9831ebe48763676679d6d6c41b05ef0bb59e6a7f839153', # SCGid-0.9b0.tar.gz + 'ee251b71ed3eed097b05751a3cea302d954000e1a8112e6e3f297e67c84996f7', # SCGid-0.9-fixPrintToPython3.patch + '7ae6759deffbb4f4c07943fd9aa44739e5b3d0e9ef724cee3e1dc03b71ad4735', # SCGid-0.9b0-initEdit.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('R', '4.1.2'), + ('BLAST+', '2.12.0'), + ('AUGUSTUS', '3.4.0'), + ('Java', '11', '', SYSTEM), + ('Maven', '3.6.3', '', SYSTEM), + ('plotly.py', '5.4.0'), + ('ETE', '3.1.2'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +exts_defaultclass = "Tarball" + +options = {'modulename': False} + +local_clams_commit = "e326c34307803b9ea8ffc975ddd9bd05643af931" + +local_esom_download_instructions = """You need to manually provide the Databionics ESOM 'source' file. +Please follow these steps: +(1): Download the installer for ESOM version %(version)s from + https://sourceforge.net/projects/databionic-esom/files/databionic-esom/%(version)s/esom-%(version)s-installer.jar +(2): Run the installer, and follow through the installation process using the GUI: + java -jar esom-%(version)s-installer.jar +(3): Go to the installation directory where you installed ESOM %(version)s, and create a tarball: + tar cvzf esom-%(version)s.tar.gz * +(4): Move esom-%(version)s.tar.gz to the directory with the SCGid source files (in the EasyBuild sourcepath). +(5): Re-run EasyBuild to install this SCGid easyconfig file. +""" + +exts_list = [ + ('ClaMS-CLI', '31012020', { + 'source_urls': ['https://github.com/amsesk/ClaMS-CLI-fork/archive'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_clams_commit, + 'filename': 'ClaMS-CLI-%(version)s.tar.gz' + }], + 'checksums': ['743397fc8308e363f127bd7e5165ac9d769c10305f6e33d9e408db8f343170db'], + }), + ('ESOM', '1.1', { + 'download_instructions': local_esom_download_instructions, + 'source_tmpl': 'esom-%(version)s.tar.gz', + 'checksums': [None] + }), +] + +postinstallcmds = [ + 'ln -s %%(installdir)s/ClaMS-CLI-fork-%s/ClaMS-CLI.jar %%(installdir)s/ClaMS-CLI.jar' % local_clams_commit, +] + +sanity_check_commands = ["scgid --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-initEdit.patch b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-initEdit.patch new file mode 100644 index 00000000000..ad73a7c4ac6 --- /dev/null +++ b/easybuild/easyconfigs/s/SCGid/SCGid-0.9b0-initEdit.patch @@ -0,0 +1,61 @@ +Removes the need to input dependency paths into interactive "scgid init" command +Author: Orient Kružík (INUITS) +diff -ruN SCGid-master-orig/scgid/config.py SCGid-master/scgid/config.py +--- SCGid-master-orig/scgid/config.py 2021-10-28 06:18:47.000000000 +0200 ++++ SCGid-master/scgid/config.py 2022-03-04 20:46:46.268401879 +0100 +@@ -143,6 +143,9 @@ + self.DB = os.path.join(self.HOME, 'database') + self.initial_config = {} + self.initial_config["mpicmd"] = "mpirun" ++ self.initial_config["clams_path"] = "%s/ClaMS-CLI.jar" % os.getenv("EBROOTSCGID", "CLAMS_INSTALL_DIR_UNKNOWN") ++ self.initial_config["esom_path"] = os.getenv("EBROOTSCGID", "ESOM_INSTALL_DIR_UNKNOWN") ++ self.initial_config["path_to_Rscript"] = "%s/bin/Rscript" % os.getenv("EBROOTR", "RSCRIPT_INSTALL_DIR_UNKNOWN") + + def welcome(self): + print (scgid_banner) +@@ -157,36 +160,6 @@ + print (f"{output_cols['RED']}ERROR: SCGid v1.0.0 is only compatible with python 3.x.x. Exitting...{output_cols['RESET']}") + sys.exit(1) + +- def config_third_party_deps(self): +- tpdeps = { +- "esom_path": { +- 'target': lambda path: os.path.isfile(os.path.join(path,"bin","esomstart")), +- 'question': "Enter full path to ESOM install: " +- }, +- "clams_path": { +- 'target': lambda path: os.path.isfile(path) and os.path.split(path)[1] == "ClaMS-CLI.jar", +- 'question': "Enter full path to ClaMS-CLI.jar: " +- }, +- "path_to_Rscript": { +- 'target': lambda path: os.path.isfile(path) and os.path.split(path)[1] == "Rscript", +- 'question': "Enter full path to Rscript: " +- } +- } +- for var, stuff in tpdeps.items(): +- while True: +- entry = input(stuff['question']) +- if entry == "DEBUG_SKIP": +- break +- else: +- if not stuff["target"](entry): +- report_outcome (stuff['question'], "RED", "[NOT FOUND, TRY AGAIN]") +- else: +- report_outcome (stuff['question'], "GREEN", "[GOOD]") +- tpdeps[var] = entry +- break +- +- self.initial_config.update(tpdeps) +- + def config_spdb (self): + + self.initial_config['default_spdb'] = None +@@ -318,8 +291,6 @@ + + self.welcome() + +- self.config_third_party_deps() +- + self.config_spdb() + + self.config_taxdb() \ No newline at end of file diff --git a/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..ac0cfca19e8 --- /dev/null +++ b/easybuild/easyconfigs/s/SCIP/SCIP-3.2.1-GCC-11.3.0.eb @@ -0,0 +1,58 @@ +easyblock = 'ConfigureMake' + +name = 'SCIP' +version = '3.2.1' + +homepage = 'https://www.scipopt.org/' +description = """SCIP is currently one of the fastest non-commercial solvers for mixed integer +programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a +framework for constraint integer programming and branch-cut-and-price. It +allows for total control of the solution process and the access of detailed +information down to the guts of the solver.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = [GITHUB_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '')] +checksums = ['015bdda4e681782fd03b61421b93aa3c1b913e5eea18bb8730d5fb9e4d67b4cb'] + +dependencies = [ + ('SoPlex', '2.2.1'), + ('ZIMPL', '3.3.4'), + ('GMP', '6.2.1'), + ('libreadline', '8.1'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +# prepare symlinks to installation files of dependencies +prebuildopts = 'mkdir -p lib && ' +prebuildopts += 'ln -sf "$EBROOTSOPLEX/include" "lib/spxinc" && ' +prebuildopts += 'ln -sf "$EBROOTZIMPL/include" "lib/zimplinc" && ' +prebuildopts += 'for lib in "$EBROOTSOPLEX/lib/libsoplex*.a"; do ln -sf "$lib" "lib/"; done && ' +prebuildopts += 'for lib in "$EBROOTZIMPL/lib/libzimpl*.a"; do ln -sf "$lib" "lib/"; done && ' + +# use SoPlex v2 as LP solver +buildopts = 'LPS=spx2 ' +buildopts += 'MAKESOFTLINKS=false COMP=gnu OPT=opt ' + +installopts = 'INSTALLDIR="%(installdir)s" ' +installopts += buildopts + +postinstallcmds = [ + # add extra headers to installation directory + 'cp "src/scip/misc.h" "%(installdir)s/include/scip/"', + # copy examples folder + 'cp -r "examples" "%(installdir)s/"', +] + +sanity_check_paths = { + 'files': ['bin/scip', 'lib/liblpispx2.a', 'lib/libnlpi.cppad.a', 'lib/libobjscip.a', 'lib/libscip.a'], + 'dirs': ['examples', 'include'], +} + +sanity_check_commands = ["scip -h"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.9-gompi-2020a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.9-gompi-2020a.eb index 34dfc411449..6a312d8ebca 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.9-gompi-2020a.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.0.9-gompi-2020a.eb @@ -11,6 +11,7 @@ toolchainopts = {'pic': True} source_urls = ['https://gforge.inria.fr/frs/download.php/file/38187/'] sources = ['%(namelower)s_%(version)s.tar.gz'] checksums = ['622b4143cf01c480bb15708b3651b29c25e4aeb00c8c6447ff196aca2eca5c93'] +threadedmpi = False dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2020b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2020b.eb index 4963e9ab5b4..ce355224a7e 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2020b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-gompi-2020b.eb @@ -8,9 +8,15 @@ static mapping, and sparse matrix block ordering, and sequential mesh and hyperg toolchain = {'name': 'gompi', 'version': '2020b'} toolchainopts = {'pic': True} -source_urls = ['https://gforge.inria.fr/frs/download.php/file/38352/'] -sources = ['%(namelower)s_%(version)s.tar.gz'] -checksums = ['a3bc3fa3b243fcb52f8d68de4272562a0328afb18a96f535724d284e36730485'] +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] dependencies = [ ('zlib', '1.2.11'), 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 1b0ac4abc44..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,16 +4,22 @@ 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.""" toolchain = {'name': 'gompi', 'version': '2021a'} toolchainopts = {'pic': True} -source_urls = ['https://gforge.inria.fr/frs/download.php/file/38352/'] -sources = ['%(namelower)s_%(version)s.tar.gz'] -checksums = ['a3bc3fa3b243fcb52f8d68de4272562a0328afb18a96f535724d284e36730485'] +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2020b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2020b.eb index 2bded2513ca..01d6e5e9fa2 100644 --- a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2020b.eb +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2020b.eb @@ -8,9 +8,14 @@ static mapping, and sparse matrix block ordering, and sequential mesh and hyperg toolchain = {'name': 'iimpi', 'version': '2020b'} toolchainopts = {'pic': True} -source_urls = ['https://gforge.inria.fr/frs/download.php/file/38352/'] -sources = ['%(namelower)s_%(version)s.tar.gz'] -checksums = ['a3bc3fa3b243fcb52f8d68de4272562a0328afb18a96f535724d284e36730485'] +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1'] + +builddependencies = [ + ('Bison', '3.7.1'), + ('flex', '2.6.4'), +] dependencies = [ ('zlib', '1.2.11'), 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 new file mode 100644 index 00000000000..5dd92fc68d3 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.0-iimpi-2021a.eb @@ -0,0 +1,19 @@ +name = 'SCOTCH' +version = '6.1.0' + +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': 'iimpi', 'version': '2021a'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['4fe537f608f0fe39ec78807f90203f9cca1181deb16bfa93b7d4cd440e01bbd1'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +moduleclass = 'math' 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 new file mode 100644 index 00000000000..190b28fe2cd --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-gompi-2021b.eb @@ -0,0 +1,28 @@ +## +# Author: Robert Mijakovic +## +name = 'SCOTCH' +version = '6.1.2' + +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': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + +moduleclass = 'math' 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 new file mode 100644 index 00000000000..3cdf4567b3a --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-6.1.2-iimpi-2021b.eb @@ -0,0 +1,25 @@ +name = 'SCOTCH' +version = '6.1.2' + +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': 'iimpi', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/%(namelower)s/%(namelower)s/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['9c2c75c75f716914a2bd1c15dffac0e29a2f8069b2df1ad2b6207c984b699450'] + +builddependencies = [ + ('Bison', '3.7.6'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), +] + + +moduleclass = 'math' 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/SCOTCH/SCOTCH-7.0.1-gompi-2022a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-gompi-2022a.eb new file mode 100644 index 00000000000..7c425335e82 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-gompi-2022a.eb @@ -0,0 +1,25 @@ +name = 'SCOTCH' +version = '7.0.1' + +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} + +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/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb new file mode 100644 index 00000000000..f9abb478142 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.1-iimpi-2022a.eb @@ -0,0 +1,24 @@ +name = 'SCOTCH' +version = '7.0.1' + +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': 'iimpi', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['0618e9bc33c02172ea7351600fce4fccd32fe00b3359c4aabb5e415f17c06fed'] + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2022b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2022b.eb new file mode 100644 index 00000000000..ecf1d13d647 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2022b.eb @@ -0,0 +1,25 @@ +name = 'SCOTCH' +version = '7.0.3' + +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': '2022b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['5b5351f0ffd6fcae9ae7eafeccaa5a25602845b9ffd1afb104db932dd4d4f3c5'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.12'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2023a.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2023a.eb new file mode 100644 index 00000000000..7505a418741 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.3-gompi-2023a.eb @@ -0,0 +1,25 @@ +name = 'SCOTCH' +version = '7.0.3' + +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': '2023a'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['5b5351f0ffd6fcae9ae7eafeccaa5a25602845b9ffd1afb104db932dd4d4f3c5'] +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb new file mode 100644 index 00000000000..df359f078df --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-gompi-2023b.eb @@ -0,0 +1,26 @@ +name = 'SCOTCH' +version = '7.0.4' + +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': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['8ef4719d6a3356e9c4ca7fefd7e2ac40deb69779a5c116f44da75d13b3d2c2c3'] + +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-iimpi-2023b.eb b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-iimpi-2023b.eb new file mode 100644 index 00000000000..03292d90476 --- /dev/null +++ b/easybuild/easyconfigs/s/SCOTCH/SCOTCH-7.0.4-iimpi-2023b.eb @@ -0,0 +1,26 @@ +name = 'SCOTCH' +version = '7.0.4' + +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': 'iimpi', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://gitlab.inria.fr/scotch/scotch/-/archive/v%(version)s/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['8ef4719d6a3356e9c4ca7fefd7e2ac40deb69779a5c116f44da75d13b3d2c2c3'] + +threadedmpi = False + +builddependencies = [ + ('Bison', '3.8.2'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SCRIPro/SCRIPro-1.0.18-foss-2023a.eb b/easybuild/easyconfigs/s/SCRIPro/SCRIPro-1.0.18-foss-2023a.eb new file mode 100644 index 00000000000..e7d07a0b329 --- /dev/null +++ b/easybuild/easyconfigs/s/SCRIPro/SCRIPro-1.0.18-foss-2023a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'SCRIPro' +version = '1.0.18' +local_commit = 'e9087fd' + +homepage = 'https://github.com/xuyunfan9991/SCRIPro' +description = "SCRIPro, an extended framework of SCRIP that suits both single-cell and spatial multi-ome data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('scanpy', '1.9.8'), + ('Seaborn', '0.13.2'), + ('PyTables', '3.8.0'), + ('tqdm', '4.66.1'), + ('dill', '0.3.7'), + ('leidenalg', '0.10.2'), + ('PyTorch', '2.1.2'), + ('PyTorch-bundle', '2.1.2'), # provides PyTorch-Ignite + ('tensorboardX', '2.6.2.2'), + ('pybedtools', '0.9.1'), + ('jupyter-server', '2.7.2'), # ipywidgets +] + +use_pip = True + +exts_list = [ + ('lisa2', '2.3.2', { + 'checksums': ['dc9df3495322c94f93c12372fb8d88d355447f7b8b69ea639394fc6274e9affb'], + 'modulename': 'lisa', + }), + ('parse', '1.20.1', { + 'checksums': ['09002ca350ad42e76629995f71f7b518670bcf93548bdde3684fd55d2be51975'], + }), + ('pynvml', '11.5.0', { + 'checksums': ['d027b21b95b1088b9fc278117f9f61b7c67f8e33a787e9f83f735f0f71ac32d0'], + }), + ('sparse', '0.15.1', { + 'checksums': ['973adcb88a8db8e3d8047953331e26d3f64a5657f9b46a6b859c47663c3eef99'], + # replace use of 'version_file' (which requires setuptools-scm >= 8.0) with 'write_to' + 'preinstallopts': "sed -i 's/^version_file/write_to/' pyproject.toml && ", + }), + ('scglue', '0.3.2', { + 'checksums': ['fd57ebfa400233cbb1ab4fab4ad6a9dbf4db2c5ca715ba31c71c7a36cc931241'], + }), + ('scripro', version, { + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + 'source_urls': ['https://github.com/xuyunfan9991/SCRIPro/archive'], + 'sources': [{'download_filename': 'e9087fd.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['6636c31f3f5797d33d57a5d0266c89f80cc37389dd9c139806b4d17ecad74252'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/scripro'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["scripro --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb b/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb new file mode 100644 index 00000000000..cf50cd37f15 --- /dev/null +++ b/easybuild/easyconfigs/s/SCReadCounts/SCReadCounts-1.4.0-foss-2023b.eb @@ -0,0 +1,40 @@ +easyblock = 'Tarball' + +name = 'SCReadCounts' +version = '1.4.0' + +homepage = 'https://horvathlab.github.io/NGS/SCReadCounts/' +description = """SCReadCounts is a computational tool for a cell-level assessment of the read counts + bearing a particular nucleotide at genomic positions of interest from single cell RNA sequencing (scRNA-seq) data.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +source_urls = ['https://github.com/HorvathLab/NGS/releases/download/SCReadCounts-%(version)s'] +sources = ['%(name)s-%(version)s.Python-3.7.tgz'] + +checksums = ['61856534dc5c578e9d12bcb397dc696747685b33ef056c49d1ff766960676c30'] + +# There is also an optional dependency wxPython for GUI +# which is not included in this easyconfig. +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('Pysam', '0.22.0'), +] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['bin/scReadCounts'], + 'dirs': [], +} + +sanity_check_commands = [ + "scReadCounts --help", + "cd %(installdir)s/data && ./singlecell.sh", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..2212975537f --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.2.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'SCons' +version = '4.2.0' + +homepage = 'https://www.scons.org/' +description = "SCons is a software construction tool." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['691893b63f38ad14295f5104661d55cb738ec6514421c6261323351c25432b0a'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/scons', 'bin/sconsign'], + 'dirs': [], +} + +sanity_check_commands = ["scons --help"] + +sanity_pip_check = True + +# no Python module to import during sanity check +options = {'modulename': False} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..22668b263b2 --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.4.0-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SCons' +version = '4.4.0' + +homepage = 'https://www.scons.org/' +description = "SCons is a software construction tool." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +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.4.0.tar.gz': '7703c4e9d2200b4854a31800c1dbd4587e1fa86e75f58795c740bcfa7eca7eaa'}, + {'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/SCons/SCons-4.4.0_install_man_pages_correctly.patch b/easybuild/easyconfigs/s/SCons/SCons-4.4.0_install_man_pages_correctly.patch new file mode 100644 index 00000000000..4c482a86c5e --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.4.0_install_man_pages_correctly.patch @@ -0,0 +1,15 @@ +Install the man pages in the correct directory. + +Åke Sandgren, 2022-10-27 +diff -ru SCons-4.4.0.orig/setup.cfg SCons-4.4.0/setup.cfg +--- SCons-4.4.0.orig/setup.cfg 2022-07-30 23:16:02.000000000 +0200 ++++ SCons-4.4.0/setup.cfg 2022-10-27 11:55:33.457877253 +0200 +@@ -58,7 +58,7 @@ + SCons.Tool.docbook = *.* + + [options.data_files] +-. = scons.1 ++man/man1 = scons.1 + scons-time.1 + sconsign.1 + diff --git a/easybuild/easyconfigs/s/SCons/SCons-4.5.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SCons/SCons-4.5.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5e9d1a00cc2 --- /dev/null +++ b/easybuild/easyconfigs/s/SCons/SCons-4.5.2-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SCons' +version = '4.5.2' + +homepage = 'https://www.scons.org' +description = "SCons is a software construction tool." + +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, { + 'modulename': False, + 'patches': ['SCons-4.4.0_install_man_pages_correctly.patch'], + 'checksums': [ + {'SCons-4.5.2.tar.gz': '813360b2bce476bc9cc12a0f3a22d46ce520796b352557202cb07d3e402f5458'}, + {'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/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/SCopeLoomR/SCopeLoomR-0.13.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/s/SCopeLoomR/SCopeLoomR-0.13.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..9fa4d8fd8bb --- /dev/null +++ b/easybuild/easyconfigs/s/SCopeLoomR/SCopeLoomR-0.13.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,48 @@ +easyblock = 'Bundle' + +name = 'SCopeLoomR' +local_commit = '99726f5' +version = '0.13.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/aertslab/SCopeLoomR' +description = """An R package (compatible with SCope) to create generic .loom files and extend them with other data +e.g.: SCENIC regulons, Seurat clusters and markers, ...""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.1.2'), + ('HDF5', '1.12.1'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") +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', +} + +exts_list = [ + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + (name, version, { + 'source_urls': ['https://github.com/aertslab/%(name)s/archive'], + 'sources': [{'download_filename': '99726f5.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['02c8d331b5808c6fed09161f5208dd3655b41588b920c50be429f65719abf0cd'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SCopeLoomR/SCopeLoomR-0.13.0_20220408-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SCopeLoomR/SCopeLoomR-0.13.0_20220408-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..8a5877d00bd --- /dev/null +++ b/easybuild/easyconfigs/s/SCopeLoomR/SCopeLoomR-0.13.0_20220408-foss-2022a-R-4.2.1.eb @@ -0,0 +1,48 @@ +easyblock = 'Bundle' + +name = 'SCopeLoomR' +local_commit = '20f4e0a' +version = '0.13.0_20220408' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/aertslab/SCopeLoomR' +description = """An R package (compatible with SCope) to create generic .loom files and extend them with other data +e.g.: SCENIC regulons, Seurat clusters and markers, ...""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('HDF5', '1.12.2'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") +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', +} + +exts_list = [ + ('rlist', '0.4.6.2', { + 'checksums': ['ebde658d897c8a27a90ebb892b9e2bad15e2ad75557a7352fb08cbb5604e0997'], + }), + (name, version, { + 'source_urls': ['https://github.com/aertslab/%(name)s/archive'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['4189f7d29d695139a96894f0549e68921ade9843f6dbbccb56cc9834fe889391'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.0.20-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.0.20-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..07dfacfacbc --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.0.20-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.0.20' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c56aba1d7b5b0e7e999e4a7698c70b63a3394ff9704b5f6e1c57e0c16f04dd06'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('X11', '20210802'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.0.22-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.0.22-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..218bf61aeec --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.0.22-GCCcore-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.0.22' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['fe7cbf3127882e3fc7259a75a0cb585620272c51745d3852ab9dd87960697f2e'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('X11', '20220504'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..c83ac06a363 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.26.3-GCCcore-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.26.3' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c661205a553b7d252425f4b751ff13209e5e020b876bbfa1598494af61790057'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('X11', '20221110'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.28.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.28.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a362c41ff0b --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.28.2-GCCcore-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.28.2' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['64b1102fa22093515b02ef33dd8739dee1ba57e9dbba6a092942b8bbed1a1c5e'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('X11', '20230603'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.28.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.28.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5b5d1835fcb --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.28.5-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.28.5' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['332cb37d0be20cb9541739c61f79bae5a477427d79ae85e352089afdaf6666e4'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('X11', '20231019'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2/SDL2-2.30.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SDL2/SDL2-2.30.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1c8130b397c --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2/SDL2-2.30.6-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2' +version = '2.30.6' + +homepage = 'https://www.libsdl.org/' +description = "SDL: Simple DirectMedia Layer, a cross-platform multimedia library" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://www.libsdl.org/release/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c6ef64ca18a19d13df6eb22df9aff19fb0db65610a74cc81dae33a82235cacd4'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('X11', '20240607'), +] + +sanity_check_paths = { + 'files': ['bin/sdl2-config', 'lib/libSDL2.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bffa40795e7 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_gfx/SDL2_gfx-1.0.4-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_gfx' +version = '1.0.4' + +homepage = 'https://www.ferzkopp.net/joomla/content/view/19/14/' +description = """ +Graphics drawing primitives library for SDL2 +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://www.ferzkopp.net/Software/%(name)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['63e0e01addedc9df2f85b93a248f06e8a04affa014a835c2ea34bfe34e576262'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('SDL2', '2.0.22'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL2_gfxPrimitives.h', 'lib/libSDL2_gfx.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_gfx.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.6.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4e44d5c5e43 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'SDL2_image' +version = '2.6.3' + +homepage = 'https://github.com/libsdl-org/SDL_image' +description = """ +This is a simple library to load images of various formats as SDL surfaces. It +can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI, TGA, XCF, XPM, +and simple SVG format images. It can also load AVIF, JPEG-XL, TIFF, and WebP +images, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_image/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['e3fb5136e1c0e0e118051fbd96cddaf988715ed9fec9296b4861e21823c75b75'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.3'), + ('libpng', '1.6.37'), + ('LibTIFF', '4.3.0'), + ('SDL2', '2.0.22'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_image.h', 'lib/libSDL2_image.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_image.pc'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2ad3382018d --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_image/SDL2_image-2.8.2-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'SDL2_image' +version = '2.8.2' + +homepage = 'https://github.com/libsdl-org/SDL_image' +description = """ +This is a simple library to load images of various formats as SDL surfaces. It +can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI, TGA, XCF, XPM, +and simple SVG format images. It can also load AVIF, JPEG-XL, TIFF, and WebP +images, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_image/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['8fd59b2c17772d7ac1192b11c645be8d7874f595c1714f4b200ee70b7cc38f3e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('libpng', '1.6.39'), + ('LibTIFF', '4.5.0'), + ('SDL2', '2.28.2'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_image.h', 'lib/libSDL2_image.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_image.pc'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.6.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.6.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d58dba77b9f --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.6.3-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'SDL2_mixer' +version = '2.6.3' + +homepage = 'https://github.com/libsdl-org/SDL_mixer' +description = """ +Due to popular demand, here is a simple multi-channel audio mixer. It supports +8 channels of 16 bit stereo audio, plus a single channel of music. It can load +FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus +audio, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_mixer/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['91dd065e9e63f499e5317350b110184b0ba96bc5f63c39b3a9939a136c40c035'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('SDL2', '2.0.22'), + ('FFmpeg', '4.4.2'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_mixer.h', 'lib/libSDL2_mixer.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_mixer.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cde74228da6 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_mixer/SDL2_mixer-2.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Authors:: Jack Perdue - TAMU HPRC - http://hprc.tamu.edu + +easyblock = 'ConfigureMake' + +name = 'SDL2_mixer' +version = '2.8.0' + +homepage = 'https://github.com/libsdl-org/SDL_mixer' +description = """ +Due to popular demand, here is a simple multi-channel audio mixer. It supports +8 channels of 16 bit stereo audio, plus a single channel of music. It can load +FLAC, MP3, Ogg, VOC, and WAV format audio. It can also load MIDI, MOD, and Opus +audio, depending on build options (see the note below for details.) +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_mixer/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['1146f00815c8ad22c3d48fbe31ae23dc5997936ebf30b4b3aeab6eab7ea1db3e'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('SDL2', '2.28.2'), + ('FFmpeg', '6.0'), +] + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_mixer.h', 'lib/libSDL2_mixer.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_mixer.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.20.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.20.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1e431529e09 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.20.2-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_ttf' +version = '2.20.2' + +homepage = 'https://github.com/libsdl-org/SDL_ttf' +description = """ +This library is a wrapper around the FreeType and Harfbuzz libraries, allowing +you to use TrueType fonts to render text in SDL applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_ttf/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['0fe9d587cdc4e6754b647536d0803bea8ca6ac77146c4209e0bed22391cf8241'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('SDL2', '2.0.22'), + ('freetype', '2.12.1'), +] + +configopts = '--disable-harfbuzz --disable-freetype-builtin' + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_ttf.h', 'lib/libSDL2_ttf.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_ttf.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..87bd8e421f0 --- /dev/null +++ b/easybuild/easyconfigs/s/SDL2_ttf/SDL2_ttf-2.22.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'SDL2_ttf' +version = '2.22.0' + +homepage = 'https://github.com/libsdl-org/SDL_ttf' +description = """ +This library is a wrapper around the FreeType and Harfbuzz libraries, allowing +you to use TrueType fonts to render text in SDL applications. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/libsdl-org/SDL_ttf/archive/refs/tags/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['2275d0ddfffa53f0efa628bc1621f662dacbd42467b5a44db99e38255fbb575a'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('SDL2', '2.28.2'), + ('freetype', '2.13.0'), +] + +configopts = '--disable-harfbuzz --disable-freetype-builtin' + +sanity_check_paths = { + 'files': ['include/SDL2/SDL_ttf.h', 'lib/libSDL2_ttf.%s' % SHLIB_EXT, + 'lib/pkgconfig/SDL2_ttf.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SEACells/SEACells-20230731-foss-2021a.eb b/easybuild/easyconfigs/s/SEACells/SEACells-20230731-foss-2021a.eb new file mode 100644 index 00000000000..5d184b0d518 --- /dev/null +++ b/easybuild/easyconfigs/s/SEACells/SEACells-20230731-foss-2021a.eb @@ -0,0 +1,77 @@ +easyblock = 'PythonBundle' + +name = 'SEACells' +local_commit = 'a3486ca' +version = '20230731' + +homepage = 'https://github.com/dpeerlab/SEACells' +description = """SEACells algorithm for Inference of transcriptional and epigenomic cellular states + from single-cell genomics data""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('numba', '0.53.1'), + ('scanpy', '1.8.1'), +] + +use_pip = True + +exts_list = [ + ('fcsparser', '0.2.3', { + 'checksums': ['c370f05d42898ce220cb8ea0f89988d18eaaeced063c4118cc3dcb99cbd8c17e'], + }), + ('PhenoGraph', '1.5.7', { + 'checksums': ['46b28f9e043a00deba53bb5f35dd84793669ab2bd4ce78900bf7f15f1321515a'], + }), + ('typing-extensions', '4.7.1', { + 'sources': ['typing_extensions-%(version)s.tar.gz'], + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + ('python-utils', '3.7.0', { + 'checksums': ['1970468fff1c0adbd60b9a751e6a786223a9f0373c954571912d9cf4be49b552'], + }), + ('progressbar2', '4.2.0', { + 'checksums': ['1393922fcb64598944ad457569fbeb4b3ac189ef50b5adb9cef3284e87e394ce'], + 'modulename': 'progressbar', + }), + ('pygam', '0.8.0', { + 'checksums': ['5cae01aea8b2fede72a6da0aba1490213af54b3476745666af26bbe700479166'], + }), + ('tzlocal', '5.0.1', { + 'checksums': ['46eb99ad4bdb71f3f72b7d24f4267753e240944ecfc16f25d2719ba89827a803'], + }), + ('palantir', '1.2', { + 'preinstallopts': "sed -i '/cmake/d' setup.py && ", + 'checksums': ['2213ba7a99be62922086e30417994874c165bce1356752bbf0b4cc887b1a069e'], + }), + ('ncls', '0.0.67', { + 'checksums': ['fa3e673d60e97bb021a516287d74bb959870cf9d910ec82403b99c443d8f447e'], + }), + ('sorted-nearest', '0.0.32', { + 'sources': ['sorted_nearest-%(version)s.tar.gz'], + 'checksums': ['7ae0d8a4e10a29787e61831bac25af5c22b0bf7edb8a5efd0ab206afbb0238b4'], + }), + ('pyrle', '0.0.33', { + 'checksums': ['4c24a2e096f8dbfa4451d57ce769057e2ed6c369ee75f5dce3c4d6fa47f71a6e'], + }), + ('pyranges', '0.0.110', { + 'checksums': ['5996d22c07c490e3ad15863c63d27a225896e08700a0bcbc6e0272d071dafa5a'], + }), + (name, version, { + 'source_urls': ['https://github.com/dpeerlab/SEACells/archive/'], + 'sources': [{'download_filename': 'a3486ca.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['2e7317d975d0a0b618cbeaca95ceb61fc6abc5c8da4a7095bca763493983749e'], + 'modulename': name, + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SECAPR/SECAPR-1.1.15-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/s/SECAPR/SECAPR-1.1.15-foss-2019b-Python-2.7.16.eb index f137d101fa2..e19b28dbb97 100644 --- a/easybuild/easyconfigs/s/SECAPR/SECAPR-1.1.15-foss-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/s/SECAPR/SECAPR-1.1.15-foss-2019b-Python-2.7.16.eb @@ -17,16 +17,16 @@ dependencies = [ ('ABySS', '2.1.5'), ('Biopython', '1.75', versionsuffix), ('BWA', '0.7.17'), - ('picard', '2.21.6', '-Java-11', True), + ('picard', '2.21.6', '-Java-11', SYSTEM), ('BCFtools', '1.10.2'), ('EMBOSS', '6.6.0', '-Java-11'), - ('FastQC', '0.11.9', '-Java-11', True), + ('FastQC', '0.11.9', '-Java-11', SYSTEM), ('LASTZ', '1.04.03'), ('MAFFT', '7.453', '-with-extensions'), ('MUSCLE', '3.8.1551'), ('SAMtools', '1.10'), ('seqtk', '1.3'), - ('Trimmomatic', '0.39', '-Java-11', True), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), ('Trinity', '2.9.1', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..81faead483e --- /dev/null +++ b/easybuild/easyconfigs/s/SELFIES/SELFIES-2.1.1-GCC-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'SELFIES' +version = '2.1.1' + +homepage = 'https://github.com/aspuru-guzik-group/selfies' +description = "Robust representation of semantically constrained graphs, in particular for molecules in chemistry" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +dependencies = [ + ('Python', '3.9.6'), +] + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d8066b47e746a6ca5111143e5365ffebbb56b0b244328a61dd4e344d0125f84b'] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.3.10-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.3.10-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..ede3aa68bef --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.3.10-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,46 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.3.10 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.3.10' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['24d8d410138563017e6f2f1263d5e34427f5bbddb875b72a036f7c879cef203b'] + +dependencies = [ + ('Python', '3.8.2'), + ('DendroPy', '4.4.0'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = [ + 'run_abundance.py', 'run_sepp.py', 'run_tipp.py', + 'run_tipp_tool.py', 'run_upp.py', 'split_sequences.py' +] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.0-foss-2021a.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.0-foss-2021a.eb new file mode 100644 index 00000000000..760c7acd3f1 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.0-foss-2021a.eb @@ -0,0 +1,45 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.5.0 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.5.0' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['b464b5f3e51c2c52e85f6fe51cba80746199472f117a88a80213bc457f867455'] + +dependencies = [ + ('Python', '3.9.5'), + ('DendroPy', '4.5.2'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = [ + 'run_sepp.py', + 'run_upp.py', 'split_sequences.py' +] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2021b.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2021b.eb new file mode 100644 index 00000000000..5fb5811a69f --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2021b.eb @@ -0,0 +1,42 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.5.1 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.5.1' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b'] + +dependencies = [ + ('Python', '3.9.6'), + ('DendroPy', '4.5.2'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = ['run_sepp.py', 'run_upp.py', 'split_sequences.py'] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb new file mode 100644 index 00000000000..45d90b52d04 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022a.eb @@ -0,0 +1,46 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.5.1 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.5.1' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_py10_compat.patch'] +checksums = [ + {'4.5.1.tar.gz': '51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b'}, + {'SEPP-4.5.1_fix_py10_compat.patch': 'f789f421e17cb056a43a5e8db01bcdbc07c9ce30d033b2130ccbce770816875f'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('DendroPy', '4.5.2'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = ['run_sepp.py', 'run_upp.py', 'split_sequences.py'] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022b.eb b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022b.eb new file mode 100644 index 00000000000..d5903564e55 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1-foss-2022b.eb @@ -0,0 +1,46 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to v4.5.1 by: +# R.QIAO +# DeepThought, Flinders University + +name = 'SEPP' +version = '4.5.1' + +homepage = 'https://github.com/smirarab/sepp' +description = """SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic +placement of short reads into reference alignments and trees.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +# https://github.com/smirarab/sepp +github_account = 'smirarab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix_py10_compat.patch'] +checksums = [ + {'4.5.1.tar.gz': '51e052569ae89f586a1a94c804f09fe1b7910a3ffff7664e2005f18c7d3f717b'}, + {'SEPP-4.5.1_fix_py10_compat.patch': 'f789f421e17cb056a43a5e8db01bcdbc07c9ce30d033b2130ccbce770816875f'}, +] + +dependencies = [ + ('Python', '3.10.8'), + ('DendroPy', '4.5.2'), +] + +fix_python_shebang_for = ['bin/*.py'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bin_files = ['run_sepp.py', 'run_upp.py', 'split_sequences.py'] + +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_files], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sepp'] +} + +sanity_check_commands = ["%s --help" % f for f in local_bin_files] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch new file mode 100644 index 00000000000..3c11d3bfe32 --- /dev/null +++ b/easybuild/easyconfigs/s/SEPP/SEPP-4.5.1_fix_py10_compat.patch @@ -0,0 +1,28 @@ +From 83a6f7e0422903535ba98c136351c1b34bc5c1b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cl=C3=A9o=20Cordeiro?= + <75858274+CleoCordeiro@users.noreply.github.com> +Date: Tue, 2 Aug 2022 21:17:49 -0300 +Subject: [PATCH] Update alignment.py + +fixed imports of collections for different versions of python +--- + sepp/alignment.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/sepp/alignment.py b/sepp/alignment.py +index ada5de8..c847d95 100644 +--- a/sepp/alignment.py ++++ b/sepp/alignment.py +@@ -26,7 +26,11 @@ + + from sepp.filemgr import open_with_intermediates + +-from collections import Mapping ++try: ++ from collections.abc import Mapping # noqa ++except ImportError: ++ from collections import Mapping ++ + import copy + from sepp import get_logger + import io diff --git a/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb b/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb new file mode 100644 index 00000000000..0e5be094112 --- /dev/null +++ b/easybuild/easyconfigs/s/SHAP/SHAP-0.41.0-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'SHAP' +version = '0.41.0' + +homepage = "https://github.com/slundberg/shap" +description = """SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any + machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley + values from game theory and their related extensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('numba', '0.56.4'), +] + +# Python 3.10.4 uses poetry 1.1.13 which needs packaging "^20.4" +preinstallopts = "sed -i 's/packaging>20.9/packaging/g' setup.py && " + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('slicer', '0.0.7', { + 'checksums': ['f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['a49ea4d65aadbc845a695fa3d7ea0bdfc8c928b8e213b0feedf5868ade4b3ca5'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..1b6ae4e2e39 --- /dev/null +++ b/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'SHAP' +version = '0.42.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = "https://github.com/slundberg/shap" +description = """SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any + machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley + values from game theory and their related extensions.""" + +toolchain = {'name': 'foss', 'version': '2019b'} + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), + ('scikit-learn', '0.21.3', versionsuffix), + ('tqdm', '4.41.1'), + ('numba', '0.47.0', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +# ignore too strict requirement for 'packaging' Python package +local_preinstallopts = "sed -i 's/packaging>[0-9.]*/packaging/g' pyproject.toml && " +# fix compatibility with numba 0.47.0 +local_preinstallopts += "sed -i 's/from numba.core.errors import/from numba.errors import/g' shap/maskers/_image.py && " + +exts_list = [ + # recent setuptools required to avoid UNKNOWN and 0.0.0 in SHAP installation + ('setuptools', '67.8.0', { + 'checksums': ['62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102'], + }), + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('slicer', '0.0.7', { + 'checksums': ['f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['64403915e4a07d2951e7eee4af0e835b1b519367b11806fe1aa4bd6d81adb626'], + 'preinstallopts': local_preinstallopts, + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2022a.eb b/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2022a.eb new file mode 100644 index 00000000000..7323215b67f --- /dev/null +++ b/easybuild/easyconfigs/s/SHAP/SHAP-0.42.1-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'SHAP' +version = '0.42.1' + +homepage = "https://github.com/slundberg/shap" +description = """SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any + machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley + values from game theory and their related extensions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), + ('numba', '0.56.4'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('slicer', '0.0.7', { + 'checksums': ['f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec'], + }), + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['64403915e4a07d2951e7eee4af0e835b1b519367b11806fe1aa4bd6d81adb626'], + # ignore too strict requirement for 'packaging' Python package + 'preinstallopts': "sed -i 's/packaging>[0-9.]*/packaging/g' pyproject.toml && ", + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SHAP/SHAP-0.43.0-foss-2023a.eb b/easybuild/easyconfigs/s/SHAP/SHAP-0.43.0-foss-2023a.eb new file mode 100644 index 00000000000..6be374eb213 --- /dev/null +++ b/easybuild/easyconfigs/s/SHAP/SHAP-0.43.0-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'SHAP' +version = '0.43.0' + +homepage = "https://github.com/shap/shap" +description = """SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any + machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley + values from game theory and their related extensions.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('numba', '0.58.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('slicer', '0.0.7', { + 'checksums': ['f5d5f7b45f98d155b9c0ba6554fa9770c6b26d5793a3e77a1030fb56910ebeec'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['1eabe01444a24e181ef6a7c9593b4d7c7143eefaeb1fa4d97bd5d9fdc96c4c1e'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2020b.eb b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2020b.eb new file mode 100644 index 00000000000..c3694317b3e --- /dev/null +++ b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2020b.eb @@ -0,0 +1,45 @@ +easyblock = "MakeCp" + +name = 'SHAPEIT4' +version = '4.2.2' + +homepage = 'https://odelaneau.github.io/shapeit4/' +description = """ +SHAPEIT4 is a fast and accurate method for estimation of haplotypes +(aka phasing) for SNP array and high coverage sequencing data. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': True, 'cstd': 'c++11'} + +github_account = 'odelaneau' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['SHAPEIT4_%(version)s_use_EB_settings.patch'] +checksums = [ + '9f109e307b5cc22ab68e7bf77de2429a9bbb2212d66303386e6a3dd81a5bc556', # v4.2.2.tar.gz + '92ed45545bfcde7b1fbe079e6321ccae00865c8f0f66a924e872967d762df885', # SHAPEIT4_4.2.2_use_EB_settings.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('Boost', '1.74.0'), + ('HTSlib', '1.11'), +] + +buildopts = 'HTSLIB_INC="$EBROOTHTSLIB/include" HTSLIB_LIB=-lhts ' +buildopts += 'BOOST_INC="$EBROOTBOOST/include" BOOST_LIB_IO=-lboost_iostreams BOOST_LIB_PO=-lboost_program_options ' +buildopts += 'CXX="$CXX" CXXFLAG="$CXXFLAGS" LDFLAG="$CXXFLAGS" ' + +files_to_copy = [(['bin/shapeit4.2'], 'bin'), 'maps'] + +sanity_check_paths = { + 'files': ["bin/shapeit4.2"], + 'dirs': ['maps'] +} + +sanity_check_commands = ['shapeit4.2 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2021a.eb b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2021a.eb new file mode 100644 index 00000000000..0b8cc7f9c21 --- /dev/null +++ b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4-4.2.2-foss-2021a.eb @@ -0,0 +1,45 @@ +easyblock = "MakeCp" + +name = 'SHAPEIT4' +version = '4.2.2' + +homepage = 'https://odelaneau.github.io/shapeit4/' +description = """ +SHAPEIT4 is a fast and accurate method for estimation of haplotypes +(aka phasing) for SNP array and high coverage sequencing data. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True, 'cstd': 'c++11'} + +github_account = 'odelaneau' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['SHAPEIT4_%(version)s_use_EB_settings.patch'] +checksums = [ + '9f109e307b5cc22ab68e7bf77de2429a9bbb2212d66303386e6a3dd81a5bc556', # v4.2.2.tar.gz + '92ed45545bfcde7b1fbe079e6321ccae00865c8f0f66a924e872967d762df885', # SHAPEIT4_4.2.2_use_EB_settings.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('Boost', '1.76.0'), + ('HTSlib', '1.12'), +] + +buildopts = 'HTSLIB_INC="$EBROOTHTSLIB/include" HTSLIB_LIB=-lhts ' +buildopts += 'BOOST_INC="$EBROOTBOOST/include" BOOST_LIB_IO=-lboost_iostreams BOOST_LIB_PO=-lboost_program_options ' +buildopts += 'CXX="$CXX" CXXFLAG="$CXXFLAGS" LDFLAG="$CXXFLAGS" ' + +files_to_copy = [(['bin/shapeit4.2'], 'bin'), 'maps'] + +sanity_check_paths = { + 'files': ["bin/shapeit4.2"], + 'dirs': ['maps'] +} + +sanity_check_commands = ['shapeit4.2 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4_4.2.2_use_EB_settings.patch b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4_4.2.2_use_EB_settings.patch new file mode 100644 index 00000000000..37300b3dfea --- /dev/null +++ b/easybuild/easyconfigs/s/SHAPEIT4/SHAPEIT4_4.2.2_use_EB_settings.patch @@ -0,0 +1,38 @@ +--- shapeit4-4.2.2/makefile 2021-09-07 13:08:23.000000000 +0100 ++++ shapeit4-4.2.2.new/makefile 2021-10-06 17:34:49.006112748 +0100 +@@ -1,14 +1,14 @@ + #COMPILER MODE C++11 +-CXX=g++ -std=c++11 ++#CXX=g++ -std=c++11 + + #HTSLIB LIBRARY [SPECIFY YOUR OWN PATHS] +-HTSLIB_INC=$(HOME)/Tools/htslib-1.11 +-HTSLIB_LIB=$(HOME)/Tools/htslib-1.11/libhts.a ++#HTSLIB_INC=$(HOME)/Tools/htslib-1.11 ++#HTSLIB_LIB=$(HOME)/Tools/htslib-1.11/libhts.a + + #BOOST IOSTREAM & PROGRAM_OPTION LIBRARIES [SPECIFY YOUR OWN PATHS] +-BOOST_INC=/usr/include +-BOOST_LIB_IO=/usr/lib/x86_64-linux-gnu/libboost_iostreams.a +-BOOST_LIB_PO=/usr/lib/x86_64-linux-gnu/libboost_program_options.a ++#BOOST_INC=/usr/include ++#BOOST_LIB_IO=/usr/lib/x86_64-linux-gnu/libboost_iostreams.a ++#BOOST_LIB_PO=/usr/lib/x86_64-linux-gnu/libboost_program_options.a + + #HTSLIB LIBRARY [SPECIFY YOUR OWN PATHS] + #HTSLIB_INC=/software/UHTS/Analysis/samtools/1.4/include +@@ -25,12 +25,12 @@ + #CXXFLAG=-O3 -march=native + + #Good performance and portable on most CPUs +-CXXFLAG=-O3 -mavx2 -mfma ++#CXXFLAG=-O3 -mavx2 -mfma + + #Portable version without avx2 (much slower) + #CXXFLAG=-O3 + +-LDFLAG=-O3 ++#LDFLAG=-O3 + + + #DYNAMIC LIBRARIES diff --git a/easybuild/easyconfigs/s/SHTns/SHTns-2.7-foss-2021b.eb b/easybuild/easyconfigs/s/SHTns/SHTns-2.7-foss-2021b.eb new file mode 100644 index 00000000000..12e800cbc5e --- /dev/null +++ b/easybuild/easyconfigs/s/SHTns/SHTns-2.7-foss-2021b.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'SHTns' +version = '2.7' + +homepage = 'https://bitbucket.org/nschaeff/shtns' +description = """Spherical Harmonic Transform library aimed at high performance numerical simulations in spherical +geometries.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://bitbucket.org/nschaeff/shtns/get/'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}] +checksums = ['725d0aedb26cdceed3a080d1c5f44a746eccba5d8943574fe08faeae370a5ba9'] + +sanity_check_paths = { + 'files': ['include/shtns.f', 'include/shtns.h', 'lib/libshtns.a'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SHTns/SHTns-3.5.1-foss-2021b.eb b/easybuild/easyconfigs/s/SHTns/SHTns-3.5.1-foss-2021b.eb new file mode 100644 index 00000000000..483cafedcb2 --- /dev/null +++ b/easybuild/easyconfigs/s/SHTns/SHTns-3.5.1-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'SHTns' +version = '3.5.1' + +homepage = 'https://bitbucket.org/nschaeff/shtns' +description = """Spherical Harmonic Transform library aimed at high performance numerical simulations in spherical +geometries.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://bitbucket.org/nschaeff/shtns/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['77f8a33b94df8786d2ce9b95cbfbe548f00443625b310b8c64012b22c8a7394f'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +# install Python bindings +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} +exts_list = [ + ('shtns', version, { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['77f8a33b94df8786d2ce9b95cbfbe548f00443625b310b8c64012b22c8a7394f'], + }), +] + +sanity_check_paths = { + 'files': ['include/shtns_cuda.h', 'include/shtns.f', 'include/shtns.f03', 'include/shtns.h', 'lib/libshtns.a'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.6-GCCcore-10.3.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.6-GCCcore-10.3.0-tools.eb new file mode 100644 index 00000000000..445daf66eb4 --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.6-GCCcore-10.3.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.6' +# 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': '10.3.0'} + +source_urls = ['https://apps.fz-juelich.de/jsc/%(namelower)s/download.php?version=%(version)sl'] +sources = ['%(namelower)s-%(version)sl.tar.gz'] +checksums = ['2c220390ef63d001f8ab02c380087187ea02ad2bfc5956e05ecaa0725a6f9942'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +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/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.2.0-tools.eb new file mode 100644 index 00000000000..7cb1689c5c2 --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.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': '11.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.37'), +] + +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/SIONlib/SIONlib-1.7.7-GCCcore-11.3.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.3.0-tools.eb new file mode 100644 index 00000000000..9d094c2cb89 --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-11.3.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': '11.3.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.38'), +] + +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/SIONlib/SIONlib-1.7.7-GCCcore-12.2.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-12.2.0-tools.eb new file mode 100644 index 00000000000..5bf659a141a --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-12.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': '12.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.39'), +] + +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/SIONlib/SIONlib-1.7.7-GCCcore-12.3.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-12.3.0-tools.eb new file mode 100644 index 00000000000..7cae952e521 --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-12.3.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': '12.3.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/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/SIONlib/SIONlib-1.7.7-GCCcore-13.3.0-tools.eb b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.3.0-tools.eb new file mode 100644 index 00000000000..9d2584de1bb --- /dev/null +++ b/easybuild/easyconfigs/s/SIONlib/SIONlib-1.7.7-GCCcore-13.3.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.3.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.42'), +] + +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-4.19.8-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/s/SIP/SIP-4.19.8-intel-2018a-Python-2.7.14.eb new file mode 100644 index 00000000000..35357ae851c --- /dev/null +++ b/easybuild/easyconfigs/s/SIP/SIP-4.19.8-intel-2018a-Python-2.7.14.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Bart Verleye +# Center for eResearch, Auckland +easyblock = 'ConfigureMakePythonPackage' + +name = 'SIP' +version = '4.19.8' +versionsuffix = '-Python-%(pyver)s' + +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': 'intel', 'version': '2018a'} + +source_urls = ['http://sourceforge.net/projects/pyqt/files/sip/sip-%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['7eaf7a2ea7d4d38a56dd6d2506574464bddf7cf284c960801679942377c297bc'] + +dependencies = [('Python', '2.7.14')] + +configopts = "configure.py --bindir %(installdir)s/bin --incdir %(installdir)s/include " +configopts += "--destdir %(installdir)s/lib/python%(pyshortver)s/site-packages" + +sanity_check_paths = { + 'files': ['bin/sip', 'include/sip.h'] + + ['lib/python%%(pyshortver)s/site-packages/%s' % x + for x in ['sip.%s' % SHLIB_EXT, 'sipconfig.py', 'sipdistutils.py']], + 'dirs': [], +} + +moduleclass = 'lang' 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/SIP/SIP-6.8.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SIP/SIP-6.8.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..7e615a60c0a --- /dev/null +++ b/easybuild/easyconfigs/s/SIP/SIP-6.8.3-GCCcore-13.2.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.3' + +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': '13.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['888547b018bb24c36aded519e93d3e513d4c6aa0ba55b7cc1affbd45cf10762c'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('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/SIRIUS/SIRIUS-7.5.2-foss-2023a.eb b/easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.5.2-foss-2023a.eb new file mode 100644 index 00000000000..5c7da32ecff --- /dev/null +++ b/easybuild/easyconfigs/s/SIRIUS/SIRIUS-7.5.2-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'SIRIUS' +version = '7.5.2' + +homepage = 'https://github.com/electronic-structure/SIRIUS' +description = """SIRIUS is a domain specific library for electronic structure calculations. +It implements pseudopotential plane wave (PP-PW) and +full potential linearized augmented plane wave (FP-LAPW) methods.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/electronic-structure/SIRIUS/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9ae01935578532c84f1d0d673dbbcdd490e26be22efa6c4acf7129f9dc1a0c60'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('GSL', '2.7'), + ('libxc', '6.2.2'), + ('HDF5', '1.14.0'), + ('spglib', '2.5.0'), + ('SpFFT', '1.1.0'), + ('spla', '1.6.1'), + ('COSTA', '2.2.2'), + ('Umpire', '2024.02.1'), +] + +sanity_check_paths = { + 'files': [ + 'bin/sirius.scf', + 'lib/libsirius.%s' % SHLIB_EXT, + ], + 'dirs': ['bin', 'include/sirius'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb new file mode 100644 index 00000000000..53ebb6d4cad --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1-foss-2021b.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMake' + +name = 'SISSO++' +version = '1.1' + +homepage = 'https://gitlab.com/sissopp_developers/sissopp' +description = "C++ implementation of SISSO with built in Python bindings for an efficient python interface" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/sissopp_developers/sissopp/-/archive/v%(version)s/'] +sources = [{ + 'git_config': { + 'url': 'https://gitlab.com/sissopp_developers/', + 'repo_name': 'sissopp', + 'recursive': True, + 'commit': 'v%(version)s', + }, + 'filename': SOURCE_TAR_GZ, +}] +patches = ['SISSO++-1.1_cmake-mpi-fix.patch'] +checksums = [ + None, # SISSO++-1.1.tar.gz + '614f13ef34dc1d1b2fe0e9868cdcf576a0dacb336759f5295115131d15e9c35a', +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Boost.Python', '1.77.0'), + ('Boost.MPI', '1.77.0'), + ('Clp', '1.17.7'), + ('NLopt', '2.7.0'), + ('pybind11', '2.7.1'), + ('fmt', '7.1.1'), + ('googletest', '1.11.0'), +] + +preconfigopts = "export BOOST_ROOT=$EBROOTBOOSTMPI && " +configopts = "-DEXTERNAL_BOOST=ON -DBUILD_PYTHON=ON -DPYTHON_INSTDIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/sisso++', 'lib/libsisso.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import sissopp'"] + +modextrapaths = {'PYTHONPATH': ''} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch new file mode 100644 index 00000000000..d91c3e3fe6d --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO++/SISSO++-1.1_cmake-mpi-fix.patch @@ -0,0 +1,19 @@ +workaround for $MPI_CXX_LIBRARIES being empty and CMake tripping over that with: +CMake Error at CMakeLists.txt:252 (list): + list GET given empty list +author: Kenneth Hoste (HPC-UGent) +--- sissopp/CMakeLists.txt.orig 2022-06-23 17:17:12.083398990 +0200 ++++ sissopp/CMakeLists.txt 2022-06-23 17:17:26.326311818 +0200 +@@ -248,9 +248,9 @@ + # Check MPI + find_package(MPI REQUIRED) + include_directories(${MPI_CXX_INCLUDE_DIRS}) +-set(MPI_LIBRARIES, ${MPI_CXX_LIBRARIES}) +-list(GET MPI_CXX_LIBRARIES 0 MPI_LIBRARY) +-get_filename_component(MPI_DIR ${MPI_LIBRARY} DIRECTORY) ++#set(MPI_LIBRARIES, ${MPI_CXX_LIBRARIES}) ++#list(GET MPI_CXX_LIBRARIES 0 MPI_LIBRARY) ++#get_filename_component(MPI_DIR ${MPI_LIBRARY} DIRECTORY) + + # Build libnlopt + if(BUILD_PARAMS) diff --git a/easybuild/easyconfigs/s/SISSO/SISSO-3.0.2-iimpi-2021b.eb b/easybuild/easyconfigs/s/SISSO/SISSO-3.0.2-iimpi-2021b.eb new file mode 100644 index 00000000000..f1f23682576 --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO/SISSO-3.0.2-iimpi-2021b.eb @@ -0,0 +1,28 @@ +easyblock = 'CmdCp' + +name = 'SISSO' +version = '3.0.2' + +homepage = 'https://github.com/rouyang2017/SISSO' +description = """A data-driven method combining symbolic regression and compressed sensing toward accurate & + interpretable models.""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/rouyang2017/SISSO/raw/master/Previous_Versions/'] +sources = ['SISSO.%(version)s.tar'] +checksums = ['faa28172c23bc8906d1ae91ca3a6d17d3427ea14de7c400072d90a0e71f7481e'] + +start_dir = 'src' + +cmds_map = [('.*', "$F90 $FFLAGS var_global.f90 libsisso.f90 DI.f90 FC.f90 SISSO.f90 -o SISSO")] + +files_to_copy = [(['SISSO'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/SISSO'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SISSO/SISSO-3.1-20220324-iimpi-2021b.eb b/easybuild/easyconfigs/s/SISSO/SISSO-3.1-20220324-iimpi-2021b.eb new file mode 100644 index 00000000000..daa47a51e19 --- /dev/null +++ b/easybuild/easyconfigs/s/SISSO/SISSO-3.1-20220324-iimpi-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'CmdCp' + +name = 'SISSO' +local_commit = '9b6080e' +version = '3.1-20220324' + +homepage = 'https://github.com/rouyang2017/SISSO' +description = """A data-driven method combining symbolic regression and compressed sensing toward accurate & + interpretable models.""" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/rouyang2017/SISSO/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['e41ca55d7b66ab52b72059456092428053d4fadc9a69393929c847c49108115b'] + +start_dir = 'src' + +cmds_map = [('.*', "$F90 $FFLAGS var_global.f90 libsisso.f90 DI.f90 FC.f90 SISSO.f90 -o SISSO")] + +files_to_copy = [(['SISSO'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/SISSO'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SKA2/SKA2-0.3.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SKA2/SKA2-0.3.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ec330ffc75d --- /dev/null +++ b/easybuild/easyconfigs/s/SKA2/SKA2-0.3.7-GCCcore-12.2.0.eb @@ -0,0 +1,395 @@ +easyblock = 'Cargo' + +name = 'SKA2' +version = '0.3.7' + +homepage = 'https://docs.rs/ska/latest/ska/' +description = """Split k-mer analysis (version 2) uses exact matching of split k-mer sequences to align closely + related sequences, typically small haploid genomes such as bacteria and viruses.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [] +checksums = [ + {'ska-0.3.7.tar.gz': '42febc3b657772569c9f6de9e19c3a02ec306ce1bc72d3032044ebaf6f9b23f6'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'ahash-0.8.11.tar.gz': 'e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'allocator-api2-0.2.16.tar.gz': '0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5'}, + {'anstream-0.6.13.tar.gz': 'd96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'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.81.tar.gz': '0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247'}, + {'argmin-0.9.0.tar.gz': '523c0b5258fa1fb9072748b7306fb0db1625cf235ec6da4d05de2560ef56f882'}, + {'argmin-math-0.3.0.tar.gz': 'a8798ca7447753fcb3dd98d9095335b1564812a68c6e7c3d1926e1d5cf094e37'}, + {'assert_fs-1.1.1.tar.gz': '2cd762e110c8ed629b11b6cde59458cc1c71de78ebbcc30099fc8e0403a2a2ec'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bincode-1.3.3.tar.gz': 'b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'bstr-1.9.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'buffer-redux-1.0.1.tar.gz': '4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5'}, + {'bytecount-0.6.7.tar.gz': 'e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cc-1.0.90.tar.gz': '8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5'}, + {'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-4.5.2.tar.gz': 'b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651'}, + {'clap_builder-4.5.2.tar.gz': 'ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'colored-2.1.0.tar.gz': 'cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'crc32fast-1.4.0.tar.gz': 'b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa'}, + {'crossbeam-channel-0.5.12.tar.gz': 'ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95'}, + {'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'}, + {'deranged-0.3.11.tar.gz': 'b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4'}, + {'diff-0.1.13.tar.gz': '56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8'}, + {'difflib-0.4.0.tar.gz': '6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8'}, + {'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'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'equivalent-1.0.1.tar.gz': '5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'flate2-1.0.28.tar.gz': '46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e'}, + {'float-cmp-0.9.0.tar.gz': '98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'globset-0.4.14.tar.gz': '57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1'}, + {'globwalk-0.9.1.tar.gz': '0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757'}, + {'half-2.4.0.tar.gz': 'b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e'}, + {'hashbrown-0.14.3.tar.gz': '290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'ignore-0.4.22.tar.gz': 'b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1'}, + {'indexmap-2.2.5.tar.gz': '7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'log-0.4.21.tar.gz': '90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'miniz_oxide-0.7.2.tar.gz': '9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'noodles-bgzf-0.26.0.tar.gz': '8970db2e84adb1007377dd3988258d7a64e3fc4c05602ebf94e1f8cba207c030'}, + {'noodles-core-0.14.0.tar.gz': '7336c3be652de4e05444c9b12a32331beb5ba3316e8872d92bfdd8ef3b06c282'}, + {'noodles-csi-0.30.0.tar.gz': 'a60dfe0919f7ecbd081a82eb1d32e8f89f9041932d035fe8309073c8c01277bf'}, + {'noodles-tabix-0.36.0.tar.gz': 'cc1ab29335a68d0c2bdf41460a67714ca69e23a1cbeb950ac5c38a9afa446a62'}, + {'noodles-vcf-0.49.0.tar.gz': '2e1f2fa749afaccadc596ec55ccb7bdcd8101fa79f8382384223c0dbae3e245b'}, + {'normalize-line-endings-0.3.0.tar.gz': '61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-conv-0.1.0.tar.gz': '51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'num_threads-0.1.7.tar.gz': '5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'powerfmt-0.2.0.tar.gz': '439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'predicates-2.1.5.tar.gz': '59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd'}, + {'predicates-3.1.0.tar.gz': '68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8'}, + {'predicates-core-1.0.6.tar.gz': 'b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174'}, + {'predicates-tree-1.0.9.tar.gz': '368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf'}, + {'pretty_assertions-1.4.0.tar.gz': 'af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66'}, + {'proc-macro2-1.0.79.tar.gz': 'e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e'}, + {'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_xoshiro-0.6.0.tar.gz': '6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.9.0.tar.gz': 'e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd'}, + {'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.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustix-0.38.31.tar.gz': '6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949'}, + {'rustversion-1.0.14.tar.gz': '7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'serde_json-1.0.114.tar.gz': 'c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0'}, + {'similar-2.4.0.tar.gz': '32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21'}, + {'simple_logger-4.3.3.tar.gz': '8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1'}, + {'slog-2.7.0.tar.gz': '8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06'}, + {'slog-async-2.8.0.tar.gz': '72c8038f898a2c79507940990f05386455b3a317d8f18d4caea7cbc3d5096b84'}, + {'slog-json-2.6.1.tar.gz': '3e1e53f61af1e3c8b852eef0a9dee29008f55d6dd63794f3f12cef786cf0f219'}, + {'slog-term-2.9.1.tar.gz': 'b6e022d0b998abfe5c3782c1f03551a596269450ccd677ea51c56f8b214610e8'}, + {'snap-1.1.1.tar.gz': '1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b'}, + {'snapbox-0.4.17.tar.gz': '4b831b6e80fbcd2889efa75b185d24005f85981431495f995292b25836519d84'}, + {'snapbox-macros-0.3.8.tar.gz': 'e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'syn-2.0.52.tar.gz': 'b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07'}, + {'take_mut-0.2.2.tar.gz': 'f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60'}, + {'tempfile-3.10.1.tar.gz': '85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1'}, + {'term-0.7.0.tar.gz': 'c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f'}, + {'termtree-0.4.1.tar.gz': '3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76'}, + {'thiserror-1.0.58.tar.gz': '03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297'}, + {'thiserror-impl-1.0.58.tar.gz': 'c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7'}, + {'thread_local-1.1.8.tar.gz': '8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c'}, + {'time-0.3.34.tar.gz': 'c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749'}, + {'time-core-0.1.2.tar.gz': 'ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3'}, + {'time-macros-0.2.17.tar.gz': '7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'walkdir-2.5.0.tar.gz': '29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b'}, + {'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.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.4.tar.gz': '7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.4.tar.gz': 'bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.4.tar.gz': 'da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.4.tar.gz': 'b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.4.tar.gz': '1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.4.tar.gz': '5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.4.tar.gz': '77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.4.tar.gz': '32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, + {'yansi-0.5.1.tar.gz': '09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec'}, + {'zerocopy-0.7.32.tar.gz': '74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be'}, + {'zerocopy-derive-0.7.32.tar.gz': '9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6'}, +] + +crates = [ + ('ska', version), + ('adler', '1.0.2'), + ('ahash', '0.8.11'), + ('aho-corasick', '1.1.2'), + ('allocator-api2', '0.2.16'), + ('anstream', '0.6.13'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('anyhow', '1.0.81'), + ('argmin', '0.9.0'), + ('argmin-math', '0.3.0'), + ('assert_fs', '1.1.1'), + ('autocfg', '1.1.0'), + ('bincode', '1.3.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('bstr', '1.9.1'), + ('buffer-redux', '1.0.1'), + ('bytecount', '0.6.7'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cc', '1.0.90'), + ('cfg-if', '1.0.0'), + ('ciborium', '0.2.2'), + ('ciborium-io', '0.2.2'), + ('ciborium-ll', '0.2.2'), + ('clap', '4.5.2'), + ('clap_builder', '4.5.2'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('colorchoice', '1.0.0'), + ('colored', '2.1.0'), + ('console', '0.15.8'), + ('crc32fast', '1.4.0'), + ('crossbeam-channel', '0.5.12'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('crunchy', '0.2.2'), + ('deranged', '0.3.11'), + ('diff', '0.1.13'), + ('difflib', '0.4.0'), + ('dirs-next', '2.0.0'), + ('dirs-sys-next', '0.1.2'), + ('doc-comment', '0.3.3'), + ('either', '1.10.0'), + ('encode_unicode', '0.3.6'), + ('equivalent', '1.0.1'), + ('errno', '0.3.8'), + ('fastrand', '2.0.1'), + ('flate2', '1.0.28'), + ('float-cmp', '0.9.0'), + ('getrandom', '0.2.12'), + ('globset', '0.4.14'), + ('globwalk', '0.9.1'), + ('half', '2.4.0'), + ('hashbrown', '0.14.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.9'), + ('ignore', '0.4.22'), + ('indexmap', '2.2.5'), + ('indicatif', '0.17.8'), + ('instant', '0.1.12'), + ('is-terminal', '0.4.12'), + ('itertools', '0.10.5'), + ('itoa', '1.0.10'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.153'), + ('libm', '0.2.8'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.13'), + ('log', '0.4.21'), + ('lzma-sys', '0.1.20'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.7.1'), + ('miniz_oxide', '0.7.2'), + ('ndarray', '0.15.6'), + ('needletail', '0.5.1'), + ('noodles-bgzf', '0.26.0'), + ('noodles-core', '0.14.0'), + ('noodles-csi', '0.30.0'), + ('noodles-tabix', '0.36.0'), + ('noodles-vcf', '0.49.0'), + ('normalize-line-endings', '0.3.0'), + ('num-complex', '0.4.5'), + ('num-conv', '0.1.0'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.18'), + ('num_cpus', '1.16.0'), + ('num_threads', '0.1.7'), + ('number_prefix', '0.4.0'), + ('once_cell', '1.19.0'), + ('paste', '1.0.14'), + ('percent-encoding', '2.3.1'), + ('pkg-config', '0.3.30'), + ('portable-atomic', '1.6.0'), + ('powerfmt', '0.2.0'), + ('ppv-lite86', '0.2.17'), + ('predicates', '2.1.5'), + ('predicates', '3.1.0'), + ('predicates-core', '1.0.6'), + ('predicates-tree', '1.0.9'), + ('pretty_assertions', '1.4.0'), + ('proc-macro2', '1.0.79'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_xoshiro', '0.6.0'), + ('rawpointer', '0.2.1'), + ('rayon', '1.9.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('redox_users', '0.4.4'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.2'), + ('rustix', '0.38.31'), + ('rustversion', '1.0.14'), + ('ryu', '1.0.17'), + ('same-file', '1.0.6'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('serde_json', '1.0.114'), + ('similar', '2.4.0'), + ('simple_logger', '4.3.3'), + ('slog', '2.7.0'), + ('slog-async', '2.8.0'), + ('slog-json', '2.6.1'), + ('slog-term', '2.9.1'), + ('snap', '1.1.1'), + ('snapbox', '0.4.17'), + ('snapbox-macros', '0.3.8'), + ('strsim', '0.11.0'), + ('syn', '2.0.52'), + ('take_mut', '0.2.2'), + ('tempfile', '3.10.1'), + ('term', '0.7.0'), + ('termtree', '0.4.1'), + ('thiserror', '1.0.58'), + ('thiserror-impl', '1.0.58'), + ('thread_local', '1.1.8'), + ('time', '0.3.34'), + ('time-core', '0.1.2'), + ('time-macros', '0.2.17'), + ('unicode-ident', '1.0.12'), + ('unicode-width', '0.1.11'), + ('utf8parse', '0.2.1'), + ('version_check', '0.9.4'), + ('walkdir', '2.5.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('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.4'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.4'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.4'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.4'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.4'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.4'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.4'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.4'), + ('xz2', '0.1.7'), + ('yansi', '0.5.1'), + ('zerocopy', '0.7.32'), + ('zerocopy-derive', '0.7.32'), +] + +builddependencies = [ + ('binutils', '2.39'), + ('Rust', '1.75.0'), +] + +sanity_check_paths = { + 'files': ['bin/ska'], + 'dirs': [], +} + +sanity_check_commands = ["ska --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb b/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb new file mode 100644 index 00000000000..ebf4e97faf6 --- /dev/null +++ b/easybuild/easyconfigs/s/SKESA/SKESA-2.4.0-gompi-2021b_saute.1.3.0_1.eb @@ -0,0 +1,37 @@ +easyblock = 'MakeCp' + +name = 'SKESA' +version = '2.4.0' +versionsuffix = '_saute.1.3.0_1' + +homepage = 'https://github.com/ncbi/SKESA' +description = "SKESA is a de-novo sequence read assembler for cultured single isolate genomes based on DeBruijn graphs." + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'cstd': 'c++11'} + +source_urls = ['https://github.com/ncbi/SKESA/archive/'] +sources = ['skesa.%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['b44c56b16d87b1961e9ee4069468f6b0e850c0cc4c99410f1f5c06b782dee092'] + +dependencies = [ + ('NGS', '2.11.2'), + ('ncbi-vdb', '2.11.2'), + ('Boost', '1.77.0'), +] + +prebuildopts = "touch %(builddir)s/ngs.done && " + +buildopts = 'CC="$CXX" CFLAGS="$CXXFLAGS" ' +buildopts += "NGS_DIR=%(builddir)s BOOST_PATH=$EBROOTBOOST NGS_PATH=$EBROOTNGS VDB_PATH=$EBROOTNCBIMINVDB" + +files_to_copy = [(['skesa'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/skesa'], + 'dirs': [], +} + +sanity_check_commands = ["skesa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.14.2-foss-2020b.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.14.2-foss-2020b.eb new file mode 100644 index 00000000000..87ff7d8c441 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.14.2-foss-2020b.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.14.2' + +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': '2020b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3e54578dda1f4c54d35ac27d02f70a43f6837906cb7604dbcec0e033cfb264c8'] + +dependencies = [('PETSc', '3.14.4')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.15.1-foss-2021a.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.15.1-foss-2021a.eb new file mode 100644 index 00000000000..295fc89a7c2 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.15.1-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.15.1' + +homepage = 'https://www.grycap.upv.es/slepc/' +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': '2021a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9c7c3a45f0d9df51decf357abe090ef05114c38a69b7836386a19a96fb203aea'] + +dependencies = [('PETSc', '3.15.1')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb new file mode 100644 index 00000000000..216e5e154d2 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.17.2-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.17.2' + +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': '2022a'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f784cca83a14156631d6e0f5726ca0778e259e1fe40c927607d5fb12d958d705'] + +dependencies = [('PETSc', '3.17.4')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb new file mode 100644 index 00000000000..1db8a8efa48 --- /dev/null +++ b/easybuild/easyconfigs/s/SLEPc/SLEPc-3.18.2-intel-2021b.eb @@ -0,0 +1,21 @@ +name = 'SLEPc' +version = '3.18.2' + +homepage = 'https://www.grycap.upv.es/slepc/' +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': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +source_urls = ['https://slepc.upv.es/download/distrib'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5bd90a755934e702ab1fdb3320b9fe75ab5fc28c93d364248ea86a372fbe6a62'] + +dependencies = [('PETSc', '3.18.4')] + +petsc_arch = 'installed-arch-linux2-c-opt' + +moduleclass = 'numlib' 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/SLiM/SLiM-4.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SLiM/SLiM-4.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..a83b635112e --- /dev/null +++ b/easybuild/easyconfigs/s/SLiM/SLiM-4.0-GCC-11.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'SLiM' +version = '4.0' + +homepage = 'https://messerlab.org/slim' +description = """SLiM is an evolutionary simulation framework that combines a powerful engine for population + genetic simulations with the capability of modeling arbitrarily complex evolutionary scenarios.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/MesserLab/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use_external_zlib_gsl.patch', +] +checksums = [ + 'd53ce9fc4ac00fa1dc3fc046ac21adb461ead46c1a0c54a72537a74873abf894', # v4.0.tar.gz + '7290f24ec9e04edc696aa85e3b4186cfcffa76b3c9b08bdf379ea00eac578755', # SLiM-4.0_use_external_zlib_gsl.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('GSL', '2.7'), + ('Mesa', '21.1.7'), + ('libglvnd', '1.3.3'), + ('Qt5', '5.15.2'), +] + +configopts = '-DBUILD_SLIMGUI=ON ' + +sanity_check_paths = { + 'files': ['bin/eidos', 'bin/slim'], + 'dirs': [], +} + +sanity_check_commands = [ + "eidos -usage", + "eidos -testEidos", + "slim -usage", + "slim -testSLiM", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SLiM/SLiM-4.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SLiM/SLiM-4.0.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..496b738e7b5 --- /dev/null +++ b/easybuild/easyconfigs/s/SLiM/SLiM-4.0.1-GCC-11.3.0.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakeMake' + +name = 'SLiM' +version = '4.0.1' + +homepage = 'https://messerlab.org/slim' +description = """SLiM is an evolutionary simulation framework that combines a powerful engine for population + genetic simulations with the capability of modeling arbitrarily complex evolutionary scenarios.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/MesserLab/%(name)s/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-4.0_use_external_zlib_gsl.patch', +] +checksums = [ + {'v4.0.1.tar.gz': 'a44564023db372cd438b4e6c729a4ba59200d1217a63b3694ca7903436886cc2'}, + {'SLiM-4.0_use_external_zlib_gsl.patch': '7290f24ec9e04edc696aa85e3b4186cfcffa76b3c9b08bdf379ea00eac578755'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Mesa', '22.0.3'), + ('libglvnd', '1.4.0'), + ('Qt5', '5.15.5'), +] + +configopts = '-DBUILD_SLIMGUI=ON ' + +sanity_check_paths = { + 'files': ['bin/eidos', 'bin/slim'], + 'dirs': [], +} + +sanity_check_commands = [ + "eidos -usage", + "eidos -testEidos", + "slim -usage", + "slim -testSLiM", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SLiM/SLiM-4.0_use_external_zlib_gsl.patch b/easybuild/easyconfigs/s/SLiM/SLiM-4.0_use_external_zlib_gsl.patch new file mode 100644 index 00000000000..894f69dd4f3 --- /dev/null +++ b/easybuild/easyconfigs/s/SLiM/SLiM-4.0_use_external_zlib_gsl.patch @@ -0,0 +1,161 @@ +commit 2ba4892b9327e5d21fdd712e178447d2ecd3665a +Author: Ake Sandgren +Date: Wed Aug 24 08:15:39 2022 +0200 + + Use external Zlib and GSL instead of internal ones. + And use correctly names zlib functions. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 487c7bcd..0aae03ea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -157,18 +157,20 @@ endif() + #endif() + + # GSL +-set(TARGET_NAME gsl) +-file(GLOB_RECURSE GSL_SOURCES ${PROJECT_SOURCE_DIR}/gsl/*.c ${PROJECT_SOURCE_DIR}/gsl/*/*.c) +-set(GSL_INCLUDES ${PROJECT_SOURCE_DIR}/gsl ${PROJECT_SOURCE_DIR}/gsl/specfunc ${PROJECT_SOURCE_DIR}/gsl/blas ${PROJECT_SOURCE_DIR}/gsl/rng ${PROJECT_SOURCE_DIR}/gsl/cdf ${PROJECT_SOURCE_DIR}/gsl/vector ${PROJECT_SOURCE_DIR}/gsl/err ${PROJECT_SOURCE_DIR}/gsl/sys ${PROJECT_SOURCE_DIR}/gsl/randist ${PROJECT_SOURCE_DIR}/gsl/matrix ${PROJECT_SOURCE_DIR}/gsl/cblas ${PROJECT_SOURCE_DIR}/gsl/complex ${PROJECT_SOURCE_DIR}/gsl/block ${PROJECT_SOURCE_DIR}/gsl/linalg) +-add_library(${TARGET_NAME} STATIC ${GSL_SOURCES}) +-target_include_directories(${TARGET_NAME} PUBLIC ${GSL_INCLUDES}) ++# Use external GSL instead ++#set(TARGET_NAME gsl) ++#file(GLOB_RECURSE GSL_SOURCES ${PROJECT_SOURCE_DIR}/gsl/*.c ${PROJECT_SOURCE_DIR}/gsl/*/*.c) ++#set(GSL_INCLUDES ${PROJECT_SOURCE_DIR}/gsl ${PROJECT_SOURCE_DIR}/gsl/specfunc ${PROJECT_SOURCE_DIR}/gsl/blas ${PROJECT_SOURCE_DIR}/gsl/rng ${PROJECT_SOURCE_DIR}/gsl/cdf ${PROJECT_SOURCE_DIR}/gsl/vector ${PROJECT_SOURCE_DIR}/gsl/err ${PROJECT_SOURCE_DIR}/gsl/sys ${PROJECT_SOURCE_DIR}/gsl/randist ${PROJECT_SOURCE_DIR}/gsl/matrix ${PROJECT_SOURCE_DIR}/gsl/cblas ${PROJECT_SOURCE_DIR}/gsl/complex ${PROJECT_SOURCE_DIR}/gsl/block ${PROJECT_SOURCE_DIR}/gsl/linalg) ++#add_library(${TARGET_NAME} STATIC ${GSL_SOURCES}) ++#target_include_directories(${TARGET_NAME} PUBLIC ${GSL_INCLUDES}) + + # ZLIB +-set(TARGET_NAME eidos_zlib) +-file(GLOB_RECURSE ZLIB_SOURCES ${PROJECT_SOURCE_DIR}/eidos_zlib/*.c) +-set(ZLIB_INCLUDES ${PROJECT_SOURCE_DIR}/eidos_zlib) +-add_library(${TARGET_NAME} STATIC ${ZLIB_SOURCES}) +-target_include_directories(${TARGET_NAME} PUBLIC) ++# Use external Zlib instead ++#set(TARGET_NAME eidos_zlib) ++#file(GLOB_RECURSE ZLIB_SOURCES ${PROJECT_SOURCE_DIR}/eidos_zlib/*.c) ++#set(ZLIB_INCLUDES ${PROJECT_SOURCE_DIR}/eidos_zlib) ++#add_library(${TARGET_NAME} STATIC ${ZLIB_SOURCES}) ++#target_include_directories(${TARGET_NAME} PUBLIC) + + # KASTORE + set(TARGET_NAME kastore) +@@ -198,7 +200,7 @@ list(APPEND SLIM_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/GitSHA1.cpp" ${PROJECT_SOU + + add_executable(${TARGET_NAME} ${SLIM_SOURCES}) + target_include_directories(${TARGET_NAME} PRIVATE ${GSL_INCLUDES} "${PROJECT_SOURCE_DIR}/core" "${PROJECT_SOURCE_DIR}/eidos") +-target_link_libraries(${TARGET_NAME} PUBLIC gsl eidos_zlib tables) ++target_link_libraries(${TARGET_NAME} PUBLIC gsl gslcblas z tables) + if(WIN32) + set_source_files_properties(${SLIM_SOURCES} PROPERTIES COMPILE_FLAGS "-include config.h") + set_source_files_properties(${GNULIB_NAMESPACE_SOURCES} TARGET_DIRECTORY slim PROPERTIES COMPILE_FLAGS "-include config.h -DGNULIB_NAMESPACE=gnulib") +@@ -211,7 +213,7 @@ set(TARGET_NAME eidos) + file(GLOB_RECURSE EIDOS_SOURCES ${PROJECT_SOURCE_DIR}/eidos/*.cpp ${PROJECT_SOURCE_DIR}/eidostool/*.cpp) + add_executable(${TARGET_NAME} ${EIDOS_SOURCES}) + target_include_directories(${TARGET_NAME} PRIVATE ${GSL_INCLUDES} "${PROJECT_SOURCE_DIR}/eidos") +-target_link_libraries(${TARGET_NAME} PUBLIC gsl eidos_zlib tables) ++target_link_libraries(${TARGET_NAME} PUBLIC gsl gslcblas z tables) + if(WIN32) + set_source_files_properties(${EIDOS_SOURCES} PROPERTIES COMPILE_FLAGS "-include config.h") + set_source_files_properties(${GNULIB_NAMESPACE_SOURCES} TARGET_DIRECTORY slim eidos PROPERTIES COMPILE_FLAGS "-include config.h -DGNULIB_NAMESPACE=gnulib") +@@ -244,15 +246,15 @@ set_target_properties( ${TARGET_NAME} PROPERTIES LINKER_LANGUAGE CXX) + target_compile_definitions( ${TARGET_NAME} PRIVATE EIDOSGUI=1 SLIMGUI=1) + target_include_directories(${TARGET_NAME} PUBLIC ${GSL_INCLUDES} "${PROJECT_SOURCE_DIR}/QtSLiM" "${PROJECT_SOURCE_DIR}/eidos" "${PROJECT_SOURCE_DIR}/core" "${PROJECT_SOURCE_DIR}/treerec" "${PROJECT_SOURCE_DIR}/treerec/tskit/kastore") + if(APPLE) +- target_link_libraries( ${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl tables eidos_zlib /usr/lib/libobjc.A.dylib ) ++ target_link_libraries( ${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl gslcblas tables z /usr/lib/libobjc.A.dylib ) + else() + if(WIN32) + set_source_files_properties(${QTSLIM_SOURCES} PROPERTIES COMPILE_FLAGS "-include config.h") + set_source_files_properties(${GNULIB_NAMESPACE_SOURCES} TARGET_DIRECTORY slim eidos SLiMgui PROPERTIES COMPILE_FLAGS "-include config.h -DGNULIB_NAMESPACE=gnulib") + target_include_directories(${TARGET_NAME} BEFORE PUBLIC ${GNU_DIR}) +- target_link_libraries(${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl tables eidos_zlib gnu ) ++ target_link_libraries(${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl gslcblas tables z gnu ) + else() +- target_link_libraries( ${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl tables eidos_zlib ) ++ target_link_libraries( ${TARGET_NAME} PUBLIC Qt5::Widgets Qt5::Core Qt5::Gui OpenGL::GL gsl gslcblas tables z ) + endif() + endif() + install(TARGETS ${TARGET_NAME} DESTINATION bin) +diff --git a/eidos/eidos_functions.cpp b/eidos/eidos_functions.cpp +index 4f52c763..ac9de199 100644 +--- a/eidos/eidos_functions.cpp ++++ b/eidos/eidos_functions.cpp +@@ -55,11 +55,11 @@ + + #include "string.h" + +-#include "gsl_linalg.h" +-#include "gsl_errno.h" +-#include "gsl_cdf.h" ++#include ++#include ++#include + +-#include "../eidos_zlib/zlib.h" ++#include + + #include "eidos_globals.h" + #if EIDOS_ROBIN_HOOD_HASHING +@@ -11475,7 +11475,7 @@ EidosValue_SP Eidos_ExecuteFunction_writeTempFile(const std::vector + + // for Eidos_calc_sha_256() + #include + + // for _Eidos_FlushZipBuffer() +-#include "../eidos_zlib/zlib.h" ++#include + + // for Eidos_ColorPaletteLookup() + #include "eidos_tinycolormap.h" +@@ -1570,7 +1570,7 @@ bool _Eidos_FlushZipBuffer(const std::string &file_path, const std::string &outs + { + //std::cout << "_Eidos_FlushZipBuffer() called for " << file_path << std::endl; + +- gzFile gzf = z_gzopen(file_path.c_str(), "ab"); ++ gzFile gzf = gzopen(file_path.c_str(), "ab"); + + if (!gzf) + return false; +@@ -1678,7 +1678,7 @@ void Eidos_WriteToFile(const std::string &p_file_path, std::vector ++#include + + #include + #include diff --git a/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb new file mode 100644 index 00000000000..d72d6e89e6b --- /dev/null +++ b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5-foss-2022a.eb @@ -0,0 +1,84 @@ +easyblock = 'PythonBundle' + +name = 'SMAP' +version = '4.6.5' + +homepage = 'https://ngs-smap.readthedocs.io' +description = "SMAP is an analysis tool for stack-based NGS read mapping" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Autotools', '20220317'), # required for isal +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # for pandas + ('matplotlib', '3.5.2'), + ('BEDTools', '2.30.0'), + ('pybedtools', '0.9.0'), + ('Pysam', '0.19.1'), + ('Biopython', '1.79'), + ('openpyxl', '3.0.10'), + ('plotly.py', '5.12.0'), +] + +use_pip = True + +exts_list = [ + ('setuptools', '67.6.1', { + 'checksums': ['257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a'], + }), + ('colorlog', '6.7.0', { + 'checksums': ['bd94bd21c1e13fac7bd3153f4bc3a7dc0eb0974b8bc2fdf1a989e474f6e582e5'], + }), + ('primer3-py', '1.2.0', { + 'checksums': ['9e511e90987d4beda11f1f065b81805bc0c26a08084154e87fda46136ecf7518'], + 'modulename': 'primer3', + }), + ('dnaio', '0.10.0', { + 'checksums': ['de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18'], + }), + ('isal', '1.1.0', { + 'checksums': ['1364f4e3255a57d51c01422ab3ae785a43c076d516ebf49f6a25adecf8232105'], + }), + ('xopen', '1.7.0', { + 'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'], + }), + # smap-haplotype-window 1.8.1 requires cutadapt <= 4.1 (requires cutadapt.utils.reverse_complemented_sequence) + ('cutadapt', '4.1', { + 'checksums': ['be745ff24adfb4a3eaf715dfad0e2ccdfad7792ef00c1122adf4fbf3aed9227b'], + }), + ('ngs-smap', version, { + 'patches': ['SMAP-4.6.5_no-bin-bedtools.patch'], + 'checksums': [ + {'ngs-smap-4.6.5.tar.gz': 'bd6fd5a9fb5be66c5d21410376ed6b13eeb23da040c498d60dad6a8fb45d9d5e'}, + {'SMAP-4.6.5_no-bin-bedtools.patch': 'a43460694378628129d2cd3373e850fccb2ca330680f6fea3e31db9e4589d7ca'}, + ], + 'preinstallopts': "rm bin/bedtools && sed -i 's/~=/>=/g' setup.cfg && ", + 'modulename': 'smap', + }), + ('smap-haplotype-window', '1.8.1', { + 'checksums': ['5e244ecec8cb798d294014378c735dd2ab3d32f8266c7d161cf733099715fbbe'], + 'modulename': 'smap_window', + }), + ('gffpandas', '1.2.0', { + 'checksums': ['1a1e1c5c5120bf46ec57517222ebb42ffaab3f768c972fec54c4ac1b07b7f0c6'], + }), + ('smap-effect-prediction', '0.1.2', { + 'checksums': ['af16135eb3a2d9c22287a06d595010c46957711358734d73daaa21059ac27ca2'], + 'preinstallopts': "sed -i 's/~=/>=/g' setup.cfg && ", + }), +] + +sanity_check_paths = { + 'files': ['bin/smap'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["smap compare --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch new file mode 100644 index 00000000000..a895ac74cab --- /dev/null +++ b/easybuild/easyconfigs/s/SMAP/SMAP-4.6.5_no-bin-bedtools.patch @@ -0,0 +1,15 @@ +don't install pre-compiled 'bedtools' binary, since BEDTools is provided as a proper dependency via EasyBuild +author: Kenneth Hoste (HPC-UGent) +--- ngs-smap-4.6.5/setup.cfg.orig 2022-10-11 09:59:22.522325500 +0200 ++++ ngs-smap-4.6.5/setup.cfg 2023-04-07 16:48:58.434620448 +0200 +@@ -49,10 +49,6 @@ + sphinx_rtd_theme~=1.0.0 + sphinx-tabs~=3.2.0 + +-[options.data_files] +-bin = +- bin/bedtools +- + [egg_info] + tag_build = + tag_date = 0 diff --git a/easybuild/easyconfigs/s/SMC++/SMC++-1.15.4-foss-2022a.eb b/easybuild/easyconfigs/s/SMC++/SMC++-1.15.4-foss-2022a.eb new file mode 100644 index 00000000000..8d45cebda15 --- /dev/null +++ b/easybuild/easyconfigs/s/SMC++/SMC++-1.15.4-foss-2022a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'SMC++' +version = '1.15.4' + +homepage = 'https://github.com/popgenmethods/smcpp' +description = "SMC++ is a program for estimating the size history of populations from whole genome sequence data." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('tqdm', '4.64.0'), + ('Pysam', '0.19.1'), + ('scikit-learn', '1.1.2'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('GSL', '2.7'), +] + +use_pip = True + +exts_list = [ + (name, version, { + # git metadata is required by setup.py, so obtain source tarball via 'git clone' + 'sources': [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/popgenmethods', + 'repo_name': 'smcpp', + 'tag': 'v%(version)s', + 'keep_git_dir': True, + }, + }], + 'checksums': [None], + 'modulename': 'smcpp', + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/smc++'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "smc++ version", + "smc++ -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-12.0.0.177059-cli-tools-only.eb b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-12.0.0.177059-cli-tools-only.eb new file mode 100644 index 00000000000..0aca88b8fe6 --- /dev/null +++ b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-12.0.0.177059-cli-tools-only.eb @@ -0,0 +1,44 @@ +# 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 + +easyblock = 'Binary' + +name = "SMRT-Link" +version = "12.0.0.177059" +versionsuffix = '-cli-tools-only' + +homepage = 'https://www.pacb.com/support/software-downloads/' +description = """PacBio's open-source SMRT Analysis software suite is designed for use with Single Molecule, + Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI + or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through + the extensive set of APIs provided""" + +toolchain = SYSTEM + +download_instructions = """The download is a password protected zip file +Download it from https://www.pacb.com/support/software-downloads/ and uncompress +the .run file to your sources folder""" +sources = ['smrtlink_%(version)s.run'] +checksums = ['95dadf8c5435d55724e43a290144322c32c9c9cf8b4f1e54c1a7a6f3ec368fbe'] + +install_cmd = "%(builddir)s/smrtlink_%(version)s.run --rootdir %(installdir)s --smrttools-only" + +cleanupoldinstall = True +dontcreateinstalldir = True + +modextravars = { + 'SMRT_ROOT': '%(installdir)s', +} + +modextrapaths = { + 'PATH': ['smrtcmds/bin', 'smrtcmds/developer/bin', 'admin/bin'], +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['install', 'userdata'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-5.1.0.26412-cli-tools-only.eb b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-5.1.0.26412-cli-tools-only.eb index 31ee46ea3af..9011162749b 100644 --- a/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-5.1.0.26412-cli-tools-only.eb +++ b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-5.1.0.26412-cli-tools-only.eb @@ -10,7 +10,7 @@ version = '5.1.0.26412' versionsuffix = '-cli-tools-only' homepage = 'https://www.pacb.com/support/software-downloads/' -description = """PacBio’s open-source SMRT Analysis software suite is designed for use with Single Molecule, +description = """PacBio's open-source SMRT Analysis software suite is designed for use with Single Molecule, Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through the extensive set of APIs provided""" diff --git a/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-6.0.0.47841-cli-tools-only.eb b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-6.0.0.47841-cli-tools-only.eb index ac28bf1d4f0..e107ae7fc61 100644 --- a/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-6.0.0.47841-cli-tools-only.eb +++ b/easybuild/easyconfigs/s/SMRT-Link/SMRT-Link-6.0.0.47841-cli-tools-only.eb @@ -1,7 +1,7 @@ # 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 +# SIB Swiss Institute of Bioinformatics easyblock = 'Binary' @@ -10,9 +10,9 @@ version = "6.0.0.47841" versionsuffix = '-cli-tools-only' homepage = 'https://www.pacb.com/support/software-downloads/' -description = """PacBio’s open-source SMRT Analysis software suite is designed for use with Single Molecule, - Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI - or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through +description = """PacBio's open-source SMRT Analysis software suite is designed for use with Single Molecule, + Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI + or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through the extensive set of APIs provided""" toolchain = SYSTEM diff --git a/easybuild/easyconfigs/s/SMV/SMV-6.7.17-iccifort-2020.4.304.eb b/easybuild/easyconfigs/s/SMV/SMV-6.7.17-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..484357754ef --- /dev/null +++ b/easybuild/easyconfigs/s/SMV/SMV-6.7.17-iccifort-2020.4.304.eb @@ -0,0 +1,73 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author:: Denis Kristak (INUITS) +## + +easyblock = 'MakeCp' + +name = 'SMV' # SmokeView +version = '6.7.17' + +homepage = 'https://github.com/firemodels/smv' +description = """Smokeview is a visualization program that displays output of FDS and CFAST simulations.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://github.com/firemodels/%(name)s/archive/refs/tags/'] +sources = ['%(name)s%(version)s.tar.gz'] +patches = [ + 'SMV-%(version)s_missing-includes.patch', + ('example.smv', '.'), # example file for sanity check +] +checksums = [ + '2e718af991e48228bf374fdefcce00d2e8b5827cc29ae2138ae267fda896f127', # SMV6.7.17.tar.gz + '2b287f3e6ff368422684bd887568a369b9db3426a94efefcccc7680392b742ab', # SMV-6.7.17_missing-includes.patch + '1adf7dcc5293ec7a5f7ec01a828dec88b4ddd025505167b4e361d9450f66ea59', # example.smv +] + +dependencies = [ + ('libgd', '2.3.0'), + ('freeglut', '3.2.1'), + ('libjpeg-turbo', '2.0.5'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('Lua', '5.4.2'), + ('LPeg', '1.0.2'), + ('libGLU', '9.0.1'), + ('glew', '2.1.0'), + ('Xvfb', '1.20.9'), +] + +local_buildopts = ' -lglui -lglut -lfreeglut -lGLU -lGL -llibgd ' +local_buildopts += ' LDFLAGS=" -L%(installdir)s -L$EBROOTFREEGLUT/lib -L$EBROOTLIBGD/lib " ' +local_buildopts += ' IFLAGS=" -I$EBROOTFREEGLUT/include/GL -I%(builddir)s/smv-SMV%(version)s/Source/glui_v2_1_beta/ ' +local_buildopts += ' -I%(builddir)s/smv-SMV%(version)s/Source/glui_gl/GL/glut.h "' +local_buildopts += ' EB_L_PATH=%(installdir)s ' +local_buildopts += ' CFLAGS="-Dpp_LINUX" ' + +prebuildopts = "cd %(builddir)s/smv-SMV%(version)s/Build/LIBS/intel_linux_64/ && " +prebuildopts += " make all -f make_LIBS.make " +prebuildopts += "SRCDIR=%(builddir)s/smv-SMV%(version)s/Source/ LIBDIR=%(installdir)s && " +prebuildopts += "cd %(builddir)s/smv-SMV%(version)s/Build/smokeview/ && " +prebuildopts += "export IFORT_COMPILER_LIB=$EBROOTICCIFORT/lib64/intel64/ && " + +buildopts = ' intel_linux_64 ' + local_buildopts + +files_to_copy = [ + (["./Build/smokeview/*.o", "./Build/smokeview/smokeview_linux_64*"], 'bin'), +] + +postinstallcmds = [ + 'ln -s %(installdir)s/bin/smokeview_linux_64 %(installdir)s/bin/smokeview' +] + +sanity_check_commands = [ + "cd %(builddir)s/smv-SMV%(version)s && timeout 10 xvfb-run smokeview example 2>&1 | grep 'Terminated' ", +] + +sanity_check_paths = { + 'files': ['bin/smokeview'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SMV/SMV-6.7.17_missing-includes.patch b/easybuild/easyconfigs/s/SMV/SMV-6.7.17_missing-includes.patch new file mode 100644 index 00000000000..f5a1c45d4a6 --- /dev/null +++ b/easybuild/easyconfigs/s/SMV/SMV-6.7.17_missing-includes.patch @@ -0,0 +1,315 @@ +author: Denis Kristak (Inuits) +correct relative paths in makefiles, add missing includes, prevent unnecessary SW from installing, fix compilation flags +diff -ruN smv-SMV6.7.17_orig/Build/LIBS/intel_linux_64/make_LIBS.make smv-SMV6.7.17/Build/LIBS/intel_linux_64/make_LIBS.make +--- smv-SMV6.7.17_orig/Build/LIBS/intel_linux_64/make_LIBS.make 2021-10-11 15:54:47.661332000 +0200 ++++ smv-SMV6.7.17/Build/LIBS/intel_linux_64/make_LIBS.make 2021-10-14 13:59:41.548566000 +0200 +@@ -1,18 +1,12 @@ + OPTS="-I $*" +-LIBDIR=$(shell pwd) +-SRCDIR=$(LIBDIR)/../../../Source ++LIBDIR?=$(shell pwd) ++SRCDIR?=$(LIBDIR)/../../../Source + +-all: libgd.a libglui.a libglut.a libjpeg.a libpng.a libz.a +- +-# GD +-libgd.a: +- @echo $(LIBDIR) +- cd $(SRCDIR)/gd-2.0.15; \ +- ./makelib.sh $(OPTS); \ +- cp libgd.a $(LIBDIR)/. ++all: libglui.a libglut.a + + # GLUI + libglui.a: ++ @echo $(LIBDIR); + cd $(SRCDIR)/glui_v2_1_beta; \ + ./makelib.sh $(OPTS); \ + cp libglui.a $(LIBDIR)/. +@@ -24,38 +18,4 @@ + ./makelib.sh $(OPTS); \ + cp libglut.a $(LIBDIR)/. + +-# JPEG +-libjpeg.a: +- cd $(SRCDIR)/jpeg-9b; \ +- ./makelib.sh $(OPTS); \ +- cp libjpeg.a $(LIBDIR)/. +- +-# PNG +-libpng.a: +- cd $(SRCDIR)/png-1.6.21; \ +- ./makelib.sh $(OPTS); \ +- cp libpng.a $(LIBDIR)/. +- +-# ZLIB +-libz.a: +- cd $(SRCDIR)/zlib128; \ +- ./makelib.sh $(OPTS); \ +- cp libz.a $(LIBDIR)/. +- +-# Lua # Lua interpreter +-liblua.a: +- cd $(SRCDIR)/lua-5.3.1; \ +- export TARGET=linux; \ +- ./makelib.sh $(OPTS); \ +- cp src/liblua.a $(LIBDIR)/. +- +-# LPEG # Lua parsing libarary to parse SSF files +-# This depends on lua being built first +-lpeg.so: liblua.a +- cd $(SRCDIR)/lpeg-1.0.0; \ +- pwd; \ +- export TARGET=linux; \ +- ./makelib.sh $(OPTS); \ +- cp lpeg.so $(LIBDIR)/. +- + .PHONY: all +diff -ruN smv-SMV6.7.17_orig/Build/smokeview/Makefile smv-SMV6.7.17/Build/smokeview/Makefile +--- smv-SMV6.7.17_orig/Build/smokeview/Makefile 2021-10-11 15:54:45.856668000 +0200 ++++ smv-SMV6.7.17/Build/smokeview/Makefile 2021-10-11 14:19:20.498029000 +0200 +@@ -3,8 +3,8 @@ + + #To use this Makefile cd to a sub-directory and type make_smv.sh or make_smv.bat + +-SOURCE_DIR = ../../../Source/ +-BUILD_DIR = ../../../Build ++SOURCE_DIR = ../../Source/ ++BUILD_DIR = ../../Build + LIB_DIR = $(BUILD_DIR)/LIBS + + # Set the C standard we are using. Currently this is just the appropriate flag +@@ -18,27 +18,16 @@ + SMV_PROFILESTRING = + COMP_VERSION = + LUA_SCRIPTING = +-ifeq ($(shell echo "check_quotes"),"check_quotes") +- GIT_HASH := $(shell ..\..\..\Utilities\Scripts\githash) +- GIT_DATE := $(shell ..\..\..\Utilities\Scripts\gitlog) +- GIT_BRANCH := $(shell ..\..\..\Utilities\Scripts\gitbranch) +-else +- GLIBVERS := $(shell echo $(GLIBVERS)) +- GIT_HASH := $(shell git describe --long --dirty) +- GIT_DATE := $(shell git log -1 --format=%cd) +- GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD) +-endif +-GITINFO=-Dpp_GITHASH=\"$(GIT_HASH)-$(GIT_BRANCH)\" -Dpp_GITDATE=\""$(GIT_DATE)\"" + + ifeq ($(shell echo "check_quotes"),"check_quotes") +- INTEL_COMPVERSION := $(shell ..\..\..\Utilities\Scripts\intel_compversion) +- GNU_COMPVERSION := $(shell ..\..\..\Utilities\Scripts\gnu_compversion) ++ INTEL_COMPVERSION := $(shell ..\..\Utilities\Scripts\intel_compversion) ++ GNU_COMPVERSION := $(shell ..\..\Utilities\Scripts\gnu_compversion) + else +- INTEL_COMPVERSION := $(shell ../../../Utilities/Scripts/intel_compversion.sh) +- GNU_COMPVERSION := $(shell ../../../Utilities/Scripts/gnu_compversion.sh) ++ INTEL_COMPVERSION := $(shell ../../Utilities/Scripts/intel_compversion.sh) ++ GNU_COMPVERSION := $(shell ../../Utilities/Scripts/gnu_compversion.sh) + endif +-INTEL_COMPINFO=-Dpp_COMPVER=\"$(INTEL_COMPVERSION)\" +-GNU_COMPINFO=-Dpp_COMPVER=\"$(GNU_COMPVERSION)\" ++ INTEL_COMPINFO=-Dpp_COMPVER=\"$(INTEL_COMPVERSION)\" ++ GNU_COMPINFO=-Dpp_COMPVER=\"$(GNU_COMPVERSION)\" + + .rc.obj: + windres $< -o $@ +@@ -84,7 +73,7 @@ + + objwin = $(obj:.o=.obj) + +-INC += -I $(SOURCE_DIR)/glui_v2_1_beta -I $(SOURCE_DIR)/gd-2.0.15 -I $(SOURCE_DIR)/shared -I $(SOURCE_DIR)/smokeview -I $(SOURCE_DIR)/glew -I $(SOURCE_DIR)/zlib128 ++INC += -I $(SOURCE_DIR)/glui_v2_1_beta -I$(EBROOTLIBGD)/include -I $(SOURCE_DIR)/shared -I $(SOURCE_DIR)/smokeview -I $(EBROOTGLEW)/include/GL -I $(EBROOTZLIB)/include + + # windows include directories + +@@ -175,7 +164,7 @@ + + intel_win_64_db : INC += $(WININC) -I $(SOURCE_DIR)/shared -I $(SOURCE_DIR)/smokeview + intel_win_64_db : FFLAGS = /Od /iface:stdref /fpp -D WIN32 /Zi /nologo /fpscomp:general /debug:full /extend_source:132 /warn:unused /warn:nointerfaces /Qtrapuv /fp:strict /fp:except /traceback /check:all /stand:f18 +-intel_win_64_db : CFLAGS = /Od /W4 /debug:full /Zi -D _DEBUG -D WIN32 -D _CONSOLE -D X64 -D GLEW_STATIC -D PTW32_STATIC_LIB $(SMV_TESTFLAG) $(GITINFO) $(INTEL_COMPINFO) ++intel_win_64_db : CFLAGS = /Od /W4 /debug:full /Zi -D _DEBUG -D WIN32 -D _CONSOLE -D X64 -D GLEW_STATIC -D PTW32_STATIC_LIB $(SMV_TESTFLAG) $(INTEL_COMPINFO) + ifeq ($(GLUT),freeglut) + intel_win_64_db : CFLAGS += -D FREEGLUT_STATIC + endif +@@ -195,7 +184,7 @@ + intel_win_64 : INC += -I $(SOURCE_DIR)/lua-5.3.1/src + endif + intel_win_64 : FFLAGS = -O2 /iface:stdref /fpp -D WIN32 /fpscomp:general /stand:f18 +-intel_win_64 : CFLAGS = -O1 -D WIN32 -D _CONSOLE -D X64 -D GLEW_STATIC -D PTW32_STATIC_LIB $(SMV_TESTFLAG) $(GITINFO) $(INTEL_COMPINFO) ++intel_win_64 : CFLAGS = -O1 -D WIN32 -D _CONSOLE -D X64 -D GLEW_STATIC -D PTW32_STATIC_LIB $(SMV_TESTFLAG) $(INTEL_COMPINFO) + ifeq ($(GLUT),freeglut) + intel_win_64 : CFLAGS += -D FREEGLUT_STATIC + endif +@@ -219,7 +208,7 @@ + + gnu_win_64 : INC += -I $(SOURCE_DIR)/glui_gl -I $(SOURCE_DIR)/shared -I $(SOURCE_DIR)/smokeview + gnu_win_64 : FFLAGS = -O0 -m64 -x f95-cpp-input -D pp_GCC -ffree-form -frecord-marker=4 $(SMV_PROFILEFLAG) +-gnu_win_64 : CFLAGS = -O0 -m64 $(D_FREEGLUT) -D GLEW_STATIC -D WIN32 -D pp_GCC -D __MINGW32__ -fno-builtin -Wno-write-strings $(GITINFO) $(GNU_COMPINFO) $(SMV_PROFILEFLAG) ++gnu_win_64 : CFLAGS = -O0 -m64 $(D_FREEGLUT) -D GLEW_STATIC -D WIN32 -D pp_GCC -D __MINGW32__ -fno-builtin -Wno-write-strings $(GNU_COMPINFO) $(SMV_PROFILEFLAG) + gnu_win_64 : LFLAGS = -m64 $(SMV_LIBS_GNU) -lgfortran -lm -lopengl32 -lglu32 -lgdi32 -lwinmm -lcomdlg32 -lhid -lquadmath $(SMV_PROFILEFLAG) + gnu_win_64 : CC = gcc + gnu_win_64 : CPP = g++ +@@ -241,7 +230,7 @@ + + gnu_win_64_db : INC += -I $(SOURCE_DIR)/glui_gl -I $(SOURCE_DIR)/shared -I $(SOURCE_DIR)/smokeview + gnu_win_64_db : FFLAGS = -O0 -m64 -x f95-cpp-input -D _DEBUG -D pp_GCC -ffree-form -frecord-marker=4 $(SMV_PROFILEFLAG) +-gnu_win_64_db : CFLAGS = -O0 -m64 -g -Wunused-label -Wunused-value -Wunused-variable $(D_FREEGLUT) $(SMV_PROFILEFLAG) -D GLEW_STATIC -D WIN32 -D pp_GCC -D __MINGW32__ -fno-builtin -Wno-write-strings $(GITINFO) $(GNU_COMPINFO) ++gnu_win_64_db : CFLAGS = -O0 -m64 -g -Wunused-label -Wunused-value -Wunused-variable $(D_FREEGLUT) $(SMV_PROFILEFLAG) -D GLEW_STATIC -D WIN32 -D pp_GCC -D __MINGW32__ -fno-builtin -Wno-write-strings $(GNU_COMPINFO) + gnu_win_64_db : LFLAGS = -m64 $(SMV_LIBS_GNU) -lgfortran -lm -lopengl32 -lglu32 -lgdi32 -lwinmm -lcomdlg32 -lhid -lquadmath $(SMV_PROFILEFLAG) + gnu_win_64_db : CC = gcc + gnu_win_64_db : CPP = g++ +@@ -269,7 +258,7 @@ + + intel_linux_64 : LIB_DIR_PLAT = $(LIB_DIR)/intel_linux_64 + intel_linux_64 : FFLAGS = -O0 -traceback -m64 -static-intel -fpp -stand:f18 $(SMV_PROFILEFLAG) +-intel_linux_64 : CFLAGS = -O0 -traceback -m64 -static-intel -D pp_LINUX $(SMV_TESTFLAG) $(SMV_PROFILEFLAG) $(GITINFO) $(INTEL_COMPINFO) ++intel_linux_64 : CFLAGS = -O0 -traceback -m64 -static-intel -D pp_LINUX $(SMV_TESTFLAG) $(SMV_PROFILEFLAG) $(INTEL_COMPINFO) + intel_linux_64 : LIBLUA = + ifeq ($(LUA_SCRIPTING),true) + intel_linux_64 : CFLAGS += -D pp_LUA +@@ -283,12 +272,12 @@ + intel_linux_64 : exe = smokeview_linux_$(SMV_TESTSTRING)64$(SMV_PROFILESTRING) + + intel_linux_64 : $(obj) $(if $(LUA_SCRIPTING),smvluacore) +- $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L$(LIB_DIR_PLAT) $(SMV_LIBS_LINUX) $(INTEL_LIBS_LINUX) $(SYSTEM_LIBS_LINUX) $(LIBLUA) ++ $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L$(LIB_DIR_PLAT) -L$(EB_L_PATH) $(SMV_LIBS_LINUX) $(INTEL_LIBS_LINUX) $(SYSTEM_LIBS_LINUX) $(LIBLUA) + + # ------------- intel_linux_64_db ---------------- + + intel_linux_64_db : FFLAGS = -O0 -m64 -static-intel -traceback -g -fpe0 -fltconsistency -WB -fpp -stand:f18 $(SMV_PROFILEFLAG) +-intel_linux_64_db : CFLAGS = -O0 -g -m64 -static-intel $(SMV_TESTFLAG) -D _DEBUG -D pp_LINUX $(SMV_PROFILEFLAG) -traceback -Wall -Wextra -check=stack,uninit -fp-stack-check -fp-trap-all=divzero,invalid,overflow -ftrapuv -Wuninitialized -Wunused-function -Wunused-variable $(GITINFO) $(INTEL_COMPINFO) ++intel_linux_64_db : CFLAGS = -O0 -g -m64 -static-intel $(SMV_TESTFLAG) -D _DEBUG -D pp_LINUX $(SMV_PROFILEFLAG) -traceback -Wall -Wextra -check=stack,uninit -fp-stack-check -fp-trap-all=divzero,invalid,overflow -ftrapuv -Wuninitialized -Wunused-function -Wunused-variable $(INTEL_COMPINFO) + intel_linux_64_db : LFLAGS = -m64 -static-intel -no-cilk $(INTEL_LIBS_LINUX) -traceback $(SMV_PROFILEFLAG) + intel_linux_64_db : CC = icc + intel_linux_64_db : CPP = icpc +@@ -296,13 +285,13 @@ + intel_linux_64_db : exe = smokeview_linux_$(SMV_TESTSTRING)64_db$(SMV_PROFILESTRING) + + intel_linux_64_db : $(obj) +- $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L$(LIB_DIR)/intel_linux_64 $(SMV_LIBS_LINUX) $(INTEL_LIBS_LINUX) $(SYSTEM_LIBS_LINUX) ++ $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L$(LIB_DIR)/intel_linux_64 $(SMV_LIBS_LINUX) $(INTEL_LIBS_LINUX) $(SYSTEM_LIBS_LINUX) -L$(EB_L_PATH) + + # ------------- gnu_linux_64_db ---------------- + + gnu_linux_64_db : LIB_DIR_PLAT = $(LIB_DIR)/gnu_linux_64 + gnu_linux_64_db : FFLAGS = -O0 -m64 -ggdb -Wall -x f95-cpp-input -D pp_GCC -ffree-form -frecord-marker=4 -fcheck=all -fbacktrace $(SMV_PROFILEFLAG) +-gnu_linux_64_db : CFLAGS = -O0 -m64 -ggdb -Wall -Wno-parentheses -Wno-unknown-pragmas -Wno-comment -Wno-write-strings -D _DEBUG -D pp_LINUX -D pp_GCC $(SMV_TESTFLAG) $(GNU_COMPINFO) $(GITINFO) $(SMV_PROFILEFLAG) ++gnu_linux_64_db : CFLAGS = -O0 -m64 -ggdb -Wall -Wno-parentheses -Wno-unknown-pragmas -Wno-comment -Wno-write-strings -D _DEBUG -D pp_LINUX -D pp_GCC $(SMV_TESTFLAG) $(GNU_COMPINFO) $(SMV_PROFILEFLAG) + ifeq ($(LUA_SCRIPTING),true) + gnu_linux_64_db : CFLAGS += -D pp_LUA + gnu_linux_64_db : SMVLUACORE_FILES += $(LIB_DIR_PLAT)/lpeg.so +@@ -315,14 +304,14 @@ + + gnu_linux_64_db : $(obj) + $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L $(LIB_DIR_PLAT) \ +- $(SMV_LIBS_LINUX) -lgfortran $(SYSTEM_LIBS_LINUX) \ ++ $(SMV_LIBS_LINUX) -lgfortran $(SYSTEM_LIBS_LINUX) -L$(EB_L_PATH) \ + $(if $(LUA_SCRIPTING),$(LIB_DIR_PLAT)/liblua.a -ldl) + + # ------------- gnu_linux_64 ---------------- + + gnu_linux_64 : LIB_DIR_PLAT = $(LIB_DIR)/gnu_linux_64 + gnu_linux_64 : FFLAGS = -O0 -m64 -ggdb -Wall -x f95-cpp-input -D pp_GCC -ffree-form -frecord-marker=4 -fcheck=all -fbacktrace $(SMV_PROFILEFLAG) +-gnu_linux_64 : CFLAGS = -O0 -m64 -ggdb -Wall -Wno-parentheses -Wno-unknown-pragmas -Wno-comment -Wno-write-strings -D pp_LINUX -D pp_GCC $(SMV_TESTFLAG) $(GNU_COMPINFO) $(GITINFO) $(SMV_PROFILEFLAG) ++gnu_linux_64 : CFLAGS = -O0 -m64 -ggdb -Wall -Wno-parentheses -Wno-unknown-pragmas -Wno-comment -Wno-write-strings -D pp_LINUX -D pp_GCC $(SMV_TESTFLAG) $(GNU_COMPINFO) $(SMV_PROFILEFLAG) + ifeq ($(LUA_SCRIPTING),true) + gnu_linux_64 : CFLAGS += -D pp_LUA + gnu_linux_64 : SMVLUACORE_FILES += $(LIB_DIR_PLAT)/lpeg.so +@@ -335,7 +324,7 @@ + + gnu_linux_64 : $(obj) $(if $(LUA_SCRIPTING),smvluacore) + $(CPP) -o $(bin)/$(exe) $(obj) $(LFLAGS) -L $(LIB_DIR_PLAT) \ +- $(SMV_LIBS_LINUX) -lgfortran $(SYSTEM_LIBS_LINUX) \ ++ $(SMV_LIBS_LINUX) -lgfortran $(SYSTEM_LIBS_LINUX) -L$(EB_L_PATH) \ + $(if $(LUA_SCRIPTING),$(LIB_DIR_PLAT)/liblua.a -ldl) + + # ------------- mingw_win_64 ---------------- +@@ -385,7 +374,7 @@ + # ------------- intel_osx_64 ---------------- + + intel_osx_64 : FFLAGS = -O0 -m64 -traceback -static-intel -fpp -D pp_OSX -mmacosx-version-min=10.9 -stand:f18 +-intel_osx_64 : CFLAGS = -O0 -m64 -I $(SOURCE_DIR)/glui_gl -traceback -static-intel -D pp_OSX $(SMV_TESTFLAG) $(GITINFO) $(INTEL_COMPINFO) -mmacosx-version-min=10.9 ++intel_osx_64 : CFLAGS = -O0 -m64 -I $(SOURCE_DIR)/glui_gl -traceback -static-intel -D pp_OSX $(SMV_TESTFLAG) $(INTEL_COMPINFO) -mmacosx-version-min=10.9 + intel_osx_64 : LIBLUA = + ifeq ($(LUA_SCRIPTING),true) + intel_osx_64 : CFLAGS += -D pp_LUA +@@ -415,7 +404,7 @@ + # ------------- intel_osx_64_db ---------------- + + intel_osx_64_db : FFLAGS = -O0 -g -m64 -traceback -static-intel -fpp -D pp_OSX -mmacosx-version-min=10.9 -stand:f18 +-intel_osx_64_db : CFLAGS = -O0 -g -m64 -I $(SOURCE_DIR)/glui_gl -traceback -static-intel -D _DEBUG -D pp_OSX $(SMV_TESTFLAG) $(GITINFO) $(INTEL_COMPINFO) -mmacosx-version-min=10.9 ++intel_osx_64_db : CFLAGS = -O0 -g -m64 -I $(SOURCE_DIR)/glui_gl -traceback -static-intel -D _DEBUG -D pp_OSX $(SMV_TESTFLAG) $(INTEL_COMPINFO) -mmacosx-version-min=10.9 + intel_osx_64_db : LIBLUA = + ifeq ($(LUA_SCRIPTING),true) + intel_osx_64_db : CFLAGS += -D pp_LUA +@@ -444,7 +433,7 @@ + # ------------- gnu_osx_64_db ---------------- + + gnu_osx_64_db : FFLAGS = -O0 -m64 -x f95-cpp-input -D pp_GCC -ffree-form $(SMV_PROFILEFLAG) +-gnu_osx_64_db : CFLAGS = -O0 -ggdb -m64 -D _DEBUG -D pp_OSX -D pp_GCC $(SMV_TESTFLAG) -Wall -Wno-comment -Wno-deprecated-declarations -Wno-write-strings $(GNU_COMPINFO) $(GITINFO) $(SMV_PROFILEFLAG) ++gnu_osx_64_db : CFLAGS = -O0 -ggdb -m64 -D _DEBUG -D pp_OSX -D pp_GCC $(SMV_TESTFLAG) -Wall -Wno-comment -Wno-deprecated-declarations -Wno-write-strings $(GNU_COMPINFO) $(SMV_PROFILEFLAG) + gnu_osx_64_db : LFLAGS = -m64 -L$(LIB_DIR)/gnu_osx_64 $(SMV_LIBS_OSX) $(GLIBDIROPT) -lgfortran $(SMV_PROFILEFLAG) + ifeq ($(GLUT),freeglut) + gnu_osx_64_db : LFLAGS += -L /opt/X11/lib -lX11 -lXmu -lGLU -lGL +@@ -467,7 +456,7 @@ + # ------------- gnu_osx_64 ---------------- + + gnu_osx_64 : FFLAGS = -O0 -m64 -x f95-cpp-input -D pp_GCC -ffree-form $(SMV_PROFILEFLAG) +-gnu_osx_64 : CFLAGS = -O0 -m64 -D pp_OSX -D pp_GCC $(SMV_TESTFLAG) -Wall -Wno-comment -Wno-deprecated-declarations -Wno-write-strings $(GNU_COMPINFO) $(GITINFO) $(SMV_PROFILEFLAG) ++gnu_osx_64 : CFLAGS = -O0 -m64 -D pp_OSX -D pp_GCC $(SMV_TESTFLAG) -Wall -Wno-comment -Wno-deprecated-declarations -Wno-write-strings $(GNU_COMPINFO) $(SMV_PROFILEFLAG) + gnu_osx_64 : LFLAGS = -m64 -L$(LIB_DIR)/gnu_osx_64 $(SMV_LIBS_OSX) $(GLIBDIROPT) -lgfortran $(SMV_PROFILEFLAG) + ifeq ($(GLUT),freeglut) + gnu_osx_64 : LFLAGS += -L /opt/X11/lib -lX11 -lXmu -lGLU -lGL +diff -ruN smv-SMV6.7.17_orig/Source/shared/file_util.c smv-SMV6.7.17/Source/shared/file_util.c +--- smv-SMV6.7.17_orig/Source/shared/file_util.c 2021-10-11 15:54:46.718505000 +0200 ++++ smv-SMV6.7.17/Source/shared/file_util.c 2021-10-11 15:19:55.038992000 +0200 +@@ -25,6 +25,7 @@ + #include + #endif + #include "MALLOCC.h" ++#include + + FILE *alt_stdout=NULL; + +diff -ruN smv-SMV6.7.17_orig/Source/shared/file_util.h smv-SMV6.7.17/Source/shared/file_util.h +--- smv-SMV6.7.17_orig/Source/shared/file_util.h 2021-10-11 15:54:46.718987000 +0200 ++++ smv-SMV6.7.17/Source/shared/file_util.h 2021-10-11 15:20:05.595248000 +0200 +@@ -11,12 +11,12 @@ + #ifdef pp_GCC + #include + #endif +-#ifdef pp_LINUX + #include +-#endif + #ifndef WIN32 + #include + #endif ++#include ++#include + + // vvvvvvvvvvvvvvvvvvvvvvvv structures vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv + +diff -ruN smv-SMV6.7.17_orig/Source/smokeview/glui_colorbar.cpp smv-SMV6.7.17/Source/smokeview/glui_colorbar.cpp +--- smv-SMV6.7.17_orig/Source/smokeview/glui_colorbar.cpp 2021-10-11 15:54:46.778813000 +0200 ++++ smv-SMV6.7.17/Source/smokeview/glui_colorbar.cpp 2021-10-07 15:35:13.135085000 +0200 +@@ -168,7 +168,7 @@ + char *clabel; + + cbi = colorbarinfo + colorbartype; +- clabel = EDITTEXT_colorbar_label->get_text(); ++ strcpy(clabel, EDITTEXT_colorbar_label->get_text()); + strcpy(cbi->label, clabel); + LISTBOX_colorbar->delete_item(colorbartype); + LISTBOX_colorbar->add_item(colorbartype, colorbar_label); +diff -ruN smv-SMV6.7.17_orig/Source/smokeview/main.c smv-SMV6.7.17/Source/smokeview/main.c +--- smv-SMV6.7.17_orig/Source/smokeview/main.c 2021-10-11 15:54:46.838073000 +0200 ++++ smv-SMV6.7.17/Source/smokeview/main.c 2021-10-11 15:20:33.131615000 +0200 +@@ -5,6 +5,8 @@ + #include + #include + #include ++#include ++ + #include GLUT_H + + #include "string_util.h" diff --git a/easybuild/easyconfigs/s/SMV/example.smv b/easybuild/easyconfigs/s/SMV/example.smv new file mode 100644 index 00000000000..6d507ccb42f --- /dev/null +++ b/easybuild/easyconfigs/s/SMV/example.smv @@ -0,0 +1,43 @@ +MODULE main + VAR + s0: {noncritical, trying, critical, ready}; + s1: {noncritical, trying, critical, ready}; + turn: boolean; + pr0: process prc(s0, s1, turn, 0); + pr1: process prc(s1, s0, turn, 1); + +ASSIGN init(turn) := 0; + + FAIRNESS !(s0 = critical) + FAIRNESS !(s1 = critical) + + + SPEC AG((s0 = critical) -> !(s1 = critical)) + SPEC AG((s1 = critical) -> !(s0 = critical)) + + SPEC AG((s0 = trying) -> AF(s0 = critical)) + SPEC AG((s1 = trying) -> AF(s1 = critical)) + +MODULE prc(state0, state1, turn, turn0) + + ASSIGN + init(state0) := noncritical; + next(state0) := + case + (state0 = noncritical) : {trying,noncritical}; + (state0 = trying) & ((state1 = noncritical) | + (state1 = trying) | + (state1 = ready)): ready; + (state0 = ready): critical; + (state0 = trying) & (state1 = trying) + & (turn = turn0): critical; + (state0 = critical) : {critical,noncritical}; + 1: state0; + esac; + + next(turn) := + case + turn = turn0 & state0 = critical: !turn; + 1: turn; + esac; + FAIRNESS running diff --git a/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-8.0-GCCcore-10.2.0-Java-1.8-Python-2.7.18.eb b/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-8.0-GCCcore-10.2.0-Java-1.8-Python-2.7.18.eb new file mode 100644 index 00000000000..410cd5034da --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-8.0-GCCcore-10.2.0-Java-1.8-Python-2.7.18.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'SNAP-ESA-python' +version = '8.0' +local_javasuffix = '-Java-%(javaver)s' +versionsuffix = local_javasuffix + '-Python-%(pyver)s' + +homepage = 'https://step.esa.int/main/toolboxes/snap/' +description = "Python interface to the Sentinel Application Platform (SNAP) API" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +dependencies = [ + ('Java', '1.8', '', SYSTEM), + ('SNAP-ESA', version, local_javasuffix, SYSTEM), + ('Python', '2.7.18'), +] + +local_pysite = 'lib/python%(pyshortver)s/site-packages' +local_pyinstalldir = '%%(installdir)s/%s' % local_pysite + +postinstallcmds = [ + # Install snappy from SNAP-ESA + # snappy-conf is buggy and it hangs after doing the installation of snappy, + # start snappy-conf in a new SID and kill all processes of its PGID + # whenever it prints the final line starting with "or copy" + "mkdir -p %s" % local_pyinstalldir, + ('LOG="$(mktemp -d)/snappy-conf.log"; mkfifo $LOG; trap "rm -f $LOG" EXIT;' + 'setsid snappy-conf $EBROOTPYTHON/bin/python %s 2>&1 > $LOG & CONFPID=$!;' + 'while read line; do echo "$line"; [ -z "${line##or copy*}" ] && kill -- -$CONFPID; done < $LOG;') + % local_pyinstalldir, +] + +sanity_check_paths = { + 'files': [], + 'dirs': [local_pysite], +} + +sanity_check_commands = ["python -c 'import snappy'"] + +modextrapaths = {'PYTHONPATH': [local_pysite]} + +local_javaopts = " -Dsnap.pythonExecutable=python" +local_javaopts += " -Dsnap.pythonModuleDir=%s" % local_pyinstalldir + +# update $JAVA_TOOL_OPTIONS when module is loaded, use empty string as default value if $JAVA_TOOL_OPTIONS is not set +modluafooter = 'setenv("JAVA_TOOL_OPTIONS", (os.getenv("JAVA_TOOL_OPTIONS") or "") .. "%s")' % local_javaopts +# likewise, but when using Tcl as module syntax +local_tcl_JAVA_TOOL_OPTIONS = '[expr {[info exists ::env(JAVA_TOOL_OPTIONS)] ? $::env(JAVA_TOOL_OPTIONS) : ""}]' +modtclfooter = 'setenv JAVA_TOOL_OPTIONS [concat %s "%s"]' % (local_tcl_JAVA_TOOL_OPTIONS, local_javaopts) + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-9.0.0-GCCcore-11.2.0-Java-11-Python-2.7.18.eb b/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-9.0.0-GCCcore-11.2.0-Java-11-Python-2.7.18.eb new file mode 100644 index 00000000000..dd347b88d0e --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA-python/SNAP-ESA-python-9.0.0-GCCcore-11.2.0-Java-11-Python-2.7.18.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'SNAP-ESA-python' +version = '9.0.0' +local_javasuffix = '-Java-%(javaver)s' +versionsuffix = local_javasuffix + '-Python-%(pyver)s' + +homepage = 'https://step.esa.int/main/toolboxes/snap/' +description = "Python interface to the Sentinel Application Platform (SNAP) API" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('SNAP-ESA', version, local_javasuffix, SYSTEM), + ('Python', '2.7.18'), +] + +local_pysite = 'lib/python%(pyshortver)s/site-packages' +local_pyinstalldir = '%%(installdir)s/%s' % local_pysite + +postinstallcmds = [ + # Install snappy from SNAP-ESA + # snappy-conf is buggy and it hangs after doing the installation of snappy, + # start snappy-conf in a new SID and kill all processes of its PGID + # whenever it prints the final line starting with "or copy" + "mkdir -p %s" % local_pyinstalldir, + ('LOG="$(mktemp -d)/snappy-conf.log"; mkfifo $LOG; trap "rm -f $LOG" EXIT;' + 'setsid snappy-conf $EBROOTPYTHON/bin/python %s 2>&1 > $LOG & CONFPID=$!;' + 'while read line; do echo "$line"; [ -z "${line##or copy*}" ] && kill -- -$CONFPID; done < $LOG;') + % local_pyinstalldir, +] + +sanity_check_paths = { + 'files': [], + 'dirs': [local_pysite], +} + +sanity_check_commands = ["python -c 'import snappy'"] + +modextrapaths = {'PYTHONPATH': [local_pysite]} + +local_javaopts = " -Dsnap.pythonExecutable=python" +local_javaopts += " -Dsnap.pythonModuleDir=%s" % local_pyinstalldir + +# update $JAVA_TOOL_OPTIONS when module is loaded, use empty string as default value if $JAVA_TOOL_OPTIONS is not set +modluafooter = 'setenv("JAVA_TOOL_OPTIONS", (os.getenv("JAVA_TOOL_OPTIONS") or "") .. "%s")' % local_javaopts +# likewise, but when using Tcl as module syntax +local_tcl_JAVA_TOOL_OPTIONS = '[expr {[info exists ::env(JAVA_TOOL_OPTIONS)] ? $::env(JAVA_TOOL_OPTIONS) : ""}]' +modtclfooter = 'setenv JAVA_TOOL_OPTIONS [concat %s "%s"]' % (local_tcl_JAVA_TOOL_OPTIONS, local_javaopts) + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-10.0.0-Java-11.eb b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-10.0.0-Java-11.eb new file mode 100644 index 00000000000..06a2de7582c --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-10.0.0-Java-11.eb @@ -0,0 +1,71 @@ +easyblock = 'Binary' + +name = 'SNAP-ESA' +version = '10.0.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://step.esa.int/main/toolboxes/snap/' +description = """ +The Sentinel Application Platform (SNAP) is a common architecture for all +Sentinel Toolboxes being jointly developed by Brockmann Consult, SkyWatch and +C-S. +The SNAP architecture is ideal for Earth Observation processing and analysis +due to the following technological innovations: Extensibility, Portability, +Modular Rich Client Platform, Generic EO Data Abstraction, Tiled Memory +Management, and a Graph Processing Framework.""" + +toolchain = SYSTEM + +local_installer = 'esa-snap_all_linux-%(version)s.sh' +local_varfile = 'SNAP-ESA-8.0-response.varfile' + +source_urls = [ + 'https://download.esa.int/step/snap/%(version_major)s_%(version_minor)s/installers', + 'https://step.esa.int/downloads/%(version_major_minor)s/installers', +] +sources = [local_installer] +patches = [(local_varfile, '.')] +checksums = [ + {'esa-snap_all_linux-10.0.0.sh': 'c928fd886c983fa7c09c09a3c48593542e71b0636d493ae1401b4c964348698a'}, + {'SNAP-ESA-8.0-response.varfile': '5ea98e3376bb3df52b9c4c99ab4986015296b815021e16486b58e4aad58e21a4'}, +] + +# The installation is executed with the bundled JRE 1.8.0_242 (Zulu) +# At runtime we switch to an external JDK (SNAP developers recommend any OpenJDK distribution) +dependencies = [ + ('Java', '11'), +] + +install_cmd = "INSTALL4J_TEMP='%(builddir)s' " +install_cmd += "bash %s -dir '%%(installdir)s'" % local_installer +install_cmd += " -q -varfile '%s'" % local_varfile + +postinstallcmds = [ + # set paths + 'sed -i "s|jdkhome.*|jdkhome=$JAVA_HOME|" %(installdir)s/etc/snap.conf', + 'sed -i "s|#snap.home.*|snap.home=%(installdir)s|" %(installdir)s/etc/snap.properties', + # remove default maximum memory allocation pool + 'sed -i "s|-J-Xmx[0-9G]* ||" %(installdir)s/etc/snap.conf', + # disable update checks + "echo 'snap.versionCheck.interval=NEVER' >> %(installdir)s/etc/snap.properties", + "sed -i 's|dpiaware=false|& -J-Dplugin.manager.check.interval=NEVER|' %(installdir)s/etc/snap.conf", + # (optional) update all modules to latest version + # the update command is buggy and it hangs after doing the update, kill it whenever it prints "updates=0" + # see issue https://senbox.atlassian.net/browse/SNAP-927 + # ('LOG="$(mktemp -d)/snap-update.log"; mkfifo $LOG; trap "rm -f $LOG" EXIT;' + # 'SNAPCMD="%(installdir)s/bin/snap --nosplash --nogui --userdir "%(builddir)s/snap" --modules --update-all";' + # '$SNAPCMD 2>&1 > $LOG & SNAPPID=$!;' + # 'while read line; do echo "$line"; [ "$line" = "updates=0" ] && kill $SNAPPID; done < $LOG;'), +] + +sanity_check_paths = { + 'files': ['bin/snap', 'bin/gpt'], + 'dirs': ['rstb', 'smos', 'snap'], +} + +sanity_check_commands = [ + "snap --nosplash --nogui --modules --help | grep 'Additional module options'", + "gpt -h", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-Java-1.8.eb b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-Java-1.8.eb new file mode 100644 index 00000000000..b8dfab0c0fe --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-Java-1.8.eb @@ -0,0 +1,71 @@ +easyblock = 'Binary' + +name = 'SNAP-ESA' +version = '8.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://step.esa.int/main/toolboxes/snap/' +description = """ +The Sentinel Application Platform (SNAP) is a common architecture for all +Sentinel Toolboxes being jointly developed by Brockmann Consult, SkyWatch and +C-S. +The SNAP architecture is ideal for Earth Observation processing and analysis +due to the following technological innovations: Extensibility, Portability, +Modular Rich Client Platform, Generic EO Data Abstraction, Tiled Memory +Management, and a Graph Processing Framework.""" + +toolchain = SYSTEM + +local_installer = 'esa-snap_all_unix_%s.sh' % version.replace('.', '_') +local_varfile = '%(name)s-%(version)s-response.varfile' + +source_urls = [ + 'https://download.esa.int/step/snap/%(version)s/installers', + 'https://step.esa.int/downloads/%(version)s/installers', +] +sources = [local_installer] +patches = [(local_varfile, '.')] +checksums = [ + 'b49d6795f55bbe9ecb46f9c289ac245626243d3fcd32211b47a54b26b508798e', # esa-snap_all_unix_8_0.sh + '5ea98e3376bb3df52b9c4c99ab4986015296b815021e16486b58e4aad58e21a4', # SNAP-ESA-8.0-response.varfile +] + +# The installation is executed with the bundled JRE 1.8.0_242 (Zulu) +# At runtime we switch to an external JDK (SNAP developers recommend any OpenJDK distribution) +dependencies = [ + ('Java', '1.8'), +] + +install_cmd = "INSTALL4J_TEMP='%(builddir)s' " +install_cmd += "bash %s -dir '%%(installdir)s'" % local_installer +install_cmd += " -q -varfile '%s'" % local_varfile + +postinstallcmds = [ + # set paths + 'sed -i "s|jdkhome.*|jdkhome=$JAVA_HOME|" %(installdir)s/etc/snap.conf', + 'sed -i "s|#snap.home.*|snap.home=%(installdir)s|" %(installdir)s/etc/snap.properties', + # remove default maximum memory allocation pool + 'sed -i "s|-J-Xmx[0-9G]* ||" %(installdir)s/etc/snap.conf', + # disable update checks + "echo 'snap.versionCheck.interval=NEVER' >> %(installdir)s/etc/snap.properties", + "sed -i 's|dpiaware=false|& -J-Dplugin.manager.check.interval=NEVER|' %(installdir)s/etc/snap.conf", + # (optional) update all modules to latest version + # the update command is buggy and it hangs after doing the update, kill it whenever it prints "updates=0" + # see issue https://senbox.atlassian.net/browse/SNAP-927 + # ('LOG="$(mktemp -d)/snap-update.log"; mkfifo $LOG; trap "rm -f $LOG" EXIT;' + # 'SNAPCMD="%(installdir)s/bin/snap --nosplash --nogui --userdir "%(builddir)s/snap" --modules --update-all";' + # '$SNAPCMD 2>&1 > $LOG & SNAPPID=$!;' + # 'while read line; do echo "$line"; [ "$line" = "updates=0" ] && kill $SNAPPID; done < $LOG;'), +] + +sanity_check_paths = { + 'files': ['bin/snap', 'bin/gpt'], + 'dirs': ['probavbox', 'rstb', 's1tbx', 's2tbx', 's3tbx', 'smos', 'snap'], +} + +sanity_check_commands = [ + "snap --nosplash --nogui --modules --list", + "gpt -h", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-response.varfile b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-response.varfile new file mode 100644 index 00000000000..e5b052bbfce --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-8.0-response.varfile @@ -0,0 +1,15 @@ +# install4j response file for ESA SNAP 8.0 +deleteSnapDir=DESKTOP +executeLauncherWithPythonAction$Boolean=false +forcePython$Boolean=true +pythonExecutable=python +sys.adminRights$Boolean=false +sys.component.3109$Boolean=true +sys.component.RSTB$Boolean=true +sys.component.S1TBX$Boolean=true +sys.component.S2TBX$Boolean=true +sys.component.S3TBX$Boolean=true +sys.component.SMOS$Boolean=true +sys.component.SNAP$Boolean=true +sys.languageId=en +sys.programGroupDisabled$Boolean=true diff --git a/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-9.0.0-Java-11.eb b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-9.0.0-Java-11.eb new file mode 100644 index 00000000000..5c8f6e3138e --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-ESA/SNAP-ESA-9.0.0-Java-11.eb @@ -0,0 +1,71 @@ +easyblock = 'Binary' + +name = 'SNAP-ESA' +version = '9.0.0' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://step.esa.int/main/toolboxes/snap/' +description = """ +The Sentinel Application Platform (SNAP) is a common architecture for all +Sentinel Toolboxes being jointly developed by Brockmann Consult, SkyWatch and +C-S. +The SNAP architecture is ideal for Earth Observation processing and analysis +due to the following technological innovations: Extensibility, Portability, +Modular Rich Client Platform, Generic EO Data Abstraction, Tiled Memory +Management, and a Graph Processing Framework.""" + +toolchain = SYSTEM + +local_installer = 'esa-snap_all_unix_%s.sh' % version.replace('.', '_') +local_varfile = 'SNAP-ESA-8.0-response.varfile' + +source_urls = [ + 'https://download.esa.int/step/snap/%(version_major_minor)s/installers', + 'https://step.esa.int/downloads/%(version_major_minor)s/installers', +] +sources = [local_installer] +patches = [(local_varfile, '.')] +checksums = [ + {'esa-snap_all_unix_9_0_0.sh': 'ad6ef8c679c80c58660fe23ab5fb4974f9cd3ff4b119ad8e7e40dc79dbe03896'}, + {'SNAP-ESA-8.0-response.varfile': '5ea98e3376bb3df52b9c4c99ab4986015296b815021e16486b58e4aad58e21a4'}, +] + +# The installation is executed with the bundled JRE 1.8.0_242 (Zulu) +# At runtime we switch to an external JDK (SNAP developers recommend any OpenJDK distribution) +dependencies = [ + ('Java', '11'), +] + +install_cmd = "INSTALL4J_TEMP='%(builddir)s' " +install_cmd += "bash %s -dir '%%(installdir)s'" % local_installer +install_cmd += " -q -varfile '%s'" % local_varfile + +postinstallcmds = [ + # set paths + 'sed -i "s|jdkhome.*|jdkhome=$JAVA_HOME|" %(installdir)s/etc/snap.conf', + 'sed -i "s|#snap.home.*|snap.home=%(installdir)s|" %(installdir)s/etc/snap.properties', + # remove default maximum memory allocation pool + 'sed -i "s|-J-Xmx[0-9G]* ||" %(installdir)s/etc/snap.conf', + # disable update checks + "echo 'snap.versionCheck.interval=NEVER' >> %(installdir)s/etc/snap.properties", + "sed -i 's|dpiaware=false|& -J-Dplugin.manager.check.interval=NEVER|' %(installdir)s/etc/snap.conf", + # (optional) update all modules to latest version + # the update command is buggy and it hangs after doing the update, kill it whenever it prints "updates=0" + # see issue https://senbox.atlassian.net/browse/SNAP-927 + # ('LOG="$(mktemp -d)/snap-update.log"; mkfifo $LOG; trap "rm -f $LOG" EXIT;' + # 'SNAPCMD="%(installdir)s/bin/snap --nosplash --nogui --userdir "%(builddir)s/snap" --modules --update-all";' + # '$SNAPCMD 2>&1 > $LOG & SNAPPID=$!;' + # 'while read line; do echo "$line"; [ "$line" = "updates=0" ] && kill $SNAPPID; done < $LOG;'), +] + +sanity_check_paths = { + 'files': ['bin/snap', 'bin/gpt'], + 'dirs': ['probavbox', 'rstb', 's1tbx', 's2tbx', 's3tbx', 'smos', 'snap'], +} + +sanity_check_commands = [ + "snap --nosplash --nogui --modules --help | grep 'Additional module options'", + "gpt -h", +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb new file mode 100644 index 00000000000..4cfa5eebd91 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP-HMM/SNAP-HMM-20221022-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'MakeCp' + +name = 'SNAP-HMM' +version = '20221022' +_commit = '4ad1e95' + +homepage = 'https://korflab.github.io/' +description = """ +SNAP is a general purpose gene finding program suitable for both eukaryotic and +prokaryotic genomes. SNAP is an acroynm for Semi-HMM-based Nucleic Acid +Parser. +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/KorfLab/SNAP/archive'] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': '%(version)s.tar.gz'}] +patches = ['%(name)s-20190603_makefile_correction.patch'] +checksums = [ + {'20221022.tar.gz': 'a85726b7d4199da1b213b613057600012a392ef1aa20198f1d571fac55bf643f'}, + {'SNAP-HMM-20190603_makefile_correction.patch': 'd518750d4cf01278ba5403ab5717cfcd65b75b5a7c6573ae140f1cdb56b9e655'}, +] + +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' + +files_to_copy = [ + (['hmm-assembler.pl', 'zff2gff3.pl', 'fathom', 'forge', 'snap', 'Zoe/zoe-loop'], 'bin'), + 'DNA', + 'HMM', + 'Zoe', +] + +sanity_check_paths = { + 'files': ['bin/snap', 'bin/forge', 'bin/zoe-loop'], + 'dirs': ['Zoe'], +} + +sanity_check_commands = [ + 'snap 2>&1 | grep "^usage:"', + 'zoe-loop | grep "^usage:"', +] + +modextrapaths = {'ZOE': 'Zoe'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..ca3aa98f6b6 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..635c7937182 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..c7b19e83bc5 --- /dev/null +++ b/easybuild/easyconfigs/s/SNAP/SNAP-2.0.1-GCC-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'MakeCp' + +name = 'SNAP' +version = '2.0.1' + +homepage = 'https://www.microsoft.com/en-us/research/project/snap' +description = """Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for + high-throughput sequencing data""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'cstd': 'c++98'} + +source_urls = ['https://github.com/amplab/snap/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f199c583e054c50ca6f3b61f27066640b7c829e5c5e8083841596a2869c064'] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CXX="$CXX"' + +files_to_copy = [(['snap-aligner', 'SNAPCommand'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/snap-aligner', 'bin/SNAPCommand'], + 'dirs': [], +} + +sanity_check_commands = ["snap-aligner --help"] + +moduleclass = 'bio' 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/SOCI/SOCI-4.0.2-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..b583aed0151 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.2-GCC-10.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.2' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f293192a412ed82693d17dfe46e2734b140bff835bc3259e3cbd7c315e5e2d74'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Boost', '1.76.0'), + ('SQLite', '3.35.4'), + ('PostgreSQL', '13.3'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..d84729fec94 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('SQLite', '3.36'), + ('PostgreSQL', '13.4'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..63024d01cc2 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('SQLite', '3.38.3'), + ('PostgreSQL', '14.4'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.2.0.eb new file mode 100644 index 00000000000..2b1ee760c82 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Boost', '1.81.0'), + ('SQLite', '3.39.4'), + ('PostgreSQL', '15.2'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..e100da22edb --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-12.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Boost', '1.82.0'), + ('SQLite', '3.42.0'), + ('PostgreSQL', '16.1'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb new file mode 100644 index 00000000000..9f4329a7316 --- /dev/null +++ b/easybuild/easyconfigs/s/SOCI/SOCI-4.0.3-GCC-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SOCI' +version = '4.0.3' + +homepage = 'http://soci.sourceforge.net/' +description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the + regular C++ code, staying entirely within the Standard C++.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/SOCI/soci/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('Boost', '1.83.0'), + ('SQLite', '3.43.1'), + ('PostgreSQL', '16.1'), +] + +# Matches RStudio (1.4.1717) install options +# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci +configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " +configopts += "-DSOCI_TESTS=OFF " +configopts += "-DSOCI_CXX11=ON " +configopts += "-DSOCI_EMPTY=OFF " +configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' +configopts += "-DBoost_USE_STATIC_LIBS=ON " +configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' +configopts += "-DWITH_BOOST=ON " +configopts += "-DWITH_POSTGRESQL=ON " +configopts += "-DWITH_SQLITE3=ON " +configopts += "-DWITH_DB2=OFF " +configopts += "-DWITH_MYSQL=OFF " +configopts += "-DWITH_ORACLE=OFF " +configopts += "-DWITH_FIREBIRD=OFF " +configopts += "-DWITH_ODBC=OFF " +configopts += "-DBoost_DEBUG=1 " + +local_dbs = ['postgresql', 'sqlite3'] + +sanity_check_paths = { + 'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], + 'dirs': ['include/soci/%s' % x for x in local_dbs], +} + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..3647d8fcef1 --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.13.0-GCC-10.3.0.eb @@ -0,0 +1,46 @@ +# 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 +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.13.0' + +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 = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['c63442248c4c712603979fa70503c2bff82354f005acda2abc42dd5598427040'] + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1'), +] + +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.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 new file mode 100644 index 00000000000..689bdea5858 --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-10.3.0.eb @@ -0,0 +1,46 @@ +# 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 +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.3' + +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 = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] + +builddependencies = [ + ('CMake', '3.20.1'), +] +dependencies = [ + ('Python', '3.9.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1'), +] + +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.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..3190e8efd2a --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.3-GCC-11.2.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 +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.3' + +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 = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b2e5a9fd7a65aee5ab886222d6af4f7b7bc7f755da7a03941571fabd6b9e1499'] + +builddependencies = [ + ('CMake', '3.22.1'), +] +dependencies = [ + ('Python', '3.9.6'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1'), +] + +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.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..19425c9193c --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.4-GCC-12.2.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 +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) + +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.2.0'} + +source_urls = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['3b241c528a42a8bdfdf23e5bf8f0084834790590d08491decea9f0f009d8589f'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('Python', '3.10.8'), + ('zlib', '1.2.12'), + ('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.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 new file mode 100644 index 00000000000..edb35db2e8b --- /dev/null +++ b/easybuild/easyconfigs/s/SPAdes/SPAdes-3.15.5-GCC-11.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 +# 3.9.0: +# Modified by: +# Adam Huffman +# The Francis Crick Institute +# Updated by: +# Filip Kružík (INUITS) + +easyblock = 'CMakeMake' + +name = 'SPAdes' +version = '3.15.5' + +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 = ['https://github.com/ablab/spades/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['155c3640d571f2e7b19a05031d1fd0d19bd82df785d38870fb93bd241b12bbfa'] + +builddependencies = [ + ('CMake', '3.24.3'), +] +dependencies = [ + ('Python', '3.10.4'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1.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/SPEI/SPEI-0.3.5-foss-2022a.eb b/easybuild/easyconfigs/s/SPEI/SPEI-0.3.5-foss-2022a.eb new file mode 100644 index 00000000000..e217933c8ee --- /dev/null +++ b/easybuild/easyconfigs/s/SPEI/SPEI-0.3.5-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'SPEI' +version = '0.3.5' + +homepage = 'https://github.com/martinvonk/spei' +description = """ +A simple Python package to calculate drought indices for time series such as the SPI, SPEI and SGI. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +use_pip = True + +exts_list = [ + ('spei', version, { + 'checksums': ['8d672b6d829a6f32737afdeccf4c69f13abd544d3b7297e57c80b4b3996aa05a'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb new file mode 100644 index 00000000000..72fe5d8b1e4 --- /dev/null +++ b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021a.eb @@ -0,0 +1,53 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'SPM' +version = '12.5_r7771' +_matlab_ver = '2021a' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://www.fil.ion.ucl.ac.uk/spm' +description = """SPM (Statistical Parametric Mapping) refers to the construction + and assessment of spatially extended statistical processes used to test hypo- + theses about functional imaging data. These ideas have been instantiated in + software that is called SPM. + The SPM software package has been designed for the analysis of brain imaging + data sequences. The sequences can be a series of images from different cohorts, + or time-series from the same subject. The current release is designed for the + analysis of fMRI, PET, SPECT, EEG and MEG. +""" + +toolchain = SYSTEM + +_spm_maj_ver = version.split('.')[0] +_spm_majmin_ver, _spm_update_ver = version.split('_') + +sources = [ + { + 'source_urls': ['https://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado'], + 'filename': '%%(namelower)s%s.zip' % _spm_majmin_ver, + }, + { + 'source_urls': ['http://www.fil.ion.ucl.ac.uk/spm/download/spm12_updates'], + 'filename': '%%(namelower)s%s_updates_%s.zip' % (_spm_maj_ver, _spm_update_ver), + 'extract_cmd': 'unzip -oqq %%s -d spm%s' % _spm_maj_ver, + }, +] +checksums = [ + '0dc847eb065ccfcefbaefafdc12201dd20a22b9ee9b33a6b1973d07690a21914', # spm12.5.zip + '2b3cbd5f58fe180231d8bdcd0762c8874aee97240de391d876d9f2e33037a293', # spm12_updates_r7771.zip +] + +dependencies = [('MATLAB', _matlab_ver)] + +sanity_check_paths = { + 'files': ['spm.m'], + 'dirs': [], +} + +sanity_check_commands = ['matlab -batch "spm version"'] + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021b.eb b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021b.eb new file mode 100644 index 00000000000..21fd484ece9 --- /dev/null +++ b/easybuild/easyconfigs/s/SPM/SPM-12.5_r7771-MATLAB-2021b.eb @@ -0,0 +1,53 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'Tarball' + +name = 'SPM' +version = '12.5_r7771' +_matlab_ver = '2021b' +versionsuffix = '-MATLAB-%s' % _matlab_ver + +homepage = 'https://www.fil.ion.ucl.ac.uk/spm' +description = """SPM (Statistical Parametric Mapping) refers to the construction + and assessment of spatially extended statistical processes used to test hypo- + theses about functional imaging data. These ideas have been instantiated in + software that is called SPM. + The SPM software package has been designed for the analysis of brain imaging + data sequences. The sequences can be a series of images from different cohorts, + or time-series from the same subject. The current release is designed for the + analysis of fMRI, PET, SPECT, EEG and MEG. +""" + +toolchain = SYSTEM + +_spm_maj_ver = version.split('.')[0] +_spm_majmin_ver, _spm_update_ver = version.split('_') + +sources = [ + { + 'source_urls': ['https://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado'], + 'filename': '%%(namelower)s%s.zip' % _spm_majmin_ver, + }, + { + 'source_urls': ['http://www.fil.ion.ucl.ac.uk/spm/download/spm12_updates'], + 'filename': '%%(namelower)s%s_updates_%s.zip' % (_spm_maj_ver, _spm_update_ver), + 'extract_cmd': 'unzip -oqq %%s -d spm%s' % _spm_maj_ver, + }, +] +checksums = [ + '0dc847eb065ccfcefbaefafdc12201dd20a22b9ee9b33a6b1973d07690a21914', # spm12.5.zip + '2b3cbd5f58fe180231d8bdcd0762c8874aee97240de391d876d9f2e33037a293', # spm12_updates_r7771.zip +] + +dependencies = [('MATLAB', _matlab_ver)] + +sanity_check_paths = { + 'files': ['spm.m'], + 'dirs': [], +} + +sanity_check_commands = ['matlab -batch "spm version"'] + +modextrapaths = {'MATLABPATH': ''} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.eb b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.eb new file mode 100644 index 00000000000..d93dd122cba --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2021a.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': '2021a'} + +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', '20210128'), + ('Perl', '5.32.1', '-minimal'), +] + +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/SPOOLES/SPOOLES-2.2-gompi-2022b.eb b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2022b.eb new file mode 100644 index 00000000000..9d3ae4f917b --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2-gompi-2022b.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': '2022b'} + +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.0'), +] + +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/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/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch new file mode 100644 index 00000000000..29c060a2d41 --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_build-mpi-mt.patch @@ -0,0 +1,38 @@ +Author: Jasper Grimm +Description: build multithreaded, MPI targets by default +diff -Nru spooles-2.2.orig/MPI/makefile spooles-2.2.p1/MPI/makefile +--- spooles-2.2.orig/MPI/makefile 1998-12-17 15:47:44.000000000 +0000 ++++ spooles-2.2.p1/MPI/makefile 2022-11-25 16:07:34.000000000 +0000 +@@ -2,7 +2,7 @@ + cd drivers ; make drivers + + lib : +- cd src ; make spoolesMPI.a ++ cd src ; make makeLib + + clean : + cd src ; make clean +diff -Nru spooles-2.2.orig/MPI/src/makefile spooles-2.2.p1/MPI/src/makefile +--- spooles-2.2.orig/MPI/src/makefile 1998-12-16 21:54:41.000000000 +0000 ++++ spooles-2.2.p1/MPI/src/makefile 2022-11-25 16:08:18.000000000 +0000 +@@ -42,3 +42,8 @@ + + clean : + - rm -f *.a *.o ++ ++makeLib: ++ perl ../../makeLib > makeG ++ make -f makeG ++ rm -f makeG +diff -Nru spooles-2.2.orig/MT/makefile spooles-2.2.p1/MT/makefile +--- spooles-2.2.orig/MT/makefile 1998-12-17 15:47:48.000000000 +0000 ++++ spooles-2.2.p1/MT/makefile 2022-11-25 16:08:55.000000000 +0000 +@@ -2,7 +2,7 @@ + cd drivers ; make drivers + + lib : +- cd src ; make spoolesMT.a ++ cd src ; make makeLib + + clean : + cd src ; make clean diff --git a/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch new file mode 100644 index 00000000000..0de7fd03168 --- /dev/null +++ b/easybuild/easyconfigs/s/SPOOLES/SPOOLES-2.2_shared-libs.patch @@ -0,0 +1,45 @@ +Author: Jasper Grimm +Description: add targets to build shared libraries +diff -Nru spooles-2.2.p1/makefile spooles-2.2.p2/makefile +--- spooles-2.2.p1/makefile 2022-11-25 16:06:54.000000000 +0000 ++++ spooles-2.2.p2/makefile 2022-11-25 16:14:28.000000000 +0000 +@@ -123,8 +123,10 @@ + cd Utilities ; make lib + cd ZV ; make lib + cd misc ; make lib +-#cd MPI ; make lib +-#cd MT ; make lib ++ cd MPI ; make lib ++ cd MT ; make lib ++ $(CC) -shared */*/*.lo -Wl,-soname,libspooles.so.2.2 -o libspooles.so.2.2 -lmpi -lpthread -lm ++ ln -s libspooles.so.2.2 libspooles.so + + global : + cd A2/src ; make -f makeGlobalLib +diff -Nru spooles-2.2.p1/makeLib spooles-2.2.p2/makeLib +--- spooles-2.2.p1/makeLib 2022-11-25 16:06:54.000000000 +0000 ++++ spooles-2.2.p2/makeLib 2022-11-25 16:13:02.000000000 +0000 +@@ -64,14 +64,19 @@ + $srcname = " \\\n " . $src ; + print $srcname ; + } ++print "\n\n.SUFFIXES: .c .o .lo .a .so" ; + print "\n\nOBJ_FILES = \$\{SRC:.c=.o\}" ; ++print "\n\nLOBJ_FILES = \$\{SRC:.c=.lo\}" ; + print "\n\n" ; + print <<'EOF' ; + .c.o : +- $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o ++ $(PURIFY) $(CC) -c $(CFLAGS) $*.c -o $(OBJ)_$*.o $(MPI_INCLUDE_DIR) + +-../../spooles.a : ${OBJ_FILES} +- $(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o ++.c.lo: ++ $(PURIFY) $(CC) -c $(CFLAGS) $*.c -fPIC -DPIC -o $(OBJ)_$*.lo $(MPI_INCLUDE_DIR) ++ ++../../libspooles.a : ${OBJ_FILES} ${LOBJ_FILES} ++ $(AR) $(ARFLAGS) ../../libspooles.a $(OBJ)_*.o + rm -f $(OBJ)_*.o +- $(RANLIB) ../../spooles.a ++ $(RANLIB) ../../libspooles.a + EOF diff --git a/easybuild/easyconfigs/s/SPOTPY/SPOTPY-1.5.14-intel-2021b.eb b/easybuild/easyconfigs/s/SPOTPY/SPOTPY-1.5.14-intel-2021b.eb new file mode 100644 index 00000000000..66db6ca0aeb --- /dev/null +++ b/easybuild/easyconfigs/s/SPOTPY/SPOTPY-1.5.14-intel-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'SPOTPY' +version = '1.5.14' + +homepage = 'https://spotpy.readthedocs.io' +description = """SPOTPY is a Python framework that enables the use of Computational optimization techniques for +calibration, uncertainty and sensitivity analysis techniques of almost every (environmental-) model.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b59175fb50807b442b0d98ced7ae403778cc1cb4c2694039478fe32ea57d85c5'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +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/SQLite/SQLite-3.36-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.36-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f299b6d7623 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.36-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.36' +local_filename_version = '3360000' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2021/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('libreadline', '8.1'), + ('Tcl', '8.6.11'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.38.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.38.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..85d8bce8610 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.38.3-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.38.3' +local_filename_version = '3380300' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2022/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['61f2dd93a2e38c33468b7125967c3218bf9f4dd8365def6025e314f905dc942e'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('libreadline', '8.1.2'), + ('Tcl', '8.6.12'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cc6b559ef73 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.39.4' +local_filename_version = '3390400' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2022/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['f31d445b48e67e284cf206717cc170ab63cbe4fd7f79a82793b772285e78fdbb'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.12'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.41.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.41.2-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..4ea12e5cf78 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.41.2-GCCcore-13.1.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.41.2' +local_filename_version = '3410200' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2023/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['e98c100dd1da4e30fa460761dab7c0b91a50b785e167f8c57acc46514fae9499'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.13'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.42.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.42.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f3ebb9f775e --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.42.0-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.42.0' +local_filename_version = '3420000' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2023/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.13'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.43.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.43.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d2b70cc4ec2 --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.43.1-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.43.1' +local_filename_version = '3430100' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2023/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['39116c94e76630f22d54cd82c3cea308565f1715f716d1b2527f1c9c969ba4d9'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.13'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2a1d41ffc3c --- /dev/null +++ b/easybuild/easyconfigs/s/SQLite/SQLite-3.45.3-GCCcore-13.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'SQLite' +version = '3.45.3' +local_filename_version = '3450300' + +homepage = 'https://www.sqlite.org/' +description = "SQLite: SQL Database Engine in a C Library" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.sqlite.org/2024/'] +sources = ['%%(namelower)s-autoconf-%s.tar.gz' % (local_filename_version)] +checksums = ['b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('libreadline', '8.2'), + ('Tcl', '8.6.14'), +] + +# enable additional APIs that provide access to meta-data about tables and queries +# needed for GDAL when it used as a dep for QGIS +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -DSQLITE_ENABLE_COLUMN_METADATA"' + +sanity_check_paths = { + 'files': ['bin/sqlite3', 'include/sqlite3ext.h', 'include/sqlite3.h', + 'lib/libsqlite3.a', 'lib/libsqlite3.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'], +} + +sanity_check_commands = [ + 'sqlite3 --version | grep ^%(version)s', +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-centos_linux64.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-centos_linux64.eb new file mode 100644 index 00000000000..fe5cd26a6c5 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-centos_linux64.eb @@ -0,0 +1,31 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# @author: Adam Huffman - The Francis Crick Institute +# Based on work by npklein +# +# updated to version 3.0.0 by +# @author: Graham Derryberry + +easyblock = 'PackedBinary' + +name = 'SRA-Toolkit' +version = '3.0.0' +versionsuffix = '-centos_linux64' + +homepage = 'https://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software' +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""" + +toolchain = SYSTEM + +source_urls = ['http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/%(version)s/'] +sources = ['sratoolkit.%(version)s%(versionsuffix)s.tar.gz'] +checksums = ['89d11fc284e32d38b6639c551df6d658075cd268913f8ba2af65026e4a161dfe'] + +sanity_check_paths = { + 'files': ['bin/abi-load', 'bin/fastq-dump', 'bin/sff-load', 'bin/vdb-dump'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb new file mode 100644 index 00000000000..7ddb91ba5ab --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0-gompi-2021b.eb @@ -0,0 +1,83 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'SRA-Toolkit' +version = '3.0.0' + +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': '2021b'} +toolchainopts = {'extra_cflags': '-lxml2 -lz -llzma'} + +source_urls = ['https://github.com/ncbi/sra-tools/archive/refs/tags/'] +sources = [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['SRA-Toolkit-%(version)s_fix-LD_LIBRARY_PATH.patch'] +checksums = [ + {'SRA-Toolkit-3.0.0.tar.gz': 'b6e8116ecb196b91d5ee404cc978a128eec9af24bdc96f57ff7ebfaf9059a760'}, + {'SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch': '80b764584e377150cbc706463ef2c72e517d1a3e7493f13e26d6e7875cd7d16a'}, +] + +builddependencies = [ + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('CMake', '3.21.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('Java', '11', '', SYSTEM), +] + +dependencies = [ + ('ncbi-vdb', '3.0.0'), + ('file', '5.41'), + ('HDF5', '1.12.1'), + ('libxml2', '2.9.10'), + ('Szip', '2.1.1'), + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('gzip', '1.10'), +] + +# Add addtional libraries needed to statically link HDF5 from EB +preconfigopts = "sed -i 's/-Wl,-Bstatic -lhdf5 -Wl,-Bdynamic/-lhdf5 -Wl,-Bdynamic " +preconfigopts += "-lmpi -lsz -lz -llzma -lpthread -licucore -lm /' setup/konfigure.perl && " + +# Change default build directory and add paths to dependencies in EB +configopts = '--build-prefix=%(builddir)s --with-magic-prefix=$EBROOTFILE ' +configopts += '--with-hdf5-prefix=$EBROOTHDF5 --with-xml2-prefix=$EBROOTLIBXML2 ' +configopts += '--with-ncbi-vdb-prefix=$EBROOTNCBIMINVDB' + +# Replace hardcoded optimization flags with flags from EB +prebuildopts = "sed -i 's/-sm/-sm -lmpi -lsz/' tools/pacbio-load/Makefile && " +prebuildopts += "find build/ -name \"ld*.sh\" -exec sed -i " +prebuildopts += "'s/-lxml2/-lxml2 -lz -llzma -lpthread -licucore -lm /g' {} + && " +prebuildopts += "find build/ -name \"Makefile*\" -exec sed -i 's/-O3/$(EBFLAGS)/g' {} + && " +prebuildopts += 'export EBFLAGS="$CFLAGS" && ' + +# Replace hardcoded optimization flags with flags from EB +preinstallopts = 'EBFLAGS="$CFLAGS" ' + +local_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', 'magic', '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-get', 'vdb-lock', 'vdb-passwd', 'vdb-unlock', + 'vdb-validate'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bin] + + ['include/ncbi-vdb/NGS.hpp'], + 'dirs': [] +} + +sanity_check_commands = [ + "abi-dump --help", + "kar --help", + "sra-sort --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch new file mode 100644 index 00000000000..c43e9026374 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.0_fix-LD_LIBRARY_PATH.patch @@ -0,0 +1,35 @@ +appending to LD_LIBRARY_PATH, rather than rewriting it +updated: Denis Kristak (INUITS) +diff -ruN sra-tools-3.0.0.orig/build/ld.linux.dlib.sh sra-tools-3.0.0/build/ld.linux.dlib.sh +--- sra-tools-3.0.0.orig/build/ld.linux.dlib.sh 2022-02-10 14:00:25.000000000 -0800 ++++ sra-tools-3.0.0/build/ld.linux.dlib.sh 2022-08-18 12:09:51.955470000 -0700 +@@ -83,8 +83,7 @@ + done + + # update LD_LIBRARY_PATH +- unset LD_LIBRARY_PATH +- export LD_LIBRARY_PATH="$LDIRS:$XDIRS" ++ export LD_LIBRARY_PATH="$LDIRS:$XDIRS:$LD_LIBRARY_PATH" + + # tack on libraries, finding as we go + for LIB in $LIBS +@@ -308,4 +307,4 @@ + echo "$MSG" >> $LOGFILE + + "$BUILD_DIR/scm-collect.sh" "$OBJS" "$SLIBS" | sort -u > "$TARG.md5" +-fi +\ No newline at end of file ++fi +diff -ruN sra-tools-3.0.0.orig/build/ld.linux.exe.sh sra-tools-3.0.0/build/ld.linux.exe.sh +--- sra-tools-3.0.0.orig/build/ld.linux.exe.sh 2022-02-10 14:00:25.000000000 -0800 ++++ sra-tools-3.0.0/build/ld.linux.exe.sh 2022-08-18 12:10:58.180786000 -0700 +@@ -96,8 +96,7 @@ + done + + # update LD_LIBRARY_PATH +- unset LD_LIBRARY_PATH +- export LD_LIBRARY_PATH="$LDIRS:$XDIRS" ++ export LD_LIBRARY_PATH="$LDIRS:$XDIRS:$LD_LIBRARY_PATH" + + # tack on libraries, finding as we go + for LIB in $LIBS \ No newline at end of file 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/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb new file mode 100644 index 00000000000..a7423e09e62 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3-gompi-2022a.eb @@ -0,0 +1,71 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'SRA-Toolkit' +version = '3.0.3' + +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': '2022a'} +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}] +patches = ["SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch"] +checksums = [ + {'SRA-Toolkit-3.0.3.tar.gz': 'ea4b9a4b2e6e40e6b2bf36b01eb8df2b50280ef9dcdc66b504c1d1296600afbd'}, + {'SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch': + 'e21861b114269593e73b2415137bc4f016f98c5a2e02b5e626fadad7d01c754e'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.34.1', '-minimal'), + ('Python', '3.10.4', '-bare'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', '3.0.2'), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.12.2'), + ('libxml2', '2.9.13'), + ('zlib', '1.2.12'), +] + +configopts = '-DVDB_INCDIR="$EBROOTNCBIMINVDB/include" -DVDB_LIBDIR="$EBROOTNCBIMINVDB/lib" ' +configopts += '-DBUILD_TOOLS_LOADERS=ON -DBUILD_TOOLS_INTERNAL=ON' + +_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", +] + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch new file mode 100644 index 00000000000..f39ee2864ab --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.3_fix-ngs-doc-jar-build.patch @@ -0,0 +1,34 @@ +Remove non-existing obj directory from the working directory path of ngs-doc_javadoc +see issue https://github.com/ncbi/sra-tools/issues/771 +author: Alex Domingo (Vrije Universiteit Brussel) +diff -Nru sra-tools-3.0.3.orig/ngs/ngs-java/CMakeLists.txt sra-tools-3.0.3/ngs/ngs-java/CMakeLists.txt +--- sra-tools-3.0.3.orig/ngs/ngs-java/CMakeLists.txt 2023-02-09 01:06:27.885993000 +0100 ++++ sra-tools-3.0.3/ngs/ngs-java/CMakeLists.txt 2023-02-09 01:10:51.430171000 +0100 +@@ -140,17 +140,12 @@ + set(SRC_FILES "${SRC_FILES} ${f}") + endforeach() + +- if( ${OS} STREQUAL "windows" ) +- set( NGS_JAVADOC_DIR ${TARGDIR} ) +- else() +- set( NGS_JAVADOC_DIR ${TARGDIR}/obj ) +- endif() + if ( Java_JAR_EXECUTABLE AND NOT (${OS} STREQUAL "windows") ) + add_custom_target( + ngs-doc-jar ALL COMMAND + bash -c "${Java_JAR_EXECUTABLE} -cf ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar ." + DEPENDS ngs-doc_javadoc +- WORKING_DIRECTORY "${NGS_JAVADOC_DIR}/ngs/ngs-java/javadoc/ngs-doc" ++ WORKING_DIRECTORY "${TARGDIR}/ngs/ngs-java/javadoc/ngs-doc" + ) + install( FILES ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar DESTINATION ${CMAKE_INSTALL_PREFIX}/jar/ ) + +@@ -166,7 +161,7 @@ + ngs-doc-jar ALL COMMAND + "${Java_JAR_EXECUTABLE}" -cf "${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar" . + DEPENDS ngs-doc_javadoc +- WORKING_DIRECTORY "${NGS_JAVADOC_DIR}/ngs/ngs-java/javadoc/ngs-doc" ++ WORKING_DIRECTORY "${TARGDIR}/ngs/ngs-java/javadoc/ngs-doc" + ) + install( FILES ${CMAKE_JAR_OUTPUT_DIRECTORY}/ngs-doc.jar DESTINATION ${CMAKE_INSTALL_PREFIX}/jar/ ) + diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2021a.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2021a.eb new file mode 100644 index 00000000000..9759bd16641 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2021a.eb @@ -0,0 +1,69 @@ +# updated: Denis Kristak (INUITS) +# updated: Sebastien Moretti (SIB - Vital-IT) +easyblock = 'CMakeMake' + +name = 'SRA-Toolkit' +version = '3.0.5' + +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': '2021a'} +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 = [ + {'SRA-Toolkit-3.0.5.tar.gz': '6dca9889ca9cfa83e9ce1c39bf7ae5654576fc79c4f608e902272a49573a05e0'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('Perl', '5.32.1', '-minimal'), + ('Python', '3.9.5', '-bare'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', version), + ('bzip2', '1.0.8'), + ('file', '5.40'), + ('HDF5', '1.10.7'), + ('libxml2', '2.9.10'), + ('zlib', '1.2.11'), +] + +configopts = '-DVDB_INCDIR="$EBROOTNCBIMINVDB/include" -DVDB_LIBDIR="$EBROOTNCBIMINVDB/lib" ' +configopts += '-DBUILD_TOOLS_LOADERS=ON -DBUILD_TOOLS_INTERNAL=ON' + +_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", +] + +modextrapaths = {'CLASSPATH': 'jar/ngs-java.jar'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.eb new file mode 100644 index 00000000000..c81d146ae63 --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.0.5-gompi-2022b.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.5' + +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': '2022b'} +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 = ['6dca9889ca9cfa83e9ce1c39bf7ae5654576fc79c4f608e902272a49573a05e0'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', version), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.14.0'), + ('libxml2', '2.10.3'), + ('zlib', '1.2.12'), +] + +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/SRA-Toolkit/SRA-Toolkit-3.1.1-gompi-2023b.eb b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.1.1-gompi-2023b.eb new file mode 100644 index 00000000000..624658d8e2b --- /dev/null +++ b/easybuild/easyconfigs/s/SRA-Toolkit/SRA-Toolkit-3.1.1-gompi-2023b.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.1.1' + +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': '2023b'} +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 = ['96b110bd5a30ad312e2f02552062b48a77d40c763e6aba5bb84e83662a505cf1'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('flex', '2.6.4'), + ('Bison', '3.8.2'), + ('Perl', '5.38.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Java', '11', '', SYSTEM), + ('OpenSSL', '1.1', '', SYSTEM), + ('ncbi-vdb', version), + ('bzip2', '1.0.8'), + ('file', '5.43'), + ('HDF5', '1.14.3'), + ('libxml2', '2.11.5'), + ('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' % y for y 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/SRPRISM/SRPRISM-3.1.1-GCCcore-8.2.0-Java-11.eb b/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.1-GCCcore-8.2.0-Java-11.eb index dcc982d7e1f..ae01366c9ef 100644 --- a/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.1-GCCcore-8.2.0-Java-11.eb +++ b/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.1-GCCcore-8.2.0-Java-11.eb @@ -20,7 +20,7 @@ checksums = ['11cd754087fc3a8a12362af6140949726d4c32f1097a7c387d116cc1cf7e234e'] builddependencies = [('binutils', '2.31.1')] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('NGS', '2.10.0', '-Java-11'), ('bzip2', '1.0.6'), ] diff --git a/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.2-GCCcore-10.2.0.eb index 41984431bdc..3aac6838fbf 100644 --- a/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.2-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/s/SRPRISM/SRPRISM-3.1.2-GCCcore-10.2.0.eb @@ -15,7 +15,7 @@ checksums = ['93e6864b7ab18be96584950227426102b545db7d6d02762490a43e1610b7eb9b'] builddependencies = [('binutils', '2.35')] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('NGS', '2.10.9'), ('bzip2', '1.0.8'), ] diff --git a/easybuild/easyconfigs/s/SRST2/SRST2-0.2.0-20210620-foss-2020b-Python-2.7.18.eb b/easybuild/easyconfigs/s/SRST2/SRST2-0.2.0-20210620-foss-2020b-Python-2.7.18.eb new file mode 100644 index 00000000000..861f11bb8cc --- /dev/null +++ b/easybuild/easyconfigs/s/SRST2/SRST2-0.2.0-20210620-foss-2020b-Python-2.7.18.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonPackage' + +name = 'SRST2' +local_commit = '73f885f' +version = '0.2.0-20210620' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://katholt.github.io/srst2' +description = "Short Read Sequence Typing for Bacterial Pathogens" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/katholt/srst2/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['04b383bae7450b89945053fbd1945ecf7234a78cfd374f90c7ef427d84571d20'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2020.11', versionsuffix), + ('Bowtie2', '2.4.2'), + ('SAMtools', '1.11'), +] + +download_dep_fail = True +use_pip = True + +# inject Bowtie2/SAMtools version in scripts that check for known version +preinstallopts = """sed -i "s@,'2.2.9'@,'2.2.9', '$EBVERSIONBOWTIE2'@g" scripts/qsub_srst2.py && """ +preinstallopts += """sed -i "s@,'2.2.9'@,'2.2.9', '$EBVERSIONBOWTIE2'@g" scripts/slurm_srst2.py && """ +preinstallopts += """sed -i "s@,'2.2.9'@,'2.2.9', '$EBVERSIONBOWTIE2'@g" scripts/srst2.py && """ +preinstallopts += """sed -i "s@'0.1.18',@'$EBVERSIONSAMTOOLS', '0.1.18',@g" scripts/qsub_srst2.py && """ +preinstallopts += """sed -i "s@'0.1.18',@'$EBVERSIONSAMTOOLS', '0.1.18',@g" scripts/slurm_srst2.py && """ +preinstallopts += """sed -i "s@'0.1.18',@'$EBVERSIONSAMTOOLS', '0.1.18',@g" scripts/srst2.py && """ + +fix_python_shebang_for = ['bin/*.py'] + +postinstallcmds = ["cp -a data %(installdir)s"] + +sanity_check_paths = { + 'files': ['bin/getmlst.py', 'bin/slurm_srst2.py', 'bin/srst2'], + 'dirs': ['data', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "srst2 --version", + "getmlst.py -h", + "slurm_srst2.py -h", +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SSPACE_Basic/SSPACE_Basic-2.1.1-GCC-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/s/SSPACE_Basic/SSPACE_Basic-2.1.1-GCC-10.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..ca5bbccf326 --- /dev/null +++ b/easybuild/easyconfigs/s/SSPACE_Basic/SSPACE_Basic-2.1.1-GCC-10.2.0-Python-2.7.18.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'SSPACE_Basic' +version = '2.1.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/nsoranzo/sspace_basic' +description = "SSPACE Basic, SSAKE-based Scaffolding of Pre-Assembled Contigs after Extension" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/nsoranzo/sspace_basic/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a23327a79a18e520544f0ea923b6c92ff2cc869617ade1c75e118b179caa0919'] + +dependencies = [ + ('Perl', '5.32.0'), + ('Python', '2.7.18'), + ('Bowtie', '1.3.0'), +] + +fix_perl_shebang_for = ['*.pl', 'bin/*.pl', 'tools/*.pl'] + +sanity_check_paths = { + 'files': ['dotlib/DotLib.pm', 'README', 'SSPACE_Basic.pl'], + 'dirs': ['bin', 'tools'], +} + +sanity_check_commands = [ + "SSPACE_Basic.pl 2>&1 | grep 'General Parameters'", + "perldoc -lm DotLib", + "qseq2fastq.pl 2>&1 | grep '^Usage:'", + "TQS.py --help", +] + +modextrapaths = { + 'PATH': ['', 'tools'], + 'PERL5LIB': 'dotlib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..915ce0d1e95 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.2.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': '10.2.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.35')] + +dependencies = [('zlib', '1.2.11')] + +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/SSW/SSW-1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f8abd16d82d --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-10.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': '10.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.36.1')] + +dependencies = [('zlib', '1.2.11')] + +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/SSW/SSW-1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1b8376d76c8 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.1-GCCcore-11.2.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': '11.2.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.37')] + +dependencies = [('zlib', '1.2.11')] + +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/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/SSW/SSW-1.2.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/SSW/SSW-1.2.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..38ed30716b3 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.2.4-GCCcore-10.3.0.eb @@ -0,0 +1,50 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'SSW' +version = '1.2.4' + +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': '10.3.0'} + +source_urls = ['https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/archive'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.2.4_build-cpp-lib.patch'] +checksums = [ + 'a87b1904368bffe051ab6ea538543ec1520473a5d6d94204bd6fa8e39d0cf336', # v1.2.4.tar.gz + '1513b57036d671e84921c46f24699f9d4bfc8e587811498d72c19c64942320c5', # SSW-1.2.4_build-cpp-lib.patch +] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +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': [], +} + +sanity_check_commands = ["ssw_test 2>&1 | grep 'Usage:'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch b/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch new file mode 100644 index 00000000000..52132023a07 --- /dev/null +++ b/easybuild/easyconfigs/s/SSW/SSW-1.2.4_build-cpp-lib.patch @@ -0,0 +1,88 @@ +Patch created by Jasper Grimm (UoY) +Updated by Sebastien Moretti (SIB) +Fix typo (JAVA_INLCUDES -> JAVA_INCLUDES) +Build dynamic library as well as static +Add ssw_cpp.* to library targets +Respect CPPFLAGS +--- SSW.orig/src/Makefile 2022-05-23 16:00:57.000000000 +0200 ++++ SSW/src/Makefile 2022-11-09 12:12:46.526022508 +0100 +@@ -1,46 +1,49 @@ +-CC = gcc +-CXX = g++ +-CFLAGS += -Wall -pipe -O2 ++CC ?= gcc ++CXX ?= g++ ++#CFLAGS += -Wall -pipe -O2 + #CFLAGS += -Wall -pipe -g -fsanitize=address # for debug +-CXXFLAGS := $(CFLAGS) ++#CXXFLAGS := $(CFLAGS) + LOBJS = ssw.o + LCPPOBJS = ssw_cpp.o + PROG = ssw_test +-LIB = libssw.so ++SOVERSION = 0 ++LIB = libssw.so.$(SOVERSION) + EXAMPLE = example_c + EXAMPLE_CPP = example_cpp + JAVA_JAR = ssw.jar + JAVA_LIB = libsswjni.so +-JAVA_INLCUDES = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux ++JAVA_INCLUDES = -I"$(JAVA_HOME)/include" -I"$(JAVA_HOME)/include/linux" + JAVA_OBJ = ssw/Aligner.class ssw/Alignment.class ssw/Example.class + + .PHONY: all default java clean + +-default: $(PROG) $(EXAMPLE) $(EXAMPLE_CPP) $(LIB) ++default: $(PROG) $(EXAMPLE) $(EXAMPLE_CPP) $(LIB) + core: $(PROG) + java: java_home $(JAVA_JAR) $(JAVA_LIB) + all: default java + +-$(LIB): ssw.c ssw.h +- $(CC) $(CFLAGS) -fPIC -shared -rdynamic -o $@ $< ++$(LIB): ssw.c ssw.h ssw_cpp.h ssw_cpp.cpp ++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fPIC -shared -rdynamic -Wl,-soname,$(LIB) -o $@ $^ $(LDFLAGS) ++ ln -sf $(LIB) libssw.so + +-$(PROG): main.c kseq.h ++$(PROG): main.c kseq.h $(LIB) ++ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ main.c kseq.h -L. -lssw -lm -lz $(LDFLAGS) + + $(EXAMPLE): example.c + + ifdef __arm__ # (M1) +-$(PROG) $(EXAMPLE): $(LOBJS) +- $(CC) -o $@ $(filter-out %.h,$^) $(CFLAGS) $(LDFLAGS) -lm -lz -march=armv8-a+fp+simd+crypto+crc ++$(EXAMPLE): $(LOBJS) ++ $(CC) -o $@ $(filter-out %.h,$^) $(CPPFLAGS) $(CFLAGS) -lm -lz $(LDFLAGS) -march=armv8-a+fp+simd+crypto+crc + else # x86(Intel) +-$(PROG) $(EXAMPLE): $(LOBJS) +- $(CC) -o $@ $(filter-out %.h,$^) $(CFLAGS) $(LDFLAGS) -lm -lz ++$(EXAMPLE): $(LOBJS) ++ $(CC) -o $@ $(filter-out %.h,$^) $(CPPFLAGS) $(CFLAGS) -lm -lz $(LDFLAGS) + endif + + $(EXAMPLE_CPP): example.cpp $(LOBJS) $(LCPPOBJS) +- $(CXX) -o $@ $^ $(CXXFLAGS) $(LDFLAGS) -lm -lz ++ $(CXX) -o $@ $^ $(CPPFLAGS) $(CXXFLAGS) -lm -lz $(LDFLAGS) + + $(JAVA_LIB): sswjni.c ssw.c ssw.h +- $(CC) $(CFLAGS) $(JAVA_INLCUDES) -fPIC -shared -rdynamic -o $@ $< ssw.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) $(JAVA_INCLUDES) -fPIC -shared -rdynamic -o $@ $< ssw.c $(LDFLAGS) + + $(JAVA_JAR): $(JAVA_OBJ) + jar cvfe $@ ssw.Example $^ +@@ -55,10 +58,10 @@ + endif + + ssw.o: ssw.c ssw.h +- $(CC) -c -o $@ $< $(CFLAGS) ++ $(CC) -c -o $@ $< $(CPPFLAGS) $(CFLAGS) + + ssw_cpp.o: ssw_cpp.cpp ssw_cpp.h ssw.h +- $(CXX) -c -o $@ $< $(CXXFLAGS) ++ $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) + + clean: +- -rm -f $(LOBJS) $(LCPPOBJS) $(PROG) $(LIB) $(EXAMPLE) $(EXAMPLE_CPP) $(JAVA_LIB) $(JAVA_JAR) $(JAVA_OBJ) *~ ++ -rm -f $(LOBJS) $(LCPPOBJS) $(PROG) $(LIB) $(EXAMPLE) $(EXAMPLE_CPP) $(JAVA_LIB) $(JAVA_JAR) $(JAVA_OBJ) *~ diff --git a/easybuild/easyconfigs/s/STACEY/STACEY-1.2.5-GCC-10.2.0.eb b/easybuild/easyconfigs/s/STACEY/STACEY-1.2.5-GCC-10.2.0.eb new file mode 100644 index 00000000000..f6bec5c1089 --- /dev/null +++ b/easybuild/easyconfigs/s/STACEY/STACEY-1.2.5-GCC-10.2.0.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'Tarball' + +name = 'STACEY' +version = '1.2.5' + +homepage = 'http://www.indriid.com/software.html' +description = """The BEAST2 package STACEY can be used for species delimitation and species tree estimation, +based on the multispecies coalescent model.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['http://www.indriid.com/2019/'] +sources = ['%(name)s.addon.v%(version)s.zip'] +checksums = ['a6ce3ce83ddafe3505622961c7d90e696e11b2b51246f7447d820e1b3e717b58'] + +dependencies = [ + ('Beast', '2.6.4'), +] + +sanity_check_paths = { + 'files': ['stacey.src.jar'], + 'dirs': ['lib/', 'templates/', 'examples'], +} + +# takes 5-6min using a single core +sanity_check_commands = ["beast -threads %(parallel)s %(installdir)s/examples/test1/test1.xml"] + +modextravars = {'_JAVA_OPTIONS': "-Dbeast.user.package.dir=%(installdir)s"} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-13.04.011.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-13.04.011.eb new file mode 100644 index 00000000000..916287a5174 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-13.04.011.eb @@ -0,0 +1,15 @@ +name = 'STAR-CCM+' +version = '13.04.011' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a complete multidisciplinary platform for the simulation of products and + designs operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['STAR-CCM+%(version)s_01_linux-x86_64-r8.tar.gz'] +checksums = ['aa1e41a2dbfc939612b2c2f1aa121558ff5213067757705722d01c1ee2de0b65'] + +dependencies = [('Java', '1.8')] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008-r8.eb new file mode 100644 index 00000000000..3b0dff61b6b --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008-r8.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '17.02.008' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['15a341c7140275498c294f9c573682f57f82110a99f8d59435e8fdc3943ba84c'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008.eb new file mode 100644 index 00000000000..5c454cccf3b --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.02.008.eb @@ -0,0 +1,13 @@ +name = 'STAR-CCM+' +version = '17.02.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['67bbe7215908e01d86f256f1079bb904e6898eb81e59640bcb554bed69c261eb'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008-r8.eb new file mode 100644 index 00000000000..996c1eb6f86 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008-r8.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '17.04.008' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['d267222a92ffb934983e4639cad13d9a14d15a894eab202715e230c2658b8541'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008.eb new file mode 100644 index 00000000000..56964b48ab4 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.04.008.eb @@ -0,0 +1,13 @@ +name = 'STAR-CCM+' +version = '17.04.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['c2135f473aeef46808ba4f2b8a242ed2dc15ee9918b77b8cec3ad5cc1c5837e9'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb new file mode 100644 index 00000000000..4a95d4c1766 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007-r8.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '17.06.007' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['d6417d2b778afb5e7222d0bf174e335c158b418f530f2e860cae32d1a48e4bfa'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb new file mode 100644 index 00000000000..bace577350a --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-17.06.007.eb @@ -0,0 +1,13 @@ +name = 'STAR-CCM+' +version = '17.06.007' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['b8c9d142deffde4ff9e9d8524cc2dc20e9f0035238b0ecebb8ea25e594c9165b'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb new file mode 100644 index 00000000000..503f868c691 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008-r8.eb @@ -0,0 +1,15 @@ +name = 'STAR-CCM+' +version = '18.02.008' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['20b061fbf981a9e4ce1e6ebbb7d390bbc6f400f89076adf3441a3da39f98a87c'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb new file mode 100644 index 00000000000..0100c5c4d69 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.02.008.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '18.02.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['4a9480952aef945d59452fc0a81e294e60d883539781ce989e159fdd963022a1'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006-r8.eb new file mode 100644 index 00000000000..49cda6093eb --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006-r8.eb @@ -0,0 +1,15 @@ +name = 'STAR-CCM+' +version = '18.06.006' +versionsuffix = '-r8' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%%(name)s%%(version)s_01_linux-x86_64%s.tar.gz' % versionsuffix] +checksums = ['77a46b81e93d427a1c33b78fa9ae3fa0c1de4636c749e2f2692728b0f5bb1296'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006.eb new file mode 100644 index 00000000000..7368da66b4e --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-18.06.006.eb @@ -0,0 +1,14 @@ +name = 'STAR-CCM+' +version = '18.06.006' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +download_instructions = 'Manually obtain tarball from Siemens' +sources = ['%(name)s%(version)s_01_linux-x86_64.tar.gz'] +checksums = ['476b75b859612cf816ba62ac36fdf98b47dd606114c612dea6869031582db4a5'] + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302-r8.eb new file mode 100644 index 00000000000..ad6e29a31b6 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302-r8.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'STAR-CCM+' +version = '2302' +versionsuffix = '-r8' +local_version = '18.02.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +dependencies = [('STAR-CCM+', local_version, versionsuffix)] + +check_version = False + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302.eb new file mode 100644 index 00000000000..3f1ac40dc79 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2302.eb @@ -0,0 +1,17 @@ +easyblock = 'ModuleRC' + +name = 'STAR-CCM+' +version = '2302' +local_version = '18.02.008' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +dependencies = [('STAR-CCM+', local_version)] + +check_version = False + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310-r8.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310-r8.eb new file mode 100644 index 00000000000..408462f98ca --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310-r8.eb @@ -0,0 +1,18 @@ +easyblock = 'ModuleRC' + +name = 'STAR-CCM+' +version = '2310' +versionsuffix = '-r8' +local_version = '18.06.006' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +dependencies = [('STAR-CCM+', local_version, versionsuffix)] + +check_version = False + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310.eb b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310.eb new file mode 100644 index 00000000000..706662fbe6d --- /dev/null +++ b/easybuild/easyconfigs/s/STAR-CCM+/STAR-CCM+-2310.eb @@ -0,0 +1,17 @@ +easyblock = 'ModuleRC' + +name = 'STAR-CCM+' +version = '2310' +local_version = '18.06.006' + +homepage = 'https://mdx.plm.automation.siemens.com/star-ccm-plus' +description = """STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products +operating under real-world conditions.""" + +toolchain = SYSTEM + +dependencies = [('STAR-CCM+', local_version)] + +check_version = False + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.10a_alpha_220601-GCC-10.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.10a_alpha_220601-GCC-10.3.0.eb new file mode 100644 index 00000000000..4cdab2a88f3 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10a_alpha_220601-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +# 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 +# updated by SIB software + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.10a_alpha_220601' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." +# software_license = 'LicenseMIT' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/alexdobin/STAR/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['62b0eb0fd4fc8497a1d9e1a6c3b111b532d6dc0b2576ea14ac3ed63f7b2e41ef'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +start_dir = 'source' + +buildopts = ' STAR && make STARlong' + +parallel = 1 + +files_to_copy = [ + (['source/STAR', 'source/STARlong'], 'bin'), + 'CHANGES.md', 'doc', 'extras', 'LICENSE', 'README.md', 'RELEASEnotes.md', +] + +sanity_check_paths = { + 'files': ['bin/STAR', 'bin/STARlong'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb new file mode 100644 index 00000000000..4a34f49d8fe --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-11.3.0.eb @@ -0,0 +1,50 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.10b' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-%(version)s_use-external-htslib.patch'] +checksums = [ + {'2.7.10b.tar.gz': '0d1b71de6c5be1c5d90b32130d2abcd5785a4fc7c1e9bf19cc391947f2dc46e5'}, + {'STAR-2.7.10b_use-external-htslib.patch': '1d8a24532a384b3065001c672e486b74094f162cb98829d2ec961401215de7da'}, +] + +dependencies = [ + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12'), +] + +start_dir = 'source' + +buildopts = ' %(name)s && make %(name)slong' + +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/STAR/STAR-2.7.10b-GCC-12.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-12.2.0.eb new file mode 100644 index 00000000000..4ffe3451041 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b-GCC-12.2.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.10b' + +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.2.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-%(version)s_use-external-htslib.patch'] +checksums = [ + {'2.7.10b.tar.gz': '0d1b71de6c5be1c5d90b32130d2abcd5785a4fc7c1e9bf19cc391947f2dc46e5'}, + {'STAR-2.7.10b_use-external-htslib.patch': '1d8a24532a384b3065001c672e486b74094f162cb98829d2ec961401215de7da'}, +] + +dependencies = [ + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +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/STAR/STAR-2.7.10b_use-external-htslib.patch b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b_use-external-htslib.patch new file mode 100644 index 00000000000..414186f55fc --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.10b_use-external-htslib.patch @@ -0,0 +1,111 @@ +Use external HTSlib from EasyBuild environment +see also PR https://github.com/alexdobin/STAR/pull/1586 +author: Alex Domingo (Vrije Univeristeit Brussel) +diff -Nru STAR-2.7.10b.orig/source/bam_cat.c STAR-2.7.10b/source/bam_cat.c +--- STAR-2.7.10b.orig/source/bam_cat.c 2023-02-21 14:44:38.187161000 +0100 ++++ STAR-2.7.10b/source/bam_cat.c 2023-02-21 14:46:21.311793000 +0100 +@@ -52,8 +52,8 @@ + #include + #include + +-#include "htslib/htslib/bgzf.h" +-#include "htslib/htslib/sam.h" ++#include "htslib/bgzf.h" ++#include "htslib/sam.h" + #include + + #define BUF_SIZE 0x10000 +diff -Nru STAR-2.7.10b.orig/source/bam_cat.h STAR-2.7.10b/source/bam_cat.h +--- STAR-2.7.10b.orig/source/bam_cat.h 2023-02-21 14:44:38.186786000 +0100 ++++ STAR-2.7.10b/source/bam_cat.h 2023-02-21 14:46:11.808189000 +0100 +@@ -1,7 +1,7 @@ + #ifndef CODE_bam_cat + #define CODE_bam_cat + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + + int bam_cat(int nfn, char * const *fn, const bam_hdr_t *h, const char* outbam); + +diff -Nru STAR-2.7.10b.orig/source/BAMfunctions.cpp STAR-2.7.10b/source/BAMfunctions.cpp +--- STAR-2.7.10b.orig/source/BAMfunctions.cpp 2023-02-21 14:44:38.227596000 +0100 ++++ STAR-2.7.10b/source/BAMfunctions.cpp 2023-02-21 14:46:37.915155000 +0100 +@@ -1,5 +1,5 @@ + #include "BAMfunctions.h" +-#include "htslib/htslib/kstring.h" ++#include "htslib/kstring.h" + + + string bam_cigarString (bam1_t *b) {//output CIGAR string +diff -Nru STAR-2.7.10b.orig/source/bamRemoveDuplicates.cpp STAR-2.7.10b/source/bamRemoveDuplicates.cpp +--- STAR-2.7.10b.orig/source/bamRemoveDuplicates.cpp 2023-02-21 14:44:38.193941000 +0100 ++++ STAR-2.7.10b/source/bamRemoveDuplicates.cpp 2023-02-21 14:46:30.200913252 +0100 +@@ -1,7 +1,7 @@ + #include + #include "bamRemoveDuplicates.h" + #include +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "IncludeDefine.h" + #include SAMTOOLS_BGZF_H + #include "ErrorWarning.h" +diff -Nru STAR-2.7.10b.orig/source/IncludeDefine.h STAR-2.7.10b/source/IncludeDefine.h +--- STAR-2.7.10b.orig/source/IncludeDefine.h 2023-02-21 14:44:38.231926000 +0100 ++++ STAR-2.7.10b/source/IncludeDefine.h 2023-02-21 14:46:49.536916000 +0100 +@@ -30,8 +30,8 @@ + #define ERROR_OUT string ( __FILE__ ) +":"+ to_string ( (uint) __LINE__ ) +":"+ string ( __FUNCTION__ ) + + //external libs +-#define SAMTOOLS_BGZF_H "htslib/htslib/bgzf.h" +-#define SAMTOOLS_SAM_H "htslib/htslib/sam.h" ++#define SAMTOOLS_BGZF_H "htslib/bgzf.h" ++#define SAMTOOLS_SAM_H "htslib/sam.h" + + using namespace std; + +diff -Nru STAR-2.7.10b.orig/source/Makefile STAR-2.7.10b/source/Makefile +--- STAR-2.7.10b.orig/source/Makefile 2023-02-21 14:44:38.183938000 +0100 ++++ STAR-2.7.10b/source/Makefile 2023-02-21 14:45:47.871479235 +0100 +@@ -12,8 +12,8 @@ + CXX ?= g++ + + # pre-defined flags +-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz +-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz ++LDFLAGS_shared := -pthread -L$(EBROOTHTSLIB)/lib -Bstatic -lhts -Bdynamic -lz ++LDFLAGS_static := -static -static-libgcc -pthread -L$(EBROOTHTSLIB)/lib -lhts -lz + LDFLAGS_Mac :=-pthread -lz htslib/libhts.a + LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a + LDFLAGS_gdb := $(LDFLAGS_shared) +@@ -131,7 +131,7 @@ + ifneq ($(MAKECMDGOALS),clean_solo) + ifneq ($(MAKECMDGOALS),STARforMac) + ifneq ($(MAKECMDGOALS),STARforMacGDB) +-Depend.list: $(SOURCES) parametersDefault.xxd htslib ++Depend.list: $(SOURCES) parametersDefault.xxd + echo $(SOURCES) + 'rm' -f ./Depend.list + $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list +diff -Nru STAR-2.7.10b.orig/source/signalFromBAM.h STAR-2.7.10b/source/signalFromBAM.h +--- STAR-2.7.10b.orig/source/signalFromBAM.h 2023-02-21 14:44:38.178725000 +0100 ++++ STAR-2.7.10b/source/signalFromBAM.h 2023-02-21 14:46:04.073689000 +0100 +@@ -1,6 +1,6 @@ + #ifndef CODE_signalFromBAM + #define CODE_signalFromBAM +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include + #include + #include "Stats.h" +diff -Nru STAR-2.7.10b.orig/source/STAR.cpp STAR-2.7.10b/source/STAR.cpp +--- STAR-2.7.10b.orig/source/STAR.cpp 2023-02-21 14:44:38.241555000 +0100 ++++ STAR-2.7.10b/source/STAR.cpp 2023-02-21 14:46:59.073420225 +0100 +@@ -30,7 +30,7 @@ + + #include "twoPassRunPass1.h" + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "parametersDefault.xxd" + + void usage(int usageType) { diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.2.0.eb new file mode 100644 index 00000000000..a61fe5e85bb --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.2.0.eb @@ -0,0 +1,58 @@ +# 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.11a' + +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.2.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-%(version)s_use-external-htslib.patch'] +checksums = [ + {'%(version)s.tar.gz': '542457b1a4fee73f27a581b1776e9f73ad2b4d7e790388b6dc71147bd039f99a'}, + {'STAR-%(version)s_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, +] + +builddependencies = [ + ('xxd', '9.0.1696'), +] + +dependencies = [ + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +start_dir = 'source' + +# by default this is set to -mavx2 which makes it fail on non x86 systems +prebuildopts = 'CXXFLAGS_SIMD= ' + +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/STAR/STAR-2.7.11a-GCC-12.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.3.0.eb new file mode 100644 index 00000000000..a017a2ba109 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a-GCC-12.3.0.eb @@ -0,0 +1,58 @@ +# 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.11a' + +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-%(version)s_use-external-htslib.patch'] +checksums = [ + {'%(version)s.tar.gz': '542457b1a4fee73f27a581b1776e9f73ad2b4d7e790388b6dc71147bd039f99a'}, + {'STAR-%(version)s_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, +] + +builddependencies = [ + ('xxd', '9.0.2112'), +] + +dependencies = [ + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +# by default this is set to -mavx2 which makes it fail on non x86 systems +prebuildopts = 'CXXFLAGS_SIMD= ' + +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/STAR/STAR-2.7.11a_use-external-htslib.patch b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a_use-external-htslib.patch new file mode 100644 index 00000000000..e0b024fd382 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11a_use-external-htslib.patch @@ -0,0 +1,111 @@ +# Use external HTSlib from EasyBuild environment. Based on the similar patch for v2.7.10b. +# See also PR https://github.com/alexdobin/STAR/pull/1586 +# Author: maxim-masterov (SURF) +diff -Nru STAR-2.7.11a.orig/source/BAMfunctions.cpp STAR-2.7.11a/source/BAMfunctions.cpp +--- STAR-2.7.11a.orig/source/BAMfunctions.cpp 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/BAMfunctions.cpp 2023-08-17 15:40:33.432650000 +0200 +@@ -1,5 +1,5 @@ + #include "BAMfunctions.h" +-#include "htslib/htslib/kstring.h" ++#include "htslib/kstring.h" + + + string bam_cigarString (bam1_t *b) {//output CIGAR string +diff -Nru STAR-2.7.11a.orig/source/IncludeDefine.h STAR-2.7.11a/source/IncludeDefine.h +--- STAR-2.7.11a.orig/source/IncludeDefine.h 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/IncludeDefine.h 2023-08-17 15:41:18.348816000 +0200 +@@ -30,8 +30,8 @@ + #define ERROR_OUT string ( __FILE__ ) +":"+ to_string ( (uint) __LINE__ ) +":"+ string ( __FUNCTION__ ) + + //external libs +-#define SAMTOOLS_BGZF_H "htslib/htslib/bgzf.h" +-#define SAMTOOLS_SAM_H "htslib/htslib/sam.h" ++#define SAMTOOLS_BGZF_H "htslib/bgzf.h" ++#define SAMTOOLS_SAM_H "htslib/sam.h" + + using namespace std; + +diff -Nru STAR-2.7.11a.orig/source/Makefile STAR-2.7.11a/source/Makefile +--- STAR-2.7.11a.orig/source/Makefile 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/Makefile 2023-08-17 15:42:02.606631000 +0200 +@@ -12,8 +12,8 @@ + CXX ?= g++ + + # pre-defined flags +-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz +-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz ++LDFLAGS_shared := -pthread -L$(EBROOTHTSLIB)/lib -Bstatic -lhts -Bdynamic -lz ++LDFLAGS_static := -static -static-libgcc -pthread -L$(EBROOTHTSLIB)/lib -lhts -lz + LDFLAGS_Mac :=-pthread -lz htslib/libhts.a + LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a + LDFLAGS_gdb := $(LDFLAGS_shared) +@@ -131,7 +131,7 @@ + ifneq ($(MAKECMDGOALS),clean_solo) + ifneq ($(MAKECMDGOALS),STARforMac) + ifneq ($(MAKECMDGOALS),STARforMacGDB) +-Depend.list: $(SOURCES) parametersDefault.xxd htslib ++Depend.list: $(SOURCES) parametersDefault.xxd + echo $(SOURCES) + 'rm' -f ./Depend.list + $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list +diff -Nru STAR-2.7.11a.orig/source/STAR.cpp STAR-2.7.11a/source/STAR.cpp +--- STAR-2.7.11a.orig/source/STAR.cpp 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/STAR.cpp 2023-08-17 15:42:41.072327000 +0200 +@@ -30,7 +30,7 @@ + + #include "twoPassRunPass1.h" + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "parametersDefault.xxd" + + void usage(int usageType) +diff -Nru STAR-2.7.11a.orig/source/bamRemoveDuplicates.cpp STAR-2.7.11a/source/bamRemoveDuplicates.cpp +--- STAR-2.7.11a.orig/source/bamRemoveDuplicates.cpp 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/bamRemoveDuplicates.cpp 2023-08-17 15:40:50.759887000 +0200 +@@ -1,7 +1,7 @@ + #include + #include "bamRemoveDuplicates.h" + #include +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include "IncludeDefine.h" + #include SAMTOOLS_BGZF_H + #include "ErrorWarning.h" +diff -Nru STAR-2.7.11a.orig/source/bam_cat.c STAR-2.7.11a/source/bam_cat.c +--- STAR-2.7.11a.orig/source/bam_cat.c 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/bam_cat.c 2023-08-17 15:39:38.314318000 +0200 +@@ -52,8 +52,8 @@ + #include + #include + +-#include "htslib/htslib/bgzf.h" +-#include "htslib/htslib/sam.h" ++#include "htslib/bgzf.h" ++#include "htslib/sam.h" + #include + + #define BUF_SIZE 0x10000 +diff -Nru STAR-2.7.11a.orig/source/bam_cat.h STAR-2.7.11a/source/bam_cat.h +--- STAR-2.7.11a.orig/source/bam_cat.h 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/bam_cat.h 2023-08-17 15:39:59.175559315 +0200 +@@ -1,7 +1,7 @@ + #ifndef CODE_bam_cat + #define CODE_bam_cat + +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + + int bam_cat(int nfn, char * const *fn, const bam_hdr_t *h, const char* outbam); + +diff -Nru STAR-2.7.11a.orig/source/signalFromBAM.h STAR-2.7.11a/source/signalFromBAM.h +--- STAR-2.7.11a.orig/source/signalFromBAM.h 2023-08-15 21:21:58.000000000 +0200 ++++ STAR-2.7.11a/source/signalFromBAM.h 2023-08-17 15:42:27.321267434 +0200 +@@ -1,6 +1,6 @@ + #ifndef CODE_signalFromBAM + #define CODE_signalFromBAM +-#include "htslib/htslib/sam.h" ++#include "htslib/sam.h" + #include + #include + #include "Stats.h" 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..67cac5d0f47 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-12.3.0.eb @@ -0,0 +1,58 @@ +# 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'}, +] + +builddependencies = [ + ('xxd', '9.0.2112'), +] + +dependencies = [ + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +# by default this is set to -mavx2 which makes it fail on non x86 systems +prebuildopts = 'CXXFLAGS_SIMD= ' + +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/STAR/STAR-2.7.11b-GCC-13.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb new file mode 100644 index 00000000000..886aa0a24c5 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b-GCC-13.2.0.eb @@ -0,0 +1,58 @@ +# 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': '13.2.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'}, +] + +builddependencies = [ + ('xxd', '9.1.0307'), +] + +dependencies = [ + ('HTSlib', '1.19.1'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +# by default this is set to -mavx2 which makes it fail on non x86 systems +prebuildopts = 'CXXFLAGS_SIMD= ' + +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/STAR/STAR-2.7.11b_alpha_2024-02-09-GCC-12.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b_alpha_2024-02-09-GCC-12.3.0.eb new file mode 100644 index 00000000000..a0a119a428c --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.11b_alpha_2024-02-09-GCC-12.3.0.eb @@ -0,0 +1,57 @@ +# 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_alpha_2024-02-09' + +homepage = 'https://github.com/dobinlab/STAR_pre_releases' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/dobinlab/STAR_pre_releases/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['STAR-2.7.11a_use-external-htslib.patch'] +checksums = [ + {'2.7.11b_alpha_2024-02-09.tar.gz': '7a7bae1f802fc5bc5b270da89e66a824480fb33e21f7ebfbf7ed56e1d4907c1c'}, + {'STAR-2.7.11a_use-external-htslib.patch': '2fdc3ed9372d983f77d861d6f16a60a553598358dce9ff8216f96eb20e63ce4e'}, +] + +builddependencies = [ + ('xxd', '9.0.2112'), +] + +dependencies = [ + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), +] + +start_dir = 'source' + +# by default this is set to -mavx2 which makes it fail on non x86 systems +prebuildopts = 'CXXFLAGS_SIMD= ' + +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/STAR/STAR-2.7.9a-GCC-10.3.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.9a-GCC-10.3.0.eb new file mode 100644 index 00000000000..a30aeb95848 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.9a-GCC-10.3.0.eb @@ -0,0 +1,41 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.9a' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/alexdobin/STAR/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ff52c9d6daaa9fb7261efa3aa49ef6ce5262aa089b0762a3cbc751e81321050e'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +start_dir = 'source' + +buildopts = ' STAR && make STARlong' + +parallel = 1 + +files_to_copy = [ + (['source/STAR', 'source/STARlong'], 'bin'), + 'CHANGES.md', 'doc', 'extras', 'LICENSE', 'README.md', 'RELEASEnotes.md', +] + +sanity_check_paths = { + 'files': ['bin/STAR', 'bin/STARlong'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/STAR/STAR-2.7.9a-GCC-11.2.0.eb b/easybuild/easyconfigs/s/STAR/STAR-2.7.9a-GCC-11.2.0.eb new file mode 100644 index 00000000000..f43ea1e30a6 --- /dev/null +++ b/easybuild/easyconfigs/s/STAR/STAR-2.7.9a-GCC-11.2.0.eb @@ -0,0 +1,42 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'STAR' +version = '2.7.9a' + +homepage = 'https://github.com/alexdobin/STAR' +description = "STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'openmp': True} + +github_account = 'alexdobin' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['ff52c9d6daaa9fb7261efa3aa49ef6ce5262aa089b0762a3cbc751e81321050e'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +start_dir = 'source' + +buildopts = ' %(name)s && make %(name)slong' + +parallel = 1 + +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': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/STEAK/STEAK-2019.09.12-foss-2021b.eb b/easybuild/easyconfigs/s/STEAK/STEAK-2019.09.12-foss-2021b.eb new file mode 100644 index 00000000000..f7622c248f7 --- /dev/null +++ b/easybuild/easyconfigs/s/STEAK/STEAK-2019.09.12-foss-2021b.eb @@ -0,0 +1,40 @@ +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# Toolchain bumped to foss-2021b +# +easyblock = 'MakeCp' + +name = 'STEAK' +version = '2019.09.12' + +homepage = 'https://omictools.com/steak-tool' +description = """Detects integrations of any sort in high-throughput +sequencing (HTS) data. STEAK was built for validating and discovering +transposable element (TE) and retroviral integrations in a variety of +HTS data. The software performs on both single-end (SE) and paired-end ( +PE) libraries and on a variety of HTS sequencing strategies. It can +be applied to a broad range of research interests and clinical uses +such as population genetic studies and detecting polymorphic integrations.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/applevir/STEAK/archive/'] +sources = [ + {'download_filename': '43f079da8bbc37a34efd7b3a0a6955a13f6d4137.tar.gz', + 'filename': 'steak-20190912.tar.gz'} +] +checksums = ['f200865e2588c2a037527ad4cf8d2b6539217d7e9bf8f515b99e4288eb682b37'] + +dependencies = [ + ('Boost', '1.77.0'), +] + +files_to_copy = [(['steak'], 'bin'), "README.md", "GPLv3.txt"] + +sanity_check_paths = { + 'files': ['bin/steak'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb new file mode 100644 index 00000000000..a8616f8d1a6 --- /dev/null +++ b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CmdCp' + +name = 'STREAM' +version = '5.10' + +homepage = 'https://www.cs.virginia.edu/stream/' +description = """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable + memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://www.cs.virginia.edu/stream/FTP/Code/'] +sources = [{'download_filename': '%(namelower)s.c', 'filename': 'stream-%(version)s.c', 'extract_cmd': "cp %s ."}] +checksums = ['a52bae5e175bea3f7832112af9c085adab47117f7d2ce219165379849231692b'] + +# 10 million array elements (1000 runs): requires ~224MB of memory +local_cmds = "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=1000 -o stream_1Kx10M; " +# 100 million array elements (1000 runs): requires ~2.2GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 -o stream_1Kx100M; " +# 1 billion array elements (1000 runs): requires ~22.4 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=1000000000 -DNTIMES=1000 -o stream_1Kx1B; " +# 2.5 billion array elements (1000 runs): requires ~56 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=2500000000 -DNTIMES=1000 -o stream_1Kx2.5B; " +# 5 billion array elements (1000 runs): requires ~111 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=5000000000 -DNTIMES=1000 -o stream_1Kx5B; " + +cmds_map = [('stream-%(version)s.c', local_cmds)] + +files_to_copy = [(['stream_1Kx10M', 'stream_1Kx100M', 'stream_1Kx1B', 'stream_1Kx2.5B', 'stream_1Kx5B'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/stream_1Kx10M', 'bin/stream_1Kx100M', 'bin/stream_1Kx1B', 'bin/stream_1Kx2.5B', 'bin/stream_1Kx5B'], + 'dirs': [], +} + +tests = ['%(installdir)s/bin/stream_1Kx10M'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..c2939d47766 --- /dev/null +++ b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2022.2.1.eb @@ -0,0 +1,39 @@ +easyblock = 'CmdCp' + +name = 'STREAM' +version = '5.10' + +homepage = 'https://www.cs.virginia.edu/stream/' +description = """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable + memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.""" + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} +toolchainopts = {'openmp': True} + +source_urls = ['https://www.cs.virginia.edu/stream/FTP/Code/'] +sources = [{'download_filename': '%(namelower)s.c', 'filename': 'stream-%(version)s.c', 'extract_cmd': "cp %s ."}] +checksums = ['a52bae5e175bea3f7832112af9c085adab47117f7d2ce219165379849231692b'] + +# 10 million array elements (1000 runs): requires ~224MB of memory +local_cmds = "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=1000 -o stream_1Kx10M; " +# 100 million array elements (1000 runs): requires ~2.2GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 -o stream_1Kx100M; " +# 1 billion array elements (1000 runs): requires ~22.4 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=1000000000 -DNTIMES=1000 -o stream_1Kx1B; " +# 2.5 billion array elements (1000 runs): requires ~56 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=2500000000 -DNTIMES=1000 -o stream_1Kx2.5B; " +# 5 billion array elements (1000 runs): requires ~111 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=5000000000 -DNTIMES=1000 -o stream_1Kx5B; " + +cmds_map = [('stream-%(version)s.c', local_cmds)] + +files_to_copy = [(['stream_1Kx10M', 'stream_1Kx100M', 'stream_1Kx1B', 'stream_1Kx2.5B', 'stream_1Kx5B'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/stream_1Kx10M', 'bin/stream_1Kx100M', 'bin/stream_1Kx1B', 'bin/stream_1Kx2.5B', 'bin/stream_1Kx5B'], + 'dirs': [], +} + +tests = ['%(installdir)s/bin/stream_1Kx10M'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2024.2.0.eb b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2024.2.0.eb new file mode 100644 index 00000000000..17fdbcab3a4 --- /dev/null +++ b/easybuild/easyconfigs/s/STREAM/STREAM-5.10-intel-compilers-2024.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CmdCp' + +name = 'STREAM' +version = '5.10' + +homepage = 'https://www.cs.virginia.edu/stream/' +description = """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable + memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.""" + +toolchain = {'name': 'intel-compilers', 'version': '2024.2.0'} +toolchainopts = {'openmp': True} + +source_urls = ['https://www.cs.virginia.edu/stream/FTP/Code/'] +sources = [{'download_filename': '%(namelower)s.c', 'filename': 'stream-%(version)s.c', 'extract_cmd': "cp %s ."}] +checksums = ['a52bae5e175bea3f7832112af9c085adab47117f7d2ce219165379849231692b'] + +# 10 million array elements (1000 runs): requires ~224MB of memory +local_cmds = "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=1000 -o stream_1Kx10M; " +# 100 million array elements (1000 runs): requires ~2.2GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=100000000 -DNTIMES=1000 -o stream_1Kx100M; " +# 1 billion array elements (1000 runs): requires ~22.4 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=1000000000 -DNTIMES=1000 -o stream_1Kx1B; " +# 2.5 billion array elements (1000 runs): requires ~56 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=2500000000 -DNTIMES=1000 -o stream_1Kx2.5B; " +# 5 billion array elements (1000 runs): requires ~111 GiB of memory +local_cmds += "$CC $CFLAGS %(source)s -mcmodel=large -DSTREAM_ARRAY_SIZE=5000000000 -DNTIMES=1000 -o stream_1Kx5B; " + +cmds_map = [('stream-%(version)s.c', local_cmds)] + +files_to_copy = [(['stream_1Kx10M', 'stream_1Kx100M', 'stream_1Kx1B', 'stream_1Kx2.5B', 'stream_1Kx5B'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/stream_1Kx10M', 'bin/stream_1Kx100M', 'bin/stream_1Kx1B', 'bin/stream_1Kx2.5B', 'bin/stream_1Kx5B'], + 'dirs': [], +} + +tests = ['%(installdir)s/bin/stream_1Kx10M'] + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-foss-2020b.eb b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-foss-2020b.eb new file mode 100644 index 00000000000..7dd06980ec6 --- /dev/null +++ b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-foss-2020b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'STRUMPACK' +version = '6.1.0' + +homepage = 'https://fastmath-scidac.llnl.gov/software/strumpack.html' +description = """STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner + for both dense and sparse systems using low-rank structured factorization with randomized sampling.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/pghysels/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['219ec7360594172464aafa6ecac1fd161097db6fb9ee35af5c1ca61531f4f5c4'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('ParMETIS', '4.0.3'), + ('SCOTCH', '6.1.0'), +] + +configopts = '-DSTRUMPACK_USE_OPENMP=ON ' +configopts += '-DTPL_METIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_METIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_PARMETIS=ON ' +configopts += '-DTPL_PARMETIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_PARMETIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_SCOTCH=ON ' +configopts += '-DTPL_SCOTCH_INCLUDE_DIRS=${EBROOTSCOTCH}/include ' +configopts += '-DTPL_SCOTCH_LIBRARY_DIR=${EBROOTSCOTCH}/lib ' +configopts += '-DTPL_ENABLE_BPACK=OFF ' +configopts += '-DTPL_ENABLE_ZFP=OFF ' +configopts += '-DTPL_ENABLE_SLATE=OFF ' + +sanity_check_paths = { + 'files': ['lib/libstrumpack.a'], + 'dirs': ['include/%s' % x for x in ['BLR', 'clustering', 'dense', 'HSS', 'kernel', 'misc', 'python', 'sparse']] + + ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-intel-2020b.eb b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-intel-2020b.eb new file mode 100644 index 00000000000..4f358cbc2f3 --- /dev/null +++ b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-6.1.0-intel-2020b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'STRUMPACK' +version = '6.1.0' + +homepage = 'https://fastmath-scidac.llnl.gov/software/strumpack.html' +description = """STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner + for both dense and sparse systems using low-rank structured factorization with randomized sampling.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/pghysels/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['219ec7360594172464aafa6ecac1fd161097db6fb9ee35af5c1ca61531f4f5c4'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('ParMETIS', '4.0.3'), + ('SCOTCH', '6.1.0'), +] + +configopts = '-DSTRUMPACK_USE_OPENMP=ON ' +configopts += '-DTPL_SCALAPACK_LIBRARIES="${LIBSCALAPACK_MT}" ' +configopts += '-DTPL_METIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_METIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_PARMETIS=ON ' +configopts += '-DTPL_PARMETIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_PARMETIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_SCOTCH=ON ' +configopts += '-DTPL_SCOTCH_INCLUDE_DIRS=${EBROOTSCOTCH}/include ' +configopts += '-DTPL_SCOTCH_LIBRARY_DIR=${EBROOTSCOTCH}/lib ' +configopts += '-DTPL_ENABLE_BPACK=OFF ' +configopts += '-DTPL_ENABLE_ZFP=OFF ' +configopts += '-DTPL_ENABLE_SLATE=OFF ' + +sanity_check_paths = { + 'files': ['lib/libstrumpack.a'], + 'dirs': ['include/%s' % x for x in ['BLR', 'clustering', 'dense', 'HSS', 'kernel', 'misc', 'python', 'sparse']] + + ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-foss-2023b.eb b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-foss-2023b.eb new file mode 100644 index 00000000000..dd1f8cff948 --- /dev/null +++ b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-foss-2023b.eb @@ -0,0 +1,46 @@ +easyblock = 'CMakeMake' + +name = 'STRUMPACK' +version = '7.1.0' + +homepage = 'https://fastmath-scidac.llnl.gov/software/strumpack.html' +description = """STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner + for both dense and sparse systems using low-rank structured factorization with randomized sampling.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/pghysels/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a3e80e0530ea1cc6b62c22699cfe5f02f81794321f225440f0e08bceed69c241'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('ParMETIS', '4.0.3'), + ('SCOTCH', '7.0.4'), +] + +configopts = '-DSTRUMPACK_USE_OPENMP=ON ' +configopts += '-DTPL_METIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_METIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_PARMETIS=ON ' +configopts += '-DTPL_PARMETIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_PARMETIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_SCOTCH=ON ' +configopts += '-DTPL_SCOTCH_INCLUDE_DIRS=${EBROOTSCOTCH}/include ' +configopts += '-DTPL_SCOTCH_LIBRARY_DIR=${EBROOTSCOTCH}/lib ' +configopts += '-DTPL_ENABLE_BPACK=OFF ' +configopts += '-DTPL_ENABLE_ZFP=OFF ' +configopts += '-DTPL_ENABLE_SLATE=OFF ' + +sanity_check_paths = { + 'files': ['lib/libstrumpack.a'], + 'dirs': ['include/%s' % x for x in ['BLR', 'clustering', 'dense', 'HSS', 'kernel', 'misc', 'python', 'sparse']] + + ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-intel-2023b.eb b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-intel-2023b.eb new file mode 100644 index 00000000000..b6ff89201c8 --- /dev/null +++ b/easybuild/easyconfigs/s/STRUMPACK/STRUMPACK-7.1.0-intel-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'CMakeMake' + +name = 'STRUMPACK' +version = '7.1.0' + +homepage = 'https://fastmath-scidac.llnl.gov/software/strumpack.html' +description = """STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner + for both dense and sparse systems using low-rank structured factorization with randomized sampling.""" + +toolchain = {'name': 'intel', 'version': '2023b'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/pghysels/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a3e80e0530ea1cc6b62c22699cfe5f02f81794321f225440f0e08bceed69c241'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('ParMETIS', '4.0.3'), + ('SCOTCH', '7.0.4'), +] + +configopts = '-DSTRUMPACK_USE_OPENMP=ON ' +configopts += '-DTPL_SCALAPACK_LIBRARIES="${LIBSCALAPACK_MT}" ' +configopts += '-DTPL_METIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_METIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_PARMETIS=ON ' +configopts += '-DTPL_PARMETIS_INCLUDE_DIRS=${EBROOTPARMETIS}/include ' +configopts += '-DTPL_PARMETIS_LIBRARY_DIR=${EBROOTPARMETIS}/lib ' +configopts += '-DTPL_ENABLE_SCOTCH=ON ' +configopts += '-DTPL_SCOTCH_INCLUDE_DIRS=${EBROOTSCOTCH}/include ' +configopts += '-DTPL_SCOTCH_LIBRARY_DIR=${EBROOTSCOTCH}/lib ' +configopts += '-DTPL_ENABLE_BPACK=OFF ' +configopts += '-DTPL_ENABLE_ZFP=OFF ' +configopts += '-DTPL_ENABLE_SLATE=OFF ' + +sanity_check_paths = { + 'files': ['lib/libstrumpack.a'], + 'dirs': ['include/%s' % x for x in ['BLR', 'clustering', 'dense', 'HSS', 'kernel', 'misc', 'python', 'sparse']] + + ['lib'], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb new file mode 100644 index 00000000000..69fdbfcbd24 --- /dev/null +++ b/easybuild/easyconfigs/s/STRique/STRique-0.4.2-foss-2021b.eb @@ -0,0 +1,79 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Jakub Zarybnicky (INUITS), Denis Kristak (INUITS) + +easyblock = 'PythonBundle' + +name = 'STRique' +version = '0.4.2' + +homepage = 'https://github.com/giesselmann/STRique' +description = """STRique is a python package to analyze repeat expansion and +methylation states of short tandem repeats (STR) in Oxford Nanopore Technology +(ONT) long read sequencing data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('zlib', '1.2.11'), + ('h5py', '3.6.0'), + ('SeqAn', '2.4.0'), + ('PyYAML', '5.4.1'), + ('networkx', '2.6.3'), + ('scikit-image', '0.19.1'), +] + +local_preconfigopts = r"sed -i -e '/\ %(installdir)s/bin/STRique', + 'cat <(echo "#!/usr/bin/env python") scripts/STRique_test.py > %(installdir)s/bin/STRique_test', + 'cat <(echo "#!/usr/bin/env python") scripts/fast5Masker.py > %(installdir)s/bin/fast5Masker', + 'chmod +x %(installdir)s/bin/*', + ], + 'preconfigopts': local_preconfigopts, + 'sources': [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/giesselmann', + 'repo_name': 'STRique', 'commit': '585273215abff7956f5d6277601f0a6be2211a96', + 'recursive': True + } + }], + 'checksums': [None], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/STRique', 'bin/fast5Masker'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} +sanity_check_commands = ['STRique count --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SUMO/SUMO-1.0.0_fix-link-flags.patch b/easybuild/easyconfigs/s/SUMO/SUMO-1.0.0_fix-link-flags.patch new file mode 100644 index 00000000000..6df89ea692a --- /dev/null +++ b/easybuild/easyconfigs/s/SUMO/SUMO-1.0.0_fix-link-flags.patch @@ -0,0 +1,17 @@ +Remove duplicate linker flags from fox-config +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/build/cmake_modules/FindFOX.cmake.orig b/build/cmake_modules/FindFOX.cmake +index 6d7b7b4..37f5934 100644 +--- a/build/cmake_modules/FindFOX.cmake.orig ++++ b/build/cmake_modules/FindFOX.cmake +@@ -16,6 +16,10 @@ endif(FOX_CONFIG) + set(FOX_FOUND 0) + # if fox-config was executed successfully, fox was found + if(FOX_LIBRARY AND FOX_CXX_FLAGS) ++ # remove duplicate link flags ++ separate_arguments(FOX_LIBRARY) ++ list(REMOVE_DUPLICATES FOX_LIBRARY) ++ string(REPLACE ";" " " FOX_LIBRARY "${FOX_LIBRARY}") + SET(FOX_FOUND TRUE) + else() + # In Windows system, find the fox directory using as hint the environment variable "FOX_INCLUDE_DIR" diff --git a/easybuild/easyconfigs/s/SUMO/SUMO-1.12.0-foss-2021b.eb b/easybuild/easyconfigs/s/SUMO/SUMO-1.12.0-foss-2021b.eb new file mode 100644 index 00000000000..5d5ce7762a7 --- /dev/null +++ b/easybuild/easyconfigs/s/SUMO/SUMO-1.12.0-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'SUMO' +version = '1.12.0' + +homepage = 'https://www.eclipse.org/sumo/' +description = """Simulation of Urban MObility" (SUMO) is an open source, highly portable, +microscopic and continuous traffic simulation package designed to handle large +networks. It allows for intermodal simulation including pedestrians and comes +with a large set of tools for scenario creation.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'eclipse' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '_')] +patches = ['SUMO-1.0.0_fix-link-flags.patch'] +checksums = [ + '049f5f50d1d27352d868cbb4b2a4b59bc0a913ef792b619c1adf1a289b3e48a7', # v1_12_0.tar.gz + 'fe7ef229baeba8a4ea2608f18f531ffbe31da16a274f7383e0d8e30d99e63e87', # SUMO-1.0.0_fix-link-flags.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('SWIG', '4.0.2'), + ('Java', '11', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Xerces-C++', '3.2.3'), + ('FOX-Toolkit', '1.6.57'), + ('GL2PS', '1.4.2'), + ('GDAL', '3.3.2'), + ('PROJ', '8.1.0'), +] + +local_sumo_home = 'share/sumo' +local_pythonpath = 'lib/python%(pyshortver)s/site-packages' +local_bins = ['activitygen', 'dfrouter', 'duarouter', 'emissionsDrivingCycle', 'emissionsMap', 'jtrrouter', + 'marouter', 'netconvert', 'netgenerate', 'od2trips', 'polyconvert', 'sumo', 'sumo-gui'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + + ['%s/libsumo/_libsumo.%s' % (local_pythonpath, SHLIB_EXT)], + 'dirs': [local_sumo_home, local_pythonpath], +} + +sanity_check_commands = [ + 'sumo --help', + "python -c 'import libsumo'", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'SUMO_HOME': 'share/sumo', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SUMO/SUMO-1.14.1-foss-2021b.eb b/easybuild/easyconfigs/s/SUMO/SUMO-1.14.1-foss-2021b.eb new file mode 100644 index 00000000000..fb78dda30bc --- /dev/null +++ b/easybuild/easyconfigs/s/SUMO/SUMO-1.14.1-foss-2021b.eb @@ -0,0 +1,59 @@ +easyblock = 'CMakeMake' + +name = 'SUMO' +version = '1.14.1' + +homepage = 'https://www.eclipse.org/sumo/' +description = """Simulation of Urban MObility" (SUMO) is an open source, highly portable, +microscopic and continuous traffic simulation package designed to handle large +networks. It allows for intermodal simulation including pedestrians and comes +with a large set of tools for scenario creation.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'eclipse' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%s.tar.gz' % version.replace('.', '_')] +patches = ['SUMO-1.0.0_fix-link-flags.patch'] +checksums = [ + '46ee6080902bb9056a1aa6fae72a270d7cfa44642487246760493b4742a2fd24', # v1_14_1.tar.gz + 'fe7ef229baeba8a4ea2608f18f531ffbe31da16a274f7383e0d8e30d99e63e87', # SUMO-1.0.0_fix-link-flags.patch +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('SWIG', '4.0.2'), + ('Java', '11', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Xerces-C++', '3.2.3'), + ('FOX-Toolkit', '1.6.57'), + ('GL2PS', '1.4.2'), + ('GDAL', '3.3.2'), + ('PROJ', '8.1.0'), +] + +local_sumo_home = 'share/sumo' +local_pythonpath = 'lib/python%(pyshortver)s/site-packages' +local_bins = ['activitygen', 'dfrouter', 'duarouter', 'emissionsDrivingCycle', 'emissionsMap', 'jtrrouter', + 'marouter', 'netconvert', 'netgenerate', 'od2trips', 'polyconvert', 'sumo', 'sumo-gui'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + + ['%s/libsumo/_libsumo.%s' % (local_pythonpath, SHLIB_EXT)], + 'dirs': [local_sumo_home, local_pythonpath], +} + +sanity_check_commands = [ + 'sumo --help', + "python -c 'import libsumo'", +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', + 'SUMO_HOME': 'share/sumo', +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SUMO/SUMO-1.7.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/s/SUMO/SUMO-1.7.0-foss-2020a-Python-3.8.2.eb index acdae5cac59..eb4f55f2430 100644 --- a/easybuild/easyconfigs/s/SUMO/SUMO-1.7.0-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/SUMO/SUMO-1.7.0-foss-2020a-Python-3.8.2.eb @@ -4,47 +4,46 @@ name = 'SUMO' version = '1.7.0' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://sumo.dlr.de/' -description = """ -"Simulation of Urban MObility" (SUMO) is an open source, highly portable, microscopic and continuous traffic simulation -package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a -large set of tools for scenario creation. -""" +homepage = 'https://www.eclipse.org/sumo/' +description = """Simulation of Urban MObility" (SUMO) is an open source, highly portable, +microscopic and continuous traffic simulation package designed to handle large +networks. It allows for intermodal simulation including pedestrians and comes +with a large set of tools for scenario creation.""" toolchain = {'name': 'foss', 'version': '2020a'} source_urls = ['https://github.com/eclipse/sumo/archive/'] sources = ['v%s.tar.gz' % version.replace('.', '_')] -checksums = ['db0868318f2a602475a15ba8b83d30b686e6283b3ff753b9d112217529f2893b'] +patches = ['SUMO-1.0.0_fix-link-flags.patch'] +checksums = [ + 'db0868318f2a602475a15ba8b83d30b686e6283b3ff753b9d112217529f2893b', # v1_7_0.tar.gz + 'fe7ef229baeba8a4ea2608f18f531ffbe31da16a274f7383e0d8e30d99e63e87', # SUMO-1.0.0_fix-link-flags.patch +] builddependencies = [ ('CMake', '3.16.4'), ('SWIG', '4.0.1'), + ('Java', '11', '', SYSTEM), ] dependencies = [ ('Python', '3.8.2'), ('Xerces-C++', '3.2.3'), + ('FOX-Toolkit', '1.6.57'), ('GL2PS', '1.4.2'), ('GDAL', '3.0.4', versionsuffix), ('PROJ', '7.0.0'), - ('FoX', '4.1.2'), ] -separate_build_dir = True - -modextrapaths = { - 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', - 'SUMO_HOME': 'share/sumo', -} - +local_sumo_home = 'share/sumo' +local_pythonpath = 'lib/python%(pyshortver)s/site-packages' local_bins = ['activitygen', 'dfrouter', 'duarouter', 'emissionsDrivingCycle', 'emissionsMap', 'jtrrouter', - 'marouter', 'netconvert', 'netgenerate', 'od2trips', 'polyconvert', 'sumo'] + 'marouter', 'netconvert', 'netgenerate', 'od2trips', 'polyconvert', 'sumo', 'sumo-gui'] sanity_check_paths = { 'files': ['bin/%s' % x for x in local_bins] + - ['lib/python%%(pyshortver)s/site-packages/libsumo/_libsumo.%s' % SHLIB_EXT], - 'dirs': ['bin', 'lib', 'share'], + ['%s/libsumo/_libsumo.%s' % (local_pythonpath, SHLIB_EXT)], + 'dirs': [local_sumo_home, local_pythonpath], } sanity_check_commands = [ @@ -52,4 +51,9 @@ sanity_check_commands = [ "python -c 'import libsumo'", ] +modextrapaths = { + 'SUMO_HOME': local_sumo_home, + 'PYTHONPATH': local_pythonpath, +} + moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-foss-2019b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-foss-2019b.eb index d41c0493821..262e01cdaf4 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-foss-2019b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-foss-2019b.eb @@ -3,14 +3,14 @@ easyblock = 'CMakeMake' name = 'SUNDIALS' version = '5.1.0' -homepage = 'https://computation.llnl.gov/projects/sundials' +homepage = 'https://computing.llnl.gov/projects/sundials' description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} -source_urls = ['https://computation.llnl.gov/projects/sundials/download/'] +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['fb22d14fad42203809dc46d046b001149ec4e901b23882bd4a80619157fd9b21'] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-intel-2019b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-intel-2019b.eb index 5418498d31f..37c34c0232f 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-intel-2019b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.1.0-intel-2019b.eb @@ -3,14 +3,14 @@ easyblock = 'CMakeMake' name = 'SUNDIALS' version = '5.1.0' -homepage = 'https://computation.llnl.gov/projects/sundials' +homepage = 'https://computing.llnl.gov/projects/sundials' description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} -source_urls = ['https://computation.llnl.gov/projects/sundials/download/'] +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['fb22d14fad42203809dc46d046b001149ec4e901b23882bd4a80619157fd9b21'] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-foss-2020b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-foss-2020b.eb index cf95385b969..29b35cb8304 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-foss-2020b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-foss-2020b.eb @@ -3,16 +3,19 @@ easyblock = 'CMakeMake' name = 'SUNDIALS' version = '5.7.0' -homepage = 'https://computation.llnl.gov/projects/sundials' +homepage = 'https://computing.llnl.gov/projects/sundials' description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" toolchain = {'name': 'foss', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} -source_urls = ['https://computation.llnl.gov/projects/sundials/download/'] +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3'] +# two valid checksums: one for original source tarball downloaded from computation.llnl.gov, +# other for new source tarball downloaded from GitHub +checksums = [('8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3', + '48da7baa8152ddb22aed1b02d82d1dbb4fbfea22acf67634011aa0303a100a43')] builddependencies = [('CMake', '3.18.4')] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-fosscuda-2020b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-fosscuda-2020b.eb index 33df49c169e..52675e145f0 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-fosscuda-2020b.eb @@ -3,16 +3,19 @@ easyblock = 'CMakeMake' name = 'SUNDIALS' version = '5.7.0' -homepage = 'https://computation.llnl.gov/projects/sundials' +homepage = 'https://computing.llnl.gov/projects/sundials' description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" toolchain = {'name': 'fosscuda', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} -source_urls = ['https://computation.llnl.gov/projects/sundials/download/'] +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3'] +# two valid checksums: one for original source tarball downloaded from computation.llnl.gov, +# other for new source tarball downloaded from GitHub +checksums = [('8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3', + '48da7baa8152ddb22aed1b02d82d1dbb4fbfea22acf67634011aa0303a100a43')] builddependencies = [('CMake', '3.18.4')] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-intel-2020b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-intel-2020b.eb index 218050a7703..76e6c5a3a94 100644 --- a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-intel-2020b.eb +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-5.7.0-intel-2020b.eb @@ -3,16 +3,19 @@ easyblock = 'CMakeMake' name = 'SUNDIALS' version = '5.7.0' -homepage = 'https://computation.llnl.gov/projects/sundials' +homepage = 'https://computing.llnl.gov/projects/sundials' description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" toolchain = {'name': 'intel', 'version': '2020b'} toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} -source_urls = ['https://computation.llnl.gov/projects/sundials/download/'] +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -checksums = ['8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3'] +# two valid checksums: one for original source tarball downloaded from computation.llnl.gov, +# other for new source tarball downloaded from GitHub +checksums = [('8d6dd094feccbb8d6ecc41340ec16a65fabac82ed4415023f6d7c1c2390ea2f3', + '48da7baa8152ddb22aed1b02d82d1dbb4fbfea22acf67634011aa0303a100a43')] builddependencies = [('CMake', '3.18.4')] diff --git a/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.2.0-foss-2020b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.2.0-foss-2020b.eb new file mode 100644 index 00000000000..2d5442b1329 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.2.0-foss-2020b.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.2.0' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['195d5593772fc483f63f08794d79e4bab30c2ec58e6ce4b0fb6bcc0e0c48f31d'] + +builddependencies = [('CMake', '3.18.4')] + +separate_build_dir = True + +configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" + +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.2.0-intel-2020b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.2.0-intel-2020b.eb new file mode 100644 index 00000000000..1637aac0c64 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.2.0-intel-2020b.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.2.0' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['195d5593772fc483f63f08794d79e4bab30c2ec58e6ce4b0fb6bcc0e0c48f31d'] + +builddependencies = [('CMake', '3.18.4')] + +separate_build_dir = True + +configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" + +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.3.0-foss-2021b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.3.0-foss-2021b.eb new file mode 100644 index 00000000000..12e9f082554 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.3.0-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.3.0' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89a22bea820ff250aa7239f634ab07fa34efe1d2dcfde29cc8d3af11455ba2a7'] + +builddependencies = [('CMake', '3.22.1')] + +separate_build_dir = True + +configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" + +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.3.0-foss-2022a.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.3.0-foss-2022a.eb new file mode 100644 index 00000000000..3ab52d26040 --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.3.0-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.3.0' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['89a22bea820ff250aa7239f634ab07fa34efe1d2dcfde29cc8d3af11455ba2a7'] + +builddependencies = [('CMake', '3.23.1')] + +separate_build_dir = True + +configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" + +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.5.1-foss-2022a.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.5.1-foss-2022a.eb new file mode 100644 index 00000000000..04e91b5411a --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.5.1-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.5.1' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} + +source_urls = ['https://github.com/LLNL/sundials/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4252303805171e4dbdd19a01e52c1dcfe0dafc599c3cfedb0a5c2ffb045a8a75'] + +builddependencies = [('CMake', '3.23.1')] + +separate_build_dir = True + +configopts = "-DMPI_ENABLE=ON -DOPENMP_ENABLE=ON -DLAPACK_ENABLE=ON" + +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-2022b.eb b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb new file mode 100644 index 00000000000..565de5bcd7c --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2022b.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.6.0' + +homepage = 'https://computing.llnl.gov/projects/sundials' + +description = "SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers" + +toolchain = {'name': 'foss', 'version': '2022b'} +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.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'] + +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-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 new file mode 100644 index 00000000000..d3a8e2b177d --- /dev/null +++ b/easybuild/easyconfigs/s/SUNDIALS/SUNDIALS-6.6.0-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'CMakeMake' + +name = 'SUNDIALS' +version = '6.6.0' + +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 = [ + ('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'] + +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_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/SUPPA/SUPPA-2.3-20231005-foss-2022b.eb b/easybuild/easyconfigs/s/SUPPA/SUPPA-2.3-20231005-foss-2022b.eb new file mode 100644 index 00000000000..d27830b9c97 --- /dev/null +++ b/easybuild/easyconfigs/s/SUPPA/SUPPA-2.3-20231005-foss-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'Tarball' + +name = 'SUPPA' +version = '2.3-20231005' +local_commit = 'a5d5e89' + +homepage = 'https://github.com/comprna/SUPPA' +description = """Fast, accurate, and uncertainty-aware differential + splicing analysis across multiple conditions.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +github_account = 'comprna' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +checksums = ['5e55911be2727c7abc7a4e3b6179f2f7cb0e3126bb443bce102fa7af97249e5d'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('statsmodels', '0.14.0'), + ('scikit-learn', '1.2.1'), +] + +postinstallcmds = ['cd %(installdir)s && mkdir bin && ln -r -s suppa.py bin/suppa.py && chmod a+x suppa.py'] + +fix_python_shebang_for = ['suppa.py'] + +modextrapaths = { + 'PATH': '', + 'PYTHONPATH': '', +} + +sanity_check_paths = { + 'files': ['bin/suppa.py'], + 'dirs': [], +} + +sanity_check_commands = ['suppa.py --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-11.2.0.eb new file mode 100644 index 00000000000..e2af663d0cc --- /dev/null +++ b/easybuild/easyconfigs/s/SURVIVOR/SURVIVOR-1.0.7-19-ged1ca51-GCC-11.2.0.eb @@ -0,0 +1,29 @@ +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': '11.2.0'} + +github_account = 'fritzsedlazeck' +source_urls = [GITHUB_SOURCE] +sources = ['ed1ca5188a2d9286d582417b7a65938c768df995.tar.gz'] +checksums = ['46c2618a225353e31422a12e9661167298947ad6ff681943cea6703ba18682bd'] + +start_dir = 'Debug' + +files_to_copy = ['Debug/SURVIVOR'] + +modextrapaths = {'PATH': ''} + +sanity_check_commands = ['SURVIVOR'] + +sanity_check_paths = { + 'files': ['SURVIVOR'], + 'dirs': [], +} + +moduleclass = 'bio' 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/SVDSS2/SVDSS2-2.0.0-alpha.3-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SVDSS2/SVDSS2-2.0.0-alpha.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..404f2ce58f3 --- /dev/null +++ b/easybuild/easyconfigs/s/SVDSS2/SVDSS2-2.0.0-alpha.3-GCC-12.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'CMakeMakeCp' + +name = 'SVDSS2' +version = '2.0.0-alpha.3' + +homepage = 'https://github.com/Parsoa/SVDSS' +description = "Improved structural variant discovery in accurate long reads using sample-specific strings (SFS)." + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/Parsoa', + 'repo_name': 'SVDSS', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), + ('make', '4.4.1'), + ('Autotools', '20220317'), + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('SAMtools', '1.18'), + ('BCFtools', '1.18'), +] +dependencies = [ + ('HTSlib', '1.18'), + ('libdeflate', '1.18'), + ('parasail', '2.6.2'), + ('spdlog', '1.11.0'), +] + +files_to_copy = [ + (['SVDSS'], 'bin'), + (['*'], 'lib'), +] + +separate_build_dir = False + +postinstallcmds = ["cd %(installdir)s/lib && rm SVDSS"] + +sanity_check_paths = { + 'files': ['bin/SVDSS'], + 'dirs': ['lib'], +} + +sanity_check_commands = ['SVDSS --version'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.2.0.eb new file mode 100644 index 00000000000..1eaefad2e9d --- /dev/null +++ b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PerlModule' + +name = 'SVG' +version = '2.87' + +homepage = 'https://metacpan.org/pod/SVG' +description = "Perl binding for SVG" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'] + +dependencies = [ + ('Perl', '5.34.0'), +] + +options = {'modulename': 'SVG'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/SVG.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/SVG'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.3.0.eb new file mode 100644 index 00000000000..fad1c422e21 --- /dev/null +++ b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PerlModule' + +name = 'SVG' +version = '2.87' + +homepage = 'https://metacpan.org/pod/SVG' +description = "Perl binding for SVG" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'] + +dependencies = [ + ('Perl', '5.34.1'), +] + +options = {'modulename': 'SVG'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/SVG.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/SVG'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-12.2.0.eb new file mode 100644 index 00000000000..70425b6ecb3 --- /dev/null +++ b/easybuild/easyconfigs/s/SVG/SVG-2.87-GCC-12.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PerlModule' + +name = 'SVG' +version = '2.87' + +homepage = 'https://metacpan.org/pod/SVG' +description = "Perl binding for SVG" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/M/MA/MANWAR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b3fa58c1c59942b4ebef003da97c3e01e531480ca29e8efbe327ff0589c0bd3c'] + +dependencies = [ + ('Perl', '5.36.0'), +] + +options = {'modulename': 'SVG'} + +sanity_check_paths = { + 'files': ['lib/perl5/site_perl/%(perlver)s/SVG.pm'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/SVG'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SVIM/SVIM-2.0.0-foss-2022a.eb b/easybuild/easyconfigs/s/SVIM/SVIM-2.0.0-foss-2022a.eb new file mode 100644 index 00000000000..9b31271e9ce --- /dev/null +++ b/easybuild/easyconfigs/s/SVIM/SVIM-2.0.0-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'SVIM' +version = '2.0.0' + +homepage = 'https://github.com/eldariont/svim' +description = """SVIM (pronounced swim) is a structural variant caller for third-generation sequencing reads. + It is able to detect and classify the following six classes of structural variation: deletions, insertions, + inversions, tandem duplications, interspersed duplications and translocations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('edlib', '1.3.9'), + ('pyspoa', '0.0.9'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['1be9cfb84e420858b9e08fc3664b8d16d76bd2f241e6a87d876d9292d66ea1a3'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svim'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'from svim.SVSignature import SignatureDeletion'", + "svim alignment --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SVclone/SVclone-1.1.2-foss-2022b.eb b/easybuild/easyconfigs/s/SVclone/SVclone-1.1.2-foss-2022b.eb new file mode 100644 index 00000000000..68a0b328c71 --- /dev/null +++ b/easybuild/easyconfigs/s/SVclone/SVclone-1.1.2-foss-2022b.eb @@ -0,0 +1,47 @@ +# EasyBuild EasyConfig +# +# Fred Hutch Cancer Center - Seattle Washington US +# +# John Dey +easyblock = 'PythonBundle' + +name = 'SVclone' +version = '1.1.2' + +homepage = 'https://github.com/mcmero/SVclone' +description = """Cluster structural variants of similar cancer cell fraction (CCF).""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pysam', '0.19.1', { + 'checksums': ['dee403cbdf232170c1e11cc24c76e7dd748fc672ad38eb0414f3b9d569b1448f'], + }), + ('PyVCF3', '1.0.3', { + 'modulename': 'vcf', + 'checksums': ['4b16d71c8b97010487e2c939fb4d5707b7bbfa4e2b313df9dba3e372c5ba031d'], + }), + (name, version, { + 'modulename': name, + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/mcmero/SVclone/archive/refs/tags'], + 'checksums': ['806e7e31498a084a353a39f98d8d35712d96f182feb6d077d364a2a7100e123e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..065ac6afc5f --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +name = 'SWIG' +version = '4.0.2' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('zlib', '1.2.11'), + ('PCRE', '8.45'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f1a2758986f --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +name = 'SWIG' +version = '4.0.2' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('zlib', '1.2.12'), + ('PCRE', '8.45'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..290050ffb5d --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +name = 'SWIG' +version = '4.1.1' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('PCRE2', '10.40'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4986760a844 --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +name = 'SWIG' +version = '4.1.1' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('PCRE2', '10.42'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f3cfdc6154a --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.1.1-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +name = 'SWIG' +version = '4.1.1' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('PCRE2', '10.42'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4e73a2c53c9 --- /dev/null +++ b/easybuild/easyconfigs/s/SWIG/SWIG-4.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +name = 'SWIG' +version = '4.2.1' + +homepage = 'http://www.swig.org/' +description = """SWIG is a software development tool that connects programs written in C and C++ with + a variety of high-level programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fa045354e2d048b2cddc69579e4256245d4676894858fcf0bab2290ecf59b7d8'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('PCRE2', '10.43'), +] + +configopts = '--without-alllang --with-boost=no' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/SWIPE/SWIPE-2.1.1-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SWIPE/SWIPE-2.1.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..639ea033e77 --- /dev/null +++ b/easybuild/easyconfigs/s/SWIPE/SWIPE-2.1.1-GCC-10.3.0.eb @@ -0,0 +1,26 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'MakeCp' + +name = 'SWIPE' +version = '2.1.1' + +homepage = "https://github.com/torognes/swipe" +description = """Smith-Waterman database searches with inter-sequence SIMD parallelisation""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'torognes' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cc7cd65ddafd6b9e69975292bee0583bdf64918e8d5c7ddd98ae41a20d3f8b73'] + +# only build swipe and not mpiswipe +buildopts = 'swipe' +files_to_copy = [(['%(namelower)s'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ef8e3284f2d --- /dev/null +++ b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-11.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'SYMMETRICA' +version = '2.0' + +homepage = 'https://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA' +description = "Symmetrica is a Collection of C routines for representation theory." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [{'download_filename': 'SYM2_0_tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['SYMMETRICA-2.0_makefile.patch'] +checksums = [ + {'SYMMETRICA-2.0.tar.gz': 'bf52788dedc14c482e89f5e7efe8c60864a633314ddd446dd4602d5fdaca0ee2'}, + {'SYMMETRICA-2.0_makefile.patch': 'd38a8935a3c1e7d9fbafd941e43f933b241fbe8bc012ef8b3a32610ab3be25df'}, +] + +builddependencies = [('binutils', '2.38')] + +local_sharedlib = 'libsymmetrica.%s' % SHLIB_EXT + +buildopts = 'test && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +files_to_copy = [ + (['factorial'], 'bin'), + (['*.doc'], 'share/doc'), + ([local_sharedlib], 'lib'), + (['def.h', 'macro.h'], 'include/symmetrica'), +] + +sanity_check_paths = { + 'files': ['bin/factorial', + 'share/doc/intro.doc', + 'lib/%s' % local_sharedlib, + 'include/symmetrica/def.h', 'include/symmetrica/macro.h'], + 'dirs': [], +} + +sanity_check_commands = ["echo 5 | %(installdir)s/bin/factorial | grep 120"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..9381f0a71c8 --- /dev/null +++ b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0-GCCcore-13.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'SYMMETRICA' +version = '2.0' + +homepage = 'https://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA' +description = "Symmetrica is a Collection of C routines for representation theory." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [homepage] +sources = [{'download_filename': 'SYM2_0_tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['SYMMETRICA-2.0_makefile.patch'] +checksums = [ + {'SYMMETRICA-2.0.tar.gz': 'bf52788dedc14c482e89f5e7efe8c60864a633314ddd446dd4602d5fdaca0ee2'}, + {'SYMMETRICA-2.0_makefile.patch': 'd38a8935a3c1e7d9fbafd941e43f933b241fbe8bc012ef8b3a32610ab3be25df'}, +] + +builddependencies = [('binutils', '2.40')] + +local_sharedlib = 'libsymmetrica.%s' % SHLIB_EXT + +buildopts = 'test && $CC -shared $CFLAGS $LDFLAGS -o %s *.o' % local_sharedlib + +files_to_copy = [ + (['factorial'], 'bin'), + (['*.doc'], 'share/doc'), + ([local_sharedlib], 'lib'), + (['def.h', 'macro.h'], 'include/symmetrica'), +] + +sanity_check_paths = { + 'files': ['bin/factorial', + 'share/doc/intro.doc', + 'lib/%s' % local_sharedlib, + 'include/symmetrica/def.h', 'include/symmetrica/macro.h'], + 'dirs': [], +} + +sanity_check_commands = ["echo 5 | %(installdir)s/bin/factorial | grep 120"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0_makefile.patch b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0_makefile.patch new file mode 100644 index 00000000000..ed3568ab50a --- /dev/null +++ b/easybuild/easyconfigs/s/SYMMETRICA/SYMMETRICA-2.0_makefile.patch @@ -0,0 +1,11 @@ +use variables set by EasyBuild and rename the test executable to factorial, which is what it calculates +author: Miguel Dias Costa (National University of Singapore) +--- makefile.orig 2023-11-26 16:42:23.701017757 +0800 ++++ makefile 2023-11-26 16:43:00.373849323 +0800 +@@ -1,4 +1,4 @@ + .c.o: +- cc -c -O2 -DFAST -DALLTRUE $< ++ $(CC) -c $(CFLAGS) -DFAST -DALLTRUE $< + test: test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o +- gcc -DALLTRUE -DFAST test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o -o test -lm ++ $(CC) $(CFLAGS) $(LDFLAGS) -DALLTRUE -DFAST test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o -o factorial -lm diff --git a/easybuild/easyconfigs/s/Sabre/Sabre-2013-09-28-GCC-12.2.0.eb b/easybuild/easyconfigs/s/Sabre/Sabre-2013-09-28-GCC-12.2.0.eb new file mode 100644 index 00000000000..184fad23944 --- /dev/null +++ b/easybuild/easyconfigs/s/Sabre/Sabre-2013-09-28-GCC-12.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'Sabre' +local_commit = '039a55e' +version = '2013-09-28' + +homepage = 'https://github.com/najoshi/sabre' +description = """Sabre is a tool that will demultiplex barcoded reads + into separate files. It will work on both single-end and paired-end + data in fastq format. It simply compares the provided barcodes with + each read and separates the read into its appropriate barcode file, + after stripping the barcode from the read (and also stripping + the quality values of the barcode bases).""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/najoshi/sabre/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['8101eda078eded6c755d607a83ad5c659023dad9f0f2dadc11445c0ca305bf02'] + +dependencies = [ + ('zlib', '1.2.12'), +] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS"' + +files_to_copy = [ + (['sabre'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/sabre'], + 'dirs': [] +} + +sanity_check_commands = ['sabre --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c437db1f3a6 --- /dev/null +++ b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'Safetensors' +version = '0.3.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://huggingface.co/docs/safetensors' +description = """Safetensors is a new simple format for storing tensors safely (as opposed to +pickle) and that is still fast (zero-copy). Safetensors is really fast.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Rust', '1.60.0'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25', versionsuffix), + ('PyTorch', '1.12.0', versionsuffix), + ('TensorFlow', '2.11.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('safetensors', version, { + 'use_pip_extras': 'jax,numpy,tensorflow,torch', + 'checksums': ['571da56ff8d0bec8ae54923b621cda98d36dcef10feb36fd492c4d0c2cd0e869'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a.eb b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a.eb new file mode 100644 index 00000000000..b0307d32f5d --- /dev/null +++ b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.3.1-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = "PythonBundle" + +name = 'Safetensors' +version = '0.3.1' + +homepage = 'https://huggingface.co/docs/safetensors' +description = """Safetensors is a new simple format for storing tensors safely (as opposed to +pickle) and that is still fast (zero-copy). Safetensors is really fast.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('Rust', '1.60.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('jax', '0.3.25'), + ('PyTorch', '1.12.0'), + ('TensorFlow', '2.11.0'), +] + +use_pip = True + +exts_list = [ + ('safetensors', version, { + 'use_pip_extras': 'jax,numpy,tensorflow,torch', + 'checksums': ['571da56ff8d0bec8ae54923b621cda98d36dcef10feb36fd492c4d0c2cd0e869'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/Safetensors/Safetensors-0.4.3-gfbf-2023a.eb b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.4.3-gfbf-2023a.eb new file mode 100644 index 00000000000..3c686b7380e --- /dev/null +++ b/easybuild/easyconfigs/s/Safetensors/Safetensors-0.4.3-gfbf-2023a.eb @@ -0,0 +1,295 @@ +easyblock = "CargoPythonBundle" + +name = 'Safetensors' +version = '0.4.3' +_rustver = '1.75.0' + +homepage = 'https://huggingface.co/docs/safetensors' +description = """Safetensors is a new simple format for storing tensors safely (as opposed to +pickle) and that is still fast (zero-copy). Safetensors is really fast. + +This variant of Safetensors is installed with support for numpy and PyTorch +""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('Rust', _rustver), + ('maturin', '1.4.0', '-Rust-' + _rustver), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +# crates generated on 2024-05-24 from directories savetensors/ and bindings/python/ +crates = [ + ('aho-corasick', '1.1.3'), + ('anes', '0.1.6'), + ('anstyle', '1.0.7'), + ('autocfg', '1.2.0'), + ('autocfg', '1.3.0'), + ('bitflags', '1.3.2'), + ('bitflags', '2.5.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bumpalo', '3.16.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', '4.5.4'), + ('clap_builder', '4.5.2'), + ('clap_lex', '0.7.0'), + ('criterion', '0.5.1'), + ('criterion-plot', '0.5.0'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.20'), + ('crunchy', '0.2.2'), + ('either', '1.12.0'), + ('errno', '0.3.9'), + ('fastrand', '2.1.0'), + ('fnv', '1.0.7'), + ('getrandom', '0.2.15'), + ('half', '2.4.1'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.9'), + ('indoc', '2.0.5'), + ('is-terminal', '0.4.12'), + ('itertools', '0.10.5'), + ('itoa', '1.0.11'), + ('js-sys', '0.3.69'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.153'), + ('libc', '0.2.155'), + ('libm', '0.2.8'), + ('linux-raw-sys', '0.4.14'), + ('lock_api', '0.4.11'), + ('log', '0.4.21'), + ('memchr', '2.7.2'), + ('memmap2', '0.9.4'), + ('memoffset', '0.9.1'), + ('num-traits', '0.2.19'), + ('once_cell', '1.19.0'), + ('oorandom', '11.1.3'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('plotters', '0.3.6'), + ('plotters-backend', '0.3.6'), + ('plotters-svg', '0.3.6'), + ('portable-atomic', '1.6.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.80'), + ('proc-macro2', '1.0.83'), + ('proptest', '1.4.0'), + ('pyo3', '0.21.1'), + ('pyo3-build-config', '0.21.1'), + ('pyo3-ffi', '0.21.1'), + ('pyo3-macros', '0.21.1'), + ('pyo3-macros-backend', '0.21.1'), + ('quick-error', '1.2.3'), + ('quote', '1.0.36'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rand_xorshift', '0.3.0'), + ('rayon', '1.10.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.3'), + ('rustix', '0.38.34'), + ('rusty-fork', '0.3.0'), + ('ryu', '1.0.17'), + ('ryu', '1.0.18'), + ('same-file', '1.0.6'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.197'), + ('serde', '1.0.202'), + ('serde_derive', '1.0.197'), + ('serde_derive', '1.0.202'), + ('serde_json', '1.0.115'), + ('serde_json', '1.0.117'), + ('smallvec', '1.13.2'), + ('syn', '2.0.59'), + ('syn', '2.0.66'), + ('target-lexicon', '0.12.14'), + ('tempfile', '3.10.1'), + ('tinytemplate', '1.2.1'), + ('unarray', '0.1.4'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.5.0'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('wasm-bindgen', '0.2.92'), + ('wasm-bindgen-backend', '0.2.92'), + ('wasm-bindgen-macro', '0.2.92'), + ('wasm-bindgen-macro-support', '0.2.92'), + ('wasm-bindgen-shared', '0.2.92'), + ('web-sys', '0.3.69'), + ('winapi-util', '0.1.8'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_gnullvm', '0.52.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_aarch64_msvc', '0.52.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_gnu', '0.52.5'), + ('windows_i686_gnullvm', '0.52.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_i686_msvc', '0.52.5'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.48.5'), + ('windows-targets', '0.52.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnu', '0.52.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_gnullvm', '0.52.5'), + ('windows_x86_64_msvc', '0.48.5'), + ('windows_x86_64_msvc', '0.52.5'), +] + +checksums = [ + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'anes-0.1.6.tar.gz': '4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299'}, + {'anstyle-1.0.7.tar.gz': '038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b'}, + {'autocfg-1.2.0.tar.gz': 'f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.5.0.tar.gz': 'cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bumpalo-3.16.0.tar.gz': '79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c'}, + {'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-4.5.4.tar.gz': '90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0'}, + {'clap_builder-4.5.2.tar.gz': 'ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'criterion-0.5.1.tar.gz': 'f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f'}, + {'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.20.tar.gz': '22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'either-1.12.0.tar.gz': '3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b'}, + {'errno-0.3.9.tar.gz': '534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba'}, + {'fastrand-2.1.0.tar.gz': '9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'getrandom-0.2.15.tar.gz': 'c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7'}, + {'half-2.4.1.tar.gz': '6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.10.5.tar.gz': 'b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'js-sys-0.3.69.tar.gz': '29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}, + {'libm-0.2.8.tar.gz': '4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058'}, + {'linux-raw-sys-0.4.14.tar.gz': '78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.21.tar.gz': '90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c'}, + {'memchr-2.7.2.tar.gz': '6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d'}, + {'memmap2-0.9.4.tar.gz': 'fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'num-traits-0.2.19.tar.gz': '071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'oorandom-11.1.3.tar.gz': '0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'plotters-0.3.6.tar.gz': 'a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3'}, + {'plotters-backend-0.3.6.tar.gz': '414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7'}, + {'plotters-svg-0.3.6.tar.gz': '81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.80.tar.gz': 'a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e'}, + {'proc-macro2-1.0.83.tar.gz': '0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43'}, + {'proptest-1.4.0.tar.gz': '31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf'}, + {'pyo3-0.21.1.tar.gz': 'a7a8b1990bd018761768d5e608a13df8bd1ac5f678456e0f301bb93e5f3ea16b'}, + {'pyo3-build-config-0.21.1.tar.gz': '650dca34d463b6cdbdb02b1d71bfd6eb6b6816afc708faebb3bac1380ff4aef7'}, + {'pyo3-ffi-0.21.1.tar.gz': '09a7da8fc04a8a2084909b59f29e1b8474decac98b951d77b80b26dc45f046ad'}, + {'pyo3-macros-0.21.1.tar.gz': '4b8a199fce11ebb28e3569387228836ea98110e43a804a530a9fd83ade36d513'}, + {'pyo3-macros-backend-0.21.1.tar.gz': '93fbbfd7eb553d10036513cb122b888dcd362a945a00b06c165f2ab480d4cc3b'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'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.10.0.tar.gz': 'b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa'}, + {'rayon-core-1.12.1.tar.gz': '1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.4.tar.gz': 'c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.3.tar.gz': 'adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56'}, + {'rustix-0.38.34.tar.gz': '70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f'}, + {'rusty-fork-0.3.0.tar.gz': 'cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f'}, + {'ryu-1.0.17.tar.gz': 'e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde-1.0.202.tar.gz': '226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'serde_derive-1.0.202.tar.gz': '6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838'}, + {'serde_json-1.0.115.tar.gz': '12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd'}, + {'serde_json-1.0.117.tar.gz': '455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'syn-2.0.59.tar.gz': '4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a'}, + {'syn-2.0.66.tar.gz': 'c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'tempfile-3.10.1.tar.gz': '85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'unarray-0.1.4.tar.gz': 'eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.5.0.tar.gz': '29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b'}, + {'wasi-0.11.0+wasi-snapshot-preview1.tar.gz': '9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423'}, + {'wasm-bindgen-0.2.92.tar.gz': '4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8'}, + {'wasm-bindgen-backend-0.2.92.tar.gz': '614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da'}, + {'wasm-bindgen-macro-0.2.92.tar.gz': 'a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726'}, + {'wasm-bindgen-macro-support-0.2.92.tar.gz': 'e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7'}, + {'wasm-bindgen-shared-0.2.92.tar.gz': 'af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96'}, + {'web-sys-0.3.69.tar.gz': '77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef'}, + {'winapi-util-0.1.8.tar.gz': '4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_gnullvm-0.52.5.tar.gz': '7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_aarch64_msvc-0.52.5.tar.gz': '9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_gnu-0.52.5.tar.gz': '88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670'}, + {'windows_i686_gnullvm-0.52.5.tar.gz': '87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_i686_msvc-0.52.5.tar.gz': 'db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows-targets-0.52.5.tar.gz': '6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnu-0.52.5.tar.gz': '4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_gnullvm-0.52.5.tar.gz': '852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, + {'windows_x86_64_msvc-0.52.5.tar.gz': 'bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0'}, +] + +use_pip = True + +exts_list = [ + ('safetensors', version, { + 'checksums': ['2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/Sagemath/Sagemath-10.4-foss-2023b.eb b/easybuild/easyconfigs/s/Sagemath/Sagemath-10.4-foss-2023b.eb new file mode 100644 index 00000000000..dcc9d919c13 --- /dev/null +++ b/easybuild/easyconfigs/s/Sagemath/Sagemath-10.4-foss-2023b.eb @@ -0,0 +1,158 @@ +easyblock = 'PythonBundle' + +name = 'Sagemath' +version = '10.4' + +homepage = 'https://doc.sagemath.org/html/en/index.html' +description = """Sage is open source mathematical software released under the GNU General Public Licence GPLv2+, + and includes packages that have compatible software licenses. + People all around the globe have contributed to the development of Sage. Full documentation is available online.""" + +toolchain = {'name': 'foss', 'version': '2023b'} + +builddependencies = [ + ('Cython', '3.0.10'), + ('Python-bundle-PyPI', '2023.10'), + ('Boost', '1.83.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('ECL', '24.5.10'), + ('FFLAS-FFPACK', '2.5.0'), + ('eclib', '20240408'), + ('GSL', '2.7'), + ('LinBox', '1.7.0'), + ('Singular', '4.4.0'), + ('libpng', '1.6.40'), + ('libgd', '2.3.3'), + ('m4ri', '20200125'), + ('cysignals', '1.11.4'), + ('gmpy2', '2.1.5'), + ('GMP-ECM', '7.0.5'), + ('MPFI', '1.5.4'), + ('cliquer', '1.21'), + ('nauty', '2.8.8'), + ('SYMMETRICA', '2.0'), + ('lcalc', '2.0.5'), + ('gap', '4.13.0'), + ('giac', '1.9.0-99'), + ('m4rie', '20200125'), + ('libhomfly', '1.02r6'), + ('libbraiding', '1.2'), + ('planarity', '3.0.2.0'), + ('rankwidth', '0.9'), + ('BRiAl', '1.2.12'), + ('bliss', '0.77'), + ('coxeter', '20180226'), + ('mcqd', '1.0.0'), + ('SharedMeatAxe', '1.0.1'), + ('sirocco', '2.1.0'), + ('tdlib', '0.9.3'), + ('pkgconfig', '1.5.5', '-python'), + ('matplotlib', '3.8.2'), + ('networkx', '3.2.1'), + ('sympy', '1.12'), + ('IPython', '8.17.2'), + ('Pillow', '10.2.0'), + ('fpylll', '0.6.1'), + ('primecountpy', '0.1.0'), + ('lrcalc', '2.1'), + ('PyZMQ', '25.1.2'), + ('tornado', '6.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cypari2', '2.2.0', { + 'checksums': ['817606bf661b71d33e1d012421907a4f8fb09dd81b7d3e3ae179b3978020bbf1'], + }), + ('memory_allocator', '0.1.4', { + 'checksums': ['d609216b03031967e2b45a804b12ff9029578f4ec019fde42cf6aed6ca09efe4'], + }), + ('sage_setup', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4797ceae2f5f636a756f4121011246445611f7a56bced2df431328fe013c52c7'], + }), + ('conway_polynomials', '0.10', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['a354b4ac0a9985da75e2ac6ec6d7de2902396eff48913eeed86a962486171c28'], + }), + ('comm', '0.2.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3'], + }), + ('debugpy', '1.8.5', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['55919dce65b471eff25901acf82d328bbd5b833526b6c1364bd5133754777a44'], + }), + ('nest_asyncio', '1.6.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c'], + }), + ('ipykernel', '6.29.5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5'], + }), + ('jupyterlab_widgets', '3.0.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54'], + }), + ('widgetsnbextension', '4.0.13', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71'], + }), + ('ipywidgets', '8.1.5', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245'], + }), + ('jupyter_core', '5.7.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409'], + }), + ('jupyter_client', '8.6.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f'], + }), + ('lrcalc', '2.1', { + 'checksums': ['e3a0509aeda487b412b391a52e817ca36b5c063a8305e09fd54d53259dd6aaa9'], + }), + ('%(namelower)s_standard', version, { + 'modulename': 'sage', + 'checksums': ['f6579e85f33bd9bb6e9b991bfc4c49dab1e649858ed9ee41c7cec75cb92d4c62'], + }), + ('%(namelower)s_bliss', version, { + 'modulename': False, + 'checksums': ['70cccef849908436c2f9f1aabb3992a21c90d3ce99d1a965743f0fdec3735d32'], + }), + ('%(namelower)s_coxeter3', version, { + 'modulename': False, + 'checksums': ['c4f20204b91a696caeb7ad7cf33d2b0398d26d287085b2cb9434e8b067716fca'], + }), + ('%(namelower)s_mcqd', version, { + 'modulename': False, + 'checksums': ['6a140d8b3866ea27aa5966f3aab86a882785862fb00ae37087beb09105b94175'], + }), + ('%(namelower)s_meataxe', version, { + 'modulename': False, + 'checksums': ['5b625333c3168fc2ab55d32ad7e8c41912858bde8010b5aadc70c6450fa967e8'], + }), + ('%(namelower)s_sirocco', version, { + 'modulename': False, + 'checksums': ['499304b3331751d7b0f62de8379afb073d55f144c5f73775da0c5b92160e3a7c'], + }), + ('%(namelower)s_tdlib', version, { + 'modulename': False, + 'checksums': ['018497a1e220d3320a37d1acb3eee59ec820d167c7916e95f0508709a2e31703'], + }), +] + +sanity_check_commands = [ + "sage --help", + "python -c 'from sage.all import *'", +] + +moduleclass = 'math' 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/Salmon/Salmon-1.10.3-GCC-12.3.0.eb b/easybuild/easyconfigs/s/Salmon/Salmon-1.10.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..9b52051eed3 --- /dev/null +++ b/easybuild/easyconfigs/s/Salmon/Salmon-1.10.3-GCC-12.3.0.eb @@ -0,0 +1,59 @@ +# # +# 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.3' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/COMBINE-lab/salmon/archive'] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['a053fba63598efc4ade3684aa2c8e8e2294186927d4fcdf1041c36edc2aa0871'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), + ('jemalloc', '5.3.0'), + ('Cereal', '1.3.2', '', SYSTEM), +] +dependencies = [ + ('Boost', '1.82.0'), + ('tbb', '2021.11.0'), + ('cURL', '8.0.1'), + ('libiconv', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), +] + +configopts = "-DJEMALLOC_ROOT=$EBROOTJEMALLOC" + +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/Salmon/Salmon-1.4.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/Salmon/Salmon-1.4.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..9b648f228b4 --- /dev/null +++ b/easybuild/easyconfigs/s/Salmon/Salmon-1.4.0-GCC-11.2.0.eb @@ -0,0 +1,61 @@ +## +# 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.4.0' + +homepage = 'https://github.com/COMBINE-lab/salmon' +description = """Salmon is a wicked-fast program to produce a highly-accurate, + transcript-level quantification estimates from RNA-seq data.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'COMBINE-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['6d3e25387450710f0aa779a1e9aaa9b4dec842324ff8551d66962d7c7606e71d'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), + ('jemalloc', '5.2.1'), +] + +dependencies = [ + ('Boost', '1.77.0'), + ('tbb', '2020.3'), +] + +# Disable link-time optimizations (-flto) because it triggers a segfault/internal compiler error (ICE) with GCC 9.3.0 +# This problem might be solved with a newer version of either GCC or Salmon. +configopts = '-DJEMALLOC_ROOT=$EBROOTJEMALLOC -DNO_IPO=1' + +# need to unset the $LD_PRELOAD set be jemalloc to avoid hanging 'make test' +# since jemalloc is statically linked in Salmon (and hence only a build dep), +# this only affects the tests +pretestopts = "unset LD_PRELOAD && " +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'] + ['lib/lib%s.a' % x for x in ['graphdump', 'ntcard', 'salmon_core', 'twopaco']], + 'dirs': [], +} + +sanity_check_commands = ["salmon --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Salmon/Salmon-1.9.0-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Salmon/Salmon-1.9.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..d6edc82fe03 --- /dev/null +++ b/easybuild/easyconfigs/s/Salmon/Salmon-1.9.0-GCC-11.3.0.eb @@ -0,0 +1,64 @@ +## +# 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.9.0' + +homepage = 'https://github.com/COMBINE-lab/salmon' +description = """Salmon is a wicked-fast program to produce a highly-accurate, + transcript-level quantification estimates from RNA-seq data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'COMBINE-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['450d953a5c43fe63fd745733f478d3fbaf24d926cb52731fd38ee21c4990d613'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), + ('jemalloc', '5.2.1'), + ('Cereal', '1.3.0', '', SYSTEM), +] + +dependencies = [ + ('Boost', '1.79.0'), + ('tbb', '2021.5.0'), + ('cURL', '7.83.0'), + ('libiconv', '1.17'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('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' + +runtest = 'test' + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'] + ['lib/lib%s.a' % x for x in ['graphdump', 'ntcard', 'salmon_core', 'twopaco']], + 'dirs': [], +} + +sanity_check_commands = ["salmon --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Sambamba/Sambamba-0.8.2-GCC-10.3.0.eb b/easybuild/easyconfigs/s/Sambamba/Sambamba-0.8.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..e7b7e48bac1 --- /dev/null +++ b/easybuild/easyconfigs/s/Sambamba/Sambamba-0.8.2-GCC-10.3.0.eb @@ -0,0 +1,43 @@ +easyblock = 'MakeCp' + +name = 'Sambamba' +version = '0.8.2' + +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': '10.3.0'} + +source_urls = ['https://github.com/biod/sambamba/archive/'] +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/biod', + 'repo_name': 'sambamba', + 'commit': 'f898046', + 'recursive': True, + } +}] +checksums = [None] + +builddependencies = [ + ('LDC', '1.26.0'), + ('Python', '3.9.5'), + ('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/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/Satsuma2/Satsuma2-20220304-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304-GCC-11.3.0.eb new file mode 100644 index 00000000000..304dbf50669 --- /dev/null +++ b/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'CMakeMake' + +name = 'Satsuma2' +local_commit = '37c5f38' +version = '20220304' + +homepage = 'https://github.com/bioinfologics/satsuma2' +description = """Satsuma2 is an optimised version of Satsuma, a tool to reliably align large and complex DNA sequences +providing maximum sensitivity (to find all there is to find), specificity (to only find real homology) and speed (to +accommodate the billions of base pairs in vertebrate genomes).""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/bioinfologics/satsuma2/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +patches = ['Satsuma2-%(version)s_fix-GCC-11.patch'] +checksums = [ + '75ba38066719c189fba8630326a35afe42421437b55ee9e631973e8be115674c', # Satsuma2-20220304.tar.gz + 'c80755f8942f3a0c9a2598b2a1a6319f508956bc29ccdfdfb9044ec8c50cd691', # Satsuma2-20220304_fix-GCC-11.patch +] + +builddependencies = [('CMake', '3.23.1')] + +# Define SATSUMA2_PATH as per: +# https://github.com/bioinfologics/satsuma2/blob/37c5f386819614cd3ce96016b423ddc4df1d86ec/README.md#running-satsuma2 +modextravars = { + 'SATSUMA2_PATH': '%(installdir)s/bin', +} + +sanity_check_paths = { + 'files': ['bin/ChromosomePaint', 'bin/MatchDump', 'bin/SatsumaSynteny2'], + 'dirs': [], +} + +sanity_check_commands = ["SatsumaSynteny2 --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304_fix-GCC-11.patch b/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304_fix-GCC-11.patch new file mode 100644 index 00000000000..aefe7fad484 --- /dev/null +++ b/easybuild/easyconfigs/s/Satsuma2/Satsuma2-20220304_fix-GCC-11.patch @@ -0,0 +1,12 @@ +fix for "error: shared_ptr in namespace std does not name a template type" +author: Kenneth Hoste (HPC-UGent) +--- satsuma2-37c5f386819614cd3ce96016b423ddc4df1d86ec/analysis/SatsumaSynteny2.cc.orig 2022-08-22 09:58:49.690714992 +0200 ++++ satsuma2-37c5f386819614cd3ce96016b423ddc4df1d86ec/analysis/SatsumaSynteny2.cc 2022-08-22 09:59:05.103870557 +0200 +@@ -7,6 +7,7 @@ + + #include + #include ++#include + #include "../base/CommandLineParser.h" + #include "SequenceMatch.h" + #include "GridSearch.h" 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.1-foss-2020b.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2020b.eb new file mode 100644 index 00000000000..c7c6f359dfa --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2020b.eb @@ -0,0 +1,46 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'ScaFaCoS' +version = '1.0.1' + +homepage = 'http://www.scafacos.de/' +description = """ScaFaCoS is a library of scalable fast coulomb solvers.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '2b125f313795c81b0e87eb920082e91addf94c17444f9486d979e691aaded99b', # scafacos-1.0.1.tar.gz +] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('GMP', '6.2.0'), + ('GSL', '2.6'), +] + +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/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021a.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021a.eb new file mode 100644 index 00000000000..c5dbaccdf6c --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021a.eb @@ -0,0 +1,46 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'ScaFaCoS' +version = '1.0.1' + +homepage = 'http://www.scafacos.de/' +description = """ScaFaCoS is a library of scalable fast coulomb solvers.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '2b125f313795c81b0e87eb920082e91addf94c17444f9486d979e691aaded99b', # scafacos-1.0.1.tar.gz +] + +builddependencies = [ + ('Autotools', '20210128'), + ('pkg-config', '0.29.2'), +] + +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/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021b.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021b.eb new file mode 100644 index 00000000000..79d82028cb3 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.1-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'ConfigureMake' + +name = 'ScaFaCoS' +version = '1.0.1' + +homepage = 'http://www.scafacos.de/' +description = """ScaFaCoS is a library of scalable fast coulomb solvers.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + '2b125f313795c81b0e87eb920082e91addf94c17444f9486d979e691aaded99b', # scafacos-1.0.1.tar.gz +] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +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/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022a.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022a.eb new file mode 100644 index 00000000000..85be515948c --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022a.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': '2022a'} +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.8.0'), +] + +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/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022b.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022b.eb new file mode 100644 index 00000000000..b3169bbe14d --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2022b.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': '2022b'} +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.4.tar.gz +] + +builddependencies = [ + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +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/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/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023b.eb b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023b.eb new file mode 100644 index 00000000000..d724f5b9015 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaFaCoS/ScaFaCoS-1.0.4-foss-2023b.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': '2023b'} +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', '2.0.3'), +] + +dependencies = [ + ('GMP', '6.3.0'), + ('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/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020a-bf.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020a-bf.eb index 1e77e4ee706..17c53d6a060 100644 --- a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020a-bf.eb +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020a-bf.eb @@ -7,7 +7,7 @@ description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of redesigned for distributed memory MIMD parallel computers.""" toolchain = {'name': 'gompi', 'version': '2020a'} -toolchainopts = {'pic': True} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TGZ] @@ -30,7 +30,6 @@ configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis.a" ' configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' configopts += '-DCMAKE_C_COMPILER=mpicc ' configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' -configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' sanity_check_paths = { 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bf.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bf.eb index 1a51184125f..6b0e672b3bc 100644 --- a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bf.eb +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bf.eb @@ -7,7 +7,7 @@ description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of redesigned for distributed memory MIMD parallel computers.""" toolchain = {'name': 'gompi', 'version': '2020b'} -toolchainopts = {'pic': True} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TGZ] @@ -34,7 +34,6 @@ configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis.a" ' configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' configopts += '-DCMAKE_C_COMPILER=mpicc ' configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' -configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' sanity_check_paths = { 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bl.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bl.eb index 2fba79399b6..e21675f74cb 100644 --- a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bl.eb +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2020b-bl.eb @@ -7,7 +7,7 @@ description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of redesigned for distributed memory MIMD parallel computers.""" toolchain = {'name': 'gompi', 'version': '2020b'} -toolchainopts = {'pic': True} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TGZ] @@ -34,7 +34,6 @@ configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis.a" ' configopts += '-DLAPACK_LIBRARIES="$EBROOTLAPACK/lib/liblapack.a" ' configopts += '-DCMAKE_C_COMPILER=mpicc ' configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' -configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' sanity_check_paths = { 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-bf.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-bf.eb new file mode 100644 index 00000000000..b430ea04c0e --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-bf.eb @@ -0,0 +1,43 @@ +name = 'ScaLAPACK' +version = '2.1.0' +versionsuffix = '-bf' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6', # scalapack-2.1.0.tgz + 'bbb713c9fcabac802811c7f2c3a957c2d5d19dfd118ed1f6578c1436b82c7c43', # ScaLAPACK-2.1.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('BLIS', '0.8.1'), + ('libFLAME', '5.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTBLIS/lib/libblis.a" ' +configopts += '-DLAPACK_LIBRARIES="$EBROOTLIBFLAME/lib/libflame.a" ' +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-fb.eb index 50c13d45b30..5de6fb12f1d 100644 --- a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-fb.eb +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021a-fb.eb @@ -7,7 +7,7 @@ description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of redesigned for distributed memory MIMD parallel computers.""" toolchain = {'name': 'gompi', 'version': '2021a'} -toolchainopts = {'pic': True} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} source_urls = [homepage] sources = [SOURCELOWER_TGZ] @@ -33,7 +33,6 @@ configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT configopts += '-DCMAKE_C_COMPILER=mpicc ' configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' -configopts += '-DCMAKE_Fortran_FLAGS="-lpthread -fopenmp $DCMAKE_Fortran_FLAGS" ' sanity_check_paths = { 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021b-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021b-fb.eb new file mode 100644 index 00000000000..656bf80900b --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.1.0-gompi-2021b-fb.eb @@ -0,0 +1,42 @@ +name = 'ScaLAPACK' +version = '2.1.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '61d9216cf81d246944720cfce96255878a3f85dec13b9351f1fa0fd6768220a6', # scalapack-2.1.0.tgz + 'bbb713c9fcabac802811c7f2c3a957c2d5d19dfd118ed1f6578c1436b82c7c43', # ScaLAPACK-2.1.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('FlexiBLAS', '3.0.4'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DCMAKE_C_COMPILER=mpicc ' +configopts += '-DCMAKE_Fortran_COMPILER=mpif90 ' + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gmpich-2024.06-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gmpich-2024.06-fb.eb new file mode 100644 index 00000000000..28d4f766d52 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gmpich-2024.06-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gmpich', 'version': '2024.06'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.3.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.05-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.05-fb.eb new file mode 100644 index 00000000000..53161cf0021 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.05-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022.05'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb new file mode 100644 index 00000000000..0ba4a32980e --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022.10-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022.10'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022a-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022a-fb.eb new file mode 100644 index 00000000000..9c9cce7df25 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022a-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb new file mode 100644 index 00000000000..5b0acd500ad --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023.09-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023.09-fb.eb new file mode 100644 index 00000000000..f9ef3a1331c --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023.09-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2023.09'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('FlexiBLAS', '3.3.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023a-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023a-fb.eb new file mode 100644 index 00000000000..4465e702f88 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023a-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.3.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023b-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023b-fb.eb new file mode 100644 index 00000000000..c52e40f7733 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2023b-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('FlexiBLAS', '3.3.1'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb new file mode 100644 index 00000000000..4bdfa045feb --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024.05-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2024.05'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.4.4'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024a-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024a-fb.eb new file mode 100644 index 00000000000..1bccc16f38b --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2024a-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'gompi', 'version': '2024a'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.29.3'), +] + +dependencies = [ + ('FlexiBLAS', '3.4.4'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb new file mode 100644 index 00000000000..e4f23b0d226 --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0-nvompi-2022.07-fb.eb @@ -0,0 +1,40 @@ +name = 'ScaLAPACK' +version = '2.2.0' +versionsuffix = '-fb' + +homepage = 'https://www.netlib.org/scalapack/' +description = """The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines + redesigned for distributed memory MIMD parallel computers.""" + +toolchain = {'name': 'nvompi', 'version': '2022.07'} +toolchainopts = {'extra_fflags': '-lpthread', 'openmp': True, 'pic': True, 'usempi': True} + +source_urls = [homepage] +sources = [SOURCELOWER_TGZ] +patches = ['ScaLAPACK-%(version)s_fix-GCC-10.patch'] +checksums = [ + '40b9406c20735a9a3009d863318cb8d3e496fb073d201c5463df810e01ab2a57', # scalapack-2.2.0.tgz + 'f6bc3c6dee012ba4a696548a2e12b6aae932ce4fd5a142153b338839f52b5906', # ScaLAPACK-2.2.0_fix-GCC-10.patch +] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('FlexiBLAS', '3.2.0'), +] + +# Config Opts based on AOCL User Guide: +# https://developer.amd.com/wp-content/resources/AOCL_User%20Guide_2.2.pdf + +configopts = '-DBUILD_SHARED_LIBS=ON ' +configopts += '-DBLAS_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT +configopts += '-DLAPACK_LIBRARIES="$EBROOTFLEXIBLAS/lib/libflexiblas.%s" ' % SHLIB_EXT + +sanity_check_paths = { + 'files': ['lib/libscalapack.%s' % SHLIB_EXT, 'lib64/libscalapack.%s' % SHLIB_EXT], + 'dirs': ["lib", "lib64"], +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0_fix-GCC-10.patch b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0_fix-GCC-10.patch new file mode 100644 index 00000000000..575462ae08e --- /dev/null +++ b/easybuild/easyconfigs/s/ScaLAPACK/ScaLAPACK-2.2.0_fix-GCC-10.patch @@ -0,0 +1,65 @@ +From a0f76fc0c1c16646875b454b7d6f8d9d17726b5a Mon Sep 17 00:00:00 2001 +From: "Jose E. Roman" +Date: Wed, 2 Mar 2022 10:42:17 +0100 +Subject: [PATCH] Fix rank mismatch error in gfortran-10 + +--- + SRC/pdtrord.f | 4 ++-- + SRC/pstrord.f | 4 ++-- + SRC/pstrsen.f | 8 ++++---- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/SRC/pdtrord.f b/SRC/pdtrord.f +index 6206ff4..63e9457 100644 +--- a/SRC/pdtrord.f ++++ b/SRC/pdtrord.f +@@ -487,10 +487,10 @@ SUBROUTINE PDTRORD( COMPQ, SELECT, PARA, N, T, IT, JT, + MMAX( 1 ) = M + MMIN( 1 ) = M + IF( NPROCS.GT.1 ) +- $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, ++ $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX( 1 ), 1, -1, + $ -1, -1, -1, -1 ) + IF( NPROCS.GT.1 ) +- $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN, 1, -1, ++ $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN( 1 ), 1, -1, + $ -1, -1, -1, -1 ) + IF( MMAX( 1 ).GT.MMIN( 1 ) ) THEN + M = MMAX( 1 ) +diff --git a/SRC/pstrord.f b/SRC/pstrord.f +index 4bd7785..6960914 100644 +--- a/SRC/pstrord.f ++++ b/SRC/pstrord.f +@@ -487,10 +487,10 @@ SUBROUTINE PSTRORD( COMPQ, SELECT, PARA, N, T, IT, JT, + MMAX( 1 ) = M + MMIN( 1 ) = M + IF( NPROCS.GT.1 ) +- $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, ++ $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX( 1 ), 1, -1, + $ -1, -1, -1, -1 ) + IF( NPROCS.GT.1 ) +- $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN, 1, -1, ++ $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN( 1 ), 1, -1, + $ -1, -1, -1, -1 ) + IF( MMAX( 1 ).GT.MMIN( 1 ) ) THEN + M = MMAX( 1 ) +diff --git a/SRC/pstrsen.f b/SRC/pstrsen.f +index 83dfd56..7f6d4ee 100644 +--- a/SRC/pstrsen.f ++++ b/SRC/pstrsen.f +@@ -526,11 +526,11 @@ SUBROUTINE PSTRSEN( JOB, COMPQ, SELECT, PARA, N, T, IT, JT, + MMAX( 1 ) = M + MMIN( 1 ) = M + IF( NPROCS.GT.1 ) +- $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX, 1, -1, +- $ -1, -1, -1, -1 ) ++ $ CALL IGAMX2D( ICTXT, 'All', TOP, 1, 1, MMAX( 1 ), 1, -1, ++ $ -1, -1, -1, -1 ) + IF( NPROCS.GT.1 ) +- $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN, 1, -1, +- $ -1, -1, -1, -1 ) ++ $ CALL IGAMN2D( ICTXT, 'All', TOP, 1, 1, MMIN( 1 ), 1, -1, ++ $ -1, -1, -1, -1 ) + IF( MMAX( 1 ).GT.MMIN( 1 ) ) THEN + M = MMAX( 1 ) + IF( NPROCS.GT.1 ) diff --git a/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompi-2021a.eb b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompi-2021a.eb new file mode 100644 index 00000000000..9621861f23f --- /dev/null +++ b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompi-2021a.eb @@ -0,0 +1,52 @@ +## +# 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 +# Robert Mijakovic +# 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 = 'Scalasca' +version = '2.6' + +homepage = 'https://www.scalasca.org/' +description = """ + Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The + analysis identifies potential performance bottlenecks -- in particular + those concerning communication and synchronization -- and offers guidance + in exploring their causes. +""" + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e'] + +builddependencies = [ + ('CubeWriter', '4.6'), +] + +dependencies = [ + ('CubeGUI', '4.6'), + ('CubeLib', '4.6'), + ('OTF2', '2.3'), + ('Score-P', '7.0'), +] + +sanity_check_paths = { + 'files': ['bin/scalasca', 'lib/libpearl.replay.a'], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompic-2020b.eb b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompic-2020b.eb new file mode 100644 index 00000000000..6896e705ca5 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6-gompic-2020b.eb @@ -0,0 +1,52 @@ +## +# 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 +# Robert Mijakovic +# 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 = 'Scalasca' +version = '2.6' + +homepage = 'https://www.scalasca.org/' +description = """ + Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The + analysis identifies potential performance bottlenecks -- in particular + those concerning communication and synchronization -- and offers guidance + in exploring their causes. +""" + +toolchain = {'name': 'gompic', 'version': '2020b'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3f9cb1d58f3e25090a39da777bae8ca2769fd10cbd6dfb9a4887d873ee2441e'] + +builddependencies = [ + ('CubeWriter', '4.6'), +] + +dependencies = [ + ('CubeGUI', '4.6'), + ('CubeLib', '4.6'), + ('OTF2', '2.3'), + ('Score-P', '7.0'), +] + +sanity_check_paths = { + 'files': ['bin/scalasca', 'lib/libpearl.replay.a'], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb new file mode 100644 index 00000000000..0169c602509 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalasca/Scalasca-2.6.1-gompi-2022a.eb @@ -0,0 +1,52 @@ +## +# 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 +# Robert Mijakovic +# 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 = 'Scalasca' +version = '2.6.1' + +homepage = 'https://www.scalasca.org/' +description = """ + Scalasca is a software tool that supports the performance optimization of + parallel programs by measuring and analyzing their runtime behavior. The + analysis identifies potential performance bottlenecks -- in particular + those concerning communication and synchronization -- and offers guidance + in exploring their causes. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = ['https://apps.fz-juelich.de/scalasca/releases/scalasca/%(version_major_minor)s/dist'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0dbc3de82a6c0fe598de9e340513cff2882c199410a632d3a7f073ba921c7e7'] + +builddependencies = [ + ('CubeWriter', '4.8'), +] + +dependencies = [ + ('CubeGUI', '4.8'), + ('CubeLib', '4.8'), + ('OTF2', '3.0.2'), + ('Score-P', '8.0'), +] + +sanity_check_paths = { + 'files': ['bin/scalasca', 'lib/libpearl.replay.a'], + 'dirs': [], +} + +# Ensure that local metric documentation is found by CubeGUI +modextrapaths = {'CUBE_DOCPATH': 'share/doc/scalasca/patterns'} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..5f49d35f2d6 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.13-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.13' + +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': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['0077d517249cfa6ad0953d85c9656bdaca57b863159bbb78969987d9bdbb539c'], + }), +] + +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/Scalene/Scalene-1.5.20-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.20-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e21b689e3da --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.20-GCCcore-11.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.20' + +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': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '13.1.0', { + 'checksums': ['81c73a30b144bbcdedc13f4ea0b6ffd7fdc3b0d3cc259a9402309c8e4aee1964'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['dd424e96dc1ea7eb58e5cbe34e2dae1cedf50f62c031a9b1391a2fd4213d9915'], + }), +] + +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/Scalene/Scalene-1.5.26-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.26-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..56523a8e099 --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.26-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.26' + +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': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['dfff2232193f5fe8d414adb2b01acc0d10bbf67d4c0df7a94465ec726fd9e32c'], + }), +] + +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/Scalene/Scalene-1.5.26-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.26-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0868f7d136a --- /dev/null +++ b/easybuild/easyconfigs/s/Scalene/Scalene-1.5.26-GCCcore-12.3.0.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Scalene' +version = '1.5.26' + +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': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + ('pynvml', '11.4.1', { + 'checksums': ['b2e4a33b80569d093b513f5804db0c7f40cfc86f15a013ae7a8e99c5e175d5dd'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['dfff2232193f5fe8d414adb2b01acc0d10bbf67d4c0df7a94465ec726fd9e32c'], + }), +] + +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/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/Schrodinger/Schrodinger-2020-4.eb b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2020-4.eb new file mode 100644 index 00000000000..7053eefa580 --- /dev/null +++ b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2020-4.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Schrodinger' +version = '2020-4' + +homepage = 'https://www.schrodinger.com/' +description = """ Schrodinger aims to provide integrated software solutions and services + that truly meet its customers needs. We want to empower researchers around the world to + achieve their goals of improving human health and quality of life through advanced computational + techniques that transform the way chemists design compounds and materials. """ + +toolchain = SYSTEM + +# Download from schrodinger.com +sources = ['%(name)s_Suites_%(version)s_Linux-x86_64.tar'] +checksums = ['15c44c5e16a6c2ac75883ddb66f41a8e90465dbb8ecaa5709f4e7071712f74e8'] + +install_cmd = 'cd %(builddir)s/%(name)s_Suites_%(version)s_Linux-x86_64 && ' +install_cmd += './INSTALL -d . -s %(installdir)s -k /usr/tmp -t %(installdir)s/thirdparty -b *' + +sanity_check_paths = { + 'files': ['desmond', 'maestro'], + 'dirs': [], +} + +modextravars = { + 'SCHROD_LICENSE_FILE': '$HOME/.schrodinger_license', + 'SCHRODINGER': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2021-4.eb b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2021-4.eb new file mode 100644 index 00000000000..a59fbf59592 --- /dev/null +++ b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2021-4.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Schrodinger' +version = '2021-4' + +homepage = 'https://www.schrodinger.com/' +description = """ Schrodinger aims to provide integrated software solutions and services + that truly meet its customers needs. We want to empower researchers around the world to + achieve their goals of improving human health and quality of life through advanced computational + techniques that transform the way chemists design compounds and materials. """ + +toolchain = SYSTEM + +# Download from schrodinger.com +sources = ['%(name)s_Suites_%(version)s_Linux-x86_64.tar'] +checksums = ['555eb6e2da507463870e9b15ec89a709daf4510871e192d556b8659430d0fa18'] + +install_cmd = 'cd %(builddir)s/%(name)s_Suites_%(version)s_Linux-x86_64 && ' +install_cmd += './INSTALL -d . -s %(installdir)s -k /usr/tmp -t %(installdir)s/thirdparty -b *' + +sanity_check_paths = { + 'files': ['desmond', 'maestro'], + 'dirs': [], +} + +modextravars = { + 'SCHROD_LICENSE_FILE': '$HOME/.schrodinger_license', + 'SCHRODINGER': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-1.eb b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-1.eb new file mode 100644 index 00000000000..59d7e9bd86f --- /dev/null +++ b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-1.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Schrodinger' +version = '2022-1' + +homepage = 'https://www.schrodinger.com/' +description = """ Schrodinger aims to provide integrated software solutions and services + that truly meet its customers needs. We want to empower researchers around the world to + achieve their goals of improving human health and quality of life through advanced computational + techniques that transform the way chemists design compounds and materials. """ + +toolchain = SYSTEM + +# Download from schrodinger.com +sources = ['%(name)s_Suites_%(version)s_Linux-x86_64.tar'] +checksums = ['0fb9696901fc685e8400776e1c1f88f294b96a7d38528939b443840a53e474c0'] + +install_cmd = 'cd %(builddir)s/%(name)s_Suites_%(version)s_Linux-x86_64 && ' +install_cmd += './INSTALL -d . -s %(installdir)s -k /usr/tmp -t %(installdir)s/thirdparty -b *' + +sanity_check_paths = { + 'files': ['desmond', 'maestro'], + 'dirs': [], +} + +modextravars = { + 'SCHROD_LICENSE_FILE': '$HOME/.schrodinger_license', + 'SCHRODINGER': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-2.eb b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-2.eb new file mode 100644 index 00000000000..6dff90c04f5 --- /dev/null +++ b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-2.eb @@ -0,0 +1,31 @@ +easyblock = 'PackedBinary' + +name = 'Schrodinger' +version = '2022-2' + +homepage = 'https://www.schrodinger.com/' +description = """ Schrodinger aims to provide integrated software solutions and services + that truly meet its customers needs. We want to empower researchers around the world to + achieve their goals of improving human health and quality of life through advanced computational + techniques that transform the way chemists design compounds and materials. """ + +toolchain = SYSTEM + +# Download from schrodinger.com +sources = ['%(name)s_Suites_%(version)s_Linux-x86_64.tar'] +checksums = ['98aafc0939fcbfdb7e2290ff3a20847fe3a6dc0c8af27a7bb3242d5f322ab52a'] + +install_cmd = 'cd %(builddir)s/%(name)s_Suites_%(version)s_Linux-x86_64 && ' +install_cmd += './INSTALL -d . -s %(installdir)s -k /usr/tmp -t %(installdir)s/thirdparty -b *' + +sanity_check_paths = { + 'files': ['desmond', 'maestro'], + 'dirs': [], +} + +modextravars = { + 'SCHROD_LICENSE_FILE': '$HOME/.schrodinger_license', + 'SCHRODINGER': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-3.eb b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-3.eb new file mode 100644 index 00000000000..955e016dc5d --- /dev/null +++ b/easybuild/easyconfigs/s/Schrodinger/Schrodinger-2022-3.eb @@ -0,0 +1,33 @@ +easyblock = 'PackedBinary' + +name = 'Schrodinger' +version = '2022-3' + +homepage = 'https://www.schrodinger.com/' +description = """ Schrodinger aims to provide integrated software solutions and services + that truly meet its customers needs. We want to empower researchers around the world to + achieve their goals of improving human health and quality of life through advanced computational + techniques that transform the way chemists design compounds and materials. """ + +toolchain = SYSTEM + +# Download from schrodinger.com +sources = ['%(name)s_Suites_%(version)s_Linux-x86_64.tar'] +checksums = ['e607b6b2e1671030a66e7d2ab0fbe22ca5e8414794aaf50a7230c1db4417b762'] + +install_cmd = 'cd %(builddir)s/%(name)s_Suites_%(version)s_Linux-x86_64 && ' +install_cmd += './INSTALL -d . -s %(installdir)s -k /usr/tmp -t %(installdir)s/thirdparty -b *' + +# Needs libnsl.so, part of glibc on CentOS7 but a separate libnsl package on RHEL8 + +sanity_check_paths = { + 'files': ['desmond', 'maestro'], + 'dirs': [], +} + +modextravars = { + 'SCHROD_LICENSE_FILE': '$HOME/.schrodinger_license', + 'SCHRODINGER': '%(installdir)s', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb index 1f87241aa7b..d37d76cfc38 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intel-2020b.eb @@ -48,7 +48,7 @@ exts_list = [ ('pandas', '1.1.4', { 'checksums': ['a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6'], # strip out use of -Werror to avoid failing compilation due to Intel compiler warning - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, }), ('mpmath', '1.1.0', { 'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb index 804efa8e745..d5dd17674e6 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2020.11-intelcuda-2020b.eb @@ -48,7 +48,7 @@ exts_list = [ ('pandas', '1.1.4', { 'checksums': ['a979d0404b135c63954dea79e6246c45dd45371a88631cdbb4877d844e6de3b6'], # strip out use of -Werror to avoid failing compilation due to Intel compiler warning - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, }), ('mpmath', '1.1.0', { 'checksums': ['fc17abe05fbab3382b61a123c398508183406fa132e0223874578e20946499f6'], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb index 7157731622e..8d80f74fa66 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-foss-2021a.eb @@ -23,12 +23,15 @@ exts_list = [ ('numpy', '1.20.3', { 'sources': [SOURCE_ZIP], 'patches': [ + 'numpy-1.20.3_fix-fortran-compiler-error.patch', 'numpy-1.20.3_skip-ppc-long-complex-test.patch', 'numpy-1.20.3_xfail-test-nan.patch', 'numpy-1.20.3_fix-target-test-ccompiler-opt.patch', ], 'checksums': [ 'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, # numpy-1.20.3_skip-ppc-long-complex-test.patch '2f9a12e3a352b39076db84a7622fc8f4796abd3cb7f97f71958a495e864659a4', 'f0ce961f7d79551598e23050d92f46e827e300f6a7e5a6112e58efcc10385d4d', # numpy-1.20.3_xfail-test-nan.patch @@ -49,7 +52,7 @@ exts_list = [ 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], }), ('pandas', '1.2.4', { - 'preinstallopts': """sed -i 's@extra_compile_args = \["-Werror"\]@extra_compile_args = []@g' setup.py && """, + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], }), ('mpmath', '1.2.1', { diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb new file mode 100644 index 00000000000..21890734ddf --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-gomkl-2021a.eb @@ -0,0 +1,74 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gomkl', 'version': '2021a'} +toolchainopts = {'pic': True, 'lowopt': True, 'strict': True} + +builddependencies = [('hypothesis', '6.13.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pybind11', '2.6.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.20.3', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable-broken-override-test.patch', + 'numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.20.3_fix-target-test-ccompiler-opt.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + ], + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': [ + 'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable-broken-override-test.patch + '43cc2e675c52db1776efcc6c84ebd5fc008b48e6355c81087420d5e790e4af9b', + # numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch + '4c0b194c9d2e2c6b9798ebc271d4517f4c3cdbf2b3cbd68de16c7d4b068bb046', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.20.3_fix-target-test-ccompiler-opt.patch + '3d84e8b7d48387778974a5f6ae342a690ab5989547206b6add9d9667f8d7572a', + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + ], + }), + ('scipy', '1.6.3', { + 'checksums': ['a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707'], + }), + ('mpi4py', '3.0.3', { + 'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '1.2.4', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb new file mode 100644 index 00000000000..730ac590d33 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.05-intel-2021a.eb @@ -0,0 +1,74 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'pic': True, 'lowopt': True, 'strict': True} + +builddependencies = [('hypothesis', '6.13.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('pybind11', '2.6.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.20.3', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable-broken-override-test.patch', + 'numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.20.3_fix-target-test-ccompiler-opt.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + ], + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': [ + 'e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69', # numpy-1.20.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable-broken-override-test.patch + '43cc2e675c52db1776efcc6c84ebd5fc008b48e6355c81087420d5e790e4af9b', + # numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch + '4c0b194c9d2e2c6b9798ebc271d4517f4c3cdbf2b3cbd68de16c7d4b068bb046', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.20.3_fix-target-test-ccompiler-opt.patch + '3d84e8b7d48387778974a5f6ae342a690ab5989547206b6add9d9667f8d7572a', + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + ], + }), + ('scipy', '1.6.3', { + 'checksums': ['a75b014d3294fce26852a9d04ea27b5671d86736beb34acdfc05859246260707'], + }), + ('mpi4py', '3.0.3', { + 'checksums': ['012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '1.2.4', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['649ecab692fade3cbfcf967ff936496b0cfba0af00a55dfaacd82bdda5cb2279'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..1bd36b39378 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.10' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '4.57.1', versionsuffix), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '2.7.18'), + ('pybind11', '2.7.1', versionsuffix), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.16.6', { + 'patches': [ + 'numpy-1.16.2_relax-long-complex-test.patch', + 'numpy-1.16.6_add_flexiblas_detection.patch', + 'numpy-1.16.6_handle_failing_linalg_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + ], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + 'e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff', # numpy-1.16.6.zip + # numpy-1.16.2_relax-long-complex-test.patch + '647dd4099c2968489e5103b50bcd1b3d970b5b536af25ec75efe86127dda07bb', + # numpy-1.16.6_add_flexiblas_detection.patch + '32ca32dd7ee8d6fcdce5875067acd50970c731cbb2603c6d1ad84ff81ff8c6d5', + # numpy-1.16.6_handle_failing_linalg_test.patch + 'be9dce98649626b7322ed8d1241b74a4e28c1d1de070a8072dc912cad3eb143d', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.2', { + 'checksums': ['f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('scipy', '1.2.3', { + 'patches': ['scipy-1.2.3_fix_nan_problem_in_vi.patch'], + 'prebuildopts': 'export FFLAGS="$FFLAGS -fallow-argument-mismatch" && ', + 'checksums': [ + 'ecbe6413ca90b8e19f8475bfa303ac001e81b04ec600d17fa7f816271f7cca57', # scipy-1.2.3.tar.gz + # scipy-1.2.3_fix_nan_problem_in_vi.patch + '0513c5d0491a3f062ed024b6aa7b382706e8c42b3a3fdd26ff7a4d305ac9a30d', + ], + }), + ('mpi4py', '3.1.1', { + 'checksums': ['e11f8587a3b93bb24c8526addec664b586b965d83c0882b884c14dc3fd6b9f5c'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '0.24.2', { + 'checksums': ['4f919f409c433577a501e023943e582c57355d50a724c589e78bc1d551a535a2'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb new file mode 100644 index 00000000000..3e1d85982cc --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-foss-2021b.eb @@ -0,0 +1,78 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.10' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.14.6'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('pybind11', '2.7.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.21.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'patches': [ + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.20.3_skip-ppc-long-complex-test.patch', + ], + 'checksums': [ + '63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e', # numpy-1.21.3.zip + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.20.3_skip-ppc-long-complex-test.patch + '2f9a12e3a352b39076db84a7622fc8f4796abd3cb7f97f71958a495e864659a4', + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.2', { + 'checksums': ['f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.10.0', { + 'checksums': ['9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf'], + }), + ('scipy', '1.7.1', { + 'checksums': ['6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764'], + }), + ('mpi4py', '3.1.1', { + 'checksums': ['e11f8587a3b93bb24c8526addec664b586b965d83c0882b884c14dc3fd6b9f5c'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '1.3.4', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb new file mode 100644 index 00000000000..68420c45219 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2021.10-intel-2021b.eb @@ -0,0 +1,87 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2021.10' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.14.6'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('pybind11', '2.7.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.21.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable-broken-override-test.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + ], + 'checksums': [ + '63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e', # numpy-1.21.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable-broken-override-test.patch + '43cc2e675c52db1776efcc6c84ebd5fc008b48e6355c81087420d5e790e4af9b', + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.2', { + 'checksums': ['f81fcefa8b982624a31c9e4ec7761325a88a0eba60d36d1da90e47f8fe3c67f7'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.10.0', { + 'checksums': ['9dac8e1d50f33d4676003e350b1f0c878ce113e6f907920e92dc103352cac5bf'], + }), + ('scipy', '1.7.1', { + 'checksums': ['6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764'], + # compilation with Pythran enabled fails when using Intel compilers, + # see https://github.com/scipy/scipy/issues/14935 + 'prebuildopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'preinstallopts': "export SCIPY_USE_PYTHRAN=0 && ", + }), + ('mpi4py', '3.1.1', { + 'checksums': ['e11f8587a3b93bb24c8526addec664b586b965d83c0882b884c14dc3fd6b9f5c'], + }), + ('numexpr', '2.7.3', { + 'checksums': ['43616529f9b7d1afc83386f943dc66c4da5e052f00217ba7e3ad8dd1b5f3a825'], + }), + ('Bottleneck', '1.3.2', { + 'checksums': ['20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573'], + }), + ('pandas', '1.3.4', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.1', { + 'checksums': ['11f54493ceb54aae10dde676577ef59fc52d52f82729d5a12c90b0813c857a2f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb new file mode 100644 index 00000000000..613b1853e88 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022.05.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2022.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'foss', 'version': '2022.05'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.46.7'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.22.3', { + 'patches': [ + 'numpy-1.20.3_disable_fortran_callback_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + ], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + 'dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18', # numpy-1.22.3.zip + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.22.3_disable-broken-override-test.patch + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c', + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.11.0', { + 'checksums': ['0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875'], + }), + ('scipy', '1.8.1', { + # compilation with Pythran enabled fails when using Intel compilers, + # see https://github.com/scipy/scipy/issues/14935 + 'prebuildopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'preinstallopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'checksums': ['9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33'], + }), + ('mpi4py', '3.1.3', { + 'checksums': ['f1e9fae1079f43eafdd9f817cdb3fd30d709edc093b5d5dada57a461b2db3008'], + }), + ('numexpr', '2.8.1', { + 'checksums': ['cd779aa44dd986c4ef10163519239602b027be06a527946656207acf1f58113b'], + }), + ('Bottleneck', '1.3.4', { + 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], + }), + ('pandas', '1.4.2', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb new file mode 100644 index 00000000000..21a801b8fb9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-foss-2022a.eb @@ -0,0 +1,89 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2022.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.46.7'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.22.3', { + 'patches': [ + 'numpy-1.20.3_disable_fortran_callback_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + '%(name)s-%(version)s_skip-ppc-long-complex-test.patch', + ], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + 'dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18', # numpy-1.22.3.zip + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.22.3_disable-broken-override-test.patch + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c', + # numpy-1.22.3_skip-ppc-long-complex-test.patch + '058c8128b9f7158b4d5bedb2f52ccc7e1362b99c352c3d10335f98a6194c880e', + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.11.0', { + 'checksums': ['0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875'], + }), + ('scipy', '1.8.1', { + # compilation with Pythran enabled fails when using Intel compilers, + # see https://github.com/scipy/scipy/issues/14935 + 'prebuildopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'preinstallopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'checksums': ['9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33'], + }), + ('mpi4py', '3.1.3', { + 'checksums': ['f1e9fae1079f43eafdd9f817cdb3fd30d709edc093b5d5dada57a461b2db3008'], + }), + ('numexpr', '2.8.1', { + 'checksums': ['cd779aa44dd986c4ef10163519239602b027be06a527946656207acf1f58113b'], + }), + ('Bottleneck', '1.3.4', { + 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], + }), + ('pandas', '1.4.2', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb new file mode 100644 index 00000000000..97966712185 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022.05.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2022.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'intel', 'version': '2022.05'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.46.7'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.22.3', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + ], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + 'dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18', # numpy-1.22.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.22.3_disable-broken-override-test.patch + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c', + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.11.0', { + 'checksums': ['0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875'], + }), + ('scipy', '1.8.1', { + # compilation with Pythran enabled fails when using Intel compilers, + # see https://github.com/scipy/scipy/issues/14935 + 'prebuildopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'preinstallopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'checksums': ['9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33'], + }), + ('mpi4py', '3.1.3', { + 'checksums': ['f1e9fae1079f43eafdd9f817cdb3fd30d709edc093b5d5dada57a461b2db3008'], + }), + ('numexpr', '2.8.1', { + 'checksums': ['cd779aa44dd986c4ef10163519239602b027be06a527946656207acf1f58113b'], + }), + ('Bottleneck', '1.3.4', { + 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], + }), + ('pandas', '1.4.2', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb new file mode 100644 index 00000000000..4e06a815c50 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.05-intel-2022a.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2022.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.46.7'), + ('UnZip', '6.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('pybind11', '2.9.2'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.22.3', { + 'patches': [ + 'numpy-1.18.2-mkl.patch', + 'numpy-1.20.3_disable_fortran_callback_test.patch', + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + ], + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': [ + 'dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18', # numpy-1.22.3.zip + 'ea25ad5c0148c1398d282f0424e642fb9815a1a80f4512659b018e2adc378bcf', # numpy-1.18.2-mkl.patch + # numpy-1.20.3_disable_fortran_callback_test.patch + '44975a944544fd0e771b7e63c32590d257a3713070f8f7fdf60105dc516f1d75', + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + # numpy-1.22.3_disable-broken-override-test.patch + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c', + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.11.0', { + 'checksums': ['0b2cba712e09f7630879dff69f268460bfe34a6d6000451b47d598558a92a875'], + }), + ('scipy', '1.8.1', { + # compilation with Pythran enabled fails when using Intel compilers, + # see https://github.com/scipy/scipy/issues/14935 + 'prebuildopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'preinstallopts': "export SCIPY_USE_PYTHRAN=0 && ", + 'checksums': ['9e3fb1b0e896f14a85aa9a28d5f755daaeeb54c897b746df7a55ccb02b340f33'], + }), + ('mpi4py', '3.1.3', { + 'checksums': ['f1e9fae1079f43eafdd9f817cdb3fd30d709edc093b5d5dada57a461b2db3008'], + }), + ('numexpr', '2.8.1', { + 'checksums': ['cd779aa44dd986c4ef10163519239602b027be06a527946656207acf1f58113b'], + }), + ('Bottleneck', '1.3.4', { + 'checksums': ['1764a7f4ad58c558723c542847eb367ab0bbb6d880a4e5d5eef30a0ece5cecea'], + }), + ('pandas', '1.4.2', { + 'preinstallopts': """sed -i 's@extra_compile_args = \\["-Werror"\\]@extra_compile_args = []@g' setup.py && """, + 'checksums': ['92bc1fc585f1463ca827b45535957815b7deb218c549b7c18402c322c7549a12'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' 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 new file mode 100644 index 00000000000..e9e059afe3a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -0,0 +1,95 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.02' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2022b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.68.2'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), # required by scipy +] + +dependencies = [ + ('Python', '3.10.8'), + ('pybind11', '2.10.3'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.24.2', { + 'patches': [ + 'numpy-1.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + ], + 'checksums': [ + {'numpy-1.24.2.tar.gz': '003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22'}, + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.12.1', { + 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], + }), + ('scipy', '1.10.1', { + 'patches': [ + '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'}, + {'scipy-1.10.1_disable-tests.patch': '5d36d416fb7ea9297514c3988d9f506793e39dc4c0daedccf6733c3dd7e3dcc0'}, + {'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, + }), + ('numexpr', '2.8.4', { + 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + }), + ('Bottleneck', '1.3.5', { + 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], + }), + ('pandas', '1.5.3', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-gfbf-2023a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-gfbf-2023a.eb new file mode 100644 index 00000000000..9805854b0c3 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-gfbf-2023a.eb @@ -0,0 +1,108 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.07' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2023a'} +toolchainopts = {'pic': True, 'lowopt': 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.20.3_fix-fortran-compiler-error.patch', + 'numpy-1.22.3_disable-broken-override-test.patch', + ('numpy-1.25.1_fix-duplicate-avx512-symbols.patch', 'numpy/core/src/npysort/x86-simd-sort'), + 'numpy-1.25.1_fix-undefined-avx512-reference.patch', + 'numpy-1.25.1_fix-test_features.patch', + 'numpy-1.25.1_fix-test_half.patch', + ], + 'checksums': [ + {'numpy-1.25.1.tar.gz': '9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf'}, + {'numpy-1.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.25.1_fix-duplicate-avx512-symbols.patch': + '8e32087c279b7193ae3507953480601200c9eff021819f3001d78c232c5852e6'}, + {'numpy-1.25.1_fix-undefined-avx512-reference.patch': + 'c4b66da93bf36071663f122de1ae668386cc6ab0154d21fa3e14ed7ddfe2a72c'}, + {'numpy-1.25.1_fix-test_features.patch': + '1c05ee5d105fe2f824416dd6dd5c64ed0c1cd710a002b4e6dbfafff19203adc5'}, + {'numpy-1.25.1_fix-test_half.patch': '341b99ae1801feebf382c92591794eeefdf451bc34b98f20aa985ea897488951'}, + ], + }), + ('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', + ], + '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'}, + ], + }), + ('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.07-iimkl-2023a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb new file mode 100644 index 00000000000..25fa6ff36f7 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.07-iimkl-2023a.eb @@ -0,0 +1,120 @@ +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.20.3_fix-fortran-compiler-error.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.20.3_fix-fortran-compiler-error.patch': + '016e0d02ffabe013248c4fd203a4456edee76839f747c05daf92ac1fe9925189'}, + {'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-2023.09.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023.09.eb new file mode 100644 index 00000000000..397f6751a61 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023.09.eb @@ -0,0 +1,104 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.11' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2023.09'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.90.0'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '1.2.3'), + ('meson-python', '0.15.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), # required by scipy +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('pybind11', '2.11.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.26.2', { + 'patches': [ + 'numpy-1.22.3_disable-broken-override-test.patch', + ('numpy-1.25.1_fix-duplicate-avx512-symbols.patch', 'numpy/core/src/npysort/x86-simd-sort'), + 'numpy-1.25.1_fix-undefined-avx512-reference.patch', + 'numpy-1.25.1_fix-test_features.patch', + ], + 'checksums': [ + {'numpy-1.26.2.tar.gz': 'f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.25.1_fix-duplicate-avx512-symbols.patch': + '8e32087c279b7193ae3507953480601200c9eff021819f3001d78c232c5852e6'}, + {'numpy-1.25.1_fix-undefined-avx512-reference.patch': + 'c4b66da93bf36071663f122de1ae668386cc6ab0154d21fa3e14ed7ddfe2a72c'}, + {'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.14.0', { + 'checksums': ['42f3473946205964844eff7f750e2541afb2006d53475d708f5ff2d048db89bd'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('scipy', '1.11.4', { + 'patches': [ + 'scipy-1.11.1_disable-tests.patch', + 'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.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'}, + ], + 'enable_slow_tests': True, + 'ignore_test_result': False, + }), + ('numexpr', '2.8.7', { + 'checksums': ['596eeb3bbfebc912f4b6eaaf842b61ba722cebdb8bc42dfefa657d3a74953849'], + }), + ('Bottleneck', '1.3.7', { + 'checksums': ['e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8'], + }), + ('tzdata', '2023.3', { + 'checksums': ['11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a'], + }), + ('pandas', '2.1.3', { + 'checksums': ['22929f84bca106921917eb73c1521317ddd0a4c71b395bcf767a106e3494209f'], + 'preinstallopts': "export PANDAS_CI=0 && ", + }), + ('mpmath', '1.3.0', { + 'checksums': ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'], + }), + ('deap', '1.4.1', { + 'modulename': 'deap.base', + 'checksums': ['cc01de9892dfa7d1bc9803dab28892fead177f0182c81db47360a240ead778ff'], + }), +] + +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 new file mode 100644 index 00000000000..ae7ab11bbc4 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.11-gfbf-2023b.eb @@ -0,0 +1,107 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.11' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.90.0'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '1.2.3'), + ('meson-python', '0.15.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), # required by scipy +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('pybind11', '2.11.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.26.2', { + 'patches': [ + 'numpy-1.22.3_disable-broken-override-test.patch', + ('numpy-1.25.1_fix-duplicate-avx512-symbols.patch', 'numpy/core/src/npysort/x86-simd-sort'), + 'numpy-1.25.1_fix-undefined-avx512-reference.patch', + 'numpy-1.25.1_fix-test_features.patch', + ], + 'checksums': [ + {'numpy-1.26.2.tar.gz': 'f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.25.1_fix-duplicate-avx512-symbols.patch': + '8e32087c279b7193ae3507953480601200c9eff021819f3001d78c232c5852e6'}, + {'numpy-1.25.1_fix-undefined-avx512-reference.patch': + 'c4b66da93bf36071663f122de1ae668386cc6ab0154d21fa3e14ed7ddfe2a72c'}, + {'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.14.0', { + 'checksums': ['42f3473946205964844eff7f750e2541afb2006d53475d708f5ff2d048db89bd'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('scipy', '1.11.4', { + '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, + }), + ('numexpr', '2.8.7', { + 'checksums': ['596eeb3bbfebc912f4b6eaaf842b61ba722cebdb8bc42dfefa657d3a74953849'], + }), + ('Bottleneck', '1.3.7', { + 'checksums': ['e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8'], + }), + ('tzdata', '2023.3', { + 'checksums': ['11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a'], + }), + ('pandas', '2.1.3', { + 'checksums': ['22929f84bca106921917eb73c1521317ddd0a4c71b395bcf767a106e3494209f'], + 'preinstallopts': "export PANDAS_CI=0 && ", + }), + ('mpmath', '1.3.0', { + 'checksums': ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'], + }), + ('deap', '1.4.1', { + 'modulename': 'deap.base', + 'checksums': ['cc01de9892dfa7d1bc9803dab28892fead177f0182c81db47360a240ead778ff'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024.05.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024.05.eb new file mode 100644 index 00000000000..99d61098d6b --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024.05.eb @@ -0,0 +1,103 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2024.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2024.05'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.103.1'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '1.4.0'), + ('meson-python', '0.16.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), # required by scipy + ('Cython', '3.0.10'), # required by numpy and scipy +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('pybind11', '2.12.0'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.26.4', { + 'patches': [ + 'numpy-1.22.3_disable-broken-override-test.patch', + 'numpy-1.26.4_fix-riscv64-test-failures.patch', + ], + 'checksums': [ + {'numpy-1.26.4.tar.gz': '2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.26.4_fix-riscv64-test-failures.patch': + '81bd487dbca6da8285971a16a2c7b488718a051d3cd66450277bed6ff21741de'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.4', { + 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.16.1', { + 'checksums': ['861748c0f9c7d422b32724b114b3817d818ed4eab86c09781aa0a3f7ceabb7f9'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('scipy', '1.13.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', + ], + 'checksums': [ + {'scipy-1.13.1.tar.gz': '095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c'}, + {'scipy-1.11.1_disable-tests.patch': '906bfb03397d94882ccdc1b93bc2c8e854e0e060c2d107c83042992394e6a4af'}, + {'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch': + '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, + ], + }), + ('numexpr', '2.10.0', { + 'patches': ['numexpr-2.10.0_fix-numpy-1.x.patch'], + 'checksums': [ + {'numexpr-2.10.0.tar.gz': 'c89e930752639df040539160326d8f99a84159bbea41943ab8e960591edaaef0'}, + {'numexpr-2.10.0_fix-numpy-1.x.patch': '8d70b2e95579e6f0adc07bc615144f7657b3b607f9210ec328b6622458ca726d'}, + ], + }), + ('Bottleneck', '1.3.8', { + 'checksums': ['6780d896969ba7f53c8995ba90c87c548beb3db435dc90c60b9a10ed1ab4d868'], + }), + ('tzdata', '2024.1', { + 'checksums': ['2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd'], + }), + ('pandas', '2.2.2', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54'], + }), + ('mpmath', '1.3.0', { + 'checksums': ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'], + }), + ('deap', '1.4.1', { + 'modulename': 'deap.base', + 'checksums': ['cc01de9892dfa7d1bc9803dab28892fead177f0182c81db47360a240ead778ff'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb new file mode 100644 index 00000000000..2abab977add --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2024.05-gfbf-2024a.eb @@ -0,0 +1,103 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2024.05' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2024a'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.103.1'), + ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja + ('Meson', '1.4.0'), + ('meson-python', '0.16.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), # required by scipy + ('Cython', '3.0.10'), # required by numpy and scipy +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('pybind11', '2.12.0'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.26.4', { + 'patches': [ + 'numpy-1.22.3_disable-broken-override-test.patch', + 'numpy-1.26.4_fix-riscv64-test-failures.patch', + ], + 'checksums': [ + {'numpy-1.26.4.tar.gz': '2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + {'numpy-1.26.4_fix-riscv64-test-failures.patch': + '81bd487dbca6da8285971a16a2c7b488718a051d3cd66450277bed6ff21741de'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.4', { + 'checksums': ['9c270fe5f4b130969b54174de7db4e764b09b4f7f67ccfc32480e29f78348d97'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.16.1', { + 'checksums': ['861748c0f9c7d422b32724b114b3817d818ed4eab86c09781aa0a3f7ceabb7f9'], + }), + ('versioneer', '0.29', { + 'checksums': ['5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731'], + }), + ('scipy', '1.13.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', + ], + 'checksums': [ + {'scipy-1.13.1.tar.gz': '095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c'}, + {'scipy-1.11.1_disable-tests.patch': '906bfb03397d94882ccdc1b93bc2c8e854e0e060c2d107c83042992394e6a4af'}, + {'scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch': + '918c8e6fa8215d459126f267764c961bde729ea4a116c7f6287cddfdc58ffcea'}, + ], + }), + ('numexpr', '2.10.0', { + 'patches': ['numexpr-2.10.0_fix-numpy-1.x.patch'], + 'checksums': [ + {'numexpr-2.10.0.tar.gz': 'c89e930752639df040539160326d8f99a84159bbea41943ab8e960591edaaef0'}, + {'numexpr-2.10.0_fix-numpy-1.x.patch': '8d70b2e95579e6f0adc07bc615144f7657b3b607f9210ec328b6622458ca726d'}, + ], + }), + ('Bottleneck', '1.3.8', { + 'checksums': ['6780d896969ba7f53c8995ba90c87c548beb3db435dc90c60b9a10ed1ab4d868'], + }), + ('tzdata', '2024.1', { + 'checksums': ['2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd'], + }), + ('pandas', '2.2.2', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54'], + }), + ('mpmath', '1.3.0', { + 'checksums': ['7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f'], + }), + ('deap', '1.4.1', { + 'modulename': 'deap.base', + 'checksums': ['cc01de9892dfa7d1bc9803dab28892fead177f0182c81db47360a240ead778ff'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/deap-1.3.1_no_2to3.patch b/easybuild/easyconfigs/s/SciPy-bundle/deap-1.3.1_no_2to3.patch new file mode 100644 index 00000000000..c319c8f89db --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/deap-1.3.1_no_2to3.patch @@ -0,0 +1,23 @@ +From: Stefano Rivera +Date: Sun, 21 Nov 2021 08:50:34 -0400 +Subject: Drop use_2to3, setuptools 58 no longer supports it + +Bug-Upstream: https://github.com/DEAP/deap/issues/595 +Bug-Debian: https://bugs.debian.org/997609 +Forwarded: not-needed +--- + setup.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/setup.py b/setup.py +index e68c052..01ad00b 100644 +--- a/setup.py ++++ b/setup.py +@@ -87,7 +87,6 @@ def run_setup(build_ext): + ext_modules=extra_modules, + cmdclass={"build_ext": ve_build_ext}, + install_requires=['numpy'], +- use_2to3=True + ) + + try: diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numexpr-2.10.0_fix-numpy-1.x.patch b/easybuild/easyconfigs/s/SciPy-bundle/numexpr-2.10.0_fix-numpy-1.x.patch new file mode 100644 index 00000000000..dff9bd069c9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numexpr-2.10.0_fix-numpy-1.x.patch @@ -0,0 +1,18 @@ +fix for: error: PyDataType_SET_ELSIZE was not declared in this scope +see https://github.com/pydata/numexpr/pull/485 + +--- numexpr-2.10.0/numexpr/interpreter.cpp.orig 2024-06-14 21:47:27.999098607 +0200 ++++ numexpr-2.10.0/numexpr/interpreter.cpp 2024-06-14 21:49:53.403776961 +0200 +@@ -47,6 +47,12 @@ + #define AVAILABLE(Haystack, Haystack_Len, J, Needle_Len) \ + ((Haystack_Len) >= (J) + (Needle_Len)) + ++// To allow building with NumPy<2 locally define the new NumPy macros: ++#if NPY_ABI_VERSION < 0x02000000 ++ #define PyDataType_ELSIZE(descr) ((descr)->elsize) ++ #define PyDataType_SET_ELSIZE(descr, size) (descr)->elsize = size ++#endif ++ + #include "str-two-way.hpp" + + #ifdef DEBUG diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_add_flexiblas_detection.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_add_flexiblas_detection.patch new file mode 100644 index 00000000000..02528b44bc3 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_add_flexiblas_detection.patch @@ -0,0 +1,181 @@ +Add flexiblas detection to numpy. +This is just a copy of the openblas detection with name changed. + +Åke Sandgren, 2022-01-13 +diff -ru numpy-1.16.6.orig/numpy/distutils/system_info.py numpy-1.16.6/numpy/distutils/system_info.py +--- numpy-1.16.6.orig/numpy/distutils/system_info.py 2019-12-27 17:24:44.000000000 +0100 ++++ numpy-1.16.6/numpy/distutils/system_info.py 2022-01-13 16:48:14.754235308 +0100 +@@ -20,6 +20,7 @@ + blas_info + lapack_info + openblas_info ++ flexiblas_info + blis_info + blas_opt_info # usage recommended + lapack_opt_info # usage recommended +@@ -395,6 +396,9 @@ + # openblas with embedded lapack + 'openblas_lapack': openblas_lapack_info, # use blas_opt instead + 'openblas_clapack': openblas_clapack_info, # use blas_opt instead ++ 'flexiblas': flexiblas_info, # use blas_opt instead ++ 'flexiblas_lapack': flexiblas_lapack_info, # use blas_opt instead ++ 'flexiblas_clapack': flexiblas_clapack_info, # use blas_opt instead + 'blis': blis_info, # use blas_opt instead + 'lapack_mkl': lapack_mkl_info, # use lapack_opt instead + 'blas_mkl': blas_mkl_info, # use blas_opt instead +@@ -1549,6 +1553,16 @@ + self.set_info(**lapack_mkl_info) + return + ++ flexiblas_info = get_info('flexiblas_lapack') ++ if flexiblas_info: ++ self.set_info(**flexiblas_info) ++ return ++ ++ flexiblas_info = get_info('flexiblas_clapack') ++ if flexiblas_info: ++ self.set_info(**flexiblas_info) ++ return ++ + openblas_info = get_info('openblas_lapack') + if openblas_info: + self.set_info(**openblas_info) +@@ -1633,6 +1647,11 @@ + self.set_info(**blis_info) + return + ++ flexiblas_info = get_info('flexiblas') ++ if flexiblas_info: ++ self.set_info(**flexiblas_info) ++ return ++ + openblas_info = get_info('openblas') + if openblas_info: + self.set_info(**openblas_info) +@@ -1749,6 +1768,126 @@ + return res + + ++class flexiblas_info(blas_info): ++ section = 'flexiblas' ++ dir_env_var = 'FLEXIBLAS' ++ _lib_names = ['flexiblas'] ++ notfounderror = BlasNotFoundError ++ ++ def check_embedded_lapack(self, info): ++ return True ++ ++ def calc_info(self): ++ c = customized_ccompiler() ++ ++ lib_dirs = self.get_lib_dirs() ++ ++ flexiblas_libs = self.get_libs('libraries', self._lib_names) ++ if flexiblas_libs == self._lib_names: # backward compat with 1.8.0 ++ flexiblas_libs = self.get_libs('flexiblas_libs', self._lib_names) ++ ++ info = self.check_libs(lib_dirs, flexiblas_libs, []) ++ ++ if c.compiler_type == "msvc" and info is None: ++ from numpy.distutils.fcompiler import new_fcompiler ++ f = new_fcompiler(c_compiler=c) ++ if f and f.compiler_type == 'gnu95': ++ # Try gfortran-compatible library files ++ info = self.check_msvc_gfortran_libs(lib_dirs, flexiblas_libs) ++ # Skip lapack check, we'd need build_ext to do it ++ assume_lapack = True ++ elif info: ++ assume_lapack = False ++ info['language'] = 'c' ++ ++ if info is None: ++ return ++ ++ # Add extra info for OpenBLAS ++ extra_info = self.calc_extra_info() ++ dict_append(info, **extra_info) ++ ++ if not (assume_lapack or self.check_embedded_lapack(info)): ++ return ++ ++ info['define_macros'] = [('HAVE_CBLAS', None)] ++ self.set_info(**info) ++ ++ def check_msvc_gfortran_libs(self, library_dirs, libraries): ++ # First, find the full path to each library directory ++ library_paths = [] ++ for library in libraries: ++ for library_dir in library_dirs: ++ # MinGW static ext will be .a ++ fullpath = os.path.join(library_dir, library + '.a') ++ if os.path.isfile(fullpath): ++ library_paths.append(fullpath) ++ break ++ else: ++ return None ++ ++ # Generate numpy.distutils virtual static library file ++ tmpdir = os.path.join(os.getcwd(), 'build', 'flexiblas') ++ if not os.path.isdir(tmpdir): ++ os.makedirs(tmpdir) ++ ++ info = {'library_dirs': [tmpdir], ++ 'libraries': ['flexiblas'], ++ 'language': 'f77'} ++ ++ fake_lib_file = os.path.join(tmpdir, 'flexiblas.fobjects') ++ fake_clib_file = os.path.join(tmpdir, 'flexiblas.cobjects') ++ with open(fake_lib_file, 'w') as f: ++ f.write("\n".join(library_paths)) ++ with open(fake_clib_file, 'w') as f: ++ pass ++ ++ return info ++ ++class flexiblas_lapack_info(flexiblas_info): ++ section = 'flexiblas' ++ dir_env_var = 'FLEXIBLAS' ++ _lib_names = ['flexiblas'] ++ notfounderror = BlasNotFoundError ++ ++ def check_embedded_lapack(self, info): ++ res = False ++ c = customized_ccompiler() ++ ++ tmpdir = tempfile.mkdtemp() ++ s = """void zungqr_(); ++ int main(int argc, const char *argv[]) ++ { ++ zungqr_(); ++ return 0; ++ }""" ++ src = os.path.join(tmpdir, 'source.c') ++ out = os.path.join(tmpdir, 'a.out') ++ # Add the additional "extra" arguments ++ try: ++ extra_args = info['extra_link_args'] ++ except Exception: ++ extra_args = [] ++ if sys.version_info < (3, 5) and sys.version_info > (3, 0) and c.compiler_type == "msvc": ++ extra_args.append("/MANIFEST") ++ try: ++ with open(src, 'wt') as f: ++ f.write(s) ++ obj = c.compile([src], output_dir=tmpdir) ++ try: ++ c.link_executable(obj, out, libraries=info['libraries'], ++ library_dirs=info['library_dirs'], ++ extra_postargs=extra_args) ++ res = True ++ except distutils.ccompiler.LinkError: ++ res = False ++ finally: ++ shutil.rmtree(tmpdir) ++ return res ++ ++class flexiblas_clapack_info(flexiblas_lapack_info): ++ _lib_names = ['flexiblas', 'lapack'] ++ + class openblas_info(blas_info): + section = 'openblas' + dir_env_var = 'OPENBLAS' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_handle_failing_linalg_test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_handle_failing_linalg_test.patch new file mode 100644 index 00000000000..d85fb475809 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.16.6_handle_failing_linalg_test.patch @@ -0,0 +1,17 @@ +linalg/test_nan is marked xfail in at least 1.21.3 +Do so here too since it fails with newer openblas/compiler versions. + +Åke sandgren, 2022-01-13 +diff -ru numpy-1.16.6.orig/numpy/linalg/tests/test_linalg.py numpy-1.16.6/numpy/linalg/tests/test_linalg.py +--- numpy-1.16.6.orig/numpy/linalg/tests/test_linalg.py 2019-12-27 17:24:44.000000000 +0100 ++++ numpy-1.16.6/numpy/linalg/tests/test_linalg.py 2022-01-13 17:21:36.658857878 +0100 +@@ -740,6 +740,9 @@ + for A, p in itertools.product(As, p_neg): + linalg.cond(A, p) + ++ @pytest.mark.xfail(True, run=False, ++ reason="Platform/LAPACK-dependent failure, " ++ "see gh-18914") + def test_nan(self): + # nans should be passed through, not converted to infs + ps = [None, 1, -1, 2, -2, 'fro'] diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_disable-broken-override-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_disable-broken-override-test.patch new file mode 100644 index 00000000000..4abd30fce6a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_disable-broken-override-test.patch @@ -0,0 +1,13 @@ +skip broken test, see https://github.com/numpy/numpy/issues/16769 +author: Kenneth Hoste (HPC-UGent) +--- numpy-1.20.3/numpy/distutils/tests/test_system_info.py.orig 2021-05-09 12:38:00.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/tests/test_system_info.py 2021-05-26 09:49:48.966125918 +0200 +@@ -254,7 +254,7 @@ + finally: + os.chdir(previousDir) + +- def test_overrides(self): ++ def ignored_test_overrides(self): + previousDir = os.getcwd() + cfg = os.path.join(self._dir1, 'site.cfg') + shutil.copy(self._sitecfg, cfg) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_disable_fortran_callback_test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_disable_fortran_callback_test.patch new file mode 100644 index 00000000000..049735ff4f1 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_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 +diff -ru numpy-1.20.3.orig/numpy/f2py/tests/test_callback.py numpy-1.20.3/numpy/f2py/tests/test_callback.py +--- numpy-1.20.3.orig/numpy/f2py/tests/test_callback.py 2021-05-08 23:14:06.000000000 +0200 ++++ numpy-1.20.3/numpy/f2py/tests/test_callback.py 2021-10-21 19:05:32.463548952 +0200 +@@ -261,7 +261,7 @@ + options = ["-DF2PY_USE_PYTHON_TLS"] + + +-class TestF90Callback(util.F2PyTest): ++class Disabled_for_intel_TestF90Callback(util.F2PyTest): + + suffix = '.f90' + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch new file mode 100644 index 00000000000..142059b827a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-cpu-feature-detection-intel-compilers.patch @@ -0,0 +1,530 @@ +see https://github.com/numpy/numpy/issues/19084 + https://github.com/numpy/numpy/pull/19098 + +diff -ru numpy-1.20.3.orig/numpy/distutils/ccompiler_opt.py numpy-1.20.3/numpy/distutils/ccompiler_opt.py +--- numpy-1.20.3.orig/numpy/distutils/ccompiler_opt.py 2021-05-09 12:38:00.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/ccompiler_opt.py 2021-05-26 08:50:31.482607838 +0200 +@@ -552,7 +552,7 @@ + sources, extra_postargs=flags, **kwargs + ) + +- def dist_test(self, source, flags): ++ def dist_test(self, source, flags, macros=[]): + """Return True if 'CCompiler.compile()' able to compile + a source file with certain flags. + """ +@@ -569,7 +569,7 @@ + test = False + try: + self.dist_compile( +- [source], flags, output_dir=self.conf_tmp_path ++ [source], flags, macros=macros, output_dir=self.conf_tmp_path + ) + test = True + except CompileError as e: +@@ -1163,20 +1163,23 @@ + + self.feature_is_cached = True + +- def feature_names(self, names=None, force_flags=None): ++ def feature_names(self, names=None, force_flags=None, macros=[]): + """ + Returns a set of CPU feature names that supported by platform and the **C** compiler. + + Parameters + ---------- +- 'names': sequence or None, optional ++ names: sequence or None, optional + Specify certain CPU features to test it against the **C** compiler. + if None(default), it will test all current supported features. + **Note**: feature names must be in upper-case. + +- 'force_flags': list or None, optional +- If None(default), default compiler flags for every CPU feature will be used +- during the test. ++ force_flags: list or None, optional ++ If None(default), default compiler flags for every CPU feature will ++ be used during the test. ++ ++ macros : list of tuples, optional ++ A list of C macro definitions. + """ + assert( + names is None or ( +@@ -1189,7 +1192,9 @@ + names = self.feature_supported.keys() + supported_names = set() + for f in names: +- if self.feature_is_supported(f, force_flags=force_flags): ++ if self.feature_is_supported( ++ f, force_flags=force_flags, macros=macros ++ ): + supported_names.add(f) + return supported_names + +@@ -1424,20 +1429,23 @@ + return self.cc_normalize_flags(flags) + + @_Cache.me +- def feature_test(self, name, force_flags=None): ++ def feature_test(self, name, force_flags=None, macros=[]): + """ + Test a certain CPU feature against the compiler through its own + check file. + + Parameters + ---------- +- 'name': str ++ name: str + Supported CPU feature name. + +- 'force_flags': list or None, optional ++ force_flags: list or None, optional + If None(default), the returned flags from `feature_flags()` + will be used. +- """ ++ ++ macros : list of tuples, optional ++ A list of C macro definitions. ++ """ + if force_flags is None: + force_flags = self.feature_flags(name) + +@@ -1453,24 +1461,29 @@ + if not os.path.exists(test_path): + self.dist_fatal("feature test file is not exist", test_path) + +- test = self.dist_test(test_path, force_flags + self.cc_flags["werror"]) ++ test = self.dist_test( ++ test_path, force_flags + self.cc_flags["werror"], macros ++ ) + if not test: + self.dist_log("testing failed", stderr=True) + return test + + @_Cache.me +- def feature_is_supported(self, name, force_flags=None): ++ def feature_is_supported(self, name, force_flags=None, macros=[]): + """ + Check if a certain CPU feature is supported by the platform and compiler. + + Parameters + ---------- +- 'name': str ++ name: str + CPU feature name in uppercase. + +- 'force_flags': list or None, optional +- If None(default), default compiler flags for every CPU feature will be used +- during test. ++ force_flags: list or None, optional ++ If None(default), default compiler flags for every CPU feature will ++ be used during test. ++ ++ macros : list of tuples, optional ++ A list of C macro definitions. + """ + assert(name.isupper()) + assert(force_flags is None or isinstance(force_flags, list)) +@@ -1478,9 +1491,9 @@ + supported = name in self.feature_supported + if supported: + for impl in self.feature_implies(name): +- if not self.feature_test(impl, force_flags): ++ if not self.feature_test(impl, force_flags, macros=macros): + return False +- if not self.feature_test(name, force_flags): ++ if not self.feature_test(name, force_flags, macros=macros): + return False + return supported + +@@ -1803,7 +1816,9 @@ + self.dist_fatal(arg_name, + "native option isn't supported by the compiler" + ) +- features_to = self.feature_names(force_flags=native) ++ features_to = self.feature_names( ++ force_flags=native, macros=[("DETECT_FEATURES", 1)] ++ ) + elif TOK == "MAX": + features_to = self.feature_supported.keys() + elif TOK == "MIN": +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx2.c numpy-1.20.3/numpy/distutils/checks/cpu_avx2.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx2.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx2.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __AVX2__ ++ #error "HOST/ARCH doesn't support AVX2" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512cd.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512cd.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512cd.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512cd.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __AVX512CD__ ++ #error "HOST/ARCH doesn't support AVX512CD" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_clx.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_clx.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_clx.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_clx.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __AVX512VNNI__ ++ #error "HOST/ARCH doesn't support CascadeLake AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_cnl.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_cnl.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_cnl.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_cnl.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__AVX512VBMI__) || !defined(__AVX512IFMA__) ++ #error "HOST/ARCH doesn't support CannonLake AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512f.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512f.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512f.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512f.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __AVX512F__ ++ #error "HOST/ARCH doesn't support AVX512F" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_icl.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_icl.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_icl.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_icl.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__AVX512VPOPCNTDQ__) || !defined(__AVX512BITALG__) || !defined(__AVX512VPOPCNTDQ__) ++ #error "HOST/ARCH doesn't support IceLake AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_knl.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_knl.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_knl.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_knl.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__AVX512ER__) || !defined(__AVX512PF__) ++ #error "HOST/ARCH doesn't support Knights Landing AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_knm.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_knm.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_knm.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_knm.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__AVX5124FMAPS__) || !defined(__AVX5124VNNIW__) || !defined(__AVX512VPOPCNTDQ__) ++ #error "HOST/ARCH doesn't support Knights Mill AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_skx.c numpy-1.20.3/numpy/distutils/checks/cpu_avx512_skx.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx512_skx.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx512_skx.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__AVX512VL__) || !defined(__AVX512BW__) || !defined(__AVX512DQ__) ++ #error "HOST/ARCH doesn't support SkyLake AVX512 features" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx.c numpy-1.20.3/numpy/distutils/checks/cpu_avx.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_avx.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_avx.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __AVX__ ++ #error "HOST/ARCH doesn't support AVX" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_f16c.c numpy-1.20.3/numpy/distutils/checks/cpu_f16c.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_f16c.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_f16c.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __F16C__ ++ #error "HOST/ARCH doesn't support F16C" ++ #endif ++#endif ++ + #include + #include + +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_fma3.c numpy-1.20.3/numpy/distutils/checks/cpu_fma3.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_fma3.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_fma3.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__FMA__) && !defined(__AVX2__) ++ #error "HOST/ARCH doesn't support FMA3" ++ #endif ++#endif ++ + #include + #include + +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_popcnt.c numpy-1.20.3/numpy/distutils/checks/cpu_popcnt.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_popcnt.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_popcnt.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env vr `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #if !defined(__SSE4_2__) && !defined(__POPCNT__) ++ #error "HOST/ARCH doesn't support POPCNT" ++ #endif ++#endif ++ + #ifdef _MSC_VER + #include + #else +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse2.c numpy-1.20.3/numpy/distutils/checks/cpu_sse2.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse2.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_sse2.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSE2__ ++ #error "HOST/ARCH doesn't support SSE2" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse3.c numpy-1.20.3/numpy/distutils/checks/cpu_sse3.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse3.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_sse3.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSE3__ ++ #error "HOST/ARCH doesn't support SSE3" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse41.c numpy-1.20.3/numpy/distutils/checks/cpu_sse41.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse41.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_sse41.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSE4_1__ ++ #error "HOST/ARCH doesn't support SSE41" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse42.c numpy-1.20.3/numpy/distutils/checks/cpu_sse42.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse42.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_sse42.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSE4_2__ ++ #error "HOST/ARCH doesn't support SSE42" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse.c numpy-1.20.3/numpy/distutils/checks/cpu_sse.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_sse.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_sse.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSE__ ++ #error "HOST/ARCH doesn't support SSE" ++ #endif ++#endif ++ + #include + + int main(void) +diff -ru numpy-1.20.3.orig/numpy/distutils/checks/cpu_ssse3.c numpy-1.20.3/numpy/distutils/checks/cpu_ssse3.c +--- numpy-1.20.3.orig/numpy/distutils/checks/cpu_ssse3.c 2021-05-08 20:35:28.000000000 +0200 ++++ numpy-1.20.3/numpy/distutils/checks/cpu_ssse3.c 2021-05-26 08:50:31.482607838 +0200 +@@ -1,3 +1,16 @@ ++#if defined(DETECT_FEATURES) && defined(__INTEL_COMPILER) ++ /* ++ * Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics, ++ * whether or not the build options for those features are specified. ++ * Therefore, we must test #definitions of CPU features when option native/host ++ * is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise ++ * the test will be broken and leads to enable all possible features. ++ */ ++ #ifndef __SSSE3__ ++ #error "HOST/ARCH doesn't support SSSE3" ++ #endif ++#endif ++ + #include + + int main(void) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-fortran-compiler-error.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-fortran-compiler-error.patch new file mode 100644 index 00000000000..32b41061f06 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.20.3_fix-fortran-compiler-error.patch @@ -0,0 +1,43 @@ +Using Fortran compilers which differ "too much" from GCC fails building NumPy with something like +> A valid Fortran version was not found in this string: [...] + +See https://github.com/easybuilders/easybuild-easyblocks/issues/2518 and https://github.com/numpy/numpy/pull/26502 + +Fix by converting the hard error into a warning as the issue would be handled later if required. +E.g. for building NumPy we don't need a Fortran compiler at all. + +Author: Alexander Grund (TU Dresden) + +diff --git a/numpy/distutils/fcompiler/gnu.py b/numpy/distutils/fcompiler/gnu.py +index eac4cbb477..8a1043fe26 100644 +--- a/numpy/distutils/fcompiler/gnu.py ++++ b/numpy/distutils/fcompiler/gnu.py +@@ -8,6 +8,7 @@ import hashlib + import base64 + import subprocess + from subprocess import Popen, PIPE, STDOUT ++from distutils import log + from numpy.distutils.exec_command import filepath_from_subprocess_output + from numpy.distutils.fcompiler import FCompiler + from distutils.version import LooseVersion +@@ -69,9 +70,9 @@ class GnuFCompiler(FCompiler): + # from the version string + return ('gfortran', v) + +- # If still nothing, raise an error to make the problem easy to find. +- err = 'A valid Fortran version was not found in this string:\n' +- raise ValueError(err + version_string) ++ # If still nothing, warn to make the problem easy to find. ++ log.warn('A valid Fortran version was not found in this string:\n' ++ + version_string) + + def version_match(self, version_string): + v = self.gnu_version_match(version_string) +@@ -539,7 +540,6 @@ def _can_target(cmd, arch): + + + if __name__ == '__main__': +- from distutils import log + from numpy.distutils import customized_fcompiler + log.set_verbosity(2) + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_disable-broken-override-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_disable-broken-override-test.patch new file mode 100644 index 00000000000..07d36217216 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_disable-broken-override-test.patch @@ -0,0 +1,16 @@ +skip broken test, see https://github.com/numpy/numpy/issues/16769 +author: Kenneth Hoste (HPC-UGent) +updated for version 1.22.3 by Jasper Grimm (UoY) +----------------------------------------------------------------- +diff -Nru numpy-1.22.3.orig/numpy/distutils/tests/test_system_info.py numpy-1.22.3/numpy/distutils/tests/test_system_info.py +--- numpy-1.22.3.orig/numpy/distutils/tests/test_system_info.py 2022-05-19 13:52:55.000000000 +0100 ++++ numpy-1.22.3/numpy/distutils/tests/test_system_info.py 2022-05-19 13:54:24.000000000 +0100 +@@ -258,7 +258,7 @@ + + @pytest.mark.xfail(HAS_MKL, reason=("`[DEFAULT]` override doesn't work if " + "numpy is built with MKL support")) +- def test_overrides(self): ++ def ignored_test_overrides(self): + previousDir = os.getcwd() + cfg = os.path.join(self._dir1, 'site.cfg') + shutil.copy(self._sitecfg, cfg) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_skip-ppc-long-complex-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_skip-ppc-long-complex-test.patch new file mode 100644 index 00000000000..7d950c31fc9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.22.3_skip-ppc-long-complex-test.patch @@ -0,0 +1,41 @@ +Include a PPC detection for the inaccurate trig functions +See https://github.com/numpy/numpy/issues/15763 + +Author: Alexander Grund (TU Dresden) + +diff --git a/numpy/core/tests/test_umath.py b/numpy/core/tests/test_umath.py +index c0b26e75b..ee040fe4b 100644 +--- a/numpy/core/tests/test_umath.py ++++ b/numpy/core/tests/test_umath.py +@@ -37,12 +37,17 @@ def on_powerpc(): + + + def bad_arcsinh(): +- """The blocklisted trig functions are not accurate on aarch64 for ++ """The blocklisted trig functions are not accurate on aarch64/PPC for + complex256. Rather than dig through the actual problem skip the + test. This should be fixed when we can move past glibc2.17 + which is the version in manylinux2014 + """ +- x = 1.78e-10 ++ if platform.machine() == 'aarch64': ++ x = 1.78e-10 ++ elif on_powerpc(): ++ x = 2.16e-10 ++ else: ++ return False + v1 = np.arcsinh(np.float128(x)) + v2 = np.arcsinh(np.complex256(x)).real + # The eps for float128 is 1-e33, so this is way bigger +@@ -3434,9 +3439,9 @@ def check(x, rtol): + x_basic = np.logspace(-2.999, 0, 10, endpoint=False) + + if dtype is np.longcomplex: +- if (platform.machine() == 'aarch64' and bad_arcsinh()): ++ if bad_arcsinh(): + pytest.skip("Trig functions of np.longcomplex values known " +- "to be inaccurate on aarch64 for some compilation " ++ "to be inaccurate on aarch64 and PPC for some compilation " + "configurations.") + # It's not guaranteed that the system-provided arc functions + # are accurate down to a few epsilons. (Eg. on Linux 64-bit) 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-duplicate-avx512-symbols.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-duplicate-avx512-symbols.patch new file mode 100644 index 00000000000..931654128ff --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-duplicate-avx512-symbols.patch @@ -0,0 +1,322 @@ +The new dispatch method in numpy includes headers of the x86-simd-sort submodule C++ files +compiled multiple times (with different architecture flags). +This leads to linker errors such as +> numpy/numpy-1.26.2/build/../numpy/core/src/npysort/x86-simd-sort/src/avx512fp16-16bit-qsort.hpp:161: multiple definition of `void avx512_qsort<_Float16>(_Float16*, long) +See https://github.com/numpy/numpy/issues/25274 + +Mark those functions inline, see https://github.com/intel/x86-simd-sort/pull/112 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/avx512-16bit-qsort.hpp b/src/avx512-16bit-qsort.hpp +index 606f870..bf8cf7e 100644 +--- a/src/avx512-16bit-qsort.hpp ++++ b/src/avx512-16bit-qsort.hpp +@@ -350,7 +350,7 @@ struct zmm_vector { + }; + + template <> +-bool comparison_func>(const uint16_t &a, const uint16_t &b) ++inline bool comparison_func>(const uint16_t &a, const uint16_t &b) + { + uint16_t signa = a & 0x8000, signb = b & 0x8000; + uint16_t expa = a & 0x7c00, expb = b & 0x7c00; +@@ -406,7 +406,7 @@ replace_inf_with_nan(uint16_t *arr, int64_t arrsize, int64_t nan_count) + } + + template <> +-void avx512_qselect(int16_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(int16_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_16bit_, int16_t>( +@@ -415,7 +415,7 @@ void avx512_qselect(int16_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qselect(uint16_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(uint16_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_16bit_, uint16_t>( +@@ -423,7 +423,7 @@ void avx512_qselect(uint16_t *arr, int64_t k, int64_t arrsize) + } + } + +-void avx512_qselect_fp16(uint16_t *arr, int64_t k, int64_t arrsize) ++X86_SIMD_SORT_INLINE void avx512_qselect_fp16(uint16_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +@@ -434,7 +434,7 @@ void avx512_qselect_fp16(uint16_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qsort(int16_t *arr, int64_t arrsize) ++inline void avx512_qsort(int16_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_16bit_, int16_t>( +@@ -443,7 +443,7 @@ void avx512_qsort(int16_t *arr, int64_t arrsize) + } + + template <> +-void avx512_qsort(uint16_t *arr, int64_t arrsize) ++inline void avx512_qsort(uint16_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_16bit_, uint16_t>( +@@ -451,7 +451,7 @@ void avx512_qsort(uint16_t *arr, int64_t arrsize) + } + } + +-void avx512_qsort_fp16(uint16_t *arr, int64_t arrsize) ++X86_SIMD_SORT_INLINE void avx512_qsort_fp16(uint16_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +diff --git a/src/avx512-32bit-qsort.hpp b/src/avx512-32bit-qsort.hpp +index c4061dd..9dc3e18 100644 +--- a/src/avx512-32bit-qsort.hpp ++++ b/src/avx512-32bit-qsort.hpp +@@ -715,7 +715,7 @@ replace_inf_with_nan(float *arr, int64_t arrsize, int64_t nan_count) + } + + template <> +-void avx512_qselect(int32_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(int32_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_32bit_, int32_t>( +@@ -724,7 +724,7 @@ void avx512_qselect(int32_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qselect(uint32_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(uint32_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_32bit_, uint32_t>( +@@ -733,7 +733,7 @@ void avx512_qselect(uint32_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qselect(float *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(float *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +@@ -744,7 +744,7 @@ void avx512_qselect(float *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qsort(int32_t *arr, int64_t arrsize) ++inline void avx512_qsort(int32_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_32bit_, int32_t>( +@@ -753,7 +753,7 @@ void avx512_qsort(int32_t *arr, int64_t arrsize) + } + + template <> +-void avx512_qsort(uint32_t *arr, int64_t arrsize) ++inline void avx512_qsort(uint32_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_32bit_, uint32_t>( +@@ -762,7 +762,7 @@ void avx512_qsort(uint32_t *arr, int64_t arrsize) + } + + template <> +-void avx512_qsort(float *arr, int64_t arrsize) ++inline void avx512_qsort(float *arr, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +diff --git a/src/avx512-64bit-argsort.hpp b/src/avx512-64bit-argsort.hpp +index 80c6ce4..4687860 100644 +--- a/src/avx512-64bit-argsort.hpp ++++ b/src/avx512-64bit-argsort.hpp +@@ -311,7 +311,7 @@ bool has_nan(type_t* arr, int64_t arrsize) + } + + template +-void avx512_argsort(T* arr, int64_t *arg, int64_t arrsize) ++inline void avx512_argsort(T* arr, int64_t *arg, int64_t arrsize) + { + if (arrsize > 1) { + argsort_64bit_>( +@@ -320,7 +320,7 @@ void avx512_argsort(T* arr, int64_t *arg, int64_t arrsize) + } + + template <> +-void avx512_argsort(double* arr, int64_t *arg, int64_t arrsize) ++inline void avx512_argsort(double* arr, int64_t *arg, int64_t arrsize) + { + if (arrsize > 1) { + if (has_nan>(arr, arrsize)) { +@@ -335,7 +335,7 @@ void avx512_argsort(double* arr, int64_t *arg, int64_t arrsize) + + + template <> +-void avx512_argsort(int32_t* arr, int64_t *arg, int64_t arrsize) ++inline void avx512_argsort(int32_t* arr, int64_t *arg, int64_t arrsize) + { + if (arrsize > 1) { + argsort_64bit_>( +@@ -344,7 +344,7 @@ void avx512_argsort(int32_t* arr, int64_t *arg, int64_t arrsize) + } + + template <> +-void avx512_argsort(uint32_t* arr, int64_t *arg, int64_t arrsize) ++inline void avx512_argsort(uint32_t* arr, int64_t *arg, int64_t arrsize) + { + if (arrsize > 1) { + argsort_64bit_>( +@@ -353,7 +353,7 @@ void avx512_argsort(uint32_t* arr, int64_t *arg, int64_t arrsize) + } + + template <> +-void avx512_argsort(float* arr, int64_t *arg, int64_t arrsize) ++inline void avx512_argsort(float* arr, int64_t *arg, int64_t arrsize) + { + if (arrsize > 1) { + if (has_nan>(arr, arrsize)) { +@@ -367,7 +367,7 @@ void avx512_argsort(float* arr, int64_t *arg, int64_t arrsize) + } + + template +-std::vector avx512_argsort(T* arr, int64_t arrsize) ++inline std::vector avx512_argsort(T* arr, int64_t arrsize) + { + std::vector indices(arrsize); + std::iota(indices.begin(), indices.end(), 0); +diff --git a/src/avx512-64bit-keyvaluesort.hpp b/src/avx512-64bit-keyvaluesort.hpp +index f721f5c..26153c9 100644 +--- a/src/avx512-64bit-keyvaluesort.hpp ++++ b/src/avx512-64bit-keyvaluesort.hpp +@@ -440,7 +440,7 @@ void qsort_64bit_(type1_t *keys, + } + + template <> +-void avx512_qsort_kv(int64_t *keys, uint64_t *indexes, int64_t arrsize) ++inline void avx512_qsort_kv(int64_t *keys, uint64_t *indexes, int64_t arrsize) + { + if (arrsize > 1) { + qsort_64bit_, zmm_vector>( +@@ -449,7 +449,7 @@ void avx512_qsort_kv(int64_t *keys, uint64_t *indexes, int64_t arrsize) + } + + template <> +-void avx512_qsort_kv(uint64_t *keys, ++inline void avx512_qsort_kv(uint64_t *keys, + uint64_t *indexes, + int64_t arrsize) + { +@@ -460,7 +460,7 @@ void avx512_qsort_kv(uint64_t *keys, + } + + template <> +-void avx512_qsort_kv(double *keys, uint64_t *indexes, int64_t arrsize) ++inline void avx512_qsort_kv(double *keys, uint64_t *indexes, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(keys, arrsize); +diff --git a/src/avx512-64bit-qsort.hpp b/src/avx512-64bit-qsort.hpp +index 1cbcd38..1928bb2 100644 +--- a/src/avx512-64bit-qsort.hpp ++++ b/src/avx512-64bit-qsort.hpp +@@ -784,7 +784,7 @@ static void qselect_64bit_(type_t *arr, + } + + template <> +-void avx512_qselect(int64_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(int64_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_64bit_, int64_t>( +@@ -793,7 +793,7 @@ void avx512_qselect(int64_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qselect(uint64_t *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(uint64_t *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + qselect_64bit_, uint64_t>( +@@ -802,7 +802,7 @@ void avx512_qselect(uint64_t *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qselect(double *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(double *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +@@ -813,7 +813,7 @@ void avx512_qselect(double *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qsort(int64_t *arr, int64_t arrsize) ++inline void avx512_qsort(int64_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_64bit_, int64_t>( +@@ -822,7 +822,7 @@ void avx512_qsort(int64_t *arr, int64_t arrsize) + } + + template <> +-void avx512_qsort(uint64_t *arr, int64_t arrsize) ++inline void avx512_qsort(uint64_t *arr, int64_t arrsize) + { + if (arrsize > 1) { + qsort_64bit_, uint64_t>( +@@ -831,7 +831,7 @@ void avx512_qsort(uint64_t *arr, int64_t arrsize) + } + + template <> +-void avx512_qsort(double *arr, int64_t arrsize) ++inline void avx512_qsort(double *arr, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +diff --git a/src/avx512-common-qsort.h b/src/avx512-common-qsort.h +index 959352e..9421de5 100644 +--- a/src/avx512-common-qsort.h ++++ b/src/avx512-common-qsort.h +@@ -94,11 +94,11 @@ struct ymm_vector; + // Regular quicksort routines: + template + void avx512_qsort(T *arr, int64_t arrsize); +-void avx512_qsort_fp16(uint16_t *arr, int64_t arrsize); ++X86_SIMD_SORT_INLINE void avx512_qsort_fp16(uint16_t *arr, int64_t arrsize); + + template + void avx512_qselect(T *arr, int64_t k, int64_t arrsize); +-void avx512_qselect_fp16(uint16_t *arr, int64_t k, int64_t arrsize); ++X86_SIMD_SORT_INLINE void avx512_qselect_fp16(uint16_t *arr, int64_t k, int64_t arrsize); + + template + inline void avx512_partial_qsort(T *arr, int64_t k, int64_t arrsize) +diff --git a/src/avx512fp16-16bit-qsort.hpp b/src/avx512fp16-16bit-qsort.hpp +index 8a9a49e..1206f82 100644 +--- a/src/avx512fp16-16bit-qsort.hpp ++++ b/src/avx512fp16-16bit-qsort.hpp +@@ -145,7 +145,7 @@ replace_inf_with_nan(_Float16 *arr, int64_t arrsize, int64_t nan_count) + } + + template <> +-void avx512_qselect(_Float16 *arr, int64_t k, int64_t arrsize) ++inline void avx512_qselect(_Float16 *arr, int64_t k, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); +@@ -156,7 +156,7 @@ void avx512_qselect(_Float16 *arr, int64_t k, int64_t arrsize) + } + + template <> +-void avx512_qsort(_Float16 *arr, int64_t arrsize) ++inline void avx512_qsort(_Float16 *arr, int64_t arrsize) + { + if (arrsize > 1) { + int64_t nan_count = replace_nan_with_inf(arr, arrsize); diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_features.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_features.patch new file mode 100644 index 00000000000..e96193bd917 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_features.patch @@ -0,0 +1,17 @@ +The /proc/cpuinfo flag for AVX512FP16 is spelled avx512_fp16 Add the underscore to the mapping to make the test pass +See https://github.com/numpy/numpy/pull/25372 + +Author: Alexander Grund (TU Dresden) + +diff --git a/numpy/core/tests/test_cpu_features.py b/numpy/core/tests/test_cpu_features.py +index 2fad4dfd9..48ab30a4a 100644 +--- a/numpy/core/tests/test_cpu_features.py ++++ b/numpy/core/tests/test_cpu_features.py +@@ -351,6 +351,7 @@ class Test_X86_Features(AbstractTest): + SSE3="PNI", SSE41="SSE4_1", SSE42="SSE4_2", FMA3="FMA", + AVX512VNNI="AVX512_VNNI", AVX512BITALG="AVX512_BITALG", AVX512VBMI2="AVX512_VBMI2", + AVX5124FMAPS="AVX512_4FMAPS", AVX5124VNNIW="AVX512_4VNNIW", AVX512VPOPCNTDQ="AVX512_VPOPCNTDQ", ++ AVX512FP16="AVX512_FP16", + ) + def load_flags(self): + self.load_flags_cpuinfo("flags") diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_half.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_half.patch new file mode 100644 index 00000000000..9489373e30b --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-test_half.patch @@ -0,0 +1,69 @@ +test_half_conversions fails when there is hardware support for Float16 (e.g. AVX512) as NaNs are not kept the same. +Error looks like: + # Convert from float64 back to float16 + b = np.array(self.all_f64, dtype=float16) + bv = b.view(dtype=uint16) + fv = self.all_f16.view(dtype=uint16) +> assert_equal(self.all_f16.view(dtype=uint16), + b.view(dtype=uint16)) +... +E AssertionError: +E Arrays are not equal +E +E Mismatched elements: 1022 / 65536 (1.56%) +E Max absolute difference: 512 +E Max relative difference: 0.01587252 +E x: array([ 0, 1, 2, ..., 65533, 65534, 65535], dtype=uint16) +E y: array([ 0, 1, 2, ..., 65533, 65534, 65535], dtype=uint16) + +Deeper investigation shows a difference of exactly 512 in indices 31745-32255 & 64513-65023 + +Fix using https://github.com/numpy/numpy/commit/7a84442b1caa4904a9b8e58bd6b93045b4ad350f +from Sayed Adel + +Author: Alexander Grund (TU Dresden) + +diff --git a/numpy/core/tests/test_half.py b/numpy/core/tests/test_half.py +index ca849ad52..3e72eba89 100644 +--- a/numpy/core/tests/test_half.py ++++ b/numpy/core/tests/test_half.py +@@ -21,8 +21,11 @@ def setup_method(self): + # An array of all possible float16 values + self.all_f16 = np.arange(0x10000, dtype=uint16) + self.all_f16.dtype = float16 +- self.all_f32 = np.array(self.all_f16, dtype=float32) +- self.all_f64 = np.array(self.all_f16, dtype=float64) ++ ++ # NaN value can cause an invalid FP exception if HW is been used ++ with np.errstate(invalid='ignore'): ++ self.all_f32 = np.array(self.all_f16, dtype=float32) ++ self.all_f64 = np.array(self.all_f16, dtype=float64) + + # An array of all non-NaN float16 values, in sorted order + self.nonan_f16 = np.concatenate( +@@ -44,14 +47,19 @@ def test_half_conversions(self): + # value is preserved when converting to/from other floats. + + # Convert from float32 back to float16 +- b = np.array(self.all_f32, dtype=float16) +- assert_equal(self.all_f16.view(dtype=uint16), +- b.view(dtype=uint16)) ++ with np.errstate(invalid='ignore'): ++ b = np.array(self.all_f32, dtype=float16) ++ # avoid testing NaNs due to differ bits wither Q/SNaNs ++ b_nn = b == b ++ assert_equal(self.all_f16[b_nn].view(dtype=uint16), ++ b[b_nn].view(dtype=uint16)) + + # Convert from float64 back to float16 +- b = np.array(self.all_f64, dtype=float16) +- assert_equal(self.all_f16.view(dtype=uint16), +- b.view(dtype=uint16)) ++ with np.errstate(invalid='ignore'): ++ b = np.array(self.all_f64, dtype=float16) ++ b_nn = b == b ++ assert_equal(self.all_f16[b_nn].view(dtype=uint16), ++ b[b_nn].view(dtype=uint16)) + + # Convert float16 to longdouble and back + # This doesn't necessarily preserve the extra NaN bits, diff --git a/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-undefined-avx512-reference.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-undefined-avx512-reference.patch new file mode 100644 index 00000000000..a5da1028b01 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.25.1_fix-undefined-avx512-reference.patch @@ -0,0 +1,20 @@ +The change to the x86-simd-sort submodule now causes an undefined reference +to _ZN12_GLOBAL__N_112avx512_qsortItEEvPT_l on `import numpy` +Reason is that `avx512_qsort` is used but defined in a header not included +by simd_qsort_16bit.dispatch.cpp when the "AVX512_SPR" version is built. +Fix by including the header. + +Author: Alexander Grund (TU Dresden) + +diff --git a/numpy/core/src/npysort/simd_qsort_16bit.dispatch.cpp b/numpy/core/src/npysort/simd_qsort_16bit.dispatch.cpp +index 3f5099758..a75f882ff 100644 +--- a/numpy/core/src/npysort/simd_qsort_16bit.dispatch.cpp ++++ b/numpy/core/src/npysort/simd_qsort_16bit.dispatch.cpp +@@ -9,6 +9,7 @@ + + #if defined(NPY_HAVE_AVX512_SPR) && !defined(_MSC_VER) + #include "x86-simd-sort/src/avx512fp16-16bit-qsort.hpp" ++ #include "x86-simd-sort/src/avx512-16bit-qsort.hpp" + #elif defined(NPY_HAVE_AVX512_ICL) && !defined(_MSC_VER) + #include "x86-simd-sort/src/avx512-16bit-qsort.hpp" + #endif 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/numpy-1.26.4_fix-riscv64-test-failures.patch b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.26.4_fix-riscv64-test-failures.patch new file mode 100644 index 00000000000..ccc444e1f4d --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/numpy-1.26.4_fix-riscv64-test-failures.patch @@ -0,0 +1,156 @@ +From d9e88e32302b3842785a33d90cf22f8c1405cd05 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= +Date: Tue, 18 Jun 2024 13:28:35 +0200 +Subject: [PATCH 1/2] TST: Fix fp_noncontiguous and fpclass on riscv64 + +Modify fp_noncontiguous and fpclass so that they pass on riscv64. +The subtests that verify that the signs of negative NaNs are preserved +do not pass on riscv64 builds and are disabled. Many RISC-V +instructions that produce NaNs return a canonical NaN, as defined by +the RISC-V specification. The canonical NaNs are always positive. See +section 11.3 NaN Generation and Propagation of the RISC-V Unprivileged +ISA for more details. +--- + numpy/core/tests/test_umath.py | 44 +++++++++++++++++++++++++++++----- + 1 file changed, 38 insertions(+), 6 deletions(-) + +diff --git a/numpy/core/tests/test_umath.py b/numpy/core/tests/test_umath.py +index 963e740d8dcb..8444893c80c3 100644 +--- a/numpy/core/tests/test_umath.py ++++ b/numpy/core/tests/test_umath.py +@@ -1852,8 +1852,22 @@ def test_fpclass(self, stride): + assert_equal(np.isnan(arr_f64[::stride]), nan[::stride]) + assert_equal(np.isinf(arr_f32[::stride]), inf[::stride]) + assert_equal(np.isinf(arr_f64[::stride]), inf[::stride]) +- assert_equal(np.signbit(arr_f32[::stride]), sign[::stride]) +- assert_equal(np.signbit(arr_f64[::stride]), sign[::stride]) ++ if platform.processor() == 'riscv64': ++ # On RISC-V, many operations that produce NaNs, such as converting ++ # a -NaN from f64 to f32, return a canonical NaN. The canonical ++ # NaNs are always positive. See section 11.3 NaN Generation and ++ # Propagation of the RISC-V Unprivileged ISA for more details. ++ # We disable the sign test on riscv64 for -np.nan as we ++ # cannot assume that its sign will be honoured in these tests. ++ arr_f64_rv = np.copy(arr_f64) ++ arr_f32_rv = np.copy(arr_f32) ++ arr_f64_rv[1] = -1.0 ++ arr_f32_rv[1] = -1.0 ++ assert_equal(np.signbit(arr_f32_rv[::stride]), sign[::stride]) ++ assert_equal(np.signbit(arr_f64_rv[::stride]), sign[::stride]) ++ else: ++ assert_equal(np.signbit(arr_f32[::stride]), sign[::stride]) ++ assert_equal(np.signbit(arr_f64[::stride]), sign[::stride]) + assert_equal(np.isfinite(arr_f32[::stride]), finite[::stride]) + assert_equal(np.isfinite(arr_f64[::stride]), finite[::stride]) + +@@ -1874,23 +1888,37 @@ def test_fp_noncontiguous(self, dtype): + ncontig_in = data[1::3] + ncontig_out = out[1::3] + contig_in = np.array(ncontig_in) ++ ++ if platform.processor() == 'riscv64': ++ # Disable the -np.nan signbit tests on riscv64. See comments in ++ # test_fpclass for more details. ++ data_rv = np.copy(data) ++ data_rv[1] = -1.0 ++ ncontig_sign_in = data_rv[1::3] ++ contig_sign_in = np.array(ncontig_sign_in) ++ else: ++ ncontig_sign_in = ncontig_in ++ contig_sign_in = contig_in ++ + assert_equal(ncontig_in.flags.c_contiguous, False) + assert_equal(ncontig_out.flags.c_contiguous, False) + assert_equal(contig_in.flags.c_contiguous, True) ++ assert_equal(ncontig_sign_in.flags.c_contiguous, False) ++ assert_equal(contig_sign_in.flags.c_contiguous, True) + # ncontig in, ncontig out + assert_equal(np.isnan(ncontig_in, out=ncontig_out), nan[1::3]) + assert_equal(np.isinf(ncontig_in, out=ncontig_out), inf[1::3]) +- assert_equal(np.signbit(ncontig_in, out=ncontig_out), sign[1::3]) ++ assert_equal(np.signbit(ncontig_sign_in, out=ncontig_out), sign[1::3]) + assert_equal(np.isfinite(ncontig_in, out=ncontig_out), finite[1::3]) + # contig in, ncontig out + assert_equal(np.isnan(contig_in, out=ncontig_out), nan[1::3]) + assert_equal(np.isinf(contig_in, out=ncontig_out), inf[1::3]) +- assert_equal(np.signbit(contig_in, out=ncontig_out), sign[1::3]) ++ assert_equal(np.signbit(contig_sign_in, out=ncontig_out), sign[1::3]) + assert_equal(np.isfinite(contig_in, out=ncontig_out), finite[1::3]) + # ncontig in, contig out + assert_equal(np.isnan(ncontig_in), nan[1::3]) + assert_equal(np.isinf(ncontig_in), inf[1::3]) +- assert_equal(np.signbit(ncontig_in), sign[1::3]) ++ assert_equal(np.signbit(ncontig_sign_in), sign[1::3]) + assert_equal(np.isfinite(ncontig_in), finite[1::3]) + # contig in, contig out, nd stride + data_split = np.array(np.array_split(data, 2)) +@@ -1900,7 +1928,11 @@ def test_fp_noncontiguous(self, dtype): + finite_split = np.array(np.array_split(finite, 2)) + assert_equal(np.isnan(data_split), nan_split) + assert_equal(np.isinf(data_split), inf_split) +- assert_equal(np.signbit(data_split), sign_split) ++ if platform.processor() == 'riscv64': ++ data_split_rv = np.array(np.array_split(data_rv, 2)) ++ assert_equal(np.signbit(data_split_rv), sign_split) ++ else: ++ assert_equal(np.signbit(data_split), sign_split) + assert_equal(np.isfinite(data_split), finite_split) + + class TestLDExp: + +From ccb1d4adc01b49c7e900e5f532dc6361eac1362a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= +Date: Tue, 18 Jun 2024 13:30:00 +0200 +Subject: [PATCH 2/2] TST: Use platform.machine() for improved portability on + riscv64 + +Replace `platform.processor()` with `platform.machine()` considering the latter is more portable. More specifically, `platform.processor()` returns empty string on Arch Linux, and this PR fixes the corresponding test failure. +--- + numpy/core/tests/test_numeric.py | 2 +- + numpy/core/tests/test_umath.py | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/numpy/core/tests/test_numeric.py b/numpy/core/tests/test_numeric.py +index e5edd3efce5a..ce5917a9b09f 100644 +--- a/numpy/core/tests/test_numeric.py ++++ b/numpy/core/tests/test_numeric.py +@@ -483,7 +483,7 @@ def setup_method(self): + # Propagation of the RISC-V Unprivileged ISA for more details. + # We disable the float32 sign test on riscv64 for -np.nan as the sign + # of the NaN will be lost when it's converted to a float32. +- if platform.processor() != 'riscv64': ++ if platform.machine() != 'riscv64': + self.signf[3::6][self.ef[3::6]] = -np.nan + self.signd[3::6][self.ed[3::6]] = -np.nan + self.signf[4::6][self.ef[4::6]] = -0. +diff --git a/numpy/core/tests/test_umath.py b/numpy/core/tests/test_umath.py +index 8444893c80c3..c5a3e2c81f83 100644 +--- a/numpy/core/tests/test_umath.py ++++ b/numpy/core/tests/test_umath.py +@@ -1852,7 +1852,7 @@ def test_fpclass(self, stride): + assert_equal(np.isnan(arr_f64[::stride]), nan[::stride]) + assert_equal(np.isinf(arr_f32[::stride]), inf[::stride]) + assert_equal(np.isinf(arr_f64[::stride]), inf[::stride]) +- if platform.processor() == 'riscv64': ++ if platform.machine() == 'riscv64': + # On RISC-V, many operations that produce NaNs, such as converting + # a -NaN from f64 to f32, return a canonical NaN. The canonical + # NaNs are always positive. See section 11.3 NaN Generation and +@@ -1889,7 +1889,7 @@ def test_fp_noncontiguous(self, dtype): + ncontig_out = out[1::3] + contig_in = np.array(ncontig_in) + +- if platform.processor() == 'riscv64': ++ if platform.machine() == 'riscv64': + # Disable the -np.nan signbit tests on riscv64. See comments in + # test_fpclass for more details. + data_rv = np.copy(data) +@@ -1928,7 +1928,7 @@ def test_fp_noncontiguous(self, dtype): + finite_split = np.array(np.array_split(finite, 2)) + assert_equal(np.isnan(data_split), nan_split) + assert_equal(np.isinf(data_split), inf_split) +- if platform.processor() == 'riscv64': ++ if platform.machine() == 'riscv64': + data_split_rv = np.array(np.array_split(data_rv, 2)) + assert_equal(np.signbit(data_split_rv), sign_split) + else: diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch new file mode 100644 index 00000000000..46ed2e2c0f5 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch @@ -0,0 +1,41 @@ +disable problematic tests +test_milp_timeout_16545 fails intermittently, known issue - see https://github.com/scipy/scipy/issues/17137 +test_hermitian_modes fails with order of magnitude difference +test_concatenate_int32_overflow fails if not enough memory is available +author: Kenneth Hoste (HPC-UGent) + Simon Branford (University of Birmingham) +diff -ru scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py scipy-1.10.1/scipy/optimize/tests/test_milp.py +--- scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/optimize/tests/test_milp.py 2023-02-25 15:43:57.780477222 +0100 +@@ -283,7 +283,7 @@ + @pytest.mark.timeout(360) + @pytest.mark.parametrize(["options", "msg"], [({"time_limit": 10}, _msg_time), + ({"node_limit": 1}, _msg_iter)]) +-def test_milp_timeout_16545(options, msg): ++def disabled_test_milp_timeout_16545(options, msg): + # Ensure solution is not thrown away if MILP solver times out + # -- see gh-16545 + rng = np.random.default_rng(5123833489170494244) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 2023-02-25 15:44:06.220493384 +0100 +@@ -418,7 +418,7 @@ + None, sigma, mattype, None, mode) + + +-def test_hermitian_modes(): ++def disabled_test_hermitian_modes(): + params = SymmetricParams() + k = 2 + symmetric = True +diff -ru scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py scipy-1.10.1/scipy/sparse/tests/test_construct.py +--- scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/tests/test_construct.py 2023-02-25 15:44:25.259531626 +0100 +@@ -446,7 +446,7 @@ + + @pytest.mark.slow + @pytest.mark.xfail_on_32bit("Can't create large array for test") +- def test_concatenate_int32_overflow(self): ++ def disable_test_concatenate_int32_overflow(self): + """ test for indptr overflow when concatenating matrices """ + check_free_memory(30000) + diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch new file mode 100644 index 00000000000..45668de46ae --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_fix-lobpcg-test.patch @@ -0,0 +1,29 @@ +change test for a warning to filterwarnings since the code may or not issue a warning depending on an arch +see https://github.com/scipy/scipy/issues/17954 + https://github.com/scipy/scipy/pull/17975 +diff --git a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py +index afd7a106ea0..87f3756c37d 100644 +--- a/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py ++++ b/scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py +@@ -255,17 +255,18 @@ + _check_fiedler(12, 2) + + +-@pytest.mark.skipif(platform.machine() == 'aarch64', +- reason="issue #15935") ++@pytest.mark.filterwarnings("ignore:Failed at iteration") ++@pytest.mark.filterwarnings("ignore:Exited at iteration") ++@pytest.mark.filterwarnings("ignore:Exited postprocessing") + def test_failure_to_run_iterations(): + """Check that the code exists gracefully without breaking. Issue #10974. ++ The code may or not issue a warning, filtered out. Issue #15935, #17954. + """ + rnd = np.random.RandomState(0) + X = rnd.standard_normal((100, 10)) + A = X @ X.T + Q = rnd.standard_normal((X.shape[0], 4)) +- with pytest.warns(UserWarning, match="Failed at iteration"): +- eigenvalues, _ = lobpcg(A, Q, maxiter=40, tol=1e-12) ++ eigenvalues, _ = lobpcg(A, Q, maxiter=40, tol=1e-12) + assert(np.max(eigenvalues) > 0) + + 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.10.1_xfail-aarch64_test_maxiter_worsening.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch new file mode 100644 index 00000000000..c2a2f234e4e --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch @@ -0,0 +1,15 @@ +also xfail test_maxiter_worsening for Python 3.10 on aarch64 +see also https://github.com/scipy/scipy/issues/13019 + https://github.com/scipy/scipy/pull/13022 +author: Kenneth Hoste (HPC-UGent) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py 1970-01-01 00:00:00.000000000 +0000 ++++ scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-02-25 17:18:12.432151563 +0000 +@@ -451,7 +451,7 @@ + + @pytest.mark.parametrize("solver", [ + pytest.param(gmres, marks=pytest.mark.xfail(platform.machine() == 'aarch64' +- and sys.version_info[1] == 9, ++ and sys.version_info[1] >= 9, + reason="gh-13019")), + qmr, + pytest.param(lgmres, marks=pytest.mark.xfail( 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_disable-tests.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests.patch new file mode 100644 index 00000000000..7d59fcb1b2f --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_disable-tests.patch @@ -0,0 +1,26 @@ +disable problematic tests +test_hermitian_modes fails with order of magnitude difference +test_concatenate_int32_overflow fails if not enough memory is available +author: Kenneth Hoste (HPC-UGent) + Simon Branford (University of Birmingham) + Sebastian Achilles (Juelich Supercomputing Centre) +diff -ru scipy-1.11.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py scipy-1.11.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py +--- scipy-1.11.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 2023-07-28 07:18:00.383649919 +0000 ++++ scipy-1.11.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 2023-07-28 07:19:08.646148457 +0000 +@@ -410,7 +410,7 @@ + None, sigma, mattype, None, mode) + + +-def test_hermitian_modes(): ++def disable_test_hermitian_modes(): + params = SymmetricParams() + k = 2 + symmetric = True +diff -ru scipy-1.11.1.orig/scipy/sparse/tests/test_construct.py scipy-1.11.1/scipy/sparse/tests/test_construct.py --- scipy-1.11.1.orig/scipy/sparse/tests/test_construct.py 2023-07-28 07:18:00.387649832 +0000 ++++ scipy-1.11.1/scipy/sparse/tests/test_construct.py 2023-07-29 17:59:26.471992100 +0000 +@@ -446,7 +446,7 @@ + + @pytest.mark.slow + @pytest.mark.xfail_on_32bit("Can't create large array for test") +- def test_concatenate_int32_overflow(self): ++ def disable_test_concatenate_int32_overflow(self): + """ test for indptr overflow when concatenating matrices """ + check_free_memory(30000) 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.1_xfail-aarch64_test_maxiter_worsening.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch new file mode 100644 index 00000000000..fa8b418b4e0 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.11.1_xfail-aarch64_test_maxiter_worsening.patch @@ -0,0 +1,15 @@ +also xfail test_maxiter_worsening for Python 3.10 on aarch64 +see also https://github.com/scipy/scipy/issues/13019 + https://github.com/scipy/scipy/pull/13022 +author: Kenneth Hoste (HPC-UGent) + Sebastian Achilles (Juelich Supercomputing Centre) +diff -ru scipy-1.11.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py scipy-1.11.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py +--- scipy-1.11.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-07-28 07:18:00.387649832 +0000 ++++ scipy-1.11.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-07-29 18:17:22.432356816 +0000 +@@ -465,7 +465,7 @@ + # which they should detect and halt as necessary. + # cf. gh-9100 + if (solver is gmres and platform.machine() == 'aarch64' +- and sys.version_info[1] == 9): ++ and sys.version_info[1] >= 9): + pytest.xfail(reason="gh-13019") + if (solver is lgmres and + platform.machine() not in ['x86_64' 'x86', 'aarch64', 'arm64']): 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/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb new file mode 100644 index 00000000000..2e1bf32ea15 --- /dev/null +++ b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.2.1-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'SciTools-Iris' +version = '3.2.1' + +homepage = 'https://scitools-iris.readthedocs.io' +description = """A powerful, format-agnostic, community-driven Python package for analysing and +visualising Earth science data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Cartopy', '0.20.3'), + ('dask', '2022.10.0'), + ('matplotlib', '3.5.2'), + ('netcdf4-python', '1.6.1'), + ('python-xxhash', '3.1.0'), + ('UDUNITS', '2.2.28'), +] + +use_pip = True + +exts_list = [ + ('antlr4-python3-runtime', '4.7.2', { + 'modulename': 'antlr4', + 'checksums': ['168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b'], + }), + ('cf-units', '3.1.1', { + 'preinstallopts': 'UDUNITS2_XML_PATH="$EBROOTUDUNITS/share/udunits/udunits2.xml"', + 'checksums': ['d402b5a54c46b8ad2fb4fd815a054520c36ee7b483e4c9555e4b45b62af7558b'], + }), + ('scitools-iris', version, { + 'modulename': 'iris', + 'checksums': ['f09ea7e79664d633f35f11b9d5c3afd3ac5f97698864bd6f2293007fb06c5e72'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb new file mode 100644 index 00000000000..e372ed94d82 --- /dev/null +++ b/easybuild/easyconfigs/s/SciTools-Iris/SciTools-Iris-3.9.0-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'SciTools-Iris' +version = '3.9.0' + +homepage = 'https://scitools-iris.readthedocs.io' +description = """A powerful, format-agnostic, community-driven Python package for analysing and +visualising Earth science data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Cartopy', '0.22.0'), + ('dask', '2023.9.2'), + ('matplotlib', '3.7.2'), + ('netcdf4-python', '1.6.4'), + ('python-xxhash', '3.4.1'), + ('UDUNITS', '2.2.28'), +] + +use_pip = True + +exts_list = [ + ('antlr4-python3-runtime', '4.7.2', { + 'modulename': 'antlr4', + 'checksums': ['168cdcec8fb9152e84a87ca6fd261b3d54c8f6358f42ab3b813b14a7193bb50b'], + }), + ('cf-units', '3.2.0', { + 'preinstallopts': 'UDUNITS2_XML_PATH="$EBROOTUDUNITS/share/udunits/udunits2.xml"', + 'checksums': ['88a9f140e4157fe4c2d322b5e079046c4c0a7d76cb4950c700a8363bc235074f'], + }), + ('scitools_iris', version, { + 'modulename': 'iris', + 'checksums': ['53c701899aa08014beeb9dd0040bd5584511229fff98e74ff30b6eab5d4d02aa'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb b/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb new file mode 100644 index 00000000000..5deaefa438c --- /dev/null +++ b/easybuild/easyconfigs/s/Scoary/Scoary-1.6.16-foss-2021a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Scoary' +version = '1.6.16' + +homepage = 'https://github.com/AdmiralenOla/Scoary' +description = "Microbial pan-GWAS using the output from Roary" + +toolchain = {'name': 'foss', 'version': '2021a'} + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Tkinter', '%(pyver)s'), + ('ETE', '3.1.2'), +] + +use_pip = True + +exts_list = [ + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + (name, version, { + 'source_tmpl': 'scoary-%(version)s.tar.gz', + 'checksums': ['f433343422c5805a70a20f7fe83851490ae3cdf07745c65680de5feea40a6dca'], + 'modulename': 'scoary.methods', + }), +] + +sanity_check_paths = { + 'files': ['bin/scoary', 'bin/scoary_GUI', 'bin/vcf2scoary'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +sanity_check_commands = [('scoary', '--version')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb new file mode 100644 index 00000000000..3dd96f49b75 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompi-2019b.eb @@ -0,0 +1,62 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '6.0' + +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': '2019b'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-6.0_no_PDT_for_CUDA.patch'] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz + '93e3fc5d19a89d14ce98fb772b4d9ddde4191df3ce321c9965602aa12d43fa93', # Score-P-6.0_no_PDT_for_CUDA.patch +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +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/Score-P/Score-P-6.0-gompic-2019a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2019a.eb new file mode 100644 index 00000000000..5219154c233 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2019a.eb @@ -0,0 +1,55 @@ +## +# 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 = 'Score-P' +version = '6.0' + +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': 'gompic', 'version': '2019a'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '5.7.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +configopts = '--enable-shared' + +sanity_check_paths = { + 'files': ['bin/scorep', 'include/scorep/SCOREP_User.h', + 'lib/libscorep_adapter_mpi_event.a', + 'lib/libscorep_adapter_mpi_event.%s' % SHLIB_EXT], + 'dirs': [], +} + +# 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-6.0-gompic-2020a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2020a.eb new file mode 100644 index 00000000000..53b2cfb994f --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-6.0-gompic-2020a.eb @@ -0,0 +1,64 @@ +## +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +# Copyright:: Copyright 2013-2020 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 = 'Score-P' +version = '6.0' + +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': 'gompic', 'version': '2020a'} + +source_urls = ['https://www.vi-hps.org/cms/upload/packages/scorep/'] +sources = ['scorep-%(version)s.tar.gz'] +patches = [ + 'Score-P-6.0_binutils_2.34_api_change.patch', + 'Score-P-6.0_no_PDT_for_CUDA.patch', +] +checksums = [ + '5dc1023eb766ba5407f0b5e0845ec786e0021f1da757da737db1fb71fc4236b8', # scorep-6.0.tar.gz + 'c64a3c0b666a75b114e29a48c8d1f5e420be3674a0fba2b37ecd50630ba2d45c', # Score-P-6.0_binutils_2.34_api_change.patch + '93e3fc5d19a89d14ce98fb772b4d9ddde4191df3ce321c9965602aa12d43fa93', # Score-P-6.0_no_PDT_for_CUDA.patch +] + +dependencies = [ + ('CubeLib', '4.4.4'), + ('CubeWriter', '4.4.3'), + # Unwinding/sampling support (optional): + ('libunwind', '1.3.1'), + ('OPARI2', '2.0.5'), + ('OTF2', '2.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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': [], +} + +# 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-7.0-gompi-2020b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2020b.eb new file mode 100644 index 00000000000..f24cb4ef9f2 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2020b.eb @@ -0,0 +1,57 @@ +# # +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: Bernd Mohr +# Markus Geimer +# Alexander Grund +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +# # + +name = 'Score-P' +version = '7.0' + +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': '2020b'} + +source_urls = ['http://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996'] + +dependencies = [ + ('CubeLib', '4.6'), + ('CubeWriter', '4.6'), + ('libunwind', '1.4.0'), + ('OPARI2', '2.0.6'), + ('OTF2', '2.3'), + # Hardware counter support (optional): + ('PAPI', '6.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25'), +] + +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/Score-P/Score-P-7.0-gompi-2021a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2021a.eb new file mode 100644 index 00000000000..0bc6dfda7b5 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-7.0-gompi-2021a.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '7.0' + +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': '2021a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['68f24a68eb6f94eaecf500e17448f566031946deab74f2cba072ee8368af0996'] + +dependencies = [ + ('CubeLib', '4.6'), + ('CubeWriter', '4.6'), + ('libunwind', '1.4.0'), + ('OPARI2', '2.0.6'), + ('OTF2', '2.3'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..e7734915457 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-7.1-gompi-2021a-CUDA-11.3.1.eb @@ -0,0 +1,62 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '7.1' +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': '2021a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['98dea497982001fb82da3429ca55669b2917a0858c71abe2cfe7cd113381f1f7'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('UCX-CUDA', '1.10.0', versionsuffix), + ('CubeLib', '4.6'), + ('CubeWriter', '4.6'), + ('libunwind', '1.4.0'), + ('OPARI2', '2.0.6'), + ('OTF2', '2.3'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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.0-gompi-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..b08c8e04f25 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b-CUDA-11.4.1.eb @@ -0,0 +1,66 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' +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': '2021b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.0.tar.gz': '4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('UCX-CUDA', '1.11.2', versionsuffix), + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.5.0'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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.0-gompi-2021b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b.eb new file mode 100644 index 00000000000..1ccef10d1bb --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2021b.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' + +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': '2021b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.5.0'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '6.0.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c483455077f --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a-CUDA-11.7.0.eb @@ -0,0 +1,66 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' +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': '2022a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.0.tar.gz': '4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '7.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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.0-gompi-2022a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a.eb new file mode 100644 index 00000000000..3b6348b0077 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0-gompi-2022a.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.0' + +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': '2022a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311'] + +dependencies = [ + ('CubeLib', '4.8'), + ('CubeWriter', '4.8'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.2'), + # Hardware counter support (optional): + ('PAPI', '7.0.0'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/Score-P/Score-P-8.0_fix-race-in-CUDA-adapter.patch b/easybuild/easyconfigs/s/Score-P/Score-P-8.0_fix-race-in-CUDA-adapter.patch new file mode 100644 index 00000000000..c232c915a2c --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.0_fix-race-in-CUDA-adapter.patch @@ -0,0 +1,59 @@ +Fix a race condition in the CUDA adapter which leads to +> [Score-P] src/adapters/cuda/scorep_cupti4_activity.c:651: Fatal: Assertion 'free_buffer->valid_size == 0' failed +aborting the application + +Author: Alexander Grund (TU Dresden) +--- + src/adapters/cuda/scorep_cupti4_activity.c | 15 ++++++++++----- + 1 file changed, 10 insertions(+), 5 deletions(-) + +diff --git a/src/adapters/cuda/scorep_cupti4_activity.c b/src/adapters/cuda/scorep_cupti4_activity.c +index 4464b198c2..d47bf6223d 100644 +--- a/src/adapters/cuda/scorep_cupti4_activity.c ++++ b/src/adapters/cuda/scorep_cupti4_activity.c +@@ -553,14 +553,14 @@ mark_complete_buffer( uint8_t* buffer, + return NULL; + } + +- /* mark entry to contain completed, pending records*/ +- buffer_entry->committed = false; ++ buffer_entry->valid_size = validSize; ++ buffer_entry->stream_id = streamId; ++ /* mark entry to contain completed, pending records */ + if ( validSize > 0 ) + { + buffer_entry->pending = true; + } +- buffer_entry->valid_size = validSize; +- buffer_entry->stream_id = streamId; ++ buffer_entry->committed = false; + return result; + } + +@@ -633,6 +633,7 @@ get_free_buffer( scorep_cupti_context* context ) + + free_buffer->buffer = SCOREP_CUPTI_ACTIVITY_ALIGN_BUFFER( free_buffer->buffer ); + free_buffer->pending = false; ++ free_buffer->committed = true; + free_buffer->size = scorep_cupti_activity_buffer_chunk_size; + free_buffer->valid_size = 0; + +@@ -647,10 +648,14 @@ get_free_buffer( scorep_cupti_context* context ) + activity->buffers = free_buffer; + } + } ++ else ++ { ++ free_buffer->committed = true; ++ } ++ + + UTILS_ASSERT( free_buffer->valid_size == 0 ); + +- free_buffer->committed = true; + free_buffer->stream_id = 0; + + return free_buffer; +-- +GitLab + diff --git a/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2022b-CUDA-12.0.0.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2022b-CUDA-12.0.0.eb new file mode 100644 index 00000000000..e34a7ac1c36 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2022b-CUDA-12.0.0.eb @@ -0,0 +1,66 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2023 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.1' +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': '2022b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.1.tar.gz': '3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', versionsuffix), + ('CubeLib', '4.8.1'), + ('CubeWriter', '4.8.1'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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.1-gompi-2022b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2022b.eb new file mode 100644 index 00000000000..27c79bb3945 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2022b.eb @@ -0,0 +1,63 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2023 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.1' + +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': '2022b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.1.tar.gz': '3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CubeLib', '4.8.1'), + ('CubeWriter', '4.8.1'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/Score-P/Score-P-8.1-gompi-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..707296c83a7 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2023a-CUDA-12.1.1.eb @@ -0,0 +1,66 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2023 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.1' +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': '2023a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.1.tar.gz': '3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', versionsuffix), + ('CubeLib', '4.8.1'), + ('CubeWriter', '4.8.1'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +configopts = '--enable-shared' + +local_adapters = [ + 'compiler_event', 'compiler_mgmt', 'cuda_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.1-gompi-2023a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2023a.eb new file mode 100644 index 00000000000..18929869269 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.1-gompi-2023a.eb @@ -0,0 +1,63 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2023 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.1' + +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': '2023a'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +patches = ['Score-P-8.0_fix-race-in-CUDA-adapter.patch'] +checksums = [ + {'scorep-8.1.tar.gz': '3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37'}, + {'Score-P-8.0_fix-race-in-CUDA-adapter.patch': '6ba0e486fedc9a87b9b1a4657af7ee5f95b6222ee68ddaa5363dcaa99171fa0b'}, +] + +dependencies = [ + ('CubeLib', '4.8.1'), + ('CubeWriter', '4.8.1'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/Score-P/Score-P-8.3-gompi-2022b.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.3-gompi-2022b.eb new file mode 100644 index 00000000000..8b66869c1ce --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.3-gompi-2022b.eb @@ -0,0 +1,59 @@ +## +# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany +# Copyright 2020-2023 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# License:: 3-clause BSD +# +# This work is based on experiences from the UNITE project +# http://apps.fz-juelich.de/unite/ +## + +name = 'Score-P' +version = '8.3' + +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': '2022b'} + +source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s'] +sources = ['scorep-%(version)s.tar.gz'] +checksums = ['76c914e6319221c059234597a3bc53da788ed679179ac99c147284dcefb1574a'] + +dependencies = [ + ('CubeLib', '4.8.2'), + ('CubeWriter', '4.8.2'), + ('libunwind', '1.6.2'), + ('OPARI2', '2.0.7'), + ('OTF2', '3.0.3'), + # Hardware counter support (optional): + ('PAPI', '7.0.1'), + # PDT source-to-source instrumentation support (optional): + ('PDT', '3.25.1'), +] + +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/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/Score-P/Score-P-8.4-gompi-2024a-CUDA-12.6.0.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2024a-CUDA-12.6.0.eb new file mode 100644 index 00000000000..9d7b53221e9 --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2024a-CUDA-12.6.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': '2024a'} + +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.6.0', '', SYSTEM), + ('UCX-CUDA', '1.16.0', versionsuffix), + ('CubeLib', '4.8.2'), + ('CubeWriter', '4.8.2'), + ('libunwind', '1.8.1'), + ('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-2024a.eb b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2024a.eb new file mode 100644 index 00000000000..eda406cbe2a --- /dev/null +++ b/easybuild/easyconfigs/s/Score-P/Score-P-8.4-gompi-2024a.eb @@ -0,0 +1,55 @@ +# Copyright 2013-2024 Juelich Supercomputing Centre, Germany +# Copyright 2020-2024 TU Dresden, Germany +# Authors:: +# * Bernd Mohr +# * Markus Geimer +# * Alexander Grund +# * Robert Mijakovic +# * Jan André Reuter +# 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': '2024a'} + +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.8.1'), + ('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/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..73a13c69dbf --- /dev/null +++ b/easybuild/easyconfigs/s/SeaView/SeaView-5.0.5-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'SeaView' +version = '5.0.5' + +homepage = 'https://doua.prabi.fr/software/seaview' +description = """SeaView is a multiplatform, graphical user interface for multiple sequence alignment + and molecular phylogeny.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/%(namelower)s/archive'] +sources = ['%(namelower)s_%(version)s.tar.gz'] +checksums = ['ce8f5e98ba47883bfa91e91bc79e4d3a26f158dd9983b5e78331a452a4b1f8f2'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Brotli', '1.0.9'), + ('bzip2', '1.0.8'), + ('expat', '2.4.1'), + ('FLTK', '1.3.7'), + ('fontconfig', '2.13.94'), + ('freetype', '2.11.0'), + ('libpng', '1.6.37'), + ('X11', '20210802'), + ('zlib', '1.2.11'), +] + +files_to_copy = [(['%(namelower)s'], 'bin'), '%(namelower)s.html', 'example.nxs'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [("%(namelower)s -h")] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021a.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021a.eb new file mode 100644 index 00000000000..9166744daa0 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021a.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.11.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': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6'] + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021b.eb new file mode 100644 index 00000000000..c00e1819b13 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-foss-2021b.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.11.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': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6'] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb new file mode 100644 index 00000000000..5faa2506a5b --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.11.2-intel-2021b.eb @@ -0,0 +1,28 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# Swiss Institute of Bioinformatics (SIB) +# Biozentrum - University of Basel +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.11.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': 'intel', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cf45e9286d40826864be0e3c066f98536982baf701a7caa386511792d61ff4f6'] + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb new file mode 100644 index 00000000000..e3f97801473 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.1-foss-2022a.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.12.1' + +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': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb1eb1d51d3097368c187c3ef089c0288ec1fe8aa1c69fb324c68aa1d02df4c1'] + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb new file mode 100644 index 00000000000..ca9fa388cb0 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.12.2-foss-2022b.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Seaborn' +version = '0.12.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': 'foss', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['374645f36509d0dcab895cba5b47daf0586f77bfe3b36c97c607db7da5be0139'] + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' 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/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.eb new file mode 100644 index 00000000000..23ec87f56ed --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2023b.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': '2023b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7'] + +dependencies = [ + ('Python', '3.11.5'), + ('matplotlib', '3.8.2'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2024a.eb b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2024a.eb new file mode 100644 index 00000000000..de14ff81ce9 --- /dev/null +++ b/easybuild/easyconfigs/s/Seaborn/Seaborn-0.13.2-gfbf-2024a.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': '2024a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7'] + +dependencies = [ + ('Python', '3.12.3'), + ('matplotlib', '3.9.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.96-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.96-GCC-10.3.0.eb new file mode 100644 index 00000000000..c4db4aa9a4d --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.96-GCC-10.3.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.1.96' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('gperftools', '2.9.1'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5198f31c3bb25e685e9e68355a3bf67a1db23c9e8bdccc33dc015f496a44df7a'], +} + +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/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb new file mode 100644 index 00000000000..21674bdab43 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.1.97-GCC-11.3.0.eb @@ -0,0 +1,65 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.1.97' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('gperftools', '2.10'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['41c3a07f315e3ac87605460c8bb8d739955bc8e7f478caec4017ef9b7d78669b'], +} + +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/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/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..1ff1c337cf7 --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-12.3.0.eb @@ -0,0 +1,70 @@ +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.2.0' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('gperftools', '2.12'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'], +} + +local_external_absl = 'sed -i %(builddir)s/' + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + # using internal protobuf there is no matching pc file so requirement is removed: + 'preconfigopts': 'sed -i s/Requires.private.*// ../sentencepiece-%(version)s/sentencepiece.pc.in &&', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + # Unpredicable where pc files end up; including both lib and lib64 + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(installdir)s/lib/pkgconfig/:' + '$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(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 | grep accept_language', # --help has exit code 1, so we check for output text + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..246989eefdc --- /dev/null +++ b/easybuild/easyconfigs/s/SentencePiece/SentencePiece-0.2.0-GCC-13.2.0.eb @@ -0,0 +1,70 @@ +easyblock = 'Bundle' + +name = 'SentencePiece' +version = '0.2.0' + +homepage = 'https://github.com/google/sentencepiece' +description = "Unsupervised text tokenizer for Neural Network-based text generation." +github_account = 'google' + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('gperftools', '2.13'), +] + +default_component_specs = { + 'source_urls': [GITHUB_LOWER_SOURCE], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9970f0a0afee1648890293321665e5b2efa04eaec9f1671fcf8048f456f5bb86'], +} + +local_external_absl = 'sed -i %(builddir)s/' + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'separate_build_dir': True, + 'start_dir': '%(namelower)s-%(version)s', + # using internal protobuf there is no matching pc file so requirement is removed: + 'preconfigopts': 'sed -i s/Requires.private.*// ../sentencepiece-%(version)s/sentencepiece.pc.in &&', + }), + ('sentencepiece', version, { + 'easyblock': 'PythonPackage', + 'start_dir': '%(namelower)s-%(version)s/python', + # Unpredicable where pc files end up; including both lib and lib64 + 'prebuildopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(installdir)s/lib/pkgconfig/:' + '$PKG_CONFIG_PATH && ', + 'preinstallopts': 'export PKG_CONFIG_PATH=%(installdir)s/lib64/pkgconfig:%(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 | grep accept_language', # --help has exit code 1, so we check for output text + "python -c 'import sentencepiece'", +] + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..4cdc0b3d4e8 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqAn/SeqAn-2.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Pablo Escobar Lopez +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics +# Updated: Jakub Zarybnicky (INUITS), Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'SeqAn' +version = '2.4.0' + +homepage = 'https://github.com/seqan/seqan' + +description = """ + SeqAn is an open source C++ library of efficient algorithms and data structures + for the analysis of sequences with the focus on biological data. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/seqan/seqan/archive/'] +sources = ['%(namelower)s-v%(version)s.tar.gz'] +checksums = ['d7084d17729214003e84818e0280a16f223c8f1c6a30eeef040c27e0c0047bd7'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), +] + +separate_build_dir = True + +postinstallcmds = [ + "mkdir -p %(installdir)s/util/cmake", + "cp -a %(builddir)s/seqan-*/util/cmake/seqan-config.cmake %(installdir)s/util/cmake/", + "cp -a %(builddir)s/seqan-*/include %(installdir)s", +] + +local_binaries = ['gustaf_mate_joining', 'mason_materializer', 'mason_variator', 'rabema_prepare_sam', + 'razers3', 'seqan_tcoffee', 'samcat', 'splazers', 'yara_mapper'] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in local_binaries] + ['util/cmake/seqan-config.cmake'], + 'dirs': ['include/seqan'], +} + +sanity_check_commands = ["%s --help" % x for x in local_binaries] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqKit/SeqKit-2.1.0.eb b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.1.0.eb new file mode 100644 index 00000000000..66085e3f965 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.1.0.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'SeqKit' +version = '2.1.0' + +homepage = 'https://bioinf.shenwei.me/seqkit/' +description = """SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/shenwei356/seqkit/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['99041d8c56e7a5e346e852cc8061cf828ee14b5f550b2f263e6031e99491c536'] + +builddependencies = [ + ('Go', '1.17.6'), +] + +installopts = './%(namelower)s' + +sanity_check_commands = [ + "seqkit version", + "seqkit genautocomplete" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqKit/SeqKit-2.2.0.eb b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.2.0.eb new file mode 100644 index 00000000000..92a42cbd16c --- /dev/null +++ b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'SeqKit' +version = '2.2.0' + +homepage = 'https://bioinf.shenwei.me/seqkit/' +description = """SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/shenwei356/seqkit/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6e7e292532d78d54ac7aecb934f992c85d04b2dcb2d7a1141808bada0f5b13ba'] + +builddependencies = [ + ('Go', '1.17.6'), +] + +installopts = './%(namelower)s' + +sanity_check_commands = [ + "seqkit version", + "seqkit genautocomplete" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb new file mode 100644 index 00000000000..dd3d71b2afb --- /dev/null +++ b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.3.1.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'SeqKit' +version = '2.3.1' + +homepage = 'https://bioinf.shenwei.me/seqkit/' +description = """SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/shenwei356/seqkit/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['814930772645a1c5f491a0a0f0498d967b6caa512f137e10bc0a1925f28f863b'] + +builddependencies = [ + ('Go', '1.17.6'), +] + +installopts = './%(namelower)s' + +sanity_check_commands = [ + "seqkit version", + "seqkit genautocomplete" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqKit/SeqKit-2.8.2.eb b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.8.2.eb new file mode 100644 index 00000000000..820f9abf719 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqKit/SeqKit-2.8.2.eb @@ -0,0 +1,26 @@ +easyblock = 'GoPackage' + +name = 'SeqKit' +version = '2.8.2' + +homepage = 'https://bioinf.shenwei.me/seqkit/' +description = """SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/shenwei356/seqkit/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9cf1e744b785fa673af5a7a1ce2f96d52dc03e14b6537097df86aa6266204556'] + +builddependencies = [ + ('Go', '1.22.1'), +] + +installopts = './%(namelower)s' + +sanity_check_commands = [ + "seqkit version", + "seqkit genautocomplete" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.2.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..83b25b66487 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.2.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': '10.2.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', '20200321')] + +dependencies = [ + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('JsonCpp', '1.9.4'), + ('BWA', '0.7.17'), + ('HTSlib', '1.12'), + ('fermi-lite', '20190320'), + ('SSW', '1.1'), + ('PCRE', '8.44'), +] + +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/SeqLib/SeqLib-1.2.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..27a50312ce6 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-10.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': '10.3.0'} + +github_account = 'walaj' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-1.2.0_avoid-bwa-fml-namespace-conflict.patch', + '%(name)s-1.2.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', '20210128')] + +dependencies = [ + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('JsonCpp', '1.9.4'), + ('BWA', '0.7.17'), + ('HTSlib', '1.12'), + ('fermi-lite', '20190320'), + ('SSW', '1.1'), + ('PCRE', '8.44'), +] + +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/SeqLib/SeqLib-1.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..abbdd256e07 --- /dev/null +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-11.2.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': '11.2.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', '20210726')] + +dependencies = [ + ('zlib', '1.2.11'), + ('XZ', '5.2.5'), + ('bzip2', '1.0.8'), + ('JsonCpp', '1.9.4'), + ('BWA', '0.7.17'), + ('HTSlib', '1.14'), + ('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/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/SeqLib/SeqLib-1.2.0-GCC-9.3.0.eb b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-9.3.0.eb index d8960aa8fe7..f437ba0bbb1 100644 --- a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-9.3.0.eb +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0-GCC-9.3.0.eb @@ -21,7 +21,7 @@ checksums = [ '6892bdb5cae88d8d8acbbfadd351cfa00004bc7c0fd1ae912dc1ff1ccfd61a70', # 1.2.0.tar.gz # SeqLib-1.2.0_avoid-bwa-fml-namespace-conflict.patch '9be9229bcf34db8e4bd1fd49614bb55d84c12df263ca7174980f7f4b1bd63da9', - '8a90edf72f95a52c61e4aed62a9a951bbd56f7c668dec326f2d3836f76b0f71d', # SeqLib-1.2.0_use-external-deps.patch + '413f0ad8e0963d8922205d31e0c361cfa98a10f93e7d3e0506e0bed539ec70eb', # SeqLib-1.2.0_use-external-deps.patch ] builddependencies = [('Autotools', '20180311')] diff --git a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0_use-external-deps.patch b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0_use-external-deps.patch index 39b81d77a54..14958c2c5b7 100644 --- a/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0_use-external-deps.patch +++ b/easybuild/easyconfigs/s/SeqLib/SeqLib-1.2.0_use-external-deps.patch @@ -47,15 +47,6 @@ diff -Nru SeqLib-1.2.0/configure.ac SeqLib-1.2.0b/configure.ac # Check for headers AC_LANG([C++]) -@@ -32,6 +38,8 @@ - fail_on_warning="-Werror" - fi - -+PKG_CHECK_MODULES[[hts], [htslib]] -+ - # Set compiler flags. - AC_SUBST(AM_CXXFLAGS, "-g $fail_on_warning -std=c++11 -Wno-unknown-pragmas") - AC_SUBST(CXXFLAGS, "$CXXFLAGS") diff -Nru SeqLib-1.2.0/Makefile.am SeqLib-1.2.0b/Makefile.am --- SeqLib-1.2.0/Makefile.am 2021-05-10 16:49:50.000000000 +0100 +++ SeqLib-1.2.0b/Makefile.am 2021-05-12 17:22:39.000000000 +0100 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/Serf/Serf-1.3.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-10.3.0.eb index d65645b9dd5..d319f5ccfa1 100644 --- a/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-10.3.0.eb @@ -25,7 +25,7 @@ builddependencies = [ dependencies = [ ('APR', '1.7.0'), ('APR-util', '1.6.1'), - ('OpenSSL', '1.1', '', True), + ('OpenSSL', '1.1', '', SYSTEM), ] buildopts = "APR=$EBROOTAPR/bin/apr-1-config APU=$EBROOTAPRMINUTIL/bin/apu-1-config" diff --git a/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..72cdc72b88f --- /dev/null +++ b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'SCons' +name = 'Serf' +version = '1.3.9' + +homepage = 'https://serf.apache.org/' +description = """The serf library is a high performance C-based HTTP client library + built upon the Apache Portable Runtime (APR) library""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Serf-%(version)s_python3_scons.patch'] +checksums = [ + '549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc', # serf-1.3.9.tar.bz2 + 'db401893bfb464ddcf369b543cacb9a165a21f8ff9bf1a819e4b61550bb9d3d0', # Serf-1.3.9_python3_scons.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Python', '3.9.6'), + ('SCons', '4.2.0'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +buildopts = "APR=$EBROOTAPR/bin/apr-1-config APU=$EBROOTAPRMINUTIL/bin/apu-1-config" + +sanity_check_paths = { + 'files': ['include/serf-1/serf.h'] + + ['lib/libserf-1.%s' % x for x in ['a', 'so']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..41c4515fadd --- /dev/null +++ b/easybuild/easyconfigs/s/Serf/Serf-1.3.9-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'SCons' +name = 'Serf' +version = '1.3.9' + +homepage = 'https://serf.apache.org/' +description = """The serf library is a high performance C-based HTTP client library + built upon the Apache Portable Runtime (APR) library""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/%(namelower)s'] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Serf-%(version)s_python3_scons.patch'] +checksums = [ + '549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc', # serf-1.3.9.tar.bz2 + 'db401893bfb464ddcf369b543cacb9a165a21f8ff9bf1a819e4b61550bb9d3d0', # Serf-1.3.9_python3_scons.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), + ('SCons', '4.4.0'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +buildopts = "APR=$EBROOTAPR/bin/apr-1-config APU=$EBROOTAPRMINUTIL/bin/apu-1-config" + +sanity_check_paths = { + 'files': ['include/serf-1/serf.h'] + + ['lib/libserf-1.%s' % x for x in ['a', 'so']], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.0.1-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.0.1-foss-2020b-R-4.0.3.eb index bddbf11b5e7..0489f0e3fcf 100644 --- a/easybuild/easyconfigs/s/Seurat/Seurat-4.0.1-foss-2020b-R-4.0.3.eb +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.0.1-foss-2020b-R-4.0.3.eb @@ -9,19 +9,20 @@ description = "Seurat is an R package designed for QC, analysis, and exploration toolchain = {'name': 'foss', 'version': '2020b'} -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 -] - dependencies = [ ('R', '4.0.3'), ('R-bundle-Bioconductor', '3.12', versionsuffix), ] exts_defaultclass = 'RPackage' -exts_default_options = {'sources': ['%(name)s_%(version)s.tar.gz']} +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 = [ ('spatstat.utils', '2.1-0', { diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.0.3-foss-2020b-R-4.0.3.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.0.3-foss-2020b-R-4.0.3.eb index 331b937181f..b8a228157b7 100644 --- a/easybuild/easyconfigs/s/Seurat/Seurat-4.0.3-foss-2020b-R-4.0.3.eb +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.0.3-foss-2020b-R-4.0.3.eb @@ -9,19 +9,20 @@ description = "Seurat is an R package designed for QC, analysis, and exploration toolchain = {'name': 'foss', 'version': '2020b'} -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 -] - dependencies = [ ('R', '4.0.3'), ('R-bundle-Bioconductor', '3.12', versionsuffix), ] exts_defaultclass = 'RPackage' -exts_default_options = {'sources': ['%(name)s_%(version)s.tar.gz']} +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 = [ ('spatstat.utils', '2.2-0', { diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.1.0-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.1.0-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..e978b2577d0 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.1.0-foss-2021a-R-4.1.0.eb @@ -0,0 +1,75 @@ +# # +# This is a contribution from HPCNow! (http://hpcnow.com) +# Copyright:: HPCNow! +# Authors:: Arturo Gimeno , Pau Ruiz +# License:: GPL-v3.0 +# # + +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.1.0' +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': '2021a'} + +dependencies = [ + ('R', '4.1.0'), + ('R-bundle-Bioconductor', '3.13', versionsuffix), +] + +exts_defaultclass = 'RPackage' + +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', +} + +exts_list = [ + ('Matrix', '1.5-1', { + 'checksums': ['557dba0358172d67dc63eb5db90841915bb5ce1528f941a8005ae808d635575d'], + }), + ('scattermore', '0.7', { + 'checksums': ['f36280197b8476314d6ce81a51c4ae737180b180204043d2937bc25bf3a5dfa2'], + }), + ('rlang', '0.4.10', { + 'checksums': ['07530270c4c199f2b7efc5d57a476d99babd9d0c3388a02bb7d57fe312da3576'], + }), + ('RcppAnnoy', '0.0.18', { + 'checksums': ['e4e7ddf071109b47b4fdf285db6d2155618ed73da829c30d8e64fc778e63c858'], + }), + ('Rcpp', '1.0.7', { + 'checksums': ['15e5a4732216daed16263c79fb37017c2ada84a2d4e785e3b76445d0eba3dc1d'], + }), + ('rgeos', '0.6-3', { + 'checksums': ['1ebc5a99fdcf7d293811ce26379ba1525a2b9f23b11f1fb4a9c582bf27fc2b3c'], + }), + ('SeuratObject', version, { + 'checksums': ['9ca406cb3bd95c588e1a81c5383e3173a446cc0667142b139ca32685b4b20a05'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('uwot', '0.1.10', { + 'checksums': ['6ee1b6027bce679cd5a35f647f516a5b327632234bcf323c7f3d5b5e10807d23'], + }), + (name, version, { + 'checksums': ['2505829a2763e449684dd1b107ee6982e019ee9fecb093adca7b283cad1b315d'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': [], + 'dirs': [name, 'scattermore', 'rlang', 'RcppAnnoy', 'Rcpp', 'SeuratObject', 'sctransform', 'uwot'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..19cfccaecdc --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.2.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,52 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.2.0' +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': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', 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.5-1', { + 'checksums': ['557dba0358172d67dc63eb5db90841915bb5ce1528f941a8005ae808d635575d'], + }), + ('SeuratObject', '4.1.2', { + 'checksums': ['6a5945f501b573dbe44a15e7d969e63fd5be0c4f8e9d716b71ca29f695236d0d'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('uwot', '0.1.14', { + 'checksums': ['8016e8192b7e72604ca71840cbe43fa1d2caed8a8ad7cbf20e85cd3b384a9fe0'], + }), + (name, version, { + 'checksums': ['22a3d22a9ba255c4db5b37339b183fdfb91e2d37a8b8d58a9ff45b1bc414ebef'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..fe25468c3f6 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,73 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.3.0' +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': '2021b'} + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', 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.5-3', { + 'checksums': ['4e720f4edc97b1c09646a445851b1ce955caf6b1de8306a2283328b526fee00d'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('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'], + }), + (name, version, { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..032d6c672cd --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.3.0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,73 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.3.0' +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': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', 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.5-4', { + 'checksums': ['15ceb61993d61b442068104abb46e6d91b5a1179c01eeb64563b853abab66f06'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', '4.1.3', { + 'checksums': ['585d2754f6165a367f0f458523f0a25d4d4160c929c931b27c5603cc6bd986d3'], + }), + ('sctransform', '0.3.5', { + 'checksums': ['c08e56df05d64ed04ee53eb9e1d4d321da8aff945e36d56db1d5ceb1cd7e6e0b'], + }), + ('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'], + }), + (name, version, { + 'checksums': ['7ebacb3b86f74279de60b597f9a6e728f0668719811b0dca3425d21762fff97c'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Seurat/Seurat-4.4.0-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-4.4.0-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..2b65e56b170 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-4.4.0-foss-2022b-R-4.2.2.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '4.4.0' +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-1.1', { + 'checksums': ['331eb1f1fe9441d4224d8551072443596001b50e8c15618f59cb938b46ee8cc2'], + }), + ('sp', '1.5-1', { + 'checksums': ['69b9eab481d389bbb736d2adcf50c180aca248c3ffc4ebda8ffe2accc5f229df'], + }), + ('SeuratObject', '4.1.4', { + 'checksums': ['74e7649ad9795c962c0b12d039d7bf9b11a8a275a63c3a0fa1205b684e5310ef'], + }), + ('sctransform', '0.4.0', { + 'checksums': ['9aef10c196a9578e0d7a8e244c55cf28eb0685947d9df9e2d7790c2b99c6b4b3'], + }), + ('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': ['0f17df9597642cfc1db4d8718f0b59ebab9fbed328b1f885f42ee85ea0dcb4dd'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +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/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..11f439e4017 --- /dev/null +++ b/easybuild/easyconfigs/s/Seurat/Seurat-5.1.0-foss-2023a-R-4.3.2.eb @@ -0,0 +1,76 @@ +easyblock = 'Bundle' + +name = 'Seurat' +version = '5.1.0' +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': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('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 = [ + ('Matrix', '1.6-4', { + 'checksums': ['70ca7bdaece68d4837da0523d067e1553947c3c81b0b55206223bb647617bb01'], + }), + ('sp', '2.1-4', { + 'checksums': ['e185e7fb61d2d7dbc50fd765a93e170fa778083a653588db1f5e99d019479f0a'], + }), + ('SeuratObject', '5.0.2', { + 'checksums': ['ded30d21f445b7e353fe4a0c4954d45ad19fbe162615d9addf6732f9318ba0cf'], + }), + ('sctransform', '0.4.1', { + 'checksums': ['5f6be7f8be543e4c32c8007207b603a750881459370b7bb5afd63e8c8fabf171'], + }), + ('uwot', '0.2.2', { + 'checksums': ['d9938c43d29530d4b36d1b2649cc679b09945a740db2cd3a266242b1aa9a6cd1'], + }), + ('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': ['adcfb43d7a8cc55eaa7a0954a082ac95e14059a82901913379bfec115e224d59'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..4728174df2a --- /dev/null +++ b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-0.0.0.9020-foss-2022a-R-4.2.1.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SeuratDisk' +local_commit = '9b89970' +version = '0.0.0.9020' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/seurat-disk' +description = "Interfaces for HDF5-based Single Cell File Formats" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/mojaveazure/seurat-disk/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['323daf9db620fac1bbc2724e00cf89c9e496207111988bb03a592c8c2cb8dd06'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..16d65a66c5b --- /dev/null +++ b/easybuild/easyconfigs/s/SeuratDisk/SeuratDisk-20231104-foss-2023a-R-4.3.2.eb @@ -0,0 +1,27 @@ +easyblock = 'RPackage' + +name = 'SeuratDisk' +local_commit = '877d4e1' +version = '20231104' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mojaveazure/seurat-disk' +description = "Interfaces for HDF5-based Single Cell File Formats" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/mojaveazure/seurat-disk/archive/'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d2d6b6604e8a1f6de90956d0401d34b51b07b30671a445d0e06876f2dec999ac'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SeuratWrappers/SeuratWrappers-20221022-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SeuratWrappers/SeuratWrappers-20221022-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..b58715ea587 --- /dev/null +++ b/easybuild/easyconfigs/s/SeuratWrappers/SeuratWrappers-20221022-foss-2022a-R-4.2.1.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'SeuratWrappers' +local_commit = 'd28512f' +version = '20221022' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/satijalab/seurat-wrappers' +description = "SeuratWrappers is a collection of community-provided methods and extensions for Seurat" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [{ + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/satijalab', + 'repo_name': 'seurat-wrappers', + 'commit': local_commit, + }, +}] +checksums = [None] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('Seurat', '4.3.0', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8.1.post1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.1.post1-GCC-11.2.0.eb new file mode 100644 index 00000000000..9bdd9805f11 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.1.post1-GCC-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8.1.post1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['93ff06ff05fbe2be843b93c7b1ad8292e56e665ba01b4708f75ae8a757972e9f'] + +dependencies = [ + ('Python', '3.9.6'), + ('GEOS', '3.9.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2021b.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2021b.eb new file mode 100644 index 00000000000..f3498b54092 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2021b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8.2' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # needed by shapely.vectorized + ('GEOS', '3.9.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import shapely'", + "python -c 'import shapely.vectorized'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb new file mode 100644 index 00000000000..1a79d23c752 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8.2-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8.2' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # needed by shapely.vectorized + ('GEOS', '3.10.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = [ + "python -c 'import shapely'", + "python -c 'import shapely.vectorized'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.2.0.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.2.0.eb new file mode 100644 index 00000000000..cac4a8093fe --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8a1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a748ab74c187060264e7ce838aaac30eead2a791bbea8cc3ab1dfc3cc0b4d067'] + +dependencies = [ + ('Python', '3.8.6'), + ('GEOS', '3.9.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.3.0.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.3.0.eb new file mode 100644 index 00000000000..21fb4ee9b52 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-GCC-10.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8a1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a748ab74c187060264e7ce838aaac30eead2a791bbea8cc3ab1dfc3cc0b4d067'] + +dependencies = [ + ('Python', '3.9.5'), + ('GEOS', '3.9.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-iccifort-2020.4.304.eb b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..a87575e17a5 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-1.8a1-iccifort-2020.4.304.eb @@ -0,0 +1,26 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '1.8a1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a748ab74c187060264e7ce838aaac30eead2a791bbea8cc3ab1dfc3cc0b4d067'] + +dependencies = [ + ('Python', '3.8.6'), + ('GEOS', '3.9.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb new file mode 100644 index 00000000000..ab2fa48ba51 --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-foss-2022b.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '2.0.1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['66a6b1a3e72ece97fc85536a281476f9b7794de2e646ca8a4517e2e3c1446893'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GEOS', '3.11.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-gfbf-2023a.eb b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-gfbf-2023a.eb new file mode 100644 index 00000000000..e4a5f0c0bae --- /dev/null +++ b/easybuild/easyconfigs/s/Shapely/Shapely-2.0.1-gfbf-2023a.eb @@ -0,0 +1,27 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'PythonPackage' + +name = 'Shapely' +version = '2.0.1' + +homepage = 'https://github.com/Toblerity/Shapely' +description = """Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. +It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['66a6b1a3e72ece97fc85536a281476f9b7794de2e646ca8a4517e2e3c1446893'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('GEOS', '3.12.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SharedMeatAxe/SharedMeatAxe-1.0.1-GCC-13.2.0.eb b/easybuild/easyconfigs/s/SharedMeatAxe/SharedMeatAxe-1.0.1-GCC-13.2.0.eb new file mode 100644 index 00000000000..36923c839cc --- /dev/null +++ b/easybuild/easyconfigs/s/SharedMeatAxe/SharedMeatAxe-1.0.1-GCC-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'SharedMeatAxe' +version = '1.0.1' + +homepage = 'https://github.com/simon-king-jena/SharedMeatAxe' +description = """This is an autotoolized shared library version of C MeatAxe 2.4.24, + a set of programs for computing with modular representations.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/simon-king-jena/SharedMeatAxe/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e1e802ef60f3280cdacb3de6d693ebd71b43af93e33c739de2697605c59b1a3b'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +preconfigopts = 'autoreconf --install && ' + +runtest = 'check' + +local_bins = [ + 'cfcomp', 'genmod', 'mkgraph', 'mkinc', 'orbrep', 'pwkond', 'symnew', 'zad', 'zcl', 'zcv', 'zfr', 'zmo', 'znu', + 'zpr', 'zro', 'zsp', 'zte', 'zuk', 'chop', 'mkcycl', 'mkhom', 'mksub', 'precond', 'rad', 'tcond', 'zbl', 'zcp', + 'zef', 'ziv', 'zmu', 'zor', 'zpt', 'zsc', 'zsy', 'ztr', 'zvp', 'decomp', 'mkdotl', 'mkhom_old', 'mktree', + 'pseudochop', 'soc', 'tuc', 'zcf', 'zct', 'zev', 'zkd', 'zmw', 'zpo', 'zqt', 'zsi', 'ztc', 'zts', +] + +sanity_check_paths = { + 'files': ['bin/%s' % bin for bin in local_bins] + ['include/meataxe.h', 'lib/libmtx.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ['mktree --help'] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b-fix_links.patch b/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b-fix_links.patch new file mode 100644 index 00000000000..f6d919926d1 --- /dev/null +++ b/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b-fix_links.patch @@ -0,0 +1,111 @@ +fix linking to BLAS + lapack (original didnt expect any alternatives to blas - like openblas) +Author: Denis Kristak +diff -ruN shasta-0.8.0_orig/dynamicExecutable/CMakeLists.txt shasta-0.8.0/dynamicExecutable/CMakeLists.txt +--- shasta-0.8.0_orig/dynamicExecutable/CMakeLists.txt 2021-11-11 15:34:47.786798000 +0100 ++++ shasta-0.8.0/dynamicExecutable/CMakeLists.txt 2021-11-11 15:33:29.419991000 +0100 +@@ -53,6 +53,7 @@ + + # Include directory. + include_directories(../src) ++include_directories($EBROOTSCALAPACK) + + # Define our executable. + add_executable(shastaDynamicExecutable ${SOURCES}) +@@ -68,13 +69,13 @@ + shastaDynamicExecutable + shastaDynamicLibrary + atomic boost_system boost_program_options boost_chrono spoa cpu_features png z +- lapack blas gfortran quadmath pthread) ++ openblas gfortran quadmath pthread) + else(X86_64) + target_link_libraries( + shastaDynamicExecutable + shastaDynamicLibrary + atomic boost_system boost_program_options boost_chrono spoa png z +- lapack blas gfortran pthread) ++ openblas gfortran pthread) + endif(X86_64) + + if(BUILD_DEBUG) +diff -ruN shasta-0.8.0_orig/dynamicLibrary/CMakeLists.txt shasta-0.8.0/dynamicLibrary/CMakeLists.txt +--- shasta-0.8.0_orig/dynamicLibrary/CMakeLists.txt 2021-11-11 15:34:39.528314000 +0100 ++++ shasta-0.8.0/dynamicLibrary/CMakeLists.txt 2021-11-16 12:33:17.852745000 +0100 +@@ -54,6 +54,8 @@ + + # Include directory. + include_directories(../src) ++include_directories($EBROOTSCALAPACK) ++ + + # Define our library. + add_library(shastaDynamicLibrary SHARED ${SOURCES}) +@@ -70,23 +72,23 @@ + # Python 3.8 requires the `--embed` flag to be passed in. + # find_python cmake module was introduced in v3.12, which isn't available for installation + # via `apt` on Ubuntu 18.04 LTS. So I am not using it. +-execute_process(COMMAND /usr/bin/python3-config --embed --libs OUTPUT_VARIABLE ++execute_process(COMMAND /usr/bin/env python3-config --embed --libs OUTPUT_VARIABLE + SHASTA_PYTHON_LIBRARIES RESULT_VARIABLE COMMAND_RESULT) + if(${COMMAND_RESULT} EQUAL 0) + # Python3 version is >= 3.8.0. So the --embed flag worked. Otherwise the command + # would have failed with a non-zero exit code. + else() +- execute_process(COMMAND /usr/bin/python3-config --libs OUTPUT_VARIABLE SHASTA_PYTHON_LIBRARIES) ++ execute_process(COMMAND /usr/bin/env python3-config --libs OUTPUT_VARIABLE SHASTA_PYTHON_LIBRARIES) + endif() +-execute_process(COMMAND python3 -m pybind11 --includes OUTPUT_VARIABLE SHASTA_PYTHON_INCLUDES) ++execute_process(COMMAND /usr/bin/env python3 -m pybind11 --includes OUTPUT_VARIABLE SHASTA_PYTHON_INCLUDES) + add_definitions(${SHASTA_PYTHON_INCLUDES}) +-string(STRIP ${SHASTA_PYTHON_LIBRARIES} SHASTA_PYTHON_LIBRARIES) ++string(STRIP "${SHASTA_PYTHON_LIBRARIES}" SHASTA_PYTHON_LIBRARIES) + SET(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${SHASTA_PYTHON_LIBRARIES}") + + # Libraries to link with. + target_link_libraries( + shastaDynamicLibrary +- atomic png boost_program_options pthread z spoa lapack blas ${SHASTA_PYTHON_LIBRARIES}) ++ atomic png boost_program_options pthread z spoa openblas ${SHASTA_PYTHON_LIBRARIES}) + + # Install the shared library into the bin directory. + install(TARGETS shastaDynamicLibrary DESTINATION shasta-install/bin) +diff -ruN shasta-0.8.0_orig/staticExecutable/CMakeLists.txt shasta-0.8.0/staticExecutable/CMakeLists.txt +--- shasta-0.8.0_orig/staticExecutable/CMakeLists.txt 2021-11-10 14:30:44.182620000 +0100 ++++ shasta-0.8.0/staticExecutable/CMakeLists.txt 2021-11-11 15:34:12.652136000 +0100 +@@ -49,6 +49,8 @@ + + # Include directory. + include_directories(../src) ++include_directories($EBROOTSCALAPACK) ++ + + # Include directories required on macOS. + if(MACOS) +@@ -86,14 +88,14 @@ + shastaStaticExecutable + shastaStaticLibrary + atomic boost_system boost_program_options boost_chrono spoa cpu_features png z +- lapack blas gfortran quadmath ++ openblas gfortran quadmath + -Wl,--whole-archive -lpthread -Wl,--no-whole-archive) + else(X86_64) + target_link_libraries( + shastaStaticExecutable + shastaStaticLibrary + atomic boost_system boost_program_options boost_chrono spoa png z +- lapack blas gfortran ++ openblas gfortran + -Wl,--whole-archive -lpthread -Wl,--no-whole-archive) + endif(X86_64) + +diff -ruN shasta-0.8.0_orig/staticLibrary/CMakeLists.txt shasta-0.8.0/staticLibrary/CMakeLists.txt +--- shasta-0.8.0_orig/staticLibrary/CMakeLists.txt 2021-11-10 14:30:44.316688000 +0100 ++++ shasta-0.8.0/staticLibrary/CMakeLists.txt 2021-11-11 12:40:27.492732000 +0100 +@@ -49,6 +49,8 @@ + + # Include directory. + include_directories(../src) ++include_directories($EBROOTSCALAPACK) ++ + + # Include directories required on macOS. + if(MACOS) diff --git a/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b.eb b/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b.eb new file mode 100644 index 00000000000..b6965d55e69 --- /dev/null +++ b/easybuild/easyconfigs/s/Shasta/Shasta-0.8.0-foss-2020b.eb @@ -0,0 +1,69 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'CMakeMakeCp' + +name = 'Shasta' +version = '0.8.0' + +homepage = 'https://github.com/chanzuckerberg/shasta' +description = """ +The goal of the Shasta long read assembler is to rapidly produce accurate assembled sequence using DNA reads generated +by Oxford Nanopore flow cells as input. Computational methods used by the Shasta assembler include: +Using a run-length representation of the read sequence. This makes the assembly process more resilient to errors in +homopolymer repeat counts, which are the most common type of errors in Oxford Nanopore reads. Using in some phases of +the computation a representation of the read sequence based on markers, a fixed subset of short k-mers (k ≈ 10). +""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/chanzuckerberg/shasta/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + "Shasta-%(version)s-foss-2020b-fix_links.patch" +] +checksums = [ + '8e94767275fc5352ff192afed783b00b720b6214d8779edc44e9ebe636e9833e', # 0.8.0.tar.gz + 'd9696b8a667f6a0db724f779083accb8004398bdfdf5cf15ef5cdaed89f339d0', # Shasta-0.8.0-foss-2020b-fix_links.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), + ('Cereal', '1.3.0', '', SYSTEM), +] + +dependencies = [ + ('cURL', '7.72.0'), + ('Boost', '1.74.0'), + ('libpng', '1.6.37'), + ('SeqAn', '2.4.0'), + ('BLAST+', '2.11.0'), + ('gnuplot', '5.4.1'), + ('Graphviz', '2.47.0', '-Java-11'), + ('Python', '3.8.6'), + ('pybind11', '2.6.0'), + ('spoa', '3.4.0'), # older spoa is needed, since new is truly incompatible + ('cpu_features', '0.6.0'), +] + +prebuildopts = "export CPATH=$EBROOTBOOST/include/boost/:$CPATH && " + +# we need this because CMakeLists here is hard to configure, so we stick to default install path (inside sub-folder) +# and copy installed files afterwards +buildopts = " && make install -j %(parallel)s" + +files_to_copy = [ + (['shasta-install/bin/*'], 'bin'), + (['shasta-install/bin/*.a', 'shasta-install/bin/*.%s' % SHLIB_EXT], 'lib') +] + +fix_python_shebang_for = ['bin/*.py'] + +sanity_check_paths = { + 'files': ['bin/Copy.py', 'bin/SaveRun.py', 'bin/shasta', 'lib/shasta.a', 'lib/shasta.%s' % SHLIB_EXT], + 'dirs': [] +} + +sanity_check_commands = ['shasta --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.1.1-foss-2021a.eb b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.1.1-foss-2021a.eb new file mode 100644 index 00000000000..ffb5f8bc711 --- /dev/null +++ b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.1.1-foss-2021a.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'ShengBTE' +version = '1.1.1' + +homepage = 'https://bitbucket.org/sousaw/shengbte' +description = "A solver for the Boltzmann transport equation for phonons." + +toolchain = {'name': 'foss', 'version': '2021a'} + +bitbucket_account = 'sousaw' +source_urls = [BITBUCKET_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['617a7110f4222ee249e351d15805d74744a550f01c07d798615d697de26edd71'] + +dependencies = [('spglib', '1.16.2')] + +start_dir = 'Src' + +# strip "include arch.make" -- not needed as we already set necessary env vars +prebuildopts = "sed -i '1d' Makefile && " +# -fallow-argument-mismatch needed for GCC 10+ +buildopts = '-j 1 LIBS="$LIBBLAS -lsymspg" FFLAGS="$FFLAGS -fallow-argument-mismatch"' + +local_tests = ["Test-%s" % x for x in ['QE', 'RTA', 'VASP']] + +files_to_copy = [([name], 'bin'), (['LICENSE', 'README.md'], 'share')] + local_tests + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] + local_tests, +} + +sanity_check_commands = [ + "cd %%(builddir)s/*%%(namelower)s*/%s && %%(mpi_cmd_prefix)s %%(name)s" % x for x in local_tests +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb new file mode 100644 index 00000000000..494b3757f7b --- /dev/null +++ b/easybuild/easyconfigs/s/ShengBTE/ShengBTE-1.5.0-foss-2022a.eb @@ -0,0 +1,43 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'ShengBTE' +version = '1.5.0' + +homepage = 'https://bitbucket.org/sousaw/shengbte' +description = "A solver for the Boltzmann transport equation for phonons." + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +bitbucket_account = 'sousaw' +source_urls = [BITBUCKET_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['fc1299921aa5f8046473d0c73114b826f803650b9a44e94338eaeb13e9c67381'] + +dependencies = [ + ('spglib', '2.0.2'), +] + +start_dir = 'Src' + +# strip "include arch.make" -- not needed as we already set necessary env vars +prebuildopts = "sed -i 's/^include arch.make//' Makefile && " +# -fallow-argument-mismatch needed for GCC 10+ +buildopts = '-j 1 LIBS="$LIBBLAS -lsymspg" FFLAGS="$FFLAGS -fallow-argument-mismatch"' + +local_tests = ["Test-%s" % x for x in ['QE', 'RTA', 'VASP']] + +files_to_copy = [([name], 'bin'), (['LICENSE', 'README.md'], 'share')] + local_tests + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['share'] + local_tests, +} + +sanity_check_commands = [ + "cd %%(builddir)s/*%%(namelower)s*/%s && %%(mpi_cmd_prefix)s %%(name)s" % x for x in local_tests +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-Python3fix.patch b/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-Python3fix.patch new file mode 100644 index 00000000000..75fc857ea70 --- /dev/null +++ b/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-Python3fix.patch @@ -0,0 +1,205 @@ +Makes Short-Pair compatible with Phyton3 +Created by using already existing version of file from github.com/jtamames/SqueezeMeta (commit 68f8581eef7eb34ffb28ef412fdce1ebf20244b6) +Patch created by: Filip Kružík (INUITS) +--- Short-Pair_fix 2022-01-11 17:08:22.763000000 +0100 ++++ Short-Pair.py 2022-01-11 17:05:28.709307000 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python3 + import os + import sys + import pickle +@@ -9,10 +9,12 @@ + from numpy import percentile + from numpy import std + from numpy import mean ++from os.path import abspath, dirname, realpath # Tocado JT + + +-sequence_length_global = 0 + ++sequence_length_global = 0 ++exec_path = abspath(dirname(realpath(__file__))) # Tocado JT + + def get_first_sequence_in_fasta_file(fasta_file): + fi = open(fasta_file, 'rt') +@@ -29,15 +31,16 @@ + + + def step1(fastaFile, pattern): +- command = "DNA2Protein 1-6 %s %s" % (fastaFile, pattern) ++ command = "%s/DNA2Protein 1-6 %s %s" % (exec_path, fastaFile, pattern) # exec_path, FPS + os.system(command) + + def step2(hmm, inputFile): +- inputFileDir = os.path.dirname(inputFile) ++ inputFileDir = abspath(os.path.dirname(inputFile)) ++ inputFile = inputFile.split('/')[-1] + outputDir = os.path.join(inputFileDir, '../out1') + +- outputFile = os.path.join(outputDir, inputFile+'.hmmer') +- command = 'hmmsearch -E 1000 --domtblout %s %s %s' % (outputFile, hmm, inputFile) ++ outputFile = os.path.join(outputDir, inputFile +'.hmmer') ++ command = '%s/../hmmer/hmmsearch -E 1000 --domtblout %s %s %s/%s > /dev/null' % (exec_path, outputFile, hmm, inputFileDir, inputFile) # exec_path, FPS + os.system(command) + return outputFile + +@@ -71,12 +74,12 @@ + + def combineHmmer(inputFolder, outputFolder, allOutput, nDomains, namePattern): + fa = open(allOutput, 'wt') +- for i in xrange(1, nDomains+1): ++ for i in range(1, nDomains+1): + # for i in xrange(201, nDomains+1): + mapLinesList = [] + mapScoresList = [] + readPairSet = set() +- for j in xrange(1, 7): ++ for j in range(1, 7): + inputFile = namePattern % (i, j) + fi = open(inputFolder+'/'+inputFile, 'rt') + mapReadPairToLines = {} +@@ -100,8 +103,8 @@ + outputFile = os.path.join(outputFolder, outputFile) + fo = open(outputFile, 'wt') + for pair in sorted(readPairSet): +- maxScore = -sys.maxint +- for j in xrange(1, 7): ++ maxScore = -sys.maxsize ++ for j in range(1, 7): + mapReadPairToLines = mapLinesList[j-1] + mapReadPairToScore = mapScoresList[j-1] + if pair not in mapReadPairToScore: +@@ -120,7 +123,7 @@ + mapLinesList = [] + mapScoresList = [] + readPairSet = set() +- for j in xrange(1, 7): ++ for j in range(1, 7): + inputFile = namePattern % (j) + fi = open(inputFolder+'/'+inputFile, 'rt') + mapReadPairToLines = {} +@@ -142,8 +145,8 @@ + ### start to combine + fo = open(outputFile, 'wt') + for pair in sorted(readPairSet): +- maxScore = -sys.maxint +- for j in xrange(1, 7): ++ maxScore = -sys.maxsize ++ for j in range(1, 7): + mapReadPairToLines = mapLinesList[j-1] + mapReadPairToScore = mapScoresList[j-1] + if pair not in mapReadPairToScore: +@@ -240,7 +243,7 @@ + f.close() + return hmmList + +-def step7(inputFile): ++def step7(inputFile): + hmmYList = []; hmmNList = [] + hmmList = readHmm(inputFile) + for hmm in hmmList: +@@ -494,7 +497,7 @@ + os.mkdir(outputFolder) + for hmm in sorted(hmmList, key=lambda x:x.name): + family = hmm.name +- command = "get_hmm.sh %s %s > %s/%s.hmm" % (family, hmmFile, outputFolder,family) ++ command = "%s/get_hmm.sh %s %s > %s/%s.hmm" % (exec_path, family, hmmFile, outputFolder,family) # exec_path, FPS + os.system(command) + + def runHmmer(inputFile1, inputFile2, inputFile3, hmmFolder, outputFileInput, fastaPath, faaPath, filterFile): +@@ -530,13 +533,12 @@ + for (read, family, key) in readSet: + readNames.add(read.replace('|','_')) + write = False +- + fi = open(inputFile2, 'rt') + nLine = 0 + for line in fi: + if line[0]=='>': + read = line[1:].strip(); +- read = read.replace("|","_") ++ read = read.replace("|","_") + if read[:-2]+".2" in readNames: + outputFile = r'%s/%s.fasta' % (fastaPath, read) + fo = open(outputFile, 'wt') +@@ -578,18 +580,20 @@ + tmpRead = tmpRead[:-2] + '.1' + fastaFile = r'%s/%s.fasta' % (fastaPath, tmpRead) + faaFile = r'%s/%s.faa' % (faaPath, tmpRead) +- command = "DNA2Protein 1-6 %s %s" % (fastaFile, faaFile) ++ command = "%s/DNA2Protein 1-6 %s %s" % (exec_path, fastaFile, faaFile) # exec_path, FPS + os.system(command) + outputFile = r'%s.allframe' % (faaFile) + fo = open(outputFile, 'wt') +- maxScore = -sys.maxint ++ maxScore = -sys.maxsize + maxString = '' +- for i in xrange(1,7): +- command = "hmmer3_pipeline_missing_end.sh" +- args = [command, "%s/%s.hmm" % (hmmFolder, family), "%s.frame%d" % (faaFile, i), "%d" % i]; +- outString = subprocess.Popen(args, stdout=subprocess.PIPE).communicate()[0] ++ for i in range(1,7): ++ command = "%s/hmmer3_pipeline_missing_end.sh" % exec_path # exec_path, FPS ++ args = [command, "%s/%s.hmm" % (hmmFolder, family), "%s.frame%d" % (faaFile, i), "%d" % i, "10"] ++ my_env = os.environ # Add SQM/bin/hmmer to the PATH env. variable for subprocess ++ my_env['PATH'] = '%s/../hmmer:' % exec_path + os.environ['PATH'] ++ outString = subprocess.Popen(args, env=my_env, stdout=subprocess.PIPE).communicate()[0].decode() + fo.write(outString) +- if outString != '': ++ if outString: + row = outString.split() + score = float(row[2]) + if score > maxScore: +@@ -707,7 +711,7 @@ + mapLengthToFrequency[length] = frequency + total += frequency + fi.close() +- for key in mapLengthToFrequency.keys(): ++ for key in list(mapLengthToFrequency.keys()): + mapLengthToFrequency[key] = mapLengthToFrequency[key] / float(total) + + mapReadToLine = {} +@@ -779,7 +783,7 @@ + fo.close() + + mapNumberToFrequency = {} +- for read in mapReadToFamilySet.keys(): ++ for read in list(mapReadToFamilySet.keys()): + number = len(mapReadToFamilySet[read]) + if number not in mapNumberToFrequency: + mapNumberToFrequency[number] = 0 +@@ -800,11 +804,11 @@ + step1(fastaFile2, pattern2) + step3InputList = [] + step3OutputList = [] +- for i in xrange(1,7): ++ for i in range(1,7): + inputFile = pattern1 + '.frame%d' % i + step2Output = step2(hmm, inputFile) + step3InputList.append(step2Output) +- for i in xrange(1,7): ++ for i in range(1,7): + inputFile = pattern2 + '.frame%d' % i + step2Output = step2(hmm, inputFile) + step3InputList.append(step2Output) +@@ -832,8 +836,8 @@ + step12(hmmFile, hmmList, hmmFolder) + step13OutputFile1 = step11Output+'_1'; step13OutputFile2 = step11Output+'_2' + workingDir = os.path.dirname(step11Output) +- fastaPath = '%s/fasta' % workingDir +- faaPath = '%s/faa' % workingDir ++ fastaPath = '%s/fastaSP' % workingDir ++ faaPath = '%s/faaSP' % workingDir + step13(step11Output, fastaFile1, fastaFile2, hmmFolder, step13OutputFile1, fastaPath, faaPath, step13OutputFile2) + step14Output = step13OutputFile1 + '.remove' + step14(step13OutputFile1, step14Output) +@@ -844,7 +848,7 @@ + def control(fastaFile1, fastaFile2, hmmFile, seedFile, threshold, outputFile): + baseFile = os.path.basename(fastaFile1) + fastaName = baseFile.replace('.1.fasta','') +- baseDir = os.path.dirname(fastaFile1) ++ baseDir = abspath(os.path.dirname(fastaFile1)) + patternDir = '%s/Protein' % baseDir + + if not os.path.isdir(patternDir): diff --git a/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-foss-2021b.eb b/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-foss-2021b.eb new file mode 100644 index 00000000000..5e21f81106f --- /dev/null +++ b/easybuild/easyconfigs/s/Short-Pair/Short-Pair-20170125-foss-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'CmdCp' + +name = 'Short-Pair' +version = '20170125' + +homepage = 'https://sourceforge.net/projects/short-pair' +description = "Sensitive Short Read Homology Search for Paired-End Reads" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [{'download_filename': 'Short-Pair.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['Short-Pair-20170125-Python3fix.patch'] +checksums = [ + 'c8c759cf4cc871180107dd86e397d34787acad33d024debd70710edb437769b3', # Short-Pair-20170125.tar.gz + '71f53bea8d1056abf22d35bdb8b87f41fa1482dd4b402e788dbd536e0f6408c0', # Short-Pair-20170125-Python3fix.patch +] + +dependencies = [ + ('Python', '3.9.6'), + ('HMMER', '3.3.2'), + ('SciPy-bundle', '2021.10') +] + +cmds_map = [('.*', "$CXX $CXXFLAGS -w -o DNA2Protein DNA2Protein.cpp")] + +files_to_copy = [(['DNA2Protein', 'get_hmm.sh', 'hmmer3_pipeline_missing_end.sh', 'Short-Pair.py'], 'bin')] + +fix_python_shebang_for = ['bin/Short-Pair.py'] + +postinstallcmds = ["chmod a+rx %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['bin/DNA2Protein', 'bin/get_hmm.sh', 'bin/hmmer3_pipeline_missing_end.sh', 'bin/Short-Pair.py'], + 'dirs': [], +} + +sanity_check_commands = ["Short-Pair.py -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b-PEXSI.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b-PEXSI.eb index c7bf7ebe69c..d72b952fc2a 100644 --- a/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b-PEXSI.eb +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b-PEXSI.eb @@ -12,7 +12,8 @@ toolchainopts = {'usempi': True, 'precise': True} source_urls = ['https://gitlab.com/siesta-project/siesta/-/archive/%s' % _release] sources = ['%%(namelower)s-%s.tar.gz' % _release] -checksums = ['c6aa55a5fb7d2f912742e03645047799b17891cab47b569d6682c81629829881'] +checksums = [('c6aa55a5fb7d2f912742e03645047799b17891cab47b569d6682c81629829881', + '02a00e087fcd24b839bde0060cc1af4b116efa3e52aabe32177dcb6dc332c69b')] dependencies = [ ('ELSI', '2.5.0', versionsuffix), diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b.eb index f4becec3ee4..22e245c782f 100644 --- a/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b.eb +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1-MaX-1.0-intel-2019b.eb @@ -11,7 +11,8 @@ toolchainopts = {'usempi': True, 'precise': True} source_urls = ['https://gitlab.com/siesta-project/siesta/-/archive/%s' % _release] sources = ['%%(namelower)s-%s.tar.gz' % _release] -checksums = ['c6aa55a5fb7d2f912742e03645047799b17891cab47b569d6682c81629829881'] +checksums = [('c6aa55a5fb7d2f912742e03645047799b17891cab47b569d6682c81629829881', + '02a00e087fcd24b839bde0060cc1af4b116efa3e52aabe32177dcb6dc332c69b')] dependencies = [ ('ELSI', '2.5.0'), diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2020a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2020a.eb new file mode 100644 index 00000000000..5eff815b77c --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2020a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.5.2'), + ('METIS', '5.1.0'), + ('ELPA', '2019.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021a.eb new file mode 100644 index 00000000000..31e7195a681 --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.5.3'), + ('METIS', '5.1.0'), + ('ELPA', '2021.05.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021b.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021b.eb new file mode 100644 index 00000000000..8a77ca696c8 --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2021b.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.5.3'), + ('METIS', '5.1.0'), + ('ELPA', '2021.05.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.eb new file mode 100644 index 00000000000..00cced1d88a --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-foss-2022a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), + ('METIS', '5.1.0'), + ('ELPA', '2021.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb new file mode 100644 index 00000000000..50527cd229e --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2020a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.5.2'), + ('METIS', '5.1.0'), + ('ELPA', '2019.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.eb b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.eb new file mode 100644 index 00000000000..0b269542103 --- /dev/null +++ b/easybuild/easyconfigs/s/Siesta/Siesta-4.1.5-intel-2022a.eb @@ -0,0 +1,26 @@ +name = 'Siesta' +version = '4.1.5' + +homepage = 'http://departments.icmab.es/leem/siesta' +description = """SIESTA is both a method and its computer program implementation, to perform efficient electronic + structure calculations and ab initio molecular dynamics simulations of molecules and solids.""" + +toolchain = {'name': 'intel', 'version': '2022a'} +toolchainopts = {'usempi': True, 'precise': True} + +source_urls = ['https://gitlab.com/siesta-project/siesta/-/releases/v%(version)s/downloads'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['518df31aa6213af5e24cc73abb537b2c89a925b487171f5339d743d0c7140b3f'] + +dependencies = [ + ('netCDF-Fortran', '4.6.0'), + ('METIS', '5.1.0'), + ('ELPA', '2021.11.001'), +] + +# transiesta is now siesta --electrode +with_transiesta = False + +runtest = 'check' + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb new file mode 100644 index 00000000000..b2f900f3c4a --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2021b-fast.eb @@ -0,0 +1,51 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # numpy > 1.19.2 + ('tqdm', '4.62.3'), # tqdm > 4.46.1 + ('PyTorch', '1.12.1'), # torch > 1.7.0 + ('matplotlib', '3.4.3'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb new file mode 100644 index 00000000000..9e3f52167c2 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast-CUDA-11.7.0.eb @@ -0,0 +1,53 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +_cuda_suffix = '-CUDA-%(cudaver)s' +versionsuffix = '-' + _suffix + _cuda_suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy > 1.19.2 + ('tqdm', '4.64.0'), # tqdm > 4.46.1 + ('PyTorch', '1.12.0', _cuda_suffix), # torch > 1.7.0 + ('matplotlib', '3.5.2'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb new file mode 100644 index 00000000000..4dcd1681be2 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0g-foss-2022a-fast.eb @@ -0,0 +1,51 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0g' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +unpack_options = '--strip-components=1' +checksums = ['a16fcea2b30067d2622d446031978bd86927e2e1cecf29a567c7922f6861b5aa'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy > 1.19.2 + ('tqdm', '4.64.0'), # tqdm > 4.46.1 + ('PyTorch', '1.12.0'), # torch > 1.7.0 + ('matplotlib', '3.5.2'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2022b-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2022b-fast.eb new file mode 100644 index 00000000000..59b117b9c68 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2022b-fast.eb @@ -0,0 +1,52 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0h' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +checksums = ['4afe3c004e23a1d6518cefb23448b4d5ede5f1c5b276db541f839f0615822125'] + +unpack_options = '--strip-components=1' + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # numpy > 1.19.2 + ('tqdm', '4.64.1'), # tqdm > 4.46.1 + ('PyTorch', '1.13.1'), # torch > 1.7.0 + ('matplotlib', '3.7.0'), # matplotlib > 3.3.2 +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-CUDA-12.1.1-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-CUDA-12.1.1-fast.eb new file mode 100644 index 00000000000..db9e6fe2fb3 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-CUDA-12.1.1-fast.eb @@ -0,0 +1,55 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0h' +_suffix = 'fast' +versionsuffix = '-CUDA-%(cudaver)s-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +checksums = ['4afe3c004e23a1d6518cefb23448b4d5ede5f1c5b276db541f839f0615822125'] + +unpack_options = '--strip-components=1' + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('PyTorch', '2.1.2', '-CUDA-%(cudaver)s'), + ('matplotlib', '3.7.2'), +] + +preinstallopts = "sed -i 's/torch.*/torch/g' requirements.txt && " + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-fast.eb b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-fast.eb new file mode 100644 index 00000000000..8e65da2a7d7 --- /dev/null +++ b/easybuild/easyconfigs/s/SignalP/SignalP-6.0h-foss-2023a-fast.eb @@ -0,0 +1,54 @@ +# 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 + +easyblock = 'PythonPackage' + +name = 'SignalP' +version = '6.0h' +_suffix = 'fast' +versionsuffix = '-' + _suffix + +homepage = 'https://services.healthtech.dtu.dk/software.php' +description = """SignalP predicts the presence and location of signal peptide cleavage sites +in amino acid sequences from different organisms""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +download_instructions = """ +SignalP requires registration and acceptance of licence terms (academic use only). + [1] go to: https://services.healthtech.dtu.dk/service.php?SignalP-6.0 + [2] navigate to the "Downloads" tab + [3] select "%s" type under version "%%(version)s" + [4] complete the form; you should receive a download link via email +""" % _suffix + +sources = ['%%(namelower)s-%%(version)s.%s.tar.gz' % _suffix] +checksums = ['4afe3c004e23a1d6518cefb23448b4d5ede5f1c5b276db541f839f0615822125'] + +unpack_options = '--strip-components=1' + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('PyTorch', '2.1.2'), + ('matplotlib', '3.7.2'), +] + +preinstallopts = "sed -i 's/torch.*/torch/g' requirements.txt && " + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +_bin = '%%(namelower)s%s' % version[0] +sanity_check_paths = { + 'files': ['bin/%s' % _bin], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ['%s --help' % _bin] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-3.2.4-foss-2020b.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-3.2.4-foss-2020b.eb new file mode 100644 index 00000000000..88e82bb5784 --- /dev/null +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-3.2.4-foss-2020b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'SimNIBS' +version = '3.2.4' + +homepage = 'https://simnibs.github.io/simnibs' +description = "SimNIBS is a free and open source software package for the Simulation of Non-invasive Brain Stimulation." + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('h5py', '3.1.0'), + ('NiBabel', '3.2.1'), + ('FMM3D', '20211018'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/simnibs/simnibs/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['ad4482b4cdd306d4356757b4d065d844ea698dab2530aa09fb59219d2a982219'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/headreco', 'bin/simnibs'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "headreco --help", + "simnibs --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb new file mode 100644 index 00000000000..97e87ebe02b --- /dev/null +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1-foss-2023a.eb @@ -0,0 +1,65 @@ +easyblock = 'PythonBundle' + +name = 'SimNIBS' +version = '4.0.1' + +homepage = 'https://simnibs.github.io/simnibs' +description = "SimNIBS is a free and open source software package for the Simulation of Non-invasive Brain Stimulation" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Eigen', '3.4.0'), + # SimNIBS 4.0.1 requires old versions of Boost, CGAL, tbb + ('Boost', '1.74.0'), + ('CGAL', '5.4'), + ('tbb', '2020.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('h5py', '3.9.0'), + ('PyOpenGL', '3.1.7'), + ('freeglut', '3.4.0'), + ('libwebp', '1.3.1'), + ('NiBabel', '5.2.0'), + ('PyQt5', '5.15.10'), + ('FMM3D', '1.0.4'), + ('charm-gems', '1.3.3'), +] + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_setup.py-fix.patch'], + 'source_urls': ['https://github.com/simnibs/simnibs/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': [ + {'v4.0.1.tar.gz': 'c5455cd0e0240b3638fbc64125bdfaeae289a63ee94a3ecc3b4d10981890c8ff'}, + {'SimNIBS-4.0.1_setup.py-fix.patch': '9e0a28233e2830cc90dca67e3e945094591f46ed646eba20a7ecf2396d126fe2'}, + ], + }), +] + +postinstallcmds = [ + 'cd %(installdir)s/bin && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/bin/linux/gmsh gmsh && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/bin/linux/meshfix meshfix && ' + 'ln -s %(installdir)s/lib/python%(pyshortver)s/site-packages/simnibs/external/dwi2cond dwi2cond', +] + +use_pip = True +sanity_pip_check = True + +local_bin_list = ['dwi2cond', 'gmsh', 'meshfix', 'simnibs', 'simnibs_gui', 'charm'] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_bin_list], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["simnibs --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch new file mode 100644 index 00000000000..44ff8cd0b82 --- /dev/null +++ b/easybuild/easyconfigs/s/SimNIBS/SimNIBS-4.0.1_setup.py-fix.patch @@ -0,0 +1,513 @@ +Authot: Pavel Tománek (INUITS) +Fix for setup.py to use EB dependecies CGAL and tbb and not download them before compilation. +Get rid of code for another platforms. +Add compilation flags for gcc. +--- setup.py.orig 2024-04-02 18:56:13.015206000 +0200 ++++ setup.py 2024-04-10 12:22:35.495147000 +0200 +@@ -12,7 +12,7 @@ + from distutils.dep_util import newer_group + import numpy as np + +- ++ + #################################################### + # add all scripts in the cli folder as + # console_scripts or gui_scripts +@@ -35,31 +35,8 @@ + 'simnibs_gui=simnibs.cli.simnibs_gui:main', + ] + +- +-######################################################################################################## +-# external stuff for which symlinks or .cmd should be added to the scripts folder +-######################################################################################################## +-external_progs = ['gmsh','meshfix'] +- +-bin_dir = os.path.join('simnibs', 'external', 'bin') +-ending='' +-if sys.platform == 'darwin': +- bin_dir = os.path.join(bin_dir, 'osx') +-elif sys.platform == 'linux': +- bin_dir = os.path.join(bin_dir, 'linux') +-elif sys.platform == 'win32': +- bin_dir = os.path.join(bin_dir, 'win') +- ending='.exe' +-else: +- raise OSError('OS not supported!') +-for i in range(len(external_progs)): +- external_progs[i] = os.path.join(bin_dir, external_progs[i]+ending) +- +-if not sys.platform == 'win32': +- external_progs.append(os.path.join('simnibs','external','dwi2cond')) +- +- +-''' C extensions ++''' ++C extensions + + CGAL Compilation + ----------------- +@@ -81,15 +58,9 @@ + + ''' + +-# Information for CGAL download ++# Information for CGAL + CGAL_version = '5.4' +-CGAL_headers = os.path.abspath(f'CGAL-{CGAL_version}/include') +-CGAL_url = ( +- f'https://github.com/CGAL/cgal/releases/download/' +- #f'releases/CGAL-{CGAL_version}/' +- f'v{CGAL_version}/' +- f'CGAL-{CGAL_version}-library.zip' +-) ++CGAL_headers = os.path.join(os.getenv('EBROOTCGAL'), 'include') + cgal_mesh_macros = [ + ('CGAL_MESH_3_NO_DEPRECATED_SURFACE_INDEX', None), + ('CGAL_MESH_3_NO_DEPRECATED_C3T3_ITERATORS', None), +@@ -100,185 +71,76 @@ + ] + + # Information for eigen library +-# I don't download it because gitlab does not allow it + eigen_version = '3.3.7' +-eigen_headers = os.path.abspath(f'simnibs/external/include/eigen-{eigen_version}') ++eigen_headers = os.path.join(os.getenv('EBROOTEIGEN'), 'include') + + # Information for Intel TBB download + tbb_version = '2020.1' +-tbb_path = os.path.abspath('tbb') +-tbb_headers = os.path.join(tbb_path, 'tbb', 'include') +-if sys.platform == 'win32': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-win.zip' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'bin', 'intel64', 'vc14', 'tbb.dll'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'vc14', 'tbb.lib'), +- os.path.join(tbb_path, 'tbb', 'bin', 'intel64', 'vc14', 'tbbmalloc.dll'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'vc14', 'tbbmalloc.lib'), +- ] +-elif sys.platform == 'linux': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-lin.tgz' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbb.so'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbb.so.2'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbbmalloc.so'), +- os.path.join(tbb_path, 'tbb', 'lib', 'intel64', 'gcc4.8', 'libtbbmalloc.so.2'), +- ] +-elif sys.platform == 'darwin': +- tbb_url = ( +- f'https://github.com/intel/tbb/releases/download/' +- f'v{tbb_version}/tbb-{tbb_version}-mac.tgz' +- ) +- tbb_libs = [ +- os.path.join(tbb_path, 'tbb', 'lib', 'libtbb.dylib'), +- os.path.join(tbb_path, 'tbb', 'lib', 'libtbbmalloc.dylib'), +- ] +-else: +- raise OSError('OS not supported!') ++tbb_headers = os.path.join(os.getenv('EBROOTTBB'), 'include') + ++tbb_libs = [ ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbb.so'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbb.so.2'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbbmalloc.so'), ++ os.path.join(os.getenv('EBROOTTBB'), 'lib', 'libtbbmalloc.so.2'), ++] + + #### Setup compilation arguments +-is_conda = 'CONDA_PREFIX' in os.environ +- +-if sys.platform == 'win32': +- petsc_libs = ['libpetsc', 'msmpi'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/win/petsc', +- 'simnibs/external/include/win/hypre', +- 'simnibs/external/include/win/mpi' +- ] +- petsc_dirs = ['simnibs/external/lib/win'] +- petsc_runtime = None +- petsc_extra_link_args = None +- +- cgal_libs = ['libmpfr-4', 'libgmp-10', 'zlib', 'tbb', 'tbbmalloc'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/win/mpfr', +- 'simnibs/external/include/win/gmp' +- ] +- # Find boost headers if installed with conda +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'Library', 'include')] +- cgal_dirs = ['simnibs/external/lib/win'] +- cgal_runtime = None +- # Got those arguments from compiling a CGAL program following the instructions in the website +- cgal_compile_args = [ +- '/Zi', '/WX-', '/diagnostics:classic', '/Ob0', '/Oy', +- '/D WIN32', '/D _WINDOWS', '/D _SCL_SECURE_NO_DEPRECATE', +- '/D _SCL_SECURE_NO_WARNINGS', '/D BOOST_ALL_DYN_LINK=1', +- '/D _MBCS' +- ] +- cgal_link_args = None +- +- cat_compile_args = None + +-elif sys.platform == 'linux': +- petsc_libs = ['petsc'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/linux/petsc' +- ] +- petsc_dirs = ['simnibs/external/lib/linux'] +- petsc_runtime = ['$ORIGIN/../external/lib/linux'] +- petsc_extra_link_args = None +- +- cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc', 'pthread'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/linux/mpfr', +- 'simnibs/external/include/linux/gmp' +- ] +- # To find the boost headers if installed with conda +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'include')] +- cgal_dirs = ['simnibs/external/lib/linux'] +- cgal_runtime = ['$ORIGIN/../../external/lib/linux'] +- # Add -Os -flto for much smaller binaries +- cgal_compile_args = [ +- '-Os', '-flto', +- '-frounding-math', +- '-std=gnu++14', +- ] +- cgal_mesh_macros += [('NOMINMAX', None)] +- cgal_link_args = None +- +- cat_compile_args = [ +- '-std=gnu99', +- ] +- +-elif sys.platform == 'darwin': +- petsc_libs = ['petsc'] +- petsc_include = [ +- np.get_include(), +- 'simnibs/external/include/osx/petsc' +- ] +- petsc_dirs = ['simnibs/external/lib/osx'] +- petsc_runtime = None +- # add RPATH as the _runtime argument does not work in MacOS, likely bug in setuptools +- petsc_extra_link_args = ['-Wl,-rpath,@loader_path/../external/lib/osx'] +- +- cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc'] +- cgal_include = [ +- np.get_include(), +- CGAL_headers, +- eigen_headers, +- tbb_headers, +- 'simnibs/external/include/osx/mpfr', +- 'simnibs/external/include/osx/gmp' +- ] +- if is_conda: +- cgal_include += [os.path.join(os.environ['CONDA_PREFIX'], 'include')] +- cgal_dirs = ['simnibs/external/lib/osx'] +- cgal_runtime = None +- cgal_compile_args = [ +- '-std=gnu++14', +- '-stdlib=libc++', +- ] +- cgal_mesh_macros += [('NOMINMAX', None)] +- cgal_link_args = [ +- '-stdlib=libc++', +- '-Wl,-rpath,@loader_path/../../external/lib/osx' +- ] +- +- cat_compile_args = None +- +-else: +- raise OSError('OS not supported!') ++petsc_libs = ['petsc'] ++petsc_include = [ ++ np.get_include(), ++ 'simnibs/external/include/linux/petsc' ++] ++petsc_dirs = ['simnibs/external/lib/linux'] ++petsc_runtime = ['$ORIGIN/../external/lib/linux'] ++petsc_extra_link_args = None ++ ++cgal_libs = ['mpfr', 'gmp', 'z', 'tbb', 'tbbmalloc', 'pthread'] ++cgal_include = [ ++ np.get_include(), ++ CGAL_headers, ++ eigen_headers, ++ tbb_headers, ++ 'simnibs/external/include/linux/mpfr', ++ 'simnibs/external/include/linux/gmp' ++] ++cgal_dirs = ['simnibs/external/lib/linux'] ++cgal_runtime = ['$ORIGIN/../../external/lib/linux'] ++# Add -Os -flto for much smaller binaries ++cgal_compile_args = [ ++ '-Os', '-flto', ++ '-frounding-math', ++ '-std=gnu++14', ++ '-w', # removes warnings as errors ++ '-fcompare-debug-second', # removes notes as errors ++] ++cgal_mesh_macros += [('NOMINMAX', None)] ++cgal_link_args = None + + cython_msh = Extension( + 'simnibs.mesh_tools.cython_msh', + ["simnibs/mesh_tools/cython_msh.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + marching_cubes_lewiner_cy = Extension( + 'simnibs.segmentation._marching_cubes_lewiner_cy', + ["simnibs/segmentation/_marching_cubes_lewiner_cy.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + cat_c_utils = Extension( + 'simnibs.segmentation._cat_c_utils', + ["simnibs/segmentation/_cat_c_utils.pyx", "simnibs/segmentation/cat_c_utils/genus0.c"], + include_dirs=[np.get_include(), 'simnibs/segmentation/cat_c_utils'], +- extra_compile_args=cat_compile_args ++ extra_compile_args=['-w', '-std=gnu99'], + ) + thickness = Extension( + 'simnibs.segmentation._thickness', + ["simnibs/segmentation/_thickness.pyx"], +- include_dirs=[np.get_include()] ++ include_dirs=[np.get_include()], ++ extra_compile_args=['-w'], + ) + petsc_solver = Extension( + 'simnibs.simulation.petsc_solver', +@@ -288,7 +150,8 @@ + library_dirs=petsc_dirs, + libraries=petsc_libs, + runtime_library_dirs=petsc_runtime, +- extra_link_args=petsc_extra_link_args ++ extra_link_args=petsc_extra_link_args, ++ extra_compile_args=['-w'], + ) + # I separated the CGAL functions into several files for two reasons + # 1. Reduce memory consumption during compilation in Linux +@@ -343,57 +206,8 @@ + cgal_misc + ] + +- +-def add_symlinks_or_cmd(external_progs,script_dir): +- ''' add symbolic links or .cmd ''' +- for s in external_progs: +- if not os.path.exists(s): +- raise IOError('Could not find '+s) +- s = os.path.abspath(s) +- bash_name = os.path.join(script_dir, os.path.basename(s)) +- if sys.platform == 'win32': +- bash_name=os.path.splitext(bash_name)[0] + '.cmd' +- print('making cmd link '+bash_name+' --> '+s) +- with open(bash_name, 'w') as f: +- f.write("@echo off\n") +- f.write(f'"{s}" %*') +- else: +- if os.path.lexists(bash_name): +- os.remove(bash_name) +- print('making sym link '+bash_name+' --> '+s) +- os.symlink(s, bash_name) +- +- +-def download_and_extract(url, path='.'): +- ''' Downloads and extracts a zip or tar-gz folder ''' +- print('Downloading:', url) +- with urllib.request.urlopen(url) as response: +- with tempfile.NamedTemporaryFile('wb', delete=False) as tmpf: +- shutil.copyfileobj(response, tmpf) +- tmpname = tmpf.name +- +- if url.endswith('.zip'): +- with zipfile.ZipFile(tmpname) as z: +- z.extractall(path) +- +- elif url.endswith('.tgz') or url.endswith('.tar.gz'): +- with tarfile.open(tmpname, 'r:gz') as z: +- z.extractall(path) +- else: +- raise IOError('Could not extract file, unrecognized extension') +- +- os.remove(tmpname) +- +- +-def install_lib(url, path, libs, build_path): +- ''' Downloads a compiled library from the internet and move to "lib" folder ''' +- download_and_extract(url, path) +- if sys.platform == 'darwin': +- folder_name = 'osx' +- elif sys.platform == 'linux': +- folder_name = 'linux' +- elif sys.platform == 'win32': +- folder_name = 'win' ++def install_lib(libs, build_path): ++ folder_name = 'linux' + for l in libs: + shutil.copy( + l, f'simnibs/external/lib/{folder_name}', +@@ -408,13 +222,12 @@ + + class build_ext_(build_ext): + ''' +- Build the extension, download some dependencies and remove stuff from other OS ++ Build the extension, download some dependencies and remove stuff from other OS + ''' + def run(self): + from Cython.Build import cythonize + ## Cythonize + self.extension = cythonize(self.extensions) +- ## Download requirements + changed_meshing = ( + newer_group( + create_mesh_surf.sources + create_mesh_surf.depends, +@@ -433,90 +246,49 @@ + ) + ) + if self.force or changed_meshing: +- download_and_extract(CGAL_url) + if self.inplace: + build_lib = "" + else: + build_lib = self.build_lib + "/" +- +- install_lib(tbb_url, tbb_path, tbb_libs, build_lib) ++ install_lib(tbb_libs, build_lib) + + # Compile + build_ext.run(self) +- # cleanup downloads +- if self.force or changed_meshing: +- shutil.rmtree(f'CGAL-{CGAL_version}', ignore_errors=True) +- shutil.rmtree(tbb_path, ignore_errors=True) +- # Remove unescessary binary files +- linux_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'linux'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'linux'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'linux'), +- ] +- osx_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'osx'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'osx'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'osx'), +- ] +- win_folders = [ +- os.path.join(self.build_lib, 'simnibs', 'external', 'bin', 'win'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'include', 'win'), +- os.path.join(self.build_lib, 'simnibs', 'external', 'lib', 'win'), +- ] +- if sys.platform == 'linux': +- [shutil.rmtree(f, True) for f in osx_folders] +- [shutil.rmtree(f, True) for f in win_folders] +- +- if sys.platform == 'darwin': +- [shutil.rmtree(f, True) for f in linux_folders] +- [shutil.rmtree(f, True) for f in win_folders] +- +- if sys.platform == 'win32': +- [shutil.rmtree(f, True) for f in linux_folders] +- [shutil.rmtree(f, True) for f in osx_folders] +- +- +-setup(name='simnibs', +- version=open("simnibs/_version.py").readlines()[-1].split()[-1].strip("\"'"), +- description='www.simnibs.org', +- author='SimNIBS developers', +- author_email='support@simnibs.org', +- packages=find_namespace_packages(), +- license='GPL3', +- ext_modules=extensions, +- include_package_data=True, +- cmdclass={ +- 'build_ext': build_ext_ +- }, +- entry_points={ +- 'console_scripts': console_scripts, +- 'gui_scripts': gui_scripts +- }, +- install_requires=[ +- 'numpy>=1.16', +- 'scipy>=1.2', +- 'h5py>=2.9', +- 'nibabel>=2.3', +- 'packaging', +- 'requests', +- 'charm-gems', +- 'fmm3dpy' +- ], +- extras_require={ +- 'GUI': ['pyqt5', 'pyopengl'] +- }, +- setup_requires=[ +- 'numpy>=1.16', +- 'cython' +- ], +- tests_require=['pytest', 'mock'], +- zip_safe=False) +- +- +-script_dir = shutil.which('simnibs') +-if script_dir is None: +- raise IOError('could not locate folder with console-scripts') +-else: +- script_dir = os.path.dirname(script_dir) +- add_symlinks_or_cmd(external_progs,script_dir) +- ++ ++setup( ++ name='simnibs', ++ version="4.0.1", ++ description='www.simnibs.org', ++ author='SimNIBS developers', ++ author_email='support@simnibs.org', ++ packages=find_namespace_packages(), ++ license='GPL3', ++ ext_modules=extensions, ++ include_package_data=True, ++ cmdclass={ ++ 'build_ext': build_ext_ ++ }, ++ entry_points={ ++ 'console_scripts': console_scripts, ++ 'gui_scripts': gui_scripts ++ }, ++ install_requires=[ ++ 'numpy>=1.16', ++ 'scipy>=1.2', ++ 'h5py>=2.9', ++ 'nibabel>=2.3', ++ 'packaging', ++ 'requests', ++ 'charm-gems', ++ 'fmm3dpy' ++ ], ++ extras_require={ ++ 'GUI': ['pyqt5', 'pyopengl'] ++ }, ++ setup_requires=[ ++ 'numpy>=1.16', ++ 'cython' ++ ], ++ tests_require=['pytest', 'mock'], ++ zip_safe=False ++) diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb index 96c54436747..d8b79f635f4 100644 --- a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.14.1-intel-2020a-Python-3.8.2.eb @@ -56,4 +56,4 @@ exts_list = [ sanity_pip_check = True -moduleclass = 'bio' +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb new file mode 100644 index 00000000000..b079a1e9c9c --- /dev/null +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-foss-2021b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'SimPEG' +version = '0.18.1' + +homepage = 'https://simpeg.xyz' +description = """An open source Python package for simulation and gradient based parameter estimation in + geophysical applications.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('pymatsolver', '0.2.0', { + 'checksums': ['df9e0444f3c7fadf57b226d7d90b7be1dea9e24718575b458ba50429736d6c45'], + }), + ('discretize', '0.8.2', { + 'checksums': ['19b2bcb57cf769ca2c225875db5d3017dc58ca8cd3ad7f44ee89ba0e1622e4a6'], + }), + ('utm', '0.7.0', { + 'checksums': ['3c9a3650e98bb6eecec535418d0dfd4db8f88c8ceaca112a0ff0787e116566e2'], + }), + ('geoana', '0.4.0', { + 'checksums': ['e95bb3974019111e0522a6955ee735cca71fa11554647fafcbdbee8b91524495'], + }), + ('empymod', '2.2.1', { + 'checksums': ['7167ca4adfc7fe737261ff4371052b8caa1c662b1aa1862822552f76734cf7ac'], + }), + (name, version, { + 'modulename': 'SimPEG', + 'checksums': ['3cbbb96640b23e9bd3311bc71e5c79fb731cefd6b3b845ecd6dad59c4a6e3600'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb new file mode 100644 index 00000000000..ff2cc5d5fd8 --- /dev/null +++ b/easybuild/easyconfigs/s/SimPEG/SimPEG-0.18.1-intel-2021b.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonBundle' + +name = 'SimPEG' +version = '0.18.1' + +homepage = 'https://simpeg.xyz' +description = """An open source Python package for simulation and gradient based parameter estimation in + geophysical applications.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), +] + +use_pip = True + +exts_list = [ + ('pydiso', '0.0.3', { + 'checksums': ['883e1c4bda04afebd4ac364f1a2992e26123be0f8965c5ac59571549c6cec608'], + }), + ('pymatsolver', '0.2.0', { + 'checksums': ['df9e0444f3c7fadf57b226d7d90b7be1dea9e24718575b458ba50429736d6c45'], + }), + ('discretize', '0.8.2', { + 'checksums': ['19b2bcb57cf769ca2c225875db5d3017dc58ca8cd3ad7f44ee89ba0e1622e4a6'], + }), + ('utm', '0.7.0', { + 'checksums': ['3c9a3650e98bb6eecec535418d0dfd4db8f88c8ceaca112a0ff0787e116566e2'], + }), + ('geoana', '0.4.0', { + 'checksums': ['e95bb3974019111e0522a6955ee735cca71fa11554647fafcbdbee8b91524495'], + }), + ('empymod', '2.2.1', { + 'checksums': ['7167ca4adfc7fe737261ff4371052b8caa1c662b1aa1862822552f76734cf7ac'], + }), + (name, version, { + 'modulename': 'SimPEG', + 'checksums': ['3cbbb96640b23e9bd3311bc71e5c79fb731cefd6b3b845ecd6dad59c4a6e3600'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/Simple-DFTD3/Simple-DFTD3-0.7.0-foss-2022a.eb b/easybuild/easyconfigs/s/Simple-DFTD3/Simple-DFTD3-0.7.0-foss-2022a.eb new file mode 100644 index 00000000000..f2575df8691 --- /dev/null +++ b/easybuild/easyconfigs/s/Simple-DFTD3/Simple-DFTD3-0.7.0-foss-2022a.eb @@ -0,0 +1,48 @@ +# A. Domingo (Vrije Universiteit Brussel) +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeNinja' + +name = 'Simple-DFTD3' +version = '0.7.0' + +homepage = 'https://dftd3.readthedocs.io' +description = """Reimplementation of the D3 dispersion correction. The s-dftd3 project aims to +provide a user-friendly and uniform interface to the D3 dispersion model and +for the calculation of DFT-D3 dispersion corrections.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': False, 'openmp': True, 'pic': True} + +github_account = 'dftd3' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['19400a176eb4dcee7b89181a5a5f0033fe6b05c52821e54896a98448761d003a'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('mctc-lib', '0.3.1'), + ('mstore', '0.2.0'), + ('TOML-Fortran', '0.3.1'), +] + +build_shared_libs = True + +configopts = '-DWITH_BLAS=1 -DWITH_OpenMP=1' + +# run suite of tests with ctest +test_cmd = 'ctest' +runtest = '' + +sanity_check_paths = { + 'files': ['bin/s-dftd3', 'lib/libs-dftd3.%s' % SHLIB_EXT, 'include/dftd3.h', 'include/s-dftd3.h'], + 'dirs': ['include/s-dftd3', 'lib/cmake', 'lib/pkgconfig'], +} + +sanity_check_commands = ["s-dftd3 --help"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/SimpleElastix/SimpleElastix-1.1.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/SimpleElastix/SimpleElastix-1.1.0-foss-2019b-Python-3.7.4.eb index 7a9bf4502a2..29d9b21e0d8 100644 --- a/easybuild/easyconfigs/s/SimpleElastix/SimpleElastix-1.1.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/s/SimpleElastix/SimpleElastix-1.1.0-foss-2019b-Python-3.7.4.eb @@ -16,7 +16,7 @@ toolchainopts = {'pic': True} builddependencies = [ ('CMake', '3.15.3'), ('Bison', '3.3.2'), - ('Eigen', '3.3.7', '', True), + ('Eigen', '3.3.7', '', SYSTEM), ('googletest', '1.10.0'), ] @@ -35,7 +35,7 @@ dependencies = [ default_easyblock = 'CMakeMake' -local_itk_configopts = "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF " +local_itk_configopts = "-DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF " local_itk_configopts += "-DITK_WRAP_PYTHON=OFF -DModule_ITKReview=ON " local_itk_configopts += "-DITK_USE_SYSTEM_SWIG=ON -DITK_USE_SYSTEM_EIGEN=ON -DITK_USE_SYSTEM_HDF5=ON " local_itk_configopts += "-DITK_USE_SYSTEM_JPEG=ON -DJPEG_INCLUDE_DIR=$EBROOTLIBJPEGMINTURBO/include " @@ -46,11 +46,13 @@ local_itk_configopts += "-DITK_USE_SYSTEM_TIFF=ON -DTIFF_INCLUDE_DIR=$EBROOTLIBT local_itk_configopts += "-DTIFF_LIBRARY=$EBROOTLIBTIFF/lib/libtiff.%s " % SHLIB_EXT local_itk_configopts += "-DITK_USE_SYSTEM_ZLIB=ON -DZLIB_INCLUDE_DIR=$EBROOTZLIB/include " local_itk_configopts += "-DZLIB_LIBRARY=$EBROOTZLIB/lib/libz.%s " % SHLIB_EXT +# Don't depend on MPICXX (which makes linking to ITK painful) +local_itk_configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -DOMPI_SKIP_MPICXX"' -local_elastix_configopts = "-DCMAKE_BUILD_TYPE=Release -DELASTIX_BUILD_EXECUTABLE=OFF " +local_elastix_configopts = "-DELASTIX_BUILD_EXECUTABLE=OFF " local_elastix_configopts += "-DITK_DIR=%%(builddir)s/ITK-%s/easybuild_obj/" % local_itk_ver -local_simpleelastix_configopts = "-DCMAKE_BUILD_TYPE=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF " +local_simpleelastix_configopts = "-DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF " local_simpleelastix_configopts += '-DCMAKE_C_FLAGS="$CFLAGS -fpermissive" -DCMAKE_CXX_FLAGS="$CXXFLAGS -fpermissive" ' local_simpleelastix_configopts += "-DITK_DIR=%%(builddir)s/ITK-%s/easybuild_obj/ " % local_itk_ver local_simpleelastix_configopts += "-DElastix_DIR=%%(builddir)s/elastix-%s/easybuild_obj/ " % local_elastix_ver diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018a-Python-3.6.4.eb index ccc450ac5bc..3287f55dc25 100644 --- a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018a-Python-3.6.4.eb +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018a-Python-3.6.4.eb @@ -4,9 +4,10 @@ name = 'SimpleITK' version = '1.1.0' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' -description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in - datasets showing strong between-class imbalance.""" +homepage = 'http://www.simpleitk.org' +description = """ITK is an open-source, cross-platform system that provides developers with an extensive suite of + software tools for image analysis. Among them, SimpleITK is a simplified layer built on top of ITK, intended to + facilitate its use in rapid prototyping, education, interpreted languages.""" toolchain = {'name': 'foss', 'version': '2018a'} diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018b-Python-3.6.6.eb index 251caa1d459..b354378cad9 100644 --- a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.1.0-foss-2018b-Python-3.6.6.eb @@ -4,9 +4,10 @@ name = 'SimpleITK' version = '1.1.0' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' -description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in - datasets showing strong between-class imbalance.""" +homepage = 'http://www.simpleitk.org' +description = """ITK is an open-source, cross-platform system that provides developers with an extensive suite of + software tools for image analysis. Among them, SimpleITK is a simplified layer built on top of ITK, intended to + facilitate its use in rapid prototyping, education, interpreted languages.""" toolchain = {'name': 'foss', 'version': '2018b'} diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.2.4-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.2.4-foss-2019b-Python-3.7.4.eb index b68bf5bcba6..9bb81967762 100644 --- a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.2.4-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-1.2.4-foss-2019b-Python-3.7.4.eb @@ -4,9 +4,10 @@ name = 'SimpleITK' version = '1.2.4' versionsuffix = '-Python-%(pyver)s' -homepage = 'https://github.com/scikit-learn-contrib/imbalanced-learn' -description = """imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in - datasets showing strong between-class imbalance.""" +homepage = 'http://www.simpleitk.org' +description = """ITK is an open-source, cross-platform system that provides developers with an extensive suite of + software tools for image analysis. Among them, SimpleITK is a simplified layer built on top of ITK, intended to + facilitate its use in rapid prototyping, education, interpreted languages.""" toolchain = {'name': 'foss', 'version': '2019b'} diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-foss-2020b.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-foss-2020b.eb new file mode 100644 index 00000000000..0ad9b52ffd1 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-foss-2020b.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.0' + +homepage = 'http://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://pypi.python.org/packages/source/s/simpleitk/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d5d3b805863b9dfcffeebec69a1b79b5709fc814b12cb9ab759ccbd3e4746839'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Lua', '5.3.5'), + ('ITK', '5.2.1'), + ('scikit-build', '0.11.1'), +] + +start_dir = 'SimpleITK' + +configopts = "-DWRAP_PYTHON=ON -DWRAP_LUA=OFF -DWRAP_RUBY=OFF " +configopts += "-DWRAP_TCL=OFF -DWRAP_JAVA=OFF -DWRAP_R=OFF -DWRAP_CSHARP=OFF " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-fosscuda-2020b.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..f51b83860c7 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.0-fosscuda-2020b.eb @@ -0,0 +1,49 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.0' + +homepage = 'http://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = [PYPI_LOWER_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['d5d3b805863b9dfcffeebec69a1b79b5709fc814b12cb9ab759ccbd3e4746839'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Lua', '5.3.5'), + ('ITK', '5.2.1'), + ('scikit-build', '0.11.1'), +] + +start_dir = 'SimpleITK' + +configopts = "-DWRAP_PYTHON=ON -DWRAP_LUA=OFF -DWRAP_RUBY=OFF " +configopts += "-DWRAP_TCL=OFF -DWRAP_JAVA=OFF -DWRAP_R=OFF -DWRAP_CSHARP=OFF " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-allow-lua54-for-code-generation.patch b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-allow-lua54-for-code-generation.patch new file mode 100644 index 00000000000..5ac695698a6 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-allow-lua54-for-code-generation.patch @@ -0,0 +1,33 @@ +SimpleITK v2.1.1 requires Lua 5.3, which is not available in the easybuild foss/2021a toolchain. + +This patch allows the code generation during the configuration step to use Lua 5.4. +(Lua wrapping has been disabled in the existing SimpleITK easyconfigs, anyway.) + +Author: https://github.com/crubb + +diff -ur SimpleITK-2.1.1/CMake/sitkGenerateFilterSource.cmake SimpleITK-2.1.1-Lua54/CMake/sitkGenerateFilterSource.cmake +--- SimpleITK-2.1.1/CMake/sitkGenerateFilterSource.cmake 2021-09-09 20:30:08.000000000 +0000 ++++ SimpleITK-2.1.1-Lua54/CMake/sitkGenerateFilterSource.cmake 2022-02-05 20:01:47.594257463 +0000 +@@ -7,7 +7,7 @@ + get_property( SAVE_LUA_EXECUTABLE_DOCSTRING CACHE LUA_EXECUTABLE PROPERTY HELPSTRING ) + unset(LUA_EXECUTABLE CACHE) + +- find_package( LuaInterp 5.3 REQUIRED ) ++ find_package( LuaInterp 5.4 REQUIRED ) + set( SimpleITK_LUA_EXECUTABLE ${LUA_EXECUTABLE} CACHE PATH "Lua executable used for code generation." ) + + if (DEFINED SAVE_LUA_EXECUTABLE) +@@ -46,10 +46,10 @@ + + if( SITK_LUA_VERSION_RESULT_VARIABLE + OR +- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.2" ++ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.3" + OR +- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.4" ) +- message(SEND_ERROR "Lua version 5.3 is required for SimpleITK_LUA_EXECUTABLE_VERSION.") ++ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.5" ) ++ message(SEND_ERROR "Lua version 5.4 is required for SimpleITK_LUA_EXECUTABLE_VERSION.") + endif() + + # Sets "out_var" variable name to the value in the json path specified diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-foss-2021a.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-foss-2021a.eb new file mode 100644 index 00000000000..ad058066d02 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1-foss-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.1' + +homepage = 'http://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +# v2.1.1 source was not available from PyPi on 2022-03-02 (only compiled packages) +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/v%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s-allow-lua54-for-code-generation.patch'] +checksums = [ + '9edc56b81a9f295081da2f6cafce4f7f5f3b4cfc6b8cb33365e68b581daea1d2', # SimpleITK-2.1.1.tar.gz + # SimpleITK-2.1.1-allow-lua54-for-code-generation.patch + '7ae36fc1a725300f86890b81fa121c0fa2cb1b5628475d962f66cdd4722364ab', +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('SWIG', '4.0.2'), + ('Lua', '5.4.3'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('ITK', '5.2.1'), + ('scikit-build', '0.11.1'), +] + +configopts = "-DWRAP_DEFAULT:BOOL=OFF -DWRAP_PYTHON=BOOL:ON " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2021b.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2021b.eb new file mode 100644 index 00000000000..56f8ad1608b --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2021b.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.1.2' + +homepage = 'https://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/s/simpleitk/'] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_allow-lua54-for-code-generation.patch'] +checksums = [ + '5c0689b007d449ce0ce17a9ea322152315fb17ed32949005a974d3d9c2f58da3', # SimpleITK-2.1.1.2.tar.gz + # SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch + 'd1a45b1b64a226b3c22bf83c2f40f7f0e8f0a7d74bea1b2e7f5c5b6ed88b1522', +] + +builddependencies = [ + ('CMake', '3.21.1'), + ('SWIG', '4.0.2'), + ('Lua', '5.4.3'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('ITK', '5.2.1'), + ('scikit-build', '0.11.1'), +] + +start_dir = 'SimpleITK' + +configopts = "-DWRAP_DEFAULT:BOOL=OFF -DWRAP_PYTHON=BOOL:ON " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb new file mode 100644 index 00000000000..ee1cda90622 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2-foss-2022a.eb @@ -0,0 +1,51 @@ +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.1.1.2' + +homepage = 'https://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['%(name)s-%(version)s_allow-lua54-for-code-generation.patch'] +checksums = [ + '5c0689b007d449ce0ce17a9ea322152315fb17ed32949005a974d3d9c2f58da3', # SimpleITK-2.1.1.2.tar.gz + # SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch + 'd1a45b1b64a226b3c22bf83c2f40f7f0e8f0a7d74bea1b2e7f5c5b6ed88b1522', +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), + ('Lua', '5.4.4'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('ITK', '5.2.1'), + ('scikit-build', '0.15.0'), +] + +start_dir = 'SimpleITK' + +configopts = "-DWRAP_DEFAULT:BOOL=OFF -DWRAP_PYTHON=BOOL:ON " + +postinstallcmds = [ + "cd %(builddir)s/easybuild_obj/Wrapping/Python && " + "pip install --ignore-installed --no-deps --prefix=%(installdir)s . ", +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["python -c 'import %(name)s'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch new file mode 100644 index 00000000000..d29d262f15b --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.1.1.2_allow-lua54-for-code-generation.patch @@ -0,0 +1,31 @@ +SimpleITK v2.1.1.2 requires Lua 5.3, which is not available in the easybuild foss/2021b toolchain. + +This patch allows the code generation during the configuration step to use Lua 5.4.· +(Lua wrapping has been disabled in the existing SimpleITK easyconfigs, anyway.) + +Author: https://github.com/crubb + +diff -ur SimpleITK-2.1.1.2.orig/SimpleITK/CMake/sitkGenerateFilterSource.cmake SimpleITK-2.1.1.2/SimpleITK/CMake/sitkGenerateFilterSource.cmake +--- SimpleITK-2.1.1.2.orig/SimpleITK/CMake/sitkGenerateFilterSource.cmake 2021-07-23 18:52:45.000000000 +0200 ++++ SimpleITK-2.1.1.2/SimpleITK/CMake/sitkGenerateFilterSource.cmake 2022-06-22 18:10:02.247043199 +0200 +@@ -7,7 +7,7 @@ + get_property( SAVE_LUA_EXECUTABLE_DOCSTRING CACHE LUA_EXECUTABLE PROPERTY HELPSTRING ) + unset(LUA_EXECUTABLE CACHE) + +- find_package( LuaInterp 5.3 REQUIRED ) ++ find_package( LuaInterp 5.4 REQUIRED ) + set( SimpleITK_LUA_EXECUTABLE ${LUA_EXECUTABLE} CACHE PATH "Lua executable used for code generation." ) + + if (DEFINED SAVE_LUA_EXECUTABLE) +@@ -46,9 +46,9 @@ + + if( SITK_LUA_VERSION_RESULT_VARIABLE + OR +- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.2" ++ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_GREATER "5.3" + OR +- NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.4" ) ++ NOT ${SimpleITK_LUA_EXECUTABLE_VERSION} VERSION_LESS "5.5" ) + message(SEND_ERROR "Lua version 5.3 is required for SimpleITK_LUA_EXECUTABLE_VERSION.") + endif() + diff --git a/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.3.1-foss-2023a.eb new file mode 100644 index 00000000000..c1f0519dd14 --- /dev/null +++ b/easybuild/easyconfigs/s/SimpleITK/SimpleITK-2.3.1-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'CMakeMake' + +name = 'SimpleITK' +version = '2.3.1' + +homepage = 'https://www.simpleitk.org' +description = """SimpleITK is a simplified programming interface to the algorithms and data structures of + the Insight Toolkit (ITK).""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/v%(version)s'] +sources = [SOURCE_TAR_GZ] +checksums = ['7498c1bd3ae8218027c17bcefd2346b16eda6f2a009c0b9f344bd163c4715870'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('SWIG', '4.1.1'), + ('Lua', '5.4.6'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('ITK', '5.3.0'), + ('scikit-build', '0.17.6'), +] + +# Enable Python bindings +configopts = "-DWRAP_DEFAULT:BOOL=OFF -DWRAP_PYTHON=BOOL:ON " + +# Install Python module as extension +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'source_urls': ['https://github.com/%(name)s/%(name)s/releases/download/v%(version)s'], + 'start_dir': '%(builddir)s/easybuild_obj/Wrapping/Python', + 'checksums': ['7498c1bd3ae8218027c17bcefd2346b16eda6f2a009c0b9f344bd163c4715870'], + }), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['lib/libSimpleITK_ITKBiasCorrection-%(version_major_minor)s.a'], + 'dirs': ['include/%(name)s-%(version_major_minor)s', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01-GCC-10.3.0.eb b/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01-GCC-10.3.0.eb new file mode 100644 index 00000000000..bc14c143be9 --- /dev/null +++ b/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01-GCC-10.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'Simstrat' +version = '3.01' + +homepage = 'http://www.eawag.ch/en/department/surf/projects/simstrat/' +description = """Simstrat is a one-dimensional physical lake model for +the simulation of stratification and mixing in deep stratified lakes.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/Eawag-AppliedSystemAnalysis/Simstrat/archive'] +sources = ['%(version)s.tar.gz'] +patches = [ + 'Simstrat-3.01_use_external_forbear_and_aed2.patch', +] +checksums = [ + 'ed504e65e11e7064d3c27643ca41785eaf1f6a8fd7a96dda5b96966ba3665c2e', # 3.01.tar.gz + # Simstrat-3.01_use_external_forbear_and_aed2.patch + 'c37ad82393c2790222bc4018831a29e0c4ddc240a3e37f7c9c613e3b944d6634', +] + +builddependencies = [ + ('FoBiS', '3.0.5'), +] + +dependencies = [ + ('forbear', '1.2.0'), + ('libaed2', '1.3.0'), +] + +prebuildopts = 'cd build && ' + +build_cmd = 'FoBiS.py build' +buildopts = '-mode release-gnu-dynamic ' + +files_to_copy = [(['build/simstrat'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/simstrat'], + 'dirs': [], +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01_use_external_forbear_and_aed2.patch b/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01_use_external_forbear_and_aed2.patch new file mode 100644 index 00000000000..465d0a3c380 --- /dev/null +++ b/easybuild/easyconfigs/s/Simstrat/Simstrat-3.01_use_external_forbear_and_aed2.patch @@ -0,0 +1,99 @@ +Use external forbear and aed2 libraries. + +Åke Sandgren, 2022-01-25 +diff -ru Simstrat-3.01.orig/build/fobos Simstrat-3.01/build/fobos +--- Simstrat-3.01.orig/build/fobos 2021-04-23 15:35:32.000000000 +0200 ++++ Simstrat-3.01/build/fobos 2022-01-25 09:54:07.726977196 +0100 +@@ -7,35 +7,14 @@ + lflags=-static-libgcc -static-libgfortran -static + build_dir=. + src=../src/ +-libs = ../lib/libaed2/obj/aed2_bio_utils.o +- ../lib/libaed2/obj/aed2_carbon.o +- ../lib/libaed2/obj/aed2_chlorophylla.o +- ../lib/libaed2/obj/aed2_common.o +- ../lib/libaed2/obj/aed2_core.o +- ../lib/libaed2/obj/aed2_csv_reader.o +- ../lib/libaed2/obj/aed2_dummy.o +- ../lib/libaed2/obj/aed2_nitrogen.o +- ../lib/libaed2/obj/aed2_noncohesive.o +- ../lib/libaed2/obj/aed2_organic_matter.o +- ../lib/libaed2/obj/aed2_oxygen.o +- ../lib/libaed2/obj/aed2_phosphorus.o +- ../lib/libaed2/obj/aed2_phytoplankton.o +- ../lib/libaed2/obj/aed2_sedflux.o +- ../lib/libaed2/obj/aed2_silica.o +- ../lib/libaed2/obj/aed2_totals.o +- ../lib/libaed2/obj/aed2_tracer.o +- ../lib/libaed2/obj/aed2_util.o +- ../lib/libaed2/obj/aed2_zoop_utils.o +- ../lib/libaed2/obj/aed2_zooplankton.o +- ../lib/libaed2/obj/ufz_oxygen.o +-include = ../lib/libaed2/mod/ ++include = $EBROOTLIBAED2/include $EBROOTFORBEAR/include ++ext_libs = aed2 forbear + colors=False + quiet=False + target=simstrat.f90 + output=simstrat + dependon=../lib/csv_fortran/fobos:release-gnu((direct)) + ../lib/json_fortran/fobos:release-gnu((direct)) +- ../lib/forbear/fobos:static-gnu((direct)) + log=True + + [release-gnu-dynamic] +@@ -44,12 +23,13 @@ + lflags=-dynamic-libgcc -dynamic-libgfortran -dynamic + build_dir=. + src=../src/ ++include = $EBROOTLIBAED2/include $EBROOTFORBEAR/include ++ext_libs = aed2 forbear + colors=False + quiet=False + target=simstrat.f90 + dependon=../lib/csv_fortran/fobos:release-gnu((direct)) + ../lib/json_fortran/fobos:release-gnu((direct)) +- ../lib/forbear/fobos:static-gnu((direct)) + log=True + + [release-intel] +@@ -58,6 +38,8 @@ + modsw=-module= + build_dir=. + src=../src/ ++include = $EBROOTLIBAED2/include $EBROOTFORBEAR/include ++ext_libs = aed2 forbear + colors=False + quiet=False + target=simstrat.f90 +@@ -72,13 +54,14 @@ + lflags=-static-libgcc -static-libgfortran -static + build_dir=. + src=../src/ ++include = $EBROOTLIBAED2/include $EBROOTFORBEAR/include ++ext_libs = aed2 forbear + colors=False + quiet=False + target=simstrat.f90 + output=simstrat + dependon=../lib/csv_fortran/fobos:release-gnu((direct)) + ../lib/json_fortran/fobos:release-gnu((direct)) +- ../lib/forbear/fobos:static-gnu((direct)) + log=True + + [debug-gnu-dynamic] +@@ -87,12 +70,13 @@ + lflags=-dynamic-libgcc -dynamic-libgfortran -dynamic + build_dir=. + src=../src/ ++include = $EBROOTLIBAED2/include $EBROOTFORBEAR/include ++ext_libs = aed2 forbear + colors=False + quiet=False + target=simstrat.f90 + dependon=../lib/csv_fortran/fobos:release-gnu((direct)) + ../lib/json_fortran/fobos:release-gnu((direct)) +- ../lib/forbear/fobos:static-gnu((direct)) + log=True + + [rule-makedoc] diff --git a/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..22eca6d4ed4 --- /dev/null +++ b/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,247 @@ +easyblock = 'PythonBundle' + +name = 'Single-cell-python-bundle' +version = '2024.02' +versionsuffix = '-CUDA-12.1.1' + +homepage = (None) +description = """Bundle of tools for single-cell sequence analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), + ('CMake', '3.26.3'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('PyTorch', '2.1.2', versionsuffix), + ('scanpy', '1.9.8'), + ('scib', '1.1.4'), + ('scVelo', '0.3.1'), + ('CellTypist', '1.6.2'), + ('epiScanpy', '0.4.0'), + ('scCODA', '0.1.9'), + ('infercnvpy', '0.4.3'), + ('pySCENIC', '0.12.1-20240311'), + ('CellRank', '2.0.2', versionsuffix), + ('Squidpy', '1.4.1'), + ('Cassiopeia', '2.0.0'), + ('scvi-tools', '1.1.2', versionsuffix), + ('scArches', '0.6.1', versionsuffix), + ('scib-metrics', '0.5.1', versionsuffix), + # deps of exts: + ('umap-learn', '0.5.5'), # bbknn + ('scikit-learn', '1.3.1'), # bbknn, sc_toolbox + ('PyYAML', '6.0'), # sc_toolbox + ('typing-extensions', '4.9.0'), # sc_toolbox + ('adjustText', '0.7.3'), # sc_toolbox + ('python-parasail', '1.3.4'), # scirpy + ('graph-tool', '2.59'), # schist + ('Pyomo', '6.7.3'), # pertpy + ('mpmath', '1.3.0'), # blitzgsea +] + +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('annoy', '1.17.3', { + 'checksums': ['9cbfebefe0a5f843eba29c6be4c84d601f4f41ad4ded0486f1b88c3b07739c15'], + }), + ('pynndescent', '0.5.11', { + 'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'], + }), + ('bbknn', '1.6.0', { + 'checksums': ['1c01a9d6df2fc52a527de8a403617897a4b672724863299a7026f2132f1b041b'], + }), + ('tzlocal', '5.2', { + 'checksums': ['8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e'], + }), + ('anndata2ri', '1.3.1', { + 'checksums': ['0e3fa2f81789f682d19ef452fabdb401ec27899db9abe5a78e45e21dcc7caa42'], + }), + ('pypi-latest', '0.1.2', { + 'checksums': ['b195654567e6abaac6acfec37638d8e000838f419bc6b129962a896eedc4ed4e'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '8.0.4', { + 'modulename': 'slugify', + 'checksums': ['59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856'], + }), + ('prompt_toolkit', '3.0.36', { + 'checksums': ['3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63'], + }), + ('binaryornot', '0.4.4', { + 'checksums': ['359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061'], + }), + ('types-python-dateutil', '2.9.0.20240316', { + 'modulename': False, + 'checksums': ['5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202'], + }), + ('arrow', '1.3.0', { + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('cookiecutter', '2.6.0', { + 'checksums': ['db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('sc_toolbox', '0.12.3', { + 'checksums': ['6ca22a364c269a095114e620eb3c6da8aac1950d8f43f58ceea08005a09cc2cb'], + }), + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('altair', '5.2.0', { + 'checksums': ['2ad7f0c8010ebbc46319cc30febfb8e59ccf84969a201541c207bc3a4fa6cf81'], + }), + ('custom_inherit', '2.4.1', { + 'checksums': ['7052eb337bcce83551815264391cc4efc2bf70b295a3c52aba64f1ab57c3a8a2'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('pypng', '0.20220715.0', { + 'modulename': 'png', + 'checksums': ['739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1'], + }), + ('reportlab', '4.1.0', { + 'checksums': ['3a99faf412691159c068b3ff01c15307ce2fd2cf6b860199434874e002040a84'], + }), + ('toyplot', '1.0.3', { + 'checksums': ['7b7b2bc5784fd75e5c695300bffc80d568c83bebef543bb54e6e6c2229912edd'], + }), + ('toytree', '2.0.5', { + 'checksums': ['7be04ca310067e0e9737449700d6ab1b68b4379b64e2d22f2f7697a70030ceb0'], + }), + ('tascCODA', '0.1.3', { + # strip out tensorflow-probability as required dependency, to ensure that 'pip check' passes + 'preinstallopts': "sed -i '/tensorflow-probability>=0.16/d' setup.py && ", + 'checksums': ['8c12ddccb72c41c96c6a5abceb52e7a76f439a9ab94fb092aa86ee3c1292383a'], + }), + ('harmonypy', '0.0.9', { + 'checksums': ['85bfdd4e6ec6e0fa8816a276639358d3598a40d60ba9f7a5d9dada8706be8c4d'], + }), + ('fbpca', '1.0', { + 'checksums': ['150677642479663f317fdbb5e06dab3f98721cf7031bb4a84113d7a631c472d1'], + }), + ('geosketch', '1.2', { + 'checksums': ['bbfe97366b91c5927b6076d5a6738d9cfbe094efb5ac1117aab7a30b6081cc4e'], + }), + ('python_circos', '0.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'modulename': 'pycircos', + 'checksums': ['410eaffc4eb2933cd688897356813da23310f5e2f14a8bceb003e9b96faa715b'], + }), + ('mizani', '0.9.3', { + 'checksums': ['fb61339e9e4711850e902ca286b1ae75255f483823d891aa0515b426d56c606d'], + }), + ('plotnine', '0.12.4', { + 'checksums': ['adc41a672503594445a8fa19872799253bd0784cdbd5a1cc16657a1dd20ba905'], + }), + ('ktplotspy', '0.2.3', { + 'checksums': ['9a1e3646217e6e99f59ab2258dfd76120cf1f50880c9cb2f9005de397c00f0a9'], + }), + ('cellphonedb', '5.0.0', { + 'checksums': ['1c96173d8527f1655216d265fc50a28ea3360d70486afa5050e3f5565fa3a8cd'], + }), + ('decoupler', '1.6.0', { + 'checksums': ['dde501f4d3e55a260f716e51b871bee403bc8aaa6b66799df0e42dee0787b98d'], + }), + ('mudata', '0.2.3', { + 'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'], + }), + ('nodeenv', '1.9.0', { + 'checksums': ['07f144e90dae547bf0d4ee8da0ee42664a42a04e02ed68e06324348dafe4bdb1'], + }), + ('identify', '2.5.36', { + 'checksums': ['e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre_commit', '3.7.1', { + 'checksums': ['8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a'], + }), + ('muon', '0.1.6', { + 'checksums': ['762feeb6f52f865cf79d0d0332cc742fe91c1885f668ce15794b62b3952b02f9'], + }), + ('liana', '1.2.0', { + 'checksums': ['be899c69bfcbf3d0f8b61c04c35f225ac6b11fe1ea80e6ed4bdc0e6212cb2379'], + }), + ('squarify', '0.4.3', { + 'checksums': ['54091f6ad175f7f201f8934574e647ce1b50dedc478c5fd968688eb7d7469f95'], + }), + ('scikit_build_core', '0.9.3', { + 'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'], + }), + ('awkward-cpp', '33', { + 'checksums': ['550adebccd329d18d02e95226d0b89698188fd33e44f07450942c692881927d8'], + }), + ('awkward', '2.6.4', { + 'checksums': ['ee0cb27c64150f368749983dda499c108848c64dc830912480eb37b78c04300f'], + }), + ('yamlordereddictloader', '0.4.2', { + 'checksums': ['36af2f6210fcff5da4fc4c12e1d815f973dceb41044e795e1f06115d634bca13'], + }), + ('airr', '1.5.0', { + 'checksums': ['febc0a881bf46b1a9c29ac6a7089dd733ff9120d114585e75dede26403f68d42'], + }), + ('scirpy', '0.17.0', { + 'checksums': ['f61653a4f7387562ec89b00fbfd7cab762c0bf3320f21ccfc47df80a13cc5d41'], + }), + ('schist', '0.8.3', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/dawe/schist/archive/'], + 'checksums': ['9b98ec9d85554573288c24f18c4791ba7c4d315397cbc422ea25d4a7cdd42e6d'], + }), + ('typeguard', '2.13.3', { + 'checksums': ['00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4'], + }), + ('jaxtyping', '0.2.29', { + 'checksums': ['e1cd916ed0196e40402b0638449e7d051571562b2cd68d8b94961a383faeb409'], + }), + ('equinox', '0.11.4', { + 'checksums': ['0033d9731083f402a855b12a0777a80aa8507651f7aa86d9f0f9503bcddfd320'], + }), + ('lineax', '0.0.4', { + 'checksums': ['e68f1eba2f352122fdce9adc0556684f31eb8364b1a00acee484dd6e44a34e5e'], + }), + ('jaxopt', '0.8.3', { + 'checksums': ['4b06dfa6f915a4f3291699606245af6069371a48dc5c92d4c507840d62990646'], + }), + ('ott_jax', '0.4.6', { + 'modulename': 'ott', + 'checksums': ['bc91f8d512cdb344439f5584712d76cd0650b6716b6686d53b828cc67abdbcba'], + }), + ('sparsecca', '0.3.1', { + 'checksums': ['be1526baebac5ce6efbc7190fd62a1cec13288c493f5d427024f66ca6afaec13'], + }), + ('PubChemPy', '1.0.4', { + 'checksums': ['24e9dc2fc90ab153b2764bf805e510b1410700884faf0510a9e7cf0d61d8ed0e'], + }), + ('blitzgsea', '1.3.42', { + 'checksums': ['dcc997b5d29d190d8632474f3bb57b5ead7fb1370b478c7f824b42782325a1ca'], + }), + ('pertpy', '0.7.0', { + 'checksums': ['273723b5b70f3cb714bb36d3234462014b72e133111eeaf08aa47153c9df14aa'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a.eb b/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a.eb new file mode 100644 index 00000000000..c0f6cb45631 --- /dev/null +++ b/easybuild/easyconfigs/s/Single-cell-python-bundle/Single-cell-python-bundle-2024.02-foss-2023a.eb @@ -0,0 +1,246 @@ +easyblock = 'PythonBundle' + +name = 'Single-cell-python-bundle' +version = '2024.02' + +homepage = (None) +description = """Bundle of tools for single-cell sequence analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.5.1'), + ('CMake', '3.26.3'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('PyTorch', '2.1.2'), + ('scanpy', '1.9.8'), + ('scib', '1.1.4'), + ('scVelo', '0.3.1'), + ('CellTypist', '1.6.2'), + ('epiScanpy', '0.4.0'), + ('scCODA', '0.1.9'), + ('infercnvpy', '0.4.3'), + ('pySCENIC', '0.12.1-20240311'), + ('CellRank', '2.0.2'), + ('Squidpy', '1.4.1'), + ('Cassiopeia', '2.0.0'), + ('scvi-tools', '1.1.2'), + ('scArches', '0.6.1'), + ('scib-metrics', '0.5.1'), + # deps of exts: + ('umap-learn', '0.5.5'), # bbknn + ('scikit-learn', '1.3.1'), # bbknn, sc_toolbox + ('PyYAML', '6.0'), # sc_toolbox + ('typing-extensions', '4.9.0'), # sc_toolbox + ('adjustText', '0.7.3'), # sc_toolbox + ('python-parasail', '1.3.4'), # scirpy + ('graph-tool', '2.59'), # schist + ('Pyomo', '6.7.3'), # pertpy + ('mpmath', '1.3.0'), # blitzgsea +] + +exts_list = [ + ('flit_core', '3.9.0', { + 'checksums': ['72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba'], + }), + ('annoy', '1.17.3', { + 'checksums': ['9cbfebefe0a5f843eba29c6be4c84d601f4f41ad4ded0486f1b88c3b07739c15'], + }), + ('pynndescent', '0.5.11', { + 'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'], + }), + ('bbknn', '1.6.0', { + 'checksums': ['1c01a9d6df2fc52a527de8a403617897a4b672724863299a7026f2132f1b041b'], + }), + ('tzlocal', '5.2', { + 'checksums': ['8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e'], + }), + ('anndata2ri', '1.3.1', { + 'checksums': ['0e3fa2f81789f682d19ef452fabdb401ec27899db9abe5a78e45e21dcc7caa42'], + }), + ('pypi-latest', '0.1.2', { + 'checksums': ['b195654567e6abaac6acfec37638d8e000838f419bc6b129962a896eedc4ed4e'], + }), + ('text-unidecode', '1.3', { + 'checksums': ['bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93'], + }), + ('python-slugify', '8.0.4', { + 'modulename': 'slugify', + 'checksums': ['59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856'], + }), + ('prompt_toolkit', '3.0.36', { + 'checksums': ['3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63'], + }), + ('binaryornot', '0.4.4', { + 'checksums': ['359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061'], + }), + ('types-python-dateutil', '2.9.0.20240316', { + 'modulename': False, + 'checksums': ['5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202'], + }), + ('arrow', '1.3.0', { + 'checksums': ['d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85'], + }), + ('cookiecutter', '2.6.0', { + 'checksums': ['db21f8169ea4f4fdc2408d48ca44859349de2647fbe494a9d6c3edfc0542c21c'], + }), + ('questionary', '2.0.1', { + 'checksums': ['bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('sc_toolbox', '0.12.3', { + 'checksums': ['6ca22a364c269a095114e620eb3c6da8aac1950d8f43f58ceea08005a09cc2cb'], + }), + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('altair', '5.2.0', { + 'checksums': ['2ad7f0c8010ebbc46319cc30febfb8e59ccf84969a201541c207bc3a4fa6cf81'], + }), + ('custom_inherit', '2.4.1', { + 'checksums': ['7052eb337bcce83551815264391cc4efc2bf70b295a3c52aba64f1ab57c3a8a2'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('pypng', '0.20220715.0', { + 'modulename': 'png', + 'checksums': ['739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1'], + }), + ('reportlab', '4.1.0', { + 'checksums': ['3a99faf412691159c068b3ff01c15307ce2fd2cf6b860199434874e002040a84'], + }), + ('toyplot', '1.0.3', { + 'checksums': ['7b7b2bc5784fd75e5c695300bffc80d568c83bebef543bb54e6e6c2229912edd'], + }), + ('toytree', '2.0.5', { + 'checksums': ['7be04ca310067e0e9737449700d6ab1b68b4379b64e2d22f2f7697a70030ceb0'], + }), + ('tascCODA', '0.1.3', { + # strip out tensorflow-probability as required dependency, to ensure that 'pip check' passes + 'preinstallopts': "sed -i '/tensorflow-probability>=0.16/d' setup.py && ", + 'checksums': ['8c12ddccb72c41c96c6a5abceb52e7a76f439a9ab94fb092aa86ee3c1292383a'], + }), + ('harmonypy', '0.0.9', { + 'checksums': ['85bfdd4e6ec6e0fa8816a276639358d3598a40d60ba9f7a5d9dada8706be8c4d'], + }), + ('fbpca', '1.0', { + 'checksums': ['150677642479663f317fdbb5e06dab3f98721cf7031bb4a84113d7a631c472d1'], + }), + ('geosketch', '1.2', { + 'checksums': ['bbfe97366b91c5927b6076d5a6738d9cfbe094efb5ac1117aab7a30b6081cc4e'], + }), + ('python_circos', '0.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'modulename': 'pycircos', + 'checksums': ['410eaffc4eb2933cd688897356813da23310f5e2f14a8bceb003e9b96faa715b'], + }), + ('mizani', '0.9.3', { + 'checksums': ['fb61339e9e4711850e902ca286b1ae75255f483823d891aa0515b426d56c606d'], + }), + ('plotnine', '0.12.4', { + 'checksums': ['adc41a672503594445a8fa19872799253bd0784cdbd5a1cc16657a1dd20ba905'], + }), + ('ktplotspy', '0.2.3', { + 'checksums': ['9a1e3646217e6e99f59ab2258dfd76120cf1f50880c9cb2f9005de397c00f0a9'], + }), + ('cellphonedb', '5.0.0', { + 'checksums': ['1c96173d8527f1655216d265fc50a28ea3360d70486afa5050e3f5565fa3a8cd'], + }), + ('decoupler', '1.6.0', { + 'checksums': ['dde501f4d3e55a260f716e51b871bee403bc8aaa6b66799df0e42dee0787b98d'], + }), + ('mudata', '0.2.3', { + 'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'], + }), + ('nodeenv', '1.9.0', { + 'checksums': ['07f144e90dae547bf0d4ee8da0ee42664a42a04e02ed68e06324348dafe4bdb1'], + }), + ('identify', '2.5.36', { + 'checksums': ['e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d'], + }), + ('cfgv', '3.4.0', { + 'checksums': ['e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560'], + }), + ('pre_commit', '3.7.1', { + 'checksums': ['8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a'], + }), + ('muon', '0.1.6', { + 'checksums': ['762feeb6f52f865cf79d0d0332cc742fe91c1885f668ce15794b62b3952b02f9'], + }), + ('liana', '1.2.0', { + 'checksums': ['be899c69bfcbf3d0f8b61c04c35f225ac6b11fe1ea80e6ed4bdc0e6212cb2379'], + }), + ('squarify', '0.4.3', { + 'checksums': ['54091f6ad175f7f201f8934574e647ce1b50dedc478c5fd968688eb7d7469f95'], + }), + ('scikit_build_core', '0.9.3', { + 'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'], + }), + ('awkward-cpp', '33', { + 'checksums': ['550adebccd329d18d02e95226d0b89698188fd33e44f07450942c692881927d8'], + }), + ('awkward', '2.6.4', { + 'checksums': ['ee0cb27c64150f368749983dda499c108848c64dc830912480eb37b78c04300f'], + }), + ('yamlordereddictloader', '0.4.2', { + 'checksums': ['36af2f6210fcff5da4fc4c12e1d815f973dceb41044e795e1f06115d634bca13'], + }), + ('airr', '1.5.0', { + 'checksums': ['febc0a881bf46b1a9c29ac6a7089dd733ff9120d114585e75dede26403f68d42'], + }), + ('scirpy', '0.17.0', { + 'checksums': ['f61653a4f7387562ec89b00fbfd7cab762c0bf3320f21ccfc47df80a13cc5d41'], + }), + ('schist', '0.8.3', { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/dawe/schist/archive/'], + 'checksums': ['9b98ec9d85554573288c24f18c4791ba7c4d315397cbc422ea25d4a7cdd42e6d'], + }), + ('typeguard', '2.13.3', { + 'checksums': ['00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4'], + }), + ('jaxtyping', '0.2.29', { + 'checksums': ['e1cd916ed0196e40402b0638449e7d051571562b2cd68d8b94961a383faeb409'], + }), + ('equinox', '0.11.4', { + 'checksums': ['0033d9731083f402a855b12a0777a80aa8507651f7aa86d9f0f9503bcddfd320'], + }), + ('lineax', '0.0.4', { + 'checksums': ['e68f1eba2f352122fdce9adc0556684f31eb8364b1a00acee484dd6e44a34e5e'], + }), + ('jaxopt', '0.8.3', { + 'checksums': ['4b06dfa6f915a4f3291699606245af6069371a48dc5c92d4c507840d62990646'], + }), + ('ott_jax', '0.4.6', { + 'modulename': 'ott', + 'checksums': ['bc91f8d512cdb344439f5584712d76cd0650b6716b6686d53b828cc67abdbcba'], + }), + ('sparsecca', '0.3.1', { + 'checksums': ['be1526baebac5ce6efbc7190fd62a1cec13288c493f5d427024f66ca6afaec13'], + }), + ('PubChemPy', '1.0.4', { + 'checksums': ['24e9dc2fc90ab153b2764bf805e510b1410700884faf0510a9e7cf0d61d8ed0e'], + }), + ('blitzgsea', '1.3.42', { + 'checksums': ['dcc997b5d29d190d8632474f3bb57b5ead7fb1370b478c7f824b42782325a1ca'], + }), + ('pertpy', '0.7.0', { + 'checksums': ['273723b5b70f3cb714bb36d3234462014b72e133111eeaf08aa47153c9df14aa'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SingleM/SingleM-0.16.0-foss-2023a.eb b/easybuild/easyconfigs/s/SingleM/SingleM-0.16.0-foss-2023a.eb new file mode 100644 index 00000000000..25fc18b7c63 --- /dev/null +++ b/easybuild/easyconfigs/s/SingleM/SingleM-0.16.0-foss-2023a.eb @@ -0,0 +1,107 @@ +easyblock = 'PythonBundle' + +name = 'SingleM' +version = '0.16.0' + +homepage = 'https://github.com/wwood/singlem' +description = """SingleM is a tool for profiling shotgun metagenomes. +It has a particular strength in detecting microbial lineages which are not in reference databases. +The method it uses also makes it suitable for some related tasks, such as assessing eukaryotic contamination, +finding bias in genome recovery, computing ecological diversity metrics, and lineage-targeted MAG recovery.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('Biopython', '1.83'), + ('polars', '0.20.2'), + ('tqdm', '4.66.1'), + ('Arrow', '14.0.1'), + ('DIAMOND', '2.1.8'), + ('HMMER', '3.4'), + ('MAFFT', '7.520', '-with-extensions'), + ('OrfM', '0.7.1'), + ('mfqe', '0.5.0'), + ('KronaTools', '2.8.1'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('SRA-Toolkit', '3.0.10'), + ('Seqmagick', '0.8.6'), + ('ExpressBetaDiversity', '1.0.10'), + ('FastTree', '2.1.11'), + ('SQLAlchemy', '2.0.25'), + ('CD-HIT', '4.8.1'), + ('smafa', '0.8.0'), + ('prodigal', '2.6.3'), + ('biom-format', '2.1.15'), + ('DendroPy', '4.6.1'), + ('PyYAML', '6.0'), + ('psycopg', '3.2.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('psycopg2-binary', '2.9.9', { + 'modulename': 'psycopg2', + 'checksums': ['7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c'], + }), + ('sqlparse', '0.5.1', { + 'checksums': ['bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e'], + }), + ('sorted_nearest', '0.0.39', { + 'checksums': ['16a51d5db87ae226b47ace43c176bb672477a1b7ba8052ea9291a6356c9c69b1'], + }), + ('ncls', '0.0.68', { + 'checksums': ['81aaa5abb123bb21797ed2f8ef921e20222db14a3ecbc61ccf447532f2b7ba93'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + ('argparse-manpage-birdtools', '1.7.0', { + 'modulename': 'build_manpages', + 'checksums': ['20eae3079a4a2dbe1a7557ef7276a4d8e5a44c7c4223afb50f4f1d0ae0e7d103'], + }), + ('taxtastic', '0.10.0', { + 'checksums': ['32db30aa2e499fbae913b991cd087fa69684ac4ff934b957c30b6085866f1748'], + }), + ('zenodo_backpack', '0.3.1', { + 'checksums': ['dc91f3c427f976465789746e94736abfa536cf42dc2e49b6d6067382a9a39b26'], + }), + ('bird_tool_utils', '0.4.1', { + 'checksums': ['6fe80f9608626427e8d382c5341c24088d61f17336fb6ce834d40aa4577499b5'], + }), + ('fastalite', '0.4.1', { + 'checksums': ['e85413ee22bdb3fe0f73f5226771cf71eb33074ccdf8bbefff3a1bc6242de37c'], + }), + ('squarify', '0.4.3', { + 'checksums': ['54091f6ad175f7f201f8934574e647ce1b50dedc478c5fd968688eb7d7469f95'], + }), + ('pyranges', '0.0.129', { + 'checksums': ['bee83b4fad0062be9586668c6b0fc4270d5e761951975e018202993680071fb3'], + }), + ('extern', '0.4.1', { + 'checksums': ['0ff01adc2ad423f3d1e31641024b3974569fb0127b4d925bc6bed1cb86b6b1e4'], + }), + ('graftm', '0.15.1', { + 'checksums': ['80d828c311d2d6067977cfad5b6bac7cbc5d223ef8ab770d676b39bf2bc75163'], + }), + ('singlem', version, { + 'checksums': ['64e43a6a40795d68ff5aed7dfff9a94532b862f25a28c27de7d588d64a8c7f79'], + }), +] + +sanity_check_paths = { + 'files': ['bin/graftM', 'bin/singlem'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "graftM --help", + "singlem --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Singular/Singular-4.3.2p10-gfbf-2022a.eb b/easybuild/easyconfigs/s/Singular/Singular-4.3.2p10-gfbf-2022a.eb new file mode 100644 index 00000000000..9cbd46cd597 --- /dev/null +++ b/easybuild/easyconfigs/s/Singular/Singular-4.3.2p10-gfbf-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Singular' +version = '4.3.2p10' + +homepage = 'https://www.singular.uni-kl.de/' +description = """Singular is a computer algebra system for polynomial computations, +with special emphasis on commutative and non-commutative algebra, algebraic geometry, +and singularity theory.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Singular/Singular/archive/refs/tags/'] +sources = ['Release-%s.tar.gz' % version.replace('.', '-')] +checksums = ['692a09ef87be731f21b792721edd671ee98f1a4048539e628d92f123714279ab'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.4'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('FLINT', '2.9.0'), + ('NTL', '11.5.1'), + ('cddlib', '0.94m'), + ('4ti2', '1.6.9'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --with-flint=$EBROOTFLINT --with-ntl=$EBROOTNTL" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ESingular', 'Singular', 'TSingular', 'libpolys-config', 'libsingular-config']] + + ['lib/lib%s.%s' % (l, e) for l in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] + for e in ['a', SHLIB_EXT]], + 'dirs': ['include/%s' % h for h in ['factory', 'omalloc', 'resources', 'singular']] + + ['libexec/singular', 'share'], +} + +sanity_check_commands = ["Singular --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb new file mode 100644 index 00000000000..b68c9946147 --- /dev/null +++ b/easybuild/easyconfigs/s/Singular/Singular-4.4.0-gfbf-2023b.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Singular' +version = '4.4.0' + +homepage = 'https://www.singular.uni-kl.de/' +description = """Singular is a computer algebra system for polynomial computations, +with special emphasis on commutative and non-commutative algebra, algebraic geometry, +and singularity theory.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Singular/Singular/archive/refs/tags/'] +sources = ['Release-%s.tar.gz' % version.replace('.', '-')] +checksums = ['b60063628a223b2519e1d44310e05bc664b671735466da3ec192969681d2772c'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.8'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('libreadline', '8.2'), + ('GMP', '6.3.0'), + ('MPFR', '4.2.1'), + ('FLINT', '3.1.1'), + ('NTL', '11.5.1'), + ('cddlib', '0.94m'), + ('4ti2', '1.6.10'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --with-flint=$EBROOTFLINT --with-ntl=$EBROOTNTL" + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ESingular', 'Singular', 'TSingular', 'libpolys-config', 'libsingular-config']] + + ['lib/lib%s.%s' % (l, e) for l in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] + for e in ['a', SHLIB_EXT]], + 'dirs': ['include/%s' % h for h in ['factory', 'omalloc', 'resources', 'singular']] + + ['libexec/singular', 'share'], +} + +sanity_check_commands = ["Singular --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb b/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb new file mode 100644 index 00000000000..996aeca133c --- /dev/null +++ b/easybuild/easyconfigs/s/SlamDunk/SlamDunk-0.4.3-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonPackage' + +name = 'SlamDunk' +version = '0.4.3' + +homepage = 'https://t-neumann.github.io/slamdunk' +description = """SlamDunk is a novel, fully automated software tool for automated, robust, scalable and reproducible +SLAMseq data analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8475d4cadad3defda6b11de405fc59de917a6e57468f709a1e28b8a0627f2ff5'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('pybedtools', '0.8.2'), + ('Pysam', '0.17.0'), + ('Biopython', '1.79'), + ('SAMtools', '1.14'), + ('VarScan', '2.4.4', '-Java-11', SYSTEM), + ('R', '4.1.2'), + ('NextGenMap', '0.5.5'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/slamdunk'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = ["slamdunk --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..891faddbf05 --- /dev/null +++ b/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,163 @@ +easyblock = 'PythonBundle' + +name = 'Slideflow' +version = '3.0.1' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://slideflow.dev/' +description = """Slideflow is a Python package that provides a unified API for +building and testing deep learning models for histopathology, supporting both +Tensorflow/Keras and PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), + ('scikit-build', '0.17.6'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('aiohttp', '3.8.5'), + ('numba', '0.58.1'), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('pyvips', '2.2.3'), + ('Pillow', '10.0.0'), + ('PyTorch', '2.1.2', '-CUDA-12.1.1'), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), + ('torchvision', '0.16.0', '-CUDA-12.1.1'), + ('tqdm', '4.66.1'), + ('SWIG', '4.1.1'), + ('SciPy-bundle', '2023.07'), + ('PyOpenGL', '3.1.7'), + ('spaCy', '3.7.4'), + ('h5py', '3.9.0'), + ('OpenCV', '4.8.1', '-CUDA-12.1.1-contrib'), + ('rasterio', '1.3.9'), + ('dask', '2023.9.2'), + ('psutil', '5.9.8'), + ('tensorboard', '2.15.1'), + ('umap-learn', '0.5.5'), + ('zarr', '2.17.1'), + ('Arrow', '14.0.1'), + ('BeautifulSoup', '4.12.2'), + ('wrapt', '1.15.0'), + ('GLFW', '3.4'), + ('Seaborn', '0.13.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('triangle', '20230923', { + 'sources': [{ + 'filename': '%(name)s-v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/drufat', + 'repo_name': 'triangle', + 'tag': 'v20230923', 'recursive': True + } + }], + 'checksums': [None], + }), + (name, version, { + 'patches': ['%(name)s-%(version)s_fix-opencv-dep.patch'], + 'source_urls': ['https://github.com/jamesdolezal/%(namelower)s/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + {'3.0.1.tar.gz': '7fd6ca92805943e3d9d0208471205049ba48e46a9d8b910528d12788a01d5c2b'}, + {'Slideflow-3.0.1_fix-opencv-dep.patch': + '802438a42402a11de90fb09e1847336fa3664f0bca4d54512e15a1651171a8b9'}, + ], + }), + ('crc32c', '2.4', { + 'checksums': ['d985c4d9b1a1fd16c593d83f8735a8e4e156790a95338a1e0b199aac51ca1e5e'], + }), + ('ConfigSpace', '0.7.1', { + 'modulename': 'ConfigSpace', + 'checksums': ['57b5b8e28ed6ee14ecf6206fdca43ca698ef63bc1531f081d482b26acf4edf1a'], + }), + ('defusedxml', '0.7.1', { + 'checksums': ['1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69'], + }), + ('more-itertools', '9.1.0', { + 'checksums': ['cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d'], + }), + ('pyparsing', '3.1.0', { + 'checksums': ['edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea'], + }), + ('typing_extensions', '4.9.0', { + 'checksums': ['23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783'], + }), + ('fpdf2', '2.7.9', { + 'modulename': 'fpdf', + 'checksums': ['f364c0d816a5e364eeeda9761cf5c961bae8c946f080cf87fed7f38ab773b318'], + }), + ('gdown', '5.2.0', { + 'checksums': ['2145165062d85520a3cd98b356c9ed522c5e7984d408535409fd46f94defc787'], + }), + ('glfw', '2.7.0', { + 'checksums': ['0e209ad38fa8c5be67ca590d7b17533d95ad1eb57d0a3f07b98131db69b79000'], + }), + ('imgui', '2.0.0', { + 'checksums': ['2fbdb8eed3b8dbd7ea98af9e4c1c6582b0bc4da942a258de16333d8c653d67e1'], + }), + ('lifelines', '0.28.0', { + 'checksums': ['eecf726453fd409c94fef8a521f8e593bcd09337f920fe885131f01cfe58b25e'], + }), + ('autograd', '1.6.2', { + 'checksums': ['8731e08a0c4e389d8695a40072ada4512641c113b6cace8f4cfbe8eb7e9aedeb'], + }), + ('autograd-gamma', '0.5.0', { + 'checksums': ['f27abb7b8bb9cffc8badcbf59f3fe44a9db39e124ecacf1992b6d952934ac9c4'], + }), + ('formulaic', '1.0.1', { + 'checksums': ['64dd7992a7aa5bbceb1e40679d0f01fc6f0ba12b7d23d78094a88c2edc68fba1'], + }), + ('interface_meta', '1.3.0', { + 'checksums': ['8a4493f8bdb73fb9655dcd5115bc897e207319e36c8835f39c516a2d7e9d79a1'], + }), + ('parameterized', '0.9.0', { + 'checksums': ['7fc905272cefa4f364c1a3429cbbe9c0f98b793988efb5bf90aac80f08db09b1'], + }), + ('pyperclip', '1.8.2', { + 'checksums': ['105254a8b04934f0bc84e9c24eb360a591aaf6535c9def5f29d92af107a9bf57'], + }), + ('cffi', '1.15.1', { + 'checksums': ['d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9'], + }), + ('saliency', '0.2.1', { + 'checksums': ['79a3f64393a3ce89620bf46629af120c36a061019eff51b32b173378c8b18c63'], + }), + ('shapely', '2.0.4', { + 'checksums': ['5dc736127fac70009b8d309a0eeb74f3e08979e530cf7017f2f507ef62e6cfb8'], + }), + ('smac', '1.4.0', { + 'checksums': ['c58260af5ac2b2cd50b74f879202d5b5890c25d81e4c528abb51045ef4c679f9'], + }), + ('emcee', '3.1.6', { + 'checksums': ['11af4daf6ab8f9ca69681e3c29054665db7bbd87fd4eb8e437d2c3a1248c637d'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), + ('pynisher', '0.6.4', { + 'checksums': ['111d91aad471375c0509a912415ff90053ef909100facf412511383af107c124'], + }), + ('pyrfr', '0.9.0', { + 'checksums': ['bc6e758317cf79579fe6b7ce5f01dd42f77c991bf707e33646e8c6a9112c186b'], + }), + ('regex', '2023.6.3', { + 'checksums': ['72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0'], + }), + ('protobuf', '3.20.3', { + 'modulename': 'google.protobuf', + 'checksums': ['2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2'], + }), +] + +moduleclass = "ai" diff --git a/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1_fix-opencv-dep.patch b/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1_fix-opencv-dep.patch new file mode 100644 index 00000000000..cbd98f64f00 --- /dev/null +++ b/easybuild/easyconfigs/s/Slideflow/Slideflow-3.0.1_fix-opencv-dep.patch @@ -0,0 +1,12 @@ +Removes dependency on opencv-python-headless which causes conflicts. + +--- 3.0.1/foss-2023a-CUDA-12.1.1/Slideflow/slideflow-3.0.1/setup.py.orig 2024-10-02 14:50:03.699316470 +0200 ++++ 3.0.1/foss-2023a-CUDA-12.1.1/Slideflow/slideflow-3.0.1/setup.py 2024-10-02 14:50:31.615652542 +0200 +@@ -128,7 +128,6 @@ + 'scikit-learn', + 'matplotlib>=3.2', + 'imageio', +- opencv_pkg, + 'shapely', + 'umap-learn', + 'seaborn<0.14', diff --git a/easybuild/easyconfigs/s/Sniffles/Sniffles-2.0.7-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Sniffles/Sniffles-2.0.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..48aa053395e --- /dev/null +++ b/easybuild/easyconfigs/s/Sniffles/Sniffles-2.0.7-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'Sniffles' +version = '2.0.7' + +homepage = 'https://github.com/fritzsedlazeck/Sniffles' +description = """A fast structural variant caller for long-read sequencing, + Sniffles2 accurately detect SVs on germline, somatic and population-level for PacBio and Oxford Nanopore read data.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'sources': [SOURCELOWER_TAR_GZ], + 'checksums': ['bf532eb0b3aaeaee840100a3bb3339f1d5175ba98adfe3cf19685b0abb0885a1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/sniffles'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "python -c 'from sniffles import sv'", + "sniffles --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..309841532c7 --- /dev/null +++ b/easybuild/easyconfigs/s/SoPlex/SoPlex-2.2.1-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'SoPlex' +version = '2.2.1' + +homepage = 'https://soplex.zib.de/' +description = """SoPlex is an optimization package for solving linear programming problems (LPs) +based on an advanced implementation of the primal and dual revised simplex +algorithm. It provides special support for the exact solution of LPs with +rational input data. It can be used as a standalone solver reading MPS or LP +format files via a command line interface as well as embedded into other +programs via a C++ class library.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = [GITHUB_SOURCE] +sources = ['release-%s.tar.gz' % version.replace('.', '')] +checksums = ['6c2e89cd7c8910f8989f2a860fa0446641bd16d76eb87872f70974838486c9b1'] + +dependencies = [ + ('GMP', '6.2.1'), + ('zlib', '1.2.12'), +] + +skipsteps = ['configure'] + +buildopts = "COMP=gnu OPT=opt" +installopts = "INSTALLDIR=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/soplex', 'lib/libsoplex.a'], + 'dirs': ['include'], +} + +sanity_check_commands = ["soplex | grep -q '%(name)s version %(version)s'"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..96f280bd3cf --- /dev/null +++ b/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'SoQt' +version = '1.6.0' + +homepage = 'https://coin3d.github.io/SoQt/html' +description = """SoQt is a Qt GUI component toolkit library for Coin. It is also compatible +with SGI and TGS Open Inventor, and the API is based on the API of the +InventorXt GUI component toolkit.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ["https://github.com/coin3d/%(namelower)s/releases/download/%(name)s-%(version)s"] +sources = ["%(namelower)s-%(version)s-src.tar.gz"] +checksums = ['9f535af59f07c907022815679681bd345c9dec2f408c74833f6b1b24bca40e1f'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Coin', '4.0.0'), + ('Qt5', '5.15.2'), +] + +sanity_check_paths = { + 'files': ['lib/libSoQt.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..4a29e846063 --- /dev/null +++ b/easybuild/easyconfigs/s/SoQt/SoQt-1.6.0-GCC-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'SoQt' +version = '1.6.0' + +homepage = 'https://coin3d.github.io/SoQt/html/' +description = """SoQt is a library which provides the glue between Systems in + Motion's Coin high-level 3D visualization library and the Qt 2D user interface + library. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/coin3d/%(namelower)s/releases/download/%(name)s-%(version)s"] +sources = ["%(namelower)s-%(version)s-src.tar.gz"] +checksums = ['9f535af59f07c907022815679681bd345c9dec2f408c74833f6b1b24bca40e1f'] + +# Boost is a header-only dependency +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Coin', '4.0.0'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('Qt5', '5.15.2'), +] + +configopts = "-DSOXT_BUILD_TESTS=OFF" + +sanity_check_paths = { + 'files': ['lib/libSoQt.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..99d84d40bcd --- /dev/null +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'SoX' +version = '14.4.2' + +homepage = 'http://sox.sourceforge.net/' +docurls = 'http://sox.sourceforge.net/Docs/Documentation' +description = """Sound eXchange, the Swiss Army knife of audio manipulation""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('FLAC', '1.3.4'), + ('LAME', '3.100'), + ('libmad', '0.15.1b'), + ('libvorbis', '1.3.7'), + ('FFmpeg', '4.4.2'), +] + +sanity_check_paths = { + 'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h', + 'lib/libsox.la', 'lib/libsox.a', 'lib/pkgconfig/sox.pc', 'lib/libsox.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib', 'lib/pkgconfig', 'share/man'], +} + +sanity_check_commands = ['sox --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5238f615df8 --- /dev/null +++ b/easybuild/easyconfigs/s/SoX/SoX-14.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'SoX' +version = '14.4.2' + +homepage = 'http://sox.sourceforge.net/' +docurls = 'http://sox.sourceforge.net/Docs/Documentation' +description = """Sound eXchange, the Swiss Army knife of audio manipulation""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('FLAC', '1.4.2'), + ('LAME', '3.100'), + ('libmad', '0.15.1b'), + ('libvorbis', '1.3.7'), + ('FFmpeg', '6.0'), +] + +sanity_check_paths = { + 'files': ['bin/play', 'bin/rec', 'bin/sox', 'bin/soxi', 'include/sox.h', + 'lib/libsox.la', 'lib/libsox.a', 'lib/pkgconfig/sox.pc', 'lib/libsox.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib', 'lib/pkgconfig', 'share/man'], +} + +sanity_check_commands = ['sox --help'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/SoXt/SoXt-1.4.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SoXt/SoXt-1.4.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..7d7cb99ce12 --- /dev/null +++ b/easybuild/easyconfigs/s/SoXt/SoXt-1.4.0-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'SoXt' +version = '1.4.0' + +homepage = 'https://coin3d.github.io/SoXt/html/' +description = """SoXt is an Xt/Motif glue library for Coin. It can also be used + on top of the SGI or TGS implementation of Open Inventor, and is designed to + be source code compatible with SGI's InventorXt library. +""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ["https://github.com/coin3d/%(namelower)s/releases/download/%(name)s-%(version)s"] +sources = ["%(namelower)s-%(version)s-src.tar.gz"] +checksums = ['b587d1a0035808d346501cf5eed553d611ce0f9a2b84d25e4f60f962ac3f847a'] + +# Boost is a header-only dependency +builddependencies = [ + ('Boost', '1.77.0'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Coin', '4.0.0'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('motif', '2.3.8'), +] + +configopts = "-DSOXT_BUILD_TESTS=OFF" + +sanity_check_paths = { + 'files': ['lib/libSoXt.%s' % SHLIB_EXT], + 'dirs': ['lib/pkgconfig'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SortMeRNA/SortMeRNA-2.1-GCC-9.3.0.eb b/easybuild/easyconfigs/s/SortMeRNA/SortMeRNA-2.1-GCC-9.3.0.eb new file mode 100644 index 00000000000..710019073e2 --- /dev/null +++ b/easybuild/easyconfigs/s/SortMeRNA/SortMeRNA-2.1-GCC-9.3.0.eb @@ -0,0 +1,37 @@ +# # +# 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 = 'SortMeRNA' +version = '2.1' + +homepage = 'https://bioinfo.lifl.fr/RNA/sortmerna/' +description = "SortMeRNA is a biological sequence analysis tool for filtering, mapping and OTU-picking NGS reads." + +toolchain = {'name': 'GCC', 'version': '9.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://github.com/biocore/%(namelower)s/archive/'] +sources = ['%(version)s.tar.gz'] +# Patch for double includes of header files in Makefile.in +patches = ['%(name)s-%(version)s_Makefile.in.patch'] +checksums = [ + '44a3b29570e339da235acc00a35cde18f4fff03b7087b0fa8100f6c3826385d5', # 2.1.tar.gz + '0137ee3d4c583f3c4a4b18aadd1029e8a9cf0ff1748d364d993b82482777d4d5', # SortMeRNA-2.1_Makefile.in.patch +] + +sanity_check_paths = { + 'files': ['bin/indexdb_rna', 'bin/%(namelower)s'], + 'dirs': ['include', '%(namelower)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SoupX/SoupX-1.6.2-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SoupX/SoupX-1.6.2-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..3354780d23e --- /dev/null +++ b/easybuild/easyconfigs/s/SoupX/SoupX-1.6.2-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'SoupX' +version = '1.6.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/constantAmateur/SoupX' +description = """" +Quantify, profile and remove ambient mRNA contamination (the "soup") from +droplet based single cell RNA-seq experiments. Implements the method described +in Young et al. (2018) .""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cran.r-project.org/src/contrib/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['9b6226cd7c0691498a874d5c029f8ff81fd2060295c298985397521c1f7ee3a5'] + +dependencies = [ + ('R', '4.2.1'), + ('Seurat', '4.3.0', versionsuffix) +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.0-foss-2023a.eb b/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.0-foss-2023a.eb new file mode 100644 index 00000000000..608918e373c --- /dev/null +++ b/easybuild/easyconfigs/s/SpFFT/SpFFT-1.1.0-foss-2023a.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'SpFFT' +version = '1.1.0' + +homepage = 'https://github.com/eth-cscs/SpFFT/' +description = """Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/SpFFT/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d4673b3135aebfa1c440723226fe976d518ff881285b3d4787f1aa8210eac81e'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +configopts = "-DSPFFT_OMP=ON -DSPFFT_MPI=ON " + +sanity_check_paths = { + 'files': [ + 'include/spfft/spfft.h', + 'lib/libspfft.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..8a7547c694a --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.0-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '1.3.0' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +# download sources from homepage, registration required +# https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c78d1617dcb449231c2f838d4f151257f880aefa1d597f94eb9e2334add38538'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/spaceranger'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['spaceranger -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..4c9edaacc3b --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-1.3.1-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '1.3.1' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +# download sources from homepage, registration required +# https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +sources = [SOURCELOWER_TAR_GZ] +checksums = ['70f4adbd95967938abbf7aa705228c9b550f07e585ddf3951902c43f1114493d'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..b6aba4be749 --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.0-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.0.0' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +download_instructions = """ +Download sources from homepage, registration required +https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bdaa784e433c2e3707bed6a868042e954248e97fb4021d7179460a2b3702205c'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..320606c0e44 --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.0.1-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.0.1' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +download_instructions = """ +Download sources from homepage, registration required +https://support.10xgenomics.com/spatial-gene-expression/software/downloads/latest +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['81e011f8bb1c9beca92f008b4b1b4c1ca96d0847c274f4dbd81e74fe7e4a0024'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-11.3.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..ecd20c84183 --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.1.0' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +download_instructions = """ +Download sources from homepage, registration no longer required, but link is dynamic +https://www.10xgenomics.com/support/software/space-ranger/downloads +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4486c0164e47810d06dc2ba4d3d45bd638fdcc30ee826debc5745f9307e3d227'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), + ('libxslt', '1.1.34'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-12.2.0.eb b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-12.2.0.eb new file mode 100644 index 00000000000..0b0e94b0a1a --- /dev/null +++ b/easybuild/easyconfigs/s/SpaceRanger/SpaceRanger-2.1.0-GCC-12.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'SpaceRanger' +version = '2.1.0' + +homepage = 'https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger' +description = """ Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output +and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, +perform clustering and gene expression analysis, and place spots in spatial context on the slide image. """ + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +download_instructions = """ +Download sources from homepage, registration no longer required, but link is dynamic +https://www.10xgenomics.com/support/software/space-ranger/downloads +""" + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4486c0164e47810d06dc2ba4d3d45bd638fdcc30ee826debc5745f9307e3d227'] + +dependencies = [ + ('bcl2fastq2', '2.20.0'), + ('libxslt', '1.1.37'), +] + +allow_prepend_abs_path = True +# prepend reference databases GRCh38 and mm10 to PATH +# modextrapaths = {'PATH': '/path/to/databases/%(namelower)s-%(version)s'} + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['external', 'lib', 'mro'], +} + +sanity_check_commands = ['%(namelower)s -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Spack/Spack-0.16.2.eb b/easybuild/easyconfigs/s/Spack/Spack-0.16.2.eb new file mode 100644 index 00000000000..7264da653c2 --- /dev/null +++ b/easybuild/easyconfigs/s/Spack/Spack-0.16.2.eb @@ -0,0 +1,29 @@ +easyblock = 'Tarball' + +name = 'Spack' +version = '0.16.2' + +homepage = 'https://spack.io/' +description = """Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific + software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, + and all of these builds can coexist on the same machine.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/spack/spack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ed3e5d479732b0ba82489435b4e0f9088571604e789f7ab9bc5ce89030793350'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/spack'], + 'dirs': ['etc/spack/defaults', 'lib/spack', 'share/spack', 'var/spack'], +} + +sanity_check_commands = [ + "spack list", + "spack versions gcc", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/Spack/Spack-0.17.0.eb b/easybuild/easyconfigs/s/Spack/Spack-0.17.0.eb new file mode 100644 index 00000000000..3d643965035 --- /dev/null +++ b/easybuild/easyconfigs/s/Spack/Spack-0.17.0.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Spack' +version = '0.17.0' + +homepage = 'https://spack.io/' +description = """Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific + software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, + and all of these builds can coexist on the same machine.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/spack/spack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['93df99256a892ceefb153d48e2080c01d18e58e27773da2c2a469063d67cb582'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/spack'], + 'dirs': ['etc/spack/defaults', 'lib/spack', 'share/spack', 'var/spack'], +} + +sanity_check_commands = [ + "spack list", + "spack versions gcc", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/Spack/Spack-0.17.2.eb b/easybuild/easyconfigs/s/Spack/Spack-0.17.2.eb new file mode 100644 index 00000000000..43e2cb3a954 --- /dev/null +++ b/easybuild/easyconfigs/s/Spack/Spack-0.17.2.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Spack' +version = '0.17.2' + +homepage = 'https://spack.io/' +description = """Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific + software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, + and all of these builds can coexist on the same machine.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/spack/spack/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3c3c0eccc5c0a1fa89223cbdfd48c71c5be8b4645f5fa4e921426062a9b32d51'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/spack'], + 'dirs': ['etc/spack/defaults', 'lib/spack', 'share/spack', 'var/spack'], +} + +sanity_check_commands = [ + "spack list", + "spack versions gcc", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb b/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb new file mode 100644 index 00000000000..91b1aea025e --- /dev/null +++ b/easybuild/easyconfigs/s/Spack/Spack-0.21.2.eb @@ -0,0 +1,32 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'Tarball' + +name = 'Spack' +version = '0.21.2' + +homepage = 'https://spack.io/' +description = """Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific + software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, + and all of these builds can coexist on the same machine.""" + +toolchain = SYSTEM + +source_urls = [GITHUB_LOWER_RELEASE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b1860537ba00c55fa0b2517ce9dbfe0e415600892c48e3dc4e15ee8da0f50dd3'] + +keepsymlinks = True + +sanity_check_paths = { + 'files': ['bin/spack'], + 'dirs': ['etc/spack/defaults', 'lib/spack', 'share/spack', 'var/spack'], +} + +sanity_check_commands = [ + "spack list", + "spack versions gcc", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-Hadoop-2.7-Java-1.8.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-Hadoop-2.7-Java-1.8.eb index 073734a3f85..f14e575058a 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-Hadoop-2.7-Java-1.8.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-Hadoop-2.7-Java-1.8.eb @@ -17,7 +17,7 @@ source_urls = [ ] checksums = ['c93c096c8d64062345b26b34c85127a6848cff95a4bb829333a06b83222a5cfa'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/spark-shell'], diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-foss-2018b-Python-2.7.15.eb index 23510072e38..d780b9c3b02 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-foss-2018b-Python-2.7.15.eb @@ -19,7 +19,7 @@ checksums = ['c93c096c8d64062345b26b34c85127a6848cff95a4bb829333a06b83222a5cfa'] dependencies = [ ('Python', '2.7.15'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.9.2', '-native'), ('Arrow', '0.12.0', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Hadoop-2.7-Java-1.8-Python-3.6.6.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Hadoop-2.7-Java-1.8-Python-3.6.6.eb index 6fa3caf6ede..e643595c370 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Hadoop-2.7-Java-1.8-Python-3.6.6.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Hadoop-2.7-Java-1.8-Python-3.6.6.eb @@ -19,7 +19,7 @@ sources = ['%%(namelower)s-%%(version)s-bin-hadoop%s.tgz' % local_hadoopver] checksums = ['c93c096c8d64062345b26b34c85127a6848cff95a4bb829333a06b83222a5cfa'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Python', '3.6.6'), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-2.7.15.eb index 387340456d0..f7991b20743 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-2.7.15.eb @@ -19,7 +19,7 @@ checksums = ['c93c096c8d64062345b26b34c85127a6848cff95a4bb829333a06b83222a5cfa'] dependencies = [ ('Python', '2.7.15'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.9.2', '-native'), ('Arrow', '0.12.0', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-3.6.6.eb index cd360504934..7dd10c2a0c7 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.0-intel-2018b-Python-3.6.6.eb @@ -19,7 +19,7 @@ checksums = ['c93c096c8d64062345b26b34c85127a6848cff95a4bb829333a06b83222a5cfa'] dependencies = [ ('Python', '3.6.6'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.9.2', '-native'), ('Arrow', '0.12.0', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-2.4.5-intel-2019b-Python-3.7.4-Java-1.8.eb b/easybuild/easyconfigs/s/Spark/Spark-2.4.5-intel-2019b-Python-3.7.4-Java-1.8.eb index f8644c9fdea..46a739bcb58 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-2.4.5-intel-2019b-Python-3.7.4-Java-1.8.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-2.4.5-intel-2019b-Python-3.7.4-Java-1.8.eb @@ -22,7 +22,7 @@ checksums = ['020be52524e4df366eb974d41a6e18fcb6efcaba9a51632169e917c74267dd81'] dependencies = [ ('Python', '3.7.4'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.10.0', '-native'), ('Arrow', '0.16.0', local_python_versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.0.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/Spark/Spark-3.0.0-foss-2018b-Python-2.7.15.eb index acff4d94720..c7ad27d0aa2 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-3.0.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-3.0.0-foss-2018b-Python-2.7.15.eb @@ -10,16 +10,15 @@ description = """Spark is Hadoop MapReduce done in memory""" toolchain = {'name': 'foss', 'version': '2018b'} source_urls = [ - 'http://www.eu.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s/', - 'http://www.us.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s/', - 'https://apache.belnet.be/%(namelower)s/%(namelower)s-%(version)s/', + 'https://archive.apache.org/dist//%(namelower)s/%(namelower)s-%(version)s/', + 'https://downloads.apache.org/%(namelower)s/%(namelower)s-%(version)s/' ] sources = ['spark-%(version)s-bin-hadoop2.7.tgz'] checksums = ['98f6b92e5c476d7abb93cc179c2616aa5dc897da25753bd197e20ef54a28d945'] dependencies = [ ('Python', '2.7.15'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.9.2', '-native'), ('Arrow', '0.12.0', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.0.0-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/Spark/Spark-3.0.0-intel-2018b-Python-2.7.15.eb index b090aaef033..64cc3061e75 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-3.0.0-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-3.0.0-intel-2018b-Python-2.7.15.eb @@ -10,22 +10,22 @@ description = """Spark is Hadoop MapReduce done in memory""" toolchain = {'name': 'intel', 'version': '2018b'} source_urls = [ - 'http://www.eu.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s/', - 'http://www.us.apache.org/dist/%(namelower)s/%(namelower)s-%(version)s/', - 'https://apache.belnet.be/%(namelower)s/%(namelower)s-%(version)s/', + 'https://archive.apache.org/dist//%(namelower)s/%(namelower)s-%(version)s/', + 'https://downloads.apache.org/%(namelower)s/%(namelower)s-%(version)s/' ] sources = ['spark-%(version)s-bin-hadoop2.7.tgz'] checksums = ['98f6b92e5c476d7abb93cc179c2616aa5dc897da25753bd197e20ef54a28d945'] dependencies = [ ('Python', '2.7.15'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Hadoop', '2.9.2', '-native'), ('Arrow', '0.12.0', versionsuffix), ] exts_defaultclass = 'PythonPackage' exts_default_options = { + 'source_urls': [PYPI_SOURCE], 'download_dep_fail': True, 'use_pip': True, } diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020a-Python-3.8.2.eb index a6e616bd811..fd433043377 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020a-Python-3.8.2.eb @@ -12,6 +12,7 @@ description = """Spark is Hadoop MapReduce done in memory""" toolchain = {'name': 'foss', 'version': '2020a'} 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-hadoop2.7.tgz'] @@ -19,7 +20,7 @@ checksums = ['4e0846207bf10311de43451bc99309086fce7990aaf54bf3038608b1981afbe7'] dependencies = [ ('Python', '3.8.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), # ('Hadoop', '2.10.0', '-native'), ('Arrow', '0.17.1', versionsuffix), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020b.eb b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020b.eb new file mode 100644 index 00000000000..c5815aa76aa --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-foss-2020b.eb @@ -0,0 +1,54 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.1.1' + +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +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-hadoop2.7.tgz'] +checksums = ['4e0846207bf10311de43451bc99309086fce7990aaf54bf3038608b1981afbe7'] + +dependencies = [ + ('Python', '3.8.6'), + ('Java', '11', '', SYSTEM), + # ('Hadoop', '2.10.0', '-native'), + ('Arrow', '0.17.1'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('py4j', '0.10.9.2', { + 'checksums': ['624f97c363b8dd84822bc666b12fa7f7d97824632b2ff3d852cc491359ce7615'], + }), +] + +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/Spark/Spark-3.1.1-fosscuda-2020b.eb b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-fosscuda-2020b.eb index 71ff15224de..e08aae3577c 100644 --- a/easybuild/easyconfigs/s/Spark/Spark-3.1.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/s/Spark/Spark-3.1.1-fosscuda-2020b.eb @@ -11,6 +11,7 @@ description = """Spark is Hadoop MapReduce done in memory""" toolchain = {'name': 'fosscuda', 'version': '2020b'} 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-hadoop2.7.tgz'] @@ -18,7 +19,7 @@ checksums = ['4e0846207bf10311de43451bc99309086fce7990aaf54bf3038608b1981afbe7'] dependencies = [ ('Python', '3.8.6'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), # ('Hadoop', '2.10.0', '-native'), ('Arrow', '0.17.1'), ] diff --git a/easybuild/easyconfigs/s/Spark/Spark-3.2.1-foss-2021b.eb b/easybuild/easyconfigs/s/Spark/Spark-3.2.1-foss-2021b.eb new file mode 100644 index 00000000000..f9867229cb9 --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.2.1-foss-2021b.eb @@ -0,0 +1,54 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.2.1' + +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +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.2.tgz'] +checksums = ['224e058cb0c6fb68b39896427a3ccd11ae2246e9bf465b5e29e4fb192d39a59c'] + +dependencies = [ + ('Python', '3.9.6'), + ('Java', '11', '', SYSTEM), + # ('Hadoop', '2.10.0', '-native'), + ('Arrow', '6.0.0'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, +} + +exts_list = [ + ('py4j', '0.10.9.5', { + 'checksums': ['276a4a3c5a2154df1860ef3303a927460e02e97b047dc0a47c1c3fb8cce34db6'], + }), +] + +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/Spark/Spark-3.3.1-foss-2022a.eb b/easybuild/easyconfigs/s/Spark/Spark-3.3.1-foss-2022a.eb new file mode 100644 index 00000000000..c8cf8bd5e56 --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.3.1-foss-2022a.eb @@ -0,0 +1,52 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.3.1' +homepage = 'https://spark.apache.org' +description = """Spark is Hadoop MapReduce done in memory""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +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 = ['91df3e3f73682d32261a8b245af6b0553dc5cf4af208ef82219283d23ee01ece'] + +dependencies = [ + ('Python', '3.10.4'), + ('Java', '11', '', SYSTEM), + ('Arrow', '8.0.0'), +] + +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/Spark/Spark-3.5.0-foss-2023a.eb b/easybuild/easyconfigs/s/Spark/Spark-3.5.0-foss-2023a.eb new file mode 100644 index 00000000000..21fc8a3448e --- /dev/null +++ b/easybuild/easyconfigs/s/Spark/Spark-3.5.0-foss-2023a.eb @@ -0,0 +1,52 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'Tarball' + +name = 'Spark' +version = '3.5.0' +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 = ['ac064ec620129b4b9630e180e25ac2b71a8ccd4c6912bf5b5631943b742f0379'] + +dependencies = [ + ('Python', '3.11.3'), + ('Java', '11', '', 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/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/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb new file mode 100644 index 00000000000..06aba2b48da --- /dev/null +++ b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'SpatialDE' +version = '1.1.3' + +homepage = 'https://pypi.org/project/SpatialDE' +description = """SpatialDE is a method to identify genes which significantly depend on spatial coordinates in + non-linear and non-parametric ways. The intended applications are spatially resolved RNA-sequencing from e.g. + Spatial Transcriptomics, or in situ gene expression measurements from e.g. SeqFISH or MERFISH.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('patsy', '0.5.3', { + 'checksums': ['bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277'], + }), + ('NaiveDE', '1.2.0', { + 'modulename': 'NaiveDE', + 'checksums': ['339258edcb34a5e82661ec6b1ae850bf15dc875dd4fa687bb05d0721f25bf8ad'], + }), + (name, version, { + 'modulename': 'SpatialDE', + 'patches': ['%(name)s-%(version)s_fix-readme-location.patch'], + 'checksums': [ + {'SpatialDE-1.1.3.tar.gz': '7005e63ac7abfdbff1d50bff5a25e53050f1015dbf243627ec2c1303641eee27'}, + {'SpatialDE-1.1.3_fix-readme-location.patch': + 'b53cd62efe0ec9132ff161b2bad7c175d102a329edae45bbf290230cc7d95fb2'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch new file mode 100644 index 00000000000..348508ad0dd --- /dev/null +++ b/easybuild/easyconfigs/s/SpatialDE/SpatialDE-1.1.3_fix-readme-location.patch @@ -0,0 +1,12 @@ +Fix problem where setup.py cannot find README.rst in main directory +--- setup.py.back 2023-01-19 14:18:38.000000000 +0100 ++++ setup.py 2023-01-19 14:21:12.000000000 +0100 +@@ -7,7 +7,7 @@ + name='SpatialDE', + version='1.1.3', + description='Spatial and Temporal DE test', +- long_description=(HERE.parent / 'README.rst').read_text(), ++ long_description=(HERE / 'README.rst').read_text(), + url='https://github.com/Teichlab/SpatialDE', + packages=find_packages(), + include_package_data=True, diff --git a/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.0-GCC-10.2.0.eb b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..8cb83e64445 --- /dev/null +++ b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.0-GCC-10.2.0.eb @@ -0,0 +1,31 @@ +# EasyBuild easyconfig +# +# Fred Hutchinson Cancer Research Center - Seattle - Washington - US +# https://www.fredhutch.org +# John Dey +# +easyblock = 'CMakeMake' + +name = 'SpectrA' +version = '1.0.0' + +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': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/yixuan/spectra/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['45228b7d77b916b5384245eb13aa24bc994f3b0375013a8ba6b85adfd2dafd67'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [('Eigen', '3.3.8')] + +sanity_check_paths = { + 'files': ['include/Spectra/SymEigsSolver.h'], + 'dirs': ['include/Spectra/LinAlg', 'share/spectra/cmake'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..afeaeacd9ed --- /dev/null +++ b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +# 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': '11.2.0'} + +source_urls = ['https://github.com/yixuan/spectra/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +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/SpectrA/SpectrA-1.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3e7a193c7c3 --- /dev/null +++ b/easybuild/easyconfigs/s/SpectrA/SpectrA-1.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +# 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': '11.3.0'} + +source_urls = ['https://github.com/yixuan/spectra/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['919e3fbc8c539a321fd5a0766966922b7637cc52eb50a969241a997c733789f3'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +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/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/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..76924dcf229 --- /dev/null +++ b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-1.1.1-GCCcore-10.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonBundle' + +name = 'Sphinx-RTD-Theme' +version = '1.1.1' + +homepage = 'https://sphinx-rtd-theme.readthedocs.io' +description = """Sphinx theme designed to provide a great reader experience + for documentation users on both desktop and mobile devices.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] + +dependencies = [('Python', '3.8.6')] + +use_pip = True + +exts_list = [ + ('sphinx_rtd_theme', version, { + 'checksums': ['6146c845f1e1947b3c3dd4432c28998a1693ccc742b4f9ad7c63129f0757c103'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c41639bc3ad --- /dev/null +++ b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'Sphinx-RTD-Theme' +version = '2.0.0' + +homepage = 'https://sphinx-rtd-theme.readthedocs.io' +description = """Sphinx theme designed to provide a great reader experience + for documentation users on both desktop and mobile devices.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('sphinxcontrib-jquery', '4.1', { + 'modulename': 'sphinxcontrib.jquery', + 'checksums': ['1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a'], + }), + ('sphinx_rtd_theme', version, { + 'checksums': ['bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6642b38d820 --- /dev/null +++ b/easybuild/easyconfigs/s/Sphinx-RTD-Theme/Sphinx-RTD-Theme-2.0.0-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'Sphinx-RTD-Theme' +version = '2.0.0' + +homepage = 'https://sphinx-rtd-theme.readthedocs.io' +description = """Sphinx theme designed to provide a great reader experience + for documentation users on both desktop and mobile devices.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True + +exts_list = [ + ('sphinxcontrib-jquery', '4.1', { + 'modulename': 'sphinxcontrib.jquery', + 'checksums': ['1620739f04e36a2c779f1a131a2dfd49b2fd07351bf1968ced074365933abc7a'], + }), + ('sphinx_rtd_theme', version, { + 'checksums': ['bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/SpiecEasi/SpiecEasi-1.1.1-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/SpiecEasi/SpiecEasi-1.1.1-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..3d5cac629e7 --- /dev/null +++ b/easybuild/easyconfigs/s/SpiecEasi/SpiecEasi-1.1.1-foss-2022a-R-4.2.1.eb @@ -0,0 +1,23 @@ +easyblock = 'RPackage' + +name = 'SpiecEasi' +version = '1.1.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/zdk123/SpiecEasi' +description = "Sparse InversE Covariance estimation for Ecological Association and Statistical Inference" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/zdk123/SpiecEasi/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0f79f5c86a2d28a469116c2f19c29746a7a3495776dcff4d83754137b6158e63'] + +dependencies = [('R', '4.2.1')] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-0.4.3-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-0.4.3-foss-2018b-Python-2.7.15.eb index 99b2e9b26ea..a6aacdefcaf 100644 --- a/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-0.4.3-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-0.4.3-foss-2018b-Python-2.7.15.eb @@ -34,12 +34,12 @@ dependencies = [ ('DIAMOND', '0.9.22'), ('MEGAHIT', '1.1.4', versionsuffix), ('minimap2', '2.13'), - ('Java', '1.8', '', True), - ('RDP-Classifier', '2.12', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('RDP-Classifier', '2.12', '-Java-%(javaver)s', SYSTEM), ('MetaBAT', '2.12.1', versionsuffix), ('MinPath', '1.4', versionsuffix), # depends on GPLK (which provides glpsol) ('PRINSEQ', '0.20.4', '-Perl-%(perlver)s'), - ('Trimmomatic', '0.38', '-Java-%(javaver)s', True), + ('Trimmomatic', '0.38', '-Java-%(javaver)s', SYSTEM), ('AMOS', '3.1.0'), ('MaxBin', '2.2.6', '-Perl-%(perlver)s'), ('SPAdes', '3.13.0'), @@ -47,7 +47,7 @@ dependencies = [ ('canu', '1.8', '-Perl-%(perlver)s'), ('HMMER', '3.2.1'), ('MUMmer', '4.0.0beta2'), - ('pplacer', '1.1.alpha19', '', True), + ('pplacer', '1.1.alpha19', '', SYSTEM), ] keepsymlinks = True diff --git a/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0-foss-2018b-Python-2.7.15.eb new file mode 100644 index 00000000000..49bda51b080 --- /dev/null +++ b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0-foss-2018b-Python-2.7.15.eb @@ -0,0 +1,81 @@ +easyblock = 'Tarball' + +name = 'SqueezeMeta' +version = '1.0.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/jtamames/SqueezeMeta' +description = """SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, + covering all steps of the analysis.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +source_urls = ['https://github.com/jtamames/SqueezeMeta/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['SqueezeMeta-%(version)s_fix-hardcoding.patch'] +checksums = [ + '35fa45246fa3580e7ab00644176f719151465aa0ed5f0023d30075668baefb11', # v1.0.0.tar.gz + '5fe6b721669d022a1d891472d64061f217791ff8efd1642d34a03de18a21d677', # SqueezeMeta-1.0.0_fix-hardcoding.patch +] + +dependencies = [ + ('Perl', '5.28.0'), # provides XML::Parser + ('XML-LibXML', '2.0132', '-Perl-%(perlver)s'), + ('Python', '2.7.15'), + ('matplotlib', '2.2.3', versionsuffix), + ('Pysam', '0.15.1', versionsuffix), + ('R', '3.5.1', versionsuffix), + ('BLAST+', '2.7.1'), + ('BWA', '0.7.17'), + ('CD-HIT', '4.6.8'), + ('CheckM', '1.0.13', versionsuffix), + ('DAS_Tool', '1.1.1', '-R-%(rver)s-Python-%(pyver)s'), # depends on prodigal & pullseq + ('DIAMOND', '0.9.22'), + ('MEGAHIT', '1.1.4', versionsuffix), + ('minimap2', '2.13'), + ('Java', '1.8', '', SYSTEM), + ('RDP-Classifier', '2.12', '-Java-%(javaver)s', SYSTEM), + ('MetaBAT', '2.12.1', versionsuffix), + ('MinPath', '1.4', versionsuffix), # depends on GPLK (which provides glpsol) + ('PRINSEQ', '0.20.4', '-Perl-%(perlver)s'), + ('Trimmomatic', '0.38', '-Java-%(javaver)s', SYSTEM), + ('AMOS', '3.1.0'), + ('MaxBin', '2.2.6', '-Perl-%(perlver)s'), + ('SPAdes', '3.13.0'), + ('Bowtie2', '2.3.4.2'), + ('canu', '1.8', '-Perl-%(perlver)s'), + ('HMMER', '3.2.1'), + ('MUMmer', '4.0.0beta2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('Short-Pair', '20170125', versionsuffix), + ('SAMtools', '1.9'), + ('CompareM', '0.0.23', versionsuffix), +] + +keepsymlinks = True + +postinstallcmds = [ + # backup patched barrnap + "cp %(installdir)s/bin/barrnap %(builddir)s/", + # remove vendored tools that are include as dependencies + "rm -r %(installdir)s/bin/*", + "cp %(builddir)s/barrnap %(installdir)s/bin/", + # fix shebang in Perl scripts + "sed -i 's@#!/usr/bin/perl@#!/usr/bin/env perl@g' %(installdir)s/scripts/*.pl", + # also install SQMtools R library + "mkdir %(installdir)s/R && R CMD INSTALL lib/SQMtools --library=%(installdir)s/R/ --no-clean-on-error", +] + +sanity_check_paths = { + 'files': ['scripts/SqueezeMeta.pl'], + 'dirs': ['scripts/preparing_databases'], +} + +sanity_check_commands = ["""echo 'library("SQMtools")' | R -q --no-save"""] + +modextrapaths = { + 'PATH': 'scripts', + 'R_LIBS_SITE': 'R', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0_fix-hardcoding.patch b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0_fix-hardcoding.patch new file mode 100644 index 00000000000..eb762a4a11a --- /dev/null +++ b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.0.0_fix-hardcoding.patch @@ -0,0 +1,63 @@ +fix hardcoded paths, rely on specified dependencies via $PATH and $EBROOT* +author: Kenneth Hoste (HPC-UGent) +--- SqueezeMeta-1.0.0/scripts/SqueezeMeta_conf_original.pl.orig 2019-11-26 11:48:35.838688703 +0100 ++++ SqueezeMeta-1.0.0/scripts/SqueezeMeta_conf_original.pl 2019-11-26 11:52:57.253843644 +0100 +@@ -80,25 +80,25 @@ + + #-- External software + +-$metabat_soft="$installpath/bin/metabat2"; +-$maxbin_soft="$installpath/bin/MaxBin/run_MaxBin.pl"; +-$spades_soft="$installpath/bin/SPAdes/spades.py"; +-$barrnap_soft="$installpath/bin/barrnap"; +-$rdpclassifier_soft="java -jar $installpath/bin/classifier.jar"; +-$bowtie2_build_soft="$installpath/bin/bowtie2/bowtie2-build"; +-$bowtie2_x_soft="$installpath/bin/bowtie2/bowtie2"; +-$bwa_soft = "$installpath/bin/bwa"; +-$minimap2_soft = "$installpath/bin/minimap2"; +-$diamond_soft="$installpath/bin/diamond"; +-$hmmer_soft="$installpath/bin/hmmer/hmmsearch"; +-$megahit_soft="$installpath/bin/megahit/megahit"; +-$prinseq_soft="$installpath/bin/prinseq-lite.pl"; +-$prodigal_soft="$installpath/bin/prodigal"; +-$cdhit_soft="$installpath/bin/cd-hit-est"; +-$toamos_soft="$installpath/bin/AMOS/toAmos"; +-$minimus2_soft="$installpath/bin/AMOS/minimus2"; +-$checkm_soft="$installpath/bin/checkm"; +-$minpath_soft="python $installpath/bin/MinPath1.4.py"; +-$canu_soft="$installpath/bin/canu/canu"; +-$trimmomatic_soft="java -jar $installpath/bin/trimmomatic-0.38.jar"; +-$dastool_soft="$installpath/bin/DAS_Tool/DAS_Tool"; ++$metabat_soft="metabat2"; ++$maxbin_soft="$ENV{'EBROOTMAXBIN'}/run_MaxBin.pl"; ++$spades_soft="spades.py"; ++$barrnap_soft="barrnap"; ++$rdpclassifier_soft="java -jar $ENV{'EBROOTRDPMINCLASSIFIER'}/dist/classifier.jar"; ++$bowtie2_build_soft="bowtie2-build"; ++$bowtie2_x_soft="bowtie2"; ++$bwa_soft = "bwa"; ++$minimap2_soft = "minimap2"; ++$diamond_soft="diamond"; ++$hmmer_soft="hmmsearch"; ++$megahit_soft="megahit"; ++$prinseq_soft="prinseq-lite.pl"; ++$prodigal_soft="prodigal"; ++$cdhit_soft="cd-hit-est"; ++$toamos_soft="AMOS/toAmos"; ++$minimus2_soft="AMOS/minimus2"; ++$checkm_soft="checkm"; ++$minpath_soft="MinPath$ENV{'EBVERSIONMINPATH'}.py"; ++$canu_soft="canu"; +++$trimmomatic_soft="java -jar $ENV{'EBROOTTRIMMOMATIC'}/trimmomatic-$ENV{'EBVERSIONTRIMMOMATIC'}.jar"; +++$dastool_soft="DAS_Tool"; +--- SqueezeMeta-1.0.0/utils/sqm_hmm_reads.pl.orig 2019-11-26 11:53:35.804013957 +0100 ++++ SqueezeMeta-1.0.0/utils/sqm_hmm_reads.pl 2019-11-26 11:54:08.748159508 +0100 +@@ -15,7 +15,7 @@ + + use File::Basename; + my $utilsdir = dirname(__FILE__); +-my $shortpair_soft = "$utilsdir/../bin/Short-Pair/Short-Pair.py"; ++my $shortpair_soft = "Short-Pair.py"; + + my($numthreads,$pair1,$pair2,$pfam,$outfile,$dietext,$tempfile1,$tempfile2,$hel); + diff --git a/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.5.0-foss-2021b.eb b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.5.0-foss-2021b.eb new file mode 100644 index 00000000000..f1a8cec6d8d --- /dev/null +++ b/easybuild/easyconfigs/s/SqueezeMeta/SqueezeMeta-1.5.0-foss-2021b.eb @@ -0,0 +1,79 @@ +easyblock = 'Tarball' + +name = 'SqueezeMeta' +version = '1.5.0' + +homepage = 'https://github.com/jtamames/SqueezeMeta' +description = """SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, + covering all steps of the analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/jtamames/SqueezeMeta/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + 'e984d8ad57f859edd7d8ccb26a5a8ec51120f92365c5c00994bc5ea58529d639', # v1.5.0.tar.gz +] + +dependencies = [ + ('Perl', '5.34.0'), # provides XML::Parser + ('XML-LibXML', '2.0207'), + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('Pysam', '0.17.0'), + ('R', '4.1.2'), + ('BLAST+', '2.12.0'), + ('BWA', '0.7.17'), + ('CD-HIT', '4.8.1'), + ('CheckM', '1.1.3'), + ('DAS_Tool', '1.1.1', '-R-%(rver)s'), # depends on prodigal & pullseq + ('DIAMOND', '2.0.13'), + ('MEGAHIT', '1.2.9'), + ('minimap2', '2.22'), + ('Java', '11', '', SYSTEM), + ('RDP-Classifier', '2.13', '-Java-%(javaver)s', SYSTEM), + ('MetaBAT', '2.15'), + ('MinPath', '1.6'), # depends on GPLK (which provides glpsol) + ('PRINSEQ', '0.20.4', '-Perl-%(perlver)s'), + ('Trimmomatic', '0.39', '-Java-%(javaver)s', SYSTEM), + ('AMOS', '3.1.0'), + ('MaxBin', '2.2.7'), + ('SPAdes', '3.15.3'), + ('Bowtie2', '2.4.4'), + ('canu', '2.2'), + ('HMMER', '3.3.2'), + ('MUMmer', '4.0.0beta2'), + ('pplacer', '1.1.alpha19', '', SYSTEM), + ('Short-Pair', '20170125'), + ('SAMtools', '1.14'), + ('CompareM', '0.1.2'), + ('R-bundle-Bioconductor', '3.14', '-R-%(rver)s') # provides pathview needed for SQMtools +] + +keepsymlinks = True + +postinstallcmds = [ + # backup patched barrnap + "cp %(installdir)s/bin/barrnap %(builddir)s/", + # remove vendored tools that are include as dependencies + "rm -r %(installdir)s/bin/*", + "cp %(builddir)s/barrnap %(installdir)s/bin/", + # fix shebang in Perl scripts + "sed -i 's@#!/usr/bin/perl@#!/usr/bin/env perl@g' %(installdir)s/scripts/*.pl", + # also install SQMtools R library + "mkdir %(installdir)s/R && R CMD INSTALL lib/SQMtools --library=%(installdir)s/R/ --no-clean-on-error", +] + +sanity_check_paths = { + 'files': ['scripts/SqueezeMeta.pl'], + 'dirs': ['utils/install_utils/'], +} + +sanity_check_commands = ["""echo 'library("SQMtools")' | R -q --no-save"""] + +modextrapaths = { + 'PATH': 'scripts', + 'R_LIBS_SITE': 'R', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb new file mode 100644 index 00000000000..f60b9abeeab --- /dev/null +++ b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.2.2-foss-2021b.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'Squidpy' +version = '1.2.2' + +homepage = 'https://squidpy.readthedocs.io' +description = "Squidpy is a tool for the analysis and visualization of spatial molecular data." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('Pillow', '8.3.2'), + ('tqdm', '4.62.3'), + ('matplotlib', '3.4.3'), + ('xarray', '0.20.1'), + ('statsmodels', '0.13.1'), + ('scikit-image', '0.19.1'), + ('scikit-learn', '1.0.1'), + ('dask', '2022.1.0'), + ('scanpy', '1.8.2'), + ('numba', '0.54.1'), + ('aiohttp', '3.8.1'), + ('zarr', '2.13.3'), +] + +use_pip = True + +exts_list = [ + ('slicerator', '1.1.0', { + 'checksums': ['44010a7f5cd87680c07213b5cabe81d1fb71252962943e5373ee7d14605d6046'], + }), + ('PIMS', '0.6.1', { + 'checksums': ['e2b704461d4ea9bce8b6a22ca35836fe67d6d34537736b405341ae5547194f3b'], + }), + ('dask-image', '2022.9.0', { + 'checksums': ['f123dfd16a7d15c76662a6ac14778509ed5eed9b494f4322e5945e9b15923547'], + }), + ('matplotlib-scalebar', '0.8.1', { + 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('inflect', '6.0.2', { + 'checksums': ['f1a6bcb0105046f89619fde1a7d044c612c614c2d85ef182582d9dc9b86d309a'], + }), + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('omnipath', '1.0.6', { + 'checksums': ['06f11b537cb1c2773d8eee13d906288f845d96f7b6cf86746ee50920c2651506'], + }), + ('validators', '0.20.0', { + 'checksums': ['24148ce4e64100a2d5e267233e23e7afeb55316b47d30faae7eb6e7292bc226a'], + }), + ('fsspec', '2022.11.0', { + 'checksums': ['259d5fd5c8e756ff2ea72f42e7613c32667dc2049a4ac3d84364a7ca034acb8b'], + }), + ('squidpy', version, { + 'checksums': ['b2af7e9e154aa98d6f1612f707b53e0507261b8153718f7011ba3c1b8ed8daeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb new file mode 100644 index 00000000000..e57500557b2 --- /dev/null +++ b/easybuild/easyconfigs/s/Squidpy/Squidpy-1.4.1-foss-2023a.eb @@ -0,0 +1,135 @@ +easyblock = 'PythonBundle' + +name = 'Squidpy' +version = '1.4.1' + +homepage = 'https://squidpy.readthedocs.io' +description = "Squidpy is a tool for the analysis and visualization of spatial molecular data." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('poetry', '1.7.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('aiohttp', '3.8.5'), + ('anndata', '0.10.5.post1'), + ('dask', '2023.9.2'), + ('leidenalg', '0.10.2'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('numba', '0.58.1'), + ('Pillow', '10.0.0'), + ('scanpy', '1.9.8'), + ('scikit-image', '0.22.0'), + ('scikit-learn', '1.3.1'), + ('statsmodels', '0.14.1'), + ('tqdm', '4.66.1'), + ('xarray', '2023.9.0'), + ('zarr', '2.17.1'), + ('geopandas', '0.14.2'), + ('Arrow', '14.0.1'), + ('PyGEOS', '0.14'), + ('Shapely', '2.0.1'), + ('wrapt', '1.15.0'), # omnipath dep + ('pydantic', '2.5.3'), # inflect dep +] + +use_pip = True + +exts_list = [ + ('pytest_socket', '0.7.0', { + 'checksums': ['71ab048cbbcb085c15a4423b73b619a8b35d6a307f46f78ea46be51b1b7e11b3'], + }), + ('xarray_dataclasses', '1.7.0', { + 'checksums': ['b82b454c5800bf9d488c188d6362428e6bc310d2fc35f96fa4063efa40d33267'], + }), + ('xarray-datatree', '0.0.13', { + 'modulename': 'datatree', + 'checksums': ['f42bd519cab8754eb8a98749464846893b59560318520c45212e85c46af692c9'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('colorcet', '3.1.0', { + 'checksums': ['2921b3cd81a2288aaf2d63dbc0ce3c26dcd882e8c389cc505d6886bf7aa9a4eb'], + }), + ('pyct', '0.5.0', { + 'checksums': ['dd9f4ac5cbd8e37c352c04036062d3c5f67efec76d404761ef16b0cbf26aa6a0'], + }), + ('param', '2.0.2', { + 'checksums': ['785845a727a588eb94c7666d80551c7e2bb97d4309d3507beab66f95e57f7527'], + }), + ('slicerator', '1.1.0', { + 'checksums': ['44010a7f5cd87680c07213b5cabe81d1fb71252962943e5373ee7d14605d6046'], + }), + ('datashader', '0.16.0', { + 'checksums': ['ed4c111957578dcb3fcff972d954f77586dafd71a7345fd5cd069d9fb050d0d1'], + }), + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('inflect', '7.0.0', { + 'checksums': ['63da9325ad29da81ec23e055b41225795ab793b4ecb483be5dc1fa363fd4717e'], + }), + ('PIMS', '0.6.1', { + 'checksums': ['e2b704461d4ea9bce8b6a22ca35836fe67d6d34537736b405341ae5547194f3b'], + }), + ('xarray-spatial', '0.3.7', { + 'modulename': 'xrspatial', + 'preinstallopts': "sed -i 's/numpy <= 1.23.4/numpy/g' setup.cfg &&", + 'checksums': ['21bef5f0f5a3cfe18d7a33f40d7c9eee459ed33f7e5674cfe1d156de56d47b2f'], + }), + ('xarray-schema', '0.0.3', { + 'checksums': ['9c6c760489c0690a70394b2ad1368b32f8fa1333911c361b4adf249384212920'], + }), + ('spatial_image', '0.3.0', { + 'checksums': ['508ed434d1cdba5147c1dd358aea0ea41a0f913b02a73e0fd36fcbdbee14b40d'], + }), + ('ome-zarr', '0.8.3', { + 'checksums': ['e98762e6a3cc82e8f6ef50c938e23fc579498d94d1991f3476ccf9726209997b'], + }), + ('multiscale_spatial_image', '0.11.2', { + 'checksums': ['07db47c3358bdfad9688a5ee8064a219ec72a43deb65e30bd4e591adfe35d10f'], + }), + ('spatialdata', '0.0.15', { + 'preinstallopts': "sed -i 's/fsspec<=2023.6/fsspec/g' pyproject.toml &&", + 'checksums': ['7372b13b9fa84c0eadcbfca2f2cd354a9ae8dd370401745d55d572864eb4dc75'], + }), + ('validators', '0.22.0', { + 'checksums': ['77b2689b172eeeb600d9605ab86194641670cdb73b60afd577142a9397873370'], + }), + ('tifffile', '2024.2.12', { + 'checksums': ['4920a3ec8e8e003e673d3c6531863c99eedd570d1b8b7e141c072ed78ff8030d'], + }), + ('omnipath', '1.0.8', { + 'checksums': ['3821b9ba11957412ff9e4932eb6d0c17242939661468064ad1ce28ee3e27394f'], + }), + ('matplotlib-scalebar', '0.8.1', { + 'checksums': ['14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d'], + }), + ('fsspec', '2024.2.0', { + 'checksums': ['b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('dask-image', '2023.8.1', { + 'checksums': ['5e9a8985b0527a1b5942c6a7e744e0e57d264e222c7058f05baeb81c374d04b6'], + }), + ('cycler', '0.12.1', { + 'checksums': ['88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c'], + }), + ('squidpy', version, { + 'preinstallopts': "sed -i 's/pandas>=2.1.0/pandas/g' pyproject.toml &&", + 'checksums': ['485e48163b235af5b3d1cc06e3971ae848d0787c2958b5795200755a86dadf4f'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..61d42c21a8a --- /dev/null +++ b/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Stable-Baselines3' +version = '2.3.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/DLR-RM/stable-baselines3' +description = """Stable Baselines3 (SB3) is a set of reliable implementations of +reinforcement learning algorithms in PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Gymnasium', '0.29.1', versionsuffix), + ('PyTorch', '2.1.2', versionsuffix), + ('matplotlib', '3.7.2'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('stable_baselines3', version, { + 'use_pip_extras': 'extra', + 'checksums': ['2f8188916e607571c4c24f88a9ff6f84edafb2cf22d5d24f9c199563c12ff168'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a.eb b/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a.eb new file mode 100644 index 00000000000..24aee360a6e --- /dev/null +++ b/easybuild/easyconfigs/s/Stable-Baselines3/Stable-Baselines3-2.3.2-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'Stable-Baselines3' +version = '2.3.2' + +homepage = 'https://github.com/DLR-RM/stable-baselines3' +description = """Stable Baselines3 (SB3) is a set of reliable implementations of +reinforcement learning algorithms in PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Gymnasium', '0.29.1'), + ('SciPy-bundle', '2023.07'), + ('PyTorch', '2.1.2'), + ('matplotlib', '3.7.2'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('stable_baselines3', version, { + 'use_pip_extras': 'extra', + 'checksums': ['2f8188916e607571c4c24f88a9ff6f84edafb2cf22d5d24f9c199563c12ff168'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/Stack/Stack-2.11.1-x86_64.eb b/easybuild/easyconfigs/s/Stack/Stack-2.11.1-x86_64.eb new file mode 100644 index 00000000000..1b8e68c328f --- /dev/null +++ b/easybuild/easyconfigs/s/Stack/Stack-2.11.1-x86_64.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'Stack' +version = '2.11.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 = ['408a120e824ed6e6b24c548a2ff6f210fcb0eed246f204a280ed4c75af0517e7'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['stack'], + 'dirs': ['doc'], +} + +sanity_check_commands = ['stack --help'] + +moduleclass = 'devel' 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/Stack/Stack-3.1.1-x86_64.eb b/easybuild/easyconfigs/s/Stack/Stack-3.1.1-x86_64.eb new file mode 100644 index 00000000000..0a822a69cbd --- /dev/null +++ b/easybuild/easyconfigs/s/Stack/Stack-3.1.1-x86_64.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'Stack' +version = '3.1.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 = ['d096125ea3d987a55d17f7d4f8599ee2fd96bd2d0f033566e28ddfe248f730f9'] + +modextrapaths = {'PATH': ''} + +sanity_check_paths = { + 'files': ['stack'], + 'dirs': ['doc'], +} + +sanity_check_commands = ['stack --help'] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb new file mode 100644 index 00000000000..07913a44d42 --- /dev/null +++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.53-iccifort-2019.5.281.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Stacks' +version = '2.53' + +homepage = 'https://catchenlab.life.illinois.edu/stacks' +description = """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on + the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, + for the purpose of building genetic maps and conducting population genomics and phylogeography. +""" + +toolchain = {'name': 'iccifort', 'version': '2019.5.281'} + +source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ee1efceaeeeb7a39f0c2e804ad7c0a003094db28c9101120c38ddb02846e90fd'] + +builddependencies = [('binutils', '2.32')] + +dependencies = [('zlib', '1.2.11')] + +sanity_check_paths = { + 'files': ['bin/clone_filter', 'bin/cstacks', 'bin/gstacks', 'bin/kmer_filter', 'bin/phasedstacks', + 'bin/populations', 'bin/process_radtags', 'bin/process_shortreads', 'bin/sstacks', + 'bin/tsv2bam', 'bin/ustacks'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb new file mode 100644 index 00000000000..9f30e27f06f --- /dev/null +++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Stacks' +version = '2.62' + +homepage = 'https://catchenlab.life.illinois.edu/stacks/' +description = """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on + the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, + for the purpose of building genetic maps and conducting population genomics and phylogeography. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eee85054b0bf0043c03d4766dfebc00682301b8ba1372fc49e08ecad98d3d13b'] + +dependencies = [ + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['bin/clone_filter', 'bin/cstacks', 'bin/gstacks', 'bin/kmer_filter', 'bin/phasedstacks', + 'bin/populations', 'bin/process_radtags', 'bin/process_shortreads', 'bin/sstacks', + 'bin/tsv2bam', 'bin/ustacks'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Stata/Stata-17.eb b/easybuild/easyconfigs/s/Stata/Stata-17.eb new file mode 100644 index 00000000000..333ae2fc7bb --- /dev/null +++ b/easybuild/easyconfigs/s/Stata/Stata-17.eb @@ -0,0 +1,44 @@ +name = 'Stata' +version = '17' + +homepage = 'https://www.stata.com/' +description = """Stata is a complete, integrated statistical software package that provides everything you need + for data analysis, data management, and graphics.""" + +toolchain = SYSTEM + +# Requires license to access source files +# See also https://www.stata.com/support/faqs/unix/install-download-on-linux/ +# You can download the source tarball from: https://download.stata.com/download/ +# Once the installation with EB completes, you **must** generate the licence file +# by executing the script "stinit" from the root of the installation directory. + +sources = ['Stata%(version)sLinux64.tar.gz'] +checksums = [ + # the source tarball of Stata seems to change over time without any version change + # so far, these 3 checksum have been reported + ('ac5d49ff27544f801defa27e996d6c6770e94a01ec248bec3021b30ae2b91c45', + '744314cdac7ba7316c82dccebe7c7de8f7fab68841d8fa7de13f8eb4472e6015', + 'e7bea3d827db2957e5ea67bf3d6747a56f656bb08f40b148ed726ab700cd8ce3'), +] + +dependencies = [ + ('ncurses', '5.9'), + ('zlib', '1.2.11'), +] + +# Optional: requirements for xstata +osdependencies = [('xorg', 'xorg-x11', 'xorg-x11-apps', 'xorg-x11-server-Xorg')] +dependencies.append( + ('libpng', '1.5.30'), # default libpng in Centos 7 +) + +# Bindings +modextrapaths = { + 'PYTHONPATH': ['utilities'], + 'CLASSPATH': ['utilities/jar'], +} + +sanity_check_commands = ['stata -h'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb b/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb new file mode 100644 index 00000000000..76cac1f47a8 --- /dev/null +++ b/easybuild/easyconfigs/s/Strainberry/Strainberry-1.1-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'Tarball' + +name = 'Strainberry' +version = '1.1' + +homepage = 'https://github.com/rvicedomini/strainberry' +description = """Strainberry is a method that performs strain separation in low-complexity +metagenomes using error-prone long-read technologies. It exploits +state-of-the-art tools for variant calling, haplotype phasing, and genome +assembly, in order to achieve single-sample assembly of strains with higher +quality than other state-of-the-art long-read assemblers.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'rvicedomini' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['205829c75165653dc67d632cc1b48284b525452348af5ad8108de17e264b587b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Longshot', '0.4.5'), + ('minimap2', '2.24'), + ('MUMmer', '4.0.0rc1'), + ('networkx', '2.8.4'), + ('pygraphviz', '1.10'), + ('Pysam', '0.19.1'), + ('PyVCF3', '1.0.3'), + ('SAMtools', '1.16.1'), + ('wtdbg2', '2.5'), +] + +sanity_check_paths = { + 'files': ['strainberry'], + 'dirs': ['sberry'], +} + +sanity_check_commands = [ + "strainberry --help", + # Quick test that completes in a few minutes + ("cd %(builddir)s/%(namelower)s-%(version)s/example && " + "strainberry -r assembly.fasta -b alignment.sorted.bam -o sberry_out -c %(parallel)s"), +] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-1.3.5-GCCcore-8.2.0.eb b/easybuild/easyconfigs/s/StringTie/StringTie-1.3.5-GCCcore-8.2.0.eb index 9721dbb7e51..b360d49ed19 100644 --- a/easybuild/easyconfigs/s/StringTie/StringTie-1.3.5-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/s/StringTie/StringTie-1.3.5-GCCcore-8.2.0.eb @@ -14,7 +14,7 @@ source_urls = ['http://ccb.jhu.edu/software/%(namelower)s/dl/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['f16ec07d4869b7656bc1a9b6eb662fd9404c122d18431c845e93d810840c5db9'] -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] dependencies = [ ('zlib', '1.2.11'), diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-2.1.7-GCC-10.3.0.eb b/easybuild/easyconfigs/s/StringTie/StringTie-2.1.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..1343bdd7d03 --- /dev/null +++ b/easybuild/easyconfigs/s/StringTie/StringTie-2.1.7-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'StringTie' +version = '2.1.7' + +homepage = 'https://ccb.jhu.edu/software/stringtie/' +description = 'StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c75f3ba616e710c502c4550c5a0edf189a95a6916b52658a265b511e0d29496c'] + +dependencies = [ + ('zlib', '1.2.11'), +] + +# the test script downloads some test data from the internet +buildopts = 'release && ./run_tests.sh' + +files_to_copy = [ + (['%(namelower)s', 'prepDE.py'], 'bin'), + 'README.md', + 'LICENSE' +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..e5106af9959 --- /dev/null +++ b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,50 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'StringTie' +version = '2.2.1' +versionsuffix = "-Python-%(pyver)s" + +homepage = 'https://ccb.jhu.edu/software/stringtie/' +description = 'StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ce4eec532bbbe39af462be844afa6395ab38fa3418ef5fc2431e2d6194129527'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libdeflate', '1.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('HTSlib', '1.14'), + ('Python', '2.7.18'), +] + +local_libs = 'HTSLIB="$EBROOTHTSLIB/lib" LIBS="-lhts -lbz2 -llzma -ldeflate -lz $LIBS"' +buildopts = 'release ' + local_libs + +# the test script downloads some test data from the internet +runtest = 'test' +testopts = local_libs + +files_to_copy = [ + (['%(namelower)s', 'prepDE.py3'], 'bin'), + 'README.md', + 'LICENSE' +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help', 'prepDE.py3 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0.eb b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..abf4cac8ebf --- /dev/null +++ b/easybuild/easyconfigs/s/StringTie/StringTie-2.2.1-GCC-11.2.0.eb @@ -0,0 +1,49 @@ +# 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 + +easyblock = 'MakeCp' + +name = 'StringTie' +version = '2.2.1' + +homepage = 'https://ccb.jhu.edu/software/stringtie/' +description = 'StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/gpertea/%(namelower)s/releases/download/v%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ce4eec532bbbe39af462be844afa6395ab38fa3418ef5fc2431e2d6194129527'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('libdeflate', '1.8'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('HTSlib', '1.14'), + ('Python', '3.9.6'), +] + +local_libs = 'HTSLIB="$EBROOTHTSLIB/lib" LIBS="-lhts -lbz2 -llzma -ldeflate -lz $LIBS"' +buildopts = 'release ' + local_libs + +# the test script downloads some test data from the internet +runtest = 'test' +testopts = local_libs + +files_to_copy = [ + (['%(namelower)s', 'prepDE.py3'], 'bin'), + 'README.md', + 'LICENSE' +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help', 'prepDE.py3 --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-11.3.0.eb new file mode 100644 index 00000000000..24f272f449a --- /dev/null +++ b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-11.3.0.eb @@ -0,0 +1,41 @@ +## +# 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:: Custom +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'Structure' +version = '2.3.4' + +homepage = 'https://web.stanford.edu/group/pritchardlab/structure.html' +description = """The program structure is a free software package for using multi-locus genotype data to investigate + population structure.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v%(version)s/'] +sources = [{'download_filename': 'structure_kernel_source.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37'] + +# Add -fcommon to fix "multiple definition" errors +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +buildopts = 'all CC="$CC" OPT="$CFLAGS"' + +files_to_copy = [(['structure'], 'bin')] + +sanity_check_commands = [ + 'structure | grep "Version %(version)s"' +] + +sanity_check_paths = { + 'files': ['bin/structure'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..94412d6b87a --- /dev/null +++ b/easybuild/easyconfigs/s/Structure/Structure-2.3.4-GCC-12.2.0.eb @@ -0,0 +1,41 @@ +## +# 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:: Custom +# +# Notes:: +## + +easyblock = 'MakeCp' + +name = 'Structure' +version = '2.3.4' + +homepage = 'https://web.stanford.edu/group/pritchardlab/structure.html' +description = """The program structure is a free software package for using multi-locus genotype data to investigate + population structure.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://web.stanford.edu/group/pritchardlab/structure_software/release_versions/v%(version)s/'] +sources = [{'download_filename': 'structure_kernel_source.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f2b72b9189a514f53e921bbdc1aa3dbaca7ac34a8467af1f972c7e4fc9c0bb37'] + +# Add -fcommon to fix "multiple definition" errors +prebuildopts = 'export CFLAGS="$CFLAGS -fcommon" && ' +buildopts = 'all CC="$CC" OPT="$CFLAGS"' + +files_to_copy = [(['structure'], 'bin')] + +sanity_check_commands = [ + 'structure | grep "Version %(version)s"' +] + +sanity_check_paths = { + 'files': ['bin/structure'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Structure_threader/Structure_threader-1.3.10-foss-2022b.eb b/easybuild/easyconfigs/s/Structure_threader/Structure_threader-1.3.10-foss-2022b.eb new file mode 100644 index 00000000000..bdec08d7d4d --- /dev/null +++ b/easybuild/easyconfigs/s/Structure_threader/Structure_threader-1.3.10-foss-2022b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'Structure_threader' +version = '1.3.10' + +homepage = 'https://github.com/StuntsPT/Structure_threader' +description = """A program to parallelize the runs of Structure, + fastStructure, MavericK and ALStructure software.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('plotly.py', '5.13.1'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('colorlover', '0.3.0', { + 'checksums': ['b8fb7246ab46e1f5e6715649453c1762e245a515de5ff2d2b4aab7a6e67fa4e2'], + }), + (name, version, { + 'modulename': '%(namelower)s', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['b4d7258e5be370a001f6715599cb60a07583e32b7a8c385b0c87874a669c38b8'], + }), +] + +sanity_check_paths = { + 'files': ['bin/structure_threader'], + 'dirs': [], +} + +sanity_check_commands = ["structure_threader --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SuAVE-biomat/SuAVE-biomat-2.0.0-20230815-intel-2023a.eb b/easybuild/easyconfigs/s/SuAVE-biomat/SuAVE-biomat-2.0.0-20230815-intel-2023a.eb new file mode 100644 index 00000000000..5969ce2e506 --- /dev/null +++ b/easybuild/easyconfigs/s/SuAVE-biomat/SuAVE-biomat-2.0.0-20230815-intel-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'SuAVE-biomat' +version = '2.0.0-20230815' +local_commit = '8c1911b' + +homepage = 'https://github.com/SuAVE-Software/source_v2.0' +description = "Surface Assessment via Grid Evaluation (SuAVE) for Every Surface Curvature and Cavity Shape" + +toolchain = {'name': 'intel', 'version': '2023a'} + +source_urls = ['https://github.com/SuAVE-Software/source_v2.0/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['613fc1ac23f1b83304083128b03d199db28fb76187b834f614007cd537e6056f'] + +skipsteps = ['configure'] + +prebuildopts = 'sed -i "s/gfortran/${FC}/g" Makefile && ' +buildopts = 'FCFLAGS="${FCFLAGS}" ' + +installopts = "INSTALL_PATH=%(installdir)s/bin" + +local_bins = ['s_area', 's_bend', 's_count', 's_dens', 's_densph', 's_filter', 's_gauss', 's_grid', 's_gridsph', + 's_index', 's_inertia', 's_order', 's_shell', 's_spher', 's_stat', 's_thick', 's_topog'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins], + 'dirs': [], +} + +sanity_check_commands = ["%s -help" % x for x in local_bins] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.6.3-foss-2018b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.6.3-foss-2018b.eb index 96b1f09f0f9..05faabc5799 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.6.3-foss-2018b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.6.3-foss-2018b.eb @@ -6,7 +6,7 @@ easyblock = 'MakeCp' name = 'Subread' version = '1.6.3' -homepage = 'http://%(namelower)s.sourceforge.net/' +homepage = 'http://subread.sourceforge.net/' description = """High performance read alignment, quantification and mutation discovery""" toolchain = {'name': 'foss', 'version': '2018b'} diff --git a/easybuild/easyconfigs/s/Subread/Subread-1.6.4-foss-2018b.eb b/easybuild/easyconfigs/s/Subread/Subread-1.6.4-foss-2018b.eb index 4165d53a635..da971c3f6af 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-1.6.4-foss-2018b.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-1.6.4-foss-2018b.eb @@ -6,7 +6,7 @@ easyblock = 'MakeCp' name = 'Subread' version = '1.6.4' -homepage = 'http://%(namelower)s.sourceforge.net/' +homepage = 'http://subread.sourceforge.net/' description = """High performance read alignment, quantification and mutation discovery""" toolchain = {'name': 'foss', 'version': '2018b'} diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-7.3.0-2.30.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-7.3.0-2.30.eb index e3b70759204..fcfcd61caf9 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-7.3.0-2.30.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-7.3.0-2.30.eb @@ -6,7 +6,8 @@ easyblock = 'MakeCp' name = 'Subread' version = '2.0.0' -homepage = 'http://%(namelower)s.sourceforge.net/' +# HTTPS is not valid +homepage = 'http://subread.sourceforge.net/' description = """High performance read alignment, quantification and mutation discovery""" toolchain = {'name': 'GCC', 'version': '7.3.0-2.30'} diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-8.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-8.3.0.eb index 6e77ef33fdd..8d2db967a4d 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.0-GCC-8.3.0.eb @@ -7,7 +7,7 @@ name = 'Subread' version = '2.0.0' # HTTPS is not valid -homepage = 'http://%(namelower)s.sourceforge.net/' +homepage = 'http://subread.sourceforge.net/' description = """High performance read alignment, quantification and mutation discovery""" toolchain = {'name': 'GCC', 'version': '8.3.0'} diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.2-GCC-10.2.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.2-GCC-10.2.0.eb index 17cdbfec0d0..cb9042bbb72 100644 --- a/easybuild/easyconfigs/s/Subread/Subread-2.0.2-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.2-GCC-10.2.0.eb @@ -7,7 +7,7 @@ name = 'Subread' version = '2.0.2' # HTTPS is not valid -homepage = 'http://%(namelower)s.sourceforge.net/' +homepage = 'http://subread.sourceforge.net/' description = """High performance read alignment, quantification and mutation discovery""" toolchain = {'name': 'GCC', 'version': '10.2.0'} diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-10.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..80fb163f188 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-10.3.0.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.3' + +# HTTPS is not valid +homepage = 'http://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] + +checksums = ['56cef3a2f914d432713069d5c282f48831c3a1ecc89432ad5580caa322a5f56b'] + +start_dir = 'src' + +prebuildopts = "sed -i 's/-mtune=core2//g' Makefile.Linux && " +prebuildopts += "sed -i 's/-mtune=core2//g' longread-one/Makefile && " + +buildopts = " -f Makefile.Linux" + +files_to_copy = ['bin'] + +local_binaries_list = [ + 'exactSNP', 'featureCounts', 'subindel', 'subjunc', 'sublong', 'subread-align', 'subread-buildindex', +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_binaries_list], + 'dirs': ['bin/utilities'], +} + +sanity_check_commands = [ + 'cd %(builddir)s/%(namelower)s-%(version)s-source/test && bash test_all.sh' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..df58b302599 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-11.2.0.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.3' + +# HTTPS is not valid +homepage = 'http://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] + +checksums = ['56cef3a2f914d432713069d5c282f48831c3a1ecc89432ad5580caa322a5f56b'] + +start_dir = 'src' + +prebuildopts = "sed -i 's/-mtune=core2//g' Makefile.Linux && " +prebuildopts += "sed -i 's/-mtune=core2//g' longread-one/Makefile && " + +buildopts = " -f Makefile.Linux" + +files_to_copy = ['bin'] + +local_binaries_list = [ + 'exactSNP', 'featureCounts', 'subindel', 'subjunc', 'sublong', '%(namelower)s-align', '%(namelower)s-buildindex', +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_binaries_list], + 'dirs': ['bin/utilities'], +} + +sanity_check_commands = [ + 'cd %(builddir)s/%(namelower)s-%(version)s-source/test && bash test_all.sh' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-9.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-9.3.0.eb new file mode 100644 index 00000000000..a9ad4aecc98 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.3-GCC-9.3.0.eb @@ -0,0 +1,41 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.3' + +# HTTPS is not valid +homepage = 'http://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] + +checksums = ['56cef3a2f914d432713069d5c282f48831c3a1ecc89432ad5580caa322a5f56b'] + +start_dir = 'src' + +prebuildopts = "sed -i 's/-mtune=core2//g' Makefile.Linux && " +prebuildopts += "sed -i 's/-mtune=core2//g' longread-one/Makefile && " + +buildopts = " -f Makefile.Linux" + +files_to_copy = ['bin'] + +local_binaries_list = [ + 'exactSNP', 'featureCounts', 'subindel', 'subjunc', 'sublong', 'subread-align', 'subread-buildindex', +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_binaries_list], + 'dirs': ['bin/utilities'], +} + +sanity_check_commands = [ + 'cd %(builddir)s/%(namelower)s-%(version)s-source/test && bash test_all.sh' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb b/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb new file mode 100644 index 00000000000..27bc601b2e9 --- /dev/null +++ b/easybuild/easyconfigs/s/Subread/Subread-2.0.4-GCC-11.3.0.eb @@ -0,0 +1,39 @@ +# Author: Pavel Grochal (INUITS) +# License: GPLv2 + +easyblock = 'MakeCp' + +name = 'Subread' +version = '2.0.4' + +homepage = 'https://subread.sourceforge.net/' +description = """High performance read alignment, quantification and mutation discovery""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s-%(version)s-source.tar.gz'] +checksums = ['c54b37ed83b34318d8f119b5c02fb9d0a65c811195bcc9e1745df6daf74ca2db'] + +start_dir = 'src' + +prebuildopts = "sed -i 's/-mtune=core2//g' Makefile.Linux && " +prebuildopts += "sed -i 's/-mtune=core2//g' longread-one/Makefile && " + +buildopts = " -f Makefile.Linux" + +files_to_copy = ['bin'] + +local_binaries_list = [ + 'exactSNP', 'featureCounts', 'subindel', 'subjunc', 'sublong', '%(namelower)s-align', '%(namelower)s-buildindex', +] +sanity_check_paths = { + 'files': ['bin/%s' % f for f in local_binaries_list], + 'dirs': ['bin/utilities'], +} + +sanity_check_commands = [ + 'cd %(builddir)s/%(namelower)s-%(version)s-source/test && bash test_all.sh' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-foss-2017b.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-foss-2017b.eb index 309d66a48c7..cd483fdf31e 100644 --- a/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-foss-2017b.eb +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-foss-2017b.eb @@ -30,7 +30,7 @@ dependencies = [ ('Python', '2.7.14'), ('Perl', '5.26.1'), ('Ruby', '2.4.2'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('SWIG', '3.0.12', '-Python-%(pyver)s'), ] diff --git a/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-intel-2017b.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-intel-2017b.eb index 8d399be6349..ca96dc353d4 100644 --- a/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-intel-2017b.eb +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.10.0-intel-2017b.eb @@ -30,7 +30,7 @@ dependencies = [ ('Python', '2.7.14'), ('Perl', '5.26.1'), ('Ruby', '2.5.0'), - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('SWIG', '3.0.12', '-Python-%(pyver)s'), ] diff --git a/easybuild/easyconfigs/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..10196a0d9c9 --- /dev/null +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.14.1-GCCcore-11.2.0.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'Subversion' +version = '1.14.1' + +homepage = 'https://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://apache.belnet.be/%(namelower)s', + 'http://www.eu.apache.org/dist/%(namelower)s', + 'http://www.us.apache.org/dist/%(namelower)s', + 'https://archive.apache.org/dist/%(namelower)s', +] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Subversion-1.12.0-no_swig.patch'] +checksums = [ + '2c5da93c255d2e5569fa91d92457fdb65396b0666fad4fd59b22e154d986e1a9', # subversion-1.14.1.tar.bz2 + '539ea2118f958d152d78438c81649eb727ff0b2e8491295702ee98e1f922041f', # Subversion-1.12.0-no_swig.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('SQLite', '3.36'), + ('zlib', '1.2.11'), + ('lz4', '1.9.3'), + ('utf8proc', '2.6.1'), + ('Serf', '1.3.9'), +] + +preconfigopts = './autogen.sh && ' + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-lz4=$EBROOTLZ4 --with-serf=$EBROOTSERF" + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/Subversion/Subversion-1.14.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/Subversion/Subversion-1.14.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3ef09d2ffa2 --- /dev/null +++ b/easybuild/easyconfigs/s/Subversion/Subversion-1.14.2-GCCcore-11.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'Subversion' +version = '1.14.2' + +homepage = 'https://subversion.apache.org/' +description = " Subversion is an open source version control system." + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://apache.belnet.be/%(namelower)s', + 'http://www.eu.apache.org/dist/%(namelower)s', + 'http://www.us.apache.org/dist/%(namelower)s', + 'https://archive.apache.org/dist/%(namelower)s', +] +sources = [SOURCELOWER_TAR_BZ2] +patches = ['Subversion-1.12.0-no_swig.patch'] +checksums = [ + 'c9130e8d0b75728a66f0e7038fc77052e671830d785b5616aad53b4810d3cc28', # subversion-1.14.2.tar.bz2 + '539ea2118f958d152d78438c81649eb727ff0b2e8491295702ee98e1f922041f', # Subversion-1.12.0-no_swig.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('APR', '1.7.0'), + ('APR-util', '1.6.1'), + ('SQLite', '3.38.3'), + ('zlib', '1.2.12'), + ('lz4', '1.9.3'), + ('utf8proc', '2.7.0'), + ('Serf', '1.3.9'), + ('util-linux', '2.38'), +] + +preconfigopts = './autogen.sh && ' + +configopts = "--with-apr=$EBROOTAPR/bin/apr-1-config --with-apr-util=$EBROOTAPRMINUTIL/bin/apu-1-config " +configopts += "--with-zlib=$EBROOTZLIB --with-lz4=$EBROOTLZ4 --with-serf=$EBROOTSERF" + +sanity_check_paths = { + 'files': ["bin/svn", "bin/svnversion"], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021a-METIS-5.1.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021a-METIS-5.1.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..0b9443692f3 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021a-METIS-5.1.0-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s-CUDA-%%(cudaver)s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +# default CUDA compute capabilities to use (override via --cuda-compute-capabilities) +cuda_compute_capabilities = ['3.5', '5.0', '6.0', '7.0', '7.5', '8.0'] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021b-METIS-5.1.0.eb new file mode 100644 index 00000000000..210b19a24e0 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-foss-2021b-METIS-5.1.0.eb @@ -0,0 +1,29 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb new file mode 100644 index 00000000000..810a3aa16d0 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021a-METIS-5.1.0.eb @@ -0,0 +1,39 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'SuiteSparse_disable-qopt-report.patch', +] +checksums = [ + {'v5.10.1.tar.gz': 'acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'}, + {'SuiteSparse_disable-qopt-report.patch': 'f96bcd993f4dd90a70aedcb2901582ac99f449ac359b46a36190862a16aeb870'}, +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# The default way to do a parallel make won't work with the Makefiles for +# SuiteSparse, JOBS has to be set to the desired parallelism +parallel = 1 +prebuildopts += "export JOBS=4 && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb new file mode 100644 index 00000000000..ade731aac57 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.10.1-intel-2021b-METIS-5.1.0.eb @@ -0,0 +1,31 @@ +name = 'SuiteSparse' +version = '5.10.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['acb4d1045f48a237e70294b950153e48dce5b5f9ca8190e86c2b8c54ce00a7ee'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# disable optimisation report to reduce memory use during compile +prebuildopts += 'sed -i "s/-qopt-report=5/-qopt-report=0/" GraphBLAS/CMakeLists.txt && ' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022a-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022a-METIS-5.1.0.eb new file mode 100644 index 00000000000..8409675b853 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022a-METIS-5.1.0.eb @@ -0,0 +1,31 @@ +name = 'SuiteSparse' +version = '5.13.0' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# remove broken symlink +prebuildopts += "rm GraphBLAS/CUDA/test/graphblascuda_test && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022b-METIS-5.1.0.eb new file mode 100644 index 00000000000..5772cc65e75 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.13.0-foss-2022b-METIS-5.1.0.eb @@ -0,0 +1,31 @@ +name = 'SuiteSparse' +version = '5.13.0' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries to manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.2.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " +# remove broken symlink +prebuildopts += "rm GraphBLAS/CUDA/test/graphblascuda_test && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.8.1-intel-2020b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.8.1-intel-2020b-METIS-5.1.0.eb new file mode 100644 index 00000000000..d26467a833a --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-5.8.1-intel-2020b-METIS-5.1.0.eb @@ -0,0 +1,29 @@ +name = 'SuiteSparse' +version = '5.8.1' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries manipulate sparse matrices.""" + +toolchain = {'name': 'intel', 'version': '2020b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['06726e471fbaa55f792578f9b4ab282ea9d008cf39ddcc3b42b73400acddef40'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.1.0'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.1.0-foss-2023a.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.1.0-foss-2023a.eb new file mode 100644 index 00000000000..359a382e7ff --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.1.0-foss-2023a.eb @@ -0,0 +1,26 @@ +name = 'SuiteSparse' +version = '7.1.0' + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries to manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4cd3d161f9aa4f98ec5fa725ee5dc27bca960a3714a707a7d12b3d0abb504679'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('MPFR', '4.2.0'), +] + +# uncomment the next row if need customization +# cmake_options = '' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.7.0-foss-2023b-METIS-5.1.0.eb b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.7.0-foss-2023b-METIS-5.1.0.eb new file mode 100644 index 00000000000..260ca279304 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.7.0-foss-2023b-METIS-5.1.0.eb @@ -0,0 +1,29 @@ +name = 'SuiteSparse' +version = '7.7.0' +local_metis_ver = '5.1.0' +versionsuffix = '-METIS-%s' % local_metis_ver + +homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' +description = """SuiteSparse is a collection of libraries to manipulate sparse matrices.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'unroll': True, 'pic': True} + +source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['529b067f5d80981f45ddf6766627b8fc5af619822f068f342aab776e683df4f3'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('M4', '1.4.19'), +] + +dependencies = [ + ('METIS', local_metis_ver), + ('MPFR', '4.2.1'), +] + +# make sure that bin/demo can find libsuitesparseconfig.so.5 during build +prebuildopts = "export LD_LIBRARY_PATH=%(builddir)s/SuiteSparse-%(version)s/lib:$LD_LIBRARY_PATH && " + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch new file mode 100644 index 00000000000..db00fb87ea1 --- /dev/null +++ b/easybuild/easyconfigs/s/SuiteSparse/SuiteSparse_disable-qopt-report.patch @@ -0,0 +1,14 @@ +Compiling GraphBLAS with the intel toolchain consumes *a lot* of memory +because optimization reports are generated. This patch simply turns that off +to make the memory requirement for compilation more sensible. +--- GraphBLAS/CMakeLists.txt.orig 2023-03-17 14:46:24.533943000 +0100 ++++ GraphBLAS/CMakeLists.txt 2023-03-17 14:46:15.393912000 +0100 +@@ -198,7 +198,7 @@ + elseif ( "${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" ) + # options for icc: also needs -std=c11 + set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -diag-disable 10397,15552 " ) +- set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qopt-report=5 -qopt-report-phase=vec" ) ++ set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qopt-report=0 -qopt-report-phase=vec" ) + # the -mp1 option is important for predictable floating-point results with + # the icc compiler. Without, ((float) 1.)/((float) 0.) produces NaN, + # instead of the correct result, Inf. diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2020b.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2020b.eb new file mode 100644 index 00000000000..41d145da7ea --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2020b.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '5.3.0' + +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': '2020b'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350'] + +builddependencies = [('CMake', '3.18.4')] + +runtest = " test" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2021a.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2021a.eb new file mode 100644 index 00000000000..aeb5519f77e --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '5.3.0' + +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': '2021a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350'] + +builddependencies = [('CMake', '3.20.1')] + +runtest = " test" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2022a.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2022a.eb new file mode 100644 index 00000000000..dd4bf92289b --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '5.3.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350'] + +builddependencies = [('CMake', '3.23.1')] + +runtest = " test" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2020b.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2020b.eb new file mode 100644 index 00000000000..2328a049426 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2020b.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '5.3.0' + +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': 'intel', 'version': '2020b'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350'] + +builddependencies = [('CMake', '3.18.4')] + +runtest = " test" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2022a.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2022a.eb new file mode 100644 index 00000000000..fbc399aa456 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-5.3.0-intel-2022a.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '5.3.0' + +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': 'intel', 'version': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['3e464afa77335de200aeb739074a11e96d9bef6d0b519950cfa6684c4be1f350'] + +builddependencies = [('CMake', '3.23.1')] + +runtest = " test" + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/s/SuperLU/SuperLU-6.0.1-foss-2023b.eb b/easybuild/easyconfigs/s/SuperLU/SuperLU-6.0.1-foss-2023b.eb new file mode 100644 index 00000000000..fb80e7ab219 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU/SuperLU-6.0.1-foss-2023b.eb @@ -0,0 +1,21 @@ +name = 'SuperLU' +version = '6.0.1' + +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': '2023b'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['6c5a3a9a224cb2658e9da15a6034eed44e45f6963f5a771a6b4562f7afb8f549'] + +builddependencies = [('CMake', '3.27.6')] + +runtest = " test" + +moduleclass = 'numlib' 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 new file mode 100644 index 00000000000..39de229b710 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.0-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = "EB_SuperLU" + +name = 'SuperLU_DIST' +version = '8.1.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['9308844b99a7e762d5704934f7e9f79daf158b0bfc582994303c2e0b31518b34'] + +builddependencies = [('CMake', '3.23.1')] + +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/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.eb new file mode 100644 index 00000000000..a1b9096b3c3 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.1.2-foss-2022b.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': '2022b'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['7b16c442bb01ea8b298c0aab9a2584aa4615d09786aac968cb2f3118c058206b'] + +builddependencies = [('CMake', '3.24.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/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/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb new file mode 100644 index 00000000000..a113fb7ef50 --- /dev/null +++ b/easybuild/easyconfigs/s/SuperLU_DIST/SuperLU_DIST-8.2.1-foss-2023b.eb @@ -0,0 +1,44 @@ +easyblock = "EB_SuperLU" + +name = 'SuperLU_DIST' +version = '8.2.1' + +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': '2023b'} +toolchainopts = {'pic': True, 'openmp': True} + +github_account = 'xiaoyeli' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ["v%(version)s.tar.gz"] +checksums = ['b77d065cafa6bc1a1dcc15bf23fd854f54b05762b165badcffc195835ad2bddf'] + +builddependencies = [('CMake', '3.27.6')] + +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/SyRI/SyRI-1.4-foss-2021a.eb b/easybuild/easyconfigs/s/SyRI/SyRI-1.4-foss-2021a.eb new file mode 100644 index 00000000000..beb22407955 --- /dev/null +++ b/easybuild/easyconfigs/s/SyRI/SyRI-1.4-foss-2021a.eb @@ -0,0 +1,40 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'PythonPackage' + +name = 'SyRI' +version = '1.4' + +homepage = 'https://schneebergerlab.github.io/syri/' +description = "Synteny and Rearrangement Identifier (SyRI)." + +toolchain = {'name': 'foss', 'version': '2021a'} + +github_account = 'schneebergerlab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.4_install-scripts.patch'] +checksums = [ + '951bdf1fc978f8ae924422c570c0e75f1de4747fece61867ee2eecb9a43de6e1', # v1.4.tar.gz + '8e2990e97a44ae98882b69874494edc2a0c1dfbc725215013f6f35bc5a54da44', # SyRI-1.4_install-scripts.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('Biopython', '1.79'), + ('python-igraph', '0.9.6'), + ('Pysam', '0.16.0.1'), + # Optional, only required to use `chroder`: + ('longestrunsubsequence', '1.0.1'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +local_bins = ['chroder', 'plotsr', 'regAnno', 'syri'] +sanity_check_commands = ["%s --help" % x for x in local_bins] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/SyRI/SyRI-1.4_install-scripts.patch b/easybuild/easyconfigs/s/SyRI/SyRI-1.4_install-scripts.patch new file mode 100644 index 00000000000..d6dc696ea6c --- /dev/null +++ b/easybuild/easyconfigs/s/SyRI/SyRI-1.4_install-scripts.patch @@ -0,0 +1,11 @@ +Author: Jasper Grimm +Add `scripts` parameter to setup.py to ensure these are installed to the correct directory +diff -Nru syri-1.4.orig/setup.py syri-1.4/setup.py +--- syri-1.4.orig/setup.py 2021-08-23 11:37:57.000000000 +0100 ++++ syri-1.4/setup.py 2021-08-23 11:39:36.000000000 +0100 +@@ -19,4 +19,5 @@ + Extension('syri.findsv',['syri/pyxFiles/findsv.pyx']), + Extension('syri.writeout',['syri/pyxFiles/writeout.pyx'])]), + packages=["syri","syri.bin", "syri.bin.func"], ++ scripts=['syri/bin/%s' % x for x in ['chroder', 'chrrev.py', 'plotsr', 'regAnno', 'syri']], + include_dirs=[numpy.get_include()]) diff --git a/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb new file mode 100644 index 00000000000..5d98269ab47 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.11.0-gfbf-2023b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'SymEngine-python' +version = '0.11.0' + +homepage = 'https://github.com/symengine/symengine.py' +description = "Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library." + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('SymEngine', '0.11.2'), + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('symengine', version, { + 'checksums': ['0dd30d29b804ebb7251bddec29c38c3b1fc15ea6953a2c57ee758d5f6fcba458'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.7.2-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.7.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..8b401bfe906 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine-python/SymEngine-python-0.7.2-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'SymEngine-python' +version = '0.7.2' + +homepage = 'https://github.com/symengine/symengine.py' +description = "Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library." + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/symengine/symengine.py/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2147e4bc6b616482dc86f332c7009a6a39de0b66c8f4acebc9ad10b5415b4e53'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('SymEngine', '0.7.0'), + ('Python', '3.9.5'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'symengine'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb new file mode 100644 index 00000000000..50c96416354 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.11.2-gfbf-2023b.eb @@ -0,0 +1,38 @@ +easyblock = 'CMakeMake' + +name = 'SymEngine' +version = '0.11.2' + +homepage = 'https://github.com/symengine/symengine' +description = "SymEngine is a standalone fast C++ symbolic manipulation library" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +source_urls = ['https://github.com/symengine/symengine/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f6972acd6a65354f6414e69460d2e175729470632bdac05919bc2f7f32e48cbd'] + +builddependencies = [ + ('CMake', '3.27.6'), +] + +dependencies = [ + ('GMP', '6.3.0'), + ('FLINT', '3.1.1'), + ('MPC', '1.3.1'), + ('LLVM', '16.0.6'), + ('MPFR', '4.2.1'), +] + +local_opts = '-DWITH_OPENMP=ON -DWITH_SYMENGINE_RCP=ON -DWITH_COTIRE=OFF ' +local_opts += '-DWITH_MPFR=ON -DWITH_MPC=ON -DWITH_LLVM=ON -DWITH_BFD=ON -DWITH_FLINT=ON ' +configopts = [local_opts + '-DBUILD_SHARED_LIBS=OFF', local_opts + '-DBUILD_SHARED_LIBS=ON'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib64/libsymengine.a', 'lib64/libsymengine.%s' % SHLIB_EXT], + 'dirs': ['include/symengine/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SymEngine/SymEngine-0.7.0-GCC-10.3.0.eb b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.7.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..fc0fedead98 --- /dev/null +++ b/easybuild/easyconfigs/s/SymEngine/SymEngine-0.7.0-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'SymEngine' +version = '0.7.0' + +homepage = 'https://github.com/symengine/symengine' +description = "SymEngine is a standalone fast C++ symbolic manipulation library" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'cstd': 'c++17', 'vectorize': True} + +source_urls = ['https://github.com/symengine/symengine/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b865bb72b71539d9cd2488a0468c6c3ea90cc606062a7880c3ff5af6abd74b1'] + +builddependencies = [ + ('CMake', '3.20.1'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('MPC', '1.2.1'), + ('LLVM', '11.1.0'), + ('FLINT', '2.7.1'), +] + +local_opts = '-DWITH_OPENMP=ON -DWITH_SYMENGINE_RCP=ON -DWITH_COTIRE=OFF ' +local_opts += '-DWITH_MPFR=ON -DWITH_MPC=ON -DWITH_LLVM=ON -DWITH_BFD=ON -DWITH_FLINT=ON ' +configopts = [local_opts + '-DBUILD_SHARED_LIBS=OFF', local_opts + '-DBUILD_SHARED_LIBS=ON'] + +runtest = 'test' + +sanity_check_paths = { + 'files': ['lib64/libsymengine.a', 'lib64/libsymengine.%s' % SHLIB_EXT], + 'dirs': ['include/symengine/'] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1-GCCcore-5.4.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1-GCCcore-5.4.0.eb index d42e2e93387..b69c7feaf2e 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1-GCCcore-5.4.0.eb @@ -15,7 +15,7 @@ checksums = ['a816d95d5662e8279625abdbea7d0e62157d7d1f028020b1075500bf483ed5ef'] configopts = "--with-pic" -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ["lib/libsz.a", "lib/libsz.%s" % SHLIB_EXT] + diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.2.0.eb index 88e067c36e8..576e48c80b4 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.2.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.3.0.eb index 10b926a9b61..5cc6a339682 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-10.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..70a9918dc8e --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] + +builddependencies = [ + ('binutils', '2.37'), +] + +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/Szip/Szip-2.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..6d34fd7a476 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] + +builddependencies = [ + ('binutils', '2.38'), +] + +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/Szip/Szip-2.1.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e58b9c3ffef --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] + +builddependencies = [ + ('binutils', '2.39'), +] + +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/Szip/Szip-2.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee9fd884627 --- /dev/null +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'Szip' +version = '2.1.1' + +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' + +description = """ + Szip compression software, providing lossless compression of scientific data +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.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/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..5fcc21050e5 --- /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://support.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://support.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/Szip/Szip-2.1.1-GCCcore-6.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.3.0.eb index f614a665648..5cebe3f7c68 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'http://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '6.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['http://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.4.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.4.0.eb index 924f439ed4e..8edba3b1aa2 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-6.4.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'http://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['http://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-7.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-7.3.0.eb index 4b9a4923df9..a9926ab81d1 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-7.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'http://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '7.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['http://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.2.0.eb index 7f564c5a0fa..0d07710e238 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.2.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'http://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'http://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.2.0'} toolchainopts = {'pic': True} -source_urls = ['http://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['http://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.3.0.eb index 69db79f2d43..e522a3ac747 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-8.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '8.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] diff --git a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-9.3.0.eb index 242c281b919..822080c60fe 100644 --- a/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/s/Szip/Szip-2.1.1-GCCcore-9.3.0.eb @@ -3,7 +3,7 @@ easyblock = 'ConfigureMake' name = 'Szip' version = '2.1.1' -homepage = 'https://www.hdfgroup.org/doc_resource/SZIP/' +homepage = 'https://support.hdfgroup.org/doc_resource/SZIP/' description = """ Szip compression software, providing lossless compression of scientific data @@ -12,7 +12,7 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = ['https://www.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] +source_urls = ['https://support.hdfgroup.org/ftp/lib-external/szip/%(version)s/src'] sources = [SOURCELOWER_TAR_GZ] checksums = ['21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412'] 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/sPyRMSD/sPyRMSD-0.8.0-foss-2023a.eb b/easybuild/easyconfigs/s/sPyRMSD/sPyRMSD-0.8.0-foss-2023a.eb new file mode 100644 index 00000000000..3cff346fddb --- /dev/null +++ b/easybuild/easyconfigs/s/sPyRMSD/sPyRMSD-0.8.0-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'sPyRMSD' +version = '0.8.0' + +homepage = 'https://spyrmsd.readthedocs.io' +description = """ +sPyRMSD is a Python tool for symmetry-corrected RMSD calculations. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +# graph-tool is the default option, netwrokx and rustworkx are optional alternatives +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('graph-tool', '2.59'), + ('networkx', '3.1'), + ('rustworkx', '0.15.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('spyrmsd', version, { + 'checksums': ['401681c5338c06215321c7c3960ca28f22b575118478b7dec6f28b8823b58924'], + }), +] + +moduleclass = 'chem' 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/samblaster/samblaster-0.1.26-GCC-10.3.0.eb b/easybuild/easyconfigs/s/samblaster/samblaster-0.1.26-GCC-10.3.0.eb new file mode 100644 index 00000000000..16804ba93b3 --- /dev/null +++ b/easybuild/easyconfigs/s/samblaster/samblaster-0.1.26-GCC-10.3.0.eb @@ -0,0 +1,37 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org fizwit@github.com +easyblock = 'MakeCp' + +name = 'samblaster' +version = '0.1.26' + +description = """samblaster is a fast and flexible program for marking + duplicates in read-id grouped1 paired-end SAM files.""" + +homepage = 'https://github.com/GregoryFaust/samblaster' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/GregoryFaust/samblaster/archive/'] +sources = [{ + 'download_filename': 'v.%(version)s.zip', + 'filename': SOURCE_ZIP +}] +checksums = ['79ff6f8306482e73e04678424bf14b840d80561660bb59deac1b75ada2f330cf'] + +files_to_copy = [ + (["samblaster"], "bin/"), + 'README.md', + 'SAMBLASTER_Supplemental.pdf', + 'LICENSE.txt', +] + +sanity_check_paths = { + 'files': ['bin/samblaster', 'README.md'], + 'dirs': [] +} + +sanity_check_commands = ["samblaster --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/samblaster/samblaster-0.1.26-GCC-11.3.0.eb b/easybuild/easyconfigs/s/samblaster/samblaster-0.1.26-GCC-11.3.0.eb new file mode 100644 index 00000000000..e0c9cf711e6 --- /dev/null +++ b/easybuild/easyconfigs/s/samblaster/samblaster-0.1.26-GCC-11.3.0.eb @@ -0,0 +1,37 @@ +# easybuild easyconfig +# +# John Dey jfdey@fredhutch.org fizwit@github.com +easyblock = 'MakeCp' + +name = 'samblaster' +version = '0.1.26' + +description = """samblaster is a fast and flexible program for marking + duplicates in read-id grouped1 paired-end SAM files.""" + +homepage = 'https://github.com/GregoryFaust/samblaster' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/GregoryFaust/samblaster/archive/'] +sources = [{ + 'download_filename': 'v.%(version)s.zip', + 'filename': SOURCE_ZIP +}] +checksums = ['79ff6f8306482e73e04678424bf14b840d80561660bb59deac1b75ada2f330cf'] + +files_to_copy = [ + (["samblaster"], "bin/"), + 'README.md', + 'SAMBLASTER_Supplemental.pdf', + 'LICENSE.txt', +] + +sanity_check_paths = { + 'files': ['bin/samblaster', 'README.md'], + 'dirs': [] +} + +sanity_check_commands = ["samblaster --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..372ab575da8 --- /dev/null +++ b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-10.2.0.eb @@ -0,0 +1,30 @@ +# Author: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'samclip' +version = '0.4.0' + +homepage = 'https://github.com/tseemann/samclip' +description = """Filter SAM file for soft and hard clipped alignments.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8196b705b0319b168949f42818eb3a6bcf96119a24daa950fa0d908d3111d127'] + +dependencies = [('Perl', '5.32.0')] + +sanity_check_paths = { + 'files': [name], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ff7f93d50b4 --- /dev/null +++ b/easybuild/easyconfigs/s/samclip/samclip-0.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +# Author: Denis Kristak (INUITS) +# License: GPLv2 + +easyblock = 'Tarball' + +name = 'samclip' +version = '0.4.0' + +homepage = 'https://github.com/tseemann/samclip' +description = """Filter SAM file for soft and hard clipped alignments.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['8196b705b0319b168949f42818eb3a6bcf96119a24daa950fa0d908d3111d127'] + +dependencies = [('Perl', '5.34.0')] + +sanity_check_paths = { + 'files': [name], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/samplot/samplot-1.3.0-foss-2021b.eb b/easybuild/easyconfigs/s/samplot/samplot-1.3.0-foss-2021b.eb new file mode 100644 index 00000000000..29f17027c05 --- /dev/null +++ b/easybuild/easyconfigs/s/samplot/samplot-1.3.0-foss-2021b.eb @@ -0,0 +1,46 @@ +# This easyconfig was written by the HPC team at Agriculture Victoria Research +# http://agriculture.vic.gov.au/agriculture/innovation-and-research +# +# Author: Ben Moran +easyblock = 'PythonBundle' + +name = 'samplot' +version = '1.3.0' + +homepage = 'https://github.com/ryanlayer/samplot' +description = """ + Plot structural variant signals from many BAMs and CRAMs. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'ryanlayer' + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('Pysam', '0.17.0'), +] + +use_pip = True + +exts_list = [ + ('wget', '3.2', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['35e630eca2aa50ce998b9b1a127bb26b30dfee573702782aa982f875e3f16061'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': [GITHUB_SOURCE], + 'checksums': ['c004ee228ec238b919e644218bcf671b072dd4c7b6c6564a8a8b6912168fc00e'], + }), +] + +sanity_check_paths = { + 'files': ['bin/samplot'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.0.2-Java-1.8.0_152.eb b/easybuild/easyconfigs/s/sbt/sbt-1.0.2-Java-1.8.0_152.eb index 09e6c9dafd7..8fa744e8aee 100644 --- a/easybuild/easyconfigs/s/sbt/sbt-1.0.2-Java-1.8.0_152.eb +++ b/easybuild/easyconfigs/s/sbt/sbt-1.0.2-Java-1.8.0_152.eb @@ -13,7 +13,7 @@ source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] sources = [SOURCE_TGZ] checksums = ['c3f063d8122d87f0d80b25221d76b0a164e9247d35190f31ec360edcb4352ef0'] -dependencies = [('Java', '1.8.0_152', '', True)] +dependencies = [('Java', '1.8.0_152', '', SYSTEM)] sanity_check_paths = { 'files': ['bin/sbt'], diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb b/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb new file mode 100644 index 00000000000..8c7a7d40219 --- /dev/null +++ b/easybuild/easyconfigs/s/sbt/sbt-1.3.13-Java-8.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'sbt' +version = '1.3.13' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.scala-sbt.org/' +description = "sbt is a build tool for Scala, Java, and more." + +toolchain = SYSTEM + +source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] +sources = [SOURCE_TGZ] +checksums = ['854154de27a7d8c13b5a0f9a297cd1f254cc13b44588dae507e5d4fb2741bd22'] + +dependencies = [('Java', '8')] + +sanity_check_paths = { + 'files': ['bin/sbt'], + 'dirs': [], +} + +sanity_check_commands = ["sbt --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb new file mode 100644 index 00000000000..b873f927a57 --- /dev/null +++ b/easybuild/easyconfigs/s/sbt/sbt-1.6.2-Java-8.eb @@ -0,0 +1,25 @@ +easyblock = 'Tarball' + +name = 'sbt' +version = '1.6.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.scala-sbt.org/' +description = "sbt is a build tool for Scala, Java, and more." + +toolchain = SYSTEM + +source_urls = ['https://github.com/sbt/sbt/releases/download/v%(version)s'] +sources = [SOURCE_TGZ] +checksums = ['637637b6c4e6fa04ab62cd364061e32b12480b09001cd23303df62b36fadd440'] + +dependencies = [('Java', '8')] + +sanity_check_paths = { + 'files': ['bin/sbt'], + 'dirs': [], +} + +sanity_check_commands = ["sbt --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..12280551fa5 --- /dev/null +++ b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'scArches' +version = '0.5.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/theislab/scarches' +description = """Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell + data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('leidenalg', '0.8.7'), + ('scanpy', '1.8.1'), + ('scikit-learn', '0.24.2'), + ('scvi-tools', '0.16.4', versionsuffix), + ('PyTorch', '1.10.0', versionsuffix), + ('tqdm', '4.61.2'), + ('BeautifulSoup', '4.10.0'), + ('loompy', '3.0.7'), +] + +use_pip = True + +exts_list = [ + ('gdown', '4.6.0', { + 'checksums': ['5ce3db0aeda54f46caacb2df86f31c3e3ecd17c355689e6456d85fb528ba9749'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('muon', '0.1.2', { + 'sources': [SOURCE_PY3_WHL], + 'checksums': ['61e0290b113f85177b7596e57aa01552c07700716fac3b8267506fc8a6881dba'], + }), + ('newick', '1.4.0', { + 'checksums': ['0d76ff2fbd180ea790ba177557bf8fbdc56fc166cbe5b31a38113ead8147cf6d'], + }), + ('scHPL', '1.0.2', { + 'checksums': ['a4119fb503e5bfed6fb3e5424cf166d9b1d8822ca0d7fe88d7125807e6da118b'], + 'preinstallopts': "sed -i 's/~=/>=/g' setup.py && ", + 'modulename': 'scHPL', + }), + (name, version, { + 'checksums': ['87b5aa89676b37f65f076631faf3033515cc8380dfad076699410628a1838116'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb new file mode 100644 index 00000000000..82342e4330f --- /dev/null +++ b/easybuild/easyconfigs/s/scArches/scArches-0.5.6-foss-2021a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'scArches' +version = '0.5.6' + +homepage = 'https://github.com/theislab/scarches' +description = """Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell + data.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('leidenalg', '0.8.7'), + ('scanpy', '1.8.1'), + ('scikit-learn', '0.24.2'), + ('scvi-tools', '0.16.4'), + ('PyTorch', '1.10.0'), + ('tqdm', '4.61.2'), + ('BeautifulSoup', '4.10.0'), + ('loompy', '3.0.7'), +] + +use_pip = True + +exts_list = [ + ('gdown', '4.6.0', { + 'checksums': ['5ce3db0aeda54f46caacb2df86f31c3e3ecd17c355689e6456d85fb528ba9749'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), + ('muon', '0.1.2', { + 'sources': [SOURCE_PY3_WHL], + 'checksums': ['61e0290b113f85177b7596e57aa01552c07700716fac3b8267506fc8a6881dba'], + }), + ('newick', '1.4.0', { + 'checksums': ['0d76ff2fbd180ea790ba177557bf8fbdc56fc166cbe5b31a38113ead8147cf6d'], + }), + ('scHPL', '1.0.2', { + 'checksums': ['a4119fb503e5bfed6fb3e5424cf166d9b1d8822ca0d7fe88d7125807e6da118b'], + 'preinstallopts': "sed -i 's/~=/>=/g' setup.py && ", + 'modulename': 'scHPL', + }), + (name, version, { + 'checksums': ['87b5aa89676b37f65f076631faf3033515cc8380dfad076699410628a1838116'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..cb33b614f6f --- /dev/null +++ b/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'scArches' +version = '0.6.1' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://github.com/theislab/scarches' +description = """Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell + data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('matplotlib', '3.7.2'), + ('anndata', '0.10.5.post1'), + ('h5py', '3.9.0'), + ('leidenalg', '0.10.2'), + ('scanpy', '1.9.8'), + ('scikit-learn', '1.3.1'), + ('scvi-tools', '1.1.2', versionsuffix), + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('gdown', '5.1.0', { + 'checksums': ['550a72dc5ca2819fe4bcc15d80d05d7c98c0b90e57256254b77d0256b9df4683'], + }), + ('muon', '0.1.6', { + 'checksums': ['762feeb6f52f865cf79d0d0332cc742fe91c1885f668ce15794b62b3952b02f9'], + }), + ('newick', '1.9.0', { + 'checksums': ['9f81be96ec86aefca74d920fc0d6962d89a3156547003ca6915c2e6e31ad3ddf'], + }), + ('scHPL', '1.0.5', { + 'modulename': 'scHPL', + # unpin pandas and newick versions to be compatible with foss/2023a versions + 'preinstallopts': "sed -i 's/~=/>=/g' setup.py && sed -i 's/pandas>=1.1.2,<2/pandas/g' setup.py && ", + 'checksums': ['3eb62b2e65b1faba04b7bcb86f7bf6967a6301866a605551211b8f14fd27eced'], + }), + (name, version, { + 'checksums': ['187463c25781d5c5586c129ad137d96327a9f8604d530a696d5f568a9225d77c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a.eb b/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a.eb new file mode 100644 index 00000000000..bdcb1ab880c --- /dev/null +++ b/easybuild/easyconfigs/s/scArches/scArches-0.6.1-foss-2023a.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'scArches' +version = '0.6.1' + +homepage = 'https://github.com/theislab/scarches' +description = """Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell + data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('matplotlib', '3.7.2'), + ('anndata', '0.10.5.post1'), + ('h5py', '3.9.0'), + ('leidenalg', '0.10.2'), + ('scanpy', '1.9.8'), + ('scikit-learn', '1.3.1'), + ('scvi-tools', '1.1.2'), + ('PyTorch', '2.1.2'), + ('tqdm', '4.66.1'), +] + +use_pip = True + +exts_list = [ + ('gdown', '5.1.0', { + 'checksums': ['550a72dc5ca2819fe4bcc15d80d05d7c98c0b90e57256254b77d0256b9df4683'], + }), + ('muon', '0.1.6', { + 'checksums': ['762feeb6f52f865cf79d0d0332cc742fe91c1885f668ce15794b62b3952b02f9'], + }), + ('newick', '1.9.0', { + 'checksums': ['9f81be96ec86aefca74d920fc0d6962d89a3156547003ca6915c2e6e31ad3ddf'], + }), + ('scHPL', '1.0.5', { + 'modulename': 'scHPL', + # unpin pandas and newick versions to be compatible with foss/2023a versions + 'preinstallopts': "sed -i 's/~=/>=/g' setup.py && sed -i 's/pandas>=1.1.2,<2/pandas/g' setup.py && ", + 'checksums': ['3eb62b2e65b1faba04b7bcb86f7bf6967a6301866a605551211b8f14fd27eced'], + }), + (name, version, { + 'checksums': ['187463c25781d5c5586c129ad137d96327a9f8604d530a696d5f568a9225d77c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2021a.eb b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2021a.eb new file mode 100644 index 00000000000..8109d113cb5 --- /dev/null +++ b/easybuild/easyconfigs/s/scCODA/scCODA-0.1.9-foss-2021a.eb @@ -0,0 +1,36 @@ +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('TensorFlow', '2.6.0'), + ('tensorflow-probability', '0.14.0'), + ('scanpy', '1.8.1'), + ('scikit-bio', '0.5.7'), + ('rpy2', '3.4.5'), + ('ArviZ', '0.12.1'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['786692a5ca546985583784179a6b2d535a54b37b30892fb9e264c5e854585dac'], + # strip out too strict version requirements for Python packages required as dependencies + 'preinstallopts': "sed -i 's/>=[0-9.]*//g' setup.py && ", + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' 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..6869c22fa57 --- /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.6.0'), + ('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/scCustomize/scCustomize-2.1.2-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/s/scCustomize/scCustomize-2.1.2-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..2f94ec91206 --- /dev/null +++ b/easybuild/easyconfigs/s/scCustomize/scCustomize-2.1.2-foss-2023a-R-4.3.2.eb @@ -0,0 +1,65 @@ +easyblock = 'Bundle' + +name = 'scCustomize' +version = '2.1.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/scCustomize/index.html' +description = """ +Collection of functions created and/or curated to aid in the visualization and analysis of single-cell data using 'R'. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + # Seurat has its own module, but is either in R-bundle-Bioconductor + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +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 + ], + 'sources': ['%(name)s_%(version)s.tar.gz'], +} + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('rlang', '1.1.3', { + 'checksums': ['24a3424b5dc2c4bd3e5f7c0b54fbe1355028e329181b2d41f4464c8ade28bf0a'], + }), + ('prismatic', '1.1.2', { + 'checksums': ['babf5b7ad4c9b52921c619de66f93936755dc385b2b69c6504d87c7d5a71e261'], + }), + ('paletteer', '1.6.0', { + 'checksums': ['b5de20300c93df203ddc4f3bfeb0a825ef2745c22d66590b33cef9e7448d92d8'], + }), + ('snakecase', '0.11.1', { + 'checksums': ['2a5f9791337ca42e392f23fb873eb44f74810583e9aa7c62fda2f28f9e750821'], + }), + ('janitor', '2.2.0', { + 'checksums': ['29d5d0185e4e824bb38f905b158162a12f52dc01c2e8a487fc730ce46bf6baae'], + }), + ('ggprism', '1.0.5', { + 'checksums': ['7f35eeb010ef3cb47f23cb23b0b084156c56af02cff534c217652ea38cdb5171'], + }), + (name, version, { + 'checksums': ['2b569a145fe6dd888ac72ced424352b100b7acc913d6027ddae7799ca4421094'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +sanity_check_commands = ['Rscript -e "library(%(name)s)"'] + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scFEA/scFEA-1.1-20221109-foss-2023a.eb b/easybuild/easyconfigs/s/scFEA/scFEA-1.1-20221109-foss-2023a.eb new file mode 100644 index 00000000000..3e1d6133015 --- /dev/null +++ b/easybuild/easyconfigs/s/scFEA/scFEA-1.1-20221109-foss-2023a.eb @@ -0,0 +1,32 @@ +easyblock = 'Tarball' + +name = 'scFEA' +local_commit = '4c1fb76' +version = '1.1-20221109' + +homepage = 'https://github.com/changwn/scFEA' +description = """scFEA: A graph neural network model to estimate cell-wise metabolic using single cell RNA-seq data""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/changwn/scFEA/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['79774974964fed427dd67ba1d51c202a5ff90418fd84f74ebd9b478113ff50f6'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), + ('PyTorch', '2.1.2'), + ('MAGIC', '3.0.0'), +] + +sanity_check_paths = { + 'files': ['src/scFEA.py'], + 'dirs': [], +} + +sanity_check_commands = ["python %(installdir)s/src/scFEA.py --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scGSVA/scGSVA-0.0.14-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/scGSVA/scGSVA-0.0.14-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..9815eac64bb --- /dev/null +++ b/easybuild/easyconfigs/s/scGSVA/scGSVA-0.0.14-foss-2022a-R-4.2.1.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'scGSVA' +version = '0.0.14' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/guokai8/scGSVA' +description = """ +scGSVA provides wrap functions to do GSVA analysis for single cell data. And scGSVA +includes functions to build annotation for almost all species. scGSVA also provides +function to generate figures based on the GSVA results. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://cran.r-project.org/src/contrib/Archive/%(name)s', + 'https://cran.r-project.org/src/contrib/', + 'https://cran.freestatistics.org/src/contrib', +] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), +] + +exts_defaultclass = 'RPackage' +exts_default_options = { + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'source_urls': source_urls, +} + +exts_list = [ + ('babelgene', '22.3', { + 'checksums': ['0f4a69bd472ce67682cb03e8186238bd3484fb9bbf185c6f291baa2d3481659c'], + }), + ('msigdbr', '7.5.1', { + 'checksums': ['dc30487bdf3594425ae9faec1ca0d7d0cd7278f4f177689133f92880e74acaca'], + }), + (name, version, { + 'source_urls': ['https://github.com/guokai8/scGSVA/archive/refs/tags/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['64a0795cdb6fcc0e8088f3327b2ec178b8610d097c38b16e7ed1efab7c839151'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scGeneFit/scGeneFit-1.0.2-foss-2021a.eb b/easybuild/easyconfigs/s/scGeneFit/scGeneFit-1.0.2-foss-2021a.eb new file mode 100644 index 00000000000..8348cb955c0 --- /dev/null +++ b/easybuild/easyconfigs/s/scGeneFit/scGeneFit-1.0.2-foss-2021a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'scGeneFit' +version = '1.0.2' + +homepage = 'https://github.com/solevillar/scGeneFit-python' +description = "Python code for genetic marker selection using linear programming." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['0912def5dfef0a5dbc8fce054acb7c7331c303f0b02f36007ff7b8b8da847132'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), +] + +download_dep_fail = True +use_pip = True + +# correct name is scikit-learn, see also https://pypi.org/project/sklearn +preinstallopts = "sed -i 's/sklearn/scikit-learn/g' setup.py && " + +options = {'modulename': name} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb b/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb new file mode 100644 index 00000000000..b1d424fe817 --- /dev/null +++ b/easybuild/easyconfigs/s/scHiCExplorer/scHiCExplorer-7-foss-2022a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'scHiCExplorer' +version = '7' + +homepage = 'https://schicexplorer.readthedocs.io' +description = """The scHiCExplorer is a software to demultiplex, process, correct, normalize, manipulate, analyse and +visualize single-cell Hi-C data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('HiCExplorer', '3.7.2'), + ('HiCMatrix', '17'), + ('cooler', '0.9.1'), + ('sparse-neighbors-search', '0.7'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/joachimwolff/scHiCExplorer/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['8ccc4bc40b7d4da055fcb98c5962500143cb72bf652de584bd69dd8419d1d8ab'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scPred/scPred-1.9.2-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/s/scPred/scPred-1.9.2-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..fdafa4dbe96 --- /dev/null +++ b/easybuild/easyconfigs/s/scPred/scPred-1.9.2-foss-2021b-R-4.1.2.eb @@ -0,0 +1,28 @@ +easyblock = 'RPackage' + +name = 'scPred' +version = '1.9.2' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/powellgenomicslab/scPred' +description = "scPred package for cell type prediction from scRNA-seq data " + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/powellgenomicslab/scPred/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4c92b4a0d4a94fbaf578cc547f05a3874a7a96fdb5c29f21c8c7d853d4b5e845'] + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', versionsuffix), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +options = {'modulename': name} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scVelo/scVelo-0.2.3-foss-2021a.eb b/easybuild/easyconfigs/s/scVelo/scVelo-0.2.3-foss-2021a.eb new file mode 100644 index 00000000000..9e1449eca87 --- /dev/null +++ b/easybuild/easyconfigs/s/scVelo/scVelo-0.2.3-foss-2021a.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'scVelo' +version = '0.2.3' + +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': '2021a'} + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('h5py', '3.2.1'), + ('matplotlib', '3.4.2'), + ('networkx', '2.5.1'), + ('numba', '0.53.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.12.2'), + ('libpng', '1.6.37'), + ('freetype', '2.10.4'), + ('Tkinter', '%(pyver)s'), + ('tqdm', '4.61.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('numpy-groupies', '0.9.13', { + 'modulename': 'numpy_groupies', + 'source_tmpl': 'numpy_groupies-%(version)s.tar.gz', + 'checksums': ['7b17b291322353f07c51598512d077e3731da0a048cfa8f738f3460d1ef0658d'], + }), + ('seaborn', '0.11.1', { + 'checksums': ['44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad'], + }), + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('get_version', '3.2', { + 'use_pip': False, + 'checksums': ['b01a7d84d60a4839d035375151ae03b9ee902baa503effb0cf8ccd6d4d79aa1d'], + }), + ('legacy-api-wrap', '1.2', { + 'use_pip': False, + 'checksums': ['034a44612da7e9943d3964363a98937ab54d55e3301075374abe0d521eb8101b'], + }), + ('loompy', '3.0.6', { + 'checksums': ['58e9763b8ab1af2a4a0e3805d120458b5184fd2b0f3031657ecce33c63ca4c46'], + }), + # anndata 0.7.6 needs xlrd<2.0 + ('xlrd', '1.2.0', { + 'checksums': ['546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2'], + }), + ('anndata', '0.7.6', { + 'checksums': ['a3cc67bba9a4cd4b5984aec64c4f577c2d5a4695f4064027f8e6a9dac1f508b2'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + ('scanpy', '1.8.1', { + 'checksums': ['1b8603a868d783bd6c18c8db763a450153feefc8daed862c440749790d47c654'], + }), + # scvelo 0.2.3 requires umap-learn<0.5,>=0.3.10 + ('umap-learn', '0.4.6', { + 'modulename': 'umap', + 'patches': ['umap-learn-0.4.6_numba.patch'], + 'checksums': [ + '4276da9a039c79fa5b4f8d3515a8ccaaccf11a2f59ce8d15baf9d2015a5e82b3', # umap-learn-0.4.6.tar.gz + '068573a9c422c4232223220cee527dc2580e6fcc6cc3f72f5fd7888319eb90d9', # umap-learn-0.53.1_numba.patch + ], + }), + (name, version, { + 'modulename': 'scvelo', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['5ec3fd5c2cae4d19bbe5a8afb50957c515cb75ff5455765aa0b652c95e7ea9de'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scVelo/scVelo-0.2.5-foss-2022a.eb b/easybuild/easyconfigs/s/scVelo/scVelo-0.2.5-foss-2022a.eb new file mode 100644 index 00000000000..5e7f3b40ba6 --- /dev/null +++ b/easybuild/easyconfigs/s/scVelo/scVelo-0.2.5-foss-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'scVelo' +version = '0.2.5' + +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': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), + ('matplotlib', '3.5.2'), + ('networkx', '2.8.4'), + ('numba', '0.56.4'), + ('PyTables', '3.8.0'), + ('statsmodels', '0.13.1'), + ('libpng', '1.6.37'), + ('freetype', '2.12.1'), + ('Tkinter', '%(pyver)s'), + ('tqdm', '4.64.0'), + ('scanpy', '1.9.1'), # also provides anndata + ('Seaborn', '0.12.1'), + ('loompy', '3.0.7'), # also provides numpy-groupies + ('umap-learn', '0.5.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'scvelo', + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['7e32d9e34245971330d69c12f4339cebe0acebb61e59a8b1aca9b369078b5207'], + }), +] + +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/scVelo/umap-learn-0.4.6_numba.patch b/easybuild/easyconfigs/s/scVelo/umap-learn-0.4.6_numba.patch new file mode 100644 index 00000000000..dc0ff3090c3 --- /dev/null +++ b/easybuild/easyconfigs/s/scVelo/umap-learn-0.4.6_numba.patch @@ -0,0 +1,17 @@ +# https://github.com/lmcinnes/umap/commit/1412b49fddf5c9b948fa57f40ba3973137578ac2 +# It seems like previous Numba versions (up to 0.51.2 or 0.52.0) may have +# worked 'by accident'. When running umap against a recent +# development version of Numba. +diff --git a/umap/layouts.py b/umap/layouts.py +index ebb9e8e2..c3d79fc7 100644 +--- a/umap/layouts.py ++++ b/umap/layouts.py +@@ -33,7 +33,7 @@ def clip(val): + locals={ + "result": numba.types.float32, + "diff": numba.types.float32, +- "dim": numba.types.int32, ++ "dim": numba.types.intp, + }, + ) + def rdist(x, y): diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2020b.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2020b.eb new file mode 100644 index 00000000000..bc44c5abc43 --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2020b.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.8.1' + +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': '2020b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('h5py', '3.1.0'), + ('networkx', '2.5'), + ('numba', '0.53.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.12.1'), + ('scikit-learn', '0.23.2'), + ('Seaborn', '0.11.1'), + ('tqdm', '4.56.2'), + ('leidenalg', '0.8.3'), +] + +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + ('anndata', '0.7.6', { + 'checksums': ['a3cc67bba9a4cd4b5984aec64c4f577c2d5a4695f4064027f8e6a9dac1f508b2'], + }), + ('pynndescent', '0.5.4', { + 'checksums': ['221124cbad8e3cf3ed421a4089d80ac5a29d3215e76cb49effc1df887533d2a8'], + }), + ('umap-learn', '0.5.1', { + 'modulename': 'umap', + 'checksums': ['3e3e5e526109866012a9da79f423c922edc379c6cac9bf65ea08fbb9dd93ff3a'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + (name, version, { + 'checksums': ['1b8603a868d783bd6c18c8db763a450153feefc8daed862c440749790d47c654'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2021a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2021a.eb new file mode 100644 index 00000000000..d6c2584f92e --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.1-foss-2021a.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.8.1' + +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': '2021a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('h5py', '3.2.1'), + ('networkx', '2.5.1'), + ('numba', '0.53.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.12.2'), + ('scikit-learn', '0.24.2'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.61.2'), + ('leidenalg', '0.8.7'), +] + +use_pip = True + +exts_list = [ + ('natsort', '7.1.1', { + 'checksums': ['00c603a42365830c4722a2eb7663a25919551217ec09a243d3399fa8dd4ac403'], + }), + # anndata 0.7.6 needs xlrd<2.0 + ('xlrd', '1.2.0', { + 'checksums': ['546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2'], + }), + ('anndata', '0.7.6', { + 'checksums': ['a3cc67bba9a4cd4b5984aec64c4f577c2d5a4695f4064027f8e6a9dac1f508b2'], + }), + ('pynndescent', '0.5.4', { + 'checksums': ['221124cbad8e3cf3ed421a4089d80ac5a29d3215e76cb49effc1df887533d2a8'], + }), + ('umap-learn', '0.5.1', { + 'modulename': 'umap', + 'checksums': ['3e3e5e526109866012a9da79f423c922edc379c6cac9bf65ea08fbb9dd93ff3a'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + (name, version, { + 'checksums': ['1b8603a868d783bd6c18c8db763a450153feefc8daed862c440749790d47c654'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.8.2-foss-2021b.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.2-foss-2021b.eb new file mode 100644 index 00000000000..278254f6aa8 --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.8.2-foss-2021b.eb @@ -0,0 +1,73 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.8.2' + +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': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('networkx', '2.6.3'), + ('numba', '0.54.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.62.3'), + ('leidenalg', '0.8.8'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.0.2', { + 'checksums': ['feb87e0ce1dc1f8f3f21e18a85216c790e746d76a5ff6889563394605f504a2b'], + }), + # anndata 0.7.8 needs xlrd<2.0 + ('xlrd', '1.2.0', { + 'checksums': ['546eb36cee8db40c3eaa46c351e67ffee6eeb5fa2650b71bc4c758a29a1b29b2'], + }), + ('anndata', '0.7.8', { + 'checksums': ['1efd7eb40839e0325bb066238280228a980d7dde6410793dbff2835f44a2d3ef'], + }), + ('pynndescent', '0.5.5', { + 'checksums': ['7a7df8412b19cfb3596060faf5a8c5d0bf5b3bd504f8efd900fc4e3918c6f882'], + }), + ('umap-learn', '0.5.2', { + 'modulename': 'umap', + 'checksums': ['0ede8921c3ef0e1976cdc91b533b2bce82471c87dbb9fad447f617ca5b881d52'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + (name, version, { + 'checksums': ['0c0baa6f08cec50b89b512cef3bfc7f612b215ce02c0fb49cc01c2acfbb2e9bb'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb new file mode 100644 index 00000000000..88ec508f776 --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2021b.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.9.1' + +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': '2021b'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('networkx', '2.6.3'), + ('numba', '0.54.1'), + ('PyTables', '3.6.1'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), + ('tqdm', '4.62.3'), + ('leidenalg', '0.8.8'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('pynndescent', '0.5.8', { + 'checksums': ['a7c552569bf604a101fd54bba1d27c12389e065945dee3a6777a518c63a46f2b'], + }), + ('umap-learn', '0.5.3', { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['00c9a83b649da7e0171c91e9a08cff632102faa760614fd05cd4d1dbba4eb541'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb new file mode 100644 index 00000000000..b9d1a3f9edb --- /dev/null +++ b/easybuild/easyconfigs/s/scanpy/scanpy-1.9.1-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'PythonBundle' + +name = 'scanpy' +version = '1.9.1' + +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': '2022a'} +toolchainopts = {'openmp': True} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('numba', '0.56.4'), + ('PyTables', '3.8.0'), + ('statsmodels', '0.13.1'), + ('scikit-learn', '1.1.2'), + ('Seaborn', '0.12.1'), + ('tqdm', '4.64.0'), + ('leidenalg', '0.9.1'), + ('umap-learn', '0.5.3'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('xlrd', '2.0.1', { + 'checksums': ['f72f148f54442c6b056bf931dbc34f986fd0c3b0b6b5a58d013c9aef274d0c88'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('stdlib-list', '0.8.0', { + 'checksums': ['a1e503719720d71e2ed70ed809b385c60cd3fb555ba7ec046b96360d30b16d9f'], + }), + ('sinfo', '0.3.4', { + 'checksums': ['81ea91c69a875de178e10bada9476d7300a1f712e1823dbd7714f43a10baba4d'], + }), + ('session_info', '1.0.0', { + 'checksums': ['3cda5e03cca703f32ae2eadbd6bd80b6c21442cfb60e412c21cb8ad6d5cbb6b7'], + }), + (name, version, { + 'checksums': ['00c9a83b649da7e0171c91e9a08cff632102faa760614fd05cd4d1dbba4eb541'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['natsort', 'scanpy']], + 'dirs': ['lib/python%(pyshortver)s/site-packages/'], +} + +sanity_check_commands = [ + "natsort --help", + "scanpy --help", +] + +moduleclass = 'bio' 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/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/s/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..b20476c22cc --- /dev/null +++ b/easybuild/easyconfigs/s/sceasy/sceasy-0.0.7-foss-2022a-R-4.2.1.eb @@ -0,0 +1,34 @@ +easyblock = 'RPackage' + +name = 'sceasy' +version = '0.0.7' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cellgeni/sceasy' +description = "sceasy is a package that helps easy conversion of different single-cell data formats to each other" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/cellgeni/sceasy/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['bc6a2dba2111067f3247ff1ee617cc85ab6c7d89950f7d8ca486a3e34b27f9d6'] + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('Seurat', '4.3.0', versionsuffix), + ('anndata', '0.8.0'), + ('loompy', '3.0.7'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +sanity_check_commands = [ + """echo "library(reticulate); reticulate::import('anndata');" | R -q --no-save""", + """echo "library(reticulate); reticulate::import('loompy');" | R -q --no-save""", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.3.3-foss-2021a.eb b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.3.3-foss-2021a.eb new file mode 100644 index 00000000000..664c85a989e --- /dev/null +++ b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.3.3-foss-2021a.eb @@ -0,0 +1,72 @@ +easyblock = 'PythonBundle' + +name = 'scib-metrics' +version = '0.3.3' + +homepage = 'https://scib-metrics.readthedocs.io' +description = "Accelerated and Python-only metrics for benchmarking single-cell integration outputs" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('jax', '0.3.9'), + ('scikit-learn', '0.24.2'), + ('anndata', '0.9.2'), + ('python-igraph', '0.9.6'), + ('scanpy', '1.8.1'), + ('tqdm', '4.61.2'), + ('dm-tree', '0.1.6'), +] + +use_pip = True + +# avoid hatchling requirement to install scib-metrics +local_preinstallopts_scib_metrics = """sed -i -e 's/^build-backend = .*/build-backend = "setuptools.build_meta"/g' """ +local_preinstallopts_scib_metrics += """-e 's/^requires = .*/requires = ["setuptools"]/g' """ +# strip out requirement for igraph (it's provided as dependency, but invisible to pip so 'pip check' fails) +local_preinstallopts_scib_metrics += "-e '/igraph/d' pyproject.toml && " + +exts_list = [ + # more recent setuptools required because scib-metrics uses pyproject.toml + ('setuptools', '68.1.2', { + 'checksums': ['3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('typing-extensions', '4.7.1', { + 'sources': ['typing_extensions-%(version)s.tar.gz'], + 'checksums': ['b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2'], + }), + ('chex', '0.1.6', { + 'checksums': ['adb5d2352b5f0d248ccf594be1b1bf9ee7a2bee2a57f0eac78547538d479b0e7'], + }), + ('plottable', '0.1.5', { + 'checksums': ['235d762a31c82129dc5bf74205c103a14b1e4393d0f921cc0231be5de884041d'], + }), + ('pynndescent', '0.5.10', { + 'checksums': ['5d5dc683c03ef55fe3ddf693859720ca18f85c6e6e5bb0b4f14870278d5288ad'], + }), + ('mdurl', '0.1.2', { + 'checksums': ['bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba'], + }), + ('markdown-it-py', '2.2.0', { + 'checksums': ['7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1'], + 'modulename': 'markdown_it', + }), + ('rich', '13.2.0', { + 'checksums': ['f1a00cdd3eebf999a15d85ec498bfe0b1a77efe9b34f645768a54132ef444ac5'], + }), + (name, version, { + 'sources': ['scib_metrics-%(version)s.tar.gz'], + 'checksums': ['2d33017a7455cc0c203ceb9403586859d5f1906255a0d5d5578c5fba5346d012'], + 'preinstallopts': local_preinstallopts_scib_metrics, + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..b021ceb3c20 --- /dev/null +++ b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'scib-metrics' +version = '0.5.1' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://scib-metrics.readthedocs.io' +description = "Accelerated and Python-only metrics for benchmarking single-cell integration outputs" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('jax', '0.4.25', versionsuffix), + ('scikit-learn', '1.3.1'), + ('scanpy', '1.9.8'), + ('python-igraph', '0.11.4'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), + ('umap-learn', '0.5.5'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('plottable', '0.1.5', { + 'checksums': ['235d762a31c82129dc5bf74205c103a14b1e4393d0f921cc0231be5de884041d'], + }), + ('pynndescent', '0.5.11', { + 'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('chex', '0.1.86', { + 'checksums': ['e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1'], + }), + (name, version, { + 'sources': ['scib_metrics-%(version)s.tar.gz'], + 'checksums': ['74d10251acf1c11402b994faf063e55317881d7950fb78f6cef011d232a1e266'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a.eb new file mode 100644 index 00000000000..68ef32b71ad --- /dev/null +++ b/easybuild/easyconfigs/s/scib-metrics/scib-metrics-0.5.1-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'scib-metrics' +version = '0.5.1' + +homepage = 'https://scib-metrics.readthedocs.io' +description = "Accelerated and Python-only metrics for benchmarking single-cell integration outputs" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), + ('poetry', '1.5.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('jax', '0.4.25'), + ('scikit-learn', '1.3.1'), + ('scanpy', '1.9.8'), + ('python-igraph', '0.11.4'), + ('matplotlib', '3.7.2'), + ('tqdm', '4.66.1'), + ('umap-learn', '0.5.5'), +] + +use_pip = True + +exts_list = [ + ('toolz', '0.12.1', { + 'checksums': ['ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d'], + }), + ('plottable', '0.1.5', { + 'checksums': ['235d762a31c82129dc5bf74205c103a14b1e4393d0f921cc0231be5de884041d'], + }), + ('pynndescent', '0.5.11', { + 'checksums': ['6f44ced9d5a9da2c87d9b2fff30bb5308540c0657605e4d5cde7ed3275bbad50'], + }), + ('rich', '13.7.1', { + 'checksums': ['9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432'], + }), + ('chex', '0.1.86', { + 'checksums': ['e8b0f96330eba4144659e1617c0f7a57b161e8cbb021e55c6d5056c7378091d1'], + }), + (name, version, { + 'sources': ['scib_metrics-%(version)s.tar.gz'], + 'checksums': ['74d10251acf1c11402b994faf063e55317881d7950fb78f6cef011d232a1e266'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb new file mode 100644 index 00000000000..89ba0e0c1c9 --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.1-foss-2022a.eb @@ -0,0 +1,39 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scib' +version = '1.1.1' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['84bcebe08c956b86d887ab60a3efaa783aa56113d523d953f6c4fff40f9dc58a'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Seaborn', '0.12.1'), + ('numba', '0.56.4'), + ('scanpy', '1.9.1'), + ('h5py', '3.7.0'), + ('scikit-learn', '1.1.2'), + ('scikit-misc', '0.1.4'), + ('leidenalg', '0.9.1'), + ('umap-learn', '0.5.3'), + ('pydot', '1.4.2'), + ('igraph', '0.10.3'), + ('python-igraph', '0.10.3'), + ('Deprecated', '1.2.13'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = "sed -i 's|igraph>=0.10|igraph>=0.9.8|g' setup.cfg && " +preinstallopts += "sed -i 's|louvain>=0.8||g' setup.cfg && " + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb b/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb new file mode 100644 index 00000000000..ffd4fc238c0 --- /dev/null +++ b/easybuild/easyconfigs/s/scib/scib-1.1.3-foss-2021a.eb @@ -0,0 +1,39 @@ +# author: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scib' +version = '1.1.3' + +homepage = 'https://github.com/theislab/scib' +description = "Benchmarking atlas-level data integration in single-cell genomics." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2b59d7c291e99bd508b91d73ff07fc4961fded37b06089e4f19fc5ee9cc4e3f3'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Seaborn', '0.11.2'), + ('numba', '0.53.1'), + ('scanpy', '1.8.1'), + ('h5py', '3.2.1'), + ('scikit-learn', '0.24.2'), + ('scikit-misc', '0.1.4'), + ('leidenalg', '0.8.7'), + ('umap-learn', '0.5.3'), + ('pydot', '1.4.2'), + ('igraph', '0.9.4'), + ('python-igraph', '0.9.6'), + ('Deprecated', '1.2.13'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +preinstallopts = "sed -i 's|igraph>=0.10|python-igraph>=0.9.6|g' setup.cfg && " +preinstallopts += "sed -i 's|louvain>=0.8||g' setup.cfg && " + +moduleclass = 'data' 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-allel/scikit-allel-1.3.3-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-allel/scikit-allel-1.3.3-foss-2021a.eb new file mode 100644 index 00000000000..74b4d66eabc --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-allel/scikit-allel-1.3.3-foss-2021a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonPackage" + +name = 'scikit-allel' +version = '1.3.3' + +homepage = 'https://scikit-allel.readthedocs.io/en/latest/' +description = """This package provides utilities for exploratory analysis of large scale genetic variation data. + It is based on numpy, scipy and other general-purpose Python scientific libraries.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['550c2a1d00953c3d5d54eb128faf38b52ebd7a8717c1a6dc8ec711cdcada8ded'] + +dependencies = [ + ('Python', '3.9.5'), + ('Seaborn', '0.11.2'), + ('h5py', '3.2.1'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('dask', '2021.9.1'), + # Disabled owing to build with newer Python + # Cf. https://github.com/Blosc/bcolz/issues/409 + # https://github.com/popsim-consortium/stdpopsim/issues/649 + # ('bcolz', '1.2.1'), + ('zarr', '2.10.1'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'allel'} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb new file mode 100644 index 00000000000..aeec62fa9dd --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2020b.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +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': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('scikit-learn', '0.23.2'), + ('IPython', '7.18.1'), + ('h5py', '3.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.1', { + 'checksums': ['7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021a.eb new file mode 100644 index 00000000000..a0f9491eb9e --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('scikit-learn', '0.24.2'), + ('IPython', '7.25.0'), + ('h5py', '3.2.1'), + ('Pillow', '8.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.5', { + 'checksums': ['c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c'], + }), + ('CacheControl', '0.12.14', { + 'checksums': ['d1087f45781c0e00616479bfd282c78504371ca71da017b49df9f5365a95feba'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.4.0', { + 'checksums': ['45312c4a0e5507593da193dedd04abb1469253b601ecaf63445ad80f0a1ea581'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021b.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021b.eb new file mode 100644 index 00000000000..bd2a4b2590b --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2021b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('matplotlib', '3.4.3'), + ('scikit-learn', '1.0.1'), + ('IPython', '7.26.0'), + ('h5py', '3.6.0'), + ('Pillow', '8.3.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.1', { + 'checksums': ['7033215267a0e9f60f4a5e4fb2228a932c404f237817caff8dc3115d9e7cd975'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb new file mode 100644 index 00000000000..1365615d43b --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.5.7-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.5.7' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('IPython', '8.5.0'), + ('h5py', '3.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('msgpack', '1.0.4', { + 'checksums': ['f5d869c18f030202eb412f08b28d2afeea553d6613aee89e200d7aca7ef01f5f'], + }), + ('CacheControl', '0.12.11', { + 'checksums': ['a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144'], + }), + ('hdmedians', '0.14.2', { + 'checksums': ['b47aecb16771e1ba0736557255d80ae0240b09156bff434321de559b359ac2d6'], + }), + ('lockfile', '0.12.2', { + 'checksums': ['6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799'], + }), + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + (name, version, { + 'modulename': 'skbio', + 'checksums': ['6343ca0c621e2fcc5d1c042c8be3200664c5325956a83bea751cf1bcc75d1da9'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb new file mode 100644 index 00000000000..472df30eee9 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-bio/scikit-bio-0.6.0-foss-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'scikit-bio' +version = '0.6.0' + +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'), + ('biom-format', '2.1.15'), +] + +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', + 'checksums': ['10105a7c3c15ae5910244927f29ba7aa35234b19ebe6513b8484547343b2c10f'], + }), +] + +sanity_check_commands = ['python -m skbio.test'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..57e6f53d4c0 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build-core' +version = '0.10.6' + +homepage = 'https://scikit-build.readthedocs.io/en/latest/' +description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of +modern packaging APIs. It provides a bridge between CMake and the Python build +system, allowing you to make Python modules with CMake.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Python-bundle-PyPI', '2024.06'), + ('CMake', '3.29.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scikit_build_core', version, { + 'checksums': ['5397db8f09ee050d145406c11deed06538bb0b261df95f8d2d6aaf8699f0126d'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..226560cd69c --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build-core' +version = '0.5.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest/' +description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of +modern packaging APIs. It provides a bridge between CMake and the Python build +system, allowing you to make Python modules with CMake.""" + +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'), + ('CMake', '3.26.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pyproject-metadata', '0.8.0', { + 'sources': ['pyproject_metadata-%(version)s.tar.gz'], + 'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'], + }), + ('scikit_build_core', version, { + 'checksums': ['a42a95029b34b5cf892855342d9b9445c774cb797fcb24c8fc4c2fb42b18dfca'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..691bd671f50 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-13.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build-core' +version = '0.9.3' + +homepage = 'https://scikit-build.readthedocs.io/en/latest/' +description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of +modern packaging APIs. It provides a bridge between CMake and the Python build +system, allowing you to make Python modules with CMake.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('CMake', '3.27.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('scikit_build_core', version, { + 'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.11.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.11.1-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..98a7716c214 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.11.1-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.11.1' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('distro', '1.6.0', { + 'checksums': ['83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424'], + }), + (name, version, { + 'modulename': 'skbuild', + 'checksums': ['da40dfd69b2456fad1349a894b90180b43712152b8a85d2a00f4ae2ce8ac9a5c'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.2.0.eb new file mode 100755 index 00000000000..459369823e8 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.15.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + (name, version, { + 'checksums': ['e723cd0f3489a042370b9ea988bbb9cfd7725e8b25b20ca1c7981821fcf65fb9'], + 'modulename': 'skbuild', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.3.0.eb new file mode 100755 index 00000000000..0449d47c021 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.15.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + (name, version, { + 'checksums': ['e723cd0f3489a042370b9ea988bbb9cfd7725e8b25b20ca1c7981821fcf65fb9'], + 'modulename': 'skbuild', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.2.0.eb new file mode 100755 index 00000000000..ff74dd0f5a7 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.15.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + (name, version, { + 'checksums': ['e723cd0f3489a042370b9ea988bbb9cfd7725e8b25b20ca1c7981821fcf65fb9'], + 'modulename': 'skbuild', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.3.0.eb new file mode 100755 index 00000000000..ccadbec9f0d --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.15.0-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.15.0' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('distro', '1.7.0', { + 'checksums': ['151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39'], + }), + (name, version, { + 'checksums': ['e723cd0f3489a042370b9ea988bbb9cfd7725e8b25b20ca1c7981821fcf65fb9'], + 'modulename': 'skbuild', + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ed4f8e89aff --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.2-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.17.2' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +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 = [ + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('scikit_build', version, { + 'modulename': 'skbuild', + 'checksums': ['348cfd2137c68cbf9fa589ed74fd07b0340a65a1888e2481cfc63356485188a6'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..624754a216d --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.17.6' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('scikit_build', version, { + 'modulename': 'skbuild', + 'checksums': ['b51a51a36b37c42650994b5047912f59b22e3210b23e321f287611f9ef6e5c9d'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d42d1fe3d0c --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.17.6' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('scikit_build', version, { + 'modulename': 'skbuild', + 'checksums': ['b51a51a36b37c42650994b5047912f59b22e3210b23e321f287611f9ef6e5c9d'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2d799810ee1 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-build/scikit-build-0.17.6-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'scikit-build' +version = '0.17.6' + +homepage = 'https://scikit-build.readthedocs.io/en/latest' +description = """Scikit-Build, or skbuild, is an improved build system generator +for CPython C/C++/Fortran/Cython extensions.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + (name, version, { + 'modulename': 'skbuild', + 'sources': ['scikit_build-%(version)s.tar.gz'], + 'checksums': ['b51a51a36b37c42650994b5047912f59b22e3210b23e321f287611f9ef6e5c9d'], + }), +] + +moduleclass = 'lib' 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-image/imread-0.7.1_fix-library-order.patch b/easybuild/easyconfigs/s/scikit-image/imread-0.7.1_fix-library-order.patch new file mode 100644 index 00000000000..a808fc95719 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/imread-0.7.1_fix-library-order.patch @@ -0,0 +1,15 @@ +fix linking order of libraries to fix: + ld: /software/LibTIFF/4.1.0-GCCcore-10.2.0/lib/libtiff.so:(*IND*+0x0): multiple definition of `_end' + ld: /software/LibTIFF/4.1.0-GCCcore-10.2.0/lib/libtiff.so:(*IND*+0x0): multiple definition of `__bss_start' +see also https://github.com/easybuilders/easybuild-easyconfigs/issues/14219 +--- imread-0.7.1/setup.py.orig 2022-02-25 17:30:06.726515267 +0100 ++++ imread-0.7.1/setup.py 2022-02-25 17:30:21.451056892 +0100 +@@ -77,7 +77,7 @@ + } + + +-libraries = ['png', 'jpeg', 'tiff'] ++libraries = ['png', 'tiff', 'jpeg'] + if sys.platform.startswith('win'): + libraries.append('zlib') + diff --git a/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch b/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch new file mode 100644 index 00000000000..859b24bb033 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/imread-0.7.4_shlibs_order.patch @@ -0,0 +1,14 @@ +description: adjusting order of dependent libraries in setup.py +issue: https://github.com/easybuilders/easybuild-easyconfigs/issues/14219 +author: Zdenek Matej, MAX IV Laboratory, Lund University +--- setup.py ++++ setup.py +@@ -77,7 +77,7 @@ + } + + +-libraries = ['png', 'jpeg', 'tiff'] ++libraries = ['png', 'tiff', 'jpeg'] + if sys.platform.startswith('win'): + libraries.append('zlib') + diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb index f4dbbf7f82f..0eeba49b72f 100644 --- a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.16.2-intel-2019b-Python-3.7.4.eb @@ -30,7 +30,11 @@ exts_list = [ 'checksums': ['f44eb231b9df485874f2ffd22dfd0c3c711e7de076516b9374edea5c65bc67ae'], }), ('imread', '0.7.1', { - 'checksums': ['c343b546ab54acdb50dbe69d6793d64ead3ba6d585022f5a7ad4687b7f3db79b'], + 'patches': ['imread-0.7.1_fix-library-order.patch'], + 'checksums': [ + 'c343b546ab54acdb50dbe69d6793d64ead3ba6d585022f5a7ad4687b7f3db79b', # imread-0.7.1.tar.gz + '0702321112ddcc1e6b98dc0a20eed8f93e5ee271304e2a6dc26d64ea83bddedf', # imread-0.7.1_fix-library-order.patch + ], }), (name, version, { 'modulename': 'skimage', diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb index d92ee21ee4e..e72dbff85f4 100644 --- a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intel-2020b.eb @@ -28,7 +28,11 @@ exts_list = [ 'checksums': ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'], }), ('imread', '0.7.4', { - 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + 'patches': ['imread-0.7.1_fix-library-order.patch'], + 'checksums': [ + '0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f', # imread-0.7.4.tar.gz + '0702321112ddcc1e6b98dc0a20eed8f93e5ee271304e2a6dc26d64ea83bddedf', # imread-0.7.1_fix-library-order.patch + ], }), ('pooch', '1.3.0', { 'checksums': ['30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898'], diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb new file mode 100644 index 00000000000..7b0b41a3f56 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.1-intelcuda-2020b.eb @@ -0,0 +1,52 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.18.1' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'intelcuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('Pillow', '8.0.1'), + ('networkx', '2.5'), + ('dask', '2021.2.0'), + ('PyWavelets', '1.1.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('imageio', '2.9.0', { + 'checksums': ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'], + }), + ('imread', '0.7.4', { + 'patches': ['imread-0.7.4_shlibs_order.patch'], + 'checksums': [ + '0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f', # imread-0.7.4.tar.gz + '887cca0c4d8161d16fc0637ff06716d99cb3fd90ba800c92b6fbe3709c142b16', # imread-0.7.4_shlibs_order.patch + ], + }), + ('pooch', '1.3.0', { + 'checksums': ['30d448e825904e2d763bbbe418831a788813c32f636b21c8d60ee5f474532898'], + }), + ('tifffile', '2021.2.1', { + 'checksums': ['6793787742e18cf2116bc65e17c51cd9c14cd27a4a6033a8ddd5bf801a637615'], + }), + (name, version, { + 'modulename': 'skimage', + 'patches': ['scikit-image-%(version)s_fix-README-cache-perms.patch'], + 'preinstallopts': "sed -i 's/-fopenmp//g' setup.py && ", + 'checksums': [ + 'fbb618ca911867bce45574c1639618cdfb5d94e207432b19bc19563d80d2f171', # scikit-image-0.18.1.tar.gz + # scikit-image-0.18.1_fix-README-cache-perms.patch + '3a941401231403808963d488aaf498a712c428c3b19a1752652be9972d82b7b8', + ], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.3-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.3-foss-2021a.eb new file mode 100644 index 00000000000..61fe62c0b2b --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.18.3-foss-2021a.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.18.3' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('matplotlib', '3.4.2'), + ('Pillow', '8.2.0'), + ('networkx', '2.5.1'), + ('dask', '2021.9.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.1.1', { + 'modulename': 'pywt', + 'checksums': ['1a64b40f6acb4ffbaccce0545d7fc641744f95351f62e4c6aaa40549326008c9'], + }), + ('imageio', '2.9.0', { + 'checksums': ['52ddbaeca2dccf53ba2d6dec5676ca7bc3b2403ef8b37f7da78b7654bb3e10f0'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('pooch', '1.5.2', { + 'checksums': ['5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581'], + }), + ('tifffile', '2021.10.12', { + 'checksums': ['0a78268a2d844af94929512d28b39bd1ea6fe46de4124103840b5fe4e1c555cd'], + }), + (name, version, { + 'modulename': 'skimage', + 'patches': ['scikit-image-0.18.1_fix-README-cache-perms.patch'], + 'checksums': [ + 'ecae99f93f4c5e9b1bf34959f4dc596c41f2f6b2fc407d9d9ddf85aebd3137ca', # scikit-image-0.18.3.tar.gz + # scikit-image-0.18.1_fix-README-cache-perms.patch + '3a941401231403808963d488aaf498a712c428c3b19a1752652be9972d82b7b8', + ], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.1-foss-2021b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.1-foss-2021b.eb new file mode 100644 index 00000000000..c19b434247b --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.1-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.19.1' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('matplotlib', '3.4.3'), + ('Pillow', '8.3.2'), + ('networkx', '2.6.3'), + ('dask', '2022.1.0'), + ('imageio', '2.13.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.2.0', { + 'modulename': 'pywt', + 'checksums': ['6cbd69b047bb4e00873097472133425f5f08a4e6bc8b3f0ae709274d4d5e9a8d'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('pooch', '1.5.2', { + 'checksums': ['5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581'], + }), + ('tifffile', '2021.11.2', { + 'checksums': ['153e31fa1d892f482fabb2ae9f2561fa429ee42d01a6f67e58cee13637d9285b'], + }), + (name, version, { + 'modulename': 'skimage', + 'checksums': ['48f00ee1e8ec2818ae6a152c72df15f4db7f566e839f5c34e1a0c3c9e5210138'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb new file mode 100644 index 00000000000..2cc7bce06b1 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.19.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.19.3' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.2'), + ('Pillow', '9.1.1'), + ('networkx', '2.8.4'), + ('dask', '2022.10.0'), + ('imageio', '2.22.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.4.1', { + 'modulename': 'pywt', + 'checksums': ['6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('pooch', '1.6.0', { + 'checksums': ['57d20ec4b10dd694d2b05bb64bc6b109c6e85a6c1405794ce87ed8b341ab3f44'], + }), + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + (name, version, { + 'modulename': 'skimage', + 'checksums': ['24b5367de1762da6ee126dd8f30cc4e7efda474e0d7d70685433f0e3aa2ec450'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.21.0-foss-2022b.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.21.0-foss-2022b.eb new file mode 100755 index 00000000000..75385f5f7b3 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.21.0-foss-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.21.0' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('meson-python', '0.11.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('Pillow', '9.4.0'), + ('networkx', '3.0'), + ('dask', '2023.7.1'), + ('imageio', '2.31.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.4.1', { + 'modulename': 'pywt', + 'checksums': ['6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('tifffile', '2023.7.18', { + 'checksums': ['5a5a624b2f7ab7f37e9ec4174ae2df1805b9658f89013f9b4b5550672f65f2a1'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + (name, version, { + 'modulename': 'skimage', + 'source_tmpl': 'scikit_image-%(version)s.tar.gz', + 'checksums': ['b33e823c54e6f11873ea390ee49ef832b82b9f70752c8759efd09d5a4e3d87f0'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-image/scikit-image-0.22.0-foss-2023a.eb b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.22.0-foss-2023a.eb new file mode 100644 index 00000000000..3a1e6311405 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-image/scikit-image-0.22.0-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'scikit-image' +version = '0.22.0' + +homepage = 'https://scikit-image.org/' +description = "scikit-image is a collection of algorithms for image processing." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('meson-python', '0.13.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('Pillow', '10.0.0'), + ('networkx', '3.1'), + ('dask', '2023.9.2'), + ('imageio', '2.33.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('PyWavelets', '1.4.1', { + 'modulename': 'pywt', + 'checksums': ['6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93'], + }), + ('imread', '0.7.4', { + 'checksums': ['0487adef11a22168700968c1727020361a72f6132b6ced2b8826b02d8cbf744f'], + }), + ('tifffile', '2023.7.18', { + 'checksums': ['5a5a624b2f7ab7f37e9ec4174ae2df1805b9658f89013f9b4b5550672f65f2a1'], + }), + ('lazy_loader', '0.3', { + 'checksums': ['3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37'], + }), + (name, version, { + 'modulename': 'skimage', + 'source_tmpl': 'scikit_image-%(version)s.tar.gz', + 'checksums': ['018d734df1d2da2719087d15f679d19285fce97cd37695103deadfaef2873236'], + }), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.3_fix-cd_fast.patch b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.3_fix-cd_fast.patch new file mode 100644 index 00000000000..46ddfdbb9e7 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.3_fix-cd_fast.patch @@ -0,0 +1,44 @@ +fix "error: type of formal parameter 1 is incomplete" +see also https://bugs.gentoo.org/630294 +--- scikit-learn-0.20.3.orig/sklearn/linear_model/cd_fast.c 2019-08-09 03:05:05.351926119 +0500 ++++ scikit-learn-0.20.3.orig/sklearn/linear_model/cd_fast.c 2019-08-09 03:05:35.022926006 +0500 +@@ -4889,7 +4889,7 @@ + + static PyObject *__pyx_pf_7sklearn_12linear_model_7cd_fast_8enet_coordinate_descent(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_w, float __pyx_v_alpha, float __pyx_v_beta, __Pyx_memviewslice __pyx_v_X, __Pyx_memviewslice __pyx_v_y, int __pyx_v_max_iter, float __pyx_v_tol, PyObject *__pyx_v_rng, int __pyx_v_random, int __pyx_v_positive) { + PyObject *__pyx_v_dtype = NULL; +- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int); ++ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int); + float (*__pyx_v_dot)(int, float *, int, float *, int); + void (*__pyx_v_axpy)(int, float, float *, int, float *, int); + float (*__pyx_v_asum)(int, float *, int); +@@ -6279,7 +6279,7 @@ + + static PyObject *__pyx_pf_7sklearn_12linear_model_7cd_fast_10enet_coordinate_descent(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_w, double __pyx_v_alpha, double __pyx_v_beta, __Pyx_memviewslice __pyx_v_X, __Pyx_memviewslice __pyx_v_y, int __pyx_v_max_iter, double __pyx_v_tol, PyObject *__pyx_v_rng, int __pyx_v_random, int __pyx_v_positive) { + PyObject *__pyx_v_dtype = NULL; +- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int); ++ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int); + double (*__pyx_v_dot)(int, double *, int, double *, int); + void (*__pyx_v_axpy)(int, double, double *, int, double *, int); + double (*__pyx_v_asum)(int, double *, int); +@@ -16246,8 +16246,8 @@ + CYTHON_UNUSED float (*__pyx_v_asum)(int, float *, int); + void (*__pyx_v_copy)(int, float *, int, float *, int); + void (*__pyx_v_scal)(int, float, float *, int); +- void (*__pyx_v_ger)(enum CBLAS_ORDER, int, int, float, float *, int, float *, int, float *, int); +- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int); ++ void (*__pyx_v_ger)(CBLAS_ORDER, int, int, float, float *, int, float *, int, float *, int); ++ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, float, float *, int, float *, int, float, float *, int); + unsigned int __pyx_v_n_samples; + unsigned int __pyx_v_n_features; + unsigned int __pyx_v_n_tasks; +@@ -17965,8 +17965,8 @@ + CYTHON_UNUSED double (*__pyx_v_asum)(int, double *, int); + void (*__pyx_v_copy)(int, double *, int, double *, int); + void (*__pyx_v_scal)(int, double, double *, int); +- void (*__pyx_v_ger)(enum CBLAS_ORDER, int, int, double, double *, int, double *, int, double *, int); +- void (*__pyx_v_gemv)(enum CBLAS_ORDER, enum CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int); ++ void (*__pyx_v_ger)(CBLAS_ORDER, int, int, double, double *, int, double *, int, double *, int); ++ void (*__pyx_v_gemv)(CBLAS_ORDER, CBLAS_TRANSPOSE, int, int, double, double *, int, double *, int, double, double *, int); + unsigned int __pyx_v_n_samples; + unsigned int __pyx_v_n_features; + unsigned int __pyx_v_n_tasks; diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.4-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.4-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..2e978bde2c2 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.20.4-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '0.20.4' +versionsuffix = '-Python-%(pyver)s' + +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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix) +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': ['scikit-learn-0.20.3_fix-cd_fast.patch'], + 'checksums': [ + {'scikit-learn-0.20.4.tar.gz': 'dfa8a3f33907614030cdfbc8b6f553dacbecaf09f922244f128af3060a137cfc'}, + {'scikit-learn-0.20.3_fix-cd_fast.patch': + '9a98785a99bde000a58048ccbe382ea362aa8cf644171097e8ae755cddddeb75'}, + ], + 'modulename': 'sklearn', + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.24.2-intel-2021a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.24.2-intel-2021a.eb new file mode 100644 index 00000000000..61bf289e16d --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-0.24.2-intel-2021a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'scikit-learn' +version = '0.24.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': 'intel', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d14701a12417930392cd3898e9646cf5670c190b933625ebe7511b1f7d7b8736'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'sklearn'} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-foss-2021b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-foss-2021b.eb new file mode 100644 index 00000000000..d3f7980867c --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.0.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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da'], + 'modulename': 'sklearn', + }), + ('sklearn', '0.0', { # also install the meta-package, as other packages check for this + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }) +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-intel-2021b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-intel-2021b.eb new file mode 100644 index 00000000000..7e9d3d14695 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.1-intel-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.0.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': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da'], + 'modulename': 'sklearn', + }), + ('sklearn', '0.0', { # also install the meta-package, as other packages check for this + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }) +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.2-foss-2021b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.2-foss-2021b.eb new file mode 100644 index 00000000000..668090f02d8 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.0.2-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.0.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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10') +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767'], + 'modulename': 'sklearn', + }), + ('sklearn', '0.0', { # also install the meta-package, as other packages check for this + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }) +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-foss-2022a.eb new file mode 100644 index 00000000000..f1b408579da --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.1.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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['7c22d1305b16f08d57751a4ea36071e2215efb4c09cb79183faa4e8e82a3dbf8'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-intel-2022a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-intel-2022a.eb new file mode 100644 index 00000000000..8150d97c93a --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.1.2-intel-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.1.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': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['7c22d1305b16f08d57751a4ea36071e2215efb4c09cb79183faa4e8e82a3dbf8'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb new file mode 100644 index 00000000000..5f1739b09f8 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.2.1-gfbf-2022b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.2.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': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['fbf8a5c893c9b4b99bcc7ed8fb3e8500957a113f4101860386d06635520f7cfb'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-gfbf-2023a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-gfbf-2023a.eb new file mode 100644 index 00000000000..e4e1fa10b81 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.3.1-gfbf-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': 'gfbf', '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.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-learn/scikit-learn-1.4.2-gfbf-2023a.eb b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb new file mode 100644 index 00000000000..c94ab50744a --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-learn/scikit-learn-1.4.2-gfbf-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'scikit-learn' +version = '1.4.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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + # Build requires "Cython>=3.0.8" + # Cython included with Python-bundle-PyPI (0.29.35) is too old + ('Cython', '3.0.8'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'modulename': 'sklearn', + 'checksums': ['daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959'], + }), + ('sklearn', '0.0', { + 'checksums': ['e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.6.16-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.6.16-foss-2022a.eb new file mode 100644 index 00000000000..5ea30879467 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-lego/scikit-lego-0.6.16-foss-2022a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'scikit-lego' +version = '0.6.16' + +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': '2022a'} + +github_account = 'koaning' + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('umap-learn', '0.5.3'), + ('wrapt', '1.15.0'), +] + +use_pip = True + +exts_list = [ + ('autograd', '1.6.2', { + 'checksums': ['8731e08a0c4e389d8695a40072ada4512641c113b6cace8f4cfbe8eb7e9aedeb'], + }), + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('patsy', '0.5.3', { + 'checksums': ['bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277'], + }), + (name, version, { + 'modulename': 'sklego', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'checksums': ['bf58f66518e9e8dca54cac634d7642b1e1a6c9984e17af6f1f71e0312dbe4a69'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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.1.4-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2021a.eb new file mode 100644 index 00000000000..d50466cda7d --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'scikit-misc' +version = '0.1.4' + +homepage = 'https://github.com/has2k1/scikit-misc' +description = "Miscellaneous tools for data analysis and scientific computing" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f7746a0347811063e1ecf9121df94835785003953c38b5ba84f63fc508c22911'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05') +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'skmisc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb new file mode 100644 index 00000000000..6d449427c15 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.1.4-foss-2022a.eb @@ -0,0 +1,26 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonPackage' + +name = 'scikit-misc' +version = '0.1.4' + +homepage = 'https://github.com/has2k1/scikit-misc' +description = "Miscellaneous tools for data analysis and scientific computing" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['f7746a0347811063e1ecf9121df94835785003953c38b5ba84f63fc508c22911'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +options = {'modulename': 'skmisc'} + +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..dda0a838bf3 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-misc/scikit-misc-0.3.1-foss-2023a.eb @@ -0,0 +1,32 @@ +# 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'} + +builddependencies = [ + ('pkgconf', '1.9.5'), +] + +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/scikit-optimize/scikit-optimize-0.9.0-foss-2021a.eb b/easybuild/easyconfigs/s/scikit-optimize/scikit-optimize-0.9.0-foss-2021a.eb new file mode 100644 index 00000000000..306d5ba89e8 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-optimize/scikit-optimize-0.9.0-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'scikit-optimize' +version = '0.9.0' + +homepage = 'https://scikit-optimize.github.io' +description = """Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive + and noisy black-box functions.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['77d8c9e64947fc9f5cc05bbc6aed7b8a9907871ae26fe11997fd67be90f26008'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('matplotlib', '3.4.2'), + ('pretty-yaml', '21.10.1'), +] + +options = {'modulename': 'skopt'} + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-optimize/scikit-optimize-0.9.0-foss-2022a.eb b/easybuild/easyconfigs/s/scikit-optimize/scikit-optimize-0.9.0-foss-2022a.eb new file mode 100644 index 00000000000..84e68863420 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-optimize/scikit-optimize-0.9.0-foss-2022a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'scikit-optimize' +version = '0.9.0' + +homepage = 'https://scikit-optimize.github.io' +description = """ +Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive +and noisy black-box functions. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['77d8c9e64947fc9f5cc05bbc6aed7b8a9907871ae26fe11997fd67be90f26008'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('pretty-yaml', '23.9.5'), +] + +options = {'modulename': 'skopt'} + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/scikit-plot/scikit-plot-0.3.7-foss-2022b.eb b/easybuild/easyconfigs/s/scikit-plot/scikit-plot-0.3.7-foss-2022b.eb new file mode 100755 index 00000000000..0975080b0b1 --- /dev/null +++ b/easybuild/easyconfigs/s/scikit-plot/scikit-plot-0.3.7-foss-2022b.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'scikit-plot' +version = '0.3.7' + +homepage = "https://github.com/reiinakano/scikit-plot" +description = """Scikit-plot is the result of an unartistic data scientist's dreadful realization that *visualization + is one of the most crucial components in the data science process, not just a mere afterthought*.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('scikit-learn', '1.2.1'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['2c7948817fd2dc06879cfe3c1fdde56a8e71fa5ac626ffbe79f043650baa6242'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True +options = {'modulename': 'scikitplot'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2022a.eb b/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2022a.eb new file mode 100644 index 00000000000..9e63514905b --- /dev/null +++ b/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'scrublet' +version = '0.2.3' + +homepage = 'https://github.com/swolock/scrublet' +description = "Single-Cell Remover of Doublets - Python code for identifying doublets in single-cell RNA-seq data" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('scikit-image', '0.19.3'), + ('matplotlib', '3.5.2'), + ('numba', '0.56.4'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('annoy', '1.17.1', { + 'checksums': ['bf177dbeafb81f63b2ac1e1246b1f26a2acc82e73ba46638734d29d8258122da'], + }), + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + ('umap-learn', '0.5.3', { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), + (name, version, { + 'checksums': ['2185f63070290267f82a36e5b4cae8c321f10415d2d0c9f7e5e97b1126bf653a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2023a.eb b/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2023a.eb new file mode 100644 index 00000000000..5b6d65b6bb4 --- /dev/null +++ b/easybuild/easyconfigs/s/scrublet/scrublet-0.2.3-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonBundle' + +name = 'scrublet' +version = '0.2.3' + +homepage = 'https://github.com/swolock/scrublet' +description = "Single-Cell Remover of Doublets - Python code for identifying doublets in single-cell RNA-seq data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), + ('matplotlib', '3.7.2'), + ('numba', '0.58.1'), + ('tqdm', '4.66.1'), + ('umap-learn', '0.5.5'), +] + +use_pip = True + +exts_list = [ + ('annoy', '1.17.3', { + 'checksums': ['9cbfebefe0a5f843eba29c6be4c84d601f4f41ad4ded0486f1b88c3b07739c15'], + }), + (name, version, { + 'checksums': ['2185f63070290267f82a36e5b4cae8c321f10415d2d0c9f7e5e97b1126bf653a'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..a5b9c930ebd --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,94 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '0.16.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('jax', '0.3.9', versionsuffix), + ('openpyxl', '3.0.7'), + ('PyTorch-Lightning', '1.5.9', versionsuffix), + ('scikit-learn', '0.24.2'), + ('dm-tree', '0.1.6'), + ('scanpy', '1.8.1'), + ('scikit-misc', '0.1.4'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + # stick to flax v0.5.2, which does not require tensorstore (which is built with Bazel) or a very recent jax yet... + ('flax', '0.5.2', { + 'checksums': ['5f07775fd4ba1926192ab6eb48c9adbd5658ddaf8585fb0c561741400d5599ff'], + }), + ('multipledispatch', '0.6.0', { + 'checksums': ['a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea'], + }), + ('numpyro', '0.10.1', { + 'checksums': ['dfa896f01c8df43ddd41663af2b3e2fc4aea73489e669474e83329b183b29150'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('optax', '0.1.3', { + 'checksums': ['159e954405c3ba2072c2add7cec5532be7399bcafab3039acbf608b11844a879'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + ('pyro-ppl', '1.8.0', { + 'modulename': 'pyro', + 'checksums': ['68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '11.1.0', { + 'checksums': ['43e03d8eec12e21beaecc22c828a41c4247356414a12d5879834863d4ad53816'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('mudata', '0.2.0', { + 'checksums': ['6eef13ec2165340cd6d79fe4aabe687e9c53867c818c8dbe1cf0b6be0e5d1e75'], + }), + (name, version, { + 'modulename': 'scvi', + 'checksums': ['95c67870ecfa1d0e0b80027d3239bb47ca6cd3db2f2524985f5d31903b766eeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb new file mode 100644 index 00000000000..39b2aa92da3 --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-0.16.4-foss-2021a.eb @@ -0,0 +1,92 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '0.16.4' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('h5py', '3.2.1'), + ('IPython', '7.25.0'), + ('jax', '0.3.9'), + ('openpyxl', '3.0.7'), + ('PyTorch-Lightning', '1.5.9'), + ('scikit-learn', '0.24.2'), + ('dm-tree', '0.1.6'), + ('scanpy', '1.8.1'), + ('scikit-misc', '0.1.4'), +] + +use_pip = True + +exts_list = [ + ('natsort', '8.1.0', { + 'checksums': ['c7c1f3f27c375719a4dfcab353909fe39f26c2032a062a8c80cc844eaaca0445'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + # stick to flax v0.5.2, which does not require tensorstore (which is built with Bazel) or a very recent jax yet... + ('flax', '0.5.2', { + 'checksums': ['5f07775fd4ba1926192ab6eb48c9adbd5658ddaf8585fb0c561741400d5599ff'], + }), + ('multipledispatch', '0.6.0', { + 'checksums': ['a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea'], + }), + ('numpyro', '0.10.1', { + 'checksums': ['dfa896f01c8df43ddd41663af2b3e2fc4aea73489e669474e83329b183b29150'], + }), + ('toolz', '0.12.0', { + 'checksums': ['88c570861c440ee3f2f6037c4654613228ff40c93a6c25e0eba70d17282c6194'], + }), + ('chex', '0.1.5', { + 'checksums': ['686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e'], + }), + ('optax', '0.1.3', { + 'checksums': ['159e954405c3ba2072c2add7cec5532be7399bcafab3039acbf608b11844a879'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + ('pyro-ppl', '1.8.0', { + 'modulename': 'pyro', + 'checksums': ['68e4ea30f219227dd88e55de2550d3f8c20a20adbdb67ad1e13b50868bb2ac0c'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '11.1.0', { + 'checksums': ['43e03d8eec12e21beaecc22c828a41c4247356414a12d5879834863d4ad53816'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml_collections', '0.1.1', { + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + }), + ('mudata', '0.2.0', { + 'checksums': ['6eef13ec2165340cd6d79fe4aabe687e9c53867c818c8dbe1cf0b6be0e5d1e75'], + }), + (name, version, { + 'modulename': 'scvi', + 'checksums': ['95c67870ecfa1d0e0b80027d3239bb47ca6cd3db2f2524985f5d31903b766eeb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..c434f381cfd --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '1.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('h5py', '3.9.0'), + ('jax', '0.4.25', versionsuffix), + ('Flax', '0.8.4', versionsuffix), + ('PyTorch-Lightning', '2.2.1', versionsuffix), + ('pyro-ppl', '1.9.0', versionsuffix), + ('ml-collections', '0.1.1'), +] + +use_pip = True + +exts_list = [ + ('mudata', '0.2.3', { + 'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('numpyro', '0.15.0', { + 'checksums': ['e16c9f47cc31e2aa259584a0b6c944312081d33ca92406022632ad584b0e600d'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('lightning', '2.1.4', { + 'checksums': ['0e45098c700fa28c604a11ae233ce181b44aeffce2404debebc2616118431d9f'], + }), + (name, version, { + 'modulename': 'scvi', + 'sources': ['scvi_tools-%(version)s.tar.gz'], + 'checksums': ['104a11a30e8996f5ceaa907b8c81b48b1f4b380d492ef2dd9b9a5577ed81b0f9'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb new file mode 100644 index 00000000000..be427d2af9e --- /dev/null +++ b/easybuild/easyconfigs/s/scvi-tools/scvi-tools-1.1.2-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'scvi-tools' +version = '1.1.2' + +homepage = 'https://github.com/scverse/scvi-tools' +description = """scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and +analysis of single-cell omics data, built on top of PyTorch and AnnData.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('anndata', '0.10.5.post1'), + ('matplotlib', '3.7.2'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('jax', '0.4.25'), + ('h5py', '3.9.0'), + ('PyTorch-Lightning', '2.2.1'), + ('pyro-ppl', '1.9.0'), + ('ml-collections', '0.1.1'), + ('Flax', '0.8.4'), +] + +use_pip = True + +exts_list = [ + ('mudata', '0.2.3', { + 'checksums': ['45288ac150bfc598d68acb7c2c1c43c38c5c39522107e04f7efbf3360c7f2035'], + }), + ('multipledispatch', '1.0.0', { + 'checksums': ['5c839915465c68206c3e9c473357908216c28383b425361e5d144594bf85a7e0'], + }), + ('numpyro', '0.15.0', { + 'checksums': ['e16c9f47cc31e2aa259584a0b6c944312081d33ca92406022632ad584b0e600d'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('lightning', '2.1.4', { + 'checksums': ['0e45098c700fa28c604a11ae233ce181b44aeffce2404debebc2616118431d9f'], + }), + (name, version, { + 'modulename': 'scvi', + 'sources': ['scvi_tools-%(version)s.tar.gz'], + 'checksums': ['104a11a30e8996f5ceaa907b8c81b48b1f4b380d492ef2dd9b9a5577ed81b0f9'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sdsl-lite/sdsl-lite-2.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/sdsl-lite/sdsl-lite-2.0.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d4bda3a4a9e --- /dev/null +++ b/easybuild/easyconfigs/s/sdsl-lite/sdsl-lite-2.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = "CMakeMake" + +name = 'sdsl-lite' +version = '2.0.3' + +homepage = "https://github.com/simongog/sdsl-lite" +description = """The Succinct Data Structure Library (SDSL) is a powerful and flexible C++11 library implementing + succinct data structures. In total, the library contains the highlights of 40 research publications. Succinct + data structures can represent an object (such as a bitvector or a tree) in space close to the information-theoretic + lower bound of the object while supporting operations of the original object efficiently. The theoretical time + complexity of an operation performed on the classical data structure and the equivalent succinct data structure + are (most of the time) identical.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/simongog/%(name)s/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['08ece40ce44041906bfa425af81a20a8071d187285f674debd8816c2e3113c2f'] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['lib/libdivsufsort64.a', 'lib/libdivsufsort.a', 'lib/libsdsl.a', 'include/divsufsort64.h'], + 'dirs': ['include/sdsl'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.2.0.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.2.0.eb index f6c29cfd247..80454f74e01 100644 --- a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.2.0.eb @@ -14,7 +14,7 @@ description = """segemehl is a software to map short sequencer reads to referenc toolchain = {'name': 'GCC', 'version': '10.2.0'} -source_urls = ['https://www.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] sources = [SOURCE_TAR_GZ] checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.3.0.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..9b5f304a8f3 --- /dev/null +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-10.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'segemehl' +version = '0.3.4' + +homepage = 'https://www.bioinf.uni-leipzig.de/Software/segemehl/' +description = """segemehl is a software to map short sequencer reads to reference genomes. + Unlike other methods, segemehl is able to detect not only mismatches but also insertions + and deletions. Furthermore, segemehl is not limited to a specific read length and is able + to mapprimer- or polyadenylation contaminated reads correctly. segemehl implements a matching + strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads + gziped queries to save both disk and memory space and allows bisulfite sequencing mapping + and split read mapping.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('HTSlib', '1.12'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +buildopts = 'all' + +files_to_copy = [(["haarz.x", "%(name)s.x"], "bin")] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["haarz.x", "%(name)s.x"]], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-11.2.0.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..6bcb70c71ca --- /dev/null +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-11.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'MakeCp' + +name = 'segemehl' +version = '0.3.4' + +homepage = 'https://www.bioinf.uni-leipzig.de/Software/segemehl/' +description = """segemehl is a software to map short sequencer reads to reference genomes. + Unlike other methods, segemehl is able to detect not only mismatches but also insertions + and deletions. Furthermore, segemehl is not limited to a specific read length and is able + to mapprimer- or polyadenylation contaminated reads correctly. segemehl implements a matching + strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads + gziped queries to save both disk and memory space and allows bisulfite sequencing mapping + and split read mapping.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] + +builddependencies = [('pkg-config', '0.29.2')] + +dependencies = [ + ('HTSlib', '1.14'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +buildopts = 'all' + +files_to_copy = [(["haarz.x", "%(name)s.x"], "bin")] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["haarz.x", "%(name)s.x"]], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-8.3.0.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-8.3.0.eb index ba8b90537df..24a9d475ca2 100644 --- a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-8.3.0.eb +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-GCC-8.3.0.eb @@ -14,7 +14,7 @@ description = """segemehl is a software to map short sequencer reads to referenc toolchain = {'name': 'GCC', 'version': '8.3.0'} -source_urls = ['https://www.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] sources = [SOURCE_TAR_GZ] checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-foss-2018b.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-foss-2018b.eb index aa8fab696d1..6079ca070ef 100644 --- a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-foss-2018b.eb +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-foss-2018b.eb @@ -16,7 +16,7 @@ description = """ segemehl is a software to map short sequencer reads to referen toolchain = {'name': 'foss', 'version': '2018b'} -source_urls = ['http://www.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] sources = [SOURCE_TAR_GZ] checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] diff --git a/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-iccifort-2020.4.304.eb b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..e9ae1cd8875 --- /dev/null +++ b/easybuild/easyconfigs/s/segemehl/segemehl-0.3.4-iccifort-2020.4.304.eb @@ -0,0 +1,36 @@ +easyblock = 'MakeCp' + +name = "segemehl" +version = "0.3.4" + +homepage = 'https://www.bioinf.uni-leipzig.de/Software/segemehl/' +description = """segemehl is a software to map short sequencer reads to reference genomes. + Unlike other methods, segemehl is able to detect not only mismatches but also insertions + and deletions. Furthermore, segemehl is not limited to a specific read length and is able + to map primer- or polyadenylation contaminated reads correctly. segemehl implements a matching + strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads + gziped queries to save both disk and memory space and allows bisulfite sequencing mapping + and split read mapping.""" + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['http://legacy.bioinf.uni-leipzig.de/Software/segemehl/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4336f03d0d15126dbb1c6368c7e80421b0c7354f4a6b492d54d7d14cf5a7f51'] + +dependencies = [ + ('HTSlib', '1.11'), + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +buildopts = 'all' + +files_to_copy = [(["haarz.x", "segemehl.x"], "bin")] + +sanity_check_paths = { + 'files': ["bin/%s" % x for x in ["haarz.x", "segemehl.x"]], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2022a.eb b/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2022a.eb new file mode 100644 index 00000000000..124012ea1d4 --- /dev/null +++ b/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'segment-anything' +version = '1.0' + +homepage = 'https://github.com/facebookresearch/segment-anything' +description = """The Segment Anything Model (SAM) produces high quality object masks from input prompts + such as points or boxes, and it can be used to generate masks for all objects in an image. + It has been trained on a dataset of 11 million images and 1.1 billion masks, and has strong zero-shot + performance on a variety of segmentation tasks.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['segment_anything-%(version)s.tar.gz'] +checksums = ['ed0c9f6fb07bbef9c6238a7028a13c8272f1ba6b6305ca73e3e064266503736b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('torchvision', '0.13.1'), + ('OpenCV', '4.6.0', '-contrib'), + ('pycocotools', '2.0.6'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2023a.eb b/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2023a.eb new file mode 100644 index 00000000000..23c6de38a67 --- /dev/null +++ b/easybuild/easyconfigs/s/segment-anything/segment-anything-1.0-foss-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'segment-anything' +version = '1.0' + +homepage = 'https://github.com/facebookresearch/segment-anything' +description = """The Segment Anything Model (SAM) produces high quality object masks from input prompts + such as points or boxes, and it can be used to generate masks for all objects in an image. + It has been trained on a dataset of 11 million images and 1.1 billion masks, and has strong zero-shot + performance on a variety of segmentation tasks.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = ['segment_anything-%(version)s.tar.gz'] +checksums = ['ed0c9f6fb07bbef9c6238a7028a13c8272f1ba6b6305ca73e3e064266503736b'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('torchvision', '0.16.0'), + ('OpenCV', '4.8.1', '-contrib'), + ('pycocotools', '2.0.7'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..b82795350a9 --- /dev/null +++ b/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'segmentation-models-pytorch' +version = '0.3.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/qubvel/segmentation_models.pytorch' +description = "Python library with Neural Networks for Image Segmentation based on PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), + ('Safetensors', '0.3.1', versionsuffix), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('pretrainedmodels', '0.7.4', { + 'checksums': ['7e77ead4619a3e11ab3c41982c8ad5b86edffe37c87fd2a37ec3c2cc6470b98a'], + }), + ('efficientnet_pytorch', '0.7.1', { + 'checksums': ['00b9b261effce59d2d47aae2ad238c29a2a65175470f41ada7ecac439b7c1ee1'], + }), + ('huggingface_hub', '0.15.1', { + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('timm', '0.9.2', { + 'checksums': ['d0977cc5e02c69bda979fca8b52aa315a5f2cb64ebf8ad2c4631b1e452762c14'], + }), + ('segmentation_models_pytorch', version, { + 'checksums': ['b3b21ab4cd26a6b2b9e7a6ed466ace6452eb26ed3c31ae491ea2d7cbb01e384b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a.eb b/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a.eb new file mode 100644 index 00000000000..8562db1e66e --- /dev/null +++ b/easybuild/easyconfigs/s/segmentation-models-pytorch/segmentation-models-pytorch-0.3.3-foss-2022a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'segmentation-models-pytorch' +version = '0.3.3' + +homepage = 'https://github.com/qubvel/segmentation_models.pytorch' +description = "Python library with Neural Networks for Image Segmentation based on PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), + ('Safetensors', '0.3.1'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('munch', '2.5.0', { + 'checksums': ['2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2'], + }), + ('pretrainedmodels', '0.7.4', { + 'checksums': ['7e77ead4619a3e11ab3c41982c8ad5b86edffe37c87fd2a37ec3c2cc6470b98a'], + }), + ('efficientnet_pytorch', '0.7.1', { + 'checksums': ['00b9b261effce59d2d47aae2ad238c29a2a65175470f41ada7ecac439b7c1ee1'], + }), + ('huggingface_hub', '0.15.1', { + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('timm', '0.9.2', { + 'checksums': ['d0977cc5e02c69bda979fca8b52aa315a5f2cb64ebf8ad2c4631b1e452762c14'], + }), + ('segmentation_models_pytorch', version, { + 'checksums': ['b3b21ab4cd26a6b2b9e7a6ed466ace6452eb26ed3c31ae491ea2d7cbb01e384b'], + }), +] + +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/sentinelsat/sentinelsat-1.2.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/sentinelsat/sentinelsat-1.2.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..98ec47283a1 --- /dev/null +++ b/easybuild/easyconfigs/s/sentinelsat/sentinelsat-1.2.1-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'sentinelsat' +version = '1.2.1' + +homepage = 'https://github.com/sentinelsat/sentinelsat' +description = """ +Sentinelsat makes searching, downloading and retrieving the metadata of Sentinel +satellite images from the Copernicus Open Access Hub easy. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('html2text', '2020.1.16', { + 'checksums': ['e296318e16b059ddb97f7a8a1d6a5c1d7af4544049a01e261731d2d5cc277bbb'], + }), + ('geojson', '3.0.1', { + 'checksums': ['ff3d75acab60b1e66504a11f7ea12c104bad32ff3c410a807788663b966dee4a'], + }), + ('geomet', '1.0.0', { + 'checksums': ['0020a4426469934fb58f541cdc23f27c0c0fbbb3d003ee2cb76bb7ffa96a7506'], + }), + (name, version, { + 'checksums': ['d38de0ae1e167d7311426973b0207380e9fa1c4a6f5353dc58bd83bf88b5db4d'], + }), +] + +sanity_check_commands = [ + "sentinelsat --version", + "sentinelsat --help", +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-10.3.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-10.3.0.eb new file mode 100644 index 00000000000..5f36a7aded8 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'seqtk' +version = '1.3' + +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': '10.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5a1687d65690f2f7fa3f998d47c3c5037e792f17ce119dab52fff3cfdca1e563'] + +dependencies = [('zlib', '1.2.11')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CLFAGS"' + +preinstallopts = "mkdir %(installdir)s/bin && " +installopts = 'BINDIR=%(installdir)s/bin/' + +sanity_check_paths = { + 'files': ['bin/seqtk'], + 'dirs': [], +} + +sanity_check_commands = ["seqtk 2>&1 | grep 'Usage:[ ]*seqtk'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.2.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.2.0.eb new file mode 100644 index 00000000000..75d5727fb85 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'seqtk' +version = '1.3' + +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': '11.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5a1687d65690f2f7fa3f998d47c3c5037e792f17ce119dab52fff3cfdca1e563'] + +dependencies = [('zlib', '1.2.11')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CLFAGS"' + +preinstallopts = "mkdir %(installdir)s/bin && " +installopts = 'BINDIR=%(installdir)s/bin/' + +sanity_check_paths = { + 'files': ['bin/seqtk'], + 'dirs': [], +} + +sanity_check_commands = ["seqtk 2>&1 | grep 'Usage:[ ]*seqtk'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.3.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.3.0.eb new file mode 100644 index 00000000000..165375a4e10 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.3-GCC-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'seqtk' +version = '1.3' + +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': '11.3.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['5a1687d65690f2f7fa3f998d47c3c5037e792f17ce119dab52fff3cfdca1e563'] + +dependencies = [('zlib', '1.2.12')] + +skipsteps = ['configure'] + +buildopts = 'CC="$CC" CFLAGS="$CLFAGS"' + +preinstallopts = "mkdir %(installdir)s/bin && " +installopts = 'BINDIR=%(installdir)s/bin/' + +sanity_check_paths = { + 'files': ['bin/seqtk'], + 'dirs': [], +} + +sanity_check_commands = ["seqtk 2>&1 | grep 'Usage:[ ]*seqtk'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.2.0.eb b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.2.0.eb new file mode 100644 index 00000000000..d0845fed4d2 --- /dev/null +++ b/easybuild/easyconfigs/s/seqtk/seqtk-1.4-GCC-12.2.0.eb @@ -0,0 +1,35 @@ +## +# created by Thomas Eylenbosch +## + +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.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['d124604ec24f29ed14ce127426ab90e0f3a2c0280c80d1a3ff8b1c09feede19c'] + +dependencies = [('zlib', '1.2.12')] + +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/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/setuptools-rust/setuptools-rust-1.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b2517ef684c --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'setuptools-rust' +version = '1.6.0' + +homepage = 'https://github.com/PyO3/setuptools-rust' +description = """setuptools-rust is a plugin for setuptools to build Rust Python extensions +implemented with PyO3 or rust-cpython.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.6.3', { + 'checksums': ['d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + (name, version, { + 'checksums': ['c86e734deac330597998bfbc08da45187e6b27837e23bd91eadb320732392262'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.8.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.8.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..044d56266ae --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.8.0-GCCcore-13.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'setuptools-rust' +version = '1.8.0' + +homepage = 'https://github.com/PyO3/setuptools-rust' +description = """setuptools-rust is a plugin for setuptools to build Rust Python extensions +implemented with PyO3 or rust-cpython.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing_extensions', '4.8.0', { + 'checksums': ['df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef'], + }), + ('semantic_version', '2.10.0', { + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + (name, version, { + 'checksums': ['5e02b7a80058853bf64127314f6b97d0efed11e08b94c88ca639a20976f6adc4'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.9.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.9.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b763364ba26 --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools-rust/setuptools-rust-1.9.0-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonBundle' + +name = 'setuptools-rust' +version = '1.9.0' + +homepage = 'https://github.com/PyO3/setuptools-rust' +description = """setuptools-rust is a plugin for setuptools to build Rust Python extensions +implemented with PyO3 or rust-cpython.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('typing-extensions', '4.12.2', { + 'sources': ['typing_extensions-%(version)s.tar.gz'], + 'checksums': ['1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8'], + }), + ('semantic-version', '2.10.0', { + 'sources': ['semantic_version-%(version)s.tar.gz'], + 'checksums': ['bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c'], + }), + (name, version, { + 'checksums': ['704df0948f2e4cc60c2596ad6e840ea679f4f43e58ed4ad0c1857807240eab96'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/setuptools/setuptools-64.0.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/setuptools/setuptools-64.0.3-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..29349e6b6d4 --- /dev/null +++ b/easybuild/easyconfigs/s/setuptools/setuptools-64.0.3-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'PythonPackage' + +name = 'setuptools' +version = '64.0.3' + +homepage = "https://pypi.org/project/setuptools" +description = """Easily download, build, install, upgrade, and uninstall Python packages""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +sources = [SOURCE_TAR_GZ] +checksums = ['3bcaf6e27ad3b0f643ba0a48c5ab9eca930c3eb51df0e068f4826ab880c394ea'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb b/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb new file mode 100644 index 00000000000..b2736681544 --- /dev/null +++ b/easybuild/easyconfigs/s/sfftk/sfftk-0.7.4-foss-2021a.eb @@ -0,0 +1,70 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2022/10 +easyblock = 'PythonBundle' + +name = 'sfftk' +version = '0.7.4' + +homepage = 'https://emdb-empiar.github.io/EMDB-SFF/' +description = """ +sfftk is a set of utilities that facilitate creation, conversion and +modification of Electron Microscopy Data Bank - Segmentation File Format +(EMDB-SFF) files. EMDB-SFF is an open, community-driven file format to handle +annotated segmentations and subtomogram averages that facilitates segmentation +file interchange. It is written in Python and provides both a command-line suite +of commands and a Python API.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('mrcfile', '1.3.0'), + ('lxml', '4.6.3'), + ('h5py', '3.2.1'), + ('scikit-image', '0.18.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('bitarray', '2.6.0', { + 'checksums': ['56d3f16dd807b1c56732a244ce071c135ee973d3edc9929418c1b24c5439a0fd'], + }), + ('ahds', '0.2.4', { + 'checksums': ['3356115351f7f6089f44c6f6503daa4985f158b7dfb730ef88ab3c6a7f8cc1a6'], + }), + ('styled', '0.2.0', { + 'checksums': ['91ab8022913de87fe1a614d3caeebafe046fd20cdd7d821a61738c1ce86e7276'], + }), + ('numpy-stl', '2.17.1', { + 'modulename': 'stl', + 'checksums': ['36c920192f445dd57f091a63629bdda5a9274d47513a33ac2efad12737394b7a'], + }), + ('python-utils', '3.3.3', { + 'checksums': ['3b1c8b706e40e91280eec5fa72ea730880a166cee99afa5555b863d55664478d'], + }), + ('RandomWords', '0.4.0', { + 'modulename': 'random_words', + 'checksums': ['0bb64dc14f7f5d96597e9a08e185b874a3ea20955a1acce632b87122d66d3d6b'], + }), + ('SimpleParse', '2.2.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['2c1b130017e708a2c87b3a6119b5844f08a0d53b9e4c9d48da5e6c409798e979'], + }), + ('sfftk-rw', '0.7.2', { + 'modulename': 'sfftkrw', + 'source_urls': ['https://github.com/emdb-empiar/sfftk-rw/archive/refs/tags/'], + 'sources': [{'filename': '%(name)s-%(version)s.tar.gz', 'download_filename': 'v%(version)s.tar.gz'}], + 'checksums': ['c858377d987090aa08984e8ae8dd09d5553eabc3bbea5c0ecc9994c06d474500'], + }), + (name, version, { + 'checksums': ['f165d377d4b7d42bc800a08f220169b7baf5e2faafe337beb77ee0754d52e038'], + }), +] + +sanity_check_commands = [ + "sff -h", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb index 86ecd27ae6a..61c743acfc3 100644 --- a/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/s/shovill/shovill-0.9.0-foss-2018a-Python-2.7.14.eb @@ -23,18 +23,18 @@ dependencies = [ ('SKESA', '2.2'), ('MEGAHIT', '1.1.3', versionsuffix), ('KMC', '3.1.0'), - ('Pilon', '1.22', '-Java-1.8.0_162', True), + ('Pilon', '1.22', '-Java-1.8.0_162', SYSTEM), ('SPAdes', '3.12.0'), ('Lighter', '1.1.1'), ('FLASH', '1.2.11'), - ('Trimmomatic', '0.38', '-Java-1.8.0_162', True), + ('Trimmomatic', '0.38', '-Java-1.8.0_162', SYSTEM), ('Velvet', '1.2.10', '-mt-kmer_191'), ('pigz', '2.4'), ] postinstallcmds = [ - """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", - """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + """echo 'exec java -jar "$EBROOTTRIMMOMATIC"/trimmomatic-*.jar "$@"' > %(installdir)s/bin/trimmomatic""", + """echo 'exec java -jar "$EBROOTPILON"/pilon-*.jar "$@"' > %(installdir)s/bin/pilon""", "chmod a+rx %(installdir)s/bin/trimmomatic %(installdir)s/bin/pilon", ] diff --git a/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb index fed24b4cdcb..dedb0be3044 100644 --- a/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/shovill/shovill-1.0.4-foss-2018b-Python-2.7.15.eb @@ -23,19 +23,19 @@ dependencies = [ ('SKESA', '2.3.0'), ('MEGAHIT', '1.1.4', versionsuffix), ('KMC', '3.1.0'), - ('Pilon', '1.23', '-Java-1.8', True), + ('Pilon', '1.23', '-Java-1.8', SYSTEM), ('SPAdes', '3.13.0'), ('Lighter', '1.1.2'), ('FLASH', '1.2.11'), - ('Trimmomatic', '0.38', '-Java-1.8', True), + ('Trimmomatic', '0.38', '-Java-1.8', SYSTEM), ('Velvet', '1.2.10', '-mt-kmer_191'), ('pigz', '2.4'), ('samclip', '0.2', '-Perl-5.28.0'), ] postinstallcmds = [ - """echo exec java -jar \$EBROOTTRIMMOMATIC/trimmomatic-*.jar '"$@"' > %(installdir)s/bin/trimmomatic""", - """echo exec java -jar $EBROOTPILON/pilon-*.jar '"$@"' > %(installdir)s/bin/pilon""", + """echo 'exec java -jar "$EBROOTTRIMMOMATIC"/trimmomatic-*.jar "$@"' > %(installdir)s/bin/trimmomatic""", + """echo 'exec java -jar "$EBROOTPILON"/pilon-*.jar "$@"' > %(installdir)s/bin/pilon""", "chmod a+rx %(installdir)s/bin/trimmomatic %(installdir)s/bin/pilon", ] diff --git a/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb b/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb new file mode 100644 index 00000000000..8c9d1678e1d --- /dev/null +++ b/easybuild/easyconfigs/s/shovill/shovill-1.1.0-gompi-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'Tarball' + +name = 'shovill' +version = '1.1.0' + +homepage = 'https://github.com/tseemann/shovill' +description = "Faster SPAdes assembly of Illumina reads" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/shovill/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b7323e6586238821202cf9644963e584e7397a5cee23e564d00b07fcb344ecd2'] + +# excluded (optional) dependency: skesa +# cfr. https://github.com/ncbi/ngs-tools/tree/master/tools/skesa +dependencies = [ + ('SAMtools', '1.14'), + ('BWA', '0.7.17'), + ('Mash', '2.3'), + ('seqtk', '1.3'), + ('SKESA', '2.4.0', '_saute.1.3.0_1'), + ('MEGAHIT', '1.2.9'), + ('KMC', '3.2.1'), + ('Pilon', '1.23', '-Java-11', SYSTEM), + ('SPAdes', '3.15.3'), + ('Lighter', '1.1.2'), + ('FLASH', '2.2.00'), + ('Trimmomatic', '0.39', '-Java-11', SYSTEM), + ('Velvet', '1.2.10', '-mt-kmer_191'), + ('pigz', '2.6'), + ('samclip', '0.4.0'), +] + +postinstallcmds = [ + """echo 'exec java -jar "$EBROOTTRIMMOMATIC"/trimmomatic-*.jar "$@"' > %(installdir)s/bin/trimmomatic""", + """echo 'exec java -jar "$EBROOTPILON"/pilon-*.jar "$@"' > %(installdir)s/bin/pilon""", + "chmod a+rx %(installdir)s/bin/trimmomatic %(installdir)s/bin/pilon", +] + +sanity_check_paths = { + 'files': ['bin/shovill'], + 'dirs': [], +} + +sanity_check_commands = ["shovill --check"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/shrinkwrap/shrinkwrap-1.1.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/shrinkwrap/shrinkwrap-1.1.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..a9387c69f64 --- /dev/null +++ b/easybuild/easyconfigs/s/shrinkwrap/shrinkwrap-1.1.0-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +# This easyconfig was created by Simon Branford of the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' + +name = 'shrinkwrap' +version = '1.1.0' + +homepage = "https://github.com/jonathonl/shrinkwrap" +description = """A std::streambuf wrapper for compression formats.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/jonathonl/shrinkwrap/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['833e85bdc41e7bf82a57f0fb52958795fb089f691981d2e3a2b68eee17128082'] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('XZ', '5.2.5'), + ('zstd', '1.4.5'), +] + +sanity_check_paths = { + 'files': ['include/%%(name)s/%s.hpp' % i for i in ['gz', 'istream', 'xz', 'zstd']], + 'dirs': [], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb b/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb new file mode 100644 index 00000000000..8d1dc071c82 --- /dev/null +++ b/easybuild/easyconfigs/s/silhouetteRank/silhouetteRank-1.0.5.13-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'silhouetteRank' +version = '1.0.5.13' + +homepage = 'https://pypi.org/project/silhouetteRank' +description = """silhouetteRank is a tool for finding spatially variable genes based on computing silhouette + coefficient from binarized spatial gene expression data""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4b3e3b9c3e84e67df96b7c441fd072a1a1a72b9f9790491fe3274259b3ef666a'] + +dependencies = [ + ('Python', '3.10.4'), + ('Seaborn', '0.12.1'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('matplotlib', '3.5.2'), + ('R', '4.2.1'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'silhouetteRank'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/silx/silx-0.14.0-fosscuda-2020b.eb b/easybuild/easyconfigs/s/silx/silx-0.14.0-fosscuda-2020b.eb new file mode 100644 index 00000000000..fc63b3528ed --- /dev/null +++ b/easybuild/easyconfigs/s/silx/silx-0.14.0-fosscuda-2020b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'silx' +version = '0.14.0' + +homepage = "http://www.silx.org/" +description = """The silx project provides a collection of Python packages to support the +development of data assessment, reduction and analysis applications at synchrotron radiation facilities.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('h5py', '3.1.0'), + ('PyOpenGL', '3.1.5'), + ('matplotlib', '3.3.3'), + ('Mako', '1.1.3'), + ('Pillow', '8.0.1'), + ('FabIO', '0.11.0'), + ('Qtconsole', '5.0.2'), + ('PyOpenCL', '2021.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hdf5plugin', '2.3.1', { + 'checksums': ['2f6d886012c37bf7e8e002173dd6b16e6879b8e0e9f7d2f2ef9f79db97ed28d2'], + }), + (name, version, { + 'checksums': ['17c595fe18c9eb3403a9d1f0ee6ea7b523607043c46c944573ecf406f6997866'], + }), +] + +modextrapaths = { + 'HDF5_PLUGIN_PATH': 'lib/python%(pyshortver)s/site-packages/hdf5plugin/plugins', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb b/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb new file mode 100644 index 00000000000..97bd26ccbdc --- /dev/null +++ b/easybuild/easyconfigs/s/silx/silx-1.0.0-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'silx' +version = '1.0.0' + +homepage = "http://www.silx.org/" +description = """The silx project provides a collection of Python packages to support the +development of data assessment, reduction and analysis applications at synchrotron radiation facilities.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('h5py', '3.6.0'), + ('PyOpenGL', '3.1.6'), + ('matplotlib', '3.4.3'), + ('Mako', '1.1.4'), + ('Pillow', '8.3.2'), + ('FabIO', '0.14.0'), + ('Qtconsole', '5.3.2'), + ('PyOpenCL', '2021.2.13'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('hdf5plugin', '3.2.0', { + 'checksums': ['8900ab06df2a20f88c9c56ecf45a99655e08ba4d730706f8798b4ea2158b291a'], + }), + (name, version, { + 'checksums': ['1cf910f6e8097cb842e687bb81e1286b5cfc9e0213edef99a614b8b7dc5bf714'], + }), +] + +modextrapaths = { + 'HDF5_PLUGIN_PATH': 'lib/python%(pyshortver)s/site-packages/hdf5plugin/plugins', +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/simanneal/simanneal-0.5.0-GCC-11.3.0.eb b/easybuild/easyconfigs/s/simanneal/simanneal-0.5.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..4886fa82cac --- /dev/null +++ b/easybuild/easyconfigs/s/simanneal/simanneal-0.5.0-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'simanneal' +version = '0.5.0' + +homepage = 'https://github.com/perrygeo/simanneal' +description = """This module performs simulated annealing optimization to find the optimal +state of a system. It is inspired by the metallurgic process of annealing +whereby metals must be cooled at a regular schedule in order to settle into +their lowest energy state.""" +github_account = 'perrygeo' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['8bb6f421398a425d1cd0c2bd316507c0e19148cee75824963d8ccd776518d8cb'], + }), +] + +moduleclass = "phys" diff --git a/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb b/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb new file mode 100644 index 00000000000..be3968e7c30 --- /dev/null +++ b/easybuild/easyconfigs/s/simint/simint-0.7-GCC-11.2.0-lmax-5-vec-avx-psi4.eb @@ -0,0 +1,78 @@ +# For the various build options see here: +# https://www.bennyp.org/research/simint/README.txt +# lmax is set to 5 which is widely used it seems +# vec is set to avx, which should work on most platforms +# This might be changed to other values, if required +# J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'simint' +version = '0.7' +local_lmax = '5' +# supported: {scalar, sse, avx, avxfma, micavx512} +# scalar ONLY FOR USE WITH simint-scalar (and only useful for benchmarks), micavx512 experimental! +local_vec = 'avx' + +# custom configuration, to be used as dependency for PSI4 +versionsuffix = '-lmax-%s-vec-%s-psi4' % (local_lmax, local_vec) + +homepage = 'https://www.bennyp.org/research/simint/' +description = """Simint is a vectorized implementation of the Obara-Saika (OS) +method of calculating electron repulsion integrals. Speedup is gained by +vectorizing the primitive loop of the OS algorithm, with additional vectorization +and optimizations left to the compiler.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://www.bennyp.org/research/simint/download/'] +sources = ['%(name)s-v%(version)s.tar.bz2'] +checksums = ['9851fa2323924d4732dd611b366219f4408c8561556abb5e4fa6dbb64a8f919c'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +local_common_configopts = '-DSIMINT_MAXAM=%s ' % local_lmax +local_common_configopts += '-DSIMINT_VECTOR=%s ' % local_vec +local_common_configopts += '-DENABLE_TESTS=ON ' +# 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', +] + +# Run test to valicate accuracy. +# List of all available tests. Running all of them will take quite some time! +# local_tests = [ +# 'Al2Cl6.6-31gss.mol', 'anthracene.aug-cc-pvqz.mol', 'benzene.aug-cc-pvtz.mol', 'C4H4Cl2F2.dzp.mol', +# 'ethane.roos-ano-tz.mol', 'R-camphor.roos-ano-tz.mol', 'water.sto-3g.mol', 'Al2Cl6.aug-cc-pvqz.mol', +# 'anthracene.aug-cc-pvtz.mol', 'benzene.dzp.mol', 'C4H4Cl2F2.roos-ano-tz.mol', 'ethane.sto-3g.mol', +# 'R-camphor.sto-3g.mol', 'Al2Cl6.aug-cc-pvtz.mol', 'anthracene.dzp.mol', 'benzene.roos-ano-tz.mol', +# 'C4H4Cl2F2.sto-3g.mol', 'water.6-31gss.mol', 'Al2Cl6.dzp.mol', 'anthracene.roos-ano-tz.mol', +# 'benzene.sto-3g.mol', 'ethane.6-31gss.mol', 'R-camphor.6-31gss.mol', 'water.aug-cc-pvqz.mol', +# 'Al2Cl6.roos-ano-tz.mol', 'anthracene.sto-3g.mol', 'C4H4Cl2F2.6-31gss.mol', 'ethane.aug-cc-pvqz.mol', +# 'R-camphor.aug-cc-pvqz.mol', 'water.aug-cc-pvtz.mol', 'Al2Cl6.sto-3g.mol', 'benzene.6-31gss.mol', +# 'C4H4Cl2F2.aug-cc-pvqz.mol', 'ethane.aug-cc-pvtz.mol', 'R-camphor.aug-cc-pvtz.mol water.dzp.mol', +# ] + +# This runs fast but does not give any guarantee if the installation is numerically correct! +local_tests = ['ethane.sto-3g.mol'] + +# Run selected tests: +sanity_check_commands = [ + 'cd %%(builddir)s/easybuild_obj/ && ' + 'OMP_NUM_THREADS=4 test/test_eri ../%%(name)s-v%%(version)s/test/dat/%s' % x for x in local_tests +] + +postinstallcmds = [ + "echo 'Please check results of the test(s) run in sanity check command manually to see if there are any errors'", +] + +sanity_check_paths = { + 'files': ['lib/libsimint.a', 'lib/libsimint.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'chem' 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/sirocco/sirocco-2.1.0-GCC-13.2.0.eb b/easybuild/easyconfigs/s/sirocco/sirocco-2.1.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..3819e493fe2 --- /dev/null +++ b/easybuild/easyconfigs/s/sirocco/sirocco-2.1.0-GCC-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'sirocco' +version = '2.1.0' + +homepage = 'https://github.com/miguelmarco/SIROCCO2/' +description = """C++ library that allows to compute piecewise linear + approximations of the path followed by the root of a complex polynomial""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/miguelmarco/SIROCCO2/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['1fd66ae94d73095f1355389c1d3d94222437bed87579d77667f50548bdd9fa9a'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('MPFR', '4.2.1'), +] + +preconfigopts = 'autoreconf --install && ' + +sanity_check_paths = { + 'files': [ + 'include/sirocco.h', + 'lib/libsirocco.%s' % SHLIB_EXT, + ], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5ca8d172b3a --- /dev/null +++ b/easybuild/easyconfigs/s/siscone/siscone-3.0.5-GCCcore-11.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.5' + +homepage = 'https://siscone.hepforge.org/' +description = """Hadron Seedless Infrared-Safe Cone jet algorithm""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://siscone.hepforge.org/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['08c63ad96516970c0ef5c030de2e626d6760efda8ece20dee410a515b7acf1e8'] + +builddependencies = [ + ('binutils', '2.38'), +] + +sanity_check_paths = { + 'files': ['lib/libsiscone.%s' % SHLIB_EXT], + 'dirs': ['include/siscone'], +} + +moduleclass = 'phys' 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/sketchmap/sketchmap-20170130-intel-2016b.eb b/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb index efb97279b3f..28ea8897788 100644 --- a/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb +++ b/easybuild/easyconfigs/s/sketchmap/sketchmap-20170130-intel-2016b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'intel', 'version': '2016b'} source_urls = ['https://github.com/cosmo-epfl/sketchmap/archive/'] sources = ['%s.tar.gz' % local_commit] -buildopts = 'CXX="$CXX" MAKEDEPEND="$CXX -M \$(CXXFLAGS)" LLAPACK="$LIBLAPACK_MT"' +buildopts = r'CXX="$CXX" MAKEDEPEND="$CXX -M \$(CXXFLAGS)" LLAPACK="$LIBLAPACK_MT"' files_to_copy = ['bin'] diff --git a/easybuild/easyconfigs/s/sklearn-pandas/sklearn-pandas-2.2.0-foss-2021b.eb b/easybuild/easyconfigs/s/sklearn-pandas/sklearn-pandas-2.2.0-foss-2021b.eb new file mode 100644 index 00000000000..a41c6b4114f --- /dev/null +++ b/easybuild/easyconfigs/s/sklearn-pandas/sklearn-pandas-2.2.0-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'sklearn-pandas' +version = '2.2.0' + +homepage = 'https://github.com/scikit-learn-contrib/sklearn-pandas' +description = """ +This module provides a bridge between Scikit-Learn's machine learning methods +and pandas-style Data Frames. In particular, it provides a way to map DataFrame +columns to transformations, which are later recombined into features.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bf908ea0e384e132da04355c7db67bd4f8efe145f0c9cd9f14726ce899d27542'] + +dependencies = [ + ('Python', '3.9.6'), + ('scikit-learn', '1.0.1'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/sklearn-som/sklearn-som-1.1.0-foss-2020b.eb b/easybuild/easyconfigs/s/sklearn-som/sklearn-som-1.1.0-foss-2020b.eb new file mode 100644 index 00000000000..75357f22791 --- /dev/null +++ b/easybuild/easyconfigs/s/sklearn-som/sklearn-som-1.1.0-foss-2020b.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'sklearn-som' +version = '1.1.0' + +homepage = 'https://github.com/rileypsmith/sklearn-som' +description = """A simple, planar self-organizing map with methods similar to clustering methods in Scikit Learn.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9b8107f42dfbd68db0d1aa75dd2007be4e0136bf0af96da51513e295f76646d9'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +sanity_check_paths = { + 'files': ['lib/python%(pyshortver)s/site-packages/sklearn_som/som.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sklearn_som'], +} + +sanity_check_commands = ['python -c "from sklearn_som.som import SOM"'] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..6e5bfbf74c3 --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0-CUDA-11.3.1.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'skorch' +version = '0.11.0' +local_pt_version = '1.10.0' +versionsuffix = '-PyTorch-%s-CUDA-%%(cudaver)s' % local_pt_version + +homepage = 'https://skorch.readthedocs.io/' +description = "A scikit-learn compatible neural network library that wraps PyTorch." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b35cb4e50045742f0ffcfad33044af691d5d36b50212573753a804483a947ca9'] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), + ('PyTorch', local_pt_version, '-CUDA-%(cudaver)s'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb new file mode 100644 index 00000000000..6bee48b7e93 --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.11.0-foss-2021a-PyTorch-1.10.0.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'skorch' +version = '0.11.0' +local_pt_version = '1.10.0' +versionsuffix = '-PyTorch-%s' % local_pt_version + +homepage = 'https://skorch.readthedocs.io/' +description = """ +A scikit-learn compatible neural network library that wraps PyTorch.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['b35cb4e50045742f0ffcfad33044af691d5d36b50212573753a804483a947ca9'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('tqdm', '4.61.2'), + ('PyTorch', local_pt_version), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7db54f41b95 --- /dev/null +++ b/easybuild/easyconfigs/s/skorch/skorch-0.15.0-foss-2023a-PyTorch-2.1.2-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'skorch' +version = '0.15.0' +local_torch_version = '2.1.2' +versionsuffix = '-PyTorch-' + local_torch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://skorch.readthedocs.io/' +description = "A scikit-learn compatible neural network library that wraps PyTorch." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('PyTorch', local_torch_version, '-CUDA-%(cudaver)s'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['dfd5d50650a66e0d7adb3f6e2fce0666b53ebfe33cc1a5db19d555ef66587fce'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' 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/slepc4py/slepc4py-3.15.1-foss-2021a.eb b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.15.1-foss-2021a.eb new file mode 100644 index 00000000000..97a3f207909 --- /dev/null +++ b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.15.1-foss-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'slepc4py' +version = '3.15.1' + +homepage = 'https://bitbucket.org/slepc/slepc4py' +description = "Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations." + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['bcdab6d2101ae00e189f4b33072805358cee2dda806a6b6a8e3c2f1b9f619dfd'] + +dependencies = [ + ('Python', '3.9.5'), + ('SLEPc', '3.15.1'), + ('petsc4py', '3.15.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from slepc4py import SLEPc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/slepc4py/slepc4py-3.17.2-foss-2022a.eb b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.17.2-foss-2022a.eb new file mode 100644 index 00000000000..c34f17533e0 --- /dev/null +++ b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.17.2-foss-2022a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'slepc4py' +version = '3.17.2' + +homepage = 'https://bitbucket.org/slepc/slepc4py' +description = "Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations." + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e5b235486b6901cd4ff0d94083f0e5eeacaef3a2893e1714769717ad488a3885'] + +dependencies = [ + ('Python', '3.10.4'), + ('SLEPc', version), + ('petsc4py', '3.17.4'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from slepc4py import SLEPc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/slepc4py/slepc4py-3.20.2-foss-2023a.eb b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.20.2-foss-2023a.eb new file mode 100644 index 00000000000..c161116802d --- /dev/null +++ b/easybuild/easyconfigs/s/slepc4py/slepc4py-3.20.2-foss-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'slepc4py' +version = '3.20.2' + +homepage = 'https://bitbucket.org/slepc/slepc4py' +description = "Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations." + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['89ebd1964edd0eb63d4dbfa977d6f35408f4e19a3da290696fd1197901544bd8'] + +dependencies = [ + ('Python', '3.11.3'), + ('SLEPc', '3.20.1'), + ('petsc4py', '3.20.3'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_commands = ["python -c 'from slepc4py import SLEPc'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/sleuth/sleuth-0.30.1-foss-2023a.eb b/easybuild/easyconfigs/s/sleuth/sleuth-0.30.1-foss-2023a.eb new file mode 100644 index 00000000000..f03005cda38 --- /dev/null +++ b/easybuild/easyconfigs/s/sleuth/sleuth-0.30.1-foss-2023a.eb @@ -0,0 +1,25 @@ +easyblock = 'RPackage' + +name = 'sleuth' +version = '0.30.1' + +homepage = 'https://pachterlab.github.io/sleuth' +description = """Investigate RNA-Seq transcript abundance from kallisto and perform differential expression analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/pachterlab/sleuth/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4c8efca5d726471cb71187e8db07097a50f63aadf42f6fa25c59e7eed635f982'] + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-Bioconductor', '3.18', '-R-%(rver)s'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/slow5tools/slow5tools-0.4.0-gompi-2021b.eb b/easybuild/easyconfigs/s/slow5tools/slow5tools-0.4.0-gompi-2021b.eb new file mode 100644 index 00000000000..8cbf8e70d8f --- /dev/null +++ b/easybuild/easyconfigs/s/slow5tools/slow5tools-0.4.0-gompi-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'slow5tools' +version = '0.4.0' + +homepage = 'https://hasindu2008.github.io/slow5tools' +description = """slow5tools is a toolkit for converting (FAST5 <-> SLOW5), compressing, viewing, indexing + and manipulating data in SLOW5 format.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +source_urls = ['https://github.com/hasindu2008/slow5tools/releases/download/v0.4.0/'] +sources = ['slow5tools-v%(version)s-release.tar.gz'] +checksums = ['d6cf216754781363068a729b08411b85ce97c910c04a2a1d85730a861c163c43'] + +dependencies = [ + ('HDF5', '1.12.1'), + ('zlib', '1.2.11'), + ('zstd', '1.5.0'), +] + +buildopts = 'zstd=1' + +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/slow5tools'], + 'dirs': [], +} + +sanity_check_commands = ["slow5tools --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/slurm-drmaa/slurm-drmaa-1.1.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/slurm-drmaa/slurm-drmaa-1.1.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cd8e5c1a3e1 --- /dev/null +++ b/easybuild/easyconfigs/s/slurm-drmaa/slurm-drmaa-1.1.3-GCCcore-12.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'slurm-drmaa' +version = '1.1.3' + +homepage = "https://github.com/natefoo/slurm-drmaa" +description = """DRMAA for Slurm Workload Manager (Slurm) is an implementation + of Open Grid Forum Distributed Resource Management Application API (DRMAA) + version 1 for submission and control of jobs to Slurm. Using DRMAA, + grid applications builders, portal developers and ISVs can use the same + high-level API to link their software with different cluster/resource management systems.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/natefoo/slurm-drmaa/releases/download/%(version)s/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['145eb1bc3f0f0aac936505eb29ac501dee32228f70781d41df4f032939b9c3ba'] + +builddependencies = [ + ('binutils', '2.39'), +] + +sanity_check_paths = { + 'files': ['bin/drmaa-run', 'include/drmaa.h', 'lib/libdrmaa.a', 'lib/libdrmaa.%s' % SHLIB_EXT], + 'dirs': ['etc'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/smafa/smafa-0.8.0-GCC-12.3.0.eb b/easybuild/easyconfigs/s/smafa/smafa-0.8.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..342d27e7548 --- /dev/null +++ b/easybuild/easyconfigs/s/smafa/smafa-0.8.0-GCC-12.3.0.eb @@ -0,0 +1,235 @@ +easyblock = 'Cargo' + +name = 'smafa' +version = '0.8.0' + +homepage = 'https://github.com/wwood/smafa' +description = 'Biological sequence aligner for pre-aligned sequences.' + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/wwood/smafa/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v0.8.0.tar.gz': '6f103ecd5cdf36fb61572a757732eeb07e905c61b497fa247c1a8397ee775c2d'}, + {'addr2line-0.22.0.tar.gz': '6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'anstream-0.6.14.tar.gz': '418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b'}, + {'anstyle-1.0.7.tar.gz': '038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b'}, + {'anstyle-parse-0.2.4.tar.gz': 'c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4'}, + {'anstyle-query-1.1.0.tar.gz': 'ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391'}, + {'anstyle-wincon-3.0.3.tar.gz': '61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19'}, + {'assert_cli-0.6.3.tar.gz': 'a29ab7c0ed62970beb0534d637a8688842506d0ff9157de83286dacd065c8149'}, + {'atomic-polyfill-1.0.3.tar.gz': '8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4'}, + {'autocfg-1.3.0.tar.gz': '0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0'}, + {'backtrace-0.3.73.tar.gz': '5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a'}, + {'bird_tool_utils-0.4.1.tar.gz': '6f5f475a22ef913421b64a8d09fad619d9a3a828a5a7450e9b32ab177aa3df56'}, + {'bird_tool_utils-man-0.4.0.tar.gz': 'a263d1717fd146db3c9bfc0668f9bf19d9078a79fa2c1ba54f00b6d8702d4e0b'}, + {'bitflags-2.6.0.tar.gz': 'b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de'}, + {'buffer-redux-1.0.1.tar.gz': '4c9f8ddd22e0a12391d1e7ada69ec3b0da1914f1cec39c5cf977143c5b2854f5'}, + {'bytecount-0.6.8.tar.gz': '5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cargo-husky-1.5.0.tar.gz': '7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad'}, + {'cc-1.1.5.tar.gz': '324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-4.5.9.tar.gz': '64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462'}, + {'clap_builder-4.5.9.tar.gz': '6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942'}, + {'clap_lex-0.7.1.tar.gz': '4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70'}, + {'cobs-0.2.3.tar.gz': '67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15'}, + {'colorchoice-1.0.1.tar.gz': '0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422'}, + {'colored-1.9.4.tar.gz': '5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355'}, + {'crc32fast-1.4.2.tar.gz': 'a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3'}, + {'critical-section-1.1.2.tar.gz': '7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216'}, + {'difference-2.0.0.tar.gz': '524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198'}, + {'embedded-io-0.4.0.tar.gz': 'ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced'}, + {'env_logger-0.10.2.tar.gz': '4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580'}, + {'environment-0.1.1.tar.gz': '1f4b14e20978669064c33b4c1e0fb4083412e40fe56cbea2eae80fd7591503ee'}, + {'errno-0.3.9.tar.gz': '534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba'}, + {'failure-0.1.8.tar.gz': 'd32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86'}, + {'failure_derive-0.1.8.tar.gz': 'aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4'}, + {'fastrand-2.1.0.tar.gz': '9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a'}, + {'flate2-1.0.30.tar.gz': '5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae'}, + {'gimli-0.29.0.tar.gz': '40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd'}, + {'hash32-0.2.1.tar.gz': 'b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67'}, + {'heapless-0.7.17.tar.gz': 'cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f'}, + {'hermit-abi-0.3.9.tar.gz': 'd231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'is_terminal_polyfill-1.70.0.tar.gz': 'f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800'}, + {'itoa-1.0.11.tar.gz': '49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b'}, + {'lazy_static-1.5.0.tar.gz': 'bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe'}, + {'libc-0.2.155.tar.gz': '97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c'}, + {'linux-raw-sys-0.4.14.tar.gz': '78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89'}, + {'lock_api-0.4.12.tar.gz': '07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17'}, + {'log-0.4.22.tar.gz': 'a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24'}, + {'lzma-sys-0.1.20.tar.gz': '5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27'}, + {'memchr-2.7.4.tar.gz': '78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3'}, + {'miniz_oxide-0.7.4.tar.gz': 'b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08'}, + {'needletail-0.5.1.tar.gz': 'db05a5ab397f64070d8c998fa0fbb84e484b81f95752af317dac183a82d9295d'}, + {'object-0.36.1.tar.gz': '081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce'}, + {'pkg-config-0.3.30.tar.gz': 'd231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec'}, + {'postcard-1.0.8.tar.gz': 'a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8'}, + {'proc-macro2-1.0.86.tar.gz': '5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77'}, + {'quote-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'regex-1.10.5.tar.gz': 'b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f'}, + {'regex-automata-0.4.7.tar.gz': '38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df'}, + {'regex-syntax-0.8.4.tar.gz': '7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b'}, + {'roff-0.1.0.tar.gz': 'e33e4fb37ba46888052c763e4ec2acfedd8f00f62897b630cadb6298b833675e'}, + {'rustc-demangle-0.1.24.tar.gz': '719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f'}, + {'rustc_version-0.4.0.tar.gz': 'bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366'}, + {'rustix-0.38.34.tar.gz': '70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f'}, + {'ryu-1.0.18.tar.gz': 'f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'semver-1.0.23.tar.gz': '61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b'}, + {'serde-1.0.204.tar.gz': 'bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12'}, + {'serde_derive-1.0.204.tar.gz': 'e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222'}, + {'serde_json-1.0.120.tar.gz': '4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5'}, + {'spin-0.9.8.tar.gz': '6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67'}, + {'stable_deref_trait-1.2.0.tar.gz': 'a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3'}, + {'strsim-0.11.1.tar.gz': '7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.71.tar.gz': 'b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462'}, + {'synstructure-0.12.6.tar.gz': 'f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f'}, + {'tempfile-3.10.1.tar.gz': '85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-xid-0.2.4.tar.gz': 'f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c'}, + {'utf8parse-0.2.2.tar.gz': '06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821'}, + {'version-compare-0.1.1.tar.gz': '579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29'}, + {'winapi-0.3.9.tar.gz': '5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419'}, + {'winapi-i686-pc-windows-gnu-0.4.0.tar.gz': 'ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6'}, + {'winapi-util-0.1.8.tar.gz': '4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b'}, + {'winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz': '712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f'}, + {'windows-sys-0.52.0.tar.gz': '282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d'}, + {'windows-targets-0.52.6.tar.gz': '9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973'}, + {'windows_aarch64_gnullvm-0.52.6.tar.gz': '32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3'}, + {'windows_aarch64_msvc-0.52.6.tar.gz': '09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469'}, + {'windows_i686_gnu-0.52.6.tar.gz': '8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b'}, + {'windows_i686_gnullvm-0.52.6.tar.gz': '0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66'}, + {'windows_i686_msvc-0.52.6.tar.gz': '240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66'}, + {'windows_x86_64_gnu-0.52.6.tar.gz': '147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78'}, + {'windows_x86_64_gnullvm-0.52.6.tar.gz': '24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d'}, + {'windows_x86_64_msvc-0.52.6.tar.gz': '589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec'}, + {'xz2-0.1.7.tar.gz': '388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2'}, +] + +builddependencies = [ + ('Rust', '1.75.0'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s --help"] + +crates = [ + ('addr2line', '0.22.0'), + ('adler', '1.0.2'), + ('aho-corasick', '1.1.3'), + ('anstream', '0.6.14'), + ('anstyle', '1.0.7'), + ('anstyle-parse', '0.2.4'), + ('anstyle-query', '1.1.0'), + ('anstyle-wincon', '3.0.3'), + ('assert_cli', '0.6.3'), + ('atomic-polyfill', '1.0.3'), + ('autocfg', '1.3.0'), + ('backtrace', '0.3.73'), + ('bird_tool_utils', '0.4.1'), + ('bird_tool_utils-man', '0.4.0'), + ('bitflags', '2.6.0'), + ('buffer-redux', '1.0.1'), + ('bytecount', '0.6.8'), + ('byteorder', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cargo-husky', '1.5.0'), + ('cc', '1.1.5'), + ('cfg-if', '1.0.0'), + ('clap', '4.5.9'), + ('clap_builder', '4.5.9'), + ('clap_lex', '0.7.1'), + ('cobs', '0.2.3'), + ('colorchoice', '1.0.1'), + ('colored', '1.9.4'), + ('crc32fast', '1.4.2'), + ('critical-section', '1.1.2'), + ('difference', '2.0.0'), + ('embedded-io', '0.4.0'), + ('env_logger', '0.10.2'), + ('environment', '0.1.1'), + ('errno', '0.3.9'), + ('failure', '0.1.8'), + ('failure_derive', '0.1.8'), + ('fastrand', '2.1.0'), + ('flate2', '1.0.30'), + ('gimli', '0.29.0'), + ('hash32', '0.2.1'), + ('heapless', '0.7.17'), + ('hermit-abi', '0.3.9'), + ('humantime', '2.1.0'), + ('is-terminal', '0.4.12'), + ('is_terminal_polyfill', '1.70.0'), + ('itoa', '1.0.11'), + ('lazy_static', '1.5.0'), + ('libc', '0.2.155'), + ('linux-raw-sys', '0.4.14'), + ('lock_api', '0.4.12'), + ('log', '0.4.22'), + ('lzma-sys', '0.1.20'), + ('memchr', '2.7.4'), + ('miniz_oxide', '0.7.4'), + ('needletail', '0.5.1'), + ('object', '0.36.1'), + ('pkg-config', '0.3.30'), + ('postcard', '1.0.8'), + ('proc-macro2', '1.0.86'), + ('quote', '1.0.36'), + ('regex', '1.10.5'), + ('regex-automata', '0.4.7'), + ('regex-syntax', '0.8.4'), + ('roff', '0.1.0'), + ('rustc-demangle', '0.1.24'), + ('rustc_version', '0.4.0'), + ('rustix', '0.38.34'), + ('ryu', '1.0.18'), + ('scopeguard', '1.2.0'), + ('semver', '1.0.23'), + ('serde', '1.0.204'), + ('serde_derive', '1.0.204'), + ('serde_json', '1.0.120'), + ('spin', '0.9.8'), + ('stable_deref_trait', '1.2.0'), + ('strsim', '0.11.1'), + ('syn', '1.0.109'), + ('syn', '2.0.71'), + ('synstructure', '0.12.6'), + ('tempfile', '3.10.1'), + ('termcolor', '1.4.1'), + ('unicode-ident', '1.0.12'), + ('unicode-xid', '0.2.4'), + ('utf8parse', '0.2.2'), + ('version-compare', '0.1.1'), + ('winapi', '0.3.9'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.8'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), + ('windows-sys', '0.52.0'), + ('windows-targets', '0.52.6'), + ('windows_aarch64_gnullvm', '0.52.6'), + ('windows_aarch64_msvc', '0.52.6'), + ('windows_i686_gnu', '0.52.6'), + ('windows_i686_gnullvm', '0.52.6'), + ('windows_i686_msvc', '0.52.6'), + ('windows_x86_64_gnu', '0.52.6'), + ('windows_x86_64_gnullvm', '0.52.6'), + ('windows_x86_64_msvc', '0.52.6'), + ('xz2', '0.1.7'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb b/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb new file mode 100644 index 00000000000..8fc1afb7854 --- /dev/null +++ b/easybuild/easyconfigs/s/smfishHmrf/smfishHmrf-1.3.3-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonPackage' + +name = 'smfishHmrf' +version = '1.3.3' + +homepage = 'https://pypi.org/project/smfishHmrf' +description = "smFish spatial pattern mining and cell type prediction" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['2fed45be8b5a5d47657cd4c8e9023b9ea6624863fc55a12afda092c6be37ca93'] + +dependencies = [ + ('Python', '3.10.4'), + ('Seaborn', '0.12.1'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('Java', '11', '', SYSTEM), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'smfishHmrf'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..65ec48867c8 --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-10.2.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': '10.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-20160702_build-shared-lib.patch'] +checksums = [ + '8e1b37ab0e8cd9d3d5cbfdba80258c0ebd0862749b531e213f44cdfe2fc541d8', # 2610e25.tar.gz + '2aa63ec5cd0260efcab002eaf4bbf62497b91afc0e3f82d8290496803c35e582', # smithwaterman-20160702_build-shared-lib.patch +] + +builddependencies = [('binutils', '2.35')] + +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/smithwaterman/smithwaterman-20160702-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..91ca0fc0cb8 --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-10.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': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['%s.tar.gz' % local_commit] +patches = ['%(name)s-20160702_build-shared-lib.patch'] +checksums = [ + '8e1b37ab0e8cd9d3d5cbfdba80258c0ebd0862749b531e213f44cdfe2fc541d8', # 2610e25.tar.gz + '2aa63ec5cd0260efcab002eaf4bbf62497b91afc0e3f82d8290496803c35e582', # smithwaterman-20160702_build-shared-lib.patch +] + +builddependencies = [('binutils', '2.36.1')] + +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/smithwaterman/smithwaterman-20160702-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1675a404962 --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-11.2.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': '11.2.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.37')] + +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/smithwaterman/smithwaterman-20160702-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..09254c6395f --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-11.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': '11.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.38')] + +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/smithwaterman/smithwaterman-20160702-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d546525a5c9 --- /dev/null +++ b/easybuild/easyconfigs/s/smithwaterman/smithwaterman-20160702-GCCcore-12.2.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.2.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.39')] + +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/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/smooth-topk/smooth-topk-1.0-20210817-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/s/smooth-topk/smooth-topk-1.0-20210817-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..9cdb80b108b --- /dev/null +++ b/easybuild/easyconfigs/s/smooth-topk/smooth-topk-1.0-20210817-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'smooth-topk' +version = '1.0-20210817' +local_commit = '12c1645' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/oval-group/smooth-topk' +description = "Smooth Loss Functions for Deep Top-k Classification" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('tqdm', '4.61.2'), + ('PyTorch', '1.10.0', versionsuffix), + ('SciPy-bundle', '2021.05'), + ('torchvision', '0.11.1', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('logger', '1.4', { + 'checksums': ['4ecac57133c6376fa215f0fe6b4dc4d60e4d1ad8be005cab4e8a702df682f8b3'], + }), + (name, version, { + 'source_urls': ['https://github.com/oval-group/smooth-topk/archive/'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['ccba089b155c196bb43ab522b5ae00a58d332d856c2ec83b9635cab5eae62be5'], + 'modulename': 'topk', + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/smooth-topk/smooth-topk-1.0-20210817-foss-2021a.eb b/easybuild/easyconfigs/s/smooth-topk/smooth-topk-1.0-20210817-foss-2021a.eb new file mode 100644 index 00000000000..e1854dc6989 --- /dev/null +++ b/easybuild/easyconfigs/s/smooth-topk/smooth-topk-1.0-20210817-foss-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'smooth-topk' +version = '1.0-20210817' +local_commit = '12c1645' + +homepage = 'https://github.com/oval-group/smooth-topk' +description = "Smooth Loss Functions for Deep Top-k Classification" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('tqdm', '4.61.2'), + ('PyTorch', '1.10.0'), + ('SciPy-bundle', '2021.05'), + ('torchvision', '0.11.3'), +] + +use_pip = True + +exts_list = [ + ('logger', '1.4', { + 'checksums': ['4ecac57133c6376fa215f0fe6b4dc4d60e4d1ad8be005cab4e8a702df682f8b3'], + }), + (name, version, { + 'source_urls': ['https://github.com/oval-group/smooth-topk/archive/'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ, + }], + 'checksums': ['ccba089b155c196bb43ab522b5ae00a58d332d856c2ec83b9635cab5eae62be5'], + 'modulename': 'topk', + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/snakemake/snakemake-6.10.0-foss-2021b.eb b/easybuild/easyconfigs/s/snakemake/snakemake-6.10.0-foss-2021b.eb new file mode 100644 index 00000000000..92c8fcd8df4 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-6.10.0-foss-2021b.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '6.10.0' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('GitPython', '3.1.24'), + ('IPython', '7.26.0'), +] + +use_pip = True +sanity_pip_check = True + +# snakemake-6.6.1_fix_jobs.patch is needed for clusters that do not support copying the full env into the batch job +exts_list = [ + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('ratelimiter', '1.2.0.post0', { + 'checksums': ['5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.7', { + 'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'], + }), + ('amply', '0.1.4', { + 'checksums': ['cb12dcb49d16b168c02be128a1527ecde50211e4bd94af76ff4e67707f5a2d38'], + }), + ('PuLP', '2.5.1', { + 'checksums': ['27c2a87a98ea0e9a08c7c46e6df47d6d4e753ad9991fea2901892425d89c99a6'], + }), + ('smart_open', '5.2.1', { + 'checksums': ['75abf758717a92a8f53aa96953f0c245c8cedf8e1e4184903db3659b419d4c17'], + }), + ('connection_pool', '0.0.3', { + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + (name, version, { + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '199a86c8d1fcfdb88c4271a1507b0ab371a15bc407f2dad9b0ab8c43438adff8', # snakemake-6.10.0.tar.gz + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +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/snakemake/snakemake-6.6.1-foss-2021a.eb b/easybuild/easyconfigs/s/snakemake/snakemake-6.6.1-foss-2021a.eb new file mode 100644 index 00000000000..cf2f4ba5d4d --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-6.6.1-foss-2021a.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '6.6.1' + +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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('GitPython', '3.1.18'), + ('IPython', '7.25.0'), +] + +use_pip = True +sanity_pip_check = True + +# snakemake-6.6.1_fix_jobs.patch is needed for clusters that do not support copying the full env into the batch job +exts_list = [ + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('ratelimiter', '1.2.0.post0', { + 'checksums': ['5c395dcabdbbde2e5178ef3f89b568a3066454a6ddc223b76473dac22f89b4f7'], + }), + ('ConfigArgParse', '1.5.1', { + 'checksums': ['371f46577e76ec71a183b88378f36dd09f4b946f60fe60712f411b020f26b812'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.6', { + 'checksums': ['a7428f56ef844f5055bb9e9e44b343983773ae6dce0fe5b101e08e27ffbd50ac'], + }), + ('amply', '0.1.4', { + 'checksums': ['cb12dcb49d16b168c02be128a1527ecde50211e4bd94af76ff4e67707f5a2d38'], + }), + ('PuLP', '2.4', { + 'checksums': ['b2aff10989b3692e3a59301a0cb0acddeb25dcea378f8804c86007075eae55b5'], + }), + ('smart_open', '4.2.0', { + 'checksums': ['d9f5a0f173ccb9bbae528db5a3804f57145815774f77ef755b9b0f3b4b2a9dcb'], + }), + ('connection_pool', '0.0.3', { + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + (name, version, { + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '91637a801342f3bc349c033b284fef7c0201b4e5e29d5650cb6c7f69096d4184', # snakemake-6.6.1.tar.gz + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +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/snakemake/snakemake-6.6.1_fix_jobs.patch b/easybuild/easyconfigs/s/snakemake/snakemake-6.6.1_fix_jobs.patch new file mode 100644 index 00000000000..503ea396a65 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-6.6.1_fix_jobs.patch @@ -0,0 +1,16 @@ +Load the snakemake module before running in job script, with added environment variable SNAKEMAKE_LOAD_MODULE, +and always use the python executable defined by the environment. +This patch is for clusters that don't support exporting the full environment into the batch job. +Author: Samuel Moors (Vrije Universiteit Brussel) +--- snakemake/executors/__init__.py.orig 2021-07-26 11:52:00.645527272 +0200 ++++ snakemake/executors/__init__.py 2021-07-26 13:51:35.838445917 +0200 +@@ -682,7 +682,8 @@ + "{envvars} " "cd {workflow.workdir_init} && " + if assume_shared_fs + else "", +- "{sys.executable} " if assume_shared_fs else "python ", ++ os.getenv('SNAKEMAKE_LOAD_MODULE', ':') + ' && ', ++ "python ", + "-m snakemake {target} --snakefile {snakefile} ", + "--force --cores {cores} --keep-target-files --keep-remote --max-inventory-time 0 ", + "{waitfiles_parameter:u} --latency-wait {latency_wait} ", diff --git a/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb b/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb new file mode 100644 index 00000000000..4f440890d23 --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-7.18.2-foss-2021b.eb @@ -0,0 +1,93 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '7.18.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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('GitPython', '3.1.24'), + ('IPython', '7.26.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.7', { + 'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'], + }), + ('amply', '0.1.5', { + 'checksums': ['ad717b490b6b7055909faa195e82a4432b706f8f95854050172f42931e478426'], + }), + ('PuLP', '2.7.0', { + 'checksums': ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'], + }), + ('smart_open', '6.2.0', { + 'checksums': ['1b4df5c8365218f3852c507451920ccad606c80b0acb4e67508e50ba9b5d2632'], + }), + ('connection_pool', '0.0.3', { + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('reretry', '0.11.1', { + 'checksums': ['4ae1840ae9e443822bb70543c485bb9c45d1d009e32bd6809f2a9f2839149f5d'], + }), + ('throttler', '1.2.1', { + 'checksums': ['8b23d3485a96d98484024a850c1887ccc685bead17e86c8a9e4b0335e7d74778'], + # workaround for https://github.com/uburuntu/throttler/issues/3 + 'preinstallopts': "touch readme.md requirements-dev.txt && ", + }), + ('dpath', '2.0.6', { + 'checksums': ['5a1ddae52233fbc8ef81b15fb85073a81126bb43698d3f3a1b6aaf561a46cdc0'], + }), + ('plac', '1.3.5', { + 'checksums': ['38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090'], + }), + # yte requires PyYAML >= 6.0 + ('PyYAML', '6.0', { + 'checksums': ['68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2'], + 'modulename': 'yaml', + }), + ('yte', '1.5.1', { + 'checksums': ['6d0b315b78af83276d78f5f67c107c84238f772a76d74f4fc77905b46f3731f5'], + }), + (name, version, { + # patch is needed for clusters that do not support copying the full env into the batch job + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '23f52b9a0c86da3b974a3cfc097fa82b41c49dab05543c0d18377c854852f771', # snakemake-7.18.2 + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +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/snakemake/snakemake-7.22.0-foss-2022a.eb b/easybuild/easyconfigs/s/snakemake/snakemake-7.22.0-foss-2022a.eb new file mode 100644 index 00000000000..13db0e39c4e --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-7.22.0-foss-2022a.eb @@ -0,0 +1,92 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '7.22.0' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('GitPython', '3.1.27'), + ('IPython', '8.5.0'), + ('PyYAML', '6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.9', { + 'checksums': ['f41a34490d44934b533a7bdaff979ee8a47203fd2d8a746db83f2d5ab12458b9'], + }), + ('amply', '0.1.5', { + 'checksums': ['ad717b490b6b7055909faa195e82a4432b706f8f95854050172f42931e478426'], + }), + ('PuLP', '2.7.0', { + 'checksums': ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'], + }), + ('smart-open', '6.3.0', { + 'sources': ['smart_open-%(version)s.tar.gz'], + 'checksums': ['d5238825fe9a9340645fac3d75b287c08fbb99fb2b422477de781c9f5f09e019'], + }), + ('connection-pool', '0.0.3', { + 'sources': ['connection_pool-%(version)s.tar.gz'], + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('reretry', '0.11.8', { + 'checksums': ['f2791fcebe512ea2f1d153a2874778523a8064860b591cd90afc21a8bed432e3'], + }), + ('throttler', '1.2.2', { + 'checksums': ['d54db406d98e1b54d18a9ba2b31ab9f093ac64a0a59d730c1cf7bb1cdfc94a58'], + }), + ('dpath', '2.1.4', { + 'checksums': ['3380a77d0db4abf104125860ff6eb4bd07c97c65b81aad42a609717089a1bed0'], + }), + ('plac', '1.3.5', { + 'checksums': ['38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090'], + }), + ('yte', '1.5.1', { + 'checksums': ['6d0b315b78af83276d78f5f67c107c84238f772a76d74f4fc77905b46f3731f5'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + (name, version, { + # patch is needed for clusters that do not support copying the full env into the batch job + # 'patches': ['snakemake-%(version)s_fix_jobs.patch'], + 'checksums': [ + '68d7bb4ab7555f7b58a3ba748a880024df919042cfb670da231886385de697cd', # snakemake-7.22.0 + # '916875eaf4869c65b93098e362b8676cf55c6e37067a54b191f34b13e06c37e3', # snakemake-6.6.1_fix_jobs.patch + ], + }), +] + +# SNAKEMAKE_LOAD_MODULE is needed for snakemake-6.6.1_fix_jobs.patch to work +# local_snakemake_load is the command for loading this module (here: default EB module naming scheme) +# local_snakemake_load = 'module load %(module_name)s' +# modextravars = {'SNAKEMAKE_LOAD_MODULE': local_snakemake_load} + +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/snakemake/snakemake-7.32.3-foss-2022b.eb b/easybuild/easyconfigs/s/snakemake/snakemake-7.32.3-foss-2022b.eb new file mode 100644 index 00000000000..49a41c7b93a --- /dev/null +++ b/easybuild/easyconfigs/s/snakemake/snakemake-7.32.3-foss-2022b.eb @@ -0,0 +1,90 @@ +easyblock = 'PythonBundle' + +name = 'snakemake' +version = '7.32.3' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('GitPython', '3.1.31'), + ('IPython', '8.14.0'), + ('PyYAML', '6.0'), + ('wrapt', '1.15.0'), + ('PuLP', '2.7.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ConfigArgParse', '1.7', { + 'checksums': ['e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1'], + }), + ('datrie', '0.8.2', { + 'checksums': ['525b08f638d5cf6115df6ccd818e5a01298cd230b2dac91c8ff2e6499d18765d'], + }), + ('toposort', '1.10', { + 'checksums': ['bfbb479c53d0a696ea7402601f4e693c97b0367837c8898bc6471adfca37a6bd'], + }), + ('amply', '0.1.6', { + 'checksums': ['61421103ccf8e1066717115fe7917610d831d551c68d31a110876a5b6c78aea4'], + }), + ('smart-open', '6.3.0', { + 'sources': ['smart_open-%(version)s.tar.gz'], + 'checksums': ['d5238825fe9a9340645fac3d75b287c08fbb99fb2b422477de781c9f5f09e019'], + }), + ('connection-pool', '0.0.3', { + 'sources': ['connection_pool-%(version)s.tar.gz'], + 'checksums': ['bf429e7aef65921c69b4ed48f3d48d3eac1383b05d2df91884705842d974d0dc'], + }), + ('stopit', '1.1.2', { + 'checksums': ['f7f39c583fd92027bd9d06127b259aee7a5b7945c1f1fa56263811e1e766996d'], + }), + ('reretry', '0.11.8', { + 'checksums': ['f2791fcebe512ea2f1d153a2874778523a8064860b591cd90afc21a8bed432e3'], + }), + ('throttler', '1.2.2', { + 'checksums': ['d54db406d98e1b54d18a9ba2b31ab9f093ac64a0a59d730c1cf7bb1cdfc94a58'], + }), + ('dpath', '2.1.6', { + 'checksums': ['f1e07c72e8605c6a9e80b64bc8f42714de08a789c7de417e49c3f87a19692e47'], + }), + ('plac', '1.3.5', { + 'checksums': ['38bdd864d0450fb748193aa817b9c458a8f5319fbf97b2261151cfc0a5812090'], + }), + ('yte', '1.5.1', { + 'checksums': ['6d0b315b78af83276d78f5f67c107c84238f772a76d74f4fc77905b46f3731f5'], + }), + ('humanfriendly', '10.0', { + 'checksums': ['6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc'], + }), + ('nbformat', '5.9.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9'], + }), + ('jupyter-core', '5.3.1', { + 'modulename': 'jupyter_core', + 'source_tmpl': 'jupyter_core-%(version)s.tar.gz', + 'checksums': ['5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba'], + }), + ('fastjsonschema', '2.18.0', { + 'checksums': ['e820349dd16f806e4bd1467a138dced9def4bc7d6213a34295272a6cac95b5bd'], + }), + (name, version, { + 'checksums': ['cbe586fe28349982307f008ca40e839d569cf5d540008b0c91ebfef689b49b18'], + }), +] + +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/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-12.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a221f9f9ea5 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.10-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +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': '12.3.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.26.3'), +] + +# 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/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/snappy/snappy-1.1.8-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.2.0.eb index 4397a7c9873..3627cd3967c 100644 --- a/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.2.0.eb @@ -19,7 +19,9 @@ builddependencies = [ ('CMake', '3.18.4'), ] -configopts = ['', '-DBUILD_SHARED_LIBS=ON'] +# 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'], diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.3.0.eb index cb8a7b5b743..c0006d14655 100644 --- a/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-10.3.0.eb @@ -19,7 +19,9 @@ builddependencies = [ ('CMake', '3.20.1'), ] -configopts = ['', '-DBUILD_SHARED_LIBS=ON'] +# 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'], diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-9.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-9.3.0.eb index bf652cb387d..2313fa31373 100644 --- a/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.8-GCCcore-9.3.0.eb @@ -19,7 +19,9 @@ builddependencies = [ ('CMake', '3.16.4'), ] -configopts = ['', '-DBUILD_SHARED_LIBS=ON'] +# 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'], diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..286a3ef29fb --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.9' + +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': '11.2.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_inline-functions.patch', + '%(name)s-%(version)s_use-default-rtti.patch', +] +checksums = [ + '75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7', # 1.1.9.tar.gz + 'ad79190b274df5ddabf14eddd2bb0d9a091ee7d44e4afde89febf9a8f783fdce', # snappy-1.1.9_inline-functions.patch + 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d', # snappy-1.1.9_use-default-rtti.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +# 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/snappy/snappy-1.1.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..459be39d9c3 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.9' + +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': '11.3.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_inline-functions.patch', + '%(name)s-%(version)s_use-default-rtti.patch', +] +checksums = [ + '75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7', # 1.1.9.tar.gz + 'ad79190b274df5ddabf14eddd2bb0d9a091ee7d44e4afde89febf9a8f783fdce', # snappy-1.1.9_inline-functions.patch + 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d', # snappy-1.1.9_use-default-rtti.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +# 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/snappy/snappy-1.1.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..5f980fff33b --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'snappy' +version = '1.1.9' + +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': '12.2.0'} + +source_urls = ['https://github.com/google/snappy/archive/'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_inline-functions.patch', + '%(name)s-%(version)s_use-default-rtti.patch', +] +checksums = [ + '75c1fbb3d618dd3a0483bff0e26d0a92b495bbe5059c8b4f1c962b478b6e06e7', # 1.1.9.tar.gz + 'ad79190b274df5ddabf14eddd2bb0d9a091ee7d44e4afde89febf9a8f783fdce', # snappy-1.1.9_inline-functions.patch + 'af56538330b2d781677c7d94576c15fc36e004ae0b4f1ac7d86bbec22b65e73d', # snappy-1.1.9_use-default-rtti.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +# 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/snappy/snappy-1.1.9_inline-functions.patch b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_inline-functions.patch new file mode 100644 index 00000000000..3fd38154287 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_inline-functions.patch @@ -0,0 +1,67 @@ +From 0c716d435abe65250100c2caea0e5126ac4e14bd Mon Sep 17 00:00:00 2001 +From: "Georgi D. Sotirov" +Date: Wed, 5 May 2021 14:16:46 +0300 +Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE + +Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to +fix the following compilation errors and a warning with GCC: + +[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o +/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS +-I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3 +-march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3 +-DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c +/tmp/snappy-1.1.9/snappy.cc +/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline +function might not be inlinable [-Wattributes] + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair snappy::DecompressBranchless(const uint8_t*, const +uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned +char; ptrdiff_t = int]': +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in +call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**, +size_t*)': function body can be overwritten at link time + size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + ^ +/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here + size_t tag_type = AdvanceToNextTag(&ip, &tag); + ^ +CMakeFiles/snappy.dir/build.make:137: recipe for target +'CMakeFiles/snappy.dir/snappy.cc.o' failed + +Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE +macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++ +inline specifier. +--- + snappy.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/snappy.cc b/snappy.cc +index 79dc0e8d..51157be2 100644 +--- a/snappy.cc ++++ b/snappy.cc +@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) { + } + + SNAPPY_ATTRIBUTE_ALWAYS_INLINE +-size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { ++inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) { + const uint8_t*& ip = *ip_p; + // This section is crucial for the throughput of the decompression loop. + // The latency of an iteration is fundamentally constrained by the diff --git a/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch new file mode 100644 index 00000000000..3bdcc462cf0 --- /dev/null +++ b/easybuild/easyconfigs/s/snappy/snappy-1.1.9_use-default-rtti.patch @@ -0,0 +1,27 @@ +Disable any modification of the RTTI setting and follow what is set in the environment. +By default it is enabled in GCC and software might rely on the RTTI symbols in snappy. +author: Alex Domingo (Vrije Universiteit Brussel) +diff --git a/CMakeLists.txt.orig b/CMakeLists.txt +index 672561e..a4b2cc7 100644 +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -52,9 +52,6 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-") + add_definitions(-D_HAS_EXCEPTIONS=0) + +- # Disable RTTI. +- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-") + else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + # Use -Wall for clang and gcc. + if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall") +@@ -77,9 +74,6 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") + +- # Disable RTTI. +- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") + endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + + # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make diff --git a/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-10.2.0.eb b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..ac4d831cb43 --- /dev/null +++ b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-10.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'Tarball' + +name = 'snippy' +version = '4.6.0' + +homepage = 'https://github.com/tseemann/snippy' +description = "Rapid haploid variant calling and core genome alignment" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/tseemann/snippy/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7264e3819e249387effd3eba170ff49404b1cf7347dfa25944866f5aeb6b11c3'] + +dependencies = [ + ('Perl', '5.32.0'), + ('BioPerl', '1.7.8'), + ('BWA', '0.7.17'), + ('BCFtools', '1.12'), + ('BEDTools', '2.30.0'), + ('SAMtools', '1.11'), + ('parallel', '20210322'), + ('minimap2', '2.18'), + ('vcflib', '1.0.2'), + ('vt', '0.57721'), + ('samclip', '0.4.0'), + ('seqtk', '1.3'), + ('snp-sites', '2.5.1'), + ('snpEff', '5.0e', '-Java-13'), + ('any2fasta', '0.4.2'), + ('wgsim', '20111017'), + ('freebayes', '1.3.5') +] + +sanity_check_paths = { + 'files': ['bin/snippy', 'perl5/Snippy/Version.pm'], + 'dirs': ['etc', 'test'], +} + +sanity_check_commands = [ + "snippy --version", + "snippy --check", + "snippy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-9.3.0-Java-13-Python-3.8.2.eb b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-9.3.0-Java-13-Python-3.8.2.eb new file mode 100644 index 00000000000..aba93468232 --- /dev/null +++ b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-GCC-9.3.0-Java-13-Python-3.8.2.eb @@ -0,0 +1,61 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'CmdCp' + +name = 'snippy' +version = '4.6.0' +local_pyversuffix = '-Python-%(pyver)s' +local_javaversuffix = '-Java-%(javaver)s' +versionsuffix = local_javaversuffix + local_pyversuffix + +homepage = 'https://github.com/tseemann/snippy' +description = """Snippy finds SNPs between a haploid reference genome and your NGS sequence + reads. It will find both substitutions (snps) and insertions/deletions (indels). + Rapid haploid variant calling and core genome alignment.""" + +toolchain = {'name': 'GCC', 'version': '9.3.0'} + +github_account = 'tseemann' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['7264e3819e249387effd3eba170ff49404b1cf7347dfa25944866f5aeb6b11c3'] + +dependencies = [ + ('Java', '13', '', SYSTEM), + ('Python', '3.8.2'), + ('Perl', '5.30.2'), + ('BioPerl', '1.7.7'), + ('any2fasta', '0.4.2'), + ('BWA', '0.7.17'), + ('BCFtools', '1.10.2'), + ('BEDTools', '2.29.2'), + ('freebayes', '1.3.5', local_pyversuffix), + ('gzip', '1.10'), + ('minimap2', '2.17'), + ('parallel', '20200522'), + ('samclip', '0.4.0'), + ('SAMtools', '1.11'), + ('SeqLib', '1.2.0'), + ('seqtk', '1.3'), + ('snp-sites', '2.5.1'), + ('snpEff', '5.0', versionsuffix), + ('vcflib', '1.0.2', local_pyversuffix), + ('vt', '0.57721'), +] + +skipsteps = ['configure', 'build'] + +pretestopts = "cd test && " +runtest = ' ' + +files_to_copy = ['bin', 'etc', 'perl5', 'LICENSE', 'README.md'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'etc/snpeff.config'], + 'dirs': [], +} +sanity_check_commands = ["%(namelower)s --check"] + +modextrapaths = {'PERL5LIB': 'perl5/%(name)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snippy/snippy-4.6.0-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..c9b055c0b96 --- /dev/null +++ b/easybuild/easyconfigs/s/snippy/snippy-4.6.0-foss-2021b-R-4.1.2.eb @@ -0,0 +1,47 @@ +easyblock = 'Tarball' + +name = 'snippy' +version = '4.6.0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/tseemann/snippy' +description = "Rapid haploid variant calling and core genome alignment" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/tseemann/snippy/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7264e3819e249387effd3eba170ff49404b1cf7347dfa25944866f5aeb6b11c3'] + +dependencies = [ + ('R', '4.1.2'), + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), + ('BWA', '0.7.17'), + ('BCFtools', '1.14'), + ('BEDTools', '2.30.0'), + ('SAMtools', '1.14'), + ('parallel', '20210722'), + ('minimap2', '2.22'), + ('vt', '0.57721'), + ('samclip', '0.4.0'), + ('seqtk', '1.3'), + ('snp-sites', '2.5.1'), + ('snpEff', '5.0e', '-Java-11'), + ('any2fasta', '0.4.2'), + ('wgsim', '20111017'), + ('freebayes', '1.3.6', versionsuffix) +] + +sanity_check_paths = { + 'files': ['bin/snippy', 'perl5/Snippy/Version.pm'], + 'dirs': ['etc', 'test'], +} + +sanity_check_commands = [ + "snippy --version", + "snippy --check", + "snippy --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d21942b0531 --- /dev/null +++ b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.2.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'snp-sites' +version = '2.5.1' + +homepage = 'https://sanger-pathogens.github.io/snp-sites/' +description = """Finds SNP sites from a multi-FASTA alignment file.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['913f79302e5d3127aea382756abc9ffeb05e26ce00022f43a6ea16a55cdd7a7e'] + +builddependencies = [ + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), + ('binutils', '2.35'), + ('Check', '0.15.2'), +] + +dependencies = [('zlib', '1.2.11')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/snp-sites'], + 'dirs': [], +} +sanity_check_commands = ["snp-sites -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..002fb4afeaf --- /dev/null +++ b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'snp-sites' +version = '2.5.1' + +homepage = 'https://sanger-pathogens.github.io/snp-sites/' +description = """Finds SNP sites from a multi-FASTA alignment file.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['913f79302e5d3127aea382756abc9ffeb05e26ce00022f43a6ea16a55cdd7a7e'] + +builddependencies = [ + ('Autotools', '20210128'), + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), + ('Check', '0.15.2'), +] + +dependencies = [('zlib', '1.2.11')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/snp-sites'], + 'dirs': [], +} +sanity_check_commands = ["snp-sites -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..fa59a1e9405 --- /dev/null +++ b/easybuild/easyconfigs/s/snp-sites/snp-sites-2.5.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'snp-sites' +version = '2.5.1' + +homepage = 'https://sanger-pathogens.github.io/snp-sites/' +description = """Finds SNP sites from a multi-FASTA alignment file.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'sanger-pathogens' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['913f79302e5d3127aea382756abc9ffeb05e26ce00022f43a6ea16a55cdd7a7e'] + +builddependencies = [ + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), + ('Check', '0.15.2'), +] + +dependencies = [('zlib', '1.2.11')] + +preconfigopts = 'autoreconf -i -f &&' + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/snp-sites'], + 'dirs': [], +} +sanity_check_commands = ["snp-sites -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-5.0-GCCcore-9.3.0-Java-13-Python-3.8.2.eb b/easybuild/easyconfigs/s/snpEff/snpEff-5.0-GCCcore-9.3.0-Java-13-Python-3.8.2.eb index f3814608665..e05db5008e7 100644 --- a/easybuild/easyconfigs/s/snpEff/snpEff-5.0-GCCcore-9.3.0-Java-13-Python-3.8.2.eb +++ b/easybuild/easyconfigs/s/snpEff/snpEff-5.0-GCCcore-9.3.0-Java-13-Python-3.8.2.eb @@ -15,7 +15,7 @@ sources = ['%%(name)s_v%s_core.zip' % version.replace('.', '_')] checksums = ['2b177440eb4a2c3bbfc8f50d4adf9e405f3dcfc05a31a55c96f773f07832af34'] dependencies = [ - ('Java', '13', '', True), + ('Java', '13', '', SYSTEM), ('Python', '3.8.2'), ('Perl', '5.30.2'), ] diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-10.2.0-Java-13.eb b/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-10.2.0-Java-13.eb new file mode 100644 index 00000000000..2e5679be3cd --- /dev/null +++ b/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-10.2.0-Java-13.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'snpEff' +version = '5.0e' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://pcingola.github.io/SnpEff/' +description = """SnpEff is a variant annotation and effect prediction tool. + It annotates and predicts the effects of genetic variants (such as amino acid changes).""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://snpeff.blob.core.windows.net/versions/'] +sources = ['%%(name)s_v%s_core.zip' % version.replace('.', '_')] +checksums = ['85d907b5dd9e9008a0cf245956e3c9077a31e45f21a1b580d9b98a53fd8dcb9d'] + +dependencies = [ + ('Java', '13', '', SYSTEM), + ('Python', '3.8.6'), + ('Perl', '5.32.0'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] +fix_python_shebang_for = ['scripts/*.py'] + +sanity_check_paths = { + 'files': ['%(name)s.jar', 'SnpSift.jar', 'scripts/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s -version"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-11.2.0-Java-11.eb b/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-11.2.0-Java-11.eb new file mode 100644 index 00000000000..3281c84b650 --- /dev/null +++ b/easybuild/easyconfigs/s/snpEff/snpEff-5.0e-GCCcore-11.2.0-Java-11.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'snpEff' +version = '5.0e' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://pcingola.github.io/SnpEff/' +description = """SnpEff is a variant annotation and effect prediction tool. + It annotates and predicts the effects of genetic variants (such as amino acid changes).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://snpeff.blob.core.windows.net/versions/'] +sources = ['%%(name)s_v%s_core.zip' % version.replace('.', '_')] +checksums = ['85d907b5dd9e9008a0cf245956e3c9077a31e45f21a1b580d9b98a53fd8dcb9d'] + +dependencies = [ + # ignore website claim that Java 12+ is required, nothing is compiled for + # anything newer than Java 11 + ('Java', '11', '', SYSTEM), + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] +fix_python_shebang_for = ['scripts/*.py'] + +sanity_check_paths = { + 'files': ['%(name)s.jar', 'SnpSift.jar', 'scripts/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s -version"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/snpEff/snpEff-5.2c-GCCcore-12.2.0-Java-11.eb b/easybuild/easyconfigs/s/snpEff/snpEff-5.2c-GCCcore-12.2.0-Java-11.eb new file mode 100644 index 00000000000..3b25c1e949f --- /dev/null +++ b/easybuild/easyconfigs/s/snpEff/snpEff-5.2c-GCCcore-12.2.0-Java-11.eb @@ -0,0 +1,37 @@ +easyblock = 'Tarball' + +name = 'snpEff' +version = '5.2c' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://pcingola.github.io/SnpEff/' +description = """SnpEff is a variant annotation and effect prediction tool. + It annotates and predicts the effects of genetic variants (such as amino acid changes).""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://snpeff.blob.core.windows.net/versions/'] +sources = ['%%(name)s_v%s_core.zip' % version.replace('.', '_')] +checksums = ['9926f600662707e85478940abc283ef120a909f1d41c32a036f01d958cd51232'] + +dependencies = [ + # ignore website claim that Java 12+ is required, nothing is compiled for + # anything newer than Java 11 + ('Java', '11', '', SYSTEM), + ('Python', '3.10.8'), + ('Perl', '5.36.0'), +] + +fix_perl_shebang_for = ['scripts/*.pl'] +fix_python_shebang_for = ['scripts/*.py'] + +sanity_check_paths = { + 'files': ['%(name)s.jar', 'SnpSift.jar', 'scripts/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["%(name)s -version"] + +modextrapaths = {'PATH': 'scripts'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/solo/solo-1.3-foss-2022a.eb b/easybuild/easyconfigs/s/solo/solo-1.3-foss-2022a.eb new file mode 100644 index 00000000000..a9560982884 --- /dev/null +++ b/easybuild/easyconfigs/s/solo/solo-1.3-foss-2022a.eb @@ -0,0 +1,90 @@ +easyblock = 'PythonBundle' + +name = 'solo' +version = '1.3' + +homepage = 'https://github.com/calico/solo' +description = "Doublet detection via semi-supervised deep learning" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('IPython', '8.5.0'), + ('PyTorch', '1.12.0'), + ('tqdm', '4.64.0'), + ('Seaborn', '0.12.1'), + ('leidenalg', '0.9.1'), + ('scanpy', '1.9.1'), + ('openpyxl', '3.0.10'), + ('tensorboard', '2.10.0'), +] + +use_pip = True + +exts_list = [ + ('ConfigArgParse', '1.5.3', { + 'checksums': ['1b0b3cbf664ab59dada57123c81eff3d9737e0d11d8cf79e3d6eb10823f1739f'], + }), + ('docrep', '0.3.2', { + 'checksums': ['ed8a17e201abd829ef8da78a0b6f4d51fb99a4cbd0554adbed3309297f964314'], + }), + ('opt-einsum', '3.3.0', { + 'sources': ['opt_einsum-%(version)s.tar.gz'], + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('pyro-api', '0.1.2', { + 'modulename': 'pyroapi', + 'checksums': ['a1b900d9580aa1c2fab3b123ab7ff33413744da7c5f440bd4aadc4d40d14d920'], + }), + ('pyro-ppl', '1.8.4', { + 'modulename': 'pyro', + 'checksums': ['766fad61e52df48885de96d41213da1f8e8c1b79ecf308ad53189fcd15c1cb41'], + }), + ('commonmark', '0.9.1', { + 'checksums': ['452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60'], + }), + ('rich', '12.6.0', { + 'checksums': ['ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0'], + }), + ('pyDeprecate', '0.3.2', { + 'modulename': 'deprecate', + 'checksums': ['d481116cc5d7f6c473e7c4be820efdd9b90a16b594b350276e9e66a6cb5bdd29'], + }), + ('torchmetrics', '0.7.3', { + 'checksums': ['875e744a6db63c88757260d63cb80919d0398734a7f456f8ea4181bb2db957d8'], + }), + ('PyYAML', '5.4.1', { + 'modulename': 'yaml', + 'checksums': ['607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e'], + }), + ('pytorch-lightning', '1.3.8', { + 'preinstallopts': "sed -i 's/pyDeprecate==/pyDeprecate>=/g' requirements.txt && ", + 'checksums': ['60b0a3e464d394864dae4c8d251afa7aa453644a19bb7672f5ee400343cdf7b0'], + }), + ('scvi-tools', '0.14.6', { + 'modulename': 'scvi', + 'preinstallopts': "sed -i '/^setuptools/d' pyproject.toml && ", + 'checksums': ['f30a8a685624e49fa8a0d9b9d53152eb7b95e28b020ebd1c564387b2250bc38a'], + }), + ('solo-sc', version, { + 'modulename': 'solo', + 'preinstallopts': "sed -i 's/==/>=/g' requirements.txt && ", + 'checksums': ['e19e5697ad5e12b39dd2549682356171a438dfe70ec46277d4502bab047b624d'], + }), +] + +sanity_check_paths = { + 'files': ['bin/hashsolo', 'bin/solo'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "hashsolo --help", + "solo --help", +] + +sanity_pip_check = True + +moduleclass = 'bio' 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/spaCy/spaCy-3.4.4-foss-2022a.eb b/easybuild/easyconfigs/s/spaCy/spaCy-3.4.4-foss-2022a.eb new file mode 100644 index 00000000000..80d6185e427 --- /dev/null +++ b/easybuild/easyconfigs/s/spaCy/spaCy-3.4.4-foss-2022a.eb @@ -0,0 +1,82 @@ +easyblock = 'PythonBundle' + +name = 'spaCy' +version = '3.4.4' + +homepage = 'https://spacy.io/' +description = "Industrial-strength Natural Language Processing (NLP) in Python." + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +exts_list = [ + ('spacy-legacy', '3.0.10', { + 'checksums': ['16104595d8ab1b7267f817a449ad1f986eb1f2a2edf1050748f08739a479679a'], + }), + ('spacy-loggers', '1.0.4', { + 'checksums': ['e6f983bf71230091d5bb7b11bf64bd54415eca839108d5f83d9155d0ba93bf28'], + }), + ('cymem', '2.0.7', { + 'checksums': ['e6034badb5dd4e10344211c81f16505a55553a7164adc314c75bd80cf07e57a8'], + }), + ('murmurhash', '1.0.9', { + 'checksums': ['fe7a38cb0d3d87c14ec9dddc4932ffe2dbc77d75469ab80fd5014689b0e07b58'], + }), + ('preshed', '3.0.8', { + 'checksums': ['6c74c70078809bfddda17be96483c41d06d717934b07cab7921011d81758b357'], + }), + ('blis', '0.7.9', { + 'checksums': ['29ef4c25007785a90ffc2f0ab3d3bd3b75cd2d7856a9a482b7d0dac8d511a09d'], + }), + ('confection', '0.0.3', { + 'checksums': ['4fec47190057c43c9acbecb8b1b87a9bf31c469caa0d6888a5b9384432fdba5a'], + }), + ('thinc', '8.1.6', { + 'checksums': ['9241c37761f004fe684e637d2b4d8b79addebabc64e343aa1cba144fad2c9b47'], + }), + ('ml_datasets', '0.2.0', { + 'checksums': ['3f9c8901f8d6be3dab5b23ec3a6c01e619a60d0184696b1030cde2e3086943f1'], + }), + ('wasabi', '0.10.1', { + 'checksums': ['c8e372781be19272942382b14d99314d175518d7822057cb7a97010c4259d249'], + }), + ('srsly', '2.4.5', { + 'checksums': ['c842258967baa527cea9367986e42b8143a1a890e7d4a18d25a36edc3c7a33c7'], + }), + ('catalogue', '2.0.8', { + 'checksums': ['b325c77659208bfb6af1b0d93b1a1aa4112e1bb29a4c5ced816758a722f0e388'], + }), + ('typer', '0.7.0', { + 'checksums': ['ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165'], + }), + ('pathy', '0.10.1', { + 'checksums': ['4cd6e71b4cd5ff875cfbb949ad9fa5519d8d1dbe69d5fc1d1b23aa3cb049618b'], + }), + ('smart-open', '6.3.0', { + 'source_tmpl': 'smart_open-%(version)s.tar.gz', + 'checksums': ['d5238825fe9a9340645fac3d75b287c08fbb99fb2b422477de781c9f5f09e019'], + }), + ('tqdm', '4.64.1', { + 'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'], + }), + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('langcodes', '3.3.0', { + 'checksums': ['794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['e500cf2cb5f1849461a7928fa269703756069bdfb71559065240af6d0208b08c'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/spaCy/spaCy-3.7.4-foss-2023a.eb b/easybuild/easyconfigs/s/spaCy/spaCy-3.7.4-foss-2023a.eb new file mode 100644 index 00000000000..e8c79ceb6bf --- /dev/null +++ b/easybuild/easyconfigs/s/spaCy/spaCy-3.7.4-foss-2023a.eb @@ -0,0 +1,86 @@ +easyblock = 'PythonBundle' + +name = 'spaCy' +version = '3.7.4' + +homepage = 'https://spacy.io/' +description = "Industrial-strength Natural Language Processing (NLP) in Python." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('poetry', '1.7.1'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('pydantic', '2.5.3'), +] + +use_pip = True + +exts_list = [ + ('spacy-legacy', '3.0.12', { + 'checksums': ['b37d6e0c9b6e1d7ca1cf5bc7152ab64a4c4671f59c85adaf7a3fcb870357a774'], + }), + ('spacy-loggers', '1.0.5', { + 'checksums': ['d60b0bdbf915a60e516cc2e653baeff946f0cfc461b452d11a4d5458c6fe5f24'], + }), + ('cymem', '2.0.8', { + 'checksums': ['8fb09d222e21dcf1c7e907dc85cf74501d4cea6c4ed4ac6c9e016f98fb59cbbf'], + }), + ('murmurhash', '1.0.10', { + 'checksums': ['5282aab1317804c6ebd6dd7f69f15ba9075aee671c44a34be2bde0f1b11ef88a'], + }), + ('preshed', '3.0.9', { + 'checksums': ['721863c5244ffcd2651ad0928951a2c7c77b102f4e11a251ad85d37ee7621660'], + }), + ('blis', '0.7.11', { + 'checksums': ['cec6d48f75f7ac328ae1b6fbb372dde8c8a57c89559172277f66e01ff08d4d42'], + }), + ('confection', '0.1.4', { + 'checksums': ['e80f22fd008b5231a2e8852fac6de9e28f2276a04031d0536cff74fe4a990c8f'], + }), + ('thinc', '8.2.3', { + 'checksums': ['f5afc5222912a80bda8bdcec958362a2ba538d7027dc8db6154845d2859dca76'], + }), + ('ml_datasets', '0.2.0', { + 'checksums': ['3f9c8901f8d6be3dab5b23ec3a6c01e619a60d0184696b1030cde2e3086943f1'], + }), + ('wasabi', '1.1.2', { + 'checksums': ['1aaef3aceaa32edb9c91330d29d3936c0c39fdb965743549c173cb54b16c30b5'], + }), + ('srsly', '2.4.8', { + 'checksums': ['b24d95a65009c2447e0b49cda043ac53fecf4f09e358d87a57446458f91b8a91'], + }), + ('catalogue', '2.0.10', { + 'checksums': ['4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('smart-open', '6.4.0', { + 'source_tmpl': 'smart_open-%(version)s.tar.gz', + 'checksums': ['be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9'], + }), + ('langcodes', '3.3.0', { + 'checksums': ['794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6'], + }), + ('weasel', '0.3.4', { + 'checksums': ['eb16f92dc9f1a3ffa89c165e3a9acd28018ebb656e0da4da02c0d7d8ae3f6178'], + }), + ('cloudpathlib', '0.16.0', { + 'checksums': ['cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['525f2ced2e40761562c8cace93ef6a1e6e8c483f27bd564bc1b15f608efbe85b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-10.2.0.eb b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-10.2.0.eb new file mode 100644 index 00000000000..1d2162cf617 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-10.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '2.4.12' + +homepage = 'https://github.com/ogotoh/spaln' +description = """Spaln (space-efficient spliced alignment) is a stand-alone program that maps + and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +# disable use of -march=native, which makes compilation fail due to missing header files like fwd2s1_simd.h; +# see also https://github.com/ogotoh/spaln/issues/56 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/ogotoh/spaln/archive/'] +sources = ['ver%(version)s.tar.gz'] +checksums = ['0c5f842131409686dbaad01778960f53f1ebba8dd83d55b454ec4bf1b6bde2af'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.32.0'), +] + +start_dir = 'src' + +# we need to make sure not to pass --prefix, otherwise the configure script gets stuck in an infinite loop... +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=%(installdir)s/bin --table_dir=%(installdir)s/table --alndbs_dir=%(installdir)s/seqdb " +configopts += "--use_zlib=1" + +fix_perl_shebang_for = ['seqdb/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['makdbs', 'makmdm', 'sortgrcd', 'spaln']], + 'dirs': ['seqdb', 'table'], +} + +sanity_check_commands = ["spaln -h 2>&1 | grep 'SPALN version %(version)s'"] + +modextrapaths = { + 'PATH': 'seqdb', + 'PERL5LIB': 'seqdb', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb new file mode 100644 index 00000000000..b8da6b50290 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-2.4.12-GCC-11.2.0.eb @@ -0,0 +1,45 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '2.4.12' + +homepage = 'https://github.com/ogotoh/spaln' +description = """Spaln (space-efficient spliced alignment) is a stand-alone program that maps + and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +# disable use of -march=native, which makes compilation fail due to missing header files like fwd2s1_simd.h; +# see also https://github.com/ogotoh/spaln/issues/56 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/ogotoh/spaln/archive/'] +sources = ['ver%(version)s.tar.gz'] +checksums = ['0c5f842131409686dbaad01778960f53f1ebba8dd83d55b454ec4bf1b6bde2af'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), +] + +start_dir = 'src' + +# we need to make sure not to pass --prefix, otherwise the configure script gets stuck in an infinite loop... +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=%(installdir)s/bin --table_dir=%(installdir)s/table --alndbs_dir=%(installdir)s/seqdb " +configopts += "--use_zlib=1" +fix_perl_shebang_for = ['seqdb/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['makdbs', 'makmdm', 'sortgrcd', 'spaln']], + 'dirs': ['seqdb', 'table'], +} + +sanity_check_commands = ["spaln -h 2>&1 | grep 'SPALN version %(version)s'"] +modextrapaths = { + 'PATH': 'seqdb', + 'PERL5LIB': 'seqdb', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb b/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb new file mode 100644 index 00000000000..0bb954fe533 --- /dev/null +++ b/easybuild/easyconfigs/s/spaln/spaln-2.4.13f-GCC-11.3.0.eb @@ -0,0 +1,45 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'ConfigureMake' + +name = 'spaln' +version = '2.4.13f' + +homepage = 'https://github.com/ogotoh/spaln' +description = """Spaln (space-efficient spliced alignment) is a stand-alone program that maps + and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +# disable use of -march=native, which makes compilation fail due to missing header files like fwd2s1_simd.h; +# see also https://github.com/ogotoh/spaln/issues/56 +toolchainopts = {'optarch': False} + +source_urls = ['https://github.com/ogotoh/spaln/archive/'] +sources = ['ver.%(version)s.tar.gz'] +checksums = ['024fdcf58e38373983092280a7e10ff9c7e246e7d2465c165e158512e686225e'] + +dependencies = [ + ('zlib', '1.2.12'), + ('Perl', '5.34.1'), +] + +start_dir = 'src' + +# we need to make sure not to pass --prefix, otherwise the configure script gets stuck in an infinite loop... +prefix_opt = '--exec_prefix=' + +configopts = "--exec_prefix=%(installdir)s/bin --table_dir=%(installdir)s/table --alndbs_dir=%(installdir)s/seqdb " +configopts += "--use_zlib=1" +fix_perl_shebang_for = ['seqdb/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['makdbs', 'makmdm', 'sortgrcd', 'spaln']], + 'dirs': ['seqdb', 'table'], +} + +sanity_check_commands = ["spaln -h 2>&1 | grep 'SPALN version %(version)s'"] +modextrapaths = { + 'PATH': 'seqdb', + 'PERL5LIB': 'seqdb', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb new file mode 100644 index 00000000000..3c3a686982b --- /dev/null +++ b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7-foss-2022a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'sparse-neighbors-search' +version = '0.7' + +homepage = 'https://github.com/joachimwolff/sparse-neighbors-search' +description = """A Python/C++ implementation of an approximate nearest neighbor search for sparse data structures + based on the idea of local sensitive hash functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('umap-learn', '0.5.3'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'patches': ['sparse-neighbors-search-%(version)s_include-stddef.patch'], + 'source_urls': ['https://github.com/joachimwolff/sparse-neighbors-search/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': [ + {'0.7.tar.gz': '4c824eacb1d3c3fafba31eb5803b6291fc098be278b1eb8a63fd9cc7d998621b'}, + {'sparse-neighbors-search-0.7_include-stddef.patch': + '33f7b4fd0de7a2f8fbab19abc7d47a125ac971cf0fe8c8a24a21c0ddde0a8102'}, + ], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch new file mode 100644 index 00000000000..a06fb73fe00 --- /dev/null +++ b/easybuild/easyconfigs/s/sparse-neighbors-search/sparse-neighbors-search-0.7_include-stddef.patch @@ -0,0 +1,13 @@ +fix for "error: size_t was not declared in this scope" +see also https://github.com/joachimwolff/sparse-neighbors-search/issues/10 +author: Kenneth Hoste (HPC-UGent) +--- sparse-neighbors-search-0.7/sparse_neighbors_search/computation/typeDefinitionsBasic.h.orig 2023-02-13 18:33:53.877631417 +0100 ++++ sparse-neighbors-search-0.7/sparse_neighbors_search/computation/typeDefinitionsBasic.h 2023-02-13 18:33:57.576622509 +0100 +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #define MAX_VALUE std::numeric_limits::max() + diff --git a/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e41d4c3729f --- /dev/null +++ b/easybuild/easyconfigs/s/sparsehash/sparsehash-2.0.4-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Updated from previous easyconfig +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# Updated to GCCcore-11.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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [GITHUB_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['include/google/type_traits.h'], + 'dirs': [], +} + +moduleclass = 'devel' 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/spatialreg/spatialreg-1.1-8-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/s/spatialreg/spatialreg-1.1-8-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..913c5426184 --- /dev/null +++ b/easybuild/easyconfigs/s/spatialreg/spatialreg-1.1-8-foss-2021a-R-4.1.0.eb @@ -0,0 +1,55 @@ +# This easyconfig was created by James Carpenter of the BEAR Software team at the University of Birmingham. +easyblock = 'Bundle' + +name = 'spatialreg' +version = '1.1-8' +versionsuffix = '-R-%(rver)s' + +homepage = "https://cran.r-project.org/package=%(name)s" +description = """A collection of all the estimation functions for spatial cross-sectional models (on lattice/areal + data using spatial weights matrices) contained up to now in 'spdep', 'sphet' and 'spse'.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('R', '4.1.0'), + ('GDAL', '3.3.0'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") +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', +} + +exts_list = [ + ('wk', '0.5.0', { + 'checksums': ['71d500e0beaeed40501702adf214054d30278acb3171af6db4ae8dcdf5e7423a'], + }), + ('s2', '1.0.6', { + 'checksums': ['a6cc4ebf1e1c00abb632a324cd29e4ae061898b16bab46296e2081baee12a4f5'], + }), + ('sf', '1.0-2', { + 'checksums': ['ec850886ce61bbca5785a75ab4e99ac8b5aa0e2e776421fbcf5c3ee2f2240542'], + }), + ('spdep', version, { + 'checksums': ['f4403c2712d36518fb6c8ce4b73e47d43987079302f7cb1e77c0de894adf02cd'], + }), + (name, version, { + 'checksums': ['42f79661128758bcfa3a07a830d475c13b916b5a49af41648d5a9d15ffb1ae10'], + }), +] + +modextrapaths = {'R_LIBS_SITE': ''} + +sanity_check_paths = { + 'files': ['spatialreg/R/spatialreg'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.10.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.10.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..abc8066853a --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.10.0-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.10.0' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['697f91700237dbae2326b90469be32b876b2b44888302afbc7aceb68bcfe8224'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +sanity_check_paths = { + 'files': ['include/spdlog/spdlog.h'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..37e99e71124 --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.11.0' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['include/spdlog/spdlog.h'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..72f5f9a9923 --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.11.0-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.11.0' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ca5cae8d6cac15dae0ec63b21d6ad3530070650f68076f3a4a862ca293a858bb'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['include/spdlog/spdlog.h'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' 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/spdlog/spdlog-1.9.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/spdlog/spdlog-1.9.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..cd1597fa84b --- /dev/null +++ b/easybuild/easyconfigs/s/spdlog/spdlog-1.9.2-GCCcore-10.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'spdlog' +version = '1.9.2' + +homepage = 'https://github.com/gabime/spdlog' +description = 'Very fast, header-only/compiled, C++ logging library.' +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/gabime/spdlog/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6fff9215f5cb81760be4cc16d033526d1080427d236e86d70bb02994f85e3d38'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +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/spektral/spektral-1.1.0-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/s/spektral/spektral-1.1.0-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..e5b551b446f --- /dev/null +++ b/easybuild/easyconfigs/s/spektral/spektral-1.1.0-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,37 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Center - Seattle Washington - US +# +easyblock = 'PythonPackage' + +name = 'spektral' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/danielegrattarola/spektral' +description = """Spektral is a Python library for graph deep learning. The main goal of this + project is to provide a simple but flexible framework for creating graph neural networks (GNNs).""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3b73549f213f0d36a0bf67595aa3c4d84efb8e0e40d71aeaa1d78ea896245222'] + +dependencies = [ + ('Python', '3.9.6'), + ('lxml', '4.6.3'), + ('SciPy-bundle', '2021.10'), + ('networkx', '2.6.3'), + ('tqdm', '4.62.3'), + ('scikit-learn', '1.0.1'), + ('CUDA', '11.4.1', '', SYSTEM), + ('TensorFlow', '2.7.1', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spektral/spektral-1.2.0-fosscuda-2020b-TensorFlow-2.5.0.eb b/easybuild/easyconfigs/s/spektral/spektral-1.2.0-fosscuda-2020b-TensorFlow-2.5.0.eb new file mode 100644 index 00000000000..75446a8cbff --- /dev/null +++ b/easybuild/easyconfigs/s/spektral/spektral-1.2.0-fosscuda-2020b-TensorFlow-2.5.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'spektral' +version = '1.2.0' +local_tf_version = '2.5.0' +versionsuffix = '-TensorFlow-%s' % local_tf_version + +homepage = 'https://graphneural.network' +description = "Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('lxml', '4.6.2'), + ('networkx', '2.5'), + ('scikit-learn', '0.23.2'), + ('tqdm', '4.56.2'), + ('TensorFlow', local_tf_version), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['215f148e5d5067081bc28abe282bfd0942ed8be6d68f128fd7786006a884abf7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..d4b6fd82447 --- /dev/null +++ b/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'spektral' +version = '1.3.1' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://graphneural.network' +description = "Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('lxml', '4.9.2'), + ('networkx', '3.1'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('TensorFlow', '2.15.1', versionsuffix), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['953d9954995b8b434dd0f464e25407ad83446d39fe7a23543a8e2fec8c01eb8b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a.eb new file mode 100644 index 00000000000..244640d01f4 --- /dev/null +++ b/easybuild/easyconfigs/s/spektral/spektral-1.3.1-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonBundle' + +name = 'spektral' +version = '1.3.1' + +homepage = 'https://graphneural.network' +description = "Spektral is a Python library for graph deep learning, based on the Keras API and TensorFlow 2" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('lxml', '4.9.2'), + ('networkx', '3.1'), + ('scikit-learn', '1.3.1'), + ('tqdm', '4.66.1'), + ('TensorFlow', '2.13.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['953d9954995b8b434dd0f464e25407ad83446d39fe7a23543a8e2fec8c01eb8b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..4aab4c18674 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.0' +versionsuffix = '-Python-%(pyver)s' + +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': 'fosscuda', 'version': '2019b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['94d056e48e7e6fe2e6fe4161471e774ac03221a6225fd83d551d3184220c1edf'] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'spglib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-intelcuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-intelcuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..76f8fc62c41 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.0-intelcuda-2019b-Python-3.7.4.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.0' +versionsuffix = '-Python-%(pyver)s' + +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': 'intelcuda', 'version': '2019b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['94d056e48e7e6fe2e6fe4161471e774ac03221a6225fd83d551d3184220c1edf'] + +dependencies = [ + ('Python', '3.7.4'), + ('SciPy-bundle', '2019.10', versionsuffix), +] + +# required because we're building a Python package using Intel compilers on top of Python built with GCC +check_ldshared = True + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'spglib'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb new file mode 100644 index 00000000000..6079d940a72 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-gomkl-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.1' + +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': 'gomkl', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-intel-2021a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-intel-2021a.eb new file mode 100644 index 00000000000..b978ab4ff48 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.1-intel-2021a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.1' + +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': 'intel', 'version': '2021a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['9fd2fefbd83993b135877a69c498d8ddcf20a9980562b65b800cfb4cdadad003'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-foss-2021b.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-foss-2021b.eb new file mode 100644 index 00000000000..d13be3c325e --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.3' + +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': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['ff1420967d64c2d4f0d747886116a6836d9b473454cdd73d560dbfe973a8a038'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-intel-2021b.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-intel-2021b.eb new file mode 100644 index 00000000000..eaa79870a2b --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-1.16.3-intel-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '1.16.3' + +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': 'intel', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['ff1420967d64c2d4f0d747886116a6836d9b473454cdd73d560dbfe973a8a038'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-foss-2022a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-foss-2022a.eb new file mode 100644 index 00000000000..c1dd837eb0a --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '2.0.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': 'foss', 'version': '2022a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['cbbd5e1d6096577c58b2fa47a5ea4f433a1932e5bc1cd1b691ea387c1b2e9974'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-intel-2022a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-intel-2022a.eb new file mode 100644 index 00000000000..acbc3e85a70 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.0-intel-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '2.0.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': 'intel', 'version': '2022a'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['cbbd5e1d6096577c58b2fa47a5ea4f433a1932e5bc1cd1b691ea387c1b2e9974'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb new file mode 100644 index 00000000000..76b88995143 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.0.2-gfbf-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'spglib-python' +version = '2.0.2' + +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': 'gfbf', 'version': '2022b'} + +source_urls = ['https://pypi.python.org/packages/source/%(nameletter)s/spglib'] +sources = ['spglib-%(version)s.tar.gz'] +checksums = ['1d081ec22da4ab4fc3198e9445ddad6dec2261c43927831151d93e39422610aa'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +options = {'modulename': 'spglib'} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-gfbf-2023a.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-gfbf-2023a.eb new file mode 100644 index 00000000000..1e0edd77069 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.1.0-gfbf-2023a.eb @@ -0,0 +1,32 @@ +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': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('scikit-build-core', '0.5.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('pyproject-metadata', '0.7.1', { + 'checksums': ['0a94f18b108b9b21f3a26a3d541f056c34edcb17dc872a144a15618fed7aef67'], + }), + ('spglib', version, { + 'checksums': ['8143545fdffc11fbcda4d705a6b6bcd4889de9bc3524b78df866a36dd0de0a4b'], + }), +] + +moduleclass = 'chem' 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/spglib-python/spglib-python-2.5.0-gfbf-2023b.eb b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.5.0-gfbf-2023b.eb new file mode 100644 index 00000000000..9f26cade5d3 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib-python/spglib-python-2.5.0-gfbf-2023b.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'spglib-python' +version = '2.5.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': 'gfbf', 'version': '2023b'} + +builddependencies = [ + ('scikit-build-core', '0.9.3') +] + +dependencies = [ + ('Python', '3.11.5'), + ('Python-bundle-PyPI', '2023.10'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True + +sanity_pip_check = True + +exts_list = [ + ('pyproject_metadata', '0.8.0', { + 'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'], + }), + ('spglib', version, { + 'checksums': ['f8bb638897be91b9dbd4c085d9fde1f69048f5949e20f3832cb9438e57418d4b'], + }), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-1.16.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/spglib/spglib-1.16.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8b829cf3f69 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-1.16.2-GCCcore-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spglib' +version = '1.16.2' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5723789bee7371ebba91d78c729d2a608f198fad5e1c95eebe18fda9f2914ec8'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.a', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..256f29f77b5 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'spglib' +version = '2.0.2' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['10e44a35099a0a5d0fc6ee0cdb39d472c23cb98b1f5167c0e2b08f6069f3db1e'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +postinstallcmds = ["cd %(installdir)s/include && mkdir spglib && ln -s ../spglib.h spglib/"] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.a', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e7a343abb37 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-2.0.2-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +# with thanks to akesandgren for the easyconfig for 2022a +# updated for 2022b by BEAR Software team at University of Birmingham + +easyblock = 'CMakeMake' + +name = 'spglib' +version = '2.0.2' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['10e44a35099a0a5d0fc6ee0cdb39d472c23cb98b1f5167c0e2b08f6069f3db1e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +postinstallcmds = ["cd %(installdir)s/include && mkdir spglib && ln -s ../spglib.h spglib/"] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.a', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spglib/spglib-2.5.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/spglib/spglib-2.5.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a7e62a33f21 --- /dev/null +++ b/easybuild/easyconfigs/s/spglib/spglib-2.5.0-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +# with thanks to akesandgren for the easyconfig for 2022a +# updated for 2022b by BEAR Software team at University of Birmingham +# update to v2.5.0 for GCC/12.3.0 by Pavel Tománek (Inuits) + +easyblock = 'CMakeMake' + +name = 'spglib' +version = '2.5.0' + +homepage = 'https://spglib.github.io/spglib/' +description = """Spglib is a C library for finding and handling crystal symmetries.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/spglib/spglib/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b6026f5e85106c0c9ee57e54b9399890d0f29982e20e96ede0428b3efbe6b914'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +postinstallcmds = ["cd %(installdir)s/include && mkdir spglib && ln -s ../spglib.h spglib/"] + +sanity_check_paths = { + 'files': [ + 'include/spglib.h', + 'lib/libsymspg.%s' % SHLIB_EXT + ], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2023a.eb b/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2023a.eb new file mode 100644 index 00000000000..98308699678 --- /dev/null +++ b/easybuild/easyconfigs/s/spla/spla-1.6.1-foss-2023a.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'spla' +version = '1.6.1' + +homepage = 'https://github.com/eth-cscs/spla/' +description = """SPLA provides specialized functions for linear algebra computations with a C++ and C interface, +which are inspired by requirements in computational material science codes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'openmp': True} + +source_urls = ['https://github.com/eth-cscs/spla/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['62b51e6ce05c41cfc1c6f6600410f9549a209c50f0331e1db41047f94493e02f'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +configopts = '-DBLA_VENDOR=FlexiBLAS' + +sanity_check_paths = { + 'files': [ + 'include/spla/spla.h', + 'lib/libspla.%s' % SHLIB_EXT, + ], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/spoa/spoa-3.4.0-GCC-10.2.0.eb b/easybuild/easyconfigs/s/spoa/spoa-3.4.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..038094f39ea --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-3.4.0-GCC-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '3.4.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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7411312bd51a0c7e53a702127cc8ba8500247d3f44f01825e591c5b8570f14b'] + +builddependencies = [('CMake', '3.18.4')] + +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', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +modextrapaths = {'CPATH': 'include/%(namelower)s'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb new file mode 100644 index 00000000000..c440d9a9b12 --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-10.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.0.7' + +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': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7a8cd039e4aabea1481e123387fedaa8f87e55418a3649408a615f5c6b1b9a4'] + +builddependencies = [('CMake', '3.20.1')] + +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', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.2.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.2.0.eb new file mode 100644 index 00000000000..66a17f4eb5b --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.0.7' + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7a8cd039e4aabea1481e123387fedaa8f87e55418a3649408a615f5c6b1b9a4'] + +builddependencies = [('CMake', '3.21.1')] + +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', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.3.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..658c26ac530 --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.0.7' + +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7a8cd039e4aabea1481e123387fedaa8f87e55418a3649408a615f5c6b1b9a4'] + +builddependencies = [('CMake', '3.23.1')] + +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', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-12.2.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-12.2.0.eb new file mode 100644 index 00000000000..abf4a21b04e --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.0.7-GCC-12.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'CMakeMake' + +name = 'spoa' +version = '4.0.7' + +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.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/releases/download/%(version)s/'] +sources = ['spoa-v%(version)s.tar.gz'] +checksums = ['f7a8cd039e4aabea1481e123387fedaa8f87e55418a3649408a615f5c6b1b9a4'] + +builddependencies = [('CMake', '3.24.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', 'lib/pkgconfig/spoa-1.pc'], + 'dirs': [], +} + +sanity_check_commands = ["spoa --help"] + +moduleclass = 'bio' 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/spoa/spoa-4.1.0-GCC-13.2.0.eb b/easybuild/easyconfigs/s/spoa/spoa-4.1.0-GCC-13.2.0.eb new file mode 100644 index 00000000000..16062a7636e --- /dev/null +++ b/easybuild/easyconfigs/s/spoa/spoa-4.1.0-GCC-13.2.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': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/rvaser/spoa/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['43238356f00bce2ad9698fc18b3e320024172a82182dcff24d57c5cf19e342c8'] + +builddependencies = [('CMake', '3.27.6')] + +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/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/s/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3dbf97a9a7e --- /dev/null +++ b/easybuild/easyconfigs/s/sradownloader/sradownloader-3.9-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'Tarball' + +name = 'sradownloader' +version = '3.9' + +homepage = "https://github.com/s-andrews/sradownloader" +description = """SRAdownloader takes the annotation table from the SRA run selector tool +and retrieves the raw fastq files for the selected samples""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/s-andrews/sradownloader/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['dee44a8476fc11d3306019fe608295fc3b19f0c0073061ef71f1c0101dc587cc'] + +dependencies = [ + ('Python', '3.10.4'), +] + +modextrapaths = { + 'PATH': '', +} + +sanity_check_paths = { + 'files': ['sradownloader'], + 'dirs': [], +} + +sanity_check_commands = [ + 'sradownloader -h', + 'sradownloader --version' +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/starcode/starcode-1.4-GCC-13.2.0.eb b/easybuild/easyconfigs/s/starcode/starcode-1.4-GCC-13.2.0.eb new file mode 100644 index 00000000000..dfc8917e067 --- /dev/null +++ b/easybuild/easyconfigs/s/starcode/starcode-1.4-GCC-13.2.0.eb @@ -0,0 +1,40 @@ +# easybuild easyconfig +# +# John Dey +# +# Fred Hutchinson Cancer Center - Seattle Washington US +# +easyblock = 'MakeCp' + +name = 'starcode' +version = '1.4' +local_commit = '8987b2e' + +homepage = 'https://github.com/gui11aume/starcode' +description = """Starcode is a DNA sequence clustering software. Starcode clustering is based on all pairs +search within a specified Levenshtein distance (allowing insertions and deletions), followed by a clustering +algorithm: Message Passing, Spheres or Connected Components.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +github_account = 'gui11aume' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['4343c070d9149760516e3a47a46edb2f2280325728a28b83796f6d344faf4e06'] + +dependencies = [ +] + +files_to_copy = [ + 'doc', 'misc', 'test', + (['starcode', 'starcode-umi'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = [('%(name)s', '--help')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..8fb8103c38a --- /dev/null +++ b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,75 @@ +easyblock = 'PythonBundle' + +name = 'stardist' +version = '0.8.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/stardist/stardist' +description = "Object Detection with Star-convex Shapes." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('CUDA', '11.4.1', '', SYSTEM), + ('TensorFlow', '2.7.1', versionsuffix), + ('numba', '0.54.1'), + ('imageio', '2.13.5'), + ('scikit-image', '0.19.1'), + ('tqdm', '4.62.3'), + ('PyOpenCL', '2021.2.13', versionsuffix), + ('Mako', '1.1.4'), +] + +use_pip = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + ('edt', '2.3.0', { + 'checksums': ['220e2086fdf32bbd8964df76b3e1a42061ece1f4b9ea95ec83a094d24d258664'], + }), + ('configparser', '5.3.0', { + 'checksums': ['8be267824b541c09b08db124917f48ab525a6c3e837011f3130781a224c57090'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('reikna', '0.7.6', { + 'checksums': ['722fefbd253d0bbcbf5250b7b9c4aca5722cde4ca38bfbf863a551a5fc26edfa'], + }), + ('scikit-tensor-py3', '20210331', { + 'sources': [{ + 'source_urls': ['https://github.com/evertrol/scikit-tensor-py3/archive/'], + 'download_filename': '99190292b9564e7c4a9312280db732ceedf7b7e3.tar.gz', + 'filename': 'scikit-tensor-py3-%(version)s.tar.gz', + }], + 'checksums': ['5afb33e74c7e7401374a40db4b381b3da182cc76a9b6282bdf04cafff097c046'], + 'modulename': 'sktensor', + }), + ('gputools', '0.2.14', { + 'checksums': ['dc3a4aef73e802f6b94a4262ac4c637a2fb62fe8472368e9143248d6d1cb93de'], + }), + (name, version, { + 'checksums': ['8ac1f6165ca8e8496651c6e2b49ce57d6d574dfb22bf6f63ddaec1f64b8868d1'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/stardist-predict2d', 'bin/stardist-predict3d'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "stardist-predict2d --help", + "stardist-predict3d --help", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb new file mode 100644 index 00000000000..527256b2790 --- /dev/null +++ b/easybuild/easyconfigs/s/stardist/stardist-0.8.3-foss-2021b.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'stardist' +version = '0.8.3' + +homepage = 'https://github.com/stardist/stardist' +description = "Object Detection with Star-convex Shapes." + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.7.1'), + ('numba', '0.54.1'), + ('imageio', '2.13.5'), + ('scikit-image', '0.19.1'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + ('csbdeep', '0.7.2', { + 'checksums': ['8a000eb71d04aa753f52ffe81a34c0a30a06ee986d20b9986d76272253e2fd53'], + }), + ('edt', '2.3.0', { + 'checksums': ['220e2086fdf32bbd8964df76b3e1a42061ece1f4b9ea95ec83a094d24d258664'], + }), + (name, version, { + 'checksums': ['8ac1f6165ca8e8496651c6e2b49ce57d6d574dfb22bf6f63ddaec1f64b8868d1'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/stardist-predict2d', 'bin/stardist-predict3d'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "stardist-predict2d --help", + "stardist-predict3d --help", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/s/starparser/starparser-1.49-foss-2022a.eb b/easybuild/easyconfigs/s/starparser/starparser-1.49-foss-2022a.eb new file mode 100644 index 00000000000..8757a5fc6a5 --- /dev/null +++ b/easybuild/easyconfigs/s/starparser/starparser-1.49-foss-2022a.eb @@ -0,0 +1,38 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/10 +easyblock = 'PythonBundle' + +name = 'starparser' +version = '1.49' + +homepage = 'https://github.com/sami-chaaban/starparser' +description = """Use this package to manipulate Relion star files, including counting, modifying, +plotting, and sifting the data. At the very least, this is a useful alternative +to awk commands, which can get awkward. Below is a description of the command- +line options with some examples. Alternatively, use starparser within Relion or +load the modules in your own Python scripts.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +use_pip = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), +] + +exts_list = [ + (name, version, { + 'checksums': ['6d7e2c11d1887970b66c08b2b7876a210f9c544cf13580320e841fb587167a68'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ['starparser -h'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.12.2-foss-2021a.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.12.2-foss-2021a.eb new file mode 100644 index 00000000000..ab15e8a67cf --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.12.2-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.12.2' + +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': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.1', { + 'checksums': ['f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991'], + }), + (name, version, { + 'checksums': ['8ad7a7ae7cdd929095684118e3b05836c0ccb08b6a01fe984159475d174a1b10'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2021b.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2021b.eb new file mode 100644 index 00000000000..1ff812f4807 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.13.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': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + (name, version, { + 'checksums': ['006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb new file mode 100644 index 00000000000..7b353348d04 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.13.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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + (name, version, { + 'checksums': ['006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-intel-2021b.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-intel-2021b.eb new file mode 100644 index 00000000000..3ccebf046b6 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.13.1-intel-2021b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.13.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': 'intel', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.2', { + 'checksums': ['5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d'], + }), + (name, version, { + 'checksums': ['006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.0-gfbf-2022b.eb b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.0-gfbf-2022b.eb new file mode 100644 index 00000000000..11abb6318f6 --- /dev/null +++ b/easybuild/easyconfigs/s/statsmodels/statsmodels-0.14.0-gfbf-2022b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonBundle' + +name = 'statsmodels' +version = '0.14.0' + +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': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('patsy', '0.5.3', { + 'checksums': ['bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277'], + }), + (name, version, { + 'checksums': ['6875c7d689e966d948f15eb816ab5616f4928706b180cf470fd5907ab6f647a4'], + }), +] + +moduleclass = 'math' 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/strace/strace-5.14-GCCcore-11.2.0.eb b/easybuild/easyconfigs/s/strace/strace-5.14-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ef709f5fd5a --- /dev/null +++ b/easybuild/easyconfigs/s/strace/strace-5.14-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'strace' +version = '5.14' + +homepage = 'https://strace.io/' +description = """ +strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with +interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of +process state. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/strace/strace/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['901bee6db5e17debad4530dd9ffb4dc9a96c4a656edbe1c3141b7cb307b11e73'] + +builddependencies = [ + ('binutils', '2.37'), +] + +configopts = "--enable-mpers=check" + +sanity_check_paths = { + 'files': ['bin/strace-log-merge', 'bin/strace'], + 'dirs': ['share'] +} + +sanity_check_commands = ['strace --help'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/s/strace/strace-6.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/strace/strace-6.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d3187e80ef7 --- /dev/null +++ b/easybuild/easyconfigs/s/strace/strace-6.6-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'strace' +version = '6.6' + +homepage = 'https://strace.io/' +description = """ +strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with +interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of +process state. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/strace/strace/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['421b4186c06b705163e64dc85f271ebdcf67660af8667283147d5e859fc8a96c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +configopts = "--enable-mpers=check" + +sanity_check_paths = { + 'files': ['bin/strace-log-merge', 'bin/strace'], + 'dirs': ['share'] +} + +sanity_check_commands = ['strace --help'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/s/strelka/strelka-2.9.10-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/strelka/strelka-2.9.10-foss-2018b-Python-2.7.15.eb index b226cfc1474..e980e28cde9 100644 --- a/easybuild/easyconfigs/s/strelka/strelka-2.9.10-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/strelka/strelka-2.9.10-foss-2018b-Python-2.7.15.eb @@ -23,7 +23,7 @@ dependencies = [ ('Python', '2.7.15'), ] -configopts = "-DBOOST_ROOT=$EBROOTBOOST -DCMAKE_BUILD_TYPE=Release" +configopts = "-DBOOST_ROOT=$EBROOTBOOST" separate_build_dir = True diff --git a/easybuild/easyconfigs/s/strelka/strelka-2.9.10-intel-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/s/strelka/strelka-2.9.10-intel-2018b-Python-2.7.15.eb index 4b623052288..8dc42c17dd0 100644 --- a/easybuild/easyconfigs/s/strelka/strelka-2.9.10-intel-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/s/strelka/strelka-2.9.10-intel-2018b-Python-2.7.15.eb @@ -25,7 +25,7 @@ dependencies = [ separate_build_dir = True -configopts = "-DBOOST_ROOT=$EBROOTBOOST -DCMAKE_BUILD_TYPE=Release" +configopts = "-DBOOST_ROOT=$EBROOTBOOST" sanity_check_paths = { 'files': ['bin/configureStrelkaGermlineWorkflow.py', 'libexec/strelka%(version_major)s'], diff --git a/easybuild/easyconfigs/s/stripy/stripy-2.1.0-foss-2021a.eb b/easybuild/easyconfigs/s/stripy/stripy-2.1.0-foss-2021a.eb new file mode 100644 index 00000000000..29fb7e3ef03 --- /dev/null +++ b/easybuild/easyconfigs/s/stripy/stripy-2.1.0-foss-2021a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonBundle" + +name = 'stripy' +version = '2.1.0' + +homepage = 'https://github.com/underworldcode/stripy' +description = """A Python interface to TRIPACK and STRIPACK Fortran code for (constrained) triangulation in Cartesian +coordinates and on a sphere. Stripy is an object-oriented package and includes routines from SRFPACK and SSRFPACK for +interpolation (nearest neighbor, linear and hermite cubic) and to evaluate derivatives (Renka 1996a,b and 1997a,b).""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('imageio', '2.10.5'), + ('Cartopy', '0.20.0'), + ('xarray', '0.19.0'), + ('netcdf4-python', '1.5.7') +] + +use_pip = True + +exts_list = [ + ('litho1pt0', '1.5.0', { + 'checksums': ['5334740cd1fffc6d31ec01a79ce60797352b7bb005a5c1a1bda826dddaf472d2'], + }), + (name, version, { + 'checksums': ['1b60cd6b4a86b07b72491ed871fa95050d5dbb41a40e9a43922b040d38cba033'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/submitit/submitit-1.2.0-foss-2023a.eb b/easybuild/easyconfigs/s/submitit/submitit-1.2.0-foss-2023a.eb new file mode 100644 index 00000000000..0ce1edf2766 --- /dev/null +++ b/easybuild/easyconfigs/s/submitit/submitit-1.2.0-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'submitit' +version = '1.2.0' + +homepage = 'https://github.com/facebookincubator/submitit' +description = """ +Submitit is a lightweight tool for submitting Python functions +for computation within a Slurm cluster. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '3.0.0', { + 'checksums': ['996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882'], + }), + ('typing_extensions', '4.12.2', { + 'checksums': ['1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8'], + }), + (name, version, { + 'checksums': ['16c099ed80943fbf942a7a37c6356a598b1f2b9d7ce40dd5fe058a6c7827e600'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/subset-bam/subset-bam-1.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/s/subset-bam/subset-bam-1.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1f424531e42 --- /dev/null +++ b/easybuild/easyconfigs/s/subset-bam/subset-bam-1.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,309 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'Cargo' + +name = 'subset-bam' +version = '1.1.0' + +homepage = 'https://github.com/10XGenomics/subset-bam' +description = """subset-bam is a tool to subset a 10x Genomics BAM file based on a tag, +most commonly the cell barcode tag.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +crates = [ + ('addr2line', '0.12.1'), + ('adler32', '1.1.0'), + ('aho-corasick', '0.6.10'), + ('aho-corasick', '0.7.10'), + ('ansi_term', '0.11.0'), + ('arrayref', '0.3.6'), + ('arrayvec', '0.5.1'), + ('atty', '0.2.14'), + ('autocfg', '1.0.0'), + ('backtrace', '0.3.49'), + ('base64', '0.11.0'), + ('bindgen', '0.36.1'), + ('bitflags', '0.9.1'), + ('bitflags', '1.2.1'), + ('blake2b_simd', '0.5.10'), + ('bstr', '0.2.13'), + ('byteorder', '1.3.4'), + ('cc', '1.0.54'), + ('cexpr', '0.2.3'), + ('cfg-if', '0.1.10'), + ('chrono', '0.4.11'), + ('clang-sys', '0.22.0'), + ('clap', '2.33.1'), + ('constant_time_eq', '0.1.5'), + ('crossbeam-deque', '0.7.3'), + ('crossbeam-epoch', '0.8.2'), + ('crossbeam-queue', '0.2.3'), + ('crossbeam-utils', '0.7.2'), + ('csv', '1.1.3'), + ('csv-core', '0.1.10'), + ('custom_derive', '0.1.7'), + ('data-encoding', '2.2.1'), + ('dirs', '1.0.5'), + ('either', '1.5.3'), + ('env_logger', '0.5.13'), + ('faccess', '0.2.3'), + ('failure', '0.1.8'), + ('failure_derive', '0.1.8'), + ('fs-utils', '1.1.4'), + ('getrandom', '0.1.14'), + ('gimli', '0.21.0'), + ('glob', '0.2.11'), + ('hermit-abi', '0.1.14'), + ('human-panic', '1.0.3'), + ('humantime', '1.3.0'), + ('idna', '0.1.5'), + ('ieee754', '0.2.6'), + ('itertools', '0.6.5'), + ('itoa', '0.4.6'), + ('lazy_static', '0.2.11'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.71'), + ('libloading', '0.5.2'), + ('linear-map', '1.2.0'), + ('log', '0.4.8'), + ('matches', '0.1.8'), + ('maybe-uninit', '2.0.0'), + ('memchr', '1.0.2'), + ('memchr', '2.3.3'), + ('memoffset', '0.5.4'), + ('miniz_oxide', '0.3.7'), + ('newtype_derive', '0.1.6'), + ('nom', '3.2.1'), + ('num-integer', '0.1.43'), + ('num-traits', '0.2.12'), + ('num_cpus', '1.13.0'), + ('object', '0.20.0'), + ('os_type', '2.2.0'), + ('peeking_take_while', '0.1.2'), + ('percent-encoding', '1.0.1'), + ('ppv-lite86', '0.2.8'), + ('proc-macro2', '0.3.5'), + ('proc-macro2', '1.0.18'), + ('quick-error', '1.2.3'), + ('quote', '0.5.2'), + ('quote', '1.0.7'), + ('rand', '0.7.3'), + ('rand_chacha', '0.2.2'), + ('rand_core', '0.5.1'), + ('rand_hc', '0.2.0'), + ('rayon', '1.3.1'), + ('rayon-core', '1.7.1'), + ('redox_syscall', '0.1.56'), + ('redox_users', '0.3.4'), + ('regex', '0.2.11'), + ('regex', '1.3.9'), + ('regex-automata', '0.1.9'), + ('regex-syntax', '0.5.6'), + ('regex-syntax', '0.6.18'), + ('remove_dir_all', '0.5.3'), + ('ring', '0.14.6'), + ('rust-argon2', '0.7.0'), + ('rust-htslib', '0.20.0'), + ('rustc-demangle', '0.1.16'), + ('rustc_version', '0.1.7'), + ('ryu', '1.0.5'), + ('scopeguard', '1.1.0'), + ('semver', '0.1.20'), + ('serde', '1.0.113'), + ('serde_derive', '1.0.113'), + ('simplelog', '0.5.3'), + ('spin', '0.5.2'), + ('strsim', '0.8.0'), + ('syn', '1.0.31'), + ('synstructure', '0.12.4'), + ('tempfile', '3.1.0'), + ('term', '0.5.2'), + ('termcolor', '1.1.0'), + ('terminal_size', '0.1.12'), + ('textwrap', '0.11.0'), + ('thread_local', '0.3.6'), + ('thread_local', '1.0.1'), + ('time', '0.1.43'), + ('tinyvec', '0.3.3'), + ('toml', '0.5.6'), + ('ucd-util', '0.1.8'), + ('unicode-bidi', '0.3.4'), + ('unicode-normalization', '0.1.13'), + ('unicode-width', '0.1.7'), + ('unicode-xid', '0.1.0'), + ('unicode-xid', '0.2.0'), + ('untrusted', '0.6.2'), + ('url', '1.7.2'), + ('utf8-ranges', '1.0.4'), + ('uuid', '0.8.1'), + ('vec_map', '0.8.2'), + ('wasi', '0.9.0+wasi-snapshot-preview1'), + ('which', '1.0.5'), + ('winapi', '0.3.8'), + ('winapi-i686-pc-windows-gnu', '0.4.0'), + ('winapi-util', '0.1.5'), + ('winapi-x86_64-pc-windows-gnu', '0.4.0'), +] + +source_urls = ['https://github.com/10XGenomics/subset-bam/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v1.1.0.tar.gz': 'af7e384dbacbebe55c6173ec8e52b2cebc95e69b922114003668575550b7227f'}, + {'addr2line-0.12.1.tar.gz': 'a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543'}, + {'adler32-1.1.0.tar.gz': '567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d'}, + {'aho-corasick-0.6.10.tar.gz': '81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5'}, + {'aho-corasick-0.7.10.tar.gz': '8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada'}, + {'ansi_term-0.11.0.tar.gz': 'ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b'}, + {'arrayref-0.3.6.tar.gz': 'a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544'}, + {'arrayvec-0.5.1.tar.gz': 'cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.0.0.tar.gz': 'f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d'}, + {'backtrace-0.3.49.tar.gz': '05100821de9e028f12ae3d189176b41ee198341eb8f369956407fea2f5cc666c'}, + {'base64-0.11.0.tar.gz': 'b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7'}, + {'bindgen-0.36.1.tar.gz': 'acc8fa644dc2b6f6c2d391ccea460da1ad9bf2271c4e9ffaad88d2dd727a7295'}, + {'bitflags-0.9.1.tar.gz': '4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5'}, + {'bitflags-1.2.1.tar.gz': 'cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693'}, + {'blake2b_simd-0.5.10.tar.gz': 'd8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a'}, + {'bstr-0.2.13.tar.gz': '31accafdb70df7871592c058eca3985b71104e15ac32f64706022c58867da931'}, + {'byteorder-1.3.4.tar.gz': '08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de'}, + {'cc-1.0.54.tar.gz': '7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311'}, + {'cexpr-0.2.3.tar.gz': '42aac45e9567d97474a834efdee3081b3c942b2205be932092f53354ce503d6c'}, + {'cfg-if-0.1.10.tar.gz': '4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822'}, + {'chrono-0.4.11.tar.gz': '80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2'}, + {'clang-sys-0.22.0.tar.gz': '939a1a34310b120d26eba35c29475933128b0ec58e24b43327f8dbe6036fc538'}, + {'clap-2.33.1.tar.gz': 'bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129'}, + {'constant_time_eq-0.1.5.tar.gz': '245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc'}, + {'crossbeam-deque-0.7.3.tar.gz': '9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285'}, + {'crossbeam-epoch-0.8.2.tar.gz': '058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace'}, + {'crossbeam-queue-0.2.3.tar.gz': '774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570'}, + {'crossbeam-utils-0.7.2.tar.gz': 'c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8'}, + {'csv-1.1.3.tar.gz': '00affe7f6ab566df61b4be3ce8cf16bc2576bca0963ceb0955e45d514bf9a279'}, + {'csv-core-0.1.10.tar.gz': '2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90'}, + {'custom_derive-0.1.7.tar.gz': 'ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9'}, + {'data-encoding-2.2.1.tar.gz': '72aa14c04dfae8dd7d8a2b1cb7ca2152618cd01336dbfe704b8dcbf8d41dbd69'}, + {'dirs-1.0.5.tar.gz': '3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901'}, + {'either-1.5.3.tar.gz': 'bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3'}, + {'env_logger-0.5.13.tar.gz': '15b0a4d2e39f8420210be8b27eeda28029729e2fd4291019455016c348240c38'}, + {'faccess-0.2.3.tar.gz': 'e039175679baf763ddddf4f76900b92d4dae9411ee88cf42d2f11b976b09e07c'}, + {'failure-0.1.8.tar.gz': 'd32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86'}, + {'failure_derive-0.1.8.tar.gz': 'aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4'}, + {'fs-utils-1.1.4.tar.gz': '6fc7a9dc005c944c98a935e7fd626faf5bf7e5a609f94bc13e42fc4a02e52593'}, + {'getrandom-0.1.14.tar.gz': '7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb'}, + {'gimli-0.21.0.tar.gz': 'bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c'}, + {'glob-0.2.11.tar.gz': '8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb'}, + {'hermit-abi-0.1.14.tar.gz': 'b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909'}, + {'human-panic-1.0.3.tar.gz': '39f357a500abcbd7c5f967c1d45c8838585b36743823b9d43488f24850534e36'}, + {'humantime-1.3.0.tar.gz': 'df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f'}, + {'idna-0.1.5.tar.gz': '38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e'}, + {'ieee754-0.2.6.tar.gz': '9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c'}, + {'itertools-0.6.5.tar.gz': 'd3f2be4da1690a039e9ae5fd575f706a63ad5a2120f161b1d653c9da3930dd21'}, + {'itoa-0.4.6.tar.gz': 'dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6'}, + {'lazy_static-0.2.11.tar.gz': '76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.71.tar.gz': '9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49'}, + {'libloading-0.5.2.tar.gz': 'f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753'}, + {'linear-map-1.2.0.tar.gz': 'bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee'}, + {'log-0.4.8.tar.gz': '14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7'}, + {'matches-0.1.8.tar.gz': '7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08'}, + {'maybe-uninit-2.0.0.tar.gz': '60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00'}, + {'memchr-1.0.2.tar.gz': '148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a'}, + {'memchr-2.3.3.tar.gz': '3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400'}, + {'memoffset-0.5.4.tar.gz': 'b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8'}, + {'miniz_oxide-0.3.7.tar.gz': '791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435'}, + {'newtype_derive-0.1.6.tar.gz': 'ac8cd24d9f185bb7223958d8c1ff7a961b74b1953fd05dba7cc568a63b3861ec'}, + {'nom-3.2.1.tar.gz': '05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b'}, + {'num-integer-0.1.43.tar.gz': '8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b'}, + {'num-traits-0.2.12.tar.gz': 'ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611'}, + {'num_cpus-1.13.0.tar.gz': '05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3'}, + {'object-0.20.0.tar.gz': '1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5'}, + {'os_type-2.2.0.tar.gz': '7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb'}, + {'peeking_take_while-0.1.2.tar.gz': '19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099'}, + {'percent-encoding-1.0.1.tar.gz': '31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831'}, + {'ppv-lite86-0.2.8.tar.gz': '237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea'}, + {'proc-macro2-0.3.5.tar.gz': '77997c53ae6edd6d187fec07ec41b207063b5ee6f33680e9fa86d405cdd313d4'}, + {'proc-macro2-1.0.18.tar.gz': 'beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-0.5.2.tar.gz': '9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8'}, + {'quote-1.0.7.tar.gz': 'aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37'}, + {'rand-0.7.3.tar.gz': '6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03'}, + {'rand_chacha-0.2.2.tar.gz': 'f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402'}, + {'rand_core-0.5.1.tar.gz': '90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19'}, + {'rand_hc-0.2.0.tar.gz': 'ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c'}, + {'rayon-1.3.1.tar.gz': '62f02856753d04e03e26929f820d0a0a337ebe71f849801eea335d464b349080'}, + {'rayon-core-1.7.1.tar.gz': 'e92e15d89083484e11353891f1af602cc661426deb9564c298b270c726973280'}, + {'redox_syscall-0.1.56.tar.gz': '2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84'}, + {'redox_users-0.3.4.tar.gz': '09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431'}, + {'regex-0.2.11.tar.gz': '9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384'}, + {'regex-1.3.9.tar.gz': '9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6'}, + {'regex-automata-0.1.9.tar.gz': 'ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4'}, + {'regex-syntax-0.5.6.tar.gz': '7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7'}, + {'regex-syntax-0.6.18.tar.gz': '26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8'}, + {'remove_dir_all-0.5.3.tar.gz': '3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7'}, + {'ring-0.14.6.tar.gz': '426bc186e3e95cac1e4a4be125a4aca7e84c2d616ffc02244eef36e2a60a093c'}, + {'rust-argon2-0.7.0.tar.gz': '2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017'}, + {'rust-htslib-0.20.0.tar.gz': 'f702eebd89609dd27605999d981b67b3380861cc2d4318a2e827709c884006c4'}, + {'rustc-demangle-0.1.16.tar.gz': '4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783'}, + {'rustc_version-0.1.7.tar.gz': 'c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084'}, + {'ryu-1.0.5.tar.gz': '71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e'}, + {'scopeguard-1.1.0.tar.gz': 'd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd'}, + {'semver-0.1.20.tar.gz': 'd4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac'}, + {'serde-1.0.113.tar.gz': '6135c78461981c79497158ef777264c51d9d0f4f3fc3a4d22b915900e42dac6a'}, + {'serde_derive-1.0.113.tar.gz': '93c5eaa17d0954cb481cdcfffe9d84fcfa7a1a9f2349271e678677be4c26ae31'}, + {'simplelog-0.5.3.tar.gz': '2e95345f185d5adeb8ec93459d2dc99654e294cc6ccf5b75414d8ea262de9a13'}, + {'spin-0.5.2.tar.gz': '6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d'}, + {'strsim-0.8.0.tar.gz': '8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a'}, + {'syn-1.0.31.tar.gz': 'b5304cfdf27365b7585c25d4af91b35016ed21ef88f17ced89c7093b43dba8b6'}, + {'synstructure-0.12.4.tar.gz': 'b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701'}, + {'tempfile-3.1.0.tar.gz': '7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9'}, + {'term-0.5.2.tar.gz': 'edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42'}, + {'termcolor-1.1.0.tar.gz': 'bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f'}, + {'terminal_size-0.1.12.tar.gz': '8038f95fc7a6f351163f4b964af631bd26c9e828f7db085f2a84aca56f70d13b'}, + {'textwrap-0.11.0.tar.gz': 'd326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060'}, + {'thread_local-0.3.6.tar.gz': 'c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b'}, + {'thread_local-1.0.1.tar.gz': 'd40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14'}, + {'time-0.1.43.tar.gz': 'ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438'}, + {'tinyvec-0.3.3.tar.gz': '53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed'}, + {'toml-0.5.6.tar.gz': 'ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a'}, + {'ucd-util-0.1.8.tar.gz': 'c85f514e095d348c279b1e5cd76795082cf15bd59b93207832abe0b1d8fed236'}, + {'unicode-bidi-0.3.4.tar.gz': '49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5'}, + {'unicode-normalization-0.1.13.tar.gz': '6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977'}, + {'unicode-width-0.1.7.tar.gz': 'caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479'}, + {'unicode-xid-0.1.0.tar.gz': 'fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc'}, + {'unicode-xid-0.2.0.tar.gz': '826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c'}, + {'untrusted-0.6.2.tar.gz': '55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f'}, + {'url-1.7.2.tar.gz': 'dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a'}, + {'utf8-ranges-1.0.4.tar.gz': 'b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba'}, + {'uuid-0.8.1.tar.gz': '9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11'}, + {'vec_map-0.8.2.tar.gz': 'f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191'}, + {'wasi-0.9.0+wasi-snapshot-preview1.tar.gz': 'cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519'}, + {'which-1.0.5.tar.gz': 'e84a603e7e0b1ce1aa1ee2b109c7be00155ce52df5081590d1ffb93f4f515cb2'}, + {'winapi-0.3.8.tar.gz': '8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6'}, + {'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'}, +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.52.1'), + ('Clang', '12.0.1'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +# It looks like we need to specify this as else it will not work. +buildopts = '-Z unstable-options ' +testopts = '-Z unstable-options ' +installopts = '-Z unstable-options ' + +sanity_check_paths = { + 'files': ['bin/subset-bam'], + 'dirs': [], +} + +sanity_check_commands = ["subset-bam --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..059b784a9fb --- /dev/null +++ b/easybuild/easyconfigs/s/subunit/subunit-1.4.3-GCCcore-12.2.0.eb @@ -0,0 +1,60 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'subunit' +version = '1.4.3' + +homepage = "https://github.com/testing-cabal/subunit" +description = """Subunit is a streaming protocol for test results.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/testing-cabal/subunit/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['dc4bf970521d3382eb33cd58aff8b5b65a0d86e1fe8d5d97abb969413909907c'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Check', '0.15.2'), + ('CppUnit', '1.15.1'), + ('Python', '3.10.8'), +] + +preconfigopts = "autoreconf -vi &&" + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'use_pip': True, + 'download_dep_fail': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('fixtures', '4.1.0', { + 'checksums': ['82b1c5e69f615526ef6c067188a1e6c6067df7f88332509c99f8b8fdbb9776f3'], + }), + ('testtools', '2.6.0', { + 'checksums': ['28b65e14c0f2d3ecbbfb5f55c9dcde5e4faa80ac16a37a823909a1fe3cbcb30a'], + }), +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libsubunit.a', 'lib/libsubunit.%s' % SHLIB_EXT], + 'dirs': ['include/subunit'], +} + +sanity_check_commands = ['python -c "import subunit"'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch b/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch new file mode 100644 index 00000000000..92e6ce51369 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/reportlab-3.6.12-fontconfig.patch @@ -0,0 +1,25 @@ +Patch to make sure the fontconfig from EasyBuild will be found +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/reportlab-3.6.12.orig/setup.py b/reportlab-3.6.12/setup.py +index 4b380b6..2ccfa93 100644 +--- a/reportlab-3.6.12.orig/setup.py ++++ b/reportlab-3.6.12/setup.py +@@ -277,14 +277,11 @@ class inc_lib_dirs: + # darwin ports installation directories + aDir(L, "/opt/local/lib") + aDir(I, "/opt/local/include") +- aDir(I, "/usr/local/include") +- aDir(L, "/usr/local/lib") +- aDir(I, "/usr/include") +- aDir(L, "/usr/lib") +- aDir(I, "/usr/include/freetype2") + if addrSize==64: +- aDir(L, "/usr/lib/lib64") +- aDir(L, "/usr/lib/x86_64-linux-gnu") ++ freepath = os.getenv("EBROOTFREETYPE") ++ aDir(L, pjoin(freepath, "lib64")) ++ aDir(I, pjoin(freepath, "include/freetype2")) ++ + else: + aDir(L, "/usr/lib/lib32") + prefix = sysconfig.get_config_var("prefix") diff --git a/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb new file mode 100644 index 00000000000..a6339d51f19 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2020b.eb @@ -0,0 +1,61 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'svist4get' +version = '1.3.1' + +homepage = 'https://github.com/art-egorov/svist4get' +description = """Svist4get is a simple bioinformatics tool for visualization of +genomic signal tracks in user-defined genomic windows, either arbitrary selected +by genomic coordinates or anchored to particular transcripts or genes.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('pybedtools', '0.8.2'), + ('Biopython', '1.78'), + ('Pillow', '8.0.1'), + ('ImageMagick', '7.0.10-35'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('reportlab', '3.6.9', { + 'patches': ['reportlab-3.6.12-fontconfig.patch'], + 'checksums': ['5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84', + # reportlab-3.6.12-fontconfig.patch: + '2cc9b40e09650b7404ee9c4d72b134739acc89bacac3da58131cef2308726297'], + }), + ('configs', '3.0.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('Wand', '0.6.10', { + 'checksums': ['373f4a7f2866c868c31ce910e1f9b36a92d132640a20068ec17cea3284fedc57'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + (name, version, { + 'checksums': ['22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svist4get', 'bin/svist4get_copier'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "svist4get --help", + "svist4get -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2022b.eb b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2022b.eb new file mode 100644 index 00000000000..72d977763e9 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2022b.eb @@ -0,0 +1,61 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonBundle' + +name = 'svist4get' +version = '1.3.1' + +homepage = 'https://github.com/art-egorov/svist4get' +description = """Svist4get is a simple bioinformatics tool for visualization of +genomic signal tracks in user-defined genomic windows, either arbitrary selected +by genomic coordinates or anchored to particular transcripts or genes.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('pybedtools', '0.9.0'), + ('Biopython', '1.81'), + ('Pillow', '9.4.0'), + ('ImageMagick', '7.1.0-53'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('reportlab', '3.6.9', { + 'patches': ['reportlab-3.6.12-fontconfig.patch'], + 'checksums': ['5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84', + # reportlab-3.6.12-fontconfig.patch: + '2cc9b40e09650b7404ee9c4d72b134739acc89bacac3da58131cef2308726297'], + }), + ('configs', '3.0.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('Wand', '0.6.10', { + 'checksums': ['373f4a7f2866c868c31ce910e1f9b36a92d132640a20068ec17cea3284fedc57'], + }), + (name, version, { + # unpin statistics dependency - it is old package and interfering with python lib statistics + 'preinstallopts': "sed -i 's/statistics//' setup.py && ", + 'checksums': ['22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svist4get', 'bin/svist4get_copier'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "svist4get --help", + "svist4get -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb new file mode 100644 index 00000000000..f44d27dd1f5 --- /dev/null +++ b/easybuild/easyconfigs/s/svist4get/svist4get-1.3.1-foss-2023a.eb @@ -0,0 +1,61 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: Pavel Tománek (Inuits) + +easyblock = 'PythonBundle' + +name = 'svist4get' +version = '1.3.1' + +homepage = 'https://github.com/art-egorov/svist4get' +description = """Svist4get is a simple bioinformatics tool for visualization of +genomic signal tracks in user-defined genomic windows, either arbitrary selected +by genomic coordinates or anchored to particular transcripts or genes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('pybedtools', '0.9.1'), + ('Biopython', '1.83'), + ('Pillow', '10.0.0'), + ('ImageMagick', '7.1.1-15'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('reportlab', '3.6.9', { + 'patches': ['reportlab-3.6.12-fontconfig.patch'], + 'checksums': ['5d0cc3682456ad213150f6dbffe7d47eab737d809e517c316103376be548fb84', + # reportlab-3.6.12-fontconfig.patch: + '2cc9b40e09650b7404ee9c4d72b134739acc89bacac3da58131cef2308726297'], + }), + ('configs', '3.0.3', { + 'sources': ['%(name)s-%(version)s.zip'], + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('argparse', '1.4.0', { + 'checksums': ['62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4'], + }), + ('Wand', '0.6.10', { + 'checksums': ['373f4a7f2866c868c31ce910e1f9b36a92d132640a20068ec17cea3284fedc57'], + }), + (name, version, { + # unpin statistics dependency - it is old package and interfering with python lib statistics + 'preinstallopts': "sed -i 's/statistics//' setup.py && ", + 'checksums': ['22311fdc956cca531dac7ba924744e8f870a57bc6f27cbe4e8ba9854117e720c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/svist4get', 'bin/svist4get_copier'], + 'dirs': ['lib'], +} + +sanity_check_commands = [ + "svist4get --help", + "svist4get -v", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/s/swifter/swifter-1.0.9-foss-2020b.eb b/easybuild/easyconfigs/s/swifter/swifter-1.0.9-foss-2020b.eb new file mode 100644 index 00000000000..c379d2ef490 --- /dev/null +++ b/easybuild/easyconfigs/s/swifter/swifter-1.0.9-foss-2020b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'swifter' +version = '1.0.9' + +homepage = 'https://github.com/jmcarpenter2/swifter' +description = """ +A package which efficiently applies any function to a pandas dataframe or +series in the fastest available manner.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('dask', '2021.2.0'), + ('tqdm', '4.56.2'), + ('IPython', '7.18.1'), +] + +exts_list = [ + ('modin', '0.8.2', { + 'checksums': ['0e224911e21e6a7134baa2a3162c91af2594bf75b9c2d7e39a3f0d10e38793a5'], + }), + (name, version, { + 'checksums': ['14cec10ff1ecdfbcfdd68985366b07add5f9b7bb77116720f47c88f29f048c3e'], + }), +] + +sanity_pip_check = True +use_pip = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/swifter/swifter-1.0.9-fosscuda-2020b.eb b/easybuild/easyconfigs/s/swifter/swifter-1.0.9-fosscuda-2020b.eb new file mode 100644 index 00000000000..083b6cf0603 --- /dev/null +++ b/easybuild/easyconfigs/s/swifter/swifter-1.0.9-fosscuda-2020b.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'swifter' +version = '1.0.9' + +homepage = 'https://github.com/jmcarpenter2/swifter' +description = """ +A package which efficiently applies any function to a pandas dataframe or +series in the fastest available manner.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('dask', '2021.2.0'), + ('tqdm', '4.56.2'), + ('IPython', '7.18.1'), +] + +exts_list = [ + ('modin', '0.8.2', { + 'checksums': ['0e224911e21e6a7134baa2a3162c91af2594bf75b9c2d7e39a3f0d10e38793a5'], + }), + (name, version, { + 'checksums': ['14cec10ff1ecdfbcfdd68985366b07add5f9b7bb77116720f47c88f29f048c3e'], + }), +] + +sanity_pip_check = True +use_pip = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.10.1-foss-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-foss-2022a.eb new file mode 100644 index 00000000000..57797938135 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-foss-2022a.eb @@ -0,0 +1,25 @@ +name = 'sympy' +version = '1.10.1' + +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': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5939eeffdf9e152172601463626c022a2c27e75cf6278de8d401d50c9d58787b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +# fix broken test, sympy doesn't actually use gmpy2's Decimal anywhere; +# see https://github.com/sympy/sympy/issues/23061#issuecomment-1052424896 +pretestopts = """sed -i "s@Decimal('0.6')@'0.6'@g" sympy/external/tests/test_pythonmpq.py && """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb new file mode 100644 index 00000000000..19c285f9a68 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.10.1-intel-2022a.eb @@ -0,0 +1,21 @@ +name = 'sympy' +version = '1.10.1' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5939eeffdf9e152172601463626c022a2c27e75cf6278de8d401d50c9d58787b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.11.1-foss-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-foss-2022a.eb new file mode 100644 index 00000000000..a0b65156c74 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'sympy' +version = '1.11.1' + +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': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e32380dce63cb7c0108ed525570092fd45168bdae2faa17e528221ef72e88658'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.11.1-intel-2022a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-intel-2022a.eb new file mode 100644 index 00000000000..103ac61a8f4 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.11.1-intel-2022a.eb @@ -0,0 +1,21 @@ +name = 'sympy' +version = '1.11.1' + +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': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e32380dce63cb7c0108ed525570092fd45168bdae2faa17e528221ef72e88658'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('gmpy2', '2.1.2'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2022b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2022b.eb new file mode 100644 index 00000000000..f532c554390 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2022b.eb @@ -0,0 +1,21 @@ +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': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('gmpy2', '2.1.5'), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023a.eb b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023a.eb new file mode 100644 index 00000000000..6ef48cf5831 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.12-gfbf-2023a.eb @@ -0,0 +1,21 @@ +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': '2023a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('gmpy2', '2.1.5'), +] + +moduleclass = 'math' 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/s/sympy/sympy-1.7.1-intel-2020b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.7.1-intel-2020b.eb new file mode 100644 index 00000000000..8e61d9b6f41 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.7.1-intel-2020b.eb @@ -0,0 +1,35 @@ +easyblock = 'PythonPackage' + +name = 'sympy' +version = '1.7.1' + +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': 'intel', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['a3de9261e97535b83bb8607b0da2c7d03126650fafea2b2789657b229c246b2e'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('gmpy2', '2.1.0b5'), +] + +download_dep_fail = True +use_pip = True + +runtest = 'python setup.py test' + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/isympy'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/sympy'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb new file mode 100644 index 00000000000..89e86c0fae4 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.9-foss-2021b.eb @@ -0,0 +1,25 @@ +name = 'sympy' +version = '1.9' + +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': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('gmpy2', '2.1.2'), +] + +# fix broken test, sympy doesn't actually use gmpy2's Decimal anywhere; +# see https://github.com/sympy/sympy/issues/23061#issuecomment-1052424896 +pretestopts = """sed -i "s@Decimal('0.6')@'0.6'@g" sympy/external/tests/test_pythonmpq.py && """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/sympy/sympy-1.9-intel-2021b.eb b/easybuild/easyconfigs/s/sympy/sympy-1.9-intel-2021b.eb new file mode 100644 index 00000000000..de484f459e8 --- /dev/null +++ b/easybuild/easyconfigs/s/sympy/sympy-1.9-intel-2021b.eb @@ -0,0 +1,25 @@ +name = 'sympy' +version = '1.9' + +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': 'intel', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['c7a880e229df96759f955d4f3970d4cabce79f60f5b18830c08b90ce77cd5fdc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('gmpy2', '2.1.2'), +] + +# fix broken test, sympy doesn't actually use gmpy2's Decimal anywhere; +# see https://github.com/sympy/sympy/issues/23061#issuecomment-1052424896 +pretestopts = """sed -i "s@Decimal('0.6')@'0.6'@g" sympy/external/tests/test_pythonmpq.py && """ + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/s/synapseclient/synapseclient-3.0.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/s/synapseclient/synapseclient-3.0.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9efa6975683 --- /dev/null +++ b/easybuild/easyconfigs/s/synapseclient/synapseclient-3.0.0-GCCcore-12.2.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'synapseclient' +version = '3.0.0' + +homepage = 'https://help.synapse.org/docs/' +description = """The synapseclient package provides an interface to Synapse, a collaborative, open-source + research platform that allows teams to share data, track analyses, and collaborate, providing support for: + + integrated presentation of data, code and text + fine grained access control + provenance tracking + The synapseclient package lets you communicate with the cloud-hosted Synapse service to access data and + create shared data analysis projects from within Python scripts or at the interactive Python console. + Other Synapse clients exist for R, Java, and the web. The Python client can also be used from the command line.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True + +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('Deprecated', '1.2.14', { + 'checksums': ['e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3'], + }), + ('cryptography', '3.3.2', { + 'checksums': ['5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed'], + }), + ('keyring', '23.4.1', { + 'checksums': ['89cbd74d4683ed164c8082fb38619341097741323b3786905c6dac04d6915a55'], + }), + ('keyrings.alt', '3.1', { + 'checksums': ['b59c86b67b9027a86e841a49efc41025bcc3b1b0308629617b66b7011e52db5a'], + }), + (name, version, { + 'checksums': ['788289dc42a51a974efda747b75c634b6a6b38c089a4263affb8ca4ed75a0d04'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/s/synthcity/synthcity-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/s/synthcity/synthcity-0.2.4-foss-2022a.eb new file mode 100644 index 00000000000..2d2a1ab0f5d --- /dev/null +++ b/easybuild/easyconfigs/s/synthcity/synthcity-0.2.4-foss-2022a.eb @@ -0,0 +1,167 @@ +easyblock = 'PythonBundle' + +name = 'synthcity' +version = '0.2.4' + +local_pytorch_version = '1.12.0' + +homepage = 'https://github.com/vanderschaarlab/synthcity' +description = """A library for generating and evaluating synthetic tabular data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('lifelines', '0.27.4'), + ('SciPy-bundle', '2022.05'), + ('pydantic', '1.10.4'), + ('Redis', '7.0.8'), + ('scikit-learn', '1.1.2'), + ('SHAP', '0.41.0'), + ('PyTorch', local_pytorch_version), + ('XGBoost', '1.7.2'), + ('tqdm', '4.64.0'), + ('Mako', '1.2.0'), + ('PyYAML', '6.0'), + ('fastai', '2.7.10'), + ('h5py', '3.7.0'), + ('networkx', '2.8.4'), + ('protobuf', '3.19.4'), + ('Arrow', '8.0.0'), + ('pybind11', '2.9.2'), + ('PyTorch-Lightning', '1.8.4'), + ('spaCy', '3.4.4'), + ('tensorboard', '2.10.0'), + ('torchvision', '0.13.1'), + ('Brotli-python', '1.0.9'), + ('statsmodels', '0.13.1'), + ('imbalanced-learn', '0.10.1'), + ('Greenlet', '2.0.2'), + ('Optuna', '3.1.0'), + ('Cython', '0.29.33'), + ('cython-blis', '0.9.1'), + ('torchtext', '0.14.1', '-PyTorch-%s' % local_pytorch_version), + ('IPython', '8.5.0'), + ('MONAI', '1.0.1'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('decaf_synthetic_data', '0.1.6', { + 'modulename': 'decaf', + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['dc51502f9f72b3fbdbef697238d72ae6b8457f76efc9763a747970ba543d4e0f'], + }), + ('feather-format', '0.4.1', { + 'modulename': 'feather', + 'checksums': ['45f67e3745d394d4f160ca6d636bbfd4f8b68d01199dc1649b6e487d3e878903'], + }), + ('fflows', '0.0.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['18de7a7b98e3708ff2d5ae9f10fad625740230c4de6447906b7ca477667b78fb'], + }), + ('fsspec', '2022.7.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['36c5a8e7c4fc20cf32ef6934ac0a122accc8a593ddc8478d30c3ca4dbbd95500'], + }), + ('functorch', '0.2.0', { + 'source_urls': ['https://github.com/pytorch/%(name)s/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['ea6446b60d5e0847140e1a0dcb91d8a7de2b5844bba7c3f7560eb5020a05881f'], + }), + ('geomloss', '0.2.5', { + 'checksums': ['dcd851cc3c9625f384d4c18d235a790821162c34a2be503a61966b355b98456e'], + }), + ('inflate64', '0.3.1', { + 'checksums': ['b52dd8fefd2ba179e5dfa18d6eca7e2fc822584616271c039d5ef1f9ca90c71c'], + }), + ('keopscore', '2.1.1', { + 'checksums': ['07b4d254a28a9d4a43153663856677263dd7112912efacbad83c2a76ea0836f0'], + }), + ('loguru', '0.6.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3'], + }), + ('multivolumefile', '0.2.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['237f4353b60af1703087cf7725755a1f6fcaeeea48421e1896940cd1c920d678'], + }), + ('nflows', '0.14', { + 'checksums': ['6299844a62f9999fcdf2d95cb2d01c091a50136bd17826e303aba646b2d11b55'], + }), + ('opacus', '1.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ef5d6f2aab56901d714ee56fd177a3627d14d820b2ec49cb8bc8a6f52c326507'], + }), + ('opt_einsum', '3.3.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147'], + }), + ('pgmpy', '0.1.21', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['3c442320e7822892813b4eb56e048729d3bde053a707b5bb032685af6b372246'], + }), + ('py7zr', '0.20.4', { + 'checksums': ['1d01f98ea1e1f5c49940358691b2076f9a5848056426541e783de33834f59e21'], + }), + ('pybcj', '1.0.1', { + 'modulename': 'bcj', + 'checksums': ['8b682ed08caabfb7c042d4be083e28ddc692afb1deff5567111f8855071b75c3'], + }), + ('pycox', '0.2.3', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['9ea3c64a4a650ccf6c96cf512712de330f2d75de32122d86995c7cd37ff105d1'], + }), + ('pycryptodomex', '3.17', { + 'modulename': 'Crypto', + 'checksums': ['0af93aad8d62e810247beedef0261c148790c52f3cd33643791cc6396dd217c1'], + }), + ('pykeops', '2.1.1', { + 'checksums': ['1931823c746345ce5a5805adad6baa1add772c6fe1800375f7f9a3ddb38b6f71'], + }), + ('pyppmd', '1.0.0', { + 'checksums': ['075c9bd297e3b0a87dd7aeabca7fee668218acbe69ecc1c6511064558de8840f'], + }), + ('pyts', '0.12.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['acd66b0cf1fd17d9ce6449335f5da30701f65fdee185d4b918726b62ca6af79d'], + }), + ('pyzstd', '0.15.4', { + 'checksums': ['de07ac54f57642f186732075cdce2be3d4a30228c3b17a6d8c6053765dc6eec8'], + }), + ('texttable', '1.6.7', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['b7b68139aa8a6339d2c320ca8b1dc42d13a7831a346b446cb9eb385f0c76310c'], + }), + ('thinc', '8.1.9', { + 'checksums': ['8a1e65529c6d0796271d2a7e5ca6ea013fcb7dad69ec609d5093a25808107f51'], + # we are using blis 0.9.1 + # thinc has problems with blis>0.8.0 on Windows only (https://github.com/explosion/thinc/pull/772) + 'preinstallopts': 'sed -i "s/blis>=0.7.8,<0.8.0/blis>=0.7.8/g" setup.cfg && ', + }), + ('torchtuples', '0.2.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['186625230a149cc09f64116d51b203ffefe78160f5a0445adad195893663f55b'], + }), + ('tsai', '0.3.5', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['f5b888f7b968d1826a74eab3b8fa9559c6985d8532c017a4d85809e6c8e6cadd'], + }), + ('xgbse', '0.2.3', { + 'source_urls': ['https://github.com/loft-br/xgboost-survival-embeddings/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['9e6b71539b2b533c00eddfe7681cdd541f393d9573594eca358d263b141c127d'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['424448d420331743458bf63558a06a5fbefbad19392718cd0a755d4a4878476c'], + }), +] + +sanity_check_commands = [ + "python -c 'from synthcity.plugins import Plugins'", +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb b/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb new file mode 100644 index 00000000000..8634f5e8d18 --- /dev/null +++ b/easybuild/easyconfigs/s/sysbench/sysbench-1.0.20-GCC-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'sysbench' +version = '1.0.20' + +homepage = 'https://github.com/akopytov/sysbench' +description = """sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. + It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex + workloads that do not involve a database server.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +github_account = 'akopytov' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['e8ee79b1f399b2d167e6a90de52ccc90e52408f7ade1b9b7135727efe181347f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libtool', '2.4.7'), + ('MariaDB', '10.11.2'), + ('PostgreSQL', '15.2'), # optional +] + +preconfigopts = './autogen.sh &&' +configopts = '--with-pgsql ' # optional + +sanity_check_paths = { + 'files': ['bin/sysbench'], + 'dirs': ['bin', 'share'] +} + +sanity_check_commands = ['sysbench --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.45.61.3c310a9.eb b/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.45.61.3c310a9.eb new file mode 100644 index 00000000000..1392a37d6ea --- /dev/null +++ b/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.45.61.3c310a9.eb @@ -0,0 +1,41 @@ +easyblock = "Tarball" + +name = 'T-Coffee' +version = '13.45.61.3c310a9' + +homepage = 'https://www.tcoffee.org/' +description = """A collection of tools for Computing, Evaluating and Manipulating Multiple +Alignments of DNA, RNA, Protein Sequences and Structures""" + +toolchain = SYSTEM + +source_urls = ['https://s3.eu-central-1.amazonaws.com/tcoffee-packages/Archives/'] +sources = ['T-COFFEE_installer_Version_%(version)s_linux_x64.tar.gz'] +checksums = ['8bc60336f5c203d4a20cc8c9e0ba10c5f4275a11ccfd15a0dd26a03510314513'] + +sanity_check_paths = { + 'files': ['bin/t_coffee'], + 'dirs': ['mcoffee', 'perl', 'plugins', 'src'], +} + +sanity_check_commands = ["t_coffee --help"] + +modextrapaths = { + 'PATH': 'perl/bin', + 'PERL5LIB': 'perl/lib/perl5', +} + +# optionally set extra variables +# default DIR_4_TCOFFEE is $HOME/.t_coffee +# see https://tcoffee.readthedocs.io/en/latest/tcoffee_technical_documentation.html#setting-up-the-variables +_tcoffee_dir = '/tmp/.t_coffee' +modextravars = { + 'DIR_4_TCOFFEE': _tcoffee_dir, + 'TMP_4_TCOFFEE': _tcoffee_dir + '/tmp', + 'CACHE_4_TCOFFEE': _tcoffee_dir + '/cache', + 'PLUGINS_4_TCOFFEE': _tcoffee_dir + '/plugins', + 'MAX_N_PID_4_TCOFFEE': '4194304', # see issue https://github.com/cbcrg/tcoffee/issues/27 + # 'PDB_DIR': , +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.46.0.919e8c6b.eb b/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.46.0.919e8c6b.eb new file mode 100644 index 00000000000..4301a85f744 --- /dev/null +++ b/easybuild/easyconfigs/t/T-Coffee/T-Coffee-13.46.0.919e8c6b.eb @@ -0,0 +1,41 @@ +easyblock = "Tarball" + +name = 'T-Coffee' +version = '13.46.0.919e8c6b' + +homepage = 'https://www.tcoffee.org/' +description = """A collection of tools for Computing, Evaluating and Manipulating Multiple +Alignments of DNA, RNA, Protein Sequences and Structures""" + +toolchain = SYSTEM + +source_urls = ['https://s3.eu-central-1.amazonaws.com/tcoffee-packages/Archives/'] +sources = ['T-COFFEE_installer_Version_%(version)s_linux_x64.tar.gz'] +checksums = ['53b63a470fbed5023128be037a3700ac69d8ee3b962550c69a510bada500c0e6'] + +sanity_check_paths = { + 'files': ['bin/t_coffee'], + 'dirs': ['mcoffee', 'perl', 'plugins', 'src'], +} + +sanity_check_commands = ["t_coffee --help"] + +modextrapaths = { + 'PATH': 'perl/bin', + 'PERL5LIB': 'perl/lib/perl5', +} + +# optionally set extra variables +# default DIR_4_TCOFFEE is $HOME/.t_coffee +# see https://tcoffee.readthedocs.io/en/latest/tcoffee_technical_documentation.html#setting-up-the-variables +_tcoffee_dir = '/tmp/.t_coffee' +modextravars = { + 'DIR_4_TCOFFEE': _tcoffee_dir, + 'TMP_4_TCOFFEE': _tcoffee_dir + '/tmp', + 'CACHE_4_TCOFFEE': _tcoffee_dir + '/cache', + 'PLUGINS_4_TCOFFEE': _tcoffee_dir + '/plugins', + 'MAX_N_PID_4_TCOFFEE': '4194304', # see issue https://github.com/cbcrg/tcoffee/issues/27 + # 'PDB_DIR': , +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb b/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb old mode 100644 new mode 100755 index 595fe319580..27cae837eed --- a/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb +++ b/easybuild/easyconfigs/t/TALON/TALON-5.0-foss-2020b.eb @@ -13,7 +13,6 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = ['https://github.com/mortazavilab/%(name)s/archive/refs/tags/'] sources = ['v%(version)s.tar.gz'] -# patches = ['TALON-%(version)s_less_strict_deps.patch'] checksums = [ 'aeb1c1f46a4c757a8bb866b9a4446186f0f280e9391933a040de9dad30453649', # v5.0.tar.gz ] diff --git a/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch b/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch deleted file mode 100644 index ae167de7749..00000000000 --- a/easybuild/easyconfigs/t/TALON/TALON-5.0_less_strict_deps.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ruN TALON-5.0/requirements.txt TALON-5.0_edit/requirements.txt ---- TALON-5.0/requirements.txt 2020-03-20 05:13:53.000000000 +0100 -+++ TALON-5.0_edit/requirements.txt 2021-05-26 14:36:01.257975762 +0200 -@@ -1,4 +1,4 @@ - pandas - pyfaidx --pysam==0.15.4 -+pysam>=0.15.4 - pybedtools -diff -ruN TALON-5.0/setup.py TALON-5.0_edit/setup.py ---- TALON-5.0/setup.py 2020-03-20 05:13:53.000000000 +0100 -+++ TALON-5.0_edit/setup.py 2021-05-26 14:36:06.873983709 +0200 -@@ -49,7 +49,7 @@ - python_requires=">=3.6", - install_requires=[ - "pandas", -- "pysam==0.15.4", -+ "pysam>=0.15.4", - "pybedtools", - "pyfaidx" - ], diff --git a/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..b5a09be97ae --- /dev/null +++ b/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-10.3.0.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CmdCp' + +name = 'TALYS' +version = '1.95' + +homepage = 'https://tendl.web.psi.ch/tendl_2019/talys.html' +description = "TALYS is a nuclear reaction program." + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'noopt': True} + +source_urls = ['https://tendl.web.psi.ch/tendl_2019/talys/'] +sources = ['%(namelower)s%(version)s.tar'] +checksums = ['f7efe1e07cdc072394b2b9ec5801ba70957d4f1be1eaee22c4975cc9840a57c6'] + +builddependencies = [('binutils', '2.36.1')] + +start_dir = 'source' + +# Use environment variable to set structure directory path +local_sed = 'sed -i -e "s|path=.*|call get_environment_variable(\'TALYS_STRUCTURE_DIR\', path)|g" ' +local_sed += ' -e "s|character*132 path|character*256 path|g" ' +local_sed += ' -e "s|//\'abundance|//\'/abundance|g" machine.f && ' +# Also strip hardcoded talys path in verify script +local_sed += 'sed -i "/talys=.*/d" ../samples/verify ' + +cmds_map = [('.*', '%s && $FC $FFLAGS $FCFLAGS -o talys *.f' % local_sed)] + +files_to_copy = [(['%(namelower)s'], 'bin'), 'structure', 'samples'] + +sanity_check_paths = { + 'files': ['bin/talys'], + 'dirs': ['bin', 'samples', 'structure'], +} + +sanity_check_commands = ["cd %(builddir)s/%(namelower)s/samples && ./verify"] + +modextravars = {'TALYS_STRUCTURE_DIR': '%(installdir)s/structure'} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-9.3.0.eb b/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..680897efbc7 --- /dev/null +++ b/easybuild/easyconfigs/t/TALYS/TALYS-1.95-GCCcore-9.3.0.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CmdCp' + +name = 'TALYS' +version = '1.95' + +homepage = 'https://tendl.web.psi.ch/tendl_2019/talys.html' +description = "TALYS is a nuclear reaction program." + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'noopt': True} + +source_urls = ['https://tendl.web.psi.ch/tendl_2019/talys/'] +sources = ['%(namelower)s%(version)s.tar'] +checksums = ['f7efe1e07cdc072394b2b9ec5801ba70957d4f1be1eaee22c4975cc9840a57c6'] + +builddependencies = [('binutils', '2.34')] + +start_dir = 'source' + +# Use environment variable to set structure directory path +local_sed = 'sed -i -e "s|path=.*|call get_environment_variable(\'TALYS_STRUCTURE_DIR\', path)|g" ' +local_sed += ' -e "s|character*132 path|character*256 path|g" ' +local_sed += ' -e "s|//\'abundance|//\'/abundance|g" machine.f && ' +# Also strip hardcoded talys path in verify script +local_sed += 'sed -i "/talys=.*/d" ../samples/verify ' + +cmds_map = [('.*', '%s && $FC $FFLAGS $FCFLAGS -o talys *.f' % local_sed)] + +files_to_copy = [(['%(namelower)s'], 'bin'), 'structure', 'samples'] + +sanity_check_paths = { + 'files': ['bin/talys'], + 'dirs': ['samples', 'structure'], +} + +sanity_check_commands = ["cd %(builddir)s/%(namelower)s/samples && ./verify"] + +modextravars = {'TALYS_STRUCTURE_DIR': '%(installdir)s/structure'} + +moduleclass = 'phys' 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-foss-2022a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2022a.eb new file mode 100644 index 00000000000..c672ef52e80 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2022a.eb @@ -0,0 +1,46 @@ +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': '2022a'} + +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'}, +] + +builddependencies = [('nose3', '1.3.8')] +dependencies = [ + ('Python', '3.10.4'), + ('matplotlib', '3.5.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-2022b.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2022b.eb new file mode 100644 index 00000000000..f0ac1c8820c --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2022b.eb @@ -0,0 +1,46 @@ +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': '2022b'} + +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'}, +] + +builddependencies = [('nose3', '1.3.8')] +dependencies = [ + ('Python', '3.10.8'), + ('matplotlib', '3.7.0'), + ('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-2023a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb new file mode 100644 index 00000000000..b3b40928643 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb @@ -0,0 +1,46 @@ +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': '2023a'} + +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.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('nose3', '1.3.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/TBA/TBA-1.0-foss-2020b.eb b/easybuild/easyconfigs/t/TBA/TBA-1.0-foss-2020b.eb new file mode 100644 index 00000000000..c3f0e23f2d8 --- /dev/null +++ b/easybuild/easyconfigs/t/TBA/TBA-1.0-foss-2020b.eb @@ -0,0 +1,65 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'Tarball' + +name = 'TBA' +version = '1.0' + +homepage = 'https://github.com/jenhantao/tba' +description = """TBA (a Transcription factor Binding Analysis): +TBA is a multi-functional machine learning tool for identifying +transcription factors associated with genomic features""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +source_urls = ['https://github.com/jenhantao/tba/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['97acb78e045bbd066d67213c84417f2af7f48fde1f513be22cbb46ad2966ae2c'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Biopython', '1.78'), + ('scikit-learn', '0.23.2'), + ('Seaborn', '0.11.1'), + ('matplotlib', '3.3.3'), +] + +exts_defaultclass = 'PythonPackage' +exts_default_options = { + 'source_urls': [PYPI_SOURCE], + 'download_dep_fail': True, + 'use_pip': True, + 'sanity_pip_check': True, +} + +exts_list = [ + ('idr', '2.0.3', { + 'source_urls': ['https://github.com/nboley/idr/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['63e3be099b2deadfa8c7ccc3ab83659afe683f6a35bd41b2319c6ad58ca74de6'], + }), + ('joblib', '1.2.0', { + 'checksums': ['e1cee4a79e4af22881164f218d4311f60074197fb707e082e803b61f6d137018'], + }), +] + +postinstallcmds = [ + "mv %(installdir)s/model_training/* %(installdir)s/bin ", + "mv %(installdir)s/default_motifs %(installdir)s/share ", +] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['bin/train_model_default.sh', 'bin/train_classifier.py', + 'bin/create_features.py', 'bin/idr'], + 'dirs': ['share'], +} + +sanity_check_commands = [ + "idr --version", + "train_classifier.py -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.4-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.4-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b2e44cb235d --- /dev/null +++ b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.4-GCCcore-10.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'TCLAP' +version = '1.2.4' + +homepage = 'http://tclap.sourceforge.net/' +description = """TCLAP is a small, flexible library that provides a simple interface for defining and accessing +command line arguments. It was intially inspired by the user friendly CLAP libary.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['634c5b59dbb1ccbc9d6a5f6de494a257e29a3f59dcb6fc30445ff39b45188574'] + +builddependencies = [ + ('Autotools', '20200321'), + ('binutils', '2.35'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -i -f && " + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/tclap/CmdLine.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..9928a1e286a --- /dev/null +++ b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'TCLAP' +version = '1.2.5' + +homepage = 'http://tclap.sourceforge.net/' +description = """TCLAP is a small, flexible library that provides a simple interface for defining and accessing +command line arguments. It was intially inspired by the user friendly CLAP libary.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb649f76dae35e8d0dcba4b52acfd4e062d787e6a81b43f7a4b01275153165a6'] + +builddependencies = [ + ('Autotools', '20210128'), + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -i -f && " + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/tclap/CmdLine.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e5b0687af1f --- /dev/null +++ b/easybuild/easyconfigs/t/TCLAP/TCLAP-1.2.5-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'TCLAP' +version = '1.2.5' + +homepage = 'http://tclap.sourceforge.net/' +description = """TCLAP is a small, flexible library that provides a simple interface for defining and accessing +command line arguments. It was intially inspired by the user friendly CLAP libary.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb649f76dae35e8d0dcba4b52acfd4e062d787e6a81b43f7a4b01275153165a6'] + +builddependencies = [ + ('Autotools', '20210726'), + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +preconfigopts = "autoreconf -i -f && " + +runtest = 'check' + +sanity_check_paths = { + 'files': ['include/tclap/CmdLine.h'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb new file mode 100644 index 00000000000..a0cee771e9c --- /dev/null +++ b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p3r1-foss-2021b.eb @@ -0,0 +1,87 @@ +easyblock = 'Binary' + +name = 'TELEMAC-MASCARET' +version = '8p3r1' + +homepage = 'http://www.opentelemac.org' +description = """TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having +been used in the context of many studies throughout the world, it has become one of the major standards in its field.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'extra_fcflags': "-fallow-invalid-boz"} + +source_urls = ['https://gitlab.pam-retd.fr/otm/telemac-mascaret/-/archive/v%(version)s/'] +sources = ['telemac-mascaret-v%(version)s.tar.gz'] +checksums = ['e37ae6b7eefca0e544c6431308e43828d439be08701356814dd1e04ca762fb7d'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # provides numpy, scipy + ('matplotlib', '3.4.3'), + ('HDF5', '1.12.1'), + ('METIS', '5.1.0'), + ('SCOTCH', '6.1.2'), + ('MUMPS', '5.4.1', '-metis'), +] + +extract_sources = True +unpack_options = '--strip-components=1' + +buildininstalldir = True + +local_tweak_cfg_cmd = ' '.join([ + "sed -i -e 's/S9.gfortran/easybuild/g'", + # strip out use of AED, GOTM, MED (optional dependencies) + r"-e 's/\(^[a-z]*_aed:\).*/\1/g' -e 's/\(^[a-z]*_gotm:\).*/\1/g' -e 's/\(^[a-z]*_med:\).*/\1/g'", + # replace -O2 with desired compiler options + '-e "s/-O2/$F90FLAGS/g"', + # fix linker option for BLAS + '-e "s/ -lblas/ $LIBBLAS/g"', + # downgrade Fortran compiler error to warning + "-e 's/^fflags_gfo:/fflags_gfo: -fallow-invalid-boz/g'", + "$HOMETEL/configs/systel.easybuild.cfg", +]) + +install_cmd = ' && '.join([ + "export HOMETEL=$PWD", + # add Python scripts to $PATH and $PYTHONPATH + "export PATH=$HOMETEL/scripts/python3/:$PATH", + "export PYTHONPATH=$HOMETEL/scripts/python3:$PYTHONPATH", + # force python to flush its output + "export PYTHONUNBUFFERED=1", + "cp $HOMETEL/configs/systel.edf.cfg $HOMETEL/configs/systel.easybuild.cfg", + local_tweak_cfg_cmd, + "export SYSTELCFG=$HOMETEL/configs/systel.easybuild.cfg", + "export USETELCFG=easybuild", + "export SCALAPACKHOME=$EBROOTSCALAPACK", + "export METISHOME=$EBROOTMETIS", + "export SCOTCHHOME=$EBROOTSCOTCH", + "export MUMPSHOME=$EBROOTMUMPS", + "export HDF5HOME=$EBROOTHDF5", + "config.py", + "compile_telemac.py -j %(parallel)s", +]) + +sanity_check_paths = { + 'files': ['builds/easybuild/bin/telemac2d', 'builds/easybuild/bin/telemac3d', + 'builds/easybuild/lib/libtelemac2d.%s' % SHLIB_EXT, 'builds/easybuild/lib/libtelemac3d.%s' % SHLIB_EXT], + 'dirs': ['scripts/python3'], +} + +sanity_check_commands = [ + "tmpdir=$(mktemp -d) && cp -a %(installdir)s/examples/telemac2d/gouttedo $tmpdir/ && chmod -R u+w $tmpdir && " + "cd $tmpdir/gouttedo && telemac2d.py t2d_gouttedo.cas", +] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'builds/easybuild/lib', + 'PATH': 'scripts/python3', + 'PYTHONPATH': 'scripts/python3', +} + +modextravars = { + 'SYSTELCFG': '%(installdir)s/configs/systel.easybuild.cfg', + 'USETELCFG': 'easybuild', +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p5r0-foss-2023a.eb b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p5r0-foss-2023a.eb new file mode 100644 index 00000000000..ab96be49230 --- /dev/null +++ b/easybuild/easyconfigs/t/TELEMAC-MASCARET/TELEMAC-MASCARET-8p5r0-foss-2023a.eb @@ -0,0 +1,90 @@ +easyblock = 'Binary' + +name = 'TELEMAC-MASCARET' +version = '8p5r0' + +homepage = 'http://www.opentelemac.org' +description = """TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having +been used in the context of many studies throughout the world, it has become one of the major standards in its field.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'extra_fcflags': "-fallow-invalid-boz"} + +source_urls = ['https://gitlab.pam-retd.fr/otm/telemac-mascaret/-/archive/v%(version)s/'] +sources = ['telemac-mascaret-v%(version)s.tar.gz'] +checksums = ['2beb9793fb83d17de31b17f001f985fc30702c151e2ced614f5e0117e8e34aa0'] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), # provides numpy, scipy + ('matplotlib', '3.7.2'), + ('HDF5', '1.14.0'), + ('METIS', '5.1.0'), + ('SCOTCH', '7.0.3'), + ('MUMPS', '5.6.1', '-metis'), +] + +extract_sources = True +unpack_options = '--strip-components=1' + +buildininstalldir = True + +local_tweak_cfg_cmd = ' '.join([ + "sed -i -e 's/S10.gfortran/easybuild/g'", + # strip out use of AED, GOTM, MED (optional dependencies) + r"-e 's/\(^[a-z]*_aed:\).*/\1/g' -e 's/\(^[a-z]*_gotm:\).*/\1/g' -e 's/\(^[a-z]*_med:\).*/\1/g'", + # replace -O2 with desired compiler options + '-e "s/-O2/$F90FLAGS/g"', + # fix linker option for BLAS + '-e "s/ -lblas/ $LIBBLAS/g"', + # downgrade Fortran compiler error to warning + "-e 's/^fflags_gfo:/fflags_gfo: -fallow-invalid-boz/g'", + # Disable hyperthreading option + "-e 's/--use-hwthread-cpus//'", + "$HOMETEL/configs/systel.easybuild.cfg", +]) + +install_cmd = ' && '.join([ + "export HOMETEL=$PWD", + # add Python scripts to $PATH and $PYTHONPATH + "export PATH=$HOMETEL/scripts/python3/:$PATH", + "export PYTHONPATH=$HOMETEL/scripts/python3:$PYTHONPATH", + # force python to flush its output + "export PYTHONUNBUFFERED=1", + "cp $HOMETEL/configs/systel.edf.cfg $HOMETEL/configs/systel.easybuild.cfg", + local_tweak_cfg_cmd, + "export SYSTELCFG=$HOMETEL/configs/systel.easybuild.cfg", + "export USETELCFG=easybuild.dyn", + "export SCALAPACKHOME=$EBROOTSCALAPACK", + "export METISHOME=$EBROOTMETIS", + "export SCOTCHHOME=$EBROOTSCOTCH", + "export MUMPSHOME=$EBROOTMUMPS", + "export HDF5HOME=$EBROOTHDF5", + "config.py", + "compile_telemac.py -j %(parallel)s", +]) + +sanity_check_paths = { + 'files': ['builds/easybuild.dyn/bin/telemac2d', 'builds/easybuild.dyn/bin/telemac3d', + 'builds/easybuild.dyn/lib/libtelemac2d.%s' % SHLIB_EXT, + 'builds/easybuild.dyn/lib/libtelemac3d.%s' % SHLIB_EXT], + 'dirs': ['scripts/python3'], +} + +sanity_check_commands = [ + "tmpdir=$(mktemp -d) && cp -a %(installdir)s/examples/telemac2d/gouttedo $tmpdir/ && chmod -R u+w $tmpdir && " + "cd $tmpdir/gouttedo && telemac2d.py t2d_gouttedo.cas", +] + +modextrapaths = { + 'LD_LIBRARY_PATH': 'builds/easybuild.dyn/lib', + 'PATH': 'scripts/python3', + 'PYTHONPATH': 'scripts/python3', +} + +modextravars = { + 'SYSTELCFG': '%(installdir)s/configs/systel.easybuild.cfg', + 'USETELCFG': 'easybuild.dyn', +} + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2022b.eb b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2022b.eb new file mode 100644 index 00000000000..2c06e8c9c8f --- /dev/null +++ b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonBundle' + +name = 'TF-COMB' +version = '1.1' + +homepage = 'https://github.com/loosolab/TF-COMB' +description = """Transcription Factor Co-Occurrence using Market Basket analysis.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('tqdm', '4.64.1'), + ('Pysam', '0.21.0'), + ('matplotlib', '3.7.0'), + ('networkx', '3.0'), + ('Graphviz', '8.1.0'), + ('statsmodels', '0.14.0'), + ('dill', '0.3.7'), + ('Seaborn', '0.12.2'), + ('IPython', '8.14.0'), + ('TOBIAS', '0.16.1'), + ('python-louvain', '0.16'), + ('GOATOOLS', '1.4.5'), + ('qnorm', '0.8.1'), +] + +use_pip = True +sanity_pip_check = True + +# remove graphviz from deps - the pip check failing, should be "import gv" +local_tfcomb_preinstallopts = "sed -i '70d' setup.py && " +# fix "import graphviz" to "import gv" +local_tfcomb_preinstallopts += "sed -i 's/import graphviz/import gv as graphviz/' tfcomb/plotting.py && " + +exts_list = [ + ('uropa', '4.0.3', { + 'checksums': ['e0b648881b95f301e3f3ecc924314995312f10b0cbabf96d5a5ce2fb18c53a59'], + }), + (name, version, { + 'preinstallopts': local_tfcomb_preinstallopts, + 'modulename': 'tfcomb', + 'checksums': ['5b718061660e0f9f94d86459eb742ca81de5851b0defd8b08c8a7a7e3370c253'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb new file mode 100644 index 00000000000..d95bedfc764 --- /dev/null +++ b/easybuild/easyconfigs/t/TF-COMB/TF-COMB-1.1-foss-2023a.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'TF-COMB' +version = '1.1' + +homepage = 'https://github.com/loosolab/TF-COMB' +description = """Transcription Factor Co-Occurrence using Market Basket analysis.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('Pysam', '0.22.0'), + ('matplotlib', '3.7.2'), + ('networkx', '3.1'), + ('Graphviz', '8.1.0'), + ('statsmodels', '0.14.1'), + ('dill', '0.3.7'), + ('Seaborn', '0.13.2'), + ('IPython', '8.14.0'), + ('TOBIAS', '0.16.1'), + ('python-louvain', '0.16'), + ('GOATOOLS', '1.4.5'), + ('qnorm', '0.8.1'), +] + +use_pip = True +sanity_pip_check = True + +# remove graphviz from deps - the pip check failing, should be "import gv" +local_tfcomb_preinstallopts = "sed -i '70d' setup.py && " +# fix "import graphviz" to "import gv" +local_tfcomb_preinstallopts += "sed -i 's/import graphviz/import gv as graphviz/' tfcomb/plotting.py && " +# unpin python version to works with python 3.11.3 +local_tfcomb_preinstallopts += "sed -i '59d' setup.py && " +# regenerate counting.c to works with python 3.11 +local_tfcomb_preinstallopts += "cd tfcomb && rm counting.c && cythonize -i counting.pyx && cd .. && " + + +exts_list = [ + ('uropa', '4.0.3', { + 'checksums': ['e0b648881b95f301e3f3ecc924314995312f10b0cbabf96d5a5ce2fb18c53a59'], + }), + (name, version, { + 'preinstallopts': local_tfcomb_preinstallopts, + 'modulename': 'tfcomb', + 'checksums': ['5b718061660e0f9f94d86459eb742ca81de5851b0defd8b08c8a7a7e3370c253'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb b/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb new file mode 100644 index 00000000000..37bf2e3548c --- /dev/null +++ b/easybuild/easyconfigs/t/TFEA/TFEA-1.1.4-foss-2020b-muMerge-1.1.0.eb @@ -0,0 +1,66 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'TFEA' +version = '1.1.4' +_mumergever = '1.1.0' +versionsuffix = '-muMerge-%s' % _mumergever + + +homepage = 'https://github.com/Dowell-Lab/TFEA' +description = """Transcription Factor Enrichment Analysis """ + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('matplotlib', '3.3.3'), + ('SciPy-bundle', '2020.11'), + ('pybedtools', '0.8.2'), + ('psutil', '5.9.3'), + ('SWIG', '4.0.2'), + ('ncurses', '6.2'), + ('cURL', '7.72.0'), + ('XZ', '5.2.5'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('ujson', '5.5.0', { + 'checksums': ['b25077a971c7da47bd6846a912a747f6963776d90720c88603b1b55d81790780'], + }), + ('pysam', '0.15.2', { + 'checksums': ['d049efd91ed5b1af515aa30280bc9cb46a92ddd15d546c9b21ee68a6ed4055d9'], + }), + ('HTSeq', '2.0.2', { + 'checksums': ['e2c7442d6ff3f97293cfa0da276576f0996eae0a66eb3c2006332ef198f7ea09'], + 'modulename': '%(name)s', + }), + ('mumerge', '1.1.0', { + 'source_urls': ['https://github.com/Dowell-Lab/mumerge/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f8afd360800567ddb4e7b602ed63ef30d22eb41d7bfbd1dc323295cdc8a98bf3'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'patches': ['tfea-1.1.4-README.md.patch'], + 'checksums': [('fa74d0e4ab11fa7ca125d86b76ee1cb66480374a220ab01d61433d4302cb9b3a'), + ('92e53d05c2422e422e6744d42afdd04ffc267a743f6a39c9c6957be3c6bf3b30')], + 'modulename': 'TFEA' + }), +] + +sanity_check_paths = { + 'files': ['bin/TFEA', 'bin/TFEA-annotate', 'bin/TFEA-simulate'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "TFEA --help", + "TFEA-simulate -h", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch b/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch new file mode 100644 index 00000000000..4cf540c4921 --- /dev/null +++ b/easybuild/easyconfigs/t/TFEA/tfea-1.1.4-README.md.patch @@ -0,0 +1,754 @@ +Missing README.md added +Author: J. Sassmannshausen (Imperial College London/UK) +diff --git a/tfea-1.1.4.orig/setup.py b/tfea-1.1.4/setup.py +index 416aa4e..14d21ff 100644 +--- a/tfea-1.1.4.orig/setup.py ++++ b/tfea-1.1.4/setup.py +@@ -3,7 +3,7 @@ import TFEA + + with open("README.md", "r") as fh: + long_description = fh.read() +- ++ + setuptools.setup( + name="tfea", + version=TFEA.__version__, #Version read from __init__.py +diff --git a/tfea-1.1.4/README.md b/tfea-1.1.4/README.md +new file mode 100644 +index 0000000..5e3975a +--- /dev/null ++++ b/tfea-1.1.4/README.md +@@ -0,0 +1,733 @@ ++

Transcription Factor Enrichment Analysis (TFEA)

++

Table of Contents

++ ++1. Pipeline ++2. Installation and Requirements ++ - TFEA ++ - DESeq ++ - Bedtools ++ - Samtools ++ - MEME Suite ++ - Image Magick ++ - FIJI Modules ++4. Basic Usage ++ - Testing TFEA ++ - Running TFEA ++5. Advanced Usage ++ - Configuration File ++ - Using SBATCH ++ - Pre-Processed Inputs ++ - Secondary Analysis (MD, MDD) ++ - Measuring TF FPKM ++ - Generating Simulated Data ++ - Rerunning TFEA ++ - Help Message ++6. Example Output ++7. Contact Information ++ ++

++ ++

TFEA Pipeline

++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/TFEAPipelinev5.png) ++ ++

++ ++

Installation and Requirements

++ ++

TFEA

++ ++To install, this package and all python3 dependencies: ++ ++``` ++python3 -m pip install tfea ++``` ++ ++This should take no longer than several minutes. ++ ++Once successfully installed, you should be able to run the tfea command from anywhere, try: ++ ++``` ++TFEA --help ++``` ++ ++*Note:* If you plan to run TFEA only on FIJI using the --sbatch flag, then you only need to install DESeq and DESeq2. Otherwise, follow the instructions below for installing all TFEA dependencies. ++ ++

DESeq

++ TFEA uses DESeq or DESeq2 (depending on replicate number) to rank inputted bed files based on fold change significance. If on FIJI, make sure all gcc modules are unloaded before installing DESeq or DESeq2. This can be accomplished with: ++ ++ ``` ++ module unload gcc ++ ``` ++ ++ or ++ ++ ``` ++ module purge ++ ``` ++ ++ To install DESeq and DESeq2 type in your terminal: ++ ++ ``` ++ R ++ ++ > if (!requireNamespace("BiocManager", quietly = TRUE)) ++ > install.packages("BiocManager") ++ ++ > BiocManager::install("DESeq") ++ > BiocManager::install("DESeq2") ++ ``` ++ ++

Bedtools

++ TFEA uses Bedtools to do several genomic computations. Instructions for installing bedtools can be found here: ++ ++ Bedtools Installation ++ ++ If you are on FIJI compute cluster, bedtools is available as a module: ++ ++ ``` ++ module load bedtools/2.25.0 ++ ``` ++ ++

Samtools

++ TFEA uses samtools to index bam files. Samtools download and install instructions can be found here: ++ Samtools Download and Install ++ ++ If you are on FIJI compute cluster, bedtools is available as a module: ++ ++ ``` ++ module load samtools/1.8 ++ ``` ++ ++

MEME Suite

++ TFEA uses the MEME suite to scan sequences from inputted bed files for motif hits using the background atcg distribution form inputted bed file regions. TFEA also uses the MEME suite to generate motif logos for html display. Instructions for downloading and installing the MEME suite can be found here: ++ ++ MEME Download and Installation ++ ++ If you are on FIJI compute cluster, the meme suite is available as a module: ++ ++ ``` ++ module load meme/5.0.3 ++ ``` ++ ++

Image Magick

++ TFEA uses the meme2images script within MEME to produce motif logo figures. This requires Image Magick, which is a common linux utility package sometimes pre-installed on machines. To check if you have Image Magick installed try: ++ ++ ``` ++ identify -version ++ ``` ++ ++ If you do not have Image Magick installed, follow these instructions: ++ ++ Image Magick Download and Installation ++ ++

FIJI Modules

++ Below is a summary of all FIJI modules needed to run TFEA. ++ ++ ``` ++ module load python/3.6.3 ++ module load python/3.6.3/matplotlib/1.5.1 ++ module load python/3.6.3/scipy/0.17.1 ++ module load python/3.6.3/numpy/1.14.1 ++ module load python/3.6.3/htseq/0.9.1 ++ module load python/3.6.3/pybedtools/0.7.10 ++ ++ module load samtools/1.8 ++ module load bedtools/2.25.0 ++ module load meme/5.0.3 ++ ``` ++ ++

++

BasicUsage

++

Testing TFEA

++To make sure TFEA is installed properly, run the following tests: ++ ++*Note:* If you chose to skip installations because you were going to run TFEA using the --sbatch flag, make sure you load the appropriate modules on FIJI or these tests will fail. ++ ++``` ++TFEA --test-install ++TFEA --test-full ++``` ++ ++These should each take no longer than several minutes to run ++ ++If on a compute cluster with slurm the --sbatch flag is compatible with --test-full and is recommended on FIJI. Execute like so: ++ ++``` ++TFEA --test-full --sbatch your_email@address.com ++``` ++ ++

Running TFEA

++Once you've run the above tests successfully, you should be ready to run the full version of TFEA. Below are the minimum required inputs to run the full TFEA pipeline. Test files are provided in './TFEA/test/test_files' within this repository. ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--bed1 ./TFEA/test/test_files/SRR1105736.tfit_bidirs.chr22.bed ./TFEA/test/test_files/SRR1105737.tfit_bidirs.chr22.bed \ ++--bed2 ./TFEA/test/test_files/SRR1105738.tfit_bidirs.chr22.bed ./TFEA/test/test_files/SRR1105739.tfit_bidirs.chr22.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 DMSO --label2 Nutlin \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

Advanced Usage

++

Configuration File

++TFEA can be run exclusively through the command line using flags. Alternatively, TFEA can be run using a configuration file (.ini) that takes in flags as variables. For example: ++ ++``` ++TFEA --config ./TFEA/test/test_files/test_config.ini ++``` ++ ++This can be helpful to keep track of different TFEA runs and because you can use variables within the config file to clean up your input. For documentation on config files and what you can do with them see Supported INI File Structure and Interpolation of values (ExtendedInterpolation) ++ ++*Notes:* ++ ++1. Section headers (ex: `[OUTPUT]`) don't matter but you need to have at least ONE section header to be a viable .ini file. ++2. Capitalization of variables doesn't matter. ++3. Feel free to specify any additional variables you like (variables are bash-like), TFEA will only parse variables that match a flag input. ++4. If an input is provided both as a flag and in a configuration file, TFEA prioritizes the command line flag input. ++ ++Below is an example of a configuration file (./test_files/test_config.ini): ++ ++ ```bash ++[OUTPUT] ++OUTPUT='./TFEA/test/test_files/test_output/' ++LABEL1='Condition 1' ++LABEL2='Condition 2' ++ ++[DATA] ++TEST_FILES='./TFEA/test/test_files/' ++BED1=[${TEST_FILES}+'SRR1105736.tfit_bidirs.chr22.bed',${TEST_FILES}+'SRR1105737.tfit_bidirs.chr22.bed'] ++BED2=[${TEST_FILES}+'SRR1105738.tfit_bidirs.chr22.bed',${TEST_FILES}+'SRR1105739.tfit_bidirs.chr22.bed'] ++BAM1=[${TEST_FILES}+'SRR1105736.sorted.chr22.subsample.bam', ${TEST_FILES}+'SRR1105737.sorted.chr22.subsample.bam'] ++BAM2=[${TEST_FILES}+'SRR1105738.sorted.chr22.subsample.bam', ${TEST_FILES}+'SRR1105739.sorted.chr22.subsample.bam'] ++ ++[MODULES] ++TEST_FILES='./TFEA/test/test_files/' #You need to re-initialize variables within each [MODULE] ++FIMO_MOTIFS=${TEST_FILES}+'test_database.meme' ++GENOMEFASTA=${TEST_FILES}+'chr22.fa' ++ ++[OPTIONS] ++OUTPUT_TYPE='html' ++PLOTALL=True ++``` ++ ++ ++

Using SBATCH

++Specifying the `--sbatch` flag will submit TFEA to a compute cluster assuming you are logged into one. If the `--sbatch` flag is specified, it MUST be followed by an e-mail address to send job information to. For example: ++ ++ ++``` ++TFEA --config ./TFEA/test/test_files/test_config.ini --sbatch your_email@address.com ++``` ++ ++Additionally, the following flags can be used to change some of the job parameters: ++ ++``` ++ --cpus CPUS Number of processes to run in parallel. Warning: ++ Increasing this value will significantly increase ++ memory footprint. Default: 1 ++ --mem MEM Amount of memory to request forsbatch script. Default: ++ 50gb ++``` ++ ++*Note:* `--cpus` also works without the `--sbatch` flag ++ ++ ++

Using Pre-processed Inputs

++TFEA has several pipeline elements to it that a user may bypass by providing downstream pre-processed files. These files can be generated by TFEA if running the full pipeline and may also be used to speed up reruns of TFEA. Below are the three types of pre-processed inputs, short descriptions, an example of the file, and a usage example with TFEA (in some cases there are other inputs needed to go along with the pre-processed file). If multiple pre-processed inputs specified, TFEA will use the most downstream one. ++ ++

combined_file

++ ++A sorted (by chrom, start, stop) bed file containing regions of interest ++ ++Example (./test_files/test_combined_file.bed) ++``` ++#chrom start stop ++chr22 10683195 10683999 ++chr22 16609343 16609405 ++chr22 16901069 16902599 ++chr22 17036962 17037636 ++chr22 17158022 17160214 ++... ++``` ++ ++Usage with TFEA ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--combined_file ./TFEA/test/test_files/test_combined_file.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

ranked_file

++ ++A ranked bed file with regions of interest. ++ ++*Note:* Specifying a ranked_file turns off some plotting functionality ++ ++Example (./test_files/test_ranked_file.bed) ++ ++``` ++#chrom start stop ++chr22 50794870 50797870 ++chr22 21554591 21557591 ++chr22 50304644 50307644 ++chr22 39096295 39099295 ++chr22 31176104 31179104 ++... ++``` ++ ++Usage with TFEA ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--ranked_file ./TFEA/test/test_files/test_ranked_file.bed \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

fasta_file

++ ++A ranked fasta file with regions of interest (sequences must have unique names but these names aren't used for anything). ++ ++*Note:* Specifying a fasta_file turns off some plotting functionality ++ ++Example (./test_files/test_fasta_file.bed) ++ ++``` ++>chr22:50794870-50797870 ++ccgccccacactgacgcagt...ccgcctcagcctcctaaa ++>chr22:21554591-21557591 ++cttggggagagcagaagcca...gtgcagtggtgcaatctt ++>chr22:50304644-50307644 ++CTGAGCACCCCCCACCAGCCA...GGAGACGGGGCCTTTGT ++... ++``` ++ ++Usage with TFEA ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--fasta_file ./TFEA/test/test_files/test_fasta_file.fa \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme ++``` ++ ++

Secondary Analysis

++TFEA can also perform MD-Score analysis and differential MD-Score analysis. This can be switched on easily if running the full pipeline: ++ ++``` ++TFEA --output ./TFEA/test/test_files/test_output \ ++--combined_file ./TFEA/test/test_files/test_combined_file.bed \ ++--bam1 ./TFEA/test/test_files/SRR1105736.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105737.sorted.chr22.subsample.bam \ ++--bam2 ./TFEA/test/test_files/SRR1105738.sorted.chr22.subsample.bam ./TFEA/test/test_files/SRR1105739.sorted.chr22.subsample.bam \ ++--label1 condition1 --label2 condition2 \ ++--genomefasta ./TFEA/test/test_files/chr22.fa \ ++--fimo_motifs ./TFEA/test/test_files/test_database.meme \ ++--md --mdd ++``` ++ ++These secondary analyses can also take pre-processed input similar to TFEA. See the 'Secondary Analysis Inputs' section in the help message for more information. ++ ++

Measuring TF FPKM

++TFEA will also measure the FPKM of TF genes within your data if desired. This requires input into the `--motif_annotations` flag which is a bed file with motif names as the 4th column. Example: ++ ++``` ++chr1 3698045 3733079 P73_HUMAN.H11MO.0.A 0 + ++chr1 6579990 6589212 ZBT48_HUMAN.H11MO.0.C 0 + ++chr1 15941868 15948495 ZBT17_HUMAN.H11MO.0.A 0 - ++chr1 23359447 23368005 ZN436_HUMAN.H11MO.0.C 0 - ++``` ++ ++This special bed file can be generated from a .meme database file using a tab-separated 2-column file containing motif names to gene names and a gene annotation file: ++ ++Example of a motif_to_gene.tsv (this was generated on the HOCOMOCO v11 website): ++ ++``` ++Model Transcription factor ++ANDR_HUMAN.H11MO.0.A AR ++AP2A_HUMAN.H11MO.0.A TFAP2A ++AP2C_HUMAN.H11MO.0.A TFAP2C ++ASCL1_HUMAN.H11MO.0.A ASCL1 ++``` ++ ++Example of gene annotations: ++ ++``` ++chr1 11873 14409 DDX11L1;NR_046018;chr1:11873-14409 0 + ++chr1 14361 29370 WASH7P;NR_024540;chr1:14361-29370 0 - ++chr1 17368 17436 MIR6859-1;NR_106918;chr1:17368-17436 0 - ++chr1 17368 17436 MIR6859-4;NR_128720;chr1:17368-17436 0 - ++chr1 17368 17436 MIR6859-3;NR_107063;chr1:17368-17436 0 - ++``` ++ ++The script works by looking for gene names that correspond to each motif within the 4th column of the gene annotation file. It expects the 4th column to be ';' delimited. ++ ++Already generated motif_annotation.bed files (and also intermediate .tsv files) are located within './motif_files/' ++ ++

Generating Simulated Data

++TFEA has a subpackage that is capable of generating simulated data for testing. If you have installed TFEA, it can be invoked with: ++ ++```TFEA-simulate --help``` ++ ++The purpose of this subpackage is to embed motif instances into fasta sequences that can be generated randomly or be from an experimental dataset (e.g. untreated control sample). There are several key flags that control this process (each of these may be a comma-delimited list of values that would indicate multiple instances of motif adding): ++ ++`--distance_mu` : This flag controls where the center of the distribution is located (note: only normal distributions are supported at this point) ++ ++`--distance_sigma` : Controls the standard deviation of the normal distribution ++ ++`--rank_range` : Controls the range of sequences in which to add a motif ++ ++`--motif_number` : Controls the number of motifs to add to your range of sequences ++ ++ ++

Rerunning TFEA

++TFEA can be easily rerun given one or multiple TFEA output folders. This works simply by rerunning the rerun.sh script which contains all command-line flag inputs. TFEA also automatically creates a copy of your configuration file (if used) within the output folder which is then also used when rerunning (so no need to worry about editing the original configuration file). To rerun a single TFEA output folder: ++ ++``` ++TFEA --rerun ./TFEA/test/test_files/test_output ++``` ++ ++The `--rerun` flag also supports patterns containing wildcards to rerun all TFEA output folders that match. For example: ++ ++``` ++TFEA --rerun ./TFEA/test/test_files/test* ++``` ++ ++This works by looking recursively into all folders and subfolders for rerun.sh scripts and then executing `sh rerun.sh`, so use with caution! ++ ++

Help Message

++Below are all the possible flags that can be provided to TFEA with a short description and default values. ++ ++``` ++usage: TFEA [-h] [--output DIR] ++ [--bed1 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]]] ++ [--bed2 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]]] ++ [--bam1 [BAM1 [BAM1 ...]]] [--bam2 [BAM2 [BAM2 ...]]] ++ [--label1 LABEL1] [--label2 LABEL2] [--config CONFIG] ++ [--sbatch SBATCH] [--test-install] [--test-full] ++ [--combined_file COMBINED_FILE] [--ranked_file RANKED_FILE] ++ [--fasta_file FASTA_FILE] [--md] [--mdd] ++ [--md_bedfile1 MD_BEDFILE1] [--md_bedfile2 MD_BEDFILE2] ++ [--mdd_bedfile1 MDD_BEDFILE1] [--mdd_bedfile2 MDD_BEDFILE2] ++ [--md_fasta1 MD_FASTA1] [--md_fasta2 MD_FASTA2] ++ [--mdd_fasta1 MDD_FASTA1] [--mdd_fasta2 MDD_FASTA2] ++ [--mdd_pval MDD_PVAL] [--mdd_percent MDD_PERCENT] ++ [--combine {intersect/merge,merge all,tfit clean,tfit remove small,False}] ++ [--rank {deseq,fc,False}] [--scanner {fimo,genome hits}] ++ [--enrichment {auc,auc_bgcorrect}] [--debug] ++ [--genomefasta GENOMEFASTA] [--fimo_motifs FIMO_MOTIFS] ++ [--fimo_thresh FIMO_THRESH] [--fimo_background FIMO_BACKGROUND] ++ [--genomehits GENOMEHITS] [--singlemotif SINGLEMOTIF] ++ [--permutations PERMUTATIONS] [--largewindow LARGEWINDOW] ++ [--smallwindow SMALLWINDOW] [--dpi DPI] [--padjcutoff PADJCUTOFF] ++ [--plotall] [--output_type {txt,html}] [--cpus CPUS] [--mem MEM] ++ [--motif_annotations MOTIF_ANNOTATIONS] [--bootstrap BOOTSTRAP] ++ [--basemean_cut BASEMEAN_CUT] [--rerun [RERUN [RERUN ...]]] ++ [--gc GC] ++ ++Transcription Factor Enrichment Analysis (TFEA) ++ ++optional arguments: ++ -h, --help show this help message and exit ++ ++Main Inputs: ++ Inputs required for full pipeline ++ ++ --output DIR, -o DIR Full path to output directory. If it exists, overwrite ++ its contents. ++ --bed1 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]] ++ Bed files associated with condition 1 ++ --bed2 [FILE1 FILE2 ... FILEN [FILE1 FILE2 ... FILEN ...]] ++ Bed files associated with condition 2 ++ --bam1 [BAM1 [BAM1 ...]] ++ Sorted bam files associated with condition 1. Must be ++ indexed. ++ --bam2 [BAM2 [BAM2 ...]] ++ Sorted bam files associated with condition 2. Must be ++ indexed. ++ --label1 LABEL1 An informative label for condition 1 ++ --label2 LABEL2 An informative label for condition 2 ++ --config CONFIG, -c CONFIG ++ A configuration file that a user may use instead of ++ specifying flags. Command line flags will overwrite ++ options within the config file. See examples in the ++ config_files folder. ++ --sbatch SBATCH, -s SBATCH ++ Submits an sbatch (slurm) job. If specified, input an ++ e-mail address. ++ --test-install, -ti Checks whether all requirements are installed and ++ command-line runnable. ++ --test-full, -t Performs unit testing on full TFEA pipeline. ++ ++Processed Inputs: ++ Input options for pre-processed data ++ ++ --combined_file COMBINED_FILE ++ A single bed file combining regions of interest. ++ --ranked_file RANKED_FILE ++ A bed file containing each regions rank as the 4th ++ column. ++ --fasta_file FASTA_FILE ++ A fasta file containing sequences to be analyzed, ++ ranked by the user. ++ ++Secondary Analysis Inputs: ++ Input options for performing MD-Score and Differential MD-Score analysis ++ ++ --md Switch that controls whether to perform MD analysis. ++ --mdd Switch that controls whether to perform differential ++ MD analysis. ++ --md_bedfile1 MD_BEDFILE1 ++ A bed file for MD-Score analysis associated with ++ condition 1. ++ --md_bedfile2 MD_BEDFILE2 ++ A bed file for MD-Score analysis associated with ++ condition 2. ++ --mdd_bedfile1 MDD_BEDFILE1 ++ A bed file for Differential MD-Score analysis ++ associated with condition 1. ++ --mdd_bedfile2 MDD_BEDFILE2 ++ A bed file for Differential MD-Score analysis ++ associated with condition 2. ++ --md_fasta1 MD_FASTA1 ++ A fasta file for MD-Score analysis associated with ++ condition 1. ++ --md_fasta2 MD_FASTA2 ++ A fasta file for MD-Score analysis associated with ++ condition 2. ++ --mdd_fasta1 MDD_FASTA1 ++ A fasta file for Differential MD-Score analysis ++ associated with condition 1. ++ --mdd_fasta2 MDD_FASTA2 ++ A fasta file for Differential MD-Score analysis ++ associated with condition 2. ++ --mdd_pval MDD_PVAL P-value cutoff for retaining differential regions. ++ Default: 0.2 ++ --mdd_percent MDD_PERCENT ++ Percentage cutoff for retaining differential regions. ++ Default: False ++ ++Module Switches: ++ Switches for different modules ++ ++ --combine {intersect/merge,merge all,tfit clean,tfit remove small,False} ++ Method for combining input bed files ++ --rank {deseq,fc,False} ++ Method for ranking combined bed file ++ --scanner {fimo,genome hits} ++ Method for scanning fasta files for motifs ++ --enrichment {auc,auc_bgcorrect} ++ Method for calculating enrichment ++ --debug Print memory and CPU usage to stderr ++ ++Scanner Options: ++ Options for performing motif scanning ++ ++ --genomefasta GENOMEFASTA ++ Genomic fasta file ++ --fimo_motifs FIMO_MOTIFS ++ Full path to a .meme formatted motif databse file. ++ Some databases included in motif_databases folder. ++ --fimo_thresh FIMO_THRESH ++ P-value threshold for calling FIMO motif hits. ++ Default: 1e-6 ++ --fimo_background FIMO_BACKGROUND ++ Options for choosing mononucleotide background ++ distribution to use with FIMO. {'largewindow', ++ 'smallwindow', int, file} ++ --genomehits GENOMEHITS ++ A folder containing bed files with pre-calculated ++ motif hits to a genome. For use with 'genome hits' ++ scanner option. ++ --singlemotif SINGLEMOTIF ++ Option to run analysis on a subset of motifs within ++ specified motif database or genome hits. Can be a ++ single motif or a comma-separated list of motifs. ++ ++Enrichment Options: ++ Options for performing enrichment analysis ++ ++ --permutations PERMUTATIONS ++ Number of permutations to perfrom for calculating ++ p-value. Default: 1000 ++ --largewindow LARGEWINDOW ++ The size (bp) of a large window around input regions ++ that captures background. Default: 1500 ++ --smallwindow SMALLWINDOW ++ The size (bp) of a small window arount input regions ++ that captures signal. Default: 150 ++ ++Output Options: ++ Options for the output. ++ ++ --dpi DPI Resolution of output figures. Default: 100 ++ --padjcutoff PADJCUTOFF ++ A p-adjusted cutoff value that determines some ++ plotting output. ++ --plotall Plot graphs for all motifs.Warning: This will make ++ TFEA run much slower andwill result in a large output ++ folder. ++ --output_type {txt,html} ++ Specify output type. Selecting html will increase ++ processing time and memory usage. Default: txt ++ ++Miscellaneous Options: ++ Other options. ++ ++ --cpus CPUS Number of processes to run in parallel. Note: ++ Increasing this value will significantly increase ++ memory footprint. Default: 1 ++ --mem MEM Amount of memory to request forsbatch script. Default: ++ 50gb ++ --motif_annotations MOTIF_ANNOTATIONS ++ A bed file specifying genomic coordinates for genes ++ corresponding to motifs. Motif name must be in the 4th ++ column and match what is in the database. ++ --bootstrap BOOTSTRAP ++ Amount to subsample motifhits to. Set to False to turn ++ off. Default: False ++ --basemean_cut BASEMEAN_CUT ++ Basemean cutoff value for inputted regions. Default: 0 ++ --rerun [RERUN [RERUN ...]] ++ Rerun TFEA in all folders of aspecified directory. ++ Default: False ++ --gc GC Perform GC-correction. Default: True ++``` ++ ++

++ ++

Example Output

++TFEA will output all files and folders into the directory specified by the `--output` flag. The output directory structure is as follows: ++ ++``` ++./TFEA/test/test_output ++│ rerun.sh ++│ test_config.ini ++│ inputs.txt ++│ results.txt ++│ md_results.txt ++│ mdd_results.txt ++│ results.html ++│ ++└───e_and_o ++│ TFEA_test_output.err ++│ TFEA_test_output.out ++│ ++└───plots ++│ logo_rcMOTIF.eps ++│ logo_rcMOTIF.png ++│ logoMOTIF.eps ++│ logoMOTIF.png ++│ MOTIF_enrichment_plot.png ++│ MOTIF_simulation_plot.png ++│ MOTIF.results.html ++│ ++└───temp_files ++ combined_file.mergeall.bed ++ count_file.bed ++ count_file.header.bed ++ DESeq.R ++ DESeq.Rout ++ DESeq.res.txt ++ markov_background.txt ++ ranked_file.bed ++ ranked_file.fa ++``` ++ ++A brief description of the files contained within this output directory are below: ++ ++

rerun.sh

++This bash script can be used at any time to regenerate a TFEA output folder in its entirety, run it using: ++ ++``` ++sh ./TFEA/test/test_output/rerun.sh ++``` ++ ++

test_config.ini

++ ++TFEA copies the config file you are using into the output directoy. This file is then referenced by rerun.sh. ++ ++ ++

inputs.txt

++ ++A .txt file that contains all user-provided inputs into TFEA ++ ++

results.txt

++Contains TFEA results tab-delimited in .txt format. For example: ++ ++``` ++#TF AUC Events p-val p-adj ++P53_HUMAN.H11MO.0.A 0.2795355012578686 5 0.02464223619276762 0.04928447238553524 ++SP2_HUMAN.H11MO.0.A -0.04994116666412335 114 0.027169601555608307 0.054339203111216615 ++``` ++ ++TF = The name of the motif analyzed ++ ++AUC = Area under the curve ++ ++Events = Number of motif hits within smallwindow ++ ++p-val = P-value ++ ++p-adj = adjusted p-value (Bonferroni) ++ ++

md_results.txt and mdd_results.txt

++Contains tab-delimited results for secondary MD-Score (MDS) and Differential MD-Score (MDD) analysis if these flags were specified ++ ++

results.html

++ ++The main results html (if `--output_type 'html'` specified). For example: ++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/ExampleResults.png) ++ ++1. TFEA MA-plot - An MA-like plot with each dot representing a TF motif analyzed (red=significant below specified p-adj cutoff). On the y-axis is the area under the curve (AUC) which is the main TFEA statistic. On the x-axis is the log10 of the number of motif hits within the largewindow input ++ ++2. TFEA Volcano Plot - Similar to the MA-Plot, each dot is a TF motif (red=significant below specified p-adj cutoff). X-axis = area under the curve (AUC). Y-axis = -log10 of the p-adjusted value. Dashed line is the specified p-adjusted cutoff. ++ ++3. DE-Seq MA-plot - An actual MA-plot where each dot represents a region specified by the user. On the x-axis is the log10 of the average expression across conditions and replicates. On the y-axis is the log2 fold change between both conditions. The dots on this plot are colored based on how they are ranked. ++ ++4. Link to inputs.txt file, MD MA-plot and volcano (if `--md` specified), MDD MA-plot and volcano (if `--mdd` specified), and a table of time to perform each module in TFEA and the total time to run TFEA. ++ ++5. A list of TF motifs analyzed that have positive AUC values (headers correspond to the same headers as in results.txt). If red, then this TF motif was significant below the p-adj cutoff. Clickable links will direct to a separate MOTIF.results.html file contained within the plots/ directory in output. ++ ++6. A list of TF motifs analyzed that have negative AUC values (headers correspond to the same headers as in results.txt). If red, then this TF motif was significant below the p-adj cutoff. Clickable links will direct to a separate MOTIF.results.html file contained within the plots/ directory in output. ++ ++

MOTIF.results.html

++ ++Each signficant TF motif (or all motifs if `--plotall` specified) will produce its own MOTIF.results.html file contained within the plots/ directory in the specified output directory. All images are also self-contained within the plots/ folder. For example: ++ ++![TFEA Pipeline](https://github.com/jdrubin91/TFEA/blob/master/README_images/ExampleMotifResults.png) ++ ++1. Results for this specific motif (identical to what's reported in results.html) ++ ++2. Enrichment line plot - The running sum statistic (green) for the specified TF motif. The blue dashed line indicates the random background expectation. The area under the curve (AUC) is calculated as the area between the green and dashed blue line (directional). ++ ++3. Score bar plot - Quantification of the amount added to the running sum statistic at any given point. ++ ++4. Motif hit scatter plot - The actual motif hits for each region centered on the region and bounded by the largewindow input. ++ ++5. Rank metric fill plot - A visual representation of the ranking metric used (log10(DE-Seq p-value) with direction dependent on fold change) ++ ++6. Meta plot - A meta plot of read coverage over regions separated by quartiles. ++ ++7. Heat map - A heatmap of motif hits for each quartile ++ ++8. The forward motif logo ++ ++9. The reverse complement motif logo ++ ++10. Simulation plot - The distribution of simulated AUC values (number of simulations specified with `--permutations` flag). The observed AUC is the red bar. ++ ++

++ ++

Contact Information

++Jonathan.Rubin@colorado.edu ++ diff --git a/easybuild/easyconfigs/t/THetA/THetA-0.7-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/t/THetA/THetA-0.7-foss-2018b-Python-2.7.15.eb index 003a47f61ba..bd37bacce14 100644 --- a/easybuild/easyconfigs/t/THetA/THetA-0.7-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/t/THetA/THetA-0.7-foss-2018b-Python-2.7.15.eb @@ -18,8 +18,8 @@ checksums = ['474452fa87a1ca0228137693bfede3200b91e4e166b2216c4bd24f8b270c1dea'] dependencies = [ ('Python', '2.7.15'), ('bnpy', '0.1.6', versionsuffix), - ('ant', '1.10.5', '-Java-1.8', True), # (Optional) needed for preprocessing script - # ('MATLAB', '2018b', '', True), # (Optional) provides interface to Matlab + ('ant', '1.10.5', '-Java-1.8', SYSTEM), # (Optional) needed for preprocessing script + # ('MATLAB', '2018b', '', SYSTEM), # (Optional) provides interface to Matlab ] cmds_map = [('', "ant")] diff --git a/easybuild/easyconfigs/t/TINKER/TINKER-8.11.3-foss-2023a.eb b/easybuild/easyconfigs/t/TINKER/TINKER-8.11.3-foss-2023a.eb new file mode 100644 index 00000000000..ac13f1e800f --- /dev/null +++ b/easybuild/easyconfigs/t/TINKER/TINKER-8.11.3-foss-2023a.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'TINKER' +version = '8.11.3' + +homepage = 'https://dasher.wustl.edu/tinker' +description = """The Tinker molecular modeling software is a complete and general package for molecular mechanics + and dynamics, with some special features for biopolymers.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://dasher.wustl.edu/tinker/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['8dfbc9fb8f26742d91139187657e2c905744b0243538f81b75bc04cdc2606ff7'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +srcdir = 'cmake' + +test_cmd = 'cd ../tinker/test/ && ' +# fix path to executables in .run test scripts +test_cmd += r"sed -i 's|\.\./bin|../../easybuild_obj|g' *.run && " +# run all .run scripts +# manually compare test results with .log files in test dir +# (ifabp succeeds but exits with a memory error) +test_cmd += 'for x in *.run; do echo "START TEST: $x" && ./$x; done' + +postinstallcmds = ['cd %(start_dir)s && cp -a params perl python %(installdir)s'] + +sanity_check_paths = { + 'files': ['lib/libtinker.a'], + 'dirs': ['bin', 'params', 'perl', 'python'], +} + +# (no sanity_check_commands since all programs require multiple other inputs) + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb new file mode 100644 index 00000000000..df013e222a0 --- /dev/null +++ b/easybuild/easyconfigs/t/TM-align/TM-align-20190822-GCC-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'CmdCp' + +name = 'TM-align' +version = '20190822' + +homepage = 'https://zhanglab.ccmb.med.umich.edu/RNA-align/TMalign/' +description = """This package unifies protein structure alignment and RNA structure alignment + into the standard TM-align program for single chain structure alignment, MM-align program for + multi-chain structure alignment, and TM-score program for sequence dependent structure superposition.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://zhanggroup.org/TM-align/'] +sources = ['TMtools%(version)s.tar.gz'] +checksums = ['bf81b636f222f6a6960963875e9c95dc034498f8c6fbd7cd2e66b6fde9856798'] + +_cmd = '$F77 $FCFLAGS TMalign.f -o TMalign' +_cmd += ' && $F77 $FCFLAGS TMscore.f -o TMscore' + +cmds_map = [('.*', _cmd)] + +files_to_copy = [ + (['TMalign', 'TMscore'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/TMalign', 'bin/TMscore'], + 'dirs': [], +} + +sanity_check_commands = [ + 'TMalign -h', + 'TMscore -h', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TN93/TN93-1.0.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/TN93/TN93-1.0.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..911f6914c26 --- /dev/null +++ b/easybuild/easyconfigs/t/TN93/TN93-1.0.7-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Iñaki Mtz de Ilarduya Muñoz +# sciCORE - University of Basel +# SIB Swiss Institute of Bioinformatics + +easyblock = "CMakeMake" + +name = 'TN93' +version = '1.0.7' + +homepage = 'https://github.com/veg/tn93' +description = """This is a simple program meant to compute pairwise distances between + aligned nucleotide sequences in sequential FASTA format using the Tamura Nei 93 distance.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/veg/tn93/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a088689a23e8dc92d4484431ab0de2a0f5f05109d2a56e7bd55c0cc6459c4db'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +# this is required as the DCMAKE_INSTALL_PREFIX is ignored and the cmake_install.cmake file +# will allways end up with /usr/local as the install prefix +install_cmd = 'mkdir -p %(installdir)s/bin &&' +install_cmd += ' cp {fasta_diff,nucfreqsfasta,readreduce,selectreads,seqcoverage,' +install_cmd += 'ShortestPathTN93,tn93,tn93-cluster,validate_fasta}' +install_cmd += ' %(installdir)s/bin ' + +sanity_check_paths = { + 'files': ['bin/tn93'], + 'dirs': [], +} + +sanity_check_commands = [ + 'tn93 -v', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.12.12-foss-2021b.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.12.12-foss-2021b.eb new file mode 100644 index 00000000000..e9a53481b39 --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.12.12-foss-2021b.eb @@ -0,0 +1,79 @@ +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.12.12' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools for +performing footprinting analysis on ATAC-seq data, and includes: Correction of +Tn5 insertion bias; Calculation of footprint scores within regulatory regions; +Estimation of bound/unbound transcription factor binding sites; and +Visualization of footprints within and across different conditions""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pysam', '0.17.0'), + ('scikit-learn', '1.0.1'), + ('Seaborn', '0.11.2'), + ('PyYAML', '5.4.1'), + ('boto3', '1.20.13'), + ('pybedtools', '0.8.2'), + ('pyBigWig', '0.3.18'), + ('XlsxWriter', '3.0.2'), + ('adjustText', '0.7.3'), + ('Biopython', '1.79'), + ('ImageMagick', '7.1.0-4'), +] + +exts_list = [ + ('configs', '3.0.3', { + 'source_tmpl': '%(namelower)s-%(version)s.zip', + 'checksums': ['a5ab09e04e441dac6aa856a71fbf5ffc62954352630f79d311b8f8a31d9ce19c'], + }), + ('kneed', '0.7.0', { + 'checksums': ['340d67fa183a72b0afae19846dd246a6fb7204e8d54243d8b8d3d9932f887c6e'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('statistics', '1.0.3.5', { + 'checksums': ['2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138'], + }), + ('svist4get', '1.2.24', { + 'preinstallopts': 'sed -i "s/\'argparse\',//" setup.py && ', + 'checksums': ['c4b2e561dab32019cc1505e017a12a4a77aa8aeba2720d3d1c6e69cf834cc46f'], + }), + ('PyPDF2', '1.26.0', { + 'modulename': 'PyPDF2', + 'checksums': ['e28f902f2f0a1603ea95ebe21dff311ef09be3d0f0ef29a3e44a932729564385'], + }), + ('MOODS-python', '1.9.4.1', { + 'modulename': 'MOODS', + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + }), + ('reportlab', '3.6.2', { + 'checksums': ['f0c4b47b012d893b0b9f5703cf6f01b5593714a3fc1e7dc73efbbfe26bb7e16a'], + }), + ('Wand', '0.6.7', { + 'checksums': ['ebc01bccc25dba68414ab55b482341f9ad2b197d7f49d5e724f339bbf63fb6db'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['ca599c8af7cee9a9143686ba650e8dee138283daab90c4da346d5c880bb86bf4'], + }), +] + +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/TOBIAS'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["TOBIAS ATACorrect | grep 'TOBIAS ~ ATACorrect'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb new file mode 100644 index 00000000000..862d4fe55c1 --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.14.0-foss-2020b.eb @@ -0,0 +1,82 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.14.0' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools +for performing footprinting analysis on ATAC-seq data.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), + ('Seaborn', '0.11.1'), + ('pybedtools', '0.8.2'), + ('pyBigWig', '0.3.18'), + ('scikit-learn', '0.23.2'), + ('PyYAML', '5.3.1'), + ('XlsxWriter', '1.4.0'), + ('svist4get', '1.3.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('adjustText', '0.7.3', { + 'checksums': ['b90e275a95b4d980cbbac7967914b8d66477c09bc346a0b3c9e2125bba664b06'], + 'modulename': 'adjustText', + }), + ('botocore', '1.28.2', { + 'checksums': ['9890005735652555d1183b44bad729603d26922dc08e261e1e0a35a7bf26ba38'], + }), + ('jmespath', '1.0.1', { + 'checksums': ['90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe'], + }), + ('s3transfer', '0.6.0', { + 'checksums': ['2ed07d3866f523cc561bf4a00fc5535827981b117dd7876f036b0c1aca42c947'], + }), + ('boto3', '1.25.2', { + 'checksums': ['43a93f8cecd882cccb2815cd76fc07a73b076027ab092a1c7cede89cb9b075f8'], + }), + ('kneed', '0.7.0', { + 'checksums': ['340d67fa183a72b0afae19846dd246a6fb7204e8d54243d8b8d3d9932f887c6e'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('MOODS-python', '1.9.4.1', { + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + 'modulename': 'MOODS', + }), + ('flit_core', '3.7.1', { + 'checksums': ['14955af340c43035dbfa96b5ee47407e377ee337f69e70f73064940d27d0a44f'], + }), + ('typing_extensions', '4.4.0', { + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('PyPDF2', '2.11.1', { + 'checksums': ['3c7badd512c21711eb1789c2eadbf96279289c0f94452ee54a86473bfbefd732'], + 'modulename': 'PyPDF2', + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['ac74c35f981d499425147054f82142d22e52858d402d0c63ab7e8481bd156589'], + }), +] + +sanity_check_paths = { + 'files': ['bin/TOBIAS', 'bin/cluster_sites_by_overlap.py', 'bin/moods-dna.py', 'bin/jp.py'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + "TOBIAS --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2022b.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2022b.eb new file mode 100644 index 00000000000..9150965319e --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2022b.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.16.1' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools +for performing footprinting analysis on ATAC-seq data.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('matplotlib', '3.7.0'), + ('Seaborn', '0.12.2'), + ('Pysam', '0.21.0'), + ('pybedtools', '0.9.0'), + ('boto3', '1.26.163'), + ('pyBigWig', '0.3.22'), + ('scikit-learn', '1.2.1'), + ('PyYAML', '6.0'), + ('XlsxWriter', '3.1.2'), + ('svist4get', '1.3.1'), + ('adjustText', '0.7.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('kneed', '0.8.5', { + 'checksums': ['a4847ac4f1d04852fea278d5de7aa8bfdc3beb7fbca4a182fec0f0efee43f4b1'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('MOODS-python', '1.9.4.1', { + 'modulename': 'MOODS', + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + }), + ('PyPDF2', '3.0.1', { + 'modulename': 'PyPDF2', + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + }), + ('tobias', version, { + # remove pyBigWig dependency - pip_check fails with "import pybigwig" + 'preinstallopts': "sed -i '81d' setup.py && ", + 'checksums': ['c46267c01287be06201b3e6f7a36daad1ad86d6c578f96e878501be7da7fd109'], + }), +] + +sanity_check_commands = ["python -c 'import pyBigWig'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb new file mode 100644 index 00000000000..0404ad39d85 --- /dev/null +++ b/easybuild/easyconfigs/t/TOBIAS/TOBIAS-0.16.1-foss-2023a.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'TOBIAS' +version = '0.16.1' + +homepage = 'https://github.com/loosolab/TOBIAS' +description = """TOBIAS is a collection of command-line bioinformatics tools +for performing footprinting analysis on ATAC-seq data.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('hatchling', '1.18.0')] +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('Seaborn', '0.13.2'), + ('Pysam', '0.22.0'), + ('pybedtools', '0.9.1'), + ('boto3', '1.28.70'), + ('pyBigWig', '0.3.22'), + ('scikit-learn', '1.3.1'), + ('PyYAML', '6.0'), + ('XlsxWriter', '3.1.3'), + ('svist4get', '1.3.1'), + ('adjustText', '0.7.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('kneed', '0.8.5', { + 'checksums': ['a4847ac4f1d04852fea278d5de7aa8bfdc3beb7fbca4a182fec0f0efee43f4b1'], + }), + ('logomaker', '0.8', { + 'checksums': ['d8c7501a7d6d7961cd68e5a44e939000ebf1b0c4197a0c9198351e1d681d3f6d'], + }), + ('MOODS-python', '1.9.4.1', { + 'modulename': 'MOODS', + 'checksums': ['b3b5e080cb0cd13c0fd175d0ee0d453fde3e42794fa7ac39a4f6db1ac5ddb4cc'], + }), + ('PyPDF2', '3.0.1', { + 'modulename': 'PyPDF2', + 'checksums': ['a74408f69ba6271f71b9352ef4ed03dc53a31aa404d29b5d31f53bfecfee1440'], + }), + ('tobias', version, { + 'checksums': ['c46267c01287be06201b3e6f7a36daad1ad86d6c578f96e878501be7da7fd109'], + }), +] + +sanity_check_commands = ["python -c 'import pyBigWig'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-GCC-10.2.0.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-GCC-10.2.0.eb new file mode 100644 index 00000000000..53a8eb3a500 --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-GCC-10.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.2.2' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c3e5e1f57de00977b5e41d3a857ddb7e6b41f0b9116ed608cf89f295d9ef24c6'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +sanity_check_paths = { + 'files': ['include/toml-f/GNU-10.2.0/tomlf.mod', 'lib/libtoml-f.a'], + 'dirs': ['include/toml-f/GNU-10.2.0', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-iccifort-2020.4.304.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..2a70b5b6769 --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.2.2-iccifort-2020.4.304.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.2.2' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c3e5e1f57de00977b5e41d3a857ddb7e6b41f0b9116ed608cf89f295d9ef24c6'] + +builddependencies = [ + ('CMake', '3.18.4'), +] + +sanity_check_paths = { + 'files': ['include/toml-f/Intel-19.1.3.20200925/tomlf.mod', 'lib/libtoml-f.a'], + 'dirs': ['include/toml-f/Intel-19.1.3.20200925', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..5bfab710a6b --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.3.1' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7586f0be7dc88dddba4d4e42059b84baa2688a2784bdc1d1f37112ab3edb88e1'] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +sanity_check_paths = { + 'files': ['include/toml-f/GNU-11.2.0/tomlf.mod', 'lib/libtoml-f.a'], + 'dirs': ['include/toml-f/GNU-11.2.0', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..99fc626c682 --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.3.1-GCC-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.3.1' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7586f0be7dc88dddba4d4e42059b84baa2688a2784bdc1d1f37112ab3edb88e1'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libtoml-f.a'], + 'dirs': ['include/toml-f', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-GCC-12.2.0.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..e3b1d6f709e --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-GCC-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.4.1' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['435f6c06dd7392ef282ed7567c9245ca64b8456d62cbf814ada9cbad60f21c00'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/libtoml-f.a'], + 'dirs': ['include/toml-f', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-intel-compilers-2022.2.1.eb b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-intel-compilers-2022.2.1.eb new file mode 100644 index 00000000000..7e039bdaac6 --- /dev/null +++ b/easybuild/easyconfigs/t/TOML-Fortran/TOML-Fortran-0.4.1-intel-compilers-2022.2.1.eb @@ -0,0 +1,24 @@ +easyblock = 'CMakeMake' + +name = 'TOML-Fortran' +version = '0.4.1' + +homepage = 'https://github.com/toml-f/toml-f' +description = 'TOML parser for Fortran projects' + +toolchain = {'name': 'intel-compilers', 'version': '2022.2.1'} + +source_urls = ['https://github.com/toml-f/toml-f/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['435f6c06dd7392ef282ed7567c9245ca64b8456d62cbf814ada9cbad60f21c00'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +sanity_check_paths = { + 'files': ['lib/libtoml-f.a'], + 'dirs': ['include/toml-f', 'lib/pkgconfig', 'share'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb b/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb new file mode 100644 index 00000000000..294567fbc07 --- /dev/null +++ b/easybuild/easyconfigs/t/TOPAS/TOPAS-3.9-foss-2022b.eb @@ -0,0 +1,54 @@ +easyblock = 'Bundle' + +name = 'TOPAS' +version = '3.9' + +homepage = 'https://www.topasmc.org' +description = """TOPAS wraps and extends the Geant4 Simulation Toolkit to make advanced Monte Carlo simulation of all +forms of radiotherapy easier to use for medical physicists.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('expat', '2.4.9'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('Qt5', '5.15.7'), + ('HarfBuzz', '5.3.1'), + ('GDCM', '3.0.21'), + ('CLHEP', '2.4.6.4'), +] + +local_geant4_configopts = "-DEXPAT_LIBRARY=$EBROOTEXPAT/lib/libexpat.so -DEXPAT_INCLUDE_DIR=$EBROOTEXPAT/include" +local_geant4_configopts += " -DCLHEP_ROOT_DIR=$EBROOTCLHEP -DGEANT4_INSTALL_DATA=OFF -DGEANT4_BUILD_MULTITHREADED=ON " + +components = [ + # TOPAS required Geant4 10.x, which must be built with multi-threading support + ('Geant4', '10.7.4', { + 'github_account': 'Geant4', + 'source_urls': [GITHUB_SOURCE], + 'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCELOWER_TAR_GZ}], + 'checksums': ['602b41dfee1fa6b33b026d00c5bd940155d7e5d0b3495230a87e2a25b28f9996'], + 'start_dir': 'geant4-%(version)s', + 'configopts': local_geant4_configopts, + }), + (name, version, { + 'easyblock': 'CMakeMake', + 'download_instructions': "Manual download required, see https://www.topasmc.org/download", + 'sources': ['topas_%(version_major)s_%(version_minor)s.zip'], + 'checksums': ['57739f8df5fe58f47b2cc5ac646b4776ab137d52640c6e5b1f6cd199ed3c7b0f'], + 'start_dir': 'topas_%(version_major)s_%(version_minor)s', + }), +] + +sanity_check_paths = { + 'files': ['bin/topas', 'lib/libchemistry.a', 'lib/libG4run.%s' % SHLIB_EXT, 'lib/libmain.a', 'lib/libphysics.a'], + 'dirs': ['examples', 'include'], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-210521-GCC-10.3.0.eb b/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-210521-GCC-10.3.0.eb new file mode 100644 index 00000000000..ff2075570cb --- /dev/null +++ b/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-210521-GCC-10.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'TRAVIS-Analyzer' +version = '210521' + +homepage = 'http://www.travis-analyzer.de/' +description = """ +TRAVIS is a free tool for analyzing and visualizing trajectories from all kinds +of Molecular Dynamics or Monte Carlo simulations.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = ['http://www.travis-analyzer.de/files'] +sources = ['travis-src-%(version)s.tar.gz'] +checksums = ['f085071c467957b79275f2a64325a465579e310833f827cf2333811f681f4330'] + +# use CFLAGS from EB +prebuildopts = "sed -i 's/^CFLAGS .*14/CFLAGS := $(CFLAGS)/' Makefile && " +prebuildopts += "CXX=${CXX}" + +local_exe = 'travis' +files_to_copy = [ + (['exe/%s' % local_exe], 'bin'), + (['README', 'travis-quickstart.pdf'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % local_exe], + 'dirs': ['share'] +} + +sanity_check_commands = [('%s' % local_exe, '-help')] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-220729-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-220729-GCC-11.3.0.eb new file mode 100644 index 00000000000..08a04bb14da --- /dev/null +++ b/easybuild/easyconfigs/t/TRAVIS-Analyzer/TRAVIS-Analyzer-220729-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'TRAVIS-Analyzer' +version = '220729' + +homepage = 'http://www.travis-analyzer.de/' +description = """ +TRAVIS is a free tool for analyzing and visualizing trajectories from all kinds +of Molecular Dynamics or Monte Carlo simulations.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'c++14'} + +source_urls = ['http://www.travis-analyzer.de/files'] +sources = ['travis-src-%(version)s.tar.gz'] +checksums = ['bdc1e4062e7766e3e2b6c2723ed3a1a74543a0f9156c12a139e4a03a9736123f'] + +# use CFLAGS from EB +prebuildopts = "sed -i 's/^CFLAGS .*14/CFLAGS := $(CFLAGS)/' Makefile && " +prebuildopts += "CXX=${CXX}" + +local_exe = 'travis' +files_to_copy = [ + (['exe/%s' % local_exe], 'bin'), + (['README', 'travis-quickstart.pdf'], 'share'), +] + +sanity_check_paths = { + 'files': ['bin/%s' % local_exe], + 'dirs': ['share'] +} + +sanity_check_commands = [('%s' % local_exe, '-help')] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..c7b4a835f15 --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCC-10.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Autotools', '20210128'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0d761a6a2e3 --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..42fc644514b --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..cbf3e47917e --- /dev/null +++ b/easybuild/easyconfigs/t/TRF/TRF-4.09.1-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'TRF' +version = '4.09.1' + +homepage = 'https://tandem.bu.edu/trf/trf.html' +description = """Tandem Repeats Finder: a program to analyze DNA sequences.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'Benson-Genomics-Lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['516015b625473350c3d1c9b83cac86baea620c8418498ab64c0a67029c3fb28a'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "autoreconf -i -f && " + +sanity_check_paths = { + 'files': ['bin/trf'], + 'dirs': [], +} + +sanity_check_commands = ["trf -v"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.1.0-foss-2022a.eb b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.1.0-foss-2022a.eb new file mode 100644 index 00000000000..84ff74d8ecc --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-cthyb/TRIQS-cthyb-3.1.0-foss-2022a.eb @@ -0,0 +1,69 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-cthyb' +version = '3.1.0' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/cthyb/releases/download/%(version)s/'] +sources = ['cthyb-%(version)s.tar.gz'] +checksums = ['8d6d2c4d5b3928d062b72fad4ea9df9aae198e39dd9c1fd3cc5dc34a5019acc0'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('Clang', '13.0.1'), + ('Clang-Python-bindings', '13.0.1'), + ('GMP', '6.2.1'), + ('HDF5', '1.12.2'), + ('Mako', '1.2.0'), + ('TRIQS', '3.1.1'), + ('NFFT', '3.5.3') +] + +builddependencies = [ + ('CMake', '3.23.1') +] + +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-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.1.0-foss-2022a.eb b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.1.0-foss-2022a.eb new file mode 100644 index 00000000000..78221bf72e6 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-dft_tools/TRIQS-dft_tools-3.1.0-foss-2022a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-dft_tools' +version = '3.1.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': '2022a'} +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 = ['57b7d0fe5a96c5a42bb684c60ca8e136a33e1385bf6cd7e9d1371fa507dc2ec4'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('Clang', '13.0.1'), + ('Clang-Python-bindings', '13.0.1'), + ('GMP', '6.2.1'), + ('HDF5', '1.12.2'), + ('Mako', '1.2.0'), + ('TRIQS', '3.1.1'), +] + +builddependencies = [ + ('CMake', '3.23.1') +] + +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-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.1.1-foss-2022a.eb b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.1.1-foss-2022a.eb new file mode 100644 index 00000000000..6ba4a624278 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS-tprf/TRIQS-tprf-3.1.1-foss-2022a.eb @@ -0,0 +1,70 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS-tprf' +version = '3.1.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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/tprf/releases/download/%(version)s/'] +sources = ['tprf-%(version)s.tar.gz'] +checksums = ['63d4de9cfc3daf0d74db45cfa7445b817fd22a38a8485db3ce9a81febe263b50'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('Clang', '13.0.1'), + ('Clang-Python-bindings', '13.0.1'), + ('GMP', '6.2.1'), + ('HDF5', '1.12.2'), + ('Mako', '1.2.0'), + ('TRIQS', '3.1.1'), +] + +builddependencies = [ + ('CMake', '3.23.1') +] + +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-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.1.1-foss-2022a.eb b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.1.1-foss-2022a.eb new file mode 100644 index 00000000000..ca1bf2e6a62 --- /dev/null +++ b/easybuild/easyconfigs/t/TRIQS/TRIQS-3.1.1-foss-2022a.eb @@ -0,0 +1,68 @@ +easyblock = 'CMakeMake' + +name = 'TRIQS' +version = '3.1.1' + +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': '2022a'} +toolchainopts = {'pic': True, 'usempi': True} + +source_urls = ['https://github.com/TRIQS/triqs/releases/download/%(version)s/'] +sources = ['triqs-%(version)s.tar.gz'] +checksums = ['cf4f6064ea962fc088e0c2833bf7c4e52f4c827ea331bf3c57d1c9303649042b'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), + ('Clang', '13.0.1'), + ('Clang-Python-bindings', '13.0.1'), + ('GMP', '6.2.1'), + ('HDF5', '1.12.2'), + ('Mako', '1.2.0') +] + +builddependencies = [ + ('CMake', '3.23.1') +] + +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/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/TRUST4/TRUST4-1.0.5.1.eb b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.5.1.eb new file mode 100644 index 00000000000..23e4ab181ac --- /dev/null +++ b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.5.1.eb @@ -0,0 +1,26 @@ +easyblock = 'Conda' + +name = "TRUST4" +version = "1.0.5.1" + +homepage = 'https://github.com/liulab-dfci/TRUST4' +description = """Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to +analyze TCR and BCR sequences using unselected RNA sequencing data, profiled +from solid tissues, including tumors. TRUST4 performs de novo assembly on V, J, +C genes including the hypervariable complementarity-determining region 3 (CDR3) +and reports consensus of BCR/TCR sequences.""" + +toolchain = SYSTEM + +requirements = "%(namelower)s=%(version)s" +channels = ['bioconda'] + +builddependencies = [('Miniconda3', '4.9.2')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['trust4', 'run-trust4', 'bam-extractor', + 'fastq-extractor']], + 'dirs': ['bin', 'conda-meta', 'lib'] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.6-GCC-11.2.0.eb b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.6-GCC-11.2.0.eb new file mode 100644 index 00000000000..287f0781bf3 --- /dev/null +++ b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.6-GCC-11.2.0.eb @@ -0,0 +1,68 @@ +easyblock = 'MakeCp' + +name = 'TRUST4' +version = '1.0.6' + +homepage = 'https://github.com/liulab-dfci/TRUST4' +description = """Tcr Receptor Utilities for Solid Tissue (TRUST) is a +computational tool to analyze TCR and BCR sequences using unselected RNA +sequencing data, profiled from solid tissues, including tumors. TRUST4 performs +de novo assembly on V, J, C genes including the hypervariable +complementarity-determining region 3 (CDR3) and reports consensus of BCR/TCR +sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to +report the corresponding information. TRUST4 supports both single-end and +paired-end sequencing data with any read length.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'liulab-dfci' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebc742a6a1b36ad6b650df22c4f252415d42fd4a9a30e0ce5ab55df91ead46d6'] + +# TRUST4 uses an old API of SAMtools and links agains libbam.a, that has been +# removed in SAMtools 1.14 (https://github.com/liulab-dfci/TRUST4/issues/95). +# For this reason, we use the SAMtools bundled by TRUST4. +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), +] + +local_binaries = [ + 'run-trust4', 'trust4', 'bam-extractor', 'fastq-extractor', 'annotator', + 'BuildDatabaseFa.pl', 'BuildImgtAnnot.pl', 'BuildImgtVquestAnnot.pl', + 'FilterAnnotatedAssembly.pl', 'trust-airr.pl', 'trust-barcoderep.pl', + 'trust-simplerep.pl', 'trust-smartseq.pl', +] +local_scripts = [ + 'AddSequenceToCDR3File.pl', 'barcoderep-filter.py', 'GetFullLengthAssembly.pl', + 'trust-barcoderep-to-10X.pl', 'trust-cluster.py', 'trust-stats.py' +] +files_to_copy = [ + (local_binaries, 'bin'), + (['scripts/%s' % x for x in local_scripts], 'bin'), +] + +fix_perl_shebang_for = ['bin/*.pl'] +fix_python_shebang_for = ['bin/*.py'] + +postinstallcmds = ["chmod a+x %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['bin/' + x for x in local_binaries + local_scripts], + 'dirs': [], +} + +sanity_check_commands = [ + "run-trust4 2>&1 | grep 'TRUST4 v%(version)s'", + "BuildDatabaseFa.pl 2>&1 | grep 'usage: perl BuildDatabaseFa.pl'", + "trust-cluster.py 2>&1 | grep 'usage: a.py trust_cdr3.out'", + "cd %(builddir)s/%(name)s-%(version)s && " + "run-trust4 -b example/example.bam -f hg38_bcrtcr.fa --ref human_IMGT+C.fa && " + "test -f example/TRUST_example_report.tsv" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.7-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.7-GCC-11.3.0.eb new file mode 100644 index 00000000000..e0aa3914a2d --- /dev/null +++ b/easybuild/easyconfigs/t/TRUST4/TRUST4-1.0.7-GCC-11.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'MakeCp' + +name = 'TRUST4' +version = '1.0.7' + +homepage = 'https://github.com/liulab-dfci/TRUST4' +description = """Tcr Receptor Utilities for Solid Tissue (TRUST) is a +computational tool to analyze TCR and BCR sequences using unselected RNA +sequencing data, profiled from solid tissues, including tumors. TRUST4 performs +de novo assembly on V, J, C genes including the hypervariable +complementarity-determining region 3 (CDR3) and reports consensus of BCR/TCR +sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to +report the corresponding information. TRUST4 supports both single-end and +paired-end sequencing data with any read length.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +github_account = 'liulab-dfci' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['633cab6ef0fa082012ce6a185e818b5454ef16576e9a165f268d69335b3aef5f'] + +# TRUST4 uses an old API of SAMtools and links agains libbam.a, that has been +# removed in SAMtools 1.14 (https://github.com/liulab-dfci/TRUST4/issues/95). +# For this reason, we use the SAMtools bundled by TRUST4. +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), +] + +# Fix the wrong version in run-trust4 +prebuildopts = 'sed -i "s/v1.0.6/v1.0.7/" run-trust4 && ' + +local_binaries = [ + 'run-trust4', 'trust4', 'bam-extractor', 'fastq-extractor', 'annotator', + 'BuildDatabaseFa.pl', 'BuildImgtAnnot.pl', 'BuildImgtVquestAnnot.pl', + 'FilterAnnotatedAssembly.pl', 'trust-airr.pl', 'trust-barcoderep.pl', + 'trust-simplerep.pl', 'trust-smartseq.pl', +] +local_scripts = [ + 'AddSequenceToCDR3File.pl', 'barcoderep-filter.py', 'GetFullLengthAssembly.pl', + 'trust-barcoderep-to-10X.pl', 'trust-cluster.py', 'trust-stats.py' +] +files_to_copy = [ + (local_binaries, 'bin'), + (['scripts/%s' % x for x in local_scripts], 'bin'), +] + +fix_perl_shebang_for = ['bin/*.pl'] +fix_python_shebang_for = ['bin/*.py'] + +postinstallcmds = ["chmod a+x %(installdir)s/bin/*"] + +sanity_check_paths = { + 'files': ['bin/' + x for x in local_binaries + local_scripts], + 'dirs': [], +} + +sanity_check_commands = [ + "run-trust4 2>&1 | grep 'TRUST4 v%(version)s'", + "BuildDatabaseFa.pl 2>&1 | grep 'usage: perl BuildDatabaseFa.pl'", + "trust-cluster.py 2>&1 | grep 'usage: a.py trust_cdr3.out'", + "cd %(builddir)s/%(name)s-%(version)s && " + "run-trust4 -b example/example.bam -f hg38_bcrtcr.fa --ref human_IMGT+C.fa && " + "test -f example/TRUST_example_report.tsv" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.97-cluster_only-GCC-10.2.0.eb b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.97-cluster_only-GCC-10.2.0.eb new file mode 100644 index 00000000000..7a2314cce73 --- /dev/null +++ b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.97-cluster_only-GCC-10.2.0.eb @@ -0,0 +1,28 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'TWL-NINJA' +version = '0.97-cluster_only' + +homepage = 'https://github.com/TravisWheelerLab/NINJA' +description = "Nearly Infinite Neighbor Joining Application." + +toolchain = {'name': 'GCC', 'version': '10.2.0'} +toolchainopts = {'cstd': 'gnu++11', 'openmp': True, 'opt': True} + +source_urls = ['https://github.com/TravisWheelerLab/NINJA/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['b9b948c698efc3838e63817f732ead35c08debe1c0ae36b5c74df7d26ca4c4b6'] + +start_dir = 'NINJA' +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['NINJA/Ninja'], 'bin'), 'NINJA/README', 'README.md', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/Ninja'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb new file mode 100644 index 00000000000..f7864572188 --- /dev/null +++ b/easybuild/easyconfigs/t/TWL-NINJA/TWL-NINJA-0.98-cluster_only-GCC-11.3.0.eb @@ -0,0 +1,30 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MakeCp' + +name = 'TWL-NINJA' +version = '0.98-cluster_only' + +homepage = 'https://github.com/TravisWheelerLab/NINJA' +description = "Nearly Infinite Neighbor Joining Application." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu++11', 'openmp': True, 'opt': True} + +source_urls = ['https://github.com/TravisWheelerLab/NINJA/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['55675e1a9d51eddb3decc9a7570b6bcddb12e8a922cf1ca0a1ea43995793c9db'] + +start_dir = 'NINJA' +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' + +files_to_copy = [(['NINJA/Ninja'], 'bin'), 'NINJA/README', 'README.md', 'LICENSE'] + +sanity_check_paths = { + 'files': ['bin/Ninja'], + 'dirs': [], +} + +sanity_check_commands = ['Ninja --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TXR/TXR-291-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/TXR/TXR-291-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..4fce2a7c5cc --- /dev/null +++ b/easybuild/easyconfigs/t/TXR/TXR-291-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'TXR' +version = '291' + +homepage = "https://www.nongnu.org/txr/" +description = """TXR is a pragmatic, convenient tool ready to take on your daily hacking challenges with its dual + personality: its whole-document pattern matching and extraction language for scraping information from arbitrary text + sources, and its powerful data-processing language to slice through problems like a hot knife through butter. Many + tasks can be accomplished with TXR "one liners" directly from your system prompt.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://www.kylheku.com/cgit/txr/snapshot/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['ad79db569cedd48e24b03344597e3fda72637f32724f26be0e90e7f99bdd2582'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [('libffi', '3.4.4')] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ['%(namelower)s --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-10.2.0.eb index 003fb9008b0..fd542467800 100644 --- a/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-10.2.0.eb @@ -27,7 +27,7 @@ parallel = 1 builddependencies = [ ('binutils', '2.35'), - ('Pandoc', '2.10', '', True), + ('Pandoc', '2.10', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-8.3.0.eb b/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-8.3.0.eb index 5675584ba3d..cbf5ee21bc6 100644 --- a/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/t/TagDust/TagDust-2.33-GCCcore-8.3.0.eb @@ -23,7 +23,7 @@ parallel = 1 builddependencies = [ ('binutils', '2.32'), - ('Pandoc', '2.10', '', True), + ('Pandoc', '2.10', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/t/Tapenade/Tapenade-3.16-Java-17.eb b/easybuild/easyconfigs/t/Tapenade/Tapenade-3.16-Java-17.eb new file mode 100644 index 00000000000..f474d6f883d --- /dev/null +++ b/easybuild/easyconfigs/t/Tapenade/Tapenade-3.16-Java-17.eb @@ -0,0 +1,27 @@ +easyblock = 'Tarball' + +name = 'Tapenade' +version = '3.16' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://tapenade.gitlabpages.inria.fr/tapenade/docs/html/index.html' +description = """Tool for Algorithmic Differentiation of programs.""" + +toolchain = SYSTEM + +source_urls = ['https://tapenade.gitlabpages.inria.fr/tapenade/distrib/'] +sources = ['%(namelower)s_%(version)s.tar'] +checksums = ['5ee44218a11861e3a99d413171d4016f1872b652c204c27e0be57d1740fda316'] + +dependencies = [ + ('Java', '17'), +] + +sanity_check_paths = { + 'files': ['bin/tapenade', 'LICENSE.html'], + 'dirs': ['bin', 'resources'], +} + +sanity_check_commands = ["tapenade -?"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.11-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.11-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..164554cf266 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.11-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.11' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('zlib', '1.2.11'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a45cf5082e2 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d86abbb9d4d --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['26c995dd0f167e48b11961d891ee555f680c175f7173ff8cb829f4ebcde4c1a6'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..a85651a4106 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.13' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.1.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..172e6387099 --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.1.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.13' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d23dd269e1d --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.13-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.13' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['43a1fae7412f61ff11de2cfd05d28cfc3a73762f354a417c62370a54e2caf066'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('zlib', '1.2.13'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e81b854198b --- /dev/null +++ b/easybuild/easyconfigs/t/Tcl/Tcl-8.6.14-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'Tcl' +version = '8.6.14' + +homepage = 'https://www.tcl.tk/' +description = """ + Tcl (Tool Command Language) is a very powerful but easy to learn dynamic + programming language, suitable for a very wide range of uses, including web + and desktop applications, networking, administration, testing and many more. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('zlib', '1.3.1'), +] + +configopts = '--enable-threads EXTRA_INSTALL="install-private-headers"' + +runtest = 'test' + +start_dir = 'unix' + +postinstallcmds = ['ln -s %(installdir)s/bin/tclsh%(version_major)s.%(version_minor)s %(installdir)s/bin/tclsh'] + +sanity_check_paths = { + 'files': ['bin/tclsh%(version_major)s.%(version_minor)s', 'bin/tclsh', + 'include/tcl.h', 'lib/libtcl%%(version_major)s.%%(version_minor)s.%s' % SHLIB_EXT, + 'lib/tclConfig.sh', 'man/man1/tclsh.1'], + 'dirs': ['share'], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..f6ed3b365e2 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.7.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow-Datasets' +version = '4.7.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/datasets' +description = """ +TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as +Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('tqdm', '4.61.2'), + ('TensorFlow', '2.6.0', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('tensorflow_metadata', '1.10.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e3ff528496105c0d73b2a402877525b1695635378fbe5c1b47ac7b3780816bb3'], + }), + ('etils', '0.8.0', { + 'checksums': ['d1d5af7bd9c784a273c4e1eccfaa8feaca5e0481a08717b5313fa231da22a903'], + }), + (name, version, { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['590faf3763bc14757906b36c718389eeded533ee8ae4d030ede140db86aca4cd'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..febc69e2102 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Datasets/TensorFlow-Datasets-4.8.3-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow-Datasets' +version = '4.8.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/datasets' +description = """ +TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as +Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines. +""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1') +] + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('Python', '3.9.6'), + ('tqdm', '4.62.3'), + ('TensorFlow', '2.7.1', versionsuffix), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('googleapis-common-protos', '1.56.4', { + 'modulename': 'google', + 'checksums': ['c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417'], + }), + ('tensorflow_metadata', '1.12.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['4b86df305e5c8252df4c99a25074958f3772db57276fa6bd6a4d14fe482d8bc9'], + }), + ('etils', '1.0.0', { + 'checksums': ['d10982f7702422bea8635d5284b8bed629f51919fc122ac1e1e4abf45ec8f785'], + }), + ('dm-tree', '0.1.8', { + 'modulename': 'tree', + 'checksums': ['0fcaabbb14e7980377439e7140bd05552739ca5e515ecb3119f234acee4b9430'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['5c9464c8a455347af0a5c1b6fe6636f2ecfa022001549a766c26d2e6cdd42bfc'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..98bc920ae4a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,61 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow-Graphics' +version = '2021.12.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/tensorflow/graphics' +description = """Tensorflow Graphics provides a set of differentiable graphics +and geometry layers (e.g. cameras, reflectance models, spatial transformations, +mesh convolutions) and 3D viewer functionalities (e.g. 3D TensorBoard) that can +be used to train and debug your machine learning models of choice.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('Python', '3.9.6'), + ('TensorFlow', '2.7.1', versionsuffix), + ('TensorFlow-Datasets', '4.8.3', versionsuffix), + ('matplotlib', '3.4.3'), + ('h5py', '3.6.0'), + ('tqdm', '4.62.3'), + ('OpenEXR', '3.1.1'), + ('networkx', '2.6.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('typeguard', '2.13.3', { + 'checksums': ['00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4'], + }), + ('tensorflow-addons', '0.19.0', { + 'sources': [{ + 'source_urls': ['https://github.com/tensorflow/addons/archive/refs/tags/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz', + }], + 'checksums': ['6e1c40f03c9a35453a26eacbf36700f9666882418058a2f0d81aaa939135262f'], + }), + ('OpenEXR', '1.3.9', { + 'modulename': 'Imath', + 'patches': ['TensorFlow-Graphics-2021.12.3_openexr-setup.patch'], + 'checksums': [ + {'OpenEXR-1.3.9.tar.gz': 'cffcd13906291ef1a81b369c1c0e907648ecd24363668873691f44866704ab21'}, + {'TensorFlow-Graphics-2021.12.3_openexr-setup.patch': + '158ad43767c48d9e556d89c0e01a0c23c357f8c432ad443354337ec765d430b6'}, + ], + }), + ('trimesh', '3.20.1', { + 'checksums': ['5149331d0a11082ed2990800e2ecf4f49fca4718b3af92e1c026286c8358d607'], + }), + (name, version, { + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['622f6b6c9267da96a0dfabece3fb828aea8405e2004b9b0a6288242674706355'], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3_openexr-setup.patch b/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3_openexr-setup.patch new file mode 100644 index 00000000000..81a9bcb5cd0 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow-Graphics/TensorFlow-Graphics-2021.12.3_openexr-setup.patch @@ -0,0 +1,46 @@ +Use EasyBuild information to get version and specifying paths to relevant dirs +Author: Viktor Rehnberg (Chalmers University of Technology) +diff -ruN a/setup.py b/setup.py +--- a/setup.py 2023-03-03 13:44:54.493375095 +0100 ++++ b/setup.py 2023-03-03 15:33:08.481921491 +0100 +@@ -2,10 +2,11 @@ + from distutils.extension import Extension + from distutils.command.build_py import build_py as _build_py + +-from os import system ++from os import path, environ + import platform + + from distutils.core import setup, Extension ++from distutils.version import LooseVersion + + + VERSION = "1.3.9" +@@ -22,7 +23,7 @@ + + + print("Looking for libOpenEXR...") +-if platform.system() == "Linux" and system("ldconfig -p | grep libOpenEXR"): ++if LooseVersion(environ['EBVERSIONOPENEXR']) < LooseVersion('3'): + # There is no libOpenEXR, probably an old version of OpenEXR + libraries=['Iex', 'Half', 'Imath', 'IlmImf', 'z'] + else: +@@ -44,15 +45,9 @@ + ext_modules=[ + Extension('OpenEXR', + ['OpenEXR.cpp'], +- include_dirs=['/usr/include/OpenEXR', +- '/usr/local/include/OpenEXR', +- '/opt/local/include/OpenEXR', +- '/usr/include/Imath', +- '/usr/local/include/Imath', +- '/opt/local/include/Imath'], +- library_dirs=['/usr/lib', +- '/usr/local/lib', +- '/opt/local/lib'], ++ include_dirs=[path.join(environ['EBROOTOPENEXR'], 'include', 'OpenEXR'), ++ path.join(environ['EBROOTOPENEXR'], 'include', 'Imath')], ++ library_dirs=[path.join(environ['EBROOTOPENEXR'], 'lib')], + libraries=libraries, + extra_compile_args=extra_compile_args) + ], diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2018b-Python-3.6.6.eb index 576544b8554..cacd64277ec 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2018b-Python-3.6.6.eb @@ -23,6 +23,7 @@ dependencies = [ ] use_pip = True +sanity_pip_check = True exts_list = [ ('protobuf-python', '3.6.1', { @@ -73,6 +74,7 @@ exts_list = [ }), ('tensorflow-estimator', '1.13.0', { 'source_tmpl': 'tensorflow_estimator-1.13.0-py2.py3-none-any.whl', + 'checksums': ['7cfdaa3e83e3532f31713713feb98be7ea9f3065722be4267e49b6c301271419'], 'unpack_sources': False, }), (name, version, { @@ -82,6 +84,9 @@ exts_list = [ 'TensorFlow-1.11.0_swig-env.patch', 'TensorFlow-1.11.0_remove-msse-hardcoding.patch', 'TensorFlow-1.13.1_lrt-flag.patch', + 'TensorFlow-1.13.1_fix_protobuf_problem.patch', + 'TensorFlow-1.13.1_icu_sha_changed.patch', + 'TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch', ], 'checksums': [ '7cd19978e6bc7edc2c847bce19f95515a742b34ea5e28e4389dade35348f58ed', # v1.13.1.tar.gz @@ -89,6 +94,12 @@ exts_list = [ # TensorFlow-1.11.0_remove-msse-hardcoding.patch 'a0f00ee4d03bb4fd3a645ee06045cedaf97d0b85675ec35187e9dd7e479d7bb6', 'b388be35f2581786bcd533b1bfa375165d7f35e38a3aab74570019312816bf1b', # TensorFlow-1.13.1_lrt-flag.patch + # TensorFlow-1.13.1_fix_protobuf_problem.patch + 'd2fab1497078a2980a68adeea4d0f8719be5bef03741ea4775163745a1e52d40', + # TensorFlow-1.13.1_icu_sha_changed.patch + '936611ef1baf213a430d2706459dd0274a088472c3b2657173f450e2d4d72e0f', + # TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch + '4fb1234cd548f91ee131ac72017007ec5ebf962362d5eae8511721400e76a057', ], }), ] diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb index 040263d7fa2..5dcc31eee1b 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb @@ -90,6 +90,8 @@ exts_list = [ 'TensorFlow-1.11.0_remove-msse-hardcoding.patch', 'TensorFlow-1.13.1_lrt-flag.patch', 'TensorFlow-1.13.1_fix_protobuf_problem.patch', + 'TensorFlow-1.13.1_icu_sha_changed.patch', + 'TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch', ], 'checksums': [ '7cd19978e6bc7edc2c847bce19f95515a742b34ea5e28e4389dade35348f58ed', # v1.13.1.tar.gz @@ -99,6 +101,10 @@ exts_list = [ 'b388be35f2581786bcd533b1bfa375165d7f35e38a3aab74570019312816bf1b', # TensorFlow-1.13.1_lrt-flag.patch # TensorFlow-1.13.1_fix_protobuf_problem.patch 'd2fab1497078a2980a68adeea4d0f8719be5bef03741ea4775163745a1e52d40', + # TensorFlow-1.13.1_icu_sha_changed.patch + '936611ef1baf213a430d2706459dd0274a088472c3b2657173f450e2d4d72e0f', + # TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch + '4fb1234cd548f91ee131ac72017007ec5ebf962362d5eae8511721400e76a057', ], }), ] diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-fosscuda-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-fosscuda-2019a-Python-3.7.2.eb index 574f0ddf817..6890ac7968f 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-fosscuda-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1-fosscuda-2019a-Python-3.7.2.eb @@ -94,6 +94,8 @@ exts_list = [ 'TensorFlow-1.13.1_dont_expand_cuda_cudnn_path.patch', 'TensorFlow-1.13.1_fix_protobuf_problem.patch', 'TensorFlow-1.13.1_fix_cudalib_version_for_cuda10.1.patch', + 'TensorFlow-1.13.1_icu_sha_changed.patch', + 'TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch', ], 'checksums': [ '7cd19978e6bc7edc2c847bce19f95515a742b34ea5e28e4389dade35348f58ed', # v1.13.1.tar.gz @@ -107,6 +109,10 @@ exts_list = [ 'd2fab1497078a2980a68adeea4d0f8719be5bef03741ea4775163745a1e52d40', # TensorFlow-1.13.1_fix_cudalib_version_for_cuda10.1.patch '176237dc2736d99d343f7a086503f9c724e7747f9289884302a010e5dff2dd1b', + # TensorFlow-1.13.1_icu_sha_changed.patch + '936611ef1baf213a430d2706459dd0274a088472c3b2657173f450e2d4d72e0f', + # TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch + '4fb1234cd548f91ee131ac72017007ec5ebf962362d5eae8511721400e76a057', ], }), ] diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch new file mode 100644 index 00000000000..9e51e5994a9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_cloud_impotred_w_nogcp.patch @@ -0,0 +1,14 @@ +# cloud is still imported despite tensorflow bulit with nogcp. See: +# https://github.com/tensorflow/tensorflow/issues/29617 +diff -ru tensorflow-1.13.1.orig/tensorflow/contrib/__init__.py tensorflow-1.13.1/tensorflow/contrib/__init__.py +--- tensorflow-1.13.1.orig/tensorflow/contrib/__init__.py 2019-02-25 21:37:04.000000000 +0100 ++++ tensorflow-1.13.1/tensorflow/contrib/__init__.py 2021-07-02 10:19:17.276767786 +0200 +@@ -26,8 +26,6 @@ + from tensorflow.contrib import batching + from tensorflow.contrib import bayesflow + from tensorflow.contrib import checkpoint +-if os.name != "nt": +- from tensorflow.contrib import cloud + from tensorflow.contrib import cluster_resolver + from tensorflow.contrib import coder + from tensorflow.contrib import compiler diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_icu_sha_changed.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_icu_sha_changed.patch new file mode 100644 index 00000000000..77762f389b2 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-1.13.1_icu_sha_changed.patch @@ -0,0 +1,20 @@ +# bazel expect Git LSF resolved sources +# And that only provided by the new URL. +# additionally we need the original (wrong mirror) url as well: +# ERROR: Analysis of target '//tensorflow/tools/pip_package:build_pip_package' failed; build aborted: no such package +# '@icu//': tf_http_archive(urls) must have redundant URLs. +# The mirror.bazel.build URL must be present and it must come first. +# Even if you don't have permission to mirror the file, please put the correctly formatted mirror URL there anyway, +# because someone will come along shortly thereafter and mirror the file. +diff -ru tensorflow-1.13.1.orig/third_party/icu/workspace.bzl tensorflow-1.13.1/third_party/icu/workspace.bzl +--- tensorflow-1.13.1.orig/third_party/icu/workspace.bzl 2019-02-25 21:37:04.000000000 +0100 ++++ tensorflow-1.13.1/third_party/icu/workspace.bzl 2021-07-06 09:31:01.496253109 +0200 +@@ -14,7 +14,7 @@ + sha256 = "e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761", + urls = [ + "https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz", +- "https://github.com/unicode-org/icu/archive/release-62-1.tar.gz", ++ "http://mirror.tensorflow.org/github.com/unicode-org/icu/archive/release-62-1.tar.gz", + ], + build_file = "//third_party/icu:BUILD.bazel", + system_build_file = "//third_party/icu:BUILD.system", diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2251d882c55 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,233 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['ea3b64acfff3d9a244f06178c9bdedcbdd3f125b67d0888dba8229498d06468b'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('google-auth', '2.16.0', { + 'modulename': 'google.auth', + 'checksums': ['ed7057a101af1146f0554a769930ac9de506aeca4fd5af6543ebe791851a9fbd'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', '2.11.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['38c6fff0ea9a8b06a2717736565c92a73c8cd9b1c239e7125ccb188b7848f65e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.11.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['7a97c02d502fde98a0336aadcab15b37169744d5bf6966af7d576c7a3f0a89f4'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + '%(name)s-2.4.0_dont-use-var-lock.patch', + '%(name)s-2.5.0-fix-alias-violation-in-absl.patch', + '%(name)s-2.5.0_fix-crash-on-shutdown.patch', + '%(name)s-2.8.4_exclude-xnnpack-on-ppc.patch', + '%(name)s-2.8.4_resolve-gcc-symlinks.patch', + '%(name)s-2.9.1_remove-duplicate-gpu-tests.patch', + '%(name)s-%(version)s_disable-avx512-extensions.patch', + '%(name)s-%(version)s_fix-eigen-atan-on-PPC.patch', + '%(name)s-%(version)s_fix-eigen-gemm-on-PPC.patch', + '%(name)s-%(version)s_fix-link-error.patch', + '%(name)s-%(version)s_remove-libclang-and-io-gcs-deps.patch', + ], + 'checksums': [ + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'TensorFlow-2.1.0_fix-cuda-build.patch': + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch': + 'd9f4779f72ffd2c5f9c5da0a7735328dd25756515edccf603087dba2bf4d1612'}, + {'TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch': + '4f18ff0563b0ef8556904db1bb4974f8068bf0d2ee1effb24e0c779eb32517e3'}, + {'TensorFlow-2.11.0_fix-link-error.patch': + '0a2f5c9c5be425f305bdc08f5a5ffce210e66f6ad4120d94ea0209246fc0449f'}, + {'TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch': + '21d5723ab4e9a3be349cf3d57bb55cbe43e28785a8c8b19c52cee9dcc4dcf0de'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a.eb new file mode 100644 index 00000000000..8d80022bd98 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0-foss-2022a.eb @@ -0,0 +1,226 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.11.0' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['ea3b64acfff3d9a244f06178c9bdedcbdd3f125b67d0888dba8229498d06468b'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.51.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['e6dfc2b6567b1c261739b43d9c59d201c1b89e017afd9e684d85aa7a186c9f7a'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.1', { + 'checksums': ['5991bc0e08a1319bb618d3195ca5b6bc76646a49c21d55962977197b301cc1fe'], + }), + ('google-auth', '2.16.0', { + 'modulename': 'google.auth', + 'checksums': ['ed7057a101af1146f0554a769930ac9de506aeca4fd5af6543ebe791851a9fbd'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', '2.11.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['38c6fff0ea9a8b06a2717736565c92a73c8cd9b1c239e7125ccb188b7848f65e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.11.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['7a97c02d502fde98a0336aadcab15b37169744d5bf6966af7d576c7a3f0a89f4'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + '%(name)s-2.4.0_dont-use-var-lock.patch', + '%(name)s-2.5.0-fix-alias-violation-in-absl.patch', + '%(name)s-2.5.0_fix-crash-on-shutdown.patch', + '%(name)s-2.8.4_exclude-xnnpack-on-ppc.patch', + '%(name)s-2.8.4_resolve-gcc-symlinks.patch', + '%(name)s-2.9.1_remove-duplicate-gpu-tests.patch', + '%(name)s-%(version)s_disable-avx512-extensions.patch', + '%(name)s-%(version)s_fix-eigen-atan-on-PPC.patch', + '%(name)s-%(version)s_fix-eigen-gemm-on-PPC.patch', + '%(name)s-%(version)s_fix-link-error.patch', + '%(name)s-%(version)s_remove-libclang-and-io-gcs-deps.patch', + ], + 'checksums': [ + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch': + 'd9f4779f72ffd2c5f9c5da0a7735328dd25756515edccf603087dba2bf4d1612'}, + {'TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch': + '4f18ff0563b0ef8556904db1bb4974f8068bf0d2ee1effb24e0c779eb32517e3'}, + {'TensorFlow-2.11.0_fix-link-error.patch': + '0a2f5c9c5be425f305bdc08f5a5ffce210e66f6ad4120d94ea0209246fc0449f'}, + {'TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch': + '21d5723ab4e9a3be349cf3d57bb55cbe43e28785a8c8b19c52cee9dcc4dcf0de'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_disable-avx512-extensions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_disable-avx512-extensions.patch new file mode 100644 index 00000000000..491872e541e --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_disable-avx512-extensions.patch @@ -0,0 +1,19 @@ +(Some of the) AVX512 extensions to Eigen introduced by TensorFlow are broken and return wrong values. +So disable them for now to keep AVX512 in the other code parts working. +See https://github.com/tensorflow/tensorflow/issues/49944 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tsl/framework/fixedpoint/FixedPoint.h b/tensorflow/tsl/framework/fixedpoint/FixedPoint.h +index bb3def15189..85affe89c54 100644 +--- a/tensorflow/tsl/framework/fixedpoint/FixedPoint.h ++++ b/tensorflow/tsl/framework/fixedpoint/FixedPoint.h +@@ -20,7 +20,7 @@ limitations under the License. + #include "tensorflow/tsl/framework/fixedpoint_types.h" + + // Use optimized implementations whenever available +-#if defined(EIGEN_VECTORIZE_AVX512DQ) || defined(EIGEN_VECTORIZE_AVX512BW) ++#if 0 + #include "tensorflow/tsl/framework/fixedpoint/PacketMathAVX512.h" + #include "tensorflow/tsl/framework/fixedpoint/TypeCastingAVX512.h" + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch new file mode 100644 index 00000000000..3d57bed62cb --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-atan-on-PPC.patch @@ -0,0 +1,38 @@ +Fix compilation failure on PowerPC: +external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/GenericPacketMath.h:862:67: error: no matching function for call to 'atan(const __vector(2) double&)' + +Add the upstream commit https://gitlab.com/libeigen/eigen/-/commit/886aad136111eeeb7604e1d17f62efcc4d824568 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/disable-atan-on-ppc.patch b/third_party/eigen3/disable-atan-on-ppc.patch +new file mode 100644 +index 00000000000..4614799b66a +--- /dev/null ++++ b/third_party/eigen3/disable-atan-on-ppc.patch +@@ -0,0 +1,13 @@ ++diff --git a/Eigen/src/Core/arch/AltiVec/PacketMath.h b/Eigen/src/Core/arch/AltiVec/PacketMath.h ++index 37398de15..d9ddb5e35 100644 ++--- a/Eigen/src/Core/arch/AltiVec/PacketMath.h +++++ b/Eigen/src/Core/arch/AltiVec/PacketMath.h ++@@ -2708,7 +2708,7 @@ template<> struct packet_traits : default_packet_traits ++ HasAbs = 1, ++ HasSin = 0, ++ HasCos = 0, ++- HasATan = 1, +++ HasATan = 0, ++ HasLog = 0, ++ HasExp = 1, ++ HasSqrt = 1, +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index 91f471c3def..9fa96a38310 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -14,6 +14,7 @@ def repo(): + tf_http_archive( + name = "eigen_archive", + build_file = "//third_party/eigen3:eigen_archive.BUILD", ++ patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch"], + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), + urls = tf_mirror_urls("https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT)), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch new file mode 100644 index 00000000000..1cbf1a35a03 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-eigen-gemm-on-PPC.patch @@ -0,0 +1,72 @@ +Fix a SIGSEGV in e.g. //tensorflow/core/grappler/optimizers:arithmetic_optimizer_test_cpu +See https://gitlab.com/libeigen/eigen/-/issues/2608 + +fix-ppc-gemm.patch based on https://gitlab.com/libeigen/eigen/-/merge_requests/1208 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/fix-ppc-gemm.patch b/third_party/eigen3/fix-ppc-gemm.patch +new file mode 100644 +index 00000000000..c674c4b590e +--- /dev/null ++++ b/third_party/eigen3/fix-ppc-gemm.patch +@@ -0,0 +1,46 @@ ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++index 3b3b558..44f9e16 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++@@ -1760,7 +1760,7 @@ EIGEN_ALWAYS_INLINE void gemm_cols( ++ gemm_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, remaining_rows, pAlpha, pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++@@ -2194,7 +2194,7 @@ EIGEN_ALWAYS_INLINE void gemm_complex_cols( ++ gemm_complex_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++index 28868ca..1ac6629 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++@@ -30,8 +30,8 @@ EIGEN_ALWAYS_INLINE void gemm_extra_row( ++ const Packet& pAlpha, ++ const Packet& pMask); ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_extra_cols( +++template +++EIGEN_ALWAYS_INLINE void gemm_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, ++@@ -67,7 +67,7 @@ EIGEN_ALWAYS_INLINE void gemm_complex_extra_row( ++ const Packet& pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_cols( +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++ const Scalar* blockA, ++ const Scalar* blockB, +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index 6c8744aeec4..2a2a7b474c9 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -14,7 +14,7 @@ def repo(): + tf_http_archive( + name = "eigen_archive", + build_file = "//third_party/eigen3:eigen_archive.BUILD", +- patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch"], ++ patch_file = ["//third_party/eigen3:disable-atan-on-ppc.patch", "//third_party/eigen3:fix-ppc-gemm.patch"], + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), + urls = tf_mirror_urls("https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT)), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch new file mode 100644 index 00000000000..a492897700d --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_fix-link-error.patch @@ -0,0 +1,39 @@ +Fix errors during build such as +Traceback (most recent call last): + File "/bazel-root/21e00dc5c04b924b70ed7bedd0c3533e/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/create_tensorflow.python_api_tf_python_api_gen_v2.runfiles/org_tensorflow/tensorflow/python/pywrap_tensorflow.py", line 62, in + from tensorflow.python._pywrap_tensorflow_internal import * +ImportError: /bazel-root/21e00dc5c04b924b70ed7bedd0c3533e/execroot/org_tensorflow/bazel-out/ppc-opt/bin/tensorflow/create_tensorflow.python_api_tf_python_api_gen_v2.runfiles/org_tensorflow/tensorflow/python/_pywrap_tensorflow_internal.so: undefined symbol: LLVMInitializePowerPCAsmParser + +See https://github.com/tensorflow/tensorflow/pull/59326 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD b/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD +index 587d4b184c0..5ff10743cf8 100644 +--- a/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD ++++ b/tensorflow/compiler/xla/mlir/transforms/runtime/BUILD +@@ -250,7 +250,23 @@ cc_library( + "@llvm-project//mlir:Parser", + "@llvm-project//mlir:Pass", + "@llvm-project//mlir:ToLLVMIRTranslation", +- ], ++ ] + select({ ++ "//tensorflow:arm_any": [ ++ "@llvm-project//llvm:AArch64AsmParser", ++ ], ++ "//tensorflow:linux_ppc64le": [ ++ "@llvm-project//llvm:PowerPCAsmParser", ++ ], ++ "//tensorflow:macos_arm64": [ ++ "@llvm-project//llvm:AArch64AsmParser", ++ ], ++ "//tensorflow:linux_s390x": [ ++ "@llvm-project//llvm:SystemZAsmParser", ++ ], ++ "//conditions:default": [ ++ "@llvm-project//llvm:X86AsmParser", ++ ], ++ }), + ) + + cc_library( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 00000000000..77b9f524938 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.11.0_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,38 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) +Updated by Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 74a1962c334..e8f6eabe4a6 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -88,7 +88,6 @@ REQUIRED_PACKAGES = [ + 'gast >= 0.2.1, <= 0.4.0', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + 'packaging', +@@ -105,8 +104,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0', +- 'tensorflow-io-gcs-filesystem >= 0.23.1;platform_machine!="arm64" or ' + +- 'platform_system!="Darwin"', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2022b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2022b.eb new file mode 100644 index 00000000000..b980d259a0b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2022b.eb @@ -0,0 +1,235 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.13.0' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '6.3.1'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.38.1', '-nodocs'), + ('pybind11', '2.10.3'), + ('UnZip', '6.0'), + # System protobuf doesn't seem to work: https://github.com/tensorflow/tensorflow/issues/61593 + # So don't add it here +] +dependencies = [ + ('Python', '3.10.8'), + ('h5py', '3.8.0'), + ('cURL', '7.86.0'), + ('dill', '0.3.7'), + ('double-conversion', '3.2.1'), + ('flatbuffers', '23.1.4'), + ('flatbuffers-python', '23.1.4'), + ('giflib', '5.2.1'), + ('hwloc', '2.8.0'), + ('ICU', '72.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.4'), + ('NASM', '2.15.05'), + ('nsync', '1.26.0'), + ('SQLite', '3.39.4'), + ('patchelf', '0.17.2'), + ('protobuf-python', '4.23.0'), + ('libpng', '1.6.38'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + # Dependencies of grpcio + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-03-01'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.15.0', { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), + ('termcolor', '2.3.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6f868284eaa654ae3aa7cacdbef2175d0909df9fcf11374f5166f8bf475952aa'], + }), + ('Werkzeug', '2.3.6', { + 'checksums': ['98c774df2f91b05550078891dee5f0eb0cb797a522c757a2452b9cee5b202330'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.7.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['9938bd39f5041797b33921066fba0eab03a0dd10d1887a05e62ae58841ad4c3f'], + }), + ('Markdown', '3.4.4', { + 'checksums': ['225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6'], + }), + ('grpcio', '1.56.2', { + 'modulename': 'grpc', + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + 'preinstallopts': "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + + "GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s " + + " ".join(["GRPC_PYTHON_BUILD_SYSTEM_%s=True" % i for i in + ( + 'OPENSSL', + 'ZLIB', + 'RE2', + # 'ABSL', + )]), + 'checksums': ['0ff789ae7d8ddd76d2ac02e7d13bfef6fc4928ac01e1dcaa182be51b6bcc0aaa'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.3.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + }), + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('google-auth', '2.22.0', { + 'modulename': 'google.auth', + 'checksums': ['164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce'], + }), + ('google-auth-oauthlib', '1.0.0', { + 'checksums': ['e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ab69961ebddbddc83f5fa2ff9233572bdad5b883778c35e4fe94bf1798bd8481'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', '2.13.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5ce5f706f779fa7330e63632f327b75ce38144a120376b2ae1917c00fa6136af'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '2.0.0', { + 'checksums': ['a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.13.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['472d1cb85d7087c5294131eb640bd771f5515ecc4867030c7904718be7fc19c1'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.11.0_disable-avx512-extensions.patch', + 'TensorFlow-2.13.0_add-default-shell-env.patch', + 'TensorFlow-2.13.0_add-missing-snappy-function.patch', + 'TensorFlow-2.13.0_add-missing-system-absl-py-target.patch', + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.13.0_fix-protobuf-compatibility.patch', + 'TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.13.0_remove-libclang-dep.patch', + 'TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch', + 'TensorFlow-2.13.0_unpin-gast-version.patch', + ], + 'checksums': [ + {'v2.13.0.tar.gz': 'e58c939079588623e6fa1d054aec2f90f95018266e0a970fd353a5244f5173dc'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.13.0_add-default-shell-env.patch': + 'a94b2e007bff5a08ec4e6ec3043985907a69e9eeaea69dc4fe2aa15d15b75aef'}, + {'TensorFlow-2.13.0_add-missing-snappy-function.patch': + 'aa063123dfea0072a80ae873bc4ffddc4e98497edb316114ba6c6f57ff18803c'}, + {'TensorFlow-2.13.0_add-missing-system-absl-py-target.patch': + '94bc3b155840af942437d06c43830dabf41d94391daf61e1d0add0a7bf20a538'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch': + 'd0818206846911d946666ded7d3216c0546e37cee1890a2f48dc1a9d71047cad'}, + {'TensorFlow-2.13.0_fix-protobuf-compatibility.patch': + 'a9658c035b663da1b7d1983a8e37883cc40c1c0cfa22132bb7fe19c4cbc9712a'}, + {'TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch': + '39f1cbecad4b3723481b30f18f16363ab1837c8749ee197ec88b92b493e9df67'}, + {'TensorFlow-2.13.0_remove-libclang-dep.patch': + 'f0d067d129e817b0d371c4e48a4a1ac08f80a2c137d52b05a3c7c4370dcbd1e5'}, + {'TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch': + 'f22757250181b6165e4b2ef1e199bd4cb344a9429be5a1086638f25bcbf650fc'}, + {'TensorFlow-2.13.0_unpin-gast-version.patch': + '61e0c9b67aa6c48176fcbb429bf6aa36c4fdde604c82c02f58a043412fecf285'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2023a.eb new file mode 100644 index 00000000000..ff2e32b03f4 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0-foss-2023a.eb @@ -0,0 +1,245 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.13.0' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '6.3.1'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.41.0', '-nodocs'), + ('pybind11', '2.11.1'), + ('UnZip', '6.0'), + # Required to build some of the extensions + ('poetry', '1.5.1'), + # System protobuf doesn't seem to work: https://github.com/tensorflow/tensorflow/issues/61593 + # So don't add it here +] +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('cURL', '8.0.1'), + ('dill', '0.3.7'), + ('double-conversion', '3.3.0'), + ('flatbuffers', '23.5.26'), + ('flatbuffers-python', '23.5.26'), + ('giflib', '5.2.1'), + ('hwloc', '2.9.1'), + ('ICU', '73.2'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.5.1'), + ('NASM', '2.16.01'), + ('nsync', '1.26.0'), + ('SQLite', '3.42.0'), + ('patchelf', '0.18.0'), + ('protobuf-python', '4.24.0'), + ('libpng', '1.6.39'), + ('snappy', '1.1.10'), + ('zlib', '1.2.13'), + # Dependencies of grpcio + ('OpenSSL', '1.1', '', SYSTEM), + ('RE2', '2023-08-01'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.15.0', { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), + ('termcolor', '2.3.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475'], + }), + ('tensorflow-estimator', version, { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6f868284eaa654ae3aa7cacdbef2175d0909df9fcf11374f5166f8bf475952aa'], + }), + ('Werkzeug', '2.3.7', { + 'source_tmpl': SOURCELOWER_TAR_GZ, + 'checksums': ['2b8c0e447b4b9dbcc85dd97b6eeb4dcbaf6c8b6c3be0bd654e25553e0a2157d8'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.7.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['9938bd39f5041797b33921066fba0eab03a0dd10d1887a05e62ae58841ad4c3f'], + }), + ('Markdown', '3.4.4', { + 'checksums': ['225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6'], + }), + ('grpcio', '1.57.0', { + 'modulename': 'grpc', + # patch hardcoded /usr paths to prefix them with alternate sysroot path (if defined) + 'preinstallopts': "sed -i 's@/usr@%(sysroot)s/usr@g' setup.py && " + + "GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s " + + # Required to avoid building with non-default C++ standard but keep other flags, + # see https://github.com/grpc/grpc/issues/34256 + "GRPC_PYTHON_CFLAGS='-fvisibility=hidden -fno-wrapv -fno-exceptions' " + + " ".join(["GRPC_PYTHON_BUILD_SYSTEM_%s=True" % i for i in + ( + 'OPENSSL', + 'ZLIB', + 'RE2', + # 'ABSL', + )]), + 'checksums': ['4b089f7ad1eb00a104078bab8015b0ed0ebcb3b589e527ab009c53893fd4e613'], + }), + ('oauthlib', '3.2.2', { + 'checksums': ['9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.3.0', { + 'source_tmpl': 'pyasn1_modules-%(version)s.tar.gz', + 'checksums': ['5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c'], + }), + ('cachetools', '5.3.1', { + 'checksums': ['dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b'], + }), + ('google-auth', '2.22.0', { + 'modulename': 'google.auth', + 'checksums': ['164cba9af4e6e4e40c3a4f90a1a6c12ee56f14c0b4868d1ca91b32826ab334ce'], + }), + ('google-auth-oauthlib', '1.0.0', { + 'checksums': ['e375064964820b47221a7e1b7ee1fd77051b6323c3f9e3e19785f78ab67ecfc5'], + }), + ('absl-py', '1.4.0', { + 'modulename': 'absl', + 'checksums': ['d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ab69961ebddbddc83f5fa2ff9233572bdad5b883778c35e4fe94bf1798bd8481'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('keras', '2.13.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['5ce5f706f779fa7330e63632f327b75ce38144a120376b2ae1917c00fa6136af'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '2.0.0', { + 'checksums': ['a6df30f272c08bf8be66e0775fad862005d950a6b8449b94f7c788731d70ecd7'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.13.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['472d1cb85d7087c5294131eb640bd771f5515ecc4867030c7904718be7fc19c1'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.11.0_disable-avx512-extensions.patch', + 'TensorFlow-2.13.0_add-default-shell-env.patch', + 'TensorFlow-2.13.0_add-missing-system-absl-py-target.patch', + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.13.0_fix-protobuf-compatibility.patch', + 'TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.13.0_remove-libclang-dep.patch', + 'TensorFlow-2.13.0_fix-numpy-2.15.compat.patch', + 'TensorFlow-2.13.0_remove-typing_extensions-upper-bound.patch', + 'TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch', + 'TensorFlow-2.13.0_unpin-gast-version.patch', + ], + 'checksums': [ + {'v2.13.0.tar.gz': 'e58c939079588623e6fa1d054aec2f90f95018266e0a970fd353a5244f5173dc'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.11.0_disable-avx512-extensions.patch': + 'fb8e7694b5d2377cc44e6674ff85a7c50dc725f2f507cbcfda65f129f534b1cc'}, + {'TensorFlow-2.13.0_add-default-shell-env.patch': + 'a94b2e007bff5a08ec4e6ec3043985907a69e9eeaea69dc4fe2aa15d15b75aef'}, + {'TensorFlow-2.13.0_add-missing-system-absl-py-target.patch': + '94bc3b155840af942437d06c43830dabf41d94391daf61e1d0add0a7bf20a538'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch': + 'd0818206846911d946666ded7d3216c0546e37cee1890a2f48dc1a9d71047cad'}, + {'TensorFlow-2.13.0_fix-protobuf-compatibility.patch': + 'a9658c035b663da1b7d1983a8e37883cc40c1c0cfa22132bb7fe19c4cbc9712a'}, + {'TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch': + '39f1cbecad4b3723481b30f18f16363ab1837c8749ee197ec88b92b493e9df67'}, + {'TensorFlow-2.13.0_remove-libclang-dep.patch': + 'f0d067d129e817b0d371c4e48a4a1ac08f80a2c137d52b05a3c7c4370dcbd1e5'}, + {'TensorFlow-2.13.0_fix-numpy-2.15.compat.patch': + '4023be57bc8e33ae55ccac54b51d6532fea7ac4a32cb1125e3e42da0dec1669a'}, + {'TensorFlow-2.13.0_remove-typing_extensions-upper-bound.patch': + 'ed48464ed6f4cdbd0dde93ffc413c394d363278039502d77540ff7206c2048ae'}, + {'TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch': + 'f22757250181b6165e4b2ef1e199bd4cb344a9429be5a1086638f25bcbf650fc'}, + {'TensorFlow-2.13.0_unpin-gast-version.patch': + '61e0c9b67aa6c48176fcbb429bf6aa36c4fdde604c82c02f58a043412fecf285'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + # Need to have $HOME set for tests on PPC: https://github.com/tensorflow/tensorflow/issues/61814 + 'testopts': "--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-default-shell-env.patch new file mode 100644 index 00000000000..9b1f3171369 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-default-shell-env.patch @@ -0,0 +1,30 @@ +Make TensorFlow use the environment as set by EasyBuild + +See https://github.com/tensorflow/tensorflow/pull/61591 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl +index 842879a0536..20fb9c1fb9d 100644 +--- a/tensorflow/lite/build_def.bzl ++++ b/tensorflow/lite/build_def.bzl +@@ -356,6 +356,7 @@ def _gen_selected_ops_impl(ctx): + executable = ctx.executable._generate_op_registrations, + mnemonic = "OpRegistration", + progress_message = "gen_selected_ops", ++ use_default_shell_env = True, + ) + + gen_selected_ops_rule = rule( +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index e9f5e5aaffa..c22efdc20cf 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1282,6 +1282,7 @@ def _generate_op_reg_offsets_impl(ctx): + tools = [ctx.executable._offset_counter], + executable = ctx.executable._offset_counter, + arguments = [args], ++ use_default_shell_env = True, + ) + + generate_op_reg_offsets = rule( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-snappy-function.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-snappy-function.patch new file mode 100644 index 00000000000..0ec4867dc7b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-snappy-function.patch @@ -0,0 +1,109 @@ +Add functions introduced in Snappy 1.1.10 missing in our 1.1.9: +https://github.com/google/snappy/commit/9758c9dfd744f252bf3351c1a212e05c9f7fc857 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tsl/platform/default/port.cc b/tensorflow/tsl/platform/default/port.cc +index 0a1052aded5..92f0dbdb7d6 100644 +--- a/tensorflow/tsl/platform/default/port.cc ++++ b/tensorflow/tsl/platform/default/port.cc +@@ -39,6 +39,7 @@ limitations under the License. + #include + #ifdef TF_USE_SNAPPY + #include "snappy.h" ++#include "snappy-sinksource.h" + #endif + #if (defined(__APPLE__) && defined(__MACH__)) || defined(__FreeBSD__) || \ + defined(__HAIKU__) +@@ -307,6 +308,80 @@ int NUMAGetMemAffinity(const void* addr) { + return node; + } + ++namespace { ++ // Backport from Snappy 1.1.10: https://github.com/google/snappy/commit/9758c9dfd744f252bf3351c1a212e05c9f7fc857 ++ static_assert(SNAPPY_VERSION == 0x010109, "Backport is only for 1.1.9"); ++ // A `Source` implementation that yields the contents of an `iovec` array. Note ++ // that `total_size` is the total number of bytes to be read from the elements ++ // of `iov` (_not_ the total number of elements in `iov`). ++ class SnappyIOVecReader : public snappy::Source { ++ public: ++ SnappyIOVecReader(const struct iovec* iov, size_t total_size) ++ : curr_iov_(iov), ++ curr_pos_(total_size > 0 ? reinterpret_cast(iov->iov_base) ++ : nullptr), ++ curr_size_remaining_(total_size > 0 ? iov->iov_len : 0), ++ total_size_remaining_(total_size) { ++ // Skip empty leading `iovec`s. ++ if (total_size > 0 && curr_size_remaining_ == 0) Advance(); ++ } ++ ++ ~SnappyIOVecReader() = default; ++ ++ size_t Available() const { return total_size_remaining_; } ++ ++ const char* Peek(size_t* len) { ++ *len = curr_size_remaining_; ++ return curr_pos_; ++ } ++ ++ void Skip(size_t n) { ++ while (n >= curr_size_remaining_ && n > 0) { ++ n -= curr_size_remaining_; ++ Advance(); ++ } ++ curr_size_remaining_ -= n; ++ total_size_remaining_ -= n; ++ curr_pos_ += n; ++ } ++ ++ private: ++ // Advances to the next nonempty `iovec` and updates related variables. ++ void Advance() { ++ do { ++ assert(total_size_remaining_ >= curr_size_remaining_); ++ total_size_remaining_ -= curr_size_remaining_; ++ if (total_size_remaining_ == 0) { ++ curr_pos_ = nullptr; ++ curr_size_remaining_ = 0; ++ return; ++ } ++ ++curr_iov_; ++ curr_pos_ = reinterpret_cast(curr_iov_->iov_base); ++ curr_size_remaining_ = curr_iov_->iov_len; ++ } while (curr_size_remaining_ == 0); ++ } ++ ++ // The `iovec` currently being read. ++ const struct iovec* curr_iov_; ++ // The location in `curr_iov_` currently being read. ++ const char* curr_pos_; ++ // The amount of unread data in `curr_iov_`. ++ size_t curr_size_remaining_; ++ // The amount of unread data in the entire input array. ++ size_t total_size_remaining_; ++ }; ++ ++ void Snappy_RawCompressFromIOVec(const struct iovec* iov, size_t uncompressed_length, ++ char* compressed, size_t* compressed_length) { ++ SnappyIOVecReader reader(iov, uncompressed_length); ++ snappy::UncheckedByteArraySink writer(compressed); ++ snappy::Compress(&reader, &writer); ++ ++ // Compute how many bytes were added. ++ *compressed_length = writer.CurrentDestination() - compressed; ++ } ++} + + bool Snappy_Compress(const char* input, size_t length, string* output) { + #ifdef TF_USE_SNAPPY +@@ -325,8 +400,8 @@ bool Snappy_CompressFromIOVec(const struct iovec* iov, + #ifdef TF_USE_SNAPPY + output->resize(snappy::MaxCompressedLength(uncompressed_length)); + size_t outlen; +- snappy::RawCompressFromIOVec(iov, uncompressed_length, &(*output)[0], +- &outlen); ++ Snappy_RawCompressFromIOVec(iov, uncompressed_length, &(*output)[0], ++ &outlen); + output->resize(outlen); + return true; + #else diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-absl-py-target.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-absl-py-target.patch new file mode 100644 index 00000000000..5a68faf7479 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-absl-py-target.patch @@ -0,0 +1,17 @@ +Add a missing target for the absl-py SYSTEMLIB +From https://github.com/tensorflow/tensorflow/pull/60636 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/systemlibs/absl_py.absl.flags.BUILD b/third_party/systemlibs/absl_py.absl.flags.BUILD +index 4049989ae2fda..d92f4949df1a5 100644 +--- a/third_party/systemlibs/absl_py.absl.flags.BUILD ++++ b/third_party/systemlibs/absl_py.absl.flags.BUILD +@@ -5,3 +5,7 @@ package(default_visibility = ["//visibility:public"]) + py_library( + name = "flags", + ) ++ ++py_library( ++ name = "argparse_flags", ++) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch new file mode 100644 index 00000000000..54491dab40a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch @@ -0,0 +1,25 @@ +Fix error: +ERROR: /dev/shm/TensorFlow/tensorflow-2.13.0/tensorflow/python/framework/BUILD:2454:17: no such target '@com_google_protobuf//:well_known_types_py_pb2_genproto': target 'well_known_types_py_pb2_genproto' not declared in package '' defined by /dev/shm/s3248973-EasyBuild/TensorFlow/2.13.0/foss-2022a/TensorFlow/bazel-root/663b1bf019e1a9ec9827eae691fce071/external/com_google_protobuf/BUILD.bazel and referenced by '//tensorflow/python/framework:cpp_shape_inference_proto_py_genproto' +ERROR: Analysis of target '//tensorflow/tools/pip_package:build_pip_package' failed; build aborted: + +Using solution from +https://github.com/tensorflow/tensorflow/issues/60667#issuecomment-1563522589 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/systemlibs/protobuf.BUILD b/third_party/systemlibs/protobuf.BUILD +index 4d05ab28d12..cb48d375b27 100644 +--- a/third_party/systemlibs/protobuf.BUILD ++++ b/third_party/systemlibs/protobuf.BUILD +@@ -111,3 +116,10 @@ py_library( + visibility = ["//visibility:public"], + deps = [dep + "_proto" for dep in proto[1][1]], + ) for proto in WELL_KNOWN_PROTO_MAP.items()] ++ ++py_proto_library( ++ name = "well_known_types_py_pb2", ++ include = ".", ++ srcs = [proto[1][0] for proto in WELL_KNOWN_PROTO_MAP.items()], ++ visibility = ["//visibility:public"], ++) +\ No newline at end of file diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch new file mode 100644 index 00000000000..da2b07cc736 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch @@ -0,0 +1,46 @@ +XNNPACK is not supported on PowerPC so disable it by default. +See https://github.com/tensorflow/tensorflow/issues/58768 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD +index c08cd7bcec5..c23c0eedac8 100644 +--- a/tensorflow/lite/BUILD ++++ b/tensorflow/lite/BUILD +@@ -829,6 +829,8 @@ cc_library( + defines = select({ + ":tflite_kernel_use_xnnpack_false": [], + ":tflite_with_xnnpack_explicit_false": [], ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], + "//conditions:default": [ + "TFLITE_KERNEL_USE_XNNPACK", + ], +@@ -864,9 +866,11 @@ cc_library( + # Note: adding ":tflite_with_xnnpack_enabled" to the values of following + # configuration conditions will make TFLite interpreter to apply XNNPACK + # delegate by default. +- deps = [ +- ":tflite_with_xnnpack_enabled", +- ], ++ deps = select({ ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], ++ "//conditions:default": [":tflite_with_xnnpack_enabled"], ++ }), + ) + + cc_library( +diff --git a/tensorflow/lite/kernels/BUILD b/tensorflow/lite/kernels/BUILD +index 9c3ebdfaaba..a042f8ccedb 100644 +--- a/tensorflow/lite/kernels/BUILD ++++ b/tensorflow/lite/kernels/BUILD +@@ -735,6 +735,8 @@ BUILTIN_KERNEL_DEPS = [ + ], + }) + select({ + "//tensorflow/lite:tflite_with_xnnpack_explicit_false": [], ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], + "//conditions:default": [ + "@XNNPACK//:xnnpack_for_tflite", + ], diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-numpy-2.15.compat.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-numpy-2.15.compat.patch new file mode 100644 index 00000000000..82599f424d0 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-numpy-2.15.compat.patch @@ -0,0 +1,41 @@ +From eb5ea898c848f18a2c9d86102f7f111f19874ecc Mon Sep 17 00:00:00 2001 +From: Peter Hawkins +Date: Wed, 19 Jul 2023 11:47:45 -0700 +Subject: [PATCH] [NumPy] Fix test failures under NumPy 1.25. + +PiperOrigin-RevId: 549381271 +--- + tensorflow/python/eager/core_test.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/tensorflow/python/eager/core_test.py b/tensorflow/python/eager/core_test.py +index 6e919d6deab96..bbac4a1833e34 100644 +--- a/tensorflow/python/eager/core_test.py ++++ b/tensorflow/python/eager/core_test.py +@@ -318,8 +318,6 @@ def testEqualityBroadcast(self): + bool(np_a == np_c) + self.assertAllEqual(np_a == np_c, [[True, True], [True, True]]) + self.assertAllEqual(np_a == np_d, [[True, False], [True, False]]) +- self.assertFalse(bool(np_a == np_e)) +- self.assertTrue(bool(np_a != np_e)) + self.assertNotAllEqual(np_a, np_e) + finally: + if default: + +Basically reverts https://github.com/tensorflow/tensorflow/commit/90389e9353b804246e5661cc727a3a7fd1f98066 +Test failure fixed by the above + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index e77e6f81449..36c8ba3f030 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -90,6 +90,6 @@ REQUIRED_PACKAGES = [ + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'numpy >= 1.22, <= 1.24.3', ++ 'numpy >= 1.22', + 'opt_einsum >= 2.3.2', + 'packaging', + 'protobuf>=3.20.3,<5.0.0dev,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-protobuf-compatibility.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-protobuf-compatibility.patch new file mode 100644 index 00000000000..1eae68fd6bf --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_fix-protobuf-compatibility.patch @@ -0,0 +1,55 @@ +From 297fe6b883c362d328327c8fd99566ec7f579d10 Mon Sep 17 00:00:00 2001 +From: Sagun Bajra +Date: Wed, 3 May 2023 19:45:00 -0700 +Subject: [PATCH] Update proto insertion to be compatible with all verstions of + the proto library. + +PiperOrigin-RevId: 529263012 +--- + .../eager/small_constants_optimizer.cc | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tensorflow/core/common_runtime/eager/small_constants_optimizer.cc b/tensorflow/core/common_runtime/eager/small_constants_optimizer.cc +index 0d6b36ea3d1bd..7d43f29029f0c 100644 +--- a/tensorflow/core/common_runtime/eager/small_constants_optimizer.cc ++++ b/tensorflow/core/common_runtime/eager/small_constants_optimizer.cc +@@ -171,17 +171,17 @@ std::vector FoldBoolInputTensor( + + // Promote the true branch when input_value is `true`. + if (attr_key == "then_branch") { +- if (input_value) node_def.mutable_attr()->emplace("f", attr_value); ++ if (input_value) node_def.mutable_attr()->insert({"f", attr_value}); + continue; + } + // Promote the false branch when input_value is `false`. + if (attr_key == "else_branch") { +- if (!input_value) node_def.mutable_attr()->emplace("f", attr_value); ++ if (!input_value) node_def.mutable_attr()->insert({"f", attr_value}); + continue; + } + + // All other attributes should be copied over. +- node_def.mutable_attr()->emplace(attr_key, attr_value); ++ node_def.mutable_attr()->insert({attr_key, attr_value}); + } + } + +@@ -213,15 +213,15 @@ std::vector FoldBoolInputTensor( + const_tensor->set_op("Const"); + AttrValue dtype_value; + dtype_value.set_type(DT_BOOL); +- const_tensor->mutable_attr()->emplace("dtype", dtype_value); ++ const_tensor->mutable_attr()->insert({"dtype", dtype_value}); + AttrValue tensor_value; + auto* tensor = tensor_value.mutable_tensor(); + tensor->set_dtype(DT_BOOL); + tensor->mutable_tensor_shape(); + tensor->add_bool_val(true); +- const_tensor->mutable_attr()->emplace("value", tensor_value); ++ const_tensor->mutable_attr()->insert({"value", tensor_value}); + +- // Mark the currend `FunctionDef` as folded and return the results. ++ // Mark the current `FunctionDef` as folded and return the results. + results.push_back(std::move(result)); + folded_functions.insert(folded_function_name); + return results; diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch new file mode 100644 index 00000000000..5064cce0e95 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-io-gcs-filesystem-dep.patch @@ -0,0 +1,13 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index e77e6f81449..29fdd4a1d91 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -99,8 +98,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions>=3.6.6,<4.6.0', + 'wrapt >= 1.11.0', +- 'tensorflow-io-gcs-filesystem >= 0.23.1;platform_machine!="arm64" or ' + +- 'platform_system!="Darwin"', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-libclang-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-libclang-dep.patch new file mode 100644 index 00000000000..b50c85d7889 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-libclang-dep.patch @@ -0,0 +1,21 @@ +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index e77e6f81449..29fdd4a1d91 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -89,7 +89,6 @@ REQUIRED_PACKAGES = [ + 'gast >= 0.2.1, <= 0.4.0', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'numpy >= 1.22, <= 1.24.3', + 'opt_einsum >= 2.3.2', + 'packaging', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-typing_extensions-upper-bound.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-typing_extensions-upper-bound.patch new file mode 100644 index 00000000000..6cd08697e02 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_remove-typing_extensions-upper-bound.patch @@ -0,0 +1,20 @@ +The limitation was removed by https://github.com/tensorflow/tensorflow/commit/19b7519c2ec7b208aa6c1145132c84ebcbd795b0 +The issue was likely "wrapt", not typing_extensions +See https://github.com/tensorflow/tensorflow/pull/61387 for wrapt +and https://github.com/tensorflow/tensorflow/issues/60687 for typing_extensions + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index e77e6f81449..7927c8ac995 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -97,7 +97,7 @@ REQUIRED_PACKAGES = [ + 'setuptools', + 'six >= 1.12.0', + 'termcolor >= 1.1.0', +- 'typing_extensions>=3.6.6,<4.6.0', ++ 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0', + 'tensorflow-io-gcs-filesystem >= 0.23.1;platform_machine!="arm64" or ' + + 'platform_system!="Darwin"', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch new file mode 100644 index 00000000000..45cdc96c12a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_revert-to-flatbuffers-2.0.6.patch @@ -0,0 +1,911 @@ +Revert the commits upgrading the flatbuffer dependency: +https://github.com/tensorflow/tensorflow/commit/86e0d74bb6a87020c1683629eb7d1dc73949377f +https://github.com/tensorflow/tensorflow/commit/c3a577817f650f75f8df075fce7a542c42596e9d + +Then manually re-add double-colons (`sed -i 's/flatbuffers::/::flatbuffers::/g'`) to reduce diff + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h b/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h +index 2e3f07e46b6..001813510ec +--- a/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h ++++ b/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h +@@ -20,13 +20,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + namespace tflite { + namespace gpu { + namespace cl { +diff --git a/tensorflow/lite/delegates/gpu/cl/serialization_generated.h b/tensorflow/lite/delegates/gpu/cl/serialization_generated.h +index c0d14cfbc02..529e7c96bf0 +--- a/tensorflow/lite/delegates/gpu/cl/serialization_generated.h ++++ b/tensorflow/lite/delegates/gpu/cl/serialization_generated.h +@@ -20,15 +20,8 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- +-#include "gpu_model_generated.h" + #include "serialization_base_generated.h" ++#include "gpu_model_generated.h" + + namespace tflite { + namespace gpu { +diff --git a/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h b/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h +index 3fa3fbaf816..17357af7f0e +--- a/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h ++++ b/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h +@@ -19,13 +19,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + #include "serialization_base_generated.h" + + namespace tflite { +diff --git a/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h b/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h +index 59831408614..4087c486d19 +--- a/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h ++++ b/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h +@@ -20,13 +20,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + namespace tflite { + namespace gpu { + namespace data { +@@ -270,28 +263,14 @@ enum class Layout : int8_t { + + inline const Layout (&EnumValuesLayout())[7] { + static const Layout values[] = { +- Layout::UNKNOWN, +- Layout::HWC, +- Layout::BHWC, +- Layout::HWDC, +- Layout::BHWDC, +- Layout::LINEAR, +- Layout::HW +- }; ++ Layout::UNKNOWN, Layout::HWC, Layout::BHWC, Layout::HWDC, ++ Layout::BHWDC, Layout::LINEAR, Layout::HW}; + return values; + } + + inline const char * const *EnumNamesLayout() { +- static const char * const names[8] = { +- "UNKNOWN", +- "HWC", +- "BHWC", +- "HWDC", +- "BHWDC", +- "LINEAR", +- "HW", +- nullptr +- }; ++ static const char *const names[8] = {"UNKNOWN", "HWC", "BHWC", "HWDC", ++ "BHWDC", "LINEAR", "HW", nullptr}; + return names; + } + +@@ -1834,15 +1813,22 @@ inline ::flatbuffers::Offset CreateGPUOperation( + ::flatbuffers::Offset arguments = 0, + ::flatbuffers::Offset<::flatbuffers::String> code = 0, + ::flatbuffers::Offset work_group_size = 0, +- ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset>> compiler_options = 0, +- tflite::gpu::data::TensorToGrid tensor_to_grid = tflite::gpu::data::TensorToGrid::CUSTOM, ++ ::flatbuffers::Offset<::flatbuffers::Vector< ++ ::flatbuffers::Offset>> ++ compiler_options = 0, ++ tflite::gpu::data::TensorToGrid tensor_to_grid = ++ tflite::gpu::data::TensorToGrid::CUSTOM, + uint64_t flops = 0, + ::flatbuffers::Offset definition = 0, + int32_t grid_dimension = 0, + ::flatbuffers::Offset work_group_launch_order = 0, + ::flatbuffers::Offset grid_size = 0, +- ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> src_tensors_names = 0, +- ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> dst_tensors_names = 0, ++ ::flatbuffers::Offset< ++ ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> ++ src_tensors_names = 0, ++ ::flatbuffers::Offset< ++ ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> ++ dst_tensors_names = 0, + ::flatbuffers::Offset work_groups_count = 0) { + GPUOperationBuilder builder_(_fbb); + builder_.add_flops(flops); +@@ -1866,35 +1852,29 @@ inline ::flatbuffers::Offset CreateGPUOperationDirect( + ::flatbuffers::Offset arguments = 0, + const char *code = nullptr, + ::flatbuffers::Offset work_group_size = 0, +- const std::vector<::flatbuffers::Offset> *compiler_options = nullptr, +- tflite::gpu::data::TensorToGrid tensor_to_grid = tflite::gpu::data::TensorToGrid::CUSTOM, ++ const std::vector<::flatbuffers::Offset> ++ *compiler_options = nullptr, ++ tflite::gpu::data::TensorToGrid tensor_to_grid = ++ tflite::gpu::data::TensorToGrid::CUSTOM, + uint64_t flops = 0, + ::flatbuffers::Offset definition = 0, + int32_t grid_dimension = 0, + ::flatbuffers::Offset work_group_launch_order = 0, + ::flatbuffers::Offset grid_size = 0, +- const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *src_tensors_names = nullptr, +- const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *dst_tensors_names = nullptr, ++ const std::vector<::flatbuffers::Offset<::flatbuffers::String>> ++ *src_tensors_names = nullptr, ++ const std::vector<::flatbuffers::Offset<::flatbuffers::String>> ++ *dst_tensors_names = nullptr, + ::flatbuffers::Offset work_groups_count = 0) { + auto code__ = code ? _fbb.CreateString(code) : 0; + auto compiler_options__ = compiler_options ? _fbb.CreateVector<::flatbuffers::Offset>(*compiler_options) : 0; + auto src_tensors_names__ = src_tensors_names ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*src_tensors_names) : 0; + auto dst_tensors_names__ = dst_tensors_names ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*dst_tensors_names) : 0; + return tflite::gpu::data::CreateGPUOperation( +- _fbb, +- arguments, +- code__, +- work_group_size, +- compiler_options__, +- tensor_to_grid, +- flops, +- definition, +- grid_dimension, +- work_group_launch_order, +- grid_size, +- src_tensors_names__, +- dst_tensors_names__, +- work_groups_count); ++ _fbb, arguments, code__, work_group_size, compiler_options__, ++ tensor_to_grid, flops, definition, grid_dimension, ++ work_group_launch_order, grid_size, src_tensors_names__, ++ dst_tensors_names__, work_groups_count); + } + + } // namespace data +diff --git a/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h b/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h +index 6c00ee4d0ae..8246a15622a 100644 +--- a/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h ++++ b/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h +@@ -20,13 +20,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + namespace tflite { + + struct ComputeSettings; +@@ -4112,10 +4105,10 @@ inline void ComputeSettings::UnPackTo(ComputeSettingsT *_o, const ::flatbuffers: + (void)_o; + (void)_resolver; + { auto _e = preference(); _o->preference = _e; } +- { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->tflite_settings) { _o->tflite_settings.reset(); } } ++ { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = model_namespace_for_statistics(); if (_e) _o->model_namespace_for_statistics = _e->str(); } + { auto _e = model_identifier_for_statistics(); if (_e) _o->model_identifier_for_statistics = _e->str(); } +- { auto _e = settings_to_test_locally(); if (_e) { if(_o->settings_to_test_locally) { _e->UnPackTo(_o->settings_to_test_locally.get(), _resolver); } else { _o->settings_to_test_locally = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->settings_to_test_locally) { _o->settings_to_test_locally.reset(); } } ++ { auto _e = settings_to_test_locally(); if (_e) { if(_o->settings_to_test_locally) { _e->UnPackTo(_o->settings_to_test_locally.get(), _resolver); } else { _o->settings_to_test_locally = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset ComputeSettings::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ComputeSettingsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -4207,7 +4200,7 @@ inline void NNAPISettings::UnPackTo(NNAPISettingsT *_o, const ::flatbuffers::res + { auto _e = model_token(); if (_e) _o->model_token = _e->str(); } + { auto _e = execution_preference(); _o->execution_preference = _e; } + { auto _e = no_of_nnapi_instances_to_cache(); _o->no_of_nnapi_instances_to_cache = _e; } +- { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->fallback_settings) { _o->fallback_settings.reset(); } } ++ { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = allow_nnapi_cpu_on_android_10_plus(); _o->allow_nnapi_cpu_on_android_10_plus = _e; } + { auto _e = execution_priority(); _o->execution_priority = _e; } + { auto _e = allow_dynamic_dimensions(); _o->allow_dynamic_dimensions = _e; } +@@ -4563,7 +4556,7 @@ inline void EdgeTpuDeviceSpec::UnPackTo(EdgeTpuDeviceSpecT *_o, const ::flatbuff + (void)_resolver; + { auto _e = platform_type(); _o->platform_type = _e; } + { auto _e = num_chips(); _o->num_chips = _e; } +- { auto _e = device_paths(); if (_e) { _o->device_paths.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->device_paths[_i] = _e->Get(_i)->str(); } } else { _o->device_paths.resize(0); } } ++ { auto _e = device_paths(); if (_e) { _o->device_paths.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->device_paths[_i] = _e->Get(_i)->str(); } } } + { auto _e = chip_family(); _o->chip_family = _e; } + } + +@@ -4632,7 +4625,7 @@ inline ::flatbuffers::Offset CreateEdgeTpuInactivePo + inline bool operator==(const EdgeTpuSettingsT &lhs, const EdgeTpuSettingsT &rhs) { + return + (lhs.inference_power_state == rhs.inference_power_state) && +- (lhs.inactive_power_configs.size() == rhs.inactive_power_configs.size() && std::equal(lhs.inactive_power_configs.cbegin(), lhs.inactive_power_configs.cend(), rhs.inactive_power_configs.cbegin(), [](std::unique_ptr const &a, std::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && ++ (lhs.inactive_power_configs == rhs.inactive_power_configs) && + (lhs.inference_priority == rhs.inference_priority) && + ((lhs.edgetpu_device_spec == rhs.edgetpu_device_spec) || (lhs.edgetpu_device_spec && rhs.edgetpu_device_spec && *lhs.edgetpu_device_spec == *rhs.edgetpu_device_spec)) && + (lhs.model_token == rhs.model_token) && +@@ -4657,7 +4650,7 @@ inline EdgeTpuSettingsT::EdgeTpuSettingsT(const EdgeTpuSettingsT &o) + hardware_cluster_ids(o.hardware_cluster_ids), + public_model_id(o.public_model_id) { + inactive_power_configs.reserve(o.inactive_power_configs.size()); +- for (const auto &inactive_power_configs_ : o.inactive_power_configs) { inactive_power_configs.emplace_back((inactive_power_configs_) ? new tflite::EdgeTpuInactivePowerConfigT(*inactive_power_configs_) : nullptr); } ++ for (const auto &v : o.inactive_power_configs) { inactive_power_configs.emplace_back((v) ? new tflite::EdgeTpuInactivePowerConfigT(*v) : nullptr); } + } + + inline EdgeTpuSettingsT &EdgeTpuSettingsT::operator=(EdgeTpuSettingsT o) FLATBUFFERS_NOEXCEPT { +@@ -4683,13 +4676,13 @@ inline void EdgeTpuSettings::UnPackTo(EdgeTpuSettingsT *_o, const ::flatbuffers: + (void)_o; + (void)_resolver; + { auto _e = inference_power_state(); _o->inference_power_state = _e; } +- { auto _e = inactive_power_configs(); if (_e) { _o->inactive_power_configs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inactive_power_configs[_i]) { _e->Get(_i)->UnPackTo(_o->inactive_power_configs[_i].get(), _resolver); } else { _o->inactive_power_configs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->inactive_power_configs.resize(0); } } ++ { auto _e = inactive_power_configs(); if (_e) { _o->inactive_power_configs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inactive_power_configs[_i]) { _e->Get(_i)->UnPackTo(_o->inactive_power_configs[_i].get(), _resolver); } else { _o->inactive_power_configs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = inference_priority(); _o->inference_priority = _e; } +- { auto _e = edgetpu_device_spec(); if (_e) { if(_o->edgetpu_device_spec) { _e->UnPackTo(_o->edgetpu_device_spec.get(), _resolver); } else { _o->edgetpu_device_spec = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->edgetpu_device_spec) { _o->edgetpu_device_spec.reset(); } } ++ { auto _e = edgetpu_device_spec(); if (_e) { if(_o->edgetpu_device_spec) { _e->UnPackTo(_o->edgetpu_device_spec.get(), _resolver); } else { _o->edgetpu_device_spec = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = model_token(); if (_e) _o->model_token = _e->str(); } + { auto _e = float_truncation_type(); _o->float_truncation_type = _e; } + { auto _e = qos_class(); _o->qos_class = _e; } +- { auto _e = hardware_cluster_ids(); if (_e) { _o->hardware_cluster_ids.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->hardware_cluster_ids[_i] = _e->Get(_i); } } else { _o->hardware_cluster_ids.resize(0); } } ++ { auto _e = hardware_cluster_ids(); if (_e) { _o->hardware_cluster_ids.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->hardware_cluster_ids[_i] = _e->Get(_i); } } } + { auto _e = public_model_id(); if (_e) _o->public_model_id = _e->str(); } + } + +@@ -4954,20 +4947,20 @@ inline void TFLiteSettings::UnPackTo(TFLiteSettingsT *_o, const ::flatbuffers::r + (void)_o; + (void)_resolver; + { auto _e = delegate(); _o->delegate = _e; } +- { auto _e = nnapi_settings(); if (_e) { if(_o->nnapi_settings) { _e->UnPackTo(_o->nnapi_settings.get(), _resolver); } else { _o->nnapi_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->nnapi_settings) { _o->nnapi_settings.reset(); } } +- { auto _e = gpu_settings(); if (_e) { if(_o->gpu_settings) { _e->UnPackTo(_o->gpu_settings.get(), _resolver); } else { _o->gpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->gpu_settings) { _o->gpu_settings.reset(); } } +- { auto _e = hexagon_settings(); if (_e) { if(_o->hexagon_settings) { _e->UnPackTo(_o->hexagon_settings.get(), _resolver); } else { _o->hexagon_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->hexagon_settings) { _o->hexagon_settings.reset(); } } +- { auto _e = xnnpack_settings(); if (_e) { if(_o->xnnpack_settings) { _e->UnPackTo(_o->xnnpack_settings.get(), _resolver); } else { _o->xnnpack_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->xnnpack_settings) { _o->xnnpack_settings.reset(); } } +- { auto _e = coreml_settings(); if (_e) { if(_o->coreml_settings) { _e->UnPackTo(_o->coreml_settings.get(), _resolver); } else { _o->coreml_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->coreml_settings) { _o->coreml_settings.reset(); } } +- { auto _e = cpu_settings(); if (_e) { if(_o->cpu_settings) { _e->UnPackTo(_o->cpu_settings.get(), _resolver); } else { _o->cpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->cpu_settings) { _o->cpu_settings.reset(); } } ++ { auto _e = nnapi_settings(); if (_e) { if(_o->nnapi_settings) { _e->UnPackTo(_o->nnapi_settings.get(), _resolver); } else { _o->nnapi_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = gpu_settings(); if (_e) { if(_o->gpu_settings) { _e->UnPackTo(_o->gpu_settings.get(), _resolver); } else { _o->gpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = hexagon_settings(); if (_e) { if(_o->hexagon_settings) { _e->UnPackTo(_o->hexagon_settings.get(), _resolver); } else { _o->hexagon_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = xnnpack_settings(); if (_e) { if(_o->xnnpack_settings) { _e->UnPackTo(_o->xnnpack_settings.get(), _resolver); } else { _o->xnnpack_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = coreml_settings(); if (_e) { if(_o->coreml_settings) { _e->UnPackTo(_o->coreml_settings.get(), _resolver); } else { _o->coreml_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = cpu_settings(); if (_e) { if(_o->cpu_settings) { _e->UnPackTo(_o->cpu_settings.get(), _resolver); } else { _o->cpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = max_delegated_partitions(); _o->max_delegated_partitions = _e; } +- { auto _e = edgetpu_settings(); if (_e) { if(_o->edgetpu_settings) { _e->UnPackTo(_o->edgetpu_settings.get(), _resolver); } else { _o->edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->edgetpu_settings) { _o->edgetpu_settings.reset(); } } +- { auto _e = coral_settings(); if (_e) { if(_o->coral_settings) { _e->UnPackTo(_o->coral_settings.get(), _resolver); } else { _o->coral_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->coral_settings) { _o->coral_settings.reset(); } } +- { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->fallback_settings) { _o->fallback_settings.reset(); } } ++ { auto _e = edgetpu_settings(); if (_e) { if(_o->edgetpu_settings) { _e->UnPackTo(_o->edgetpu_settings.get(), _resolver); } else { _o->edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = coral_settings(); if (_e) { if(_o->coral_settings) { _e->UnPackTo(_o->coral_settings.get(), _resolver); } else { _o->coral_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = disable_default_delegates(); _o->disable_default_delegates = _e; } +- { auto _e = stable_delegate_loader_settings(); if (_e) { if(_o->stable_delegate_loader_settings) { _e->UnPackTo(_o->stable_delegate_loader_settings.get(), _resolver); } else { _o->stable_delegate_loader_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->stable_delegate_loader_settings) { _o->stable_delegate_loader_settings.reset(); } } +- { auto _e = google_edgetpu_settings(); if (_e) { if(_o->google_edgetpu_settings) { _e->UnPackTo(_o->google_edgetpu_settings.get(), _resolver); } else { _o->google_edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->google_edgetpu_settings) { _o->google_edgetpu_settings.reset(); } } +- { auto _e = compilation_caching_settings(); if (_e) { if(_o->compilation_caching_settings) { _e->UnPackTo(_o->compilation_caching_settings.get(), _resolver); } else { _o->compilation_caching_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->compilation_caching_settings) { _o->compilation_caching_settings.reset(); } } ++ { auto _e = stable_delegate_loader_settings(); if (_e) { if(_o->stable_delegate_loader_settings) { _e->UnPackTo(_o->stable_delegate_loader_settings.get(), _resolver); } else { _o->stable_delegate_loader_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = google_edgetpu_settings(); if (_e) { if(_o->google_edgetpu_settings) { _e->UnPackTo(_o->google_edgetpu_settings.get(), _resolver); } else { _o->google_edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = compilation_caching_settings(); if (_e) { if(_o->compilation_caching_settings) { _e->UnPackTo(_o->compilation_caching_settings.get(), _resolver); } else { _o->compilation_caching_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset TFLiteSettings::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const TFLiteSettingsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -5075,7 +5068,7 @@ inline void BenchmarkMetric::UnPackTo(BenchmarkMetricT *_o, const ::flatbuffers: + (void)_o; + (void)_resolver; + { auto _e = name(); if (_e) _o->name = _e->str(); } +- { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } else { _o->values.resize(0); } } ++ { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset BenchmarkMetric::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const BenchmarkMetricT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -5101,8 +5094,8 @@ inline bool operator==(const BenchmarkResultT &lhs, const BenchmarkResultT &rhs) + (lhs.inference_time_us == rhs.inference_time_us) && + (lhs.max_memory_kb == rhs.max_memory_kb) && + (lhs.ok == rhs.ok) && +- (lhs.metrics.size() == rhs.metrics.size() && std::equal(lhs.metrics.cbegin(), lhs.metrics.cend(), rhs.metrics.cbegin(), [](std::unique_ptr const &a, std::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && +- (lhs.actual_output.size() == rhs.actual_output.size() && std::equal(lhs.actual_output.cbegin(), lhs.actual_output.cend(), rhs.actual_output.cbegin(), [](std::unique_ptr const &a, std::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })); ++ (lhs.metrics == rhs.metrics) && ++ (lhs.actual_output == rhs.actual_output); + } + + inline bool operator!=(const BenchmarkResultT &lhs, const BenchmarkResultT &rhs) { +@@ -5116,9 +5109,9 @@ inline BenchmarkResultT::BenchmarkResultT(const BenchmarkResultT &o) + max_memory_kb(o.max_memory_kb), + ok(o.ok) { + metrics.reserve(o.metrics.size()); +- for (const auto &metrics_ : o.metrics) { metrics.emplace_back((metrics_) ? new tflite::BenchmarkMetricT(*metrics_) : nullptr); } ++ for (const auto &v : o.metrics) { metrics.emplace_back((v) ? new tflite::BenchmarkMetricT(*v) : nullptr); } + actual_output.reserve(o.actual_output.size()); +- for (const auto &actual_output_ : o.actual_output) { actual_output.emplace_back((actual_output_) ? new tflite::BenchmarkResult_::InferenceOutputT(*actual_output_) : nullptr); } ++ for (const auto &v : o.actual_output) { actual_output.emplace_back((v) ? new tflite::BenchmarkResult_::InferenceOutputT(*v) : nullptr); } + } + + inline BenchmarkResultT &BenchmarkResultT::operator=(BenchmarkResultT o) FLATBUFFERS_NOEXCEPT { +@@ -5140,12 +5133,12 @@ inline BenchmarkResultT *BenchmarkResult::UnPack(const ::flatbuffers::resolver_f + inline void BenchmarkResult::UnPackTo(BenchmarkResultT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = initialization_time_us(); if (_e) { _o->initialization_time_us.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->initialization_time_us[_i] = _e->Get(_i); } } else { _o->initialization_time_us.resize(0); } } +- { auto _e = inference_time_us(); if (_e) { _o->inference_time_us.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inference_time_us[_i] = _e->Get(_i); } } else { _o->inference_time_us.resize(0); } } ++ { auto _e = initialization_time_us(); if (_e) { _o->initialization_time_us.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->initialization_time_us[_i] = _e->Get(_i); } } } ++ { auto _e = inference_time_us(); if (_e) { _o->inference_time_us.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inference_time_us[_i] = _e->Get(_i); } } } + { auto _e = max_memory_kb(); _o->max_memory_kb = _e; } + { auto _e = ok(); _o->ok = _e; } +- { auto _e = metrics(); if (_e) { _o->metrics.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metrics[_i]) { _e->Get(_i)->UnPackTo(_o->metrics[_i].get(), _resolver); } else { _o->metrics[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->metrics.resize(0); } } +- { auto _e = actual_output(); if (_e) { _o->actual_output.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->actual_output[_i]) { _e->Get(_i)->UnPackTo(_o->actual_output[_i].get(), _resolver); } else { _o->actual_output[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->actual_output.resize(0); } } ++ { auto _e = metrics(); if (_e) { _o->metrics.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metrics[_i]) { _e->Get(_i)->UnPackTo(_o->metrics[_i].get(), _resolver); } else { _o->metrics[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = actual_output(); if (_e) { _o->actual_output.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->actual_output[_i]) { _e->Get(_i)->UnPackTo(_o->actual_output[_i].get(), _resolver); } else { _o->actual_output[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline ::flatbuffers::Offset BenchmarkResult::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const BenchmarkResultT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -5264,7 +5257,7 @@ inline bool operator==(const BenchmarkErrorT &lhs, const BenchmarkErrorT &rhs) { + (lhs.stage == rhs.stage) && + (lhs.exit_code == rhs.exit_code) && + (lhs.signal == rhs.signal) && +- (lhs.error_code.size() == rhs.error_code.size() && std::equal(lhs.error_code.cbegin(), lhs.error_code.cend(), rhs.error_code.cbegin(), [](std::unique_ptr const &a, std::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && ++ (lhs.error_code == rhs.error_code) && + (lhs.mini_benchmark_error_code == rhs.mini_benchmark_error_code); + } + +@@ -5279,7 +5272,7 @@ inline BenchmarkErrorT::BenchmarkErrorT(const BenchmarkErrorT &o) + signal(o.signal), + mini_benchmark_error_code(o.mini_benchmark_error_code) { + error_code.reserve(o.error_code.size()); +- for (const auto &error_code_ : o.error_code) { error_code.emplace_back((error_code_) ? new tflite::ErrorCodeT(*error_code_) : nullptr); } ++ for (const auto &v : o.error_code) { error_code.emplace_back((v) ? new tflite::ErrorCodeT(*v) : nullptr); } + } + + inline BenchmarkErrorT &BenchmarkErrorT::operator=(BenchmarkErrorT o) FLATBUFFERS_NOEXCEPT { +@@ -5303,7 +5296,7 @@ inline void BenchmarkError::UnPackTo(BenchmarkErrorT *_o, const ::flatbuffers::r + { auto _e = stage(); _o->stage = _e; } + { auto _e = exit_code(); _o->exit_code = _e; } + { auto _e = signal(); _o->signal = _e; } +- { auto _e = error_code(); if (_e) { _o->error_code.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->error_code[_i]) { _e->Get(_i)->UnPackTo(_o->error_code[_i].get(), _resolver); } else { _o->error_code[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->error_code.resize(0); } } ++ { auto _e = error_code(); if (_e) { _o->error_code.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->error_code[_i]) { _e->Get(_i)->UnPackTo(_o->error_code[_i].get(), _resolver); } else { _o->error_code[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = mini_benchmark_error_code(); _o->mini_benchmark_error_code = _e; } + } + +@@ -5373,10 +5366,10 @@ inline BenchmarkEventT *BenchmarkEvent::UnPack(const ::flatbuffers::resolver_fun + inline void BenchmarkEvent::UnPackTo(BenchmarkEventT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->tflite_settings) { _o->tflite_settings.reset(); } } ++ { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = event_type(); _o->event_type = _e; } +- { auto _e = result(); if (_e) { if(_o->result) { _e->UnPackTo(_o->result.get(), _resolver); } else { _o->result = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->result) { _o->result.reset(); } } +- { auto _e = error(); if (_e) { if(_o->error) { _e->UnPackTo(_o->error.get(), _resolver); } else { _o->error = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->error) { _o->error.reset(); } } ++ { auto _e = result(); if (_e) { if(_o->result) { _e->UnPackTo(_o->result.get(), _resolver); } else { _o->result = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = error(); if (_e) { if(_o->error) { _e->UnPackTo(_o->error.get(), _resolver); } else { _o->error = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = boottime_us(); _o->boottime_us = _e; } + { auto _e = wallclock_us(); _o->wallclock_us = _e; } + } +@@ -5441,7 +5434,7 @@ inline void BestAccelerationDecision::UnPackTo(BestAccelerationDecisionT *_o, co + (void)_o; + (void)_resolver; + { auto _e = number_of_source_events(); _o->number_of_source_events = _e; } +- { auto _e = min_latency_event(); if (_e) { if(_o->min_latency_event) { _e->UnPackTo(_o->min_latency_event.get(), _resolver); } else { _o->min_latency_event = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->min_latency_event) { _o->min_latency_event.reset(); } } ++ { auto _e = min_latency_event(); if (_e) { if(_o->min_latency_event) { _e->UnPackTo(_o->min_latency_event.get(), _resolver); } else { _o->min_latency_event = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = min_inference_time_us(); _o->min_inference_time_us = _e; } + } + +@@ -5539,9 +5532,9 @@ inline void MiniBenchmarkEvent::UnPackTo(MiniBenchmarkEventT *_o, const ::flatbu + (void)_o; + (void)_resolver; + { auto _e = is_log_flushing_event(); _o->is_log_flushing_event = _e; } +- { auto _e = best_acceleration_decision(); if (_e) { if(_o->best_acceleration_decision) { _e->UnPackTo(_o->best_acceleration_decision.get(), _resolver); } else { _o->best_acceleration_decision = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->best_acceleration_decision) { _o->best_acceleration_decision.reset(); } } +- { auto _e = initialization_failure(); if (_e) { if(_o->initialization_failure) { _e->UnPackTo(_o->initialization_failure.get(), _resolver); } else { _o->initialization_failure = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->initialization_failure) { _o->initialization_failure.reset(); } } +- { auto _e = benchmark_event(); if (_e) { if(_o->benchmark_event) { _e->UnPackTo(_o->benchmark_event.get(), _resolver); } else { _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->benchmark_event) { _o->benchmark_event.reset(); } } ++ { auto _e = best_acceleration_decision(); if (_e) { if(_o->best_acceleration_decision) { _e->UnPackTo(_o->best_acceleration_decision.get(), _resolver); } else { _o->best_acceleration_decision = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = initialization_failure(); if (_e) { if(_o->initialization_failure) { _e->UnPackTo(_o->initialization_failure.get(), _resolver); } else { _o->initialization_failure = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = benchmark_event(); if (_e) { if(_o->benchmark_event) { _e->UnPackTo(_o->benchmark_event.get(), _resolver); } else { _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset MiniBenchmarkEvent::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const MiniBenchmarkEventT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -5612,7 +5605,7 @@ inline void ModelFile::UnPackTo(ModelFileT *_o, const ::flatbuffers::resolver_fu + { auto _e = fd(); _o->fd = _e; } + { auto _e = offset(); _o->offset = _e; } + { auto _e = length(); _o->length = _e; } +- { auto _e = model_id_group(); if (_e) { if(_o->model_id_group) { _e->UnPackTo(_o->model_id_group.get(), _resolver); } else { _o->model_id_group = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->model_id_group) { _o->model_id_group.reset(); } } ++ { auto _e = model_id_group(); if (_e) { if(_o->model_id_group) { _e->UnPackTo(_o->model_id_group.get(), _resolver); } else { _o->model_id_group = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = buffer_handle(); _o->buffer_handle = _e; } + } + +@@ -5762,7 +5755,7 @@ inline ::flatbuffers::Offset CreateValidationSettings(::flat + + inline bool operator==(const MinibenchmarkSettingsT &lhs, const MinibenchmarkSettingsT &rhs) { + return +- (lhs.settings_to_test.size() == rhs.settings_to_test.size() && std::equal(lhs.settings_to_test.cbegin(), lhs.settings_to_test.cend(), rhs.settings_to_test.cbegin(), [](std::unique_ptr const &a, std::unique_ptr const &b) { return (a == b) || (a && b && *a == *b); })) && ++ (lhs.settings_to_test == rhs.settings_to_test) && + ((lhs.model_file == rhs.model_file) || (lhs.model_file && rhs.model_file && *lhs.model_file == *rhs.model_file)) && + ((lhs.storage_paths == rhs.storage_paths) || (lhs.storage_paths && rhs.storage_paths && *lhs.storage_paths == *rhs.storage_paths)) && + ((lhs.validation_settings == rhs.validation_settings) || (lhs.validation_settings && rhs.validation_settings && *lhs.validation_settings == *rhs.validation_settings)); +@@ -5778,7 +5771,7 @@ inline MinibenchmarkSettingsT::MinibenchmarkSettingsT(const MinibenchmarkSetting + storage_paths((o.storage_paths) ? new tflite::BenchmarkStoragePathsT(*o.storage_paths) : nullptr), + validation_settings((o.validation_settings) ? new tflite::ValidationSettingsT(*o.validation_settings) : nullptr) { + settings_to_test.reserve(o.settings_to_test.size()); +- for (const auto &settings_to_test_ : o.settings_to_test) { settings_to_test.emplace_back((settings_to_test_) ? new tflite::TFLiteSettingsT(*settings_to_test_) : nullptr); } ++ for (const auto &v : o.settings_to_test) { settings_to_test.emplace_back((v) ? new tflite::TFLiteSettingsT(*v) : nullptr); } + } + + inline MinibenchmarkSettingsT &MinibenchmarkSettingsT::operator=(MinibenchmarkSettingsT o) FLATBUFFERS_NOEXCEPT { +@@ -5798,10 +5791,10 @@ inline MinibenchmarkSettingsT *MinibenchmarkSettings::UnPack(const ::flatbuffers + inline void MinibenchmarkSettings::UnPackTo(MinibenchmarkSettingsT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = settings_to_test(); if (_e) { _o->settings_to_test.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->settings_to_test[_i]) { _e->Get(_i)->UnPackTo(_o->settings_to_test[_i].get(), _resolver); } else { _o->settings_to_test[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->settings_to_test.resize(0); } } +- { auto _e = model_file(); if (_e) { if(_o->model_file) { _e->UnPackTo(_o->model_file.get(), _resolver); } else { _o->model_file = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->model_file) { _o->model_file.reset(); } } +- { auto _e = storage_paths(); if (_e) { if(_o->storage_paths) { _e->UnPackTo(_o->storage_paths.get(), _resolver); } else { _o->storage_paths = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->storage_paths) { _o->storage_paths.reset(); } } +- { auto _e = validation_settings(); if (_e) { if(_o->validation_settings) { _e->UnPackTo(_o->validation_settings.get(), _resolver); } else { _o->validation_settings = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->validation_settings) { _o->validation_settings.reset(); } } ++ { auto _e = settings_to_test(); if (_e) { _o->settings_to_test.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->settings_to_test[_i]) { _e->Get(_i)->UnPackTo(_o->settings_to_test[_i].get(), _resolver); } else { _o->settings_to_test[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = model_file(); if (_e) { if(_o->model_file) { _e->UnPackTo(_o->model_file.get(), _resolver); } else { _o->model_file = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = storage_paths(); if (_e) { if(_o->storage_paths) { _e->UnPackTo(_o->storage_paths.get(), _resolver); } else { _o->storage_paths = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = validation_settings(); if (_e) { if(_o->validation_settings) { _e->UnPackTo(_o->validation_settings.get(), _resolver); } else { _o->validation_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset MinibenchmarkSettings::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const MinibenchmarkSettingsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -5856,8 +5849,8 @@ inline BenchmarkEventStorageT *BenchmarkEventStorage::UnPack(const ::flatbuffers + inline void BenchmarkEventStorage::UnPackTo(BenchmarkEventStorageT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = model_id_group(); if (_e) { if(_o->model_id_group) { _e->UnPackTo(_o->model_id_group.get(), _resolver); } else { _o->model_id_group = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->model_id_group) { _o->model_id_group.reset(); } } +- { auto _e = benchmark_event(); if (_e) { if(_o->benchmark_event) { _e->UnPackTo(_o->benchmark_event.get(), _resolver); } else { _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->benchmark_event) { _o->benchmark_event.reset(); } } ++ { auto _e = model_id_group(); if (_e) { if(_o->model_id_group) { _e->UnPackTo(_o->model_id_group.get(), _resolver); } else { _o->model_id_group = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = benchmark_event(); if (_e) { if(_o->benchmark_event) { _e->UnPackTo(_o->benchmark_event.get(), _resolver); } else { _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset BenchmarkEventStorage::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const BenchmarkEventStorageT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +diff --git a/tensorflow/lite/schema/conversion_metadata_generated.h b/tensorflow/lite/schema/conversion_metadata_generated.h +index 20dfff1671b..4b0772bf83f +--- a/tensorflow/lite/schema/conversion_metadata_generated.h ++++ b/tensorflow/lite/schema/conversion_metadata_generated.h +@@ -1,4 +1,4 @@ +-/* Copyright 2021 The TensorFlow Authors. All Rights Reserved. ++/* Copyright 2023 The TensorFlow Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. +@@ -20,13 +20,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + namespace tflite { + + struct Environment; +@@ -512,7 +505,7 @@ inline SparsityBlockSizeT *SparsityBlockSize::UnPack(const ::flatbuffers::resolv + inline void SparsityBlockSize::UnPackTo(SparsityBlockSizeT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } else { _o->values.resize(0); } } ++ { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset SparsityBlockSize::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const SparsityBlockSizeT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -535,7 +528,7 @@ inline ConversionOptionsT::ConversionOptionsT(const ConversionOptionsT &o) + enable_select_tf_ops(o.enable_select_tf_ops), + force_select_tf_ops(o.force_select_tf_ops) { + sparsity_block_sizes.reserve(o.sparsity_block_sizes.size()); +- for (const auto &sparsity_block_sizes_ : o.sparsity_block_sizes) { sparsity_block_sizes.emplace_back((sparsity_block_sizes_) ? new tflite::SparsityBlockSizeT(*sparsity_block_sizes_) : nullptr); } ++ for (const auto &v : o.sparsity_block_sizes) { sparsity_block_sizes.emplace_back((v) ? new tflite::SparsityBlockSizeT(*v) : nullptr); } + } + + inline ConversionOptionsT &ConversionOptionsT::operator=(ConversionOptionsT o) FLATBUFFERS_NOEXCEPT { +@@ -556,11 +549,11 @@ inline ConversionOptionsT *ConversionOptions::UnPack(const ::flatbuffers::resolv + inline void ConversionOptions::UnPackTo(ConversionOptionsT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = model_optimization_modes(); if (_e) { _o->model_optimization_modes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->model_optimization_modes[_i] = static_cast(_e->Get(_i)); } } else { _o->model_optimization_modes.resize(0); } } ++ { auto _e = model_optimization_modes(); if (_e) { _o->model_optimization_modes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->model_optimization_modes[_i] = static_cast(_e->Get(_i)); } } } + { auto _e = allow_custom_ops(); _o->allow_custom_ops = _e; } + { auto _e = enable_select_tf_ops(); _o->enable_select_tf_ops = _e; } + { auto _e = force_select_tf_ops(); _o->force_select_tf_ops = _e; } +- { auto _e = sparsity_block_sizes(); if (_e) { _o->sparsity_block_sizes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->sparsity_block_sizes[_i]) { _e->Get(_i)->UnPackTo(_o->sparsity_block_sizes[_i].get(), _resolver); } else { _o->sparsity_block_sizes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->sparsity_block_sizes.resize(0); } } ++ { auto _e = sparsity_block_sizes(); if (_e) { _o->sparsity_block_sizes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->sparsity_block_sizes[_i]) { _e->Get(_i)->UnPackTo(_o->sparsity_block_sizes[_i].get(), _resolver); } else { _o->sparsity_block_sizes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline ::flatbuffers::Offset ConversionOptions::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ConversionOptionsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -605,8 +598,8 @@ inline ConversionMetadataT *ConversionMetadata::UnPack(const ::flatbuffers::reso + inline void ConversionMetadata::UnPackTo(ConversionMetadataT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = environment(); if (_e) { if(_o->environment) { _e->UnPackTo(_o->environment.get(), _resolver); } else { _o->environment = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->environment) { _o->environment.reset(); } } +- { auto _e = options(); if (_e) { if(_o->options) { _e->UnPackTo(_o->options.get(), _resolver); } else { _o->options = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->options) { _o->options.reset(); } } ++ { auto _e = environment(); if (_e) { if(_o->environment) { _e->UnPackTo(_o->environment.get(), _resolver); } else { _o->environment = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = options(); if (_e) { if(_o->options) { _e->UnPackTo(_o->options.get(), _resolver); } else { _o->options = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline ::flatbuffers::Offset ConversionMetadata::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ConversionMetadataT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +diff --git a/tensorflow/lite/schema/schema_generated.h b/tensorflow/lite/schema/schema_generated.h +index f03fdd0fc13..e894aa592b8 100755 +--- a/tensorflow/lite/schema/schema_generated.h ++++ b/tensorflow/lite/schema/schema_generated.h +@@ -1,4 +1,4 @@ +-/* Copyright 2023 The TensorFlow Authors. All Rights Reserved. ++/* Copyright 2018 The TensorFlow Authors. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. +@@ -20,13 +20,6 @@ limitations under the License. + + #include "flatbuffers/flatbuffers.h" + +-// Ensure the included flatbuffers.h is the same version as when this file was +-// generated, otherwise it may not be compatible. +-static_assert(FLATBUFFERS_VERSION_MAJOR == 23 && +- FLATBUFFERS_VERSION_MINOR == 1 && +- FLATBUFFERS_VERSION_REVISION == 21, +- "Non-compatible flatbuffers version included"); +- + namespace tflite { + + struct CustomQuantization; +@@ -1835,7 +1828,7 @@ inline const char * const *EnumNamesBuiltinOptions() { + } + + inline const char *EnumNameBuiltinOptions(BuiltinOptions e) { +- if (::flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_RightShiftOptions)) return ""; ++ if (::flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_BitcastOptions)) return ""; + const size_t index = static_cast(e); + return EnumNamesBuiltinOptions()[index]; + } +@@ -13585,10 +13578,10 @@ inline QuantizationParametersT *QuantizationParameters::UnPack(const ::flatbuffe + inline void QuantizationParameters::UnPackTo(QuantizationParametersT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = min(); if (_e) { _o->min.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->min[_i] = _e->Get(_i); } } else { _o->min.resize(0); } } +- { auto _e = max(); if (_e) { _o->max.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->max[_i] = _e->Get(_i); } } else { _o->max.resize(0); } } +- { auto _e = scale(); if (_e) { _o->scale.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scale[_i] = _e->Get(_i); } } else { _o->scale.resize(0); } } +- { auto _e = zero_point(); if (_e) { _o->zero_point.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->zero_point[_i] = _e->Get(_i); } } else { _o->zero_point.resize(0); } } ++ { auto _e = min(); if (_e) { _o->min.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->min[_i] = _e->Get(_i); } } } ++ { auto _e = max(); if (_e) { _o->max.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->max[_i] = _e->Get(_i); } } } ++ { auto _e = scale(); if (_e) { _o->scale.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->scale[_i] = _e->Get(_i); } } } ++ { auto _e = zero_point(); if (_e) { _o->zero_point.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->zero_point[_i] = _e->Get(_i); } } } + { auto _e = details_type(); _o->details.type = _e; } + { auto _e = details(); if (_e) _o->details.value = tflite::QuantizationDetailsUnion::UnPack(_e, details_type(), _resolver); } + { auto _e = quantized_dimension(); _o->quantized_dimension = _e; } +@@ -13629,7 +13622,7 @@ inline Int32VectorT *Int32Vector::UnPack(const ::flatbuffers::resolver_function_ + inline void Int32Vector::UnPackTo(Int32VectorT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } else { _o->values.resize(0); } } ++ { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset Int32Vector::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const Int32VectorT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -13655,7 +13648,7 @@ inline Uint16VectorT *Uint16Vector::UnPack(const ::flatbuffers::resolver_functio + inline void Uint16Vector::UnPackTo(Uint16VectorT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } else { _o->values.resize(0); } } ++ { auto _e = values(); if (_e) { _o->values.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->values[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset Uint16Vector::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const Uint16VectorT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -13745,7 +13738,7 @@ inline SparsityParametersT::SparsityParametersT(const SparsityParametersT &o) + : traversal_order(o.traversal_order), + block_map(o.block_map) { + dim_metadata.reserve(o.dim_metadata.size()); +- for (const auto &dim_metadata_ : o.dim_metadata) { dim_metadata.emplace_back((dim_metadata_) ? new tflite::DimensionMetadataT(*dim_metadata_) : nullptr); } ++ for (const auto &v : o.dim_metadata) { dim_metadata.emplace_back((v) ? new tflite::DimensionMetadataT(*v) : nullptr); } + } + + inline SparsityParametersT &SparsityParametersT::operator=(SparsityParametersT o) FLATBUFFERS_NOEXCEPT { +@@ -13764,9 +13757,9 @@ inline SparsityParametersT *SparsityParameters::UnPack(const ::flatbuffers::reso + inline void SparsityParameters::UnPackTo(SparsityParametersT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = traversal_order(); if (_e) { _o->traversal_order.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->traversal_order[_i] = _e->Get(_i); } } else { _o->traversal_order.resize(0); } } +- { auto _e = block_map(); if (_e) { _o->block_map.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->block_map[_i] = _e->Get(_i); } } else { _o->block_map.resize(0); } } +- { auto _e = dim_metadata(); if (_e) { _o->dim_metadata.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->dim_metadata[_i]) { _e->Get(_i)->UnPackTo(_o->dim_metadata[_i].get(), _resolver); } else { _o->dim_metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->dim_metadata.resize(0); } } ++ { auto _e = traversal_order(); if (_e) { _o->traversal_order.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->traversal_order[_i] = _e->Get(_i); } } } ++ { auto _e = block_map(); if (_e) { _o->block_map.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->block_map[_i] = _e->Get(_i); } } } ++ { auto _e = dim_metadata(); if (_e) { _o->dim_metadata.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->dim_metadata[_i]) { _e->Get(_i)->UnPackTo(_o->dim_metadata[_i].get(), _resolver); } else { _o->dim_metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline ::flatbuffers::Offset SparsityParameters::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -13796,7 +13789,7 @@ inline VariantSubTypeT *VariantSubType::UnPack(const ::flatbuffers::resolver_fun + inline void VariantSubType::UnPackTo(VariantSubTypeT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } else { _o->shape.resize(0); } } ++ { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } } + { auto _e = type(); _o->type = _e; } + { auto _e = has_rank(); _o->has_rank = _e; } + } +@@ -13830,7 +13823,7 @@ inline TensorT::TensorT(const TensorT &o) + shape_signature(o.shape_signature), + has_rank(o.has_rank) { + variant_tensors.reserve(o.variant_tensors.size()); +- for (const auto &variant_tensors_ : o.variant_tensors) { variant_tensors.emplace_back((variant_tensors_) ? new tflite::VariantSubTypeT(*variant_tensors_) : nullptr); } ++ for (const auto &v : o.variant_tensors) { variant_tensors.emplace_back((v) ? new tflite::VariantSubTypeT(*v) : nullptr); } + } + + inline TensorT &TensorT::operator=(TensorT o) FLATBUFFERS_NOEXCEPT { +@@ -13856,16 +13849,16 @@ inline TensorT *Tensor::UnPack(const ::flatbuffers::resolver_function_t *_resolv + inline void Tensor::UnPackTo(TensorT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } else { _o->shape.resize(0); } } ++ { auto _e = shape(); if (_e) { _o->shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape[_i] = _e->Get(_i); } } } + { auto _e = type(); _o->type = _e; } + { auto _e = buffer(); _o->buffer = _e; } + { auto _e = name(); if (_e) _o->name = _e->str(); } +- { auto _e = quantization(); if (_e) { if(_o->quantization) { _e->UnPackTo(_o->quantization.get(), _resolver); } else { _o->quantization = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->quantization) { _o->quantization.reset(); } } ++ { auto _e = quantization(); if (_e) { if(_o->quantization) { _e->UnPackTo(_o->quantization.get(), _resolver); } else { _o->quantization = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = is_variable(); _o->is_variable = _e; } +- { auto _e = sparsity(); if (_e) { if(_o->sparsity) { _e->UnPackTo(_o->sparsity.get(), _resolver); } else { _o->sparsity = std::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->sparsity) { _o->sparsity.reset(); } } +- { auto _e = shape_signature(); if (_e) { _o->shape_signature.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape_signature[_i] = _e->Get(_i); } } else { _o->shape_signature.resize(0); } } ++ { auto _e = sparsity(); if (_e) { if(_o->sparsity) { _e->UnPackTo(_o->sparsity.get(), _resolver); } else { _o->sparsity = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = shape_signature(); if (_e) { _o->shape_signature.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape_signature[_i] = _e->Get(_i); } } } + { auto _e = has_rank(); _o->has_rank = _e; } +- { auto _e = variant_tensors(); if (_e) { _o->variant_tensors.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->variant_tensors[_i]) { _e->Get(_i)->UnPackTo(_o->variant_tensors[_i].get(), _resolver); } else { _o->variant_tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->variant_tensors.resize(0); } } ++ { auto _e = variant_tensors(); if (_e) { _o->variant_tensors.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->variant_tensors[_i]) { _e->Get(_i)->UnPackTo(_o->variant_tensors[_i].get(), _resolver); } else { _o->variant_tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline ::flatbuffers::Offset Tensor::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const TensorT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -14083,8 +14076,8 @@ inline void ConcatEmbeddingsOptions::UnPackTo(ConcatEmbeddingsOptionsT *_o, cons + (void)_o; + (void)_resolver; + { auto _e = num_channels(); _o->num_channels = _e; } +- { auto _e = num_columns_per_channel(); if (_e) { _o->num_columns_per_channel.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->num_columns_per_channel[_i] = _e->Get(_i); } } else { _o->num_columns_per_channel.resize(0); } } +- { auto _e = embedding_dim_per_channel(); if (_e) { _o->embedding_dim_per_channel.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->embedding_dim_per_channel[_i] = _e->Get(_i); } } else { _o->embedding_dim_per_channel.resize(0); } } ++ { auto _e = num_columns_per_channel(); if (_e) { _o->num_columns_per_channel.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->num_columns_per_channel[_i] = _e->Get(_i); } } } ++ { auto _e = embedding_dim_per_channel(); if (_e) { _o->embedding_dim_per_channel.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->embedding_dim_per_channel[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset ConcatEmbeddingsOptions::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ConcatEmbeddingsOptionsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -14724,7 +14717,7 @@ inline ReshapeOptionsT *ReshapeOptions::UnPack(const ::flatbuffers::resolver_fun + inline void ReshapeOptions::UnPackTo(ReshapeOptionsT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = new_shape(); if (_e) { _o->new_shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->new_shape[_i] = _e->Get(_i); } } else { _o->new_shape.resize(0); } } ++ { auto _e = new_shape(); if (_e) { _o->new_shape.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->new_shape[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset ReshapeOptions::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ReshapeOptionsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -15108,7 +15101,7 @@ inline SqueezeOptionsT *SqueezeOptions::UnPack(const ::flatbuffers::resolver_fun + inline void SqueezeOptions::UnPackTo(SqueezeOptionsT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = squeeze_dims(); if (_e) { _o->squeeze_dims.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->squeeze_dims[_i] = _e->Get(_i); } } else { _o->squeeze_dims.resize(0); } } ++ { auto _e = squeeze_dims(); if (_e) { _o->squeeze_dims.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->squeeze_dims[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset SqueezeOptions::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const SqueezeOptionsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -16957,7 +16950,7 @@ inline BucketizeOptionsT *BucketizeOptions::UnPack(const ::flatbuffers::resolver + inline void BucketizeOptions::UnPackTo(BucketizeOptionsT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = boundaries(); if (_e) { _o->boundaries.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->boundaries[_i] = _e->Get(_i); } } else { _o->boundaries.resize(0); } } ++ { auto _e = boundaries(); if (_e) { _o->boundaries.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->boundaries[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset BucketizeOptions::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const BucketizeOptionsT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -17275,14 +17268,14 @@ inline void Operator::UnPackTo(OperatorT *_o, const ::flatbuffers::resolver_func + (void)_o; + (void)_resolver; + { auto _e = opcode_index(); _o->opcode_index = _e; } +- { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } else { _o->inputs.resize(0); } } +- { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } else { _o->outputs.resize(0); } } ++ { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } } ++ { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } } + { auto _e = builtin_options_type(); _o->builtin_options.type = _e; } + { auto _e = builtin_options(); if (_e) _o->builtin_options.value = tflite::BuiltinOptionsUnion::UnPack(_e, builtin_options_type(), _resolver); } + { auto _e = custom_options(); if (_e) { _o->custom_options.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->custom_options.begin()); } } + { auto _e = custom_options_format(); _o->custom_options_format = _e; } +- { auto _e = mutating_variable_inputs(); if (_e) { _o->mutating_variable_inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->mutating_variable_inputs[_i] = _e->Get(_i) != 0; } } else { _o->mutating_variable_inputs.resize(0); } } +- { auto _e = intermediates(); if (_e) { _o->intermediates.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->intermediates[_i] = _e->Get(_i); } } else { _o->intermediates.resize(0); } } ++ { auto _e = mutating_variable_inputs(); if (_e) { _o->mutating_variable_inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->mutating_variable_inputs[_i] = _e->Get(_i) != 0; } } } ++ { auto _e = intermediates(); if (_e) { _o->intermediates.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->intermediates[_i] = _e->Get(_i); } } } + } + + inline ::flatbuffers::Offset Operator::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const OperatorT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +@@ -17320,9 +17313,9 @@ inline SubGraphT::SubGraphT(const SubGraphT &o) + outputs(o.outputs), + name(o.name) { + tensors.reserve(o.tensors.size()); +- for (const auto &tensors_ : o.tensors) { tensors.emplace_back((tensors_) ? new tflite::TensorT(*tensors_) : nullptr); } ++ for (const auto &v : o.tensors) { tensors.emplace_back((v) ? new tflite::TensorT(*v) : nullptr); } + operators.reserve(o.operators.size()); +- for (const auto &operators_ : o.operators) { operators.emplace_back((operators_) ? new tflite::OperatorT(*operators_) : nullptr); } ++ for (const auto &v : o.operators) { operators.emplace_back((v) ? new tflite::OperatorT(*v) : nullptr); } + } + + inline SubGraphT &SubGraphT::operator=(SubGraphT o) FLATBUFFERS_NOEXCEPT { +@@ -17343,10 +17336,10 @@ inline SubGraphT *SubGraph::UnPack(const ::flatbuffers::resolver_function_t *_re + inline void SubGraph::UnPackTo(SubGraphT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = tensors(); if (_e) { _o->tensors.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->tensors[_i]) { _e->Get(_i)->UnPackTo(_o->tensors[_i].get(), _resolver); } else { _o->tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->tensors.resize(0); } } +- { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } else { _o->inputs.resize(0); } } +- { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } else { _o->outputs.resize(0); } } +- { auto _e = operators(); if (_e) { _o->operators.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operators[_i]) { _e->Get(_i)->UnPackTo(_o->operators[_i].get(), _resolver); } else { _o->operators[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->operators.resize(0); } } ++ { auto _e = tensors(); if (_e) { _o->tensors.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->tensors[_i]) { _e->Get(_i)->UnPackTo(_o->tensors[_i].get(), _resolver); } else { _o->tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } } ++ { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } } ++ { auto _e = operators(); if (_e) { _o->operators.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operators[_i]) { _e->Get(_i)->UnPackTo(_o->operators[_i].get(), _resolver); } else { _o->operators[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = name(); if (_e) _o->name = _e->str(); } + } + +@@ -17461,9 +17454,9 @@ inline SignatureDefT::SignatureDefT(const SignatureDefT &o) + : signature_key(o.signature_key), + subgraph_index(o.subgraph_index) { + inputs.reserve(o.inputs.size()); +- for (const auto &inputs_ : o.inputs) { inputs.emplace_back((inputs_) ? new tflite::TensorMapT(*inputs_) : nullptr); } ++ for (const auto &v : o.inputs) { inputs.emplace_back((v) ? new tflite::TensorMapT(*v) : nullptr); } + outputs.reserve(o.outputs.size()); +- for (const auto &outputs_ : o.outputs) { outputs.emplace_back((outputs_) ? new tflite::TensorMapT(*outputs_) : nullptr); } ++ for (const auto &v : o.outputs) { outputs.emplace_back((v) ? new tflite::TensorMapT(*v) : nullptr); } + } + + inline SignatureDefT &SignatureDefT::operator=(SignatureDefT o) FLATBUFFERS_NOEXCEPT { +@@ -17483,8 +17476,8 @@ inline SignatureDefT *SignatureDef::UnPack(const ::flatbuffers::resolver_functio + inline void SignatureDef::UnPackTo(SignatureDefT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inputs[_i]) { _e->Get(_i)->UnPackTo(_o->inputs[_i].get(), _resolver); } else { _o->inputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->inputs.resize(0); } } +- { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->outputs[_i]) { _e->Get(_i)->UnPackTo(_o->outputs[_i].get(), _resolver); } else { _o->outputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->outputs.resize(0); } } ++ { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inputs[_i]) { _e->Get(_i)->UnPackTo(_o->inputs[_i].get(), _resolver); } else { _o->inputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->outputs[_i]) { _e->Get(_i)->UnPackTo(_o->outputs[_i].get(), _resolver); } else { _o->outputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = signature_key(); if (_e) _o->signature_key = _e->str(); } + { auto _e = subgraph_index(); _o->subgraph_index = _e; } + } +@@ -17514,15 +17507,15 @@ inline ModelT::ModelT(const ModelT &o) + description(o.description), + metadata_buffer(o.metadata_buffer) { + operator_codes.reserve(o.operator_codes.size()); +- for (const auto &operator_codes_ : o.operator_codes) { operator_codes.emplace_back((operator_codes_) ? new tflite::OperatorCodeT(*operator_codes_) : nullptr); } ++ for (const auto &v : o.operator_codes) { operator_codes.emplace_back((v) ? new tflite::OperatorCodeT(*v) : nullptr); } + subgraphs.reserve(o.subgraphs.size()); +- for (const auto &subgraphs_ : o.subgraphs) { subgraphs.emplace_back((subgraphs_) ? new tflite::SubGraphT(*subgraphs_) : nullptr); } ++ for (const auto &v : o.subgraphs) { subgraphs.emplace_back((v) ? new tflite::SubGraphT(*v) : nullptr); } + buffers.reserve(o.buffers.size()); +- for (const auto &buffers_ : o.buffers) { buffers.emplace_back((buffers_) ? new tflite::BufferT(*buffers_) : nullptr); } ++ for (const auto &v : o.buffers) { buffers.emplace_back((v) ? new tflite::BufferT(*v) : nullptr); } + metadata.reserve(o.metadata.size()); +- for (const auto &metadata_ : o.metadata) { metadata.emplace_back((metadata_) ? new tflite::MetadataT(*metadata_) : nullptr); } ++ for (const auto &v : o.metadata) { metadata.emplace_back((v) ? new tflite::MetadataT(*v) : nullptr); } + signature_defs.reserve(o.signature_defs.size()); +- for (const auto &signature_defs_ : o.signature_defs) { signature_defs.emplace_back((signature_defs_) ? new tflite::SignatureDefT(*signature_defs_) : nullptr); } ++ for (const auto &v : o.signature_defs) { signature_defs.emplace_back((v) ? new tflite::SignatureDefT(*v) : nullptr); } + } + + inline ModelT &ModelT::operator=(ModelT o) FLATBUFFERS_NOEXCEPT { +@@ -17547,13 +17540,13 @@ inline void Model::UnPackTo(ModelT *_o, const ::flatbuffers::resolver_function_t + (void)_o; + (void)_resolver; + { auto _e = version(); _o->version = _e; } +- { auto _e = operator_codes(); if (_e) { _o->operator_codes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operator_codes[_i]) { _e->Get(_i)->UnPackTo(_o->operator_codes[_i].get(), _resolver); } else { _o->operator_codes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->operator_codes.resize(0); } } +- { auto _e = subgraphs(); if (_e) { _o->subgraphs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->subgraphs[_i]) { _e->Get(_i)->UnPackTo(_o->subgraphs[_i].get(), _resolver); } else { _o->subgraphs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->subgraphs.resize(0); } } ++ { auto _e = operator_codes(); if (_e) { _o->operator_codes.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operator_codes[_i]) { _e->Get(_i)->UnPackTo(_o->operator_codes[_i].get(), _resolver); } else { _o->operator_codes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = subgraphs(); if (_e) { _o->subgraphs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->subgraphs[_i]) { _e->Get(_i)->UnPackTo(_o->subgraphs[_i].get(), _resolver); } else { _o->subgraphs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = description(); if (_e) _o->description = _e->str(); } +- { auto _e = buffers(); if (_e) { _o->buffers.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->buffers[_i]) { _e->Get(_i)->UnPackTo(_o->buffers[_i].get(), _resolver); } else { _o->buffers[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->buffers.resize(0); } } +- { auto _e = metadata_buffer(); if (_e) { _o->metadata_buffer.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata_buffer[_i] = _e->Get(_i); } } else { _o->metadata_buffer.resize(0); } } +- { auto _e = metadata(); if (_e) { _o->metadata.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metadata[_i]) { _e->Get(_i)->UnPackTo(_o->metadata[_i].get(), _resolver); } else { _o->metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->metadata.resize(0); } } +- { auto _e = signature_defs(); if (_e) { _o->signature_defs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->signature_defs[_i]) { _e->Get(_i)->UnPackTo(_o->signature_defs[_i].get(), _resolver); } else { _o->signature_defs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } else { _o->signature_defs.resize(0); } } ++ { auto _e = buffers(); if (_e) { _o->buffers.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->buffers[_i]) { _e->Get(_i)->UnPackTo(_o->buffers[_i].get(), _resolver); } else { _o->buffers[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = metadata_buffer(); if (_e) { _o->metadata_buffer.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata_buffer[_i] = _e->Get(_i); } } } ++ { auto _e = metadata(); if (_e) { _o->metadata.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metadata[_i]) { _e->Get(_i)->UnPackTo(_o->metadata[_i].get(), _resolver); } else { _o->metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = signature_defs(); if (_e) { _o->signature_defs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->signature_defs[_i]) { _e->Get(_i)->UnPackTo(_o->signature_defs[_i].get(), _resolver); } else { _o->signature_defs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline ::flatbuffers::Offset Model::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { +diff --git a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +index f1ed4fb1748..ad0ddcd38c1 100644 +--- a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake ++++ b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +@@ -23,7 +23,7 @@ OverridableFetchContent_Declare( + flatbuffers + GIT_REPOSITORY https://github.com/google/flatbuffers + # Sync with tensorflow/third_party/flatbuffers/workspace.bzl +- GIT_TAG v23.1.21 ++ GIT_TAG v2.0.6 + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/flatbuffers" +diff --git a/tensorflow/tools/ci_build/release/requirements_common.txt b/tensorflow/tools/ci_build/release/requirements_common.txt +index 6373d737aa4..4ede56800d2 100644 +--- a/tensorflow/tools/ci_build/release/requirements_common.txt ++++ b/tensorflow/tools/ci_build/release/requirements_common.txt +@@ -3,7 +3,7 @@ + # This will change in the future. + absl-py ~= 1.0.0 + astunparse ~= 1.6.3 +-flatbuffers ~= 23.1.21 ++flatbuffers ~= 2.0 + google_pasta ~= 0.2 + h5py ~= 3.8.0 # Earliest version for Python 3.11 + # TODO(b/262592253): Support older versions of NumPy for Python 3.10 and lower +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index e77e6f81449..b7d039f3262 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -84,7 +84,7 @@ def standard_or_nightly(standard, nightly): + REQUIRED_PACKAGES = [ + 'absl-py >= 1.0.0', + 'astunparse >= 1.6.0', +- 'flatbuffers >= 23.1.21', ++ 'flatbuffers >= 2.0', + # TODO(b/213222745) gast versions above 0.4.0 break TF's tests + 'gast >= 0.2.1, <= 0.4.0', + 'google_pasta >= 0.1.1', +diff --git a/third_party/flatbuffers/flatbuffers.BUILD b/third_party/flatbuffers/flatbuffers.BUILD +index 2905833ad15..f32f1a5f324 100644 +--- a/third_party/flatbuffers/flatbuffers.BUILD ++++ b/third_party/flatbuffers/flatbuffers.BUILD +@@ -7,6 +7,8 @@ licenses(["notice"]) # Apache 2.0 + + exports_files(["LICENSE.txt"]) + ++licenses(["notice"]) ++ + config_setting( + name = "platform_freebsd", + values = {"cpu": "freebsd"}, +@@ -44,16 +46,12 @@ filegroup( + "include/flatbuffers/bfbs_generator.h", + "include/flatbuffers/buffer.h", + "include/flatbuffers/buffer_ref.h", +- "include/flatbuffers/code_generator.h", + "include/flatbuffers/code_generators.h", + "include/flatbuffers/default_allocator.h", + "include/flatbuffers/detached_buffer.h", + "include/flatbuffers/flatbuffer_builder.h", + "include/flatbuffers/flatbuffers.h", +- "include/flatbuffers/flatc.h", +- "include/flatbuffers/flex_flat_util.h", + "include/flatbuffers/flexbuffers.h", +- "include/flatbuffers/grpc.h", + "include/flatbuffers/hash.h", + "include/flatbuffers/idl.h", + "include/flatbuffers/minireflect.h", +@@ -178,7 +176,7 @@ py_library( + + filegroup( + name = "runtime_java_srcs", +- srcs = glob(["java/src/main/java/com/google/flatbuffers/**/*.java"]), ++ srcs = glob(["java/com/google/flatbuffers/**/*.java"]), + ) + + java_library( +diff --git a/third_party/flatbuffers/workspace.bzl b/third_party/flatbuffers/workspace.bzl +index 2fa19ab1a96..ceb8a2720da 100644 +--- a/third_party/flatbuffers/workspace.bzl ++++ b/third_party/flatbuffers/workspace.bzl +@@ -5,9 +5,9 @@ load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls") + def repo(): + tf_http_archive( + name = "flatbuffers", +- strip_prefix = "flatbuffers-23.1.21", +- sha256 = "d84cb25686514348e615163b458ae0767001b24b42325f426fd56406fd384238", +- urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v23.1.21.tar.gz"), ++ strip_prefix = "flatbuffers-2.0.6", ++ sha256 = "e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9", ++ urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v2.0.6.tar.gz"), + build_file = "//third_party/flatbuffers:flatbuffers.BUILD", + system_build_file = "//third_party/flatbuffers:BUILD.system", + link_files = { diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_unpin-gast-version.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_unpin-gast-version.patch new file mode 100644 index 00000000000..18e097f2e3d --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.13.0_unpin-gast-version.patch @@ -0,0 +1,18 @@ +Allow newer versions of gast. +Based on https://github.com/tensorflow/tensorflow/commit/56df1c90055ee812dac9a019571edd58f3ecd7eb + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 72c20379a9291..d394ca5ea5c76 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -85,7 +85,6 @@ REQUIRED_PACKAGES = [ + 'absl-py >= 1.0.0', + 'astunparse >= 1.6.0', + 'flatbuffers >= 2.0', +- # TODO(b/213222745) gast versions above 0.4.0 break TF's tests +- 'gast >= 0.2.1, <= 0.4.0', ++ 'gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..7b2f4888b23 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,178 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.15.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('Bazel', '6.1.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.41.0', '-nodocs'), + ('pybind11', '2.11.1'), + ('UnZip', '6.0'), + # Required to build some of the extensions + ('poetry', '1.5.1'), + # Protobuf disabled since 2.13.0 easyconfigs: + # Compiling with system protobuf don't seem to work, see: + # https://github.com/tensorflow/tensorflow/issues/61593 + # ('protobuf', '24.0'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('cuDNN', '8.9.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.18.3', versionsuffix), + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('cURL', '8.0.1'), + ('dill', '0.3.7'), + ('double-conversion', '3.3.0'), + ('flatbuffers', '23.5.26'), + ('flatbuffers-python', '23.5.26'), + ('giflib', '5.2.1'), + ('hwloc', '2.9.1'), + ('ICU', '73.2'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.5.1'), + ('ml_dtypes', '0.3.2'), + ('NASM', '2.16.01'), + ('nsync', '1.26.0'), + ('SQLite', '3.42.0'), + ('patchelf', '0.18.0'), + ('libpng', '1.6.39'), + ('snappy', '1.1.10'), + ('zlib', '1.2.13'), + ('tensorboard', '2.15.1'), +] + +# Dependencies created and updated using findPythonDeps, see: +# https://docs.easybuild.io/api/easybuild/scripts/findPythonDeps +# Notable changes since 2.13.0-foss-2023a +# - tensoboard-wit deprecated as of tensorboard 2.13.0 (tensorboard@33abcb54d7) +# - portpicker for tests no longer needed (TF@e85860e838) +# - opt_einsum now comes from ml_dtypes +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('tensorflow-estimator', '2.15.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], + }), + ('keras', '2.15.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + (name, version, { + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.15.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.15.1_remove-libclang-dep.patch', + 'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.15.1_add-default-shell-env.patch', + 'TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch', + 'TensorFlow-2.15.1_fix-flatbuffer-license.patch', + 'TensorFlow-2.15.1_fix-pybind11-build.patch', + 'TensorFlow-2.15.1_fix-cuda_build_defs.patch', + 'TensorFlow-2.15.1_disable-avx512-extensions.patch', + 'TensorFlow-2.15.1_disable-tf32-in-fused-matmul-tests.patch' + ], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': ( + '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_tag_filters_gpu': ( + 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ', + 'testopts_gpu': ( + '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ' + '--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute ' + ), + 'with_xla': True, + 'checksums': [ + {'v2.15.1.tar.gz': 'f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf'}, + {'TensorFlow-2.1.0_fix-cuda-build.patch': + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch': + 'd0818206846911d946666ded7d3216c0546e37cee1890a2f48dc1a9d71047cad'}, + {'TensorFlow-2.15.1_remove-duplicate-gpu-tests.patch': + 'd8810d5b875de5be8603afd743774ce9dd8c0d4a82314c7fe2f284a080be7498'}, + {'TensorFlow-2.15.1_remove-libclang-dep.patch': + '871b2f0221b7a150ac9f563ffad7187e052a7eedd95c20fb4524987d7edb6f21'}, + {'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch': + 'eba7351a4b0696c589b9c507bacb0257ebce8c39fde39ab72d5d6a69deaaec02'}, + {'TensorFlow-2.15.1_add-default-shell-env.patch': + '3d5196b4bf2e91048dc8a18f9e8f487a223fcd973d6302e80b0d4000ea3d652b'}, + {'TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch': + '761059e5f5f5eeeef8aed5517a7685a0eb0a9193d4afe8d45237527681c9c0a3'}, + {'TensorFlow-2.15.1_fix-flatbuffer-license.patch': + '2c04d5095977a628a238dbf93c5fada7159c86752a7183e64e0cf7c7ab00caf4'}, + {'TensorFlow-2.15.1_fix-pybind11-build.patch': + '3bb350ac92ab99c63c951c96b3b0160699f5f16822b64f72111ebfd2275cafce'}, + {'TensorFlow-2.15.1_fix-cuda_build_defs.patch': + '091581a7c4fc2fc7af282cab6661632c29029d2f36eccb6695ffa5783e065f88'}, + {'TensorFlow-2.15.1_disable-avx512-extensions.patch': + '506ceecff67237eed9cd9e9e114bc1461f35a343f77f83cb3dab710aa701dc0f'}, + {'TensorFlow-2.15.1_disable-tf32-in-fused-matmul-tests.patch': + 'f78aa0e8f814a57e8d2e6b24ff095df49e8654aadb797393fa95a9378d0aa662'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb new file mode 100644 index 00000000000..ebca59072d6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1-foss-2023a.eb @@ -0,0 +1,159 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.15.1' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +use_pip = True +sanity_pip_check = True + +builddependencies = [ + ('Bazel', '6.1.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.41.0', '-nodocs'), + ('pybind11', '2.11.1'), + ('UnZip', '6.0'), + # Required to build some of the extensions + ('poetry', '1.5.1'), + # Protobuf disabled since 2.13.0 easyconfigs: + # Compiling with system protobuf don't seem to work, see: + # https://github.com/tensorflow/tensorflow/issues/61593 + # ('protobuf', '24.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('h5py', '3.9.0'), + ('cURL', '8.0.1'), + ('dill', '0.3.7'), + ('double-conversion', '3.3.0'), + ('flatbuffers', '23.5.26'), + ('flatbuffers-python', '23.5.26'), + ('giflib', '5.2.1'), + ('hwloc', '2.9.1'), + ('ICU', '73.2'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.5.1'), + ('ml_dtypes', '0.3.2'), + ('NASM', '2.16.01'), + ('nsync', '1.26.0'), + ('SQLite', '3.42.0'), + ('patchelf', '0.18.0'), + ('libpng', '1.6.39'), + ('snappy', '1.1.10'), + ('zlib', '1.2.13'), + ('tensorboard', '2.15.1'), +] + +# Dependencies created and updated using findPythonDeps, see: +# https://docs.easybuild.io/api/easybuild/scripts/findPythonDeps +# Notable changes since 2.13.0-foss-2023a +# - tensoboard-wit deprecated as of tensorboard 2.13.0 (tensorboard@33abcb54d7) +# - portpicker for tests no longer needed (TF@e85860e838) +# - opt_einsum now comes from ml_dtypes +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('tensorflow-estimator', '2.15.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['aedf21eec7fb2dc91150fc91a1ce12bc44dbb72278a08b58e79ff87c9e28f153'], + }), + ('keras', '2.15.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['2dcc6d2e30cf9c951064b63c1f4c404b966c59caf09e01f3549138ec8ee0dd1f'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Required by tests + ('tblib', '3.0.0', { + 'checksums': ['93622790a0a29e04f0346458face1e144dc4d32f493714c6c3dff82a4adb77e6'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + (name, version, { + 'patches': [ + 'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch', + 'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.15.1_remove-libclang-dep.patch', + 'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch', + 'TensorFlow-2.15.1_add-default-shell-env.patch', + 'TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch', + 'TensorFlow-2.15.1_fix-flatbuffer-license.patch', + 'TensorFlow-2.15.1_fix-pybind11-build.patch', + 'TensorFlow-2.15.1_disable-avx512-extensions.patch', + ], + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': ( + '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_tag_filters_gpu': ( + 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only' + ), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ', + 'testopts_gpu': ( + '--test_env=HOME=/tmp --test_timeout=3600 --test_size_filters=small ' + '--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute ' + ), + 'with_xla': True, + 'checksums': [ + {'v2.15.1.tar.gz': 'f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf'}, + {'TensorFlow-2.13.0_add-missing-system-protobuf-targets.patch': + '77d8c8a5627493fc7c38b4de79d49e60ff6628b05ff969f4cd3ff9857176c459'}, + {'TensorFlow-2.13.0_exclude-xnnpack-on-ppc.patch': + 'd0818206846911d946666ded7d3216c0546e37cee1890a2f48dc1a9d71047cad'}, + {'TensorFlow-2.15.1_remove-libclang-dep.patch': + '871b2f0221b7a150ac9f563ffad7187e052a7eedd95c20fb4524987d7edb6f21'}, + {'TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch': + 'eba7351a4b0696c589b9c507bacb0257ebce8c39fde39ab72d5d6a69deaaec02'}, + {'TensorFlow-2.15.1_add-default-shell-env.patch': + '3d5196b4bf2e91048dc8a18f9e8f487a223fcd973d6302e80b0d4000ea3d652b'}, + {'TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch': + '761059e5f5f5eeeef8aed5517a7685a0eb0a9193d4afe8d45237527681c9c0a3'}, + {'TensorFlow-2.15.1_fix-flatbuffer-license.patch': + '2c04d5095977a628a238dbf93c5fada7159c86752a7183e64e0cf7c7ab00caf4'}, + {'TensorFlow-2.15.1_fix-pybind11-build.patch': + '3bb350ac92ab99c63c951c96b3b0160699f5f16822b64f72111ebfd2275cafce'}, + {'TensorFlow-2.15.1_disable-avx512-extensions.patch': + '506ceecff67237eed9cd9e9e114bc1461f35a343f77f83cb3dab710aa701dc0f'}, + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch new file mode 100644 index 00000000000..f1510205a04 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_add-default-shell-env.patch @@ -0,0 +1,51 @@ +Make TensorFlow use the environment as set by EasyBuild + +See https://github.com/tensorflow/tensorflow/pull/61591 + +Author: Alexander Grund (TU Dresden) + +Edit in 2.15.1: include also python api generator / Yunqi Shao (C3SE) + +diff --git a/tensorflow/python/tools/api/generator2/generate_api.bzl b/tensorflow/python/tools/api/generator2/generate_api.bzl index 64e9b96276e..afadd07bc3d 100644 +--- a/tensorflow/python/tools/api/generator2/generate_api.bzl ++++ b/tensorflow/python/tools/api/generator2/generate_api.bzl +@@ -95,6 +95,7 @@ def _api_extractor_impl(target, ctx): + outputs = [output], + arguments = [args], + progress_message = "Extracting " + api + " APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + direct_api.append(output) +@@ -218,6 +219,7 @@ def _generate_api_impl(ctx): + outputs = ctx.outputs.output_files, + arguments = [args], + progress_message = "Generating APIs for %{label} to %{output}.", ++ use_default_shell_env = True, + ) + + # Convert output_paths to the list of corresponding modules for the further testing +diff --git a/tensorflow/lite/build_def.bzl b/tensorflow/lite/build_def.bzl +index cdc02ac2b26..6b4c8b9045f 100644 +--- a/tensorflow/lite/build_def.bzl ++++ b/tensorflow/lite/build_def.bzl +@@ -368,6 +368,7 @@ def _gen_selected_ops_impl(ctx): + executable = ctx.executable._generate_op_registrations, + mnemonic = "OpRegistration", + progress_message = "gen_selected_ops", ++ use_default_shell_env = True, + ) + + gen_selected_ops_rule = rule( +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 6762ccd8f9b..de7c27a1275 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1325,6 +1325,7 @@ def _generate_op_reg_offsets_impl(ctx): + tools = [ctx.executable._offset_counter], + executable = ctx.executable._offset_counter, + arguments = [args], ++ use_default_shell_env = True, + ) + + generate_op_reg_offsets = rule( diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-avx512-extensions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-avx512-extensions.patch new file mode 100644 index 00000000000..7778d2b4a91 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-avx512-extensions.patch @@ -0,0 +1,19 @@ +(Some of the) AVX512 extensions to Eigen introduced by TensorFlow are broken and return wrong values. +So disable them for now to keep AVX512 in the other code parts working. +See https://github.com/tensorflow/tensorflow/issues/49944 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/xla/third_party/tsl/tsl/framework/fixedpoint/FixedPoint.h b/third_party/xla/third_party/tsl/tsl/framework/fixedpoint/FixedPoint.h +index 5301914ad37..8923bfed7bf 100644 +--- a/third_party/xla/third_party/tsl/tsl/framework/fixedpoint/FixedPoint.h ++++ b/third_party/xla/third_party/tsl/tsl/framework/fixedpoint/FixedPoint.h +@@ -20,7 +20,7 @@ limitations under the License. + #include "tsl/framework/fixedpoint_types.h" + + // Use optimized implementations whenever available +-#if defined(EIGEN_VECTORIZE_AVX512DQ) || defined(EIGEN_VECTORIZE_AVX512BW) ++#if 0 + #include "tsl/framework/fixedpoint/PacketMathAVX512.h" + #include "tsl/framework/fixedpoint/TypeCastingAVX512.h" + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-tf32-in-fused-matmul-tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-tf32-in-fused-matmul-tests.patch new file mode 100644 index 00000000000..9cc742e53d0 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_disable-tf32-in-fused-matmul-tests.patch @@ -0,0 +1,46 @@ +Fixes failing FusedMatMul test on certain GPU models + +diff --git a/tensorflow/core/kernels/matmul_op_test.cc b/tensorflow/core/kernels/matmul_op_test.cc +index 8d81d4c796e..2de0365f067 100644 +--- a/tensorflow/core/kernels/matmul_op_test.cc ++++ b/tensorflow/core/kernels/matmul_op_test.cc +@@ -21,6 +21,7 @@ limitations under the License. + #include "tensorflow/core/framework/tensor.h" + #include "tensorflow/core/kernels/ops_testutil.h" + #include "tensorflow/core/lib/core/status_test_util.h" ++#include "tensorflow/core/platform/tensor_float_32_utils.h" + #include "tensorflow/core/platform/test.h" + #include "tensorflow/core/platform/test_benchmark.h" + #include "tensorflow/core/protobuf/rewriter_config.pb.h" +@@ -287,6 +288,7 @@ TYPED_TEST_SUITE_P(FusedMatMulWithBiasOpTest); + // -------------------------------------------------------------------------- // + + TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul256x128x64) { ++ tensorflow::enable_tensor_float_32_execution(false); + this->VerifyMatMulWithBias(256, 128, 64, false, false); + this->VerifyMatMulWithBias(256, 128, 64, true, false); + this->VerifyMatMulWithBias(256, 128, 64, false, true); +@@ -294,6 +296,7 @@ TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul256x128x64) { + } + + TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul1x256x256) { ++ tensorflow::enable_tensor_float_32_execution(false); + this->VerifyMatMulWithBias(1, 256, 256, false, false); + this->VerifyMatMulWithBias(4, 128, 256, false, false); + this->VerifyMatMulWithBias(1, 256, 256, true, false); +@@ -302,6 +305,7 @@ TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul1x256x256) { + } + + TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul256x256x1) { ++ tensorflow::enable_tensor_float_32_execution(false); + this->VerifyMatMulWithBias(256, 256, 1, false, false); + this->VerifyMatMulWithBias(256, 128, 4, false, false); + this->VerifyMatMulWithBias(256, 256, 1, true, false); +@@ -314,6 +318,7 @@ TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul1x256x1) { + } + + TYPED_TEST_P(FusedMatMulWithBiasOpTest, MatMul256x128x64WithActivation) { ++ tensorflow::enable_tensor_float_32_execution(false); + for (const string& activation : {"Relu", "Relu6", "Elu", "LeakyRelu"}) { + this->VerifyConv2DWithBiasAndActivation(256, 128, 64, false, false, + activation); diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch new file mode 100644 index 00000000000..514f215cde9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-AVX512-eigen-compilation.patch @@ -0,0 +1,47 @@ +Fix a compilation error for CPUs with AVX512 features where an issue in Eigen leads to +> invalid 'static_cast' from type 'const Eigen::internal::eigen_packet_wrapper<__vector(4) long long int, 1>' to type '__vector(16) float' + +See https://gitlab.com/libeigen/eigen/-/issues/2829 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/fix-avx512.patch b/third_party/eigen3/fix-avx512.patch +new file mode 100644 +index 00000000000..0650d52a0c9 +--- /dev/null ++++ b/third_party/eigen3/fix-avx512.patch +@@ -0,0 +1,22 @@ ++diff --git a/Eigen/src/Core/arch/AVX512/TypeCasting.h b/Eigen/src/Core/arch/AVX512/TypeCasting.h ++index 02c56282f..e253e6b49 100644 ++--- a/Eigen/src/Core/arch/AVX512/TypeCasting.h +++++ b/Eigen/src/Core/arch/AVX512/TypeCasting.h ++@@ -145,8 +145,6 @@ template<> EIGEN_STRONG_INLINE Packet8bf preinterpret(con ++ return _mm256_castsi256_si128(a); ++ } ++ ++-#ifndef EIGEN_VECTORIZE_AVX512FP16 ++- ++ template<> EIGEN_STRONG_INLINE Packet16f pcast(const Packet16h& a) { ++ return half2float(a); ++ } ++@@ -155,8 +153,6 @@ template<> EIGEN_STRONG_INLINE Packet16h pcast(const Packe ++ return float2half(a); ++ } ++ ++-#endif ++- ++ template<> EIGEN_STRONG_INLINE Packet16f pcast(const Packet16bf& a) { ++ return Bf16ToF32(a); ++ } +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index d1d8d4ac486..da549e37432 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -14,6 +14,7 @@ def repo(): + tf_http_archive( + name = "eigen_archive", + build_file = "//third_party/eigen3:eigen_archive.BUILD", ++ patch_file = ["//third_party/eigen3:fix-avx512.patch"], + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), + urls = tf_mirror_urls("https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT)), diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-cuda_build_defs.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-cuda_build_defs.patch new file mode 100644 index 00000000000..0982df21bb9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-cuda_build_defs.patch @@ -0,0 +1,40 @@ +Backport cuda_build_defs path fix for TF 2.15, see: + +https://github.com/tensorflow/tensorflow/commit/1536f2ca228099f0cf7793d3031d9b9bebbf03ed + +diff --git a/third_party/nccl/system.BUILD.tpl b/third_party/nccl/system.BUILD.tpl +index 405d1e7298b..6e2a22a950b 100644 +--- a/third_party/nccl/system.BUILD.tpl ++++ b/third_party/nccl/system.BUILD.tpl +@@ -1,6 +1,6 @@ + load("@bazel_skylib//rules:write_file.bzl", "write_file") + load( +- "@org_tensorflow//tensorflow/platform/default:cuda_build_defs.bzl", ++ "@local_tsl//tsl/platform/default:cuda_build_defs.bzl", + "cuda_rpath_flags" + ) + +diff --git a/third_party/xla/third_party/nccl/system.BUILD.tpl b/third_party/xla/third_party/nccl/system.BUILD.tpl +index 13328fdeeac..6e2a22a950b 100644 +--- a/third_party/xla/third_party/nccl/system.BUILD.tpl ++++ b/third_party/xla/third_party/nccl/system.BUILD.tpl +@@ -1,6 +1,6 @@ + load("@bazel_skylib//rules:write_file.bzl", "write_file") + load( +- "@local_xla//tensorflow/platform/default:cuda_build_defs.bzl", ++ "@local_tsl//tsl/platform/default:cuda_build_defs.bzl", + "cuda_rpath_flags" + ) + +diff --git a/third_party/xla/third_party/tsl/third_party/nccl/system.BUILD.tpl b/third_party/xla/third_party/tsl/third_party/nccl/system.BUILD.tpl +index b45138eaa79..6e2a22a950b 100644 +--- a/third_party/xla/third_party/tsl/third_party/nccl/system.BUILD.tpl ++++ b/third_party/xla/third_party/tsl/third_party/nccl/system.BUILD.tpl +@@ -1,6 +1,6 @@ + load("@bazel_skylib//rules:write_file.bzl", "write_file") + load( +- "@local_tsl//tensorflow/platform/default:cuda_build_defs.bzl", ++ "@local_tsl//tsl/platform/default:cuda_build_defs.bzl", + "cuda_rpath_flags" + ) + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch new file mode 100644 index 00000000000..4970cd0b758 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-flatbuffer-license.patch @@ -0,0 +1,13 @@ +diff --git a/third_party/flatbuffers/BUILD.system b/third_party/flatbuffers/BUILD.system +index 8fe4d7a5907..b1d63b4ca0f 100644 +--- a/third_party/flatbuffers/BUILD.system ++++ b/third_party/flatbuffers/BUILD.system +@@ -1,7 +1,7 @@ + licenses(["notice"]) # Apache 2.0 + + filegroup( +- name = "LICENSE.txt", ++ name = "LICENSE", + visibility = ["//visibility:public"], + ) + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch new file mode 100644 index 00000000000..c12c8726172 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_fix-pybind11-build.patch @@ -0,0 +1,14 @@ +diff --git a/third_party/systemlibs/pybind11.BUILD b/third_party/systemlibs/pybind11.BUILD +index 79a483d7b5d..463dd1a8ec7 100644 +--- a/third_party/systemlibs/pybind11.BUILD ++++ b/third_party/systemlibs/pybind11.BUILD +@@ -6,3 +6,9 @@ cc_library( + "@org_tensorflow//third_party/python_runtime:headers", + ], + ) ++ ++# Needed by pybind11_bazel. ++config_setting( ++ name = "osx", ++ constraint_values = ["@platforms//os:osx"], ++) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-duplicate-gpu-tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-duplicate-gpu-tests.patch new file mode 100644 index 00000000000..7c6d72c89c9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-duplicate-gpu-tests.patch @@ -0,0 +1,55 @@ +TensorFlow adds some GPU tests twice increasing the runtime of the test suite. +This filters out the test part meant for CPU. + +See https://github.com/tensorflow/tensorflow/issues/47081 +From https://github.com/tensorflow/tensorflow/pull/59129 + +Author: Alexander Grund (TU Dresden) +--- + tensorflow/tensorflow.bzl | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index a1531f55cca..3b9c977dcc4 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1626,22 +1626,23 @@ def tf_gpu_cc_test( + linkopts = [], + **kwargs): + targets = [] +- tf_cc_test( +- name = name, +- size = size, +- srcs = srcs, +- args = args, +- data = data, +- extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), +- kernels = kernels, +- linkopts = linkopts, +- linkstatic = linkstatic, +- suffix = "_cpu", +- tags = tags, +- deps = deps, +- **kwargs +- ) +- targets.append(name + "_cpu") ++ if 'gpu' not in tags: ++ tf_cc_test( ++ name = name, ++ size = size, ++ srcs = srcs, ++ args = args, ++ data = data, ++ extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), ++ kernels = kernels, ++ linkopts = linkopts, ++ linkstatic = linkstatic, ++ suffix = "_cpu", ++ tags = tags, ++ deps = deps, ++ **kwargs ++ ) ++ targets.append(name + "_cpu") + tf_cc_test( + name = name, + size = size, diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch new file mode 100644 index 00000000000..911d4b651ed --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-io-gcs-filesystem-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 17ba9dc3323..c62900882ad 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -101,7 +101,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0, < 1.15', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch new file mode 100644 index 00000000000..377c6e5a377 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.15.1_remove-libclang-dep.patch @@ -0,0 +1,12 @@ +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index fc5fd364c47..17ba9dc3323 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -88,7 +88,6 @@ REQUIRED_PACKAGES = [ + 'gast >=0.2.1,!=0.5.0,!=0.5.1,!=0.5.2', + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', +- 'libclang >= 13.0.0', + 'ml_dtypes ~= 0.3.1', + 'numpy >= 1.23.5, < 2.0.0', + 'opt_einsum >= 2.3.2', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3-foss-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3-foss-2020b.eb new file mode 100644 index 00000000000..a41e6874956 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3-foss-2020b.eb @@ -0,0 +1,198 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.2.3' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '2.0.0'), + ('protobuf', '3.14.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.28.0', '-nodocs'), + ('pybind11', '2.6.0'), + ('pkgconfig', '1.5.1', '-python'), # For h5py +] +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('HDF5', '1.10.7'), # For h5py + ('cURL', '7.72.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '1.12.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.2.0'), + ('ICU', '67.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.5'), + ('LMDB', '0.9.24'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.33.0'), + ('PCRE', '8.44'), + ('protobuf-python', '3.14.0'), + ('flatbuffers-python', '1.12'), + ('typing-extensions', '3.7.4.3'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('SWIG', '4.0.2'), + ('zlib', '1.2.11'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + # TF <= 2.4 needs h5py 2.10, later versions allow 3.x + ('h5py', '2.10.0', { + 'patches': ['h5py-2.10.0_avoid-mpi-init.patch'], + 'checksums': [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + # h5py-2.10.0_avoid-mpi-init.patch + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', + ], + 'preinstallopts': 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ', + }), + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.2', { + 'checksums': ['61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('google-auth-oauthlib', '0.4.5', { + 'checksums': ['4ab58e6c3dc6ccf112f921fcced40e5426fba266768986ea502228488276eaba'], + }), + ('Werkzeug', '2.0.1', { + 'checksums': ['1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42'], + }), + ('absl-py', '0.12.0', { + 'modulename': 'absl', + 'checksums': ['b44f68984a5ceb2607d135a615999b93924c771238a63920d17d3387b0d229d5'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.39.0', { + 'modulename': 'grpc', + 'checksums': ['57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + }), + ('gviz-api', '1.9.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['43d13ccc21834d0501b33a291ef3265e933dbb4bbdca3d34b1ed0a048c0ef640'], + }), + ('tensorboard', '2.2.2', { + 'source_tmpl': 'tensorboard-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['a3feb73e1221c0a512398ad2cd08570fb082d8a2ba364aa0562543ecbd3659ef'], + }), + ('tensorboard-plugin-wit', '1.8.0', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a'], + }), + ('tensorboard-plugin-profile', '2.2.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['fcd2f4a17c53fb080390044459ee03fb8d9e8d109ae5838516fdcbda69ce99f9'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.2.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['d09dacdd127f2579cea8d5af21f4a918036b8ae246adc82f26b61f91cc247dc2'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.3.3', { + 'checksums': ['b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + # For tests + ('portpicker', '1.4.0', { + 'checksums': ['c2831ff4328a21e928ffc9e52124bcafacaf5816d38a1a72dc329680dc1bb7ba'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-system-jsoncpp.patch', + 'TensorFlow-2.1.0_fix-system-nasm.patch', + 'TensorFlow-2.1.0_fix-collective-all-reduce-strategy.patch', + 'TensorFlow-2.2.3_fix-__tensorflow_core_graph_mkl_related_tests.patch', + 'TensorFlow-2.2.3_fix-bfloat16-alias-violation.patch', + 'TensorFlow-2.2.3_fix-numpy-UFunc-sig-change.patch', + 'TensorFlow-2.2.3_fix-source_utils_test-in-python38.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + ], + 'checksums': [ + '5e6c779ca8392864d436d88893461dcce783c3a8d46dcb2b2f2ee8ece3cc4538', # v2.2.3.tar.gz + # TensorFlow-2.1.0_fix-system-jsoncpp.patch + 'd0c8ca54a9e2c232908016e08b982dbb63765de3472253cba5ae38d823d5f156', + # TensorFlow-2.1.0_fix-system-nasm.patch + '6671e40d60edaf1e57b1861aa3b2178d48f9b7dfb5b5c0d44db541116f848f2a', + # TensorFlow-2.1.0_fix-collective-all-reduce-strategy.patch + '093f4dd3ec372a82d50dffe32eea6821025cd1c406911a746c4367a40bc38486', + # TensorFlow-2.2.3_fix-__tensorflow_core_graph_mkl_related_tests.patch + '85c3023892e21692e14750e43a7d1db3c83c6e86a75ac1559c9dba39e0a160ae', + # TensorFlow-2.2.3_fix-bfloat16-alias-violation.patch + '6e845c44c27477740d16e9c525cdd4c2a96ac3deb2709ac62e21c3de79c4583b', + # TensorFlow-2.2.3_fix-numpy-UFunc-sig-change.patch + 'd80e0103aeefb5244b57dd0e01bb7a0c1e6a750fba41833706547be87d3829e4', + # TensorFlow-2.2.3_fix-source_utils_test-in-python38.patch + '9588f324b4ac5b90e77f8c1d64bd65f3ef64677f82603c0742e4f3a9e99ac171', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-__tensorflow_core_graph_mkl_related_tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-__tensorflow_core_graph_mkl_related_tests.patch new file mode 100644 index 00000000000..37586b4798b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-__tensorflow_core_graph_mkl_related_tests.patch @@ -0,0 +1,207 @@ +From 67fcf3d1efef47c16602ca6ced118a34302d6b78 Mon Sep 17 00:00:00 2001 +From: Mahmoud Abuzaina +Date: Thu, 5 Mar 2020 13:24:22 -0800 +Subject: [PATCH] Fixing __tensorflow_core_graph_mkl_related_tests + +--- + .../core/graph/mkl_tfconversion_pass_test.cc | 84 ++++++++++--------- + 1 file changed, 44 insertions(+), 40 deletions(-) + +diff --git a/tensorflow/core/graph/mkl_tfconversion_pass_test.cc b/tensorflow/core/graph/mkl_tfconversion_pass_test.cc +index 68b6750961f4b..b8235e5140eba 100644 +--- a/tensorflow/core/graph/mkl_tfconversion_pass_test.cc ++++ b/tensorflow/core/graph/mkl_tfconversion_pass_test.cc +@@ -107,20 +107,19 @@ class MklToTfConversionPass : public ::testing::Test { + string original_; + }; + +-REGISTER_OP("Input").Output("o: float").SetIsStateful(); +-REGISTER_OP("HalfInput").Output("o: half").SetIsStateful(); +-REGISTER_OP("_MklInput").Output("o: uint8").SetIsStateful(); ++REGISTER_OP("Float_Input").Output("o: float").SetIsStateful(); ++REGISTER_OP("_Mkl_Input").Output("o: uint8").SetIsStateful(); + + TEST_F(MklToTfConversionPass, Basic) { + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'B' op: 'Input'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" + "node { name: 'C' op: 'Mul' attr { key: 'T' value { type: DT_FLOAT } }" + " input: ['A', 'B'] }" + "node { name: 'D' op: 'Mul' attr { key: 'T' value { type: DT_FLOAT } }" + " input: ['A', 'B'] }"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(Mul);D(Mul)|" ++ "A(Float_Input);B(Float_Input);C(Mul);D(Mul)|" + "A->C;A->D;B->C:1;B->D:1"); + } + +@@ -130,10 +129,10 @@ TEST_F(MklToTfConversionPass, Basic) { + TEST_F(MklToTfConversionPass, Positive) { + if (kTensorOrdering == MklTfTensorOrdering::TENSORS_INTERLEAVED) { + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'M' op: '_MklInput'}" +- "node { name: 'B' op: 'Input'}" +- "node { name: 'N' op: '_MklInput'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'M' op: '_Mkl_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" ++ "node { name: 'N' op: '_Mkl_Input'}" + "node { name: 'C' op: '_MklConv2D'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" +@@ -142,21 +141,22 @@ TEST_F(MklToTfConversionPass, Positive) { + "}" + " attr { key: 'padding' value { s: 'SAME' } }" + " input: ['A', 'M', 'B', 'N']}" +- "node { name: 'D' op: 'Input'}" ++ "node { name: 'D' op: 'Float_Input'}" + "node { name: 'E' op: 'Sub'" + " attr {key: 'T' value { type: DT_FLOAT } }" + " input: ['C', 'D']}"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(_MklConv2D);D(Input);E(Sub);M(_MklInput);" +- "Mkl2Tf/_0(_MklToTf);N(_MklInput)|A->C;B->C:2;C->Mkl2Tf/_0;" ++ "A(Float_Input);B(Float_Input);C(_MklConv2D);D(Float_Input);E(" ++ "Sub);M(_Mkl_Input);" ++ "Mkl2Tf/_0(_MklToTf);N(_Mkl_Input)|A->C;B->C:2;C->Mkl2Tf/_0;" + "C:1->Mkl2Tf/_0:1;D->E:1;M->C:1;Mkl2Tf/_0->E;N->C:3"); + } else { + CHECK_EQ(kTensorOrdering, MklTfTensorOrdering::TENSORS_CONTIGUOUS); + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'B' op: 'Input'}" +- "node { name: 'M' op: '_MklInput'}" +- "node { name: 'N' op: '_MklInput'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" ++ "node { name: 'M' op: '_Mkl_Input'}" ++ "node { name: 'N' op: '_Mkl_Input'}" + "node { name: 'C' op: '_MklConv2D'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" +@@ -165,13 +165,14 @@ TEST_F(MklToTfConversionPass, Positive) { + "}" + " attr { key: 'padding' value { s: 'SAME' } }" + " input: ['A', 'B', 'M', 'N']}" +- "node { name: 'D' op: 'Input'}" ++ "node { name: 'D' op: 'Float_Input'}" + "node { name: 'E' op: 'Sub'" + " attr {key: 'T' value { type: DT_FLOAT } }" + " input: ['C', 'D']}"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(_MklConv2D);D(Input);E(Sub);M(_MklInput);" +- "Mkl2Tf/_0(_MklToTf);N(_MklInput)|A->C;B->C:1;C->Mkl2Tf/_0;" ++ "A(Float_Input);B(Float_Input);C(_MklConv2D);D(Float_Input);E(" ++ "Sub);M(_Mkl_Input);" ++ "Mkl2Tf/_0(_MklToTf);N(_Mkl_Input)|A->C;B->C:1;C->Mkl2Tf/_0;" + "C:2->Mkl2Tf/_0:1;D->E:1;M->C:2;Mkl2Tf/_0->E;N->C:3"); + } + } +@@ -183,10 +184,10 @@ TEST_F(MklToTfConversionPass, Positive) { + TEST_F(MklToTfConversionPass, Negative_DoubleInsert) { + if (kTensorOrdering == MklTfTensorOrdering::TENSORS_INTERLEAVED) { + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'M' op: '_MklInput'}" +- "node { name: 'B' op: 'Input'}" +- "node { name: 'N' op: '_MklInput'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'M' op: '_Mkl_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" ++ "node { name: 'N' op: '_Mkl_Input'}" + "node { name: 'C' op: '_MklConv2D'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" +@@ -199,21 +200,22 @@ TEST_F(MklToTfConversionPass, Negative_DoubleInsert) { + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" + " input: ['C:0', 'C:1']}" +- "node { name: 'E' op: 'Input'}" ++ "node { name: 'E' op: 'Float_Input'}" + "node { name: 'F' op: 'Sub'" + " attr {key: 'T' value { type: DT_FLOAT } }" + " input: ['D', 'E']}"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(_MklConv2D);D(_MklToTf);E(Input);" +- "F(Sub);M(_MklInput);N(_MklInput)|" ++ "A(Float_Input);B(Float_Input);C(_MklConv2D);D(_MklToTf);E(Float_" ++ "Input);" ++ "F(Sub);M(_Mkl_Input);N(_Mkl_Input)|" + "A->C;B->C:2;C->D;C:1->D:1;D->F;E->F:1;M->C:1;N->C:3"); + } else { + CHECK_EQ(kTensorOrdering, MklTfTensorOrdering::TENSORS_CONTIGUOUS); + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'B' op: 'Input'}" +- "node { name: 'M' op: '_MklInput'}" +- "node { name: 'N' op: '_MklInput'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" ++ "node { name: 'M' op: '_Mkl_Input'}" ++ "node { name: 'N' op: '_Mkl_Input'}" + "node { name: 'C' op: '_MklConv2D'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" +@@ -226,13 +228,14 @@ TEST_F(MklToTfConversionPass, Negative_DoubleInsert) { + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" + " input: ['C:0', 'C:2']}" +- "node { name: 'E' op: 'Input'}" ++ "node { name: 'E' op: 'Float_Input'}" + "node { name: 'F' op: 'Sub'" + " attr {key: 'T' value { type: DT_FLOAT } }" + " input: ['D', 'E']}"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(_MklConv2D);D(_MklToTf);E(Input);" +- "F(Sub);M(_MklInput);N(_MklInput)|" ++ "A(Float_Input);B(Float_Input);C(_MklConv2D);D(_MklToTf);E(Float_" ++ "Input);" ++ "F(Sub);M(_Mkl_Input);N(_Mkl_Input)|" + "A->C;B->C:1;C->D;C:2->D:1;D->F;E->F:1;M->C:2;N->C:3"); + } + } +@@ -241,8 +244,8 @@ TEST_F(MklToTfConversionPass, Negative_DoubleInsert) { + // There is no Mkl layer so no conversion op should be inserted. + TEST_F(MklToTfConversionPass, Negative_NoMklLayer) { + InitGraph( +- "node { name: 'A' op: 'Input'}" +- "node { name: 'B' op: 'Input'}" ++ "node { name: 'A' op: 'Float_Input'}" ++ "node { name: 'B' op: 'Float_Input'}" + "node { name: 'C' op: 'Conv2D'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" +@@ -250,17 +253,18 @@ TEST_F(MklToTfConversionPass, Negative_NoMklLayer) { + " attr { key: 'strides' value { list: {i: 1, i:1, i:1, i:1} } }" + " attr { key: 'padding' value { s: 'SAME' } }" + " input: ['A', 'B']}" +- "node { name: 'D' op: 'Input'}" ++ "node { name: 'D' op: 'Float_Input'}" + "node { name: 'E' op: 'BiasAdd'" + " attr { key: 'T' value { type: DT_FLOAT } }" + " attr { key: 'data_format' value { s: 'NCHW' } }" + " input: ['C', 'D'] }" +- "node { name: 'Y' op: 'Input'}" ++ "node { name: 'Y' op: 'Float_Input'}" + "node { name: 'Z' op: 'Sub'" + " attr {key: 'T' value { type: DT_FLOAT } }" + " input: ['E', 'Y']}"); + EXPECT_EQ(DoRunMklToTfConversionPass(), +- "A(Input);B(Input);C(Conv2D);D(Input);E(BiasAdd);Y(Input);Z(Sub)|" ++ "A(Float_Input);B(Float_Input);C(Conv2D);D(Float_Input);E(BiasAdd);" ++ "Y(Float_Input);Z(Sub)|" + "A->C;B->C:1;C->E;D->E:1;E->Z;Y->Z:1"); + } + +@@ -268,7 +272,7 @@ static void BM_RunMklToTfConversionPass(int iters, int op_nodes) { + testing::StopTiming(); + string s; + for (int in = 0; in < 10; in++) { +- s += strings::Printf("node { name: 'in%04d' op: 'Input'}", in); ++ s += strings::Printf("node { name: 'in%04d' op: 'Float_Input'}", in); + } + random::PhiloxRandom philox(301, 17); + random::SimplePhilox rnd(&philox); diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-bfloat16-alias-violation.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-bfloat16-alias-violation.patch new file mode 100644 index 00000000000..86a2437cb14 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-bfloat16-alias-violation.patch @@ -0,0 +1,192 @@ +TF uses invalid reinterpret_cast causing miscompilation at least on POWER +Fix by proper code + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/framework/BUILD b/tensorflow/core/framework/BUILD +index d47c74a629d..8ae68b53f3b 100644 +--- a/tensorflow/core/framework/BUILD ++++ b/tensorflow/core/framework/BUILD +@@ -597,6 +597,7 @@ cc_library( + ":numeric_types", + "//tensorflow/core/platform:byte_order", + "//tensorflow/core/platform:types", ++ "//third_party/eigen3", + ], + alwayslink = 1, + ) +diff --git a/tensorflow/core/framework/bfloat16.cc b/tensorflow/core/framework/bfloat16.cc +index 6025be51704..c7fdda163b7 100644 +--- a/tensorflow/core/framework/bfloat16.cc ++++ b/tensorflow/core/framework/bfloat16.cc +@@ -15,36 +15,28 @@ limitations under the License. + + #include "tensorflow/core/framework/bfloat16.h" + ++#include "third_party/eigen3/Eigen/Core" ++ + namespace tensorflow { + + void FloatToBFloat16(const float* src, bfloat16* dst, int64 size) { +- const uint16_t* p = reinterpret_cast(src); +- uint16_t* q = reinterpret_cast(dst); ++ for (; size != 0; src++, dst++, size--) { + #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- for (; size != 0; p += 2, q++, size--) { +- *q = p[0]; +- } ++ memcpy(dst, src, sizeof(bfloat16)); + #else +- for (; size != 0; p += 2, q++, size--) { +- *q = p[1]; +- } ++ memcpy( ++ dst, ++ reinterpret_cast(src) + sizeof(float) - sizeof(bfloat16), ++ sizeof(bfloat16)); + #endif ++ } + } + + void BFloat16ToFloat(const bfloat16* src, float* dst, int64 size) { +- const uint16_t* p = reinterpret_cast(src); +- uint16_t* q = reinterpret_cast(dst); +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- for (; size != 0; p++, q += 2, size--) { +- q[0] = *p; +- q[1] = 0; +- } +-#else +- for (; size != 0; p++, q += 2, size--) { +- q[0] = 0; +- q[1] = *p; +- } +-#endif ++ Eigen::Map> src_eigen(src, ++ size); ++ Eigen::Map dst_eigen(dst, size); ++ dst_eigen = src_eigen.cast(); + } + + } // end namespace tensorflow +diff --git a/tensorflow/core/framework/numeric_types.h b/tensorflow/core/framework/numeric_types.h +index 6d80a1c519c..916c2d302d1 100644 +--- a/tensorflow/core/framework/numeric_types.h ++++ b/tensorflow/core/framework/numeric_types.h +@@ -47,13 +47,9 @@ typedef Eigen::QUInt16 quint16; + + + static inline tensorflow::bfloat16 FloatToBFloat16(float float_val) { +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- return *reinterpret_cast( +- reinterpret_cast(&float_val)); +-#else +- return *reinterpret_cast( +- &(reinterpret_cast(&float_val)[1])); +-#endif ++ tensorflow::bfloat16 result; ++ result.value = absl::bit_cast(float_val) >> 16; ++ return result; + } + + namespace Eigen { +diff --git a/tensorflow/core/kernels/cast_op.h b/tensorflow/core/kernels/cast_op.h +index 84c44f6b5e7..19c73fa4975 100644 +--- a/tensorflow/core/kernels/cast_op.h ++++ b/tensorflow/core/kernels/cast_op.h +@@ -285,18 +285,7 @@ struct scalar_cast_op<::tensorflow::bfloat16, float> { + typedef float result_type; + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float operator()( + const ::tensorflow::bfloat16& a) const { +- float ret; +- uint16_t* p = reinterpret_cast(&ret); +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- p[0] = a.value; +- p[1] = 0; +-#else +- static_assert(::tensorflow::port::kLittleEndian, +- "Not a little endian system!"); +- p[0] = 0; +- p[1] = a.value; +-#endif +- return ret; ++ return static_cast(a); + } + }; + +diff --git a/tensorflow/core/kernels/sparse_matmul_op.cc b/tensorflow/core/kernels/sparse_matmul_op.cc +index eb460147d71..71897681d0b 100644 +--- a/tensorflow/core/kernels/sparse_matmul_op.cc ++++ b/tensorflow/core/kernels/sparse_matmul_op.cc +@@ -282,14 +282,7 @@ const int kNumOperands = (sizeof(Packet) / sizeof(float)); + #define FMA(a, b, c, d) d = Eigen::internal::pmadd(a, b, c); + + ALWAYS_INLINE float ConvertBfloat16ToFloat(const bfloat16* src) { +- float out = 0; +- auto tmp = reinterpret_cast(&out); +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- tmp[0] = *src; +-#else +- tmp[1] = *src; +-#endif +- return out; ++ return static_cast(*src); + } + + ALWAYS_INLINE Packet ConvertFourBfloat16ToFloat(const bfloat16* src) { +diff --git a/tensorflow/core/lib/bfloat16/BUILD b/tensorflow/core/lib/bfloat16/BUILD +index 53c2059f06d..2564ac6ab37 100644 +--- a/tensorflow/core/lib/bfloat16/BUILD ++++ b/tensorflow/core/lib/bfloat16/BUILD +@@ -17,6 +17,7 @@ cc_library( + deps = [ + "//tensorflow/core/platform:byte_order", + "//third_party/eigen3", ++ "@com_google_absl//absl/base", + ], + ) + +diff --git a/tensorflow/core/lib/bfloat16/bfloat16.h b/tensorflow/core/lib/bfloat16/bfloat16.h +index 54d78480066..72ea6aa911e 100644 +--- a/tensorflow/core/lib/bfloat16/bfloat16.h ++++ b/tensorflow/core/lib/bfloat16/bfloat16.h +@@ -21,6 +21,7 @@ limitations under the License. + #include + #include + ++#include "absl/base/casts.h" + #include "tensorflow/core/platform/byte_order.h" + + #if defined(__CUDACC__) || (defined(__HIPCC__) && defined(__HIP__)) +@@ -59,12 +60,7 @@ struct bfloat16 { + output.value = std::signbit(v) ? 0x8000 : 0; + return output; + } +- const uint16_t* p = reinterpret_cast(&v); +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- output.value = p[0]; +-#else +- output.value = p[1]; +-#endif ++ output.value = absl::bit_cast(v) >> 16; + return output; + } + +@@ -102,16 +98,7 @@ struct bfloat16 { + : bfloat16(static_cast(val)) {} + + B16_DEVICE_FUNC explicit operator float() const { +- float result = 0; +- +- uint16_t* q = reinterpret_cast(&result); +- +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +- q[0] = value; +-#else +- q[1] = value; +-#endif +- return result; ++ return absl::bit_cast(static_cast(value) << 16); + } + + B16_DEVICE_FUNC explicit operator bool() const { diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-numpy-UFunc-sig-change.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-numpy-UFunc-sig-change.patch new file mode 100644 index 00000000000..2e21e40fe09 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-numpy-UFunc-sig-change.patch @@ -0,0 +1,108 @@ +From 84cc21ab082a1bb4b3dfd2ee5d32e18598f60282 Mon Sep 17 00:00:00 2001 +From: Emil Dudev +Date: Tue, 23 Jun 2020 22:13:04 +0200 +Subject: [PATCH] Const-qulify PyUFuncGenericFunction's arguments + +Remove the limit of numpy's version +--- + tensorflow/compiler/xla/python/bfloat16.cc | 20 ++++++++++---------- + tensorflow/python/lib/core/bfloat16.cc | 6 +++--- + tensorflow/tools/pip_package/setup.py | 4 +--- + 3 files changed, 14 insertions(+), 16 deletions(-) + +diff --git a/tensorflow/compiler/xla/python/bfloat16.cc b/tensorflow/compiler/xla/python/bfloat16.cc +index 0b98d0c5f9bd0..1490ce59a2f50 100644 +--- a/tensorflow/compiler/xla/python/bfloat16.cc ++++ b/tensorflow/compiler/xla/python/bfloat16.cc +@@ -708,8 +708,8 @@ struct UnaryUFunc { + static std::vector Types() { + return {TypeDescriptor::Dtype(), TypeDescriptor::Dtype()}; + } +- static void Call(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++ static void Call(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + const char* i0 = args[0]; + char* o = args[1]; + for (npy_intp k = 0; k < *dimensions; k++) { +@@ -728,8 +728,8 @@ struct UnaryUFunc2 { + return {TypeDescriptor::Dtype(), TypeDescriptor::Dtype(), + TypeDescriptor::Dtype()}; + } +- static void Call(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++ static void Call(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + const char* i0 = args[0]; + char* o0 = args[1]; + char* o1 = args[2]; +@@ -751,8 +751,8 @@ struct BinaryUFunc { + return {TypeDescriptor::Dtype(), TypeDescriptor::Dtype(), + TypeDescriptor::Dtype()}; + } +- static void Call(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++ static void Call(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + const char* i0 = args[0]; + const char* i1 = args[1]; + char* o = args[2]; +@@ -774,8 +774,8 @@ struct BinaryUFunc2 { + return {TypeDescriptor::Dtype(), TypeDescriptor::Dtype(), + TypeDescriptor::Dtype()}; + } +- static void Call(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++ static void Call(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + const char* i0 = args[0]; + const char* i1 = args[1]; + char* o = args[2]; +@@ -873,8 +873,8 @@ struct DivmodUFunc { + static std::vector Types() { + return {npy_bfloat16, npy_bfloat16, npy_bfloat16, npy_bfloat16}; + } +- static void Call(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++ static void Call(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + const char* i0 = args[0]; + const char* i1 = args[1]; + char* o0 = args[2]; +diff --git a/tensorflow/python/lib/core/bfloat16.cc b/tensorflow/python/lib/core/bfloat16.cc +index feb01f11a1af2..ceb49a97c0a9c 100644 +--- a/tensorflow/python/lib/core/bfloat16.cc ++++ b/tensorflow/python/lib/core/bfloat16.cc +@@ -517,7 +517,7 @@ bool RegisterBfloat16Cast(int numpy_type, bool cast_is_safe) { + } + + template +-void BinaryUFunc(char** args, npy_intp* dimensions, npy_intp* steps, ++void BinaryUFunc(char** args, const npy_intp* dimensions, const npy_intp* steps, + void* data) { + const char* i0 = args[0]; + const char* i1 = args[1]; +@@ -533,8 +533,8 @@ void BinaryUFunc(char** args, npy_intp* dimensions, npy_intp* steps, + } + + template +-void CompareUFunc(char** args, npy_intp* dimensions, npy_intp* steps, +- void* data) { ++void CompareUFunc(char** args, const npy_intp* dimensions, ++ const npy_intp* steps, void* data) { + BinaryUFunc(args, dimensions, steps, data); + } + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 42233f80c1c9f..92061b396ce3e 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -58,7 +58,7 @@ + 'google_pasta >= 0.1.8', + 'h5py >= 2.10.0, < 2.11.0', + 'keras_preprocessing >= 1.1.0', +- 'numpy >= 1.16.0, < 1.19.0', ++ 'numpy >= 1.16.0, < 2.0', + 'opt_einsum >= 2.3.2', + 'protobuf >= 3.8.0', + 'tensorboard >= 2.2.0, < 2.3.0', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-source_utils_test-in-python38.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-source_utils_test-in-python38.patch new file mode 100644 index 00000000000..0d56611f791 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.2.3_fix-source_utils_test-in-python38.patch @@ -0,0 +1,93 @@ +From fb416f16e2b01252326816bb311c3e6165d13bcf Mon Sep 17 00:00:00 2001 +From: Shanqing Cai +Date: Mon, 18 May 2020 06:28:20 -0700 +Subject: [PATCH] [tfdbg] Fix source_utils_test in Python 3.8+ + +This is related to https://bugs.python.org/issue12458 + +In python 3.8, traceback reports the first instead of last line in +a multi-line continuation block. + +Certain parts of source_utils_test.py assume that traceback always +returns the last line, which is true all the way up to 3.7. + +In order to fix this, we use the `ast` module to extract the lineno +of the first line in a multi-line continuation block. + +PiperOrigin-RevId: 312067389 +Change-Id: I8a3ac129b3d75230a3eedd64c3605779dcab5336 +--- + tensorflow/python/debug/BUILD | 1 - + .../python/debug/lib/source_utils_test.py | 38 ++++++++++++++++++- + 2 files changed, 37 insertions(+), 2 deletions(-) + +diff --git a/tensorflow/python/debug/BUILD b/tensorflow/python/debug/BUILD +index 956e90999c7fa..1ef0504ecb836 100644 +--- a/tensorflow/python/debug/BUILD ++++ b/tensorflow/python/debug/BUILD +@@ -840,8 +840,7 @@ py_test( + python_version = "PY3", + srcs_version = "PY2AND3", + tags = [ + "no_mac", +- "no_oss_py38", #TODO(b/151449908) + "no_windows", + ], + deps = [ +diff --git a/tensorflow/python/debug/lib/source_utils_test.py b/tensorflow/python/debug/lib/source_utils_test.py +index faf2365fc9cb3..89964a21ba769 100644 +--- a/tensorflow/python/debug/lib/source_utils_test.py ++++ b/tensorflow/python/debug/lib/source_utils_test.py +@@ -18,7 +18,9 @@ + from __future__ import division + from __future__ import print_function + ++import ast + import os ++import sys + import tempfile + import zipfile + +@@ -43,7 +45,41 @@ + + + def line_number_above(): +- return tf_inspect.stack()[1][2] - 1 ++ """Get lineno of the AST node immediately above this function's call site. ++ ++ It is assumed that there is no empty line(s) between the call site and the ++ preceding AST node. ++ ++ Returns: ++ The lineno of the preceding AST node, at the same level of the AST. ++ If the preceding AST spans multiple lines: ++ - In Python 3.8+, the lineno of the first line is returned. ++ - In older Python versions, the lineno of the last line is returned. ++ """ ++ # https://bugs.python.org/issue12458: In Python 3.8, traceback started ++ # to return the lineno of the first line of a multi-line continuation block, ++ # instead of that of the last line. Therefore, in Python 3.8+, we use `ast` to ++ # get the lineno of the first line. ++ call_site_lineno = tf_inspect.stack()[1][2] ++ if sys.version_info < (3, 8): ++ return call_site_lineno - 1 ++ else: ++ with open(__file__, "rb") as f: ++ source_text = f.read().decode("utf-8") ++ source_tree = ast.parse(source_text) ++ prev_node = _find_preceding_ast_node(source_tree, call_site_lineno) ++ return prev_node.lineno ++ ++ ++def _find_preceding_ast_node(node, lineno): ++ """Find the ast node immediately before and not including lineno.""" ++ for i, child_node in enumerate(node.body): ++ if child_node.lineno == lineno: ++ return node.body[i - 1] ++ if hasattr(child_node, "body"): ++ found_node = _find_preceding_ast_node(child_node, lineno) ++ if found_node: ++ return found_node + + + class GuessIsTensorFlowLibraryTest(test_util.TensorFlowTestCase): diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-foss-2020a-Python-3.8.2.eb index 77a1ccd97e0..daa5022fb1f 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-foss-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-foss-2020a-Python-3.8.2.eb @@ -40,9 +40,7 @@ dependencies = [ ('zlib', '1.2.11'), ] -exts_default_options = { - 'sanity_pip_check': True, -} +sanity_pip_check = True use_pip = True # Dependencies created and updated using findPythonDeps.sh: @@ -86,6 +84,7 @@ exts_list = [ ('grpcio', '1.33.1', { 'modulename': 'grpc', 'checksums': ['f19782ec5104599382a0f73f2dfea465d0e65f6818bb3c49ca672b97034c64c3'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-fosscuda-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-fosscuda-2020a-Python-3.8.2.eb index 1d255bd3b4b..7a4a7766ca6 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-fosscuda-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.3.1-fosscuda-2020a-Python-3.8.2.eb @@ -18,7 +18,7 @@ builddependencies = [ ('pybind11', '2.4.3', versionsuffix), ] dependencies = [ - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ('Python', '3.8.2'), ('h5py', '2.10.0', versionsuffix), @@ -42,9 +42,7 @@ dependencies = [ ('zlib', '1.2.11'), ] -exts_default_options = { - 'sanity_pip_check': True, -} +sanity_pip_check = True use_pip = True # Dependencies created and updated using findPythonDeps.sh: @@ -88,6 +86,7 @@ exts_list = [ ('grpcio', '1.32.0', { 'modulename': 'grpc', 'checksums': ['01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-foss-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-foss-2020b.eb index b3b7e485294..b37d88e8be6 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-foss-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-foss-2020b.eb @@ -16,6 +16,7 @@ builddependencies = [ ('git', '2.28.0', '-nodocs'), ('pybind11', '2.6.0'), ('pkgconfig', '1.5.1', '-python'), # For h5py + ('UnZip', '6.0'), ] dependencies = [ ('Python', '3.8.6'), @@ -97,6 +98,7 @@ exts_list = [ ('grpcio', '1.32.0', { 'modulename': 'grpc', 'checksums': ['01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', @@ -163,10 +165,10 @@ exts_list = [ 'TensorFlow-2.4.0_fix-eigen-on-power.patch', 'TensorFlow-2.4.0_downgrade-required-versions.patch', 'TensorFlow-2.4.0_add-protobuf-deps.patch', - 'TensorFlow-2.4.0_add-ldl.patch', 'TensorFlow-2.4.0_add-missing-llvm-deps.patch', 'TensorFlow-2.4.0_fix-absl-on-power.patch', 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_add-ldl.patch', 'TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch', ], 'source_tmpl': 'v%(version)s.tar.gz', @@ -188,6 +190,7 @@ exts_list = [ '-//tensorflow/c/eager:c_api_distributed_test_gpu', # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test', '-//tensorflow/c/eager:c_api_remote_function_test_gpu', '-//tensorflow/c/eager:c_api_remote_test_gpu', # Invalid alignment: https://github.com/tensorflow/tensorflow/issues/46460 @@ -214,13 +217,13 @@ exts_list = [ 'ac8f53662ad0bb660089c17bb433faf1ce3c2238234a2c3be7d92c8e02c1a8d6', # TensorFlow-2.4.0_add-protobuf-deps.patch '0ae2f4f1f1dc5b85f61edbe8a4a91dcffd5cf7588fa46c6a143455e4bc41a64e', - '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch # TensorFlow-2.4.0_add-missing-llvm-deps.patch 'ce8c41e75f9854e547d03de99ae72cf41afa967b20439e864bc4af3dd4f565c7', # TensorFlow-2.4.0_fix-absl-on-power.patch 'cd0e1181cfc56c259cb57b7f9590816db5f5cde3fab39b3386c001359ca6e9fa', # TensorFlow-2.4.0_dont-use-var-lock.patch 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + 'ab57637e3e64a5ff8345573effed2b229c33579b9ac3c8ceb7e554d236890d4a', # TensorFlow-2.4.1_add-ldl.patch # TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch 'f384cd97e004673ae530b6e5cc826f8fddb46646991f1a228fc07b2aac87ee80', ], diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2019b-Python-3.7.4.eb index 55b550b6e69..f2b7555d0c8 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2019b-Python-3.7.4.eb @@ -16,6 +16,7 @@ builddependencies = [ # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 ('git', '2.23.0', '-nodocs'), ('pybind11', '2.4.3', versionsuffix), + ('UnZip', '6.0'), ] dependencies = [ ('cuDNN', '7.6.4.38'), @@ -153,10 +154,10 @@ exts_list = [ 'TensorFlow-2.4.0_fix-eigen-on-power.patch', 'TensorFlow-2.4.0_downgrade-required-versions.patch', 'TensorFlow-2.4.0_add-protobuf-deps.patch', - 'TensorFlow-2.4.0_add-ldl.patch', 'TensorFlow-2.4.0_add-missing-llvm-deps.patch', 'TensorFlow-2.4.0_fix-absl-on-power.patch', 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_add-ldl.patch', 'TensorFlow-2.4.1-fix-alias-violation-in-absl.patch', 'TensorFlow-2.4.1_fix-min-priority-test.patch', 'TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch', @@ -181,6 +182,7 @@ exts_list = [ '-//tensorflow/c/eager:c_api_distributed_test_gpu', # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test', '-//tensorflow/c/eager:c_api_remote_function_test_gpu', '-//tensorflow/c/eager:c_api_remote_test_gpu', # Invalid alignment: https://github.com/tensorflow/tensorflow/issues/46460 @@ -209,13 +211,13 @@ exts_list = [ 'ac8f53662ad0bb660089c17bb433faf1ce3c2238234a2c3be7d92c8e02c1a8d6', # TensorFlow-2.4.0_add-protobuf-deps.patch '0ae2f4f1f1dc5b85f61edbe8a4a91dcffd5cf7588fa46c6a143455e4bc41a64e', - '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch # TensorFlow-2.4.0_add-missing-llvm-deps.patch 'ce8c41e75f9854e547d03de99ae72cf41afa967b20439e864bc4af3dd4f565c7', # TensorFlow-2.4.0_fix-absl-on-power.patch 'cd0e1181cfc56c259cb57b7f9590816db5f5cde3fab39b3386c001359ca6e9fa', # TensorFlow-2.4.0_dont-use-var-lock.patch 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + 'ab57637e3e64a5ff8345573effed2b229c33579b9ac3c8ceb7e554d236890d4a', # TensorFlow-2.4.1_add-ldl.patch # TensorFlow-2.4.1-fix-alias-violation-in-absl.patch '33744bbf4ccbd5995e5e12336eb571c849ccbbc0e493fee8a3cf03bc7d5a0919', # TensorFlow-2.4.1_fix-min-priority-test.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2020b.eb index 7693cdd06a7..110b07df5a5 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1-fosscuda-2020b.eb @@ -16,9 +16,10 @@ builddependencies = [ ('git', '2.28.0', '-nodocs'), ('pybind11', '2.6.0'), ('pkgconfig', '1.5.1', '-python'), # For h5py + ('UnZip', '6.0'), ] dependencies = [ - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ('Python', '3.8.6'), # Next 2 are for h5py @@ -98,6 +99,7 @@ exts_list = [ ('grpcio', '1.32.0', { 'modulename': 'grpc', 'checksums': ['01d3046fe980be25796d368f8fc5ff34b7cf5e1444f3789a017a7fe794465639'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', @@ -164,10 +166,10 @@ exts_list = [ 'TensorFlow-2.4.0_fix-eigen-on-power.patch', 'TensorFlow-2.4.0_downgrade-required-versions.patch', 'TensorFlow-2.4.0_add-protobuf-deps.patch', - 'TensorFlow-2.4.0_add-ldl.patch', 'TensorFlow-2.4.0_add-missing-llvm-deps.patch', 'TensorFlow-2.4.0_fix-absl-on-power.patch', 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_add-ldl.patch', 'TensorFlow-2.4.1_fix-min-priority-test.patch', 'TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch', ], @@ -191,6 +193,7 @@ exts_list = [ '-//tensorflow/c/eager:c_api_distributed_test_gpu', # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test', '-//tensorflow/c/eager:c_api_remote_function_test_gpu', '-//tensorflow/c/eager:c_api_remote_test_gpu', # Invalid alignment: https://github.com/tensorflow/tensorflow/issues/46460 @@ -219,13 +222,13 @@ exts_list = [ 'ac8f53662ad0bb660089c17bb433faf1ce3c2238234a2c3be7d92c8e02c1a8d6', # TensorFlow-2.4.0_add-protobuf-deps.patch '0ae2f4f1f1dc5b85f61edbe8a4a91dcffd5cf7588fa46c6a143455e4bc41a64e', - '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch # TensorFlow-2.4.0_add-missing-llvm-deps.patch 'ce8c41e75f9854e547d03de99ae72cf41afa967b20439e864bc4af3dd4f565c7', # TensorFlow-2.4.0_fix-absl-on-power.patch 'cd0e1181cfc56c259cb57b7f9590816db5f5cde3fab39b3386c001359ca6e9fa', # TensorFlow-2.4.0_dont-use-var-lock.patch 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + 'ab57637e3e64a5ff8345573effed2b229c33579b9ac3c8ceb7e554d236890d4a', # TensorFlow-2.4.1_add-ldl.patch # TensorFlow-2.4.1_fix-min-priority-test.patch '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', # TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1_add-ldl.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1_add-ldl.patch new file mode 100644 index 00000000000..2f55ddb6183 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.1_add-ldl.patch @@ -0,0 +1,21 @@ +The stacktrace library uses dladdr and friends but doesn't link libdl +See https://github.com/tensorflow/tensorflow/issues/45013 and +https://github.com/tensorflow/tensorflow/pull/56606 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/platform/default/BUILD b/tensorflow/core/platform/default/BUILD +index 2f94bce8c5b..3d0d04274e4 100644 +--- a/tensorflow/core/platform/default/BUILD ++++ b/tensorflow/core/platform/default/BUILD +@@ -377,6 +377,10 @@ cc_library( + name = "stacktrace_handler", + srcs = ["stacktrace_handler.cc"], + hdrs = ["//tensorflow/core/platform:stacktrace_handler.h"], ++ linkopts = select({ ++ "//tensorflow:windows": [], ++ "//conditions:default": ["-ldl"], ++ }), + linkstatic = 1, + deps = [ + "//tensorflow/core/platform", diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb new file mode 100644 index 00000000000..ab4f13c9527 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4-foss-2021a.eb @@ -0,0 +1,240 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.4.4' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('pkgconfig', '1.5.4', '-python'), # For h5py + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('HDF5', '1.10.7'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +sanity_pip_check = True +use_pip = True + + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + # TF 2.4 needs h5py 2.10, later versions allow 3.x + ('h5py', '2.10.0', { + 'patches': ['h5py-2.10.0_avoid-mpi-init.patch'], + 'preinstallopts': 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ', + 'checksums': [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch + ], + }), + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.30.0', { + 'modulename': 'google.auth', + 'checksums': ['9ad25fba07f46a628ad4d0ca09f38dcb262830df2ac95b217f9b0129c9e42206'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '1.0.1', { + 'checksums': ['6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard', '2.4.1', { + 'source_tmpl': 'tensorboard-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-plugin-profile', '2.4.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['dfbf254ee960440e3b2518324f876a6d6704c60b936887d99214fa36988a206a'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.4.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'unpack_sources': False, + 'checksums': ['5b7b7bf2debe19a8794adacc43e8ba6459daa4efaf54d3302623994a359b17f0'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.3.3', { + 'checksums': ['b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.1', { + 'checksums': ['909a80ce028821c7ad01bdcaa588126825931d177cdccd00b3545818d4a195ce'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.3.1', { + 'checksums': ['d2cdc776873635ed421315c4d22e63280042456bbfa07397817e687b142b9667'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.3.1_disable-float128-on-power.patch', + 'TensorFlow-2.4.0_add-default-shell-env.patch', + 'TensorFlow-2.4.0_fix-eigen-on-power.patch', + 'TensorFlow-2.4.0_add-protobuf-deps.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_add-missing-llvm-deps.patch', + 'TensorFlow-2.4.0_fix-absl-on-power.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.4.4_relax-required-versions.patch', + 'TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch', + 'TensorFlow-2.4.4_fix-assertion-bijector-test.patch', + ], + 'checksums': [ + 'f1abc3ed92c3ce955db2a7db5ec422a3a98f015331183194f97b99fe77a09bb4', # v2.4.4.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + # TensorFlow-2.3.1_disable-float128-on-power.patch + 'a8369e92559cce4566ff831e615420fd98b83106c73ee3af7fbd5335c5fcd569', + # TensorFlow-2.4.0_add-default-shell-env.patch + '033a870b458406f4cabab878c4183cdf54cd7627648f24c8cc9f1964ff24d292', + # TensorFlow-2.4.0_fix-eigen-on-power.patch + '761303a9d5a0e78b833610891194e497a45f1218cfcb0ac4854a0d31d3156c2b', + # TensorFlow-2.4.0_add-protobuf-deps.patch + '0ae2f4f1f1dc5b85f61edbe8a4a91dcffd5cf7588fa46c6a143455e4bc41a64e', + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_add-missing-llvm-deps.patch + 'ce8c41e75f9854e547d03de99ae72cf41afa967b20439e864bc4af3dd4f565c7', + # TensorFlow-2.4.0_fix-absl-on-power.patch + 'cd0e1181cfc56c259cb57b7f9590816db5f5cde3fab39b3386c001359ca6e9fa', + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_remove-duplicate-gpu-tests.patch + 'f384cd97e004673ae530b6e5cc826f8fddb46646991f1a228fc07b2aac87ee80', + # TensorFlow-2.4.4_relax-required-versions.patch + 'cfe9b85e3556178a89c99ac27c5cee64d5605b18d323d9c5545d9cfd7527df01', + # TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch + 'efbe7c25d2cf8dd02015bb0fce7ae49d55d135026bb8b26e7a52dd1e273e1a6f', + # TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch + 'badc106ff45e82856e6ea489922e0afbcd839c9e851ca1c9f380a4c7687da89c', + # TensorFlow-2.4.4_fix-assertion-bijector-test.patch + 'ac8aee69ab0269a89b390b247ec32bfb0a4582f86231e094febedec1b3204637', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Requires access to CUPTI (privileged!) + '-//tensorflow/core/profiler/internal/gpu:device_tracer_test', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Invalid alignment: https://github.com/tensorflow/tensorflow/issues/46460 + '-//tensorflow/core/kernels:sparse_matmul_op_test', + '-//tensorflow/core/kernels:sparse_matmul_op_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch new file mode 100644 index 00000000000..7a302ea105f --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-assertion-bijector-test.patch @@ -0,0 +1,13 @@ +Fix assetion string in testIsAbstract of Bijector test +author: Alex Domingo (Vrije Universiteit Brussel) +--- a/tensorflow/python/kernel_tests/distributions/bijector_test.py 2022-02-05 00:42:51.288983000 +0100 ++++ b/tensorflow/python/kernel_tests/distributions/bijector_test.py 2022-02-05 00:43:02.729512435 +0100 +@@ -38,7 +38,7 @@ + def testIsAbstract(self): + with self.assertRaisesRegex(TypeError, + ("Can't instantiate abstract class Bijector " +- "with abstract methods __init__")): ++ "with abstract method __init__")): + bijector.Bijector() # pylint: disable=abstract-class-instantiated + + def testDefaults(self): diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch new file mode 100644 index 00000000000..799d44343d9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-numpy-1.20.patch @@ -0,0 +1,58 @@ +Fix compatibility with NumPy 1.20+ +See issue: https://github.com/tensorflow/models/issues/9706 + +From 0f8fde42d09b199d02cf5d9d79fe76ebf1d260ef Mon Sep 17 00:00:00 2001 +From: Ben Greiner +Date: Thu, 6 May 2021 12:13:40 +0200 +Subject: [PATCH 01/14] Fix NumPy 1.20 error with np.prod() + +Reference: #47691, https://stackoverflow.com/questions/66373169 +--- + tensorflow/python/ops/array_ops.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tensorflow/python/ops/array_ops.py b/tensorflow/python/ops/array_ops.py +index 519f2ef26fcef..d143ee96a2fc9 100644 +--- a/tensorflow/python/ops/array_ops.py ++++ b/tensorflow/python/ops/array_ops.py +@@ -36,6 +36,7 @@ + from tensorflow.python.framework.constant_op import constant + from tensorflow.python.ops import gen_array_ops + from tensorflow.python.ops import gen_math_ops ++from tensorflow.python.ops import math_ops + # go/tf-wildcard-import + # pylint: disable=wildcard-import + from tensorflow.python.ops.gen_array_ops import * +@@ -2894,7 +2895,7 @@ def matrix_set_diag( + + def _constant_if_small(value, shape, dtype, name): + try: +- if np.prod(shape) < 1000: ++ if math_ops.reduce_prod(shape) < 1000: + return constant(value, shape=shape, dtype=dtype, name=name) + except TypeError: + # Happens when shape is a Tensor, list with Tensor elements, etc. + +From 9a4642fb897e8ac7901253a4225d0d346715545e Mon Sep 17 00:00:00 2001 +From: Ben Greiner +Date: Thu, 2 Sep 2021 13:01:12 +0200 +Subject: [PATCH 14/14] catch NotImplementedError from failed recursive + conversion to ndarray + +--- + tensorflow/python/framework/test_util.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/python/framework/test_util.py b/tensorflow/python/framework/test_util.py +index 272351517655d..b1f6ca1775ef4 100644 +--- a/tensorflow/python/framework/test_util.py ++++ b/tensorflow/python/framework/test_util.py +@@ -2790,7 +2790,7 @@ def _assertAllCloseRecursive(self, + atol=atol, + msg="Mismatched value: a%s is different from b%s. %s" % + (path_str, path_str, msg)) +- except (ValueError, TypeError) as e: ++ except (ValueError, TypeError, NotImplementedError) as e: + if len(a) != len(b): + raise ValueError( + "Mismatched length: a%s has %d items, but b%s has %d items. %s" % diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch new file mode 100644 index 00000000000..69d194dc2d4 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_fix-compatibility-with-protobuf-3.17.patch @@ -0,0 +1,26 @@ +From f87e2c2fb623e862fe2ae1616ec4164fa48d1446 Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Sat, 31 Jul 2021 10:30:32 -0700 +Subject: [PATCH 07/10] example_parsing_ops: compatibility with protobuf-3.16 + +--- + tensorflow/core/kernels/example_parsing_ops.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/core/kernels/example_parsing_ops.cc b/tensorflow/core/kernels/example_parsing_ops.cc +index d0be01578d8..57ed19aeaae 100644 +--- a/tensorflow/core/kernels/example_parsing_ops.cc ++++ b/tensorflow/core/kernels/example_parsing_ops.cc +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKernel { + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + +-- +2.32.0 + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch new file mode 100644 index 00000000000..417b81073d6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.4.4_relax-required-versions.patch @@ -0,0 +1,46 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) +Update v2.4.4: Alex Domingo (Vrije Universiteit Brussel) + +--- tensorflow/tools/pip_package/setup.py.orig 2021-10-31 00:59:09.000000000 +0200 ++++ tensorflow/tools/pip_package/setup.py 2022-02-08 10:36:43.677543730 +0100 +@@ -77,18 +77,18 @@ + REQUIRED_PACKAGES = [ + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', +- 'flatbuffers ~= 1.12.0', +- 'google_pasta ~= 0.2', ++ 'flatbuffers >= 1.12.0', ++ 'google_pasta >= 0.2', + 'h5py ~= 2.10.0', + 'keras_preprocessing ~= 1.1.2', +- 'numpy ~= 1.19.2', +- 'opt_einsum ~= 3.3.0', ++ 'numpy >= 1.16.0', ++ 'opt_einsum >= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', +- 'termcolor ~= 1.1.0', +- 'typing_extensions ~= 3.7.4', +- 'wheel ~= 0.35', +- 'wrapt ~= 1.12.1', ++ 'six >= 1.12.0', ++ 'termcolor >= 1.1.0', ++ 'typing_extensions >= 3.7.4.2', ++ 'wheel >= 0.26', ++ 'wrapt >= 1.12.1', + # These packages needs to be pinned exactly as newer versions are + # incompatible with the rest of the ecosystem + 'gast == 0.3.3', +@@ -118,7 +118,7 @@ + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. + if sys.byteorder == 'little': +- REQUIRED_PACKAGES.append('grpcio ~= 1.32.0') ++ REQUIRED_PACKAGES.append('grpcio >= 1.32.0') + + + # Packages which are only needed for testing code. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb index 015fdb2f972..503325ea6d7 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-foss-2020b.eb @@ -16,6 +16,7 @@ builddependencies = [ ('git', '2.28.0', '-nodocs'), ('pybind11', '2.6.0'), ('pkgconfig', '1.5.1', '-python'), # For h5py + ('UnZip', '6.0'), ] dependencies = [ ('Python', '3.8.6'), @@ -85,6 +86,7 @@ exts_list = [ ('grpcio', '1.34.1', { 'modulename': 'grpc', 'checksums': ['1c746a3cd8a830d8d916a9d0476a786aaa98c5cc2a096344af2be955e439f8ac'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', @@ -159,6 +161,7 @@ exts_list = [ 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', ], 'checksums': [ '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz @@ -178,7 +181,9 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, ], 'test_script': 'TensorFlow-2.x_mnist-test.py', 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', @@ -202,6 +207,8 @@ exts_list = [ # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 '-//tensorflow/core/common_runtime:mkl_layout_pass_test', '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', ], 'testopts': "--test_timeout=3600 --test_size_filters=small", 'with_xla': True, diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..10c4b07d14d --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2019b-Python-3.7.4.eb @@ -0,0 +1,235 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.5.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.10.0'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.23.0', '-nodocs'), + ('pybind11', '2.4.3', versionsuffix), + ('UnZip', '6.0'), +] +dependencies = [ + ('cuDNN', '7.6.4.38'), + ('NCCL', '2.11.4'), + ('Python', '3.7.4'), + ('h5py', '2.10.0', versionsuffix), + ('cURL', '7.66.0'), + ('double-conversion', '3.1.4'), + ('flatbuffers', '1.12.0'), + ('giflib', '5.2.1'), + ('hwloc', '1.11.12'), + ('ICU', '64.2'), + ('JsonCpp', '1.9.3'), + ('libjpeg-turbo', '2.0.3'), + ('LMDB', '0.9.24'), + ('NASM', '2.14.02'), + ('nsync', '1.24.0'), + ('SQLite', '3.29.0'), + ('PCRE', '8.43'), + ('protobuf-python', '3.10.0', versionsuffix), + ('flatbuffers-python', '1.12', versionsuffix), + ('typing-extensions', '3.7.4.3', versionsuffix), + ('libpng', '1.6.37'), + ('snappy', '1.1.7'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.2', { + 'checksums': ['61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff'], + }), + ('google-auth', '1.30.0', { + 'modulename': 'google.auth', + 'checksums': ['9ad25fba07f46a628ad4d0ca09f38dcb262830df2ac95b217f9b0129c9e42206'], + }), + ('oauthlib', '3.1.0', { + 'checksums': ['bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('google-auth-oauthlib', '0.4.4', { + 'checksums': ['09832c6e75032f93818edf1affe4746121d640c625a5bef9b5c96af676e98eee'], + }), + ('Werkzeug', '2.0.0', { + 'checksums': ['3389bbfe6d40c6dd25e6d3f974155163c8b3de5bbda6a89342d4ab93fae80ba0'], + }), + ('absl-py', '0.12.0', { + 'modulename': 'absl', + 'checksums': ['b44f68984a5ceb2607d135a615999b93924c771238a63920d17d3387b0d229d5'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.34.1', { + 'modulename': 'grpc', + 'checksums': ['1c746a3cd8a830d8d916a9d0476a786aaa98c5cc2a096344af2be955e439f8ac'], + }), + ('gviz-api', '1.9.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['43d13ccc21834d0501b33a291ef3265e933dbb4bbdca3d34b1ed0a048c0ef640'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': SOURCE_PY3_WHL, # Requires Rust to build, take the dummy for now + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e'], + }), + ('tensorboard_plugin_wit', '1.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a'], + }), + ('tensorboard_plugin_profile', '2.4.0', { + 'checksums': ['dfbf254ee960440e3b2518324f876a6d6704c60b936887d99214fa36988a206a'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['d1fe76dee8b1dcab865d807a0246da0a9c4a635b1eba6e9545bf216c3aad6955'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['efb7f6cb65dba7087c1e111bb5390291ba3616741f96840bfc75792a1a9b5ded'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.3.1', { + 'checksums': ['d2cdc776873635ed421315c4d22e63280042456bbfa07397817e687b142b9667'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_fix-min-priority-test.patch', + 'TensorFlow-2.5.0_add-default-shell-env.patch', + 'TensorFlow-2.5.0_add-protobuf-deps.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0_downgrade-required-versions.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-CUDA10-build.patch', + 'TensorFlow-2.5.0_fix-cub-cuda-dep.patch', + 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', + ], + 'checksums': [ + '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_fix-min-priority-test.patch + '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', + # TensorFlow-2.5.0_add-default-shell-env.patch + '09b0c5d4ff04f56a9657875471ed78001d4201cac795aeff62019d582115b468', + # TensorFlow-2.5.0_add-protobuf-deps.patch + '2aa79b89cff13e81f83e385761917d5d6dbdffd6b0366d90580761b958f14363', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0_downgrade-required-versions.patch + '019f7bbf6604f581a8028a7c9caa9ce05dcc336523822177c4c5e76b9a99a95a', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-CUDA10-build.patch + 'f6b44c82855bd2892ca67b528076acdaa75d8b9158aa25d84c808d1ce4d89256', + # TensorFlow-2.5.0_fix-cub-cuda-dep.patch + '072887146b66af61aeab22cbd1561d69fba691d996d11b58529ba935a2f61593', + # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch + 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb index 5e6c23ac575..3ca12b1e635 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0-fosscuda-2020b.eb @@ -16,9 +16,10 @@ builddependencies = [ ('git', '2.28.0', '-nodocs'), ('pybind11', '2.6.0'), ('pkgconfig', '1.5.1', '-python'), # For h5py + ('UnZip', '6.0'), ] dependencies = [ - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('NCCL', '2.8.3', '-CUDA-%(cudaver)s'), ('Python', '3.8.6'), ('h5py', '3.1.0'), @@ -87,6 +88,7 @@ exts_list = [ ('grpcio', '1.34.1', { 'modulename': 'grpc', 'checksums': ['1c746a3cd8a830d8d916a9d0476a786aaa98c5cc2a096344af2be955e439f8ac'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", }), ('gviz-api', '1.9.0', { 'source_tmpl': 'gviz_api-%(version)s.tar.gz', @@ -163,7 +165,9 @@ exts_list = [ 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', ], 'checksums': [ '233875ea27fc357f6b714b2a0de5f6ff124b50c1ee9b3b41f9e726e9e677b86c', # v2.5.0.tar.gz @@ -186,9 +190,13 @@ exts_list = [ # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch - '6abfadc0f67ff3b510d70430843201cb46d7bd65db045ec9b482af70e0c8c0c8', + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, ], 'test_script': 'TensorFlow-2.x_mnist-test.py', 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', @@ -214,6 +222,8 @@ exts_list = [ # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 '-//tensorflow/core/common_runtime:mkl_layout_pass_test', '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', ], 'testopts': "--test_timeout=3600 --test_size_filters=small", 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_downgrade-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_downgrade-required-versions.patch new file mode 100644 index 00000000000..24bad756b03 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_downgrade-required-versions.patch @@ -0,0 +1,45 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 354657a7bfc..d4c880402f7 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -78,20 +78,20 @@ REQUIRED_PACKAGES = [ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.17.3', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', + 'flatbuffers ~= 1.12.0', + 'google_pasta ~= 0.2', +- 'h5py ~= 3.1.0', ++ 'h5py >= 2.10.0', + 'keras_preprocessing ~= 1.1.2', + 'opt_einsum ~= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', ++ 'six >= 1.12.0', + 'termcolor ~= 1.1.0', + 'typing_extensions ~= 3.7.4', +- 'wheel ~= 0.35', ++ 'wheel >= 0.33', + 'wrapt ~= 1.12.1', + # These packages need to be pinned exactly as newer versions are + # incompatible with the rest of the ecosystem +@@ -102,9 +102,6 @@ REQUIRED_PACKAGES = [ + # When updating these, please also update the nightly versions below + 'tensorboard ~= 2.5', + 'tensorflow-estimator >= 2.5.0rc0 , < 2.6.0', +- # TODO(scottzhu): OSS keras hasn't been formally released yet. +- # Use keras-nightly at the moment. +- 'keras-nightly ~= 2.5.0.dev', + ] + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-CUDA10-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-CUDA10-build.patch new file mode 100644 index 00000000000..b82cabaffbc --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-CUDA10-build.patch @@ -0,0 +1,21 @@ +Disable TF_CORD_SUPPORT for CUDA due to CUDA 10 compiler issues + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/platform/default/cord.h b/tensorflow/core/platform/default/cord.h +index 0dbdc051f4865..cdfab1e5da905 100644 +--- a/tensorflow/core/platform/default/cord.h ++++ b/tensorflow/core/platform/default/cord.h +@@ -16,7 +16,12 @@ limitations under the License. + #ifndef TENSORFLOW_CORE_PLATFORM_DEFAULT_CORD_H_ + #define TENSORFLOW_CORE_PLATFORM_DEFAULT_CORD_H_ + ++#if !defined(__CUDACC__) ++ ++// TODO(frankchn): Resolve compilation errors when building absl::Cord with CUDA + #include "absl/strings/cord.h" + #define TF_CORD_SUPPORT 1 + ++#endif // __CUDACC__ ++ + #endif // TENSORFLOW_CORE_PLATFORM_DEFAULT_CORD_H_ diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch index 5d80e47df8f..eaed0decf23 100644 --- a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch @@ -1,37 +1,42 @@ -The comment is not true, the function actually takes the arguments as it should -Hence just redefine the function +Fix compile error on ARM: +> ./tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h:132:58: error: cannot convert 'int32x2_t' to 'int8x8_t' -Author: Alexander Grund (TU Dresden) +From https://github.com/tensorflow/tensorflow/pull/53782 + +From 4463f25d1622d162f870ff685da20f2c6df5bc6a Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sat, 15 Jan 2022 21:06:27 +0100 +Subject: [PATCH] Fix casting in vdotq_four_lane_s32() in TFLite + +When building with GCC and dotprod ARM extension enabled, +vreinterpret_s32_s8() casts int8x8_t to int32x2_t. However, third +argument of vdotq_lane_s32() expects parameter of type int8x8_t. +--- + .../optimized/depthwiseconv_3x3_filter_common.h | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h b/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -index 916edd561ff..9c8025dac49 100644 +index 916edd561ff32..c519a81bc864d 100644 --- a/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h +++ b/tensorflow/lite/kernels/internal/optimized/depthwiseconv_3x3_filter_common.h -@@ -122,26 +122,7 @@ inline int32x4_t vpaddq_s32(int32x4_t a, int32x4_t b) { - #endif // !__aarch64__ - - #ifdef __ARM_FEATURE_DOTPROD --// The vdotq_lane_s32 takes int8x8t for the rhs parameter, whereas the actual --// instruction selects from between 4 32-bit (4x8-bit packed) sub-registers, an --// unusual interpretation of "lane". --inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs, -- int8x16_t rhs, const int lane) { -- switch (lane) { -- case 0: +@@ -129,16 +129,14 @@ inline int32x4_t vdotq_four_lane_s32(int32x4_t acc, int8x16_t lhs, + int8x16_t rhs, const int lane) { + switch (lane) { + case 0: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 0); -- case 1: ++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 0); + case 1: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_low_s8(rhs)), 1); -- case 2: ++ return vdotq_lane_s32(acc, lhs, vget_low_s8(rhs), 1); + case 2: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), - 0); -- case 3: -- default: ++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 0); + case 3: + default: - return vdotq_lane_s32(acc, lhs, vreinterpret_s32_s8(vget_high_s8(rhs)), - 1); -- } --} -- -+#define vdotq_four_lane_s32 vdotq_lane_s32 - #else ++ return vdotq_lane_s32(acc, lhs, vget_high_s8(rhs), 1); + } + } - inline int32x4_t vdotq_s32(int32x4_t acc, int8x16_t lhs, int8x16_t rhs) { diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch new file mode 100644 index 00000000000..74b1f28c0fc --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch @@ -0,0 +1,27 @@ +From 96eb826c8aec61b172e98f6ba5535206c1ac3023 Mon Sep 17 00:00:00 2001 +From: Peter Hawkins +Date: Fri, 7 May 2021 12:57:02 -0700 +Subject: [PATCH 09/10] Fix NCCL build failure with CUDA 11.3. + +PiperOrigin-RevId: 372612185 +Change-Id: Iaf7d777d586c907b27701a8ad3e5594b16b16a0f +--- + third_party/nccl/build_defs.bzl.tpl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/nccl/build_defs.bzl.tpl b/third_party/nccl/build_defs.bzl.tpl +index 4bf2dfcb719..fe163741f87 100644 +--- a/third_party/nccl/build_defs.bzl.tpl ++++ b/third_party/nccl/build_defs.bzl.tpl +@@ -207,7 +207,7 @@ def _prune_relocatable_code_impl(ctx): + mnemonic = "nvprune", + use_default_shell_env = True, + ) +- output.append(outputs) ++ outputs.append(output) + + return DefaultInfo(files = depset(outputs)) + +-- +2.32.0 + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch new file mode 100644 index 00000000000..83e6e07fc42 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch @@ -0,0 +1,54 @@ +From f87e2c2fb623e862fe2ae1616ec4164fa48d1446 Mon Sep 17 00:00:00 2001 +From: Jason Zaman +Date: Sat, 31 Jul 2021 10:30:32 -0700 +Subject: [PATCH 07/10] example_parsing_ops: compatibility with protobuf-3.16 + +--- + tensorflow/core/kernels/example_parsing_ops.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/core/kernels/example_parsing_ops.cc b/tensorflow/core/kernels/example_parsing_ops.cc +index d0be01578d8..57ed19aeaae 100644 +--- a/tensorflow/core/kernels/example_parsing_ops.cc ++++ b/tensorflow/core/kernels/example_parsing_ops.cc +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKernel { + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + +-- +2.32.0 + +From 2ea8d31a2a75de75f838b4650e1531c346dfa6fe Mon Sep 17 00:00:00 2001 +From: sclarkson +Date: Thu, 12 Aug 2021 03:23:28 -0700 +Subject: [PATCH 08/10] Fix protobuf errors when using system protobuf + +When tensorflow and python protobuf use the same instance of +libprotobuf, pywrap_tensorflow must be imported before anything +else that would import protobuf definitions. +--- + tensorflow/python/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tensorflow/python/__init__.py b/tensorflow/python/__init__.py +index 6efba380ca0..38d1eb55027 100644 +--- a/tensorflow/python/__init__.py ++++ b/tensorflow/python/__init__.py +@@ -37,8 +37,8 @@ import traceback + # go/tf-wildcard-import + # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top + +-from tensorflow.python.eager import context + from tensorflow.python import pywrap_tensorflow as _pywrap_tensorflow ++from tensorflow.python.eager import context + + # pylint: enable=wildcard-import + +-- +2.32.0 + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-crash-on-shutdown.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-crash-on-shutdown.patch new file mode 100644 index 00000000000..18021a240ab --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-crash-on-shutdown.patch @@ -0,0 +1,20 @@ +Releasing and reaquiring the GIL during Python shutdown is not possible and leads to force termination. +Remove that. +See https://github.com/tensorflow/tensorflow/issues/50853 + +Author: Alexander Grund + +diff --git a/tensorflow/python/client/tf_session_wrapper.cc b/tensorflow/python/client/tf_session_wrapper.cc +index 306381347c7..1208aa2ce61 100644 +--- a/tensorflow/python/client/tf_session_wrapper.cc ++++ b/tensorflow/python/client/tf_session_wrapper.cc +@@ -557,8 +557,7 @@ PYBIND11_MODULE(_pywrap_tf_session, m) { + + m.def("TF_NewGraph", TF_NewGraph, py::return_value_policy::reference, + py::call_guard()); +- m.def("TF_DeleteGraph", TF_DeleteGraph, +- py::call_guard()); ++ m.def("TF_DeleteGraph", TF_DeleteGraph); + + m.def("TF_GraphGetOpDef", + [](TF_Graph* graph, const char* op_name, TF_Buffer* output_op_def) { diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-cub-cuda-dep.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-cub-cuda-dep.patch new file mode 100644 index 00000000000..290b1f108d9 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix-cub-cuda-dep.patch @@ -0,0 +1,20 @@ +From ef1f781ae856fbdc7fc42da0284d61e7e5ed7713 Mon Sep 17 00:00:00 2001 +From: Nishidha Panpaliya +Date: Thu, 8 Apr 2021 01:22:21 -0500 +Subject: [PATCH] Fix cub BUILD file for local_config_cuda reference + +--- + third_party/cub.BUILD | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/third_party/cub.BUILD b/third_party/cub.BUILD +index 581d8dd9421ac..c446f0517d3da 100644 +--- a/third_party/cub.BUILD ++++ b/third_party/cub.BUILD +@@ -11,5 +11,5 @@ exports_files(["LICENSE.TXT"]) + cc_library( + name = "cub", + hdrs = glob(["cub/**"]), +- deps = ["@local_cuda//:cuda_headers"], ++ deps = ["@local_config_cuda//cuda:cuda_headers"], + ) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch new file mode 100644 index 00000000000..d05986a8eb2 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch @@ -0,0 +1,55 @@ +TF-2.5.0 and 2.6.0 are not compatible with numpy > 1.20 +During the testing phase, TensorFlow throws errors like this +"Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array. +This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported" +See https://github.com/tensorflow/tensorflow/pull/48935 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/python/framework/ops.py b/tensorflow/python/framework/ops.py +index 4e12a8a1d17..73afdd4ed8a 100644 +--- a/tensorflow/python/framework/ops.py ++++ b/tensorflow/python/framework/ops.py +@@ -864,7 +864,7 @@ class Tensor(internal.NativeObject, core_tf_types.Tensor): + __array_priority__ = 100 + + def __array__(self): +- raise NotImplementedError( ++ raise TypeError( + "Cannot convert a symbolic Tensor ({}) to a numpy array." + " This error may indicate that you're trying to pass a Tensor to" + " a NumPy call, which is not supported".format(self.name)) +diff --git a/tensorflow/python/framework/ops_test.py b/tensorflow/python/framework/ops_test.py +index c72b18e8df5..f69ec4a9ae2 100644 +--- a/tensorflow/python/framework/ops_test.py ++++ b/tensorflow/python/framework/ops_test.py +@@ -188,7 +188,7 @@ class TensorAndShapeTest(test_util.TensorFlowTestCase): + with ops.Graph().as_default(): + x = array_ops.ones((3, 4), name="test_ones") + +- with self.assertRaisesRegex(NotImplementedError, ++ with self.assertRaisesRegex(TypeError, + r"Cannot convert a symbolic.+test_ones"): + np.array(x) + +diff --git a/tensorflow/python/ops/array_ops.py b/tensorflow/python/ops/array_ops.py +index 77cebdad660..3c650d7808f 100644 +--- a/tensorflow/python/ops/array_ops.py ++++ b/tensorflow/python/ops/array_ops.py +@@ -36,6 +36,7 @@ from tensorflow.python.framework import tensor_util + from tensorflow.python.framework.constant_op import constant + from tensorflow.python.ops import gen_array_ops + from tensorflow.python.ops import gen_math_ops ++from tensorflow.python.ops import math_ops + # go/tf-wildcard-import + # pylint: disable=wildcard-import + from tensorflow.python.ops.gen_array_ops import * +@@ -2897,7 +2898,7 @@ def matrix_set_diag( + + def _constant_if_small(value, shape, dtype, name): + try: +- if np.prod(shape) < 1000: ++ if math_ops.reduce_prod(shape) < 1000: + return constant(value, shape=shape, dtype=dtype, name=name) + except (NotImplementedError, TypeError): + # Happens when shape is a Tensor, list with Tensor elements, etc. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_protobuf_error_message.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_protobuf_error_message.patch new file mode 100644 index 00000000000..addc55bd710 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.0_fix_protobuf_error_message.patch @@ -0,0 +1,30 @@ +Fix an issue where TensorFlow 2.5/2.6 won't build with a protobuf newer than 3.14 +Additionally, a TypeError ("expected tensorflow.TensorShapeProto got tensorflow.TensorShapeProto") +is fixed by inverting the import statements. +Solution/patch obtained from https://bugs.gentoo.org/800824 + +diff -Nrup tensorflow-2.5.0_old/tensorflow/core/kernels/example_parsing_ops.cc tensorflow-2.5.0/tensorflow/core/kernels/example_parsing_ops.cc +--- tensorflow-2.5.0_old/tensorflow/core/kernels/example_parsing_ops.cc 2021-05-12 15:26:41.000000000 +0200 ++++ tensorflow-2.5.0/tensorflow/core/kernels/example_parsing_ops.cc 2021-07-14 08:09:39.927536430 +0200 +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKer + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + +diff -Nrup tensorflow-2.5.0_old/tensorflow/python/__init__.py tensorflow-2.5.0/tensorflow/python/__init__.py +--- tensorflow-2.5.0_old/tensorflow/python/__init__.py 2021-05-12 15:26:41.000000000 +0200 ++++ tensorflow-2.5.0/tensorflow/python/__init__.py 2021-07-14 08:09:55.696294764 +0200 +@@ -37,8 +37,8 @@ import traceback + # go/tf-wildcard-import + # pylint: disable=wildcard-import,g-bad-import-order,g-import-not-at-top + +-from tensorflow.python.eager import context + from tensorflow.python import pywrap_tensorflow as _pywrap_tensorflow ++from tensorflow.python.eager import context + + # pylint: enable=wildcard-import + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..a476bb464a6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,248 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.5.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '2.0.2', { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d1fe76dee8b1dcab865d807a0246da0a9c4a635b1eba6e9545bf216c3aad6955'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('keras_nightly', '2.5.0.dev2021032900', { + 'modulename': 'keras', + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6ba70f738f4008222de7e7fdd5b2b18c48c49b897a9fca54c844854e25964011'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_fix-min-priority-test.patch', + 'TensorFlow-2.5.0_add-default-shell-env.patch', + 'TensorFlow-2.5.0_add-protobuf-deps.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', + 'TensorFlow-2.5.3_relax-required-versions.patch', + ], + 'checksums': [ + '58d69b7163f7624debc243750976d27fa7dddbc6fb7c5215aec94732bcc670e1', # v2.5.3.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_fix-min-priority-test.patch + '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', + # TensorFlow-2.5.0_add-default-shell-env.patch + '09b0c5d4ff04f56a9657875471ed78001d4201cac795aeff62019d582115b468', + # TensorFlow-2.5.0_add-protobuf-deps.patch + '2aa79b89cff13e81f83e385761917d5d6dbdffd6b0366d90580761b958f14363', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch + 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + # TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch + 'd1797d28985b22b86626390f9b4f90b0dda180276a0abecf162840cf3e127cab', + # TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch + 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, + # TensorFlow-2.5.3_relax-required-versions.patch + 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb new file mode 100644 index 00000000000..1f3e1cc7312 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3-foss-2021a.eb @@ -0,0 +1,231 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.5.3' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('PCRE', '8.44'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('cachetools', '4.2.4', { + 'checksums': ['89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('Werkzeug', '2.0.2', { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + ('absl-py', '0.15.0', { + 'modulename': 'absl', + 'checksums': ['72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.5.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['d1fe76dee8b1dcab865d807a0246da0a9c4a635b1eba6e9545bf216c3aad6955'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('keras_nightly', '2.5.0.dev2021032900', { + 'modulename': 'keras', + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['6ba70f738f4008222de7e7fdd5b2b18c48c49b897a9fca54c844854e25964011'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.4.1_fix-min-priority-test.patch', + 'TensorFlow-2.5.0_add-default-shell-env.patch', + 'TensorFlow-2.5.0_add-protobuf-deps.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch', + 'TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.3_fix-aarch64-build.patch', + 'TensorFlow-2.5.3_relax-required-versions.patch', + ], + 'checksums': [ + '58d69b7163f7624debc243750976d27fa7dddbc6fb7c5215aec94732bcc670e1', # v2.5.3.tar.gz + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.4.1_fix-min-priority-test.patch + '389febce9a0612fd457daf4cb18c02f77fc7311bacae0963602a3198d9f2737f', + # TensorFlow-2.5.0_add-default-shell-env.patch + '09b0c5d4ff04f56a9657875471ed78001d4201cac795aeff62019d582115b468', + # TensorFlow-2.5.0_add-protobuf-deps.patch + '2aa79b89cff13e81f83e385761917d5d6dbdffd6b0366d90580761b958f14363', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-alignment-in-matmul-test.patch + '6a4d6cbf45a622b8a2c3ea0b1c0171f01f595684d9c57d415bb39b1b27e1180f', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_fix-compatibility-with-protobuf-3.17.patch + 'd1797d28985b22b86626390f9b4f90b0dda180276a0abecf162840cf3e127cab', + # TensorFlow-2.5.0_fix-compatibility-with-CUDA-11.3.patch + 'e82db520e5e22f97c0dde2166f0d1a29e7ea828c2b4dfbc79dccc0d4cde5d95d', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + {'TensorFlow-2.5.3_fix-aarch64-build.patch': + '9bfd9a3586bb04c131c4d07a40b0ef5c2e7f474dc986449fc68817d927af0c6d'}, + # TensorFlow-2.5.3_relax-required-versions.patch + 'e108c3877cf4a0cadc179290ec2098683367688bbbbc7d6fa9a321eb7020443c', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_distributed_test', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch new file mode 100644 index 00000000000..c45e97f766f --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_fix-aarch64-build.patch @@ -0,0 +1,24 @@ +Without this tf_to_kernel fails to link on AARCH64 + +Picked from https://github.com/tensorflow/tensorflow/commit/4933ada8c2b4b523acc94baea2609f0cce70a083 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/platform/default/build_config.bzl b/tensorflow/core/platform/default/build_config.bzl +index d0dadd12108..bf6c631fdf6 100644 +--- a/tensorflow/core/platform/default/build_config.bzl ++++ b/tensorflow/core/platform/default/build_config.bzl +@@ -795,9 +795,10 @@ def tf_google_mobile_srcs_only_runtime(): + return [] + + def if_llvm_aarch64_available(then, otherwise = []): +- # TODO(b/...): The TF XLA build fails when adding a dependency on +- # @llvm/llvm-project/llvm:aarch64_target. +- return otherwise ++ return select({ ++ "//tensorflow:linux_aarch64": then, ++ "//conditions:default": otherwise, ++ }) + + def if_llvm_system_z_available(then, otherwise = []): + return select({ diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch new file mode 100644 index 00000000000..c42813bb0c8 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.5.3_relax-required-versions.patch @@ -0,0 +1,46 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) +Update v2.5.3: Alex Domingo (Vrije Universiteit Brussel) + +--- tensorflow/tools/pip_package/setup.py.orig 2022-01-30 16:39:47.000000000 +0100 ++++ tensorflow/tools/pip_package/setup.py 2022-02-09 11:45:10.595864349 +0100 +@@ -78,21 +78,21 @@ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.19.2', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', +- 'flatbuffers ~= 1.12.0', ++ 'flatbuffers >= 1.12.0', + 'google_pasta ~= 0.2', +- 'h5py ~= 3.1.0', ++ 'h5py >= 3.1.0', + 'keras_preprocessing ~= 1.1.2', + 'opt_einsum ~= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', ++ 'six >= 1.15.0', + 'termcolor ~= 1.1.0', +- 'typing_extensions ~= 3.7.4', ++ 'typing_extensions >= 3.7.4', + 'wheel ~= 0.35', +- 'wrapt ~= 1.12.1', ++ 'wrapt >= 1.12.1', + # These packages need to be pinned exactly as newer versions are + # incompatible with the rest of the ecosystem + 'gast == 0.4.0', +@@ -127,7 +127,7 @@ + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. + if sys.byteorder == 'little': +- REQUIRED_PACKAGES.append('grpcio ~= 1.34.0') ++ REQUIRED_PACKAGES.append('grpcio >= 1.34.0') + + + # Packages which are only needed for testing code. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..9bc60b3e2e6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,237 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.6.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('cuDNN', '8.2.1.32', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.2', { + 'checksums': ['61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('google-auth-oauthlib', '0.4.5', { + 'checksums': ['4ab58e6c3dc6ccf112f921fcced40e5426fba266768986ea502228488276eaba'], + }), + ('Werkzeug', '2.0.1', { + 'checksums': ['1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42'], + }), + ('absl-py', '0.13.0', { + 'modulename': 'absl', + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.39.0', { + 'modulename': 'grpc', + 'checksums': ['57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + }), + # Required for tensorboard_plugin_profile + ('gviz-api', '1.9.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['43d13ccc21834d0501b33a291ef3265e933dbb4bbdca3d34b1ed0a048c0ef640'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': SOURCE_PY3_WHL, # Requires Rust to build, take the dummy for now + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb'], + }), + ('tensorboard_plugin_wit', '1.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['cf78528998efdb637ac0abaf525c929bf192767544eb24ae20d9266effcf5afd'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('clang', '5.0', { + 'checksums': ['ceccae97eda0225a5b44d42ffd61102e248325c2865ca53e4407746464a5333a'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['efb7f6cb65dba7087c1e111bb5390291ba3616741f96840bfc75792a1a9b5ded'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.4.0', { + 'checksums': ['c2831ff4328a21e928ffc9e52124bcafacaf5816d38a1a72dc329680dc1bb7ba'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['504af5656a9829fe803ce48a8580ef16916e89906aceddad9e098614269437e7'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.0_fix_protobuf_error_message.patch', + 'TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.6.0_add-default-shell-env.patch', + 'TensorFlow-2.6.0_downgrade-required-versions.patch', + ], + 'checksums': [ + '41b32eeaddcbc02b0583660bcf508469550e4cd0f86b22d2abe72dfebeacde0f', # v2.5.0.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + # TensorFlow-2.5.0_fix_protobuf_error_message.patch + '4ca80aac8f7394f4c83af5e8b237f6264dde3d55d10bf0dcb93e49ee5e1c5697', + # TensorFlow-2.5.0_remove-duplicate-gpu-tests.patch + 'b940d438e036faac24453bff2cf1834c5e1359e87e84d1f1999fa7a30b278fec', + # TensorFlow-2.6.0_add-default-shell-env.patch + '8cc54ff4bc8e5fc8edd3a5e41ad338532e16db5c64a941cc45e1011d4b40dba7', + # TensorFlow-2.6.0_downgrade-required-versions.patch + 'e941df7025d39a6b57f508779775cf896691c34abe61d5f2eba9b891ef20d51a', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Flaky, potentially using to much device space + '-//tensorflow/c/experimental/gradients:custom_gradient_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb new file mode 100644 index 00000000000..2a4c68371cf --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0-foss-2021a.eb @@ -0,0 +1,216 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.6.0' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.32.0', '-nodocs'), + ('pybind11', '2.6.2'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.5'), + ('h5py', '3.2.1'), + ('cURL', '7.76.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.4.1'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.28'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.35.4'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('typing-extensions', '3.10.0.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.8'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('Markdown', '3.3.4', { + 'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.7.2', { + 'checksums': ['9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9'], + }), + ('cachetools', '4.2.2', { + 'checksums': ['61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff'], + }), + ('google-auth', '1.35.0', { + 'modulename': 'google.auth', + 'checksums': ['b7033be9028c188ee30200b204ea00ed82ea1162e8ac1df4aa6ded19a191d88e'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('google-auth-oauthlib', '0.4.5', { + 'checksums': ['4ab58e6c3dc6ccf112f921fcced40e5426fba266768986ea502228488276eaba'], + }), + ('Werkzeug', '2.0.1', { + 'checksums': ['1de1db30d010ff1af14a009224ec49ab2329ad2cde454c8a708130642d579c42'], + }), + ('absl-py', '0.13.0', { + 'modulename': 'absl', + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('grpcio', '1.39.0', { + 'modulename': 'grpc', + 'checksums': ['57974361a459d6fe04c9ae0af1845974606612249f467bbd2062d963cb90f407'], + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + }), + # Required for tensorboard_plugin_profile + ('gviz-api', '1.9.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['43d13ccc21834d0501b33a291ef3265e933dbb4bbdca3d34b1ed0a048c0ef640'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': SOURCE_PY3_WHL, # Requires Rust to build, take the dummy for now + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb'], + }), + ('tensorboard_plugin_wit', '1.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['cf78528998efdb637ac0abaf525c929bf192767544eb24ae20d9266effcf5afd'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('clang', '5.0', { + 'checksums': ['ceccae97eda0225a5b44d42ffd61102e248325c2865ca53e4407746464a5333a'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('wrapt', '1.12.1', { + 'checksums': ['b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('dill', '0.3.3', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['efb7f6cb65dba7087c1e111bb5390291ba3616741f96840bfc75792a1a9b5ded'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.4.0', { + 'checksums': ['c2831ff4328a21e928ffc9e52124bcafacaf5816d38a1a72dc329680dc1bb7ba'], + }), + ('keras', version, { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['504af5656a9829fe803ce48a8580ef16916e89906aceddad9e098614269437e7'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch', + 'TensorFlow-2.5.0_fix_protobuf_error_message.patch', + 'TensorFlow-2.6.0_add-default-shell-env.patch', + 'TensorFlow-2.6.0_downgrade-required-versions.patch', + ], + 'checksums': [ + '41b32eeaddcbc02b0583660bcf508469550e4cd0f86b22d2abe72dfebeacde0f', # v2.5.0.tar.gz + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.5.0_fix_numpy_1.20_compatibility.patch + '4c32aba417e6ecb2642d5828b4ac618f1e4395f6c217cd621fa08a74433faa55', + # TensorFlow-2.5.0_fix_protobuf_error_message.patch + '4ca80aac8f7394f4c83af5e8b237f6264dde3d55d10bf0dcb93e49ee5e1c5697', + # TensorFlow-2.6.0_add-default-shell-env.patch + '8cc54ff4bc8e5fc8edd3a5e41ad338532e16db5c64a941cc45e1011d4b40dba7', + # TensorFlow-2.6.0_downgrade-required-versions.patch + 'e941df7025d39a6b57f508779775cf896691c34abe61d5f2eba9b891ef20d51a', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_distributed_test', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_add-default-shell-env.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_add-default-shell-env.patch new file mode 100644 index 00000000000..b80d92f0210 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_add-default-shell-env.patch @@ -0,0 +1,98 @@ +Make TensorFlow use the environment as set by EasyBuild + +From https://github.com/tensorflow/tensorflow/pull/44549 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/kernels/mlir_generated/build_defs.bzl b/tensorflow/core/kernels/mlir_generated/build_defs.bzl +index a6a136b8e38..e614b20bb02 100644 +--- a/tensorflow/core/kernels/mlir_generated/build_defs.bzl ++++ b/tensorflow/core/kernels/mlir_generated/build_defs.bzl +@@ -68,6 +68,7 @@ def _gen_mlir_op_impl(ctx): + ctx.outputs.out.path, + ) + ), ++ use_default_shell_env = True, + ) + + _gen_mlir_op_rule = rule( +@@ -157,6 +158,7 @@ def _gen_kernel_bin_impl(ctx): + "--enable_ftz=%s" % (ctx.attr.data_type == "f32"), + "--cpu_codegen=%s" % ctx.attr.cpu_codegen, + ], ++ use_default_shell_env = True, + mnemonic = "compile", + ) + compilation_outputs = cc_common.create_compilation_outputs( +diff --git a/third_party/flatbuffers/build_defs.bzl b/third_party/flatbuffers/build_defs.bzl +index d409f836cb0..754db3f5d86 100644 +--- a/third_party/flatbuffers/build_defs.bzl ++++ b/third_party/flatbuffers/build_defs.bzl +@@ -394,6 +394,7 @@ def _concat_flatbuffer_py_srcs_impl(ctx): + ctx.attr.deps[0].files.to_list()[0].path, + ctx.outputs.out.path, + ), ++ use_default_shell_env = True, + ) + + _concat_flatbuffer_py_srcs = rule( +diff --git a/third_party/mlir/tblgen.bzl b/third_party/mlir/tblgen.bzl +index 37577ed31ef..448284daefe 100644 +--- a/third_party/mlir/tblgen.bzl ++++ b/third_party/mlir/tblgen.bzl +@@ -154,6 +154,7 @@ def _gentbl_rule_impl(ctx): + executable = ctx.executable.tblgen, + arguments = [args], + mnemonic = "TdGenerate", # Kythe extractor hook. ++ use_default_shell_env = True, + ) + + return [DefaultInfo()] +diff --git a/third_party/nccl/build_defs.bzl.tpl b/third_party/nccl/build_defs.bzl.tpl +index c8757174038..fe163741f87 100644 +--- a/third_party/nccl/build_defs.bzl.tpl ++++ b/third_party/nccl/build_defs.bzl.tpl +@@ -100,6 +100,7 @@ def _device_link_impl(ctx): + "--output-file=%s" % cubin.path, + ] + [file.path for file in inputs], + mnemonic = "nvlink", ++ use_default_shell_env = True, + ) + cubins.append(cubin) + images.append("--image=profile=%s,file=%s" % (arch, cubin.path)) +@@ -125,6 +126,7 @@ def _device_link_impl(ctx): + arguments = arguments_list + images, + tools = [bin2c], + mnemonic = "fatbinary", ++ use_default_shell_env = True, + ) + + # Generate the source file #including the headers generated above. +@@ -203,6 +205,7 @@ def _prune_relocatable_code_impl(ctx): + executable = ctx.file._nvprune, + arguments = arguments, + mnemonic = "nvprune", ++ use_default_shell_env = True, + ) + outputs.append(output) + +@@ -236,6 +239,7 @@ def _merge_archive_impl(ctx): + inputs = ctx.files.srcs, # + ctx.files._crosstool, + outputs = [ctx.outputs.out], + command = "echo -e \"%s\" | %s -M" % (mri_script, cc_toolchain.ar_executable), ++ use_default_shell_env = True, + ) + + _merge_archive = rule( +diff --git a/third_party/systemlibs/grpc.bazel.generate_cc.bzl b/third_party/systemlibs/grpc.bazel.generate_cc.bzl +index 1534e526fd1..cd7304a9515 100644 +--- a/third_party/systemlibs/grpc.bazel.generate_cc.bzl ++++ b/third_party/systemlibs/grpc.bazel.generate_cc.bzl +@@ -140,6 +140,7 @@ def generate_cc_impl(ctx): + outputs = out_files, + executable = ctx.executable._protoc, + arguments = arguments, ++ use_default_shell_env = True, + ) + + return struct(files = depset(out_files)) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_downgrade-required-versions.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_downgrade-required-versions.patch new file mode 100644 index 00000000000..15ec3859882 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.6.0_downgrade-required-versions.patch @@ -0,0 +1,36 @@ +TF introduced a change pinning versions to fixed major.minor or even patch versions +Loosen those a bit so we can build it with our versions. +See https://github.com/tensorflow/tensorflow/issues/44654 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index 3d4a64de2b4..b89d077a150 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -78,20 +78,20 @@ REQUIRED_PACKAGES = [ + # NOTE: As numpy has releases that break semver guarantees and several other + # deps depend on numpy without an upper bound, we must install numpy before + # everything else. +- 'numpy ~= 1.19.2', ++ 'numpy >= 1.19.2', + # Install other dependencies + 'absl-py ~= 0.10', + 'astunparse ~= 1.6.3', + 'clang ~= 5.0', +- 'flatbuffers ~= 1.12.0', ++ 'flatbuffers >= 1.12.0', + 'google_pasta ~= 0.2', +- 'h5py ~= 3.1.0', ++ 'h5py ~= 3.1', + 'keras_preprocessing ~= 1.1.2', + 'opt_einsum ~= 3.3.0', + 'protobuf >= 3.9.2', +- 'six ~= 1.15.0', ++ 'six >= 1.15.0', + 'termcolor ~= 1.1.0', +- 'typing_extensions ~= 3.7.4', ++ 'typing_extensions >= 3.7.4', + 'wheel ~= 0.35', + 'wrapt ~= 1.12.1', + # These packages need to be pinned exactly as newer versions are diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..5c467fb70e6 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,248 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.7.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.33.1', '-nodocs'), + ('pybind11', '2.7.1'), + ('UnZip', '6.0'), +] +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('cURL', '7.78.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.5.0'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.36'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), + ('networkx', '2.6.3'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + # gast deps beniget and pythran require different version from Scipy-bundle + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['325b5a224864379242b7b76c6987ca544239be82579d33e68ec7c2bda57abc9d'], + }), + ('Werkzeug', '2.0.3', { + 'checksums': ['b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.3.6', { + 'checksums': ['76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.0.0', { + 'checksums': ['486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6'], + }), + ('google-auth', '2.6.0', { + 'modulename': 'google.auth', + 'checksums': ['ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('tensorboard', '2.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['0c33ae1f728064ca0d35dfba999e9c316f03623bf5688c82fb83cc74a80ea248'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('absl-py', '0.13.0', { + 'modulename': 'absl', + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_protobuf_error_message.patch', + 'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.7.1_remove-io-gcs-dependency.patch', + 'TensorFlow-2.7.1_remove-libclang-dependency.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch', + 'TensorFlow-2.7.1_fix-PPC-JIT.patch', + ], + 'checksums': [ + 'abebe2cf5ca379e18071693ca5f45b88ade941b16258a21cc1f12d77d5387a21', # v2.7.1.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.7.1_fix_protobuf_error_message.patch + '301ce21845987dc7868624880c0d85e60aa5491c5a0bae0f6ebc8db5727960a5', + # TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch + 'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483', + # TensorFlow-2.7.1_remove-io-gcs-dependency.patch + '01c439749938f9fc23fe8de17592460aa46e201575a3f9465bfb6b39ca50ef20', + # TensorFlow-2.7.1_remove-libclang-dependency.patc + 'd202058c0e8a7cdef3157fe12327e23c7291ce2724a15653df0aae3b40c4dadc', + # TensorFlow-2.7.1_fix_cpu_count.patch + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698', + # TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch + 'ab647e80af52950c733d084ef9ec4b49780ab20a413476374cf41e25bd20af83', + # TensorFlow-2.7.1_fix-PPC-JIT.patch + 'f0652557e760fdc2b39313a24d6236e7c3984cabc3353e0d867e275ff90a13fe', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + # All tests in this directory fail with segfault (TensorFlow Graph IR) + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717 + '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb new file mode 100644 index 00000000000..7662b34846b --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1-foss-2021b.eb @@ -0,0 +1,244 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.7.1' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '3.7.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.33.1', '-nodocs'), + ('pybind11', '2.7.1'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('cURL', '7.78.0'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.5.0'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.36'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), + ('networkx', '2.6.3'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + # gast deps beniget and pythran require different version from Scipy-bundle + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + ('wrapt', '1.13.3', { + 'checksums': ['1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow_estimator', '2.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['325b5a224864379242b7b76c6987ca544239be82579d33e68ec7c2bda57abc9d'], + }), + ('Werkzeug', '2.0.3', { + 'checksums': ['b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.3.6', { + 'checksums': ['76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.0.0', { + 'checksums': ['486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6'], + }), + ('google-auth', '2.6.0', { + 'modulename': 'google.auth', + 'checksums': ['ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('tensorboard', '2.8.0', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), + ('opt_einsum', '3.3.0', { + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras_Preprocessing', '1.1.2', { + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.7.0', { + 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', + 'checksums': ['0c33ae1f728064ca0d35dfba999e9c316f03623bf5688c82fb83cc74a80ea248'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard_plugin_profile', '2.5.0', { + 'checksums': ['f832698d87a773b9a017fc4dd5cf598a1ff942ccfbf3392c83fe12c949ab9f52'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + ('dill', '0.3.4', { + 'source_tmpl': '%(name)s-%(version)s.zip', + 'checksums': ['9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.0', { + 'checksums': ['e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228'], + }), + ('absl-py', '0.13.0', { + 'modulename': 'absl', + 'checksums': ['6953272383486044699fd0e9f00aad167a27e08ce19aae66c6c4b10e7e767793'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_protobuf_error_message.patch', + 'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.7.1_remove-io-gcs-dependency.patch', + 'TensorFlow-2.7.1_remove-libclang-dependency.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch', + 'TensorFlow-2.7.1_fix-PPC-JIT.patch', + ], + 'checksums': [ + 'abebe2cf5ca379e18071693ca5f45b88ade941b16258a21cc1f12d77d5387a21', # v2.7.1.tar.gz + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a', # TensorFlow-2.1.0_fix-cuda-build.patch + '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3', # TensorFlow-2.4.0_add-ldl.patch + # TensorFlow-2.4.0_dont-use-var-lock.patch + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5', + # TensorFlow-2.5.0_add-support-for-large-core-systems.patch + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636', + # TensorFlow-2.5.0_disable-avx512-extensions.patch + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03', + # TensorFlow-2.5.0-fix-alias-violation-in-absl.patch + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75', + # TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029', + # TensorFlow-2.5.0_fix-crash-on-shutdown.patch + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd', + # TensorFlow-2.7.1_fix_protobuf_error_message.patch + '301ce21845987dc7868624880c0d85e60aa5491c5a0bae0f6ebc8db5727960a5', + # TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch + 'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483', + # TensorFlow-2.7.1_remove-io-gcs-dependency.patch + '01c439749938f9fc23fe8de17592460aa46e201575a3f9465bfb6b39ca50ef20', + # TensorFlow-2.7.1_remove-libclang-dependency.patc + 'd202058c0e8a7cdef3157fe12327e23c7291ce2724a15653df0aae3b40c4dadc', + # TensorFlow-2.7.1_fix_cpu_count.patch + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698', + # TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch + 'ab647e80af52950c733d084ef9ec4b49780ab20a413476374cf41e25bd20af83', + # TensorFlow-2.7.1_fix-PPC-JIT.patch + 'f0652557e760fdc2b39313a24d6236e7c3984cabc3353e0d867e275ff90a13fe', + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + # All tests in this directory fail with segfault (TensorFlow Graph IR) + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717 + '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch new file mode 100644 index 00000000000..8cb101abb16 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-Eigen-GEMM.patch @@ -0,0 +1,3179 @@ +Eigen (dependency of TF) has a bug multiplying matrices on POWER. +This results in failures in e.g. //tensorflow/python/kernel_tests:lu_op_test + +Fix this by using the changeset from https://gitlab.com/libeigen/eigen/-/merge_requests/680 as a patch. +And the TF patch required after that from https://github.com/tensorflow/tensorflow/pull/52940 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/eigen3/fix-ppc-gemm.patch b/third_party/eigen3/fix-ppc-gemm.patch +new file mode 100644 +index 00000000000..a7b3e887178 +--- /dev/null ++++ b/third_party/eigen3/fix-ppc-gemm.patch +@@ -0,0 +1,3083 @@ ++commit 365a40f85eb6755752930e1dca8f160611be5e28 ++Author: Chip Kerchner ++Date: Thu Oct 28 21:59:41 2021 +0000 ++ ++ Invert rows and depth in non-vectorized portion of packing (PowerPC). ++ ++diff --git a/Eigen/src/Core/arch/AltiVec/Complex.h b/Eigen/src/Core/arch/AltiVec/Complex.h ++index b603dff4e..965f4911a 100644 ++--- a/Eigen/src/Core/arch/AltiVec/Complex.h +++++ b/Eigen/src/Core/arch/AltiVec/Complex.h ++@@ -127,20 +127,20 @@ template<> EIGEN_STRONG_INLINE Packet2cf ploaddup(const std::complex< ++ template<> EIGEN_STRONG_INLINE void pstore >(std::complex * to, const Packet2cf& from) { pstore((float*)to, from.v); } ++ template<> EIGEN_STRONG_INLINE void pstoreu >(std::complex * to, const Packet2cf& from) { pstoreu((float*)to, from.v); } ++ ++-EIGEN_STRONG_INLINE Packet2cf pload2(const std::complex* from0, const std::complex* from1) +++EIGEN_STRONG_INLINE Packet2cf pload2(const std::complex& from0, const std::complex& from1) ++ { ++ Packet4f res0, res1; ++ #ifdef __VSX__ ++- __asm__ ("lxsdx %x0,%y1" : "=wa" (res0) : "Z" (*from0)); ++- __asm__ ("lxsdx %x0,%y1" : "=wa" (res1) : "Z" (*from1)); +++ __asm__ ("lxsdx %x0,%y1" : "=wa" (res0) : "Z" (from0)); +++ __asm__ ("lxsdx %x0,%y1" : "=wa" (res1) : "Z" (from1)); ++ #ifdef _BIG_ENDIAN ++ __asm__ ("xxpermdi %x0, %x1, %x2, 0" : "=wa" (res0) : "wa" (res0), "wa" (res1)); ++ #else ++ __asm__ ("xxpermdi %x0, %x2, %x1, 0" : "=wa" (res0) : "wa" (res0), "wa" (res1)); ++ #endif ++ #else ++- *reinterpret_cast *>(&res0) = *from0; ++- *reinterpret_cast *>(&res1) = *from1; +++ *reinterpret_cast *>(&res0) = from0; +++ *reinterpret_cast *>(&res1) = from1; ++ res0 = vec_perm(res0, res1, p16uc_TRANSPOSE64_HI); ++ #endif ++ return Packet2cf(res0); ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++index 3f79b97df..8feb88ea7 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProduct.h ++@@ -164,24 +164,23 @@ EIGEN_STRONG_INLINE void symm_pack_complex_rhs_helper(std::complex* bloc ++ ++ rir += vectorDelta; ++ } ++- if (j < cols) +++ +++ for(; j < cols; j++) ++ { ++- rii = rir + ((cols - j) * rows); +++ rii = rir + rows; ++ ++ for(Index i = k2; i < depth; i++) ++ { ++- Index k = j; ++- for(; k < cols; k++) ++- { ++- std::complex v = getAdjointVal(i, k, rhs); +++ std::complex v = getAdjointVal(i, j, rhs); ++ ++- blockBf[rir] = v.real(); ++- blockBf[rii] = v.imag(); +++ blockBf[rir] = v.real(); +++ blockBf[rii] = v.imag(); ++ ++- rir += 1; ++- rii += 1; ++- } +++ rir += 1; +++ rii += 1; ++ } +++ +++ rir += rows; ++ } ++ } ++ ++@@ -260,19 +259,15 @@ EIGEN_STRONG_INLINE void symm_pack_rhs_helper(Scalar* blockB, const Scalar* _rhs ++ } ++ } ++ ++- if (j < cols) +++ for(; j < cols; j++) ++ { ++ for(Index i = k2; i < depth; i++) ++ { ++- Index k = j; ++- for(; k < cols; k++) ++- { ++- if(k <= i) ++- blockB[ri] = rhs(i, k); ++- else ++- blockB[ri] = rhs(k, i); ++- ri += 1; ++- } +++ if(j <= i) +++ blockB[ri] = rhs(i, j); +++ else +++ blockB[ri] = rhs(j, i); +++ ri += 1; ++ } ++ } ++ } ++@@ -406,22 +401,18 @@ struct symm_pack_lhs ++ * and offset and behaves accordingly. ++ **/ ++ ++-template ++-EIGEN_ALWAYS_INLINE void storeBlock(Scalar* to, PacketBlock& block) ++-{ ++- const Index size = 16 / sizeof(Scalar); ++- pstore(to + (0 * size), block.packet[0]); ++- pstore(to + (1 * size), block.packet[1]); ++- pstore(to + (2 * size), block.packet[2]); ++- pstore(to + (3 * size), block.packet[3]); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void storeBlock(Scalar* to, PacketBlock& block) +++template +++EIGEN_ALWAYS_INLINE void storeBlock(Scalar* to, PacketBlock& block) ++ { ++ const Index size = 16 / sizeof(Scalar); ++ pstore(to + (0 * size), block.packet[0]); ++ pstore(to + (1 * size), block.packet[1]); +++ if (N > 2) { +++ pstore(to + (2 * size), block.packet[2]); +++ } +++ if (N > 3) { +++ pstore(to + (3 * size), block.packet[3]); +++ } ++ } ++ ++ // General template for lhs & rhs complex packing. ++@@ -447,9 +438,9 @@ struct dhs_cpack { ++ PacketBlock cblock; ++ ++ if (UseLhs) { ++- bload(cblock, lhs, j, i); +++ bload(cblock, lhs, j, i); ++ } else { ++- bload(cblock, lhs, i, j); +++ bload(cblock, lhs, i, j); ++ } ++ ++ blockr.packet[0] = vec_perm(cblock.packet[0].v, cblock.packet[4].v, p16uc_GETREAL32); ++@@ -476,8 +467,8 @@ struct dhs_cpack { ++ ptranspose(blocki); ++ } ++ ++- storeBlock(blockAt + rir, blockr); ++- storeBlock(blockAt + rii, blocki); +++ storeBlock(blockAt + rir, blockr); +++ storeBlock(blockAt + rii, blocki); ++ ++ rir += 4*vectorSize; ++ rii += 4*vectorSize; ++@@ -497,21 +488,12 @@ struct dhs_cpack { ++ cblock.packet[1] = lhs.template loadPacket(i, j + 2); ++ } ++ } else { ++- std::complex lhs0, lhs1; ++ if (UseLhs) { ++- lhs0 = lhs(j + 0, i); ++- lhs1 = lhs(j + 1, i); ++- cblock.packet[0] = pload2(&lhs0, &lhs1); ++- lhs0 = lhs(j + 2, i); ++- lhs1 = lhs(j + 3, i); ++- cblock.packet[1] = pload2(&lhs0, &lhs1); +++ cblock.packet[0] = pload2(lhs(j + 0, i), lhs(j + 1, i)); +++ cblock.packet[1] = pload2(lhs(j + 2, i), lhs(j + 3, i)); ++ } else { ++- lhs0 = lhs(i, j + 0); ++- lhs1 = lhs(i, j + 1); ++- cblock.packet[0] = pload2(&lhs0, &lhs1); ++- lhs0 = lhs(i, j + 2); ++- lhs1 = lhs(i, j + 3); ++- cblock.packet[1] = pload2(&lhs0, &lhs1); +++ cblock.packet[0] = pload2(lhs(i, j + 0), lhs(i, j + 1)); +++ cblock.packet[1] = pload2(lhs(i, j + 2), lhs(i, j + 3)); ++ } ++ } ++ ++@@ -533,34 +515,50 @@ struct dhs_cpack { ++ rir += ((PanelMode) ? (vectorSize*(2*stride - depth)) : vectorDelta); ++ } ++ ++- if (j < rows) +++ if (!UseLhs) ++ { ++- if(PanelMode) rir += (offset*(rows - j - vectorSize)); ++- rii = rir + (((PanelMode) ? stride : depth) * (rows - j)); +++ if(PanelMode) rir -= (offset*(vectorSize - 1)); ++ ++- for(Index i = 0; i < depth; i++) +++ for(; j < rows; j++) ++ { ++- Index k = j; ++- for(; k < rows; k++) +++ rii = rir + ((PanelMode) ? stride : depth); +++ +++ for(Index i = 0; i < depth; i++) ++ { ++- if (UseLhs) { +++ blockAt[rir] = lhs(i, j).real(); +++ +++ if(Conjugate) +++ blockAt[rii] = -lhs(i, j).imag(); +++ else +++ blockAt[rii] = lhs(i, j).imag(); +++ +++ rir += 1; +++ rii += 1; +++ } +++ +++ rir += ((PanelMode) ? (2*stride - depth) : depth); +++ } +++ } else { +++ if (j < rows) +++ { +++ if(PanelMode) rir += (offset*(rows - j - vectorSize)); +++ rii = rir + (((PanelMode) ? stride : depth) * (rows - j)); +++ +++ for(Index i = 0; i < depth; i++) +++ { +++ Index k = j; +++ for(; k < rows; k++) +++ { ++ blockAt[rir] = lhs(k, i).real(); ++ ++ if(Conjugate) ++ blockAt[rii] = -lhs(k, i).imag(); ++ else ++ blockAt[rii] = lhs(k, i).imag(); ++- } else { ++- blockAt[rir] = lhs(i, k).real(); ++ ++- if(Conjugate) ++- blockAt[rii] = -lhs(i, k).imag(); ++- else ++- blockAt[rii] = lhs(i, k).imag(); +++ rir += 1; +++ rii += 1; ++ } ++- ++- rir += 1; ++- rii += 1; ++ } ++ } ++ } ++@@ -586,16 +584,16 @@ struct dhs_pack{ ++ PacketBlock block; ++ ++ if (UseLhs) { ++- bload(block, lhs, j, i); +++ bload(block, lhs, j, i); ++ } else { ++- bload(block, lhs, i, j); +++ bload(block, lhs, i, j); ++ } ++ if(((StorageOrder == RowMajor) && UseLhs) || ((StorageOrder == ColMajor) && !UseLhs)) ++ { ++ ptranspose(block); ++ } ++ ++- storeBlock(blockA + ri, block); +++ storeBlock(blockA + ri, block); ++ ++ ri += 4*vectorSize; ++ } ++@@ -630,21 +628,33 @@ struct dhs_pack{ ++ if(PanelMode) ri += vectorSize*(stride - offset - depth); ++ } ++ ++- if (j < rows) +++ if (!UseLhs) ++ { ++- if(PanelMode) ri += offset*(rows - j); +++ if(PanelMode) ri += offset; ++ ++- for(Index i = 0; i < depth; i++) +++ for(; j < rows; j++) ++ { ++- Index k = j; ++- for(; k < rows; k++) +++ for(Index i = 0; i < depth; i++) ++ { ++- if (UseLhs) { +++ blockA[ri] = lhs(i, j); +++ ri += 1; +++ } +++ +++ if(PanelMode) ri += stride - depth; +++ } +++ } else { +++ if (j < rows) +++ { +++ if(PanelMode) ri += offset*(rows - j); +++ +++ for(Index i = 0; i < depth; i++) +++ { +++ Index k = j; +++ for(; k < rows; k++) +++ { ++ blockA[ri] = lhs(k, i); ++- } else { ++- blockA[ri] = lhs(i, k); +++ ri += 1; ++ } ++- ri += 1; ++ } ++ } ++ } ++@@ -680,7 +690,7 @@ struct dhs_pack(j, i + 1); ++ } ++ ++- storeBlock(blockA + ri, block); +++ storeBlock(blockA + ri, block); ++ ++ ri += 2*vectorSize; ++ } ++@@ -757,7 +767,7 @@ struct dhs_pack(i + 1, j + 0); //[b1 b2] ++ block.packet[3] = rhs.template loadPacket(i + 1, j + 2); //[b3 b4] ++ ++- storeBlock(blockB + ri, block); +++ storeBlock(blockB + ri, block); ++ } ++ ++ ri += 4*vectorSize; ++@@ -788,19 +798,17 @@ struct dhs_pack(blockAt + rir, blockr); ++- storeBlock(blockAt + rii, blocki); +++ storeBlock(blockAt + rir, blockr); +++ storeBlock(blockAt + rii, blocki); ++ ++ rir += 2*vectorSize; ++ rii += 2*vectorSize; ++@@ -941,7 +949,7 @@ struct dhs_cpack cblock; ++ PacketBlock blockr, blocki; ++ ++- bload(cblock, rhs, i, j); +++ bload(cblock, rhs, i, j); ++ ++ blockr.packet[0] = vec_perm(cblock.packet[0].v, cblock.packet[1].v, p16uc_GETREAL64); ++ blockr.packet[1] = vec_perm(cblock.packet[2].v, cblock.packet[3].v, p16uc_GETREAL64); ++@@ -955,8 +963,8 @@ struct dhs_cpack(blockBt + rir, blockr); ++- storeBlock(blockBt + rii, blocki); +++ storeBlock(blockBt + rir, blockr); +++ storeBlock(blockBt + rii, blocki); ++ ++ rir += 2*vectorSize; ++ rii += 2*vectorSize; ++@@ -965,27 +973,26 @@ struct dhs_cpack ++-EIGEN_ALWAYS_INLINE void pger_common(PacketBlock* acc, const Packet& lhsV, const Packet* rhsV) ++-{ ++- if(NegativeAccumulate) ++- { ++- acc->packet[0] = vec_nmsub(lhsV, rhsV[0], acc->packet[0]); ++- acc->packet[1] = vec_nmsub(lhsV, rhsV[1], acc->packet[1]); ++- acc->packet[2] = vec_nmsub(lhsV, rhsV[2], acc->packet[2]); ++- acc->packet[3] = vec_nmsub(lhsV, rhsV[3], acc->packet[3]); ++- } else { ++- acc->packet[0] = vec_madd(lhsV, rhsV[0], acc->packet[0]); ++- acc->packet[1] = vec_madd(lhsV, rhsV[1], acc->packet[1]); ++- acc->packet[2] = vec_madd(lhsV, rhsV[2], acc->packet[2]); ++- acc->packet[3] = vec_madd(lhsV, rhsV[3], acc->packet[3]); ++- } ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void pger_common(PacketBlock* acc, const Packet& lhsV, const Packet* rhsV) +++template +++EIGEN_ALWAYS_INLINE void pger_common(PacketBlock* acc, const Packet& lhsV, const Packet* rhsV) ++ { ++ if(NegativeAccumulate) ++ { ++ acc->packet[0] = vec_nmsub(lhsV, rhsV[0], acc->packet[0]); +++ if (N > 1) { +++ acc->packet[1] = vec_nmsub(lhsV, rhsV[1], acc->packet[1]); +++ } +++ if (N > 2) { +++ acc->packet[2] = vec_nmsub(lhsV, rhsV[2], acc->packet[2]); +++ } +++ if (N > 3) { +++ acc->packet[3] = vec_nmsub(lhsV, rhsV[3], acc->packet[3]); +++ } ++ } else { ++ acc->packet[0] = vec_madd(lhsV, rhsV[0], acc->packet[0]); +++ if (N > 1) { +++ acc->packet[1] = vec_madd(lhsV, rhsV[1], acc->packet[1]); +++ } +++ if (N > 2) { +++ acc->packet[2] = vec_madd(lhsV, rhsV[2], acc->packet[2]); +++ } +++ if (N > 3) { +++ acc->packet[3] = vec_madd(lhsV, rhsV[3], acc->packet[3]); +++ } ++ } ++ } ++ ++@@ -1028,11 +1036,11 @@ EIGEN_ALWAYS_INLINE void pger(PacketBlock* acc, const Scalar* lhs, con ++ { ++ Packet lhsV = pload(lhs); ++ ++- pger_common(acc, lhsV, rhsV); +++ pger_common(acc, lhsV, rhsV); ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs, Packet &lhsV, Index remaining_rows) +++template +++EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs, Packet &lhsV) ++ { ++ #ifdef _ARCH_PWR9 ++ lhsV = vec_xl_len((Scalar *)lhs, remaining_rows * sizeof(Scalar)); ++@@ -1044,32 +1052,32 @@ EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs, Packet &lhsV, In ++ #endif ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void pger(PacketBlock* acc, const Scalar* lhs, const Packet* rhsV, Index remaining_rows) +++template +++EIGEN_ALWAYS_INLINE void pger(PacketBlock* acc, const Scalar* lhs, const Packet* rhsV) ++ { ++ Packet lhsV; ++- loadPacketRemaining(lhs, lhsV, remaining_rows); +++ loadPacketRemaining(lhs, lhsV); ++ ++- pger_common(acc, lhsV, rhsV); +++ pger_common(acc, lhsV, rhsV); ++ } ++ ++ // 512-bits rank1-update of complex acc. It takes decoupled accumulators as entries. It also takes cares of mixed types real * complex and complex * real. ++ template ++ EIGEN_ALWAYS_INLINE void pgerc_common(PacketBlock* accReal, PacketBlock* accImag, const Packet &lhsV, const Packet &lhsVi, const Packet* rhsV, const Packet* rhsVi) ++ { ++- pger_common(accReal, lhsV, rhsV); +++ pger_common(accReal, lhsV, rhsV); ++ if(LhsIsReal) ++ { ++- pger_common(accImag, lhsV, rhsVi); +++ pger_common(accImag, lhsV, rhsVi); ++ EIGEN_UNUSED_VARIABLE(lhsVi); ++ } else { ++ if (!RhsIsReal) { ++- pger_common(accReal, lhsVi, rhsVi); ++- pger_common(accImag, lhsV, rhsVi); +++ pger_common(accReal, lhsVi, rhsVi); +++ pger_common(accImag, lhsV, rhsVi); ++ } else { ++ EIGEN_UNUSED_VARIABLE(rhsVi); ++ } ++- pger_common(accImag, lhsVi, rhsV); +++ pger_common(accImag, lhsVi, rhsV); ++ } ++ } ++ ++@@ -1084,8 +1092,8 @@ EIGEN_ALWAYS_INLINE void pgerc(PacketBlock* accReal, PacketBlock(accReal, accImag, lhsV, lhsVi, rhsV, rhsVi); ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs_ptr, const Scalar* lhs_ptr_imag, Packet &lhsV, Packet &lhsVi, Index remaining_rows) +++template +++EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs_ptr, const Scalar* lhs_ptr_imag, Packet &lhsV, Packet &lhsVi) ++ { ++ #ifdef _ARCH_PWR9 ++ lhsV = vec_xl_len((Scalar *)lhs_ptr, remaining_rows * sizeof(Scalar)); ++@@ -1101,11 +1109,11 @@ EIGEN_ALWAYS_INLINE void loadPacketRemaining(const Scalar* lhs_ptr, const Scalar ++ #endif ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void pgerc(PacketBlock* accReal, PacketBlock* accImag, const Scalar* lhs_ptr, const Scalar* lhs_ptr_imag, const Packet* rhsV, const Packet* rhsVi, Index remaining_rows) +++template +++EIGEN_ALWAYS_INLINE void pgerc(PacketBlock* accReal, PacketBlock* accImag, const Scalar* lhs_ptr, const Scalar* lhs_ptr_imag, const Packet* rhsV, const Packet* rhsVi) ++ { ++ Packet lhsV, lhsVi; ++- loadPacketRemaining(lhs_ptr, lhs_ptr_imag, lhsV, lhsVi, remaining_rows); +++ loadPacketRemaining(lhs_ptr, lhs_ptr_imag, lhsV, lhsVi); ++ ++ pgerc_common(accReal, accImag, lhsV, lhsVi, rhsV, rhsVi); ++ } ++@@ -1117,132 +1125,142 @@ EIGEN_ALWAYS_INLINE Packet ploadLhs(const Scalar* lhs) ++ } ++ ++ // Zero the accumulator on PacketBlock. ++-template ++-EIGEN_ALWAYS_INLINE void bsetzero(PacketBlock& acc) ++-{ ++- acc.packet[0] = pset1((Scalar)0); ++- acc.packet[1] = pset1((Scalar)0); ++- acc.packet[2] = pset1((Scalar)0); ++- acc.packet[3] = pset1((Scalar)0); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void bsetzero(PacketBlock& acc) +++template +++EIGEN_ALWAYS_INLINE void bsetzero(PacketBlock& acc) ++ { ++ acc.packet[0] = pset1((Scalar)0); +++ if (N > 1) { +++ acc.packet[1] = pset1((Scalar)0); +++ } +++ if (N > 2) { +++ acc.packet[2] = pset1((Scalar)0); +++ } +++ if (N > 3) { +++ acc.packet[3] = pset1((Scalar)0); +++ } ++ } ++ ++ // Scale the PacketBlock vectors by alpha. ++-template ++-EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) ++-{ ++- acc.packet[0] = pmadd(pAlpha, accZ.packet[0], acc.packet[0]); ++- acc.packet[1] = pmadd(pAlpha, accZ.packet[1], acc.packet[1]); ++- acc.packet[2] = pmadd(pAlpha, accZ.packet[2], acc.packet[2]); ++- acc.packet[3] = pmadd(pAlpha, accZ.packet[3], acc.packet[3]); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) +++template +++EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) ++ { ++ acc.packet[0] = pmadd(pAlpha, accZ.packet[0], acc.packet[0]); +++ if (N > 1) { +++ acc.packet[1] = pmadd(pAlpha, accZ.packet[1], acc.packet[1]); +++ } +++ if (N > 2) { +++ acc.packet[2] = pmadd(pAlpha, accZ.packet[2], acc.packet[2]); +++ } +++ if (N > 3) { +++ acc.packet[3] = pmadd(pAlpha, accZ.packet[3], acc.packet[3]); +++ } ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void bscalec_common(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) ++-{ ++- acc.packet[0] = pmul(accZ.packet[0], pAlpha); ++- acc.packet[1] = pmul(accZ.packet[1], pAlpha); ++- acc.packet[2] = pmul(accZ.packet[2], pAlpha); ++- acc.packet[3] = pmul(accZ.packet[3], pAlpha); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void bscalec_common(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) +++template +++EIGEN_ALWAYS_INLINE void bscalec_common(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha) ++ { ++ acc.packet[0] = pmul(accZ.packet[0], pAlpha); +++ if (N > 1) { +++ acc.packet[1] = pmul(accZ.packet[1], pAlpha); +++ } +++ if (N > 2) { +++ acc.packet[2] = pmul(accZ.packet[2], pAlpha); +++ } +++ if (N > 3) { +++ acc.packet[3] = pmul(accZ.packet[3], pAlpha); +++ } ++ } ++ ++ // Complex version of PacketBlock scaling. ++ template ++ EIGEN_ALWAYS_INLINE void bscalec(PacketBlock& aReal, PacketBlock& aImag, const Packet& bReal, const Packet& bImag, PacketBlock& cReal, PacketBlock& cImag) ++ { ++- bscalec_common(cReal, aReal, bReal); +++ bscalec_common(cReal, aReal, bReal); ++ ++- bscalec_common(cImag, aImag, bReal); +++ bscalec_common(cImag, aImag, bReal); ++ ++- pger_common(&cReal, bImag, aImag.packet); +++ pger_common(&cReal, bImag, aImag.packet); ++ ++- pger_common(&cImag, bImag, aReal.packet); +++ pger_common(&cImag, bImag, aReal.packet); ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void band(PacketBlock& acc, const Packet& pMask) +++template +++EIGEN_ALWAYS_INLINE void band(PacketBlock& acc, const Packet& pMask) ++ { ++ acc.packet[0] = pand(acc.packet[0], pMask); ++- acc.packet[1] = pand(acc.packet[1], pMask); ++- acc.packet[2] = pand(acc.packet[2], pMask); ++- acc.packet[3] = pand(acc.packet[3], pMask); +++ if (N > 1) { +++ acc.packet[1] = pand(acc.packet[1], pMask); +++ } +++ if (N > 2) { +++ acc.packet[2] = pand(acc.packet[2], pMask); +++ } +++ if (N > 3) { +++ acc.packet[3] = pand(acc.packet[3], pMask); +++ } ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void bscalec(PacketBlock& aReal, PacketBlock& aImag, const Packet& bReal, const Packet& bImag, PacketBlock& cReal, PacketBlock& cImag, const Packet& pMask) +++template +++EIGEN_ALWAYS_INLINE void bscalec(PacketBlock& aReal, PacketBlock& aImag, const Packet& bReal, const Packet& bImag, PacketBlock& cReal, PacketBlock& cImag, const Packet& pMask) ++ { ++- band(aReal, pMask); ++- band(aImag, pMask); +++ band(aReal, pMask); +++ band(aImag, pMask); ++ ++- bscalec(aReal, aImag, bReal, bImag, cReal, cImag); +++ bscalec(aReal, aImag, bReal, bImag, cReal, cImag); ++ } ++ ++ // Load a PacketBlock, the N parameters make tunning gemm easier so we can add more accumulators as needed. ++-template ++-EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col) ++-{ ++- if (StorageOrder == RowMajor) { ++- acc.packet[0] = res.template loadPacket(row + 0, col + N*accCols); ++- acc.packet[1] = res.template loadPacket(row + 1, col + N*accCols); ++- acc.packet[2] = res.template loadPacket(row + 2, col + N*accCols); ++- acc.packet[3] = res.template loadPacket(row + 3, col + N*accCols); ++- } else { ++- acc.packet[0] = res.template loadPacket(row + N*accCols, col + 0); ++- acc.packet[1] = res.template loadPacket(row + N*accCols, col + 1); ++- acc.packet[2] = res.template loadPacket(row + N*accCols, col + 2); ++- acc.packet[3] = res.template loadPacket(row + N*accCols, col + 3); ++- } ++-} ++- ++-// An overload of bload when you have a PacketBLock with 8 vectors. ++-template ++-EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col) +++template +++EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col) ++ { ++ if (StorageOrder == RowMajor) { ++- acc.packet[0] = res.template loadPacket(row + 0, col + N*accCols); ++- acc.packet[1] = res.template loadPacket(row + 1, col + N*accCols); ++- acc.packet[2] = res.template loadPacket(row + 2, col + N*accCols); ++- acc.packet[3] = res.template loadPacket(row + 3, col + N*accCols); ++- acc.packet[4] = res.template loadPacket(row + 0, col + (N+1)*accCols); ++- acc.packet[5] = res.template loadPacket(row + 1, col + (N+1)*accCols); ++- acc.packet[6] = res.template loadPacket(row + 2, col + (N+1)*accCols); ++- acc.packet[7] = res.template loadPacket(row + 3, col + (N+1)*accCols); +++ acc.packet[0] = res.template loadPacket(row + 0, col); +++ if (N > 1) { +++ acc.packet[1] = res.template loadPacket(row + 1, col); +++ } +++ if (N > 2) { +++ acc.packet[2] = res.template loadPacket(row + 2, col); +++ } +++ if (N > 3) { +++ acc.packet[3] = res.template loadPacket(row + 3, col); +++ } +++ if (Complex) { +++ acc.packet[0+N] = res.template loadPacket(row + 0, col + accCols); +++ if (N > 1) { +++ acc.packet[1+N] = res.template loadPacket(row + 1, col + accCols); +++ } +++ if (N > 2) { +++ acc.packet[2+N] = res.template loadPacket(row + 2, col + accCols); +++ } +++ if (N > 3) { +++ acc.packet[3+N] = res.template loadPacket(row + 3, col + accCols); +++ } +++ } ++ } else { ++- acc.packet[0] = res.template loadPacket(row + N*accCols, col + 0); ++- acc.packet[1] = res.template loadPacket(row + N*accCols, col + 1); ++- acc.packet[2] = res.template loadPacket(row + N*accCols, col + 2); ++- acc.packet[3] = res.template loadPacket(row + N*accCols, col + 3); ++- acc.packet[4] = res.template loadPacket(row + (N+1)*accCols, col + 0); ++- acc.packet[5] = res.template loadPacket(row + (N+1)*accCols, col + 1); ++- acc.packet[6] = res.template loadPacket(row + (N+1)*accCols, col + 2); ++- acc.packet[7] = res.template loadPacket(row + (N+1)*accCols, col + 3); +++ acc.packet[0] = res.template loadPacket(row, col + 0); +++ if (N > 1) { +++ acc.packet[1] = res.template loadPacket(row, col + 1); +++ } +++ if (N > 2) { +++ acc.packet[2] = res.template loadPacket(row, col + 2); +++ } +++ if (N > 3) { +++ acc.packet[3] = res.template loadPacket(row, col + 3); +++ } +++ if (Complex) { +++ acc.packet[0+N] = res.template loadPacket(row + accCols, col + 0); +++ if (N > 1) { +++ acc.packet[1+N] = res.template loadPacket(row + accCols, col + 1); +++ } +++ if (N > 2) { +++ acc.packet[2+N] = res.template loadPacket(row + accCols, col + 2); +++ } +++ if (N > 3) { +++ acc.packet[3+N] = res.template loadPacket(row + accCols, col + 3); +++ } +++ } ++ } ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col) ++-{ ++- acc.packet[0] = res.template loadPacket(row + N*accCols, col + 0); ++- acc.packet[1] = res.template loadPacket(row + (N+1)*accCols, col + 0); ++-} ++- ++ const static Packet4i mask41 = { -1, 0, 0, 0 }; ++ const static Packet4i mask42 = { -1, -1, 0, 0 }; ++ const static Packet4i mask43 = { -1, -1, -1, 0 }; ++@@ -1273,22 +1291,44 @@ EIGEN_ALWAYS_INLINE Packet2d bmask(const int remaining_rows) ++ } ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha, const Packet& pMask) +++template +++EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha, const Packet& pMask) ++ { ++- band(accZ, pMask); +++ band(accZ, pMask); ++ ++- bscale(acc, accZ, pAlpha); +++ bscale(acc, accZ, pAlpha); ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void pbroadcast4_old(const __UNPACK_TYPE__(Packet)* a, Packet& a0, Packet& a1, Packet& a2, Packet& a3) +++template EIGEN_ALWAYS_INLINE void +++pbroadcastN_old(const __UNPACK_TYPE__(Packet) *a, +++ Packet& a0, Packet& a1, Packet& a2, Packet& a3) +++{ +++ a0 = pset1(a[0]); +++ if (N > 1) { +++ a1 = pset1(a[1]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a1); +++ } +++ if (N > 2) { +++ a2 = pset1(a[2]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a2); +++ } +++ if (N > 3) { +++ a3 = pset1(a[3]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a3); +++ } +++} +++ +++template<> +++EIGEN_ALWAYS_INLINE void pbroadcastN_old(const float* a, Packet4f& a0, Packet4f& a1, Packet4f& a2, Packet4f& a3) ++ { ++- pbroadcast4(a, a0, a1, a2, a3); +++ pbroadcast4(a, a0, a1, a2, a3); ++ } ++ ++ template<> ++-EIGEN_ALWAYS_INLINE void pbroadcast4_old(const double* a, Packet2d& a0, Packet2d& a1, Packet2d& a2, Packet2d& a3) +++EIGEN_ALWAYS_INLINE void pbroadcastN_old(const double* a, Packet2d& a0, Packet2d& a1, Packet2d& a2, Packet2d& a3) ++ { ++ a1 = pload(a); ++ a3 = pload(a + 2); ++@@ -1298,89 +1338,96 @@ EIGEN_ALWAYS_INLINE void pbroadcast4_old(const double* a, Packet2d& a0 ++ a3 = vec_splat(a3, 1); ++ } ++ ++-// PEEL loop factor. ++-#define PEEL 7 ++- ++-template ++-EIGEN_ALWAYS_INLINE void MICRO_EXTRA_COL( ++- const Scalar* &lhs_ptr, ++- const Scalar* &rhs_ptr, ++- PacketBlock &accZero, ++- Index remaining_rows, ++- Index remaining_cols) +++template EIGEN_ALWAYS_INLINE void +++pbroadcastN(const __UNPACK_TYPE__(Packet) *a, +++ Packet& a0, Packet& a1, Packet& a2, Packet& a3) ++ { ++- Packet rhsV[1]; ++- rhsV[0] = pset1(rhs_ptr[0]); ++- pger<1,Scalar, Packet, false>(&accZero, lhs_ptr, rhsV); ++- lhs_ptr += remaining_rows; ++- rhs_ptr += remaining_cols; +++ a0 = pset1(a[0]); +++ if (N > 1) { +++ a1 = pset1(a[1]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a1); +++ } +++ if (N > 2) { +++ a2 = pset1(a[2]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a2); +++ } +++ if (N > 3) { +++ a3 = pset1(a[3]); +++ } else { +++ EIGEN_UNUSED_VARIABLE(a3); +++ } ++ } ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_extra_col( ++- const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, ++- Index depth, ++- Index strideA, ++- Index offsetA, ++- Index row, ++- Index col, ++- Index remaining_rows, ++- Index remaining_cols, ++- const Packet& pAlpha) +++template<> EIGEN_ALWAYS_INLINE void +++pbroadcastN(const float *a, +++ Packet4f& a0, Packet4f& a1, Packet4f& a2, Packet4f& a3) ++ { ++- const Scalar* rhs_ptr = rhs_base; ++- const Scalar* lhs_ptr = lhs_base + row*strideA + remaining_rows*offsetA; ++- PacketBlock accZero; +++ a3 = pload(a); +++ a0 = vec_splat(a3, 0); +++ a1 = vec_splat(a3, 1); +++ a2 = vec_splat(a3, 2); +++ a3 = vec_splat(a3, 3); +++} ++ ++- bsetzero(accZero); +++// PEEL loop factor. +++#define PEEL 7 +++#define PEEL_ROW 7 ++ ++- Index remaining_depth = (depth & -accRows); ++- Index k = 0; ++- for(; k + PEEL <= remaining_depth; k+= PEEL) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr); ++- EIGEN_POWER_PREFETCH(lhs_ptr); ++- for (int l = 0; l < PEEL; l++) { ++- MICRO_EXTRA_COL(lhs_ptr, rhs_ptr, accZero, remaining_rows, remaining_cols); ++- } ++- } ++- for(; k < remaining_depth; k++) ++- { ++- MICRO_EXTRA_COL(lhs_ptr, rhs_ptr, accZero, remaining_rows, remaining_cols); +++#define MICRO_UNROLL_PEEL(func) \ +++ func(0) func(1) func(2) func(3) func(4) func(5) func(6) func(7) +++ +++#define MICRO_ZERO_PEEL(peel) \ +++ if ((PEEL_ROW > peel) && (peel != 0)) { \ +++ bsetzero(accZero##peel); \ +++ } else { \ +++ EIGEN_UNUSED_VARIABLE(accZero##peel); \ ++ } ++- for(; k < depth; k++) ++- { ++- Packet rhsV[1]; ++- rhsV[0] = pset1(rhs_ptr[0]); ++- pger<1, Scalar, Packet, Index, false>(&accZero, lhs_ptr, rhsV, remaining_rows); ++- lhs_ptr += remaining_rows; ++- rhs_ptr += remaining_cols; +++ +++#define MICRO_ZERO_PEEL_ROW \ +++ MICRO_UNROLL_PEEL(MICRO_ZERO_PEEL); +++ +++#define MICRO_WORK_PEEL(peel) \ +++ if (PEEL_ROW > peel) { \ +++ pbroadcastN(rhs_ptr + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ +++ pger(&accZero##peel, lhs_ptr + (remaining_rows * peel), rhsV##peel); \ +++ } else { \ +++ EIGEN_UNUSED_VARIABLE(rhsV##peel); \ ++ } ++ ++- accZero.packet[0] = vec_mul(pAlpha, accZero.packet[0]); ++- for(Index i = 0; i < remaining_rows; i++) { ++- res(row + i, col) += accZero.packet[0][i]; +++#define MICRO_WORK_PEEL_ROW \ +++ Packet rhsV0[4], rhsV1[4], rhsV2[4], rhsV3[4], rhsV4[4], rhsV5[4], rhsV6[4], rhsV7[4]; \ +++ MICRO_UNROLL_PEEL(MICRO_WORK_PEEL); \ +++ lhs_ptr += (remaining_rows * PEEL_ROW); \ +++ rhs_ptr += (accRows * PEEL_ROW); +++ +++#define MICRO_ADD_PEEL(peel, sum) \ +++ if (PEEL_ROW > peel) { \ +++ for (Index i = 0; i < accRows; i++) { \ +++ accZero##sum.packet[i] += accZero##peel.packet[i]; \ +++ } \ ++ } ++-} ++ ++-template +++#define MICRO_ADD_PEEL_ROW \ +++ MICRO_ADD_PEEL(4, 0) MICRO_ADD_PEEL(5, 1) MICRO_ADD_PEEL(6, 2) MICRO_ADD_PEEL(7, 3) \ +++ MICRO_ADD_PEEL(2, 0) MICRO_ADD_PEEL(3, 1) MICRO_ADD_PEEL(1, 0) +++ +++template ++ EIGEN_ALWAYS_INLINE void MICRO_EXTRA_ROW( ++ const Scalar* &lhs_ptr, ++ const Scalar* &rhs_ptr, ++- PacketBlock &accZero, ++- Index remaining_rows) +++ PacketBlock &accZero) ++ { ++ Packet rhsV[4]; ++- pbroadcast4(rhs_ptr, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); ++- pger<4, Scalar, Packet, false>(&accZero, lhs_ptr, rhsV); +++ pbroadcastN(rhs_ptr, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); +++ pger(&accZero, lhs_ptr, rhsV); ++ lhs_ptr += remaining_rows; ++ rhs_ptr += accRows; ++ } ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_extra_row( +++template +++EIGEN_ALWAYS_INLINE void gemm_unrolled_row_iteration( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++@@ -1391,59 +1438,89 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ Index col, ++ Index rows, ++ Index cols, ++- Index remaining_rows, ++ const Packet& pAlpha, ++ const Packet& pMask) ++ { ++ const Scalar* rhs_ptr = rhs_base; ++ const Scalar* lhs_ptr = lhs_base + row*strideA + remaining_rows*offsetA; ++- PacketBlock accZero, acc; +++ PacketBlock accZero0, accZero1, accZero2, accZero3, accZero4, accZero5, accZero6, accZero7, acc; ++ ++- bsetzero(accZero); +++ bsetzero(accZero0); ++ ++- Index remaining_depth = (col + accRows < cols) ? depth : (depth & -accRows); +++ Index remaining_depth = (col + quad_traits::rows < cols) ? depth : (depth & -quad_traits::rows); ++ Index k = 0; ++- for(; k + PEEL <= remaining_depth; k+= PEEL) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr); ++- EIGEN_POWER_PREFETCH(lhs_ptr); ++- for (int l = 0; l < PEEL; l++) { ++- MICRO_EXTRA_ROW(lhs_ptr, rhs_ptr, accZero, remaining_rows); ++- } +++ if (remaining_depth >= PEEL_ROW) { +++ MICRO_ZERO_PEEL_ROW +++ do +++ { +++ EIGEN_POWER_PREFETCH(rhs_ptr); +++ EIGEN_POWER_PREFETCH(lhs_ptr); +++ MICRO_WORK_PEEL_ROW +++ } while ((k += PEEL_ROW) + PEEL_ROW <= remaining_depth); +++ MICRO_ADD_PEEL_ROW ++ } ++ for(; k < remaining_depth; k++) ++ { ++- MICRO_EXTRA_ROW(lhs_ptr, rhs_ptr, accZero, remaining_rows); +++ MICRO_EXTRA_ROW(lhs_ptr, rhs_ptr, accZero0); ++ } ++ ++ if ((remaining_depth == depth) && (rows >= accCols)) ++ { ++- for(Index j = 0; j < 4; j++) { ++- acc.packet[j] = res.template loadPacket(row, col + j); ++- } ++- bscale(acc, accZero, pAlpha, pMask); ++- res.template storePacketBlock(row, col, acc); +++ bload(acc, res, row, 0); +++ bscale(acc, accZero0, pAlpha, pMask); +++ res.template storePacketBlock(row, 0, acc); ++ } else { ++ for(; k < depth; k++) ++ { ++ Packet rhsV[4]; ++- pbroadcast4(rhs_ptr, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); ++- pger<4, Scalar, Packet, Index, false>(&accZero, lhs_ptr, rhsV, remaining_rows); +++ pbroadcastN(rhs_ptr, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); +++ pger(&accZero0, lhs_ptr, rhsV); ++ lhs_ptr += remaining_rows; ++ rhs_ptr += accRows; ++ } ++ ++- for(Index j = 0; j < 4; j++) { ++- accZero.packet[j] = vec_mul(pAlpha, accZero.packet[j]); ++- } ++- for(Index j = 0; j < 4; j++) { +++ for(Index j = 0; j < accRows; j++) { +++ accZero0.packet[j] = vec_mul(pAlpha, accZero0.packet[j]); ++ for(Index i = 0; i < remaining_rows; i++) { ++- res(row + i, col + j) += accZero.packet[j][i]; +++ res(row + i, j) += accZero0.packet[j][i]; ++ } ++ } ++ } ++ } ++ +++template +++EIGEN_ALWAYS_INLINE void gemm_extra_row( +++ const DataMapper& res, +++ const Scalar* lhs_base, +++ const Scalar* rhs_base, +++ Index depth, +++ Index strideA, +++ Index offsetA, +++ Index row, +++ Index col, +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlpha, +++ const Packet& pMask) +++{ +++ switch(remaining_rows) { +++ case 1: +++ gemm_unrolled_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, rows, cols, pAlpha, pMask); +++ break; +++ case 2: +++ if (sizeof(Scalar) == sizeof(float)) { +++ gemm_unrolled_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, rows, cols, pAlpha, pMask); +++ } +++ break; +++ default: +++ if (sizeof(Scalar) == sizeof(float)) { +++ gemm_unrolled_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, rows, cols, pAlpha, pMask); +++ } +++ break; +++ } +++} +++ ++ #define MICRO_UNROLL(func) \ ++ func(0) func(1) func(2) func(3) func(4) func(5) func(6) func(7) ++ ++@@ -1462,34 +1539,24 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ ++ #define MICRO_WORK_ONE(iter, peel) \ ++ if (unroll_factor > iter) { \ ++- pger_common(&accZero##iter, lhsV##iter, rhsV##peel); \ +++ pger_common(&accZero##iter, lhsV##iter, rhsV##peel); \ ++ } ++ ++ #define MICRO_TYPE_PEEL4(func, func2, peel) \ ++ if (PEEL > peel) { \ ++ Packet lhsV0, lhsV1, lhsV2, lhsV3, lhsV4, lhsV5, lhsV6, lhsV7; \ ++- pbroadcast4(rhs_ptr + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ ++- MICRO_UNROLL_WORK(func, func2, peel) \ ++- } else { \ ++- EIGEN_UNUSED_VARIABLE(rhsV##peel); \ ++- } ++- ++-#define MICRO_TYPE_PEEL1(func, func2, peel) \ ++- if (PEEL > peel) { \ ++- Packet lhsV0, lhsV1, lhsV2, lhsV3, lhsV4, lhsV5, lhsV6, lhsV7; \ ++- rhsV##peel[0] = pset1(rhs_ptr[remaining_cols * peel]); \ +++ pbroadcastN(rhs_ptr + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ ++ MICRO_UNROLL_WORK(func, func2, peel) \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(rhsV##peel); \ ++ } ++ ++ #define MICRO_UNROLL_TYPE_PEEL(M, func, func1, func2) \ ++- Packet rhsV0[M], rhsV1[M], rhsV2[M], rhsV3[M], rhsV4[M], rhsV5[M], rhsV6[M], rhsV7[M], rhsV8[M], rhsV9[M]; \ +++ Packet rhsV0[M], rhsV1[M], rhsV2[M], rhsV3[M], rhsV4[M], rhsV5[M], rhsV6[M], rhsV7[M]; \ ++ func(func1,func2,0); func(func1,func2,1); \ ++ func(func1,func2,2); func(func1,func2,3); \ ++ func(func1,func2,4); func(func1,func2,5); \ ++- func(func1,func2,6); func(func1,func2,7); \ ++- func(func1,func2,8); func(func1,func2,9); +++ func(func1,func2,6); func(func1,func2,7); ++ ++ #define MICRO_UNROLL_TYPE_ONE(M, func, func1, func2) \ ++ Packet rhsV0[M]; \ ++@@ -1503,17 +1570,9 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ MICRO_UNROLL_TYPE_ONE(4, MICRO_TYPE_PEEL4, MICRO_WORK_ONE, MICRO_LOAD_ONE); \ ++ rhs_ptr += accRows; ++ ++-#define MICRO_ONE_PEEL1 \ ++- MICRO_UNROLL_TYPE_PEEL(1, MICRO_TYPE_PEEL1, MICRO_WORK_ONE, MICRO_LOAD_ONE); \ ++- rhs_ptr += (remaining_cols * PEEL); ++- ++-#define MICRO_ONE1 \ ++- MICRO_UNROLL_TYPE_ONE(1, MICRO_TYPE_PEEL1, MICRO_WORK_ONE, MICRO_LOAD_ONE); \ ++- rhs_ptr += remaining_cols; ++- ++ #define MICRO_DST_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- bsetzero(accZero##iter); \ +++ bsetzero(accZero##iter); \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(accZero##iter); \ ++ } ++@@ -1522,7 +1581,7 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ ++ #define MICRO_SRC_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- lhs_ptr##iter = lhs_base + ( (row/accCols) + iter )*strideA*accCols + accCols*offsetA; \ +++ lhs_ptr##iter = lhs_base + ( (row/accCols) + iter )*strideA*accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhs_ptr##iter); \ ++ } ++@@ -1538,25 +1597,13 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ ++ #define MICRO_STORE_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- acc.packet[0] = res.template loadPacket(row + iter*accCols, col + 0); \ ++- acc.packet[1] = res.template loadPacket(row + iter*accCols, col + 1); \ ++- acc.packet[2] = res.template loadPacket(row + iter*accCols, col + 2); \ ++- acc.packet[3] = res.template loadPacket(row + iter*accCols, col + 3); \ ++- bscale(acc, accZero##iter, pAlpha); \ ++- res.template storePacketBlock(row + iter*accCols, col, acc); \ +++ bload(acc, res, row + iter*accCols, 0); \ +++ bscale(acc, accZero##iter, pAlpha); \ +++ res.template storePacketBlock(row + iter*accCols, 0, acc); \ ++ } ++ ++ #define MICRO_STORE MICRO_UNROLL(MICRO_STORE_ONE) ++ ++-#define MICRO_COL_STORE_ONE(iter) \ ++- if (unroll_factor > iter) { \ ++- acc.packet[0] = res.template loadPacket(row + iter*accCols, col + 0); \ ++- bscale(acc, accZero##iter, pAlpha); \ ++- res.template storePacketBlock(row + iter*accCols, col, acc); \ ++- } ++- ++-#define MICRO_COL_STORE MICRO_UNROLL(MICRO_COL_STORE_ONE) ++- ++ template ++ EIGEN_STRONG_INLINE void gemm_unrolled_iteration( ++ const DataMapper& res, ++@@ -1564,15 +1611,13 @@ EIGEN_STRONG_INLINE void gemm_unrolled_iteration( ++ const Scalar* rhs_base, ++ Index depth, ++ Index strideA, ++- Index offsetA, ++ Index& row, ++- Index col, ++ const Packet& pAlpha) ++ { ++ const Scalar* rhs_ptr = rhs_base; ++ const Scalar* lhs_ptr0 = NULL, * lhs_ptr1 = NULL, * lhs_ptr2 = NULL, * lhs_ptr3 = NULL, * lhs_ptr4 = NULL, * lhs_ptr5 = NULL, * lhs_ptr6 = NULL, * lhs_ptr7 = NULL; ++- PacketBlock accZero0, accZero1, accZero2, accZero3, accZero4, accZero5, accZero6, accZero7; ++- PacketBlock acc; +++ PacketBlock accZero0, accZero1, accZero2, accZero3, accZero4, accZero5, accZero6, accZero7; +++ PacketBlock acc; ++ ++ MICRO_SRC_PTR ++ MICRO_DST_PTR ++@@ -1593,101 +1638,100 @@ EIGEN_STRONG_INLINE void gemm_unrolled_iteration( ++ row += unroll_factor*accCols; ++ } ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_unrolled_col_iteration( +++template +++EIGEN_ALWAYS_INLINE void gemm_cols( ++ const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, +++ const Scalar* blockA, +++ const Scalar* blockB, ++ Index depth, ++ Index strideA, ++ Index offsetA, ++- Index& row, +++ Index strideB, +++ Index offsetB, ++ Index col, ++- Index remaining_cols, ++- const Packet& pAlpha) +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlpha, +++ const Packet& pMask) ++ { ++- const Scalar* rhs_ptr = rhs_base; ++- const Scalar* lhs_ptr0 = NULL, * lhs_ptr1 = NULL, * lhs_ptr2 = NULL, * lhs_ptr3 = NULL, * lhs_ptr4 = NULL, * lhs_ptr5 = NULL, * lhs_ptr6 = NULL, *lhs_ptr7 = NULL; ++- PacketBlock accZero0, accZero1, accZero2, accZero3, accZero4, accZero5, accZero6, accZero7; ++- PacketBlock acc; ++- ++- MICRO_SRC_PTR ++- MICRO_DST_PTR ++- ++- Index k = 0; ++- for(; k + PEEL <= depth; k+= PEEL) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr); ++- MICRO_PREFETCH ++- MICRO_ONE_PEEL1 ++- } ++- for(; k < depth; k++) ++- { ++- MICRO_ONE1 ++- } ++- MICRO_COL_STORE +++ const DataMapper res3 = res.getSubMapper(0, col); ++ ++- row += unroll_factor*accCols; ++-} +++ const Scalar* rhs_base = blockB + col*strideB + accRows*offsetB; +++ const Scalar* lhs_base = blockA + accCols*offsetA; +++ Index row = 0; ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_unrolled_col( ++- const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, ++- Index depth, ++- Index strideA, ++- Index offsetA, ++- Index& row, ++- Index rows, ++- Index col, ++- Index remaining_cols, ++- const Packet& pAlpha) ++-{ ++ #define MAX_UNROLL 6 ++ while(row + MAX_UNROLL*accCols <= rows) { ++- gemm_unrolled_col_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); +++ gemm_unrolled_iteration(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); ++ } ++ switch( (rows-row)/accCols ) { ++ #if MAX_UNROLL > 7 ++ case 7: ++- gemm_unrolled_col_iteration<7, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); +++ gemm_unrolled_iteration<7, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); ++ break; ++ #endif ++ #if MAX_UNROLL > 6 ++ case 6: ++- gemm_unrolled_col_iteration<6, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); +++ gemm_unrolled_iteration<6, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); ++ break; ++ #endif ++ #if MAX_UNROLL > 5 ++- case 5: ++- gemm_unrolled_col_iteration<5, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); +++ case 5: +++ gemm_unrolled_iteration<5, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); ++ break; ++ #endif ++ #if MAX_UNROLL > 4 ++- case 4: ++- gemm_unrolled_col_iteration<4, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); +++ case 4: +++ gemm_unrolled_iteration<4, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); ++ break; ++ #endif ++ #if MAX_UNROLL > 3 ++- case 3: ++- gemm_unrolled_col_iteration<3, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); ++- break; +++ case 3: +++ gemm_unrolled_iteration<3, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_UNROLL > 2 ++- case 2: ++- gemm_unrolled_col_iteration<2, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); ++- break; +++ case 2: +++ gemm_unrolled_iteration<2, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_UNROLL > 1 ++- case 1: ++- gemm_unrolled_col_iteration<1, Scalar, Packet, DataMapper, Index, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_cols, pAlpha); ++- break; +++ case 1: +++ gemm_unrolled_iteration<1, Scalar, Packet, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++- default: ++- break; +++ default: +++ break; ++ } ++ #undef MAX_UNROLL +++ +++ if(remaining_rows > 0) +++ { +++ gemm_extra_row(res3, blockA, rhs_base, depth, strideA, offsetA, row, col, rows, cols, remaining_rows, pAlpha, pMask); +++ } +++} +++ +++template +++EIGEN_STRONG_INLINE void gemm_extra_cols( +++ const DataMapper& res, +++ const Scalar* blockA, +++ const Scalar* blockB, +++ Index depth, +++ Index strideA, +++ Index offsetA, +++ Index strideB, +++ Index offsetB, +++ Index col, +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlpha, +++ const Packet& pMask) +++{ +++ for (; col < cols; col++) { +++ gemm_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlpha, pMask); +++ } ++ } ++ ++ /**************** ++@@ -1697,7 +1741,6 @@ template(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- } ++- switch( (rows-row)/accCols ) { ++-#if MAX_UNROLL > 7 ++- case 7: ++- gemm_unrolled_iteration<7, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 6 ++- case 6: ++- gemm_unrolled_iteration<6, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 5 ++- case 5: ++- gemm_unrolled_iteration<5, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 4 ++- case 4: ++- gemm_unrolled_iteration<4, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 3 ++- case 3: ++- gemm_unrolled_iteration<3, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 2 ++- case 2: ++- gemm_unrolled_iteration<2, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++-#if MAX_UNROLL > 1 ++- case 1: ++- gemm_unrolled_iteration<1, Scalar, Packet, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; ++-#endif ++- default: ++- break; ++- } ++-#undef MAX_UNROLL ++- ++- if(remaining_rows > 0) ++- { ++- gemm_extra_row(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, rows, cols, remaining_rows, pAlpha, pMask); ++- } ++- } ++- ++- if(remaining_cols > 0) ++- { ++- const Scalar* rhs_base = blockB + col*strideB + remaining_cols*offsetB; ++- const Scalar* lhs_base = blockA; ++- ++- for(; col < cols; col++) ++- { ++- Index row = 0; ++- ++- gemm_unrolled_col(res, lhs_base, rhs_base, depth, strideA, offsetA, row, rows, col, remaining_cols, pAlpha); ++- ++- if (remaining_rows > 0) ++- { ++- gemm_extra_col(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_rows, remaining_cols, pAlpha); ++- } ++- rhs_base++; +++ gemm_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlpha, pMask); ++ } ++- } +++ +++ gemm_extra_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlpha, pMask); ++ } ++ ++ #define accColsC (accCols / 2) ++@@ -1789,117 +1763,66 @@ EIGEN_STRONG_INLINE void gemm(const DataMapper& res, const Scalar* blockA, const ++ ++ // PEEL_COMPLEX loop factor. ++ #define PEEL_COMPLEX 3 +++#define PEEL_COMPLEX_ROW 3 ++ ++-template ++-EIGEN_ALWAYS_INLINE void MICRO_COMPLEX_EXTRA_COL( ++- const Scalar* &lhs_ptr_real, const Scalar* &lhs_ptr_imag, ++- const Scalar* &rhs_ptr_real, const Scalar* &rhs_ptr_imag, ++- PacketBlock &accReal, PacketBlock &accImag, ++- Index remaining_rows, ++- Index remaining_cols) ++-{ ++- Packet rhsV[1], rhsVi[1]; ++- rhsV[0] = pset1(rhs_ptr_real[0]); ++- if(!RhsIsReal) rhsVi[0] = pset1(rhs_ptr_imag[0]); ++- pgerc<1, Scalar, Packet, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal, &accImag, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi); ++- lhs_ptr_real += remaining_rows; ++- if(!LhsIsReal) lhs_ptr_imag += remaining_rows; ++- else EIGEN_UNUSED_VARIABLE(lhs_ptr_imag); ++- rhs_ptr_real += remaining_cols; ++- if(!RhsIsReal) rhs_ptr_imag += remaining_cols; ++- else EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++-} +++#define MICRO_COMPLEX_UNROLL_PEEL(func) \ +++ func(0) func(1) func(2) func(3) ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_col( ++- const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, ++- Index depth, ++- Index strideA, ++- Index offsetA, ++- Index strideB, ++- Index row, ++- Index col, ++- Index remaining_rows, ++- Index remaining_cols, ++- const Packet& pAlphaReal, ++- const Packet& pAlphaImag) ++-{ ++- const Scalar* rhs_ptr_real = rhs_base; ++- const Scalar* rhs_ptr_imag; ++- if(!RhsIsReal) rhs_ptr_imag = rhs_base + remaining_cols*strideB; ++- else EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++- const Scalar* lhs_ptr_real = lhs_base + advanceRows*row*strideA + remaining_rows*offsetA; ++- const Scalar* lhs_ptr_imag; ++- if(!LhsIsReal) lhs_ptr_imag = lhs_ptr_real + remaining_rows*strideA; ++- else EIGEN_UNUSED_VARIABLE(lhs_ptr_imag); ++- PacketBlock accReal, accImag; ++- PacketBlock taccReal, taccImag; ++- PacketBlock acc0, acc1; ++- ++- bsetzero(accReal); ++- bsetzero(accImag); ++- ++- Index remaining_depth = (depth & -accRows); ++- Index k = 0; ++- for(; k + PEEL_COMPLEX <= remaining_depth; k+= PEEL_COMPLEX) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr_real); ++- if(!RhsIsReal) { ++- EIGEN_POWER_PREFETCH(rhs_ptr_imag); ++- } ++- EIGEN_POWER_PREFETCH(lhs_ptr_real); ++- if(!LhsIsReal) { ++- EIGEN_POWER_PREFETCH(lhs_ptr_imag); ++- } ++- for (int l = 0; l < PEEL_COMPLEX; l++) { ++- MICRO_COMPLEX_EXTRA_COL(lhs_ptr_real, lhs_ptr_imag, rhs_ptr_real, rhs_ptr_imag, accReal, accImag, remaining_rows, remaining_cols); ++- } ++- } ++- for(; k < remaining_depth; k++) ++- { ++- MICRO_COMPLEX_EXTRA_COL(lhs_ptr_real, lhs_ptr_imag, rhs_ptr_real, rhs_ptr_imag, accReal, accImag, remaining_rows, remaining_cols); +++#define MICRO_COMPLEX_ZERO_PEEL(peel) \ +++ if ((PEEL_COMPLEX_ROW > peel) && (peel != 0)) { \ +++ bsetzero(accReal##peel); \ +++ bsetzero(accImag##peel); \ +++ } else { \ +++ EIGEN_UNUSED_VARIABLE(accReal##peel); \ +++ EIGEN_UNUSED_VARIABLE(accImag##peel); \ ++ } ++ ++- for(; k < depth; k++) ++- { ++- Packet rhsV[1], rhsVi[1]; ++- rhsV[0] = pset1(rhs_ptr_real[0]); ++- if(!RhsIsReal) rhsVi[0] = pset1(rhs_ptr_imag[0]); ++- pgerc<1, Scalar, Packet, Index, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal, &accImag, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi, remaining_rows); ++- lhs_ptr_real += remaining_rows; ++- if(!LhsIsReal) lhs_ptr_imag += remaining_rows; ++- rhs_ptr_real += remaining_cols; ++- if(!RhsIsReal) rhs_ptr_imag += remaining_cols; +++#define MICRO_COMPLEX_ZERO_PEEL_ROW \ +++ MICRO_COMPLEX_UNROLL_PEEL(MICRO_COMPLEX_ZERO_PEEL); +++ +++#define MICRO_COMPLEX_WORK_PEEL(peel) \ +++ if (PEEL_COMPLEX_ROW > peel) { \ +++ pbroadcastN_old(rhs_ptr_real + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ +++ if(!RhsIsReal) pbroadcastN_old(rhs_ptr_imag + (accRows * peel), rhsVi##peel[0], rhsVi##peel[1], rhsVi##peel[2], rhsVi##peel[3]); \ +++ pgerc(&accReal##peel, &accImag##peel, lhs_ptr_real + (remaining_rows * peel), lhs_ptr_imag + (remaining_rows * peel), rhsV##peel, rhsVi##peel); \ +++ } else { \ +++ EIGEN_UNUSED_VARIABLE(rhsV##peel); \ +++ EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++ } ++ ++- bscalec(accReal, accImag, pAlphaReal, pAlphaImag, taccReal, taccImag); ++- bcouple_common(taccReal, taccImag, acc0, acc1); +++#define MICRO_COMPLEX_WORK_PEEL_ROW \ +++ Packet rhsV0[4], rhsV1[4], rhsV2[4], rhsV3[4]; \ +++ Packet rhsVi0[4], rhsVi1[4], rhsVi2[4], rhsVi3[4]; \ +++ MICRO_COMPLEX_UNROLL_PEEL(MICRO_COMPLEX_WORK_PEEL); \ +++ lhs_ptr_real += (remaining_rows * PEEL_COMPLEX_ROW); \ +++ if(!LhsIsReal) lhs_ptr_imag += (remaining_rows * PEEL_COMPLEX_ROW); \ +++ else EIGEN_UNUSED_VARIABLE(lhs_ptr_imag); \ +++ rhs_ptr_real += (accRows * PEEL_COMPLEX_ROW); \ +++ if(!RhsIsReal) rhs_ptr_imag += (accRows * PEEL_COMPLEX_ROW); \ +++ else EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++ ++- if ((sizeof(Scalar) == sizeof(float)) && (remaining_rows == 1)) ++- { ++- res(row + 0, col + 0) += pfirst(acc0.packet[0]); ++- } else { ++- acc0.packet[0] += res.template loadPacket(row + 0, col + 0); ++- res.template storePacketBlock(row + 0, col + 0, acc0); ++- if(remaining_rows > accColsC) { ++- res(row + accColsC, col + 0) += pfirst(acc1.packet[0]); ++- } +++#define MICRO_COMPLEX_ADD_PEEL(peel, sum) \ +++ if (PEEL_COMPLEX_ROW > peel) { \ +++ for (Index i = 0; i < accRows; i++) { \ +++ accReal##sum.packet[i] += accReal##peel.packet[i]; \ +++ accImag##sum.packet[i] += accImag##peel.packet[i]; \ +++ } \ ++ } ++-} ++ ++-template +++#define MICRO_COMPLEX_ADD_PEEL_ROW \ +++ MICRO_COMPLEX_ADD_PEEL(2, 0) MICRO_COMPLEX_ADD_PEEL(3, 1) \ +++ MICRO_COMPLEX_ADD_PEEL(1, 0) +++ +++template ++ EIGEN_ALWAYS_INLINE void MICRO_COMPLEX_EXTRA_ROW( ++ const Scalar* &lhs_ptr_real, const Scalar* &lhs_ptr_imag, ++ const Scalar* &rhs_ptr_real, const Scalar* &rhs_ptr_imag, ++- PacketBlock &accReal, PacketBlock &accImag, ++- Index remaining_rows) +++ PacketBlock &accReal, PacketBlock &accImag) ++ { ++ Packet rhsV[4], rhsVi[4]; ++- pbroadcast4_old(rhs_ptr_real, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); ++- if(!RhsIsReal) pbroadcast4_old(rhs_ptr_imag, rhsVi[0], rhsVi[1], rhsVi[2], rhsVi[3]); ++- pgerc<4, Scalar, Packet, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal, &accImag, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi); +++ pbroadcastN_old(rhs_ptr_real, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); +++ if(!RhsIsReal) pbroadcastN_old(rhs_ptr_imag, rhsVi[0], rhsVi[1], rhsVi[2], rhsVi[3]); +++ pgerc(&accReal, &accImag, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi); ++ lhs_ptr_real += remaining_rows; ++ if(!LhsIsReal) lhs_ptr_imag += remaining_rows; ++ else EIGEN_UNUSED_VARIABLE(lhs_ptr_imag); ++@@ -1908,8 +1831,8 @@ EIGEN_ALWAYS_INLINE void MICRO_COMPLEX_EXTRA_ROW( ++ else EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++ } ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_row( +++template +++EIGEN_ALWAYS_INLINE void gemm_unrolled_complex_row_iteration( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++@@ -1921,106 +1844,141 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ Index col, ++ Index rows, ++ Index cols, ++- Index remaining_rows, ++ const Packet& pAlphaReal, ++ const Packet& pAlphaImag, ++ const Packet& pMask) ++ { ++ const Scalar* rhs_ptr_real = rhs_base; ++- const Scalar* rhs_ptr_imag; +++ const Scalar* rhs_ptr_imag = NULL; ++ if(!RhsIsReal) rhs_ptr_imag = rhs_base + accRows*strideB; ++ else EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++ const Scalar* lhs_ptr_real = lhs_base + advanceRows*row*strideA + remaining_rows*offsetA; ++- const Scalar* lhs_ptr_imag; +++ const Scalar* lhs_ptr_imag = NULL; ++ if(!LhsIsReal) lhs_ptr_imag = lhs_ptr_real + remaining_rows*strideA; ++ else EIGEN_UNUSED_VARIABLE(lhs_ptr_imag); ++- PacketBlock accReal, accImag; ++- PacketBlock taccReal, taccImag; ++- PacketBlock acc0, acc1; ++- PacketBlock tRes; +++ PacketBlock accReal0, accImag0, accReal1, accImag1, accReal2, accImag2, accReal3, accImag3; +++ PacketBlock taccReal, taccImag; +++ PacketBlock acc0, acc1; +++ PacketBlock tRes; ++ ++- bsetzero(accReal); ++- bsetzero(accImag); +++ bsetzero(accReal0); +++ bsetzero(accImag0); ++ ++- Index remaining_depth = (col + accRows < cols) ? depth : (depth & -accRows); +++ Index remaining_depth = (col + quad_traits::rows < cols) ? depth : (depth & -quad_traits::rows); ++ Index k = 0; ++- for(; k + PEEL_COMPLEX <= remaining_depth; k+= PEEL_COMPLEX) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr_real); ++- if(!RhsIsReal) { ++- EIGEN_POWER_PREFETCH(rhs_ptr_imag); ++- } ++- EIGEN_POWER_PREFETCH(lhs_ptr_real); ++- if(!LhsIsReal) { ++- EIGEN_POWER_PREFETCH(lhs_ptr_imag); ++- } ++- for (int l = 0; l < PEEL_COMPLEX; l++) { ++- MICRO_COMPLEX_EXTRA_ROW(lhs_ptr_real, lhs_ptr_imag, rhs_ptr_real, rhs_ptr_imag, accReal, accImag, remaining_rows); ++- } +++ if (remaining_depth >= PEEL_COMPLEX_ROW) { +++ MICRO_COMPLEX_ZERO_PEEL_ROW +++ do +++ { +++ EIGEN_POWER_PREFETCH(rhs_ptr_real); +++ if(!RhsIsReal) { +++ EIGEN_POWER_PREFETCH(rhs_ptr_imag); +++ } +++ EIGEN_POWER_PREFETCH(lhs_ptr_real); +++ if(!LhsIsReal) { +++ EIGEN_POWER_PREFETCH(lhs_ptr_imag); +++ } +++ MICRO_COMPLEX_WORK_PEEL_ROW +++ } while ((k += PEEL_COMPLEX_ROW) + PEEL_COMPLEX_ROW <= remaining_depth); +++ MICRO_COMPLEX_ADD_PEEL_ROW ++ } ++ for(; k < remaining_depth; k++) ++ { ++- MICRO_COMPLEX_EXTRA_ROW(lhs_ptr_real, lhs_ptr_imag, rhs_ptr_real, rhs_ptr_imag, accReal, accImag, remaining_rows); +++ MICRO_COMPLEX_EXTRA_ROW(lhs_ptr_real, lhs_ptr_imag, rhs_ptr_real, rhs_ptr_imag, accReal0, accImag0); ++ } ++ ++ if ((remaining_depth == depth) && (rows >= accCols)) ++ { ++- bload(tRes, res, row, col); ++- bscalec(accReal, accImag, pAlphaReal, pAlphaImag, taccReal, taccImag, pMask); ++- bcouple(taccReal, taccImag, tRes, acc0, acc1); ++- res.template storePacketBlock(row + 0, col, acc0); ++- res.template storePacketBlock(row + accColsC, col, acc1); +++ bload(tRes, res, row, 0); +++ bscalec(accReal0, accImag0, pAlphaReal, pAlphaImag, taccReal, taccImag, pMask); +++ bcouple(taccReal, taccImag, tRes, acc0, acc1); +++ res.template storePacketBlock(row + 0, 0, acc0); +++ res.template storePacketBlock(row + accColsC, 0, acc1); ++ } else { ++ for(; k < depth; k++) ++ { ++ Packet rhsV[4], rhsVi[4]; ++- pbroadcast4_old(rhs_ptr_real, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); ++- if(!RhsIsReal) pbroadcast4_old(rhs_ptr_imag, rhsVi[0], rhsVi[1], rhsVi[2], rhsVi[3]); ++- pgerc<4, Scalar, Packet, Index, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal, &accImag, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi, remaining_rows); +++ pbroadcastN_old(rhs_ptr_real, rhsV[0], rhsV[1], rhsV[2], rhsV[3]); +++ if(!RhsIsReal) pbroadcastN_old(rhs_ptr_imag, rhsVi[0], rhsVi[1], rhsVi[2], rhsVi[3]); +++ pgerc(&accReal0, &accImag0, lhs_ptr_real, lhs_ptr_imag, rhsV, rhsVi); ++ lhs_ptr_real += remaining_rows; ++ if(!LhsIsReal) lhs_ptr_imag += remaining_rows; ++ rhs_ptr_real += accRows; ++ if(!RhsIsReal) rhs_ptr_imag += accRows; ++ } ++ ++- bscalec(accReal, accImag, pAlphaReal, pAlphaImag, taccReal, taccImag); ++- bcouple_common(taccReal, taccImag, acc0, acc1); +++ bscalec(accReal0, accImag0, pAlphaReal, pAlphaImag, taccReal, taccImag); +++ bcouple_common(taccReal, taccImag, acc0, acc1); ++ ++ if ((sizeof(Scalar) == sizeof(float)) && (remaining_rows == 1)) ++ { ++- for(Index j = 0; j < 4; j++) { ++- res(row + 0, col + j) += pfirst(acc0.packet[j]); +++ for(Index j = 0; j < accRows; j++) { +++ res(row + 0, j) += pfirst(acc0.packet[j]); ++ } ++ } else { ++- for(Index j = 0; j < 4; j++) { +++ for(Index j = 0; j < accRows; j++) { ++ PacketBlock acc2; ++- acc2.packet[0] = res.template loadPacket(row + 0, col + j) + acc0.packet[j]; ++- res.template storePacketBlock(row + 0, col + j, acc2); +++ acc2.packet[0] = res.template loadPacket(row + 0, j) + acc0.packet[j]; +++ res.template storePacketBlock(row + 0, j, acc2); ++ if(remaining_rows > accColsC) { ++- res(row + accColsC, col + j) += pfirst(acc1.packet[j]); +++ res(row + accColsC, j) += pfirst(acc1.packet[j]); ++ } ++ } ++ } ++ } ++ } ++ +++template +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_row( +++ const DataMapper& res, +++ const Scalar* lhs_base, +++ const Scalar* rhs_base, +++ Index depth, +++ Index strideA, +++ Index offsetA, +++ Index strideB, +++ Index row, +++ Index col, +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlphaReal, +++ const Packet& pAlphaImag, +++ const Packet& pMask) +++{ +++ switch(remaining_rows) { +++ case 1: +++ gemm_unrolled_complex_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, pAlphaReal, pAlphaImag, pMask); +++ break; +++ case 2: +++ if (sizeof(Scalar) == sizeof(float)) { +++ gemm_unrolled_complex_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, pAlphaReal, pAlphaImag, pMask); +++ } +++ break; +++ default: +++ if (sizeof(Scalar) == sizeof(float)) { +++ gemm_unrolled_complex_row_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, pAlphaReal, pAlphaImag, pMask); +++ } +++ break; +++ } +++} +++ ++ #define MICRO_COMPLEX_UNROLL(func) \ ++- func(0) func(1) func(2) func(3) func(4) +++ func(0) func(1) func(2) func(3) ++ ++ #define MICRO_COMPLEX_UNROLL_WORK(func, func2, peel) \ ++ MICRO_COMPLEX_UNROLL(func2); \ ++- func(0,peel) func(1,peel) func(2,peel) func(3,peel) func(4,peel) +++ func(0,peel) func(1,peel) func(2,peel) func(3,peel) ++ ++ #define MICRO_COMPLEX_LOAD_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++ lhsV##iter = ploadLhs(lhs_ptr_real##iter); \ ++- lhs_ptr_real##iter += accCols; \ ++ if(!LhsIsReal) { \ ++- lhsVi##iter = ploadLhs(lhs_ptr_imag##iter); \ ++- lhs_ptr_imag##iter += accCols; \ +++ lhsVi##iter = ploadLhs(lhs_ptr_real##iter + imag_delta); \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhsVi##iter); \ ++ } \ +++ lhs_ptr_real##iter += accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhsV##iter); \ ++ EIGEN_UNUSED_VARIABLE(lhsVi##iter); \ ++@@ -2028,37 +1986,16 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ ++ #define MICRO_COMPLEX_WORK_ONE4(iter, peel) \ ++ if (unroll_factor > iter) { \ ++- pgerc_common<4, Packet, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal##iter, &accImag##iter, lhsV##iter, lhsVi##iter, rhsV##peel, rhsVi##peel); \ ++- } ++- ++-#define MICRO_COMPLEX_WORK_ONE1(iter, peel) \ ++- if (unroll_factor > iter) { \ ++- pgerc_common<1, Packet, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(&accReal##iter, &accImag##iter, lhsV##iter, lhsVi##iter, rhsV##peel, rhsVi##peel); \ +++ pgerc_common(&accReal##iter, &accImag##iter, lhsV##iter, lhsVi##iter, rhsV##peel, rhsVi##peel); \ ++ } ++ ++ #define MICRO_COMPLEX_TYPE_PEEL4(func, func2, peel) \ ++ if (PEEL_COMPLEX > peel) { \ ++- Packet lhsV0, lhsV1, lhsV2, lhsV3, lhsV4; \ ++- Packet lhsVi0, lhsVi1, lhsVi2, lhsVi3, lhsVi4; \ ++- pbroadcast4_old(rhs_ptr_real + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ +++ Packet lhsV0, lhsV1, lhsV2, lhsV3; \ +++ Packet lhsVi0, lhsVi1, lhsVi2, lhsVi3; \ +++ pbroadcastN_old(rhs_ptr_real + (accRows * peel), rhsV##peel[0], rhsV##peel[1], rhsV##peel[2], rhsV##peel[3]); \ ++ if(!RhsIsReal) { \ ++- pbroadcast4_old(rhs_ptr_imag + (accRows * peel), rhsVi##peel[0], rhsVi##peel[1], rhsVi##peel[2], rhsVi##peel[3]); \ ++- } else { \ ++- EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++- } \ ++- MICRO_COMPLEX_UNROLL_WORK(func, func2, peel) \ ++- } else { \ ++- EIGEN_UNUSED_VARIABLE(rhsV##peel); \ ++- EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++- } ++- ++-#define MICRO_COMPLEX_TYPE_PEEL1(func, func2, peel) \ ++- if (PEEL_COMPLEX > peel) { \ ++- Packet lhsV0, lhsV1, lhsV2, lhsV3, lhsV4; \ ++- Packet lhsVi0, lhsVi1, lhsVi2, lhsVi3, lhsVi4; \ ++- rhsV##peel[0] = pset1(rhs_ptr_real[remaining_cols * peel]); \ ++- if(!RhsIsReal) { \ ++- rhsVi##peel[0] = pset1(rhs_ptr_imag[remaining_cols * peel]); \ +++ pbroadcastN_old(rhs_ptr_imag + (accRows * peel), rhsVi##peel[0], rhsVi##peel[1], rhsVi##peel[2], rhsVi##peel[3]); \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++ } \ ++@@ -2069,13 +2006,10 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ } ++ ++ #define MICRO_COMPLEX_UNROLL_TYPE_PEEL(M, func, func1, func2) \ ++- Packet rhsV0[M], rhsV1[M], rhsV2[M], rhsV3[M], rhsV4[M], rhsV5[M], rhsV6[M], rhsV7[M], rhsV8[M], rhsV9[M]; \ ++- Packet rhsVi0[M], rhsVi1[M], rhsVi2[M], rhsVi3[M], rhsVi4[M], rhsVi5[M], rhsVi6[M], rhsVi7[M], rhsVi8[M], rhsVi9[M]; \ +++ Packet rhsV0[M], rhsV1[M], rhsV2[M], rhsV3[M]; \ +++ Packet rhsVi0[M], rhsVi1[M], rhsVi2[M], rhsVi3[M]; \ ++ func(func1,func2,0); func(func1,func2,1); \ ++- func(func1,func2,2); func(func1,func2,3); \ ++- func(func1,func2,4); func(func1,func2,5); \ ++- func(func1,func2,6); func(func1,func2,7); \ ++- func(func1,func2,8); func(func1,func2,9); +++ func(func1,func2,2); func(func1,func2,3); ++ ++ #define MICRO_COMPLEX_UNROLL_TYPE_ONE(M, func, func1, func2) \ ++ Packet rhsV0[M], rhsVi0[M];\ ++@@ -2091,20 +2025,10 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ rhs_ptr_real += accRows; \ ++ if(!RhsIsReal) rhs_ptr_imag += accRows; ++ ++-#define MICRO_COMPLEX_ONE_PEEL1 \ ++- MICRO_COMPLEX_UNROLL_TYPE_PEEL(1, MICRO_COMPLEX_TYPE_PEEL1, MICRO_COMPLEX_WORK_ONE1, MICRO_COMPLEX_LOAD_ONE); \ ++- rhs_ptr_real += (remaining_cols * PEEL_COMPLEX); \ ++- if(!RhsIsReal) rhs_ptr_imag += (remaining_cols * PEEL_COMPLEX); ++- ++-#define MICRO_COMPLEX_ONE1 \ ++- MICRO_COMPLEX_UNROLL_TYPE_ONE(1, MICRO_COMPLEX_TYPE_PEEL1, MICRO_COMPLEX_WORK_ONE1, MICRO_COMPLEX_LOAD_ONE); \ ++- rhs_ptr_real += remaining_cols; \ ++- if(!RhsIsReal) rhs_ptr_imag += remaining_cols; ++- ++ #define MICRO_COMPLEX_DST_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- bsetzero(accReal##iter); \ ++- bsetzero(accImag##iter); \ +++ bsetzero(accReal##iter); \ +++ bsetzero(accImag##iter); \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(accReal##iter); \ ++ EIGEN_UNUSED_VARIABLE(accImag##iter); \ ++@@ -2114,15 +2038,9 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ ++ #define MICRO_COMPLEX_SRC_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- lhs_ptr_real##iter = lhs_base + ( ((advanceRows*row)/accCols) + iter*advanceRows )*strideA*accCols + accCols*offsetA; \ ++- if(!LhsIsReal) { \ ++- lhs_ptr_imag##iter = lhs_ptr_real##iter + accCols*strideA; \ ++- } else { \ ++- EIGEN_UNUSED_VARIABLE(lhs_ptr_imag##iter); \ ++- } \ +++ lhs_ptr_real##iter = lhs_base + ( ((advanceRows*row)/accCols) + iter*advanceRows )*strideA*accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhs_ptr_real##iter); \ ++- EIGEN_UNUSED_VARIABLE(lhs_ptr_imag##iter); \ ++ } ++ ++ #define MICRO_COMPLEX_SRC_PTR MICRO_COMPLEX_UNROLL(MICRO_COMPLEX_SRC_PTR_ONE) ++@@ -2130,35 +2048,21 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ #define MICRO_COMPLEX_PREFETCH_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++ EIGEN_POWER_PREFETCH(lhs_ptr_real##iter); \ ++- if(!LhsIsReal) { \ ++- EIGEN_POWER_PREFETCH(lhs_ptr_imag##iter); \ ++- } \ ++ } ++ ++ #define MICRO_COMPLEX_PREFETCH MICRO_COMPLEX_UNROLL(MICRO_COMPLEX_PREFETCH_ONE) ++ ++ #define MICRO_COMPLEX_STORE_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- bload(tRes, res, row + iter*accCols, col); \ ++- bscalec(accReal##iter, accImag##iter, pAlphaReal, pAlphaImag, taccReal, taccImag); \ ++- bcouple(taccReal, taccImag, tRes, acc0, acc1); \ ++- res.template storePacketBlock(row + iter*accCols + 0, col, acc0); \ ++- res.template storePacketBlock(row + iter*accCols + accColsC, col, acc1); \ +++ bload(tRes, res, row + iter*accCols, 0); \ +++ bscalec(accReal##iter, accImag##iter, pAlphaReal, pAlphaImag, taccReal, taccImag); \ +++ bcouple(taccReal, taccImag, tRes, acc0, acc1); \ +++ res.template storePacketBlock(row + iter*accCols + 0, 0, acc0); \ +++ res.template storePacketBlock(row + iter*accCols + accColsC, 0, acc1); \ ++ } ++ ++ #define MICRO_COMPLEX_STORE MICRO_COMPLEX_UNROLL(MICRO_COMPLEX_STORE_ONE) ++ ++-#define MICRO_COMPLEX_COL_STORE_ONE(iter) \ ++- if (unroll_factor > iter) { \ ++- bload(tRes, res, row + iter*accCols, col); \ ++- bscalec(accReal##iter, accImag##iter, pAlphaReal, pAlphaImag, taccReal, taccImag); \ ++- bcouple(taccReal, taccImag, tRes, acc0, acc1); \ ++- res.template storePacketBlock(row + iter*accCols + 0, col, acc0); \ ++- res.template storePacketBlock(row + iter*accCols + accColsC, col, acc1); \ ++- } ++- ++-#define MICRO_COMPLEX_COL_STORE MICRO_COMPLEX_UNROLL(MICRO_COMPLEX_COL_STORE_ONE) ++- ++ template ++ EIGEN_STRONG_INLINE void gemm_complex_unrolled_iteration( ++ const DataMapper& res, ++@@ -2166,29 +2070,26 @@ EIGEN_STRONG_INLINE void gemm_complex_unrolled_iteration( ++ const Scalar* rhs_base, ++ Index depth, ++ Index strideA, ++- Index offsetA, ++ Index strideB, ++ Index& row, ++- Index col, ++ const Packet& pAlphaReal, ++ const Packet& pAlphaImag) ++ { ++ const Scalar* rhs_ptr_real = rhs_base; ++- const Scalar* rhs_ptr_imag; +++ const Scalar* rhs_ptr_imag = NULL; +++ const Index imag_delta = accCols*strideA; ++ if(!RhsIsReal) { ++ rhs_ptr_imag = rhs_base + accRows*strideB; ++ } else { ++ EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++ } ++- const Scalar* lhs_ptr_real0 = NULL, * lhs_ptr_imag0 = NULL, * lhs_ptr_real1 = NULL, * lhs_ptr_imag1 = NULL; ++- const Scalar* lhs_ptr_real2 = NULL, * lhs_ptr_imag2 = NULL, * lhs_ptr_real3 = NULL, * lhs_ptr_imag3 = NULL; ++- const Scalar* lhs_ptr_real4 = NULL, * lhs_ptr_imag4 = NULL; ++- PacketBlock accReal0, accImag0, accReal1, accImag1; ++- PacketBlock accReal2, accImag2, accReal3, accImag3; ++- PacketBlock accReal4, accImag4; ++- PacketBlock taccReal, taccImag; ++- PacketBlock acc0, acc1; ++- PacketBlock tRes; +++ const Scalar* lhs_ptr_real0 = NULL, * lhs_ptr_real1 = NULL; +++ const Scalar* lhs_ptr_real2 = NULL, * lhs_ptr_real3 = NULL; +++ PacketBlock accReal0, accImag0, accReal1, accImag1; +++ PacketBlock accReal2, accImag2, accReal3, accImag3; +++ PacketBlock taccReal, taccImag; +++ PacketBlock acc0, acc1; +++ PacketBlock tRes; ++ ++ MICRO_COMPLEX_SRC_PTR ++ MICRO_COMPLEX_DST_PTR ++@@ -2212,112 +2113,93 @@ EIGEN_STRONG_INLINE void gemm_complex_unrolled_iteration( ++ row += unroll_factor*accCols; ++ } ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_complex_unrolled_col_iteration( +++template +++EIGEN_ALWAYS_INLINE void gemm_complex_cols( ++ const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, +++ const Scalar* blockA, +++ const Scalar* blockB, ++ Index depth, ++ Index strideA, ++ Index offsetA, ++ Index strideB, ++- Index& row, +++ Index offsetB, ++ Index col, ++- Index remaining_cols, +++ Index rows, +++ Index cols, +++ Index remaining_rows, ++ const Packet& pAlphaReal, ++- const Packet& pAlphaImag) +++ const Packet& pAlphaImag, +++ const Packet& pMask) ++ { ++- const Scalar* rhs_ptr_real = rhs_base; ++- const Scalar* rhs_ptr_imag; ++- if(!RhsIsReal) { ++- rhs_ptr_imag = rhs_base + remaining_cols*strideB; ++- } else { ++- EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++- } ++- const Scalar* lhs_ptr_real0 = NULL, * lhs_ptr_imag0 = NULL, * lhs_ptr_real1 = NULL, * lhs_ptr_imag1 = NULL; ++- const Scalar* lhs_ptr_real2 = NULL, * lhs_ptr_imag2 = NULL, * lhs_ptr_real3 = NULL, * lhs_ptr_imag3 = NULL; ++- const Scalar* lhs_ptr_real4 = NULL, * lhs_ptr_imag4 = NULL; ++- PacketBlock accReal0, accImag0, accReal1, accImag1; ++- PacketBlock accReal2, accImag2, accReal3, accImag3; ++- PacketBlock accReal4, accImag4; ++- PacketBlock taccReal, taccImag; ++- PacketBlock acc0, acc1; ++- PacketBlock tRes; +++ const DataMapper res3 = res.getSubMapper(0, col); ++ ++- MICRO_COMPLEX_SRC_PTR ++- MICRO_COMPLEX_DST_PTR +++ const Scalar* rhs_base = blockB + advanceCols*col*strideB + accRows*offsetB; +++ const Scalar* lhs_base = blockA + accCols*offsetA; +++ Index row = 0; ++ ++- Index k = 0; ++- for(; k + PEEL_COMPLEX <= depth; k+= PEEL_COMPLEX) ++- { ++- EIGEN_POWER_PREFETCH(rhs_ptr_real); ++- if(!RhsIsReal) { ++- EIGEN_POWER_PREFETCH(rhs_ptr_imag); ++- } ++- MICRO_COMPLEX_PREFETCH ++- MICRO_COMPLEX_ONE_PEEL1 +++#define MAX_COMPLEX_UNROLL 3 +++ while(row + MAX_COMPLEX_UNROLL*accCols <= rows) { +++ gemm_complex_unrolled_iteration(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); ++ } ++- for(; k < depth; k++) ++- { ++- MICRO_COMPLEX_ONE1 +++ switch( (rows-row)/accCols ) { +++#if MAX_COMPLEX_UNROLL > 4 +++ case 4: +++ gemm_complex_unrolled_iteration<4, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_UNROLL > 3 +++ case 3: +++ gemm_complex_unrolled_iteration<3, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_UNROLL > 2 +++ case 2: +++ gemm_complex_unrolled_iteration<2, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_UNROLL > 1 +++ case 1: +++ gemm_complex_unrolled_iteration<1, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++ default: +++ break; ++ } ++- MICRO_COMPLEX_COL_STORE +++#undef MAX_COMPLEX_UNROLL ++ ++- row += unroll_factor*accCols; +++ if(remaining_rows > 0) +++ { +++ gemm_complex_extra_row(res3, blockA, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); +++ } ++ } ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_unrolled_col( +++EIGEN_STRONG_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, +++ const Scalar* blockA, +++ const Scalar* blockB, ++ Index depth, ++ Index strideA, ++ Index offsetA, ++ Index strideB, ++- Index& row, ++- Index rows, +++ Index offsetB, ++ Index col, ++- Index remaining_cols, +++ Index rows, +++ Index cols, +++ Index remaining_rows, ++ const Packet& pAlphaReal, ++- const Packet& pAlphaImag) +++ const Packet& pAlphaImag, +++ const Packet& pMask) ++ { ++-#define MAX_COMPLEX_UNROLL 3 ++- while(row + MAX_COMPLEX_UNROLL*accCols <= rows) { ++- gemm_complex_unrolled_col_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_cols, pAlphaReal, pAlphaImag); ++- } ++- switch( (rows-row)/accCols ) { ++-#if MAX_COMPLEX_UNROLL > 4 ++- case 4: ++- gemm_complex_unrolled_col_iteration<4, Scalar, Packet, Packetc, DataMapper, Index, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_cols, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 3 ++- case 3: ++- gemm_complex_unrolled_col_iteration<3, Scalar, Packet, Packetc, DataMapper, Index, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_cols, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 2 ++- case 2: ++- gemm_complex_unrolled_col_iteration<2, Scalar, Packet, Packetc, DataMapper, Index, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_cols, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 1 ++- case 1: ++- gemm_complex_unrolled_col_iteration<1, Scalar, Packet, Packetc, DataMapper, Index, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_cols, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++- default: ++- break; +++ for (; col < cols; col++) { +++ gemm_complex_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ } ++-#undef MAX_COMPLEX_UNROLL ++ } ++ ++ template ++ EIGEN_STRONG_INLINE void gemm_complex(const DataMapper& res, const LhsScalar* blockAc, const RhsScalar* blockBc, Index rows, Index depth, Index cols, Scalarc alpha, Index strideA, Index strideB, Index offsetA, Index offsetB) ++ { ++ const Index remaining_rows = rows % accCols; ++- const Index remaining_cols = cols % accRows; ++ ++ if( strideA == -1 ) strideA = depth; ++ if( strideB == -1 ) strideB = depth; ++@@ -2332,64 +2214,10 @@ EIGEN_STRONG_INLINE void gemm_complex(const DataMapper& res, const LhsScalar* bl ++ Index col = 0; ++ for(; col + accRows <= cols; col += accRows) ++ { ++- const Scalar* rhs_base = blockB + advanceCols*col*strideB + accRows*offsetB; ++- const Scalar* lhs_base = blockA; ++- Index row = 0; ++- ++-#define MAX_COMPLEX_UNROLL 3 ++- while(row + MAX_COMPLEX_UNROLL*accCols <= rows) { ++- gemm_complex_unrolled_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- } ++- switch( (rows-row)/accCols ) { ++-#if MAX_COMPLEX_UNROLL > 4 ++- case 4: ++- gemm_complex_unrolled_iteration<4, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 3 ++- case 3: ++- gemm_complex_unrolled_iteration<3, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 2 ++- case 2: ++- gemm_complex_unrolled_iteration<2, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_UNROLL > 1 ++- case 1: ++- gemm_complex_unrolled_iteration<1, Scalar, Packet, Packetc, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++- default: ++- break; ++- } ++-#undef MAX_COMPLEX_UNROLL ++- ++- if(remaining_rows > 0) ++- { ++- gemm_complex_extra_row(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++- } +++ gemm_complex_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ } ++ ++- if(remaining_cols > 0) ++- { ++- const Scalar* rhs_base = blockB + advanceCols*col*strideB + remaining_cols*offsetB; ++- const Scalar* lhs_base = blockA; ++- ++- for(; col < cols; col++) ++- { ++- Index row = 0; ++- ++- gemm_complex_unrolled_col(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, rows, col, remaining_cols, pAlphaReal, pAlphaImag); ++- ++- if (remaining_rows > 0) ++- { ++- gemm_complex_extra_col(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_rows, remaining_cols, pAlphaReal, pAlphaImag); ++- } ++- rhs_base++; ++- } ++- } +++ gemm_complex_extra_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ } ++ ++ #undef accColsC ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++index 33d543494..bf01dba1c 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h ++@@ -9,22 +9,8 @@ namespace Eigen { ++ ++ namespace internal { ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_extra_col( ++- const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, ++- Index depth, ++- Index strideA, ++- Index offsetA, ++- Index row, ++- Index col, ++- Index remaining_rows, ++- Index remaining_cols, ++- const Packet& pAlpha); ++- ++ template ++-EIGEN_STRONG_INLINE void gemm_extra_row( +++EIGEN_ALWAYS_INLINE void gemm_extra_row( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++@@ -39,41 +25,28 @@ EIGEN_STRONG_INLINE void gemm_extra_row( ++ const Packet& pAlpha, ++ const Packet& pMask); ++ ++-template ++-EIGEN_STRONG_INLINE void gemm_unrolled_col( +++template +++EIGEN_STRONG_INLINE void gemm_extra_cols( ++ const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, +++ const Scalar* blockA, +++ const Scalar* blockB, ++ Index depth, ++ Index strideA, ++ Index offsetA, ++- Index& row, ++- Index rows, +++ Index strideB, +++ Index offsetB, ++ Index col, ++- Index remaining_cols, ++- const Packet& pAlpha); +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlpha, +++ const Packet& pMask); ++ ++ template ++ EIGEN_ALWAYS_INLINE Packet bmask(const int remaining_rows); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_col( ++- const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, ++- Index depth, ++- Index strideA, ++- Index offsetA, ++- Index strideB, ++- Index row, ++- Index col, ++- Index remaining_rows, ++- Index remaining_cols, ++- const Packet& pAlphaReal, ++- const Packet& pAlphaImag); ++- ++-template ++-EIGEN_STRONG_INLINE void gemm_complex_extra_row( +++EIGEN_ALWAYS_INLINE void gemm_complex_extra_row( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++@@ -91,123 +64,88 @@ EIGEN_STRONG_INLINE void gemm_complex_extra_row( ++ const Packet& pMask); ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_unrolled_col( +++EIGEN_STRONG_INLINE void gemm_complex_extra_cols( ++ const DataMapper& res, ++- const Scalar* lhs_base, ++- const Scalar* rhs_base, +++ const Scalar* blockA, +++ const Scalar* blockB, ++ Index depth, ++ Index strideA, ++ Index offsetA, ++ Index strideB, ++- Index& row, ++- Index rows, +++ Index offsetB, ++ Index col, ++- Index remaining_cols, +++ Index rows, +++ Index cols, +++ Index remaining_rows, ++ const Packet& pAlphaReal, ++- const Packet& pAlphaImag); +++ const Packet& pAlphaImag, +++ const Packet& pMask); ++ ++ template ++ EIGEN_ALWAYS_INLINE Packet ploadLhs(const Scalar* lhs); ++ ++-template ++-EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col); +++template +++EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col); ++ ++-template ++-EIGEN_ALWAYS_INLINE void bload(PacketBlock& acc, const DataMapper& res, Index row, Index col); ++- ++-template ++-EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha); +++template +++EIGEN_ALWAYS_INLINE void bscale(PacketBlock& acc, PacketBlock& accZ, const Packet& pAlpha); ++ ++ template ++ EIGEN_ALWAYS_INLINE void bscalec(PacketBlock& aReal, PacketBlock& aImag, const Packet& bReal, const Packet& bImag, PacketBlock& cReal, PacketBlock& cImag); ++ ++-const static Packet16uc p16uc_SETCOMPLEX32_FIRST = { 0, 1, 2, 3, ++- 16, 17, 18, 19, ++- 4, 5, 6, 7, ++- 20, 21, 22, 23}; ++- ++-const static Packet16uc p16uc_SETCOMPLEX32_SECOND = { 8, 9, 10, 11, ++- 24, 25, 26, 27, ++- 12, 13, 14, 15, ++- 28, 29, 30, 31}; ++-//[a,b],[ai,bi] = [a,ai] - This is equivalent to p16uc_GETREAL64 ++-const static Packet16uc p16uc_SETCOMPLEX64_FIRST = { 0, 1, 2, 3, 4, 5, 6, 7, ++- 16, 17, 18, 19, 20, 21, 22, 23}; ++- ++-//[a,b],[ai,bi] = [b,bi] - This is equivalent to p16uc_GETIMAG64 ++-const static Packet16uc p16uc_SETCOMPLEX64_SECOND = { 8, 9, 10, 11, 12, 13, 14, 15, ++- 24, 25, 26, 27, 28, 29, 30, 31}; ++- ++- ++ // Grab two decouples real/imaginary PacketBlocks and return two coupled (real/imaginary pairs) PacketBlocks. ++-template ++-EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& acc1, PacketBlock& acc2) ++-{ ++- acc1.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX32_FIRST); ++- acc1.packet[1].v = vec_perm(taccReal.packet[1], taccImag.packet[1], p16uc_SETCOMPLEX32_FIRST); ++- acc1.packet[2].v = vec_perm(taccReal.packet[2], taccImag.packet[2], p16uc_SETCOMPLEX32_FIRST); ++- acc1.packet[3].v = vec_perm(taccReal.packet[3], taccImag.packet[3], p16uc_SETCOMPLEX32_FIRST); ++- ++- acc2.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX32_SECOND); ++- acc2.packet[1].v = vec_perm(taccReal.packet[1], taccImag.packet[1], p16uc_SETCOMPLEX32_SECOND); ++- acc2.packet[2].v = vec_perm(taccReal.packet[2], taccImag.packet[2], p16uc_SETCOMPLEX32_SECOND); ++- acc2.packet[3].v = vec_perm(taccReal.packet[3], taccImag.packet[3], p16uc_SETCOMPLEX32_SECOND); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void bcouple(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& tRes, PacketBlock& acc1, PacketBlock& acc2) ++-{ ++- bcouple_common(taccReal, taccImag, acc1, acc2); ++- ++- acc1.packet[0] = padd(tRes.packet[0], acc1.packet[0]); ++- acc1.packet[1] = padd(tRes.packet[1], acc1.packet[1]); ++- acc1.packet[2] = padd(tRes.packet[2], acc1.packet[2]); ++- acc1.packet[3] = padd(tRes.packet[3], acc1.packet[3]); ++- ++- acc2.packet[0] = padd(tRes.packet[4], acc2.packet[0]); ++- acc2.packet[1] = padd(tRes.packet[5], acc2.packet[1]); ++- acc2.packet[2] = padd(tRes.packet[6], acc2.packet[2]); ++- acc2.packet[3] = padd(tRes.packet[7], acc2.packet[3]); ++-} ++- ++-template ++-EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& acc1, PacketBlock& acc2) +++template +++EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& acc1, PacketBlock& acc2) ++ { ++- acc1.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX32_FIRST); ++- ++- acc2.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX32_SECOND); +++ acc1.packet[0].v = vec_mergeh(taccReal.packet[0], taccImag.packet[0]); +++ if (N > 1) { +++ acc1.packet[1].v = vec_mergeh(taccReal.packet[1], taccImag.packet[1]); +++ } +++ if (N > 2) { +++ acc1.packet[2].v = vec_mergeh(taccReal.packet[2], taccImag.packet[2]); +++ } +++ if (N > 3) { +++ acc1.packet[3].v = vec_mergeh(taccReal.packet[3], taccImag.packet[3]); +++ } +++ +++ acc2.packet[0].v = vec_mergel(taccReal.packet[0], taccImag.packet[0]); +++ if (N > 1) { +++ acc2.packet[1].v = vec_mergel(taccReal.packet[1], taccImag.packet[1]); +++ } +++ if (N > 2) { +++ acc2.packet[2].v = vec_mergel(taccReal.packet[2], taccImag.packet[2]); +++ } +++ if (N > 3) { +++ acc2.packet[3].v = vec_mergel(taccReal.packet[3], taccImag.packet[3]); +++ } ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void bcouple(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& tRes, PacketBlock& acc1, PacketBlock& acc2) +++template +++EIGEN_ALWAYS_INLINE void bcouple(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& tRes, PacketBlock& acc1, PacketBlock& acc2) ++ { ++- bcouple_common(taccReal, taccImag, acc1, acc2); +++ bcouple_common(taccReal, taccImag, acc1, acc2); ++ ++ acc1.packet[0] = padd(tRes.packet[0], acc1.packet[0]); ++- ++- acc2.packet[0] = padd(tRes.packet[1], acc2.packet[0]); ++-} ++- ++-template<> ++-EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& acc1, PacketBlock& acc2) ++-{ ++- acc1.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX64_FIRST); ++- acc1.packet[1].v = vec_perm(taccReal.packet[1], taccImag.packet[1], p16uc_SETCOMPLEX64_FIRST); ++- acc1.packet[2].v = vec_perm(taccReal.packet[2], taccImag.packet[2], p16uc_SETCOMPLEX64_FIRST); ++- acc1.packet[3].v = vec_perm(taccReal.packet[3], taccImag.packet[3], p16uc_SETCOMPLEX64_FIRST); ++- ++- acc2.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX64_SECOND); ++- acc2.packet[1].v = vec_perm(taccReal.packet[1], taccImag.packet[1], p16uc_SETCOMPLEX64_SECOND); ++- acc2.packet[2].v = vec_perm(taccReal.packet[2], taccImag.packet[2], p16uc_SETCOMPLEX64_SECOND); ++- acc2.packet[3].v = vec_perm(taccReal.packet[3], taccImag.packet[3], p16uc_SETCOMPLEX64_SECOND); ++-} ++- ++-template<> ++-EIGEN_ALWAYS_INLINE void bcouple_common(PacketBlock& taccReal, PacketBlock& taccImag, PacketBlock& acc1, PacketBlock& acc2) ++-{ ++- acc1.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX64_FIRST); ++- ++- acc2.packet[0].v = vec_perm(taccReal.packet[0], taccImag.packet[0], p16uc_SETCOMPLEX64_SECOND); +++ if (N > 1) { +++ acc1.packet[1] = padd(tRes.packet[1], acc1.packet[1]); +++ } +++ if (N > 2) { +++ acc1.packet[2] = padd(tRes.packet[2], acc1.packet[2]); +++ } +++ if (N > 3) { +++ acc1.packet[3] = padd(tRes.packet[3], acc1.packet[3]); +++ } +++ +++ acc2.packet[0] = padd(tRes.packet[0+N], acc2.packet[0]); +++ if (N > 1) { +++ acc2.packet[1] = padd(tRes.packet[1+N], acc2.packet[1]); +++ } +++ if (N > 2) { +++ acc2.packet[2] = padd(tRes.packet[2+N], acc2.packet[2]); +++ } +++ if (N > 3) { +++ acc2.packet[3] = padd(tRes.packet[3+N], acc2.packet[3]); +++ } ++ } ++ ++ // This is necessary because ploadRhs for double returns a pair of vectors when MMA is enabled. ++diff --git a/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h b/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h ++index 6540c6fa6..5b4449537 100644 ++--- a/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +++++ b/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h ++@@ -11,7 +11,7 @@ ++ #ifndef EIGEN_MATRIX_PRODUCT_MMA_ALTIVEC_H ++ #define EIGEN_MATRIX_PRODUCT_MMA_ALTIVEC_H ++ ++-#pragma GCC target("cpu=power10") +++#pragma GCC target("cpu=power10,htm") ++ ++ #ifdef __has_builtin ++ #if !__has_builtin(__builtin_vsx_assemble_pair) ++@@ -30,37 +30,37 @@ EIGEN_ALWAYS_INLINE void bsetzeroMMA(__vector_quad* acc) ++ } ++ ++ template ++-EIGEN_ALWAYS_INLINE void storeAccumulator(Index i, Index j, const DataMapper& data, const Packet& alpha, __vector_quad* acc) +++EIGEN_ALWAYS_INLINE void storeAccumulator(Index i, const DataMapper& data, const Packet& alpha, __vector_quad* acc) ++ { ++ PacketBlock result; ++ __builtin_mma_disassemble_acc(&result.packet, acc); ++ ++ PacketBlock tRes; ++- bload(tRes, data, i, j); +++ bload(tRes, data, i, 0); ++ ++- bscale(tRes, result, alpha); +++ bscale(tRes, result, alpha); ++ ++- data.template storePacketBlock(i, j, tRes); +++ data.template storePacketBlock(i, 0, tRes); ++ } ++ ++-template ++-EIGEN_ALWAYS_INLINE void storeComplexAccumulator(Index i, Index j, const DataMapper& data, const Packet& alphaReal, const Packet& alphaImag, __vector_quad* accReal, __vector_quad* accImag) +++template +++EIGEN_ALWAYS_INLINE void storeComplexAccumulator(Index i, const DataMapper& data, const Packet& alphaReal, const Packet& alphaImag, __vector_quad* accReal, __vector_quad* accImag) ++ { ++ PacketBlock resultReal, resultImag; ++ __builtin_mma_disassemble_acc(&resultReal.packet, accReal); ++ __builtin_mma_disassemble_acc(&resultImag.packet, accImag); ++ ++ PacketBlock tRes; ++- bload(tRes, data, i, j); +++ bload(tRes, data, i, 0); ++ ++ PacketBlock taccReal, taccImag; ++ bscalec(resultReal, resultImag, alphaReal, alphaImag, taccReal, taccImag); ++ ++ PacketBlock acc1, acc2; ++- bcouple(taccReal, taccImag, tRes, acc1, acc2); +++ bcouple(taccReal, taccImag, tRes, acc1, acc2); ++ ++- data.template storePacketBlock(i + N*accColsC, j, acc1); ++- data.template storePacketBlock(i + (N+1)*accColsC, j, acc2); +++ data.template storePacketBlock(i, 0, acc1); +++ data.template storePacketBlock(i + accColsC, 0, acc2); ++ } ++ ++ // Defaults to float32, since Eigen still supports C++03 we can't use default template arguments ++@@ -125,7 +125,7 @@ EIGEN_ALWAYS_INLINE void pgercMMA(__vector_quad* accReal, __vector_quad* accImag ++ template ++ EIGEN_ALWAYS_INLINE void ploadRhsMMA(const Scalar* rhs, Packet& rhsV) ++ { ++- rhsV = ploadRhs((const Scalar*)(rhs)); +++ rhsV = ploadRhs(rhs); ++ } ++ ++ template<> ++@@ -184,12 +184,11 @@ EIGEN_ALWAYS_INLINE void ploadRhsMMA(const float*, __vector_pair&) ++ } ++ ++ #define MICRO_MMA_UNROLL_TYPE_PEEL(func, func2, type) \ ++- type rhsV0, rhsV1, rhsV2, rhsV3, rhsV4, rhsV5, rhsV6, rhsV7, rhsV8, rhsV9; \ +++ type rhsV0, rhsV1, rhsV2, rhsV3, rhsV4, rhsV5, rhsV6, rhsV7; \ ++ MICRO_MMA_TYPE_PEEL(func,func2,type,0); MICRO_MMA_TYPE_PEEL(func,func2,type,1); \ ++ MICRO_MMA_TYPE_PEEL(func,func2,type,2); MICRO_MMA_TYPE_PEEL(func,func2,type,3); \ ++ MICRO_MMA_TYPE_PEEL(func,func2,type,4); MICRO_MMA_TYPE_PEEL(func,func2,type,5); \ ++- MICRO_MMA_TYPE_PEEL(func,func2,type,6); MICRO_MMA_TYPE_PEEL(func,func2,type,7); \ ++- MICRO_MMA_TYPE_PEEL(func,func2,type,8); MICRO_MMA_TYPE_PEEL(func,func2,type,9); +++ MICRO_MMA_TYPE_PEEL(func,func2,type,6); MICRO_MMA_TYPE_PEEL(func,func2,type,7); ++ ++ #define MICRO_MMA_UNROLL_TYPE_ONE(func, func2, type) \ ++ type rhsV0; \ ++@@ -222,7 +221,7 @@ EIGEN_ALWAYS_INLINE void ploadRhsMMA(const float*, __vector_pair&) ++ ++ #define MICRO_MMA_SRC_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- lhs_ptr##iter = lhs_base + ( (row/accCols) + iter )*strideA*accCols + accCols*offsetA; \ +++ lhs_ptr##iter = lhs_base + ( (row/accCols) + iter )*strideA*accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhs_ptr##iter); \ ++ } ++@@ -238,21 +237,19 @@ EIGEN_ALWAYS_INLINE void ploadRhsMMA(const float*, __vector_pair&) ++ ++ #define MICRO_MMA_STORE_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- storeAccumulator(row + iter*accCols, col, res, pAlpha, &accZero##iter); \ +++ storeAccumulator(row + iter*accCols, res, pAlpha, &accZero##iter); \ ++ } ++ ++ #define MICRO_MMA_STORE MICRO_MMA_UNROLL(MICRO_MMA_STORE_ONE) ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_unrolled_MMA_iteration( +++EIGEN_ALWAYS_INLINE void gemm_unrolled_MMA_iteration( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++ Index depth, ++ Index strideA, ++- Index offsetA, ++ Index& row, ++- Index col, ++ const Packet& pAlpha) ++ { ++ const Scalar* rhs_ptr = rhs_base; ++@@ -278,94 +275,98 @@ EIGEN_STRONG_INLINE void gemm_unrolled_MMA_iteration( ++ row += unroll_factor*accCols; ++ } ++ ++-template ++-void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, Index rows, Index depth, Index cols, Scalar alpha, Index strideA, Index strideB, Index offsetA, Index offsetB) +++template +++EIGEN_ALWAYS_INLINE void gemmMMA_cols( +++ const DataMapper& res, +++ const Scalar* blockA, +++ const Scalar* blockB, +++ Index depth, +++ Index strideA, +++ Index offsetA, +++ Index strideB, +++ Index offsetB, +++ Index col, +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlpha, +++ const Packet& pMask) ++ { ++- const Index remaining_rows = rows % accCols; ++- const Index remaining_cols = cols % accRows; ++- ++- if( strideA == -1 ) strideA = depth; ++- if( strideB == -1 ) strideB = depth; ++- ++- const Packet pAlpha = pset1(alpha); ++- const Packet pMask = bmask((const int)(remaining_rows)); +++ const DataMapper res3 = res.getSubMapper(0, col); ++ ++- Index col = 0; ++- for(; col + accRows <= cols; col += accRows) ++- { ++- const Scalar* rhs_base = blockB + col*strideB + accRows*offsetB; ++- const Scalar* lhs_base = blockA; +++ const Scalar* rhs_base = blockB + col*strideB + accRows*offsetB; +++ const Scalar* lhs_base = blockA + accCols*offsetA; +++ Index row = 0; ++ ++- Index row = 0; ++ #define MAX_MMA_UNROLL 7 ++- while(row + MAX_MMA_UNROLL*accCols <= rows) { ++- gemm_unrolled_MMA_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- } ++- switch( (rows-row)/accCols ) { +++ while(row + MAX_MMA_UNROLL*accCols <= rows) { +++ gemm_unrolled_MMA_iteration(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ } +++ switch( (rows-row)/accCols ) { ++ #if MAX_MMA_UNROLL > 7 ++- case 7: ++- gemm_unrolled_MMA_iteration<7, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 7: +++ gemm_unrolled_MMA_iteration<7, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 6 ++- case 6: ++- gemm_unrolled_MMA_iteration<6, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 6: +++ gemm_unrolled_MMA_iteration<6, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 5 ++- case 5: ++- gemm_unrolled_MMA_iteration<5, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 5: +++ gemm_unrolled_MMA_iteration<5, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 4 ++- case 4: ++- gemm_unrolled_MMA_iteration<4, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 4: +++ gemm_unrolled_MMA_iteration<4, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 3 ++- case 3: ++- gemm_unrolled_MMA_iteration<3, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 3: +++ gemm_unrolled_MMA_iteration<3, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 2 ++- case 2: ++- gemm_unrolled_MMA_iteration<2, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 2: +++ gemm_unrolled_MMA_iteration<2, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++ #if MAX_MMA_UNROLL > 1 ++- case 1: ++- gemm_unrolled_MMA_iteration<1, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, pAlpha); ++- break; +++ case 1: +++ gemm_unrolled_MMA_iteration<1, Scalar, Packet, RhsPacket, DataMapper, Index, accRows, accCols>(res3, lhs_base, rhs_base, depth, strideA, row, pAlpha); +++ break; ++ #endif ++- default: ++- break; ++- } +++ default: +++ break; +++ } ++ #undef MAX_MMA_UNROLL ++ ++- if(remaining_rows > 0) ++- { ++- gemm_extra_row(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, rows, cols, remaining_rows, pAlpha, pMask); ++- } ++- } +++ if(remaining_rows > 0) +++ { +++ gemm_extra_row(res3, blockA, rhs_base, depth, strideA, offsetA, row, col, rows, cols, remaining_rows, pAlpha, pMask); +++ } +++} ++ ++- if(remaining_cols > 0) ++- { ++- const Scalar* rhs_base = blockB + col*strideB + remaining_cols*offsetB; ++- const Scalar* lhs_base = blockA; +++template +++void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, Index rows, Index depth, Index cols, Scalar alpha, Index strideA, Index strideB, Index offsetA, Index offsetB) +++{ +++ const Index remaining_rows = rows % accCols; ++ ++- for(; col < cols; col++) ++- { ++- Index row = 0; +++ if( strideA == -1 ) strideA = depth; +++ if( strideB == -1 ) strideB = depth; ++ ++- gemm_unrolled_col(res, lhs_base, rhs_base, depth, strideA, offsetA, row, rows, col, remaining_cols, pAlpha); +++ const Packet pAlpha = pset1(alpha); +++ const Packet pMask = bmask((const int)(remaining_rows)); ++ ++- if (remaining_rows > 0) ++- { ++- gemm_extra_col(res, lhs_base, rhs_base, depth, strideA, offsetA, row, col, remaining_rows, remaining_cols, pAlpha); ++- } ++- rhs_base++; ++- } +++ Index col = 0; +++ for(; col + accRows <= cols; col += accRows) +++ { +++ gemmMMA_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlpha, pMask); ++ } +++ +++ gemm_extra_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlpha, pMask); ++ } ++ ++ #define accColsC (accCols / 2) ++@@ -373,21 +374,20 @@ void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, ++ #define advanceCols ((RhsIsReal) ? 1 : 2) ++ ++ // PEEL_COMPLEX_MMA loop factor. ++-#define PEEL_COMPLEX_MMA 7 +++#define PEEL_COMPLEX_MMA 3 ++ ++ #define MICRO_COMPLEX_MMA_UNROLL(func) \ ++- func(0) func(1) func(2) func(3) func(4) +++ func(0) func(1) func(2) func(3) ++ ++ #define MICRO_COMPLEX_MMA_LOAD_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++ lhsV##iter = ploadLhs(lhs_ptr_real##iter); \ ++- lhs_ptr_real##iter += accCols; \ ++ if(!LhsIsReal) { \ ++- lhsVi##iter = ploadLhs(lhs_ptr_imag##iter); \ ++- lhs_ptr_imag##iter += accCols; \ +++ lhsVi##iter = ploadLhs(lhs_ptr_real##iter + imag_delta); \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhsVi##iter); \ ++ } \ +++ lhs_ptr_real##iter += accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhsV##iter); \ ++ EIGEN_UNUSED_VARIABLE(lhsVi##iter); \ ++@@ -400,8 +400,8 @@ void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, ++ ++ #define MICRO_COMPLEX_MMA_TYPE_PEEL(func, func2, type, peel) \ ++ if (PEEL_COMPLEX_MMA > peel) { \ ++- Packet lhsV0, lhsV1, lhsV2, lhsV3, lhsV4; \ ++- Packet lhsVi0, lhsVi1, lhsVi2, lhsVi3, lhsVi4; \ +++ Packet lhsV0, lhsV1, lhsV2, lhsV3; \ +++ Packet lhsVi0, lhsVi1, lhsVi2, lhsVi3; \ ++ ploadRhsMMA(rhs_ptr_real + (accRows * peel), rhsV##peel); \ ++ if(!RhsIsReal) { \ ++ ploadRhsMMA(rhs_ptr_imag + (accRows * peel), rhsVi##peel); \ ++@@ -409,20 +409,17 @@ void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, ++ EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++ } \ ++ MICRO_COMPLEX_MMA_UNROLL(func2); \ ++- func(0,type,peel) func(1,type,peel) func(2,type,peel) func(3,type,peel) func(4,type,peel) \ +++ func(0,type,peel) func(1,type,peel) func(2,type,peel) func(3,type,peel) \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(rhsV##peel); \ ++ EIGEN_UNUSED_VARIABLE(rhsVi##peel); \ ++ } ++ ++ #define MICRO_COMPLEX_MMA_UNROLL_TYPE_PEEL(func, func2, type) \ ++- type rhsV0, rhsV1, rhsV2, rhsV3, rhsV4, rhsV5, rhsV6, rhsV7, rhsV8, rhsV9; \ ++- type rhsVi0, rhsVi1, rhsVi2, rhsVi3, rhsVi4, rhsVi5, rhsVi6, rhsVi7, rhsVi8, rhsVi9; \ +++ type rhsV0, rhsV1, rhsV2, rhsV3; \ +++ type rhsVi0, rhsVi1, rhsVi2, rhsVi3; \ ++ MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,0); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,1); \ ++- MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,2); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,3); \ ++- MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,4); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,5); \ ++- MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,6); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,7); \ ++- MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,8); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,9); +++ MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,2); MICRO_COMPLEX_MMA_TYPE_PEEL(func,func2,type,3); ++ ++ #define MICRO_COMPLEX_MMA_UNROLL_TYPE_ONE(func, func2, type) \ ++ type rhsV0, rhsVi0; \ ++@@ -459,15 +456,9 @@ void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, ++ ++ #define MICRO_COMPLEX_MMA_SRC_PTR_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- lhs_ptr_real##iter = lhs_base + ( ((advanceRows*row)/accCols) + iter*advanceRows )*strideA*accCols + accCols*offsetA; \ ++- if(!LhsIsReal) { \ ++- lhs_ptr_imag##iter = lhs_ptr_real##iter + accCols*strideA; \ ++- } else { \ ++- EIGEN_UNUSED_VARIABLE(lhs_ptr_imag##iter); \ ++- } \ +++ lhs_ptr_real##iter = lhs_base + ( ((advanceRows*row)/accCols) + iter*advanceRows )*strideA*accCols; \ ++ } else { \ ++ EIGEN_UNUSED_VARIABLE(lhs_ptr_real##iter); \ ++- EIGEN_UNUSED_VARIABLE(lhs_ptr_imag##iter); \ ++ } ++ ++ #define MICRO_COMPLEX_MMA_SRC_PTR MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_MMA_SRC_PTR_ONE) ++@@ -475,45 +466,40 @@ void gemmMMA(const DataMapper& res, const Scalar* blockA, const Scalar* blockB, ++ #define MICRO_COMPLEX_MMA_PREFETCH_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++ EIGEN_POWER_PREFETCH(lhs_ptr_real##iter); \ ++- if(!LhsIsReal) { \ ++- EIGEN_POWER_PREFETCH(lhs_ptr_imag##iter); \ ++- } \ ++ } ++ ++ #define MICRO_COMPLEX_MMA_PREFETCH MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_MMA_PREFETCH_ONE) ++ ++ #define MICRO_COMPLEX_MMA_STORE_ONE(iter) \ ++ if (unroll_factor > iter) { \ ++- storeComplexAccumulator(row + iter*accCols, col, res, pAlphaReal, pAlphaImag, &accReal##iter, &accImag##iter); \ +++ storeComplexAccumulator(row + iter*accCols, res, pAlphaReal, pAlphaImag, &accReal##iter, &accImag##iter); \ ++ } ++ ++ #define MICRO_COMPLEX_MMA_STORE MICRO_COMPLEX_MMA_UNROLL(MICRO_COMPLEX_MMA_STORE_ONE) ++ ++ template ++-EIGEN_STRONG_INLINE void gemm_complex_unrolled_MMA_iteration( +++EIGEN_ALWAYS_INLINE void gemm_complex_unrolled_MMA_iteration( ++ const DataMapper& res, ++ const Scalar* lhs_base, ++ const Scalar* rhs_base, ++ Index depth, ++ Index strideA, ++- Index offsetA, ++ Index strideB, ++ Index& row, ++- Index col, ++ const Packet& pAlphaReal, ++ const Packet& pAlphaImag) ++ { ++ const Scalar* rhs_ptr_real = rhs_base; ++- const Scalar* rhs_ptr_imag; +++ const Scalar* rhs_ptr_imag = NULL; +++ const Index imag_delta = accCols*strideA; ++ if(!RhsIsReal) { ++ rhs_ptr_imag = rhs_base + accRows*strideB; ++ } else { ++ EIGEN_UNUSED_VARIABLE(rhs_ptr_imag); ++ } ++- const Scalar* lhs_ptr_real0 = NULL, * lhs_ptr_imag0 = NULL, * lhs_ptr_real1 = NULL, * lhs_ptr_imag1 = NULL; ++- const Scalar* lhs_ptr_real2 = NULL, * lhs_ptr_imag2 = NULL, * lhs_ptr_real3 = NULL, * lhs_ptr_imag3 = NULL; ++- const Scalar* lhs_ptr_real4 = NULL, * lhs_ptr_imag4 = NULL; ++- __vector_quad accReal0, accImag0, accReal1, accImag1, accReal2, accImag2, accReal3, accImag3, accReal4, accImag4; +++ const Scalar* lhs_ptr_real0 = NULL, * lhs_ptr_real1 = NULL; +++ const Scalar* lhs_ptr_real2 = NULL, * lhs_ptr_real3 = NULL; +++ __vector_quad accReal0, accImag0, accReal1, accImag1, accReal2, accImag2, accReal3, accImag3; ++ ++ MICRO_COMPLEX_MMA_SRC_PTR ++ MICRO_COMPLEX_MMA_DST_PTR ++@@ -537,11 +523,70 @@ EIGEN_STRONG_INLINE void gemm_complex_unrolled_MMA_iteration( ++ row += unroll_factor*accCols; ++ } ++ +++template +++EIGEN_ALWAYS_INLINE void gemmMMA_complex_cols( +++ const DataMapper& res, +++ const Scalar* blockA, +++ const Scalar* blockB, +++ Index depth, +++ Index strideA, +++ Index offsetA, +++ Index strideB, +++ Index offsetB, +++ Index col, +++ Index rows, +++ Index cols, +++ Index remaining_rows, +++ const Packet& pAlphaReal, +++ const Packet& pAlphaImag, +++ const Packet& pMask) +++{ +++ const DataMapper res3 = res.getSubMapper(0, col); +++ +++ const Scalar* rhs_base = blockB + advanceCols*col*strideB + accRows*offsetB; +++ const Scalar* lhs_base = blockA + accCols*offsetA; +++ Index row = 0; +++ +++#define MAX_COMPLEX_MMA_UNROLL 4 +++ while(row + MAX_COMPLEX_MMA_UNROLL*accCols <= rows) { +++ gemm_complex_unrolled_MMA_iteration(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ } +++ switch( (rows-row)/accCols ) { +++#if MAX_COMPLEX_MMA_UNROLL > 4 +++ case 4: +++ gemm_complex_unrolled_MMA_iteration<4, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_MMA_UNROLL > 3 +++ case 3: +++ gemm_complex_unrolled_MMA_iteration<3, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_MMA_UNROLL > 2 +++ case 2: +++ gemm_complex_unrolled_MMA_iteration<2, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++#if MAX_COMPLEX_MMA_UNROLL > 1 +++ case 1: +++ gemm_complex_unrolled_MMA_iteration<1, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res3, lhs_base, rhs_base, depth, strideA, strideB, row, pAlphaReal, pAlphaImag); +++ break; +++#endif +++ default: +++ break; +++ } +++#undef MAX_COMPLEX_MMA_UNROLL +++ +++ if(remaining_rows > 0) +++ { +++ gemm_complex_extra_row(res3, blockA, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); +++ } +++} +++ ++ template ++ void gemm_complexMMA(const DataMapper& res, const LhsScalar* blockAc, const RhsScalar* blockBc, Index rows, Index depth, Index cols, Scalarc alpha, Index strideA, Index strideB, Index offsetA, Index offsetB) ++ { ++ const Index remaining_rows = rows % accCols; ++- const Index remaining_cols = cols % accRows; ++ ++ if( strideA == -1 ) strideA = depth; ++ if( strideB == -1 ) strideB = depth; ++@@ -556,64 +601,10 @@ void gemm_complexMMA(const DataMapper& res, const LhsScalar* blockAc, const RhsS ++ Index col = 0; ++ for(; col + accRows <= cols; col += accRows) ++ { ++- const Scalar* rhs_base = blockB + advanceCols*col*strideB + accRows*offsetB; ++- const Scalar* lhs_base = blockA; ++- Index row = 0; ++- ++-#define MAX_COMPLEX_MMA_UNROLL 4 ++- while(row + MAX_COMPLEX_MMA_UNROLL*accCols <= rows) { ++- gemm_complex_unrolled_MMA_iteration(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- } ++- switch( (rows-row)/accCols ) { ++-#if MAX_COMPLEX_MMA_UNROLL > 4 ++- case 4: ++- gemm_complex_unrolled_MMA_iteration<4, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_MMA_UNROLL > 3 ++- case 3: ++- gemm_complex_unrolled_MMA_iteration<3, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_MMA_UNROLL > 2 ++- case 2: ++- gemm_complex_unrolled_MMA_iteration<2, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++-#if MAX_COMPLEX_MMA_UNROLL > 1 ++- case 1: ++- gemm_complex_unrolled_MMA_iteration<1, Scalar, Packet, Packetc, RhsPacket, DataMapper, Index, accRows, accCols, ConjugateLhs, ConjugateRhs, LhsIsReal, RhsIsReal>(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, pAlphaReal, pAlphaImag); ++- break; ++-#endif ++- default: ++- break; ++- } ++-#undef MAX_COMPLEX_MMA_UNROLL ++- ++- if(remaining_rows > 0) ++- { ++- gemm_complex_extra_row(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++- } +++ gemmMMA_complex_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ } ++ ++- if(remaining_cols > 0) ++- { ++- const Scalar* rhs_base = blockB + advanceCols*col*strideB + remaining_cols*offsetB; ++- const Scalar* lhs_base = blockA; ++- ++- for(; col < cols; col++) ++- { ++- Index row = 0; ++- ++- gemm_complex_unrolled_col(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, rows, col, remaining_cols, pAlphaReal, pAlphaImag); ++- ++- if (remaining_rows > 0) ++- { ++- gemm_complex_extra_col(res, lhs_base, rhs_base, depth, strideA, offsetA, strideB, row, col, remaining_rows, remaining_cols, pAlphaReal, pAlphaImag); ++- } ++- rhs_base++; ++- } ++- } +++ gemm_complex_extra_cols(res, blockA, blockB, depth, strideA, offsetA, strideB, offsetB, col, rows, cols, remaining_rows, pAlphaReal, pAlphaImag, pMask); ++ } ++ ++ #undef accColsC +diff --git a/third_party/eigen3/workspace.bzl b/third_party/eigen3/workspace.bzl +index 21799365434..cd1feb4d29c 100644 +--- a/third_party/eigen3/workspace.bzl ++++ b/third_party/eigen3/workspace.bzl +@@ -16,6 +16,7 @@ def repo(): + build_file = "//third_party/eigen3:eigen_archive.BUILD", + sha256 = EIGEN_SHA256, + strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT), ++ patch_file = "//third_party/eigen3:fix-ppc-gemm.patch", + urls = [ + "https://storage.googleapis.com/mirror.tensorflow.org/gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT), + "https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT), +From bc900ca63038d44342d013da75e85ad65ab0c4e6 Mon Sep 17 00:00:00 2001 +From: "Maxiwell S. Garcia" +Date: Mon, 1 Nov 2021 10:10:34 -0500 +Subject: [PATCH] ppc: remove the special condition for ppc on convolutions + +After a recent change on Eigen Altivec package, we don't need this +special condition on convolutions anymore + +https://gitlab.com/libeigen/eigen/-/commit/9cf34ee0aed25a7464e6ec14f977cfa940f48f1b +--- + tensorflow/core/kernels/eigen_cuboid_convolution.h | 10 ---------- + .../core/kernels/eigen_spatial_convolutions-inl.h | 10 ---------- + 2 files changed, 20 deletions(-) + +diff --git a/tensorflow/core/kernels/eigen_cuboid_convolution.h b/tensorflow/core/kernels/eigen_cuboid_convolution.h +index bf0cdd59e4fb3..729dcd3bd2af0 100644 +--- a/tensorflow/core/kernels/eigen_cuboid_convolution.h ++++ b/tensorflow/core/kernels/eigen_cuboid_convolution.h +@@ -1358,15 +1358,6 @@ struct gemm_pack_rhs< + } + + // Copy the remaining columns one at a time (nr==1). +-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) +- // remaining columns are handled different for PPC +- for (Index k = 0; k < depth; k++) { +- for (Index j2 = packet_cols4; j2 < cols; ++j2) { +- *block = rhs(k, j2); +- block += 1; +- } +- } +-#else + for (Index j2 = packet_cols4; j2 < cols; ++j2) { + const SubMapper dm0 = rhs.getLinearMapper(0, j2); + for (Index k = 0; k < depth; k++) { +@@ -1374,7 +1365,6 @@ struct gemm_pack_rhs< + block += 1; + } + } +-#endif + } + }; + +diff --git a/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h b/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h +index 61cfc820a6cca..37a41f952fa87 100644 +--- a/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h ++++ b/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h +@@ -1233,15 +1233,6 @@ struct gemm_pack_rhs< + } + + // copy the remaining columns one at a time (nr==1) +-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX) +- // remaining columns are handled different for PPC +- for (Index k = 0; k < depth; k++) { +- for (Index j2 = packet_cols4; j2 < cols; ++j2) { +- *block = rhs(k, j2); +- block += 1; +- } +- } +-#else + for (Index j2 = packet_cols4; j2 < cols; ++j2) { + const SubMapper dm0 = rhs.getLinearMapper(0, j2); + for (Index k = 0; k < depth; k++) { +@@ -1249,7 +1240,6 @@ struct gemm_pack_rhs< + block += 1; + } + } +-#endif + } + }; + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-JIT.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-JIT.patch new file mode 100644 index 00000000000..1f361e3b706 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix-PPC-JIT.patch @@ -0,0 +1,82 @@ +Allow JIT compilation for PPC targets (e.g. "pwr9" CPUs) +From https://github.com/tensorflow/tensorflow/pull/55306 +Backported for TF 2.7.1 + +Author: Alexander Grund (TU Dresden) + +diff --git a/third_party/cpuinfo/BUILD.bazel b/third_party/cpuinfo/BUILD.bazel +index eb2937d20ef..dfea408db94 100644 +--- a/third_party/cpuinfo/BUILD.bazel ++++ b/third_party/cpuinfo/BUILD.bazel +@@ -109,6 +109,7 @@ cc_library( + ":linux_mips64": COMMON_SRCS + LINUX_SRCS, + ":linux_riscv64": COMMON_SRCS + LINUX_SRCS, + ":linux_s390x": COMMON_SRCS + LINUX_SRCS, ++ ":linux_ppc64le": COMMON_SRCS + LINUX_SRCS, + ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, +@@ -232,6 +233,11 @@ config_setting( + values = {"cpu": "s390x"}, + ) + ++config_setting( ++ name = "linux_ppc64le", ++ values = {"cpu": "ppc"}, ++) ++ + config_setting( + name = "macos_x86_64", + values = { +diff --git a/third_party/llvm/macos_build_fix.patch b/third_party/llvm/macos_build_fix.patch +index 8ff52f906a6..4467081c410 100644 +--- a/third_party/llvm/macos_build_fix.patch ++++ b/third_party/llvm/macos_build_fix.patch +@@ -22,6 +22,48 @@ index ff64df694048..55f3077bff74 100644 + "@bazel_tools//src/conditions:linux_aarch64": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), + "//conditions:default": native_arch_defines("X86", "x86_64-unknown-linux-gnu"), + }) + [ ++ ++ ++From b250c34bbd415b2a8c3e0532e98591ab1780cda6 Mon Sep 17 00:00:00 2001 ++From: Nishidha Panpaliya ++Date: Mon, 21 Mar 2022 09:51:36 -0400 ++Subject: [PATCH] Fix for ppc64le ++ ++--- ++ utils/bazel/llvm-project-overlay/llvm/config.bzl | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/utils/bazel/llvm-project-overlay/llvm/config.bzl b/utils/bazel/llvm-project-overlay/llvm/config.bzl ++index 772714f38941..9ed63e8d44a3 100644 ++--- a/utils/bazel/llvm-project-overlay/llvm/config.bzl +++++ b/utils/bazel/llvm-project-overlay/llvm/config.bzl ++@@ -78,6 +78,7 @@ ++ "@bazel_tools//src/conditions:windows": native_arch_defines("X86", "x86_64-pc-win32"), ++ "@bazel_tools//src/conditions:darwin": native_arch_defines("X86", "x86_64-unknown-darwin"), ++ "@bazel_tools//src/conditions:linux_aarch64": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), +++ "@bazel_tools//src/conditions:linux_ppc64le": native_arch_defines("PowerPC", "powerpc64le-unknown-linux-gnu"), ++ "//conditions:default": native_arch_defines("X86", "x86_64-unknown-linux-gnu"), ++ }) + [ ++ # These shouldn't be needed by the C++11 standard, but are for some ++ ++--- ++Fix link errors on PPC caused by above patch: https://github.com/llvm/llvm-project/issues/59590 ++ ++Author: Alexander Grund (TU Dresden) ++ ++diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel ++index f4dfb3791477..da92b53b7a2b 100644 ++--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel +++++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel ++@@ -4986,6 +4986,7 @@ cc_library( ++ ":Support", ++ ":ToLLVMIRTranslation", ++ ":Translation", +++ "//llvm:AllTargetsAsmParsers", ++ "//llvm:BitReader", ++ "//llvm:BitWriter", ++ "//llvm:Core", ++ + -- + 2.33.0.685.g46640cef36-goog diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_cpu_count.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_cpu_count.patch new file mode 100644 index 00000000000..504c67136f5 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_cpu_count.patch @@ -0,0 +1,25 @@ +Use len(os.sched_getaffinity(0)), which returns the number cores available to the job, +rather than multiprocessing.cpu_count(), which returns the total number of cores in the node, +and which causes the interleave_test to fail for less than 8 cores +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur tensorflow-2.7.1.orig/tensorflow/python/data/kernel_tests/interleave_test.py tensorflow-2.7.1/tensorflow/python/data/kernel_tests/interleave_test.py +--- tensorflow-2.7.1.orig/tensorflow/python/data/kernel_tests/interleave_test.py 2022-01-30 16:27:47.000000000 +0100 ++++ tensorflow-2.7.1/tensorflow/python/data/kernel_tests/interleave_test.py 2022-05-12 10:35:46.155364224 +0200 +@@ -59,13 +59,14 @@ + # interleaved. + open_iterators = [] + if cycle_length is None: ++ cpu_count = len(os.sched_getaffinity(0)) + # The logic here needs to match interleave C++ kernels. + if num_parallel_calls is None: +- cycle_length = multiprocessing.cpu_count() ++ cycle_length = cpu_count + elif num_parallel_calls == dataset_ops.AUTOTUNE: +- cycle_length = (multiprocessing.cpu_count() + 2) // 3 ++ cycle_length = (cpu_count + 2) // 3 + else: +- cycle_length = min(num_parallel_calls, multiprocessing.cpu_count()) ++ cycle_length = min(num_parallel_calls, cpu_count) + + for i in range(cycle_length): + if all_iterators: diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_protobuf_error_message.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_protobuf_error_message.patch new file mode 100644 index 00000000000..ea00d8cca0d --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_fix_protobuf_error_message.patch @@ -0,0 +1,15 @@ +Fix an issue where TensorFlow 2.5/2.6 won't build with a protobuf newer than 3.14 +Solution/patch obtained from https://bugs.gentoo.org/800824 + +diff -Nrup tensorflow-2.5.0_old/tensorflow/core/kernels/example_parsing_ops.cc tensorflow-2.5.0/tensorflow/core/kernels/example_parsing_ops.cc +--- tensorflow-2.5.0_old/tensorflow/core/kernels/example_parsing_ops.cc 2021-05-12 15:26:41.000000000 +0200 ++++ tensorflow-2.5.0/tensorflow/core/kernels/example_parsing_ops.cc 2021-07-14 08:09:39.927536430 +0200 +@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKer + resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out); + OP_REQUIRES(ctx, status.ok(), + errors::InvalidArgument("Error while parsing JSON: ", +- string(status.error_message()))); ++ string(status.message()))); + } + } + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch new file mode 100644 index 00000000000..c319243a416 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch @@ -0,0 +1,46 @@ +TensorFlow adds some GPU tests twice increasing the runtime of the test suite. +This filters out the test part meant for CPU. + +See https://github.com/tensorflow/tensorflow/issues/47081 + +Author: Alexander Grund (TU Dresden) + +diff -ur tensorflow-2.7.1.orig/tensorflow/tensorflow.bzl tensorflow-2.7.1/tensorflow/tensorflow.bzl +--- tensorflow-2.7.1.orig/tensorflow/tensorflow.bzl 2022-01-30 16:27:47.000000000 +0100 ++++ tensorflow-2.7.1/tensorflow/tensorflow.bzl 2022-02-12 21:20:58.679307477 +0100 +@@ -1195,20 +1195,21 @@ + kernels = [], + linkopts = [], + **kwargs): +- tf_cc_test( +- name = name, +- size = size, +- srcs = srcs, +- args = args, +- data = data, +- extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), +- kernels = kernels, +- linkopts = linkopts, +- linkstatic = linkstatic, +- tags = tags, +- deps = deps, +- **kwargs +- ) ++ if 'gpu' not in tags: ++ tf_cc_test( ++ name = name, ++ size = size, ++ srcs = srcs, ++ args = args, ++ data = data, ++ extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), ++ kernels = kernels, ++ linkopts = linkopts, ++ linkstatic = linkstatic, ++ tags = tags, ++ deps = deps, ++ **kwargs ++ ) + tf_cc_test( + name = name, + size = size, diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-io-gcs-dependency.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-io-gcs-dependency.patch new file mode 100644 index 00000000000..ddd71bc1607 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-io-gcs-dependency.patch @@ -0,0 +1,19 @@ +This Python package is not available as a binary for all architectures and building it +requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index a9ef0ee00b2..bcac1449099 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -106,7 +106,6 @@ REQUIRED_PACKAGES = [ + # Keras release is not backward compatible with old tf release, and we have + # to make the version aligned between TF and Keras. + 'keras >= 2.7.0rc0, < 2.8', +- 'tensorflow-io-gcs-filesystem >= 0.21.0', + ] + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-libclang-dependency.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-libclang-dependency.patch new file mode 100644 index 00000000000..18f00da8db5 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.7.1_remove-libclang-dependency.patch @@ -0,0 +1,22 @@ +This dependency was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. + +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index a9ef0ee00b2..6740e2fe3a7 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -82,7 +82,6 @@ REQUIRED_PACKAGES = [ + # Install other dependencies + 'absl-py >= 0.4.0', + 'astunparse >= 1.6.0', +- 'libclang >= 9.0.1', + 'flatbuffers >= 1.12, < 3.0', # capped as jax 0.1.71 needs < 3.0 + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', # capped since 3.3.0 lacks py3.6 diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb new file mode 100644 index 00000000000..969be86e142 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b-CUDA-11.4.1.eb @@ -0,0 +1,238 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.8.4' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '4.2.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.33.1', '-nodocs'), + ('pybind11', '2.7.1'), + ('UnZip', '6.0'), + ('LLVM', '12.0.1'), # for debugging with llvm-symbolizer, to be removed +] +dependencies = [ + ('CUDA', '11.4.1', '', SYSTEM), + ('cuDNN', '8.2.2.26', versionsuffix, SYSTEM), + ('NCCL', '2.10.3', versionsuffix), + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('cURL', '7.78.0'), + ('dill', '0.3.4'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.5.0'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.36'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('tensorflow-estimator', '2.8.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['bee8e0520c60ae7eaf6ca8cb46c5a9f4b45725531380db8fbe38fcb48478b6bb'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('Werkzeug', '2.1.2', { + 'checksums': ['1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.3.7', { + 'checksums': ['cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874'], + }), + ('grpcio', '1.46.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['4835b0f5fedbee3a3d6eea48f4e65dffd30b52c078690fa97ddc9fcea1e3b35d'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.1.0', { + 'checksums': ['8b3b8fa53f564762e5b221e9896798951e7f915513abf2ba072ce0f07f3f5a98'], + }), + ('google-auth', '2.6.6', { + 'modulename': 'google.auth', + 'checksums': ['1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('tensorboard', '2.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.8.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + ('absl-py', '1.0.0', { + 'modulename': 'absl', + 'checksums': ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea'], + }), + # System dependency astor_archive + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.8.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['58d65c979951e7628ca3b46c798e10e5813026a3ecfbacc319cf88ebe766134a'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.8.4_fix-PPC-JIT.patch', + 'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch', + 'TensorFlow-2.8.4_resolve-gcc-symlinks.patch', + ], + 'checksums': [ + {'v2.8.4.tar.gz': 'c08a222792bdbff9da299c7885561ee27b95d414d1111c426efac4ccdce92cde'}, + {'TensorFlow-2.1.0_fix-cuda-build.patch': + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a'}, + {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0_add-support-for-large-core-systems.patch': + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636'}, + {'TensorFlow-2.5.0_disable-avx512-extensions.patch': + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch': + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.7.1_fix_cpu_count.patch': + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'}, + {'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch': + 'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_fix-PPC-JIT.patch': + '27d28293105b4dd0a25f58346c68b672f57215756f14a97c442d0e3317e93a2b'}, + {'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch': + '10a6daad2ef65d649a6d4a6659f97f833359b3c35d3ce15e63d2db2e331a6a35'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + # All tests in this directory fail with segfault (TensorFlow Graph IR) + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717 + '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb new file mode 100644 index 00000000000..f8546680a72 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4-foss-2021b.eb @@ -0,0 +1,230 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.8.4' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '4.2.2'), + ('protobuf', '3.17.3'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.33.1', '-nodocs'), + ('pybind11', '2.7.1'), + ('UnZip', '6.0'), +] +dependencies = [ + ('Python', '3.9.6'), + ('h5py', '3.6.0'), + ('cURL', '7.78.0'), + ('dill', '0.3.4'), + ('double-conversion', '3.1.5'), + ('flatbuffers', '2.0.0'), + ('giflib', '5.2.1'), + ('hwloc', '2.5.0'), + ('ICU', '69.1'), + ('JsonCpp', '1.9.4'), + ('libjpeg-turbo', '2.0.6'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.24.0'), + ('SQLite', '3.36'), + ('protobuf-python', '3.17.3'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.11'), +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('tensorflow-estimator', '2.8.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['bee8e0520c60ae7eaf6ca8cb46c5a9f4b45725531380db8fbe38fcb48478b6bb'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('Werkzeug', '2.1.2', { + 'checksums': ['1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.3.7', { + 'checksums': ['cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874'], + }), + ('grpcio', '1.46.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['4835b0f5fedbee3a3d6eea48f4e65dffd30b52c078690fa97ddc9fcea1e3b35d'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.1.0', { + 'checksums': ['8b3b8fa53f564762e5b221e9896798951e7f915513abf2ba072ce0f07f3f5a98'], + }), + ('google-auth', '2.6.6', { + 'modulename': 'google.auth', + 'checksums': ['1ba4938e032b73deb51e59c4656a00e0939cf0b1112575099f136babb4563312'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('tensorboard', '2.8.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.8.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + ('absl-py', '1.0.0', { + 'modulename': 'absl', + 'checksums': ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea'], + }), + # System dependency astor_archive + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.8.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['58d65c979951e7628ca3b46c798e10e5813026a3ecfbacc319cf88ebe766134a'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.8.4_fix-PPC-JIT.patch', + 'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch', + 'TensorFlow-2.8.4_resolve-gcc-symlinks.patch', + ], + 'checksums': [ + {'v2.8.4.tar.gz': 'c08a222792bdbff9da299c7885561ee27b95d414d1111c426efac4ccdce92cde'}, + {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0_add-support-for-large-core-systems.patch': + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636'}, + {'TensorFlow-2.5.0_disable-avx512-extensions.patch': + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch': + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.7.1_fix_cpu_count.patch': + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'}, + {'TensorFlow-2.7.1_remove-duplicate-gpu-tests.patch': + 'f78526a34d85f4dda59b160b576aa3a3126db7073a58c4e3b1424923f6a21483'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_fix-PPC-JIT.patch': + '27d28293105b4dd0a25f58346c68b672f57215756f14a97c442d0e3317e93a2b'}, + {'TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch': + '10a6daad2ef65d649a6d4a6659f97f833359b3c35d3ce15e63d2db2e331a6a35'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': ('gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,-no_pip,-no_oss,-oss_serial,' + '-benchmark-test,-v1only'), + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + # Fails on some nodes but C API isn't installed anyway + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + # Race condition with port picker: https://github.com/tensorflow/tensorflow/issues/46602 + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + # Fails to open its own test.xml(?) + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + # Fails on non-AVX-512 systems: https://github.com/tensorflow/tensorflow/issues/46532 + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + # Fails on AMD EPYC systems: https://github.com/tensorflow/tensorflow/issues/52151 + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + # All tests in this directory fail with segfault (TensorFlow Graph IR) + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + # Fails on e.g. AMD EPYC and known to be flaky on Mac: https://github.com/tensorflow/tensorflow/issues/56717 + '-//tensorflow/python/data/experimental/kernel_tests/service:fault_tolerance_test', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch new file mode 100644 index 00000000000..1a0938252be --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch @@ -0,0 +1,18 @@ +XNNPACK is not supported on PowerPC so disable it by default. +See https://github.com/tensorflow/tensorflow/issues/58768 + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD +index 198f949b341..d15dcf9a80d 100644 +--- a/tensorflow/lite/BUILD ++++ b/tensorflow/lite/BUILD +@@ -709,6 +709,8 @@ cc_library( + deps = select({ + "//tensorflow:macos": [], + "//tensorflow:fuchsia": [], ++ # XNNPACK is not supported on PPC ++ "//tensorflow:linux_ppc64le": [], + "//conditions:default": [":tflite_with_xnnpack_enabled"], + }), + ) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_fix-PPC-JIT.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_fix-PPC-JIT.patch new file mode 100644 index 00000000000..ca57b87dee1 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_fix-PPC-JIT.patch @@ -0,0 +1,58 @@ +diff --git a/third_party/cpuinfo/cpuinfo.BUILD b/third_party/cpuinfo/cpuinfo.BUILD +index eb2937d20ef..dfea408db94 100644 +--- a/third_party/cpuinfo/cpuinfo.BUILD ++++ b/third_party/cpuinfo/cpuinfo.BUILD +@@ -109,6 +109,7 @@ cc_library( + ":linux_mips64": COMMON_SRCS + LINUX_SRCS, + ":linux_riscv64": COMMON_SRCS + LINUX_SRCS, + ":linux_s390x": COMMON_SRCS + LINUX_SRCS, ++ ":linux_ppc64le": COMMON_SRCS + LINUX_SRCS, + ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, + ":macos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, + ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, +@@ -232,6 +233,11 @@ config_setting( + values = {"cpu": "s390x"}, + ) + ++config_setting( ++ name = "linux_ppc64le", ++ values = {"cpu": "ppc"}, ++) ++ + config_setting( + name = "macos_x86_64", + values = { +diff --git a/third_party/llvm/macos_build_fix.patch b/third_party/llvm/macos_build_fix.patch +index 4dba8676ea5..af31f0c1d9e 100644 +--- a/third_party/llvm/macos_build_fix.patch ++++ b/third_party/llvm/macos_build_fix.patch +@@ -42,5 +42,29 @@ index ff64df694048..c9c35b01711c 100644 + "@bazel_tools//src/conditions:linux_aarch64": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), + "//conditions:default": native_arch_defines("X86", "x86_64-unknown-linux-gnu"), + }) + [ ++ ++ ++From b250c34bbd415b2a8c3e0532e98591ab1780cda6 Mon Sep 17 00:00:00 2001 ++From: Nishidha Panpaliya ++Date: Mon, 21 Mar 2022 09:51:36 -0400 ++Subject: [PATCH] Fix for ppc64le ++ ++--- ++ utils/bazel/llvm-project-overlay/llvm/config.bzl | 1 + ++ 1 file changed, 1 insertion(+) ++ ++diff --git a/utils/bazel/llvm-project-overlay/llvm/config.bzl b/utils/bazel/llvm-project-overlay/llvm/config.bzl ++index 772714f38941..9ed63e8d44a3 100644 ++--- a/utils/bazel/llvm-project-overlay/llvm/config.bzl +++++ b/utils/bazel/llvm-project-overlay/llvm/config.bzl ++@@ -86,6 +86,7 @@ llvm_config_defines = os_defines + select({ ++ "//llvm:macos_arm64": native_arch_defines("AArch64", "arm64-apple-darwin"), ++ "@bazel_tools//src/conditions:darwin": native_arch_defines("X86", "x86_64-unknown-darwin"), ++ "@bazel_tools//src/conditions:linux_aarch64": native_arch_defines("AArch64", "aarch64-unknown-linux-gnu"), +++ "@bazel_tools//src/conditions:linux_ppc64le": native_arch_defines("PowerPC", "powerpc64le-unknown-linux-gnu"), ++ "//conditions:default": native_arch_defines("X86", "x86_64-unknown-linux-gnu"), ++ }) + [ ++ # These shouldn't be needed by the C++11 standard, but are for some ++ + -- + 2.30.1 (Apple Git-130) diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 00000000000..b9f3afe50d0 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,34 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) + +--- tensorflow/tools/pip_package/setup.py.orig 2022-11-29 16:42:19.016145000 +0000 ++++ tensorflow/tools/pip_package/setup.py 2022-11-29 16:42:39.287641518 +0000 +@@ -78,7 +78,6 @@ + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', + 'keras_preprocessing >= 1.1.1', # 1.1.0 needs tensorflow==1.7 +- 'libclang >= 9.0.1', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + # TODO(b/182876485): Protobuf 3.20 results in linker errors on Windows +@@ -101,7 +100,6 @@ + 'tensorboard >= 2.8, < 2.9', + 'tensorflow-estimator >= 2.8, < 2.9', + 'keras >= 2.8.0rc0, < 2.9', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + ] + + diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch new file mode 100644 index 00000000000..42cdce7c9fd --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.8.4_resolve-gcc-symlinks.patch @@ -0,0 +1,28 @@ +Fix for "undeclared inclusion(s) in rule" errors when the installation directory +for GCC is hosted in a path that is a symlink to another path. + +From https://github.com/tensorflow/tensorflow/pull/56360 + +From b3a8fdbcb79e723f8d62f86bddcfdfb73fe76291 Mon Sep 17 00:00:00 2001 +From: Jinzhe Zeng +Date: Sat, 4 Jun 2022 19:06:58 -0400 +Subject: [PATCH] resolve gcc_host_compiler_path in a symlink directory + +Resolves a missing dependency declarations error, when gcc_host_compiler_path is in a symlink directory resolving to other directories. +--- + configure.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.py b/configure.py +index bf338bdda2297..77af09a22a05d 100644 +--- a/configure.py ++++ b/configure.py +@@ -619,7 +619,7 @@ def prompt_loop_or_load_from_env(environ_cp, + 'Assuming to be a scripting mistake.' % + (var_name, n_ask_attempts)) + +- if resolve_symlinks and os.path.islink(val): ++ if resolve_symlinks: + val = os.path.realpath(val) + environ_cp[var_name] = val + return val diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..5dc7c5b4535 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,256 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.9.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), + ('LLVM', '14.0.3'), # for debugging with llvm-symbolizer, to be removed +] +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('cuDNN', '8.4.1.50', versionsuffix, SYSTEM), + ('NCCL', '2.12.12', versionsuffix), + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.9.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['e9762bb302f51bc1eb2f35d19f0190a6a2d809d754d5def788c4328fe3746744'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.47.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['5dbba95fab9b35957b4977b8904fc1fa56b302f9051eff4d7716ebb0c087f801'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.0', { + 'checksums': ['6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757'], + }), + ('google-auth', '2.10.0', { + 'modulename': 'google.auth', + 'checksums': ['7904dbd44b745c7323fef29565adee2fe7ff48473e2d94443aced40b0404a395'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.2.0', { + 'modulename': 'absl', + 'checksums': ['f568809938c49abbda89826223c992b630afd23c638160ad7840cfe347710d97'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.9.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['55911256f89cfc9343c9fbe4b61ec45a2d33d89729cbe1ab9dcacf8b07b8b6ab'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.8.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['58d65c979951e7628ca3b46c798e10e5813026a3ecfbacc319cf88ebe766134a'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.1.0_fix-cuda-build.patch', + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.8.4_fix-PPC-JIT.patch', + 'TensorFlow-2.8.4_resolve-gcc-symlinks.patch', + 'TensorFlow-2.9.1_fix-check-for-MKL.patch', + 'TensorFlow-2.9.1_fix-PPC-Eigen-build.patch', + 'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch', + 'TensorFlow-2.9.1_support_flatbuffers_2.0.patch', + 'TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch', + ], + 'checksums': [ + {'v2.9.1.tar.gz': '6eaf86ead73e23988fe192da1db68f4d3828bcdd0f3a9dc195935e339c95dbdc'}, + {'TensorFlow-2.1.0_fix-cuda-build.patch': + '78c20aeaa7784b8ceb46238a81e8c2461137d28e0b576deeba8357d23fbe1f5a'}, + {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0_add-support-for-large-core-systems.patch': + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636'}, + {'TensorFlow-2.5.0_disable-avx512-extensions.patch': + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch': + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.7.1_fix_cpu_count.patch': + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_fix-PPC-JIT.patch': + '27d28293105b4dd0a25f58346c68b672f57215756f14a97c442d0e3317e93a2b'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_fix-check-for-MKL.patch': + '3b9d20b43391def093a30dbc45b7502a48916efedf7314700f78cc7b2cc1b645'}, + {'TensorFlow-2.9.1_fix-PPC-Eigen-build.patch': + '5f559a6eade65df665c7c69bc2e5d5d4214b85ea836e966f5dba73211307b972'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch': + '13a987ce8e20957d9a618493f6a0e8f67e0f9c8b11596f27bcd7322a8e62113d'}, + {'TensorFlow-2.9.1_support_flatbuffers_2.0.patch': + 'aaf0e0f86ad26f98a2bbb230dc2bbc2fb5f04886ab340049b5eaf3c70ae18f39'}, + {'TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch': + 'b6203d42d68fe42a637499b78e423b66e1310dbc34ef3d1d2d804f8c665997ae'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a.eb b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a.eb new file mode 100644 index 00000000000..d75ff3264c5 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1-foss-2022a.eb @@ -0,0 +1,249 @@ +easyblock = 'PythonBundle' + +name = 'TensorFlow' +version = '2.9.1' + +homepage = 'https://www.tensorflow.org/' +description = "An open-source software library for Machine Intelligence" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('Bazel', '5.1.1'), + ('protobuf', '3.19.4'), + # git 2.x required, see also https://github.com/tensorflow/tensorflow/issues/29053 + ('git', '2.36.0', '-nodocs'), + ('pybind11', '2.9.2'), + ('UnZip', '6.0'), + ('LLVM', '14.0.3'), # for debugging with llvm-symbolizer, to be removed +] +dependencies = [ + ('Python', '3.10.4'), + ('h5py', '3.7.0'), + ('cURL', '7.83.0'), + ('dill', '0.3.6'), + ('double-conversion', '3.2.0'), + ('flatbuffers', '2.0.7'), + ('giflib', '5.2.1'), + ('hwloc', '2.7.1'), + ('ICU', '71.1'), + ('JsonCpp', '1.9.5'), + ('libjpeg-turbo', '2.1.3'), + ('LMDB', '0.9.29'), + ('NASM', '2.15.05'), + ('nsync', '1.25.0'), + ('SQLite', '3.38.3'), + ('protobuf-python', '3.19.4'), + ('flatbuffers-python', '2.0'), + ('libpng', '1.6.37'), + ('snappy', '1.1.9'), + ('zlib', '1.2.12'), + ('networkx', '2.8.4'), # required for pythran +] + +use_pip = True +sanity_pip_check = True + +# Dependencies created and updated using findPythonDeps.sh: +# https://gist.github.com/Flamefire/49426e502cd8983757bd01a08a10ae0d +exts_list = [ + ('wrapt', '1.14.1', { + 'checksums': ['380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d'], + }), + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('tensorflow-estimator', '2.9.0', { + 'source_tmpl': 'tensorflow_estimator-%(version)s-py2.py3-none-any.whl', + 'checksums': ['e9762bb302f51bc1eb2f35d19f0190a6a2d809d754d5def788c4328fe3746744'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + ('tensorboard-plugin-wit', '1.8.1', { + 'source_tmpl': 'tensorboard_plugin_wit-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('tensorboard-data-server', '0.6.1', { + 'source_tmpl': 'tensorboard_data_server-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('grpcio', '1.47.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['5dbba95fab9b35957b4977b8904fc1fa56b302f9051eff4d7716ebb0c087f801'], + }), + ('oauthlib', '3.2.0', { + 'checksums': ['23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('cachetools', '5.2.0', { + 'checksums': ['6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757'], + }), + ('google-auth', '2.10.0', { + 'modulename': 'google.auth', + 'checksums': ['7904dbd44b745c7323fef29565adee2fe7ff48473e2d94443aced40b0404a395'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('absl-py', '1.2.0', { + 'modulename': 'absl', + 'checksums': ['f568809938c49abbda89826223c992b630afd23c638160ad7840cfe347710d97'], + }), + ('tensorboard', version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276'], + }), + ('opt-einsum', '3.3.0', { + 'source_tmpl': 'opt_einsum-%(version)s.tar.gz', + 'checksums': ['59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549'], + }), + ('Keras-Preprocessing', '1.1.2', { + 'source_tmpl': 'Keras_Preprocessing-%(version)s.tar.gz', + 'checksums': ['add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3'], + }), + ('keras', '2.9.0', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['55911256f89cfc9343c9fbe4b61ec45a2d33d89729cbe1ab9dcacf8b07b8b6ab'], + }), + ('google-pasta', '0.2.0', { + 'modulename': 'pasta', + 'checksums': ['c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e'], + }), + ('astunparse', '1.6.3', { + 'checksums': ['5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872'], + }), + # Version <= 0.4.0 required by TF: https://github.com/tensorflow/tensorflow/issues/56244 + ('gast', '0.4.0', { + 'checksums': ['40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1'], + }), + # (newer) pythran and beniget in SciPy-Bundle require gast 0.5 + ('beniget', '0.3.0', { + 'checksums': ['062c893be9cdf87c3144fb15041cce4d81c67107c1591952cd45fdce789a0ff1'], + }), + ('pythran', '0.9.11', { + 'checksums': ['a317f91e2aade9f6550dc3bf40b5caeb45b7e012daf27e2b3e4ad928edb01667'], + }), + # Required by tests + ('portpicker', '1.5.2', { + 'checksums': ['c55683ad725f5c00a41bc7db0225223e8be024b1fa564d039ed3390e4fd48fb3'], + }), + # System dependencies + ('tblib', '1.7.0', { + 'checksums': ['059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c'], + }), + ('astor', '0.8.1', { + 'checksums': ['6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e'], + }), + # Optional profile plugin + dependency + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.8.0', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['58d65c979951e7628ca3b46c798e10e5813026a3ecfbacc319cf88ebe766134a'], + }), + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/tensorflow/archive/'], + 'patches': [ + 'TensorFlow-2.4.0_add-ldl.patch', + 'TensorFlow-2.4.0_dont-use-var-lock.patch', + 'TensorFlow-2.5.0_add-support-for-large-core-systems.patch', + 'TensorFlow-2.5.0_disable-avx512-extensions.patch', + 'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch', + 'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch', + 'TensorFlow-2.5.0_fix-crash-on-shutdown.patch', + 'TensorFlow-2.7.1_fix_cpu_count.patch', + 'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch', + 'TensorFlow-2.8.4_fix-PPC-JIT.patch', + 'TensorFlow-2.8.4_resolve-gcc-symlinks.patch', + 'TensorFlow-2.9.1_fix-check-for-MKL.patch', + 'TensorFlow-2.9.1_fix-PPC-Eigen-build.patch', + 'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch', + 'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch', + 'TensorFlow-2.9.1_support_flatbuffers_2.0.patch', + 'TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch', + ], + 'checksums': [ + {'v2.9.1.tar.gz': '6eaf86ead73e23988fe192da1db68f4d3828bcdd0f3a9dc195935e339c95dbdc'}, + {'TensorFlow-2.4.0_add-ldl.patch': '917ee7282e782e48673596d8917c3207e60e0851bb9acf230a2a439b067af2e3'}, + {'TensorFlow-2.4.0_dont-use-var-lock.patch': + 'b14f2493fd2edf79abd1c4f2dde6c98a3e7d5cb9c25ab9386df874d5f072d6b5'}, + {'TensorFlow-2.5.0_add-support-for-large-core-systems.patch': + '915f3477d6407fafd48269fe1e684a05ce361d9b9b85e58686682df87760f636'}, + {'TensorFlow-2.5.0_disable-avx512-extensions.patch': + '3655ce24c97569ac9738c07cac85347ba6f5c815ada95b19b606ffa46d4dda03'}, + {'TensorFlow-2.5.0-fix-alias-violation-in-absl.patch': + '12454fda3330fb45cd380377e283f04488b40e0b8ae7378e786ddf731a581f75'}, + {'TensorFlow-2.5.0_fix-arm-vector-intrinsics.patch': + '5edea55ce87d5adb14f6ed6996f308879e268b8cec760cf11288e3a56179a029'}, + {'TensorFlow-2.5.0_fix-crash-on-shutdown.patch': + '578c7493221ebd3dc25ca43d63a72cbb28fdf4112b1e2baa7390f25781bd78fd'}, + {'TensorFlow-2.7.1_fix_cpu_count.patch': + '5427a4cff0afc2fe5b24776ae9ca3616c56a79c1fde0025b37bec24837bb0698'}, + {'TensorFlow-2.8.4_exclude-xnnpack-on-ppc.patch': + 'ebd404ac56cc4ca662483f1f591e62e11749361be57a7ba5f4b2f0d03e829884'}, + {'TensorFlow-2.8.4_fix-PPC-JIT.patch': + '27d28293105b4dd0a25f58346c68b672f57215756f14a97c442d0e3317e93a2b'}, + {'TensorFlow-2.8.4_resolve-gcc-symlinks.patch': + '43ce9acc6bffff68a31d2263d0064d272999b2e0a2c6546690287cd1c9c90f04'}, + {'TensorFlow-2.9.1_fix-check-for-MKL.patch': + '3b9d20b43391def093a30dbc45b7502a48916efedf7314700f78cc7b2cc1b645'}, + {'TensorFlow-2.9.1_fix-PPC-Eigen-build.patch': + '5f559a6eade65df665c7c69bc2e5d5d4214b85ea836e966f5dba73211307b972'}, + {'TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch': + '6fe50faab28387c622c68dc3fc0cbfb2a51000cd750c1a82f8420b54fcd2509f'}, + {'TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch': + '13a987ce8e20957d9a618493f6a0e8f67e0f9c8b11596f27bcd7322a8e62113d'}, + {'TensorFlow-2.9.1_support_flatbuffers_2.0.patch': + 'aaf0e0f86ad26f98a2bbb230dc2bbc2fb5f04886ab340049b5eaf3c70ae18f39'}, + {'TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch': + 'b6203d42d68fe42a637499b78e423b66e1310dbc34ef3d1d2d804f8c665997ae'}, + ], + 'test_script': 'TensorFlow-2.x_mnist-test.py', + 'test_tag_filters_cpu': '-gpu,-tpu,-no_cuda_on_cpu_tap,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_tag_filters_gpu': 'gpu,-no_gpu,-nogpu,-gpu_cupti,-no_cuda11,' + '-no_pip,-no_oss,-oss_serial,-benchmark-test,-v1only', + 'test_targets': [ + '//tensorflow/core/...', + '-//tensorflow/core:example_java_proto', + '-//tensorflow/core/example:example_protos_closure', + '//tensorflow/cc/...', + '//tensorflow/c/...', + '//tensorflow/python/...', + '-//tensorflow/c/eager:c_api_test_gpu', + '-//tensorflow/c/eager:c_api_distributed_test', + '-//tensorflow/c/eager:c_api_distributed_test_gpu', + '-//tensorflow/c/eager:c_api_cluster_test_gpu', + '-//tensorflow/c/eager:c_api_remote_function_test_gpu', + '-//tensorflow/c/eager:c_api_remote_test_gpu', + '-//tensorflow/core/common_runtime:collective_param_resolver_local_test', + '-//tensorflow/core/common_runtime:mkl_layout_pass_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_ops_test', + '-//tensorflow/core/kernels/mkl:mkl_fused_batch_norm_op_test', + '-//tensorflow/core/ir/importexport/tests/roundtrip/...', + ], + 'testopts': "--test_timeout=3600 --test_size_filters=small", + 'testopts_gpu': "--test_timeout=3600 --test_size_filters=small " + "--run_under=//tensorflow/tools/ci_build/gpu_build:parallel_gpu_execute", + 'with_xla': True, + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-PPC-Eigen-build.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-PPC-Eigen-build.patch new file mode 100644 index 00000000000..7ebb09097df --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-PPC-Eigen-build.patch @@ -0,0 +1,34 @@ +The new Eigen version used in TF 2.9 is not compatible with the custom classes +defined in TF leading to a compile error on PPC: +'class EigenForTFLite::internal::TensorContractionInputMapper, const EigenForTFLite::TensorImagePatchOp<-1, -1, const EigenForTFLite::TensorMap, 16> > >, EigenForTFLite::ThreadPoolDevice>, std::array, std::array, 4, true, false, 0, EigenForTFLite::MakePointer>' has no member named 'load' + +See https://github.com/tensorflow/tensorflow/issues/59212 and https://gitlab.com/libeigen/eigen/-/merge_requests/764#note_1231907378 +This might be easily fixable in more recent versions of TF/Eigen +but for now simply disable the custom TF code for PPC. + +diff --git a/tensorflow/core/kernels/eigen_cuboid_convolution.h b/tensorflow/core/kernels/eigen_cuboid_convolution.h +index 729dcd3bd2a..89f1d5b6732 100644 +--- a/tensorflow/core/kernels/eigen_cuboid_convolution.h ++++ b/tensorflow/core/kernels/eigen_cuboid_convolution.h +@@ -28,7 +28,7 @@ namespace Eigen { + + namespace internal { + +-#if !EIGEN_ALTIVEC_USE_CUSTOM_PACK ++#ifndef EIGEN_VECTORIZE_VSX + // WARNING: Most of the code here implicitly assumes that the matrix is in + // ColMajor layout. This is guaranteed by the tensor contraction (see + // TensorContraction.h). +diff --git a/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h b/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h +index 37a41f952fa..ade41fbf103 100644 +--- a/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h ++++ b/tensorflow/core/kernels/eigen_spatial_convolutions-inl.h +@@ -23,7 +23,7 @@ namespace Eigen { + + namespace internal { + +-#if !EIGEN_ALTIVEC_USE_CUSTOM_PACK ++#ifndef EIGEN_VECTORIZE_VSX + // WARNING: Most of the code here implicitly assumes that the matrix is in + // ColMajor layout. This is guaranteed by the tensor contraction (see + // TensorContraction.h). diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-check-for-MKL.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-check-for-MKL.patch new file mode 100644 index 00000000000..a9c1da7bc9a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_fix-check-for-MKL.patch @@ -0,0 +1,197 @@ +Tests are incorrectly not skipped causing failures related to MKL. +See https://github.com/tensorflow/tensorflow/issues/59252 + +Use a patch from TF 2.11: https://github.com/tensorflow/tensorflow/commit/5ec3d2e626589540bcfbeb7dac40255034e587df + +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/core/util/BUILD b/tensorflow/core/util/BUILD +index 8881f6fd5e9..25882152abf 100644 +--- a/tensorflow/core/util/BUILD ++++ b/tensorflow/core/util/BUILD +@@ -491,6 +491,11 @@ cc_library( + "//tensorflow/python:__pkg__", + "//tensorflow/python/util:__pkg__", + ], ++ deps = [ ++ "//tensorflow/core/platform:platform_port", ++ "//tensorflow/core/util:env_var", ++ "@com_google_absl//absl/base", ++ ], + alwayslink = 1, + ) + +diff --git a/tensorflow/core/util/port.cc b/tensorflow/core/util/port.cc +index 358b39bfb00..0aa3cfa708e 100644 +--- a/tensorflow/core/util/port.cc ++++ b/tensorflow/core/util/port.cc +@@ -15,6 +15,9 @@ limitations under the License. + + #include "tensorflow/core/util/port.h" + ++#include "absl/base/call_once.h" ++#include "tensorflow/core/platform/cpu_info.h" ++#include "tensorflow/core/util/env_var.h" + + namespace tensorflow { + +@@ -60,10 +63,57 @@ bool GpuSupportsHalfMatMulAndConv() { + } + + bool IsMklEnabled() { +-#if defined(INTEL_MKL) && defined(ENABLE_MKL) +- return true; +-#else ++#ifndef INTEL_MKL + return false; +-#endif // INTEL_MKL && ENABLE_MKL ++#endif ++ static absl::once_flag once; // NOLINT(clang-diagnostic-unreachable-code) ++#ifdef ENABLE_MKL ++ // Keeping TF_DISABLE_MKL env variable for legacy reasons. ++ static bool oneDNN_disabled = false; ++ absl::call_once(once, [&] { ++ TF_CHECK_OK(ReadBoolFromEnvVar("TF_DISABLE_MKL", false, &oneDNN_disabled)); ++ if (oneDNN_disabled) VLOG(2) << "TF-MKL: Disabling oneDNN"; ++ }); ++ return (!oneDNN_disabled); ++#else ++ // Linux: Turn oneDNN on by default for CPUs with neural network features. ++ // Windows: oneDNN is off by default. ++ // No need to guard for other platforms here because INTEL_MKL is only defined ++ // for non-mobile Linux or Windows. ++ static bool oneDNN_enabled = ++#ifdef __linux__ ++ port::TestCPUFeature(port::CPUFeature::AVX512_VNNI) || ++ port::TestCPUFeature(port::CPUFeature::AVX512_BF16) || ++ port::TestCPUFeature(port::CPUFeature::AVX_VNNI) || ++ port::TestCPUFeature(port::CPUFeature::AMX_TILE) || ++ port::TestCPUFeature(port::CPUFeature::AMX_INT8) || ++ port::TestCPUFeature(port::CPUFeature::AMX_BF16); ++#else ++ false; ++#endif // __linux__ ++ absl::call_once(once, [&] { ++ auto status = ReadBoolFromEnvVar("TF_ENABLE_ONEDNN_OPTS", oneDNN_enabled, ++ &oneDNN_enabled); ++ if (!status.ok()) { ++ LOG(WARNING) << "TF_ENABLE_ONEDNN_OPTS is not set to either '0', 'false'," ++ << " '1', or 'true'. Using the default setting: " ++ << oneDNN_enabled; ++ } ++ if (oneDNN_enabled) { ++#ifndef DNNL_AARCH64_USE_ACL ++ LOG(INFO) << "oneDNN custom operations are on. " ++ << "You may see slightly different numerical results due to " ++ << "floating-point round-off errors from different computation " ++ << "orders. To turn them off, set the environment variable " ++ << "`TF_ENABLE_ONEDNN_OPTS=0`."; ++#else ++ LOG(INFO) << "Experimental oneDNN custom operations are on. " ++ << "If you experience issues, please turn them off by setting " ++ << "the environment variable `TF_ENABLE_ONEDNN_OPTS=0`."; ++#endif // !DNNL_AARCH64_USE_ACL ++ } ++ }); ++ return oneDNN_enabled; ++#endif // ENABLE_MKL + } + } // end namespace tensorflow +diff --git a/tensorflow/core/util/util.cc b/tensorflow/core/util/util.cc +index eef2618de91..1c12f552d7d 100644 +--- a/tensorflow/core/util/util.cc ++++ b/tensorflow/core/util/util.cc +@@ -15,16 +15,10 @@ limitations under the License. + + #include "tensorflow/core/util/util.h" + +-#include +-#include +- +-#include "absl/base/call_once.h" +-#include "tensorflow/core/framework/device_factory.h" + #include "tensorflow/core/lib/gtl/inlined_vector.h" + #include "tensorflow/core/lib/strings/strcat.h" +-#include "tensorflow/core/platform/cpu_info.h" + #include "tensorflow/core/platform/logging.h" +-#include "tensorflow/core/util/env_var.h" ++#include "tensorflow/core/util/port.h" + + namespace tensorflow { + +@@ -127,59 +121,7 @@ string SliceDebugString(const TensorShape& shape, const int64_t flat) { + return result; + } + +-bool IsMKLEnabled() { +-#ifndef INTEL_MKL +- return false; +-#endif // !INTEL_MKL +- static absl::once_flag once; +-#ifdef ENABLE_MKL +- // Keeping TF_DISABLE_MKL env variable for legacy reasons. +- static bool oneDNN_disabled = false; +- absl::call_once(once, [&] { +- TF_CHECK_OK(ReadBoolFromEnvVar("TF_DISABLE_MKL", false, &oneDNN_disabled)); +- if (oneDNN_disabled) VLOG(2) << "TF-MKL: Disabling oneDNN"; +- }); +- return (!oneDNN_disabled); +-#else +- // Linux: Turn oneDNN on by default for CPUs with neural network features. +- // Windows: oneDNN is off by default. +- // No need to guard for other platforms here because INTEL_MKL is only defined +- // for non-mobile Linux or Windows. +- static bool oneDNN_enabled = +-#ifdef __linux__ +- port::TestCPUFeature(port::CPUFeature::AVX512_VNNI) || +- port::TestCPUFeature(port::CPUFeature::AVX512_BF16) || +- port::TestCPUFeature(port::CPUFeature::AVX_VNNI) || +- port::TestCPUFeature(port::CPUFeature::AMX_TILE) || +- port::TestCPUFeature(port::CPUFeature::AMX_INT8) || +- port::TestCPUFeature(port::CPUFeature::AMX_BF16); +-#else +- false; +-#endif // __linux__ +- absl::call_once(once, [&] { +- auto status = ReadBoolFromEnvVar("TF_ENABLE_ONEDNN_OPTS", oneDNN_enabled, +- &oneDNN_enabled); +- if (!status.ok()) { +- LOG(WARNING) << "TF_ENABLE_ONEDNN_OPTS is not set to either '0', 'false'," +- << " '1', or 'true'. Using the default setting: " +- << oneDNN_enabled; +- } +- if (oneDNN_enabled) { +-#ifndef DNNL_AARCH64_USE_ACL +- LOG(INFO) << "oneDNN custom operations are on. " +- << "You may see slightly different numerical results due to " +- << "floating-point round-off errors from different computation " +- << "orders. To turn them off, set the environment variable " +- << "`TF_ENABLE_ONEDNN_OPTS=0`."; +-#else +- LOG(INFO) << "Experimental oneDNN custom operations are on. " +- << "If you experience issues, please turn them off by setting " +- << "the environment variable `TF_ENABLE_ONEDNN_OPTS=0`."; +-#endif // !DNNL_AARCH64_USE_ACL +- } +- }); +- return oneDNN_enabled; +-#endif // ENABLE_MKL +-} ++// TODO(penporn): Remove this function from util.cc ++bool IsMKLEnabled() { return IsMklEnabled(); } + + } // namespace tensorflow +diff --git a/tensorflow/python/framework/test_util.py b/tensorflow/python/framework/test_util.py +index 02149d89b2f..e859ec47a1e 100644 +--- a/tensorflow/python/framework/test_util.py ++++ b/tensorflow/python/framework/test_util.py +@@ -359,8 +359,7 @@ def GpuSupportsHalfMatMulAndConv(): + + + def IsMklEnabled(): +- return (_pywrap_util_port.IsMklEnabled() or +- os.getenv("TF_ENABLE_ONEDNN_OPTS", "False").lower() in ["true", "1"]) ++ return _pywrap_util_port.IsMklEnabled() + + + def InstallStackTraceHandler(): diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch new file mode 100644 index 00000000000..7701d85e612 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-duplicate-gpu-tests.patch @@ -0,0 +1,55 @@ +TensorFlow adds some GPU tests twice increasing the runtime of the test suite. +This filters out the test part meant for CPU. + +See https://github.com/tensorflow/tensorflow/issues/47081 +From https://github.com/tensorflow/tensorflow/pull/59129 + +Author: Alexander Grund (TU Dresden) +--- + tensorflow/tensorflow.bzl | 33 +++++++++++++++++---------------- + 1 file changed, 17 insertions(+), 16 deletions(-) + +diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl +index 649c8e22dcc95..d3fc0e3221497 100644 +--- a/tensorflow/tensorflow.bzl ++++ b/tensorflow/tensorflow.bzl +@@ -1461,22 +1461,23 @@ def tf_gpu_cc_test( + linkopts = [], + **kwargs): + targets = [] +- tf_cc_test( +- name = name, +- size = size, +- srcs = srcs, +- args = args, +- data = data, +- extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), +- kernels = kernels, +- linkopts = linkopts, +- linkstatic = linkstatic, +- suffix = "_cpu", +- tags = tags, +- deps = deps, +- **kwargs +- ) +- targets.append(name + "_cpu") ++ if 'gpu' not in tags: ++ tf_cc_test( ++ name = name, ++ size = size, ++ srcs = srcs, ++ args = args, ++ data = data, ++ extra_copts = extra_copts + if_cuda(["-DNV_CUDNN_DISABLE_EXCEPTION"]), ++ kernels = kernels, ++ linkopts = linkopts, ++ linkstatic = linkstatic, ++ suffix = "_cpu", ++ tags = tags, ++ deps = deps, ++ **kwargs ++ ) ++ targets.append(name + "_cpu") + tf_cc_test( + name = name, + size = size, diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch new file mode 100644 index 00000000000..437f45fe5ef --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_remove-libclang-and-io-gcs-deps.patch @@ -0,0 +1,35 @@ +This combines two patches from TensorFlow 2.7.1. + +tensorflow-io-gcs-filesystem is not available as a binary for all architectures and +building it requires TensorFlow to be installed, i.e. there is a cyclic dependency. +As it is not actually required (but optional) remove it from `REQUIRED_PACKAGES`. +See https://github.com/tensorflow/tensorflow/issues/56636 + +libclang was introduced in +https://github.com/tensorflow/tensorflow/commit/c211472000ff57bac7fcec9b0465cf73b37bf135 +> This is in preparation to open-source TF's TFRT backend. +> TFRT generates code using libclang python bindings as part of the build. +Hence it is not currently used and as it is not (easily) available for all architectures +simply remove it. + +Patch added by Simon Branford (University of Birmingham) +Updated by Alexander Grund (TU Dresden) + +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -83,7 +83,6 @@ REQUIRED_PACKAGES = [ + 'google_pasta >= 0.1.1', + 'h5py >= 2.9.0', + 'keras_preprocessing >= 1.1.1', # 1.1.0 needs tensorflow==1.7 +- 'libclang >= 13.0.0', + 'numpy >= 1.20', + 'opt_einsum >= 2.3.2', + 'packaging', +@@ -100,7 +99,6 @@ REQUIRED_PACKAGES = [ + 'termcolor >= 1.1.0', + 'typing_extensions >= 3.6.6', + 'wrapt >= 1.11.0', +- 'tensorflow-io-gcs-filesystem >= 0.23.1', + # grpcio does not build correctly on big-endian machines due to lack of + # BoringSSL support. + # See https://github.com/tensorflow/tensorflow/issues/17882. diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch new file mode 100644 index 00000000000..9612f06140a --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.6.patch @@ -0,0 +1,4901 @@ +Add support for flatbuffers 2.0.6 on top of 2.0 +Taken from https://github.com/tensorflow/tensorflow/commit/3ef396642bb88580b527077cf2d6dc12325085be + +Backported to 2.9.1 by +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +index 40f9485b5d6..5ac317b9c13 100644 +--- a/tensorflow/lite/CMakeLists.txt ++++ b/tensorflow/lite/CMakeLists.txt +@@ -306,6 +306,11 @@ if(TFLITE_ENABLE_GPU) + ${TFLITE_SOURCE_DIR}/tools/versioning/gpu_compatibility.cc + ${TFLITE_SOURCE_DIR}/tools/versioning/op_signature.cc + ) ++ include_directories( ++ AFTER ++ ${TFLITE_SOURCE_DIR}/delegates/gpu/common ++ ${TFLITE_SOURCE_DIR}/delegates/gpu/common/task ++ ) + if(TFLITE_ENABLE_METAL AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") + # + # libmetal_delegate library +diff --git a/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h b/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h +index 8a12bf2a9db..ec0f176b45a 100644 +--- a/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h ++++ b/tensorflow/lite/delegates/gpu/cl/compiled_program_cache_generated.h +@@ -26,10 +26,13 @@ namespace cl { + namespace data { + + struct Program; ++struct ProgramBuilder; + + struct CompiledCache; ++struct CompiledCacheBuilder; + + struct Program FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { ++ typedef ProgramBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FINGERPRINT = 4, + VT_BINARY = 6 +@@ -42,7 +45,7 @@ struct Program FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FINGERPRINT) && ++ VerifyField(verifier, VT_FINGERPRINT, 8) && + VerifyOffset(verifier, VT_BINARY) && + verifier.VerifyVector(binary()) && + verifier.EndTable(); +@@ -50,6 +53,7 @@ struct Program FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ProgramBuilder { ++ typedef Program Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fingerprint(uint64_t fingerprint) { +@@ -62,7 +66,6 @@ struct ProgramBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ProgramBuilder &operator=(const ProgramBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -92,6 +95,7 @@ inline flatbuffers::Offset CreateProgramDirect( + } + + struct CompiledCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { ++ typedef CompiledCacheBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DRIVER_VERSION = 4, + VT_PROGRAMS = 6 +@@ -99,8 +103,8 @@ struct CompiledCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + const flatbuffers::String *driver_version() const { + return GetPointer(VT_DRIVER_VERSION); + } +- const flatbuffers::Vector> *programs() const { +- return GetPointer> *>(VT_PROGRAMS); ++ const flatbuffers::Vector> *programs() const { ++ return GetPointer> *>(VT_PROGRAMS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +@@ -114,19 +118,19 @@ struct CompiledCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CompiledCacheBuilder { ++ typedef CompiledCache Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_driver_version(flatbuffers::Offset driver_version) { + fbb_.AddOffset(CompiledCache::VT_DRIVER_VERSION, driver_version); + } +- void add_programs(flatbuffers::Offset>> programs) { ++ void add_programs(flatbuffers::Offset>> programs) { + fbb_.AddOffset(CompiledCache::VT_PROGRAMS, programs); + } + explicit CompiledCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CompiledCacheBuilder &operator=(const CompiledCacheBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -137,7 +141,7 @@ struct CompiledCacheBuilder { + inline flatbuffers::Offset CreateCompiledCache( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset driver_version = 0, +- flatbuffers::Offset>> programs = 0) { ++ flatbuffers::Offset>> programs = 0) { + CompiledCacheBuilder builder_(_fbb); + builder_.add_programs(programs); + builder_.add_driver_version(driver_version); +@@ -147,9 +151,9 @@ inline flatbuffers::Offset CreateCompiledCache( + inline flatbuffers::Offset CreateCompiledCacheDirect( + flatbuffers::FlatBufferBuilder &_fbb, + const char *driver_version = nullptr, +- const std::vector> *programs = nullptr) { ++ const std::vector> *programs = nullptr) { + auto driver_version__ = driver_version ? _fbb.CreateString(driver_version) : 0; +- auto programs__ = programs ? _fbb.CreateVector>(*programs) : 0; ++ auto programs__ = programs ? _fbb.CreateVector>(*programs) : 0; + return tflite::gpu::cl::data::CreateCompiledCache( + _fbb, + driver_version__, +@@ -173,6 +177,11 @@ inline bool CompiledCacheBufferHasIdentifier(const void *buf) { + buf, CompiledCacheIdentifier()); + } + ++inline bool SizePrefixedCompiledCacheBufferHasIdentifier(const void *buf) { ++ return flatbuffers::BufferHasIdentifier( ++ buf, CompiledCacheIdentifier(), true); ++} ++ + inline bool VerifyCompiledCacheBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(CompiledCacheIdentifier()); +diff --git a/tensorflow/lite/delegates/gpu/cl/serialization_generated.h b/tensorflow/lite/delegates/gpu/cl/serialization_generated.h +index 26691adb44a..aa4affb7ed4 100644 +--- a/tensorflow/lite/delegates/gpu/cl/serialization_generated.h ++++ b/tensorflow/lite/delegates/gpu/cl/serialization_generated.h +@@ -19,8 +19,9 @@ limitations under the License. + #define FLATBUFFERS_GENERATED_SERIALIZATION_TFLITE_GPU_CL_DATA_H_ + + #include "flatbuffers/flatbuffers.h" +-#include "tensorflow/lite/delegates/gpu/common/gpu_model_generated.h" +-#include "tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h" ++ ++#include "serialization_base_generated.h" ++#include "gpu_model_generated.h" + + namespace tflite { + namespace gpu { +@@ -39,15 +40,18 @@ struct BinaryProgram FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VT_FINGERPRINT = 4, + VT_BINARY = 6 + }; +- uint64_t fingerprint() const { return GetField(VT_FINGERPRINT, 0); } ++ uint64_t fingerprint() const { ++ return GetField(VT_FINGERPRINT, 0); ++ } + const flatbuffers::Vector *binary() const { + return GetPointer *>(VT_BINARY); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FINGERPRINT) && ++ VerifyField(verifier, VT_FINGERPRINT, 8) && + VerifyOffset(verifier, VT_BINARY) && +- verifier.VerifyVector(binary()) && verifier.EndTable(); ++ verifier.VerifyVector(binary()) && ++ verifier.EndTable(); + } + }; + +@@ -62,7 +66,7 @@ struct BinaryProgramBuilder { + fbb_.AddOffset(BinaryProgram::VT_BINARY, binary); + } + explicit BinaryProgramBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -73,7 +77,8 @@ struct BinaryProgramBuilder { + }; + + inline flatbuffers::Offset CreateBinaryProgram( +- flatbuffers::FlatBufferBuilder &_fbb, uint64_t fingerprint = 0, ++ flatbuffers::FlatBufferBuilder &_fbb, ++ uint64_t fingerprint = 0, + flatbuffers::Offset> binary = 0) { + BinaryProgramBuilder builder_(_fbb); + builder_.add_fingerprint(fingerprint); +@@ -82,11 +87,14 @@ inline flatbuffers::Offset CreateBinaryProgram( + } + + inline flatbuffers::Offset CreateBinaryProgramDirect( +- flatbuffers::FlatBufferBuilder &_fbb, uint64_t fingerprint = 0, ++ flatbuffers::FlatBufferBuilder &_fbb, ++ uint64_t fingerprint = 0, + const std::vector *binary = nullptr) { + auto binary__ = binary ? _fbb.CreateVector(*binary) : 0; +- return tflite::gpu::cl::data::CreateBinaryProgram(_fbb, fingerprint, +- binary__); ++ return tflite::gpu::cl::data::CreateBinaryProgram( ++ _fbb, ++ fingerprint, ++ binary__); + } + + struct InferenceContext FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -104,25 +112,18 @@ struct InferenceContext FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + const flatbuffers::String *driver_version() const { + return GetPointer(VT_DRIVER_VERSION); + } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *binary_programs() const { +- return GetPointer> *>( +- VT_BINARY_PROGRAMS); ++ const flatbuffers::Vector> *binary_programs() const { ++ return GetPointer> *>(VT_BINARY_PROGRAMS); + } +- const flatbuffers::Vector> +- *tuned_work_group_sizes_per_node() const { +- return GetPointer> *>( +- VT_TUNED_WORK_GROUP_SIZES_PER_NODE); ++ const flatbuffers::Vector> *tuned_work_group_sizes_per_node() const { ++ return GetPointer> *>(VT_TUNED_WORK_GROUP_SIZES_PER_NODE); + } + const flatbuffers::Vector *fingerprints_per_node() const { +- return GetPointer *>( +- VT_FINGERPRINTS_PER_NODE); ++ return GetPointer *>(VT_FINGERPRINTS_PER_NODE); + } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_GPU_MODEL) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_GPU_MODEL) && + verifier.VerifyTable(gpu_model()) && + VerifyOffset(verifier, VT_DRIVER_VERSION) && + verifier.VerifyString(driver_version()) && +@@ -142,32 +143,20 @@ struct InferenceContextBuilder { + typedef InferenceContext Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; +- void add_gpu_model( +- flatbuffers::Offset gpu_model) { ++ void add_gpu_model(flatbuffers::Offset gpu_model) { + fbb_.AddOffset(InferenceContext::VT_GPU_MODEL, gpu_model); + } +- void add_driver_version( +- flatbuffers::Offset driver_version) { ++ void add_driver_version(flatbuffers::Offset driver_version) { + fbb_.AddOffset(InferenceContext::VT_DRIVER_VERSION, driver_version); + } +- void add_binary_programs( +- flatbuffers::Offset>> +- binary_programs) { ++ void add_binary_programs(flatbuffers::Offset>> binary_programs) { + fbb_.AddOffset(InferenceContext::VT_BINARY_PROGRAMS, binary_programs); + } +- void add_tuned_work_group_sizes_per_node( +- flatbuffers::Offset< +- flatbuffers::Vector>> +- tuned_work_group_sizes_per_node) { +- fbb_.AddOffset(InferenceContext::VT_TUNED_WORK_GROUP_SIZES_PER_NODE, +- tuned_work_group_sizes_per_node); ++ void add_tuned_work_group_sizes_per_node(flatbuffers::Offset>> tuned_work_group_sizes_per_node) { ++ fbb_.AddOffset(InferenceContext::VT_TUNED_WORK_GROUP_SIZES_PER_NODE, tuned_work_group_sizes_per_node); + } +- void add_fingerprints_per_node( +- flatbuffers::Offset> +- fingerprints_per_node) { +- fbb_.AddOffset(InferenceContext::VT_FINGERPRINTS_PER_NODE, +- fingerprints_per_node); ++ void add_fingerprints_per_node(flatbuffers::Offset> fingerprints_per_node) { ++ fbb_.AddOffset(InferenceContext::VT_FINGERPRINTS_PER_NODE, fingerprints_per_node); + } + explicit InferenceContextBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { +@@ -184,14 +173,9 @@ inline flatbuffers::Offset CreateInferenceContext( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset gpu_model = 0, + flatbuffers::Offset driver_version = 0, +- flatbuffers::Offset>> +- binary_programs = 0, +- flatbuffers::Offset< +- flatbuffers::Vector>> +- tuned_work_group_sizes_per_node = 0, +- flatbuffers::Offset> fingerprints_per_node = +- 0) { ++ flatbuffers::Offset>> binary_programs = 0, ++ flatbuffers::Offset>> tuned_work_group_sizes_per_node = 0, ++ flatbuffers::Offset> fingerprints_per_node = 0) { + InferenceContextBuilder builder_(_fbb); + builder_.add_fingerprints_per_node(fingerprints_per_node); + builder_.add_tuned_work_group_sizes_per_node(tuned_work_group_sizes_per_node); +@@ -205,31 +189,20 @@ inline flatbuffers::Offset CreateInferenceContextDirect( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset gpu_model = 0, + const char *driver_version = nullptr, +- const std::vector> +- *binary_programs = nullptr, +- const std::vector> +- *tuned_work_group_sizes_per_node = nullptr, ++ const std::vector> *binary_programs = nullptr, ++ const std::vector> *tuned_work_group_sizes_per_node = nullptr, + const std::vector *fingerprints_per_node = nullptr) { +- auto driver_version__ = +- driver_version ? _fbb.CreateString(driver_version) : 0; +- auto binary_programs__ = +- binary_programs +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *binary_programs) +- : 0; +- auto tuned_work_group_sizes_per_node__ = +- tuned_work_group_sizes_per_node +- ? _fbb.CreateVector>( +- *tuned_work_group_sizes_per_node) +- : 0; +- auto fingerprints_per_node__ = +- fingerprints_per_node +- ? _fbb.CreateVector(*fingerprints_per_node) +- : 0; ++ auto driver_version__ = driver_version ? _fbb.CreateString(driver_version) : 0; ++ auto binary_programs__ = binary_programs ? _fbb.CreateVector>(*binary_programs) : 0; ++ auto tuned_work_group_sizes_per_node__ = tuned_work_group_sizes_per_node ? _fbb.CreateVector>(*tuned_work_group_sizes_per_node) : 0; ++ auto fingerprints_per_node__ = fingerprints_per_node ? _fbb.CreateVector(*fingerprints_per_node) : 0; + return tflite::gpu::cl::data::CreateInferenceContext( +- _fbb, gpu_model, driver_version__, binary_programs__, +- tuned_work_group_sizes_per_node__, fingerprints_per_node__); ++ _fbb, ++ gpu_model, ++ driver_version__, ++ binary_programs__, ++ tuned_work_group_sizes_per_node__, ++ fingerprints_per_node__); + } + + inline const tflite::gpu::cl::data::InferenceContext *GetInferenceContext(const void *buf) { +diff --git a/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h b/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h +index 0f0873b1e44..8cc0d6c75c9 100644 +--- a/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h ++++ b/tensorflow/lite/delegates/gpu/common/gpu_model_generated.h +@@ -18,7 +18,8 @@ limitations under the License. + #define FLATBUFFERS_GENERATED_GPUMODEL_TFLITE_GPU_DATA_H_ + + #include "flatbuffers/flatbuffers.h" +-#include "tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h" ++ ++#include "serialization_base_generated.h" + + namespace tflite { + namespace gpu { +@@ -45,11 +46,15 @@ struct TensorDescWithId FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + const tflite::gpu::data::TensorDescriptor *desc() const { + return GetPointer(VT_DESC); + } +- int32_t id() const { return GetField(VT_ID, 0); } ++ int32_t id() const { ++ return GetField(VT_ID, 0); ++ } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_DESC) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_DESC) && + verifier.VerifyTable(desc()) && +- VerifyField(verifier, VT_ID) && verifier.EndTable(); ++ VerifyField(verifier, VT_ID, 4) && ++ verifier.EndTable(); + } + }; + +@@ -64,7 +69,7 @@ struct TensorDescWithIdBuilder { + fbb_.AddElement(TensorDescWithId::VT_ID, id, 0); + } + explicit TensorDescWithIdBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -90,12 +95,17 @@ struct PairOfValueIds FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VT_FIRST = 4, + VT_SECOND = 6 + }; +- int32_t first() const { return GetField(VT_FIRST, 0); } +- int32_t second() const { return GetField(VT_SECOND, 0); } ++ int32_t first() const { ++ return GetField(VT_FIRST, 0); ++ } ++ int32_t second() const { ++ return GetField(VT_SECOND, 0); ++ } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FIRST) && +- VerifyField(verifier, VT_SECOND) && verifier.EndTable(); ++ VerifyField(verifier, VT_FIRST, 4) && ++ VerifyField(verifier, VT_SECOND, 4) && ++ verifier.EndTable(); + } + }; + +@@ -110,7 +120,7 @@ struct PairOfValueIdsBuilder { + fbb_.AddElement(PairOfValueIds::VT_SECOND, second, 0); + } + explicit PairOfValueIdsBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -121,7 +131,8 @@ struct PairOfValueIdsBuilder { + }; + + inline flatbuffers::Offset CreatePairOfValueIds( +- flatbuffers::FlatBufferBuilder &_fbb, int32_t first = 0, ++ flatbuffers::FlatBufferBuilder &_fbb, ++ int32_t first = 0, + int32_t second = 0) { + PairOfValueIdsBuilder builder_(_fbb); + builder_.add_second(second); +@@ -150,13 +161,15 @@ struct GpuNode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return GetPointer(VT_NAME); + } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_GPU_OP) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_GPU_OP) && + verifier.VerifyTable(gpu_op()) && + VerifyOffset(verifier, VT_INPUT_IDS) && + verifier.VerifyVector(input_ids()) && + VerifyOffset(verifier, VT_OUTPUT_IDS) && + verifier.VerifyVector(output_ids()) && +- VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && ++ VerifyOffset(verifier, VT_NAME) && ++ verifier.VerifyString(name()) && + verifier.EndTable(); + } + }; +@@ -168,18 +181,17 @@ struct GpuNodeBuilder { + void add_gpu_op(flatbuffers::Offset gpu_op) { + fbb_.AddOffset(GpuNode::VT_GPU_OP, gpu_op); + } +- void add_input_ids( +- flatbuffers::Offset> input_ids) { ++ void add_input_ids(flatbuffers::Offset> input_ids) { + fbb_.AddOffset(GpuNode::VT_INPUT_IDS, input_ids); + } +- void add_output_ids( +- flatbuffers::Offset> output_ids) { ++ void add_output_ids(flatbuffers::Offset> output_ids) { + fbb_.AddOffset(GpuNode::VT_OUTPUT_IDS, output_ids); + } + void add_name(flatbuffers::Offset name) { + fbb_.AddOffset(GpuNode::VT_NAME, name); + } +- explicit GpuNodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { ++ explicit GpuNodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -212,8 +224,12 @@ inline flatbuffers::Offset CreateGpuNodeDirect( + auto input_ids__ = input_ids ? _fbb.CreateVector(*input_ids) : 0; + auto output_ids__ = output_ids ? _fbb.CreateVector(*output_ids) : 0; + auto name__ = name ? _fbb.CreateString(name) : 0; +- return tflite::gpu::data::CreateGpuNode(_fbb, gpu_op, input_ids__, +- output_ids__, name__); ++ return tflite::gpu::data::CreateGpuNode( ++ _fbb, ++ gpu_op, ++ input_ids__, ++ output_ids__, ++ name__); + } + + struct GpuModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -228,24 +244,14 @@ struct GpuModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VT_OUTPUT_REFS = 16, + VT_VARIABLE_IDS_AND_REFS = 18 + }; +- const flatbuffers::Vector> +- *nodes() const { +- return GetPointer> *>(VT_NODES); +- } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *tensors() const { +- return GetPointer> *>( +- VT_TENSORS); +- } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *const_tensors() const { +- return GetPointer> *>( +- VT_CONST_TENSORS); ++ const flatbuffers::Vector> *nodes() const { ++ return GetPointer> *>(VT_NODES); ++ } ++ const flatbuffers::Vector> *tensors() const { ++ return GetPointer> *>(VT_TENSORS); ++ } ++ const flatbuffers::Vector> *const_tensors() const { ++ return GetPointer> *>(VT_CONST_TENSORS); + } + const flatbuffers::Vector *input_ids() const { + return GetPointer *>(VT_INPUT_IDS); +@@ -259,15 +265,12 @@ struct GpuModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + const flatbuffers::Vector *output_refs() const { + return GetPointer *>(VT_OUTPUT_REFS); + } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *variable_ids_and_refs() const { +- return GetPointer> *>( +- VT_VARIABLE_IDS_AND_REFS); ++ const flatbuffers::Vector> *variable_ids_and_refs() const { ++ return GetPointer> *>(VT_VARIABLE_IDS_AND_REFS); + } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NODES) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_NODES) && + verifier.VerifyVector(nodes()) && + verifier.VerifyVectorOfTables(nodes()) && + VerifyOffset(verifier, VT_TENSORS) && +@@ -295,47 +298,32 @@ struct GpuModelBuilder { + typedef GpuModel Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; +- void add_nodes( +- flatbuffers::Offset< +- flatbuffers::Vector>> +- nodes) { ++ void add_nodes(flatbuffers::Offset>> nodes) { + fbb_.AddOffset(GpuModel::VT_NODES, nodes); + } +- void add_tensors( +- flatbuffers::Offset>> +- tensors) { ++ void add_tensors(flatbuffers::Offset>> tensors) { + fbb_.AddOffset(GpuModel::VT_TENSORS, tensors); + } +- void add_const_tensors( +- flatbuffers::Offset>> +- const_tensors) { ++ void add_const_tensors(flatbuffers::Offset>> const_tensors) { + fbb_.AddOffset(GpuModel::VT_CONST_TENSORS, const_tensors); + } +- void add_input_ids( +- flatbuffers::Offset> input_ids) { ++ void add_input_ids(flatbuffers::Offset> input_ids) { + fbb_.AddOffset(GpuModel::VT_INPUT_IDS, input_ids); + } +- void add_output_ids( +- flatbuffers::Offset> output_ids) { ++ void add_output_ids(flatbuffers::Offset> output_ids) { + fbb_.AddOffset(GpuModel::VT_OUTPUT_IDS, output_ids); + } +- void add_input_refs( +- flatbuffers::Offset> input_refs) { ++ void add_input_refs(flatbuffers::Offset> input_refs) { + fbb_.AddOffset(GpuModel::VT_INPUT_REFS, input_refs); + } +- void add_output_refs( +- flatbuffers::Offset> output_refs) { ++ void add_output_refs(flatbuffers::Offset> output_refs) { + fbb_.AddOffset(GpuModel::VT_OUTPUT_REFS, output_refs); + } +- void add_variable_ids_and_refs( +- flatbuffers::Offset>> +- variable_ids_and_refs) { ++ void add_variable_ids_and_refs(flatbuffers::Offset>> variable_ids_and_refs) { + fbb_.AddOffset(GpuModel::VT_VARIABLE_IDS_AND_REFS, variable_ids_and_refs); + } +- explicit GpuModelBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { ++ explicit GpuModelBuilder(flatbuffers::FlatBufferBuilder &_fbb) ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -347,22 +335,14 @@ struct GpuModelBuilder { + + inline flatbuffers::Offset CreateGpuModel( + flatbuffers::FlatBufferBuilder &_fbb, +- flatbuffers::Offset< +- flatbuffers::Vector>> +- nodes = 0, +- flatbuffers::Offset>> +- tensors = 0, +- flatbuffers::Offset>> +- const_tensors = 0, ++ flatbuffers::Offset>> nodes = 0, ++ flatbuffers::Offset>> tensors = 0, ++ flatbuffers::Offset>> const_tensors = 0, + flatbuffers::Offset> input_ids = 0, + flatbuffers::Offset> output_ids = 0, + flatbuffers::Offset> input_refs = 0, + flatbuffers::Offset> output_refs = 0, +- flatbuffers::Offset>> +- variable_ids_and_refs = 0) { ++ flatbuffers::Offset>> variable_ids_and_refs = 0) { + GpuModelBuilder builder_(_fbb); + builder_.add_variable_ids_and_refs(variable_ids_and_refs); + builder_.add_output_refs(output_refs); +@@ -377,48 +357,32 @@ inline flatbuffers::Offset CreateGpuModel( + + inline flatbuffers::Offset CreateGpuModelDirect( + flatbuffers::FlatBufferBuilder &_fbb, +- const std::vector> *nodes = +- nullptr, +- const std::vector> +- *tensors = nullptr, +- const std::vector> +- *const_tensors = nullptr, ++ const std::vector> *nodes = nullptr, ++ const std::vector> *tensors = nullptr, ++ const std::vector> *const_tensors = nullptr, + const std::vector *input_ids = nullptr, + const std::vector *output_ids = nullptr, + const std::vector *input_refs = nullptr, + const std::vector *output_refs = nullptr, +- const std::vector> +- *variable_ids_and_refs = nullptr) { +- auto nodes__ = +- nodes +- ? _fbb.CreateVector>( +- *nodes) +- : 0; +- auto tensors__ = +- tensors ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *tensors) +- : 0; +- auto const_tensors__ = +- const_tensors +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *const_tensors) +- : 0; ++ const std::vector> *variable_ids_and_refs = nullptr) { ++ auto nodes__ = nodes ? _fbb.CreateVector>(*nodes) : 0; ++ auto tensors__ = tensors ? _fbb.CreateVector>(*tensors) : 0; ++ auto const_tensors__ = const_tensors ? _fbb.CreateVector>(*const_tensors) : 0; + auto input_ids__ = input_ids ? _fbb.CreateVector(*input_ids) : 0; + auto output_ids__ = output_ids ? _fbb.CreateVector(*output_ids) : 0; + auto input_refs__ = input_refs ? _fbb.CreateVector(*input_refs) : 0; +- auto output_refs__ = +- output_refs ? _fbb.CreateVector(*output_refs) : 0; +- auto variable_ids_and_refs__ = +- variable_ids_and_refs +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *variable_ids_and_refs) +- : 0; ++ auto output_refs__ = output_refs ? _fbb.CreateVector(*output_refs) : 0; ++ auto variable_ids_and_refs__ = variable_ids_and_refs ? _fbb.CreateVector>(*variable_ids_and_refs) : 0; + return tflite::gpu::data::CreateGpuModel( +- _fbb, nodes__, tensors__, const_tensors__, input_ids__, output_ids__, +- input_refs__, output_refs__, variable_ids_and_refs__); ++ _fbb, ++ nodes__, ++ tensors__, ++ const_tensors__, ++ input_ids__, ++ output_ids__, ++ input_refs__, ++ output_refs__, ++ variable_ids_and_refs__); + } + + } // namespace data +diff --git a/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h b/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h +index a8f7b714e80..c2bd14c3c1a 100644 +--- a/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h ++++ b/tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h +@@ -139,17 +139,38 @@ enum class DataType : int8_t { + + inline const DataType (&EnumValuesDataType())[12] { + static const DataType values[] = { +- DataType::UNKNOWN, DataType::FLOAT16, DataType::FLOAT32, +- DataType::FLOAT64, DataType::UINT8, DataType::INT8, +- DataType::UINT16, DataType::INT16, DataType::UINT32, +- DataType::INT32, DataType::UINT64, DataType::INT64}; ++ DataType::UNKNOWN, ++ DataType::FLOAT16, ++ DataType::FLOAT32, ++ DataType::FLOAT64, ++ DataType::UINT8, ++ DataType::INT8, ++ DataType::UINT16, ++ DataType::INT16, ++ DataType::UINT32, ++ DataType::INT32, ++ DataType::UINT64, ++ DataType::INT64 ++ }; + return values; + } + + inline const char * const *EnumNamesDataType() { +- static const char *const names[13] = { +- "UNKNOWN", "FLOAT16", "FLOAT32", "FLOAT64", "UINT8", "INT8", "UINT16", +- "INT16", "UINT32", "INT32", "UINT64", "INT64", nullptr}; ++ static const char * const names[13] = { ++ "UNKNOWN", ++ "FLOAT16", ++ "FLOAT32", ++ "FLOAT64", ++ "UINT8", ++ "INT8", ++ "UINT16", ++ "INT16", ++ "UINT32", ++ "INT32", ++ "UINT64", ++ "INT64", ++ nullptr ++ }; + return names; + } + +@@ -315,21 +336,26 @@ enum class CalculationsPrecision : int8_t { + }; + + inline const CalculationsPrecision (&EnumValuesCalculationsPrecision())[3] { +- static const CalculationsPrecision values[] = {CalculationsPrecision::F32, +- CalculationsPrecision::F32_F16, +- CalculationsPrecision::F16}; ++ static const CalculationsPrecision values[] = { ++ CalculationsPrecision::F32, ++ CalculationsPrecision::F32_F16, ++ CalculationsPrecision::F16 ++ }; + return values; + } + +-inline const char *const *EnumNamesCalculationsPrecision() { +- static const char *const names[4] = {"F32", "F32_F16", "F16", nullptr}; ++inline const char * const *EnumNamesCalculationsPrecision() { ++ static const char * const names[4] = { ++ "F32", ++ "F32_F16", ++ "F16", ++ nullptr ++ }; + return names; + } + + inline const char *EnumNameCalculationsPrecision(CalculationsPrecision e) { +- if (flatbuffers::IsOutRange(e, CalculationsPrecision::F32, +- CalculationsPrecision::F16)) +- return ""; ++ if (flatbuffers::IsOutRange(e, CalculationsPrecision::F32, CalculationsPrecision::F16)) return ""; + const size_t index = static_cast(e); + return EnumNamesCalculationsPrecision()[index]; + } +@@ -346,26 +372,29 @@ enum class TensorToGrid : int8_t { + + inline const TensorToGrid (&EnumValuesTensorToGrid())[5] { + static const TensorToGrid values[] = { +- TensorToGrid::CUSTOM, TensorToGrid::WB_TO_X_HD_TO_Y_S_TO_Z, +- TensorToGrid::WB_TO_X_HD_TO_Y_Z_IS_1, TensorToGrid::WB_TO_X_H_TO_Y_D_TO_Z, +- TensorToGrid::B_TO_X_Y_IS_1_Z_IS_1}; ++ TensorToGrid::CUSTOM, ++ TensorToGrid::WB_TO_X_HD_TO_Y_S_TO_Z, ++ TensorToGrid::WB_TO_X_HD_TO_Y_Z_IS_1, ++ TensorToGrid::WB_TO_X_H_TO_Y_D_TO_Z, ++ TensorToGrid::B_TO_X_Y_IS_1_Z_IS_1 ++ }; + return values; + } + +-inline const char *const *EnumNamesTensorToGrid() { +- static const char *const names[6] = {"CUSTOM", +- "WB_TO_X_HD_TO_Y_S_TO_Z", +- "WB_TO_X_HD_TO_Y_Z_IS_1", +- "WB_TO_X_H_TO_Y_D_TO_Z", +- "B_TO_X_Y_IS_1_Z_IS_1", +- nullptr}; ++inline const char * const *EnumNamesTensorToGrid() { ++ static const char * const names[6] = { ++ "CUSTOM", ++ "WB_TO_X_HD_TO_Y_S_TO_Z", ++ "WB_TO_X_HD_TO_Y_Z_IS_1", ++ "WB_TO_X_H_TO_Y_D_TO_Z", ++ "B_TO_X_Y_IS_1_Z_IS_1", ++ nullptr ++ }; + return names; + } + + inline const char *EnumNameTensorToGrid(TensorToGrid e) { +- if (flatbuffers::IsOutRange(e, TensorToGrid::CUSTOM, +- TensorToGrid::B_TO_X_Y_IS_1_Z_IS_1)) +- return ""; ++ if (flatbuffers::IsOutRange(e, TensorToGrid::CUSTOM, TensorToGrid::B_TO_X_Y_IS_1_Z_IS_1)) return ""; + const size_t index = static_cast(e); + return EnumNamesTensorToGrid()[index]; + } +@@ -383,30 +412,31 @@ enum class CompilerOptions : int8_t { + + inline const CompilerOptions (&EnumValuesCompilerOptions())[6] { + static const CompilerOptions values[] = { +- CompilerOptions::ADRENO_FULL_SIMD_LINE, +- CompilerOptions::ADRENO_MORE_WAVES, +- CompilerOptions::CL_FAST_RELAXED_MATH, +- CompilerOptions::CL_OPT_DISABLE, +- CompilerOptions::CL_2_0, +- CompilerOptions::CL_3_0}; ++ CompilerOptions::ADRENO_FULL_SIMD_LINE, ++ CompilerOptions::ADRENO_MORE_WAVES, ++ CompilerOptions::CL_FAST_RELAXED_MATH, ++ CompilerOptions::CL_OPT_DISABLE, ++ CompilerOptions::CL_2_0, ++ CompilerOptions::CL_3_0 ++ }; + return values; + } + +-inline const char *const *EnumNamesCompilerOptions() { +- static const char *const names[7] = {"ADRENO_FULL_SIMD_LINE", +- "ADRENO_MORE_WAVES", +- "CL_FAST_RELAXED_MATH", +- "CL_OPT_DISABLE", +- "CL_2_0", +- "CL_3_0", +- nullptr}; ++inline const char * const *EnumNamesCompilerOptions() { ++ static const char * const names[7] = { ++ "ADRENO_FULL_SIMD_LINE", ++ "ADRENO_MORE_WAVES", ++ "CL_FAST_RELAXED_MATH", ++ "CL_OPT_DISABLE", ++ "CL_2_0", ++ "CL_3_0", ++ nullptr ++ }; + return names; + } + + inline const char *EnumNameCompilerOptions(CompilerOptions e) { +- if (flatbuffers::IsOutRange(e, CompilerOptions::ADRENO_FULL_SIMD_LINE, +- CompilerOptions::CL_3_0)) +- return ""; ++ if (flatbuffers::IsOutRange(e, CompilerOptions::ADRENO_FULL_SIMD_LINE, CompilerOptions::CL_3_0)) return ""; + const size_t index = static_cast(e); + return EnumNamesCompilerOptions()[index]; + } +@@ -433,10 +463,10 @@ struct Int4 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_X) && +- VerifyField(verifier, VT_Y) && +- VerifyField(verifier, VT_Z) && +- VerifyField(verifier, VT_W) && ++ VerifyField(verifier, VT_X, 4) && ++ VerifyField(verifier, VT_Y, 4) && ++ VerifyField(verifier, VT_Z, 4) && ++ VerifyField(verifier, VT_W, 4) && + verifier.EndTable(); + } + }; +@@ -500,9 +530,9 @@ struct Int3 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_X) && +- VerifyField(verifier, VT_Y) && +- VerifyField(verifier, VT_Z) && ++ VerifyField(verifier, VT_X, 4) && ++ VerifyField(verifier, VT_Y, 4) && ++ VerifyField(verifier, VT_Z, 4) && + verifier.EndTable(); + } + }; +@@ -557,8 +587,8 @@ struct Int2 FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_X) && +- VerifyField(verifier, VT_Y) && ++ VerifyField(verifier, VT_X, 4) && ++ VerifyField(verifier, VT_Y, 4) && + verifier.EndTable(); + } + }; +@@ -676,7 +706,7 @@ struct GPUObjectDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + VerifyOffset(verifier, VT_STATE_VARS) && + verifier.VerifyVector(state_vars()) && + verifier.VerifyVectorOfTables(state_vars()) && +- VerifyField(verifier, VT_ACCESS_TYPE) && ++ VerifyField(verifier, VT_ACCESS_TYPE, 1) && + verifier.EndTable(); + } + }; +@@ -743,8 +773,8 @@ struct IntValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && +- VerifyField(verifier, VT_VALUE) && +- VerifyField(verifier, VT_ACTIVE) && ++ VerifyField(verifier, VT_VALUE, 4) && ++ VerifyField(verifier, VT_ACTIVE, 1) && + verifier.EndTable(); + } + }; +@@ -818,8 +848,8 @@ struct FloatValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && +- VerifyField(verifier, VT_VALUE) && +- VerifyField(verifier, VT_ACTIVE) && ++ VerifyField(verifier, VT_VALUE, 4) && ++ VerifyField(verifier, VT_ACTIVE, 1) && + verifier.EndTable(); + } + }; +@@ -893,8 +923,8 @@ struct HalfValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && +- VerifyField(verifier, VT_VALUE) && +- VerifyField(verifier, VT_ACTIVE) && ++ VerifyField(verifier, VT_VALUE, 4) && ++ VerifyField(verifier, VT_ACTIVE, 1) && + verifier.EndTable(); + } + }; +@@ -984,13 +1014,13 @@ struct BufferDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BASE_OBJ) && + verifier.VerifyTable(base_obj()) && +- VerifyField(verifier, VT_ELEMENT_TYPE) && +- VerifyField(verifier, VT_ELEMENT_SIZE) && +- VerifyField(verifier, VT_MEMORY_TYPE) && ++ VerifyField(verifier, VT_ELEMENT_TYPE, 1) && ++ VerifyField(verifier, VT_ELEMENT_SIZE, 4) && ++ VerifyField(verifier, VT_MEMORY_TYPE, 1) && + VerifyOffset(verifier, VT_ATTRIBUTES) && + verifier.VerifyVector(attributes()) && + verifier.VerifyVectorOfStrings(attributes()) && +- VerifyField(verifier, VT_SIZE) && ++ VerifyField(verifier, VT_SIZE, 4) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); +@@ -1107,9 +1137,9 @@ struct Texture2DDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BASE_OBJ) && + verifier.VerifyTable(base_obj()) && +- VerifyField(verifier, VT_ELEMENT_TYPE) && +- VerifyField(verifier, VT_NORMALIZED) && +- VerifyField(verifier, VT_NORMALIZED_TYPE) && ++ VerifyField(verifier, VT_ELEMENT_TYPE, 1) && ++ VerifyField(verifier, VT_NORMALIZED, 1) && ++ VerifyField(verifier, VT_NORMALIZED_TYPE, 1) && + VerifyOffset(verifier, VT_SIZE) && + verifier.VerifyTable(size()) && + VerifyOffset(verifier, VT_DATA) && +@@ -1220,10 +1250,10 @@ struct TensorLinearDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_BASE_OBJ) && + verifier.VerifyTable(base_obj()) && +- VerifyField(verifier, VT_STORAGE_TYPE) && +- VerifyField(verifier, VT_ELEMENT_TYPE) && +- VerifyField(verifier, VT_MEMORY_TYPE) && +- VerifyField(verifier, VT_SIZE) && ++ VerifyField(verifier, VT_STORAGE_TYPE, 1) && ++ VerifyField(verifier, VT_ELEMENT_TYPE, 1) && ++ VerifyField(verifier, VT_MEMORY_TYPE, 1) && ++ VerifyField(verifier, VT_SIZE, 4) && + VerifyOffset(verifier, VT_DATA) && + verifier.VerifyVector(data()) && + verifier.EndTable(); +@@ -1326,11 +1356,11 @@ struct BHWDC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_B) && +- VerifyField(verifier, VT_H) && +- VerifyField(verifier, VT_W) && +- VerifyField(verifier, VT_D) && +- VerifyField(verifier, VT_C) && ++ VerifyField(verifier, VT_B, 4) && ++ VerifyField(verifier, VT_H, 4) && ++ VerifyField(verifier, VT_W, 4) && ++ VerifyField(verifier, VT_D, 4) && ++ VerifyField(verifier, VT_C, 4) && + verifier.EndTable(); + } + }; +@@ -1418,17 +1448,18 @@ struct TensorDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return GetField(VT_USE_BUFFER_FOR_WRITE_ONLY_IMAGE_BUFFER, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_BASE_OBJ) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_BASE_OBJ) && + verifier.VerifyTable(base_obj()) && +- VerifyField(verifier, VT_DATA_TYPE) && +- VerifyField(verifier, VT_STORAGE_TYPE) && +- VerifyField(verifier, VT_LAYOUT) && +- VerifyOffset(verifier, VT_SHAPE) && verifier.VerifyTable(shape()) && +- VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && +- VerifyField(verifier, +- VT_USE_BUFFER_FOR_WRITE_ONLY_2D_TEXTURE) && +- VerifyField(verifier, +- VT_USE_BUFFER_FOR_WRITE_ONLY_IMAGE_BUFFER) && ++ VerifyField(verifier, VT_DATA_TYPE, 1) && ++ VerifyField(verifier, VT_STORAGE_TYPE, 1) && ++ VerifyField(verifier, VT_LAYOUT, 1) && ++ VerifyOffset(verifier, VT_SHAPE) && ++ verifier.VerifyTable(shape()) && ++ VerifyOffset(verifier, VT_DATA) && ++ verifier.VerifyVector(data()) && ++ VerifyField(verifier, VT_USE_BUFFER_FOR_WRITE_ONLY_2D_TEXTURE, 1) && ++ VerifyField(verifier, VT_USE_BUFFER_FOR_WRITE_ONLY_IMAGE_BUFFER, 1) && + verifier.EndTable(); + } + }; +@@ -1455,17 +1486,11 @@ struct TensorDescriptorBuilder { + void add_data(flatbuffers::Offset> data) { + fbb_.AddOffset(TensorDescriptor::VT_DATA, data); + } +- void add_use_buffer_for_write_only_2d_texture( +- bool use_buffer_for_write_only_2d_texture) { +- fbb_.AddElement( +- TensorDescriptor::VT_USE_BUFFER_FOR_WRITE_ONLY_2D_TEXTURE, +- static_cast(use_buffer_for_write_only_2d_texture), 0); ++ void add_use_buffer_for_write_only_2d_texture(bool use_buffer_for_write_only_2d_texture) { ++ fbb_.AddElement(TensorDescriptor::VT_USE_BUFFER_FOR_WRITE_ONLY_2D_TEXTURE, static_cast(use_buffer_for_write_only_2d_texture), 0); + } +- void add_use_buffer_for_write_only_image_buffer( +- bool use_buffer_for_write_only_image_buffer) { +- fbb_.AddElement( +- TensorDescriptor::VT_USE_BUFFER_FOR_WRITE_ONLY_IMAGE_BUFFER, +- static_cast(use_buffer_for_write_only_image_buffer), 0); ++ void add_use_buffer_for_write_only_image_buffer(bool use_buffer_for_write_only_image_buffer) { ++ fbb_.AddElement(TensorDescriptor::VT_USE_BUFFER_FOR_WRITE_ONLY_IMAGE_BUFFER, static_cast(use_buffer_for_write_only_image_buffer), 0); + } + explicit TensorDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { +@@ -1481,10 +1506,8 @@ struct TensorDescriptorBuilder { + inline flatbuffers::Offset CreateTensorDescriptor( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset base_obj = 0, +- tflite::gpu::data::DataType data_type = +- tflite::gpu::data::DataType::UNKNOWN, +- tflite::gpu::data::TensorStorageType storage_type = +- tflite::gpu::data::TensorStorageType::UNKNOWN, ++ tflite::gpu::data::DataType data_type = tflite::gpu::data::DataType::UNKNOWN, ++ tflite::gpu::data::TensorStorageType storage_type = tflite::gpu::data::TensorStorageType::UNKNOWN, + tflite::gpu::data::Layout layout = tflite::gpu::data::Layout::UNKNOWN, + flatbuffers::Offset shape = 0, + flatbuffers::Offset> data = 0, +@@ -1494,10 +1517,8 @@ inline flatbuffers::Offset CreateTensorDescriptor( + builder_.add_data(data); + builder_.add_shape(shape); + builder_.add_base_obj(base_obj); +- builder_.add_use_buffer_for_write_only_image_buffer( +- use_buffer_for_write_only_image_buffer); +- builder_.add_use_buffer_for_write_only_2d_texture( +- use_buffer_for_write_only_2d_texture); ++ builder_.add_use_buffer_for_write_only_image_buffer(use_buffer_for_write_only_image_buffer); ++ builder_.add_use_buffer_for_write_only_2d_texture(use_buffer_for_write_only_2d_texture); + builder_.add_layout(layout); + builder_.add_storage_type(storage_type); + builder_.add_data_type(data_type); +@@ -1507,10 +1528,8 @@ inline flatbuffers::Offset CreateTensorDescriptor( + inline flatbuffers::Offset CreateTensorDescriptorDirect( + flatbuffers::FlatBufferBuilder &_fbb, + flatbuffers::Offset base_obj = 0, +- tflite::gpu::data::DataType data_type = +- tflite::gpu::data::DataType::UNKNOWN, +- tflite::gpu::data::TensorStorageType storage_type = +- tflite::gpu::data::TensorStorageType::UNKNOWN, ++ tflite::gpu::data::DataType data_type = tflite::gpu::data::DataType::UNKNOWN, ++ tflite::gpu::data::TensorStorageType storage_type = tflite::gpu::data::TensorStorageType::UNKNOWN, + tflite::gpu::data::Layout layout = tflite::gpu::data::Layout::UNKNOWN, + flatbuffers::Offset shape = 0, + const std::vector *data = nullptr, +@@ -1518,7 +1537,13 @@ inline flatbuffers::Offset CreateTensorDescriptorDirect( + bool use_buffer_for_write_only_image_buffer = false) { + auto data__ = data ? _fbb.CreateVector(*data) : 0; + return tflite::gpu::data::CreateTensorDescriptor( +- _fbb, base_obj, data_type, storage_type, layout, shape, data__, ++ _fbb, ++ base_obj, ++ data_type, ++ storage_type, ++ layout, ++ shape, ++ data__, + use_buffer_for_write_only_2d_texture, + use_buffer_for_write_only_image_buffer); + } +@@ -1989,32 +2014,24 @@ struct OperationDef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VT_DST_TENSORS = 8 + }; + tflite::gpu::data::CalculationsPrecision precision() const { +- return static_cast( +- GetField(VT_PRECISION, 0)); +- } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *src_tensors() const { +- return GetPointer> *>( +- VT_SRC_TENSORS); +- } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *dst_tensors() const { +- return GetPointer> *>( +- VT_DST_TENSORS); ++ return static_cast(GetField(VT_PRECISION, 0)); ++ } ++ const flatbuffers::Vector> *src_tensors() const { ++ return GetPointer> *>(VT_SRC_TENSORS); ++ } ++ const flatbuffers::Vector> *dst_tensors() const { ++ return GetPointer> *>(VT_DST_TENSORS); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PRECISION) && ++ VerifyField(verifier, VT_PRECISION, 1) && + VerifyOffset(verifier, VT_SRC_TENSORS) && + verifier.VerifyVector(src_tensors()) && + verifier.VerifyVectorOfTables(src_tensors()) && + VerifyOffset(verifier, VT_DST_TENSORS) && + verifier.VerifyVector(dst_tensors()) && +- verifier.VerifyVectorOfTables(dst_tensors()) && verifier.EndTable(); ++ verifier.VerifyVectorOfTables(dst_tensors()) && ++ verifier.EndTable(); + } + }; + +@@ -2023,23 +2040,16 @@ struct OperationDefBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_precision(tflite::gpu::data::CalculationsPrecision precision) { +- fbb_.AddElement(OperationDef::VT_PRECISION, +- static_cast(precision), 0); ++ fbb_.AddElement(OperationDef::VT_PRECISION, static_cast(precision), 0); + } +- void add_src_tensors( +- flatbuffers::Offset>> +- src_tensors) { ++ void add_src_tensors(flatbuffers::Offset>> src_tensors) { + fbb_.AddOffset(OperationDef::VT_SRC_TENSORS, src_tensors); + } +- void add_dst_tensors( +- flatbuffers::Offset>> +- dst_tensors) { ++ void add_dst_tensors(flatbuffers::Offset>> dst_tensors) { + fbb_.AddOffset(OperationDef::VT_DST_TENSORS, dst_tensors); + } + explicit OperationDefBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -2051,14 +2061,9 @@ struct OperationDefBuilder { + + inline flatbuffers::Offset CreateOperationDef( + flatbuffers::FlatBufferBuilder &_fbb, +- tflite::gpu::data::CalculationsPrecision precision = +- tflite::gpu::data::CalculationsPrecision::F32, +- flatbuffers::Offset>> +- src_tensors = 0, +- flatbuffers::Offset>> +- dst_tensors = 0) { ++ tflite::gpu::data::CalculationsPrecision precision = tflite::gpu::data::CalculationsPrecision::F32, ++ flatbuffers::Offset>> src_tensors = 0, ++ flatbuffers::Offset>> dst_tensors = 0) { + OperationDefBuilder builder_(_fbb); + builder_.add_dst_tensors(dst_tensors); + builder_.add_src_tensors(src_tensors); +@@ -2068,26 +2073,16 @@ inline flatbuffers::Offset CreateOperationDef( + + inline flatbuffers::Offset CreateOperationDefDirect( + flatbuffers::FlatBufferBuilder &_fbb, +- tflite::gpu::data::CalculationsPrecision precision = +- tflite::gpu::data::CalculationsPrecision::F32, +- const std::vector> +- *src_tensors = nullptr, +- const std::vector> +- *dst_tensors = nullptr) { +- auto src_tensors__ = +- src_tensors +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *src_tensors) +- : 0; +- auto dst_tensors__ = +- dst_tensors +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *dst_tensors) +- : 0; +- return tflite::gpu::data::CreateOperationDef(_fbb, precision, src_tensors__, +- dst_tensors__); ++ tflite::gpu::data::CalculationsPrecision precision = tflite::gpu::data::CalculationsPrecision::F32, ++ const std::vector> *src_tensors = nullptr, ++ const std::vector> *dst_tensors = nullptr) { ++ auto src_tensors__ = src_tensors ? _fbb.CreateVector>(*src_tensors) : 0; ++ auto dst_tensors__ = dst_tensors ? _fbb.CreateVector>(*dst_tensors) : 0; ++ return tflite::gpu::data::CreateOperationDef( ++ _fbb, ++ precision, ++ src_tensors__, ++ dst_tensors__); + } + + struct CompilerOption FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -2096,12 +2091,12 @@ struct CompilerOption FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + VT_OPTION = 4 + }; + tflite::gpu::data::CompilerOptions option() const { +- return static_cast( +- GetField(VT_OPTION, 0)); ++ return static_cast(GetField(VT_OPTION, 0)); + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_OPTION) && verifier.EndTable(); ++ VerifyField(verifier, VT_OPTION, 1) && ++ verifier.EndTable(); + } + }; + +@@ -2110,11 +2105,10 @@ struct CompilerOptionBuilder { + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_option(tflite::gpu::data::CompilerOptions option) { +- fbb_.AddElement(CompilerOption::VT_OPTION, +- static_cast(option), 0); ++ fbb_.AddElement(CompilerOption::VT_OPTION, static_cast(option), 0); + } + explicit CompilerOptionBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -2126,8 +2120,7 @@ struct CompilerOptionBuilder { + + inline flatbuffers::Offset CreateCompilerOption( + flatbuffers::FlatBufferBuilder &_fbb, +- tflite::gpu::data::CompilerOptions option = +- tflite::gpu::data::CompilerOptions::ADRENO_FULL_SIMD_LINE) { ++ tflite::gpu::data::CompilerOptions option = tflite::gpu::data::CompilerOptions::ADRENO_FULL_SIMD_LINE) { + CompilerOptionBuilder builder_(_fbb); + builder_.add_option(option); + return builder_.Finish(); +@@ -2164,23 +2157,24 @@ struct GPUOperation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + const tflite::gpu::data::Int3 *work_group_size() const { + return GetPointer(VT_WORK_GROUP_SIZE); + } +- const flatbuffers::Vector< +- flatbuffers::Offset> +- *compiler_options() const { +- return GetPointer> *>( +- VT_COMPILER_OPTIONS); ++ const flatbuffers::Vector> *compiler_options() const { ++ return GetPointer> *>(VT_COMPILER_OPTIONS); + } + tflite::gpu::data::TensorToGrid tensor_to_grid() const { +- return static_cast( +- GetField(VT_TENSOR_TO_GRID, 0)); ++ return static_cast(GetField(VT_TENSOR_TO_GRID, 0)); ++ } ++ bool elementwise() const { ++ return GetField(VT_ELEMENTWISE, 0) != 0; ++ } ++ bool linkable() const { ++ return GetField(VT_LINKABLE, 0) != 0; + } +- bool elementwise() const { return GetField(VT_ELEMENTWISE, 0) != 0; } +- bool linkable() const { return GetField(VT_LINKABLE, 0) != 0; } + bool check_src_channels_size() const { + return GetField(VT_CHECK_SRC_CHANNELS_SIZE, 0) != 0; + } +- uint64_t flops() const { return GetField(VT_FLOPS, 0); } ++ uint64_t flops() const { ++ return GetField(VT_FLOPS, 0); ++ } + const tflite::gpu::data::OperationDef *definition() const { + return GetPointer(VT_DEFINITION); + } +@@ -2188,23 +2182,16 @@ struct GPUOperation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return GetField(VT_GRID_DIMENSION, 0); + } + const tflite::gpu::data::Int3 *work_group_launch_order() const { +- return GetPointer( +- VT_WORK_GROUP_LAUNCH_ORDER); ++ return GetPointer(VT_WORK_GROUP_LAUNCH_ORDER); + } + const tflite::gpu::data::Int3 *grid_size() const { + return GetPointer(VT_GRID_SIZE); + } +- const flatbuffers::Vector> +- *src_tensors_names() const { +- return GetPointer< +- const flatbuffers::Vector> *>( +- VT_SRC_TENSORS_NAMES); ++ const flatbuffers::Vector> *src_tensors_names() const { ++ return GetPointer> *>(VT_SRC_TENSORS_NAMES); + } +- const flatbuffers::Vector> +- *dst_tensors_names() const { +- return GetPointer< +- const flatbuffers::Vector> *>( +- VT_DST_TENSORS_NAMES); ++ const flatbuffers::Vector> *dst_tensors_names() const { ++ return GetPointer> *>(VT_DST_TENSORS_NAMES); + } + const tflite::gpu::data::Int3 *work_groups_count() const { + return GetPointer(VT_WORK_GROUPS_COUNT); +@@ -2216,22 +2203,24 @@ struct GPUOperation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return GetPointer(VT_ELEMENTWISE_CODE); + } + bool Verify(flatbuffers::Verifier &verifier) const { +- return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ARGUMENTS) && ++ return VerifyTableStart(verifier) && ++ VerifyOffset(verifier, VT_ARGUMENTS) && + verifier.VerifyTable(arguments()) && +- VerifyOffset(verifier, VT_CODE) && verifier.VerifyString(code()) && ++ VerifyOffset(verifier, VT_CODE) && ++ verifier.VerifyString(code()) && + VerifyOffset(verifier, VT_WORK_GROUP_SIZE) && + verifier.VerifyTable(work_group_size()) && + VerifyOffset(verifier, VT_COMPILER_OPTIONS) && + verifier.VerifyVector(compiler_options()) && + verifier.VerifyVectorOfTables(compiler_options()) && +- VerifyField(verifier, VT_TENSOR_TO_GRID) && +- VerifyField(verifier, VT_ELEMENTWISE) && +- VerifyField(verifier, VT_LINKABLE) && +- VerifyField(verifier, VT_CHECK_SRC_CHANNELS_SIZE) && +- VerifyField(verifier, VT_FLOPS) && ++ VerifyField(verifier, VT_TENSOR_TO_GRID, 1) && ++ VerifyField(verifier, VT_ELEMENTWISE, 1) && ++ VerifyField(verifier, VT_LINKABLE, 1) && ++ VerifyField(verifier, VT_CHECK_SRC_CHANNELS_SIZE, 1) && ++ VerifyField(verifier, VT_FLOPS, 8) && + VerifyOffset(verifier, VT_DEFINITION) && + verifier.VerifyTable(definition()) && +- VerifyField(verifier, VT_GRID_DIMENSION) && ++ VerifyField(verifier, VT_GRID_DIMENSION, 4) && + VerifyOffset(verifier, VT_WORK_GROUP_LAUNCH_ORDER) && + verifier.VerifyTable(work_group_launch_order()) && + VerifyOffset(verifier, VT_GRID_SIZE) && +@@ -2244,9 +2233,10 @@ struct GPUOperation FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyVectorOfStrings(dst_tensors_names()) && + VerifyOffset(verifier, VT_WORK_GROUPS_COUNT) && + verifier.VerifyTable(work_groups_count()) && +- VerifyField(verifier, VT_LINKABLE_COUNT) && ++ VerifyField(verifier, VT_LINKABLE_COUNT, 4) && + VerifyOffset(verifier, VT_ELEMENTWISE_CODE) && +- verifier.VerifyString(elementwise_code()) && verifier.EndTable(); ++ verifier.VerifyString(elementwise_code()) && ++ verifier.EndTable(); + } + }; + +@@ -2254,84 +2244,62 @@ struct GPUOperationBuilder { + typedef GPUOperation Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; +- void add_arguments( +- flatbuffers::Offset arguments) { ++ void add_arguments(flatbuffers::Offset arguments) { + fbb_.AddOffset(GPUOperation::VT_ARGUMENTS, arguments); + } + void add_code(flatbuffers::Offset code) { + fbb_.AddOffset(GPUOperation::VT_CODE, code); + } +- void add_work_group_size( +- flatbuffers::Offset work_group_size) { ++ void add_work_group_size(flatbuffers::Offset work_group_size) { + fbb_.AddOffset(GPUOperation::VT_WORK_GROUP_SIZE, work_group_size); + } +- void add_compiler_options( +- flatbuffers::Offset>> +- compiler_options) { ++ void add_compiler_options(flatbuffers::Offset>> compiler_options) { + fbb_.AddOffset(GPUOperation::VT_COMPILER_OPTIONS, compiler_options); + } + void add_tensor_to_grid(tflite::gpu::data::TensorToGrid tensor_to_grid) { +- fbb_.AddElement(GPUOperation::VT_TENSOR_TO_GRID, +- static_cast(tensor_to_grid), 0); ++ fbb_.AddElement(GPUOperation::VT_TENSOR_TO_GRID, static_cast(tensor_to_grid), 0); + } + void add_elementwise(bool elementwise) { +- fbb_.AddElement(GPUOperation::VT_ELEMENTWISE, +- static_cast(elementwise), 0); ++ fbb_.AddElement(GPUOperation::VT_ELEMENTWISE, static_cast(elementwise), 0); + } + void add_linkable(bool linkable) { +- fbb_.AddElement(GPUOperation::VT_LINKABLE, +- static_cast(linkable), 0); ++ fbb_.AddElement(GPUOperation::VT_LINKABLE, static_cast(linkable), 0); + } + void add_check_src_channels_size(bool check_src_channels_size) { +- fbb_.AddElement(GPUOperation::VT_CHECK_SRC_CHANNELS_SIZE, +- static_cast(check_src_channels_size), 0); ++ fbb_.AddElement(GPUOperation::VT_CHECK_SRC_CHANNELS_SIZE, static_cast(check_src_channels_size), 0); + } + void add_flops(uint64_t flops) { + fbb_.AddElement(GPUOperation::VT_FLOPS, flops, 0); + } +- void add_definition( +- flatbuffers::Offset definition) { ++ void add_definition(flatbuffers::Offset definition) { + fbb_.AddOffset(GPUOperation::VT_DEFINITION, definition); + } + void add_grid_dimension(int32_t grid_dimension) { +- fbb_.AddElement(GPUOperation::VT_GRID_DIMENSION, grid_dimension, +- 0); ++ fbb_.AddElement(GPUOperation::VT_GRID_DIMENSION, grid_dimension, 0); + } +- void add_work_group_launch_order( +- flatbuffers::Offset work_group_launch_order) { +- fbb_.AddOffset(GPUOperation::VT_WORK_GROUP_LAUNCH_ORDER, +- work_group_launch_order); ++ void add_work_group_launch_order(flatbuffers::Offset work_group_launch_order) { ++ fbb_.AddOffset(GPUOperation::VT_WORK_GROUP_LAUNCH_ORDER, work_group_launch_order); + } + void add_grid_size(flatbuffers::Offset grid_size) { + fbb_.AddOffset(GPUOperation::VT_GRID_SIZE, grid_size); + } +- void add_src_tensors_names( +- flatbuffers::Offset< +- flatbuffers::Vector>> +- src_tensors_names) { ++ void add_src_tensors_names(flatbuffers::Offset>> src_tensors_names) { + fbb_.AddOffset(GPUOperation::VT_SRC_TENSORS_NAMES, src_tensors_names); + } +- void add_dst_tensors_names( +- flatbuffers::Offset< +- flatbuffers::Vector>> +- dst_tensors_names) { ++ void add_dst_tensors_names(flatbuffers::Offset>> dst_tensors_names) { + fbb_.AddOffset(GPUOperation::VT_DST_TENSORS_NAMES, dst_tensors_names); + } +- void add_work_groups_count( +- flatbuffers::Offset work_groups_count) { ++ void add_work_groups_count(flatbuffers::Offset work_groups_count) { + fbb_.AddOffset(GPUOperation::VT_WORK_GROUPS_COUNT, work_groups_count); + } + void add_linkable_count(int32_t linkable_count) { +- fbb_.AddElement(GPUOperation::VT_LINKABLE_COUNT, linkable_count, +- 0); ++ fbb_.AddElement(GPUOperation::VT_LINKABLE_COUNT, linkable_count, 0); + } +- void add_elementwise_code( +- flatbuffers::Offset elementwise_code) { ++ void add_elementwise_code(flatbuffers::Offset elementwise_code) { + fbb_.AddOffset(GPUOperation::VT_ELEMENTWISE_CODE, elementwise_code); + } + explicit GPUOperationBuilder(flatbuffers::FlatBufferBuilder &_fbb) +- : fbb_(_fbb) { ++ : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { +@@ -2346,23 +2314,18 @@ inline flatbuffers::Offset CreateGPUOperation( + flatbuffers::Offset arguments = 0, + flatbuffers::Offset code = 0, + flatbuffers::Offset work_group_size = 0, +- flatbuffers::Offset>> +- compiler_options = 0, +- tflite::gpu::data::TensorToGrid tensor_to_grid = +- tflite::gpu::data::TensorToGrid::CUSTOM, +- bool elementwise = false, bool linkable = false, +- bool check_src_channels_size = false, uint64_t flops = 0, ++ flatbuffers::Offset>> compiler_options = 0, ++ tflite::gpu::data::TensorToGrid tensor_to_grid = tflite::gpu::data::TensorToGrid::CUSTOM, ++ bool elementwise = false, ++ bool linkable = false, ++ bool check_src_channels_size = false, ++ uint64_t flops = 0, + flatbuffers::Offset definition = 0, + int32_t grid_dimension = 0, + flatbuffers::Offset work_group_launch_order = 0, + flatbuffers::Offset grid_size = 0, +- flatbuffers::Offset< +- flatbuffers::Vector>> +- src_tensors_names = 0, +- flatbuffers::Offset< +- flatbuffers::Vector>> +- dst_tensors_names = 0, ++ flatbuffers::Offset>> src_tensors_names = 0, ++ flatbuffers::Offset>> dst_tensors_names = 0, + flatbuffers::Offset work_groups_count = 0, + int32_t linkable_count = 0, + flatbuffers::Offset elementwise_code = 0) { +@@ -2393,47 +2356,46 @@ inline flatbuffers::Offset CreateGPUOperationDirect( + flatbuffers::Offset arguments = 0, + const char *code = nullptr, + flatbuffers::Offset work_group_size = 0, +- const std::vector> +- *compiler_options = nullptr, +- tflite::gpu::data::TensorToGrid tensor_to_grid = +- tflite::gpu::data::TensorToGrid::CUSTOM, +- bool elementwise = false, bool linkable = false, +- bool check_src_channels_size = false, uint64_t flops = 0, ++ const std::vector> *compiler_options = nullptr, ++ tflite::gpu::data::TensorToGrid tensor_to_grid = tflite::gpu::data::TensorToGrid::CUSTOM, ++ bool elementwise = false, ++ bool linkable = false, ++ bool check_src_channels_size = false, ++ uint64_t flops = 0, + flatbuffers::Offset definition = 0, + int32_t grid_dimension = 0, + flatbuffers::Offset work_group_launch_order = 0, + flatbuffers::Offset grid_size = 0, +- const std::vector> +- *src_tensors_names = nullptr, +- const std::vector> +- *dst_tensors_names = nullptr, ++ const std::vector> *src_tensors_names = nullptr, ++ const std::vector> *dst_tensors_names = nullptr, + flatbuffers::Offset work_groups_count = 0, +- int32_t linkable_count = 0, const char *elementwise_code = nullptr) { ++ int32_t linkable_count = 0, ++ const char *elementwise_code = nullptr) { + auto code__ = code ? _fbb.CreateString(code) : 0; +- auto compiler_options__ = +- compiler_options +- ? _fbb.CreateVector< +- flatbuffers::Offset>( +- *compiler_options) +- : 0; +- auto src_tensors_names__ = +- src_tensors_names +- ? _fbb.CreateVector>( +- *src_tensors_names) +- : 0; +- auto dst_tensors_names__ = +- dst_tensors_names +- ? _fbb.CreateVector>( +- *dst_tensors_names) +- : 0; +- auto elementwise_code__ = +- elementwise_code ? _fbb.CreateString(elementwise_code) : 0; ++ auto compiler_options__ = compiler_options ? _fbb.CreateVector>(*compiler_options) : 0; ++ auto src_tensors_names__ = src_tensors_names ? _fbb.CreateVector>(*src_tensors_names) : 0; ++ auto dst_tensors_names__ = dst_tensors_names ? _fbb.CreateVector>(*dst_tensors_names) : 0; ++ auto elementwise_code__ = elementwise_code ? _fbb.CreateString(elementwise_code) : 0; + return tflite::gpu::data::CreateGPUOperation( +- _fbb, arguments, code__, work_group_size, compiler_options__, +- tensor_to_grid, elementwise, linkable, check_src_channels_size, flops, +- definition, grid_dimension, work_group_launch_order, grid_size, +- src_tensors_names__, dst_tensors_names__, work_groups_count, +- linkable_count, elementwise_code__); ++ _fbb, ++ arguments, ++ code__, ++ work_group_size, ++ compiler_options__, ++ tensor_to_grid, ++ elementwise, ++ linkable, ++ check_src_channels_size, ++ flops, ++ definition, ++ grid_dimension, ++ work_group_launch_order, ++ grid_size, ++ src_tensors_names__, ++ dst_tensors_names__, ++ work_groups_count, ++ linkable_count, ++ elementwise_code__); + } + + } // namespace data +diff --git a/tensorflow/lite/experimental/acceleration/configuration/BUILD b/tensorflow/lite/experimental/acceleration/configuration/BUILD +index 4aa77261555..54fa181e5c2 100644 +--- a/tensorflow/lite/experimental/acceleration/configuration/BUILD ++++ b/tensorflow/lite/experimental/acceleration/configuration/BUILD +@@ -83,31 +83,11 @@ tf_proto_library_py( + ) + # copybara:comment_end + +-# TODO(b/191428000): The automatic generation is temporarily disabled until +-# https://github.com/google/flatbuffers/pull/6486 is landed and tensorflow +-# flatbuffer version updated. +-# Until that time you need to build configuration_for_generation_generated.h +-# and copy the result to configuration_generated.h. +-genrule( +- name = "copy_configuration_fbs", +- srcs = ["configuration.fbs"], +- outs = ["configuration_for_generation.fbs"], +- cmd = "cp $(<) $(@)", +-) +- + flatbuffer_cc_library( +- name = "configuration_fbs_for_generation", +- srcs = [":configuration_for_generation.fbs"], +- flatc_args = DEFAULT_FLATC_ARGS + ["--gen-compare"], +- visibility = ["//visibility:private"], +-) +- +-cc_library( + name = "configuration_fbs", +- hdrs = ["configuration_generated.h"], ++ srcs = [":configuration.fbs"], + compatible_with = get_compatible_with_portable(), +- linkstatic = True, +- deps = ["@flatbuffers//:runtime_cc"], ++ flatc_args = DEFAULT_FLATC_ARGS + ["--gen-compare"], + ) + + flatbuffer_java_library( +diff --git a/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h b/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h +old mode 100644 +new mode 100755 +index 40b0f0322bc..1491cb9ff83 +--- a/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h ++++ b/tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h +@@ -12,86 +12,109 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ==============================================================================*/ +-// clang-format off + // automatically generated by the FlatBuffers compiler, do not modify + +-#ifndef FLATBUFFERS_GENERATED_CONFIGURATIONFORGENERATION_TFLITE_H_ +-#define FLATBUFFERS_GENERATED_CONFIGURATIONFORGENERATION_TFLITE_H_ ++#ifndef FLATBUFFERS_GENERATED_CONFIGURATION_TFLITE_H_ ++#define FLATBUFFERS_GENERATED_CONFIGURATION_TFLITE_H_ + + #include "flatbuffers/flatbuffers.h" + + namespace tflite { + + struct ComputeSettings; ++struct ComputeSettingsBuilder; + struct ComputeSettingsT; + + struct NNAPISettings; ++struct NNAPISettingsBuilder; + struct NNAPISettingsT; + + struct GPUSettings; ++struct GPUSettingsBuilder; + struct GPUSettingsT; + + struct HexagonSettings; ++struct HexagonSettingsBuilder; + struct HexagonSettingsT; + + struct XNNPackSettings; ++struct XNNPackSettingsBuilder; + struct XNNPackSettingsT; + + struct CoreMLSettings; ++struct CoreMLSettingsBuilder; + struct CoreMLSettingsT; + + struct EdgeTpuDeviceSpec; ++struct EdgeTpuDeviceSpecBuilder; + struct EdgeTpuDeviceSpecT; + + struct EdgeTpuInactivePowerConfig; ++struct EdgeTpuInactivePowerConfigBuilder; + struct EdgeTpuInactivePowerConfigT; + + struct EdgeTpuSettings; ++struct EdgeTpuSettingsBuilder; + struct EdgeTpuSettingsT; + + struct CoralSettings; ++struct CoralSettingsBuilder; + struct CoralSettingsT; + + struct CPUSettings; ++struct CPUSettingsBuilder; + struct CPUSettingsT; + + struct TFLiteSettings; ++struct TFLiteSettingsBuilder; + struct TFLiteSettingsT; + + struct FallbackSettings; ++struct FallbackSettingsBuilder; + struct FallbackSettingsT; + + struct BenchmarkMetric; ++struct BenchmarkMetricBuilder; + struct BenchmarkMetricT; + + struct BenchmarkResult; ++struct BenchmarkResultBuilder; + struct BenchmarkResultT; + + struct ErrorCode; ++struct ErrorCodeBuilder; + struct ErrorCodeT; + + struct BenchmarkError; ++struct BenchmarkErrorBuilder; + struct BenchmarkErrorT; + + struct BenchmarkEvent; ++struct BenchmarkEventBuilder; + struct BenchmarkEventT; + + struct BestAccelerationDecision; ++struct BestAccelerationDecisionBuilder; + struct BestAccelerationDecisionT; + + struct BenchmarkInitializationFailure; ++struct BenchmarkInitializationFailureBuilder; + struct BenchmarkInitializationFailureT; + + struct MiniBenchmarkEvent; ++struct MiniBenchmarkEventBuilder; + struct MiniBenchmarkEventT; + + struct ModelFile; ++struct ModelFileBuilder; + struct ModelFileT; + + struct BenchmarkStoragePaths; ++struct BenchmarkStoragePathsBuilder; + struct BenchmarkStoragePathsT; + + struct MinibenchmarkSettings; ++struct MinibenchmarkSettingsBuilder; + struct MinibenchmarkSettingsT; + + bool operator==(const ComputeSettingsT &lhs, const ComputeSettingsT &rhs); +@@ -143,7 +166,7 @@ bool operator!=(const BenchmarkStoragePathsT &lhs, const BenchmarkStoragePathsT + bool operator==(const MinibenchmarkSettingsT &lhs, const MinibenchmarkSettingsT &rhs); + bool operator!=(const MinibenchmarkSettingsT &lhs, const MinibenchmarkSettingsT &rhs); + +-enum ExecutionPreference { ++enum ExecutionPreference : int32_t { + ExecutionPreference_ANY = 0, + ExecutionPreference_LOW_LATENCY = 1, + ExecutionPreference_LOW_POWER = 2, +@@ -179,7 +202,7 @@ inline const char *EnumNameExecutionPreference(ExecutionPreference e) { + return EnumNamesExecutionPreference()[index]; + } + +-enum Delegate { ++enum Delegate : int32_t { + Delegate_NONE = 0, + Delegate_NNAPI = 1, + Delegate_GPU = 2, +@@ -227,7 +250,7 @@ inline const char *EnumNameDelegate(Delegate e) { + return EnumNamesDelegate()[index]; + } + +-enum NNAPIExecutionPreference { ++enum NNAPIExecutionPreference : int32_t { + NNAPIExecutionPreference_UNDEFINED = 0, + NNAPIExecutionPreference_NNAPI_LOW_POWER = 1, + NNAPIExecutionPreference_NNAPI_FAST_SINGLE_ANSWER = 2, +@@ -263,7 +286,7 @@ inline const char *EnumNameNNAPIExecutionPreference(NNAPIExecutionPreference e) + return EnumNamesNNAPIExecutionPreference()[index]; + } + +-enum NNAPIExecutionPriority { ++enum NNAPIExecutionPriority : int32_t { + NNAPIExecutionPriority_NNAPI_PRIORITY_UNDEFINED = 0, + NNAPIExecutionPriority_NNAPI_PRIORITY_LOW = 1, + NNAPIExecutionPriority_NNAPI_PRIORITY_MEDIUM = 2, +@@ -299,7 +322,7 @@ inline const char *EnumNameNNAPIExecutionPriority(NNAPIExecutionPriority e) { + return EnumNamesNNAPIExecutionPriority()[index]; + } + +-enum GPUBackend { ++enum GPUBackend : int32_t { + GPUBackend_UNSET = 0, + GPUBackend_OPENCL = 1, + GPUBackend_OPENGL = 2, +@@ -332,7 +355,7 @@ inline const char *EnumNameGPUBackend(GPUBackend e) { + return EnumNamesGPUBackend()[index]; + } + +-enum GPUInferencePriority { ++enum GPUInferencePriority : int32_t { + GPUInferencePriority_GPU_PRIORITY_AUTO = 0, + GPUInferencePriority_GPU_PRIORITY_MAX_PRECISION = 1, + GPUInferencePriority_GPU_PRIORITY_MIN_LATENCY = 2, +@@ -368,7 +391,7 @@ inline const char *EnumNameGPUInferencePriority(GPUInferencePriority e) { + return EnumNamesGPUInferencePriority()[index]; + } + +-enum GPUInferenceUsage { ++enum GPUInferenceUsage : int32_t { + GPUInferenceUsage_GPU_INFERENCE_PREFERENCE_FAST_SINGLE_ANSWER = 0, + GPUInferenceUsage_GPU_INFERENCE_PREFERENCE_SUSTAINED_SPEED = 1, + GPUInferenceUsage_MIN = GPUInferenceUsage_GPU_INFERENCE_PREFERENCE_FAST_SINGLE_ANSWER, +@@ -400,7 +423,7 @@ inline const char *EnumNameGPUInferenceUsage(GPUInferenceUsage e) { + + namespace CoreMLSettings_ { + +-enum EnabledDevices { ++enum EnabledDevices : int32_t { + EnabledDevices_DEVICES_ALL = 0, + EnabledDevices_DEVICES_WITH_NEURAL_ENGINE = 1, + EnabledDevices_MIN = EnabledDevices_DEVICES_ALL, +@@ -434,7 +457,7 @@ inline const char *EnumNameEnabledDevices(EnabledDevices e) { + + namespace EdgeTpuDeviceSpec_ { + +-enum PlatformType { ++enum PlatformType : int32_t { + PlatformType_MMIO = 0, + PlatformType_REFERENCE = 1, + PlatformType_SIMULATOR = 2, +@@ -472,7 +495,7 @@ inline const char *EnumNamePlatformType(PlatformType e) { + + } // namespace EdgeTpuDeviceSpec_ + +-enum EdgeTpuPowerState { ++enum EdgeTpuPowerState : int32_t { + EdgeTpuPowerState_UNDEFINED_POWERSTATE = 0, + EdgeTpuPowerState_TPU_CORE_OFF = 1, + EdgeTpuPowerState_READY = 2, +@@ -522,7 +545,7 @@ inline const char *EnumNameEdgeTpuPowerState(EdgeTpuPowerState e) { + + namespace EdgeTpuSettings_ { + +-enum FloatTruncationType { ++enum FloatTruncationType : int32_t { + FloatTruncationType_UNSPECIFIED = 0, + FloatTruncationType_NO_TRUNCATION = 1, + FloatTruncationType_BFLOAT16 = 2, +@@ -558,7 +581,7 @@ inline const char *EnumNameFloatTruncationType(FloatTruncationType e) { + return EnumNamesFloatTruncationType()[index]; + } + +-enum QosClass { ++enum QosClass : int32_t { + QosClass_QOS_UNDEFINED = 0, + QosClass_BEST_EFFORT = 1, + QosClass_REALTIME = 2, +@@ -595,7 +618,7 @@ inline const char *EnumNameQosClass(QosClass e) { + + namespace CoralSettings_ { + +-enum Performance { ++enum Performance : int32_t { + Performance_UNDEFINED = 0, + Performance_MAXIMUM = 1, + Performance_HIGH = 2, +@@ -636,7 +659,7 @@ inline const char *EnumNamePerformance(Performance e) { + + } // namespace CoralSettings_ + +-enum BenchmarkEventType { ++enum BenchmarkEventType : int32_t { + BenchmarkEventType_UNDEFINED_BENCHMARK_EVENT_TYPE = 0, + BenchmarkEventType_START = 1, + BenchmarkEventType_END = 2, +@@ -678,7 +701,7 @@ inline const char *EnumNameBenchmarkEventType(BenchmarkEventType e) { + return EnumNamesBenchmarkEventType()[index]; + } + +-enum BenchmarkStage { ++enum BenchmarkStage : int32_t { + BenchmarkStage_UNKNOWN = 0, + BenchmarkStage_INITIALIZATION = 1, + BenchmarkStage_INFERENCE = 2, +@@ -713,18 +736,20 @@ inline const char *EnumNameBenchmarkStage(BenchmarkStage e) { + + struct ComputeSettingsT : public flatbuffers::NativeTable { + typedef ComputeSettings TableType; +- tflite::ExecutionPreference preference; +- std::unique_ptr tflite_settings; +- std::string model_namespace_for_statistics; +- std::string model_identifier_for_statistics; +- std::unique_ptr settings_to_test_locally; +- ComputeSettingsT() +- : preference(tflite::ExecutionPreference_ANY) { +- } ++ tflite::ExecutionPreference preference = tflite::ExecutionPreference_ANY; ++ std::unique_ptr tflite_settings{}; ++ std::string model_namespace_for_statistics{}; ++ std::string model_identifier_for_statistics{}; ++ std::unique_ptr settings_to_test_locally{}; ++ ComputeSettingsT() = default; ++ ComputeSettingsT(const ComputeSettingsT &o); ++ ComputeSettingsT(ComputeSettingsT&&) FLATBUFFERS_NOEXCEPT = default; ++ ComputeSettingsT &operator=(ComputeSettingsT o) FLATBUFFERS_NOEXCEPT; + }; + + struct ComputeSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ComputeSettingsT NativeTableType; ++ typedef ComputeSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PREFERENCE = 4, + VT_TFLITE_SETTINGS = 6, +@@ -749,7 +774,7 @@ struct ComputeSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PREFERENCE) && ++ VerifyField(verifier, VT_PREFERENCE, 4) && + VerifyOffset(verifier, VT_TFLITE_SETTINGS) && + verifier.VerifyTable(tflite_settings()) && + VerifyOffset(verifier, VT_MODEL_NAMESPACE_FOR_STATISTICS) && +@@ -766,6 +791,7 @@ struct ComputeSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ComputeSettingsBuilder { ++ typedef ComputeSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_preference(tflite::ExecutionPreference preference) { +@@ -787,7 +813,6 @@ struct ComputeSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ComputeSettingsBuilder &operator=(const ComputeSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -833,32 +858,27 @@ flatbuffers::Offset CreateComputeSettings(flatbuffers::FlatBuff + + struct NNAPISettingsT : public flatbuffers::NativeTable { + typedef NNAPISettings TableType; +- std::string accelerator_name; +- std::string cache_directory; +- std::string model_token; +- tflite::NNAPIExecutionPreference execution_preference; +- int32_t no_of_nnapi_instances_to_cache; +- std::unique_ptr fallback_settings; +- bool allow_nnapi_cpu_on_android_10_plus; +- tflite::NNAPIExecutionPriority execution_priority; +- bool allow_dynamic_dimensions; +- bool allow_fp16_precision_for_fp32; +- bool use_burst_computation; +- int64_t support_library_handle; +- NNAPISettingsT() +- : execution_preference(tflite::NNAPIExecutionPreference_UNDEFINED), +- no_of_nnapi_instances_to_cache(0), +- allow_nnapi_cpu_on_android_10_plus(false), +- execution_priority(tflite::NNAPIExecutionPriority_NNAPI_PRIORITY_UNDEFINED), +- allow_dynamic_dimensions(false), +- allow_fp16_precision_for_fp32(false), +- use_burst_computation(false), +- support_library_handle(0) { +- } ++ std::string accelerator_name{}; ++ std::string cache_directory{}; ++ std::string model_token{}; ++ tflite::NNAPIExecutionPreference execution_preference = tflite::NNAPIExecutionPreference_UNDEFINED; ++ int32_t no_of_nnapi_instances_to_cache = 0; ++ std::unique_ptr fallback_settings{}; ++ bool allow_nnapi_cpu_on_android_10_plus = false; ++ tflite::NNAPIExecutionPriority execution_priority = tflite::NNAPIExecutionPriority_NNAPI_PRIORITY_UNDEFINED; ++ bool allow_dynamic_dimensions = false; ++ bool allow_fp16_precision_for_fp32 = false; ++ bool use_burst_computation = false; ++ int64_t support_library_handle = 0; ++ NNAPISettingsT() = default; ++ NNAPISettingsT(const NNAPISettingsT &o); ++ NNAPISettingsT(NNAPISettingsT&&) FLATBUFFERS_NOEXCEPT = default; ++ NNAPISettingsT &operator=(NNAPISettingsT o) FLATBUFFERS_NOEXCEPT; + }; + + struct NNAPISettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NNAPISettingsT NativeTableType; ++ typedef NNAPISettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ACCELERATOR_NAME = 4, + VT_CACHE_DIRECTORY = 6, +@@ -917,16 +937,16 @@ struct NNAPISettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyString(cache_directory()) && + VerifyOffset(verifier, VT_MODEL_TOKEN) && + verifier.VerifyString(model_token()) && +- VerifyField(verifier, VT_EXECUTION_PREFERENCE) && +- VerifyField(verifier, VT_NO_OF_NNAPI_INSTANCES_TO_CACHE) && ++ VerifyField(verifier, VT_EXECUTION_PREFERENCE, 4) && ++ VerifyField(verifier, VT_NO_OF_NNAPI_INSTANCES_TO_CACHE, 4) && + VerifyOffset(verifier, VT_FALLBACK_SETTINGS) && + verifier.VerifyTable(fallback_settings()) && +- VerifyField(verifier, VT_ALLOW_NNAPI_CPU_ON_ANDROID_10_PLUS) && +- VerifyField(verifier, VT_EXECUTION_PRIORITY) && +- VerifyField(verifier, VT_ALLOW_DYNAMIC_DIMENSIONS) && +- VerifyField(verifier, VT_ALLOW_FP16_PRECISION_FOR_FP32) && +- VerifyField(verifier, VT_USE_BURST_COMPUTATION) && +- VerifyField(verifier, VT_SUPPORT_LIBRARY_HANDLE) && ++ VerifyField(verifier, VT_ALLOW_NNAPI_CPU_ON_ANDROID_10_PLUS, 1) && ++ VerifyField(verifier, VT_EXECUTION_PRIORITY, 4) && ++ VerifyField(verifier, VT_ALLOW_DYNAMIC_DIMENSIONS, 1) && ++ VerifyField(verifier, VT_ALLOW_FP16_PRECISION_FOR_FP32, 1) && ++ VerifyField(verifier, VT_USE_BURST_COMPUTATION, 1) && ++ VerifyField(verifier, VT_SUPPORT_LIBRARY_HANDLE, 8) && + verifier.EndTable(); + } + NNAPISettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -935,6 +955,7 @@ struct NNAPISettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct NNAPISettingsBuilder { ++ typedef NNAPISettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_accelerator_name(flatbuffers::Offset accelerator_name) { +@@ -977,7 +998,6 @@ struct NNAPISettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- NNAPISettingsBuilder &operator=(const NNAPISettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1052,28 +1072,20 @@ flatbuffers::Offset CreateNNAPISettings(flatbuffers::FlatBufferBu + + struct GPUSettingsT : public flatbuffers::NativeTable { + typedef GPUSettings TableType; +- bool is_precision_loss_allowed; +- bool enable_quantized_inference; +- tflite::GPUBackend force_backend; +- tflite::GPUInferencePriority inference_priority1; +- tflite::GPUInferencePriority inference_priority2; +- tflite::GPUInferencePriority inference_priority3; +- tflite::GPUInferenceUsage inference_preference; +- std::string cache_directory; +- std::string model_token; +- GPUSettingsT() +- : is_precision_loss_allowed(false), +- enable_quantized_inference(true), +- force_backend(tflite::GPUBackend_UNSET), +- inference_priority1(tflite::GPUInferencePriority_GPU_PRIORITY_AUTO), +- inference_priority2(tflite::GPUInferencePriority_GPU_PRIORITY_AUTO), +- inference_priority3(tflite::GPUInferencePriority_GPU_PRIORITY_AUTO), +- inference_preference(tflite::GPUInferenceUsage_GPU_INFERENCE_PREFERENCE_FAST_SINGLE_ANSWER) { +- } ++ bool is_precision_loss_allowed = false; ++ bool enable_quantized_inference = true; ++ tflite::GPUBackend force_backend = tflite::GPUBackend_UNSET; ++ tflite::GPUInferencePriority inference_priority1 = tflite::GPUInferencePriority_GPU_PRIORITY_AUTO; ++ tflite::GPUInferencePriority inference_priority2 = tflite::GPUInferencePriority_GPU_PRIORITY_AUTO; ++ tflite::GPUInferencePriority inference_priority3 = tflite::GPUInferencePriority_GPU_PRIORITY_AUTO; ++ tflite::GPUInferenceUsage inference_preference = tflite::GPUInferenceUsage_GPU_INFERENCE_PREFERENCE_FAST_SINGLE_ANSWER; ++ std::string cache_directory{}; ++ std::string model_token{}; + }; + + struct GPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GPUSettingsT NativeTableType; ++ typedef GPUSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IS_PRECISION_LOSS_ALLOWED = 4, + VT_ENABLE_QUANTIZED_INFERENCE = 6, +@@ -1114,13 +1126,13 @@ struct GPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_IS_PRECISION_LOSS_ALLOWED) && +- VerifyField(verifier, VT_ENABLE_QUANTIZED_INFERENCE) && +- VerifyField(verifier, VT_FORCE_BACKEND) && +- VerifyField(verifier, VT_INFERENCE_PRIORITY1) && +- VerifyField(verifier, VT_INFERENCE_PRIORITY2) && +- VerifyField(verifier, VT_INFERENCE_PRIORITY3) && +- VerifyField(verifier, VT_INFERENCE_PREFERENCE) && ++ VerifyField(verifier, VT_IS_PRECISION_LOSS_ALLOWED, 1) && ++ VerifyField(verifier, VT_ENABLE_QUANTIZED_INFERENCE, 1) && ++ VerifyField(verifier, VT_FORCE_BACKEND, 4) && ++ VerifyField(verifier, VT_INFERENCE_PRIORITY1, 4) && ++ VerifyField(verifier, VT_INFERENCE_PRIORITY2, 4) && ++ VerifyField(verifier, VT_INFERENCE_PRIORITY3, 4) && ++ VerifyField(verifier, VT_INFERENCE_PREFERENCE, 4) && + VerifyOffset(verifier, VT_CACHE_DIRECTORY) && + verifier.VerifyString(cache_directory()) && + VerifyOffset(verifier, VT_MODEL_TOKEN) && +@@ -1133,6 +1145,7 @@ struct GPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct GPUSettingsBuilder { ++ typedef GPUSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_is_precision_loss_allowed(bool is_precision_loss_allowed) { +@@ -1166,7 +1179,6 @@ struct GPUSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GPUSettingsBuilder &operator=(const GPUSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1228,20 +1240,15 @@ flatbuffers::Offset CreateGPUSettings(flatbuffers::FlatBufferBuilde + + struct HexagonSettingsT : public flatbuffers::NativeTable { + typedef HexagonSettings TableType; +- int32_t debug_level; +- int32_t powersave_level; +- bool print_graph_profile; +- bool print_graph_debug; +- HexagonSettingsT() +- : debug_level(0), +- powersave_level(0), +- print_graph_profile(false), +- print_graph_debug(false) { +- } ++ int32_t debug_level = 0; ++ int32_t powersave_level = 0; ++ bool print_graph_profile = false; ++ bool print_graph_debug = false; + }; + + struct HexagonSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HexagonSettingsT NativeTableType; ++ typedef HexagonSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DEBUG_LEVEL = 4, + VT_POWERSAVE_LEVEL = 6, +@@ -1262,10 +1269,10 @@ struct HexagonSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_DEBUG_LEVEL) && +- VerifyField(verifier, VT_POWERSAVE_LEVEL) && +- VerifyField(verifier, VT_PRINT_GRAPH_PROFILE) && +- VerifyField(verifier, VT_PRINT_GRAPH_DEBUG) && ++ VerifyField(verifier, VT_DEBUG_LEVEL, 4) && ++ VerifyField(verifier, VT_POWERSAVE_LEVEL, 4) && ++ VerifyField(verifier, VT_PRINT_GRAPH_PROFILE, 1) && ++ VerifyField(verifier, VT_PRINT_GRAPH_DEBUG, 1) && + verifier.EndTable(); + } + HexagonSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1274,6 +1281,7 @@ struct HexagonSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct HexagonSettingsBuilder { ++ typedef HexagonSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_debug_level(int32_t debug_level) { +@@ -1292,7 +1300,6 @@ struct HexagonSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HexagonSettingsBuilder &operator=(const HexagonSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1318,14 +1325,12 @@ flatbuffers::Offset CreateHexagonSettings(flatbuffers::FlatBuff + + struct XNNPackSettingsT : public flatbuffers::NativeTable { + typedef XNNPackSettings TableType; +- int32_t num_threads; +- XNNPackSettingsT() +- : num_threads(0) { +- } ++ int32_t num_threads = 0; + }; + + struct XNNPackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef XNNPackSettingsT NativeTableType; ++ typedef XNNPackSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_THREADS = 4 + }; +@@ -1334,7 +1339,7 @@ struct XNNPackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM_THREADS) && ++ VerifyField(verifier, VT_NUM_THREADS, 4) && + verifier.EndTable(); + } + XNNPackSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1343,6 +1348,7 @@ struct XNNPackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct XNNPackSettingsBuilder { ++ typedef XNNPackSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_threads(int32_t num_threads) { +@@ -1352,7 +1358,6 @@ struct XNNPackSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- XNNPackSettingsBuilder &operator=(const XNNPackSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1372,20 +1377,15 @@ flatbuffers::Offset CreateXNNPackSettings(flatbuffers::FlatBuff + + struct CoreMLSettingsT : public flatbuffers::NativeTable { + typedef CoreMLSettings TableType; +- tflite::CoreMLSettings_::EnabledDevices enabled_devices; +- int32_t coreml_version; +- int32_t max_delegated_partitions; +- int32_t min_nodes_per_partition; +- CoreMLSettingsT() +- : enabled_devices(tflite::CoreMLSettings_::EnabledDevices_DEVICES_ALL), +- coreml_version(0), +- max_delegated_partitions(0), +- min_nodes_per_partition(2) { +- } ++ tflite::CoreMLSettings_::EnabledDevices enabled_devices = tflite::CoreMLSettings_::EnabledDevices_DEVICES_ALL; ++ int32_t coreml_version = 0; ++ int32_t max_delegated_partitions = 0; ++ int32_t min_nodes_per_partition = 2; + }; + + struct CoreMLSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CoreMLSettingsT NativeTableType; ++ typedef CoreMLSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ENABLED_DEVICES = 4, + VT_COREML_VERSION = 6, +@@ -1406,10 +1406,10 @@ struct CoreMLSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ENABLED_DEVICES) && +- VerifyField(verifier, VT_COREML_VERSION) && +- VerifyField(verifier, VT_MAX_DELEGATED_PARTITIONS) && +- VerifyField(verifier, VT_MIN_NODES_PER_PARTITION) && ++ VerifyField(verifier, VT_ENABLED_DEVICES, 4) && ++ VerifyField(verifier, VT_COREML_VERSION, 4) && ++ VerifyField(verifier, VT_MAX_DELEGATED_PARTITIONS, 4) && ++ VerifyField(verifier, VT_MIN_NODES_PER_PARTITION, 4) && + verifier.EndTable(); + } + CoreMLSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1418,6 +1418,7 @@ struct CoreMLSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CoreMLSettingsBuilder { ++ typedef CoreMLSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_enabled_devices(tflite::CoreMLSettings_::EnabledDevices enabled_devices) { +@@ -1436,7 +1437,6 @@ struct CoreMLSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CoreMLSettingsBuilder &operator=(const CoreMLSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1462,19 +1462,15 @@ flatbuffers::Offset CreateCoreMLSettings(flatbuffers::FlatBuffer + + struct EdgeTpuDeviceSpecT : public flatbuffers::NativeTable { + typedef EdgeTpuDeviceSpec TableType; +- tflite::EdgeTpuDeviceSpec_::PlatformType platform_type; +- int32_t num_chips; +- std::vector device_paths; +- int32_t chip_family; +- EdgeTpuDeviceSpecT() +- : platform_type(tflite::EdgeTpuDeviceSpec_::PlatformType_MMIO), +- num_chips(0), +- chip_family(0) { +- } ++ tflite::EdgeTpuDeviceSpec_::PlatformType platform_type = tflite::EdgeTpuDeviceSpec_::PlatformType_MMIO; ++ int32_t num_chips = 0; ++ std::vector device_paths{}; ++ int32_t chip_family = 0; + }; + + struct EdgeTpuDeviceSpec FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EdgeTpuDeviceSpecT NativeTableType; ++ typedef EdgeTpuDeviceSpecBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PLATFORM_TYPE = 4, + VT_NUM_CHIPS = 6, +@@ -1495,12 +1491,12 @@ struct EdgeTpuDeviceSpec FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PLATFORM_TYPE) && +- VerifyField(verifier, VT_NUM_CHIPS) && ++ VerifyField(verifier, VT_PLATFORM_TYPE, 4) && ++ VerifyField(verifier, VT_NUM_CHIPS, 4) && + VerifyOffset(verifier, VT_DEVICE_PATHS) && + verifier.VerifyVector(device_paths()) && + verifier.VerifyVectorOfStrings(device_paths()) && +- VerifyField(verifier, VT_CHIP_FAMILY) && ++ VerifyField(verifier, VT_CHIP_FAMILY, 4) && + verifier.EndTable(); + } + EdgeTpuDeviceSpecT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1509,6 +1505,7 @@ struct EdgeTpuDeviceSpec FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct EdgeTpuDeviceSpecBuilder { ++ typedef EdgeTpuDeviceSpec Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_platform_type(tflite::EdgeTpuDeviceSpec_::PlatformType platform_type) { +@@ -1527,7 +1524,6 @@ struct EdgeTpuDeviceSpecBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- EdgeTpuDeviceSpecBuilder &operator=(const EdgeTpuDeviceSpecBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1568,16 +1564,13 @@ flatbuffers::Offset CreateEdgeTpuDeviceSpec(flatbuffers::Flat + + struct EdgeTpuInactivePowerConfigT : public flatbuffers::NativeTable { + typedef EdgeTpuInactivePowerConfig TableType; +- tflite::EdgeTpuPowerState inactive_power_state; +- int64_t inactive_timeout_us; +- EdgeTpuInactivePowerConfigT() +- : inactive_power_state(tflite::EdgeTpuPowerState_UNDEFINED_POWERSTATE), +- inactive_timeout_us(0) { +- } ++ tflite::EdgeTpuPowerState inactive_power_state = tflite::EdgeTpuPowerState_UNDEFINED_POWERSTATE; ++ int64_t inactive_timeout_us = 0; + }; + + struct EdgeTpuInactivePowerConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EdgeTpuInactivePowerConfigT NativeTableType; ++ typedef EdgeTpuInactivePowerConfigBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INACTIVE_POWER_STATE = 4, + VT_INACTIVE_TIMEOUT_US = 6 +@@ -1590,8 +1583,8 @@ struct EdgeTpuInactivePowerConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers: + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_INACTIVE_POWER_STATE) && +- VerifyField(verifier, VT_INACTIVE_TIMEOUT_US) && ++ VerifyField(verifier, VT_INACTIVE_POWER_STATE, 4) && ++ VerifyField(verifier, VT_INACTIVE_TIMEOUT_US, 8) && + verifier.EndTable(); + } + EdgeTpuInactivePowerConfigT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1600,6 +1593,7 @@ struct EdgeTpuInactivePowerConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers: + }; + + struct EdgeTpuInactivePowerConfigBuilder { ++ typedef EdgeTpuInactivePowerConfig Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_inactive_power_state(tflite::EdgeTpuPowerState inactive_power_state) { +@@ -1612,7 +1606,6 @@ struct EdgeTpuInactivePowerConfigBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- EdgeTpuInactivePowerConfigBuilder &operator=(const EdgeTpuInactivePowerConfigBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1634,23 +1627,22 @@ flatbuffers::Offset CreateEdgeTpuInactivePowerConfig + + struct EdgeTpuSettingsT : public flatbuffers::NativeTable { + typedef EdgeTpuSettings TableType; +- tflite::EdgeTpuPowerState inference_power_state; +- std::vector> inactive_power_configs; +- int32_t inference_priority; +- std::unique_ptr edgetpu_device_spec; +- std::string model_token; +- tflite::EdgeTpuSettings_::FloatTruncationType float_truncation_type; +- tflite::EdgeTpuSettings_::QosClass qos_class; +- EdgeTpuSettingsT() +- : inference_power_state(tflite::EdgeTpuPowerState_UNDEFINED_POWERSTATE), +- inference_priority(-1), +- float_truncation_type(tflite::EdgeTpuSettings_::FloatTruncationType_UNSPECIFIED), +- qos_class(tflite::EdgeTpuSettings_::QosClass_QOS_UNDEFINED) { +- } ++ tflite::EdgeTpuPowerState inference_power_state = tflite::EdgeTpuPowerState_UNDEFINED_POWERSTATE; ++ std::vector> inactive_power_configs{}; ++ int32_t inference_priority = -1; ++ std::unique_ptr edgetpu_device_spec{}; ++ std::string model_token{}; ++ tflite::EdgeTpuSettings_::FloatTruncationType float_truncation_type = tflite::EdgeTpuSettings_::FloatTruncationType_UNSPECIFIED; ++ tflite::EdgeTpuSettings_::QosClass qos_class = tflite::EdgeTpuSettings_::QosClass_QOS_UNDEFINED; ++ EdgeTpuSettingsT() = default; ++ EdgeTpuSettingsT(const EdgeTpuSettingsT &o); ++ EdgeTpuSettingsT(EdgeTpuSettingsT&&) FLATBUFFERS_NOEXCEPT = default; ++ EdgeTpuSettingsT &operator=(EdgeTpuSettingsT o) FLATBUFFERS_NOEXCEPT; + }; + + struct EdgeTpuSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EdgeTpuSettingsT NativeTableType; ++ typedef EdgeTpuSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INFERENCE_POWER_STATE = 4, + VT_INACTIVE_POWER_CONFIGS = 6, +@@ -1683,17 +1675,17 @@ struct EdgeTpuSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_INFERENCE_POWER_STATE) && ++ VerifyField(verifier, VT_INFERENCE_POWER_STATE, 4) && + VerifyOffset(verifier, VT_INACTIVE_POWER_CONFIGS) && + verifier.VerifyVector(inactive_power_configs()) && + verifier.VerifyVectorOfTables(inactive_power_configs()) && +- VerifyField(verifier, VT_INFERENCE_PRIORITY) && ++ VerifyField(verifier, VT_INFERENCE_PRIORITY, 4) && + VerifyOffset(verifier, VT_EDGETPU_DEVICE_SPEC) && + verifier.VerifyTable(edgetpu_device_spec()) && + VerifyOffset(verifier, VT_MODEL_TOKEN) && + verifier.VerifyString(model_token()) && +- VerifyField(verifier, VT_FLOAT_TRUNCATION_TYPE) && +- VerifyField(verifier, VT_QOS_CLASS) && ++ VerifyField(verifier, VT_FLOAT_TRUNCATION_TYPE, 4) && ++ VerifyField(verifier, VT_QOS_CLASS, 4) && + verifier.EndTable(); + } + EdgeTpuSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1702,6 +1694,7 @@ struct EdgeTpuSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct EdgeTpuSettingsBuilder { ++ typedef EdgeTpuSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_inference_power_state(tflite::EdgeTpuPowerState inference_power_state) { +@@ -1729,7 +1722,6 @@ struct EdgeTpuSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- EdgeTpuSettingsBuilder &operator=(const EdgeTpuSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1783,19 +1775,15 @@ flatbuffers::Offset CreateEdgeTpuSettings(flatbuffers::FlatBuff + + struct CoralSettingsT : public flatbuffers::NativeTable { + typedef CoralSettings TableType; +- std::string device; +- tflite::CoralSettings_::Performance performance; +- bool usb_always_dfu; +- int32_t usb_max_bulk_in_queue_length; +- CoralSettingsT() +- : performance(tflite::CoralSettings_::Performance_UNDEFINED), +- usb_always_dfu(false), +- usb_max_bulk_in_queue_length(0) { +- } ++ std::string device{}; ++ tflite::CoralSettings_::Performance performance = tflite::CoralSettings_::Performance_UNDEFINED; ++ bool usb_always_dfu = false; ++ int32_t usb_max_bulk_in_queue_length = 0; + }; + + struct CoralSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CoralSettingsT NativeTableType; ++ typedef CoralSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DEVICE = 4, + VT_PERFORMANCE = 6, +@@ -1818,9 +1806,9 @@ struct CoralSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_DEVICE) && + verifier.VerifyString(device()) && +- VerifyField(verifier, VT_PERFORMANCE) && +- VerifyField(verifier, VT_USB_ALWAYS_DFU) && +- VerifyField(verifier, VT_USB_MAX_BULK_IN_QUEUE_LENGTH) && ++ VerifyField(verifier, VT_PERFORMANCE, 4) && ++ VerifyField(verifier, VT_USB_ALWAYS_DFU, 1) && ++ VerifyField(verifier, VT_USB_MAX_BULK_IN_QUEUE_LENGTH, 4) && + verifier.EndTable(); + } + CoralSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1829,6 +1817,7 @@ struct CoralSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CoralSettingsBuilder { ++ typedef CoralSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_device(flatbuffers::Offset device) { +@@ -1847,7 +1836,6 @@ struct CoralSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CoralSettingsBuilder &operator=(const CoralSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1888,14 +1876,12 @@ flatbuffers::Offset CreateCoralSettings(flatbuffers::FlatBufferBu + + struct CPUSettingsT : public flatbuffers::NativeTable { + typedef CPUSettings TableType; +- int32_t num_threads; +- CPUSettingsT() +- : num_threads(-1) { +- } ++ int32_t num_threads = -1; + }; + + struct CPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CPUSettingsT NativeTableType; ++ typedef CPUSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_THREADS = 4 + }; +@@ -1904,7 +1890,7 @@ struct CPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM_THREADS) && ++ VerifyField(verifier, VT_NUM_THREADS, 4) && + verifier.EndTable(); + } + CPUSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -1913,6 +1899,7 @@ struct CPUSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CPUSettingsBuilder { ++ typedef CPUSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_threads(int32_t num_threads) { +@@ -1922,7 +1909,6 @@ struct CPUSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CPUSettingsBuilder &operator=(const CPUSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -1942,25 +1928,26 @@ flatbuffers::Offset CreateCPUSettings(flatbuffers::FlatBufferBuilde + + struct TFLiteSettingsT : public flatbuffers::NativeTable { + typedef TFLiteSettings TableType; +- tflite::Delegate delegate; +- std::unique_ptr nnapi_settings; +- std::unique_ptr gpu_settings; +- std::unique_ptr hexagon_settings; +- std::unique_ptr xnnpack_settings; +- std::unique_ptr coreml_settings; +- std::unique_ptr cpu_settings; +- int32_t max_delegated_partitions; +- std::unique_ptr edgetpu_settings; +- std::unique_ptr coral_settings; +- std::unique_ptr fallback_settings; +- TFLiteSettingsT() +- : delegate(tflite::Delegate_NONE), +- max_delegated_partitions(0) { +- } ++ tflite::Delegate delegate = tflite::Delegate_NONE; ++ std::unique_ptr nnapi_settings{}; ++ std::unique_ptr gpu_settings{}; ++ std::unique_ptr hexagon_settings{}; ++ std::unique_ptr xnnpack_settings{}; ++ std::unique_ptr coreml_settings{}; ++ std::unique_ptr cpu_settings{}; ++ int32_t max_delegated_partitions = 0; ++ std::unique_ptr edgetpu_settings{}; ++ std::unique_ptr coral_settings{}; ++ std::unique_ptr fallback_settings{}; ++ TFLiteSettingsT() = default; ++ TFLiteSettingsT(const TFLiteSettingsT &o); ++ TFLiteSettingsT(TFLiteSettingsT&&) FLATBUFFERS_NOEXCEPT = default; ++ TFLiteSettingsT &operator=(TFLiteSettingsT o) FLATBUFFERS_NOEXCEPT; + }; + + struct TFLiteSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TFLiteSettingsT NativeTableType; ++ typedef TFLiteSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DELEGATE = 4, + VT_NNAPI_SETTINGS = 6, +@@ -2009,7 +1996,7 @@ struct TFLiteSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_DELEGATE) && ++ VerifyField(verifier, VT_DELEGATE, 4) && + VerifyOffset(verifier, VT_NNAPI_SETTINGS) && + verifier.VerifyTable(nnapi_settings()) && + VerifyOffset(verifier, VT_GPU_SETTINGS) && +@@ -2022,7 +2009,7 @@ struct TFLiteSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyTable(coreml_settings()) && + VerifyOffset(verifier, VT_CPU_SETTINGS) && + verifier.VerifyTable(cpu_settings()) && +- VerifyField(verifier, VT_MAX_DELEGATED_PARTITIONS) && ++ VerifyField(verifier, VT_MAX_DELEGATED_PARTITIONS, 4) && + VerifyOffset(verifier, VT_EDGETPU_SETTINGS) && + verifier.VerifyTable(edgetpu_settings()) && + VerifyOffset(verifier, VT_CORAL_SETTINGS) && +@@ -2037,6 +2024,7 @@ struct TFLiteSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TFLiteSettingsBuilder { ++ typedef TFLiteSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_delegate(tflite::Delegate delegate) { +@@ -2076,7 +2064,6 @@ struct TFLiteSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TFLiteSettingsBuilder &operator=(const TFLiteSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2116,16 +2103,13 @@ flatbuffers::Offset CreateTFLiteSettings(flatbuffers::FlatBuffer + + struct FallbackSettingsT : public flatbuffers::NativeTable { + typedef FallbackSettings TableType; +- bool allow_automatic_fallback_on_compilation_error; +- bool allow_automatic_fallback_on_execution_error; +- FallbackSettingsT() +- : allow_automatic_fallback_on_compilation_error(false), +- allow_automatic_fallback_on_execution_error(false) { +- } ++ bool allow_automatic_fallback_on_compilation_error = false; ++ bool allow_automatic_fallback_on_execution_error = false; + }; + + struct FallbackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FallbackSettingsT NativeTableType; ++ typedef FallbackSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALLOW_AUTOMATIC_FALLBACK_ON_COMPILATION_ERROR = 4, + VT_ALLOW_AUTOMATIC_FALLBACK_ON_EXECUTION_ERROR = 6 +@@ -2138,8 +2122,8 @@ struct FallbackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ALLOW_AUTOMATIC_FALLBACK_ON_COMPILATION_ERROR) && +- VerifyField(verifier, VT_ALLOW_AUTOMATIC_FALLBACK_ON_EXECUTION_ERROR) && ++ VerifyField(verifier, VT_ALLOW_AUTOMATIC_FALLBACK_ON_COMPILATION_ERROR, 1) && ++ VerifyField(verifier, VT_ALLOW_AUTOMATIC_FALLBACK_ON_EXECUTION_ERROR, 1) && + verifier.EndTable(); + } + FallbackSettingsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2148,6 +2132,7 @@ struct FallbackSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct FallbackSettingsBuilder { ++ typedef FallbackSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_allow_automatic_fallback_on_compilation_error(bool allow_automatic_fallback_on_compilation_error) { +@@ -2160,7 +2145,6 @@ struct FallbackSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FallbackSettingsBuilder &operator=(const FallbackSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2182,14 +2166,13 @@ flatbuffers::Offset CreateFallbackSettings(flatbuffers::FlatBu + + struct BenchmarkMetricT : public flatbuffers::NativeTable { + typedef BenchmarkMetric TableType; +- std::string name; +- std::vector values; +- BenchmarkMetricT() { +- } ++ std::string name{}; ++ std::vector values{}; + }; + + struct BenchmarkMetric FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkMetricT NativeTableType; ++ typedef BenchmarkMetricBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_VALUES = 6 +@@ -2214,6 +2197,7 @@ struct BenchmarkMetric FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BenchmarkMetricBuilder { ++ typedef BenchmarkMetric Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { +@@ -2226,7 +2210,6 @@ struct BenchmarkMetricBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkMetricBuilder &operator=(const BenchmarkMetricBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2260,19 +2243,20 @@ flatbuffers::Offset CreateBenchmarkMetric(flatbuffers::FlatBuff + + struct BenchmarkResultT : public flatbuffers::NativeTable { + typedef BenchmarkResult TableType; +- std::vector initialization_time_us; +- std::vector inference_time_us; +- int32_t max_memory_kb; +- bool ok; +- std::vector> metrics; +- BenchmarkResultT() +- : max_memory_kb(0), +- ok(false) { +- } ++ std::vector initialization_time_us{}; ++ std::vector inference_time_us{}; ++ int32_t max_memory_kb = 0; ++ bool ok = false; ++ std::vector> metrics{}; ++ BenchmarkResultT() = default; ++ BenchmarkResultT(const BenchmarkResultT &o); ++ BenchmarkResultT(BenchmarkResultT&&) FLATBUFFERS_NOEXCEPT = default; ++ BenchmarkResultT &operator=(BenchmarkResultT o) FLATBUFFERS_NOEXCEPT; + }; + + struct BenchmarkResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkResultT NativeTableType; ++ typedef BenchmarkResultBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INITIALIZATION_TIME_US = 4, + VT_INFERENCE_TIME_US = 6, +@@ -2301,8 +2285,8 @@ struct BenchmarkResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyVector(initialization_time_us()) && + VerifyOffset(verifier, VT_INFERENCE_TIME_US) && + verifier.VerifyVector(inference_time_us()) && +- VerifyField(verifier, VT_MAX_MEMORY_KB) && +- VerifyField(verifier, VT_OK) && ++ VerifyField(verifier, VT_MAX_MEMORY_KB, 4) && ++ VerifyField(verifier, VT_OK, 1) && + VerifyOffset(verifier, VT_METRICS) && + verifier.VerifyVector(metrics()) && + verifier.VerifyVectorOfTables(metrics()) && +@@ -2314,6 +2298,7 @@ struct BenchmarkResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BenchmarkResultBuilder { ++ typedef BenchmarkResult Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_initialization_time_us(flatbuffers::Offset> initialization_time_us) { +@@ -2335,7 +2320,6 @@ struct BenchmarkResultBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkResultBuilder &operator=(const BenchmarkResultBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2382,18 +2366,14 @@ flatbuffers::Offset CreateBenchmarkResult(flatbuffers::FlatBuff + + struct ErrorCodeT : public flatbuffers::NativeTable { + typedef ErrorCode TableType; +- tflite::Delegate source; +- int32_t tflite_error; +- int64_t underlying_api_error; +- ErrorCodeT() +- : source(tflite::Delegate_NONE), +- tflite_error(0), +- underlying_api_error(0) { +- } ++ tflite::Delegate source = tflite::Delegate_NONE; ++ int32_t tflite_error = 0; ++ int64_t underlying_api_error = 0; + }; + + struct ErrorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ErrorCodeT NativeTableType; ++ typedef ErrorCodeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SOURCE = 4, + VT_TFLITE_ERROR = 6, +@@ -2410,9 +2390,9 @@ struct ErrorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_SOURCE) && +- VerifyField(verifier, VT_TFLITE_ERROR) && +- VerifyField(verifier, VT_UNDERLYING_API_ERROR) && ++ VerifyField(verifier, VT_SOURCE, 4) && ++ VerifyField(verifier, VT_TFLITE_ERROR, 4) && ++ VerifyField(verifier, VT_UNDERLYING_API_ERROR, 8) && + verifier.EndTable(); + } + ErrorCodeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2421,6 +2401,7 @@ struct ErrorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ErrorCodeBuilder { ++ typedef ErrorCode Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_source(tflite::Delegate source) { +@@ -2436,7 +2417,6 @@ struct ErrorCodeBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ErrorCodeBuilder &operator=(const ErrorCodeBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2460,21 +2440,20 @@ flatbuffers::Offset CreateErrorCode(flatbuffers::FlatBufferBuilder &_ + + struct BenchmarkErrorT : public flatbuffers::NativeTable { + typedef BenchmarkError TableType; +- tflite::BenchmarkStage stage; +- int32_t exit_code; +- int32_t signal; +- std::vector> error_code; +- int32_t mini_benchmark_error_code; +- BenchmarkErrorT() +- : stage(tflite::BenchmarkStage_UNKNOWN), +- exit_code(0), +- signal(0), +- mini_benchmark_error_code(0) { +- } ++ tflite::BenchmarkStage stage = tflite::BenchmarkStage_UNKNOWN; ++ int32_t exit_code = 0; ++ int32_t signal = 0; ++ std::vector> error_code{}; ++ int32_t mini_benchmark_error_code = 0; ++ BenchmarkErrorT() = default; ++ BenchmarkErrorT(const BenchmarkErrorT &o); ++ BenchmarkErrorT(BenchmarkErrorT&&) FLATBUFFERS_NOEXCEPT = default; ++ BenchmarkErrorT &operator=(BenchmarkErrorT o) FLATBUFFERS_NOEXCEPT; + }; + + struct BenchmarkError FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkErrorT NativeTableType; ++ typedef BenchmarkErrorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_STAGE = 4, + VT_EXIT_CODE = 6, +@@ -2499,13 +2478,13 @@ struct BenchmarkError FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_STAGE) && +- VerifyField(verifier, VT_EXIT_CODE) && +- VerifyField(verifier, VT_SIGNAL) && ++ VerifyField(verifier, VT_STAGE, 4) && ++ VerifyField(verifier, VT_EXIT_CODE, 4) && ++ VerifyField(verifier, VT_SIGNAL, 4) && + VerifyOffset(verifier, VT_ERROR_CODE) && + verifier.VerifyVector(error_code()) && + verifier.VerifyVectorOfTables(error_code()) && +- VerifyField(verifier, VT_MINI_BENCHMARK_ERROR_CODE) && ++ VerifyField(verifier, VT_MINI_BENCHMARK_ERROR_CODE, 4) && + verifier.EndTable(); + } + BenchmarkErrorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2514,6 +2493,7 @@ struct BenchmarkError FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BenchmarkErrorBuilder { ++ typedef BenchmarkError Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_stage(tflite::BenchmarkStage stage) { +@@ -2535,7 +2515,6 @@ struct BenchmarkErrorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkErrorBuilder &operator=(const BenchmarkErrorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2580,21 +2559,21 @@ flatbuffers::Offset CreateBenchmarkError(flatbuffers::FlatBuffer + + struct BenchmarkEventT : public flatbuffers::NativeTable { + typedef BenchmarkEvent TableType; +- std::unique_ptr tflite_settings; +- tflite::BenchmarkEventType event_type; +- std::unique_ptr result; +- std::unique_ptr error; +- int64_t boottime_us; +- int64_t wallclock_us; +- BenchmarkEventT() +- : event_type(tflite::BenchmarkEventType_UNDEFINED_BENCHMARK_EVENT_TYPE), +- boottime_us(0), +- wallclock_us(0) { +- } ++ std::unique_ptr tflite_settings{}; ++ tflite::BenchmarkEventType event_type = tflite::BenchmarkEventType_UNDEFINED_BENCHMARK_EVENT_TYPE; ++ std::unique_ptr result{}; ++ std::unique_ptr error{}; ++ int64_t boottime_us = 0; ++ int64_t wallclock_us = 0; ++ BenchmarkEventT() = default; ++ BenchmarkEventT(const BenchmarkEventT &o); ++ BenchmarkEventT(BenchmarkEventT&&) FLATBUFFERS_NOEXCEPT = default; ++ BenchmarkEventT &operator=(BenchmarkEventT o) FLATBUFFERS_NOEXCEPT; + }; + + struct BenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkEventT NativeTableType; ++ typedef BenchmarkEventBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TFLITE_SETTINGS = 4, + VT_EVENT_TYPE = 6, +@@ -2625,13 +2604,13 @@ struct BenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_TFLITE_SETTINGS) && + verifier.VerifyTable(tflite_settings()) && +- VerifyField(verifier, VT_EVENT_TYPE) && ++ VerifyField(verifier, VT_EVENT_TYPE, 4) && + VerifyOffset(verifier, VT_RESULT) && + verifier.VerifyTable(result()) && + VerifyOffset(verifier, VT_ERROR) && + verifier.VerifyTable(error()) && +- VerifyField(verifier, VT_BOOTTIME_US) && +- VerifyField(verifier, VT_WALLCLOCK_US) && ++ VerifyField(verifier, VT_BOOTTIME_US, 8) && ++ VerifyField(verifier, VT_WALLCLOCK_US, 8) && + verifier.EndTable(); + } + BenchmarkEventT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2640,6 +2619,7 @@ struct BenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BenchmarkEventBuilder { ++ typedef BenchmarkEvent Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_tflite_settings(flatbuffers::Offset tflite_settings) { +@@ -2664,7 +2644,6 @@ struct BenchmarkEventBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkEventBuilder &operator=(const BenchmarkEventBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2694,17 +2673,18 @@ flatbuffers::Offset CreateBenchmarkEvent(flatbuffers::FlatBuffer + + struct BestAccelerationDecisionT : public flatbuffers::NativeTable { + typedef BestAccelerationDecision TableType; +- int32_t number_of_source_events; +- std::unique_ptr min_latency_event; +- int64_t min_inference_time_us; +- BestAccelerationDecisionT() +- : number_of_source_events(0), +- min_inference_time_us(0) { +- } ++ int32_t number_of_source_events = 0; ++ std::unique_ptr min_latency_event{}; ++ int64_t min_inference_time_us = 0; ++ BestAccelerationDecisionT() = default; ++ BestAccelerationDecisionT(const BestAccelerationDecisionT &o); ++ BestAccelerationDecisionT(BestAccelerationDecisionT&&) FLATBUFFERS_NOEXCEPT = default; ++ BestAccelerationDecisionT &operator=(BestAccelerationDecisionT o) FLATBUFFERS_NOEXCEPT; + }; + + struct BestAccelerationDecision FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BestAccelerationDecisionT NativeTableType; ++ typedef BestAccelerationDecisionBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUMBER_OF_SOURCE_EVENTS = 4, + VT_MIN_LATENCY_EVENT = 6, +@@ -2721,10 +2701,10 @@ struct BestAccelerationDecision FLATBUFFERS_FINAL_CLASS : private flatbuffers::T + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUMBER_OF_SOURCE_EVENTS) && ++ VerifyField(verifier, VT_NUMBER_OF_SOURCE_EVENTS, 4) && + VerifyOffset(verifier, VT_MIN_LATENCY_EVENT) && + verifier.VerifyTable(min_latency_event()) && +- VerifyField(verifier, VT_MIN_INFERENCE_TIME_US) && ++ VerifyField(verifier, VT_MIN_INFERENCE_TIME_US, 8) && + verifier.EndTable(); + } + BestAccelerationDecisionT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2733,6 +2713,7 @@ struct BestAccelerationDecision FLATBUFFERS_FINAL_CLASS : private flatbuffers::T + }; + + struct BestAccelerationDecisionBuilder { ++ typedef BestAccelerationDecision Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_number_of_source_events(int32_t number_of_source_events) { +@@ -2748,7 +2729,6 @@ struct BestAccelerationDecisionBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BestAccelerationDecisionBuilder &operator=(const BestAccelerationDecisionBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2772,14 +2752,12 @@ flatbuffers::Offset CreateBestAccelerationDecision(fla + + struct BenchmarkInitializationFailureT : public flatbuffers::NativeTable { + typedef BenchmarkInitializationFailure TableType; +- int32_t initialization_status; +- BenchmarkInitializationFailureT() +- : initialization_status(0) { +- } ++ int32_t initialization_status = 0; + }; + + struct BenchmarkInitializationFailure FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkInitializationFailureT NativeTableType; ++ typedef BenchmarkInitializationFailureBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INITIALIZATION_STATUS = 4 + }; +@@ -2788,7 +2766,7 @@ struct BenchmarkInitializationFailure FLATBUFFERS_FINAL_CLASS : private flatbuff + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_INITIALIZATION_STATUS) && ++ VerifyField(verifier, VT_INITIALIZATION_STATUS, 4) && + verifier.EndTable(); + } + BenchmarkInitializationFailureT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2797,6 +2775,7 @@ struct BenchmarkInitializationFailure FLATBUFFERS_FINAL_CLASS : private flatbuff + }; + + struct BenchmarkInitializationFailureBuilder { ++ typedef BenchmarkInitializationFailure Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_initialization_status(int32_t initialization_status) { +@@ -2806,7 +2785,6 @@ struct BenchmarkInitializationFailureBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkInitializationFailureBuilder &operator=(const BenchmarkInitializationFailureBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2826,17 +2804,19 @@ flatbuffers::Offset CreateBenchmarkInitializatio + + struct MiniBenchmarkEventT : public flatbuffers::NativeTable { + typedef MiniBenchmarkEvent TableType; +- bool is_log_flushing_event; +- std::unique_ptr best_acceleration_decision; +- std::unique_ptr initialization_failure; +- std::unique_ptr benchmark_event; +- MiniBenchmarkEventT() +- : is_log_flushing_event(false) { +- } ++ bool is_log_flushing_event = false; ++ std::unique_ptr best_acceleration_decision{}; ++ std::unique_ptr initialization_failure{}; ++ std::unique_ptr benchmark_event{}; ++ MiniBenchmarkEventT() = default; ++ MiniBenchmarkEventT(const MiniBenchmarkEventT &o); ++ MiniBenchmarkEventT(MiniBenchmarkEventT&&) FLATBUFFERS_NOEXCEPT = default; ++ MiniBenchmarkEventT &operator=(MiniBenchmarkEventT o) FLATBUFFERS_NOEXCEPT; + }; + + struct MiniBenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MiniBenchmarkEventT NativeTableType; ++ typedef MiniBenchmarkEventBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IS_LOG_FLUSHING_EVENT = 4, + VT_BEST_ACCELERATION_DECISION = 6, +@@ -2857,7 +2837,7 @@ struct MiniBenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_IS_LOG_FLUSHING_EVENT) && ++ VerifyField(verifier, VT_IS_LOG_FLUSHING_EVENT, 1) && + VerifyOffset(verifier, VT_BEST_ACCELERATION_DECISION) && + verifier.VerifyTable(best_acceleration_decision()) && + VerifyOffset(verifier, VT_INITIALIZATION_FAILURE) && +@@ -2872,6 +2852,7 @@ struct MiniBenchmarkEvent FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct MiniBenchmarkEventBuilder { ++ typedef MiniBenchmarkEvent Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_is_log_flushing_event(bool is_log_flushing_event) { +@@ -2890,7 +2871,6 @@ struct MiniBenchmarkEventBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MiniBenchmarkEventBuilder &operator=(const MiniBenchmarkEventBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -2916,19 +2896,15 @@ flatbuffers::Offset CreateMiniBenchmarkEvent(flatbuffers::Fl + + struct ModelFileT : public flatbuffers::NativeTable { + typedef ModelFile TableType; +- std::string filename; +- int64_t fd; +- int64_t offset; +- int64_t length; +- ModelFileT() +- : fd(0), +- offset(0), +- length(0) { +- } ++ std::string filename{}; ++ int64_t fd = 0; ++ int64_t offset = 0; ++ int64_t length = 0; + }; + + struct ModelFile FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ModelFileT NativeTableType; ++ typedef ModelFileBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FILENAME = 4, + VT_FD = 6, +@@ -2951,9 +2927,9 @@ struct ModelFile FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_FILENAME) && + verifier.VerifyString(filename()) && +- VerifyField(verifier, VT_FD) && +- VerifyField(verifier, VT_OFFSET) && +- VerifyField(verifier, VT_LENGTH) && ++ VerifyField(verifier, VT_FD, 8) && ++ VerifyField(verifier, VT_OFFSET, 8) && ++ VerifyField(verifier, VT_LENGTH, 8) && + verifier.EndTable(); + } + ModelFileT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -2962,6 +2938,7 @@ struct ModelFile FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ModelFileBuilder { ++ typedef ModelFile Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_filename(flatbuffers::Offset filename) { +@@ -2980,7 +2957,6 @@ struct ModelFileBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ModelFileBuilder &operator=(const ModelFileBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3021,14 +2997,13 @@ flatbuffers::Offset CreateModelFile(flatbuffers::FlatBufferBuilder &_ + + struct BenchmarkStoragePathsT : public flatbuffers::NativeTable { + typedef BenchmarkStoragePaths TableType; +- std::string storage_file_path; +- std::string data_directory_path; +- BenchmarkStoragePathsT() { +- } ++ std::string storage_file_path{}; ++ std::string data_directory_path{}; + }; + + struct BenchmarkStoragePaths FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BenchmarkStoragePathsT NativeTableType; ++ typedef BenchmarkStoragePathsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_STORAGE_FILE_PATH = 4, + VT_DATA_DIRECTORY_PATH = 6 +@@ -3053,6 +3028,7 @@ struct BenchmarkStoragePaths FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct BenchmarkStoragePathsBuilder { ++ typedef BenchmarkStoragePaths Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_storage_file_path(flatbuffers::Offset storage_file_path) { +@@ -3065,7 +3041,6 @@ struct BenchmarkStoragePathsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BenchmarkStoragePathsBuilder &operator=(const BenchmarkStoragePathsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3099,15 +3074,18 @@ flatbuffers::Offset CreateBenchmarkStoragePaths(flatbuffe + + struct MinibenchmarkSettingsT : public flatbuffers::NativeTable { + typedef MinibenchmarkSettings TableType; +- std::vector> settings_to_test; +- std::unique_ptr model_file; +- std::unique_ptr storage_paths; +- MinibenchmarkSettingsT() { +- } ++ std::vector> settings_to_test{}; ++ std::unique_ptr model_file{}; ++ std::unique_ptr storage_paths{}; ++ MinibenchmarkSettingsT() = default; ++ MinibenchmarkSettingsT(const MinibenchmarkSettingsT &o); ++ MinibenchmarkSettingsT(MinibenchmarkSettingsT&&) FLATBUFFERS_NOEXCEPT = default; ++ MinibenchmarkSettingsT &operator=(MinibenchmarkSettingsT o) FLATBUFFERS_NOEXCEPT; + }; + + struct MinibenchmarkSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MinibenchmarkSettingsT NativeTableType; ++ typedef MinibenchmarkSettingsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SETTINGS_TO_TEST = 4, + VT_MODEL_FILE = 6, +@@ -3139,6 +3117,7 @@ struct MinibenchmarkSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct MinibenchmarkSettingsBuilder { ++ typedef MinibenchmarkSettings Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_settings_to_test(flatbuffers::Offset>> settings_to_test) { +@@ -3154,7 +3133,6 @@ struct MinibenchmarkSettingsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MinibenchmarkSettingsBuilder &operator=(const MinibenchmarkSettingsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3204,20 +3182,37 @@ inline bool operator!=(const ComputeSettingsT &lhs, const ComputeSettingsT &rhs) + } + + ++inline ComputeSettingsT::ComputeSettingsT(const ComputeSettingsT &o) ++ : preference(o.preference), ++ tflite_settings((o.tflite_settings) ? new tflite::TFLiteSettingsT(*o.tflite_settings) : nullptr), ++ model_namespace_for_statistics(o.model_namespace_for_statistics), ++ model_identifier_for_statistics(o.model_identifier_for_statistics), ++ settings_to_test_locally((o.settings_to_test_locally) ? new tflite::MinibenchmarkSettingsT(*o.settings_to_test_locally) : nullptr) { ++} ++ ++inline ComputeSettingsT &ComputeSettingsT::operator=(ComputeSettingsT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(preference, o.preference); ++ std::swap(tflite_settings, o.tflite_settings); ++ std::swap(model_namespace_for_statistics, o.model_namespace_for_statistics); ++ std::swap(model_identifier_for_statistics, o.model_identifier_for_statistics); ++ std::swap(settings_to_test_locally, o.settings_to_test_locally); ++ return *this; ++} ++ + inline ComputeSettingsT *ComputeSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ComputeSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ComputeSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ComputeSettings::UnPackTo(ComputeSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = preference(); _o->preference = _e; } +- { auto _e = tflite_settings(); if (_e) _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = model_namespace_for_statistics(); if (_e) _o->model_namespace_for_statistics = _e->str(); } + { auto _e = model_identifier_for_statistics(); if (_e) _o->model_identifier_for_statistics = _e->str(); } +- { auto _e = settings_to_test_locally(); if (_e) _o->settings_to_test_locally = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = settings_to_test_locally(); if (_e) { if(_o->settings_to_test_locally) { _e->UnPackTo(_o->settings_to_test_locally.get(), _resolver); } else { _o->settings_to_test_locally = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline flatbuffers::Offset ComputeSettings::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ComputeSettingsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -3264,10 +3259,41 @@ inline bool operator!=(const NNAPISettingsT &lhs, const NNAPISettingsT &rhs) { + } + + ++inline NNAPISettingsT::NNAPISettingsT(const NNAPISettingsT &o) ++ : accelerator_name(o.accelerator_name), ++ cache_directory(o.cache_directory), ++ model_token(o.model_token), ++ execution_preference(o.execution_preference), ++ no_of_nnapi_instances_to_cache(o.no_of_nnapi_instances_to_cache), ++ fallback_settings((o.fallback_settings) ? new tflite::FallbackSettingsT(*o.fallback_settings) : nullptr), ++ allow_nnapi_cpu_on_android_10_plus(o.allow_nnapi_cpu_on_android_10_plus), ++ execution_priority(o.execution_priority), ++ allow_dynamic_dimensions(o.allow_dynamic_dimensions), ++ allow_fp16_precision_for_fp32(o.allow_fp16_precision_for_fp32), ++ use_burst_computation(o.use_burst_computation), ++ support_library_handle(o.support_library_handle) { ++} ++ ++inline NNAPISettingsT &NNAPISettingsT::operator=(NNAPISettingsT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(accelerator_name, o.accelerator_name); ++ std::swap(cache_directory, o.cache_directory); ++ std::swap(model_token, o.model_token); ++ std::swap(execution_preference, o.execution_preference); ++ std::swap(no_of_nnapi_instances_to_cache, o.no_of_nnapi_instances_to_cache); ++ std::swap(fallback_settings, o.fallback_settings); ++ std::swap(allow_nnapi_cpu_on_android_10_plus, o.allow_nnapi_cpu_on_android_10_plus); ++ std::swap(execution_priority, o.execution_priority); ++ std::swap(allow_dynamic_dimensions, o.allow_dynamic_dimensions); ++ std::swap(allow_fp16_precision_for_fp32, o.allow_fp16_precision_for_fp32); ++ std::swap(use_burst_computation, o.use_burst_computation); ++ std::swap(support_library_handle, o.support_library_handle); ++ return *this; ++} ++ + inline NNAPISettingsT *NNAPISettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new NNAPISettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new NNAPISettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void NNAPISettings::UnPackTo(NNAPISettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3278,7 +3304,7 @@ inline void NNAPISettings::UnPackTo(NNAPISettingsT *_o, const flatbuffers::resol + { auto _e = model_token(); if (_e) _o->model_token = _e->str(); } + { auto _e = execution_preference(); _o->execution_preference = _e; } + { auto _e = no_of_nnapi_instances_to_cache(); _o->no_of_nnapi_instances_to_cache = _e; } +- { auto _e = fallback_settings(); if (_e) _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = allow_nnapi_cpu_on_android_10_plus(); _o->allow_nnapi_cpu_on_android_10_plus = _e; } + { auto _e = execution_priority(); _o->execution_priority = _e; } + { auto _e = allow_dynamic_dimensions(); _o->allow_dynamic_dimensions = _e; } +@@ -3343,9 +3369,9 @@ inline bool operator!=(const GPUSettingsT &lhs, const GPUSettingsT &rhs) { + + + inline GPUSettingsT *GPUSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GPUSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GPUSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GPUSettings::UnPackTo(GPUSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3407,9 +3433,9 @@ inline bool operator!=(const HexagonSettingsT &lhs, const HexagonSettingsT &rhs) + + + inline HexagonSettingsT *HexagonSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HexagonSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HexagonSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HexagonSettings::UnPackTo(HexagonSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3453,9 +3479,9 @@ inline bool operator!=(const XNNPackSettingsT &lhs, const XNNPackSettingsT &rhs) + + + inline XNNPackSettingsT *XNNPackSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new XNNPackSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new XNNPackSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void XNNPackSettings::UnPackTo(XNNPackSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3493,9 +3519,9 @@ inline bool operator!=(const CoreMLSettingsT &lhs, const CoreMLSettingsT &rhs) { + + + inline CoreMLSettingsT *CoreMLSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CoreMLSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CoreMLSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CoreMLSettings::UnPackTo(CoreMLSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3542,9 +3568,9 @@ inline bool operator!=(const EdgeTpuDeviceSpecT &lhs, const EdgeTpuDeviceSpecT & + + + inline EdgeTpuDeviceSpecT *EdgeTpuDeviceSpec::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new EdgeTpuDeviceSpecT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new EdgeTpuDeviceSpecT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void EdgeTpuDeviceSpec::UnPackTo(EdgeTpuDeviceSpecT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3589,9 +3615,9 @@ inline bool operator!=(const EdgeTpuInactivePowerConfigT &lhs, const EdgeTpuInac + + + inline EdgeTpuInactivePowerConfigT *EdgeTpuInactivePowerConfig::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new EdgeTpuInactivePowerConfigT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new EdgeTpuInactivePowerConfigT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void EdgeTpuInactivePowerConfig::UnPackTo(EdgeTpuInactivePowerConfigT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3634,19 +3660,41 @@ inline bool operator!=(const EdgeTpuSettingsT &lhs, const EdgeTpuSettingsT &rhs) + } + + ++inline EdgeTpuSettingsT::EdgeTpuSettingsT(const EdgeTpuSettingsT &o) ++ : inference_power_state(o.inference_power_state), ++ inference_priority(o.inference_priority), ++ edgetpu_device_spec((o.edgetpu_device_spec) ? new tflite::EdgeTpuDeviceSpecT(*o.edgetpu_device_spec) : nullptr), ++ model_token(o.model_token), ++ float_truncation_type(o.float_truncation_type), ++ qos_class(o.qos_class) { ++ inactive_power_configs.reserve(o.inactive_power_configs.size()); ++ for (const auto &v : o.inactive_power_configs) { inactive_power_configs.emplace_back((v) ? new tflite::EdgeTpuInactivePowerConfigT(*v) : nullptr); } ++} ++ ++inline EdgeTpuSettingsT &EdgeTpuSettingsT::operator=(EdgeTpuSettingsT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(inference_power_state, o.inference_power_state); ++ std::swap(inactive_power_configs, o.inactive_power_configs); ++ std::swap(inference_priority, o.inference_priority); ++ std::swap(edgetpu_device_spec, o.edgetpu_device_spec); ++ std::swap(model_token, o.model_token); ++ std::swap(float_truncation_type, o.float_truncation_type); ++ std::swap(qos_class, o.qos_class); ++ return *this; ++} ++ + inline EdgeTpuSettingsT *EdgeTpuSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new EdgeTpuSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new EdgeTpuSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void EdgeTpuSettings::UnPackTo(EdgeTpuSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = inference_power_state(); _o->inference_power_state = _e; } +- { auto _e = inactive_power_configs(); if (_e) { _o->inactive_power_configs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inactive_power_configs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = inactive_power_configs(); if (_e) { _o->inactive_power_configs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inactive_power_configs[_i]) { _e->Get(_i)->UnPackTo(_o->inactive_power_configs[_i].get(), _resolver); } else { _o->inactive_power_configs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = inference_priority(); _o->inference_priority = _e; } +- { auto _e = edgetpu_device_spec(); if (_e) _o->edgetpu_device_spec = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = edgetpu_device_spec(); if (_e) { if(_o->edgetpu_device_spec) { _e->UnPackTo(_o->edgetpu_device_spec.get(), _resolver); } else { _o->edgetpu_device_spec = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = model_token(); if (_e) _o->model_token = _e->str(); } + { auto _e = float_truncation_type(); _o->float_truncation_type = _e; } + { auto _e = qos_class(); _o->qos_class = _e; } +@@ -3693,9 +3741,9 @@ inline bool operator!=(const CoralSettingsT &lhs, const CoralSettingsT &rhs) { + + + inline CoralSettingsT *CoralSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CoralSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CoralSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CoralSettings::UnPackTo(CoralSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3739,9 +3787,9 @@ inline bool operator!=(const CPUSettingsT &lhs, const CPUSettingsT &rhs) { + + + inline CPUSettingsT *CPUSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CPUSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CPUSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CPUSettings::UnPackTo(CPUSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3785,26 +3833,55 @@ inline bool operator!=(const TFLiteSettingsT &lhs, const TFLiteSettingsT &rhs) { + } + + ++inline TFLiteSettingsT::TFLiteSettingsT(const TFLiteSettingsT &o) ++ : delegate(o.delegate), ++ nnapi_settings((o.nnapi_settings) ? new tflite::NNAPISettingsT(*o.nnapi_settings) : nullptr), ++ gpu_settings((o.gpu_settings) ? new tflite::GPUSettingsT(*o.gpu_settings) : nullptr), ++ hexagon_settings((o.hexagon_settings) ? new tflite::HexagonSettingsT(*o.hexagon_settings) : nullptr), ++ xnnpack_settings((o.xnnpack_settings) ? new tflite::XNNPackSettingsT(*o.xnnpack_settings) : nullptr), ++ coreml_settings((o.coreml_settings) ? new tflite::CoreMLSettingsT(*o.coreml_settings) : nullptr), ++ cpu_settings((o.cpu_settings) ? new tflite::CPUSettingsT(*o.cpu_settings) : nullptr), ++ max_delegated_partitions(o.max_delegated_partitions), ++ edgetpu_settings((o.edgetpu_settings) ? new tflite::EdgeTpuSettingsT(*o.edgetpu_settings) : nullptr), ++ coral_settings((o.coral_settings) ? new tflite::CoralSettingsT(*o.coral_settings) : nullptr), ++ fallback_settings((o.fallback_settings) ? new tflite::FallbackSettingsT(*o.fallback_settings) : nullptr) { ++} ++ ++inline TFLiteSettingsT &TFLiteSettingsT::operator=(TFLiteSettingsT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(delegate, o.delegate); ++ std::swap(nnapi_settings, o.nnapi_settings); ++ std::swap(gpu_settings, o.gpu_settings); ++ std::swap(hexagon_settings, o.hexagon_settings); ++ std::swap(xnnpack_settings, o.xnnpack_settings); ++ std::swap(coreml_settings, o.coreml_settings); ++ std::swap(cpu_settings, o.cpu_settings); ++ std::swap(max_delegated_partitions, o.max_delegated_partitions); ++ std::swap(edgetpu_settings, o.edgetpu_settings); ++ std::swap(coral_settings, o.coral_settings); ++ std::swap(fallback_settings, o.fallback_settings); ++ return *this; ++} ++ + inline TFLiteSettingsT *TFLiteSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TFLiteSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TFLiteSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TFLiteSettings::UnPackTo(TFLiteSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = delegate(); _o->delegate = _e; } +- { auto _e = nnapi_settings(); if (_e) _o->nnapi_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = gpu_settings(); if (_e) _o->gpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = hexagon_settings(); if (_e) _o->hexagon_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = xnnpack_settings(); if (_e) _o->xnnpack_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = coreml_settings(); if (_e) _o->coreml_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = cpu_settings(); if (_e) _o->cpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = nnapi_settings(); if (_e) { if(_o->nnapi_settings) { _e->UnPackTo(_o->nnapi_settings.get(), _resolver); } else { _o->nnapi_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = gpu_settings(); if (_e) { if(_o->gpu_settings) { _e->UnPackTo(_o->gpu_settings.get(), _resolver); } else { _o->gpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = hexagon_settings(); if (_e) { if(_o->hexagon_settings) { _e->UnPackTo(_o->hexagon_settings.get(), _resolver); } else { _o->hexagon_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = xnnpack_settings(); if (_e) { if(_o->xnnpack_settings) { _e->UnPackTo(_o->xnnpack_settings.get(), _resolver); } else { _o->xnnpack_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = coreml_settings(); if (_e) { if(_o->coreml_settings) { _e->UnPackTo(_o->coreml_settings.get(), _resolver); } else { _o->coreml_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = cpu_settings(); if (_e) { if(_o->cpu_settings) { _e->UnPackTo(_o->cpu_settings.get(), _resolver); } else { _o->cpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = max_delegated_partitions(); _o->max_delegated_partitions = _e; } +- { auto _e = edgetpu_settings(); if (_e) _o->edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = coral_settings(); if (_e) _o->coral_settings = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = fallback_settings(); if (_e) _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = edgetpu_settings(); if (_e) { if(_o->edgetpu_settings) { _e->UnPackTo(_o->edgetpu_settings.get(), _resolver); } else { _o->edgetpu_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = coral_settings(); if (_e) { if(_o->coral_settings) { _e->UnPackTo(_o->coral_settings.get(), _resolver); } else { _o->coral_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = fallback_settings(); if (_e) { if(_o->fallback_settings) { _e->UnPackTo(_o->fallback_settings.get(), _resolver); } else { _o->fallback_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline flatbuffers::Offset TFLiteSettings::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TFLiteSettingsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -3854,9 +3931,9 @@ inline bool operator!=(const FallbackSettingsT &lhs, const FallbackSettingsT &rh + + + inline FallbackSettingsT *FallbackSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FallbackSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FallbackSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FallbackSettings::UnPackTo(FallbackSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3895,9 +3972,9 @@ inline bool operator!=(const BenchmarkMetricT &lhs, const BenchmarkMetricT &rhs) + + + inline BenchmarkMetricT *BenchmarkMetric::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkMetricT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkMetricT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkMetric::UnPackTo(BenchmarkMetricT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3938,10 +4015,28 @@ inline bool operator!=(const BenchmarkResultT &lhs, const BenchmarkResultT &rhs) + } + + ++inline BenchmarkResultT::BenchmarkResultT(const BenchmarkResultT &o) ++ : initialization_time_us(o.initialization_time_us), ++ inference_time_us(o.inference_time_us), ++ max_memory_kb(o.max_memory_kb), ++ ok(o.ok) { ++ metrics.reserve(o.metrics.size()); ++ for (const auto &v : o.metrics) { metrics.emplace_back((v) ? new tflite::BenchmarkMetricT(*v) : nullptr); } ++} ++ ++inline BenchmarkResultT &BenchmarkResultT::operator=(BenchmarkResultT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(initialization_time_us, o.initialization_time_us); ++ std::swap(inference_time_us, o.inference_time_us); ++ std::swap(max_memory_kb, o.max_memory_kb); ++ std::swap(ok, o.ok); ++ std::swap(metrics, o.metrics); ++ return *this; ++} ++ + inline BenchmarkResultT *BenchmarkResult::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkResultT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkResultT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkResult::UnPackTo(BenchmarkResultT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -3951,7 +4046,7 @@ inline void BenchmarkResult::UnPackTo(BenchmarkResultT *_o, const flatbuffers::r + { auto _e = inference_time_us(); if (_e) { _o->inference_time_us.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inference_time_us[_i] = _e->Get(_i); } } } + { auto _e = max_memory_kb(); _o->max_memory_kb = _e; } + { auto _e = ok(); _o->ok = _e; } +- { auto _e = metrics(); if (_e) { _o->metrics.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metrics[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = metrics(); if (_e) { _o->metrics.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metrics[_i]) { _e->Get(_i)->UnPackTo(_o->metrics[_i].get(), _resolver); } else { _o->metrics[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline flatbuffers::Offset BenchmarkResult::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BenchmarkResultT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -3990,9 +4085,9 @@ inline bool operator!=(const ErrorCodeT &lhs, const ErrorCodeT &rhs) { + + + inline ErrorCodeT *ErrorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ErrorCodeT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ErrorCodeT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ErrorCode::UnPackTo(ErrorCodeT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -4036,10 +4131,28 @@ inline bool operator!=(const BenchmarkErrorT &lhs, const BenchmarkErrorT &rhs) { + } + + ++inline BenchmarkErrorT::BenchmarkErrorT(const BenchmarkErrorT &o) ++ : stage(o.stage), ++ exit_code(o.exit_code), ++ signal(o.signal), ++ mini_benchmark_error_code(o.mini_benchmark_error_code) { ++ error_code.reserve(o.error_code.size()); ++ for (const auto &v : o.error_code) { error_code.emplace_back((v) ? new tflite::ErrorCodeT(*v) : nullptr); } ++} ++ ++inline BenchmarkErrorT &BenchmarkErrorT::operator=(BenchmarkErrorT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(stage, o.stage); ++ std::swap(exit_code, o.exit_code); ++ std::swap(signal, o.signal); ++ std::swap(error_code, o.error_code); ++ std::swap(mini_benchmark_error_code, o.mini_benchmark_error_code); ++ return *this; ++} ++ + inline BenchmarkErrorT *BenchmarkError::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkErrorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkErrorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkError::UnPackTo(BenchmarkErrorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -4048,7 +4161,7 @@ inline void BenchmarkError::UnPackTo(BenchmarkErrorT *_o, const flatbuffers::res + { auto _e = stage(); _o->stage = _e; } + { auto _e = exit_code(); _o->exit_code = _e; } + { auto _e = signal(); _o->signal = _e; } +- { auto _e = error_code(); if (_e) { _o->error_code.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->error_code[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = error_code(); if (_e) { _o->error_code.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->error_code[_i]) { _e->Get(_i)->UnPackTo(_o->error_code[_i].get(), _resolver); } else { _o->error_code[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = mini_benchmark_error_code(); _o->mini_benchmark_error_code = _e; } + } + +@@ -4090,19 +4203,38 @@ inline bool operator!=(const BenchmarkEventT &lhs, const BenchmarkEventT &rhs) { + } + + ++inline BenchmarkEventT::BenchmarkEventT(const BenchmarkEventT &o) ++ : tflite_settings((o.tflite_settings) ? new tflite::TFLiteSettingsT(*o.tflite_settings) : nullptr), ++ event_type(o.event_type), ++ result((o.result) ? new tflite::BenchmarkResultT(*o.result) : nullptr), ++ error((o.error) ? new tflite::BenchmarkErrorT(*o.error) : nullptr), ++ boottime_us(o.boottime_us), ++ wallclock_us(o.wallclock_us) { ++} ++ ++inline BenchmarkEventT &BenchmarkEventT::operator=(BenchmarkEventT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(tflite_settings, o.tflite_settings); ++ std::swap(event_type, o.event_type); ++ std::swap(result, o.result); ++ std::swap(error, o.error); ++ std::swap(boottime_us, o.boottime_us); ++ std::swap(wallclock_us, o.wallclock_us); ++ return *this; ++} ++ + inline BenchmarkEventT *BenchmarkEvent::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkEventT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkEventT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkEvent::UnPackTo(BenchmarkEventT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = tflite_settings(); if (_e) _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = tflite_settings(); if (_e) { if(_o->tflite_settings) { _e->UnPackTo(_o->tflite_settings.get(), _resolver); } else { _o->tflite_settings = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = event_type(); _o->event_type = _e; } +- { auto _e = result(); if (_e) _o->result = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = error(); if (_e) _o->error = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = result(); if (_e) { if(_o->result) { _e->UnPackTo(_o->result.get(), _resolver); } else { _o->result = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = error(); if (_e) { if(_o->error) { _e->UnPackTo(_o->error.get(), _resolver); } else { _o->error = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = boottime_us(); _o->boottime_us = _e; } + { auto _e = wallclock_us(); _o->wallclock_us = _e; } + } +@@ -4144,17 +4276,30 @@ inline bool operator!=(const BestAccelerationDecisionT &lhs, const BestAccelerat + } + + ++inline BestAccelerationDecisionT::BestAccelerationDecisionT(const BestAccelerationDecisionT &o) ++ : number_of_source_events(o.number_of_source_events), ++ min_latency_event((o.min_latency_event) ? new tflite::BenchmarkEventT(*o.min_latency_event) : nullptr), ++ min_inference_time_us(o.min_inference_time_us) { ++} ++ ++inline BestAccelerationDecisionT &BestAccelerationDecisionT::operator=(BestAccelerationDecisionT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(number_of_source_events, o.number_of_source_events); ++ std::swap(min_latency_event, o.min_latency_event); ++ std::swap(min_inference_time_us, o.min_inference_time_us); ++ return *this; ++} ++ + inline BestAccelerationDecisionT *BestAccelerationDecision::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BestAccelerationDecisionT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BestAccelerationDecisionT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BestAccelerationDecision::UnPackTo(BestAccelerationDecisionT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = number_of_source_events(); _o->number_of_source_events = _e; } +- { auto _e = min_latency_event(); if (_e) _o->min_latency_event = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = min_latency_event(); if (_e) { if(_o->min_latency_event) { _e->UnPackTo(_o->min_latency_event.get(), _resolver); } else { _o->min_latency_event = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = min_inference_time_us(); _o->min_inference_time_us = _e; } + } + +@@ -4188,9 +4333,9 @@ inline bool operator!=(const BenchmarkInitializationFailureT &lhs, const Benchma + + + inline BenchmarkInitializationFailureT *BenchmarkInitializationFailure::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkInitializationFailureT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkInitializationFailureT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkInitializationFailure::UnPackTo(BenchmarkInitializationFailureT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -4227,19 +4372,34 @@ inline bool operator!=(const MiniBenchmarkEventT &lhs, const MiniBenchmarkEventT + } + + ++inline MiniBenchmarkEventT::MiniBenchmarkEventT(const MiniBenchmarkEventT &o) ++ : is_log_flushing_event(o.is_log_flushing_event), ++ best_acceleration_decision((o.best_acceleration_decision) ? new tflite::BestAccelerationDecisionT(*o.best_acceleration_decision) : nullptr), ++ initialization_failure((o.initialization_failure) ? new tflite::BenchmarkInitializationFailureT(*o.initialization_failure) : nullptr), ++ benchmark_event((o.benchmark_event) ? new tflite::BenchmarkEventT(*o.benchmark_event) : nullptr) { ++} ++ ++inline MiniBenchmarkEventT &MiniBenchmarkEventT::operator=(MiniBenchmarkEventT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(is_log_flushing_event, o.is_log_flushing_event); ++ std::swap(best_acceleration_decision, o.best_acceleration_decision); ++ std::swap(initialization_failure, o.initialization_failure); ++ std::swap(benchmark_event, o.benchmark_event); ++ return *this; ++} ++ + inline MiniBenchmarkEventT *MiniBenchmarkEvent::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MiniBenchmarkEventT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MiniBenchmarkEventT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MiniBenchmarkEvent::UnPackTo(MiniBenchmarkEventT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = is_log_flushing_event(); _o->is_log_flushing_event = _e; } +- { auto _e = best_acceleration_decision(); if (_e) _o->best_acceleration_decision = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = initialization_failure(); if (_e) _o->initialization_failure = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = benchmark_event(); if (_e) _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = best_acceleration_decision(); if (_e) { if(_o->best_acceleration_decision) { _e->UnPackTo(_o->best_acceleration_decision.get(), _resolver); } else { _o->best_acceleration_decision = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = initialization_failure(); if (_e) { if(_o->initialization_failure) { _e->UnPackTo(_o->initialization_failure.get(), _resolver); } else { _o->initialization_failure = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = benchmark_event(); if (_e) { if(_o->benchmark_event) { _e->UnPackTo(_o->benchmark_event.get(), _resolver); } else { _o->benchmark_event = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline flatbuffers::Offset MiniBenchmarkEvent::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MiniBenchmarkEventT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -4277,9 +4437,9 @@ inline bool operator!=(const ModelFileT &lhs, const ModelFileT &rhs) { + + + inline ModelFileT *ModelFile::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ModelFileT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ModelFileT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ModelFile::UnPackTo(ModelFileT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -4324,9 +4484,9 @@ inline bool operator!=(const BenchmarkStoragePathsT &lhs, const BenchmarkStorage + + + inline BenchmarkStoragePathsT *BenchmarkStoragePaths::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BenchmarkStoragePathsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BenchmarkStoragePathsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BenchmarkStoragePaths::UnPackTo(BenchmarkStoragePathsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -4365,18 +4525,32 @@ inline bool operator!=(const MinibenchmarkSettingsT &lhs, const MinibenchmarkSet + } + + ++inline MinibenchmarkSettingsT::MinibenchmarkSettingsT(const MinibenchmarkSettingsT &o) ++ : model_file((o.model_file) ? new tflite::ModelFileT(*o.model_file) : nullptr), ++ storage_paths((o.storage_paths) ? new tflite::BenchmarkStoragePathsT(*o.storage_paths) : nullptr) { ++ settings_to_test.reserve(o.settings_to_test.size()); ++ for (const auto &v : o.settings_to_test) { settings_to_test.emplace_back((v) ? new tflite::TFLiteSettingsT(*v) : nullptr); } ++} ++ ++inline MinibenchmarkSettingsT &MinibenchmarkSettingsT::operator=(MinibenchmarkSettingsT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(settings_to_test, o.settings_to_test); ++ std::swap(model_file, o.model_file); ++ std::swap(storage_paths, o.storage_paths); ++ return *this; ++} ++ + inline MinibenchmarkSettingsT *MinibenchmarkSettings::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MinibenchmarkSettingsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MinibenchmarkSettingsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MinibenchmarkSettings::UnPackTo(MinibenchmarkSettingsT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = settings_to_test(); if (_e) { _o->settings_to_test.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->settings_to_test[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +- { auto _e = model_file(); if (_e) _o->model_file = std::unique_ptr(_e->UnPack(_resolver)); } +- { auto _e = storage_paths(); if (_e) _o->storage_paths = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = settings_to_test(); if (_e) { _o->settings_to_test.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->settings_to_test[_i]) { _e->Get(_i)->UnPackTo(_o->settings_to_test[_i].get(), _resolver); } else { _o->settings_to_test[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = model_file(); if (_e) { if(_o->model_file) { _e->UnPackTo(_o->model_file.get(), _resolver); } else { _o->model_file = std::unique_ptr(_e->UnPack(_resolver)); } } } ++ { auto _e = storage_paths(); if (_e) { if(_o->storage_paths) { _e->UnPackTo(_o->storage_paths.get(), _resolver); } else { _o->storage_paths = std::unique_ptr(_e->UnPack(_resolver)); } } } + } + + inline flatbuffers::Offset MinibenchmarkSettings::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MinibenchmarkSettingsT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -4399,4 +4573,4 @@ inline flatbuffers::Offset CreateMinibenchmarkSettings(fl + + } // namespace tflite + +-#endif // FLATBUFFERS_GENERATED_CONFIGURATIONFORGENERATION_TFLITE_H_ ++#endif // FLATBUFFERS_GENERATED_CONFIGURATION_TFLITE_H_ +diff --git a/tensorflow/lite/schema/schema_generated.h b/tensorflow/lite/schema/schema_generated.h +index 0de55f064ef..886eddaeaac 100755 +--- a/tensorflow/lite/schema/schema_generated.h ++++ b/tensorflow/lite/schema/schema_generated.h +@@ -4023,10 +4023,10 @@ struct QuantizationParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + verifier.VerifyVector(scale()) && + VerifyOffset(verifier, VT_ZERO_POINT) && + verifier.VerifyVector(zero_point()) && +- VerifyField(verifier, VT_DETAILS_TYPE) && ++ VerifyField(verifier, VT_DETAILS_TYPE, 1) && + VerifyOffset(verifier, VT_DETAILS) && + VerifyQuantizationDetails(verifier, details(), details_type()) && +- VerifyField(verifier, VT_QUANTIZED_DIMENSION) && ++ VerifyField(verifier, VT_QUANTIZED_DIMENSION, 4) && + verifier.EndTable(); + } + QuantizationParametersT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -4367,12 +4367,12 @@ struct DimensionMetadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FORMAT) && +- VerifyField(verifier, VT_DENSE_SIZE) && +- VerifyField(verifier, VT_ARRAY_SEGMENTS_TYPE) && ++ VerifyField(verifier, VT_FORMAT, 1) && ++ VerifyField(verifier, VT_DENSE_SIZE, 4) && ++ VerifyField(verifier, VT_ARRAY_SEGMENTS_TYPE, 1) && + VerifyOffset(verifier, VT_ARRAY_SEGMENTS) && + VerifySparseIndexVector(verifier, array_segments(), array_segments_type()) && +- VerifyField(verifier, VT_ARRAY_INDICES_TYPE) && ++ VerifyField(verifier, VT_ARRAY_INDICES_TYPE, 1) && + VerifyOffset(verifier, VT_ARRAY_INDICES) && + VerifySparseIndexVector(verifier, array_indices(), array_indices_type()) && + verifier.EndTable(); +@@ -4464,6 +4464,10 @@ struct SparsityParametersT : public flatbuffers::NativeTable { + std::vector traversal_order{}; + std::vector block_map{}; + std::vector> dim_metadata{}; ++ SparsityParametersT() = default; ++ SparsityParametersT(const SparsityParametersT &o); ++ SparsityParametersT(SparsityParametersT&&) FLATBUFFERS_NOEXCEPT = default; ++ SparsityParametersT &operator=(SparsityParametersT o) FLATBUFFERS_NOEXCEPT; + }; + + struct SparsityParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -4562,6 +4566,10 @@ struct TensorT : public flatbuffers::NativeTable { + bool is_variable = false; + std::unique_ptr sparsity{}; + std::vector shape_signature{}; ++ TensorT() = default; ++ TensorT(const TensorT &o); ++ TensorT(TensorT&&) FLATBUFFERS_NOEXCEPT = default; ++ TensorT &operator=(TensorT o) FLATBUFFERS_NOEXCEPT; + }; + + struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -4605,13 +4613,13 @@ struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_SHAPE) && + verifier.VerifyVector(shape()) && +- VerifyField(verifier, VT_TYPE) && +- VerifyField(verifier, VT_BUFFER) && ++ VerifyField(verifier, VT_TYPE, 1) && ++ VerifyField(verifier, VT_BUFFER, 4) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && + VerifyOffset(verifier, VT_QUANTIZATION) && + verifier.VerifyTable(quantization()) && +- VerifyField(verifier, VT_IS_VARIABLE) && ++ VerifyField(verifier, VT_IS_VARIABLE, 1) && + VerifyOffset(verifier, VT_SPARSITY) && + verifier.VerifyTable(sparsity()) && + VerifyOffset(verifier, VT_SHAPE_SIGNATURE) && +@@ -4752,12 +4760,12 @@ struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PADDING) && +- VerifyField(verifier, VT_STRIDE_W) && +- VerifyField(verifier, VT_STRIDE_H) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_DILATION_W_FACTOR) && +- VerifyField(verifier, VT_DILATION_H_FACTOR) && ++ VerifyField(verifier, VT_PADDING, 1) && ++ VerifyField(verifier, VT_STRIDE_W, 4) && ++ VerifyField(verifier, VT_STRIDE_H, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_DILATION_W_FACTOR, 4) && ++ VerifyField(verifier, VT_DILATION_H_FACTOR, 4) && + verifier.EndTable(); + } + Conv2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -4869,14 +4877,14 @@ struct Conv3DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PADDING) && +- VerifyField(verifier, VT_STRIDE_D) && +- VerifyField(verifier, VT_STRIDE_W) && +- VerifyField(verifier, VT_STRIDE_H) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_DILATION_D_FACTOR) && +- VerifyField(verifier, VT_DILATION_W_FACTOR) && +- VerifyField(verifier, VT_DILATION_H_FACTOR) && ++ VerifyField(verifier, VT_PADDING, 1) && ++ VerifyField(verifier, VT_STRIDE_D, 4) && ++ VerifyField(verifier, VT_STRIDE_W, 4) && ++ VerifyField(verifier, VT_STRIDE_H, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_DILATION_D_FACTOR, 4) && ++ VerifyField(verifier, VT_DILATION_W_FACTOR, 4) && ++ VerifyField(verifier, VT_DILATION_H_FACTOR, 4) && + verifier.EndTable(); + } + Conv3DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -4988,12 +4996,12 @@ struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PADDING) && +- VerifyField(verifier, VT_STRIDE_W) && +- VerifyField(verifier, VT_STRIDE_H) && +- VerifyField(verifier, VT_FILTER_WIDTH) && +- VerifyField(verifier, VT_FILTER_HEIGHT) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && ++ VerifyField(verifier, VT_PADDING, 1) && ++ VerifyField(verifier, VT_STRIDE_W, 4) && ++ VerifyField(verifier, VT_STRIDE_H, 4) && ++ VerifyField(verifier, VT_FILTER_WIDTH, 4) && ++ VerifyField(verifier, VT_FILTER_HEIGHT, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && + verifier.EndTable(); + } + Pool2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5100,13 +5108,13 @@ struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PADDING) && +- VerifyField(verifier, VT_STRIDE_W) && +- VerifyField(verifier, VT_STRIDE_H) && +- VerifyField(verifier, VT_DEPTH_MULTIPLIER) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_DILATION_W_FACTOR) && +- VerifyField(verifier, VT_DILATION_H_FACTOR) && ++ VerifyField(verifier, VT_PADDING, 1) && ++ VerifyField(verifier, VT_STRIDE_W, 4) && ++ VerifyField(verifier, VT_STRIDE_H, 4) && ++ VerifyField(verifier, VT_DEPTH_MULTIPLIER, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_DILATION_W_FACTOR, 4) && ++ VerifyField(verifier, VT_DILATION_H_FACTOR, 4) && + verifier.EndTable(); + } + DepthwiseConv2DOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5198,7 +5206,7 @@ struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Ta + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM_CHANNELS) && ++ VerifyField(verifier, VT_NUM_CHANNELS, 4) && + VerifyOffset(verifier, VT_NUM_COLUMNS_PER_CHANNEL) && + verifier.VerifyVector(num_columns_per_channel()) && + VerifyOffset(verifier, VT_EMBEDDING_DIM_PER_CHANNEL) && +@@ -5278,7 +5286,7 @@ struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_TYPE) && ++ VerifyField(verifier, VT_TYPE, 1) && + verifier.EndTable(); + } + LSHProjectionOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5340,9 +5348,9 @@ struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_RANK) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_RANK, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + SVDFOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5409,8 +5417,8 @@ struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + RNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5477,9 +5485,9 @@ struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_TIME_MAJOR) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_TIME_MAJOR, 1) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + SequenceRNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5556,10 +5564,10 @@ struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuf + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_TIME_MAJOR) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_MERGE_OUTPUTS) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_TIME_MAJOR, 1) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_MERGE_OUTPUTS, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + BidirectionalSequenceRNNOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5641,10 +5649,10 @@ struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_WEIGHTS_FORMAT) && +- VerifyField(verifier, VT_KEEP_NUM_DIMS) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_WEIGHTS_FORMAT, 1) && ++ VerifyField(verifier, VT_KEEP_NUM_DIMS, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + FullyConnectedOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5711,7 +5719,7 @@ struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_BETA) && ++ VerifyField(verifier, VT_BETA, 4) && + verifier.EndTable(); + } + SoftmaxOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5768,8 +5776,8 @@ struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_AXIS) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && ++ VerifyField(verifier, VT_AXIS, 4) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && + verifier.EndTable(); + } + ConcatenationOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5831,8 +5839,8 @@ struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_POT_SCALE_INT16) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_POT_SCALE_INT16, 1) && + verifier.EndTable(); + } + AddOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5889,7 +5897,7 @@ struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && + verifier.EndTable(); + } + MulOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -5941,7 +5949,7 @@ struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && + verifier.EndTable(); + } + L2NormOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6008,10 +6016,10 @@ struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatb + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_RADIUS) && +- VerifyField(verifier, VT_BIAS) && +- VerifyField(verifier, VT_ALPHA) && +- VerifyField(verifier, VT_BETA) && ++ VerifyField(verifier, VT_RADIUS, 4) && ++ VerifyField(verifier, VT_BIAS, 4) && ++ VerifyField(verifier, VT_ALPHA, 4) && ++ VerifyField(verifier, VT_BETA, 4) && + verifier.EndTable(); + } + LocalResponseNormalizationOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6098,11 +6106,11 @@ struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_CELL_CLIP) && +- VerifyField(verifier, VT_PROJ_CLIP) && +- VerifyField(verifier, VT_KERNEL_TYPE) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_CELL_CLIP, 4) && ++ VerifyField(verifier, VT_PROJ_CLIP, 4) && ++ VerifyField(verifier, VT_KERNEL_TYPE, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + LSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6194,11 +6202,11 @@ struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatb + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_CELL_CLIP) && +- VerifyField(verifier, VT_PROJ_CLIP) && +- VerifyField(verifier, VT_TIME_MAJOR) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_CELL_CLIP, 4) && ++ VerifyField(verifier, VT_PROJ_CLIP, 4) && ++ VerifyField(verifier, VT_TIME_MAJOR, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + UnidirectionalSequenceLSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6295,12 +6303,12 @@ struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbu + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_CELL_CLIP) && +- VerifyField(verifier, VT_PROJ_CLIP) && +- VerifyField(verifier, VT_MERGE_OUTPUTS) && +- VerifyField(verifier, VT_TIME_MAJOR) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_CELL_CLIP, 4) && ++ VerifyField(verifier, VT_PROJ_CLIP, 4) && ++ VerifyField(verifier, VT_MERGE_OUTPUTS, 1) && ++ VerifyField(verifier, VT_TIME_MAJOR, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + BidirectionalSequenceLSTMOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6382,8 +6390,8 @@ struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ALIGN_CORNERS) && +- VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && ++ VerifyField(verifier, VT_ALIGN_CORNERS, 1) && ++ VerifyField(verifier, VT_HALF_PIXEL_CENTERS, 1) && + verifier.EndTable(); + } + ResizeBilinearOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6445,8 +6453,8 @@ struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffer + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ALIGN_CORNERS) && +- VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && ++ VerifyField(verifier, VT_ALIGN_CORNERS, 1) && ++ VerifyField(verifier, VT_HALF_PIXEL_CENTERS, 1) && + verifier.EndTable(); + } + ResizeNearestNeighborOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6503,7 +6511,7 @@ struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_SUBGRAPH) && ++ VerifyField(verifier, VT_SUBGRAPH, 4) && + verifier.EndTable(); + } + CallOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6783,9 +6791,9 @@ struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NGRAM_SIZE) && +- VerifyField(verifier, VT_MAX_SKIP_SIZE) && +- VerifyField(verifier, VT_INCLUDE_ALL_NGRAMS) && ++ VerifyField(verifier, VT_NGRAM_SIZE, 4) && ++ VerifyField(verifier, VT_MAX_SKIP_SIZE, 4) && ++ VerifyField(verifier, VT_INCLUDE_ALL_NGRAMS, 1) && + verifier.EndTable(); + } + SkipGramOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6847,7 +6855,7 @@ struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_BLOCK_SIZE) && ++ VerifyField(verifier, VT_BLOCK_SIZE, 4) && + verifier.EndTable(); + } + SpaceToDepthOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6899,7 +6907,7 @@ struct DepthToSpaceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_BLOCK_SIZE) && ++ VerifyField(verifier, VT_BLOCK_SIZE, 4) && + verifier.EndTable(); + } + DepthToSpaceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -6956,8 +6964,8 @@ struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && +- VerifyField(verifier, VT_POT_SCALE_INT16) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && ++ VerifyField(verifier, VT_POT_SCALE_INT16, 1) && + verifier.EndTable(); + } + SubOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7014,7 +7022,7 @@ struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && ++ VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION, 1) && + verifier.EndTable(); + } + DivOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7105,7 +7113,7 @@ struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffer + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_COMBINER) && ++ VerifyField(verifier, VT_COMBINER, 1) && + verifier.EndTable(); + } + EmbeddingLookupSparseOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7162,8 +7170,8 @@ struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_AXIS) && +- VerifyField(verifier, VT_BATCH_DIMS) && ++ VerifyField(verifier, VT_AXIS, 4) && ++ VerifyField(verifier, VT_BATCH_DIMS, 4) && + verifier.EndTable(); + } + GatherOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7337,7 +7345,7 @@ struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_KEEP_DIMS) && ++ VerifyField(verifier, VT_KEEP_DIMS, 1) && + verifier.EndTable(); + } + ReducerOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7451,7 +7459,7 @@ struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM_SPLITS) && ++ VerifyField(verifier, VT_NUM_SPLITS, 4) && + verifier.EndTable(); + } + SplitOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7503,7 +7511,7 @@ struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM_SPLITS) && ++ VerifyField(verifier, VT_NUM_SPLITS, 4) && + verifier.EndTable(); + } + SplitVOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7575,11 +7583,11 @@ struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_BEGIN_MASK) && +- VerifyField(verifier, VT_END_MASK) && +- VerifyField(verifier, VT_ELLIPSIS_MASK) && +- VerifyField(verifier, VT_NEW_AXIS_MASK) && +- VerifyField(verifier, VT_SHRINK_AXIS_MASK) && ++ VerifyField(verifier, VT_BEGIN_MASK, 4) && ++ VerifyField(verifier, VT_END_MASK, 4) && ++ VerifyField(verifier, VT_ELLIPSIS_MASK, 4) && ++ VerifyField(verifier, VT_NEW_AXIS_MASK, 4) && ++ VerifyField(verifier, VT_SHRINK_AXIS_MASK, 4) && + verifier.EndTable(); + } + StridedSliceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7695,8 +7703,8 @@ struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_IN_DATA_TYPE) && +- VerifyField(verifier, VT_OUT_DATA_TYPE) && ++ VerifyField(verifier, VT_IN_DATA_TYPE, 1) && ++ VerifyField(verifier, VT_OUT_DATA_TYPE, 1) && + verifier.EndTable(); + } + CastOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7870,7 +7878,7 @@ struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_OUTPUT_TYPE) && ++ VerifyField(verifier, VT_OUTPUT_TYPE, 1) && + verifier.EndTable(); + } + ArgMaxOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -7922,7 +7930,7 @@ struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_OUTPUT_TYPE) && ++ VerifyField(verifier, VT_OUTPUT_TYPE, 1) && + verifier.EndTable(); + } + ArgMinOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8257,9 +8265,9 @@ struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_PADDING) && +- VerifyField(verifier, VT_STRIDE_W) && +- VerifyField(verifier, VT_STRIDE_H) && ++ VerifyField(verifier, VT_PADDING, 1) && ++ VerifyField(verifier, VT_STRIDE_W, 4) && ++ VerifyField(verifier, VT_STRIDE_H, 4) && + verifier.EndTable(); + } + TransposeConvOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8360,7 +8368,7 @@ struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_VALIDATE_INDICES) && ++ VerifyField(verifier, VT_VALIDATE_INDICES, 1) && + verifier.EndTable(); + } + SparseToDenseOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8490,7 +8498,7 @@ struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_OUT_TYPE) && ++ VerifyField(verifier, VT_OUT_TYPE, 1) && + verifier.EndTable(); + } + ShapeOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8635,10 +8643,10 @@ struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_MIN) && +- VerifyField(verifier, VT_MAX) && +- VerifyField(verifier, VT_NUM_BITS) && +- VerifyField(verifier, VT_NARROW_RANGE) && ++ VerifyField(verifier, VT_MIN, 4) && ++ VerifyField(verifier, VT_MAX, 4) && ++ VerifyField(verifier, VT_NUM_BITS, 4) && ++ VerifyField(verifier, VT_NARROW_RANGE, 1) && + verifier.EndTable(); + } + FakeQuantOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8710,8 +8718,8 @@ struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_VALUES_COUNT) && +- VerifyField(verifier, VT_AXIS) && ++ VerifyField(verifier, VT_VALUES_COUNT, 4) && ++ VerifyField(verifier, VT_AXIS, 4) && + verifier.EndTable(); + } + PackOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -8807,7 +8815,7 @@ struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_AXIS) && ++ VerifyField(verifier, VT_AXIS, 4) && + verifier.EndTable(); + } + OneHotOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9020,8 +9028,8 @@ struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_NUM) && +- VerifyField(verifier, VT_AXIS) && ++ VerifyField(verifier, VT_NUM, 4) && ++ VerifyField(verifier, VT_AXIS, 4) && + verifier.EndTable(); + } + UnpackOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9312,7 +9320,7 @@ struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ALPHA) && ++ VerifyField(verifier, VT_ALPHA, 4) && + verifier.EndTable(); + } + LeakyReluOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9403,7 +9411,7 @@ struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_MODE) && ++ VerifyField(verifier, VT_MODE, 1) && + verifier.EndTable(); + } + MirrorPadOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9455,7 +9463,7 @@ struct UniqueOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_IDX_OUT_TYPE) && ++ VerifyField(verifier, VT_IDX_OUT_TYPE, 1) && + verifier.EndTable(); + } + UniqueOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9668,8 +9676,8 @@ struct ReverseSequenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_SEQ_DIM) && +- VerifyField(verifier, VT_BATCH_DIM) && ++ VerifyField(verifier, VT_SEQ_DIM, 4) && ++ VerifyField(verifier, VT_BATCH_DIM, 4) && + verifier.EndTable(); + } + ReverseSequenceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9848,8 +9856,8 @@ struct IfOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_THEN_SUBGRAPH_INDEX) && +- VerifyField(verifier, VT_ELSE_SUBGRAPH_INDEX) && ++ VerifyField(verifier, VT_THEN_SUBGRAPH_INDEX, 4) && ++ VerifyField(verifier, VT_ELSE_SUBGRAPH_INDEX, 4) && + verifier.EndTable(); + } + IfOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9906,7 +9914,7 @@ struct CallOnceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_INIT_SUBGRAPH_INDEX) && ++ VerifyField(verifier, VT_INIT_SUBGRAPH_INDEX, 4) && + verifier.EndTable(); + } + CallOnceOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -9963,8 +9971,8 @@ struct WhileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_COND_SUBGRAPH_INDEX) && +- VerifyField(verifier, VT_BODY_SUBGRAPH_INDEX) && ++ VerifyField(verifier, VT_COND_SUBGRAPH_INDEX, 4) && ++ VerifyField(verifier, VT_BODY_SUBGRAPH_INDEX, 4) && + verifier.EndTable(); + } + WhileOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -10265,9 +10273,9 @@ struct BatchMatMulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_ADJ_X) && +- VerifyField(verifier, VT_ADJ_Y) && +- VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && ++ VerifyField(verifier, VT_ADJ_X, 1) && ++ VerifyField(verifier, VT_ADJ_Y, 1) && ++ VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS, 1) && + verifier.EndTable(); + } + BatchMatMulOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -10334,8 +10342,8 @@ struct CumsumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_EXCLUSIVE) && +- VerifyField(verifier, VT_REVERSE) && ++ VerifyField(verifier, VT_EXCLUSIVE, 1) && ++ VerifyField(verifier, VT_REVERSE, 1) && + verifier.EndTable(); + } + CumsumOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -10480,9 +10488,9 @@ struct HashtableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_TABLE_ID) && +- VerifyField(verifier, VT_KEY_DTYPE) && +- VerifyField(verifier, VT_VALUE_DTYPE) && ++ VerifyField(verifier, VT_TABLE_ID, 4) && ++ VerifyField(verifier, VT_KEY_DTYPE, 1) && ++ VerifyField(verifier, VT_VALUE_DTYPE, 1) && + verifier.EndTable(); + } + HashtableOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -10821,8 +10829,8 @@ struct RandomOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_SEED) && +- VerifyField(verifier, VT_SEED2) && ++ VerifyField(verifier, VT_SEED, 8) && ++ VerifyField(verifier, VT_SEED2, 8) && + verifier.EndTable(); + } + RandomOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -10941,7 +10949,7 @@ struct GeluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_APPROXIMATE) && ++ VerifyField(verifier, VT_APPROXIMATE, 1) && + verifier.EndTable(); + } + GeluOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -11047,11 +11055,11 @@ struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_DEPRECATED_BUILTIN_CODE) && ++ VerifyField(verifier, VT_DEPRECATED_BUILTIN_CODE, 1) && + VerifyOffset(verifier, VT_CUSTOM_CODE) && + verifier.VerifyString(custom_code()) && +- VerifyField(verifier, VT_VERSION) && +- VerifyField(verifier, VT_BUILTIN_CODE) && ++ VerifyField(verifier, VT_VERSION, 4) && ++ VerifyField(verifier, VT_BUILTIN_CODE, 4) && + verifier.EndTable(); + } + OperatorCodeT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -11524,17 +11532,17 @@ struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_OPCODE_INDEX) && ++ VerifyField(verifier, VT_OPCODE_INDEX, 4) && + VerifyOffset(verifier, VT_INPUTS) && + verifier.VerifyVector(inputs()) && + VerifyOffset(verifier, VT_OUTPUTS) && + verifier.VerifyVector(outputs()) && +- VerifyField(verifier, VT_BUILTIN_OPTIONS_TYPE) && ++ VerifyField(verifier, VT_BUILTIN_OPTIONS_TYPE, 1) && + VerifyOffset(verifier, VT_BUILTIN_OPTIONS) && + VerifyBuiltinOptions(verifier, builtin_options(), builtin_options_type()) && + VerifyOffset(verifier, VT_CUSTOM_OPTIONS) && + verifier.VerifyVector(custom_options()) && +- VerifyField(verifier, VT_CUSTOM_OPTIONS_FORMAT) && ++ VerifyField(verifier, VT_CUSTOM_OPTIONS_FORMAT, 1) && + VerifyOffset(verifier, VT_MUTATING_VARIABLE_INPUTS) && + verifier.VerifyVector(mutating_variable_inputs()) && + VerifyOffset(verifier, VT_INTERMEDIATES) && +@@ -12118,6 +12126,10 @@ struct SubGraphT : public flatbuffers::NativeTable { + std::vector outputs{}; + std::vector> operators{}; + std::string name{}; ++ SubGraphT() = default; ++ SubGraphT(const SubGraphT &o); ++ SubGraphT(SubGraphT&&) FLATBUFFERS_NOEXCEPT = default; ++ SubGraphT &operator=(SubGraphT o) FLATBUFFERS_NOEXCEPT; + }; + + struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -12321,7 +12333,7 @@ struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && +- VerifyField(verifier, VT_BUFFER) && ++ VerifyField(verifier, VT_BUFFER, 4) && + verifier.EndTable(); + } + MetadataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -12396,7 +12408,7 @@ struct TensorMap FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + return VerifyTableStart(verifier) && + VerifyOffset(verifier, VT_NAME) && + verifier.VerifyString(name()) && +- VerifyField(verifier, VT_TENSOR_INDEX) && ++ VerifyField(verifier, VT_TENSOR_INDEX, 4) && + verifier.EndTable(); + } + TensorMapT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -12454,6 +12466,10 @@ struct SignatureDefT : public flatbuffers::NativeTable { + std::vector> outputs{}; + std::string signature_key{}; + uint32_t subgraph_index = 0; ++ SignatureDefT() = default; ++ SignatureDefT(const SignatureDefT &o); ++ SignatureDefT(SignatureDefT&&) FLATBUFFERS_NOEXCEPT = default; ++ SignatureDefT &operator=(SignatureDefT o) FLATBUFFERS_NOEXCEPT; + }; + + struct SignatureDef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -12487,7 +12503,7 @@ struct SignatureDef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + verifier.VerifyVectorOfTables(outputs()) && + VerifyOffset(verifier, VT_SIGNATURE_KEY) && + verifier.VerifyString(signature_key()) && +- VerifyField(verifier, VT_SUBGRAPH_INDEX) && ++ VerifyField(verifier, VT_SUBGRAPH_INDEX, 4) && + verifier.EndTable(); + } + SignatureDefT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; +@@ -12565,6 +12581,10 @@ struct ModelT : public flatbuffers::NativeTable { + std::vector metadata_buffer{}; + std::vector> metadata{}; + std::vector> signature_defs{}; ++ ModelT() = default; ++ ModelT(const ModelT &o); ++ ModelT(ModelT&&) FLATBUFFERS_NOEXCEPT = default; ++ ModelT &operator=(ModelT o) FLATBUFFERS_NOEXCEPT; + }; + + struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { +@@ -12606,7 +12626,7 @@ struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && +- VerifyField(verifier, VT_VERSION) && ++ VerifyField(verifier, VT_VERSION, 4) && + VerifyOffset(verifier, VT_OPERATOR_CODES) && + verifier.VerifyVector(operator_codes()) && + verifier.VerifyVectorOfTables(operator_codes()) && +@@ -12917,6 +12937,20 @@ inline flatbuffers::Offset CreateDimensionMetadata(flatbuffer + _array_indices); + } + ++inline SparsityParametersT::SparsityParametersT(const SparsityParametersT &o) ++ : traversal_order(o.traversal_order), ++ block_map(o.block_map) { ++ dim_metadata.reserve(o.dim_metadata.size()); ++ for (const auto &v : o.dim_metadata) { dim_metadata.emplace_back((v) ? new tflite::DimensionMetadataT(*v) : nullptr); } ++} ++ ++inline SparsityParametersT &SparsityParametersT::operator=(SparsityParametersT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(traversal_order, o.traversal_order); ++ std::swap(block_map, o.block_map); ++ std::swap(dim_metadata, o.dim_metadata); ++ return *this; ++} ++ + inline SparsityParametersT *SparsityParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SparsityParametersT()); + UnPackTo(_o.get(), _resolver); +@@ -12949,6 +12983,29 @@ inline flatbuffers::Offset CreateSparsityParameters(flatbuff + _dim_metadata); + } + ++inline TensorT::TensorT(const TensorT &o) ++ : shape(o.shape), ++ type(o.type), ++ buffer(o.buffer), ++ name(o.name), ++ quantization((o.quantization) ? new tflite::QuantizationParametersT(*o.quantization) : nullptr), ++ is_variable(o.is_variable), ++ sparsity((o.sparsity) ? new tflite::SparsityParametersT(*o.sparsity) : nullptr), ++ shape_signature(o.shape_signature) { ++} ++ ++inline TensorT &TensorT::operator=(TensorT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(shape, o.shape); ++ std::swap(type, o.type); ++ std::swap(buffer, o.buffer); ++ std::swap(name, o.name); ++ std::swap(quantization, o.quantization); ++ std::swap(is_variable, o.is_variable); ++ std::swap(sparsity, o.sparsity); ++ std::swap(shape_signature, o.shape_signature); ++ return *this; ++} ++ + inline TensorT *Tensor::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new TensorT()); + UnPackTo(_o.get(), _resolver); +@@ -16198,6 +16255,25 @@ inline flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuild + _intermediates); + } + ++inline SubGraphT::SubGraphT(const SubGraphT &o) ++ : inputs(o.inputs), ++ outputs(o.outputs), ++ name(o.name) { ++ tensors.reserve(o.tensors.size()); ++ for (const auto &v : o.tensors) { tensors.emplace_back((v) ? new tflite::TensorT(*v) : nullptr); } ++ operators.reserve(o.operators.size()); ++ for (const auto &v : o.operators) { operators.emplace_back((v) ? new tflite::OperatorT(*v) : nullptr); } ++} ++ ++inline SubGraphT &SubGraphT::operator=(SubGraphT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(tensors, o.tensors); ++ std::swap(inputs, o.inputs); ++ std::swap(outputs, o.outputs); ++ std::swap(operators, o.operators); ++ std::swap(name, o.name); ++ return *this; ++} ++ + inline SubGraphT *SubGraph::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SubGraphT()); + UnPackTo(_o.get(), _resolver); +@@ -16321,6 +16397,23 @@ inline flatbuffers::Offset CreateTensorMap(flatbuffers::FlatBufferBui + _tensor_index); + } + ++inline SignatureDefT::SignatureDefT(const SignatureDefT &o) ++ : signature_key(o.signature_key), ++ subgraph_index(o.subgraph_index) { ++ inputs.reserve(o.inputs.size()); ++ for (const auto &v : o.inputs) { inputs.emplace_back((v) ? new tflite::TensorMapT(*v) : nullptr); } ++ outputs.reserve(o.outputs.size()); ++ for (const auto &v : o.outputs) { outputs.emplace_back((v) ? new tflite::TensorMapT(*v) : nullptr); } ++} ++ ++inline SignatureDefT &SignatureDefT::operator=(SignatureDefT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(inputs, o.inputs); ++ std::swap(outputs, o.outputs); ++ std::swap(signature_key, o.signature_key); ++ std::swap(subgraph_index, o.subgraph_index); ++ return *this; ++} ++ + inline SignatureDefT *SignatureDef::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new SignatureDefT()); + UnPackTo(_o.get(), _resolver); +@@ -16356,6 +16449,34 @@ inline flatbuffers::Offset CreateSignatureDef(flatbuffers::FlatBuf + _subgraph_index); + } + ++inline ModelT::ModelT(const ModelT &o) ++ : version(o.version), ++ description(o.description), ++ metadata_buffer(o.metadata_buffer) { ++ operator_codes.reserve(o.operator_codes.size()); ++ for (const auto &v : o.operator_codes) { operator_codes.emplace_back((v) ? new tflite::OperatorCodeT(*v) : nullptr); } ++ subgraphs.reserve(o.subgraphs.size()); ++ for (const auto &v : o.subgraphs) { subgraphs.emplace_back((v) ? new tflite::SubGraphT(*v) : nullptr); } ++ buffers.reserve(o.buffers.size()); ++ for (const auto &v : o.buffers) { buffers.emplace_back((v) ? new tflite::BufferT(*v) : nullptr); } ++ metadata.reserve(o.metadata.size()); ++ for (const auto &v : o.metadata) { metadata.emplace_back((v) ? new tflite::MetadataT(*v) : nullptr); } ++ signature_defs.reserve(o.signature_defs.size()); ++ for (const auto &v : o.signature_defs) { signature_defs.emplace_back((v) ? new tflite::SignatureDefT(*v) : nullptr); } ++} ++ ++inline ModelT &ModelT::operator=(ModelT o) FLATBUFFERS_NOEXCEPT { ++ std::swap(version, o.version); ++ std::swap(operator_codes, o.operator_codes); ++ std::swap(subgraphs, o.subgraphs); ++ std::swap(description, o.description); ++ std::swap(buffers, o.buffers); ++ std::swap(metadata_buffer, o.metadata_buffer); ++ std::swap(metadata, o.metadata); ++ std::swap(signature_defs, o.signature_defs); ++ return *this; ++} ++ + inline ModelT *Model::UnPack(const flatbuffers::resolver_function_t *_resolver) const { + auto _o = std::unique_ptr(new ModelT()); + UnPackTo(_o.get(), _resolver); +@@ -19111,6 +19232,11 @@ inline bool ModelBufferHasIdentifier(const void *buf) { + buf, ModelIdentifier()); + } + ++inline bool SizePrefixedModelBufferHasIdentifier(const void *buf) { ++ return flatbuffers::BufferHasIdentifier( ++ buf, ModelIdentifier(), true); ++} ++ + inline bool VerifyModelBuffer( + flatbuffers::Verifier &verifier) { + return verifier.VerifyBuffer(ModelIdentifier()); +diff --git a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +index ac91a03a48a..d1d06d09505 100644 +--- a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake ++++ b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +@@ -23,7 +23,7 @@ OverridableFetchContent_Declare( + flatbuffers + GIT_REPOSITORY https://github.com/google/flatbuffers + # Sync with tensorflow/third_party/flatbuffers/workspace.bzl +- GIT_TAG v2.0.5 ++ GIT_TAG v2.0.6 + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/flatbuffers" +diff --git a/tensorflow/opensource_only.files b/tensorflow/opensource_only.files +index 8cf130f5509..8ccaae2b9c6 100644 +--- a/tensorflow/opensource_only.files ++++ b/tensorflow/opensource_only.files +@@ -61,6 +61,7 @@ tensorflow/lite/delegates/gpu/cl/serialization_generated.h: + tensorflow/lite/delegates/gpu/common/gpu_model_generated.h: + tensorflow/lite/delegates/gpu/common/task/serialization_base_generated.h: + tensorflow/lite/delegates/hexagon/hexagon_nn/BUILD: ++tensorflow/lite/experimental/acceleration/configuration/configuration_generated.h: + tensorflow/lite/experimental/acceleration/mini_benchmark/libjpeg.h: + tensorflow/lite/experimental/acceleration/mini_benchmark/special_rules.bzl: + tensorflow/lite/ios/BUILD: +diff --git a/third_party/flatbuffers/workspace.bzl b/third_party/flatbuffers/workspace.bzl +index 84aae9dc51f..ceb8a2720da 100644 +--- a/third_party/flatbuffers/workspace.bzl ++++ b/third_party/flatbuffers/workspace.bzl +@@ -5,9 +5,9 @@ load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls") + def repo(): + tf_http_archive( + name = "flatbuffers", +- strip_prefix = "flatbuffers-2.0.5", +- sha256 = "b01e97c988c429e164c5c7df9e87c80007ca87f593c0d73733ba536ddcbc8f98", +- urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v2.0.5.tar.gz"), ++ strip_prefix = "flatbuffers-2.0.6", ++ sha256 = "e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9", ++ urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v2.0.6.tar.gz"), + build_file = "//third_party/flatbuffers:flatbuffers.BUILD", + system_build_file = "//third_party/flatbuffers:BUILD.system", + link_files = { diff --git a/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.patch b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.patch new file mode 100644 index 00000000000..81077042987 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.9.1_support_flatbuffers_2.0.patch @@ -0,0 +1,8002 @@ +Add support for flatbuffers 2.0. +Taken from https://github.com/tensorflow/tensorflow/commit/625a4045bc0728c0f3d1b63e05749201f8b401dd + +Backported to 2.9.1 by +Author: Alexander Grund (TU Dresden) + +diff --git a/tensorflow/compiler/mlir/lite/flatbuffer_export.cc b/tensorflow/compiler/mlir/lite/flatbuffer_export.cc +index 9467afdf3c5..b75d55204c1 100644 +--- a/tensorflow/compiler/mlir/lite/flatbuffer_export.cc ++++ b/tensorflow/compiler/mlir/lite/flatbuffer_export.cc +@@ -784,17 +784,19 @@ Optional> Translator::BuildTensorFromType( + GetTFLiteType(tensor_type.getElementType()).ValueOrDie(); + BufferOffset q_params = 0; + if (auto qtype = element_type.dyn_cast()) { ++ std::vector scales = {static_cast(qtype.getScale())}; ++ std::vector zero_points = {qtype.getZeroPoint()}; + q_params = tflite::CreateQuantizationParameters( +- builder_, /*min=*/0, /*max=*/0, +- builder_.CreateVector({static_cast(qtype.getScale())}), +- builder_.CreateVector({qtype.getZeroPoint()})); ++ builder_, /*min=*/0, /*max=*/0, builder_.CreateVector(scales), ++ builder_.CreateVector(zero_points)); + } else if (auto qtype = + element_type + .dyn_cast()) { ++ std::vector mins = {static_cast(qtype.getMin())}; ++ std::vector maxs = {static_cast(qtype.getMax())}; + q_params = tflite::CreateQuantizationParameters( +- builder_, +- builder_.CreateVector({static_cast(qtype.getMin())}), +- builder_.CreateVector({static_cast(qtype.getMax())})); ++ builder_, builder_.CreateVector(mins), ++ builder_.CreateVector(maxs)); + } + return tflite::CreateTensor( + builder_, builder_.CreateVector(shape), tflite_element_type, +@@ -868,20 +870,23 @@ Optional> Translator::BuildTensor( + + BufferOffset q_params; + if (auto qtype = element_type.dyn_cast()) { ++ std::vector scales = {static_cast(qtype.getScale())}; ++ std::vector zero_points = {qtype.getZeroPoint()}; + q_params = tflite::CreateQuantizationParameters( + // min and max values are not stored in the quantized type from MLIR, so + // both are set to 0 in the flatbuffer when they are exported. +- builder_, /*min=*/0, /*max=*/0, +- builder_.CreateVector({static_cast(qtype.getScale())}), +- builder_.CreateVector({qtype.getZeroPoint()})); ++ builder_, /*min=*/0, /*max=*/0, builder_.CreateVector(scales), ++ builder_.CreateVector(zero_points)); + } else if (auto qtype = + element_type + .dyn_cast()) { + std::vector scales(qtype.getScales().begin(), + qtype.getScales().end()); ++ std::vector zero_points(qtype.getZeroPoints().begin(), ++ qtype.getZeroPoints().end()); + q_params = tflite::CreateQuantizationParameters( + builder_, /*min=*/0, /*max=*/0, builder_.CreateVector(scales), +- builder_.CreateVector(qtype.getZeroPoints()), ++ builder_.CreateVector(zero_points), + tflite::QuantizationDetails_NONE, /*details=*/0, + qtype.getQuantizedDimension()); + } else if (quant_parameters.hasValue()) { +diff --git a/tensorflow/compiler/mlir/lite/quantization/lite/quantize_model_test.cc b/tensorflow/compiler/mlir/lite/quantization/lite/quantize_model_test.cc +index 6075c6515bd..cd67fad748a 100644 +--- a/tensorflow/compiler/mlir/lite/quantization/lite/quantize_model_test.cc ++++ b/tensorflow/compiler/mlir/lite/quantization/lite/quantize_model_test.cc +@@ -210,7 +210,7 @@ void ExpectSameModels(const ModelT& model, const ModelT& expected_model) { + continue; + } + ExpectEqualTensor(tensor.get(), expected_tensor); +- if (tensor->buffer >= 0) { ++ if (expected_tensor->buffer > 0) { + const int buffer_idx = tensor->buffer; + const int expected_buffer_idx = expected_tensor->buffer; + const auto buffer = model.buffers[buffer_idx].get()->data; +diff --git a/tensorflow/lite/kernels/test_util.cc b/tensorflow/lite/kernels/test_util.cc +index 0e97b89bca4..eef287d6267 100644 +--- a/tensorflow/lite/kernels/test_util.cc ++++ b/tensorflow/lite/kernels/test_util.cc +@@ -112,7 +112,8 @@ int SingleOpModel::AddIntermediate(TensorType type, + CreateQuantizationParameters(builder_, /*min=*/0, /*max=*/0, + builder_.CreateVector(scale), + builder_.CreateVector(zero_point)); +- tensors_.push_back(CreateTensor(builder_, builder_.CreateVector({}), ++ std::vector empty; ++ tensors_.push_back(CreateTensor(builder_, builder_.CreateVector(empty), + type, + /*buffer=*/0, + /*name=*/0, q_params, false)); +diff --git a/tensorflow/lite/kernels/test_util.h b/tensorflow/lite/kernels/test_util.h +index cf61f32a9c9..81bab720d79 100644 +--- a/tensorflow/lite/kernels/test_util.h ++++ b/tensorflow/lite/kernels/test_util.h +@@ -245,12 +245,12 @@ class SingleOpModel { + if (i < t.shape.size() && + t.format[t.traversal_order[i]] == kTfLiteDimSparseCSR) { + auto array_segments = +- CreateInt32Vector(builder_, +- builder_.CreateVector(dim_metadata[metadata_idx])) ++ CreateInt32Vector(builder_, builder_.CreateVector( ++ dim_metadata[metadata_idx])) + .Union(); + auto array_indices = +- CreateInt32Vector( +- builder_, builder_.CreateVector(dim_metadata[metadata_idx + 1])) ++ CreateInt32Vector(builder_, builder_.CreateVector( ++ dim_metadata[metadata_idx + 1])) + .Union(); + fb_dim_metadata[i] = CreateDimensionMetadata( + builder_, DimensionType_SPARSE_CSR, 0, +@@ -263,8 +263,8 @@ class SingleOpModel { + } + + flatbuffers::Offset s_param = CreateSparsityParameters( +- builder_, builder_.CreateVector(t.traversal_order), +- builder_.CreateVector(t.block_map), ++ builder_, builder_.CreateVector(t.traversal_order), ++ builder_.CreateVector(t.block_map), + builder_.CreateVector(fb_dim_metadata)); + + int buffer_id = 0; +@@ -359,9 +359,11 @@ class SingleOpModel { + float min, max, scaling_factor; + tensor_utils::SymmetricQuantizeFloats( + sparse_data.data(), length, q.data(), &min, &max, &scaling_factor); ++ std::vector scales{scaling_factor}; ++ std::vector zero_points{0}; + q_params = CreateQuantizationParameters( +- builder_, 0, 0, builder_.CreateVector({scaling_factor}), +- builder_.CreateVector({0})); ++ builder_, 0, 0, builder_.CreateVector(scales), ++ builder_.CreateVector(zero_points)); + auto data_buffer = builder_.CreateVector( + reinterpret_cast(q.data()), q.size()); + buffers_.push_back(CreateBuffer(builder_, data_buffer)); +@@ -369,9 +371,11 @@ class SingleOpModel { + CHECK_EQ(t.type, TensorType_INT8) + << "The INT8 quantization is only supported for sparsified tensor"; + auto q = Quantize(sparse_data, t.scale, t.zero_point); ++ std::vector scales{t.scale}; ++ std::vector zero_points{0}; + q_params = CreateQuantizationParameters( +- builder_, t.min, t.max, builder_.CreateVector({t.scale}), +- builder_.CreateVector({0})); ++ builder_, t.min, t.max, builder_.CreateVector(scales), ++ builder_.CreateVector(zero_points)); + auto data_buffer = builder_.CreateVector( + reinterpret_cast(q.data()), q.size()); + buffers_.push_back(CreateBuffer(builder_, data_buffer)); +@@ -690,10 +694,11 @@ class SingleOpModel { + t.max = 0; + } + ++ std::vector scales{t.scale}; ++ std::vector zero_points{t.zero_point}; + q_params = CreateQuantizationParameters( +- builder_, /*min=*/0, /*max=*/0, +- builder_.CreateVector({t.scale}), +- builder_.CreateVector({t.zero_point})); ++ builder_, /*min=*/0, /*max=*/0, builder_.CreateVector(scales), ++ builder_.CreateVector(zero_points)); + } + + int buffer_id = 0; +diff --git a/tensorflow/lite/schema/BUILD b/tensorflow/lite/schema/BUILD +index eb3d9df659d..7d1f2b7a2e3 100644 +--- a/tensorflow/lite/schema/BUILD ++++ b/tensorflow/lite/schema/BUILD +@@ -77,6 +77,11 @@ py_test( + # "//tensorflow/lite/schema:schema_generated.h.oss", + # ], + # python_version = "PY3", ++# # TODO(b/217577534): Enable this TAP with FlatBuffer 2.0 migration. ++# tags = [ ++# "manual", ++# "notap", ++# ], + # deps = [ + # "//testing/pybase", + # "@absl_py//absl/flags", +diff --git a/tensorflow/lite/schema/schema_generated.h b/tensorflow/lite/schema/schema_generated.h +index e5ce189f147..0de55f064ef 100755 +--- a/tensorflow/lite/schema/schema_generated.h ++++ b/tensorflow/lite/schema/schema_generated.h +@@ -23,405 +23,538 @@ limitations under the License. + namespace tflite { + + struct CustomQuantization; ++struct CustomQuantizationBuilder; + struct CustomQuantizationT; + + struct QuantizationParameters; ++struct QuantizationParametersBuilder; + struct QuantizationParametersT; + + struct Int32Vector; ++struct Int32VectorBuilder; + struct Int32VectorT; + + struct Uint16Vector; ++struct Uint16VectorBuilder; + struct Uint16VectorT; + + struct Uint8Vector; ++struct Uint8VectorBuilder; + struct Uint8VectorT; + + struct DimensionMetadata; ++struct DimensionMetadataBuilder; + struct DimensionMetadataT; + + struct SparsityParameters; ++struct SparsityParametersBuilder; + struct SparsityParametersT; + + struct Tensor; ++struct TensorBuilder; + struct TensorT; + + struct Conv2DOptions; ++struct Conv2DOptionsBuilder; + struct Conv2DOptionsT; + + struct Conv3DOptions; ++struct Conv3DOptionsBuilder; + struct Conv3DOptionsT; + + struct Pool2DOptions; ++struct Pool2DOptionsBuilder; + struct Pool2DOptionsT; + + struct DepthwiseConv2DOptions; ++struct DepthwiseConv2DOptionsBuilder; + struct DepthwiseConv2DOptionsT; + + struct ConcatEmbeddingsOptions; ++struct ConcatEmbeddingsOptionsBuilder; + struct ConcatEmbeddingsOptionsT; + + struct LSHProjectionOptions; ++struct LSHProjectionOptionsBuilder; + struct LSHProjectionOptionsT; + + struct SVDFOptions; ++struct SVDFOptionsBuilder; + struct SVDFOptionsT; + + struct RNNOptions; ++struct RNNOptionsBuilder; + struct RNNOptionsT; + + struct SequenceRNNOptions; ++struct SequenceRNNOptionsBuilder; + struct SequenceRNNOptionsT; + + struct BidirectionalSequenceRNNOptions; ++struct BidirectionalSequenceRNNOptionsBuilder; + struct BidirectionalSequenceRNNOptionsT; + + struct FullyConnectedOptions; ++struct FullyConnectedOptionsBuilder; + struct FullyConnectedOptionsT; + + struct SoftmaxOptions; ++struct SoftmaxOptionsBuilder; + struct SoftmaxOptionsT; + + struct ConcatenationOptions; ++struct ConcatenationOptionsBuilder; + struct ConcatenationOptionsT; + + struct AddOptions; ++struct AddOptionsBuilder; + struct AddOptionsT; + + struct MulOptions; ++struct MulOptionsBuilder; + struct MulOptionsT; + + struct L2NormOptions; ++struct L2NormOptionsBuilder; + struct L2NormOptionsT; + + struct LocalResponseNormalizationOptions; ++struct LocalResponseNormalizationOptionsBuilder; + struct LocalResponseNormalizationOptionsT; + + struct LSTMOptions; ++struct LSTMOptionsBuilder; + struct LSTMOptionsT; + + struct UnidirectionalSequenceLSTMOptions; ++struct UnidirectionalSequenceLSTMOptionsBuilder; + struct UnidirectionalSequenceLSTMOptionsT; + + struct BidirectionalSequenceLSTMOptions; ++struct BidirectionalSequenceLSTMOptionsBuilder; + struct BidirectionalSequenceLSTMOptionsT; + + struct ResizeBilinearOptions; ++struct ResizeBilinearOptionsBuilder; + struct ResizeBilinearOptionsT; + + struct ResizeNearestNeighborOptions; ++struct ResizeNearestNeighborOptionsBuilder; + struct ResizeNearestNeighborOptionsT; + + struct CallOptions; ++struct CallOptionsBuilder; + struct CallOptionsT; + + struct PadOptions; ++struct PadOptionsBuilder; + struct PadOptionsT; + + struct PadV2Options; ++struct PadV2OptionsBuilder; + struct PadV2OptionsT; + + struct ReshapeOptions; ++struct ReshapeOptionsBuilder; + struct ReshapeOptionsT; + + struct SpaceToBatchNDOptions; ++struct SpaceToBatchNDOptionsBuilder; + struct SpaceToBatchNDOptionsT; + + struct BatchToSpaceNDOptions; ++struct BatchToSpaceNDOptionsBuilder; + struct BatchToSpaceNDOptionsT; + + struct SkipGramOptions; ++struct SkipGramOptionsBuilder; + struct SkipGramOptionsT; + + struct SpaceToDepthOptions; ++struct SpaceToDepthOptionsBuilder; + struct SpaceToDepthOptionsT; + + struct DepthToSpaceOptions; ++struct DepthToSpaceOptionsBuilder; + struct DepthToSpaceOptionsT; + + struct SubOptions; ++struct SubOptionsBuilder; + struct SubOptionsT; + + struct DivOptions; ++struct DivOptionsBuilder; + struct DivOptionsT; + + struct TopKV2Options; ++struct TopKV2OptionsBuilder; + struct TopKV2OptionsT; + + struct EmbeddingLookupSparseOptions; ++struct EmbeddingLookupSparseOptionsBuilder; + struct EmbeddingLookupSparseOptionsT; + + struct GatherOptions; ++struct GatherOptionsBuilder; + struct GatherOptionsT; + + struct TransposeOptions; ++struct TransposeOptionsBuilder; + struct TransposeOptionsT; + + struct ExpOptions; ++struct ExpOptionsBuilder; + struct ExpOptionsT; + + struct CosOptions; ++struct CosOptionsBuilder; + struct CosOptionsT; + + struct ReducerOptions; ++struct ReducerOptionsBuilder; + struct ReducerOptionsT; + + struct SqueezeOptions; ++struct SqueezeOptionsBuilder; + struct SqueezeOptionsT; + + struct SplitOptions; ++struct SplitOptionsBuilder; + struct SplitOptionsT; + + struct SplitVOptions; ++struct SplitVOptionsBuilder; + struct SplitVOptionsT; + + struct StridedSliceOptions; ++struct StridedSliceOptionsBuilder; + struct StridedSliceOptionsT; + + struct LogSoftmaxOptions; ++struct LogSoftmaxOptionsBuilder; + struct LogSoftmaxOptionsT; + + struct CastOptions; ++struct CastOptionsBuilder; + struct CastOptionsT; + + struct DequantizeOptions; ++struct DequantizeOptionsBuilder; + struct DequantizeOptionsT; + + struct MaximumMinimumOptions; ++struct MaximumMinimumOptionsBuilder; + struct MaximumMinimumOptionsT; + + struct TileOptions; ++struct TileOptionsBuilder; + struct TileOptionsT; + + struct ArgMaxOptions; ++struct ArgMaxOptionsBuilder; + struct ArgMaxOptionsT; + + struct ArgMinOptions; ++struct ArgMinOptionsBuilder; + struct ArgMinOptionsT; + + struct GreaterOptions; ++struct GreaterOptionsBuilder; + struct GreaterOptionsT; + + struct GreaterEqualOptions; ++struct GreaterEqualOptionsBuilder; + struct GreaterEqualOptionsT; + + struct LessOptions; ++struct LessOptionsBuilder; + struct LessOptionsT; + + struct LessEqualOptions; ++struct LessEqualOptionsBuilder; + struct LessEqualOptionsT; + + struct NegOptions; ++struct NegOptionsBuilder; + struct NegOptionsT; + + struct SelectOptions; ++struct SelectOptionsBuilder; + struct SelectOptionsT; + + struct SliceOptions; ++struct SliceOptionsBuilder; + struct SliceOptionsT; + + struct TransposeConvOptions; ++struct TransposeConvOptionsBuilder; + struct TransposeConvOptionsT; + + struct ExpandDimsOptions; ++struct ExpandDimsOptionsBuilder; + struct ExpandDimsOptionsT; + + struct SparseToDenseOptions; ++struct SparseToDenseOptionsBuilder; + struct SparseToDenseOptionsT; + + struct EqualOptions; ++struct EqualOptionsBuilder; + struct EqualOptionsT; + + struct NotEqualOptions; ++struct NotEqualOptionsBuilder; + struct NotEqualOptionsT; + + struct ShapeOptions; ++struct ShapeOptionsBuilder; + struct ShapeOptionsT; + + struct RankOptions; ++struct RankOptionsBuilder; + struct RankOptionsT; + + struct PowOptions; ++struct PowOptionsBuilder; + struct PowOptionsT; + + struct FakeQuantOptions; ++struct FakeQuantOptionsBuilder; + struct FakeQuantOptionsT; + + struct PackOptions; ++struct PackOptionsBuilder; + struct PackOptionsT; + + struct LogicalOrOptions; ++struct LogicalOrOptionsBuilder; + struct LogicalOrOptionsT; + + struct OneHotOptions; ++struct OneHotOptionsBuilder; + struct OneHotOptionsT; + + struct AbsOptions; ++struct AbsOptionsBuilder; + struct AbsOptionsT; + + struct HardSwishOptions; ++struct HardSwishOptionsBuilder; + struct HardSwishOptionsT; + + struct LogicalAndOptions; ++struct LogicalAndOptionsBuilder; + struct LogicalAndOptionsT; + + struct LogicalNotOptions; ++struct LogicalNotOptionsBuilder; + struct LogicalNotOptionsT; + + struct UnpackOptions; ++struct UnpackOptionsBuilder; + struct UnpackOptionsT; + + struct FloorDivOptions; ++struct FloorDivOptionsBuilder; + struct FloorDivOptionsT; + + struct SquareOptions; ++struct SquareOptionsBuilder; + struct SquareOptionsT; + + struct ZerosLikeOptions; ++struct ZerosLikeOptionsBuilder; + struct ZerosLikeOptionsT; + + struct FillOptions; ++struct FillOptionsBuilder; + struct FillOptionsT; + + struct FloorModOptions; ++struct FloorModOptionsBuilder; + struct FloorModOptionsT; + + struct RangeOptions; ++struct RangeOptionsBuilder; + struct RangeOptionsT; + + struct LeakyReluOptions; ++struct LeakyReluOptionsBuilder; + struct LeakyReluOptionsT; + + struct SquaredDifferenceOptions; ++struct SquaredDifferenceOptionsBuilder; + struct SquaredDifferenceOptionsT; + + struct MirrorPadOptions; ++struct MirrorPadOptionsBuilder; + struct MirrorPadOptionsT; + + struct UniqueOptions; ++struct UniqueOptionsBuilder; + struct UniqueOptionsT; + + struct ReverseV2Options; ++struct ReverseV2OptionsBuilder; + struct ReverseV2OptionsT; + + struct AddNOptions; ++struct AddNOptionsBuilder; + struct AddNOptionsT; + + struct GatherNdOptions; ++struct GatherNdOptionsBuilder; + struct GatherNdOptionsT; + + struct WhereOptions; ++struct WhereOptionsBuilder; + struct WhereOptionsT; + + struct ReverseSequenceOptions; ++struct ReverseSequenceOptionsBuilder; + struct ReverseSequenceOptionsT; + + struct MatrixDiagOptions; ++struct MatrixDiagOptionsBuilder; + struct MatrixDiagOptionsT; + + struct QuantizeOptions; ++struct QuantizeOptionsBuilder; + struct QuantizeOptionsT; + + struct MatrixSetDiagOptions; ++struct MatrixSetDiagOptionsBuilder; + struct MatrixSetDiagOptionsT; + + struct IfOptions; ++struct IfOptionsBuilder; + struct IfOptionsT; + + struct CallOnceOptions; ++struct CallOnceOptionsBuilder; + struct CallOnceOptionsT; + + struct WhileOptions; ++struct WhileOptionsBuilder; + struct WhileOptionsT; + + struct NonMaxSuppressionV4Options; ++struct NonMaxSuppressionV4OptionsBuilder; + struct NonMaxSuppressionV4OptionsT; + + struct NonMaxSuppressionV5Options; ++struct NonMaxSuppressionV5OptionsBuilder; + struct NonMaxSuppressionV5OptionsT; + + struct ScatterNdOptions; ++struct ScatterNdOptionsBuilder; + struct ScatterNdOptionsT; + + struct SelectV2Options; ++struct SelectV2OptionsBuilder; + struct SelectV2OptionsT; + + struct DensifyOptions; ++struct DensifyOptionsBuilder; + struct DensifyOptionsT; + + struct SegmentSumOptions; ++struct SegmentSumOptionsBuilder; + struct SegmentSumOptionsT; + + struct BatchMatMulOptions; ++struct BatchMatMulOptionsBuilder; + struct BatchMatMulOptionsT; + + struct CumsumOptions; ++struct CumsumOptionsBuilder; + struct CumsumOptionsT; + + struct BroadcastToOptions; ++struct BroadcastToOptionsBuilder; + struct BroadcastToOptionsT; + + struct Rfft2dOptions; ++struct Rfft2dOptionsBuilder; + struct Rfft2dOptionsT; + + struct HashtableOptions; ++struct HashtableOptionsBuilder; + struct HashtableOptionsT; + + struct HashtableFindOptions; ++struct HashtableFindOptionsBuilder; + struct HashtableFindOptionsT; + + struct HashtableImportOptions; ++struct HashtableImportOptionsBuilder; + struct HashtableImportOptionsT; + + struct HashtableSizeOptions; ++struct HashtableSizeOptionsBuilder; + struct HashtableSizeOptionsT; + + struct VarHandleOptions; ++struct VarHandleOptionsBuilder; + struct VarHandleOptionsT; + + struct ReadVariableOptions; ++struct ReadVariableOptionsBuilder; + struct ReadVariableOptionsT; + + struct AssignVariableOptions; ++struct AssignVariableOptionsBuilder; + struct AssignVariableOptionsT; + + struct RandomOptions; ++struct RandomOptionsBuilder; + struct RandomOptionsT; + + struct BucketizeOptions; ++struct BucketizeOptionsBuilder; + struct BucketizeOptionsT; + + struct GeluOptions; ++struct GeluOptionsBuilder; + struct GeluOptionsT; + + struct DynamicUpdateSliceOptions; ++struct DynamicUpdateSliceOptionsBuilder; + struct DynamicUpdateSliceOptionsT; + + struct OperatorCode; ++struct OperatorCodeBuilder; + struct OperatorCodeT; + + struct Operator; ++struct OperatorBuilder; + struct OperatorT; + + struct SubGraph; ++struct SubGraphBuilder; + struct SubGraphT; + + struct Buffer; ++struct BufferBuilder; + struct BufferT; + + struct Metadata; ++struct MetadataBuilder; + struct MetadataT; + + struct TensorMap; ++struct TensorMapBuilder; + struct TensorMapT; + + struct SignatureDef; ++struct SignatureDefBuilder; + struct SignatureDefT; + + struct Model; ++struct ModelBuilder; + struct ModelT; + +-enum TensorType { ++enum TensorType : int8_t { + TensorType_FLOAT32 = 0, + TensorType_FLOAT16 = 1, + TensorType_INT32 = 2, +@@ -496,7 +629,7 @@ inline const char *EnumNameTensorType(TensorType e) { + return EnumNamesTensorType()[index]; + } + +-enum QuantizationDetails { ++enum QuantizationDetails : uint8_t { + QuantizationDetails_NONE = 0, + QuantizationDetails_CustomQuantization = 1, + QuantizationDetails_MIN = QuantizationDetails_NONE, +@@ -534,6 +667,14 @@ template<> struct QuantizationDetailsTraits { + static const QuantizationDetails enum_value = QuantizationDetails_CustomQuantization; + }; + ++template struct QuantizationDetailsUnionTraits { ++ static const QuantizationDetails enum_value = QuantizationDetails_NONE; ++}; ++ ++template<> struct QuantizationDetailsUnionTraits { ++ static const QuantizationDetails enum_value = QuantizationDetails_CustomQuantization; ++}; ++ + struct QuantizationDetailsUnion { + QuantizationDetails type; + void *value; +@@ -542,8 +683,8 @@ struct QuantizationDetailsUnion { + QuantizationDetailsUnion(QuantizationDetailsUnion&& u) FLATBUFFERS_NOEXCEPT : + type(QuantizationDetails_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } +- QuantizationDetailsUnion(const QuantizationDetailsUnion &) FLATBUFFERS_NOEXCEPT; +- QuantizationDetailsUnion &operator=(const QuantizationDetailsUnion &u) FLATBUFFERS_NOEXCEPT ++ QuantizationDetailsUnion(const QuantizationDetailsUnion &); ++ QuantizationDetailsUnion &operator=(const QuantizationDetailsUnion &u) + { QuantizationDetailsUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + QuantizationDetailsUnion &operator=(QuantizationDetailsUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } +@@ -551,17 +692,15 @@ struct QuantizationDetailsUnion { + + void Reset(); + +-#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { +- using RT = typename std::remove_reference::type; ++ typedef typename std::remove_reference::type RT; + Reset(); +- type = QuantizationDetailsTraits::enum_value; ++ type = QuantizationDetailsUnionTraits::enum_value; + if (type != QuantizationDetails_NONE) { + value = new RT(std::forward(val)); + } + } +-#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, QuantizationDetails type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; +@@ -579,7 +718,7 @@ struct QuantizationDetailsUnion { + bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type); + bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +-enum DimensionType { ++enum DimensionType : int8_t { + DimensionType_DENSE = 0, + DimensionType_SPARSE_CSR = 1, + DimensionType_MIN = DimensionType_DENSE, +@@ -609,7 +748,7 @@ inline const char *EnumNameDimensionType(DimensionType e) { + return EnumNamesDimensionType()[index]; + } + +-enum SparseIndexVector { ++enum SparseIndexVector : uint8_t { + SparseIndexVector_NONE = 0, + SparseIndexVector_Int32Vector = 1, + SparseIndexVector_Uint16Vector = 2, +@@ -661,6 +800,22 @@ template<> struct SparseIndexVectorTraits { + static const SparseIndexVector enum_value = SparseIndexVector_Uint8Vector; + }; + ++template struct SparseIndexVectorUnionTraits { ++ static const SparseIndexVector enum_value = SparseIndexVector_NONE; ++}; ++ ++template<> struct SparseIndexVectorUnionTraits { ++ static const SparseIndexVector enum_value = SparseIndexVector_Int32Vector; ++}; ++ ++template<> struct SparseIndexVectorUnionTraits { ++ static const SparseIndexVector enum_value = SparseIndexVector_Uint16Vector; ++}; ++ ++template<> struct SparseIndexVectorUnionTraits { ++ static const SparseIndexVector enum_value = SparseIndexVector_Uint8Vector; ++}; ++ + struct SparseIndexVectorUnion { + SparseIndexVector type; + void *value; +@@ -669,8 +824,8 @@ struct SparseIndexVectorUnion { + SparseIndexVectorUnion(SparseIndexVectorUnion&& u) FLATBUFFERS_NOEXCEPT : + type(SparseIndexVector_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } +- SparseIndexVectorUnion(const SparseIndexVectorUnion &) FLATBUFFERS_NOEXCEPT; +- SparseIndexVectorUnion &operator=(const SparseIndexVectorUnion &u) FLATBUFFERS_NOEXCEPT ++ SparseIndexVectorUnion(const SparseIndexVectorUnion &); ++ SparseIndexVectorUnion &operator=(const SparseIndexVectorUnion &u) + { SparseIndexVectorUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + SparseIndexVectorUnion &operator=(SparseIndexVectorUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } +@@ -678,17 +833,15 @@ struct SparseIndexVectorUnion { + + void Reset(); + +-#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { +- using RT = typename std::remove_reference::type; ++ typedef typename std::remove_reference::type RT; + Reset(); +- type = SparseIndexVectorTraits::enum_value; ++ type = SparseIndexVectorUnionTraits::enum_value; + if (type != SparseIndexVector_NONE) { + value = new RT(std::forward(val)); + } + } +-#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, SparseIndexVector type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; +@@ -722,7 +875,7 @@ struct SparseIndexVectorUnion { + bool VerifySparseIndexVector(flatbuffers::Verifier &verifier, const void *obj, SparseIndexVector type); + bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +-enum BuiltinOperator { ++enum BuiltinOperator : int32_t { + BuiltinOperator_ADD = 0, + BuiltinOperator_AVERAGE_POOL_2D = 1, + BuiltinOperator_CONCATENATION = 2, +@@ -1202,7 +1355,7 @@ inline const char *EnumNameBuiltinOperator(BuiltinOperator e) { + return EnumNamesBuiltinOperator()[index]; + } + +-enum BuiltinOptions { ++enum BuiltinOptions : uint8_t { + BuiltinOptions_NONE = 0, + BuiltinOptions_Conv2DOptions = 1, + BuiltinOptions_DepthwiseConv2DOptions = 2, +@@ -2052,6 +2205,478 @@ template<> struct BuiltinOptionsTraits { + static const BuiltinOptions enum_value = BuiltinOptions_DynamicUpdateSliceOptions; + }; + ++template struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_NONE; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_Conv2DOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DepthwiseConv2DOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ConcatEmbeddingsOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LSHProjectionOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_Pool2DOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SVDFOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_RNNOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_FullyConnectedOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SoftmaxOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ConcatenationOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_AddOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_L2NormOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LocalResponseNormalizationOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LSTMOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ResizeBilinearOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_CallOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ReshapeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SkipGramOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SpaceToDepthOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_EmbeddingLookupSparseOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_MulOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_PadOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_GatherOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BatchToSpaceNDOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SpaceToBatchNDOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_TransposeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ReducerOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SubOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DivOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SqueezeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SequenceRNNOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_StridedSliceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ExpOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_TopKV2Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SplitOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LogSoftmaxOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_CastOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DequantizeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_MaximumMinimumOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ArgMaxOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LessOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_NegOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_PadV2Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_GreaterOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_GreaterEqualOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LessEqualOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SelectOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SliceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_TransposeConvOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SparseToDenseOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_TileOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ExpandDimsOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_EqualOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_NotEqualOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ShapeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_PowOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ArgMinOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_FakeQuantOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_PackOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LogicalOrOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_OneHotOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LogicalAndOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LogicalNotOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_UnpackOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_FloorDivOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SquareOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ZerosLikeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_FillOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceLSTMOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceRNNOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_UnidirectionalSequenceLSTMOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_FloorModOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_RangeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ResizeNearestNeighborOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_LeakyReluOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SquaredDifferenceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_MirrorPadOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_AbsOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SplitVOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_UniqueOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ReverseV2Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_AddNOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_GatherNdOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_CosOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_WhereOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_RankOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ReverseSequenceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_MatrixDiagOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_QuantizeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_MatrixSetDiagOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_HardSwishOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_IfOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_WhileOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DepthToSpaceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV4Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV5Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ScatterNdOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SelectV2Options; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DensifyOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_SegmentSumOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BatchMatMulOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_CumsumOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_CallOnceOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BroadcastToOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_Rfft2dOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_Conv3DOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_HashtableOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_HashtableFindOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_HashtableImportOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_HashtableSizeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_VarHandleOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_ReadVariableOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_AssignVariableOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_RandomOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_BucketizeOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_GeluOptions; ++}; ++ ++template<> struct BuiltinOptionsUnionTraits { ++ static const BuiltinOptions enum_value = BuiltinOptions_DynamicUpdateSliceOptions; ++}; ++ + struct BuiltinOptionsUnion { + BuiltinOptions type; + void *value; +@@ -2060,8 +2685,8 @@ struct BuiltinOptionsUnion { + BuiltinOptionsUnion(BuiltinOptionsUnion&& u) FLATBUFFERS_NOEXCEPT : + type(BuiltinOptions_NONE), value(nullptr) + { std::swap(type, u.type); std::swap(value, u.value); } +- BuiltinOptionsUnion(const BuiltinOptionsUnion &) FLATBUFFERS_NOEXCEPT; +- BuiltinOptionsUnion &operator=(const BuiltinOptionsUnion &u) FLATBUFFERS_NOEXCEPT ++ BuiltinOptionsUnion(const BuiltinOptionsUnion &); ++ BuiltinOptionsUnion &operator=(const BuiltinOptionsUnion &u) + { BuiltinOptionsUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } + BuiltinOptionsUnion &operator=(BuiltinOptionsUnion &&u) FLATBUFFERS_NOEXCEPT + { std::swap(type, u.type); std::swap(value, u.value); return *this; } +@@ -2069,17 +2694,15 @@ struct BuiltinOptionsUnion { + + void Reset(); + +-#ifndef FLATBUFFERS_CPP98_STL + template + void Set(T&& val) { +- using RT = typename std::remove_reference::type; ++ typedef typename std::remove_reference::type RT; + Reset(); +- type = BuiltinOptionsTraits::enum_value; ++ type = BuiltinOptionsUnionTraits::enum_value; + if (type != BuiltinOptions_NONE) { + value = new RT(std::forward(val)); + } + } +-#endif // FLATBUFFERS_CPP98_STL + + static void *UnPack(const void *obj, BuiltinOptions type, const flatbuffers::resolver_function_t *resolver); + flatbuffers::Offset Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; +@@ -3025,7 +3648,7 @@ struct BuiltinOptionsUnion { + bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type); + bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); + +-enum Padding { ++enum Padding : int8_t { + Padding_SAME = 0, + Padding_VALID = 1, + Padding_MIN = Padding_SAME, +@@ -3055,7 +3678,7 @@ inline const char *EnumNamePadding(Padding e) { + return EnumNamesPadding()[index]; + } + +-enum ActivationFunctionType { ++enum ActivationFunctionType : int8_t { + ActivationFunctionType_NONE = 0, + ActivationFunctionType_RELU = 1, + ActivationFunctionType_RELU_N1_TO_1 = 2, +@@ -3097,7 +3720,7 @@ inline const char *EnumNameActivationFunctionType(ActivationFunctionType e) { + return EnumNamesActivationFunctionType()[index]; + } + +-enum LSHProjectionType { ++enum LSHProjectionType : int8_t { + LSHProjectionType_UNKNOWN = 0, + LSHProjectionType_SPARSE = 1, + LSHProjectionType_DENSE = 2, +@@ -3130,7 +3753,7 @@ inline const char *EnumNameLSHProjectionType(LSHProjectionType e) { + return EnumNamesLSHProjectionType()[index]; + } + +-enum FullyConnectedOptionsWeightsFormat { ++enum FullyConnectedOptionsWeightsFormat : int8_t { + FullyConnectedOptionsWeightsFormat_DEFAULT = 0, + FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 = 1, + FullyConnectedOptionsWeightsFormat_MIN = FullyConnectedOptionsWeightsFormat_DEFAULT, +@@ -3160,7 +3783,7 @@ inline const char *EnumNameFullyConnectedOptionsWeightsFormat(FullyConnectedOpti + return EnumNamesFullyConnectedOptionsWeightsFormat()[index]; + } + +-enum LSTMKernelType { ++enum LSTMKernelType : int8_t { + LSTMKernelType_FULL = 0, + LSTMKernelType_BASIC = 1, + LSTMKernelType_MIN = LSTMKernelType_FULL, +@@ -3190,7 +3813,7 @@ inline const char *EnumNameLSTMKernelType(LSTMKernelType e) { + return EnumNamesLSTMKernelType()[index]; + } + +-enum CombinerType { ++enum CombinerType : int8_t { + CombinerType_SUM = 0, + CombinerType_MEAN = 1, + CombinerType_SQRTN = 2, +@@ -3223,7 +3846,7 @@ inline const char *EnumNameCombinerType(CombinerType e) { + return EnumNamesCombinerType()[index]; + } + +-enum MirrorPadMode { ++enum MirrorPadMode : int8_t { + MirrorPadMode_REFLECT = 0, + MirrorPadMode_SYMMETRIC = 1, + MirrorPadMode_MIN = MirrorPadMode_REFLECT, +@@ -3253,7 +3876,7 @@ inline const char *EnumNameMirrorPadMode(MirrorPadMode e) { + return EnumNamesMirrorPadMode()[index]; + } + +-enum CustomOptionsFormat { ++enum CustomOptionsFormat : int8_t { + CustomOptionsFormat_FLEXBUFFERS = 0, + CustomOptionsFormat_MIN = CustomOptionsFormat_FLEXBUFFERS, + CustomOptionsFormat_MAX = CustomOptionsFormat_FLEXBUFFERS +@@ -3282,13 +3905,12 @@ inline const char *EnumNameCustomOptionsFormat(CustomOptionsFormat e) { + + struct CustomQuantizationT : public flatbuffers::NativeTable { + typedef CustomQuantization TableType; +- std::vector custom; +- CustomQuantizationT() { +- } ++ std::vector custom{}; + }; + + struct CustomQuantization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CustomQuantizationT NativeTableType; ++ typedef CustomQuantizationBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CUSTOM = 4 + }; +@@ -3307,6 +3929,7 @@ struct CustomQuantization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CustomQuantizationBuilder { ++ typedef CustomQuantization Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_custom(flatbuffers::Offset> custom) { +@@ -3316,7 +3939,6 @@ struct CustomQuantizationBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CustomQuantizationBuilder &operator=(const CustomQuantizationBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3346,19 +3968,17 @@ flatbuffers::Offset CreateCustomQuantization(flatbuffers::Fl + + struct QuantizationParametersT : public flatbuffers::NativeTable { + typedef QuantizationParameters TableType; +- std::vector min; +- std::vector max; +- std::vector scale; +- std::vector zero_point; +- tflite::QuantizationDetailsUnion details; +- int32_t quantized_dimension; +- QuantizationParametersT() +- : quantized_dimension(0) { +- } ++ std::vector min{}; ++ std::vector max{}; ++ std::vector scale{}; ++ std::vector zero_point{}; ++ tflite::QuantizationDetailsUnion details{}; ++ int32_t quantized_dimension = 0; + }; + + struct QuantizationParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantizationParametersT NativeTableType; ++ typedef QuantizationParametersBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MIN = 4, + VT_MAX = 6, +@@ -3419,6 +4039,7 @@ template<> inline const tflite::CustomQuantization *QuantizationParameters::deta + } + + struct QuantizationParametersBuilder { ++ typedef QuantizationParameters Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_min(flatbuffers::Offset> min) { +@@ -3446,7 +4067,6 @@ struct QuantizationParametersBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- QuantizationParametersBuilder &operator=(const QuantizationParametersBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3502,13 +4122,12 @@ flatbuffers::Offset CreateQuantizationParameters(flatbuf + + struct Int32VectorT : public flatbuffers::NativeTable { + typedef Int32Vector TableType; +- std::vector values; +- Int32VectorT() { +- } ++ std::vector values{}; + }; + + struct Int32Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Int32VectorT NativeTableType; ++ typedef Int32VectorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; +@@ -3527,6 +4146,7 @@ struct Int32Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Int32VectorBuilder { ++ typedef Int32Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { +@@ -3536,7 +4156,6 @@ struct Int32VectorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Int32VectorBuilder &operator=(const Int32VectorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3565,13 +4184,12 @@ flatbuffers::Offset CreateInt32Vector(flatbuffers::FlatBufferBuilde + + struct Uint16VectorT : public flatbuffers::NativeTable { + typedef Uint16Vector TableType; +- std::vector values; +- Uint16VectorT() { +- } ++ std::vector values{}; + }; + + struct Uint16Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Uint16VectorT NativeTableType; ++ typedef Uint16VectorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; +@@ -3590,6 +4208,7 @@ struct Uint16Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Uint16VectorBuilder { ++ typedef Uint16Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { +@@ -3599,7 +4218,6 @@ struct Uint16VectorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Uint16VectorBuilder &operator=(const Uint16VectorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3629,13 +4247,12 @@ flatbuffers::Offset CreateUint16Vector(flatbuffers::FlatBufferBuil + + struct Uint8VectorT : public flatbuffers::NativeTable { + typedef Uint8Vector TableType; +- std::vector values; +- Uint8VectorT() { +- } ++ std::vector values{}; + }; + + struct Uint8Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Uint8VectorT NativeTableType; ++ typedef Uint8VectorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES = 4 + }; +@@ -3654,6 +4271,7 @@ struct Uint8Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Uint8VectorBuilder { ++ typedef Uint8Vector Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values(flatbuffers::Offset> values) { +@@ -3663,7 +4281,6 @@ struct Uint8VectorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Uint8VectorBuilder &operator=(const Uint8VectorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3693,18 +4310,15 @@ flatbuffers::Offset CreateUint8Vector(flatbuffers::FlatBufferBuilde + + struct DimensionMetadataT : public flatbuffers::NativeTable { + typedef DimensionMetadata TableType; +- tflite::DimensionType format; +- int32_t dense_size; +- tflite::SparseIndexVectorUnion array_segments; +- tflite::SparseIndexVectorUnion array_indices; +- DimensionMetadataT() +- : format(tflite::DimensionType_DENSE), +- dense_size(0) { +- } ++ tflite::DimensionType format = tflite::DimensionType_DENSE; ++ int32_t dense_size = 0; ++ tflite::SparseIndexVectorUnion array_segments{}; ++ tflite::SparseIndexVectorUnion array_indices{}; + }; + + struct DimensionMetadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DimensionMetadataT NativeTableType; ++ typedef DimensionMetadataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FORMAT = 4, + VT_DENSE_SIZE = 6, +@@ -3793,6 +4407,7 @@ template<> inline const tflite::Uint8Vector *DimensionMetadata::array_indices_as + } + + struct DimensionMetadataBuilder { ++ typedef DimensionMetadata Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_format(tflite::DimensionType format) { +@@ -3817,7 +4432,6 @@ struct DimensionMetadataBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DimensionMetadataBuilder &operator=(const DimensionMetadataBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3847,15 +4461,14 @@ flatbuffers::Offset CreateDimensionMetadata(flatbuffers::Flat + + struct SparsityParametersT : public flatbuffers::NativeTable { + typedef SparsityParameters TableType; +- std::vector traversal_order; +- std::vector block_map; +- std::vector> dim_metadata; +- SparsityParametersT() { +- } ++ std::vector traversal_order{}; ++ std::vector block_map{}; ++ std::vector> dim_metadata{}; + }; + + struct SparsityParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparsityParametersT NativeTableType; ++ typedef SparsityParametersBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TRAVERSAL_ORDER = 4, + VT_BLOCK_MAP = 6, +@@ -3887,6 +4500,7 @@ struct SparsityParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SparsityParametersBuilder { ++ typedef SparsityParameters Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_traversal_order(flatbuffers::Offset> traversal_order) { +@@ -3902,7 +4516,6 @@ struct SparsityParametersBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SparsityParametersBuilder &operator=(const SparsityParametersBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -3941,23 +4554,19 @@ flatbuffers::Offset CreateSparsityParameters(flatbuffers::Fl + + struct TensorT : public flatbuffers::NativeTable { + typedef Tensor TableType; +- std::vector shape; +- tflite::TensorType type; +- uint32_t buffer; +- std::string name; +- std::unique_ptr quantization; +- bool is_variable; +- std::unique_ptr sparsity; +- std::vector shape_signature; +- TensorT() +- : type(tflite::TensorType_FLOAT32), +- buffer(0), +- is_variable(false) { +- } ++ std::vector shape{}; ++ tflite::TensorType type = tflite::TensorType_FLOAT32; ++ uint32_t buffer = 0; ++ std::string name{}; ++ std::unique_ptr quantization{}; ++ bool is_variable = false; ++ std::unique_ptr sparsity{}; ++ std::vector shape_signature{}; + }; + + struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorT NativeTableType; ++ typedef TensorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SHAPE = 4, + VT_TYPE = 6, +@@ -4015,6 +4624,7 @@ struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TensorBuilder { ++ typedef Tensor Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_shape(flatbuffers::Offset> shape) { +@@ -4045,7 +4655,6 @@ struct TensorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TensorBuilder &operator=(const TensorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4104,24 +4713,17 @@ flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder &_fbb, c + + struct Conv2DOptionsT : public flatbuffers::NativeTable { + typedef Conv2DOptions TableType; +- tflite::Padding padding; +- int32_t stride_w; +- int32_t stride_h; +- tflite::ActivationFunctionType fused_activation_function; +- int32_t dilation_w_factor; +- int32_t dilation_h_factor; +- Conv2DOptionsT() +- : padding(tflite::Padding_SAME), +- stride_w(0), +- stride_h(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- dilation_w_factor(1), +- dilation_h_factor(1) { +- } ++ tflite::Padding padding = tflite::Padding_SAME; ++ int32_t stride_w = 0; ++ int32_t stride_h = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ int32_t dilation_w_factor = 1; ++ int32_t dilation_h_factor = 1; + }; + + struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv2DOptionsT NativeTableType; ++ typedef Conv2DOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, +@@ -4164,6 +4766,7 @@ struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Conv2DOptionsBuilder { ++ typedef Conv2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { +@@ -4188,7 +4791,6 @@ struct Conv2DOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Conv2DOptionsBuilder &operator=(const Conv2DOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4218,28 +4820,19 @@ flatbuffers::Offset CreateConv2DOptions(flatbuffers::FlatBufferBu + + struct Conv3DOptionsT : public flatbuffers::NativeTable { + typedef Conv3DOptions TableType; +- tflite::Padding padding; +- int32_t stride_d; +- int32_t stride_w; +- int32_t stride_h; +- tflite::ActivationFunctionType fused_activation_function; +- int32_t dilation_d_factor; +- int32_t dilation_w_factor; +- int32_t dilation_h_factor; +- Conv3DOptionsT() +- : padding(tflite::Padding_SAME), +- stride_d(0), +- stride_w(0), +- stride_h(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- dilation_d_factor(1), +- dilation_w_factor(1), +- dilation_h_factor(1) { +- } ++ tflite::Padding padding = tflite::Padding_SAME; ++ int32_t stride_d = 0; ++ int32_t stride_w = 0; ++ int32_t stride_h = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ int32_t dilation_d_factor = 1; ++ int32_t dilation_w_factor = 1; ++ int32_t dilation_h_factor = 1; + }; + + struct Conv3DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Conv3DOptionsT NativeTableType; ++ typedef Conv3DOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_D = 6, +@@ -4292,6 +4885,7 @@ struct Conv3DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Conv3DOptionsBuilder { ++ typedef Conv3DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { +@@ -4322,7 +4916,6 @@ struct Conv3DOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Conv3DOptionsBuilder &operator=(const Conv3DOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4356,24 +4949,17 @@ flatbuffers::Offset CreateConv3DOptions(flatbuffers::FlatBufferBu + + struct Pool2DOptionsT : public flatbuffers::NativeTable { + typedef Pool2DOptions TableType; +- tflite::Padding padding; +- int32_t stride_w; +- int32_t stride_h; +- int32_t filter_width; +- int32_t filter_height; +- tflite::ActivationFunctionType fused_activation_function; +- Pool2DOptionsT() +- : padding(tflite::Padding_SAME), +- stride_w(0), +- stride_h(0), +- filter_width(0), +- filter_height(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE) { +- } ++ tflite::Padding padding = tflite::Padding_SAME; ++ int32_t stride_w = 0; ++ int32_t stride_h = 0; ++ int32_t filter_width = 0; ++ int32_t filter_height = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + }; + + struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Pool2DOptionsT NativeTableType; ++ typedef Pool2DOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, +@@ -4416,6 +5002,7 @@ struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Pool2DOptionsBuilder { ++ typedef Pool2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { +@@ -4440,7 +5027,6 @@ struct Pool2DOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Pool2DOptionsBuilder &operator=(const Pool2DOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4470,26 +5056,18 @@ flatbuffers::Offset CreatePool2DOptions(flatbuffers::FlatBufferBu + + struct DepthwiseConv2DOptionsT : public flatbuffers::NativeTable { + typedef DepthwiseConv2DOptions TableType; +- tflite::Padding padding; +- int32_t stride_w; +- int32_t stride_h; +- int32_t depth_multiplier; +- tflite::ActivationFunctionType fused_activation_function; +- int32_t dilation_w_factor; +- int32_t dilation_h_factor; +- DepthwiseConv2DOptionsT() +- : padding(tflite::Padding_SAME), +- stride_w(0), +- stride_h(0), +- depth_multiplier(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- dilation_w_factor(1), +- dilation_h_factor(1) { +- } ++ tflite::Padding padding = tflite::Padding_SAME; ++ int32_t stride_w = 0; ++ int32_t stride_h = 0; ++ int32_t depth_multiplier = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ int32_t dilation_w_factor = 1; ++ int32_t dilation_h_factor = 1; + }; + + struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DepthwiseConv2DOptionsT NativeTableType; ++ typedef DepthwiseConv2DOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, +@@ -4537,6 +5115,7 @@ struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + }; + + struct DepthwiseConv2DOptionsBuilder { ++ typedef DepthwiseConv2DOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { +@@ -4564,7 +5143,6 @@ struct DepthwiseConv2DOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DepthwiseConv2DOptionsBuilder &operator=(const DepthwiseConv2DOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4596,16 +5174,14 @@ flatbuffers::Offset CreateDepthwiseConv2DOptions(flatbuf + + struct ConcatEmbeddingsOptionsT : public flatbuffers::NativeTable { + typedef ConcatEmbeddingsOptions TableType; +- int32_t num_channels; +- std::vector num_columns_per_channel; +- std::vector embedding_dim_per_channel; +- ConcatEmbeddingsOptionsT() +- : num_channels(0) { +- } ++ int32_t num_channels = 0; ++ std::vector num_columns_per_channel{}; ++ std::vector embedding_dim_per_channel{}; + }; + + struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConcatEmbeddingsOptionsT NativeTableType; ++ typedef ConcatEmbeddingsOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_CHANNELS = 4, + VT_NUM_COLUMNS_PER_CHANNEL = 6, +@@ -4635,6 +5211,7 @@ struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Ta + }; + + struct ConcatEmbeddingsOptionsBuilder { ++ typedef ConcatEmbeddingsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_channels(int32_t num_channels) { +@@ -4650,7 +5227,6 @@ struct ConcatEmbeddingsOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ConcatEmbeddingsOptionsBuilder &operator=(const ConcatEmbeddingsOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4688,14 +5264,12 @@ flatbuffers::Offset CreateConcatEmbeddingsOptions(flatb + + struct LSHProjectionOptionsT : public flatbuffers::NativeTable { + typedef LSHProjectionOptions TableType; +- tflite::LSHProjectionType type; +- LSHProjectionOptionsT() +- : type(tflite::LSHProjectionType_UNKNOWN) { +- } ++ tflite::LSHProjectionType type = tflite::LSHProjectionType_UNKNOWN; + }; + + struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSHProjectionOptionsT NativeTableType; ++ typedef LSHProjectionOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TYPE = 4 + }; +@@ -4713,6 +5287,7 @@ struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct LSHProjectionOptionsBuilder { ++ typedef LSHProjectionOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_type(tflite::LSHProjectionType type) { +@@ -4722,7 +5297,6 @@ struct LSHProjectionOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LSHProjectionOptionsBuilder &operator=(const LSHProjectionOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4742,18 +5316,14 @@ flatbuffers::Offset CreateLSHProjectionOptions(flatbuffers + + struct SVDFOptionsT : public flatbuffers::NativeTable { + typedef SVDFOptions TableType; +- int32_t rank; +- tflite::ActivationFunctionType fused_activation_function; +- bool asymmetric_quantize_inputs; +- SVDFOptionsT() +- : rank(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- asymmetric_quantize_inputs(false) { +- } ++ int32_t rank = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool asymmetric_quantize_inputs = false; + }; + + struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SVDFOptionsT NativeTableType; ++ typedef SVDFOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_RANK = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, +@@ -4781,6 +5351,7 @@ struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SVDFOptionsBuilder { ++ typedef SVDFOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_rank(int32_t rank) { +@@ -4796,7 +5367,6 @@ struct SVDFOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SVDFOptionsBuilder &operator=(const SVDFOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4820,16 +5390,13 @@ flatbuffers::Offset CreateSVDFOptions(flatbuffers::FlatBufferBuilde + + struct RNNOptionsT : public flatbuffers::NativeTable { + typedef RNNOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- bool asymmetric_quantize_inputs; +- RNNOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- asymmetric_quantize_inputs(false) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool asymmetric_quantize_inputs = false; + }; + + struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RNNOptionsT NativeTableType; ++ typedef RNNOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_ASYMMETRIC_QUANTIZE_INPUTS = 6 +@@ -4852,6 +5419,7 @@ struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct RNNOptionsBuilder { ++ typedef RNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -4864,7 +5432,6 @@ struct RNNOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- RNNOptionsBuilder &operator=(const RNNOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4886,18 +5453,14 @@ flatbuffers::Offset CreateRNNOptions(flatbuffers::FlatBufferBuilder + + struct SequenceRNNOptionsT : public flatbuffers::NativeTable { + typedef SequenceRNNOptions TableType; +- bool time_major; +- tflite::ActivationFunctionType fused_activation_function; +- bool asymmetric_quantize_inputs; +- SequenceRNNOptionsT() +- : time_major(false), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- asymmetric_quantize_inputs(false) { +- } ++ bool time_major = false; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool asymmetric_quantize_inputs = false; + }; + + struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SequenceRNNOptionsT NativeTableType; ++ typedef SequenceRNNOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TIME_MAJOR = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, +@@ -4925,6 +5488,7 @@ struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SequenceRNNOptionsBuilder { ++ typedef SequenceRNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_time_major(bool time_major) { +@@ -4940,7 +5504,6 @@ struct SequenceRNNOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SequenceRNNOptionsBuilder &operator=(const SequenceRNNOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -4964,20 +5527,15 @@ flatbuffers::Offset CreateSequenceRNNOptions(flatbuffers::Fl + + struct BidirectionalSequenceRNNOptionsT : public flatbuffers::NativeTable { + typedef BidirectionalSequenceRNNOptions TableType; +- bool time_major; +- tflite::ActivationFunctionType fused_activation_function; +- bool merge_outputs; +- bool asymmetric_quantize_inputs; +- BidirectionalSequenceRNNOptionsT() +- : time_major(false), +- fused_activation_function(tflite::ActivationFunctionType_NONE), +- merge_outputs(false), +- asymmetric_quantize_inputs(false) { +- } ++ bool time_major = false; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool merge_outputs = false; ++ bool asymmetric_quantize_inputs = false; + }; + + struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BidirectionalSequenceRNNOptionsT NativeTableType; ++ typedef BidirectionalSequenceRNNOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TIME_MAJOR = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6, +@@ -5010,6 +5568,7 @@ struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuf + }; + + struct BidirectionalSequenceRNNOptionsBuilder { ++ typedef BidirectionalSequenceRNNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_time_major(bool time_major) { +@@ -5028,7 +5587,6 @@ struct BidirectionalSequenceRNNOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BidirectionalSequenceRNNOptionsBuilder &operator=(const BidirectionalSequenceRNNOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5054,20 +5612,15 @@ flatbuffers::Offset CreateBidirectionalSequence + + struct FullyConnectedOptionsT : public flatbuffers::NativeTable { + typedef FullyConnectedOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- tflite::FullyConnectedOptionsWeightsFormat weights_format; +- bool keep_num_dims; +- bool asymmetric_quantize_inputs; +- FullyConnectedOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- weights_format(tflite::FullyConnectedOptionsWeightsFormat_DEFAULT), +- keep_num_dims(false), +- asymmetric_quantize_inputs(false) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ tflite::FullyConnectedOptionsWeightsFormat weights_format = tflite::FullyConnectedOptionsWeightsFormat_DEFAULT; ++ bool keep_num_dims = false; ++ bool asymmetric_quantize_inputs = false; + }; + + struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FullyConnectedOptionsT NativeTableType; ++ typedef FullyConnectedOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_WEIGHTS_FORMAT = 6, +@@ -5100,6 +5653,7 @@ struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct FullyConnectedOptionsBuilder { ++ typedef FullyConnectedOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5118,7 +5672,6 @@ struct FullyConnectedOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FullyConnectedOptionsBuilder &operator=(const FullyConnectedOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5144,14 +5697,12 @@ flatbuffers::Offset CreateFullyConnectedOptions(flatbuffe + + struct SoftmaxOptionsT : public flatbuffers::NativeTable { + typedef SoftmaxOptions TableType; +- float beta; +- SoftmaxOptionsT() +- : beta(0.0f) { +- } ++ float beta = 0.0f; + }; + + struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SoftmaxOptionsT NativeTableType; ++ typedef SoftmaxOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BETA = 4 + }; +@@ -5169,6 +5720,7 @@ struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SoftmaxOptionsBuilder { ++ typedef SoftmaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_beta(float beta) { +@@ -5178,7 +5730,6 @@ struct SoftmaxOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SoftmaxOptionsBuilder &operator=(const SoftmaxOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5198,16 +5749,13 @@ flatbuffers::Offset CreateSoftmaxOptions(flatbuffers::FlatBuffer + + struct ConcatenationOptionsT : public flatbuffers::NativeTable { + typedef ConcatenationOptions TableType; +- int32_t axis; +- tflite::ActivationFunctionType fused_activation_function; +- ConcatenationOptionsT() +- : axis(0), +- fused_activation_function(tflite::ActivationFunctionType_NONE) { +- } ++ int32_t axis = 0; ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + }; + + struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ConcatenationOptionsT NativeTableType; ++ typedef ConcatenationOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_FUSED_ACTIVATION_FUNCTION = 6 +@@ -5230,6 +5778,7 @@ struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct ConcatenationOptionsBuilder { ++ typedef ConcatenationOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { +@@ -5242,7 +5791,6 @@ struct ConcatenationOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ConcatenationOptionsBuilder &operator=(const ConcatenationOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5264,16 +5812,13 @@ flatbuffers::Offset CreateConcatenationOptions(flatbuffers + + struct AddOptionsT : public flatbuffers::NativeTable { + typedef AddOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- bool pot_scale_int16; +- AddOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- pot_scale_int16(true) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool pot_scale_int16 = true; + }; + + struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddOptionsT NativeTableType; ++ typedef AddOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_POT_SCALE_INT16 = 6 +@@ -5296,6 +5841,7 @@ struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct AddOptionsBuilder { ++ typedef AddOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5308,7 +5854,6 @@ struct AddOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- AddOptionsBuilder &operator=(const AddOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5330,14 +5875,12 @@ flatbuffers::Offset CreateAddOptions(flatbuffers::FlatBufferBuilder + + struct MulOptionsT : public flatbuffers::NativeTable { + typedef MulOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- MulOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + }; + + struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MulOptionsT NativeTableType; ++ typedef MulOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; +@@ -5355,6 +5898,7 @@ struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct MulOptionsBuilder { ++ typedef MulOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5364,7 +5908,6 @@ struct MulOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MulOptionsBuilder &operator=(const MulOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5384,14 +5927,12 @@ flatbuffers::Offset CreateMulOptions(flatbuffers::FlatBufferBuilder + + struct L2NormOptionsT : public flatbuffers::NativeTable { + typedef L2NormOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- L2NormOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + }; + + struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef L2NormOptionsT NativeTableType; ++ typedef L2NormOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; +@@ -5409,6 +5950,7 @@ struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct L2NormOptionsBuilder { ++ typedef L2NormOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5418,7 +5960,6 @@ struct L2NormOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- L2NormOptionsBuilder &operator=(const L2NormOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5438,20 +5979,15 @@ flatbuffers::Offset CreateL2NormOptions(flatbuffers::FlatBufferBu + + struct LocalResponseNormalizationOptionsT : public flatbuffers::NativeTable { + typedef LocalResponseNormalizationOptions TableType; +- int32_t radius; +- float bias; +- float alpha; +- float beta; +- LocalResponseNormalizationOptionsT() +- : radius(0), +- bias(0.0f), +- alpha(0.0f), +- beta(0.0f) { +- } ++ int32_t radius = 0; ++ float bias = 0.0f; ++ float alpha = 0.0f; ++ float beta = 0.0f; + }; + + struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LocalResponseNormalizationOptionsT NativeTableType; ++ typedef LocalResponseNormalizationOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_RADIUS = 4, + VT_BIAS = 6, +@@ -5484,6 +6020,7 @@ struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatb + }; + + struct LocalResponseNormalizationOptionsBuilder { ++ typedef LocalResponseNormalizationOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_radius(int32_t radius) { +@@ -5502,7 +6039,6 @@ struct LocalResponseNormalizationOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LocalResponseNormalizationOptionsBuilder &operator=(const LocalResponseNormalizationOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5528,22 +6064,16 @@ flatbuffers::Offset CreateLocalResponseNormal + + struct LSTMOptionsT : public flatbuffers::NativeTable { + typedef LSTMOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- float cell_clip; +- float proj_clip; +- tflite::LSTMKernelType kernel_type; +- bool asymmetric_quantize_inputs; +- LSTMOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- cell_clip(0.0f), +- proj_clip(0.0f), +- kernel_type(tflite::LSTMKernelType_FULL), +- asymmetric_quantize_inputs(false) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ float cell_clip = 0.0f; ++ float proj_clip = 0.0f; ++ tflite::LSTMKernelType kernel_type = tflite::LSTMKernelType_FULL; ++ bool asymmetric_quantize_inputs = false; + }; + + struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LSTMOptionsT NativeTableType; ++ typedef LSTMOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, +@@ -5581,6 +6111,7 @@ struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LSTMOptionsBuilder { ++ typedef LSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5602,7 +6133,6 @@ struct LSTMOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LSTMOptionsBuilder &operator=(const LSTMOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5630,22 +6160,16 @@ flatbuffers::Offset CreateLSTMOptions(flatbuffers::FlatBufferBuilde + + struct UnidirectionalSequenceLSTMOptionsT : public flatbuffers::NativeTable { + typedef UnidirectionalSequenceLSTMOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- float cell_clip; +- float proj_clip; +- bool time_major; +- bool asymmetric_quantize_inputs; +- UnidirectionalSequenceLSTMOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- cell_clip(0.0f), +- proj_clip(0.0f), +- time_major(false), +- asymmetric_quantize_inputs(false) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ float cell_clip = 0.0f; ++ float proj_clip = 0.0f; ++ bool time_major = false; ++ bool asymmetric_quantize_inputs = false; + }; + + struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnidirectionalSequenceLSTMOptionsT NativeTableType; ++ typedef UnidirectionalSequenceLSTMOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, +@@ -5683,6 +6207,7 @@ struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatb + }; + + struct UnidirectionalSequenceLSTMOptionsBuilder { ++ typedef UnidirectionalSequenceLSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5704,7 +6229,6 @@ struct UnidirectionalSequenceLSTMOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- UnidirectionalSequenceLSTMOptionsBuilder &operator=(const UnidirectionalSequenceLSTMOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5732,24 +6256,17 @@ flatbuffers::Offset CreateUnidirectionalSeque + + struct BidirectionalSequenceLSTMOptionsT : public flatbuffers::NativeTable { + typedef BidirectionalSequenceLSTMOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- float cell_clip; +- float proj_clip; +- bool merge_outputs; +- bool time_major; +- bool asymmetric_quantize_inputs; +- BidirectionalSequenceLSTMOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- cell_clip(0.0f), +- proj_clip(0.0f), +- merge_outputs(false), +- time_major(true), +- asymmetric_quantize_inputs(false) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ float cell_clip = 0.0f; ++ float proj_clip = 0.0f; ++ bool merge_outputs = false; ++ bool time_major = true; ++ bool asymmetric_quantize_inputs = false; + }; + + struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BidirectionalSequenceLSTMOptionsT NativeTableType; ++ typedef BidirectionalSequenceLSTMOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_CELL_CLIP = 6, +@@ -5792,6 +6309,7 @@ struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbu + }; + + struct BidirectionalSequenceLSTMOptionsBuilder { ++ typedef BidirectionalSequenceLSTMOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -5816,7 +6334,6 @@ struct BidirectionalSequenceLSTMOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BidirectionalSequenceLSTMOptionsBuilder &operator=(const BidirectionalSequenceLSTMOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5846,16 +6363,13 @@ flatbuffers::Offset CreateBidirectionalSequenc + + struct ResizeBilinearOptionsT : public flatbuffers::NativeTable { + typedef ResizeBilinearOptions TableType; +- bool align_corners; +- bool half_pixel_centers; +- ResizeBilinearOptionsT() +- : align_corners(false), +- half_pixel_centers(false) { +- } ++ bool align_corners = false; ++ bool half_pixel_centers = false; + }; + + struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeBilinearOptionsT NativeTableType; ++ typedef ResizeBilinearOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALIGN_CORNERS = 8, + VT_HALF_PIXEL_CENTERS = 10 +@@ -5878,6 +6392,7 @@ struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct ResizeBilinearOptionsBuilder { ++ typedef ResizeBilinearOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_align_corners(bool align_corners) { +@@ -5890,7 +6405,6 @@ struct ResizeBilinearOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ResizeBilinearOptionsBuilder &operator=(const ResizeBilinearOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5912,16 +6426,13 @@ flatbuffers::Offset CreateResizeBilinearOptions(flatbuffe + + struct ResizeNearestNeighborOptionsT : public flatbuffers::NativeTable { + typedef ResizeNearestNeighborOptions TableType; +- bool align_corners; +- bool half_pixel_centers; +- ResizeNearestNeighborOptionsT() +- : align_corners(false), +- half_pixel_centers(false) { +- } ++ bool align_corners = false; ++ bool half_pixel_centers = false; + }; + + struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ResizeNearestNeighborOptionsT NativeTableType; ++ typedef ResizeNearestNeighborOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALIGN_CORNERS = 4, + VT_HALF_PIXEL_CENTERS = 6 +@@ -5944,6 +6455,7 @@ struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffer + }; + + struct ResizeNearestNeighborOptionsBuilder { ++ typedef ResizeNearestNeighborOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_align_corners(bool align_corners) { +@@ -5956,7 +6468,6 @@ struct ResizeNearestNeighborOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ResizeNearestNeighborOptionsBuilder &operator=(const ResizeNearestNeighborOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -5978,14 +6489,12 @@ flatbuffers::Offset CreateResizeNearestNeighborOpt + + struct CallOptionsT : public flatbuffers::NativeTable { + typedef CallOptions TableType; +- uint32_t subgraph; +- CallOptionsT() +- : subgraph(0) { +- } ++ uint32_t subgraph = 0; + }; + + struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CallOptionsT NativeTableType; ++ typedef CallOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SUBGRAPH = 4 + }; +@@ -6003,6 +6512,7 @@ struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CallOptionsBuilder { ++ typedef CallOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_subgraph(uint32_t subgraph) { +@@ -6012,7 +6522,6 @@ struct CallOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CallOptionsBuilder &operator=(const CallOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6032,12 +6541,11 @@ flatbuffers::Offset CreateCallOptions(flatbuffers::FlatBufferBuilde + + struct PadOptionsT : public flatbuffers::NativeTable { + typedef PadOptions TableType; +- PadOptionsT() { +- } + }; + + struct PadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PadOptionsT NativeTableType; ++ typedef PadOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6048,13 +6556,13 @@ struct PadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct PadOptionsBuilder { ++ typedef PadOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- PadOptionsBuilder &operator=(const PadOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6072,12 +6580,11 @@ flatbuffers::Offset CreatePadOptions(flatbuffers::FlatBufferBuilder + + struct PadV2OptionsT : public flatbuffers::NativeTable { + typedef PadV2Options TableType; +- PadV2OptionsT() { +- } + }; + + struct PadV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PadV2OptionsT NativeTableType; ++ typedef PadV2OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6088,13 +6595,13 @@ struct PadV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct PadV2OptionsBuilder { ++ typedef PadV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PadV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- PadV2OptionsBuilder &operator=(const PadV2OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6112,13 +6619,12 @@ flatbuffers::Offset CreatePadV2Options(flatbuffers::FlatBufferBuil + + struct ReshapeOptionsT : public flatbuffers::NativeTable { + typedef ReshapeOptions TableType; +- std::vector new_shape; +- ReshapeOptionsT() { +- } ++ std::vector new_shape{}; + }; + + struct ReshapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReshapeOptionsT NativeTableType; ++ typedef ReshapeOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NEW_SHAPE = 4 + }; +@@ -6137,6 +6643,7 @@ struct ReshapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ReshapeOptionsBuilder { ++ typedef ReshapeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_new_shape(flatbuffers::Offset> new_shape) { +@@ -6146,7 +6653,6 @@ struct ReshapeOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ReshapeOptionsBuilder &operator=(const ReshapeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6175,12 +6681,11 @@ flatbuffers::Offset CreateReshapeOptions(flatbuffers::FlatBuffer + + struct SpaceToBatchNDOptionsT : public flatbuffers::NativeTable { + typedef SpaceToBatchNDOptions TableType; +- SpaceToBatchNDOptionsT() { +- } + }; + + struct SpaceToBatchNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToBatchNDOptionsT NativeTableType; ++ typedef SpaceToBatchNDOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6191,13 +6696,13 @@ struct SpaceToBatchNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct SpaceToBatchNDOptionsBuilder { ++ typedef SpaceToBatchNDOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SpaceToBatchNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SpaceToBatchNDOptionsBuilder &operator=(const SpaceToBatchNDOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6215,12 +6720,11 @@ flatbuffers::Offset CreateSpaceToBatchNDOptions(flatbuffe + + struct BatchToSpaceNDOptionsT : public flatbuffers::NativeTable { + typedef BatchToSpaceNDOptions TableType; +- BatchToSpaceNDOptionsT() { +- } + }; + + struct BatchToSpaceNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchToSpaceNDOptionsT NativeTableType; ++ typedef BatchToSpaceNDOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6231,13 +6735,13 @@ struct BatchToSpaceNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct BatchToSpaceNDOptionsBuilder { ++ typedef BatchToSpaceNDOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit BatchToSpaceNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BatchToSpaceNDOptionsBuilder &operator=(const BatchToSpaceNDOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6255,18 +6759,14 @@ flatbuffers::Offset CreateBatchToSpaceNDOptions(flatbuffe + + struct SkipGramOptionsT : public flatbuffers::NativeTable { + typedef SkipGramOptions TableType; +- int32_t ngram_size; +- int32_t max_skip_size; +- bool include_all_ngrams; +- SkipGramOptionsT() +- : ngram_size(0), +- max_skip_size(0), +- include_all_ngrams(false) { +- } ++ int32_t ngram_size = 0; ++ int32_t max_skip_size = 0; ++ bool include_all_ngrams = false; + }; + + struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SkipGramOptionsT NativeTableType; ++ typedef SkipGramOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NGRAM_SIZE = 4, + VT_MAX_SKIP_SIZE = 6, +@@ -6294,6 +6794,7 @@ struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SkipGramOptionsBuilder { ++ typedef SkipGramOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_ngram_size(int32_t ngram_size) { +@@ -6309,7 +6810,6 @@ struct SkipGramOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SkipGramOptionsBuilder &operator=(const SkipGramOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6333,14 +6833,12 @@ flatbuffers::Offset CreateSkipGramOptions(flatbuffers::FlatBuff + + struct SpaceToDepthOptionsT : public flatbuffers::NativeTable { + typedef SpaceToDepthOptions TableType; +- int32_t block_size; +- SpaceToDepthOptionsT() +- : block_size(0) { +- } ++ int32_t block_size = 0; + }; + + struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SpaceToDepthOptionsT NativeTableType; ++ typedef SpaceToDepthOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4 + }; +@@ -6358,6 +6856,7 @@ struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct SpaceToDepthOptionsBuilder { ++ typedef SpaceToDepthOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int32_t block_size) { +@@ -6367,7 +6866,6 @@ struct SpaceToDepthOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SpaceToDepthOptionsBuilder &operator=(const SpaceToDepthOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6387,14 +6885,12 @@ flatbuffers::Offset CreateSpaceToDepthOptions(flatbuffers:: + + struct DepthToSpaceOptionsT : public flatbuffers::NativeTable { + typedef DepthToSpaceOptions TableType; +- int32_t block_size; +- DepthToSpaceOptionsT() +- : block_size(0) { +- } ++ int32_t block_size = 0; + }; + + struct DepthToSpaceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DepthToSpaceOptionsT NativeTableType; ++ typedef DepthToSpaceOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BLOCK_SIZE = 4 + }; +@@ -6412,6 +6908,7 @@ struct DepthToSpaceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct DepthToSpaceOptionsBuilder { ++ typedef DepthToSpaceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_block_size(int32_t block_size) { +@@ -6421,7 +6918,6 @@ struct DepthToSpaceOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DepthToSpaceOptionsBuilder &operator=(const DepthToSpaceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6441,16 +6937,13 @@ flatbuffers::Offset CreateDepthToSpaceOptions(flatbuffers:: + + struct SubOptionsT : public flatbuffers::NativeTable { + typedef SubOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- bool pot_scale_int16; +- SubOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE), +- pot_scale_int16(true) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; ++ bool pot_scale_int16 = true; + }; + + struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubOptionsT NativeTableType; ++ typedef SubOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4, + VT_POT_SCALE_INT16 = 6 +@@ -6473,6 +6966,7 @@ struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SubOptionsBuilder { ++ typedef SubOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -6485,7 +6979,6 @@ struct SubOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SubOptionsBuilder &operator=(const SubOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6507,14 +7000,12 @@ flatbuffers::Offset CreateSubOptions(flatbuffers::FlatBufferBuilder + + struct DivOptionsT : public flatbuffers::NativeTable { + typedef DivOptions TableType; +- tflite::ActivationFunctionType fused_activation_function; +- DivOptionsT() +- : fused_activation_function(tflite::ActivationFunctionType_NONE) { +- } ++ tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE; + }; + + struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DivOptionsT NativeTableType; ++ typedef DivOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_FUSED_ACTIVATION_FUNCTION = 4 + }; +@@ -6532,6 +7023,7 @@ struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct DivOptionsBuilder { ++ typedef DivOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { +@@ -6541,7 +7033,6 @@ struct DivOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DivOptionsBuilder &operator=(const DivOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6561,12 +7052,11 @@ flatbuffers::Offset CreateDivOptions(flatbuffers::FlatBufferBuilder + + struct TopKV2OptionsT : public flatbuffers::NativeTable { + typedef TopKV2Options TableType; +- TopKV2OptionsT() { +- } + }; + + struct TopKV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TopKV2OptionsT NativeTableType; ++ typedef TopKV2OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6577,13 +7067,13 @@ struct TopKV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TopKV2OptionsBuilder { ++ typedef TopKV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TopKV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TopKV2OptionsBuilder &operator=(const TopKV2OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6601,14 +7091,12 @@ flatbuffers::Offset CreateTopKV2Options(flatbuffers::FlatBufferBu + + struct EmbeddingLookupSparseOptionsT : public flatbuffers::NativeTable { + typedef EmbeddingLookupSparseOptions TableType; +- tflite::CombinerType combiner; +- EmbeddingLookupSparseOptionsT() +- : combiner(tflite::CombinerType_SUM) { +- } ++ tflite::CombinerType combiner = tflite::CombinerType_SUM; + }; + + struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EmbeddingLookupSparseOptionsT NativeTableType; ++ typedef EmbeddingLookupSparseOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COMBINER = 4 + }; +@@ -6626,6 +7114,7 @@ struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffer + }; + + struct EmbeddingLookupSparseOptionsBuilder { ++ typedef EmbeddingLookupSparseOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_combiner(tflite::CombinerType combiner) { +@@ -6635,7 +7124,6 @@ struct EmbeddingLookupSparseOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- EmbeddingLookupSparseOptionsBuilder &operator=(const EmbeddingLookupSparseOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6655,16 +7143,13 @@ flatbuffers::Offset CreateEmbeddingLookupSparseOpt + + struct GatherOptionsT : public flatbuffers::NativeTable { + typedef GatherOptions TableType; +- int32_t axis; +- int32_t batch_dims; +- GatherOptionsT() +- : axis(0), +- batch_dims(0) { +- } ++ int32_t axis = 0; ++ int32_t batch_dims = 0; + }; + + struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherOptionsT NativeTableType; ++ typedef GatherOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4, + VT_BATCH_DIMS = 6 +@@ -6687,6 +7172,7 @@ struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct GatherOptionsBuilder { ++ typedef GatherOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { +@@ -6699,7 +7185,6 @@ struct GatherOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GatherOptionsBuilder &operator=(const GatherOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6721,12 +7206,11 @@ flatbuffers::Offset CreateGatherOptions(flatbuffers::FlatBufferBu + + struct TransposeOptionsT : public flatbuffers::NativeTable { + typedef TransposeOptions TableType; +- TransposeOptionsT() { +- } + }; + + struct TransposeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeOptionsT NativeTableType; ++ typedef TransposeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6737,13 +7221,13 @@ struct TransposeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TransposeOptionsBuilder { ++ typedef TransposeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TransposeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TransposeOptionsBuilder &operator=(const TransposeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6761,12 +7245,11 @@ flatbuffers::Offset CreateTransposeOptions(flatbuffers::FlatBu + + struct ExpOptionsT : public flatbuffers::NativeTable { + typedef ExpOptions TableType; +- ExpOptionsT() { +- } + }; + + struct ExpOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpOptionsT NativeTableType; ++ typedef ExpOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6777,13 +7260,13 @@ struct ExpOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ExpOptionsBuilder { ++ typedef ExpOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ExpOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ExpOptionsBuilder &operator=(const ExpOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6801,12 +7284,11 @@ flatbuffers::Offset CreateExpOptions(flatbuffers::FlatBufferBuilder + + struct CosOptionsT : public flatbuffers::NativeTable { + typedef CosOptions TableType; +- CosOptionsT() { +- } + }; + + struct CosOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CosOptionsT NativeTableType; ++ typedef CosOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -6817,13 +7299,13 @@ struct CosOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CosOptionsBuilder { ++ typedef CosOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit CosOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CosOptionsBuilder &operator=(const CosOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6841,14 +7323,12 @@ flatbuffers::Offset CreateCosOptions(flatbuffers::FlatBufferBuilder + + struct ReducerOptionsT : public flatbuffers::NativeTable { + typedef ReducerOptions TableType; +- bool keep_dims; +- ReducerOptionsT() +- : keep_dims(false) { +- } ++ bool keep_dims = false; + }; + + struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReducerOptionsT NativeTableType; ++ typedef ReducerOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_KEEP_DIMS = 4 + }; +@@ -6866,6 +7346,7 @@ struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ReducerOptionsBuilder { ++ typedef ReducerOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_keep_dims(bool keep_dims) { +@@ -6875,7 +7356,6 @@ struct ReducerOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ReducerOptionsBuilder &operator=(const ReducerOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6895,13 +7375,12 @@ flatbuffers::Offset CreateReducerOptions(flatbuffers::FlatBuffer + + struct SqueezeOptionsT : public flatbuffers::NativeTable { + typedef SqueezeOptions TableType; +- std::vector squeeze_dims; +- SqueezeOptionsT() { +- } ++ std::vector squeeze_dims{}; + }; + + struct SqueezeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SqueezeOptionsT NativeTableType; ++ typedef SqueezeOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SQUEEZE_DIMS = 4 + }; +@@ -6920,6 +7399,7 @@ struct SqueezeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SqueezeOptionsBuilder { ++ typedef SqueezeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_squeeze_dims(flatbuffers::Offset> squeeze_dims) { +@@ -6929,7 +7409,6 @@ struct SqueezeOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SqueezeOptionsBuilder &operator=(const SqueezeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -6958,14 +7437,12 @@ flatbuffers::Offset CreateSqueezeOptions(flatbuffers::FlatBuffer + + struct SplitOptionsT : public flatbuffers::NativeTable { + typedef SplitOptions TableType; +- int32_t num_splits; +- SplitOptionsT() +- : num_splits(0) { +- } ++ int32_t num_splits = 0; + }; + + struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitOptionsT NativeTableType; ++ typedef SplitOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_SPLITS = 4 + }; +@@ -6983,6 +7460,7 @@ struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SplitOptionsBuilder { ++ typedef SplitOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_splits(int32_t num_splits) { +@@ -6992,7 +7470,6 @@ struct SplitOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SplitOptionsBuilder &operator=(const SplitOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7012,14 +7489,12 @@ flatbuffers::Offset CreateSplitOptions(flatbuffers::FlatBufferBuil + + struct SplitVOptionsT : public flatbuffers::NativeTable { + typedef SplitVOptions TableType; +- int32_t num_splits; +- SplitVOptionsT() +- : num_splits(0) { +- } ++ int32_t num_splits = 0; + }; + + struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SplitVOptionsT NativeTableType; ++ typedef SplitVOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM_SPLITS = 4 + }; +@@ -7037,6 +7512,7 @@ struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SplitVOptionsBuilder { ++ typedef SplitVOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num_splits(int32_t num_splits) { +@@ -7046,7 +7522,6 @@ struct SplitVOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SplitVOptionsBuilder &operator=(const SplitVOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7066,22 +7541,16 @@ flatbuffers::Offset CreateSplitVOptions(flatbuffers::FlatBufferBu + + struct StridedSliceOptionsT : public flatbuffers::NativeTable { + typedef StridedSliceOptions TableType; +- int32_t begin_mask; +- int32_t end_mask; +- int32_t ellipsis_mask; +- int32_t new_axis_mask; +- int32_t shrink_axis_mask; +- StridedSliceOptionsT() +- : begin_mask(0), +- end_mask(0), +- ellipsis_mask(0), +- new_axis_mask(0), +- shrink_axis_mask(0) { +- } ++ int32_t begin_mask = 0; ++ int32_t end_mask = 0; ++ int32_t ellipsis_mask = 0; ++ int32_t new_axis_mask = 0; ++ int32_t shrink_axis_mask = 0; + }; + + struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef StridedSliceOptionsT NativeTableType; ++ typedef StridedSliceOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BEGIN_MASK = 4, + VT_END_MASK = 6, +@@ -7119,6 +7588,7 @@ struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct StridedSliceOptionsBuilder { ++ typedef StridedSliceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_begin_mask(int32_t begin_mask) { +@@ -7140,7 +7610,6 @@ struct StridedSliceOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- StridedSliceOptionsBuilder &operator=(const StridedSliceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7168,12 +7637,11 @@ flatbuffers::Offset CreateStridedSliceOptions(flatbuffers:: + + struct LogSoftmaxOptionsT : public flatbuffers::NativeTable { + typedef LogSoftmaxOptions TableType; +- LogSoftmaxOptionsT() { +- } + }; + + struct LogSoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogSoftmaxOptionsT NativeTableType; ++ typedef LogSoftmaxOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7184,13 +7652,13 @@ struct LogSoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LogSoftmaxOptionsBuilder { ++ typedef LogSoftmaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogSoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LogSoftmaxOptionsBuilder &operator=(const LogSoftmaxOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7208,16 +7676,13 @@ flatbuffers::Offset CreateLogSoftmaxOptions(flatbuffers::Flat + + struct CastOptionsT : public flatbuffers::NativeTable { + typedef CastOptions TableType; +- tflite::TensorType in_data_type; +- tflite::TensorType out_data_type; +- CastOptionsT() +- : in_data_type(tflite::TensorType_FLOAT32), +- out_data_type(tflite::TensorType_FLOAT32) { +- } ++ tflite::TensorType in_data_type = tflite::TensorType_FLOAT32; ++ tflite::TensorType out_data_type = tflite::TensorType_FLOAT32; + }; + + struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CastOptionsT NativeTableType; ++ typedef CastOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IN_DATA_TYPE = 4, + VT_OUT_DATA_TYPE = 6 +@@ -7240,6 +7705,7 @@ struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CastOptionsBuilder { ++ typedef CastOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_in_data_type(tflite::TensorType in_data_type) { +@@ -7252,7 +7718,6 @@ struct CastOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CastOptionsBuilder &operator=(const CastOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7274,12 +7739,11 @@ flatbuffers::Offset CreateCastOptions(flatbuffers::FlatBufferBuilde + + struct DequantizeOptionsT : public flatbuffers::NativeTable { + typedef DequantizeOptions TableType; +- DequantizeOptionsT() { +- } + }; + + struct DequantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DequantizeOptionsT NativeTableType; ++ typedef DequantizeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7290,13 +7754,13 @@ struct DequantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct DequantizeOptionsBuilder { ++ typedef DequantizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DequantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DequantizeOptionsBuilder &operator=(const DequantizeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7314,12 +7778,11 @@ flatbuffers::Offset CreateDequantizeOptions(flatbuffers::Flat + + struct MaximumMinimumOptionsT : public flatbuffers::NativeTable { + typedef MaximumMinimumOptions TableType; +- MaximumMinimumOptionsT() { +- } + }; + + struct MaximumMinimumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MaximumMinimumOptionsT NativeTableType; ++ typedef MaximumMinimumOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7330,13 +7793,13 @@ struct MaximumMinimumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct MaximumMinimumOptionsBuilder { ++ typedef MaximumMinimumOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MaximumMinimumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MaximumMinimumOptionsBuilder &operator=(const MaximumMinimumOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7354,12 +7817,11 @@ flatbuffers::Offset CreateMaximumMinimumOptions(flatbuffe + + struct TileOptionsT : public flatbuffers::NativeTable { + typedef TileOptions TableType; +- TileOptionsT() { +- } + }; + + struct TileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TileOptionsT NativeTableType; ++ typedef TileOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7370,13 +7832,13 @@ struct TileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TileOptionsBuilder { ++ typedef TileOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit TileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TileOptionsBuilder &operator=(const TileOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7394,14 +7856,12 @@ flatbuffers::Offset CreateTileOptions(flatbuffers::FlatBufferBuilde + + struct ArgMaxOptionsT : public flatbuffers::NativeTable { + typedef ArgMaxOptions TableType; +- tflite::TensorType output_type; +- ArgMaxOptionsT() +- : output_type(tflite::TensorType_FLOAT32) { +- } ++ tflite::TensorType output_type = tflite::TensorType_FLOAT32; + }; + + struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMaxOptionsT NativeTableType; ++ typedef ArgMaxOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_TYPE = 4 + }; +@@ -7419,6 +7879,7 @@ struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ArgMaxOptionsBuilder { ++ typedef ArgMaxOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_type(tflite::TensorType output_type) { +@@ -7428,7 +7889,6 @@ struct ArgMaxOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ArgMaxOptionsBuilder &operator=(const ArgMaxOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7448,14 +7908,12 @@ flatbuffers::Offset CreateArgMaxOptions(flatbuffers::FlatBufferBu + + struct ArgMinOptionsT : public flatbuffers::NativeTable { + typedef ArgMinOptions TableType; +- tflite::TensorType output_type; +- ArgMinOptionsT() +- : output_type(tflite::TensorType_FLOAT32) { +- } ++ tflite::TensorType output_type = tflite::TensorType_FLOAT32; + }; + + struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ArgMinOptionsT NativeTableType; ++ typedef ArgMinOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUTPUT_TYPE = 4 + }; +@@ -7473,6 +7931,7 @@ struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ArgMinOptionsBuilder { ++ typedef ArgMinOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_output_type(tflite::TensorType output_type) { +@@ -7482,7 +7941,6 @@ struct ArgMinOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ArgMinOptionsBuilder &operator=(const ArgMinOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7502,12 +7960,11 @@ flatbuffers::Offset CreateArgMinOptions(flatbuffers::FlatBufferBu + + struct GreaterOptionsT : public flatbuffers::NativeTable { + typedef GreaterOptions TableType; +- GreaterOptionsT() { +- } + }; + + struct GreaterOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterOptionsT NativeTableType; ++ typedef GreaterOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7518,13 +7975,13 @@ struct GreaterOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct GreaterOptionsBuilder { ++ typedef GreaterOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GreaterOptionsBuilder &operator=(const GreaterOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7542,12 +7999,11 @@ flatbuffers::Offset CreateGreaterOptions(flatbuffers::FlatBuffer + + struct GreaterEqualOptionsT : public flatbuffers::NativeTable { + typedef GreaterEqualOptions TableType; +- GreaterEqualOptionsT() { +- } + }; + + struct GreaterEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GreaterEqualOptionsT NativeTableType; ++ typedef GreaterEqualOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7558,13 +8014,13 @@ struct GreaterEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct GreaterEqualOptionsBuilder { ++ typedef GreaterEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GreaterEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GreaterEqualOptionsBuilder &operator=(const GreaterEqualOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7582,12 +8038,11 @@ flatbuffers::Offset CreateGreaterEqualOptions(flatbuffers:: + + struct LessOptionsT : public flatbuffers::NativeTable { + typedef LessOptions TableType; +- LessOptionsT() { +- } + }; + + struct LessOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessOptionsT NativeTableType; ++ typedef LessOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7598,13 +8053,13 @@ struct LessOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LessOptionsBuilder { ++ typedef LessOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LessOptionsBuilder &operator=(const LessOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7622,12 +8077,11 @@ flatbuffers::Offset CreateLessOptions(flatbuffers::FlatBufferBuilde + + struct LessEqualOptionsT : public flatbuffers::NativeTable { + typedef LessEqualOptions TableType; +- LessEqualOptionsT() { +- } + }; + + struct LessEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LessEqualOptionsT NativeTableType; ++ typedef LessEqualOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7638,13 +8092,13 @@ struct LessEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LessEqualOptionsBuilder { ++ typedef LessEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LessEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LessEqualOptionsBuilder &operator=(const LessEqualOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7662,12 +8116,11 @@ flatbuffers::Offset CreateLessEqualOptions(flatbuffers::FlatBu + + struct NegOptionsT : public flatbuffers::NativeTable { + typedef NegOptions TableType; +- NegOptionsT() { +- } + }; + + struct NegOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NegOptionsT NativeTableType; ++ typedef NegOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7678,13 +8131,13 @@ struct NegOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct NegOptionsBuilder { ++ typedef NegOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NegOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- NegOptionsBuilder &operator=(const NegOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7702,12 +8155,11 @@ flatbuffers::Offset CreateNegOptions(flatbuffers::FlatBufferBuilder + + struct SelectOptionsT : public flatbuffers::NativeTable { + typedef SelectOptions TableType; +- SelectOptionsT() { +- } + }; + + struct SelectOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SelectOptionsT NativeTableType; ++ typedef SelectOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7718,13 +8170,13 @@ struct SelectOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SelectOptionsBuilder { ++ typedef SelectOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SelectOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SelectOptionsBuilder &operator=(const SelectOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7742,12 +8194,11 @@ flatbuffers::Offset CreateSelectOptions(flatbuffers::FlatBufferBu + + struct SliceOptionsT : public flatbuffers::NativeTable { + typedef SliceOptions TableType; +- SliceOptionsT() { +- } + }; + + struct SliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SliceOptionsT NativeTableType; ++ typedef SliceOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7758,13 +8209,13 @@ struct SliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SliceOptionsBuilder { ++ typedef SliceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SliceOptionsBuilder &operator=(const SliceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7782,18 +8233,14 @@ flatbuffers::Offset CreateSliceOptions(flatbuffers::FlatBufferBuil + + struct TransposeConvOptionsT : public flatbuffers::NativeTable { + typedef TransposeConvOptions TableType; +- tflite::Padding padding; +- int32_t stride_w; +- int32_t stride_h; +- TransposeConvOptionsT() +- : padding(tflite::Padding_SAME), +- stride_w(0), +- stride_h(0) { +- } ++ tflite::Padding padding = tflite::Padding_SAME; ++ int32_t stride_w = 0; ++ int32_t stride_h = 0; + }; + + struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TransposeConvOptionsT NativeTableType; ++ typedef TransposeConvOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_PADDING = 4, + VT_STRIDE_W = 6, +@@ -7821,6 +8268,7 @@ struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct TransposeConvOptionsBuilder { ++ typedef TransposeConvOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_padding(tflite::Padding padding) { +@@ -7836,7 +8284,6 @@ struct TransposeConvOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TransposeConvOptionsBuilder &operator=(const TransposeConvOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7860,12 +8307,11 @@ flatbuffers::Offset CreateTransposeConvOptions(flatbuffers + + struct ExpandDimsOptionsT : public flatbuffers::NativeTable { + typedef ExpandDimsOptions TableType; +- ExpandDimsOptionsT() { +- } + }; + + struct ExpandDimsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ExpandDimsOptionsT NativeTableType; ++ typedef ExpandDimsOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7876,13 +8322,13 @@ struct ExpandDimsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ExpandDimsOptionsBuilder { ++ typedef ExpandDimsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ExpandDimsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ExpandDimsOptionsBuilder &operator=(const ExpandDimsOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7900,14 +8346,12 @@ flatbuffers::Offset CreateExpandDimsOptions(flatbuffers::Flat + + struct SparseToDenseOptionsT : public flatbuffers::NativeTable { + typedef SparseToDenseOptions TableType; +- bool validate_indices; +- SparseToDenseOptionsT() +- : validate_indices(false) { +- } ++ bool validate_indices = false; + }; + + struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SparseToDenseOptionsT NativeTableType; ++ typedef SparseToDenseOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALIDATE_INDICES = 4 + }; +@@ -7925,6 +8369,7 @@ struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct SparseToDenseOptionsBuilder { ++ typedef SparseToDenseOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_validate_indices(bool validate_indices) { +@@ -7934,7 +8379,6 @@ struct SparseToDenseOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SparseToDenseOptionsBuilder &operator=(const SparseToDenseOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7954,12 +8398,11 @@ flatbuffers::Offset CreateSparseToDenseOptions(flatbuffers + + struct EqualOptionsT : public flatbuffers::NativeTable { + typedef EqualOptions TableType; +- EqualOptionsT() { +- } + }; + + struct EqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef EqualOptionsT NativeTableType; ++ typedef EqualOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -7970,13 +8413,13 @@ struct EqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct EqualOptionsBuilder { ++ typedef EqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit EqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- EqualOptionsBuilder &operator=(const EqualOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -7994,12 +8437,11 @@ flatbuffers::Offset CreateEqualOptions(flatbuffers::FlatBufferBuil + + struct NotEqualOptionsT : public flatbuffers::NativeTable { + typedef NotEqualOptions TableType; +- NotEqualOptionsT() { +- } + }; + + struct NotEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NotEqualOptionsT NativeTableType; ++ typedef NotEqualOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8010,13 +8452,13 @@ struct NotEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct NotEqualOptionsBuilder { ++ typedef NotEqualOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NotEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- NotEqualOptionsBuilder &operator=(const NotEqualOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8034,14 +8476,12 @@ flatbuffers::Offset CreateNotEqualOptions(flatbuffers::FlatBuff + + struct ShapeOptionsT : public flatbuffers::NativeTable { + typedef ShapeOptions TableType; +- tflite::TensorType out_type; +- ShapeOptionsT() +- : out_type(tflite::TensorType_FLOAT32) { +- } ++ tflite::TensorType out_type = tflite::TensorType_FLOAT32; + }; + + struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ShapeOptionsT NativeTableType; ++ typedef ShapeOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OUT_TYPE = 4 + }; +@@ -8059,6 +8499,7 @@ struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ShapeOptionsBuilder { ++ typedef ShapeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_out_type(tflite::TensorType out_type) { +@@ -8068,7 +8509,6 @@ struct ShapeOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ShapeOptionsBuilder &operator=(const ShapeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8088,12 +8528,11 @@ flatbuffers::Offset CreateShapeOptions(flatbuffers::FlatBufferBuil + + struct RankOptionsT : public flatbuffers::NativeTable { + typedef RankOptions TableType; +- RankOptionsT() { +- } + }; + + struct RankOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RankOptionsT NativeTableType; ++ typedef RankOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8104,13 +8543,13 @@ struct RankOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct RankOptionsBuilder { ++ typedef RankOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RankOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- RankOptionsBuilder &operator=(const RankOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8128,12 +8567,11 @@ flatbuffers::Offset CreateRankOptions(flatbuffers::FlatBufferBuilde + + struct PowOptionsT : public flatbuffers::NativeTable { + typedef PowOptions TableType; +- PowOptionsT() { +- } + }; + + struct PowOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PowOptionsT NativeTableType; ++ typedef PowOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8144,13 +8582,13 @@ struct PowOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct PowOptionsBuilder { ++ typedef PowOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit PowOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- PowOptionsBuilder &operator=(const PowOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8168,20 +8606,15 @@ flatbuffers::Offset CreatePowOptions(flatbuffers::FlatBufferBuilder + + struct FakeQuantOptionsT : public flatbuffers::NativeTable { + typedef FakeQuantOptions TableType; +- float min; +- float max; +- int32_t num_bits; +- bool narrow_range; +- FakeQuantOptionsT() +- : min(0.0f), +- max(0.0f), +- num_bits(0), +- narrow_range(false) { +- } ++ float min = 0.0f; ++ float max = 0.0f; ++ int32_t num_bits = 0; ++ bool narrow_range = false; + }; + + struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FakeQuantOptionsT NativeTableType; ++ typedef FakeQuantOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MIN = 4, + VT_MAX = 6, +@@ -8214,6 +8647,7 @@ struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct FakeQuantOptionsBuilder { ++ typedef FakeQuantOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_min(float min) { +@@ -8232,7 +8666,6 @@ struct FakeQuantOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FakeQuantOptionsBuilder &operator=(const FakeQuantOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8258,16 +8691,13 @@ flatbuffers::Offset CreateFakeQuantOptions(flatbuffers::FlatBu + + struct PackOptionsT : public flatbuffers::NativeTable { + typedef PackOptions TableType; +- int32_t values_count; +- int32_t axis; +- PackOptionsT() +- : values_count(0), +- axis(0) { +- } ++ int32_t values_count = 0; ++ int32_t axis = 0; + }; + + struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef PackOptionsT NativeTableType; ++ typedef PackOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VALUES_COUNT = 4, + VT_AXIS = 6 +@@ -8290,6 +8720,7 @@ struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct PackOptionsBuilder { ++ typedef PackOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_values_count(int32_t values_count) { +@@ -8302,7 +8733,6 @@ struct PackOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- PackOptionsBuilder &operator=(const PackOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8324,12 +8754,11 @@ flatbuffers::Offset CreatePackOptions(flatbuffers::FlatBufferBuilde + + struct LogicalOrOptionsT : public flatbuffers::NativeTable { + typedef LogicalOrOptions TableType; +- LogicalOrOptionsT() { +- } + }; + + struct LogicalOrOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalOrOptionsT NativeTableType; ++ typedef LogicalOrOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8340,13 +8769,13 @@ struct LogicalOrOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LogicalOrOptionsBuilder { ++ typedef LogicalOrOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalOrOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LogicalOrOptionsBuilder &operator=(const LogicalOrOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8364,14 +8793,12 @@ flatbuffers::Offset CreateLogicalOrOptions(flatbuffers::FlatBu + + struct OneHotOptionsT : public flatbuffers::NativeTable { + typedef OneHotOptions TableType; +- int32_t axis; +- OneHotOptionsT() +- : axis(0) { +- } ++ int32_t axis = 0; + }; + + struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OneHotOptionsT NativeTableType; ++ typedef OneHotOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_AXIS = 4 + }; +@@ -8389,6 +8816,7 @@ struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct OneHotOptionsBuilder { ++ typedef OneHotOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_axis(int32_t axis) { +@@ -8398,7 +8826,6 @@ struct OneHotOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- OneHotOptionsBuilder &operator=(const OneHotOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8418,12 +8845,11 @@ flatbuffers::Offset CreateOneHotOptions(flatbuffers::FlatBufferBu + + struct AbsOptionsT : public flatbuffers::NativeTable { + typedef AbsOptions TableType; +- AbsOptionsT() { +- } + }; + + struct AbsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AbsOptionsT NativeTableType; ++ typedef AbsOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8434,13 +8860,13 @@ struct AbsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct AbsOptionsBuilder { ++ typedef AbsOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AbsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- AbsOptionsBuilder &operator=(const AbsOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8458,12 +8884,11 @@ flatbuffers::Offset CreateAbsOptions(flatbuffers::FlatBufferBuilder + + struct HardSwishOptionsT : public flatbuffers::NativeTable { + typedef HardSwishOptions TableType; +- HardSwishOptionsT() { +- } + }; + + struct HardSwishOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HardSwishOptionsT NativeTableType; ++ typedef HardSwishOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8474,13 +8899,13 @@ struct HardSwishOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct HardSwishOptionsBuilder { ++ typedef HardSwishOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HardSwishOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HardSwishOptionsBuilder &operator=(const HardSwishOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8498,12 +8923,11 @@ flatbuffers::Offset CreateHardSwishOptions(flatbuffers::FlatBu + + struct LogicalAndOptionsT : public flatbuffers::NativeTable { + typedef LogicalAndOptions TableType; +- LogicalAndOptionsT() { +- } + }; + + struct LogicalAndOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalAndOptionsT NativeTableType; ++ typedef LogicalAndOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8514,13 +8938,13 @@ struct LogicalAndOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LogicalAndOptionsBuilder { ++ typedef LogicalAndOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalAndOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LogicalAndOptionsBuilder &operator=(const LogicalAndOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8538,12 +8962,11 @@ flatbuffers::Offset CreateLogicalAndOptions(flatbuffers::Flat + + struct LogicalNotOptionsT : public flatbuffers::NativeTable { + typedef LogicalNotOptions TableType; +- LogicalNotOptionsT() { +- } + }; + + struct LogicalNotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LogicalNotOptionsT NativeTableType; ++ typedef LogicalNotOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8554,13 +8977,13 @@ struct LogicalNotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LogicalNotOptionsBuilder { ++ typedef LogicalNotOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit LogicalNotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LogicalNotOptionsBuilder &operator=(const LogicalNotOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8578,16 +9001,13 @@ flatbuffers::Offset CreateLogicalNotOptions(flatbuffers::Flat + + struct UnpackOptionsT : public flatbuffers::NativeTable { + typedef UnpackOptions TableType; +- int32_t num; +- int32_t axis; +- UnpackOptionsT() +- : num(0), +- axis(0) { +- } ++ int32_t num = 0; ++ int32_t axis = 0; + }; + + struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UnpackOptionsT NativeTableType; ++ typedef UnpackOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NUM = 4, + VT_AXIS = 6 +@@ -8610,6 +9030,7 @@ struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct UnpackOptionsBuilder { ++ typedef UnpackOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_num(int32_t num) { +@@ -8622,7 +9043,6 @@ struct UnpackOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- UnpackOptionsBuilder &operator=(const UnpackOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8644,12 +9064,11 @@ flatbuffers::Offset CreateUnpackOptions(flatbuffers::FlatBufferBu + + struct FloorDivOptionsT : public flatbuffers::NativeTable { + typedef FloorDivOptions TableType; +- FloorDivOptionsT() { +- } + }; + + struct FloorDivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorDivOptionsT NativeTableType; ++ typedef FloorDivOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8660,13 +9079,13 @@ struct FloorDivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct FloorDivOptionsBuilder { ++ typedef FloorDivOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorDivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FloorDivOptionsBuilder &operator=(const FloorDivOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8684,12 +9103,11 @@ flatbuffers::Offset CreateFloorDivOptions(flatbuffers::FlatBuff + + struct SquareOptionsT : public flatbuffers::NativeTable { + typedef SquareOptions TableType; +- SquareOptionsT() { +- } + }; + + struct SquareOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquareOptionsT NativeTableType; ++ typedef SquareOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8700,13 +9118,13 @@ struct SquareOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SquareOptionsBuilder { ++ typedef SquareOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquareOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SquareOptionsBuilder &operator=(const SquareOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8724,12 +9142,11 @@ flatbuffers::Offset CreateSquareOptions(flatbuffers::FlatBufferBu + + struct ZerosLikeOptionsT : public flatbuffers::NativeTable { + typedef ZerosLikeOptions TableType; +- ZerosLikeOptionsT() { +- } + }; + + struct ZerosLikeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ZerosLikeOptionsT NativeTableType; ++ typedef ZerosLikeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8740,13 +9157,13 @@ struct ZerosLikeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ZerosLikeOptionsBuilder { ++ typedef ZerosLikeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ZerosLikeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ZerosLikeOptionsBuilder &operator=(const ZerosLikeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8764,12 +9181,11 @@ flatbuffers::Offset CreateZerosLikeOptions(flatbuffers::FlatBu + + struct FillOptionsT : public flatbuffers::NativeTable { + typedef FillOptions TableType; +- FillOptionsT() { +- } + }; + + struct FillOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FillOptionsT NativeTableType; ++ typedef FillOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8780,13 +9196,13 @@ struct FillOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct FillOptionsBuilder { ++ typedef FillOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FillOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FillOptionsBuilder &operator=(const FillOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8804,12 +9220,11 @@ flatbuffers::Offset CreateFillOptions(flatbuffers::FlatBufferBuilde + + struct FloorModOptionsT : public flatbuffers::NativeTable { + typedef FloorModOptions TableType; +- FloorModOptionsT() { +- } + }; + + struct FloorModOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FloorModOptionsT NativeTableType; ++ typedef FloorModOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8820,13 +9235,13 @@ struct FloorModOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct FloorModOptionsBuilder { ++ typedef FloorModOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit FloorModOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- FloorModOptionsBuilder &operator=(const FloorModOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8844,12 +9259,11 @@ flatbuffers::Offset CreateFloorModOptions(flatbuffers::FlatBuff + + struct RangeOptionsT : public flatbuffers::NativeTable { + typedef RangeOptions TableType; +- RangeOptionsT() { +- } + }; + + struct RangeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RangeOptionsT NativeTableType; ++ typedef RangeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8860,13 +9274,13 @@ struct RangeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct RangeOptionsBuilder { ++ typedef RangeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit RangeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- RangeOptionsBuilder &operator=(const RangeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8884,14 +9298,12 @@ flatbuffers::Offset CreateRangeOptions(flatbuffers::FlatBufferBuil + + struct LeakyReluOptionsT : public flatbuffers::NativeTable { + typedef LeakyReluOptions TableType; +- float alpha; +- LeakyReluOptionsT() +- : alpha(0.0f) { +- } ++ float alpha = 0.0f; + }; + + struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef LeakyReluOptionsT NativeTableType; ++ typedef LeakyReluOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ALPHA = 4 + }; +@@ -8909,6 +9321,7 @@ struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct LeakyReluOptionsBuilder { ++ typedef LeakyReluOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_alpha(float alpha) { +@@ -8918,7 +9331,6 @@ struct LeakyReluOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- LeakyReluOptionsBuilder &operator=(const LeakyReluOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8938,12 +9350,11 @@ flatbuffers::Offset CreateLeakyReluOptions(flatbuffers::FlatBu + + struct SquaredDifferenceOptionsT : public flatbuffers::NativeTable { + typedef SquaredDifferenceOptions TableType; +- SquaredDifferenceOptionsT() { +- } + }; + + struct SquaredDifferenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SquaredDifferenceOptionsT NativeTableType; ++ typedef SquaredDifferenceOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -8954,13 +9365,13 @@ struct SquaredDifferenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::T + }; + + struct SquaredDifferenceOptionsBuilder { ++ typedef SquaredDifferenceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SquaredDifferenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SquaredDifferenceOptionsBuilder &operator=(const SquaredDifferenceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -8978,14 +9389,12 @@ flatbuffers::Offset CreateSquaredDifferenceOptions(fla + + struct MirrorPadOptionsT : public flatbuffers::NativeTable { + typedef MirrorPadOptions TableType; +- tflite::MirrorPadMode mode; +- MirrorPadOptionsT() +- : mode(tflite::MirrorPadMode_REFLECT) { +- } ++ tflite::MirrorPadMode mode = tflite::MirrorPadMode_REFLECT; + }; + + struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MirrorPadOptionsT NativeTableType; ++ typedef MirrorPadOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_MODE = 4 + }; +@@ -9003,6 +9412,7 @@ struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct MirrorPadOptionsBuilder { ++ typedef MirrorPadOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_mode(tflite::MirrorPadMode mode) { +@@ -9012,7 +9422,6 @@ struct MirrorPadOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MirrorPadOptionsBuilder &operator=(const MirrorPadOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9032,14 +9441,12 @@ flatbuffers::Offset CreateMirrorPadOptions(flatbuffers::FlatBu + + struct UniqueOptionsT : public flatbuffers::NativeTable { + typedef UniqueOptions TableType; +- tflite::TensorType idx_out_type; +- UniqueOptionsT() +- : idx_out_type(tflite::TensorType_INT32) { +- } ++ tflite::TensorType idx_out_type = tflite::TensorType_INT32; + }; + + struct UniqueOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef UniqueOptionsT NativeTableType; ++ typedef UniqueOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_IDX_OUT_TYPE = 4 + }; +@@ -9057,6 +9464,7 @@ struct UniqueOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct UniqueOptionsBuilder { ++ typedef UniqueOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_idx_out_type(tflite::TensorType idx_out_type) { +@@ -9066,7 +9474,6 @@ struct UniqueOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- UniqueOptionsBuilder &operator=(const UniqueOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9086,12 +9493,11 @@ flatbuffers::Offset CreateUniqueOptions(flatbuffers::FlatBufferBu + + struct ReverseV2OptionsT : public flatbuffers::NativeTable { + typedef ReverseV2Options TableType; +- ReverseV2OptionsT() { +- } + }; + + struct ReverseV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseV2OptionsT NativeTableType; ++ typedef ReverseV2OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9102,13 +9508,13 @@ struct ReverseV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ReverseV2OptionsBuilder { ++ typedef ReverseV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ReverseV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ReverseV2OptionsBuilder &operator=(const ReverseV2OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9126,12 +9532,11 @@ flatbuffers::Offset CreateReverseV2Options(flatbuffers::FlatBu + + struct AddNOptionsT : public flatbuffers::NativeTable { + typedef AddNOptions TableType; +- AddNOptionsT() { +- } + }; + + struct AddNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AddNOptionsT NativeTableType; ++ typedef AddNOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9142,13 +9547,13 @@ struct AddNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct AddNOptionsBuilder { ++ typedef AddNOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AddNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- AddNOptionsBuilder &operator=(const AddNOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9166,12 +9571,11 @@ flatbuffers::Offset CreateAddNOptions(flatbuffers::FlatBufferBuilde + + struct GatherNdOptionsT : public flatbuffers::NativeTable { + typedef GatherNdOptions TableType; +- GatherNdOptionsT() { +- } + }; + + struct GatherNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GatherNdOptionsT NativeTableType; ++ typedef GatherNdOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9182,13 +9586,13 @@ struct GatherNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct GatherNdOptionsBuilder { ++ typedef GatherNdOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit GatherNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GatherNdOptionsBuilder &operator=(const GatherNdOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9206,12 +9610,11 @@ flatbuffers::Offset CreateGatherNdOptions(flatbuffers::FlatBuff + + struct WhereOptionsT : public flatbuffers::NativeTable { + typedef WhereOptions TableType; +- WhereOptionsT() { +- } + }; + + struct WhereOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef WhereOptionsT NativeTableType; ++ typedef WhereOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9222,13 +9625,13 @@ struct WhereOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct WhereOptionsBuilder { ++ typedef WhereOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit WhereOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- WhereOptionsBuilder &operator=(const WhereOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9246,16 +9649,13 @@ flatbuffers::Offset CreateWhereOptions(flatbuffers::FlatBufferBuil + + struct ReverseSequenceOptionsT : public flatbuffers::NativeTable { + typedef ReverseSequenceOptions TableType; +- int32_t seq_dim; +- int32_t batch_dim; +- ReverseSequenceOptionsT() +- : seq_dim(0), +- batch_dim(0) { +- } ++ int32_t seq_dim = 0; ++ int32_t batch_dim = 0; + }; + + struct ReverseSequenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReverseSequenceOptionsT NativeTableType; ++ typedef ReverseSequenceOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEQ_DIM = 4, + VT_BATCH_DIM = 6 +@@ -9278,6 +9678,7 @@ struct ReverseSequenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + }; + + struct ReverseSequenceOptionsBuilder { ++ typedef ReverseSequenceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seq_dim(int32_t seq_dim) { +@@ -9290,7 +9691,6 @@ struct ReverseSequenceOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ReverseSequenceOptionsBuilder &operator=(const ReverseSequenceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9312,12 +9712,11 @@ flatbuffers::Offset CreateReverseSequenceOptions(flatbuf + + struct MatrixDiagOptionsT : public flatbuffers::NativeTable { + typedef MatrixDiagOptions TableType; +- MatrixDiagOptionsT() { +- } + }; + + struct MatrixDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MatrixDiagOptionsT NativeTableType; ++ typedef MatrixDiagOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9328,13 +9727,13 @@ struct MatrixDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct MatrixDiagOptionsBuilder { ++ typedef MatrixDiagOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MatrixDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MatrixDiagOptionsBuilder &operator=(const MatrixDiagOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9352,12 +9751,11 @@ flatbuffers::Offset CreateMatrixDiagOptions(flatbuffers::Flat + + struct QuantizeOptionsT : public flatbuffers::NativeTable { + typedef QuantizeOptions TableType; +- QuantizeOptionsT() { +- } + }; + + struct QuantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef QuantizeOptionsT NativeTableType; ++ typedef QuantizeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9368,13 +9766,13 @@ struct QuantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct QuantizeOptionsBuilder { ++ typedef QuantizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit QuantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- QuantizeOptionsBuilder &operator=(const QuantizeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9392,12 +9790,11 @@ flatbuffers::Offset CreateQuantizeOptions(flatbuffers::FlatBuff + + struct MatrixSetDiagOptionsT : public flatbuffers::NativeTable { + typedef MatrixSetDiagOptions TableType; +- MatrixSetDiagOptionsT() { +- } + }; + + struct MatrixSetDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MatrixSetDiagOptionsT NativeTableType; ++ typedef MatrixSetDiagOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9408,13 +9805,13 @@ struct MatrixSetDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct MatrixSetDiagOptionsBuilder { ++ typedef MatrixSetDiagOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit MatrixSetDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MatrixSetDiagOptionsBuilder &operator=(const MatrixSetDiagOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9432,16 +9829,13 @@ flatbuffers::Offset CreateMatrixSetDiagOptions(flatbuffers + + struct IfOptionsT : public flatbuffers::NativeTable { + typedef IfOptions TableType; +- int32_t then_subgraph_index; +- int32_t else_subgraph_index; +- IfOptionsT() +- : then_subgraph_index(0), +- else_subgraph_index(0) { +- } ++ int32_t then_subgraph_index = 0; ++ int32_t else_subgraph_index = 0; + }; + + struct IfOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef IfOptionsT NativeTableType; ++ typedef IfOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_THEN_SUBGRAPH_INDEX = 4, + VT_ELSE_SUBGRAPH_INDEX = 6 +@@ -9464,6 +9858,7 @@ struct IfOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct IfOptionsBuilder { ++ typedef IfOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_then_subgraph_index(int32_t then_subgraph_index) { +@@ -9476,7 +9871,6 @@ struct IfOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- IfOptionsBuilder &operator=(const IfOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9498,14 +9892,12 @@ flatbuffers::Offset CreateIfOptions(flatbuffers::FlatBufferBuilder &_ + + struct CallOnceOptionsT : public flatbuffers::NativeTable { + typedef CallOnceOptions TableType; +- int32_t init_subgraph_index; +- CallOnceOptionsT() +- : init_subgraph_index(0) { +- } ++ int32_t init_subgraph_index = 0; + }; + + struct CallOnceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CallOnceOptionsT NativeTableType; ++ typedef CallOnceOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INIT_SUBGRAPH_INDEX = 4 + }; +@@ -9523,6 +9915,7 @@ struct CallOnceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CallOnceOptionsBuilder { ++ typedef CallOnceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_init_subgraph_index(int32_t init_subgraph_index) { +@@ -9532,7 +9925,6 @@ struct CallOnceOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CallOnceOptionsBuilder &operator=(const CallOnceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9552,16 +9944,13 @@ flatbuffers::Offset CreateCallOnceOptions(flatbuffers::FlatBuff + + struct WhileOptionsT : public flatbuffers::NativeTable { + typedef WhileOptions TableType; +- int32_t cond_subgraph_index; +- int32_t body_subgraph_index; +- WhileOptionsT() +- : cond_subgraph_index(0), +- body_subgraph_index(0) { +- } ++ int32_t cond_subgraph_index = 0; ++ int32_t body_subgraph_index = 0; + }; + + struct WhileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef WhileOptionsT NativeTableType; ++ typedef WhileOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_COND_SUBGRAPH_INDEX = 4, + VT_BODY_SUBGRAPH_INDEX = 6 +@@ -9584,6 +9973,7 @@ struct WhileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct WhileOptionsBuilder { ++ typedef WhileOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_cond_subgraph_index(int32_t cond_subgraph_index) { +@@ -9596,7 +9986,6 @@ struct WhileOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- WhileOptionsBuilder &operator=(const WhileOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9618,12 +10007,11 @@ flatbuffers::Offset CreateWhileOptions(flatbuffers::FlatBufferBuil + + struct NonMaxSuppressionV4OptionsT : public flatbuffers::NativeTable { + typedef NonMaxSuppressionV4Options TableType; +- NonMaxSuppressionV4OptionsT() { +- } + }; + + struct NonMaxSuppressionV4Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonMaxSuppressionV4OptionsT NativeTableType; ++ typedef NonMaxSuppressionV4OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9634,13 +10022,13 @@ struct NonMaxSuppressionV4Options FLATBUFFERS_FINAL_CLASS : private flatbuffers: + }; + + struct NonMaxSuppressionV4OptionsBuilder { ++ typedef NonMaxSuppressionV4Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NonMaxSuppressionV4OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- NonMaxSuppressionV4OptionsBuilder &operator=(const NonMaxSuppressionV4OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9658,12 +10046,11 @@ flatbuffers::Offset CreateNonMaxSuppressionV4Options + + struct NonMaxSuppressionV5OptionsT : public flatbuffers::NativeTable { + typedef NonMaxSuppressionV5Options TableType; +- NonMaxSuppressionV5OptionsT() { +- } + }; + + struct NonMaxSuppressionV5Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef NonMaxSuppressionV5OptionsT NativeTableType; ++ typedef NonMaxSuppressionV5OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9674,13 +10061,13 @@ struct NonMaxSuppressionV5Options FLATBUFFERS_FINAL_CLASS : private flatbuffers: + }; + + struct NonMaxSuppressionV5OptionsBuilder { ++ typedef NonMaxSuppressionV5Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit NonMaxSuppressionV5OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- NonMaxSuppressionV5OptionsBuilder &operator=(const NonMaxSuppressionV5OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9698,12 +10085,11 @@ flatbuffers::Offset CreateNonMaxSuppressionV5Options + + struct ScatterNdOptionsT : public flatbuffers::NativeTable { + typedef ScatterNdOptions TableType; +- ScatterNdOptionsT() { +- } + }; + + struct ScatterNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ScatterNdOptionsT NativeTableType; ++ typedef ScatterNdOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9714,13 +10100,13 @@ struct ScatterNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ScatterNdOptionsBuilder { ++ typedef ScatterNdOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ScatterNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ScatterNdOptionsBuilder &operator=(const ScatterNdOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9738,12 +10124,11 @@ flatbuffers::Offset CreateScatterNdOptions(flatbuffers::FlatBu + + struct SelectV2OptionsT : public flatbuffers::NativeTable { + typedef SelectV2Options TableType; +- SelectV2OptionsT() { +- } + }; + + struct SelectV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SelectV2OptionsT NativeTableType; ++ typedef SelectV2OptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9754,13 +10139,13 @@ struct SelectV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SelectV2OptionsBuilder { ++ typedef SelectV2Options Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SelectV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SelectV2OptionsBuilder &operator=(const SelectV2OptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9778,12 +10163,11 @@ flatbuffers::Offset CreateSelectV2Options(flatbuffers::FlatBuff + + struct DensifyOptionsT : public flatbuffers::NativeTable { + typedef DensifyOptions TableType; +- DensifyOptionsT() { +- } + }; + + struct DensifyOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DensifyOptionsT NativeTableType; ++ typedef DensifyOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9794,13 +10178,13 @@ struct DensifyOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct DensifyOptionsBuilder { ++ typedef DensifyOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DensifyOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DensifyOptionsBuilder &operator=(const DensifyOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9818,12 +10202,11 @@ flatbuffers::Offset CreateDensifyOptions(flatbuffers::FlatBuffer + + struct SegmentSumOptionsT : public flatbuffers::NativeTable { + typedef SegmentSumOptions TableType; +- SegmentSumOptionsT() { +- } + }; + + struct SegmentSumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SegmentSumOptionsT NativeTableType; ++ typedef SegmentSumOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -9834,13 +10217,13 @@ struct SegmentSumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SegmentSumOptionsBuilder { ++ typedef SegmentSumOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit SegmentSumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SegmentSumOptionsBuilder &operator=(const SegmentSumOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9858,18 +10241,14 @@ flatbuffers::Offset CreateSegmentSumOptions(flatbuffers::Flat + + struct BatchMatMulOptionsT : public flatbuffers::NativeTable { + typedef BatchMatMulOptions TableType; +- bool adj_x; +- bool adj_y; +- bool asymmetric_quantize_inputs; +- BatchMatMulOptionsT() +- : adj_x(false), +- adj_y(false), +- asymmetric_quantize_inputs(false) { +- } ++ bool adj_x = false; ++ bool adj_y = false; ++ bool asymmetric_quantize_inputs = false; + }; + + struct BatchMatMulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BatchMatMulOptionsT NativeTableType; ++ typedef BatchMatMulOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_ADJ_X = 4, + VT_ADJ_Y = 6, +@@ -9897,6 +10276,7 @@ struct BatchMatMulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BatchMatMulOptionsBuilder { ++ typedef BatchMatMulOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_adj_x(bool adj_x) { +@@ -9912,7 +10292,6 @@ struct BatchMatMulOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BatchMatMulOptionsBuilder &operator=(const BatchMatMulOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -9936,16 +10315,13 @@ flatbuffers::Offset CreateBatchMatMulOptions(flatbuffers::Fl + + struct CumsumOptionsT : public flatbuffers::NativeTable { + typedef CumsumOptions TableType; +- bool exclusive; +- bool reverse; +- CumsumOptionsT() +- : exclusive(false), +- reverse(false) { +- } ++ bool exclusive = false; ++ bool reverse = false; + }; + + struct CumsumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef CumsumOptionsT NativeTableType; ++ typedef CumsumOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_EXCLUSIVE = 4, + VT_REVERSE = 6 +@@ -9968,6 +10344,7 @@ struct CumsumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct CumsumOptionsBuilder { ++ typedef CumsumOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_exclusive(bool exclusive) { +@@ -9980,7 +10357,6 @@ struct CumsumOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- CumsumOptionsBuilder &operator=(const CumsumOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10002,12 +10378,11 @@ flatbuffers::Offset CreateCumsumOptions(flatbuffers::FlatBufferBu + + struct BroadcastToOptionsT : public flatbuffers::NativeTable { + typedef BroadcastToOptions TableType; +- BroadcastToOptionsT() { +- } + }; + + struct BroadcastToOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BroadcastToOptionsT NativeTableType; ++ typedef BroadcastToOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10018,13 +10393,13 @@ struct BroadcastToOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BroadcastToOptionsBuilder { ++ typedef BroadcastToOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit BroadcastToOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BroadcastToOptionsBuilder &operator=(const BroadcastToOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10042,12 +10417,11 @@ flatbuffers::Offset CreateBroadcastToOptions(flatbuffers::Fl + + struct Rfft2dOptionsT : public flatbuffers::NativeTable { + typedef Rfft2dOptions TableType; +- Rfft2dOptionsT() { +- } + }; + + struct Rfft2dOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef Rfft2dOptionsT NativeTableType; ++ typedef Rfft2dOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10058,13 +10432,13 @@ struct Rfft2dOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct Rfft2dOptionsBuilder { ++ typedef Rfft2dOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit Rfft2dOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- Rfft2dOptionsBuilder &operator=(const Rfft2dOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10082,18 +10456,14 @@ flatbuffers::Offset CreateRfft2dOptions(flatbuffers::FlatBufferBu + + struct HashtableOptionsT : public flatbuffers::NativeTable { + typedef HashtableOptions TableType; +- int32_t table_id; +- tflite::TensorType key_dtype; +- tflite::TensorType value_dtype; +- HashtableOptionsT() +- : table_id(0), +- key_dtype(tflite::TensorType_FLOAT32), +- value_dtype(tflite::TensorType_FLOAT32) { +- } ++ int32_t table_id = 0; ++ tflite::TensorType key_dtype = tflite::TensorType_FLOAT32; ++ tflite::TensorType value_dtype = tflite::TensorType_FLOAT32; + }; + + struct HashtableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HashtableOptionsT NativeTableType; ++ typedef HashtableOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TABLE_ID = 4, + VT_KEY_DTYPE = 6, +@@ -10121,6 +10491,7 @@ struct HashtableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct HashtableOptionsBuilder { ++ typedef HashtableOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_table_id(int32_t table_id) { +@@ -10136,7 +10507,6 @@ struct HashtableOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HashtableOptionsBuilder &operator=(const HashtableOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10160,12 +10530,11 @@ flatbuffers::Offset CreateHashtableOptions(flatbuffers::FlatBu + + struct HashtableFindOptionsT : public flatbuffers::NativeTable { + typedef HashtableFindOptions TableType; +- HashtableFindOptionsT() { +- } + }; + + struct HashtableFindOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HashtableFindOptionsT NativeTableType; ++ typedef HashtableFindOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10176,13 +10545,13 @@ struct HashtableFindOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct HashtableFindOptionsBuilder { ++ typedef HashtableFindOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HashtableFindOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HashtableFindOptionsBuilder &operator=(const HashtableFindOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10200,12 +10569,11 @@ flatbuffers::Offset CreateHashtableFindOptions(flatbuffers + + struct HashtableImportOptionsT : public flatbuffers::NativeTable { + typedef HashtableImportOptions TableType; +- HashtableImportOptionsT() { +- } + }; + + struct HashtableImportOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HashtableImportOptionsT NativeTableType; ++ typedef HashtableImportOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10216,13 +10584,13 @@ struct HashtableImportOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab + }; + + struct HashtableImportOptionsBuilder { ++ typedef HashtableImportOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HashtableImportOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HashtableImportOptionsBuilder &operator=(const HashtableImportOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10240,12 +10608,11 @@ flatbuffers::Offset CreateHashtableImportOptions(flatbuf + + struct HashtableSizeOptionsT : public flatbuffers::NativeTable { + typedef HashtableSizeOptions TableType; +- HashtableSizeOptionsT() { +- } + }; + + struct HashtableSizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef HashtableSizeOptionsT NativeTableType; ++ typedef HashtableSizeOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10256,13 +10623,13 @@ struct HashtableSizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct HashtableSizeOptionsBuilder { ++ typedef HashtableSizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit HashtableSizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- HashtableSizeOptionsBuilder &operator=(const HashtableSizeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10280,14 +10647,13 @@ flatbuffers::Offset CreateHashtableSizeOptions(flatbuffers + + struct VarHandleOptionsT : public flatbuffers::NativeTable { + typedef VarHandleOptions TableType; +- std::string container; +- std::string shared_name; +- VarHandleOptionsT() { +- } ++ std::string container{}; ++ std::string shared_name{}; + }; + + struct VarHandleOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef VarHandleOptionsT NativeTableType; ++ typedef VarHandleOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_CONTAINER = 4, + VT_SHARED_NAME = 6 +@@ -10312,6 +10678,7 @@ struct VarHandleOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct VarHandleOptionsBuilder { ++ typedef VarHandleOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_container(flatbuffers::Offset container) { +@@ -10324,7 +10691,6 @@ struct VarHandleOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- VarHandleOptionsBuilder &operator=(const VarHandleOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10358,12 +10724,11 @@ flatbuffers::Offset CreateVarHandleOptions(flatbuffers::FlatBu + + struct ReadVariableOptionsT : public flatbuffers::NativeTable { + typedef ReadVariableOptions TableType; +- ReadVariableOptionsT() { +- } + }; + + struct ReadVariableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ReadVariableOptionsT NativeTableType; ++ typedef ReadVariableOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10374,13 +10739,13 @@ struct ReadVariableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table + }; + + struct ReadVariableOptionsBuilder { ++ typedef ReadVariableOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit ReadVariableOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ReadVariableOptionsBuilder &operator=(const ReadVariableOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10398,12 +10763,11 @@ flatbuffers::Offset CreateReadVariableOptions(flatbuffers:: + + struct AssignVariableOptionsT : public flatbuffers::NativeTable { + typedef AssignVariableOptions TableType; +- AssignVariableOptionsT() { +- } + }; + + struct AssignVariableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef AssignVariableOptionsT NativeTableType; ++ typedef AssignVariableOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10414,13 +10778,13 @@ struct AssignVariableOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tabl + }; + + struct AssignVariableOptionsBuilder { ++ typedef AssignVariableOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit AssignVariableOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- AssignVariableOptionsBuilder &operator=(const AssignVariableOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10438,16 +10802,13 @@ flatbuffers::Offset CreateAssignVariableOptions(flatbuffe + + struct RandomOptionsT : public flatbuffers::NativeTable { + typedef RandomOptions TableType; +- int64_t seed; +- int64_t seed2; +- RandomOptionsT() +- : seed(0), +- seed2(0) { +- } ++ int64_t seed = 0; ++ int64_t seed2 = 0; + }; + + struct RandomOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef RandomOptionsT NativeTableType; ++ typedef RandomOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_SEED = 4, + VT_SEED2 = 6 +@@ -10470,6 +10831,7 @@ struct RandomOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct RandomOptionsBuilder { ++ typedef RandomOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_seed(int64_t seed) { +@@ -10482,7 +10844,6 @@ struct RandomOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- RandomOptionsBuilder &operator=(const RandomOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10504,13 +10865,12 @@ flatbuffers::Offset CreateRandomOptions(flatbuffers::FlatBufferBu + + struct BucketizeOptionsT : public flatbuffers::NativeTable { + typedef BucketizeOptions TableType; +- std::vector boundaries; +- BucketizeOptionsT() { +- } ++ std::vector boundaries{}; + }; + + struct BucketizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BucketizeOptionsT NativeTableType; ++ typedef BucketizeOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_BOUNDARIES = 4 + }; +@@ -10529,6 +10889,7 @@ struct BucketizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BucketizeOptionsBuilder { ++ typedef BucketizeOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_boundaries(flatbuffers::Offset> boundaries) { +@@ -10538,7 +10899,6 @@ struct BucketizeOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BucketizeOptionsBuilder &operator=(const BucketizeOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10567,14 +10927,12 @@ flatbuffers::Offset CreateBucketizeOptions(flatbuffers::FlatBu + + struct GeluOptionsT : public flatbuffers::NativeTable { + typedef GeluOptions TableType; +- bool approximate; +- GeluOptionsT() +- : approximate(false) { +- } ++ bool approximate = false; + }; + + struct GeluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef GeluOptionsT NativeTableType; ++ typedef GeluOptionsBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_APPROXIMATE = 4 + }; +@@ -10592,6 +10950,7 @@ struct GeluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct GeluOptionsBuilder { ++ typedef GeluOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_approximate(bool approximate) { +@@ -10601,7 +10960,6 @@ struct GeluOptionsBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- GeluOptionsBuilder &operator=(const GeluOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10621,12 +10979,11 @@ flatbuffers::Offset CreateGeluOptions(flatbuffers::FlatBufferBuilde + + struct DynamicUpdateSliceOptionsT : public flatbuffers::NativeTable { + typedef DynamicUpdateSliceOptions TableType; +- DynamicUpdateSliceOptionsT() { +- } + }; + + struct DynamicUpdateSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef DynamicUpdateSliceOptionsT NativeTableType; ++ typedef DynamicUpdateSliceOptionsBuilder Builder; + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + verifier.EndTable(); +@@ -10637,13 +10994,13 @@ struct DynamicUpdateSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers:: + }; + + struct DynamicUpdateSliceOptionsBuilder { ++ typedef DynamicUpdateSliceOptions Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + explicit DynamicUpdateSliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- DynamicUpdateSliceOptionsBuilder &operator=(const DynamicUpdateSliceOptionsBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10661,19 +11018,15 @@ flatbuffers::Offset CreateDynamicUpdateSliceOptions(f + + struct OperatorCodeT : public flatbuffers::NativeTable { + typedef OperatorCode TableType; +- int8_t deprecated_builtin_code; +- std::string custom_code; +- int32_t version; +- tflite::BuiltinOperator builtin_code; +- OperatorCodeT() +- : deprecated_builtin_code(0), +- version(1), +- builtin_code(tflite::BuiltinOperator_ADD) { +- } ++ int8_t deprecated_builtin_code = 0; ++ std::string custom_code{}; ++ int32_t version = 1; ++ tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD; + }; + + struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OperatorCodeT NativeTableType; ++ typedef OperatorCodeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DEPRECATED_BUILTIN_CODE = 4, + VT_CUSTOM_CODE = 6, +@@ -10707,6 +11060,7 @@ struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct OperatorCodeBuilder { ++ typedef OperatorCode Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_deprecated_builtin_code(int8_t deprecated_builtin_code) { +@@ -10725,7 +11079,6 @@ struct OperatorCodeBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- OperatorCodeBuilder &operator=(const OperatorCodeBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -10766,22 +11119,19 @@ flatbuffers::Offset CreateOperatorCode(flatbuffers::FlatBufferBuil + + struct OperatorT : public flatbuffers::NativeTable { + typedef Operator TableType; +- uint32_t opcode_index; +- std::vector inputs; +- std::vector outputs; +- tflite::BuiltinOptionsUnion builtin_options; +- std::vector custom_options; +- tflite::CustomOptionsFormat custom_options_format; +- std::vector mutating_variable_inputs; +- std::vector intermediates; +- OperatorT() +- : opcode_index(0), +- custom_options_format(tflite::CustomOptionsFormat_FLEXBUFFERS) { +- } ++ uint32_t opcode_index = 0; ++ std::vector inputs{}; ++ std::vector outputs{}; ++ tflite::BuiltinOptionsUnion builtin_options{}; ++ std::vector custom_options{}; ++ tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS; ++ std::vector mutating_variable_inputs{}; ++ std::vector intermediates{}; + }; + + struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef OperatorT NativeTableType; ++ typedef OperatorBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_OPCODE_INDEX = 4, + VT_INPUTS = 6, +@@ -11665,6 +12015,7 @@ template<> inline const tflite::DynamicUpdateSliceOptions *Operator::builtin_opt + } + + struct OperatorBuilder { ++ typedef Operator Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_opcode_index(uint32_t opcode_index) { +@@ -11698,7 +12049,6 @@ struct OperatorBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- OperatorBuilder &operator=(const OperatorBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -11763,17 +12113,16 @@ flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuilder &_fb + + struct SubGraphT : public flatbuffers::NativeTable { + typedef SubGraph TableType; +- std::vector> tensors; +- std::vector inputs; +- std::vector outputs; +- std::vector> operators; +- std::string name; +- SubGraphT() { +- } ++ std::vector> tensors{}; ++ std::vector inputs{}; ++ std::vector outputs{}; ++ std::vector> operators{}; ++ std::string name{}; + }; + + struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SubGraphT NativeTableType; ++ typedef SubGraphBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_TENSORS = 4, + VT_INPUTS = 6, +@@ -11818,6 +12167,7 @@ struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SubGraphBuilder { ++ typedef SubGraph Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_tensors(flatbuffers::Offset>> tensors) { +@@ -11839,7 +12189,6 @@ struct SubGraphBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SubGraphBuilder &operator=(const SubGraphBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -11888,13 +12237,12 @@ flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuilder &_fb + + struct BufferT : public flatbuffers::NativeTable { + typedef Buffer TableType; +- std::vector data; +- BufferT() { +- } ++ std::vector data{}; + }; + + struct Buffer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef BufferT NativeTableType; ++ typedef BufferBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_DATA = 4 + }; +@@ -11913,6 +12261,7 @@ struct Buffer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct BufferBuilder { ++ typedef Buffer Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_data(flatbuffers::Offset> data) { +@@ -11922,7 +12271,6 @@ struct BufferBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- BufferBuilder &operator=(const BufferBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -11952,15 +12300,13 @@ flatbuffers::Offset CreateBuffer(flatbuffers::FlatBufferBuilder &_fbb, c + + struct MetadataT : public flatbuffers::NativeTable { + typedef Metadata TableType; +- std::string name; +- uint32_t buffer; +- MetadataT() +- : buffer(0) { +- } ++ std::string name{}; ++ uint32_t buffer = 0; + }; + + struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef MetadataT NativeTableType; ++ typedef MetadataBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_BUFFER = 6 +@@ -11984,6 +12330,7 @@ struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct MetadataBuilder { ++ typedef Metadata Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { +@@ -11996,7 +12343,6 @@ struct MetadataBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- MetadataBuilder &operator=(const MetadataBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -12029,15 +12375,13 @@ flatbuffers::Offset CreateMetadata(flatbuffers::FlatBufferBuilder &_fb + + struct TensorMapT : public flatbuffers::NativeTable { + typedef TensorMap TableType; +- std::string name; +- uint32_t tensor_index; +- TensorMapT() +- : tensor_index(0) { +- } ++ std::string name{}; ++ uint32_t tensor_index = 0; + }; + + struct TensorMap FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef TensorMapT NativeTableType; ++ typedef TensorMapBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_NAME = 4, + VT_TENSOR_INDEX = 6 +@@ -12061,6 +12405,7 @@ struct TensorMap FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct TensorMapBuilder { ++ typedef TensorMap Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_name(flatbuffers::Offset name) { +@@ -12073,7 +12418,6 @@ struct TensorMapBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- TensorMapBuilder &operator=(const TensorMapBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -12106,17 +12450,15 @@ flatbuffers::Offset CreateTensorMap(flatbuffers::FlatBufferBuilder &_ + + struct SignatureDefT : public flatbuffers::NativeTable { + typedef SignatureDef TableType; +- std::vector> inputs; +- std::vector> outputs; +- std::string signature_key; +- uint32_t subgraph_index; +- SignatureDefT() +- : subgraph_index(0) { +- } ++ std::vector> inputs{}; ++ std::vector> outputs{}; ++ std::string signature_key{}; ++ uint32_t subgraph_index = 0; + }; + + struct SignatureDef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef SignatureDefT NativeTableType; ++ typedef SignatureDefBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INPUTS = 4, + VT_OUTPUTS = 6, +@@ -12154,6 +12496,7 @@ struct SignatureDef FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct SignatureDefBuilder { ++ typedef SignatureDef Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_inputs(flatbuffers::Offset>> inputs) { +@@ -12172,7 +12515,6 @@ struct SignatureDefBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- SignatureDefBuilder &operator=(const SignatureDefBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -12215,21 +12557,19 @@ flatbuffers::Offset CreateSignatureDef(flatbuffers::FlatBufferBuil + + struct ModelT : public flatbuffers::NativeTable { + typedef Model TableType; +- uint32_t version; +- std::vector> operator_codes; +- std::vector> subgraphs; +- std::string description; +- std::vector> buffers; +- std::vector metadata_buffer; +- std::vector> metadata; +- std::vector> signature_defs; +- ModelT() +- : version(0) { +- } ++ uint32_t version = 0; ++ std::vector> operator_codes{}; ++ std::vector> subgraphs{}; ++ std::string description{}; ++ std::vector> buffers{}; ++ std::vector metadata_buffer{}; ++ std::vector> metadata{}; ++ std::vector> signature_defs{}; + }; + + struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef ModelT NativeTableType; ++ typedef ModelBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_VERSION = 4, + VT_OPERATOR_CODES = 6, +@@ -12294,6 +12634,7 @@ struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + }; + + struct ModelBuilder { ++ typedef Model Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_version(uint32_t version) { +@@ -12324,7 +12665,6 @@ struct ModelBuilder { + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } +- ModelBuilder &operator=(const ModelBuilder &); + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); +@@ -12386,9 +12726,9 @@ inline flatbuffers::Offset CreateModelDirect( + flatbuffers::Offset CreateModel(flatbuffers::FlatBufferBuilder &_fbb, const ModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); + + inline CustomQuantizationT *CustomQuantization::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CustomQuantizationT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CustomQuantizationT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CustomQuantization::UnPackTo(CustomQuantizationT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12413,9 +12753,9 @@ inline flatbuffers::Offset CreateCustomQuantization(flatbuff + } + + inline QuantizationParametersT *QuantizationParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new QuantizationParametersT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new QuantizationParametersT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void QuantizationParameters::UnPackTo(QuantizationParametersT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12457,9 +12797,9 @@ inline flatbuffers::Offset CreateQuantizationParameters( + } + + inline Int32VectorT *Int32Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Int32VectorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Int32VectorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Int32Vector::UnPackTo(Int32VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12483,9 +12823,9 @@ inline flatbuffers::Offset CreateInt32Vector(flatbuffers::FlatBuffe + } + + inline Uint16VectorT *Uint16Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Uint16VectorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Uint16VectorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Uint16Vector::UnPackTo(Uint16VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12510,9 +12850,9 @@ inline flatbuffers::Offset CreateUint16Vector(flatbuffers::FlatBuf + } + + inline Uint8VectorT *Uint8Vector::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Uint8VectorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Uint8VectorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Uint8Vector::UnPackTo(Uint8VectorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12537,9 +12877,9 @@ inline flatbuffers::Offset CreateUint8Vector(flatbuffers::FlatBuffe + } + + inline DimensionMetadataT *DimensionMetadata::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DimensionMetadataT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DimensionMetadataT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DimensionMetadata::UnPackTo(DimensionMetadataT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12578,9 +12918,9 @@ inline flatbuffers::Offset CreateDimensionMetadata(flatbuffer + } + + inline SparsityParametersT *SparsityParameters::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SparsityParametersT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SparsityParametersT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SparsityParameters::UnPackTo(SparsityParametersT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12588,7 +12928,7 @@ inline void SparsityParameters::UnPackTo(SparsityParametersT *_o, const flatbuff + (void)_resolver; + { auto _e = traversal_order(); if (_e) { _o->traversal_order.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->traversal_order[_i] = _e->Get(_i); } } } + { auto _e = block_map(); if (_e) { _o->block_map.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->block_map[_i] = _e->Get(_i); } } } +- { auto _e = dim_metadata(); if (_e) { _o->dim_metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->dim_metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = dim_metadata(); if (_e) { _o->dim_metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->dim_metadata[_i]) { _e->Get(_i)->UnPackTo(_o->dim_metadata[_i].get(), _resolver); } else { _o->dim_metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline flatbuffers::Offset SparsityParameters::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparsityParametersT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -12610,9 +12950,9 @@ inline flatbuffers::Offset CreateSparsityParameters(flatbuff + } + + inline TensorT *Tensor::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TensorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TensorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Tensor::UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12622,9 +12962,9 @@ inline void Tensor::UnPackTo(TensorT *_o, const flatbuffers::resolver_function_t + { auto _e = type(); _o->type = _e; } + { auto _e = buffer(); _o->buffer = _e; } + { auto _e = name(); if (_e) _o->name = _e->str(); } +- { auto _e = quantization(); if (_e) _o->quantization = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = quantization(); if (_e) { if(_o->quantization) { _e->UnPackTo(_o->quantization.get(), _resolver); } else { _o->quantization = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = is_variable(); _o->is_variable = _e; } +- { auto _e = sparsity(); if (_e) _o->sparsity = std::unique_ptr(_e->UnPack(_resolver)); } ++ { auto _e = sparsity(); if (_e) { if(_o->sparsity) { _e->UnPackTo(_o->sparsity.get(), _resolver); } else { _o->sparsity = std::unique_ptr(_e->UnPack(_resolver)); } } } + { auto _e = shape_signature(); if (_e) { _o->shape_signature.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->shape_signature[_i] = _e->Get(_i); } } } + } + +@@ -12657,9 +12997,9 @@ inline flatbuffers::Offset CreateTensor(flatbuffers::FlatBufferBuilder & + } + + inline Conv2DOptionsT *Conv2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Conv2DOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Conv2DOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Conv2DOptions::UnPackTo(Conv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12698,9 +13038,9 @@ inline flatbuffers::Offset CreateConv2DOptions(flatbuffers::FlatB + } + + inline Conv3DOptionsT *Conv3DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Conv3DOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Conv3DOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Conv3DOptions::UnPackTo(Conv3DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12745,9 +13085,9 @@ inline flatbuffers::Offset CreateConv3DOptions(flatbuffers::FlatB + } + + inline Pool2DOptionsT *Pool2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Pool2DOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Pool2DOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Pool2DOptions::UnPackTo(Pool2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12786,9 +13126,9 @@ inline flatbuffers::Offset CreatePool2DOptions(flatbuffers::FlatB + } + + inline DepthwiseConv2DOptionsT *DepthwiseConv2DOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DepthwiseConv2DOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DepthwiseConv2DOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DepthwiseConv2DOptions::UnPackTo(DepthwiseConv2DOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12830,9 +13170,9 @@ inline flatbuffers::Offset CreateDepthwiseConv2DOptions( + } + + inline ConcatEmbeddingsOptionsT *ConcatEmbeddingsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ConcatEmbeddingsOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ConcatEmbeddingsOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ConcatEmbeddingsOptions::UnPackTo(ConcatEmbeddingsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12862,9 +13202,9 @@ inline flatbuffers::Offset CreateConcatEmbeddingsOption + } + + inline LSHProjectionOptionsT *LSHProjectionOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LSHProjectionOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LSHProjectionOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LSHProjectionOptions::UnPackTo(LSHProjectionOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12888,9 +13228,9 @@ inline flatbuffers::Offset CreateLSHProjectionOptions(flat + } + + inline SVDFOptionsT *SVDFOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SVDFOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SVDFOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SVDFOptions::UnPackTo(SVDFOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12920,9 +13260,9 @@ inline flatbuffers::Offset CreateSVDFOptions(flatbuffers::FlatBuffe + } + + inline RNNOptionsT *RNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new RNNOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new RNNOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void RNNOptions::UnPackTo(RNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12949,9 +13289,9 @@ inline flatbuffers::Offset CreateRNNOptions(flatbuffers::FlatBufferB + } + + inline SequenceRNNOptionsT *SequenceRNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SequenceRNNOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SequenceRNNOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SequenceRNNOptions::UnPackTo(SequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -12981,9 +13321,9 @@ inline flatbuffers::Offset CreateSequenceRNNOptions(flatbuff + } + + inline BidirectionalSequenceRNNOptionsT *BidirectionalSequenceRNNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BidirectionalSequenceRNNOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BidirectionalSequenceRNNOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BidirectionalSequenceRNNOptions::UnPackTo(BidirectionalSequenceRNNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13016,9 +13356,9 @@ inline flatbuffers::Offset CreateBidirectionalS + } + + inline FullyConnectedOptionsT *FullyConnectedOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FullyConnectedOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FullyConnectedOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FullyConnectedOptions::UnPackTo(FullyConnectedOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13051,9 +13391,9 @@ inline flatbuffers::Offset CreateFullyConnectedOptions(fl + } + + inline SoftmaxOptionsT *SoftmaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SoftmaxOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SoftmaxOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SoftmaxOptions::UnPackTo(SoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13077,9 +13417,9 @@ inline flatbuffers::Offset CreateSoftmaxOptions(flatbuffers::Fla + } + + inline ConcatenationOptionsT *ConcatenationOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ConcatenationOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ConcatenationOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ConcatenationOptions::UnPackTo(ConcatenationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13106,9 +13446,9 @@ inline flatbuffers::Offset CreateConcatenationOptions(flat + } + + inline AddOptionsT *AddOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new AddOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new AddOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void AddOptions::UnPackTo(AddOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13135,9 +13475,9 @@ inline flatbuffers::Offset CreateAddOptions(flatbuffers::FlatBufferB + } + + inline MulOptionsT *MulOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MulOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MulOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MulOptions::UnPackTo(MulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13161,9 +13501,9 @@ inline flatbuffers::Offset CreateMulOptions(flatbuffers::FlatBufferB + } + + inline L2NormOptionsT *L2NormOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new L2NormOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new L2NormOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void L2NormOptions::UnPackTo(L2NormOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13187,9 +13527,9 @@ inline flatbuffers::Offset CreateL2NormOptions(flatbuffers::FlatB + } + + inline LocalResponseNormalizationOptionsT *LocalResponseNormalizationOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LocalResponseNormalizationOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LocalResponseNormalizationOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LocalResponseNormalizationOptions::UnPackTo(LocalResponseNormalizationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13222,9 +13562,9 @@ inline flatbuffers::Offset CreateLocalRespons + } + + inline LSTMOptionsT *LSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LSTMOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LSTMOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LSTMOptions::UnPackTo(LSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13260,9 +13600,9 @@ inline flatbuffers::Offset CreateLSTMOptions(flatbuffers::FlatBuffe + } + + inline UnidirectionalSequenceLSTMOptionsT *UnidirectionalSequenceLSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new UnidirectionalSequenceLSTMOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new UnidirectionalSequenceLSTMOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void UnidirectionalSequenceLSTMOptions::UnPackTo(UnidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13298,9 +13638,9 @@ inline flatbuffers::Offset CreateUnidirection + } + + inline BidirectionalSequenceLSTMOptionsT *BidirectionalSequenceLSTMOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BidirectionalSequenceLSTMOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BidirectionalSequenceLSTMOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BidirectionalSequenceLSTMOptions::UnPackTo(BidirectionalSequenceLSTMOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13339,9 +13679,9 @@ inline flatbuffers::Offset CreateBidirectional + } + + inline ResizeBilinearOptionsT *ResizeBilinearOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ResizeBilinearOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ResizeBilinearOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ResizeBilinearOptions::UnPackTo(ResizeBilinearOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13368,9 +13708,9 @@ inline flatbuffers::Offset CreateResizeBilinearOptions(fl + } + + inline ResizeNearestNeighborOptionsT *ResizeNearestNeighborOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ResizeNearestNeighborOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ResizeNearestNeighborOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ResizeNearestNeighborOptions::UnPackTo(ResizeNearestNeighborOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13397,9 +13737,9 @@ inline flatbuffers::Offset CreateResizeNearestNeig + } + + inline CallOptionsT *CallOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CallOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CallOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CallOptions::UnPackTo(CallOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13423,9 +13763,9 @@ inline flatbuffers::Offset CreateCallOptions(flatbuffers::FlatBuffe + } + + inline PadOptionsT *PadOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new PadOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new PadOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void PadOptions::UnPackTo(PadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13446,9 +13786,9 @@ inline flatbuffers::Offset CreatePadOptions(flatbuffers::FlatBufferB + } + + inline PadV2OptionsT *PadV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new PadV2OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new PadV2OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void PadV2Options::UnPackTo(PadV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13469,9 +13809,9 @@ inline flatbuffers::Offset CreatePadV2Options(flatbuffers::FlatBuf + } + + inline ReshapeOptionsT *ReshapeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ReshapeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ReshapeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ReshapeOptions::UnPackTo(ReshapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13495,9 +13835,9 @@ inline flatbuffers::Offset CreateReshapeOptions(flatbuffers::Fla + } + + inline SpaceToBatchNDOptionsT *SpaceToBatchNDOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SpaceToBatchNDOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SpaceToBatchNDOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SpaceToBatchNDOptions::UnPackTo(SpaceToBatchNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13518,9 +13858,9 @@ inline flatbuffers::Offset CreateSpaceToBatchNDOptions(fl + } + + inline BatchToSpaceNDOptionsT *BatchToSpaceNDOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BatchToSpaceNDOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BatchToSpaceNDOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BatchToSpaceNDOptions::UnPackTo(BatchToSpaceNDOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13541,9 +13881,9 @@ inline flatbuffers::Offset CreateBatchToSpaceNDOptions(fl + } + + inline SkipGramOptionsT *SkipGramOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SkipGramOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SkipGramOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SkipGramOptions::UnPackTo(SkipGramOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13573,9 +13913,9 @@ inline flatbuffers::Offset CreateSkipGramOptions(flatbuffers::F + } + + inline SpaceToDepthOptionsT *SpaceToDepthOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SpaceToDepthOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SpaceToDepthOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SpaceToDepthOptions::UnPackTo(SpaceToDepthOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13599,9 +13939,9 @@ inline flatbuffers::Offset CreateSpaceToDepthOptions(flatbu + } + + inline DepthToSpaceOptionsT *DepthToSpaceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DepthToSpaceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DepthToSpaceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DepthToSpaceOptions::UnPackTo(DepthToSpaceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13625,9 +13965,9 @@ inline flatbuffers::Offset CreateDepthToSpaceOptions(flatbu + } + + inline SubOptionsT *SubOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SubOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SubOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SubOptions::UnPackTo(SubOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13654,9 +13994,9 @@ inline flatbuffers::Offset CreateSubOptions(flatbuffers::FlatBufferB + } + + inline DivOptionsT *DivOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DivOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DivOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DivOptions::UnPackTo(DivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13680,9 +14020,9 @@ inline flatbuffers::Offset CreateDivOptions(flatbuffers::FlatBufferB + } + + inline TopKV2OptionsT *TopKV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TopKV2OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TopKV2OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TopKV2Options::UnPackTo(TopKV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13703,9 +14043,9 @@ inline flatbuffers::Offset CreateTopKV2Options(flatbuffers::FlatB + } + + inline EmbeddingLookupSparseOptionsT *EmbeddingLookupSparseOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new EmbeddingLookupSparseOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new EmbeddingLookupSparseOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void EmbeddingLookupSparseOptions::UnPackTo(EmbeddingLookupSparseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13729,9 +14069,9 @@ inline flatbuffers::Offset CreateEmbeddingLookupSp + } + + inline GatherOptionsT *GatherOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GatherOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GatherOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GatherOptions::UnPackTo(GatherOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13758,9 +14098,9 @@ inline flatbuffers::Offset CreateGatherOptions(flatbuffers::FlatB + } + + inline TransposeOptionsT *TransposeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TransposeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TransposeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TransposeOptions::UnPackTo(TransposeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13781,9 +14121,9 @@ inline flatbuffers::Offset CreateTransposeOptions(flatbuffers: + } + + inline ExpOptionsT *ExpOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ExpOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ExpOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ExpOptions::UnPackTo(ExpOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13804,9 +14144,9 @@ inline flatbuffers::Offset CreateExpOptions(flatbuffers::FlatBufferB + } + + inline CosOptionsT *CosOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CosOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CosOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CosOptions::UnPackTo(CosOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13827,9 +14167,9 @@ inline flatbuffers::Offset CreateCosOptions(flatbuffers::FlatBufferB + } + + inline ReducerOptionsT *ReducerOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ReducerOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ReducerOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ReducerOptions::UnPackTo(ReducerOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13853,9 +14193,9 @@ inline flatbuffers::Offset CreateReducerOptions(flatbuffers::Fla + } + + inline SqueezeOptionsT *SqueezeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SqueezeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SqueezeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SqueezeOptions::UnPackTo(SqueezeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13879,9 +14219,9 @@ inline flatbuffers::Offset CreateSqueezeOptions(flatbuffers::Fla + } + + inline SplitOptionsT *SplitOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SplitOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SplitOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SplitOptions::UnPackTo(SplitOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13905,9 +14245,9 @@ inline flatbuffers::Offset CreateSplitOptions(flatbuffers::FlatBuf + } + + inline SplitVOptionsT *SplitVOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SplitVOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SplitVOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SplitVOptions::UnPackTo(SplitVOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13931,9 +14271,9 @@ inline flatbuffers::Offset CreateSplitVOptions(flatbuffers::FlatB + } + + inline StridedSliceOptionsT *StridedSliceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new StridedSliceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new StridedSliceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void StridedSliceOptions::UnPackTo(StridedSliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13969,9 +14309,9 @@ inline flatbuffers::Offset CreateStridedSliceOptions(flatbu + } + + inline LogSoftmaxOptionsT *LogSoftmaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LogSoftmaxOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LogSoftmaxOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LogSoftmaxOptions::UnPackTo(LogSoftmaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -13992,9 +14332,9 @@ inline flatbuffers::Offset CreateLogSoftmaxOptions(flatbuffer + } + + inline CastOptionsT *CastOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CastOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CastOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CastOptions::UnPackTo(CastOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14021,9 +14361,9 @@ inline flatbuffers::Offset CreateCastOptions(flatbuffers::FlatBuffe + } + + inline DequantizeOptionsT *DequantizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DequantizeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DequantizeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DequantizeOptions::UnPackTo(DequantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14044,9 +14384,9 @@ inline flatbuffers::Offset CreateDequantizeOptions(flatbuffer + } + + inline MaximumMinimumOptionsT *MaximumMinimumOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MaximumMinimumOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MaximumMinimumOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MaximumMinimumOptions::UnPackTo(MaximumMinimumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14067,9 +14407,9 @@ inline flatbuffers::Offset CreateMaximumMinimumOptions(fl + } + + inline TileOptionsT *TileOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TileOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TileOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TileOptions::UnPackTo(TileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14090,9 +14430,9 @@ inline flatbuffers::Offset CreateTileOptions(flatbuffers::FlatBuffe + } + + inline ArgMaxOptionsT *ArgMaxOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ArgMaxOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ArgMaxOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ArgMaxOptions::UnPackTo(ArgMaxOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14116,9 +14456,9 @@ inline flatbuffers::Offset CreateArgMaxOptions(flatbuffers::FlatB + } + + inline ArgMinOptionsT *ArgMinOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ArgMinOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ArgMinOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ArgMinOptions::UnPackTo(ArgMinOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14142,9 +14482,9 @@ inline flatbuffers::Offset CreateArgMinOptions(flatbuffers::FlatB + } + + inline GreaterOptionsT *GreaterOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GreaterOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GreaterOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GreaterOptions::UnPackTo(GreaterOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14165,9 +14505,9 @@ inline flatbuffers::Offset CreateGreaterOptions(flatbuffers::Fla + } + + inline GreaterEqualOptionsT *GreaterEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GreaterEqualOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GreaterEqualOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GreaterEqualOptions::UnPackTo(GreaterEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14188,9 +14528,9 @@ inline flatbuffers::Offset CreateGreaterEqualOptions(flatbu + } + + inline LessOptionsT *LessOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LessOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LessOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LessOptions::UnPackTo(LessOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14211,9 +14551,9 @@ inline flatbuffers::Offset CreateLessOptions(flatbuffers::FlatBuffe + } + + inline LessEqualOptionsT *LessEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LessEqualOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LessEqualOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LessEqualOptions::UnPackTo(LessEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14234,9 +14574,9 @@ inline flatbuffers::Offset CreateLessEqualOptions(flatbuffers: + } + + inline NegOptionsT *NegOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new NegOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new NegOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void NegOptions::UnPackTo(NegOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14257,9 +14597,9 @@ inline flatbuffers::Offset CreateNegOptions(flatbuffers::FlatBufferB + } + + inline SelectOptionsT *SelectOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SelectOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SelectOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SelectOptions::UnPackTo(SelectOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14280,9 +14620,9 @@ inline flatbuffers::Offset CreateSelectOptions(flatbuffers::FlatB + } + + inline SliceOptionsT *SliceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SliceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SliceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SliceOptions::UnPackTo(SliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14303,9 +14643,9 @@ inline flatbuffers::Offset CreateSliceOptions(flatbuffers::FlatBuf + } + + inline TransposeConvOptionsT *TransposeConvOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TransposeConvOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TransposeConvOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TransposeConvOptions::UnPackTo(TransposeConvOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14335,9 +14675,9 @@ inline flatbuffers::Offset CreateTransposeConvOptions(flat + } + + inline ExpandDimsOptionsT *ExpandDimsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ExpandDimsOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ExpandDimsOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ExpandDimsOptions::UnPackTo(ExpandDimsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14358,9 +14698,9 @@ inline flatbuffers::Offset CreateExpandDimsOptions(flatbuffer + } + + inline SparseToDenseOptionsT *SparseToDenseOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SparseToDenseOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SparseToDenseOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SparseToDenseOptions::UnPackTo(SparseToDenseOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14384,9 +14724,9 @@ inline flatbuffers::Offset CreateSparseToDenseOptions(flat + } + + inline EqualOptionsT *EqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new EqualOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new EqualOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void EqualOptions::UnPackTo(EqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14407,9 +14747,9 @@ inline flatbuffers::Offset CreateEqualOptions(flatbuffers::FlatBuf + } + + inline NotEqualOptionsT *NotEqualOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new NotEqualOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new NotEqualOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void NotEqualOptions::UnPackTo(NotEqualOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14430,9 +14770,9 @@ inline flatbuffers::Offset CreateNotEqualOptions(flatbuffers::F + } + + inline ShapeOptionsT *ShapeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ShapeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ShapeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ShapeOptions::UnPackTo(ShapeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14456,9 +14796,9 @@ inline flatbuffers::Offset CreateShapeOptions(flatbuffers::FlatBuf + } + + inline RankOptionsT *RankOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new RankOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new RankOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void RankOptions::UnPackTo(RankOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14479,9 +14819,9 @@ inline flatbuffers::Offset CreateRankOptions(flatbuffers::FlatBuffe + } + + inline PowOptionsT *PowOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new PowOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new PowOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void PowOptions::UnPackTo(PowOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14502,9 +14842,9 @@ inline flatbuffers::Offset CreatePowOptions(flatbuffers::FlatBufferB + } + + inline FakeQuantOptionsT *FakeQuantOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FakeQuantOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FakeQuantOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FakeQuantOptions::UnPackTo(FakeQuantOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14537,9 +14877,9 @@ inline flatbuffers::Offset CreateFakeQuantOptions(flatbuffers: + } + + inline PackOptionsT *PackOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new PackOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new PackOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void PackOptions::UnPackTo(PackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14566,9 +14906,9 @@ inline flatbuffers::Offset CreatePackOptions(flatbuffers::FlatBuffe + } + + inline LogicalOrOptionsT *LogicalOrOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LogicalOrOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LogicalOrOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LogicalOrOptions::UnPackTo(LogicalOrOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14589,9 +14929,9 @@ inline flatbuffers::Offset CreateLogicalOrOptions(flatbuffers: + } + + inline OneHotOptionsT *OneHotOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new OneHotOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new OneHotOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void OneHotOptions::UnPackTo(OneHotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14615,9 +14955,9 @@ inline flatbuffers::Offset CreateOneHotOptions(flatbuffers::FlatB + } + + inline AbsOptionsT *AbsOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new AbsOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new AbsOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void AbsOptions::UnPackTo(AbsOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14638,9 +14978,9 @@ inline flatbuffers::Offset CreateAbsOptions(flatbuffers::FlatBufferB + } + + inline HardSwishOptionsT *HardSwishOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HardSwishOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HardSwishOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HardSwishOptions::UnPackTo(HardSwishOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14661,9 +15001,9 @@ inline flatbuffers::Offset CreateHardSwishOptions(flatbuffers: + } + + inline LogicalAndOptionsT *LogicalAndOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LogicalAndOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LogicalAndOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LogicalAndOptions::UnPackTo(LogicalAndOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14684,9 +15024,9 @@ inline flatbuffers::Offset CreateLogicalAndOptions(flatbuffer + } + + inline LogicalNotOptionsT *LogicalNotOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LogicalNotOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LogicalNotOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LogicalNotOptions::UnPackTo(LogicalNotOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14707,9 +15047,9 @@ inline flatbuffers::Offset CreateLogicalNotOptions(flatbuffer + } + + inline UnpackOptionsT *UnpackOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new UnpackOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new UnpackOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void UnpackOptions::UnPackTo(UnpackOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14736,9 +15076,9 @@ inline flatbuffers::Offset CreateUnpackOptions(flatbuffers::FlatB + } + + inline FloorDivOptionsT *FloorDivOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FloorDivOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FloorDivOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FloorDivOptions::UnPackTo(FloorDivOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14759,9 +15099,9 @@ inline flatbuffers::Offset CreateFloorDivOptions(flatbuffers::F + } + + inline SquareOptionsT *SquareOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SquareOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SquareOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SquareOptions::UnPackTo(SquareOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14782,9 +15122,9 @@ inline flatbuffers::Offset CreateSquareOptions(flatbuffers::FlatB + } + + inline ZerosLikeOptionsT *ZerosLikeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ZerosLikeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ZerosLikeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ZerosLikeOptions::UnPackTo(ZerosLikeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14805,9 +15145,9 @@ inline flatbuffers::Offset CreateZerosLikeOptions(flatbuffers: + } + + inline FillOptionsT *FillOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FillOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FillOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FillOptions::UnPackTo(FillOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14828,9 +15168,9 @@ inline flatbuffers::Offset CreateFillOptions(flatbuffers::FlatBuffe + } + + inline FloorModOptionsT *FloorModOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new FloorModOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new FloorModOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void FloorModOptions::UnPackTo(FloorModOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14851,9 +15191,9 @@ inline flatbuffers::Offset CreateFloorModOptions(flatbuffers::F + } + + inline RangeOptionsT *RangeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new RangeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new RangeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void RangeOptions::UnPackTo(RangeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14874,9 +15214,9 @@ inline flatbuffers::Offset CreateRangeOptions(flatbuffers::FlatBuf + } + + inline LeakyReluOptionsT *LeakyReluOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new LeakyReluOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new LeakyReluOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void LeakyReluOptions::UnPackTo(LeakyReluOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14900,9 +15240,9 @@ inline flatbuffers::Offset CreateLeakyReluOptions(flatbuffers: + } + + inline SquaredDifferenceOptionsT *SquaredDifferenceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SquaredDifferenceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SquaredDifferenceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SquaredDifferenceOptions::UnPackTo(SquaredDifferenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14923,9 +15263,9 @@ inline flatbuffers::Offset CreateSquaredDifferenceOpti + } + + inline MirrorPadOptionsT *MirrorPadOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MirrorPadOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MirrorPadOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MirrorPadOptions::UnPackTo(MirrorPadOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14949,9 +15289,9 @@ inline flatbuffers::Offset CreateMirrorPadOptions(flatbuffers: + } + + inline UniqueOptionsT *UniqueOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new UniqueOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new UniqueOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void UniqueOptions::UnPackTo(UniqueOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14975,9 +15315,9 @@ inline flatbuffers::Offset CreateUniqueOptions(flatbuffers::FlatB + } + + inline ReverseV2OptionsT *ReverseV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ReverseV2OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ReverseV2OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ReverseV2Options::UnPackTo(ReverseV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -14998,9 +15338,9 @@ inline flatbuffers::Offset CreateReverseV2Options(flatbuffers: + } + + inline AddNOptionsT *AddNOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new AddNOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new AddNOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void AddNOptions::UnPackTo(AddNOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15021,9 +15361,9 @@ inline flatbuffers::Offset CreateAddNOptions(flatbuffers::FlatBuffe + } + + inline GatherNdOptionsT *GatherNdOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GatherNdOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GatherNdOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GatherNdOptions::UnPackTo(GatherNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15044,9 +15384,9 @@ inline flatbuffers::Offset CreateGatherNdOptions(flatbuffers::F + } + + inline WhereOptionsT *WhereOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new WhereOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new WhereOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void WhereOptions::UnPackTo(WhereOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15067,9 +15407,9 @@ inline flatbuffers::Offset CreateWhereOptions(flatbuffers::FlatBuf + } + + inline ReverseSequenceOptionsT *ReverseSequenceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ReverseSequenceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ReverseSequenceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ReverseSequenceOptions::UnPackTo(ReverseSequenceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15096,9 +15436,9 @@ inline flatbuffers::Offset CreateReverseSequenceOptions( + } + + inline MatrixDiagOptionsT *MatrixDiagOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MatrixDiagOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MatrixDiagOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MatrixDiagOptions::UnPackTo(MatrixDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15119,9 +15459,9 @@ inline flatbuffers::Offset CreateMatrixDiagOptions(flatbuffer + } + + inline QuantizeOptionsT *QuantizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new QuantizeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new QuantizeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void QuantizeOptions::UnPackTo(QuantizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15142,9 +15482,9 @@ inline flatbuffers::Offset CreateQuantizeOptions(flatbuffers::F + } + + inline MatrixSetDiagOptionsT *MatrixSetDiagOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MatrixSetDiagOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MatrixSetDiagOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void MatrixSetDiagOptions::UnPackTo(MatrixSetDiagOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15165,9 +15505,9 @@ inline flatbuffers::Offset CreateMatrixSetDiagOptions(flat + } + + inline IfOptionsT *IfOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new IfOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new IfOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void IfOptions::UnPackTo(IfOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15194,9 +15534,9 @@ inline flatbuffers::Offset CreateIfOptions(flatbuffers::FlatBufferBui + } + + inline CallOnceOptionsT *CallOnceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CallOnceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CallOnceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CallOnceOptions::UnPackTo(CallOnceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15220,9 +15560,9 @@ inline flatbuffers::Offset CreateCallOnceOptions(flatbuffers::F + } + + inline WhileOptionsT *WhileOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new WhileOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new WhileOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void WhileOptions::UnPackTo(WhileOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15249,9 +15589,9 @@ inline flatbuffers::Offset CreateWhileOptions(flatbuffers::FlatBuf + } + + inline NonMaxSuppressionV4OptionsT *NonMaxSuppressionV4Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new NonMaxSuppressionV4OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new NonMaxSuppressionV4OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void NonMaxSuppressionV4Options::UnPackTo(NonMaxSuppressionV4OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15272,9 +15612,9 @@ inline flatbuffers::Offset CreateNonMaxSuppressionV4 + } + + inline NonMaxSuppressionV5OptionsT *NonMaxSuppressionV5Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new NonMaxSuppressionV5OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new NonMaxSuppressionV5OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void NonMaxSuppressionV5Options::UnPackTo(NonMaxSuppressionV5OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15295,9 +15635,9 @@ inline flatbuffers::Offset CreateNonMaxSuppressionV5 + } + + inline ScatterNdOptionsT *ScatterNdOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ScatterNdOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ScatterNdOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ScatterNdOptions::UnPackTo(ScatterNdOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15318,9 +15658,9 @@ inline flatbuffers::Offset CreateScatterNdOptions(flatbuffers: + } + + inline SelectV2OptionsT *SelectV2Options::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SelectV2OptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SelectV2OptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SelectV2Options::UnPackTo(SelectV2OptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15341,9 +15681,9 @@ inline flatbuffers::Offset CreateSelectV2Options(flatbuffers::F + } + + inline DensifyOptionsT *DensifyOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DensifyOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DensifyOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DensifyOptions::UnPackTo(DensifyOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15364,9 +15704,9 @@ inline flatbuffers::Offset CreateDensifyOptions(flatbuffers::Fla + } + + inline SegmentSumOptionsT *SegmentSumOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SegmentSumOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SegmentSumOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SegmentSumOptions::UnPackTo(SegmentSumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15387,9 +15727,9 @@ inline flatbuffers::Offset CreateSegmentSumOptions(flatbuffer + } + + inline BatchMatMulOptionsT *BatchMatMulOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BatchMatMulOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BatchMatMulOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BatchMatMulOptions::UnPackTo(BatchMatMulOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15419,9 +15759,9 @@ inline flatbuffers::Offset CreateBatchMatMulOptions(flatbuff + } + + inline CumsumOptionsT *CumsumOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new CumsumOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new CumsumOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void CumsumOptions::UnPackTo(CumsumOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15448,9 +15788,9 @@ inline flatbuffers::Offset CreateCumsumOptions(flatbuffers::FlatB + } + + inline BroadcastToOptionsT *BroadcastToOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BroadcastToOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BroadcastToOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BroadcastToOptions::UnPackTo(BroadcastToOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15471,9 +15811,9 @@ inline flatbuffers::Offset CreateBroadcastToOptions(flatbuff + } + + inline Rfft2dOptionsT *Rfft2dOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new Rfft2dOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new Rfft2dOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Rfft2dOptions::UnPackTo(Rfft2dOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15494,9 +15834,9 @@ inline flatbuffers::Offset CreateRfft2dOptions(flatbuffers::FlatB + } + + inline HashtableOptionsT *HashtableOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HashtableOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HashtableOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HashtableOptions::UnPackTo(HashtableOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15526,9 +15866,9 @@ inline flatbuffers::Offset CreateHashtableOptions(flatbuffers: + } + + inline HashtableFindOptionsT *HashtableFindOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HashtableFindOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HashtableFindOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HashtableFindOptions::UnPackTo(HashtableFindOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15549,9 +15889,9 @@ inline flatbuffers::Offset CreateHashtableFindOptions(flat + } + + inline HashtableImportOptionsT *HashtableImportOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HashtableImportOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HashtableImportOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HashtableImportOptions::UnPackTo(HashtableImportOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15572,9 +15912,9 @@ inline flatbuffers::Offset CreateHashtableImportOptions( + } + + inline HashtableSizeOptionsT *HashtableSizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new HashtableSizeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new HashtableSizeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void HashtableSizeOptions::UnPackTo(HashtableSizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15595,9 +15935,9 @@ inline flatbuffers::Offset CreateHashtableSizeOptions(flat + } + + inline VarHandleOptionsT *VarHandleOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new VarHandleOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new VarHandleOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void VarHandleOptions::UnPackTo(VarHandleOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15624,9 +15964,9 @@ inline flatbuffers::Offset CreateVarHandleOptions(flatbuffers: + } + + inline ReadVariableOptionsT *ReadVariableOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ReadVariableOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ReadVariableOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void ReadVariableOptions::UnPackTo(ReadVariableOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15647,9 +15987,9 @@ inline flatbuffers::Offset CreateReadVariableOptions(flatbu + } + + inline AssignVariableOptionsT *AssignVariableOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new AssignVariableOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new AssignVariableOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void AssignVariableOptions::UnPackTo(AssignVariableOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15670,9 +16010,9 @@ inline flatbuffers::Offset CreateAssignVariableOptions(fl + } + + inline RandomOptionsT *RandomOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new RandomOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new RandomOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void RandomOptions::UnPackTo(RandomOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15699,9 +16039,9 @@ inline flatbuffers::Offset CreateRandomOptions(flatbuffers::FlatB + } + + inline BucketizeOptionsT *BucketizeOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BucketizeOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BucketizeOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void BucketizeOptions::UnPackTo(BucketizeOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15725,9 +16065,9 @@ inline flatbuffers::Offset CreateBucketizeOptions(flatbuffers: + } + + inline GeluOptionsT *GeluOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new GeluOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new GeluOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void GeluOptions::UnPackTo(GeluOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15751,9 +16091,9 @@ inline flatbuffers::Offset CreateGeluOptions(flatbuffers::FlatBuffe + } + + inline DynamicUpdateSliceOptionsT *DynamicUpdateSliceOptions::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new DynamicUpdateSliceOptionsT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new DynamicUpdateSliceOptionsT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void DynamicUpdateSliceOptions::UnPackTo(DynamicUpdateSliceOptionsT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15774,9 +16114,9 @@ inline flatbuffers::Offset CreateDynamicUpdateSliceOp + } + + inline OperatorCodeT *OperatorCode::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new OperatorCodeT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new OperatorCodeT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void OperatorCode::UnPackTo(OperatorCodeT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15809,9 +16149,9 @@ inline flatbuffers::Offset CreateOperatorCode(flatbuffers::FlatBuf + } + + inline OperatorT *Operator::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new OperatorT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new OperatorT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Operator::UnPackTo(OperatorT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15859,18 +16199,18 @@ inline flatbuffers::Offset CreateOperator(flatbuffers::FlatBufferBuild + } + + inline SubGraphT *SubGraph::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SubGraphT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SubGraphT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SubGraph::UnPackTo(SubGraphT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = tensors(); if (_e) { _o->tensors.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = tensors(); if (_e) { _o->tensors.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->tensors[_i]) { _e->Get(_i)->UnPackTo(_o->tensors[_i].get(), _resolver); } else { _o->tensors[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = _e->Get(_i); } } } + { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = _e->Get(_i); } } } +- { auto _e = operators(); if (_e) { _o->operators.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->operators[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = operators(); if (_e) { _o->operators.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operators[_i]) { _e->Get(_i)->UnPackTo(_o->operators[_i].get(), _resolver); } else { _o->operators[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = name(); if (_e) _o->name = _e->str(); } + } + +@@ -15897,9 +16237,9 @@ inline flatbuffers::Offset CreateSubGraph(flatbuffers::FlatBufferBuild + } + + inline BufferT *Buffer::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new BufferT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new BufferT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Buffer::UnPackTo(BufferT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15924,9 +16264,9 @@ inline flatbuffers::Offset CreateBuffer(flatbuffers::FlatBufferBuilder & + } + + inline MetadataT *Metadata::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new MetadataT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new MetadataT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Metadata::UnPackTo(MetadataT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15953,9 +16293,9 @@ inline flatbuffers::Offset CreateMetadata(flatbuffers::FlatBufferBuild + } + + inline TensorMapT *TensorMap::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new TensorMapT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new TensorMapT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void TensorMap::UnPackTo(TensorMapT *_o, const flatbuffers::resolver_function_t *_resolver) const { +@@ -15982,16 +16322,16 @@ inline flatbuffers::Offset CreateTensorMap(flatbuffers::FlatBufferBui + } + + inline SignatureDefT *SignatureDef::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new SignatureDefT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new SignatureDefT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void SignatureDef::UnPackTo(SignatureDefT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; +- { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +- { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->outputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->inputs[_i]) { _e->Get(_i)->UnPackTo(_o->inputs[_i].get(), _resolver); } else { _o->inputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = outputs(); if (_e) { _o->outputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->outputs[_i]) { _e->Get(_i)->UnPackTo(_o->outputs[_i].get(), _resolver); } else { _o->outputs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = signature_key(); if (_e) _o->signature_key = _e->str(); } + { auto _e = subgraph_index(); _o->subgraph_index = _e; } + } +@@ -16017,22 +16357,22 @@ inline flatbuffers::Offset CreateSignatureDef(flatbuffers::FlatBuf + } + + inline ModelT *Model::UnPack(const flatbuffers::resolver_function_t *_resolver) const { +- auto _o = new ModelT(); +- UnPackTo(_o, _resolver); +- return _o; ++ auto _o = std::unique_ptr(new ModelT()); ++ UnPackTo(_o.get(), _resolver); ++ return _o.release(); + } + + inline void Model::UnPackTo(ModelT *_o, const flatbuffers::resolver_function_t *_resolver) const { + (void)_o; + (void)_resolver; + { auto _e = version(); _o->version = _e; } +- { auto _e = operator_codes(); if (_e) { _o->operator_codes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->operator_codes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +- { auto _e = subgraphs(); if (_e) { _o->subgraphs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->subgraphs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = operator_codes(); if (_e) { _o->operator_codes.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->operator_codes[_i]) { _e->Get(_i)->UnPackTo(_o->operator_codes[_i].get(), _resolver); } else { _o->operator_codes[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = subgraphs(); if (_e) { _o->subgraphs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->subgraphs[_i]) { _e->Get(_i)->UnPackTo(_o->subgraphs[_i].get(), _resolver); } else { _o->subgraphs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = description(); if (_e) _o->description = _e->str(); } +- { auto _e = buffers(); if (_e) { _o->buffers.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffers[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = buffers(); if (_e) { _o->buffers.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->buffers[_i]) { _e->Get(_i)->UnPackTo(_o->buffers[_i].get(), _resolver); } else { _o->buffers[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + { auto _e = metadata_buffer(); if (_e) { _o->metadata_buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata_buffer[_i] = _e->Get(_i); } } } +- { auto _e = metadata(); if (_e) { _o->metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } +- { auto _e = signature_defs(); if (_e) { _o->signature_defs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->signature_defs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); } } } ++ { auto _e = metadata(); if (_e) { _o->metadata.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->metadata[_i]) { _e->Get(_i)->UnPackTo(_o->metadata[_i].get(), _resolver); } else { _o->metadata[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } ++ { auto _e = signature_defs(); if (_e) { _o->signature_defs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { if(_o->signature_defs[_i]) { _e->Get(_i)->UnPackTo(_o->signature_defs[_i].get(), _resolver); } else { _o->signature_defs[_i] = std::unique_ptr(_e->Get(_i)->UnPack(_resolver)); }; } } } + } + + inline flatbuffers::Offset Model::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const flatbuffers::rehasher_function_t *_rehasher) { +@@ -16089,6 +16429,7 @@ inline bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, con + } + + inline void *QuantizationDetailsUnion::UnPack(const void *obj, QuantizationDetails type, const flatbuffers::resolver_function_t *resolver) { ++ (void)resolver; + switch (type) { + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(obj); +@@ -16099,6 +16440,7 @@ inline void *QuantizationDetailsUnion::UnPack(const void *obj, QuantizationDetai + } + + inline flatbuffers::Offset QuantizationDetailsUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { ++ (void)_rehasher; + switch (type) { + case QuantizationDetails_CustomQuantization: { + auto ptr = reinterpret_cast(value); +@@ -16108,7 +16450,7 @@ inline flatbuffers::Offset QuantizationDetailsUnion::Pack(flatbuffers::Fla + } + } + +-inline QuantizationDetailsUnion::QuantizationDetailsUnion(const QuantizationDetailsUnion &u) FLATBUFFERS_NOEXCEPT : type(u.type), value(nullptr) { ++inline QuantizationDetailsUnion::QuantizationDetailsUnion(const QuantizationDetailsUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case QuantizationDetails_CustomQuantization: { + value = new tflite::CustomQuantizationT(*reinterpret_cast(u.value)); +@@ -16166,6 +16508,7 @@ inline bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const + } + + inline void *SparseIndexVectorUnion::UnPack(const void *obj, SparseIndexVector type, const flatbuffers::resolver_function_t *resolver) { ++ (void)resolver; + switch (type) { + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(obj); +@@ -16184,6 +16527,7 @@ inline void *SparseIndexVectorUnion::UnPack(const void *obj, SparseIndexVector t + } + + inline flatbuffers::Offset SparseIndexVectorUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { ++ (void)_rehasher; + switch (type) { + case SparseIndexVector_Int32Vector: { + auto ptr = reinterpret_cast(value); +@@ -16201,7 +16545,7 @@ inline flatbuffers::Offset SparseIndexVectorUnion::Pack(flatbuffers::FlatB + } + } + +-inline SparseIndexVectorUnion::SparseIndexVectorUnion(const SparseIndexVectorUnion &u) FLATBUFFERS_NOEXCEPT : type(u.type), value(nullptr) { ++inline SparseIndexVectorUnion::SparseIndexVectorUnion(const SparseIndexVectorUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case SparseIndexVector_Int32Vector: { + value = new tflite::Int32VectorT(*reinterpret_cast(u.value)); +@@ -16733,6 +17077,7 @@ inline bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const fl + } + + inline void *BuiltinOptionsUnion::UnPack(const void *obj, BuiltinOptions type, const flatbuffers::resolver_function_t *resolver) { ++ (void)resolver; + switch (type) { + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(obj); +@@ -17207,6 +17552,7 @@ inline void *BuiltinOptionsUnion::UnPack(const void *obj, BuiltinOptions type, c + } + + inline flatbuffers::Offset BuiltinOptionsUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { ++ (void)_rehasher; + switch (type) { + case BuiltinOptions_Conv2DOptions: { + auto ptr = reinterpret_cast(value); +@@ -17680,7 +18026,7 @@ inline flatbuffers::Offset BuiltinOptionsUnion::Pack(flatbuffers::FlatBuff + } + } + +-inline BuiltinOptionsUnion::BuiltinOptionsUnion(const BuiltinOptionsUnion &u) FLATBUFFERS_NOEXCEPT : type(u.type), value(nullptr) { ++inline BuiltinOptionsUnion::BuiltinOptionsUnion(const BuiltinOptionsUnion &u) : type(u.type), value(nullptr) { + switch (type) { + case BuiltinOptions_Conv2DOptions: { + value = new tflite::Conv2DOptionsT(*reinterpret_cast(u.value)); +diff --git a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +index a3d01fd962d..ac91a03a48a 100644 +--- a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake ++++ b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +@@ -23,7 +23,7 @@ OverridableFetchContent_Declare( + flatbuffers + GIT_REPOSITORY https://github.com/google/flatbuffers + # Sync with tensorflow/third_party/flatbuffers/workspace.bzl +- GIT_TAG v1.12.0 ++ GIT_TAG v2.0.5 + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/flatbuffers" +diff --git a/tensorflow/tools/ci_build/release/requirements_common.txt b/tensorflow/tools/ci_build/release/requirements_common.txt +index 7a9f3fe6ee9..ea6ccf0e912 100644 +--- a/tensorflow/tools/ci_build/release/requirements_common.txt ++++ b/tensorflow/tools/ci_build/release/requirements_common.txt +@@ -4,7 +4,7 @@ + + absl-py ~= 0.13.0 + astunparse ~= 1.6.3 +-flatbuffers < 2.0 # NOTE: We cannot support faltbuffers 2.0 until internal code updates ++flatbuffers ~= 2.0 + google_pasta ~= 0.2 + h5py ~= 3.6.0 # NOTE: Earliest version for Python 3.10 + keras_preprocessing ~= 1.1.2 +diff --git a/tensorflow/tools/pip_package/setup.py b/tensorflow/tools/pip_package/setup.py +index cdcc355f4a6..6ccdbc38bd3 100644 +--- a/tensorflow/tools/pip_package/setup.py ++++ b/tensorflow/tools/pip_package/setup.py +@@ -75,9 +75,7 @@ def standard_or_nightly(standard, nightly): + REQUIRED_PACKAGES = [ + 'absl-py >= 1.0.0', + 'astunparse >= 1.6.0', +- # TODO(b/187981032): remove the constraint for 2.0 once the incompatibile +- # issue is resolved. +- 'flatbuffers >= 1.12, <2', ++ 'flatbuffers >= 2.0', + # TODO(b/213222745) gast versions above 0.4.0 break TF's tests + 'gast >= 0.2.1, <= 0.4.0', + 'google_pasta >= 0.1.1', +diff --git a/third_party/flatbuffers/build_defs.bzl b/third_party/flatbuffers/build_defs.bzl +index 754db3f5d86..9fe15a3747f 100644 +--- a/third_party/flatbuffers/build_defs.bzl ++++ b/third_party/flatbuffers/build_defs.bzl +@@ -279,6 +279,11 @@ def _gen_flatbuffer_srcs_impl(ctx): + else: + no_includes_statement = [] + ++ if ctx.attr.language_flag == "--python": ++ onefile_statement = ["--gen-onefile"] ++ else: ++ onefile_statement = [] ++ + # Need to generate all files in a directory. + if not outputs: + outputs = [ctx.actions.declare_directory("{}_all".format(ctx.attr.name))] +@@ -314,6 +319,7 @@ def _gen_flatbuffer_srcs_impl(ctx): + "-I", + ctx.bin_dir.path, + ] + no_includes_statement + ++ onefile_statement + + include_paths_cmd_line + [ + "--no-union-value-namespacing", + "--gen-object-api", +@@ -433,6 +439,8 @@ def flatbuffer_py_library( + deps = deps, + include_paths = include_paths, + ) ++ ++ # TODO(b/235550563): Remove the concatnation rule with 2.0.6 update. + all_srcs_no_include = "{}_srcs_no_include".format(name) + _gen_flatbuffer_srcs( + name = all_srcs_no_include, +diff --git a/third_party/flatbuffers/flatbuffers.BUILD b/third_party/flatbuffers/flatbuffers.BUILD +index 108c0cd8e3b..f32f1a5f324 100644 +--- a/third_party/flatbuffers/flatbuffers.BUILD ++++ b/third_party/flatbuffers/flatbuffers.BUILD +@@ -10,10 +10,15 @@ exports_files(["LICENSE.txt"]) + licenses(["notice"]) + + config_setting( +- name = "freebsd", ++ name = "platform_freebsd", + values = {"cpu": "freebsd"}, + ) + ++config_setting( ++ name = "platform_openbsd", ++ values = {"cpu": "openbsd"}, ++) ++ + config_setting( + name = "windows", + values = {"cpu": "x64_windows"}, +@@ -35,8 +40,16 @@ cc_library( + filegroup( + name = "public_headers", + srcs = [ ++ "include/flatbuffers/allocator.h", ++ "include/flatbuffers/array.h", + "include/flatbuffers/base.h", ++ "include/flatbuffers/bfbs_generator.h", ++ "include/flatbuffers/buffer.h", ++ "include/flatbuffers/buffer_ref.h", + "include/flatbuffers/code_generators.h", ++ "include/flatbuffers/default_allocator.h", ++ "include/flatbuffers/detached_buffer.h", ++ "include/flatbuffers/flatbuffer_builder.h", + "include/flatbuffers/flatbuffers.h", + "include/flatbuffers/flexbuffers.h", + "include/flatbuffers/hash.h", +@@ -46,7 +59,13 @@ filegroup( + "include/flatbuffers/reflection_generated.h", + "include/flatbuffers/registry.h", + "include/flatbuffers/stl_emulation.h", ++ "include/flatbuffers/string.h", ++ "include/flatbuffers/struct.h", ++ "include/flatbuffers/table.h", + "include/flatbuffers/util.h", ++ "include/flatbuffers/vector.h", ++ "include/flatbuffers/vector_downward.h", ++ "include/flatbuffers/verifier.h", + ], + visibility = ["//:__subpackages__"], + ) +@@ -65,7 +84,7 @@ cc_library( + cc_binary( + name = "flatc", + linkopts = select({ +- ":freebsd": [ ++ ":platform_freebsd": [ + "-lm", + ], + ":windows": [], +@@ -92,11 +111,24 @@ filegroup( + cc_library( + name = "runtime_cc", + hdrs = [ ++ "include/flatbuffers/allocator.h", ++ "include/flatbuffers/array.h", + "include/flatbuffers/base.h", ++ "include/flatbuffers/buffer.h", ++ "include/flatbuffers/buffer_ref.h", ++ "include/flatbuffers/default_allocator.h", ++ "include/flatbuffers/detached_buffer.h", ++ "include/flatbuffers/flatbuffer_builder.h", + "include/flatbuffers/flatbuffers.h", + "include/flatbuffers/flexbuffers.h", + "include/flatbuffers/stl_emulation.h", ++ "include/flatbuffers/string.h", ++ "include/flatbuffers/struct.h", ++ "include/flatbuffers/table.h", + "include/flatbuffers/util.h", ++ "include/flatbuffers/vector.h", ++ "include/flatbuffers/vector_downward.h", ++ "include/flatbuffers/verifier.h", + ], + linkstatic = 1, + strip_include_prefix = "/include", +@@ -107,9 +139,11 @@ flatbuffer_py_strip_prefix_srcs( + name = "flatbuffer_py_strip_prefix", + srcs = [ + "python/flatbuffers/__init__.py", ++ "python/flatbuffers/_version.py", + "python/flatbuffers/builder.py", + "python/flatbuffers/compat.py", + "python/flatbuffers/encode.py", ++ "python/flatbuffers/flexbuffers.py", + "python/flatbuffers/number_types.py", + "python/flatbuffers/packer.py", + "python/flatbuffers/table.py", +@@ -122,9 +156,11 @@ filegroup( + name = "runtime_py_srcs", + srcs = [ + "__init__.py", ++ "_version.py", + "builder.py", + "compat.py", + "encode.py", ++ "flexbuffers.py", + "number_types.py", + "packer.py", + "table.py", +diff --git a/third_party/flatbuffers/workspace.bzl b/third_party/flatbuffers/workspace.bzl +index 59c1fd9ea43..84aae9dc51f 100644 +--- a/third_party/flatbuffers/workspace.bzl ++++ b/third_party/flatbuffers/workspace.bzl +@@ -5,9 +5,9 @@ load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls") + def repo(): + tf_http_archive( + name = "flatbuffers", +- strip_prefix = "flatbuffers-1.12.0", +- sha256 = "62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45", +- urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v1.12.0.tar.gz"), ++ strip_prefix = "flatbuffers-2.0.5", ++ sha256 = "b01e97c988c429e164c5c7df9e87c80007ca87f593c0d73733ba536ddcbc8f98", ++ urls = tf_mirror_urls("https://github.com/google/flatbuffers/archive/v2.0.5.tar.gz"), + build_file = "//third_party/flatbuffers:flatbuffers.BUILD", + system_build_file = "//third_party/flatbuffers:BUILD.system", + link_files = { 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 new file mode 100644 index 00000000000..02ef8ec6c80 --- /dev/null +++ b/easybuild/easyconfigs/t/TensorRT/TensorRT-8.6.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,26 @@ +name = 'TensorRT' +version = '8.6.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://developer.nvidia.com/tensorrt' +description = """NVIDIA TensorRT is a platform for high-performance deep learning inference""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +download_instructions = "Manual download from https://developer.nvidia.com/nvidia-tensorrt-8x-download " +sources = ['%(name)s-%(version)s.6.Linux.x86_64-gnu.cuda-11.8.tar.gz'] +checksums = ['15bfe6053d45feec45ecc7123a9106076b0b43fa0435f242d89dca0778337759'] + +builddependencies = [ + ('protobuf', '3.19.4'), +] + +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'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TetGen/TetGen-1.6.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/TetGen/TetGen-1.6.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..08661910bc5 --- /dev/null +++ b/easybuild/easyconfigs/t/TetGen/TetGen-1.6.0-GCCcore-10.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'TetGen' +version = '1.6.0' + +homepage = 'http://wias-berlin.de/software/index.jsp?id=TetGen' +description = """ A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +# Fill in a form and download from above URL +sources = ['tetgen1.6.0.tar.gz'] +checksums = ['87b5e61ebd3a471fc4f2cdd7124c2b11dd6639f4feb1f941a5d2f5110d05ce39'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +skipsteps = ['install'] + +postinstallcmds = [ + 'mkdir -p %(installdir)s/bin/ && cp tetgen %(installdir)s/bin/', + 'mkdir -p %(installdir)s/lib/ && cp libtet.a %(installdir)s/lib/', +] + +sanity_check_paths = { + 'files': ['bin/tetgen', 'lib/libtet.a'], + 'dirs': [], +} + +sanity_check_commands = ["%(namelower)s -h"] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb new file mode 100644 index 00000000000..ed46151ae76 --- /dev/null +++ b/easybuild/easyconfigs/t/Theano/Theano-1.0.4-foss-2018b-Python-3.6.6.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'Theano' +version = "1.0.4" +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://deeplearning.net/software/theano' +description = """Theano is a Python library that allows you to define, optimize, +and evaluate mathematical expressions involving multi-dimensional arrays efficiently.""" + +toolchain = {'name': 'foss', 'version': '2018b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['35c9bbef56b61ffa299265a42a4e8f8cb5a07b2997dabaef0f8830b397086913'] + +dependencies = [('Python', '3.6.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/theano-cache', 'bin/theano-nose'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb new file mode 100644 index 00000000000..ee57a0b1144 --- /dev/null +++ b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-foss-2021b-PyMC.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' + +name = 'Theano' +version = '1.1.2' +versionsuffix = '-PyMC' + +homepage = 'https://deeplearning.net/software/theano' +description = """Theano is a Python library that allows you to define, optimize, +and evaluate mathematical expressions involving multi-dimensional arrays efficiently.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/T/Theano%(versionsuffix)s'] +sources = ['Theano-PyMC-%(version)s.tar.gz'] +checksums = ['5da6c2242ea72a991c8446d7fe7d35189ea346ef7d024c890397011114bf10fc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +fix_python_shebang_for = ['bin/theano-cache', 'bin/theano-nose'] + +sanity_check_paths = { + 'files': ['bin/theano-cache'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +local_blas_warning = "Using NumPy C-API based implementation for BLAS functions" +sanity_check_commands = [ + # make sure that warning about falling back to (slow) NumPy C-API for BLAS functions is *not* printed + # mkl-service dependency is required to ensure this doesn't happen + "python -c 'import theano.tensor' 2>&1 | grep '%s'; test $? != 0" % local_blas_warning, +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.1.2-fosscuda-2020b-PyMC.eb b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-fosscuda-2020b-PyMC.eb index c7c4aba1c1b..7acce00ef7d 100644 --- a/easybuild/easyconfigs/t/Theano/Theano-1.1.2-fosscuda-2020b-PyMC.eb +++ b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-fosscuda-2020b-PyMC.eb @@ -19,7 +19,7 @@ checksums = ['5da6c2242ea72a991c8446d7fe7d35189ea346ef7d024c890397011114bf10fc'] dependencies = [ ('Python', '3.8.6'), ('libgpuarray', '0.7.6'), - ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', True), + ('cuDNN', '8.0.4.30', '-CUDA-%(cudaver)s', SYSTEM), ('SciPy-bundle', '2020.11'), ] diff --git a/easybuild/easyconfigs/t/Theano/Theano-1.1.2-intel-2021b-PyMC.eb b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-intel-2021b-PyMC.eb new file mode 100644 index 00000000000..08868c6858d --- /dev/null +++ b/easybuild/easyconfigs/t/Theano/Theano-1.1.2-intel-2021b-PyMC.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'Theano' +version = '1.1.2' +versionsuffix = '-PyMC' + +homepage = 'https://deeplearning.net/software/theano' +description = """Theano is a Python library that allows you to define, optimize, +and evaluate mathematical expressions involving multi-dimensional arrays efficiently.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +source_urls = ['https://pypi.python.org/packages/source/T/Theano%(versionsuffix)s'] +sources = ['Theano-PyMC-%(version)s.tar.gz'] +checksums = ['5da6c2242ea72a991c8446d7fe7d35189ea346ef7d024c890397011114bf10fc'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('mkl-service', '2.3.0'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +fix_python_shebang_for = ['bin/theano-cache', 'bin/theano-nose'] + +sanity_check_paths = { + 'files': ['bin/theano-cache'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +local_blas_warning = "Using NumPy C-API based implementation for BLAS functions" +sanity_check_commands = [ + # make sure that warning about falling back to (slow) NumPy C-API for BLAS functions is *not* printed + # mkl-service dependency is required to ensure this doesn't happen + "python -c 'import theano.tensor' 2>&1 | grep '%s'; test $? != 0" % local_blas_warning, +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/ThemisPy/ThemisPy-0.3.0-foss-2021a.eb b/easybuild/easyconfigs/t/ThemisPy/ThemisPy-0.3.0-foss-2021a.eb new file mode 100644 index 00000000000..045289594ad --- /dev/null +++ b/easybuild/easyconfigs/t/ThemisPy/ThemisPy-0.3.0-foss-2021a.eb @@ -0,0 +1,30 @@ +easyblock = "PythonPackage" + +name = 'ThemisPy' +version = '0.3.0' + +homepage = 'https://github.com/aeb/ThemisPy' +description = 'A header-only C++ library for L-BFGS and L-BFGS-B algorithms' + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/aeb/ThemisPy/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['64b6339066e207cc5c42593460c12c2d73346ece97dafb26135d486b18a76dfd'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/themispy_best_sample', 'bin/themispy_resample', 'bin/themispy_generate_data'], + 'dirs': ['lib64/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch new file mode 100644 index 00000000000..d9eeb45c73b --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-CVE-2021-42260.patch @@ -0,0 +1,23 @@ +Description: In stamp always advance the pointer if *p= 0xef + . + The current implementation only advanced if 0xef is followed + by two non-zero bytes. In case of malformed input (0xef should be + the start byte of a three byte character) this leads to an infinite + loop. (CVE-2021-42260) +Origin: https://sourceforge.net/p/tinyxml/git/merge-requests/1/ + +--- a/tinyxmlparser.cpp ++++ b/tinyxmlparser.cpp +@@ -274,6 +274,12 @@ void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding ) + else + { p +=3; ++col; } // A normal character. + } ++ else ++ { ++ // TIXML_UTF_LEAD_0 (239) is the start character of a 3 byte sequence, so ++ // there is something wrong here. Just advance the pointer to evade infinite loops ++ ++p; ++ } + } + else + { diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..502a6576d66 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.2.0.eb @@ -0,0 +1,60 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'TinyXML' +version = '2.6.2' + +homepage = 'https://sourceforge.net/projects/tinyxml' +description = """TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating + into other programs. It reads XML and creates C++ objects representing the XML document. The + objects can be manipulated, changed, and saved again as XML. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % version.replace('.', '_')] +patches = [ + '%(name)s-2.6.2-enforce-use-stl.patch', + '%(name)s-2.6.2-entity-encoding.patch', + '%(name)s-2.6.2-CVE-2021-42260.patch', + '%(name)s-2.6.2-tagindex-type.patch' +] +checksums = [ + {'tinyxml_2_6_2.tar.gz': '15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'}, + {'TinyXML-2.6.2-enforce-use-stl.patch': '16a5b5e842eb0336be606131e5fb12a9165970f7bd943780ba09df2e1e8b29b1'}, + {'TinyXML-2.6.2-entity-encoding.patch': 'c5128e03933cd2e22eb85554d58f615f4dbc9177bd144cae2913c0bd7b140c2b'}, + {'TinyXML-2.6.2-CVE-2021-42260.patch': '3c4a6d9606944f54be5f108f278bb9137d78c6da9aa369a3d3faf87077a0a4bd'}, + {'TinyXML-2.6.2-tagindex-type.patch': 'cd1a1888ca0be64bb2cccc0c90eb070f3c789b8b9b7e02946ab8c4d38340424d'}, +] + +builddependencies = [('binutils', '2.37')] + +buildopts = ' '.join([ + 'CXXFLAGS="$CXXFLAGS $CPPFLAGS -DTIXML_USE_STL" CXX="$CXX" LDFLAGS="$LDFLAGS" LD="$LD"', + # build a shared library + '&& $CXX -shared -Wl,-soname,lib%(namelower)s.so.%(version)s -o lib%(namelower)s.so.%(version)s $LDFLAGS *.o', +]) + +_incs = ['tinystr.h', 'tinyxml.h'] +_libs = ['lib%(namelower)s.so.%(version)s'] + +files_to_copy = [ + (_incs, 'include'), + (_libs, 'lib'), +] + +postinstallcmds = [' && '.join([ + "cd %(installdir)s/lib", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major_minor)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so", +])] + +sanity_check_paths = { + 'files': ['include/%s' % i for i in _incs] + ['lib/%s' % l for l in _libs], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1810c449235 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-GCCcore-11.3.0.eb @@ -0,0 +1,60 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'MakeCp' + +name = 'TinyXML' +version = '2.6.2' + +homepage = 'https://sourceforge.net/projects/tinyxml' +description = """TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating + into other programs. It reads XML and creates C++ objects representing the XML document. The + objects can be manipulated, changed, and saved again as XML. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%%(namelower)s_%s.tar.gz' % version.replace('.', '_')] +patches = [ + '%(name)s-2.6.2-enforce-use-stl.patch', + '%(name)s-2.6.2-entity-encoding.patch', + '%(name)s-2.6.2-CVE-2021-42260.patch', + '%(name)s-2.6.2-tagindex-type.patch', +] +checksums = [ + {'tinyxml_2_6_2.tar.gz': '15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593'}, + {'TinyXML-2.6.2-enforce-use-stl.patch': '16a5b5e842eb0336be606131e5fb12a9165970f7bd943780ba09df2e1e8b29b1'}, + {'TinyXML-2.6.2-entity-encoding.patch': 'c5128e03933cd2e22eb85554d58f615f4dbc9177bd144cae2913c0bd7b140c2b'}, + {'TinyXML-2.6.2-CVE-2021-42260.patch': '3c4a6d9606944f54be5f108f278bb9137d78c6da9aa369a3d3faf87077a0a4bd'}, + {'TinyXML-2.6.2-tagindex-type.patch': 'cd1a1888ca0be64bb2cccc0c90eb070f3c789b8b9b7e02946ab8c4d38340424d'}, +] + +builddependencies = [('binutils', '2.38')] + +buildopts = ' '.join([ + 'CXXFLAGS="$CXXFLAGS $CPPFLAGS -DTIXML_USE_STL" CXX="$CXX" LDFLAGS="$LDFLAGS" LD="$LD"', + # build a shared library + '&& $CXX -shared -Wl,-soname,lib%(namelower)s.so.%(version)s -o lib%(namelower)s.so.%(version)s $LDFLAGS *.o', +]) + +_incs = ['tinystr.h', 'tinyxml.h'] +_libs = ['lib%(namelower)s.so.%(version)s'] + +files_to_copy = [ + (_incs, 'include'), + (_libs, 'lib'), +] + +postinstallcmds = [' && '.join([ + "cd %(installdir)s/lib", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so.%(version_major_minor)s", + "ln -s lib%(namelower)s.so.%(version)s lib%(namelower)s.so", +])] + +sanity_check_paths = { + 'files': ['include/%s' % i for i in _incs] + ['lib/%s' % l for l in _libs], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch new file mode 100644 index 00000000000..f930ba9c2c8 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-enforce-use-stl.patch @@ -0,0 +1,18 @@ +Description: TinyXml is built with TIXML_USE_STL, so we have to + enforce it when the library is used. +Author: Felix Geyer + +diff -Nur tinyxml-2.5.3/tinyxml.h tinyxml-2.5.3.patch/tinyxml.h +--- tinyxml-2.5.3/tinyxml.h 2007-05-07 00:41:23.000000000 +0200 ++++ tinyxml-2.5.3.patch/tinyxml.h 2009-07-08 22:32:03.000000000 +0200 +@@ -26,6 +26,10 @@ + #ifndef TINYXML_INCLUDED + #define TINYXML_INCLUDED + ++#ifndef TIXML_USE_STL ++ #define TIXML_USE_STL ++#endif ++ + #ifdef _MSC_VER + #pragma warning( push ) + #pragma warning( disable : 4530 ) diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch new file mode 100644 index 00000000000..7a8d8785910 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-entity-encoding.patch @@ -0,0 +1,58 @@ +Description: TinyXML incorrectly encodes text element containing an ampersand followed by either x or #. +Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559 + +diff -u -r1.105 tinyxml.cpp +--- a/tinyxml.cpp ++++ b/tinyxml.cpp +@@ -57,30 +57,7 @@ + { + unsigned char c = (unsigned char) str[i]; + +- if ( c == '&' +- && i < ( (int)str.length() - 2 ) +- && str[i+1] == '#' +- && str[i+2] == 'x' ) +- { +- // Hexadecimal character reference. +- // Pass through unchanged. +- // © -- copyright symbol, for example. +- // +- // The -1 is a bug fix from Rob Laveaux. It keeps +- // an overflow from happening if there is no ';'. +- // There are actually 2 ways to exit this loop - +- // while fails (error case) and break (semicolon found). +- // However, there is no mechanism (currently) for +- // this function to return an error. +- while ( i<(int)str.length()-1 ) +- { +- outString->append( str.c_str() + i, 1 ); +- ++i; +- if ( str[i] == ';' ) +- break; +- } +- } +- else if ( c == '&' ) ++ if ( c == '&' ) + { + outString->append( entity[0].str, entity[0].strLength ); + ++i; +diff -u -r1.89 xmltest.cpp +--- a/xmltest.cpp ++++ b/xmltest.cpp +@@ -1340,6 +1340,16 @@ + }*/ + } + ++ #ifdef TIXML_USE_STL ++ { ++ TiXmlDocument xml; ++ xml.Parse("foo&#xa+bar"); ++ std::string str; ++ str << xml; ++ XmlTest( "Entity escaping", "foo&#xa+bar", str.c_str() ); ++ } ++ #endif ++ + /* 1417717 experiment + { + TiXmlDocument xml; diff --git a/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch new file mode 100644 index 00000000000..0b1d09b8043 --- /dev/null +++ b/easybuild/easyconfigs/t/TinyXML/TinyXML-2.6.2-tagindex-type.patch @@ -0,0 +1,23 @@ +Author: Mike +Description: use size_t for tagIndex instead of int (and casting tag->length) + https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/scripts/tinyxml.patch +--- tinyxmlparser.cpp 2017-10-03 16:05:35.999295200 +0100 ++++ tinyxmlparser.cpp 2017-10-03 16:05:58.556565300 +0100 +@@ -655,7 +655,7 @@ + + while ( in->good() ) + { +- int tagIndex = (int) tag->length(); ++ size_t tagIndex = tag->length(); + while ( in->good() && in->peek() != '>' ) + { + int c = in->get(); +@@ -958,7 +958,7 @@ + // We should be at a "<", regardless. + if ( !in->good() ) return; + assert( in->peek() == '<' ); +- int tagIndex = (int) tag->length(); ++ size_t tagIndex = tag->length(); + + bool closingTag = false; + bool firstCharFound = false; diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.11-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.11-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cccc8294a60 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.11-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.11' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.4_different-prefix-with-tcl.patch'] +checksums = [ + '5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282', # tk8.6.11-src.tar.gz + '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d', # Tk-8.6.4_different-prefix-with-tcl.patch +] + +builddependencies = [('binutils', '2.37')] +dependencies = [ + ('Tcl', version), + ('X11', '20210802'), + ('zlib', '1.2.11'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..423e5e23147 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.4_different-prefix-with-tcl.patch'] +checksums = [ + '12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630', # tk8.6.12-src.tar.gz + '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d', # Tk-8.6.4_different-prefix-with-tcl.patch +] + +builddependencies = [('binutils', '2.38')] +dependencies = [ + ('Tcl', version), + ('X11', '20220504'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cbc6929a7ba --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.12-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.12' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.4_different-prefix-with-tcl.patch'] +checksums = [ + {'tk8.6.12-src.tar.gz': '12395c1f3fcb6bed2938689f797ea3cdf41ed5cb6c4766eec8ac949560310630'}, + {'Tk-8.6.4_different-prefix-with-tcl.patch': '7a6daa8349393af3d340e774aebf07c7410c51e01bc654ceb3679877063b961d'}, +] + +builddependencies = [('binutils', '2.39')] +dependencies = [ + ('Tcl', version), + ('X11', '20221110'), + ('zlib', '1.2.12'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bfdd55b8d55 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.13' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.13_different-prefix-with-tcl.patch'] +checksums = [ + {'tk8.6.13-src.tar.gz': '2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675'}, + {'Tk-8.6.13_different-prefix-with-tcl.patch': 'e136ff60dfe7fc4b14d98af00cf89522fbfd106e75b0a9259f410a8bfa732534'}, +] + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Tcl', version), + ('X11', '20230603'), + ('zlib', '1.2.13'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..966857de663 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.13-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.13' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +patches = ['Tk-8.6.13_different-prefix-with-tcl.patch'] +checksums = [ + {'tk8.6.13-src.tar.gz': '2e65fa069a23365440a3c56c556b8673b5e32a283800d8d9b257e3f584ce0675'}, + {'Tk-8.6.13_different-prefix-with-tcl.patch': 'e136ff60dfe7fc4b14d98af00cf89522fbfd106e75b0a9259f410a8bfa732534'}, +] + +builddependencies = [('binutils', '2.40')] +dependencies = [ + ('Tcl', version), + ('X11', '20231019'), + ('zlib', '1.2.13'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.13_different-prefix-with-tcl.patch b/easybuild/easyconfigs/t/Tk/Tk-8.6.13_different-prefix-with-tcl.patch new file mode 100644 index 00000000000..2e249803b28 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.13_different-prefix-with-tcl.patch @@ -0,0 +1,31 @@ +fix for: + _tkinter.TclError: Can't find a usable tk.tcl in the following directories: ... +based on https://github.com/NixOS/nixpkgs/commit/decd2feb0a1bc80940e697fa66e3b25383360c30 +see also https://github.com/NixOS/nixpkgs/issues/1479 +author: Kenneth Hoste (HPC-UGent) + +Ported to 8.6.13 by Alexander Grund (TU Dresden) + +diff -ru tk8.6.13-orig/generic/tkWindow.c tk8.6.13/generic/tkWindow.c +--- tk8.6.13-orig/generic/tkWindow.c 2023-09-26 10:56:34.715911109 +0200 ++++ tk8.6.13/generic/tkWindow.c 2023-09-26 10:53:01.033046206 +0200 +@@ -1045,6 +1045,7 @@ + + Tcl_SetVar2(interp, "tk_patchLevel", NULL, TK_PATCH_LEVEL, TCL_GLOBAL_ONLY); + Tcl_SetVar2(interp, "tk_version", NULL, TK_VERSION, TCL_GLOBAL_ONLY); ++ Tcl_SetVar2(interp, "tk_library", NULL, TK_LIBRARY, TCL_GLOBAL_ONLY); + + tsdPtr->numMainWindows++; + return tkwin; +diff -ru tk8.6.13-orig/unix/Makefile.in tk8.6.13/unix/Makefile.in +--- tk8.6.13-orig/unix/Makefile.in 2023-09-26 10:54:29.370096346 +0200 ++++ tk8.6.13/unix/Makefile.in 2023-09-26 10:55:16.768513560 +0200 +@@ -1033,7 +1033,7 @@ + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c + + tkWindow.o: $(GENERIC_DIR)/tkWindow.c tkUuid.h +- $(CC) -c $(CC_SWITCHES) -I. $(GENERIC_DIR)/tkWindow.c ++ $(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" -I. $(GENERIC_DIR)/tkWindow.c + + tkButton.o: $(GENERIC_DIR)/tkButton.c + $(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c diff --git a/easybuild/easyconfigs/t/Tk/Tk-8.6.14-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/Tk/Tk-8.6.14-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4069dc5a048 --- /dev/null +++ b/easybuild/easyconfigs/t/Tk/Tk-8.6.14-GCCcore-13.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'Tk' +version = '8.6.14' + +homepage = 'https://www.tcl.tk/' +description = """Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for + building a graphical user interface (GUI) in many different programming languages.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ["https://prdownloads.sourceforge.net/tcl"] +sources = ['%(namelower)s%(version)s-src.tar.gz'] +checksums = ['8ffdb720f47a6ca6107eac2dd877e30b0ef7fac14f3a84ebbd0b3612cee41a94'] + +builddependencies = [('binutils', '2.42')] +dependencies = [ + ('Tcl', version), + ('X11', '20240607'), + ('zlib', '1.3.1'), +] + +configopts = '--enable-threads --with-tcl=$EBROOTTCL/lib CFLAGS="-I$EBROOTTCL/include"' + +installopts = "&& make install-private-headers" + +postinstallcmds = ["ln -s wish%(version_major_minor)s %(installdir)s/bin/wish"] + +sanity_check_paths = { + 'files': ["bin/wish", "lib/tkConfig.sh", "include/tkInt.h"], + 'dirs': [], +} + +start_dir = 'unix' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-2.7.18-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-2.7.18-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..09c8f6a9b3e --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-2.7.18-GCCcore-11.2.0.eb @@ -0,0 +1,24 @@ +name = 'Tkinter' +version = '2.7.18' + +homepage = 'https://python.org/' +description = """Tkinter module, built with the Python buildsystem""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['da3080e3b488f648a3d7a4560ddee895284c3380b11d6de75edb986526b9a814'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', version), + ('Tk', '8.6.11'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('libreadline', '8.1'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cc05eefb9d4 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.4-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.10.4' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['f3bcc65b1d5f1dc78675c746c98fcee823c038168fc629c5935b044d0911ad28'] + +builddependencies = [ + ('binutils', '2.38'), + ('libffi', '3.4.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Tk', '8.6.12'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..49050c25e63 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.10.8-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.10.8' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['f400c3fb394b8bef1292f6dc1292c5fadc3533039a5bc0c3e885f3e16738029a'] + +builddependencies = [ + ('binutils', '2.39'), + ('libffi', '3.4.4'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Tk', '8.6.12'), + ('zlib', '1.2.12'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b5350694154 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.3-GCCcore-12.3.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.11.3' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['1a79f3df32265d9e6625f1a0b31c28eb1594df911403d11f3320ee1da1b3e048'] + +builddependencies = [ + ('binutils', '2.40'), + ('libffi', '3.4.4'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Tk', '8.6.13'), + ('zlib', '1.2.13'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0b58e634a69 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.11.5-GCCcore-13.2.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.11.5' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58'] + +builddependencies = [ + ('binutils', '2.40'), + ('libffi', '3.4.4'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('Tk', '8.6.13'), + ('zlib', '1.2.13'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.12.3-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.12.3-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..00f02ee6424 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.12.3-GCCcore-13.3.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.12.3' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['a6b9459f45a6ebbbc1af44f5762623fa355a0c87208ed417628b379d762dddb0'] + +builddependencies = [ + ('binutils', '2.42'), + ('libffi', '3.4.5'), +] + +dependencies = [ + ('Python', '3.12.3'), + ('Tk', '8.6.14'), + ('zlib', '1.3.1'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/Tkinter/Tkinter-3.9.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.9.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..36acc188699 --- /dev/null +++ b/easybuild/easyconfigs/t/Tkinter/Tkinter-3.9.6-GCCcore-11.2.0.eb @@ -0,0 +1,25 @@ +name = 'Tkinter' +version = '3.9.6' + +homepage = 'https://python.org/' +description = "Tkinter module, built with the Python buildsystem" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.python.org/ftp/python/%(version)s/'] +sources = ['Python-%(version)s.tgz'] +checksums = ['d0a35182e19e416fc8eae25a3dcd4d02d4997333e4ad1f2eee6010aadc3fe866'] + +builddependencies = [ + ('binutils', '2.37'), + ('libffi', '3.4.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Tk', '8.6.11'), + ('zlib', '1.2.11'), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-foss-2020b.eb b/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-foss-2020b.eb new file mode 100644 index 00000000000..fdcf696edd7 --- /dev/null +++ b/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-foss-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'ToFu' +version = '1.5.0' + +homepage = 'https://github.com/ToFuProject/tofu' +description = """Tomography for Fusion.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +exts_list = [ + ('docutils', '0.18', { + 'checksums': ['c1d5dab2b11d16397406a282e53953fe495a46d69ae329f55aa98a5c4e3c5fbb'], + }), + ('Polygon3', '3.0.9.1', { + 'modulename': 'Polygon', + 'checksums': ['2ddf8d06975f728d5b40786136c82e5b9d38a846bce236b7e6587bbd6a5e9b49'], + }), + ('zope.interface', '5.4.0', { + 'checksums': ['5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e'], + }), + ('DateTime', '4.3', { + 'modulename': 'DateTime', + 'checksums': ['5cef605bab8259ff61281762cdf3290e459fbf0b4719951d5fab967d5f2ea0ea'], + }), + ('tofu', version, { + 'checksums': ['3ef4df7750b3e2d445f73f6e58cc3e3cbaeeda064246c86348b020c7f151f790'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import tofu.geom'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-intel-2020b.eb b/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-intel-2020b.eb new file mode 100644 index 00000000000..1f32acaf35f --- /dev/null +++ b/easybuild/easyconfigs/t/ToFu/ToFu-1.5.0-intel-2020b.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'ToFu' +version = '1.5.0' + +homepage = 'https://github.com/ToFuProject/tofu' +description = """Tomography for Fusion.""" + +toolchain = {'name': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('matplotlib', '3.3.3'), +] + +use_pip = True + +exts_default_options = {'source_urls': [PYPI_LOWER_SOURCE]} + +exts_list = [ + ('docutils', '0.18', { + 'checksums': ['c1d5dab2b11d16397406a282e53953fe495a46d69ae329f55aa98a5c4e3c5fbb'], + }), + ('Polygon3', '3.0.9.1', { + 'modulename': 'Polygon', + 'checksums': ['2ddf8d06975f728d5b40786136c82e5b9d38a846bce236b7e6587bbd6a5e9b49'], + }), + ('zope.interface', '5.4.0', { + 'checksums': ['5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e'], + }), + ('DateTime', '4.3', { + 'modulename': 'DateTime', + 'checksums': ['5cef605bab8259ff61281762cdf3290e459fbf0b4719951d5fab967d5f2ea0ea'], + }), + ('tofu', version, { + 'checksums': ['3ef4df7750b3e2d445f73f6e58cc3e3cbaeeda064246c86348b020c7f151f790'], + }), +] + +sanity_pip_check = True + +sanity_check_commands = ["python -c 'import tofu.geom'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b764b7ccc1b --- /dev/null +++ b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-10.2.0.eb @@ -0,0 +1,46 @@ +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': '10.2.0'} + +source_urls = ['https://downloads.sourceforge.net/project/togl/Togl/2.0/'] +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.35')] + +dependencies = [ + ('Mesa', '20.2.1'), + ('Tk', '8.6.10'), + ('Tcl', '8.6.10'), +] + +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" + +modextrapaths = { + 'LD_LIBRARY_PATH': 'lib/Togl%(version)s', + 'LIBRARY_PATH': 'lib/Togl%(version)s', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'vis' 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/Togl/Togl-2.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..19dd00be65a --- /dev/null +++ b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-11.3.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.3.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.38')] + +dependencies = [ + ('Mesa', '22.0.3'), + ('Tk', '8.6.12'), + ('Tcl', '8.6.12'), +] + +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/Togl/Togl-2.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-8.3.0.eb index e88e3a9d68e..a05fdaeb95e 100644 --- a/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/t/Togl/Togl-2.0-GCCcore-8.3.0.eb @@ -33,6 +33,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" +modextrapaths = { + 'LD_LIBRARY_PATH': 'lib/Togl%(version)s', + 'LIBRARY_PATH': 'lib/Togl%(version)s', +} + sanity_check_paths = { 'files': [], 'dirs': ['include', 'lib'], diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..9a9f8d86dc5 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,57 @@ +# 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 = 'TopHat' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/' +description = "TopHat is a fast splice junction mapper for RNA-Seq reads." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'cstd': 'gnu++98', 'pic': True, 'static': True} + +github_account = 'infphilo' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(namelower)s-2.0.13-zlib.patch'] +checksums = [ + '15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1', # v2.1.2.tar.gz + 'a33075c2affda995ddbd250933dbcaf94f68768b1eebead58a69705fc40306ef', # tophat-2.0.13-zlib.patch +] + +builddependencies = [ + ('Boost', '1.75.0'), + ('Autotools', '20210726'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('Python', '2.7.18'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-boost=$EBROOTBOOST' +postinstallcmds = [ + "ls %(installdir)s", + "sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|g' %(installdir)s/bin/tophat"] + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [ + "tophat --help 2>&1 | grep 'TopHat maps short sequences'", + "tophat --version", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb new file mode 100644 index 00000000000..d3260e3dfcb --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-GCC-11.3.0-Python-2.7.18.eb @@ -0,0 +1,53 @@ +# 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 = 'TopHat' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/' +description = "TopHat is a fast splice junction mapper for RNA-Seq reads." + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'cstd': 'gnu++98', 'pic': True} + +github_account = 'infphilo' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'tophat-2.0.13-zlib.patch', + 'TopHat-2.1.2_fix-configure.patch', +] +checksums = [ + {'v2.1.2.tar.gz': '15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1'}, + {'tophat-2.0.13-zlib.patch': 'a33075c2affda995ddbd250933dbcaf94f68768b1eebead58a69705fc40306ef'}, + {'TopHat-2.1.2_fix-configure.patch': '5b92002848632f727381860f87f6b1b8867b60db6298c49b8387e5c61af9850d'}, +] + +builddependencies = [('Autotools', '20220317')] + +dependencies = [ + ('Boost', '1.79.0'), + ('zlib', '1.2.12'), + ('Python', '2.7.18', '-bare'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-boost=$EBROOTBOOST' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["tophat --help 2>&1 | grep 'TopHat maps short sequences'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-gompi-2020a-Python-2.7.18.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-gompi-2020a-Python-2.7.18.eb new file mode 100644 index 00000000000..30ef5634264 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-gompi-2020a-Python-2.7.18.eb @@ -0,0 +1,49 @@ +# 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 = 'TopHat' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/' +description = "TopHat is a fast splice junction mapper for RNA-Seq reads." + +toolchain = {'name': 'gompi', 'version': '2020a'} +toolchainopts = {'cstd': 'gnu++98', 'pic': True} + +github_account = 'infphilo' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(namelower)s-2.0.13-zlib.patch'] +checksums = [ + '15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1', # v2.1.2.tar.gz + 'a33075c2affda995ddbd250933dbcaf94f68768b1eebead58a69705fc40306ef', # tophat-2.0.13-zlib.patch +] + +builddependencies = [('Autotools', '20180311')] + +dependencies = [ + ('Boost', '1.72.0'), + ('zlib', '1.2.11'), + ('Python', '2.7.18'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-boost=$EBROOTBOOST' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["tophat --help 2>&1 | grep 'TopHat maps short sequences'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-iimpi-2020a-Python-2.7.18.eb b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-iimpi-2020a-Python-2.7.18.eb new file mode 100644 index 00000000000..35cf0264015 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2-iimpi-2020a-Python-2.7.18.eb @@ -0,0 +1,51 @@ +# 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 = 'TopHat' +version = '2.1.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://ccb.jhu.edu/software/%(namelower)s/' +description = "TopHat is a fast splice junction mapper for RNA-Seq reads." + +toolchain = {'name': 'iimpi', 'version': '2020a'} +toolchainopts = {'cstd': 'gnu++98', 'pic': True} + +github_account = 'infphilo' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] + +patches = ['%(namelower)s-2.0.13-zlib.patch'] + +checksums = [ + '15016b82255dad085d4ee7d970e50f0e53a280d466335553d47790d8344ff4b1', # v2.1.2.tar.gz + 'a33075c2affda995ddbd250933dbcaf94f68768b1eebead58a69705fc40306ef', # tophat-2.0.13-zlib.patch +] + +builddependencies = [('Autotools', '20180311')] + +dependencies = [ + ('Boost', '1.72.0'), + ('zlib', '1.2.11'), + ('Python', '2.7.18'), +] + +preconfigopts = './autogen.sh && ' +configopts = '--with-boost=$EBROOTBOOST' + +parallel = 1 + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = ["tophat --help 2>&1 | grep 'TopHat maps short sequences'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch new file mode 100644 index 00000000000..c717d95cce6 --- /dev/null +++ b/easybuild/easyconfigs/t/TopHat/TopHat-2.1.2_fix-configure.patch @@ -0,0 +1,13 @@ +fix for "error: AM_INIT_AUTOMAKE expanded multiple times" +author: Kenneth Hoste (HPC-UGent) +--- tophat-2.1.2/configure.ac.orig 2018-05-24 17:24:31.000000000 +0200 ++++ tophat-2.1.2/configure.ac 2023-03-10 14:44:29.924070336 +0100 +@@ -108,8 +108,6 @@ + CXXFLAGS="$CXXFLAGS $BAM_CPPFLAGS $BOOST_CPPFLAGS -I./SeqAn-1.4.2" + LDFLAGS="$BAM_LDFLAGS $BOOST_LDFLAGS $user_LDFLAGS" + +-AM_INIT_AUTOMAKE([-Wall foreign tar-pax foreign]) +- + # makefiles to configure + AC_CONFIG_FILES([Makefile src/Makefile]) + diff --git a/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..ed04f4a9f40 --- /dev/null +++ b/easybuild/easyconfigs/t/TorchIO/TorchIO-0.19.6-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,60 @@ +easyblock = 'PythonBundle' + +name = 'TorchIO' +version = '0.19.6' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://torchio.readthedocs.io/' +description = """ +TorchIO is an open-source Python library for efficient loading, preprocessing, +augmentation and patch-based sampling of 3D medical images in deep learning, +following the design of PyTorch. + +It includes multiple intensity and spatial transforms for data augmentation and +preprocessing. These transforms include typical computer vision operations such +as random affine transformations and also domain-specific ones such as +simulation of intensity artifacts due to MRI magnetic field inhomogeneity +(bias) or k-space motion artifacts.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), + ('tqdm', '4.66.1'), + ('Deprecated', '1.2.14'), + ('SimpleITK', '2.3.1'), + ('NiBabel', '5.2.0'), +] + +use_pip = True + +exts_list = [ + ('humanize', '4.8.0', { + 'checksums': ['9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8'], + }), + ('typer', '0.9.0', { + 'checksums': ['50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2'], + }), + ('torchio', version, { + 'checksums': ['c3afe16c3d822b6cb4aa103ffd6ec28816c95faa03cbeb22f33ff4cf81ec05df'], + }), +] + +_bins = ['tiohd', 'tiotr', 'torchio-transform'] + +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] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/Tracer/Tracer-1.7.1-GCCcore-8.2.0.eb b/easybuild/easyconfigs/t/Tracer/Tracer-1.7.1-GCCcore-8.2.0.eb index ee85d771a64..0cf3c7d492b 100644 --- a/easybuild/easyconfigs/t/Tracer/Tracer-1.7.1-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/t/Tracer/Tracer-1.7.1-GCCcore-8.2.0.eb @@ -18,7 +18,7 @@ sources = [{'download_filename': '%(name)s_v%(version)s.tgz', 'filename': SOURCE checksums = ['200d7ffa1e48994b71245994e299847ac2be72d3d5c37d9048418557e1d8c12e'] dependencies = [ - ('Java', '1.8', '', True), + ('Java', '1.8', '', SYSTEM), ('Mesa', '19.0.1'), ] diff --git a/easybuild/easyconfigs/t/TransDecoder/TransDecoder-5.5.0-GCC-11.3.0.eb b/easybuild/easyconfigs/t/TransDecoder/TransDecoder-5.5.0-GCC-11.3.0.eb new file mode 100644 index 00000000000..582e9594fce --- /dev/null +++ b/easybuild/easyconfigs/t/TransDecoder/TransDecoder-5.5.0-GCC-11.3.0.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'TransDecoder' +version = '5.5.0' + +homepage = 'https://github.com/TransDecoder/TransDecoder/wiki' +description = """TransDecoder identifies candidate coding regions within transcript sequences, + such as those generated by de novo RNA-Seq transcript assembly using Trinity, + or constructed based on RNA-Seq alignments to the genome using + Tophat and Cufflinks.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/TransDecoder/TransDecoder/archive/'] +sources = ['TransDecoder-v%(version)s.tar.gz'] +checksums = ['c800d9226350817471e9f51267c91f7cab99dbc9b26c980527fc1019e7d90a76'] + +dependencies = [ + ('Perl', '5.34.1'), + ('CD-HIT', '4.8.1'), +] + +sanity_check_paths = { + 'files': ['TransDecoder.LongOrfs', 'TransDecoder.Predict'], + 'dirs': ['PerlLib', 'sample_data', 'util'], +} + +sanity_check_commands = [] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': 'PerlLib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.20.1-foss-2021a.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.20.1-foss-2021a.eb new file mode 100644 index 00000000000..fcc1a9e0a7e --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.20.1-foss-2021a.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.20.1' + +homepage = 'https://github.com/huggingface/transformers' +description = """ +State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('PyYAML', '5.4.1'), + ('typing-extensions', '3.10.0.0'), # needed by huggingface-hub + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('regex', '2021.11.10', { + 'checksums': ['f341ee2df0999bfdf7a95e448075effe0db212a59387de1a70690e4acb03d4c6'], + }), + ('sacremoses', '0.0.53', { + 'checksums': ['43715868766c643b35de4b8046cce236bfe59a7fa88b25eaf6ddf02bacf53a7a'], + }), + ('tokenizers', '0.12.1', { + 'source_tmpl': 'tokenizers-%(version)s-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl', + 'checksums': ['619728df2551bdfe6f96ff177f9ded958e7ed9e2af94c8d5ac2834d1eb06d112'], + }), + ('huggingface-hub', '0.8.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['75c70797da54b849f06c2cbf7ba2217250ee217230b9f65547d5db3c5bd84bb5'], + }), + ('transformers', version, { + 'checksums': ['65ee4ae9abdeca8fe3a9e351256345e3c4db2a6a68accd5d6a141cfff6192751'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.21.1-foss-2021b.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.21.1-foss-2021b.eb new file mode 100644 index 00000000000..0cc43982c0b --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.21.1-foss-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.21.1' + +homepage = 'https://github.com/huggingface/transformers' +description = """ +State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('PyYAML', '5.4.1'), + ('typing-extensions', '3.10.0.2'), # needed by huggingface-hub + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('regex', '2022.7.25', { + 'checksums': ['bd0883e86964cd61360ffc36dbebbc49b928e92a306f886eab02c11dfde5b7aa'], + }), + ('sacremoses', '0.0.53', { + 'checksums': ['43715868766c643b35de4b8046cce236bfe59a7fa88b25eaf6ddf02bacf53a7a'], + }), + ('tokenizers', '0.12.1', { + 'source_tmpl': 'tokenizers-%(version)s-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl', + 'checksums': ['619728df2551bdfe6f96ff177f9ded958e7ed9e2af94c8d5ac2834d1eb06d112'], + }), + ('huggingface-hub', '0.8.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['75c70797da54b849f06c2cbf7ba2217250ee217230b9f65547d5db3c5bd84bb5'], + }), + ('transformers', version, { + 'checksums': ['20f895d7304a5c7f5af099f9300b326819df9cf2167cdfb754450facc0e094f6'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb new file mode 100644 index 00000000000..fc965d151e3 --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.24.0-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.24.0' + +homepage = 'https://github.com/huggingface/transformers' +description = """ +State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Rust', '1.60.0'), # required for setuptools-rust, which is needed for tokenizers +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('regex', '2022.10.31', { + 'checksums': ['a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83'], + }), + ('tokenizers', '0.13.2', { + 'checksums': ['f9525375582fd1912ac3caa2f727d36c86ff8c0c6de45ae1aaff90f87f33b907'], + }), + ('huggingface-hub', '0.10.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['5c188d5b16bec4b78449f8681f9975ff9d321c16046cc29bcf0d7e464ff29276'], + }), + ('transformers', version, { + 'checksums': ['486f353a8e594002e48be0e2aba723d96eda839e63bfe274702a4b5eda85559b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.29.2-foss-2022a.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.29.2-foss-2022a.eb new file mode 100644 index 00000000000..632079f4a9d --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.29.2-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.29.2' + +homepage = 'https://github.com/huggingface/transformers' +description = """ +State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('Rust', '1.60.0'), # required for setuptools-rust, which is needed for tokenizers +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('regex', '2022.10.31', { + 'checksums': ['a3a98921da9a1bf8457aeee6a551948a83601689e5ecdd736894ea9bbec77e83'], + }), + ('tokenizers', '0.13.2', { + 'checksums': ['f9525375582fd1912ac3caa2f727d36c86ff8c0c6de45ae1aaff90f87f33b907'], + }), + ('huggingface-hub', '0.15.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('transformers', version, { + 'checksums': ['ed9467661f459f1ce49461d83f18f3b36b6a37f306182dc2ba272935f3b93ebb'], + }), +] + +sanity_pip_check = True + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.30.2-foss-2022b.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.30.2-foss-2022b.eb new file mode 100644 index 00000000000..43cd50eb927 --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.30.2-foss-2022b.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.30.2' + +homepage = 'https://github.com/huggingface/transformers' +description = """State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('Rust', '1.65.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('PyYAML', '6.0'), + ('tqdm', '4.64.1'), + ('tokenizers', '0.13.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('safetensors', '0.3.1', { + 'checksums': ['571da56ff8d0bec8ae54923b621cda98d36dcef10feb36fd492c4d0c2cd0e869'], + }), + ('regex', '2023.6.3', { + 'checksums': ['72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0'], + }), + ('huggingface-hub', '0.15.1', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081'], + }), + ('%(namelower)s', version, { + 'checksums': ['f4a8aac4e1baffab4033f4a345b0d7dc7957d12a4f1ba969afea08205a513045'], + }), +] + +sanity_check_commands = [ + "python -c 'from transformers import AutoTokenizer'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb new file mode 100644 index 00000000000..421741f8832 --- /dev/null +++ b/easybuild/easyconfigs/t/Transformers/Transformers-4.39.3-gfbf-2023a.eb @@ -0,0 +1,36 @@ +easyblock = 'PythonBundle' + +name = 'Transformers' +version = '4.39.3' + +homepage = 'https://github.com/huggingface/transformers' +description = """State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('tokenizers', '0.15.2'), + ('Safetensors', '0.4.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('regex', '2023.12.25', { + 'checksums': ['29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5'], + }), + ('%(namelower)s', version, { + 'checksums': ['2586e5ff4150f122716fc40f5530e92871befc051848fbe82600969c535b762d'], + }), +] + +sanity_check_commands = [ + "python -c 'from transformers import AutoTokenizer'", +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3-GCC-12.3.0.eb b/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3-GCC-12.3.0.eb new file mode 100644 index 00000000000..a70ecf2a901 --- /dev/null +++ b/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3-GCC-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'RubyGem' + +name = 'Transrate' +version = '1.0.3' + +homepage = 'https://hibberdlab.com/transrate' +description = """Transrate is software for de-novo transcriptome assembly quality analysis. + It examines your assembly in detail and compares it to experimental evidence such as the sequencing reads, + reporting quality scores for contigs and assemblies. This allows you to choose between assemblers and parameters, + filter out the bad contigs from an assembly, and help decide when to stop trying to improve the assembly.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/blahah/transrate/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['Transrate-1.0.3_undefined_method_fix.patch'] +checksums = [ + {'v1.0.3.tar.gz': '2ccb101cfab5a33586ea9e62af2b2f14caf6bc016724d1fef796b427e39fe100'}, + {'Transrate-1.0.3_undefined_method_fix.patch': 'ead5e51318d6d810fb11b783d517ea38648f62ae2bdd5f3f4dac7baa9ae94d95'}, +] + +dependencies = [ + ('Ruby', '3.3.0'), + ('crb-blast', '0.6.9'), + ('colorize', '0.7.7'), + ('yell', '2.2.2'), +] + +# requirement is too strict +preinstallopts = """sed -i "s/'yell', '~> 2.0',/'yell',/g" transrate.gemspec && """ + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['gems/%(namelower)s-%(version)s'], +} + +sanity_check_commands = ["%(namelower)s --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3_undefined_method_fix.patch b/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3_undefined_method_fix.patch new file mode 100644 index 00000000000..47526bd2242 --- /dev/null +++ b/easybuild/easyconfigs/t/Transrate/Transrate-1.0.3_undefined_method_fix.patch @@ -0,0 +1,42 @@ +to avoid the `terminal_columns': undefined method `winsize' for nil (NoMethodError)` error +Author: Petr Král (INUITS) +--- lib/transrate/cmdline.rb.orig 2016-06-06 15:10:26.000000000 +0200 ++++ lib/transrate/cmdline.rb 2024-07-25 11:23:20.250369056 +0200 +@@ -87,11 +87,6 @@ + end + end + +- def terminal_columns +- require 'io/console' +- IO.console.winsize.last +- end +- + def help_message + <<-EOS + +@@ -117,19 +112,17 @@ + end + + def transrate_banner +- if terminal_columns > 70 +- txp = '░▓▓▓^▓▓▓░' +- toptxp = txp.green +- midtxp = txp.yellow +- bottxp = txp.red +- puts <<-EOS ++ txp = '░▓▓▓^▓▓▓░' ++ toptxp = txp.green ++ midtxp = txp.yellow ++ bottxp = txp.red ++ puts <<-EOS + _ _ + | |_ _ __ __ _ _ __ ___ _ __ __ _ | |_ ___ + #{toptxp} | __|| '__|/ _` || '_ \\ / __|| '__|/ _` || __|/ _ \\ #{toptxp} + #{midtxp} | |_ | | | (_| || | | |\\__ \\| | | (_| || |_| __/ #{midtxp} + #{bottxp} \\__||_| \\__,_||_| |_||___/|_| \\__,_| \\__|\\___| #{bottxp} +- EOS +- end ++ EOS + "" + end + diff --git a/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-10.3.0.eb b/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-10.3.0.eb new file mode 100644 index 00000000000..9baebc6d2dd --- /dev/null +++ b/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'TreeMix' +version = '1.13' + +homepage = 'http://bitbucket.org/nygcresearch/treemix' +description = """TreeMix is a method for inferring the patterns of population splits and mixtures in the history of a + set of populations.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://bitbucket.org/nygcresearch/treemix/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fe544f2daa13fd06b20c1a81aac728963ea5b66b75908916ca87ccd7f4cfa3d9'] + +dependencies = [ + ('GSL', '2.7'), + ('Boost', '1.76.0'), +] + +sanity_check_paths = { + 'files': ['bin/treemix'], + 'dirs': [], +} +sanity_check_commands = [("treemix -h | grep 'TreeMix v. %(version)s'", '')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-11.2.0.eb b/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-11.2.0.eb new file mode 100644 index 00000000000..7ec826dfcbd --- /dev/null +++ b/easybuild/easyconfigs/t/TreeMix/TreeMix-1.13-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'TreeMix' +version = '1.13' + +homepage = 'http://bitbucket.org/nygcresearch/treemix' +description = """TreeMix is a method for inferring the patterns of population splits and mixtures in the history of a + set of populations.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://bitbucket.org/nygcresearch/treemix/downloads/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['fe544f2daa13fd06b20c1a81aac728963ea5b66b75908916ca87ccd7f4cfa3d9'] + +dependencies = [ + ('GSL', '2.7'), + ('Boost', '1.77.0'), +] + +sanity_check_paths = { + 'files': ['bin/treemix'], + 'dirs': [], +} + +sanity_check_commands = ["treemix -h | grep 'TreeMix v. %(version)s'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..12d41a6857e --- /dev/null +++ b/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'Triangle' +version = '1.6' + +homepage = 'https://www.cs.cmu.edu/~quake/triangle.html' +description = """Triangle generates exact Delaunay triangulations, constrained Delaunay triangulations, + conforming Delaunay triangulations, Voronoi diagrams, and high-quality triangular meshes. + The latter can be generated with no small or large angles, + and are thus suitable for finite element analysis.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.netlib.org/voronoi/'] +sources = ['%(namelower)s.zip'] +checksums = [ + '1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480', # triangle.zip + '38fc1395c2392f627068b669275c30da0c25b1a6db8ed8b80d6bf05a98971568', # Triangle-1.6_makefile.patch +] + +patches = ['%(name)s-%(version)s_makefile.patch'] + +builddependencies = [('binutils', '2.40')] + +buildopts = 'triangle trilibrary' + +files_to_copy = [ + (['triangle', 'tricall'], 'bin'), + (['triangle.h'], 'include'), + (['libtriangle.a'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/triangle', 'bin/tricall', 'include/triangle.h', 'lib/libtriangle.a'], + 'dirs': [] +} + +sanity_check_commands = [ + 'triangle -h', + 'tricall', +] + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-9.3.0.eb b/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..a1773acd90b --- /dev/null +++ b/easybuild/easyconfigs/t/Triangle/Triangle-1.6-GCCcore-9.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'MakeCp' + +name = 'Triangle' +version = '1.6' + +homepage = 'https://www.cs.cmu.edu/~quake/triangle.html' +description = """Triangle generates exact Delaunay triangulations, constrained Delaunay triangulations, + conforming Delaunay triangulations, Voronoi diagrams, and high-quality triangular meshes. + The latter can be generated with no small or large angles, + and are thus suitable for finite element analysis.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.netlib.org/voronoi/'] +sources = ['%(namelower)s.zip'] +checksums = [ + '1766327add038495fa3499e9b7cc642179229750f7201b94f8e1b7bee76f8480', # triangle.zip + '38fc1395c2392f627068b669275c30da0c25b1a6db8ed8b80d6bf05a98971568', # Triangle-1.6_makefile.patch +] + +patches = ['%(name)s-%(version)s_makefile.patch'] + +builddependencies = [('binutils', '2.34')] + +buildopts = 'triangle trilibrary' + +files_to_copy = [ + (['triangle', 'tricall'], 'bin'), + (['triangle.h'], 'include'), + (['libtriangle.a'], 'lib'), +] + +sanity_check_paths = { + 'files': ['bin/triangle', 'bin/tricall', 'include/triangle.h', 'lib/libtriangle.a'], + 'dirs': [] +} + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-12.12.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/Trilinos/Trilinos-12.12.1-foss-2019b-Python-3.7.4.eb index bcf9ccb2baf..e5f08d8c161 100644 --- a/easybuild/easyconfigs/t/Trilinos/Trilinos-12.12.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-12.12.1-foss-2019b-Python-3.7.4.eb @@ -10,11 +10,8 @@ description = """The Trilinos Project is an effort to develop algorithms and ena toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'usempi': True, 'pic': True, 'strict': True} -source_urls = [ - 'http://trilinos.csbsju.edu/download/files/', - 'https://trilinos.org/oldsite/download/files/', -] -sources = ['%(namelower)s-%(version)s-Source.tar.gz'] +source_urls = ['https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/trilinos/12.12.1-5/'] +sources = ['%(namelower)s_%(version)s.orig.tar.bz2'] patches = [ ('Trilinos-%(version)s_fix-CEpetra-LAPACK.patch', 'packages/CTrilinos'), 'Trilinos-%(version)s_fix-Py3.patch', @@ -23,7 +20,7 @@ patches = [ 'Trilinos-%(version)s_py3_fixes_and_more.patch', ] checksums = [ - '7c67d83befbeabc773661bcdfee2850c404d249160b755d3f1be2e96f564f9fd', # trilinos-12.12.1-Source.tar.gz + '5d0d84cb794f94927dd4785efe89eacc823b659dbe9f8273ab86e86ed4396db7', # trilinos_12.12.1.orig.tar.bz2 'de2e989bf9e7cbe7cab9126a464b5b1569983de4060956e7a95dccb9e0bad039', # Trilinos-12.12.1_fix-CEpetra-LAPACK.patch '5505645b712056403263860de86efccfb343cb5e5bf8d65697526d65ea5df099', # Trilinos-12.12.1_fix-Py3.patch # Trilinos-12.12.1_muelu-fix-function-signature.patch @@ -50,6 +47,7 @@ dependencies = [ ('MATIO', '1.5.17'), ('GLM', '0.9.9.8'), ('X11', '20190717'), + ('yaml-cpp', '0.6.3'), ] build_shared_libs = True diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a-zoltan.eb b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a-zoltan.eb new file mode 100644 index 00000000000..572f0346229 --- /dev/null +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a-zoltan.eb @@ -0,0 +1,52 @@ +# easyblock = 'CMakeMake' + +name = 'Trilinos' +version = '13.4.1' +versionsuffix = '-zoltan' + +homepage = 'https://trilinos.org' +description = """The Trilinos Project is an effort to develop algorithms and enabling technologies + within an object-oriented software framework for the solution of large-scale, complex multi-physics + engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True, 'strict': True} + +source_urls = ['https://github.com/trilinos/Trilinos/archive/refs/tags/'] +sources = ['trilinos-release-%s.tar.gz' % '-'.join(version.split('.'))] +patches = ['Trilinos-13.4.1_fix-seacas-NC-constants.patch'] +checksums = [ + {'trilinos-release-13-4-1.tar.gz': '5465cbff3de7ef4ac7d40eeff9d99342c00d9d20eee0a5f64f0a523093f5f1b3'}, + {'Trilinos-13.4.1_fix-seacas-NC-constants.patch': + 'df6215589abf582197a963c49ba853c1eca788261a1b1834099e7679794e9eed'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), + ('Doxygen', '1.9.4'), + ('Perl', '5.34.1', '-minimal'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost.Python', '1.79.0'), + ('Boost', '1.79.0'), + ('SCOTCH', '7.0.1'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('MATIO', '1.5.23'), + ('GLM', '0.9.9.8'), + ('ParMETIS', '4.0.3'), + ('X11', '20220504'), +] + +forward_deps = False +build_tests = False +configopts = '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION=ON ' +configopts += '-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON ' +# We might need that for Fluidity Zoltan interface +configopts += '-DZoltan_ENABLE_F90INTERFACE=ON -DZoltan_ENABLE_ParMETIS=ON -DZoltan_ENABLE_Scotch=ON ' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb new file mode 100644 index 00000000000..42acaf50b99 --- /dev/null +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1-foss-2022a.eb @@ -0,0 +1,48 @@ +# easyblock = 'CMakeMake' + +name = 'Trilinos' +version = '13.4.1' + +homepage = 'https://trilinos.org' +description = """The Trilinos Project is an effort to develop algorithms and enabling technologies + within an object-oriented software framework for the solution of large-scale, complex multi-physics + engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True, 'strict': True} + +source_urls = ['https://github.com/trilinos/Trilinos/archive/refs/tags/'] +sources = ['trilinos-release-%s.tar.gz' % '-'.join(version.split('.'))] +patches = ['Trilinos-13.4.1_fix-seacas-NC-constants.patch'] +checksums = [ + {'trilinos-release-13-4-1.tar.gz': '5465cbff3de7ef4ac7d40eeff9d99342c00d9d20eee0a5f64f0a523093f5f1b3'}, + {'Trilinos-13.4.1_fix-seacas-NC-constants.patch': + 'df6215589abf582197a963c49ba853c1eca788261a1b1834099e7679794e9eed'}, +] + +builddependencies = [ + ('CMake', '3.23.1'), + ('SWIG', '4.0.2'), + ('Doxygen', '1.9.4'), + ('Perl', '5.34.1', '-minimal'), +] +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost.Python', '1.79.0'), + ('Boost', '1.79.0'), + ('SCOTCH', '7.0.1'), + ('SuiteSparse', '5.13.0', '-METIS-5.1.0'), + ('HDF5', '1.12.2'), + ('netCDF', '4.9.0'), + ('MATIO', '1.5.23'), + ('GLM', '0.9.9.8'), + ('X11', '20220504'), +] + +forward_deps = False +build_tests = False +configopts = '-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION=ON ' +configopts += '-DKokkos_ENABLE_AGGRESSIVE_VECTORIZATION=ON ' + +moduleclass = 'numlib' diff --git a/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch new file mode 100644 index 00000000000..14ded8805ab --- /dev/null +++ b/easybuild/easyconfigs/t/Trilinos/Trilinos-13.4.1_fix-seacas-NC-constants.patch @@ -0,0 +1,38 @@ +From 5e1b19181110c52b76d13e3f60da2c8cf678c941 Mon Sep 17 00:00:00 2001 +From: Greg Sjaardema +Date: Tue, 7 Jun 2022 11:08:05 -0600 +Subject: [PATCH] EXODUS: Handle newer versions of netCDF symbols + +--- + packages/seacas/libraries/exodus/src/ex_utils.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/packages/seacas/libraries/exodus/src/ex_utils.c b/packages/seacas/libraries/exodus/src/ex_utils.c +index 4c1cb9969e..9b3084e2fb 100644 +--- a/packages/seacas/libraries/exodus/src/ex_utils.c ++++ b/packages/seacas/libraries/exodus/src/ex_utils.c +@@ -1,5 +1,5 @@ + /* +- * Copyright(C) 1999-2021 National Technology & Engineering Solutions ++ * Copyright(C) 1999-2022 National Technology & Engineering Solutions + * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + * NTESS, the U.S. Government retains certain rights in this software. + * +@@ -1741,8 +1741,12 @@ void ex__compress_variable(int exoid, int varid, int type) + for details on SZIP library and parameters. + */ + +- /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */ +- const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#if !defined(NC_SZIP_EC) ++ const int NC_SZIP_EC = 4; /* Selects entropy coding method for szip. */ ++#endif ++#if !defined(NC_SZIP_NN) ++ const int NC_SZIP_NN = 32; /* Selects nearest neighbor coding method for szip. */ ++#endif + /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */ + const int SZIP_PIXELS_PER_BLOCK = + file->compression_level == 0 ? 32 : file->compression_level; +-- +GitLab + diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.4.4-intel-2017a.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.4.4-intel-2017a.eb index 934d2bd4129..5dd29ffb263 100755 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.4.4-intel-2017a.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.4.4-intel-2017a.eb @@ -22,7 +22,7 @@ install_cmd = "cp -a * %(installdir)s && chmod +x %(installdir)s/%(namelower)s & install_cmd += "sed -i '1 i#!/usr/bin/env perl' %(installdir)s/%(namelower)s" dependencies = [ - ('FastQC', '0.11.5', '-Java-1.8.0_144', True), + ('FastQC', '0.11.5', '-Java-1.8.0_144', SYSTEM), ('cutadapt', '1.14', '-Python-2.7.13'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-foss-2018b.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-foss-2018b.eb index 751ec831e27..939e4aa653a 100755 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-foss-2018b.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-foss-2018b.eb @@ -15,7 +15,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['9a7966bcfdea5d8c4f14c669904fb44693ac5d9392caa4d49dd11254a0a6753d'] dependencies = [ - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', '-Python-3.6.6'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-intel-2018b-Python-3.6.6.eb index 54a9e8723f4..9fffbfd9a38 100755 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.5.0-intel-2018b-Python-3.6.6.eb @@ -16,7 +16,7 @@ sources = ['%(version)s.tar.gz'] checksums = ['9a7966bcfdea5d8c4f14c669904fb44693ac5d9392caa4d49dd11254a0a6753d'] dependencies = [ - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-2.7.15.eb index e30697fa9a2..50baaf11de7 100755 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-2.7.15.eb @@ -17,7 +17,7 @@ checksums = ['f374dfa4c94e2ad50c63276dda0f341fd95b29cb1d5a0e2ad56e8b0168b758ec'] dependencies = [ ('Python', '2.7.15'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix), ('Perl', '5.28.0'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-3.6.6.eb index f03c582405b..d4df9526da5 100755 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.0-foss-2018b-Python-3.6.6.eb @@ -18,7 +18,7 @@ checksums = ['f374dfa4c94e2ad50c63276dda0f341fd95b29cb1d5a0e2ad56e8b0168b758ec'] dependencies = [ ('Python', '3.6.6'), # multi-core support requires Python 3.x + pigz ('pigz', '2.4'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix), ('Perl', '5.28.0'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-2.7.15.eb index 96d93d982ce..aabeeaa87aa 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-2.7.15.eb @@ -22,7 +22,7 @@ checksums = ['658578c29d007fe66f9ab49608442be703a6fcf535db06eb82659c7edccb62b0'] dependencies = [ ('Python', '2.7.15'), ('Perl', '5.28.0'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix) ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-3.6.6.eb index 07037434493..7a5caa1e5a3 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.1-foss-2018b-Python-3.6.6.eb @@ -23,7 +23,7 @@ dependencies = [ ('Python', '3.6.6'), # multi-core support requires Python 3.x + pigz ('pigz', '2.4'), ('Perl', '5.28.0'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix) ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..b5f27e64489 --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.2.0.eb @@ -0,0 +1,46 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# Updated to version 0.6.2: Pavel Grochal (INUITS) +# Updated to version 0.6.5: Alex Domingo (VUB) +# Updated to version 0.6.7 by J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Trim_Galore' +version = '0.6.10' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/' +description = """Trim Galore! is a wrapper script to automate quality and adapter +trimming as well as quality control, with some added functionality to remove biased +methylation positions for RRBS sequence files (for directional, non-directional +(or paired-end) sequencing).""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3a4e414fc658d6eb4356f1572351204e8475a9d7dc79f6798270b57d35bda017'] + +dependencies = [ + ('Python', '3.9.6'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.6'), + ('Perl', '5.34.0'), + ('cutadapt', '3.5'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +postinstallcmds = [ + "mkdir %(installdir)s/bin && mv %(installdir)s/%(namelower)s %(installdir)s/bin/%(namelower)s", +] + +fix_perl_shebang_for = ['bin/%(namelower)s'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0779ba13c45 --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.10-GCCcore-11.3.0.eb @@ -0,0 +1,46 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# Updated to version 0.6.2: Pavel Grochal (INUITS) +# Updated to version 0.6.5: Alex Domingo (VUB) +# Updated to version 0.6.7 by J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Trim_Galore' +version = '0.6.10' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/' +description = """Trim Galore! is a wrapper script to automate quality and adapter +trimming as well as quality control, with some added functionality to remove biased +methylation positions for RRBS sequence files (for directional, non-directional +(or paired-end) sequencing).""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['3a4e414fc658d6eb4356f1572351204e8475a9d7dc79f6798270b57d35bda017'] + +dependencies = [ + ('Python', '3.10.4'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.7'), + ('Perl', '5.34.1'), + ('cutadapt', '4.2'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +postinstallcmds = [ + "mkdir %(installdir)s/bin && mv %(installdir)s/%(namelower)s %(installdir)s/bin/%(namelower)s", +] + +fix_perl_shebang_for = ['bin/%(namelower)s'] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +sanity_check_commands = [('%(namelower)s', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-GCCcore-8.2.0-Java-11.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-GCCcore-8.2.0-Java-11.eb index 2cd8ff63867..43cccd80beb 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-GCCcore-8.2.0-Java-11.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-GCCcore-8.2.0-Java-11.eb @@ -28,10 +28,10 @@ multi_deps = {'Python': ['3.7.2', '2.7.15']} builddependencies = [('binutils', '2.31.1')] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pigz', '2.4'), ('Perl', '5.28.1'), - ('FastQC', '0.11.8', '-Java-11', True), + ('FastQC', '0.11.8', '-Java-11', SYSTEM), ('cutadapt', '1.18'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-2.7.15.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-2.7.15.eb index cf2e0c9f7dc..a8df5a83fbe 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-2.7.15.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-2.7.15.eb @@ -22,7 +22,7 @@ checksums = ['c50b841bdc294a6cdc6a27fb7bfbed1973541d20a68a4708584b817c58b3f376'] dependencies = [ ('Python', '2.7.15'), ('Perl', '5.28.0'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix) ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-3.6.6.eb index b4fc90cc570..d6fb92d2cb4 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.2-foss-2018b-Python-3.6.6.eb @@ -23,7 +23,7 @@ dependencies = [ ('Python', '3.6.6'), # multi-core support requires Python 3.x + pigz ('pigz', '2.4'), ('Perl', '5.28.0'), - ('FastQC', '0.11.8', '-Java-1.8', True), + ('FastQC', '0.11.8', '-Java-1.8', SYSTEM), ('cutadapt', '1.18', versionsuffix) ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.5-GCCcore-8.3.0-Java-11-Python-3.7.4.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.5-GCCcore-8.3.0-Java-11-Python-3.7.4.eb index b7d71152b88..e3c7224c9f5 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.5-GCCcore-8.3.0-Java-11-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.5-GCCcore-8.3.0-Java-11-Python-3.7.4.eb @@ -27,10 +27,10 @@ builddependencies = [('binutils', '2.32')] dependencies = [ ('Python', '3.7.4'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pigz', '2.4'), ('Perl', '5.30.0'), - ('FastQC', '0.11.9', '-Java-%(javaver)s', True), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), ('cutadapt', '2.7', '-Python-%(pyver)s'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCC-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCC-10.2.0-Python-2.7.18.eb index add75646761..36e73454652 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCC-10.2.0-Python-2.7.18.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCC-10.2.0-Python-2.7.18.eb @@ -25,10 +25,10 @@ builddependencies = [('binutils', '2.35')] dependencies = [ ('Python', '2.7.18'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pigz', '2.6'), ('Perl', '5.32.0'), - ('FastQC', '0.11.9', '-Java-%(javaver)s', True), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), ('cutadapt', '1.18', versionsuffix), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb index e55fe4ccfae..48d1f2c85a2 100644 --- a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.6-GCCcore-9.3.0-Python-3.8.2.eb @@ -27,10 +27,10 @@ builddependencies = [('binutils', '2.34')] dependencies = [ ('Python', '3.8.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('pigz', '2.4'), ('Perl', '5.30.2'), - ('FastQC', '0.11.9', '-Java-%(javaver)s', True), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), ('cutadapt', '2.10', '-Python-%(pyver)s'), ] diff --git a/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.7-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.7-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..495deb9a976 --- /dev/null +++ b/easybuild/easyconfigs/t/Trim_Galore/Trim_Galore-0.6.7-GCCcore-10.3.0.eb @@ -0,0 +1,48 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# Updated to version 0.6.2: Pavel Grochal (INUITS) +# Updated to version 0.6.5: Alex Domingo (VUB) +# Updated to version 0.6.7 by J. Sassmannshausen NHS/GSTT + +easyblock = 'Tarball' + +name = 'Trim_Galore' +version = '0.6.7' + +homepage = 'https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/' +description = """Trim Galore! is a wrapper script to automate quality and adapter +trimming as well as quality control, with some added functionality to remove biased +methylation positions for RRBS sequence files (for directional, non-directional +(or paired-end) sequencing).""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/FelixKrueger/TrimGalore/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = [ + '49b4622c9f839f8a7037fa2f7de9ab873e4fb702f29c14b4d7f095abf6738f74', # 0.6.7.tar.gz +] + +dependencies = [ + ('Python', '3.9.5'), + ('Java', '11', '', SYSTEM), + ('pigz', '2.6'), + ('Perl', '5.32.1'), + ('cutadapt', '3.4'), + ('FastQC', '0.11.9', '-Java-%(javaver)s', SYSTEM), +] + +postinstallcmds = [ + "mkdir %(installdir)s/bin && mv %(installdir)s/%(namelower)s %(installdir)s/bin/%(namelower)s", +] + +fix_perl_shebang_for = ['bin/%(namelower)s'] + +sanity_check_paths = { + 'files': ["bin/trim_galore"], + 'dirs': [], +} + +sanity_check_commands = [('trim_galore', '-v')] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.38-Java-1.8.eb b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.38-Java-1.8.eb index da61b4d7b33..80d1c83a61f 100644 --- a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.38-Java-1.8.eb +++ b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.38-Java-1.8.eb @@ -20,7 +20,7 @@ source_urls = ['http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/' sources = [SOURCE_ZIP] checksums = ['d428af42b6c400a2e7ee5e6b4cab490eddc621f949b086bd7dddb698dcf1647c'] -dependencies = [('Java', '1.8', '', True)] +dependencies = [('Java', '1.8', '', SYSTEM)] modloadmsg = """To execute Trimmomatic run: java -jar $EBROOTTRIMMOMATIC/trimmomatic-%(version)s.jar\n""" diff --git a/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb new file mode 100644 index 00000000000..5f9d39b5c69 --- /dev/null +++ b/easybuild/easyconfigs/t/Trimmomatic/Trimmomatic-0.39-Java-17.eb @@ -0,0 +1,32 @@ +# 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 = 'Tarball' + +name = 'Trimmomatic' +version = '0.39' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.usadellab.org/cms/?page=trimmomatic' +description = """Trimmomatic performs a variety of useful trimming tasks for illumina + paired-end and single ended data.The selection of trimming steps and their associated + parameters are supplied on the command line. """ + +toolchain = SYSTEM + +source_urls = ['http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/'] +sources = [SOURCE_ZIP] +checksums = ['2f97e3a237378d55c221abfc38e4b11ea232c8a41d511b8b4871f00c0476abca'] + +dependencies = [('Java', '17')] + +modloadmsg = """To execute Trimmomatic run: java -jar $EBROOTTRIMMOMATIC/trimmomatic-%(version)s.jar\n""" + +sanity_check_paths = { + 'files': ["trimmomatic-%(version)s.jar"], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.10.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.10.0-foss-2019b-Python-3.7.4.eb index 009b1080766..5f6beb23aa6 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.10.0-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.10.0-foss-2019b-Python-3.7.4.eb @@ -30,8 +30,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('Perl', '5.30.0'), ('Python', '3.7.4'), ('SciPy-bundle', '2019.10', versionsuffix), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2021b.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2021b.eb new file mode 100644 index 00000000000..d904f619a21 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2021b.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:: Custom +# +# Notes:: +## + +name = 'Trinity' +version = '2.15.1' + +homepage = 'https://trinityrnaseq.github.io' +description = """Trinity represents a novel method for the efficient and robust de novo reconstruction + of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, + Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/trinityrnaseq/trinityrnaseq/releases/download/%(name)s-v%(version)s'] +sources = ['trinityrnaseq-v%(version)s.FULL.tar.gz'] +patches = ['Trinity-%(version)s_fix-bamsifter.patch'] +checksums = [ + {'trinityrnaseq-v2.15.1.FULL.tar.gz': 'ba37e5f696d3d54e8749c4ba439901a3e97e14a4314a5229d7a069ad7b1ee580'}, + {'Trinity-2.15.1_fix-bamsifter.patch': 'f374d446f06b8059a3b7cc57c286fc20d79b43ac222f48244ab83fb410997d1d'}, +] + +builddependencies = [ + ('Autotools', '20210726'), + ('CMake', '3.22.1'), +] + +# for reference, list of dependencies in the container image used upstream: +# https://github.com/trinityrnaseq/trinityrnaseq/blob/master/Docker/Dockerfile +dependencies = [ + ('Java', '11', '', SYSTEM), + ('ant', '1.10.11', '-Java-%(javaver)s', SYSTEM), + ('picard', '2.25.1', '-Java-%(javaver)s', SYSTEM), + ('GATK', '4.2.3.0', '-Java-%(javaver)s'), + ('Perl', '5.34.0'), + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('BLAST+', '2.12.0'), + ('BLAT', '3.7'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.4.4'), + ('GMAP-GSNAP', '2021-12-17'), + ('HISAT2', '2.2.1'), + ('HTSlib', '1.14'), + ('Jellyfish', '2.3.0'), + ('kallisto', '0.48.0'), + ('ncurses', '6.2'), + ('RSEM', '1.3.3'), + ('Salmon', '1.4.0'), + ('SAMtools', '1.14'), + ('STAR', '2.7.9a'), + ('zlib', '1.2.11'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.eb new file mode 100644 index 00000000000..b808967c619 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1-foss-2022a.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:: Custom +# +# Notes:: +## + +name = 'Trinity' +version = '2.15.1' + +homepage = 'https://trinityrnaseq.github.io' +description = """Trinity represents a novel method for the efficient and robust de novo reconstruction + of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, + Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/trinityrnaseq/trinityrnaseq/releases/download/%(name)s-v%(version)s'] +sources = ['trinityrnaseq-v%(version)s.FULL.tar.gz'] +patches = ['Trinity-%(version)s_fix-bamsifter.patch'] +checksums = [ + {'trinityrnaseq-v2.15.1.FULL.tar.gz': 'ba37e5f696d3d54e8749c4ba439901a3e97e14a4314a5229d7a069ad7b1ee580'}, + {'Trinity-2.15.1_fix-bamsifter.patch': 'f374d446f06b8059a3b7cc57c286fc20d79b43ac222f48244ab83fb410997d1d'}, +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), +] + +# for reference, list of dependencies in the container image used upstream: +# https://github.com/trinityrnaseq/trinityrnaseq/blob/master/Docker/Dockerfile +dependencies = [ + ('Java', '11', '', SYSTEM), + ('ant', '1.10.12', '-Java-%(javaver)s', SYSTEM), + ('picard', '2.25.1', '-Java-%(javaver)s', SYSTEM), + ('GATK', '4.3.0.0', '-Java-%(javaver)s'), + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('BLAST+', '2.13.0'), + ('BLAT', '3.7'), + ('Bowtie', '1.3.1'), + ('Bowtie2', '2.4.5'), + ('GMAP-GSNAP', '2023-02-17'), + ('HISAT2', '2.2.1'), + ('HTSlib', '1.15.1'), + ('Jellyfish', '2.3.0'), + ('kallisto', '0.48.0'), + ('ncurses', '6.3'), + ('RSEM', '1.3.3'), + ('Salmon', '1.9.0'), + ('SAMtools', '1.16.1'), + ('STAR', '2.7.10b'), + ('zlib', '1.2.12'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch new file mode 100644 index 00000000000..02c23f15c76 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.15.1_fix-bamsifter.patch @@ -0,0 +1,28 @@ +Fix build of Trinity plugin bamsifter: +* add missing headers +* use external HTSlib from EasyBuild environment +* use compilation flags from environment +author: Alex Domingo (Vrije Universiteit Brussel) +--- trinity-plugins/bamsifter/Makefile.orig 2023-02-23 03:02:38.789520000 +0100 ++++ trinity-plugins/bamsifter/Makefile 2023-02-23 03:04:57.927569000 +0100 +@@ -2,8 +2,8 @@ + + cwd = $(shell pwd) + +-sift_bam_max_cov: sift_bam_max_cov.cpp htslib/version.h +- g++ -std=c++11 -o _sift_bam_max_cov sift_bam_max_cov.cpp -Wall -O2 -L./htslib/build/lib/ -I./htslib/build/include -lhts ++sift_bam_max_cov: sift_bam_max_cov.cpp ++ g++ -std=c++11 $(CXXFLAGS) -Wall -I$(EBROOTHTSLIB)/include -L$(EBROOTHTSLIB)/lib -lhts -o _sift_bam_max_cov sift_bam_max_cov.cpp + + + htslib/version.h : +--- trinity-plugins/bamsifter/sift_bam_max_cov.cpp.orig 2023-02-23 03:05:19.083304000 +0100 ++++ trinity-plugins/bamsifter/sift_bam_max_cov.cpp 2023-02-23 03:05:35.521079515 +0100 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "htslib/sam.h" + #include "htslib/bgzf.h" diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.4.0-foss-2017a.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.4.0-foss-2017a.eb index 98a63c78c78..044419c7ace 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.4.0-foss-2017a.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.4.0-foss-2017a.eb @@ -25,8 +25,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '1.8.0_121', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_121', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('Bowtie', '1.1.2'), ('Bowtie2', '2.3.2'), ('ncurses', '6.0'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017a.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017a.eb index b081019d430..834721f2ac7 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017a.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017a.eb @@ -28,8 +28,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '1.8.0_152', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_152', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('Bowtie', '1.1.2'), ('Bowtie2', '2.3.2'), ('ncurses', '6.0'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017b.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017b.eb index 75a7be3a9af..29331247179 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017b.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.5.1-intel-2017b.eb @@ -28,8 +28,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '1.8.0_152', '', True), - ('ant', '1.10.1', '-Java-%(javaver)s', True), + ('Java', '1.8.0_152', '', SYSTEM), + ('ant', '1.10.1', '-Java-%(javaver)s', SYSTEM), ('Bowtie', '1.2.2'), ('Bowtie2', '2.3.4'), ('ncurses', '6.0'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.4-foss-2018b.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.4-foss-2018b.eb index 655df5ae21a..2f8bbf8e3f6 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.4-foss-2018b.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.4-foss-2018b.eb @@ -19,8 +19,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '1.8', '', True), - ('ant', '1.10.5', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.5', '-Java-%(javaver)s', SYSTEM), ('Bowtie', '1.2.2'), ('Bowtie2', '2.3.4.2'), ('ncurses', '6.1'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-GCC-8.3.0-Java-11.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-GCC-8.3.0-Java-11.eb index aaf6957b7ae..8d8703a5561 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-GCC-8.3.0-Java-11.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-GCC-8.3.0-Java-11.eb @@ -26,7 +26,7 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('ant', '1.10.7', versionsuffix, True), ('Bowtie', '1.2.3'), ('Bowtie2', '2.3.5.1'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb index eeef16155fb..654e032e6c6 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.8.5-iccifort-2019.1.144-GCC-8.2.0-2.31.1.eb @@ -25,8 +25,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '1.8', '', True), - ('ant', '1.10.5', '-Java-%(javaver)s', True), + ('Java', '1.8', '', SYSTEM), + ('ant', '1.10.5', '-Java-%(javaver)s', SYSTEM), ('Bowtie', '1.2.3'), ('Bowtie2', '2.3.5.1'), ('ncurses', '6.1'), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-2.7.16.eb index 706bcf94ecb..3ca740f8aab 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-2.7.16.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-2.7.16.eb @@ -30,8 +30,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('Perl', '5.30.0'), ('Python', '2.7.16'), ('SciPy-bundle', '2019.10', versionsuffix), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-3.7.4.eb index 92750de5d52..923a3cd1f94 100644 --- a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2019b-Python-3.7.4.eb @@ -30,8 +30,8 @@ builddependencies = [ ] dependencies = [ - ('Java', '11', '', True), - ('ant', '1.10.7', '-Java-%(javaver)s', True), + ('Java', '11', '', SYSTEM), + ('ant', '1.10.7', '-Java-%(javaver)s', SYSTEM), ('Perl', '5.30.0'), ('Python', '3.7.4'), ('SciPy-bundle', '2019.10', versionsuffix), diff --git a/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb new file mode 100644 index 00000000000..fabca76f18f --- /dev/null +++ b/easybuild/easyconfigs/t/Trinity/Trinity-2.9.1-foss-2020b.eb @@ -0,0 +1,49 @@ +## +# 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:: Custom +# +# Notes:: +## + +name = 'Trinity' +version = '2.9.1' + +homepage = 'https://trinityrnaseq.github.io' +description = """Trinity represents a novel method for the efficient and robust de novo reconstruction + of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, + Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/trinityrnaseq/trinityrnaseq/releases/download/v%(version)s'] +sources = ['trinityrnaseq-v%(version)s.FULL.tar.gz'] +checksums = ['98d98bc21cd5dd32b408ed52586d01a15873b49b96de3264d42616bdcfc9d455'] + +builddependencies = [ + ('Autotools', '20200321'), + ('CMake', '3.18.4'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('ant', '1.10.9', '-Java-%(javaver)s', SYSTEM), + ('Perl', '5.32.0'), + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('Bowtie2', '2.4.2'), + ('HTSlib', '1.11'), + ('Jellyfish', '2.3.0'), + ('kallisto', '0.46.2'), + ('ncurses', '6.2'), + ('Salmon', '1.4.0'), + ('SAMtools', '1.11'), + ('zlib', '1.2.11'), +] + +withsampledata = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trinotate/Trinotate-4.0.1-foss-2022a.eb b/easybuild/easyconfigs/t/Trinotate/Trinotate-4.0.1-foss-2022a.eb new file mode 100644 index 00000000000..676eb208471 --- /dev/null +++ b/easybuild/easyconfigs/t/Trinotate/Trinotate-4.0.1-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'Tarball' +name = 'Trinotate' +version = '4.0.1' + +homepage = 'https://github.com/Trinotate/Trinotate/wiki' +description = """Trinotate is a comprehensive annotation suite designed for automatic functional +annotation of transcriptomes, particularly de novo assembled transcriptomes, +from model or non-model organisms. Trinotate makes use of a number of different +well referenced methods for functional annotation including homology search to +known sequence data (BLAST+/SwissProt), protein domain identification +(HMMER/PFAM), protein signal peptide and transmembrane domain prediction +(signalP/tmHMM), and leveraging various annotation databases (eggNOG/GO/Kegg +databases). All functional annotation data derived from the analysis of +transcripts is integrated into a SQLite database which allows fast efficient +searching for terms with specific qualities related to a desired scientific +hypothesis or a means to create a whole annotation report for a transcriptome.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = '%(name)s' +source_urls = [GITHUB_SOURCE] +sources = ['%(name)s-v%(version)s.tar.gz'] +checksums = ['a07cedeb59a1c2b681696ecd878dfdf10e3bdf85185f5197e89a529837518a9b'] + +# for reference, list of dependencies in the container image used upstream: +# https://github.com/Trinotate/Trinotate/blob/master/Docker/Dockerfile +dependencies = [ + ('Perl', '5.34.1'), + ('Python', '3.10.4'), + ('Trinity', '2.15.1'), + ('BLAST+', '2.13.0'), + ('DIAMOND', '2.1.0'), + ('eggnog-mapper', '2.1.9'), + ('HMMER', '3.3.2'), + ('Infernal', '1.1.4'), + ('PyBioLib', '1.1.988'), + ('SAMtools', '1.16.1'), + ('TransDecoder', '5.5.0'), +] + +sanity_check_paths = { + 'files': ['Trinotate', 'run_TrinotateWebserver.pl'], + 'dirs': ['PerlLib', 'resources', 'testing', 'util'], +} + +sanity_check_commands = [ + 'Trinotate --help 2>&1 | grep -q "Trinotate --db "', +] + +modextrapaths = { + 'PATH': '', + 'PERL5LIB': 'PerlLib', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3-GCC-11.2.0.eb b/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3-GCC-11.2.0.eb new file mode 100755 index 00000000000..4a007546c50 --- /dev/null +++ b/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' + +name = 'Triplexator' +version = '1.3.3' + +homepage = "https://github.com/Gurado/triplexator" +description = """Triplexator is a tool for detecting nucleic acid triple helices and triplex features in nucleotide + sequences using the canonical triplex-formation rules.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'Gurado' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['Triplexator-1.3.3_support-modern-compilers.patch'] +checksums = [ + {'v1.3.3.tar.gz': '24b862062ea36bef67beaa9fcade7860450f98c14dcfa499fca666e2b8c570b2'}, + {'Triplexator-1.3.3_support-modern-compilers.patch': + '1c2bee4aab6693c1f5836eb1688a4345b1ff5fa22333bf3252eb749f15995e64'}, +] + +builddependencies = [ + ('CMake', '3.22.1'), +] + +dependencies = [ + ('Boost', '1.79.0'), +] + +# The above patch makes the code buildable with CMAKE_CXX_STANDARD 11, so set that here +configopts = '-DCMAKE_CXX_STANDARD=11' + +sanity_check_commands = [ + "cd %(builddir)s/%(namelower)s-%(version)s && ./demos/smoketest_triplexator.sh %(installdir)s/bin/%(namelower)s" +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3_support-modern-compilers.patch b/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3_support-modern-compilers.patch new file mode 100755 index 00000000000..3a10a3a2639 --- /dev/null +++ b/easybuild/easyconfigs/t/Triplexator/Triplexator-1.3.3_support-modern-compilers.patch @@ -0,0 +1,113 @@ +From e1f86e7df06dd53f0af242858db3909eaa35dac6 Mon Sep 17 00:00:00 2001 +From: amatria +Date: Thu, 8 Sep 2022 12:41:02 +0200 +Subject: [PATCH] compile with a modern c++ compiler + +--- + src/seqan/file/file_format.h | 32 +++++++++---------- + .../parallel/parallel_generated_forwards.h | 2 +- + src/seqan/parallel/parallel_splitting.h | 6 ++-- + src/triplexator.cpp | 4 +-- + 4 files changed, 23 insertions(+), 21 deletions(-) + +diff --git a/src/seqan/file/file_format.h b/src/seqan/file/file_format.h +index da64632..d6df116 100644 +--- a/src/seqan/file/file_format.h ++++ b/src/seqan/file/file_format.h +@@ -205,27 +205,27 @@ struct FileFormat + ~FileFormat() {} + FileFormat const & operator =(FileFormat const &) { return *this; } + +- virtual void * +- formatID_() const = 0; ++ void * ++ formatID_(); + +- virtual void +- read_(TFile & file, TData & data) const = 0; +- virtual void +- read_(TFile & file, TData & data, TSize limit) const = 0; ++ void ++ read_(TFile & file, TData & data); ++ void ++ read_(TFile & file, TData & data, TSize limit); + +- virtual void +- readMeta_(TFile & file, TMeta & meta) const = 0; ++ void ++ readMeta_(TFile & file, TMeta & meta); + +- virtual void +- goNext_(TFile & file) const = 0; ++ void ++ goNext_(TFile & file); + +- virtual TSize +- length_(TFile & file) const = 0; ++ TSize ++ length_(TFile & file); + +- virtual void +- write_(TFile & file, TData & data) const = 0; +- virtual void +- write_(TFile & file, TData & data, TMeta & meta) const = 0; ++ void ++ write_(TFile & file, TData & data); ++ void ++ write_(TFile & file, TData & data, TMeta & meta); + + }; + +diff --git a/src/seqan/parallel/parallel_generated_forwards.h b/src/seqan/parallel/parallel_generated_forwards.h +index 78e9e3e..682bd45 100644 +--- a/src/seqan/parallel/parallel_generated_forwards.h ++++ b/src/seqan/parallel/parallel_generated_forwards.h +@@ -57,7 +57,7 @@ namespace seqan { + //____________________________________________________________________________ + // computeSplitters + +-template void computeSplitters(String & splitters, TSize size, TCount count); // "/Users/fabianbuske/Documents/research/triplex/seqan/core/include/seqan/parallel/parallel_splitting.h"(64) ++template void computeSplitters(TPosString & splitters, TSize size, TCount count); // "/Users/fabianbuske/Documents/research/triplex/seqan/core/include/seqan/parallel/parallel_splitting.h"(64) + + } //namespace seqan + +diff --git a/src/seqan/parallel/parallel_splitting.h b/src/seqan/parallel/parallel_splitting.h +index f8d862f..1ed786d 100755 +--- a/src/seqan/parallel/parallel_splitting.h ++++ b/src/seqan/parallel/parallel_splitting.h +@@ -59,9 +59,11 @@ computeSplitters(splitters, 10, 5); + ..include:seqan/parallel.h + */ + +-template +-void computeSplitters(String & splitters, TSize size, TCount count) ++template ++void computeSplitters(TPosString & splitters, TSize size, TCount count) + { ++ typedef typename Value::Type TPos; ++ + resize(splitters, count + 1); + splitters[0] = 0; + TSize blockLength = size / count; +diff --git a/src/triplexator.cpp b/src/triplexator.cpp +index a3738cb..d6d8e7f 100644 +--- a/src/triplexator.cpp ++++ b/src/triplexator.cpp +@@ -917,7 +917,7 @@ namespace SEQAN_NAMESPACE_MAIN + appendValue(duplexNames, id, Generous()); + + read(file, duplexString, Fasta()); // read Fasta sequence +- ttsnoToFileMap.insert(::std::make_pair >(seqNo,::std::make_pair< ::std::string,unsigned>(filename,seqNoWithinFile))); ++ ttsnoToFileMap.insert(::std::make_pair >(::std::move(seqNo),::std::make_pair< ::std::string,unsigned>(::std::move(filename),::std::move(seqNoWithinFile)))); + + if (options._debugLevel > 1 ) + options.logFileHandle << _getTimeStamp() << " ... Finished reading next duplex sequence" << ::std::endl; +@@ -1040,7 +1040,7 @@ namespace SEQAN_NAMESPACE_MAIN + readShortID(file, id, Fasta()); // read Fasta id up to first whitespace + appendValue(duplexNames, id, Generous()); + read(file, duplexString, Fasta()); // read Fasta sequence +- ttsnoToFileMap.insert(::std::make_pair >(seqNo,::std::make_pair< ::std::string,unsigned>(filename,seqNoWithinFile))); ++ ttsnoToFileMap.insert(::std::make_pair >(::std::move(seqNo),::std::make_pair< ::std::string,unsigned>(::std::move(filename),::std::move(seqNoWithinFile)))); + appendValue(duplexSet, duplexString); + + if (options._debugLevel > 1 ) diff --git a/easybuild/easyconfigs/t/Triton/Triton-1.1.1-disable_rocm_support.patch b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-disable_rocm_support.patch new file mode 100644 index 00000000000..49cdccdd914 --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-disable_rocm_support.patch @@ -0,0 +1,322 @@ +Disable experimental support for AMD GPUs +author: Alex Domingo (Vrije Universiteit Brussel) +--- lib/driver/llvm.cc.orig 2023-12-07 16:06:32.873087318 +0100 ++++ lib/driver/llvm.cc 2023-12-07 16:07:18.097049981 +0100 +@@ -47,15 +47,6 @@ + #include "llvm/ExecutionEngine/SectionMemoryManager.h" + #include "llvm/Transforms/Utils/Cloning.h" + +-// begin AMD stuff +-#include "llvm/Support/FileSystem.h" +-#include "llvm/Support/FormattedStream.h" +-#include "llvm/Support/Program.h" +-#include "llvm/Support/ToolOutputFile.h" +-#include "llvm/ADT/StringRef.h" +-#include "llvm/Analysis/TargetLibraryInfo.h" +-// end AMD stuff +- + namespace triton{ + namespace driver{ + +@@ -66,10 +57,6 @@ + LLVMInitializeNVPTXTarget(); + LLVMInitializeNVPTXTargetMC(); + LLVMInitializeNVPTXAsmPrinter(); +- LLVMInitializeAMDGPUTargetInfo(); +- LLVMInitializeAMDGPUTarget(); +- LLVMInitializeAMDGPUTargetMC(); +- LLVMInitializeAMDGPUAsmPrinter(); + init = true; + } + } +@@ -248,116 +235,6 @@ + } + } + +-/* ------------------------ */ +-// HIP // +-/* ------------------------ */ +- +-std::string llir_to_amdgpu(llvm::Module* module, const std::string& _proc) { +- init_llvm(); +- +-// proc = std::get<0>(GetFeatureStrFromGCNArchName(rocminfo)); +-// features = std::get<1>(GetFeatureStrFromGCNArchName(rocminfo)); +- +- // create +- llvm::SmallVector buffer; +- std::string triple = "amdgcn-amd-amdhsa"; +- std::string layout = ""; +- std::string features; +- std::string proc = "gfx908"; +- // verify and store llvm +- llvm::legacy::PassManager pm; +- pm.add(llvm::createVerifierPass()); +- pm.run(*module); +- // create machine +- module->setTargetTriple(triple); +- std::string error; +- auto target = llvm::TargetRegistry::lookupTarget(module->getTargetTriple(), error); +- llvm::TargetOptions opt; +- opt.AllowFPOpFusion = llvm::FPOpFusion::Fast; +- opt.UnsafeFPMath = false; +- opt.NoInfsFPMath = false; +- opt.NoNaNsFPMath = true; +- llvm::TargetMachine *machine = target->createTargetMachine(module->getTargetTriple(), proc, features, opt, +- llvm::Reloc::PIC_, llvm::None, +- llvm::CodeGenOpt::Aggressive); +- // set data layout +- if(layout.empty()) +- module->setDataLayout(machine->createDataLayout()); +- else +- module->setDataLayout(layout); +- // emit machine code +- for (llvm::Function &f : module->functions()) +- f.addFnAttr(llvm::Attribute::AlwaysInline); +- llvm::legacy::PassManager pass; +- llvm::raw_svector_ostream stream(buffer); +- +- // create dump files +- std::string module_name = module->getModuleIdentifier(); +- std::error_code ec; +- +- // Save GCN ISA binary. +- std::string isabin_path = std::string("/tmp/") + module_name + std::string(".o"); +- std::unique_ptr isabin_fs( +- new llvm::raw_fd_ostream(isabin_path, ec, llvm::sys::fs::OF_Text)); +- if (ec) +- { +- std::cout << isabin_path << " was not created. error code: " << ec << std::endl; +- } +- +- // emit +- machine->addPassesToEmitFile(pass, *isabin_fs, nullptr, llvm::CGFT_ObjectFile); +- pass.run(*module); +- // Save GCN ISA. +- std::string amdgcn_path = std::string("/tmp/") + module_name + std::string(".gcn"); +- std::string result(buffer.begin(), buffer.end()); +- std::ofstream amdgcn(amdgcn_path); +- amdgcn << result; +- amdgcn.close(); +- +- // generate HASCO file +- std::string hsaco_path = std::string("/tmp/") + module_name + std::string(".hsaco"); +- std::string error_message; +- int lld_result = +- llvm::sys::ExecuteAndWait("/opt/rocm/llvm/bin/ld.lld", +- {"/opt/rocm/llvm/bin/ld.lld", "-flavor", "gnu", "-shared", "-o", hsaco_path, isabin_path}, +- llvm::None, {}, 0, 0, &error_message); +- if (lld_result) +- { +- std::cout << "ld.lld execute fail: " << std::endl; +- std::cout << error_message << std::endl; +- std::cout << lld_result << std::endl; +- } +- +- return hsaco_path; +-} +- +- +-hipModule_t amdgpu_to_hipmodule(const std::string& path) { +- // Read HSACO. +- std::ifstream hsaco_file(path, std::ios::binary | std::ios::ate); +- std::ifstream::pos_type hsaco_file_size = hsaco_file.tellg(); +- +- std::vector hsaco(hsaco_file_size); +- hsaco_file.seekg(0, std::ios::beg); +- hsaco_file.read(reinterpret_cast(&hsaco[0]), hsaco_file_size); +- hsaco_file.close(); +- hipJitOption opt[] = {hipJitOptionErrorLogBufferSizeBytes, hipJitOptionErrorLogBuffer, +- hipJitOptionInfoLogBufferSizeBytes, hipJitOptionInfoLogBuffer, +- hipJitOptionLogVerbose}; +- unsigned int errbufsize = 8192; +- unsigned int logbufsize = 8192; +- char _err[errbufsize]; +- char _log[logbufsize]; +- void* optval[] = {(void*)(uintptr_t)errbufsize, +- (void*)_err, (void*)(uintptr_t)logbufsize, +- (void*)_log, (void*)1}; +- hipModule_t ret; +- dispatch::hipModuleLoadDataEx(&ret, hsaco.data(), 5, opt, optval); +- return ret; +-} +- +- +- + } + } + +--- CMakeLists.txt.orig 2023-12-07 16:13:23.403991690 +0100 ++++ CMakeLists.txt 2023-12-07 16:13:41.637662517 +0100 +@@ -43,9 +43,7 @@ + libLLVMNVPTXCodeGen.a + libLLVMNVPTXDesc.a + libLLVMNVPTXInfo.a +-libLLVMAMDGPUDisassembler.a + libLLVMMCDisassembler.a +-libLLVMAMDGPUCodeGen.a + libLLVMMIRParser.a + libLLVMGlobalISel.a + libLLVMSelectionDAG.a +@@ -70,10 +68,7 @@ + libLLVMObject.a + libLLVMTextAPI.a + libLLVMBitReader.a +-libLLVMAMDGPUAsmParser.a + libLLVMMCParser.a +-libLLVMAMDGPUDesc.a +-libLLVMAMDGPUUtils.a + libLLVMMC.a + libLLVMDebugInfoCodeView.a + libLLVMDebugInfoMSF.a +@@ -81,7 +76,6 @@ + libLLVMRemarks.a + libLLVMBitstreamReader.a + libLLVMBinaryFormat.a +-libLLVMAMDGPUInfo.a + libLLVMSupport.a + libLLVMDemangle.a + ) +--- python/src/triton.cc.orig 2023-12-08 09:35:13.584838000 +0100 ++++ python/src/triton.cc 2023-12-08 09:39:02.993866293 +0100 +@@ -34,17 +34,9 @@ + return res; + } + +-template +-int hipGetInfo(hipDevice_t device) { +- int res; +- drv::dispatch::hipDeviceGetAttribute(&res, attr, device); +- return res; +-} +- + enum backend_t { + HOST, + CUDA, +- ROCM, + }; + + void cu_enable_peer_access(uint64_t peer_ptr){ +@@ -84,28 +76,12 @@ + shared_mem, (CUstream)stream, nullptr, config); + } + +-void hip_enqueue(uint64_t stream, uint64_t kernel, +- uint64_t grid_0, uint64_t grid_1, uint64_t grid_2, +- uint64_t block_0, uint64_t block_1, uint64_t block_2, +- void* args_ptr, size_t args_size, int64_t shared_mem) { +- void *config[] = { +- HIP_LAUNCH_PARAM_BUFFER_POINTER, (void*)args_ptr, +- HIP_LAUNCH_PARAM_BUFFER_SIZE, &args_size, +- HIP_LAUNCH_PARAM_END +- }; +- drv::dispatch::hipModuleLaunchKernel((hipFunction_t)kernel, grid_0, grid_1, grid_2, +- block_0, block_1, block_2, +- shared_mem, (hipStream_t)stream, nullptr, config); +- +-} +- + void init_triton_runtime(py::module &&m) { + + // wrap backend_t + py::enum_(m, "backend") + .value("HOST", HOST) + .value("CUDA", CUDA) +- .value("ROCM", ROCM) + .export_values(); + + // enable peer-to-peer +@@ -122,8 +98,6 @@ + return 0; + if(backend == CUDA) + return cuGetInfo(device); +- if(backend == ROCM) +- return hipGetInfo(device); + return -1; + }); + +@@ -138,8 +112,6 @@ + host_enqueue(stream, kernel, grid_0, grid_1, grid_2, block_0, block_1, block_2, args_ptr, args_size, shared_mem); + if(backend == CUDA) + cu_enqueue(stream, kernel, grid_0, grid_1, grid_2, block_0, block_1, block_2, args_ptr, args_size, shared_mem); +- if(backend == ROCM) +- hip_enqueue(stream, kernel, grid_0, grid_1, grid_2, block_0, block_1, block_2, args_ptr, args_size, shared_mem); + }); + + +@@ -183,19 +155,6 @@ + return std::make_tuple((uint64_t)mod, (uint64_t)fun); + } + +-// ROCM +-std::tuple hip_load_binary(const std::string& name, asm_map_t &asm_map, size_t n_shared_bytes, uint64_t dev){ +- py::bytes _assembly = asm_map["hsaco"]; +- std::string assembly = py::cast(_assembly); +- // HSA-CO -> hipModule +- hipModule_t mod = drv::amdgpu_to_hipmodule(assembly); +- // Handle to the kernel +- hipFunction_t fun; +- drv::dispatch::hipModuleGetFunction(&fun, mod, name.c_str()); +- // record asm +- return std::make_tuple((uint64_t)mod, (uint64_t)fun); +-} +- + // --------------------------------------- + // Compile Triton-IR to assembly + // --------------------------------------- +@@ -233,26 +192,6 @@ + return std::make_tuple(name, asm_map, n_shared_bytes); + } + +-// HIP +-std::tuple hip_compile_ttir(const std::string& name, ir::module &ir, +- uint64_t device, int num_warps, int num_stages, +- bool force_nc_cache, asm_map_t &asm_map){ +- llvm::LLVMContext ctx; +- // Triton-IR -> NVPTX LLVM-IR +- triton::codegen::amd_cl_target target; +- int n_shared_bytes; +- auto llvm = triton::codegen::add_passes_to_emit_bin(ir, ctx, &target, 70, num_warps, num_stages, force_nc_cache, n_shared_bytes); +- std::string tmp; +- llvm::raw_string_ostream llir(tmp); +- llir << *llvm; +- llir.flush(); +- asm_map["llir"] = py::cast(tmp); +- // LLVM-IR -> HSA-CO +- std::string path = drv::llir_to_amdgpu(llvm.get(), "gfx908"); +- asm_map["hsaco"] = py::cast(path); +- return std::make_tuple(name, asm_map, n_shared_bytes); +-} +- + void init_triton_codegen(py::module &&m) { + m.def( + "compile_ttir", [](backend_t backend, ir::module &ir, uint64_t device, int num_warps, int num_stages, bool force_nc_cache) { +@@ -265,14 +204,10 @@ + llvm::LLVMContext ctx; + if(backend == CUDA) + return cu_compile_ttir(name, ir, device, num_warps, num_stages, force_nc_cache, asm_map); +- if(backend == ROCM) +- return hip_compile_ttir(name, ir, device, num_warps, num_stages, force_nc_cache, asm_map); + }, py::return_value_policy::take_ownership); + m.def("load_binary", [](backend_t backend, const std::string& name, asm_map_t &asm_map, size_t n_shared_bytes, uint64_t dev){ + if(backend == CUDA) + return cu_load_binary(name, asm_map, n_shared_bytes, dev); +- if(backend == ROCM) +- return hip_load_binary(name, asm_map, n_shared_bytes, dev); + }, py::return_value_policy::take_ownership); + } + +--- python/triton/code_gen.py.orig 2023-12-08 09:40:05.554478000 +0100 ++++ python/triton/code_gen.py 2023-12-08 09:40:18.283600932 +0100 +@@ -556,10 +556,7 @@ + raise e + raise CompilationError(self.fn.src, node, e) + # Compile to machine code +- if torch.version.hip is None: +- backend = _triton.runtime.backend.CUDA +- else: +- backend = _triton.runtime.backend.ROCM ++ backend = _triton.runtime.backend.CUDA + name, asm, shared_mem = _triton.code_gen.compile_ttir(backend, generator.module, device, num_warps, num_stages, force_nc_cache) + max_shared_memory = _triton.runtime.max_shared_memory(backend, device) + if shared_mem > max_shared_memory: diff --git a/easybuild/easyconfigs/t/Triton/Triton-1.1.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c7b10ad68aa --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'Triton' +version = '1.1.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://triton-lang.org/' + +description = """Triton is a language and compiler for parallel programming. It aims to provide a +Python-based programming environment for productively writing custom DNN compute +kernels capable of running at maximal throughput on modern GPU hardware.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'openai' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'Triton-%(version)s-disable_rocm_support.patch', + 'Triton-%(version)s-use_eb_env_python_build.patch', +] +checksums = [ + {'v1.1.1.tar.gz': '6b0e4a4375068938f7045819987b51299762abf0b1f39948f839d069ed9366bc'}, + {'Triton-1.1.1-disable_rocm_support.patch': 'abdd50246c668d7fe9889bbe4e8ca84ea4b1b762e814f099919bcbee7c037c62'}, + {'Triton-1.1.1-use_eb_env_python_build.patch': '428a86da560b5f4353e956452f495ec022dcfbb51aa283dab50551369d7838b4'}, +] + +builddependencies = [ + ('Clang', '13.0.1', versionsuffix), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), +] + +use_pip = True +download_dep_fail = True + +start_dir = 'python' + +# make pip print output of cmake +installopts = "-v " + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Triton/Triton-1.1.1-use_eb_env_python_build.patch b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-use_eb_env_python_build.patch new file mode 100644 index 00000000000..8cc90549915 --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-1.1.1-use_eb_env_python_build.patch @@ -0,0 +1,53 @@ +Fix Triton cmake build to use dependencies from EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +--- python/setup.py.orig 2023-12-08 00:18:55.731934000 +0100 ++++ python/setup.py 2023-12-08 00:22:25.336980000 +0100 +@@ -77,28 +77,24 @@ + self.build_extension(ext) + + def build_extension(self, ext): +- llvm_include_dir, llvm_library_dir = get_llvm() + # self.debug = True + extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.path))) +- # create build directories ++ llvm_include_dir = os.path.join(os.environ['EBROOTCLANG'], 'include') ++ llvm_library_dir = os.path.join(os.environ['EBROOTCLANG'], 'lib') + build_suffix = 'debug' if self.debug else 'release' +- llvm_build_dir = os.path.join(tempfile.gettempdir(), "llvm-" + build_suffix) + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) +- if not os.path.exists(llvm_build_dir): +- os.makedirs(llvm_build_dir) + # python directories +- python_include_dirs = [distutils.sysconfig.get_python_inc()] + ['/usr/local/cuda/include'] ++ python_include_subdir = 'python' + str(sys.version_info.major) + '.' + str(sys.version_info.minor) ++ python_include_dir = os.path.join(os.environ['EBROOTPYTHON'], 'include', python_include_subdir) + cmake_args = [ + "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=" + extdir, ++ "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON", + "-DBUILD_TUTORIALS=OFF", + "-DBUILD_PYTHON_MODULE=ON", + "-DLLVM_INCLUDE_DIRS=" + llvm_include_dir, + "-DLLVM_LIBRARY_DIR=" + llvm_library_dir, +- #'-DPYTHON_EXECUTABLE=' + sys.executable, +- #'-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON', +- "-DTRITON_LLVM_BUILD_DIR=" + llvm_build_dir, +- "-DPYTHON_INCLUDE_DIRS=" + ";".join(python_include_dirs) ++ "-DPYTHON_INCLUDE_DIRS=" + python_include_dir, + ] + # configuration + cfg = "Debug" if self.debug else "Release" +@@ -112,10 +107,12 @@ + else: + import multiprocessing + cmake_args += ["-DCMAKE_BUILD_TYPE=" + cfg] +- build_args += ["--", '-j' + str(2 * multiprocessing.cpu_count())] ++ build_args += ["--", '-j' + str(len(os.sched_getaffinity(0)))] + + env = os.environ.copy() ++ print("cmake", self.base_dir, cmake_args) + subprocess.check_call(["cmake", self.base_dir] + cmake_args, cwd=self.build_temp, env=env) ++ print("cmake", "--build", ".", build_args) + subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=self.build_temp) + + diff --git a/easybuild/easyconfigs/t/Triton/Triton-2.1.0-disable_rocm_support.patch b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-disable_rocm_support.patch new file mode 100644 index 00000000000..13d736b4bfc --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-disable_rocm_support.patch @@ -0,0 +1,88 @@ +Disable experimental support for AMD GPUs +author: Alex Domingo (Vrije Universiteit Brussel) +author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur triton-2.1.0.orig/CMakeLists.txt triton-2.1.0/CMakeLists.txt +--- triton-2.1.0.orig/CMakeLists.txt 2023-09-01 08:28:27.000000000 +0200 ++++ triton-2.1.0/CMakeLists.txt 2024-09-01 10:40:17.863374000 +0200 +@@ -70,7 +70,7 @@ + AMDGPUInfo AMDGPUcodegen + ) + else() +- find_package(LLVM 11 REQUIRED COMPONENTS "nvptx;amdgpu") ++ find_package(LLVM 11 REQUIRED COMPONENTS "nvptx") + endif() + + message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") +@@ -89,9 +89,7 @@ + LLVMNVPTXCodeGen + LLVMNVPTXDesc + LLVMNVPTXInfo +- LLVMAMDGPUDisassembler + LLVMMCDisassembler +- LLVMAMDGPUCodeGen + LLVMMIRParser + LLVMGlobalISel + LLVMSelectionDAG +@@ -116,10 +114,7 @@ + LLVMObject + LLVMTextAPI + LLVMBitReader +- LLVMAMDGPUAsmParser + LLVMMCParser +- LLVMAMDGPUDesc +- LLVMAMDGPUUtils + LLVMMC + LLVMDebugInfoCodeView + LLVMDebugInfoMSF +@@ -127,7 +122,6 @@ + LLVMRemarks + LLVMBitstreamReader + LLVMBinaryFormat +- LLVMAMDGPUInfo + LLVMSupport + LLVMDemangle + LLVMPasses +diff -ur triton-2.1.0.orig/lib/Target/HSACO/HSACOTranslation.cpp triton-2.1.0/lib/Target/HSACO/HSACOTranslation.cpp +--- triton-2.1.0.orig/lib/Target/HSACO/HSACOTranslation.cpp 2023-09-01 08:28:27.000000000 +0200 ++++ triton-2.1.0/lib/Target/HSACO/HSACOTranslation.cpp 2024-09-02 21:27:09.233712000 +0200 +@@ -37,13 +37,6 @@ + + namespace { + +-void init_llvm() { +- LLVMInitializeAMDGPUTarget(); +- LLVMInitializeAMDGPUTargetInfo(); +- LLVMInitializeAMDGPUTargetMC(); +- LLVMInitializeAMDGPUAsmParser(); +- LLVMInitializeAMDGPUAsmPrinter(); +-} + + std::unique_ptr + initialize_module(llvm::Module *module, const std::string &triple, +@@ -155,7 +148,6 @@ + llir_to_amdgcn_and_hsaco(llvm::Module *module, std::string gfx_arch, + std::string gfx_triple, std::string gfx_features) { + +- init_llvm(); + + // verify and store llvm + auto module_obj = llvm::CloneModule(*module); +diff -ur triton-2.1.0.orig/python/src/triton.cc triton-2.1.0/python/src/triton.cc +--- triton-2.1.0.orig/python/src/triton.cc 2023-09-01 08:28:27.000000000 +0200 ++++ triton-2.1.0/python/src/triton.cc 2024-09-01 10:41:29.146862440 +0200 +@@ -60,7 +60,6 @@ + enum backend_t { + HOST, + CUDA, +- ROCM, + }; + + void init_triton_runtime(py::module &&m) { +@@ -68,7 +67,6 @@ + py::enum_(m, "backend", py::module_local()) + .value("HOST", HOST) + .value("CUDA", CUDA) +- .value("ROCM", ROCM) + .export_values(); + } + diff --git a/easybuild/easyconfigs/t/Triton/Triton-2.1.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..a1cdbe87df3 --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonPackage' + +name = 'Triton' +version = '2.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://triton-lang.org/' + +description = """Triton is a language and compiler for parallel programming. It aims to provide a +Python-based programming environment for productively writing custom DNN compute +kernels capable of running at maximal throughput on modern GPU hardware.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +github_account = 'openai' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s-disable_rocm_support.patch', + '%(name)s-%(version)s-use_eb_env_python_build.patch', +] +checksums = [ + {'v2.1.0.tar.gz': '4338ca0e80a059aec2671f02bfc9320119b051f378449cf5f56a1273597a3d99'}, + {'Triton-2.1.0-disable_rocm_support.patch': 'e4d7c0947c3287b3f0871a004e8b483963f637c9fa3ef6212ac3a34660de2a7c'}, + {'Triton-2.1.0-use_eb_env_python_build.patch': 'd68bf766c699ad6a778d9449d3bccdadc2f20f1f86ba13e1359ad297b12fbf7c'}, +] + +builddependencies = [ + ('Clang', '17.0.0_20230515', versionsuffix), # this is the exact commit that would be downloaded by Triton + ('CMake', '3.26.3'), +] + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('PyTorch', '2.1.2', versionsuffix), +] + +use_pip = True +download_dep_fail = True + +start_dir = 'python' + +preinstallopts = 'export LLVM_INCLUDE_DIRS=$EBROOTCLANG/include && ' +preinstallopts += 'export LLVM_LIBRARY_DIR=$EBROOTCLANG/lib && ' +preinstallopts += 'export LLVM_SYSPATH=$EBROOTCLANG && ' +preinstallopts += 'export TRITON_BUILD_WITH_CLANG_LLD=1 && ' + +# make pip print output of cmake +installopts = "-v " + +sanity_pip_check = True + +modluafooter = 'setenv("TRITON_PTXAS_PATH", pathJoin(os.getenv("CUDA_HOME"), "bin", "ptxas"))' + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/Triton/Triton-2.1.0-use_eb_env_python_build.patch b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-use_eb_env_python_build.patch new file mode 100644 index 00000000000..650134e73be --- /dev/null +++ b/easybuild/easyconfigs/t/Triton/Triton-2.1.0-use_eb_env_python_build.patch @@ -0,0 +1,93 @@ +Fix Triton cmake build to use dependencies from EasyBuild +author: Alex Domingo (Vrije Universiteit Brussel) +author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur triton-2.1.0.orig/lib/Target/LLVMIR/LLVMIRTranslation.cpp triton-2.1.0/lib/Target/LLVMIR/LLVMIRTranslation.cpp +--- triton-2.1.0.orig/lib/Target/LLVMIR/LLVMIRTranslation.cpp 2023-09-01 08:28:27.000000000 +0200 ++++ triton-2.1.0/lib/Target/LLVMIR/LLVMIRTranslation.cpp 2024-09-02 19:46:06.574421829 +0200 +@@ -35,6 +35,7 @@ + #endif + #include + #include ++#include // for getenv + + namespace fs = std::filesystem; + +@@ -177,6 +178,7 @@ + } + + if (!funcs.empty()) { ++ std::filesystem::path cuda_home = std::getenv("CUDA_HOME"); + static const std::string libdevice = "libdevice"; + // first search for environmental path + std::string env_path = ::triton::tools::getenv("TRITON_LIBDEVICE_PATH"); +@@ -189,8 +191,7 @@ + // `triton/third_party/cuda/lib/libdevice.10.bc` + static const auto this_library_path = getThisLibraryPath(); + static const auto runtime_path = +- this_library_path.parent_path().parent_path() / "third_party" / "cuda" / +- "lib" / "libdevice.10.bc"; ++ cuda_home / "nvvm" / "libdevice" / "libdevice.10.bc"; + if (fs::exists(runtime_path)) { + externLibs.try_emplace(libdevice, runtime_path.string()); + } else { +diff -ur triton-2.1.0.orig/python/setup.py triton-2.1.0/python/setup.py +--- triton-2.1.0.orig/python/setup.py 2023-09-01 08:28:27.000000000 +0200 ++++ triton-2.1.0/python/setup.py 2024-09-02 18:16:58.044760300 +0200 +@@ -202,13 +202,13 @@ + + def build_extension(self, ext): + lit_dir = shutil.which('lit') +- user_home = os.getenv("HOME") or os.getenv("USERPROFILE") or \ +- os.getenv("HOMEPATH") or None +- if not user_home: +- raise RuntimeError("Could not find user home directory") +- triton_cache_path = os.path.join(user_home, ".triton") ++ # user_home = os.getenv("HOME") or os.getenv("USERPROFILE") or \ ++ # os.getenv("HOMEPATH") or None ++ # if not user_home: ++ # raise RuntimeError("Could not find user home directory") ++ # triton_cache_path = os.path.join(user_home, ".triton") + # lit is used by the test suite +- thirdparty_cmake_args = get_thirdparty_packages(triton_cache_path) ++ # thirdparty_cmake_args = get_thirdparty_packages(triton_cache_path) + extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.path))) + # create build directories + if not os.path.exists(self.build_temp): +@@ -216,8 +216,9 @@ + # python directories + python_include_dir = sysconfig.get_path("platinclude") + cmake_args = [ ++ "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON", + "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON", +- "-DLLVM_ENABLE_WERROR=ON", ++ # "-DLLVM_ENABLE_WERROR=ON", + "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=" + extdir, + "-DTRITON_BUILD_TUTORIALS=OFF", + "-DTRITON_BUILD_PYTHON_MODULE=ON", +@@ -227,7 +228,7 @@ + ] + if lit_dir is not None: + cmake_args.append("-DLLVM_EXTERNAL_LIT=" + lit_dir) +- cmake_args.extend(thirdparty_cmake_args) ++ # cmake_args.extend(thirdparty_cmake_args) + + # configuration + cfg = get_build_type() +@@ -245,7 +246,7 @@ + build_args += ["--", "/m"] + else: + cmake_args += ["-DCMAKE_BUILD_TYPE=" + cfg] +- max_jobs = os.getenv("MAX_JOBS", str(2 * os.cpu_count())) ++ max_jobs = os.getenv("MAX_JOBS", str(len(os.sched_getaffinity(0)))) + build_args += ['-j' + max_jobs] + + if check_env_flag("TRITON_BUILD_WITH_CLANG_LLD"): +@@ -262,7 +263,7 @@ + subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=cmake_dir) + + +-download_and_copy_ptxas() ++# download_and_copy_ptxas() + + + setup( diff --git a/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.2-foss-2021a.eb b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.2-foss-2021a.eb new file mode 100644 index 00000000000..4337daa5f41 --- /dev/null +++ b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.2-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'Trycycler' +version = '0.5.2' + +homepage = 'https://github.com/rrwick/Trycycler' +description = "Trycycler is a tool for generating consensus long-read assemblies for bacterial genomes." + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/rrwick/Trycycler/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['6f6007afa6a4f7568d12b48627a09b03d389ae4e7888033433314caadd69d796'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('R', '4.1.0'), + ('edlib', '1.3.9'), + ('miniasm', '0.3-20191007'), + ('minimap2', '2.20'), + ('Mash', '2.3'), + ('MUSCLE', '3.8.31'), # v3 is preferred, see https://github.com/rrwick/Trycycler/wiki/Software-requirements#muscle + ('Pillow', '8.2.0'), +] + +download_dep_fail = True +use_pip = True + +runtest = 'pytest' + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/trycycler'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["trycycler --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.3-foss-2021b.eb b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.3-foss-2021b.eb new file mode 100644 index 00000000000..4ce03f293a2 --- /dev/null +++ b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.3-foss-2021b.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonPackage' + +name = 'Trycycler' +version = '0.5.3' + +homepage = 'https://github.com/rrwick/Trycycler' +description = "Trycycler is a tool for generating consensus long-read assemblies for bacterial genomes." + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/rrwick/Trycycler/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['9a3a512284a91c8a221e3f4dedbc8acabd8f7b93937ad46402d93eee6c7ee95b'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('R', '4.1.2'), + ('edlib', '1.3.9'), + ('miniasm', '0.3-20191007'), + ('minimap2', '2.22'), + ('Mash', '2.3'), + ('MUSCLE', '3.8.31'), # v3 is preferred, see https://github.com/rrwick/Trycycler/wiki/Software-requirements#muscle + ('Pillow', '8.3.2'), +] + +download_dep_fail = True +use_pip = True + +runtest = 'pytest' + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/trycycler'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["trycycler --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.5-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.5-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..00aa967bdc2 --- /dev/null +++ b/easybuild/easyconfigs/t/Trycycler/Trycycler-0.5.5-foss-2023a-R-4.3.2.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'Trycycler' +version = '0.5.5' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/rrwick/Trycycler' +description = """A tool for generating consensus long-read assemblies for bacterial genomes.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), + ('edlib', '1.3.9'), + ('Pillow', '10.0.0'), + ('pytest', '7.4.2'), + ('minimap2', '2.26'), + ('miniasm', '0.3-20191007'), + ('Mash', '2.3'), + ('MUSCLE', '5.1.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/rrwick/Trycycler/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['5794a4520c3b8673adc69c975cee06d7658cd74ac6d9378d1fc7af860bec1a89'], + 'runtest': 'pytest', + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/trycycler'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["trycycler --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2301a297350 --- /dev/null +++ b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1-GCCcore-11.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'CMakeMake' + +name = 'TurboVNC' +version = '3.0.1' + +homepage = 'https://www.turbovnc.org' +description = """TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide + peak performance for 3D and video workloads.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/TurboVNC/turbovnc/archive'] +sources = ['%(version)s.tar.gz'] +patches = ['TurboVNC-%(version)s_fix-libX11-libs.patch'] +checksums = [ + 'f0bd45e4e6f8cb8a52b5ccdef70fbc28ba8776591554c166db113eedc914dd86', # 3.0.1.tar.gz + '11acc18ae10355c7c6816fad0a68ed55fbcb7a04efd30740c619a1d82ecbd4c2', # TurboVNC-3.0.1_fix-libX11-libs.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Java', '11', '', SYSTEM), + ('X11', '20220504'), + ('pixman', '0.40.0'), + ('libjpeg-turbo', '2.1.3'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('libglvnd', '1.4.0'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +osdependencies = [ + ('pam-devel', 'libpam0g-dev'), +] + +configopts = "-DTVNC_BUILDJAVA=0 -DTVNC_SYSTEMX11=1 " +configopts += "-DX11_X11_LIB=$EBROOTX11/lib/libX11.%s " % SHLIB_EXT +configopts += "-DX11_Xau_LIB=$EBROOTX11/lib/libXau.%s " % SHLIB_EXT +configopts += "-DX11_SM_LIB=$EBROOTX11/lib/libSM.%s " % SHLIB_EXT +configopts += "-DX11_ICE_LIB=$EBROOTX11/lib/libICE.%s " % SHLIB_EXT +configopts += "-DX11_Pixman_LIB=$EBROOTPIXMAN/lib/libpixman-1.%s.0 " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_egl_LIBRARY=$EBROOTLIBGLVND/lib/libEGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTLIBGLVND/lib/libOpenGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glx_LIBRARY=$EBROOTLIBGLVND/lib/libGLX.%s " % SHLIB_EXT + +# if installdir starts with /opt, i.e. /opt/xxx, CMake will set SYSCONFDIR to /etc/opt/xxx instead of /opt/xxx/etc +# https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html +# the solution is to define CMAKE_INSTALL_SYSCONFDIR explicitly +configopts += "-DCMAKE_INSTALL_SYSCONFDIR=%(installdir)s/etc " + +# remove etc/turbovncserver-security.conf, to avoid errors like: +# (EE) Fatal server error: +# (EE) ERROR: .../TurboVNC/2.2.3-GCCcore-8.2.0/etc/turbovncserver-security.conf must be owned by you or by root +postinstallcmds = ["rm -rf %(installdir)s/etc/turbovncserver-security.conf"] + +sanity_check_paths = { + 'files': ['bin/vncserver', 'bin/vncpasswd', 'bin/Xvnc'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1_fix-libX11-libs.patch b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1_fix-libX11-libs.patch new file mode 100644 index 00000000000..877631a18ff --- /dev/null +++ b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.0.1_fix-libX11-libs.patch @@ -0,0 +1,21 @@ +# fix location of libXfont2.so and libfontenc.so +# don't derive location of libpixman-1.so from path to libX11.so +# author: Kenneth Hoste (HPC-UGent) +# +# updated to v3.0.1 by maxim-masterov (SURF) + +diff -Nru turbovnc-3.0.1.orig/unix/Xvnc/CMakeLists.txt turbovnc-3.0.1/unix/Xvnc/CMakeLists.txt +--- turbovnc-3.0.1.orig/unix/Xvnc/CMakeLists.txt 2022-09-22 11:31:39.142872000 +0200 ++++ turbovnc-3.0.1/unix/Xvnc/CMakeLists.txt 2022-09-22 11:33:07.984771000 +0200 +@@ -96,9 +96,8 @@ + if(TVNC_SYSTEMX11) + include_directories(${X11_X11_INCLUDE_PATH} ${X11_Xau_INCLUDE_PATH} + ${X11_Xdmcp_INCLUDE_PATH} ${X11_Xkbfile_INCLUDE_PATH}) +- string(REGEX REPLACE "X11" "Xfont2" X11_Xfont2_LIB ${X11_X11_LIB}) +- string(REGEX REPLACE "X11" "fontenc" X11_Fontenc_LIB ${X11_X11_LIB}) +- string(REGEX REPLACE "X11" "pixman-1" X11_Pixman_LIB ${X11_X11_LIB}) ++ string(REGEX REPLACE "libX11" "libXfont2" X11_Xfont2_LIB ${X11_X11_LIB}) ++ string(REGEX REPLACE "libX11" "libfontenc" X11_Fontenc_LIB ${X11_X11_LIB}) + else() + include_directories(${CMAKE_CURRENT_BINARY_DIR}/X_include) + set(X11_Xau_LIB Xau) diff --git a/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.1.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.1.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5b532a99e9f --- /dev/null +++ b/easybuild/easyconfigs/t/TurboVNC/TurboVNC-3.1.2-GCCcore-13.3.0.eb @@ -0,0 +1,63 @@ +easyblock = 'CMakeMake' + +name = 'TurboVNC' +version = '3.1.2' + +homepage = 'https://www.turbovnc.org' +description = """TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide + peak performance for 3D and video workloads.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(name)s/%(namelower)s/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + '98629cd2b676df5d30df51c69edd97cf99b395c3080cc55e2f997ac33a7d40de', # 3.0.1.tar.gz +] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), +] + +dependencies = [ + ('Java', '21.0.2', '', SYSTEM), + ('X11', '20240607'), + ('pixman', '0.43.4'), + ('libjpeg-turbo', '3.0.1'), + ('Mesa', '24.1.3'), + ('libGLU', '9.0.3'), + ('libglvnd', '1.7.0'), + ('OpenSSL', '3', '', SYSTEM), +] + +osdependencies = [('pam-devel', 'libpam0g-dev')] + +configopts = "-DTVNC_BUILDJAVA=0 -DTVNC_SYSTEMX11=1 " +configopts += "-DX11_X11_LIB=$EBROOTX11/lib/libX11.%s " % SHLIB_EXT +configopts += "-DX11_Xau_LIB=$EBROOTX11/lib/libXau.%s " % SHLIB_EXT +configopts += "-DX11_SM_LIB=$EBROOTX11/lib/libSM.%s " % SHLIB_EXT +configopts += "-DX11_ICE_LIB=$EBROOTX11/lib/libICE.%s " % SHLIB_EXT +configopts += "-DX11_Pixman_LIB=$EBROOTPIXMAN/lib/libpixman-1.%s.0 " % SHLIB_EXT +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_egl_LIBRARY=$EBROOTLIBGLVND/lib/libEGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_opengl_LIBRARY=$EBROOTLIBGLVND/lib/libOpenGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_glx_LIBRARY=$EBROOTLIBGLVND/lib/libGLX.%s " % SHLIB_EXT + +# if installdir starts with /opt, i.e. /opt/xxx, CMake will set SYSCONFDIR to /etc/opt/xxx instead of /opt/xxx/etc +# https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html +# the solution is to define CMAKE_INSTALL_SYSCONFDIR explicitly +configopts += "-DCMAKE_INSTALL_SYSCONFDIR=%(installdir)s/etc " + +# remove etc/turbovncserver-security.conf, to avoid errors like: +# (EE) Fatal server error: +# (EE) ERROR: .../TurboVNC/2.2.3-GCCcore-8.2.0/etc/turbovncserver-security.conf must be owned by you or by root +postinstallcmds = ['rm -rf %(installdir)s/etc/turbovncserver-security.conf'] + +sanity_check_paths = { + 'files': ['bin/vncserver', 'bin/vncpasswd', 'bin/Xvnc'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..880e2f47538 --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,58 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'CMakePythonPackage' + +name = 't-SNE-CUDA' +version = '3.0.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/CannyLab/tsne-cuda' +description = "GPU Accelerated t-SNE for CUDA with Python bindings" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/CannyLab/tsne-cuda/archive'] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-3.0.1_use-external-cxxopts.patch', + '%(name)s-3.0.1_avoid-overriding-cuda-compute-capabilities.patch', +] +checksums = [ + {'3.0.1.tar.gz': '0f778247191f483df22dc4dbed792c9a6a9152ee7404329c4d9da3fd9a8774d6'}, + {'t-SNE-CUDA-3.0.1_use-external-cxxopts.patch': 'be278f6a122ac12b02e05faffd53f3bce3e58b1d6b40af5e6af6b4182c6a25f1'}, + {'t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch': + '09a1ac23c8ca485478fdfccacfe7b04a5608530f3da33892f64c76064a834722'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('googletest', '1.13.0'), + ('cxxopts', '3.0.0', '', SYSTEM), +] + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('Faiss', '1.7.4', versionsuffix), + ('gflags', '2.2.2'), +] + +_copts = [ + '-DBUILD_PYTHON=ON', + '-DWITH_ZMQ=FALSE', + '-DWITH_MKL=OFF', + '-DCMAKE_CUDA_ARCHITECTURES="%(cuda_cc_cmake)s"', +] + +configopts = ' '.join(_copts) + +install_cmd = ('cd %(builddir)s/easybuild_obj/python &&' + ' python -m pip install --prefix=%(installdir)s --no-build-isolation .') + +options = {'modulename': 'tsnecuda'} + +sanity_check_paths = { + 'files': ['lib/python%%(pyshortver)s/site-packages/tsnecuda/libtsnecuda.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch new file mode 100644 index 00000000000..b8586bf9c6e --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_avoid-overriding-cuda-compute-capabilities.patch @@ -0,0 +1,109 @@ +Avoid overriding CUDA_ARCH if CMAKE_CUDA_ARCHITECTURES is non-empty +diff -Nru tsne-cuda-3.0.1.orig/CMakeLists.txt tsne-cuda-3.0.1/CMakeLists.txt +--- tsne-cuda-3.0.1.orig/CMakeLists.txt 2024-01-18 17:31:58.841767793 +0000 ++++ tsne-cuda-3.0.1/CMakeLists.txt 2024-01-18 18:17:35.153863840 +0000 +@@ -58,55 +58,56 @@ + set(CMAKE_CUDA_STANDARD_REQUIRED ON) + endif() + +-if(CUDAToolkit_VERSION_MAJOR EQUAL "10") +- set(CUDA_ARCH +- -gencode=arch=compute_30,code=sm_30 +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- ) +-elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11" AND CUDAToolkit_VERSION_MINOR LESS "1") +- set(CUDA_ARCH +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- -gencode=arch=compute_80,code=sm_80 +- ) +-elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11") +- set(CUDA_ARCH +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 +- -gencode=arch=compute_70,code=sm_70 +- -gencode=arch=compute_75,code=sm_75 +- -gencode=arch=compute_80,code=sm_80 +- -gencode=arch=compute_86,code=sm_86 +- ) +-else() +- set(CUDA_ARCH +- -gencode=arch=compute_30,code=sm_30 +- -gencode=arch=compute_35,code=sm_35 +- -gencode=arch=compute_37,code=sm_37 +- -gencode=arch=compute_50,code=sm_50 +- -gencode=arch=compute_52,code=sm_52 +- -gencode=arch=compute_60,code=sm_60 +- -gencode=arch=compute_61,code=sm_61 ++if("${CMAKE_CUDA_ARCHITECTURES}" STREQUAL "") ++ if(CUDAToolkit_VERSION_MAJOR EQUAL "10") ++ set(CUDA_ARCH ++ -gencode=arch=compute_30,code=sm_30 ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 + ) +-endif() +- ++ elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11" AND CUDAToolkit_VERSION_MINOR LESS "1") ++ set(CUDA_ARCH ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 ++ -gencode=arch=compute_80,code=sm_80 ++ ) ++ elseif(CUDAToolkit_VERSION_MAJOR EQUAL "11") ++ set(CUDA_ARCH ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ -gencode=arch=compute_70,code=sm_70 ++ -gencode=arch=compute_75,code=sm_75 ++ -gencode=arch=compute_80,code=sm_80 ++ -gencode=arch=compute_86,code=sm_86 ++ ) ++ else() ++ set(CUDA_ARCH ++ -gencode=arch=compute_30,code=sm_30 ++ -gencode=arch=compute_35,code=sm_35 ++ -gencode=arch=compute_37,code=sm_37 ++ -gencode=arch=compute_50,code=sm_50 ++ -gencode=arch=compute_52,code=sm_52 ++ -gencode=arch=compute_60,code=sm_60 ++ -gencode=arch=compute_61,code=sm_61 ++ ) ++ endif() ++endif() + + set(CUDA_OPTS + -O3 diff --git a/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch new file mode 100644 index 00000000000..d5d2e37012a --- /dev/null +++ b/easybuild/easyconfigs/t/t-SNE-CUDA/t-SNE-CUDA-3.0.1_use-external-cxxopts.patch @@ -0,0 +1,27 @@ +Update CMakeLists.txt to use an external cxxopts +diff -Nru tsne-cuda-3.0.1.orig/CMakeLists.txt tsne-cuda-3.0.1/CMakeLists.txt +--- tsne-cuda-3.0.1.orig/CMakeLists.txt 2024-01-18 17:31:58.841767793 +0000 ++++ tsne-cuda-3.0.1/CMakeLists.txt 2024-01-18 17:34:46.095207526 +0000 +@@ -157,6 +157,14 @@ + endif() + include_directories(${FAISS_INCLUDE_DIR}) + ++# CXXOPTS Configuration ++#------------------------------------------------------------------------------- ++find_package(CXXOPTS REQUIRED) ++if(NOT ${CXXOPTS_FOUND}) ++ message("-- CXXOPTS not installed. PLease install CXXOPTS.") ++endif() ++include_directories(${CXXOPTS_INCLUDE_DIR}) ++ + # Project Setup + #------------------------------------------------------------------------------- + include_directories( +@@ -164,7 +172,6 @@ + src/include + ${CUDA_INCLUDE_DIRS} + third_party/ +- third_party/cxxopts/include/ + ${ZMQ_INCLUDE_DIR} + ) + link_directories( diff --git a/easybuild/easyconfigs/t/tMAE/tMAE-1.0.1-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/t/tMAE/tMAE-1.0.1-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..e7299ddb76a --- /dev/null +++ b/easybuild/easyconfigs/t/tMAE/tMAE-1.0.1-foss-2021b-R-4.1.2.eb @@ -0,0 +1,39 @@ +easyblock = 'RPackage' + +name = 'tMAE' +version = '1.0.1' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/mumichae/tMAE' +description = """ +Package containing functions to: + + perform a negative binomial test on allele-specific counts + add gnomAD minor allele frequencies + MAplot (FC vs total counts) of allele-specific counts and results + allelic counts (ALT vs REF)""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('R', '4.1.2'), + ('R-bundle-Bioconductor', '3.14', '-R-%(rver)s'), +] + +github_account = 'mumichae' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + 'tMAE_1.0.1_remove_early_closing_brace.patch' +] +checksums = [ + 'b75b51b05b31995de4b7095b2329a72f002e1ac43ee20e1e975482e05b163a6d', # 1.0.1.tar.gz + '67a178143bb44554a0a8e603f71944878a13d5bbb67e33c410826cbcdef461f7', # tMAE_1.0.1_remove_early_closing_brace.patch +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tMAE/tMAE_1.0.1_remove_early_closing_brace.patch b/easybuild/easyconfigs/t/tMAE/tMAE_1.0.1_remove_early_closing_brace.patch new file mode 100644 index 00000000000..a20d9175328 --- /dev/null +++ b/easybuild/easyconfigs/t/tMAE/tMAE_1.0.1_remove_early_closing_brace.patch @@ -0,0 +1,23 @@ +Related PR: https://github.com/mumichae/tMAE/pull/4 + +From 3ec5741eb741cfc5222d624baa7388b991bbdfee Mon Sep 17 00:00:00 2001 +From: Christoph Siegert +Date: Thu, 27 Jan 2022 16:34:49 +0100 +Subject: [PATCH] fix syntax error due to additional curly brace + +--- + R/add_gnomAD_AF.R | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/R/add_gnomAD_AF.R b/R/add_gnomAD_AF.R +index 4e48ef3..72ea932 100644 +--- a/R/add_gnomAD_AF.R ++++ b/R/add_gnomAD_AF.R +@@ -57,7 +57,6 @@ add_gnomAD_AF <- function(data, + # Compute the MAX_AF (why do we change col names?) + if(any(c("AF", "AF_popmax") %in% colnames(res))){ + res$MAX_AF <- apply(res[, ..populations], 1, max, na.rm = T) +- } + + # Replace Inf with NA + res[is.infinite(MAX_AF), MAX_AF := NA] diff --git a/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb new file mode 100644 index 00000000000..8260f1d0d1f --- /dev/null +++ b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-GCC-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'ConfigureMake' + +name = 'tRNAscan-SE' +version = '2.0.12' + +homepage = 'https://github.com/UCSC-LoweLab/tRNAscan-SE' +description = "A program for detection of tRNA genes" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/UCSC-LoweLab/tRNAscan-SE/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4b255c2c5e0255381194166f857ab2ea21c55aa7de409e201333ba615aa3dc61'] + +dependencies = [ + ('Perl', '5.34.0'), +] + +fix_perl_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/covels-SE', 'bin/tRNAscan-SE'], + 'dirs': ['include', 'lib/tRNAscan-SE'], +} + +sanity_check_commands = ["tRNAscan-SE --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2022b.eb b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2022b.eb new file mode 100644 index 00000000000..821e3e3f3f7 --- /dev/null +++ b/easybuild/easyconfigs/t/tRNAscan-SE/tRNAscan-SE-2.0.12-foss-2022b.eb @@ -0,0 +1,42 @@ +easyblock = 'ConfigureMake' + +name = 'tRNAscan-SE' +version = '2.0.12' + +homepage = 'http://trna.ucsc.edu/tRNAscan-SE/' +description = """tRNAscan-SE is the most widely employed tool for identifying + and annotating tRNA genes in genomes.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['http://trna.ucsc.edu/software/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['96fa4af507cd918c1c623763d9260bd6ed055d091662b44314426f6bbf447251'] + +builddependencies = [ + # tRNAscan-SE's configure script really wants Autoconf 2.69 + ('Autoconf', '2.69', '', SYSTEM), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('Infernal', '1.1.4'), +] + +parallel = 1 + +# tRNAscan-SE.conf sets the Infernal bin directory to be ours. +postinstallcmds = [ + "for b in $(ls $EBROOTINFERNAL/bin); do ln -s $EBROOTINFERNAL/bin/$b %(installdir)s/bin; done", +] + +fix_perl_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': ['bin/tRNAscan-SE', 'lib/tRNAscan-SE/tRNAscanSE/tRNA.pm'], + 'dirs': ['include'], +} + +sanity_check_commands = ["tRNAscan-SE --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..442eed6ab0c --- /dev/null +++ b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.2.0.eb @@ -0,0 +1,45 @@ +# 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 +# Author: Jens Timmerman, Ghent University +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# updated to newer toolchain + +easyblock = 'MakeCp' + +name = 'tabix' +version = '0.2.6' + +homepage = 'http://samtools.sourceforge.net' +description = """ Generic indexer for TAB-delimited genome position files """ + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [('https://sourceforge.net/projects/samtools/files/', 'download')] +sources = [SOURCE_TAR_BZ2] +checksums = ['e4066be7101bae83bec62bc2bc6917013f6c2875b66eb5055fbb013488d68b73'] + +builddependencies = [('binutils', '2.35')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' + +files_to_copy = [ + (["tabix", "bgzip", "tabix.py"], "bin"), + (["tabix.1"], "man/man1"), + "example.gtf.gz", + "example.gtf.gz.tbi", + "NEWS", + "ChangeLog" +] + +sanity_check_paths = { + 'files': ["bin/tabix", "bin/bgzip", "bin/tabix.py"], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ab99f4cfb23 --- /dev/null +++ b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +# 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 +# Author: Jens Timmerman, Ghent University +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# updated to newer toolchain + +easyblock = 'MakeCp' + +name = 'tabix' +version = '0.2.6' + +homepage = 'http://samtools.sourceforge.net' +description = """ Generic indexer for TAB-delimited genome position files """ + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [('https://sourceforge.net/projects/samtools/files/', 'download')] +sources = [SOURCE_TAR_BZ2] +checksums = ['e4066be7101bae83bec62bc2bc6917013f6c2875b66eb5055fbb013488d68b73'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' + +files_to_copy = [ + (["tabix", "bgzip", "tabix.py"], "bin"), + (["tabix.1"], "man/man1"), + "example.gtf.gz", + "example.gtf.gz.tbi", + "NEWS", + "ChangeLog" +] + +sanity_check_paths = { + 'files': ["bin/tabix", "bin/bgzip", "bin/tabix.py"], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3ab83eb29a2 --- /dev/null +++ b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +# 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 +# Author: Jens Timmerman, Ghent University +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# updated to newer toolchain + +easyblock = 'MakeCp' + +name = 'tabix' +version = '0.2.6' + +homepage = 'http://samtools.sourceforge.net' +description = """ Generic indexer for TAB-delimited genome position files """ + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [('https://sourceforge.net/projects/samtools/files/', 'download')] +sources = [SOURCE_TAR_BZ2] +checksums = ['e4066be7101bae83bec62bc2bc6917013f6c2875b66eb5055fbb013488d68b73'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' + +files_to_copy = [ + (["tabix", "bgzip", "tabix.py"], "bin"), + (["tabix.1"], "man/man1"), + (["libtabix.a"], "lib64"), + (["*.h"], "include"), + "example.gtf.gz", + "example.gtf.gz.tbi", + "NEWS", + "ChangeLog" +] + +sanity_check_paths = { + 'files': ["bin/tabix", "bin/bgzip", "bin/tabix.py", "lib/libtabix.a"], + 'dirs': ["include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7b219ea3fbc --- /dev/null +++ b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +# 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 +# Author: Jens Timmerman, Ghent University +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# updated to newer toolchain + +easyblock = 'MakeCp' + +name = 'tabix' +version = '0.2.6' + +homepage = 'https://samtools.sourceforge.net' +description = """ Generic indexer for TAB-delimited genome position files """ + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [('https://sourceforge.net/projects/samtools/files/', 'download')] +sources = [SOURCE_TAR_BZ2] +checksums = ['e4066be7101bae83bec62bc2bc6917013f6c2875b66eb5055fbb013488d68b73'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('zlib', '1.2.12')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' + +files_to_copy = [ + (["tabix", "bgzip", "tabix.py"], "bin"), + (["tabix.1"], "man/man1"), + (["libtabix.a"], "lib64"), + (["*.h"], "include"), + "example.gtf.gz", + "example.gtf.gz.tbi", + "NEWS", + "ChangeLog" +] + +sanity_check_paths = { + 'files': ["bin/tabix", "bin/bgzip", "bin/tabix.py", "lib/libtabix.a"], + 'dirs': ["include"], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-8.3.0.eb b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..7ac739b5ddd --- /dev/null +++ b/easybuild/easyconfigs/t/tabix/tabix-0.2.6-GCCcore-8.3.0.eb @@ -0,0 +1,45 @@ +# 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 +# Author: Jens Timmerman, Ghent University +# Contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen +# updated to newer toolchain + +easyblock = 'MakeCp' + +name = 'tabix' +version = '0.2.6' + +homepage = 'http://samtools.sourceforge.net' +description = """ Generic indexer for TAB-delimited genome position files """ + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} + +source_urls = [('https://sourceforge.net/projects/samtools/files/', 'download')] +sources = [SOURCE_TAR_BZ2] +checksums = ['e4066be7101bae83bec62bc2bc6917013f6c2875b66eb5055fbb013488d68b73'] + +builddependencies = [('binutils', '2.32')] + +dependencies = [('zlib', '1.2.11')] + +buildopts = 'CC="$CC" CFLAGS="$CFLAGS -L$EBROOTZLIB/lib"' + +files_to_copy = [ + (["tabix", "bgzip", "tabix.py"], "bin"), + (["tabix.1"], "man/man1"), + "example.gtf.gz", + "example.gtf.gz.tbi", + "NEWS", + "ChangeLog" +] + +sanity_check_paths = { + 'files': ["bin/tabix", "bin/bgzip", "bin/tabix.py"], + 'dirs': [""], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.0-GCC-10.3.0.eb b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.0-GCC-10.3.0.eb new file mode 100644 index 00000000000..dfdca661195 --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.0-GCC-10.3.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'tabixpp' +version = '1.1.0' + +homepage = 'https://github.com/ekg/tabixpp' +description = """C++ wrapper to tabix indexer""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-1.1.0_use-external-HTSlib.patch'] +checksums = [ + '56c8f1b07190aba5e1d0b738e380e726d380f0ad8b2d0df133200b0ab1f8ed88', # v1.1.0.tar.gz + '65496b6e042cf54290386a33cf0de26cb1160b3ddb35216765999d790b99cab4', # tabixpp-1.1.0_use-external-HTSlib.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('HTSlib', '1.12'), + ('PCRE', '8.44'), +] + +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/tabixpp/tabixpp-1.1.0-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..b3fd1fd3d75 --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.0-GCC-11.2.0.eb @@ -0,0 +1,39 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'ConfigureMake' + +name = 'tabixpp' +version = '1.1.0' + +homepage = 'https://github.com/ekg/tabixpp' +description = """C++ wrapper to tabix indexer""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'ekg' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_use-external-HTSlib.patch'] +checksums = [ + '56c8f1b07190aba5e1d0b738e380e726d380f0ad8b2d0df133200b0ab1f8ed88', # v1.1.0.tar.gz + '65496b6e042cf54290386a33cf0de26cb1160b3ddb35216765999d790b99cab4', # tabixpp-1.1.0_use-external-HTSlib.patch +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('HTSlib', '1.14'), + ('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/tabixpp/tabixpp-1.1.2-GCC-11.3.0.eb b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-11.3.0.eb new file mode 100644 index 00000000000..ae5c8ea0258 --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-11.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': '11.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.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.5'), + ('HTSlib', '1.15.1'), + ('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/tabixpp/tabixpp-1.1.2-GCC-12.2.0.eb b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-12.2.0.eb new file mode 100644 index 00000000000..452f3caa3fa --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2-GCC-12.2.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.2.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.12'), + ('bzip2', '1.0.8'), + ('XZ', '5.2.7'), + ('HTSlib', '1.17'), + ('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/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/tabixpp/tabixpp-1.1.2_use-external-HTSlib.patch b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2_use-external-HTSlib.patch new file mode 100644 index 00000000000..e83f26f794f --- /dev/null +++ b/easybuild/easyconfigs/t/tabixpp/tabixpp-1.1.2_use-external-HTSlib.patch @@ -0,0 +1,110 @@ +# Patch to use an existing HTSlib rather than the one shipped with tabixpp, and +# build static and dynamic libaries. Based on the PR by outpaddling: +# https://github.com/ekg/tabixpp/pull/10 +# Updated: Petr Král (INUITS) + +diff -u tabixpp-1.1.2/Makefile.orig tabixpp-1.1.2/Makefile +--- tabixpp-1.1.2/Makefile.orig 2023-01-19 09:01:25.000000000 +0100 ++++ tabixpp-1.1.2/Makefile 2023-07-12 11:55:07.513635497 +0200 +@@ -10,74 +10,57 @@ + CC ?= cc + CXX ?= c++ + CXXFLAGS ?= -g -Wall -O2 #-m64 #-arch ppc +-CXXFLAGS += -fPIC +-INCLUDES ?= -Ihtslib +-HTS_HEADERS ?= htslib/htslib/bgzf.h htslib/htslib/tbx.h +-HTS_LIB ?= htslib/libhts.a +-LIBPATH ?= -L. -Lhtslib ++CPPFLAGS ?= -Ihtslib ++LDLIBS ?= -lhts -llzma -lbz2 -lz -lpthread -lm + +-DESTDIR ?= stage + PREFIX ?= /usr/local + STRIP ?= strip + INSTALL ?= install -c + MKDIR ?= mkdir -p + AR ?= ar ++ARFLAGS ?= rs + + DFLAGS = -D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE + BIN = tabix++ +-LIB = libtabix.a ++LIB = libtabixpp.a + SOVERSION = 1 +-SLIB = libtabix.so.$(SOVERSION) ++SLIB = libtabixpp.so + OBJS = tabix.o +-SUBDIRS = . + +-.SUFFIXES:.c .o ++LIBDIR = $(DESTDIR)$(PREFIX)/lib ++BINDIR = $(DESTDIR)$(PREFIX)/bin ++INCDIR = $(DESTDIR)$(PREFIX)/include/tabixpp + +-.c.o: +- $(CC) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ ++.SUFFIXES:.cpp .o .pico .so + +-all-recur lib-recur clean-recur cleanlocal-recur install-recur: +- @target=`echo $@ | sed s/-recur//`; \ +- wdir=`pwd`; \ +- list='$(SUBDIRS)'; for subdir in $$list; do \ +- cd $$subdir; \ +- $(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CXXFLAGS="$(CXXFLAGS)" \ +- INCLUDES="$(INCLUDES)" LIBPATH="$(LIBPATH)" $$target \ +- || exit 1; \ +- cd $$wdir; \ +- done; ++.cpp.o: ++ $(CXX) $(CXXFLAGS) $(DFLAGS) -I. $(CPPFLAGS) -c -o $@ $< + +-all: $(BIN) $(LIB) $(SLIB) ++.cpp.pico: ++ $(CXX) $(CXXFLAGS) $(DFLAGS) -I. $(CPPFLAGS) -fPIC -c -o $@ $< + +-tabix.o: $(HTS_HEADERS) tabix.cpp tabix.hpp +- $(CXX) $(CXXFLAGS) -c tabix.cpp $(INCLUDES) +- +-htslib/libhts.a: +- cd htslib && $(MAKE) lib-static ++all: $(BIN) $(SLIB) $(LIB) + + $(LIB): $(OBJS) +- $(AR) rs $(LIB) $(OBJS) +- +-$(SLIB): $(OBJS) +- $(CXX) -shared -Wl,-soname,$(SLIB) -o $(SLIB) $(OBJS) ++ $(AR) $(ARFLAGS) $@ $^ + +-tabix++: $(OBJS) main.cpp $(HTS_LIB) +- $(CXX) $(CXXFLAGS) -o $@ main.cpp $(OBJS) $(INCLUDES) $(LIBPATH) \ +- -lhts -lpthread -lm -lz -lcurl -llzma -lbz2 ++$(SLIB): $(OBJS:.o=.pico) ++ $(CXX) -shared -Wl,-soname,$(SLIB).$(SOVERSION) $(LDFLAGS) -o $@ $^ $(LDLIBS) ++ ln -sf $@ $(SLIB).$(SOVERSION) + +-test: all +- ./tabix++ test/vcf_file.vcf.gz ++$(BIN): $(OBJS) main.cpp ++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ main.cpp $(OBJS) $(LDLIBS) + + install: all +- $(MKDIR) $(DESTDIR)$(PREFIX)/bin +- $(MKDIR) $(DESTDIR)$(PREFIX)/include +- $(MKDIR) $(DESTDIR)$(PREFIX)/lib +- $(INSTALL) $(BIN) $(DESTDIR)$(PREFIX)/bin +- $(INSTALL) *.hpp $(DESTDIR)$(PREFIX)/include +- $(INSTALL) $(LIB) $(SLIB) $(DESTDIR)$(PREFIX)/lib ++ $(MKDIR) $(BINDIR) ++ $(MKDIR) $(LIBDIR) ++ $(MKDIR) $(INCDIR) ++ $(INSTALL) $(BIN) $(BINDIR) ++ $(INSTALL) *.hpp $(INCDIR) ++ $(INSTALL) $(LIB) $(SLIB) $(SLIB).$(SOVERSION) $(LIBDIR) + + install-strip: install +- $(STRIP) $(DESTDIR)$(PREFIX)/bin/$(BIN) $(DESTDIR)$(PREFIX)/lib/$(SLIB) ++ $(STRIP) $(BINDIR)/$(BIN) $(LIBDIR)/$(LIB) + + cleanlocal: + rm -rf $(BIN) $(LIB) $(SLIB) $(OBJS) $(DESTDIR) diff --git a/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb new file mode 100644 index 00000000000..b6064225cd3 --- /dev/null +++ b/easybuild/easyconfigs/t/tantan/tantan-40-GCC-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'tantan' +version = '40' + +homepage = 'https://gitlab.com/mcfrith/tantan' +description = "tantan identifies simple regions / low complexity / tandem repeats in DNA or protein sequences" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://gitlab.com/mcfrith/tantan/-/archive/%(version)s/'] +sources = ['tantan-%(version)s.tar.gz'] +checksums = ['61303c88cdf41fa5bcb5f77f674b4fac2a9bc0e4c9abb3b9d75af35c47162240'] + +skipsteps = ['configure'] + +installopts = "prefix=%(installdir)s" + +sanity_check_paths = { + 'files': ['bin/tantan'], + 'dirs': [], +} + +sanity_check_commands = ["tantan --help"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..89e79d4d650 --- /dev/null +++ b/easybuild/easyconfigs/t/task-spooler/task-spooler-1.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'task-spooler' +version = '1.0.2' + +homepage = 'http://viric.name/soft/ts/' +description = 'task spooler is a Unix batch system where the tasks spooled run one after the other.' + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [homepage] +sources = ['ts-%(version)s.tar.gz'] +checksums = ['f73452aed80e2f9a7764883e9353aa7f40e65d3c199ad1f3be60fd58b58eafec'] + +builddependencies = [('binutils', '2.38')] + +skipsteps = ['configure'] +installopts = 'PREFIX=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/ts'], + 'dirs': [] +} + +sanity_check_commands = ["ts -h"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..2519951c3f4 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.1-GCCcore-12.3.0.eb @@ -0,0 +1,18 @@ +name = 'tbb' +version = '2020.1' + +homepage = 'https://01.org/tbb/' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7c96a150ed22bc3c6628bc3fef9ed475c00887b26d37bca61518d76a56510971'] + +builddependencies = [ + ('binutils', '2.40') +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.2.0.eb index 3b9ad904fe3..ee01f366853 100644 --- a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.2.0.eb @@ -12,7 +12,8 @@ sources = ['v%(version)s.tar.gz'] checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] builddependencies = [ - ('binutils', '2.35') + ('binutils', '2.35'), + ('CMake', '3.18.4'), ] moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..e3bd3190a24 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +name = 'tbb' +version = '2020.3' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('SWIG', '4.0.2'), +] +dependencies = [ + ('Python', '3.9.5'), +] + +prebuildopts = "sed -i 's/install -f/--inplace/' python/Makefile && " + +with_python = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..61f78dd0c29 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-11.2.0.eb @@ -0,0 +1,19 @@ +name = 'tbb' +version = '2020.3' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..01112f9169c --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2020.3-GCCcore-12.3.0.eb @@ -0,0 +1,19 @@ +name = 'tbb' +version = '2020.3' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['ebc4f6aa47972daed1f7bf71d100ae5bf6931c2e3144cf299c8cc7d041dca2f3'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.10.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.10.0-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..440038e0c83 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.10.0-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.10.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_null-address.patch'] +checksums = [ + {'v2021.10.0.tar.gz': '487023a955e5a3cc6d3a0d5f89179f9b6c0ae7222613a7185b0227ba0c83700b'}, + {'tbb-2021.10.0_null-address.patch': '9deb243eb9d9d86f37f5e1e919cf8ff440c8b9be9c00ec14fddc437e433f0d1c'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [('hwloc', '2.8.0')] + +# https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035 +configopts = '-DCMAKE_CXX_FLAGS="-Wno-error=stringop-overflow $CMAKE_CXX_FLAGS"' + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.10.0_null-address.patch b/easybuild/easyconfigs/t/tbb/tbb-2021.10.0_null-address.patch new file mode 100755 index 00000000000..bca22750292 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.10.0_null-address.patch @@ -0,0 +1,27 @@ +From c61f113e6c6904a1ce6b2f53805c84dc8a2ab5ef Mon Sep 17 00:00:00 2001 +From: cunshunxia +Date: Thu, 24 Aug 2023 02:08:50 +0000 +Subject: [PATCH] fix compiler error of address will never be NULL + +--- + test/common/doctest.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/test/common/doctest.h b/test/common/doctest.h +index 8714c5b260..413a5b3fe6 100644 +--- a/test/common/doctest.h ++++ b/test/common/doctest.h +@@ -1555,10 +1555,13 @@ DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison") + , m_at(at) {} + + DOCTEST_NOINLINE operator Result() { ++// TODO: upstream the change to doctest : Work-around for the warning: 'address will never be NULL' ++DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Waddress") + // this is needed only for MSVC 2015 + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4800) // 'int': forcing value to bool + bool res = static_cast(lhs); + DOCTEST_MSVC_SUPPRESS_WARNING_POP ++DOCTEST_GCC_SUPPRESS_WARNING_POP + if(m_at & assertType::is_false) { //!OCLINT bitwise operator in conditional + res = !res; + } diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.11.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.11.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5b1b8e4f707 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.11.0-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.11.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +# The following option is needed to supress the "stringop-overflow error". +# See https://github.com/oneapi-src/oneTBB/issues/1180#issuecomment-1690958371 for details. +toolchainopts = {'extra_cxxflags': '-Wno-error=stringop-overflow'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['782ce0cab62df9ea125cdea253a50534862b563f1d85d4cda7ad4e77550ac363'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [('hwloc', '2.9.1')] + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.13.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.13.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..15af40d5548 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.13.0-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.13.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +# The following option is needed to supress the "stringop-overflow error". +# See https://github.com/oneapi-src/oneTBB/issues/1180#issuecomment-1690958371 for details. +toolchainopts = {'extra_cxxflags': '-Wno-error=stringop-overflow'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3ad5dd08954b39d113dc5b3f8a8dc6dc1fd5250032b7c491eb07aed5c94133e1'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +dependencies = [('hwloc', '2.9.2')] + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.4.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.4.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..1fa7d8fd183 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.4.0-GCCcore-11.2.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.4.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['021796c7845e155e616f5ecda16daa606ebb4c6f90b996e5c08aebab7a8d3de3'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +dependencies = [('hwloc', '2.5.0')] + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.5.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.5.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7166912c1c6 --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.5.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.5.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e5b57537c741400cf6134b428fc1689a649d7d38d9bb9c1b6d64f092ea28178a'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [('hwloc', '2.7.1')] + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d0173aab4ea --- /dev/null +++ b/easybuild/easyconfigs/t/tbb/tbb-2021.9.0-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'CMakeMake' + +name = 'tbb' +version = '2021.9.0' + +homepage = 'https://github.com/oneapi-src/oneTBB' +description = """Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that + take full advantage of multicore performance, that are portable, composable and have future-proof scalability.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/oneapi-src/oneTBB/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [('hwloc', '2.8.0')] + +# use -Wno-error as workaround for compiler error when building the tests +preconfigopts = 'export CXXFLAGS="$CXXFLAGS -Wno-stringop-overflow" && ' + +sanity_check_paths = { + 'files': ['lib/libtbb.%s' % SHLIB_EXT, 'lib/libtbbmalloc.%s' % SHLIB_EXT], + 'dirs': ['lib', 'include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb new file mode 100644 index 00000000000..c1d2f495db6 --- /dev/null +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20220427-linux64.eb @@ -0,0 +1,56 @@ +# 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 +# revised by Ariel Lozano + +easyblock = 'Bundle' + +name = 'tbl2asn' +version = '20220427' +versionsuffix = '-linux64' + +homepage = 'https://www.ncbi.nlm.nih.gov/genbank/tbl2asn2/' +description = """Tbl2asn is a command-line program that automates the creation of + 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. + +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', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +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 new file mode 100644 index 00000000000..71b750650ba --- /dev/null +++ b/easybuild/easyconfigs/t/tbl2asn/tbl2asn-20230713-linux64.eb @@ -0,0 +1,56 @@ +# 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 +# revised by Ariel Lozano + +easyblock = 'Bundle' + +name = 'tbl2asn' +version = '20230713' +versionsuffix = '-linux64' + +homepage = 'https://www.ncbi.nlm.nih.gov/genbank/tbl2asn2/' +description = """Tbl2asn is a command-line program that automates the creation of + 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. + +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', 'bin/idn', 'lib/libidn.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = ['tbl2asn --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.20.00-GCCcore-6.4.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.20.00-GCCcore-6.4.0.eb index fcc5a44425a..5586784fcf2 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.20.00-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.20.00-GCCcore-6.4.0.eb @@ -30,7 +30,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.28', '', True)] +builddependencies = [('binutils', '2.28', '', SYSTEM)] dependencies = [('ncurses', '6.0')] diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.2.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.2.0.eb index 0a18f40c2bb..7aa3bc8924e 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.2.0.eb @@ -35,8 +35,10 @@ builddependencies = [('binutils', '2.31.1')] dependencies = [('ncurses', '6.1')] +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + sanity_check_paths = { - 'files': ["bin/tcsh"], + 'files': ["bin/tcsh", "bin/csh"], 'dirs': [] } diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.3.0.eb index 5703fe5fafb..4e746222f4a 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-8.3.0.eb @@ -35,8 +35,10 @@ builddependencies = [('binutils', '2.32')] dependencies = [('ncurses', '6.1')] +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + sanity_check_paths = { - 'files': ["bin/tcsh"], + 'files': ["bin/tcsh", "bin/csh"], 'dirs': [] } diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-9.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-9.3.0.eb index 6c460841c0a..73e0100cebf 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.02-GCCcore-9.3.0.eb @@ -35,8 +35,10 @@ builddependencies = [('binutils', '2.34')] dependencies = [('ncurses', '6.2')] +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + sanity_check_paths = { - 'files': ["bin/tcsh"], + 'files': ["bin/tcsh", "bin/csh"], 'dirs': [] } diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.03-GCCcore-10.2.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.03-GCCcore-10.2.0.eb index 46a56b3bba5..b317cef4987 100644 --- a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.03-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.03-GCCcore-10.2.0.eb @@ -35,8 +35,10 @@ builddependencies = [('binutils', '2.35')] dependencies = [('ncurses', '6.2')] +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + sanity_check_paths = { - 'files': ["bin/tcsh"], + 'files': ["bin/tcsh", "bin/csh"], 'dirs': [] } diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.22.04-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.04-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8d927d3b7c3 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.22.04-GCCcore-10.3.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# 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_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.22.04' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['eb16356243218c32f39e07258d72bf8b21e62ce94bb0e8a95e318b151397e231'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('ncurses', '6.2')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..36da7b42991 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.2.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# 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_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.01' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5659a1b973b1f947e36238cb17a00210ac4cff3b496f8f851acd77172ab91d7e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('ncurses', '6.2')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..27ca241e481 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.01-GCCcore-11.3.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# 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_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.01' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['5659a1b973b1f947e36238cb17a00210ac4cff3b496f8f851acd77172ab91d7e'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('ncurses', '6.3')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f2a441e8129 --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb @@ -0,0 +1,45 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# 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_05-06.html +## +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.07' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['74e4e9805cbd9413ed34b4ffa1d72fc8d0ef81a5b79476854091416ce9336995'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('ncurses', '6.3')] + +postinstallcmds = ["ln -s tcsh %(installdir)s/bin/csh"] + +sanity_check_paths = { + 'files': ["bin/tcsh", "bin/csh"], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tcsh/tcsh-6.24.10-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.10-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..40df0dc535f --- /dev/null +++ b/easybuild/easyconfigs/t/tcsh/tcsh-6.24.10-GCCcore-12.3.0.eb @@ -0,0 +1,48 @@ +# # +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2013 University of Luxembourg/Computer Science and Communications Research Unit +# Authors:: Valentin Plugaru +# 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_05-06.html +# # +easyblock = 'ConfigureMake' + +name = 'tcsh' +version = '6.24.10' + +homepage = 'https://www.tcsh.org' +description = """Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). + It is a command language interpreter usable both as an interactive login shell and a shell script command + processor. It includes a command-line editor, programmable word completion, spelling correction, a history + mechanism, job control and a C-like syntax.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [ + 'https://astron.com/pub/%(namelower)s', + 'https://astron.com/pub/%(namelower)s/old', + 'ftp://ftp.astron.com/pub/%(namelower)s', + 'ftp://ftp.astron.com/pub/%(namelower)s/old', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['13475c0fbeb74139d33ed793bf00ffbbb2ac2dc9fb1d44467a410760aba36664'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('ncurses', '6.4'), +] + +postinstallcmds = ['ln -s %(name)s %(installdir)s/bin/csh'] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'bin/csh'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tdlib/tdlib-0.9.3-GCC-13.2.0.eb b/easybuild/easyconfigs/t/tdlib/tdlib-0.9.3-GCC-13.2.0.eb new file mode 100644 index 00000000000..63408d65ee7 --- /dev/null +++ b/easybuild/easyconfigs/t/tdlib/tdlib-0.9.3-GCC-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'tdlib' +version = '0.9.3' + +homepage = 'https://github.com/freetdi/tdlib/' +description = """treedec provides tree decomposition algorithms.""" + +toolchain = {'name': 'GCC', 'version': '13.2.0'} + +source_urls = ['https://github.com/freetdi/tdlib/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d1730c98f41dcb23bbd0bd8de9dbec51df015304f28a38935848925901594ae8'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Boost', '1.83.0'), + ('Python', '3.11.5'), +] + +preconfigopts = 'autoreconf --install && ' + +sanity_check_paths = { + 'files': [ + 'include/treedec/combinations.hpp', + ], + 'dirs': [] +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10.0-foss-2022a.eb b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10.0-foss-2022a.eb new file mode 100644 index 00000000000..83fc611834b --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10.0-foss-2022a.eb @@ -0,0 +1,81 @@ +easyblock = 'PythonBundle' + +name = 'tensorboard' +version = '2.10.0' + +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': 'foss', 'version': '2022a'} + +postinstallpatches = [ + ('tensorboard-2.10_jupyterhub-support.patch', 'lib/python%(pyshortver)s/site-packages'), +] +checksums = [ + {'tensorboard-2.10_jupyterhub-support.patch': + '50a292e6ee518aecb5644595e0f3db4867be4f82e328e008e5a3f6a1f19baf87'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('protobuf-python', '3.19.4'), +] + +exts_list = [ + ('absl-py', '1.2.0', { + 'modulename': 'absl', + 'checksums': ['f568809938c49abbda89826223c992b630afd23c638160ad7840cfe347710d97'], + }), + ('cachetools', '5.2.0', { + 'checksums': ['6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.9', { + 'checksums': ['e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21'], + }), + ('google-auth', '2.11.1', { + 'modulename': 'google.auth', + 'checksums': ['516e6623038b81430dd062a1a25ecd24f173d7c15cdf4e48a9e78bc87e97aeec'], + }), + ('oauthlib', '3.2.1', { + 'checksums': ['1565237372795bf6ee3e5aba5e2a85bd5a65d0e2aa5c628b9a97b7d7a0da3721'], + }), + ('requests-oauthlib', '1.3.1', { + 'checksums': ['75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('grpcio', '1.49.1', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['d4725fc9ec8e8822906ae26bb26f5546891aa7fbc3443de970cc556d43a5c99f'], + }), + ('Markdown', '3.4.1', { + 'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('Werkzeug', '2.2.2', { + 'checksums': ['7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['76c91a5e8959cd2208cc32cb17a0cb002badabb66a06ac2af02a7810f49a59e3'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10_jupyterhub-support.patch b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10_jupyterhub-support.patch new file mode 100644 index 00000000000..211bf686256 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.10_jupyterhub-support.patch @@ -0,0 +1,103 @@ +From: qzchenwl +Date: Tue, 14 Jan 2020 15:22:27 +0800 +Subject: support jupyterhub with jupyter-server-proxy +Issue: https://github.com/tensorflow/tensorboard/pull/3142 + +--- a/tensorboard/notebook.py 2024-06-13 16:04:51.656772000 +0200 ++++ b/tensorboard/notebook.py 2024-06-13 16:06:38.749780722 +0200 +@@ -34,6 +34,7 @@ + # details). + _CONTEXT_COLAB = "_CONTEXT_COLAB" + _CONTEXT_IPYTHON = "_CONTEXT_IPYTHON" ++_CONTEXT_JUPYTERHUB = "_CONTEXT_JUPYTERHUB" + _CONTEXT_NONE = "_CONTEXT_NONE" + + +@@ -70,12 +71,31 @@ + else: + ipython = IPython.get_ipython() + if ipython is not None and ipython.has_trait("kernel"): ++ if os.environ.get("JUPYTERHUB_SERVICE_PREFIX") is not None: ++ return _CONTEXT_JUPYTERHUB + return _CONTEXT_IPYTHON + + # Otherwise, we're not in a known notebook context. + return _CONTEXT_NONE + + ++def _prefix_jupyterhub(port): ++ prefix = os.path.join( ++ os.environ["JUPYTERHUB_SERVICE_PREFIX"], "proxy/absolute" ++ ) ++ return "%s/%d/" % (prefix, port) ++ ++ ++def _patch_args_jupyterhub(parsed_args): ++ if "--port" in parsed_args: ++ arg_idx = parsed_args.index("--port") ++ port = int(parsed_args[arg_idx + 1]) ++ else: ++ port = 6006 ++ parsed_args += ["--port", str(port)] ++ return parsed_args + ["--path_prefix", _prefix_jupyterhub(port)] ++ ++ + def load_ipython_extension(ipython): + """Deprecated: use `%load_ext tensorboard` instead. + +@@ -149,6 +169,9 @@ + handle.update(IPython.display.Pretty(message)) + + parsed_args = shlex.split(args_string, comments=True, posix=True) ++ if context == _CONTEXT_JUPYTERHUB: ++ parsed_args = _patch_args_jupyterhub(parsed_args) ++ + start_result = manager.start(parsed_args) + + if isinstance(start_result, manager.StartLaunched): +@@ -305,6 +328,7 @@ + fn = { + _CONTEXT_COLAB: _display_colab, + _CONTEXT_IPYTHON: _display_ipython, ++ _CONTEXT_JUPYTERHUB: _display_jupyterhub, + _CONTEXT_NONE: _display_cli, + }[_get_context()] + return fn(port=port, height=height, display_handle=display_handle) +@@ -401,6 +425,36 @@ + for (k, v) in replacements: + shell = shell.replace(k, v) + iframe = IPython.display.HTML(shell) ++ if display_handle: ++ display_handle.update(iframe) ++ else: ++ IPython.display.display(iframe) ++ ++ ++def _display_jupyterhub(port, height, display_handle): ++ import IPython.display ++ ++ frame_id = "tensorboard-frame-{:08x}".format(random.getrandbits(64)) ++ shell = """ ++ ++ ++ """ ++ replacements = [ ++ ("%HTML_ID%", html.escape(frame_id, quote=True)), ++ ("%JSON_ID%", json.dumps(frame_id)), ++ ("%PREFIX%", _prefix_jupyterhub(port)), ++ ("%HEIGHT%", "%d" % height), ++ ] ++ for (k, v) in replacements: ++ shell = shell.replace(k, v) ++ iframe = IPython.display.HTML(shell) + if display_handle: + display_handle.update(iframe) + else: +From 5615204ba44a6b8718e58c9b4b875fef5027baaf Mon Sep 17 00:00:00 2001 diff --git a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2022b.eb b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2022b.eb new file mode 100644 index 00000000000..304e56b390f --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2022b.eb @@ -0,0 +1,90 @@ +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': '2022b'} + +postinstallpatches = [ + ('tensorboard-2.10_jupyterhub-support.patch', 'lib/python%(pyshortver)s/site-packages'), +] +checksums = [ + {'tensorboard-2.10_jupyterhub-support.patch': + '50a292e6ee518aecb5644595e0f3db4867be4f82e328e008e5a3f6a1f19baf87'}, +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('protobuf-python', '4.23.0'), + ('grpcio', '1.57.0'), +] + +use_pip = True +sanity_pip_check = True + +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'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('tensorboard_data_server', '0.7.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.15.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['84bb33e446eb4a9c0616f669fc6a42cdd40eadd9ae1d74bf756f4f0479993273'], + }), + ('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', +] + +moduleclass = 'lib' 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..ab499908831 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.15.1-gfbf-2023a.eb @@ -0,0 +1,94 @@ +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'} + +postinstallpatches = [ + ('tensorboard-2.10_jupyterhub-support.patch', 'lib/python%(pyshortver)s/site-packages'), +] +checksums = [ + {'tensorboard-2.10_jupyterhub-support.patch': + '50a292e6ee518aecb5644595e0f3db4867be4f82e328e008e5a3f6a1f19baf87'}, +] + +builddependencies = [ + ('poetry', '1.5.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('protobuf-python', '4.24.0'), + ('grpcio', '1.57.0'), +] + +use_pip = True +sanity_pip_check = True + +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'], + }), + ('Markdown', '3.5.2', { + 'checksums': ['e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8'], + }), + ('tensorboard_data_server', '0.7.2', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb'], + }), + ('gviz-api', '1.10.0', { + 'source_tmpl': 'gviz_api-%(version)s.tar.gz', + 'checksums': ['846692dd8cc73224fc31b18e41589bd934e1cc05090c6576af4b4b26c2e71b90'], + }), + ('tensorboard-plugin-profile', '2.15.1', { + 'source_tmpl': 'tensorboard_plugin_profile-%(version)s.tar.gz', + 'checksums': ['84bb33e446eb4a9c0616f669fc6a42cdd40eadd9ae1d74bf756f4f0479993273'], + }), + ('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', +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorboard/tensorboard-2.8.0-foss-2021a.eb b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.8.0-foss-2021a.eb new file mode 100644 index 00000000000..cc81a2a1592 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboard/tensorboard-2.8.0-foss-2021a.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'tensorboard' +version = '2.8.0' + +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': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('protobuf-python', '3.17.3'), +] + +exts_list = [ + ('absl-py', '1.0.0', { + 'modulename': 'absl', + 'checksums': ['ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea'], + }), + ('cachetools', '5.0.0', { + 'checksums': ['486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6'], + }), + ('pyasn1-modules', '0.2.8', { + 'checksums': ['905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e'], + }), + ('rsa', '4.8', { + 'checksums': ['5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17'], + }), + ('google-auth', '2.5.0', { + 'modulename': 'google.auth', + 'checksums': ['6577bbf990ef342a24e12e0c8e9d364af6642acdf206c9045bdb8e039fb4fec9'], + }), + ('oauthlib', '3.1.1', { + 'checksums': ['8f0215fcc533dd8dd1bee6f4c412d4f0cd7297307d43ac61666389e3bc3198a3'], + }), + ('requests-oauthlib', '1.3.0', { + 'checksums': ['b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a'], + }), + ('google-auth', '2.5.0', { + 'modulename': 'google.auth', + 'checksums': ['6577bbf990ef342a24e12e0c8e9d364af6642acdf206c9045bdb8e039fb4fec9'], + }), + ('google-auth-oauthlib', '0.4.6', { + 'checksums': ['a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a'], + }), + ('grpcio', '1.43.0', { + 'modulename': 'grpc', + 'preinstallopts': "export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS=%(parallel)s && ", + 'checksums': ['735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5'], + }), + ('importlib_metadata', '4.10.1', { + 'checksums': ['951f0d8a5b7260e9db5e41d429285b5f451e928479f19d80818878527d36e95e'], + }), + ('Markdown', '3.3.6', { + 'checksums': ['76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006'], + }), + ('tensorboard_data_server', '0.6.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7'], + }), + ('tensorboard_plugin_wit', '1.8.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe'], + }), + ('Werkzeug', '2.0.2', { + 'checksums': ['aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb new file mode 100644 index 00000000000..8a5ba42a91c --- /dev/null +++ b/easybuild/easyconfigs/t/tensorboardX/tensorboardX-2.5.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'tensorboardX' +version = '2.5.1' + +homepage = 'https://github.com/lanpa/tensorboardX' +description = "Tensorboard for PyTorch." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# tensorboardX v2.x works with tensorboards generated with TensorFlow 2, +# but TensorFlow is not needed to use tensorboardX +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'modulename': '%(name)s', + 'checksums': ['ea85a3446f22ce8a917fe4fa4d8a7a96222ef84ac835267d038c34bb99f6d61b'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' 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-compression/compression_local-tensorflow-repo.sed b/easybuild/easyconfigs/t/tensorflow-compression/compression_local-tensorflow-repo.sed new file mode 100644 index 00000000000..f4900022dee --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-compression/compression_local-tensorflow-repo.sed @@ -0,0 +1,14 @@ +# Convert http repo for tensorflow to local repo +# Copied from jax/jaxlib_local-tensorflow-repo.sed +/^http_archive(/{ + :a;N;/\n)/!ba; + /org_tensorflow/{ + s/^/# /; + s/\n/\n# /g; + s|$|\ +local_repository(\ + name = "org_tensorflow",\ + path = "EB_TF_REPOPATH",\ +)|; + } +} diff --git a/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a25980ceef9 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +name = 'tensorflow-compression' +version = '2.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/tensorflow/compression' +description = "TensorFlow Compression (TFC) contains data compression tools for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Make sure bazel doesn't download TensorFlow by itself. +local_tf_version = version +local_tf_dir = 'tensorflow-%s' % local_tf_version +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +sources = [ + { + 'source_urls': ['https://github.com/tensorflow/compression/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'filename': 'v%s.tar.gz' % local_tf_version, + 'alt_location': 'TensorFlow/extensions', + }, +] +patches = [ + ('compression_local-tensorflow-repo.sed', '.'), +] +checksums = [ + {'tensorflow-compression-2.11.0.tar.gz': '7f0127c3ff4243e41c5af59be5909a635562191f462053e2d86c234bf638be4f'}, + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'compression_local-tensorflow-repo.sed': '65d4d40953624148cd6395a6110eaf8239a9bcae25d1f4c89259f2c60cc4b6dc'}, +] + +builddependencies = [ + ('Bazel', '5.1.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('TensorFlow', local_tf_version, versionsuffix), + ('tensorflow-probability', '0.19.0', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_prebuildopts = "sed -i -f compression_local-tensorflow-repo.sed WORKSPACE && " +local_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +prebuildopts = local_prebuildopts + +sanity_check_commands = [ + 'python -m tensorflow_compression.all_tests', +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-foss-2020b.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-foss-2020b.eb index a33fbf38cd5..8996e231286 100644 --- a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-foss-2020b.eb +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-foss-2020b.eb @@ -31,6 +31,7 @@ exts_list = [ 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], }), (name, version, { + 'installopts': '--install-option="--release"', 'modulename': 'tensorflow_probability', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/tensorflow/probability/archive/'], diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-fosscuda-2020b.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-fosscuda-2020b.eb index 28b222eb331..c31071c495f 100644 --- a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.12.1-fosscuda-2020b.eb @@ -31,6 +31,7 @@ exts_list = [ 'checksums': ['9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32'], }), (name, version, { + 'installopts': '--install-option="--release"', 'modulename': 'tensorflow_probability', 'source_tmpl': 'v%(version)s.tar.gz', 'source_urls': ['https://github.com/tensorflow/probability/archive/'], diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.14.0-foss-2021a.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.14.0-foss-2021a.eb new file mode 100644 index 00000000000..9efe4775c2a --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.14.0-foss-2021a.eb @@ -0,0 +1,46 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.14.0' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('Python', '3.9.5'), + ('TensorFlow', '2.6.0'), + ('dm-tree', '0.1.6'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.1', { + 'checksums': ['d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5'], + }), + (name, version, { + 'installopts': '--install-option="--release"', + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['54fe9a9cbfee5d02a561c92a730eb29166fa757084b9ccb3f700de42ddeafcfb'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb new file mode 100644 index 00000000000..05bea7aff46 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.16.0-foss-2021b.eb @@ -0,0 +1,46 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Authors:: Dugan Witherick (University of Warwick) +# License:: MIT/GPL +# $Id$ +# +## + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.16.0' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('Python', '3.9.6'), + ('TensorFlow', '2.8.4'), + ('dm-tree', '0.1.6'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'installopts': '--install-option="--release"', + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['0c8b8bb00403af56979f5c5cfda6fb3ea6f3e5efc4530ab66889415d230ebd81'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..5a13241dbb4 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,51 @@ +## +# 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) +## + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.19.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for +probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0', '-CUDA-%(cudaver)s'), + ('dm-tree', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'installopts': '--install-option="--release"', + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['b32d2ae211ec727df9791b501839619f5389134bd6d4fe951570f500b0e75f55'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a.eb b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a.eb new file mode 100644 index 00000000000..5f95682889d --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.19.0-foss-2022a.eb @@ -0,0 +1,48 @@ +## +# 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) +## + +easyblock = 'PythonBundle' + +name = 'tensorflow-probability' +version = '0.19.0' + +homepage = 'https://www.tensorflow.org/probability' +description = """TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +dependencies = [ + ('Python', '3.10.4'), + ('TensorFlow', '2.11.0'), + ('dm-tree', '0.1.8'), +] + +use_pip = True + +exts_list = [ + ('cloudpickle', '2.2.0', { + 'checksums': ['3f4219469c55453cfe4737e564b67c2a149109dabf7f242478948b895f61106f'], + }), + (name, version, { + 'installopts': '--install-option="--release"', + 'modulename': 'tensorflow_probability', + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/tensorflow/probability/archive/'], + 'checksums': ['b32d2ae211ec727df9791b501839619f5389134bd6d4fe951570f500b0e75f55'], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' 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..efede874267 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-probability/tensorflow-probability-0.20.0-foss-2023a.eb @@ -0,0 +1,54 @@ +## +# 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 + +# avoid pip check fail when tensorflow-probability is a dependency +local_postinstallcmds = "cd %(installdir)s/lib/python%(pyshortver)s/site-packages && " +local_postinstallcmds += "mv tfp_nightly-%(version)s.dist-info tensorflow_probability-%(version)s.dist-info && " +local_postinstallcmds += "sed -i 's/Name: tfp-nightly/Name: %(name)s/' " +local_postinstallcmds += "tensorflow_probability-%(version)s.dist-info/METADATA" + +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'], + 'postinstallcmds': [local_postinstallcmds], + }), +] + +sanity_check_commands = ["python -c 'import tensorflow; import tensorflow_probability'"] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/termcolor/termcolor-2.0.0.eb b/easybuild/easyconfigs/t/termcolor/termcolor-2.0.0.eb new file mode 100644 index 00000000000..f369a0710d0 --- /dev/null +++ b/easybuild/easyconfigs/t/termcolor/termcolor-2.0.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'CMakeMake' + +name = 'termcolor' +version = '2.0.0' + +homepage = 'https://termcolor.readthedocs.io/' +description = """Termcolor is a header-only C++ library for printing colored + messages to the terminal.""" + +toolchain = SYSTEM + +github_account = 'ikalnytskyi' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4a73a77053822ca1ed6d4a2af416d31028ec992fb0ffa794af95bd6216bb6a20'] + +builddependencies = [('CMake', '3.18.4')] + +sanity_check_paths = { + 'files': ['include/%(name)s/%(name)s.hpp'], + 'dirs': ['include', 'lib'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/tesseract/tesseract-4.1.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tesseract/tesseract-4.1.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f2343bc2573 --- /dev/null +++ b/easybuild/easyconfigs/t/tesseract/tesseract-4.1.0-GCCcore-10.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'tesseract' +version = '4.1.0' + +homepage = 'https://github.com/tesseract-ocr/tesseract' +description = """Tesseract is an optical character recognition engine""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +github_account = 'tesseract-ocr' +source_urls = [GITHUB_SOURCE] +sources = [ + '%(version)s.tar.gz', + { + 'source_urls': ['https://github.com/tesseract-ocr/tessdata/archive/'], + 'download_filename': '4.1.0.tar.gz', + 'filename': 'tessdata-4.1.0.tar.gz', + }, +] +patches = ['tesseract-4.1.0-add-glib-dependency.patch'] +checksums = [ + '5c5ed5f1a76888dc57a83704f24ae02f8319849f5c4cf19d254296978a1a1961', # 4.1.0.tar.gz + '990fffb9b7a9b52dc9a2d053a9ef6852ca2b72bd8dfb22988b0b990a700fd3c7', # tessdata-4.1.0.tar.gz + 'f21ac5ed7d28a07978a6f7230fce2125d98a7264e33ddd3bd648af6da41b6fd1', # tesseract-4.1.0-add-glib-dependency.patch +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), + ('pkg-config', '0.29.2') +] + +dependencies = [ + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('Leptonica', '1.82.0'), + ('libarchive', '3.5.1'), + ('ICU', '69.1'), + ('fontconfig', '2.13.93'), + ('GLib', '2.68.2'), + ('cairo', '1.16.0'), + ('Pango', '1.48.5'), +] + +separate_build_dir = True + +postinstallcmds = [ + 'mkdir %(installdir)s/tessdata', + 'mv %(builddir)s/tessdata-4.1.0/* %(installdir)s/tessdata' +] + +modextrapaths = { + 'TESSDATA_PREFIX': 'tessdata', +} + +sanity_check_paths = { + 'files': ['bin/tesseract', 'lib/libtesseract.%s' % SHLIB_EXT], + 'dirs': ['tessdata', 'include/tesseract'] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..9bf893a4d12 --- /dev/null +++ b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,65 @@ +easyblock = 'CMakeMake' + +name = 'tesseract' +version = '5.3.0' + +homepage = 'https://github.com/tesseract-ocr/tesseract' +description = """Tesseract is an optical character recognition engine""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'tesseract-ocr' +source_urls = [GITHUB_SOURCE] +sources = [ + '%(version)s.tar.gz', + { + 'source_urls': ['https://github.com/tesseract-ocr/tessdata_best/archive/'], + 'download_filename': '4.1.0.tar.gz', + 'filename': 'tessdata_best-4.1.0.tar.gz', + }, +] +checksums = [ + {'5.3.0.tar.gz': '7e70870f8341e5ea228af2836ce79a36eefa11b01b56177b4a8997f330c014b8'}, + {'tessdata_best-4.1.0.tar.gz': 'bb05b738298ae73e7130e2913ed002b49d94cd1cea508e63be1928fe47770b32'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.38'), + ('pkgconf', '1.8.0') +] + +dependencies = [ + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('Leptonica', '1.83.0'), + ('libarchive', '3.6.1'), + ('ICU', '71.1'), + ('fontconfig', '2.14.0'), + ('GLib', '2.72.1'), + ('cairo', '1.17.4'), + ('Pango', '1.50.7'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +postinstallcmds = [ + 'rm %(builddir)s/tessdata_best-4.1.0/configs', + 'rm -rf %(builddir)s/tessdata_best-4.1.0/tessconfigs', + 'mv %(builddir)s/tessdata_best-4.1.0/* %(installdir)s/share/tessdata' +] + +modextrapaths = { + 'TESSDATA_PREFIX': 'share/tessdata', +} + +sanity_check_paths = { + 'files': ['bin/tesseract', 'lib/libtesseract.a', 'lib/libtesseract.%s' % SHLIB_EXT], + 'dirs': ['share/tessdata', 'include/tesseract'] +} + +sanity_check_commands = ['tesseract --version', 'tesseract --list-langs'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tesseract/tesseract-5.3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..94cf0915ff9 --- /dev/null +++ b/easybuild/easyconfigs/t/tesseract/tesseract-5.3.4-GCCcore-12.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'CMakeMake' + +name = 'tesseract' +version = '5.3.4' +_tessdata_ver = '4.1.0' + +homepage = 'https://github.com/tesseract-ocr/tesseract' +description = """Tesseract is an optical character recognition engine""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'tesseract-ocr' +source_urls = [GITHUB_SOURCE] +sources = [ + '%(version)s.tar.gz', + { + 'source_urls': ['https://github.com/tesseract-ocr/tessdata_best/archive/'], + 'download_filename': '%s.tar.gz' % _tessdata_ver, + 'filename': 'tessdata_best-%s.tar.gz' % _tessdata_ver, + }, +] +checksums = [ + {'5.3.4.tar.gz': '141afc12b34a14bb691a939b4b122db0d51bd38feda7f41696822bacea7710c7'}, + {'tessdata_best-4.1.0.tar.gz': 'bb05b738298ae73e7130e2913ed002b49d94cd1cea508e63be1928fe47770b32'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), + ('pkgconf', '1.9.5') +] + +dependencies = [ + ('zlib', '1.2.13'), + ('libpng', '1.6.39'), + ('libjpeg-turbo', '2.1.5.1'), + ('LibTIFF', '4.5.0'), + ('Leptonica', '1.84.1'), + ('libarchive', '3.6.2'), + ('ICU', '73.2'), + ('fontconfig', '2.14.2'), + ('GLib', '2.77.1'), + ('cairo', '1.17.8'), + ('Pango', '1.50.14'), +] + +configopts = ['-DBUILD_SHARED_LIBS=ON', '-DBUILD_SHARED_LIBS=OFF'] + +postinstallcmds = [ + 'rm %(builddir)s/tessdata_best-*/configs', + 'rm -rf %(builddir)s/tessdata_best-*/tessconfigs', + 'mv %(builddir)s/tessdata_best-*/* %(installdir)s/share/tessdata' +] + +modextrapaths = { + 'TESSDATA_PREFIX': 'share/tessdata', +} + +sanity_check_paths = { + 'files': ['bin/tesseract', 'lib/libtesseract.a', 'lib/libtesseract.%s' % SHLIB_EXT], + 'dirs': ['share/tessdata', 'include/tesseract'] +} + +sanity_check_commands = ['tesseract --version', 'tesseract --list-langs'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c5b14ad74b1 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-6.8-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '6.8' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4'] + +builddependencies = [('binutils', '2.37')] + +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/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ee3c6d3e6c8 --- /dev/null +++ b/easybuild/easyconfigs/t/texinfo/texinfo-7.0.2-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'texinfo' +version = '7.0.2' + +homepage = 'https://www.gnu.org/software/texinfo/' +description = """Texinfo is the official documentation format of the GNU project.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['f211ec3261383e1a89e4555a93b9d017fe807b9c3992fb2dff4871dae6da54ad'] + +builddependencies = [('binutils', '2.38')] + +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/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-20200406-GCCcore-8.3.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20200406-GCCcore-8.3.0.eb index 7c74e626642..27046de748b 100644 --- a/easybuild/easyconfigs/t/texlive/texlive-20200406-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/t/texlive/texlive-20200406-GCCcore-8.3.0.eb @@ -4,6 +4,7 @@ easyblock = 'Tarball' name = 'texlive' version = '20200406' +local_version_year = version[:4] homepage = 'https://tug.org' description = """TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript @@ -13,7 +14,10 @@ description = """TeX is a typesetting language. Instead of visually formatting y toolchain = {'name': 'GCCcore', 'version': '8.3.0'} -source_urls = ['ftp://tug.org/texlive/historic/2020/'] +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_version_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_version_year, +] sources = [ { 'download_filename': 'install-tl-unx.tar.gz', @@ -41,10 +45,11 @@ postinstallcmds = [ 'echo "TEXMFSYSCONFIG %(installdir)s/texmf-config" >> %(installdir)s/texlive.profile && ' 'echo "TEXMFSYSVAR %(installdir)s/texmf-var" >> %(installdir)s/texlive.profile && ' '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' + ' -repository ' + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_version_year ] modextrapaths = { - 'PATH': 'bin/x86_64-linux', + 'PATH': 'bin/%(arch)s-linux', 'INFOPATH': 'texmf-dist/doc/info', 'MANPATH': 'texmf-dist/doc/man', } @@ -53,8 +58,8 @@ modextravars = { } sanity_check_paths = { - 'files': ['bin/x86_64-linux/tex', 'bin/x86_64-linux/latex'], - 'dirs': ['bin/x86_64-linux', 'texmf-dist'], + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], } moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb new file mode 100644 index 00000000000..97dde3d44ad --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-10.3.0.eb @@ -0,0 +1,65 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20210324' +local_version_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': '10.3.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_version_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_version_year, +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz', + } +] +checksums = ['74eac0855e1e40c8db4f28b24ef354bd7263c1f76031bdc02b52156b572b7a1d'] + +dependencies = [ + ('X11', '20210518'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.1'), + ('Perl', '5.32.1'), + ('HarfBuzz', '2.8.1'), + ('poppler', '21.06.1'), + ('cairo', '1.16.0'), + ('fontconfig', '2.13.93'), + ('zlib', '1.2.11'), + ('graphite2', '1.3.14'), +] + +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 && ' + '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' + ' -repository ' + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_version_year +] + +modextrapaths = { + 'PATH': 'bin/%(arch)s-linux', + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', +} +modextravars = { + 'TEXMFHOME': '%(installdir)s/texmf-dist' +} + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-11.2.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-11.2.0.eb new file mode 100644 index 00000000000..dc4af0f23ae --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20210324-GCC-11.2.0.eb @@ -0,0 +1,65 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20210324' +local_version_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': '11.2.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_version_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_version_year, +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz', + } +] +checksums = ['74eac0855e1e40c8db4f28b24ef354bd7263c1f76031bdc02b52156b572b7a1d'] + +dependencies = [ + ('X11', '20210802'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.2'), + ('Perl', '5.34.0'), + ('HarfBuzz', '2.8.2'), + ('poppler', '22.01.0'), + ('cairo', '1.16.0'), + ('fontconfig', '2.13.94'), + ('zlib', '1.2.11'), + ('graphite2', '1.3.14'), +] + +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 && ' + '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' + ' -repository ' + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_version_year +] + +modextrapaths = { + 'PATH': 'bin/%(arch)s-linux', + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', +} +modextravars = { + 'TEXMFHOME': '%(installdir)s/texmf-dist' +} + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20220321-GCC-11.2.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20220321-GCC-11.2.0.eb new file mode 100644 index 00000000000..46445148922 --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20220321-GCC-11.2.0.eb @@ -0,0 +1,65 @@ +# Based off the 2017 version by John Dey jfdey@fredhutch.org +# https://github.com/easybuilders/easybuild-easyconfigs/pull/5085 +easyblock = 'Tarball' + +name = 'texlive' +version = '20220321' +local_version_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': '11.2.0'} + +source_urls = [ + 'ftp://tug.org/texlive/historic/%s/' % local_version_year, + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/' % local_version_year, +] +sources = [ + { + 'download_filename': 'install-tl-unx.tar.gz', + 'filename': 'install-tl-unx-%(version)s.tar.gz', + } +] +checksums = ['e67edec49df6b7c4a987a7d5a9b31bcf41258220f9ac841c7a836080cd334fb5'] + +dependencies = [ + ('X11', '20210802'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.2'), + ('Perl', '5.34.0'), + ('HarfBuzz', '2.8.2'), + ('poppler', '22.01.0'), + ('cairo', '1.16.0'), + ('fontconfig', '2.13.94'), + ('zlib', '1.2.11'), + ('graphite2', '1.3.14'), +] + +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 && ' + '%(builddir)s/install-tl-%(version)s/install-tl -profile %(installdir)s/texlive.profile' + ' -repository ' + 'https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/%s/tlnet-final' % local_version_year +] + +modextrapaths = { + 'PATH': 'bin/%(arch)s-linux', + 'INFOPATH': 'texmf-dist/doc/info', + 'MANPATH': 'texmf-dist/doc/man', +} +modextravars = { + 'TEXMFHOME': '%(installdir)s/texmf-dist' +} + +sanity_check_paths = { + 'files': ['bin/%(arch)s-linux/tex', 'bin/%(arch)s-linux/latex'], + 'dirs': ['bin/%(arch)s-linux', 'texmf-dist'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-11.3.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-11.3.0.eb new file mode 100644 index 00000000000..b8e9cfbef94 --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-11.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': '11.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', '20220504'), + ('libpng', '1.6.37'), + ('libGLU', '9.0.2'), + ('Perl', '5.34.1'), + ('HarfBuzz', '4.2.1'), + ('poppler', '22.12.0'), + ('cairo', '1.17.4'), + ('fontconfig', '2.14.0'), + ('zlib', '1.2.12'), + ('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/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/texlive/texlive-20230313-GCC-13.2.0.eb b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.0.eb new file mode 100644 index 00000000000..5d21ba5f6d1 --- /dev/null +++ b/easybuild/easyconfigs/t/texlive/texlive-20230313-GCC-13.2.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': '13.2.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', '20231019'), + ('libpng', '1.6.40'), + ('libGLU', '9.0.3'), + ('Perl', '5.38.0'), + ('HarfBuzz', '8.2.2'), + ('poppler', '24.04.0'), + ('cairo', '1.18.0'), + ('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/thirdorder/thirdorder-1.1.1-foss-2022a.eb b/easybuild/easyconfigs/t/thirdorder/thirdorder-1.1.1-foss-2022a.eb new file mode 100644 index 00000000000..9ef61b93414 --- /dev/null +++ b/easybuild/easyconfigs/t/thirdorder/thirdorder-1.1.1-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonPackage' +name = 'thirdorder' +version = '1.1.1' + +homepage = 'https://bitbucket.org/sousaw/thirdorder/' +description = """A Python script to help create input files for computing anhamonic +interatomic force constants, harnessing the symmetries of the system to minimize the +number of required DFT calculations. A second mode of operation allows the user to +build the third-order IFC matrix from the results of those runs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('spglib', '2.0.2'), +] + +source_urls = ['https://bitbucket.org/sousaw/thirdorder/get/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f95e6371d78231d68028ec4e28d1d45ce60b1093e64f87e4b0cdb259375cd0d4'] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# Thirdorder need to be built using Cython and it needs to have a version in setup.py +preinstallopts = r'sed -i -e "s/^USE_CYTHON.*/USE_CYTHON=True/" ' +preinstallopts += r'-e "s/^\(setup(.*\))$/\1, version=\"%(version)s\")/" setup.py && ' + +options = {'modulename': 'thirdorder_core'} + +postinstallcmds = ["mkdir %(installdir)s/bin && cp thirdorder_*.py %(installdir)s/bin/"] + +sanity_check_paths = { + 'files': ['bin/thirdorder_%s.py' % x for x in ["castep", "espresso", "vasp"]], + 'dirs': ['bin', 'lib'], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/tidymodels/tidymodels-1.1.0-foss-2022b.eb b/easybuild/easyconfigs/t/tidymodels/tidymodels-1.1.0-foss-2022b.eb new file mode 100644 index 00000000000..3658b2fc02b --- /dev/null +++ b/easybuild/easyconfigs/t/tidymodels/tidymodels-1.1.0-foss-2022b.eb @@ -0,0 +1,109 @@ +easyblock = 'Bundle' + +name = 'tidymodels' +version = '1.1.0' + +homepage = 'https://tidymodels.tidymodels.org' +description = """tidymodels is a 'meta-package' for modeling and statistical analysis that shares the underlying + design philosophy, grammar, and data structures of the tidyverse.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +dependencies = [ + ('R', '4.2.2'), +] + +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 + ], +} + +# included updated versions of extensions included with R, as required by tune or tidymodels +exts_list = [ + ('conflicted', '1.2.0', { + 'checksums': ['c99b86bb52da3e7d1f4d96d70c77304d0434db5bd906edd8d743e89ac9223088'], + }), + ('DiceDesign', '1.9', { + 'checksums': ['93c23730e02471e4225f0254f47d838b5e113162316e3640cccebf5e8cea11a9'], + }), + ('dials', '1.2.0', { + 'checksums': ['24660e7200cca6f2c63dc70dec3702a2bed027e02639c7c66d5ebd2f0f7148fe'], + }), + ('infer', '1.0.4', { + 'checksums': ['29e83d7150bccc37f24a474f0eeee6eadc3ba189d6c4c0c5ba804e4fb50598e8'], + }), + ('modeldata', version, { + 'checksums': ['9c5bc17a94026ffc49ed47899107381ddbf7392938d000dd72566dc836b25873'], + }), + ('parsnip', version, { + 'checksums': ['ecbdeb88d8347405b8b6ba2f684311ad3fd762076e46d9a08a3ea5882221778d'], + }), + ('warp', '0.2.0', { + 'checksums': ['0e0de344f3d711d58e6be2ab47ade1db3b703bf3ca85080b1124c0c25a630a68'], + }), + ('slider', '0.3.0', { + 'checksums': ['bc6a17ba5f0b27c8504a1d04992108470f24fd5662fbea14c300ac75fb02fca1'], + }), + ('rsample', '1.1.1', { + 'checksums': ['90d2ae86d27a397ba9d8d010e7dea5c7b86fecbec7e9af273db0c2e8c374b8ba'], + }), + ('GPfit', '1.0-8', { + 'checksums': ['7e4dfc28c49cad67afbd9c018255234c57a4baadc10a412ee660f72da28fb716'], + }), + ('modelenv', '0.1.1', { + 'checksums': ['b119754ab9b338e7e2be8849c634e715226dbc3f0a79b1e5c7567d27f41accde'], + }), + ('workflows', '1.1.3', { + 'checksums': ['baa26a876b56e61bd3339a44297e3c5b719a92c9316495fb17836dfa8caf4181'], + }), + ('yardstick', '1.2.0', { + 'checksums': ['ebf113ad1d6554dd5d17181148a8c9e51166d4fa579e9540756d01ef61b71d2b'], + }), + ('vctrs', '0.6.3', { + 'checksums': ['93dc220dcde8b440586b2260460ef354e827a17dfec1ea6a9815585a10cfa5c2'], + }), + ('tune', '1.1.1', { + 'checksums': ['af6e1a5cd4e80d684a42c11057348fe0cdb3368db914d03335399618da5d884e'], + }), + ('workflowsets', '1.0.1', { + 'checksums': ['11ae3a3d2122cd923b3ce14738b7ae66d5a3b4bbbbf85323c512d61d3a1568e7'], + }), + ('cli', '3.6.1', { + 'checksums': ['be3006cec7e67f9ae25e21b4658c4bec680038c2ef7467df5f14da3311a05e36'], + }), + ('pillar', '1.9.0', { + 'checksums': ['f23eb486c087f864c2b4072d5cba01d5bebf2f554118bcba6886d8dbceb87acc'], + }), + ('dplyr', '1.1.2', { + 'checksums': ['c220c38a3a44977c43eeae3d9aef90e8bb297150cad0993ea8d3cc13150096e3'], + }), + ('ggplot2', '3.4.2', { + 'checksums': ['70230aa70a2c6f844fc41dd93e5f62af6859dfed390026ae58f223637e5283ca'], + }), + ('tibble', '3.2.1', { + 'checksums': ['65a72d0c557fd6e7c510d150c935ed6ced5db7d05fc20236b370f11428372131'], + }), + ('hardhat', '1.3.0', { + 'checksums': ['fe9ff009e2ba6dd4d70cbb541430f88d85c0a28d6a1c2772e4910c79b81fe82e'], + }), + ('recipes', '1.0.6', { + 'checksums': ['105e97127cdd6aaeb9fb3348e51a9c46e21fb8bcb734cb3bbd6dbdf2b6b2fc8f'], + }), + (name, version, { + 'checksums': ['788e370a9a98c0504a529f1562596b799e6f9365e9b03e90d378f685b78e8ebd'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ee72245c3d0 --- /dev/null +++ b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.6.0-GCCcore-12.3.0.eb @@ -0,0 +1,135 @@ +easyblock = 'CargoPythonPackage' + +name = 'tiktoken' +version = '0.6.0' + +homepage = 'https://github.com/openai/tiktoken' +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('aho-corasick', '1.1.3'), + ('autocfg', '1.2.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bstr', '1.9.1'), + ('cfg-if', '1.0.0'), + ('fancy-regex', '0.11.0'), + ('heck', '0.4.1'), + ('indoc', '2.0.5'), + ('libc', '0.2.153'), + ('lock_api', '0.4.11'), + ('memchr', '2.7.2'), + ('memoffset', '0.9.1'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.79'), + ('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', '1.0.36'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.3'), + ('rustc-hash', '1.1.0'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('smallvec', '1.13.2'), + ('syn', '2.0.58'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('windows-targets', '0.48.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_msvc', '0.48.5'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tiktoken-0.6.0.tar.gz': 'ace62a4ede83c75b0374a2ddfa4b76903cf483e9cb06247f566be3bf14e6beed'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'autocfg-1.2.0.tar.gz': 'f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bstr-1.9.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'fancy-regex-0.11.0.tar.gz': 'b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'memchr-2.7.2.tar.gz': '6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'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'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.79.tar.gz': 'e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e'}, + {'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-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.4.tar.gz': 'c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.3.tar.gz': 'adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'syn-2.0.58.tar.gz': '44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, +] + +_rust_ver = '1.75.0' +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), + ('hypothesis', '6.82.0') +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # regex (and pytest for tests) +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# https://github.com/openai/tiktoken/issues/194 +runtest = ( + 'ln -s $PWD/tests ../tests_%(name)s' + ' && cd ..' + ' && pytest tests_%(name)s/' +) +testinstall = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tiktoken/tiktoken-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3dc06c7edcb --- /dev/null +++ b/easybuild/easyconfigs/t/tiktoken/tiktoken-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,135 @@ +easyblock = 'CargoPythonPackage' + +name = 'tiktoken' +version = '0.7.0' +_rust_ver = '1.75.0' + +homepage = 'https://github.com/openai/tiktoken' +description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), + ('hypothesis', '6.82.0') +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # regex (and pytest for tests) +] + +crates = [ + ('aho-corasick', '1.1.3'), + ('autocfg', '1.2.0'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('bitflags', '1.3.2'), + ('bstr', '1.9.1'), + ('cfg-if', '1.0.0'), + ('fancy-regex', '0.11.0'), + ('heck', '0.4.1'), + ('indoc', '2.0.5'), + ('libc', '0.2.153'), + ('lock_api', '0.4.11'), + ('memchr', '2.7.2'), + ('memoffset', '0.9.1'), + ('once_cell', '1.19.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('portable-atomic', '1.6.0'), + ('proc-macro2', '1.0.79'), + ('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', '1.0.36'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.4'), + ('regex-automata', '0.4.6'), + ('regex-syntax', '0.8.3'), + ('rustc-hash', '1.1.0'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.197'), + ('serde_derive', '1.0.197'), + ('smallvec', '1.13.2'), + ('syn', '2.0.58'), + ('target-lexicon', '0.12.14'), + ('unicode-ident', '1.0.12'), + ('unindent', '0.2.3'), + ('windows-targets', '0.48.5'), + ('windows_aarch64_gnullvm', '0.48.5'), + ('windows_aarch64_msvc', '0.48.5'), + ('windows_i686_gnu', '0.48.5'), + ('windows_i686_msvc', '0.48.5'), + ('windows_x86_64_gnu', '0.48.5'), + ('windows_x86_64_gnullvm', '0.48.5'), + ('windows_x86_64_msvc', '0.48.5'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tiktoken-0.7.0.tar.gz': '1077266e949c24e0291f6c350433c6f0971365ece2b173a23bc3b9f9defef6b6'}, + {'aho-corasick-1.1.3.tar.gz': '8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916'}, + {'autocfg-1.2.0.tar.gz': 'f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bstr-1.9.1.tar.gz': '05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'fancy-regex-0.11.0.tar.gz': 'b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'indoc-2.0.5.tar.gz': 'b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'memchr-2.7.2.tar.gz': '6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d'}, + {'memoffset-0.9.1.tar.gz': '488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a'}, + {'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'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'proc-macro2-1.0.79.tar.gz': 'e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e'}, + {'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-1.0.36.tar.gz': '0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7'}, + {'redox_syscall-0.4.1.tar.gz': '4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa'}, + {'regex-1.10.4.tar.gz': 'c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c'}, + {'regex-automata-0.4.6.tar.gz': '86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea'}, + {'regex-syntax-0.8.3.tar.gz': 'adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.197.tar.gz': '3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2'}, + {'serde_derive-1.0.197.tar.gz': '7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b'}, + {'smallvec-1.13.2.tar.gz': '3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67'}, + {'syn-2.0.58.tar.gz': '44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687'}, + {'target-lexicon-0.12.14.tar.gz': 'e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'windows-targets-0.48.5.tar.gz': '9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c'}, + {'windows_aarch64_gnullvm-0.48.5.tar.gz': '2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8'}, + {'windows_aarch64_msvc-0.48.5.tar.gz': 'dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc'}, + {'windows_i686_gnu-0.48.5.tar.gz': 'a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e'}, + {'windows_i686_msvc-0.48.5.tar.gz': '8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406'}, + {'windows_x86_64_gnu-0.48.5.tar.gz': '53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e'}, + {'windows_x86_64_gnullvm-0.48.5.tar.gz': '0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc'}, + {'windows_x86_64_msvc-0.48.5.tar.gz': 'ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538'}, +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +# https://github.com/openai/tiktoken/issues/194 +runtest = ( + 'ln -s $PWD/tests ../tests_%(name)s' + ' && cd ..' + ' && pytest tests_%(name)s/' +) +testinstall = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1678e6ee5de --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.36.1')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..123bf9ab4ae --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.37')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d0b426f3ff8 --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.38')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e241a9de1bc --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.39')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..58c010a8245 --- /dev/null +++ b/easybuild/easyconfigs/t/time/time-1.9-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'time' +version = '1.9' + +homepage = 'https://www.gnu.org/software/time/' +description = """The `time' command runs another program, then displays information about the resources used by that + program, collected by the system while the program was running.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["ln -s %(installdir)s/bin/%(name)s %(installdir)s/bin/gtime"] + +sanity_check_paths = { + 'files': ['bin/gtime', 'bin/%(name)s'], + 'dirs': [], +} + +sanity_check_commands = ["time echo test"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/timm/timm-0.6.13-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/timm/timm-0.6.13-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2aa79026e28 --- /dev/null +++ b/easybuild/easyconfigs/t/timm/timm-0.6.13-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,129 @@ +easyblock = 'CargoPythonBundle' + +name = 'timm' +version = '0.6.13' +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 = [ + ('Rust', '1.65.0'), # for safetensors +] + +crates = [ + ('autocfg', '1.1.0'), + ('bitflags', '1.3.2'), + ('cfg-if', '1.0.0'), + ('indoc', '1.0.9'), + ('itoa', '1.0.9'), + ('libc', '0.2.147'), + ('lock_api', '0.4.10'), + ('memmap2', '0.5.10'), + ('memoffset', '0.8.0'), + ('once_cell', '1.18.0'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.8'), + ('proc-macro2', '1.0.66'), + ('pyo3', '0.18.3'), + ('pyo3-build-config', '0.18.3'), + ('pyo3-ffi', '0.18.3'), + ('pyo3-macros', '0.18.3'), + ('pyo3-macros-backend', '0.18.3'), + ('quote', '1.0.31'), + ('redox_syscall', '0.3.5'), + ('ryu', '1.0.15'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.171'), + ('serde_derive', '1.0.171'), + ('serde_json', '1.0.103'), + ('smallvec', '1.11.0'), + ('syn', '1.0.109'), + ('syn', '2.0.26'), + ('target-lexicon', '0.12.10'), + ('unicode-ident', '1.0.11'), + ('unindent', '0.1.11'), + ('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'), +] +checksums = [ + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'indoc-1.0.9.tar.gz': 'bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'libc-0.2.147.tar.gz': 'b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3'}, + {'lock_api-0.4.10.tar.gz': 'c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16'}, + {'memmap2-0.5.10.tar.gz': '83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.8.tar.gz': '93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447'}, + {'proc-macro2-1.0.66.tar.gz': '18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9'}, + {'pyo3-0.18.3.tar.gz': 'e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109'}, + {'pyo3-build-config-0.18.3.tar.gz': '9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3'}, + {'pyo3-ffi-0.18.3.tar.gz': 'fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c'}, + {'pyo3-macros-0.18.3.tar.gz': 'a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d'}, + {'pyo3-macros-backend-0.18.3.tar.gz': '97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918'}, + {'quote-1.0.31.tar.gz': '5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0'}, + {'redox_syscall-0.3.5.tar.gz': '567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.171.tar.gz': '30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9'}, + {'serde_derive-1.0.171.tar.gz': '389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682'}, + {'serde_json-1.0.103.tar.gz': 'd03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b'}, + {'smallvec-1.11.0.tar.gz': '62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.26.tar.gz': '45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970'}, + {'target-lexicon-0.12.10.tar.gz': '1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e'}, + {'unicode-ident-1.0.11.tar.gz': '301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c'}, + {'unindent-0.1.11.tar.gz': 'e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c'}, + {'windows-targets-0.48.1.tar.gz': '05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f'}, + {'windows_aarch64_gnullvm-0.48.0.tar.gz': '91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc'}, + {'windows_aarch64_msvc-0.48.0.tar.gz': 'b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3'}, + {'windows_i686_gnu-0.48.0.tar.gz': '622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241'}, + {'windows_i686_msvc-0.48.0.tar.gz': '4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00'}, + {'windows_x86_64_gnu-0.48.0.tar.gz': 'ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1'}, + {'windows_x86_64_gnullvm-0.48.0.tar.gz': '7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953'}, + {'windows_x86_64_msvc-0.48.0.tar.gz': '1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a'}, +] + +use_pip = True + +exts_list = [ + ('huggingface_hub', '0.13.4', { + 'checksums': ['db83d9c2f76aed8cf49893ffadd6be24e82074da2f64b1d36b8ba40eb255e115'], + }), + ('safetensors', '0.3.0', { + 'checksums': ['5be8b2fccdc6aec84c9d6732180575fe1ba3afc559cbe96e2301eacc45c5b9a6'], + }), + (name, version, { + 'checksums': ['745c54f7b7985a18e08bd66c997b018c1c3fef99bbb8c018879a6f85571782f5'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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..07cedb70489 --- /dev/null +++ b/easybuild/easyconfigs/t/timm/timm-0.9.7-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,362 @@ +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'), + ('bit-set', '0.5.3'), + ('bit-vec', '0.6.3'), + ('cast', '0.3.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'), + ('crunchy', '0.2.2'), + ('errno', '0.3.8'), + ('fastrand', '2.0.1'), + ('fnv', '1.0.7'), + ('half', '2.3.1'), + ('hashbrown', '0.12.3'), + ('hermit-abi', '0.1.19'), + ('indexmap', '1.9.3'), + ('itertools', '0.10.5'), + ('linux-raw-sys', '0.4.13'), + ('memchr', '2.7.1'), + ('memmap2', '0.5.10'), + ('oorandom', '11.1.3'), + ('os_str_bytes', '6.6.1'), + ('plotters', '0.3.5'), + ('plotters-backend', '0.3.5'), + ('plotters-svg', '0.3.5'), + ('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'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.4'), + ('rustix', '0.38.30'), + ('rusty-fork', '0.3.0'), + ('same-file', '1.0.6'), + ('tempfile', '3.9.0'), + ('textwrap', '0.16.0'), + ('tinytemplate', '1.2.1'), + ('wait-timeout', '0.2.0'), + ('walkdir', '2.4.0'), + ('web-sys', '0.3.67'), + ('windows-sys', '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'}, + {'bit-set-0.5.3.tar.gz': '0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1'}, + {'bit-vec-0.6.3.tar.gz': '349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb'}, + {'cast-0.3.0.tar.gz': '37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5'}, + {'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'}, + {'crunchy-0.2.2.tar.gz': '7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'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'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memmap2-0.5.10.tar.gz': '83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327'}, + {'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'}, + {'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'}, + {'regex-1.10.3.tar.gz': 'b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15'}, + {'regex-automata-0.4.4.tar.gz': '3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a'}, + {'rustix-0.38.30.tar.gz': '322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca'}, + {'rusty-fork-0.3.0.tar.gz': 'cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f'}, + {'same-file-1.0.6.tar.gz': '93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502'}, + {'tempfile-3.9.0.tar.gz': '01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa'}, + {'textwrap-0.16.0.tar.gz': '222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d'}, + {'tinytemplate-1.2.1.tar.gz': 'be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc'}, + {'wait-timeout-0.2.0.tar.gz': '9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6'}, + {'walkdir-2.4.0.tar.gz': 'd71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee'}, + {'web-sys-0.3.67.tar.gz': '58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed'}, +] + +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/timm/timm-1.0.8-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/timm/timm-1.0.8-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..aadc225d0fa --- /dev/null +++ b/easybuild/easyconfigs/t/timm/timm-1.0.8-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'timm' +version = '1.0.8' +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': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('CUDA', '12.1.1', '', SYSTEM), + ('PyTorch', '2.1.2', versionsuffix), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('torchvision', '0.16.0', versionsuffix), + ('Safetensors', '0.4.3'), +] + +builddependencies = [ + ('PDM', '2.12.4'), +] + +use_pip = True + +exts_list = [ + ('huggingface_hub', '0.24.5', { + 'checksums': ['7b45d6744dd53ce9cbf9880957de00e9d10a9ae837f1c9b7255fc8fa4e8264f3'], + }), + (name, version, { + 'checksums': ['f54a579f1cc39c43d99a4b03603e39c4cee87d4f0a08aba9c22e19064b30bf95'], + }), +] + +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/tmap/tmap-20220502-GCC-11.2.0.eb b/easybuild/easyconfigs/t/tmap/tmap-20220502-GCC-11.2.0.eb new file mode 100644 index 00000000000..10c73ff2d3a --- /dev/null +++ b/easybuild/easyconfigs/t/tmap/tmap-20220502-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakePythonPackage' + +name = 'tmap' +version = '20220502' + +homepage = 'https://tmap.gdb.tools' +description = """tmap is a very fast visualization library for large, +high-dimensional data sets. Currently, tmap is available for Python. +tmap's graph layouts are based on the OGDF library.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +sources = [ + { + 'filename': SOURCE_TAR_GZ, + 'git_config': { + 'url': 'https://github.com/reymond-group', + 'repo_name': '%(name)s', + 'commit': 'c66ff2dadd7118447fc198a5b78aa3a46d4dde69', + }, + }, +] +patches = [ + 'tmap-20220502_add_install.patch', +] +checksums = [ + None, # tmap-20220502.tar.gz + '055f69b36ca3b4c41f1d979193eb6a0471416cf018853511db2ffe7594f35eca', # tmap-20220502_add_install.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('pybind11', '2.7.1'), + ('OGDF', 'dogwood-202202'), +] + +start_dir = 'tmap' + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tmap/tmap-20220502_add_install.patch b/easybuild/easyconfigs/t/tmap/tmap-20220502_add_install.patch new file mode 100644 index 00000000000..ae6f6113b12 --- /dev/null +++ b/easybuild/easyconfigs/t/tmap/tmap-20220502_add_install.patch @@ -0,0 +1,14 @@ +Add install target. + +Åke Sandgren, 2022-05-02 +diff --git a/tmap/CMakeLists.txt b/tmap/CMakeLists.txt +index 24ff444..e3ec61f 100644 +--- a/tmap/CMakeLists.txt ++++ b/tmap/CMakeLists.txt +@@ -57,3 +57,6 @@ endif(MSVC) + + target_link_libraries(tmap PRIVATE Threads::Threads) + target_link_libraries(tmap PRIVATE ${OpenMP_CXX_FLAGS}) ++ ++include(GNUInstallDirs) ++install(TARGETS tmap LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages") diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.2a-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.2a-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f3c639199b8 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.2a-GCCcore-11.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.2a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f'] + +builddependencies = [ + ('binutils', '2.37'), + ('Bison', '3.7.6'), + ('make', '4.3'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.2'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb b/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb new file mode 100644 index 00000000000..66a9f07ce16 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.2a.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.2a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551553a4f82beaa8dadc9256800bcc284d7c000081e47aa6ecbb6ff36eacd05f'] + +dependencies = [('libevent', '2.1.12')] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..de3e3e02e01 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.3a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'] + +builddependencies = [ + ('binutils', '2.38'), + ('Bison', '3.8.2'), + ('make', '4.3'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.3'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9a8359f7887 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.2.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.3a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'] + +builddependencies = [ + ('binutils', '2.39'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.3'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ac1145d1c84 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.3a-GCCcore-12.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.3a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.4'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.3a.eb b/easybuild/easyconfigs/t/tmux/tmux-3.3a.eb new file mode 100644 index 00000000000..0868cabd26d --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.3a.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.3a' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f'] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.4'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..8a3a24c2d12 --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('binutils', '2.40'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.4'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..43a1310c52d --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4-GCCcore-13.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'optarch': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('binutils', '2.42'), + ('Bison', '3.8.2'), + ('make', '4.4.1'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tmux/tmux-3.4.eb b/easybuild/easyconfigs/t/tmux/tmux-3.4.eb new file mode 100644 index 00000000000..d15f35e58ed --- /dev/null +++ b/easybuild/easyconfigs/t/tmux/tmux-3.4.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'tmux' +version = '3.4' + +homepage = 'https://github.com/tmux/tmux/' +description = """tmux is a terminal multiplexer: it enables a number of +terminals to be created, accessed, and controlled from a single screen. tmux +may be detached from a screen and continue running in the background, then +later reattached.""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['551ab8dea0bf505c0ad6b7bb35ef567cdde0ccb84357df142c254f35a23e19aa'] + +builddependencies = [ + ('Bison', '3.8.2'), +] + +dependencies = [ + ('libevent', '2.1.12'), + ('ncurses', '6.5'), +] + +sanity_check_paths = { + 'files': ['bin/tmux'], + 'dirs': [] +} + +sanity_check_commands = ["tmux --help 2>&1 | grep 'usage: tmux'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb b/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb new file mode 100644 index 00000000000..55bde0edd83 --- /dev/null +++ b/easybuild/easyconfigs/t/toil/toil-5.8.0-foss-2021a.eb @@ -0,0 +1,126 @@ +## +# 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 = 'PythonBundle' + +name = 'toil' +version = '5.8.0' + +homepage = 'https://github.com/DataBiosphere/toil' +description = """A scalable, efficient, cross-platform (Linux/macOS) and easy-to-use workflow engine in pure Python.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('dill', '0.3.4'), + # For extras 'cwl' + ('cwltool', '3.1.20221008225030'), + ('PyYAML', '5.4.1'), + ('boto3', '1.20.13'), +] + +use_pip = True + +# TODO add pymesos, wes_client ? +exts_list = [ + ('typing-extensions', '4.4.0', { + 'source_tmpl': 'typing_extensions-%(version)s.tar.gz', + 'checksums': ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'], + }), + ('addict', '2.4.0', { + 'checksums': ['b3b2210e0e067a281f5646c8c5db92e99b7231ea8b0eb5f74dbdf9e259d4e494'], + }), + ('blessed', '1.19.1', { + 'checksums': ['9a0d099695bf621d4680dd6c73f6ad547f6a3442fbdbe80c4b1daa1edbc492fc'], + }), + ('prefixed', '0.4.2', { + 'checksums': ['81f4e3bc15046e772713ab80f08690e61c52cceb20141425754eab5b00b130c9'], + }), + ('enlighten', '1.11.1', { + 'checksums': ['57abd98a3d3f83484ef9f91f9255f4d23c8b3097ecdb647c7b9b0049d600b7f8'], + }), + ('websocket-client', '1.4.2', { + 'modulename': 'websocket', + 'checksums': ['d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59'], + }), + ('docker', '5.0.3', { + 'checksums': ['d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb'], + }), + ('py-tes', '0.4.2', { + 'modulename': 'tes', + 'checksums': ['f6926cd59b7dfc8e37840955bf1cc7c43ad4d99ba5eae100b6156c918617472c'], + }), + # extra cwl requirements + ('pydantic', '1.10.2', { + 'checksums': ['91b8e218852ef6007c2b98cd861601c6a09f1aa32bbbb74fab5b1c33d4a1e410'], + }), + ('galaxy-containers', '22.1.1', { + 'modulename': 'galaxy.containers', + 'checksums': ['41e0003b18e580175d443cf21e9c2d2eb21a265c012164f7255cdb0c03a76334'], + }), + ('bleach', '5.0.1', { + 'checksums': ['0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c'], + }), + ('boltons', '21.0.0', { + 'checksums': ['65e70a79a731a7fe6e98592ecfb5ccf2115873d01dbc576079874629e5c90f13'], + }), + ('importlib-resources', '5.10.0', { + 'modulename': 'importlib_resources', + 'source_tmpl': 'importlib_resources-%(version)s.tar.gz', + 'checksums': ['c01b1b94210d9849f286b86bb51bcea7cd56dde0600d8db721d7b81330711668'], + }), + ('pycryptodome', '3.15.0', { + 'modulename': 'Crypto', + 'checksums': ['9135dddad504592bcc18b0d2d95ce86c3a5ea87ec6447ef25cfedea12d6018b8'], + }), + ('repoze.lru', '0.7', { + 'checksums': ['0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77'], + }), + ('Routes', '2.5.1', { + 'modulename': 'routes', + 'checksums': ['b6346459a15f0cbab01a45a90c3d25caf980d4733d628b4cc1952b865125d053'], + }), + ('zipstream-new', '1.1.8', { + 'modulename': 'zipstream', + 'checksums': ['b031fe181b94e51678389d26b174bc76382605a078d7d5d8f5beae083f111c76'], + }), + ('PyPubSub', '4.0.3', { + 'modulename': 'pubsub', + 'source_tmpl': 'Pypubsub-%(version)s-py3-none-any.whl', + 'checksums': ['7f716bae9388afe01ff82b264ba8a96a8ae78b42bb1f114f2716ca8f9e404e2a'], + }), + ('boto', '2.49.0', { + 'checksums': ['ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a'], + }), + ('galaxy-util', '22.1.1', { + 'modulename': 'galaxy.util', + 'checksums': ['70c1b79f2d2da64a7402f0dee70b4e4975ce49e14d6fa3a66d2e36f5ceb2bacf'], + }), + ('galaxy-tool-util', '22.1.4', { + 'modulename': 'galaxy.tool_util', + 'checksums': ['03e6ac9949c1422d3f872ffa7983180d6af07b5358ec4ed3b97180ebf43261d4'], + }), + (name, version, { + 'modulename': name, + 'use_pip_extras': 'cwl', + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['5eb9b968ddfa7badd81287bfccd3ae38d62ad4b4020e911c1936d393ae1d25a2'], + }), +] + +sanity_check_paths = { + 'files': ['bin/toil', 'bin/toil-cwl-runner'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["toil --help"] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ea5fce7f67c --- /dev/null +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.12.1-GCCcore-10.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'tokenizers' +version = '0.12.1' + +homepage = 'https://github.com/huggingface/tokenizers' +description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['070746f86efa6c873db341e55cf17bb5e7bdd5450330ca8eca542f5c3dab2c66'] + +builddependencies = [ + ('binutils', '2.36.1'), + ('Rust', '1.60.0'), +] + +dependencies = [ + ('Python', '3.9.5'), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.13.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.13.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ff29dc8e672 --- /dev/null +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.13.3-GCCcore-12.2.0.eb @@ -0,0 +1,585 @@ +easyblock = 'CargoPythonPackage' + +name = 'tokenizers' +version = '0.13.3' + +homepage = 'https://github.com/huggingface/tokenizers' +description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +crates = [ + ('addr2line', '0.21.0'), + ('adler', '1.0.2'), + ('aes', '0.8.3'), + ('aho-corasick', '0.7.20'), + ('aho-corasick', '1.1.2'), + ('anstream', '0.3.2'), + ('anstyle', '1.0.1'), + ('anstyle-parse', '0.2.1'), + ('anstyle-query', '1.0.0'), + ('anstyle-wincon', '1.0.1'), + ('atty', '0.2.14'), + ('autocfg', '1.1.0'), + ('backtrace', '0.3.69'), + ('base64', '0.13.1'), + ('base64', '0.21.5'), + ('base64ct', '1.6.0'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.1'), + ('block-buffer', '0.10.4'), + ('bumpalo', '3.14.0'), + ('byteorder', '1.5.0'), + ('bytes', '1.5.0'), + ('bzip2', '0.4.4'), + ('bzip2-sys', '0.1.11+1.0.8'), + ('cached-path', '0.6.1'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('cipher', '0.4.4'), + ('clap', '4.3.8'), + ('clap_builder', '4.3.8'), + ('clap_derive', '4.3.2'), + ('clap_lex', '0.5.0'), + ('colorchoice', '1.0.0'), + ('console', '0.15.7'), + ('constant_time_eq', '0.1.5'), + ('core-foundation', '0.9.3'), + ('core-foundation-sys', '0.8.4'), + ('cpufeatures', '0.2.8'), + ('crc32fast', '1.3.2'), + ('crossbeam-deque', '0.8.3'), + ('crossbeam-epoch', '0.9.15'), + ('crossbeam-utils', '0.8.16'), + ('crypto-common', '0.1.6'), + ('darling', '0.14.4'), + ('darling_core', '0.14.4'), + ('darling_macro', '0.14.4'), + ('derive_builder', '0.12.0'), + ('derive_builder_core', '0.12.0'), + ('derive_builder_macro', '0.12.0'), + ('digest', '0.10.7'), + ('dirs', '4.0.0'), + ('dirs-sys', '0.3.7'), + ('either', '1.9.0'), + ('encode_unicode', '0.3.6'), + ('encoding_rs', '0.8.33'), + ('env_logger', '0.7.1'), + ('errno', '0.3.8'), + ('esaxx-rs', '0.1.10'), + ('fastrand', '2.0.1'), + ('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'), + ('fs2', '0.4.3'), + ('futures-channel', '0.3.29'), + ('futures-core', '0.3.29'), + ('futures-io', '0.3.29'), + ('futures-sink', '0.3.29'), + ('futures-task', '0.3.29'), + ('futures-util', '0.3.29'), + ('generic-array', '0.14.7'), + ('getrandom', '0.2.10'), + ('gimli', '0.28.1'), + ('glob', '0.3.1'), + ('h2', '0.3.20'), + ('hashbrown', '0.12.3'), + ('heck', '0.4.1'), + ('hermit-abi', '0.1.19'), + ('hermit-abi', '0.3.3'), + ('hmac', '0.12.1'), + ('http', '0.2.11'), + ('http-body', '0.4.5'), + ('httparse', '1.8.0'), + ('httpdate', '1.0.3'), + ('humantime', '1.3.0'), + ('hyper', '0.14.27'), + ('hyper-tls', '0.5.0'), + ('ident_case', '1.0.1'), + ('idna', '0.5.0'), + ('indexmap', '1.9.3'), + ('indicatif', '0.15.0'), + ('indicatif', '0.16.2'), + ('indoc', '1.0.9'), + ('inout', '0.1.3'), + ('ipnet', '2.8.0'), + ('is-terminal', '0.4.9'), + ('itertools', '0.8.2'), + ('itertools', '0.9.0'), + ('itoa', '1.0.9'), + ('jobserver', '0.1.26'), + ('js-sys', '0.3.66'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.147'), + ('libredox', '0.0.1'), + ('linux-raw-sys', '0.4.11'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('macro_rules_attribute', '0.1.3'), + ('macro_rules_attribute-proc_macro', '0.1.3'), + ('matrixmultiply', '0.2.4'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.6.4'), + ('memoffset', '0.8.0'), + ('memoffset', '0.9.0'), + ('mime', '0.3.17'), + ('minimal-lexical', '0.2.1'), + ('miniz_oxide', '0.7.1'), + ('mio', '0.8.8'), + ('monostate', '0.1.6'), + ('monostate-impl', '0.1.6'), + ('native-tls', '0.2.11'), + ('ndarray', '0.13.1'), + ('ndarray', '0.15.6'), + ('nom', '7.1.3'), + ('num-complex', '0.2.4'), + ('num-complex', '0.4.4'), + ('num-integer', '0.1.45'), + ('num-traits', '0.2.17'), + ('num_cpus', '1.16.0'), + ('number_prefix', '0.3.0'), + ('number_prefix', '0.4.0'), + ('numpy', '0.18.0'), + ('object', '0.32.1'), + ('once_cell', '1.18.0'), + ('onig', '6.4.0'), + ('onig_sys', '69.8.1'), + ('openssl', '0.10.55'), + ('openssl-macros', '0.1.1'), + ('openssl-probe', '0.1.5'), + ('openssl-sys', '0.9.90'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('password-hash', '0.4.2'), + ('paste', '1.0.14'), + ('pbkdf2', '0.11.0'), + ('percent-encoding', '2.3.1'), + ('pin-project-lite', '0.2.13'), + ('pin-utils', '0.1.0'), + ('pkg-config', '0.3.27'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.63'), + ('pyo3', '0.18.3'), + ('pyo3-build-config', '0.18.3'), + ('pyo3-ffi', '0.18.3'), + ('pyo3-macros', '0.18.3'), + ('pyo3-macros-backend', '0.18.3'), + ('quick-error', '1.2.3'), + ('quote', '1.0.30'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.0'), + ('rayon-cond', '0.1.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.4.3'), + ('regex-syntax', '0.6.29'), + ('regex-syntax', '0.8.2'), + ('reqwest', '0.11.22'), + ('rustc-demangle', '0.1.23'), + ('rustc-hash', '1.1.0'), + ('rustix', '0.38.13'), + ('ryu', '1.0.15'), + ('schannel', '0.1.22'), + ('scopeguard', '1.2.0'), + ('security-framework', '2.9.2'), + ('security-framework-sys', '2.9.1'), + ('serde', '1.0.168'), + ('serde_derive', '1.0.168'), + ('serde_json', '1.0.99'), + ('serde_urlencoded', '0.7.1'), + ('sha1', '0.10.5'), + ('sha2', '0.10.7'), + ('slab', '0.4.9'), + ('smallvec', '1.11.2'), + ('socket2', '0.4.9'), + ('socket2', '0.5.4'), + ('spm_precompiled', '0.1.4'), + ('strsim', '0.10.0'), + ('subtle', '2.5.0'), + ('syn', '1.0.109'), + ('syn', '2.0.22'), + ('system-configuration', '0.5.1'), + ('system-configuration-sys', '0.5.0'), + ('tar', '0.4.40'), + ('target-lexicon', '0.12.8'), + ('tempfile', '3.8.0'), + ('termcolor', '1.4.0'), + ('thiserror', '1.0.40'), + ('thiserror-impl', '1.0.40'), + ('time', '0.3.22'), + ('time-core', '0.1.1'), + ('tinyvec', '1.6.0'), + ('tinyvec_macros', '0.1.1'), + ('tokio', '1.33.0'), + ('tokio-native-tls', '0.3.1'), + ('tokio-util', '0.7.10'), + ('tower-service', '0.3.2'), + ('tracing', '0.1.40'), + ('tracing-core', '0.1.32'), + ('try-lock', '0.2.4'), + ('typenum', '1.17.0'), + ('unicode-bidi', '0.3.13'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization', '0.1.22'), + ('unicode-normalization-alignments', '0.1.12'), + ('unicode-segmentation', '1.10.1'), + ('unicode-width', '0.1.11'), + ('unicode_categories', '0.1.1'), + ('unindent', '0.1.11'), + ('url', '2.5.0'), + ('utf8parse', '0.2.1'), + ('vcpkg', '0.2.15'), + ('version_check', '0.9.4'), + ('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'), + ('web-sys', '0.3.66'), + ('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'), + ('winreg', '0.50.0'), + ('xattr', '1.0.1'), + ('zip', '0.6.6'), + ('zstd', '0.11.2+zstd.1.5.2'), + ('zstd-safe', '5.0.2+zstd.1.5.2'), + ('zstd-sys', '2.0.9+zstd.1.5.5'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tokenizers-0.13.3.tar.gz': '2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e'}, + {'addr2line-0.21.0.tar.gz': '8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb'}, + {'adler-1.0.2.tar.gz': 'f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe'}, + {'aes-0.8.3.tar.gz': 'ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2'}, + {'aho-corasick-0.7.20.tar.gz': 'cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'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.1.tar.gz': '180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188'}, + {'atty-0.2.14.tar.gz': 'd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'backtrace-0.3.69.tar.gz': '2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'base64-0.21.5.tar.gz': '35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9'}, + {'base64ct-1.6.0.tar.gz': '8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.1.tar.gz': '327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07'}, + {'block-buffer-0.10.4.tar.gz': '3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71'}, + {'bumpalo-3.14.0.tar.gz': '7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec'}, + {'byteorder-1.5.0.tar.gz': '1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b'}, + {'bytes-1.5.0.tar.gz': 'a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223'}, + {'bzip2-0.4.4.tar.gz': 'bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8'}, + {'bzip2-sys-0.1.11+1.0.8.tar.gz': '736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc'}, + {'cached-path-0.6.1.tar.gz': '097968e38f1319207f057d0f4d76452e4f4f847a5de61c5215379f297fa034f3'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'cipher-0.4.4.tar.gz': '773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad'}, + {'clap-4.3.8.tar.gz': 'd9394150f5b4273a1763355bd1c2ec54cc5a2593f790587bcd6b2c947cfa9211'}, + {'clap_builder-4.3.8.tar.gz': '9a78fbdd3cc2914ddf37ba444114bc7765bbdcb55ec9cbe6fa054f0137400717'}, + {'clap_derive-4.3.2.tar.gz': 'b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f'}, + {'clap_lex-0.5.0.tar.gz': '2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'console-0.15.7.tar.gz': 'c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8'}, + {'constant_time_eq-0.1.5.tar.gz': '245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc'}, + {'core-foundation-0.9.3.tar.gz': '194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146'}, + {'core-foundation-sys-0.8.4.tar.gz': 'e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa'}, + {'cpufeatures-0.2.8.tar.gz': '03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c'}, + {'crc32fast-1.3.2.tar.gz': 'b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d'}, + {'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'}, + {'darling-0.14.4.tar.gz': '7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850'}, + {'darling_core-0.14.4.tar.gz': '109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0'}, + {'darling_macro-0.14.4.tar.gz': 'a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e'}, + {'derive_builder-0.12.0.tar.gz': '8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8'}, + {'derive_builder_core-0.12.0.tar.gz': 'c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f'}, + {'derive_builder_macro-0.12.0.tar.gz': 'ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e'}, + {'digest-0.10.7.tar.gz': '9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292'}, + {'dirs-4.0.0.tar.gz': 'ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059'}, + {'dirs-sys-0.3.7.tar.gz': '1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6'}, + {'either-1.9.0.tar.gz': 'a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'encoding_rs-0.8.33.tar.gz': '7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1'}, + {'env_logger-0.7.1.tar.gz': '44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'esaxx-rs-0.1.10.tar.gz': 'd817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'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'}, + {'fs2-0.4.3.tar.gz': '9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213'}, + {'futures-channel-0.3.29.tar.gz': 'ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb'}, + {'futures-core-0.3.29.tar.gz': 'eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c'}, + {'futures-io-0.3.29.tar.gz': '8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa'}, + {'futures-sink-0.3.29.tar.gz': 'e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817'}, + {'futures-task-0.3.29.tar.gz': 'efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2'}, + {'futures-util-0.3.29.tar.gz': 'a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104'}, + {'generic-array-0.14.7.tar.gz': '85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a'}, + {'getrandom-0.2.10.tar.gz': 'be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427'}, + {'gimli-0.28.1.tar.gz': '4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253'}, + {'glob-0.3.1.tar.gz': 'd2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b'}, + {'h2-0.3.20.tar.gz': '97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049'}, + {'hashbrown-0.12.3.tar.gz': '8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.1.19.tar.gz': '62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33'}, + {'hermit-abi-0.3.3.tar.gz': 'd77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7'}, + {'hmac-0.12.1.tar.gz': '6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e'}, + {'http-0.2.11.tar.gz': '8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb'}, + {'http-body-0.4.5.tar.gz': 'd5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1'}, + {'httparse-1.8.0.tar.gz': 'd897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904'}, + {'httpdate-1.0.3.tar.gz': 'df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9'}, + {'humantime-1.3.0.tar.gz': 'df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f'}, + {'hyper-0.14.27.tar.gz': 'ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468'}, + {'hyper-tls-0.5.0.tar.gz': 'd6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'idna-0.5.0.tar.gz': '634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6'}, + {'indexmap-1.9.3.tar.gz': 'bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99'}, + {'indicatif-0.15.0.tar.gz': '7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4'}, + {'indicatif-0.16.2.tar.gz': '2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b'}, + {'indoc-1.0.9.tar.gz': 'bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306'}, + {'inout-0.1.3.tar.gz': 'a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5'}, + {'ipnet-2.8.0.tar.gz': '28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6'}, + {'is-terminal-0.4.9.tar.gz': 'cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b'}, + {'itertools-0.8.2.tar.gz': 'f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484'}, + {'itertools-0.9.0.tar.gz': '284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b'}, + {'itoa-1.0.9.tar.gz': 'af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38'}, + {'jobserver-0.1.26.tar.gz': '936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2'}, + {'js-sys-0.3.66.tar.gz': 'cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.147.tar.gz': 'b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3'}, + {'libredox-0.0.1.tar.gz': '85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8'}, + {'linux-raw-sys-0.4.11.tar.gz': '969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'macro_rules_attribute-0.1.3.tar.gz': 'cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862'}, + {'macro_rules_attribute-proc_macro-0.1.3.tar.gz': + '58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d'}, + {'matrixmultiply-0.2.4.tar.gz': '916806ba0031cd542105d916a97c8572e1fa6dd79c9c51e7eb43a09ec2dd84c1'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.6.4.tar.gz': 'f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167'}, + {'memoffset-0.8.0.tar.gz': 'd61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'mime-0.3.17.tar.gz': '6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'miniz_oxide-0.7.1.tar.gz': 'e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7'}, + {'mio-0.8.8.tar.gz': '927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2'}, + {'monostate-0.1.6.tar.gz': '0230b703f1ac35df1e24f6d0d2255472bcccaf657ecdfa4f1fcbcad1ad5bb98a'}, + {'monostate-impl-0.1.6.tar.gz': '8795add3e14028f11f8e848bd3294898a8294767b3776b6f733560d33bd2530b'}, + {'native-tls-0.2.11.tar.gz': '07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e'}, + {'ndarray-0.13.1.tar.gz': 'ac06db03ec2f46ee0ecdca1a1c34a99c0d188a0d83439b84bf0cb4b386e4ab09'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'num-complex-0.2.4.tar.gz': 'b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95'}, + {'num-complex-0.4.4.tar.gz': '1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214'}, + {'num-integer-0.1.45.tar.gz': '225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9'}, + {'num-traits-0.2.17.tar.gz': '39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c'}, + {'num_cpus-1.16.0.tar.gz': '4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43'}, + {'number_prefix-0.3.0.tar.gz': '17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'numpy-0.18.0.tar.gz': '96b0fee4571867d318651c24f4a570c3f18408cf95f16ccb576b3ce85496a46e'}, + {'object-0.32.1.tar.gz': '9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0'}, + {'once_cell-1.18.0.tar.gz': 'dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d'}, + {'onig-6.4.0.tar.gz': '8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f'}, + {'onig_sys-69.8.1.tar.gz': '7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7'}, + {'openssl-0.10.55.tar.gz': '345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d'}, + {'openssl-macros-0.1.1.tar.gz': 'a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c'}, + {'openssl-probe-0.1.5.tar.gz': 'ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf'}, + {'openssl-sys-0.9.90.tar.gz': '374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'password-hash-0.4.2.tar.gz': '7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'pbkdf2-0.11.0.tar.gz': '83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917'}, + {'percent-encoding-2.3.1.tar.gz': 'e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e'}, + {'pin-project-lite-0.2.13.tar.gz': '8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58'}, + {'pin-utils-0.1.0.tar.gz': '8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184'}, + {'pkg-config-0.3.27.tar.gz': '26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.63.tar.gz': '7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb'}, + {'pyo3-0.18.3.tar.gz': 'e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109'}, + {'pyo3-build-config-0.18.3.tar.gz': '9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3'}, + {'pyo3-ffi-0.18.3.tar.gz': 'fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c'}, + {'pyo3-macros-0.18.3.tar.gz': 'a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d'}, + {'pyo3-macros-backend-0.18.3.tar.gz': '97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918'}, + {'quick-error-1.2.3.tar.gz': 'a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0'}, + {'quote-1.0.30.tar.gz': '5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb'}, + {'rand-0.8.5.tar.gz': '34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404'}, + {'rand_chacha-0.3.1.tar.gz': 'e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88'}, + {'rand_core-0.6.4.tar.gz': 'ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.0.tar.gz': '9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1'}, + {'rayon-cond-0.1.0.tar.gz': 'fd1259362c9065e5ea39a789ef40b1e3fd934c94beb7b5ab3ac6629d3b5e7cb7'}, + {'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.4.3.tar.gz': '5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f'}, + {'regex-syntax-0.6.29.tar.gz': 'f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'reqwest-0.11.22.tar.gz': '046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b'}, + {'rustc-demangle-0.1.23.tar.gz': 'd626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustix-0.38.13.tar.gz': 'd7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662'}, + {'ryu-1.0.15.tar.gz': '1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741'}, + {'schannel-0.1.22.tar.gz': '0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'security-framework-2.9.2.tar.gz': '05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de'}, + {'security-framework-sys-2.9.1.tar.gz': 'e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a'}, + {'serde-1.0.168.tar.gz': 'd614f89548720367ded108b3c843be93f3a341e22d5674ca0dd5cd57f34926af'}, + {'serde_derive-1.0.168.tar.gz': 'd4fe589678c688e44177da4f27152ee2d190757271dc7f1d5b6b9f68d869d641'}, + {'serde_json-1.0.99.tar.gz': '46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3'}, + {'serde_urlencoded-0.7.1.tar.gz': 'd3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd'}, + {'sha1-0.10.5.tar.gz': 'f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3'}, + {'sha2-0.10.7.tar.gz': '479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8'}, + {'slab-0.4.9.tar.gz': '8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67'}, + {'smallvec-1.11.2.tar.gz': '4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970'}, + {'socket2-0.4.9.tar.gz': '64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662'}, + {'socket2-0.5.4.tar.gz': '4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e'}, + {'spm_precompiled-0.1.4.tar.gz': '5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'subtle-2.5.0.tar.gz': '81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.22.tar.gz': '2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616'}, + {'system-configuration-0.5.1.tar.gz': 'ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7'}, + {'system-configuration-sys-0.5.0.tar.gz': 'a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9'}, + {'tar-0.4.40.tar.gz': 'b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb'}, + {'target-lexicon-0.12.8.tar.gz': '1b1c7f239eb94671427157bd93b3694320f3668d4e1eff08c7285366fd777fac'}, + {'tempfile-3.8.0.tar.gz': 'cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef'}, + {'termcolor-1.4.0.tar.gz': 'ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449'}, + {'thiserror-1.0.40.tar.gz': '978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac'}, + {'thiserror-impl-1.0.40.tar.gz': 'f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f'}, + {'time-0.3.22.tar.gz': 'ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd'}, + {'time-core-0.1.1.tar.gz': '7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb'}, + {'tinyvec-1.6.0.tar.gz': '87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50'}, + {'tinyvec_macros-0.1.1.tar.gz': '1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20'}, + {'tokio-1.33.0.tar.gz': '4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653'}, + {'tokio-native-tls-0.3.1.tar.gz': 'bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2'}, + {'tokio-util-0.7.10.tar.gz': '5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15'}, + {'tower-service-0.3.2.tar.gz': 'b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52'}, + {'tracing-0.1.40.tar.gz': 'c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef'}, + {'tracing-core-0.1.32.tar.gz': 'c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54'}, + {'try-lock-0.2.4.tar.gz': '3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed'}, + {'typenum-1.17.0.tar.gz': '42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825'}, + {'unicode-bidi-0.3.13.tar.gz': '92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-0.1.22.tar.gz': '5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921'}, + {'unicode-normalization-alignments-0.1.12.tar.gz': + '43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de'}, + {'unicode-segmentation-1.10.1.tar.gz': '1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unicode_categories-0.1.1.tar.gz': '39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e'}, + {'unindent-0.1.11.tar.gz': 'e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c'}, + {'url-2.5.0.tar.gz': '31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'vcpkg-0.2.15.tar.gz': 'accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426'}, + {'version_check-0.9.4.tar.gz': '49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f'}, + {'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'}, + {'web-sys-0.3.66.tar.gz': '50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f'}, + {'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'}, + {'winreg-0.50.0.tar.gz': '524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1'}, + {'xattr-1.0.1.tar.gz': 'f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985'}, + {'zip-0.6.6.tar.gz': '760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261'}, + {'zstd-0.11.2+zstd.1.5.2.tar.gz': '20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4'}, + {'zstd-safe-5.0.2+zstd.1.5.2.tar.gz': '1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db'}, + {'zstd-sys-2.0.9+zstd.1.5.5.tar.gz': '9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Rust', '1.65.0'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +use_pip = True +sanity_pip_check = True +download_dep_fail = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f5938e32de3 --- /dev/null +++ b/easybuild/easyconfigs/t/tokenizers/tokenizers-0.15.2-GCCcore-12.3.0.eb @@ -0,0 +1,327 @@ +easyblock = 'CargoPythonBundle' + +name = 'tokenizers' +version = '0.15.2' + +homepage = 'https://github.com/huggingface/tokenizers' +description = "Fast State-of-the-Art Tokenizers optimized for Research and Production" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +crates = [ + ('aho-corasick', '1.1.2'), + ('anstream', '0.6.11'), + ('anstyle', '1.0.6'), + ('anstyle-parse', '0.2.3'), + ('anstyle-query', '1.0.2'), + ('anstyle-wincon', '3.0.2'), + ('autocfg', '1.1.0'), + ('base64', '0.13.1'), + ('bitflags', '1.3.2'), + ('bitflags', '2.4.2'), + ('cc', '1.0.83'), + ('cfg-if', '1.0.0'), + ('clap', '4.5.0'), + ('clap_builder', '4.5.0'), + ('clap_derive', '4.5.0'), + ('clap_lex', '0.7.0'), + ('colorchoice', '1.0.0'), + ('console', '0.15.8'), + ('crossbeam-deque', '0.8.5'), + ('crossbeam-epoch', '0.9.18'), + ('crossbeam-utils', '0.8.19'), + ('darling', '0.14.4'), + ('darling_core', '0.14.4'), + ('darling_macro', '0.14.4'), + ('derive_builder', '0.12.0'), + ('derive_builder_core', '0.12.0'), + ('derive_builder_macro', '0.12.0'), + ('either', '1.10.0'), + ('encode_unicode', '0.3.6'), + ('env_logger', '0.10.2'), + ('errno', '0.3.8'), + ('esaxx-rs', '0.1.10'), + ('fastrand', '2.0.1'), + ('fnv', '1.0.7'), + ('getrandom', '0.2.12'), + ('heck', '0.4.1'), + ('hermit-abi', '0.3.5'), + ('humantime', '2.1.0'), + ('ident_case', '1.0.1'), + ('indicatif', '0.17.8'), + ('indoc', '2.0.4'), + ('instant', '0.1.12'), + ('is-terminal', '0.4.12'), + ('itertools', '0.11.0'), + ('itertools', '0.12.1'), + ('itoa', '1.0.10'), + ('lazy_static', '1.4.0'), + ('libc', '0.2.153'), + ('linux-raw-sys', '0.4.13'), + ('lock_api', '0.4.11'), + ('log', '0.4.20'), + ('macro_rules_attribute', '0.2.0'), + ('macro_rules_attribute-proc_macro', '0.2.0'), + ('matrixmultiply', '0.3.8'), + ('memchr', '2.7.1'), + ('memoffset', '0.9.0'), + ('minimal-lexical', '0.2.1'), + ('monostate', '0.1.11'), + ('monostate-impl', '0.1.11'), + ('ndarray', '0.15.6'), + ('nom', '7.1.3'), + ('num-complex', '0.4.5'), + ('num-integer', '0.1.46'), + ('num-traits', '0.2.18'), + ('number_prefix', '0.4.0'), + ('numpy', '0.20.0'), + ('once_cell', '1.19.0'), + ('onig', '6.4.0'), + ('onig_sys', '69.8.1'), + ('parking_lot', '0.12.1'), + ('parking_lot_core', '0.9.9'), + ('paste', '1.0.14'), + ('pkg-config', '0.3.29'), + ('portable-atomic', '1.6.0'), + ('ppv-lite86', '0.2.17'), + ('proc-macro2', '1.0.78'), + ('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'), + ('quote', '1.0.35'), + ('rand', '0.8.5'), + ('rand_chacha', '0.3.1'), + ('rand_core', '0.6.4'), + ('rawpointer', '0.2.1'), + ('rayon', '1.8.1'), + ('rayon-cond', '0.3.0'), + ('rayon-core', '1.12.1'), + ('redox_syscall', '0.4.1'), + ('regex', '1.10.3'), + ('regex-automata', '0.4.5'), + ('regex-syntax', '0.8.2'), + ('rustc-hash', '1.1.0'), + ('rustix', '0.38.31'), + ('ryu', '1.0.16'), + ('scopeguard', '1.2.0'), + ('serde', '1.0.196'), + ('serde_derive', '1.0.196'), + ('serde_json', '1.0.113'), + ('smallvec', '1.13.1'), + ('spm_precompiled', '0.1.4'), + ('strsim', '0.10.0'), + ('strsim', '0.11.0'), + ('syn', '1.0.109'), + ('syn', '2.0.48'), + ('target-lexicon', '0.12.13'), + ('tempfile', '3.10.0'), + ('termcolor', '1.4.1'), + ('thiserror', '1.0.56'), + ('thiserror-impl', '1.0.56'), + ('unicode-ident', '1.0.12'), + ('unicode-normalization-alignments', '0.1.12'), + ('unicode-segmentation', '1.11.0'), + ('unicode-width', '0.1.11'), + ('unicode_categories', '0.1.1'), + ('unindent', '0.2.3'), + ('utf8parse', '0.2.1'), + ('wasi', '0.11.0+wasi-snapshot-preview1'), + ('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.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'), +] +sources = [SOURCE_TAR_GZ] +checksums = [ + {'tokenizers-0.15.2.tar.gz': 'e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91'}, + {'aho-corasick-1.1.2.tar.gz': 'b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0'}, + {'anstream-0.6.11.tar.gz': '6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5'}, + {'anstyle-1.0.6.tar.gz': '8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc'}, + {'anstyle-parse-0.2.3.tar.gz': 'c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c'}, + {'anstyle-query-1.0.2.tar.gz': 'e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648'}, + {'anstyle-wincon-3.0.2.tar.gz': '1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7'}, + {'autocfg-1.1.0.tar.gz': 'd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa'}, + {'base64-0.13.1.tar.gz': '9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8'}, + {'bitflags-1.3.2.tar.gz': 'bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a'}, + {'bitflags-2.4.2.tar.gz': 'ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf'}, + {'cc-1.0.83.tar.gz': 'f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0'}, + {'cfg-if-1.0.0.tar.gz': 'baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd'}, + {'clap-4.5.0.tar.gz': '80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f'}, + {'clap_builder-4.5.0.tar.gz': '458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99'}, + {'clap_derive-4.5.0.tar.gz': '307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47'}, + {'clap_lex-0.7.0.tar.gz': '98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce'}, + {'colorchoice-1.0.0.tar.gz': 'acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7'}, + {'console-0.15.8.tar.gz': '0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb'}, + {'crossbeam-deque-0.8.5.tar.gz': '613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d'}, + {'crossbeam-epoch-0.9.18.tar.gz': '5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e'}, + {'crossbeam-utils-0.8.19.tar.gz': '248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345'}, + {'darling-0.14.4.tar.gz': '7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850'}, + {'darling_core-0.14.4.tar.gz': '109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0'}, + {'darling_macro-0.14.4.tar.gz': 'a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e'}, + {'derive_builder-0.12.0.tar.gz': '8d67778784b508018359cbc8696edb3db78160bab2c2a28ba7f56ef6932997f8'}, + {'derive_builder_core-0.12.0.tar.gz': 'c11bdc11a0c47bc7d37d582b5285da6849c96681023680b906673c5707af7b0f'}, + {'derive_builder_macro-0.12.0.tar.gz': 'ebcda35c7a396850a55ffeac740804b40ffec779b98fffbb1738f4033f0ee79e'}, + {'either-1.10.0.tar.gz': '11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a'}, + {'encode_unicode-0.3.6.tar.gz': 'a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f'}, + {'env_logger-0.10.2.tar.gz': '4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580'}, + {'errno-0.3.8.tar.gz': 'a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245'}, + {'esaxx-rs-0.1.10.tar.gz': 'd817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6'}, + {'fastrand-2.0.1.tar.gz': '25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5'}, + {'fnv-1.0.7.tar.gz': '3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1'}, + {'getrandom-0.2.12.tar.gz': '190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5'}, + {'heck-0.4.1.tar.gz': '95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8'}, + {'hermit-abi-0.3.5.tar.gz': 'd0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3'}, + {'humantime-2.1.0.tar.gz': '9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4'}, + {'ident_case-1.0.1.tar.gz': 'b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39'}, + {'indicatif-0.17.8.tar.gz': '763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3'}, + {'indoc-2.0.4.tar.gz': '1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8'}, + {'instant-0.1.12.tar.gz': '7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c'}, + {'is-terminal-0.4.12.tar.gz': 'f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b'}, + {'itertools-0.11.0.tar.gz': 'b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57'}, + {'itertools-0.12.1.tar.gz': 'ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569'}, + {'itoa-1.0.10.tar.gz': 'b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c'}, + {'lazy_static-1.4.0.tar.gz': 'e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646'}, + {'libc-0.2.153.tar.gz': '9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd'}, + {'linux-raw-sys-0.4.13.tar.gz': '01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c'}, + {'lock_api-0.4.11.tar.gz': '3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45'}, + {'log-0.4.20.tar.gz': 'b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f'}, + {'macro_rules_attribute-0.2.0.tar.gz': '8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13'}, + {'macro_rules_attribute-proc_macro-0.2.0.tar.gz': + 'b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568'}, + {'matrixmultiply-0.3.8.tar.gz': '7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2'}, + {'memchr-2.7.1.tar.gz': '523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149'}, + {'memoffset-0.9.0.tar.gz': '5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c'}, + {'minimal-lexical-0.2.1.tar.gz': '68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a'}, + {'monostate-0.1.11.tar.gz': '878c2a1f1c70e5724fa28f101ca787b6a7e8ad5c5e4ae4ca3b0fa4a419fa9075'}, + {'monostate-impl-0.1.11.tar.gz': 'f686d68a09079e63b1d2c64aa305095887ce50565f00a922ebfaeeee0d9ba6ce'}, + {'ndarray-0.15.6.tar.gz': 'adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32'}, + {'nom-7.1.3.tar.gz': 'd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a'}, + {'num-complex-0.4.5.tar.gz': '23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6'}, + {'num-integer-0.1.46.tar.gz': '7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f'}, + {'num-traits-0.2.18.tar.gz': 'da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a'}, + {'number_prefix-0.4.0.tar.gz': '830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3'}, + {'numpy-0.20.0.tar.gz': 'bef41cbb417ea83b30525259e30ccef6af39b31c240bda578889494c5392d331'}, + {'once_cell-1.19.0.tar.gz': '3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92'}, + {'onig-6.4.0.tar.gz': '8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f'}, + {'onig_sys-69.8.1.tar.gz': '7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7'}, + {'parking_lot-0.12.1.tar.gz': '3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f'}, + {'parking_lot_core-0.9.9.tar.gz': '4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e'}, + {'paste-1.0.14.tar.gz': 'de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c'}, + {'pkg-config-0.3.29.tar.gz': '2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb'}, + {'portable-atomic-1.6.0.tar.gz': '7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0'}, + {'ppv-lite86-0.2.17.tar.gz': '5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de'}, + {'proc-macro2-1.0.78.tar.gz': 'e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae'}, + {'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'}, + {'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'}, + {'rawpointer-0.2.1.tar.gz': '60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3'}, + {'rayon-1.8.1.tar.gz': 'fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051'}, + {'rayon-cond-0.3.0.tar.gz': '059f538b55efd2309c9794130bc149c6a553db90e9d99c2030785c82f0bd7df9'}, + {'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.5.tar.gz': '5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd'}, + {'regex-syntax-0.8.2.tar.gz': 'c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f'}, + {'rustc-hash-1.1.0.tar.gz': '08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2'}, + {'rustix-0.38.31.tar.gz': '6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949'}, + {'ryu-1.0.16.tar.gz': 'f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c'}, + {'scopeguard-1.2.0.tar.gz': '94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49'}, + {'serde-1.0.196.tar.gz': '870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32'}, + {'serde_derive-1.0.196.tar.gz': '33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67'}, + {'serde_json-1.0.113.tar.gz': '69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79'}, + {'smallvec-1.13.1.tar.gz': 'e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7'}, + {'spm_precompiled-0.1.4.tar.gz': '5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326'}, + {'strsim-0.10.0.tar.gz': '73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623'}, + {'strsim-0.11.0.tar.gz': '5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01'}, + {'syn-1.0.109.tar.gz': '72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237'}, + {'syn-2.0.48.tar.gz': '0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f'}, + {'target-lexicon-0.12.13.tar.gz': '69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae'}, + {'tempfile-3.10.0.tar.gz': 'a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67'}, + {'termcolor-1.4.1.tar.gz': '06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755'}, + {'thiserror-1.0.56.tar.gz': 'd54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad'}, + {'thiserror-impl-1.0.56.tar.gz': 'fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471'}, + {'unicode-ident-1.0.12.tar.gz': '3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b'}, + {'unicode-normalization-alignments-0.1.12.tar.gz': + '43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de'}, + {'unicode-segmentation-1.11.0.tar.gz': 'd4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202'}, + {'unicode-width-0.1.11.tar.gz': 'e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85'}, + {'unicode_categories-0.1.1.tar.gz': '39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e'}, + {'unindent-0.2.3.tar.gz': 'c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce'}, + {'utf8parse-0.2.1.tar.gz': '711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a'}, + {'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.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.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'}, +] + +_rust_ver = '1.75.0' +builddependencies = [ + ('binutils', '2.40'), + ('Rust', _rust_ver), + ('maturin', '1.4.0', '-Rust-%s' % _rust_ver), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), # fsspec, filelock used by hf-hub + ('PyYAML', '6.0'), # used by hf-hub + ('tqdm', '4.66.1'), # used by hf-hub +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('huggingface-hub', '0.21.4', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['e1f4968c93726565a80edf6dc309763c7b546d0cfe79aa221206034d50155531'], + }), + (name, version, { + 'checksums': ['e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..6e1e1c39fdf --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'topaz' +version = '0.2.5' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/tbepler/topaz' +description = """A pipeline for particle detection in cryo-electron microscopy + images using convolutional neural networks trained from positive and unlabeled + examples. Topaz also includes methods for micrograph denoising using deep de- + noising models. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0', versionsuffix), + ('torchvision', '0.11.1', versionsuffix), + ('scikit-learn', '0.24.2'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('topaz-em', version, { + 'checksums': ['002a6eb775598b6c4df0225f3a488bfe6a6da9246e8ca42eb4e7d58f694c25cc'], + 'modulename': name, + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%(name)s --help", "%(name)s --version"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a.eb new file mode 100644 index 00000000000..a0657518bae --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5-foss-2021a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'topaz' +version = '0.2.5' + +homepage = 'https://github.com/tbepler/topaz' +description = """A pipeline for particle detection in cryo-electron microscopy + images using convolutional neural networks trained from positive and unlabeled + examples. Topaz also includes methods for micrograph denoising using deep de- + noising models. +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('PyTorch', '1.10.0'), + ('torchvision', '0.11.3'), + ('scikit-learn', '0.24.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('topaz-em', version, { + 'checksums': ['002a6eb775598b6c4df0225f3a488bfe6a6da9246e8ca42eb4e7d58f694c25cc'], + 'modulename': name, + }), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["%(name)s --help", "%(name)s --version"] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20230926-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20230926-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..045f43bbb15 --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20230926-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,55 @@ +# Thomas Hoffman, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'PythonPackage' + +name = 'topaz' +_mainversion = '0.2.5' +_commitdate = '20230926' +_commit = 'dadfe725efa9181e55864054f492a41b4abe8c1c' +version = '%s.%s' % (_mainversion, _commitdate) +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://cb.csail.mit.edu/cb/topaz/' + +description = """Particle picking software for single particle cryo-electron microscopy using +convolutional neural networks and positive-unlabeled learning. Includes methods +for micrograph denoising.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +use_pip = True + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', '1.12.0', versionsuffix), + ('scikit-learn', '1.1.2'), + ('torchvision', '0.13.1', versionsuffix), +] + +source_urls = [ + 'https://github.com/tbepler/topaz/archive', +] +sources = [{ + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%(name)s-%(version)s.tar.gz' +}] +patches = [ + 'topaz-0.2.5_install_relion3_wrappers.patch', +] +checksums = [ + {'topaz-0.2.5.20230926.tar.gz': 'd0d6a36c106b565f9623fb2fada7494cc3e5bbde0925dad39794e8791dfad14f'}, + {'topaz-0.2.5_install_relion3_wrappers.patch': '0fe23a0ecaf887aaa89641a7e7cf37fafd3134384b0a8f46acb4e17537d1a151'}, +] + +download_dep_fail = True +sanity_pip_check = True +options = {'modulename': 'topaz'} +_relion3_wrappers = ['denoise', 'pick', 'train', 'train_denoise'] +sanity_check_commands = ['run_topaz_%s.py --help' % x for x in _relion3_wrappers] + ['topaz --help'] +sanity_check_paths = { + 'files': ["bin/run_topaz_%s.py" % x for x in _relion3_wrappers], + 'dirs': [], +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8156c8d8dbc --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,61 @@ +# Thomas Hoffman, EMBL Heidelberg, structures-it@embl.de, 2023/11 +easyblock = 'PythonPackage' + +name = 'topaz' +_mainversion = '0.2.5' +_commitdate = '20231120' +_commit = '25cb2cb' +version = '%s.%s' % (_mainversion, _commitdate) +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://cb.csail.mit.edu/cb/topaz/' + +description = """Particle picking software for single particle cryo-electron microscopy using +convolutional neural networks and positive-unlabeled learning. Includes methods +for micrograph denoising.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('PyTorch-bundle', '2.1.2', versionsuffix), + ('scikit-learn', '1.3.1'), + ('scikit-image', '0.22.0'), +] + +source_urls = ['https://github.com/tbepler/topaz/archive'] +sources = [{ + 'download_filename': '%s.tar.gz' % _commit, + 'filename': '%(name)s-%(version)s.tar.gz' +}] +patches = [ + 'topaz-0.2.5_install_relion3_wrappers.patch', + 'topaz-0.2.5.20231120_helical-filament-picking.patch', + 'topaz-0.2.5.20231120_update-description.patch', +] +checksums = [ + {'topaz-0.2.5.20231120.tar.gz': 'ca0630f9a69622eb3e10c9de310f58ac846e60a5504c4533398a9a75b3091df9'}, + {'topaz-0.2.5_install_relion3_wrappers.patch': '0fe23a0ecaf887aaa89641a7e7cf37fafd3134384b0a8f46acb4e17537d1a151'}, + {'topaz-0.2.5.20231120_helical-filament-picking.patch': + '320466e4ac1d1f06ba392a419aefa369905baa6877717868cd8ea7135b6bc28f'}, + {'topaz-0.2.5.20231120_update-description.patch': + '073241dba2de63e543136a387ff7ef698a5e0139ab3356de021e370338fa57c1'}, +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +options = {'modulename': 'topaz'} + +_relion3_wrappers = ['denoise', 'pick', 'train', 'train_denoise'] + +sanity_check_paths = { + 'files': ["bin/run_topaz_%s.py" % x for x in _relion3_wrappers], + 'dirs': [], +} +sanity_check_commands = ['run_topaz_%s.py --help' % x for x in _relion3_wrappers] + ['topaz --help'] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch new file mode 100644 index 00000000000..2e8413fd5e3 --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_helical-filament-picking.patch @@ -0,0 +1,289 @@ +From 4ea1710c88648ff4c5f7232e20ad5d9aa9535241 Mon Sep 17 00:00:00 2001 +From: scheres +Date: Wed, 5 Jan 2022 12:13:10 +0000 +Subject: [PATCH] implemented helical filament picking in extract.py + +--- + topaz/commands/extract.py | 225 ++++++++++++++++++++++++++++++++++++-- + 1 file changed, 215 insertions(+), 10 deletions(-) + +diff --git a/topaz/commands/extract.py b/topaz/commands/extract.py +index 3c3f032..6676618 100644 +--- a/topaz/commands/extract.py ++++ b/topaz/commands/extract.py +@@ -52,6 +52,11 @@ def add_arguments(parser): + parser.add_argument('--targets', help='path to file specifying particle coordinates. used to find extraction radius that maximizes the AUPRC') + parser.add_argument('--only-validate', action='store_true', help='flag indicating to only calculate validation metrics. does not report full prediction list') + ++ # Filament picking SHWS 30032021 ++ parser.add_argument('-f', '--filaments', action='store_true', help='flag for filament start-end picking.') ++ parser.add_argument('-fp', '--filaments_plot', action='store_true', help='flag for filament start-end picking plus plotting of its intermediate stages (useful for tuning parameters).') ++ parser.add_argument('-fl', '--filaments_length', default=-1, type=int, help='minimum length of straight filament segments to be picked (in Angstrom) (default: twice --radius)') ++ + parser.add_argument('-d', '--device', default=0, type=int, help='which device to use, <0 corresponds to CPU') + + parser.add_argument('-o', '--output', help='file path to write') +@@ -63,24 +68,219 @@ def add_arguments(parser): + + return parser + ++ ++def is_in_between(point, line): ++ dx = line[1][0] - line[0][0] ++ dy = line[1][1] - line[0][1] ++ dotp = (point[0] - line[0][0])*dx + (point[1] - line[0][1])*dy ++ return 0 <= dotp and dotp <= dx*dx + dy*dy ++ ++def distance_point_line(point, line): ++ x1=line[0][0] ++ x2=line[1][0] ++ y1=line[0][1] ++ y2=line[1][1] ++ x0=point[0] ++ y0=point[1] ++ dd = abs( (x2-x1)*(y1-y0) - (x1-x0)*(y2-y1) ) / np.sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) ++ if not is_in_between(point,line): ++ closest = min(distance_point_point(point,line[0]), distance_point_point(point,line[1])) ++ return max(closest, dd) ++ else: ++ return dd ++ ++def distance_point_point(point1, point2): ++ x1=point1[0] ++ y1=point1[1] ++ x2=point2[0] ++ y2=point2[1] ++ return np.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) ++ ++def angle_line_line(line1, line2): ++ a1 = np.arctan2(line1[1][1]-line1[0][1], line1[1][0]-line1[0][0]) ++ a2 = np.arctan2(line2[1][1]-line2[0][1], line2[1][0]-line2[0][0]) ++ return abs(a2-a1) ++ ++def prune_lines(inlines, mind, min_ang, max_merge): ++ import math ++ lengths = [] ++ merged = [] ++ lines = np.asarray(inlines) ++ for line in lines: ++ lengths = np.append(lengths, np.linalg.norm(line[0]-line[1])) ++ merged = np.append(merged, 1) ++ sortidx = np.argsort(lengths); ++ ++ min_ang_rad = math.radians(min_ang) ++ NN = len(sortidx) ++ idx = NN - 1 ++ while idx >= 0: ++ i1 = sortidx[idx] ++ ++ for i2 in range(NN): ++ if (i1 != i2 and lengths[i2] > 0. and lengths[i1] > 0.): ++ ++ d11 = distance_point_line(lines[i1][0],lines[i2]) ++ d12 = distance_point_line(lines[i1][1],lines[i2]) ++ d21 = distance_point_line(lines[i2][0],lines[i1]) ++ d22 = distance_point_line(lines[i2][1],lines[i1]) ++ ang = angle_line_line(lines[i1], lines[i2]) ++ sum = 0 ++ if (d11 < mind): ++ sum = sum + 1 ++ if (d12 < mind): ++ sum = sum + 1 ++ if (d21 < mind): ++ sum = sum + 1 ++ if (d22 < mind): ++ sum = sum + 1 ++ ++ # merge lines if they haven't been merged too often already, they overlap two or more points and are parallel ++ if ( (merged[i1] + merged[i2] < max_merge) and (sum >= 2) and (ang < min_ang_rad or abs(ang-math.pi) < min_ang_rad) ): ++ ++ # select the two points with the furthest distance ++ maxd=0 ++ for i in range(2): ++ for j in range(2): ++ d = distance_point_point(lines[i1][i], lines[i2][j]) ++ if (d > maxd): ++ maxd = d ++ mymax0 = lines[i1][i] ++ mymax1 = lines[i2][j] ++ # perhaps original one was longer? ++ if maxd > lengths[i1]: ++ lines[i1][0] = mymax0 ++ lines[i1][1] = mymax1 ++ lengths[i1] = np.linalg.norm(lines[i1][0]-lines[i1][1]) ++ merged[i1] = merged[i1] + merged[i2] ++ ++ lines[i2][0][0] = -9999 ++ lines[i2][0][1] = -9999 ++ lines[i2][1][0] = -9999 ++ lines[i2][1][1] = -9999 ++ lengths[i2] = 0 ++ merged[i2] = 0 ++ idx = idx + 1 ++ break ++ ++ # remove smaller lines with both points close to longer one ++ elif (d21 < mind and d22 < mind): ++ lines[i2][0][0] = -9999 ++ lines[i2][0][1] = -9999 ++ lines[i2][1][0] = -9999 ++ lines[i2][1][1] = -9999 ++ lengths[i2] = 0 ++ ++ idx = idx - 1 ++ ++ return lines ++ ++ ++def pick_filaments(score, radius, threshold, filaments_length, filaments_plot): ++ from topaz import mrc ++ from skimage.filters import gaussian ++ from skimage.transform import probabilistic_hough_line ++ from skimage.morphology import skeletonize ++ import math ++ ++ #Parameters ++ thr = round(0.1*filaments_length) ++ line_length = filaments_length ++ gap = radius ++ mind= radius ++ min_angle = 10 ++ max_merge = 5 ++ ++ bin_score = (gaussian(score, 3) > threshold) ++ edges = skeletonize(bin_score) ++ houghs = probabilistic_hough_line(edges, threshold=thr, line_length=line_length, line_gap=gap) ++ lines = prune_lines(houghs, mind=mind, min_ang=min_angle, max_merge=max_merge) ++ ++ if filaments_plot: ++ import matplotlib.pyplot as plt ++ from matplotlib import cm ++ fig, axes = plt.subplots(1, 4, figsize=(15, 5), sharex=True, sharey=True) ++ ax = axes.ravel() ++ ++ ax[0].imshow(score, cmap=cm.binary, vmin=-20, vmax=5) ++ ax[0].imshow(bin_score, alpha=0.5, cmap=cm.Reds) ++ ax[0].set_title('FOM [-20,5] thr= ' + str(threshold)) ++ ++ ax[1].imshow(edges, cmap=cm.gray) ++ ax[1].set_title('Skeletonize') ++ ++ ax[2].imshow(edges * 0) ++ for hough in houghs: ++ p0, p1 = hough ++ ax[2].plot((p0[0], p1[0]), (p0[1], p1[1])) ++ ax[2].set_xlim((0, score.shape[1])) ++ ax[2].set_ylim((score.shape[0], 0)) ++ ax[2].set_title('Hough transform; len= ' + str(line_length) + ' gap= ' + str(gap)) ++ ++ ax[3].imshow(edges * 0) ++ for line in lines: ++ p0, p1 = line ++ ax[3].plot((p0[0], p1[0]), (p0[1], p1[1])) ++ ax[3].set_xlim((0, score.shape[1])) ++ ax[3].set_ylim((score.shape[0], 0)) ++ ax[3].set_title('Prune: mind= ' + str(mind)) ++ ++ for a in ax: ++ a.set_axis_off() ++ ++ plt.tight_layout() ++ plt.show() ++ ++ oldlines=lines ++ # Flatten lines into 2D array, as rest of topaz ++ NN=len(lines) ++ if NN>0: ++ lines = lines.reshape(2*NN, 2) ++ # Remove -9999 coordinates ++ newlines = [] ++ for i in range(2*NN): ++ if (lines[i,0] != -9999 and lines[i,1] != -9999): ++ newlines = np.append(newlines, lines[i]) ++ ++ NN=round(len(newlines)/2) ++ if (NN>0): ++ lines = newlines.reshape(NN, 2) ++ else: ++ lines = [] ++ ++ # Just set scores to zero, a they are meaningless now ++ scores = np.zeros(NN, dtype=np.float32) ++ ++ return scores, lines ++ ++ + class NonMaximumSuppression: +- def __init__(self, radius, threshold): ++ def __init__(self, radius, threshold, do_filaments=False, filaments_length=150, filaments_plot=False): + self.radius = radius + self.threshold = threshold ++ self.do_filaments = do_filaments ++ self.filaments_length = filaments_length ++ self.filaments_plot = filaments_plot + + def __call__(self, args): + name,score = args +- score,coords = non_maximum_suppression(score, self.radius, threshold=self.threshold) +- return name, score, coords ++ if self.do_filaments: ++ score,coords = pick_filaments(score, self.radius, threshold=self.threshold, length=self.filaments_length, filaments_plot = self.filaments_plot ) ++ else: ++ score,coords = non_maximum_suppression(score, self.radius, threshold=self.threshold, length=self.filaments_length) ++ return name, core, coords + +-def nms_iterator(scores, radius, threshold, pool=None): +- process = NonMaximumSuppression(radius, threshold) ++def nms_iterator(scores, radius, threshold, pool=None, do_filaments=False, filaments_length=150, filaments_plot=False): ++ process = NonMaximumSuppression(radius, threshold, do_filaments, filaments_length, filaments_plot) + if pool is not None: + for name,score,coords in pool.imap_unordered(process, scores): + yield name,score,coords + else: + for name,score in scores: +- score,coords = non_maximum_suppression(score, radius, threshold=threshold) ++ if do_filaments: ++ score,coords = pick_filaments(score, radius, threshold=threshold, filaments_length=filaments_length, filaments_plot=filaments_plot) ++ else: ++ score,coords = non_maximum_suppression(score, radius, threshold=threshold) + yield name,score,coords + + def iterate_score_target_pairs(scores, targets): +@@ -231,6 +431,12 @@ def main(args): + if radius is None: + radius = -1 + ++ do_filaments = args.filaments or args.filaments_plot ++ filaments_length = args.filaments_length ++ if (filaments_length < 0): ++ filaments_length = 2 * radius ++ filaments_plot = args.filaments_plot ++ + num_workers = args.num_workers + pool = None + if num_workers < 0: +@@ -284,12 +490,13 @@ def main(args): + + if not per_micrograph: + print('image_name\tx_coord\ty_coord\tscore', file=f) ++ + ## extract coordinates using radius +- for path,score,coords in nms_iterator(stream, radius, threshold, pool=pool): ++ for path,score,coords in nms_iterator(stream, radius, threshold, pool=pool, do_filaments=do_filaments, filaments_length=filaments_length, filaments_plot=filaments_plot): + basename = os.path.basename(path) + name = os.path.splitext(basename)[0] + ## scale the coordinates +- if scale != 1: ++ if scale != 1 and len(coords)>0: + coords = np.round(coords*scale).astype(int) + + if per_micrograph: +@@ -303,8 +510,6 @@ def main(args): + print(name + '\t' + str(coords[i,0]) + '\t' + str(coords[i,1]) + '\t' + str(score[i]), file=f) + + +- +- + if __name__ == '__main__': + import argparse + parser = argparse.ArgumentParser('Script for extracting particles from segmented images or images processed with a trained model. Uses a non maximum suppression algorithm.') diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch new file mode 100644 index 00000000000..f52fac9497d --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5.20231120_update-description.patch @@ -0,0 +1,24 @@ +From 14b2bc331768b67b3267397523de57c707fa1253 Mon Sep 17 00:00:00 2001 +From: scheres +Date: Fri, 25 Mar 2022 09:27:07 +0000 +Subject: [PATCH] added description of new options and dependency on skimage + +--- + README.md | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/README.md b/README.md +index bed6f4f..a98993c 100644 +--- a/README.md ++++ b/README.md +@@ -3,6 +3,10 @@ A pipeline for particle detection in cryo-electron microscopy images using convo + + **Check out our [Discussion](https://github.com/tbepler/topaz/discussions) section for general help, suggestions, and tips on using Topaz.** + ++## New in modification for filament picking: ++- Added support for filament start-end coordinate picking (new options -f, -fp and -fl in the extract command), for subsequent helical reconstruction in RELION ++- This adds a new dependency to skimage (make sure you install this in your conda environment) ++ + ## New in v0.2.5 + - Added Relion integration scripts + - Topaz extract can now write particle coordinates to one file per input micrograph diff --git a/easybuild/easyconfigs/t/topaz/topaz-0.2.5_install_relion3_wrappers.patch b/easybuild/easyconfigs/t/topaz/topaz-0.2.5_install_relion3_wrappers.patch new file mode 100644 index 00000000000..533e6e11b93 --- /dev/null +++ b/easybuild/easyconfigs/t/topaz/topaz-0.2.5_install_relion3_wrappers.patch @@ -0,0 +1,14 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/11 +# install relion3 wrappers into bin +diff -ru topaz-0.2.5/setup.py topaz-0.2.5_install_relion3_wrappers/setup.py +--- topaz-0.2.5/setup.py 2022-03-11 02:33:01.000000000 +0100 ++++ topaz-0.2.5_install_relion3_wrappers/setup.py 2023-11-13 17:46:28.306807471 +0100 +@@ -30,7 +30,7 @@ + #package_dir = {'': 'topaz'}, + entry_points = {'console_scripts': ['topaz = topaz.main:main']}, + include_package_data = True, +- ++ scripts=['relion_run_topaz/run_topaz_%s.py' % x for x in ['denoise','pick','train','train_denoise']], + install_requires=[ + 'torch>=1.0.0', + 'torchvision', diff --git a/easybuild/easyconfigs/t/torch-em/torch-em-0.7.1-foss-2023a.eb b/easybuild/easyconfigs/t/torch-em/torch-em-0.7.1-foss-2023a.eb new file mode 100644 index 00000000000..425ec7e35af --- /dev/null +++ b/easybuild/easyconfigs/t/torch-em/torch-em-0.7.1-foss-2023a.eb @@ -0,0 +1,104 @@ +easyblock = 'PythonBundle' + +name = 'torch-em' +version = '0.7.1' + +homepage = 'https://github.com/constantinpape/torch-em/' +description = """Deep-learning based semantic and instance segmentation for 3D Electron Microscopy and +other bioimage analysis problems based on pytorch.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('maturin', '1.1.0'), + ('CMake', '3.26.3'), + ('hatchling', '1.18.0'), +] +dependencies = [ + ('Python', '3.11.3'), + ('torchvision', '0.16.0'), + ('h5py', '3.9.0'), + ('imagecodecs', '2024.1.1'), + ('tensorboard', '2.15.1'), + ('tqdm', '4.66.1'), + ('napari', '0.4.18'), + ('vigra', '1.11.2'), + ('python-elf', '0.5.1'), + ('z5py', '2.0.17'), + ('pydantic', '2.5.3'), + ('xarray', '2023.9.0'), + ('affogato', '0.3.3'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('termcolor', '2.3.0', { + 'checksums': ['b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a'], + }), + ('dnspython', '2.6.1', { + 'modulename': False, + 'checksums': ['e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc'], + }), + ('kornia_rs', '0.1.3', { + 'checksums': ['e299d110774fc10f82c547fb04b1b8bf450a0514010324e7be06206d2179ceaf'], + }), + ('email_validator', '2.1.1', { + 'checksums': ['200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84'], + }), + ('annotated_types', '0.7.0', { + 'checksums': ['aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89'], + }), + ('ruyaml', '0.91.0', { + 'checksums': ['6ce9de9f4d082d696d3bde264664d1bcdca8f5a9dff9d1a1f1a127969ab871ab'], + }), + ('python-dotenv', '1.0.1', { + 'modulename': 'dotenv', + 'checksums': ['e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca'], + }), + ('pydantic_settings', '2.2.1', { + 'checksums': ['00b9f6a5e95553590434c0fa01ead0b216c3e10bc54ae02e37f359948643c5ed'], + }), + ('loguru', '0.7.2', { + 'checksums': ['e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac'], + }), + ('fire', '0.6.0', { + 'checksums': ['54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66'], + }), + ('kornia', '0.7.2', { + 'checksums': ['f834ccd51188d071ed286a6727471c94344ea2a718903cc6f0e56a92f9c66ac5'], + }), + ('tifffile', '2024.5.10', { + 'checksums': ['aa1e1b12be952ab20717d6848bd6d4a5ee88d2aa319f1152bff4354ad728ec86'], + }), + ('bioimageio.core', '0.6.5', { + 'checksums': ['3b2851e44a2b074536c36fe3bb05b28dc1413ed358d3edd0eb272b75e6c9ca2b'], + }), + ('bioimageio.spec', '0.5.2.post5', { + # delete pin of pydantic version + 'preinstallopts': "sed -i 's/pydantic>=2.6.3,<3/pydantic/' setup.py && ", + 'checksums': ['3007aedc4da9f77f4fb46f72c134c8367bd469f05f6dd275db1a93f0fff48e97'], + }), + (name, version, { + 'source_urls': ['https://github.com/constantinpape/torch-em/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['201aae9af1e698b5a0d8e878def4538b00b0cd8ab9165b71194a6c978ae50931'], + }), +] + +sanity_check_commands = [ + "python -c 'import torch_em.data.datasets.util'", + "python -c 'import torch_em.transform.label'", + "python -c 'import torch_em.data.sampler'", + "python -c 'import torch_em.segmentation'", + "python -c 'import torch_em.data.datasets.neurips_cell_seg'", + "python -c 'import torch_em.model'", + "python -c 'import torch_em.loss'", + "python -c 'import torch_em.trainer'", + # check if unpined pydantic version is woking + "python -c 'import bioimageio.spec.model.v0_5'", + "python -c 'from bioimageio.spec import save_bioimageio_package'", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..32638151e0a --- /dev/null +++ b/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0-CUDA-11.7.0.eb @@ -0,0 +1,49 @@ +easyblock = 'PythonPackage' + +name = 'torchaudio' +version = '0.12.0' +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/audio' +description = """ Data manipulation and transformation for audio signal +processing, powered by PyTorch """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'audio', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] + +checksums = [None] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), + ('SoX', '14.4.2'), + ('FFmpeg', '4.4.2'), +] + +preinstallopts = 'USE_FFMPEG=1' +installopts = '--no-use-pep517' + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..07889b645b2 --- /dev/null +++ b/easybuild/easyconfigs/t/torchaudio/torchaudio-0.12.0-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonPackage' + +name = 'torchaudio' +version = '0.12.0' +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/audio' +description = """ Data manipulation and transformation for audio signal +processing, powered by PyTorch """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [{ + 'filename': '%(name)s-%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/pytorch', + 'repo_name': 'audio', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] + +checksums = [None] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Ninja', '1.10.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyTorch', local_pytorch_version), + ('SoX', '14.4.2'), + ('FFmpeg', '4.4.2'), +] + +preinstallopts = 'USE_FFMPEG=1' +installopts = '--no-use-pep517' + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..5995d9c3e6f --- /dev/null +++ b/easybuild/easyconfigs/t/torchdata/torchdata-0.3.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonBundle' + +name = 'torchdata' +version = '0.3.0' +local_pytorch_version = '1.11.0' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/data' +description = """ +TorchData is a prototype library of common modular data loading primitives for +easily constructing flexible and performant data pipelines." +""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + (name, version, { + 'source_tmpl': 'v%(version)s.tar.gz', + 'source_urls': ['https://github.com/pytorch/data/archive'], + 'checksums': ['ac36188bf133cf5f1041a28ccb3ee82ba52d4b5d99617be37d64d740acd6cfd4'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-foss-2020b-PyTorch-1.7.1.eb b/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-foss-2020b-PyTorch-1.7.1.eb new file mode 100644 index 00000000000..0ba85a72a58 --- /dev/null +++ b/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-foss-2020b-PyTorch-1.7.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'torchinfo' +version = '1.5.2' +local_pytorch_version = '1.7.1' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/TylerYep/torchinfo' +description = """" +Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to +Tensorflow's model.summary() API to view the visualization of the model, which is helpful while debugging your network. +""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +github_account = 'TylerYep' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['25f076ab469f29a63dee5a048d39edf0f7a809a5d9e640dccd4174a349ea0143'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('Python', '3.8.6'), + ('PyTorch', local_pytorch_version), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-fosscuda-2020b-PyTorch-1.7.1.eb b/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-fosscuda-2020b-PyTorch-1.7.1.eb new file mode 100644 index 00000000000..1b2083358fb --- /dev/null +++ b/easybuild/easyconfigs/t/torchinfo/torchinfo-1.5.2-fosscuda-2020b-PyTorch-1.7.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonPackage' + +name = 'torchinfo' +version = '1.5.2' +local_pytorch_version = '1.7.1' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/TylerYep/torchinfo' +description = """" +Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to +Tensorflow's model.summary() API to view the visualization of the model, which is helpful while debugging your network. +""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +github_account = 'TylerYep' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['25f076ab469f29a63dee5a048d39edf0f7a809a5d9e640dccd4174a349ea0143'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('Python', '3.8.6'), + ('PyTorch', local_pytorch_version), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..30864489390 --- /dev/null +++ b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonBundle' + +name = 'torchsampler' +version = '0.1.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ufoym/imbalanced-dataset-sampler' +description = """ +A (PyTorch) imbalanced dataset sampler for oversampling low classes and +undersampling high frequent ones.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('CUDA', '11.7.0', '', SYSTEM), + ('PyTorch', '1.12.0', versionsuffix), + ('torchvision', '0.13.1', versionsuffix), +] + +exts_list = [ + (name, version, { + 'checksums': ['6503acf0ff76888905595006a45c2a2fa017f7a13fffbfcddb3827ef8226ea78'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb new file mode 100644 index 00000000000..3b4a760bfbc --- /dev/null +++ b/easybuild/easyconfigs/t/torchsampler/torchsampler-0.1.2-foss-2022a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'torchsampler' +version = '0.1.2' + +homepage = 'https://github.com/ufoym/imbalanced-dataset-sampler' +description = """ +A (PyTorch) imbalanced dataset sampler for oversampling low classes and +undersampling high frequent ones.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('torchvision', '0.13.1'), +] + +exts_list = [ + (name, version, { + 'checksums': ['6503acf0ff76888905595006a45c2a2fa017f7a13fffbfcddb3827ef8226ea78'], + }), +] + +use_pip = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb b/easybuild/easyconfigs/t/torchtext/torchtext-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb new file mode 100644 index 00000000000..a2d3ea9fb7e --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb @@ -0,0 +1,38 @@ +easyblock = 'PythonPackage' + +name = 'torchtext' +version = '0.10.0' +local_pytorch_version = '1.9.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/text' +description = "Data loaders and abstractions for text and NLP" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +# Sources are no longer available in PyPI, it only has wheels +source_urls = ['https://github.com/pytorch/text/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['149788775659ceeeaa9ad70a1b12fd5b9825658ac72c2a113cbf0bd0a2e7f5df'] + +builddependencies = [ + ('RE2', '2021-06-01'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('SentencePiece', '0.1.96'), + ('tqdm', '4.56.2'), + ('PyTorch', local_pytorch_version), + ('double-conversion', '3.1.5'), +] + +# Disable bundled libraries to use those from EB: RE2, SentencePiece +preinstallopts = "sed -i '/third_party/d;/BuildExtension/d' setup.py &&" + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb new file mode 100644 index 00000000000..4a649652439 --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1-foss-2022a-PyTorch-1.12.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonPackage' + +name = 'torchtext' +version = '0.14.1' +local_pytorch_version = '1.12.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/text' +description = "Data loaders and abstractions for text and NLP" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Sources are no longer available in PyPI, it only has wheels +source_urls = ['https://github.com/pytorch/text/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = ['torchtext-0.14.1_deps_fix.patch'] +checksums = [ + {'v0.14.1.tar.gz': 'fd1ef3da7d9c20408c740f7dc7d02ad52a6048b46368355a1a7326d3bc4f2e63'}, + {'torchtext-0.14.1_deps_fix.patch': '3830747bfb3624a94efa8c8132b1764277b38f3b80cc9f452fba2475465d7ec1'}, +] + +builddependencies = [ + ('RE2', '2022-06-01'), + ('binutils', '2.38'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('SentencePiece', '0.1.97'), + ('tqdm', '4.64.0'), + ('PyTorch', local_pytorch_version), + ('double-conversion', '3.2.0'), + ('utf8proc', '2.7.0'), +] + +download_dep_fail = True, +use_pip = True +sanity_pip_check = True, + +# Disable bundled libraries to use those from EB: RE2, SentencePiece +preinstallopts = "sed -i '/third_party/d;/^_init_submodule/d' setup.py && " + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch new file mode 100644 index 00000000000..1212651426e --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.14.1_deps_fix.patch @@ -0,0 +1,54 @@ +The error "string_view has not been declared in std" appears when not using C++17 +diff -u text/CMakeLists.txt.orig text/CMakeLists.txt +--- text/CMakeLists.txt.orig 2023-03-08 14:33:35.618931003 +0100 ++++ text/CMakeLists.txt 2023-03-08 14:35:03.169072623 +0100 +@@ -24,10 +24,10 @@ + if(env_cxx_standard GREATER -1) + message( + WARNING "C++ standard version definition detected in environment variable." +- "PyTorch requires -std=c++14. Please remove -std=c++ settings in your environment.") ++ "PyTorch requires -std=c++17. Please remove -std=c++ settings in your environment.") + endif() + +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_C_STANDARD 11) + + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +@@ -63,5 +63,10 @@ + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_COMPILED_WITH_CXX_ABI} -Wall ${TORCH_CXX_FLAGS}") + +-add_subdirectory(third_party) ++find_package(double-conversion) ++find_package(re2) ++find_library(SENTENCEPIECE_LIBRARY sentencepiece PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(SENTENCEPIECE_TRAIN_LIBRARY sentencepiece_train PATHS $ENV{EBROOTSENTENCEPIECE}/lib64) ++find_library(UTF8PROC_LIBRARY utf8proc PATHS $ENV{UTF8PROC}/lib64) ++ + add_subdirectory(torchtext/csrc) +diff -u text/torchtext/csrc/CMakeLists.txt.orig text/torchtext/csrc/CMakeLists.txt +--- text/torchtext/csrc/CMakeLists.txt.orig 2023-03-08 14:11:53.387582628 +0100 ++++ text/torchtext/csrc/CMakeLists.txt 2023-03-08 14:16:11.159140070 +0100 +@@ -18,10 +18,6 @@ + set( + LIBTORCHTEXT_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) +@@ -119,10 +115,6 @@ + set( + EXTENSION_INCLUDE_DIRS + ${PROJECT_SOURCE_DIR} +- ${PROJECT_SOURCE_DIR}/third_party/sentencepiece/src +- $ +- $ +- $ + ${TORCH_INSTALL_PREFIX}/include + ${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include + ) diff --git a/easybuild/easyconfigs/t/torchtext/torchtext-0.9.1-fosscuda-2020b-PyTorch-1.8.1.eb b/easybuild/easyconfigs/t/torchtext/torchtext-0.9.1-fosscuda-2020b-PyTorch-1.8.1.eb new file mode 100644 index 00000000000..05a3968437b --- /dev/null +++ b/easybuild/easyconfigs/t/torchtext/torchtext-0.9.1-fosscuda-2020b-PyTorch-1.8.1.eb @@ -0,0 +1,46 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'torchtext' +version = '0.9.1' +local_pytorch_version = '1.8.1' +local_python_suffix = '-Python-%(pyver)s' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/text' +description = "Data loaders and abstractions for text and NLP" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +# The tarball of the final v0.9.1 release is labelled as a release candidate +# see https://github.com/pytorch/text/releases/tag/v0.9.1-rc1 +local_tarball_version = '%(version)s-rc1' + +# Sources are no longer available in PyPI, it only has wheels +source_urls = ['https://github.com/pytorch/text/archive/'] +sources = ['v%s.tar.gz' % local_tarball_version] +checksums = ['336397dfae5587e5dbdd2235020acb86f46af36c1c75b47186c67d0b19acee12'] + +builddependencies = [ + ('RE2', '2021-06-01'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('SentencePiece', '0.1.96'), + ('tqdm', '4.56.2'), + ('PyTorch', local_pytorch_version), + ('double-conversion', '3.1.5'), +] + +# Disable bundled libraries to use those from EB: RE2, SentencePiece +preinstallopts = "sed -i '/third_party/d;/BuildExtension/d' setup.py &&" + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..c09c06e2c52 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'torchvf' +version = '0.1.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ryanirl/torchvf' +description = """ +TorchVF is a unifying Python library for using vector fields for efficient proposal-free instance segmentation. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# also requires pbr, which is an extension in Python already +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('OpenCV', '4.6.0', '-contrib'), + ('torchvision', '0.13.1', versionsuffix), + ('PyYAML', '6.0'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('edt', '2.3.1', { + 'checksums': ['3696e1f7de482465af731a734a31b261a8852df8d583118f1b223d61764e063f'], + }), + (name, version, { + 'preinstallopts': r"""sed -i 's/opencv-python-headless = "\*"//g' pyproject.toml && """, + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['b2603ed660009ada68751fa507e02f297119e7180b3549098f4fdfe8242b8699'], + }), +] + + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a.eb b/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a.eb new file mode 100644 index 00000000000..81a9ed86fa5 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvf/torchvf-0.1.3-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'torchvf' +version = '0.1.3' + +homepage = 'https://github.com/ryanirl/torchvf' +description = """ +TorchVF is a unifying Python library for using vector fields for efficient proposal-free instance segmentation. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +# also requires pbr, which is an extension in Python already +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('OpenCV', '4.6.0', '-contrib'), + ('torchvision', '0.13.1'), + ('PyYAML', '6.0'), + ('scikit-learn', '1.1.2'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('edt', '2.3.1', { + 'checksums': ['3696e1f7de482465af731a734a31b261a8852df8d583118f1b223d61764e063f'], + }), + (name, version, { + 'preinstallopts': r"""sed -i 's/opencv-python-headless = "\*"//g' pyproject.toml && """, + 'sources': ['%(namelower)s-%(version)s.tar.gz'], + 'checksums': ['b2603ed660009ada68751fa507e02f297119e7180b3549098f4fdfe8242b8699'], + }), +] + + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb new file mode 100644 index 00000000000..4fa09e8900b --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.10.0-fosscuda-2020b-PyTorch-1.9.0.eb @@ -0,0 +1,26 @@ +name = 'torchvision' +version = '0.10.0' +local_pytorch_version = '1.9.0' +versionsuffix = '-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['82bb2c2b03d8a65f4ea74bb0ee5566b0876a1992aceefb1e11475c7b5d2e857b'] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('Python', '3.8.6'), + ('Pillow-SIMD', '7.1.2'), + ('PyTorch', local_pytorch_version), +] + +# Defaults. Can be changed with --cuda-compute-capabilities +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..d3755b1e9fc --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,26 @@ +name = 'torchvision' +version = '0.11.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32a06ccf755e4d75006ce03701f207652747a63dbfdf65f0f20a1b6f93a2e834'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('Pillow-SIMD', '8.2.0'), + ('PyTorch', '1.10.0', '-CUDA-%(cudaver)s'), + ('CUDA', '11.3.1', '', SYSTEM), +] + +# Defaults. Can be changed with --cuda-compute-capabilities +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a.eb new file mode 100644 index 00000000000..6029919b456 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.1-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'torchvision' +version = '0.11.1' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['32a06ccf755e4d75006ce03701f207652747a63dbfdf65f0f20a1b6f93a2e834'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('Pillow-SIMD', '8.2.0'), + ('PyTorch', '1.10.0'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a-CUDA-11.3.1.eb new file mode 100644 index 00000000000..7c591865f3a --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a-CUDA-11.3.1.eb @@ -0,0 +1,23 @@ +name = 'torchvision' +version = '0.11.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b4c51d27589783e6e6941ecaa67b55f6f41633874ec37f80b64a0c92c3196e0c'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('Pillow-SIMD', '8.2.0'), + ('PyTorch', '1.10.0', versionsuffix), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a.eb new file mode 100644 index 00000000000..b5ec4705315 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.11.3-foss-2021a.eb @@ -0,0 +1,21 @@ +name = 'torchvision' +version = '0.11.3' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b4c51d27589783e6e6941ecaa67b55f6f41633874ec37f80b64a0c92c3196e0c'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('Pillow-SIMD', '8.2.0'), + ('PyTorch', '1.10.0'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb new file mode 100644 index 00000000000..041a172edb9 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.12.0-foss-2021a-PyTorch-1.11.0-CUDA-11.3.1.eb @@ -0,0 +1,24 @@ +name = 'torchvision' +version = '0.12.0' +local_pytorch_version = '1.11.0' +versionsuffix = '-PyTorch-' + local_pytorch_version + '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2021a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['99e6d3d304184895ff4f6152e2d2ec1cbec89b3e057d9c940ae0125546b04e91'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('CUDA', '11.3.1', '', SYSTEM), + ('Python', '3.9.5'), + ('Pillow-SIMD', '8.2.0'), + ('PyTorch', local_pytorch_version, '-CUDA-%(cudaver)s'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..3ab02f0dc56 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,23 @@ +name = 'torchvision' +version = '0.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c32fab734e62c7744dadeb82f7510ff58cc3bca1189d17b16aa99b08afc42249'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('Pillow-SIMD', '9.2.0'), + ('PyTorch', '1.12.0', '-CUDA-%(cudaver)s'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb new file mode 100644 index 00000000000..26cf963f6da --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.13.1-foss-2022a.eb @@ -0,0 +1,21 @@ +name = 'torchvision' +version = '0.13.1' + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c32fab734e62c7744dadeb82f7510ff58cc3bca1189d17b16aa99b08afc42249'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('Pillow-SIMD', '9.2.0'), + ('PyTorch', '1.12.0'), +] + +moduleclass = 'vis' 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-CUDA-12.1.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..68696ef7dba --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.16.0-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,34 @@ +name = 'torchvision' +version = '0.16.0' +versionsuffix = '-CUDA-%(cudaver)s' + +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 = [ + ('CUDA', '12.1.1', '', SYSTEM), + ('Python', '3.11.3'), + ('FFmpeg', '6.0'), + ('Pillow-SIMD', '9.5.0'), + ('PyTorch', '2.1.2', versionsuffix), +] + +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/torchvision/torchvision-0.9.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb b/easybuild/easyconfigs/t/torchvision/torchvision-0.9.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb new file mode 100644 index 00000000000..875fe8a1d47 --- /dev/null +++ b/easybuild/easyconfigs/t/torchvision/torchvision-0.9.1-fosscuda-2019b-Python-3.7.4-PyTorch-1.8.1.eb @@ -0,0 +1,26 @@ +name = 'torchvision' +version = '0.9.1' +local_pytorch_version = '1.8.1' +versionsuffix = '-Python-%%(pyver)s-PyTorch-%s' % local_pytorch_version + +homepage = 'https://github.com/pytorch/vision' +description = " Datasets, Transforms and Models specific to Computer Vision" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} + +source_urls = ['https://github.com/pytorch/vision/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['79964773729880e0eee0e6af13f336041121d4cc8491a3e2c0e5f184cac8a718'] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('Python', '3.7.4'), + ('Pillow-SIMD', '6.0.x.post0'), + ('PyTorch', local_pytorch_version, '-Python-%(pyver)s'), +] + +# Defaults. Can be changed with --cuda-compute-capabilities +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5'] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch new file mode 100644 index 00000000000..1fc291ae62e --- /dev/null +++ b/easybuild/easyconfigs/t/tornado/tornado-6.1_increase-default-timeouts.patch @@ -0,0 +1,17 @@ +Increase timeouts to prevent tornado from killing jupyter server on compute nodes +author: Alexandre Strube +diff -Naur tornado.orig/tornado-6.1/tornado/httpclient.py tornado/tornado-6.1/tornado/httpclient.py +--- a/tornado/httpclient.py 2020-10-30 21:17:45.000000000 +0100 ++++ b/tornado/httpclient.py 2022-05-01 22:01:50.923741948 +0200 +@@ -345,8 +345,8 @@ + # Merged with the values on the request object by AsyncHTTPClient + # implementations. + _DEFAULTS = dict( +- connect_timeout=20.0, +- request_timeout=20.0, ++ connect_timeout=60.0, ++ request_timeout=1200.0, + follow_redirects=True, + max_redirects=5, + decompress_response=True, + diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..eab25faf448 --- /dev/null +++ b/easybuild/easyconfigs/t/tornado/tornado-6.3.2-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = "tornado" +version = "6.3.2" + +homepage = "https://github.com/tornadoweb/tornado" +description = "Tornado is a Python web framework and asynchronous networking library." + +toolchain = {"name": "GCCcore", "version": "12.3.0"} + +sources = [SOURCE_TAR_GZ] +patches = ['tornado-6.1_increase-default-timeouts.patch'] +checksums = [ + {'tornado-6.3.2.tar.gz': '4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, +] + +builddependencies = [ + ("binutils", "2.40"), +] +dependencies = [ + ("Python", "3.11.3"), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = "lib" diff --git a/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..38b085529bf --- /dev/null +++ b/easybuild/easyconfigs/t/tornado/tornado-6.4-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = "PythonPackage" + +name = "tornado" +version = "6.4" + +homepage = "https://github.com/tornadoweb/tornado" +description = "Tornado is a Python web framework and asynchronous networking library." + +toolchain = {"name": "GCCcore", "version": "13.2.0"} + +sources = [SOURCE_TAR_GZ] +patches = ['tornado-6.1_increase-default-timeouts.patch'] +checksums = [ + {'tornado-6.4.tar.gz': '72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee'}, + {'tornado-6.1_increase-default-timeouts.patch': '32e09dd8243acb8c55162f361880dc294d76770a7ff083c05aef6b8660e3bfb9'}, +] + +builddependencies = [ + ("binutils", "2.40"), +] +dependencies = [ + ("Python", "3.11.5"), +] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = "lib" 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.61.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.61.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..20ac2e2854e --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.61.1-GCCcore-10.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.61.1' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['24be966933e942be5f074c29755a95b315c69a91f839a29139bf26ffffe2d3fd'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.61.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.61.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..85685e62ab8 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.61.2-GCCcore-10.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.61.2' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['8bb94db0d4468fea27d004a0f1d1c02da3cdedc00fe491c0de986b76a04d6b0a'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.5')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.62.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.62.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3ca62e8d444 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.62.3-GCCcore-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.62.3' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.64.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e3a61555dec --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.0-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.64.0' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['40be55d30e200777a307a7585aee69e4eabb46b4ec6a4b4a5f2d9f11e7d5408d'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9d126d81da5 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.64.1-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.64.1' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' 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 new file mode 100644 index 00000000000..c61e2a04e53 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.1-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.66.1' + +homepage = "https://github.com/tqdm/tqdm" +description = """A fast, extensible progress bar for Python and CLI""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.3')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'lib' 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/tqdm/tqdm-4.66.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b9d92f49462 --- /dev/null +++ b/easybuild/easyconfigs/t/tqdm/tqdm-4.66.5-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +# # +# Author: Robert Mijakovic +# # +easyblock = 'PythonPackage' + +name = 'tqdm' +version = '4.66.5' + +homepage = 'https://github.com/tqdm/tqdm' +description = "A fast, extensible progress bar for Python and CLI" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Python', '3.12.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..41eb21d1767 --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-10.3.0.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] +start_dir = 'source' + +files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/trimal', 'bin/readal', 'bin/statal'], + 'dirs': [] +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..3391b0d006e --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.2.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [ + ('binutils', '2.37'), + +] +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/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..8da2ca94e6c --- /dev/null +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-11.3.0.eb @@ -0,0 +1,35 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated by: +# R.QIAO +# DeepThought, Flinders University + +easyblock = 'MakeCp' + +name = 'trimAl' +version = '1.4.1' + +homepage = 'https://github.com/scapella/trimal' +description = """EVB, FEP and LIE simulator.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'scapella' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] + +builddependencies = [ + ('binutils', '2.38'), + +] +start_dir = 'source' + +files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/trimal', 'bin/readal', 'bin/statal'], + 'dirs': [] +} + +moduleclass = 'bio' 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/trimAl/trimAl-1.4.1-GCCcore-9.3.0.eb b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-9.3.0.eb index a509e00b02e..52c4b51c8b1 100644 --- a/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/t/trimAl/trimAl-1.4.1-GCCcore-9.3.0.eb @@ -16,7 +16,7 @@ github_account = 'scapella' source_urls = [GITHUB_LOWER_SOURCE] sources = ['v%(version)s.tar.gz'] checksums = ['cb8110ca24433f85c33797b930fa10fe833fa677825103d6e7f81dd7551b9b4e'] -builddependencies = [('binutils', '2.34', '', True)] +builddependencies = [('binutils', '2.34', '', SYSTEM)] start_dir = 'source' files_to_copy = [(['trimal', 'readal', 'statal'], 'bin')] diff --git a/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb b/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb new file mode 100644 index 00000000000..ad68fc7a786 --- /dev/null +++ b/easybuild/easyconfigs/t/trimesh/trimesh-3.17.1-foss-2022a.eb @@ -0,0 +1,30 @@ +easyblock = 'PythonPackage' + +name = 'trimesh' +version = '3.17.1' + +homepage = 'https://trimsh.org/' +description = """Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on +watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy +manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['025bb2fa3a2e87bdd6873f11db45a7ca19216f2f8b6aed29140fca57e32c298e'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # numpy required +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/trimesh/trimesh-3.21.5-gfbf-2022b.eb b/easybuild/easyconfigs/t/trimesh/trimesh-3.21.5-gfbf-2022b.eb new file mode 100644 index 00000000000..b0321430d59 --- /dev/null +++ b/easybuild/easyconfigs/t/trimesh/trimesh-3.21.5-gfbf-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'trimesh' +version = '3.21.5' + +homepage = 'https://trimsh.org/' +description = """Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on +watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy +manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['74741bc7f9fcb94b98951db8dc8ec8364a2ef52ac2ca0761c7ba06182ef329be'] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), # numpy required +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/t/tseriesEntropy/tseriesEntropy-0.6-0-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/t/tseriesEntropy/tseriesEntropy-0.6-0-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..aa81737ada1 --- /dev/null +++ b/easybuild/easyconfigs/t/tseriesEntropy/tseriesEntropy-0.6-0-foss-2022a-R-4.2.1.eb @@ -0,0 +1,29 @@ +easyblock = 'RPackage' + +name = 'tseriesEntropy' +version = '0.6-0' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://cran.r-project.org/web/packages/tseriesEntropy/index.html' +description = """Implements an Entropy measure of dependence based on the Bhattacharya-Hellinger-Matusita distance. + Can be used as a (nonlinear) autocorrelation/crosscorrelation function for continuous and categorical time series. + The package includes tests for serial dependence and nonlinearity based on it. + Some routines have a parallel version that can be used in a multicore/cluster environment. + The package makes use of S4 classes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://cran.r-project.org/src/contrib/Archive/%(name)s'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['db8d94d6a6a0f41be010936d5a520b92d2b0893b2c15ccba2db7f838ef749411'] + +dependencies = [ + ('R', '4.2.1'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/t/turbinesFoam/turbinesFoam-20220516-foss-2020a-OpenFOAM-8.eb b/easybuild/easyconfigs/t/turbinesFoam/turbinesFoam-20220516-foss-2020a-OpenFOAM-8.eb new file mode 100644 index 00000000000..0fa522cb25d --- /dev/null +++ b/easybuild/easyconfigs/t/turbinesFoam/turbinesFoam-20220516-foss-2020a-OpenFOAM-8.eb @@ -0,0 +1,35 @@ +easyblock = 'CmdCp' + +name = 'turbinesFoam' +version = '20220516' +_openfoamver = '8' +_commit = '480eeef' +versionsuffix = '-OpenFOAM-%s' % _openfoamver + +homepage = 'https://github.com/turbinesFoam/turbinesFoam' +description = """ +turbinesFoam is a library for simulating wind and marine hydrokinetic turbines +in OpenFOAM using the actuator line method. +""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +github_account = 'turbinesFoam' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.tar.gz' % _commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['2e13faec8b2489e91108ea3fc8eb31b1b32bb1478e608853c9cfa9b78a3206d1'] + +dependencies = [ + ('OpenFOAM', _openfoamver), +] + +cmds_map = [('.*', 'source "$FOAM_BASH" && FOAM_USER_LIBBIN="$PWD/lib" ./Allwmake')] + +files_to_copy = ['lib'] + +sanity_check_paths = { + 'files': ['lib/libturbinesFoam.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-3.10.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-3.10.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..a74255cd1aa --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-3.10.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '3.10.0.2' + +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': '11.2.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Python', '3.9.6')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' 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.11.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.11.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..552279e3ffe --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.11.0-GCCcore-13.3.0.eb @@ -0,0 +1,21 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.11.0' + +homepage = 'https://github.com/python/typing_extensions' +description = "Typing Extensions - Backported and Experimental Type Hints for Python" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0'] + +builddependencies = [('binutils', '2.42')] +dependencies = [('Python', '3.12.3')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..ada44caf01a --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.3.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': '11.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..ea51e13ece0 --- /dev/null +++ b/easybuild/easyconfigs/t/typing-extensions/typing-extensions-4.4.0-GCCcore-10.3.0.eb @@ -0,0 +1,22 @@ +easyblock = 'PythonPackage' + +name = 'typing-extensions' +version = '4.4.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': '10.3.0'} + +sources = ['typing_extensions-%(version)s.tar.gz'] +checksums = ['1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [('Python', '3.9.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/UCC-CUDA/UCC-CUDA-1.0.0-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.0.0-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..e213c78d3b7 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.0.0-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.0.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.0.0_link_against_existing_UCC_libs.patch', +] +checksums = [ + 'd3b4aa7004bf339d35952a1699a6e408064ba578bdc93861f5f07527ad0a5e8c', # v1.0.0.tar.gz + # UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch + '9fa11cf6779174f4e9048df5812096e4261e1769d465cc7f34a6354398876856', +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', '1.0.0'), + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.12.12', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +# UCC_COMPONENT_PATH completely overrides $EBROOTUCC/lib/ucc so install symbolic links +# to existing non CUDA related components +postinstallcmds = ['for i in $EBROOTUCC/lib/ucc/*; do ln -s $i %(installdir)s/lib/ucc; done'] + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextravars = {'UCC_COMPONENT_PATH': '%(installdir)s/lib/ucc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch new file mode 100644 index 00000000000..2f32d7ee417 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch @@ -0,0 +1,26 @@ +Make CUDA/NCCL plugins link against the existing ucc libraries. + +Bart Oldeman, 2022-08-02 +diff -ur ucc-1.0.0.orig/src/components/mc/cuda/Makefile.am ucc-1.0.0/src/components/mc/cuda/Makefile.am +--- ucc-1.0.0.orig/src/components/mc/cuda/Makefile.am 2022-04-15 12:43:33.000000000 +0000 ++++ ucc-1.0.0/src/components/mc/cuda/Makefile.am 2022-08-02 12:13:59.332795976 +0000 +@@ -15,7 +15,7 @@ + libucc_mc_cuda_la_CFLAGS = $(BASE_CFLAGS) + libucc_mc_cuda_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) + libucc_mc_cuda_la_LIBADD = $(CUDA_LIBS) \ +- $(UCC_TOP_BUILDDIR)/src/libucc.la \ ++ -lucc \ + kernel/libucc_mc_cuda_kernels.la + + include $(top_srcdir)/config/module.am +diff -ur ucc-1.0.0.orig/src/components/tl/nccl/Makefile.am ucc-1.0.0/src/components/tl/nccl/Makefile.am +--- ucc-1.0.0.orig/src/components/tl/nccl/Makefile.am 2022-04-15 12:43:33.000000000 +0000 ++++ ucc-1.0.0/src/components/tl/nccl/Makefile.am 2022-08-02 12:13:59.334795989 +0000 +@@ -21,6 +21,6 @@ + libucc_tl_nccl_la_CPPFLAGS = $(AM_CPPFLAGS) $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) $(NCCL_CPPFLAGS) + libucc_tl_nccl_la_CFLAGS = $(BASE_CFLAGS) + libucc_tl_nccl_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) $(NCCL_LDFLAGS) +-libucc_tl_nccl_la_LIBADD = $(CUDA_LIBS) $(NCCL_LIBADD) $(UCC_TOP_BUILDDIR)/src/libucc.la ++libucc_tl_nccl_la_LIBADD = $(CUDA_LIBS) $(NCCL_LIBADD) -lucc + + include $(top_srcdir)/config/module.am diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100644 index 00000000000..bfe211063d3 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,57 @@ +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.1.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.0.0_link_against_existing_UCC_libs.patch', + '%(name)s-%(version)s_cuda_12_mem_ops.patch', +] +checksums = [ + {'v1.1.0.tar.gz': '74c8ba75037b5bd88cb703e8c8ae55639af3fecfd4428912a433c010c97b4df7'}, + {'UCC-CUDA-1.0.0_link_against_existing_UCC_libs.patch': + '9fa11cf6779174f4e9048df5812096e4261e1769d465cc7f34a6354398876856'}, + {'UCC-CUDA-1.1.0_cuda_12_mem_ops.patch': 'fc3ea1487d29dc626db2363ef5a79e7f0906f6a7507a363fa6167a812b143eb6'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', '1.1.0'), + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.13.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.16.2', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch new file mode 100644 index 00000000000..36212b970db --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.1.0_cuda_12_mem_ops.patch @@ -0,0 +1,99 @@ +Backported fix for CUDA 12 https://github.com/openucx/ucc/pull/700 +Essentially just removes the deprecated checks for CUDA MEM OPS as they are required in CUDA 12 +author: micketeer@gmail.com +--- src/components/ec/cuda/ec_cuda.c.orig 2023-02-02 18:44:36.085221084 +0000 ++++ src/components/ec/cuda/ec_cuda.c 2023-02-02 18:47:23.726819030 +0000 +@@ -205,11 +205,10 @@ + { + ucc_ec_cuda_config_t *cfg = EC_CUDA_CONFIG; + ucc_status_t status; +- int device, num_devices, attr; ++ int device, num_devices; + CUdevice cu_dev; + CUresult cu_st; + cudaError_t cuda_st; +- const char *cu_err_st_str; + + ucc_ec_cuda.stream = NULL; + ucc_ec_cuda.stream_initialized = 0; +@@ -272,9 +271,14 @@ + } else { + ucc_ec_cuda.strm_task_mode = UCC_EC_CUDA_TASK_MEM_OPS; + ucc_ec_cuda.post_strm_task = ucc_ec_cuda_post_driver_stream_task; ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; ++ int attr; + + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st != CUDA_SUCCESS){ ++ const char *cu_err_st_str; + cuGetErrorString(cu_st, &cu_err_st_str); + ec_debug(&ucc_ec_cuda.super, "cuCtxGetDevice() failed: %s", + cu_err_st_str); +@@ -297,6 +301,7 @@ + "CUDA MEM OPS are not supported or disabled"); + return UCC_ERR_NOT_SUPPORTED; + } ++#endif + } + ucc_ec_cuda.task_strm_type = cfg->task_strm_type; + ucc_spinlock_init(&ucc_ec_cuda.init_spinlock, 0); +--- src/components/tl/nccl/tl_nccl_context.c.orig 2023-02-03 15:17:09.358881676 +0000 ++++ src/components/tl/nccl/tl_nccl_context.c 2023-02-03 17:04:31.680185749 +0000 +@@ -101,13 +101,14 @@ + ucc_derived_of(config, ucc_tl_nccl_context_config_t); + int mem_ops_attr = 0; + ucc_status_t status; +- CUresult cu_st; +- CUdevice cu_dev; + + UCC_CLASS_CALL_SUPER_INIT(ucc_tl_context_t, &tl_nccl_config->super, + params->context); + memcpy(&self->cfg, tl_nccl_config, sizeof(*tl_nccl_config)); + if (self->cfg.sync_type != UCC_TL_NCCL_COMPLETION_SYNC_TYPE_EVENT) { ++#if CUDA_VERSION < 12000 ++ CUresult cu_st; ++ CUdevice cu_dev; + cu_st = cuCtxGetDevice(&cu_dev); + if (cu_st == CUDA_SUCCESS) { + cu_st = cuDeviceGetAttribute(&mem_ops_attr, +@@ -116,6 +117,9 @@ + } else { + tl_info(self->super.super.lib, "failed to get cuda device"); + } ++#else ++ mem_ops_attr = 1; ++#endif + if (mem_ops_attr == 0) { + if (self->cfg.sync_type == UCC_TL_NCCL_COMPLETION_SYNC_TYPE_MEMOPS) { + tl_error(self->super.super.lib, "memops not supported"); +--- config/m4/cuda.m4.orig 2023-02-03 17:04:44.367155175 +0000 ++++ config/m4/cuda.m4 2023-02-03 17:06:26.110909987 +0000 +@@ -15,6 +15,11 @@ + ARCH10="-gencode=arch=compute_75,code=sm_75" + ARCH11="-gencode=arch=compute_80,code=sm_80 \ + -gencode=arch=compute_80,code=compute_80" ++ARCH111="-gencode=arch=compute_86,code=sm_86 \ ++-gencode=arch=compute_86,code=compute_86" ++ARCH120="-gencode=arch=compute_90,code=sm_90 \ ++-gencode=arch=compute_90,code=compute_90" ++ + + AC_DEFUN([CHECK_CUDA],[ + AS_IF([test "x$cuda_checked" != "xyes"], +@@ -104,8 +109,12 @@ + [NVCC_CFLAGS="$NVCC_CFLAGS -O3 -g -DNDEBUG"]) + AS_IF([test "x$cuda_happy" = "xyes"], + [AS_IF([test "x$with_nvcc_gencode" = "xdefault"], +- [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], +- [NVCC_ARCH="${ARCH8} ${ARCH9} ${ARCH10} ${ARCH11}"])], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 12], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111} ${ARCH120}"], ++ [AS_IF([test $CUDA_MAJOR_VERSION -eq 11], ++ [AS_IF([test $CUDA_MINOR_VERSION -lt 1], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110}"], ++ [NVCC_ARCH="${ARCH7} ${ARCH8} ${ARCH9} ${ARCH10} ${ARCH110} ${ARCH111}"])])])], + [NVCC_ARCH="$with_nvcc_gencode"]) + AC_SUBST([NVCC_ARCH], ["$NVCC_ARCH"])]) + LDFLAGS="$save_LDFLAGS" diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100644 index 00000000000..8594d509844 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'UCC-CUDA' +version = '1.2.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. + +This module adds the UCC CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_link_against_existing_UCC_libs.patch', +] +checksums = [ + {'v1.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'}, + {'UCC-CUDA-1.2.0_link_against_existing_UCC_libs.patch': + '84157be5eae96d2501df076bcf0598b104adf80abeca028a144c4fb098638207'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCC', version), + ('CUDA', '12.1.1', '', SYSTEM), + ('UCX-CUDA', '1.14.1', '-CUDA-%(cudaver)s'), + ('NCCL', '2.18.3', '-CUDA-%(cudaver)s'), +] + +preconfigopts = "./autogen.sh && " + +buildopts = '-C src/components/mc/cuda V=1 && make -C src/components/tl/nccl V=1' +installopts = '-C src/components/mc/cuda && make -C src/components/tl/nccl install' + +sanity_check_paths = { + 'files': ['lib/ucc/libucc_mc_cuda.%s' % SHLIB_EXT, 'lib/ucc/libucc_tl_nccl.%s' % SHLIB_EXT], + 'dirs': ['lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +modextrapaths = {'EB_UCC_EXTRA_COMPONENT_PATH': 'lib/ucc'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0_link_against_existing_UCC_libs.patch b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0_link_against_existing_UCC_libs.patch new file mode 100644 index 00000000000..86a17f30c90 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC-CUDA/UCC-CUDA-1.2.0_link_against_existing_UCC_libs.patch @@ -0,0 +1,27 @@ +Make CUDA/NCCL plugins link against the existing ucc libraries. + +Bart Oldeman, 2022-08-02 +Mikael OEhman, 2023-06-16 +diff -ur ucc-1.2.0.orig/src/components/mc/cuda/Makefile.am ucc-1.2.0/src/components/ec/cuda/Makefile.am +--- ucc-1.2.0.orig/src/components/mc/cuda/Makefile.am.orig 2023-06-16 12:56:53.205939925 +0200 ++++ ucc-1.2.0/src/components/mc/cuda/Makefile.am 2023-06-16 13:02:21.716110609 +0200 +@@ -14,7 +14,7 @@ + libucc_mc_cuda_la_CFLAGS = $(BASE_CFLAGS) + libucc_mc_cuda_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) + libucc_mc_cuda_la_LIBADD = $(CUDA_LIBS) \ +- $(UCC_TOP_BUILDDIR)/src/libucc.la ++ -lucc + + include $(top_srcdir)/config/module.am + endif +diff -ur ucc-1.0.0.orig/src/components/tl/nccl/Makefile.am ucc-1.0.0/src/components/tl/nccl/Makefile.am +--- ucc-1.0.0.orig/src/components/tl/nccl/Makefile.am 2022-04-15 12:43:33.000000000 +0000 ++++ ucc-1.0.0/src/components/tl/nccl/Makefile.am 2022-08-02 12:13:59.334795989 +0000 +@@ -21,6 +21,6 @@ + libucc_tl_nccl_la_CPPFLAGS = $(AM_CPPFLAGS) $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) $(NCCL_CPPFLAGS) + libucc_tl_nccl_la_CFLAGS = $(BASE_CFLAGS) + libucc_tl_nccl_la_LDFLAGS = -version-info $(SOVERSION) --as-needed $(CUDA_LDFLAGS) $(NCCL_LDFLAGS) +-libucc_tl_nccl_la_LIBADD = $(CUDA_LIBS) $(NCCL_LIBADD) $(UCC_TOP_BUILDDIR)/src/libucc.la ++libucc_tl_nccl_la_LIBADD = $(CUDA_LIBS) $(NCCL_LIBADD) -lucc + + include $(top_srcdir)/config/module.am diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..203e678f587 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.0.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + 'd3b4aa7004bf339d35952a1699a6e408064ba578bdc93861f5f07527ad0a5e8c', # v1.0.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.12.1'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8c350bb641b --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.1.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-%(version)s-multiple_component_paths.patch'] +checksums = [ + {'v1.1.0.tar.gz': '74c8ba75037b5bd88cb703e8c8ae55639af3fecfd4428912a433c010c97b4df7'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.13.1'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch new file mode 100644 index 00000000000..0e13578b55f --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.1.0-multiple_component_paths.patch @@ -0,0 +1,46 @@ +Adds support for multiple extra components paths to UCC +Was necessary to add, as they broke the logic we used for UCC_COMPONEN_PATH in 1.1.0, +then removed it completely in 1.2.0. +This patch also removes the need to copy over all the other plugins, thus supporting multiple external components. + +author: micketeer@gmail.com + +diff -ru ucc-1.1.0.orig/src/utils/ucc_component.c ucc-1.1.0.fixed/src/utils/ucc_component.c +--- ucc-1.1.0.orig/src/utils/ucc_component.c 2023-04-06 15:16:18.341729973 +0200 ++++ ucc-1.1.0.fixed/src/utils/ucc_component.c 2023-04-08 13:42:28.448319486 +0200 +@@ -128,6 +128,27 @@ + return UCC_ERR_INVALID_PARAM; + } + ++ char *extra_component_path = getenv("EB_UCC_EXTRA_COMPONENT_PATH"); ++ if (extra_component_path) { ++ // Add extra room for extra paths, braces and comma (+3): ++ pattern_size = ++ strlen(ucc_global_config.component_path) + strlen(framework_name) + 16 + strlen(extra_component_path) + 3; ++ full_pattern = (char *)ucc_malloc(pattern_size, "full_pattern"); ++ if (!full_pattern) { ++ ucc_error("failed to allocate %zd bytes for full_pattern", ++ pattern_size); ++ return UCC_ERR_NO_MEMORY; ++ } ++ ucc_snprintf_safe(full_pattern, pattern_size, "{%s,%s}/libucc_%s_*.so", ++ extra_component_path, ucc_global_config.component_path, framework_name); ++ // Replace ; typically used in PATHs variables with , for glob ++ char *current_pos = strchr(full_pattern, ';'); ++ while (current_pos) { ++ *current_pos = ','; ++ current_pos = strchr(current_pos, ';'); ++ } ++ glob(full_pattern, GLOB_BRACE, NULL, &globbuf); ++ } else { + pattern_size = + strlen(ucc_global_config.component_path) + strlen(framework_name) + 16; + full_pattern = (char *)ucc_malloc(pattern_size, "full_pattern"); +@@ -139,6 +160,7 @@ + ucc_snprintf_safe(full_pattern, pattern_size, "%s/libucc_%s_*.so", + ucc_global_config.component_path, framework_name); + glob(full_pattern, 0, NULL, &globbuf); ++ } + ucc_free(full_pattern); + n_loaded = 0; + diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7b466037821 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.2.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-1.1.0-multiple_component_paths.patch'] +checksums = [ + {'v1.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.14.1'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2c50c82b7d8 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0-GCCcore-13.2.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.2.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-1.1.0-multiple_component_paths.patch'] +checksums = [ + {'v1.2.0.tar.gz': 'c1552797600835c0cf401b82dc89c4d27d5717f4fb805d41daca8e19f65e509d'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +if ARCH == "riscv64": + patches += ['UCC-1.2.0_add-riscv-support.patch'] + checksums += [{'UCC-1.2.0_add-riscv-support.patch': + 'e9e2a4c206dad2367af97d92c12b796b454992cfce23984b132e9e78a07ff55b'}] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('UCX', '1.15.0'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch b/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch new file mode 100644 index 00000000000..1aa1e5fa331 --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.2.0_add-riscv-support.patch @@ -0,0 +1,91 @@ +Add RISC-V support to UCC 1.2.0 using https://github.com/openucx/ucc/pull/829. + +diff --git a/src/Makefile.am b/src/Makefile.am +index b3fe5ed1c2..85496f83dd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -50,6 +50,7 @@ noinst_HEADERS = \ + coll_score/ucc_coll_score.h \ + utils/arch/aarch64/cpu.h \ + utils/arch/ppc64/cpu.h \ ++ utils/arch/riscv64/cpu.h \ + utils/arch/x86_64/cpu.h \ + utils/arch/cpu.h \ + utils/arch/cuda_def.h \ +diff --git a/src/utils/arch/cpu.h b/src/utils/arch/cpu.h +index 8025f7a9d8..17a74195b7 100644 +--- a/src/utils/arch/cpu.h ++++ b/src/utils/arch/cpu.h +@@ -2,6 +2,7 @@ + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2023. ALL RIGHTS RESERVED. + * Copyright (C) ARM Ltd. 2016. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 + * + * See file LICENSE for terms. + */ +@@ -44,6 +45,7 @@ typedef enum ucc_cpu_vendor { + UCC_CPU_VENDOR_AMD, + UCC_CPU_VENDOR_GENERIC_ARM, + UCC_CPU_VENDOR_GENERIC_PPC, ++ UCC_CPU_VENDOR_GENERIC_RISCV, + UCC_CPU_VENDOR_FUJITSU_ARM, + UCC_CPU_VENDOR_ZHAOXIN, + UCC_CPU_VENDOR_LAST +@@ -59,6 +61,8 @@ static inline ucc_cpu_vendor_t ucc_get_vendor_from_str(const char *v_name) + return UCC_CPU_VENDOR_GENERIC_ARM; + if (strcasecmp(v_name, "ppc") == 0) + return UCC_CPU_VENDOR_GENERIC_PPC; ++ if (strcasecmp(v_name, "riscv") == 0) ++ return UCC_CPU_VENDOR_GENERIC_RISCV; + if (strcasecmp(v_name, "fujitsu") == 0) + return UCC_CPU_VENDOR_FUJITSU_ARM; + if (strcasecmp(v_name, "zhaoxin") == 0) +@@ -107,6 +111,8 @@ static inline ucc_cpu_model_t ucc_get_model_from_str(const char *m_name) + # include "ppc64/cpu.h" + #elif defined(__aarch64__) + # include "aarch64/cpu.h" ++#elif defined(__riscv) && (__riscv_xlen == 64) ++# include "riscv64/cpu.h" + #else + # error "Unsupported architecture" + #endif +diff --git a/src/utils/arch/riscv64/cpu.h b/src/utils/arch/riscv64/cpu.h +new file mode 100644 +index 0000000000..c93cdb3db1 +--- /dev/null ++++ b/src/utils/arch/riscv64/cpu.h +@@ -0,0 +1,33 @@ ++/** ++* Copyright (c) 2001-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. ++* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCC_UTILS_ARCH_RISCV64_CPU_H_ ++#define UCC_UTILS_ARCH_RISCV64_CPU_H_ ++ ++#define UCC_ARCH_CACHE_LINE_SIZE 64 ++ ++/* RVWMO rules */ ++#define ucc_memory_bus_fence() asm volatile("fence iorw, iorw" ::: "memory") ++#define ucc_memory_bus_store_fence() asm volatile("fence ow, ow" ::: "memory") ++#define ucc_memory_bus_load_fence() asm volatile("fence ir, ir" ::: "memory") ++ ++#define ucc_memory_cpu_fence() asm volatile("fence rw, rw" ::: "memory") ++#define ucc_memory_cpu_store_fence() asm volatile("fence rw, w" ::: "memory") ++#define ucc_memory_cpu_load_fence() asm volatile("fence r, rw" ::: "memory") ++ ++static inline ucc_cpu_model_t ucc_arch_get_cpu_model() ++{ ++ return UCC_CPU_MODEL_UNKNOWN; ++} ++ ++static inline ucc_cpu_vendor_t ucc_arch_get_cpu_vendor() ++{ ++ return UCC_CPU_VENDOR_GENERIC_RISCV; ++} ++ ++#endif diff --git a/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..57314f2667e --- /dev/null +++ b/easybuild/easyconfigs/u/UCC/UCC-1.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'UCC' +version = '1.3.0' + +homepage = 'https://www.openucx.org/' +description = """UCC (Unified Collective Communication) is a collective +communication operations API and library that is flexible, complete, and +feature-rich for current and emerging programming models and runtimes. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucc/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +patches = ['UCC-1.1.0-multiple_component_paths.patch'] +checksums = [ + {'v1.3.0.tar.gz': 'b56379abe5f1c125bfa83be305d78d81a64aa271b7b5fff0ac17b86725ff3acf'}, + {'UCC-1.1.0-multiple_component_paths.patch': '3081d0f694331daa4a88a0fa3fb54b9a918015248ae5eb7b3157b924abd31bee'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +dependencies = [ + ('UCX', '1.16.0'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/ucc_info'], + 'dirs': ['include', 'lib'] +} + +sanity_check_commands = ["ucc_info -c"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.10.0-GCCcore-10.3.0-CUDA-11.3.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.10.0-GCCcore-10.3.0-CUDA-11.3.1.eb index e34d13f9868..70a85299c29 100644 --- a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.10.0-GCCcore-10.3.0-CUDA-11.3.1.eb +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.10.0-GCCcore-10.3.0-CUDA-11.3.1.eb @@ -35,7 +35,7 @@ builddependencies = [ dependencies = [ ('zlib', '1.2.11'), ('UCX', version), - ('CUDAcore', '11.3.1', '', True), + ('CUDA', '11.3.1', '', SYSTEM), ('GDRCopy', '2.2'), ] diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000000..ac5302556e3 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-%(version)s_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.11.0.tar.gz': 'b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('CUDA', '11.4.1', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch new file mode 100644 index 00000000000..5020e1af734 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch @@ -0,0 +1,90 @@ +Make CUDA/ROCm plugins link against the existing ucs/ucm/uct libraries. + +Åke Sandgren, Mikael Öhman 2021-08-09 +diff -ru ucx-1.11.2.orig/configure.ac ucx-1.11.2/configure.ac +--- ucx-1.11.2.orig/configure.ac 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/configure.ac 2023-01-03 10:29:43.816777145 +0100 +@@ -29,13 +29,13 @@ + AC_GNU_SOURCE + AC_CONFIG_HEADERS([config.h]) + +-AC_CHECK_PROG(GITBIN, git, yes) +-AS_IF([test x"${GITBIN}" = x"yes"], +- [# remove preceding "refs/heads/" (11 characters) for symbolic ref +- AC_SUBST(SCM_BRANCH, esyscmd([sh -c 'git symbolic-ref --quiet HEAD | sed "s/^.\{11\}//"'])) +- AC_SUBST(SCM_VERSION, esyscmd([sh -c 'git rev-parse --short=7 HEAD']))], +- [AC_SUBST(SCM_BRANCH, "") +- AC_SUBST(SCM_VERSION, "0000000")]) ++#AC_CHECK_PROG(GITBIN, git, yes) ++#AS_IF([test x"${GITBIN}" = x"yes"], ++# [# remove preceding "refs/heads/" (11 characters) for symbolic ref ++# AC_SUBST(SCM_BRANCH, esyscmd([sh -c 'git symbolic-ref --quiet HEAD | sed "s/^.\{11\}//"'])) ++# AC_SUBST(SCM_VERSION, esyscmd([sh -c 'git rev-parse --short=7 HEAD']))], ++# [AC_SUBST(SCM_BRANCH, "") ++# AC_SUBST(SCM_VERSION, "0000000")]) + + AH_TOP([ + #ifndef UCX_CONFIG_H +diff -ru ucx-1.11.2.orig/src/ucm/cuda/Makefile.am ucx-1.11.2/src/ucm/cuda/Makefile.am +--- ucx-1.11.2.orig/src/ucm/cuda/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/ucm/cuda/Makefile.am 2023-01-03 10:29:43.816777145 +0100 +@@ -9,7 +9,7 @@ + module_LTLIBRARIES = libucm_cuda.la + libucm_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) + libucm_cuda_la_CFLAGS = $(BASE_CFLAGS) $(CUDA_CFLAGS) +-libucm_cuda_la_LIBADD = ../libucm.la $(CUDA_LIBS) ++libucm_cuda_la_LIBADD = -lucm $(CUDA_LIBS) + libucm_cuda_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ + $(patsubst %, -Xlinker %, $(CUDA_LDFLAGS)) \ + -version-info $(SOVERSION) +diff -ru ucx-1.11.2.orig/src/ucm/rocm/Makefile.am ucx-1.11.2/src/ucm/rocm/Makefile.am +--- ucx-1.11.2.orig/src/ucm/rocm/Makefile.am 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/ucm/rocm/Makefile.am 2023-01-03 10:32:04.931602717 +0100 +@@ -10,7 +10,7 @@ + module_LTLIBRARIES = libucm_rocm.la + libucm_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libucm_rocm_la_CFLAGS = $(BASE_CFLAGS) $(ROCM_CFLAGS) +-libucm_rocm_la_LIBADD = ../libucm.la ++libucm_rocm_la_LIBADD = -lucm + libucm_rocm_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ + $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ +diff -ru ucx-1.11.2.orig/src/uct/cuda/gdr_copy/Makefile.am ucx-1.11.2/src/uct/cuda/gdr_copy/Makefile.am +--- ucx-1.11.2.orig/src/uct/cuda/gdr_copy/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/cuda/gdr_copy/Makefile.am 2023-01-03 10:29:43.816777145 +0100 +@@ -10,7 +10,7 @@ + libuct_cuda_gdrcopy_la_CFLAGS = $(BASE_CFLAGS) + libuct_cuda_gdrcopy_la_LDFLAGS = $(CUDA_LDFLAGS) $(GDR_COPY_LDFLAGS) \ + -version-info $(SOVERSION) +-libuct_cuda_gdrcopy_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ ++libuct_cuda_gdrcopy_la_LIBADD = -lucs \ + $(top_builddir)/src/uct/cuda/libuct_cuda.la \ + $(CUDA_LIBS) + +diff -ru ucx-1.11.2.orig/src/uct/cuda/Makefile.am ucx-1.11.2/src/uct/cuda/Makefile.am +--- ucx-1.11.2.orig/src/uct/cuda/Makefile.am 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/cuda/Makefile.am 2023-01-03 10:29:43.816777145 +0100 +@@ -11,8 +11,8 @@ + libuct_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) + libuct_cuda_la_CFLAGS = $(BASE_CFLAGS) $(CUDA_CFLAGS) + libuct_cuda_la_LDFLAGS = $(CUDA_LDFLAGS) -version-info $(SOVERSION) +-libuct_cuda_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ +- $(top_builddir)/src/uct/libuct.la \ ++libuct_cuda_la_LIBADD = -lucs \ ++ -luct \ + $(CUDA_LIBS) + + noinst_HEADERS = \ +diff -ru ucx-1.11.2.orig/src/uct/rocm/Makefile.am ucx-1.11.2/src/uct/rocm/Makefile.am +--- ucx-1.11.2.orig/src/uct/rocm/Makefile.am 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/Makefile.am 2023-01-03 10:31:38.195822390 +0100 +@@ -10,8 +10,7 @@ + module_LTLIBRARIES = libuct_rocm.la + libuct_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libuct_rocm_la_CFLAGS = $(BASE_CFLAGS) +-libuct_rocm_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ +- $(top_builddir)/src/uct/libuct.la ++libuct_rocm_la_LIBADD = -lucs -luct + libuct_rocm_la_LDFLAGS = $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ + $(patsubst %, -Xlinker %, --enable-new-dtags) \ diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb new file mode 100644 index 00000000000..461a01a7509 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.4.1.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.11.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('CUDA', '11.4.1', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb new file mode 100644 index 00000000000..3748b1ba66a --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.11.2-GCCcore-11.2.0-CUDA-11.5.2.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.11.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('CUDA', '11.5.2', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..29b645b0e0a --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-11.7.0.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.12.1.tar.gz': '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', version), + ('CUDA', '11.7.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2376c9e36ac --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-11.7.0.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.13.1'), + ('CUDA', '11.7.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb new file mode 100755 index 00000000000..fc291f60b80 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.13.1-GCCcore-12.2.0-CUDA-12.0.0.eb @@ -0,0 +1,42 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.13.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', '1.13.1'), + ('CUDA', '12.0.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.3.0-CUDA-12.1.1.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.3.0-CUDA-12.1.1.eb new file mode 100755 index 00000000000..5c8d9eb9431 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.14.1-GCCcore-12.3.0-CUDA-12.1.1.eb @@ -0,0 +1,41 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.14.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + {'ucx-1.14.1.tar.gz': 'baa0634cafb269a3112f626eb226bcd2ca8c9fcf0fec3b8e2a3553baad5f77aa'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('UCX', version), + ('CUDA', '12.1.1', '', SYSTEM), + ('GDRCopy', '2.3.1'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb new file mode 100644 index 00000000000..7ddf4131415 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.4.0.eb @@ -0,0 +1,41 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.15.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + {'ucx-1.15.0.tar.gz': '4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('UCX', version), + ('CUDA', '12.4.0', '', SYSTEM), + ('GDRCopy', '2.4'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.5.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.5.0.eb new file mode 100644 index 00000000000..5c88f6a5c5d --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.15.0-GCCcore-13.2.0-CUDA-12.5.0.eb @@ -0,0 +1,41 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.15.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.11.0_link_against_existing_UCX_libs.patch'] +checksums = [ + {'ucx-1.15.0.tar.gz': '4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('UCX', version), + ('CUDA', '12.5.0', '', SYSTEM), + ('GDRCopy', '2.4'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-13.3.0-CUDA-12.6.0.eb b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-13.3.0-CUDA-12.6.0.eb new file mode 100644 index 00000000000..34271e18021 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0-GCCcore-13.3.0-CUDA-12.6.0.eb @@ -0,0 +1,41 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.16.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = ['%(name)s-1.16.0_link_against_existing_UCX_libs.patch'] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'UCX-CUDA-1.16.0_link_against_existing_UCX_libs.patch': + 'aa5bab38c188276958dd6829da4929ed9ff0b67cd55665b4459521cf3fbbe46d'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('UCX', version), + ('CUDA', '12.6.0', '', SYSTEM), + ('GDRCopy', '2.4.1'), +] + + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0_link_against_existing_UCX_libs.patch b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0_link_against_existing_UCX_libs.patch new file mode 100644 index 00000000000..92973cd7f80 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-CUDA/UCX-CUDA-1.16.0_link_against_existing_UCX_libs.patch @@ -0,0 +1,93 @@ +diff --git a/configure.ac b/configure.ac +index 8d8da54..2765fe0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -30,13 +30,13 @@ valgrind_libpath="" + AC_USE_SYSTEM_EXTENSIONS + AC_CONFIG_HEADERS([config.h]) + +-AC_CHECK_PROG(GITBIN, git, yes) +-AS_IF([test x"${GITBIN}" = x"yes"], +- [# remove preceding "refs/heads/" (11 characters) for symbolic ref +- AC_SUBST(SCM_BRANCH, esyscmd([sh -c 'git symbolic-ref --quiet HEAD | sed "s/^.\{11\}//"'])) +- AC_SUBST(SCM_VERSION, esyscmd([sh -c 'git rev-parse --short=7 HEAD']))], +- [AC_SUBST(SCM_BRANCH, "") +- AC_SUBST(SCM_VERSION, "0000000")]) ++#AC_CHECK_PROG(GITBIN, git, yes) ++#AS_IF([test x"${GITBIN}" = x"yes"], ++# [# remove preceding "refs/heads/" (11 characters) for symbolic ref ++# AC_SUBST(SCM_BRANCH, esyscmd([sh -c 'git symbolic-ref --quiet HEAD | sed "s/^.\{11\}//"'])) ++# AC_SUBST(SCM_VERSION, esyscmd([sh -c 'git rev-parse --short=7 HEAD']))], ++# [AC_SUBST(SCM_BRANCH, "") ++# AC_SUBST(SCM_VERSION, "0000000")]) + + AH_TOP([ + #ifndef UCX_CONFIG_H +diff --git a/src/ucm/cuda/Makefile.am b/src/ucm/cuda/Makefile.am +index 00bd224..22e719f 100644 +--- a/src/ucm/cuda/Makefile.am ++++ b/src/ucm/cuda/Makefile.am +@@ -9,7 +9,7 @@ if HAVE_CUDA + module_LTLIBRARIES = libucm_cuda.la + libucm_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) + libucm_cuda_la_CFLAGS = $(BASE_CFLAGS) $(CUDA_CFLAGS) +-libucm_cuda_la_LIBADD = ../libucm.la $(CUDA_LIBS) $(CUDART_LIBS) ++libucm_cuda_la_LIBADD = -lucm $(CUDA_LIBS) $(CUDART_LIBS) + libucm_cuda_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ + $(patsubst %, -Xlinker %, $(CUDA_LDFLAGS)) \ + -version-info $(SOVERSION) +diff --git a/src/ucm/rocm/Makefile.am b/src/ucm/rocm/Makefile.am +index f9e183f..dcd1587 100644 +--- a/src/ucm/rocm/Makefile.am ++++ b/src/ucm/rocm/Makefile.am +@@ -10,7 +10,7 @@ if HAVE_ROCM + module_LTLIBRARIES = libucm_rocm.la + libucm_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libucm_rocm_la_CFLAGS = $(BASE_CFLAGS) $(ROCM_CFLAGS) +-libucm_rocm_la_LIBADD = ../libucm.la ++libucm_rocm_la_LIBADD = -lucm + libucm_rocm_la_LDFLAGS = $(UCM_MODULE_LDFLAGS) \ + $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ +diff --git a/src/uct/cuda/Makefile.am b/src/uct/cuda/Makefile.am +index 00899ab..dcee6b0 100644 +--- a/src/uct/cuda/Makefile.am ++++ b/src/uct/cuda/Makefile.am +@@ -11,8 +11,8 @@ module_LTLIBRARIES = libuct_cuda.la + libuct_cuda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(CUDA_CPPFLAGS) + libuct_cuda_la_CFLAGS = $(BASE_CFLAGS) $(CUDA_CFLAGS) + libuct_cuda_la_LDFLAGS = $(CUDA_LDFLAGS) -version-info $(SOVERSION) +-libuct_cuda_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ +- $(top_builddir)/src/uct/libuct.la \ ++libuct_cuda_la_LIBADD = -lucs \ ++ -luct \ + $(CUDA_LIBS) $(CUDART_LIBS) $(NVML_LIBS) + + noinst_HEADERS = \ +diff --git a/src/uct/cuda/gdr_copy/Makefile.am b/src/uct/cuda/gdr_copy/Makefile.am +index 47602c7..601cb9f 100644 +--- a/src/uct/cuda/gdr_copy/Makefile.am ++++ b/src/uct/cuda/gdr_copy/Makefile.am +@@ -9,7 +9,7 @@ module_LTLIBRARIES = libuct_cuda_gdrcopy.la + libuct_cuda_gdrcopy_la_CPPFLAGS = $(BASE_CPPFLAGS) $(GDR_COPY_CPPFLAGS) + libuct_cuda_gdrcopy_la_CFLAGS = $(BASE_CFLAGS) + libuct_cuda_gdrcopy_la_LDFLAGS = $(GDR_COPY_LDFLAGS) -version-info $(SOVERSION) +-libuct_cuda_gdrcopy_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ ++libuct_cuda_gdrcopy_la_LIBADD = -lucs \ + $(top_builddir)/src/uct/cuda/libuct_cuda.la \ + $(GDR_COPY_LIBS) + +diff --git a/src/uct/rocm/Makefile.am b/src/uct/rocm/Makefile.am +index c7abce1..257e33f 100644 +--- a/src/uct/rocm/Makefile.am ++++ b/src/uct/rocm/Makefile.am +@@ -8,8 +8,7 @@ if HAVE_ROCM + module_LTLIBRARIES = libuct_rocm.la + libuct_rocm_la_CPPFLAGS = $(BASE_CPPFLAGS) $(ROCM_CPPFLAGS) + libuct_rocm_la_CFLAGS = $(BASE_CFLAGS) +-libuct_rocm_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \ +- $(top_builddir)/src/uct/libuct.la ++libuct_rocm_la_LIBADD = -lucs -luct + libuct_rocm_la_LDFLAGS = $(ROCM_LDFLAGS) $(ROCM_LIBS) -version-info $(SOVERSION) \ + $(patsubst %, -Xlinker %, -L$(ROCM_ROOT)/lib -rpath $(ROCM_ROOT)/hip/lib -rpath $(ROCM_ROOT)/lib) \ + $(patsubst %, -Xlinker %, --enable-new-dtags) \ diff --git a/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb new file mode 100644 index 00000000000..fda3009ae00 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2-GCCcore-11.2.0-ROCm-4.5.0.eb @@ -0,0 +1,45 @@ +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-ROCm' +version = '1.11.2' +_rocm_version = '4.5.0' +versionsuffix = '-ROCm-%s' % _rocm_version + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX ROCm support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + {'name': 'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch', 'alt_location': 'UCX-CUDA'}, + 'UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch', +] +checksums = [ + {'ucx-1.11.2.tar.gz': 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, + {'UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch': + 'a57ce314f90b170bbe6eb98d938b44ca1bb7285dbfc5891bbff56b66009ff9f9'}, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('UCX', version), + ('ROCm', _rocm_version), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch new file mode 100644 index 00000000000..a29251bbc50 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX-ROCm/UCX-ROCm-1.11.2_fix_hsa+hip_include_paths.patch @@ -0,0 +1,149 @@ +Fix hsa and hip include path + +Åke Sandgren, 2023-01-03 +diff -ru ucx-1.11.2.orig/config/m4/rocm.m4 ucx-1.11.2/config/m4/rocm.m4 +--- ucx-1.11.2.orig/config/m4/rocm.m4 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/config/m4/rocm.m4 2023-01-03 09:23:39.310360596 +0100 +@@ -84,9 +84,9 @@ + + rocm_happy=yes + AS_IF([test "x$rocm_happy" = xyes], +- [AC_CHECK_HEADERS([hsa.h], [rocm_happy=yes], [rocm_happy=no])]) ++ [AC_CHECK_HEADERS([hsa/hsa.h], [rocm_happy=yes], [rocm_happy=no])]) + AS_IF([test "x$rocm_happy" = xyes], +- [AC_CHECK_HEADERS([hsa_ext_amd.h], [rocm_happy=yes], [rocm_happy=no])]) ++ [AC_CHECK_HEADERS([hsa/hsa_ext_amd.h], [rocm_happy=yes], [rocm_happy=no])]) + AS_IF([test "x$rocm_happy" = xyes], + [AC_CHECK_LIB([hsa-runtime64], [hsa_init], [rocm_happy=yes], [rocm_happy=no])]) + +@@ -111,7 +111,7 @@ + hip_happy=no + AC_CHECK_LIB([hip_hcc], [hipFree], [AC_MSG_WARN([Please install ROCm-3.7.0 or above])], [hip_happy=yes]) + AS_IF([test "x$hip_happy" = xyes], +- [AC_CHECK_HEADERS([hip_runtime.h], [hip_happy=yes], [hip_happy=no])]) ++ [AC_CHECK_HEADERS([hip/hip_runtime.h], [hip_happy=yes], [hip_happy=no])]) + AS_IF([test "x$hip_happy" = xyes], + [AC_CHECK_LIB([amdhip64], [hipFree], [hip_happy=yes], [hip_happy=no])]) + AS_IF([test "x$hip_happy" = xyes], [HIP_CXXFLAGS="--std=gnu++11"], []) +diff -ru ucx-1.11.2.orig/src/ucm/rocm/rocmmem.h ucx-1.11.2/src/ucm/rocm/rocmmem.h +--- ucx-1.11.2.orig/src/ucm/rocm/rocmmem.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/ucm/rocm/rocmmem.h 2023-01-03 09:25:40.289314597 +0100 +@@ -7,7 +7,7 @@ + #define UCM_ROCMMEM_H_ + + #include +-#include ++#include + + /* hsa_amd_memory_pool_allocate */ + hsa_status_t ucm_override_hsa_amd_memory_pool_allocate( +diff -ru ucx-1.11.2.orig/src/uct/rocm/base/rocm_base.h ucx-1.11.2/src/uct/rocm/base/rocm_base.h +--- ucx-1.11.2.orig/src/uct/rocm/base/rocm_base.h 2021-07-10 09:59:16.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/base/rocm_base.h 2023-01-03 09:24:10.206096620 +0100 +@@ -9,8 +9,8 @@ + + #include + #include +-#include +-#include ++#include ++#include + + + hsa_status_t uct_rocm_base_init(void); +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_ep.c ucx-1.11.2/src/uct/rocm/copy/rocm_copy_ep.c +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_ep.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_ep.c 2023-01-03 09:25:35.457356174 +0100 +@@ -19,7 +19,7 @@ + #include + #include + +-#include ++#include + + #define uct_rocm_memcpy_h2d(_d,_s,_l) memcpy((_d),(_s),(_l)) + #define uct_rocm_memcpy_d2h(_d,_s,_l) ucs_memcpy_nontemporal((_d),(_s),(_l)) +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_iface.h ucx-1.11.2/src/uct/rocm/copy/rocm_copy_iface.h +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_iface.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_iface.h 2023-01-03 09:24:33.245895073 +0100 +@@ -8,7 +8,7 @@ + + #include + +-#include ++#include + + #define UCT_ROCM_COPY_TL_NAME "rocm_cpy" + +diff -ru ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_md.c ucx-1.11.2/src/uct/rocm/copy/rocm_copy_md.c +--- ucx-1.11.2.orig/src/uct/rocm/copy/rocm_copy_md.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/copy/rocm_copy_md.c 2023-01-03 09:25:33.073376690 +0100 +@@ -20,7 +20,7 @@ + #include + #include + +-#include ++#include + + static ucs_config_field_t uct_rocm_copy_md_config_table[] = { + {"", "", NULL, +diff -ru ucx-1.11.2.orig/src/uct/rocm/gdr/rocm_gdr_md.c ucx-1.11.2/src/uct/rocm/gdr/rocm_gdr_md.c +--- ucx-1.11.2.orig/src/uct/rocm/gdr/rocm_gdr_md.c 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/src/uct/rocm/gdr/rocm_gdr_md.c 2023-01-03 09:25:37.569338002 +0100 +@@ -18,7 +18,7 @@ + #include + #include + +-#include ++#include + + static ucs_config_field_t uct_rocm_gdr_md_config_table[] = { + {"", "", NULL, +diff -ru ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_iface.h ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_iface.h +--- ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_iface.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_iface.h 2023-01-03 09:24:27.741943217 +0100 +@@ -9,7 +9,7 @@ + + #include + +-#include ++#include + + #define UCT_ROCM_IPC_TL_NAME "rocm_ipc" + +diff -ru ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_md.h ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_md.h +--- ucx-1.11.2.orig/src/uct/rocm/ipc/rocm_ipc_md.h 2021-02-27 02:18:15.000000000 +0100 ++++ ucx-1.11.2/src/uct/rocm/ipc/rocm_ipc_md.h 2023-01-03 09:25:30.109402193 +0100 +@@ -7,7 +7,7 @@ + #define ROCM_IPC_MD_H + + #include +-#include ++#include + + + extern uct_component_t uct_rocm_ipc_component; +diff -ru ucx-1.11.2.orig/test/gtest/common/mem_buffer.cc ucx-1.11.2/test/gtest/common/mem_buffer.cc +--- ucx-1.11.2.orig/test/gtest/common/mem_buffer.cc 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/test/gtest/common/mem_buffer.cc 2023-01-03 09:32:23.085955061 +0100 +@@ -31,7 +31,7 @@ + #endif + + #if HAVE_ROCM +-# include ++# include + + #define ROCM_CALL(_code) \ + do { \ +diff -ru ucx-1.11.2.orig/test/gtest/ucm/rocm_hooks.cc ucx-1.11.2/test/gtest/ucm/rocm_hooks.cc +--- ucx-1.11.2.orig/test/gtest/ucm/rocm_hooks.cc 2021-09-23 22:36:08.000000000 +0200 ++++ ucx-1.11.2/test/gtest/ucm/rocm_hooks.cc 2023-01-03 09:32:26.177929298 +0100 +@@ -5,7 +5,7 @@ + */ + #include + #include +-#include ++#include + + static ucm_event_t alloc_event, free_event; + diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.11.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.11.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c71382cb3a5 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.11.0-GCCcore-11.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.11.0' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.10.0-dynamic_modules.patch', + 'UCX-1.11.0_fix-implicit-odp-release.patch', +] +checksums = [ + 'b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647', # ucx-1.11.0.tar.gz + '3098c91f2aadc5f148466a2e8756769ad5e99f9515d8cfb6ad8a5712e7433408', # UCX-1.10.0-dynamic_modules.patch + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, +] + +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 --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.11.0_fix-implicit-odp-release.patch b/easybuild/easyconfigs/u/UCX/UCX-1.11.0_fix-implicit-odp-release.patch new file mode 100644 index 00000000000..35505b5804d --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.11.0_fix-implicit-odp-release.patch @@ -0,0 +1,26 @@ +A change in UCX 1.11.0 changed the signature of `uct_ib_mem_dereg` leading to +an invalid pointer passed from `uct_ib_md_release_reg_method`. +Fix this by passing in the correct struct instead, i.e. wrapping the pointer into `uct_md_mem_dereg_params_t` +See: https://github.com/openucx/ucx/issues/9392 +Breaking commit (1.11+): https://github.com/openucx/ucx/commit/98a614188c026b7682f914ef62864a24fb44b464 +Code removed (1.15+): https://github.com/openucx/ucx/commit/de71ac67759879d9ce0659e696f0a4d371a7d382 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/uct/ib/base/ib_md.c b/src/uct/ib/base/ib_md.c +index 3e7d4bdf8..4e844387e 100644 +--- a/src/uct/ib/base/ib_md.c ++++ b/src/uct/ib/base/ib_md.c +@@ -1428,7 +1428,11 @@ static void uct_ib_md_release_reg_method(uct_ib_md_t *md) + ucs_rcache_destroy(md->rcache); + } + if (md->global_odp != NULL) { +- uct_ib_mem_dereg(&md->super, md->global_odp); ++ uct_md_mem_dereg_params_t params = { ++ .field_mask = UCT_MD_MEM_DEREG_FIELD_MEMH, ++ .memh = md->global_odp ++ }; ++ uct_ib_mem_dereg(&md->super, ¶ms); + } + } + diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.11.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.11.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..7d0e97f6977 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.11.2-GCCcore-11.2.0.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.11.2' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.10.0-dynamic_modules.patch', + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.11.2-missing_header.patch', +] +checksums = [ + 'deebf86a5344fc2bd9e55449f88c650c4514928592807c9bc6fe4190e516c6df', # ucx-1.11.2.tar.gz + '3098c91f2aadc5f148466a2e8756769ad5e99f9515d8cfb6ad8a5712e7433408', # UCX-1.10.0-dynamic_modules.patch + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + 'fa9052a33da5c8e94bc7df0e5fe6ce3baf613310842ae1ab9ed4ef2d49666c01', # UCX-1.11.2-missing_header.patch +] + +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 --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.11.2-missing_header.patch b/easybuild/easyconfigs/u/UCX/UCX-1.11.2-missing_header.patch new file mode 100644 index 00000000000..74ab0459000 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.11.2-missing_header.patch @@ -0,0 +1,26 @@ +Adding string.h header to deal with memcpy error on Ubuntu-16.04.7 LTS +Author: J. Sassmannshausen / GSTT +diff --git a/ucx-1.11.2-orig/src/uct/ib/base/ib_device.h b/ucx-1.11.2/src/uct/ib/base/ib_device.h +index ac69544..5eb39b0 100644 +--- a/ucx-1.11.2-orig/src/uct/ib/base/ib_device.h ++++ b/ucx-1.11.2/src/uct/ib/base/ib_device.h +@@ -8,6 +8,7 @@ + #ifndef UCT_IB_DEVICE_H + #define UCT_IB_DEVICE_H + ++#include + #include "ib_verbs.h" + + #include +diff --git a/ucx-1.11.2-orig/src/uct/ib/base/ib_verbs.h b/ucx-1.11.2/src/uct/ib/base/ib_verbs.h +index 524139c..4822477 100644 +--- a/ucx-1.11.2-orig/src/uct/ib/base/ib_verbs.h ++++ b/ucx-1.11.2/src/uct/ib/base/ib_verbs.h +@@ -19,6 +19,7 @@ + #include + #endif + ++#include + #include + + #include diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.12.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.12.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..99ff6a78a99 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.12.1-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.12.1' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.10.0-dynamic_modules.patch', + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.11.2-missing_header.patch', +] +checksums = [ + '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e', # ucx-1.12.1.tar.gz + '3098c91f2aadc5f148466a2e8756769ad5e99f9515d8cfb6ad8a5712e7433408', # UCX-1.10.0-dynamic_modules.patch + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + 'fa9052a33da5c8e94bc7df0e5fe6ce3baf613310842ae1ab9ed4ef2d49666c01', # UCX-1.11.2-missing_header.patch +] + +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.13.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..18bdf44c47d --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb @@ -0,0 +1,57 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.13.1' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.13.1-dynamic_modules.patch', + 'UCX-1.13.1_fix-undeclared-PTR.patch', +] +checksums = [ + ('efc37829b68e131d2acc82a3fd4334bfd611156a756837ffeb650ab9a9dd3828', + '2c4a2f96c700e3705e185c2846a710691b6e800e8aec11fd4b3e47bcc3990548'), # ucx-1.13.1.tar.gz + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, + {'UCX-1.13.1_fix-undeclared-PTR.patch': 'ef22c29604552ad3223f2a6bac352f30023cc5cf68f786abfdc4ad7c04189a76'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('pkgconf', '1.9.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.12'), + ('numactl', '2.0.16'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.13.1-dynamic_modules.patch b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-dynamic_modules.patch new file mode 100644 index 00000000000..bf0e5564853 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1-dynamic_modules.patch @@ -0,0 +1,29 @@ +# UCX is hardcoded to only load the modules it is compiled with. +# This patch adds an optional EB_UCX_xxx_MODULES that can override this list, allowing new modules to be loaded later. +# Author: micketeer@gmail.com - updated for UCX 1.13.1 by Kenneth Hoste (HPC-UGent) +--- ucx-1.13.1.orig/src/ucs/sys/module.c 2022-09-07 09:16:18.000000000 +0200 ++++ ucx-1.13.1/src/ucs/sys/module.c 2022-10-18 16:29:29.318490689 +0200 +@@ -271,6 +271,8 @@ + char *modules_str; + char *saveptr; + char *module_name; ++ char *env_modules; ++ char buf[64]; + + ucs_module_loader_init_paths(); + +@@ -278,7 +280,13 @@ + ucs_assert(ucs_sys_is_dynamic_lib()); + + ucs_module_debug("loading modules for %s", framework); +- modules_str = ucs_strdup(modules, "modules_list"); ++ ucs_snprintf_safe(buf, sizeof(buf), "EB_UCX_%s_MODULES", framework); ++ env_modules = getenv(buf); ++ if (env_modules != NULL) { ++ modules_str = ucs_strdup(env_modules, "modules_list"); ++ } else { ++ modules_str = ucs_strdup(modules, "modules_list"); ++ } + if (modules_str != NULL) { + saveptr = NULL; + module_name = strtok_r(modules_str, ":", &saveptr); diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch b/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch new file mode 100644 index 00000000000..4551b62371b --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.13.1_fix-undeclared-PTR.patch @@ -0,0 +1,27 @@ +From 6b6128efd416831cec3a1820f7d1c8e648b79448 Mon Sep 17 00:00:00 2001 +From: Hui Zhou +Date: Sun, 14 Aug 2022 23:29:09 -0500 +Subject: [PATCH] UCS/DEBUG: replace PTR with void * + +The PTR macro is missing on the latest Arch linux. +--- + src/ucs/debug/debug.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/ucs/debug/debug.c b/src/ucs/debug/debug.c +index 4ab9a9b7a2a..c51c99ba2b1 100644 +--- a/src/ucs/debug/debug.c ++++ b/src/ucs/debug/debug.c +@@ -272,10 +272,10 @@ static int load_file(struct backtrace_file *file) + goto err_close; + } + +- symcount = bfd_read_minisymbols(file->abfd, 0, (PTR)&file->syms, &size); ++ symcount = bfd_read_minisymbols(file->abfd, 0, (void *)&file->syms, &size); + if (symcount == 0) { + free(file->syms); +- symcount = bfd_read_minisymbols(file->abfd, 1, (PTR)&file->syms, &size); ++ symcount = bfd_read_minisymbols(file->abfd, 1, (void *)&file->syms, &size); + } + if (symcount < 0) { + goto err_close; diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b8ea3f98832 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.14.0-GCCcore-12.2.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.14.0' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.14.0.tar.gz': '9bd95e2059de5dece9dddd049aacfca3d21bfca025748a6a0b1be4486e28afdd'}, + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + {'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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.14.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1705ab53f4d --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.14.1-GCCcore-12.3.0.eb @@ -0,0 +1,54 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.14.1' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.11.0_fix-implicit-odp-release.patch', + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.14.1.tar.gz': 'baa0634cafb269a3112f626eb226bcd2ca8c9fcf0fec3b8e2a3553baad5f77aa'}, + {'UCX-1.11.0_fix-implicit-odp-release.patch': 'e21d66b75f3727a98dbd1737b419a6f77c0c5a8ac660a21affcbf10bb3b941ed'}, + {'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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.15.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..c419432071f --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-GCCcore-13.2.0.eb @@ -0,0 +1,60 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.15.0' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.15.0.tar.gz': '4b202087076bc1c98f9249144f0c277a8ea88ad4ca6f404f94baa9cb3aebda6d'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +# Uncomment when updating to final release +# sources = ['%(namelower)s-%(version)s.tar.gz'] +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('pkgconf', '2.0.3'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.2.13'), + ('numactl', '2.0.16'), +] + +if ARCH == "riscv64": + patches += ['UCX-1.15.0-add_riscv_support.patch'] + checksums += [{'UCX-1.15.0-add_riscv_support.patch': + '700640d469f441f3ee2c9d42e3a533f78f0c892c1d3c221aebd41279668d118e'}] + preconfigopts = 'autoreconf -fi && ' + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.15.0-add_riscv_support.patch b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch new file mode 100644 index 00000000000..99fc1fcc298 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.15.0-add_riscv_support.patch @@ -0,0 +1,792 @@ +Backport RISC-V support to 1.15.0, based on https://github.com/openucx/ucx/pull/9168. + +Author: Bob Dröge (University of Groningen) + +diff -Nru ucx-1.15.0.orig/src/tools/info/sys_info.c ucx-1.15.0/src/tools/info/sys_info.c +--- ucx-1.15.0.orig/src/tools/info/sys_info.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/tools/info/sys_info.c 2024-04-25 16:22:29.633087861 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -37,7 +38,8 @@ + [UCS_CPU_MODEL_AMD_MILAN] = "Milan", + [UCS_CPU_MODEL_ZHAOXIN_ZHANGJIANG] = "Zhangjiang", + [UCS_CPU_MODEL_ZHAOXIN_WUDAOKOU] = "Wudaokou", +- [UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI] = "Lujiazui" ++ [UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI] = "Lujiazui", ++ [UCS_CPU_MODEL_RV64G] = "RV64G", + }; + + static const char* cpu_vendor_names[] = { +@@ -46,6 +48,7 @@ + [UCS_CPU_VENDOR_AMD] = "AMD", + [UCS_CPU_VENDOR_GENERIC_ARM] = "Generic ARM", + [UCS_CPU_VENDOR_GENERIC_PPC] = "Generic PPC", ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = "Generic RV64G", + [UCS_CPU_VENDOR_FUJITSU_ARM] = "Fujitsu ARM", + [UCS_CPU_VENDOR_ZHAOXIN] = "Zhaoxin" + }; +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro.c ucx-1.15.0/src/ucm/bistro/bistro.c +--- ucx-1.15.0.orig/src/ucm/bistro/bistro.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/bistro/bistro.c 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2018. ALL RIGHTS RESERVED. ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -63,7 +64,7 @@ + return status; + } + +-#if defined(__x86_64__) || defined (__aarch64__) ++#if defined(__x86_64__) || defined (__aarch64__) || defined (__riscv) + struct ucm_bistro_restore_point { + void *addr; /* address of function to restore */ + size_t patch_len; /* patch length */ +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro.h ucx-1.15.0/src/ucm/bistro/bistro.h +--- ucx-1.15.0.orig/src/ucm/bistro/bistro.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/bistro/bistro.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2018. ALL RIGHTS RESERVED. ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -20,6 +21,8 @@ + # include "bistro_aarch64.h" + #elif defined(__x86_64__) + # include "bistro_x86_64.h" ++#elif defined(__riscv) ++# include "bistro_rv64.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.c ucx-1.15.0/src/ucm/bistro/bistro_rv64.c +--- ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucm/bistro/bistro_rv64.c 2024-04-25 16:20:49.604417755 +0200 +@@ -0,0 +1,108 @@ ++/** ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++ * ++ * See file LICENSE for terms. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#if defined(__riscv) ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define X31 31 ++#define X0 0 ++ ++/** ++ * @brief JALR - Add 12 bit immediate to source register, save to destination ++ * register, jump and link from destination register ++ * ++ * @param[in] _regs source register number (0-31) ++ * @param[in] _regd destination register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define JALR(_regs, _regd, _imm) \ ++ (((_imm) << 20) | ((_regs) << 15) | (0b000 << 12) | ((_regd) << 7) | (0x67)) ++ ++/** ++ * @brief C_J - Indirect jump (using compressed instruction) ++ * ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define C_J(_imm) \ ++ ((0b101) << 13 | ((_imm >> 1) << 2) | (0b01)) ++ ++/** ++ * @brief AUIPIC - Add upper intermediate to PC ++ * ++ * @param[in] _regd register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define AUIPC(_regd, _imm) (((_imm) << 12) | ((_regd) << 7) | (0x17)) ++ ++/** ++ * @brief LD - Load from memory with address from register plus immediate ++ * ++ * @param[in] _regs source register number (0-31) ++ * @param[in] _regd destination register number (0-31) ++ * @param[in] _imm 12 bit immmediate value ++ */ ++#define LD(_regs, _regd, _imm) \ ++ (((_imm) << 20) | ((_regs) << 15) | (0b011 << 12) | ((_regd) << 7) | (0x3)) ++ ++/* void ucm_bistro_patch_lock(void *dst) ++{ ++ static const ucm_bistro_lock_t self_jmp = { ++ .j = C_J(0) ++ }; ++ ucm_bistro_modify_code(dst, &self_jmp); ++} */ ++ ++ucs_status_t ucm_bistro_patch(void *func_ptr, void *hook, const char *symbol, ++ void **orig_func_p, ++ ucm_bistro_restore_point_t **rp) ++{ ++ ucs_status_t status; ++ ucm_bistro_patch_t patch; ++ ++ patch = (ucm_bistro_patch_t) { ++ .auipc = AUIPC(X31, 0), ++ .ld = LD(31, 31, 0x10), ++ .jalr = JALR(X31, X0, 0), ++ .spare = 0, ++ .address = (uintptr_t)hook ++ }; ++ ++ if (orig_func_p != NULL) { ++ return UCS_ERR_UNSUPPORTED; ++ } ++ ++ status = ucm_bistro_create_restore_point(func_ptr, sizeof(patch), rp); ++ if (UCS_STATUS_IS_ERR(status)) { ++ return status; ++ } ++ ++ return ucm_bistro_apply_patch(func_ptr, &patch, sizeof(patch)); ++} ++ ++ucs_status_t ucm_bistro_relocate_one(ucm_bistro_relocate_context_t *ctx) ++{ ++ return UCS_ERR_UNSUPPORTED; ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.h ucx-1.15.0/src/ucm/bistro/bistro_rv64.h +--- ucx-1.15.0.orig/src/ucm/bistro/bistro_rv64.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucm/bistro/bistro_rv64.h 2024-04-25 16:20:49.604417755 +0200 +@@ -0,0 +1,58 @@ ++/** ++ * Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++ * ++ * See file LICENSE for terms. ++ */ ++ ++ ++#ifndef UCM_BISTRO_BISTRO_RV64_H_ ++#define UCM_BISTRO_BISTRO_RV64_H_ ++ ++#include ++#include ++ ++#include ++#include ++ ++#define UCM_BISTRO_PROLOGUE ++#define UCM_BISTRO_EPILOGUE ++ ++typedef struct ucm_bistro_patch { ++ uint32_t auipc; ++ uint32_t ld; ++ uint32_t jalr; ++ uint32_t spare; ++ uint64_t address; ++} UCS_S_PACKED ucm_bistro_patch_t; ++ ++ ++/** ++ * Set library function call hook using Binary Instrumentation ++ * method (BISTRO): replace function body by user defined call ++ * ++ * @param func_ptr Pointer to function to patch. ++ * @param hook User-defined function-replacer. ++ * @param symbol Function name to replace. ++ * @param orig_func_p Unsupported on this architecture and must be NULL. ++ * If set to a non-NULL value, this function returns ++ * @ref UCS_ERR_UNSUPPORTED. ++ * @param rp Restore point used to restore original function. ++ * Optional, may be NULL. ++ * ++ * @return Error code as defined by @ref ucs_status_t ++ */ ++ucs_status_t ucm_bistro_patch(void *func_ptr, void *hook, const char *symbol, ++ void **orig_func_p, ++ ucm_bistro_restore_point_t **rp); ++ ++/* Lock implementation */ ++typedef struct { ++ uint16_t j; /* jump to self */ ++} UCS_S_PACKED ucm_bistro_lock_t; ++ ++/** ++ * Helper functions to improve atomicity of function patching ++ */ ++// void ucm_bistro_patch_lock(void *dst); ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucm/Makefile.am ucx-1.15.0/src/ucm/Makefile.am +--- ucx-1.15.0.orig/src/ucm/Makefile.am 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/Makefile.am 2024-04-25 16:20:49.604417755 +0200 +@@ -31,7 +31,8 @@ + bistro/bistro.h \ + bistro/bistro_x86_64.h \ + bistro/bistro_aarch64.h \ +- bistro/bistro_ppc64.h ++ bistro/bistro_ppc64.h \ ++ bistro/bistro_rv64.h + + libucm_la_SOURCES = \ + event/event.c \ +@@ -44,7 +45,8 @@ + bistro/bistro.c \ + bistro/bistro_x86_64.c \ + bistro/bistro_aarch64.c \ +- bistro/bistro_ppc64.c ++ bistro/bistro_ppc64.c \ ++ bistro/bistro_rv64.c + + if HAVE_UCM_PTMALLOC286 + libucm_la_CPPFLAGS += \ +diff -Nru ucx-1.15.0.orig/src/ucm/util/reloc.c ucx-1.15.0/src/ucm/util/reloc.c +--- ucx-1.15.0.orig/src/ucm/util/reloc.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/util/reloc.c 2024-04-25 16:20:49.604417755 +0200 +@@ -91,6 +91,19 @@ + return 0; + } + ++static void * ++ucm_reloc_get_pointer(ElfW(Addr) base, const ElfW(Phdr) *dphdr, ElfW(Sxword) tag) ++{ ++ uintptr_t entry = ucm_reloc_get_entry(base, dphdr, tag); ++ ++#if defined(__riscv) ++ /* On RISC-V these are not pointers but offsets */ ++ return UCS_PTR_BYTE_OFFSET(base, entry); ++#else ++ return (void *)entry; ++#endif ++} ++ + static void ucm_reloc_file_lock(int fd, int l_type) + { + struct flock fl = { l_type, SEEK_SET, 0, 0}; +@@ -358,8 +371,8 @@ + } + + /* Get ELF tables pointers */ +- symtab = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_SYMTAB); +- strtab = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_STRTAB); ++ symtab = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_SYMTAB); ++ strtab = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_STRTAB); + if ((symtab == NULL) || (strtab == NULL)) { + /* no DT_SYMTAB or DT_STRTAB sections are defined */ + ucm_debug("%s has no dynamic symbols - skipping", dl_name) +@@ -369,7 +382,7 @@ + num_symbols = 0; + + /* populate .got.plt */ +- jmprel = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_JMPREL); ++ jmprel = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_JMPREL); + if (jmprel != NULL) { + pltrelsz = ucm_reloc_get_entry(dlpi_addr, dphdr, DT_PLTRELSZ); + num_symbols += ucm_dl_populate_symbols(dl_info, dlpi_addr, jmprel, +@@ -377,7 +390,7 @@ + } + + /* populate .got */ +- rela = (void*)ucm_reloc_get_entry(dlpi_addr, dphdr, DT_RELA); ++ rela = ucm_reloc_get_pointer(dlpi_addr, dphdr, DT_RELA); + if (rela != NULL) { + relasz = ucm_reloc_get_entry(dlpi_addr, dphdr, DT_RELASZ); + num_symbols += ucm_dl_populate_symbols(dl_info, dlpi_addr, rela, relasz, +diff -Nru ucx-1.15.0.orig/src/ucm/util/reloc.h ucx-1.15.0/src/ucm/util/reloc.h +--- ucx-1.15.0.orig/src/ucm/util/reloc.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucm/util/reloc.h 2024-04-25 16:20:49.604417755 +0200 +@@ -54,13 +54,33 @@ + static UCS_F_MAYBE_UNUSED + void* ucm_reloc_get_orig(const char *symbol, void *replacement) + { ++ static const int flags = RTLD_LOCAL | RTLD_NODELETE | RTLD_LAZY; + const char *error; +- void *func_ptr; ++ void *func_ptr = NULL; ++ int ret; ++ void *dl; ++ Dl_info info; ++ ++ (void)dlerror(); ++ ret = dladdr((void*)ucm_reloc_get_orig, &info); ++ if (ret == 0) { ++ ucm_warn("could not find address of current library: %s", dlerror()); ++ return NULL; ++ } ++ ++ (void)dlerror(); ++ dl = dlopen(info.dli_fname, flags); ++ if (dl != NULL) { ++ (void)dlerror(); ++ func_ptr = dlsym(dl, symbol); ++ ucm_trace("(libucm) found symbol %s at %p", symbol, func_ptr); ++ dlclose(dl); ++ } + +- func_ptr = dlsym(RTLD_NEXT, symbol); + if (func_ptr == NULL) { + (void)dlerror(); + func_ptr = dlsym(RTLD_DEFAULT, symbol); ++ ucm_trace("(default) found symbol %s at %p", symbol, func_ptr); + if (func_ptr == replacement) { + error = dlerror(); + ucm_fatal("could not find address of original %s(): %s", symbol, +diff -Nru ucx-1.15.0.orig/src/ucs/arch/atomic.h ucx-1.15.0/src/ucs/arch/atomic.h +--- ucx-1.15.0.orig/src/ucs/arch/atomic.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/atomic.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -15,6 +16,8 @@ + # include "generic/atomic.h" + #elif defined(__aarch64__) + # include "generic/atomic.h" ++#elif defined(__riscv) ++# include "generic/atomic.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/bitops.h ucx-1.15.0/src/ucs/arch/bitops.h +--- ucx-1.15.0.orig/src/ucs/arch/bitops.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/bitops.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) Huawei Technologies Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -20,6 +21,8 @@ + # include "ppc64/bitops.h" + #elif defined(__aarch64__) + # include "aarch64/bitops.h" ++#elif defined(__riscv) ++# include "rv64/bitops.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/cpu.c ucx-1.15.0/src/ucs/arch/cpu.c +--- ucx-1.15.0.orig/src/ucs/arch/cpu.c 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/cpu.c 2024-04-25 16:25:29.290421918 +0200 +@@ -1,6 +1,7 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2019. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -70,17 +71,22 @@ + [UCS_CPU_VENDOR_ZHAOXIN] = { + .min = UCS_MEMUNITS_INF, + .max = UCS_MEMUNITS_INF ++ }, ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = { ++ .min = UCS_MEMUNITS_INF, ++ .max = UCS_MEMUNITS_INF + } + }; + + const size_t ucs_cpu_est_bcopy_bw[UCS_CPU_VENDOR_LAST] = { +- [UCS_CPU_VENDOR_UNKNOWN] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_INTEL] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_AMD] = UCS_CPU_EST_BCOPY_BW_AMD, +- [UCS_CPU_VENDOR_GENERIC_ARM] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_GENERIC_PPC] = UCS_CPU_EST_BCOPY_BW_DEFAULT, +- [UCS_CPU_VENDOR_FUJITSU_ARM] = UCS_CPU_EST_BCOPY_BW_FUJITSU_ARM, +- [UCS_CPU_VENDOR_ZHAOXIN] = UCS_CPU_EST_BCOPY_BW_DEFAULT ++ [UCS_CPU_VENDOR_UNKNOWN] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_INTEL] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_AMD] = UCS_CPU_EST_BCOPY_BW_AMD, ++ [UCS_CPU_VENDOR_GENERIC_ARM] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_GENERIC_PPC] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_GENERIC_RV64G] = UCS_CPU_EST_BCOPY_BW_DEFAULT, ++ [UCS_CPU_VENDOR_FUJITSU_ARM] = UCS_CPU_EST_BCOPY_BW_FUJITSU_ARM, ++ [UCS_CPU_VENDOR_ZHAOXIN] = UCS_CPU_EST_BCOPY_BW_DEFAULT + }; + + static void ucs_sysfs_get_cache_size() +diff -Nru ucx-1.15.0.orig/src/ucs/arch/cpu.h ucx-1.15.0/src/ucs/arch/cpu.h +--- ucx-1.15.0.orig/src/ucs/arch/cpu.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/cpu.h 2024-04-25 16:20:49.604417755 +0200 +@@ -2,6 +2,7 @@ + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2015. ALL RIGHTS RESERVED. + * Copyright (C) ARM Ltd. 2016. ALL RIGHTS RESERVED. + * Copyright (C) Shanghai Zhaoxin Semiconductor Co., Ltd. 2020. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -36,6 +37,7 @@ + UCS_CPU_MODEL_ZHAOXIN_ZHANGJIANG, + UCS_CPU_MODEL_ZHAOXIN_WUDAOKOU, + UCS_CPU_MODEL_ZHAOXIN_LUJIAZUI, ++ UCS_CPU_MODEL_RV64G, + UCS_CPU_MODEL_LAST + } ucs_cpu_model_t; + +@@ -66,6 +68,7 @@ + UCS_CPU_VENDOR_GENERIC_PPC, + UCS_CPU_VENDOR_FUJITSU_ARM, + UCS_CPU_VENDOR_ZHAOXIN, ++ UCS_CPU_VENDOR_GENERIC_RV64G, + UCS_CPU_VENDOR_LAST + } ucs_cpu_vendor_t; + +@@ -99,6 +102,8 @@ + # include "ppc64/cpu.h" + #elif defined(__aarch64__) + # include "aarch64/cpu.h" ++#elif defined(__riscv) ++# include "rv64/cpu.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/global_opts.h ucx-1.15.0/src/ucs/arch/global_opts.h +--- ucx-1.15.0.orig/src/ucs/arch/global_opts.h 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/arch/global_opts.h 2024-04-25 16:20:49.604417755 +0200 +@@ -1,5 +1,6 @@ + /** + * Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2019. ALL RIGHTS RESERVED. ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + * + * See file LICENSE for terms. + */ +@@ -15,6 +16,8 @@ + # include "ppc64/global_opts.h" + #elif defined(__aarch64__) + # include "aarch64/global_opts.h" ++#elif defined(__riscv) ++# include "rv64/global_opts.h" + #else + # error "Unsupported architecture" + #endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/bitops.h ucx-1.15.0/src/ucs/arch/rv64/bitops.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/bitops.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/bitops.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,33 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_BITOPS_H_ ++#define UCS_ARCH_RV64_BITOPS_H_ ++ ++#include ++#include ++ ++static UCS_F_ALWAYS_INLINE unsigned __ucs_ilog2_u32(uint32_t n) ++{ ++ return 31 - __builtin_clz(n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned __ucs_ilog2_u64(uint64_t n) ++{ ++ return 63 - __builtin_clzll(n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned ucs_ffs32(uint32_t n) ++{ ++ return __ucs_ilog2_u32(n & -n); ++} ++ ++static UCS_F_ALWAYS_INLINE unsigned ucs_ffs64(uint64_t n) ++{ ++ return __ucs_ilog2_u64(n & -n); ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.c ucx-1.15.0/src/ucs/arch/rv64/cpu.c +--- ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/cpu.c 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,20 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#if defined(__riscv) ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#include ++ ++ucs_cpu_vendor_t ucs_arch_get_cpu_vendor() ++{ ++ return UCS_CPU_VENDOR_GENERIC_RV64G; ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.h ucx-1.15.0/src/ucs/arch/rv64/cpu.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/cpu.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/cpu.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,113 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* Copyright (C) Rivos Inc. 2023 ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_CPU_H_ ++#define UCS_ARCH_RV64_CPU_H_ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++BEGIN_C_DECLS ++ ++/** @file cpu.h */ ++ ++#define UCS_ARCH_CACHE_LINE_SIZE 64 ++ ++/* ++ * System call for flushing the instruction caches. ++ * ++ * Need to pass zero to lead to all HARTs (CPUs) to update their caches. ++ */ ++#define ucs_rv64_icache_flush(_start, _end) \ ++ syscall(SYS_riscv_flush_icache, _start, _end, 0) ++ ++#define ucs_memory_bus_store_fence() asm volatile("fence ow, ow" ::: "memory") ++#define ucs_memory_bus_load_fence() asm volatile("fence ir, ir" ::: "memory") ++ ++/** ++ * The RISC-V memory model is mostly weak. The fence instruction ensures that all ++ * HARTs (CPUs) see any stores or loads before the fence before any stores or ++ * loads after the fence. ++ */ ++ ++#define ucs_memory_cpu_fence() asm volatile("fence rw, rw" ::: "memory") ++#define ucs_memory_bus_cacheline_wc_flush() ucs_memory_cpu_fence() ++#define ucs_memory_cpu_store_fence() asm volatile("fence rw, w" ::: "memory") ++#define ucs_memory_cpu_load_fence() asm volatile("fence r, rw" ::: "memory") ++#define ucs_memory_cpu_wc_fence() ucs_memory_cpu_fence() ++ ++static inline double ucs_arch_get_clocks_per_sec() ++{ ++ return ucs_arch_generic_get_clocks_per_sec(); ++} ++ ++static inline ucs_cpu_model_t ucs_arch_get_cpu_model() ++{ ++ return UCS_CPU_MODEL_RV64G; ++} ++ ++static inline int ucs_arch_get_cpu_flag() ++{ ++ return UCS_CPU_FLAG_UNKNOWN; ++} ++ ++static inline void ucs_cpu_init() ++{ ++} ++ ++ucs_cpu_vendor_t ucs_arch_get_cpu_vendor(); ++ ++static inline ucs_status_t ucs_arch_get_cache_size(size_t *cache_sizes) ++{ ++ return UCS_ERR_UNSUPPORTED; ++} ++ ++static inline uint64_t ucs_arch_read_hres_clock() ++{ ++ return ucs_arch_generic_read_hres_clock(); ++} ++ ++#define ucs_arch_wait_mem ucs_arch_generic_wait_mem ++ ++#if !HAVE___CLEAR_CACHE ++static inline void ucs_arch_clear_cache(void *start, void *end) ++{ ++ /* ++ * The syscall will cause all other HARTs (CPUs) to invalidate their ++ * instruction caches. This is the equivalent of the glibc __clear_cache() ++ * implementation that ucs_clear_cache() will use if HAVE_CLEAR_CACHE is ++ * defined. ++ */ ++ ucs_rv64_icache_flush(start, end); ++} ++#endif ++ ++static inline void *ucs_memcpy_relaxed(void *dst, const void *src, size_t len) ++{ ++ return memcpy(dst, src, len); ++} ++ ++static UCS_F_ALWAYS_INLINE void ++ucs_memcpy_nontemporal(void *dst, const void *src, size_t len) ++{ ++ memcpy(dst, src, len); ++} ++ ++END_C_DECLS ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.c ucx-1.15.0/src/ucs/arch/rv64/global_opts.c +--- ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.c 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/global_opts.c 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,24 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#if defined(__riscv) ++ ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif ++ ++#include ++#include ++ ++ucs_config_field_t ucs_arch_global_opts_table[] = { ++ {NULL} ++}; ++ ++void ucs_arch_print_memcpy_limits(ucs_arch_global_opts_t *config) ++{ ++} ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.h ucx-1.15.0/src/ucs/arch/rv64/global_opts.h +--- ucx-1.15.0.orig/src/ucs/arch/rv64/global_opts.h 1970-01-01 01:00:00.000000000 +0100 ++++ ucx-1.15.0/src/ucs/arch/rv64/global_opts.h 2024-04-25 16:20:49.608417782 +0200 +@@ -0,0 +1,25 @@ ++/** ++* Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. ++* ++* See file LICENSE for terms. ++*/ ++ ++#ifndef UCS_ARCH_RV64_GLOBAL_OPTS_H_ ++#define UCS_ARCH_RV64_GLOBAL_OPTS_H_ ++ ++#include ++ ++#include ++ ++BEGIN_C_DECLS ++ ++#define UCS_ARCH_GLOBAL_OPTS_INITALIZER {} ++ ++/* built-in memcpy config */ ++typedef struct ucs_arch_global_opts { ++ char dummy; ++} ucs_arch_global_opts_t; ++ ++END_C_DECLS ++ ++#endif +diff -Nru ucx-1.15.0.orig/src/ucs/configure.m4 ucx-1.15.0/src/ucs/configure.m4 +--- ucx-1.15.0.orig/src/ucs/configure.m4 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/configure.m4 2024-04-25 16:20:49.608417782 +0200 +@@ -2,6 +2,7 @@ + # Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2014. ALL RIGHTS RESERVED. + # Copyright (C) UT-Battelle, LLC. 2015. ALL RIGHTS RESERVED. + # Copyright (C) ARM, Ltd. 2016. ALL RIGHTS RESERVED. ++# Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + # See file LICENSE for terms. + # + +@@ -238,7 +239,7 @@ + [AS_HELP_STRING([--with-cache-line-size=SIZE], + [Build UCX with cache line size defined by user. This parameter + overwrites default cache line sizes defines in +- UCX (x86-64: 64, Power: 128, ARMv8: 64/128). The supported values are: 64, 128])], ++ UCX (x86-64: 64, Power: 128, ARMv8: 64/128, RISCV: 64). The supported values are: 64, 128])], + [], + [with_cache_line_size=no]) + +diff -Nru ucx-1.15.0.orig/src/ucs/Makefile.am ucx-1.15.0/src/ucs/Makefile.am +--- ucx-1.15.0.orig/src/ucs/Makefile.am 2023-09-29 12:31:02.000000000 +0200 ++++ ucx-1.15.0/src/ucs/Makefile.am 2024-04-25 16:20:49.604417755 +0200 +@@ -2,6 +2,7 @@ + # Copyright (c) NVIDIA CORPORATION & AFFILIATES, 2001-2014. ALL RIGHTS RESERVED. + # Copyright (C) UT-Battelle, LLC. 2014-2017. ALL RIGHTS RESERVED. + # Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED. ++# Copyright (C) Tactical Computing Labs, LLC. 2022. ALL RIGHTS RESERVED. + # See file LICENSE for terms. + # + +@@ -22,6 +23,7 @@ + nobase_dist_libucs_la_HEADERS = \ + arch/aarch64/bitops.h \ + arch/ppc64/bitops.h \ ++ arch/rv64/bitops.h \ + arch/x86_64/bitops.h \ + arch/bitops.h \ + algorithm/crc.h \ +@@ -82,12 +84,14 @@ + arch/aarch64/global_opts.h \ + arch/generic/atomic.h \ + arch/ppc64/global_opts.h \ ++ arch/rv64/global_opts.h \ + arch/global_opts.h + + noinst_HEADERS = \ + arch/aarch64/cpu.h \ + arch/generic/cpu.h \ + arch/ppc64/cpu.h \ ++ arch/rv64/cpu.h \ + arch/x86_64/cpu.h \ + arch/cpu.h \ + config/ucm_opts.h \ +@@ -140,6 +144,8 @@ + arch/aarch64/global_opts.c \ + arch/ppc64/timebase.c \ + arch/ppc64/global_opts.c \ ++ arch/rv64/cpu.c \ ++ arch/rv64/global_opts.c \ + arch/x86_64/cpu.c \ + arch/x86_64/global_opts.c \ + arch/cpu.c \ diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..204af6d108a --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0' + +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 = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e5a9d8a4954 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-GCCcore-13.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.16.0' + +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.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +patches = [ + 'UCX-1.13.1-dynamic_modules.patch', +] +checksums = [ + {'ucx-1.16.0.tar.gz': 'f73770d3b583c91aba5fb07557e655ead0786e057018bfe42f0ebe8716e9d28c'}, + {'UCX-1.13.1-dynamic_modules.patch': '00874687bd90b795fff61aaa183f6c6bea2210aa1003b28f23d9ebf7066f8782'}, +] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('pkgconf', '2.2.0'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('zlib', '1.3.1'), + ('numactl', '2.0.18'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.2.0.eb b/easybuild/easyconfigs/u/UCX/UCX-1.16.0-rc4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..59c23e605c9 --- /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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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..3547fe01346 --- /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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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..ecf466624e0 --- /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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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..e9aad758fa0 --- /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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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..ce7ac056ed5 --- /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'), +] + +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --without-go --disable-doxygen-doc ' +# include the configure options from contrib/configure-release +configopts += '--disable-logging --disable-debug --disable-assertions --disable-params-check ' + +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.8.0-GCCcore-9.3.0-CUDA-11.0.2.eb b/easybuild/easyconfigs/u/UCX/UCX-1.8.0-GCCcore-9.3.0-CUDA-11.0.2.eb index cc2d5938c65..bfafd2ff9cd 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.8.0-GCCcore-9.3.0-CUDA-11.0.2.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.8.0-GCCcore-9.3.0-CUDA-11.0.2.eb @@ -38,7 +38,7 @@ osdependencies = [OS_PKG_IBVERBS_DEV] dependencies = [ ('numactl', '2.0.13'), - ('CUDAcore', local_cudaversion, '', True), + ('CUDAcore', local_cudaversion, '', SYSTEM), ('GDRCopy', '2.1', versionsuffix), ] diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.1.1.eb b/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.1.1.eb index 48c65be2945..4f58f9acc83 100644 --- a/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.1.1.eb +++ b/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.1.1.eb @@ -30,7 +30,7 @@ osdependencies = [OS_PKG_IBVERBS_DEV] dependencies = [ ('numactl', '2.0.13'), - ('CUDAcore', local_cudaversion, '', True), + ('CUDAcore', local_cudaversion, '', SYSTEM), ('GDRCopy', '2.1', versionsuffix), ] diff --git a/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.2.1.eb b/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.2.1.eb new file mode 100644 index 00000000000..11fabfc2ea7 --- /dev/null +++ b/easybuild/easyconfigs/u/UCX/UCX-1.9.0-GCCcore-10.2.0-CUDA-11.2.1.eb @@ -0,0 +1,52 @@ +# Note: +# This is an easyconfig file for EasyBuild, see https://github.com/easybuilders/easybuild +easyblock = 'ConfigureMake' + +name = 'UCX' +version = '1.9.0' +local_cudaversion = '11.2.1' +versionsuffix = '-CUDA-%s' % local_cudaversion + +homepage = 'http://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': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['a7a2c8841dc0d5444088a4373dc9b9cc68dbffcd917c1eba92ca8ed8e5e635fb'] + +builddependencies = [ + ('binutils', '2.35'), + ('Autotools', '20200321'), + ('pkg-config', '0.29.2'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +dependencies = [ + ('numactl', '2.0.13'), + ('CUDAcore', local_cudaversion, '', SYSTEM), + ('GDRCopy', '2.1', versionsuffix), +] + +configure_cmd = "contrib/configure-release" +configopts = '--enable-optimizations --enable-cma --enable-mt --with-verbs ' +configopts += '--without-java --disable-doxygen-doc ' +configopts += '--with-cuda=$EBROOTCUDACORE --with-gdrcopy=$EBROOTGDRCOPY ' + +prebuildopts = 'unset CUDA_CFLAGS && unset LIBS && ' +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-10.3.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-10.3.0.eb index 2b44e28db6d..2977e52d884 100644 --- a/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-10.3.0.eb @@ -23,7 +23,7 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} toolchainopts = {'pic': True} source_urls = [ - 'https://artifacts.unidata.ucar.edu/repository/downloads-udunits/', + 'https://artifacts.unidata.ucar.edu/repository/downloads-udunits/%(version)s/', 'https://sources.easybuild.io/u/UDUNITS/', ] sources = [SOURCELOWER_TAR_GZ] diff --git a/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ac80ef50517 --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.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': '11.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.37')] + +dependencies = [('expat', '2.4.1')] + +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/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e07aab5a73a --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-11.3.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': '11.3.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.38')] + +dependencies = [('expat', '2.4.8')] + +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/UDUNITS/UDUNITS-2.2.28-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..62fb8413bfc --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.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': '12.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.39')] + +dependencies = [('expat', '2.4.9')] + +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/UDUNITS/UDUNITS-2.2.28-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..67b179fd479 --- /dev/null +++ b/easybuild/easyconfigs/u/UDUNITS/UDUNITS-2.2.28-GCCcore-12.3.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': '12.3.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/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/USEARCH/USEARCH-11.0.667-i86linux32.eb b/easybuild/easyconfigs/u/USEARCH/USEARCH-11.0.667-i86linux32.eb index 08e4ea64664..a2640054429 100644 --- a/easybuild/easyconfigs/u/USEARCH/USEARCH-11.0.667-i86linux32.eb +++ b/easybuild/easyconfigs/u/USEARCH/USEARCH-11.0.667-i86linux32.eb @@ -1,4 +1,6 @@ -easyblock = 'Binary' +# the 64-bit version is commercial + +easyblock = 'PackedBinary' name = 'USEARCH' version = '11.0.667' @@ -10,16 +12,16 @@ description = """USEARCH is a unique sequence analysis tool which offers search toolchain = SYSTEM -# download via https://www.drive5.com/usearch/download.html +source_urls = ['http://www.drive5.com/downloads'] +sources = ['usearch%s_%s.gz' % (version, versionsuffix[1:])] +checksums = ['1be0faa1380100296029064e4cf9665d723d43f03c794da444c5b1a6b6799ac2'] + local_usearch_bin = 'usearch%s_%s' % (version, versionsuffix[1:]) -sources = [local_usearch_bin] -checksums = [ - # Download of the binary creates unique checksum due to licensing being injected into application - None -] -install_cmd = "mkdir -p %%(installdir)s/bin && mv %s %%(installdir)s/bin/%%(namelower)s && " % local_usearch_bin -install_cmd += "chmod a=x %(installdir)s/bin/%(namelower)s" +postinstallcmds = [ + "chmod +rx %%(installdir)s/%s" % local_usearch_bin, + "ln -s %%(installdir)s/%s %%(installdir)s/%%(namelower)s" % local_usearch_bin +] modloadmsg = """USEARCH (32-bit) is licensed software but can be used for free by individuals when registered. A 64-bit version is @@ -27,7 +29,7 @@ modloadmsg = """USEARCH (32-bit) is licensed software but """ sanity_check_paths = { - 'files': ['bin/%(namelower)s'], + 'files': ['%(namelower)s'], 'dirs': [], } diff --git a/easybuild/easyconfigs/u/UShER/UShER-0.4.1-gompi-2020b.eb b/easybuild/easyconfigs/u/UShER/UShER-0.4.1-gompi-2020b.eb new file mode 100644 index 00000000000..3c336471f36 --- /dev/null +++ b/easybuild/easyconfigs/u/UShER/UShER-0.4.1-gompi-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'UShER' +version = '0.4.1' + +homepage = 'https://github.com/yatisht/usher' +description = """UShER is now a package consisting of a family of programs for +rapid phylogenetic analyses, particularly suitable for the SARS-CoV-2 genomes.""" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +github_account = 'yatisht' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['UShER-%(version)s_external-tbb.patch'] +checksums = [ + '61acdeaec61f2b376704b4a519bba44b7cffdebf315f8126aba0a80ac3268b0e', # v0.4.1.tar.gz + 'a5b08fbf0ec65c3f548d794c2ad97b044ce536deab2f3362ad7f985a245bd677', # UShER-0.4.1_external-tbb.patch +] + +builddependencies = [ + ('CMake', '3.18.4'), +] +dependencies = [ + ('tbb', '2020.3'), + ('protobuf', '3.14.0'), + ('MAFFT', '7.475', '-with-extensions'), + ('Boost', '1.74.0'), + ('Python', '3.8.6'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['usher', 'ripples', 'matOptimize', 'matUtils']], + 'dirs': [], +} + +sanity_check_commands = ['usher -h', 'ripples -h', 'matOptimize -h', 'matUtils -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/UShER/UShER-0.4.1_external-tbb.patch b/easybuild/easyconfigs/u/UShER/UShER-0.4.1_external-tbb.patch new file mode 100644 index 00000000000..eda2b2b3dd1 --- /dev/null +++ b/easybuild/easyconfigs/u/UShER/UShER-0.4.1_external-tbb.patch @@ -0,0 +1,17 @@ +Remove internal build of TBB. Use standard tbb instead of tbb_preview. +Author: micketeer@gmail.com + +diff -ru usher-0.4.1.orig/CMakeLists.txt usher-0.4.1/CMakeLists.txt +--- usher-0.4.1.orig/CMakeLists.txt 2021-08-12 12:23:07.248102942 +0200 ++++ usher-0.4.1/CMakeLists.txt 2021-08-12 12:23:26.353054422 +0200 +@@ -35,9 +35,7 @@ + + include_directories(${Protobuf_INCLUDE_DIRS}) + +-include(${TBB_DIR}/cmake/TBBBuild.cmake) +-tbb_build(TBB_ROOT ${TBB_DIR} CONFIG_DIR TBB_DIR MAKE_ARGS tbb_cpf=1) +-find_package(TBB REQUIRED tbbmalloc tbbmalloc_proxy tbb_preview) ++find_package(TBB REQUIRED tbbmalloc tbbmalloc_proxy tbb) + + FIND_PACKAGE(Boost COMPONENTS program_options iostreams filesystem date_time REQUIRED) + diff --git a/easybuild/easyconfigs/u/UShER/UShER-0.5.0-gompi-2021b.eb b/easybuild/easyconfigs/u/UShER/UShER-0.5.0-gompi-2021b.eb new file mode 100644 index 00000000000..925f3336791 --- /dev/null +++ b/easybuild/easyconfigs/u/UShER/UShER-0.5.0-gompi-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'CMakeMake' + +name = 'UShER' +version = '0.5.0' + +homepage = 'https://github.com/yatisht/usher' +description = """UShER is now a package consisting of a family of programs for +rapid phylogenetic analyses, particularly suitable for the SARS-CoV-2 genomes.""" + +toolchain = {'name': 'gompi', 'version': '2021b'} + +github_account = 'yatisht' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['UShER-%(version)s_external-tbb.patch'] +checksums = [ + '0477859e9bca2db4eb5a150fbff16d80a534364134e9f75bdbb11b4e3a3378fe', # v0.5.0.tar.gz + '91754d8b8d12c235d961d8563d2fe7cbe3a9d6476aebea6f4289ead411920cbd', # UShER-0.5.0_external-tbb.patch +] + +builddependencies = [ + ('CMake', '3.21.1'), +] +dependencies = [ + ('tbb', '2020.3'), # we need the older version as newer versions don't build + ('protobuf', '3.17.3'), + ('MAFFT', '7.490', '-with-extensions'), + ('Boost', '1.77.0'), + ('Python', '3.9.6'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['usher', 'ripples', 'matOptimize', 'matUtils']], + 'dirs': [], +} + +sanity_check_commands = ['usher -h', 'ripples -h', 'matOptimize -h', 'matUtils -h'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/UShER/UShER-0.5.0_external-tbb.patch b/easybuild/easyconfigs/u/UShER/UShER-0.5.0_external-tbb.patch new file mode 100644 index 00000000000..ce947bd0edb --- /dev/null +++ b/easybuild/easyconfigs/u/UShER/UShER-0.5.0_external-tbb.patch @@ -0,0 +1,18 @@ +Remove internal build of TBB. Use standard tbb instead of tbb_preview. +Original Author: micketeer@gmail.com + +diff --git a/usher-0.5.0.orig/CMakeLists.txt b/usher-0.5.0/CMakeLists.txt +index 66a9032..4ce3949 100644 +--- a/usher-0.5.0.orig/CMakeLists.txt ++++ b/usher-0.5.0/CMakeLists.txt +@@ -38,9 +38,7 @@ find_package(MPI REQUIRED) + include_directories(SYSTEM ${MPI_INCLUDE_PATH}) + include_directories(${Protobuf_INCLUDE_DIRS}) + +-include(${TBB_DIR}/cmake/TBBBuild.cmake) +-tbb_build(TBB_ROOT ${TBB_DIR} CONFIG_DIR TBB_DIR MAKE_ARGS tbb_cpf=1) +-find_package(TBB REQUIRED tbbmalloc tbbmalloc_proxy tbb_preview) ++find_package(TBB REQUIRED tbbmalloc tbbmalloc_proxy tbb) + + FIND_PACKAGE(Boost COMPONENTS program_options iostreams filesystem date_time REQUIRED) + diff --git a/easybuild/easyconfigs/u/Ultralytics/Ultralytics-8.0.92-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/Ultralytics/Ultralytics-8.0.92-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..8f0fe0bc655 --- /dev/null +++ b/easybuild/easyconfigs/u/Ultralytics/Ultralytics-8.0.92-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Ultralytics' +version = '8.0.92' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/ultralytics/ultralytics' +description = """Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of +previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. +YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object +detection and tracking, instance segmentation, image classification and pose estimation tasks.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.1', versionsuffix), + ('PyTorch-bundle', '1.12.1', versionsuffix), # torchvision + ('Pillow-SIMD', '9.2.0'), + ('matplotlib', '3.5.2'), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('SciPy-bundle', '2022.05'), + ('tqdm', '4.64.0'), + ('Seaborn', '0.12.1'), + ('psutil', '5.9.3'), +] + +use_pip = True + +exts_list = [ + ('thop', '0.1.1.post2209072238', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['01473c225231927d2ad718351f78ebf7cffe6af3bed464c4f1ba1ef0f7cdda27'], + }), + ('urllib3', '1.26.11', { + 'checksums': ['ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a'], + }), + ('sentry-sdk', '1.22.2', { + 'checksums': ['5932c092c6e6035584eb74d77064e4bce3b7935dfc4a331349719a40db265840'], + }), + ('ultralytics', version, { + 'preinstallopts': 'sed -i "s/opencv-python/opencv-contrib-python/" requirements.txt &&', + 'checksums': ['f4285476621e5fba40a78a117930ea1073e358e8dd410171a45c1a357b735109'], + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/u/Umpire/Umpire-2024.02.1-foss-2023a.eb b/easybuild/easyconfigs/u/Umpire/Umpire-2024.02.1-foss-2023a.eb new file mode 100644 index 00000000000..fddfdf851cf --- /dev/null +++ b/easybuild/easyconfigs/u/Umpire/Umpire-2024.02.1-foss-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Umpire' +version = '2024.02.1' + +homepage = 'https://github.com/LLNL/Umpire' +description = """Umpire is a resource management library that allows the discovery, provision, +and management of memory on machines with multiple memory devices like NUMA and GPUs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/LLNL', + 'repo_name': 'Umpire', + 'tag': 'v%(version)s', + 'recursive': True, + 'keep_git_dir': True, + } +}] +checksums = [None] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +sanity_check_paths = { + 'files': ['lib/libcamp.a', 'include/umpire/Umpire.hpp'], + 'dirs': ['bin', 'include'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..60bf6654f0c --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 ' +buildopts += 'LF2="$LDFLAGS" ' +# Note: CF is multiple lines +buildopts += 'CF="$CFLAGS $CPPFLAGS -I. -DACORN_FTYPE_NFS -DWILD_STOP_AT_DIR -DLARGE_FILE_SUPPORT ' +buildopts += '-DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DNO_LCHMOD ' +buildopts += '-DDATE_FORMAT=DF_YMD -DUSE_BZIP2 -DIZ_HAVE_UXUIDGID -DNOMEMCPY -DNO_WORKING_ISPRINT" unzips ' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..16a87c4c8fd --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 ' +buildopts += 'LF2="$LDFLAGS" ' +# Note: CF is multiple lines +buildopts += 'CF="$CFLAGS $CPPFLAGS -I. -DACORN_FTYPE_NFS -DWILD_STOP_AT_DIR -DLARGE_FILE_SUPPORT ' +buildopts += '-DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DNO_LCHMOD ' +buildopts += '-DDATE_FORMAT=DF_YMD -DUSE_BZIP2 -DIZ_HAVE_UXUIDGID -DNOMEMCPY -DNO_WORKING_ISPRINT" unzips ' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..042b74c404e --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7baea9a00a2 --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-12.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.1.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..bfb9b30c73c --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.1.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..95d1743751f --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.2.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..08f61c7f44c --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0-GCCcore-13.3.0.eb @@ -0,0 +1,59 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +local_cf = ['$CFLAGS', '$CPPFLAGS', '-I.', '-DACORN_FTYPE_NFS', '-DWILD_STOP_AT_DIR', '-DLARGE_FILE_SUPPORT' + '-DUNICODE_SUPPORT', '-DUNICODE_WCHAR', '-DUTF8_MAYBE_NATIVE', '-DNO_LCHMOD', '-DDATE_FORMAT=DF_YMD', + '-DUSE_BZIP2', '-DIZ_HAVE_UXUIDGID', '-DNOMEMCPY', '-DNO_WORKING_ISPRINT'] + +buildopts = ' '.join([ + "-f unix/Makefile", + 'CC="$CC"', + 'D_USE_BZ2=-DUSE_BZIP2', + 'L_BZ2=-lbz2', + 'LF2="$LDFLAGS"', + 'CF="%s"' % ' '.join(local_cf), + 'unzips', +]) + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/UnZip/UnZip-6.0.eb b/easybuild/easyconfigs/u/UnZip/UnZip-6.0.eb new file mode 100644 index 00000000000..130e8bc2afd --- /dev/null +++ b/easybuild/easyconfigs/u/UnZip/UnZip-6.0.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UnZip' +version = '6.0' + +homepage = 'http://www.info-zip.org/UnZip.html' +description = """UnZip is an extraction utility for archives compressed +in .zip format (also called "zipfiles"). Although highly compatible both +with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's +own Zip program, our primary objectives have been portability and +non-MSDOS functionality.""" + +toolchain = SYSTEM + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +patches = [ + 'UnZip-%(version)s_various-security-and-other-fixes-from-Ubuntu.patch', +] +checksums = [ + '036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37', # unzip60.tar.gz + # UnZip-6.0_various-security-and-other-fixes-from-Ubuntu.patch + '06b9307fd5aa018896bd4126818c00c1fd284a06cc3681cf0492f951ebb57ffe', +] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 ' +buildopts += 'LF2="$LDFLAGS" ' +# Note: CF is multiple lines +buildopts += 'CF="$CFLAGS $CPPFLAGS -I. -DACORN_FTYPE_NFS -DWILD_STOP_AT_DIR -DLARGE_FILE_SUPPORT ' +buildopts += '-DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DNO_LCHMOD ' +buildopts += '-DDATE_FORMAT=DF_YMD -DUSE_BZIP2 -DIZ_HAVE_UXUIDGID -DNOMEMCPY -DNO_WORKING_ISPRINT" unzips ' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/unzip', 'bin/zipinfo'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["unzip -v"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..2ca769764aa --- /dev/null +++ b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'Uni-Core' +version = '0.0.3' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/dptech-corp/Uni-Core' +description = "An efficient distributed PyTorch framework" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('PyTorch', '1.12.0', versionsuffix), + ('jax', '0.3.25', versionsuffix), # provides absl-py + ('tensorboardX', '2.5.1'), + ('tqdm', '4.64.0'), + ('wandb', '0.13.4'), +] + +use_pip = True + +exts_list = [ + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + }), + ('huggingface-hub', '0.17.3', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'], + }), + ('tokenizers', '0.19.1', { + 'sources': ['tokenizers-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e'], + }), + (name, version, { + 'source_urls': ['https://github.com/dptech-corp/Uni-Core/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['e7a1e938d7d340d7aa483a05ed5ecf715bfa22f5f32a92e46d096da5b9a08043'], + 'preinstallopts': "sed -i 's/torch>=[0-9.]*/torch/g' setup.py && ", + 'modulename': 'unicore', + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb new file mode 100644 index 00000000000..d82f94349bc --- /dev/null +++ b/easybuild/easyconfigs/u/Uni-Core/Uni-Core-0.0.3-foss-2022a.eb @@ -0,0 +1,56 @@ +easyblock = 'PythonBundle' + +name = 'Uni-Core' +version = '0.0.3' + +homepage = 'https://github.com/dptech-corp/Uni-Core' +description = "An efficient distributed PyTorch framework" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('PyTorch', '1.12.0'), + ('jax', '0.3.25'), # provides absl-py + ('tensorboardX', '2.5.1'), + ('tqdm', '4.64.0'), + ('wandb', '0.13.4'), +] + +use_pip = True + +local_preinstallopts = "sed -i -e 's/DISABLE_CUDA_EXTENSION = False/DISABLE_CUDA_EXTENSION = True/g' " +local_preinstallopts += "-e 's/torch>=[0-9.]*/torch/g' setup.py && " + +exts_list = [ + ('lmdb', '1.4.1', { + 'checksums': ['1f4c76af24e907593487c904ef5eba1993beb38ed385af82adb25a858f2d658d'], + }), + ('contextlib2', '21.6.0', { + 'checksums': ['ab1e2bfe1d01d968e1b7e8d9023bc51ef3509bba217bb730cee3827e1ee82869'], + }), + ('ml-collections', '0.1.1', { + 'sources': ['ml_collections-%(version)s.tar.gz'], + 'checksums': ['3fefcc72ec433aa1e5d32307a3e474bbb67f405be814ea52a2166bfc9dbe68cc'], + 'preinstallopts': "touch requirements.txt && touch requirements-test.txt && ", + }), + ('huggingface-hub', '0.17.3', { + 'source_tmpl': 'huggingface_hub-%(version)s.tar.gz', + 'checksums': ['40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd'], + }), + ('tokenizers', '0.19.1', { + 'sources': ['tokenizers-%(version)s-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'], + 'checksums': ['8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e'], + }), + (name, version, { + 'source_urls': ['https://github.com/dptech-corp/Uni-Core/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'checksums': ['e7a1e938d7d340d7aa483a05ed5ecf715bfa22f5f32a92e46d096da5b9a08043'], + 'preinstallopts': local_preinstallopts, + 'modulename': 'unicore', + }), +] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2-foss-2022a.eb b/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2-foss-2022a.eb new file mode 100644 index 00000000000..3fa14b7d585 --- /dev/null +++ b/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2-foss-2022a.eb @@ -0,0 +1,52 @@ +easyblock = 'ConfigureMake' + +name = 'UniFrac' +version = '1.3.2' + +homepage = 'https://github.com/biocore/unifrac-binaries' +description = """ +UniFrac is the de facto repository for high-performance phylogenetic diversity +calculations. The methods in this repository are based on an implementation of +the Strided State UniFrac algorithm which is faster, and uses less memory than +Fast UniFrac. Strided State UniFrac supports Unweighted UniFrac, Weighted +UniFrac, Generalized UniFrac, Variance Adjusted UniFrac and meta UniFrac, in +both double and single precision (fp32). This repository also includes Stacked +Faith (manuscript in preparation), a method for calculating Faith's PD that is +faster and uses less memory than the Fast UniFrac-based reference +implementation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = ['https://github.com/biocore/unifrac-binaries/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +patches = ['UniFrac-1.3.2_fix.patch'] +checksums = [ + {'v1.3.2.tar.gz': '3395ce67d967b06a20ffc3cfa24c5cc400b49a7670399333b5daa2e4644627a7'}, + {'UniFrac-1.3.2_fix.patch': '8d4e497c95d7fd1162f3b8228f60493a2411ecae44108a0ceb37704acb14ef24'}, +] + +dependencies = [ + ('HDF5', '1.12.2'), + ('lz4', '1.9.3'), + ('Szip', '2.1.1'), + ('libaec', '1.0.6'), +] + +skipsteps = ['configure'] + +prebuildopts = 'export PREFIX=%(installdir)s && ' +buildopts = 'api && make main' + +pretestopts = prebuildopts +runtest = 'test' + +preinstallopts = prebuildopts + 'mkdir -p %(installdir)s/{lib,bin} && ' + +sanity_check_paths = { + 'files': ['lib/libssu.%s' % SHLIB_EXT, 'bin/ssu'], + 'dirs': ['include/unifrac'], +} + +sanity_check_commands = ['ssu --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2_fix.patch b/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2_fix.patch new file mode 100644 index 00000000000..32df3db62a4 --- /dev/null +++ b/easybuild/easyconfigs/u/UniFrac/UniFrac-1.3.2_fix.patch @@ -0,0 +1,42 @@ +Fix BLAS and LAPACK headers and libraries +Make sure libccu is found for capi_test +Author: Samuel Moors (Vrije Universiteit Brussel) +diff -ur unifrac-binaries-1.3.2.orig/src/Makefile unifrac-binaries-1.3.2/src/Makefile +--- unifrac-binaries-1.3.2.orig/src/Makefile 2023-05-09 18:46:16.000000000 +0200 ++++ unifrac-binaries-1.3.2/src/Makefile 2023-07-26 14:28:56.027032000 +0200 +@@ -36,7 +36,7 @@ + PREFIX := $(CONDA_PREFIX) + endif + +-BLASLIB=-llapacke -lcblas ++BLASLIB=-llapacke -lflexiblas + + ifeq ($(PLATFORM),Darwin) + AVX2 := $(shell sysctl -a | grep -c AVX2) +diff -ur unifrac-binaries-1.3.2.orig/src/skbio_alt.cpp unifrac-binaries-1.3.2/src/skbio_alt.cpp +--- unifrac-binaries-1.3.2.orig/src/skbio_alt.cpp 2023-05-09 18:46:16.000000000 +0200 ++++ unifrac-binaries-1.3.2/src/skbio_alt.cpp 2023-07-26 14:07:45.521123760 +0200 +@@ -10,8 +10,9 @@ + #include + + // Not using anything mkl specific, but this is what we get from Conda +-#include +-#include ++#include "cblas.h" ++#include "lapacke.h" ++ + + static std::mt19937 myRandomGenerator; + +diff -ur unifrac-binaries-1.3.2.orig/test/Makefile unifrac-binaries-1.3.2/test/Makefile +--- unifrac-binaries-1.3.2.orig/test/Makefile 2023-05-09 18:46:16.000000000 +0200 ++++ unifrac-binaries-1.3.2/test/Makefile 2023-07-26 15:58:32.421333000 +0200 +@@ -13,7 +13,7 @@ + test_binaries: capi_test + + capi_test: capi_test.c +- $(CC) -std=c99 -O0 -g capi_test.c -I../src -lssu -L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib -o capi_test ++ $(CC) -std=c99 -O0 -g capi_test.c -I../src -lssu -L../src -Wl,-rpath,../src -o capi_test + + clean: + -rm -f *.o capi_test diff --git a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.7-foss-2019a-Python-3.7.2.eb b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.7-foss-2019a-Python-3.7.2.eb index 890acbbf6f4..a83700d58cd 100644 --- a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.7-foss-2019a-Python-3.7.2.eb +++ b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.7-foss-2019a-Python-3.7.2.eb @@ -17,12 +17,12 @@ checksums = ['a8cf65e46dc2694b0fbd4e9190c73a1f300921457aadfab27a1792b785620d63'] dependencies = [ ('Python', '3.7.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Bowtie2', '2.3.5.1'), ('SAMtools', '1.9'), ('SPAdes', '3.13.1'), ('Racon', '1.3.2'), - ('Pilon', '1.23', '-Java-%(javaver)s', True), + ('Pilon', '1.23', '-Java-%(javaver)s', SYSTEM), ('BLAST+', '2.9.0'), ] diff --git a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.8-gompi-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.8-gompi-2020a-Python-3.8.2.eb index 70ef7ebfed1..ae461e506cd 100644 --- a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.8-gompi-2020a-Python-3.8.2.eb +++ b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.8-gompi-2020a-Python-3.8.2.eb @@ -17,12 +17,12 @@ checksums = ['e948871e4de9db5964c9ca6f8f877c3cbe6a46f62052dfab52ffe0f45bbbd203'] dependencies = [ ('Python', '3.8.2'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('Bowtie2', '2.4.1'), ('SAMtools', '1.10'), ('SPAdes', '3.14.1', versionsuffix), ('Racon', '1.4.13'), - ('Pilon', '1.23', '-Java-%(javaver)s', True), + ('Pilon', '1.23', '-Java-%(javaver)s', SYSTEM), ('BLAST+', '2.10.1'), ] diff --git a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.9-gompi-2021a.eb b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.9-gompi-2021a.eb new file mode 100644 index 00000000000..1ca53bc8f78 --- /dev/null +++ b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.4.9-gompi-2021a.eb @@ -0,0 +1,48 @@ +easyblock = 'PythonPackage' + +name = 'Unicycler' +version = '0.4.9' + +homepage = 'https://github.com/rrwick/Unicycler' +description = """ Unicycler is an assembly pipeline for bacterial genomes. It can assemble Illumina-only read sets + where it functions as a SPAdes-optimiser. It can also assembly long-read-only sets (PacBio or Nanopore) + where it runs a miniasm+Racon pipeline. """ + +toolchain = {'name': 'gompi', 'version': '2021a'} + +source_urls = ['https://github.com/rrwick/Unicycler/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['84bea8f3e8f99a1e63e5230ffe474a696db8caa67569c3a96ae12906d32a35eb'] + +dependencies = [ + ('Python', '3.9.5'), + ('Java', '11', '', SYSTEM), + ('Bowtie2', '2.4.4'), + ('SAMtools', '1.13'), + ('SPAdes', '3.13.0'), + ('Racon', '1.4.21'), + ('Pilon', '1.23', '-Java-%(javaver)s', SYSTEM), + ('BLAST+', '2.11.0'), +] + +download_dep_fail = True +use_pip = True + +_test_cmd = 'unicycler -t %(parallel)s -1 short_reads_1.fastq.gz -2 short_reads_2.fastq.gz -o outdir' +postinstallcmds = [ + ' '.join([ + "cd %(builddir)s/%(name)s-%(version)s/sample_data &&", + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH", + "PATH=%(installdir)s/bin:$PATH", + _test_cmd, + ]), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0-gompi-2021b.eb b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0-gompi-2021b.eb new file mode 100644 index 00000000000..68544dec87b --- /dev/null +++ b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0-gompi-2021b.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonPackage' + +name = 'Unicycler' +version = '0.5.0' + +homepage = 'https://github.com/rrwick/Unicycler' +description = """ Unicycler is an assembly pipeline for bacterial genomes. It can assemble Illumina-only read sets + where it functions as a SPAdes-optimiser. It can also assembly long-read-only sets (PacBio or Nanopore) + where it runs a miniasm+Racon pipeline. """ + +toolchain = {'name': 'gompi', 'version': '2021b'} + +github_account = 'rrwick' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_available-cpus.patch'] +checksums = [ + {'v0.5.0.tar.gz': '84a8709c9f2e624225410af702d779ffb0cb06f7c22c20e1f01b989945e08a47'}, + {'Unicycler-0.5.0_available-cpus.patch': '4c99e889826924b375e07f264b8a8a875a094d63127d5b39c3ebfaab267ce235'}, +] + +dependencies = [ + ('Python', '3.9.6'), + ('SPAdes', '3.15.3'), + ('Racon', '1.5.0'), + ('BLAST+', '2.12.0'), +] + +download_dep_fail = True +use_pip = True + +_test_cmd = 'unicycler -t %(parallel)s -1 short_reads_1.fastq.gz -2 short_reads_2.fastq.gz -o outdir' +postinstallcmds = [ + ' '.join([ + "cd %(builddir)s/%(name)s-%(version)s/sample_data &&", + "PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH", + "PATH=%(installdir)s/bin:$PATH", + _test_cmd, + ]), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0_available-cpus.patch b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0_available-cpus.patch new file mode 100644 index 00000000000..b8b2c8b49f3 --- /dev/null +++ b/easybuild/easyconfigs/u/Unicycler/Unicycler-0.5.0_available-cpus.patch @@ -0,0 +1,51 @@ +Determine the number of cores available to avoid using all that the system has. +Patch by Simon Branford (University of Birmingham) +--- setup.py.orig 2022-10-14 11:09:52.253946000 +0100 ++++ setup.py 2022-10-14 11:18:10.743520156 +0100 +@@ -104,7 +104,11 @@ + # Build Unicycler's C++ code. + make_cmd = ['make'] + try: +- make_cmd += ['-j', str(min(8, multiprocessing.cpu_count()))] ++ num_cpus = len(os.sched_getaffinity(0)) ++ except AttributeError: ++ num_cpus = multiprocessing.cpu_count() ++ try: ++ make_cmd += ['-j', str(min(8, num_cpus))] + except NotImplementedError: + pass + if self.makeargs: +--- unicycler/unicycler.py.orig 2022-10-14 11:09:58.407681000 +0100 ++++ unicycler/unicycler.py 2022-10-14 11:16:43.446404128 +0100 +@@ -627,9 +627,13 @@ + log.log('Unicycler version: v' + __version__) + log.log('Using ' + str(args.threads) + ' thread' + ('' if args.threads == 1 else 's')) + log.log('') +- if args.threads > 2 * multiprocessing.cpu_count(): +- log.log(red('Warning: you have specified a lot more threads than this machine seems to ' +- 'have! Was this intentional?')) ++ try: ++ num_cpus = len(os.sched_getaffinity(0)) ++ except AttributeError: ++ num_cpus = multiprocessing.cpu_count() ++ if args.threads > 2 * num_cpus: ++ log.log(red('Warning: you have specified a lot more threads than available! ' ++ 'Was this intentional?')) + log.log('') + log.log(out_dir_message) + +--- unicycler/misc.py.orig 2022-10-14 11:10:02.942374000 +0100 ++++ unicycler/misc.py 2022-10-14 11:17:30.093646345 +0100 +@@ -793,7 +793,11 @@ + + + def get_default_thread_count(): +- return min(multiprocessing.cpu_count(), settings.MAX_AUTO_THREAD_COUNT) ++ try: ++ num_cpus = len(os.sched_getaffinity(0)) ++ except AttributeError: ++ num_cpus = multiprocessing.cpu_count() ++ return min(num_cpus, settings.MAX_AUTO_THREAD_COUNT) + + + def spades_path_and_version(spades_path): diff --git a/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7a8e8612185 --- /dev/null +++ b/easybuild/easyconfigs/u/Unidecode/Unidecode-1.3.6-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'Unidecode' +version = '1.3.6' + +homepage = 'https://github.com/avian2/unidecode' +description = "Python library for lossy ASCII transliterations of Unicode text (port of Text::Unidecode Perl module)" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Python', '3.10.4')] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +fix_python_shebang_for = ['bin/unidecode'] + +sanity_check_paths = { + 'files': ['bin/unidecode'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["unidecode -h"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0-foss-2020b.eb b/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0-foss-2020b.eb new file mode 100644 index 00000000000..ab94cdba534 --- /dev/null +++ b/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0-foss-2020b.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'ucx-py' +version = '0.21.0' + +github_account = 'rapidsai' + +homepage = "https://ucx-py.readthedocs.io" +description = """UCX-Py is the Python interface for UCX, a low-level high-performance networking library. +UCX and UCX-Py supports several transport methods including InfiniBand and NVLink +while still using traditional networking protocols like TCP.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('pynvml', '11.0.0', { + 'checksums': ['d5fc4a22d355b40c341d6ba0aa888a2d4d2253177d243900f8401b7e6cacb1bb'], + }), + (name, version, { + 'modulename': 'ucp', + 'patches': ['ucx-py-%(version)s_setup-get-ucx-incpath.patch'], + 'source_urls': ['https://github.com/%(github_account)s/%(name)s/archive'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': [ + '751da668ba43ad15b53cdb0bfd4084bd4b07200db57b604a9a09aa99d8a3bc1b', # v0.21.0.tar.gz + # ucx-py-0.21.0_setup-get-ucx-incpath.patch + 'faeb61c302ffb37e72221d18c83fc929e47a6c5cd84c4208b01c5a21f570f561', + ], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0_setup-get-ucx-incpath.patch b/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0_setup-get-ucx-incpath.patch new file mode 100644 index 00000000000..6cd374fea10 --- /dev/null +++ b/easybuild/easyconfigs/u/ucx-py/ucx-py-0.21.0_setup-get-ucx-incpath.patch @@ -0,0 +1,38 @@ +description: setup.py extension to locate ucp headers from UCX_MODULE_DIR + configuraton key provided by ucx_info. +issue: https://github.com/rapidsai/ucx-py/issues/783 +author: Zdenek Matej, MAX IV Laboratory, Lund University +--- setup.py ++++ setup.py +@@ -24,9 +24,30 @@ library_dirs = [get_config_var("LIBDIR")] + libraries = ["ucp", "uct", "ucm", "ucs", "hwloc"] + extra_compile_args = ["-std=c99", "-Werror"] + ++def get_ucx_incpath(): ++ import subprocess ++ res = include_dirs[0] ++ # get output of ucx_info configuration ++ p = subprocess.Popen("ucx_info -c", stdout=subprocess.PIPE, shell=True) ++ (output, err) = p.communicate() ++ p.wait() ++ # get value of UCX_MODULE_DIR key and return path relative to it ++ lines = output.decode("utf-8").split('\n') ++ ucx_config = {} ++ for line in lines: ++ if line: ++ key, val = line.split('=') ++ ucx_config[key] = val ++ if 'UCX_MODULE_DIR' in ucx_config.keys(): ++ res = ucx_config['UCX_MODULE_DIR'] ++ # remove lib/ucx ++ res = os.path.dirname(os.path.dirname(res)) ++ # add include ++ res = os.path.join(res,'include') ++ return res + + def get_ucp_version(): +- with open(include_dirs[0] + "/ucp/api/ucp_version.h") as f: ++ with open(os.path.join(get_ucx_incpath(),"ucp/api/ucp_version.h")) as f: + ftext = f.read() + major = re.findall("^#define.*UCP_API_MAJOR.*", ftext, re.MULTILINE) + minor = re.findall("^#define.*UCP_API_MINOR.*", ftext, re.MULTILINE) diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb new file mode 100644 index 00000000000..80d6fbc5818 --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.4.6-foss-2020b.eb @@ -0,0 +1,32 @@ +# Author: Denis Krišťák (INUITS) + +easyblock = 'PythonPackage' + +name = 'umap-learn' +version = '0.4.6' + +homepage = 'https://pypi.org/project/umap-learn/' +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': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['4276da9a039c79fa5b4f8d3515a8ccaaccf11a2f59ce8d15baf9d2015a5e82b3'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('numba', '0.52.0'), +] + +download_dep_fail = True +use_pip = True + +options = {'modulename': 'umap'} + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb new file mode 100644 index 00000000000..e3de10224d6 --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2020b.eb @@ -0,0 +1,41 @@ +# 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.3' + +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': '2020b'} +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('scikit-learn', '0.23.2'), + ('numba', '0.53.1'), + ('LLVM', '11.0.0'), + ('tqdm', '4.56.2'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021a.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021a.eb new file mode 100644 index 00000000000..914a9481bfd --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021a.eb @@ -0,0 +1,41 @@ +# 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.3' + +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': '2021a'} +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('scikit-learn', '0.24.2'), + ('numba', '0.53.1'), + ('LLVM', '11.1.0'), + ('tqdm', '4.61.2'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb new file mode 100644 index 00000000000..3ddc3e129e2 --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2021b.eb @@ -0,0 +1,41 @@ +# 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.3' + +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': '2021b'} +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), + ('numba', '0.54.1'), + ('LLVM', '12.0.1'), + ('tqdm', '4.62.3'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb new file mode 100644 index 00000000000..bc9b53ee272 --- /dev/null +++ b/easybuild/easyconfigs/u/umap-learn/umap-learn-0.5.3-foss-2022a.eb @@ -0,0 +1,41 @@ +# 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.3' + +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': '2022a'} +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('numba', '0.56.4'), + ('LLVM', '14.0.3'), + ('tqdm', '4.64.0'), +] + +use_pip = True + +exts_list = [ + ('pynndescent', '0.5.7', { + 'checksums': ['ecb395255fa36a748b5870b4ba0300ea0f7da8b1964864b8edd62577a84dfd7d'], + }), + (name, version, { + 'modulename': 'umap', + 'checksums': ['dbd57cb181c2b66d238acb5635697526bf24c798082daed0cf9b87f6a3a6c0c7'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' 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-2021b.eb b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2021b.eb new file mode 100644 index 00000000000..21ad86a60e7 --- /dev/null +++ b/easybuild/easyconfigs/u/uncertainties/uncertainties-3.1.7-foss-2021b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['80111e0839f239c5b233cb4772017b483a0b7a1573a581b92ab7746a35e6faab'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' 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/u/uncertainty-calibration/uncertainty-calibration-0.0.9-foss-2021b.eb b/easybuild/easyconfigs/u/uncertainty-calibration/uncertainty-calibration-0.0.9-foss-2021b.eb new file mode 100644 index 00000000000..d3824b588e8 --- /dev/null +++ b/easybuild/easyconfigs/u/uncertainty-calibration/uncertainty-calibration-0.0.9-foss-2021b.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'uncertainty-calibration' +version = '0.0.9' + +homepage = 'https://github.com/p-lambda/verified_calibration' +description = """Python library to measure the calibration error of models, including confidence intervals computed by +Bootstrap resampling, and code to recalibrate models.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('scikit-learn', '1.0.1'), +] + +use_pip = True + +exts_list = [ + ('parameterized', '0.8.1', { + 'checksums': ['41bbff37d6186430f77f900d777e5bb6a24928a1c46fb1de692f8b52b8833b5c'], + }), + (name, version, { + 'checksums': ['4b56be7cb74fa1224222a8eb12d8a896902857f02a63a43206e5c5ea0ac1af1f'], + 'modulename': 'calibration', + }), +] + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb b/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb new file mode 100644 index 00000000000..920e80869a6 --- /dev/null +++ b/easybuild/easyconfigs/u/unicore-uftp/unicore-uftp-1.4.2-Java-11.eb @@ -0,0 +1,27 @@ +easyblock = 'PackedBinary' + +name = 'unicore-uftp' +version = '1.4.2' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'https://sourceforge.net/projects/unicore/' +description = """UNICORE Java-based client for UFTP""" + +toolchain = SYSTEM + +source_urls = ['https://downloads.sourceforge.net/project/unicore/Clients/UFTP-Client/%(version)s'] +sources = ['uftp-client-%(version)s-all.zip'] +checksums = ['49670714416077274a0dfdc261e5552bcabbdd5cc4454181a794158491524c54'] + +dependencies = [('Java', '11', '', SYSTEM)] + +postinstallcmds = ["chmod +x %(installdir)s/bin/uftp"] + +sanity_check_paths = { + 'files': ['bin/uftp'], + 'dirs': ['bin', 'lib'], +} + +sanity_check_commands = [('uftp', '-version')] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/unifdef/unifdef-2.12-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/unifdef/unifdef-2.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f653e81c65f --- /dev/null +++ b/easybuild/easyconfigs/u/unifdef/unifdef-2.12-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2023/07 +easyblock = 'ConfigureMake' + +name = 'unifdef' +version = '2.12' + +homepage = 'https://github.com/fanf2/unifdef' +description = """unifdef - selectively remove C preprocessor conditionals +The unifdef utility selectively processes conditional C preprocessor +and the additional text that they delimit, while otherwise leaving the +file alone.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'fanf2' +source_urls = [GITHUB_SOURCE] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['030369db9ff917acfae7fa4e90bcc1dff8a8dc534d82d1c72c12ef698d2f20e4'] + +preconfigopts = 'echo V=\\"%(name)s-%(version)s\\" > version.sh &&' +preconfigopts += 'echo D=\\"2020-02-14 0:00:00 +0000\\" >> version.sh&&' +configure_cmd = 'sed -i "s/HOME/PREF/g" Makefile #' +preinstallopts = 'export PREF=%(installdir)s &&' + +dependencies = [('binutils', '2.38')] + +sanity_check_commands = ['%(name)s -h'] + +sanity_check_paths = { + 'files': [], + 'dirs': ['bin', 'share/man'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/unimap/unimap-0.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/unimap/unimap-0.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..508f58237b4 --- /dev/null +++ b/easybuild/easyconfigs/u/unimap/unimap-0.1-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'unimap' +version = '0.1' + +homepage = 'https://github.com/lh3/unimap' +description = """Unimap is a fork of minimap2 optimized for assembly-to-reference +alignment. It integrates the minigraph chaining algorithm and can align through +long INDELs (up to 100kb by default) much faster than minimap2. Unimap is a +better fit for resolving segmental duplications and is recommended over minimap2 +for alignment between high-quality assemblies. + +Unimap does not replace minimap2 for other types of alignment. It drops the +support of multi-part index and short-read mapping. Its long-read alignment is +different from minimap2 but is not necessarily better. Unimap is more of a +specialized minimap2 at the moment.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/lh3/unimap/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['d5d7831e1fa78c943a96ef78ba22ec88eebf39368bdb135c30554f052f0dbc5c'] + +builddependencies = [('binutils', '2.38')] + +files_to_copy = [ + (['%(name)s'], 'bin'), + (['lib%(name)s.a'], 'lib'), + (['*.h'], 'include'), +] + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'lib/lib%(name)s.a'], + 'dirs': ['include'] +} + +sanity_check_commands = [ + "unimap --help", + "cd %(builddir)s/unimap-%(version)s && unimap -a test/MT-human.fa test/MT-orang.fa > test.sam", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/u/units/units-2.19-GCCcore-8.2.0.eb b/easybuild/easyconfigs/u/units/units-2.19-GCCcore-8.2.0.eb index 72f4c73aa6c..d86c35faedf 100644 --- a/easybuild/easyconfigs/u/units/units-2.19-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/u/units/units-2.19-GCCcore-8.2.0.eb @@ -17,7 +17,7 @@ checksums = ['4262136bdfc152b63ff5a9b93a7d80ce18b5e8bebdcffddc932dda769e306556'] builddependencies = [ # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.31.1', '', True), + ('binutils', '2.31.1', '', SYSTEM), ] diff --git a/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.11-foss-2022b.eb b/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.11-foss-2022b.eb new file mode 100644 index 00000000000..a6b423ff484 --- /dev/null +++ b/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.11-foss-2022b.eb @@ -0,0 +1,26 @@ +# Easyconfig for unixODBC +# Author: Lykle Voort +# SURFsara, Amsterdam, The Netherlands +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'unixODBC' +version = '2.3.11' + +homepage = "https://www.unixodbc.org" +description = """unixODBC provides a uniform interface between +application and database driver""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['https://www.unixodbc.org/'] +checksums = ['d9e55c8e7118347e3c66c87338856dad1516b490fb7c756c1562a2c267c73b5c'] + +sanity_check_paths = { + 'files': ['lib/libodbc%s.so' % x for x in ['', 'cr', 'inst']], + 'dirs': [] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.12-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.12-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7e5cec281f2 --- /dev/null +++ b/easybuild/easyconfigs/u/unixODBC/unixODBC-2.3.12-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +# Easyconfig for unixODBC +# Author: Lykle Voort +# SURFsara, Amsterdam, The Netherlands +# Updated: Petr Král (INUITS) + +easyblock = 'ConfigureMake' + +name = 'unixODBC' +version = '2.3.12' + +homepage = "https://www.unixodbc.org" +description = """unixODBC provides a uniform interface between +application and database driver""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = ['https://www.unixodbc.org/'] +checksums = ['f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec'] + +builddependencies = [('binutils', '2.40')] + +sanity_check_paths = { + 'files': [ + 'lib/libodbc.%s' % SHLIB_EXT, + 'lib/libodbccr.%s' % SHLIB_EXT, + 'lib/libodbcinst.%s' % SHLIB_EXT, + ], + 'dirs': [] +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/u/unrar/unrar-6.0.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/u/unrar/unrar-6.0.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..9081313486a --- /dev/null +++ b/easybuild/easyconfigs/u/unrar/unrar-6.0.2-GCCcore-10.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'unrar' +version = '6.0.2' + +homepage = 'https://www.rarlab.com/' +description = "RAR is a powerful archive manager." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['http://www.rarlab.com/rar/'] +sources = ['unrarsrc-%(version)s.tar.gz'] +checksums = ['81bf188333f89c976780a477af27f651f54aa7da9312303d8d1a804696d3edd3'] + +builddependencies = [('binutils', '2.35')] + +skipsteps = ['configure'] + +buildopts = 'CXX="$CXX" CXXFLAGS="$CXXFLAGS"' +installopts = 'DESTDIR=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/unrar'], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.3.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.3.0-GCCcore-8.2.0.eb index b04ca54a116..5a713a9019e 100644 --- a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.3.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.3.0-GCCcore-8.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=true'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] sanity_check_paths = { 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-10.2.0.eb index 28be3ea21de..7b350bf6100 100644 --- a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-10.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=true'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] sanity_check_paths = { 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-8.3.0.eb index ecb83d6d114..e790a4d81cf 100644 --- a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-8.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=true'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] sanity_check_paths = { 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-9.3.0.eb index 148e68c23d5..98ebc2555d5 100644 --- a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.5.0-GCCcore-9.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=true'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] sanity_check_paths = { 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-10.3.0.eb index 025e8cde284..7eeac43e7e1 100644 --- a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-10.3.0.eb @@ -20,7 +20,7 @@ builddependencies = [ separate_build_dir = True -configopts = ['', '-DBUILD_SHARED_LIBS=true'] +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] sanity_check_paths = { 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..d32efd1f02b --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.6.1-GCCcore-11.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.6.1' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4c06a9dc4017e8a2438ef80ee371d45868bda2237a98b26554de7a95406b283b'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +separate_build_dir = True + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..bc96c93e378 --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.7.0' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4bb121e297293c0fd55f08f83afab6d35d48f0af4ecc07523ad8ec99aa2b12a1'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +separate_build_dir = True + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..028f01a6164 --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.8.0' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +separate_build_dir = True + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ff42c34ef7d --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.8.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.8.0' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a0a60a79fe6f6d54e7d411facbfcc867a6e198608f2cd992490e46f04b1bcecc'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +separate_build_dir = True + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/utf8proc/utf8proc-2.9.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.9.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3ae6a55c205 --- /dev/null +++ b/easybuild/easyconfigs/u/utf8proc/utf8proc-2.9.0-GCCcore-13.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'utf8proc' +version = '2.9.0' + +homepage = 'https://github.com/JuliaStrings/utf8proc' +description = """utf8proc is a small, clean C library that provides Unicode normalization, case-folding, +and other operations for data in the UTF-8 encoding.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/JuliaStrings/utf8proc/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['18c1626e9fc5a2e192311e36b3010bfc698078f692888940f1fa150547abb0c1'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), +] + +separate_build_dir = True + +configopts = ['-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=ON'] + +sanity_check_paths = { + 'files': ['include/utf8proc.h', 'lib/libutf8proc.a', 'lib/libutf8proc.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.37-GCCcore-11.2.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.37-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0d322000ab6 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.37-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.37' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['faa8b46d080faa6f32c57da81eda871e38e1e27ba4e9b61cb2589334671aba50'] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('ncurses', '6.2'), + ('zlib', '1.2.11'), +] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.38-GCCcore-11.3.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.38-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5155dfeff30 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.38-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.38' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c31d4e54f30b56b0f7ec8b342658c07de81378f2c067941c2b886da356f8ad42'] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..ddc2a4e1286 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.38.1-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.38.1' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('ncurses', '6.3'), + ('zlib', '1.2.12'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-12.3.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..9a174f12600 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-12.3.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.39' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'util-linux-%(version)s_fix_waitpid.patch', + 'util-linux-2.39-fix-build-centos7.patch' +] +checksums = [ + {'util-linux-2.39.tar.gz': 'b1f597ad172a2ee17b0a7ae4be7ab7e1b1a6f9394ddbd3d8ec90ae4ed7333579'}, + {'util-linux-2.39_fix_waitpid.patch': '99cbd4ee8293f3ffad4467e9f245d0da4e10a98b6599f5e5f9d4cb99c7eebbd2'}, + {'util-linux-2.39-fix-build-centos7.patch': '21587513f0f5f5efe790396ac39450c7f30dd55063929bb430a77352ba99f57f'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), # for fix_waitpid patch + ('pkgconf', '1.9.5'), # for fix_waitpid patch +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-13.2.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b03c65710e2 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-GCCcore-13.2.0.eb @@ -0,0 +1,53 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.39' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +patches = [ + 'util-linux-%(version)s_fix_waitpid.patch', + 'util-linux-2.39-fix-build-centos7.patch' +] +checksums = [ + {'util-linux-2.39.tar.gz': 'b1f597ad172a2ee17b0a7ae4be7ab7e1b1a6f9394ddbd3d8ec90ae4ed7333579'}, + {'util-linux-2.39_fix_waitpid.patch': '99cbd4ee8293f3ffad4467e9f245d0da4e10a98b6599f5e5f9d4cb99c7eebbd2'}, + {'util-linux-2.39-fix-build-centos7.patch': '21587513f0f5f5efe790396ac39450c7f30dd55063929bb430a77352ba99f57f'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), # for fix_waitpid patch + ('pkgconf', '2.0.3'), # for fix_waitpid patch +] + +dependencies = [ + ('ncurses', '6.4'), + ('zlib', '1.2.13'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.39-fix-build-centos7.patch b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-fix-build-centos7.patch new file mode 100644 index 00000000000..1740f26324e --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.39-fix-build-centos7.patch @@ -0,0 +1,30 @@ +From 2756f00407d3bc7dca3f5be0a0d101ef97e8eb5e Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 15 Aug 2023 11:33:31 +0200 +Subject: [PATCH] setarch: add PER_LINUX_FDPIC fallback + +Fixes: https://github.com/util-linux/util-linux/issues/2436 +Signed-off-by: Karel Zak +--- + sys-utils/setarch.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c +index 78b5183..1a255e4 100644 +--- a/sys-utils/setarch.c ++++ b/sys-utils/setarch.c +@@ -84,6 +84,11 @@ + # define ADDR_LIMIT_3GB 0x8000000 + #endif + ++/* fallback for old glibc-headers 2.17 */ ++#ifndef PER_LINUX_FDPIC ++# define PER_LINUX_FDPIC (PER_LINUX | FDPIC_FUNCPTRS) ++#endif ++ + #define ALL_PERSONALITIES \ + X(PER_LINUX) \ + X(PER_LINUX_32BIT) \ +-- +1.8.3.1 + diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.39_fix_waitpid.patch b/easybuild/easyconfigs/u/util-linux/util-linux-2.39_fix_waitpid.patch new file mode 100644 index 00000000000..8b423607226 --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.39_fix_waitpid.patch @@ -0,0 +1,43 @@ +From ffdd75cceedafac3ba7a80b86e1b103c383b260e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Mon, 22 May 2023 18:24:47 +0200 +Subject: [PATCH] waitpid: only build when pidfd_open is available +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #2256 + +[kzak@redhat.com: - fix UL_BUILD_INIT() use] + +Signed-off-by: Thomas Weißschuh +Signed-off-by: Karel Zak +--- + configure.ac | 1 + + meson.build | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index dfdcdbdce8..1f6158e7f7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1856,6 +1856,7 @@ AC_ARG_ENABLE([waitpid], + ) + UL_BUILD_INIT([waitpid]) + UL_REQUIRES_LINUX([waitpid]) ++UL_REQUIRES_SYSCALL_CHECK([waitpid], [UL_CHECK_SYSCALL([pidfd_open])], [pidfd_open]) + AM_CONDITIONAL([BUILD_WAITPID], [test "x$build_waitpid" = xyes]) + + UL_BUILD_INIT([enosys], [check]) +diff --git a/meson.build b/meson.build +index 3783a5be98..029f93cf49 100644 +--- a/meson.build ++++ b/meson.build +@@ -2848,6 +2848,7 @@ if not is_disabler(exe) + bashcompletions += ['fadvise'] + endif + ++# XXX: HAVE_PIDFD_OPEN + exe = executable( + 'waitpid', + waitpid_sources, diff --git a/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..7ca00a929ad --- /dev/null +++ b/easybuild/easyconfigs/u/util-linux/util-linux-2.40-GCCcore-13.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'util-linux' +version = '2.40' + +homepage = 'https://www.kernel.org/pub/linux/utils/util-linux' + +description = "Set of Linux utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['%s/v%%(version_major_minor)s' % homepage] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), # for fix_waitpid patch + ('pkgconf', '2.2.0'), # for fix_waitpid patch +] + +dependencies = [ + ('ncurses', '6.5'), + ('zlib', '1.3.1'), + ('SQLite', '3.45.3'), +] + +# disable account related utilities (they need OS dependent pam-devel files) +# disable wall and friends (requires group changing permissions for install user) +# install systemd service files in install dir +# install bash completion files in install dir +configopts = "--disable-chfn-chsh --disable-login --disable-su --disable-rfkill " +configopts += "--disable-wall --disable-use-tty-group " +configopts += "--disable-makeinstall-chown --disable-makeinstall-setuid " +configopts += "--with-systemdsystemunitdir='${prefix}/systemd' " +configopts += "--with-bashcompletiondir='${prefix}/share/bash-completion/completions' " +# disable building Python bindings (since we don't include Python as a dep) +configopts += "--without-python " + +sanity_check_paths = { + 'files': ['lib/lib%s.a' % x for x in ['blkid', 'mount', 'uuid']], + 'dirs': ['include', 'bin', 'share', 'sbin'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb new file mode 100644 index 00000000000..b235221f1c6 --- /dev/null +++ b/easybuild/easyconfigs/v/VAMPIRE-ASM/VAMPIRE-ASM-6.0-foss-2022b.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# License:: MIT/GPL + +easyblock = 'MakeCp' + +name = 'VAMPIRE-ASM' +version = '6.0' + +homepage = 'https://vampire.york.ac.uk/' +description = """ +Vampire is designed from the ground-up to be an easy to use, fast, +open-source and extensible software package capable of modelling +almost any magnetic material with atomic resolution. +""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/richard-evans/vampire/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + {'v6.0.tar.gz': '5a5104eebe6f2c83c11139a6d56cfd78018aba247fd0466e87daa9c39aa62cf8'}, +] + +skipsteps = ['configure'] + +files_to_copy = [ + (['vampire-serial', 'vampire-parallel', 'util/vdc/vdc'], 'bin'), + (['input', 'Co.mat'], 'examples'), + 'license', 'BSD_licence', 'readme.md', +] + +sanity_check_paths = { + 'files': [ + 'bin/vampire-serial', + 'bin/vampire-parallel', + ], + 'dirs': [ + 'bin', + 'examples', + ] +} + +sanity_check_commands = [ + 'cd %(installdir)s/examples && vampire-serial', +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb b/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb index c9841ec8b60..8861f5e0c5e 100644 --- a/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb +++ b/easybuild/easyconfigs/v/VASP/VASP-5.4.1-intel-2016.02-GCC-4.9.eb @@ -31,7 +31,7 @@ checksums = [ prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' # path to libfftw3xf_intel.a is hardcoded in makefile.include -prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && ' +prebuildopts += r'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && ' # remove mkl flag to prevent mixing dynamic libs with the static libs in LIBBLACS/SCALAPACK prebuildopts += 'sed -i "s|-mkl||" makefile.include && ' diff --git a/easybuild/easyconfigs/v/VASP/VASP-6.3.2-nvofbf-2022.07.eb b/easybuild/easyconfigs/v/VASP/VASP-6.3.2-nvofbf-2022.07.eb new file mode 100644 index 00000000000..ea2a9c6c20c --- /dev/null +++ b/easybuild/easyconfigs/v/VASP/VASP-6.3.2-nvofbf-2022.07.eb @@ -0,0 +1,63 @@ +easyblock = 'MakeCp' + +name = 'VASP' +version = '6.3.2' + +homepage = 'https://www.vasp.at' +description = """The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale +materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, +from first principles.""" + +toolchain = {'name': 'nvofbf', 'version': '2022.07'} +toolchainopts = {'openmp': True} + +download_instructions = """Vasp is proprietary software, see http://www.vasp.at/index.php/faqs + on how to get access to the code.""" + +sources = ['%(namelower)s.%(version)s.tgz'] +checksums = ['f7595221b0f9236a324ea8afe170637a578cdd5a837cc7679e7f7812f6edf25a'] + +prebuildopts = 'cp arch/makefile.include.nvhpc_omp_acc ./makefile.include && ' + +# Makefile uses LIBS as a list of folders +prebuildopts += 'unset LIBS && ' + +local_targets = ['std', 'gam', 'ncl'] + +buildopts = '%s ' % ' '.join(local_targets) +buildopts += 'FFTW_ROOT="${EBROOTFFTW}" ' +buildopts += 'DEPS=1 ' # required for VASP parallel builds + +# https://www.vasp.at/wiki/index.php/Validation_tests + +# it is recommended to run the testsuite with 4 MPI processes, +# but it's also recommended to use only 1 MPI process per GPU, +# so running the test on GPUs requires 4 GPUs? +local_test_mpiprocs = 4 + +pretestopts = 'export MPIRUN="mpirun -np %s -x OMP_NUM_THREADS=4 -x OMP_STACKSIZE=512m" && ' % local_test_mpiprocs +pretestopts += 'export VASP_TESTSUITE_EXE_STD="$MPIRUN %(builddir)s/vasp.%(version)s/bin/vasp_std" && ' +pretestopts += 'export VASP_TESTSUITE_EXE_NCL="$MPIRUN %(builddir)s/vasp.%(version)s/bin/vasp_ncl" && ' +pretestopts += 'export VASP_TESTSUITE_EXE_GAM="$MPIRUN %(builddir)s/vasp.%(version)s/bin/vasp_gam" && ' + +# skip tests that are too long +local_test_skip = 'HEG_333_LW ' + +# these tests are failing when using 4 V100 GPUs (still leaves about 50 successul tests) +local_test_skip += "bulk_GaAs_scGW_ALGO=D_sym bulk_GaAs_scGW_ALGO=D_sym_RPR bulk_GaAs_scGW_sym bulk_GaAs_scGW_sym_RPR " +local_test_skip += "bulk_InP_SOC_DFT_ISYM=3 bulk_InP_SOC_DFT_ISYM=3_RPR bulk_InP_SOC_PBE0_nosym bulk_InP_SOC_PBE0_sym " +local_test_skip += "bulk_InP_SOC_PBE0_sym_RPR bulk_SiO2_HSE bulk_SiO2_HSE_RPR bulk_SiO2_LPEAD bulk_SiO2_LPEAD_RPR " +local_test_skip += "bulk_SiO2_PBE0 bulk_SiO2_PBE0_RPR GaAs_LEPSILON_LPEAD GaAs_LEPSILON_LPEAD_RPR SiC_HSE06_ALGO=A " +local_test_skip += "SiC_HSE06_ALGO=A_RPR SiC_HSE06_ALGO=D SiC_HSE06_ALGO=D_RPR" + +pretestopts += 'export VASP_TESTSUITE_SKIP_TESTS="%s" && ' % local_test_skip +runtest = 'test' + +files_to_copy = [(['bin/vasp_' + x for x in local_targets], 'bin')] + +sanity_check_paths = { + 'files': ['bin/vasp_' + x for x in local_targets], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1-foss-2023a.eb b/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1-foss-2023a.eb new file mode 100644 index 00000000000..5222a9aba25 --- /dev/null +++ b/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1-foss-2023a.eb @@ -0,0 +1,42 @@ +easyblock = 'Tarball' + +name = 'VASPKIT' +version = '1.5.1' + +homepage = 'https://vaspkit.com/' +description = """ +VASPKIT aims at providing a powerful and user-friendly interface to perform high throughput +analysis of various material properties from the raw calculated data using the widely-used +VASP code. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), +] + +source_urls = [SOURCEFORGE_SOURCE] +sources = ['%(namelower)s.%(version)s.linux.x64.tar.gz'] +patches = ['%(name)s-1.5.1_fix-envvars.patch'] +checksums = [ + {'vaspkit.1.5.1.linux.x64.tar.gz': '41bbdc0759f72cd43ef7e2f541d228a639bd95dba2a549398b28f47d760d72b1'}, + {'VASPKIT-1.5.1_fix-envvars.patch': '952e2530b53e4632c3f8ab2ec24f88c61d76e263d9a377772c44c3ad071c1970'}, +] + +sanity_check_paths = { + 'files': ["bin/vaspkit", "how_to_set_environment_variables"], + 'dirs': ["bin"], +} + +# remove setup.sh to avoid users to run it +postinstallcmds = ['rm %(installdir)s/setup.sh'] + +modloadmsg = """ +When using this module for the first time run: +cp $EBROOTVASPKIT/how_to_set_environment_variables ~/.vaspkit +and modify paths set in ~/.vaspkit as needed. +""" + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1_fix-envvars.patch b/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1_fix-envvars.patch new file mode 100644 index 00000000000..d5af158a61f --- /dev/null +++ b/easybuild/easyconfigs/v/VASPKIT/VASPKIT-1.5.1_fix-envvars.patch @@ -0,0 +1,66 @@ +Set correct environment variables, add instructions to set POTCAR paths, translate example job script to slurm +Author: Cintia Willemyns (Vrije Universiteit Brussel) +diff -Naur vaspkit.1.5.1.orig/how_to_set_auto_plot vaspkit.1.5.1/how_to_set_auto_plot +--- vaspkit.1.5.1.orig/how_to_set_auto_plot 2024-06-18 10:57:18.521696013 +0200 ++++ vaspkit.1.5.1/how_to_set_auto_plot 2024-06-18 11:55:12.298424299 +0200 +@@ -1,7 +1,7 @@ + (1) Make sure you have installed python3, numpy, scipy, matplotlib, etc. + (2) Add the following parameters in the ~/.vaspkit file; + ####################################################################### +- PYTHON_BIN ~/anaconda3/bin/python3 ++ PYTHON_BIN $EBROOTPYTHON/bin/python3 + AUTO_PLOT .TRUE. + ####################################################################### + (3) Copy the plot presets from the vaspkit/how_to_set_environment_variable file to the ~/.vaspkit file. Must copy the block from #BEGIN_CUSTOMIZE_PLOT to #END_CUSTOMIZE_PLOT. +diff -Naur vaspkit.1.5.1.orig/how_to_set_environment_variables vaspkit.1.5.1/how_to_set_environment_variables +--- vaspkit.1.5.1.orig/how_to_set_environment_variables 2024-06-18 10:57:17.784058000 +0200 ++++ vaspkit.1.5.1/how_to_set_environment_variables 2024-06-18 13:59:20.120174533 +0200 +@@ -1,11 +1,13 @@ + # cp how_to_set_environment_variables ~/.vaspkit and modify the ~/.vaspkit file based on the settings in your supercomputer! ++# Modify paths as needed, e.g if you want to make PBE-POTCAR file, use POTCAR_TYPE = PBE and set the PBE_PATH to where you unzipped the VASP PAW_PBE pseudo potentials. ++# Do not modify VASPKIT_UTILITIES_PATH or PYTHON_BIN paths! + # All environment variables are case sensitive. + VASP5 = .TRUE. # .TRUE. or .FALSE.; Set .FALSE. if you are using vasp.4.x +-LDA_PATH = ~/POTCAR/LDA # Path of LDA potential +-PBE_PATH = ~/POTCAR/PBE # Path of PBE potential +-GGA_PATH = ~/POTCAR/GGA # Path of PW91 potential +-VASPKIT_UTILITIES_PATH = ~/vaspkit/utilities # Path of VASPKIT +-PYTHON_BIN = ~/anaconda3/bin/python3 # Python executable program with its installation path. Recommend Anaconda package ++LDA_PATH = # Path of LDA potential ++PBE_PATH = # Path of PBE potential ++GGA_PATH = # Path of PW91 potential ++VASPKIT_UTILITIES_PATH = $EBROOTVASPKIT/utilities # Path of VASPKIT ++PYTHON_BIN = $EBROOTPYTHON/bin/python3 # Python executable program with its installation path. Recommend Anaconda package + POTCAR_TYPE = PBE # PBE, PW91 or LDA; Set PBE if you want to make PBE-POTCAR file + GW_POTCAR = .FALSE. # .TRUE. or .FALSE.; For example, H_GW, O_GW will be chose when POTCAR_GW set to .TRUE. + RECOMMENDED_POTCAR = .TRUE. # .TRUE. or .FALSE.; The recommended PAW potential will be chose when RECOMMENDED_POTCAR set to .TRUE. +@@ -42,7 +44,7 @@ + INTERPOLATION_SPACING = 0.04 # Determines the number of interpolation grids, in unit of A in real-space or 1/A in reciprocal space (default: 0.04) + INTERPOLATION_METHOD = 'cubic' # 'linear', 'cubic' (3rd order-spline interpolation), quartic (4th order-spline interpolation), or FFT available only for 2D and 3D grids (default method: 'cubic') + AUTO_SUBMIT_JOB = .FALSE. # .TRUE. or .FALSE. (default: .FASLE.). Whether to auto-submit vaspkit or vasp job or not. +-SUBMIT_JOB_COMMAND = 'qsub job.sh' # The command line to submit job ++SUBMIT_JOB_COMMAND = 'sbatch job.sh' # The command line to submit job + AUTO_PLOT = .FALSE. # TRUE. or .FALSE. (default: .FASLE.). Whether to auto-plot data graphs in the post-processing. + + # New added in Version 1.4.1 +@@ -69,12 +71,14 @@ + #| Must copy the block from #BEGIN_CUSTOMIZE_JOB_SCRIPT to #END_CUSTOMIZE_JOB_SCRIPT | + #+------------------------------------------------------------------------------------------------------------------+ + #BEGIN_CUSTOMIZE_JOB_SCRIPT +-#PBS -N name +-#PBS -o out +-#PBS -e err +-#PBS -l nodes=2:ppn=4 +-#PBS -r y +-cd $PBS_O_WORKDIR ++#!/bin/bash ++#SBATCH --job-name=name # Job name ++#SBATCH --output=out # Standard output ++#SBATCH --error=err # Standard error ++#SBATCH --nodes=2 # Number of nodes ++#SBATCH --ntasks-per-node=4 # Number of tasks per node ++#SBATCH --requeue # Requeue the job if it fails ++cd $SLURM_SUBMIT_DIR + mpirun -np 8 vasp_std > vasp-out + #END_CUSTOMIZE_JOB_SCRIPT + #+------------------------------------------------------------------------------------------------------------------+ diff --git a/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.1-gompi-2020b.eb b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.1-gompi-2020b.eb new file mode 100644 index 00000000000..09c6e077ce4 --- /dev/null +++ b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.1-gompi-2020b.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'VBZ-Compression' +version = '1.0.1' + +homepage = 'https://github.com/nanoporetech/vbz_compression' +description = "VBZ compression HDF5 plugin for nanopolish" + +toolchain = {'name': 'gompi', 'version': '2020b'} + +source_urls = [ + 'https://github.com/nanoporetech/vbz_compression/archive', + 'https://github.com/lemire/streamvbyte/archive', +] +sources = [ + {'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}, + {'download_filename': 'v0.4.1.tar.gz', 'filename': 'streamvbyte-v0.4.1.tar.gz'}, +] +checksums = [ + '3c140fb4f60f8451db68768457c59b10aadba4c33f1b1a1eadb4439345b68192', # VBZ-Compression-1.0.1.tar.gz + '4c4e53134a60b0b06816d3faa7dcde28c3e5e8a656dd415d16d80ae6e3d39fcc', # streamvbyte-v0.4.1.tar.gz +] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('HDF5', '1.10.7'), + ('zstd', '1.4.5'), +] + +preconfigopts = "rmdir %(builddir)s/vbz_compression*/third_party/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte-* %(builddir)s/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte %(builddir)s/vbz_compression*/third_party/. && " +configopts = "-DENABLE_CONAN=OFF -DENABLE_PERF_TESTING=OFF -DENABLE_PYTHON=OFF " + +sanity_check_paths = { + 'files': ['hdf5/lib/plugin/libvbz_hdf_plugin.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'HDF5_PLUGIN_PATH': 'hdf5/lib/plugin/'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2022a.eb b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2022a.eb new file mode 100644 index 00000000000..d6e8caabfdb --- /dev/null +++ b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2022a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'VBZ-Compression' +version = '1.0.3' + +homepage = 'https://github.com/nanoporetech/vbz_compression' +description = "VBZ compression HDF5 plugin for nanopolish" + +toolchain = {'name': 'gompi', 'version': '2022a'} + +source_urls = [ + 'https://github.com/nanoporetech/vbz_compression/archive', + 'https://github.com/lemire/streamvbyte/archive', +] +sources = [ + {'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}, + {'download_filename': 'v0.4.1.tar.gz', 'filename': 'streamvbyte-v0.4.1.tar.gz'}, +] +checksums = [ + {'VBZ-Compression-1.0.3.tar.gz': 'a7450e076db628681bbc0e2b3f941c6c21cc2981a7e1c78628807ffdf1b34f31'}, + {'streamvbyte-v0.4.1.tar.gz': '4c4e53134a60b0b06816d3faa7dcde28c3e5e8a656dd415d16d80ae6e3d39fcc'}, +] + +builddependencies = [('CMake', '3.24.3')] + +dependencies = [ + ('HDF5', '1.12.2'), + ('zstd', '1.5.2'), +] + +preconfigopts = "rmdir %(builddir)s/vbz_compression*/third_party/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte-* %(builddir)s/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte %(builddir)s/vbz_compression*/third_party/. && " +configopts = "-DENABLE_CONAN=OFF -DENABLE_PERF_TESTING=OFF -DENABLE_PYTHON=OFF " + +sanity_check_paths = { + 'files': ['hdf5/lib/plugin/libvbz_hdf_plugin.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'HDF5_PLUGIN_PATH': 'hdf5/lib/plugin/'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2023a.eb b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2023a.eb new file mode 100644 index 00000000000..3a3c79f3875 --- /dev/null +++ b/easybuild/easyconfigs/v/VBZ-Compression/VBZ-Compression-1.0.3-gompi-2023a.eb @@ -0,0 +1,43 @@ +easyblock = 'CMakeMake' + +name = 'VBZ-Compression' +version = '1.0.3' + +homepage = 'https://github.com/nanoporetech/vbz_compression' +description = "VBZ compression HDF5 plugin for nanopolish" + +toolchain = {'name': 'gompi', 'version': '2023a'} + +source_urls = [ + 'https://github.com/nanoporetech/vbz_compression/archive', + 'https://github.com/lemire/streamvbyte/archive', +] +sources = [ + {'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}, + {'download_filename': 'v0.4.1.tar.gz', 'filename': 'streamvbyte-v0.4.1.tar.gz'}, +] +checksums = [ + {'VBZ-Compression-1.0.3.tar.gz': 'a7450e076db628681bbc0e2b3f941c6c21cc2981a7e1c78628807ffdf1b34f31'}, + {'streamvbyte-v0.4.1.tar.gz': '4c4e53134a60b0b06816d3faa7dcde28c3e5e8a656dd415d16d80ae6e3d39fcc'}, +] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('HDF5', '1.14.0'), + ('zstd', '1.5.5'), +] + +preconfigopts = "rmdir %(builddir)s/vbz_compression*/third_party/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte-* %(builddir)s/streamvbyte && " +preconfigopts += "mv %(builddir)s/streamvbyte %(builddir)s/vbz_compression*/third_party/. && " +configopts = "-DENABLE_CONAN=OFF -DENABLE_PERF_TESTING=OFF -DENABLE_PYTHON=OFF " + +sanity_check_paths = { + 'files': ['hdf5/lib/plugin/libvbz_hdf_plugin.%s' % SHLIB_EXT], + 'dirs': [], +} + +modextrapaths = {'HDF5_PLUGIN_PATH': 'hdf5/lib/plugin/'} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.2.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.2.0.eb index 04dec16e82e..faf8ac86078 100644 --- a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.2.0.eb +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.2.0.eb @@ -20,7 +20,7 @@ builddependencies = [ dependencies = [ ('Perl', '5.32.0'), - ('HTSlib', '1.11'), + ('HTSlib', '1.12'), ('zlib', '1.2.11'), ] diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.3.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.3.0.eb new file mode 100644 index 00000000000..0d2e4a43fd6 --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.16' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['dbfc774383c106b85043daa2c42568816aa6a7b4e6abc965eeea6c47dde914e3'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('HTSlib', '1.12'), + ('zlib', '1.2.11'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['vcftools', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.2.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.2.0.eb new file mode 100644 index 00000000000..3580f5818bf --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.16' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['dbfc774383c106b85043daa2c42568816aa6a7b4e6abc965eeea6c47dde914e3'] + +builddependencies = [ + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('HTSlib', '1.14'), + ('zlib', '1.2.11'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.3.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.3.0.eb new file mode 100644 index 00000000000..0af278f65f5 --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.16' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['dbfc774383c106b85043daa2c42568816aa6a7b4e6abc965eeea6c47dde914e3'] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('HTSlib', '1.15.1'), + ('zlib', '1.2.12'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.2.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.2.0.eb new file mode 100644 index 00000000000..0ff539325ea --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.16' + +homepage = "https://vcftools.github.io" +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['dbfc774383c106b85043daa2c42568816aa6a7b4e6abc965eeea6c47dde914e3'] + +builddependencies = [ + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('HTSlib', '1.17'), + ('zlib', '1.2.12'), +] + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['%(namelower)s', 'vcf-sort', 'vcf-stats']], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.3.0.eb b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.3.0.eb new file mode 100644 index 00000000000..3cdfda35e10 --- /dev/null +++ b/easybuild/easyconfigs/v/VCFtools/VCFtools-0.1.16-GCC-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'VCFtools' +version = '0.1.16' + +homepage = 'https://vcftools.github.io' +description = """The aim of VCFtools is to provide + easily accessible methods for working with complex + genetic variation data in the form of VCF files.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['dbfc774383c106b85043daa2c42568816aa6a7b4e6abc965eeea6c47dde914e3'] + +builddependencies = [ + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('Perl', '5.36.1'), + ('HTSlib', '1.18'), + ('zlib', '1.2.13'), +] + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/vcf-sort', 'bin/vcf-stats'], + 'dirs': [], +} + +modextrapaths = {'PERL5LIB': 'lib/perl5/site_perl'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VEP/VEP-105-GCC-11.2.0.eb b/easybuild/easyconfigs/v/VEP/VEP-105-GCC-11.2.0.eb new file mode 100644 index 00000000000..56b99eb9ac9 --- /dev/null +++ b/easybuild/easyconfigs/v/VEP/VEP-105-GCC-11.2.0.eb @@ -0,0 +1,36 @@ +name = 'VEP' +version = '105' + +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': '11.2.0'} + +source_urls = ['https://github.com/Ensembl/ensembl-vep/archive/release/'] +sources = ['%(version)s.tar.gz'] +checksums = ['97ea8d3914b21b39ebd0504a71f3918f3d49d6d0266746b0295fe4f83754d81f'] + +dependencies = [ + ('Perl', '5.34.0'), + ('Archive-Zip', '1.68'), + ('DBD-mysql', '4.050'), + ('BioPerl', '1.7.8'), + ('Bio-DB-HTS', '3.01'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('Bio::EnsEMBL::XS', '2.3.2', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/Ensembl/ensembl-xs/archive'], + 'checksums': ['aafc59568cd1042259196575e99cdfeef9c0fb7966e5f915cfaf38c70885ffa5'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VEP/VEP-107-GCC-11.3.0.eb b/easybuild/easyconfigs/v/VEP/VEP-107-GCC-11.3.0.eb new file mode 100644 index 00000000000..c6e1c1413ca --- /dev/null +++ b/easybuild/easyconfigs/v/VEP/VEP-107-GCC-11.3.0.eb @@ -0,0 +1,38 @@ +name = 'VEP' +version = '107' + +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': '11.3.0'} + +source_urls = ['https://github.com/Ensembl/ensembl-vep/archive/release/'] +sources = ['%(version)s.tar.gz'] +checksums = ['4531acfe7a0dc3b1aaf0f9bead043cfb20b6df23a3a922a27a693dc532d0f741'] + +dependencies = [ + ('Perl', '5.34.1'), + ('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'), +] + +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/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/VESTA/VESTA-3.5.8-gtk3.eb b/easybuild/easyconfigs/v/VESTA/VESTA-3.5.8-gtk3.eb new file mode 100644 index 00000000000..cd8e34bea7a --- /dev/null +++ b/easybuild/easyconfigs/v/VESTA/VESTA-3.5.8-gtk3.eb @@ -0,0 +1,33 @@ +# Based on https://code.it4i.cz/sccs/easyconfigs-it4i/-/blob/it4i-karolina/v/VESTA/VESTA-3.5.7.eb + +easyblock = 'Tarball' + +name = 'VESTA' +version = '3.5.8' +versionsuffix = '-gtk3' + +homepage = "http://www.jp-minerals.org/vesta" +description = """ + VESTA is a 3D visualization program for structured models, + volumetric data such as electron/nuclear densities, + and crystal morphologies. +""" + +toolchain = SYSTEM + +source_urls = ["http://www.jp-minerals.org/vesta/archives/%(version)s"] +sources = [{ + 'filename': SOURCE_TAR_BZ2, + 'download_filename': '%(name)s-gtk3.tar.bz2', +}] + +checksums = ['78bef025c2b31f1d64c9c7e06ad2b139d252b3a686893ee79ac74b3021868df8'] + +sanity_check_paths = { + 'files': ['VESTA'], + 'dirs': [], +} + +modextrapaths = {'PATH': ''} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a43-fosscuda-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a43-fosscuda-2019b-Python-3.7.4.eb index 5c2bcb96f52..331d66698e0 100644 --- a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a43-fosscuda-2019b-Python-3.7.4.eb +++ b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a43-fosscuda-2019b-Python-3.7.4.eb @@ -54,7 +54,7 @@ dependencies = [ ('FFmpeg', '4.2.1'), ('ImageMagick', '7.0.9-5'), ('ACTC', '1.1'), - ('OptiX', '6.5.0', '', True), + ('OptiX', '6.5.0', '', SYSTEM), ('zlib', '1.2.11'), ('libpng', '1.6.37'), ] diff --git a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-foss-2020b.eb b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-foss-2020b.eb index e2b6645847e..b170a6dc5ff 100644 --- a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-foss-2020b.eb +++ b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-foss-2020b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'foss', 'version': '2020b'} source_urls = [ 'https://www.ks.uiuc.edu/Research/vmd/vmd-1.9.4/files/alpha/', 'https://www.ks.uiuc.edu/Research/vmd/vmd-%(version)s/files/final', - 'https://webclu.bio.wzw.tum.de/stride/' + 'http://webclu.bio.wzw.tum.de/stride/' ] sources = [ 'vmd-%(version)s.src.tar.gz', diff --git a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-fosscuda-2020b.eb b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-fosscuda-2020b.eb index 854dade5cbe..6a7845eece2 100644 --- a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-fosscuda-2020b.eb +++ b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a51-fosscuda-2020b.eb @@ -13,7 +13,7 @@ toolchain = {'name': 'fosscuda', 'version': '2020b'} source_urls = [ 'https://www.ks.uiuc.edu/Research/vmd/vmd-1.9.4/files/alpha/', 'https://www.ks.uiuc.edu/Research/vmd/vmd-%(version)s/files/final', - 'https://webclu.bio.wzw.tum.de/stride/' + 'http://webclu.bio.wzw.tum.de/stride/' ] sources = [ 'vmd-%(version)s.src.tar.gz', @@ -52,7 +52,7 @@ dependencies = [ ('FFmpeg', '4.3.1'), ('ImageMagick', '7.0.10-35'), ('ACTC', '1.1'), - ('OptiX', '6.5.0', '', True), + ('OptiX', '6.5.0', '', SYSTEM), ('zlib', '1.2.11'), ('libpng', '1.6.37'), ('POV-Ray', '3.7.0.8'), diff --git a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57-foss-2022a.eb b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57-foss-2022a.eb new file mode 100644 index 00000000000..791a53cb6f9 --- /dev/null +++ b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57-foss-2022a.eb @@ -0,0 +1,57 @@ +name = 'VMD' +version = '1.9.4a57' + +homepage = 'https://www.ks.uiuc.edu/Research/vmd' +description = """VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular + systems using 3-D graphics and built-in scripting.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +source_urls = [ + 'https://www.ks.uiuc.edu/Research/vmd/vmd-1.9.4/files/alpha/', + 'https://www.ks.uiuc.edu/Research/vmd/vmd-%(version)s/files/final', + 'http://webclu.bio.wzw.tum.de/stride/' # bad SSL cert +] +sources = [ + 'vmd-%(version)s.src.tar.gz', + {'filename': 'stride.tar.gz', 'extract_cmd': "tar -C vmd-%(version)s/lib/stride -xf %s"}, +] +patches = [ + ('VMD-1.9.3_plugins.patch'), + ('VMD-1.9.3_surf_Makefile.patch', 'vmd-%(version)s'), + ('VMD-1.9.3_surf_bad_printfs.patch', 'vmd-%(version)s'), + ('VMD-1.9.3_stride_Makefile.patch', 'vmd-%(version)s'), + ('VMD-1.9.3_stride_MAX_AT_IN_RES.patch', 'vmd-%(version)s'), + ('VMD-%(version)s_configure.patch', 'vmd-%(version)s'), + ('VMD-1.9.4a51_extra_colors.patch', 'vmd-%(version)s'), +] +checksums = [ + 'de278d0c5d969336d89068e0806fb50aaa0cb0f546ba985d840b279357860679', # vmd-1.9.4a57.src.tar.gz + '51a8bc2988bb184bd08216124f61725225bb1a6f563bdf8cd35154cb5d621c1a', # stride.tar.gz + '85760d6ae838e2b09801e34b36b484532383f7aaf2e8634b3ef808002a92baa3', # VMD-1.9.3_plugins.patch + 'd5cfa88064b7cffbc75accd69707d4e45fda974e8127de9ab606fdad501bd68a', # VMD-1.9.3_surf_Makefile.patch + 'f3c2a8c155e38db8e644cee6a01f6beaea5988e72ac74cde26b71670b151cc34', # VMD-1.9.3_surf_bad_printfs.patch + 'eb194ac0d8c086b73f87b29f7d732687f902431b1cdfa139c090401fefdee51e', # VMD-1.9.3_stride_Makefile.patch + 'eff1ca00cec637a6c8a156b2fb038e078d1835ba0eb15a571ed820bca5a866d9', # VMD-1.9.3_stride_MAX_AT_IN_RES.patch + '231b55bcc2e9e71a0934b2693b56170be4d922a9afe98f39b583617533ef1349', # VMD-1.9.4a57_configure.patch + '253eba282b570eb00e4764f46f77fd5ca898d10360d5707dd50ad1f14615af80', # VMD-1.9.4a51_extra_colors.patch +] + +dependencies = [ + ('Tcl', '8.6.12'), + ('Tk', '8.6.12'), + ('FLTK', '1.3.8'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Tkinter', '%(pyver)s'), + ('Mesa', '22.0.3'), + ('netCDF', '4.9.0'), + ('FFmpeg', '4.4.2'), + ('ImageMagick', '7.1.0-37'), + ('ACTC', '1.1'), + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), + ('POV-Ray', '3.7.0.10'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57_configure.patch b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57_configure.patch new file mode 100644 index 00000000000..da64877ec97 --- /dev/null +++ b/easybuild/easyconfigs/v/VMD/VMD-1.9.4a57_configure.patch @@ -0,0 +1,174 @@ +Update hardcoded configurations to be compatible with EB +Author: Last updated micketeer@gmail.com +--- configure.orig 2022-10-03 21:19:36.313951477 +0000 ++++ configure 2022-10-03 21:44:36.664710705 +0000 +@@ -498,17 +498,17 @@ + + $arch_cc = "cc"; + $arch_ccpp = "CC"; +-$arch_nvcc = "/usr/local/cuda-10.2/bin/nvcc"; ++$arch_nvcc = "nvcc"; + $arch_nvccflags = "-lineinfo --ptxas-options=-v " . +- "-gencode arch=compute_30,code=compute_30 " . +- "-gencode arch=compute_30,code=sm_35 " . +- "-gencode arch=compute_30,code=sm_37 " . + "-gencode arch=compute_50,code=compute_50 " . + "-gencode arch=compute_50,code=sm_50 " . + "-gencode arch=compute_60,code=compute_60 " . + "-gencode arch=compute_60,code=sm_60 " . + "-gencode arch=compute_70,code=compute_70 " . + "-gencode arch=compute_70,code=sm_70 " . ++ "-gencode arch=compute_75,code=sm_75 " . ++ "-gencode arch=compute_80,code=sm_80 " . ++ "-gencode arch=compute_86,code=sm_86 " . + "--ftz=true "; + # "-gencode arch=compute_75,code=sm_75 " . + $arch_gcc = "gcc"; +@@ -634,17 +634,17 @@ + # location of Mesa library and include files; basically does the same + # as OpenGL. This is based on the default instructions from the Mesa + # README; the include files should by default be in /usr/local/include/GL. +-$mesa_dir = "$vmd_library_dir/Mesa"; ++$mesa_dir = "$ENV{'EBROOTMESA'}"; + $mesa_include = "-I$mesa_dir/include"; + $mesa_library = "-L$mesa_dir/lib_$config_arch"; + #$mesa_libs = "-lMesaGL -lMesaGLU"; +-$mesa_libs = "-lMesaGL"; ++$mesa_libs = "-lGL -lGLU"; + $mesa_defines = "-DUSELINEAXES -DVMDMESA -DVMDOPENGL"; + @mesa_cc = (); + @mesa_cu = (); +-@mesa_ccpp = @opengl_ccpp; +-@mesa_h = @opengl_h; +-@mesa_extra = @opengl_extra; ++@mesa_ccpp = (); ++@mesa_h = (); ++@mesa_extra = (); + + + # +@@ -720,10 +720,10 @@ + + ################ FLTK GUI + $fltk_defines = "-DVMDGUI -DVMDFLTK"; +-$fltk_dir = "$vmd_library_dir/fltk"; ++$fltk_dir = "$ENV{'EBROOTFLTK'}"; + $fltk_include = "-I$fltk_dir/include"; + $fltk_library = "-L$fltk_dir/$config_arch"; +-$fltk_libs = "-lfltk -lX11"; ++$fltk_libs = "-lfltk -lX11 -lXfixes -lXcursor -lXinerama"; + #@fltk_cc = ('forms_ui.c'); + @fltk_cu = (); + @fltk_ccpp = ( 'ColorFltkMenu.C', +@@ -783,8 +783,8 @@ + if ($config_tk) { $tcl_include .= " -I$stock_tk_include_dir"; } + $tcl_library = "-L$stock_tcl_library_dir"; + if ($config_tk) { $tcl_library .= " -L$stock_tk_library_dir"; } +-$tcl_libs = "-ltcl8.5"; +-if ($config_tk) { $tcl_libs = "-ltk8.5 -lX11 " . $tcl_libs; } ++$tcl_libs = "-ltcl8.6"; ++if ($config_tk) { $tcl_libs = "-ltk8.6 -lX11 " . $tcl_libs; } + + @tcl_cc = (); + @tcl_cu = (); +@@ -1006,7 +1006,7 @@ + # This option enables the use of CUDA GPU acceleration functions. + ####################### + $cuda_defines = "-DVMDCUDA -DMSMPOT_CUDA"; +-$cuda_dir = "/usr/local/cuda-10.2"; ++$cuda_dir = "$ENV{'CUDA_HOME'}"; + $cuda_include = ""; + $cuda_library = ""; + $cuda_libs = "-Wl,-rpath -Wl,\$\$ORIGIN/ -lcudart_static -lrt"; +@@ -1215,7 +1215,7 @@ + # $liboptix_dir = "/usr/local/encap/NVIDIA-OptiX-SDK-5.0.1-linux64"; + # $liboptix_dir = "/usr/local/encap/NVIDIA-OptiX-SDK-5.1.0-linux64"; + # $liboptix_dir = "/usr/local/encap/NVIDIA-OptiX-SDK-6.0.0-linux64"; +-$liboptix_dir = "/usr/local/encap/NVIDIA-OptiX-SDK-6.5.0-linux64"; ++$liboptix_dir = "$ENV{'EBROOTOPTIX'}"; + # $liboptix_dir = "/usr/local/encap/NVIDIA-OptiX-SDK-7.0.0-linux64"; + + # NCSA Blue Waters +@@ -1370,7 +1370,7 @@ + die "LIBPNG option requires ZLIB!"; + } + $libpng_defines = "-DVMDLIBPNG"; +-$libpng_dir = "/Projects/vmd/vmd/lib/libpng"; ++$libpng_dir = "$ENV{'EBROOTLIBPNG'}"; + $libpng_include = "-I$libpng_dir/include"; + $libpng_library = "-L$libpng_dir/lib_$config_arch"; + $libpng_libs = "-lpng16"; +@@ -1398,7 +1398,7 @@ + # OPTIONAL COMPONENT: Data compresssion library + # This may be commented out if not required. + $zlib_defines = "-DVMDZLIB"; +-$zlib_dir = "/Projects/vmd/vmd/lib/zlib"; ++$zlib_dir = "$ENV{'EBROOTZLIB'}"; + $zlib_include = "-I$zlib_dir/include"; + $zlib_library = "-L$zlib_dir/lib_$config_arch"; + $zlib_libs = "-lz"; +@@ -1589,7 +1589,7 @@ + # primitives. + ####################### + $actc_defines = "-DVMDACTC"; +-$actc_dir = "$vmd_library_dir/actc"; ++$actc_dir = "$ENV{'EBROOTACTC'}"; + $actc_include = "-I$actc_dir/include"; + $actc_library = "-L$actc_dir/lib_$config_arch"; + $actc_libs = "-lactc"; +@@ -1604,7 +1604,7 @@ + # OPTIONAL COMPONENT: NetCDF I/O Library (Used by cdfplugin) + ####################### + $netcdf_defines = ""; +-$netcdf_dir = "$vmd_library_dir/netcdf"; ++$netcdf_dir = "$ENV{'EBROOTNETCDF'}"; + $netcdf_include = "-I$netcdf_dir/include"; + $netcdf_library = "-L$netcdf_dir/lib_$config_arch"; + $netcdf_libs = "-lnetcdf"; +@@ -1662,7 +1662,7 @@ + $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "$conda_root/lib/python3.7/config-3.7m-x86_64-linux-gnu"; + $stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "$conda_root/lib/python3.7/site-packages/numpy/core/include/numpy"; + $stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "$conda_root/lib/python-3.7/site-packages/numpy/core/include"; +- $python_libs = "-fno-lto -lpython3.7m -lpthread"; ++ $python_libs = "$ENV{'PYTHON_LIBRARIES'}" || "-fno-lto -lpython3.7m -lpthread"; + } else { + # $stock_python_include_dir=$ENV{"PYTHON_INCLUDE_DIR"} || "/usr/local/include"; + # $stock_python_library_dir=$ENV{"PYTHON_LIBRARY_DIR"} || "/usr/local/lib"; +@@ -1673,7 +1673,7 @@ + # $stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "/usr/local/lib"; + $stock_numpy_include_dir=$ENV{"NUMPY_INCLUDE_DIR"} || "$vmd_library_dir/numpy/lib_$config_arch/include"; + $stock_numpy_library_dir=$ENV{"NUMPY_LIBRARY_DIR"} || "$vmd_library_dir/python/lib_$config_arch/lib/python2.5/site-packages/numpy/core/include"; +- $python_libs = "-lpython2.5 -lpthread"; ++ $python_libs = "$ENV{'PYTHON_LIBRARIES'}" || "-lpython2.5 -lpthread"; + } + + $python_defines = "-DVMDPYTHON"; +@@ -2593,7 +2593,7 @@ + + if ($config_cuda) { + $arch_nvccflags .= " --machine 64 -O3 $cuda_include"; +- $cuda_library = "-L/usr/local/cuda-10.2/lib64"; ++ $cuda_library = "-L$ENV{'EBROOTCUDA'}/lib64"; + } + + $arch_lex = "flex"; # has problems with vendor lex +@@ -2602,8 +2602,8 @@ + # override code probably date back to RHEL4.x or earlier, and + # they likely serve no useful purpose going forward. + if (!$config_opengl_dispatch) { +- $opengl_dep_libs = "-L/usr/X11R6/lib64 -lGL -lX11"; +- $mesa_libs = "-lMesaGL -L/usr/X11R6/lib64 -lXext -lX11"; ++ $opengl_dep_libs = " -lGL -lX11"; ++ $mesa_libs = "-lGL -lGLU -lXext -lX11"; + } + + # this is to make tcl happy +@@ -3789,7 +3789,7 @@ + + .cu.ptx: + \$(ECHO) "Compiling " \$< " --> " \$*.ptx " ..."; \\ +- \$(NVCC) \$(DEFINES) --use_fast_math $liboptix_include -gencode arch=compute_50,code=compute_50 -ptx \$< $arch_coptout$vmd_arch_dir/\$\@ ++ \$(NVCC) \$(DEFINES) --use_fast_math $liboptix_include -gencode arch=compute_80,code=compute_80 -ptx \$< $arch_coptout$vmd_arch_dir/\$\@ + + .y.o: + diff --git a/easybuild/easyconfigs/v/VMTK/VMTK-1.4.0-foss-2019b-Python-3.7.4.eb b/easybuild/easyconfigs/v/VMTK/VMTK-1.4.0-foss-2019b-Python-3.7.4.eb new file mode 100644 index 00000000000..47f24e87b29 --- /dev/null +++ b/easybuild/easyconfigs/v/VMTK/VMTK-1.4.0-foss-2019b-Python-3.7.4.eb @@ -0,0 +1,86 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak (INUITS) + +easyblock = "CMakeMake" + +name = 'VMTK' +version = '1.4.0' + +homepage = 'https://vmtk.org' +description = """vmtk is a collection of libraries and tools +for 3D reconstruction, geometric analysis, mesh generation and +surface data analysis for image-based modeling of blood vessels. """ + +toolchain = {'name': 'foss', 'version': '2019b'} +versionsuffix = '-Python-%(pyver)s' +local_vtk_shortver = '8.2' +local_itk_shortver = '4.13' + +# fetching specific commit of VMTK bcs of some bugfixes +local_commit = '63a3b99' + +local_vmtk_test_commit = "cbf09e4da03aa332c584b2709c4254017db9d4ef" +source_urls = [ + 'https://github.com/vmtk/vmtk/archive/', + "https://raw.githubusercontent.com/vmtk/vmtk-test-data/%s/input/" % local_vmtk_test_commit, +] +sources = [ + { + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': SOURCE_TAR_GZ}, + { + 'download_filename': 'vase.vti', + 'filename': 'vase-20180313.vti', + 'extract_cmd': 'cp %s %(builddir)s/vase.vti', + }, +] +checksums = [ + '39aeb1de6bba8511dff45f0a69c9d6dc8d61f323739312ddceb22f8773e21459', # VMTK-1.4.0.tar.gz + 'b5f761d7a923ee19cd9cc8df7fbc794ffaa16aca101455fcdf9ceaa610ca3f57', # vase-20180313.vti +] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('Python', '3.7.4'), + ('VTK', '8.2.0', versionsuffix), + ('h5py', '2.10.0', versionsuffix), + ('SciPy-bundle', '2019.10', versionsuffix), + # vmtk now works well with ITK 4.x only. see https://github.com/vmtk/vmtk/issues/381 + ('ITK', local_itk_shortver + '.1', versionsuffix), + ('X11', '20190717'), + ('libGLU', '9.0.1'), + ('zlib', '1.2.11'), + ('Mesa', '19.1.7'), + ('Tkinter', '3.7.4'), +] + +preconfigopts = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:$EBROOTITK/lib/cmake/ITK-%s/ && " % local_itk_shortver + +configopts = '-DITK_USE_SYSTEM_DOUBLECONVERSION=ON -DITK_USE_SYSTEM_EIGEN=ON -DITK_USE_SYSTEM_EXPAT=ON ' +configopts += '-DITK_USE_SYSTEM_JPEG=ON -DITK_USE_SYSTEM_PNG=ON -DITK_USE_SYSTEM_TIFF=ON ' +configopts += '-DITK_USE_SYSTEM_ZLIB=ON ' +configopts += ' -DUSE_SYSTEM_VTK=ON ' +configopts += ' -DVTK_DIR=$EBROOTVTK ' +configopts += ' -DUSE_SYSTEM_ITK=ON ' +configopts += ' -DCMAKE_MODULE_PATH=$EBROOTVTK/lib/cmake/vtk-%s/Modules ' % local_vtk_shortver +configopts += ' -DSUPERBUILD_INSTALL_PREFIX=%(installdir)s ' +configopts += ' -DVMTK_BUILD_TESTING=ON ' + +preinstallopts = 'cd VMTK-Build && ' + +modextrapaths = { + 'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_paths = { + 'files': ['bin/vmtk', 'bin/vmtkactivetubes'], + 'dirs': ['bin', 'lib/python%(pyshortver)s/site-packages', 'include'], +} + +sanity_check_commands = [ + "cd %(builddir)s && vmtkimagereader -ifile vase.vti", + "vmtk --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb new file mode 100644 index 00000000000..a07a5ae511c --- /dev/null +++ b/easybuild/easyconfigs/v/VSCode/VSCode-1.85.0.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'VSCode' +version = '1.85.0' +local_version_id = '1701901635' + +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://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] +sources = ['code-stable-x64-%s.tar.gz' % local_version_id] +checksums = [None] # the tarballs are not stable + +modaliases = {'vscode': '%(installdir)s/bin/code'} + +sanity_check_paths = { + 'files': ['code', 'bin/code'], + 'dirs': ['bin', 'locales', 'resources'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb b/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb new file mode 100644 index 00000000000..5eb26c94f86 --- /dev/null +++ b/easybuild/easyconfigs/v/VSCode/VSCode-1.88.1.eb @@ -0,0 +1,30 @@ +easyblock = 'Tarball' + +name = 'VSCode' +version = '1.88.1' +local_version_id = '1712770462' + +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://code.visualstudio.com/sha/download?build=stable&os=linux-x64&'] +sources = ['code-stable-x64-%s.tar.gz' % local_version_id] +checksums = [None] # the tarballs are not stable + +modaliases = {'vscode': '%(installdir)s/bin/code'} + +sanity_check_paths = { + 'files': ['code', 'bin/code'], + 'dirs': ['bin', 'locales', 'resources'] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.18.0-GCC-10.2.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.18.0-GCC-10.2.0.eb new file mode 100644 index 00000000000..0e0ca81463a --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.18.0-GCC-10.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.18.0' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['faa585ec2767e15a8ad3c2b78921b789a3b174fe3b0eecb3397b1c795808e982'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..3bdd437e4e6 --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.21.1-GCC-10.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.21.1' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['0c5f4c981bc8ecbf23ee618d1b45667f81ae9845d64b9d6a310edbd196c84638'] + +builddependencies = [ + ('Autotools', '20210128'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..693720d260a --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.22.1-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.22.1' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c62bf69e7cc3d011a12e3b522ba8c0c91fb90deea782359e9569677d0c991778'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.25.0-GCC-12.3.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.25.0-GCC-12.3.0.eb new file mode 100644 index 00000000000..dc48a4d3d45 --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.25.0-GCC-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.25.0' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['b7e25638924e56591d7c6ac3a959795000439937f5b566be7f06457bb31f91a9'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.28.1-GCC-10.2.0.eb b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.28.1-GCC-10.2.0.eb new file mode 100644 index 00000000000..14ed6e6d975 --- /dev/null +++ b/easybuild/easyconfigs/v/VSEARCH/VSEARCH-2.28.1-GCC-10.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'VSEARCH' +version = '2.28.1' + +homepage = 'https://github.com/torognes/vsearch' +description = """VSEARCH supports de novo and reference based chimera detection, + clustering, full-length and prefix dereplication, rereplication, + reverse complementation, masking, all-vs-all pairwise global alignment, + exact and global alignment searching, shuffling, subsampling and sorting. + It also supports FASTQ file analysis, filtering, + conversion and merging of paired-end reads.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://github.com/torognes/vsearch/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['4f8bf0ad43fef77e573d152b59f55a1f81eb84c22d6545911757e6108f8de21c'] + +builddependencies = [ + ('Autotools', '20200321'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), +] + +preconfigopts = './autogen.sh &&' + +configopts = '--disable-pdfman ' + +sanity_check_paths = { + 'files': ['bin/vsearch'], + 'dirs': [], +} + +sanity_check_commands = ['vsearch --help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2019b-Python-2.7.16.eb b/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2019b-Python-2.7.16.eb new file mode 100644 index 00000000000..96ef490c839 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2019b-Python-2.7.16.eb @@ -0,0 +1,97 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '8.2.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb', # VTK-8.2.0.tar.gz + 'd1ff312f7a63d90d8b7033a99109801f16a462ae411d648642838aae04bcc21e', # VTKData-8.2.0.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.15.3')] + +dependencies = [ + ('Python', '2.7.16'), + ('SciPy-bundle', '2019.10', '-Python-2.7.16'), + ('XZ', '5.2.4'), + ('HDF5', '1.10.5'), + ('netCDF', '4.7.1'), + ('libGLU', '9.0.1'), + ('X11', '20190717'), +] + +separate_build_dir = True + +# Third party modules +configopts = "-DVTK_USE_SYSTEM_MPI4PY=ON " +configopts += "-DVTK_USE_SYSTEM_LZMA=ON " +configopts += "-DVTK_USE_SYSTEM_HDF5=ON " +configopts += "-DVTK_USE_SYSTEM_NETCDF=ON " +configopts += "-DVTK_USE_SYSTEM_PNG=ON " +# OpenGL +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON " +configopts += "-DVTK_PYTHON_VERSION=%(pyver)s " +configopts += "-DPYTHON_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPYTHON_LIBRARY=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s " % SHLIB_EXT +# Other +configopts += "-DVTK_Group_MPI:BOOL=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +sanity_check_paths = { + 'files': ['bin/vtk%s-%%(version_major_minor)s' % x for x in + ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] + + ['bin/pvtkpython', 'bin/vtkpython'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + ('python', "-c 'import %(namelower)s'"), + ('python', "-c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'"), +] + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2021a.eb b/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2021a.eb new file mode 100644 index 00000000000..69f866da78a --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-8.2.0-foss-2021a.eb @@ -0,0 +1,106 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '8.2.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [ + 'VTK-8.2.0_python_3.8_compatibility.patch', + 'VTK-8.2.0_gcc10-fix.patch', + ('vtk-version.egg-info', '.'), +] +checksums = [ + '34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb', # VTK-8.2.0.tar.gz + 'd1ff312f7a63d90d8b7033a99109801f16a462ae411d648642838aae04bcc21e', # VTKData-8.2.0.tar.gz + 'a7586f60501de145d4c31e48aa0589547d9fe7a39f96ab31dae8e82aa5fb4403', # VTK-8.2.0_python_3.8_compatibility.patch + '4f1d2c2f0faa06551384b08356142a998a322008891472a72298152eeaa7038b', # VTK-8.2.0_gcc10-fix.patch + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('XZ', '5.2.5'), + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('libGLU', '9.0.1'), + ('X11', '20210518'), +] + +separate_build_dir = True + +# Third party modules +configopts = "-DVTK_USE_SYSTEM_MPI4PY=ON " +configopts += "-DVTK_USE_SYSTEM_LZMA=ON " +configopts += "-DVTK_USE_SYSTEM_HDF5=ON " +configopts += "-DVTK_USE_SYSTEM_NETCDF=ON " +configopts += "-DVTK_USE_SYSTEM_PNG=ON " +# OpenGL +configopts += "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON " +configopts += "-DVTK_PYTHON_VERSION=%(pyver)s " +configopts += "-DPYTHON_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPYTHON_LIBRARY=$EBROOTPYTHON/lib/libpython%%(pyshortver)s.%s " % SHLIB_EXT +# Other +configopts += "-DVTK_Group_MPI:BOOL=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython', 'pvtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelMPI', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + ('python', "-c 'import %(namelower)s'"), + ('python', "-c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'"), +] + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-8.2.0_gcc10-fix.patch b/easybuild/easyconfigs/v/VTK/VTK-8.2.0_gcc10-fix.patch new file mode 100644 index 00000000000..73180e0a06f --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-8.2.0_gcc10-fix.patch @@ -0,0 +1,72 @@ +exodusII changes from https://gitlab.kitware.com/vtk/vtk/-/merge_requests/6420 +VTKGenerateExportHeader.cmake changes from https://gitlab.kitware.com/vtk/vtk/-/issues/17775#note_794604 +Patch added by Simon Branford (University of Birmingham) +--- a/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c ++++ b/ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c +@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI + * Prevent warning in some versions of ranlib(1) because the object + * file has no symbols. + */ +-const char exodus_unused_symbol_dummy_1; ++const char exodus_unused_symbol_dummy_ex_create_par; + #endif +diff --git a/src/ex_open_par.c b/src/ex_open_par.c +index b2faa22c294..9df4818767d 100644 +--- a/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c ++++ b/ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c +@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float + * Prevent warning in some versions of ranlib(1) because the object + * file has no symbols. + */ +-const char exodus_unused_symbol_dummy_1; ++const char exodus_unused_symbol_dummy_ex_open_par; + #endif +--- a/CMake/VTKGenerateExportHeader.cmake 2022-01-28 11:49:28.902123000 +0000 ++++ b/CMake/VTKGenerateExportHeader.cmake 2022-01-28 12:27:17.901428104 +0000 +@@ -170,37 +170,17 @@ + + macro(_vtk_test_compiler_hidden_visibility) + +- if(CMAKE_COMPILER_IS_GNUCXX) +- execute_process(COMMAND ${CMAKE_C_COMPILER} --version +- OUTPUT_VARIABLE _gcc_version_info +- ERROR_VARIABLE _gcc_version_info) +- string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" +- _gcc_version "${_gcc_version_info}") +- # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the +- # patch level, handle this here: +- if(NOT _gcc_version) +- string(REGEX REPLACE ".*\\(GCC\\).*([34]\\.[0-9]).*" "\\1.0" +- _gcc_version "${_gcc_version_info}") +- endif() +- +- if(_gcc_version VERSION_LESS "4.2") +- set(GCC_TOO_OLD TRUE) +- endif() ++ if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2") ++ set(GCC_TOO_OLD TRUE) ++ message(WARNING "GCC version older than 4.2") ++ elseif(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "4.2") ++ set(GCC_TOO_OLD TRUE) ++ message(WARNING "GCC version older than 4.2") ++ elseif(CMAKE_CXX_COMPILER_ID MATCHES Intel AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0") ++ set(_INTEL_TOO_OLD TRUE) ++ message(WARNING "Intel compiler older than 12.0") + endif() + +- if(CMAKE_CXX_COMPILER_ID MATCHES "Intel") +- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -V +- OUTPUT_VARIABLE _intel_version_info +- ERROR_VARIABLE _intel_version_info) +- string(REGEX REPLACE ".*Version ([0-9]+(\\.[0-9]+)+).*" "\\1" +- _intel_version "${_intel_version_info}") +- +- if(_intel_version VERSION_LESS "12.0") +- set(_INTEL_TOO_OLD TRUE) +- endif() +- endif() +- +- + # Exclude XL here because it misinterprets -fvisibility=hidden even though + # the check_cxx_compiler_flag passes + # http://www.cdash.org/CDash/testDetails.php?test=109109951&build=1419259 diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb index b4161f95eaf..c92d21af64b 100644 --- a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb +++ b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2020b.eb @@ -54,6 +54,7 @@ configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " # Python configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' # Other configopts += "-DVTK_USE_MPI=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib" diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb index b6987d9bb81..c2ca95e963f 100644 --- a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb +++ b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-foss-2021a.eb @@ -49,6 +49,7 @@ configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " # Python configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' # Other configopts += "-DVTK_USE_MPI=ON " configopts += "-DCMAKE_INSTALL_LIBDIR=lib" diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.0.1-fosscuda-2020b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-fosscuda-2020b.eb new file mode 100644 index 00000000000..3d7c9e19371 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.0.1-fosscuda-2020b.eb @@ -0,0 +1,92 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL +# +# This work implements a part of the HPCBIOS project and is a component of the policy: +# https://hpcbios.readthedocs.org/en/latest/HPCBIOS_2012-97.html +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.0.1' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'fosscuda', 'version': '2020b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '1b39a5e191c282861e7af4101eaa8585969a2de05f5646c9199a161213a622c7', # VTK-9.0.1.tar.gz + '3f8bfdadd66e0b541bc5580340481abf92bec100b09d787283632ab590b1ce1c', # VTKData-9.0.1.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.18.4')] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.1'), + ('X11', '20201008'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb new file mode 100644 index 00000000000..4f1fa372e75 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.1.0-foss-2021b.eb @@ -0,0 +1,87 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.1.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96', # VTK-9.1.0.tar.gz + 'b9442cf1c30e1e44502e6dc36d3c6c2dc3d3f7d03306ee1d10737e9abadaa85d', # VTKData-9.1.0.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.21.1')] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.2'), + ('X11', '20210802'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.2.0.rc2-foss-2022a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.2.0.rc2-foss-2022a.eb new file mode 100644 index 00000000000..2fd6fa6575a --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.2.0.rc2-foss-2022a.eb @@ -0,0 +1,87 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.2.0.rc2' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + '276f35541a46ef5963ae6667ee60b9cb19c9dc5cb28ae68db71fd8577620b0fc', # VTK-9.2.0.rc2.tar.gz + 'daf6c3ac947b3f1b7b6bfd6dfd17e0beb3df34816c9bab61c4b79294a800a2a3', # VTKData-9.1.0.tar.gz + '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b', # vtk-version.egg-info +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.2'), + ('X11', '20220504'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb new file mode 100644 index 00000000000..1394917dc97 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.2.2-foss-2022a.eb @@ -0,0 +1,87 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeMake' + +name = 'VTK' +version = '9.2.2' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.2.2.tar.gz': '1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075'}, + {'VTKData-9.2.2.tar.gz': '4b0ac438c77773ff741fd02c0e3b0dc1406b4c51e6cbe4e8304306fa125f27bf'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('XZ', '5.2.5'), + ('libGLU', '9.0.2'), + ('X11', '20220504'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2022b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2022b.eb new file mode 100644 index 00000000000..8182cdf8c40 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2022b.eb @@ -0,0 +1,90 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeNinja' + +name = 'VTK' +version = '9.2.6' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.2.6.tar.gz': '06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12'}, + {'VTKData-9.2.6.tar.gz': '032c4b827173f859c898403d25360dc99409a4674559ad58f48828f23a6258b8'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('XZ', '5.2.7'), + ('libGLU', '9.0.2'), + ('X11', '20221110'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_ROOT_DIR=$EBROOTPYTHON " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2023a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2023a.eb new file mode 100644 index 00000000000..5c6c6f7a122 --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.2.6-foss-2023a.eb @@ -0,0 +1,98 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +# Update: Pavel Tománek (Inuits) +## + +easyblock = 'CMakeNinja' + +name = 'VTK' +version = '9.2.6' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.2.6.tar.gz': '06fc8d49c4e56f498c40fcb38a563ed8d4ec31358d0101e8988f0bb4d539dd12'}, + {'VTKData-9.2.6.tar.gz': '032c4b827173f859c898403d25360dc99409a4674559ad58f48828f23a6258b8'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('XZ', '5.4.2'), + ('libGLU', '9.0.3'), + ('X11', '20230603'), + ('Qt5', '5.15.10'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python3 " +configopts += "-DPython3_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPython3_LIBRARY=$EBROOTPYTHON/lib/libpython%(pyshortver)s.so " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " +configopts += "-DVTK_QT_VERSION=5 " +configopts += "-DQt5_DIR=$EBROOTQT5 " +configopts += "-DVTK_MODULE_ENABLE_VTK_GuiSupportQt=YES " +configopts += "-DVTK_MODULE_ENABLE_VTK_ViewsQt=YES" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023a.eb b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023a.eb new file mode 100644 index 00000000000..740fd888dfb --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023a.eb @@ -0,0 +1,98 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +# Update: Pavel Tománek (Inuits) +## + +easyblock = 'CMakeNinja' + +name = 'VTK' +version = '9.3.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.3.0.tar.gz': 'fdc7b9295225b34e4fdddc49cd06e66e94260cb00efee456e0f66568c9681be9'}, + {'VTKData-9.3.0.tar.gz': 'f82142dd327e995c9536c1003e1370bb4092c96f23edb8119d16d2411ef35dc3'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [ + ('CMake', '3.26.3'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('XZ', '5.4.2'), + ('libGLU', '9.0.3'), + ('X11', '20230603'), + ('Qt5', '5.15.10'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python3 " +configopts += "-DPython3_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPython3_LIBRARY=$EBROOTPYTHON/lib/libpython%(pyshortver)s.so " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " +configopts += "-DVTK_QT_VERSION=5 " +configopts += "-DQt5_DIR=$EBROOTQT5 " +configopts += "-DVTK_MODULE_ENABLE_VTK_GuiSupportQt=YES " +configopts += "-DVTK_MODULE_ENABLE_VTK_ViewsQt=YES" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb new file mode 100644 index 00000000000..3be42a90bac --- /dev/null +++ b/easybuild/easyconfigs/v/VTK/VTK-9.3.0-foss-2023b.eb @@ -0,0 +1,97 @@ +## +# Authors:: +# * Fotis Georgatos +# * Robert Mijakovic +## + +easyblock = 'CMakeNinja' + +name = 'VTK' +version = '9.3.0' + +homepage = 'https://www.vtk.org' +description = """The Visualization Toolkit (VTK) is an open-source, freely available software system for + 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several + interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization + algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques + such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.""" + +toolchain = {'name': 'foss', 'version': '2023b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://www.vtk.org/files/release/%(version_major_minor)s'] +sources = [ + SOURCE_TAR_GZ, + '%(name)sData-%(version)s.tar.gz', +] +patches = [('vtk-version.egg-info', '.')] +checksums = [ + {'VTK-9.3.0.tar.gz': 'fdc7b9295225b34e4fdddc49cd06e66e94260cb00efee456e0f66568c9681be9'}, + {'VTKData-9.3.0.tar.gz': 'f82142dd327e995c9536c1003e1370bb4092c96f23edb8119d16d2411ef35dc3'}, + {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'}, +] + +builddependencies = [ + ('CMake', '3.27.6'), + ('Ninja', '1.11.1'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), + ('XZ', '5.4.4'), + ('libGLU', '9.0.3'), + ('X11', '20231019'), + ('Qt5', '5.15.13'), +] + +separate_build_dir = True + +# OpenGL +configopts = "-DOPENGL_glu_LIBRARY=$EBROOTLIBGLU/lib/libGLU.%s " % SHLIB_EXT +configopts += "-DOPENGL_gl_LIBRARY=$EBROOTMESA/lib/libGL.%s " % SHLIB_EXT +configopts += "-DOPENGL_INCLUDE_DIR=$EBROOTMESA/include " +# Python +configopts += "-DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 -DVTK_PYTHON_OPTIONAL_LINK=OFF " +configopts += "-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python3 " +configopts += "-DPython3_INCLUDE_DIR=$EBROOTPYTHON/include/python%(pyshortver)s " +configopts += "-DPython3_LIBRARY=$EBROOTPYTHON/lib/libpython%(pyshortver)s.so " +# Other +configopts += "-DVTK_USE_MPI=ON " +configopts += "-DCMAKE_INSTALL_LIBDIR=lib " +configopts += "-DVTK_QT_VERSION=5 " +configopts += "-DQt5_DIR=$EBROOTQT5 " +configopts += "-DVTK_MODULE_ENABLE_VTK_GuiSupportQt=YES " +configopts += "-DVTK_MODULE_ENABLE_VTK_ViewsQt=YES" + +preinstallopts = "export PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH && " + +# Install a egg-info file so VTK is more python friendly, required for mayavi +local_egg_info_src = '%(builddir)s/VTK-%(version)s/vtk-version.egg-info' +local_egg_info_dest = '%(installdir)s/lib/python%(pyshortver)s/site-packages/vtk-%(version)s.egg-info' +postinstallcmds = [ + 'sed "s/#VTK_VERSION#/%%(version)s/" %s > %s' % (local_egg_info_src, local_egg_info_dest), +] + +modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']} + +local_vtk_exec = ['vtk%s-%%(version_major_minor)s' % x + for x in ['WrapJava', 'ParseJava', 'WrapPythonInit', 'WrapPython', 'WrapHierarchy']] +local_vtk_exec += ['vtkpython'] +local_vtk_libs = ['CommonCore', 'IONetCDF', 'ParallelCore', 'RenderingOpenGL2'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_vtk_exec] + ['include/vtk-%(version_major_minor)s/vtkMPI.h'] + + ['lib/libvtk%s-%%(version_major_minor)s.%s' % (l, SHLIB_EXT) for l in local_vtk_libs], + 'dirs': ['lib/python%(pyshortver)s/site-packages/', 'include/vtk-%(version_major_minor)s'], +} + +sanity_check_commands = [ + "python -c 'import %(namelower)s'", + "python -c 'import pkg_resources; pkg_resources.get_distribution(\"vtk\")'", + # make sure that VTK Python libraries link to libpython (controlled via DVTK_PYTHON_OPTIONAL_LINK=OFF), + # see https://gitlab.kitware.com/vtk/vtk/-/issues/17881 + "ldd $EBROOTVTK/lib/libvtkPythonContext2D-%%(version_major_minor)s.%s | grep /libpython" % SHLIB_EXT, +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2018_update3.eb b/easybuild/easyconfigs/v/VTune/VTune-2018_update3.eb index 0938ca5f98f..8f1db4ac725 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2018_update3.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2018_update3.eb @@ -7,7 +7,7 @@ description = """Intel VTune Amplifier XE is the premier performance profiler fo toolchain = SYSTEM -source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13079/'] +source_urls = ['http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13079/'] sources = ['vtune_amplifier_%(version)s.tar.gz'] checksums = ['a47e3b304b993bc28190d7efaac29dcb4a9b533837f2fe4cd9d5617c537f568a'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2019_update3.eb b/easybuild/easyconfigs/v/VTune/VTune-2019_update3.eb index bd9fed83da9..50053de3925 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2019_update3.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2019_update3.eb @@ -7,7 +7,7 @@ description = """Intel VTune Amplifier XE is the premier performance profiler fo toolchain = SYSTEM -source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15214/'] +source_urls = ['http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15214/'] sources = ['vtune_amplifier_%(version)s.tar.gz'] checksums = ['d873abd0e98b477056030f3520fc8dfb1521dbb4dfaa6d20d830af02ec12a12d'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2019_update5.eb b/easybuild/easyconfigs/v/VTune/VTune-2019_update5.eb index 09f9e6b6120..1390fece377 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2019_update5.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2019_update5.eb @@ -7,7 +7,7 @@ description = """Intel VTune Amplifier XE is the premier performance profiler fo toolchain = SYSTEM -source_urls = ['http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15703/'] +source_urls = ['http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15703/'] sources = ['vtune_amplifier_%(version)s.tar.gz'] checksums = ['7b2124123347bbb593d1b8f8cf858d88829a05605769cba5c39444b0aa545473'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2020_update3.eb b/easybuild/easyconfigs/v/VTune/VTune-2020_update3.eb index b4c024b03be..ab1cb7c1ebc 100644 --- a/easybuild/easyconfigs/v/VTune/VTune-2020_update3.eb +++ b/easybuild/easyconfigs/v/VTune/VTune-2020_update3.eb @@ -7,7 +7,7 @@ description = """Intel VTune Amplifier XE is the premier performance profiler fo toolchain = SYSTEM -source_urls = ['https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17095/'] +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17095/'] sources = [{'download_filename': 'vtune_profiler_2020.tar.gz', 'filename': 'vtune_profiler_%(version)s.tar.gz'}] checksums = ['b22dd61d3931ca6ab7d96df2cf8648e5e1061ab2db13b8d42e3c87586b07c974'] diff --git a/easybuild/easyconfigs/v/VTune/VTune-2021.6.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2021.6.0.eb new file mode 100644 index 00000000000..d33e54a7818 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2021.6.0.eb @@ -0,0 +1,20 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2021.6.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18012/'] +sources = ['l_oneapi_vtune_p_%(version)s.411_offline.sh'] +checksums = ['6b1df7da713337aa665bcc6ff23e4a006695b5bfaf71dffd305cbadca2e5560c'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb new file mode 100644 index 00000000000..b0f65557f62 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2021.9.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2021.9.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18302/'] +sources = ['l_oneapi_vtune_p_%(version)s.545_offline.sh'] +checksums = ['55c8ac25e685f03c849bb5383da249c7caaf2138a2b57a10c8975a38fa3828bc'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb new file mode 100644 index 00000000000..16f445c0f64 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.0.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2022.0.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18406/'] +sources = ['l_oneapi_vtune_p_%(version)s.94_offline.sh'] +checksums = ['aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb new file mode 100644 index 00000000000..458b8143c02 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.2.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2022.2.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18602/'] +sources = ['l_oneapi_vtune_p_%(version)s.172_offline.sh'] +checksums = ['d9f92ab6486a02c8ba226c98893492a54eda706d9edd3206a6b6143bfbc97195'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb new file mode 100644 index 00000000000..e2fea76fc3a --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2022.3.0.eb @@ -0,0 +1,27 @@ +## +# Author: Robert Mijakovic +## +name = 'VTune' +version = '2022.3.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18656/'] +sources = ['l_oneapi_vtune_p_%(version)s.195_offline.sh'] +checksums = ['7921fce7fcc3b82575be22d9c36beec961ba2a9fb5262ba16a04090bcbd2e1a6'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/VTune/VTune-2023.2.0.eb b/easybuild/easyconfigs/v/VTune/VTune-2023.2.0.eb new file mode 100644 index 00000000000..920aa1f3606 --- /dev/null +++ b/easybuild/easyconfigs/v/VTune/VTune-2023.2.0.eb @@ -0,0 +1,25 @@ + +name = 'VTune' +version = '2023.2.0' + +homepage = 'https://software.intel.com/en-us/vtune' +description = """Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, + Assembly and Java.""" + +toolchain = SYSTEM + +# By downloading, you accept the Intel End User License Agreement +# (https://software.intel.com/content/www/us/en/develop/articles/end-user-license-agreement.html) +# accept_eula = True +source_urls = ['https://registrationcenter-download.intel.com/akdlm/IRC_NAS/dfae6f23-6c90-4b9f-80e2-fa2a5037fe36/'] +sources = ['l_oneapi_vtune_p_%(version)s.49485_offline.sh'] +checksums = ['482a727afe0ac6f81eff51503857c28fcb79ffdba76260399900f3397fd0adbd'] + +sanity_check_paths = { + 'files': ['%(namelower)s/%(version)s/bin64/amplxe-perf'], + 'dirs': ['%(namelower)s/%(version)s/bin64', + '%(namelower)s/%(version)s/lib64', + '%(namelower)s/%(version)s/include/intel64'] +} + +moduleclass = 'tools' 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/Valgrind/Valgrind-3.18.1-gompi-2021b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.18.1-gompi-2021b.eb new file mode 100644 index 00000000000..16256103c1f --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.18.1-gompi-2021b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.18.1' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.18.1-iimpi-2021b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.18.1-iimpi-2021b.eb new file mode 100644 index 00000000000..a2745e47ff2 --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.18.1-iimpi-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.18.1' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5'] + +preconfigopts = 'unset CC CFLAGS &&' +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.19.0-gompi-2022a.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.19.0-gompi-2022a.eb new file mode 100644 index 00000000000..b3846caed03 --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.19.0-gompi-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.19.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['dd5e34486f1a483ff7be7300cc16b4d6b24690987877c3278d797534d6738f02'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.20.0-gompi-2022a.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.20.0-gompi-2022a.eb new file mode 100644 index 00000000000..45e2a41ecda --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.20.0-gompi-2022a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.20.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8536c031dbe078d342f121fa881a9ecd205cb5a78e639005ad570011bdb9f3c6'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2022b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2022b.eb new file mode 100644 index 00000000000..b6cb3470b3f --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2022b.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.21.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2022b'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2023a.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2023a.eb new file mode 100644 index 00000000000..51070a9bce2 --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.21.0-gompi-2023a.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.21.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2023a'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['10ce1618bb3e33fad16eb79552b0a3e1211762448a0d7fce11c8a6243b9ac971'] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +moduleclass = 'debugger' diff --git a/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb new file mode 100644 index 00000000000..c0874657c57 --- /dev/null +++ b/easybuild/easyconfigs/v/Valgrind/Valgrind-3.23.0-gompi-2023b.eb @@ -0,0 +1,46 @@ +easyblock = 'ConfigureMake' + +name = 'Valgrind' +version = '3.23.0' + +homepage = 'https://valgrind.org' +description = "Valgrind: Debugging and profiling tools" + +toolchain = {'name': 'gompi', 'version': '2023b'} +toolchainopts = {'optarch': True} + +source_urls = [ + 'https://sourceware.org/pub/valgrind/', + 'https://www.mirrorservice.org/sites/sourceware.org/pub/valgrind/', +] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d'] + +dependencies = [ + ('Perl', '5.38.0'), + ('Python', '3.11.5'), +] + +configopts = ' --with-mpicc="$MPICC"' + +local_binaries = [ + 'callgrind_annotate', 'callgrind_control', 'cg_annotate', 'cg_diff', + 'cg_merge', 'ms_print', 'valgrind', 'valgrind-listener', 'vgdb' +] +local_archs = ('amd64', 'arm64', 'ppc64le') + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries] + + [['lib/valgrind/libmpiwrap-%s-linux.%s' % (a, SHLIB_EXT) for a in local_archs]], + 'dirs': [] +} + +sanity_check_commands = [ + 'callgrind_annotate --version 2>&1 | grep "%(version)s"', + 'cg_annotate --help', + 'ms_print --version 2>&1 | grep "%(version)s"', + 'valgrind --help', + 'vgdb --help', +] + +moduleclass = 'debugger' 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/VarScan/VarScan-2.4.4-Java-11.eb b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.4-Java-11.eb new file mode 100644 index 00000000000..093fff5f3b7 --- /dev/null +++ b/easybuild/easyconfigs/v/VarScan/VarScan-2.4.4-Java-11.eb @@ -0,0 +1,32 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Adam Huffman, based on initial work by Jordi Blasco +# The Francis Crick Institute + +easyblock = 'JAR' + +name = 'VarScan' +version = '2.4.4' +versionsuffix = '-Java-%(javaver)s' + +github_account = "dkoboldt" +homepage = 'https://github.com/%(github_account)s/%(namelower)s' +description = """Variant calling and somatic mutation/CNV detection for next-generation sequencing data""" + +toolchain = SYSTEM + +sources = ['%(name)s.v%(version)s.jar'] +source_urls = ['https://github.com/%(github_account)s/%(namelower)s/raw/master'] +checksums = ['fb23b72ab676fb5a89bd02091c2b6c9aff210b96bee04d9dee6aef4d8b72814d'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': sources, + 'dirs': [], +} + +sanity_check_commands = ["java -jar $EBROOTVARSCAN/VarScan.v%(version)s.jar filter --help"] + +modloadmsg = "To execute VarScan run: java -jar $EBROOTVARSCAN/%(name)s.v%(version)s.jar" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-mt-kmer_191.eb new file mode 100644 index 00000000000..8fcd1cc53f8 --- /dev/null +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-11.2.0-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': 'GCC', 'version': '11.2.0'} +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.11')] + +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/Velvet/Velvet-1.2.10-GCC-8.3.0-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-8.3.0-mt-kmer_191.eb index ea774fc7287..cb47999342a 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-8.3.0-mt-kmer_191.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-GCC-8.3.0-mt-kmer_191.eb @@ -15,15 +15,16 @@ name = 'Velvet' version = '1.2.10' versionsuffix = '-mt-kmer_191' -homepage = 'https://www.ebi.ac.uk/~zerbino/velvet/' +homepage = 'https://github.com/dzerbino/velvet/' description = """Sequence assembler for very short reads""" toolchain = {'name': 'GCC', 'version': '8.3.0'} toolchainopts = {'openmp': True, 'pic': True} -source_urls = ['https://www.ebi.ac.uk/~zerbino/velvet'] -sources = ['%(namelower)s_%(version)s.tgz'] -checksums = ['884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640'] +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] dependencies = [('zlib', '1.2.11')] diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018a-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018a-mt-kmer_191.eb index 34910dc01cd..ee42af90210 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018a-mt-kmer_191.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018a-mt-kmer_191.eb @@ -15,15 +15,16 @@ name = 'Velvet' version = '1.2.10' versionsuffix = '-mt-kmer_191' -homepage = 'http://www.ebi.ac.uk/~zerbino/velvet/' +homepage = 'https://github.com/dzerbino/velvet/' description = """Sequence assembler for very short reads""" toolchain = {'name': 'foss', 'version': '2018a'} toolchainopts = {'openmp': True, 'pic': True} -source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] -sources = ['%(namelower)s_%(version)s.tgz'] -checksums = ['884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640'] +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] dependencies = [('zlib', '1.2.11')] diff --git a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018b-mt-kmer_191.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018b-mt-kmer_191.eb index f5c9e5e44d7..4a23a439630 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018b-mt-kmer_191.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-foss-2018b-mt-kmer_191.eb @@ -15,15 +15,16 @@ name = 'Velvet' version = '1.2.10' versionsuffix = '-mt-kmer_191' -homepage = 'http://www.ebi.ac.uk/~zerbino/velvet/' +homepage = 'https://github.com/dzerbino/velvet/' description = """Sequence assembler for very short reads""" toolchain = {'name': 'foss', 'version': '2018b'} toolchainopts = {'openmp': True, 'pic': True} -source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] -sources = ['%(namelower)s_%(version)s.tgz'] -checksums = ['884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640'] +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] dependencies = [('zlib', '1.2.11')] 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/Velvet/Velvet-1.2.10-intel-2017a-mt-kmer_37.eb b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2017a-mt-kmer_37.eb index 8e2cfba9b55..7291b701408 100644 --- a/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2017a-mt-kmer_37.eb +++ b/easybuild/easyconfigs/v/Velvet/Velvet-1.2.10-intel-2017a-mt-kmer_37.eb @@ -15,14 +15,16 @@ name = 'Velvet' version = '1.2.10' versionsuffix = '-mt-kmer_37' -homepage = 'http://www.ebi.ac.uk/~zerbino/velvet/' +homepage = 'https://github.com/dzerbino/velvet/' description = """Sequence assembler for very short reads""" toolchain = {'name': 'intel', 'version': '2017a'} toolchainopts = {'openmp': True, 'pic': True} -sources = ['%(namelower)s_%(version)s.tgz'] -source_urls = ['http://www.ebi.ac.uk/~zerbino/%(namelower)s'] +github_account = 'dzerbino' +source_urls = [GITHUB_LOWER_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['4615e52dc2e8a05f1009daf2c0978c218860be364afa044f73677cd298f10c7b'] buildopts = "OPENMP=1 MAXKMERLENGTH=%s LONGSEQUENCES=1" % versionsuffix.split('_')[1] diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.0-foss-2021b.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.0-foss-2021b.eb new file mode 100644 index 00000000000..5a48408d321 --- /dev/null +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.0-foss-2021b.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'ViennaRNA' +version = '2.5.0' + +homepage = 'https://www.tbi.univie.ac.at/RNA/' +description = """The Vienna RNA Package consists of a C code library and several +stand-alone programs for the prediction and comparison of RNA secondary structures.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.tbi.univie.ac.at/RNA/download/sourcecode/%(version_major)s_%(version_minor)s_x/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b85544650ee316743173ec9b30497cc4c559f1bfb8f66d16c563f780afd8c0c5'] + +builddependencies = [ + ('Autotools', '20210726'), + ('flex', '2.6.4'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.6'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('GSL', '2.7'), + ('libgd', '2.3.3'), + ('X11', '20210802'), +] + +configopts = "--with-cluster --with-kinwalker --with-python3" +# Uncomment this if you compile on pre SSE4.1 CPU +# configopts += "--enable-sse " + +sanity_check_paths = { + 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', + 'inverse', 'plot', 'subopt', 'Lfold', 'cofold', + 'paln', 'duplex', 'alifold', 'plfold', 'up', + 'aliduplex', 'Lalifold', '2Dfold', 'parconv', + 'PKplex', 'plex', 'snoop', 'forester']] + + ['bin/Kinfold'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/', 'lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.1-foss-2021b.eb b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.1-foss-2021b.eb new file mode 100644 index 00000000000..44021569e19 --- /dev/null +++ b/easybuild/easyconfigs/v/ViennaRNA/ViennaRNA-2.5.1-foss-2021b.eb @@ -0,0 +1,54 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'ConfigureMake' + +name = 'ViennaRNA' +version = '2.5.1' + +homepage = 'https://www.tbi.univie.ac.at/RNA/' +description = """The Vienna RNA Package consists of a C code library and several +stand-alone programs for the prediction and comparison of RNA secondary structures.""" + +toolchain = {'name': 'foss', 'version': '2021b'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.tbi.univie.ac.at/RNA/download/sourcecode/%(version_major)s_%(version_minor)s_x/'] +sources = [SOURCE_TAR_GZ] +checksums = ['05400437cf15595e10b1a25df6c9c48856f356130f9d1e380fa8866b6d27f457'] + +builddependencies = [ + ('Autotools', '20210726'), + ('flex', '2.6.4'), + ('pkg-config', '0.29.2'), + ('Bison', '3.7.6'), + ('SWIG', '4.0.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('GSL', '2.7'), + ('libgd', '2.3.3'), + ('X11', '20210802'), +] + +configopts = "--with-cluster --with-kinwalker --with-python3" +# Uncomment this if you compile on pre SSE4.1 CPU +# configopts += "--enable-sse " + +sanity_check_paths = { + 'files': ['bin/RNA%s' % x for x in ['fold', 'eval', 'heat', 'pdist', 'distance', + 'inverse', 'plot', 'subopt', 'Lfold', 'cofold', + 'paln', 'duplex', 'alifold', 'plfold', 'up', + 'aliduplex', 'Lalifold', '2Dfold', 'parconv', + 'PKplex', 'plex', 'snoop', 'forester']] + + ['bin/Kinfold'], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/', 'lib/python%(pyshortver)s/site-packages'], +} + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3ebc9ac6bd5 --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.0.0950-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +# Last contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 + +easyblock = 'ConfigureMake' + +name = 'Vim' +version = '9.0.0950' + +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': '11.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['c53542fbec58362c3a5ed60a0fe5aa219ef49cd15d9545311ec0f6d1f03e2fdd'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('PCRE', '8.45') +] + +configopts = '--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes' + +sanity_check_paths = { + 'files': ['bin/vim', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['vim --version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb b/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..3ba63172bd8 --- /dev/null +++ b/easybuild/easyconfigs/v/Vim/Vim-9.0.1434-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'Vim' +version = '9.0.1434' + +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.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['f7a43d6f2c08c4d76c5ceb9ab6603fe2d87d56c1162934525cf46362ef8a4e65'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [ + ('Python', '3.10.8'), + ('Perl', '5.36.0'), + ('PCRE', '8.45') +] + +configopts = '--with-features=huge --enable-python3interp=yes --enable-perlinterp=yes' + +sanity_check_paths = { + 'files': ['bin/vim', 'bin/vimtutor', 'bin/xxd'], + 'dirs': ['bin', 'share'], +} + +sanity_check_commands = ['vim --version'] + +moduleclass = 'tools' 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/VirSorter/VirSorter-1.0.6-foss-2021b.eb b/easybuild/easyconfigs/v/VirSorter/VirSorter-1.0.6-foss-2021b.eb new file mode 100644 index 00000000000..9d18ff59c28 --- /dev/null +++ b/easybuild/easyconfigs/v/VirSorter/VirSorter-1.0.6-foss-2021b.eb @@ -0,0 +1,34 @@ +easyblock = 'Tarball' + +name = 'VirSorter' +version = '1.0.6' + +homepage = 'https://github.com/simroux/VirSorter' +description = """VirSorter: mining viral signal from microbial genomic data.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'simroux' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a47202eb4abbfc7643519f891d52c55725ccceb2e4c45b8564b9d66b8f6615e0'] + +dependencies = [ + ('Perl', '5.34.0'), + ('BioPerl', '1.7.8'), + ('HMMER', '3.3.2'), + ('MCL', '22.282'), + ('MetaGeneAnnotator', '20080819', '-x86-64', SYSTEM), + ('MUSCLE', '3.8.31'), + ('BLAST+', '2.12.0'), +] + +sanity_check_paths = { + 'files': ['wrapper_phage_contigs_sorter_iPlant.pl'], + 'dirs': ['Scripts'], +} + +modextrapaths = {'PATH': ['', 'Scripts']} +modaliases = {'%(namelower)s': 'wrapper_phage_contigs_sorter_iPlant.pl'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2021b.eb b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2021b.eb new file mode 100644 index 00000000000..5270c708249 --- /dev/null +++ b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2021b.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'VirSorter2' +version = '2.2.4' + +homepage = 'https://github.com/jiarong/VirSorter2' +description = """VirSorter2 applies a multi-classifier, expert-guided approach to detect diverse DNA and + RNA virus genomes.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('ruamel.yaml', '0.17.21'), + ('snakemake', '6.10.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/jiarong/%(name)s/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f9d1c291f773d9c4d70d7ec096e76c21208950d74d7bd5046da7c4a77cd54c07'], + 'modulename': 'virsorter', + }), +] + +sanity_check_paths = { + 'files': ['bin/virsorter'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["virsorter --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb new file mode 100644 index 00000000000..13f73639e85 --- /dev/null +++ b/easybuild/easyconfigs/v/VirSorter2/VirSorter2-2.2.4-foss-2022a.eb @@ -0,0 +1,39 @@ +easyblock = 'PythonBundle' + +name = 'VirSorter2' +version = '2.2.4' + +homepage = 'https://github.com/jiarong/VirSorter2' +description = """VirSorter2 applies a multi-classifier, expert-guided approach to detect diverse DNA and + RNA virus genomes.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('ruamel.yaml', '0.17.21'), + ('snakemake', '7.22.0'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'source_urls': ['https://github.com/jiarong/VirSorter2/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['f9d1c291f773d9c4d70d7ec096e76c21208950d74d7bd5046da7c4a77cd54c07'], + 'modulename': 'virsorter', + }), +] + +sanity_check_paths = { + 'files': ['bin/virsorter'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["virsorter --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..7a40a510856 --- /dev/null +++ b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.0-GCC-11.2.0.eb @@ -0,0 +1,44 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# updated by Valentin Plugaru 2019-09-26 + +easyblock = 'CMakeMake' + +name = 'VirtualGL' +version = '3.0' + +homepage = 'https://virtualgl.org/' +description = """VirtualGL is an open source toolkit that gives any Linux or +Unix remote display software the ability to run OpenGL applications with full +hardware acceleration.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/VirtualGL/virtualgl/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d6e00a8d0596cafa67955d6211e0dab6c8aa8239bd718f7eca6eb0b032711f9b'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('libjpeg-turbo', '2.0.6'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('pocl', '1.8'), +] + +local_binaries = [ + 'cpustat', 'glreadtest', 'glxinfo', 'glxspheres64', 'nettest', 'tcbench', + 'vglclient', 'vglconfig', 'vglconnect', 'vglgenkey', 'vgllogin', 'vglrun', + 'vglserver_config' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib64', 'share', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1-GCC-12.3.0.eb b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..76f0487b449 --- /dev/null +++ b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1-GCC-12.3.0.eb @@ -0,0 +1,47 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# updated by Valentin Plugaru 2019-09-26 +# updated by Paul Melis 2022-10-07, 2023-08-18 + +easyblock = 'CMakeMake' + +name = 'VirtualGL' +version = '3.1' + +homepage = 'https://virtualgl.org/' +description = """VirtualGL is an open source toolkit that gives any Linux or +Unix remote display software the ability to run OpenGL applications with full +hardware acceleration.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://github.com/VirtualGL/virtualgl/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['d3d1f721dd9fa7408803b38fcee013483b75ae8bfbbdb84834a72df33ac848c8'] +patches = [] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('libjpeg-turbo', '2.1.5.1'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('pocl', '4.0'), + ('X11', '20230603'), +] + +local_binaries = [ + 'cpustat', 'glreadtest', 'glxinfo', 'glxspheres64', 'nettest', 'tcbench', + 'vglclient', 'vglconfig', 'vglconnect', 'vglgenkey', 'vgllogin', 'vglrun', + 'vglserver_config' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib64', 'share', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1.1-GCC-13.3.0.eb b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1.1-GCC-13.3.0.eb new file mode 100644 index 00000000000..72cd90736a4 --- /dev/null +++ b/easybuild/easyconfigs/v/VirtualGL/VirtualGL-3.1.1-GCC-13.3.0.eb @@ -0,0 +1,47 @@ +# Contribution from the Crick HPC team +# uploaded by J. Sassmannshausen +# updated by Valentin Plugaru 2019-09-26 +# updated by Paul Melis 2022-10-07, 2023-08-18 + +easyblock = 'CMakeMake' + +name = 'VirtualGL' +version = '3.1.1' + +homepage = 'https://virtualgl.org/' +description = """VirtualGL is an open source toolkit that gives any Linux or +Unix remote display software the ability to run OpenGL applications with full +hardware acceleration.""" + +toolchain = {'name': 'GCC', 'version': '13.3.0'} + +source_urls = ['https://github.com/VirtualGL/virtualgl/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['79c0d76993814d9ed9fdc29908de1cc6da08f41931bc8363084fdfae03f53ce8'] +patches = [] + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] + +dependencies = [ + ('libjpeg-turbo', '3.0.1'), + ('Mesa', '24.1.3'), + ('libGLU', '9.0.3'), + ('pocl', '6.0'), + ('X11', '20240607'), +] + +local_binaries = [ + 'cpustat', 'glreadtest', 'glxinfo', 'glxspheres64', 'nettest', 'tcbench', + 'vglclient', 'vglconfig', 'vglconnect', 'vglgenkey', 'vgllogin', 'vglrun', + 'vglserver_config' +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_binaries], + 'dirs': ['lib64', 'share', 'include'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/Virtuoso-opensource/Virtuoso-opensource-7.2.6.1-GCC-10.3.0.eb b/easybuild/easyconfigs/v/Virtuoso-opensource/Virtuoso-opensource-7.2.6.1-GCC-10.3.0.eb new file mode 100644 index 00000000000..01fc5ff1dce --- /dev/null +++ b/easybuild/easyconfigs/v/Virtuoso-opensource/Virtuoso-opensource-7.2.6.1-GCC-10.3.0.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 +# +## +easyblock = 'ConfigureMake' + +name = 'Virtuoso-opensource' +version = '7.2.6.1' + +homepage = 'https://github.com/openlink/virtuoso-opensource' +description = """Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data +Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform.""" +software_license = 'LicenseGPLv2' + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +sources = ['v%(version)s.tar.gz'] +source_urls = ['https://github.com/openlink/virtuoso-opensource/archive/refs/tags/'] +checksums = ['73dc3d0073d3d5694da075063b75a404649c027a1f5c635a25ede52713ff7942'] + +builddependencies = [ + ('Autotools', '20210128'), + ('flex', '2.6.4'), + ('Bison', '3.7.6'), + ('gperf', '3.1'), + ('gawk', '5.1.1'), +] + +dependencies = [ + ('OpenSSL', '1.1', '', SYSTEM), + ('libreadline', '8.1'), +] + +configure_cmd = './autogen.sh && ' +configure_cmd += './configure ' +configure_cmd += ' --enable-shared --disable-static' +configure_cmd += ' --disable-imagemagick' +configure_cmd += ' --enable-aio' +configure_cmd += ' --enable-bpel-vad' +configure_cmd += ' --enable-conductor-vad' +configure_cmd += ' --disable-dbpedia-vad' +configure_cmd += ' --enable-demo-vad' +configure_cmd += ' --enable-fct-vad' +configure_cmd += ' --enable-isparql-vad' +configure_cmd += ' --enable-ods-vad' +configure_cmd += ' --enable-rdfmappers-vad' +configure_cmd += ' --enable-rdb2rdf-vad' +configure_cmd += ' --enable-sparqldemo-vad' +configure_cmd += ' --enable-syncml-vad' +configure_cmd += ' --enable-tutorial-vad' +configure_cmd += ' --with-iodbc' +configure_cmd += ' --with-readline' +configure_cmd += ' --with-pthreads' +configure_cmd += ' --with-port=11111' + +# NOTE Rename the "isql" executable (the virtuoso client), because there may be another package +# unixODBC that provides an executable with the same name. +postinstallcmds = ["cd %(installdir)s/bin/ && mv isql isqlv"] + +sanity_check_paths = { + 'files': ['bin/virtuoso-t', 'bin/isqlv'], + 'dirs': ['lib', 'var'], +} + +sanity_check_commands = ["isqlv --help"] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-foss-2022a.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-foss-2022a.eb new file mode 100644 index 00000000000..adc8e91d926 --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.12.2-foss-2022a.eb @@ -0,0 +1,39 @@ +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': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('PyQt5', '5.15.5'), + ('matplotlib', '3.5.2'), # for kiwisolver + ('freetype', '2.12.1') +] + +use_pip = True + +exts_list = [ + ('freetype_py', '2.4.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-2.4.0.zip'], + 'checksums': ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'], + }), + ('hsluv', '5.0.3', { + 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], + }), + ('vispy', version, { + 'checksums': ['141c2ddccc1158555bc89f09010c4b1d754487e816357333f31e795a7146a024'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' 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/VisPy/VisPy-0.14.1-foss-2023a.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb new file mode 100644 index 00000000000..cc273eb0895 --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.14.1-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'VisPy' +version = '0.14.1' + +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': 'foss', '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') +] + +use_pip = True + +exts_list = [ + ('freetype_py', '2.4.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-2.4.0.zip'], + 'checksums': ['8ad81195d2f8f339aba61700cebfbd77defad149c51f59b75a2a5e37833ae12e'], + }), + ('hsluv', '5.0.3', { + 'checksums': ['2586bcb61d29d76e89e563a6836df24d86939961c9657f129a59f7617de45377'], + }), + ('vispy', version, { + 'checksums': ['249a50979fc00a8b65109283354dcf12cf415c1a5dcf9821e113f6e590b9b93c'], + 'use_pip': True + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-foss-2020b.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-foss-2020b.eb new file mode 100644 index 00000000000..8bdc452acc6 --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-foss-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'VisPy' +version = '0.6.6' + +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': 'foss', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyQt5', '5.15.1'), +] + +use_pip = True + +exts_list = [ + ('freetype_py', '2.2.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-2.2.0.zip'], + 'checksums': ['cf43716bc5246cd54a64b2238b942e8dc80b79eda92f814c720286fa6fab387a'], + }), + ('vispy', version, { + 'checksums': ['6f3c4d00be9e6761c046d520a86693d78a0925d47eeb2fc095e95dac776f74ee'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-intel-2020b.eb b/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-intel-2020b.eb new file mode 100644 index 00000000000..6ae981a0217 --- /dev/null +++ b/easybuild/easyconfigs/v/VisPy/VisPy-0.6.6-intel-2020b.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonBundle' + +name = 'VisPy' +version = '0.6.6' + +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': 'intel', 'version': '2020b'} + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('PyQt5', '5.15.1'), +] + +use_pip = True + +exts_list = [ + ('freetype_py', '2.2.0', { + 'modulename': 'freetype', + 'sources': ['freetype-py-2.2.0.zip'], + 'checksums': ['cf43716bc5246cd54a64b2238b942e8dc80b79eda92f814c720286fa6fab387a'], + }), + ('vispy', version, { + 'checksums': ['6f3c4d00be9e6761c046d520a86693d78a0925d47eeb2fc095e95dac776f74ee'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/Visit/Visit-3.4.1-foss-2023a.eb b/easybuild/easyconfigs/v/Visit/Visit-3.4.1-foss-2023a.eb new file mode 100644 index 00000000000..406d78fa312 --- /dev/null +++ b/easybuild/easyconfigs/v/Visit/Visit-3.4.1-foss-2023a.eb @@ -0,0 +1,64 @@ +easyblock = 'CMakeMake' + +name = 'Visit' +version = '3.4.1' + +homepage = 'https://github.com/visit-dav/visit' +description = """ +VisIt is an Open Source, interactive, scalable, visualization, animation +and analysis tool. From Unix, Windows or Mac workstations, users can +interactively visualize and analyze data ranging in scale from small +(<101 core) desktop-sized projects to large (>105 core) leadership-class +computing facility simulation campaigns. Users can quickly generate +visualizations, animate them through time, manipulate them with a +variety of operators and mathematical expressions, and save the +resulting images and animations for presentations. VisIt contains a rich +set of visualization features to enable users to view a wide variety of +data including scalar and vector fields defined on two- and +three-dimensional (2D and 3D) structured, adaptive and unstructured +meshes. Owing to its customizeable plugin design, VisIt is capabable of +visualizing data from over 120 different scientific data formats. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/visit-dav/visit/releases/download/v%(version)s/'] +sources = ['%(namelower)s%(version)s.tar.gz'] +checksums = ['942108cb294f4c9584a1628225b0be39c114c7e9e01805fb335d9c0b507689f5'] + +builddependencies = [('CMake', '3.26.3')] +dependencies = [ + ('zlib', '1.2.13'), + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libglvnd', '1.6.0'), + ('Qt5', '5.15.10'), + ('Qwt', '6.3.0'), + # Visit-3.4.1 needs VTK-9.2.x (not 9.3.x) - https://github.com/visit-dav/visit/issues/19547 + ('VTK', '9.2.6'), + ('FFmpeg', '6.0'), +] + +configopts = "-DVISIT_ZLIB_DIR=$EBROOTZLIB " +configopts += "-DVISIT_VTK_DIR=$EBROOTVTK -DVISIT_VTK_VERSION=$EBVERSIONVTK " +configopts += "-DVISIT_QWT_DIR=$EBROOTQWT " +configopts += "-DVISIT_QT_VERSION=$EBVERSIONQT5 -DVISIT_QT_DIR=$EBROOTQT5 " +configopts += "-DVISIT_OSMESA_DIR=$EBROOTMESA " +configopts += "-DVISIT_MESAGL_DIR=$EBROOTLIBGLVND " +configopts += "-DPYTHON_DIR=$EBROOTPYTHON " +configopts += "-DVISIT_PYTHON_SKIP_INSTALL=ON " +configopts += "-DVISIT_PARALLEL=ON -DVISIT_MPI_COMPILER=$MPICC -DVISIT_MPI_COMPILER_CXX=$MPICXX " +configopts += "-DOpenGL_GL_PREFERENCE=GLVND " + +# add missing include to fix make step +prebuildopts = "sed -i '23 a #include ' %(builddir)s/%(namelower)s%(version)s/src/gui/QvisStripChart.C && " + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['frontendlauncher', 'frontendlauncher.py', 'visit']], + 'dirs': ['%(version)s/bin'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-10.2.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..b23389e4e99 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-10.2.0.eb @@ -0,0 +1,42 @@ +## +# 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': '10.2.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.35')] + + +# 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/Voro++/Voro++-0.4.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..81555d53747 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-10.3.0.eb @@ -0,0 +1,42 @@ +## +# 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': '10.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.36.1')] + + +# 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/Voro++/Voro++-0.4.6-GCCcore-11.2.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..eb847209dbe --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-11.2.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': '11.2.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.37')] + + +# 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/Voro++/Voro++-0.4.6-GCCcore-11.3.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..dbf753f975a --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-11.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': '11.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.38')] + + +# 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/Voro++/Voro++-0.4.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1846de1ca64 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-12.2.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.2.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.39')] + + +# 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/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/Voro++/Voro++-0.4.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..5c2cb573ca2 --- /dev/null +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-13.2.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': '13.2.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/Voro++/Voro++-0.4.6-GCCcore-6.4.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-6.4.0.eb index 9d8d8d4d19c..769428b78d2 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-6.4.0.eb @@ -18,7 +18,10 @@ description = """ toolchain = {'name': 'GCCcore', 'version': '6.4.0'} toolchainopts = {'pic': True} -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] sources = [SOURCELOWER_TAR_GZ] checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-9.3.0.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-9.3.0.eb index b3ffe5c5492..10720c28f50 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-GCCcore-9.3.0.eb @@ -14,7 +14,10 @@ to analyze a system of particles.""" toolchain = {'name': 'GCCcore', 'version': '9.3.0'} toolchainopts = {'pic': True} -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] sources = [SOURCELOWER_TAR_GZ] checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] builddependencies = [('binutils', '2.34')] diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2016a.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2016a.eb index 7020ae2236a..32879b6ab34 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2016a.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2016a.eb @@ -14,10 +14,13 @@ toolchain = {'name': 'foss', 'version': '2016a'} toolchainopts = {'pic': True} sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] # Let's store the checksum in order to be sure it doesn't suddenly change -checksums = ['2338b824c3b7b25590e18e8df5d68af9'] +checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] # No configure skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2019b.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2019b.eb index e38391f1ed2..2bad5127b4a 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2019b.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-foss-2019b.eb @@ -14,7 +14,10 @@ to analyze a system of particles.""" toolchain = {'name': 'foss', 'version': '2019b'} toolchainopts = {'pic': True} -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] sources = [SOURCELOWER_TAR_GZ] checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2016a.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2016a.eb index d7bac431f70..9220692cbf9 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2016a.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2016a.eb @@ -14,10 +14,13 @@ toolchain = {'name': 'intel', 'version': '2016a'} toolchainopts = {'pic': True} sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] # Let's store the checksum in order to be sure it doesn't suddenly change -checksums = ['2338b824c3b7b25590e18e8df5d68af9'] +checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] # No configure skipsteps = ['configure'] diff --git a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2019b.eb b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2019b.eb index 2a1b177e02b..874bb558cc6 100644 --- a/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2019b.eb +++ b/easybuild/easyconfigs/v/Voro++/Voro++-0.4.6-intel-2019b.eb @@ -13,7 +13,10 @@ to analyze a system of particles.""" toolchain = {'name': 'intel', 'version': '2019b'} toolchainopts = {'pic': True} -source_urls = ['http://math.lbl.gov/voro++/download/dir/'] +source_urls = [ + 'http://math.lbl.gov/voro++/download/dir/', + 'https://download.lammps.org/thirdparty', +] sources = [SOURCELOWER_TAR_GZ] checksums = ['ef7970071ee2ce3800daa8723649ca069dc4c71cc25f0f7d22552387f3ea437e'] diff --git a/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb b/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb new file mode 100644 index 00000000000..19515db642a --- /dev/null +++ b/easybuild/easyconfigs/v/vConTACT2/vConTACT2-0.11.3-foss-2022a.eb @@ -0,0 +1,88 @@ +easyblock = 'PythonBundle' + +name = 'vConTACT2' +local_commit = 'c0413a6c92e86c58d624b4eb2e32687ceca89bd6' +version = '0.11.3' + +homepage = 'https://bitbucket.org/MAVERICLab/vcontact2' +description = """vConTACT2 is a tool to perform guilt-by-contig-association classification of + viral genomic sequence data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('networkx', '2.8.4'), + ('scikit-learn', '1.1.2'), + ('PyTables', '3.8.0'), + ('GitPython', '3.1.27'), # required by clusterone +] + +use_pip = True + +exts_list = [ + # click-log 0.1.8 is strictly required due assumption that click_log module provides 'init' + ('click-log', '0.1.8', { + 'checksums': ['57271008c12e2dc16d413373bedd7fd3ff17c57434e168650dc27dfb9c743392'], + }), + ('coreschema', '0.0.4', { + 'checksums': ['9503506007d482ab0867ba14724b93c18a33b22b6d19fb419ef2d239dd4a1607'], + }), + ('itypes', '1.2.0', { + 'checksums': ['af886f129dea4a2a1e3d36595a2d139589e4dd287f5cab0b40e799ee81570ff1'], + }), + ('uritemplate', '4.1.1', { + 'checksums': ['4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0'], + }), + ('coreapi', '2.3.3', { + 'checksums': ['46145fcc1f7017c076a2ef684969b641d18a2991051fddec9458ad3f78ffc1cb'], + }), + ('coreapi-cli', '1.0.9', { + 'checksums': ['d76b5320ea9ad04d922001ac8897b903a7a359c08a53822f819134c50aa22c5f'], + }), + ('iso8601', '1.1.0', { + 'checksums': ['32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f'], + }), + ('raven', '6.10.0', { + 'checksums': ['3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54'], + }), + ('terminaltables', '3.1.10', { + 'checksums': ['ba6eca5cb5ba02bba4c9f4f985af80c54ec3dccf94cfcd190154386255e47543'], + }), + ('tzdata', '2022.7', { + 'checksums': ['fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa'], + }), + ('pytz-deprecation-shim', '0.1.0.post0', { + 'sources': ['pytz_deprecation_shim-%(version)s.tar.gz'], + 'checksums': ['af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d'], + }), + ('tzlocal', '4.2', { + 'checksums': ['ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7'], + }), + ('clusterone', '0.15.3', { + 'checksums': ['ce253e778c68aa1c8f408ac2b835caca62d90b9c9206bf9f56819ee97b198cf9'], + # remove strict version requirements for required Python packages, + # remove requirement for enum34 (not needed when using Python >= 3.4) + 'preinstallopts': "sed -i 's/==/>=/g' setup.py && sed -i '/enum34/d' setup.py && ", + }), + (name, version, { + 'source_urls': ['https://bitbucket.org/MAVERICLab/vcontact2/get/'], + 'sources': [{'download_filename': '%s.tar.gz' % local_commit, 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['22890d2839d53140220bff8e0333f1dab562c16270cd86dfe88ff0836d8ba0b7'], + }), +] + + +sanity_check_commands = [ + 'coreapi --help', + 'just --help', + 'raven --help', + 'vcontact2 --help', + 'vcontact2_gene2genome --help', +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vaeda/vaeda-0.0.30-foss-2022a.eb b/easybuild/easyconfigs/v/vaeda/vaeda-0.0.30-foss-2022a.eb new file mode 100644 index 00000000000..81be3ccd7c0 --- /dev/null +++ b/easybuild/easyconfigs/v/vaeda/vaeda-0.0.30-foss-2022a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'vaeda' +# recent vaeda version are also available via https://test.pypi.org/project/vaeda, +# but downloading from there doesn't seem like a good idea... +local_commit = '36cdc53' +version = '0.0.30' + +homepage = 'https://github.com/kostkalab/vaeda' +description = """vaeda (variaitonal auto-encoder (vae) for doublet annotation (da)) is a Python package for doublet +annotation in single cell RNA-sequencing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('scikit-learn', '1.1.2'), + ('scanpy', '1.9.1'), + ('TensorFlow', '2.11.0'), + ('tensorflow-probability', '0.19.0'), +] + +use_pip = True + +exts_list = [ + ('kneed', '0.8.1', { + 'preinstallopts': "sed -i 's/install_requires = .*/install_requires = numpy;scipy/g' setup.cfg && ", + 'checksums': ['6addebca6a3742e51a173f4f40f789c704677c49bc0b02666e7d71152ca0e473'], + }), + (name, version, { + 'source_urls': ['https://github.com/kostkalab/vaeda/archive/'], + 'sources': [{'download_filename': '36cdc53.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}], + 'checksums': ['bef23d0496944a5b9c41645de0442db99ddb26e3fb69bda3437c00339832295e'], + }), +] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vawk/vawk-0.0.1-GCCcore-10.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/v/vawk/vawk-0.0.1-GCCcore-10.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..aef3494ecb2 --- /dev/null +++ b/easybuild/easyconfigs/v/vawk/vawk-0.0.1-GCCcore-10.2.0-Python-2.7.18.eb @@ -0,0 +1,35 @@ + +easyblock = 'PackedBinary' + +name = 'vawk' +version = '0.0.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/cc2qe/vawk' +description = """An awk-like VCF parser +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +builddependencies = [('binutils', '2.35')] +dependencies = [ + ('Python', '2.7.18'), +] + +source_urls = ['https://github.com/cc2qe/vawk/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['90cf5a57428ccaf3490ac98fc5c9f5f2c11ea2d1824188d9310bd34a8ef18d6f'] + +postinstallcmds = [ + "chmod +x %(installdir)s/%(namelower)s", + "sed -i '1 i#!/usr/bin/env python' %(installdir)s/%(namelower)s", +] + +sanity_check_paths = { + 'files': ['vawk'], + 'dirs': [], +} + +sanity_check_commands = ["vawk -h"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb new file mode 100644 index 00000000000..e6a30f87174 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.2.0.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.2' + +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': 'GCC', 'version': '10.2.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] +checksums = [ + 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz + '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch +] + +builddependencies = [ + ('binutils', '2.35'), + ('CMake', '3.18.4'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('Perl', '5.32.0'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.12'), + ('tabixpp', '1.1.0'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20141119'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +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' {} \; && " + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + +sanity_check_paths = { + 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["vcfremap"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb new file mode 100644 index 00000000000..72046e18f73 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-10.3.0.eb @@ -0,0 +1,68 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.2' + +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': 'GCC', 'version': '10.3.0'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] +checksums = [ + 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz + '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.12'), + ('tabixpp', '1.1.0'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20141119'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +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' {} \; && " + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + +sanity_check_paths = { + 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["vcfremap"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb index 96720191f53..c5cca78049f 100644 --- a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2-GCC-9.3.0-Python-3.8.2.eb @@ -15,10 +15,14 @@ toolchain = {'name': 'GCC', 'version': '9.3.0'} source_urls = [GITHUB_SOURCE] sources = ['v%(version)s.tar.gz'] -patches = ['vcflib-1.0.2_use-external-deps.patch'] +patches = [ + 'vcflib-1.0.2_use-external-deps.patch', + 'vcflib-1.0.2_fix-shared-linking.patch', +] checksums = [ 'a3ef230864328d96eb3b086bf5bbcc34d6699710c358444621f6c3e3f507c910', # v1.0.2.tar.gz '8f505c13b258b510b29768d1eaca5c77bc01cb083eec7866bc961a9b647f16d6', # vcflib-1.0.2_use-external-deps.patch + '3904fb7ad5d144bf1b6500c985c84c15a5e4ba5299763628de7965cb4efa97f7', # vcflib-1.0.2_fix-shared-linking.patch ] builddependencies = [ @@ -43,16 +47,21 @@ dependencies = [ ('smithwaterman', '20160702'), ] -preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f -regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +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 += " -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} sanity_check_paths = { 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], - 'dirs': [], + 'dirs': ['scripts'], } sanity_check_commands = ["vcfremap"] diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch new file mode 100644 index 00000000000..401204872b9 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.2_fix-shared-linking.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Ensure that shared library correctly links dependencies +diff -Nru vcflib-1.0.2/CMakeLists.txt vcflib-1.0.2_p2/CMakeLists.txt +--- vcflib-1.0.2/CMakeLists.txt 2022-03-29 15:31:28.000000000 +0100 ++++ vcflib-1.0.2_p2/CMakeLists.txt 2022-03-29 15:36:28.000000000 +0100 +@@ -197,6 +197,7 @@ + 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 ${LDFLAGS} ${LIBS}) + + # ---- Build htslib + # diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb new file mode 100644 index 00000000000..9a308f9a8be --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021a-R-4.1.0.eb @@ -0,0 +1,69 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.3' +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': 'foss', 'version': '2021a'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-1.0.3_use-external-deps.patch', + '%(name)s-1.0.3_fix-shared-linking.patch', +] +checksums = [ + '5fd05f46dc251a56a322809da92c93c85318036aa9ac39a2eefc4fbd39b5df6c', # v1.0.3.tar.gz + '89f99efb35eb3a5fdc5a7fdeb96c204b1af481194bcd788c939c600a985fa8a4', # vcflib-1.0.3_use-external-deps.patch + '2584e33e447c07a66eefc46263161873498910e19035f9beed1600cbd05fd4b0', # vcflib-1.0.3_fix-shared-linking.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('R', '4.1.0'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.12'), + ('tabixpp', '1.1.0'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20141119'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +preconfigopts = r"find %(builddir)s/%(name)s-%(version)s/src -type f -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' {} \; && " + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + +sanity_check_paths = { + 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["vcfremap"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb new file mode 100644 index 00000000000..24529752c7f --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3-foss-2021b-R-4.1.2.eb @@ -0,0 +1,70 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.3' +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': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_use-external-deps.patch', + 'vcflib-1.0.3_fix-shared-linking.patch', +] +checksums = [ + '5fd05f46dc251a56a322809da92c93c85318036aa9ac39a2eefc4fbd39b5df6c', # v1.0.3.tar.gz + '89f99efb35eb3a5fdc5a7fdeb96c204b1af481194bcd788c939c600a985fa8a4', # vcflib-1.0.3_use-external-deps.patch + '2584e33e447c07a66eefc46263161873498910e19035f9beed1600cbd05fd4b0', # vcflib-1.0.3_fix-shared-linking.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.22.1'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('Perl', '5.34.0'), + ('R', '4.1.2'), + ('XZ', '5.2.5'), + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.14'), + ('tabixpp', '1.1.0'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20141119'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), +] + +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' {} \; && " + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = {'PATH': ['scripts']} + +sanity_check_paths = { + 'files': ['bin/vcfannotate', 'bin/vcfcombine', 'lib/libvcflib.%s' % SHLIB_EXT], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["vcfremap"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch new file mode 100644 index 00000000000..305f5ae0c55 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_fix-shared-linking.patch @@ -0,0 +1,13 @@ +Author: Jasper Grimm +Ensure that shared library correctly links dependencies +diff -Nru vcflib-1.0.3/CMakeLists.txt vcflib-1.0.3_p2/CMakeLists.txt +--- vcflib-1.0.3/CMakeLists.txt 2022-03-29 15:31:38.000000000 +0100 ++++ vcflib-1.0.3_p2/CMakeLists.txt 2022-03-29 15:36:41.000000000 +0100 +@@ -244,6 +244,7 @@ + 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 ${LDFLAGS} ${LIBS}) + + # ---- Build htslib + # diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_use-external-deps.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_use-external-deps.patch new file mode 100644 index 00000000000..27bbdff35e2 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.3_use-external-deps.patch @@ -0,0 +1,110 @@ +use external dependencies +add target to build shared library +rename static library from libvcflib_static to libvcflib +author: Paul Jähne +--- vcflib.orig/CMakeLists.txt 2022-01-25 11:56:05.651519227 +0100 ++++ vcflib/CMakeLists.txt 2022-01-25 12:29:40.271651816 +0100 +@@ -31,7 +31,7 @@ + set_package_properties(Threads PROPERTIES TYPE REQUIRED) + + pkg_check_modules(HTSLIB htslib) +-pkg_check_modules(TABIXPP tabixpp) # Optional ++#pkg_check_modules(TABIXPP tabixpp) # Optional + + # ---- Build switches + +@@ -53,11 +53,11 @@ + # ---- Include files + + include_directories(include) +-include_directories(fastahack) +-include_directories(intervaltree) +-include_directories(smithwaterman) +-include_directories(multichoose) +-include_directories(filevercmp) ++#include_directories(fastahack) ++#include_directories(intervaltree) ++#include_directories(smithwaterman) ++#include_directories(multichoose) ++#include_directories(filevercmp) + + if(HTSLIB_LOCAL) + include_directories( +@@ -68,13 +68,14 @@ + + file(GLOB INCLUDES + src/*.h* +- multichoose/*.h* +- intervaltree/*.h* +- smithwaterman/*.h* +- fastahack/*.h* +- filevercmp/*.h*) ++ # multichoose/*.h* ++ # intervaltree/*.h* ++ # smithwaterman/*.h* ++ # fastahack/*.h* ++ # filevercmp/*.h*) ++ ) + +-add_library(vcflib STATIC ++set(SOURCES + src/Variant.h + src/split.h + src/pdflib.hpp +@@ -90,14 +91,14 @@ + src/split.cpp + src/ssw.hpp + src/ssw_cpp.hpp +- fastahack/Fasta.cpp +- smithwaterman/SmithWatermanGotoh.cpp +- smithwaterman/Repeats.cpp +- smithwaterman/IndelAllele.cpp +- smithwaterman/disorder.cpp +- smithwaterman/LeftAlign.cpp +- fsom/fsom.c +- filevercmp/filevercmp.c ++ # fastahack/Fasta.cpp ++ # smithwaterman/SmithWatermanGotoh.cpp ++ # smithwaterman/Repeats.cpp ++ # smithwaterman/IndelAllele.cpp ++ # smithwaterman/disorder.cpp ++ # smithwaterman/LeftAlign.cpp ++ # fsom/fsom.c ++ # filevercmp/filevercmp.c + ) + + set(BINS +@@ -239,6 +240,11 @@ + add_definitions(-DVCFLIB_VERSION="${BUILD_NUMBER}") + add_definitions(-DVERSION="${BUILD_NUMBER}") + ++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) ++ + # ---- Build htslib + # + # Note by default we use the distributed htslib! These are +@@ -276,8 +282,8 @@ + if (NOT BUILD_ONLY_LIB) + foreach(BIN ${BINS}) + add_executable(${BIN} src/${BIN}.cpp) +- target_include_directories(${BIN} PUBLIC ${TABIXPP_LIBRARIES} ${HTSLIB_INCLUDE_DIRS}) +- target_link_libraries(${BIN} vcflib tabixpp -DGIT_VERSION=0.9.0 ${TABIXPP_LIBRARIES} ${HTSLIB_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES} ${LIBLZMA_LIBRARIES} ${BZIP2_LIBRARIES}) ++ target_include_directories(${BIN} PUBLIC ${CPPFLAGS}) ++ target_link_libraries(${BIN} vcflib tabixpp fastahack sw fsom filevercmp -DGIT_VERSION=0.9.0 ${LDFLAGS} ${LIBS}) + endforeach(BIN ${BINS}) + install(TARGETS ${BINS} RUNTIME DESTINATION bin) + +@@ -365,7 +371,9 @@ + + # ---- Install + +-install(TARGETS vcflib ARCHIVE DESTINATION lib) ++#install(TARGETS vcflib ARCHIVE DESTINATION lib) ++install(TARGETS vcflib LIBRARY DESTINATION lib) ++install(TARGETS vcflib_static ARCHIVE DESTINATION lib) + + install(FILES ${INCLUDES} DESTINATION include) + diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..0ae4911c54b --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb @@ -0,0 +1,80 @@ +# 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': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_dep-fix.patch', +] +checksums = [ + {'v1.0.9.tar.gz': 'd17fcf8a34d65f1dfecf4b4290d058be744422b6baf34ecdef8ea912d59a4569'}, + {'vcflib-1.0.9_dep-fix.patch': '76bce1c9e40dab2ad94b455bb4487dfa24eeafcf50639db0852f5ca7a31331b6'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('R', '4.2.1'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.15.1'), + ('tabixpp', '1.1.2'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20151117'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), + ('WFA2', '2.3.3'), +] + +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'], + '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-foss-2022b-R-4.2.2.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022b-R-4.2.2.eb new file mode 100644 index 00000000000..d22ff1aee07 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022b-R-4.2.2.eb @@ -0,0 +1,81 @@ +# 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': 'foss', 'version': '2022b'} +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 = [ + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), + ('pybind11', '2.10.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('Perl', '5.36.0'), + ('R', '4.2.2'), + ('XZ', '5.2.7'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.17'), + ('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-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_dep-fix.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_dep-fix.patch new file mode 100644 index 00000000000..19320491c75 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_dep-fix.patch @@ -0,0 +1,178 @@ +Use our libraries instead of the ones in git submodules +Install libvcflib.a to lib directory instead of bin +Author: Petr Král (INUITS) +diff -u vcflib-1.0.9/CMakeLists.txt.orig vcflib-1.0.9/CMakeLists.txt +--- vcflib-1.0.9/CMakeLists.txt.orig 2023-02-11 17:41:26.000000000 +0100 ++++ vcflib-1.0.9/CMakeLists.txt 2023-08-17 13:59:24.793435374 +0200 +@@ -58,8 +58,8 @@ + find_package(Threads) + 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(HTSLIB htslib) # Optionally builds from contrib/ ++# pkg_check_modules(TABIXPP tabixpp) # Optionally builds from contrib/ + + # ---- Build switches + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +@@ -109,25 +109,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,12 +135,12 @@ + + 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 + src/vcf-c-api.cpp +@@ -158,14 +158,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 + ) + +@@ -175,7 +175,7 @@ + + add_library(vcflib STATIC + ${vcflib_SOURCE} +- ) ++) + + set(BINS + vcfecho +@@ -302,7 +302,7 @@ + vcfsort + vcf_strip_extra_headers + vcfvarstats +- ) ++) + + # ---- Get version + +@@ -363,7 +363,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") +@@ -403,7 +403,7 @@ + + set(vcflib_DEPS + CURL::libcurl +- ) ++) + + if (ZIG) + list(APPEND vcflib_DEPS ZIG-EXT) +@@ -414,15 +414,18 @@ + endif() + + set(vcflib_LIBS +- ${HTSLIB_LIBRARIES} + ${CURL_LIBRARIES} + ${ZLIB_LIBRARIES} + ${LIBLZMA_LIBRARIES} + ${BZIP2_LIBRARIES} +- ${TABIXPP_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${WFA_LINK_LIBRARIES} +- ${HTSLIB_LINK_LIBRARIES} ++ hts ++ tabixpp ++ fastahack ++ sw ++ fsom ++ filevercmp + ) + + if (ZIG) +@@ -510,7 +513,7 @@ + NAME zigvcf + COMMAND zig build test + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/zig +- ) ++ ) + endfunction() + + add_zigtest() +@@ -576,7 +579,7 @@ + + # ---- Install + +-install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + install(FILES ${INCLUDES} DESTINATION include) + 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/velocyto/velocyto-0.17.17-foss-2021a.eb b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2021a.eb new file mode 100644 index 00000000000..17e2ba963fb --- /dev/null +++ b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2021a.eb @@ -0,0 +1,47 @@ +easyblock = 'PythonBundle' + +name = 'velocyto' +version = '0.17.17' + +homepage = 'https://velocyto.org/velocyto.py/' +description = "Velocyto is a library for the analysis of RNA velocity." + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('matplotlib', '3.4.2'), + ('numba', '0.53.1'), + ('scikit-learn', '0.24.2'), + ('h5py', '3.2.1'), + ('Pysam', '0.16.0.1'), + +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.13', { + 'checksums': ['7b17b291322353f07c51598512d077e3731da0a048cfa8f738f3460d1ef0658d'], + }), + ('loompy', '3.0.6', { + 'checksums': ['58e9763b8ab1af2a4a0e3805d120458b5184fd2b0f3031657ecce33c63ca4c46'], + }), + (name, version, { + 'checksums': ['1ad65fc53292ce1970a70bc742d73491b370038e0b0065761303e787bf7ffe39'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/velocyto'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'velocyto', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb new file mode 100644 index 00000000000..7305196e2f8 --- /dev/null +++ b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'velocyto' +version = '0.17.17' + +homepage = 'https://velocyto.org/velocyto.py/' +description = "Velocyto is a library for the analysis of RNA velocity." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('numba', '0.56.4'), + ('scikit-learn', '1.1.2'), + ('h5py', '3.7.0'), + ('Pysam', '0.19.1'), +] + +use_pip = True + +exts_list = [ + ('numpy_groupies', '0.9.20', { + 'checksums': ['923a382d6bc6876384b58a9c0503b05b9d36a660f329695c2d33e4f93fcbbe3d'], + }), + ('loompy', '3.0.7', { + 'checksums': ['b5cdf7b54734c6bed3a181d11947af70af2c6e0dcadc02fd0e871df232faa8f4'], + }), + (name, version, { + 'checksums': ['1ad65fc53292ce1970a70bc742d73491b370038e0b0065761303e787bf7ffe39'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/velocyto'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = [ + 'velocyto', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2023a.eb b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2023a.eb new file mode 100644 index 00000000000..344d3ab3895 --- /dev/null +++ b/easybuild/easyconfigs/v/velocyto/velocyto-0.17.17-foss-2023a.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'velocyto' +version = '0.17.17' + +homepage = 'https://velocyto.org/velocyto.py/' +description = "Velocyto is a library for the analysis of RNA velocity." + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('numba', '0.58.1'), + ('scikit-learn', '1.3.1'), + ('h5py', '3.9.0'), + ('Pysam', '0.22.0'), + ('loompy', '3.0.7'), +] + +use_pip = True + +exts_list = [ + (name, version, { + 'checksums': ['1ad65fc53292ce1970a70bc742d73491b370038e0b0065761303e787bf7ffe39'], + }), +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/velocyto'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ['velocyto'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..ab4e77dea46 --- /dev/null +++ b/easybuild/easyconfigs/v/versioningit/versioningit-3.1.2-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'versioningit' +version = '3.1.2' + +homepage = 'https://github.com/jwodder/versioningit' +description = """versioningit is yet another Python packaging plugin for automatically determining your +package’s version based on your version control repository’s tags. +Unlike others, it allows easy customization of the version format and even lets you easily override +the separate functions used for version extraction & calculation.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] +dependencies = [('Python', '3.12.3')] + +sources = [SOURCE_TAR_GZ] +checksums = ['4db83ed99f56b07d83940bee3445ca46ca120d13b6b304cdb5fb44e5aa4edec0'] + +download_dep_fail = True +sanity_pip_check = True +use_pip = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/vigra/vigra-1.11.2-foss-2023a.eb b/easybuild/easyconfigs/v/vigra/vigra-1.11.2-foss-2023a.eb new file mode 100644 index 00000000000..6df5b9c0895 --- /dev/null +++ b/easybuild/easyconfigs/v/vigra/vigra-1.11.2-foss-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'CMakePythonPackage' + +name = 'vigra' +version = '1.11.2' + +homepage = 'https://ukoethe.github.io/vigra/' +description = """Vision with Generic Algorithms is an image processing and analysis library +that puts its main emphasis on customizable algorithms and data structures.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/ukoethe/vigra/archive/'] +sources = ['Version-1-11-2.tar.gz'] +checksums = ['4841936f5c3c137611ec782e293d961df29d3b5b70ade8cb711374de0f4cb5d3'] + +builddependencies = [ + ('CMake', '3.26.3'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Boost.Python', '1.82.0'), + ('libjpeg-turbo', '2.1.5.1'), + ('OpenJPEG', '2.5.0'), + ('LibTIFF', '4.5.0'), + ('libpng', '1.6.39'), + ('OpenEXR', '3.1.7'), + ('HDF5', '1.14.0'), + ('FFTW', '3.3.10'), + ('nose3', '1.3.8'), +] + +# Fix python files path in make install step +_py_path = "%(builddir)s/%(name)s-Version-1-11-2/config/FindVIGRANUMPY_DEPENDENCIES.cmake" +_py_add = "SET(VIGRANUMPY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python%(pyshortver)s/site-packages)" +preinstallopts = "sed -i '90,91d' %s && " % _py_path +preinstallopts += "sed -i '94d' %s && " % _py_path +preinstallopts += r"sed -i '89 a\%s' %s && " % (_py_add, _py_path) + +sanity_check_paths = { + 'files': ['bin/vigra-config'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/vigra'], +} + +sanity_check_commands = ["vigra-config --version", "python -c 'import vigra'"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/v/virtualenv/virtualenv-20.23.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.23.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c36c435d1da --- /dev/null +++ b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.23.1-GCCcore-12.3.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'virtualenv' +version = '20.23.1' + +homepage = 'https://github.com/pypa/virtualenv' +description = "A tool for creating isolated virtual python environments." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('distlib', '0.3.6', { + 'checksums': ['14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46'], + }), + ('filelock', '3.12.2', { + 'checksums': ['002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81'], + }), + ('platformdirs', '3.8.0', { + 'checksums': ['b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc'], + }), + (name, version, { + 'checksums': ['8ff19a38c1021c742148edc4f81cb43d7f8c6816d2ede2ab72af5b84c749ade1'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/virtualenv/virtualenv-20.24.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.24.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2820042ba9d --- /dev/null +++ b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.24.6-GCCcore-13.2.0.eb @@ -0,0 +1,44 @@ +easyblock = 'PythonBundle' + +name = 'virtualenv' +version = '20.24.6' + +homepage = 'https://github.com/pypa/virtualenv' +description = "A tool for creating isolated virtual python environments." + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.40'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('distlib', '0.3.7', { + 'checksums': ['9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8'], + }), + ('filelock', '3.13.0', { + 'checksums': ['63c6052c82a1a24c873a549fbd39a26982e8f35a3016da231ead11a5be9dad44'], + }), + ('platformdirs', '3.11.0', { + 'checksums': ['cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3'], + }), + (name, version, { + 'checksums': ['02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/virtualenv/virtualenv-20.26.2-GCCcore-13.3.0.eb b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.26.2-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..65f1ced6cae --- /dev/null +++ b/easybuild/easyconfigs/v/virtualenv/virtualenv-20.26.2-GCCcore-13.3.0.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonBundle' + +name = 'virtualenv' +version = '20.26.2' + +homepage = 'https://github.com/pypa/virtualenv' +description = "A tool for creating isolated virtual python environments." + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.42'), + ('hatchling', '1.24.2'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('distlib', '0.3.8', { + 'checksums': ['1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64'], + }), + ('filelock', '3.15.1', { + 'checksums': ['58a2549afdf9e02e10720eaa4d4470f56386d7a6f72edd7d0596337af8ed7ad8'], + }), + ('platformdirs', '4.2.2', { + 'checksums': ['38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3'], + }), + (name, version, { + 'checksums': ['82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_check_commands = ["virtualenv --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/visdom/visdom-0.2.4-foss-2022a.eb b/easybuild/easyconfigs/v/visdom/visdom-0.2.4-foss-2022a.eb new file mode 100644 index 00000000000..213fb90e29a --- /dev/null +++ b/easybuild/easyconfigs/v/visdom/visdom-0.2.4-foss-2022a.eb @@ -0,0 +1,42 @@ +easyblock = 'PythonBundle' + +name = 'visdom' +version = '0.2.4' + +homepage = 'https://github.com/fossasia/visdom' +description = """ +A flexible tool for creating, organizing, and sharing visualizations of live, +rich data. Supports Torch and Numpy.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), + ('Pillow-SIMD', '9.2.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('tornado', '6.2', { + 'checksums': ['9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13'], + }), + ('jsonpointer', '2.3', { + 'checksums': ['97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a'], + }), + ('jsonpatch', '1.32', { + 'checksums': ['b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2'], + }), + ('websocket-client', '1.5.1', { + 'modulename': 'websocket', + 'checksums': ['3f09e6d8230892547132177f575a4e3e73cfdf06526e20cc02aa1c3b47184d40'], + }), + (name, version, { + 'checksums': ['84a911d3c8814a056d54812b381bd938cb44bcfc503a85fe0f701502bb720574'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb b/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb new file mode 100644 index 00000000000..e06d4354bf0 --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14-foss-2022a.eb @@ -0,0 +1,47 @@ +# Author: Denis Kristak (Inuits) + +easyblock = 'PythonPackage' + +name = 'vispr' +version = '0.4.14' + +homepage = 'https://pypi.org/project/vispr/' + +description = """ +VISPR - A visualization framework for CRISPR data. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'vispr-0.4.14_fix-imports.patch', + 'vispr-0.4.14_fix-yaml-load.patch', +] +checksums = [ + {'vispr-0.4.14.tar.gz': 'dc2cf6ac9c8930b0f1f1b3a2b7f57bfae180b2ac3674060123fd2d7fe10ccd82'}, + {'vispr-0.4.14_fix-imports.patch': '2744d5636ebd6849fb0fc99ff102a8a0256bec3e592c323c24132f1e694baf67'}, + {'vispr-0.4.14_fix-yaml-load.patch': '6b994103c621fafc084fc6c11f966367ffddc36ac20c0f9fc44ef0bb4360f977'}, +] + +dependencies = [ + ('Python', '3.10.4'), + ('Flask', '2.2.2'), + ('SciPy-bundle', '2022.05'), + ('PyYAML', '6.0'), + ('scikit-learn', '1.1.2'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': ['bin/vispr'], + 'dirs': [], +} + +sanity_check_commands = ["vispr --help"] + +sanity_pip_check = True + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch new file mode 100644 index 00000000000..162193ecf1c --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-imports.patch @@ -0,0 +1,26 @@ +fix import statement for pandas and Jinja2 +author: Denis Kristak (INUITS) + Kenneth Hoste (HPC-UGent) +diff -ru vispr-0.4.14.orig/vispr/results/rna.py vispr-0.4.14/vispr/results/rna.py +--- vispr-0.4.14.orig/vispr/results/rna.py 2016-08-11 09:16:23.000000000 +0200 ++++ vispr-0.4.14/vispr/results/rna.py 2023-04-10 19:19:07.488661966 +0200 +@@ -11,7 +11,7 @@ + + from flask import render_template + import pandas as pd +-from pandas.io.common import EmptyDataError ++from pandas.errors import EmptyDataError + import numpy as np + from sklearn.decomposition import PCA + from scipy.cluster.hierarchy import average, leaves_list, dendrogram +diff -ru vispr-0.4.14.orig/vispr/server.py vispr-0.4.14/vispr/server.py +--- vispr-0.4.14.orig/vispr/server.py 2015-11-08 00:47:23.000000000 +0100 ++++ vispr-0.4.14/vispr/server.py 2023-04-10 19:25:06.417148288 +0200 +@@ -10,7 +10,7 @@ + + import numpy as np + from flask import Flask, render_template, request, session, abort +-from jinja2 import Markup ++from markupsafe import Markup + import yaml + + from vispr import __version__ diff --git a/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch new file mode 100644 index 00000000000..16d9b65d1a1 --- /dev/null +++ b/easybuild/easyconfigs/v/vispr/vispr-0.4.14_fix-yaml-load.patch @@ -0,0 +1,35 @@ +fix use of yaml.load, 'Loader' argument is required in PyYAML >= 6.0 +author: Kenneth Hoste (HPC-UGent) +diff -ru vispr-0.4.14.orig/vispr/cli.py vispr-0.4.14/vispr/cli.py +--- vispr-0.4.14.orig/vispr/cli.py 2017-02-15 14:38:22.000000000 +0100 ++++ vispr-0.4.14/vispr/cli.py 2023-04-10 19:26:01.251360284 +0200 +@@ -37,7 +37,7 @@ + print("Loading data.") + for path in configs: + with open(path) as f: +- config = yaml.load(f) ++ config = yaml.load(f, Loader=yaml.Loader) + try: + app.screens.add(config, parentdir=os.path.dirname(path)) + except KeyError as e: +@@ -91,7 +91,7 @@ + os.makedirs(directory) + + with open(configpath) as f: +- screen = Screen(yaml.load(f), parentdir=os.path.dirname(configpath)) ++ screen = Screen(yaml.load(f, Loader=yaml.Loader), parentdir=os.path.dirname(configpath)) + + def write(json, name): + with open(prefix + name + ".vega.json", "w") as out: +diff -ru vispr-0.4.14.orig/vispr/server.py vispr-0.4.14/vispr/server.py +--- vispr-0.4.14.orig/vispr/server.py 2015-11-08 00:47:23.000000000 +0100 ++++ vispr-0.4.14/vispr/server.py 2023-04-10 19:25:06.417148288 +0200 +@@ -20,7 +20,7 @@ + app.jinja_env.lstrip_blocks = True + + with open(os.path.join(os.path.dirname(__file__), "captions.yaml")) as f: +- CAPTIONS = yaml.load(f) ++ CAPTIONS = yaml.load(f, Loader=yaml.Loader) + + + @app.route("/ping") diff --git a/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb b/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb new file mode 100644 index 00000000000..cdcc0a4be16 --- /dev/null +++ b/easybuild/easyconfigs/v/vitessce-python/vitessce-python-20230222-foss-2022a.eb @@ -0,0 +1,88 @@ +# updated: Denis Kristak (INUITS) +easyblock = 'PythonBundle' + +name = 'vitessce-python' +version = '20230222' +local_commit = '7bd0a00' + +homepage = 'https://github.com/vitessce/vitessce-python' +description = """Python API and Jupyter widget facilitating interactive +visualization of spatial single-cell data with Vitessce.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('zarr', '2.13.3'), + ('SciPy-bundle', '2022.05'), + ('aiohttp', '3.8.3'), + ('dask', '2022.10.0'), + ('h5py', '3.7.0'), + ('scikit-image', '0.19.3'), +] + +use_pip = True +sanity_pip_check = True + +local_hatchling_preinstallopts = "sed -i 's|packaging>=21.3|packaging>=20.9|g' PKG-INFO && " +local_hatchling_preinstallopts += "sed -i 's|packaging>=21.3|packaging>=20.9|g' src/hatchling/ouroboros.py && " + +exts_list = [ + ('natsort', '8.2.0', { + 'checksums': ['57f85b72c688b09e053cdac302dd5b5b53df5f73ae20b4874fcbffd8bf783d11'], + }), + ('pathspec', '0.10.1', { + 'checksums': ['7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d'], + }), + ('fsspec', '2023.1.0', { + 'checksums': ['fbae7f20ff801eb5f7d0bedf81f25c787c0dfac5e982d98fa3884a9cde2b5411'], + }), + ('hatchling', '1.11.1', { + 'preinstallopts': local_hatchling_preinstallopts, + 'checksums': ['9f84361f70cf3a7ab9543b0c3ecc64211ed2ba8a606a71eb6a473c1c9b08e1d0'], + }), + ('negspy', '0.2.24', { + 'checksums': ['c3077f9a4616f597e4f7d87d7d93cd7c8a1c8aab25a1561ba21072e577137c72'], + }), + ('mypy_extensions', '1.0.0', { + 'checksums': ['75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782'], + }), + ('hatch-fancy-pypi-readme', '22.8.0', { + 'sources': [{ + 'download_filename': 'hatch_fancy_pypi_readme-%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a'], + }), + ('hatch-vcs', '0.3.0', { + 'sources': [{ + 'download_filename': 'hatch_vcs-%(version)s.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee'], + }), + ('black', '23.1.0', { + 'preinstallopts': "sed -i 's|packaging>=22.0|packaging>=20.9|g' pyproject.toml && ", + 'checksums': ['b0bd97bea8903f5a2ba7219257a44e3f1f9d00073d6cc1add68f0beec69692ac'], + }), + ('anndata', '0.8.0', { + 'checksums': ['94d2cc6f76c0317c0ac28564e3092b313b7ad19c737d66701961f3e620b9066e'], + }), + ('ome-zarr', '0.2.1', { + 'checksums': ['7e1c0304982252bcb5fd0e3b68ff67e0aca09b3928f78fe090f2a48e46576ba4'], + }), + ('tifffile', '2022.10.10', { + 'checksums': ['50b61ba943b866d191295bc38a00191c9fdab23ece063544c7f1a264e3f6aa8e'], + }), + (name, version, { + 'modulename': 'vitessce', + 'source_urls': ['https://github.com/vitessce/vitessce-python/archive/'], + 'sources': [{ + 'download_filename': '7bd0a00.tar.gz', + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['4d21b2eb99d61f08ba5c5a068414a07e667d896d0a2908470de2a55bd997092f'], + }), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..e43d614967d --- /dev/null +++ b/easybuild/easyconfigs/v/vitessceR/vitessceR-0.99.0-20230110-foss-2022a-R-4.2.1.eb @@ -0,0 +1,58 @@ +easyblock = 'Bundle' + +name = 'vitessceR' +# the github repo has no releases / tags, that's why we have to use commit... +version = '0.99.0-20230110' +versionsuffix = '-R-%(rver)s' +local_commit = '8c67168' + +homepage = 'https://github.com/vitessce/vitessceR' +description = "Vitessce is a visual integration tool for exploration of spatial single-cell experiments." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('R', '4.2.1'), + ('R-bundle-Bioconductor', '3.15', versionsuffix), + ('libsodium', '1.0.18'), +] + +exts_defaultclass = 'RPackage' +exts_filter = ("R -q --no-save", "library(%(ext_name)s)") + +exts_default_options = { + 'source_urls': [ + 'https://cran.r-project.org/src/contrib/', + 'https://cran.rstudio.com/src/contrib/', + 'https://cran.r-project.org/src/contrib/Archive/%(name)s/', + ], + 'source_tmpl': '%(name)s_%(version)s.tar.gz', +} + +exts_list = [ + ('sodium', '1.2.1', { + 'checksums': ['f76e98969710af8b6c7c7decf63706d91185eebf8a266475b554d5ad95f803a8'], + }), + ('plumber', '1.2.1', { + 'checksums': ['6ffc13e5ce1ff7ec81f6a4ab04eb1cb9f6da4004cf205ba3098d2ec4a83f1ecc'], + }), + (name, version, { + 'source_urls': ['https://github.com/vitessce/vitessceR/archive/'], + 'sources': [{ + 'download_filename': '%s.tar.gz' % local_commit, + 'filename': '%(name)s-%(version)s.tar.gz' + }], + 'checksums': ['3a8805f989b28820e23e2c2578838fe3231e2ee3cb0051559787fe2d0eb27256'], + }), +] + +modextrapaths = { + 'R_LIBS_SITE': '', +} + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vorbis-tools/vorbis-tools-1.4.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/v/vorbis-tools/vorbis-tools-1.4.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..da06c6c4d4f --- /dev/null +++ b/easybuild/easyconfigs/v/vorbis-tools/vorbis-tools-1.4.2-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'vorbis-tools' +version = '1.4.2' + +homepage = 'https://xiph.org/vorbis/' +description = """Command-line tools for creating and playing Ogg Vorbis files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.osuosl.org/pub/xiph/releases/vorbis/'] +sources = [SOURCE_TAR_GZ] +checksums = ['db7774ec2bf2c939b139452183669be84fda5774d6400fc57fde37f77624f0b0'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('libvorbis', '1.3.7'), + ('FLAC', '1.3.3'), +] + +local_bins = ['oggdec', 'oggenc', 'ogginfo', 'vorbiscomment'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_bins] + ['bin/vcut'], + 'dirs': [], +} + +sanity_check_commands = ["%s --help" % x for x in local_bins] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb new file mode 100644 index 00000000000..a60396913bf --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.10.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.10' + +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', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.21', { + 'modulename': 'vsc.install', + 'checksums': ['5b9073cc653577ab99a295bcacbd5260d7425251afef4471e9532a00157b0d9e'], + }), + ('vsc-base', '3.4.3', { + 'modulename': 'vsc.utils', + 'checksums': ['11d21d8795c17423febc500d4ba0d987c9e0b2cadb6ded75df34ea4dd77305b4'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['e1f4cd1583983a2e6e6adf75ef2fb6cf5f9fa1dee6370d4540bd3d45465e9fe1'], + }), +] + +# 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/v/vsc-mympirun/vsc-mympirun-5.2.11.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.11.eb new file mode 100644 index 00000000000..adcd535ddf7 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.11.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.11' + +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', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.22', { + 'modulename': 'vsc.install', + 'checksums': ['bd5cc33f3ef67f86aa7827b12b24d66fe5b17995075c1fed3cdc8440155378d3'], + }), + ('vsc-base', '3.4.3', { + 'modulename': 'vsc.utils', + 'checksums': ['11d21d8795c17423febc500d4ba0d987c9e0b2cadb6ded75df34ea4dd77305b4'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['cadd3371faaebc62c67cfb5487c1dbad1e942cbb523336d07089a39fce775a88'], + }), +] + +# 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/v/vsc-mympirun/vsc-mympirun-5.2.7.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.7.eb new file mode 100644 index 00000000000..cfd216ab246 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.7.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.7' + +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', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.0', { + 'checksums': ['672d8ebee84921862110f23fcec2acea191ef58543d34dfe9ef3d9f13c31cddf'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.19', { + 'modulename': 'vsc.install', + 'checksums': ['e335f09430c4495d681a198c3893cf3f0755ca881b78f547f1767b3f51ada223'], + }), + ('vsc-base', '3.4.0', { + 'modulename': 'vsc.utils', + 'checksums': ['20720e119f5b2d4b6d32f48145050d50aa9e2f15d686bd62dd41b09814395965'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['fc3190a0dc4fb0fbe554f782d90f26d50730f4cf3e0778c6214682677a75a100'], + }), +] + +# 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/v/vsc-mympirun/vsc-mympirun-5.2.9.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.9.eb new file mode 100644 index 00000000000..a490eb80608 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.2.9.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.2.9' + +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', '0.18.2', { + 'checksums': ['b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d'], + }), + ('pbr', '5.8.1', { + 'checksums': ['66bc5a34912f408bb3925bf21231cb6f59206267b7f63f3503ef865c1a292e25'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '4.0.3', { + 'checksums': ['7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.17.21', { + 'modulename': 'vsc.install', + 'checksums': ['5b9073cc653577ab99a295bcacbd5260d7425251afef4471e9532a00157b0d9e'], + }), + ('vsc-base', '3.4.3', { + 'modulename': 'vsc.utils', + 'checksums': ['11d21d8795c17423febc500d4ba0d987c9e0b2cadb6ded75df34ea4dd77305b4'], + }), + (name, version, { + 'modulename': 'vsc', + 'checksums': ['31e2065f2ad09c10ae81ebe4ffcda39350ba40ded022662a2f2642849c282a76'], + }), +] + +# 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/v/vsc-mympirun/vsc-mympirun-5.3.0.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.0.eb new file mode 100644 index 00000000000..1cc889dea64 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.3.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', '0.18.3', { + 'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'], + }), + ('pbr', '5.11.1', { + 'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '5.0.1', { + 'checksums': ['e3ea505c03babf7977fd21674a69ad328053d414f05e6433c30d8fa14a534a6b'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.18.0', { + 'modulename': 'vsc.install', + 'checksums': ['f5922e8e28fcf22693b7464a2142b4c16e5f42d5f868a56d340ad030f7e3d52b'], + }), + ('vsc-base', '3.5.2', { + 'modulename': 'vsc.utils', + 'checksums': ['1c41a69d4ab9bf6eda02007a569394cfcf19b85fbbc042c7678d1b684cbe59da'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['ddf0e3e9ea6ce91dcec70ab31ffb6d8f6bc5cbb7fee72a8add5bda6f2b64aacb'], + }), +] + +# 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/v/vsc-mympirun/vsc-mympirun-5.3.1.eb b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.1.eb new file mode 100644 index 00000000000..944357dedd6 --- /dev/null +++ b/easybuild/easyconfigs/v/vsc-mympirun/vsc-mympirun-5.3.1.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'vsc-mympirun' +version = '5.3.1' + +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', '0.18.3', { + 'checksums': ['34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307'], + }), + ('pbr', '5.11.1', { + 'checksums': ['aefc51675b0b533d56bb5fd1c8c6c0522fe31896679882e1c4c63d5e4a0fccb3'], + }), + ('funcsigs', '1.0.2', { + 'checksums': ['a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50'], + }), + ('mock', '5.0.2', { + 'checksums': ['06f18d7d65b44428202b145a9a36e99c2ee00d1eb992df0caf881d4664377891'], + }), + ('IPy', '1.01', { + 'modulename': 'IPy', + 'checksums': ['edeca741dea2d54aca568fa23740288c3fe86c0f3ea700344571e9ef14a7cc1a'], + }), + ('vsc-install', '0.18.5', { + 'modulename': 'vsc.install', + 'checksums': ['90e00ddde9d394fdb5426f6f4d466425c69acded3fdf25ce73a0b345f6afc036'], + }), + ('vsc-base', '3.5.3', { + 'modulename': 'vsc.utils', + 'checksums': ['7c4df43fc0508d6857acf8127deb1088b899cd364a14c688dac2d61617579ba9'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['67fb89855044678e595fef39415aafdd26a1a9a4c89b3f89a4d34a1824df7bcf'], + }), +] + +# 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/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/v/vt/vt-0.57721-GCC-10.2.0.eb b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.2.0.eb new file mode 100644 index 00000000000..f5b37df4b68 --- /dev/null +++ b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.2.0.eb @@ -0,0 +1,72 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) + +easyblock = 'MakeCp' + +name = 'vt' +version = '0.57721' + +homepage = 'https://genome.sph.umich.edu/wiki/Vt' +description = """A tool set for short variant discovery in genetic sequence data.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +github_account = 'atks' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.57721_use-external-libs.patch', + '%(name)s-0.57721_fix-Rmath-includes.patch', + '%(name)s-0.57721_avoid-implicit-conversion.patch', + '%(name)s-0.57721_fail-on-test-error.patch', + '%(name)s-0.57721_update_htsutils.patch', +] +checksums = [ + '8f06d464ec5458539cfa30f81a034f47fe7f801146fe8ca80c14a3816b704e17', # 0.57721.tar.gz + '5a31713ae7c5febf850eec294dbba45b6b240d832cb94bdfe9ee695fd13e45bb', # vt-0.57721_use-external-libs.patch + '663525f5180a66d8817f271a69de1884576e2414d46b7ba93029d78f71d5b14c', # vt-0.57721_fix-Rmath-includes.patch + '56d874d5c7d488761f25afb4ee3717c88dfd959ed76efb75a8531b8428d30ccd', # vt-0.57721_avoid-implicit-conversion.patch + '4146282eb6ec852485f5a16e647da9c3b210450ceb5519b9b4a98bc52124469a', # vt-0.57721_fail-on-test-error.patch + '1c170b7ba2a4d392830f64392075ff75bbbc29137fe9f2922aeb7345e2ab6298', # vt-0.57721_update_htsutils.patch +] + +# checksums = [ +# '8f06d464ec5458539cfa30f81a034f47fe7f801146fe8ca80c14a3816b704e17', # 0.57721.tar.gz +# '5a31713ae7c5febf850eec294dbba45b6b240d832cb94bdfe9ee695fd13e45bb', # vt-0.57721_use-external-libs.patch +# '663525f5180a66d8817f271a69de1884576e2414d46b7ba93029d78f71d5b14c', # vt-0.57721_fix-Rmath-includes.patch +# '56d874d5c7d488761f25afb4ee3717c88dfd959ed76efb75a8531b8428d30ccd', # vt-0.57721_avoid-implicit-conversion.patch +# 'ba2cfc24a88a4291b2da634db49e18199c379eb95d3b3acac59556bc68c292df', # vt-0.57721_update-faidx.patch +# '4146282eb6ec852485f5a16e647da9c3b210450ceb5519b9b4a98bc52124469a', # vt-0.57721_fail-on-test-error.patch +# ] + +builddependencies = [ + ('binutils', '2.35'), + ('TCLAP', '1.2.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.72.0'), + ('PCRE', '8.44'), + ('PCRE2', '10.35'), + ('libdeflate', '1.7'), + ('libRmath', '4.1.0'), + ('LIBSVM', '3.25'), + ('HTSlib', '1.12'), +] + +runtest = 'test' + +files_to_copy = [ + (['vt'], 'bin'), + (['*.h'], 'include/vt'), + 'test', 'README.md', 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/vt'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb new file mode 100644 index 00000000000..bee76f307bb --- /dev/null +++ b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-10.3.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) + +easyblock = 'MakeCp' + +name = 'vt' +version = '0.57721' + +homepage = 'https://genome.sph.umich.edu/wiki/Vt' +description = """A tool set for short variant discovery in genetic sequence data.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +github_account = 'atks' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.57721_use-external-libs.patch', + '%(name)s-0.57721_fix-Rmath-includes.patch', + '%(name)s-0.57721_avoid-implicit-conversion.patch', + '%(name)s-0.57721_fail-on-test-error.patch', + '%(name)s-0.57721_update_htsutils.patch', +] +checksums = [ + '8f06d464ec5458539cfa30f81a034f47fe7f801146fe8ca80c14a3816b704e17', # 0.57721.tar.gz + '5a31713ae7c5febf850eec294dbba45b6b240d832cb94bdfe9ee695fd13e45bb', # vt-0.57721_use-external-libs.patch + '663525f5180a66d8817f271a69de1884576e2414d46b7ba93029d78f71d5b14c', # vt-0.57721_fix-Rmath-includes.patch + '56d874d5c7d488761f25afb4ee3717c88dfd959ed76efb75a8531b8428d30ccd', # vt-0.57721_avoid-implicit-conversion.patch + '4146282eb6ec852485f5a16e647da9c3b210450ceb5519b9b4a98bc52124469a', # vt-0.57721_fail-on-test-error.patch + '1c170b7ba2a4d392830f64392075ff75bbbc29137fe9f2922aeb7345e2ab6298', # vt-0.57721_update_htsutils.patch +] + +builddependencies = [ + ('binutils', '2.36.1'), + ('TCLAP', '1.2.5'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.76.0'), + ('PCRE', '8.44'), + ('PCRE2', '10.36'), + ('libdeflate', '1.8'), + ('libRmath', '4.2.0'), + ('LIBSVM', '3.25'), + ('HTSlib', '1.12'), +] + +runtest = 'test' + +files_to_copy = [ + (['vt'], 'bin'), + (['*.h'], 'include/vt'), + 'test', 'README.md', 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/vt'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-11.2.0.eb b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-11.2.0.eb new file mode 100644 index 00000000000..233554e931d --- /dev/null +++ b/easybuild/easyconfigs/v/vt/vt-0.57721-GCC-11.2.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) + +easyblock = 'MakeCp' + +name = 'vt' +version = '0.57721' + +homepage = 'https://genome.sph.umich.edu/wiki/Vt' +description = """A tool set for short variant discovery in genetic sequence data.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'atks' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +patches = [ + '%(name)s-0.57721_use-external-libs.patch', + '%(name)s-0.57721_fix-Rmath-includes.patch', + '%(name)s-0.57721_avoid-implicit-conversion.patch', + '%(name)s-0.57721_fail-on-test-error.patch', + '%(name)s-0.57721_update_htsutils.patch', +] +checksums = [ + '8f06d464ec5458539cfa30f81a034f47fe7f801146fe8ca80c14a3816b704e17', # 0.57721.tar.gz + '5a31713ae7c5febf850eec294dbba45b6b240d832cb94bdfe9ee695fd13e45bb', # vt-0.57721_use-external-libs.patch + '663525f5180a66d8817f271a69de1884576e2414d46b7ba93029d78f71d5b14c', # vt-0.57721_fix-Rmath-includes.patch + '56d874d5c7d488761f25afb4ee3717c88dfd959ed76efb75a8531b8428d30ccd', # vt-0.57721_avoid-implicit-conversion.patch + '4146282eb6ec852485f5a16e647da9c3b210450ceb5519b9b4a98bc52124469a', # vt-0.57721_fail-on-test-error.patch + '1c170b7ba2a4d392830f64392075ff75bbbc29137fe9f2922aeb7345e2ab6298', # vt-0.57721_update_htsutils.patch +] + +builddependencies = [ + ('binutils', '2.37'), + ('TCLAP', '1.2.5'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('bzip2', '1.0.8'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PCRE2', '10.37'), + ('libdeflate', '1.8'), + ('libRmath', '4.1.2'), + ('LIBSVM', '3.25'), + ('HTSlib', '1.14'), +] + +runtest = 'test' + +files_to_copy = [ + (['vt'], 'bin'), + (['*.h'], 'include/vt'), + 'test', 'README.md', 'LICENSE', +] + +sanity_check_paths = { + 'files': ['bin/vt'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vt/vt-0.57721_update_htsutils.patch b/easybuild/easyconfigs/v/vt/vt-0.57721_update_htsutils.patch new file mode 100644 index 00000000000..59f6400f926 --- /dev/null +++ b/easybuild/easyconfigs/v/vt/vt-0.57721_update_htsutils.patch @@ -0,0 +1,168 @@ +diff -ruN vt-0.57721_orig/hts_utils.cpp vt-0.57721/hts_utils.cpp +--- vt-0.57721_orig/hts_utils.cpp 2018-05-09 02:33:23.000000000 +0200 ++++ vt-0.57721/hts_utils.cpp 2021-07-14 14:19:04.897424632 +0200 +@@ -1,17 +1,13 @@ + /* The MIT License +- + Copyright (c) 2013 Adrian Tan +- + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: +- + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. +- + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +@@ -40,36 +36,13 @@ + */ + char *faidx_fetch_uc_seq(const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len) + { +- int l; +- char c; +- khiter_t iter; +- faidx1_t val; +- char *seq=NULL; +- +- // Adjust position +- iter = kh_get(s, fai->hash, c_name); +- if(iter == kh_end(fai->hash)) return 0; +- val = kh_value(fai->hash, iter); +- if(p_end_i < p_beg_i) p_beg_i = p_end_i; +- if(p_beg_i < 0) p_beg_i = 0; +- else if(val.len <= p_beg_i) p_beg_i = val.len - 1; +- if(p_end_i < 0) p_end_i = 0; +- else if(val.len <= p_end_i) p_end_i = val.len - 1; +- +- // Now retrieve the sequence +- int ret = bgzf_useek(fai->bgzf, val.offset + p_beg_i / val.line_blen * val.line_len + p_beg_i % val.line_blen, SEEK_SET); +- if ( ret<0 ) +- { +- *len = -1; +- fprintf(stderr, "[fai_fetch_seq] Error: fai_fetch failed. (Seeking in a compressed, .gzi unindexed, file?)\n"); +- return NULL; +- } +- l = 0; +- seq = (char*)malloc(p_end_i - p_beg_i + 2); +- while ( (c=bgzf_getc(fai->bgzf))>=0 && l < p_end_i - p_beg_i + 1) +- if (isgraph(c)) seq[l++] = toupper(c); +- seq[l] = '\0'; +- *len = l; ++ char* seq = faidx_fetch_seq(fai, c_name, p_beg_i, p_end_i, len); ++ ++ for (int32_t i=0; i<*len; ++i) ++ { ++ if (isgraph(seq[i])) seq[i] = toupper(seq[i]); ++ } ++ + return seq; + } + +@@ -330,7 +303,7 @@ + kputw(bam_cigar_oplen(cigar[i]), &str); + char* stop; + uint32_t len = strtol(str.s, &stop, 10); +- assert(stop); ++ //assert(stop); + + if (op=='M') + { +@@ -425,7 +398,11 @@ + */ + void bcf_hdr_print(bcf_hdr_t *h) + { +- if ( h->dirty ) bcf_hdr_sync(h); ++ if (h->dirty && bcf_hdr_sync(h)<0) ++ { ++ fprintf(stderr, "[%s:%d %s] Cannot update header\n", __FILE__, __LINE__, __FUNCTION__); ++ exit(1); ++ } + kstring_t htxt = {0,0,0}; + bcf_hdr_format(h, 0, &htxt); + std::cerr << htxt.s; +diff -ruN vt-0.57721_orig/hts_utils.h vt-0.57721/hts_utils.h +--- vt-0.57721_orig/hts_utils.h 2018-05-09 02:33:23.000000000 +0200 ++++ vt-0.57721/hts_utils.h 2021-07-14 14:18:46.925356770 +0200 +@@ -1,17 +1,13 @@ + /* The MIT License +- + Copyright (c) 2013 Adrian Tan +- + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: +- + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. +- + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +@@ -47,13 +43,6 @@ + + KHASH_MAP_INIT_STR(s, faidx1_t) + +-struct __faidx_t { +- BGZF *bgzf; +- int n, m; +- char **name; +- khash_t(s) *hash; +-}; +- + /** + * An alternate sequence fetcher for upper case sequence. + */ +@@ -118,12 +107,12 @@ + /** + * Gets the 1 based start position of the first mapped base in the read. + */ +-#define bam_get_pos1(s) ((s)->core.pos + 1) ++#define bam_get_pos1(s) ((int32_t)(s)->core.pos + 1) + + /** + * Gets the 0 based start position of the first mapped base in the read. + */ +-#define bam_get_pos0(s) ((s)->core.pos) ++#define bam_get_pos0(s) ((int32_t)(s)->core.pos) + + /** + * Gets the end position of the last mapped base in the read. +@@ -451,7 +440,7 @@ + /** + * Get 0-based position + */ +-#define bcf_get_pos0(v) ((v)->pos) ++#define bcf_get_pos0(v) ((int32_t)(v)->pos) + + /** + * Set 0-based position +@@ -461,12 +450,12 @@ + /** + * Get 1-based position + */ +-#define bcf_get_pos1(v) ((v)->pos+1) ++#define bcf_get_pos1(v) ((int32_t)(v)->pos+1) + + /** + * Get 1-based end position + */ +-#define bcf_get_end1(v) ((v)->pos + strlen((v)->d.allele[0])) ++#define bcf_get_end1(v) ((int32_t)(v)->pos + strlen((v)->d.allele[0])) + + /** + * Set 1-based position +@@ -648,4 +637,4 @@ + */ + void notice(const char * msg, ...); + +-#endif ++#endif +\ No newline at end of file diff --git a/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb new file mode 100644 index 00000000000..68d5f0a82df --- /dev/null +++ b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.2.0.eb @@ -0,0 +1,43 @@ +# Contribution from Imperial College London (UK) +# Uploaded by J. Sassmannshausen + +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': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.atnf.csiro.au/pub/software/wcslib/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['46befbfdf50cd4953896676a7d570094dc7661e2ae9677b092e7fb13cee3da5f'] + +builddependencies = [ + ('binutils', '2.37'), + ('M4', '1.4.19'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('CFITSIO', '3.49'), + ('PGPLOT', '5.2.2'), + ('X11', '20210802'), +] + +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-7.11.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/WCSLIB/WCSLIB-7.11-GCC-11.3.0.eb b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.3.0.eb new file mode 100644 index 00000000000..5b0df792a49 --- /dev/null +++ b/easybuild/easyconfigs/w/WCSLIB/WCSLIB-7.11-GCC-11.3.0.eb @@ -0,0 +1,40 @@ +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': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.atnf.csiro.au/pub/software/wcslib/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['46befbfdf50cd4953896676a7d570094dc7661e2ae9677b092e7fb13cee3da5f'] + +builddependencies = [ + ('binutils', '2.38'), + ('M4', '1.4.19'), + ('flex', '2.6.4'), +] + +dependencies = [ + ('CFITSIO', '4.2.0'), + ('PGPLOT', '5.2.2'), + ('X11', '20220504'), +] + +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-7.11.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/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/WCT/WCT-4.6.0-Java-11.eb b/easybuild/easyconfigs/w/WCT/WCT-4.6.0-Java-11.eb index a889d75fa0b..0b5db53df8a 100644 --- a/easybuild/easyconfigs/w/WCT/WCT-4.6.0-Java-11.eb +++ b/easybuild/easyconfigs/w/WCT/WCT-4.6.0-Java-11.eb @@ -22,7 +22,7 @@ source_urls = ['https://www.ncdc.noaa.gov/wct/app/dist/'] sources = ['%(namelower)s-%(version)s.zip'] checksums = ['951ba0137582d2cd33e18ec61e1bb63c8f775b4ddf23bb21b4784b7ef5d28aad'] -dependencies = [('Java', '11', '', True)] +dependencies = [('Java', '11', '', SYSTEM)] sanity_check_paths = { 'files': [], diff --git a/easybuild/easyconfigs/w/WEKA/WEKA-3.8.5-Java-11.eb b/easybuild/easyconfigs/w/WEKA/WEKA-3.8.5-Java-11.eb new file mode 100644 index 00000000000..a3db7b20d7e --- /dev/null +++ b/easybuild/easyconfigs/w/WEKA/WEKA-3.8.5-Java-11.eb @@ -0,0 +1,42 @@ +# 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 = "Tarball" + +name = 'WEKA' +version = '3.8.5' +versionsuffix = '-Java-%(javaver)s' + +homepage = 'http://www.cs.waikato.ac.nz/ml/weka/index.html' +description = """ Weka is a collection of machine learning algorithms for data mining tasks. + The algorithms can either be applied directly to a dataset or called from your own Java code. + Weka contains tools for data pre-processing, classification, regression, clustering, + association rules, and visualization. It is also well-suited for developing new machine + learning schemes.""" + +toolchain = SYSTEM + +source_urls = ['http://prdownloads.sourceforge.net/weka/'] +sources = ['%s-%s.zip' % (name.lower(), version.replace('.', '-'))] +checksums = ['8eec27669cb6d23bcd844041189067281295d1616f45dabf09f816b093f9fb49'] + +dependencies = [('Java', '11')] + +sanity_check_paths = { + 'files': ['weka.jar'], + 'dirs': [] +} + +sanity_check_commands = [ + "java weka.Run -h", + "java weka.classifiers.trees.J48 -h", +] + +modextravars = {'WEKAINSTALL': '%(installdir)s'} + +modloadmsg = """Start WEKA GUI with `java -jar $EBROOTWEKA/weka.jar` +""" + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2b8942ec8b7 --- /dev/null +++ b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'WFA2' +version = '2.3.3' + +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': '11.3.0'} + +source_urls = ['https://github.com/smarco/WFA2-lib/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2569650cdba395f42513a4d2c9175724a736047bb7da99a162c0abdbd651698f'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +configopts = "-DOPENMP=ON" + +sanity_check_paths = { + 'files': ['lib/libwfa2.a'], + 'dirs': ['include/wfa2lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cef70fe1233 --- /dev/null +++ b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.4-GCCcore-12.2.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.2.0'} + +source_urls = ['https://github.com/smarco/WFA2-lib/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3a02d19b45c7efcdcabdd956421b1e449e771fca0b0f072e02d7aa65ebb29f23'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('pkgconf', '1.9.3'), +] + +configopts = "-DOPENMP=ON" + +sanity_check_paths = { + 'files': ['lib/libwfa2.a'], + 'dirs': ['include/wfa2lib'], +} + +moduleclass = 'bio' 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/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb b/easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb new file mode 100644 index 00000000000..d4a361b0b15 --- /dev/null +++ b/easybuild/easyconfigs/w/WGDgc/WGDgc-1.3-foss-2023a-R-4.3.2.eb @@ -0,0 +1,39 @@ +easyblock = 'Bundle' + +name = 'WGDgc' +version = '1.3' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/cecileane/WGDgc' +description = "Analysis of whole genome duplications (WGD) and triplications (WGT) using comparative gene count data" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('R', '4.3.2'), + ('R-bundle-CRAN', '2023.12'), +] + +exts_defaultclass = 'RPackage' + +exts_list = [ + ('phyext', '0.0.1', { + 'source_urls': ['https://cran.r-project.org/src/contrib/Archive/%(name)s'], + 'sources': ['%(name)s_%(version)s.tar.gz'], + 'checksums': ['b1e1d095034c17536a1a7ae7b203955d43fe13d403d5b772497d2c4cee93151e'], + }), + (name, version, { + 'source_urls': ['https://github.com/cecileane/WGDgc/archive/'], + 'sources': ['v%(version)s.tar.gz'], + 'checksums': ['bc4f938a47a8419f4cd43778bf558a7eb4c1b0af386eb78438020d0cfe0b68f0'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': [name], +} + +modextrapaths = {'R_LIBS_SITE': ''} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-19.2-intel-2020b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-19.2-intel-2020b.eb new file mode 100644 index 00000000000..5e5f66e861c --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-19.2-intel-2020b.eb @@ -0,0 +1,45 @@ +name = 'WIEN2k' +version = '19.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': '2020b'} + +sources = ['%(name)s_%(version)s.tar'] +checksums = ['f28c0bc94f813b805f8204a43b487cc4f8cf0e7f1595206eb8c0dbd423a436de'] + +dependencies = [ + ('DFT-D3', '3.2.0'), + ('ELPA', '2020.11.001'), + ('FFTW', '3.3.8'), + ('libxc', '4.3.4'), +] + +osdependencies = [('glibc-static', 'libc6-dev')] # required for libpthread.a + +remote = 'pbsssh' +wien_mpirun = 'mpirun -np _NP_ -machinefile _HOSTS_ _EXEC_' +use_remote = True +mpi_remote = False +wien_granularity = True +taskset = 'no' + +tests = [ + # test case 1: NaCl + ('NaCl', '-b', '-i 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']), + # test case 2: TiO2 + ('TiO2', + '-b -numk 1000 -rkmax 7.5', + '-in1ef -cc 0.00001 -fc 0.5 -i 100', + [ + r'^:ENE.*-4018.07', + r'^:FGL001.*\s+[0.]+\s+[0.]+\s+[0.]+\s+total forces', + r'^:FGL002.*14.*total forces', + ]), +] + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb new file mode 100644 index 00000000000..1d4834be63a --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021a.eb @@ -0,0 +1,70 @@ +name = 'WIEN2k' +version = '21.1' + +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': '2021a'} + +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 = [ + '32590778440a9280322bf2dc0d63f4f42a9fc48814fa6b8b7ee2d199c94bed11', # WIEN2k_21.1.tar + '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84', # WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch + # WIEN2k-21.1_fix_system_stderr_redirection.patch + 'cdba467b0b6f2b310c2e1e2a3e6cabe75f8fd15ee0f7c14f8ef80c7e48073bdd', +] + +dependencies = [ + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('DFT-D3', '3.2.0'), + ('ELPA', '2021.05.001'), + ('FFTW', '3.3.9'), + ('libxc', '5.1.5'), +] + +osdependencies = [('glibc-devel', 'libc6-dev')] # required for libpthread.a + +# 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 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']), + # test case 2: TiO2 + ('TiO2', + '-b -numk 1000 -rkmax 7.5', + '-in1ef -cc 0.00001 -fc 0.5 -i 100', + [ + r'^:ENE.*-4018.07', + 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-21.1-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb new file mode 100644 index 00000000000..0a988032e84 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1-intel-2021b.eb @@ -0,0 +1,77 @@ +name = 'WIEN2k' +version = '21.1' + +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 = [ + '32590778440a9280322bf2dc0d63f4f42a9fc48814fa6b8b7ee2d199c94bed11', # WIEN2k_21.1.tar + '1cc480a4824d9185ad5918dfc68c47bcb7826114626c8133d573be901bbdca84', # WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch + # WIEN2k-21.1_fix_system_stderr_redirection.patch + 'cdba467b0b6f2b310c2e1e2a3e6cabe75f8fd15ee0f7c14f8ef80c7e48073bdd', +] + +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.a + ('tcsh'), # required by the installer +] + +# 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 3', [r'^:DIS.*0.1', r'^:ENE.*-1248.14']), + # test case 2: TiO2 + ('TiO2', + '-b -numk 1000 -rkmax 7.5', + '-in1ef -cc 0.00001 -fc 0.5 -i 100', + [ + r'^:ENE.*-4018.07', + 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-21.1_fix_libxc_for_lapw0_mpi.patch b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1_fix_libxc_for_lapw0_mpi.patch new file mode 100644 index 00000000000..473da9ef378 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1_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-21.1_fix_system_stderr_redirection.patch b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1_fix_system_stderr_redirection.patch new file mode 100644 index 00000000000..9e1ad379a28 --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-21.1_fix_system_stderr_redirection.patch @@ -0,0 +1,34 @@ +WIEN2k assumes that user shell is (t)csh, that's almost never true any longer. +Use commands that don't produce output at all instead of relying on redirection + +Åke Sandgren, 20210911 +diff -ru wien2k.orig/SRC_Globals/W2kinit.F wien2k/SRC_Globals/W2kinit.F +--- wien2k.orig/SRC_Globals/W2kinit.F 2021-03-17 16:56:42.301680962 +0100 ++++ wien2k/SRC_Globals/W2kinit.F 2021-09-11 19:02:28.742392699 +0200 +@@ -398,7 +398,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." +@@ -408,13 +408,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/WIEN2k/WIEN2k-23.2-intel-2021b.eb b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb new file mode 100644 index 00000000000..0dd0b641ceb --- /dev/null +++ b/easybuild/easyconfigs/w/WIEN2k/WIEN2k-23.2-intel-2021b.eb @@ -0,0 +1,82 @@ +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', +] + +# skip running of serial/parallel benchmark, because links to download test_case.tar.gz and mpi-benchmark.tar.gz +# from http://www.wien2k.at/reg_user/benchmark/ that are used by WIEN2k easyblock are broken... +runtest = False + +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/WPS/WPS-3.9.1-foss-2020b-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb new file mode 100644 index 00000000000..e0b1909d580 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-3.9.1-foss-2020b-dmpar.eb @@ -0,0 +1,47 @@ +name = 'WPS' +version = '3.9.1' +buildtype = 'dmpar' +versionsuffix = '-%s' % buildtype + +homepage = 'http://www.wrf-model.org' +description = """WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is + a next-generation mesoscale numerical weather prediction system designed to serve both operational + forecasting and atmospheric research needs.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': True} + +source_urls = [ + 'http://www2.mmm.ucar.edu/wrf/src/', + 'http://www.mmm.ucar.edu/wrf/src/', +] +sources = ['%(name)sV%(version)s.TAR.gz'] +patches = [ + 'WPS-3.8.0_netCDF-Fortran_seperate_path.patch', + 'WPS-3.9.1_fix-intmath.patch', + 'WPS-3.9.1_fix-JasPer-2.x.patch', +] +checksums = [ + '48a05cb25d6dcfaf4ba6fc63719b361ae240c79aad8066412646c936eecfcf90', # WPSV3.9.1.TAR.gz + '7ff73248b55eff304bcfd0f7b9e936c4c460dcc351088a15c2c4ac22622b9d41', # WPS-3.8.0_netCDF-Fortran_seperate_path.patch + 'f0c440db2c50cf67b3ee04eff349127d0b5f3b6bed79d136db5e6dcaf11e0e29', # WPS-3.9.1_fix-intmath.patch + '41a82492d230178278da138c5ab530e5084e861147fd98b792392d769ad38091', # WPS-3.9.1_fix-JasPer-2.x.patch +] + +dependencies = [ + ('WRF', '3.9.1.1', versionsuffix), + ('netCDF', '4.7.4'), + ('netCDF-Fortran', '4.5.3'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), + ('JasPer', '2.0.24'), +] + +# required to ensure that netcdf.mod is found +prebuildopts = r"sed -i 's@-I\$(NETCDF)/include@-I\$(NETCDF)/include -I\$(NETCDFF)/include@g' configure.wps && " + +# workaround for "Type mismatch between actual argument" compiler errors, +# see also https://www.gnu.org/software/gcc/gcc-10/porting_to.html +prebuildopts += "sed -i 's/ -O / -O -fallow-argument-mismatch /g' configure.wps && " + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-JasPer-2.x.patch b/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-JasPer-2.x.patch new file mode 100644 index 00000000000..e8481d2e906 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-JasPer-2.x.patch @@ -0,0 +1,28 @@ +fix compatibility with JasPer 2.x + enc_jpeg2000.c:141:10: error: jas_image_t has no member named inmem_ +see also https://github.com/wrf-model/WPS/pull/50 +From e23dbcdb130a2a6306f88e08af3b4c853269a86d Mon Sep 17 00:00:00 2001 +From: Dave Gill +Date: Wed, 6 Dec 2017 21:07:22 -0700 +Subject: [PATCH] image.inmem_=1 causes a compiler error, not fatal to ungrib + +--- + ungrib/src/ngl/g2/enc_jpeg2000.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/ungrib/src/ngl/g2/enc_jpeg2000.c b/ungrib/src/ngl/g2/enc_jpeg2000.c +index 7b8528120..2be6c062b 100755 +--- a/ungrib/src/ngl/g2/enc_jpeg2000.c ++++ b/ungrib/src/ngl/g2/enc_jpeg2000.c +@@ -138,7 +138,10 @@ int enc_jpeg2000(unsigned char *cin,g2int *pwidth,g2int *pheight,g2int *pnbits, + image.clrspc_=JAS_CLRSPC_SGRAY; /* grayscale Image */ + image.cmprof_=0; + #endif +- image.inmem_=1; ++ /* ++ * Does not seem to be needed, and throws a compiler error ++ * image.inmem_=1; ++ */ + + cmpt.tlx_=0; + cmpt.tly_=0; diff --git a/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-intmath.patch b/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-intmath.patch new file mode 100644 index 00000000000..e5cc0ff37fa --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-3.9.1_fix-intmath.patch @@ -0,0 +1,23 @@ +fix compilation of intmath.f with gfortran 10.x + Error: Arguments of iand have different kind type parameters at (1) +see https://github.com/wrf-model/WPS/pull/119 +--- WPS/ungrib/src/ngl/g2/intmath.f.orig 2022-06-24 12:19:49.517587000 +0200 ++++ WPS/ungrib/src/ngl/g2/intmath.f 2022-06-24 12:21:35.498978000 +0200 +@@ -169,7 +169,7 @@ + ilog2_2=0 + i=i_in + if(i<=0) return +- if(iand(i,i-1)/=0) then ++ if(iand(i,i-1_2)/=0) then + !write(0,*) 'iand i-1' + ilog2_2=1 + endif +@@ -204,7 +204,7 @@ + ilog2_1=0 + i=i_in + if(i<=0) return +- if(iand(i,i-1)/=0) then ++ if(iand(i,i-1_1)/=0) then + !write(0,*) 'iand i-1' + ilog2_1=1 + endif diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.2-foss-2020b-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-4.2-foss-2020b-dmpar.eb new file mode 100644 index 00000000000..7161c17020c --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.2-foss-2020b-dmpar.eb @@ -0,0 +1,40 @@ +name = 'WPS' +version = '4.2' + +homepage = 'http://www.wrf-model.org' +description = """WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is + a next-generation mesoscale numerical weather prediction system designed to serve both operational + forecasting and atmospheric research needs.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/wrf-model/WPS/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WPS-%(version)s_netCDF-Fortran_seperate_path.patch', + 'WPS-%(version)s_GCC-10-allow-argument-mismatch.patch', +] +checksums = [ + '3e175d033355d3e7638be75bc7c0bc0de6da299ebd175a9bbc1b7a121acd0168', # v4.2.tar.gz + '25359a9abfc6a4afc2f7b9624727eeea47d1a6421b99dbc8dd9b54a37d378ae5', # WPS-4.2_netCDF-Fortran_seperate_path.patch + 'c195d82e189780631b8c31110199b09a52e447b47fe2dd31d86dc86846a61148', # WPS-4.2_GCC-10-allow-argument-mismatch.patch +] + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +builddependencies = [ + ('Perl', '5.32.0'), +] + +dependencies = [ + ('WRF', '4.2.2', versionsuffix), + ('JasPer', '2.0.24'), + ('netCDF', '4.7.4'), + ('netCDF-Fortran', '4.5.3'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.2_GCC-10-allow-argument-mismatch.patch b/easybuild/easyconfigs/w/WPS/WPS-4.2_GCC-10-allow-argument-mismatch.patch new file mode 100644 index 00000000000..057ef629107 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.2_GCC-10-allow-argument-mismatch.patch @@ -0,0 +1,49 @@ +see https://github.com/wrf-model/WRF/issues/1250 and https://github.com/wrf-model/WRF/pull/1251 + +diff -ru WPS-4.2.orig/arch/configure.defaults WPS-4.2/arch/configure.defaults +--- WPS-4.2.orig/arch/configure.defaults 2020-04-23 21:31:06.000000000 +0200 ++++ WPS-4.2/arch/configure.defaults 2021-04-14 18:50:05.340985134 +0200 +@@ -157,8 +157,8 @@ + FC = CONFIGURE_FC + CC = CONFIGURE_CC + LD = $(FC) +-FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 +-F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 ++FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz ++F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz + FCSUFFIX = + FNGFLAGS = $(FFLAGS) + LDFLAGS = +@@ -180,8 +180,8 @@ + FC = CONFIGURE_FC + CC = CONFIGURE_CC + LD = $(FC) +-FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 +-F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 ++FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz ++F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz + FCSUFFIX = + FNGFLAGS = $(FFLAGS) + LDFLAGS = +@@ -450,8 +450,8 @@ + FC = CONFIGURE_FC + CC = CONFIGURE_CC + LD = $(FC) +-FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 +-F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 ++FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz ++F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz + FCSUFFIX = + FNGFLAGS = $(FFLAGS) + LDFLAGS = +@@ -475,8 +475,8 @@ + FC = CONFIGURE_FC + CC = CONFIGURE_CC + LD = $(FC) +-FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 +-F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 ++FFLAGS = -ffree-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz ++F77FLAGS = -ffixed-form -O -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch -fallow-invalid-boz + FCSUFFIX = + FNGFLAGS = $(FFLAGS) + # For a WRF OpenMP build, add the gomp library for WPS diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.2_netCDF-Fortran_seperate_path.patch b/easybuild/easyconfigs/w/WPS/WPS-4.2_netCDF-Fortran_seperate_path.patch new file mode 100644 index 00000000000..c4bd7bc75f9 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.2_netCDF-Fortran_seperate_path.patch @@ -0,0 +1,90 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since 2013; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WPSv4 and foss toolchain +# +# updated for WPS v4.1 by Kenneth Hoste (HPC-UGent) +# updated for WPS v4.2 by Åke Sandgren (HPC2N) + +diff -ru WPS-4.2.orig/arch/Config.pl WPS-4.2/arch/Config.pl +--- WPS-4.2.orig/arch/Config.pl 2020-04-23 21:31:06.000000000 +0200 ++++ WPS-4.2/arch/Config.pl 2021-04-14 13:11:31.470659452 +0200 +@@ -41,6 +41,7 @@ + if(substr( $ARGV[0], 1, 8 ) eq "netcdff=") + { + $sw_netcdff_lib = substr( $ARGV[0], 9); ++ $sw_netcdff_lib =~ s/!/ /g ; + } + if(substr( $ARGV[0], 1, 6 ) eq "phdf5=") + { +diff -ru WPS-4.2.orig/arch/preamble WPS-4.2/arch/preamble +--- WPS-4.2.orig/arch/preamble 2020-04-23 21:31:06.000000000 +0200 ++++ WPS-4.2/arch/preamble 2021-04-14 13:11:31.470659452 +0200 +@@ -39,7 +39,7 @@ + -I$(WRF_DIR)/external/io_grib1 \ + -I$(WRF_DIR)/external/io_int \ + -I$(WRF_DIR)/inc \ +- -I$(NETCDF)/include ++ -I$(NETCDF)/include -I$(NETCDFF)/include + + WRF_LIB = -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \ + -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \ +diff -ru WPS-4.2.orig/configure WPS-4.2/configure +--- WPS-4.2.orig/configure 2020-04-23 21:31:06.000000000 +0200 ++++ WPS-4.2/configure 2021-04-14 13:11:31.470659452 +0200 +@@ -119,9 +119,14 @@ + echo "Will use NETCDF in dir: $NETCDF" + # for 3.6.2 and greater there might be a second library, libnetcdff.a . Check for this and use + # if available +- NETCDFF=" " +- if [ -f "$NETCDF/lib/libnetcdff.a" ] ; then +- NETCDFF="-lnetcdff" ++ USENETCDFF=" " ++ # for netCDF 4.2 and greater, the Fortran library is a seperate install ++ if [ -z "$NETCDFF" ] ++ then ++ NETCDFF=$NETCDF ++ fi ++ if [ -f "$NETCDFF/lib/libnetcdff.a" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-lnetcdff" + fi + else + echo "Will configure for use without NetCDF" +@@ -190,7 +195,7 @@ + fi + + # Found perl, so proceed with configuration +-perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$NETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir ++perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$USENETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir + + + #Checking cross-compiling capability for some particular environment +@@ -356,9 +361,9 @@ + end program + EOF + FFLAGS=`grep ^FFLAGS configure.wps | cut -d"=" -f2-` +- cp $NETCDF/include/netcdf.inc . ++ cp $NETCDFF/include/netcdf.inc . + FC=`grep ^SFC configure.wps | cut -d"=" -f2-` +- $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib $NETCDFF -lnetcdf > /dev/null 2>&1 ++ $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib -lnetcdf $USENETCDFF > /dev/null 2>&1 + if [ -f "fort_netcdf" ] ; then + ./fort_netcdf > /dev/null 2>&1 + if [ $? = 0 ]; then +diff -ru WPS-4.2.orig/util/src/Makefile WPS-4.2/util/src/Makefile +--- WPS-4.2.orig/util/src/Makefile 2020-04-23 21:31:06.000000000 +0200 ++++ WPS-4.2/util/src/Makefile 2021-04-14 13:11:31.470659452 +0200 +@@ -41,11 +41,11 @@ + write_met_module.o misc_definitions_module.o met_data_module.o + $(SFC) $(LDFLAGS) -o $@ elev_angle.o cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o met_data_module.o \ +- -L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdf ++ -L$(NETCDFF)/lib -I$(NETCDFF)/include -lnetcdff + + elev_angle.o: elev_angle.F cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o +- $(SFC) -c elev_angle.F -I$(NETCDF)/include ++ $(SFC) -c elev_angle.F -I$(NETCDFF)/include + + calc_ecmwf_p.exe: calc_ecmwf_p.o cio.o module_debug.o module_stringutil.o gridinfo_module.o read_met_module.o \ + write_met_module.o module_date_pack.o misc_definitions_module.o met_data_module.o constants_module.o diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.3.1-foss-2021a-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-4.3.1-foss-2021a-dmpar.eb new file mode 100644 index 00000000000..d88bd39f7ca --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.3.1-foss-2021a-dmpar.eb @@ -0,0 +1,38 @@ +name = 'WPS' +version = '4.3.1' + +homepage = 'http://www.wrf-model.org' +description = """WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is + a next-generation mesoscale numerical weather prediction system designed to serve both operational + forecasting and atmospheric research needs.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/wrf-model/WPS/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WPS-4.2_netCDF-Fortran_seperate_path.patch', +] +checksums = [ + 'db6da44a2ca68cc289e98ab388a53c27283eb4ed8e92edee268466543fdedb0e', # v4.3.1.tar.gz + '25359a9abfc6a4afc2f7b9624727eeea47d1a6421b99dbc8dd9b54a37d378ae5', # WPS-4.2_netCDF-Fortran_seperate_path.patch +] + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +builddependencies = [ + ('Perl', '5.32.1'), +] + +dependencies = [ + ('WRF', '4.3', versionsuffix), + ('JasPer', '2.0.28'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), + ('zlib', '1.2.11'), + ('libpng', '1.6.37'), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb b/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb new file mode 100644 index 00000000000..f42560bc809 --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.4-foss-2022a-dmpar.eb @@ -0,0 +1,38 @@ +name = 'WPS' +version = '4.4' + +homepage = 'http://www.wrf-model.org' +description = """WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is + a next-generation mesoscale numerical weather prediction system designed to serve both operational + forecasting and atmospheric research needs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': True} + +source_urls = ['https://github.com/wrf-model/WPS/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WPS-%(version)s_netCDF-Fortran_separate_path.patch', +] +checksums = [ + 'fe9c8d8a9a4abbf800b30e6cbb378604c6040e4536f5594b8e2dae43e942e2b3', # v4.4.tar.gz + '751bb744bf8e5386b3bcf9c3c92dbd06183acf4007d061a3c10da808387bb0a8', # WPS-4.4_netCDF-Fortran_separate_path.patch +] + +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +builddependencies = [ + ('Perl', '5.34.1'), +] + +dependencies = [ + ('WRF', '4.4', versionsuffix), + ('JasPer', '2.0.33'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), + ('zlib', '1.2.12'), + ('libpng', '1.6.37'), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch new file mode 100644 index 00000000000..71d67030c7e --- /dev/null +++ b/easybuild/easyconfigs/w/WPS/WPS-4.4_netCDF-Fortran_separate_path.patch @@ -0,0 +1,91 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since 2013; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WPSv4 and foss toolchain +# +# updated for WPS v4.1 by Kenneth Hoste (HPC-UGent) +# updated for WPS v4.2 by Åke Sandgren (HPC2N) +# updated for WPS v4.4 by Maxim Masterov (SURF) + +diff -Nru WPS-4.4.orig/arch/Config.pl WPS-4.4/arch/Config.pl +--- WPS-4.4.orig/arch/Config.pl 2022-08-05 20:46:38.790818000 +0200 ++++ WPS-4.4/arch/Config.pl 2022-08-05 20:47:19.544741000 +0200 +@@ -42,6 +42,7 @@ + if(substr( $ARGV[0], 1, 8 ) eq "netcdff=") + { + $sw_netcdff_lib = substr( $ARGV[0], 9); ++ $sw_netcdff_lib =~ s/!/ /g ; + } + if(substr( $ARGV[0], 1, 6 ) eq "phdf5=") + { +diff -Nru WPS-4.4.orig/arch/preamble WPS-4.4/arch/preamble +--- WPS-4.4.orig/arch/preamble 2022-08-05 20:46:38.792313000 +0200 ++++ WPS-4.4/arch/preamble 2022-08-05 20:47:40.331112000 +0200 +@@ -39,7 +39,7 @@ + -I$(WRF_DIR)/external/io_grib1 \ + -I$(WRF_DIR)/external/io_int \ + -I$(WRF_DIR)/inc \ +- -I$(NETCDF)/include ++ -I$(NETCDF)/include -I$(NETCDFF)/include + + WRF_LIB = -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \ + -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \ +diff -Nru WPS-4.4.orig/configure WPS-4.4/configure +--- WPS-4.4.orig/configure 2022-08-05 20:46:38.790086000 +0200 ++++ WPS-4.4/configure 2022-08-05 20:48:51.938951000 +0200 +@@ -138,9 +138,14 @@ + echo "Will use NETCDF in dir: $NETCDF" + # for 3.6.2 and greater there might be a second library, libnetcdff.a . Check for this and use + # if available +- NETCDFF=" " +- if [ -f "$NETCDF/lib/libnetcdff.a" ] ; then +- NETCDFF="-lnetcdff" ++ USENETCDFF=" " ++ # for netCDF 4.2 and greater, the Fortran library is a seperate install ++ if [ -z "$NETCDFF" ] ++ then ++ NETCDFF=$NETCDF ++ fi ++ if [ -f "$NETCDFF/lib/libnetcdff.a" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-lnetcdff" + fi + else + echo "Will configure for use without NetCDF" +@@ -239,7 +244,7 @@ + fi + + # Found perl, so proceed with configuration +-perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$NETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir -grib2dir=$grib2dir ++perl arch/Config.pl -perl=$PERL -netcdf=$NETCDF -netcdff=$USENETCDFF -os=$os -mach=$mach -wrfdir=$wrf_dir + + + #Checking cross-compiling capability for some particular environment +@@ -405,9 +410,9 @@ + end program + EOF + FFLAGS=`grep ^FFLAGS configure.wps | cut -d"=" -f2-` +- cp $NETCDF/include/netcdf.inc . ++ cp $NETCDFF/include/netcdf.inc . + FC=`grep ^SFC configure.wps | cut -d"=" -f2-` +- $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib $NETCDFF -lnetcdf > /dev/null 2>&1 ++ $FC ${FFLAGS} fort_netcdf.f -o fort_netcdf -L${NETCDF}/lib -lnetcdf $USENETCDFF > /dev/null 2>&1 + if [ -f "fort_netcdf" ] ; then + ./fort_netcdf > /dev/null 2>&1 + if [ $? = 0 ]; then +diff -Nru WPS-4.4.orig/util/src/Makefile WPS-4.4/util/src/Makefile +--- WPS-4.4.orig/util/src/Makefile 2022-08-05 20:46:38.503642000 +0200 ++++ WPS-4.4/util/src/Makefile 2022-08-05 20:52:25.200578000 +0200 +@@ -41,11 +41,11 @@ + write_met_module.o misc_definitions_module.o met_data_module.o + $(SFC) $(LDFLAGS) -o $@ elev_angle.o cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o met_data_module.o \ +- -L$(NETCDF)/lib -I$(NETCDF)/include -lnetcdf ++ -L$(NETCDFF)/lib -I$(NETCDFF)/include -lnetcdff + + elev_angle.o: elev_angle.F cio.o module_debug.o gridinfo_module.o \ + write_met_module.o misc_definitions_module.o +- $(SFC) -c elev_angle.F -I$(NETCDF)/include ++ $(SFC) -c elev_angle.F -I$(NETCDFF)/include + + calc_ecmwf_p.exe: calc_ecmwf_p.o cio.o module_debug.o module_stringutil.o gridinfo_module.o read_met_module.o \ + write_met_module.o module_date_pack.o misc_definitions_module.o met_data_module.o constants_module.o diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.1.3-foss-2020a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.1.3-foss-2020a-dmpar.eb new file mode 100644 index 00000000000..d0281f2318f --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.1.3-foss-2020a-dmpar.eb @@ -0,0 +1,43 @@ +name = 'WRF' +version = '4.1.3' +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRFv4_netCDF-Fortran_separate_path.patch', +] +checksums = [ + 'a020e83e8a7a927fb080075031630e2af592e9fa802293ad72caa7ee50d6968d', # v4.1.3.tar.gz + 'f93bb6dbb8b52d72f816e2f9a6815bffd536afeca8511552ec5abc4253a59346', # WRF_parallel_build_fix.patch + 'a431159180757a895c07fc193fe93bb69c4c9d25d31adcc7c2adfa7c1edb04ad', # WRFv4_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20180311'), + ('tcsh', '6.22.02'), + ('time', '1.9'), + ('Perl', '5.30.2'), +] + +dependencies = [ + ('JasPer', '2.0.14'), + ('netCDF', '4.7.4'), + ('netCDF-Fortran', '4.5.2'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.2.2-foss-2020b-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.2.2-foss-2020b-dmpar.eb new file mode 100644 index 00000000000..20b645cfdbc --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.2.2-foss-2020b-dmpar.eb @@ -0,0 +1,43 @@ +name = 'WRF' +version = '4.2.2' +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WRF_parallel_build_fix.patch', + 'WRF-%(version)s_netCDF-Fortran_separate_path.patch', +] +checksums = [ + '7be2968c67c2175cd40b57118d9732eda5fdb0828edaa25baf57cc289da1a9b8', # v4.2.2.tar.gz + 'f93bb6dbb8b52d72f816e2f9a6815bffd536afeca8511552ec5abc4253a59346', # WRF_parallel_build_fix.patch + 'fcc0d0c9604a1aba83b665594e945fb8f3b79ecb9f69df3f2874e273a40ce3d9', # WRF-4.2.2_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20200321'), + ('tcsh', '6.22.03'), + ('time', '1.9'), + ('Perl', '5.32.0'), +] + +dependencies = [ + ('JasPer', '2.0.24'), + ('netCDF', '4.7.4'), + ('netCDF-Fortran', '4.5.3'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.2.2_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-4.2.2_netCDF-Fortran_separate_path.patch new file mode 100644 index 00000000000..e081a75bb3d --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.2.2_netCDF-Fortran_separate_path.patch @@ -0,0 +1,262 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since WRF3.5; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WRFv4 and foss toolchain +# +# Adapted to WRF 4.2.2 by Åke Sandgren (HPC2N) + +diff -ru WRF-4.2.2.orig/arch/Config.pl WRF-4.2.2/arch/Config.pl +--- WRF-4.2.2.orig/arch/Config.pl 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/arch/Config.pl 2021-04-14 13:45:56.203965507 +0200 +@@ -8,6 +8,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; # for netCDF 4.2 and greater, Fortran lib might be in a different path + $sw_pnetcdf_path = "" ; + $sw_hdf5_path=""; + $sw_phdf5_path=""; +@@ -90,6 +91,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -117,6 +122,7 @@ + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { + $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -443,6 +449,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_HDF5_PATH/$sw_hdf5_path/g ; + $_ =~ s/CONFIGURE_PHDF5_PATH/$sw_phdf5_path/g ; +@@ -489,7 +496,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib64 $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +diff -ru WRF-4.2.2.orig/arch/configure.defaults WRF-4.2.2/arch/configure.defaults +--- WRF-4.2.2.orig/arch/configure.defaults 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/arch/configure.defaults 2021-04-14 13:45:56.203965507 +0200 +@@ -1602,6 +1602,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +diff -ru WRF-4.2.2.orig/arch/conf_tokens WRF-4.2.2/arch/conf_tokens +--- WRF-4.2.2.orig/arch/conf_tokens 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/arch/conf_tokens 2021-04-14 13:45:56.207965495 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDFF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -ru WRF-4.2.2.orig/arch/postamble WRF-4.2.2/arch/postamble +--- WRF-4.2.2.orig/arch/postamble 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/arch/postamble 2021-04-14 13:45:56.207965495 +0200 +@@ -52,7 +52,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/wrftladj \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ +- -I$(NETCDFPATH)/include \ ++ -I$(NETCDFPATH)/include -I$(NETCDFFPATH)/include \ + CONFIGURE_RTTOV_INC + REGISTRY = Registry + CC_TOOLS_CFLAGS = CONFIGURE_NMM_CORE +@@ -62,6 +62,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH ++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + RTTOVPATH = CONFIGURE_RTTOV_PATH +@@ -93,13 +94,13 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_pnf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ +- make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPATH="$(PNETCDFPATH)" NETCDFFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_grib_share : +diff -ru WRF-4.2.2.orig/configure WRF-4.2.2/configure +--- WRF-4.2.2.orig/configure 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/configure 2021-04-14 13:45:56.207965495 +0200 +@@ -183,9 +183,13 @@ + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" + else +- USENETCDFF=" " ++ if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++ else ++ USENETCDFF=" " ++ fi + fi +- if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " +@@ -552,7 +556,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -634,14 +638,14 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +diff -ru WRF-4.2.2.orig/external/io_netcdf/makefile WRF-4.2.2/external/io_netcdf/makefile +--- WRF-4.2.2.orig/external/io_netcdf/makefile 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/external/io_netcdf/makefile 2021-04-14 13:45:56.207965495 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib64/libnetcdff.a -o -f $(NETCDFFPATH)/lib64/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -ru WRF-4.2.2.orig/external/io_pnetcdf/Makefile WRF-4.2.2/external/io_pnetcdf/Makefile +--- WRF-4.2.2.orig/external/io_pnetcdf/Makefile 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/external/io_pnetcdf/Makefile 2021-04-14 13:45:56.207965495 +0200 +@@ -9,8 +9,8 @@ + ext_pnc_put_var_td.code \ + ext_pnc_put_var_ti.code \ + transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = -L$(NETCDFPATH)/lib -lpnetcdf ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = -L$(NETCDFFPATH)/lib -lpnetcdf + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -25,15 +25,15 @@ + $(RANLIB) libwrfio_pnf.a + + wrf_io.o: wrf_io.F90 $(CODE) +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f + $(FC) $(FFLAGS) -c wrf_io.f + + module_wrfsi_static.o: module_wrfsi_static.F90 +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f + $(FC) $(FFLAGS) -c module_wrfsi_static.f + + field_routines.o: field_routines.F90 wrf_io.o +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f + $(FC) $(FFLAGS) -c field_routines.f + + superclean: +diff -ru WRF-4.2.2.orig/Makefile WRF-4.2.2/Makefile +--- WRF-4.2.2.orig/Makefile 2021-01-15 18:21:58.000000000 +0100 ++++ WRF-4.2.2/Makefile 2021-04-14 13:45:56.207965495 +0200 +@@ -976,7 +976,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) LLIST="$(LINKLIST)" framework ; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" \ + FC="$(FC) $(FCBASEOPTS) $(PROMOTION) $(FCDEBUG) $(OMP)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ +@@ -1106,7 +1106,7 @@ + + # rule used by configure to test if this will compile with netcdf4 + nc4_test: +- @cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib $(USENETCDF) ; cd .. ++ @cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 $(USENETCDF) ; cd .. + + # rule used by configure to test if Fortran 2003 IEEE signaling is available + fortran_2003_ieee_test: diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.3-foss-2021a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.3-foss-2021a-dmpar.eb new file mode 100644 index 00000000000..6ada7b5e843 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.3-foss-2021a-dmpar.eb @@ -0,0 +1,41 @@ +name = 'WRF' +version = '4.3' +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2021a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WRF-4.3_netCDF-Fortran_separate_path.patch', +] +checksums = [ + '68109070e3e6b3106257f738c0e69e774816589bf3a0cedaf66dd15f99ad63b5', # v4.3.tar.gz + '8171e1721eca9b32f39d9ca71848cb181bf65b5487d682dd36c237ed2597dfca', # WRF-4.3_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20210128'), + ('tcsh', '6.22.04'), + ('time', '1.9'), + ('Perl', '5.32.1'), +] + +dependencies = [ + ('JasPer', '2.0.28'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.3_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-4.3_netCDF-Fortran_separate_path.patch new file mode 100644 index 00000000000..5053c7e3410 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.3_netCDF-Fortran_separate_path.patch @@ -0,0 +1,260 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since WRF3.5; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WRFv4 and foss toolchain +# Adapted by @maxim-masterov for WRF-v4.3 + +diff -Nru WRF-4.3.orig/arch/Config.pl WRF-4.3/arch/Config.pl +--- WRF-4.3.orig/arch/Config.pl 2021-08-04 15:09:59.634194394 +0200 ++++ WRF-4.3/arch/Config.pl 2021-08-05 11:14:34.614153019 +0200 +@@ -8,6 +8,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; # for netCDF 4.2 and greater, Fortran lib might be in a different path + $sw_pnetcdf_path = "" ; + $sw_hdf5_path=""; + $sw_phdf5_path=""; +@@ -91,6 +92,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -118,6 +123,7 @@ + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { + $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -458,6 +464,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_HDF5_PATH/$sw_hdf5_path/g ; + $_ =~ s/CONFIGURE_PHDF5_PATH/$sw_phdf5_path/g ; +@@ -504,7 +511,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib64 $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +diff -Nru WRF-4.3.orig/arch/configure.defaults WRF-4.3/arch/configure.defaults +--- WRF-4.3.orig/arch/configure.defaults 2021-08-04 15:09:59.603194629 +0200 ++++ WRF-4.3/arch/configure.defaults 2021-08-05 11:23:16.835203445 +0200 +@@ -1602,6 +1602,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +diff -Nru WRF-4.3.orig/arch/conf_tokens WRF-4.3/arch/conf_tokens +--- WRF-4.3.orig/arch/conf_tokens 2021-08-04 15:09:59.624194471 +0200 ++++ WRF-4.3/arch/conf_tokens 2021-08-05 11:23:57.889893151 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDFF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -Nru WRF-4.3.orig/arch/postamble WRF-4.3/arch/postamble +--- WRF-4.3.orig/arch/postamble 2021-08-04 15:09:59.629194433 +0200 ++++ WRF-4.3/arch/postamble 2021-08-05 11:28:36.010792236 +0200 +@@ -52,6 +52,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/wrftladj \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ ++ -I$(NETCDFPATH)/include -I$(NETCDFFPATH)/include \ + -I$(NETCDFPATH)/include \ + CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC + REGISTRY = Registry +@@ -62,6 +63,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH ++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + RTTOVPATH = CONFIGURE_RTTOV_PATH +@@ -93,13 +95,13 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_pnf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ +- make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPATH="$(PNETCDFPATH)" NETCDFFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_grib_share : +diff -Nru WRF-4.3.orig/configure WRF-4.3/configure +--- WRF-4.3.orig/configure 2021-08-04 15:10:11.719102875 +0200 ++++ WRF-4.3/configure 2021-08-05 11:34:41.078036732 +0200 +@@ -183,9 +183,13 @@ + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" + else +- USENETCDFF=" " ++ if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++ else ++ USENETCDFF=" " ++ fi + fi +- if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " +@@ -552,7 +556,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -634,14 +638,14 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +diff -Nru WRF-4.3.orig/external/io_netcdf/makefile WRF-4.3/external/io_netcdf/makefile +--- WRF-4.3.orig/external/io_netcdf/makefile 2021-08-04 15:10:07.298136355 +0200 ++++ WRF-4.3/external/io_netcdf/makefile 2021-08-05 11:36:26.046244872 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib64/libnetcdff.a -o -f $(NETCDFFPATH)/lib64/libnetcdff.so \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -Nru WRF-4.3.orig/external/io_pnetcdf/Makefile WRF-4.3/external/io_pnetcdf/Makefile +--- WRF-4.3.orig/external/io_pnetcdf/Makefile 2021-08-04 15:10:05.733148207 +0200 ++++ WRF-4.3/external/io_pnetcdf/Makefile 2021-08-05 11:37:34.441729005 +0200 +@@ -9,8 +9,8 @@ + ext_pnc_put_var_td.code \ + ext_pnc_put_var_ti.code \ + transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = -L$(NETCDFPATH)/lib -lpnetcdf ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = -L$(NETCDFFPATH)/lib -lpnetcdf + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -25,15 +25,15 @@ + $(RANLIB) libwrfio_pnf.a + + wrf_io.o: wrf_io.F90 $(CODE) +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f + $(FC) $(FFLAGS) -c wrf_io.f + + module_wrfsi_static.o: module_wrfsi_static.F90 +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f + $(FC) $(FFLAGS) -c module_wrfsi_static.f + + field_routines.o: field_routines.F90 wrf_io.o +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f + $(FC) $(FFLAGS) -c field_routines.f + + superclean: +diff -Nru WRF-4.3.orig/Makefile WRF-4.3/Makefile +--- WRF-4.3.orig/Makefile 2021-08-04 15:10:04.526157349 +0200 ++++ WRF-4.3/Makefile 2021-08-05 11:38:25.538343676 +0200 +@@ -1003,7 +1003,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) LLIST="$(LINKLIST)" framework ; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" \ + FC="$(FC) $(FCBASEOPTS) $(PROMOTION) $(FCDEBUG) $(OMP)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ +@@ -1133,7 +1133,7 @@ + + # rule used by configure to test if this will compile with netcdf4 + nc4_test: +- @cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib $(USENETCDF) ; cd .. ++ @cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 $(USENETCDF) ; cd .. + + # rule used by configure to test if Fortran 2003 IEEE signaling is available + fortran_2003_ieee_test: diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb new file mode 100644 index 00000000000..b2412e3eb97 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4-foss-2022a-dmpar.eb @@ -0,0 +1,52 @@ +name = 'WRF' +version = '4.4' +buildtype = "dmpar" +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v4.4.tar.gz', + 'git_config': { + 'url': 'https://github.com/wrf-model', + 'repo_name': 'WRF', + 'tag': 'v4.4', + 'clone_into': 'WRF-4.4', + 'recursive': True, + }, +}] +patches = [ + 'WRF-%(version)s_netCDF-Fortran_separate_path.patch', +] +# The problem: sources from git clone have different checksum every time +checksums = [ + None, # v4.4.tar.gz + '0e37c8a7bb4d25947083bdb6d0f2a9f4fdb825c88f6cb10c59b7580fe3d129ff', # WRF-4.4_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20220317'), + ('tcsh', '6.24.01'), + ('time', '1.9'), + ('Perl', '5.34.1'), +] + +dependencies = [ + ('JasPer', '2.0.33'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb new file mode 100644 index 00000000000..a62a23d620c --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb @@ -0,0 +1,51 @@ +name = 'WRF' +version = '4.4.1' +buildtype = 'dmpar' +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +source_urls = ['https://github.com/wrf-model/WRF/archive/'] +# sources = ['v%(version)s.tar.gz'] +sources = [{ + 'filename': 'v%(version)s.tar.gz', + 'git_config': { + 'url': 'https://github.com/wrf-model', + 'repo_name': 'WRF', + 'tag': 'v%(version)s', + 'clone_into': 'WRF-%(version)s', + 'recursive': True, + }, +}] +patches = [ + 'WRF-4.4_netCDF-Fortran_separate_path.patch', +] +checksums = [ + None, # v4.4.1.tar.gz + '0e37c8a7bb4d25947083bdb6d0f2a9f4fdb825c88f6cb10c59b7580fe3d129ff', # WRF-4.4_netCDF-Fortran_separate_path.patch +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20220317'), + ('tcsh', '6.24.07'), + ('time', '1.9'), + ('Perl', '5.36.0'), +] + +dependencies = [ + ('JasPer', '4.0.0'), + ('netCDF', '4.9.0'), + ('netCDF-Fortran', '4.6.0'), +] + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch new file mode 100644 index 00000000000..34e03618a66 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.4_netCDF-Fortran_separate_path.patch @@ -0,0 +1,266 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since WRF3.5; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WRFv4 and foss toolchain +# +# updated for WPS v4.4 by Maxim Masterov (SURF) + +diff -Nru WRF-4.4.orig/arch/Config.pl WRF-4.4/arch/Config.pl +--- WRF-4.4.orig/arch/Config.pl 2022-08-05 12:50:41.026673000 +0200 ++++ WRF-4.4/arch/Config.pl 2022-08-05 12:53:16.487608000 +0200 +@@ -11,6 +11,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; # for netCDF 4.2 and greater, Fortran lib might be in a different path + $sw_pnetcdf_path = "" ; + $sw_netcdfpar_path = "" ; + $sw_hdf5_path=""; +@@ -95,6 +96,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -126,6 +131,7 @@ + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { + $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -610,6 +616,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_NETCDFPAR_PATH/$sw_netcdfpar_path/g ; + $_ =~ s/CONFIGURE_HDF5_PATH/$sw_hdf5_path/g ; +@@ -678,7 +685,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib64 $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +diff -Nru WRF-4.4.orig/arch/configure.defaults WRF-4.4/arch/configure.defaults +--- WRF-4.4.orig/arch/configure.defaults 2022-08-05 12:50:41.028943000 +0200 ++++ WRF-4.4/arch/configure.defaults 2022-08-05 12:53:38.767002000 +0200 +@@ -1636,6 +1636,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +diff -Nru WRF-4.4.orig/arch/conf_tokens WRF-4.4/arch/conf_tokens +--- WRF-4.4.orig/arch/conf_tokens 2022-08-05 12:50:41.028607000 +0200 ++++ WRF-4.4/arch/conf_tokens 2022-08-05 12:53:57.832914000 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDFF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -Nru WRF-4.4.orig/arch/postamble WRF-4.4/arch/postamble +--- WRF-4.4.orig/arch/postamble 2022-08-05 12:50:41.031770000 +0200 ++++ WRF-4.4/arch/postamble 2022-08-05 12:54:52.759085000 +0200 +@@ -53,6 +53,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/wrftladj \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ ++ -I$(NETCDFPATH)/include -I$(NETCDFFPATH)/include \ + -I$(NETCDFPATH)/include \ + CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC + REGISTRY = Registry +@@ -63,6 +64,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH ++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + RTTOVPATH = CONFIGURE_RTTOV_PATH +@@ -94,7 +96,7 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + +@@ -105,7 +107,7 @@ + + wrfio_pnf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ +- make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPATH="$(PNETCDFPATH)" NETCDFFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_grib_share : +diff -Nru WRF-4.4.orig/configure WRF-4.4/configure +--- WRF-4.4.orig/configure 2022-08-05 12:50:41.453325000 +0200 ++++ WRF-4.4/configure 2022-08-05 12:57:14.821614000 +0200 +@@ -222,9 +222,13 @@ + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" + else +- USENETCDFF=" " ++ if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++ else ++ USENETCDFF=" " ++ fi + fi +- if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " +@@ -566,7 +570,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -648,14 +652,14 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +diff -Nru WRF-4.4.orig/external/io_netcdf/makefile WRF-4.4/external/io_netcdf/makefile +--- WRF-4.4.orig/external/io_netcdf/makefile 2022-08-05 12:50:41.676471000 +0200 ++++ WRF-4.4/external/io_netcdf/makefile 2022-08-05 15:32:21.053573000 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib64/libnetcdff.a -o -f $(NETCDFFPATH)/lib64/libnetcdff.so \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -Nru WRF-4.4.orig/external/io_pnetcdf/Makefile WRF-4.4/external/io_pnetcdf/Makefile +--- WRF-4.4.orig/external/io_pnetcdf/Makefile 2022-08-05 12:50:41.688872000 +0200 ++++ WRF-4.4/external/io_pnetcdf/Makefile 2022-08-05 13:00:28.273185000 +0200 +@@ -9,8 +9,8 @@ + ext_pnc_put_var_td.code \ + ext_pnc_put_var_ti.code \ + transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = -L$(NETCDFPATH)/lib -lpnetcdf ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = -L$(NETCDFFPATH)/lib -lpnetcdf + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -25,15 +25,15 @@ + $(RANLIB) libwrfio_pnf.a + + wrf_io.o: wrf_io.F90 $(CODE) +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f + $(FC) $(FFLAGS) -c wrf_io.f + + module_wrfsi_static.o: module_wrfsi_static.F90 +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f + $(FC) $(FFLAGS) -c module_wrfsi_static.f + + field_routines.o: field_routines.F90 wrf_io.o +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f + $(FC) $(FFLAGS) -c field_routines.f + + superclean: +diff -Nru WRF-4.4.orig/Makefile WRF-4.4/Makefile +--- WRF-4.4.orig/Makefile 2022-08-05 12:50:40.979120000 +0200 ++++ WRF-4.4/Makefile 2022-08-05 13:03:38.672102000 +0200 +@@ -923,7 +923,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) LLIST="$(LINKLIST)" framework ; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" \ + FC="$(FC) $(FCBASEOPTS) $(PROMOTION) $(FCDEBUG) $(OMP)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ +@@ -1070,9 +1070,9 @@ + # rule used by configure to test if this will compile with netcdf4 + nc4_test: + if [ $(USENETCDFPAR) -eq 0 ] ; then \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + else \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + fi + + # rule used by configure to test if Fortran 2003 IEEE signaling is available diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.5.1-foss-2023a-dmpar.eb b/easybuild/easyconfigs/w/WRF/WRF-4.5.1-foss-2023a-dmpar.eb new file mode 100644 index 00000000000..5b7d53ec837 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.5.1-foss-2023a-dmpar.eb @@ -0,0 +1,45 @@ +name = 'WRF' +version = '4.5.1' +buildtype = 'dmpar' +versionsuffix = '-%s' % buildtype + +homepage = 'https://www.wrf-model.org' +description = """The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale + numerical weather prediction system designed to serve both operational forecasting and atmospheric + research needs.""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'opt': False} # don't use agressive optimization, stick to -O2 + +github_account = 'wrf-model' +source_urls = [GITHUB_RELEASE] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'WRF-4.5.1_netCDF-Fortran_separate_path.patch', # note: no longer required for version 4.5.2 +] +checksums = [ + {'v4.5.1.tar.gz': '9d557c34c105db4d41e727843ecb19199233c7cf82c5369b34a2ce8efe65e2d1'}, + {'WRF-4.5.1_netCDF-Fortran_separate_path.patch': + '951bff9a3fc651482b287cc03a9f3197979b7800d515fe61cc9c932d9e0dc62e'}, +] + +# csh is used by WRF install scripts +builddependencies = [ + ('Autotools', '20220317'), + ('tcsh', '6.24.10'), + ('time', '1.9'), + ('Perl', '5.36.1'), +] + +dependencies = [ + ('JasPer', '4.0.0'), + ('netCDF', '4.9.2'), + ('netCDF-Fortran', '4.6.1'), +] + +runtest = True + +# limit parallel build to 20 +maxparallel = 20 + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/WRF/WRF-4.5.1_netCDF-Fortran_separate_path.patch b/easybuild/easyconfigs/w/WRF/WRF-4.5.1_netCDF-Fortran_separate_path.patch new file mode 100644 index 00000000000..2e35f0dbb86 --- /dev/null +++ b/easybuild/easyconfigs/w/WRF/WRF-4.5.1_netCDF-Fortran_separate_path.patch @@ -0,0 +1,300 @@ +# Allow netCDF library with separate directories for C and Fortran +# ============================================================================ +# This patch has been around in EasyBuild since WRF3.5; it was committed by +# @boegel then. Adapted by @andreas-h to accomodate WRFv4 and foss toolchain +# +# updated for WPS v4.4 by Maxim Masterov (SURF) +# updated for WRF v4.5.1 by Stefan Wolfsheimer (SURF) + + +diff -Nru WRFV4.5.1.orig/arch/Config.pl WRFV4.5.1/arch/Config.pl +--- WRFV4.5.1.orig/arch/Config.pl 2023-07-25 23:14:55.214200451 +0200 ++++ WRFV4.5.1/arch/Config.pl 2023-09-07 18:29:05.423831752 +0200 +@@ -11,6 +11,7 @@ + select((select(STDOUT), $|=1)[0]); + $sw_perl_path = perl ; + $sw_netcdf_path = "" ; ++$sw_netcdff_path = "" ; + $sw_pnetcdf_path = "" ; + $sw_netcdfpar_path = "" ; + $sw_adios2_path = "" ; +@@ -96,6 +97,10 @@ + } + } + } ++ if ( substr( $ARGV[0], 1, 8 ) eq "netcdff=" ) ++ { ++ $sw_netcdff_path = substr( $ARGV[0], 9 ) ; ++ } + if ( substr( $ARGV[0], 1, 8 ) eq "pnetcdf=" ) + { + $sw_pnetcdf_path = substr( $ARGV[0], 9 ) ; +@@ -130,7 +135,8 @@ + } + if ( substr( $ARGV[0], 1, 11 ) eq "USENETCDFF=" ) + { +- $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff = substr( $ARGV[0], 12 ) ; ++ $sw_usenetcdff =~ s/!/ /g ; + } + if ( substr( $ARGV[0], 1, 10 ) eq "USENETCDF=" ) + { +@@ -615,6 +621,7 @@ + { + $_ =~ s/CONFIGURE_PERL_PATH/$sw_perl_path/g ; + $_ =~ s/CONFIGURE_NETCDF_PATH/$sw_netcdf_path/g ; ++ $_ =~ s/CONFIGURE_NETCDFF_PATH/$sw_netcdff_path/g ; + $_ =~ s/CONFIGURE_PNETCDF_PATH/$sw_pnetcdf_path/g ; + $_ =~ s/CONFIGURE_NETCDFPAR_PATH/$sw_netcdfpar_path/g ; + $_ =~ s/CONFIGURE_ADIOS2_PATH/$sw_adios2_path/g ; +@@ -666,7 +673,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDFPAR_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdfpar/libwrfio_nfpar.a -L$sw_netcdfpar_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDFPAR_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdfpar -lwrfio_nfpar -L$sw_netcdfpar_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDFPAR_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdfpar -lwrfio_nfpar -L$sw_netcdfpar_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +@@ -684,7 +691,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib64 $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +@@ -1072,7 +1079,7 @@ + } elsif ( $sw_os eq "Interix" ) { + $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf/libwrfio_nf.a -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } else { +- $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; ++ $_ =~ s:CONFIGURE_NETCDF_LIB_PATH:-L\$\(WRF_SRC_ROOT_DIR\)/external/io_netcdf -lwrfio_nf -L$sw_netcdff_path/lib -L$sw_netcdf_path/lib $sw_usenetcdff $sw_usenetcdf : ; + } + } + else +diff -Nru WRFV4.5.1.orig/arch/configure.defaults WRFV4.5.1/arch/configure.defaults +--- WRFV4.5.1.orig/arch/configure.defaults 2023-07-25 23:14:55.215890637 +0200 ++++ WRFV4.5.1/arch/configure.defaults 2023-09-07 14:20:06.651406753 +0200 +@@ -1638,6 +1638,7 @@ + + LIB_EXTERNAL = \ + ../external/io_netcdf/libwrfio_nf.a CONFIGURE_NETCDF_PATH/lib/libnetcdf.lib \ ++ CONFIGURE_NETCDFF_PATH/lib/libnetcdff.lib \ + ../external/wavelet/libWavelet.a ../external/wavelet/lib_wavelet.a + ESMF_IO_LIB = ../external/esmf_time_f90/libesmf_time.a + LIB_BUNDLED = \ +diff -Nru WRFV4.5.1.orig/arch/conf_tokens WRFV4.5.1/arch/conf_tokens +--- WRFV4.5.1.orig/arch/conf_tokens 2023-07-25 23:14:55.215165000 +0200 ++++ WRFV4.5.1/arch/conf_tokens 2023-09-07 14:20:50.194754577 +0200 +@@ -5,6 +5,7 @@ + CONFIGURE_DMPARALLEL + CONFIGURE_RWORDSIZE + CONFIGURE_NETCDF_FLAG ++CONFIGURE_NETCDFF_FLAG + CONFIGURE_GRIB2_FLAG + CONFIGURE_NETCDF_LIB_PATH + CONFIGURE_GRIB2_LIB +@@ -13,4 +14,5 @@ + CONFIGURE_WRFIO_NF + CONFIGURE_WRFIO_GRIB2 + CONFIGURE_NETCDF_PATH ++CONFIGURE_NETCDFF_PATH + CONFIGURE_GRIB2_INC +diff -Nru WRFV4.5.1.orig/arch/postamble WRFV4.5.1/arch/postamble +--- WRFV4.5.1.orig/arch/postamble 2023-07-25 23:14:55.219090000 +0200 ++++ WRFV4.5.1/arch/postamble 2023-09-07 16:01:17.500706228 +0200 +@@ -54,6 +54,7 @@ + -I$(WRF_SRC_ROOT_DIR)/phys \ + -I$(WRF_SRC_ROOT_DIR)/wrftladj \ + -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc \ ++ -I$(NETCDFPATH)/include -I$(NETCDFFPATH)/include \ + -I$(NETCDFPATH)/include \ + CONFIGURE_RTTOV_INC CONFIGURE_CTSM_INC + REGISTRY = Registry +@@ -64,6 +65,7 @@ + ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS + CPPFLAGS = $(ARCHFLAGS) $(ENVCOMPDEFS) -I$(LIBINCLUDE) $(TRADFLAG) CONFIGURE_COMMS_INCLUDE + NETCDFPATH = CONFIGURE_NETCDF_PATH ++NETCDFFPATH = CONFIGURE_NETCDFF_PATH + HDF5PATH = CONFIGURE_HDF5_PATH + WRFPLUSPATH = CONFIGURE_WRFPLUS_PATH + RTTOVPATH = CONFIGURE_RTTOV_PATH +@@ -96,18 +98,18 @@ + + wrfio_nf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \ +- make $(J) NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ ++ make $(J) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ + CC="$(SCC)" CFLAGS="$(CFLAGS)" \ + FC="$(SFC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_nfpar : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdfpar ; \ +- make $(J) NETCDFPARPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPARPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_pnf : + ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; \ +- make $(J) NETCDFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ ++ make $(J) NETCDFPATH="$(PNETCDFPATH)" NETCDFFPATH="$(PNETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP) $(ARCHFLAGS)" \ + FC="$(FC) $(PROMOTION) $(OMP) $(FCFLAGS)" TRADFLAG="$(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) + + wrfio_adios2 : +diff -Nru WRFV4.5.1.orig/configure WRFV4.5.1/configure +--- WRFV4.5.1.orig/configure 2023-07-25 23:14:55.692864209 +0200 ++++ WRFV4.5.1/configure 2023-09-08 11:40:15.875789587 +0200 +@@ -214,17 +214,19 @@ + unset NETCDF4 + fi + +-USENETCDFF="" ++if [ -f "$NETCDFF/lib/libnetcdff.a" -o -f "$NETCDFF/lib/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" -o -f "$NETCDFF/lib64/libnetcdff.so" ] ; then ++ USENETCDFF="-L$NETCDFF/lib!-L$NETCDFF/lib64!-lnetcdff" # ! will be replaced with space ++else ++ USENETCDFF=" " ++fi + USENETCDF="" + if [ -n "$NETCDF" ] ; then + echo "Will use NETCDF in dir: $NETCDF" + # Oh UNIDATA, why make it so hard ... + if [ -f "$NETCDF/lib/libnetcdff.a" -o -f "$NETCDF/lib/libnetcdff.so" -o -f "$NETCDF/lib/libnetcdff.dll.a" ] ; then + USENETCDFF="-lnetcdff" +- else +- USENETCDFF=" " + fi +- if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib/libnetcdf.dll.a" ] ; then ++ if [ -f "$NETCDF/lib/libnetcdf.a" -o -f "$NETCDF/lib/libnetcdf.so" -o -f "$NETCDF/lib64/libnetcdf.a" -o -f "$NETCDF/lib64/libnetcdf.so" ] ; then + USENETCDF="-lnetcdf" + else + USENETCDF=" " +@@ -572,7 +574,7 @@ + srch=`grep -i "^#ARCH.*$os" arch/configure.defaults | grep -i "$mach"` + if [ -n "$srch" ] ; then + $PERL arch/Config.pl -dmparallel=$COMMLIB -ompparallel=$OMP -perl=$PERL \ +- -netcdf=$NETCDF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -adios2=$ADIOS2 -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ ++ -netcdf=$NETCDF -netcdff=$NETCDFF -pnetcdf=$PNETCDF -netcdfpar=$NETCDFPAR -hdf5=$HDF5 -phdf5=$PHDF5 -os=$os -mach=$mach -ldflags=$ldflags \ + -compileflags=$compileflags -opt_level=$opt_level -USENETCDFF=$USENETCDFF -USENETCDF=$USENETCDF \ + -time=$FORTRAN_COMPILER_TIMER -tfl="$TFL" -cfl="$CFL" -config_line="$config_line" \ + -wrf_core=$wrf_core -gpfs=$GPFS_PATH -curl=$CURL_PATH -dep_lib_path="$DEP_LIB_PATH" +@@ -654,14 +656,14 @@ + echo "If you wish to change the default options, edit the file:" + echo " arch/configure.defaults" + +-if test -n "$NETCDF" ; then +- if [ ! -f $NETCDF/include/netcdf.inc ] ; then ++if test -n "$NETCDFF" ; then ++ if [ ! -f $NETCDFF/include/netcdf.inc ] ; then + echo +- echo "Error : Not found $NETCDF/include/netcdf.inc" ++ echo "Error : Not found $NETCDFF/include/netcdf.inc" + echo " Please check this installation of NetCDF and re-run this configure script" + exit -1 + fi +- grep nf_format_64bit $NETCDF/include/netcdf.inc > /dev/null ++ grep nf_format_64bit $NETCDFF/include/netcdf.inc > /dev/null + configure_aaaa=$? ; export configure_aaaa + if [ $configure_aaaa -a -z "$WRFIO_NCD_NO_LARGE_FILE_SUPPORT" ] ; then + echo "NetCDF users note:" +diff -Nru WRFV4.5.1.orig/external/io_netcdf/makefile WRFV4.5.1/external/io_netcdf/makefile +--- WRFV4.5.1.orig/external/io_netcdf/makefile 2023-07-25 23:14:55.935985000 +0200 ++++ WRFV4.5.1/external/io_netcdf/makefile 2023-09-07 14:33:23.630405047 +0200 +@@ -3,9 +3,9 @@ + OBJSL = wrf_io.o field_routines.o module_wrfsi_static.o + OBJS = $(OBJSL) + CODE = ext_ncd_get_dom_ti.code ext_ncd_get_var_td.code ext_ncd_get_var_ti.code ext_ncd_put_dom_ti.code ext_ncd_put_var_td.code ext_ncd_put_var_ti.code transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdf +-LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -lnetcdf ++LIBFFS = $(LIB_LOCAL) -L$(NETCDFPATH)/lib -L$(NETCDFPATH)/lib64 -L$(NETCDFFPATH)/lib -L$(NETCDFFPATH)/lib64 -lnetcdff -lnetcdf $(NETCDF4_DEP_LIB) + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -24,7 +24,7 @@ + $(RANLIB) $@ + + wrf_io.o: wrf_io.F90 $(CODE) +- grep nf_format_64bit $(NETCDFPATH)/include/netcdf.inc ;\ ++ grep nf_format_64bit $(NETCDFFPATH)/include/netcdf.inc ;\ + a=$$? ; export a ; \ + if [ $$a -a "$$WRFIO_NCD_LARGE_FILE_SUPPORT" = "1" ] ; then \ + $(CPP1) -DWRFIO_NCD_LARGE_FILE_SUPPORT -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ; \ +@@ -43,14 +43,14 @@ + x=`echo "$(FC)" | awk '{print $$1}'` ; export x ; \ + if [ $$x = "gfortran" ] ; then \ + echo removing external declaration of iargc for gfortran ; \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' > diffwrf.f ;\ + else \ +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share diffwrf.F90 > diffwrf.f ; \ + fi + $(FC) -c $(FFLAGS) diffwrf.f + @if [ \( -f ../../frame/wrf_debug.o \) -a \( -f ../../frame/module_wrf_error.o \) -a \( -f $(ESMF_MOD_DEPENDENCE) \) -a \( -f ../../frame/clog.o \) ] ; then \ + echo "diffwrf io_netcdf is being built now. " ; \ +- if [ \( -f $(NETCDFPATH)/lib/libnetcdff.a -o -f $(NETCDFPATH)/lib/libnetcdff.so -o -f $(NETCDFPATH)/lib/libnetcdff.dll.a \) ] ; then \ ++ if [ \( -f $(NETCDFFPATH)/lib/libnetcdff.a -o -f $(NETCDFFPATH)/lib/libnetcdff.so -o -f $(NETCDFFPATH)/lib/libnetcdff.dll.a \) ] ; then \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBFFS) ;\ + else \ + $(FC) $(FFLAGS) $(LDFLAGS) -o diffwrf diffwrf.o $(OBJSL) ../../frame/wrf_debug.o ../../frame/module_wrf_error.o ../../frame/clog.o $(ESMF_IO_LIB_EXT) $(LIBS) ;\ +diff -Nru WRFV4.5.1.orig/external/io_pnetcdf/Makefile WRFV4.5.1/external/io_pnetcdf/Makefile +--- WRFV4.5.1.orig/external/io_pnetcdf/Makefile 2023-07-25 23:14:55.952757000 +0200 ++++ WRFV4.5.1/external/io_pnetcdf/Makefile 2023-09-07 14:34:31.077960575 +0200 +@@ -9,8 +9,8 @@ + ext_pnc_put_var_td.code \ + ext_pnc_put_var_ti.code \ + transpose.code +-FFLAGS = $(FCFLAGS) -I$(NETCDFPATH)/include -I../ioapi_share +-LIBS = -L$(NETCDFPATH)/lib -lpnetcdf ++FFLAGS = $(FCFLAGS) -I$(NETCDFFPATH)/include -I../ioapi_share ++LIBS = -L$(NETCDFFPATH)/lib -lpnetcdf + CPP1 = $(CPP) -P $(TRADFLAG) + M4 = m4 -Uinclude -Uindex -Ulen + AR = ar +@@ -25,15 +25,15 @@ + $(RANLIB) libwrfio_pnf.a + + wrf_io.o: wrf_io.F90 $(CODE) +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share wrf_io.F90 | $(M4) - > wrf_io.f + $(FC) $(FFLAGS) -c wrf_io.f + + module_wrfsi_static.o: module_wrfsi_static.F90 +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share module_wrfsi_static.F90 > module_wrfsi_static.f + $(FC) $(FFLAGS) -c module_wrfsi_static.f + + field_routines.o: field_routines.F90 wrf_io.o +- $(CPP1) -I$(NETCDFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f ++ $(CPP1) -I$(NETCDFFPATH)/include -I../ioapi_share field_routines.F90 > field_routines.f + $(FC) $(FFLAGS) -c field_routines.f + + superclean: +diff -Nru WRFV4.5.1.orig/Makefile WRFV4.5.1/Makefile +--- WRFV4.5.1.orig/Makefile 2023-07-25 23:14:55.185289891 +0200 ++++ WRFV4.5.1/Makefile 2023-09-07 14:36:58.707252929 +0200 +@@ -923,7 +923,7 @@ + @ echo '--------------------------------------' + ( cd frame ; $(MAKE) $(J) LLIST="$(LINKLIST)" framework ; \ + cd ../external/io_netcdf ; \ +- $(MAKE) NETCDFPATH="$(NETCDFPATH)" \ ++ $(MAKE) NETCDFPATH="$(NETCDFPATH)" NETCDFFPATH="$(NETCDFFPATH)" \ + FC="$(FC) $(FCBASEOPTS) $(PROMOTION) $(FCDEBUG) $(OMP)" RANLIB="$(RANLIB)" \ + CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \ + LIB_LOCAL="$(LIB_LOCAL)" \ +@@ -1070,9 +1070,9 @@ + # rule used by configure to test if this will compile with netcdf4 + nc4_test: + if [ $(USENETCDFPAR) -eq 0 ] ; then \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(SCC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + else \ +- ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ ++ ( cd tools ; /bin/rm -f nc4_test.{exe,nc,o} ; $(DM_CC) -o nc4_test.exe nc4_test.c -I$(NETCDF)/include -L$(NETCDF)/lib64 -lnetcdf $(NETCDF4_DEP_LIB) ; cd .. ) ; \ + fi + + # rule used by configure to test if Fortran 2003 IEEE signaling is available diff --git a/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2022a.eb b/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2022a.eb new file mode 100644 index 00000000000..e3bdcb00894 --- /dev/null +++ b/easybuild/easyconfigs/w/WSClean/WSClean-3.4-foss-2022a.eb @@ -0,0 +1,46 @@ +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': '2022a'} + +sources = [{ + 'source_urls': ['https://gitlab.com/aroffringa/wsclean/-/package_files/97237455/'], + 'filename': '%(namelower)s-v%(version)s.tar.bz2', + 'download_filename': 'download' # endpoint for source tarball is not versioned +}] +checksums = ['b43d8ca490ccf34dd22aae6c5ca88a5dcb3cff0526835d3f97fa6d239745e641'] + +builddependencies = [ + ('CMake', '3.24.3'), +] + +dependencies = [ + ('casacore', '3.5.0'), + ('EveryBeam', '0.5.2'), + ('Boost', '1.79.0'), + ('CFITSIO', '4.2.0'), + ('GSL', '2.7'), + ('HDF5', '1.12.2'), + ('Python', '3.10.4'), +] + +# Without this, the wrong (system) python is picked up by cmake +# in cases where the system python is newer than the one used in these EasyConfigs +# See PR # 19119 +configopts = '-DPython3_EXECUTABLE=$EBROOTPYTHON/bin/python ' + +sanity_check_paths = { + 'files': ['include/wscleaninterface.h', 'bin/wsclean'], + 'dirs': ['bin'], +} + +sanity_check_commands = [('wsclean', '--version')] + +moduleclass = 'astro' 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-foss-2021b.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2021b.eb new file mode 100644 index 00000000000..25e9da22e6f --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2021b.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'foss', 'version': '2021b'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-foss-2022a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2022a.eb new file mode 100644 index 00000000000..217398eb063 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'foss', 'version': '2022a'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-foss-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb new file mode 100644 index 00000000000..9807690b35c --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'foss', 'version': '2023a'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-foss-2024a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb new file mode 100644 index 00000000000..3228ba164b9 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-foss-2024a.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'foss', 'version': '2024a'} +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 -fallow-argument-mismatch" LDOPTS="$FFLAGS" ' +buildopts += 'LIBDIR="$LAPACK_LIB_DIR" LIBS="$LIBLAPACK" ' +buildopts += 'COMMS=mpi' + +local_executables = ['wannier90.x', 'postw90.x', 'w90chk2chk.x', 'w90spn2spn.x'] +files_to_copy = [(local_executables, 'bin'), (['libwannier.a'], 'lib')] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables] + ['lib/libwannier.a'], + 'dirs': [] +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2021a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2021a.eb new file mode 100644 index 00000000000..4280cf4b955 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2021a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'gomkl', 'version': '2021a'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb new file mode 100644 index 00000000000..3b0e4c6c179 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2022a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'https://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'gomkl', 'version': '2022a'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb new file mode 100644 index 00000000000..336ac8a3895 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-gomkl-2023a.eb @@ -0,0 +1,35 @@ +easyblock = 'MakeCp' + +name = 'Wannier90' +version = '3.1.0' + +homepage = 'http://www.wannier.org' +description = """A tool for obtaining maximally-localised Wannier functions""" + +toolchain = {'name': 'gomkl', 'version': '2023a'} +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 +] + +# The -fallow-argument-mismatch allows MPI communication calls to be +# called with arrays of different types at different places in the +# code. This otherwise cause an error in GCC 10.X +buildopts = 'all F90=$F90 MPIF90=$MPIF90 FCOPTS="$FFLAGS -fallow-argument-mismatch" 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/Wannier90/Wannier90-3.1.0-intel-2021b.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2021b.eb new file mode 100644 index 00000000000..78556f8fda7 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2021b.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': '2021b'} +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/Wannier90/Wannier90-3.1.0-intel-2022a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2022a.eb new file mode 100644 index 00000000000..ada98a7bdfc --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2022a.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': '2022a'} +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/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/Wannier90/Wannier90-3.1.0-intel-2023a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.eb new file mode 100644 index 00000000000..cf258368771 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2023a.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': '2023a'} +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/Wannier90/Wannier90-3.1.0-intel-2024a.eb b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.eb new file mode 100644 index 00000000000..dd30db79af6 --- /dev/null +++ b/easybuild/easyconfigs/w/Wannier90/Wannier90-3.1.0-intel-2024a.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': '2024a'} +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/Wayland/Wayland-1.20.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.20.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88958af9b50 --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.20.0-GCCcore-11.3.0.eb @@ -0,0 +1,59 @@ +# Author: Jasper Grimm (UoY) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.20.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('expat', '2.4.8'), + ('libxml2', '2.9.13'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'source_urls': ['https://wayland.freedesktop.org/releases'], + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'checksums': ['b8a034154c7059772e0fdbd27dbfcda6c732df29cae56a82274f6ec5d7cd8725'], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.25', { + 'checksums': ['f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460'], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..15fd8e5d655 --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.2.0.eb @@ -0,0 +1,62 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.21.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('binutils', '2.37'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('expat', '2.4.1'), + ('libxml2', '2.9.10'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'source_urls': ['https://wayland.freedesktop.org/releases'], + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/wayland/-/releases/%(version)s/downloads'], + 'checksums': ['6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac'], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.25', { + 'checksums': ['f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460'], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..eb4b2f98bb1 --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.21.0-GCCcore-11.3.0.eb @@ -0,0 +1,62 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.21.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('CMake', '3.23.1'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +dependencies = [ + ('libffi', '3.4.2'), + ('expat', '2.4.8'), + ('libxml2', '2.9.13'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'source_urls': ['https://wayland.freedesktop.org/releases'], + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/wayland/-/releases/%(version)s/downloads'], + 'checksums': ['6dc64d7fc16837a693a51cfdb2e568db538bfdc9f457d4656285bb9594ef11ac'], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.25', { + 'checksums': ['f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460'], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.2.0.eb new file mode 100755 index 00000000000..2c77288b85d --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.2.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.22.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('expat', '2.4.9'), + ('libxml2', '2.10.3'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'source_urls': ['https://wayland.freedesktop.org/releases'], + 'sources': [SOURCE_TAR_XZ], + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/wayland/-/releases/%(version)s/downloads'], + 'configopts': "-Ddocumentation=false", + 'checksums': ['1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842'], + }), + ('wayland-protocols', '1.32', { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/%(version)s/downloads'], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH ", + 'checksums': ['7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11'], + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..78544e0dbfd --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-12.3.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.22.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('expat', '2.5.0'), + ('libxml2', '2.11.4'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842'], + 'sources': [SOURCE_TAR_XZ], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.32', { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11'], + 'sources': [SOURCE_TAR_XZ], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dac0641eed7 --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.22.0-GCCcore-13.2.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.22.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('libffi', '3.4.4'), + ('expat', '2.5.0'), + ('libxml2', '2.11.5'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842'], + 'sources': [SOURCE_TAR_XZ], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.32', { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11'], + 'sources': [SOURCE_TAR_XZ], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Wayland/Wayland-1.23.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/w/Wayland/Wayland-1.23.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..b774886e5cb --- /dev/null +++ b/easybuild/easyconfigs/w/Wayland/Wayland-1.23.0-GCCcore-13.3.0.eb @@ -0,0 +1,63 @@ +# Author: Jasper Grimm (UoY) +# URL of Wayland download changed to GitLab due to changes upstream +# Author: J. Sassmannshausen (Imperial College London/UK) +easyblock = 'Bundle' + +name = 'Wayland' +version = '1.23.0' + +homepage = 'https://wayland.freedesktop.org/' +description = """ +Wayland is a project to define a protocol for a compositor to talk to + its clients as well as a library implementation of the protocol. The + compositor can be a standalone display server running on Linux kernel + modesetting and evdev input devices, an X application, or a wayland + client itself. The clients can be traditional applications, X servers + (rootless or fullscreen) or other display servers. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('CMake', '3.29.3'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('pkgconf', '2.2.0'), + ('binutils', '2.42'), +] + +dependencies = [ + ('libffi', '3.4.5'), + ('expat', '2.6.2'), + ('libxml2', '2.12.7'), +] + +default_easyblock = 'MesonNinja' +default_component_specs = { + 'start_dir': '%(namelower)s-%(version)s', +} + +components = [ + ('wayland', version, { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['05b3e1574d3e67626b5974f862f36b5b427c7ceeb965cb36a4e6c2d342e45ab2'], + 'sources': [SOURCE_TAR_XZ], + 'configopts': "-Ddocumentation=false", + }), + ('wayland-protocols', '1.36', { + 'source_urls': ['https://gitlab.freedesktop.org/wayland/%(namelower)s/-/releases/%(version)s/downloads'], + 'checksums': ['71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92'], + 'sources': [SOURCE_TAR_XZ], + 'preconfigopts': "PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH " + }), +] + +_libs = ['lib/libwayland-%s.%s' % (x, SHLIB_EXT) for x in ['client', 'cursor', 'egl', 'server']] +sanity_check_paths = { + 'files': ['bin/wayland-scanner'] + _libs, + 'dirs': ['lib'], +} + +sanity_check_commands = ["wayland-scanner --help", "wayland-scanner --version"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..26dfe9217da --- /dev/null +++ b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.2.0.eb @@ -0,0 +1,52 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'Waylandpp' +version = '1.0.0' + +homepage = 'https://github.com/NilsBrause/waylandpp' +description = """Wayland is an object oriented display protocol, which +features request and events. Requests can be seen as method calls on +certain objects, whereas events can be seen as signals of an object. +This makes the Wayland protocol a perfect candidate for a C++ binding. + +The goal of this library is to create such a C++ binding for Wayland +using the most modern C++ technology currently available, providing +an easy to use C++ API to Wayland.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NilsBrause/waylandpp/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'b20b45917382c6b87e9380130c9a1a1c563da2f498de5830df12fbce326dd9f5', # 1.0.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('CMake', '3.22.1'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Wayland', '1.21.0'), + ('freeglut', '3.2.1'), +] + +sanity_check_paths = { + 'files': ['bin/wayland-scanner++', 'lib//libwayland-client-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-client++.%s' % SHLIB_EXT, + 'lib/libwayland-client-unstable++.%s' % SHLIB_EXT, + 'lib/libwayland-cursor++.%s' % SHLIB_EXT, + 'lib/libwayland-egl++.%s' % SHLIB_EXT, + 'lib/libwayland-server-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-server++.%s' % SHLIB_EXT, + 'lib/libwayland-server-unstable++.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e467e991a8a --- /dev/null +++ b/easybuild/easyconfigs/w/Waylandpp/Waylandpp-1.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,52 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'Waylandpp' +version = '1.0.0' + +homepage = 'https://github.com/NilsBrause/waylandpp' +description = """Wayland is an object oriented display protocol, which +features request and events. Requests can be seen as method calls on +certain objects, whereas events can be seen as signals of an object. +This makes the Wayland protocol a perfect candidate for a C++ binding. + +The goal of this library is to create such a C++ binding for Wayland +using the most modern C++ technology currently available, providing +an easy to use C++ API to Wayland.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/NilsBrause/waylandpp/archive'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + 'b20b45917382c6b87e9380130c9a1a1c563da2f498de5830df12fbce326dd9f5', # 1.0.0.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Wayland', '1.20.0'), + ('freeglut', '3.2.2'), +] + +sanity_check_paths = { + 'files': ['bin/wayland-scanner++', 'lib//libwayland-client-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-client++.%s' % SHLIB_EXT, + 'lib/libwayland-client-unstable++.%s' % SHLIB_EXT, + 'lib/libwayland-cursor++.%s' % SHLIB_EXT, + 'lib/libwayland-egl++.%s' % SHLIB_EXT, + 'lib/libwayland-server-extra++.%s' % SHLIB_EXT, + 'lib/libwayland-server++.%s' % SHLIB_EXT, + 'lib/libwayland-server-unstable++.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4-GCC-10.3.0.eb b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..fb003ec347d --- /dev/null +++ b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4-GCC-10.3.0.eb @@ -0,0 +1,72 @@ +easyblock = 'CMakeMake' + +name = 'WebKitGTK+' +version = '2.27.4' + +homepage = 'https://webkitgtk.org/' +description = """WebKitGTK+ is a full-featured port of the WebKit +rendering engine, suitable for projects requiring any kind of web +integration, from hybrid HTML/CSS applications to full-fledged web +browsers. It offers WebKit’s full functionality and is useful in a wide +range of systems from desktop computers to embedded systems like phones, +tablets, and televisions.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://webkitgtk.org/releases'] +sources = ['webkitgtk-%(version)s.tar.xz'] +patches = [ + '%(name)s-%(version)s_turn_off_various_problematic_features.patch', + '%(name)s-%(version)s_icuBOOL.patch' +] +checksums = [ + '50550a45464993070c544ec9777594d105fc5b35269520a3c96a3e2cd54874f7', # webkitgtk-2.27.4.tar.xz + # WebKitGTK+-2.27.4_turn_off_various_problematic_features.patch + '5aadd7898f6995bf89c558ce02d43e696ead962e283ddef88843160891494b5b', + '09c402193c3c03a0fa3676c143cd4eded4169c35baf75e78dac5c7a5c4ea7a3e', # WebKitGTK+-2.27.4_icuBOOL.patch +] + +osdependencies = [ + # Would be better to use the system package due to security reasons + # But we need at least libgcrypt 1.7.0 and Ubuntu 16.04 and RH 7.5 + # are both using a too old version. + # ('libgcrypt-dev', 'libgcrypt20-dev', 'libgcrypt-devel'), + # libsecret is not actually needed since USE_LIBSECRET option is disabled by default in patch + # ('libsecret-1-dev', 'libsecret-devel'), +] + +builddependencies = [ + ('CMake', '3.20.1'), + ('Python', '3.9.5'), + ('Perl', '5.32.1'), + ('GObject-Introspection', '1.68.0'), + ('pkg-config', '0.29.2'), +] +dependencies = [ + ('GLib', '2.68.2'), + ('gperf', '3.1'), + ('cairo', '1.16.0'), + ('GTK3', '3.24.29'), + ('LibSoup', '2.74.0'), + ('ATK', '2.36.0'), + ('libgcrypt', '1.9.2'), + ('libwebp', '1.2.0'), + ('libxslt', '1.1.34'), + ('libtasn1', '4.17.0'), + ('GStreamer', '1.18.4'), + ('OpenJPEG', '2.4.0'), + ('Ruby', '3.0.1'), +] + +# must be built in parallel with more than 1 process (parallel > 1) to avoid build error: +# No rule to make target 'JavaScriptCore-4.0.gir', needed by 'WebKit2-4.0.gir' +# see https://bugs.webkit.org/show_bug.cgi?id=195251 + +configopts = "-DPORT=GTK -DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python -DRUBY_EXECUTABLE=$EBROOTRUBY/bin/ruby " + +sanity_check_paths = { + 'files': ['bin/WebKitWebDriver', 'lib/libwebkit2gtk-4.0.%s' % SHLIB_EXT], + 'dirs': ['include/webkitgtk-4.0/webkit2', 'libexec/webkit2gtk-4.0'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4_icuBOOL.patch b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4_icuBOOL.patch new file mode 100644 index 00000000000..c6b7de4a7da --- /dev/null +++ b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.27.4_icuBOOL.patch @@ -0,0 +1,128 @@ +ICU no longer defines TRUE and FALSE macros since v68 +(https://icu.unicode.org/download/68) + +James Carpenter, 20220224 +diff -ru a/Source/WTF/wtf/text/icu/UTextProvider.h icu/UTextProvider.h +--- a/Source/WTF/wtf/text/icu/UTextProvider.h 2022-02-17 13:18:23.457460771 +0000 ++++ b/Source/WTF/wtf/text/icu/UTextProvider.h 2022-02-17 13:25:49.327177443 +0000 +@@ -79,12 +79,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -93,12 +93,12 @@ + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits::max()); + text->chunkOffset = offset < std::numeric_limits::max() ? static_cast(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff -ru a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp icu/UTextProviderLatin1.cpp +--- a/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp 2022-02-17 13:18:23.457460771 +0000 ++++ b/Source/WTF/wtf/text/icu/UTextProviderLatin1.cpp 2022-02-17 13:22:11.018867016 +0000 +@@ -100,23 +100,23 @@ + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -337,7 +337,7 @@ + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -357,7 +357,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp icu/UTextProviderUTF16.cpp +--- a/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp 2022-02-17 13:18:23.456460760 +0000 ++++ b/Source/WTF/wtf/text/icu/UTextProviderUTF16.cpp 2022-02-17 13:26:29.445601847 +0000 +@@ -126,7 +126,7 @@ + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -146,7 +146,7 @@ + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff -ru a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +--- a/Source/WebCore/platform/text/TextCodecICU.cpp 2022-02-17 16:03:58.160729579 +0000 ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp 2022-02-17 16:04:40.173138789 +0000 +@@ -239,7 +239,7 @@ + UErrorCode error = U_ZERO_ERROR; + m_converter = ICUConverterPtr { ucnv_open(m_canonicalConverterName, &error), ucnv_close }; + if (m_converter) +- ucnv_setFallback(m_converter.get(), TRUE); ++ ucnv_setFallback(m_converter.get(), true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& error) \ No newline at end of file diff --git a/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb new file mode 100644 index 00000000000..d944a2691e6 --- /dev/null +++ b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.37.1-GCC-11.2.0.eb @@ -0,0 +1,89 @@ +# Updated from WebKitGTK+-2.27.4-GCC-8.3.0.eb with more modules added +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'CMakeMake' + +name = 'WebKitGTK+' +version = '2.37.1' + +homepage = 'https://webkitgtk.org/' +description = """WebKitGTK+ is a full-featured port of the WebKit +rendering engine, suitable for projects requiring any kind of web +integration, from hybrid HTML/CSS applications to full-fledged web +browsers. It offers WebKit's full functionality and is useful in a wide +range of systems from desktop computers to embedded systems like phones, +tablets, and televisions.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://webkitgtk.org/releases'] +sources = ['webkitgtk-%(version)s.tar.xz'] +checksums = [ + 'c53326b1751f8c6da3db2f4bfa91c1801755893e287d0e1f6c07344589d4a6a7', # webkitgtk-2.37.1.tar.xz +] + +osdependencies = [ + # Would be better to use the system package due to security reasons + # But we need at least libgcrypt 1.7.0 and Ubuntu 16.04 and RH 7.5 + # are both using a too old version. + # Update: Libcrypt 1.9.3 from EasyBuild added (J.S) + # ('libgcrypt-dev', 'libgcrypt20-dev', 'libgcrypt-devel'), + # libsecret is not actually needed since USE_LIBSECRET option is disabled + # ('libsecret-1-dev', 'libsecret-devel'), +] + +builddependencies = [ + ('CMake', '3.22.1'), + ('Python', '3.9.6'), + ('Perl', '5.34.0', '-minimal'), + ('GObject-Introspection', '1.68.0'), + ('pkg-config', '0.29.2'), + ('ccache', '4.6.1'), +] +dependencies = [ + ('GLib', '2.69.1'), + ('gperf', '3.1'), + ('cairo', '1.16.0'), + ('GTK3', '3.24.31'), + ('LibSoup', '3.0.7'), + ('ATK', '2.36.0'), + ('libgcrypt', '1.9.3'), + ('libwebp', '1.2.0'), + ('libxslt', '1.1.34'), + ('libtasn1', '4.18.0'), + ('GStreamer', '1.18.5'), + ('OpenJPEG', '2.4.0'), + ('Ruby', '3.0.1'), + ('GSL', '2.7'), + ('glew', '2.2.0', '-egl'), + ('libwpe', '1.13.3'), + ('pugixml', '1.12.1'), + ('Wayland', '1.21.0'), + ('Waylandpp', '1.0.0'), + ('wpebackend-fdo', '1.13.1'), + ('enchant-2', '2.3.3'), + ('LittleCMS', '2.12'), + ('GST-plugins-base', '1.18.5'), +] + +# The build takes around 2.5 hours on 24 cores on AMD Rome! +# So be patient! + +# Instead of using a patch file, we are disabling problematic builds in the command line. +# At least this way, if something is not needed it can be turned off, without looking into +# a patch file. +configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON -DPORT=GTK -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE " +configopts += "-DENABLE_GAMEPAD=OFF -DUSE_LIBSECRET=OFF -DUSE_LIBHYPHEN=OFF " +configopts += "-DUSE_WOFF2=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=OFF " +configopts += "-DENABLE_INTROSPECTION=OFF -DUSE_LIBNOTIFY=OFF " + +prebuildopts = "export CCACHE_DIR=%(builddir)s/ccache && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/WebKitWebDriver', 'lib/libwebkit2gtk-4.1.%s' % SHLIB_EXT, + 'lib/libjavascriptcoregtk-4.1.%s' % SHLIB_EXT], + 'dirs': ['include/webkitgtk-4.1/webkit2', 'libexec/webkit2gtk-4.1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.40.4-GCC-11.3.0.eb b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.40.4-GCC-11.3.0.eb new file mode 100644 index 00000000000..16b1ca5e0f5 --- /dev/null +++ b/easybuild/easyconfigs/w/WebKitGTK+/WebKitGTK+-2.40.4-GCC-11.3.0.eb @@ -0,0 +1,91 @@ +# Updated from WebKitGTK+-2.27.4-GCC-8.3.0.eb with more modules added +# Author: J. Sassmannshausen (Imperial College London/UK) +# Update: THEMBL + +easyblock = 'CMakeMake' + +name = 'WebKitGTK+' +version = '2.40.4' + +homepage = 'https://webkitgtk.org/' +description = """WebKitGTK+ is a full-featured port of the WebKit +rendering engine, suitable for projects requiring any kind of web +integration, from hybrid HTML/CSS applications to full-fledged web +browsers. It offers WebKit's full functionality and is useful in a wide +range of systems from desktop computers to embedded systems like phones, +tablets, and televisions.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://webkitgtk.org/releases'] +sources = ['webkitgtk-%(version)s.tar.xz'] +checksums = ['8d163379297a2f7f51b455127f99836d9fe1572289f77b630ff3d63a2cb06dac'] + +osdependencies = [ + # Would be better to use the system package due to security reasons + # But we need at least libgcrypt 1.7.0 and Ubuntu 16.04 and RH 7.5 + # are both using a too old version. + # Update: Libcrypt 1.9.3 from EasyBuild added (J.S) + # ('libgcrypt-dev', 'libgcrypt20-dev', 'libgcrypt-devel'), + # libsecret is not actually needed since USE_LIBSECRET option is disabled + # ('libsecret-1-dev', 'libsecret-devel'), +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('Python', '3.10.4'), + ('Perl', '5.34.1', '-minimal'), + ('GObject-Introspection', '1.72.0'), + ('pkg-config', '0.29.2'), + ('ccache', '4.6.3'), + ('unifdef', '2.12'), +] +dependencies = [ + ('GLib', '2.72.1'), + ('gperf', '3.1'), + ('cairo', '1.17.4'), + ('GTK3', '3.24.33'), + ('LibSoup', '3.0.8'), + ('ATK', '2.38.0'), + ('libgcrypt', '1.10.1'), + ('wpebackend-fdo', '1.14.1'), + ('libxslt', '1.1.34'), + ('libtasn1', '4.19.0'), + ('GStreamer', '1.20.2'), + ('OpenJPEG', '2.5.0'), + ('Ruby', '3.0.5'), + ('GSL', '2.7'), + ('glew', '2.2.0', '-egl'), + ('pugixml', '1.12.1'), + ('Wayland', '1.20.0'), + ('Waylandpp', '1.0.0'), + ('enchant-2', '2.3.3'), + ('LittleCMS', '2.13.1'), + ('GST-plugins-base', '1.20.2'), + ('libwebp', '1.2.4'), + ('libavif', '0.11.1'), +] + + +# The build takes around 2.5 hours on 24 cores on AMD Rome! +# So be patient! + +# Instead of using a patch file, we are disabling problematic builds in the command line. +# At least this way, if something is not needed it can be turned off, without looking into +# a patch file. +configopts = "-DCMAKE_VERBOSE_MAKEFILE=ON -DPORT=GTK -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE " +configopts += "-DENABLE_GAMEPAD=OFF -DUSE_LIBSECRET=OFF -DUSE_LIBHYPHEN=OFF " +configopts += "-DUSE_WOFF2=OFF -DENABLE_JOURNALD_LOG=OFF -DENABLE_BUBBLEWRAP_SANDBOX=OFF " +configopts += "-DENABLE_INTROSPECTION=OFF -DUSE_LIBNOTIFY=OFF " +configopts += "-DUSE_GSTREAMER_TRANSCODER=OFF " + +prebuildopts = "export CCACHE_DIR=%(builddir)s/ccache && " +preinstallopts = prebuildopts + +sanity_check_paths = { + 'files': ['bin/WebKitWebDriver', 'lib/libwebkit2gtk-4.1.%s' % SHLIB_EXT, + 'lib/libjavascriptcoregtk-4.1.%s' % SHLIB_EXT], + 'dirs': ['include/webkitgtk-4.1/webkit2', 'libexec/webkit2gtk-4.1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb new file mode 100644 index 00000000000..e817cae7c7a --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.1-foss-2021a.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '1.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': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('Pysam', '0.16.0.1'), + ('networkx', '2.5.1'), + ('SciPy-bundle', '2021.05'), + ('Biopython', '1.79'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.6.3.1'), + ('python-isal', '0.11.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.4.0', { + 'checksums': ['69d6d1d8a18efe49fc3eb51cd558a2a538c6f76495d1732d259016f58b124498'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['4e6486e6ce2babf55a225dd9e0030df6fcc27629d34803428cbe88a79137bb6f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/whatshap'], + 'dirs': [], +} + +sanity_check_commands = [ + 'whatshap --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.4-foss-2021b.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.4-foss-2021b.eb new file mode 100644 index 00000000000..8db496eb42a --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.4-foss-2021b.eb @@ -0,0 +1,48 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '1.4' + +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': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('Pysam', '0.18.0'), + ('networkx', '2.6.3'), + ('SciPy-bundle', '2021.10'), + ('Biopython', '1.79'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.7.0'), + ('python-isal', '0.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('xopen', '1.5.0', { + 'checksums': ['822b926afd39b6904e5d2fdee6e0944d342023f2a42339103c1507b0da48c693'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['4172fc3b8b46344e1d5b07029a1599fb4f53f7d87abbe3a38996e362acdd024f'], + }), +] + +sanity_check_paths = { + 'files': ['bin/whatshap'], + 'dirs': [], +} + +sanity_check_commands = [ + 'whatshap --help', +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.7-foss-2022a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.7-foss-2022a.eb new file mode 100644 index 00000000000..f99182d699d --- /dev/null +++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-1.7-foss-2022a.eb @@ -0,0 +1,50 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild + +easyblock = 'PythonBundle' + +name = 'WhatsHap' +version = '1.7' + +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': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('Pysam', '0.19.1'), + ('networkx', '2.8.4'), + ('SciPy-bundle', '2022.05'), + ('Biopython', '1.79'), + ('Yasm', '1.3.0'), + ('pyfaidx', '0.7.1'), + ('python-isal', '1.1.0'), +] + +sanity_pip_check = True +use_pip = True + +exts_list = [ + ('xopen', '1.5.0', { + 'checksums': ['822b926afd39b6904e5d2fdee6e0944d342023f2a42339103c1507b0da48c693'], + }), + ('pulp', '2.7.0', { + 'source_tmpl': 'PuLP-%(version)s.tar.gz', + 'checksums': ['e73ee6b32d639c9b8cf4b4aded334ba158be5f8313544e056f796ace0a10ae63'], + }), + (name, version, { + 'source_tmpl': '%(namelower)s-%(version)s.tar.gz', + 'checksums': ['abd90551a4e19426ceb3a84ed1c8e23f609869956a7f16609f6950aedc930a2c'], + }), +] + +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.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/Whisper/Whisper-20231117-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/w/Whisper/Whisper-20231117-foss-2023a-CUDA-12.1.1.eb new file mode 100644 index 00000000000..53a2aa183b1 --- /dev/null +++ b/easybuild/easyconfigs/w/Whisper/Whisper-20231117-foss-2023a-CUDA-12.1.1.eb @@ -0,0 +1,40 @@ +easyblock = 'PythonBundle' + +name = 'Whisper' +version = '20231117' +versionsuffix = '-CUDA-12.1.1' + +homepage = 'https://github.com/openai/whisper' +description = "Whisper is a general-purpose speech recognition model" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('tqdm', '4.66.1'), + ('numba', '0.58.1'), + ('PyTorch', '2.1.2', versionsuffix), + ('tiktoken', '0.7.0'), + ('Triton', '2.1.0', versionsuffix), +] + +use_pip = True + +exts_list = [ + ('openai-whisper', version, { + 'checksums': ['7af424181436f1800cc0b7d75cf40ede34e9ddf1ba4983a910832fcf4aade4a4'], + 'modulename': 'whisper', + }), +] + +sanity_check_paths = { + 'files': ['bin/whisper'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["whisper --help"] + +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-GCCcore-10.3.0.eb b/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..bfe2c59c4b8 --- /dev/null +++ b/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +easyblock = "MakeCp" + +name = 'WildMagic' +version = '5.17' + +homepage = "https://www.geometrictools.com/index.html" +description = """Wild Magic 5.17""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://www.geometrictools.com/Downloads/'] +sources = ['WildMagic5p17.zip'] +checksums = ['b2caf7aa0c5309eb40965ed26439388dc1c93eb632312b40573f83e4746a9ecf'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('freeglut', '3.2.1'), +] + +buildopts = 'CFG=ReleaseDynamic -f makefile.wm5 CC="$CXX"' + +files_to_copy = [ + (['SDK/Library/ReleaseDynamic/*'], 'lib'), + (['SDK/Include/*'], 'include'), +] + +sanity_check_paths = { + 'files': ['lib/libWm5%s.%s' % (x, SHLIB_EXT) for x in [ + 'Core', 'Applications', 'Graphics', 'Imagics', 'Mathematics', 'Physics' + ]], + 'dirs': ['include', 'lib'], +} + +moduleclass = "math" diff --git a/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-foss-2018b.eb b/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-foss-2018b.eb index a7dc62e1381..22c69f44820 100644 --- a/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-foss-2018b.eb +++ b/easybuild/easyconfigs/w/WildMagic/WildMagic-5.17-foss-2018b.eb @@ -17,7 +17,7 @@ dependencies = [ ('freeglut', '3.0.0'), ] -buildopts = "CFG=ReleaseDynamic -f makefile.wm5" +buildopts = 'CFG=ReleaseDynamic -f makefile.wm5 CC="$CXX"' files_to_copy = [ (['SDK/Library/ReleaseDynamic/*'], 'lib'), diff --git a/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2021a.eb b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2021a.eb new file mode 100644 index 00000000000..b033fcf10d9 --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1-foss-2021a.eb @@ -0,0 +1,48 @@ +# easyconfig file for waLBerla v6.1 +easyblock = 'CMakeMake' + +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': '2021a'} +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.patch'] +checksums = [ + {'waLBerla-v6.1.tar.gz': 'f0acdd9ad6543bc9306c8aae953dd5065986271d4398916ae0469db8b21c007a'}, + {'waLBerla-6.1_fix_cmakelist_for_easybuild.patch': + '057066d07294e8f159c2545d2d5f9138d439dbb54bc70eb75eca1f82ae650c47'}, +] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('pybind11', '2.6.2'), + ('Python', '3.9.5'), + ('Boost.MPI', '1.76.0'), + ('SciPy-bundle', '2021.05'), +] + +parallel = 1 + +configopts = "-DWALBERLA_BUILD_WITH_PYTHON=ON " +configopts += "-DWALBERLA_BUILD_SHOWCASES=OFF " +configopts += "-DWALBERLA_BUILD_DOC=OFF " +configopts += "-DPython_ROOT_DIR=$EBROOTPYTHON " + +modextrapaths = {'PYTHONPATH': ['pythonmodule']} + +sanity_check_paths = { + 'files': ['waLBerlaDefinitions.h', 'pythonmodule/walberla_cpp.cpython-39-x86_64-linux-gnu.so'], + 'dirs': ['pythonmodule'] +} + +sanity_check_commands = [('python', "-c 'import waLBerla'")] + +moduleclass = 'chem' 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.patch b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild.patch new file mode 100644 index 00000000000..c5b275b6fe3 --- /dev/null +++ b/easybuild/easyconfigs/w/waLBerla/waLBerla-6.1_fix_cmakelist_for_easybuild.patch @@ -0,0 +1,16 @@ +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,10 @@ + 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/pythonmodule/ DESTINATION pythonmodule/ ) ++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/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.13.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.13.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1fdb7113a4e --- /dev/null +++ b/easybuild/easyconfigs/w/wandb/wandb-0.13.4-GCCcore-11.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'PythonBundle' + +name = 'wandb' +version = '0.13.4' + +homepage = 'https://www.wandb.com/' +description = """ +CLI and Python API for Weights and Biases: a tool for visualizing and tracking +your machine learning experiments.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('GitPython', '3.1.27'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('termcolor', '1.1.0', { + 'checksums': ['1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b'], + }), + ('yaspin', '2.1.0', { + 'checksums': ['c8d34eca9fda3f4dfbe59f57f3cf0f3641af3eefbf1544fbeb9b3bacf82c580a'], + }), + ('shortuuid', '1.0.9', { + 'checksums': ['459f12fa1acc34ff213b1371467c0325169645a31ed989e268872339af7563d5'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + ('sentry-sdk', '1.8.0', { + 'checksums': ['9c68e82f7b1ad78aee6cdef57c2c0f6781ddd9ffa8848f4503c5a8e02b360eea'], + }), + ('charset-normalizer', '2.0.12', { + 'checksums': ['2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597'], + }), + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('pathtools', '0.1.2', { + 'checksums': ['7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0'], + }), + ('docker-pycreds', '0.4.0', { + 'modulename': 'dockerpycreds', + 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], + }), + (name, version, { + 'checksums': ['51e2672e12cca94680f6bcff0af80822d562e6b7846036050fc5bdd00240ea75'], + }), +] + +sanity_check_paths = { + 'files': ['bin/wandb', 'bin/wb'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ['wandb --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb b/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..7b9de203570 --- /dev/null +++ b/easybuild/easyconfigs/w/wandb/wandb-0.13.6-GCC-11.3.0.eb @@ -0,0 +1,55 @@ +easyblock = 'PythonBundle' + +name = 'wandb' +version = '0.13.6' + +homepage = 'https://wandb.ai' +description = """CLI and Python API for Weights and Biases (wandb), a tool for visualizing and +tracking your machine learning experiments.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +dependencies = [ + ('Python', '3.10.4'), + ('GitPython', '3.1.27'), + ('PyYAML', '6.0'), + ('protobuf-python', '3.19.4'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('docker-pycreds', '0.4.0', { + 'modulename': 'dockerpycreds', + 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], + }), + ('pathtools', '0.1.2', { + 'checksums': ['7c35c5421a39bb82e58018febd90e3b6e5db34c5443aaaf742b3f33d4655f1c0'], + }), + ('promise', '2.3', { + 'checksums': ['dfd18337c523ba4b6a58801c164c1904a9d4d1b1747c7d5dbf45b693a49d93d0'], + }), + ('urllib3', '1.26.13', { + 'checksums': ['c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8'], + }), + ('sentry-sdk', '1.11.1', { + 'checksums': ['675f6279b6bb1fea09fd61751061f9a90dca3b5929ef631dd50dc8b3aeb245e9'], + }), + ('setproctitle', '1.3.2', { + 'checksums': ['b9fb97907c830d260fa0658ed58afd48a86b2b88aac521135c352ff7fd3477fd'], + }), + ('shortuuid', '1.0.11', { + 'checksums': ['fc75f2615914815a8e4cb1501b3a513745cb66ef0fd5fc6fb9f8c3fa3481f789'], + }), + (name, version, { + 'checksums': ['0d721aea476fd013c61a516948630ad58ceba78f4283b1f4b446e931664a8a98'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wandb', 'wb']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'ai' 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 new file mode 100644 index 00000000000..878f6cc3f72 --- /dev/null +++ b/easybuild/easyconfigs/w/wandb/wandb-0.16.1-GCC-12.3.0.eb @@ -0,0 +1,45 @@ +easyblock = 'PythonBundle' + +name = 'wandb' +version = '0.16.1' + +homepage = 'https://wandb.ai' +description = """CLI and Python API for Weights and Biases (wandb), a tool for visualizing and +tracking your machine learning experiments.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +dependencies = [ + ('Python', '3.11.3'), + ('Python-bundle-PyPI', '2023.06'), + ('GitPython', '3.1.40'), + ('PyYAML', '6.0'), + ('protobuf-python', '4.24.0'), + ('hatchling', '1.18.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('docker-pycreds', '0.4.0', { + 'modulename': 'dockerpycreds', + 'checksums': ['6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4'], + }), + ('sentry-sdk', '1.39.1', { + 'checksums': ['320a55cdf9da9097a0bead239c35b7e61f53660ef9878861824fd6d9b2eaf3b5'], + }), + ('setproctitle', '1.3.3', { + 'checksums': ['c913e151e7ea01567837ff037a23ca8740192880198b7fbb90b16d181607caae'], + }), + (name, version, { + 'checksums': ['ffe6e8dd8cc8fcd72010c1246fb3d6d226b37c4f111f3f94308a1c0ae28a2fec'], + }), +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wandb', 'wb']], + 'dirs': ['lib/python%(pyshortver)s/site-packages'] +} + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/w/weblogo/weblogo-2.8.2-foss-2022b.eb b/easybuild/easyconfigs/w/weblogo/weblogo-2.8.2-foss-2022b.eb new file mode 100644 index 00000000000..80923183514 --- /dev/null +++ b/easybuild/easyconfigs/w/weblogo/weblogo-2.8.2-foss-2022b.eb @@ -0,0 +1,45 @@ +easyblock = 'Tarball' + +name = 'weblogo' +version = '2.8.2' + +homepage = "https://weblogo.berkeley.edu" +description = """WebLogo is a web based application designed to make the generation of sequence logos as easy +and painless as possible.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +source_urls = ['https://weblogo.berkeley.edu/release'] +sources = ['weblogo.%(version)s.tar.gz'] +checksums = ['2d3e0040c0c1e363c1dfd57f8b585387eb682ed08b2cc2fe2e4cc2a33ac52266'] + +dependencies = [ + ('Perl', '5.36.0'), + ('Ghostscript', '10.0.0'), + ('ImageMagick', '7.1.0-53'), +] + +postinstallcmds = [ + 'mkdir %(installdir)s/bin', + 'mkdir -p %(installdir)s/lib', + 'mv %(installdir)s/seqlogo %(installdir)s/bin/', + 'cp %(installdir)s/template.eps %(installdir)s/bin/', + 'mv %(installdir)s/*.pm %(installdir)s/lib/', # Move all Perl modules to the lib directory + 'mv %(installdir)s/logo.cgi %(installdir)s/lib/', + 'chmod +x %(installdir)s/bin/seqlogo', +] + +modextrapaths = { + 'PERL5LIB': 'lib', # Use relative path +} + +sanity_check_paths = { + 'files': ['bin/seqlogo', 'lib/logo.pm', 'lib/template.pm'], + 'dirs': [], +} + +sanity_check_commands = [ + "seqlogo -f %(installdir)s/globin.fasta" +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb new file mode 100644 index 00000000000..f80a2d11ffd --- /dev/null +++ b/easybuild/easyconfigs/w/wfdb/wfdb-4.1.2-foss-2022a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'wfdb' +version = '4.1.2' + +homepage = 'https://wfdb.readthedocs.io/en/latest/' +description = """The native Python waveform-database (WFDB) package. + A library of tools for reading, writing, and processing WFDB signals and annotations.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +builddependencies = [ + ('poetry', '1.2.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('cffi', '1.15.1'), + ('matplotlib', '3.5.2'), + ('libsndfile', '1.1.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('soundfile', '0.12.1', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['828a79c2e75abab5359f780c81dccd4953c45a2c4cd4f05ba3e233ddf984b882'], + }), + ('certifi', '2024.2.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1'], + }), + ('idna', '3.7', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0'], + }), + ('charset_normalizer', '3.3.2', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc'], + }), + # not the latest version to avoid hatchling + ('urllib3', '1.26.18', { + 'source_tmpl': SOURCE_WHL, + 'checksums': ['34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07'], + }), + ('requests', '2.31.0', { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f'], + }), + (name, version, { + 'source_tmpl': SOURCE_PY3_WHL, + 'checksums': ['57ef64309ec7793bb11611c646d129f0b1936b598947fed8c14f90a35665053d'], + }), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wget/wget-1.19.4-GCCcore-6.4.0.eb b/easybuild/easyconfigs/w/wget/wget-1.19.4-GCCcore-6.4.0.eb index 2dd214fecd0..3e958246704 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.19.4-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.19.4-GCCcore-6.4.0.eb @@ -31,7 +31,10 @@ dependencies = [ ] # make sure pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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 ' osdependencies = [OS_PKG_OPENSSL_DEV] diff --git a/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-7.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-7.3.0.eb index 07e2836707e..58155b9ba65 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-7.3.0.eb @@ -31,7 +31,10 @@ dependencies = [ ] # make sure pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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 ' osdependencies = [OS_PKG_OPENSSL_DEV] diff --git a/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-8.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-8.3.0.eb index 284145e9acd..c8948202cef 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.20.1-GCCcore-8.3.0.eb @@ -31,7 +31,10 @@ dependencies = [ ] # make sure pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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 ' osdependencies = [OS_PKG_OPENSSL_DEV] diff --git a/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-10.2.0.eb index b553d124898..a32a03e427c 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-10.2.0.eb @@ -32,7 +32,10 @@ dependencies = [ ] # make sure pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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 ' osdependencies = [OS_PKG_OPENSSL_DEV] diff --git a/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-9.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-9.3.0.eb index 04371b74a51..43dc36af7e7 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.20.3-GCCcore-9.3.0.eb @@ -31,7 +31,10 @@ dependencies = [ ] # make sure pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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 ' osdependencies = [OS_PKG_OPENSSL_DEV] diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.1-GCCcore-10.3.0.eb index c6ac6a93321..4b401e95412 100644 --- a/easybuild/easyconfigs/w/wget/wget-1.21.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/w/wget/wget-1.21.1-GCCcore-10.3.0.eb @@ -26,14 +26,17 @@ dependencies = [ ('PCRE', '8.44'), ('libidn2', '2.3.0'), ('zlib', '1.2.11'), - ('OpenSSL', '1.1', '', True), + ('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 pkg-config picks up system packages (OpenSSL & co) -preconfigopts = "export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig && " +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. diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c8162cdfea5 --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.2-GCCcore-11.2.0.eb @@ -0,0 +1,51 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.21.2' + +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': '11.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['e6d4c76be82c676dd7e8c61a29b2ac8510ae108a810b5d1d18fc9a1d2c9a2497'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Perl', '5.34.0'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.2'), + ('zlib', '1.2.11'), + ('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 pkg-config 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/wget/wget-1.21.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..481dbcb3ede --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.3-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.21.3' + +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': '11.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +patches = ['wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch'] +checksums = [ + {'wget-1.21.3.tar.gz': '5726bb8bc5ca0f6dc7110f6416e4bb7019e2d2ff5bf93d1ca2ffcc6656f220e5'}, + {'wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch': + '0e0aa7a1a4afbe1eefbafb196f162fa5068a03325e342fdc212a16e3c4c946d4'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('pkg-config', '0.29.2'), + ('Perl', '5.34.1'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.2'), + ('zlib', '1.2.12'), + ('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 pkg-config 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/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch b/easybuild/easyconfigs/w/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch new file mode 100644 index 00000000000..dcdae13629c --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.3_fix_syntax_error_old_glibc_gcc11.patch @@ -0,0 +1,32 @@ +2022-04-30 Bruno Haible + +string: Avoid syntax error on glibc systems with GCC 11. +Reported by Tom Tromey in + +and by Satadru Pramanik in +. +* lib/string.in.h (strndup): Don't rededeclare strndup if it is defined +as a macro. + +diff --git a/lib/string.in.h b/lib/string.in.h +index b6840fa912..33160b2525 100644 +--- a/lib/string.in.h ++++ b/lib/string.in.h +@@ -583,7 +583,7 @@ _GL_FUNCDECL_RPL (strndup, char *, + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); + _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); + # else +-# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11 ++# if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ARG_NONNULL ((1)) +@@ -593,7 +593,7 @@ _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); + # endif + _GL_CXXALIASWARN (strndup); + #else +-# if __GNUC__ >= 11 ++# if __GNUC__ >= 11 && !defined strndup + /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ + _GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) diff --git a/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7dae35b8d9f --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.21.4-GCCcore-12.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': '12.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = [ + {SOURCE_TAR_GZ: '81542f5cefb8faacc39bbbc6c82ded80e3e4a88505ae72ea51df27525bcde04c'}, +] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Perl', '5.36.0'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.4'), + ('zlib', '1.2.12'), + ('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/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/wget/wget-1.24.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ea4438bce14 --- /dev/null +++ b/easybuild/easyconfigs/w/wget/wget-1.24.5-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'ConfigureMake' + +name = 'wget' +version = '1.24.5' + +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': '12.3.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = [ + {SOURCE_TAR_GZ: 'fa2dc35bab5184ecbc46a9ef83def2aaaa3f4c9f3c97d4bd19dcb07d4da637de'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Perl', '5.36.1'), +] +dependencies = [ + ('PCRE', '8.45'), + ('libidn2', '2.3.7'), + ('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/wgsim/wgsim-20111017-GCC-10.2.0.eb b/easybuild/easyconfigs/w/wgsim/wgsim-20111017-GCC-10.2.0.eb new file mode 100644 index 00000000000..4fc09775ac6 --- /dev/null +++ b/easybuild/easyconfigs/w/wgsim/wgsim-20111017-GCC-10.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'wgsim' +version = '20111017' +local_commit = 'a12da3375ff3b51a5594d4b6fa35591173ecc229' + +homepage = 'https://github.com/lh3/wgsim/' +description = "Wgsim is a small tool for simulating sequence reads from a reference genome." + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.zip' % local_commit, 'filename': SOURCE_ZIP}] +checksums = ['1180fdd1d66691da5634e8c98b78c4742d0faf10042f35c2d17d26844d550f1c'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.32.0'), +] + +cmds_map = [('.*', "$CC $CFLAGS -o %(name)s %(name)s.c $LDFLAGS -lz -lm")] + +files_to_copy = [(['wgsim', 'wgsim_eval.pl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/wgsim', 'bin/wgsim_eval.pl'], + 'dirs': [], +} + +sanity_check_commands = ["wgsim -h 2>&1 | grep 'Program: wgsim (short read simulator)'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/wgsim/wgsim-20111017-GCC-11.2.0.eb b/easybuild/easyconfigs/w/wgsim/wgsim-20111017-GCC-11.2.0.eb new file mode 100644 index 00000000000..daa306f958e --- /dev/null +++ b/easybuild/easyconfigs/w/wgsim/wgsim-20111017-GCC-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CmdCp' + +name = 'wgsim' +version = '20111017' +local_commit = 'a12da3375ff3b51a5594d4b6fa35591173ecc229' + +homepage = 'https://github.com/lh3/wgsim/' +description = "Wgsim is a small tool for simulating sequence reads from a reference genome." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +github_account = 'lh3' +source_urls = [GITHUB_SOURCE] +sources = [{'download_filename': '%s.zip' % local_commit, 'filename': SOURCE_ZIP}] +checksums = ['1180fdd1d66691da5634e8c98b78c4742d0faf10042f35c2d17d26844d550f1c'] + +dependencies = [ + ('zlib', '1.2.11'), + ('Perl', '5.34.0'), +] + +cmds_map = [('.*', "$CC $CFLAGS -o %(name)s %(name)s.c $LDFLAGS -lz -lm")] + +files_to_copy = [(['wgsim', 'wgsim_eval.pl'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/wgsim', 'bin/wgsim_eval.pl'], + 'dirs': [], +} + +sanity_check_commands = ["wgsim -h 2>&1 | grep 'Program: wgsim (short read simulator)'"] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2019a.eb b/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2019a.eb index af9f61a3831..96c86b0cd39 100644 --- a/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2019a.eb +++ b/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2019a.eb @@ -8,80 +8,35 @@ description = """The Worker framework has been developed to help deal with param that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" -toolchain = SYSTEM +local_tcname = 'foss' +local_tcver = '2019a' +toolchain = {'name': local_tcname, 'version': local_tcver} +toolchainopts = {'usempi': True} source_urls = ['https://github.com/gjbex/worker/archive/'] sources = ['%(version)s.tar.gz'] checksums = ['503ad9db78d949999bd5f3ba15b18f746cad2eaf2ff49240398b2b6792f9ffbd'] -osdependencies = ['perl'] - -local_tcname = 'foss' -local_tcver = '2019a' -builddependencies = [(local_tcname, local_tcver)] -versionsuffix = '-%s-%s' % (local_tcname, local_tcver) - -exts_defaultclass = 'PerlModule' - -exts_list = [ - ('Config::General', '2.63', { - 'source_tmpl': 'Config-General-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TL/TLINDEN'], - 'checksums': ['0a9bf977b8aabe76343e88095d2296c8a422410fd2a05a1901f2b20e2e1f6fad'], - }), - ('IO::Stringy', '2.113', { - 'source_tmpl': 'IO-Stringy-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/'], - 'checksums': ['51220fcaf9f66a639b69d251d7b0757bf4202f4f9debd45bdd341a6aca62fe4e'], - }), - ('Text::CSV', '2.00', { - 'source_tmpl': 'Text-CSV-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], - 'checksums': ['8ccbd9195805222d995844114d0e595bb24ce188f85284dbf256080311cbb2c2'], - }), - ('DBI', '1.643', { - 'source_tmpl': 'DBI-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TI/TIMB'], - 'checksums': ['8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa'], - }), - ('DBD::SQLite', '1.64', { - 'source_tmpl': 'DBD-SQLite-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/I/IS/ISHIGAKI'], - 'checksums': ['f4ae8f7b50842305566aadd90f7bfd12a9e32b6c603a9b1c1529e73eb82aff01'], - }), - ('Date::Language', '2.32', { - 'source_tmpl': 'TimeDate-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/'], - 'checksums': ['34eca099e375e2d142ea6cc935922c4980dc21c65ce7c24823ca08457c4bb3d6'], - }), - ('Template', '3.008', { - 'source_tmpl': 'Template-Toolkit-%(version)s.tar.gz', - 'source_urls': ['https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC'], - 'checksums': ['52400f68bef6731b0fca00e3438ed835b29ab9fec72a404866dee8fc139da692'], - }), +dependencies = [ + ('Perl', '5.28.1') ] -preconfigopts = "export CC=mpicc && " - -modextrapaths = { - 'PERL5LIB': ['share/perl5', 'lib64/perl5'], -} - # adjust worker configuration file # note: tweak this to your local setup postinstallcmds = [ 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', - 'sed -i "s/ unload_modules = .*/ unload_modules = intel/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = %s/g" %%(installdir)s/conf/worker.conf' % local_tcname, 'sed -i "s@ mpi_module = .*@ mpi_module = %s/%s@g" %%(installdir)s/conf/worker.conf' % (local_tcname, local_tcver), 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', + "echo PERL=\\'`which perl`\\' > %(installdir)s/conf/worker_perl.sh", ] sanity_check_paths = { - 'files': ['bin/%s' % x for x in ['dbilogstrip', 'dbiprof', 'dbiproxy', 'tpage', 'ttree', 'wcat', 'wconvert', - 'wload', 'worker', 'wreduce', 'wresume', 'wsub', 'wsummarize']], - 'dirs': ['lib/perl', 'lib/tt', 'lib64/perl5'], + 'files': ['bin/%s' % x for x in ['wcat', 'wconvert', 'wload', 'worker', 'wreduce', 'wresume', 'wsub', + 'wsummarize']], + 'dirs': ['lib/perl', 'lib/tt'], } sanity_check_commands = ["wsub -help"] diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2021b.eb b/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2021b.eb new file mode 100644 index 00000000000..9657cb67905 --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.12-foss-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'worker' +version = '1.6.12' + +homepage = 'https://github.com/gjbex/worker' +description = """The Worker framework has been developed to help deal with parameter exploration experiments + that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; + see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" + +local_tcname = 'foss' +local_tcver = '2021b' +toolchain = {'name': local_tcname, 'version': local_tcver} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/gjbex/worker/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['503ad9db78d949999bd5f3ba15b18f746cad2eaf2ff49240398b2b6792f9ffbd'] + +dependencies = [ + ('Perl', '5.34.0') +] + +# need to replace MPI_Type_struct by MPI_Type_create_struct, since MPI_Type_struct was removed in MPI 3.0; +# see also https://github.com/gjbex/worker/pull/45 +preconfigopts = "sed -i 's/MPI_Type_struct/MPI_Type_create_struct/g' src/worker.c && " + +# adjust worker configuration file +# note: tweak this to your local setup +postinstallcmds = [ + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 32/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = %s/g" %%(installdir)s/conf/worker.conf' % local_tcname, + 'sed -i "s@ mpi_module = .*@ mpi_module = %s/%s@g" %%(installdir)s/conf/worker.conf' % (local_tcname, local_tcver), + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', + "echo PERL=\\'`which perl`\\' > %(installdir)s/conf/worker_perl.sh", +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wcat', 'wconvert', 'wload', 'worker', 'wreduce', 'wresume', 'wsub', + 'wsummarize']], + 'dirs': ['lib/perl', 'lib/tt'], +} + +sanity_check_commands = ["wsub -help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2021b.eb b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2021b.eb new file mode 100644 index 00000000000..123299fc45c --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2021b.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'worker' +version = '1.6.13' + +homepage = 'https://github.com/gjbex/worker' +description = """The Worker framework has been developed to help deal with parameter exploration experiments + that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; + see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" + +local_tcname = 'iimpi' +local_tcver = '2021b' +toolchain = {'name': local_tcname, 'version': local_tcver} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/gjbex/worker/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fixintel.patch'] +checksums = [ + 'b42b8566d82048c706427913c8f7edcd9f5892d61f190ce1f49e428113b7e1bc', # 1.6.13.tar.gz + 'c28bbc837ec5d6fb3390df668b06e0b5169ca31dede907336a2b0637c4a81504', # worker-1.6.13_fixintel.patch +] + +dependencies = [ + ('Perl', '5.34.0') +] + +# adjust worker configuration file +# note: tweak this to your local setup +postinstallcmds = [ + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = %s/g" %%(installdir)s/conf/worker.conf' % (local_tcname), + 'sed -i "s@ mpi_module = .*@ mpi_module = %s/%s@g" %%(installdir)s/conf/worker.conf' % (local_tcname, local_tcver), + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', + "echo PERL=\\'`which perl`\\' > %(installdir)s/conf/worker_perl.sh", +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wcat', 'wconvert', 'wload', 'worker', 'wreduce', 'wresume', 'wsub', + 'wsummarize']], + 'dirs': ['lib/perl', 'lib/tt'], +} + +sanity_check_commands = ["wsub -help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2022b.eb b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2022b.eb new file mode 100644 index 00000000000..f8398f59486 --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2022b.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'worker' +version = '1.6.13' + +homepage = 'https://github.com/gjbex/worker' +description = """The Worker framework has been developed to help deal with parameter exploration experiments + that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; + see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" + +local_tcname = 'iimpi' +local_tcver = '2022b' +toolchain = {'name': local_tcname, 'version': local_tcver} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/gjbex/worker/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fixintel.patch'] +checksums = [ + 'b42b8566d82048c706427913c8f7edcd9f5892d61f190ce1f49e428113b7e1bc', # 1.6.13.tar.gz + 'c28bbc837ec5d6fb3390df668b06e0b5169ca31dede907336a2b0637c4a81504', # worker-1.6.13_fixintel.patch +] + +dependencies = [ + ('Perl', '5.36.0') +] + +# adjust worker configuration file +# note: tweak this to your local setup +postinstallcmds = [ + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = %s/g" %%(installdir)s/conf/worker.conf' % (local_tcname), + 'sed -i "s@ mpi_module = .*@ mpi_module = %s/%s@g" %%(installdir)s/conf/worker.conf' % (local_tcname, local_tcver), + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', + "echo PERL=\\'`which perl`\\' > %(installdir)s/conf/worker_perl.sh", +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wcat', 'wconvert', 'wload', 'worker', 'wreduce', 'wresume', 'wsub', + 'wsummarize']], + 'dirs': ['lib/perl', 'lib/tt'], +} + +sanity_check_commands = ["wsub -help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2023a.eb b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2023a.eb new file mode 100644 index 00000000000..f3b254591f5 --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.13-iimpi-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'worker' +version = '1.6.13' + +homepage = 'https://github.com/gjbex/worker' +description = """The Worker framework has been developed to help deal with parameter exploration experiments + that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; + see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.""" + +local_tcname = 'iimpi' +local_tcver = '2023a' +toolchain = {'name': local_tcname, 'version': local_tcver} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/gjbex/worker/archive/'] +sources = ['%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fixintel.patch'] +checksums = [ + 'b42b8566d82048c706427913c8f7edcd9f5892d61f190ce1f49e428113b7e1bc', # 1.6.13.tar.gz + 'c28bbc837ec5d6fb3390df668b06e0b5169ca31dede907336a2b0637c4a81504', # worker-1.6.13_fixintel.patch +] + +dependencies = [ + ('Perl', '5.36.1'), + ('Perl-bundle-CPAN', '5.36.1'), +] + +# adjust worker configuration file +# note: tweak this to your local setup +postinstallcmds = [ + 'sed -i "s/ cores_per_node = .*/ cores_per_node = 16/g" %(installdir)s/conf/worker.conf', + 'sed -i "s@ qsub = .*@ qsub = `which qsub`@g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ email = .*/ email = hpc-support@example.com/g" %(installdir)s/conf/worker.conf', + 'sed -i "s/ unload_modules = .*/ unload_modules = %s/g" %%(installdir)s/conf/worker.conf' % (local_tcname), + 'sed -i "s@ mpi_module = .*@ mpi_module = %s/%s@g" %%(installdir)s/conf/worker.conf' % (local_tcname, local_tcver), + 'sed -i "s@ module_path = .*@ module_path = %(installdir)s/../../../modules/all@g" %(installdir)s/conf/worker.conf', + "echo PERL=\\'`which perl`\\' > %(installdir)s/conf/worker_perl.sh", +] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['wcat', 'wconvert', 'wload', 'worker', 'wreduce', 'wresume', 'wsub', + 'wsummarize']], + 'dirs': ['lib/perl', 'lib/tt'], +} + +sanity_check_commands = ["wsub -help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/worker/worker-1.6.13_fixintel.patch b/easybuild/easyconfigs/w/worker/worker-1.6.13_fixintel.patch new file mode 100644 index 00000000000..6c4e1db83f8 --- /dev/null +++ b/easybuild/easyconfigs/w/worker/worker-1.6.13_fixintel.patch @@ -0,0 +1,22 @@ +# Intel MPI > ~2019.5 does not have I_MPI_WAIT_MODE +From b8355b9b6d5e9b77a9a3c50858d95f43b2bc5575 Mon Sep 17 00:00:00 2001 +From: Geert Jan Bex +Date: Thu, 13 Jan 2022 17:28:15 +0100 +Subject: [PATCH] Remove I_MPI_WAIT_MODE since support was dropped + +--- + src/tt/worker.pbs.tt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/tt/worker.pbs.tt b/src/tt/worker.pbs.tt +index 4eefb9f..2e21b3f 100644 +--- a/src/tt/worker.pbs.tt ++++ b/src/tt/worker.pbs.tt +@@ -83,7 +83,6 @@ n_proc=$(cat ${PBS_NODEFILE} | wc -l) + export KMP_AFFINITY=compact + [%END%] + +-export I_MPI_WAIT_MODE=enable + # compute log option + WORKER_LOG_FILE="-l [%logfile%]" + diff --git a/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e675f510aa1 --- /dev/null +++ b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.13.1-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MesonNinja' + +name = 'wpebackend-fdo' +version = '1.13.1' + +homepage = 'https://wpewebkit.org/' +description = """WPE WebKit allows embedders to create simple and performant +systems based on Web platform technologies. It is a WebKit port designed with +flexibility and hardware acceleration in mind, leveraging common 3D graphics +APIs for best performance.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['d61ca47ec52d7cd1d6f869f66d6ea247a53092acfad1a8cbab71836a82d3a0ae'] + +builddependencies = [ + ('CMake', '3.22.1'), + ('binutils', '2.37'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Waylandpp', '1.0.0'), + ('libepoxy', '1.5.8'), + ('glib-networking', '2.72.1'), + ('libwpe', '1.13.3'), +] + +sanity_check_paths = { + 'files': ['lib/libWPEBackend-fdo-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.14.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.14.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..817421c5bfd --- /dev/null +++ b/easybuild/easyconfigs/w/wpebackend-fdo/wpebackend-fdo-1.14.1-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) +# update 1.14.1 THEMBL +easyblock = 'MesonNinja' + +name = 'wpebackend-fdo' +version = '1.14.1' + +homepage = 'https://wpewebkit.org/' +description = """WPE WebKit allows embedders to create simple and performant +systems based on Web platform technologies. It is a WebKit port designed with +flexibility and hardware acceleration in mind, leveraging common 3D graphics +APIs for best performance.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://wpewebkit.org/releases'] +sources = ['%(name)s-%(version)s.tar.xz'] +checksums = ['01938dd93c62b3a47b18dd13c70d50490a8b8a6caec23c8550a3dbdbcc6bbb50'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('pugixml', '1.12.1'), + ('Waylandpp', '1.0.0'), + ('libepoxy', '1.5.10'), + ('glib-networking', '2.72.1'), + ('libwpe', version), +] + +sanity_check_paths = { + 'files': ['lib/libWPEBackend-fdo-1.0.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2022a.eb b/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2022a.eb new file mode 100644 index 00000000000..010b73f371b --- /dev/null +++ b/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2022a.eb @@ -0,0 +1,57 @@ +easyblock = 'PythonBundle' + +name = 'wradlib' +version = '2.0.3' + +homepage = 'https://docs.wradlib.org/' +description = """ +The wradlib project has been initiated in order to facilitate the use of weather +radar data as well as to provide a common platform for research on new +algorithms.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('xarray', '2022.6.0'), + ('Cartopy', '0.20.3'), + ('dask', '2022.10.0'), + ('matplotlib', '3.5.2'), + ('netcdf4-python', '1.6.1'), + ('h5netcdf', '1.2.0'), + ('geopandas', '0.12.2'), +] + +use_pip = True + +exts_list = [ + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('cmweather', '0.3.2', { + 'checksums': ['d374b068fcbfeed87bc511f1f77a6047ae752f4a175a852587414b615b4baa5a'], + }), + ('lat_lon_parser', '1.3.0', { + 'checksums': ['e3a65dacd5b25a18c56e3ae31b11cd724480be7fe8db2df1c46ed0dd322a1fca'], + }), + ('xarray-datatree', '0.0.13', { + 'modulename': 'datatree', + 'checksums': ['f42bd519cab8754eb8a98749464846893b59560318520c45212e85c46af692c9'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('xradar', '0.5.1', { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['0337b4a0798ded019b26e0746b7b7baeb6f21344a2a2e3704965049972ccbf51'], + }), + (name, version, { + 'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl', + 'checksums': ['e2b625d10bc9b3ea2f33356fe467683b474c0a5410ff10ea6a708238d9172a10'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2023a.eb b/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2023a.eb new file mode 100644 index 00000000000..d53e56422bc --- /dev/null +++ b/easybuild/easyconfigs/w/wradlib/wradlib-2.0.3-foss-2023a.eb @@ -0,0 +1,59 @@ +easyblock = 'PythonBundle' + +name = 'wradlib' +version = '2.0.3' + +homepage = 'https://docs.wradlib.org/' +description = """ +The wradlib project has been initiated in order to facilitate the use of weather +radar data as well as to provide a common platform for research on new +algorithms.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('xarray', '2023.9.0'), + ('Cartopy', '0.22.0'), + ('dask', '2023.9.2'), + ('matplotlib', '3.7.2'), + ('netcdf4-python', '1.6.4'), + ('h5netcdf', '1.2.0'), + ('geopandas', '0.14.2'), +] + +use_pip = True + +exts_list = [ + ('deprecation', '2.1.0', { + 'checksums': ['72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff'], + }), + ('cmweather', '0.3.2', { + 'checksums': ['d374b068fcbfeed87bc511f1f77a6047ae752f4a175a852587414b615b4baa5a'], + }), + ('lat_lon_parser', '1.3.0', { + 'checksums': ['e3a65dacd5b25a18c56e3ae31b11cd724480be7fe8db2df1c46ed0dd322a1fca'], + }), + ('xarray-datatree', '0.0.13', { + 'modulename': 'datatree', + 'checksums': ['f42bd519cab8754eb8a98749464846893b59560318520c45212e85c46af692c9'], + }), + ('xmltodict', '0.13.0', { + 'checksums': ['341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56'], + }), + ('xradar', '0.5.1', { + 'checksums': ['b71021164b005f3270afd2079b8ed831a01ed43accbb7fc42c79e31a342546c5'], + }), + (name, version, { + 'checksums': ['0d5448a1dd0e030bdd36f7bbc69fa50aee7fb74dbc7b6407d2dc52d18ea40c49'], + }), +] + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-foss-2022a.eb b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-foss-2022a.eb new file mode 100644 index 00000000000..90f96b45487 --- /dev/null +++ b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'wrapt' +version = '1.15.0' + +homepage = 'https://pypi.org/project/wrapt/' +description = """The aim of the wrapt module is to provide a transparent object +proxy for Python, which can be used as the basis for the construction of +function wrappers and decorator functions.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2022b.eb b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2022b.eb new file mode 100644 index 00000000000..79dedd694da --- /dev/null +++ b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'wrapt' +version = '1.15.0' + +homepage = 'https://pypi.org/project/wrapt/' +description = """The aim of the wrapt module is to provide a transparent object +proxy for Python, which can be used as the basis for the construction of +function wrappers and decorator functions.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2023a.eb b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2023a.eb new file mode 100644 index 00000000000..d623ccbd563 --- /dev/null +++ b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-gfbf-2023a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'wrapt' +version = '1.15.0' + +homepage = 'https://pypi.org/project/wrapt/' +description = """The aim of the wrapt module is to provide a transparent object +proxy for Python, which can be used as the basis for the construction of +function wrappers and decorator functions.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-intel-2022a.eb b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-intel-2022a.eb new file mode 100644 index 00000000000..20a3d11960a --- /dev/null +++ b/easybuild/easyconfigs/w/wrapt/wrapt-1.15.0-intel-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'wrapt' +version = '1.15.0' + +homepage = 'https://pypi.org/project/wrapt/' +description = """The aim of the wrapt module is to provide a transparent object +proxy for Python, which can be used as the basis for the construction of +function wrappers and decorator functions.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a'], + }), +] + +moduleclass = 'tools' 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/w/wtdbg2/wtdbg2-2.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c9264b6e795 --- /dev/null +++ b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +# Author:: Michael Dickens - TAMU HPRC - https://hprc.tamu.edu +# Updated to GCC 11.2.0 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'MakeCp' + +name = 'wtdbg2' +version = '2.5' + +homepage = 'https://github.com/ruanjue/wtdbg2' + +description = """ + Wtdbg2 is a de novo sequence assembler for long noisy reads produced by PacBio + or Oxford Nanopore Technologies (ONT). It assembles raw reads without error + correction and then builds the consensus from intermediate assembly output. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/ruanjue/wtdbg2/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a2ffc8503d29f491a9a38ef63230d5b3c96db78377b5d25c91df511d0df06413'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [('Perl', '5.34.0')] + +prebuildopts = "sed -i 's/CFLAGS=-g3/CFLAGS+=-g3/g' Makefile && " + +local_executables = ['wtdbg2', 'wtdbg2.pl', 'wtpoa-cns', 'kbm2', 'wtdbg-cns', 'pgzf'] + +files_to_copy = [(local_executables, 'bin'), 'README-ori.md', 'README.md', 'scripts'] + +fix_perl_shebang_for = ['bin/*.pl', 'scripts/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["wtdbg2 --help"] + +modextrapaths = { + 'PATH': 'scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..d6728d4b544 --- /dev/null +++ b/easybuild/easyconfigs/w/wtdbg2/wtdbg2-2.5-GCCcore-11.3.0.eb @@ -0,0 +1,48 @@ +# Author:: Michael Dickens - TAMU HPRC - https://hprc.tamu.edu +# Updated to GCC 11.2.0 +# J. Sassmannshausen NHS/GSTT + +easyblock = 'MakeCp' + +name = 'wtdbg2' +version = '2.5' + +homepage = 'https://github.com/ruanjue/wtdbg2' + +description = """ + Wtdbg2 is a de novo sequence assembler for long noisy reads produced by PacBio + or Oxford Nanopore Technologies (ONT). It assembles raw reads without error + correction and then builds the consensus from intermediate assembly output. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'ruanjue' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['a2ffc8503d29f491a9a38ef63230d5b3c96db78377b5d25c91df511d0df06413'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [('Perl', '5.34.1')] + +prebuildopts = "sed -i 's/CFLAGS=-g3/CFLAGS+=-g3/g' Makefile && " + +local_executables = ['wtdbg2', 'wtdbg2.pl', 'wtpoa-cns', 'kbm2', 'wtdbg-cns', 'pgzf'] + +files_to_copy = [(local_executables, 'bin'), 'README-ori.md', 'README.md', 'scripts'] + +fix_perl_shebang_for = ['bin/*.pl', 'scripts/*.pl'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_executables], + 'dirs': ['scripts'], +} + +sanity_check_commands = ["wtdbg2 --help"] + +modextrapaths = { + 'PATH': 'scripts', +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1-foss-2021a.eb b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1-foss-2021a.eb new file mode 100644 index 00000000000..0af1145425e --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1-foss-2021a.eb @@ -0,0 +1,47 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +name = 'wxPython' +version = '4.1.1' + +homepage = "https://www.wxpython.org/" +description = """Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets +API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel +and requiring very little (if any) platform specific code.""" + + +toolchain = {'name': 'foss', 'version': '2021a'} +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'wxPython-4.1.1_fix_install_path.patch', + 'wxPython-4.1.1_use_bang_env_python.patch', +] +checksums = [ + '00e5e3180ac7f2852f342ad341d57c44e7e4326de0b550b9a5c4a8361b6c3528', # wxPython-4.1.1.tar.gz + 'f13743877deddbf525bbb3f81c8f7a6b0c2dbf1333595926f653f696999e31ce', # wxPython-4.1.1_fix_install_path.patch + 'c355c60a8cce3018fc0c30ffc78623efd2481e9baf33673e22a57863e1a3ac87', # wxPython-4.1.1_use_bang_env_python.patch +] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), + ('Pillow', '8.2.0'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.2.0'), + ('expat', '2.2.9'), + ('GTK3', '3.24.29'), + ('GLib', '2.68.2'), + ('GConf', '3.2.6'), + ('GST-plugins-base', '1.18.4'), + ('pkg-config', '0.29.2'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), + ('LibSoup', '2.74.0'), + # ('wxWidgets', '3.1.5'), # this version is incompatible with with 4.1.1 so excluding to enable internal build + ('WebKitGTK+', '2.27.4'), +] + +# needed because wxWidgets is built as part of wxPython (not added as a dependency) +modextrapaths = {'LD_LIBRARY_PATH': 'lib/python%(pyshortver)s/site-packages/wx'} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_fix_install_path.patch b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_fix_install_path.patch new file mode 100644 index 00000000000..18d8d00b05a --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_fix_install_path.patch @@ -0,0 +1,19 @@ +build.py calls setup.py without a prefix, this fixes that. + +Åke Sandgren, 20190201 +James Carpenter, 20220224 +--- orig_build.py 2021-11-24 10:28:29.174051000 +0000 ++++ build.py 2021-11-24 10:33:28.141864031 +0000 +@@ -1803,9 +1803,10 @@ + def cmd_install_py(options, args): + cmdTimer = CommandTimer('install_py') + DESTDIR = '' if not options.destdir else '--root=' + options.destdir ++ PREFIX = '' if not options.prefix else '--prefix=' + options.prefix + VERBOSE = '--verbose' if options.verbose else '' +- cmd = '"%s" setup.py install --skip-build %s %s %s' % ( +- PYTHON, DESTDIR, VERBOSE, options.extra_setup) ++ cmd = '"%s" setup.py install --skip-build %s %s %s %s' % ( ++ PYTHON, DESTDIR, PREFIX, VERBOSE, options.extra_setup) + runcmd(cmd) + + diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_use_bang_env_python.patch b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_use_bang_env_python.patch new file mode 100644 index 00000000000..387d18f2da6 --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.1.1_use_bang_env_python.patch @@ -0,0 +1,40 @@ +Don't use system python. +This is perhaps not needed but doesn't hurt. + +Åke Sandgren, 20190425 +diff -ru wxPython-4.0.4.orig/build.py wxPython-4.0.4/build.py +--- wxPython-4.0.4.orig/build.py 2019-01-05 20:48:40.000000000 +0100 ++++ wxPython-4.0.4/build.py 2019-04-24 21:37:32.296782206 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + #---------------------------------------------------------------------- + # Name: build.py + # Purpose: Master build controller script. +diff -ru wxPython-4.0.4.orig/ext/wxWidgets/build/osx/fix_xcode_ids.py wxPython-4.0.4/ext/wxWidgets/build/osx/fix_xcode_ids.py +--- wxPython-4.0.4.orig/ext/wxWidgets/build/osx/fix_xcode_ids.py 2019-01-03 00:48:23.000000000 +0100 ++++ wxPython-4.0.4/ext/wxWidgets/build/osx/fix_xcode_ids.py 2019-04-24 21:37:37.508731582 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + ############################################################################### + # Name: build/osx/fix_xcode_ids.py +diff -ru wxPython-4.0.4.orig/ext/wxWidgets/misc/scripts/png2c.py wxPython-4.0.4/ext/wxWidgets/misc/scripts/png2c.py +--- wxPython-4.0.4.orig/ext/wxWidgets/misc/scripts/png2c.py 2019-01-03 00:48:23.000000000 +0100 ++++ wxPython-4.0.4/ext/wxWidgets/misc/scripts/png2c.py 2019-04-24 21:37:35.300753028 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + + # This script is a slightly modified version of the original found at + # +diff -ru wxPython-4.0.4.orig/wscript wxPython-4.0.4/wscript +--- wxPython-4.0.4.orig/wscript 2019-01-05 20:48:40.000000000 +0100 ++++ wxPython-4.0.4/wscript 2019-04-24 21:37:40.556701977 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + #----------------------------------------------------------------------------- + # WAF script for building and installing the wxPython extension modules. + # diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb new file mode 100644 index 00000000000..6a911f23dd8 --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.0-foss-2021b.eb @@ -0,0 +1,48 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +name = 'wxPython' +version = '4.2.0' + +homepage = "https://www.wxpython.org/" +description = """Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets +API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel +and requiring very little (if any) platform specific code.""" + + +toolchain = {'name': 'foss', 'version': '2021b'} +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'wxPython-4.1.1_fix_install_path.patch', + 'wxPython-4.1.1_use_bang_env_python.patch', +] +checksums = [ + {'wxPython-4.2.0.tar.gz': '663cebc4509d7e5d113518865fe274f77f95434c5d57bc386ed58d65ceed86c7'}, + {'wxPython-4.1.1_fix_install_path.patch': 'f13743877deddbf525bbb3f81c8f7a6b0c2dbf1333595926f653f696999e31ce'}, + {'wxPython-4.1.1_use_bang_env_python.patch': 'c355c60a8cce3018fc0c30ffc78623efd2481e9baf33673e22a57863e1a3ac87'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), + ('Pillow', '8.3.2'), + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.1'), + ('GTK3', '3.24.31'), + ('GLib', '2.69.1'), + ('GConf', '3.2.6'), + ('GST-plugins-base', '1.18.5'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('LibSoup', '3.0.7'), + ('wxWidgets', '3.2.0'), # wxPython 4.2 depends on wxWidgets >=3.2 + ('WebKitGTK+', '2.37.1'), + ('attrdict3', '2.0.2'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxPython/wxPython-4.2.1-foss-2022a.eb b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.1-foss-2022a.eb new file mode 100644 index 00000000000..65862ac1a80 --- /dev/null +++ b/easybuild/easyconfigs/w/wxPython/wxPython-4.2.1-foss-2022a.eb @@ -0,0 +1,48 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +name = 'wxPython' +version = '4.2.1' + +homepage = "https://www.wxpython.org/" +description = """Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets +API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel +and requiring very little (if any) platform specific code.""" + + +toolchain = {'name': 'foss', 'version': '2022a'} +sources = ['%(name)s-%(version)s.tar.gz'] +patches = [ + 'wxPython-4.1.1_fix_install_path.patch', + 'wxPython-4.1.1_use_bang_env_python.patch', +] +checksums = [ + {'wxPython-4.2.1.tar.gz': 'e48de211a6606bf072ec3fa778771d6b746c00b7f4b970eb58728ddf56d13d5c'}, + {'wxPython-4.1.1_fix_install_path.patch': 'f13743877deddbf525bbb3f81c8f7a6b0c2dbf1333595926f653f696999e31ce'}, + {'wxPython-4.1.1_use_bang_env_python.patch': 'c355c60a8cce3018fc0c30ffc78623efd2481e9baf33673e22a57863e1a3ac87'}, +] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Pillow', '9.1.1'), + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.8'), + ('GTK3', '3.24.33'), + ('GLib', '2.72.1'), + ('GConf', '3.2.6'), + ('GST-plugins-base', '1.20.2'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('LibSoup', '3.0.8'), + ('wxWidgets', '3.2.1'), # wxPython 4.2 depends on wxWidgets >=3.2 + ('WebKitGTK+', '2.40.4'), + ('attrdict3', '2.0.2'), +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-10.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-10.3.0.eb new file mode 100644 index 00000000000..59a4e8adb94 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-10.3.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.1.5' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/wxWidgets/wxWidgets/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e8fd5f9fbff864562aa4d9c094f898c97f5e1274c90f25beb0bfd5cb61319dea'] + +builddependencies = [ + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.5'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.2.0'), + ('expat', '2.2.9'), + ('GTK3', '3.24.29'), + ('X11', '20210518'), + ('Mesa', '21.1.1'), + ('libGLU', '9.0.1'), + ('SDL2', '2.0.14'), + ('cairo', '1.16.0'), + ('GST-plugins-base', '1.18.4'), + ('GLib', '2.68.2'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-11.2.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-11.2.0.eb new file mode 100644 index 00000000000..43d2132bb9e --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.1.5-GCC-11.2.0.eb @@ -0,0 +1,70 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.1.5' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/wxWidgets/wxWidgets/archive'] +sources = ['v%(version)s.tar.gz'] +checksums = ['e8fd5f9fbff864562aa4d9c094f898c97f5e1274c90f25beb0bfd5cb61319dea'] + +builddependencies = [ + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.1'), + ('GTK3', '3.24.31'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('SDL2', '2.0.20'), + ('cairo', '1.16.0'), + ('GST-plugins-base', '1.18.5'), + ('GLib', '2.69.1'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb new file mode 100644 index 00000000000..631d9b165c3 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.0-GCC-11.2.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.0' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a'] + +builddependencies = [ + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('Python', '3.9.6'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.11'), + ('libjpeg-turbo', '2.0.6'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.1'), + ('GTK3', '3.24.31'), + ('X11', '20210802'), + ('Mesa', '21.1.7'), + ('libGLU', '9.0.2'), + ('SDL2', '2.0.20'), + ('cairo', '1.16.0'), + ('GST-plugins-base', '1.18.5'), + ('GLib', '2.69.1'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb new file mode 100644 index 00000000000..b8451ed12b7 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.1-GCC-11.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.1' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['c229976bb413eb88e45cb5dfb68b27890d450149c09b331abd751e7ae0f5fa66'] + +builddependencies = [ + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4'), +] + +dependencies = [ + ('libpng', '1.6.37'), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.3'), + ('XZ', '5.2.5'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.3.0'), + ('expat', '2.4.8'), + ('GTK3', '3.24.33'), + ('X11', '20220504'), + ('Mesa', '22.0.3'), + ('libGLU', '9.0.2'), + ('SDL2', '2.0.22'), + ('cairo', '1.17.4'), + ('GST-plugins-base', '1.20.2'), + ('GLib', '2.72.1'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.2.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.2.0.eb new file mode 100644 index 00000000000..465575b3ec1 --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.2.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.2.1' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02'] + +builddependencies = [ + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8'), +] + +dependencies = [ + ('libpng', '1.6.38'), + ('zlib', '1.2.12'), + ('libjpeg-turbo', '2.1.4'), + ('XZ', '5.2.7'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.4.0'), + ('expat', '2.4.9'), + ('GTK3', '3.24.35'), + ('X11', '20221110'), + ('Mesa', '22.2.4'), + ('libGLU', '9.0.2'), + ('SDL2', '2.26.3'), + ('cairo', '1.17.4'), + ('GST-plugins-base', '1.22.1'), + ('GLib', '2.75.0'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.3.0.eb b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.3.0.eb new file mode 100644 index 00000000000..b6ba8f01d9b --- /dev/null +++ b/easybuild/easyconfigs/w/wxWidgets/wxWidgets-3.2.2.1-GCC-12.3.0.eb @@ -0,0 +1,71 @@ +easyblock = 'ConfigureMake' + +name = 'wxWidgets' +version = '3.2.2.1' + +homepage = 'https://www.wxwidgets.org' +description = """wxWidgets is a C++ library that lets developers create +applications for Windows, Mac OS X, Linux and other platforms with a +single code base. It has popular language bindings for Python, Perl, +Ruby and many other languages, and unlike other cross-platform toolkits, +wxWidgets gives applications a truly native look and feel because it +uses the platform's native API rather than emulating the GUI.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +github_account = 'wxWidgets' +source_urls = [GITHUB_RELEASE] +sources = [SOURCE_TAR_BZ2] +checksums = ['dffcb6be71296fff4b7f8840eb1b510178f57aa2eb236b20da41182009242c02'] + +builddependencies = [ + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), +] + +dependencies = [ + ('libpng', '1.6.39'), + ('zlib', '1.2.13'), + ('libjpeg-turbo', '2.1.5.1'), + ('XZ', '5.4.2'), + ('jbigkit', '2.1'), + ('LibTIFF', '4.5.0'), + ('expat', '2.5.0'), + ('GTK3', '3.24.37'), + ('X11', '20230603'), + ('Mesa', '23.1.4'), + ('libGLU', '9.0.3'), + ('SDL2', '2.28.2'), + ('cairo', '1.17.8'), + ('GST-plugins-base', '1.22.5'), + ('GLib', '2.77.1'), +] + +local_cpath_ext = '$EBROOTGTKPLUS/include/gtk-3.0:$EBROOTGLIB/include/glib-2.0:$EBROOTGLIB/lib/glib-2.0/include' + +preconfigopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +configopts = '--enable-intl --enable-ipv6 ' +# Options required by wxPython +configopts += '--with-gtk=3 --with-gtk-prefix=$EBROOTGTKPLUS ' +# Note: the configure step might claim to find OpenGL headers in +# /usr/include, but it will still use the ones from the Mesa dependency above +configopts += '--with-opengl ' +configopts += '--enable-unicode --enable-sound --enable-graphics_ctx ' +configopts += '--enable-mediactrl --enable-display --enable-geometry ' +configopts += '--enable-debug_flag --enable-optimise --disable-debugreport ' +configopts += '--enable-autoidman --with-sdl ' +configopts += '--disable-webview --disable-webviewwebkit ' +configopts += '--disable-tests ' + + +prebuildopts = 'CPATH=$CPATH:%s ' % local_cpath_ext + +sanity_check_paths = { + 'files': ['bin/wx-config', 'bin/wxrc'], + 'dirs': ['include/wx-%(version_major_minor)s/wx', 'lib', 'share'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20160819-GCCcore-5.4.0.eb b/easybuild/easyconfigs/x/X11/X11-20160819-GCCcore-5.4.0.eb index 57e58e0097f..7732b3063a7 100644 --- a/easybuild/easyconfigs/x/X11/X11-20160819-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20160819-GCCcore-5.4.0.eb @@ -20,7 +20,7 @@ source_urls = [ builddependencies = [ # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ('Autotools', '20150215'), ('Bison', '3.0.4'), ('gettext', '0.19.8'), diff --git a/easybuild/easyconfigs/x/X11/X11-20170129-GCCcore-6.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20170129-GCCcore-6.3.0.eb index f7fe477cb1b..c7c2384daaa 100644 --- a/easybuild/easyconfigs/x/X11/X11-20170129-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20170129-GCCcore-6.3.0.eb @@ -26,7 +26,7 @@ dependencies = [ ] builddependencies = [ # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ('Autotools', '20150215'), ('Bison', '3.0.4'), ('gettext', '0.19.8.1'), diff --git a/easybuild/easyconfigs/x/X11/X11-20170129-gimkl-2017a.eb b/easybuild/easyconfigs/x/X11/X11-20170129-gimkl-2017a.eb index cfe2be0316b..f0f68e4c70a 100644 --- a/easybuild/easyconfigs/x/X11/X11-20170129-gimkl-2017a.eb +++ b/easybuild/easyconfigs/x/X11/X11-20170129-gimkl-2017a.eb @@ -23,9 +23,9 @@ dependencies = [ ('zlib', '1.2.11'), ] builddependencies = [ - ('Autotools', '20150215', '', True), + ('Autotools', '20150215', '', SYSTEM), ('Bison', '3.0.4'), - ('gettext', '0.19.8', '', True), + ('gettext', '0.19.8', '', SYSTEM), ('pkg-config', '0.29.1'), ('intltool', '0.51.0', '-Perl-5.24.0') ] diff --git a/easybuild/easyconfigs/x/X11/X11-20170314-GCCcore-6.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20170314-GCCcore-6.3.0.eb index e36cb012947..4b11b1d6bfa 100644 --- a/easybuild/easyconfigs/x/X11/X11-20170314-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20170314-GCCcore-6.3.0.eb @@ -26,7 +26,7 @@ dependencies = [ ] builddependencies = [ # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ('Autotools', '20150215'), ('Bison', '3.0.4'), ('gettext', '0.19.8.1'), diff --git a/easybuild/easyconfigs/x/X11/X11-20190717-GCCcore-8.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20190717-GCCcore-8.3.0.eb index 21b4362d798..44897b5de17 100644 --- a/easybuild/easyconfigs/x/X11/X11-20190717-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20190717-GCCcore-8.3.0.eb @@ -31,6 +31,7 @@ builddependencies = [ ('gettext', '0.20.1'), ('pkg-config', '0.29.2'), ('intltool', '0.51.0'), + ('Doxygen', '1.8.16'), ] default_easyblock = 'ConfigureMake' diff --git a/easybuild/easyconfigs/x/X11/X11-20200222-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20200222-GCCcore-9.3.0.eb index 0c4398adb92..ae81bf67362 100644 --- a/easybuild/easyconfigs/x/X11/X11-20200222-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20200222-GCCcore-9.3.0.eb @@ -26,6 +26,7 @@ builddependencies = [ ('intltool', '0.51.0'), ('Meson', '0.55.1', '-Python-3.8.2'), ('Ninja', '1.10.0'), + ('Doxygen', '1.8.17'), ] dependencies = [ ('bzip2', '1.0.8'), diff --git a/easybuild/easyconfigs/x/X11/X11-20201008-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/X11/X11-20201008-GCCcore-10.2.0.eb index 041c9f6a6a9..c5a69cfdb84 100644 --- a/easybuild/easyconfigs/x/X11/X11-20201008-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20201008-GCCcore-10.2.0.eb @@ -26,6 +26,7 @@ builddependencies = [ ('intltool', '0.51.0'), ('Meson', '0.55.3'), ('Ninja', '1.10.1'), + ('Doxygen', '1.8.20'), ] dependencies = [ @@ -126,7 +127,12 @@ components = [ 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], }), ('libXfont2', '2.0.4', { # 2019-09-14 - 'checksums': ['74e577294c7406b284c50dfcfb5e5d9b3b0cc2d83d33866920ffe1e4860f585a'], + 'patches': ['libXfont2-2.0.4_libbsd.patch'], + 'checksums': [ + '74e577294c7406b284c50dfcfb5e5d9b3b0cc2d83d33866920ffe1e4860f585a', # libXfont2-2.0.4.tar.gz + '5c8d51f9e65d4e9f49c0fb5f82cfbf87b3cf02f67c1dacf6521a56d8ffb1ae91', # libXfont2-2.0.4_libbsd.patch + ], + 'preconfigopts': "autoreconf -i && ", }), ('libXft', '2.3.3', { # 2019-03-16 'checksums': ['3c3cf88b1a96e49a3d87d67d9452d34b6e25e96ae83959b8d0a980935014d701'], diff --git a/easybuild/easyconfigs/x/X11/X11-20210518-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20210518-GCCcore-10.3.0.eb index 508c2e2c167..e277989781e 100644 --- a/easybuild/easyconfigs/x/X11/X11-20210518-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/X11/X11-20210518-GCCcore-10.3.0.eb @@ -26,6 +26,7 @@ builddependencies = [ ('intltool', '0.51.0'), ('Meson', '0.58.0'), ('Ninja', '1.10.2'), + ('Doxygen', '1.9.1'), ] dependencies = [ @@ -126,7 +127,12 @@ components = [ 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], }), ('libXfont2', '2.0.4', { # 2019-09-14 - 'checksums': ['74e577294c7406b284c50dfcfb5e5d9b3b0cc2d83d33866920ffe1e4860f585a'], + 'patches': ['libXfont2-2.0.4_libbsd.patch'], + 'checksums': [ + '74e577294c7406b284c50dfcfb5e5d9b3b0cc2d83d33866920ffe1e4860f585a', # libXfont2-2.0.4.tar.gz + '5c8d51f9e65d4e9f49c0fb5f82cfbf87b3cf02f67c1dacf6521a56d8ffb1ae91', # libXfont2-2.0.4_libbsd.patch + ], + 'preconfigopts': "autoreconf -i && ", }), ('libXft', '2.3.3', { # 2019-03-16 'checksums': ['3c3cf88b1a96e49a3d87d67d9452d34b6e25e96ae83959b8d0a980935014d701'], diff --git a/easybuild/easyconfigs/x/X11/X11-20210802-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/X11/X11-20210802-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..adc8a9e814b --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20210802-GCCcore-11.2.0.eb @@ -0,0 +1,211 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20210802' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), + ('Bison', '3.7.6'), + ('gettext', '0.21'), + ('pkg-config', '0.29.2'), + ('intltool', '0.51.0'), + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('Doxygen', '1.9.1'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.13.94'), + ('freetype', '2.11.0'), + ('zlib', '1.2.11'), + ('xorg-macros', '1.19.3'), + ('libpciaccess', '0.16'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.4', { # 2017-03-14 + 'checksums': ['50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9'], + }), + ('xorgproto', '2021.4.99.2', { # 2021-05-30 + 'checksums': ['179531d0a797eb464076bd8a1a698ea9c1cba4e67fcac65cc73758dd2712d892'], + }), + ('libXau', '1.0.9', { # 2019-02-10 + 'checksums': ['1f123d8304b082ad63a9e89376400a3b1d4c29e67e3ea07b3f659cccca690eea'], + }), + ('libXdmcp', '1.1.3', { # 2019-03-16 + 'checksums': ['2ef9653d32e09d1bf1b837d0e0311024979653fe755ad3aaada8db1aa6ea180c'], + }), + ('xcb-proto', '1.14.1', { # 2020-10-08 + 'checksums': ['85cd21e9d9fbc341d0dbf11eace98d55d7db89fda724b0e598855fcddf0944fd'], + }), + ('libxcb', '1.14', { # 2020-02-22 + 'sources': [SOURCE_TAR_GZ], + 'checksums': ['2c7fcddd1da34d9b238c9caeda20d3bd7486456fc50b3cc6567185dbd5b0ad02'], + }), + ('xtrans', '1.4.0', { # 2019-03-16 + 'checksums': ['48ed850ce772fef1b44ca23639b0a57e38884045ed2cbb18ab137ef33ec713f9'], + }), + ('libxkbcommon', '1.3.0', { # 2021-05-01 + 'easyblock': 'MesonNinja', + 'sources': ['libxkbcommon-%(version)s.tar.xz'], + 'checksums': ['7b09e098ea69bc3054f0c57a9a25fda571c4df22398811606e32b5fffeb75e7b'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.7.2', { # 2021-06-06 + 'checksums': ['2c26ccd08f43a6214de89110554fbe97c71692eeb7e7d4829f3004ae6fafd2c0'], + }), + ('libXext', '1.3.4', { # 2019-03-16 + 'checksums': ['8ef0789f282826661ff40a8eef22430378516ac580167da35cc948be9041aac1'], + }), + ('libFS', '1.0.8', { # 2019-03-10 + 'checksums': ['e3da723257f4f4c0c629aec402e0a36fbec66a9418f70d24a159cb0470ec83d2'], + }), + ('libICE', '1.0.10', { # 2019-07-14 + 'checksums': ['1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d'], + }), + ('libSM', '1.2.3', { # 2018-10-10 + 'checksums': ['1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320'], + }), + ('libXScrnSaver', '1.2.3', { # 2018-07-05 + 'checksums': ['4f74e7e412144591d8e0616db27f433cfc9f45aae6669c6c4bb03e6bf9be809a'], + }), + ('libXt', '1.2.1', { # 2021-01-24 + 'checksums': ['6da1bfa9dd0ed87430a5ce95b129485086394df308998ebe34d98e378e3dfb33'], + }), + ('libXmu', '1.1.3', { # 2019-03-16 + 'checksums': ['5bd9d4ed1ceaac9ea023d86bf1c1632cd3b172dce4a193a72a94e1d9df87a62e'], + }), + ('libXpm', '3.5.13', { # 2019-12-13 + 'checksums': ['e3dfb0fb8c1f127432f2a498c7856b37ce78a61e8da73f1aab165a73dd97ad00'], + }), + ('libXaw', '1.0.14', { # 2021-03-27 + 'checksums': ['59cfed2712cc80bbfe62dd1aacf24f58d74a76dd08329a922077b134a8d8048f'], + }), + ('libXfixes', '6.0.0', { # 2021-05-11 + 'checksums': ['82045da5625350838390c9440598b90d69c882c324ca92f73af9f0e992cb57c7'], + }), + ('libXcomposite', '0.4.5', { # 2019-03-11 + 'checksums': ['581c7fc0f41a99af38b1c36b9be64bc13ef3f60091cd3f01105bbc7c01617d6c'], + }), + ('libXrender', '0.9.10', { # 2016-10-04 + 'checksums': ['770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf'], + }), + ('libXcursor', '1.2.0', { # 2019-03-11 + 'checksums': ['ad5b2574fccaa4c3fa67b9874fbed863d29ad230c784e9a08b20692418f6a1f8'], + }), + ('libXdamage', '1.1.5', { # 2019-03-11 + 'checksums': ['630ec53abb8c2d6dac5cd9f06c1f73ffb4a3167f8118fdebd77afd639dbc2019'], + }), + ('libfontenc', '1.1.4', { # 2019-02-20 + 'checksums': ['895ee0986b32fbfcda7f4f25ef6cbacfa760e1690bf59f02085ce0e7d1eebb41'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.5', { # 2021-08-02 + 'checksums': ['d7544aa35ea67a87840ff0b1bd15130b102e473de3611b7d78604ba635fd6d94'], + }), + ('libXft', '2.3.4', { # 2021-08-02 + 'checksums': ['1eca71bec9cb483165ce1ab94f5cd3036269f5268651df6a2d99c4a7ab644d79'], + }), + ('libXi', '1.7.99.2', { # 2021-06-01 + 'checksums': ['991d212bb9583b1dbe429e2c8fc510fcab3c820b3d7fba07e1e8b9fefcf9ac76'], + }), + ('libXinerama', '1.1.4', { # 2018-07-05 + 'checksums': ['64de45e18cc76b8e703cb09b3c9d28bd16e3d05d5cd99f2d630de2d62c3acc18'], + }), + ('libXrandr', '1.5.2', { # 2019-03-16 + 'checksums': ['3f10813ab355e7a09f17e147d61b0ce090d898a5ea5b5519acd0ef68675dcf8e'], + }), + ('libXres', '1.2.1', { # 2021-03-31 + 'checksums': ['918fb33c3897b389a1fbb51571c5c04c6b297058df286d8b48faa5af85e88bcc'], + }), + ('libXtst', '1.2.3', { # 2016-10-04 + 'checksums': ['a0c83acce02d4923018c744662cb28eb0dbbc33b4adc027726879ccf68fbc2c2'], + }), + ('libXv', '1.0.11', { # 2016-10-04 + 'checksums': ['c4112532889b210e21cf05f46f0f2f8354ff7e1b58061e12d7a76c95c0d47bb1'], + }), + ('libXvMC', '1.0.12', { # 2019-09-24 + 'checksums': ['024c9ec4f001f037eeca501ee724c7e51cf287eb69ced8c6126e16e7fa9864b5'], + }), + ('libXxf86dga', '1.1.5', { # 2019-03-16 + 'checksums': ['715e2bf5caf6276f0858eb4b11a1aef1a26beeb40dce2942387339da395bef69'], + }), + ('libXxf86vm', '1.1.4', { # 2015-02-24 + 'checksums': ['5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99'], + }), + ('libdmx', '1.1.4', { # 2018-05-14 + 'checksums': ['4d05bd5b248c1f46729fa1536b7a5e4d692567327ad41564c36742fb327af925'], + }), + ('libxkbfile', '1.1.0', { # 2019-03-16 + 'checksums': ['2a92adda3992aa7cbad758ef0b8dfeaedebb49338b772c64ddf369d78c1c51d3'], + }), + ('libxshmfence', '1.3', { # 2018-02-26 + 'checksums': ['7eb3d46ad91bab444f121d475b11b39273142d090f7e9ac43e6a87f4ff5f902c'], + }), + ('xcb-util', '0.4.0', { # 2014-10-15 + 'checksums': ['0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7'], + }), + ('xcb-util-image', '0.4.0', { # 2014-10-15 + 'checksums': ['cb2c86190cf6216260b7357a57d9100811bb6f78c24576a3a5bfef6ad3740a42'], + }), + ('xcb-util-keysyms', '0.4.0', { # 2014-10-01 + 'checksums': ['0807cf078fbe38489a41d755095c58239e1b67299f14460dec2ec811e96caa96'], + }), + ('xcb-util-renderutil', '0.3.9', { # 2014-06-13 + 'checksums': ['55eee797e3214fe39d0f3f4d9448cc53cffe06706d108824ea37bb79fcedcad5'], + }), + ('xcb-util-wm', '0.4.1', { # 2014-02-19 + 'checksums': ['038b39c4bdc04a792d62d163ba7908f4bb3373057208c07110be73c1b04b8334'], + }), + ('xcb-util-cursor', '0.1.3', { # 2016-05-12 + 'checksums': ['a322332716a384c94d3cbf98f2d8fe2ce63c2fe7e2b26664b6cea1d411723df8'], + }), + ('xkeyboard-config', '2.33', { # 2021-06-08 + 'checksums': ['112df68e1150e8da421bc0abe79eebeacca16a91e54e1877cb39fc878d17b365'], + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.3', { # 2015-02-21 + 'checksums': ['f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c'], + }), + ('xbitmaps', '1.1.2', { # 2018-03-10 + 'checksums': ['27e700e8ee02c43f7206f4eca8f1953ad15236cac95d7a0f08505c3f7d99c265'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20220504-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20220504-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0b3c1e7407b --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20220504-GCCcore-11.3.0.eb @@ -0,0 +1,213 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20220504' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('Bison', '3.8.2'), + ('gettext', '0.21'), + ('pkgconf', '1.8.0'), + ('intltool', '0.51.0'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.14.0'), + ('freetype', '2.12.1'), + ('zlib', '1.2.12'), + ('xorg-macros', '1.19.3'), + ('libpciaccess', '0.16'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.4', { # 2017-03-14 + 'checksums': ['50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9'], + }), + ('xorgproto', '2022.1', { # 2022-04-21 + 'checksums': ['2a399e77d98fe53e9056726a1934b62cbaa6c41d7b1f41a354911b0925363343'], + }), + ('libXau', '1.0.9', { # 2019-02-10 + 'checksums': ['1f123d8304b082ad63a9e89376400a3b1d4c29e67e3ea07b3f659cccca690eea'], + }), + ('libXdmcp', '1.1.3', { # 2019-03-16 + 'checksums': ['2ef9653d32e09d1bf1b837d0e0311024979653fe755ad3aaada8db1aa6ea180c'], + }), + ('xcb-proto', '1.15', { # 2022-05-03 + 'checksums': ['0e434af76af722ef9b2dc21066da1cd11e5dd85fc1996d66228d090f9ae9b217'], + }), + ('libxcb', '1.15', { # 2022-05-03 + 'checksums': ['1cb65df8543a69ec0555ac696123ee386321dfac1964a3da39976c9a05ad724d'], + }), + ('xtrans', '1.4.0', { # 2019-03-16 + 'checksums': ['48ed850ce772fef1b44ca23639b0a57e38884045ed2cbb18ab137ef33ec713f9'], + }), + ('libxkbcommon', '1.4.0', { # 2022-02-04 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['106cec5263f9100a7e79b5f7220f889bc78e7d7ffc55d2b6fdb1efefb8024031'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8', { # 2022-04-29 + 'checksums': ['68e0a30c4248b9f41492891a4b49672c3b0c59e84c4868144f03eef01ebc5eea'], + }), + ('libXext', '1.3.4', { # 2019-03-16 + 'checksums': ['8ef0789f282826661ff40a8eef22430378516ac580167da35cc948be9041aac1'], + }), + ('libFS', '1.0.8', { # 2019-03-10 + 'checksums': ['e3da723257f4f4c0c629aec402e0a36fbec66a9418f70d24a159cb0470ec83d2'], + }), + ('libICE', '1.0.10', { # 2019-07-14 + 'checksums': ['1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d'], + }), + ('libSM', '1.2.3', { # 2018-10-10 + 'checksums': ['1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320'], + }), + ('libXScrnSaver', '1.2.3', { # 2018-07-05 + 'checksums': ['4f74e7e412144591d8e0616db27f433cfc9f45aae6669c6c4bb03e6bf9be809a'], + }), + ('libXt', '1.2.1', { # 2021-01-24 + 'checksums': ['6da1bfa9dd0ed87430a5ce95b129485086394df308998ebe34d98e378e3dfb33'], + }), + ('libXmu', '1.1.3', { # 2019-03-16 + 'checksums': ['5bd9d4ed1ceaac9ea023d86bf1c1632cd3b172dce4a193a72a94e1d9df87a62e'], + }), + ('libXpm', '3.5.13', { # 2019-12-13 + 'checksums': ['e3dfb0fb8c1f127432f2a498c7856b37ce78a61e8da73f1aab165a73dd97ad00'], + }), + ('libXaw', '1.0.14', { # 2021-03-27 + 'checksums': ['59cfed2712cc80bbfe62dd1aacf24f58d74a76dd08329a922077b134a8d8048f'], + }), + ('libXfixes', '6.0.0', { # 2021-05-11 + 'checksums': ['82045da5625350838390c9440598b90d69c882c324ca92f73af9f0e992cb57c7'], + }), + ('libXcomposite', '0.4.5', { # 2019-03-11 + 'checksums': ['581c7fc0f41a99af38b1c36b9be64bc13ef3f60091cd3f01105bbc7c01617d6c'], + }), + ('libXrender', '0.9.10', { # 2016-10-04 + 'checksums': ['770527cce42500790433df84ec3521e8bf095dfe5079454a92236494ab296adf'], + }), + ('libXcursor', '1.2.1', { # 2022-04-03 + 'checksums': ['77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98'], + }), + ('libXdamage', '1.1.5', { # 2019-03-11 + 'checksums': ['630ec53abb8c2d6dac5cd9f06c1f73ffb4a3167f8118fdebd77afd639dbc2019'], + }), + ('libfontenc', '1.1.4', { # 2019-02-20 + 'checksums': ['895ee0986b32fbfcda7f4f25ef6cbacfa760e1690bf59f02085ce0e7d1eebb41'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.5', { # 2021-08-02 + 'checksums': ['d7544aa35ea67a87840ff0b1bd15130b102e473de3611b7d78604ba635fd6d94'], + }), + ('libXft', '2.3.4', { # 2021-08-02 + 'checksums': ['1eca71bec9cb483165ce1ab94f5cd3036269f5268651df6a2d99c4a7ab644d79'], + }), + ('libXi', '1.8', { # 2021-09-15 + 'checksums': ['c80fd200a1190e4406bb4cc6958839d9651638cb47fa546a595d4bebcd3b9e2d'], + }), + ('libXinerama', '1.1.4', { # 2018-07-05 + 'checksums': ['64de45e18cc76b8e703cb09b3c9d28bd16e3d05d5cd99f2d630de2d62c3acc18'], + }), + ('libXrandr', '1.5.2', { # 2019-03-16 + 'checksums': ['3f10813ab355e7a09f17e147d61b0ce090d898a5ea5b5519acd0ef68675dcf8e'], + }), + ('libXres', '1.2.1', { # 2021-03-31 + 'checksums': ['918fb33c3897b389a1fbb51571c5c04c6b297058df286d8b48faa5af85e88bcc'], + }), + ('libXtst', '1.2.3', { # 2016-10-04 + 'checksums': ['a0c83acce02d4923018c744662cb28eb0dbbc33b4adc027726879ccf68fbc2c2'], + }), + ('libXv', '1.0.11', { # 2016-10-04 + 'checksums': ['c4112532889b210e21cf05f46f0f2f8354ff7e1b58061e12d7a76c95c0d47bb1'], + }), + ('libXvMC', '1.0.13', { # 2022-03-22 + 'checksums': ['e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e'], + }), + ('libXxf86dga', '1.1.5', { # 2019-03-16 + 'checksums': ['715e2bf5caf6276f0858eb4b11a1aef1a26beeb40dce2942387339da395bef69'], + }), + ('libXxf86vm', '1.1.4', { # 2015-02-24 + 'checksums': ['5108553c378a25688dcb57dca383664c36e293d60b1505815f67980ba9318a99'], + }), + ('libdmx', '1.1.4', { # 2018-05-14 + 'checksums': ['4d05bd5b248c1f46729fa1536b7a5e4d692567327ad41564c36742fb327af925'], + }), + ('libxkbfile', '1.1.0', { # 2019-03-16 + 'checksums': ['2a92adda3992aa7cbad758ef0b8dfeaedebb49338b772c64ddf369d78c1c51d3'], + }), + ('libxshmfence', '1.3', { # 2018-02-26 + 'checksums': ['7eb3d46ad91bab444f121d475b11b39273142d090f7e9ac43e6a87f4ff5f902c'], + }), + ('xcb-util', '0.4.0', { # 2014-10-15 + 'checksums': ['0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7'], + }), + ('xcb-util-image', '0.4.0', { # 2014-10-15 + 'checksums': ['cb2c86190cf6216260b7357a57d9100811bb6f78c24576a3a5bfef6ad3740a42'], + }), + ('xcb-util-keysyms', '0.4.0', { # 2014-10-01 + 'checksums': ['0807cf078fbe38489a41d755095c58239e1b67299f14460dec2ec811e96caa96'], + }), + ('xcb-util-renderutil', '0.3.9', { # 2014-06-13 + 'checksums': ['55eee797e3214fe39d0f3f4d9448cc53cffe06706d108824ea37bb79fcedcad5'], + }), + ('xcb-util-wm', '0.4.1', { # 2014-02-19 + 'checksums': ['038b39c4bdc04a792d62d163ba7908f4bb3373057208c07110be73c1b04b8334'], + }), + ('xcb-util-cursor', '0.1.3', { # 2016-05-12 + 'checksums': ['a322332716a384c94d3cbf98f2d8fe2ce63c2fe7e2b26664b6cea1d411723df8'], + }), + ('xkeyboard-config', '2.35.1', { # 2022-02-08 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['18ce50ff0c74ae6093062bce1aeab3d363913ea35162fe271f8a0ce399de85cc'], + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.3', { # 2015-02-21 + 'checksums': ['f6b8cc4ef05d3eafc9ef5fc72819dd412024b4ed60197c0d5914758125817e9c'], + }), + ('xbitmaps', '1.1.2', { # 2018-03-10 + 'checksums': ['27e700e8ee02c43f7206f4eca8f1953ad15236cac95d7a0f08505c3f7d99c265'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f98e6b15dbc --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20221110-GCCcore-12.2.0.eb @@ -0,0 +1,214 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20221110' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), + ('Bison', '3.8.2'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.3'), + ('intltool', '0.51.0'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('Doxygen', '1.9.5'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.14.1'), + ('freetype', '2.12.1'), + ('zlib', '1.2.12'), + ('xorg-macros', '1.19.3'), + ('libpciaccess', '0.17'), +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.4', { # 2017-03-14 + 'checksums': ['50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9'], + }), + ('xorgproto', '2022.2', { # 2022-08-11 + 'checksums': ['da351a403d07a7006d7bdc8dcfc14ddc1b588b38fb81adab9989a8eef605757b'], + }), + ('libXau', '1.0.10', { # 2022-08-26 + 'checksums': ['51a54da42475d4572a0b59979ec107c27dacf6c687c2b7b04e5cf989a7c7e60c'], + }), + ('libXdmcp', '1.1.3', { # 2019-03-16 + 'checksums': ['2ef9653d32e09d1bf1b837d0e0311024979653fe755ad3aaada8db1aa6ea180c'], + }), + ('xcb-proto', '1.15.2', { # 2022-06-17 + 'checksums': ['6b1ed9cd7cf35e37913eeecca37e5b85b14903002942b3e332f321335c27a8eb'], + }), + ('libxcb', '1.15', { # 2022-05-03 + 'checksums': ['1cb65df8543a69ec0555ac696123ee386321dfac1964a3da39976c9a05ad724d'], + }), + ('xtrans', '1.4.0', { # 2019-03-16 + 'checksums': ['48ed850ce772fef1b44ca23639b0a57e38884045ed2cbb18ab137ef33ec713f9'], + }), + ('libxkbcommon', '1.4.1', { # 2022-05-21 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['943c07a1e2198026d8102b17270a1f406e4d3d6bbc4ae105b9e1b82d7d136b39'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8.2', { # 2022-11-10 + 'checksums': ['f1bc56187bee0f830e1179ac5068ac93b78c51ace94eb27702ffb2efd116587b'], + }), + ('libXext', '1.3.5', { # 2022-10-29 + 'checksums': ['1a3dcda154f803be0285b46c9338515804b874b5ccc7a2b769ab7fd76f1035bd'], + }), + ('libFS', '1.0.9', { # 2022-08-26 + 'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'], + }), + ('libICE', '1.0.10', { # 2019-07-14 + 'checksums': ['1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d'], + }), + ('libSM', '1.2.3', { # 2018-10-10 + 'checksums': ['1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320'], + }), + ('libXScrnSaver', '1.2.3', { # 2018-07-05 + 'checksums': ['4f74e7e412144591d8e0616db27f433cfc9f45aae6669c6c4bb03e6bf9be809a'], + }), + ('libXt', '1.2.1', { # 2021-01-24 + 'checksums': ['6da1bfa9dd0ed87430a5ce95b129485086394df308998ebe34d98e378e3dfb33'], + }), + ('libXmu', '1.1.4', { # 2022-10-17 + 'checksums': ['3091d711cdc1d8ea0f545a13b90d1464c3c3ab64778fd121f0d789b277a80289'], + }), + ('libXpm', '3.5.13', { # 2019-12-13 + 'checksums': ['e3dfb0fb8c1f127432f2a498c7856b37ce78a61e8da73f1aab165a73dd97ad00'], + }), + ('libXaw', '1.0.14', { # 2021-03-27 + 'checksums': ['59cfed2712cc80bbfe62dd1aacf24f58d74a76dd08329a922077b134a8d8048f'], + }), + ('libXfixes', '6.0.0', { # 2021-05-11 + 'checksums': ['82045da5625350838390c9440598b90d69c882c324ca92f73af9f0e992cb57c7'], + }), + ('libXcomposite', '0.4.5', { # 2019-03-11 + 'checksums': ['581c7fc0f41a99af38b1c36b9be64bc13ef3f60091cd3f01105bbc7c01617d6c'], + }), + ('libXrender', '0.9.11', { # 2022-10-22 + 'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'], + }), + ('libXcursor', '1.2.1', { # 2022-04-03 + 'checksums': ['77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98'], + }), + ('libXdamage', '1.1.5', { # 2019-03-11 + 'checksums': ['630ec53abb8c2d6dac5cd9f06c1f73ffb4a3167f8118fdebd77afd639dbc2019'], + }), + ('libfontenc', '1.1.6', { # 2022-08-30 + 'checksums': ['c103543a47ce5c0200fb1867f32df5e754a7c3ef575bf1fe72187117eac22a53'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.6', { # 2022-08-26 + 'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'], + }), + ('libXft', '2.3.6', { # 2022-09-10 + 'checksums': ['b7e59f69e0bbabe9438088775f7e5a7c16a572e58b11f9722519385d38192df5'], + }), + ('libXi', '1.8', { # 2021-09-15 + 'checksums': ['c80fd200a1190e4406bb4cc6958839d9651638cb47fa546a595d4bebcd3b9e2d'], + }), + ('libXinerama', '1.1.5', { # 2022-10-29 + 'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'], + }), + ('libXrandr', '1.5.2', { # 2019-03-16 + 'checksums': ['3f10813ab355e7a09f17e147d61b0ce090d898a5ea5b5519acd0ef68675dcf8e'], + }), + ('libXres', '1.2.1', { # 2021-03-31 + 'checksums': ['918fb33c3897b389a1fbb51571c5c04c6b297058df286d8b48faa5af85e88bcc'], + }), + ('libXtst', '1.2.4', { # 2022-09-27 + 'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'], + }), + ('libXv', '1.0.11', { # 2016-10-04 + 'checksums': ['c4112532889b210e21cf05f46f0f2f8354ff7e1b58061e12d7a76c95c0d47bb1'], + }), + ('libXvMC', '1.0.13', { # 2022-03-22 + 'checksums': ['e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e'], + }), + ('libXxf86dga', '1.1.5', { # 2019-03-16 + 'checksums': ['715e2bf5caf6276f0858eb4b11a1aef1a26beeb40dce2942387339da395bef69'], + }), + ('libXxf86vm', '1.1.5', { # 2022-09-27 + 'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'], + }), + ('libdmx', '1.1.4', { # 2018-05-14 + 'checksums': ['4d05bd5b248c1f46729fa1536b7a5e4d692567327ad41564c36742fb327af925'], + }), + ('libxkbfile', '1.1.1', { # 2022-10-18 + 'checksums': ['87faee6d4873c5631e8bb53e85134084b862185da682de8617f08ca18d82e216'], + }), + ('libxshmfence', '1.3', { # 2018-02-26 + 'checksums': ['7eb3d46ad91bab444f121d475b11b39273142d090f7e9ac43e6a87f4ff5f902c'], + }), + ('xcb-util', '0.4.0', { # 2014-10-15 + 'checksums': ['0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7'], + }), + ('xcb-util-image', '0.4.1', { # 2022-10-18 + 'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'], + }), + ('xcb-util-keysyms', '0.4.1', { # 2022-10-19 + 'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'], + }), + ('xcb-util-renderutil', '0.3.10', { # 2022-10-19 + 'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'], + }), + ('xcb-util-wm', '0.4.2', { # 2022-10-19 + 'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'], + }), + ('xcb-util-cursor', '0.1.4', { # 2022-10-18 + 'checksums': ['cc8608ebb695742b6cf84712be29b2b66aa5f6768039528794fca0fa283022bf'], + }), + ('xkeyboard-config', '2.37', { # 2022-10-04 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c'], + # required to overrule parent preconfigopts that runs autogen.sh if configure script is missing + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.4', { # 2022-09-12 + 'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'], + }), + ('xbitmaps', '1.1.2', { # 2018-03-10 + 'checksums': ['27e700e8ee02c43f7206f4eca8f1953ad15236cac95d7a0f08505c3f7d99c265'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20230603-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20230603-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..62b97f725fb --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20230603-GCCcore-12.3.0.eb @@ -0,0 +1,214 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20230603' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('Bison', '3.8.2'), + ('gettext', '0.21.1'), + ('pkgconf', '1.9.5'), + ('intltool', '0.51.0'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('Doxygen', '1.9.7'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.14.2'), + ('freetype', '2.13.0'), + ('zlib', '1.2.13'), + ('xorg-macros', '1.20.0'), + ('libpciaccess', '0.17'), +] + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.4', { # 2017-03-14 + 'checksums': ['50d5686b79019ccea08bcbd7b02fe5a40634abcfd4146b6e75c6420cc170e9d9'], + }), + ('xorgproto', '2022.2', { # 2022-08-11 + 'checksums': ['da351a403d07a7006d7bdc8dcfc14ddc1b588b38fb81adab9989a8eef605757b'], + }), + ('libXau', '1.0.11', { # 2022-12-08 + 'checksums': ['3a321aaceb803577a4776a5efe78836eb095a9e44bbc7a465d29463e1a14f189'], + }), + ('libXdmcp', '1.1.4', { # 2022-11-19 + 'checksums': ['55041a8ff8992ab02777478c4b19c249c0f8399f05a752cb4a1a868a9a0ccb9a'], + }), + ('xcb-proto', '1.15.2', { # 2022-06-17 + 'checksums': ['6b1ed9cd7cf35e37913eeecca37e5b85b14903002942b3e332f321335c27a8eb'], + }), + ('libxcb', '1.15', { # 2022-05-03 + 'checksums': ['1cb65df8543a69ec0555ac696123ee386321dfac1964a3da39976c9a05ad724d'], + }), + ('xtrans', '1.5.0', { # 2023-06-03 + 'checksums': ['a806f8a92f879dcd0146f3f1153fdffe845f2fc0df9b1a26c19312b7b0a29c86'], + }), + ('libxkbcommon', '1.5.0', { # 2023-01-02 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['560f11c4bbbca10f495f3ef7d3a6aa4ca62b4f8fb0b52e7d459d18a26e46e017'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8.5', { # 2023-06-01 + 'checksums': ['d84a35c324d5a1724692eafc1ed76f1689c833021e0062933773ec437f91a56b'], + }), + ('libXext', '1.3.5', { # 2022-10-29 + 'checksums': ['1a3dcda154f803be0285b46c9338515804b874b5ccc7a2b769ab7fd76f1035bd'], + }), + ('libFS', '1.0.9', { # 2022-08-26 + 'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'], + }), + ('libICE', '1.1.1', { # 2022-12-08 + 'checksums': ['04fbd34a11ba08b9df2e3cdb2055c2e3c1c51b3257f683d7fcf42dabcf8e1210'], + }), + ('libSM', '1.2.4', { # 2022-12-20 + 'checksums': ['51464ce1abce323d5b6707ceecf8468617106e1a8a98522f8342db06fd024c15'], + }), + ('libXScrnSaver', '1.2.4', { # 2022-12-05 + 'checksums': ['0656b2630475104d6df75d91ebb8e0153e61d14e9871ef1f403bcda4a62a838a'], + }), + ('libXt', '1.3.0', { # 2023-05-09 + 'checksums': ['de4a80c4cc7785b9620e572de71026805f68e85a2bf16c386009ef0e50be3f77'], + }), + ('libXmu', '1.1.4', { # 2022-10-17 + 'checksums': ['3091d711cdc1d8ea0f545a13b90d1464c3c3ab64778fd121f0d789b277a80289'], + }), + ('libXpm', '3.5.16', { # 2023-04-17 + 'checksums': ['43a70e6f9b67215fb223ca270d83bdcb868c513948441d5b781ea0765df6bfb4'], + }), + ('libXaw', '1.0.15', { # 2023-03-16 + 'checksums': ['ca8a613884c922985202075b3cc8ee8821bfa83a5eb066189ae3cca131e63972'], + }), + ('libXfixes', '6.0.1', { # 2023-04-09 + 'checksums': ['e69eaa321173c748ba6e2f15c7cf8da87f911d3ea1b6af4b547974aef6366bec'], + }), + ('libXcomposite', '0.4.6', { # 2022-12-04 + 'checksums': ['3599dfcd96cd48d45e6aeb08578aa27636fa903f480f880c863622c2b352d076'], + }), + ('libXrender', '0.9.11', { # 2022-10-22 + 'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'], + }), + ('libXcursor', '1.2.1', { # 2022-04-03 + 'checksums': ['77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98'], + }), + ('libXdamage', '1.1.6', { # 2022-12-04 + 'checksums': ['2afcc139eb6eb926ffe344494b1fc023da25def42874496e6e6d3aa8acef8595'], + }), + ('libfontenc', '1.1.7', { # 2022-12-08 + 'checksums': ['5e5f210329823f08f97bfe9fd5b4105070c789bc5aef88ce01d86d8203d4aa9f'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.6', { # 2022-08-26 + 'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'], + }), + ('libXft', '2.3.8', { # 2023-04-17 + 'checksums': ['32e48fe2d844422e64809e4e99b9d8aed26c1b541a5acf837c5037b8d9f278a8'], + }), + ('libXi', '1.8.1', { # 2023-05-04 + 'checksums': ['3b5f47c223e4b63d7f7fe758886b8bf665b20a7edb6962c423892fd150e326ea'], + }), + ('libXinerama', '1.1.5', { # 2022-10-29 + 'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'], + }), + ('libXrandr', '1.5.3', { # 2022-11-20 + 'checksums': ['3ad316c1781fe2fe22574b819e81f0eff087a8560377f521ba932238b41b251f'], + }), + ('libXres', '1.2.2', { # 2022-12-05 + 'checksums': ['8abce597ced4a7ab89032aee91f6f784d9960adc772b2b59f17e515cd4127950'], + }), + ('libXtst', '1.2.4', { # 2022-09-27 + 'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'], + }), + ('libXv', '1.0.12', { # 2022-12-05 + 'checksums': ['ce706619a970a580a0e35e9b5c98bdd2af243ac6494c65f44608a89a86100126'], + }), + ('libXvMC', '1.0.13', { # 2022-03-22 + 'checksums': ['e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e'], + }), + ('libXxf86dga', '1.1.6', { # 2022-12-05 + 'checksums': ['87c7482b1e29b4eeb415815641c4f69c00545a8138e1b73ff1f361f7d9c22ac4'], + }), + ('libXxf86vm', '1.1.5', { # 2022-09-27 + 'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'], + }), + ('libdmx', '1.1.5', { # 2023-06-03 + 'checksums': ['070e82cc1daa1b21ee1339aef56a909eab04cbe7d430fabfbb01ecd21b2dd9f3'], + }), + ('libxkbfile', '1.1.2', { # 2022-12-08 + 'checksums': ['d1a7e659bc7ae1aa1fc1ecced261c734df5ad5d86af1ef7a946be0e2d841e51d'], + }), + ('libxshmfence', '1.3.2', { # 2022-12-08 + 'checksums': ['e93a85099604beb244ee756dcaf70e18b08701c1ca84c4de0126cd71bd6c8181'], + }), + ('xcb-util', '0.4.0', { # 2014-10-15 + 'checksums': ['0ed0934e2ef4ddff53fcc70fc64fb16fe766cd41ee00330312e20a985fd927a7'], + }), + ('xcb-util-image', '0.4.1', { # 2022-10-18 + 'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'], + }), + ('xcb-util-keysyms', '0.4.1', { # 2022-10-19 + 'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'], + }), + ('xcb-util-renderutil', '0.3.10', { # 2022-10-19 + 'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'], + }), + ('xcb-util-wm', '0.4.2', { # 2022-10-19 + 'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'], + }), + ('xcb-util-cursor', '0.1.4', { # 2022-10-18 + 'checksums': ['cc8608ebb695742b6cf84712be29b2b66aa5f6768039528794fca0fa283022bf'], + }), + ('xkeyboard-config', '2.38', { # 2022-02-04 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0690a91bab86b18868f3eee6d41e9ec4ce6894f655443d490a2184bfac56c872'], + # required to overrule parent preconfigopts that runs autogen.sh if configure script is missing + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.4', { # 2022-09-12 + 'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'], + }), + ('xbitmaps', '1.1.3', { # 2023-02-23 + 'checksums': ['93b433b7ff223c4685fdba583b4bd30f2706be2413a670021084422d85b0269d'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20231019-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/X11/X11-20231019-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ecadd6a2d8b --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20231019-GCCcore-13.2.0.eb @@ -0,0 +1,214 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20231019' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('Bison', '3.8.2'), + ('gettext', '0.22'), + ('pkgconf', '2.0.3'), + ('intltool', '0.51.0'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('Doxygen', '1.9.8'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.14.2'), + ('freetype', '2.13.2'), + ('zlib', '1.2.13'), + ('xorg-macros', '1.20.0'), + ('libpciaccess', '0.17'), +] + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.5', { # 2023-07-18 + 'checksums': ['593196cc746173d1e25cb54a93a87fd749952df68699aab7e02c085530e87747'], + }), + ('xorgproto', '2023.2', { # 2023-06-16 + 'checksums': ['c791aad9b5847781175388ebe2de85cb5f024f8dabf526d5d699c4f942660cc3'], + }), + ('libXau', '1.0.11', { # 2022-12-08 + 'checksums': ['3a321aaceb803577a4776a5efe78836eb095a9e44bbc7a465d29463e1a14f189'], + }), + ('libXdmcp', '1.1.4', { # 2022-11-19 + 'checksums': ['55041a8ff8992ab02777478c4b19c249c0f8399f05a752cb4a1a868a9a0ccb9a'], + }), + ('xcb-proto', '1.16.0', { # 2023-08-16 + 'checksums': ['d9c7f010b1105fc3858bf07b5169b2dd8e7493c6652b1fe45f3321d874f291d7'], + }), + ('libxcb', '1.16', { # 2023-05-03 + 'checksums': ['bc0f75f84b28e6496a19a1d094d7e47def861a50cb7cce5b23b62eecdc2a4479'], + }), + ('xtrans', '1.5.0', { # 2023-06-03 + 'checksums': ['a806f8a92f879dcd0146f3f1153fdffe845f2fc0df9b1a26c19312b7b0a29c86'], + }), + ('libxkbcommon', '1.6.0', { # 2023-10-08 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0edc14eccdd391514458bc5f5a4b99863ed2d651e4dd761a90abf4f46ef99c2b'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8.7', { # 2023-10-03 + 'checksums': ['793ebebf569f12c864b77401798d38814b51790fce206e01a431e5feb982e20b'], + }), + ('libXext', '1.3.5', { # 2022-10-29 + 'checksums': ['1a3dcda154f803be0285b46c9338515804b874b5ccc7a2b769ab7fd76f1035bd'], + }), + ('libFS', '1.0.9', { # 2022-08-26 + 'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'], + }), + ('libICE', '1.1.1', { # 2022-12-08 + 'checksums': ['04fbd34a11ba08b9df2e3cdb2055c2e3c1c51b3257f683d7fcf42dabcf8e1210'], + }), + ('libSM', '1.2.4', { # 2022-12-20 + 'checksums': ['51464ce1abce323d5b6707ceecf8468617106e1a8a98522f8342db06fd024c15'], + }), + ('libXScrnSaver', '1.2.4', { # 2022-12-05 + 'checksums': ['0656b2630475104d6df75d91ebb8e0153e61d14e9871ef1f403bcda4a62a838a'], + }), + ('libXt', '1.3.0', { # 2023-05-09 + 'checksums': ['de4a80c4cc7785b9620e572de71026805f68e85a2bf16c386009ef0e50be3f77'], + }), + ('libXmu', '1.1.4', { # 2022-10-17 + 'checksums': ['3091d711cdc1d8ea0f545a13b90d1464c3c3ab64778fd121f0d789b277a80289'], + }), + ('libXpm', '3.5.17', { # 2023-10-03 + 'checksums': ['959466c7dfcfcaa8a65055bfc311f74d4c43d9257900f85ab042604d286df0c6'], + }), + ('libXaw', '1.0.15', { # 2023-03-16 + 'checksums': ['ca8a613884c922985202075b3cc8ee8821bfa83a5eb066189ae3cca131e63972'], + }), + ('libXfixes', '6.0.1', { # 2023-04-09 + 'checksums': ['e69eaa321173c748ba6e2f15c7cf8da87f911d3ea1b6af4b547974aef6366bec'], + }), + ('libXcomposite', '0.4.6', { # 2022-12-04 + 'checksums': ['3599dfcd96cd48d45e6aeb08578aa27636fa903f480f880c863622c2b352d076'], + }), + ('libXrender', '0.9.11', { # 2022-10-22 + 'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'], + }), + ('libXcursor', '1.2.1', { # 2022-04-03 + 'checksums': ['77f96b9ad0a3c422cfa826afabaf1e02b9bfbfc8908c5fa1a45094faad074b98'], + }), + ('libXdamage', '1.1.6', { # 2022-12-04 + 'checksums': ['2afcc139eb6eb926ffe344494b1fc023da25def42874496e6e6d3aa8acef8595'], + }), + ('libfontenc', '1.1.7', { # 2022-12-08 + 'checksums': ['5e5f210329823f08f97bfe9fd5b4105070c789bc5aef88ce01d86d8203d4aa9f'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.6', { # 2022-08-26 + 'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'], + }), + ('libXft', '2.3.8', { # 2023-04-17 + 'checksums': ['32e48fe2d844422e64809e4e99b9d8aed26c1b541a5acf837c5037b8d9f278a8'], + }), + ('libXi', '1.8.1', { # 2023-05-04 + 'checksums': ['3b5f47c223e4b63d7f7fe758886b8bf665b20a7edb6962c423892fd150e326ea'], + }), + ('libXinerama', '1.1.5', { # 2022-10-29 + 'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'], + }), + ('libXrandr', '1.5.4', { # 2023-10-04 + 'checksums': ['c72c94dc3373512ceb67f578952c5d10915b38cc9ebb0fd176a49857b8048e22'], + }), + ('libXres', '1.2.2', { # 2022-12-05 + 'checksums': ['8abce597ced4a7ab89032aee91f6f784d9960adc772b2b59f17e515cd4127950'], + }), + ('libXtst', '1.2.4', { # 2022-09-27 + 'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'], + }), + ('libXv', '1.0.12', { # 2022-12-05 + 'checksums': ['ce706619a970a580a0e35e9b5c98bdd2af243ac6494c65f44608a89a86100126'], + }), + ('libXvMC', '1.0.13', { # 2022-03-22 + 'checksums': ['e630b4373af8c67a7c8f07ebe626a1269a613d262d1f737b57231a06f7c34b4e'], + }), + ('libXxf86dga', '1.1.6', { # 2022-12-05 + 'checksums': ['87c7482b1e29b4eeb415815641c4f69c00545a8138e1b73ff1f361f7d9c22ac4'], + }), + ('libXxf86vm', '1.1.5', { # 2022-09-27 + 'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'], + }), + ('libdmx', '1.1.5', { # 2023-06-03 + 'checksums': ['070e82cc1daa1b21ee1339aef56a909eab04cbe7d430fabfbb01ecd21b2dd9f3'], + }), + ('libxkbfile', '1.1.2', { # 2022-12-08 + 'checksums': ['d1a7e659bc7ae1aa1fc1ecced261c734df5ad5d86af1ef7a946be0e2d841e51d'], + }), + ('libxshmfence', '1.3.2', { # 2022-12-08 + 'checksums': ['e93a85099604beb244ee756dcaf70e18b08701c1ca84c4de0126cd71bd6c8181'], + }), + ('xcb-util', '0.4.1', { # 2022-12-20 + 'checksums': ['21c6e720162858f15fe686cef833cf96a3e2a79875f84007d76f6d00417f593a'], + }), + ('xcb-util-image', '0.4.1', { # 2022-10-18 + 'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'], + }), + ('xcb-util-keysyms', '0.4.1', { # 2022-10-19 + 'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'], + }), + ('xcb-util-renderutil', '0.3.10', { # 2022-10-19 + 'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'], + }), + ('xcb-util-wm', '0.4.2', { # 2022-10-19 + 'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'], + }), + ('xcb-util-cursor', '0.1.5', { # 2023-10-19 + 'checksums': ['0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa568e93b'], + }), + ('xkeyboard-config', '2.40', { # 2023-10-05 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['7a3dba1bec7dc7191432da021242d17c9cf6c89690e6c57b0de048ff8c9d2ae3'], + # required to overrule parent preconfigopts that runs autogen.sh if configure script is missing + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.4', { # 2022-09-12 + 'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'], + }), + ('xbitmaps', '1.1.3', { # 2023-02-23 + 'checksums': ['93b433b7ff223c4685fdba583b4bd30f2706be2413a670021084422d85b0269d'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/X11-20240607-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/X11/X11-20240607-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..64a4416b30e --- /dev/null +++ b/easybuild/easyconfigs/x/X11/X11-20240607-GCCcore-13.3.0.eb @@ -0,0 +1,214 @@ +easyblock = 'Bundle' + +name = 'X11' +version = '20240607' + +homepage = 'https://www.x.org' +description = "The X Window System (X11) is a windowing system for bitmap displays" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), + ('Bison', '3.8.2'), + ('gettext', '0.22.5'), + ('pkgconf', '2.2.0'), + ('intltool', '0.51.0'), + ('Meson', '1.4.0'), + ('Ninja', '1.12.1'), + ('Doxygen', '1.11.0'), +] + +dependencies = [ + ('bzip2', '1.0.8'), + ('fontconfig', '2.15.0'), + ('freetype', '2.13.2'), + ('zlib', '1.3.1'), + ('xorg-macros', '1.20.1'), + ('libpciaccess', '0.18.1'), +] + +source_urls = [ + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + 'https://xcb.freedesktop.org/dist/', + 'https://xkbcommon.org/download/', + XORG_DATA_SOURCE + '/xkeyboard-config', + XORG_DATA_SOURCE, +] + +default_easyblock = 'ConfigureMake' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('libpthread-stubs', '0.5', { # 2023-07-18 + 'checksums': ['593196cc746173d1e25cb54a93a87fd749952df68699aab7e02c085530e87747'], + }), + ('xorgproto', '2024.1', { # 2024-03-26 + 'checksums': ['4f6b9b4faf91e5df8265b71843a91fc73dc895be6210c84117a996545df296ce'], + }), + ('libXau', '1.0.11', { # 2022-12-08 + 'checksums': ['3a321aaceb803577a4776a5efe78836eb095a9e44bbc7a465d29463e1a14f189'], + }), + ('libXdmcp', '1.1.5', { # 2024-03-02 + 'checksums': ['31a7abc4f129dcf6f27ae912c3eedcb94d25ad2e8f317f69df6eda0bc4e4f2f3'], + }), + ('xcb-proto', '1.17.0', { # 2024-04-15 + 'checksums': ['392d3c9690f8c8202a68fdb89c16fd55159ab8d65000a6da213f4a1576e97a16'], + }), + ('libxcb', '1.17.0', { # 2024-04-15 + 'checksums': ['2c69287424c9e2128cb47ffe92171e10417041ec2963bceafb65cb3fcf8f0b85'], + }), + ('xtrans', '1.5.0', { # 2023-06-03 + 'checksums': ['a806f8a92f879dcd0146f3f1153fdffe845f2fc0df9b1a26c19312b7b0a29c86'], + }), + ('libxkbcommon', '1.7.0', { # 2024-03-23 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['65782f0a10a4b455af9c6baab7040e2f537520caa2ec2092805cdfd36863b247'], + 'preconfigopts': '', + 'configopts': '-Denable-wayland=false -Denable-docs=false ', + }), + ('libX11', '1.8.9', { # 2024-04-05 + 'checksums': ['57ca5f07d263788ad661a86f4139412e8b699662e6b60c20f1f028c25a935e48'], + }), + ('libXext', '1.3.6', { # 2024-02-04 + 'checksums': ['1a0ac5cd792a55d5d465ced8dbf403ed016c8e6d14380c0ea3646c4415496e3d'], + }), + ('libFS', '1.0.9', { # 2022-08-26 + 'checksums': ['8bc2762f63178905228a28670539badcfa2c8793f7b6ce3f597b7741b932054a'], + }), + ('libICE', '1.1.1', { # 2022-12-08 + 'checksums': ['04fbd34a11ba08b9df2e3cdb2055c2e3c1c51b3257f683d7fcf42dabcf8e1210'], + }), + ('libSM', '1.2.4', { # 2022-12-20 + 'checksums': ['51464ce1abce323d5b6707ceecf8468617106e1a8a98522f8342db06fd024c15'], + }), + ('libXScrnSaver', '1.2.4', { # 2022-12-05 + 'checksums': ['0656b2630475104d6df75d91ebb8e0153e61d14e9871ef1f403bcda4a62a838a'], + }), + ('libXt', '1.3.0', { # 2023-05-09 + 'checksums': ['de4a80c4cc7785b9620e572de71026805f68e85a2bf16c386009ef0e50be3f77'], + }), + ('libXmu', '1.2.1', { # 2024-04-16 + 'checksums': ['bf0902583dd1123856c11e0a5085bd3c6e9886fbbd44954464975fd7d52eb599'], + }), + ('libXpm', '3.5.17', { # 2023-10-03 + 'checksums': ['959466c7dfcfcaa8a65055bfc311f74d4c43d9257900f85ab042604d286df0c6'], + }), + ('libXaw', '1.0.16', { # 2024-03-10 + 'checksums': ['012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798'], + }), + ('libXfixes', '6.0.1', { # 2023-04-09 + 'checksums': ['e69eaa321173c748ba6e2f15c7cf8da87f911d3ea1b6af4b547974aef6366bec'], + }), + ('libXcomposite', '0.4.6', { # 2022-12-04 + 'checksums': ['3599dfcd96cd48d45e6aeb08578aa27636fa903f480f880c863622c2b352d076'], + }), + ('libXrender', '0.9.11', { # 2022-10-22 + 'checksums': ['6aec3ca02e4273a8cbabf811ff22106f641438eb194a12c0ae93c7e08474b667'], + }), + ('libXcursor', '1.2.2', { # 2024-03-02 + 'checksums': ['98c3a30a3f85274c167d1ac5419d681ce41f14e27bfa5fe3003c8172cd8af104'], + }), + ('libXdamage', '1.1.6', { # 2022-12-04 + 'checksums': ['2afcc139eb6eb926ffe344494b1fc023da25def42874496e6e6d3aa8acef8595'], + }), + ('libfontenc', '1.1.8', { # 2024-03-02 + 'checksums': ['b55039f70959a1b2f02f4ec8db071e5170528d2c9180b30575dccf7510d7fb9f'], + }), + ('libXfont', '1.5.4', { # 2017-11-28 + 'checksums': ['59be6eab53f7b0feb6b7933c11d67d076ae2c0fd8921229c703fc7a4e9a80d6e'], + }), + ('libXfont2', '2.0.6', { # 2022-08-26 + 'checksums': ['a944df7b6837c8fa2067f6a5fc25d89b0acc4011cd0bc085106a03557fb502fc'], + }), + ('libXft', '2.3.8', { # 2023-04-17 + 'checksums': ['32e48fe2d844422e64809e4e99b9d8aed26c1b541a5acf837c5037b8d9f278a8'], + }), + ('libXi', '1.8.1', { # 2023-05-04 + 'checksums': ['3b5f47c223e4b63d7f7fe758886b8bf665b20a7edb6962c423892fd150e326ea'], + }), + ('libXinerama', '1.1.5', { # 2022-10-29 + 'checksums': ['2efa855cb42dc620eff3b77700d8655695e09aaa318f791f201fa60afa72b95c'], + }), + ('libXrandr', '1.5.4', { # 2023-10-04 + 'checksums': ['c72c94dc3373512ceb67f578952c5d10915b38cc9ebb0fd176a49857b8048e22'], + }), + ('libXres', '1.2.2', { # 2022-12-05 + 'checksums': ['8abce597ced4a7ab89032aee91f6f784d9960adc772b2b59f17e515cd4127950'], + }), + ('libXtst', '1.2.4', { # 2022-09-27 + 'checksums': ['01366506aeb033f6dffca5326af85f670746b0cabbfd092aabefb046cf48c445'], + }), + ('libXv', '1.0.12', { # 2022-12-05 + 'checksums': ['ce706619a970a580a0e35e9b5c98bdd2af243ac6494c65f44608a89a86100126'], + }), + ('libXvMC', '1.0.14', { # 2024-02-04 + 'checksums': ['3ad5d2b991219e2bf9b2f85d40b12c16f1afec038715e462f6058af73a9b5ef8'], + }), + ('libXxf86dga', '1.1.6', { # 2022-12-05 + 'checksums': ['87c7482b1e29b4eeb415815641c4f69c00545a8138e1b73ff1f361f7d9c22ac4'], + }), + ('libXxf86vm', '1.1.5', { # 2022-09-27 + 'checksums': ['f3f1c29fef8accb0adbd854900c03c6c42f1804f2bc1e4f3ad7b2e1f3b878128'], + }), + ('libdmx', '1.1.5', { # 2023-06-03 + 'checksums': ['070e82cc1daa1b21ee1339aef56a909eab04cbe7d430fabfbb01ecd21b2dd9f3'], + }), + ('libxkbfile', '1.1.3', { # 2024-02-04 + 'checksums': ['c4c2687729d1f920f165ebb96557a1ead2ef655809ab5eaa66a1ad36dc31050d'], + }), + ('libxshmfence', '1.3.2', { # 2022-12-08 + 'checksums': ['e93a85099604beb244ee756dcaf70e18b08701c1ca84c4de0126cd71bd6c8181'], + }), + ('xcb-util', '0.4.1', { # 2022-12-20 + 'checksums': ['21c6e720162858f15fe686cef833cf96a3e2a79875f84007d76f6d00417f593a'], + }), + ('xcb-util-image', '0.4.1', { # 2022-10-18 + 'checksums': ['0ebd4cf809043fdeb4f980d58cdcf2b527035018924f8c14da76d1c81001293b'], + }), + ('xcb-util-keysyms', '0.4.1', { # 2022-10-19 + 'checksums': ['1fa21c0cea3060caee7612b6577c1730da470b88cbdf846fa4e3e0ff78948e54'], + }), + ('xcb-util-renderutil', '0.3.10', { # 2022-10-19 + 'checksums': ['e04143c48e1644c5e074243fa293d88f99005b3c50d1d54358954404e635128a'], + }), + ('xcb-util-wm', '0.4.2', { # 2022-10-19 + 'checksums': ['dcecaaa535802fd57c84cceeff50c64efe7f2326bf752e16d2b77945649c8cd7'], + }), + ('xcb-util-cursor', '0.1.5', { # 2023-10-19 + 'checksums': ['0e9c5446dc6f3beb8af6ebfcc9e27bcc6da6fe2860f7fc07b99144dfa568e93b'], + }), + ('xkeyboard-config', '2.42', { # 2024-06-07 + 'easyblock': 'MesonNinja', + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['a6b06ebfc1f01fc505f2f05f265f95f67cc8873a54dd247e3c2d754b8f7e0807'], + # required to overrule parent preconfigopts that runs autogen.sh if configure script is missing + 'preconfigopts': '', + }), + ('printproto', '1.0.5', { # 2011-01-06 + 'checksums': ['e8b6f405fd865f0ea7a3a2908dfbf06622f57f2f91359ec65d13b955e49843fc'], + }), + ('libXp', '1.0.4', { # 2022-09-12 + 'checksums': ['05e46af1ccb68f1752cca5879774a4fb9bf3b19fe088eb745034956e0c6fadba'], + }), + ('xbitmaps', '1.1.3', { # 2023-02-23 + 'checksums': ['93b433b7ff223c4685fdba583b4bd30f2706be2413a670021084422d85b0269d'], + }), +] + +preconfigopts = "if [ ! -f configure ]; then ./autogen.sh; fi && " + +sanity_check_paths = { + 'files': ['include/X11/Xlib.h', 'include/X11/Xutil.h'], + 'dirs': ['include/GL', 'include/X11', 'include/X11/extensions', 'lib/pkgconfig', + 'share/pkgconfig', 'share/X11/xkb'], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/X11/libXfont2-2.0.4_libbsd.patch b/easybuild/easyconfigs/x/X11/libXfont2-2.0.4_libbsd.patch new file mode 100644 index 00000000000..19684aea813 --- /dev/null +++ b/easybuild/easyconfigs/x/X11/libXfont2-2.0.4_libbsd.patch @@ -0,0 +1,26 @@ +From ce7a3265019e4d66198c1581d9e8c859c34e8ef1 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 19 Oct 2019 09:32:41 +0200 +Subject: [PATCH] configure: define HAVE_LIBBSD when libbsd was found + +--- + configure.ac | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index e497325..d4d8aa4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -53,6 +53,9 @@ AC_CHECK_HEADERS([endian.h poll.h sys/poll.h]) + # Checks for library functions. + AC_CHECK_FUNCS([poll readlink]) + AC_SEARCH_LIBS([strlcat], [bsd]) ++if test "$ac_cv_search_strlcat" = "-lbsd"; then ++ AC_DEFINE(HAVE_LIBBSD,1,[Has libbsd]) ++fi + AC_CONFIG_LIBOBJ_DIR([src/util]) + AC_REPLACE_FUNCS([reallocarray realpath strlcat strlcpy]) + +-- +GitLab + diff --git a/easybuild/easyconfigs/x/XBeach/XBeach-20230831-gompi-2022a.eb b/easybuild/easyconfigs/x/XBeach/XBeach-20230831-gompi-2022a.eb new file mode 100644 index 00000000000..d6d2377b1fd --- /dev/null +++ b/easybuild/easyconfigs/x/XBeach/XBeach-20230831-gompi-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'ConfigureMake' + +name = 'XBeach' +# revision 6044 +version = '20230831' + +homepage = 'https://oss.deltares.nl/web/xbeach' +description = """ +XBeach is a two-dimensional model for wave propagation, long waves and mean flow, sediment +transport and morphological changes of the nearshore area, beaches, dunes and backbarrier +during storms. +""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True} + +# There is no tarball provided, only SVN checkout through: +# svn checkout https://svn.oss.deltares.nl/repos/xbeach/trunk@6044 +# make tarball: tar -czvf XBeach-20230831.tgz trunk + +sources = [SOURCE_TGZ] +patches = ['XBeach-20230831_fix-gfortran-compilation.patch'] +checksums = [ + None, + '9aa8a3593ea641a16a6d09bb75cc9935de383b5934f4a2718eeb94382386f0c4', +] + +prebuildopts = 'make clean && ' + +dependencies = [ + ('Mako', '1.2.0'), + ('netCDF-Fortran', '4.6.0'), +] + +parallel = 1 + +configopts = '--with-netcdf' +preconfigopts = './autogen.sh && ' +preconfigopts += 'export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${EBROOTNETCDFMINFORTRAN}/lib/pkgconfig" && ' + +sanity_check_paths = { + 'files': ['bin/xbeach', 'lib/libxbeach.a', 'lib/libxbeach.la', 'lib/libxbeach.%s' % SHLIB_EXT], + 'dirs': [] +} +sanity_check_commands = [ + 'xbeach -V |grep "You are using XBeach" 2>/dev/null', +] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/x/XBeach/XBeach-20230831_fix-gfortran-compilation.patch b/easybuild/easyconfigs/x/XBeach/XBeach-20230831_fix-gfortran-compilation.patch new file mode 100644 index 00000000000..cf14a126030 --- /dev/null +++ b/easybuild/easyconfigs/x/XBeach/XBeach-20230831_fix-gfortran-compilation.patch @@ -0,0 +1,19 @@ +Fix compilation with gfortran, see https://github.com/openearth/xbeach/issues/2 +author: Cintia Willemyns (HPC-VUB) +--- trunk.orig/src/xbeachlibrary/mnemoniciso.F90 2023-09-18 11:46:34.153048000 +0200 ++++ trunk/src/xbeachlibrary/mnemoniciso.F90 2023-09-18 11:46:41.583851000 +0200 +@@ -10,10 +10,10 @@ + character(kind=c_char) type ! 'i' or 'r': integer or real*8 + character(kind=c_char) btype ! 'b' or 'd': + integer(c_int) rank ! 0,1,2,3,4 +- character(kind=c_char, len=maxnamelen) :: name ! 'v','ve', ..... +- character(kind=c_char, len=20) :: units ! m, following udunits convention +- character(kind=c_char, len=1024) :: description +- character(kind=c_char, len=20), dimension(maxrank) :: dimensions ! the dimensions of the variable, for example (s%nx, s%ny) ++ character(kind=c_char) :: name(maxnamelen) ! 'v','ve', ..... ++ character(kind=c_char) :: units(20) ! m, following udunits convention ++ character(kind=c_char) :: description(1024) ++ character(kind=c_char), dimension(maxrank) :: dimensions(20) + + type (c_ptr) :: array + diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.0-GCCcore-9.3.0.eb index 8921a717b36..962ea747cfe 100644 --- a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.0-GCCcore-9.3.0.eb @@ -17,9 +17,6 @@ builddependencies = [ ('CMake', '3.16.4') ] -separate_build_dir = True -build_type = 'release' - modextravars = {'XCFun_DIR': '%(installdir)s/share/cmake/XCFun/'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.2.0.eb index c9423b441d3..b6179c23068 100644 --- a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.2.0.eb @@ -17,9 +17,6 @@ builddependencies = [ ('CMake', '3.18.4') ] -separate_build_dir = True -build_type = 'release' - modextravars = {'XCFun_DIR': '%(installdir)s/share/cmake/XCFun/'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.3.0.eb index b4e94d5e324..250287bce72 100644 --- a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-10.3.0.eb @@ -17,9 +17,6 @@ builddependencies = [ ('CMake', '3.20.1') ] -separate_build_dir = True -build_type = 'release' - modextravars = {'XCFun_DIR': '%(installdir)s/share/cmake/XCFun/'} sanity_check_paths = { diff --git a/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..16e144e6394 --- /dev/null +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-11.3.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': '11.3.0'} + +source_urls = ['https://github.com/dftlibs/xcfun/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1') +] + +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/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/XCFun/XCFun-2.1.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..11a4eb62c8e --- /dev/null +++ b/easybuild/easyconfigs/x/XCFun/XCFun-2.1.1-GCCcore-12.3.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.3.0'} + +source_urls = ['https://github.com/dftlibs/xcfun/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['8b602df74c7be83d501532565deafd1b7881946d94789122f24c309a669298ab'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.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-foss-2019b.eb b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2019b.eb index b9b1869cf8e..f3b93f0ad3e 100644 --- a/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2019b.eb +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2019b.eb @@ -29,4 +29,6 @@ dependencies = [ parallel = 1 +prebuildopts = "LDLIB='-ldl'" + moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2020b.eb b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2020b.eb new file mode 100644 index 00000000000..207a5255468 --- /dev/null +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2020b.eb @@ -0,0 +1,34 @@ +name = 'XCrySDen' +version = '1.6.2' + +homepage = "http://www.xcrysden.org/" +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.""" + +toolchain = {'name': 'foss', 'version': '2020b'} +toolchainopts = {'vectorize': False} + +source_urls = ["http://www.xcrysden.org/download/"] +sources = [SOURCELOWER_TAR_GZ] +patches = ['XCrySDen-1.6.2_no-bwidget.patch'] +checksums = [ + '811736ee598bec1a5b427fd10e4e063a30dd7cadae96a43a50b36ce90a4f503f', # xcrysden-1.6.2.tar.gz + '85f23723f67e1a4af2575d403154f9cf8194369a0ff6ed96437a51f2ea81a220', # XCrySDen-1.6.2_no-bwidget.patch +] + +local_tcltk_ver = '8.6.10' +dependencies = [ + ('Tcl', local_tcltk_ver), + ('Tk', local_tcltk_ver), + ('Togl', '2.0'), + ('X11', '20201008'), + ('libGLU', '9.0.1'), + ('bwidget', '1.9.14'), +] + +parallel = 1 + +prebuildopts = "export LDLIB='-ldl -Wl,--allow-multiple-definition' &&" + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2022a.eb b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2022a.eb new file mode 100644 index 00000000000..3ceb145d671 --- /dev/null +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-foss-2022a.eb @@ -0,0 +1,43 @@ +# 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': 'foss', 'version': '2022a'} + +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', '22.0.3'), + ('libGLU', '9.0.2'), + ('bwidget', '1.9.15'), +] + +# gcc fix by Jakob Schiotz, commit 7433b19bd05d1d511ee135a92b3ba845c89814d7 +prebuildopts = "export LDLIB='-ldl -Wl,--allow-multiple-definition' &&" + +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/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/XCrySDen/XCrySDen-1.6.2-intel-2022a.eb b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-intel-2022a.eb new file mode 100644 index 00000000000..c9929c6854b --- /dev/null +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-intel-2022a.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': '2022a'} + +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', '22.0.3'), + ('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/XCrySDen/XCrySDen-1.6.2-no-bwidget-tcl-download.patch b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-no-bwidget-tcl-download.patch new file mode 100644 index 00000000000..62f217b05fe --- /dev/null +++ b/easybuild/easyconfigs/x/XCrySDen/XCrySDen-1.6.2-no-bwidget-tcl-download.patch @@ -0,0 +1,16 @@ +# Contribution from IT4Innovations National Supercomputing Center, Czech Republic +# Jakub Kropacek, 2022 +# +# Do not download and build own BWidget and Tcl; use modules instead. +diff -Nru xcrysden-1.6.2.orig/Makefile xcrysden-1.6.2/Makefile +--- xcrysden-1.6.2.orig/Makefile 2022-08-23 08:23:59.130921000 +0200 ++++ xcrysden-1.6.2/Makefile 2022-08-23 08:39:27.632777181 +0200 +@@ -18,7 +18,7 @@ + + all: tcl tk mesa togl fftw xcrysden + # meschach +-xcrysden: usage bwidget bindir src-C src-F src-Tcl ++xcrysden: usage bindir src-C src-F + + usage: $(TOPDIR)/docs/xcrysden.1 + man $(TOPDIR)/docs/xcrysden.1 | awk 'BEGIN {lprint=0; print "## do not edit changes will be lost (file automatically generated)\n"; } /SYNOPSIS/ { lprint=1; } /SEE ALSO/ { lprint=0; } /a*/ { if (lprint) print; }' > usage diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb new file mode 100644 index 00000000000..6aeb30ed98c --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.5.0-foss-2021a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.5.0' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6b7c34a18474c1b73b5c6dcf1231f5fe102d6f26490a65465e3879048bf1f3d4'] + +builddependencies = [('CMake', '3.20.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb new file mode 100644 index 00000000000..36425089ffc --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.1-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.1' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['bb302c5c33e14bab94603940987940f29203ecb8767a7a719daf579fbfaace64'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..7f522d92218 --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,33 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.2' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f1a749aedb9330afc48007cc78b8bbbbea35ce372f48a2735f9c71bbc7b8dcfb'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('CUDA', '11.7.0', '', SYSTEM), +] + +configopts = "-DUSE_CUDA=ON -DBUILD_WITH_CUDA_CUB=ON " + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a.eb new file mode 100644 index 00000000000..96f8e7efca1 --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-1.7.2-foss-2022a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '1.7.2' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['f1a749aedb9330afc48007cc78b8bbbbea35ce372f48a2735f9c71bbc7b8dcfb'] + +builddependencies = [('CMake', '3.23.1')] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +# use the parallel parameter from EB instead of total procs in the system +preinstallopts = "sed -i 's/nproc = os.cpu_count.*$/nproc = %(parallel)s/' setup.py &&" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-2.0.2-gfbf-2023a.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-2.0.2-gfbf-2023a.eb new file mode 100644 index 00000000000..49a3b33a0a2 --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-2.0.2-gfbf-2023a.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '2.0.2' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['55b5188e6da1d61f02f30a5dd8daffc3a6b5bb975a7249bf381dc1754dc89688'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-2.1.1-gfbf-2023b.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-2.1.1-gfbf-2023b.eb new file mode 100644 index 00000000000..91e9be0529c --- /dev/null +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-2.1.1-gfbf-2023b.eb @@ -0,0 +1,29 @@ +easyblock = 'PythonPackage' + +name = 'XGBoost' +version = '2.1.1' + +homepage = 'https://github.com/dmlc/xgboost' +description = """XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, + flexible and portable.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4b1729837f9f1ba88a32ef1be3f8efb860fee6454a68719b196dc88032c23d97'] + +builddependencies = [ + ('CMake', '3.27.6'), + ('hatchling', '1.18.0'), +] + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/x/XGBoost/XGBoost-20171120-intel-2017b-Java-1.8.0_152.eb b/easybuild/easyconfigs/x/XGBoost/XGBoost-20171120-intel-2017b-Java-1.8.0_152.eb index 3fb7c1d49dd..71022a19045 100644 --- a/easybuild/easyconfigs/x/XGBoost/XGBoost-20171120-intel-2017b-Java-1.8.0_152.eb +++ b/easybuild/easyconfigs/x/XGBoost/XGBoost-20171120-intel-2017b-Java-1.8.0_152.eb @@ -24,7 +24,7 @@ sources = [{ checksums = [None] builddependencies = [('CMake', '3.9.5')] -dependencies = [('Java', '1.8.0_152', '', True)] +dependencies = [('Java', '1.8.0_152', '', SYSTEM)] buildopts = " && cd jvm-packages && mvn install -Dmaven.repo.local=%(builddir)s/m2" diff --git a/easybuild/easyconfigs/x/XGrafix/XGrafix-2.41-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/XGrafix/XGrafix-2.41-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..0f45289211b --- /dev/null +++ b/easybuild/easyconfigs/x/XGrafix/XGrafix-2.41-GCCcore-9.3.0.eb @@ -0,0 +1,47 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'XGrafix' +version = '2.41' + +homepage = 'https://ptsg.egr.msu.edu/' +description = """A graphics library and controller for physics simulation programs. +3-d surface plots, scatter plots, 2-d line plots.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} + +source_urls = ['https://ptsg.egr.msu.edu/pub/codes'] +sources = ['%(namelower)s.tar.gz'] +checksums = ['20daa8f47cb83888e933bb2f451bc8d2b376946b2e7b1ce2252b6e3da0c3b583'] + +builddependencies = [ + ('binutils', '2.34'), + ('Bison', '3.5.3'), + ('M4', '1.4.18'), +] + +dependencies = [ + ('X11', '20200222'), + ('Tcl', '8.6.10'), + ('Tk', '8.6.10'), + ('ImageMagick', '7.0.10-1'), + ('libpng', '1.6.37'), +] + +# We need to specify where things are, unfortunately. +configopts = '--enable-fulloptimize --with-xpm=$EBROOTX11/lib ' +configopts += '--with-tclconfig=$EBROOTTCL/lib --with-tkconfig=$EBROOTTK/lib ' +configopts += '--with-X11-include=$EBROOTX11/include --with-X11_LIBDIR=$EBROOTX11/lib ' +configopts += '--enable-fortran LIBPNG_PATH=$EBROOTLIBPNG/lib ' + +sanity_check_paths = { + 'files': ['bin/ps6to1', 'bin/xgmovie', 'bin/xgmreduce', 'bin/xtest'] + + ['lib/libXGC.a', 'lib/libXGCmini.a', 'lib/libXGF.a'], + 'dirs': ['include'], +} + +sanity_check_commands = ["xtest -h"] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0f42d9742d0 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-11.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'Bundle' + +name = 'XML-Compile' +version = '1.63' + +homepage = 'https://metacpan.org/pod/XML::Compile' +description = "Perl module for compilation based XML processing" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('XML-LibXML', '2.0207'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('XML::LibXML::Simple', '1.01', { + 'source_tmpl': 'XML-LibXML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['cd98c8104b70d7672bfa26b4513b78adf2b4b9220e586aa8beb1a508500365a6'], + }), + ('XML::Compile', version, { + 'source_tmpl': 'XML-Compile-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['4b0871ef4a70bff37266d531bebcd1d065b109e8f5c5e996f87189a9f92d595f'], + }), + ('XML::Compile::Cache', '1.06', { + 'source_tmpl': 'XML-Compile-Cache-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['591b136bd92842c81a5176082503f47df6d5cc4d8e0d78953ef1557f747038a0'], + }), + ('XML::Compile::SOAP', '3.27', { + 'source_tmpl': 'XML-Compile-SOAP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['d656632fdc58665cbe62ede9c35d1f5a871917a79eba11033afd2041152866a8'], + }), + ('XML::Compile::WSDL11', '3.08', { + 'source_tmpl': 'XML-Compile-WSDL11-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['dd687ccf5083fe98fce1dd18540e1d0175042437a986e33eec105eca248f8d42'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/XML/Compile'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..8b7134716ad --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Compile/XML-Compile-1.63-GCCcore-12.2.0.eb @@ -0,0 +1,61 @@ +easyblock = 'Bundle' + +name = 'XML-Compile' +version = '1.63' + +homepage = 'https://metacpan.org/pod/XML::Compile' +description = "Perl module for compilation based XML processing" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('XML-LibXML', '2.0208'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perl -e 'require %(ext_name)s'", '') + +exts_list = [ + ('XML::LibXML::Simple', '1.01', { + 'source_tmpl': 'XML-LibXML-Simple-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['cd98c8104b70d7672bfa26b4513b78adf2b4b9220e586aa8beb1a508500365a6'], + }), + ('XML::Compile', version, { + 'source_tmpl': 'XML-Compile-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['4b0871ef4a70bff37266d531bebcd1d065b109e8f5c5e996f87189a9f92d595f'], + }), + ('XML::Compile::Cache', '1.06', { + 'source_tmpl': 'XML-Compile-Cache-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['591b136bd92842c81a5176082503f47df6d5cc4d8e0d78953ef1557f747038a0'], + }), + ('XML::Compile::SOAP', '3.28', { + 'source_tmpl': 'XML-Compile-SOAP-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['0921699c4522537f7930e14fac056492de7801a9b9140d0e1faf33414ae6998f'], + }), + ('XML::Compile::WSDL11', '3.08', { + 'source_tmpl': 'XML-Compile-WSDL11-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/M/MA/MARKOV/'], + 'checksums': ['dd687ccf5083fe98fce1dd18540e1d0175042437a986e33eec105eca248f8d42'], + }), +] + +modextrapaths = { + 'PERL5LIB': 'lib/perl5/site_perl/%(perlver)s/', +} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/XML/Compile'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0205-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0205-GCCcore-9.3.0.eb index 4676ae13f4b..78769aba0ee 100644 --- a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0205-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0205-GCCcore-9.3.0.eb @@ -46,7 +46,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.0206-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0206-GCCcore-10.2.0.eb index ee314c18f7d..62cc7c77d12 100644 --- a/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0206-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0206-GCCcore-10.2.0.eb @@ -50,7 +50,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.0207-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..8cf20d98f03 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-10.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'XML-LibXML' +version = '2.0207' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Perl', '5.32.1'), + ('libxml2', '2.9.10'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('File::chdir', '0.1010', { + 'source_tmpl': 'File-chdir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['efc121f40bd7a0f62f8ec9b8bc70f7f5409d81cd705e37008596c8efc4452b01'], + }), + ('Alien::Base', '2.41', { + 'source_tmpl': 'Alien-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/'], + 'checksums': ['aaa738117131b016f17f103b167deae2588f03bb72aa3fe15cbb1bad344cf2a4'], + }), + ('Alien::Libxml2', '0.17', { + 'source_tmpl': 'Alien-Libxml2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['73b45244f0b5c36e5332c33569b82a1ab2c33e263f1d00785d2003bcaec68db3'], + }), + ('XML::LibXML', version, { + 'source_tmpl': 'XML-LibXML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['903436c9859875bef5593243aae85ced329ad0fb4b57bbf45975e32547c50c15'], + }), +] + +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/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..cf5ef24b6c7 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.2.0.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'XML-LibXML' +version = '2.0207' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.37'), +] + +dependencies = [ + ('Perl', '5.34.0'), + ('libxml2', '2.9.10'), +] + +exts_defaultclass = 'PerlModule' +exts_filter = ("perldoc -lm %(ext_name)s ", "") + +exts_list = [ + ('File::chdir', '0.1010', { + 'source_tmpl': 'File-chdir-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN'], + 'checksums': ['efc121f40bd7a0f62f8ec9b8bc70f7f5409d81cd705e37008596c8efc4452b01'], + }), + ('Alien::Base', '2.46', { + 'source_tmpl': 'Alien-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/'], + 'checksums': ['4bb301fa2b6296a9d8e285000932ea3340832a3a70bdb9c5e1a63c6fd1cf4a67'], + }), + ('Alien::Libxml2', '0.17', { + 'source_tmpl': 'Alien-Libxml2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['73b45244f0b5c36e5332c33569b82a1ab2c33e263f1d00785d2003bcaec68db3'], + }), + ('XML::LibXML', version, { + 'source_tmpl': 'XML-LibXML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['903436c9859875bef5593243aae85ced329ad0fb4b57bbf45975e32547c50c15'], + }), +] + +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/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..fb860328d8f --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0207-GCCcore-11.3.0.eb @@ -0,0 +1,56 @@ +easyblock = 'Bundle' + +name = 'XML-LibXML' +version = '2.0207' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), +] + +dependencies = [ + ('Perl', '5.34.1'), + ('libxml2', '2.9.13'), +] + +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.68', { + 'source_tmpl': 'Alien-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/'], + 'checksums': ['c2436a81b3fe971c75d6a7202557971f09718adddf85c447c0beaabf28f0b11f'], + }), + ('Alien::Libxml2', '0.17', { + 'source_tmpl': 'Alien-Libxml2-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE'], + 'checksums': ['73b45244f0b5c36e5332c33569b82a1ab2c33e263f1d00785d2003bcaec68db3'], + }), + ('XML::LibXML', version, { + 'source_tmpl': 'XML-LibXML-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/'], + 'checksums': ['903436c9859875bef5593243aae85ced329ad0fb4b57bbf45975e32547c50c15'], + }), +] + +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/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 new file mode 100644 index 00000000000..3172f2c2daa --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0208-GCCcore-12.2.0.eb @@ -0,0 +1,64 @@ +# updated toolchain, version, and dependency versions +# Thomas Eylenbosch 5-Jun-23 + +easyblock = 'Bundle' + +name = 'XML-LibXML' +version = '2.0208' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('Perl', '5.36.0'), + ('libxml2', '2.10.3'), +] + +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': ['0c006b03bf8d0eb531fb56bda3ae15754ca56d888dd7b9e805ab9eb19d5fd653'], + }), +] + +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/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/XML-LibXML/XML-LibXML-2.0210-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0210-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..1d4cbe24543 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-LibXML/XML-LibXML-2.0210-GCCcore-13.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.0210' + +homepage = 'https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod' +description = "Perl binding for libxml2" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] + +dependencies = [ + ('Perl', '5.38.2'), + ('Perl-bundle-CPAN', '5.38.2'), + ('libxml2', '2.12.7'), +] + +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.83', { + 'source_tmpl': 'Alien-Build-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/'], + 'checksums': ['4817270314431350ff397125547f55641dcff98bdde213b9e5efc613f7c8b85a'], + }), + ('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': ['a29bf3f00ab9c9ee04218154e0afc8f799bf23674eb99c1a9ed4de1f4059a48d'], + }), +] + +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/XML-Parser/XML-Parser-2.46-GCCcore-10.3.0-Perl-5.32.1.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-10.3.0-Perl-5.32.1.eb new file mode 100644 index 00000000000..afa1cbf2c33 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-10.3.0-Perl-5.32.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.46' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'https://search.cpan.org/~toddr/XML-Parser-2.46/' +description = """This is a Perl extension interface to James Clark's XML parser, expat.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'] + +builddependencies = [ + ('binutils', '2.36.1') +] + +dependencies = [ + ('Perl', '5.32.1'), + ('expat', '2.2.9') +] + +options = {'modulename': 'XML::Parser'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/XML'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-11.3.0-Perl-5.34.1.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-11.3.0-Perl-5.34.1.eb new file mode 100644 index 00000000000..4caf48f0876 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-11.3.0-Perl-5.34.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.46' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'https://search.cpan.org/~toddr/XML-Parser-2.46/' +description = """This is a Perl extension interface to James Clark's XML parser, expat.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'] + +builddependencies = [ + ('binutils', '2.38') +] + +dependencies = [ + ('Perl', '5.34.1'), + ('expat', '2.4.8') +] + +options = {'modulename': 'XML::Parser'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/XML'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-12.3.0-Perl-5.36.1.eb b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-12.3.0-Perl-5.36.1.eb new file mode 100644 index 00000000000..f72f817ca77 --- /dev/null +++ b/easybuild/easyconfigs/x/XML-Parser/XML-Parser-2.46-GCCcore-12.3.0-Perl-5.36.1.eb @@ -0,0 +1,32 @@ +easyblock = 'PerlModule' + +name = 'XML-Parser' +version = '2.46' +versionsuffix = '-Perl-%(perlver)s' + +homepage = 'https://search.cpan.org/~toddr/XML-Parser-2.46/' +description = """This is a Perl extension interface to James Clark's XML parser, expat.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d'] + +builddependencies = [ + ('binutils', '2.40') +] + +dependencies = [ + ('Perl', '5.36.1'), + ('expat', '2.5.0') +] + +options = {'modulename': 'XML::Parser'} + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/perl5/site_perl/%(perlver)s/%(arch)s-linux-thread-multi/XML'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/XOOPIC/XOOPIC-20210302-foss-2020a.eb b/easybuild/easyconfigs/x/XOOPIC/XOOPIC-20210302-foss-2020a.eb new file mode 100644 index 00000000000..6d05dd196d9 --- /dev/null +++ b/easybuild/easyconfigs/x/XOOPIC/XOOPIC-20210302-foss-2020a.eb @@ -0,0 +1,54 @@ +# Contribution from Imperial College London, UK +# uploaded by J. Sassmannshausen + +easyblock = 'ConfigureMake' + +name = 'XOOPIC' +version = '20210302' +local_commit = '3fa6670' + +homepage = 'https://github.com/rinku-mishra/xoopic' +description = """XOOPIC is a two-dimensional 3-velocity particle-in-cell simulator. +It can handle electrostatic and electromagnetic models, has a large variety of +boundary conditions, supports multiple gasses and gas chemistry, and is easily +reconfigurable via an input file.""" + +toolchain = {'name': 'foss', 'version': '2020a'} + +source_urls = ['https://github.com/rinku-mishra/xoopic/archive/%s' % local_commit] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['e81a2b7a527b905fd58afd080f45690963079b0a0493a55929d2a0ef1246d4e3'] + +builddependencies = [ + ('M4', '1.4.18'), + ('Bison', '3.5.3'), +] + +dependencies = [ + ('X11', '20200222'), + ('Tcl', '8.6.10'), + ('Tk', '8.6.10'), + ('ImageMagick', '7.0.10-1'), + ('XGrafix', '2.41'), + ('HDF5', '1.10.6'), + ('FFTW', '3.3.8'), +] + +# We need to specify where things are, unfortunately. +configopts = '--enable-MPI --enable-fulloptimize --with-xpm=$EBROOTX11/lib ' +configopts += '--with-tclconfig=$EBROOTTCL/lib --with-tkconfig=$EBROOTTK/lib ' +configopts += '--with-XGRAFIX-lib=$EBROOTXGRAFIX/lib --with-XGRAFIX-include=$EBROOTXGRAFIX/include ' +configopts += '--with-X11-include=$EBROOTX11/include --with-X11_LIBDIR=$EBROOTX11/lib ' +configopts += '--with-hdf5-incdir=$EBROOTHDF5/include ' +# This does not seem to be used, so for now we leave it out: +# configopts += '--with-dfftw-incdir=$EBROOTFFTW/include --with-dfftw-libdir=$EBROOTFFTW/lib ' + +sanity_check_paths = { + 'files': ['bin/xoopic'] + + ['lib/libadvisor.a', 'lib/libotools.a', 'lib/libphysics.a', 'lib/libxg.a'], + 'dirs': ['include'], +} + +sanity_check_commands = ["xoopic -h"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/x/XPLOR-NIH/XPLOR-NIH-3.4-Linux_x86_64.eb b/easybuild/easyconfigs/x/XPLOR-NIH/XPLOR-NIH-3.4-Linux_x86_64.eb new file mode 100644 index 00000000000..1f792f4b29e --- /dev/null +++ b/easybuild/easyconfigs/x/XPLOR-NIH/XPLOR-NIH-3.4-Linux_x86_64.eb @@ -0,0 +1,35 @@ +easyblock = 'Tarball' + +name = 'XPLOR-NIH' +version = '3.4' +versionsuffix = '-Linux_x86_64' + +homepage = 'https://nmr.cit.nih.gov/xplor-nih/' +description = """A System for X-ray Crystallography and NMR""" + +toolchain = SYSTEM + +_extract_cmd = "tar --strip-components 1 -xzf %s" + +source_urls = ['https://bit.niddk.nih.gov/xplor-nih/packages'] +sources = [ + {'filename': '%%(namelower)s-%%(version)s%s.tar.gz' % versionsuffix, 'extract_cmd': _extract_cmd}, + {'filename': '%(namelower)s-%(version)s-db.tar.gz', 'extract_cmd': _extract_cmd}, +] +checksums = [ + '9aa3360c8e4b6f1e28d0911dfc894938d7dc4a90bab1a970d68b8505d878c8e3', # xplor-nih-3.4-Linux_x86_64.tar.gz + '9ce7bf22f40855c8089cd28856961b3a513c771ed56902374e95690ed4f5b69c', # xplor-nih-3.4-db.tar.gz +] + +buildininstalldir = True +skipsteps = ['install'] +postinstallcmds = ['./configure'] + +sanity_check_paths = { + 'files': ['bin/xplor'], + 'dirs': [], +} + +sanity_check_commands = ['xplor -help'] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.2-GCCcore-5.4.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-GCCcore-5.4.0.eb index c9e9efec327..c705099c18c 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.2-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.2-GCCcore-5.4.0.eb @@ -17,9 +17,9 @@ checksums = [ ] builddependencies = [ - ('gettext', '0.19.8', '', True), + ('gettext', '0.19.8', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain - ('binutils', '2.26', '', True), + ('binutils', '2.26', '', SYSTEM), ] # may become useful in non-x86 archs diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.3-GCCcore-6.4.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.3-GCCcore-6.4.0.eb index c02558f16a4..e6e62af6bf5 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.3-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.3-GCCcore-6.4.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.19.8.1', '', True), + ('gettext', '0.19.8.1', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain ('binutils', '2.28'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.2.0.eb index 34d93c09f7b..072decdbb68 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.2.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.19.8.1', '', True), + ('gettext', '0.19.8.1', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain ('binutils', '2.29'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.3.0.eb index 4807e850e05..90c2e0ed3e8 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-7.3.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.19.8.1', '', True), + ('gettext', '0.19.8.1', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain ('binutils', '2.30'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.2.0.eb index e082fd1cfcb..4447786633d 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.2.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.19.8.1', '', True), + ('gettext', '0.19.8.1', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain ('binutils', '2.31.1'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb index cd9e93e00e0..0d03926cd60 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-8.3.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with dummy as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.19.8.1', '', True), + ('gettext', '0.19.8.1', '', SYSTEM), # use same binutils version that was used when building GCCcore toolchain ('binutils', '2.32'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-9.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-9.2.0.eb index 368d09a41f9..1622d47af78 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.4-GCCcore-9.2.0.eb @@ -18,7 +18,7 @@ checksums = [ builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.20.1', '', True), + ('gettext', '0.20.1', '', SYSTEM), ('binutils', '2.32'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.1.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.1.0.eb index e2267db2da0..29468c0afac 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.1.0.eb @@ -20,15 +20,21 @@ toolchain = {'name': 'GCCcore', 'version': '10.1.0'} source_urls = ['https://tukaani.org/xz/'] sources = [SOURCELOWER_TAR_BZ2] -patches = ['XZ-5.2.2_compat-libs.patch'] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] checksums = [ - '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 - '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, ] builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.20.1', '', True), + ('gettext', '0.20.1', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), ('binutils', '2.34'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.2.0.eb index 264331a9b0f..633fc22773e 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.2.0.eb @@ -20,15 +20,21 @@ toolchain = {'name': 'GCCcore', 'version': '10.2.0'} source_urls = ['https://tukaani.org/xz/'] sources = [SOURCELOWER_TAR_BZ2] -patches = ['XZ-5.2.2_compat-libs.patch'] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] checksums = [ - '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 - '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, ] builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.21', '', True), + ('gettext', '0.21', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), ('binutils', '2.35'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.3.0.eb index ebb84399388..ed72f2ac7c8 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-10.3.0.eb @@ -13,15 +13,21 @@ toolchain = {'name': 'GCCcore', 'version': '10.3.0'} source_urls = ['https://tukaani.org/xz/'] sources = [SOURCELOWER_TAR_BZ2] -patches = ['XZ-5.2.2_compat-libs.patch'] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] checksums = [ - '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 - '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, ] builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.21', '', True), + ('gettext', '0.21', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), ('binutils', '2.36.1'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..56ff0db94f9 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.2.0.eb @@ -0,0 +1,47 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] +checksums = [ + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, +] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), + ('binutils', '2.37'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c24a57a45c3 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-11.3.0.eb @@ -0,0 +1,47 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] +checksums = [ + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, +] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), + ('binutils', '2.38'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb index fa1a3854e24..f797b8b490a 100644 --- a/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.5-GCCcore-9.3.0.eb @@ -10,15 +10,21 @@ toolchain = {'name': 'GCCcore', 'version': '9.3.0'} source_urls = ['https://tukaani.org/xz/'] sources = [SOURCELOWER_TAR_BZ2] -patches = ['XZ-5.2.2_compat-libs.patch'] +patches = [ + 'xz-5.2.5_fix-symbols.patch', + 'xz-5.2.5-cve-2022-1271.patch', +] checksums = [ - '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df', # xz-5.2.5.tar.bz2 - '578da3ea2ddb551972891a60fe31478b16a516d6ea8b6aa3af89e1d558adb703', # XZ-5.2.2_compat-libs.patch + {'xz-5.2.5.tar.bz2': '5117f930900b341493827d63aa910ff5e011e0b994197c3b71c08a20228a42df'}, + {'xz-5.2.5_fix-symbols.patch': 'ce80545e7bd88466fd9561a8abb9da87e62ebc71a1531c909a492fa2844da6d0'}, + {'xz-5.2.5-cve-2022-1271.patch': '98c6cb1042284fe704ec30083f3fc87364ce9ed2ea51f62bbb0ee9d3448717ec'}, ] builddependencies = [ # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) - ('gettext', '0.20.1', '', True), + ('gettext', '0.20.1', '', SYSTEM), + # use Autotools built with system toolchain as build dep to avoid conflicting ncurses dependency + ('Autotools', '20220317', '', SYSTEM), ('binutils', '2.34'), ] diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2942a648d38 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +## +# Author: Robert Mijakovic +## +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.2.7' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b65f1d0c2708e57716f4dd2216989a73847ac6fdb4168ffceb155767e22b834b'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21.1', '', SYSTEM), + ('binutils', '2.39'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ade6916dd58 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.2' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['aa49909cbd9028c4666a35fa4975f9a6203ed98154fbb8223ee43ef9ceee97c3'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21.1', '', SYSTEM), + ('binutils', '2.40'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-13.1.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..ffee85b04a3 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.2-GCCcore-13.1.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.2' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['aa49909cbd9028c4666a35fa4975f9a6203ed98154fbb8223ee43ef9ceee97c3'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.21.1', '', SYSTEM), + ('binutils', '2.40'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f905a1885ab --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.4' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0b6fcde1ac38e90433a2556f500c065950b9bcd2d602006efc334782bdfe6296'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.22', '', SYSTEM), + ('binutils', '2.40'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..4e11c10a179 --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.5-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.5' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['8ccf5fff868c006f29522e386fb4c6a1b66463fbca65a4cfc3c4bd596e895e79'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.22.5', '', SYSTEM), + ('binutils', '2.42'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/XZ/xz-5.2.5-cve-2022-1271.patch b/easybuild/easyconfigs/x/XZ/xz-5.2.5-cve-2022-1271.patch new file mode 100644 index 00000000000..406ded5903e --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/xz-5.2.5-cve-2022-1271.patch @@ -0,0 +1,94 @@ +From 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 Mon Sep 17 00:00:00 2001 +From: Lasse Collin +Date: Tue, 29 Mar 2022 19:19:12 +0300 +Subject: [PATCH] xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587). + +Malicious filenames can make xzgrep to write to arbitrary files +or (with a GNU sed extension) lead to arbitrary code execution. + +xzgrep from XZ Utils versions up to and including 5.2.5 are +affected. 5.3.1alpha and 5.3.2alpha are affected as well. +This patch works for all of them. + +This bug was inherited from gzip's zgrep. gzip 1.12 includes +a fix for zgrep. + +The issue with the old sed script is that with multiple newlines, +the N-command will read the second line of input, then the +s-commands will be skipped because it's not the end of the +file yet, then a new sed cycle starts and the pattern space +is printed and emptied. So only the last line or two get escaped. + +One way to fix this would be to read all lines into the pattern +space first. However, the included fix is even simpler: All lines +except the last line get a backslash appended at the end. To ensure +that shell command substitution doesn't eat a possible trailing +newline, a colon is appended to the filename before escaping. +The colon is later used to separate the filename from the grep +output so it is fine to add it here instead of a few lines later. + +The old code also wasn't POSIX compliant as it used \n in the +replacement section of the s-command. Using \ is the +POSIX compatible method. + +LC_ALL=C was added to the two critical sed commands. POSIX sed +manual recommends it when using sed to manipulate pathnames +because in other locales invalid multibyte sequences might +cause issues with some sed implementations. In case of GNU sed, +these particular sed scripts wouldn't have such problems but some +other scripts could have, see: + + info '(sed)Locale Considerations' + +This vulnerability was discovered by: +cleemy desu wayo working with Trend Micro Zero Day Initiative + +Thanks to Jim Meyering and Paul Eggert discussing the different +ways to fix this and for coordinating the patch release schedule +with gzip. +--- + src/scripts/xzgrep.in | 20 ++++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +diff --git a/src/scripts/xzgrep.in b/src/scripts/xzgrep.in +index b180936..e5186ba 100644 +--- a/src/scripts/xzgrep.in ++++ b/src/scripts/xzgrep.in +@@ -180,22 +180,26 @@ for i; do + { test $# -eq 1 || test $no_filename -eq 1; }; then + eval "$grep" + else ++ # Append a colon so that the last character will never be a newline ++ # which would otherwise get lost in shell command substitution. ++ i="$i:" ++ ++ # Escape & \ | and newlines only if such characters are present ++ # (speed optimization). + case $i in + (*' + '* | *'&'* | *'\'* | *'|'*) +- i=$(printf '%s\n' "$i" | +- sed ' +- $!N +- $s/[&\|]/\\&/g +- $s/\n/\\n/g +- ');; ++ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');; + esac +- sed_script="s|^|$i:|" ++ ++ # $i already ends with a colon so don't add it here. ++ sed_script="s|^|$i|" + + # Fail if grep or sed fails. + r=$( + exec 4>&1 +- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&- ++ (eval "$grep" 4>&-; echo $? >&4) 3>&- | ++ LC_ALL=C sed "$sed_script" >&3 4>&- + ) || r=2 + exit $r + fi >&3 5>&- +-- +2.35.1 + diff --git a/easybuild/easyconfigs/x/XZ/xz-5.2.5_fix-symbols.patch b/easybuild/easyconfigs/x/XZ/xz-5.2.5_fix-symbols.patch new file mode 100755 index 00000000000..fb5ac8f063d --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/xz-5.2.5_fix-symbols.patch @@ -0,0 +1,681 @@ +From 31d80c6b261b24220776dfaeb8a04f80f80e0a24 Mon Sep 17 00:00:00 2001 +From: Lasse Collin +Date: Sun, 4 Sep 2022 23:23:00 +0300 +Subject: [PATCH] liblzma: Vaccinate against an ill patch from RHEL/CentOS 7. + +RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded +encoder that is behind #ifdef LZMA_UNSTABLE in the API headers. +In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map. +API/ABI compatibility tracking isn't done between development +releases so newer releases didn't have XZ_5.1.2alpha anymore. + +Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep +the exported symbols compatible with 5.1.2alpha. After checking +the ABI changes it turned out that >= 5.2.0 ABI is backward +compatible with the threaded encoder functions from 5.1.2alpha +(but not vice versa as fixes and extensions to these functions +were made between 5.1.2alpha and 5.2.0). + +In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with +xz-5.2.2-compat-libs.patch to modify liblzma.map: + + - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and + lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha. + + - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was + an error; the intention was to keep using XZ_5.2 (XZ_5.2.2 + has never been used in XZ Utils). So XZ_5.2.2 lists all + symbols that were listed under XZ_5.2 before the patch. + lzma_stream_encoder_mt and _mt_memusage are included too so + they are listed both here and under XZ_5.1.2alpha. + +The patch didn't add any __asm__(".symver ...") lines to the .c +files. Thus the resulting liblzma.so exports the threaded encoder +functions under XZ_5.1.2alpha only. Listing the two functions +also under XZ_5.2.2 in liblzma.map has no effect without +matching .symver lines. + +The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked +against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7. +This is unfortunate but this alone isn't too bad as the problem +is contained within RHEL/CentOS 7 and doesn't affect users +of other distributions. It could also be fixed internally in +RHEL/CentOS 7. + +The second problem is more serious: In XZ Utils 5.2.2 the API +headers don't have #ifdef LZMA_UNSTABLE for obvious reasons. +This is true in RHEL/CentOS 7 version too. Thus now programs +using new APIs can be compiled without an extra #define. However, +the programs end up depending on symbol version XZ_5.1.2alpha +(and possibly also XZ_5.2.2) instead of XZ_5.2 as they would +with an unpatched XZ Utils 5.2.2. This means that such binaries +won't run on other distributions shipping XZ Utils >= 5.2.0 as +they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide +XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch +luckily isn't included there anymore with XZ Utils 5.2.4.) + +Binaries built by RHEL/CentOS 7 users get distributed and then +people wonder why they don't run on some other distribution. +Seems that people have found out about the patch and been copying +it to some build scripts, seemingly curing the symptoms but +actually spreading the illness further and outside RHEL/CentOS 7. + +The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it +had spread at least to EasyBuild. I heard about the events only +recently. :-( + +This commit splits liblzma.map into two versions: one for +GNU/Linux and another for other OSes that can use symbol versioning +(FreeBSD, Solaris, maybe others). The Linux-specific file and the +matching additions to .c files add full compatibility with binaries +that have been built against a RHEL/CentOS-patched liblzma. Builds +for OSes other than GNU/Linux won't get the vaccine as they should +be immune to the problem (I really hope that no build script uses +the RHEL/CentOS 7 patch outside GNU/Linux). + +The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2 +are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way +if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building, +the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2 +since XZ_5.2 {...} is the first one that lists that function. +Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2 +will be missing but that's still a minor problem compared to +only having lzma_stream_encoder_mt@@XZ_5.1.2alpha! + +The "local: *;" line was moved to XZ_5.0 so that it doesn't need +to be moved around. It doesn't matter where it is put. + +Having two similar liblzma_*.map files is a bit silly as it is, +at least for now, easily possible to generate the generic one +from the Linux-specific file. But that adds extra steps and +increases the risk of mistakes when supporting more than one +build system. So I rather maintain two files in parallel and let +validate_map.sh check that they are in sync when "make mydist" +is run. + +This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and +lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these +weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was +for these two). I added these anyway because someone might +misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2 +(@@XZ_5.2.2) versions were exported too. + +At glance one could suggest using __typeof__ to copy the function +prototypes when making aliases. However, this doesn't work trivially +because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure) +and it won't change symbol visibility from hidden to default (done +by LZMA_API()). Attributes could be copied with __copy__ attribute +but that needs GCC 9 and a fallback method would be needed anyway. + +This uses __symver__ attribute with GCC >= 10 and +__asm__(".symver ...") with everything else. The attribute method +is required for LTO (-flto) support with GCC. Using -flto with +GCC older than 10 is now broken on GNU/Linux and will not be fixed +(can silently result in a broken liblzma build that has dangerously +incorrect symbol versions). LTO builds with Clang seem to work +with the traditional __asm__(".symver ...") method. + +Thanks to Boud Roukema for reporting the problem and discussing +the details and testing the fix. +--- + configure.ac | 23 +++- + src/liblzma/Makefile.am | 10 +- + src/liblzma/common/block_buffer_encoder.c | 18 +++ + src/liblzma/common/common.c | 14 ++ + src/liblzma/common/common.h | 28 ++++ + src/liblzma/common/hardware_cputhreads.c | 12 ++ + src/liblzma/common/stream_encoder_mt.c | 42 ++++++ + .../{liblzma.map => liblzma_generic.map} | 6 +- + src/liblzma/liblzma_linux.map | 123 ++++++++++++++++++ + src/liblzma/validate_map.sh | 113 ++++++++++++++-- + 10 files changed, 374 insertions(+), 15 deletions(-) + rename src/liblzma/{liblzma.map => liblzma_generic.map} (100%) + create mode 100644 src/liblzma/liblzma_linux.map + +diff --git a/configure.ac b/configure.ac +index 7945934..0167c09 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -493,7 +493,28 @@ if test "x$enable_symbol_versions" = xauto; then + esac + fi + AC_MSG_RESULT([$enable_symbol_versions]) +-AM_CONDITIONAL([COND_SYMVERS], [test "x$enable_symbol_versions" = xyes]) ++ ++# There are two variants for symbol versioning. ++# See src/liblzma/validate_map.sh for details. ++if test "x$enable_symbol_versions" = xyes; then ++ case $host_os in ++ linux*) ++ enable_symbol_versions=linux ++ AC_DEFINE([HAVE_SYMBOL_VERSIONS_LINUX], [1], ++ [Define to 1 to if GNU/Linux-specific details ++ are wanted for symbol versioning. This must ++ be used together with liblzma_linux.map.]) ++ ;; ++ *) ++ enable_symbol_versions=generic ++ ;; ++ esac ++fi ++ ++AM_CONDITIONAL([COND_SYMVERS_LINUX], ++ [test "x$enable_symbol_versions" = xlinux]) ++AM_CONDITIONAL([COND_SYMVERS_GENERIC], ++ [test "x$enable_symbol_versions" = xgeneric]) + + + ############## +diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am +index ae8967c..cf2144d 100644 +--- a/src/liblzma/Makefile.am ++++ b/src/liblzma/Makefile.am +@@ -26,10 +26,14 @@ liblzma_la_CPPFLAGS = \ + -DTUKLIB_SYMBOL_PREFIX=lzma_ + liblzma_la_LDFLAGS = -no-undefined -version-info 7:6:2 + +-EXTRA_DIST += liblzma.map validate_map.sh +-if COND_SYMVERS ++EXTRA_DIST += liblzma_generic.map liblzma_linux.map validate_map.sh ++if COND_SYMVERS_GENERIC + liblzma_la_LDFLAGS += \ +- -Wl,--version-script=$(top_srcdir)/src/liblzma/liblzma.map ++ -Wl,--version-script=$(top_srcdir)/src/liblzma/liblzma_generic.map ++endif ++if COND_SYMVERS_LINUX ++liblzma_la_LDFLAGS += \ ++ -Wl,--version-script=$(top_srcdir)/src/liblzma/liblzma_linux.map + endif + + liblzma_la_SOURCES += ../common/tuklib_physmem.c +diff --git a/src/liblzma/common/block_buffer_encoder.c b/src/liblzma/common/block_buffer_encoder.c +index 39e263a..a47342e 100644 +--- a/src/liblzma/common/block_buffer_encoder.c ++++ b/src/liblzma/common/block_buffer_encoder.c +@@ -325,6 +325,24 @@ lzma_block_buffer_encode(lzma_block *block, const lzma_allocator *allocator, + } + + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++// This is for compatibility with binaries linked against liblzma that ++// has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7. ++LZMA_SYMVER_API("lzma_block_uncomp_encode@XZ_5.2.2", ++ lzma_ret, lzma_block_uncomp_encode_522)(lzma_block *block, ++ const uint8_t *in, size_t in_size, ++ uint8_t *out, size_t *out_pos, size_t out_size) ++ lzma_nothrow lzma_attr_warn_unused_result ++ __attribute__((__alias__("lzma_block_uncomp_encode_52"))); ++ ++LZMA_SYMVER_API("lzma_block_uncomp_encode@@XZ_5.2", ++ lzma_ret, lzma_block_uncomp_encode_52)(lzma_block *block, ++ const uint8_t *in, size_t in_size, ++ uint8_t *out, size_t *out_pos, size_t out_size) ++ lzma_nothrow lzma_attr_warn_unused_result; ++ ++#define lzma_block_uncomp_encode lzma_block_uncomp_encode_52 ++#endif + extern LZMA_API(lzma_ret) + lzma_block_uncomp_encode(lzma_block *block, + const uint8_t *in, size_t in_size, +diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c +index cf714e5..10fc884 100644 +--- a/src/liblzma/common/common.c ++++ b/src/liblzma/common/common.c +@@ -366,6 +366,20 @@ lzma_end(lzma_stream *strm) + } + + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++// This is for compatibility with binaries linked against liblzma that ++// has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7. ++LZMA_SYMVER_API("lzma_get_progress@XZ_5.2.2", ++ void, lzma_get_progress_522)(lzma_stream *strm, ++ uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow ++ __attribute__((__alias__("lzma_get_progress_52"))); ++ ++LZMA_SYMVER_API("lzma_get_progress@@XZ_5.2", ++ void, lzma_get_progress_52)(lzma_stream *strm, ++ uint64_t *progress_in, uint64_t *progress_out) lzma_nothrow; ++ ++#define lzma_get_progress lzma_get_progress_52 ++#endif + extern LZMA_API(void) + lzma_get_progress(lzma_stream *strm, + uint64_t *progress_in, uint64_t *progress_out) +diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h +index b3d3b7a..6b659c6 100644 +--- a/src/liblzma/common/common.h ++++ b/src/liblzma/common/common.h +@@ -34,6 +34,34 @@ + + #include "lzma.h" + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++// To keep link-time optimization (LTO, -flto) working with GCC, ++// the __symver__ attribute must be used instead of __asm__(".symver ..."). ++// Otherwise the symbol versions may be lost, resulting in broken liblzma ++// that has wrong default versions in the exported symbol list! ++// The attribute was added in GCC 10; LTO with older GCC is not supported. ++// ++// To keep -Wmissing-prototypes happy, use LZMA_SYMVER_API only with function ++// declarations (including those with __alias__ attribute) and LZMA_API with ++// the function definitions. This means a little bit of silly copy-and-paste ++// between declarations and definitions though. ++// ++// As of GCC 12.2, the __symver__ attribute supports only @ and @@ but the ++// very convenient @@@ isn't supported (it's supported by GNU assembler ++// since 2000). When using @@ instead of @@@, the internal name must not be ++// the same as the external name to avoid problems in some situations. This ++// is why "#define foo_52 foo" is needed for the default symbol versions. ++# if TUKLIB_GNUC_REQ(10, 0) ++# define LZMA_SYMVER_API(extnamever, type, intname) \ ++ extern __attribute__((__symver__(extnamever))) \ ++ LZMA_API(type) intname ++# else ++# define LZMA_SYMVER_API(extnamever, type, intname) \ ++ __asm__(".symver " #intname "," extnamever); \ ++ extern LZMA_API(type) intname ++# endif ++#endif ++ + // These allow helping the compiler in some often-executed branches, whose + // result is almost always the same. + #ifdef __GNUC__ +diff --git a/src/liblzma/common/hardware_cputhreads.c b/src/liblzma/common/hardware_cputhreads.c +index f468366..5d246d2 100644 +--- a/src/liblzma/common/hardware_cputhreads.c ++++ b/src/liblzma/common/hardware_cputhreads.c +@@ -15,6 +15,18 @@ + #include "tuklib_cpucores.h" + + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++// This is for compatibility with binaries linked against liblzma that ++// has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7. ++LZMA_SYMVER_API("lzma_cputhreads@XZ_5.2.2", ++ uint32_t, lzma_cputhreads_522)(void) lzma_nothrow ++ __attribute__((__alias__("lzma_cputhreads_52"))); ++ ++LZMA_SYMVER_API("lzma_cputhreads@@XZ_5.2", ++ uint32_t, lzma_cputhreads_52)(void) lzma_nothrow; ++ ++#define lzma_cputhreads lzma_cputhreads_52 ++#endif + extern LZMA_API(uint32_t) + lzma_cputhreads(void) + { +diff --git a/src/liblzma/common/stream_encoder_mt.c b/src/liblzma/common/stream_encoder_mt.c +index 2ab4d04..819b227 100644 +--- a/src/liblzma/common/stream_encoder_mt.c ++++ b/src/liblzma/common/stream_encoder_mt.c +@@ -1078,6 +1078,31 @@ stream_encoder_mt_init(lzma_next_coder *next, const lzma_allocator *allocator, + } + + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++// These are for compatibility with binaries linked against liblzma that ++// has been patched with xz-5.2.2-compat-libs.patch from RHEL/CentOS 7. ++// Actually that patch didn't create lzma_stream_encoder_mt@XZ_5.2.2 ++// but it has been added here anyway since someone might misread the ++// RHEL patch and think both @XZ_5.1.2alpha and @XZ_5.2.2 exist. ++LZMA_SYMVER_API("lzma_stream_encoder_mt@XZ_5.1.2alpha", ++ lzma_ret, lzma_stream_encoder_mt_512a)( ++ lzma_stream *strm, const lzma_mt *options) ++ lzma_nothrow lzma_attr_warn_unused_result ++ __attribute__((__alias__("lzma_stream_encoder_mt_52"))); ++ ++LZMA_SYMVER_API("lzma_stream_encoder_mt@XZ_5.2.2", ++ lzma_ret, lzma_stream_encoder_mt_522)( ++ lzma_stream *strm, const lzma_mt *options) ++ lzma_nothrow lzma_attr_warn_unused_result ++ __attribute__((__alias__("lzma_stream_encoder_mt_52"))); ++ ++LZMA_SYMVER_API("lzma_stream_encoder_mt@@XZ_5.2", ++ lzma_ret, lzma_stream_encoder_mt_52)( ++ lzma_stream *strm, const lzma_mt *options) ++ lzma_nothrow lzma_attr_warn_unused_result; ++ ++#define lzma_stream_encoder_mt lzma_stream_encoder_mt_52 ++#endif + extern LZMA_API(lzma_ret) + lzma_stream_encoder_mt(lzma_stream *strm, const lzma_mt *options) + { +@@ -1093,6 +1118,23 @@ lzma_stream_encoder_mt(lzma_stream *strm, const lzma_mt *options) + } + + ++#ifdef HAVE_SYMBOL_VERSIONS_LINUX ++LZMA_SYMVER_API("lzma_stream_encoder_mt_memusage@XZ_5.1.2alpha", ++ uint64_t, lzma_stream_encoder_mt_memusage_512a)( ++ const lzma_mt *options) lzma_nothrow lzma_attr_pure ++ __attribute__((__alias__("lzma_stream_encoder_mt_memusage_52"))); ++ ++LZMA_SYMVER_API("lzma_stream_encoder_mt_memusage@XZ_5.2.2", ++ uint64_t, lzma_stream_encoder_mt_memusage_522)( ++ const lzma_mt *options) lzma_nothrow lzma_attr_pure ++ __attribute__((__alias__("lzma_stream_encoder_mt_memusage_52"))); ++ ++LZMA_SYMVER_API("lzma_stream_encoder_mt_memusage@@XZ_5.2", ++ uint64_t, lzma_stream_encoder_mt_memusage_52)( ++ const lzma_mt *options) lzma_nothrow lzma_attr_pure; ++ ++#define lzma_stream_encoder_mt_memusage lzma_stream_encoder_mt_memusage_52 ++#endif + // This function name is a monster but it's consistent with the older + // monster names. :-( 31 chars is the max that C99 requires so in that + // sense it's not too long. ;-) +diff --git a/src/liblzma/liblzma.map b/src/liblzma/liblzma_generic.map +similarity index 100% +rename from src/liblzma/liblzma.map +rename to src/liblzma/liblzma_generic.map +index f53a4ea..8cca05b 100644 +--- a/src/liblzma/liblzma.map ++++ b/src/liblzma/liblzma_generic.map +@@ -93,6 +93,9 @@ global: + lzma_vli_decode; + lzma_vli_encode; + lzma_vli_size; ++ ++local: ++ *; + }; + + XZ_5.2 { +@@ -102,7 +105,4 @@ global: + lzma_get_progress; + lzma_stream_encoder_mt; + lzma_stream_encoder_mt_memusage; +- +-local: +- *; + } XZ_5.0; +diff --git a/src/liblzma/liblzma_linux.map b/src/liblzma/liblzma_linux.map +new file mode 100644 +index 0000000..4be882c +--- /dev/null ++++ b/src/liblzma/liblzma_linux.map +@@ -0,0 +1,123 @@ ++XZ_5.0 { ++global: ++ lzma_alone_decoder; ++ lzma_alone_encoder; ++ lzma_auto_decoder; ++ lzma_block_buffer_bound; ++ lzma_block_buffer_decode; ++ lzma_block_buffer_encode; ++ lzma_block_compressed_size; ++ lzma_block_decoder; ++ lzma_block_encoder; ++ lzma_block_header_decode; ++ lzma_block_header_encode; ++ lzma_block_header_size; ++ lzma_block_total_size; ++ lzma_block_unpadded_size; ++ lzma_check_is_supported; ++ lzma_check_size; ++ lzma_code; ++ lzma_crc32; ++ lzma_crc64; ++ lzma_easy_buffer_encode; ++ lzma_easy_decoder_memusage; ++ lzma_easy_encoder; ++ lzma_easy_encoder_memusage; ++ lzma_end; ++ lzma_filter_decoder_is_supported; ++ lzma_filter_encoder_is_supported; ++ lzma_filter_flags_decode; ++ lzma_filter_flags_encode; ++ lzma_filter_flags_size; ++ lzma_filters_copy; ++ lzma_filters_update; ++ lzma_get_check; ++ lzma_index_append; ++ lzma_index_block_count; ++ lzma_index_buffer_decode; ++ lzma_index_buffer_encode; ++ lzma_index_cat; ++ lzma_index_checks; ++ lzma_index_decoder; ++ lzma_index_dup; ++ lzma_index_encoder; ++ lzma_index_end; ++ lzma_index_file_size; ++ lzma_index_hash_append; ++ lzma_index_hash_decode; ++ lzma_index_hash_end; ++ lzma_index_hash_init; ++ lzma_index_hash_size; ++ lzma_index_init; ++ lzma_index_iter_init; ++ lzma_index_iter_locate; ++ lzma_index_iter_next; ++ lzma_index_iter_rewind; ++ lzma_index_memusage; ++ lzma_index_memused; ++ lzma_index_size; ++ lzma_index_stream_count; ++ lzma_index_stream_flags; ++ lzma_index_stream_padding; ++ lzma_index_stream_size; ++ lzma_index_total_size; ++ lzma_index_uncompressed_size; ++ lzma_lzma_preset; ++ lzma_memlimit_get; ++ lzma_memlimit_set; ++ lzma_memusage; ++ lzma_mf_is_supported; ++ lzma_mode_is_supported; ++ lzma_physmem; ++ lzma_properties_decode; ++ lzma_properties_encode; ++ lzma_properties_size; ++ lzma_raw_buffer_decode; ++ lzma_raw_buffer_encode; ++ lzma_raw_decoder; ++ lzma_raw_decoder_memusage; ++ lzma_raw_encoder; ++ lzma_raw_encoder_memusage; ++ lzma_stream_buffer_bound; ++ lzma_stream_buffer_decode; ++ lzma_stream_buffer_encode; ++ lzma_stream_decoder; ++ lzma_stream_encoder; ++ lzma_stream_flags_compare; ++ lzma_stream_footer_decode; ++ lzma_stream_footer_encode; ++ lzma_stream_header_decode; ++ lzma_stream_header_encode; ++ lzma_version_number; ++ lzma_version_string; ++ lzma_vli_decode; ++ lzma_vli_encode; ++ lzma_vli_size; ++ ++local: ++ *; ++}; ++ ++XZ_5.2 { ++global: ++ lzma_block_uncomp_encode; ++ lzma_cputhreads; ++ lzma_get_progress; ++ lzma_stream_encoder_mt; ++ lzma_stream_encoder_mt_memusage; ++} XZ_5.0; ++ ++XZ_5.1.2alpha { ++global: ++ lzma_stream_encoder_mt; ++ lzma_stream_encoder_mt_memusage; ++} XZ_5.0; ++ ++XZ_5.2.2 { ++global: ++ lzma_block_uncomp_encode; ++ lzma_cputhreads; ++ lzma_get_progress; ++ lzma_stream_encoder_mt; ++ lzma_stream_encoder_mt_memusage; ++} XZ_5.1.2alpha; +diff --git a/src/liblzma/validate_map.sh b/src/liblzma/validate_map.sh +index 3aee466..2bf6f8b 100644 +--- a/src/liblzma/validate_map.sh ++++ b/src/liblzma/validate_map.sh +@@ -2,7 +2,79 @@ + + ############################################################################### + # +-# Check liblzma.map for certain types of errors ++# Check liblzma_*.map for certain types of errors. ++# ++# liblzma_generic.map is for FreeBSD and Solaris and possibly others ++# except GNU/Linux. ++# ++# liblzma_linux.map is for GNU/Linux only. This and the matching extra code ++# in the .c files make liblzma >= 5.2.7 compatible with binaries that were ++# linked against ill-patched liblzma in RHEL/CentOS 7. By providing the ++# compatibility in official XZ Utils release will hopefully prevent people ++# from further copying the broken patch to other places when they want ++# compatibility with binaries linked on RHEL/CentOS 7. The long version ++# of the story: ++# ++# RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded ++# encoder that is behind #ifdef LZMA_UNSTABLE in the API headers. ++# In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map. ++# API/ABI compatibility tracking isn't done between development ++# releases so newer releases didn't have XZ_5.1.2alpha anymore. ++# ++# Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep ++# the exported symbols compatible with 5.1.2alpha. After checking ++# the ABI changes it turned out that >= 5.2.0 ABI is backward ++# compatible with the threaded encoder functions from 5.1.2alpha ++# (but not vice versa as fixes and extensions to these functions ++# were made between 5.1.2alpha and 5.2.0). ++# ++# In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with ++# xz-5.2.2-compat-libs.patch to modify liblzma.map: ++# ++# - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and ++# lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha. ++# ++# - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was ++# an error; the intention was to keep using XZ_5.2 (XZ_5.2.2 ++# has never been used in XZ Utils). So XZ_5.2.2 lists all ++# symbols that were listed under XZ_5.2 before the patch. ++# lzma_stream_encoder_mt and _mt_memusage are included too so ++# they are listed both here and under XZ_5.1.2alpha. ++# ++# The patch didn't add any __asm__(".symver ...") lines to the .c ++# files. Thus the resulting liblzma.so exports the threaded encoder ++# functions under XZ_5.1.2alpha only. Listing the two functions ++# also under XZ_5.2.2 in liblzma.map has no effect without ++# matching .symver lines. ++# ++# The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked ++# against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7. ++# This is unfortunate but this alone isn't too bad as the problem ++# is contained within RHEL/CentOS 7 and doesn't affect users ++# of other distributions. It could also be fixed internally in ++# RHEL/CentOS 7. ++# ++# The second problem is more serious: In XZ Utils 5.2.2 the API ++# headers don't have #ifdef LZMA_UNSTABLE for obvious reasons. ++# This is true in RHEL/CentOS 7 version too. Thus now programs ++# using new APIs can be compiled without an extra #define. However, ++# the programs end up depending on symbol version XZ_5.1.2alpha ++# (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would ++# with an unpatched XZ Utils 5.2.2. This means that such binaries ++# won't run on other distributions shipping XZ Utils >= 5.2.0 as ++# they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide ++# XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch ++# luckily isn't included there anymore with XZ Utils 5.2.4.) ++# ++# Binaries built by RHEL/CentOS 7 users get distributed and then ++# people wonder why they don't run on some other distribution. ++# Seems that people have found out about the patch and been copying ++# it to some build scripts, seemingly curing the symptoms but ++# actually spreading the illness further and outside RHEL/CentOS 7. ++# Adding compatibility in an official XZ Utils release should work ++# as a vaccine against this ill patch and stop it from spreading. ++# The vaccine is kept GNU/Linux-only as other OSes should be immune ++# (hopefully it hasn't spread via some build script to other OSes). + # + # Author: Lasse Collin + # +@@ -18,11 +90,11 @@ STATUS=0 + + cd "$(dirname "$0")" + +-# Get the list of symbols that aren't defined in liblzma.map. ++# Get the list of symbols that aren't defined in liblzma_generic.map. + SYMS=$(sed -n 's/^extern LZMA_API([^)]*) \([a-z0-9_]*\)(.*$/\1;/p' \ + api/lzma/*.h \ + | sort \ +- | grep -Fve "$(sed '/[{}:*]/d;/^$/d;s/^ //' liblzma.map)") ++ | grep -Fve "$(sed '/[{}:*]/d;/^$/d;s/^ //' liblzma_generic.map)") + + # Check that there are no old alpha or beta versions listed. + VER=$(cd ../.. && sh build-aux/version.sh) +@@ -30,21 +102,41 @@ NAMES= + case $VER in + *alpha | *beta) + NAMES=$(sed -n 's/^.*XZ_\([^ ]*\)\(alpha\|beta\) .*$/\1\2/p' \ +- liblzma.map | grep -Fv "$VER") ++ liblzma_generic.map | grep -Fv "$VER") + ;; + esac + + # Check for duplicate lines. It can catch missing dependencies. +-DUPS=$(sort liblzma.map | sed '/^$/d;/^global:$/d' | uniq -d) ++DUPS=$(sort liblzma_generic.map | sed '/^$/d;/^global:$/d' | uniq -d) ++ ++# Check that liblzma_linux.map is in sync with liblzma_generic.map. ++# The RHEL/CentOS 7 compatibility symbols are in a fixed location ++# so it makes it easy to remove them for comparison with liblzma_generic.map. ++# ++# NOTE: Putting XZ_5.2 before the compatibility symbols XZ_5.1.2alpha ++# and XZ_5.2.2 in liblzma_linux.map is important: If liblzma_linux.map is ++# incorrectly used without #define HAVE_SYMBOL_VERSIONS_LINUX, only the first ++# occurrence of each function name will be used from liblzma_linux.map; ++# the rest are ignored by the linker. Thus having XZ_5.2 before the ++# compatibility symbols means that @@XZ_5.2 will be used for the symbols ++# listed under XZ_5.2 {...} and the same function names later in ++# the file under XZ_5.1.2alpha {...} and XZ_5.2.2 {...} will be ++# ignored (@XZ_5.1.2alpha or @XZ_5.2.2 won't be added at all when ++# the #define HAVE_SYMBOL_VERSIONS_LINUX isn't used). ++IN_SYNC= ++if ! sed '109,123d' liblzma_linux.map \ ++ | cmp -s - liblzma_generic.map; then ++ IN_SYNC=no ++fi + + # Print error messages if needed. +-if test -n "$SYMS$NAMES$DUPS"; then ++if test -n "$SYMS$NAMES$DUPS$IN_SYNC"; then + echo +- echo 'validate_map.sh found problems from liblzma.map:' ++ echo 'validate_map.sh found problems from liblzma_*.map:' + echo + + if test -n "$SYMS"; then +- echo 'liblzma.map lacks the following symbols:' ++ echo 'liblzma_generic.map lacks the following symbols:' + echo "$SYMS" + echo + fi +@@ -61,6 +153,11 @@ if test -n "$SYMS$NAMES$DUPS"; then + echo + fi + ++ if test -n "$IN_SYNC"; then ++ echo "liblzma_generic.map and liblzma_linux.map aren't in sync" ++ echo ++ fi ++ + STATUS=1 + fi + +-- +2.20.1 + diff --git a/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..61fdfbcc7ca --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.3-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.3' + +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': '10.3.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['fb96fc49b1fb892d1e64e53a6ada8accf6f0e6d30ce0937956ec68d39bd72c7e'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('cURL', '7.76.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/Xerces-C++/Xerces-C++-3.2.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..58d6a7a9a36 --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.3-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.3' + +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': '11.2.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['fb96fc49b1fb892d1e64e53a6ada8accf6f0e6d30ce0937956ec68d39bd72c7e'] + +builddependencies = [ + ('pkg-config', '0.29.2'), + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('cURL', '7.78.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/Xerces-C++/Xerces-C++-3.2.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..a35a5c214fe --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.4' + +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': '11.3.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['3d8ec1c7f94e38fee0e4ca5ad1e1d9db23cbf3a10bba626f6b4afa2dedafe5ab'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('cURL', '7.83.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/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..67dd4f72614 --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.4' + +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': '12.2.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['3d8ec1c7f94e38fee0e4ca5ad1e1d9db23cbf3a10bba626f6b4afa2dedafe5ab'] + +builddependencies = [ + ('pkgconf', '1.9.3'), + ('binutils', '2.39'), + ('CMake', '3.24.3'), +] + +dependencies = [ + ('cURL', '7.86.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/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8953e54f312 --- /dev/null +++ b/easybuild/easyconfigs/x/Xerces-C++/Xerces-C++-3.2.4-GCCcore-12.3.0.eb @@ -0,0 +1,39 @@ +easyblock = 'CMakeMake' + +name = 'Xerces-C++' +version = '3.2.4' + +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': '12.3.0'} + +source_urls = ['https://archive.apache.org/dist/xerces/c/%(version_major)s/sources/'] +sources = ['xerces-c-%(version)s.tar.gz'] +checksums = ['3d8ec1c7f94e38fee0e4ca5ad1e1d9db23cbf3a10bba626f6b4afa2dedafe5ab'] + +builddependencies = [ + ('pkgconf', '1.9.5'), + ('binutils', '2.40'), + ('CMake', '3.26.3'), +] + +dependencies = [ + ('cURL', '8.0.1'), +] + +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/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-1.4.4-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-1.4.4-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..4e93958da08 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-1.4.4-GCCcore-10.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '1.4.4' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['791567acccc485ba76e0b84bccced2651981171de5b47d541520416f2f9f93e3'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +dependencies = [ + ('Python', '3.9.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/XlsxWriter/XlsxWriter-3.0.2-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.2-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..79f9d59c390 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.2-GCCcore-11.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.0.2' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['53005f03e8eb58f061ebf41d5767c7495ee0772c2396fe26b7e0ca22fa9c2570'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('Python', '3.9.6'), +] + +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/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..33d4856cc08 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.0.8-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.0.8' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['ec77335fb118c36bc5ed1c89e33904d649e4989df2d7980f7d6a9dd95ee5874e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('Python', '3.10.4'), +] + +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/XlsxWriter/XlsxWriter-3.1.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..0a2285a563d --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.2-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.1.2' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['78751099a770273f1c98b8d6643351f68f98ae8e6acf9d09d37dc6798f8cd3de'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), +] + +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/XlsxWriter/XlsxWriter-3.1.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..251a37d1717 --- /dev/null +++ b/easybuild/easyconfigs/x/XlsxWriter/XlsxWriter-3.1.3-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'XlsxWriter' +version = '3.1.3' + +homepage = 'https://xlsxwriter.readthedocs.io/' +description = "A Python module for creating Excel XLSX files" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['696c16458d50712a3a5f902676c045ddb4c1bd1b54595f501e582d549abdbdb9'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), +] + +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/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/Xmipp/Xmipp-3.19.04-Apollo-foss-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-foss-2019a-Python-2.7.15.eb index 69c5636677f..4923b4db8d7 100644 --- a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-foss-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-foss-2019a-Python-2.7.15.eb @@ -76,7 +76,7 @@ builddependencies = [ dependencies = [ ('Python', '2.7.15'), ('SciPy-bundle', '2019.03'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('OpenCV', '3.4.7', versionsuffix), ('SQLite', '3.27.2'), ('HDF5', '1.10.5'), diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-fosscuda-2019a-Python-2.7.15.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-fosscuda-2019a-Python-2.7.15.eb index 771ce085a68..2c960877bb0 100644 --- a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-fosscuda-2019a-Python-2.7.15.eb +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.19.04-Apollo-fosscuda-2019a-Python-2.7.15.eb @@ -82,7 +82,7 @@ builddependencies = [ dependencies = [ ('Python', '2.7.15'), ('SciPy-bundle', '2019.03'), - ('Java', '11', '', True), + ('Java', '11', '', SYSTEM), ('OpenCV', '3.4.7', versionsuffix), ('SQLite', '3.27.2'), ('HDF5', '1.10.5'), diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..f3e9847d3b7 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,103 @@ +name = 'Xmipp' +version = '3.22.07-Helios' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/I2PC/scipion/wiki' +description = """Scipion is an image processing framework to obtain 3D +models of macromolecular complexes using Electron Microscopy (3DEM). It +integrates several software packages and presents an unified interface +for both biologists and developers. Scipion allows to execute workflows +combining different software tools, while taking care of formats and +conversions. Additionally, all steps are tracked and can be reproduced +later on. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/I2PC/xmipp/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(namelower)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippCore/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippCore-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippViz/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippViz-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/DStrelak/cuFFTAdvisor/archive/'], + 'download_filename': '14523b8ca7e2f5474feae49eb5ac8ca1fa25f5cd.tar.gz', + 'filename': 'cuFFTAdvisor-20191010.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, +] +patches = [ + '%(name)s-%(version)s_fix_scons_Environent_calls.patch', + '%(name)s-%(version)s_drop_useless_CXXFLAGS_setting.patch', + '%(name)s-%(version)s_correct_order_of_cu_includes.patch', + '%(name)s-%(version)s_dont_add_useless_libs.patch', + '%(name)s-%(version)s_dont_change_EB_build_flags.patch', + '%(name)s-%(version)s_fix_missing_cuda_compatibility.cu_include.patch', + '%(name)s-%(version)s_fix_opencv_cuda_detection.patch', + ('XmippCore-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippCore'), + ('XmippCore-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippCore'), + ('XmippViz-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippViz'), + ('XmippViz-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippViz'), +] +checksums = [ + {'xmipp-v3.22.07-Helios.tar.gz': 'f62e2729130b63d18e518930dd96a7a5250219e40c155abb78942a0642237ecf'}, + {'xmippCore-v3.22.07-Helios.tar.gz': '58e1143626cf807655a4756b165c21578d6f1b1777b43d363a2845d92d0bab8f'}, + {'xmippViz-v3.22.07-Helios.tar.gz': 'e1ce2cbbd57d3307d38538b29194a0190d633e5e062685387a6baf0329ad05b3'}, + {'cuFFTAdvisor-20191010.tar.gz': '2d97cc1c9c955fa5bee44eb232d49f25f2c8ad164ea2be754d44c723c613be46'}, + {'Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch': + '5b59babad5a445ec7315a809509704d2d07232d2a5d180bfb78ebc8007bd0c95'}, + {'Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch': + '34ed0cb591e1e2788acd3e58696b1f45ce9210836d14ed1c99de1e574e4824e6'}, + {'Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch': + '2b0b2ddf349003be4112f4dca623586a03235214d6e64d232deb26468b52f0e3'}, + {'Xmipp-3.22.07-Helios_dont_add_useless_libs.patch': + '284b8ec1e514fb84b7680c8b3f59b3d5931b564beb444d3301504e3170e9a49e'}, + {'Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch': + '1514eaa5de35b38b5a10e949edf5c94ba95bbd05e0b9fbf70db2ea98967394e3'}, + {'Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch': + 'b478c08a6a260021b4b91e5a8f6d9c5637eafdedcd99fcb672fe356d1744d349'}, + {'Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch': + '9d7c90a8cdeca24dba41a0d2f11f59ab34a438ed34fa7f4850172848505ecbae'}, + {'XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch': + '8dcf0f3648f4b3438374ba629a9efa2e5c08eb25ae76ed420513664d21e2246b'}, + {'XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'd86b0d3ecc339b81c9aa7a33d2b44b428643aa7e2e686529b4bb6b16d36805c2'}, + {'XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch': + '7724fc3953d9c4c308a5755f54229259425fdbad5a909153bd173292434407b9'}, + {'XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'a8bea23c243174fb27a140a34a064a622cc96f0e7231fd31caf20f90c7ba9555'}, +] + +builddependencies = [ + ('SCons', '4.4.0'), + ('CTPL', '0.0.2'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Java', '11', '', SYSTEM), + ('OpenCV', '4.6.0', versionsuffix + '-contrib'), + ('SQLite', '3.38.3'), + ('HDF5', '1.12.2'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('LIBSVM', '3.30'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb new file mode 100644 index 00000000000..9174334361e --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios-foss-2022a.eb @@ -0,0 +1,87 @@ +name = 'Xmipp' +version = '3.22.07-Helios' + +homepage = 'https://github.com/I2PC/scipion/wiki' +description = """Scipion is an image processing framework to obtain 3D +models of macromolecular complexes using Electron Microscopy (3DEM). It +integrates several software packages and presents an unified interface +for both biologists and developers. Scipion allows to execute workflows +combining different software tools, while taking care of formats and +conversions. Additionally, all steps are tracked and can be reproduced +later on. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [ + { + 'source_urls': ['https://github.com/I2PC/xmipp/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': '%(namelower)s-v%(version)s.tar.gz', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippCore/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippCore-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, + { + 'source_urls': ['https://github.com/I2PC/xmippViz/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': 'xmippViz-v%(version)s.tar.gz', + 'extract_cmd': 'tar -xzf %s -C %(namelower)s-%(version)s/src', + }, +] +patches = [ + '%(name)s-%(version)s_fix_scons_Environent_calls.patch', + '%(name)s-%(version)s_drop_useless_CXXFLAGS_setting.patch', + '%(name)s-%(version)s_correct_order_of_cu_includes.patch', + '%(name)s-%(version)s_dont_add_useless_libs.patch', + '%(name)s-%(version)s_dont_change_EB_build_flags.patch', + ('XmippCore-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippCore'), + ('XmippCore-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippCore'), + ('XmippViz-%(version)s_fix_scons_Environent_calls.patch', 'src/xmippViz'), + ('XmippViz-%(version)s_use_CXXFLAGS_from_EB.patch', 'src/xmippViz'), +] +checksums = [ + {'xmipp-v3.22.07-Helios.tar.gz': 'f62e2729130b63d18e518930dd96a7a5250219e40c155abb78942a0642237ecf'}, + {'xmippCore-v3.22.07-Helios.tar.gz': '58e1143626cf807655a4756b165c21578d6f1b1777b43d363a2845d92d0bab8f'}, + {'xmippViz-v3.22.07-Helios.tar.gz': 'e1ce2cbbd57d3307d38538b29194a0190d633e5e062685387a6baf0329ad05b3'}, + {'Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch': + '5b59babad5a445ec7315a809509704d2d07232d2a5d180bfb78ebc8007bd0c95'}, + {'Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch': + '34ed0cb591e1e2788acd3e58696b1f45ce9210836d14ed1c99de1e574e4824e6'}, + {'Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch': + '2b0b2ddf349003be4112f4dca623586a03235214d6e64d232deb26468b52f0e3'}, + {'Xmipp-3.22.07-Helios_dont_add_useless_libs.patch': + '284b8ec1e514fb84b7680c8b3f59b3d5931b564beb444d3301504e3170e9a49e'}, + {'Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch': + '1514eaa5de35b38b5a10e949edf5c94ba95bbd05e0b9fbf70db2ea98967394e3'}, + {'XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch': + '8dcf0f3648f4b3438374ba629a9efa2e5c08eb25ae76ed420513664d21e2246b'}, + {'XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'd86b0d3ecc339b81c9aa7a33d2b44b428643aa7e2e686529b4bb6b16d36805c2'}, + {'XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch': + '7724fc3953d9c4c308a5755f54229259425fdbad5a909153bd173292434407b9'}, + {'XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch': + 'a8bea23c243174fb27a140a34a064a622cc96f0e7231fd31caf20f90c7ba9555'}, +] + +builddependencies = [ + ('SCons', '4.4.0'), + ('CTPL', '0.0.2'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Java', '11', '', SYSTEM), + ('OpenCV', '4.6.0', '-contrib'), + ('SQLite', '3.38.3'), + ('HDF5', '1.12.2'), + ('LibTIFF', '4.3.0'), + ('libjpeg-turbo', '2.1.3'), + ('LIBSVM', '3.30'), +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch new file mode 100644 index 00000000000..8b61aa94613 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_correct_order_of_cu_includes.patch @@ -0,0 +1,19 @@ +commit baac03018283296f90c08366e0e092c95d25173b +Author: Ake Sandgren +Date: Tue Oct 18 14:34:34 2022 +0200 + + cuda_gpu_multidim_array.cu is just an include file containing templates. + Needs to be before cuda_gpu_geo_transformer.cu + +diff --git xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp +index f7e5178c..8ccbefd3 100644 +--- xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp ++++ xmipp-3.22.07-Helios/src/xmipp/libraries/reconstruction_cuda/cuda_all.cpp +@@ -31,6 +31,6 @@ + */ + + #include "cuda_gpu_bilib.cu" ++#include "cuda_gpu_multidim_array.cu" + #include "cuda_gpu_geo_transformer.cu" + #include "cuda_gpu_iirconvolve.cu" +-#include "cuda_gpu_multidim_array.cu" diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch new file mode 100644 index 00000000000..a0ad7920a2d --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_add_useless_libs.patch @@ -0,0 +1,21 @@ +commit 4c1e2d678c5a33eae2ddb9f0558523d6d697e2b6 +Author: Ake Sandgren +Date: Thu Oct 27 08:04:04 2022 +0200 + + Don't add useless libraries to XmippInterfaceCuda and XmippParallelCuda + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index e70ea2cd..077541e8 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -209,9 +209,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + """ + _libs = list(libs) + _libpath = list(libpath)+external_libdirs +- if name == "XmippInterfaceCuda": +- _libs.append("XmippCuda") +- if "Cuda" in name: ++ if name == "XmippCuda": + _libs.append("cudart") + #_libs.append("cuda") + _libs.append("cufft") diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch new file mode 100644 index 00000000000..3c7171f617a --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_dont_change_EB_build_flags.patch @@ -0,0 +1,41 @@ +commit e53881505ae212fa913fc536e60869e9b8e7f73c +Author: Ake Sandgren +Date: Thu Oct 27 09:45:11 2022 +0200 + + Don't change flags from what EasyBuild has decided to use. + +diff --git xmipp-3.22.07-Helios/scripts/config.py xmipp-3.22.07-Helios/scripts/config.py +index 0f58cbe3..b442a035 100644 +--- xmipp-3.22.07-Helios/scripts/config.py ++++ xmipp-3.22.07-Helios/scripts/config.py +@@ -293,7 +293,7 @@ class Config: + self.configDict["CCFLAGS"] += " -std=c99" + if 'g++' in self.get(Config.KEY_CXX): + # optimize for current machine +- self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto" ++ #self.configDict["CXXFLAGS"] += " -mtune=native -march=native -flto" + if "-std=c99" not in self.configDict["CXXFLAGS"]: + self.configDict["CXXFLAGS"] += " -std=c++17" + if isCIBuild(): +@@ -301,8 +301,8 @@ class Config: + self.configDict["CXXFLAGS"] += " -Werror" + # don't optimize, as it slows down the build + self.configDict["CXXFLAGS"] += " -O0" +- else: +- self.configDict["CXXFLAGS"] += " -O3" ++ #else: ++ # self.configDict["CXXFLAGS"] += " -O3" + if self.is_true("DEBUG"): + self.configDict["CXXFLAGS"] += " -g" + +@@ -315,8 +315,8 @@ class Config: + if self.configDict["LIBDIRFLAGS"] == "": + # /usr/local/lib or /path/to/virtEnv/lib + localLib = "%s/lib" % info['data'] +- self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib +- self.environment.update(LD_LIBRARY_PATH=localLib) ++ #self.configDict["LIBDIRFLAGS"] = "-L%s" % localLib ++ #self.environment.update(LD_LIBRARY_PATH=localLib) + + # extra libs + hdf5InLocalLib = findFileInDirList("libhdf5*", localLib) diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch new file mode 100644 index 00000000000..7e4c8618625 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_drop_useless_CXXFLAGS_setting.patch @@ -0,0 +1,18 @@ +commit f647cd54c8fa2b0894f347cbf7f13aacc0b8c785 +Author: Ake Sandgren +Date: Tue Oct 18 14:30:08 2022 +0200 + + Drop redundant setting of env var CXXFLAGS to what it already is. + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index c921c3c5..e70ea2cd 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -148,7 +148,6 @@ env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch new file mode 100644 index 00000000000..52dc98a1212 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_missing_cuda_compatibility.cu_include.patch @@ -0,0 +1,55 @@ +Fix support for CUDA arch < 6.0 + +Åke Sandgren, 2022-11-14 +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu +index 83189250..f125e47d 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.cu +@@ -28,8 +28,9 @@ + + #include "cuda_compatibility.h" + ++#if defined(__CUDA_ARCH__) + #if __CUDA_ARCH__ < 600 +-__device__ double atomicAdd(double* address, double val) ++static __inline__ __device__ double atomicAdd(double* address, double val) + { + unsigned long long int* address_as_ull = + (unsigned long long int*)address; +@@ -47,6 +48,7 @@ __device__ double atomicAdd(double* address, double val) + return __longlong_as_double(old); + } + #endif ++#endif + + + #endif /* LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_CU_ */ +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h +index 3bb44e0f..279ccbcb 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_compatibility.h +@@ -27,7 +27,11 @@ + #define LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_H_ + + +-__device__ double atomicAdd(double* address, double val); ++#if defined(__CUDA_ARCH__) ++#if __CUDA_ARCH__ < 600 ++static __inline__ __device__ double atomicAdd(double* address, double val); ++#endif ++#endif + + + #endif /* LIBRARIES_RECONSTRUCTION_CUDA_CUDA_COMPATIBILITY_H_ */ +diff --git a/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu b/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu +index c7dea8fb..9e267336 100644 +--- a/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu ++++ b/src/xmipp/libraries/reconstruction_cuda/cuda_correlation.cu +@@ -27,6 +27,7 @@ + #define LIBRARIES_RECONSTRUCTION_CUDA_CUDA_CORRELATION_CU_ + + #include "cuda_compatibility.h" ++#include "cuda_compatibility.cu" + + /** + * Function computes sum and sum squared for each 2D signal diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch new file mode 100644 index 00000000000..0575ef6a225 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_opencv_cuda_detection.patch @@ -0,0 +1,25 @@ +Fix detection of OpenCV >= 3 + +Åke Sandgren, 2022-11-14 +diff --git a/src/xmipp/SConscript b/src/xmipp/SConscript +index a767fb99..89777947 100644 +--- a/src/xmipp/SConscript ++++ b/src/xmipp/SConscript +@@ -46,7 +46,7 @@ debug = get('DEBUG') + matlab = get('MATLAB') + opencv = env.GetOption('opencv') and get('OPENCV') + opencvsupportscuda = get('OPENCVSUPPORTSCUDA') +-opencv_3 = get('OPENCV3') ++opencv_ver = int(os.environ.get('OPENCV_VERSION', '0')) + starpu = get('STARPU') + + if opencv: +@@ -55,7 +55,7 @@ if opencv: + 'opencv_video', + 'libopencv_calib3d'] + if opencvsupportscuda: +- if opencv_3: ++ if opencv_ver >= 3: + opencvLibs+=['libopencv_cudaoptflow', 'libopencv_cudaarithm'] + else: + opencvLibs+=['libopencv_gpu'] diff --git a/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 00000000000..3eb4c9cf326 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/Xmipp-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,37 @@ +commit 8ff0a1295743fae1eb069fe8242e524f348f5937 +Author: Ake Sandgren +Date: Tue Oct 18 14:28:47 2022 +0200 + + Make sure SCons sees the complete environment from EasyBuild. + +diff --git xmipp-3.22.07-Helios/src/xmipp/SConstruct xmipp-3.22.07-Helios/src/xmipp/SConstruct +index 22ea72cf..c921c3c5 100644 +--- xmipp-3.22.07-Helios/src/xmipp/SConstruct ++++ xmipp-3.22.07-Helios/src/xmipp/SConstruct +@@ -236,7 +236,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + # the reason is a compilation error for CUDA, which results in a multiple symbol detection + # when the order is different. This has to be fixed in the future by changing the CUDA + # build system FIXME David Strelak +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + env2['CXXFLAGS']=list(env['CXXFLAGS']) # list(.) causes a true copy and not just a pointer + env2['LINKFLAGS']=list(env['LINKFLAGS']) +@@ -425,7 +425,7 @@ def addProgram(env, name, src=None, pattern=None, installDir=None, + ldLibraryPathCopy = [env['LIBPATH']] + appendUnique(libPathsCopy, external_libdirs) # This order is important, because if we should use Scipion libs, these will be before the system libs + appendUnique(libPathsCopy, env.get('LIBPATH', '').split(os.pathsep)) +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['LD_LIBRARY_PATH'] = env['ENV'].get('LD_LIBRARY_PATH', '') + env2['ENV']['PATH'] = env['ENV']['PATH'] + +@@ -486,7 +486,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS','')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS','')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 00000000000..06c3697efcb --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,28 @@ +commit 901b41d324b351995b9256d7ee6b370276274497 +Author: Ake Sandgren +Date: Tue Oct 18 14:21:03 2022 +0200 + + Make sure SCons sees the complete environment from EasyBuild. + +diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct +index 1c5fec3..40ed01f 100644 +--- xmippCore-3.22.07-Helios/SConstruct ++++ xmippCore-3.22.07-Helios/SConstruct +@@ -207,7 +207,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + if not sources and env.TargetInBuild(name): + Exit('No sources found for Library: %s. Exiting!!!' % name) + +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + env2['CXX'] = env['CXX'] + +@@ -363,7 +363,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS','')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS','')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch new file mode 100644 index 00000000000..f1ac9fff312 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippCore-3.22.07-Helios_use_CXXFLAGS_from_EB.patch @@ -0,0 +1,24 @@ +commit 36ca78858e442f1df23f5cb6b87c877a864eff44 +Author: Ake Sandgren +Date: Tue Oct 18 14:23:16 2022 +0200 + + Only use CXXFLAGS from EasyBuild. + +diff --git xmippCore-3.22.07-Helios/SConstruct xmippCore-3.22.07-Helios/SConstruct +index 40ed01f..277443d 100644 +--- xmippCore-3.22.07-Helios/SConstruct ++++ xmippCore-3.22.07-Helios/SConstruct +@@ -136,13 +136,7 @@ env['CXX'] = os.environ.get('CXX') + env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') +-if os.environ.get('DEBUG', '0') == 'True': #FIXME, use 1, true, yes... +- cxxFlags += ' -g' +-else: +- if cxxFlags.find("-O")==-1: +- cxxFlags += (" -O3" if 'TRAVIS' not in os.environ else " -O0") #don't optimize on Travis, as it slows down the build + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + diff --git a/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch new file mode 100644 index 00000000000..1cdd9c3add5 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_fix_scons_Environent_calls.patch @@ -0,0 +1,28 @@ +commit 0e749b55db29360c9804f8c5e07094b7a5bf0597 +Author: Ake Sandgren +Date: Tue Oct 18 14:25:17 2022 +0200 + + Make sure scons sees the complete environment from EasyBuild. + +diff --git xmippViz-3.22.07-Helios/SConstruct xmippViz-3.22.07-Helios/SConstruct +index dc0a809..32c75be 100644 +--- xmippViz-3.22.07-Helios/SConstruct ++++ xmippViz-3.22.07-Helios/SConstruct +@@ -237,7 +237,7 @@ def addCppLibrary(env, name, dirs=[], tars=[], untarTargets=['configure'], patte + if not sources and env.TargetInBuild(name): + Exit('No sources found for Library: %s. Exiting!!!' % name) + +- env2 = Environment() ++ env2 = Environment(ENV=os.environ) + env2['ENV']['PATH'] = env['ENV']['PATH'] + + mpiArgs = {} +@@ -474,7 +474,7 @@ def compilerConfig(env): + + def libraryTest(env, name, lang='c'): + """Check the existence of a concrete C/C++ library.""" +- env2 = Environment(LIBS=env.get('LIBS', '')) ++ env2 = Environment(ENV=os.environ,LIBS=env.get('LIBS', '')) + conf = Configure(env2) + conf.CheckLib(name, language=lang) + env2 = conf.Finish() diff --git a/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch new file mode 100644 index 00000000000..6d8802ccb21 --- /dev/null +++ b/easybuild/easyconfigs/x/Xmipp/XmippViz-3.22.07-Helios_use_CXXFLAGS_from_EB.patch @@ -0,0 +1,25 @@ +commit 3d1e0e6e6da7aa7cc605be2a699f02b6cfbf4ca5 +Author: Ake Sandgren +Date: Tue Oct 18 14:26:22 2022 +0200 + + Only use CXXFLAGS from EasyBuild. + +diff --git xmippViz-3.22.07-Helios/SConstruct xmippViz-3.22.07-Helios/SConstruct +index 32c75be..fecd394 100644 +--- xmippViz-3.22.07-Helios/SConstruct ++++ xmippViz-3.22.07-Helios/SConstruct +@@ -143,14 +143,7 @@ env['CXX'] = os.environ.get('CXX') + env['LINKERFORPROGRAMS'] = os.environ.get('LINKERFORPROGRAMS') + env['CCFLAGS'] = os.environ.get('CCFLAGS', '').split() + cxxFlags = os.environ.get('CXXFLAGS', '') +-if os.environ.get('DEBUG', '0') == 'True': # FIXME, use 1, true, yes... +- cxxFlags += ' -g' +-else: +- if cxxFlags.find("-O") == -1: +- cxxFlags += ( +- " -O3" if 'TRAVIS' not in os.environ else " -O0") # don't optimize on Travis, as it slows down the build + env['CXXFLAGS'] = cxxFlags.split() +-os.environ['CXXFLAGS'] = cxxFlags # FIXME use only env or os.environ in the rest of the code + env['LINKFLAGS'] = os.environ.get('LINKFLAGS', '').split() + + for path in ['JAVA_HOME', 'JAVA_BINDIR']: diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.11-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.11-GCCcore-10.3.0.eb index da8a33a8547..66f838fc14b 100644 --- a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.11-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.11-GCCcore-10.3.0.eb @@ -95,7 +95,9 @@ components = [ }), ] -postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] sanity_check_paths = { 'files': ['bin/Xvfb', 'bin/xvfb-run'], diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.13-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.13-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..0fab63d96b8 --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.13-GCCcore-11.2.0.eb @@ -0,0 +1,112 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '1.20.13' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('Python', '3.9.6', '-bare'), +] + +dependencies = [ + ('X11', '20210802'), + ('pixman', '0.40.0'), + ('libdrm', '2.4.107'), + ('Mesa', '21.1.7'), + ('nettle', '3.7.3'), + ('libunwind', '1.5.0'), + ('XZ', '5.2.5'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['e5b687029e44d0bd3ccd254a4da6a5cbfc40350aa8b43fcca16ef6e9b9bb9f22'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.3.2', { + 'checksums': ['f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76'], + }), + ('font-misc-misc', '1.1.2', { + 'checksums': ['46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.5', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['e88a4d86b9925ea1e8685dd5ea29c815abafb8ddf19bf5f1a1e0650839252c23'], + }), + ('xkeyboard-config', '2.33', { + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'checksums': ['112df68e1150e8da421bc0abe79eebeacca16a91e54e1877cb39fc878d17b365'], + 'configopts': '--with-xkb-rules-symlink=xorg', + }), + ('xauth', '1.1', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['e9fce796c8c5c9368594b9e8bbba237fb54b6615f5fd60e8d0a5b3c52a92c5ef'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + '26f801f4d92216995f389873cf3b4e90069cf63e94bc5dd09ebbf7fd7e1ddcc2', # xorg-server-1.20.13.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.2.0.eb index cecac7a6fb8..1db3dc5e081 100644 --- a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.2.0.eb @@ -100,7 +100,9 @@ components = [ }), ] -postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] sanity_check_paths = { 'files': ['bin/Xvfb', 'bin/xvfb-run'], diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.3.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.3.0.eb index 4a228b5fdf7..fc27c8fc593 100644 --- a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.8-GCCcore-8.3.0.eb @@ -100,7 +100,9 @@ components = [ }), ] -postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] sanity_check_paths = { 'files': ['bin/Xvfb', 'bin/xvfb-run'], diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-10.2.0.eb index 5341032753f..43d07a3d4e1 100644 --- a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-10.2.0.eb @@ -95,7 +95,9 @@ components = [ }), ] -postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] sanity_check_paths = { 'files': ['bin/Xvfb', 'bin/xvfb-run'], diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-9.3.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-9.3.0.eb index 772ef1b22f5..94aa35864b6 100644 --- a/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-1.20.9-GCCcore-9.3.0.eb @@ -95,7 +95,9 @@ components = [ }), ] -postinstallcmds = ["cp -a xvfb-run %(installdir)s/bin/ && chmod u+x %(installdir)s/bin/xvfb-run"] +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] sanity_check_paths = { 'files': ['bin/Xvfb', 'bin/xvfb-run'], diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..cd7d049d7e1 --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.3-GCCcore-11.3.0.eb @@ -0,0 +1,125 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '21.1.3' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('Python', '3.10.4'), + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('libxslt', '1.1.34'), + ('gettext', '0.21'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('X11', '20220504'), + ('pixman', '0.40.0'), + ('libdrm', '2.4.110'), + ('Mesa', '22.0.3'), + ('nettle', '3.8'), + ('libunwind', '1.6.2'), + ('XZ', '5.2.5'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.2', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.3.2', { + 'checksums': ['f115a3735604de1e852a4bf669be0269d8ce8f21f8e0e74ec5934b31dadc1e76'], + }), + ('font-misc-misc', '1.1.2', { + 'checksums': ['46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.5', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['e88a4d86b9925ea1e8685dd5ea29c815abafb8ddf19bf5f1a1e0650839252c23'], + }), + ('xkeyboard-config', '2.36', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['1f1bb1292a161d520a3485d378609277d108cd07cde0327c16811ff54c3e1595'], + 'configopts': '-Dxorg-rules-symlinks=true', + }), + ('xauth', '1.1', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['e9fce796c8c5c9368594b9e8bbba237fb54b6615f5fd60e8d0a5b3c52a92c5ef'], + }), + ('libxcvt', '0.1.1', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/lib/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['27ebce180d355f94c1992930bedb40a36f6d7312ee50bf7f0acbcd22f33e8c29'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + 'c52403a66935092da86a18052ffdcb93a2762a146901f63c1261744a708b12e2', # xorg-server-21.1.3.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..2917a7c8876 --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.6-GCCcore-12.2.0.eb @@ -0,0 +1,125 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '21.1.6' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('Python', '3.10.8'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('libxslt', '1.1.37'), + ('gettext', '0.21.1'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('X11', '20221110'), + ('pixman', '0.42.2'), + ('libdrm', '2.4.114'), + ('Mesa', '22.2.4'), + ('nettle', '3.8.1'), + ('libunwind', '1.6.2'), + ('XZ', '5.2.7'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.2', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.3.3', { + 'checksums': ['2094dd4a1ca63a61deb101d2dc618682d6e287cdbe09679502223ac445d277dc'], + }), + ('font-misc-misc', '1.1.2', { + 'checksums': ['46142c876e176036c61c0c24c0a689079704d5ca5b510d48c025861ee2dbf829'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.6', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987'], + }), + ('xkeyboard-config', '2.37', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['eb1383a5ac4b6210d7c7302b9d6fab052abdf51c5d2c9b55f1f779997ba68c6c'], + 'configopts': '-Dxorg-rules-symlinks=true', + }), + ('xauth', '1.1.2', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['84d27a1023d8da524c134f424b312e53cb96e08871f96868aa20316bfcbbc054'], + }), + ('libxcvt', '0.1.2', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/lib/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0561690544796e25cfbd71806ba1b0d797ffe464e9796411123e79450f71db38'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + '6f9c73ccc50e2731adac17671c8e33687738c8cd556b49ecb9f410ce7217be11', # xorg-server-21.1.3.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..5cb7e312a44 --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.8-GCCcore-12.3.0.eb @@ -0,0 +1,125 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '21.1.8' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('Python', '3.11.3'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('libxslt', '1.1.38'), + ('gettext', '0.21.1'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('X11', '20230603'), + ('pixman', '0.42.2'), + ('libdrm', '2.4.115'), + ('Mesa', '23.1.4'), + ('nettle', '3.9.1'), + ('libunwind', '1.6.2'), + ('XZ', '5.4.2'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.2', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.4.0', { + 'checksums': ['30b90fe52347916be9b08f95f717f17c9c1f58bef8cabb49014d0fdd2b0df643'], + }), + ('font-misc-misc', '1.1.3', { + 'checksums': ['bece4a9482b3cb6f7fad2164fd3b394d22dfe1ad2f96f60030a703bcff30f5a5'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.6', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987'], + }), + ('xkeyboard-config', '2.39', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['5ac5f533eff7b0c116805fe254fd79b2c9882700a4f9f2c070f8c4eae5aaa682'], + 'configopts': '-Dxorg-rules-symlinks=true', + }), + ('xauth', '1.1.2', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['84d27a1023d8da524c134f424b312e53cb96e08871f96868aa20316bfcbbc054'], + }), + ('libxcvt', '0.1.2', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/lib/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0561690544796e25cfbd71806ba1b0d797ffe464e9796411123e79450f71db38'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + 'd845d1fee2edb33cb94f31b5170f26d98ed31f853ce2da21daca7c60c8ff3aae', # xorg-server-21.1.3.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.9-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.9-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..740256850ac --- /dev/null +++ b/easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.9-GCCcore-13.2.0.eb @@ -0,0 +1,126 @@ +easyblock = 'Bundle' + +name = 'Xvfb' +version = '21.1.9' + +homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' +description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. + It emulates a dumb framebuffer using virtual memory.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Python', '3.11.5'), + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('libxslt', '1.1.38'), + ('gettext', '0.22'), + ('Bison', '3.8.2'), +] + +dependencies = [ + ('X11', '20231019'), + ('pixman', '0.42.2'), + ('libdrm', '2.4.117'), + ('Mesa', '23.1.9'), + ('nettle', '3.9.1'), + ('libunwind', '1.6.2'), + ('XZ', '5.4.4'), +] + +default_easyblock = 'ConfigureMake' + +local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " +local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " +local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" + +# use 'make V=1' to see compiler commands +local_xvfb_buildopts = "V=1 " + +# use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" +local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' +local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' + +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'start_dir': '%(name)s-%(version)s', +} + +local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " +local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " + +components = [ + ('mkfontscale', '1.2.2', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168'], + }), + ('mkfontdir', '1.0.7', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], + }), + ('bdftopcf', '1.1', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], + }), + ('font-util', '1.4.1', { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'checksums': ['f029ae80cdd75d89bee7f7af61c21e07982adfb9f72344a158b99f91f77ef5ed'], + }), + ('font-misc-misc', '1.1.3', { + 'source_urls': ['https://www.x.org/archive/individual/font/'], + 'checksums': ['bece4a9482b3cb6f7fad2164fd3b394d22dfe1ad2f96f60030a703bcff30f5a5'], + 'preconfigopts': local_font_misc_preconfigopts, + }), + ('xkbcomp', '1.4.6', { + 'source_urls': ['https://www.x.org/archive/individual/app/'], + 'checksums': ['b216a2c8c0eab83f3dc4a3d5ee2bdf7827b30e49c8907035d0f222138eca0987'], + }), + ('xkeyboard-config', '2.40', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['7a3dba1bec7dc7191432da021242d17c9cf6c89690e6c57b0de048ff8c9d2ae3'], + 'configopts': '-Dxorg-rules-symlinks=true', + }), + ('xauth', '1.1.2', { + 'source_urls': ['https://www.x.org/releases/individual/app/'], + 'checksums': ['84d27a1023d8da524c134f424b312e53cb96e08871f96868aa20316bfcbbc054'], + }), + ('libxcvt', '0.1.2', { + 'easyblock': 'MesonNinja', + 'source_urls': ['https://www.x.org/archive/individual/lib/'], + 'sources': [SOURCE_TAR_XZ], + 'checksums': ['0561690544796e25cfbd71806ba1b0d797ffe464e9796411123e79450f71db38'], + }), + (name, version, { + 'source_urls': ['https://www.x.org/releases/individual/xserver/'], + 'sources': ['xorg-server-%(version)s.tar.gz'], + 'patches': [('xvfb-run', '.')], + 'checksums': [ + '455ac22c411b3e74adb4d1b3fd48b9037b6b5ba9260247c59b669f67a08fd26e', # xorg-server-21.1.9.tar.gz + 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run + ], + 'start_dir': 'xorg-server-%(version)s', + 'configopts': local_xvfb_configopts, + 'buildopts': local_xvfb_buildopts, + 'installopts': local_xvfb_buildopts, + }), +] + +# enable exec permissions for xvfb-run after copying; +# need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works +postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] + +sanity_check_paths = { + 'files': ['bin/Xvfb', 'bin/xvfb-run'], + 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], +} + +sanity_check_commands = [ + "xvfb-run --help", + "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", +] + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..efe8235a510 --- /dev/null +++ b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-10.2.0.eb @@ -0,0 +1,53 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'x13as' +version = '1-1-b59' + +homepage = 'https://www.census.gov/data/software/x13as.About_X-13.html' + +description = """ +X-13ARIMA-SEATS is seasonal adjustment software produced, distributed, +and maintained by the Census Bureau. + +Features of X-13ARIMA-SEATS include: + - Extensive time series modeling and model selection capabilities for + linear regression models with ARIMA errors (regARIMA models); + - The capability to generate ARIMA model-based seasonal adjustment + using a version of the SEATS software originally developed by Victor + Gómez and Agustín Maravall at the Bank of Spain, as well as nonparametric + adjustments from the X-11 procedure; + - Diagnostics of the quality and stability of the adjustments + achieved under the options selected; + - The ability to efficiently process many series at once. +""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = [ + 'https://www2.census.gov/software/x-13arima-seats/x13as/unix-linux/program-archives', +] +sources = ['%(name)s_asciisrc-v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + '256ee87f326ef6e0ac33a806812d614a5584c6b9e1f2a67ec06af52f2c3be85d', # x13as_asciisrc-v1-1-b59.tar.gz + 'cbde094a2396c256e9ac996cd539806bb0274e569d578ad42c4879f0e02c5ef3', # x13as-v1-1_makefile.patch +] + +builddependencies = [ + ('binutils', '2.35'), +] + +build_cmd = 'make -f makefile.gf' + +files_to_copy = [(['x13as'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/x13as'], + 'dirs': [], +} + +sanity_check_commands = ["x13as --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..92ba2cefb87 --- /dev/null +++ b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59-GCCcore-11.2.0.eb @@ -0,0 +1,53 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MakeCp' + +name = 'x13as' +version = '1-1-b59' + +homepage = 'https://www.census.gov/data/software/x13as.About_X-13.html' + +description = """ +X-13ARIMA-SEATS is seasonal adjustment software produced, distributed, +and maintained by the Census Bureau. + +Features of X-13ARIMA-SEATS include: + - Extensive time series modeling and model selection capabilities for + linear regression models with ARIMA errors (regARIMA models); + - The capability to generate ARIMA model-based seasonal adjustment + using a version of the SEATS software originally developed by Victor + Gómez and Agustín Maravall at the Bank of Spain, as well as nonparametric + adjustments from the X-11 procedure; + - Diagnostics of the quality and stability of the adjustments + achieved under the options selected; + - The ability to efficiently process many series at once. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [ + 'https://www2.census.gov/software/x-13arima-seats/x13as/unix-linux/program-archives', +] +sources = ['%(name)s_asciisrc-v%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_makefile.patch'] +checksums = [ + '256ee87f326ef6e0ac33a806812d614a5584c6b9e1f2a67ec06af52f2c3be85d', # x13as_asciisrc-v1-1-b59.tar.gz + 'cbde094a2396c256e9ac996cd539806bb0274e569d578ad42c4879f0e02c5ef3', # x13as-v1-1_makefile.patch +] + +builddependencies = [ + ('binutils', '2.37'), +] + +build_cmd = 'make -f makefile.gf' + +files_to_copy = [(['x13as'], 'bin')] + +sanity_check_paths = { + 'files': ['bin/x13as'], + 'dirs': [], +} + +sanity_check_commands = ["x13as --help"] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/x/x13as/x13as-1-1-b59_makefile.patch b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59_makefile.patch new file mode 100644 index 00000000000..96ded45a757 --- /dev/null +++ b/easybuild/easyconfigs/x/x13as/x13as-1-1-b59_makefile.patch @@ -0,0 +1,29 @@ +Patch to build with newer versions of gfortran +see: https://salsa.debian.org/science-team/x13as/-/blob/master/debian/rules#L4 +Author: J. Sassmannshausen, Thomas Hayward-Schneider, Jasper Grimm +diff --git a/x13as_asciisrc-v1-1-b59.orig/makefile.gf b/x13as_asciisrc-v1-1-b59/makefile.gf +index e60896e..cb1b38e 100644 +--- a/x13as_asciisrc-v1-1-b59.orig/makefile.gf ++++ b/x13as_asciisrc-v1-1-b59/makefile.gf +@@ -1,10 +1,10 @@ + # MKMF template makefile for protected mode executables. + FC = gfortran + LINKER = gfortran +-PROGRAM = x13as_ascii ++PROGRAM = x13as + DEST = . + EXTHDRS = +-FFLAGS = -O2 ++FFLAGS = -O2 -std=legacy + HDRS = + LDFLAGS = -s + LDMAP = +@@ -290,7 +290,7 @@ SRCS = aaamain.f abend.f acf.f acfar.f acfdgn.f \ + testodf.f + + $(PROGRAM): $(OBJS) $(LIBS) +- $(LINKER) -static -o $@ $(OBJS) $(LDMAP) $(LIBS) $(LDFLAGS) ++ $(LINKER) -o $@ $(OBJS) $(LDMAP) $(LIBS) $(LDFLAGS) + + clean:; @rm -f $(OBJS) + diff --git a/easybuild/easyconfigs/x/x264/x264-20201026-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20201026-GCCcore-10.2.0.eb index ab66b16bf18..c7bbcc82b27 100644 --- a/easybuild/easyconfigs/x/x264/x264-20201026-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/x/x264/x264-20201026-GCCcore-10.2.0.eb @@ -20,10 +20,11 @@ checksums = ['4dba5ab9e744f85d8a37ccdcc9467d27c5409c7e4f7e397580b5921be09b4d1e'] builddependencies = [ ('binutils', '2.35'), + ('pkg-config', '0.29.2'), ('NASM', '2.15.05'), ] -configopts = " --enable-shared --enable-static" +configopts = " --enable-shared --enable-static --disable-bashcompletion" sanity_check_paths = { 'files': ['bin/x264', 'include/x264_config.h', 'include/x264.h', diff --git a/easybuild/easyconfigs/x/x264/x264-20210414-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/x264/x264-20210414-GCCcore-10.3.0.eb index dded9d497db..f8f6e33e213 100644 --- a/easybuild/easyconfigs/x/x264/x264-20210414-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/x264/x264-20210414-GCCcore-10.3.0.eb @@ -20,10 +20,11 @@ checksums = ['88b8f738e420bcb1dcc6ef27e13d10261dbcddd047712a31867a946a265eec4d'] builddependencies = [ ('binutils', '2.36.1'), + ('pkg-config', '0.29.2'), ('NASM', '2.15.05'), ] -configopts = " --enable-shared --enable-static" +configopts = " --enable-shared --enable-static --disable-bashcompletion" sanity_check_paths = { 'files': ['bin/x264', 'include/x264_config.h', 'include/x264.h', diff --git a/easybuild/easyconfigs/x/x264/x264-20210613-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20210613-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..410e3fbee86 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20210613-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +local_commit = '5db6aa6c' +version = '20210613' + +homepage = 'https://www.videolan.org/developers/x264.html' + +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://code.videolan.org/videolan/x264/-/archive/%s/' % local_commit] +sources = [{'download_filename': 'x264-%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['9b5543a5f114f4c6905a2319ea4c2063d6ebd2db209b41642086df3c1f7b6f50'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), + ('NASM', '2.15.05'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + +sanity_check_paths = { + 'files': ['bin/x264', 'include/x264_config.h', 'include/x264.h', + 'lib/libx264.a', 'lib/libx264.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20220620-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/x264/x264-20220620-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2b05023e8af --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20220620-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20220620' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/5db6aa6c/'] +sources = [{'download_filename': '%(name)s-5db6aa6c.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['9b5543a5f114f4c6905a2319ea4c2063d6ebd2db209b41642086df3c1f7b6f50'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), + ('NASM', '2.15.05'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..b0a7a5b2bfc --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20230226' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/baee400f/'] +sources = [{'download_filename': '%(name)s-baee400f.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f32bdcd8edaae7686f5aba9d4421d07c1d01e5c3c10c2a87c8f3131bddb59905'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), + ('NASM', '2.15.05'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..339fbb46631 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20230226-GCCcore-12.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20230226' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/baee400f/'] +sources = [{'download_filename': '%(name)s-baee400f.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['f32bdcd8edaae7686f5aba9d4421d07c1d01e5c3c10c2a87c8f3131bddb59905'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), + ('NASM', '2.16.01'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3a5bb6947d8 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20231019-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20231019' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/baee400f/'] +sources = [{'download_filename': '%(name)s-9c3c7168.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = ['x264-20231019_add-riscv-support.patch'] +checksums = [ + {'x264-20231019.tar.gz': 'bf6a61dcc7e1f4e623a44f09de02e843f06e7ec14f807557b43130fc84287f29'}, + {'x264-20231019_add-riscv-support.patch': 'd4455f3f643f255d4e907cf8a7bd803a3184ab2b6cc3445298bd2986fbb976f6'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('NASM', '2.16.01'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x264/x264-20231019_add-riscv-support.patch b/easybuild/easyconfigs/x/x264/x264-20231019_add-riscv-support.patch new file mode 100644 index 00000000000..b522010af86 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20231019_add-riscv-support.patch @@ -0,0 +1,29 @@ +Add Risc-V 64 bit to config.guess +https://code.videolan.org/videolan/x264/-/merge_requests/121 + +From 941cae6d1d6d6344c9a1d27440eaf2872b18ca9a Mon Sep 17 00:00:00 2001 +From: Roger Hardiman +Date: Fri, 18 Nov 2022 20:15:40 +0000 +Subject: [PATCH] Add Risc-V 64 bit + +--- + config.guess | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/config.guess b/config.guess +index d437be00..14c12963 100755 +--- a/config.guess ++++ b/config.guess +@@ -985,6 +985,9 @@ EOF + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; ++ riscv64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-gnu ++ exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; +-- +GitLab + diff --git a/easybuild/easyconfigs/x/x264/x264-20240513-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/x264/x264-20240513-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a2a4cccf421 --- /dev/null +++ b/easybuild/easyconfigs/x/x264/x264-20240513-GCCcore-13.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'x264' +version = '20240513' + +homepage = 'https://www.videolan.org/developers/x264.html' +description = """ + x264 is a free software library and application for encoding video streams + into the H.264/MPEG-4 AVC compression format, and is released under the + terms of the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://code.videolan.org/videolan/%(name)s/-/archive/31e19f92/'] +sources = [{'download_filename': '%(name)s-4613ac3c.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['cf7e66bd0a75f3baba3502b58c80ee388b3d80a9a01be806337dd2214b8a290e'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), + ('NASM', '2.16.03'), +] + +configopts = " --enable-shared --enable-static --disable-bashcompletion" + + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x264_config.h', 'include/%(name)s.h', 'lib/libx264.a', 'lib/libx264.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-10.3.0.eb index 9495f86059e..e4954e8ef8c 100644 --- a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-10.3.0.eb @@ -25,6 +25,8 @@ builddependencies = [ start_dir = 'source' +configopts = '-DGIT_ARCHETYPE=1' + sanity_check_paths = { 'files': ['bin/x265', 'include/x265_config.h', 'include/x265.h', 'lib/libx265.a', 'lib/libx265.%s' % SHLIB_EXT], 'dirs': [], diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e053931ce57 --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' + +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), + ('Yasm', '1.3.0'), +] + +start_dir = 'source' + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +sanity_check_paths = { + 'files': ['bin/x265', 'include/x265_config.h', 'include/x265.h', 'lib/libx265.a', 'lib/libx265.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..1544a97d4b6 --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-11.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..d31e45da477 --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..4bd77d7f07e --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-12.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1466e0c5f3c --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.5-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.5' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8'] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/x265/x265-3.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/x265/x265-3.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..fc9ad81c0cb --- /dev/null +++ b/easybuild/easyconfigs/x/x265/x265-3.6-GCCcore-13.3.0.eb @@ -0,0 +1,34 @@ +easyblock = 'CMakeMake' + +name = 'x265' +version = '3.6' + +homepage = 'https://x265.org/' +description = """ + x265 is a free software library and application for encoding video streams + into the H.265 AVC compression format, and is released under the terms of + the GNU GPL. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://bitbucket.org/multicoreware/x265_git/downloads/'] +sources = ['%(name)s_%(version)s.tar.gz'] +checksums = ['663531f341c5389f460d730e62e10a4fcca3428ca2ca109693867bc5fe2e2807'] + +builddependencies = [ + ('binutils', '2.42'), + ('CMake', '3.29.3'), + ('Yasm', '1.3.0'), +] + +configopts = '-DGIT_ARCHETYPE=1 -DENABLE_PIC=ON' + +start_dir = 'source' + +sanity_check_paths = { + 'files': ['bin/%(name)s', 'include/x265_config.h', 'include/%(name)s.h', 'lib/libx265.a', 'lib/libx265.so'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xESMF/xESMF-0.3.0-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/x/xESMF/xESMF-0.3.0-foss-2020a-Python-3.8.2.eb new file mode 100644 index 00000000000..6629bc3cca2 --- /dev/null +++ b/easybuild/easyconfigs/x/xESMF/xESMF-0.3.0-foss-2020a-Python-3.8.2.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonPackage' + +name = 'xESMF' +version = '0.3.0' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://xesmf.readthedocs.io' +description = "xESMF: Universal Regridder for Geospatial Data" + +toolchain = {'name': 'foss', 'version': '2020a'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['66b6deb37f43749df06819fc2003bbd394207617cf7d8fd9dafe655d7af7b94c'] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', versionsuffix), # for numpy, scipy + ('ESMPy', '8.0.1', versionsuffix), + ('xarray', '0.16.1', versionsuffix), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/x/xarray/xarray-0.16.2-foss-2020b.eb b/easybuild/easyconfigs/x/xarray/xarray-0.16.2-foss-2020b.eb new file mode 100644 index 00000000000..e3caa965c46 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-0.16.2-foss-2020b.eb @@ -0,0 +1,26 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '0.16.2' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2020b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['38e8439d6c91bcd5b7c0fca349daf8e0643ac68850c987262d53526e9d7d01e4'] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-0.19.0-foss-2021a.eb b/easybuild/easyconfigs/x/xarray/xarray-0.19.0-foss-2021a.eb new file mode 100644 index 00000000000..e31f5604cf3 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-0.19.0-foss-2021a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '0.19.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['3a365ce09127fc841ba88baa63f37ca61376ffe389a6c5e66d52f2c88c23a62b'] + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-0.20.1-foss-2021b.eb b/easybuild/easyconfigs/x/xarray/xarray-0.20.1-foss-2021b.eb new file mode 100644 index 00000000000..873aeb34d06 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-0.20.1-foss-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '0.20.1' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9c0bffd8b55fdef277f8f6c817153eb51fa4e58653a7ad92eaed9984164b7bdb'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-0.20.1-intel-2021b.eb b/easybuild/easyconfigs/x/xarray/xarray-0.20.1-intel-2021b.eb new file mode 100644 index 00000000000..ff076effdda --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-0.20.1-intel-2021b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '0.20.1' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'intel', 'version': '2021b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['9c0bffd8b55fdef277f8f6c817153eb51fa4e58653a7ad92eaed9984164b7bdb'] + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb new file mode 100644 index 00000000000..6b557c9ef71 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-foss-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '2022.6.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1028d198493f66bb15bd35dcfdd11defd831cbee3af6589fff16f41bddd67e84'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb new file mode 100644 index 00000000000..a0756e083cc --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.6.0-intel-2022a.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'xarray' +version = '2022.6.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'intel', 'version': '2022a'} + +sources = [SOURCE_TAR_GZ] +checksums = ['1028d198493f66bb15bd35dcfdd11defd831cbee3af6589fff16f41bddd67e84'] + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), # required for numpy, pandas +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb b/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb new file mode 100644 index 00000000000..5d3d2e2cf28 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2022.9.0-foss-2022a.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'xarray' +version = '2022.9.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['a2a5b48ec0a3890b71ef48853fe9d5107d2f75452722f319cb8ed6ff8e72e883'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2023.4.2-gfbf-2022b.eb b/easybuild/easyconfigs/x/xarray/xarray-2023.4.2-gfbf-2022b.eb new file mode 100644 index 00000000000..a8020c97ff4 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2023.4.2-gfbf-2022b.eb @@ -0,0 +1,27 @@ +easyblock = 'PythonBundle' + +name = 'xarray' +version = '2023.4.2' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['958ec588220352343b910cbc05e54e7ab54d4e8c1c3a7783d6bfe7549d0bd0d2'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2023.9.0-gfbf-2023a.eb b/easybuild/easyconfigs/x/xarray/xarray-2023.9.0-gfbf-2023a.eb new file mode 100644 index 00000000000..fefb271482f --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2023.9.0-gfbf-2023a.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'xarray' +version = '2023.9.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'checksums': ['271955c05dc626dad37791a7807d920aaf9c64cac71d03b45ec7e402cc646603'], + 'preinstallopts': """sed -i 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """, + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xarray/xarray-2024.5.0-gfbf-2023b.eb b/easybuild/easyconfigs/x/xarray/xarray-2024.5.0-gfbf-2023b.eb new file mode 100644 index 00000000000..09e90322293 --- /dev/null +++ b/easybuild/easyconfigs/x/xarray/xarray-2024.5.0-gfbf-2023b.eb @@ -0,0 +1,28 @@ +easyblock = 'PythonBundle' + +name = 'xarray' +version = '2024.5.0' + +homepage = 'https://github.com/pydata/xarray' +description = """xarray (formerly xray) is an open source project and Python package that aims to bring + the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the + core pandas data structures.""" + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +dependencies = [ + ('Python', '3.11.5'), + ('SciPy-bundle', '2023.11'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'preinstallopts': """sed -i 's/^dynamic = .*version.*/version = "%(version)s"/g' pyproject.toml && """, + 'checksums': ['e0eb1cb265f265126795f388ed9591f3c752f2aca491f6c0576711fd15b708f2'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xclip/xclip-0.13-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xclip/xclip-0.13-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..39d331fbed4 --- /dev/null +++ b/easybuild/easyconfigs/x/xclip/xclip-0.13-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xclip' +version = '0.13' + +homepage = 'https://github.com/astrand/xclip' +description = """xclip is a command line utility that is designed to run on any system with an X11 implementation.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/astrand/xclip/archive/refs/tags/'] +sources = ['%(version)s.tar.gz'] +checksums = ['ca5b8804e3c910a66423a882d79bf3c9450b875ac8528791fb60ec9de667f758'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +dependencies = [('X11', '20220504')] + +preconfigopts = "autoreconf -f -i && " + +sanity_check_paths = { + 'files': ['bin/xclip-%s' % local_util for local_util in ['copyfile', 'cutfile', 'pastefile']], + 'dirs': ['share'] +} + +sanity_check_commands = ['xclip -version'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xdotool/xdotool-3.20211022.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xdotool/xdotool-3.20211022.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88997adfa1d --- /dev/null +++ b/easybuild/easyconfigs/x/xdotool/xdotool-3.20211022.1-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xdotool' +version = '3.20211022.1' + +homepage = 'https://github.com/jordansissel/xdotool' +description = """xdotool lets you simulate keyboard input and mouse activity, move and resize windows, etc. + It does this using X11’s XTEST extension and other Xlib functions. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/jordansissel/xdotool/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['82b15a944a5e82fee15e0f6116bd9f642bc3d0bb6989fc0ca5ad9dfe35de0847'] + +skipsteps = ['configure'] + +installopts = 'PREFIX=%(installdir)s' + +builddependencies = [('binutils', '2.38')] + +dependencies = [('X11', '20220504')] + +sanity_check_paths = { + 'files': ['bin/xdotool', 'include/xdo.h', 'lib/libxdo.%s' % SHLIB_EXT], + 'dirs': ['man'] +} + +sanity_check_commands = ['xdotool --help'] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb b/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb new file mode 100644 index 00000000000..cf4cebe8ec1 --- /dev/null +++ b/easybuild/easyconfigs/x/xmitgcm/xmitgcm-0.5.2-foss-2022a.eb @@ -0,0 +1,39 @@ +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'PythonBundle' + +name = 'xmitgcm' +version = '0.5.2' + +homepage = 'https://github.com/MITgcm/xmitgcm' +description = """xmitgcm is a python package for reading MITgcm binary +MDS files into xarray data structures. By storing data in dask arrays, +xmitgcm enables parallel, out-of-core analysis of MITgcm output data.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('MITgcmutils', '0.1.2'), + ('dask', '2022.10.0'), + ('xarray', '2022.6.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('cachetools', '5.2.0', { + 'checksums': ['6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757'], + }), + (name, version, { + 'checksums': ['7dda45fdf6182a859f5c441cd5928a7c99d41c8bcea9fccf471b7011791b1131'], + }), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.2.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.2.0.eb new file mode 100644 index 00000000000..100e2c26968 --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.2.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +toolchain = {'name': 'GCC', 'version': '10.2.0'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.3.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.3.0.eb new file mode 100644 index 00000000000..a27a593795b --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-10.3.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +toolchain = {'name': 'GCC', 'version': '10.3.0'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-11.2.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-11.2.0.eb new file mode 100644 index 00000000000..0d31420417a --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-GCC-11.2.0.eb @@ -0,0 +1,20 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb new file mode 100644 index 00000000000..1e938b9be2c --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-iccifort-2020.4.304.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +# can't move down to GCCcore and combine with Intel, gfortran modules are incompatible with ifort +toolchain = {'name': 'iccifort', 'version': '2020.4.304'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.2.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.2.0.eb new file mode 100644 index 00000000000..ef1e39cc508 --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.2.0.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +# can't move down to GCCcore and combine with Intel, gfortran modules are incompatible with ifort +toolchain = {'name': 'intel-compilers', 'version': '2021.2.0'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.4.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.4.0.eb new file mode 100644 index 00000000000..a415a9bb828 --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.4-intel-compilers-2021.4.0.eb @@ -0,0 +1,21 @@ +easyblock = 'ConfigureMake' + +name = 'xmlf90' +version = '1.5.4' + +homepage = 'https://launchpad.net/xmlf90' +description = """xmlf90 is a basic XML parsing library written in Fortran.""" + +# can't move down to GCCcore and combine with Intel, gfortran modules are incompatible with ifort +toolchain = {'name': 'intel-compilers', 'version': '2021.4.0'} + +source_urls = ['https://launchpad.net/xmlf90/trunk/%(version_major_minor)s/+download/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a0b1324ff224d5b5ad1127a6ad4f90979f6b127f1a517f98253eea377237bbe4'] + +sanity_check_paths = { + 'files': ['include/xmlf90_%s.mod' % x for x in ['cml', 'dom', 'sax', 'wxml', 'xpath']] + ['lib/libxmlf90.a'], + 'dirs': ['share/org.siesta-project'], +} + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.6-GCC-11.3.0.eb b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.6-GCC-11.3.0.eb new file mode 100644 index 00000000000..262cfb87e36 --- /dev/null +++ b/easybuild/easyconfigs/x/xmlf90/xmlf90-1.5.6-GCC-11.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'CMakeMake' + +name = 'xmlf90' +version = '1.5.6' + +homepage = 'https://gitlab.com/siesta-project/libraries/xmlf90' +description = """A fast XML parser and generator in Fortran""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} + +source_urls = ['https://gitlab.com/siesta-project/libraries/xmlf90/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c4492596c911b668b94fee40a53453f06aef3bc41014b9e2f4b51e640ad20528'] + +builddependencies = [ + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['lib/libxmlf90.a'], + 'dirs': ['include', 'lib/pkgconfig', 'lib/cmake/xmlf90'], +} + +runtest = 'test' + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.1-GCCcore-6.3.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.1-GCCcore-6.3.0.eb index 5ffb3e6b974..fe9d080b2b4 100755 --- a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.1-GCCcore-6.3.0.eb +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.1-GCCcore-6.3.0.eb @@ -24,7 +24,7 @@ checksums = ['0bb70872f45d9973db645123fe9fae9c587d1cc0ad1b3bfa67864c3f99adbd2a'] builddependencies = [ # use same binutils version that was used when building GCC toolchain - ('binutils', '2.27', '', True), + ('binutils', '2.27', '', SYSTEM), ('Autotools', '20150215'), ] diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..88c72ddb8b7 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.3' + +homepage = 'https://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['8205d210a580da0938f5ce4392a96b60cf1d9a5f792eaa1474fa4c1977aef4d0'] + +builddependencies = [ + ('binutils', '2.37'), + ('Autotools', '20210726'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5858842fac2 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-11.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.3' + +homepage = 'https://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['8205d210a580da0938f5ce4392a96b60cf1d9a5f792eaa1474fa4c1977aef4d0'] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..23dad904c35 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.19.3' + +homepage = 'https://cgit.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['8205d210a580da0938f5ce4392a96b60cf1d9a5f792eaa1474fa4c1977aef4d0'] + +builddependencies = [ + ('binutils', '2.39'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0354254573f --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.20.0' + +homepage = 'https://gitlab.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['efd8eefab568981e47dd64d3e9b5ee2b7165a30d4feca105770f249f9b59979c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..14bbf928bbc --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.20.0' + +homepage = 'https://gitlab.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['efd8eefab568981e47dd64d3e9b5ee2b7165a30d4feca105770f249f9b59979c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..9d1905e4d33 --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.1-GCCcore-13.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.20.1' + +homepage = 'https://gitlab.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['95c4331a2a7f4882374b9bbc845e522a4f1c77d95f495176300bf91d905c9b60'] + +builddependencies = [ + ('binutils', '2.42'), + ('Autotools', '20231222'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' 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/xprop/xprop-1.2.5-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6681455aa1d --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-11.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.5' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('X11', '20210802'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2d806a829fc --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-11.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.5' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('X11', '20220504'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..24aa969ebcc --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.5-GCCcore-12.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.5' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('X11', '20221110'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..beb0c5358fd --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.6-GCCcore-12.3.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.6' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['58ee5ee0c47fa454d3b16312e778c3f549605a8ad0fd0daafc70d2d6174b116d'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] + +dependencies = [ + ('X11', '20230603'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..463d1606214 --- /dev/null +++ b/easybuild/easyconfigs/x/xprop/xprop-1.2.7-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'xprop' +version = '1.2.7' + +homepage = "https://www.x.org/wiki/" +description = """The xprop utility is for displaying window and font properties in an X server. + One window or font is selected using the command line arguments or possibly + in the case of a window, by clicking on the desired window. A list of + properties is then given, possibly with formatting information.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://ftp.x.org/archive/individual/app/'] +sources = [SOURCE_TAR_GZ] +checksums = ['11c06a876b0aa0bfac6cbfe4b3ebe1f5062f8b39b9b1b6c136a8629265f134b6'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('X11', '20231019'), +] + +sanity_check_paths = { + 'files': ['bin/xprop'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..6d58d849344 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.31' + +homepage = 'https://www.freedesktop.org/wiki/Software/xlibs' +description = "X protocol and ancillary headers" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = [XORG_PROTO_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7'] + +builddependencies = [ + ('binutils', '2.37'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', 'Xatom.h', + 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', + 'Xarch.h', 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', + 'Xproto.h', 'Xthreads.h', 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..13e248f42e0 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-11.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.31' + +homepage = 'https://www.freedesktop.org/wiki/Software/xlibs' +description = "X protocol and ancillary headers" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = [XORG_PROTO_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7'] + +builddependencies = [ + ('binutils', '2.38'), + ('xorg-macros', '1.19.3'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', 'Xatom.h', + 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', + 'Xarch.h', 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', + 'Xproto.h', 'Xthreads.h', 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..0cbe506fc70 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-12.3.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.31' + +homepage = 'https://www.freedesktop.org/wiki/Software/xlibs' +description = "X protocol and ancillary headers" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = [XORG_PROTO_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7'] + +builddependencies = [ + ('binutils', '2.40'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', 'Xatom.h', + 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', + 'Xarch.h', 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', + 'Xproto.h', 'Xthreads.h', 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a1cf4fe28c7 --- /dev/null +++ b/easybuild/easyconfigs/x/xproto/xproto-7.0.31-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +easyblock = 'ConfigureMake' + +name = 'xproto' +version = '7.0.31' + +homepage = 'https://www.freedesktop.org/wiki/Software/xlibs' +description = "X protocol and ancillary headers" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [XORG_PROTO_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6d755eaae27b45c5cc75529a12855fed5de5969b367ed05003944cf901ed43c7'] + +builddependencies = [ + ('binutils', '2.40'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['include/X11/%s' % x for x in ['ap_keysym.h', 'HPkeysym.h', 'keysym.h', 'Xalloca.h', 'Xatom.h', + 'XF86keysym.h', 'Xfuncs.h', 'Xmd.h', 'Xos.h', 'Xpoll.h', 'Xprotostr.h', + 'Xw32defs.h', 'Xwindows.h', 'DECkeysym.h', 'keysymdef.h', 'Sunkeysym.h', + 'Xarch.h', 'Xdefs.h', 'Xfuncproto.h', 'X.h', 'Xosdefs.h', 'Xos_r.h', + 'Xproto.h', 'Xthreads.h', 'XWDFile.h', 'Xwinsock.h']], + 'dirs': [] +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xskillscore/xskillscore-0.0.26-foss-2023a.eb b/easybuild/easyconfigs/x/xskillscore/xskillscore-0.0.26-foss-2023a.eb new file mode 100644 index 00000000000..c8454e53dbb --- /dev/null +++ b/easybuild/easyconfigs/x/xskillscore/xskillscore-0.0.26-foss-2023a.eb @@ -0,0 +1,37 @@ +easyblock = "PythonBundle" + +name = 'xskillscore' +version = '0.0.26' + +homepage = 'https://xskillscore.readthedocs.io' +description = """ +xskillscore is an open source project and Python package that provides verification metrics of +deterministic (and probabilistic from properscoring) forecasts with xarray. +""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('dask', '2023.9.2'), + ('SciPy-bundle', '2023.07'), + ('statsmodels', '0.14.1'), + ('xarray', '2023.9.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('properscoring', '0.1', { + 'checksums': ['b0cc4963cc218b728d6c5f77b3259c8f835ae00e32e82678cdf6936049b93961'], + }), + ('xhistogram', '0.3.2', { + 'checksums': ['56b0751e1469eaed81710f644c8ba5c574b51883baa2feee26a95f2f708f91a1'], + }), + (name, version, { + 'checksums': ['780a424c1ab3eedf526a45ba8e6cf6dca61b17339252115a4e25ea8c5833ada5'], + }), +] + +moduleclass = 'geo' diff --git a/easybuild/easyconfigs/x/xtb-IFF/xtb-IFF-1.1.eb b/easybuild/easyconfigs/x/xtb-IFF/xtb-IFF-1.1.eb new file mode 100644 index 00000000000..ca25542f582 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb-IFF/xtb-IFF-1.1.eb @@ -0,0 +1,26 @@ +easyblock = 'Tarball' + +name = 'xtb-IFF' +version = '1.1' + +homepage = 'https://github.com/grimme-lab/xtbiff' +description = """ +General Intermolecular Force Field based on Tight-Binding Quantum Chemical Calculations. +""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/grimme-lab/xtbiff/releases/download/v1.1'] +sources = ['xtbiff.tar.xz'] +checksums = ['6d5dee10ba39ecb1e26374b7bf82e2364d8ebed5b6f35cdce4ced73245c296f5'] + +sanity_check_paths = { + 'files': ['xtbiff'], + 'dirs': [], +} + +sanity_check_commands = ["xtbiff --help"] + +modextrapaths = {'PATH': ''} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.2.3-foss-2019b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.2.3-foss-2019b.eb index 01d4d8a2773..978dc4fd344 100644 --- a/easybuild/easyconfigs/x/xtb/xtb-6.2.3-foss-2019b.eb +++ b/easybuild/easyconfigs/x/xtb/xtb-6.2.3-foss-2019b.eb @@ -14,7 +14,7 @@ checksums = ['620dfb93aa07fd5144d25134613a5d7f4c1fa4fb5070c30768a6335c8c0b4187'] github_account = 'grimme-lab' builddependencies = [ - ('Meson', '0.51.2', '-Python-3.7.4'), + ('Meson', '0.59.1', '-Python-3.7.4'), ('Ninja', '1.9.0'), ] diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.4.1-foss-2021b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.4.1-foss-2021b.eb new file mode 100644 index 00000000000..6df7e85ba2d --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.4.1-foss-2021b.eb @@ -0,0 +1,40 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.4.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['cd7b6ec9b7963012ce71220a70773641f0d9e06e0691750a25b83e823510d1d7'] + +github_account = 'grimme-lab' +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), +] + +configopts = "-Dla_backend='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.4.1-intel-2021a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.4.1-intel-2021a.eb new file mode 100644 index 00000000000..f9f9e4a8212 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.4.1-intel-2021a.eb @@ -0,0 +1,41 @@ +# Author: Jasper Grimm (UoY) + +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.4.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = "Semiempirical Extended Tight-Binding Program Package." + +toolchain = {'name': 'intel', 'version': '2021a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['cd7b6ec9b7963012ce71220a70773641f0d9e06e0691750a25b83e823510d1d7'] + +builddependencies = [ + ('Meson', '0.58.0'), + ('Ninja', '1.10.2'), + ('pkg-config', '0.29.2'), +] + +configopts = "-Dla_backend='mkl-rt' --buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb/xtb.h'] + ['lib/libxtb.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = ["xtb --help"] + +modextrapaths = { + 'XTBHOME': '', + 'XTBPATH': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb new file mode 100644 index 00000000000..69bff689c4e --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.5.0-foss-2021b.eb @@ -0,0 +1,47 @@ +# Author: Jasper Grimm (UoY) +# Updated to 6.5.0 and moved to foss-toolchain +# Based on xtb-6.4.1-intel-2021a.eb and PR 15187 +# Author: J. Sassmannshausen (Imperial College London/UK) + +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.5.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = "Semiempirical Extended Tight-Binding Program Package." + +toolchain = {'name': 'foss', 'version': '2021b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0b39f6e87ce07abcb0884cda5d3370601b6332ad72c8213e87ffa74ae28895fb'] + +builddependencies = [ + ('Meson', '0.58.2'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "-Dla_backend='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +# Ensure test don't timeout and only use one process: +testopts = 'test -C %(builddir)s/easybuild_obj -t 60 --num-processes=1' + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['bin', 'include', 'lib', 'share'], +} + +sanity_check_commands = ["xtb --help"] + +modextrapaths = { + 'XTBHOME': '', + 'XTBPATH': '', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb new file mode 100644 index 00000000000..18c4c379b8a --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.5.1-foss-2022a.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.5.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['8e5840469f9ef2c01ad5cb620481310ace62a7563c5d43375eb3d36463fc3add'] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "-Dla_backend='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a.eb new file mode 100644 index 00000000000..9fad4ae5452 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a.eb @@ -0,0 +1,49 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.6.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'foss', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] + +patches = ['xtb-6.6.0-foss-2022a_fix-custom-libraries.patch'] + +checksums = [ + '1845a9ba71c7bdb414e14ef3dad676728c31a2a94b26303551da57704c78a3e3', # v6.6.0.tar.gz + # xtb-6.6.0-foss-2022a_fix-custom-libraries.patch + '4e2e21b13a8d71b6b5d29c586fb28423a0f9a9ad518ebdca18cf0fa0cf27bc6e', +] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a_fix-custom-libraries.patch b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a_fix-custom-libraries.patch new file mode 100644 index 00000000000..f2e22bd99f6 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-foss-2022a_fix-custom-libraries.patch @@ -0,0 +1,26 @@ +From 2d82c0d639e77c12408244d1d0308dc322058b9c Mon Sep 17 00:00:00 2001 +From: Susi Lehtola +Date: Sat, 15 Apr 2023 19:10:19 +0300 +Subject: [PATCH] Restore support for custom lapack backend (#785) + +Signed-off-by: Susi Lehtola +--- + meson/meson.build | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/meson/meson.build b/meson/meson.build +index 16bba9983..7c3192780 100644 +--- a/meson/meson.build ++++ b/meson/meson.build +@@ -146,6 +146,11 @@ elif lapack_vendor == 'openblas' + lib_deps += lapack_dep + endif + ++elif lapack_vendor == 'custom' ++ foreach lib: get_option('custom_libraries') ++ lib_deps += fc.find_library(lib) ++ endforeach ++ + else + lapack_dep = dependency('lapack', required: false) + if not lapack_dep.found() diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.0-intel-2022a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-intel-2022a.eb new file mode 100644 index 00000000000..9b68c99495d --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.0-intel-2022a.eb @@ -0,0 +1,46 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.6.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'intel', 'version': '2022a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] + +patches = ['xtb-6.6.0-foss-2022a_fix-custom-libraries.patch'] + +checksums = [ + '1845a9ba71c7bdb414e14ef3dad676728c31a2a94b26303551da57704c78a3e3', # v6.6.0.tar.gz + # xtb-6.6.0-foss-2022a_fix-custom-libraries.patch + '4e2e21b13a8d71b6b5d29c586fb28423a0f9a9ad518ebdca18cf0fa0cf27bc6e', +] + +builddependencies = [ + ('Meson', '0.62.1'), + ('Ninja', '1.10.2'), + ('pkgconf', '1.8.0'), +] + +configopts = "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj --num-processes 1 -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb new file mode 100644 index 00000000000..7d54b0b36b1 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2022b.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.6.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2022b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['df9a9fbcbf685a94ba6e1a97a6fe6a8530227ea380a1507cb758e72907542dfe'] + +builddependencies = [ + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb new file mode 100644 index 00000000000..7b92e5920d5 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.6.1-gfbf-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.6.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +checksums = ['df9a9fbcbf685a94ba6e1a97a6fe6a8530227ea380a1507cb758e72907542dfe'] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb new file mode 100644 index 00000000000..81ee768fed0 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.0-gfbf-2023a.eb @@ -0,0 +1,48 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.7.0' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'xtb-6.7.0_fix-tblite-pr1072.patch' +] +checksums = [ + {'xtb-6.7.0.tar.gz': '9cf1997064d2d5bde7fae4cec6f873469602e6554872ad79de4079f022855ae2'}, + {'xtb-6.7.0_fix-tblite-pr1072.patch': 'cb8de869fc4a7c6bde44c61a479fc9edb3ccdc47c2a71f15ef124326f8a117e6'}, +] + +builddependencies = [ + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.5'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +pretestopts = 'export OMP_NUM_THREADS=2 && ' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.0_fix-tblite-pr1072.patch b/easybuild/easyconfigs/x/xtb/xtb-6.7.0_fix-tblite-pr1072.patch new file mode 100644 index 00000000000..74e2ea4950e --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.0_fix-tblite-pr1072.patch @@ -0,0 +1,487 @@ +see https://github.com/grimme-lab/xtb/pull/1072 + https://github.com/grimme-lab/xtb/issues/1091 +diff -Naur xtb-6.7.0.orig/src/dipro/xtb.F90 xtb-6.7.0/src/dipro/xtb.F90 +--- xtb-6.7.0.orig/src/dipro/xtb.F90 2024-08-23 13:50:09.000345982 +0200 ++++ xtb-6.7.0/src/dipro/xtb.F90 2024-08-23 14:14:49.499145489 +0200 +@@ -50,11 +50,11 @@ + call fatal_error(error, "Unknown method '"//method//"' requested") + ! error stop + case("gfn2") +- call new_gfn2_calculator(xcalc, mol) ++ call new_gfn2_calculator(xcalc, mol, error) + case("gfn1") +- call new_gfn1_calculator(xcalc, mol) ++ call new_gfn1_calculator(xcalc, mol, error) + case("ipea1") +- call new_ipea1_calculator(xcalc, mol) ++ call new_ipea1_calculator(xcalc, mol, error) + end select + end subroutine get_calculator + #endif +diff -Naur xtb-6.7.0.orig/src/dipro.F90 xtb-6.7.0/src/dipro.F90 +--- xtb-6.7.0.orig/src/dipro.F90 2024-08-23 13:50:08.996896000 +0200 ++++ xtb-6.7.0/src/dipro.F90 2024-08-23 13:55:44.571958738 +0200 +@@ -130,6 +130,10 @@ + !=========================set up calculator=========================================== + + call get_calculator(xcalc, struc, tblite%method, error) ++ if (allocated(error)) then ++ call env%error(error%message, source) ++ return ++ end if + call new_wavefunction(wfn, struc%nat, xcalc%bas%nsh, xcalc%bas%nao, & + & 1, set%etemp * ktoau) + wfn%nspin=1 +@@ -258,6 +262,10 @@ + write(*,'(A,I2)') "unpaired e- of fragment : ", mfrag(ifr)%uhf + + call get_calculator(fcalc(ifr), mfrag(ifr), tblite%method, error) ++ if (allocated(error)) then ++ call env%error(error%message, source) ++ return ++ end if + !> mol%charge is updated automatically from wfn by tblite library + call new_wavefunction(wfx(ifr), mfrag(ifr)%nat, fcalc(ifr)%bas%nsh, fcalc(ifr)%bas%nao, & + & 1, set%etemp * ktoau) +diff -Naur xtb-6.7.0.orig/src/tblite/calculator.F90 xtb-6.7.0/src/tblite/calculator.F90 +--- xtb-6.7.0.orig/src/tblite/calculator.F90 2024-08-23 13:50:09.192101000 +0200 ++++ xtb-6.7.0/src/tblite/calculator.F90 2024-08-23 14:18:13.034251635 +0200 +@@ -144,11 +144,11 @@ + case default + call fatal_error(error, "Unknown method '"//method//"' requested") + case("gfn2") +- call new_gfn2_calculator(calc%tblite, struc) ++ call new_gfn2_calculator(calc%tblite, struc, error) + case("gfn1") +- call new_gfn1_calculator(calc%tblite, struc) ++ call new_gfn1_calculator(calc%tblite, struc, error) + case("ipea1") +- call new_ipea1_calculator(calc%tblite, struc) ++ call new_ipea1_calculator(calc%tblite, struc, error) + end select + end if + if (allocated(error)) then +diff -Naur xtb-6.7.0.orig/subprojects/mstore.wrap xtb-6.7.0/subprojects/mstore.wrap +--- xtb-6.7.0.orig/subprojects/mstore.wrap 2024-08-23 13:50:09.235197230 +0200 ++++ xtb-6.7.0/subprojects/mstore.wrap 2024-08-23 14:18:50.314014066 +0200 +@@ -1,4 +1,4 @@ + [wrap-git] + directory = mstore + url = https://github.com/grimme-lab/mstore +-revision = v0.2.0 ++revision = v0.3.0 +diff -Naur xtb-6.7.0.orig/test/unit/test_ptb.F90 xtb-6.7.0/test/unit/test_ptb.F90 +--- xtb-6.7.0.orig/test/unit/test_ptb.F90 2024-08-23 13:50:09.260760000 +0200 ++++ xtb-6.7.0/test/unit/test_ptb.F90 2024-08-23 14:34:18.302090669 +0200 +@@ -186,12 +186,37 @@ + !> (Scaled) overlap matrix + character(len=:), allocatable :: message + real(wp), parameter :: overlap_exp(6) = [ & +- & 0.93209460_wp, & ! 1,2 +- & 0.35489609_wp, & ! 1,3 +- & 0.65682608_wp, & ! 2,3 +- & 0.05627743_wp, & ! 1,15 +- & -0.14217162_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.41844087_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.93209460_wp, & ! s(Mg)-s(Mg) ++ & 0.35489609_wp, & ! s(Mg)-s(Mg) ++ & 0.65682608_wp, & ! s(Mg)-s(Mg) ++ & 0.05627743_wp, & ! s(Mg)-s(H) ++ & -0.14217162_wp, & ! s(Mg)-pz(H) ++ & 0.41844087_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -215,7 +240,7 @@ + call check_(error, ints%overlap(2, 3), overlap_exp(3), thr=thr) + call check_(error, ints%overlap(1, 15), overlap_exp(4), thr=thr) + call check_(error, ints%overlap(1, 23), overlap_exp(5), thr=thr) +- call check_(error, ints%overlap(12, 22), overlap_exp(6), thr=thr) ++ call check_(error, ints%overlap(11, 22), overlap_exp(6), thr=thr) + + end subroutine test_ptb_overlap + +@@ -249,12 +274,37 @@ + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: overlap_exp(6) = [ & +- & 0.95689468_wp, & ! 1,2 +- & 0.39195790_wp, & ! 1,3 +- & 0.62961212_wp, & ! 2,3 +- & 0.03782850_wp, & ! 1,15 +- &-0.13826216_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.43334922_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.95689468_wp, & ! s(Mg)-s(Mg) ++ & 0.39195790_wp, & ! s(Mg)-s(Mg) ++ & 0.62961212_wp, & ! s(Mg)-s(Mg) ++ & 0.03782850_wp, & ! s(Mg)-s(H) ++ &-0.13826216_wp, & ! s(Mg)-pz(H) ++ & 0.43334922_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -286,7 +336,7 @@ + & message=message) + call check_(error, auxints%overlap_h0_1(1, 23), overlap_exp(5), thr=thr, & + & message=message) +- call check_(error, auxints%overlap_h0_1(12, 22), overlap_exp(6), thr=thr, & ++ call check_(error, auxints%overlap_h0_1(11, 22), overlap_exp(6), thr=thr, & + & message=message) + + end subroutine test_ptb_overlap_h0 +@@ -319,12 +369,37 @@ + real(wp), allocatable :: overlap_sx(:, :), overlap_oneminusx(:, :) + character(len=:), allocatable :: message + real(wp), parameter :: overlap_oneminusx_exp(6) = [ & +- & 0.70788_wp, & ! 1,2 +- & 0.16203_wp, & ! 1,3 +- & 0.41532_wp, & ! 2,3 +- & 0.01449_wp, & ! 1,15 +- &-0.07203_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.28751_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.70788_wp, & ! s(Mg)-s(Mg) ++ & 0.16203_wp, & ! s(Mg)-s(Mg) ++ & 0.41532_wp, & ! s(Mg)-s(Mg) ++ & 0.01449_wp, & ! s(Mg)-s(H) ++ &-0.07203_wp, & ! s(Mg)-pz(H) ++ & 0.28751_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -356,7 +431,7 @@ + & message=message) + call check_(error, overlap_oneminusx(1, 23), overlap_oneminusx_exp(5), thr=thr2, & + & message=message) +- call check_(error, overlap_oneminusx(12, 22), overlap_oneminusx_exp(6), thr=thr2, & ++ call check_(error, overlap_oneminusx(11, 22), overlap_oneminusx_exp(6), thr=thr2, & + & message=message) + + end subroutine test_ptb_overlap_SX +@@ -392,10 +467,37 @@ + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: vecp_ref(4) = [ & +- & 0.077719_wp, & ! 1,1 ; diffferent because of tblite ordering +- & -0.059122_wp, & ! 1,3 ; diffferent because of tblite ordering +- & 0.052775_wp, & ! 3,5 ; diffferent because of tblite ordering +- & 0.117176_wp] ! 9,9 ; diffferent because of tblite ordering ++ & 0.077719_wp, & ! s(B)-s(B) ++ & -0.059122_wp, & ! s(B)-px(B) ++ & 0.052775_wp, & ! px(B)-px(B) ++ & 0.117176_wp] ! dx2-y2(B)-dx2-y2(B) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: xyz(3, 2) = reshape([ & + & 2.0_wp, 0.0_wp, 0.0_wp, & + & 0.0_wp, 0.0_wp, 0.0_wp], [3, 2]) +@@ -434,7 +536,7 @@ + & message=message) + call check_(error, vecp(5, 8), vecp_ref(3), thr=thr2, & + & message=message) +- call check_(error, vecp(12, 12), vecp_ref(4), thr=thr2, & ++ call check_(error, vecp(13, 13), vecp_ref(4), thr=thr2, & + & message=message) + end subroutine test_ptb_V_ECP + +@@ -629,12 +731,39 @@ + real(wp), allocatable :: vecp(:, :) + + real(wp), parameter :: h0_ref(6) = [ & +- & -1.59330281_wp, & ! 1,1 +- & -2.24996207_wp, & ! 1,2 +- & 0.34974782_wp, & ! 1,23 ; diffferent because of tblite ordering +- & 0.0_wp, & ! 7,11 ; different because of tblite ordering +- & -1.17757007_wp, & ! 3,6 ; different because of tblite ordering +- & 0.48301561_wp] ! 11,24 ; diffferent because of tblite ordering ++ & -1.59330281_wp, & ! s(B)-s(B) ++ & -2.24996207_wp, & ! s(B)-s(B) ++ & 0.34974782_wp, & ! s(B)-py(Cl) ++ & 0.0_wp, & ! dx2-y2(B)-py(B) ++ & -1.17757007_wp, & ! px(B)-px(B) ++ & 0.48301561_wp] ! dxy(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: levels(10) = [ & + & -0.796651404_wp, & + & -0.269771638_wp, & +@@ -670,10 +799,10 @@ + message = "H0 matrix element not matching to expected value." + call check_(error, ints%hamiltonian(1, 1), h0_ref(1), thr=thr) + call check_(error, ints%hamiltonian(1, 2), h0_ref(2), thr=thr) +- call check_(error, ints%hamiltonian(1, 22), h0_ref(3), thr=thr) ++ call check_(error, ints%hamiltonian(1, 24), h0_ref(3), thr=thr) + call check_(error, ints%hamiltonian(13, 6), h0_ref(4), thr=thr) + call check_(error, ints%hamiltonian(8, 5), h0_ref(5), thr=thr) +- call check_(error, ints%hamiltonian(13, 26), h0_ref(6), thr=thr) ++ call check_(error, ints%hamiltonian(9, 22), h0_ref(6), thr=thr) + end subroutine test_ptb_hamiltonian_h0 + + subroutine test_ptb_V_XC(error) +@@ -708,10 +837,37 @@ + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: Vxc_ref(4) = [ & +- & -0.92793357_wp, & ! 1,1 +- & -0.85981333_wp, & ! 1,2 +- & 0.06632750_wp, & ! 1,23 ; diffferent because of tblite ordering +- & 0.00151880_wp] ! 11,24 ; diffferent because of tblite ordering ++ & -0.92793357_wp, & ! s(B)-s(B) ++ & -0.85981333_wp, & ! s(B)-s(B) ++ & 0.06632750_wp, & ! s(B)-dz2(Cl) ++ & 0.00151880_wp] ! dxy(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: xyz(3, 2) = reshape([ & + & 2.0_wp, 0.0_wp, 0.0_wp, & + & 0.0_wp, 0.0_wp, 0.0_wp], [3, 2]) +@@ -769,9 +925,9 @@ + & message=message) + call check_(error, Vxc(1, 2), Vxc_ref(2), thr=thr, & + & message=message) +- call check_(error, Vxc(1, 22), Vxc_ref(3), thr=thr, & ++ call check_(error, Vxc(1, 24), Vxc_ref(3), thr=thr, & + & message=message) +- call check_(error, Vxc(13, 26), Vxc_ref(4), thr=thr, & ++ call check_(error, Vxc(9, 22), Vxc_ref(4), thr=thr, & + & message=message) + + end subroutine test_ptb_V_XC +@@ -957,10 +1113,35 @@ + !> Conversion factor from temperature to energy + real(wp), parameter :: kt = 3.166808578545117e-06_wp + real(wp), parameter :: coulomb_pot_ref(4) = [ & +- & -0.05693153_wp, & ! 1,1 +- & -0.33917531_wp, & ! 1,2 +- & -0.00539212_wp, & ! 1,21 ; diffferent because of tblite ordering +- & 0.01305793_wp] ! 6,24 ; diffferent because of tblite ordering ++ & -0.05693153_wp, & ! s(Mg)-s(Mg) ++ & -0.33917531_wp, & ! s(Mg)-s(Mg) ++ & -0.00539212_wp, & ! s(Mg)-s(H) ++ & 0.01305793_wp] ! pz(Mg)-pz(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -1044,10 +1225,36 @@ + integer, parameter :: nat = 2 + integer, parameter :: at(nat) = [5, 17] + real(wp), parameter :: plusU_pot_ref(4) = [ & +- & -0.0023185_wp, & ! 1,1 +- & -0.0018289_wp, & ! 1,2 +- & -0.5266562_wp, & ! 1,21 ; diffferent because of tblite ordering +- & -1.6745659_wp] ! 6,24 ; diffferent because of tblite ordering ++ & -0.0023185_wp, & ! s(B)-s(B) ++ & -0.0018289_wp, & ! s(B)-s(B) ++ & -0.5266562_wp, & ! s(B)-pz(Cl) ++ & -1.6745659_wp] ! px(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) + + call new(mol, at, xyz) + allocate (ptbData) +@@ -1067,7 +1274,7 @@ + call check_(error, wfn%coeff(1, 1, 1), plusU_pot_ref(1), thr=thr) + call check_(error, wfn%coeff(1, 2, 1), plusU_pot_ref(2), thr=thr) + call check_(error, wfn%coeff(1, 20, 1), plusU_pot_ref(3), thr=thr) +- call check_(error, wfn%coeff(8, 26, 1), plusU_pot_ref(4), thr=thr) ++ call check_(error, wfn%coeff(8, 22, 1), plusU_pot_ref(4), thr=thr) + + end subroutine test_ptb_plus_U_potential + diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.1-gfbf-2023b.eb b/easybuild/easyconfigs/x/xtb/xtb-6.7.1-gfbf-2023b.eb new file mode 100644 index 00000000000..09d459d356b --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.1-gfbf-2023b.eb @@ -0,0 +1,50 @@ +easyblock = 'MesonNinja' + +name = 'xtb' +version = '6.7.1' + +homepage = 'https://xtb-docs.readthedocs.io' +description = """ xtb - An extended tight-binding semi-empirical program package. """ + +toolchain = {'name': 'gfbf', 'version': '2023b'} + +github_account = 'grimme-lab' +source_urls = [GITHUB_LOWER_SOURCE] +sources = [{'download_filename': 'v%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}] +patches = [ + 'xtb-6.7.1_fix-tblite-pr1072.patch', + 'xtb-6.7.1_fix-dftd4-test.patch', +] +checksums = [ + {'xtb-6.7.1.tar.gz': '52506a689147cdb4695bf1c666158b6d6d6b31726fecaa5bf53af7f4e3f3d20d'}, + {'xtb-6.7.1_fix-tblite-pr1072.patch': '1f10fef3e94c29926b1f632acc94c3ec92be861ee5c5139104194172726ffe68'}, + {'xtb-6.7.1_fix-dftd4-test.patch': '340e7d5cbc6bbaf0c53d4d292f3624cd67455b7a817818fe2cc8d26f5c34864b'}, +] + +builddependencies = [ + ('Meson', '1.2.3'), + ('Ninja', '1.11.1'), + ('pkgconf', '2.0.3'), +] + +configopts = "-Dlapack='custom' " +configopts += "-Dcustom_libraries='flexiblas' " +configopts += "--buildtype release " + +runtest = 'meson' +pretestopts = 'export OMP_NUM_THREADS=2 && ' +testopts = 'test -C %(builddir)s/easybuild_obj -t 60' # Ensure test don't timeout + +sanity_check_paths = { + 'files': ['bin/xtb', 'include/xtb.h'] + ['lib/libxtb.%s' % e for e in ('a', SHLIB_EXT)], + 'dirs': ['share'], +} + +sanity_check_commands = ["xtb --help"] + +modextravars = { + 'XTBHOME': '%(installdir)s', + 'XTBPATH': '%(installdir)s', +} + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-dftd4-test.patch b/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-dftd4-test.patch new file mode 100644 index 00000000000..0405b372a8a --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-dftd4-test.patch @@ -0,0 +1,20 @@ +fix for failing xtb test: + 72/148 dftd4 / param FAIL 1.85s exit status 1 + +from meson-logs/testlog.txt: +# Testing: param + Starting rational-damping ... (1/1) + ... rational-damping [FAILED] + Message: Condition not fullfilled + +see https://github.com/grimme-lab/xtb/pull/1085 +diff --git a/subprojects/dftd4.wrap b/subprojects/dftd4.wrap +index 46dc07ad9..e3e93f459 100644 +--- a/subprojects/dftd4.wrap ++++ b/subprojects/dftd4.wrap +@@ -1,4 +1,4 @@ + [wrap-git] + directory = dftd4 + url = https://github.com/dftd4/dftd4 +-revision = v3.5.0 ++revision = v3.6.0 diff --git a/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-tblite-pr1072.patch b/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-tblite-pr1072.patch new file mode 100644 index 00000000000..0684569d3e4 --- /dev/null +++ b/easybuild/easyconfigs/x/xtb/xtb-6.7.1_fix-tblite-pr1072.patch @@ -0,0 +1,528 @@ +see https://github.com/grimme-lab/xtb/pull/1072 + https://github.com/grimme-lab/xtb/issues/1091 +diff --git a/src/dipro.F90 b/src/dipro.F90 +index 42a136364..ab64e0710 100644 +--- a/src/dipro.F90 ++++ b/src/dipro.F90 +@@ -130,6 +130,10 @@ subroutine get_jab(env, tblite, mol, fragment, dipro) + !=========================set up calculator=========================================== + + call get_calculator(xcalc, struc, tblite%method, error) ++ if (allocated(error)) then ++ call env%error(error%message, source) ++ return ++ end if + call new_wavefunction(wfn, struc%nat, xcalc%bas%nsh, xcalc%bas%nao, & + & 1, set%etemp * ktoau) + wfn%nspin=1 +@@ -258,6 +262,10 @@ subroutine get_jab(env, tblite, mol, fragment, dipro) + write(*,'(A,I2)') "unpaired e- of fragment : ", mfrag(ifr)%uhf + + call get_calculator(fcalc(ifr), mfrag(ifr), tblite%method, error) ++ if (allocated(error)) then ++ call env%error(error%message, source) ++ return ++ end if + !> mol%charge is updated automatically from wfn by tblite library + call new_wavefunction(wfx(ifr), mfrag(ifr)%nat, fcalc(ifr)%bas%nsh, fcalc(ifr)%bas%nao, & + & 1, set%etemp * ktoau) +diff --git a/src/dipro/xtb.F90 b/src/dipro/xtb.F90 +index 95aff7848..4db948a3e 100644 +--- a/src/dipro/xtb.F90 ++++ b/src/dipro/xtb.F90 +@@ -50,11 +50,11 @@ subroutine get_calculator(xcalc, mol, method, error) + call fatal_error(error, "Unknown method '"//method//"' requested") + ! error stop + case("gfn2") +- call new_gfn2_calculator(xcalc, mol) ++ call new_gfn2_calculator(xcalc, mol, error) + case("gfn1") +- call new_gfn1_calculator(xcalc, mol) ++ call new_gfn1_calculator(xcalc, mol, error) + case("ipea1") +- call new_ipea1_calculator(xcalc, mol) ++ call new_ipea1_calculator(xcalc, mol, error) + end select + end subroutine get_calculator + #endif +diff --git a/src/tblite/calculator.F90 b/src/tblite/calculator.F90 +index 653e6b285..f05087414 100644 +--- a/src/tblite/calculator.F90 ++++ b/src/tblite/calculator.F90 +@@ -150,16 +150,16 @@ subroutine newTBLiteCalculator(env, mol, calc, input) + case default + call fatal_error(error, "Unknown method '"//method//"' requested") + case("gfn2") +- call new_gfn2_calculator(calc%tblite, struc) ++ call new_gfn2_calculator(calc%tblite, struc, error) + case("gfn1") +- call new_gfn1_calculator(calc%tblite, struc) ++ call new_gfn1_calculator(calc%tblite, struc, error) + case("ipea1") +- call new_ipea1_calculator(calc%tblite, struc) ++ call new_ipea1_calculator(calc%tblite, struc, error) + case("ceh") + calc%guess = method + calc%nspin = 1 +- calc%etemp = 5000.0_wp * kt +- call new_ceh_calculator(calc%tblite, struc) ++ calc%etemp = 4000.0_wp * kt ++ call new_ceh_calculator(calc%tblite, struc, error) + end select + end if + if (allocated(error)) then +@@ -244,18 +244,18 @@ subroutine newTBLiteWavefunction(env, mol, calc, chk) + block + use tblite_context, only : context_type, context_terminal + use tblite_context_terminal, only : escape +- use tblite_ceh_singlepoint, only : ceh_guess ++ use tblite_ceh_singlepoint, only : ceh_singlepoint + use tblite_lapack_solver, only : lapack_solver + use tblite_lapack_solver, only : lapack_algorithm + type(context_type) :: ctx +- ++ + ctx%solver = lapack_solver(lapack_algorithm%gvd) + ctx%terminal = context_terminal(calc%color) + + write (env%unit, '(1x,a)') escape(ctx%terminal%cyan) // "Calculation of CEH charges" // & + & escape(ctx%terminal%reset) +- +- call ceh_guess(ctx, calc%tblite, struc, error, wfn, calc%accuracy, 1) ++ ++ call ceh_singlepoint(ctx, calc%tblite, struc, wfn, calc%accuracy, 1) + end block + end select + end associate +diff --git a/subprojects/mstore.wrap b/subprojects/mstore.wrap +index acf5df9de..0dfe716c0 100644 +--- a/subprojects/mstore.wrap ++++ b/subprojects/mstore.wrap +@@ -1,4 +1,4 @@ + [wrap-git] + directory = mstore + url = https://github.com/grimme-lab/mstore +-revision = v0.2.0 ++revision = v0.3.0 +diff --git a/test/unit/test_ptb.F90 b/test/unit/test_ptb.F90 +index 16c14cbe4..5e585f90d 100644 +--- a/test/unit/test_ptb.F90 ++++ b/test/unit/test_ptb.F90 +@@ -186,12 +186,37 @@ subroutine test_ptb_overlap(error) + !> (Scaled) overlap matrix + character(len=:), allocatable :: message + real(wp), parameter :: overlap_exp(6) = [ & +- & 0.93209460_wp, & ! 1,2 +- & 0.35489609_wp, & ! 1,3 +- & 0.65682608_wp, & ! 2,3 +- & 0.05627743_wp, & ! 1,15 +- & -0.14217162_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.41844087_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.93209460_wp, & ! s(Mg)-s(Mg) ++ & 0.35489609_wp, & ! s(Mg)-s(Mg) ++ & 0.65682608_wp, & ! s(Mg)-s(Mg) ++ & 0.05627743_wp, & ! s(Mg)-s(H) ++ & -0.14217162_wp, & ! s(Mg)-pz(H) ++ & 0.41844087_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -215,7 +240,7 @@ subroutine test_ptb_overlap(error) + call check_(error, ints%overlap(2, 3), overlap_exp(3), thr=thr) + call check_(error, ints%overlap(1, 15), overlap_exp(4), thr=thr) + call check_(error, ints%overlap(1, 23), overlap_exp(5), thr=thr) +- call check_(error, ints%overlap(12, 22), overlap_exp(6), thr=thr) ++ call check_(error, ints%overlap(11, 22), overlap_exp(6), thr=thr) + + end subroutine test_ptb_overlap + +@@ -249,12 +274,37 @@ subroutine test_ptb_overlap_h0(error) + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: overlap_exp(6) = [ & +- & 0.95689468_wp, & ! 1,2 +- & 0.39195790_wp, & ! 1,3 +- & 0.62961212_wp, & ! 2,3 +- & 0.03782850_wp, & ! 1,15 +- &-0.13826216_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.43334922_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.95689468_wp, & ! s(Mg)-s(Mg) ++ & 0.39195790_wp, & ! s(Mg)-s(Mg) ++ & 0.62961212_wp, & ! s(Mg)-s(Mg) ++ & 0.03782850_wp, & ! s(Mg)-s(H) ++ &-0.13826216_wp, & ! s(Mg)-pz(H) ++ & 0.43334922_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -286,7 +336,7 @@ subroutine test_ptb_overlap_h0(error) + & message=message) + call check_(error, auxints%overlap_h0_1(1, 23), overlap_exp(5), thr=thr, & + & message=message) +- call check_(error, auxints%overlap_h0_1(12, 22), overlap_exp(6), thr=thr, & ++ call check_(error, auxints%overlap_h0_1(11, 22), overlap_exp(6), thr=thr, & + & message=message) + + end subroutine test_ptb_overlap_h0 +@@ -319,12 +369,37 @@ subroutine test_ptb_overlap_SX(error) + real(wp), allocatable :: overlap_sx(:, :), overlap_oneminusx(:, :) + character(len=:), allocatable :: message + real(wp), parameter :: overlap_oneminusx_exp(6) = [ & +- & 0.70788_wp, & ! 1,2 +- & 0.16203_wp, & ! 1,3 +- & 0.41532_wp, & ! 2,3 +- & 0.01449_wp, & ! 1,15 +- &-0.07203_wp, & ! 1,24; diffferent because of tblite ordering +- & 0.28751_wp] ! 14,23; diffferent because of tblite ordering ++ & 0.70788_wp, & ! s(Mg)-s(Mg) ++ & 0.16203_wp, & ! s(Mg)-s(Mg) ++ & 0.41532_wp, & ! s(Mg)-s(Mg) ++ & 0.01449_wp, & ! s(Mg)-s(H) ++ &-0.07203_wp, & ! s(Mg)-pz(H) ++ & 0.28751_wp] ! dyz(Mg)-py(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -356,7 +431,7 @@ subroutine test_ptb_overlap_SX(error) + & message=message) + call check_(error, overlap_oneminusx(1, 23), overlap_oneminusx_exp(5), thr=thr2, & + & message=message) +- call check_(error, overlap_oneminusx(12, 22), overlap_oneminusx_exp(6), thr=thr2, & ++ call check_(error, overlap_oneminusx(11, 22), overlap_oneminusx_exp(6), thr=thr2, & + & message=message) + + end subroutine test_ptb_overlap_SX +@@ -392,10 +467,37 @@ subroutine test_ptb_V_ECP(error) + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: vecp_ref(4) = [ & +- & 0.077719_wp, & ! 1,1 ; diffferent because of tblite ordering +- & -0.059122_wp, & ! 1,3 ; diffferent because of tblite ordering +- & 0.052775_wp, & ! 3,5 ; diffferent because of tblite ordering +- & 0.117176_wp] ! 9,9 ; diffferent because of tblite ordering ++ & 0.077719_wp, & ! s(B)-s(B) ++ & -0.059122_wp, & ! s(B)-px(B) ++ & 0.052775_wp, & ! px(B)-px(B) ++ & 0.117176_wp] ! dx2-y2(B)-dx2-y2(B) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: xyz(3, 2) = reshape([ & + & 2.0_wp, 0.0_wp, 0.0_wp, & + & 0.0_wp, 0.0_wp, 0.0_wp], [3, 2]) +@@ -434,7 +536,7 @@ subroutine test_ptb_V_ECP(error) + & message=message) + call check_(error, vecp(5, 8), vecp_ref(3), thr=thr2, & + & message=message) +- call check_(error, vecp(12, 12), vecp_ref(4), thr=thr2, & ++ call check_(error, vecp(13, 13), vecp_ref(4), thr=thr2, & + & message=message) + end subroutine test_ptb_V_ECP + +@@ -629,12 +731,39 @@ subroutine test_ptb_hamiltonian_h0(error) + real(wp), allocatable :: vecp(:, :) + + real(wp), parameter :: h0_ref(6) = [ & +- & -1.59330281_wp, & ! 1,1 +- & -2.24996207_wp, & ! 1,2 +- & 0.34974782_wp, & ! 1,23 ; diffferent because of tblite ordering +- & 0.0_wp, & ! 7,11 ; different because of tblite ordering +- & -1.17757007_wp, & ! 3,6 ; different because of tblite ordering +- & 0.48301561_wp] ! 11,24 ; diffferent because of tblite ordering ++ & -1.59330281_wp, & ! s(B)-s(B) ++ & -2.24996207_wp, & ! s(B)-s(B) ++ & 0.34974782_wp, & ! s(B)-py(Cl) ++ & 0.0_wp, & ! dx2-y2(B)-py(B) ++ & -1.17757007_wp, & ! px(B)-px(B) ++ & 0.48301561_wp] ! dxy(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: levels(10) = [ & + & -0.796651404_wp, & + & -0.269771638_wp, & +@@ -665,15 +794,16 @@ subroutine test_ptb_hamiltonian_h0(error) + & alpha_scal=id_to_atom(mol, ptbData%hamiltonian%kalphah0l)) + allocate (vecp(bas%nao, bas%nao), source=0.0_wp) + ++ ints%hamiltonian = 0.0_wp + call get_hamiltonian(mol, list, bas, ptbData%hamiltonian, ptbData%hamiltonian%kla, auxints%overlap_h0_1, & + & levels, ints%hamiltonian, ptbGlobals%kpol, ptbGlobals%kitr, ptbGlobals%kitocod) + message = "H0 matrix element not matching to expected value." + call check_(error, ints%hamiltonian(1, 1), h0_ref(1), thr=thr) + call check_(error, ints%hamiltonian(1, 2), h0_ref(2), thr=thr) +- call check_(error, ints%hamiltonian(1, 22), h0_ref(3), thr=thr) ++ call check_(error, ints%hamiltonian(1, 24), h0_ref(3), thr=thr) + call check_(error, ints%hamiltonian(13, 6), h0_ref(4), thr=thr) + call check_(error, ints%hamiltonian(8, 5), h0_ref(5), thr=thr) +- call check_(error, ints%hamiltonian(13, 26), h0_ref(6), thr=thr) ++ call check_(error, ints%hamiltonian(9, 22), h0_ref(6), thr=thr) + end subroutine test_ptb_hamiltonian_h0 + + subroutine test_ptb_V_XC(error) +@@ -708,10 +838,37 @@ subroutine test_ptb_V_XC(error) + type(error_type), allocatable, intent(out) :: error + character(len=:), allocatable :: message + real(wp), parameter :: Vxc_ref(4) = [ & +- & -0.92793357_wp, & ! 1,1 +- & -0.85981333_wp, & ! 1,2 +- & 0.06632750_wp, & ! 1,23 ; diffferent because of tblite ordering +- & 0.00151880_wp] ! 11,24 ; diffferent because of tblite ordering ++ & -0.92793357_wp, & ! s(B)-s(B) ++ & -0.85981333_wp, & ! s(B)-s(B) ++ & 0.06632750_wp, & ! s(B)-dz2(Cl) ++ & 0.00151880_wp] ! dxy(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) ++ + real(wp), parameter :: xyz(3, 2) = reshape([ & + & 2.0_wp, 0.0_wp, 0.0_wp, & + & 0.0_wp, 0.0_wp, 0.0_wp], [3, 2]) +@@ -769,9 +926,9 @@ subroutine test_ptb_V_XC(error) + & message=message) + call check_(error, Vxc(1, 2), Vxc_ref(2), thr=thr, & + & message=message) +- call check_(error, Vxc(1, 22), Vxc_ref(3), thr=thr, & ++ call check_(error, Vxc(1, 24), Vxc_ref(3), thr=thr, & + & message=message) +- call check_(error, Vxc(13, 26), Vxc_ref(4), thr=thr, & ++ call check_(error, Vxc(9, 22), Vxc_ref(4), thr=thr, & + & message=message) + + end subroutine test_ptb_V_XC +@@ -957,10 +1114,35 @@ subroutine test_ptb_coulomb_potential(error) + !> Conversion factor from temperature to energy + real(wp), parameter :: kt = 3.166808578545117e-06_wp + real(wp), parameter :: coulomb_pot_ref(4) = [ & +- & -0.05693153_wp, & ! 1,1 +- & -0.33917531_wp, & ! 1,2 +- & -0.00539212_wp, & ! 1,21 ; diffferent because of tblite ordering +- & 0.01305793_wp] ! 6,24 ; diffferent because of tblite ordering ++ & -0.05693153_wp, & ! s(Mg)-s(Mg) ++ & -0.33917531_wp, & ! s(Mg)-s(Mg) ++ & -0.00539212_wp, & ! s(Mg)-s(H) ++ & 0.01305793_wp] ! pz(Mg)-pz(H) ++ ! 1: s(Mg) ++ ! 2: s(Mg) ++ ! 3: s(Mg) ++ ! 4: py(Mg) ++ ! 5: pz(Mg) ++ ! 6: px(Mg) ++ ! 7: py(Mg) ++ ! 8: pz(Mg) ++ ! 9: px(Mg) ++ ! 10: dxy(Mg) ++ ! 11: dyz(Mg) ++ ! 12: dz2(Mg) ++ ! 13: dxz(Mg) ++ ! 14: dx2-y2(Mg) ++ ! 15: s(H) ++ ! 16: s(H) ++ ! 17: py(H) ++ ! 18: pz(H) ++ ! 19: px(H) ++ ! 20: s(H) ++ ! 21: s(H) ++ ! 22: py(H) ++ ! 23: pz(H) ++ ! 24: px(H) ++ + real(wp), allocatable :: lattr(:, :) + real(wp) :: cutoff + +@@ -1044,10 +1226,36 @@ subroutine test_ptb_plus_U_potential(error) + integer, parameter :: nat = 2 + integer, parameter :: at(nat) = [5, 17] + real(wp), parameter :: plusU_pot_ref(4) = [ & +- & -0.0023185_wp, & ! 1,1 +- & -0.0018289_wp, & ! 1,2 +- & -0.5266562_wp, & ! 1,21 ; diffferent because of tblite ordering +- & -1.6745659_wp] ! 6,24 ; diffferent because of tblite ordering ++ & -0.0023185_wp, & ! s(B)-s(B) ++ & -0.0018289_wp, & ! s(B)-s(B) ++ & -0.5266562_wp, & ! s(B)-pz(Cl) ++ & -1.6745659_wp] ! px(B)-dxy(Cl) ++ ! 1: s(B) ++ ! 2: s(B) ++ ! 3: py(B) ++ ! 4: pz(B) ++ ! 5: px(B) ++ ! 6: py(B) ++ ! 7: pz(B) ++ ! 8: px(B) ++ ! 9: dxy(B) ++ ! 10: dyz(B) ++ ! 11: dz2(B) ++ ! 12: dxz(B) ++ ! 13: dx2-y2(B) ++ ! 14: s(Cl) ++ ! 15: s(Cl) ++ ! 16: py(Cl) ++ ! 17: pz(Cl) ++ ! 18: px(Cl) ++ ! 19: py(Cl) ++ ! 20: pz(Cl) ++ ! 21: px(Cl) ++ ! 22: dxy(Cl) ++ ! 23: dyz(Cl) ++ ! 24: dz2(Cl) ++ ! 25: dxz(Cl) ++ ! 26: dx2-y2(Cl) + + call new(mol, at, xyz) + allocate (ptbData) +@@ -1067,7 +1275,7 @@ subroutine test_ptb_plus_U_potential(error) + call check_(error, wfn%coeff(1, 1, 1), plusU_pot_ref(1), thr=thr) + call check_(error, wfn%coeff(1, 2, 1), plusU_pot_ref(2), thr=thr) + call check_(error, wfn%coeff(1, 20, 1), plusU_pot_ref(3), thr=thr) +- call check_(error, wfn%coeff(8, 26, 1), plusU_pot_ref(4), thr=thr) ++ call check_(error, wfn%coeff(8, 22, 1), plusU_pot_ref(4), thr=thr) + + end subroutine test_ptb_plus_U_potential + 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 new file mode 100644 index 00000000000..14ae87a2bac --- /dev/null +++ b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.0-foss-2021b.eb @@ -0,0 +1,49 @@ +easyblock = 'Bundle' + +name = 'xtensor' +version = '0.24.0' + +homepage = 'https://github.com/xtensor-stack/xtensor' +description = "xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions." + +toolchain = {'name': 'foss', 'version': '2021b'} + +builddependencies = [ + ('CMake', '3.21.1'), + ('pybind11', '2.7.1'), +] +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'source_urls': ['https://github.com/xtensor-stack/%(name)s/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('xtl', '0.7.4', { + 'checksums': ['3c88be0e696b64150c4de7a70f9f09c00a335186b0b0b409771ef9f56bca7d9a'], + }), + ('xsimd', '8.0.5', { + 'checksums': ['0e1b5d973b63009f06a3885931a37452580dbc8d7ca8ad40d4b8c80d2a0f84d7'], + }), + ('xtensor', version, { + 'checksums': ['37738aa0865350b39f048e638735c05d78b5331073b6329693e8b8f0902df713'], + }), + ('xtensor-python', '0.26.0', { + 'checksums': ['04dcfe84181c23f364b1e68a6d55d89d1679f31d8da0372db01af72534baf728'], + 'configopts': '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', + }), +] + +sanity_check_paths = { + 'files': ['include/xtensor.hpp', 'lib/pkgconfig/xsimd.pc', 'lib/pkgconfig/xtensor.pc'], + 'dirs': ['include/xsimd', 'include/xtensor', 'include/xtensor-python', 'include/xtl', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xtensor/xtensor-0.24.7-foss-2023a.eb b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.7-foss-2023a.eb new file mode 100644 index 00000000000..8b30ddf8a2f --- /dev/null +++ b/easybuild/easyconfigs/x/xtensor/xtensor-0.24.7-foss-2023a.eb @@ -0,0 +1,49 @@ +easyblock = 'Bundle' + +name = 'xtensor' +version = '0.24.7' + +homepage = 'https://github.com/xtensor-stack/xtensor' +description = "xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions." + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('pybind11', '2.11.1'), +] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), +] + +default_easyblock = 'CMakeMake' + +default_component_specs = { + 'source_urls': ['https://github.com/xtensor-stack/%(name)s/archive/'], + 'sources': ['%(version)s.tar.gz'], + 'start_dir': '%(name)s-%(version)s', +} + +components = [ + ('xtl', '0.7.5', { + 'checksums': ['3286fef5fee5d58f82f7b91375cd449c819848584bae9367893501114d923cbe'], + }), + ('xsimd', '8.0.5', { + 'checksums': ['0e1b5d973b63009f06a3885931a37452580dbc8d7ca8ad40d4b8c80d2a0f84d7'], + }), + ('xtensor', version, { + 'checksums': ['0fbbd524dde2199b731b6af99b16063780de6cf1d0d6cb1f3f4d4ceb318f3106'], + }), + ('xtensor-python', '0.26.1', { + 'checksums': ['eb64155c6824be471decf93927beedae3645714c8ce92f38e037434db2c2454a'], + 'configopts': '-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python', + }), +] + +sanity_check_paths = { + 'files': ['include/xtensor.hpp', 'lib/pkgconfig/xsimd.pc'], + 'dirs': ['include/xsimd', 'include/xtensor', 'include/xtensor-python', 'include/xtl', 'lib/cmake'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..88d3be5c7ec --- /dev/null +++ b/easybuild/easyconfigs/x/xtrans/xtrans-1.3.5-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'xtrans' +version = '1.3.5' + +homepage = "http://www.freedesktop.org/wiki/Software/xlibs" +description = """xtrans includes a number of routines to make X implementations transport-independent; + at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCE_TAR_GZ] +source_urls = [XORG_LIB_SOURCE] + +checksums = ['b7a577c1b6c75030145e53b4793db9c88f9359ac49e7d771d4385d21b3e5945d'] + +builddependencies = [ + ('binutils', '2.38'), + ('xorg-macros', '1.19.3'), + ('libxslt', '1.1.34'), +] + +sanity_check_paths = { + 'files': ['include/X11/Xtrans/%s' % x for x in ['transport.c', 'Xtrans.c', 'Xtrans.h', 'Xtransint.h', + 'Xtranslcl.c', 'Xtranssock.c', 'Xtransutil.c']], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/x/xxHash/xxHash-0.8.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..db5bf12cc24 --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.0-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.0' + +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': '11.2.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f'] + +builddependencies = [ + ('binutils', '2.37'), +] + +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/x/xxHash/xxHash-0.8.1-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d659f1192dd --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-10.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.1' + +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': '10.2.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c'] + +builddependencies = [ + ('binutils', '2.35'), +] + +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/x/xxHash/xxHash-0.8.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0fb9485c66e --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.1' + +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': '11.3.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c'] + +builddependencies = [ + ('binutils', '2.38'), +] + +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/x/xxHash/xxHash-0.8.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..1cb665e6061 --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.1-GCCcore-12.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'xxHash' +version = '0.8.1' + +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.2.0'} + +source_urls = ['https://github.com/Cyan4973/xxHash/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['3bb6b7d6f30c591dd65aaaff1c8b7a5b94d81687998ca9400082c739a690436c'] + +builddependencies = [ + ('binutils', '2.39'), +] + +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/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/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..75ee3c66d79 --- /dev/null +++ b/easybuild/easyconfigs/x/xxHash/xxHash-0.8.2-GCCcore-13.2.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': '13.2.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/x/xxd/xxd-8.2.4220-GCCcore-10.2.0.eb b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..5f897051931 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-10.2.0.eb @@ -0,0 +1,38 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = "xxd is part of the VIM package and serves to convert to/from hexdumps of binary files." + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.35'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-10.3.0.eb b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..0b10cb8bd7b --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-10.3.0.eb @@ -0,0 +1,39 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.2.0.eb b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..ef1c1be77c4 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.2.0.eb @@ -0,0 +1,39 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.37'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..3aa02fbcfe1 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-8.2.4220-GCCcore-11.3.0.eb @@ -0,0 +1,39 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '8.2.4220' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = [ + '8b0406834b4f03af8bc6dedbf4c69977f7b9df6905182623842d7c4f3065c604', # v8.2.4220.tar.gz +] + +builddependencies = [ + ('binutils', '2.38'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-9.0.1696-GCCcore-12.2.0.eb b/easybuild/easyconfigs/x/xxd/xxd-9.0.1696-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..cec129e0d28 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-9.0.1696-GCCcore-12.2.0.eb @@ -0,0 +1,37 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '9.0.1696' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['43c37b7e491e8ebf186b8459301740186cb1c21ae24c3b277fa26c8d4b64e656'] + +builddependencies = [ + ('binutils', '2.39'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-9.0.2112-GCCcore-12.3.0.eb b/easybuild/easyconfigs/x/xxd/xxd-9.0.2112-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..f5a4419d3c2 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-9.0.2112-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '9.0.2112' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['1967127c825a6c32dfd21f419a0e11cbcc20b796d861b1483507ddf19b2c5df0'] + +builddependencies = [ + ('binutils', '2.40'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..32d7900cbf4 --- /dev/null +++ b/easybuild/easyconfigs/x/xxd/xxd-9.1.0307-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +# Last contribution from the NIHR Biomedical Research Centre +# Guy's and St Thomas' NHS Foundation Trust and King's College London +# uploaded by J. Sassmannshausen + +easyblock = 'MakeCp' + +name = 'xxd' +version = '9.1.0307' + +homepage = 'https://www.vim.org' +description = """xxd is part of the VIM package and this will only install xxd, not vim! +xxd converts to/from hexdumps of binary files.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/vim/vim/archive/refs/tags'] +sources = ['v%(version)s.tar.gz'] +checksums = ['addfe566e4f531f169e0dd0f63747bcf6871a64dadd46dc4b8e539b508187c72'] + +builddependencies = [ + ('binutils', '2.40'), +] + +start_dir = 'src/xxd' + +files_to_copy = [ + (['xxd'], 'bin'), +] + +sanity_check_paths = { + 'files': ['bin/xxd'], + 'dirs': [], +} + +sanity_check_commands = ["xxd -h 2>&1 | grep -A 4 '^Usage:'"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-10.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..1f348953b0a --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-10.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.36.1')] + +dependencies = [ + ('Python', '3.9.5'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.2.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..c38fe7797ee --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.37')] + +dependencies = [ + ('Python', '3.9.6'), + ('PyYAML', '5.4.1'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f4862786499 --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-11.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.38')] + +dependencies = [ + ('Python', '3.10.4'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..058b8993dcf --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-12.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-13.3.0.eb b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..2ab12a60fca --- /dev/null +++ b/easybuild/easyconfigs/y/YACS/YACS-0.1.8-GCCcore-13.3.0.eb @@ -0,0 +1,31 @@ +easyblock = 'PythonPackage' + +name = 'YACS' +version = '0.1.8' + +homepage = "https://github.com/rbgirshick/yacs" +description = """YACS was created as a lightweight library to define and +manage system configurations, such as those commonly found in software +designed for scientific experimentation. These "configurations" +typically cover concepts like hyperparameters used in training a machine +learning model or configurable model hyperparameters, such as the depth +of a convolutional neural network.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +sources = [SOURCELOWER_TAR_GZ] +checksums = ['efc4c732942b3103bea904ee89af98bcd27d01f0ac12d8d4d369f1e7a2914384'] + +builddependencies = [('binutils', '2.42')] + +dependencies = [ + ('Python', '3.12.3'), + ('PyYAML', '6.0.2'), +] + +use_pip = True +download_dep_fail = True + +sanity_pip_check = True + +moduleclass = 'lib' 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/YAXT/YAXT-0.9.0-gompi-2020b.eb b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.0-gompi-2020b.eb index 9d9730518a3..7febddd76e8 100644 --- a/easybuild/easyconfigs/y/YAXT/YAXT-0.9.0-gompi-2020b.eb +++ b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.0-gompi-2020b.eb @@ -9,7 +9,10 @@ description = "Yet Another eXchange Tool" toolchain = {'name': 'gompi', 'version': '2020b'} toolchainopts = {'usempi': True} -source_urls = ['https://www.dkrz.de/redmine/attachments/download/498/'] +source_urls = [ + 'https://swprojects.dkrz.de/redmine/attachments/download/498/', + 'https://www.dkrz.de/redmine/attachments/download/498/', +] sources = [SOURCELOWER_TAR_GZ] checksums = ['d3673e88c1cba3b77e0821393b94b5952d8ed7dc494305c8cf93e7ebec19483c'] diff --git a/easybuild/easyconfigs/y/YAXT/YAXT-0.9.1-gompi-2021a.eb b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.1-gompi-2021a.eb new file mode 100644 index 00000000000..13ebe254170 --- /dev/null +++ b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.1-gompi-2021a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'YAXT' +version = '0.9.1' + +homepage = 'https://www.dkrz.de/redmine/projects/yaxt' +description = "Yet Another eXchange Tool" + +toolchain = {'name': 'gompi', 'version': '2021a'} +toolchainopts = {'usempi': True} + +source_urls = [ + 'https://swprojects.dkrz.de/redmine/attachments/download/506/', + 'https://www.dkrz.de/redmine/attachments/download/506/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c87ec59e29b3e4965ce2f8e614bd7f1597012b89af0fda4242f2eef06460794c'] + +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/YAXT/YAXT-0.9.2-iimpi-2021b.eb b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.2-iimpi-2021b.eb new file mode 100644 index 00000000000..fa28ecc4c0d --- /dev/null +++ b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.2-iimpi-2021b.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'YAXT' +version = '0.9.2' + +homepage = 'https://www.dkrz.de/redmine/projects/yaxt' +description = "Yet Another eXchange Tool" + +toolchain = {'name': 'iimpi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = [ + 'https://swprojects.dkrz.de/redmine/attachments/download/513/', + 'https://www.dkrz.de/redmine/attachments/download/513/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b6714e42483486d76db146732bac74bc500096c15c9efa411ece3e00172fc360'] + +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/YAXT/YAXT-0.9.2.1-gompi-2021b.eb b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.2.1-gompi-2021b.eb new file mode 100644 index 00000000000..b02bf69c435 --- /dev/null +++ b/easybuild/easyconfigs/y/YAXT/YAXT-0.9.2.1-gompi-2021b.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.9.2.1' + +homepage = 'https://www.dkrz.de/redmine/projects/yaxt' +description = "Yet Another eXchange Tool" + +toolchain = {'name': 'gompi', 'version': '2021b'} +toolchainopts = {'usempi': True} + +source_urls = [ + 'https://swprojects.dkrz.de/redmine/attachments/download/515/', + 'https://www.dkrz.de/redmine/attachments/download/515/', +] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['cada1ecc479eaf088b8c95d9ae80122842843dd6af0a660ab6191fcb0da20a1e'] + +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 new file mode 100644 index 00000000000..56d2cc9a275 --- /dev/null +++ b/easybuild/easyconfigs/y/YODA/YODA-1.9.7-GCC-11.3.0.eb @@ -0,0 +1,42 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Alexander Puck Neuwirth + +easyblock = 'ConfigureMake' + +name = 'YODA' +version = '1.9.7' + +homepage = 'https://yoda.hepforge.org/' +description = """ +Yet more Objects for (High Energy Physics) Data Analysis +""" + +toolchain = {'name': 'GCC', 'version': '11.3.0'} +toolchainopts = {'optarch': True, 'pic': True} + +source_urls = ['https://yoda.hepforge.org/downloads?f='] +sources = ['%(name)s-%(version)s.tar.bz2'] +checksums = ['8d07bb04dcb79364858718a18203452d8d9fa00029fa94239eafa8529032b8ff'] + +builddependencies = [ + ('Autotools', '20220317'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('zlib', '1.2.12') +] + +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/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/Yade/Yade-2018.02b-intel-2018a-Python-2.7.14.eb b/easybuild/easyconfigs/y/Yade/Yade-2018.02b-intel-2018a-Python-2.7.14.eb index a81eb292daf..3f708d997cf 100644 --- a/easybuild/easyconfigs/y/Yade/Yade-2018.02b-intel-2018a-Python-2.7.14.eb +++ b/easybuild/easyconfigs/y/Yade/Yade-2018.02b-intel-2018a-Python-2.7.14.eb @@ -43,7 +43,7 @@ dependencies = [ builddependencies = [ ('CMake', '3.12.1'), - ('Eigen', '3.3.4', '', True), + ('Eigen', '3.3.4', '', SYSTEM), ] separate_build_dir = True diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-5.0.4-intel-2021a.eb b/easybuild/easyconfigs/y/Yambo/Yambo-5.0.4-intel-2021a.eb new file mode 100644 index 00000000000..dcdb4af336f --- /dev/null +++ b/easybuild/easyconfigs/y/Yambo/Yambo-5.0.4-intel-2021a.eb @@ -0,0 +1,77 @@ +easyblock = 'MakeCp' + +name = 'Yambo' +version = '5.0.4' + +homepage = 'http://www.yambo-code.org' +description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. + Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.""" + +toolchain = {'name': 'intel', 'version': '2021a'} +toolchainopts = { + 'usempi': True, + 'openmp': True, +} + +local_copy_cmd_pattern = 'cp %s yambo-%(version)s/lib/archive/' + +source_urls = ['https://github.com/yambo-code/yambo/archive/refs/tags/'] +sources = [ + '%(version)s.tar.gz', # Yambo + { + 'source_urls': ['https://github.com/yambo-code/yambo-libraries/archive/'], + 'filename': '0.0.2.tar.gz', + 'extract_cmd': 'tar --strip-components=1 -xzf %s -C yambo-%(version)s/lib/yambo/', + }, + { + 'source_urls': ['https://github.com/yambo-code/yambo/files/783150/'], + 'filename': 'libxc-2.2.3.tar.gz', + 'extract_cmd': local_copy_cmd_pattern, + }, + { + 'source_urls': ['https://github.com/yambo-code/yambo/files/962173/'], + 'filename': 'iotk-y1.2.2.tar.gz', + 'extract_cmd': local_copy_cmd_pattern, + }, +] +checksums = [ + '1841ded51cc31a4293fa79252d7ce893d998acea7ccc836e321c3edba19eae8a', # 5.0.4.tar.gz + 'cac7e4bf93e16d3cdf640d034e15854455a08dad796aece3cad5c7c491a68a59', # 0.0.2.tar.gz + '2f2b00b77a75c7fe8fe3f3ae70700cf28a09ff8d0ce791e47980ff7f9cde68e7', # libxc-2.2.3.tar.gz + 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543', # iotk-y1.2.2.tar.gz +] + +dependencies = [ + ('HDF5', '1.10.7'), + ('netCDF', '4.8.0'), + ('netCDF-Fortran', '4.5.3'), +] + +with_configure = True + +configopts = '--prefix=%(builddir)s/%(namelower)s-%(version)s/ ' +configopts += '--enable-open-mp --enable-hdf5-par-io ' +configopts += '--with-blas-libs="$LIBBLAS" ' +configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs="$LIBBLACS" ' +configopts += '--with-scalapack-libs="$LIBSCALAPACK" ' +configopts += '--with-fft-libs="$LIBFFT" --with-fft-includedir="$FFT_INC_DIR" ' +configopts += '--with-netcdf-path="$EBROOTNETCDF" ' +configopts += '--with-netcdff-path="$EBROOTNETCDFMINFORTRAN" ' +configopts += '--with-hdf5-path="$HDF5_DIR" ' + +buildopts = 'all' + +parallel = 1 + +files_to_copy = [ + (['bin/*'], 'bin'), + (['%(builddir)s/%(namelower)s-%(version)s/lib/external/intel/mpiifort/bin/*'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'yambo_ph', 'ypp', 'ypp_ph', + 'iotk', 'iotk.x', 'xc-info']], + 'dirs': [] +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2-intel-2021b.eb b/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2-intel-2021b.eb new file mode 100644 index 00000000000..7f0073ff941 --- /dev/null +++ b/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2-intel-2021b.eb @@ -0,0 +1,92 @@ +easyblock = 'MakeCp' + +name = 'Yambo' +# see https://github.com/yambo-code/yambo/wiki/Releases-%28tar.gz-format%29 +version = '5.1.2' +local_yambo_libs_ver = '1.0' + +homepage = 'http://www.yambo-code.org' +description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. + Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True} + +local_yambo_ext_cmd = 'mkdir yambo-%(version)s && ' +local_yambo_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s' +local_yambo_lib_ext_cmd = 'mkdir -p yambo-%(version)s/lib/yambo/ && ' +local_yambo_lib_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s/lib/yambo/' + +source_urls = ['https://github.com/yambo-code/yambo/archive/'] +sources = [ + { + 'download_filename': '%(version)s.tar.gz', + 'filename': 'yambo-%(version)s.tar.gz', + 'extract_cmd': local_yambo_ext_cmd, + }, + { + 'source_urls': ['https://github.com/yambo-code/yambo-libraries/archive/'], + 'download_filename': '%s.tar.gz' % local_yambo_libs_ver, + 'filename': 'yambo-libraries-%s.tar.gz' % local_yambo_libs_ver, + 'extract_cmd': local_yambo_lib_ext_cmd, + }, + { + # see https://github.com/yambo-code/yambo/wiki/Libraries#external-libraries + 'source_urls': ['https://github.com/yambo-code/yambo/files/962173/'], + 'filename': 'iotk-y1.2.2.tar.gz', + 'extract_cmd': 'cp %s yambo-%(version)s/lib/archive/', + }, +] +patches = ['Yambo-5.1.2_fix-SLEPc.patch'] +checksums = [ + {'yambo-5.1.2.tar.gz': '9625d8a96bd9a3ff3713ebe53228d5ac9be0a98adecbe2a2bad67234c0e26a2e'}, + {'yambo-libraries-1.0.tar.gz': 'f25d86101cc9cead9f64f05181aab1f06eac8528fea5ba5c586b2b9512cb8492'}, + {'iotk-y1.2.2.tar.gz': 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543'}, + {'Yambo-5.1.2_fix-SLEPc.patch': 'e44a0f85ec5eb55da7c7d42937b4c452bde2ed2c6d2f98fffca15696c82b7df6'}, +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PETSc', '3.18.4'), + ('SLEPc', '3.18.2'), + ('libxc', '5.1.6'), +] + +with_configure = True + +configopts = 'FC=mpiifort CC=mpiicc --enable-msgs-comps ' +configopts += '--prefix=%(builddir)s/%(namelower)s-%(version)s/ ' +configopts += '--enable-open-mp --enable-hdf5-par-io ' +configopts += '--with-blas-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread ' +configopts += '-lmkl_core -lgomp -lpthread -lm -ldl" ' +configopts += '--with-lapack-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread ' +configopts += '-lmkl_core -lgomp -lpthread -lm -ldl" --with-blacs-libs=mkl ' +configopts += '--with-scalapack-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread ' +configopts += '-lmkl_core -lgomp -lpthread -lm -ldl" ' +configopts += '--with-fft-libs="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread ' +configopts += '-lmkl_core -lgomp -lpthread -lm -ldl" --with-fft-includedir="${MKLROOT}/include" ' +configopts += '--with-netcdf-path=$EBROOTNETCDF ' +configopts += '--with-netcdff-path="$EBROOTNETCDFMINFORTRAN" ' +configopts += '--with-hdf5-path="$EBROOTHDF5" --with-petsc-path="$EBROOTPETSC" ' +configopts += '--with-slepc-path="$EBROOTSLEPC" --with-libxc-path="$EBROOTLIBXC" ' +configopts += '--enable-par-linalg --enable-slepc-linalg ' + +prebuildopts = "export SHELL='sh -x' && " +buildopts = 'all' + +files_to_copy = [ + (['bin/*'], 'bin'), + (['%(builddir)s/%(namelower)s-%(version)s/lib/external/intel/mpiifort/bin/*'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'yambo_ph', 'ypp', 'ypp_ph', + 'iotk', 'iotk.x']], + 'dirs': [] +} + +sanity_check_commands = ["yambo -h"] + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2_fix-SLEPc.patch b/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2_fix-SLEPc.patch new file mode 100644 index 00000000000..8f2810b4b80 --- /dev/null +++ b/easybuild/easyconfigs/y/Yambo/Yambo-5.1.2_fix-SLEPc.patch @@ -0,0 +1,172 @@ +Fixes a bug with some parts of Yambo that use SLEPc +Applies most of this commit to this version +https://github.com/yambo-code/yambo/commit/1846c85fdd08ec80ecf90082821cf957a0c93747 +diff -ruN yambo-5.1.2.orig/src/bse/K_multiply_by_V_slepc.F yambo-5.1.2/src/bse/K_multiply_by_V_slepc.F +--- yambo-5.1.2.orig/src/bse/K_multiply_by_V_slepc.F 2023-07-24 14:31:48.203323300 +0200 ++++ yambo-5.1.2/src/bse/K_multiply_by_V_slepc.F 2023-07-24 14:35:13.933323300 +0200 +@@ -1,5 +1,5 @@ + ! +-! Copyright (C) 2000-2023 the YAMBO team ++! Copyright (C) 2000-2022 the YAMBO team + ! http://www.yambo-code.org + ! + ! Authors (see AUTHORS file for details): HM DS IMA +@@ -26,7 +26,7 @@ + ! Interface with the K_multiply_by_V from the Haydock method + ! This function has to take the same arguments as MatMult from PETSC + ! +- use pars, ONLY : SP ++ use pars, ONLY : SP,cI + use BS_solvers, ONLY : Slepc_v,BSS_Slepc_double_grp + use BS, ONLY : BS_T_grp,BS_nT_grps,BS_K_dim + use parallel_m, ONLY : PAR_IND_T_Haydock +@@ -45,7 +45,7 @@ + ! + implicit none + ! +- PetscScalar :: tmp_value(1) ++ PetscScalar :: tmp_value(1),tmp_value_star(1) + PetscInt :: H_pos(1), pet_one + PetscErrorCode :: ierr + ! +@@ -108,12 +108,13 @@ + do i_c=1,BS_T_grp(i_g)%size + H_pos=start_index+i_c + tmp_value=cmplx(Slepc_v%Vo(i_g)%fragment(i_c,1)) ++ tmp_value_star=real(Slepc_v%Vo(i_g)%fragment(i_c,1))-cI*aimag(Slepc_v%Vo(i_g)%fragment(i_c,1)) + !SLEPC funcitons expect C indexes both in Fortran and C + call VecSetValues( vo, pet_one, H_pos, tmp_value, INSERT_VALUES, ierr ) + if(BSS_slepc_double_grp) then + ! Expand vo to anti-resonant block + H_pos=start_index_dg+i_c +- call VecSetValues( vo, pet_one, H_pos, fac*conjg(tmp_value), INSERT_VALUES, ierr ) ++ call VecSetValues( vo, pet_one, H_pos, fac*tmp_value_star, INSERT_VALUES, ierr ) + endif + enddo + enddo +diff -ruN yambo-5.1.2.orig/src/bse/K_multiply_by_V_transpose_slepc.F yambo-5.1.2/src/bse/K_multiply_by_V_transpose_slepc.F +--- yambo-5.1.2.orig/src/bse/K_multiply_by_V_transpose_slepc.F 2023-07-24 14:31:48.203323300 +0200 ++++ yambo-5.1.2/src/bse/K_multiply_by_V_transpose_slepc.F 2023-07-24 14:34:40.413323300 +0200 +@@ -1,5 +1,5 @@ + ! +-! Copyright (C) 2000-2023 the YAMBO team ++! Copyright (C) 2000-2022 the YAMBO team + ! http://www.yambo-code.org + ! + ! Authors (see AUTHORS file for details): HM DS IMA +@@ -26,7 +26,7 @@ + ! Interface with the K_multiply_by_V from the Haydock method + ! This function has to take the same arguments as MatMult from PETSC + ! +- use pars, ONLY : SP ++ use pars, ONLY : SP,cI + use BS_solvers, ONLY : Slepc_v,BSS_Slepc_double_grp + use BS, ONLY : BS_T_grp,BS_nT_grps,BS_K_dim + use parallel_m, ONLY : PAR_IND_T_Haydock +@@ -45,7 +45,7 @@ + ! + implicit none + ! +- PetscScalar :: tmp_value(1) ++ PetscScalar :: tmp_value(1),tmp_value_star(1) + PetscInt :: H_pos(1), pet_one + PetscErrorCode :: ierr + ! +@@ -109,12 +109,13 @@ + do i_c=1,BS_T_grp(i_g)%size + H_pos=start_index+i_c + tmp_value=cmplx(Slepc_v%Vo(i_g)%fragment(i_c,1)) ++ tmp_value_star=real(Slepc_v%Vo(i_g)%fragment(i_c,1))-cI*aimag(Slepc_v%Vo(i_g)%fragment(i_c,1)) + !SLEPC funcitons expect C indexes both in Fortran and C + call VecSetValues( vo, pet_one, H_pos, tmp_value, INSERT_VALUES, ierr ) + if(BSS_slepc_double_grp) then + ! Expand vo to anti-resonant block + H_pos=start_index_dg+i_c +- call VecSetValues( vo, pet_one, H_pos, fac*conjg(tmp_value), INSERT_VALUES, ierr ) ++ call VecSetValues( vo, pet_one, H_pos, fac*tmp_value_star, INSERT_VALUES, ierr ) + endif + enddo + enddo +diff -ruN yambo-5.1.2.orig/src/bse/K_stored_in_a_slepc_matrix.F yambo-5.1.2/src/bse/K_stored_in_a_slepc_matrix.F +--- yambo-5.1.2.orig/src/bse/K_stored_in_a_slepc_matrix.F 2023-07-24 14:31:48.203323300 +0200 ++++ yambo-5.1.2/src/bse/K_stored_in_a_slepc_matrix.F 2023-07-24 14:35:46.923323300 +0200 +@@ -1,5 +1,5 @@ + ! +-! Copyright (C) 2000-2023 the YAMBO team ++! Copyright (C) 2000-2022 the YAMBO team + ! http://www.yambo-code.org + ! + ! Authors (see AUTHORS file for details): HM DS +@@ -53,7 +53,7 @@ + Mat, intent(out) :: slepc_mat + ! + integer :: i_c,i_r,i_Tk,i_Tp,i_B,H_shift(2) +- PetscScalar :: Mij ++ PetscScalar :: Mij,Mij_star + PetscInt :: H_pos(2),SL_K_dim(2),SL_H_dim + PetscErrorCode :: ierr + ! +@@ -95,14 +95,17 @@ + if (H_pos(1)+H_shift(1)>H_pos(2)+H_shift(2)) cycle + if (l_BS_ares_from_res.and.H_pos(1)>H_pos(2)) cycle + ! +- Mij=BS_blk(i_B)%mat(i_r,i_c) ++ Mij = BS_blk(i_B)%mat(i_r,i_c) ++ Mij_star= real(BS_blk(i_B)%mat(i_r,i_c))-cI*aimag(BS_blk(i_B)%mat(i_r,i_c)) + ! + ! Add energies to the diagonal + ! + if(H_pos(1)+H_shift(1)==H_pos(2)+H_shift(2)) then +- Mij=real(Mij)+BSS_eh_E(H_pos(1)+H_shift(1)+1)*cONE ++ Mij =real(Mij) +BSS_eh_E(H_pos(1)+H_shift(1)+1)*cONE ++ Mij_star=real(Mij_star)+BSS_eh_E(H_pos(1)+H_shift(1)+1)*cONE + if (allocated(BSS_eh_W).and..not.BSS_perturbative_width) then +- Mij=Mij+cI*BSS_eh_W(H_pos(1)+H_shift(1)+1) ++ Mij =Mij +cI*BSS_eh_W(H_pos(1)+H_shift(1)+1) ++ Mij_star=Mij_star -cI*BSS_eh_W(H_pos(1)+H_shift(1)+1) + endif + endif + ! +@@ -110,35 +113,35 @@ + case("R") + call MatSetValue( slepc_mat, H_pos(1), H_pos(2), Mij , INSERT_VALUES, ierr ) + ! The resonant block is hermitial +- call MatSetValue( slepc_mat, H_pos(2), H_pos(1), conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(2), H_pos(1), Mij_star, INSERT_VALUES, ierr ) + if (l_BS_ares_from_res.and.BS_K_coupling) then + ! The anti-resonant block is A=-R* +- call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2)+SL_K_dim(1),-conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2)+SL_K_dim(1), -Mij_star, INSERT_VALUES, ierr ) + ! The anti-resonant block is hermitian + call MatSetValue( slepc_mat, H_pos(2)+SL_K_dim(1), H_pos(1)+SL_K_dim(1), -Mij, INSERT_VALUES, ierr ) + endif + case("C") + call MatSetValue( slepc_mat, H_pos(1), H_pos(2)+SL_K_dim(1), Mij , INSERT_VALUES, ierr ) + ! Anti-coupling from coupling: the whole BSE matrix is Pseudo-HErmitian +- call MatSetValue( slepc_mat, H_pos(2)+SL_K_dim(1), H_pos(1),-conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(2)+SL_K_dim(1), H_pos(1), -Mij_star , INSERT_VALUES, ierr ) + if (l_BS_ares_from_res) then + ! The coupling block and the anti-coupling block are symmetric + call MatSetValue( slepc_mat, H_pos(2), H_pos(1)+SL_K_dim(1), Mij , INSERT_VALUES, ierr ) +- call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2),-conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2), -Mij_star , INSERT_VALUES, ierr ) + endif + case("A") + ! The anti-resonant block is hermitial + if(BS_res_ares_n_mat==1) then + call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2)+SL_K_dim(1), Mij , INSERT_VALUES, ierr ) +- call MatSetValue( slepc_mat, H_pos(2)+SL_K_dim(1), H_pos(1)+SL_K_dim(1), conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(2)+SL_K_dim(1), H_pos(1)+SL_K_dim(1), Mij_star , INSERT_VALUES, ierr ) + else + call MatSetValue( slepc_mat, H_pos(1), H_pos(2), Mij , INSERT_VALUES, ierr ) +- call MatSetValue( slepc_mat, H_pos(2), H_pos(1), conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(2), H_pos(1), Mij_star , INSERT_VALUES, ierr ) + endif + case("Q") + call MatSetValue( slepc_mat, H_pos(1)+SL_K_dim(1), H_pos(2), Mij , INSERT_VALUES, ierr ) + ! Coupling from anti-coupling: the whole BSE matrix is Pseudo-HErmitian +- call MatSetValue( slepc_mat, H_pos(2), H_pos(1)+SL_K_dim(1),-conjg(Mij), INSERT_VALUES, ierr ) ++ call MatSetValue( slepc_mat, H_pos(2), H_pos(1)+SL_K_dim(1), -Mij_star , INSERT_VALUES, ierr ) + end select + ! + enddo diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.2.0.eb index 30cc501ddab..4614e5786e6 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.2.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '10.2.0'} -source_urls = ['https://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.3.0.eb index 0d99744bb65..c85937534cf 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-10.3.0.eb @@ -9,7 +9,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '10.3.0'} -source_urls = ['https://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..93a7e18fb8d --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.2.0.eb @@ -0,0 +1,23 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' + +description = """Yasm: Complete rewrite of the NASM assembler with BSD license""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [('binutils', '2.37')] + +sanity_check_paths = { + 'files': ['bin/yasm'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..7c73c4bf3bd --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.38'), +] + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..28d2d1ae248 --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.2.0.eb @@ -0,0 +1,25 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.39'), +] + + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..7dcaaf0ef67 --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-12.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ac1a521bfe6 --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..5ac8fd8176f --- /dev/null +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-13.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'Yasm' +version = '1.3.0' + +homepage = 'https://www.tortall.net/projects/yasm/' +description = "Yasm: Complete rewrite of the NASM assembler with BSD license" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(namelower)s/%(namelower)s/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] + +builddependencies = [ + ('binutils', '2.42'), +] + +sanity_check_paths = { + 'files': ['bin/%(namelower)s'], + 'dirs': [], +} + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-6.4.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-6.4.0.eb index 691d1170d58..c1e90953f6b 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-6.4.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '6.4.0'} -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-7.3.0.eb index 99575db90a7..22884a4a48a 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-7.3.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '7.3.0'} -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.2.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.2.0.eb index 55cf6f77509..81219e09cc8 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.2.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '8.2.0'} -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.3.0.eb index e938b0a2513..9bbad659ca5 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-8.3.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '8.3.0'} -source_urls = ['https://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-9.3.0.eb index c493ee1fb51..f0ce46c5d3f 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-GCCcore-9.3.0.eb @@ -21,7 +21,7 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'GCCcore', 'version': '9.3.0'} -source_urls = ['https://www.tortall.net/projects/yasm/releases/'] +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016a.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016a.eb index 5d91905b00e..e0a28c20b97 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016a.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016a.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'foss', 'version': '2016a'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016b.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016b.eb index 2b3b53fc138..4816f7cd366 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016b.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2016b.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'foss', 'version': '2016b'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2017a.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2017a.eb index 884d55d98dc..0d093060e1e 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2017a.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-foss-2017a.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'foss', 'version': '2017a'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2.11.5.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2.11.5.eb index 54da1bfc1c5..eda5dbeabe6 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2.11.5.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2.11.5.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'gimkl', 'version': '2.11.5'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2017a.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2017a.eb index 190f07dd2b4..7affe0bbed3 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2017a.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-gimkl-2017a.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'gimkl', 'version': '2017a'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016a.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016a.eb index 31172f8c406..661d942ffa1 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016a.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016a.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'intel', 'version': '2016a'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016b.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016b.eb index a838254d152..111e8ed6217 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016b.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2016b.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'intel', 'version': '2016b'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2017a.eb b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2017a.eb index 89a5a1ab38a..09623a27b7e 100644 --- a/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2017a.eb +++ b/easybuild/easyconfigs/y/Yasm/Yasm-1.3.0-intel-2017a.eb @@ -20,8 +20,9 @@ description = """Yasm: Complete rewrite of the NASM assembler with BSD license"" toolchain = {'name': 'intel', 'version': '2017a'} +source_urls = ['https://github.com/yasm/yasm/releases/download/v%(version)s/'] sources = [SOURCELOWER_TAR_GZ] -source_urls = ['http://www.tortall.net/projects/yasm/releases/'] +checksums = ['3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f'] sanity_check_paths = { 'files': ['bin/yasm'], diff --git a/easybuild/easyconfigs/y/Yices/Yices-2.6.2-GCCcore-10.2.0.eb b/easybuild/easyconfigs/y/Yices/Yices-2.6.2-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d6c493931c8 --- /dev/null +++ b/easybuild/easyconfigs/y/Yices/Yices-2.6.2-GCCcore-10.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'ConfigureMake' + +name = 'Yices' +version = '2.6.2' + +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': '10.2.0'} + +source_urls = ['https://yices.csl.sri.com/releases/%(version)s/'] +sources = ['%(namelower)s-%(version)s-src.tar.gz'] +checksums = ['1f205c056dd430f830c688fba6c87d8bd07bd8fa05f65936e12c27e71fa3576a'] + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('GMP', '6.2.0'), + ('gperf', '3.1'), +] + +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/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/h5py-2.10.0_avoid-mpi-init.patch b/easybuild/easyconfigs/y/yaff/h5py-2.10.0_avoid-mpi-init.patch new file mode 100644 index 00000000000..98034776400 --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/h5py-2.10.0_avoid-mpi-init.patch @@ -0,0 +1,85 @@ +avoid that 'import h5py' triggers MPI_Init via mpi4py + +backported to h5py 2.10.0 from https://github.com/h5py/h5py/pull/1552 by Kenneth Hoste (HPC-UGent) + +diff -ru h5py-2.10.0.orig/h5py/api_types_ext.pxd h5py-2.10.0/h5py/api_types_ext.pxd +--- h5py-2.10.0.orig/h5py/api_types_ext.pxd 2019-09-06 23:29:33.000000000 +0200 ++++ h5py-2.10.0/h5py/api_types_ext.pxd 2020-05-25 19:30:30.000000000 +0200 +@@ -12,7 +12,7 @@ + include 'config.pxi' + + IF MPI: +- from mpi4py.MPI cimport MPI_Comm, MPI_Info, Comm, Info ++ from mpi4py.libmpi cimport MPI_Comm, MPI_Info + + cdef extern from "stdlib.h": + ctypedef long size_t +@@ -52,6 +52,7 @@ + cdef extern from "Python.h": + ctypedef void PyObject + ctypedef ssize_t Py_ssize_t ++ ctypedef size_t Py_uintptr_t + + PyObject* PyErr_Occurred() + void PyErr_SetString(object type, char *message) +diff -ru h5py-2.10.0.orig/h5py/h5p.pyx h5py-2.10.0/h5py/h5p.pyx +--- h5py-2.10.0.orig/h5py/h5p.pyx 2019-09-06 23:29:33.000000000 +0200 ++++ h5py-2.10.0/h5py/h5p.pyx 2020-05-25 19:33:24.000000000 +0200 +@@ -17,6 +17,7 @@ + from cpython.buffer cimport PyObject_CheckBuffer, \ + PyObject_GetBuffer, PyBuffer_Release, \ + PyBUF_SIMPLE ++from cpython.long cimport PyLong_AsVoidPtr + + from utils cimport require_tuple, convert_dims, convert_tuple, \ + emalloc, efree, \ +@@ -1161,7 +1162,7 @@ + + IF MPI: + @with_phil +- def set_fapl_mpio(self, Comm comm not None, Info info not None): ++ def set_fapl_mpio(self, comm, info): + """ (Comm comm, Info info) + + Set MPI-I/O Parallel HDF5 driver. +@@ -1169,7 +1170,12 @@ + Comm: An mpi4py.MPI.Comm instance + Info: An mpi4py.MPI.Info instance + """ +- H5Pset_fapl_mpio(self.id, comm.ob_mpi, info.ob_mpi) ++ from mpi4py.MPI import Comm, Info, _handleof ++ assert isinstance(comm, Comm) ++ assert isinstance(info, Info) ++ cdef Py_uintptr_t _comm = _handleof(comm) ++ cdef Py_uintptr_t _info = _handleof(info) ++ H5Pset_fapl_mpio(self.id, _comm, _info) + + + @with_phil +@@ -1183,20 +1189,22 @@ + """ + cdef MPI_Comm comm + cdef MPI_Info info ++ from mpi4py.MPI import Comm, Info, _addressof + + H5Pget_fapl_mpio(self.id, &comm, &info) + pycomm = Comm() +- pyinfo = Info() +- MPI_Comm_dup(comm, &pycomm.ob_mpi) +- MPI_Info_dup(info, &pyinfo.ob_mpi) ++ MPI_Comm_dup(comm, PyLong_AsVoidPtr(_addressof(pycomm))) + MPI_Comm_free(&comm) ++ ++ pyinfo = Info() ++ MPI_Info_dup(info, PyLong_AsVoidPtr(_addressof(pyinfo))) + MPI_Info_free(&info) + + return (pycomm, pyinfo) + + + @with_phil +- def set_fapl_mpiposix(self, Comm comm not None, bint use_gpfs_hints=0): ++ def set_fapl_mpiposix(self, comm, bint use_gpfs_hints=0): + """ Obsolete. + """ + raise RuntimeError("MPI-POSIX driver is broken; removed in h5py 2.3.1") diff --git a/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2020b.eb b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2020b.eb new file mode 100644 index 00000000000..03214bbd476 --- /dev/null +++ b/easybuild/easyconfigs/y/yaff/yaff-1.6.0-foss-2020b.eb @@ -0,0 +1,55 @@ +# Updated from previous config +# Author: Pavel Grochal (INUITS) +# License: GPLv2 +# +# Building this in interactive Slurm session will result in freeze during either +# runtest phase or sanity_check_commands phase (python -c 'import yaff') +# +# If you submit this as non-interactive Slurm job, it will build just fine. +# Possibly root cause: https://github.com/h5py/h5py/issues/917 +# +easyblock = 'PythonBundle' + +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': '2020b'} + +builddependencies = [('pkgconfig', '1.5.1', '-python')] + +dependencies = [ + ('Python', '3.8.6'), + ('SciPy-bundle', '2020.11'), + ('HDF5', '1.10.7'), + ('molmod', '1.4.8'), +] + +use_pip = True +sanity_pip_check = True + +local_runtest = "export MATPLOTLIBRC=$PWD; echo 'backend: agg' > $MATPLOTLIBRC/matplotlibrc; " +local_runtest += "python setup.py build_ext -i; nosetests -v" + +exts_list = [ + # yaff v1.6.0 does not work with h5py>=3.0, the default version in foss/2020b + ('h5py', '2.10.0', { + 'patches': ['h5py-2.10.0_avoid-mpi-init.patch'], + 'preinstallopts': 'HDF5_MPI=ON HDF5_DIR="$EBROOTHDF5" ', + 'source_urls': ['https://pypi.python.org/packages/source/h/h5py'], + 'checksums': [ + '84412798925dc870ffd7107f045d7659e60f5d46d1c70c700375248bf6bf512d', # h5py-2.10.0.tar.gz + '6bacb71f5d9fbd7bd9a01018d7fe21b067a2317f33c4a7c21fde9cd404c1603f', # h5py-2.10.0_avoid-mpi-init.patch + ], + }), + (name, version, { + 'source_urls': ['https://github.com/molmod/yaff/releases/download/%(version)s'], + 'runtest': local_runtest, + 'checksums': ['a266ab032778e37bb2e93152aefb67f396827aa728151651403984429c74ceaa'], + }), +] + + +moduleclass = 'chem' 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/yaml-cpp/yaml-cpp-0.6.3-GCCcore-8.3.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.6.3-GCCcore-8.3.0.eb new file mode 100644 index 00000000000..083cd98d36b --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.6.3-GCCcore-8.3.0.eb @@ -0,0 +1,26 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = '0.6.3' + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '8.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(name)s-%(version)s.tar.gz'] +checksums = ['77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed'] + +builddependencies = [ + ('binutils', '2.32'), + ('CMake', '3.15.3') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c218e476fb7 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = '0.7.0' + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-cmake-export.patch'] +checksums = [ + '43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3', + 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c', # yaml-cpp-0.7.0_fix-cmake-export.patch +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..e09fb068964 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = '0.7.0' + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-cmake-export.patch'] +checksums = [ + '43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3', + 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c', # yaml-cpp-0.7.0_fix-cmake-export.patch +] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..45bef4248fe --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = '0.7.0' + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(name)s-%(version)s.tar.gz'] +patches = ['%(name)s-%(version)s_fix-cmake-export.patch'] +checksums = [ + '43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3', + 'c562a575bbb161af478795e43bfd9073e3f874bea07134a321c1063cd7098c1c', # yaml-cpp-0.7.0_fix-cmake-export.patch +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.26.3') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch new file mode 100644 index 00000000000..45933bb6962 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.7.0_fix-cmake-export.patch @@ -0,0 +1,143 @@ +Fix installed CMake config files. +From https://patch-diff.githubusercontent.com/raw/jbeder/yaml-cpp/pull/1077 + +From a339bea6bb7bd461a41e874f78b46a5af98277ff Mon Sep 17 00:00:00 2001 +From: Felix +Date: Thu, 30 Dec 2021 12:53:31 +0100 +Subject: [PATCH 1/2] untabify CMakeLists.txt in some places + +This is to align with the other code parts in this file. +--- + CMakeLists.txt | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f65efefa..6adbf45a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,30 +141,30 @@ write_basic_package_version_file( + configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY) + + if (YAML_CPP_INSTALL) +- install(TARGETS yaml-cpp ++ install(TARGETS yaml-cpp + EXPORT yaml-cpp-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +- install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ ++ install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +- FILES_MATCHING PATTERN "*.h") ++ FILES_MATCHING PATTERN "*.h") + install(EXPORT yaml-cpp-targets + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") +- install(FILES +- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" ++ install(FILES ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" + DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") + install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc" + DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig) + endif() + + if(YAML_CPP_BUILD_TESTS) +- add_subdirectory(test) ++ add_subdirectory(test) + endif() + + if(YAML_CPP_BUILD_TOOLS) +- add_subdirectory(util) ++ add_subdirectory(util) + endif() + + if (YAML_CPP_CLANG_FORMAT_EXE) + +From c1f987850a6282435f499bee76b12e32d7472f12 Mon Sep 17 00:00:00 2001 +From: Felix +Date: Thu, 30 Dec 2021 15:35:54 +0100 +Subject: [PATCH 2/2] fix cmake export + +After configure the file `yaml-cpp-config.cmake.in` the result ends up with +empty variables. (see also the discussion in #774). + +Rework this file and the call to `configure_package_config_file` according the +cmake documentation +(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file) +to overcome this issue and allow a simple `find_package` after install. + +As there was some discussion about the place where to install the +`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into +an extra variable to make it easier changing this location in the future. +--- + CMakeLists.txt | 17 ++++++++++++----- + yaml-cpp-config.cmake.in | 10 ++++++---- + 2 files changed, 18 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6adbf45a..e9310792 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,10 +129,16 @@ set_target_properties(yaml-cpp PROPERTIES + PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}" + DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") + ++# FIXME(felix2012): A more common place for the cmake export would be ++# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest ++set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++set(EXPORT_TARGETS yaml-cpp) + configure_package_config_file( + "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in" + "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}" ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR) ++unset(EXPORT_TARGETS) + + write_basic_package_version_file( + "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" +@@ -150,14 +156,15 @@ if (YAML_CPP_INSTALL) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + FILES_MATCHING PATTERN "*.h") + install(EXPORT yaml-cpp-targets +- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ DESTINATION "${CONFIG_EXPORT_DIR}") + install(FILES +- "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp") ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" ++ "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" ++ DESTINATION "${CONFIG_EXPORT_DIR}") + install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc" + DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig) + endif() ++unset(CONFIG_EXPORT_DIR) + + if(YAML_CPP_BUILD_TESTS) + add_subdirectory(test) +diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in +index 7b41e3f3..a7ace3dc 100644 +--- a/yaml-cpp-config.cmake.in ++++ b/yaml-cpp-config.cmake.in +@@ -3,12 +3,14 @@ + # YAML_CPP_INCLUDE_DIR - include directory + # YAML_CPP_LIBRARIES - libraries to link against + +-# Compute paths +-get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@") ++@PACKAGE_INIT@ ++ ++set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + + # Our library dependencies (contains definitions for IMPORTED targets) +-include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake") ++include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake) + + # These are IMPORTED targets created by yaml-cpp-targets.cmake + set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@") ++ ++check_required_components(@EXPORT_TARGETS@) diff --git a/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..dc041455a41 --- /dev/null +++ b/easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb @@ -0,0 +1,29 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'CMakeMake' +name = 'yaml-cpp' +version = "0.8.0" + +homepage = "https://github.com/jbeder/yaml-cpp" +description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/jbeder/%(name)s/archive/'] +sources = ['%(version)s.tar.gz'] + +checksums = [ + {'0.8.0.tar.gz': 'fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('CMake', '3.27.6') +] + +sanity_check_paths = { + 'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], + 'dirs': ['lib', 'include'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yell/yell-2.2.2-GCC-12.3.0.eb b/easybuild/easyconfigs/y/yell/yell-2.2.2-GCC-12.3.0.eb new file mode 100644 index 00000000000..48cc38e0d7c --- /dev/null +++ b/easybuild/easyconfigs/y/yell/yell-2.2.2-GCC-12.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'RubyGem' + +name = 'yell' +version = '2.2.2' + +homepage = 'https://github.com/rudionrails/yell' +description = """Yell - Your Extensible Logging Library is a comprehensive logging replacement for Ruby.""" + +toolchain = {'name': 'GCC', 'version': '12.3.0'} + +source_urls = ['https://rubygems.org/downloads/'] +sources = ['%(name)s-%(version)s.gem'] +checksums = ['1d166f3cc3b6dc49a59778ea7156ed6d8de794c15106d48ffd6cbb061b9b26bc'] + +gem_file = '%(name)s-%(version)s.gem' + +dependencies = [ + ('Ruby', '3.3.0'), +] + +sanity_check_paths = { + 'files': [], + 'dirs': ['gems/%(namelower)s-%(version)s'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/y/yelp-tools/yelp-tools-42.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/yelp-tools/yelp-tools-42.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..bbf260ff417 --- /dev/null +++ b/easybuild/easyconfigs/y/yelp-tools/yelp-tools-42.1-GCCcore-12.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'MesonNinja' + +name = 'yelp-tools' +version = '42.1' + +homepage = 'https://gitlab.gnome.org/GNOME/yelp-tools' +description = """yelp-tools is a collection of scripts and build utilities to help create, +manage, and publish documentation for Yelp and the web. Most of the heavy +lifting is done by packages like yelp-xsl and itstool. This package just +wraps things up in a developer-friendly way.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/yelp-tools/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['4776766816aaa4fff5a9be7229d03e2444fca2f60a11f645c6171abe8bb73925'] + +builddependencies = [ + ('binutils', '2.40'), + ('Meson', '1.1.1'), + ('Ninja', '1.11.1'), + ('CMake', '3.26.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('yelp-xsl', '42.1'), + ('ITSTool', '2.0.7'), + ('libxml2', '2.11.4'), + ('mallard-ducktype', '1.0.2'), + ('lxml', '4.9.2'), +] + +fix_python_shebang_for = ['bin/*'] + +sanity_check_paths = { + 'files': [ + 'bin/yelp-build', + 'bin/yelp-check', + 'bin/yelp-new', + ], + 'dirs': ['share/%(name)s'], +} + +sanity_check_commands = [ + 'yelp-build cache -h', + 'yelp-check hrefs -h', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/y/yelp-xsl/yelp-xsl-42.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/y/yelp-xsl/yelp-xsl-42.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ad7d8eddb4e --- /dev/null +++ b/easybuild/easyconfigs/y/yelp-xsl/yelp-xsl-42.1-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'yelp-xsl' +version = '42.1' + +homepage = "https://gitlab.gnome.org/GNOME/yelp-xslg" +description = """yelp-xsl is a collection of programs and data files to help you build, maintain, + and distribute documentation. It provides XSLT stylesheets that can be built upon for help + viewers and publishing systems. These stylesheets output JavaScript and CSS content, + and reference images provided by yelp-xsl. This package also redistributes copies + of the jQuery and jQuery.Syntax JavaScript libraries. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://gitlab.gnome.org/GNOME/yelp-xsl/-/archive/%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['00f3ee8d9fa048d80063cc09477d24a09349e35c58ffdf9ecea253a4ca882068'] + +builddependencies = [ + ('binutils', '2.40'), + ('ITSTool', '2.0.7'), + ('gettext', '0.21.1'), + ('Autotools', '20220317'), +] + +preconfigopts = 'NOCONFIGURE=1 ./autogen.sh && ' + +sanity_check_paths = { + 'files': [], + 'dirs': [ + 'share/pkgconfig', + 'share/%(name)s', + ] +} + +moduleclass = 'data' 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.10.2-GCCcore-11.3.0-Python-3.10.4.eb b/easybuild/easyconfigs/z/Z3/Z3-4.10.2-GCCcore-11.3.0-Python-3.10.4.eb new file mode 100644 index 00000000000..61bd96093cf --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.10.2-GCCcore-11.3.0-Python-3.10.4.eb @@ -0,0 +1,58 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.10.2' +versionsuffix = '-Python-%(pyver)s' +_z3_solver_version = '%s.0' % version + +homepage = 'https://github.com/Z3Prover/z3' +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': '11.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('GMP', '6.2.1'), +] + +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', _z3_solver_version, { + 'modulename': 'z3', + 'patches': ['Z3-4.10.2_fix-float-coercion.patch'], + 'checksums': [ + 'a861081c8f5710996f3f545f12c1137ab38ba4b5b02f0f15d59ba52f6f81d237', + '6d1d49431ec1920c642c20627eec0800b0cfda6c8fc0b7922875bfd30c95eda8', + ], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + "cd %%(installdir)s && ln -s %s/include include" % _z3_site_path, + "cd %%(installdir)s/lib && ln -s ../%s/lib/libz3.so libz3.so" % _z3_site_path, +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.10.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.10.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..31490776e46 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.10.2-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Z3' +version = '4.10.2' + +homepage = 'https://github.com/Z3Prover/z3' +description = """ + Z3 is a theorem prover from Microsoft Research. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/Z3Prover/z3/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['889fd035b833775c8cd2eb4723eb011bf916a3e9bf08ce66b31c548acee7a321'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.10.2_fix-float-coercion.patch b/easybuild/easyconfigs/z/Z3/Z3-4.10.2_fix-float-coercion.patch new file mode 100644 index 00000000000..611d19ab3ed --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.10.2_fix-float-coercion.patch @@ -0,0 +1,23 @@ +Fix potential issues when float values are involved, +e.g. `z3.ToInt((a_ + 10) / 3.0)` fails an assertion that the parameter to ToInt is not "real". +Also avoids truncation of floats to int. +Backport of https://github.com/Z3Prover/z3/commit/4a451b10d8ba9f8186789048b08379e19776a4d0 + +Author: Alexander Grund (TU Dresden) + +diff --git a/src/api/python/z3/z3.py b/src/api/python/z3/z3.py +index 8f227649c..b3b14d881 100644 +--- a/src/api/python/z3/z3.py ++++ b/src/api/python/z3/z3.py +@@ -1207,6 +1207,11 @@ def _coerce_exprs(a, b, ctx=None): + a = StringVal(a, b.ctx) + if isinstance(b, str) and isinstance(a, SeqRef): + b = StringVal(b, a.ctx) ++ if isinstance(a, float) and isinstance(b, ArithRef): ++ a = RealVal(a, b.ctx) ++ if isinstance(b, float) and isinstance(a, ArithRef): ++ b = RealVal(b, a.ctx) ++ + s = None + s = _coerce_expr_merge(s, a) + s = _coerce_expr_merge(s, b) diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0-Python-3.10.8.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0-Python-3.10.8.eb new file mode 100644 index 00000000000..46769906aed --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0-Python-3.10.8.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.12.2' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/Z3Prover/z3' +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.2.0'} + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('GMP', '6.2.1'), +] + +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" +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) +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..9582be51172 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.2.0.eb @@ -0,0 +1,35 @@ +easyblock = 'CMakeMake' + +name = 'Z3' +version = '4.12.2' + +homepage = 'https://github.com/Z3Prover/z3' +description = """ + Z3 is a theorem prover from Microsoft Research. +""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/Z3Prover/z3/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = [ + {'z3-4.12.2.tar.gz': '9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f'}, +] + +builddependencies = [ + ('CMake', '3.24.3'), + ('binutils', '2.39'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' 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 new file mode 100644 index 00000000000..e34dbd5ade0 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.12.2-GCCcore-12.3.0.eb @@ -0,0 +1,51 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.12.2' + +homepage = 'https://github.com/Z3Prover/z3' +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'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('GMP', '6.2.1'), +] + +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': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b30bdb6cf49 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.2.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.13.0' + +homepage = 'https://github.com/Z3Prover/z3' +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': '13.2.0'} + +builddependencies = [ + ('CMake', '3.27.6'), + ('binutils', '2.40'), +] +dependencies = [ + ('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 && """ + +exts_list = [ + ('z3-solver', version + '.0', { + 'modulename': 'z3', + '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" +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.' + SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..a925168f147 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.13.0-GCCcore-13.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.13.0' + +homepage = 'https://github.com/Z3Prover/z3' +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': '13.3.0'} + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), +] +dependencies = [ + ('Python', '3.12.3'), + ('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 && """ + +exts_list = [ + ('z3-solver', version + '.0', { + 'modulename': 'z3', + '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" +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.' + SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.10-GCCcore-10.2.0-Python-3.8.6.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.10-GCCcore-10.2.0-Python-3.8.6.eb new file mode 100644 index 00000000000..ab0584e8a8d --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.10-GCCcore-10.2.0-Python-3.8.6.eb @@ -0,0 +1,53 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.8.10' +versionsuffix = '-Python-%(pyver)s' +_z3_solver_version = '%s.0' % version + +homepage = 'https://github.com/Z3Prover/z3' +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': '10.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.35'), +] + +dependencies = [ + ('Python', '3.8.6'), + ('GMP', '6.2.0'), +] + +use_pip = True + +_fix_parallelism = """sed -i 's/str(multiprocessing.cpu_count())/"%(parallel)s"/' setup.py &&""" +_enable_gmp = "sed -i 's/^GMP=.*/GMP=True/' core/scripts/mk_util.py &&" + +exts_list = [ + ('z3-solver', _z3_solver_version, { + 'modulename': 'z3', + 'checksums': ['cd022a66524685bdd8b265027bd22f24c35f8db29a4287d005e0005757ffdc21'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + "cd %%(installdir)s && ln -s %s/include include" % _z3_site_path, + "cd %%(installdir)s/lib && ln -s ../%s/lib/libz3.so libz3.so" % _z3_site_path, +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.11-GCCcore-10.3.0-Python-3.9.5.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.11-GCCcore-10.3.0-Python-3.9.5.eb new file mode 100644 index 00000000000..316ed3ebf17 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.11-GCCcore-10.3.0-Python-3.9.5.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.8.11' +versionsuffix = '-Python-%(pyver)s' +_z3_solver_version = '%s.0' % version + +homepage = 'https://github.com/Z3Prover/z3' +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': '10.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.36.1'), + ('CMake', '3.20.1'), +] + +dependencies = [ + ('Python', '3.9.5'), + ('GMP', '6.2.1'), +] + +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', _z3_solver_version, { + 'modulename': 'z3', + 'checksums': ['3621f464baf48aabbf74bcb85cd97ef46e928af3ca3a28e27d6816601e3b7290'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + "cd %%(installdir)s && ln -s %s/include include" % _z3_site_path, + "cd %%(installdir)s/lib && ln -s ../%s/lib/libz3.so libz3.so" % _z3_site_path, +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0-Python-3.9.6.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0-Python-3.9.6.eb new file mode 100644 index 00000000000..a6e219907a5 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0-Python-3.9.6.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.8.12' +versionsuffix = '-Python-%(pyver)s' +_z3_solver_version = '%s.0' % version + +homepage = 'https://github.com/Z3Prover/z3' +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': '11.2.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.37'), + ('CMake', '3.21.1'), +] + +dependencies = [ + ('Python', '3.9.6'), + ('GMP', '6.2.1'), +] + +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', _z3_solver_version, { + 'modulename': 'z3', + 'checksums': ['48f66e52d5b267e6df6fab9fccdefdf7e09a846d9e309bc2dccff983c27da612'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + "cd %%(installdir)s && ln -s %s/include include" % _z3_site_path, + "cd %%(installdir)s/lib && ln -s ../%s/lib/libz3.so libz3.so" % _z3_site_path, +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..e5532af3956 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.12-GCCcore-11.2.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Z3' +version = '4.8.12' + +homepage = 'https://github.com/Z3Prover/z3' +description = """ + Z3 is a theorem prover from Microsoft Research. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/Z3Prover/z3/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['e3aaefde68b839299cbc988178529535e66048398f7d083b40c69fe0da55f8b7'] + +builddependencies = [ + ('CMake', '3.21.1'), + ('binutils', '2.37'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0-Python-3.10.4.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0-Python-3.10.4.eb new file mode 100644 index 00000000000..37b6fb4f819 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0-Python-3.10.4.eb @@ -0,0 +1,54 @@ +easyblock = 'PythonBundle' + +name = 'Z3' +version = '4.8.16' +versionsuffix = '-Python-%(pyver)s' +_z3_solver_version = '%s.0' % version + +homepage = 'https://github.com/Z3Prover/z3' +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': '11.3.0'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('GMP', '6.2.1'), +] + +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', _z3_solver_version, { + 'modulename': 'z3', + 'checksums': ['a84ade2852d4c3ca2ae32a3ddc554b8f3da6d5d69efd474b5627ab6db509e787'], + 'preinstallopts': _fix_parallelism + _enable_gmp, + }), +] + +# make Z3 headers and libraries accessible in their usual location +_z3_site_path = "lib/python%(pyshortver)s/site-packages/%(namelower)s" +postinstallcmds = [ + "cd %%(installdir)s && ln -s %s/include include" % _z3_site_path, + "cd %%(installdir)s/lib && ln -s ../%s/lib/libz3.so libz3.so" % _z3_site_path, +] + +sanity_pip_check = True + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': ['include', 'lib/python%(pyshortver)s/site-packages'], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..5c7df4d4378 --- /dev/null +++ b/easybuild/easyconfigs/z/Z3/Z3-4.8.16-GCCcore-11.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'CMakeMake' + +name = 'Z3' +version = '4.8.16' + +homepage = 'https://github.com/Z3Prover/z3' +description = """ + Z3 is a theorem prover from Microsoft Research. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/Z3Prover/z3/archive/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['75f95e09f3f35fef746e571d5ec88a4efba27f1bc8f1a0ef1117167486ec3dc6'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +configopts = '-DZ3_USE_LIB_GMP=ON -DZ3_LINK_TIME_OPTIMIZATION=ON ' + +sanity_check_paths = { + 'files': ['bin/z3', 'include/z3_api.h', 'lib/libz3.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..f193788ee27 --- /dev/null +++ b/easybuild/easyconfigs/z/ZIMPL/ZIMPL-3.3.4-GCCcore-11.3.0.eb @@ -0,0 +1,42 @@ +easyblock = 'MakeCp' + +name = 'ZIMPL' +version = '3.3.4' + +homepage = 'https://zimpl.zib.de/' +description = """ZIMPL is a little language to translate the mathematical model of a problem +into a linear or nonlinear (mixed-) integer mathematical program expressed in +.lp or .mps file format which can be read and (hopefully) solved by a LP or MIP +solver.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'scipopt' +source_urls = ['https://zimpl.zib.de/download/'] +sources = [SOURCELOWER_TGZ] +checksums = ['3362fb21524df459723d23f6e0c122ebdd684153a9cc991a2c7f5b2752a83eb2'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('GMP', '6.2.1'), + ('zlib', '1.2.12'), +] + +files_to_copy = ['bin', 'lib', (['src/*.h'], 'include/zimpl')] + +postinstallcmds = [ + "cd %(installdir)s/bin && ln -sf zimpl-%(version)s.* zimpl", + "cd %(installdir)s/lib && ln -sf libzimpl-%(version)s.*.a libzimpl.a", +] + +sanity_check_paths = { + 'files': ['bin/zimpl', 'lib/libzimpl.a'], + 'dirs': ['include/zimpl'], +} + +sanity_check_commands = ["zimpl -h"] + +moduleclass = 'math' 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/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.2.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..64d3fe78fcb --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.4' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://github.com/zeromq/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5'] + +builddependencies = [ + ('binutils', '2.37'), + ('pkg-config', '0.29.2'), +] + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.18'), + ('util-linux', '2.37'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = '--with-pic --with-pgm --with-libsodium --disable-Werror' + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0d05aef4ded --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.4' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/zeromq/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5'] + +builddependencies = [ + ('binutils', '2.38'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.18'), + ('util-linux', '2.38'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = '--with-pic --with-pgm --with-libsodium --disable-Werror' + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..a2f6e126328 --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.4' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/zeromq/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5'] + +builddependencies = [ + ('binutils', '2.39'), + ('pkgconf', '1.9.3'), +] + +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.18'), + ('util-linux', '2.38.1'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = '--with-pic --with-pgm --with-libsodium --disable-Werror' + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..87b0fc7b44a --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.4-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.4' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/%(namelower)s/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '1.9.5'), +] +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.18'), + ('util-linux', '2.39'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = "--with-pic --with-pgm --with-libsodium --disable-Werror" + + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..b1307bc3fcd --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.5' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://github.com/%(namelower)s/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.19'), + ('util-linux', '2.39'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = "--with-pic --with-pgm --with-libsodium --disable-Werror" + + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..98db227b9aa --- /dev/null +++ b/easybuild/easyconfigs/z/ZeroMQ/ZeroMQ-4.3.5-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'ZeroMQ' +version = '4.3.5' + +homepage = 'https://www.zeromq.org/' +description = """ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. + It gives you sockets that carry atomic messages across various transports like in-process, + inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, + pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered + products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous + message-processing tasks. It has a score of language APIs and runs on most operating systems.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://github.com/%(namelower)s/libzmq/releases/download/v%(version)s/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43'] + +builddependencies = [ + ('binutils', '2.42'), + ('pkgconf', '2.2.0'), +] +dependencies = [ + ('OpenPGM', '5.2.122'), + ('libsodium', '1.0.20'), + ('util-linux', '2.40'), +] + +# Compialtion warnings in GCC 11, cf. https://github.com/zeromq/libzmq/issues/4178 +# Needto disable warnings as errors. +configopts = "--with-pic --with-pgm --with-libsodium --disable-Werror" + + +sanity_check_paths = { + 'files': ['lib/libzmq.%s' % SHLIB_EXT, 'lib/libzmq.a'], + 'dirs': ['include', 'lib'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/z/Zgoubi/Zgoubi-6.0.2-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/Zgoubi/Zgoubi-6.0.2-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..f330d78d088 --- /dev/null +++ b/easybuild/easyconfigs/z/Zgoubi/Zgoubi-6.0.2-GCCcore-10.3.0.eb @@ -0,0 +1,33 @@ +easyblock = 'MakeCp' + +name = 'Zgoubi' +version = '6.0.2' + +homepage = 'https://zgoubi.sourceforge.io' +description = """Zgoubi is a ray-tracing code in use for charged particle beam dynamics simulations. +It can simulate beam dynamics in a large variety of machines and optical systems.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +builddependencies = [ + ('binutils', '2.36.1'), +] + +source_urls = ['https://sourceforge.net/projects/zgoubi/files/zgoubi/'] +sources = ['%(version)s/zgoubi-%(version)s.tar.bz2'] +checksums = ['0b0f3d28496edbf7be868c24b0c927b7f1bc88cc29df9c235d9b28dc933489e0'] + +prebuildopts = 'cp Makefile_zgoubi_gfortran Makefile &&' +prebuildopts += "sed -i '/guide/d' Makefile &&" + +buildopts = ' FFLAGS="$FFLAGS -fno-automatic -pedantic -cpp" CFLAGS="$CXXFLAGS -DGFORTRAN4"' + +files_to_copy = [(['zgoubi/zgoubi', 'zpop/zpop'], 'bin'), 'exemples'] +postinstallcmds = ["mv %(installdir)s/exemples %(installdir)s/examples"] + +sanity_check_paths = { + 'files': ["bin/zgoubi", "bin/zpop"], + 'dirs': [], +} + +moduleclass = 'phys' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..f376553d7a0 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.37'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..e1a45c110cb --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.38'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..84708515be8 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.39'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..ff3257294a7 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6689b60b2a9 --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.40'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..e85d9157eaf --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-13.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.42'), +] +dependencies = [ + ('bzip2', '1.0.8'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-7.3.0.eb b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-7.3.0.eb new file mode 100644 index 00000000000..2de4b21bdfd --- /dev/null +++ b/easybuild/easyconfigs/z/Zip/Zip-3.0-GCCcore-7.3.0.eb @@ -0,0 +1,40 @@ +easyblock = 'ConfigureMake' + +name = 'Zip' +version = '3.0' + +homepage = 'http://www.info-zip.org/Zip.html' +description = """Zip is a compression and file packaging/archive utility. +Although highly compatible both with PKWARE's PKZIP and PKUNZIP +utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives +have been portability and other-than-MSDOS functionality""" + +toolchain = {'name': 'GCCcore', 'version': '7.3.0'} + +source_urls = ['https://download.sourceforge.net/infozip'] +sources = ['%(namelower)s%(version_major)s%(version_minor)s.tar.gz'] +checksums = ['f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369'] + +builddependencies = [ + ('binutils', '2.30'), +] +dependencies = [ + ('bzip2', '1.0.6'), +] + +skipsteps = ['configure'] + +buildopts = '-f unix/Makefile CC="$CC" IZ_OUR_BZIP2_DIR=$EBROOTBZIP2 ' +buildopts += 'CFLAGS="$CFLAGS -I. -DUNIX -DBZIP2_SUPPORT -DUNICODE_SUPPORT -DLARGE_FILE_SUPPORT" ' +buildopts += 'generic_gcc' + +installopts = '-f unix/Makefile prefix=%(installdir)s ' + +sanity_check_paths = { + 'files': ['bin/zip', 'bin/zipcloak', 'bin/zipnote', 'bin/zipsplit'], + 'dirs': ['man/man1'] +} + +sanity_check_commands = ["zip --version"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zoltan/Zoltan-3.901-foss-2023a.eb b/easybuild/easyconfigs/z/Zoltan/Zoltan-3.901-foss-2023a.eb new file mode 100644 index 00000000000..57432d0e0ce --- /dev/null +++ b/easybuild/easyconfigs/z/Zoltan/Zoltan-3.901-foss-2023a.eb @@ -0,0 +1,46 @@ +# This easyconfig was created by the BEAR Software team at the University of Birmingham. +easyblock = 'ConfigureMake' + +name = 'Zoltan' +version = '3.901' + +homepage = "https://sandialabs.github.io/Zoltan/" +description = """Zoltan Dynamic Load Balancing and Graph Algorithm Toolkit""" + +toolchain = {'name': 'foss', 'version': '2023a'} +toolchainopts = {'pic': True} + +github_account = 'sandialabs' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['030c22d9f7532d3076e40cba1f03a63b2ee961d8cc9a35149af4a3684922a910'] + +dependencies = [ + ('gzip', '1.12'), + ('SCOTCH', '7.0.3'), + ('ParMETIS', '4.0.3'), +] + +preconfigopts = 'mkdir build && cd build &&' +configure_cmd = '../configure' +configopts = ' '.join([ + '--enable-gzip', + '--with-scotch', + '--with-scotch-incdir=$EBROOTSCOTCH/include', + '--with-scotch-libdir=$EBROOTSCOTCH/lib', + '--with-parmetis', + '--with-parmetis-incdir=$EBROOTPARMETIS/include', + '--with-parmetis-libdir=$EBROOTPARMETIS/lib', + '--disable-examples', + '--disable-tests', +]) +prebuildopts = 'cd build &&' +buildopts = 'everything' +preinstallopts = 'cd build &&' + +sanity_check_paths = { + 'files': ['lib/libzoltan.a', 'include/zoltan.h'], + 'dirs': [], +} + +moduleclass = 'cae' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.2.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..d65bafa85ec --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.2.0.eb @@ -0,0 +1,36 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..d08922dc6c9 --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-10.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..4892a6729ab --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-11.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..8b4417a9e34 --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'Zopfli' +version = '1.0.3' + +homepage = 'https://github.com/google/zopfli' +description = """Zopfli Compression Algorithm is a compression library programmed in C to perform +very good, but slow, deflate or zlib compression.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/google/zopfli/archive/refs/tags/'] +sources = ['%(namelower)s-%(version)s.tar.gz'] +checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +configopts = [ + '-DBUILD_SHARED_LIBS=ON', + '-DBUILD_SHARED_LIBS=OFF', +] + +sanity_check_paths = { + 'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["zopfli --help"] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/z5py/z5py-2.0.17-foss-2023a.eb b/easybuild/easyconfigs/z/z5py/z5py-2.0.17-foss-2023a.eb new file mode 100644 index 00000000000..3f3c8714771 --- /dev/null +++ b/easybuild/easyconfigs/z/z5py/z5py-2.0.17-foss-2023a.eb @@ -0,0 +1,50 @@ +easyblock = 'CMakeMakeCp' + +name = 'z5py' +version = '2.0.17' + +homepage = 'https://github.com/constantinpape/z5/' +description = """Lightweight C++ and Python interface for datasets in zarr and N5 format.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/constantinpape/z5/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['76acaeec7203b8d3baec45ccce82cd260dc1893f1516640acec5de6d74c078ef'] + +builddependencies = [('CMake', '3.26.3')] + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('bzip2', '1.0.8'), + ('lz4', '1.9.4'), + ('XZ', '5.4.2'), + ('zlib', '1.2.13'), + ('xtensor', '0.24.7'), + ('python-blosc', '1.11.0'), + ('imageio', '2.33.1'), + ('h5py', '3.9.0'), + ('nlohmann_json', '3.11.2'), + ('zarr', '2.17.1'), + ('pybind11', '2.11.1'), +] + +configopts = '-DWITH_ZLIB=ON -DWITH_BZIP2=ON ' +# Fix path to python executable - it finds v3.6.8 from /usr/bin/ without this fix +configopts += '-DPYTHON_EXECUTABLE="$EBROOTPYTHON/bin/python" ' + +# export PYTHON_MODULE_INSTALL_DIR to fix make install +preinstallopts = 'export PYTHON_MODULE_INSTALL_DIR="%(builddir)s/easybuild_obj/python/" && ' + +files_to_copy = [(['python/z5py'], 'lib/python%(pyshortver)s/site-packages'), 'z5-config.cmake'] + +sanity_check_paths = { + 'files': ['z5-config.cmake'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/z5py'], +} +sanity_check_commands = ["python -c 'import z5py'"] + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +moduleclass = 'vis' 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/zarr/zarr-2.10.1-foss-2021a.eb b/easybuild/easyconfigs/z/zarr/zarr-2.10.1-foss-2021a.eb new file mode 100644 index 00000000000..a3a9d783453 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.10.1-foss-2021a.eb @@ -0,0 +1,41 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.10.1' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, chunked, N-dimensional arrays, + designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2021a'} + +dependencies = [ + ('Python', '3.9.5'), + ('SciPy-bundle', '2021.05'), +] + +use_pip = True + +exts_list = [ + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.16.3', { + 'checksums': ['b1ab4e5adfbc28681ce44b3024421c4f567e705cc3963c732bf1cba3348307de'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.9.1', { + 'checksums': ['35adbcc746b95e3ac92e949a161811f5aa2602b9eb1ef241b5ea6f09bb220997'], + }), + (name, version, { + 'checksums': ['29e90114f037d433752b3cf951e4a3cb6c6f67b6501a273439b4be4a824e4caf'], + }), +] + +sanity_pip_check = True + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb new file mode 100644 index 00000000000..b73fbcf4961 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2021b.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonBundle' + +name = 'zarr' +version = '2.13.3' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2021b'} + +dependencies = [ + ('Python', '3.9.6'), + ('SciPy-bundle', '2021.10'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.10.2', { + 'checksums': ['22838c6b3fd986bd9c724039b88870057f790e22b20e6e1cbbaa0de142dd59c4'], + }), + (name, version, { + 'checksums': ['db24b090616c638f65e33a6bc5d956d642221182961515ccbc28b17fb0d0b48c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb new file mode 100644 index 00000000000..b04ea6aea02 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.13.3-foss-2022a.eb @@ -0,0 +1,43 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.13.3' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.10.2', { + 'checksums': ['22838c6b3fd986bd9c724039b88870057f790e22b20e6e1cbbaa0de142dd59c4'], + }), + (name, version, { + 'checksums': ['db24b090616c638f65e33a6bc5d956d642221182961515ccbc28b17fb0d0b48c'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.16.0-foss-2022b.eb b/easybuild/easyconfigs/z/zarr/zarr-2.16.0-foss-2022b.eb new file mode 100644 index 00000000000..99c518860cb --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.16.0-foss-2022b.eb @@ -0,0 +1,43 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.16.0' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2022b'} +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.02'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('entrypoints', '0.4', { + 'checksums': ['b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('monotonic', '1.6', { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/atdt/monotonic/archive'], + 'checksums': ['9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221'], + }), + ('numcodecs', '0.11.0', { + 'checksums': ['6c058b321de84a1729299b0eae4d652b2e48ea1ca7f9df0da65cb13470e635eb'], + }), + (name, version, { + 'checksums': ['84e36b695bda0ecea52af9861271984cb22a5c864679907b7b9ba3f79b684f7e'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb b/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb new file mode 100644 index 00000000000..9074cf08ac3 --- /dev/null +++ b/easybuild/easyconfigs/z/zarr/zarr-2.17.1-foss-2023a.eb @@ -0,0 +1,36 @@ +easyblock = "PythonBundle" + +name = 'zarr' +version = '2.17.1' + +homepage = 'https://zarr.readthedocs.io/en/stable/' +description = """Zarr is a Python package providing an implementation of compressed, +chunked, N-dimensional arrays, designed for use in parallel computing.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('py-cpuinfo', '9.0.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('numcodecs', '0.12.1', { + 'checksums': ['05d91a433733e7eef268d7e80ec226a0232da244289614a8f3826901aec1098e'], + }), + ('fasteners', '0.19', { + 'checksums': ['b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c'], + }), + ('asciitree', '0.3.3', { + 'checksums': ['4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e'], + }), + (name, version, { + 'checksums': ['564b3aa072122546fe69a0fa21736f466b20fad41754334b62619f088ce46261'], + }), +] + +moduleclass = 'data' diff --git a/easybuild/easyconfigs/z/zeus-mcmc/zeus-mcmc-2.5.4-foss-2022a.eb b/easybuild/easyconfigs/z/zeus-mcmc/zeus-mcmc-2.5.4-foss-2022a.eb new file mode 100644 index 00000000000..9c6041c0fa5 --- /dev/null +++ b/easybuild/easyconfigs/z/zeus-mcmc/zeus-mcmc-2.5.4-foss-2022a.eb @@ -0,0 +1,32 @@ +easyblock = 'PythonBundle' + +name = 'zeus-mcmc' +version = '2.5.4' + +homepage = 'https://zeus-mcmc.readthedocs.io' +description = "Zeus is a Python implementation of the Ensemble Slice Sampling method." + +toolchain = {'name': 'foss', 'version': '2022a'} + +dependencies = [ + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('matplotlib', '3.5.2'), + ('scikit-learn', '1.1.2'), + ('tqdm', '4.64.0'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + ('seaborn', '0.12.2', { + 'checksums': ['374645f36509d0dcab895cba5b47daf0586f77bfe3b36c97c607db7da5be0139'], + }), + (name, version, { + 'modulename': 'zeus', + 'checksums': ['594baa90de4ad4488c4db5ed6a0446f7103bc4b3de787f4d7d23c91c9aa88769'], + }), +] + +moduleclass = 'math' diff --git a/easybuild/easyconfigs/z/zfp/zfp-0.5.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/z/zfp/zfp-0.5.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..860d74ceb29 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-0.5.5-GCCcore-10.2.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'MakeCp' + +name = 'zfp' +version = '0.5.5' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['6a7f4934489087d9c117a4af327fd6495ea757924f4df467b9c537abf8bd86c4'] + +builddependencies = [ + ('binutils', '2.35'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..3901a6550a2 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-10.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.0' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['fe13b03141ee9b571692aed42ff76cf37c9dcda40f9a43a808870dca3558a57c'] + +builddependencies = [ + ('binutils', '2.36.1'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..c08bb6e10da --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.0' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['fe13b03141ee9b571692aed42ff76cf37c9dcda40f9a43a808870dca3558a57c'] + +builddependencies = [ + ('binutils', '2.38'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-9.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-9.3.0.eb new file mode 100644 index 00000000000..0923191cade --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.0-GCCcore-9.3.0.eb @@ -0,0 +1,39 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.0' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '9.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['fe13b03141ee9b571692aed42ff76cf37c9dcda40f9a43a808870dca3558a57c'] + +builddependencies = [ + ('binutils', '2.34'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..94719046584 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-12.3.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.1' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.5-GCCcore-10.2.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.5-GCCcore-10.2.0.eb new file mode 100644 index 00000000000..bf962cbf1d4 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.5-GCCcore-10.2.0.eb @@ -0,0 +1,29 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.0.5' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '10.2.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['eca3fe72aea7036c31d00ca120493923c4d5b99fe02e6d3322f7c88dbdcd0085'] + +builddependencies = [ + ('CMake', '3.18.4'), + ('binutils', '2.35'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb new file mode 100644 index 00000000000..529355b3749 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.6-GCCcore-10.3.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak +# Updated: Thomas Hoffmann (EMBL) +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.0.6' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '10.3.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['8258b75a72303b661a238047cb348203d88d9dddf85d480ed885f375916fcab6'] + +builddependencies = [ + ('CMake', '3.20.1'), + ('binutils', '2.36.1'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.7-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.7-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2f4e46a256d --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.0.7-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak (Inuits) +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.0.7' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['6c0853bb27738b811f2b4d4af095323c3d5ce36ceed6b50e5f773204fb8f7200'] + +builddependencies = [ + ('CMake', '3.23.1'), + ('binutils', '2.38'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..c29b31ffb34 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.1.6-GCCcore-12.3.0.eb @@ -0,0 +1,30 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Updated: Denis Kristak (Inuits) +# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits) +easyblock = 'CMakeMake' + +name = 'zlib-ng' +version = '2.1.6' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +source_urls = ['https://github.com/zlib-ng/zlib-ng/archive/'] +sources = ['%(version)s.tar.gz'] +checksums = ['a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2'] + +builddependencies = [ + ('CMake', '3.26.3'), + ('binutils', '2.40'), +] + +configopts = ' -DZLIB_ENABLE_TESTS=True ' + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..266b927072a --- /dev/null +++ b/easybuild/easyconfigs/z/zlib-ng/zlib-ng-2.2.1-GCCcore-13.3.0.eb @@ -0,0 +1,50 @@ +easyblock = 'PythonBundle' + +name = 'zlib-ng' +version = '2.2.1' + +homepage = 'https://github.com/zlib-ng/zlib-ng' +description = """zlib data compression library for the next generation systems""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +builddependencies = [ + ('CMake', '3.29.3'), + ('binutils', '2.42'), + ('versioningit', '3.1.2'), +] + +dependencies = [ + ('Python', '3.12.3'), +] + +components = [ + (name, version, { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/zlib-ng/zlib-ng/archive/'], + 'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': SOURCE_TAR_GZ}], + 'checksums': ['ec6a76169d4214e2e8b737e0850ba4acb806c69eeace6240ed4481b9f5c57cdf'], + 'start_dir': '%(name)s-%(version)s', + 'configopts': '-DZLIB_ENABLE_TESTS=ON', + }), + +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, '0.5.0', { + 'source_tmpl': 'zlib_ng-%(version)s.tar.gz', + 'checksums': ['3322c4300253a054af3d3aafa2f3858dceee3a577810122ba55eff756bf35ef2'], + 'preinstallopts': 'PYTHON_ZLIB_NG_LINK_DYNAMIC=true', + 'modulename': 'zlib_ng', + }), +] + +sanity_check_paths = { + 'files': ['include/zconf-ng.h', 'include/zlib-ng.h', 'lib/libz-ng.a', 'lib/libz-ng.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.1.0.eb index a7164e8d8fc..169f8988f8e 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.1.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.1.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.34', '', True)] +builddependencies = [('binutils', '2.34', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.2.0.eb index c26c13b8e50..5a346a38f11 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.2.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.2.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.35', '', True)] +builddependencies = [('binutils', '2.35', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.3.0.eb index e6d6bbf5052..982b3609ed3 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.3.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-10.3.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.36.1', '', True)] +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.1.0.eb index 38623a5181d..307df551e63 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.1.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.1.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.36.1', '', True)] +builddependencies = [('binutils', '2.36.1', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..dfca691dd42 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-11.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.11' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.37', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-5.5.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-5.5.0.eb index bb5db1a26d2..734b6bda65c 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-5.5.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-5.5.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-6.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-6.4.0.eb index acbff073f4e..4cabf0a2d5d 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-6.4.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-6.4.0.eb @@ -20,7 +20,7 @@ checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain builddependencies = [ - ('binutils', '2.28', '', True), + ('binutils', '2.28', '', SYSTEM), ] sanity_check_paths = { diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.2.0.eb index 016a24fff22..ee843d04c0c 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.2.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.2.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.29', '', True)] +builddependencies = [('binutils', '2.29', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.3.0.eb index 6576f6849f4..9753d8d119d 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.3.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.3.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.30', '', True)] +builddependencies = [('binutils', '2.30', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.4.0.eb index b8e35c68d3a..0bb6e2b7da5 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.4.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-7.4.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb index f97c6752989..3741db1cf3b 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.1.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.30', '', True)] +builddependencies = [('binutils', '2.30', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.2.0.eb index ec3c9d04c8e..20709893f33 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.2.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.2.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.31.1', '', True)] +builddependencies = [('binutils', '2.31.1', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.3.0.eb index b1c7a447036..b868b235321 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.3.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.3.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.4.0.eb index 6c89bf42f36..a090047e74b 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.4.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-8.4.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.1.0.eb index 25ecfcd4a9e..6649905e484 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.1.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.1.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.2.0.eb index a5107c7bfea..dda890bf849 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.2.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.2.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.32', '', True)] +builddependencies = [('binutils', '2.32', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.3.0.eb index bbc278b1c0e..090662b5e71 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.3.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.3.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.34', '', True)] +builddependencies = [('binutils', '2.34', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.4.0.eb index 670d5940075..3a0036514da 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.4.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.11-GCCcore-9.4.0.eb @@ -17,7 +17,7 @@ checksums = ['c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1'] # use same binutils version that was used when building GCC toolchain builddependencies = [ - ('binutils', '2.36.1', '', True), + ('binutils', '2.36.1', '', SYSTEM), ] sanity_check_paths = { 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-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..0c3148f7ed0 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.1.0.eb new file mode 100644 index 00000000000..f31b53b8ff3 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.1.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '12.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..f7bcf94b72a --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-12.2.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.39', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-9.5.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-9.5.0.eb new file mode 100644 index 00000000000..b350c9f3c4f --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12-GCCcore-9.5.0.eb @@ -0,0 +1,30 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '9.5.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.38', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb new file mode 100644 index 00000000000..f6b625eac3d --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.12' + +homepage = 'https://www.zlib.net/' + +description = """ + zlib is designed to be a free, general-purpose, legally unencumbered -- that + is, not covered by any patents -- lossless data-compression library for use + on virtually any computer hardware and operating system. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils/'] +sources = [SOURCELOWER_TAR_GZ] +patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = [ + '91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9', # zlib-1.2.12.tar.gz + 'f35eb05334a4f8d7b40b6c5610a6369f654863b5fa1a19c2507888f918025238', # zlib-1.2.12_fix-CC-logic-in-configure.patch +] + +# 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"' + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', + 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch b/easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch new file mode 100644 index 00000000000..f34c40445de --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.12_fix-CC-logic-in-configure.patch @@ -0,0 +1,43 @@ +From 80d086357a55b94a13e43756cf3e131f25eef0e4 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Mon, 28 Mar 2022 08:40:45 +0100 +Subject: [PATCH] Fix CC logic in configure + +In https://github.com/madler/zlib/commit/e9a52aa129efe3834383e415580716a7c4027f8d, +the logic was changed to try check harder for GCC, but it dropped +the default setting of cc=${CC}. It was throwing away any pre-set CC value as +a result. + +The rest of the script then cascades down a bad path because it's convinced +it's not GCC or a GCC-like compiler. + +This led to e.g. misdetection of inability to build shared libs +for say, multilib cases (w/ CC being one thing from the environment being used +for one test (e.g. x86_64-unknown-linux-gnu-gcc -m32 and then 'cc' used for +shared libs (but missing "-m32"!)). Obviously just one example of how +the old logic could break. + +This restores the old default of 'CC' if nothing overrides it later +in configure. + +Bug: https://bugs.gentoo.org/836308 +Signed-off-by: Sam James +--- + configure | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/configure b/configure +index 52ff4a04e..3fa3e8618 100755 +--- a/configure ++++ b/configure +@@ -174,7 +174,10 @@ if test -z "$CC"; then + else + cc=${CROSS_PREFIX}cc + fi ++else ++ cc=${CC} + fi ++ + cflags=${CFLAGS-"-O3"} + # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure + case "$cc" in diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-11.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-11.4.0.eb new file mode 100644 index 00000000000..6c16569826e --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-11.4.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.13' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '11.4.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..b139a83d3cd --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-12.3.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.13' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.1.0.eb new file mode 100644 index 00000000000..082092433d1 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.13' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..329c00a1953 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.13' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.40', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb new file mode 100644 index 00000000000..1e59f99d6a0 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.13.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.2.13' + +homepage = 'https://www.zlib.net/' + +description = """ + zlib is designed to be a free, general-purpose, legally unencumbered -- that + is, not covered by any patents -- lossless data-compression library for use + on virtually any computer hardware and operating system. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30'] + +# 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"' + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', + 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb index b139c1dc9a6..5117fda9bf4 100644 --- a/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb +++ b/easybuild/easyconfigs/z/zlib/zlib-1.2.8-GCCcore-5.4.0.eb @@ -16,7 +16,7 @@ sources = [SOURCELOWER_TAR_GZ] checksums = ['36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d'] # use same binutils version that was used when building GCC toolchain -builddependencies = [('binutils', '2.26', '', True)] +builddependencies = [('binutils', '2.26', '', SYSTEM)] sanity_check_paths = { 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..3f9304a080e --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-13.3.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb new file mode 100644 index 00000000000..39db9b778c4 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.1.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '14.1.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.2.0.eb new file mode 100644 index 00000000000..187f8da34f7 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1-GCCcore-14.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' +description = """zlib is designed to be a free, general-purpose, legally unencumbered -- that is, + not covered by any patents -- lossless data-compression library for use on virtually any + computer hardware and operating system.""" + +toolchain = {'name': 'GCCcore', 'version': '14.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils'] +sources = [SOURCELOWER_TAR_GZ] +# patches = ['zlib-%(version)s_fix-CC-logic-in-configure.patch'] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# use same binutils version that was used when building GCC toolchain +builddependencies = [('binutils', '2.42', '', SYSTEM)] + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb b/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb new file mode 100644 index 00000000000..813ea85d0c2 --- /dev/null +++ b/easybuild/easyconfigs/z/zlib/zlib-1.3.1.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'zlib' +version = '1.3.1' + +homepage = 'https://www.zlib.net/' + +description = """ + zlib is designed to be a free, general-purpose, legally unencumbered -- that + is, not covered by any patents -- lossless data-compression library for use + on virtually any computer hardware and operating system. +""" + +toolchain = SYSTEM +toolchainopts = {'pic': True} + +source_urls = ['https://zlib.net/fossils/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23'] + +# 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"' + +sanity_check_paths = { + 'files': ['include/zconf.h', 'include/zlib.h', 'lib/libz.a', + 'lib/libz.%s' % SHLIB_EXT], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zsh/zsh-5.9.eb b/easybuild/easyconfigs/z/zsh/zsh-5.9.eb new file mode 100644 index 00000000000..5c8ea48d53c --- /dev/null +++ b/easybuild/easyconfigs/z/zsh/zsh-5.9.eb @@ -0,0 +1,33 @@ +easyblock = 'ConfigureMake' + +name = 'zsh' +version = '5.9' + +homepage = 'https://www.zsh.org/' +description = "Zsh is a shell designed for interactive use, although it is also a powerful scripting language." + +toolchain = SYSTEM + +source_urls = ['https://prdownloads.sourceforge.net/%(namelower)s'] +sources = [SOURCELOWER_TAR_XZ] +checksums = ['9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5'] + +osdependencies = [ + ('ncurses-devel', 'libncurses-dev'), +] + +configopts = '--with-tcsetpgrp' # needed to build in non-login shells + +modextrapaths = {'FPATH': 'share/zsh/%(version)s/functions'} + +sanity_check_paths = { + 'files': ['bin/zsh'], + 'dirs': ['lib/zsh/%(version)s', 'share'], +} + +sanity_check_commands = ['zsh --version'] + +# optionally make this module sticky (lmod only): +# modluafooter = 'add_property("lmod", "sticky")' + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.0-GCCcore-11.2.0.eb new file mode 100644 index 00000000000..39a21b894e7 --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.0-GCCcore-11.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.0' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '11.2.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['0d9ade222c64e912d6957b11c923e214e2e010a18f39bec102f572e693ba2867'] + +builddependencies = [ + ('binutils', '2.37'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('gzip', '1.10'), + ('XZ', '5.2.5'), + ('lz4', '1.9.3'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-11.3.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..643abebdfdb --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-11.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.2' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('gzip', '1.12'), + ('XZ', '5.2.5'), + ('lz4', '1.9.3'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb new file mode 100644 index 00000000000..7176db3c09e --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.2' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e'] + +builddependencies = [ + ('binutils', '2.39'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('gzip', '1.12'), + ('XZ', '5.2.7'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-12.3.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..dda0d74b174 --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-12.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.5' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('gzip', '1.12'), + ('XZ', '5.4.2'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..786ceb646a4 --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.5-GCCcore-13.2.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.5' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['98e9c3d949d1b924e28e01eccb7deed865eefebf25c2f21c702e5cd5b63b85e1'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('gzip', '1.13'), + ('XZ', '5.4.4'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb new file mode 100644 index 00000000000..259e352beef --- /dev/null +++ b/easybuild/easyconfigs/z/zstd/zstd-1.5.6-GCCcore-13.3.0.eb @@ -0,0 +1,41 @@ +easyblock = 'ConfigureMake' + +name = 'zstd' +version = '1.5.6' + +homepage = 'https://facebook.github.io/zstd' +description = """Zstandard is a real-time compression algorithm, providing high compression ratios. + It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. + It also offers a special mode for small data, called dictionary compression, and can create dictionaries + from any sample set.""" + +toolchain = {'name': 'GCCcore', 'version': '13.3.0'} + +github_account = 'facebook' +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +checksums = ['30f35f71c1203369dc979ecde0400ffea93c27391bfd2ac5a9715d2173d92ff7'] + +builddependencies = [ + ('binutils', '2.42'), +] + +dependencies = [ + ('zlib', '1.3.1'), + ('gzip', '1.13'), + ('XZ', '5.4.5'), + ('lz4', '1.9.4'), +] + +skipsteps = ['configure'] + +runtest = 'check' + +installopts = "PREFIX=%(installdir)s" + +sanity_check_paths = { + 'files': ["bin/zstd", "lib/libzstd.%s" % SHLIB_EXT, "include/zstd.h"], + 'dirs': ["lib/pkgconfig"] +} + +moduleclass = 'lib' diff --git a/setup.cfg b/setup.cfg index 9b93cac3d31..3e70f500f0d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,72 @@ zip_ok = 0 [flake8] max-line-length = 120 - -[sdist] -# Don't remove CVS and RCS directories -prune = 0 +builtins = + # eb --avail-cfgfile-constants + ARCH, + EXTERNAL_MODULE, + HOME, + OS_NAME, + OS_PKG_IBVERBS_DEV, + OS_PKG_OPENSSL_BIN, + OS_PKG_OPENSSL_DEV, + OS_PKG_OPENSSL_LIB, + OS_PKG_PAM_DEV, + OS_TYPE, + OS_VERSION, + SYSTEM, + SYS_PYTHON_VERSION, + # https://docs.easybuild.io/en/latest/version-specific/easyconfig_templates.html + APACHE_SOURCE, + BITBUCKET_SOURCE, + BITBUCKET_DOWNLOADS, + CRAN_SOURCE, + FTPGNOME_SOURCE, + GITHUB_SOURCE, + GITHUB_LOWER_SOURCE, + GITHUB_RELEASE, + GITHUB_LOWER_RELEASE, + GNU_SAVANNAH_SOURCE, + GNU_SOURCE, + GOOGLECODE_SOURCE, + LAUNCHPAD_SOURCE, + PYPI_SOURCE, + PYPI_LOWER_SOURCE, + R_SOURCE, + SOURCEFORGE_SOURCE, + XORG_DATA_SOURCE, + XORG_LIB_SOURCE, + XORG_PROTO_SOURCE, + XORG_UTIL_SOURCE, + XORG_XCB_SOURCE, + SHLIB_EXT, + SOURCE_TAR_GZ, + SOURCELOWER_TAR_GZ, + SOURCE_TAR_XZ, + SOURCELOWER_TAR_XZ, + SOURCE_TAR_BZ2, + SOURCELOWER_TAR_BZ2, + SOURCE_TGZ, + SOURCELOWER_TGZ, + SOURCE_TXZ, + SOURCELOWER_TXZ, + SOURCE_TBZ2, + SOURCELOWER_TBZ2, + SOURCE_TB2, + SOURCELOWER_TB2, + SOURCE_GTGZ, + SOURCELOWER_GTGZ, + SOURCE_ZIP, + SOURCELOWER_ZIP, + SOURCE_TAR, + SOURCELOWER_TAR, + SOURCE_XZ, + SOURCELOWER_XZ, + SOURCE_TAR_Z, + SOURCELOWER_TAR_Z, + SOURCE_WHL, + SOURCELOWER_WHL, + SOURCE_PY2_WHL, + SOURCELOWER_PY2_WHL, + SOURCE_PY3_WHL, + SOURCELOWER_PY3_WHL diff --git a/setup.py b/setup.py index fbbf8c4e026..15cbcf7470d 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,5 @@ ## -# Copyright 2012-2021 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.4.2.dev0' +VERSION = '4.9.5.dev0' MAJ_VER = VERSION.split('.')[0] MAJMIN_VER = '.'.join(VERSION.split('.')[0:2]) @@ -84,7 +84,7 @@ def get_data_files(): versions, etc.).""", license="GPLv2", keywords="software build building installation installing compilation HPC scientific", - url="https://easybuilders.github.io/easybuild/", + url="https://easybuild.io", data_files=get_data_files(), long_description=read("README.rst"), classifiers=[ @@ -93,15 +93,17 @@ def get_data_files(): "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", "Topic :: Software Development :: Build Tools", ], + packages=[], platforms="Linux", requires=[ "easybuild_framework(>=%s.0)" % MAJ_VER, diff --git a/test/__init__.py b/test/__init__.py index 1681f47ed8d..8ab7c0ed706 100644 --- a/test/__init__.py +++ b/test/__init__.py @@ -1,5 +1,5 @@ ## -# Copyright 2009-2021 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 4a937e0793d..0626f94e5f3 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -1,5 +1,5 @@ ## -# Copyright 2013-2021 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), @@ -31,9 +31,10 @@ import os import re import shutil +import stat import sys import tempfile -from distutils.version import LooseVersion +from collections import defaultdict from unittest import TestCase, TestLoader, main, skip import easybuild.main as eb_main @@ -42,16 +43,17 @@ from easybuild.easyblocks.generic.configuremake import ConfigureMake from easybuild.easyblocks.generic.pythonpackage import PythonPackage from easybuild.framework.easyblock import EasyBlock +from easybuild.framework.easyconfig.constants import EASYCONFIG_CONSTANTS from easybuild.framework.easyconfig.default import DEFAULT_CONFIG from easybuild.framework.easyconfig.format.format import DEPENDENCY_PARAMETERS from easybuild.framework.easyconfig.easyconfig import get_easyblock_class, letter_dir_for from easybuild.framework.easyconfig.easyconfig import resolve_template from easybuild.framework.easyconfig.parser import EasyConfigParser, fetch_parameters_from_easyconfig from easybuild.framework.easyconfig.tools import check_sha256_checksums, dep_graph, get_paths_for, process_easyconfig -from easybuild.tools import config +from easybuild.tools import config, LooseVersion from easybuild.tools.build_log import EasyBuildError from easybuild.tools.config import GENERAL_CLASS, build_option -from easybuild.tools.filetools import change_dir, is_generic_easyblock, remove_file +from easybuild.tools.filetools import change_dir, is_generic_easyblock, read_file, remove_file from easybuild.tools.filetools import verify_checksum, which, write_file from easybuild.tools.module_naming_scheme.utilities import det_full_ec_version from easybuild.tools.modules import modules_tool @@ -98,7 +100,7 @@ def skip_if_not_pr_to_non_main_branch(): return lambda func: func -def get_eb_files_from_diff(diff_filter): +def get_files_from_diff(diff_filter, ext): """Return the files changed on HEAD relative to the current target branch""" target_branch = get_target_branch() @@ -122,12 +124,17 @@ def get_eb_files_from_diff(diff_filter): # determine list of changed files using 'git diff' and merge base determined above cmd = "git diff --name-only --diff-filter=%s %s..HEAD --" % (diff_filter, merge_base) out, _ = run_cmd(cmd, simple=False) - files = [os.path.basename(f) for f in out.strip().split('\n') if f.endswith('.eb')] + files = [os.path.join(top_dir, f) for f in out.strip().split('\n') if f.endswith(ext)] change_dir(cwd) return files +def get_eb_files_from_diff(diff_filter): + """Return the easyconfig files changed on HEAD relative to the current target branch""" + return get_files_from_diff(diff_filter, '.eb') + + class EasyConfigTest(TestCase): """Baseclass for easyconfig testcases.""" @@ -171,7 +178,8 @@ def setUpClass(cls): cls._ordered_specs = None cls._parsed_easyconfigs = [] cls._parsed_all_easyconfigs = False - cls._changed_ecs = None # ECs changed in a PR + cls._changed_ecs = None # easyconfigs changed in a PR + cls._changed_patches = None # patches changed in a PR @classmethod def tearDownClass(cls): @@ -208,8 +216,19 @@ def resolve_all_dependencies(cls): def _get_changed_easyconfigs(self): """Gather all added or modified easyconfigs""" # get list of changed easyconfigs - changed_ecs_filenames = get_eb_files_from_diff(diff_filter='M') - added_ecs_filenames = get_eb_files_from_diff(diff_filter='A') + changed_ecs_files = get_eb_files_from_diff(diff_filter='M') + added_ecs_files = get_eb_files_from_diff(diff_filter='A') + + # ignore template easyconfig (TEMPLATE.eb) and archived easyconfigs + def filter_ecs(ecs): + archive_path = os.path.join('easybuild', 'easyconfigs', '__archive__') + return [ec for ec in ecs if os.path.basename(ec) != 'TEMPLATE.eb' and archive_path not in ec] + + changed_ecs_files = filter_ecs(changed_ecs_files) + added_ecs_files = filter_ecs(added_ecs_files) + + changed_ecs_filenames = [os.path.basename(f) for f in changed_ecs_files] + added_ecs_filenames = [os.path.basename(f) for f in added_ecs_files] if changed_ecs_filenames: print("\nList of changed easyconfig files in this PR:\n\t%s" % '\n\t'.join(changed_ecs_filenames)) if added_ecs_filenames: @@ -219,28 +238,37 @@ def _get_changed_easyconfigs(self): # grab parsed easyconfigs for changed easyconfig files changed_ecs = [] - for ec_fn in changed_ecs_filenames + added_ecs_filenames: - match = None - for ec in self.parsed_easyconfigs: - if os.path.basename(ec['spec']) == ec_fn: - match = ec['ec'] - break + easyconfigs_path = get_paths_for("easyconfigs")[0] + for ec_file in changed_ecs_files + added_ecs_files: + # Search in already parsed ECs first + match = next((ec['ec'] for ec in EasyConfigTest._parsed_easyconfigs if ec['spec'] == ec_file), None) if match: changed_ecs.append(match) + elif ec_file.startswith(easyconfigs_path): + ec = process_easyconfig(ec_file) + # Cache non-archived files + if '__archive__' not in ec_file: + EasyConfigTest._parsed_easyconfigs.extend(ec) + changed_ecs.append(ec[0]['ec']) else: - # if no easyconfig is found, it's possible some archived easyconfigs were touched in the PR... - # so as a last resort, try to find the easyconfig file in __archive__ - easyconfigs_path = get_paths_for("easyconfigs")[0] - specs = glob.glob('%s/__archive__/*/*/%s' % (easyconfigs_path, ec_fn)) - if len(specs) == 1: - ec = process_easyconfig(specs[0])[0] - changed_ecs.append(ec['ec']) - else: - raise RuntimeError("Failed to find parsed easyconfig for %s" - " (and could not isolate it in easyconfigs archive either)" % ec_fn) + raise RuntimeError("Failed to find parsed easyconfig for %s" % os.path.basename(ec_file)) EasyConfigTest._changed_ecs = changed_ecs + def _get_changed_patches(self): + """Gather all added or modified patches""" + + # get list of changed/added patch files + changed_patches = get_files_from_diff(diff_filter='M', ext='.patch') + added_patches = get_files_from_diff(diff_filter='A', ext='.patch') + + if changed_patches: + print("\nList of changed patch files in this PR:\n\t%s" % '\n\t'.join(changed_patches)) + if added_patches: + print("\nList of added patch files in this PR:\n\t%s" % '\n\t'.join(added_patches)) + + EasyConfigTest._changed_patches = changed_patches + added_patches + @property def parsed_easyconfigs(self): # parse all easyconfigs if they haven't been already @@ -272,6 +300,12 @@ def changed_ecs(self): self._get_changed_easyconfigs() return EasyConfigTest._changed_ecs + @property + def changed_patches(self): + if EasyConfigTest._changed_patches is None: + self._get_changed_patches() + return EasyConfigTest._changed_patches + def test_dep_graph(self): """Unit test that builds a full dependency graph.""" # pygraph dependencies required for constructing dependency graph are not available prior to Python 2.6 @@ -296,15 +330,42 @@ def test_conflicts(self): self.assertFalse(check_conflicts(self.ordered_specs, modules_tool(), check_inter_ec_conflicts=False), "No conflicts detected") + def test_deps(self): + """Perform checks on dependencies in easyconfig files""" + + 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 + for dep in ec['ec'].dependencies(): + if dep['name'] == 'HDF5': + ver = dep['version'] + if int(ver.split('.')[1]) % 2 == 1: + fail = "Odd minor versions of HDF5 should not be used as a dependency: " + fail += "found HDF5 v%s as dependency in %s" % (ver, os.path.basename(ec['spec'])) + fails.append(fail) + + self.assertFalse(len(fails), '\n'.join(sorted(fails))) + def check_dep_vars(self, gen, dep, dep_vars): """Check whether available variants of a particular dependency are acceptable or not.""" # 'guilty' until proven 'innocent' res = False - # filter out wrapped Java versions + # filter out wrapped Java or dotNET-Core versions # i.e. if the version of one is a prefix of the version of the other one (e.g. 1.8 & 1.8.0_181) - if dep == 'Java': + if dep in ['Java', 'dotNET-Core']: dep_vars_to_check = sorted(dep_vars.keys()) retained_dep_vars = [] @@ -324,72 +385,110 @@ def check_dep_vars(self, gen, dep, dep_vars): if key not in retained_dep_vars: del dep_vars[key] - # filter out binutils with empty versionsuffix which is used to build toolchain compiler - if dep == 'binutils' and len(dep_vars) > 1: - empty_vsuff_vars = [v for v in dep_vars.keys() if v.endswith('versionsuffix: ')] - if len(empty_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != empty_vsuff_vars[0]) + version_regex = re.compile('^version: (?P[^;]+);') # multiple variants of HTSlib is OK as long as they are deps for a matching version of BCFtools; - # same goes for WRF and WPS - for dep_name, parent_name in [('HTSlib', 'BCFtools'), ('WRF', 'WPS')]: + # same goes for WRF and WPS; Gurobi and Rgurobi; ncbi-vdb and SRA-Toolkit + multiple_allowed_variants = [('HTSlib', 'BCFtools'), + ('WRF', 'WPS'), + ('Gurobi', 'Rgurobi'), + ('ncbi-vdb', 'SRA-Toolkit')] + for dep_name, parent_name in multiple_allowed_variants: if dep == dep_name and len(dep_vars) > 1: for key in list(dep_vars): ecs = dep_vars[key] # filter out dep variants that are only used as dependency for parent with same version - dep_ver = re.search('^version: (?P[^;]+);', key).group('ver') + dep_ver = version_regex.search(key).group('version') 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): ecs = dep_vars[key] # filter out Boost variants that are only used as dependency for Boost.Python with same version - boost_ver = re.search('^version: (?P[^;]+);', key).group('ver') + boost_ver = version_regex.search(key).group('version') if all(ec.startswith('Boost.Python-%s-' % boost_ver) for ec in ecs): dep_vars.pop(key) - # filter out Perl with -minimal versionsuffix which are only used in makeinfo-minimal - if dep == 'Perl': - minimal_vsuff_vars = [v for v in dep_vars.keys() if v.endswith('versionsuffix: -minimal')] - if len(minimal_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != minimal_vsuff_vars[0]) - - # filter out FFTW and imkl with -serial versionsuffix which are used in non-MPI subtoolchains - if dep in ['FFTW', 'imkl']: - serial_vsuff_vars = [v for v in dep_vars.keys() if v.endswith('versionsuffix: -serial')] - if len(serial_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != serial_vsuff_vars[0]) - - # filter out BLIS and libFLAME with -amd versionsuffix - # (AMD forks, used in gobff/*-amd toolchains) - if dep in ['BLIS', 'libFLAME']: - amd_vsuff_vars = [v for v in dep_vars.keys() if v.endswith('versionsuffix: -amd')] - if len(amd_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != amd_vsuff_vars[0]) - - # filter out ScaLAPACK with -BLIS-* versionsuffix, used in goblf toolchain - if dep == 'ScaLAPACK': - blis_vsuff_vars = [v for v in dep_vars.keys() if '; versionsuffix: -BLIS-' in v] - if len(blis_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != blis_vsuff_vars[0]) - - if dep == 'ScaLAPACK': + # Pairs of name, versionsuffix that should be removed from dep_vars if exactly one matching key is found. + # The name is checked against 'dep' and can be a list to allow multiple + # If the versionsuffix is a 2-element tuple, the second element should be set to True + # to interpret the first element as the start of the suffix (e.g. to include trailing version numbers) + # Otherwise the whole versionsuffix must match for the filter to apply. + filter_variants = [ + # filter out binutils with empty versionsuffix which is used to build toolchain compiler + ('binutils', ''), + # filter out Perl with -minimal versionsuffix which are only used in makeinfo-minimal + ('Perl', '-minimal'), + # filter out FFTW and imkl with -serial versionsuffix which are used in non-MPI subtoolchains + # Same for HDF5 with -serial versionsuffix which is used in HDF5 for Python (h5py) + (['FFTW', 'imkl', 'HDF5'], '-serial'), + # filter out BLIS and libFLAME with -amd versionsuffix + # (AMD forks, used in gobff/*-amd toolchains) + (['BLIS', 'libFLAME'], '-amd'), + # filter out libcint with -pypzpx versionsuffix, used by MOLGW + ('libcint', '-pypzpx'), + # filter out OpenBLAS with -int8 versionsuffix, used by GAMESS-US + ('OpenBLAS', '-int8'), + # filter out ScaLAPACK with -BLIS-* versionsuffix, used in goblf toolchain + ('ScaLAPACK', ('-BLIS-', True)), # filter out ScaLAPACK with -bf versionsuffix, used in gobff toolchain - bf_vsuff_vars = [v for v in dep_vars.keys() if '; versionsuffix: -bf' in v] - if len(bf_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != bf_vsuff_vars[0]) + ('ScaLAPACK', '-bf'), # filter out ScaLAPACK with -bl versionsuffix, used in goblf toolchain - bl_vsuff_vars = [v for v in dep_vars.keys() if '; versionsuffix: -bl' in v] - if len(bl_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != bl_vsuff_vars[0]) + ('ScaLAPACK', '-bl'), + # filter out ELSI variants with -PEXSI suffix + ('ELSI', '-PEXSI'), + # For Z3 the EC including Python bindings has a matching versionsuffix + # filter out one per Python version + ('Z3', ('-Python-2', True)), + ('Z3', ('-Python-3', True)), + ] + for dep_name, version_suffix in filter_variants: + # always retain at least one dep variant + if len(dep_vars) == 1: + break + if isinstance(dep_name, string_type): + if dep != dep_name: + continue + elif dep not in dep_name: + continue + if isinstance(version_suffix, string_type): + match_prefix = False + else: + version_suffix, match_prefix = version_suffix + search = 'versionsuffix: ' + version_suffix + if match_prefix: + matches = [v for v in dep_vars if search in v] + else: + matches = [v for v in dep_vars if v.endswith(search)] + if len(matches) == 1: + del dep_vars[matches[0]] # for some dependencies, we allow exceptions for software that depends on a particular version, # as long as that's indicated by the versionsuffix - if dep in ['ASE', 'Boost', 'Java', 'Lua', 'PLUMED', 'PyTorch', 'R', 'TensorFlow'] and len(dep_vars) > 1: + versionsuffix_deps = ['ASE', 'Boost', 'CUDA', 'CUDAcore', 'Java', 'Lua', + 'PLUMED', 'PyTorch', 'R', 'Rust', 'TensorFlow'] + if dep in versionsuffix_deps and len(dep_vars) > 1: + + # check for '-CUDA-*' versionsuffix for CUDAcore dependency + if dep == 'CUDAcore': + dep = 'CUDA' + for key in list(dep_vars): - dep_ver = re.search('^version: (?P[^;]+);', key).group('ver') + dep_ver = version_regex.search(key).group('version') # use version of Java wrapper rather than full Java version if dep == 'Java': dep_ver = '.'.join(dep_ver.split('.')[:2]) @@ -409,27 +508,71 @@ 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): + if len(dep_vars) >= len(cuda_dep_vars) and len(dep_vars) > 1: for key in list(dep_vars): if re.search('; versionsuffix: .*-CUDA-[0-9.]+', key): dep_vars.pop(key) + # always retain at least one dep variant + if len(dep_vars) == 1: + break # some software packages require a specific (older/newer) version of a particular dependency - old_dep_versions = { + alt_dep_versions = { + # jax 0.2.24 is used as dep for AlphaFold 2.1.2 (other easyconfigs with foss/2021a use jax 0.3.9) + 'jax': [(r'0\.2\.24', [r'AlphaFold-2\.1\.2-foss-2021a'])], + # arrow-R 6.0.0.2 is used for two R/R-bundle-Bioconductor sets (4.1.2/3.14 and 4.2.0/3.15) + 'arrow-R': [('6.0.0.2', [r'R-bundle-Bioconductor-'])], # EMAN2 2.3 requires Boost(.Python) 1.64.0 'Boost': [('1.64.0;', [r'Boost.Python-1\.64\.0-', r'EMAN2-2\.3-'])], 'Boost.Python': [('1.64.0;', [r'EMAN2-2\.3-'])], + # GATE 9.2 requires CHLEP 2.4.5.1 and Geant4 11.0.x + 'CLHEP': [('2.4.5.1;', [r'GATE-9\.2-foss-2021b'])], + # Score-P 8.3+ requires Cube 4.8.2+ but we have 4.8.1 already + 'CubeLib': [(r'4\.8\.2;', [r'Score-P-8\.[3-9]'])], + 'CubeWriter': [(r'4\.8\.2;', [r'Score-P-8\.[3-9]'])], + # egl variant of glew is required by libwpe, wpebackend-fdo + WebKitGTK+ depend on libwpe + 'glew': [ + ('2.2.0; versionsuffix: -egl', [r'libwpe-1\.13\.3-GCCcore-11\.2\.0', + r'libwpe-1\.14\.1-GCCcore-11\.3\.0', + r'wpebackend-fdo-1\.13\.1-GCCcore-11\.2\.0', + r'wpebackend-fdo-1\.14\.1-GCCcore-11\.3\.0', + r'WebKitGTK\+-2\.37\.1-GCC-11\.2\.0', + r'wxPython-4\.2\.0', + r'wxPython-4\.2\.1', + r'GRASS-8\.2\.0', + r'QGIS-3\.28\.1']), + ], + 'Geant4': [('11.0.1;', [r'GATE-9\.2-foss-2021b'])], + # VMTK 1.4.x requires ITK 4.13.x + 'ITK': [(r'4\.13\.', [r'VMTK-1\.4\.'])], # Kraken 1.x requires Jellyfish 1.x (Roary & metaWRAP depend on Kraken 1.x) 'Jellyfish': [(r'1\.', [r'Kraken-1\.', r'Roary-3\.12\.0', r'metaWRAP-1\.2'])], # Libint 1.1.6 is required by older CP2K versions 'Libint': [(r'1\.1\.6', [r'CP2K-[3-6]'])], # libxc 2.x or 3.x is required by ABINIT, AtomPAW, CP2K, GPAW, horton, PySCF, WIEN2k + # libxc 4.x is required by libGridXC # (Qiskit depends on PySCF), Elk 7.x requires libxc >= 5 'libxc': [ (r'[23]\.', [r'ABINIT-', r'AtomPAW-', r'CP2K-', r'GPAW-', r'horton-', r'PySCF-', r'Qiskit-', r'WIEN2k-']), + (r'4\.', [r'libGridXC-']), (r'5\.', [r'Elk-']), ], # some software depends on numba, which typically requires an older LLVM; @@ -437,18 +580,63 @@ def check_dep_vars(self, gen, dep, dep_vars): 'LLVM': [ # numba 0.47.x requires LLVM 7.x or 8.x (see https://github.com/numba/llvmlite#compatibility) (r'8\.', [r'numba-0\.47\.0-', r'librosa-0\.7\.2-', r'BirdNET-20201214-', - r'scVelo-0\.1\.24-', r'PyTorch-Geometric-1\.[34]\.2']), + r'scVelo-0\.1\.24-', r'PyTorch-Geometric-1\.[346]\.[23]', r'SHAP-0\.42\.1']), (r'10\.0\.1', [r'cell2location-0\.05-alpha-', r'cryoDRGN-0\.3\.2-', r'loompy-3\.0\.6-', r'numba-0\.52\.0-', r'PyOD-0\.8\.7-', r'PyTorch-Geometric-1\.6\.3', r'scanpy-1\.7\.2-', r'umap-learn-0\.4\.6-']), ], + 'Lua': [ + # SimpleITK 2.1.0 requires Lua 5.3.x, MedPy and nnU-Net depend on SimpleITK + (r'5\.3\.5', [r'nnU-Net-1\.7\.0-', r'MedPy-0\.4\.0-', r'SimpleITK-2\.1\.0-']), + ], + # FDMNES requires sequential variant of MUMPS + 'MUMPS': [(r'5\.6\.1; versionsuffix: -metis-seq', [r'FDMNES'])], + # SRA-toolkit 3.0.0 requires ncbi-vdb 3.0.0, Finder requires SRA-Toolkit 3.0.0 + 'ncbi-vdb': [(r'3\.0\.0', [r'SRA-Toolkit-3\.0\.0', r'finder-1\.1\.0'])], + # TensorFlow 2.5+ requires a more recent NCCL than version 2.4.8 used in 2019b generation; + # Horovod depends on TensorFlow, so same exception required there + 'NCCL': [(r'2\.11\.4', [r'TensorFlow-2\.[5-9]\.', r'Horovod-0\.2[2-9]'])], # rampart requires nodejs > 10, artic-ncov2019 requires rampart 'nodejs': [('12.16.1', ['rampart-1.2.0rc3-', 'artic-ncov2019-2020.04.13'])], + # some software depends on an older numba; + # this includes BirdNET, cell2location, cryoDRGN, librosa, PyOD, Python-Geometric, scVelo, scanpy + 'numba': [ + (r'0\.52\.0', [r'cell2location-0\.05-alpha-', r'cryoDRGN-0\.3\.2-', r'loompy-3\.0\.6-', + r'PyOD-0\.8\.7-', r'PyTorch-Geometric-1\.6\.3', r'scanpy-1\.7\.2-', + r'umap-learn-0\.4\.6-']), + ], + 'OpenFOAM': [ + # CFDEMcoupling requires OpenFOAM 5.x + (r'5\.0-20180606', [r'CFDEMcoupling-3\.8\.0']), + ], + 'ParaView': [ + # 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-', 'GTDB-Tk-2.4.0-']), + ('2.7.4;', ['MultiQC-1.22.3-']), + ], + # 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 + # WhatsHap 1.4 + medaka 1.6.0 require Pysam >= 0.18.0 (NGSpeciesID depends on medaka) + 'Pysam': [ + ('0.16.0.1;', ['medaka-1.2.[0]-', 'medaka-1.1.[13]-', 'medaka-1.4.3-', 'decona-0.1.2-', + 'NGSpeciesID-0.1.1.1-']), + ('0.18.0;', ['medaka-1.6.0-', 'NGSpeciesID-0.1.2.1-', 'WhatsHap-1.4-']), + ], # OPERA requires SAMtools 0.x 'SAMtools': [(r'0\.', [r'ChimPipe-0\.9\.5', r'Cufflinks-2\.2\.1', r'OPERA-2\.0\.6', r'CGmapTools-0\.1\.2', r'BatMeth2-2\.1'])], # NanoPlot, NanoComp use an older version of Seaborn 'Seaborn': [(r'0\.10\.1', [r'NanoComp-1\.13\.1-', r'NanoPlot-1\.33\.0-'])], + # Shasta requires spoa 3.x + 'spoa': [(r'3\.4\.0', [r'Shasta-0\.8\.0-'])], + # UShER requires tbb-2020.3 as newer versions will not build + # orthagogue requires tbb-2020.3 as 2021 versions are not backward compatible with the previous releases + 'tbb': [('2020.3', ['UShER-0.5.0-', 'orthAgogue-20141105-'])], 'TensorFlow': [ # medaka 0.11.4/0.12.0 requires recent TensorFlow <= 1.14 (and Python 3.6), # artic-ncov2019 requires medaka @@ -459,30 +647,40 @@ def check_dep_vars(self, gen, dep, dep_vars): # decona 0.1.2 and NGSpeciesID 0.1.1.1 depend on medaka 1.1.3 ('2.2.0;', ['medaka-1.2.[0]-', 'medaka-1.1.[13]-', 'Horovod-0.19.5-', 'decona-0.1.2-', 'NGSpeciesID-0.1.1.1-']), - # medaka 1.4.3 depends on TensorFlow 2.2.2 + # medaka 1.4.3 (foss/2019b) depends on TensorFlow 2.2.2 ('2.2.2;', ['medaka-1.4.3-']), + # medaka 1.4.3 (foss/2020b) depends on TensorFlow 2.2.3; longread_umi and artic depend on medaka + ('2.2.3;', ['medaka-1.4.3-', 'artic-ncov2019-2021.06.24-', 'longread_umi-0.3.2-']), + # AlphaFold 2.1.2 (foss/2020b) depends on TensorFlow 2.5.0 + ('2.5.0;', ['AlphaFold-2.1.2-']), + # medaka 1.5.0 (foss/2021a) depends on TensorFlow >=2.5.2, <2.6.0 + ('2.5.3;', ['medaka-1.5.0-']), + # tensorflow-probability version to TF version + ('2.8.4;', ['tensorflow-probability-0.16.0-']), ], - # 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 - 'Pysam': [('0.16.0.1;', ['medaka-1.2.[0]-', 'medaka-1.1.[13]-', 'medaka-1.4.3-', 'decona-0.1.2-', - 'NGSpeciesID-0.1.1.1-'])], + # smooth-topk uses a newer version of torchvision + 'torchvision': [('0.11.3;', ['smooth-topk-1.0-20210817-'])], + # for the sake of backwards compatibility, keep UCX-CUDA v1.11.0 which depends on UCX v1.11.0 + # (for 2021b, UCX was updated to v1.11.2) + 'UCX': [('1.11.0;', ['UCX-CUDA-1.11.0-'])], + # Napari 0.4.19post1 requires VisPy >=0.14.1 <0.15 + 'VisPy': [('0.14.1;', ['napari-0.4.19.post1-'])], + # Visit-3.4.1 requires VTK 9.2.x + 'VTK': [('9.2.6;', ['Visit-3.4.1-'])], + # WPS 3.9.1 requires WRF 3.9.1.1 + 'WRF': [(r'3\.9\.1\.1', [r'WPS-3\.9\.1'])], + # wxPython 4.2.0 depends on wxWidgets 3.2.0 + 'wxWidgets': [(r'3\.2\.0', [r'wxPython-4\.2\.0', r'GRASS-8\.2\.0', r'QGIS-3\.28\.1'])], } - if dep in old_dep_versions and len(dep_vars) > 1: + if dep in alt_dep_versions and len(dep_vars) > 1: for key in list(dep_vars): - for version_pattern, parents in old_dep_versions[dep]: - # filter out known old dependency versions + for version_pattern, parents in alt_dep_versions[dep]: + # filter out known alternative dependency versions if re.search('^version: %s' % version_pattern, key): # only filter if the easyconfig using this dep variants is known if all(any(re.search(p, x) for p in parents) for x in dep_vars[key]): dep_vars.pop(key) - # filter out ELSI variants with -PEXSI suffix - if dep == 'ELSI' and len(dep_vars) > 1: - pexsi_vsuff_vars = [v for v in dep_vars.keys() if v.endswith('versionsuffix: -PEXSI')] - if len(pexsi_vsuff_vars) == 1: - dep_vars = dict((k, v) for (k, v) in dep_vars.items() if k != pexsi_vsuff_vars[0]) - # only single variant is always OK if len(dep_vars) == 1: res = True @@ -677,6 +875,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. @@ -710,6 +932,7 @@ def get_deps_for(ec): # which throws off the pattern matching done below for toolchain versions false_positives_regex = re.compile('^MATLAB-Engine-20[0-9][0-9][ab]') + multi_dep_vars_msg = '' # restrict to checking dependencies of easyconfigs using common toolchains (start with 2018a) # and GCCcore subtoolchain for common toolchains, starting with GCCcore 7.x for pattern in ['20(1[89]|[2-9][0-9])[ab]', r'GCCcore-([7-9]|[1-9][0-9])\.[0-9]']: @@ -735,19 +958,15 @@ def get_deps_for(ec): dep_variants.setdefault(variant, set()).add(ec_file) # check which dependencies have more than 1 variant - multi_dep_vars, multi_dep_vars_msg = [], '' - for tc_gen in sorted(all_deps.keys()): - for dep in sorted(all_deps[tc_gen].keys()): - dep_vars = all_deps[tc_gen][dep] + for tc_gen, deps in sorted(all_deps.items()): + for dep, dep_vars in sorted(deps.items()): if not self.check_dep_vars(tc_gen, dep, dep_vars): - multi_dep_vars.append(dep) - multi_dep_vars_msg += "\nfound %s variants of '%s' dependency " % (len(dep_vars), dep) + multi_dep_vars_msg += "Found %s variants of '%s' dependency " % (len(dep_vars), dep) multi_dep_vars_msg += "in easyconfigs using '%s' toolchain generation\n* " % tc_gen - multi_dep_vars_msg += '\n* '.join("%s as dep for %s" % v for v in sorted(dep_vars.items())) + multi_dep_vars_msg += '\n * '.join("%s as dep for %s" % v for v in sorted(dep_vars.items())) multi_dep_vars_msg += '\n' - - error_msg = "No multi-variant deps found for '%s' easyconfigs:\n%s" % (regex.pattern, multi_dep_vars_msg) - self.assertFalse(multi_dep_vars, error_msg) + if multi_dep_vars_msg: + self.fail('Should not have multiple variants of dependencies.\n' + multi_dep_vars_msg) def test_sanity_check_paths(self): """Make sure specified sanity check paths adher to the requirements.""" @@ -784,14 +1003,34 @@ def test_easyconfig_locations(self): # ignore git/svn dirs & archived easyconfigs if '/.git/' in dirpath or '/.svn/' in dirpath or '__archive__' in dirpath: continue - # check whether list of .eb files is non-empty - easyconfig_files = [fn for fn in filenames if fn.endswith('eb')] + # check whether list of .eb files is non-empty, only exception: TEMPLATE.eb + easyconfig_files = [fn for fn in filenames if fn.endswith('eb') and fn != 'TEMPLATE.eb'] if easyconfig_files: # check whether path matches required pattern if not easyconfig_dirs_regex.search(dirpath): - # only exception: TEMPLATE.eb - if not (dirpath.endswith('/easybuild/easyconfigs') and filenames == ['TEMPLATE.eb']): - self.assertTrue(False, "List of easyconfig files in %s is empty: %s" % (dirpath, filenames)) + if not dirpath.endswith('/easybuild/easyconfigs'): + self.fail("There should be no easyconfig files in %s, found %s" % (dirpath, easyconfig_files)) + + def test_easyconfig_name_clashes(self): + """Make sure there is not a name clash when all names are lowercase""" + topdir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + names = defaultdict(list) + # ignore git/svn dirs & archived easyconfigs + ignore_dirs = ['.git', '.svn', '__archive__'] + for (dirpath, _, _) in os.walk(topdir): + if not any('/%s' % d in dirpath for d in ignore_dirs): + dirpath_split = dirpath.replace(topdir, '').split(os.sep) + if len(dirpath_split) == 5: + name = dirpath_split[4] + names[name.lower()].append(name) + + duplicates = {} + for name in names: + if len(names[name]) > 1: + duplicates[name] = names[name] + + if duplicates: + self.fail("EasyConfigs with case-insensitive name clash: %s" % duplicates) @skip_if_not_pr_to_non_main_branch() def test_pr_sha256_checksums(self): @@ -809,24 +1048,19 @@ def test_pr_sha256_checksums(self): 'R-bundle-Bioconductor-3.[2-5]', ] - # the check_sha256_checksums function (again) creates an EasyBlock instance - # for easyconfigs using the Bundle easyblock, this is a problem because the 'sources' easyconfig parameter - # is updated in place (sources for components are added to the 'parent' sources) in Bundle's __init__; - # therefore, we need to reset 'sources' to an empty list here if Bundle is used... - # likewise for 'patches' and 'checksums' - for ec in self.changed_ecs: - if ec['easyblock'] in ['Bundle', 'PythonBundle', 'EB_OpenSSL_wrapper']: - ec['sources'] = [] - ec['patches'] = [] - ec['checksums'] = [] - # filter out deprecated easyconfigs - retained_changed_ecs = [] - for ec in self.changed_ecs: - if not ec['deprecated']: - retained_changed_ecs.append(ec) - - checksum_issues = check_sha256_checksums(retained_changed_ecs, whitelist=whitelist) + retained_changed_ecs = [ec for ec in self.changed_ecs if not ec['deprecated']] + + # The check_sha256_checksums function creates an EasyBlock instance. + # For easyconfigs using the Bundle easyblock, this is a problem because the 'sources' easyconfig parameter + # is updated in place (sources for components are added to the 'parent' sources) in Bundle's __init__. + # Therefore, we need to a operate on a copy of those easyconfigs. + bundle_easyblocks = {'Bundle', 'CargoPythonBundle', 'PythonBundle', 'EB_OpenSSL_wrapper'} + + def is_bundle(ec): + return ec['easyblock'] in bundle_easyblocks or ec['name'] == 'Clang-AOMP' + ecs = [ec.copy() if is_bundle(ec) else ec for ec in retained_changed_ecs] + checksum_issues = check_sha256_checksums(ecs, whitelist=whitelist) self.assertTrue(len(checksum_issues) == 0, "No checksum issues:\n%s" % '\n'.join(checksum_issues)) @skip_if_not_pr_to_non_main_branch() @@ -843,10 +1077,15 @@ def test_pr_python_packages(self): whitelist_pip_check = [ r'Mako-1.0.4.*Python-2.7.12.*', - # no pip 9.x or newer for configparser easyconfigs using a 2016a or 2016b toolchain - r'configparser-3.5.0.*-2016[ab].*', + # no pip 9.x or newer for easyconfigs using a 2016a or 2016b toolchain + r'.*-2016[ab]-Python-.*', # mympirun is installed with system Python, pip may not be installed for system Python r'vsc-mympirun.*', + # ReFrame intentionally installs its deps in a %(installdir)s/external subdir, which is added + # to sys.path by the ReFrame command, and is intentionally NOT on the PYTHONPATH. + # Thus, a pip check fails, but this is expected and ok, it is still a working ReFrame installation + # See https://github.com/easybuilders/easybuild-easyconfigs/pull/21269 for more info + r'ReFrame.*', ] failing_checks = [] @@ -880,13 +1119,14 @@ def test_pr_python_packages(self): failing_checks.append("'source_urls' should not be defined when using the default value " "in %s" % ec_fn) - # use_pip should be set when using PythonPackage or PythonBundle (except for whitelisted easyconfigs) - if easyblock in ['PythonBundle', 'PythonPackage']: + # use_pip should be set when using PythonPackage or PythonBundle, + # or an easyblock that derives from it (except for whitelisted easyconfigs) + if easyblock in ['CargoPythonBundle', 'CargoPythonPackage', 'PythonBundle', 'PythonPackage']: if use_pip is None and not any(re.match(regex, ec_fn) for regex in whitelist_pip): failing_checks.append("'use_pip' should be set in %s" % ec_fn) # download_dep_fail is enabled automatically in PythonBundle easyblock, so shouldn't be set - if easyblock == 'PythonBundle': + if easyblock in ['CargoPythonBundle', 'PythonBundle']: if download_dep_fail or exts_download_dep_fail: fail = "'*download_dep_fail' should not be set in %s since PythonBundle easyblock is used" % ec_fn failing_checks.append(fail) @@ -906,36 +1146,39 @@ def test_pr_python_packages(self): if exts_default_options.get(key) is None: failing_checks.append("'%s' should be set in exts_default_options in %s" % (key, ec_fn)) - # if Python is a dependency, that should be reflected in the versionsuffix + # if Python is a dependency, that should be reflected in the versionsuffix since v3.8.6 + has_recent_python3_dep = any(LooseVersion(dep['version']) >= LooseVersion('3.8.6') + for dep in ec['dependencies'] if dep['name'] == 'Python') + has_old_python_dep = any(LooseVersion(dep['version']) < LooseVersion('3.8.6') + for dep in ec['dependencies'] if dep['name'] == 'Python') # Tkinter is an exception, since its version always matches the Python version anyway - # Python 3.8.6 and later are also excluded, as we consider python 3 the default python - # Also whitelist some updated versions of Amber + # Z3 is an exception, since it has easyconfigs with and without Python bindings + exception_python_suffix = ['Tkinter', 'Z3'] + # Also whitelist some specific easyconfigs from this check + # TODO: clean whitelist in EB 5.0 whitelist_python_suffix = [ 'Amber-16-*-2018b-AmberTools-17-patchlevel-10-15.eb', 'Amber-16-intel-2017b-AmberTools-17-patchlevel-8-12.eb', 'R-keras-2.1.6-foss-2018a-R-3.4.4.eb', ] whitelisted = any(re.match(regex, ec_fn) for regex in whitelist_python_suffix) - has_python_dep = any(LooseVersion(dep['version']) < LooseVersion('3.8.6') - for dep in ec['dependencies'] if dep['name'] == 'Python') - if has_python_dep and ec.name != 'Tkinter' and not whitelisted: - if not re.search(r'-Python-[23]\.[0-9]+\.[0-9]+', ec['versionsuffix']): - msg = "'-Python-%%(pyver)s' should be included in versionsuffix in %s" % ec_fn - # This is only a failure for newly added ECs, not for existing ECS - # As that would probably break many ECs - if ec_fn in self.added_ecs_filenames: - failing_checks.append(msg) - else: - print('\nNote: Failed non-critical check: ' + msg) - else: - has_recent_python3_dep = any(LooseVersion(dep['version']) >= LooseVersion('3.8.6') - for dep in ec['dependencies'] if dep['name'] == 'Python') - if has_recent_python3_dep and re.search(r'-Python-3\.[0-9]+\.[0-9]+', ec['versionsuffix']): - msg = "'-Python-%%(pyver)s' should no longer be included in versionsuffix in %s" % ec_fn + + if ec.name in exception_python_suffix or whitelisted: + continue + elif has_old_python_dep and not re.search(r'-Python-[23]\.[0-9]+\.[0-9]+', ec['versionsuffix']): + msg = "'-Python-%%(pyver)s' should be included in versionsuffix in %s" % ec_fn + # This is only a failure for newly added ECs, not for existing ECS + # As that would probably break many ECs + if ec_fn in self.added_ecs_filenames: failing_checks.append(msg) + else: + print('\nNote: Failed non-critical check: ' + msg) + elif has_recent_python3_dep and re.search(r'-Python-3\.[0-9]+\.[0-9]+', ec['versionsuffix']): + msg = "'-Python-%%(pyver)s' should no longer be included in versionsuffix in %s" % ec_fn + failing_checks.append(msg) # require that running of "pip check" during sanity check is enabled via sanity_pip_check - if easyblock in ['PythonBundle', 'PythonPackage']: + if easyblock in ['CargoPythonBundle', 'CargoPythonPackage', 'PythonBundle', 'PythonPackage']: sanity_pip_check = ec.get('sanity_pip_check') or exts_default_options.get('sanity_pip_check') if not sanity_pip_check and not any(re.match(regex, ec_fn) for regex in whitelist_pip_check): failing_checks.append("sanity_pip_check should be enabled in %s" % ec_fn) @@ -969,25 +1212,38 @@ def test_pr_sanity_check_paths(self): """Make sure a custom sanity_check_paths value is specified for easyconfigs that use a generic easyblock.""" # some generic easyblocks already have a decent customised sanity_check_paths, - # including CMakePythonPackage, GoPackage, PythonBundle & PythonPackage; + # including CargoPythonPackage, CMakePythonPackage, GoPackage, JuliaBundle, PerlBundle, + # PythonBundle & PythonPackage; # BuildEnv, ModuleRC and Toolchain easyblocks doesn't install anything so there is nothing to check. - whitelist = ['BuildEnv', 'CMakePythonPackage', 'CrayToolchain', 'GoPackage', 'ModuleRC', - 'PythonBundle', 'PythonPackage', 'Toolchain'] + whitelist = ['BuildEnv', 'CargoPythonBundle', 'CargoPythonPackage', 'CMakePythonPackage', + 'ConfigureMakePythonPackage', 'CrayToolchain', 'GoPackage', 'JuliaBundle', 'ModuleRC', + 'PerlBundle', 'PythonBundle', 'PythonPackage', 'Toolchain'] # Bundles of dependencies without files of their own # Autotools: Autoconf + Automake + libtool, (recent) GCC: GCCcore + binutils, CUDA: GCC + CUDAcore, - # CESM-deps: Python + Perl + netCDF + ESMF + git, FEniCS: DOLFIN and co - bundles_whitelist = ['Autotools', 'CESM-deps', 'CUDA', 'GCC', 'FEniCS'] + # CESM-deps: Python + Perl + netCDF + ESMF + git, FEniCS: DOLFIN and co, + # Jupyter-bundle: JupyterHub + JupyterLab + notebook + nbclassic + jupyter-server-proxy + # + jupyterlmod + jupyter-resource-usage + # Python-bundle: Python + SciPy-bundle + matplotlib + JupyterLab + bundles_whitelist = ['Autotools', 'CESM-deps', 'CUDA', 'ESL-Bundle', 'FEniCS', 'GCC', 'Jupyter-bundle', + 'Python-bundle', 'ROCm'] failing_checks = [] for ec in self.changed_ecs: - easyblock = ec.get('easyblock') - if is_generic_easyblock(easyblock) and not ec.get('sanity_check_paths'): + + sanity_check_ok = False + if easyblock in whitelist or (easyblock == 'Bundle' and ec['name'] in bundles_whitelist): - pass - else: + sanity_check_ok = True + + # also allow bundles that enable per-component sanity checks + elif easyblock == 'Bundle': + if ec['sanity_check_components'] or ec['sanity_check_all_components']: + sanity_check_ok = True + + if not sanity_check_ok: ec_fn = os.path.basename(ec.path) failing_checks.append("No custom sanity_check_paths found in %s" % ec_fn) @@ -1055,6 +1311,59 @@ def check_https_url(http_url): if failing_checks: self.fail('\n'.join(failing_checks)) + @skip_if_not_pr_to_non_main_branch() + def test_ec_file_permissions(self): + """Make sure correct access rights are set for easyconfigs.""" + + failing_checks = [] + for ec in self.changed_ecs: + ec_fn = os.path.basename(ec.path) + st = os.stat(ec.path) + read_perms = stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH + exec_perms = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + wrong_perms = [] + if (st.st_mode & read_perms) != read_perms: + wrong_perms.append("readable (owner, group, other)") + if st.st_mode & exec_perms: + wrong_perms.append("not executable") + if not (st.st_mode & stat.S_IWUSR): + wrong_perms.append("at least owner writable") + if wrong_perms: + failing_checks.append("%s must be %s, is: %s" % (ec_fn, ", ".join(wrong_perms), oct(st.st_mode))) + + if failing_checks: + self.fail('\n'.join(failing_checks)) + + @skip_if_not_pr_to_non_main_branch() + def test_pr_CMAKE_BUILD_TYPE(self): + """Make sure -DCMAKE_BUILD_TYPE is no longer used (replaced by build_type)""" + failing_checks = [] + for ec in self.changed_ecs: + ec_fn = os.path.basename(ec.path) + configopts = ec.get('configopts') + build_type = ec.get('build_type') + + if configopts and '-DCMAKE_BUILD_TYPE' in configopts: + failing_checks.append("Found -DCMAKE_BUILD_TYPE in configopts. Use build_type instead: %s" % ec_fn) + if build_type == 'Release': + failing_checks.append("build_type was set to the default of 'Release'. " + "Omit this to base it on toolchain_opts.debug: %s" % ec_fn) + if failing_checks: + self.fail('\n'.join(failing_checks)) + + @skip_if_not_pr_to_non_main_branch() + def test_pr_patch_descr(self): + """ + Check whether all patch files touched in PR have a description on top. + """ + no_descr_patches = [] + for patch in self.changed_patches: + patch_txt = read_file(patch) + if patch_txt.startswith('--- '): + no_descr_patches.append(patch) + + self.assertFalse(no_descr_patches, "No description found in patches: %s" % ', '.join(no_descr_patches)) + def template_easyconfig_test(self, spec): """Tests for an individual easyconfig: parsing, instantiating easyblock, check patches, ...""" @@ -1072,7 +1381,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)) @@ -1090,6 +1399,10 @@ def template_easyconfig_test(self, spec): # sanity check for software name, moduleclass self.assertEqual(ec['name'], name) self.assertTrue(ec['moduleclass'] in build_option('valid_module_classes')) + # base is the default value for moduleclass, which should never be used, + # and moduleclass should always be set in the easyconfig file + self.assertNotEqual(ec['moduleclass'], 'base', + "moduleclass should be set, and not be set to 'base', for %s" % spec) # instantiate easyblock with easyconfig file app_class = get_easyblock_class(easyblock, name=name) @@ -1112,20 +1425,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 - # but give recent EasyBuild easyconfigs special treatment to avoid breaking "eb --install-latest-eb-release" - ec_fn = os.path.basename(spec) - if not (ec_fn == 'EasyBuild-3.9.4.eb' or ec_fn.startswith('EasyBuild-4.')): - 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) @@ -1136,10 +1449,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 = [ @@ -1147,13 +1459,19 @@ 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) + + # Note the use of app.cfg which might contain sources populated by e.g. the Cargo easyblock + sources, patches, checksums = app.cfg['sources'], app.cfg['patches'], app.cfg['checksums'] # make sure binutils is included as a (build) dep if toolchain is GCCcore if ec['toolchain']['name'] == 'GCCcore': - # with 'Tarball' easyblock: only unpacking, no building; Eigen is also just a tarball - requires_binutils = ec['easyblock'] not in ['Tarball'] and ec['name'] not in ['Eigen'] + # easyblocks without a build step + non_build_blocks = ['Binary', 'JAR', 'PackedBinary', 'Tarball'] + # some software packages do not have a build step + non_build_soft = ['ANIcalculator', 'Eigen'] + + requires_binutils = ec['easyblock'] not in non_build_blocks and ec['name'] not in non_build_soft # let's also exclude the very special case where the system GCC is used as GCCcore, and only apply this # exception to the dependencies of binutils (since we should eventually build a new binutils with GCCcore) @@ -1162,15 +1480,15 @@ def template_easyconfig_test(self, spec): requires_binutils &= bool(ec['name'] not in binutils_complete_dependencies) # if no sources/extensions/components are specified, it's just a bundle (nothing is being compiled) - requires_binutils &= bool(ec['sources'] or ec['exts_list'] or ec.get('components')) + requires_binutils &= bool(sources or ec['exts_list'] or ec.get('components')) if requires_binutils: # dependencies() returns both build and runtime dependencies # 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 @@ -1190,71 +1508,85 @@ 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:] - patch_checksums_cnt = len(patch_checksums) + src_cnt = len(sources) + patch_checksums = checksums[src_cnt:] # make sure all patch files are available specdir = os.path.dirname(spec) - specfn = os.path.basename(spec) - for idx, patch in enumerate(ec['patches']): - if isinstance(patch, (tuple, list)): - patch = patch[0] + basedir = os.path.dirname(os.path.dirname(specdir)) + for idx, patch in enumerate(patches): + patch_dir = specdir + if isinstance(patch, str): + patch_name = patch + elif isinstance(patch, (tuple, list)): + patch_name = patch[0] + elif isinstance(patch, dict): + patch_name = patch['name'] + if patch['alt_location']: + patch_dir = os.path.join(basedir, letter_dir_for(patch['alt_location']), patch['alt_location']) # only check actual patch files, not other files being copied via the patch functionality - patch_full = os.path.join(specdir, patch) - if patch.endswith('.patch'): - msg = "Patch file %s is available for %s" % (patch_full, specfn) - self.assertTrue(os.path.isfile(patch_full), msg) - + patch_full = os.path.join(patch_dir, patch_name) + 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 < patch_checksums_cnt and (os.path.exists(patch_full) or patch.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, 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 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['exts_list']: + for ext in ec.get_ref('exts_list'): if isinstance(ext, (tuple, list)) and len(ext) == 3: - ext_name = ext[0] + 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)) + + # 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: + ext_options = ext['options'] + except KeyError: + # No options --> Only have a name which is valid, so nothing to check + continue - self.assertTrue(isinstance(ext[2], dict), "3rd element of extension spec is a dictionary") - - # fall back to assuming a single source file for an extension - src_cnt = len(ext[2].get('sources', [])) or 1 - - checksums = ext[2].get('checksums', []) - patch_checksums = checksums[src_cnt:] + checksums = ext_options.get('checksums', []) + src_cnt = len(ext_options.get('sources', [])) or 1 + patch_checksums = checksums[src_cnt:] - for idx, ext_patch in enumerate(ext[2].get('patches', [])): - if isinstance(ext_patch, (tuple, list)): - ext_patch = ext_patch[0] + for idx, ext_patch in enumerate(ext.get('patches', [])): + if isinstance(ext_patch, (tuple, list)): + ext_patch = ext_patch[0] - # only check actual patch files, not other files being copied via the patch functionality - ext_patch_full = os.path.join(specdir, ext_patch) - if ext_patch.endswith('.patch'): - msg = "Patch file %s is available for %s" % (ext_patch_full, specfn) - self.assertTrue(os.path.isfile(ext_patch_full), msg) + # 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): + 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 < patch_checksums_cnt and (os.path.exists(ext_patch_full) or ext_patch.endswith('.patch')): - checksum = patch_checksums[idx] - error_msg = "Invalid checksum for patch file %s for %s extension in %s: %s" - res = verify_checksum(ext_patch_full, checksum) - self.assertTrue(res, error_msg % (ext_patch, ext_name, ec_fn, checksum)) + # 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): + 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) @@ -1282,50 +1614,81 @@ def template_easyconfig_test(self, spec): orig_val = resolve_template(ec_dict[key], ec.template_values) dumped_val = resolve_template(dumped_ec[key], ec.template_values) + # skip SYSTEM template constant check for 2019b and older toolchain generation easyconfigs + # since these fail other CI checks when updated + regex = re.compile(r'(201\d([ab]|\.\d+))|(^[1-8]\.\d+\.\d+)') + skip_system_template_check = regex.match(ec['toolchain']['version']) + # take into account that dumped value for *dependencies may include hard-coded subtoolchains # if no easyconfig was found for the dependency with the 'parent' toolchain, # 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: if len(orig_dep) >= 4: - self.assertEqual(dumped_dep[3], orig_dep[3]) + # use of `True` is deprecated in favour of the more intuitive `SYSTEM` template + if orig_dep[3] is True: + if skip_system_template_check: + if dumped_dep[3] != EASYCONFIG_CONSTANTS['SYSTEM'][0]: + failing_checks.append("Should use SYSTEM in %s, found %s" + % (desc, dumped_dep[3])) + else: + failing_checks.append( + "use of `True` to indicate the system toolchain for " + "%s is deprecated, use the `SYSTEM` template constant instead" % desc + ) + 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 ec27d234b46..8c695514aba 100644 --- a/test/easyconfigs/styletests.py +++ b/test/easyconfigs/styletests.py @@ -1,5 +1,5 @@ ## -# Copyright 2016-2021 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), @@ -29,9 +29,10 @@ """ import glob -from unittest import TestCase, TestLoader, main, skipIf +from unittest import TestLoader, main, skipIf from easybuild.base import fancylogger +from easybuild.base.testing import TestCase from easybuild.framework.easyconfig.tools import get_paths_for from easybuild.framework.easyconfig.style import check_easyconfigs_style @@ -52,9 +53,19 @@ def test_style_conformance(self): specs = glob.glob('%s/*/*/*.eb' % easyconfigs_path) specs = sorted(specs) + self.mock_stderr(True) + self.mock_stdout(True) result = check_easyconfigs_style(specs) + stderr, stdout = self.get_stderr(), self.get_stdout() + self.mock_stderr(False) + self.mock_stdout(False) - self.assertEqual(result, 0, "Found code style errors (and/or warnings): %s" % result) + error_msg = '\n'.join([ + "There shouldn't be any code style errors (and/or warnings), found %d:" % result, + stdout, + stderr, + ]) + self.assertEqual(result, 0, error_msg) def suite(loader=None): diff --git a/test/easyconfigs/suite.py b/test/easyconfigs/suite.py index 3d204108c36..4218fcaa7b2 100644 --- a/test/easyconfigs/suite.py +++ b/test/easyconfigs/suite.py @@ -1,6 +1,6 @@ #!/usr/bin/python ## -# Copyright 2012-2021 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),